aboutsummaryrefslogtreecommitdiffstats
path: root/dist/core-unified-search.js.map
diff options
context:
space:
mode:
authorFerdinand Thiessen <opensource@fthiessen.de>2023-12-13 00:52:18 +0100
committerFerdinand Thiessen <opensource@fthiessen.de>2023-12-18 13:59:09 +0100
commitac2182cc7735d398ba890681182da3942e05fac0 (patch)
treeac7b6132af4c14f18c535efc7b0ea67e66470a41 /dist/core-unified-search.js.map
parentf7bead00d1635683fab38daff246e7ad7e862d27 (diff)
downloadnextcloud-server-ac2182cc7735d398ba890681182da3942e05fac0.tar.gz
nextcloud-server-ac2182cc7735d398ba890681182da3942e05fac0.zip
enh(UnifiedSearch): Keep the searchbar on top of the modal
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
Diffstat (limited to 'dist/core-unified-search.js.map')
-rw-r--r--dist/core-unified-search.js.map2
1 files changed, 1 insertions, 1 deletions
diff --git a/dist/core-unified-search.js.map b/dist/core-unified-search.js.map
index 43aaa5db81f..18da1b1a1a5 100644
--- a/dist/core-unified-search.js.map
+++ b/dist/core-unified-search.js.map
@@ -1 +1 @@
-{"version":3,"file":"core-unified-search.js?v=2a930ac6513d6625415b","mappings":"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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/node_modules/vue-material-design-icons/CalendarRange.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/CalendarRange.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/CalendarRange.vue?f09e","webpack:///nextcloud/node_modules/vue-material-design-icons/CalendarRange.vue?vue&type=template&id=eff4db96","webpack://nextcloud/./core/src/components/UnifiedSearch/CustomDateRangeModal.vue?b7cc","webpack:///nextcloud/core/src/components/UnifiedSearch/CustomDateRangeModal.vue","webpack:///nextcloud/core/src/components/UnifiedSearch/CustomDateRangeModal.vue?vue&type=script&lang=js","webpack://nextcloud/./core/src/components/UnifiedSearch/CustomDateRangeModal.vue?7b1c","webpack://nextcloud/./core/src/components/UnifiedSearch/CustomDateRangeModal.vue?92fe","webpack:///nextcloud/node_modules/vue-material-design-icons/DotsHorizontal.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/DotsHorizontal.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/DotsHorizontal.vue?c5a1","webpack:///nextcloud/node_modules/vue-material-design-icons/DotsHorizontal.vue?vue&type=template&id=6950b9a6","webpack:///nextcloud/node_modules/vue-material-design-icons/Filter.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/Filter.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/Filter.vue?3711","webpack:///nextcloud/node_modules/vue-material-design-icons/Filter.vue?vue&type=template&id=5ca95164","webpack:///nextcloud/core/src/components/UnifiedSearch/SearchFilterChip.vue?vue&type=script&lang=js","webpack:///nextcloud/core/src/components/UnifiedSearch/SearchFilterChip.vue","webpack://nextcloud/./core/src/components/UnifiedSearch/SearchFilterChip.vue?3702","webpack://nextcloud/./core/src/components/UnifiedSearch/SearchFilterChip.vue?fc0d","webpack://nextcloud/./core/src/components/UnifiedSearch/SearchFilterChip.vue?2352","webpack:///nextcloud/node_modules/vue-material-design-icons/ListBox.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/ListBox.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/ListBox.vue?d9c9","webpack:///nextcloud/node_modules/vue-material-design-icons/ListBox.vue?vue&type=template&id=01774f2d","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/index.mjs","webpack:///nextcloud/core/src/components/UnifiedSearch/SearchableList.vue","webpack:///nextcloud/core/src/components/UnifiedSearch/SearchableList.vue?vue&type=script&lang=js","webpack://nextcloud/./core/src/components/UnifiedSearch/SearchableList.vue?58c9","webpack://nextcloud/./core/src/components/UnifiedSearch/SearchableList.vue?4344","webpack://nextcloud/./core/src/components/UnifiedSearch/SearchableList.vue?a21f","webpack:///nextcloud/core/src/components/UnifiedSearch/SearchResult.vue?vue&type=script&lang=js","webpack:///nextcloud/core/src/components/UnifiedSearch/SearchResult.vue","webpack://nextcloud/./core/src/components/UnifiedSearch/SearchResult.vue?5240","webpack://nextcloud/./core/src/components/UnifiedSearch/SearchResult.vue?32d3","webpack://nextcloud/./core/src/components/UnifiedSearch/SearchResult.vue?e4b5","webpack:///nextcloud/core/src/services/UnifiedSearchService.js","webpack:///nextcloud/core/src/views/UnifiedSearchModal.vue","webpack:///nextcloud/core/src/views/UnifiedSearchModal.vue?vue&type=script&lang=js","webpack://nextcloud/./core/src/views/UnifiedSearchModal.vue?578c","webpack://nextcloud/./core/src/views/UnifiedSearchModal.vue?7f41","webpack://nextcloud/./core/src/views/UnifiedSearchModal.vue?60fa","webpack:///nextcloud/core/src/views/UnifiedSearch.vue","webpack:///nextcloud/core/src/views/UnifiedSearch.vue?vue&type=script&lang=js","webpack://nextcloud/./core/src/views/UnifiedSearch.vue?c7c4","webpack://nextcloud/./core/src/views/UnifiedSearch.vue?1990","webpack://nextcloud/./core/src/views/UnifiedSearch.vue?adc0","webpack:///nextcloud/core/src/unified-search.js","webpack:///nextcloud/core/src/components/UnifiedSearch/CustomDateRangeModal.vue?vue&type=style&index=0&id=99abc4fc&prod&lang=scss&scoped=true","webpack:///nextcloud/core/src/components/UnifiedSearch/SearchFilterChip.vue?vue&type=style&index=0&id=5dc4d462&prod&lang=scss&scoped=true","webpack:///nextcloud/core/src/components/UnifiedSearch/SearchResult.vue?vue&type=style&index=0&id=67d9a3cf&prod&lang=scss&scoped=true","webpack:///nextcloud/core/src/components/UnifiedSearch/SearchableList.vue?vue&type=style&index=0&id=7cf71a2c&prod&lang=scss&scoped=true","webpack:///nextcloud/core/src/views/UnifiedSearch.vue?vue&type=style&index=0&id=3883344d&prod&lang=scss&scoped=true","webpack:///nextcloud/core/src/views/UnifiedSearchModal.vue?vue&type=style&index=0&id=91bd0074&prod&lang=scss&scoped=true","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/ensure chunk","webpack:///nextcloud/webpack/runtime/global","webpack:///nextcloud/webpack/runtime/hasOwnProperty shorthand","webpack:///nextcloud/webpack/runtime/make namespace object","webpack:///nextcloud/webpack/runtime/node module decorator","webpack:///nextcloud/webpack/runtime/runtimeId","webpack:///nextcloud/webpack/runtime/jsonp chunk loading","webpack:///nextcloud/webpack/runtime/nonce","webpack:///nextcloud/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"!title\"\n :aria-label=\"title\"\n class=\"material-design-icon calendar-range-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M9,10H7V12H9V10M13,10H11V12H13V10M17,10H15V12H17V10M19,3H18V1H16V3H8V1H6V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M19,19H5V8H19V19Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"CalendarRangeIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./CalendarRange.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./CalendarRange.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./CalendarRange.vue?vue&type=template&id=eff4db96\"\nimport script from \"./CalendarRange.vue?vue&type=script&lang=js\"\nexport * from \"./CalendarRange.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon calendar-range-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M9,10H7V12H9V10M13,10H11V12H13V10M17,10H15V12H17V10M19,3H18V1H16V3H8V1H6V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M19,19H5V8H19V19Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.isModalOpen)?_c('NcModal',{attrs:{\"id\":\"unified-search\",\"name\":_vm.t('core', 'Custom date range'),\"show\":_vm.isModalOpen,\"size\":'small',\"clear-view-delay\":0,\"title\":_vm.t('core', 'Custom date range')},on:{\"update:show\":function($event){_vm.isModalOpen=$event},\"close\":_vm.closeModal}},[_c('div',{staticClass:\"unified-search-custom-date-modal\"},[_c('h1',[_vm._v(_vm._s(_vm.t('core', 'Custom date range')))]),_vm._v(\" \"),_c('div',{staticClass:\"unified-search-custom-date-modal__pickers\"},[_c('NcDateTimePicker',{attrs:{\"id\":'unifiedsearch-custom-date-range-start',\"label\":_vm.t('core', 'Pick start date'),\"type\":\"date\"},model:{value:(_vm.dateFilter.startFrom),callback:function ($$v) {_vm.$set(_vm.dateFilter, \"startFrom\", $$v)},expression:\"dateFilter.startFrom\"}}),_vm._v(\" \"),_c('NcDateTimePicker',{attrs:{\"id\":'unifiedsearch-custom-date-range-end',\"label\":_vm.t('core', 'Pick end date'),\"type\":\"date\"},model:{value:(_vm.dateFilter.endAt),callback:function ($$v) {_vm.$set(_vm.dateFilter, \"endAt\", $$v)},expression:\"dateFilter.endAt\"}})],1),_vm._v(\" \"),_c('div',{staticClass:\"unified-search-custom-date-modal__footer\"},[_c('NcButton',{on:{\"click\":_vm.applyCustomRange},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('CalendarRangeIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,3084610734)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('core', 'Search in date range'))+\"\\n\\t\\t\\t\\t\")])],1)])]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<NcModal v-if=\"isModalOpen\"\n\t\tid=\"unified-search\"\n\t\t:name=\"t('core', 'Custom date range')\"\n\t\t:show.sync=\"isModalOpen\"\n\t\t:size=\"'small'\"\n\t\t:clear-view-delay=\"0\"\n\t\t:title=\"t('core', 'Custom date range')\"\n\t\t@close=\"closeModal\">\n\t\t<!-- Custom date range -->\n\t\t<div class=\"unified-search-custom-date-modal\">\n\t\t\t<h1>{{ t('core', 'Custom date range') }}</h1>\n\t\t\t<div class=\"unified-search-custom-date-modal__pickers\">\n\t\t\t\t<NcDateTimePicker :id=\"'unifiedsearch-custom-date-range-start'\"\n\t\t\t\t\tv-model=\"dateFilter.startFrom\"\n\t\t\t\t\t:label=\"t('core', 'Pick start date')\"\n\t\t\t\t\ttype=\"date\" />\n\t\t\t\t<NcDateTimePicker :id=\"'unifiedsearch-custom-date-range-end'\"\n\t\t\t\t\tv-model=\"dateFilter.endAt\"\n\t\t\t\t\t:label=\"t('core', 'Pick end date')\"\n\t\t\t\t\ttype=\"date\" />\n\t\t\t</div>\n\t\t\t<div class=\"unified-search-custom-date-modal__footer\">\n\t\t\t\t<NcButton @click=\"applyCustomRange\">\n\t\t\t\t\t{{ t('core', 'Search in date range') }}\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<CalendarRangeIcon :size=\"20\" />\n\t\t\t\t\t</template>\n\t\t\t\t</NcButton>\n\t\t\t</div>\n\t\t</div>\n\t</NcModal>\n</template>\n\n<script>\nimport NcButton from '@nextcloud/vue/dist/Components/NcButton.js'\nimport NcDateTimePicker from '@nextcloud/vue/dist/Components/NcDateTimePickerNative.js'\nimport NcModal from '@nextcloud/vue/dist/Components/NcModal.js'\nimport CalendarRangeIcon from 'vue-material-design-icons/CalendarRange.vue'\n\nexport default {\n\tname: 'CustomDateRangeModal',\n\tcomponents: {\n\t\tNcButton,\n\t\tNcModal,\n\t\tCalendarRangeIcon,\n\t\tNcDateTimePicker,\n\t},\n\tprops: {\n\t\tisOpen: {\n\t\t\ttype: Boolean,\n\t\t\trequired: true,\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tdateFilter: { startFrom: null, endAt: null },\n\t\t}\n\t},\n\tcomputed: {\n\t\tisModalOpen: {\n\t\t\tget() {\n\t\t\t\treturn this.isOpen\n\t\t\t},\n\t\t\tset(value) {\n\t\t\t\tthis.$emit('update:is-open', value)\n\t\t\t},\n\t\t},\n\t},\n\tmethods: {\n\t\tcloseModal() {\n\t\t\tthis.isModalOpen = false\n\t\t},\n\t\tapplyCustomRange() {\n\t\t\tthis.$emit('set:custom-date-range', this.dateFilter)\n\t\t\tthis.closeModal()\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.unified-search-custom-date-modal {\n\tpadding: 10px 20px 10px 20px;\n\n\th1 {\n\t\tfont-size: 16px;\n\t\tfont-weight: bolder;\n\t\tline-height: 2em;\n\t}\n\n\t&__pickers {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t}\n\n\t&__footer {\n\t\tdisplay: flex;\n\t\tjustify-content: end;\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!./CustomDateRangeModal.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!./CustomDateRangeModal.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/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomDateRangeModal.vue?vue&type=style&index=0&id=99abc4fc&prod&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/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomDateRangeModal.vue?vue&type=style&index=0&id=99abc4fc&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./CustomDateRangeModal.vue?vue&type=template&id=99abc4fc&scoped=true\"\nimport script from \"./CustomDateRangeModal.vue?vue&type=script&lang=js\"\nexport * from \"./CustomDateRangeModal.vue?vue&type=script&lang=js\"\nimport style0 from \"./CustomDateRangeModal.vue?vue&type=style&index=0&id=99abc4fc&prod&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 \"99abc4fc\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./DotsHorizontal.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./DotsHorizontal.vue?vue&type=script&lang=js\"","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"!title\"\n :aria-label=\"title\"\n class=\"material-design-icon dots-horizontal-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M16,12A2,2 0 0,1 18,10A2,2 0 0,1 20,12A2,2 0 0,1 18,14A2,2 0 0,1 16,12M10,12A2,2 0 0,1 12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12M4,12A2,2 0 0,1 6,10A2,2 0 0,1 8,12A2,2 0 0,1 6,14A2,2 0 0,1 4,12Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"DotsHorizontalIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import { render, staticRenderFns } from \"./DotsHorizontal.vue?vue&type=template&id=6950b9a6\"\nimport script from \"./DotsHorizontal.vue?vue&type=script&lang=js\"\nexport * from \"./DotsHorizontal.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon dots-horizontal-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M16,12A2,2 0 0,1 18,10A2,2 0 0,1 20,12A2,2 0 0,1 18,14A2,2 0 0,1 16,12M10,12A2,2 0 0,1 12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12M4,12A2,2 0 0,1 6,10A2,2 0 0,1 8,12A2,2 0 0,1 6,14A2,2 0 0,1 4,12Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Filter.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Filter.vue?vue&type=script&lang=js\"","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"!title\"\n :aria-label=\"title\"\n class=\"material-design-icon filter-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M14,12V19.88C14.04,20.18 13.94,20.5 13.71,20.71C13.32,21.1 12.69,21.1 12.3,20.71L10.29,18.7C10.06,18.47 9.96,18.16 10,17.87V12H9.97L4.21,4.62C3.87,4.19 3.95,3.56 4.38,3.22C4.57,3.08 4.78,3 5,3V3H19V3C19.22,3 19.43,3.08 19.62,3.22C20.05,3.56 20.13,4.19 19.79,4.62L14.03,12H14Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"FilterIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import { render, staticRenderFns } from \"./Filter.vue?vue&type=template&id=5ca95164\"\nimport script from \"./Filter.vue?vue&type=script&lang=js\"\nexport * from \"./Filter.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon filter-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M14,12V19.88C14.04,20.18 13.94,20.5 13.71,20.71C13.32,21.1 12.69,21.1 12.3,20.71L10.29,18.7C10.06,18.47 9.96,18.16 10,17.87V12H9.97L4.21,4.62C3.87,4.19 3.95,3.56 4.38,3.22C4.57,3.08 4.78,3 5,3V3H19V3C19.22,3 19.43,3.08 19.62,3.22C20.05,3.56 20.13,4.19 19.79,4.62L14.03,12H14Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchFilterChip.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!./SearchFilterChip.vue?vue&type=script&lang=js\"","<template>\n\t<div class=\"chip\">\n\t\t<span class=\"icon\">\n\t\t\t<slot name=\"icon\" />\n\t\t\t<span v-if=\"pretext.length\"> {{ pretext }} : </span>\n\t\t</span>\n\t\t<span class=\"text\">{{ text }}</span>\n\t\t<span class=\"close-icon\" @click=\"deleteChip\">\n\t\t\t<CloseIcon :size=\"18\" />\n\t\t</span>\n\t</div>\n</template>\n\n<script>\nimport CloseIcon from 'vue-material-design-icons/Close.vue'\n\nexport default {\n\tname: 'SearchFilterChip',\n\tcomponents: {\n\t\tCloseIcon,\n\t},\n\tprops: {\n\t\ttext: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tpretext: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t},\n\tmethods: {\n\t\tdeleteChip() {\n\t\t\tthis.$emit('delete', this.filter)\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.chip {\n display: flex;\n align-items: center;\n padding: 2px 4px;\n border: 1px solid var(--color-primary-element-light);\n border-radius: 20px;\n background-color: var(--color-primary-element-light);\n margin: 2px;\n\n .icon {\n display: flex;\n align-items: center;\n padding-right: 5px;\n\n img {\n width: 20px;\n padding: 2px;\n border-radius: 20px;\n filter: var(--background-invert-if-bright);\n }\n }\n\n .text {\n margin: 0 2px;\n }\n\n .close-icon {\n cursor: pointer ;\n\n :hover {\n filter: invert(20%);\n }\n }\n}\n</style>\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/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchFilterChip.vue?vue&type=style&index=0&id=5dc4d462&prod&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/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchFilterChip.vue?vue&type=style&index=0&id=5dc4d462&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SearchFilterChip.vue?vue&type=template&id=5dc4d462&scoped=true\"\nimport script from \"./SearchFilterChip.vue?vue&type=script&lang=js\"\nexport * from \"./SearchFilterChip.vue?vue&type=script&lang=js\"\nimport style0 from \"./SearchFilterChip.vue?vue&type=style&index=0&id=5dc4d462&prod&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 \"5dc4d462\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"chip\"},[_c('span',{staticClass:\"icon\"},[_vm._t(\"icon\"),_vm._v(\" \"),(_vm.pretext.length)?_c('span',[_vm._v(\" \"+_vm._s(_vm.pretext)+\" : \")]):_vm._e()],2),_vm._v(\" \"),_c('span',{staticClass:\"text\"},[_vm._v(_vm._s(_vm.text))]),_vm._v(\" \"),_c('span',{staticClass:\"close-icon\",on:{\"click\":_vm.deleteChip}},[_c('CloseIcon',{attrs:{\"size\":18}})],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./ListBox.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./ListBox.vue?vue&type=script&lang=js\"","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"!title\"\n :aria-label=\"title\"\n class=\"material-design-icon list-box-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M7 7H9V9H7V7M7 11H9V13H7V11M7 15H9V17H7V15M17 17H11V15H17V17M17 13H11V11H17V13M17 9H11V7H17V9Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"ListBoxIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import { render, staticRenderFns } from \"./ListBox.vue?vue&type=template&id=01774f2d\"\nimport script from \"./ListBox.vue?vue&type=script&lang=js\"\nexport * from \"./ListBox.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon list-box-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M7 7H9V9H7V7M7 11H9V13H7V11M7 15H9V17H7V15M17 17H11V15H17V17M17 13H11V11H17V13M17 9H11V7H17V9Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import i from \"./Components/NcActionButton.mjs\";\nimport m from \"./Components/NcActionButtonGroup.mjs\";\nimport e from \"./Components/NcActionCaption.mjs\";\nimport p from \"./Components/NcActionCheckbox.mjs\";\nimport c from \"./Components/NcActionInput.mjs\";\nimport f from \"./Components/NcActionLink.mjs\";\nimport n from \"./Components/NcActionRadio.mjs\";\nimport N from \"./Components/NcActionRouter.mjs\";\nimport a from \"./Components/NcActions.mjs\";\nimport s from \"./Components/NcActionSeparator.mjs\";\nimport l from \"./Components/NcActionText.mjs\";\nimport u from \"./Components/NcActionTextEditable.mjs\";\nimport d from \"./Components/NcAppContent.mjs\";\nimport A from \"./Components/NcAppContentDetails.mjs\";\nimport g from \"./Components/NcAppContentList.mjs\";\nimport b from \"./Components/NcAppNavigation.mjs\";\nimport S from \"./Components/NcAppNavigationCaption.mjs\";\nimport x from \"./Components/NcAppNavigationIconBullet.mjs\";\nimport T from \"./Components/NcAppNavigationItem.mjs\";\nimport v from \"./Components/NcAppNavigationNew.mjs\";\nimport C from \"./Components/NcAppNavigationNewItem.mjs\";\nimport I from \"./Components/NcAppNavigationSettings.mjs\";\nimport k from \"./Components/NcAppNavigationSpacer.mjs\";\nimport h from \"./Components/NcAppSettingsDialog.mjs\";\nimport B from \"./Components/NcAppSettingsSection.mjs\";\nimport P from \"./Components/NcAppSidebar.mjs\";\nimport y from \"./Components/NcAppSidebarTab.mjs\";\nimport { N as D } from \"./chunks/index-efb07851.mjs\";\nimport { u as tt } from \"./chunks/index-efb07851.mjs\";\nimport O from \"./Components/NcBreadcrumb.mjs\";\nimport R from \"./Components/NcBreadcrumbs.mjs\";\nimport j from \"./Components/NcButton.mjs\";\nimport E from \"./Components/NcCheckboxRadioSwitch.mjs\";\nimport M from \"./Components/NcColorPicker.mjs\";\nimport _ from \"./Components/NcContent.mjs\";\nimport L from \"./Components/NcCounterBubble.mjs\";\nimport F from \"./Components/NcDashboardWidget.mjs\";\nimport w from \"./Components/NcDashboardWidgetItem.mjs\";\nimport z from \"./Components/NcDateTime.mjs\";\nimport G from \"./Components/NcDateTimePicker.mjs\";\nimport W from \"./Components/NcDateTimePickerNative.mjs\";\nimport H from \"./Components/NcDialog.mjs\";\nimport V from \"./Components/NcDialogButton.mjs\";\nimport K from \"./Components/NcEmojiPicker.mjs\";\nimport U from \"./Components/NcEmptyContent.mjs\";\nimport $ from \"./Components/NcGuestContent.mjs\";\nimport q from \"./Components/NcHeaderMenu.mjs\";\nimport { N as J } from \"./chunks/index-20a9ace9.mjs\";\nimport Q from \"./Components/NcIconSvgWrapper.mjs\";\nimport X from \"./Components/NcListItem.mjs\";\nimport Y from \"./Components/NcListItemIcon.mjs\";\nimport Z from \"./Components/NcLoadingIcon.mjs\";\nimport oo from \"./Components/NcModal.mjs\";\nimport ro from \"./Components/NcNoteCard.mjs\";\nimport to from \"./Components/NcPasswordField.mjs\";\nimport io from \"./Components/NcPopover.mjs\";\nimport mo from \"./Components/NcProgressBar.mjs\";\nimport eo from \"./Components/NcRelatedResourcesPanel.mjs\";\nimport { N as po } from \"./chunks/index-5f2a5f57.mjs\";\nimport { r as mt } from \"./chunks/index-5f2a5f57.mjs\";\nimport co, { NcAutoCompleteResult as fo } from \"./Components/NcRichContenteditable.mjs\";\nimport { N as no } from \"./chunks/NcRichText-0db09c78.mjs\";\nimport \"./chunks/referencePickerModal-ded8273d.mjs\";\nimport \"@nextcloud/axios\";\nimport \"@nextcloud/router\";\nimport No from \"./Components/NcSelect.mjs\";\nimport \"./chunks/l10n-1b905a9a.mjs\";\nimport ao from \"./Components/NcTextField.mjs\";\nimport \"@nextcloud/event-bus\";\nimport \"vue\";\nimport so from \"./Components/NcSavingIndicatorIcon.mjs\";\nimport lo from \"./Components/NcSelectTags.mjs\";\nimport uo from \"./Components/NcSettingsInputText.mjs\";\nimport Ao from \"./Components/NcSettingsSection.mjs\";\nimport { N as go } from \"./chunks/NcSettingsSelectGroup-cdd84895.mjs\";\nimport bo from \"./Components/NcTimezonePicker.mjs\";\nimport So from \"./Components/NcUserBubble.mjs\";\nimport xo from \"./Components/NcTextArea.mjs\";\nimport { isFullscreenState as pt, useIsFullscreen as ct } from \"./Composables/useIsFullscreen.mjs\";\nimport { MOBILE_BREAKPOINT as nt, isMobileState as Nt, useIsMobile as at } from \"./Composables/useIsMobile.mjs\";\nimport { emojiAddRecent as lt, emojiSearch as ut } from \"./Functions/emoji.mjs\";\nimport { default as At } from \"./Functions/usernameToColor.mjs\";\nimport { directive as To } from \"./Directives/Focus.mjs\";\nimport { directive as vo } from \"./Directives/Linkify.mjs\";\nimport \"./Directives/Tooltip.mjs\";\nimport { default as bt } from \"./Mixins/clickOutsideOptions.mjs\";\nimport { default as xt } from \"./Mixins/isFullscreen.mjs\";\nimport { default as vt } from \"./Mixins/isMobile.mjs\";\nimport { VTooltip as Co } from \"floating-vue\";\nimport { VTooltip as It } from \"floating-vue\";\n/**\n * @copyright Copyright (c) 2018 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 */\nconst Io = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n NcActionButton: i,\n NcActionButtonGroup: m,\n NcActionCaption: e,\n NcActionCheckbox: p,\n NcActionInput: c,\n NcActionLink: f,\n NcActionRadio: n,\n NcActionRouter: N,\n NcActionSeparator: s,\n NcActionText: l,\n NcActionTextEditable: u,\n NcActions: a,\n NcAppContent: d,\n NcAppContentDetails: A,\n NcAppContentList: g,\n NcAppNavigation: b,\n NcAppNavigationCaption: S,\n NcAppNavigationIconBullet: x,\n NcAppNavigationItem: T,\n NcAppNavigationNew: v,\n NcAppNavigationNewItem: C,\n NcAppNavigationSettings: I,\n NcAppNavigationSpacer: k,\n NcAppSettingsDialog: h,\n NcAppSettingsSection: B,\n NcAppSidebar: P,\n NcAppSidebarTab: y,\n NcAutoCompleteResult: fo,\n NcAvatar: D,\n NcBreadcrumb: O,\n NcBreadcrumbs: R,\n NcButton: j,\n NcCheckboxRadioSwitch: E,\n NcColorPicker: M,\n NcContent: _,\n NcCounterBubble: L,\n NcDashboardWidget: F,\n NcDashboardWidgetItem: w,\n NcDateTime: z,\n NcDateTimePicker: G,\n NcDateTimePickerNative: W,\n NcDialog: H,\n NcDialogButton: V,\n NcEmojiPicker: K,\n NcEmptyContent: U,\n NcGuestContent: $,\n NcHeaderMenu: q,\n NcHighlight: J,\n NcIconSvgWrapper: Q,\n NcListItem: X,\n NcListItemIcon: Y,\n NcLoadingIcon: Z,\n NcMentionBubble: po,\n NcModal: oo,\n NcNoteCard: ro,\n NcPasswordField: to,\n NcPopover: io,\n NcProgressBar: mo,\n NcRelatedResourcesPanel: eo,\n NcRichContenteditable: co,\n NcRichText: no,\n NcSavingIndicatorIcon: so,\n NcSelect: No,\n NcSelectTags: lo,\n NcSettingsInputText: uo,\n NcSettingsSection: Ao,\n NcSettingsSelectGroup: go,\n NcTextArea: xo,\n NcTextField: ao,\n NcTimezonePicker: bo,\n NcUserBubble: So\n}, Symbol.toStringTag, { value: \"Module\" }));\n/**\n * @copyright 2022 Christopher Ng <chrng8@gmail.com>\n *\n * @author Christopher Ng <chrng8@gmail.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 */\nconst Yr = (o) => o.type === \"click\" || o.type === \"keydown\" && o.key === \"Enter\";\n/**\n * @copyright Copyright (c) 2018 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 */\nconst ko = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n Focus: To,\n Linkify: vo,\n Tooltip: Co\n}, Symbol.toStringTag, { value: \"Module\" })), Zr = {\n install(o) {\n Object.entries(Io).forEach(([t, r]) => {\n o.component(r.name || t, r);\n }), Object.entries(ko).forEach(([t, r]) => {\n o.directive(t, r);\n });\n }\n};\nexport {\n To as Focus,\n vo as Linkify,\n nt as MOBILE_BREAKPOINT,\n i as NcActionButton,\n m as NcActionButtonGroup,\n e as NcActionCaption,\n p as NcActionCheckbox,\n c as NcActionInput,\n f as NcActionLink,\n n as NcActionRadio,\n N as NcActionRouter,\n s as NcActionSeparator,\n l as NcActionText,\n u as NcActionTextEditable,\n a as NcActions,\n d as NcAppContent,\n A as NcAppContentDetails,\n g as NcAppContentList,\n b as NcAppNavigation,\n S as NcAppNavigationCaption,\n x as NcAppNavigationIconBullet,\n T as NcAppNavigationItem,\n v as NcAppNavigationNew,\n C as NcAppNavigationNewItem,\n I as NcAppNavigationSettings,\n k as NcAppNavigationSpacer,\n h as NcAppSettingsDialog,\n B as NcAppSettingsSection,\n P as NcAppSidebar,\n y as NcAppSidebarTab,\n fo as NcAutoCompleteResult,\n D as NcAvatar,\n O as NcBreadcrumb,\n R as NcBreadcrumbs,\n j as NcButton,\n E as NcCheckboxRadioSwitch,\n M as NcColorPicker,\n _ as NcContent,\n L as NcCounterBubble,\n F as NcDashboardWidget,\n w as NcDashboardWidgetItem,\n z as NcDateTime,\n G as NcDateTimePicker,\n W as NcDateTimePickerNative,\n H as NcDialog,\n V as NcDialogButton,\n K as NcEmojiPicker,\n U as NcEmptyContent,\n $ as NcGuestContent,\n q as NcHeaderMenu,\n J as NcHighlight,\n Q as NcIconSvgWrapper,\n X as NcListItem,\n Y as NcListItemIcon,\n Z as NcLoadingIcon,\n po as NcMentionBubble,\n oo as NcModal,\n ro as NcNoteCard,\n to as NcPasswordField,\n io as NcPopover,\n mo as NcProgressBar,\n eo as NcRelatedResourcesPanel,\n co as NcRichContenteditable,\n no as NcRichText,\n so as NcSavingIndicatorIcon,\n No as NcSelect,\n lo as NcSelectTags,\n uo as NcSettingsInputText,\n Ao as NcSettingsSection,\n go as NcSettingsSelectGroup,\n xo as NcTextArea,\n ao as NcTextField,\n bo as NcTimezonePicker,\n So as NcUserBubble,\n Zr as NextcloudVuePlugin,\n It as Tooltip,\n bt as clickOutsideOptions,\n lt as emojiAddRecent,\n ut as emojiSearch,\n Yr as isA11yActivation,\n xt as isFullscreen,\n pt as isFullscreenState,\n vt as isMobile,\n Nt as isMobileState,\n mt as richEditor,\n ct as useIsFullscreen,\n at as useIsMobile,\n tt as userStatus,\n At as usernameToColor\n};\n","<!--\n - @copyright 2023 Marco Ambrosini <marcoambrosini@proton.me>\n -\n - @author Marco Ambrosini <marcoambrosini@proton.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\n<template>\n\t<NcPopover :shown=\"opened\"\n\t\t@show=\"opened = true\"\n\t\t@hide=\"opened = false\">\n\t\t<template #trigger>\n\t\t\t<slot ref=\"popoverTrigger\" name=\"trigger\" />\n\t\t</template>\n\t\t<div class=\"searchable-list__wrapper\">\n\t\t\t<NcTextField :value.sync=\"searchTerm\"\n\t\t\t\t:label=\"labelText\"\n\t\t\t\ttrailing-button-icon=\"close\"\n\t\t\t\t:show-trailing-button=\"searchTerm !== ''\"\n\t\t\t\t@update:value=\"searchTermChanged\"\n\t\t\t\t@trailing-button-click=\"clearSearch\">\n\t\t\t\t<Magnify :size=\"20\" />\n\t\t\t</NcTextField>\n\t\t\t<ul v-if=\"filteredList.length > 0\" class=\"searchable-list__list\">\n\t\t\t\t<li v-for=\"element in filteredList\"\n\t\t\t\t\t:key=\"element.id\"\n\t\t\t\t\t:title=\"element.displayName\"\n\t\t\t\t\trole=\"button\">\n\t\t\t\t\t<NcButton alignment=\"start\"\n\t\t\t\t\t\ttype=\"tertiary\"\n\t\t\t\t\t\t:wide=\"true\"\n\t\t\t\t\t\t@click=\"itemSelected(element)\">\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<NcAvatar :user=\"element.user\" :show-user-status=\"false\" :hide-favorite=\"false\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t{{ element.displayName }}\n\t\t\t\t\t</NcButton>\n\t\t\t\t</li>\n\t\t\t</ul>\n\t\t\t<div v-else class=\"searchable-list__empty-content\">\n\t\t\t\t<NcEmptyContent :name=\"emptyContentText\">\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<AlertCircleOutline />\n\t\t\t\t\t</template>\n\t\t\t\t</NcEmptyContent>\n\t\t\t</div>\n\t\t</div>\n\t</NcPopover>\n</template>\n\n<script>\nimport { NcPopover, NcTextField, NcAvatar, NcEmptyContent, NcButton } from '@nextcloud/vue'\n\nimport AlertCircleOutline from 'vue-material-design-icons/AlertCircleOutline.vue'\nimport Magnify from 'vue-material-design-icons/Magnify.vue'\n\nexport default {\n\tname: 'SearchableList',\n\n\tcomponents: {\n\t\tNcPopover,\n\t\tNcTextField,\n\t\tMagnify,\n\t\tAlertCircleOutline,\n\t\tNcAvatar,\n\t\tNcEmptyContent,\n\t\tNcButton,\n\t},\n\n\tprops: {\n\t\tlabelText: {\n\t\t\ttype: String,\n\t\t\tdefault: 'this is a label',\n\t\t},\n\n\t\tsearchList: {\n\t\t\ttype: Array,\n\t\t\trequired: true,\n\t\t},\n\n\t\temptyContentText: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\topened: false,\n\t\t\terror: false,\n\t\t\tsearchTerm: '',\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tfilteredList() {\n\t\t\treturn this.searchList.filter((element) => {\n\t\t\t\tif (!this.searchTerm.toLowerCase().length) {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t\treturn ['displayName'].some(prop => element[prop].toLowerCase().includes(this.searchTerm.toLowerCase()))\n\t\t\t})\n\t\t},\n\t},\n\n\tmethods: {\n\t\tclearSearch() {\n\t\t\tthis.searchTerm = ''\n\t\t},\n\t\titemSelected(element) {\n\t\t\tthis.$emit('item-selected', element)\n\t\t\tthis.clearSearch()\n\t\t\tthis.opened = false\n\t\t},\n\t\tsearchTermChanged(term) {\n\t\t\tthis.$emit('search-term-change', term)\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.searchable-list {\n\t&__wrapper {\n\t\tpadding: calc(var(--default-grid-baseline) * 3);\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\talign-items: center;\n\t\twidth: 250px;\n\t}\n\n\t&__list {\n\t\twidth: 100%;\n\t\tmax-height: 284px;\n\t\toverflow-y: auto;\n\t\tmargin-top: var(--default-grid-baseline);\n\t\tpadding: var(--default-grid-baseline);\n\n\t\t:deep(.button-vue) {\n\t\t\tborder-radius: var(--border-radius-large) !important;\n\t\t\tspan {\n\t\t\t\tfont-weight: initial;\n\t\t\t}\n\t\t}\n\t}\n\n\t&__empty-content {\n\t\tmargin-top: calc(var(--default-grid-baseline) * 3);\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!./SearchableList.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!./SearchableList.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/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchableList.vue?vue&type=style&index=0&id=7cf71a2c&prod&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/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchableList.vue?vue&type=style&index=0&id=7cf71a2c&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SearchableList.vue?vue&type=template&id=7cf71a2c&scoped=true\"\nimport script from \"./SearchableList.vue?vue&type=script&lang=js\"\nexport * from \"./SearchableList.vue?vue&type=script&lang=js\"\nimport style0 from \"./SearchableList.vue?vue&type=style&index=0&id=7cf71a2c&prod&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 \"7cf71a2c\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('NcPopover',{attrs:{\"shown\":_vm.opened},on:{\"show\":function($event){_vm.opened = true},\"hide\":function($event){_vm.opened = false}},scopedSlots:_vm._u([{key:\"trigger\",fn:function(){return [_vm._t(\"trigger\")]},proxy:true}],null,true)},[_vm._v(\" \"),_c('div',{staticClass:\"searchable-list__wrapper\"},[_c('NcTextField',{attrs:{\"value\":_vm.searchTerm,\"label\":_vm.labelText,\"trailing-button-icon\":\"close\",\"show-trailing-button\":_vm.searchTerm !== ''},on:{\"update:value\":[function($event){_vm.searchTerm=$event},_vm.searchTermChanged],\"trailing-button-click\":_vm.clearSearch}},[_c('Magnify',{attrs:{\"size\":20}})],1),_vm._v(\" \"),(_vm.filteredList.length > 0)?_c('ul',{staticClass:\"searchable-list__list\"},_vm._l((_vm.filteredList),function(element){return _c('li',{key:element.id,attrs:{\"title\":element.displayName,\"role\":\"button\"}},[_c('NcButton',{attrs:{\"alignment\":\"start\",\"type\":\"tertiary\",\"wide\":true},on:{\"click\":function($event){return _vm.itemSelected(element)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('NcAvatar',{attrs:{\"user\":element.user,\"show-user-status\":false,\"hide-favorite\":false}})]},proxy:true}],null,true)},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(element.displayName)+\"\\n\\t\\t\\t\\t\")])],1)}),0):_c('div',{staticClass:\"searchable-list__empty-content\"},[_c('NcEmptyContent',{attrs:{\"name\":_vm.emptyContentText},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('AlertCircleOutline')]},proxy:true}])})],1)],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchResult.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!./SearchResult.vue?vue&type=script&lang=js\"","<template>\n\t<NcListItem class=\"result-items__item\"\n\t\t:name=\"title\"\n\t\t:bold=\"false\"\n\t\t:href=\"resourceUrl\"\n\t\ttarget=\"_self\">\n\t\t<template #icon>\n\t\t\t<div aria-hidden=\"true\"\n\t\t\t\tclass=\"result-items__item-icon\"\n\t\t\t\t:class=\"{\n\t\t\t\t\t'result-items__item-icon--rounded': rounded,\n\t\t\t\t\t'result-items__item-icon--no-preview': !isValidIconOrPreviewUrl(thumbnailUrl),\n\t\t\t\t\t'result-items__item-icon--with-thumbnail': isValidIconOrPreviewUrl(thumbnailUrl),\n\t\t\t\t\t[icon]: !isValidIconOrPreviewUrl(icon),\n\t\t\t\t}\"\n\t\t\t\t:style=\"{\n\t\t\t\t\tbackgroundImage: isValidIconOrPreviewUrl(icon) ? `url(${icon})` : '',\n\t\t\t\t}\">\n\t\t\t\t<img v-if=\"isValidIconOrPreviewUrl(thumbnailUrl) && !thumbnailHasError\"\n\t\t\t\t\t:src=\"thumbnailUrl\"\n\t\t\t\t\t@error=\"thumbnailErrorHandler\">\n\t\t\t</div>\n\t\t</template>\n\t\t<template #subname>\n\t\t\t{{ subline }}\n\t\t</template>\n\t</NcListItem>\n</template>\n\n<script>\nimport NcListItem from '@nextcloud/vue/dist/Components/NcListItem.js'\n\nexport default {\n\tname: 'SearchResult',\n\tcomponents: {\n\t\tNcListItem,\n\t},\n\tprops: {\n\t\tthumbnailUrl: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t\ttitle: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tsubline: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t\tresourceUrl: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t\ticon: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\trounded: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\tquery: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * Only used for the first result as a visual feedback\n\t\t * so we can keep the search input focused but pressing\n\t\t * enter still opens the first result\n\t\t */\n\t\tfocused: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tthumbnailHasError: false,\n\t\t}\n\t},\n\twatch: {\n\t\tthumbnailUrl() {\n\t\t\tthis.thumbnailHasError = false\n\t\t},\n\t},\n\tmethods: {\n\t\tisValidIconOrPreviewUrl(url) {\n\t\t\treturn /^https?:\\/\\//.test(url) || url.startsWith('/')\n\t\t},\n\t\tthumbnailErrorHandler() {\n\t\t\tthis.thumbnailHasError = true\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n@use \"sass:math\";\n$clickable-area: 44px;\n$margin: 10px;\n\n.result-items {\n &__item {\n\n ::v-deep a {\n border-radius: 12px;\n border: 2px solid transparent;\n border-radius: var(--border-radius-large) !important;\n\n &--focused {\n background-color: var(--color-background-hover);\n }\n\n &:active,\n &:hover,\n &:focus {\n background-color: var(--color-background-hover);\n border: 2px solid var(--color-border-maxcontrast);\n }\n\n * {\n cursor: pointer;\n }\n\n }\n\n &-icon {\n overflow: hidden;\n width: $clickable-area;\n height: $clickable-area;\n border-radius: var(--border-radius);\n background-repeat: no-repeat;\n background-position: center center;\n background-size: 32px;\n\n &--rounded {\n border-radius: math.div($clickable-area, 2);\n }\n\n &--no-preview {\n background-size: 32px;\n }\n\n &--with-thumbnail {\n background-size: cover;\n }\n\n &--with-thumbnail:not(&--rounded) {\n // compensate for border\n max-width: $clickable-area - 2px;\n max-height: $clickable-area - 2px;\n border: 1px solid var(--color-border);\n }\n\n img {\n // Make sure to keep ratio\n width: 100%;\n height: 100%;\n\n object-fit: cover;\n object-position: center;\n }\n }\n\n }\n}\n</style>\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/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchResult.vue?vue&type=style&index=0&id=67d9a3cf&prod&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/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchResult.vue?vue&type=style&index=0&id=67d9a3cf&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SearchResult.vue?vue&type=template&id=67d9a3cf&scoped=true\"\nimport script from \"./SearchResult.vue?vue&type=script&lang=js\"\nexport * from \"./SearchResult.vue?vue&type=script&lang=js\"\nimport style0 from \"./SearchResult.vue?vue&type=style&index=0&id=67d9a3cf&prod&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 \"67d9a3cf\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('NcListItem',{staticClass:\"result-items__item\",attrs:{\"name\":_vm.title,\"bold\":false,\"href\":_vm.resourceUrl,\"target\":\"_self\"},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('div',{staticClass:\"result-items__item-icon\",class:{\n\t\t\t\t'result-items__item-icon--rounded': _vm.rounded,\n\t\t\t\t'result-items__item-icon--no-preview': !_vm.isValidIconOrPreviewUrl(_vm.thumbnailUrl),\n\t\t\t\t'result-items__item-icon--with-thumbnail': _vm.isValidIconOrPreviewUrl(_vm.thumbnailUrl),\n\t\t\t\t[_vm.icon]: !_vm.isValidIconOrPreviewUrl(_vm.icon),\n\t\t\t},style:({\n\t\t\t\tbackgroundImage: _vm.isValidIconOrPreviewUrl(_vm.icon) ? `url(${_vm.icon})` : '',\n\t\t\t}),attrs:{\"aria-hidden\":\"true\"}},[(_vm.isValidIconOrPreviewUrl(_vm.thumbnailUrl) && !_vm.thumbnailHasError)?_c('img',{attrs:{\"src\":_vm.thumbnailUrl},on:{\"error\":_vm.thumbnailErrorHandler}}):_vm._e()])]},proxy:true},{key:\"subname\",fn:function(){return [_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.subline)+\"\\n\\t\")]},proxy:true}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright 2023, Fon E. Noel NFEBE <fenn25.fn@gmail.com>\n *\n * @author Fon E. Noel NFEBE <fenn25.fn@gmail.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\nimport { generateOcsUrl, generateUrl } from '@nextcloud/router'\nimport axios from '@nextcloud/axios'\nimport { getCurrentUser } from '@nextcloud/auth'\n\n/**\n * Create a cancel token\n *\n * @return {import('axios').CancelTokenSource}\n */\nconst createCancelToken = () => axios.CancelToken.source()\n\n/**\n * Get the list of available search providers\n *\n * @return {Promise<Array>}\n */\nexport async function getProviders() {\n\ttry {\n\t\tconst { data } = await axios.get(generateOcsUrl('search/providers'), {\n\t\t\tparams: {\n\t\t\t\t// Sending which location we're currently at\n\t\t\t\tfrom: window.location.pathname.replace('/index.php', '') + window.location.search,\n\t\t\t},\n\t\t})\n\t\tif ('ocs' in data && 'data' in data.ocs && Array.isArray(data.ocs.data) && data.ocs.data.length > 0) {\n\t\t\t// Providers are sorted by the api based on their order key\n\t\t\treturn data.ocs.data\n\t\t}\n\t} catch (error) {\n\t\tconsole.error(error)\n\t}\n\treturn []\n}\n\n/**\n * Get the list of available search providers\n *\n * @param {object} options destructuring object\n * @param {string} options.type the type to search\n * @param {string} options.query the search\n * @param {number|string|undefined} options.cursor the offset for paginated searches\n * @param {string} options.since the search\n * @param {string} options.until the search\n * @param {string} options.limit the search\n * @param {string} options.person the search\n * @return {object} {request: Promise, cancel: Promise}\n */\nexport function search({ type, query, cursor, since, until, limit, person }) {\n\t/**\n\t * Generate an axios cancel token\n\t */\n\tconst cancelToken = createCancelToken()\n\n\tconst request = async () => axios.get(generateOcsUrl('search/providers/{type}/search', { type }), {\n\t\tcancelToken: cancelToken.token,\n\t\tparams: {\n\t\t\tterm: query,\n\t\t\tcursor,\n\t\t\tsince,\n\t\t\tuntil,\n\t\t\tlimit,\n\t\t\tperson,\n\t\t\t// Sending which location we're currently at\n\t\t\tfrom: window.location.pathname.replace('/index.php', '') + window.location.search,\n\t\t},\n\t})\n\n\treturn {\n\t\trequest,\n\t\tcancel: cancelToken.cancel,\n\t}\n}\n\n/**\n * Get the list of active contacts\n *\n * @param {object} filter filter contacts by string\n * @param filter.searchTerm\n * @return {object} {request: Promise}\n */\nexport async function getContacts({ searchTerm }) {\n\tconst { data: { contacts } } = await axios.post(generateUrl('/contactsmenu/contacts'), {\n\t\tfilter: searchTerm,\n\t})\n\t/*\n\t * Add authenticated user to list of contacts for search filter\n\t * If authtenicated user is searching/filtering, do not add them to the list\n\t */\n\tif (!searchTerm) {\n\t\tlet authenticatedUser = getCurrentUser()\n\t\tauthenticatedUser = {\n\t\t\tid: authenticatedUser.uid,\n\t\t\tfullName: authenticatedUser.displayName,\n\t\t\temailAddresses: [],\n\t\t }\n\t\tcontacts.unshift(authenticatedUser)\n\t\treturn contacts\n\t }\n\n\treturn contacts\n}\n","<template>\n\t<NcModal id=\"unified-search\"\n\t\tref=\"unifiedSearchModal\"\n\t\t:name=\"t('core', 'Unified search')\"\n\t\t:show.sync=\"internalIsVisible\"\n\t\t:clear-view-delay=\"0\"\n\t\t@close=\"closeModal\">\n\t\t<CustomDateRangeModal :is-open=\"showDateRangeModal\"\n\t\t\tclass=\"unified-search__date-range\"\n\t\t\t@set:custom-date-range=\"setCustomDateRange\"\n\t\t\t@update:is-open=\"showDateRangeModal = $event\" />\n\t\t<!-- Unified search form -->\n\t\t<div ref=\"unifiedSearch\" class=\"unified-search-modal\">\n\t\t\t<h1>{{ t('core', 'Unified search') }}</h1>\n\t\t\t<NcInputField ref=\"searchInput\"\n\t\t\t\t:value.sync=\"searchQuery\"\n\t\t\t\ttype=\"text\"\n\t\t\t\t:label=\"t('core', 'Search apps, files, tags, messages') + '...'\"\n\t\t\t\t@update:value=\"debouncedFind\" />\n\t\t\t<div class=\"unified-search-modal__filters\">\n\t\t\t\t<NcActions :menu-name=\"t('core', 'Apps and Settings')\" :open.sync=\"providerActionMenuIsOpen\">\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<ListBox :size=\"20\" />\n\t\t\t\t\t</template>\n\t\t\t\t\t<NcActionButton v-for=\"provider in providers\" :key=\"provider.id\" @click=\"addProviderFilter(provider)\">\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<img :src=\"provider.icon\">\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t{{ t('core', provider.name) }}\n\t\t\t\t\t</NcActionButton>\n\t\t\t\t</NcActions>\n\t\t\t\t<NcActions :menu-name=\"t('core', 'Date')\" :open.sync=\"dateActionMenuIsOpen\">\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<CalendarRangeIcon :size=\"20\" />\n\t\t\t\t\t</template>\n\t\t\t\t\t<NcActionButton :close-after-click=\"true\" @click=\"applyQuickDateRange('today')\">\n\t\t\t\t\t\t{{ t('core', 'Today') }}\n\t\t\t\t\t</NcActionButton>\n\t\t\t\t\t<NcActionButton :close-after-click=\"true\" @click=\"applyQuickDateRange('7days')\">\n\t\t\t\t\t\t{{ t('core', 'Last 7 days') }}\n\t\t\t\t\t</NcActionButton>\n\t\t\t\t\t<NcActionButton :close-after-click=\"true\" @click=\"applyQuickDateRange('30days')\">\n\t\t\t\t\t\t{{ t('core', 'Last 30 days') }}\n\t\t\t\t\t</NcActionButton>\n\t\t\t\t\t<NcActionButton :close-after-click=\"true\" @click=\"applyQuickDateRange('thisyear')\">\n\t\t\t\t\t\t{{ t('core', 'This year') }}\n\t\t\t\t\t</NcActionButton>\n\t\t\t\t\t<NcActionButton :close-after-click=\"true\" @click=\"applyQuickDateRange('lastyear')\">\n\t\t\t\t\t\t{{ t('core', 'Last year') }}\n\t\t\t\t\t</NcActionButton>\n\t\t\t\t\t<NcActionButton :close-after-click=\"true\" @click=\"applyQuickDateRange('custom')\">\n\t\t\t\t\t\t{{ t('core', 'Custom date range') }}\n\t\t\t\t\t</NcActionButton>\n\t\t\t\t</NcActions>\n\t\t\t\t<SearchableList :label-text=\"t('core', 'Search people')\"\n\t\t\t\t\t:search-list=\"userContacts\"\n\t\t\t\t\t:empty-content-text=\"t('core', 'Not found')\"\n\t\t\t\t\t@search-term-change=\"debouncedFilterContacts\"\n\t\t\t\t\t@item-selected=\"applyPersonFilter\">\n\t\t\t\t\t<template #trigger>\n\t\t\t\t\t\t<NcButton>\n\t\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t\t<AccountGroup :size=\"20\" />\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t{{ t('core', 'People') }}\n\t\t\t\t\t\t</NcButton>\n\t\t\t\t\t</template>\n\t\t\t\t</SearchableList>\n\t\t\t</div>\n\t\t\t<div class=\"unified-search-modal__filters-applied\">\n\t\t\t\t<FilterChip v-for=\"filter in filters\"\n\t\t\t\t\t:key=\"filter.id\"\n\t\t\t\t\t:text=\"filter.name ?? filter.text\"\n\t\t\t\t\t:pretext=\"''\"\n\t\t\t\t\t@delete=\"removeFilter(filter)\">\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<NcAvatar v-if=\"filter.type === 'person'\"\n\t\t\t\t\t\t\t:user=\"filter.user\"\n\t\t\t\t\t\t\t:size=\"24\"\n\t\t\t\t\t\t\t:disable-menu=\"true\"\n\t\t\t\t\t\t\t:show-user-status=\"false\"\n\t\t\t\t\t\t\t:hide-favorite=\"false\" />\n\t\t\t\t\t\t<CalendarRangeIcon v-else-if=\"filter.type === 'date'\" />\n\t\t\t\t\t\t<img v-else :src=\"filter.icon\" alt=\"\">\n\t\t\t\t\t</template>\n\t\t\t\t</FilterChip>\n\t\t\t</div>\n\t\t\t<div v-if=\"noContentInfo.show\" class=\"unified-search-modal__no-content\">\n\t\t\t\t<NcEmptyContent :name=\"noContentInfo.text\">\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<component :is=\"noContentInfo.icon\" />\n\t\t\t\t\t</template>\n\t\t\t\t</NcEmptyContent>\n\t\t\t</div>\n\t\t\t<div v-for=\"providerResult in results\" :key=\"providerResult.id\" class=\"unified-search-modal__results\">\n\t\t\t\t<div class=\"results\">\n\t\t\t\t\t<div class=\"result-title\">\n\t\t\t\t\t\t<span>{{ providerResult.provider }}</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t<ul class=\"result-items\">\n\t\t\t\t\t\t<SearchResult v-for=\"(result, index) in providerResult.results\" :key=\"index\" v-bind=\"result\" />\n\t\t\t\t\t</ul>\n\t\t\t\t\t<div class=\"result-footer\">\n\t\t\t\t\t\t<NcButton type=\"tertiary-no-background\" @click=\"loadMoreResultsForProvider(providerResult.id)\">\n\t\t\t\t\t\t\t{{ t('core', 'Load more results') }}\n\t\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t\t<DotsHorizontalIcon :size=\"20\" />\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t</NcButton>\n\t\t\t\t\t\t<NcButton v-if=\"providerResult.inAppSearch\" alignment=\"end-reverse\" type=\"tertiary-no-background\">\n\t\t\t\t\t\t\t{{ t('core', 'Search in') }} {{ providerResult.provider }}\n\t\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t\t<ArrowRight :size=\"20\" />\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t</NcButton>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div v-if=\"supportFiltering()\" class=\"unified-search-modal__results\">\n\t\t\t\t<NcButton @click=\"closeModal\">\n\t\t\t\t\t{{ t('core', 'Filter in current view') }}\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<FilterIcon :size=\"20\" />\n\t\t\t\t\t</template>\n\t\t\t\t</NcButton>\n\t\t\t</div>\n\t\t</div>\n\t</NcModal>\n</template>\n\n<script>\nimport ArrowRight from 'vue-material-design-icons/ArrowRight.vue'\nimport AccountGroup from 'vue-material-design-icons/AccountGroup.vue'\nimport CalendarRangeIcon from 'vue-material-design-icons/CalendarRange.vue'\nimport CustomDateRangeModal from '../components/UnifiedSearch/CustomDateRangeModal.vue'\nimport DotsHorizontalIcon from 'vue-material-design-icons/DotsHorizontal.vue'\nimport FilterIcon from 'vue-material-design-icons/Filter.vue'\nimport FilterChip from '../components/UnifiedSearch/SearchFilterChip.vue'\nimport ListBox from 'vue-material-design-icons/ListBox.vue'\nimport NcActions from '@nextcloud/vue/dist/Components/NcActions.js'\nimport NcActionButton from '@nextcloud/vue/dist/Components/NcActionButton.js'\nimport NcAvatar from '@nextcloud/vue/dist/Components/NcAvatar.js'\nimport NcButton from '@nextcloud/vue/dist/Components/NcButton.js'\nimport NcEmptyContent from '@nextcloud/vue/dist/Components/NcEmptyContent.js'\nimport NcInputField from '@nextcloud/vue/dist/Components/NcInputField.js'\nimport NcModal from '@nextcloud/vue/dist/Components/NcModal.js'\nimport MagnifyIcon from 'vue-material-design-icons/Magnify.vue'\nimport SearchableList from '../components/UnifiedSearch/SearchableList.vue'\nimport SearchResult from '../components/UnifiedSearch/SearchResult.vue'\n\nimport debounce from 'debounce'\nimport { emit } from '@nextcloud/event-bus'\nimport { getProviders, search as unifiedSearch, getContacts } from '../services/UnifiedSearchService.js'\n\nexport default {\n\tname: 'UnifiedSearchModal',\n\tcomponents: {\n\t\tArrowRight,\n\t\tAccountGroup,\n\t\tCalendarRangeIcon,\n\t\tCustomDateRangeModal,\n\t\tDotsHorizontalIcon,\n\t\tFilterIcon,\n\t\tFilterChip,\n\t\tListBox,\n\t\tNcActions,\n\t\tNcActionButton,\n\t\tNcAvatar,\n\t\tNcButton,\n\t\tNcEmptyContent,\n\t\tNcModal,\n\t\tNcInputField,\n\t\tMagnifyIcon,\n\t\tSearchableList,\n\t\tSearchResult,\n\t},\n\tprops: {\n\t\tisVisible: {\n\t\t\ttype: Boolean,\n\t\t\trequired: true,\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tproviders: [],\n\t\t\tproviderActionMenuIsOpen: false,\n\t\t\tdateActionMenuIsOpen: false,\n\t\t\tproviderResultLimit: 5,\n\t\t\tdateFilter: { id: 'date', type: 'date', text: '', startFrom: null, endAt: null },\n\t\t\tpersonFilter: { id: 'person', type: 'person', name: '' },\n\t\t\tdateFilterIsApplied: false,\n\t\t\tpersonFilterIsApplied: false,\n\t\t\tfilteredProviders: [],\n\t\t\tsearching: false,\n\t\t\tsearchQuery: '',\n\t\t\tplacessearchTerm: '',\n\t\t\tdateTimeFilter: null,\n\t\t\tfilters: [],\n\t\t\tresults: [],\n\t\t\tcontacts: [],\n\t\t\tdebouncedFind: debounce(this.find, 300),\n\t\t\tdebouncedFilterContacts: debounce(this.filterContacts, 300),\n\t\t\tshowDateRangeModal: false,\n\t\t\tinternalIsVisible: false,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tuserContacts: {\n\t\t\tget() {\n\t\t\t\treturn this.contacts\n\t\t\t},\n\t\t},\n\t\tnoContentInfo: {\n\t\t\tget() {\n\t\t\t\tconst isEmptySearch = this.searchQuery.length === 0\n\t\t\t\tconst hasNoResults = this.searchQuery.length > 0 && this.results.length === 0\n\n\t\t\t\treturn {\n\t\t\t\t\tshow: isEmptySearch || hasNoResults,\n\t\t\t\t\ttext: this.searching && hasNoResults ? t('core', 'Searching …') : (isEmptySearch ? t('core', 'Start typing to search') : t('core', 'No matching results')),\n\t\t\t\t\ticon: MagnifyIcon,\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t},\n\twatch: {\n\t\tisVisible(value) {\n\t\t\tthis.internalIsVisible = value\n\t\t},\n\t\tinternalIsVisible(value) {\n\t\t\tthis.$emit('update:isVisible', value)\n\t\t\tthis.$nextTick(() => {\n\t\t\t\tif (value) {\n\t\t\t\t\tthis.focusInput()\n\t\t\t\t}\n\t\t\t})\n\t\t},\n\n\t},\n\tmounted() {\n\t\tgetProviders().then((providers) => {\n\t\t\tthis.providers = providers\n\t\t\tconsole.debug('Search providers', this.providers)\n\t\t})\n\t\tgetContacts({ searchTerm: '' }).then((contacts) => {\n\t\t\tthis.contacts = this.mapContacts(contacts)\n\t\t\tconsole.debug('Contacts', this.contacts)\n\t\t})\n\t},\n\tmethods: {\n\t\tfind(query) {\n\t\t\tthis.searching = true\n\t\t\tif (query.length === 0) {\n\t\t\t\tthis.results = []\n\t\t\t\tthis.searching = false\n\t\t\t\treturn\n\t\t\t}\n\t\t\t// Event should probably be refactored at some point to used nextcloud:unified-search.search\n\t\t\temit('nextcloud:unified-search.search', { query })\n\t\t\tconst newResults = []\n\t\t\tconst providersToSearch = this.filteredProviders.length > 0 ? this.filteredProviders : this.providers\n\t\t\tconst searchProvider = (provider, filters) => {\n\t\t\t\tconst params = {\n\t\t\t\t\ttype: provider.id,\n\t\t\t\t\tquery,\n\t\t\t\t\tcursor: null,\n\t\t\t\t}\n\n\t\t\t\tif (filters.dateFilterIsApplied) {\n\t\t\t\t\tif (provider.filters.since && provider.filters.until) {\n\t\t\t\t\t\tparams.since = this.dateFilter.startFrom\n\t\t\t\t\t\tparams.until = this.dateFilter.endAt\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Date filter is applied but provider does not support it, no need to search provider\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (filters.personFilterIsApplied) {\n\t\t\t\t\tif (provider.filters.person) {\n\t\t\t\t\t\tparams.person = this.personFilter.user\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Person filter is applied but provider does not support it, no need to search provider\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (this.providerResultLimit > 5) {\n\t\t\t\t\tparams.limit = this.providerResultLimit\n\t\t\t\t}\n\n\t\t\t\tconst request = unifiedSearch(params).request\n\n\t\t\t\trequest().then((response) => {\n\t\t\t\t\tnewResults.push({\n\t\t\t\t\t\tid: provider.id,\n\t\t\t\t\t\tprovider: provider.name,\n\t\t\t\t\t\tinAppSearch: provider.inAppSearch,\n\t\t\t\t\t\tresults: response.data.ocs.data.entries,\n\t\t\t\t\t})\n\n\t\t\t\t\tconsole.debug('New results', newResults)\n\t\t\t\t\tconsole.debug('Unified search results:', this.results)\n\n\t\t\t\t\tthis.updateResults(newResults)\n\t\t\t\t\tthis.searching = false\n\t\t\t\t})\n\t\t\t}\n\t\t\tprovidersToSearch.forEach(provider => {\n\t\t\t\tconst dateFilterIsApplied = this.dateFilterIsApplied\n\t\t\t\tconst personFilterIsApplied = this.personFilterIsApplied\n\t\t\t\tsearchProvider(provider, { dateFilterIsApplied, personFilterIsApplied })\n\t\t\t})\n\n\t\t},\n\t\tupdateResults(newResults) {\n\t\t\tlet updatedResults = [...this.results]\n\t\t\t// If filters are applied, remove any previous results for providers that are not in current filters\n\t\t\tif (this.filters.length > 0) {\n\t\t\t\tupdatedResults = updatedResults.filter(result => {\n\t\t\t\t\treturn this.filters.some(filter => filter.id === result.id)\n\t\t\t\t})\n\t\t\t}\n\t\t\t// Process the new results\n\t\t\tnewResults.forEach(newResult => {\n\t\t\t\tconst existingResultIndex = updatedResults.findIndex(result => result.id === newResult.id)\n\t\t\t\tif (existingResultIndex !== -1) {\n\t\t\t\t\tif (newResult.results.length === 0) {\n\t\t\t\t\t\t// If the new results data has no matches for and existing result, remove the existing result\n\t\t\t\t\t\tupdatedResults.splice(existingResultIndex, 1)\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// If input triggered a change in existing results, update existing result\n\t\t\t\t\t\tupdatedResults.splice(existingResultIndex, 1, newResult)\n\t\t\t\t\t}\n\t\t\t\t} else if (newResult.results.length > 0) {\n\t\t\t\t\t// Push the new result to the array only if its results array is not empty\n\t\t\t\t\tupdatedResults.push(newResult)\n\t\t\t\t}\n\t\t\t})\n\t\t\tconst sortedResults = updatedResults.slice(0)\n\t\t\t// Order results according to provider preference\n\t\t\tsortedResults.sort((a, b) => {\n\t\t\t\tconst aProvider = this.providers.find(provider => provider.id === a.id)\n\t\t\t\tconst bProvider = this.providers.find(provider => provider.id === b.id)\n\t\t\t\tconst aOrder = aProvider ? aProvider.order : 0\n\t\t\t\tconst bOrder = bProvider ? bProvider.order : 0\n\t\t\t\treturn aOrder - bOrder\n\t\t\t})\n\t\t\tthis.results = sortedResults\n\t\t},\n\t\tmapContacts(contacts) {\n\t\t\treturn contacts.map(contact => {\n\t\t\t\treturn {\n\t\t\t\t\t// id: contact.id,\n\t\t\t\t\t// name: '',\n\t\t\t\t\tdisplayName: contact.fullName,\n\t\t\t\t\tisNoUser: false,\n\t\t\t\t\tsubname: contact.emailAddresses[0] ? contact.emailAddresses[0] : '',\n\t\t\t\t\ticon: '',\n\t\t\t\t\tuser: contact.id,\n\t\t\t\t}\n\t\t\t})\n\t\t},\n\t\tfilterContacts(query) {\n\t\t\tgetContacts({ searchTerm: query }).then((contacts) => {\n\t\t\t\tthis.contacts = this.mapContacts(contacts)\n\t\t\t\tconsole.debug(`Contacts filtered by ${query}`, this.contacts)\n\t\t\t})\n\t\t},\n\t\tapplyPersonFilter(person) {\n\t\t\tthis.personFilterIsApplied = true\n\t\t\tconst existingPersonFilter = this.filters.findIndex(filter => filter.id === person.id)\n\t\t\tif (existingPersonFilter === -1) {\n\t\t\t\tthis.personFilter.id = person.id\n\t\t\t\tthis.personFilter.user = person.user\n\t\t\t\tthis.personFilter.name = person.displayName\n\t\t\t\tthis.filters.push(this.personFilter)\n\t\t\t} else {\n\t\t\t\tthis.filters[existingPersonFilter].id = person.id\n\t\t\t\tthis.filters[existingPersonFilter].user = person.user\n\t\t\t\tthis.filters[existingPersonFilter].name = person.displayName\n\t\t\t}\n\n\t\t\tthis.debouncedFind(this.searchQuery)\n\t\t\tconsole.debug('Person filter applied', person)\n\t\t},\n\t\tloadMoreResultsForProvider(providerId) {\n\t\t\tthis.providerResultLimit += 5\n\t\t\tthis.filters = this.filters.filter(filter => filter.type !== 'provider')\n\t\t\tconst provider = this.providers.find(provider => provider.id === providerId)\n\t\t\tthis.addProviderFilter(provider, true)\n\t\t},\n\t\taddProviderFilter(providerFilter, loadMoreResultsForProvider = false) {\n\t\t\tif (!providerFilter.id) return\n\t\t\tthis.providerResultLimit = loadMoreResultsForProvider ? this.providerResultLimit : 5\n\t\t\tthis.providerActionMenuIsOpen = false\n\t\t\tconst existingFilter = this.filteredProviders.find(existing => existing.id === providerFilter.id)\n\t\t\tif (!existingFilter) {\n\t\t\t\tthis.filteredProviders.push({ id: providerFilter.id, name: providerFilter.name, icon: providerFilter.icon, type: 'provider', filters: providerFilter.filters })\n\t\t\t}\n\t\t\tthis.filters = this.syncProviderFilters(this.filters, this.filteredProviders)\n\t\t\tconsole.debug('Search filters (newly added)', this.filters)\n\t\t\tthis.debouncedFind(this.searchQuery)\n\t\t},\n\t\tremoveFilter(filter) {\n\t\t\tif (filter.type === 'provider') {\n\t\t\t\tfor (let i = 0; i < this.filteredProviders.length; i++) {\n\t\t\t\t\tif (this.filteredProviders[i].id === filter.id) {\n\t\t\t\t\t\tthis.filteredProviders.splice(i, 1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis.filters = this.syncProviderFilters(this.filters, this.filteredProviders)\n\t\t\t\tconsole.debug('Search filters (recently removed)', this.filters)\n\n\t\t\t} else {\n\t\t\t\tfor (let i = 0; i < this.filters.length; i++) {\n\t\t\t\t\t// Remove date and person filter\n\t\t\t\t\tif (this.filters[i].id === 'date' || this.filters[i].id === filter.id) {\n\t\t\t\t\t\tthis.dateFilterIsApplied = false\n\t\t\t\t\t\tthis.filters.splice(i, 1)\n\t\t\t\t\t\tif (filter.type === 'person') {\n\t\t\t\t\t\t\tthis.personFilterIsApplied = false\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.debouncedFind(this.searchQuery)\n\t\t},\n\t\tsyncProviderFilters(firstArray, secondArray) {\n\t\t\t// Create a copy of the first array to avoid modifying it directly.\n\t\t\tconst synchronizedArray = firstArray.slice()\n\t\t\t// Remove items from the synchronizedArray that are not in the secondArray.\n\t\t\tsynchronizedArray.forEach((item, index) => {\n\t\t\t\tconst itemId = item.id\n\t\t\t\tif (item.type === 'provider') {\n\t\t\t\t\tif (!secondArray.some(secondItem => secondItem.id === itemId)) {\n\t\t\t\t\t\tsynchronizedArray.splice(index, 1)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\t\t\t// Add items to the synchronizedArray that are in the secondArray but not in the firstArray.\n\t\t\tsecondArray.forEach(secondItem => {\n\t\t\t\tconst itemId = secondItem.id\n\t\t\t\tif (secondItem.type === 'provider') {\n\t\t\t\t\tif (!synchronizedArray.some(item => item.id === itemId)) {\n\t\t\t\t\t\tsynchronizedArray.push(secondItem)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\n\t\t\treturn synchronizedArray\n\t\t},\n\t\tupdateDateFilter() {\n\t\t\tconst currFilterIndex = this.filters.findIndex(filter => filter.id === 'date')\n\t\t\tif (currFilterIndex !== -1) {\n\t\t\t\tthis.filters[currFilterIndex] = this.dateFilter\n\t\t\t} else {\n\t\t\t\tthis.filters.push(this.dateFilter)\n\t\t\t}\n\t\t\tthis.dateFilterIsApplied = true\n\t\t\tthis.debouncedFind(this.searchQuery)\n\t\t},\n\t\tapplyQuickDateRange(range) {\n\t\t\tthis.dateActionMenuIsOpen = false\n\t\t\tconst today = new Date()\n\t\t\tlet startDate\n\t\t\tlet endDate\n\n\t\t\tswitch (range) {\n\t\t\tcase 'today':\n\t\t\t\t// For 'Today', both start and end are set to today\n\t\t\t\tstartDate = new Date(today.getFullYear(), today.getMonth(), today.getDate(), 0, 0, 0, 0)\n\t\t\t\tendDate = new Date(today.getFullYear(), today.getMonth(), today.getDate(), 23, 59, 59, 999)\n\t\t\t\tthis.dateFilter.text = t('core', 'Today')\n\t\t\t\tbreak\n\t\t\tcase '7days':\n\t\t\t\t// For 'Last 7 days', start date is 7 days ago, end is today\n\t\t\t\tstartDate = new Date(today.getFullYear(), today.getMonth(), today.getDate() - 6, 0, 0, 0, 0)\n\t\t\t\tthis.dateFilter.text = t('core', 'Last 7 days')\n\t\t\t\tbreak\n\t\t\tcase '30days':\n\t\t\t\t// For 'Last 30 days', start date is 30 days ago, end is today\n\t\t\t\tstartDate = new Date(today.getFullYear(), today.getMonth(), today.getDate() - 29, 0, 0, 0, 0)\n\t\t\t\tthis.dateFilter.text = t('core', 'Last 30 days')\n\t\t\t\tbreak\n\t\t\tcase 'thisyear':\n\t\t\t\t// For 'This year', start date is the first day of the year, end is the last day of the year\n\t\t\t\tstartDate = new Date(today.getFullYear(), 0, 1, 0, 0, 0, 0)\n\t\t\t\tendDate = new Date(today.getFullYear(), 11, 31, 23, 59, 59, 999)\n\t\t\t\tthis.dateFilter.text = t('core', 'This year')\n\t\t\t\tbreak\n\t\t\tcase 'lastyear':\n\t\t\t\t// For 'Last year', start date is the first day of the previous year, end is the last day of the previous year\n\t\t\t\tstartDate = new Date(today.getFullYear() - 1, 0, 1, 0, 0, 0, 0)\n\t\t\t\tendDate = new Date(today.getFullYear() - 1, 11, 31, 23, 59, 59, 999)\n\t\t\t\tthis.dateFilter.text = t('core', 'Last year')\n\t\t\t\tbreak\n\t\t\tcase 'custom':\n\t\t\t\tthis.showDateRangeModal = true\n\t\t\t\treturn\n\t\t\tdefault:\n\t\t\t\treturn\n\t\t\t}\n\t\t\tthis.dateFilter.startFrom = startDate\n\t\t\tthis.dateFilter.endAt = endDate\n\t\t\tthis.updateDateFilter()\n\n\t\t},\n\t\tsetCustomDateRange(event) {\n\t\t\tconsole.debug('Custom date range', event)\n\t\t\tthis.dateFilter.startFrom = event.startFrom\n\t\t\tthis.dateFilter.endAt = event.endAt\n\t\t\tthis.dateFilter.text = t('core', `Between ${this.dateFilter.startFrom.toLocaleDateString()} and ${this.dateFilter.endAt.toLocaleDateString()}`)\n\t\t\tthis.updateDateFilter()\n\t\t},\n\t\tfocusInput() {\n\t\t\tthis.$refs.searchInput.$el.children[0].children[0].focus()\n\t\t},\n\t\tcloseModal() {\n\t\t\tthis.internalIsVisible = false\n\t\t\tthis.searchQuery = ''\n\t\t},\n\t\tsupportFiltering() {\n\t\t\t/* Hard coded apps for the moment this would be improved in coming updates. */\n\t\t\tconst providerPaths = ['/settings/users', '/apps/files', '/apps/deck']\n\t\t\tconst currentPath = window.location.pathname.replace('/index.php', '')\n\t\t\tconst containsProvider = providerPaths.some(path => currentPath.includes(path))\n\t\t\treturn containsProvider\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.unified-search-modal {\n\tpadding: 10px 20px 10px 20px;\n\theight: 60%;\n\n\t&__heading {\n\t\tfont-size: 16px;\n\t\tfont-weight: bolder;\n\t\tline-height: 2em;\n\t\tmargin-bottom: 0;\n\t}\n\n\t&__filters {\n\t\tdisplay: flex;\n\t\tpadding-top: 4px;\n\t\tjustify-content: left;\n\n\t\t>* {\n\t\t\tmargin-right: 4px;\n\n\t\t}\n\n\t}\n\n\t&__filters-applied {\n\t\tpadding-top: 4px;\n\t\tdisplay: flex;\n\t\tflex-wrap: wrap;\n\t}\n\n\t&__no-content {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\theight: 100%;\n\t}\n\n\t&__results {\n\t\tpadding: 10px;\n\n\t\t.results {\n\n\t\t\t.result-title {\n\t\t\t\tspan {\n\t\t\t\t\tcolor: var(--color-primary-element);\n\t\t\t\t\tfont-weight: bolder;\n\t\t\t\t\tfont-size: 16px;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t.result-footer {\n\t\t\t\tjustify-content: space-between;\n\t\t\t\talign-items: center;\n\t\t\t\tdisplay: flex;\n\t\t\t}\n\t\t}\n\n\t}\n}\n\ndiv.v-popper__wrapper {\n\tul {\n\t\tli {\n\t\t\t::v-deep button.action-button {\n\t\t\t\talign-items: center !important;\n\n\t\t\t\timg {\n\t\t\t\t\twidth: 20px;\n\t\t\t\t\tmargin: 0 4px;\n\t\t\t\t\tfilter: var(--background-invert-if-bright);\n\t\t\t\t}\n\n\t\t\t}\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!./UnifiedSearchModal.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!./UnifiedSearchModal.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/sass-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UnifiedSearchModal.vue?vue&type=style&index=0&id=91bd0074&prod&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/sass-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UnifiedSearchModal.vue?vue&type=style&index=0&id=91bd0074&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./UnifiedSearchModal.vue?vue&type=template&id=91bd0074&scoped=true\"\nimport script from \"./UnifiedSearchModal.vue?vue&type=script&lang=js\"\nexport * from \"./UnifiedSearchModal.vue?vue&type=script&lang=js\"\nimport style0 from \"./UnifiedSearchModal.vue?vue&type=style&index=0&id=91bd0074&prod&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 \"91bd0074\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('NcModal',{ref:\"unifiedSearchModal\",attrs:{\"id\":\"unified-search\",\"name\":_vm.t('core', 'Unified search'),\"show\":_vm.internalIsVisible,\"clear-view-delay\":0},on:{\"update:show\":function($event){_vm.internalIsVisible=$event},\"close\":_vm.closeModal}},[_c('CustomDateRangeModal',{staticClass:\"unified-search__date-range\",attrs:{\"is-open\":_vm.showDateRangeModal},on:{\"set:custom-date-range\":_vm.setCustomDateRange,\"update:is-open\":function($event){_vm.showDateRangeModal = $event}}}),_vm._v(\" \"),_c('div',{ref:\"unifiedSearch\",staticClass:\"unified-search-modal\"},[_c('h1',[_vm._v(_vm._s(_vm.t('core', 'Unified search')))]),_vm._v(\" \"),_c('NcInputField',{ref:\"searchInput\",attrs:{\"value\":_vm.searchQuery,\"type\":\"text\",\"label\":_vm.t('core', 'Search apps, files, tags, messages') + '...'},on:{\"update:value\":[function($event){_vm.searchQuery=$event},_vm.debouncedFind]}}),_vm._v(\" \"),_c('div',{staticClass:\"unified-search-modal__filters\"},[_c('NcActions',{attrs:{\"menu-name\":_vm.t('core', 'Apps and Settings'),\"open\":_vm.providerActionMenuIsOpen},on:{\"update:open\":function($event){_vm.providerActionMenuIsOpen=$event}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('ListBox',{attrs:{\"size\":20}})]},proxy:true}])},[_vm._v(\" \"),_vm._l((_vm.providers),function(provider){return _c('NcActionButton',{key:provider.id,on:{\"click\":function($event){return _vm.addProviderFilter(provider)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('img',{attrs:{\"src\":provider.icon}})]},proxy:true}],null,true)},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('core', provider.name))+\"\\n\\t\\t\\t\\t\")])})],2),_vm._v(\" \"),_c('NcActions',{attrs:{\"menu-name\":_vm.t('core', 'Date'),\"open\":_vm.dateActionMenuIsOpen},on:{\"update:open\":function($event){_vm.dateActionMenuIsOpen=$event}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('CalendarRangeIcon',{attrs:{\"size\":20}})]},proxy:true}])},[_vm._v(\" \"),_c('NcActionButton',{attrs:{\"close-after-click\":true},on:{\"click\":function($event){return _vm.applyQuickDateRange('today')}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('core', 'Today'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('NcActionButton',{attrs:{\"close-after-click\":true},on:{\"click\":function($event){return _vm.applyQuickDateRange('7days')}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('core', 'Last 7 days'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('NcActionButton',{attrs:{\"close-after-click\":true},on:{\"click\":function($event){return _vm.applyQuickDateRange('30days')}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('core', 'Last 30 days'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('NcActionButton',{attrs:{\"close-after-click\":true},on:{\"click\":function($event){return _vm.applyQuickDateRange('thisyear')}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('core', 'This year'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('NcActionButton',{attrs:{\"close-after-click\":true},on:{\"click\":function($event){return _vm.applyQuickDateRange('lastyear')}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('core', 'Last year'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('NcActionButton',{attrs:{\"close-after-click\":true},on:{\"click\":function($event){return _vm.applyQuickDateRange('custom')}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('core', 'Custom date range'))+\"\\n\\t\\t\\t\\t\")])],1),_vm._v(\" \"),_c('SearchableList',{attrs:{\"label-text\":_vm.t('core', 'Search people'),\"search-list\":_vm.userContacts,\"empty-content-text\":_vm.t('core', 'Not found')},on:{\"search-term-change\":_vm.debouncedFilterContacts,\"item-selected\":_vm.applyPersonFilter},scopedSlots:_vm._u([{key:\"trigger\",fn:function(){return [_c('NcButton',{scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('AccountGroup',{attrs:{\"size\":20}})]},proxy:true}])},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('core', 'People'))+\"\\n\\t\\t\\t\\t\\t\")])]},proxy:true}])})],1),_vm._v(\" \"),_c('div',{staticClass:\"unified-search-modal__filters-applied\"},_vm._l((_vm.filters),function(filter){return _c('FilterChip',{key:filter.id,attrs:{\"text\":filter.name ?? filter.text,\"pretext\":''},on:{\"delete\":function($event){return _vm.removeFilter(filter)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(filter.type === 'person')?_c('NcAvatar',{attrs:{\"user\":filter.user,\"size\":24,\"disable-menu\":true,\"show-user-status\":false,\"hide-favorite\":false}}):(filter.type === 'date')?_c('CalendarRangeIcon'):_c('img',{attrs:{\"src\":filter.icon,\"alt\":\"\"}})]},proxy:true}],null,true)})}),1),_vm._v(\" \"),(_vm.noContentInfo.show)?_c('div',{staticClass:\"unified-search-modal__no-content\"},[_c('NcEmptyContent',{attrs:{\"name\":_vm.noContentInfo.text},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_vm.noContentInfo.icon,{tag:\"component\"})]},proxy:true}],null,false,604901229)})],1):_vm._e(),_vm._v(\" \"),_vm._l((_vm.results),function(providerResult){return _c('div',{key:providerResult.id,staticClass:\"unified-search-modal__results\"},[_c('div',{staticClass:\"results\"},[_c('div',{staticClass:\"result-title\"},[_c('span',[_vm._v(_vm._s(providerResult.provider))])]),_vm._v(\" \"),_c('ul',{staticClass:\"result-items\"},_vm._l((providerResult.results),function(result,index){return _c('SearchResult',_vm._b({key:index},'SearchResult',result,false))}),1),_vm._v(\" \"),_c('div',{staticClass:\"result-footer\"},[_c('NcButton',{attrs:{\"type\":\"tertiary-no-background\"},on:{\"click\":function($event){return _vm.loadMoreResultsForProvider(providerResult.id)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('DotsHorizontalIcon',{attrs:{\"size\":20}})]},proxy:true}],null,true)},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('core', 'Load more results'))+\"\\n\\t\\t\\t\\t\\t\\t\")]),_vm._v(\" \"),(providerResult.inAppSearch)?_c('NcButton',{attrs:{\"alignment\":\"end-reverse\",\"type\":\"tertiary-no-background\"},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('ArrowRight',{attrs:{\"size\":20}})]},proxy:true}],null,true)},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('core', 'Search in'))+\" \"+_vm._s(providerResult.provider)+\"\\n\\t\\t\\t\\t\\t\\t\")]):_vm._e()],1)])])}),_vm._v(\" \"),(_vm.supportFiltering())?_c('div',{staticClass:\"unified-search-modal__results\"},[_c('NcButton',{on:{\"click\":_vm.closeModal},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('FilterIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,2021673347)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('core', 'Filter in current view'))+\"\\n\\t\\t\\t\\t\")])],1):_vm._e()],2)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }"," <!--\n - @copyright Copyright (c) 2020 Fon E. Noel NFEBE <fenn25.fn@gmail.com>\n -\n - @author Fon E. Noel NFEBE <fenn25.fn@gmail.com>\n -\n - @license GNU AGPL version 3 or any later version\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=\"header-menu\">\n\t\t<NcButton class=\"unified-search__button\" :aria-label=\"t('core', 'Unified search')\" @click=\"toggleUnifiedSearch\">\n\t\t\t<template #icon>\n\t\t\t\t<Magnify class=\"unified-search__trigger\" :size=\"22\" />\n\t\t\t</template>\n\t\t</NcButton>\n\t\t<UnifiedSearchModal :class=\"'unified-search-modal'\" :is-visible=\"showUnifiedSearch\" @update:isVisible=\"handleModalVisibilityChange\" />\n\t</div>\n</template>\n\n<script>\nimport NcButton from '@nextcloud/vue/dist/Components/NcButton.js'\nimport Magnify from 'vue-material-design-icons/Magnify.vue'\nimport UnifiedSearchModal from './UnifiedSearchModal.vue'\n\nexport default {\n\tname: 'UnifiedSearch',\n\tcomponents: {\n\t\tNcButton,\n\t\tMagnify,\n\t\tUnifiedSearchModal,\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tshowUnifiedSearch: false,\n\t\t}\n\t},\n\tmounted() {\n\t\tconsole.debug('Unified search initialized!')\n\t},\n\tmethods: {\n\t\ttoggleUnifiedSearch() {\n\t\t\tthis.showUnifiedSearch = !this.showUnifiedSearch\n\t\t},\n\t\thandleModalVisibilityChange(newVisibilityVal) {\n\t\t\tthis.showUnifiedSearch = newVisibilityVal\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.header-menu {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\n\t.unified-search__button {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\twidth: var(--header-height);\n\t\t// height: var(--header-height);\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t\tcursor: pointer;\n\t\topacity: .85;\n\t\tbackground-color: transparent;\n\t\tborder: none;\n\t\tfilter: none !important;\n\t\tcolor: var(--color-primary-text) !important;\n\n\t\t&:hover {\n\t\t\tbackground-color: transparent !important;\n\t\t}\n\t}\n}\n\n.unified-search-modal {\n\t::v-deep .modal-container {\n\t\theight: 80%;\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!./UnifiedSearch.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!./UnifiedSearch.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/sass-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UnifiedSearch.vue?vue&type=style&index=0&id=3883344d&prod&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/sass-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UnifiedSearch.vue?vue&type=style&index=0&id=3883344d&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./UnifiedSearch.vue?vue&type=template&id=3883344d&scoped=true\"\nimport script from \"./UnifiedSearch.vue?vue&type=script&lang=js\"\nexport * from \"./UnifiedSearch.vue?vue&type=script&lang=js\"\nimport style0 from \"./UnifiedSearch.vue?vue&type=style&index=0&id=3883344d&prod&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 \"3883344d\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"header-menu\"},[_c('NcButton',{staticClass:\"unified-search__button\",attrs:{\"aria-label\":_vm.t('core', 'Unified search')},on:{\"click\":_vm.toggleUnifiedSearch},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Magnify',{staticClass:\"unified-search__trigger\",attrs:{\"size\":22}})]},proxy:true}])}),_vm._v(\" \"),_c('UnifiedSearchModal',{class:'unified-search-modal',attrs:{\"is-visible\":_vm.showUnifiedSearch},on:{\"update:isVisible\":_vm.handleModalVisibilityChange}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2020 Fon E. Noel NFEBE <fenn25.fn@gmail.com>\n *\n * @author Fon E. Noel NFEBE <fenn25.fn@gmail.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\nimport { getLoggerBuilder } from '@nextcloud/logger'\nimport { getRequestToken } from '@nextcloud/auth'\nimport { translate as t, translatePlural as n } from '@nextcloud/l10n'\nimport Vue from 'vue'\n\nimport UnifiedSearch from './views/UnifiedSearch.vue'\n\n// eslint-disable-next-line camelcase\n__webpack_nonce__ = btoa(getRequestToken())\n\nconst logger = getLoggerBuilder()\n\t.setApp('unified-search')\n\t.detectUser()\n\t.build()\n\nVue.mixin({\n\tdata() {\n\t\treturn {\n\t\t\tlogger,\n\t\t}\n\t},\n\tmethods: {\n\t\tt,\n\t\tn,\n\t},\n})\n\nexport default new Vue({\n\tel: '#unified-search',\n\t// eslint-disable-next-line vue/match-component-file-name\n\tname: 'UnifiedSearchRoot',\n\trender: h => h(UnifiedSearch),\n})\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, `.unified-search-custom-date-modal[data-v-99abc4fc]{padding:10px 20px 10px 20px}.unified-search-custom-date-modal h1[data-v-99abc4fc]{font-size:16px;font-weight:bolder;line-height:2em}.unified-search-custom-date-modal__pickers[data-v-99abc4fc]{display:flex;flex-direction:column}.unified-search-custom-date-modal__footer[data-v-99abc4fc]{display:flex;justify-content:end}`, \"\",{\"version\":3,\"sources\":[\"webpack://./core/src/components/UnifiedSearch/CustomDateRangeModal.vue\"],\"names\":[],\"mappings\":\"AACA,mDACC,2BAAA,CAEA,sDACC,cAAA,CACA,kBAAA,CACA,eAAA,CAGD,4DACC,YAAA,CACA,qBAAA,CAGD,2DACC,YAAA,CACA,mBAAA\",\"sourcesContent\":[\"\\n.unified-search-custom-date-modal {\\n\\tpadding: 10px 20px 10px 20px;\\n\\n\\th1 {\\n\\t\\tfont-size: 16px;\\n\\t\\tfont-weight: bolder;\\n\\t\\tline-height: 2em;\\n\\t}\\n\\n\\t&__pickers {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t}\\n\\n\\t&__footer {\\n\\t\\tdisplay: flex;\\n\\t\\tjustify-content: end;\\n\\t}\\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, `.chip[data-v-5dc4d462]{display:flex;align-items:center;padding:2px 4px;border:1px solid var(--color-primary-element-light);border-radius:20px;background-color:var(--color-primary-element-light);margin:2px}.chip .icon[data-v-5dc4d462]{display:flex;align-items:center;padding-right:5px}.chip .icon img[data-v-5dc4d462]{width:20px;padding:2px;border-radius:20px;filter:var(--background-invert-if-bright)}.chip .text[data-v-5dc4d462]{margin:0 2px}.chip .close-icon[data-v-5dc4d462]{cursor:pointer}.chip .close-icon[data-v-5dc4d462] :hover{filter:invert(20%)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./core/src/components/UnifiedSearch/SearchFilterChip.vue\"],\"names\":[],\"mappings\":\"AACA,uBACI,YAAA,CACA,kBAAA,CACA,eAAA,CACA,mDAAA,CACA,kBAAA,CACA,mDAAA,CACA,UAAA,CAEA,6BACI,YAAA,CACA,kBAAA,CACA,iBAAA,CAEA,iCACI,UAAA,CACA,WAAA,CACA,kBAAA,CACA,yCAAA,CAIR,6BACI,YAAA,CAGJ,mCACI,cAAA,CAEA,0CACI,kBAAA\",\"sourcesContent\":[\"\\n.chip {\\n display: flex;\\n align-items: center;\\n padding: 2px 4px;\\n border: 1px solid var(--color-primary-element-light);\\n border-radius: 20px;\\n background-color: var(--color-primary-element-light);\\n margin: 2px;\\n\\n .icon {\\n display: flex;\\n align-items: center;\\n padding-right: 5px;\\n\\n img {\\n width: 20px;\\n padding: 2px;\\n border-radius: 20px;\\n filter: var(--background-invert-if-bright);\\n }\\n }\\n\\n .text {\\n margin: 0 2px;\\n }\\n\\n .close-icon {\\n cursor: pointer ;\\n\\n :hover {\\n filter: invert(20%);\\n }\\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, `.result-items__item[data-v-67d9a3cf] a{border-radius:12px;border:2px solid rgba(0,0,0,0);border-radius:var(--border-radius-large) !important}.result-items__item[data-v-67d9a3cf] a--focused{background-color:var(--color-background-hover)}.result-items__item[data-v-67d9a3cf] a:active,.result-items__item[data-v-67d9a3cf] a:hover,.result-items__item[data-v-67d9a3cf] a:focus{background-color:var(--color-background-hover);border:2px solid var(--color-border-maxcontrast)}.result-items__item[data-v-67d9a3cf] a *{cursor:pointer}.result-items__item-icon[data-v-67d9a3cf]{overflow:hidden;width:44px;height:44px;border-radius:var(--border-radius);background-repeat:no-repeat;background-position:center center;background-size:32px}.result-items__item-icon--rounded[data-v-67d9a3cf]{border-radius:22px}.result-items__item-icon--no-preview[data-v-67d9a3cf]{background-size:32px}.result-items__item-icon--with-thumbnail[data-v-67d9a3cf]{background-size:cover}.result-items__item-icon--with-thumbnail[data-v-67d9a3cf]:not(.result-items__item-icon--rounded){max-width:42px;max-height:42px;border:1px solid var(--color-border)}.result-items__item-icon img[data-v-67d9a3cf]{width:100%;height:100%;object-fit:cover;object-position:center}`, \"\",{\"version\":3,\"sources\":[\"webpack://./core/src/components/UnifiedSearch/SearchResult.vue\"],\"names\":[],\"mappings\":\"AAQI,uCACQ,kBAAA,CACA,8BAAA,CACA,mDAAA,CAEA,gDACI,8CAAA,CAGJ,wIAGI,8CAAA,CACA,gDAAA,CAGJ,yCACI,cAAA,CAKR,0CACI,eAAA,CACA,UA9BK,CA+BL,WA/BK,CAgCL,kCAAA,CACA,2BAAA,CACA,iCAAA,CACA,oBAAA,CAEA,mDACI,kBAAA,CAGJ,sDACI,oBAAA,CAGJ,0DACI,qBAAA,CAGJ,iGAEI,cAAA,CACA,eAAA,CACA,oCAAA,CAGJ,8CAEI,UAAA,CACA,WAAA,CAEA,gBAAA,CACA,sBAAA\",\"sourcesContent\":[\"\\n@use \\\"sass:math\\\";\\n$clickable-area: 44px;\\n$margin: 10px;\\n\\n.result-items {\\n &__item {\\n\\n ::v-deep a {\\n border-radius: 12px;\\n border: 2px solid transparent;\\n border-radius: var(--border-radius-large) !important;\\n\\n &--focused {\\n background-color: var(--color-background-hover);\\n }\\n\\n &:active,\\n &:hover,\\n &:focus {\\n background-color: var(--color-background-hover);\\n border: 2px solid var(--color-border-maxcontrast);\\n }\\n\\n * {\\n cursor: pointer;\\n }\\n\\n }\\n\\n &-icon {\\n overflow: hidden;\\n width: $clickable-area;\\n height: $clickable-area;\\n border-radius: var(--border-radius);\\n background-repeat: no-repeat;\\n background-position: center center;\\n background-size: 32px;\\n\\n &--rounded {\\n border-radius: math.div($clickable-area, 2);\\n }\\n\\n &--no-preview {\\n background-size: 32px;\\n }\\n\\n &--with-thumbnail {\\n background-size: cover;\\n }\\n\\n &--with-thumbnail:not(&--rounded) {\\n // compensate for border\\n max-width: $clickable-area - 2px;\\n max-height: $clickable-area - 2px;\\n border: 1px solid var(--color-border);\\n }\\n\\n img {\\n // Make sure to keep ratio\\n width: 100%;\\n height: 100%;\\n\\n object-fit: cover;\\n object-position: center;\\n }\\n }\\n\\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, `.searchable-list__wrapper[data-v-7cf71a2c]{padding:calc(var(--default-grid-baseline)*3);display:flex;flex-direction:column;align-items:center;width:250px}.searchable-list__list[data-v-7cf71a2c]{width:100%;max-height:284px;overflow-y:auto;margin-top:var(--default-grid-baseline);padding:var(--default-grid-baseline)}.searchable-list__list[data-v-7cf71a2c] .button-vue{border-radius:var(--border-radius-large) !important}.searchable-list__list[data-v-7cf71a2c] .button-vue span{font-weight:initial}.searchable-list__empty-content[data-v-7cf71a2c]{margin-top:calc(var(--default-grid-baseline)*3)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./core/src/components/UnifiedSearch/SearchableList.vue\"],\"names\":[],\"mappings\":\"AAEC,2CACC,4CAAA,CACA,YAAA,CACA,qBAAA,CACA,kBAAA,CACA,WAAA,CAGD,wCACC,UAAA,CACA,gBAAA,CACA,eAAA,CACA,uCAAA,CACA,oCAAA,CAEA,oDACC,mDAAA,CACA,yDACC,mBAAA,CAKH,iDACC,+CAAA\",\"sourcesContent\":[\"\\n.searchable-list {\\n\\t&__wrapper {\\n\\t\\tpadding: calc(var(--default-grid-baseline) * 3);\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\talign-items: center;\\n\\t\\twidth: 250px;\\n\\t}\\n\\n\\t&__list {\\n\\t\\twidth: 100%;\\n\\t\\tmax-height: 284px;\\n\\t\\toverflow-y: auto;\\n\\t\\tmargin-top: var(--default-grid-baseline);\\n\\t\\tpadding: var(--default-grid-baseline);\\n\\n\\t\\t:deep(.button-vue) {\\n\\t\\t\\tborder-radius: var(--border-radius-large) !important;\\n\\t\\t\\tspan {\\n\\t\\t\\t\\tfont-weight: initial;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&__empty-content {\\n\\t\\tmargin-top: calc(var(--default-grid-baseline) * 3);\\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, `.header-menu[data-v-3883344d]{display:flex;align-items:center;justify-content:center}.header-menu .unified-search__button[data-v-3883344d]{display:flex;align-items:center;justify-content:center;width:var(--header-height);margin:0;padding:0;cursor:pointer;opacity:.85;background-color:rgba(0,0,0,0);border:none;filter:none !important;color:var(--color-primary-text) !important}.header-menu .unified-search__button[data-v-3883344d]:hover{background-color:rgba(0,0,0,0) !important}.unified-search-modal[data-v-3883344d] .modal-container{height:80%}`, \"\",{\"version\":3,\"sources\":[\"webpack://./core/src/views/UnifiedSearch.vue\"],\"names\":[],\"mappings\":\"AACA,8BACC,YAAA,CACA,kBAAA,CACA,sBAAA,CAEA,sDACC,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,0BAAA,CAEA,QAAA,CACA,SAAA,CACA,cAAA,CACA,WAAA,CACA,8BAAA,CACA,WAAA,CACA,sBAAA,CACA,0CAAA,CAEA,4DACC,yCAAA,CAMF,wDACC,UAAA\",\"sourcesContent\":[\"\\n.header-menu {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n\\n\\t.unified-search__button {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\t\\twidth: var(--header-height);\\n\\t\\t// height: var(--header-height);\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tcursor: pointer;\\n\\t\\topacity: .85;\\n\\t\\tbackground-color: transparent;\\n\\t\\tborder: none;\\n\\t\\tfilter: none !important;\\n\\t\\tcolor: var(--color-primary-text) !important;\\n\\n\\t\\t&:hover {\\n\\t\\t\\tbackground-color: transparent !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n.unified-search-modal {\\n\\t::v-deep .modal-container {\\n\\t\\theight: 80%;\\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, `.unified-search-modal[data-v-91bd0074]{padding:10px 20px 10px 20px;height:60%}.unified-search-modal__heading[data-v-91bd0074]{font-size:16px;font-weight:bolder;line-height:2em;margin-bottom:0}.unified-search-modal__filters[data-v-91bd0074]{display:flex;padding-top:4px;justify-content:left}.unified-search-modal__filters>*[data-v-91bd0074]{margin-right:4px}.unified-search-modal__filters-applied[data-v-91bd0074]{padding-top:4px;display:flex;flex-wrap:wrap}.unified-search-modal__no-content[data-v-91bd0074]{display:flex;align-items:center;height:100%}.unified-search-modal__results[data-v-91bd0074]{padding:10px}.unified-search-modal__results .results .result-title span[data-v-91bd0074]{color:var(--color-primary-element);font-weight:bolder;font-size:16px}.unified-search-modal__results .results .result-footer[data-v-91bd0074]{justify-content:space-between;align-items:center;display:flex}div.v-popper__wrapper ul li[data-v-91bd0074] button.action-button{align-items:center !important}div.v-popper__wrapper ul li[data-v-91bd0074] button.action-button img{width:20px;margin:0 4px;filter:var(--background-invert-if-bright)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./core/src/views/UnifiedSearchModal.vue\"],\"names\":[],\"mappings\":\"AACA,uCACC,2BAAA,CACA,UAAA,CAEA,gDACC,cAAA,CACA,kBAAA,CACA,eAAA,CACA,eAAA,CAGD,gDACC,YAAA,CACA,eAAA,CACA,oBAAA,CAEA,kDACC,gBAAA,CAMF,wDACC,eAAA,CACA,YAAA,CACA,cAAA,CAGD,mDACC,YAAA,CACA,kBAAA,CACA,WAAA,CAGD,gDACC,YAAA,CAKE,4EACC,kCAAA,CACA,kBAAA,CACA,cAAA,CAIF,wEACC,6BAAA,CACA,kBAAA,CACA,YAAA,CAUD,kEACC,6BAAA,CAEA,sEACC,UAAA,CACA,YAAA,CACA,yCAAA\",\"sourcesContent\":[\"\\n.unified-search-modal {\\n\\tpadding: 10px 20px 10px 20px;\\n\\theight: 60%;\\n\\n\\t&__heading {\\n\\t\\tfont-size: 16px;\\n\\t\\tfont-weight: bolder;\\n\\t\\tline-height: 2em;\\n\\t\\tmargin-bottom: 0;\\n\\t}\\n\\n\\t&__filters {\\n\\t\\tdisplay: flex;\\n\\t\\tpadding-top: 4px;\\n\\t\\tjustify-content: left;\\n\\n\\t\\t>* {\\n\\t\\t\\tmargin-right: 4px;\\n\\n\\t\\t}\\n\\n\\t}\\n\\n\\t&__filters-applied {\\n\\t\\tpadding-top: 4px;\\n\\t\\tdisplay: flex;\\n\\t\\tflex-wrap: wrap;\\n\\t}\\n\\n\\t&__no-content {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\theight: 100%;\\n\\t}\\n\\n\\t&__results {\\n\\t\\tpadding: 10px;\\n\\n\\t\\t.results {\\n\\n\\t\\t\\t.result-title {\\n\\t\\t\\t\\tspan {\\n\\t\\t\\t\\t\\tcolor: var(--color-primary-element);\\n\\t\\t\\t\\t\\tfont-weight: bolder;\\n\\t\\t\\t\\t\\tfont-size: 16px;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\t.result-footer {\\n\\t\\t\\t\\tjustify-content: space-between;\\n\\t\\t\\t\\talign-items: center;\\n\\t\\t\\t\\tdisplay: flex;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t}\\n}\\n\\ndiv.v-popper__wrapper {\\n\\tul {\\n\\t\\tli {\\n\\t\\t\\t::v-deep button.action-button {\\n\\t\\t\\t\\talign-items: center !important;\\n\\n\\t\\t\\t\\timg {\\n\\t\\t\\t\\t\\twidth: 20px;\\n\\t\\t\\t\\t\\tmargin: 0 4px;\\n\\t\\t\\t\\t\\tfilter: var(--background-invert-if-bright);\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","// The chunk loading function for additional chunks\n// Since all referenced chunks are already included\n// in this file, this function is empty here.\n__webpack_require__.e = () => (Promise.resolve());","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 9671;","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t9671: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunknextcloud\"] = self[\"webpackChunknextcloud\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [7874], () => (__webpack_require__(67001)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","name","emits","props","title","type","String","fillColor","default","size","Number","_vm","this","_c","_self","_b","staticClass","attrs","on","$event","$emit","$attrs","_v","_s","_e","components","NcButton","NcModal","CalendarRangeIcon","NcDateTimePicker","isOpen","Boolean","required","data","dateFilter","startFrom","endAt","computed","isModalOpen","get","set","value","methods","closeModal","applyCustomRange","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","t","model","callback","$$v","$set","expression","scopedSlots","_u","key","fn","proxy","CloseIcon","text","pretext","deleteChip","filter","_t","length","Z","Symbol","toStringTag","NcPopover","NcTextField","Magnify","AlertCircleOutline","NcAvatar","NcEmptyContent","labelText","searchList","Array","emptyContentText","opened","error","searchTerm","filteredList","element","toLowerCase","some","prop","includes","clearSearch","itemSelected","searchTermChanged","term","_l","id","displayName","user","NcListItem","thumbnailUrl","subline","resourceUrl","icon","rounded","query","focused","thumbnailHasError","watch","isValidIconOrPreviewUrl","url","test","startsWith","thumbnailErrorHandler","class","style","backgroundImage","async","getContacts","_ref2","contacts","axios","post","generateUrl","authenticatedUser","getCurrentUser","uid","fullName","emailAddresses","unshift","ArrowRight","AccountGroup","CustomDateRangeModal","DotsHorizontalIcon","FilterIcon","FilterChip","ListBox","NcActions","NcActionButton","NcInputField","MagnifyIcon","SearchableList","SearchResult","isVisible","providers","providerActionMenuIsOpen","dateActionMenuIsOpen","providerResultLimit","personFilter","dateFilterIsApplied","personFilterIsApplied","filteredProviders","searching","searchQuery","placessearchTerm","dateTimeFilter","filters","results","debouncedFind","debounce","find","debouncedFilterContacts","filterContacts","showDateRangeModal","internalIsVisible","userContacts","noContentInfo","isEmptySearch","hasNoResults","show","$nextTick","focusInput","mounted","generateOcsUrl","params","from","window","location","pathname","replace","search","ocs","isArray","console","getProviders","then","debug","mapContacts","emit","newResults","providersToSearch","searchProvider","provider","cursor","since","until","person","limit","request","_ref","cancelToken","CancelToken","source","token","cancel","unifiedSearch","response","push","inAppSearch","entries","updateResults","forEach","updatedResults","result","newResult","existingResultIndex","findIndex","splice","sortedResults","slice","sort","a","b","aProvider","bProvider","order","map","contact","isNoUser","subname","applyPersonFilter","existingPersonFilter","loadMoreResultsForProvider","providerId","addProviderFilter","providerFilter","arguments","undefined","existing","syncProviderFilters","removeFilter","i","firstArray","secondArray","synchronizedArray","item","index","itemId","secondItem","updateDateFilter","currFilterIndex","applyQuickDateRange","range","today","Date","startDate","endDate","getFullYear","getMonth","getDate","setCustomDateRange","event","toLocaleDateString","$refs","searchInput","$el","children","focus","supportFiltering","currentPath","path","ref","tag","providerResult","UnifiedSearchModal","showUnifiedSearch","toggleUnifiedSearch","handleModalVisibilityChange","newVisibilityVal","__webpack_nonce__","btoa","getRequestToken","logger","getLoggerBuilder","setApp","detectUser","build","Vue","mixin","n","el","render","h","UnifiedSearch","___CSS_LOADER_EXPORT___","module","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","exports","loaded","__webpack_modules__","call","m","O","chunkIds","priority","notFulfilled","Infinity","fulfilled","j","Object","keys","every","r","getter","__esModule","d","definition","o","defineProperty","enumerable","e","Promise","resolve","g","globalThis","Function","obj","prototype","hasOwnProperty","nmd","paths","document","baseURI","self","href","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","bind","nc","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file
+{"version":3,"file":"core-unified-search.js?v=c22a7088272e76f91081","mappings":"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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/node_modules/vue-material-design-icons/CalendarRange.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/CalendarRange.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/CalendarRange.vue?f09e","webpack:///nextcloud/node_modules/vue-material-design-icons/CalendarRange.vue?vue&type=template&id=eff4db96","webpack://nextcloud/./core/src/components/UnifiedSearch/CustomDateRangeModal.vue?b7cc","webpack:///nextcloud/core/src/components/UnifiedSearch/CustomDateRangeModal.vue","webpack:///nextcloud/core/src/components/UnifiedSearch/CustomDateRangeModal.vue?vue&type=script&lang=js","webpack://nextcloud/./core/src/components/UnifiedSearch/CustomDateRangeModal.vue?7b1c","webpack://nextcloud/./core/src/components/UnifiedSearch/CustomDateRangeModal.vue?92fe","webpack:///nextcloud/node_modules/vue-material-design-icons/DotsHorizontal.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/DotsHorizontal.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/DotsHorizontal.vue?c5a1","webpack:///nextcloud/node_modules/vue-material-design-icons/DotsHorizontal.vue?vue&type=template&id=6950b9a6","webpack:///nextcloud/node_modules/vue-material-design-icons/Filter.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/Filter.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/Filter.vue?3711","webpack:///nextcloud/node_modules/vue-material-design-icons/Filter.vue?vue&type=template&id=5ca95164","webpack:///nextcloud/core/src/components/UnifiedSearch/SearchFilterChip.vue?vue&type=script&lang=js","webpack:///nextcloud/core/src/components/UnifiedSearch/SearchFilterChip.vue","webpack://nextcloud/./core/src/components/UnifiedSearch/SearchFilterChip.vue?3702","webpack://nextcloud/./core/src/components/UnifiedSearch/SearchFilterChip.vue?fc0d","webpack://nextcloud/./core/src/components/UnifiedSearch/SearchFilterChip.vue?2352","webpack:///nextcloud/node_modules/vue-material-design-icons/ListBox.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/ListBox.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/ListBox.vue?d9c9","webpack:///nextcloud/node_modules/vue-material-design-icons/ListBox.vue?vue&type=template&id=01774f2d","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/index.mjs","webpack:///nextcloud/core/src/components/UnifiedSearch/SearchableList.vue","webpack:///nextcloud/core/src/components/UnifiedSearch/SearchableList.vue?vue&type=script&lang=js","webpack://nextcloud/./core/src/components/UnifiedSearch/SearchableList.vue?58c9","webpack://nextcloud/./core/src/components/UnifiedSearch/SearchableList.vue?4344","webpack://nextcloud/./core/src/components/UnifiedSearch/SearchableList.vue?a21f","webpack:///nextcloud/core/src/components/UnifiedSearch/SearchResult.vue?vue&type=script&lang=js","webpack:///nextcloud/core/src/components/UnifiedSearch/SearchResult.vue","webpack://nextcloud/./core/src/components/UnifiedSearch/SearchResult.vue?5240","webpack://nextcloud/./core/src/components/UnifiedSearch/SearchResult.vue?32d3","webpack://nextcloud/./core/src/components/UnifiedSearch/SearchResult.vue?e4b5","webpack:///nextcloud/core/src/services/UnifiedSearchService.js","webpack:///nextcloud/core/src/views/UnifiedSearchModal.vue","webpack:///nextcloud/core/src/views/UnifiedSearchModal.vue?vue&type=script&lang=js","webpack://nextcloud/./core/src/views/UnifiedSearchModal.vue?4aff","webpack://nextcloud/./core/src/views/UnifiedSearchModal.vue?7f41","webpack://nextcloud/./core/src/views/UnifiedSearchModal.vue?60fa","webpack:///nextcloud/core/src/views/UnifiedSearch.vue","webpack:///nextcloud/core/src/views/UnifiedSearch.vue?vue&type=script&lang=js","webpack://nextcloud/./core/src/views/UnifiedSearch.vue?c7c4","webpack://nextcloud/./core/src/views/UnifiedSearch.vue?1990","webpack://nextcloud/./core/src/views/UnifiedSearch.vue?adc0","webpack:///nextcloud/core/src/unified-search.js","webpack:///nextcloud/core/src/components/UnifiedSearch/CustomDateRangeModal.vue?vue&type=style&index=0&id=99abc4fc&prod&lang=scss&scoped=true","webpack:///nextcloud/core/src/components/UnifiedSearch/SearchFilterChip.vue?vue&type=style&index=0&id=5dc4d462&prod&lang=scss&scoped=true","webpack:///nextcloud/core/src/components/UnifiedSearch/SearchResult.vue?vue&type=style&index=0&id=67d9a3cf&prod&lang=scss&scoped=true","webpack:///nextcloud/core/src/components/UnifiedSearch/SearchableList.vue?vue&type=style&index=0&id=7cf71a2c&prod&lang=scss&scoped=true","webpack:///nextcloud/core/src/views/UnifiedSearch.vue?vue&type=style&index=0&id=3883344d&prod&lang=scss&scoped=true","webpack:///nextcloud/core/src/views/UnifiedSearchModal.vue?vue&type=style&index=0&id=7a8bad6d&prod&lang=scss&scoped=true","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/ensure chunk","webpack:///nextcloud/webpack/runtime/global","webpack:///nextcloud/webpack/runtime/hasOwnProperty shorthand","webpack:///nextcloud/webpack/runtime/make namespace object","webpack:///nextcloud/webpack/runtime/node module decorator","webpack:///nextcloud/webpack/runtime/runtimeId","webpack:///nextcloud/webpack/runtime/jsonp chunk loading","webpack:///nextcloud/webpack/runtime/nonce","webpack:///nextcloud/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"!title\"\n :aria-label=\"title\"\n class=\"material-design-icon calendar-range-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M9,10H7V12H9V10M13,10H11V12H13V10M17,10H15V12H17V10M19,3H18V1H16V3H8V1H6V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M19,19H5V8H19V19Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"CalendarRangeIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./CalendarRange.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./CalendarRange.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./CalendarRange.vue?vue&type=template&id=eff4db96\"\nimport script from \"./CalendarRange.vue?vue&type=script&lang=js\"\nexport * from \"./CalendarRange.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon calendar-range-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M9,10H7V12H9V10M13,10H11V12H13V10M17,10H15V12H17V10M19,3H18V1H16V3H8V1H6V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M19,19H5V8H19V19Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.isModalOpen)?_c('NcModal',{attrs:{\"id\":\"unified-search\",\"name\":_vm.t('core', 'Custom date range'),\"show\":_vm.isModalOpen,\"size\":'small',\"clear-view-delay\":0,\"title\":_vm.t('core', 'Custom date range')},on:{\"update:show\":function($event){_vm.isModalOpen=$event},\"close\":_vm.closeModal}},[_c('div',{staticClass:\"unified-search-custom-date-modal\"},[_c('h1',[_vm._v(_vm._s(_vm.t('core', 'Custom date range')))]),_vm._v(\" \"),_c('div',{staticClass:\"unified-search-custom-date-modal__pickers\"},[_c('NcDateTimePicker',{attrs:{\"id\":'unifiedsearch-custom-date-range-start',\"label\":_vm.t('core', 'Pick start date'),\"type\":\"date\"},model:{value:(_vm.dateFilter.startFrom),callback:function ($$v) {_vm.$set(_vm.dateFilter, \"startFrom\", $$v)},expression:\"dateFilter.startFrom\"}}),_vm._v(\" \"),_c('NcDateTimePicker',{attrs:{\"id\":'unifiedsearch-custom-date-range-end',\"label\":_vm.t('core', 'Pick end date'),\"type\":\"date\"},model:{value:(_vm.dateFilter.endAt),callback:function ($$v) {_vm.$set(_vm.dateFilter, \"endAt\", $$v)},expression:\"dateFilter.endAt\"}})],1),_vm._v(\" \"),_c('div',{staticClass:\"unified-search-custom-date-modal__footer\"},[_c('NcButton',{on:{\"click\":_vm.applyCustomRange},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('CalendarRangeIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,3084610734)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('core', 'Search in date range'))+\"\\n\\t\\t\\t\\t\")])],1)])]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<NcModal v-if=\"isModalOpen\"\n\t\tid=\"unified-search\"\n\t\t:name=\"t('core', 'Custom date range')\"\n\t\t:show.sync=\"isModalOpen\"\n\t\t:size=\"'small'\"\n\t\t:clear-view-delay=\"0\"\n\t\t:title=\"t('core', 'Custom date range')\"\n\t\t@close=\"closeModal\">\n\t\t<!-- Custom date range -->\n\t\t<div class=\"unified-search-custom-date-modal\">\n\t\t\t<h1>{{ t('core', 'Custom date range') }}</h1>\n\t\t\t<div class=\"unified-search-custom-date-modal__pickers\">\n\t\t\t\t<NcDateTimePicker :id=\"'unifiedsearch-custom-date-range-start'\"\n\t\t\t\t\tv-model=\"dateFilter.startFrom\"\n\t\t\t\t\t:label=\"t('core', 'Pick start date')\"\n\t\t\t\t\ttype=\"date\" />\n\t\t\t\t<NcDateTimePicker :id=\"'unifiedsearch-custom-date-range-end'\"\n\t\t\t\t\tv-model=\"dateFilter.endAt\"\n\t\t\t\t\t:label=\"t('core', 'Pick end date')\"\n\t\t\t\t\ttype=\"date\" />\n\t\t\t</div>\n\t\t\t<div class=\"unified-search-custom-date-modal__footer\">\n\t\t\t\t<NcButton @click=\"applyCustomRange\">\n\t\t\t\t\t{{ t('core', 'Search in date range') }}\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<CalendarRangeIcon :size=\"20\" />\n\t\t\t\t\t</template>\n\t\t\t\t</NcButton>\n\t\t\t</div>\n\t\t</div>\n\t</NcModal>\n</template>\n\n<script>\nimport NcButton from '@nextcloud/vue/dist/Components/NcButton.js'\nimport NcDateTimePicker from '@nextcloud/vue/dist/Components/NcDateTimePickerNative.js'\nimport NcModal from '@nextcloud/vue/dist/Components/NcModal.js'\nimport CalendarRangeIcon from 'vue-material-design-icons/CalendarRange.vue'\n\nexport default {\n\tname: 'CustomDateRangeModal',\n\tcomponents: {\n\t\tNcButton,\n\t\tNcModal,\n\t\tCalendarRangeIcon,\n\t\tNcDateTimePicker,\n\t},\n\tprops: {\n\t\tisOpen: {\n\t\t\ttype: Boolean,\n\t\t\trequired: true,\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tdateFilter: { startFrom: null, endAt: null },\n\t\t}\n\t},\n\tcomputed: {\n\t\tisModalOpen: {\n\t\t\tget() {\n\t\t\t\treturn this.isOpen\n\t\t\t},\n\t\t\tset(value) {\n\t\t\t\tthis.$emit('update:is-open', value)\n\t\t\t},\n\t\t},\n\t},\n\tmethods: {\n\t\tcloseModal() {\n\t\t\tthis.isModalOpen = false\n\t\t},\n\t\tapplyCustomRange() {\n\t\t\tthis.$emit('set:custom-date-range', this.dateFilter)\n\t\t\tthis.closeModal()\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.unified-search-custom-date-modal {\n\tpadding: 10px 20px 10px 20px;\n\n\th1 {\n\t\tfont-size: 16px;\n\t\tfont-weight: bolder;\n\t\tline-height: 2em;\n\t}\n\n\t&__pickers {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t}\n\n\t&__footer {\n\t\tdisplay: flex;\n\t\tjustify-content: end;\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!./CustomDateRangeModal.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!./CustomDateRangeModal.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/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomDateRangeModal.vue?vue&type=style&index=0&id=99abc4fc&prod&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/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomDateRangeModal.vue?vue&type=style&index=0&id=99abc4fc&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./CustomDateRangeModal.vue?vue&type=template&id=99abc4fc&scoped=true\"\nimport script from \"./CustomDateRangeModal.vue?vue&type=script&lang=js\"\nexport * from \"./CustomDateRangeModal.vue?vue&type=script&lang=js\"\nimport style0 from \"./CustomDateRangeModal.vue?vue&type=style&index=0&id=99abc4fc&prod&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 \"99abc4fc\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./DotsHorizontal.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./DotsHorizontal.vue?vue&type=script&lang=js\"","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"!title\"\n :aria-label=\"title\"\n class=\"material-design-icon dots-horizontal-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M16,12A2,2 0 0,1 18,10A2,2 0 0,1 20,12A2,2 0 0,1 18,14A2,2 0 0,1 16,12M10,12A2,2 0 0,1 12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12M4,12A2,2 0 0,1 6,10A2,2 0 0,1 8,12A2,2 0 0,1 6,14A2,2 0 0,1 4,12Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"DotsHorizontalIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import { render, staticRenderFns } from \"./DotsHorizontal.vue?vue&type=template&id=6950b9a6\"\nimport script from \"./DotsHorizontal.vue?vue&type=script&lang=js\"\nexport * from \"./DotsHorizontal.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon dots-horizontal-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M16,12A2,2 0 0,1 18,10A2,2 0 0,1 20,12A2,2 0 0,1 18,14A2,2 0 0,1 16,12M10,12A2,2 0 0,1 12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12M4,12A2,2 0 0,1 6,10A2,2 0 0,1 8,12A2,2 0 0,1 6,14A2,2 0 0,1 4,12Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Filter.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Filter.vue?vue&type=script&lang=js\"","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"!title\"\n :aria-label=\"title\"\n class=\"material-design-icon filter-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M14,12V19.88C14.04,20.18 13.94,20.5 13.71,20.71C13.32,21.1 12.69,21.1 12.3,20.71L10.29,18.7C10.06,18.47 9.96,18.16 10,17.87V12H9.97L4.21,4.62C3.87,4.19 3.95,3.56 4.38,3.22C4.57,3.08 4.78,3 5,3V3H19V3C19.22,3 19.43,3.08 19.62,3.22C20.05,3.56 20.13,4.19 19.79,4.62L14.03,12H14Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"FilterIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import { render, staticRenderFns } from \"./Filter.vue?vue&type=template&id=5ca95164\"\nimport script from \"./Filter.vue?vue&type=script&lang=js\"\nexport * from \"./Filter.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon filter-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M14,12V19.88C14.04,20.18 13.94,20.5 13.71,20.71C13.32,21.1 12.69,21.1 12.3,20.71L10.29,18.7C10.06,18.47 9.96,18.16 10,17.87V12H9.97L4.21,4.62C3.87,4.19 3.95,3.56 4.38,3.22C4.57,3.08 4.78,3 5,3V3H19V3C19.22,3 19.43,3.08 19.62,3.22C20.05,3.56 20.13,4.19 19.79,4.62L14.03,12H14Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchFilterChip.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!./SearchFilterChip.vue?vue&type=script&lang=js\"","<template>\n\t<div class=\"chip\">\n\t\t<span class=\"icon\">\n\t\t\t<slot name=\"icon\" />\n\t\t\t<span v-if=\"pretext.length\"> {{ pretext }} : </span>\n\t\t</span>\n\t\t<span class=\"text\">{{ text }}</span>\n\t\t<span class=\"close-icon\" @click=\"deleteChip\">\n\t\t\t<CloseIcon :size=\"18\" />\n\t\t</span>\n\t</div>\n</template>\n\n<script>\nimport CloseIcon from 'vue-material-design-icons/Close.vue'\n\nexport default {\n\tname: 'SearchFilterChip',\n\tcomponents: {\n\t\tCloseIcon,\n\t},\n\tprops: {\n\t\ttext: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tpretext: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t},\n\tmethods: {\n\t\tdeleteChip() {\n\t\t\tthis.$emit('delete', this.filter)\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.chip {\n display: flex;\n align-items: center;\n padding: 2px 4px;\n border: 1px solid var(--color-primary-element-light);\n border-radius: 20px;\n background-color: var(--color-primary-element-light);\n margin: 2px;\n\n .icon {\n display: flex;\n align-items: center;\n padding-right: 5px;\n\n img {\n width: 20px;\n padding: 2px;\n border-radius: 20px;\n filter: var(--background-invert-if-bright);\n }\n }\n\n .text {\n margin: 0 2px;\n }\n\n .close-icon {\n cursor: pointer ;\n\n :hover {\n filter: invert(20%);\n }\n }\n}\n</style>\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/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchFilterChip.vue?vue&type=style&index=0&id=5dc4d462&prod&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/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchFilterChip.vue?vue&type=style&index=0&id=5dc4d462&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SearchFilterChip.vue?vue&type=template&id=5dc4d462&scoped=true\"\nimport script from \"./SearchFilterChip.vue?vue&type=script&lang=js\"\nexport * from \"./SearchFilterChip.vue?vue&type=script&lang=js\"\nimport style0 from \"./SearchFilterChip.vue?vue&type=style&index=0&id=5dc4d462&prod&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 \"5dc4d462\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"chip\"},[_c('span',{staticClass:\"icon\"},[_vm._t(\"icon\"),_vm._v(\" \"),(_vm.pretext.length)?_c('span',[_vm._v(\" \"+_vm._s(_vm.pretext)+\" : \")]):_vm._e()],2),_vm._v(\" \"),_c('span',{staticClass:\"text\"},[_vm._v(_vm._s(_vm.text))]),_vm._v(\" \"),_c('span',{staticClass:\"close-icon\",on:{\"click\":_vm.deleteChip}},[_c('CloseIcon',{attrs:{\"size\":18}})],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./ListBox.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./ListBox.vue?vue&type=script&lang=js\"","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"!title\"\n :aria-label=\"title\"\n class=\"material-design-icon list-box-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M7 7H9V9H7V7M7 11H9V13H7V11M7 15H9V17H7V15M17 17H11V15H17V17M17 13H11V11H17V13M17 9H11V7H17V9Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"ListBoxIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import { render, staticRenderFns } from \"./ListBox.vue?vue&type=template&id=01774f2d\"\nimport script from \"./ListBox.vue?vue&type=script&lang=js\"\nexport * from \"./ListBox.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon list-box-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M7 7H9V9H7V7M7 11H9V13H7V11M7 15H9V17H7V15M17 17H11V15H17V17M17 13H11V11H17V13M17 9H11V7H17V9Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import i from \"./Components/NcActionButton.mjs\";\nimport m from \"./Components/NcActionButtonGroup.mjs\";\nimport e from \"./Components/NcActionCaption.mjs\";\nimport p from \"./Components/NcActionCheckbox.mjs\";\nimport c from \"./Components/NcActionInput.mjs\";\nimport f from \"./Components/NcActionLink.mjs\";\nimport n from \"./Components/NcActionRadio.mjs\";\nimport N from \"./Components/NcActionRouter.mjs\";\nimport a from \"./Components/NcActions.mjs\";\nimport s from \"./Components/NcActionSeparator.mjs\";\nimport l from \"./Components/NcActionText.mjs\";\nimport u from \"./Components/NcActionTextEditable.mjs\";\nimport d from \"./Components/NcAppContent.mjs\";\nimport A from \"./Components/NcAppContentDetails.mjs\";\nimport g from \"./Components/NcAppContentList.mjs\";\nimport b from \"./Components/NcAppNavigation.mjs\";\nimport S from \"./Components/NcAppNavigationCaption.mjs\";\nimport x from \"./Components/NcAppNavigationIconBullet.mjs\";\nimport T from \"./Components/NcAppNavigationItem.mjs\";\nimport v from \"./Components/NcAppNavigationNew.mjs\";\nimport C from \"./Components/NcAppNavigationNewItem.mjs\";\nimport I from \"./Components/NcAppNavigationSettings.mjs\";\nimport k from \"./Components/NcAppNavigationSpacer.mjs\";\nimport h from \"./Components/NcAppSettingsDialog.mjs\";\nimport B from \"./Components/NcAppSettingsSection.mjs\";\nimport P from \"./Components/NcAppSidebar.mjs\";\nimport y from \"./Components/NcAppSidebarTab.mjs\";\nimport { N as D } from \"./chunks/index-efb07851.mjs\";\nimport { u as tt } from \"./chunks/index-efb07851.mjs\";\nimport O from \"./Components/NcBreadcrumb.mjs\";\nimport R from \"./Components/NcBreadcrumbs.mjs\";\nimport j from \"./Components/NcButton.mjs\";\nimport E from \"./Components/NcCheckboxRadioSwitch.mjs\";\nimport M from \"./Components/NcColorPicker.mjs\";\nimport _ from \"./Components/NcContent.mjs\";\nimport L from \"./Components/NcCounterBubble.mjs\";\nimport F from \"./Components/NcDashboardWidget.mjs\";\nimport w from \"./Components/NcDashboardWidgetItem.mjs\";\nimport z from \"./Components/NcDateTime.mjs\";\nimport G from \"./Components/NcDateTimePicker.mjs\";\nimport W from \"./Components/NcDateTimePickerNative.mjs\";\nimport H from \"./Components/NcDialog.mjs\";\nimport V from \"./Components/NcDialogButton.mjs\";\nimport K from \"./Components/NcEmojiPicker.mjs\";\nimport U from \"./Components/NcEmptyContent.mjs\";\nimport $ from \"./Components/NcGuestContent.mjs\";\nimport q from \"./Components/NcHeaderMenu.mjs\";\nimport { N as J } from \"./chunks/index-20a9ace9.mjs\";\nimport Q from \"./Components/NcIconSvgWrapper.mjs\";\nimport X from \"./Components/NcListItem.mjs\";\nimport Y from \"./Components/NcListItemIcon.mjs\";\nimport Z from \"./Components/NcLoadingIcon.mjs\";\nimport oo from \"./Components/NcModal.mjs\";\nimport ro from \"./Components/NcNoteCard.mjs\";\nimport to from \"./Components/NcPasswordField.mjs\";\nimport io from \"./Components/NcPopover.mjs\";\nimport mo from \"./Components/NcProgressBar.mjs\";\nimport eo from \"./Components/NcRelatedResourcesPanel.mjs\";\nimport { N as po } from \"./chunks/index-5f2a5f57.mjs\";\nimport { r as mt } from \"./chunks/index-5f2a5f57.mjs\";\nimport co, { NcAutoCompleteResult as fo } from \"./Components/NcRichContenteditable.mjs\";\nimport { N as no } from \"./chunks/NcRichText-0db09c78.mjs\";\nimport \"./chunks/referencePickerModal-ded8273d.mjs\";\nimport \"@nextcloud/axios\";\nimport \"@nextcloud/router\";\nimport No from \"./Components/NcSelect.mjs\";\nimport \"./chunks/l10n-1b905a9a.mjs\";\nimport ao from \"./Components/NcTextField.mjs\";\nimport \"@nextcloud/event-bus\";\nimport \"vue\";\nimport so from \"./Components/NcSavingIndicatorIcon.mjs\";\nimport lo from \"./Components/NcSelectTags.mjs\";\nimport uo from \"./Components/NcSettingsInputText.mjs\";\nimport Ao from \"./Components/NcSettingsSection.mjs\";\nimport { N as go } from \"./chunks/NcSettingsSelectGroup-cdd84895.mjs\";\nimport bo from \"./Components/NcTimezonePicker.mjs\";\nimport So from \"./Components/NcUserBubble.mjs\";\nimport xo from \"./Components/NcTextArea.mjs\";\nimport { isFullscreenState as pt, useIsFullscreen as ct } from \"./Composables/useIsFullscreen.mjs\";\nimport { MOBILE_BREAKPOINT as nt, isMobileState as Nt, useIsMobile as at } from \"./Composables/useIsMobile.mjs\";\nimport { emojiAddRecent as lt, emojiSearch as ut } from \"./Functions/emoji.mjs\";\nimport { default as At } from \"./Functions/usernameToColor.mjs\";\nimport { directive as To } from \"./Directives/Focus.mjs\";\nimport { directive as vo } from \"./Directives/Linkify.mjs\";\nimport \"./Directives/Tooltip.mjs\";\nimport { default as bt } from \"./Mixins/clickOutsideOptions.mjs\";\nimport { default as xt } from \"./Mixins/isFullscreen.mjs\";\nimport { default as vt } from \"./Mixins/isMobile.mjs\";\nimport { VTooltip as Co } from \"floating-vue\";\nimport { VTooltip as It } from \"floating-vue\";\n/**\n * @copyright Copyright (c) 2018 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 */\nconst Io = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n NcActionButton: i,\n NcActionButtonGroup: m,\n NcActionCaption: e,\n NcActionCheckbox: p,\n NcActionInput: c,\n NcActionLink: f,\n NcActionRadio: n,\n NcActionRouter: N,\n NcActionSeparator: s,\n NcActionText: l,\n NcActionTextEditable: u,\n NcActions: a,\n NcAppContent: d,\n NcAppContentDetails: A,\n NcAppContentList: g,\n NcAppNavigation: b,\n NcAppNavigationCaption: S,\n NcAppNavigationIconBullet: x,\n NcAppNavigationItem: T,\n NcAppNavigationNew: v,\n NcAppNavigationNewItem: C,\n NcAppNavigationSettings: I,\n NcAppNavigationSpacer: k,\n NcAppSettingsDialog: h,\n NcAppSettingsSection: B,\n NcAppSidebar: P,\n NcAppSidebarTab: y,\n NcAutoCompleteResult: fo,\n NcAvatar: D,\n NcBreadcrumb: O,\n NcBreadcrumbs: R,\n NcButton: j,\n NcCheckboxRadioSwitch: E,\n NcColorPicker: M,\n NcContent: _,\n NcCounterBubble: L,\n NcDashboardWidget: F,\n NcDashboardWidgetItem: w,\n NcDateTime: z,\n NcDateTimePicker: G,\n NcDateTimePickerNative: W,\n NcDialog: H,\n NcDialogButton: V,\n NcEmojiPicker: K,\n NcEmptyContent: U,\n NcGuestContent: $,\n NcHeaderMenu: q,\n NcHighlight: J,\n NcIconSvgWrapper: Q,\n NcListItem: X,\n NcListItemIcon: Y,\n NcLoadingIcon: Z,\n NcMentionBubble: po,\n NcModal: oo,\n NcNoteCard: ro,\n NcPasswordField: to,\n NcPopover: io,\n NcProgressBar: mo,\n NcRelatedResourcesPanel: eo,\n NcRichContenteditable: co,\n NcRichText: no,\n NcSavingIndicatorIcon: so,\n NcSelect: No,\n NcSelectTags: lo,\n NcSettingsInputText: uo,\n NcSettingsSection: Ao,\n NcSettingsSelectGroup: go,\n NcTextArea: xo,\n NcTextField: ao,\n NcTimezonePicker: bo,\n NcUserBubble: So\n}, Symbol.toStringTag, { value: \"Module\" }));\n/**\n * @copyright 2022 Christopher Ng <chrng8@gmail.com>\n *\n * @author Christopher Ng <chrng8@gmail.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 */\nconst Yr = (o) => o.type === \"click\" || o.type === \"keydown\" && o.key === \"Enter\";\n/**\n * @copyright Copyright (c) 2018 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 */\nconst ko = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n Focus: To,\n Linkify: vo,\n Tooltip: Co\n}, Symbol.toStringTag, { value: \"Module\" })), Zr = {\n install(o) {\n Object.entries(Io).forEach(([t, r]) => {\n o.component(r.name || t, r);\n }), Object.entries(ko).forEach(([t, r]) => {\n o.directive(t, r);\n });\n }\n};\nexport {\n To as Focus,\n vo as Linkify,\n nt as MOBILE_BREAKPOINT,\n i as NcActionButton,\n m as NcActionButtonGroup,\n e as NcActionCaption,\n p as NcActionCheckbox,\n c as NcActionInput,\n f as NcActionLink,\n n as NcActionRadio,\n N as NcActionRouter,\n s as NcActionSeparator,\n l as NcActionText,\n u as NcActionTextEditable,\n a as NcActions,\n d as NcAppContent,\n A as NcAppContentDetails,\n g as NcAppContentList,\n b as NcAppNavigation,\n S as NcAppNavigationCaption,\n x as NcAppNavigationIconBullet,\n T as NcAppNavigationItem,\n v as NcAppNavigationNew,\n C as NcAppNavigationNewItem,\n I as NcAppNavigationSettings,\n k as NcAppNavigationSpacer,\n h as NcAppSettingsDialog,\n B as NcAppSettingsSection,\n P as NcAppSidebar,\n y as NcAppSidebarTab,\n fo as NcAutoCompleteResult,\n D as NcAvatar,\n O as NcBreadcrumb,\n R as NcBreadcrumbs,\n j as NcButton,\n E as NcCheckboxRadioSwitch,\n M as NcColorPicker,\n _ as NcContent,\n L as NcCounterBubble,\n F as NcDashboardWidget,\n w as NcDashboardWidgetItem,\n z as NcDateTime,\n G as NcDateTimePicker,\n W as NcDateTimePickerNative,\n H as NcDialog,\n V as NcDialogButton,\n K as NcEmojiPicker,\n U as NcEmptyContent,\n $ as NcGuestContent,\n q as NcHeaderMenu,\n J as NcHighlight,\n Q as NcIconSvgWrapper,\n X as NcListItem,\n Y as NcListItemIcon,\n Z as NcLoadingIcon,\n po as NcMentionBubble,\n oo as NcModal,\n ro as NcNoteCard,\n to as NcPasswordField,\n io as NcPopover,\n mo as NcProgressBar,\n eo as NcRelatedResourcesPanel,\n co as NcRichContenteditable,\n no as NcRichText,\n so as NcSavingIndicatorIcon,\n No as NcSelect,\n lo as NcSelectTags,\n uo as NcSettingsInputText,\n Ao as NcSettingsSection,\n go as NcSettingsSelectGroup,\n xo as NcTextArea,\n ao as NcTextField,\n bo as NcTimezonePicker,\n So as NcUserBubble,\n Zr as NextcloudVuePlugin,\n It as Tooltip,\n bt as clickOutsideOptions,\n lt as emojiAddRecent,\n ut as emojiSearch,\n Yr as isA11yActivation,\n xt as isFullscreen,\n pt as isFullscreenState,\n vt as isMobile,\n Nt as isMobileState,\n mt as richEditor,\n ct as useIsFullscreen,\n at as useIsMobile,\n tt as userStatus,\n At as usernameToColor\n};\n","<!--\n - @copyright 2023 Marco Ambrosini <marcoambrosini@proton.me>\n -\n - @author Marco Ambrosini <marcoambrosini@proton.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\n<template>\n\t<NcPopover :shown=\"opened\"\n\t\t@show=\"opened = true\"\n\t\t@hide=\"opened = false\">\n\t\t<template #trigger>\n\t\t\t<slot ref=\"popoverTrigger\" name=\"trigger\" />\n\t\t</template>\n\t\t<div class=\"searchable-list__wrapper\">\n\t\t\t<NcTextField :value.sync=\"searchTerm\"\n\t\t\t\t:label=\"labelText\"\n\t\t\t\ttrailing-button-icon=\"close\"\n\t\t\t\t:show-trailing-button=\"searchTerm !== ''\"\n\t\t\t\t@update:value=\"searchTermChanged\"\n\t\t\t\t@trailing-button-click=\"clearSearch\">\n\t\t\t\t<Magnify :size=\"20\" />\n\t\t\t</NcTextField>\n\t\t\t<ul v-if=\"filteredList.length > 0\" class=\"searchable-list__list\">\n\t\t\t\t<li v-for=\"element in filteredList\"\n\t\t\t\t\t:key=\"element.id\"\n\t\t\t\t\t:title=\"element.displayName\"\n\t\t\t\t\trole=\"button\">\n\t\t\t\t\t<NcButton alignment=\"start\"\n\t\t\t\t\t\ttype=\"tertiary\"\n\t\t\t\t\t\t:wide=\"true\"\n\t\t\t\t\t\t@click=\"itemSelected(element)\">\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<NcAvatar :user=\"element.user\" :show-user-status=\"false\" :hide-favorite=\"false\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t{{ element.displayName }}\n\t\t\t\t\t</NcButton>\n\t\t\t\t</li>\n\t\t\t</ul>\n\t\t\t<div v-else class=\"searchable-list__empty-content\">\n\t\t\t\t<NcEmptyContent :name=\"emptyContentText\">\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<AlertCircleOutline />\n\t\t\t\t\t</template>\n\t\t\t\t</NcEmptyContent>\n\t\t\t</div>\n\t\t</div>\n\t</NcPopover>\n</template>\n\n<script>\nimport { NcPopover, NcTextField, NcAvatar, NcEmptyContent, NcButton } from '@nextcloud/vue'\n\nimport AlertCircleOutline from 'vue-material-design-icons/AlertCircleOutline.vue'\nimport Magnify from 'vue-material-design-icons/Magnify.vue'\n\nexport default {\n\tname: 'SearchableList',\n\n\tcomponents: {\n\t\tNcPopover,\n\t\tNcTextField,\n\t\tMagnify,\n\t\tAlertCircleOutline,\n\t\tNcAvatar,\n\t\tNcEmptyContent,\n\t\tNcButton,\n\t},\n\n\tprops: {\n\t\tlabelText: {\n\t\t\ttype: String,\n\t\t\tdefault: 'this is a label',\n\t\t},\n\n\t\tsearchList: {\n\t\t\ttype: Array,\n\t\t\trequired: true,\n\t\t},\n\n\t\temptyContentText: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\topened: false,\n\t\t\terror: false,\n\t\t\tsearchTerm: '',\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tfilteredList() {\n\t\t\treturn this.searchList.filter((element) => {\n\t\t\t\tif (!this.searchTerm.toLowerCase().length) {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t\treturn ['displayName'].some(prop => element[prop].toLowerCase().includes(this.searchTerm.toLowerCase()))\n\t\t\t})\n\t\t},\n\t},\n\n\tmethods: {\n\t\tclearSearch() {\n\t\t\tthis.searchTerm = ''\n\t\t},\n\t\titemSelected(element) {\n\t\t\tthis.$emit('item-selected', element)\n\t\t\tthis.clearSearch()\n\t\t\tthis.opened = false\n\t\t},\n\t\tsearchTermChanged(term) {\n\t\t\tthis.$emit('search-term-change', term)\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.searchable-list {\n\t&__wrapper {\n\t\tpadding: calc(var(--default-grid-baseline) * 3);\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\talign-items: center;\n\t\twidth: 250px;\n\t}\n\n\t&__list {\n\t\twidth: 100%;\n\t\tmax-height: 284px;\n\t\toverflow-y: auto;\n\t\tmargin-top: var(--default-grid-baseline);\n\t\tpadding: var(--default-grid-baseline);\n\n\t\t:deep(.button-vue) {\n\t\t\tborder-radius: var(--border-radius-large) !important;\n\t\t\tspan {\n\t\t\t\tfont-weight: initial;\n\t\t\t}\n\t\t}\n\t}\n\n\t&__empty-content {\n\t\tmargin-top: calc(var(--default-grid-baseline) * 3);\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!./SearchableList.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!./SearchableList.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/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchableList.vue?vue&type=style&index=0&id=7cf71a2c&prod&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/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchableList.vue?vue&type=style&index=0&id=7cf71a2c&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SearchableList.vue?vue&type=template&id=7cf71a2c&scoped=true\"\nimport script from \"./SearchableList.vue?vue&type=script&lang=js\"\nexport * from \"./SearchableList.vue?vue&type=script&lang=js\"\nimport style0 from \"./SearchableList.vue?vue&type=style&index=0&id=7cf71a2c&prod&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 \"7cf71a2c\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('NcPopover',{attrs:{\"shown\":_vm.opened},on:{\"show\":function($event){_vm.opened = true},\"hide\":function($event){_vm.opened = false}},scopedSlots:_vm._u([{key:\"trigger\",fn:function(){return [_vm._t(\"trigger\")]},proxy:true}],null,true)},[_vm._v(\" \"),_c('div',{staticClass:\"searchable-list__wrapper\"},[_c('NcTextField',{attrs:{\"value\":_vm.searchTerm,\"label\":_vm.labelText,\"trailing-button-icon\":\"close\",\"show-trailing-button\":_vm.searchTerm !== ''},on:{\"update:value\":[function($event){_vm.searchTerm=$event},_vm.searchTermChanged],\"trailing-button-click\":_vm.clearSearch}},[_c('Magnify',{attrs:{\"size\":20}})],1),_vm._v(\" \"),(_vm.filteredList.length > 0)?_c('ul',{staticClass:\"searchable-list__list\"},_vm._l((_vm.filteredList),function(element){return _c('li',{key:element.id,attrs:{\"title\":element.displayName,\"role\":\"button\"}},[_c('NcButton',{attrs:{\"alignment\":\"start\",\"type\":\"tertiary\",\"wide\":true},on:{\"click\":function($event){return _vm.itemSelected(element)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('NcAvatar',{attrs:{\"user\":element.user,\"show-user-status\":false,\"hide-favorite\":false}})]},proxy:true}],null,true)},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(element.displayName)+\"\\n\\t\\t\\t\\t\")])],1)}),0):_c('div',{staticClass:\"searchable-list__empty-content\"},[_c('NcEmptyContent',{attrs:{\"name\":_vm.emptyContentText},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('AlertCircleOutline')]},proxy:true}])})],1)],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchResult.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!./SearchResult.vue?vue&type=script&lang=js\"","<template>\n\t<NcListItem class=\"result-items__item\"\n\t\t:name=\"title\"\n\t\t:bold=\"false\"\n\t\t:href=\"resourceUrl\"\n\t\ttarget=\"_self\">\n\t\t<template #icon>\n\t\t\t<div aria-hidden=\"true\"\n\t\t\t\tclass=\"result-items__item-icon\"\n\t\t\t\t:class=\"{\n\t\t\t\t\t'result-items__item-icon--rounded': rounded,\n\t\t\t\t\t'result-items__item-icon--no-preview': !isValidIconOrPreviewUrl(thumbnailUrl),\n\t\t\t\t\t'result-items__item-icon--with-thumbnail': isValidIconOrPreviewUrl(thumbnailUrl),\n\t\t\t\t\t[icon]: !isValidIconOrPreviewUrl(icon),\n\t\t\t\t}\"\n\t\t\t\t:style=\"{\n\t\t\t\t\tbackgroundImage: isValidIconOrPreviewUrl(icon) ? `url(${icon})` : '',\n\t\t\t\t}\">\n\t\t\t\t<img v-if=\"isValidIconOrPreviewUrl(thumbnailUrl) && !thumbnailHasError\"\n\t\t\t\t\t:src=\"thumbnailUrl\"\n\t\t\t\t\t@error=\"thumbnailErrorHandler\">\n\t\t\t</div>\n\t\t</template>\n\t\t<template #subname>\n\t\t\t{{ subline }}\n\t\t</template>\n\t</NcListItem>\n</template>\n\n<script>\nimport NcListItem from '@nextcloud/vue/dist/Components/NcListItem.js'\n\nexport default {\n\tname: 'SearchResult',\n\tcomponents: {\n\t\tNcListItem,\n\t},\n\tprops: {\n\t\tthumbnailUrl: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t\ttitle: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tsubline: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t\tresourceUrl: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t\ticon: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\trounded: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\tquery: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * Only used for the first result as a visual feedback\n\t\t * so we can keep the search input focused but pressing\n\t\t * enter still opens the first result\n\t\t */\n\t\tfocused: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tthumbnailHasError: false,\n\t\t}\n\t},\n\twatch: {\n\t\tthumbnailUrl() {\n\t\t\tthis.thumbnailHasError = false\n\t\t},\n\t},\n\tmethods: {\n\t\tisValidIconOrPreviewUrl(url) {\n\t\t\treturn /^https?:\\/\\//.test(url) || url.startsWith('/')\n\t\t},\n\t\tthumbnailErrorHandler() {\n\t\t\tthis.thumbnailHasError = true\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n@use \"sass:math\";\n$clickable-area: 44px;\n$margin: 10px;\n\n.result-items {\n &__item {\n\n ::v-deep a {\n border-radius: 12px;\n border: 2px solid transparent;\n border-radius: var(--border-radius-large) !important;\n\n &--focused {\n background-color: var(--color-background-hover);\n }\n\n &:active,\n &:hover,\n &:focus {\n background-color: var(--color-background-hover);\n border: 2px solid var(--color-border-maxcontrast);\n }\n\n * {\n cursor: pointer;\n }\n\n }\n\n &-icon {\n overflow: hidden;\n width: $clickable-area;\n height: $clickable-area;\n border-radius: var(--border-radius);\n background-repeat: no-repeat;\n background-position: center center;\n background-size: 32px;\n\n &--rounded {\n border-radius: math.div($clickable-area, 2);\n }\n\n &--no-preview {\n background-size: 32px;\n }\n\n &--with-thumbnail {\n background-size: cover;\n }\n\n &--with-thumbnail:not(&--rounded) {\n // compensate for border\n max-width: $clickable-area - 2px;\n max-height: $clickable-area - 2px;\n border: 1px solid var(--color-border);\n }\n\n img {\n // Make sure to keep ratio\n width: 100%;\n height: 100%;\n\n object-fit: cover;\n object-position: center;\n }\n }\n\n }\n}\n</style>\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/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchResult.vue?vue&type=style&index=0&id=67d9a3cf&prod&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/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchResult.vue?vue&type=style&index=0&id=67d9a3cf&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SearchResult.vue?vue&type=template&id=67d9a3cf&scoped=true\"\nimport script from \"./SearchResult.vue?vue&type=script&lang=js\"\nexport * from \"./SearchResult.vue?vue&type=script&lang=js\"\nimport style0 from \"./SearchResult.vue?vue&type=style&index=0&id=67d9a3cf&prod&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 \"67d9a3cf\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('NcListItem',{staticClass:\"result-items__item\",attrs:{\"name\":_vm.title,\"bold\":false,\"href\":_vm.resourceUrl,\"target\":\"_self\"},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('div',{staticClass:\"result-items__item-icon\",class:{\n\t\t\t\t'result-items__item-icon--rounded': _vm.rounded,\n\t\t\t\t'result-items__item-icon--no-preview': !_vm.isValidIconOrPreviewUrl(_vm.thumbnailUrl),\n\t\t\t\t'result-items__item-icon--with-thumbnail': _vm.isValidIconOrPreviewUrl(_vm.thumbnailUrl),\n\t\t\t\t[_vm.icon]: !_vm.isValidIconOrPreviewUrl(_vm.icon),\n\t\t\t},style:({\n\t\t\t\tbackgroundImage: _vm.isValidIconOrPreviewUrl(_vm.icon) ? `url(${_vm.icon})` : '',\n\t\t\t}),attrs:{\"aria-hidden\":\"true\"}},[(_vm.isValidIconOrPreviewUrl(_vm.thumbnailUrl) && !_vm.thumbnailHasError)?_c('img',{attrs:{\"src\":_vm.thumbnailUrl},on:{\"error\":_vm.thumbnailErrorHandler}}):_vm._e()])]},proxy:true},{key:\"subname\",fn:function(){return [_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.subline)+\"\\n\\t\")]},proxy:true}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright 2023, Fon E. Noel NFEBE <fenn25.fn@gmail.com>\n *\n * @author Fon E. Noel NFEBE <fenn25.fn@gmail.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\nimport { generateOcsUrl, generateUrl } from '@nextcloud/router'\nimport axios from '@nextcloud/axios'\nimport { getCurrentUser } from '@nextcloud/auth'\n\n/**\n * Create a cancel token\n *\n * @return {import('axios').CancelTokenSource}\n */\nconst createCancelToken = () => axios.CancelToken.source()\n\n/**\n * Get the list of available search providers\n *\n * @return {Promise<Array>}\n */\nexport async function getProviders() {\n\ttry {\n\t\tconst { data } = await axios.get(generateOcsUrl('search/providers'), {\n\t\t\tparams: {\n\t\t\t\t// Sending which location we're currently at\n\t\t\t\tfrom: window.location.pathname.replace('/index.php', '') + window.location.search,\n\t\t\t},\n\t\t})\n\t\tif ('ocs' in data && 'data' in data.ocs && Array.isArray(data.ocs.data) && data.ocs.data.length > 0) {\n\t\t\t// Providers are sorted by the api based on their order key\n\t\t\treturn data.ocs.data\n\t\t}\n\t} catch (error) {\n\t\tconsole.error(error)\n\t}\n\treturn []\n}\n\n/**\n * Get the list of available search providers\n *\n * @param {object} options destructuring object\n * @param {string} options.type the type to search\n * @param {string} options.query the search\n * @param {number|string|undefined} options.cursor the offset for paginated searches\n * @param {string} options.since the search\n * @param {string} options.until the search\n * @param {string} options.limit the search\n * @param {string} options.person the search\n * @return {object} {request: Promise, cancel: Promise}\n */\nexport function search({ type, query, cursor, since, until, limit, person }) {\n\t/**\n\t * Generate an axios cancel token\n\t */\n\tconst cancelToken = createCancelToken()\n\n\tconst request = async () => axios.get(generateOcsUrl('search/providers/{type}/search', { type }), {\n\t\tcancelToken: cancelToken.token,\n\t\tparams: {\n\t\t\tterm: query,\n\t\t\tcursor,\n\t\t\tsince,\n\t\t\tuntil,\n\t\t\tlimit,\n\t\t\tperson,\n\t\t\t// Sending which location we're currently at\n\t\t\tfrom: window.location.pathname.replace('/index.php', '') + window.location.search,\n\t\t},\n\t})\n\n\treturn {\n\t\trequest,\n\t\tcancel: cancelToken.cancel,\n\t}\n}\n\n/**\n * Get the list of active contacts\n *\n * @param {object} filter filter contacts by string\n * @param filter.searchTerm\n * @return {object} {request: Promise}\n */\nexport async function getContacts({ searchTerm }) {\n\tconst { data: { contacts } } = await axios.post(generateUrl('/contactsmenu/contacts'), {\n\t\tfilter: searchTerm,\n\t})\n\t/*\n\t * Add authenticated user to list of contacts for search filter\n\t * If authtenicated user is searching/filtering, do not add them to the list\n\t */\n\tif (!searchTerm) {\n\t\tlet authenticatedUser = getCurrentUser()\n\t\tauthenticatedUser = {\n\t\t\tid: authenticatedUser.uid,\n\t\t\tfullName: authenticatedUser.displayName,\n\t\t\temailAddresses: [],\n\t\t }\n\t\tcontacts.unshift(authenticatedUser)\n\t\treturn contacts\n\t }\n\n\treturn contacts\n}\n","<template>\n\t<NcModal id=\"unified-search\"\n\t\tref=\"unifiedSearchModal\"\n\t\t:name=\"t('core', 'Unified search')\"\n\t\t:show.sync=\"internalIsVisible\"\n\t\t:clear-view-delay=\"0\"\n\t\t@close=\"closeModal\">\n\t\t<CustomDateRangeModal :is-open=\"showDateRangeModal\"\n\t\t\tclass=\"unified-search__date-range\"\n\t\t\t@set:custom-date-range=\"setCustomDateRange\"\n\t\t\t@update:is-open=\"showDateRangeModal = $event\" />\n\t\t<!-- Unified search form -->\n\t\t<div ref=\"unifiedSearch\" class=\"unified-search-modal\">\n\t\t\t<div class=\"unified-search-modal__header\">\n\t\t\t\t<h1>{{ t('core', 'Unified search') }}</h1>\n\t\t\t\t<NcInputField ref=\"searchInput\"\n\t\t\t\t\t:value.sync=\"searchQuery\"\n\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t:label=\"t('core', 'Search apps, files, tags, messages') + '...'\"\n\t\t\t\t\t@update:value=\"debouncedFind\" />\n\t\t\t\t<div class=\"unified-search-modal__filters\">\n\t\t\t\t\t<NcActions :menu-name=\"t('core', 'Apps and Settings')\" :open.sync=\"providerActionMenuIsOpen\">\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<ListBox :size=\"20\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<NcActionButton v-for=\"provider in providers\"\n\t\t\t\t\t\t\t:key=\"provider.id\"\n\t\t\t\t\t\t\t@click=\"addProviderFilter(provider)\">\n\t\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t\t<img :src=\"provider.icon\" class=\"filter-button__icon\" alt=\"\">\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t{{ provider.name }}\n\t\t\t\t\t\t</NcActionButton>\n\t\t\t\t\t</NcActions>\n\t\t\t\t\t<NcActions :menu-name=\"t('core', 'Date')\" :open.sync=\"dateActionMenuIsOpen\">\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<CalendarRangeIcon :size=\"20\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<NcActionButton :close-after-click=\"true\" @click=\"applyQuickDateRange('today')\">\n\t\t\t\t\t\t\t{{ t('core', 'Today') }}\n\t\t\t\t\t\t</NcActionButton>\n\t\t\t\t\t\t<NcActionButton :close-after-click=\"true\" @click=\"applyQuickDateRange('7days')\">\n\t\t\t\t\t\t\t{{ t('core', 'Last 7 days') }}\n\t\t\t\t\t\t</NcActionButton>\n\t\t\t\t\t\t<NcActionButton :close-after-click=\"true\" @click=\"applyQuickDateRange('30days')\">\n\t\t\t\t\t\t\t{{ t('core', 'Last 30 days') }}\n\t\t\t\t\t\t</NcActionButton>\n\t\t\t\t\t\t<NcActionButton :close-after-click=\"true\" @click=\"applyQuickDateRange('thisyear')\">\n\t\t\t\t\t\t\t{{ t('core', 'This year') }}\n\t\t\t\t\t\t</NcActionButton>\n\t\t\t\t\t\t<NcActionButton :close-after-click=\"true\" @click=\"applyQuickDateRange('lastyear')\">\n\t\t\t\t\t\t\t{{ t('core', 'Last year') }}\n\t\t\t\t\t\t</NcActionButton>\n\t\t\t\t\t\t<NcActionButton :close-after-click=\"true\" @click=\"applyQuickDateRange('custom')\">\n\t\t\t\t\t\t\t{{ t('core', 'Custom date range') }}\n\t\t\t\t\t\t</NcActionButton>\n\t\t\t\t\t</NcActions>\n\t\t\t\t\t<SearchableList :label-text=\"t('core', 'Search people')\"\n\t\t\t\t\t\t:search-list=\"userContacts\"\n\t\t\t\t\t\t:empty-content-text=\"t('core', 'Not found')\"\n\t\t\t\t\t\t@search-term-change=\"debouncedFilterContacts\"\n\t\t\t\t\t\t@item-selected=\"applyPersonFilter\">\n\t\t\t\t\t\t<template #trigger>\n\t\t\t\t\t\t\t<NcButton>\n\t\t\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t\t\t<AccountGroup :size=\"20\" />\n\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t{{ t('core', 'People') }}\n\t\t\t\t\t\t\t</NcButton>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</SearchableList>\n\t\t\t\t\t<NcButton v-if=\"supportFiltering\" @click=\"closeModal\">\n\t\t\t\t\t\t{{ t('core', 'Filter in current view') }}\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<FilterIcon :size=\"20\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</NcButton>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"unified-search-modal__filters-applied\">\n\t\t\t\t\t<FilterChip v-for=\"filter in filters\"\n\t\t\t\t\t\t:key=\"filter.id\"\n\t\t\t\t\t\t:text=\"filter.name ?? filter.text\"\n\t\t\t\t\t\t:pretext=\"''\"\n\t\t\t\t\t\t@delete=\"removeFilter(filter)\">\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<NcAvatar v-if=\"filter.type === 'person'\"\n\t\t\t\t\t\t\t\t:user=\"filter.user\"\n\t\t\t\t\t\t\t\t:size=\"24\"\n\t\t\t\t\t\t\t\t:disable-menu=\"true\"\n\t\t\t\t\t\t\t\t:show-user-status=\"false\"\n\t\t\t\t\t\t\t\t:hide-favorite=\"false\" />\n\t\t\t\t\t\t\t<CalendarRangeIcon v-else-if=\"filter.type === 'date'\" />\n\t\t\t\t\t\t\t<img v-else :src=\"filter.icon\" alt=\"\">\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</FilterChip>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div v-if=\"noContentInfo.show\" class=\"unified-search-modal__no-content\">\n\t\t\t\t<NcEmptyContent :name=\"noContentInfo.text\">\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<component :is=\"noContentInfo.icon\" />\n\t\t\t\t\t</template>\n\t\t\t\t</NcEmptyContent>\n\t\t\t</div>\n\t\t\t<div v-else class=\"unified-search-modal__results\">\n\t\t\t\t<div v-for=\"providerResult in results\" :key=\"providerResult.id\" class=\"result\">\n\t\t\t\t\t<div class=\"result-title\">\n\t\t\t\t\t\t<span>{{ providerResult.provider }}</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t<ul class=\"result-items\">\n\t\t\t\t\t\t<SearchResult v-for=\"(result, index) in providerResult.results\" :key=\"index\" v-bind=\"result\" />\n\t\t\t\t\t</ul>\n\t\t\t\t\t<div class=\"result-footer\">\n\t\t\t\t\t\t<NcButton type=\"tertiary-no-background\" @click=\"loadMoreResultsForProvider(providerResult.id)\">\n\t\t\t\t\t\t\t{{ t('core', 'Load more results') }}\n\t\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t\t<DotsHorizontalIcon :size=\"20\" />\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t</NcButton>\n\t\t\t\t\t\t<NcButton v-if=\"providerResult.inAppSearch\" alignment=\"end-reverse\" type=\"tertiary-no-background\">\n\t\t\t\t\t\t\t{{ t('core', 'Search in') }} {{ providerResult.provider }}\n\t\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t\t<ArrowRight :size=\"20\" />\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t</NcButton>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</NcModal>\n</template>\n\n<script>\nimport ArrowRight from 'vue-material-design-icons/ArrowRight.vue'\nimport AccountGroup from 'vue-material-design-icons/AccountGroup.vue'\nimport CalendarRangeIcon from 'vue-material-design-icons/CalendarRange.vue'\nimport CustomDateRangeModal from '../components/UnifiedSearch/CustomDateRangeModal.vue'\nimport DotsHorizontalIcon from 'vue-material-design-icons/DotsHorizontal.vue'\nimport FilterIcon from 'vue-material-design-icons/Filter.vue'\nimport FilterChip from '../components/UnifiedSearch/SearchFilterChip.vue'\nimport ListBox from 'vue-material-design-icons/ListBox.vue'\nimport NcActions from '@nextcloud/vue/dist/Components/NcActions.js'\nimport NcActionButton from '@nextcloud/vue/dist/Components/NcActionButton.js'\nimport NcAvatar from '@nextcloud/vue/dist/Components/NcAvatar.js'\nimport NcButton from '@nextcloud/vue/dist/Components/NcButton.js'\nimport NcEmptyContent from '@nextcloud/vue/dist/Components/NcEmptyContent.js'\nimport NcInputField from '@nextcloud/vue/dist/Components/NcInputField.js'\nimport NcModal from '@nextcloud/vue/dist/Components/NcModal.js'\nimport MagnifyIcon from 'vue-material-design-icons/Magnify.vue'\nimport SearchableList from '../components/UnifiedSearch/SearchableList.vue'\nimport SearchResult from '../components/UnifiedSearch/SearchResult.vue'\n\nimport debounce from 'debounce'\nimport { emit } from '@nextcloud/event-bus'\nimport { useBrowserLocation } from '@vueuse/core'\nimport { getProviders, search as unifiedSearch, getContacts } from '../services/UnifiedSearchService.js'\n\nexport default {\n\tname: 'UnifiedSearchModal',\n\tcomponents: {\n\t\tArrowRight,\n\t\tAccountGroup,\n\t\tCalendarRangeIcon,\n\t\tCustomDateRangeModal,\n\t\tDotsHorizontalIcon,\n\t\tFilterIcon,\n\t\tFilterChip,\n\t\tListBox,\n\t\tNcActions,\n\t\tNcActionButton,\n\t\tNcAvatar,\n\t\tNcButton,\n\t\tNcEmptyContent,\n\t\tNcModal,\n\t\tNcInputField,\n\t\tMagnifyIcon,\n\t\tSearchableList,\n\t\tSearchResult,\n\t},\n\tprops: {\n\t\tisVisible: {\n\t\t\ttype: Boolean,\n\t\t\trequired: true,\n\t\t},\n\t},\n\tsetup() {\n\t\t/**\n\t\t * Reactive version of window.location\n\t\t */\n\t\tconst currentLocation = useBrowserLocation()\n\t\treturn {\n\t\t\tcurrentLocation,\n\t\t}\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tproviders: [],\n\t\t\tproviderActionMenuIsOpen: false,\n\t\t\tdateActionMenuIsOpen: false,\n\t\t\tproviderResultLimit: 5,\n\t\t\tdateFilter: { id: 'date', type: 'date', text: '', startFrom: null, endAt: null },\n\t\t\tpersonFilter: { id: 'person', type: 'person', name: '' },\n\t\t\tdateFilterIsApplied: false,\n\t\t\tpersonFilterIsApplied: false,\n\t\t\tfilteredProviders: [],\n\t\t\tsearching: false,\n\t\t\tsearchQuery: '',\n\t\t\tplacessearchTerm: '',\n\t\t\tdateTimeFilter: null,\n\t\t\tfilters: [],\n\t\t\tresults: [],\n\t\t\tcontacts: [],\n\t\t\tdebouncedFind: debounce(this.find, 300),\n\t\t\tdebouncedFilterContacts: debounce(this.filterContacts, 300),\n\t\t\tshowDateRangeModal: false,\n\t\t\tinternalIsVisible: false,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tuserContacts() {\n\t\t\treturn this.contacts\n\t\t},\n\t\tnoContentInfo() {\n\t\t\tconst isEmptySearch = this.searchQuery.length === 0\n\t\t\tconst hasNoResults = this.searchQuery.length > 0 && this.results.length === 0\n\t\t\treturn {\n\t\t\t\tshow: isEmptySearch || hasNoResults,\n\t\t\t\ttext: this.searching && hasNoResults ? t('core', 'Searching …') : (isEmptySearch ? t('core', 'Start typing to search') : t('core', 'No matching results')),\n\t\t\t\ticon: MagnifyIcon,\n\t\t\t}\n\t\t},\n\t\tsupportFiltering() {\n\t\t\t/* Hard coded apps for the moment this would be improved in coming updates. */\n\t\t\tconst providerPaths = ['/settings/users', '/apps/files', '/apps/deck']\n\t\t\treturn providerPaths.some((path) => this.currentLocation.pathname?.includes?.(path))\n\t\t},\n\t},\n\twatch: {\n\t\tisVisible(value) {\n\t\t\tthis.internalIsVisible = value\n\t\t},\n\t\tinternalIsVisible(value) {\n\t\t\tthis.$emit('update:isVisible', value)\n\t\t\tthis.$nextTick(() => {\n\t\t\t\tif (value) {\n\t\t\t\t\tthis.focusInput()\n\t\t\t\t}\n\t\t\t})\n\t\t},\n\n\t},\n\tmounted() {\n\t\tgetProviders().then((providers) => {\n\t\t\tthis.providers = providers\n\t\t\tconsole.debug('Search providers', this.providers)\n\t\t})\n\t\tgetContacts({ searchTerm: '' }).then((contacts) => {\n\t\t\tthis.contacts = this.mapContacts(contacts)\n\t\t\tconsole.debug('Contacts', this.contacts)\n\t\t})\n\t},\n\tmethods: {\n\t\tfind(query) {\n\t\t\tthis.searching = true\n\t\t\tif (query.length === 0) {\n\t\t\t\tthis.results = []\n\t\t\t\tthis.searching = false\n\t\t\t\treturn\n\t\t\t}\n\t\t\t// Event should probably be refactored at some point to used nextcloud:unified-search.search\n\t\t\temit('nextcloud:unified-search.search', { query })\n\t\t\tconst newResults = []\n\t\t\tconst providersToSearch = this.filteredProviders.length > 0 ? this.filteredProviders : this.providers\n\t\t\tconst searchProvider = (provider, filters) => {\n\t\t\t\tconst params = {\n\t\t\t\t\ttype: provider.id,\n\t\t\t\t\tquery,\n\t\t\t\t\tcursor: null,\n\t\t\t\t}\n\n\t\t\t\tif (filters.dateFilterIsApplied) {\n\t\t\t\t\tif (provider.filters.since && provider.filters.until) {\n\t\t\t\t\t\tparams.since = this.dateFilter.startFrom\n\t\t\t\t\t\tparams.until = this.dateFilter.endAt\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Date filter is applied but provider does not support it, no need to search provider\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (filters.personFilterIsApplied) {\n\t\t\t\t\tif (provider.filters.person) {\n\t\t\t\t\t\tparams.person = this.personFilter.user\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Person filter is applied but provider does not support it, no need to search provider\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (this.providerResultLimit > 5) {\n\t\t\t\t\tparams.limit = this.providerResultLimit\n\t\t\t\t}\n\n\t\t\t\tconst request = unifiedSearch(params).request\n\n\t\t\t\trequest().then((response) => {\n\t\t\t\t\tnewResults.push({\n\t\t\t\t\t\tid: provider.id,\n\t\t\t\t\t\tprovider: provider.name,\n\t\t\t\t\t\tinAppSearch: provider.inAppSearch,\n\t\t\t\t\t\tresults: response.data.ocs.data.entries,\n\t\t\t\t\t})\n\n\t\t\t\t\tconsole.debug('New results', newResults)\n\t\t\t\t\tconsole.debug('Unified search results:', this.results)\n\n\t\t\t\t\tthis.updateResults(newResults)\n\t\t\t\t\tthis.searching = false\n\t\t\t\t})\n\t\t\t}\n\t\t\tprovidersToSearch.forEach(provider => {\n\t\t\t\tconst dateFilterIsApplied = this.dateFilterIsApplied\n\t\t\t\tconst personFilterIsApplied = this.personFilterIsApplied\n\t\t\t\tsearchProvider(provider, { dateFilterIsApplied, personFilterIsApplied })\n\t\t\t})\n\n\t\t},\n\t\tupdateResults(newResults) {\n\t\t\tlet updatedResults = [...this.results]\n\t\t\t// If filters are applied, remove any previous results for providers that are not in current filters\n\t\t\tif (this.filters.length > 0) {\n\t\t\t\tupdatedResults = updatedResults.filter(result => {\n\t\t\t\t\treturn this.filters.some(filter => filter.id === result.id)\n\t\t\t\t})\n\t\t\t}\n\t\t\t// Process the new results\n\t\t\tnewResults.forEach(newResult => {\n\t\t\t\tconst existingResultIndex = updatedResults.findIndex(result => result.id === newResult.id)\n\t\t\t\tif (existingResultIndex !== -1) {\n\t\t\t\t\tif (newResult.results.length === 0) {\n\t\t\t\t\t\t// If the new results data has no matches for and existing result, remove the existing result\n\t\t\t\t\t\tupdatedResults.splice(existingResultIndex, 1)\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// If input triggered a change in existing results, update existing result\n\t\t\t\t\t\tupdatedResults.splice(existingResultIndex, 1, newResult)\n\t\t\t\t\t}\n\t\t\t\t} else if (newResult.results.length > 0) {\n\t\t\t\t\t// Push the new result to the array only if its results array is not empty\n\t\t\t\t\tupdatedResults.push(newResult)\n\t\t\t\t}\n\t\t\t})\n\t\t\tconst sortedResults = updatedResults.slice(0)\n\t\t\t// Order results according to provider preference\n\t\t\tsortedResults.sort((a, b) => {\n\t\t\t\tconst aProvider = this.providers.find(provider => provider.id === a.id)\n\t\t\t\tconst bProvider = this.providers.find(provider => provider.id === b.id)\n\t\t\t\tconst aOrder = aProvider ? aProvider.order : 0\n\t\t\t\tconst bOrder = bProvider ? bProvider.order : 0\n\t\t\t\treturn aOrder - bOrder\n\t\t\t})\n\t\t\tthis.results = sortedResults\n\t\t},\n\t\tmapContacts(contacts) {\n\t\t\treturn contacts.map(contact => {\n\t\t\t\treturn {\n\t\t\t\t\t// id: contact.id,\n\t\t\t\t\t// name: '',\n\t\t\t\t\tdisplayName: contact.fullName,\n\t\t\t\t\tisNoUser: false,\n\t\t\t\t\tsubname: contact.emailAddresses[0] ? contact.emailAddresses[0] : '',\n\t\t\t\t\ticon: '',\n\t\t\t\t\tuser: contact.id,\n\t\t\t\t}\n\t\t\t})\n\t\t},\n\t\tfilterContacts(query) {\n\t\t\tgetContacts({ searchTerm: query }).then((contacts) => {\n\t\t\t\tthis.contacts = this.mapContacts(contacts)\n\t\t\t\tconsole.debug(`Contacts filtered by ${query}`, this.contacts)\n\t\t\t})\n\t\t},\n\t\tapplyPersonFilter(person) {\n\t\t\tthis.personFilterIsApplied = true\n\t\t\tconst existingPersonFilter = this.filters.findIndex(filter => filter.id === person.id)\n\t\t\tif (existingPersonFilter === -1) {\n\t\t\t\tthis.personFilter.id = person.id\n\t\t\t\tthis.personFilter.user = person.user\n\t\t\t\tthis.personFilter.name = person.displayName\n\t\t\t\tthis.filters.push(this.personFilter)\n\t\t\t} else {\n\t\t\t\tthis.filters[existingPersonFilter].id = person.id\n\t\t\t\tthis.filters[existingPersonFilter].user = person.user\n\t\t\t\tthis.filters[existingPersonFilter].name = person.displayName\n\t\t\t}\n\n\t\t\tthis.debouncedFind(this.searchQuery)\n\t\t\tconsole.debug('Person filter applied', person)\n\t\t},\n\t\tloadMoreResultsForProvider(providerId) {\n\t\t\tthis.providerResultLimit += 5\n\t\t\tthis.filters = this.filters.filter(filter => filter.type !== 'provider')\n\t\t\tconst provider = this.providers.find(provider => provider.id === providerId)\n\t\t\tthis.addProviderFilter(provider, true)\n\t\t},\n\t\taddProviderFilter(providerFilter, loadMoreResultsForProvider = false) {\n\t\t\tif (!providerFilter.id) return\n\t\t\tthis.providerResultLimit = loadMoreResultsForProvider ? this.providerResultLimit : 5\n\t\t\tthis.providerActionMenuIsOpen = false\n\t\t\tconst existingFilter = this.filteredProviders.find(existing => existing.id === providerFilter.id)\n\t\t\tif (!existingFilter) {\n\t\t\t\tthis.filteredProviders.push({ id: providerFilter.id, name: providerFilter.name, icon: providerFilter.icon, type: 'provider', filters: providerFilter.filters })\n\t\t\t}\n\t\t\tthis.filters = this.syncProviderFilters(this.filters, this.filteredProviders)\n\t\t\tconsole.debug('Search filters (newly added)', this.filters)\n\t\t\tthis.debouncedFind(this.searchQuery)\n\t\t},\n\t\tremoveFilter(filter) {\n\t\t\tif (filter.type === 'provider') {\n\t\t\t\tfor (let i = 0; i < this.filteredProviders.length; i++) {\n\t\t\t\t\tif (this.filteredProviders[i].id === filter.id) {\n\t\t\t\t\t\tthis.filteredProviders.splice(i, 1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis.filters = this.syncProviderFilters(this.filters, this.filteredProviders)\n\t\t\t\tconsole.debug('Search filters (recently removed)', this.filters)\n\n\t\t\t} else {\n\t\t\t\tfor (let i = 0; i < this.filters.length; i++) {\n\t\t\t\t\t// Remove date and person filter\n\t\t\t\t\tif (this.filters[i].id === 'date' || this.filters[i].id === filter.id) {\n\t\t\t\t\t\tthis.dateFilterIsApplied = false\n\t\t\t\t\t\tthis.filters.splice(i, 1)\n\t\t\t\t\t\tif (filter.type === 'person') {\n\t\t\t\t\t\t\tthis.personFilterIsApplied = false\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.debouncedFind(this.searchQuery)\n\t\t},\n\t\tsyncProviderFilters(firstArray, secondArray) {\n\t\t\t// Create a copy of the first array to avoid modifying it directly.\n\t\t\tconst synchronizedArray = firstArray.slice()\n\t\t\t// Remove items from the synchronizedArray that are not in the secondArray.\n\t\t\tsynchronizedArray.forEach((item, index) => {\n\t\t\t\tconst itemId = item.id\n\t\t\t\tif (item.type === 'provider') {\n\t\t\t\t\tif (!secondArray.some(secondItem => secondItem.id === itemId)) {\n\t\t\t\t\t\tsynchronizedArray.splice(index, 1)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\t\t\t// Add items to the synchronizedArray that are in the secondArray but not in the firstArray.\n\t\t\tsecondArray.forEach(secondItem => {\n\t\t\t\tconst itemId = secondItem.id\n\t\t\t\tif (secondItem.type === 'provider') {\n\t\t\t\t\tif (!synchronizedArray.some(item => item.id === itemId)) {\n\t\t\t\t\t\tsynchronizedArray.push(secondItem)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\n\t\t\treturn synchronizedArray\n\t\t},\n\t\tupdateDateFilter() {\n\t\t\tconst currFilterIndex = this.filters.findIndex(filter => filter.id === 'date')\n\t\t\tif (currFilterIndex !== -1) {\n\t\t\t\tthis.filters[currFilterIndex] = this.dateFilter\n\t\t\t} else {\n\t\t\t\tthis.filters.push(this.dateFilter)\n\t\t\t}\n\t\t\tthis.dateFilterIsApplied = true\n\t\t\tthis.debouncedFind(this.searchQuery)\n\t\t},\n\t\tapplyQuickDateRange(range) {\n\t\t\tthis.dateActionMenuIsOpen = false\n\t\t\tconst today = new Date()\n\t\t\tlet startDate\n\t\t\tlet endDate\n\n\t\t\tswitch (range) {\n\t\t\tcase 'today':\n\t\t\t\t// For 'Today', both start and end are set to today\n\t\t\t\tstartDate = new Date(today.getFullYear(), today.getMonth(), today.getDate(), 0, 0, 0, 0)\n\t\t\t\tendDate = new Date(today.getFullYear(), today.getMonth(), today.getDate(), 23, 59, 59, 999)\n\t\t\t\tthis.dateFilter.text = t('core', 'Today')\n\t\t\t\tbreak\n\t\t\tcase '7days':\n\t\t\t\t// For 'Last 7 days', start date is 7 days ago, end is today\n\t\t\t\tstartDate = new Date(today.getFullYear(), today.getMonth(), today.getDate() - 6, 0, 0, 0, 0)\n\t\t\t\tthis.dateFilter.text = t('core', 'Last 7 days')\n\t\t\t\tbreak\n\t\t\tcase '30days':\n\t\t\t\t// For 'Last 30 days', start date is 30 days ago, end is today\n\t\t\t\tstartDate = new Date(today.getFullYear(), today.getMonth(), today.getDate() - 29, 0, 0, 0, 0)\n\t\t\t\tthis.dateFilter.text = t('core', 'Last 30 days')\n\t\t\t\tbreak\n\t\t\tcase 'thisyear':\n\t\t\t\t// For 'This year', start date is the first day of the year, end is the last day of the year\n\t\t\t\tstartDate = new Date(today.getFullYear(), 0, 1, 0, 0, 0, 0)\n\t\t\t\tendDate = new Date(today.getFullYear(), 11, 31, 23, 59, 59, 999)\n\t\t\t\tthis.dateFilter.text = t('core', 'This year')\n\t\t\t\tbreak\n\t\t\tcase 'lastyear':\n\t\t\t\t// For 'Last year', start date is the first day of the previous year, end is the last day of the previous year\n\t\t\t\tstartDate = new Date(today.getFullYear() - 1, 0, 1, 0, 0, 0, 0)\n\t\t\t\tendDate = new Date(today.getFullYear() - 1, 11, 31, 23, 59, 59, 999)\n\t\t\t\tthis.dateFilter.text = t('core', 'Last year')\n\t\t\t\tbreak\n\t\t\tcase 'custom':\n\t\t\t\tthis.showDateRangeModal = true\n\t\t\t\treturn\n\t\t\tdefault:\n\t\t\t\treturn\n\t\t\t}\n\t\t\tthis.dateFilter.startFrom = startDate\n\t\t\tthis.dateFilter.endAt = endDate\n\t\t\tthis.updateDateFilter()\n\n\t\t},\n\t\tsetCustomDateRange(event) {\n\t\t\tconsole.debug('Custom date range', event)\n\t\t\tthis.dateFilter.startFrom = event.startFrom\n\t\t\tthis.dateFilter.endAt = event.endAt\n\t\t\tthis.dateFilter.text = t('core', `Between ${this.dateFilter.startFrom.toLocaleDateString()} and ${this.dateFilter.endAt.toLocaleDateString()}`)\n\t\t\tthis.updateDateFilter()\n\t\t},\n\t\tfocusInput() {\n\t\t\tthis.$refs.searchInput.$el.children[0].children[0].focus()\n\t\t},\n\t\tcloseModal() {\n\t\t\tthis.internalIsVisible = false\n\t\t\tthis.searchQuery = ''\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.unified-search-modal {\n\tbox-sizing: border-box;\n\theight: 100%;\n\n\tdisplay: flex;\n\tflex-direction: column;\n\tpadding-block: 10px 0;\n\n\t// inline padding on direct children to make sure the scrollbar is on the modal container\n\t> * {\n\t\tpadding-inline: 20px;\n\t}\n\n\t&__header {\n\t\tpadding-block-end: 8px;\n\t}\n\n\t&__heading {\n\t\tfont-size: 16px;\n\t\tfont-weight: bolder;\n\t\tline-height: 2em;\n\t\tmargin-bottom: 0;\n\t}\n\n\t&__filters {\n\t\tdisplay: flex;\n\t\tflex-wrap: wrap;\n\t\tgap: 4px;\n\t\tjustify-content: start;\n\t\tpadding-top: 4px;\n\t}\n\n\t&__filters-applied {\n\t\tpadding-top: 4px;\n\t\tdisplay: flex;\n\t\tflex-wrap: wrap;\n\t}\n\n\t&__no-content {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\theight: 100%;\n\t}\n\n\t&__results {\n\t\toverflow: hidden scroll;\n\t\tpadding-block: 0 10px;\n\n\t\t.result {\n\t\t\t&-title {\n\t\t\t\tspan {\n\t\t\t\t\tcolor: var(--color-primary-element);\n\t\t\t\t\tfont-weight: bolder;\n\t\t\t\t\tfont-size: 16px;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t&-footer {\n\t\t\t\tjustify-content: space-between;\n\t\t\t\talign-items: center;\n\t\t\t\tdisplay: flex;\n\t\t\t}\n\t\t}\n\n\t}\n}\n\n.filter-button__icon {\n\theight: 20px;\n\twidth: 20px;\n\tobject-fit: contain;\n\tfilter: var(--background-invert-if-bright);\n\tpadding: 11px; // align with text to fit at least 44px\n}\n\n// Ensure modal is accessible on small devices\n@media only screen and (max-height: 400px) {\n\t.unified-search-modal__results {\n\t\toverflow: unset;\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!./UnifiedSearchModal.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!./UnifiedSearchModal.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/sass-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UnifiedSearchModal.vue?vue&type=style&index=0&id=7a8bad6d&prod&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/sass-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UnifiedSearchModal.vue?vue&type=style&index=0&id=7a8bad6d&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./UnifiedSearchModal.vue?vue&type=template&id=7a8bad6d&scoped=true\"\nimport script from \"./UnifiedSearchModal.vue?vue&type=script&lang=js\"\nexport * from \"./UnifiedSearchModal.vue?vue&type=script&lang=js\"\nimport style0 from \"./UnifiedSearchModal.vue?vue&type=style&index=0&id=7a8bad6d&prod&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 \"7a8bad6d\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('NcModal',{ref:\"unifiedSearchModal\",attrs:{\"id\":\"unified-search\",\"name\":_vm.t('core', 'Unified search'),\"show\":_vm.internalIsVisible,\"clear-view-delay\":0},on:{\"update:show\":function($event){_vm.internalIsVisible=$event},\"close\":_vm.closeModal}},[_c('CustomDateRangeModal',{staticClass:\"unified-search__date-range\",attrs:{\"is-open\":_vm.showDateRangeModal},on:{\"set:custom-date-range\":_vm.setCustomDateRange,\"update:is-open\":function($event){_vm.showDateRangeModal = $event}}}),_vm._v(\" \"),_c('div',{ref:\"unifiedSearch\",staticClass:\"unified-search-modal\"},[_c('div',{staticClass:\"unified-search-modal__header\"},[_c('h1',[_vm._v(_vm._s(_vm.t('core', 'Unified search')))]),_vm._v(\" \"),_c('NcInputField',{ref:\"searchInput\",attrs:{\"value\":_vm.searchQuery,\"type\":\"text\",\"label\":_vm.t('core', 'Search apps, files, tags, messages') + '...'},on:{\"update:value\":[function($event){_vm.searchQuery=$event},_vm.debouncedFind]}}),_vm._v(\" \"),_c('div',{staticClass:\"unified-search-modal__filters\"},[_c('NcActions',{attrs:{\"menu-name\":_vm.t('core', 'Apps and Settings'),\"open\":_vm.providerActionMenuIsOpen},on:{\"update:open\":function($event){_vm.providerActionMenuIsOpen=$event}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('ListBox',{attrs:{\"size\":20}})]},proxy:true}])},[_vm._v(\" \"),_vm._l((_vm.providers),function(provider){return _c('NcActionButton',{key:provider.id,on:{\"click\":function($event){return _vm.addProviderFilter(provider)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('img',{staticClass:\"filter-button__icon\",attrs:{\"src\":provider.icon,\"alt\":\"\"}})]},proxy:true}],null,true)},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(provider.name)+\"\\n\\t\\t\\t\\t\\t\")])})],2),_vm._v(\" \"),_c('NcActions',{attrs:{\"menu-name\":_vm.t('core', 'Date'),\"open\":_vm.dateActionMenuIsOpen},on:{\"update:open\":function($event){_vm.dateActionMenuIsOpen=$event}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('CalendarRangeIcon',{attrs:{\"size\":20}})]},proxy:true}])},[_vm._v(\" \"),_c('NcActionButton',{attrs:{\"close-after-click\":true},on:{\"click\":function($event){return _vm.applyQuickDateRange('today')}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('core', 'Today'))+\"\\n\\t\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('NcActionButton',{attrs:{\"close-after-click\":true},on:{\"click\":function($event){return _vm.applyQuickDateRange('7days')}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('core', 'Last 7 days'))+\"\\n\\t\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('NcActionButton',{attrs:{\"close-after-click\":true},on:{\"click\":function($event){return _vm.applyQuickDateRange('30days')}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('core', 'Last 30 days'))+\"\\n\\t\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('NcActionButton',{attrs:{\"close-after-click\":true},on:{\"click\":function($event){return _vm.applyQuickDateRange('thisyear')}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('core', 'This year'))+\"\\n\\t\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('NcActionButton',{attrs:{\"close-after-click\":true},on:{\"click\":function($event){return _vm.applyQuickDateRange('lastyear')}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('core', 'Last year'))+\"\\n\\t\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('NcActionButton',{attrs:{\"close-after-click\":true},on:{\"click\":function($event){return _vm.applyQuickDateRange('custom')}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('core', 'Custom date range'))+\"\\n\\t\\t\\t\\t\\t\")])],1),_vm._v(\" \"),_c('SearchableList',{attrs:{\"label-text\":_vm.t('core', 'Search people'),\"search-list\":_vm.userContacts,\"empty-content-text\":_vm.t('core', 'Not found')},on:{\"search-term-change\":_vm.debouncedFilterContacts,\"item-selected\":_vm.applyPersonFilter},scopedSlots:_vm._u([{key:\"trigger\",fn:function(){return [_c('NcButton',{scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('AccountGroup',{attrs:{\"size\":20}})]},proxy:true}])},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('core', 'People'))+\"\\n\\t\\t\\t\\t\\t\\t\")])]},proxy:true}])}),_vm._v(\" \"),(_vm.supportFiltering)?_c('NcButton',{on:{\"click\":_vm.closeModal},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('FilterIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,2021673347)},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('core', 'Filter in current view'))+\"\\n\\t\\t\\t\\t\\t\")]):_vm._e()],1),_vm._v(\" \"),_c('div',{staticClass:\"unified-search-modal__filters-applied\"},_vm._l((_vm.filters),function(filter){return _c('FilterChip',{key:filter.id,attrs:{\"text\":filter.name ?? filter.text,\"pretext\":''},on:{\"delete\":function($event){return _vm.removeFilter(filter)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(filter.type === 'person')?_c('NcAvatar',{attrs:{\"user\":filter.user,\"size\":24,\"disable-menu\":true,\"show-user-status\":false,\"hide-favorite\":false}}):(filter.type === 'date')?_c('CalendarRangeIcon'):_c('img',{attrs:{\"src\":filter.icon,\"alt\":\"\"}})]},proxy:true}],null,true)})}),1)],1),_vm._v(\" \"),(_vm.noContentInfo.show)?_c('div',{staticClass:\"unified-search-modal__no-content\"},[_c('NcEmptyContent',{attrs:{\"name\":_vm.noContentInfo.text},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_vm.noContentInfo.icon,{tag:\"component\"})]},proxy:true}],null,false,604901229)})],1):_c('div',{staticClass:\"unified-search-modal__results\"},_vm._l((_vm.results),function(providerResult){return _c('div',{key:providerResult.id,staticClass:\"result\"},[_c('div',{staticClass:\"result-title\"},[_c('span',[_vm._v(_vm._s(providerResult.provider))])]),_vm._v(\" \"),_c('ul',{staticClass:\"result-items\"},_vm._l((providerResult.results),function(result,index){return _c('SearchResult',_vm._b({key:index},'SearchResult',result,false))}),1),_vm._v(\" \"),_c('div',{staticClass:\"result-footer\"},[_c('NcButton',{attrs:{\"type\":\"tertiary-no-background\"},on:{\"click\":function($event){return _vm.loadMoreResultsForProvider(providerResult.id)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('DotsHorizontalIcon',{attrs:{\"size\":20}})]},proxy:true}],null,true)},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('core', 'Load more results'))+\"\\n\\t\\t\\t\\t\\t\\t\")]),_vm._v(\" \"),(providerResult.inAppSearch)?_c('NcButton',{attrs:{\"alignment\":\"end-reverse\",\"type\":\"tertiary-no-background\"},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('ArrowRight',{attrs:{\"size\":20}})]},proxy:true}],null,true)},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('core', 'Search in'))+\" \"+_vm._s(providerResult.provider)+\"\\n\\t\\t\\t\\t\\t\\t\")]):_vm._e()],1)])}),0)])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }"," <!--\n - @copyright Copyright (c) 2020 Fon E. Noel NFEBE <fenn25.fn@gmail.com>\n -\n - @author Fon E. Noel NFEBE <fenn25.fn@gmail.com>\n -\n - @license GNU AGPL version 3 or any later version\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=\"header-menu\">\n\t\t<NcButton class=\"unified-search__button\" :aria-label=\"t('core', 'Unified search')\" @click=\"toggleUnifiedSearch\">\n\t\t\t<template #icon>\n\t\t\t\t<Magnify class=\"unified-search__trigger\" :size=\"22\" />\n\t\t\t</template>\n\t\t</NcButton>\n\t\t<UnifiedSearchModal :class=\"'unified-search-modal'\" :is-visible=\"showUnifiedSearch\" @update:isVisible=\"handleModalVisibilityChange\" />\n\t</div>\n</template>\n\n<script>\nimport NcButton from '@nextcloud/vue/dist/Components/NcButton.js'\nimport Magnify from 'vue-material-design-icons/Magnify.vue'\nimport UnifiedSearchModal from './UnifiedSearchModal.vue'\n\nexport default {\n\tname: 'UnifiedSearch',\n\tcomponents: {\n\t\tNcButton,\n\t\tMagnify,\n\t\tUnifiedSearchModal,\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tshowUnifiedSearch: false,\n\t\t}\n\t},\n\tmounted() {\n\t\tconsole.debug('Unified search initialized!')\n\t},\n\tmethods: {\n\t\ttoggleUnifiedSearch() {\n\t\t\tthis.showUnifiedSearch = !this.showUnifiedSearch\n\t\t},\n\t\thandleModalVisibilityChange(newVisibilityVal) {\n\t\t\tthis.showUnifiedSearch = newVisibilityVal\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.header-menu {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\n\t.unified-search__button {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\twidth: var(--header-height);\n\t\t// height: var(--header-height);\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t\tcursor: pointer;\n\t\topacity: .85;\n\t\tbackground-color: transparent;\n\t\tborder: none;\n\t\tfilter: none !important;\n\t\tcolor: var(--color-primary-text) !important;\n\n\t\t&:hover {\n\t\t\tbackground-color: transparent !important;\n\t\t}\n\t}\n}\n\n.unified-search-modal {\n\t::v-deep .modal-container {\n\t\theight: 80%;\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!./UnifiedSearch.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!./UnifiedSearch.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/sass-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UnifiedSearch.vue?vue&type=style&index=0&id=3883344d&prod&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/sass-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UnifiedSearch.vue?vue&type=style&index=0&id=3883344d&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./UnifiedSearch.vue?vue&type=template&id=3883344d&scoped=true\"\nimport script from \"./UnifiedSearch.vue?vue&type=script&lang=js\"\nexport * from \"./UnifiedSearch.vue?vue&type=script&lang=js\"\nimport style0 from \"./UnifiedSearch.vue?vue&type=style&index=0&id=3883344d&prod&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 \"3883344d\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"header-menu\"},[_c('NcButton',{staticClass:\"unified-search__button\",attrs:{\"aria-label\":_vm.t('core', 'Unified search')},on:{\"click\":_vm.toggleUnifiedSearch},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Magnify',{staticClass:\"unified-search__trigger\",attrs:{\"size\":22}})]},proxy:true}])}),_vm._v(\" \"),_c('UnifiedSearchModal',{class:'unified-search-modal',attrs:{\"is-visible\":_vm.showUnifiedSearch},on:{\"update:isVisible\":_vm.handleModalVisibilityChange}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2020 Fon E. Noel NFEBE <fenn25.fn@gmail.com>\n *\n * @author Fon E. Noel NFEBE <fenn25.fn@gmail.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\nimport { getLoggerBuilder } from '@nextcloud/logger'\nimport { getRequestToken } from '@nextcloud/auth'\nimport { translate as t, translatePlural as n } from '@nextcloud/l10n'\nimport Vue from 'vue'\n\nimport UnifiedSearch from './views/UnifiedSearch.vue'\n\n// eslint-disable-next-line camelcase\n__webpack_nonce__ = btoa(getRequestToken())\n\nconst logger = getLoggerBuilder()\n\t.setApp('unified-search')\n\t.detectUser()\n\t.build()\n\nVue.mixin({\n\tdata() {\n\t\treturn {\n\t\t\tlogger,\n\t\t}\n\t},\n\tmethods: {\n\t\tt,\n\t\tn,\n\t},\n})\n\nexport default new Vue({\n\tel: '#unified-search',\n\t// eslint-disable-next-line vue/match-component-file-name\n\tname: 'UnifiedSearchRoot',\n\trender: h => h(UnifiedSearch),\n})\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, `.unified-search-custom-date-modal[data-v-99abc4fc]{padding:10px 20px 10px 20px}.unified-search-custom-date-modal h1[data-v-99abc4fc]{font-size:16px;font-weight:bolder;line-height:2em}.unified-search-custom-date-modal__pickers[data-v-99abc4fc]{display:flex;flex-direction:column}.unified-search-custom-date-modal__footer[data-v-99abc4fc]{display:flex;justify-content:end}`, \"\",{\"version\":3,\"sources\":[\"webpack://./core/src/components/UnifiedSearch/CustomDateRangeModal.vue\"],\"names\":[],\"mappings\":\"AACA,mDACC,2BAAA,CAEA,sDACC,cAAA,CACA,kBAAA,CACA,eAAA,CAGD,4DACC,YAAA,CACA,qBAAA,CAGD,2DACC,YAAA,CACA,mBAAA\",\"sourcesContent\":[\"\\n.unified-search-custom-date-modal {\\n\\tpadding: 10px 20px 10px 20px;\\n\\n\\th1 {\\n\\t\\tfont-size: 16px;\\n\\t\\tfont-weight: bolder;\\n\\t\\tline-height: 2em;\\n\\t}\\n\\n\\t&__pickers {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t}\\n\\n\\t&__footer {\\n\\t\\tdisplay: flex;\\n\\t\\tjustify-content: end;\\n\\t}\\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, `.chip[data-v-5dc4d462]{display:flex;align-items:center;padding:2px 4px;border:1px solid var(--color-primary-element-light);border-radius:20px;background-color:var(--color-primary-element-light);margin:2px}.chip .icon[data-v-5dc4d462]{display:flex;align-items:center;padding-right:5px}.chip .icon img[data-v-5dc4d462]{width:20px;padding:2px;border-radius:20px;filter:var(--background-invert-if-bright)}.chip .text[data-v-5dc4d462]{margin:0 2px}.chip .close-icon[data-v-5dc4d462]{cursor:pointer}.chip .close-icon[data-v-5dc4d462] :hover{filter:invert(20%)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./core/src/components/UnifiedSearch/SearchFilterChip.vue\"],\"names\":[],\"mappings\":\"AACA,uBACI,YAAA,CACA,kBAAA,CACA,eAAA,CACA,mDAAA,CACA,kBAAA,CACA,mDAAA,CACA,UAAA,CAEA,6BACI,YAAA,CACA,kBAAA,CACA,iBAAA,CAEA,iCACI,UAAA,CACA,WAAA,CACA,kBAAA,CACA,yCAAA,CAIR,6BACI,YAAA,CAGJ,mCACI,cAAA,CAEA,0CACI,kBAAA\",\"sourcesContent\":[\"\\n.chip {\\n display: flex;\\n align-items: center;\\n padding: 2px 4px;\\n border: 1px solid var(--color-primary-element-light);\\n border-radius: 20px;\\n background-color: var(--color-primary-element-light);\\n margin: 2px;\\n\\n .icon {\\n display: flex;\\n align-items: center;\\n padding-right: 5px;\\n\\n img {\\n width: 20px;\\n padding: 2px;\\n border-radius: 20px;\\n filter: var(--background-invert-if-bright);\\n }\\n }\\n\\n .text {\\n margin: 0 2px;\\n }\\n\\n .close-icon {\\n cursor: pointer ;\\n\\n :hover {\\n filter: invert(20%);\\n }\\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, `.result-items__item[data-v-67d9a3cf] a{border-radius:12px;border:2px solid rgba(0,0,0,0);border-radius:var(--border-radius-large) !important}.result-items__item[data-v-67d9a3cf] a--focused{background-color:var(--color-background-hover)}.result-items__item[data-v-67d9a3cf] a:active,.result-items__item[data-v-67d9a3cf] a:hover,.result-items__item[data-v-67d9a3cf] a:focus{background-color:var(--color-background-hover);border:2px solid var(--color-border-maxcontrast)}.result-items__item[data-v-67d9a3cf] a *{cursor:pointer}.result-items__item-icon[data-v-67d9a3cf]{overflow:hidden;width:44px;height:44px;border-radius:var(--border-radius);background-repeat:no-repeat;background-position:center center;background-size:32px}.result-items__item-icon--rounded[data-v-67d9a3cf]{border-radius:22px}.result-items__item-icon--no-preview[data-v-67d9a3cf]{background-size:32px}.result-items__item-icon--with-thumbnail[data-v-67d9a3cf]{background-size:cover}.result-items__item-icon--with-thumbnail[data-v-67d9a3cf]:not(.result-items__item-icon--rounded){max-width:42px;max-height:42px;border:1px solid var(--color-border)}.result-items__item-icon img[data-v-67d9a3cf]{width:100%;height:100%;object-fit:cover;object-position:center}`, \"\",{\"version\":3,\"sources\":[\"webpack://./core/src/components/UnifiedSearch/SearchResult.vue\"],\"names\":[],\"mappings\":\"AAQI,uCACQ,kBAAA,CACA,8BAAA,CACA,mDAAA,CAEA,gDACI,8CAAA,CAGJ,wIAGI,8CAAA,CACA,gDAAA,CAGJ,yCACI,cAAA,CAKR,0CACI,eAAA,CACA,UA9BK,CA+BL,WA/BK,CAgCL,kCAAA,CACA,2BAAA,CACA,iCAAA,CACA,oBAAA,CAEA,mDACI,kBAAA,CAGJ,sDACI,oBAAA,CAGJ,0DACI,qBAAA,CAGJ,iGAEI,cAAA,CACA,eAAA,CACA,oCAAA,CAGJ,8CAEI,UAAA,CACA,WAAA,CAEA,gBAAA,CACA,sBAAA\",\"sourcesContent\":[\"\\n@use \\\"sass:math\\\";\\n$clickable-area: 44px;\\n$margin: 10px;\\n\\n.result-items {\\n &__item {\\n\\n ::v-deep a {\\n border-radius: 12px;\\n border: 2px solid transparent;\\n border-radius: var(--border-radius-large) !important;\\n\\n &--focused {\\n background-color: var(--color-background-hover);\\n }\\n\\n &:active,\\n &:hover,\\n &:focus {\\n background-color: var(--color-background-hover);\\n border: 2px solid var(--color-border-maxcontrast);\\n }\\n\\n * {\\n cursor: pointer;\\n }\\n\\n }\\n\\n &-icon {\\n overflow: hidden;\\n width: $clickable-area;\\n height: $clickable-area;\\n border-radius: var(--border-radius);\\n background-repeat: no-repeat;\\n background-position: center center;\\n background-size: 32px;\\n\\n &--rounded {\\n border-radius: math.div($clickable-area, 2);\\n }\\n\\n &--no-preview {\\n background-size: 32px;\\n }\\n\\n &--with-thumbnail {\\n background-size: cover;\\n }\\n\\n &--with-thumbnail:not(&--rounded) {\\n // compensate for border\\n max-width: $clickable-area - 2px;\\n max-height: $clickable-area - 2px;\\n border: 1px solid var(--color-border);\\n }\\n\\n img {\\n // Make sure to keep ratio\\n width: 100%;\\n height: 100%;\\n\\n object-fit: cover;\\n object-position: center;\\n }\\n }\\n\\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, `.searchable-list__wrapper[data-v-7cf71a2c]{padding:calc(var(--default-grid-baseline)*3);display:flex;flex-direction:column;align-items:center;width:250px}.searchable-list__list[data-v-7cf71a2c]{width:100%;max-height:284px;overflow-y:auto;margin-top:var(--default-grid-baseline);padding:var(--default-grid-baseline)}.searchable-list__list[data-v-7cf71a2c] .button-vue{border-radius:var(--border-radius-large) !important}.searchable-list__list[data-v-7cf71a2c] .button-vue span{font-weight:initial}.searchable-list__empty-content[data-v-7cf71a2c]{margin-top:calc(var(--default-grid-baseline)*3)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./core/src/components/UnifiedSearch/SearchableList.vue\"],\"names\":[],\"mappings\":\"AAEC,2CACC,4CAAA,CACA,YAAA,CACA,qBAAA,CACA,kBAAA,CACA,WAAA,CAGD,wCACC,UAAA,CACA,gBAAA,CACA,eAAA,CACA,uCAAA,CACA,oCAAA,CAEA,oDACC,mDAAA,CACA,yDACC,mBAAA,CAKH,iDACC,+CAAA\",\"sourcesContent\":[\"\\n.searchable-list {\\n\\t&__wrapper {\\n\\t\\tpadding: calc(var(--default-grid-baseline) * 3);\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\talign-items: center;\\n\\t\\twidth: 250px;\\n\\t}\\n\\n\\t&__list {\\n\\t\\twidth: 100%;\\n\\t\\tmax-height: 284px;\\n\\t\\toverflow-y: auto;\\n\\t\\tmargin-top: var(--default-grid-baseline);\\n\\t\\tpadding: var(--default-grid-baseline);\\n\\n\\t\\t:deep(.button-vue) {\\n\\t\\t\\tborder-radius: var(--border-radius-large) !important;\\n\\t\\t\\tspan {\\n\\t\\t\\t\\tfont-weight: initial;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&__empty-content {\\n\\t\\tmargin-top: calc(var(--default-grid-baseline) * 3);\\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, `.header-menu[data-v-3883344d]{display:flex;align-items:center;justify-content:center}.header-menu .unified-search__button[data-v-3883344d]{display:flex;align-items:center;justify-content:center;width:var(--header-height);margin:0;padding:0;cursor:pointer;opacity:.85;background-color:rgba(0,0,0,0);border:none;filter:none !important;color:var(--color-primary-text) !important}.header-menu .unified-search__button[data-v-3883344d]:hover{background-color:rgba(0,0,0,0) !important}.unified-search-modal[data-v-3883344d] .modal-container{height:80%}`, \"\",{\"version\":3,\"sources\":[\"webpack://./core/src/views/UnifiedSearch.vue\"],\"names\":[],\"mappings\":\"AACA,8BACC,YAAA,CACA,kBAAA,CACA,sBAAA,CAEA,sDACC,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,0BAAA,CAEA,QAAA,CACA,SAAA,CACA,cAAA,CACA,WAAA,CACA,8BAAA,CACA,WAAA,CACA,sBAAA,CACA,0CAAA,CAEA,4DACC,yCAAA,CAMF,wDACC,UAAA\",\"sourcesContent\":[\"\\n.header-menu {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n\\n\\t.unified-search__button {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\t\\twidth: var(--header-height);\\n\\t\\t// height: var(--header-height);\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tcursor: pointer;\\n\\t\\topacity: .85;\\n\\t\\tbackground-color: transparent;\\n\\t\\tborder: none;\\n\\t\\tfilter: none !important;\\n\\t\\tcolor: var(--color-primary-text) !important;\\n\\n\\t\\t&:hover {\\n\\t\\t\\tbackground-color: transparent !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n.unified-search-modal {\\n\\t::v-deep .modal-container {\\n\\t\\theight: 80%;\\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, `.unified-search-modal[data-v-7a8bad6d]{box-sizing:border-box;height:100%;display:flex;flex-direction:column;padding-block:10px 0}.unified-search-modal>*[data-v-7a8bad6d]{padding-inline:20px}.unified-search-modal__header[data-v-7a8bad6d]{padding-block-end:8px}.unified-search-modal__heading[data-v-7a8bad6d]{font-size:16px;font-weight:bolder;line-height:2em;margin-bottom:0}.unified-search-modal__filters[data-v-7a8bad6d]{display:flex;flex-wrap:wrap;gap:4px;justify-content:start;padding-top:4px}.unified-search-modal__filters-applied[data-v-7a8bad6d]{padding-top:4px;display:flex;flex-wrap:wrap}.unified-search-modal__no-content[data-v-7a8bad6d]{display:flex;align-items:center;height:100%}.unified-search-modal__results[data-v-7a8bad6d]{overflow:hidden scroll;padding-block:0 10px}.unified-search-modal__results .result-title span[data-v-7a8bad6d]{color:var(--color-primary-element);font-weight:bolder;font-size:16px}.unified-search-modal__results .result-footer[data-v-7a8bad6d]{justify-content:space-between;align-items:center;display:flex}.filter-button__icon[data-v-7a8bad6d]{height:20px;width:20px;object-fit:contain;filter:var(--background-invert-if-bright);padding:11px}@media only screen and (max-height: 400px){.unified-search-modal__results[data-v-7a8bad6d]{overflow:unset}}`, \"\",{\"version\":3,\"sources\":[\"webpack://./core/src/views/UnifiedSearchModal.vue\"],\"names\":[],\"mappings\":\"AACA,uCACC,qBAAA,CACA,WAAA,CAEA,YAAA,CACA,qBAAA,CACA,oBAAA,CAGA,yCACC,mBAAA,CAGD,+CACC,qBAAA,CAGD,gDACC,cAAA,CACA,kBAAA,CACA,eAAA,CACA,eAAA,CAGD,gDACC,YAAA,CACA,cAAA,CACA,OAAA,CACA,qBAAA,CACA,eAAA,CAGD,wDACC,eAAA,CACA,YAAA,CACA,cAAA,CAGD,mDACC,YAAA,CACA,kBAAA,CACA,WAAA,CAGD,gDACC,sBAAA,CACA,oBAAA,CAIE,mEACC,kCAAA,CACA,kBAAA,CACA,cAAA,CAIF,+DACC,6BAAA,CACA,kBAAA,CACA,YAAA,CAOJ,sCACC,WAAA,CACA,UAAA,CACA,kBAAA,CACA,yCAAA,CACA,YAAA,CAID,2CACC,gDACC,cAAA,CAAA\",\"sourcesContent\":[\"\\n.unified-search-modal {\\n\\tbox-sizing: border-box;\\n\\theight: 100%;\\n\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\tpadding-block: 10px 0;\\n\\n\\t// inline padding on direct children to make sure the scrollbar is on the modal container\\n\\t> * {\\n\\t\\tpadding-inline: 20px;\\n\\t}\\n\\n\\t&__header {\\n\\t\\tpadding-block-end: 8px;\\n\\t}\\n\\n\\t&__heading {\\n\\t\\tfont-size: 16px;\\n\\t\\tfont-weight: bolder;\\n\\t\\tline-height: 2em;\\n\\t\\tmargin-bottom: 0;\\n\\t}\\n\\n\\t&__filters {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-wrap: wrap;\\n\\t\\tgap: 4px;\\n\\t\\tjustify-content: start;\\n\\t\\tpadding-top: 4px;\\n\\t}\\n\\n\\t&__filters-applied {\\n\\t\\tpadding-top: 4px;\\n\\t\\tdisplay: flex;\\n\\t\\tflex-wrap: wrap;\\n\\t}\\n\\n\\t&__no-content {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\theight: 100%;\\n\\t}\\n\\n\\t&__results {\\n\\t\\toverflow: hidden scroll;\\n\\t\\tpadding-block: 0 10px;\\n\\n\\t\\t.result {\\n\\t\\t\\t&-title {\\n\\t\\t\\t\\tspan {\\n\\t\\t\\t\\t\\tcolor: var(--color-primary-element);\\n\\t\\t\\t\\t\\tfont-weight: bolder;\\n\\t\\t\\t\\t\\tfont-size: 16px;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\t&-footer {\\n\\t\\t\\t\\tjustify-content: space-between;\\n\\t\\t\\t\\talign-items: center;\\n\\t\\t\\t\\tdisplay: flex;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t}\\n}\\n\\n.filter-button__icon {\\n\\theight: 20px;\\n\\twidth: 20px;\\n\\tobject-fit: contain;\\n\\tfilter: var(--background-invert-if-bright);\\n\\tpadding: 11px; // align with text to fit at least 44px\\n}\\n\\n// Ensure modal is accessible on small devices\\n@media only screen and (max-height: 400px) {\\n\\t.unified-search-modal__results {\\n\\t\\toverflow: unset;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","// The chunk loading function for additional chunks\n// Since all referenced chunks are already included\n// in this file, this function is empty here.\n__webpack_require__.e = () => (Promise.resolve());","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 9671;","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t9671: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunknextcloud\"] = self[\"webpackChunknextcloud\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [7874], () => (__webpack_require__(8179)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","name","emits","props","title","type","String","fillColor","default","size","Number","_vm","this","_c","_self","_b","staticClass","attrs","on","$event","$emit","$attrs","_v","_s","_e","components","NcButton","NcModal","CalendarRangeIcon","NcDateTimePicker","isOpen","Boolean","required","data","dateFilter","startFrom","endAt","computed","isModalOpen","get","set","value","methods","closeModal","applyCustomRange","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","t","model","callback","$$v","$set","expression","scopedSlots","_u","key","fn","proxy","CloseIcon","text","pretext","deleteChip","filter","_t","length","Z","Symbol","toStringTag","NcPopover","NcTextField","Magnify","AlertCircleOutline","NcAvatar","NcEmptyContent","labelText","searchList","Array","emptyContentText","opened","error","searchTerm","filteredList","element","toLowerCase","some","prop","includes","clearSearch","itemSelected","searchTermChanged","term","_l","id","displayName","user","NcListItem","thumbnailUrl","subline","resourceUrl","icon","rounded","query","focused","thumbnailHasError","watch","isValidIconOrPreviewUrl","url","test","startsWith","thumbnailErrorHandler","class","style","backgroundImage","async","getContacts","_ref2","contacts","axios","post","generateUrl","authenticatedUser","getCurrentUser","uid","fullName","emailAddresses","unshift","ArrowRight","AccountGroup","CustomDateRangeModal","DotsHorizontalIcon","FilterIcon","FilterChip","ListBox","NcActions","NcActionButton","NcInputField","MagnifyIcon","SearchableList","SearchResult","isVisible","setup","currentLocation","useBrowserLocation","providers","providerActionMenuIsOpen","dateActionMenuIsOpen","providerResultLimit","personFilter","dateFilterIsApplied","personFilterIsApplied","filteredProviders","searching","searchQuery","placessearchTerm","dateTimeFilter","filters","results","debouncedFind","debounce","find","debouncedFilterContacts","filterContacts","showDateRangeModal","internalIsVisible","userContacts","noContentInfo","isEmptySearch","hasNoResults","show","supportFiltering","path","pathname","$nextTick","focusInput","mounted","generateOcsUrl","params","from","window","location","replace","search","ocs","isArray","console","getProviders","then","debug","mapContacts","emit","newResults","providersToSearch","searchProvider","provider","cursor","since","until","person","limit","request","_ref","cancelToken","CancelToken","source","token","cancel","unifiedSearch","response","push","inAppSearch","entries","updateResults","forEach","updatedResults","result","newResult","existingResultIndex","findIndex","splice","sortedResults","slice","sort","a","b","aProvider","bProvider","order","map","contact","isNoUser","subname","applyPersonFilter","existingPersonFilter","loadMoreResultsForProvider","providerId","addProviderFilter","providerFilter","arguments","undefined","existing","syncProviderFilters","removeFilter","i","firstArray","secondArray","synchronizedArray","item","index","itemId","secondItem","updateDateFilter","currFilterIndex","applyQuickDateRange","range","today","Date","startDate","endDate","getFullYear","getMonth","getDate","setCustomDateRange","event","toLocaleDateString","$refs","searchInput","$el","children","focus","ref","tag","providerResult","UnifiedSearchModal","showUnifiedSearch","toggleUnifiedSearch","handleModalVisibilityChange","newVisibilityVal","__webpack_nonce__","btoa","getRequestToken","logger","getLoggerBuilder","setApp","detectUser","build","Vue","mixin","n","el","render","h","UnifiedSearch","___CSS_LOADER_EXPORT___","module","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","exports","loaded","__webpack_modules__","call","m","O","chunkIds","priority","notFulfilled","Infinity","fulfilled","j","Object","keys","every","r","getter","__esModule","d","definition","o","defineProperty","enumerable","e","Promise","resolve","g","globalThis","Function","obj","prototype","hasOwnProperty","nmd","paths","document","baseURI","self","href","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","bind","nc","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file