{"version":3,"file":"PhotosFiltersInput-B33sPvuK.chunk.mjs","sources":["../node_modules/@mdi/svg/svg/calendar-month.svg?raw","../src/components/PhotosFilters/CustomDateRangePickerDialog.vue","../node_modules/@nextcloud/vue/dist/Components/NcChip.mjs","../src/services/PhotosFilters/dateRangeFilter.ts","../node_modules/@mdi/svg/svg/map-marker.svg?raw","../src/mixins/useAbortController.ts","../src/mixins/useFetchCollections.ts","../src/components/PhotosFilters/PlaceOption.vue","../src/services/PhotosFilters/placesFilter.ts","../src/services/PhotosFilters/index.ts","../src/components/PhotosFilters/PhotosFiltersDisplay.vue","../src/components/PhotosFilters/PhotosFiltersInput.vue"],"sourcesContent":["export default \"\"","\n\n\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{{ t('photos', 'Date range') }}\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\n\n\n\n\n","import '../assets/NcChip-ByvuZS2-.css';\nimport { c as mdiClose } from \"../chunks/mdi-C_j0YT8c.mjs\";\nimport { useSlots, computed } from \"vue\";\nimport { N as NcActionButton } from \"../chunks/NcActionButton-DykQxmXJ.mjs\";\nimport { N as NcActions } from \"../chunks/NcActions-CpdT2y6O.mjs\";\nimport { N as NcIconSvgWrapper } from \"../chunks/NcIconSvgWrapper-BreCg8pX.mjs\";\nimport { r as register, m as t18, a as t } from \"../chunks/_l10n-BmKQgz1z.mjs\";\nimport { n as normalizeComponent } from \"../chunks/_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nregister(t18);\nconst _sfc_main = {\n __name: \"NcChip\",\n props: {\n /**\n * aria label to set on the close button\n *\n * @default 'Close'\n */\n ariaLabelClose: {\n type: String,\n default: t(\"Close\")\n },\n /**\n * Container for the actions\n */\n actionsContainer: {\n type: String,\n default: \"body\"\n },\n /**\n * Main text of the chip.\n */\n text: {\n type: String,\n default: \"\"\n },\n /**\n * Set the chips design variant-\n *\n * This sets the background style of the chip, similar to NcButton's `variant`.\n *\n * @deprecated will be removed with v9 - use `variant` instead.\n */\n type: {\n type: String,\n default: \"secondary\",\n validator: (value) => [\"primary\", \"secondary\", \"tertiary\", \"error\", \"warning\", \"success\"].includes(value)\n },\n /**\n * SVG path of the icon to use, this takes precedence over `iconSVG`.\n * For example icon paths from `@mdi/js` can be used.\n */\n iconPath: {\n type: String,\n default: null\n },\n /**\n * Inline SVG to use as the icon\n */\n iconSvg: {\n type: String,\n default: null\n },\n /**\n * Set to true to prevent the close button to be shown\n */\n noClose: {\n type: Boolean,\n default: false\n },\n /**\n * Set the chips design variant-\n *\n * This sets the background style of the chip, similar to NcButton's `variant`.\n *\n * @since 8.24.0\n */\n variant: {\n type: String,\n default: \"secondary\",\n validator: (value) => [\"primary\", \"secondary\", \"tertiary\", \"error\", \"warning\", \"success\"].includes(value)\n }\n },\n emits: [\"close\"],\n setup(__props, { emit }) {\n const props = __props;\n const slots = useSlots();\n const realVariant = computed(() => props.type !== \"secondary\" ? props.type : props.variant);\n const canClose = computed(() => !props.noClose);\n const hasActions = () => Boolean(slots.actions?.());\n const hasIcon = () => Boolean(props.iconPath || props.iconSvg || !!slots.icon?.());\n return { __sfc: true, props, emit, slots, realVariant, canClose, hasActions, hasIcon, mdiClose, NcActionButton, NcActions, NcIconSvgWrapper };\n }\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;\n return _c(\"div\", { staticClass: \"nc-chip\", class: {\n [`nc-chip--${_setup.realVariant}`]: true,\n \"nc-chip--no-actions\": _vm.noClose && !_setup.hasActions(),\n \"nc-chip--no-icon\": !_setup.hasIcon()\n } }, [_setup.hasIcon() ? _c(\"span\", { staticClass: \"nc-chip__icon\" }, [_vm._t(\"icon\", function() {\n return [_vm.iconPath || _vm.iconSvg ? _c(_setup.NcIconSvgWrapper, { attrs: { \"inline\": \"\", \"path\": _vm.iconPath, \"svg\": _vm.iconPath ? void 0 : _vm.iconSvg, \"size\": 18 } }) : _vm._e()];\n })], 2) : _vm._e(), _c(\"span\", { staticClass: \"nc-chip__text\" }, [_vm._t(\"default\", function() {\n return [_vm._v(_vm._s(_vm.text))];\n })], 2), _setup.canClose || _setup.hasActions() ? _c(_setup.NcActions, { staticClass: \"nc-chip__actions\", attrs: { \"container\": _vm.actionsContainer, \"force-menu\": !_setup.canClose, \"variant\": \"tertiary-no-background\" } }, [_setup.canClose ? _c(_setup.NcActionButton, { attrs: { \"close-after-click\": \"\" }, on: { \"click\": function($event) {\n return _setup.emit(\"close\");\n } }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_c(_setup.NcIconSvgWrapper, { attrs: { \"path\": _setup.mdiClose, \"size\": 20 } })];\n }, proxy: true }], null, false, 2547223506) }, [_vm._v(\" \" + _vm._s(_vm.ariaLabelClose) + \" \")]) : _vm._e(), _vm._t(\"actions\")], 2) : _vm._e()], 1);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"88e86387\"\n);\nconst NcChip = __component__.exports;\nexport {\n NcChip as default\n};\n//# sourceMappingURL=NcChip.mjs.map\n","/*!\n * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { PhotosFilter } from './PhotosFilter.ts'\n\nimport calendarMonthSvg from '@mdi/svg/svg/calendar-month.svg?raw'\nimport { t } from '@nextcloud/l10n'\nimport { spawnDialog } from '@nextcloud/vue/functions/dialog'\nimport CustomDateRangePickerDialog from '../../components/PhotosFilters/CustomDateRangePickerDialog.vue'\nimport DateRangeOption from '../../components/PhotosFilters/DateRangeOption.vue'\n\nexport type DateRangeValueType = { start: number, end: number }\n\nexport const dateRangeFilterId = 'date-range'\n\nexport const dateRangeFilter: PhotosFilter = {\n\tid: dateRangeFilterId,\n\ticon: calendarMonthSvg,\n\trenderOptionComponent: DateRangeOption,\n\tasync getOptions() {\n\t\tconst now = new Date()\n\n\t\treturn [\n\t\t\t{\n\t\t\t\tfilterId: dateRangeFilterId,\n\t\t\t\tlabel: t('photos', 'Last week'),\n\t\t\t\tvalue: {\n\t\t\t\t\tstart: new Date(now.getFullYear(), now.getMonth(), now.getDate() - now.getDay() - 7).getTime(),\n\t\t\t\t\tend: new Date(now.getFullYear(), now.getMonth(), now.getDate() - now.getDay() - 1).getTime(),\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tfilterId: dateRangeFilterId,\n\t\t\t\tlabel: t('photos', 'Last Month'),\n\t\t\t\tvalue: {\n\t\t\t\t\tstart: new Date(now.getFullYear(), now.getMonth() - 1, 1).getTime(),\n\t\t\t\t\tend: new Date(now.getFullYear(), now.getMonth(), 0).getTime(),\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tfilterId: dateRangeFilterId,\n\t\t\t\tlabel: t('photos', 'Custom…'),\n\t\t\t\tvalue: undefined,\n\t\t\t\tasync getValue() {\n\t\t\t\t\treturn new Promise((resolve) => {\n\t\t\t\t\t\tspawnDialog(CustomDateRangePickerDialog, undefined, resolve)\n\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t},\n\t\t]\n\t},\n\tgetQuery(dateRangeOptions: DateRangeValueType[]): string {\n\t\t// Add one day to the end date to include the whole day.\n\t\tconst dav = dateRangeOptions.map((option) => `\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t${option.start / 1000}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t${option.end / 1000 + 24 * 60 * 60}\n\t\t\t\t\n\t\t\t`)\n\n\t\treturn `${dav.join('')}`\n\t},\n}\n","export default \"\"","/**\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { computed, onUnmounted, ref } from 'vue'\nimport router from '../router/index.ts'\n\n/**\n *\n */\nexport default function() {\n\tconst abortController = ref(new AbortController())\n\n\tconst abortSignal = computed(() => abortController.value.signal)\n\n\t/**\n\t *\n\t */\n\tfunction abortPendingRequest() {\n\t\tabortController.value.abort()\n\t\tabortController.value = new AbortController()\n\t}\n\n\tonUnmounted(() => {\n\t\tabortController.value.abort()\n\t})\n\n\trouter.beforeEach((from, to, next) => {\n\t\tabortPendingRequest()\n\t\tnext()\n\t})\n\n\treturn {\n\t\tabortSignal,\n\t\tabortPendingRequest,\n\t}\n}\n","/**\n * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { WebDAVClient } from 'webdav'\n\nimport { ref } from 'vue'\nimport {\n\ttype Collection,\n\n\tfetchCollections,\n} from '../services/collectionFetcher.js'\nimport { davClient } from '../services/DavClient.ts'\nimport logger from '../services/logger.js'\nimport store from '../store/index.ts'\nimport useAbortController from './useAbortController.ts'\n\nexport default function() {\n\tconst errorFetchingCollections = ref(null as null | number | Error | unknown)\n\tconst loadingCollections = ref(false)\n\tconst { abortSignal } = useAbortController()\n\n\t/**\n\t *\n\t * @param collectionHome\n\t * @param extraProps\n\t * @param client\n\t */\n\tasync function _fetchCollections(collectionHome: string, extraProps: string[] = [], client: WebDAVClient = davClient): Promise {\n\t\tif (loadingCollections.value) {\n\t\t\treturn []\n\t\t}\n\n\t\ttry {\n\t\t\tloadingCollections.value = true\n\t\t\terrorFetchingCollections.value = null\n\n\t\t\tconst collections = await fetchCollections(collectionHome, { signal: abortSignal.value }, extraProps, client)\n\n\t\t\tstore.dispatch('addCollections', { collections })\n\n\t\t\treturn collections\n\t\t} catch (error) {\n\t\t\tif (error.response?.status === 404) {\n\t\t\t\terrorFetchingCollections.value = 404\n\t\t\t} else {\n\t\t\t\terrorFetchingCollections.value = error\n\t\t\t}\n\t\t\tlogger.error('Error fetching collections:', { error })\n\t\t} finally {\n\t\t\tloadingCollections.value = false\n\t\t}\n\n\t\treturn []\n\t}\n\n\treturn { fetchCollections: _fetchCollections, errorFetchingCollections, loadingCollections }\n}\n","\n\n\t\n\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t{{ value }}\n\t\t\n\t\n\n\n\n\n\n","/*!\n * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { PhotosFilter } from './PhotosFilter.ts'\n\nimport mapMarkerSvg from '@mdi/svg/svg/map-marker.svg?raw'\nimport { generateUrl } from '@nextcloud/router'\nimport PlacesOption from '../../components/PhotosFilters/PlaceOption.vue'\nimport store from '../../store/index.ts'\nimport { placesPrefix } from '../../store/places.ts'\nimport { fetchCollections } from '../collectionFetcher.ts'\n\nexport type PlacesValueType = string\n\nexport const placesFilterId = 'places'\n\nexport const placesFilter: PhotosFilter = {\n\tid: placesFilterId,\n\ticon: mapMarkerSvg,\n\trenderOptionComponent: PlacesOption,\n\tasync getOptions() {\n\t\tif (Object.values(store.getters.places).length === 0) {\n\t\t\tconst collections = await fetchCollections(placesPrefix)\n\t\t\tstore.dispatch('addCollections', { collections })\n\t\t}\n\n\t\treturn Object.values(Object.values(store.getters.places)).map((place) => {\n\t\t\treturn {\n\t\t\t\tfilterId: placesFilterId,\n\t\t\t\tlabel: place.displayname,\n\t\t\t\tvalue: place.displayname,\n\t\t\t\timgSrc: generateUrl(`/apps/photos/api/v1/preview/${place.attributes['last-photo']}?x=${64}&y=${64}`),\n\t\t\t}\n\t\t})\n\t},\n\tgetQuery(placesId: PlacesValueType[]): string {\n\t\tconst dav = placesId.map((placeId) => `\n\t\t\t\n\t\t\t\t\n\t\t\t\t${placeId}\n\t\t\t\n\t\t`)\n\n\t\treturn `${dav.join('')}`\n\t},\n}\n","/*!\n * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { dateRangeFilter } from './dateRangeFilter.ts'\nimport { placesFilter } from './placesFilter.ts'\n\nexport default [\n\tdateRangeFilter,\n\tplacesFilter,\n]\n","\n\n\t\n\t\t\n\t\t\t\n\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\n\n\n\n\n","\n\n\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\n\n\n\n\n"],"names":["calendarMonthSvg","dateRange","ref","watch","newDateRangeValue","emit","register","t18","_sfc_main","t","value","__props","props","slots","useSlots","realVariant","computed","canClose","mdiClose","NcActionButton","NcActions","NcIconSvgWrapper","_sfc_render","_vm","_c","_setup","$event","_sfc_staticRenderFns","__component__","normalizeComponent","NcChip","dateRangeFilterId","dateRangeFilter","DateRangeOption","now","resolve","spawnDialog","CustomDateRangePickerDialog","dateRangeOptions","option","mapMarkerSvg","useAbortController","abortController","abortSignal","abortPendingRequest","onUnmounted","router","from","to","next","useFetchCollections","errorFetchingCollections","loadingCollections","_fetchCollections","collectionHome","extraProps","client","davClient","collections","fetchCollections","store","error","logger","placeImageSource","place","generateUrl","placesPrefix","placesFilterId","placesFilter","PlacesOption","placesId","placeId","filters","availableFilters","filter","filterOptions","availableOptions","availableOptionsWithSelection","optionIsSelected","loading","getOptionsPromises","options","handleSelectOptions"],"mappings":"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","x_google_ignoreList":[0,2,4]}