{"version":3,"mappings":"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","names":["inputDateTypes","_sfc_main","GenRandomId","id","name","useModelMigration","$event","time","yyyy","MM","dd","hh","mm","timezoneOffsetSeconds","inputDateWithTimezone","value","startDate","daysSinceBeginningOfYear","weekNumber","_sfc_render","_vm","_c","_sfc_staticRenderFns","__component__","normalizeComponent","NcDateTimePickerNative","ScopeComponent","_sfc_main$2","_sfc_render$2","_sfc_staticRenderFns$2","__component__$2","IconEye","_sfc_main$1","_sfc_render$1","_sfc_staticRenderFns$1","__component__$1","IconEyeOff","register","t29","passwordPolicy","loadState","NcInputFieldProps","NcInputField","props","emit","model","visibility","useVModel","t","minlength","key","newValue","event","debounce","password","data","axios","generateOcsUrl","e","logger","NcPasswordField","t50","NcTextField","defineAsyncComponent","__vitePreload","n","ActionGlobalMixin","type","NcActionInput","ChevronRight","NcActions","NcButton","crumbId","createElementId","open","NcBreadcrumb","$placeholder","$fakeParent","$nextSiblingPatched","$childNodesPatched","isFrag","node","parentNodeDescriptor","patchParentNode","fakeParent","nextSiblingDescriptor","childNodes","index","patchNextSibling","getTopFragment","fromParent","_node","parentNode","getChildNodes","getChildNodesWithFragments","_childNodesDescriptor","realChildNodes","childNode","childNodesDescriptor","firstChildDescriptor","hasChildNodes","patchChildNodes","before","_this$frag$","remove","frag","removed","getFragmentLeafNodes","children","_Array$prototype","addPlaceholder","insertBeforeNode","placeholder","removeChild","hasChildInFragment","_this$frag$splice","removedNode","hasChild","insertBefore","insertNode","_this","insertNodes","_frag","_lastNode","removePlaceholder","lastNode","appendChild","lastChild","innerHTMLDescriptor","htmlString","_this2","child","domify","element","nextSibling","previousSibling","fragment","h","IconFolder","ValidateSlot","slots","allowed","vm","isHtmlElement","isVueComponent","isForbiddenComponent","Vue","crumbClass","NcActionButton","NcActionRouter","NcActionLink","subscribe","unsubscribe","breadcrumbs","nrCrumbs","hiddenIndices","availableWidth","totalWidth","overflow","i","startIndex","currentIndex","a","b","width","crumb","el","isLast","hide","w","path","disabled","f","target","vnode","Fragment","breadcrumbsRefs","crumbs","to","href","title","folderIcon","crumbs2","wrapper","NcBreadcrumbs"],"ignoreList":[0,1,2,3,4,5],"sources":["../node_modules/@nextcloud/vue/dist/Components/NcDateTimePickerNative.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcPasswordField-B91RnUSh.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcActionInput-pjhToEAw.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcBreadcrumb-BC6tmZfd.mjs","../node_modules/vue-frag/dist/frag.esm.js","../node_modules/@nextcloud/vue/dist/chunks/NcBreadcrumbs-BPfsSByZ.mjs"],"sourcesContent":["import '../assets/NcDateTimePickerNative-ZqMiOh_m.css';\nimport { u as useModelMigration } from \"../chunks/useModelMigration-EhAWvqDD.mjs\";\nimport { G as GenRandomId } from \"../chunks/GenRandomId-F5ebeBB_.mjs\";\nimport { n as normalizeComponent } from \"../chunks/_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nimport { S as ScopeComponent } from \"../chunks/ScopeComponent-B4ZR5mwH.mjs\";\nconst inputDateTypes = [\"date\", \"datetime-local\", \"month\", \"time\", \"week\"];\nconst _sfc_main = {\n name: \"NcDateTimePickerNative\",\n inheritAttrs: false,\n model: {\n prop: \"modelValue\",\n event: \"update:modelValue\"\n },\n props: {\n /**\n * Removed in v9 - use `modelValue` (`v-model`) instead\n *\n * @deprecated\n */\n value: {\n type: Date,\n default: void 0\n },\n /**\n * The date is – like the `Date` object in JavaScript – tied to UTC.\n * The selected time zone does not have an influence of the selected time and date value.\n * You have to translate the time yourself when you want to factor in time zones.\n * Pass null to clear the input field.\n */\n modelValue: {\n type: Date,\n default: null\n },\n /**\n * id attribute of the input field\n */\n id: {\n type: String,\n default: () => \"date-time-picker-\" + GenRandomId(),\n validator: (id) => id.trim() !== \"\"\n },\n /**\n * type attribute of the input field\n * default type: String\n * The type of the input element, it can be `date`, `datetime-local`, `month`, `time`, `week`\n */\n type: {\n type: String,\n default: \"date\",\n validate: (name) => inputDateTypes.includes(name)\n },\n /**\n * text inside the label element\n * default type: String\n */\n label: {\n type: String,\n default: \"Please choose a date\"\n },\n /**\n * min attribute of the input field\n * default type: null\n */\n min: {\n type: [Boolean, Date],\n default: null\n },\n /**\n * max attribute of the input field\n * default type: null\n */\n max: {\n type: [Boolean, Date],\n default: null\n },\n /**\n * Flag to hide the label\n * default type: String\n * The hidden input label for accessibility purposes.\n */\n hideLabel: {\n type: Boolean,\n default: false\n },\n /**\n * Class to add to the input field.\n * Necessary to use NcDateTimePickerNative in the NcActionInput component.\n */\n inputClass: {\n type: [Object, String],\n default: \"\"\n }\n },\n emits: [\n /**\n * Removed in v9 - use `update:modelValue` (`v-model`) instead\n *\n * @deprecated\n */\n \"input\",\n /**\n * Emitted when the input value changes\n *\n * @return {Date} new chosen Date()\n */\n \"update:modelValue\",\n /** Same as update:modelValue for Vue 2 compatibility */\n \"update:model-value\"\n ],\n setup() {\n const model = useModelMigration(\"value\", \"input\");\n return {\n model\n };\n },\n computed: {\n formattedValue() {\n return this.formatValue(this.model);\n },\n formattedMin() {\n if (this.min) {\n return this.formatValue(this.min);\n }\n return false;\n },\n formattedMax() {\n if (this.max) {\n return this.formatValue(this.max);\n }\n return false;\n },\n listeners() {\n return {\n ...this.$listeners,\n /**\n * Handle the input event\n *\n * @param {InputEvent} $event input event payloads\n */\n input: ($event) => {\n if (isNaN($event.target.valueAsNumber)) {\n this.model = null;\n } else if (this.type === \"time\") {\n const time = $event.target.value;\n if (this.model === \"\") {\n const { yyyy, MM, dd } = this.getReadableDate(/* @__PURE__ */ new Date());\n this.model = /* @__PURE__ */ new Date(`${yyyy}-${MM}-${dd}T${time}`);\n } else {\n const { yyyy, MM, dd } = this.getReadableDate(this.model);\n this.model = /* @__PURE__ */ new Date(`${yyyy}-${MM}-${dd}T${time}`);\n }\n } else if (this.type === \"month\") {\n const MM = (new Date($event.target.value).getMonth() + 1).toString().padStart(2, \"0\");\n if (this.model === \"\") {\n const { yyyy, dd, hh, mm } = this.getReadableDate(/* @__PURE__ */ new Date());\n this.model = /* @__PURE__ */ new Date(`${yyyy}-${MM}-${dd}T${hh}:${mm}`);\n } else {\n const { yyyy, dd, hh, mm } = this.getReadableDate(this.model);\n this.model = /* @__PURE__ */ new Date(`${yyyy}-${MM}-${dd}T${hh}:${mm}`);\n }\n } else {\n const timezoneOffsetSeconds = new Date($event.target.valueAsNumber).getTimezoneOffset() * 1e3 * 60;\n const inputDateWithTimezone = $event.target.valueAsNumber + timezoneOffsetSeconds;\n this.model = new Date(inputDateWithTimezone);\n }\n }\n };\n }\n },\n methods: {\n /**\n * Returns Object with string values of a Date\n *\n * @param {Date} value The selected value\n * @return {object|undefined}\n */\n getReadableDate(value) {\n if (value instanceof Date) {\n const yyyy = value.getFullYear().toString().padStart(4, \"0\");\n const MM = (value.getMonth() + 1).toString().padStart(2, \"0\");\n const dd = value.getDate().toString().padStart(2, \"0\");\n const hh = value.getHours().toString().padStart(2, \"0\");\n const mm = value.getMinutes().toString().padStart(2, \"0\");\n return { yyyy, MM, dd, hh, mm };\n }\n },\n /**\n * Returns preformatted value for the input field\n *\n * @param {Date} value The selected value\n * @return {string|undefined}\n */\n formatValue(value) {\n if (value instanceof Date) {\n const { yyyy, MM, dd, hh, mm } = this.getReadableDate(value);\n if (this.type === \"datetime-local\") {\n return `${yyyy}-${MM}-${dd}T${hh}:${mm}`;\n } else if (this.type === \"date\") {\n return `${yyyy}-${MM}-${dd}`;\n } else if (this.type === \"month\") {\n return `${yyyy}-${MM}`;\n } else if (this.type === \"time\") {\n return `${hh}:${mm}`;\n } else if (this.type === \"week\") {\n const startDate = new Date(yyyy, 0, 1);\n const daysSinceBeginningOfYear = Math.floor((value - startDate) / (24 * 60 * 60 * 1e3));\n const weekNumber = Math.ceil(daysSinceBeginningOfYear / 7);\n return `${yyyy}-W${weekNumber}`;\n }\n } else {\n return \"\";\n }\n }\n }\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { staticClass: \"native-datetime-picker\" }, [_c(\"label\", { staticClass: \"native-datetime-picker--label\", class: { \"hidden-visually\": _vm.hideLabel }, attrs: { \"for\": _vm.id } }, [_vm._v(\" \" + _vm._s(_vm.label) + \" \")]), _c(\"input\", _vm._g(_vm._b({ staticClass: \"native-datetime-picker--input\", class: _vm.inputClass, attrs: { \"id\": _vm.id, \"type\": _vm.type, \"min\": _vm.formattedMin, \"max\": _vm.formattedMax }, domProps: { \"value\": _vm.formattedValue } }, \"input\", _vm.$attrs, false), _vm.listeners))]);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"6c1feae8\"\n);\nconst NcDateTimePickerNative = __component__.exports;\nScopeComponent(NcDateTimePickerNative);\nexport {\n NcDateTimePickerNative as default\n};\n//# sourceMappingURL=NcDateTimePickerNative.mjs.map\n","import '../assets/NcPasswordField-mhXQk8aT.css';\nimport axios from \"@nextcloud/axios\";\nimport { loadState } from \"@nextcloud/initial-state\";\nimport { generateOcsUrl } from \"@nextcloud/router\";\nimport { useVModel } from \"@vueuse/core\";\nimport debounce from \"debounce\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nimport { N as NcInputField } from \"./NcInputField-DUtDY_1I.mjs\";\nimport { u as useModelMigration } from \"./useModelMigration-EhAWvqDD.mjs\";\nimport { r as register, B as t29, a as t } from \"./_l10n-BmKQgz1z.mjs\";\nimport { l as logger } from \"./logger-D3RVzcfQ.mjs\";\nconst _sfc_main$2 = {\n name: \"EyeIcon\",\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};\nvar _sfc_render$2 = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon eye-icon\", attrs: { \"aria-hidden\": _vm.title ? null : \"true\", \"aria-label\": _vm.title, \"role\": \"img\" }, on: { \"click\": function($event) {\n return _vm.$emit(\"click\", $event);\n } } }, \"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\": \"M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9M12,17A5,5 0 0,1 7,12A5,5 0 0,1 12,7A5,5 0 0,1 17,12A5,5 0 0,1 12,17M12,4.5C7,4.5 2.73,7.61 1,12C2.73,16.39 7,19.5 12,19.5C17,19.5 21.27,16.39 23,12C21.27,7.61 17,4.5 12,4.5Z\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns$2 = [];\nvar __component__$2 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$2,\n _sfc_render$2,\n _sfc_staticRenderFns$2,\n false,\n null,\n null\n);\nconst IconEye = __component__$2.exports;\nconst _sfc_main$1 = {\n name: \"EyeOffIcon\",\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};\nvar _sfc_render$1 = function render2() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon eye-off-icon\", attrs: { \"aria-hidden\": _vm.title ? null : \"true\", \"aria-label\": _vm.title, \"role\": \"img\" }, on: { \"click\": function($event) {\n return _vm.$emit(\"click\", $event);\n } } }, \"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\": \"M11.83,9L15,12.16C15,12.11 15,12.05 15,12A3,3 0 0,0 12,9C11.94,9 11.89,9 11.83,9M7.53,9.8L9.08,11.35C9.03,11.56 9,11.77 9,12A3,3 0 0,0 12,15C12.22,15 12.44,14.97 12.65,14.92L14.2,16.47C13.53,16.8 12.79,17 12,17A5,5 0 0,1 7,12C7,11.21 7.2,10.47 7.53,9.8M2,4.27L4.28,6.55L4.73,7C3.08,8.3 1.78,10 1,12C2.73,16.39 7,19.5 12,19.5C13.55,19.5 15.03,19.2 16.38,18.66L16.81,19.08L19.73,22L21,20.73L3.27,3M12,7A5,5 0 0,1 17,12C17,12.64 16.87,13.26 16.64,13.82L19.57,16.75C21.07,15.5 22.27,13.86 23,12C21.27,7.61 17,4.5 12,4.5C10.6,4.5 9.26,4.75 8,5.2L10.17,7.35C10.74,7.13 11.35,7 12,7Z\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns$1 = [];\nvar __component__$1 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$1,\n _sfc_render$1,\n _sfc_staticRenderFns$1,\n false,\n null,\n null\n);\nconst IconEyeOff = __component__$1.exports;\nregister(t29);\nconst passwordPolicy = loadState(\"core\", \"capabilities\", {}).password_policy || null;\nconst NcInputFieldProps = new Set(Object.keys(NcInputField.props));\nconst _sfc_main = {\n name: \"NcPasswordField\",\n components: {\n NcInputField,\n IconEye,\n IconEyeOff\n },\n // Allow forwarding all attributes\n inheritAttrs: false,\n model: {\n prop: \"modelValue\",\n event: \"update:modelValue\"\n },\n props: {\n /**\n * Any [NcInputField](#/Components/NcFields?id=ncinputfield) props\n */\n // Not an actual prop but needed to show in vue-styleguidist docs\n // eslint-disable-next-line\n \" \": {},\n // Reuse all the props from NcInputField for better typing and documentation\n ...NcInputField.props,\n // Redefined props\n /**\n * Controls whether to display the trailing button.\n */\n showTrailingButton: {\n type: Boolean,\n // eslint-disable-next-line vue/no-boolean-default\n default: true\n },\n /**\n * Removed NcInputField props, defined only by this component\n */\n trailingButtonLabel: void 0,\n // Custom props\n /**\n * Check if the user entered a valid password using the password_policy\n * app if available.\n *\n * Warning: this doesn't replace server side checking and will do nothing\n * if the password_policy app is disabled.\n */\n checkPasswordStrength: {\n type: Boolean,\n default: false\n },\n /**\n * The minlength property defines the minimum number of characters\n * (as UTF-16 code units) the user can enter\n */\n minlength: {\n type: Number,\n default: 0\n },\n /**\n * The maxlength property defines the maximum number of characters\n * (as UTF-16 code units) the user can enter\n */\n maxlength: {\n type: Number,\n default: null\n },\n /**\n * Render as input[type=text] that looks like password field.\n * Allows to avoid unwanted password-specific browser behavior,\n * such as save or generate password prompt.\n * Useful for secret token fields.\n * Note: autocomplete=\"off\" is ignored by browsers.\n */\n asText: {\n type: Boolean,\n default: false\n },\n /**\n * Visibility of the password.\n * If this is set to `true` then the password will be shown to the user (input type will be set to `text`).\n */\n visible: {\n type: Boolean,\n default: false\n }\n },\n emits: [\n \"valid\",\n \"invalid\",\n /**\n * Removed in v9 - use `update:modelValue` (`v-model`) instead\n *\n * @deprecated\n */\n \"update:value\",\n /**\n * Triggers when the value inside the password field is\n * updated.\n *\n * @property {string} The new value\n */\n \"update:modelValue\",\n /** Same as update:modelValue for Vue 2 compatibility */\n \"update:model-value\",\n /**\n * Updated visibility of the password\n *\n * @property {boolean} visible the new visibility state\n */\n \"update:visible\"\n ],\n setup(props, { emit }) {\n const model = useModelMigration(\"value\", \"update:value\");\n const visibility = useVModel(props, \"visible\", emit, { passive: true });\n return {\n t,\n model,\n visibility\n };\n },\n data() {\n return {\n internalHelpMessage: \"\",\n isValid: null\n };\n },\n computed: {\n computedError() {\n return this.error || this.isValid === false;\n },\n computedSuccess() {\n return this.success || this.isValid === true;\n },\n computedHelperText() {\n if (this.helperText.length > 0) {\n return this.helperText;\n }\n return this.internalHelpMessage;\n },\n rules() {\n const { minlength } = this;\n return {\n minlength: minlength ?? passwordPolicy?.minLength\n };\n },\n trailingButtonLabelPassword() {\n return this.visibility ? t(\"Hide password\") : t(\"Show password\");\n },\n propsAndAttrsToForward() {\n return {\n // Proxy all the HTML attributes\n ...this.$attrs,\n // Proxy original NcInputField's props\n ...Object.fromEntries(Object.entries(this.$props).filter(([key]) => NcInputFieldProps.has(key)))\n };\n }\n },\n watch: {\n model(newValue) {\n if (this.checkPasswordStrength) {\n if (passwordPolicy === null) {\n return;\n }\n this.checkPassword(newValue);\n }\n }\n },\n methods: {\n /**\n * Focus the input element\n *\n * @public\n */\n focus() {\n this.$refs.inputField.focus();\n },\n /**\n * Select all the text in the input\n *\n * @public\n */\n select() {\n this.$refs.inputField.select();\n },\n handleInput(event) {\n this.model = event.target.value;\n },\n toggleVisibility() {\n this.visibility = !this.visibility;\n },\n checkPassword: debounce(async function(password) {\n try {\n const { data } = await axios.post(generateOcsUrl(\"apps/password_policy/api/v1/validate\"), { password });\n this.isValid = data.ocs.data.passed;\n if (data.ocs.data.passed) {\n this.internalHelpMessage = t(\"Password is secure\");\n this.$emit(\"valid\");\n return;\n }\n this.internalHelpMessage = data.ocs.data.reason;\n this.$emit(\"invalid\");\n } catch (e) {\n logger.error(\"Password policy returned an error\", e);\n }\n }, 500)\n }\n};\nvar _sfc_render = function render3() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"NcInputField\", _vm._g(_vm._b({ ref: \"inputField\", attrs: { \"type\": _vm.visibility || _vm.asText ? \"text\" : \"password\", \"trailing-button-label\": _vm.trailingButtonLabelPassword, \"helper-text\": _vm.computedHelperText, \"error\": _vm.computedError, \"success\": _vm.computedSuccess, \"minlength\": _vm.rules.minlength, \"input-class\": { \"password-field__input--secure-text\": !_vm.visibility && _vm.asText } }, on: { \"trailing-button-click\": _vm.toggleVisibility, \"input\": _vm.handleInput }, scopedSlots: _vm._u([!!_vm.$scopedSlots.icon || !!_vm.$slots.default || !!_vm.$scopedSlots.default ? { key: \"icon\", fn: function() {\n return [_vm._t(\"icon\", function() {\n return [_vm._t(\"default\")];\n })];\n }, proxy: true } : null, { key: \"trailing-button-icon\", fn: function() {\n return [_vm.visibility ? _c(\"IconEyeOff\", { attrs: { \"size\": 18 } }) : _c(\"IconEye\", { attrs: { \"size\": 18 } })];\n }, proxy: true }], null, true) }, \"NcInputField\", _vm.propsAndAttrsToForward, false), _vm.$listeners));\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"822eec9d\"\n);\nconst NcPasswordField = __component__.exports;\nexport {\n NcPasswordField as N\n};\n//# sourceMappingURL=NcPasswordField-B91RnUSh.mjs.map\n","import '../assets/NcActionInput-BvPYSqDP.css';\nimport { defineAsyncComponent } from \"vue\";\nimport { u as useModelMigration } from \"./useModelMigration-EhAWvqDD.mjs\";\nimport { r as register, i as t50, a as t } from \"./_l10n-BmKQgz1z.mjs\";\nimport { A as ActionGlobalMixin } from \"./actionGlobal-DqVa7c7G.mjs\";\nimport { G as GenRandomId } from \"./GenRandomId-F5ebeBB_.mjs\";\nimport NcDateTimePickerNative from \"../Components/NcDateTimePickerNative.mjs\";\nimport { N as NcPasswordField } from \"./NcPasswordField-B91RnUSh.mjs\";\nimport { N as NcTextField } from \"./NcTextField-CfZknuqx.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nregister(t50);\nconst _sfc_main = {\n name: \"NcActionInput\",\n components: {\n NcDateTimePickerNative,\n NcPasswordField,\n NcTextField,\n // Lazy load components with more than 50kB bundle size impact\n NcColorPicker: defineAsyncComponent(() => import(\"../Components/NcColorPicker.mjs\")),\n NcDateTimePicker: defineAsyncComponent(() => import(\"../Components/NcDateTimePicker.mjs\")),\n NcSelect: defineAsyncComponent(() => import(\"../Components/NcSelect.mjs\"))\n },\n mixins: [ActionGlobalMixin],\n model: {\n prop: \"modelValue\",\n event: \"update:modelValue\"\n },\n props: {\n /**\n * id attribute of the checkbox element\n */\n id: {\n type: String,\n default: () => \"action-\" + GenRandomId(),\n validator: (id) => id.trim() !== \"\"\n },\n /**\n * id attribute of the text input element\n */\n inputId: {\n type: String,\n default: () => \"action-input-\" + GenRandomId(),\n validator: (id) => id.trim() !== \"\"\n },\n /**\n * Icon to show with the action, can be either a CSS class or an URL\n */\n icon: {\n type: String,\n default: \"\"\n },\n /**\n * type attribute of the input field\n */\n type: {\n type: String,\n default: \"text\",\n validator(type) {\n return [\n \"date\",\n \"datetime-local\",\n \"month\",\n \"multiselect\",\n \"number\",\n \"password\",\n \"search\",\n \"tel\",\n \"text\",\n \"time\",\n \"url\",\n \"week\",\n \"color\",\n \"email\"\n ].indexOf(type) > -1;\n }\n },\n /**\n * id attribute for the native date time picker\n */\n idNativeDateTimePicker: {\n type: String,\n default: \"date-time-picker_id\"\n },\n /**\n * Flag to use a native date time picker\n */\n isNativePicker: {\n type: Boolean,\n default: false\n },\n /**\n * The visible input label for accessibility purposes.\n */\n label: {\n type: String,\n default: null\n },\n /**\n * If you want to show the label just above the\n * input field, pass in `true` to this prop.\n */\n labelOutside: {\n type: Boolean,\n // eslint-disable-next-line vue/no-boolean-default\n default: true\n },\n /**\n * Removed in v9 - use `update:modelValue` (`v-model`) instead\n *\n * @deprecated\n */\n value: {\n type: [String, Date, Number, Array],\n default: void 0\n },\n /**\n * value attribute of the input field\n */\n modelValue: {\n type: [String, Date, Number, Array],\n default: \"\"\n },\n /**\n * disabled state of the input field\n */\n disabled: {\n type: Boolean,\n default: false\n },\n /**\n * aria-label attribute of the input field\n */\n ariaLabel: {\n type: String,\n default: \"\"\n },\n /**\n * @deprecated To be removed in @nextcloud/vue 9. Migration guide: remove ariaHidden prop from NcAction* components.\n * @todo Add a check in @nextcloud/vue 9 that this prop is not provided,\n * otherwise root element will inherit incorrect aria-hidden.\n */\n ariaHidden: {\n type: Boolean,\n // eslint-disable-next-line vue/no-boolean-default\n default: null\n },\n /**\n * Attribute forwarded to the underlying NcPasswordField and NcTextField\n */\n showTrailingButton: {\n type: Boolean,\n // eslint-disable-next-line vue/no-boolean-default\n default: true\n },\n /**\n * Trailing button label forwarded to the underlying NcTextField\n */\n trailingButtonLabel: {\n type: String,\n default: t(\"Submit\")\n }\n },\n emits: [\n \"input\",\n \"submit\",\n \"change\",\n /**\n * Removed in v9 - use `update:modelValue` (`v-model`) instead\n *\n * @deprecated\n */\n \"update:value\",\n /**\n * Emitted when the inputs value changes\n * ! DatetimePicker only send the value\n *\n * @type {string|Date}\n */\n \"update:modelValue\",\n /** Same as `update:modelValue` but with a different event name */\n \"update:model-value\"\n ],\n setup() {\n const model = useModelMigration(\"value\", \"update:value\");\n return {\n model\n };\n },\n computed: {\n isIconUrl() {\n try {\n return new URL(this.icon);\n } catch {\n return false;\n }\n },\n isMultiselectType() {\n return this.type === \"multiselect\";\n },\n nativeDatePickerType() {\n switch (this.type) {\n case \"date\":\n case \"month\":\n case \"time\":\n case \"week\":\n case \"datetime-local\":\n return this.type;\n }\n return false;\n },\n datePickerType() {\n if (!this.isNativePicker) {\n switch (this.type) {\n case \"date\":\n case \"month\":\n case \"time\":\n return this.type;\n case \"datetime-local\":\n return \"datetime\";\n }\n }\n return false;\n },\n /**\n * determines if the action is focusable\n *\n * @return {boolean} is the action focusable ?\n */\n isFocusable() {\n return !this.disabled;\n }\n },\n methods: {\n // closing datepicker popup on mouseleave = unfocus\n onLeave() {\n if (this.$refs.datetimepicker && this.$refs.datetimepicker.$refs.datepicker) {\n this.$refs.datetimepicker.$refs.datepicker.closePopup();\n }\n },\n onInput(event) {\n this.$emit(\"input\", event);\n this.model = event.target ? event.target.value : event;\n },\n onSubmit(event) {\n event.preventDefault();\n event.stopPropagation();\n if (!this.disabled) {\n this.$emit(\"submit\", event);\n } else {\n return false;\n }\n },\n onChange(event) {\n this.$emit(\"change\", event);\n }\n }\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"li\", { staticClass: \"action\", class: { \"action--disabled\": _vm.disabled } }, [_c(\"span\", { staticClass: \"action-input\", class: {\n \"action-input-picker--disabled\": _vm.disabled,\n \"action-input--visible-label\": _vm.labelOutside && _vm.label\n }, on: { \"mouseleave\": _vm.onLeave } }, [_c(\"span\", { staticClass: \"action-input__icon-wrapper\" }, [_vm._t(\"icon\", function() {\n return [_c(\"span\", { staticClass: \"action-input__icon\", class: [_vm.isIconUrl ? \"action-input__icon--url\" : _vm.icon], style: { backgroundImage: _vm.isIconUrl ? `url(${_vm.icon})` : null }, attrs: { \"aria-hidden\": \"true\" } })];\n })], 2), _c(\"form\", { ref: \"form\", staticClass: \"action-input__form\", attrs: { \"disabled\": _vm.disabled }, on: { \"submit\": function($event) {\n $event.preventDefault();\n return _vm.onSubmit.apply(null, arguments);\n } } }, [_c(\"div\", { staticClass: \"action-input__container\" }, [_vm.label && _vm.labelOutside ? _c(\"label\", { staticClass: \"action-input__text-label\", class: { \"action-input__text-label--hidden\": !_vm.labelOutside }, attrs: { \"for\": _vm.inputId } }, [_vm._v(\" \" + _vm._s(_vm.label) + \" \")]) : _vm._e(), _c(\"div\", { staticClass: \"action-input__input-container\" }, [_vm.datePickerType ? _c(\"NcDateTimePicker\", _vm._b({ ref: \"datetimepicker\", staticClass: \"action-input__datetimepicker\", staticStyle: { \"z-index\": \"99999999999\" }, attrs: { \"value\": _vm.model, \"placeholder\": _vm.text, \"disabled\": _vm.disabled, \"type\": _vm.datePickerType, \"input-class\": [\"mx-input\", { focusable: _vm.isFocusable }] }, on: { \"input\": _vm.onInput, \"change\": _vm.onChange } }, \"NcDateTimePicker\", _vm.$attrs, false)) : _vm.isNativePicker ? _c(\"NcDateTimePickerNative\", _vm._b({ staticClass: \"action-input__datetimepicker\", attrs: { \"id\": _vm.idNativeDateTimePicker, \"value\": _vm.model, \"type\": _vm.nativeDatePickerType, \"input-class\": { focusable: _vm.isFocusable } }, on: { \"update:model-value\": function($event) {\n _vm.model = $event;\n }, \"change\": function($event) {\n return _vm.$emit(\"change\", $event);\n } } }, \"NcDateTimePickerNative\", _vm.$attrs, false)) : _vm.isMultiselectType ? _c(\"NcSelect\", _vm._g(_vm._b({ staticClass: \"action-input__multi\", attrs: { \"value\": _vm.model, \"placeholder\": _vm.text, \"disabled\": _vm.disabled, \"append-to-body\": _vm.$attrs.appendToBody || _vm.$attrs[\"append-to-body\"] || false, \"input-class\": { focusable: _vm.isFocusable } } }, \"NcSelect\", _vm.$attrs, false), _vm.$listeners)) : _vm.type === \"password\" ? _c(\"NcPasswordField\", _vm._g(_vm._b({ attrs: { \"id\": _vm.inputId, \"value\": _vm.model, \"label\": _vm.label, \"label-outside\": !_vm.label || _vm.labelOutside, \"placeholder\": _vm.text, \"disabled\": _vm.disabled, \"input-class\": { focusable: _vm.isFocusable }, \"show-trailing-button\": _vm.showTrailingButton && !_vm.disabled }, on: { \"input\": _vm.onInput, \"change\": _vm.onChange } }, \"NcPasswordField\", _vm.$attrs, false), _vm.$listeners)) : _vm.type === \"color\" ? _c(\"div\", { staticClass: \"action-input__container\" }, [_vm.label && _vm.type === \"color\" ? _c(\"label\", { staticClass: \"action-input__text-label\", class: { \"action-input__text-label--hidden\": !_vm.labelOutside }, attrs: { \"for\": _vm.inputId } }, [_vm._v(\" \" + _vm._s(_vm.label) + \" \")]) : _vm._e(), _c(\"div\", { staticClass: \"action-input__input-container\" }, [_c(\"NcColorPicker\", _vm._g(_vm._b({ staticClass: \"colorpicker__trigger\", attrs: { \"id\": \"inputId\", \"value\": _vm.model }, on: { \"update:model-value\": _vm.onInput, \"submit\": function($event) {\n return _vm.$refs.form.requestSubmit();\n } } }, \"NcColorPicker\", _vm.$attrs, false), _vm.$listeners), [_c(\"button\", { staticClass: \"colorpicker__preview\", class: { focusable: _vm.isFocusable }, style: { \"background-color\": _vm.model } })])], 1)]) : _c(\"NcTextField\", _vm._g(_vm._b({ attrs: { \"id\": _vm.inputId, \"value\": _vm.model, \"label\": _vm.label, \"label-outside\": !_vm.label || _vm.labelOutside, \"placeholder\": _vm.text, \"disabled\": _vm.disabled, \"input-class\": { focusable: _vm.isFocusable }, \"type\": _vm.type, \"trailing-button-icon\": \"arrowRight\", \"trailing-button-label\": _vm.trailingButtonLabel, \"show-trailing-button\": _vm.showTrailingButton && !_vm.disabled }, on: { \"trailing-button-click\": function($event) {\n return _vm.$refs.form.requestSubmit();\n }, \"input\": _vm.onInput, \"change\": _vm.onChange } }, \"NcTextField\", _vm.$attrs, false), _vm.$listeners))], 1)])])])]);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"29a30fef\"\n);\nconst NcActionInput = __component__.exports;\nexport {\n NcActionInput as N\n};\n//# sourceMappingURL=NcActionInput-pjhToEAw.mjs.map\n","import '../assets/NcBreadcrumb-0xB19h6f.css';\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nimport { N as NcButton } from \"./NcButton-DUZTtFhr.mjs\";\nimport { c as createElementId } from \"./createElementId-DhjFt1I9.mjs\";\nimport { N as NcActions } from \"./NcActions-CpdT2y6O.mjs\";\nconst _sfc_main$1 = {\n name: \"ChevronRightIcon\",\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};\nvar _sfc_render$1 = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon chevron-right-icon\", attrs: { \"aria-hidden\": _vm.title ? null : \"true\", \"aria-label\": _vm.title, \"role\": \"img\" }, on: { \"click\": function($event) {\n return _vm.$emit(\"click\", $event);\n } } }, \"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\": \"M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns$1 = [];\nvar __component__$1 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$1,\n _sfc_render$1,\n _sfc_staticRenderFns$1,\n false,\n null,\n null\n);\nconst ChevronRight = __component__$1.exports;\nconst _sfc_main = {\n name: \"NcBreadcrumb\",\n components: {\n NcActions,\n ChevronRight,\n NcButton\n },\n inheritAttrs: false,\n props: {\n /**\n * The main text content of the entry.\n */\n name: {\n type: String,\n required: true\n },\n /**\n * The title attribute of the element.\n */\n title: {\n type: String,\n default: null\n },\n /**\n * Route Location the link should navigate to when clicked on.\n *\n * @see https://v3.router.vuejs.org/api/#to\n */\n to: {\n type: [String, Object],\n default: void 0\n },\n /**\n * Match the complete route attributes (query and hash included)\n *\n * @see https://v3.router.vuejs.org/api/#exact\n */\n exact: {\n type: Boolean,\n default: false\n },\n /**\n * Set this prop if your app doesn't use vue-router, breadcrumbs will show as normal links.\n */\n href: {\n type: String,\n default: void 0\n },\n /**\n * Set a css icon-class to show an icon along name text (if forceIconText is provided, otherwise just icon).\n */\n icon: {\n type: String,\n default: \"\"\n },\n /**\n * Enables text to accompany the icon, if the icon was provided. The text that will be displayed is the name prop.\n */\n forceIconText: {\n type: Boolean,\n default: false\n },\n /**\n * Disable dropping on this breadcrumb.\n */\n disableDrop: {\n type: Boolean,\n default: false\n },\n /**\n * Force the actions to display in a three dot menu\n */\n forceMenu: {\n type: Boolean,\n default: false\n },\n /**\n * Open state of the Actions menu\n */\n open: {\n type: Boolean,\n default: false\n }\n },\n emits: [\n \"update:open\",\n \"dropped\"\n ],\n setup() {\n const crumbId = createElementId();\n return {\n actionsContainer: `.vue-crumb[data-crumb-id=\"${crumbId}\"]`,\n crumbId\n };\n },\n data() {\n return {\n /**\n * Variable to track if we hover over the breadcrumb\n */\n hovering: false\n };\n },\n computed: {\n /**\n * The attributes to pass to `router-link` or `a`\n */\n linkAttributes() {\n return this.to ? { to: this.to, exact: this.exact, ...this.$attrs } : this.href ? { href: this.href, ...this.$attrs } : this.$attrs;\n }\n },\n methods: {\n /**\n * Function to handle changing the open state of the Actions menu\n * $emit the open state.\n *\n * @param {boolean} open The open state of the Actions menu\n */\n onOpenChange(open) {\n this.$emit(\"update:open\", open);\n },\n /**\n * Function to handle a drop on the breadcrumb.\n * $emit the event and the path, remove the hovering state.\n *\n * @param {object} e The drop event\n * @return {boolean}\n */\n dropped(e) {\n if (this.disableDrop) {\n return false;\n }\n this.$emit(\"dropped\", e, this.to || this.href);\n this.$parent.$emit(\"dropped\", e, this.to || this.href);\n this.hovering = false;\n return false;\n },\n /**\n * Add the hovering state on drag enter\n */\n dragEnter() {\n if (this.disableDrop) {\n return;\n }\n this.hovering = true;\n },\n /**\n * Remove the hovering state on drag leave\n *\n * @param {object} e The drag leave event\n */\n dragLeave(e) {\n if (this.disableDrop) {\n return;\n }\n if (e.target.contains(e.relatedTarget) || this.$refs.crumb.contains(e.relatedTarget)) {\n return;\n }\n this.hovering = false;\n }\n }\n};\nvar _sfc_render = function render2() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"li\", { ref: \"crumb\", staticClass: \"vue-crumb\", class: { \"vue-crumb--hovered\": _vm.hovering }, attrs: { \"data-crumb-id\": _vm.crumbId, \"draggable\": \"false\" }, on: { \"dragstart\": function($event) {\n $event.preventDefault();\n return (() => {\n }).apply(null, arguments);\n }, \"drop\": function($event) {\n $event.preventDefault();\n return _vm.dropped.apply(null, arguments);\n }, \"dragover\": function($event) {\n $event.preventDefault();\n return (() => {\n }).apply(null, arguments);\n }, \"dragenter\": _vm.dragEnter, \"dragleave\": _vm.dragLeave } }, [(_vm.name || _vm.icon || _vm.$slots.icon) && !_vm.$slots.default ? _c(\"NcButton\", _vm._g(_vm._b({ attrs: { \"aria-label\": _vm.icon ? _vm.name : void 0, \"title\": _vm.title, \"variant\": \"tertiary\" }, scopedSlots: _vm._u([_vm.$slots.icon || _vm.icon ? { key: \"icon\", fn: function() {\n return [_vm._t(\"icon\", function() {\n return [_c(\"span\", { staticClass: \"icon\", class: _vm.icon })];\n })];\n }, proxy: true } : null, !(_vm.$slots.icon || _vm.icon) || _vm.forceIconText ? { key: \"default\", fn: function() {\n return [_vm._v(\" \" + _vm._s(_vm.name) + \" \")];\n }, proxy: true } : null], null, true) }, \"NcButton\", _vm.linkAttributes, false), _vm.$listeners)) : _vm._e(), _vm.$slots.default ? _c(\"NcActions\", { ref: \"actions\", attrs: { \"force-menu\": _vm.forceMenu, \"open\": _vm.open, \"menu-name\": _vm.name, \"title\": _vm.title, \"force-name\": true, \"container\": _vm.actionsContainer, \"variant\": \"tertiary\" }, on: { \"update:open\": _vm.onOpenChange }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_vm._t(\"menu-icon\")];\n }, proxy: true }], null, true) }, [_vm._t(\"default\")], 2) : _vm._e(), _c(\"ChevronRight\", { staticClass: \"vue-crumb__separator\", attrs: { \"size\": 20 } })], 1);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"bc2f0c21\"\n);\nconst NcBreadcrumb = __component__.exports;\nexport {\n NcBreadcrumb as N\n};\n//# sourceMappingURL=NcBreadcrumb-BC6tmZfd.mjs.map\n","var $placeholder = Symbol();\n\nvar $fakeParent = Symbol();\n\nvar $nextSiblingPatched = Symbol();\n\nvar $childNodesPatched = Symbol();\n\nvar isFrag = function isFrag(node) {\n return \"frag\" in node;\n};\n\nvar parentNodeDescriptor = {\n get: function get() {\n return this[$fakeParent] || this.parentElement;\n },\n configurable: true\n};\n\nvar patchParentNode = function patchParentNode(node, fakeParent) {\n if ($fakeParent in node) {\n return;\n }\n node[$fakeParent] = fakeParent;\n Object.defineProperty(node, \"parentNode\", parentNodeDescriptor);\n};\n\nvar nextSiblingDescriptor = {\n get: function get() {\n var childNodes = this.parentNode.childNodes;\n var index = childNodes.indexOf(this);\n if (index > -1) {\n return childNodes[index + 1] || null;\n }\n return null;\n }\n};\n\nvar patchNextSibling = function patchNextSibling(node) {\n if ($nextSiblingPatched in node) {\n return;\n }\n node[$nextSiblingPatched] = true;\n Object.defineProperty(node, \"nextSibling\", nextSiblingDescriptor);\n};\n\nvar getTopFragment = function getTopFragment(node, fromParent) {\n while (node.parentNode !== fromParent) {\n var _node = node, parentNode = _node.parentNode;\n if (parentNode) {\n node = parentNode;\n }\n }\n return node;\n};\n\nvar getChildNodes;\n\nvar getChildNodesWithFragments = function getChildNodesWithFragments(node) {\n if (!getChildNodes) {\n var _childNodesDescriptor = Object.getOwnPropertyDescriptor(Node.prototype, \"childNodes\");\n getChildNodes = _childNodesDescriptor.get;\n }\n var realChildNodes = getChildNodes.apply(node);\n var childNodes = Array.from(realChildNodes).map((function(childNode) {\n return getTopFragment(childNode, node);\n }));\n return childNodes.filter((function(childNode, index) {\n return childNode !== childNodes[index - 1];\n }));\n};\n\nvar childNodesDescriptor = {\n get: function get() {\n return this.frag || getChildNodesWithFragments(this);\n }\n};\n\nvar firstChildDescriptor = {\n get: function get() {\n return this.childNodes[0] || null;\n }\n};\n\nfunction hasChildNodes() {\n return this.childNodes.length > 0;\n}\n\nvar patchChildNodes = function patchChildNodes(node) {\n if ($childNodesPatched in node) {\n return;\n }\n node[$childNodesPatched] = true;\n Object.defineProperties(node, {\n childNodes: childNodesDescriptor,\n firstChild: firstChildDescriptor\n });\n node.hasChildNodes = hasChildNodes;\n};\n\nfunction before() {\n var _this$frag$;\n (_this$frag$ = this.frag[0]).before.apply(_this$frag$, arguments);\n}\n\nfunction remove() {\n var frag = this.frag;\n var removed = frag.splice(0, frag.length);\n removed.forEach((function(node) {\n node.remove();\n }));\n}\n\nvar getFragmentLeafNodes = function getFragmentLeafNodes(children) {\n var _Array$prototype;\n return (_Array$prototype = Array.prototype).concat.apply(_Array$prototype, children.map((function(childNode) {\n return isFrag(childNode) ? getFragmentLeafNodes(childNode.frag) : childNode;\n })));\n};\n\nvar addPlaceholder = function addPlaceholder(node, insertBeforeNode) {\n var placeholder = node[$placeholder];\n insertBeforeNode.before(placeholder);\n patchParentNode(placeholder, node);\n node.frag.unshift(placeholder);\n};\n\nfunction removeChild(node) {\n if (isFrag(this)) {\n var hasChildInFragment = this.frag.indexOf(node);\n if (hasChildInFragment > -1) {\n var _this$frag$splice = this.frag.splice(hasChildInFragment, 1), removedNode = _this$frag$splice[0];\n if (this.frag.length === 0) {\n addPlaceholder(this, removedNode);\n }\n node.remove();\n }\n } else {\n var children = getChildNodesWithFragments(this);\n var hasChild = children.indexOf(node);\n if (hasChild > -1) {\n node.remove();\n }\n }\n return node;\n}\n\nfunction insertBefore(insertNode, insertBeforeNode) {\n var _this = this;\n var insertNodes = insertNode.frag || [ insertNode ];\n if (isFrag(this)) {\n if (insertNode[$fakeParent] === this && insertNode.parentElement) {\n return insertNode;\n }\n var _frag = this.frag;\n if (insertBeforeNode) {\n var index = _frag.indexOf(insertBeforeNode);\n if (index > -1) {\n _frag.splice.apply(_frag, [ index, 0 ].concat(insertNodes));\n insertBeforeNode.before.apply(insertBeforeNode, insertNodes);\n }\n } else {\n var _lastNode = _frag[_frag.length - 1];\n _frag.push.apply(_frag, insertNodes);\n _lastNode.after.apply(_lastNode, insertNodes);\n }\n removePlaceholder(this);\n } else if (insertBeforeNode) {\n if (this.childNodes.includes(insertBeforeNode)) {\n insertBeforeNode.before.apply(insertBeforeNode, insertNodes);\n }\n } else {\n this.append.apply(this, insertNodes);\n }\n insertNodes.forEach((function(node) {\n patchParentNode(node, _this);\n }));\n var lastNode = insertNodes[insertNodes.length - 1];\n patchNextSibling(lastNode);\n return insertNode;\n}\n\nfunction appendChild(node) {\n if (node[$fakeParent] === this && node.parentElement) {\n return node;\n }\n var frag = this.frag;\n var lastChild = frag[frag.length - 1];\n lastChild.after(node);\n patchParentNode(node, this);\n removePlaceholder(this);\n frag.push(node);\n return node;\n}\n\nvar removePlaceholder = function removePlaceholder(node) {\n var placeholder = node[$placeholder];\n if (node.frag[0] === placeholder) {\n node.frag.shift();\n placeholder.remove();\n }\n};\n\nvar innerHTMLDescriptor = {\n set: function set(htmlString) {\n var _this2 = this;\n if (this.frag[0] !== this[$placeholder]) {\n this.frag.slice().forEach((function(child) {\n return _this2.removeChild(child);\n }));\n }\n if (htmlString) {\n var domify = document.createElement(\"div\");\n domify.innerHTML = htmlString;\n Array.from(domify.childNodes).forEach((function(node) {\n _this2.appendChild(node);\n }));\n }\n },\n get: function get() {\n return \"\";\n }\n};\n\nvar frag = {\n inserted: function inserted(element) {\n var parentNode = element.parentNode, nextSibling = element.nextSibling, previousSibling = element.previousSibling;\n var childNodes = Array.from(element.childNodes);\n var placeholder = document.createComment(\"\");\n if (childNodes.length === 0) {\n childNodes.push(placeholder);\n }\n element.frag = childNodes;\n element[$placeholder] = placeholder;\n var fragment = document.createDocumentFragment();\n fragment.append.apply(fragment, getFragmentLeafNodes(childNodes));\n element.replaceWith(fragment);\n childNodes.forEach((function(node) {\n patchParentNode(node, element);\n patchNextSibling(node);\n }));\n patchChildNodes(element);\n Object.assign(element, {\n remove: remove,\n appendChild: appendChild,\n insertBefore: insertBefore,\n removeChild: removeChild,\n before: before\n });\n Object.defineProperty(element, \"innerHTML\", innerHTMLDescriptor);\n if (parentNode) {\n Object.assign(parentNode, {\n removeChild: removeChild,\n insertBefore: insertBefore\n });\n patchParentNode(element, parentNode);\n patchChildNodes(parentNode);\n }\n if (nextSibling) {\n patchNextSibling(element);\n }\n if (previousSibling) {\n patchNextSibling(previousSibling);\n }\n },\n unbind: function unbind(element) {\n element.remove();\n }\n};\n\nvar fragment = {\n name: \"Fragment\",\n directives: {\n frag: frag\n },\n render: function render(h) {\n return h(\"div\", {\n directives: [ {\n name: \"frag\"\n } ]\n }, this.$slots[\"default\"]);\n }\n};\n\nexport { fragment as Fragment, frag as default };\n","import '../assets/NcBreadcrumbs-DahxPGJY.css';\nimport { unsubscribe, subscribe } from \"@nextcloud/event-bus\";\nimport debounce from \"debounce\";\nimport Vue from \"vue\";\nimport { Fragment } from \"vue-frag\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nimport { N as NcActionButton } from \"./NcActionButton-DykQxmXJ.mjs\";\nimport NcActionLink from \"../Components/NcActionLink.mjs\";\nimport NcActionRouter from \"../Components/NcActionRouter.mjs\";\nimport { N as NcActions } from \"./NcActions-CpdT2y6O.mjs\";\nimport { N as NcBreadcrumb } from \"./NcBreadcrumb-BC6tmZfd.mjs\";\nconst _sfc_main$1 = {\n name: \"FolderIcon\",\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};\nvar _sfc_render$1 = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon folder-icon\", attrs: { \"aria-hidden\": _vm.title ? null : \"true\", \"aria-label\": _vm.title, \"role\": \"img\" }, on: { \"click\": function($event) {\n return _vm.$emit(\"click\", $event);\n } } }, \"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\": \"M10,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8C22,6.89 21.1,6 20,6H12L10,4Z\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns$1 = [];\nvar __component__$1 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$1,\n _sfc_render$1,\n _sfc_staticRenderFns$1,\n false,\n null,\n null\n);\nconst IconFolder = __component__$1.exports;\nfunction ValidateSlot(slots, allowed, vm) {\n if (slots === void 0) {\n return;\n }\n for (let index = slots.length - 1; index >= 0; index--) {\n const node = slots[index];\n const isHtmlElement = !node.componentOptions && node.tag && allowed.indexOf(node.tag) === -1;\n const isVueComponent = !!node.componentOptions && typeof node.componentOptions.tag === \"string\";\n const isForbiddenComponent = isVueComponent && allowed.indexOf(node.componentOptions.tag) === -1;\n if (isHtmlElement || !isVueComponent || isForbiddenComponent) {\n if (isHtmlElement || isForbiddenComponent) {\n Vue.util.warn(`${isHtmlElement ? node.tag : node.componentOptions.tag} is not allowed inside the ${vm.$options.name} component`, vm);\n }\n slots.splice(index, 1);\n }\n }\n}\nconst crumbClass = \"vue-crumb\";\nconst _sfc_main = {\n name: \"NcBreadcrumbs\",\n components: {\n NcActions,\n NcActionButton,\n NcActionRouter,\n NcActionLink,\n NcBreadcrumb,\n IconFolder\n },\n props: {\n /**\n * Set a css icon-class for the icon of the root breadcrumb to be used.\n */\n rootIcon: {\n type: String,\n default: \"icon-home\"\n },\n /**\n * Set the aria-label of the nav element.\n */\n ariaLabel: {\n type: String,\n default: null\n }\n },\n emits: [\"dropped\"],\n data() {\n return {\n /**\n * Array to track the hidden breadcrumbs by their index.\n * Comparing two crumbs somehow does not work, so we use the indices.\n */\n hiddenIndices: [],\n /**\n * This is the props of the middle Action menu\n * that show the ellipsised breadcrumbs\n */\n menuBreadcrumbProps: {\n // Don't show a name for this breadcrumb, only the Actions menu\n name: \"\",\n forceMenu: true,\n // Don't allow dropping directly on the actions breadcrumb\n disableDrop: true,\n // Is the menu open or not\n open: false\n },\n breadcrumbsRefs: {}\n };\n },\n beforeMount() {\n ValidateSlot(this.$slots.default, [\"NcBreadcrumb\"], this);\n },\n beforeUpdate() {\n ValidateSlot(this.$slots.default, [\"NcBreadcrumb\"], this);\n },\n created() {\n window.addEventListener(\"resize\", debounce(() => {\n this.handleWindowResize();\n }, 100));\n subscribe(\"navigation-toggled\", this.delayedResize);\n },\n mounted() {\n this.handleWindowResize();\n },\n updated() {\n this.delayedResize();\n this.$nextTick(() => {\n this.hideCrumbs();\n });\n },\n beforeDestroy() {\n window.removeEventListener(\"resize\", this.handleWindowResize);\n unsubscribe(\"navigation-toggled\", this.delayedResize);\n },\n methods: {\n /**\n * Close the actions menu\n *\n * @param {object} e The event\n */\n closeActions(e) {\n if (this.$refs.actionsBreadcrumb.$el.contains(e.relatedTarget)) {\n return;\n }\n this.menuBreadcrumbProps.open = false;\n },\n /**\n * Call the resize function after a delay\n */\n async delayedResize() {\n await this.$nextTick();\n this.handleWindowResize();\n },\n /**\n * Check the width of the breadcrumb and hide breadcrumbs\n * if we overflow otherwise.\n */\n handleWindowResize() {\n if (!this.$refs.container) {\n return;\n }\n const breadcrumbs = Object.values(this.breadcrumbsRefs);\n const nrCrumbs = breadcrumbs.length;\n const hiddenIndices = [];\n const availableWidth = this.$refs.container.offsetWidth;\n let totalWidth = this.getTotalWidth(breadcrumbs);\n if (this.$refs.breadcrumb__actions) {\n totalWidth += this.$refs.breadcrumb__actions.offsetWidth;\n }\n let overflow = totalWidth - availableWidth;\n overflow += overflow > 0 ? 64 : 0;\n let i = 0;\n const startIndex = Math.floor(nrCrumbs / 2);\n while (overflow > 0 && i < nrCrumbs - 2) {\n const currentIndex = startIndex + (i % 2 ? i + 1 : i) / 2 * Math.pow(-1, i + nrCrumbs % 2);\n overflow -= this.getWidth(breadcrumbs[currentIndex]?.elm, currentIndex === breadcrumbs.length - 1);\n hiddenIndices.push(currentIndex);\n i++;\n }\n if (!this.arraysEqual(this.hiddenIndices, hiddenIndices.sort((a, b) => a - b))) {\n this.hiddenIndices = hiddenIndices;\n }\n },\n /**\n * Checks if two arrays are equal.\n * Only works for primitive arrays, but that's enough here.\n *\n * @param {Array} a The first array\n * @param {Array} b The second array\n * @return {boolean} Wether the arrays are equal\n */\n arraysEqual(a, b) {\n if (a.length !== b.length) {\n return false;\n }\n if (a === b) {\n return true;\n }\n if (a === null || b === null) {\n return false;\n }\n for (let i = 0; i < a.length; ++i) {\n if (a[i] !== b[i]) {\n return false;\n }\n }\n return true;\n },\n /**\n * Calculates the total width of all breadcrumbs\n *\n * @param {Array} breadcrumbs All breadcrumbs\n * @return {number} The total width\n */\n getTotalWidth(breadcrumbs) {\n return breadcrumbs.reduce((width, crumb, index) => width + this.getWidth(crumb?.elm, index === breadcrumbs.length - 1), 0);\n },\n /**\n * Calculates the width of the provided element\n *\n * @param {object} el The element\n * @param {boolean} isLast Is this the last crumb\n * @return {number} The width\n */\n getWidth(el, isLast) {\n if (!el?.classList) {\n return 0;\n }\n const hide = el.classList.contains(`${crumbClass}--hidden`);\n el.style.minWidth = \"auto\";\n if (isLast) {\n el.style.maxWidth = \"210px\";\n }\n el.classList.remove(`${crumbClass}--hidden`);\n const w = el.offsetWidth;\n if (hide) {\n el.classList.add(`${crumbClass}--hidden`);\n }\n el.style.minWidth = \"\";\n el.style.maxWidth = \"\";\n return w;\n },\n /**\n * Prevents the default of a provided event\n *\n * @param {object} e The event\n * @return {boolean}\n */\n preventDefault(e) {\n if (e.preventDefault) {\n e.preventDefault();\n }\n return false;\n },\n /**\n * Handles the drag start.\n * Prevents a breadcrumb from being draggable.\n *\n * @param {object} e The event\n * @return {boolean}\n */\n dragStart(e) {\n return this.preventDefault(e);\n },\n /**\n * Handles when something is dropped on the breadcrumb.\n *\n * @param {object} e The drop event\n * @param {string} path The path of the breadcrumb\n * @param {boolean} disabled Whether dropping is disabled for this breadcrumb\n * @return {boolean}\n */\n dropped(e, path, disabled) {\n if (!disabled) {\n this.$emit(\"dropped\", e, path);\n }\n this.menuBreadcrumbProps.open = false;\n const crumbs = document.querySelectorAll(`.${crumbClass}`);\n crumbs.forEach((f) => {\n f.classList.remove(`${crumbClass}--hovered`);\n });\n return this.preventDefault(e);\n },\n /**\n * Handles the drag over event\n *\n * @param {object} e The drag over event\n * @return {boolean}\n */\n dragOver(e) {\n return this.preventDefault(e);\n },\n /**\n * Handles the drag enter event\n *\n * @param {object} e The drag over event\n * @param {boolean} disabled Whether dropping is disabled for this breadcrumb\n */\n dragEnter(e, disabled) {\n if (disabled) {\n return;\n }\n if (e.target.closest) {\n const target = e.target.closest(`.${crumbClass}`);\n if (target.classList && target.classList.contains(crumbClass)) {\n const crumbs = document.querySelectorAll(`.${crumbClass}`);\n crumbs.forEach((f) => {\n f.classList.remove(`${crumbClass}--hovered`);\n });\n target.classList.add(`${crumbClass}--hovered`);\n }\n }\n },\n /**\n * Handles the drag leave event\n *\n * @param {object} e The drag leave event\n * @param {boolean} disabled Whether dropping is disabled for this breadcrumb\n */\n dragLeave(e, disabled) {\n if (disabled) {\n return;\n }\n if (e.target.contains(e.relatedTarget)) {\n return;\n }\n if (e.target.closest) {\n const target = e.target.closest(`.${crumbClass}`);\n if (target.contains(e.relatedTarget)) {\n return;\n }\n if (target.classList && target.classList.contains(crumbClass)) {\n target.classList.remove(`${crumbClass}--hovered`);\n }\n }\n },\n /**\n * Check for each crumb if we have to hide it and\n * add it to the array of all crumbs.\n */\n hideCrumbs() {\n const crumbs = Object.values(this.breadcrumbsRefs);\n crumbs.forEach((crumb, i) => {\n if (crumb?.elm?.classList) {\n if (this.hiddenIndices.includes(i)) {\n crumb.elm.classList.add(`${crumbClass}--hidden`);\n } else {\n crumb.elm.classList.remove(`${crumbClass}--hidden`);\n }\n }\n });\n },\n isBreadcrumb(vnode) {\n return (vnode?.componentOptions?.tag || vnode?.tag || \"\").includes(\"NcBreadcrumb\");\n }\n },\n /**\n * The render function to display the component\n *\n * @param {Function} h The function to create VNodes\n * @return {object|undefined} The created VNode\n */\n render(h) {\n const breadcrumbs = [];\n this.$slots.default.forEach((vnode) => {\n if (this.isBreadcrumb(vnode)) {\n breadcrumbs.push(vnode);\n return;\n }\n if (vnode?.type === Fragment) {\n vnode?.children?.forEach?.((child) => {\n if (this.isBreadcrumb(child)) {\n breadcrumbs.push(child);\n }\n });\n }\n });\n if (breadcrumbs.length === 0) {\n return;\n }\n Vue.set(breadcrumbs[0].componentOptions.propsData, \"icon\", this.rootIcon);\n Vue.set(breadcrumbs[0].componentOptions.propsData, \"ref\", \"breadcrumbs\");\n const breadcrumbsRefs = {};\n breadcrumbs.forEach((crumb, index) => {\n Vue.set(crumb, \"ref\", `crumb-${index}`);\n breadcrumbsRefs[index] = crumb;\n });\n let crumbs = [];\n if (!this.hiddenIndices.length) {\n crumbs = breadcrumbs;\n } else {\n crumbs = breadcrumbs.slice(0, Math.round(breadcrumbs.length / 2));\n crumbs.push(h(\"NcBreadcrumb\", {\n class: \"dropdown\",\n props: this.menuBreadcrumbProps,\n attrs: {\n // Hide the dropdown menu from screen-readers,\n // since the crumbs in the menu are still in the list.\n \"aria-hidden\": true\n },\n // Add a ref to the Actions menu\n ref: \"actionsBreadcrumb\",\n key: \"actions-breadcrumb-1\",\n // Add handlers so the Actions menu opens on hover\n nativeOn: {\n dragstart: this.dragStart,\n dragenter: () => {\n this.menuBreadcrumbProps.open = true;\n },\n dragleave: this.closeActions\n },\n on: {\n // Make sure we keep the same open state\n // as the Actions component\n \"update:open\": (open) => {\n this.menuBreadcrumbProps.open = open;\n }\n }\n // Add all hidden breadcrumbs as ActionRouter or ActionLink\n }, this.hiddenIndices.filter((index) => index <= breadcrumbs.length - 1).map((index) => {\n const crumb = breadcrumbs[index];\n const to = crumb.componentOptions.propsData.to;\n const href = crumb.componentOptions.propsData.href;\n const disabled = crumb.componentOptions.propsData.disableDrop;\n const title = crumb.componentOptions.propsData.title;\n const name = crumb.componentOptions.propsData.name;\n let element = \"NcActionButton\";\n let path = \"\";\n if (href) {\n element = \"NcActionLink\";\n path = href;\n }\n if (to) {\n element = \"NcActionRouter\";\n path = to;\n }\n const folderIcon = h(\"IconFolder\", {\n props: {\n size: 20\n },\n slot: \"icon\"\n });\n return h(element, {\n class: crumbClass,\n props: {\n href: href || null,\n title,\n to: to || null\n },\n // Prevent the breadcrumbs from being draggable\n attrs: {\n draggable: false\n },\n on: {\n ...crumb.componentOptions.listeners\n },\n // Add the drag and drop handlers\n nativeOn: {\n dragstart: this.dragStart,\n drop: ($event) => this.dropped($event, path, disabled),\n dragover: this.dragOver,\n dragenter: ($event) => this.dragEnter($event, disabled),\n dragleave: ($event) => this.dragLeave($event, disabled)\n }\n }, [folderIcon, name]);\n })));\n const crumbs2 = breadcrumbs.slice(Math.round(breadcrumbs.length / 2));\n crumbs = crumbs.concat(crumbs2);\n }\n const wrapper = [h(\"nav\", { attrs: { \"aria-label\": this.ariaLabel } }, [h(\"ul\", { class: \"breadcrumb__crumbs\" }, [crumbs])])];\n if (this.$slots.actions) {\n wrapper.push(h(\"div\", { class: \"breadcrumb__actions\", ref: \"breadcrumb__actions\" }, this.$slots.actions));\n }\n this.breadcrumbsRefs = breadcrumbsRefs;\n return h(\"div\", { class: [\"breadcrumb\", { \"breadcrumb--collapsed\": this.hiddenIndices.length === breadcrumbs.length - 2 }], ref: \"container\" }, wrapper);\n }\n};\nconst _sfc_render = null;\nconst _sfc_staticRenderFns = null;\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"daf14f2f\"\n);\nconst NcBreadcrumbs = __component__.exports;\nexport {\n NcBreadcrumbs as N\n};\n//# sourceMappingURL=NcBreadcrumbs-BPfsSByZ.mjs.map\n"],"file":"js/NcBreadcrumbs-BPfsSByZ-Lyy2GAQq.chunk.mjs"}