photos/js/photos-src_components_Colle...

1 line
55 KiB
Plaintext

{"version":3,"file":"photos-src_components_Collection_CollectionContent_vue-src_components_FilesPicker_vue-src_components-e841a5.js?v=61e896e04f06eca31f86","mappings":"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","sources":["webpack:///photos/src/components/Collection/CollectionContent.vue?vue&type=style&index=0&id=312d69fb&lang=scss&scoped=true&","webpack:///photos/src/components/FilesPicker.vue?vue&type=style&index=0&id=a0f8650e&lang=scss&scoped=true&","webpack:///photos/src/components/HeaderNavigation.vue?vue&type=style&index=0&lang=scss&","webpack:///photos/src/components/HeaderNavigation.vue?vue&type=style&index=1&id=b9975c76&lang=scss&scoped=true&","webpack:///photos/src/components/Collection/CollectionContent.vue?vue&type=template&id=312d69fb&scoped=true&","webpack:///photos/src/components/Collection/CollectionContent.vue","webpack:///photos/src/components/Collection/CollectionContent.vue?vue&type=script&lang=js&","webpack://photos/./src/components/Collection/CollectionContent.vue?99f2","webpack://photos/./src/components/Collection/CollectionContent.vue?d20d","webpack:///photos/src/components/FilesPicker.vue?vue&type=template&id=a0f8650e&scoped=true&","webpack:///photos/src/components/FilesPicker.vue","webpack:///photos/src/components/FilesPicker.vue?vue&type=script&lang=js&","webpack://photos/./src/components/FilesPicker.vue?2e64","webpack://photos/./src/components/FilesPicker.vue?2782","webpack:///photos/src/components/HeaderNavigation.vue?vue&type=template&id=b9975c76&scoped=true&","webpack:///photos/src/components/HeaderNavigation.vue","webpack:///photos/src/components/HeaderNavigation.vue?vue&type=script&lang=js&","webpack://photos/./src/components/HeaderNavigation.vue?29e2","webpack://photos/./src/components/HeaderNavigation.vue?1190","webpack://photos/./src/components/HeaderNavigation.vue?6702"],"sourcesContent":["// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".collection[data-v-312d69fb]{display:flex;flex-direction:column}.collection__media[data-v-312d69fb]{padding:0 64px}@media only screen and (max-width: 1200px){.collection__media[data-v-312d69fb]{padding:0 4px}}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/Collection/CollectionContent.vue\"],\"names\":[],\"mappings\":\"AA8IA,6BACC,YAAA,CACA,qBAAA,CAEA,oCACC,cAAA,CAEA,2CAHD,oCAIE,aAAA,CAAA\",\"sourcesContent\":[\"$sizes: (\\\"400\\\": (\\\"count\\\": 3, \\\"marginTop\\\": 66, \\\"marginW\\\": 8), \\\"700\\\": (\\\"count\\\": 4, \\\"marginTop\\\": 66, \\\"marginW\\\": 8), \\\"1024\\\": (\\\"count\\\": 5, \\\"marginTop\\\": 66, \\\"marginW\\\": 44), \\\"1280\\\": (\\\"count\\\": 4, \\\"marginTop\\\": 66, \\\"marginW\\\": 44), \\\"1440\\\": (\\\"count\\\": 5, \\\"marginTop\\\": 88, \\\"marginW\\\": 66), \\\"1600\\\": (\\\"count\\\": 6, \\\"marginTop\\\": 88, \\\"marginW\\\": 66), \\\"2048\\\": (\\\"count\\\": 7, \\\"marginTop\\\": 88, \\\"marginW\\\": 66), \\\"2560\\\": (\\\"count\\\": 8, \\\"marginTop\\\": 88, \\\"marginW\\\": 88), \\\"3440\\\": (\\\"count\\\": 9, \\\"marginTop\\\": 88, \\\"marginW\\\": 88), \\\"max\\\": (\\\"count\\\": 10, \\\"marginTop\\\": 88, \\\"marginW\\\": 88));\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.collection {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\n\\t&__media {\\n\\t\\tpadding: 0 64px;\\n\\n\\t\\t@media only screen and (max-width: 1200px) {\\n\\t\\t\\tpadding: 0 4px;\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".file-picker[data-v-a0f8650e]{display:flex;flex-direction:column;padding:12px}.file-picker__content[data-v-a0f8650e]{display:flex;align-items:flex-start;flex-grow:1;height:500px}.file-picker__navigation[data-v-a0f8650e]{flex-basis:200px;overflow:scroll;margin-right:8px;padding-right:8px;height:100%}@media only screen and (max-width: 1200px){.file-picker__navigation[data-v-a0f8650e]{flex-basis:80px}}.file-picker__navigation--placeholder[data-v-a0f8650e]{background:var(--color-primary-light);border-radius:var(--border-radius-large)}.file-picker__navigation__month[data-v-a0f8650e]{font-weight:bold;font-size:16px;border-radius:var(--border-radius-pill);padding:8px 16px;margin:4px 0;cursor:pointer}@media only screen and (max-width: 1200px){.file-picker__navigation__month[data-v-a0f8650e]{text-align:center}}.file-picker__navigation__month[data-v-a0f8650e]:hover{background:var(--color-background-dark)}.file-picker__navigation__month.selected[data-v-a0f8650e]{background:var(--color-primary-element-lighter)}.file-picker__file-list[data-v-a0f8650e]{flex-grow:1;min-width:0;height:100%}.file-picker__file-list--placeholder[data-v-a0f8650e]{background:var(--color-primary-light);border-radius:var(--border-radius-large)}.file-picker__file-list .section-header[data-v-a0f8650e]{font-weight:bold;font-size:20px;padding:8px 0 4px 0}.file-picker__file-list[data-v-a0f8650e] .empty-content{margin-top:0;height:100%;display:flex;flex-direction:column;justify-content:center}.file-picker__actions[data-v-a0f8650e]{display:flex;justify-content:space-between;justify-items:center;padding-top:16px}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/FilesPicker.vue\"],\"names\":[],\"mappings\":\"AA+KA,8BACC,YAAA,CACA,qBAAA,CACA,YAAA,CAEA,uCACC,YAAA,CACA,sBAAA,CACA,WAAA,CACA,YAAA,CAGD,0CACC,gBAAA,CACA,eAAA,CACA,gBAAA,CACA,iBAAA,CACA,WAAA,CAEA,2CAPD,0CAQE,eAAA,CAAA,CAGD,uDACC,qCAAA,CACA,wCAAA,CAGD,iDACC,gBAAA,CACA,cAAA,CACA,uCAAA,CACA,gBAAA,CACA,YAAA,CACA,cAAA,CAEA,2CARD,iDASE,iBAAA,CAAA,CAGD,uDACC,uCAAA,CAGD,0DACC,+CAAA,CAKH,yCACC,WAAA,CACA,WAAA,CACA,WAAA,CAEA,sDACC,qCAAA,CACA,wCAAA,CAGD,yDACC,gBAAA,CACA,cAAA,CACA,mBAAA,CAGD,yDACC,YAAA,CACA,WAAA,CACA,YAAA,CACA,qBAAA,CACA,sBAAA,CAIF,uCACC,YAAA,CACA,6BAAA,CACA,oBAAA,CACA,gBAAA\",\"sourcesContent\":[\"$sizes: (\\\"400\\\": (\\\"count\\\": 3, \\\"marginTop\\\": 66, \\\"marginW\\\": 8), \\\"700\\\": (\\\"count\\\": 4, \\\"marginTop\\\": 66, \\\"marginW\\\": 8), \\\"1024\\\": (\\\"count\\\": 5, \\\"marginTop\\\": 66, \\\"marginW\\\": 44), \\\"1280\\\": (\\\"count\\\": 4, \\\"marginTop\\\": 66, \\\"marginW\\\": 44), \\\"1440\\\": (\\\"count\\\": 5, \\\"marginTop\\\": 88, \\\"marginW\\\": 66), \\\"1600\\\": (\\\"count\\\": 6, \\\"marginTop\\\": 88, \\\"marginW\\\": 66), \\\"2048\\\": (\\\"count\\\": 7, \\\"marginTop\\\": 88, \\\"marginW\\\": 66), \\\"2560\\\": (\\\"count\\\": 8, \\\"marginTop\\\": 88, \\\"marginW\\\": 88), \\\"3440\\\": (\\\"count\\\": 9, \\\"marginTop\\\": 88, \\\"marginW\\\": 88), \\\"max\\\": (\\\"count\\\": 10, \\\"marginTop\\\": 88, \\\"marginW\\\": 88));\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.file-picker {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\tpadding: 12px;\\n\\n\\t&__content {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\t\\tflex-grow: 1;\\n\\t\\theight: 500px;\\n\\t}\\n\\n\\t&__navigation {\\n\\t\\tflex-basis: 200px;\\n\\t\\toverflow: scroll;\\n\\t\\tmargin-right: 8px;\\n\\t\\tpadding-right: 8px;\\n\\t\\theight: 100%;\\n\\n\\t\\t@media only screen and (max-width: 1200px) {\\n\\t\\t\\tflex-basis: 80px;\\n\\t\\t}\\n\\n\\t\\t&--placeholder {\\n\\t\\t\\tbackground: var(--color-primary-light);\\n\\t\\t\\tborder-radius: var(--border-radius-large);\\n\\t\\t}\\n\\n\\t\\t&__month {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\tfont-size: 16px;\\n\\t\\t\\tborder-radius: var(--border-radius-pill);\\n\\t\\t\\tpadding: 8px 16px;\\n\\t\\t\\tmargin: 4px 0;\\n\\t\\t\\tcursor: pointer;\\n\\n\\t\\t\\t@media only screen and (max-width: 1200px) {\\n\\t\\t\\t\\ttext-align: center;\\n\\t\\t\\t}\\n\\n\\t\\t\\t&:hover {\\n\\t\\t\\t\\tbackground: var(--color-background-dark);\\n\\t\\t\\t}\\n\\n\\t\\t\\t&.selected {\\n\\t\\t\\t\\tbackground: var(--color-primary-element-lighter);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&__file-list {\\n\\t\\tflex-grow: 1;\\n\\t\\tmin-width: 0;\\n\\t\\theight: 100%;\\n\\n\\t\\t&--placeholder {\\n\\t\\t\\tbackground: var(--color-primary-light);\\n\\t\\t\\tborder-radius: var(--border-radius-large);\\n\\t\\t}\\n\\n\\t\\t.section-header {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\tfont-size: 20px;\\n\\t\\t\\tpadding: 8px 0 4px 0;\\n\\t\\t}\\n\\n\\t\\t::v-deep .empty-content {\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\theight: 100%;\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex-direction: column;\\n\\t\\t\\tjustify-content: center;\\n\\t\\t}\\n\\t}\\n\\n\\t&__actions {\\n\\t\\tdisplay: flex;\\n\\t\\tjustify-content: space-between;\\n\\t\\tjustify-items: center;\\n\\t\\tpadding-top: 16px;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":root{--photos-navigation-height: 64px;--photos-navigation-spacing: calc((var(--photos-navigation-height) - 44px) / 2)}button.app-navigation-toggle{top:0 !important;right:calc(var(--photos-navigation-height)*-1) !important;margin:var(--photos-navigation-spacing) !important}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/HeaderNavigation.vue\"],\"names\":[],\"mappings\":\"AAgLA,MACC,gCAAA,CAEA,+EAAA,CAID,6BAEC,gBAAA,CACA,yDAAA,CACA,kDAAA\",\"sourcesContent\":[\"$sizes: (\\\"400\\\": (\\\"count\\\": 3, \\\"marginTop\\\": 66, \\\"marginW\\\": 8), \\\"700\\\": (\\\"count\\\": 4, \\\"marginTop\\\": 66, \\\"marginW\\\": 8), \\\"1024\\\": (\\\"count\\\": 5, \\\"marginTop\\\": 66, \\\"marginW\\\": 44), \\\"1280\\\": (\\\"count\\\": 4, \\\"marginTop\\\": 66, \\\"marginW\\\": 44), \\\"1440\\\": (\\\"count\\\": 5, \\\"marginTop\\\": 88, \\\"marginW\\\": 66), \\\"1600\\\": (\\\"count\\\": 6, \\\"marginTop\\\": 88, \\\"marginW\\\": 66), \\\"2048\\\": (\\\"count\\\": 7, \\\"marginTop\\\": 88, \\\"marginW\\\": 66), \\\"2560\\\": (\\\"count\\\": 8, \\\"marginTop\\\": 88, \\\"marginW\\\": 88), \\\"3440\\\": (\\\"count\\\": 9, \\\"marginTop\\\": 88, \\\"marginW\\\": 88), \\\"max\\\": (\\\"count\\\": 10, \\\"marginTop\\\": 88, \\\"marginW\\\": 88));\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n:root {\\n\\t--photos-navigation-height: 64px;\\n\\t// header height - button size\\n\\t--photos-navigation-spacing: calc((var(--photos-navigation-height) - 44px) / 2);\\n}\\n\\n// Properly position the navigation toggle button\\nbutton.app-navigation-toggle {\\n\\t// App-navigation have a 4px margin top\\n\\ttop: 0 !important;\\n\\tright: calc(var(--photos-navigation-height) * -1) !important;\\n\\tmargin: var(--photos-navigation-spacing) !important;\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".photos-navigation[data-v-b9975c76]{position:-webkit-sticky;position:sticky;z-index:20;top:0;display:flex;align-items:center;width:100%;height:var(--photos-navigation-height);min-height:var(--photos-navigation-height);padding:0 var(--photos-navigation-height);background:var(--color-main-background)}.photos-navigation__back[data-v-b9975c76]{position:absolute;left:0;margin:var(--photos-navigation-spacing) !important}.photos-navigation__title[data-v-b9975c76]{overflow:hidden;margin:0;margin-right:calc(2*var(--photos-navigation-spacing));cursor:pointer;white-space:nowrap;text-overflow:ellipsis}.photos-navigation__loader[data-v-b9975c76]{margin-left:32px}.photos-navigation__content-right[data-v-b9975c76]{display:flex;align-items:center;justify-content:center;margin-left:auto}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/HeaderNavigation.vue\"],\"names\":[],\"mappings\":\"AAiMA,oCACC,uBAAA,CAAA,eAAA,CACA,UAAA,CACA,KAAA,CACA,YAAA,CACA,kBAAA,CACA,UAAA,CACA,sCAAA,CACA,0CAAA,CACA,yCAAA,CACA,uCAAA,CAEA,0CAEC,iBAAA,CACA,MAAA,CACA,kDAAA,CAGD,2CACC,eAAA,CACA,QAAA,CACA,qDAAA,CACA,cAAA,CACA,kBAAA,CACA,sBAAA,CAGD,4CACC,gBAAA,CAGD,mDACC,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,gBAAA\",\"sourcesContent\":[\"$sizes: (\\\"400\\\": (\\\"count\\\": 3, \\\"marginTop\\\": 66, \\\"marginW\\\": 8), \\\"700\\\": (\\\"count\\\": 4, \\\"marginTop\\\": 66, \\\"marginW\\\": 8), \\\"1024\\\": (\\\"count\\\": 5, \\\"marginTop\\\": 66, \\\"marginW\\\": 44), \\\"1280\\\": (\\\"count\\\": 4, \\\"marginTop\\\": 66, \\\"marginW\\\": 44), \\\"1440\\\": (\\\"count\\\": 5, \\\"marginTop\\\": 88, \\\"marginW\\\": 66), \\\"1600\\\": (\\\"count\\\": 6, \\\"marginTop\\\": 88, \\\"marginW\\\": 66), \\\"2048\\\": (\\\"count\\\": 7, \\\"marginTop\\\": 88, \\\"marginW\\\": 66), \\\"2560\\\": (\\\"count\\\": 8, \\\"marginTop\\\": 88, \\\"marginW\\\": 88), \\\"3440\\\": (\\\"count\\\": 9, \\\"marginTop\\\": 88, \\\"marginW\\\": 88), \\\"max\\\": (\\\"count\\\": 10, \\\"marginTop\\\": 88, \\\"marginW\\\": 88));\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.photos-navigation {\\n\\tposition: sticky;\\n\\tz-index: 20;\\n\\ttop: 0;\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\twidth: 100%;\\n\\theight: var(--photos-navigation-height);\\n\\tmin-height: var(--photos-navigation-height);\\n\\tpadding: 0 var(--photos-navigation-height);\\n\\tbackground: var(--color-main-background);\\n\\n\\t&__back {\\n\\t\\t// Above the navigation menu\\n\\t\\tposition: absolute;\\n\\t\\tleft: 0;\\n\\t\\tmargin: var(--photos-navigation-spacing) !important;\\n\\t}\\n\\n\\t&__title {\\n\\t\\toverflow: hidden;\\n\\t\\tmargin: 0;\\n\\t\\tmargin-right: calc(2 * var(--photos-navigation-spacing));\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t}\\n\\n\\t&__loader {\\n\\t\\tmargin-left: 32px;\\n\\t}\\n\\n\\t&__content-right {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\t\\tmargin-left: auto;\\n\\t}\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.collection === undefined && !_vm.loading)?_c('NcEmptyContent',{staticClass:\"empty-content-with-illustration\",attrs:{\"title\":_vm.t('photos', 'This collection does not exist')}},[_c('FolderMultipleImage')],1):(_vm.error)?_c('NcEmptyContent',{attrs:{\"title\":_vm.t('photos', 'An error occurred')}},[_c('AlertCircle',{attrs:{\"slot\":\"icon\"},slot:\"icon\"})],1):_c('div',{staticClass:\"collection\"},[_vm._t(\"header\",null,{\"selectedFileIds\":_vm.selectedFileIds}),_vm._v(\" \"),(_vm.collectionFileIds.length === 0 && !_vm.loading)?_vm._t(\"empty-content\"):_vm._e(),_vm._v(\" \"),(_vm.collection !== undefined)?_c('FilesListViewer',{staticClass:\"collection__media\",attrs:{\"container-element\":_vm.appContent,\"file-ids\":_vm.collectionFileIds,\"base-height\":_vm.isMobile ? 120 : 200,\"loading\":_vm.loading},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar file = ref.file;\nvar visibility = ref.visibility;\nreturn _c('File',{attrs:{\"file\":_vm.files[file.id],\"allow-selection\":true,\"selected\":_vm.selection[file.id] === true,\"visibility\":visibility,\"semaphore\":_vm.semaphore},on:{\"click\":_vm.openViewer,\"select-toggled\":_vm.onFileSelectToggle}})}}],null,false,3592900521)}):_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n - @copyright Copyright (c) 2022 Louis Chemineau <louis@chmn.me>\n -\n - @author Louis Chemineau <louis@chmn.me>\n -\n - @license AGPL-3.0-or-later\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n<template>\n\t<!-- Errors handlers-->\n\t<NcEmptyContent v-if=\"collection === undefined && !loading\"\n\t\tclass=\"empty-content-with-illustration\"\n\t\t:title=\"t('photos', 'This collection does not exist')\">\n\t\t<FolderMultipleImage />\n\t</NcEmptyContent>\n\t<NcEmptyContent v-else-if=\"error\" :title=\"t('photos', 'An error occurred')\">\n\t\t<AlertCircle slot=\"icon\" />\n\t</NcEmptyContent>\n\n\t<div v-else class=\"collection\">\n\t\t<!-- Header -->\n\t\t<slot class=\"collection__header\" name=\"header\" :selected-file-ids=\"selectedFileIds\" />\n\n\t\t<!-- No content -->\n\t\t<slot v-if=\"collectionFileIds.length === 0 && !loading\" name=\"empty-content\" />\n\n\t\t<!-- Media list -->\n\t\t<FilesListViewer v-if=\"collection !== undefined\"\n\t\t\t:container-element=\"appContent\"\n\t\t\tclass=\"collection__media\"\n\t\t\t:file-ids=\"collectionFileIds\"\n\t\t\t:base-height=\"isMobile ? 120 : 200\"\n\t\t\t:loading=\"loading\">\n\t\t\t<File slot-scope=\"{file, visibility}\"\n\t\t\t\t:file=\"files[file.id]\"\n\t\t\t\t:allow-selection=\"true\"\n\t\t\t\t:selected=\"selection[file.id] === true\"\n\t\t\t\t:visibility=\"visibility\"\n\t\t\t\t:semaphore=\"semaphore\"\n\t\t\t\t@click=\"openViewer\"\n\t\t\t\t@select-toggled=\"onFileSelectToggle\" />\n\t\t</FilesListViewer>\n\t</div>\n</template>\n\n<script>\nimport { mapGetters } from 'vuex'\nimport AlertCircle from 'vue-material-design-icons/AlertCircle'\nimport FolderMultipleImage from 'vue-material-design-icons/FolderMultipleImage'\n\nimport { NcEmptyContent, isMobile } from '@nextcloud/vue'\n\nimport FilesSelectionMixin from '../../mixins/FilesSelectionMixin.js'\nimport FilesListViewer from '.././FilesListViewer.vue'\nimport File from '.././File.vue'\nimport FolderIllustration from '../../assets/Illustrations/folder.svg'\nimport SemaphoreWithPriority from '../../utils/semaphoreWithPriority.js'\n\nexport default {\n\tname: 'CollectionContent',\n\n\tcomponents: {\n\t\tAlertCircle,\n\t\tFolderMultipleImage,\n\t\tNcEmptyContent,\n\t\tFilesListViewer,\n\t\tFile,\n\t},\n\n\tmixins: [\n\t\tFilesSelectionMixin,\n\t\tisMobile,\n\t],\n\n\tprops: {\n\t\tcollection: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => undefined,\n\t\t},\n\n\t\tcollectionFileIds: {\n\t\t\ttype: Array,\n\t\t\trequired: true,\n\t\t},\n\n\t\tloading: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\terror: {\n\t\t\ttype: [Error],\n\t\t\tdefault: '',\n\t\t},\n\n\t\tsemaphore: {\n\t\t\ttype: SemaphoreWithPriority,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tFolderIllustration,\n\t\t\tappContent: document.getElementById('app-content-vue'),\n\t\t}\n\t},\n\n\tcomputed: {\n\t\t...mapGetters([\n\t\t\t'files',\n\t\t]),\n\t},\n\n\tmethods: {\n\t\topenViewer(fileId) {\n\t\t\tconst file = this.files[fileId]\n\t\t\tOCA.Viewer.open({\n\t\t\t\tfileInfo: file,\n\t\t\t\tlist: this.collectionFileIds.map(fileId => this.files[fileId]).filter(file => !file.sectionHeader),\n\t\t\t\tloadMore: file.loadMore ? async () => await file.loadMore(true) : () => [],\n\t\t\t\tcanLoop: file.canLoop,\n\t\t\t})\n\t\t},\n\t},\n}\n</script>\n<style lang=\"scss\" scoped>\n.collection {\n\tdisplay: flex;\n\tflex-direction: column;\n\n\t&__media {\n\t\tpadding: 0 64px;\n\n\t\t@media only screen and (max-width: 1200px) {\n\t\t\tpadding: 0 4px;\n\t\t}\n\t}\n}\n</style>\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CollectionContent.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CollectionContent.vue?vue&type=script&lang=js&\"","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/dist/cjs.js!../../../node_modules/sass-loader/dist/cjs.js??clonedRuleSet-2[0].rules[0].use[3]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CollectionContent.vue?vue&type=style&index=0&id=312d69fb&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/dist/cjs.js!../../../node_modules/sass-loader/dist/cjs.js??clonedRuleSet-2[0].rules[0].use[3]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CollectionContent.vue?vue&type=style&index=0&id=312d69fb&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./CollectionContent.vue?vue&type=template&id=312d69fb&scoped=true&\"\nimport script from \"./CollectionContent.vue?vue&type=script&lang=js&\"\nexport * from \"./CollectionContent.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CollectionContent.vue?vue&type=style&index=0&id=312d69fb&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"312d69fb\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"file-picker\"},[_c('div',{staticClass:\"file-picker__content\"},[_c('div',{staticClass:\"file-picker__navigation\",class:{'file-picker__navigation--placeholder': _vm.monthsList.length === 0}},_vm._l((_vm.monthsList),function(month){return _c('div',{key:month,staticClass:\"file-picker__navigation__month\",class:{selected: _vm.targetMonth === month},on:{\"click\":function($event){_vm.targetMonth = month}}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm._f(\"dateMonthAndYear\")(month))+\"\\n\\t\\t\\t\")])}),0),_vm._v(\" \"),_c('FilesListViewer',{staticClass:\"file-picker__file-list\",class:{'file-picker__file-list--placeholder': _vm.monthsList.length === 0},attrs:{\"file-ids-by-section\":_vm.fileIdsByMonth,\"sections\":_vm.monthsList,\"loading\":_vm.loadingFiles,\"base-height\":100,\"section-header-height\":50,\"empty-message\":_vm.t('photos', 'This album doesn\\'t have any photos or videos yet!'),\"scroll-to-section\":_vm.targetMonth},on:{\"need-content\":_vm.getFiles},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar file = ref.file;\nvar height = ref.height;\nvar visibility = ref.visibility;\nreturn [(file.sectionHeader)?_c('h3',{staticClass:\"section-header\",style:({ height: (height + \"px\")}),attrs:{\"id\":(\"file-picker-section-header-\" + (file.id))}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm._f(\"dateMonthAndYear\")(file.id))+\"\\n\\t\\t\\t\\t\")]):_c('File',{attrs:{\"file\":_vm.files[file.id],\"allow-selection\":true,\"selected\":_vm.selection[file.id] === true,\"visibility\":visibility,\"semaphore\":_vm.semaphore},on:{\"select-toggled\":_vm.onFileSelectToggle}})]}}])})],1),_vm._v(\" \"),_c('div',{staticClass:\"file-picker__actions\"},[_c('NcButton',{attrs:{\"type\":\"tertiary\",\"disabled\":_vm.loading},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Upload')]},proxy:true}])},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('photos', 'Upload from computer'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('NcButton',{attrs:{\"type\":\"primary\",\"disabled\":_vm.loading || _vm.selectedFileIds.length === 0},on:{\"click\":_vm.emitPickedEvent},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(!_vm.loading)?_c('ImagePlus'):_vm._e(),_vm._v(\" \"),(_vm.loading)?_c('NcLoadingIcon'):_vm._e()]},proxy:true}])},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('photos', 'Add to {destination}', { destination: _vm.destination }))+\"\\n\\t\\t\")])],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n - @copyright Copyright (c) 2022 Louis Chemineau <louis@chmn.me>\n -\n - @author Louis Chemineau <louis@chmn.me>\n -\n - @license AGPL-3.0-or-later\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n<template>\n\t<div class=\"file-picker\">\n\t\t<div class=\"file-picker__content\">\n\t\t\t<div class=\"file-picker__navigation\"\n\t\t\t\t:class=\"{'file-picker__navigation--placeholder': monthsList.length === 0}\">\n\t\t\t\t<div v-for=\"month in monthsList\"\n\t\t\t\t\t:key=\"month\"\n\t\t\t\t\tclass=\"file-picker__navigation__month\"\n\t\t\t\t\t:class=\"{selected: targetMonth === month}\"\n\t\t\t\t\t@click=\"targetMonth = month\">\n\t\t\t\t\t{{ month | dateMonthAndYear }}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<FilesListViewer class=\"file-picker__file-list\"\n\t\t\t\t:class=\"{'file-picker__file-list--placeholder': monthsList.length === 0}\"\n\t\t\t\t:file-ids-by-section=\"fileIdsByMonth\"\n\t\t\t\t:sections=\"monthsList\"\n\t\t\t\t:loading=\"loadingFiles\"\n\t\t\t\t:base-height=\"100\"\n\t\t\t\t:section-header-height=\"50\"\n\t\t\t\t:empty-message=\"t('photos', 'This album doesn\\'t have any photos or videos yet!')\"\n\t\t\t\t:scroll-to-section=\"targetMonth\"\n\t\t\t\t@need-content=\"getFiles\">\n\t\t\t\t<template slot-scope=\"{file, height, visibility}\">\n\t\t\t\t\t<h3 v-if=\"file.sectionHeader\"\n\t\t\t\t\t\t:id=\"`file-picker-section-header-${file.id}`\"\n\t\t\t\t\t\t:style=\"{ height: `${height}px`}\"\n\t\t\t\t\t\tclass=\"section-header\">\n\t\t\t\t\t\t{{ file.id | dateMonthAndYear }}\n\t\t\t\t\t</h3>\n\t\t\t\t\t<File v-else\n\t\t\t\t\t\t:file=\"files[file.id]\"\n\t\t\t\t\t\t:allow-selection=\"true\"\n\t\t\t\t\t\t:selected=\"selection[file.id] === true\"\n\t\t\t\t\t\t:visibility=\"visibility\"\n\t\t\t\t\t\t:semaphore=\"semaphore\"\n\t\t\t\t\t\t@select-toggled=\"onFileSelectToggle\" />\n\t\t\t\t</template>\n\t\t\t</FilesListViewer>\n\t\t</div>\n\t\t<div class=\"file-picker__actions\">\n\t\t\t<!-- TODO: Implement upload -->\n\t\t\t<NcButton type=\"tertiary\" :disabled=\"loading\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<Upload />\n\t\t\t\t</template>\n\t\t\t\t{{ t('photos', 'Upload from computer') }}\n\t\t\t</NcButton>\n\t\t\t<NcButton type=\"primary\" :disabled=\"loading || selectedFileIds.length === 0\" @click=\"emitPickedEvent\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<ImagePlus v-if=\"!loading\" />\n\t\t\t\t\t<NcLoadingIcon v-if=\"loading\" />\n\t\t\t\t</template>\n\t\t\t\t{{ t('photos', 'Add to {destination}', { destination }) }}\n\t\t\t</NcButton>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport { mapGetters } from 'vuex'\nimport ImagePlus from 'vue-material-design-icons/ImagePlus'\nimport Upload from 'vue-material-design-icons/Upload'\n\nimport moment from '@nextcloud/moment'\nimport { NcButton, NcLoadingIcon } from '@nextcloud/vue'\n\nimport FetchFilesMixin from '../mixins/FetchFilesMixin.js'\nimport FilesSelectionMixin from '../mixins/FilesSelectionMixin.js'\nimport FilesListViewer from './FilesListViewer.vue'\nimport File from './File.vue'\nimport FilesByMonthMixin from '../mixins/FilesByMonthMixin.js'\n\nexport default {\n\tname: 'FilesPicker',\n\n\tcomponents: {\n\t\tImagePlus,\n\t\tUpload,\n\t\tNcButton,\n\t\tNcLoadingIcon,\n\t\tFilesListViewer,\n\t\tFile,\n\t},\n\n\tfilters: {\n\t\t/**\n\t\t * @param {string} date - In the following format: YYYYMM\n\t\t */\n\t\tdateMonthAndYear(date) {\n\t\t\treturn moment(date, 'YYYYMM').format('MMMM YYYY')\n\t\t},\n\t},\n\n\tmixins: [\n\t\tFetchFilesMixin,\n\t\tFilesByMonthMixin,\n\t\tFilesSelectionMixin,\n\t],\n\n\tprops: {\n\t\t// Label to show in the submit button.\n\t\tdestination: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\n\t\t// List of file ids to not show.\n\t\tblacklistIds: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t},\n\n\t\t// Whether we should disable the submit button and show a spinner.\n\t\tloading: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\ttargetMonth: null,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\t...mapGetters([\n\t\t\t'files',\n\t\t]),\n\t},\n\n\twatch: {\n\t\tmonthsList(value) {\n\t\t\tif (this.targetMonth === null) {\n\t\t\t\tthis.targetMonth = value[0]\n\t\t\t}\n\t\t},\n\t},\n\n\tmethods: {\n\t\tgetFiles() {\n\t\t\tthis.fetchFiles('', {}, this.blacklistIds)\n\t\t},\n\n\t\temitPickedEvent() {\n\t\t\tthis.$emit('files-picked', this.selectedFileIds)\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.file-picker {\n\tdisplay: flex;\n\tflex-direction: column;\n\tpadding: 12px;\n\n\t&__content {\n\t\tdisplay: flex;\n\t\talign-items: flex-start;\n\t\tflex-grow: 1;\n\t\theight: 500px;\n\t}\n\n\t&__navigation {\n\t\tflex-basis: 200px;\n\t\toverflow: scroll;\n\t\tmargin-right: 8px;\n\t\tpadding-right: 8px;\n\t\theight: 100%;\n\n\t\t@media only screen and (max-width: 1200px) {\n\t\t\tflex-basis: 80px;\n\t\t}\n\n\t\t&--placeholder {\n\t\t\tbackground: var(--color-primary-light);\n\t\t\tborder-radius: var(--border-radius-large);\n\t\t}\n\n\t\t&__month {\n\t\t\tfont-weight: bold;\n\t\t\tfont-size: 16px;\n\t\t\tborder-radius: var(--border-radius-pill);\n\t\t\tpadding: 8px 16px;\n\t\t\tmargin: 4px 0;\n\t\t\tcursor: pointer;\n\n\t\t\t@media only screen and (max-width: 1200px) {\n\t\t\t\ttext-align: center;\n\t\t\t}\n\n\t\t\t&:hover {\n\t\t\t\tbackground: var(--color-background-dark);\n\t\t\t}\n\n\t\t\t&.selected {\n\t\t\t\tbackground: var(--color-primary-element-lighter);\n\t\t\t}\n\t\t}\n\t}\n\n\t&__file-list {\n\t\tflex-grow: 1;\n\t\tmin-width: 0;\n\t\theight: 100%;\n\n\t\t&--placeholder {\n\t\t\tbackground: var(--color-primary-light);\n\t\t\tborder-radius: var(--border-radius-large);\n\t\t}\n\n\t\t.section-header {\n\t\t\tfont-weight: bold;\n\t\t\tfont-size: 20px;\n\t\t\tpadding: 8px 0 4px 0;\n\t\t}\n\n\t\t::v-deep .empty-content {\n\t\t\tmargin-top: 0;\n\t\t\theight: 100%;\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t\tjustify-content: center;\n\t\t}\n\t}\n\n\t&__actions {\n\t\tdisplay: flex;\n\t\tjustify-content: space-between;\n\t\tjustify-items: center;\n\t\tpadding-top: 16px;\n\t}\n}\n</style>\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesPicker.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesPicker.vue?vue&type=script&lang=js&\"","\n import API from \"!../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/dist/cjs.js!../../node_modules/sass-loader/dist/cjs.js??clonedRuleSet-2[0].rules[0].use[3]!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesPicker.vue?vue&type=style&index=0&id=a0f8650e&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/dist/cjs.js!../../node_modules/sass-loader/dist/cjs.js??clonedRuleSet-2[0].rules[0].use[3]!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesPicker.vue?vue&type=style&index=0&id=a0f8650e&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./FilesPicker.vue?vue&type=template&id=a0f8650e&scoped=true&\"\nimport script from \"./FilesPicker.vue?vue&type=script&lang=js&\"\nexport * from \"./FilesPicker.vue?vue&type=script&lang=js&\"\nimport style0 from \"./FilesPicker.vue?vue&type=style&index=0&id=a0f8650e&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"a0f8650e\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"photos-navigation\",class:{'photos-navigation--root': _vm.isRoot},attrs:{\"role\":\"toolbar\"}},[(!_vm.isRoot)?_c('NcButton',{staticClass:\"photos-navigation__back\",attrs:{\"type\":\"tertiary\"},on:{\"click\":_vm.folderUp},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('ArrowLeft',{attrs:{\"size\":20}})]},proxy:true}],null,false,1821202730)}):_vm._e(),_vm._v(\" \"),_c('h2',{staticClass:\"photos-navigation__title\",on:{\"click\":_vm.refresh}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.name)+\"\\n\\t\")]),_vm._v(\" \"),(_vm.$slots.default)?_c('div',{staticClass:\"photos-navigation__content\"},[_vm._t(\"default\")],2):_vm._e(),_vm._v(\" \"),(_vm.loading)?_c('NcLoadingIcon',{staticClass:\"photos-navigation__loader\"}):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"photos-navigation__content-right\"},[_vm._t(\"right\")],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n - @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license AGPL-3.0-or-later\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<div :class=\"{'photos-navigation--root': isRoot}\" class=\"photos-navigation\" role=\"toolbar\">\n\t\t<!-- Back navigation button -->\n\t\t<NcButton v-if=\"!isRoot\"\n\t\t\tclass=\"photos-navigation__back\"\n\t\t\ttype=\"tertiary\"\n\t\t\t@click=\"folderUp\">\n\t\t\t<template #icon>\n\t\t\t\t<ArrowLeft :size=\"20\" />\n\t\t\t</template>\n\t\t</NcButton>\n\n\t\t<!-- Main Navigation title -->\n\t\t<h2 class=\"photos-navigation__title\" @click=\"refresh\">\n\t\t\t{{ name }}\n\t\t</h2>\n\n\t\t<!-- Main slot -->\n\t\t<div v-if=\"$slots.default\" class=\"photos-navigation__content\">\n\t\t\t<slot />\n\t\t</div>\n\n\t\t<NcLoadingIcon v-if=\"loading\" class=\"photos-navigation__loader\" />\n\n\t\t<div class=\"photos-navigation__content-right\">\n\t\t\t<slot name=\"right\" />\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport ArrowLeft from 'vue-material-design-icons/ArrowLeft.vue'\n\nimport { NcButton, NcLoadingIcon } from '@nextcloud/vue'\n\nexport default {\n\tname: 'HeaderNavigation',\n\n\tcomponents: {\n\t\tArrowLeft,\n\t\tNcButton,\n\t\tNcLoadingIcon,\n\t},\n\n\tinheritAttrs: false,\n\n\tprops: {\n\t\tloading: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\tpath: {\n\t\t\ttype: String,\n\t\t\tdefault: '/',\n\t\t},\n\t\ttitle: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\trootTitle: {\n\t\t\ttype: String,\n\t\t\tdefault: t('photos', 'Photos'),\n\t\t},\n\t\t// The route params\n\t\tparams: {\n\t\t\ttype: Object,\n\t\t\tdefault: null,\n\t\t},\n\t},\n\n\tcomputed: {\n\t\tisRoot() {\n\t\t\tconst isRoot = this.path === '/'\n\t\t\tthis.toggleNavigationButton(!isRoot)\n\t\t\treturn isRoot\n\t\t},\n\n\t\tname() {\n\t\t\tif (this.isRoot) {\n\t\t\t\treturn this.rootTitle\n\t\t\t}\n\t\t\treturn this.title\n\t\t},\n\n\t\tparentPath() {\n\t\t\tconst path = this.path.split('/')\n\t\t\tpath.pop()\n\t\t\tconst parent = path.join('/')\n\t\t\treturn this.isRoot || parent.trim() === ''\n\t\t\t\t? '/'\n\t\t\t\t: path.join('/')\n\t\t},\n\n\t\tparentName() {\n\t\t\treturn this.parentPath && this.parentPath.split('/').pop()\n\t\t},\n\n\t\tbackToText() {\n\t\t\tif (this.parentPath === '/') {\n\t\t\t\treturn t('photos', 'Back to {folder}', { folder: this.rootTitle })\n\t\t\t}\n\t\t\treturn t('photos', 'Back to {folder}', { folder: this.parentName })\n\t\t},\n\n\t\t/**\n\t\t * We do not want encoded slashes when browsing by folder\n\t\t * so we generate a new valid route object, get the final url back\n\t\t * decode it and use it as a direct string, which vue-router\n\t\t * does not encode afterwards\n\t\t *\n\t\t * @return {string|object}\n\t\t */\n\t\tto() {\n\t\t\t// always remove first slash, the router\n\t\t\t// manage it automatically\n\t\t\tconst regex = /^\\/?(.*)/i\n\t\t\tconst path = regex.exec(this.parentPath)[1]\n\n\t\t\t// apply to current route\n\t\t\tconst { name, params } = Object.assign({}, this.$route, {\n\t\t\t\tparams: this.params || { path },\n\t\t\t})\n\n\t\t\t// return the full object as we don't care about\n\t\t\t// an empty path if this is route\n\t\t\tif (path === '') {\n\t\t\t\treturn { name }\n\t\t\t}\n\n\t\t\t// returning a string prevent vue-router to encode it again\n\t\t\treturn decodeURIComponent(this.$router.resolve({ name, params }).resolved.path)\n\t\t},\n\t},\n\n\tmethods: {\n\t\tfolderUp() {\n\t\t\tthis.$router.push(this.to)\n\t\t},\n\n\t\trefresh() {\n\t\t\tthis.$emit('refresh')\n\t\t},\n\n\t\ttoggleNavigationButton(hide) {\n\t\t\t// Hide the navigation toggle if the back button is shown\n\t\t\tconst navigationToggle = document.querySelector('button.app-navigation-toggle')\n\t\t\tnavigationToggle.style.display = hide ? 'none' : null\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\">\n:root {\n\t--photos-navigation-height: 64px;\n\t// header height - button size\n\t--photos-navigation-spacing: calc((var(--photos-navigation-height) - 44px) / 2);\n}\n\n// Properly position the navigation toggle button\nbutton.app-navigation-toggle {\n\t// App-navigation have a 4px margin top\n\ttop: 0 !important;\n\tright: calc(var(--photos-navigation-height) * -1) !important;\n\tmargin: var(--photos-navigation-spacing) !important;\n}\n\n</style>\n\n<style lang=\"scss\" scoped>\n.photos-navigation {\n\tposition: sticky;\n\tz-index: 20;\n\ttop: 0;\n\tdisplay: flex;\n\talign-items: center;\n\twidth: 100%;\n\theight: var(--photos-navigation-height);\n\tmin-height: var(--photos-navigation-height);\n\tpadding: 0 var(--photos-navigation-height);\n\tbackground: var(--color-main-background);\n\n\t&__back {\n\t\t// Above the navigation menu\n\t\tposition: absolute;\n\t\tleft: 0;\n\t\tmargin: var(--photos-navigation-spacing) !important;\n\t}\n\n\t&__title {\n\t\toverflow: hidden;\n\t\tmargin: 0;\n\t\tmargin-right: calc(2 * var(--photos-navigation-spacing));\n\t\tcursor: pointer;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t}\n\n\t&__loader {\n\t\tmargin-left: 32px;\n\t}\n\n\t&__content-right {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\tmargin-left: auto;\n\t}\n}\n\n</style>\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HeaderNavigation.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HeaderNavigation.vue?vue&type=script&lang=js&\"","\n import API from \"!../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/dist/cjs.js!../../node_modules/sass-loader/dist/cjs.js??clonedRuleSet-2[0].rules[0].use[3]!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HeaderNavigation.vue?vue&type=style&index=0&lang=scss&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/dist/cjs.js!../../node_modules/sass-loader/dist/cjs.js??clonedRuleSet-2[0].rules[0].use[3]!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HeaderNavigation.vue?vue&type=style&index=0&lang=scss&\";\n export default content && content.locals ? content.locals : undefined;\n","\n import API from \"!../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/dist/cjs.js!../../node_modules/sass-loader/dist/cjs.js??clonedRuleSet-2[0].rules[0].use[3]!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HeaderNavigation.vue?vue&type=style&index=1&id=b9975c76&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/dist/cjs.js!../../node_modules/sass-loader/dist/cjs.js??clonedRuleSet-2[0].rules[0].use[3]!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HeaderNavigation.vue?vue&type=style&index=1&id=b9975c76&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./HeaderNavigation.vue?vue&type=template&id=b9975c76&scoped=true&\"\nimport script from \"./HeaderNavigation.vue?vue&type=script&lang=js&\"\nexport * from \"./HeaderNavigation.vue?vue&type=script&lang=js&\"\nimport style0 from \"./HeaderNavigation.vue?vue&type=style&index=0&lang=scss&\"\nimport style1 from \"./HeaderNavigation.vue?vue&type=style&index=1&id=b9975c76&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"b9975c76\",\n null\n \n)\n\nexport default component.exports"],"names":["___CSS_LOADER_EXPORT___","push","module","id","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","_vm","this","_h","$createElement","_c","_self","undefined","collection","loading","attrs","t","slot","staticClass","_t","selectedFileIds","_v","collectionFileIds","length","_e","appContent","isMobile","scopedSlots","_u","key","fn","ref","file","visibility","files","selection","semaphore","on","openViewer","onFileSelectToggle","class","monthsList","_l","month","selected","targetMonth","$event","_s","_f","fileIdsByMonth","loadingFiles","getFiles","height","style","proxy","emitPickedEvent","destination","isRoot","folderUp","refresh","name","$slots"],"sourceRoot":""}