{"version":3,"file":"FileList-Be-FaHCL.js","sources":["../../src/components/findingAids/FileList.vue"],"sourcesContent":["<template>\n <table :class=\"[{ indented: options.checkbox && isMobile() }, $style.findingAids, faTable]\">\n <thead v-if=\"!isMobile()\">\n <tr>\n <th v-if=\"options.checkbox\" scope=\"col\">Select</th>\n <th scope=\"col\">Title</th>\n <th scope=\"col\">Status</th>\n <th scope=\"col\">Date</th>\n <th scope=\"col\">Box</th>\n <th scope=\"col\">Folder/Item</th>\n </tr>\n </thead>\n <tbody>\n <tr v-for=\"(file, key) in files\" :key=\"key\">\n <td v-if=\"file.type === 'file' && options.checkbox\">\n <label :for=\"file.uid\">\n <span v-if=\"isMobile()\" :class=\"$style.label\">Select:</span>\n <input :id=\"file.id\" type=\"checkbox\" @change=\"addToCart(file, $event.target.checked)\" />\n </label>\n </td>\n <td v-if=\"file.type !== 'file'\"></td>\n <td\n v-if=\"file.slug && file.type === 'file'\"\n :class=\"{ ['indent-' + file.depth]: options.indent }\"\n >\n <router-link\n :to=\"{ name: 'FindingAidsFile', params: { slug: file.slug } }\"\n v-html=\"file.unittitle\"\n ></router-link>\n <span v-if=\"file.phystech\" :class=\"style.block\">{{ file.phystech }}</span>\n </td>\n <td\n v-if=\"!file.slug && file.type === 'file'\"\n :class=\"{ ['indent-' + file.depth]: options.indent }\"\n v-html=\"title(file)\"\n ></td>\n <td\n v-if=\"file.type === 'folder'\"\n :class=\"[{ ['indent-' + file.depth]: options.indent }, 'heading-4']\"\n colspan=\"4\"\n v-html=\"file.label\"\n ></td>\n <td class=\"info\">{{ file.slug && file.type === 'file' ? 'digitized content' : '' }}</td>\n <td v-if=\"file.type !== 'folder'\">\n <span v-if=\"file.unitdate && isMobile()\" :class=\"$style.label\">Date:</span>\n {{ file.unitdate }}\n </td>\n <td v-if=\"file.type !== 'folder'\">\n <span v-if=\"file.box && isMobile()\" :class=\"$style.label\">Box:</span>\n {{ file.box }}\n </td>\n <td v-if=\"file.type !== 'folder'\">\n <span v-if=\"file.folder && isMobile()\" :class=\"$style.label\">Folder/Item:</span>\n {{ file.folder }}\n </td>\n </tr>\n </tbody>\n </table>\n</template>\n\n<script setup lang=\"ts\">\nimport { faTable } from '@/styles/findingAids.module.scss';\nimport { useCssModule } from 'vue';\nimport { useMainStore } from '@/stores/mainStore.js';\nimport { useScreenSize } from '@/composables/Common.js';\n\ninterface File {\n box: string;\n depth: string;\n folder: string;\n label: string;\n id: string;\n phystech: string;\n slug: string;\n type: string;\n unitdate: string;\n unittitle: string;\n uid: string;\n}\n\nwithDefaults(\n defineProps<{\n files: File[];\n options?: {\n checkbox: boolean;\n indent: boolean;\n };\n }>(),\n {\n options: {\n checkbox: true,\n indent: true,\n },\n },\n);\n\nconst store = useMainStore();\nconst { updateCart } = store;\nconst style = useCssModule();\n\nconst { isMobile } = useScreenSize();\n\nfunction title(file: File): string {\n let str = '';\n\n if (isMobile()) {\n str += `<span class=\"${style.label}\">Title:</span> `;\n }\n\n str += file.phystech\n ? `${file.unittitle}<span class=\"${style.block}\">${file.phystech}</span>`\n : file.unittitle;\n\n return str;\n}\n\nfunction addToCart(file: File, checked: boolean): void {\n updateCart({ file, checked });\n}\n</script>\n\n<style lang=\"scss\" module>\n:global(.checkbox) {\n left: 0;\n padding: px-to-rem(10);\n position: absolute;\n top: 0;\n}\n\n:global(.folder) {\n @include heading-4;\n}\n\n.block {\n display: block;\n}\n\n.label {\n @include info;\n\n & {\n text-transform: none;\n }\n}\n\n@media (min-width: $break-point) {\n :global(.checkbox) {\n position: initial;\n }\n\n tr {\n td,\n th {\n &:last-of-type {\n padding-left: 1rem;\n }\n }\n }\n}\n</style>\n"],"names":["store","useMainStore","updateCart","style","useCssModule","isMobile","useScreenSize","title","file","str","addToCart","checked"],"mappings":"2eAgGA,MAAMA,EAAQC,EAAa,EACrB,CAAE,WAAAC,GAAeF,EACjBG,EAAQC,EAAa,EAErB,CAAE,SAAAC,CAAS,EAAIC,EAAc,EAEnC,SAASC,EAAMC,EAAoB,CACjC,IAAIC,EAAM,GAEV,OAAIJ,MACKI,GAAA,gBAAgBN,EAAM,KAAK,oBAGpCM,GAAOD,EAAK,SACR,GAAGA,EAAK,SAAS,gBAAgBL,EAAM,KAAK,KAAKK,EAAK,QAAQ,UAC9DA,EAAK,UAEFC,CAAA,CAGA,SAAAC,EAAUF,EAAYG,EAAwB,CAC1CT,EAAA,CAAE,KAAAM,EAAM,QAAAG,EAAS,CAAA"}