Files
nextcloud-server/dist/NcSelect-B1uITk_3-D769WsNG.chunk.mjs.map
nextcloud-command 78098c8325 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-04-01 13:41:02 +00:00

1 line
134 KiB
Plaintext

{"version":3,"file":"NcSelect-B1uITk_3-D769WsNG.chunk.mjs","sources":["../node_modules/@nextcloud/vue/dist/chunks/ChevronDown-C6gc637b.mjs","../node_modules/@nextcloud/vue/dist/chunks/Close-CuhcJnX2.mjs","../node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs","../node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs","../node_modules/vue-select/dist/vue-select.es.js","../node_modules/@nextcloud/vue/dist/chunks/NcHighlight.vue_vue_type_script_lang-DnWQDM_2.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcEllipsisedOption-D6Amb91K.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcSelect-B1uITk_3.mjs"],"sourcesContent":["import { openBlock, createElementBlock, mergeProps, createElementVNode, toDisplayString, createCommentVNode } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nconst _sfc_main = {\n name: \"ChevronDownIcon\",\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};\nconst _hoisted_1 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3 = { d: \"M7.41,8.58L12,13.17L16.59,8.58L18,10L12,16L6,10L7.41,8.58Z\" };\nconst _hoisted_4 = { key: 0 };\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon chevron-down-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2))\n ], 16, _hoisted_1);\n}\nconst ChevronDown = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\nexport {\n ChevronDown as C\n};\n//# sourceMappingURL=ChevronDown-C6gc637b.mjs.map\n","import { openBlock, createElementBlock, mergeProps, createElementVNode, toDisplayString, createCommentVNode } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nconst _sfc_main = {\n name: \"CloseIcon\",\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};\nconst _hoisted_1 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3 = { d: \"M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z\" };\nconst _hoisted_4 = { key: 0 };\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon close-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2))\n ], 16, _hoisted_1);\n}\nconst IconClose = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\nexport {\n IconClose as I\n};\n//# sourceMappingURL=Close-CuhcJnX2.mjs.map\n","function hasWindow() {\n return typeof window !== 'undefined';\n}\nfunction getNodeName(node) {\n if (isNode(node)) {\n return (node.nodeName || '').toLowerCase();\n }\n // Mocked nodes in testing environments may not be instances of Node. By\n // returning `#document` an infinite loop won't occur.\n // https://github.com/floating-ui/floating-ui/issues/2317\n return '#document';\n}\nfunction getWindow(node) {\n var _node$ownerDocument;\n return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;\n}\nfunction getDocumentElement(node) {\n var _ref;\n return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;\n}\nfunction isNode(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof Node || value instanceof getWindow(value).Node;\n}\nfunction isElement(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof Element || value instanceof getWindow(value).Element;\n}\nfunction isHTMLElement(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;\n}\nfunction isShadowRoot(value) {\n if (!hasWindow() || typeof ShadowRoot === 'undefined') {\n return false;\n }\n return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;\n}\nfunction isOverflowElement(element) {\n const {\n overflow,\n overflowX,\n overflowY,\n display\n } = getComputedStyle(element);\n return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && display !== 'inline' && display !== 'contents';\n}\nfunction isTableElement(element) {\n return /^(table|td|th)$/.test(getNodeName(element));\n}\nfunction isTopLayer(element) {\n try {\n if (element.matches(':popover-open')) {\n return true;\n }\n } catch (_e) {\n // no-op\n }\n try {\n return element.matches(':modal');\n } catch (_e) {\n return false;\n }\n}\nconst willChangeRe = /transform|translate|scale|rotate|perspective|filter/;\nconst containRe = /paint|layout|strict|content/;\nconst isNotNone = value => !!value && value !== 'none';\nlet isWebKitValue;\nfunction isContainingBlock(elementOrCss) {\n const css = isElement(elementOrCss) ? getComputedStyle(elementOrCss) : elementOrCss;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n // https://drafts.csswg.org/css-transforms-2/#individual-transforms\n return isNotNone(css.transform) || isNotNone(css.translate) || isNotNone(css.scale) || isNotNone(css.rotate) || isNotNone(css.perspective) || !isWebKit() && (isNotNone(css.backdropFilter) || isNotNone(css.filter)) || willChangeRe.test(css.willChange || '') || containRe.test(css.contain || '');\n}\nfunction getContainingBlock(element) {\n let currentNode = getParentNode(element);\n while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {\n if (isContainingBlock(currentNode)) {\n return currentNode;\n } else if (isTopLayer(currentNode)) {\n return null;\n }\n currentNode = getParentNode(currentNode);\n }\n return null;\n}\nfunction isWebKit() {\n if (isWebKitValue == null) {\n isWebKitValue = typeof CSS !== 'undefined' && CSS.supports && CSS.supports('-webkit-backdrop-filter', 'none');\n }\n return isWebKitValue;\n}\nfunction isLastTraversableNode(node) {\n return /^(html|body|#document)$/.test(getNodeName(node));\n}\nfunction getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}\nfunction getNodeScroll(element) {\n if (isElement(element)) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n }\n return {\n scrollLeft: element.scrollX,\n scrollTop: element.scrollY\n };\n}\nfunction getParentNode(node) {\n if (getNodeName(node) === 'html') {\n return node;\n }\n const result =\n // Step into the shadow DOM of the parent of a slotted node.\n node.assignedSlot ||\n // DOM Element detected.\n node.parentNode ||\n // ShadowRoot detected.\n isShadowRoot(node) && node.host ||\n // Fallback.\n getDocumentElement(node);\n return isShadowRoot(result) ? result.host : result;\n}\nfunction getNearestOverflowAncestor(node) {\n const parentNode = getParentNode(node);\n if (isLastTraversableNode(parentNode)) {\n return node.ownerDocument ? node.ownerDocument.body : node.body;\n }\n if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {\n return parentNode;\n }\n return getNearestOverflowAncestor(parentNode);\n}\nfunction getOverflowAncestors(node, list, traverseIframes) {\n var _node$ownerDocument2;\n if (list === void 0) {\n list = [];\n }\n if (traverseIframes === void 0) {\n traverseIframes = true;\n }\n const scrollableAncestor = getNearestOverflowAncestor(node);\n const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);\n const win = getWindow(scrollableAncestor);\n if (isBody) {\n const frameElement = getFrameElement(win);\n return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);\n } else {\n return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));\n }\n}\nfunction getFrameElement(win) {\n return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;\n}\n\nexport { getComputedStyle, getContainingBlock, getDocumentElement, getFrameElement, getNearestOverflowAncestor, getNodeName, getNodeScroll, getOverflowAncestors, getParentNode, getWindow, isContainingBlock, isElement, isHTMLElement, isLastTraversableNode, isNode, isOverflowElement, isShadowRoot, isTableElement, isTopLayer, isWebKit };\n","import { rectToClientRect, arrow as arrow$1, autoPlacement as autoPlacement$1, detectOverflow as detectOverflow$1, flip as flip$1, hide as hide$1, inline as inline$1, limitShift as limitShift$1, offset as offset$1, shift as shift$1, size as size$1, computePosition as computePosition$1 } from '@floating-ui/core';\nimport { round, createCoords, max, min, floor } from '@floating-ui/utils';\nimport { getComputedStyle as getComputedStyle$1, isHTMLElement, isElement, getWindow, isWebKit, getFrameElement, getNodeScroll, getDocumentElement, isTopLayer, getNodeName, isOverflowElement, getOverflowAncestors, getParentNode, isLastTraversableNode, isContainingBlock, isTableElement, getContainingBlock } from '@floating-ui/utils/dom';\nexport { getOverflowAncestors } from '@floating-ui/utils/dom';\n\nfunction getCssDimensions(element) {\n const css = getComputedStyle$1(element);\n // In testing environments, the `width` and `height` properties are empty\n // strings for SVG elements, returning NaN. Fallback to `0` in this case.\n let width = parseFloat(css.width) || 0;\n let height = parseFloat(css.height) || 0;\n const hasOffset = isHTMLElement(element);\n const offsetWidth = hasOffset ? element.offsetWidth : width;\n const offsetHeight = hasOffset ? element.offsetHeight : height;\n const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;\n if (shouldFallback) {\n width = offsetWidth;\n height = offsetHeight;\n }\n return {\n width,\n height,\n $: shouldFallback\n };\n}\n\nfunction unwrapElement(element) {\n return !isElement(element) ? element.contextElement : element;\n}\n\nfunction getScale(element) {\n const domElement = unwrapElement(element);\n if (!isHTMLElement(domElement)) {\n return createCoords(1);\n }\n const rect = domElement.getBoundingClientRect();\n const {\n width,\n height,\n $\n } = getCssDimensions(domElement);\n let x = ($ ? round(rect.width) : rect.width) / width;\n let y = ($ ? round(rect.height) : rect.height) / height;\n\n // 0, NaN, or Infinity should always fallback to 1.\n\n if (!x || !Number.isFinite(x)) {\n x = 1;\n }\n if (!y || !Number.isFinite(y)) {\n y = 1;\n }\n return {\n x,\n y\n };\n}\n\nconst noOffsets = /*#__PURE__*/createCoords(0);\nfunction getVisualOffsets(element) {\n const win = getWindow(element);\n if (!isWebKit() || !win.visualViewport) {\n return noOffsets;\n }\n return {\n x: win.visualViewport.offsetLeft,\n y: win.visualViewport.offsetTop\n };\n}\nfunction shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) {\n return false;\n }\n return isFixed;\n}\n\nfunction getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n const clientRect = element.getBoundingClientRect();\n const domElement = unwrapElement(element);\n let scale = createCoords(1);\n if (includeScale) {\n if (offsetParent) {\n if (isElement(offsetParent)) {\n scale = getScale(offsetParent);\n }\n } else {\n scale = getScale(element);\n }\n }\n const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);\n let x = (clientRect.left + visualOffsets.x) / scale.x;\n let y = (clientRect.top + visualOffsets.y) / scale.y;\n let width = clientRect.width / scale.x;\n let height = clientRect.height / scale.y;\n if (domElement) {\n const win = getWindow(domElement);\n const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;\n let currentWin = win;\n let currentIFrame = getFrameElement(currentWin);\n while (currentIFrame && offsetParent && offsetWin !== currentWin) {\n const iframeScale = getScale(currentIFrame);\n const iframeRect = currentIFrame.getBoundingClientRect();\n const css = getComputedStyle$1(currentIFrame);\n const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;\n const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;\n x *= iframeScale.x;\n y *= iframeScale.y;\n width *= iframeScale.x;\n height *= iframeScale.y;\n x += left;\n y += top;\n currentWin = getWindow(currentIFrame);\n currentIFrame = getFrameElement(currentWin);\n }\n }\n return rectToClientRect({\n width,\n height,\n x,\n y\n });\n}\n\n// If <html> has a CSS width greater than the viewport, then this will be\n// incorrect for RTL.\nfunction getWindowScrollBarX(element, rect) {\n const leftScroll = getNodeScroll(element).scrollLeft;\n if (!rect) {\n return getBoundingClientRect(getDocumentElement(element)).left + leftScroll;\n }\n return rect.left + leftScroll;\n}\n\nfunction getHTMLOffset(documentElement, scroll) {\n const htmlRect = documentElement.getBoundingClientRect();\n const x = htmlRect.left + scroll.scrollLeft - getWindowScrollBarX(documentElement, htmlRect);\n const y = htmlRect.top + scroll.scrollTop;\n return {\n x,\n y\n };\n}\n\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n let {\n elements,\n rect,\n offsetParent,\n strategy\n } = _ref;\n const isFixed = strategy === 'fixed';\n const documentElement = getDocumentElement(offsetParent);\n const topLayer = elements ? isTopLayer(elements.floating) : false;\n if (offsetParent === documentElement || topLayer && isFixed) {\n return rect;\n }\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n let scale = createCoords(1);\n const offsets = createCoords(0);\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isOffsetParentAnElement) {\n const offsetRect = getBoundingClientRect(offsetParent);\n scale = getScale(offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n }\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n return {\n width: rect.width * scale.x,\n height: rect.height * scale.y,\n x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x,\n y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y\n };\n}\n\nfunction getClientRects(element) {\n return Array.from(element.getClientRects());\n}\n\n// Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable.\nfunction getDocumentRect(element) {\n const html = getDocumentElement(element);\n const scroll = getNodeScroll(element);\n const body = element.ownerDocument.body;\n const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);\n const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);\n let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n const y = -scroll.scrollTop;\n if (getComputedStyle$1(body).direction === 'rtl') {\n x += max(html.clientWidth, body.clientWidth) - width;\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\n// Safety check: ensure the scrollbar space is reasonable in case this\n// calculation is affected by unusual styles.\n// Most scrollbars leave 15-18px of space.\nconst SCROLLBAR_MAX = 25;\nfunction getViewportRect(element, strategy) {\n const win = getWindow(element);\n const html = getDocumentElement(element);\n const visualViewport = win.visualViewport;\n let width = html.clientWidth;\n let height = html.clientHeight;\n let x = 0;\n let y = 0;\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n const visualViewportBased = isWebKit();\n if (!visualViewportBased || visualViewportBased && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n const windowScrollbarX = getWindowScrollBarX(html);\n // <html> `overflow: hidden` + `scrollbar-gutter: stable` reduces the\n // visual width of the <html> but this is not considered in the size\n // of `html.clientWidth`.\n if (windowScrollbarX <= 0) {\n const doc = html.ownerDocument;\n const body = doc.body;\n const bodyStyles = getComputedStyle(body);\n const bodyMarginInline = doc.compatMode === 'CSS1Compat' ? parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight) || 0 : 0;\n const clippingStableScrollbarWidth = Math.abs(html.clientWidth - body.clientWidth - bodyMarginInline);\n if (clippingStableScrollbarWidth <= SCROLLBAR_MAX) {\n width -= clippingStableScrollbarWidth;\n }\n } else if (windowScrollbarX <= SCROLLBAR_MAX) {\n // If the <body> scrollbar is on the left, the width needs to be extended\n // by the scrollbar amount so there isn't extra space on the right.\n width += windowScrollbarX;\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\n// Returns the inner client rect, subtracting scrollbars if present.\nfunction getInnerBoundingClientRect(element, strategy) {\n const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');\n const top = clientRect.top + element.clientTop;\n const left = clientRect.left + element.clientLeft;\n const scale = isHTMLElement(element) ? getScale(element) : createCoords(1);\n const width = element.clientWidth * scale.x;\n const height = element.clientHeight * scale.y;\n const x = left * scale.x;\n const y = top * scale.y;\n return {\n width,\n height,\n x,\n y\n };\n}\nfunction getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {\n let rect;\n if (clippingAncestor === 'viewport') {\n rect = getViewportRect(element, strategy);\n } else if (clippingAncestor === 'document') {\n rect = getDocumentRect(getDocumentElement(element));\n } else if (isElement(clippingAncestor)) {\n rect = getInnerBoundingClientRect(clippingAncestor, strategy);\n } else {\n const visualOffsets = getVisualOffsets(element);\n rect = {\n x: clippingAncestor.x - visualOffsets.x,\n y: clippingAncestor.y - visualOffsets.y,\n width: clippingAncestor.width,\n height: clippingAncestor.height\n };\n }\n return rectToClientRect(rect);\n}\nfunction hasFixedPositionAncestor(element, stopNode) {\n const parentNode = getParentNode(element);\n if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {\n return false;\n }\n return getComputedStyle$1(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode);\n}\n\n// A \"clipping ancestor\" is an `overflow` element with the characteristic of\n// clipping (or hiding) child elements. This returns all clipping ancestors\n// of the given element up the tree.\nfunction getClippingElementAncestors(element, cache) {\n const cachedResult = cache.get(element);\n if (cachedResult) {\n return cachedResult;\n }\n let result = getOverflowAncestors(element, [], false).filter(el => isElement(el) && getNodeName(el) !== 'body');\n let currentContainingBlockComputedStyle = null;\n const elementIsFixed = getComputedStyle$1(element).position === 'fixed';\n let currentNode = elementIsFixed ? getParentNode(element) : element;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {\n const computedStyle = getComputedStyle$1(currentNode);\n const currentNodeIsContaining = isContainingBlock(currentNode);\n if (!currentNodeIsContaining && computedStyle.position === 'fixed') {\n currentContainingBlockComputedStyle = null;\n }\n const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && (currentContainingBlockComputedStyle.position === 'absolute' || currentContainingBlockComputedStyle.position === 'fixed') || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);\n if (shouldDropCurrentNode) {\n // Drop non-containing blocks.\n result = result.filter(ancestor => ancestor !== currentNode);\n } else {\n // Record last containing block for next iteration.\n currentContainingBlockComputedStyle = computedStyle;\n }\n currentNode = getParentNode(currentNode);\n }\n cache.set(element, result);\n return result;\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping ancestors.\nfunction getClippingRect(_ref) {\n let {\n element,\n boundary,\n rootBoundary,\n strategy\n } = _ref;\n const elementClippingAncestors = boundary === 'clippingAncestors' ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);\n const clippingAncestors = [...elementClippingAncestors, rootBoundary];\n const firstRect = getClientRectFromClippingAncestor(element, clippingAncestors[0], strategy);\n let top = firstRect.top;\n let right = firstRect.right;\n let bottom = firstRect.bottom;\n let left = firstRect.left;\n for (let i = 1; i < clippingAncestors.length; i++) {\n const rect = getClientRectFromClippingAncestor(element, clippingAncestors[i], strategy);\n top = max(rect.top, top);\n right = min(rect.right, right);\n bottom = min(rect.bottom, bottom);\n left = max(rect.left, left);\n }\n return {\n width: right - left,\n height: bottom - top,\n x: left,\n y: top\n };\n}\n\nfunction getDimensions(element) {\n const {\n width,\n height\n } = getCssDimensions(element);\n return {\n width,\n height\n };\n}\n\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n const isFixed = strategy === 'fixed';\n const rect = getBoundingClientRect(element, true, isFixed, offsetParent);\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const offsets = createCoords(0);\n\n // If the <body> scrollbar appears on the left (e.g. RTL systems). Use\n // Firefox with layout.scrollbar.side = 3 in about:config to test this.\n function setLeftRTLScrollbarOffset() {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isOffsetParentAnElement) {\n const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n } else if (documentElement) {\n setLeftRTLScrollbarOffset();\n }\n }\n if (isFixed && !isOffsetParentAnElement && documentElement) {\n setLeftRTLScrollbarOffset();\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;\n const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;\n return {\n x,\n y,\n width: rect.width,\n height: rect.height\n };\n}\n\nfunction isStaticPositioned(element) {\n return getComputedStyle$1(element).position === 'static';\n}\n\nfunction getTrueOffsetParent(element, polyfill) {\n if (!isHTMLElement(element) || getComputedStyle$1(element).position === 'fixed') {\n return null;\n }\n if (polyfill) {\n return polyfill(element);\n }\n let rawOffsetParent = element.offsetParent;\n\n // Firefox returns the <html> element as the offsetParent if it's non-static,\n // while Chrome and Safari return the <body> element. The <body> element must\n // be used to perform the correct calculations even if the <html> element is\n // non-static.\n if (getDocumentElement(element) === rawOffsetParent) {\n rawOffsetParent = rawOffsetParent.ownerDocument.body;\n }\n return rawOffsetParent;\n}\n\n// Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\nfunction getOffsetParent(element, polyfill) {\n const win = getWindow(element);\n if (isTopLayer(element)) {\n return win;\n }\n if (!isHTMLElement(element)) {\n let svgOffsetParent = getParentNode(element);\n while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {\n if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {\n return svgOffsetParent;\n }\n svgOffsetParent = getParentNode(svgOffsetParent);\n }\n return win;\n }\n let offsetParent = getTrueOffsetParent(element, polyfill);\n while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) {\n offsetParent = getTrueOffsetParent(offsetParent, polyfill);\n }\n if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) {\n return win;\n }\n return offsetParent || getContainingBlock(element) || win;\n}\n\nconst getElementRects = async function (data) {\n const getOffsetParentFn = this.getOffsetParent || getOffsetParent;\n const getDimensionsFn = this.getDimensions;\n const floatingDimensions = await getDimensionsFn(data.floating);\n return {\n reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),\n floating: {\n x: 0,\n y: 0,\n width: floatingDimensions.width,\n height: floatingDimensions.height\n }\n };\n};\n\nfunction isRTL(element) {\n return getComputedStyle$1(element).direction === 'rtl';\n}\n\nconst platform = {\n convertOffsetParentRelativeRectToViewportRelativeRect,\n getDocumentElement,\n getClippingRect,\n getOffsetParent,\n getElementRects,\n getClientRects,\n getDimensions,\n getScale,\n isElement,\n isRTL\n};\n\nfunction rectsAreEqual(a, b) {\n return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;\n}\n\n// https://samthor.au/2021/observing-dom/\nfunction observeMove(element, onMove) {\n let io = null;\n let timeoutId;\n const root = getDocumentElement(element);\n function cleanup() {\n var _io;\n clearTimeout(timeoutId);\n (_io = io) == null || _io.disconnect();\n io = null;\n }\n function refresh(skip, threshold) {\n if (skip === void 0) {\n skip = false;\n }\n if (threshold === void 0) {\n threshold = 1;\n }\n cleanup();\n const elementRectForRootMargin = element.getBoundingClientRect();\n const {\n left,\n top,\n width,\n height\n } = elementRectForRootMargin;\n if (!skip) {\n onMove();\n }\n if (!width || !height) {\n return;\n }\n const insetTop = floor(top);\n const insetRight = floor(root.clientWidth - (left + width));\n const insetBottom = floor(root.clientHeight - (top + height));\n const insetLeft = floor(left);\n const rootMargin = -insetTop + \"px \" + -insetRight + \"px \" + -insetBottom + \"px \" + -insetLeft + \"px\";\n const options = {\n rootMargin,\n threshold: max(0, min(1, threshold)) || 1\n };\n let isFirstUpdate = true;\n function handleObserve(entries) {\n const ratio = entries[0].intersectionRatio;\n if (ratio !== threshold) {\n if (!isFirstUpdate) {\n return refresh();\n }\n if (!ratio) {\n // If the reference is clipped, the ratio is 0. Throttle the refresh\n // to prevent an infinite loop of updates.\n timeoutId = setTimeout(() => {\n refresh(false, 1e-7);\n }, 1000);\n } else {\n refresh(false, ratio);\n }\n }\n if (ratio === 1 && !rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) {\n // It's possible that even though the ratio is reported as 1, the\n // element is not actually fully within the IntersectionObserver's root\n // area anymore. This can happen under performance constraints. This may\n // be a bug in the browser's IntersectionObserver implementation. To\n // work around this, we compare the element's bounding rect now with\n // what it was at the time we created the IntersectionObserver. If they\n // are not equal then the element moved, so we refresh.\n refresh();\n }\n isFirstUpdate = false;\n }\n\n // Older browsers don't support a `document` as the root and will throw an\n // error.\n try {\n io = new IntersectionObserver(handleObserve, {\n ...options,\n // Handle <iframe>s\n root: root.ownerDocument\n });\n } catch (_e) {\n io = new IntersectionObserver(handleObserve, options);\n }\n io.observe(element);\n }\n refresh(true);\n return cleanup;\n}\n\n/**\n * Automatically updates the position of the floating element when necessary.\n * Should only be called when the floating element is mounted on the DOM or\n * visible on the screen.\n * @returns cleanup function that should be invoked when the floating element is\n * removed from the DOM or hidden from the screen.\n * @see https://floating-ui.com/docs/autoUpdate\n */\nfunction autoUpdate(reference, floating, update, options) {\n if (options === void 0) {\n options = {};\n }\n const {\n ancestorScroll = true,\n ancestorResize = true,\n elementResize = typeof ResizeObserver === 'function',\n layoutShift = typeof IntersectionObserver === 'function',\n animationFrame = false\n } = options;\n const referenceEl = unwrapElement(reference);\n const ancestors = ancestorScroll || ancestorResize ? [...(referenceEl ? getOverflowAncestors(referenceEl) : []), ...(floating ? getOverflowAncestors(floating) : [])] : [];\n ancestors.forEach(ancestor => {\n ancestorScroll && ancestor.addEventListener('scroll', update, {\n passive: true\n });\n ancestorResize && ancestor.addEventListener('resize', update);\n });\n const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update) : null;\n let reobserveFrame = -1;\n let resizeObserver = null;\n if (elementResize) {\n resizeObserver = new ResizeObserver(_ref => {\n let [firstEntry] = _ref;\n if (firstEntry && firstEntry.target === referenceEl && resizeObserver && floating) {\n // Prevent update loops when using the `size` middleware.\n // https://github.com/floating-ui/floating-ui/issues/1740\n resizeObserver.unobserve(floating);\n cancelAnimationFrame(reobserveFrame);\n reobserveFrame = requestAnimationFrame(() => {\n var _resizeObserver;\n (_resizeObserver = resizeObserver) == null || _resizeObserver.observe(floating);\n });\n }\n update();\n });\n if (referenceEl && !animationFrame) {\n resizeObserver.observe(referenceEl);\n }\n if (floating) {\n resizeObserver.observe(floating);\n }\n }\n let frameId;\n let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;\n if (animationFrame) {\n frameLoop();\n }\n function frameLoop() {\n const nextRefRect = getBoundingClientRect(reference);\n if (prevRefRect && !rectsAreEqual(prevRefRect, nextRefRect)) {\n update();\n }\n prevRefRect = nextRefRect;\n frameId = requestAnimationFrame(frameLoop);\n }\n update();\n return () => {\n var _resizeObserver2;\n ancestors.forEach(ancestor => {\n ancestorScroll && ancestor.removeEventListener('scroll', update);\n ancestorResize && ancestor.removeEventListener('resize', update);\n });\n cleanupIo == null || cleanupIo();\n (_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect();\n resizeObserver = null;\n if (animationFrame) {\n cancelAnimationFrame(frameId);\n }\n };\n}\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nconst detectOverflow = detectOverflow$1;\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = offset$1;\n\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = autoPlacement$1;\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = shift$1;\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = flip$1;\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = size$1;\n\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = hide$1;\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = arrow$1;\n\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = inline$1;\n\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = limitShift$1;\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n */\nconst computePosition = (reference, floating, options) => {\n // This caches the expensive `getClippingElementAncestors` function so that\n // multiple lifecycle resets re-use the same result. It only lives for a\n // single call. If other functions become expensive, we can add them as well.\n const cache = new Map();\n const mergedOptions = {\n platform,\n ...options\n };\n const platformWithCache = {\n ...mergedOptions.platform,\n _c: cache\n };\n return computePosition$1(reference, floating, {\n ...mergedOptions,\n platform: platformWithCache\n });\n};\n\nexport { arrow, autoPlacement, autoUpdate, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, platform, shift, size };\n","var E = Object.defineProperty, M = Object.defineProperties;\nvar x = Object.getOwnPropertyDescriptors;\nvar V = Object.getOwnPropertySymbols;\nvar I = Object.prototype.hasOwnProperty, N = Object.prototype.propertyIsEnumerable;\nvar C = (e, t, s) => t in e ? E(e, t, { enumerable: !0, configurable: !0, writable: !0, value: s }) : e[t] = s, f = (e, t) => {\n for (var s in t || (t = {}))\n I.call(t, s) && C(e, s, t[s]);\n if (V)\n for (var s of V(t))\n N.call(t, s) && C(e, s, t[s]);\n return e;\n}, m = (e, t) => M(e, x(t));\nimport { openBlock as a, createElementBlock as h, createElementVNode as u, resolveDirective as K, normalizeClass as A, renderSlot as r, normalizeProps as d, guardReactiveProps as c, Fragment as B, renderList as L, createTextVNode as v, toDisplayString as D, createBlock as b, resolveDynamicComponent as _, createCommentVNode as O, mergeProps as k, toHandlers as j, withDirectives as w, vShow as P, createVNode as $, Transition as R, withCtx as z, withModifiers as F } from \"vue\";\nconst U = {\n props: {\n autoscroll: {\n type: Boolean,\n default: !0\n }\n },\n watch: {\n typeAheadPointer() {\n this.autoscroll && this.maybeAdjustScroll();\n },\n open(e) {\n this.autoscroll && e && this.$nextTick(() => this.maybeAdjustScroll());\n }\n },\n methods: {\n maybeAdjustScroll() {\n var t;\n const e = ((t = this.$refs.dropdownMenu) == null ? void 0 : t.children[this.typeAheadPointer]) || !1;\n if (e) {\n const s = this.getDropdownViewport(), { top: n, bottom: l, height: i } = e.getBoundingClientRect();\n if (n < s.top)\n return this.$refs.dropdownMenu.scrollTop = e.offsetTop;\n if (l > s.bottom)\n return this.$refs.dropdownMenu.scrollTop = e.offsetTop - (s.height - i);\n }\n },\n getDropdownViewport() {\n return this.$refs.dropdownMenu ? this.$refs.dropdownMenu.getBoundingClientRect() : {\n height: 0,\n top: 0,\n bottom: 0\n };\n }\n }\n}, q = {\n data() {\n return {\n typeAheadPointer: -1\n };\n },\n watch: {\n filteredOptions() {\n for (let e = 0; e < this.filteredOptions.length; e++)\n if (this.selectable(this.filteredOptions[e])) {\n this.typeAheadPointer = e;\n break;\n }\n },\n open(e) {\n e && this.typeAheadToLastSelected();\n },\n selectedValue() {\n this.open && this.typeAheadToLastSelected();\n }\n },\n methods: {\n typeAheadUp() {\n for (let e = this.typeAheadPointer - 1; e >= 0; e--)\n if (this.selectable(this.filteredOptions[e])) {\n this.typeAheadPointer = e;\n break;\n }\n },\n typeAheadDown() {\n for (let e = this.typeAheadPointer + 1; e < this.filteredOptions.length; e++)\n if (this.selectable(this.filteredOptions[e])) {\n this.typeAheadPointer = e;\n break;\n }\n },\n typeAheadSelect() {\n const e = this.filteredOptions[this.typeAheadPointer];\n e && this.selectable(e) && this.select(e);\n },\n typeAheadToLastSelected() {\n this.typeAheadPointer = this.selectedValue.length !== 0 ? this.filteredOptions.indexOf(this.selectedValue[this.selectedValue.length - 1]) : -1;\n }\n }\n}, J = {\n props: {\n loading: {\n type: Boolean,\n default: !1\n }\n },\n data() {\n return {\n mutableLoading: !1\n };\n },\n watch: {\n search() {\n this.$emit(\"search\", this.search, this.toggleLoading);\n },\n loading(e) {\n this.mutableLoading = e;\n }\n },\n methods: {\n toggleLoading(e = null) {\n return e == null ? this.mutableLoading = !this.mutableLoading : this.mutableLoading = e;\n }\n }\n}, S = (e, t) => {\n const s = e.__vccOpts || e;\n for (const [n, l] of t)\n s[n] = l;\n return s;\n}, H = {}, X = {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"10\",\n height: \"10\"\n}, Y = /* @__PURE__ */ u(\"path\", { d: \"M6.895455 5l2.842897-2.842898c.348864-.348863.348864-.914488 0-1.263636L9.106534.261648c-.348864-.348864-.914489-.348864-1.263636 0L5 3.104545 2.157102.261648c-.348863-.348864-.914488-.348864-1.263636 0L.261648.893466c-.348864.348864-.348864.914489 0 1.263636L3.104545 5 .261648 7.842898c-.348864.348863-.348864.914488 0 1.263636l.631818.631818c.348864.348864.914773.348864 1.263636 0L5 6.895455l2.842898 2.842897c.348863.348864.914772.348864 1.263636 0l.631818-.631818c.348864-.348864.348864-.914489 0-1.263636L6.895455 5z\" }, null, -1), Q = [\n Y\n];\nfunction G(e, t) {\n return a(), h(\"svg\", X, Q);\n}\nconst W = /* @__PURE__ */ S(H, [[\"render\", G]]), Z = {}, ee = {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"14\",\n height: \"10\"\n}, te = /* @__PURE__ */ u(\"path\", { d: \"M9.211364 7.59931l4.48338-4.867229c.407008-.441854.407008-1.158247 0-1.60046l-.73712-.80023c-.407008-.441854-1.066904-.441854-1.474243 0L7 5.198617 2.51662.33139c-.407008-.441853-1.066904-.441853-1.474243 0l-.737121.80023c-.407008.441854-.407008 1.158248 0 1.600461l4.48338 4.867228L7 10l2.211364-2.40069z\" }, null, -1), se = [\n te\n];\nfunction ie(e, t) {\n return a(), h(\"svg\", ee, se);\n}\nconst oe = /* @__PURE__ */ S(Z, [[\"render\", ie]]), T = {\n Deselect: W,\n OpenIndicator: oe\n}, ne = {\n mounted(e, { instance: t }) {\n if (t.appendToBody) {\n const {\n height: s,\n top: n,\n left: l,\n width: i\n } = t.$refs.toggle.getBoundingClientRect();\n let y = window.scrollX || window.pageXOffset, o = window.scrollY || window.pageYOffset;\n e.unbindPosition = t.calculatePosition(e, t, {\n width: i + \"px\",\n left: y + l + \"px\",\n top: o + n + s + \"px\"\n }), document.body.appendChild(e);\n }\n },\n unmounted(e, { instance: t }) {\n t.appendToBody && (e.unbindPosition && typeof e.unbindPosition == \"function\" && e.unbindPosition(), e.parentNode && e.parentNode.removeChild(e));\n }\n};\nfunction le(e) {\n const t = {};\n return Object.keys(e).sort().forEach((s) => {\n t[s] = e[s];\n }), JSON.stringify(t);\n}\nlet ae = 0;\nfunction re() {\n return ++ae;\n}\nconst de = {\n components: f({}, T),\n directives: { appendToBody: ne },\n mixins: [U, q, J],\n compatConfig: {\n MODE: 3\n },\n emits: [\n \"open\",\n \"close\",\n \"update:modelValue\",\n \"search\",\n \"search:compositionstart\",\n \"search:compositionend\",\n \"search:keydown\",\n \"search:blur\",\n \"search:focus\",\n \"search:input\",\n \"option:created\",\n \"option:selecting\",\n \"option:selected\",\n \"option:deselecting\",\n \"option:deselected\"\n ],\n props: {\n modelValue: {},\n components: {\n type: Object,\n default: () => ({})\n },\n options: {\n type: Array,\n default() {\n return [];\n }\n },\n disabled: {\n type: Boolean,\n default: !1\n },\n clearable: {\n type: Boolean,\n default: !0\n },\n deselectFromDropdown: {\n type: Boolean,\n default: !1\n },\n searchable: {\n type: Boolean,\n default: !0\n },\n multiple: {\n type: Boolean,\n default: !1\n },\n placeholder: {\n type: String,\n default: \"\"\n },\n transition: {\n type: String,\n default: \"vs__fade\"\n },\n clearSearchOnSelect: {\n type: Boolean,\n default: !0\n },\n closeOnSelect: {\n type: Boolean,\n default: !0\n },\n label: {\n type: String,\n default: \"label\"\n },\n autocomplete: {\n type: String,\n default: \"off\"\n },\n reduce: {\n type: Function,\n default: (e) => e\n },\n selectable: {\n type: Function,\n default: (e) => !0\n },\n getOptionLabel: {\n type: Function,\n default(e) {\n return typeof e == \"object\" ? e.hasOwnProperty(this.label) ? e[this.label] : console.warn(`[vue-select warn]: Label key \"option.${this.label}\" does not exist in options object ${JSON.stringify(e)}.\nhttps://vue-select.org/api/props.html#getoptionlabel`) : e;\n }\n },\n getOptionKey: {\n type: Function,\n default(e) {\n if (typeof e != \"object\")\n return e;\n try {\n return e.hasOwnProperty(\"id\") ? e.id : le(e);\n } catch (t) {\n return console.warn(`[vue-select warn]: Could not stringify this option to generate unique key. Please provide'getOptionKey' prop to return a unique key for each option.\nhttps://vue-select.org/api/props.html#getoptionkey`, e, t);\n }\n }\n },\n onTab: {\n type: Function,\n default: function() {\n this.selectOnTab && !this.isComposing && this.typeAheadSelect();\n }\n },\n taggable: {\n type: Boolean,\n default: !1\n },\n tabindex: {\n type: Number,\n default: null\n },\n pushTags: {\n type: Boolean,\n default: !1\n },\n filterable: {\n type: Boolean,\n default: !0\n },\n filterBy: {\n type: Function,\n default(e, t, s) {\n return (t || \"\").toLocaleLowerCase().indexOf(s.toLocaleLowerCase()) > -1;\n }\n },\n filter: {\n type: Function,\n default(e, t) {\n return e.filter((s) => {\n let n = this.getOptionLabel(s);\n return typeof n == \"number\" && (n = n.toString()), this.filterBy(s, n, t);\n });\n }\n },\n createOption: {\n type: Function,\n default(e) {\n return typeof this.optionList[0] == \"object\" ? { [this.label]: e } : e;\n }\n },\n resetOnOptionsChange: {\n default: !1,\n validator: (e) => [\"function\", \"boolean\"].includes(typeof e)\n },\n clearSearchOnBlur: {\n type: Function,\n default: function({ clearSearchOnSelect: e, multiple: t }) {\n return e && !t;\n }\n },\n noDrop: {\n type: Boolean,\n default: !1\n },\n inputId: {\n type: String\n },\n dir: {\n type: String,\n default: \"auto\"\n },\n selectOnTab: {\n type: Boolean,\n default: !1\n },\n selectOnKeyCodes: {\n type: Array,\n default: () => [13]\n },\n searchInputQuerySelector: {\n type: String,\n default: \"[type=search]\"\n },\n mapKeydown: {\n type: Function,\n default: (e, t) => e\n },\n appendToBody: {\n type: Boolean,\n default: !1\n },\n calculatePosition: {\n type: Function,\n default(e, t, { width: s, top: n, left: l }) {\n e.style.top = n, e.style.left = l, e.style.width = s;\n }\n },\n dropdownShouldOpen: {\n type: Function,\n default({ noDrop: e, open: t, mutableLoading: s }) {\n return e ? !1 : t && !s;\n }\n },\n uid: {\n type: [String, Number],\n default: () => re()\n }\n },\n data() {\n return {\n search: \"\",\n open: !1,\n isComposing: !1,\n pushedTags: [],\n _value: [],\n deselectButtons: []\n };\n },\n computed: {\n isReducingValues() {\n return this.$props.reduce !== this.$options.props.reduce.default;\n },\n isTrackingValues() {\n return typeof this.modelValue == \"undefined\" || this.isReducingValues;\n },\n selectedValue() {\n let e = this.modelValue;\n return this.isTrackingValues && (e = this.$data._value), e != null && e !== \"\" ? [].concat(e) : [];\n },\n optionList() {\n return this.options.concat(this.pushTags ? this.pushedTags : []);\n },\n searchEl() {\n return this.$slots.search ? this.$refs.selectedOptions.querySelector(this.searchInputQuerySelector) : this.$refs.search;\n },\n scope() {\n const e = {\n search: this.search,\n loading: this.loading,\n searching: this.searching,\n filteredOptions: this.filteredOptions\n };\n return {\n search: {\n attributes: f({\n disabled: this.disabled,\n placeholder: this.searchPlaceholder,\n tabindex: this.tabindex,\n readonly: !this.searchable,\n id: this.inputId,\n \"aria-autocomplete\": \"list\",\n \"aria-labelledby\": `vs${this.uid}__combobox`,\n \"aria-controls\": `vs${this.uid}__listbox`,\n ref: \"search\",\n type: \"search\",\n autocomplete: this.autocomplete,\n value: this.search\n }, this.dropdownOpen && this.filteredOptions[this.typeAheadPointer] ? {\n \"aria-activedescendant\": `vs${this.uid}__option-${this.typeAheadPointer}`\n } : {}),\n events: {\n compositionstart: () => this.isComposing = !0,\n compositionend: () => this.isComposing = !1,\n keydown: this.onSearchKeyDown,\n blur: this.onSearchBlur,\n focus: this.onSearchFocus,\n input: (t) => this.search = t.target.value\n }\n },\n spinner: {\n loading: this.mutableLoading\n },\n noOptions: {\n search: this.search,\n loading: this.mutableLoading,\n searching: this.searching\n },\n openIndicator: {\n attributes: {\n ref: \"openIndicator\",\n role: \"presentation\",\n class: \"vs__open-indicator\"\n }\n },\n listHeader: e,\n listFooter: e,\n header: m(f({}, e), { deselect: this.deselect }),\n footer: m(f({}, e), { deselect: this.deselect })\n };\n },\n childComponents() {\n return f(f({}, T), this.components);\n },\n stateClasses() {\n return {\n \"vs--open\": this.dropdownOpen,\n \"vs--single\": !this.multiple,\n \"vs--multiple\": this.multiple,\n \"vs--searching\": this.searching && !this.noDrop,\n \"vs--searchable\": this.searchable && !this.noDrop,\n \"vs--unsearchable\": !this.searchable,\n \"vs--loading\": this.mutableLoading,\n \"vs--disabled\": this.disabled\n };\n },\n searching() {\n return !!this.search;\n },\n dropdownOpen() {\n return this.dropdownShouldOpen(this);\n },\n searchPlaceholder() {\n return this.isValueEmpty && this.placeholder ? this.placeholder : void 0;\n },\n filteredOptions() {\n const e = [].concat(this.optionList);\n if (!this.filterable && !this.taggable)\n return e;\n const t = this.search.length ? this.filter(e, this.search, this) : e;\n if (this.taggable && this.search.length) {\n const s = this.createOption(this.search);\n this.optionExists(s) || t.unshift(s);\n }\n return t;\n },\n isValueEmpty() {\n return this.selectedValue.length === 0;\n },\n showClearButton() {\n return !this.multiple && this.clearable && !this.open && !this.isValueEmpty;\n }\n },\n watch: {\n options(e, t) {\n const s = () => typeof this.resetOnOptionsChange == \"function\" ? this.resetOnOptionsChange(e, t, this.selectedValue) : this.resetOnOptionsChange;\n !this.taggable && s() && this.clearSelection(), this.modelValue && this.isTrackingValues && this.setInternalValueFromOptions(this.modelValue);\n },\n modelValue: {\n immediate: !0,\n handler(e) {\n this.isTrackingValues && this.setInternalValueFromOptions(e);\n }\n },\n multiple() {\n this.clearSelection();\n },\n open(e) {\n this.$emit(e ? \"open\" : \"close\");\n }\n },\n created() {\n this.mutableLoading = this.loading;\n },\n methods: {\n setInternalValueFromOptions(e) {\n Array.isArray(e) ? this.$data._value = e.map((t) => this.findOptionFromReducedValue(t)) : this.$data._value = this.findOptionFromReducedValue(e);\n },\n select(e) {\n this.$emit(\"option:selecting\", e), this.isOptionSelected(e) ? this.deselectFromDropdown && (this.clearable || this.multiple && this.selectedValue.length > 1) && this.deselect(e) : (this.taggable && !this.optionExists(e) && (this.$emit(\"option:created\", e), this.pushTag(e)), this.multiple && (e = this.selectedValue.concat(e)), this.updateValue(e), this.$emit(\"option:selected\", e)), this.onAfterSelect(e);\n },\n deselect(e) {\n this.$emit(\"option:deselecting\", e), this.updateValue(this.selectedValue.filter((t) => !this.optionComparator(t, e))), this.$emit(\"option:deselected\", e);\n },\n clearSelection() {\n this.updateValue(this.multiple ? [] : null);\n },\n onAfterSelect(e) {\n this.closeOnSelect && (this.open = !this.open, this.searchEl.blur()), this.clearSearchOnSelect && (this.search = \"\");\n },\n updateValue(e) {\n typeof this.modelValue == \"undefined\" && (this.$data._value = e), e !== null && (Array.isArray(e) ? e = e.map((t) => this.reduce(t)) : e = this.reduce(e)), this.$emit(\"update:modelValue\", e);\n },\n toggleDropdown(e) {\n const t = e.target !== this.searchEl;\n t && e.preventDefault();\n const s = [\n ...this.deselectButtons || [],\n this.$refs.clearButton\n ];\n if (this.searchEl === void 0 || s.filter(Boolean).some((n) => n.contains(e.target) || n === e.target)) {\n e.preventDefault();\n return;\n }\n this.open && t ? this.searchEl.blur() : this.disabled || (this.open = !0, this.searchEl.focus());\n },\n isOptionSelected(e) {\n return this.selectedValue.some((t) => this.optionComparator(t, e));\n },\n isOptionDeselectable(e) {\n return this.isOptionSelected(e) && this.deselectFromDropdown;\n },\n optionComparator(e, t) {\n return this.getOptionKey(e) === this.getOptionKey(t);\n },\n findOptionFromReducedValue(e) {\n const t = (n) => JSON.stringify(this.reduce(n)) === JSON.stringify(e), s = [...this.options, ...this.pushedTags].filter(t);\n return s.length === 1 ? s[0] : s.find((n) => this.optionComparator(n, this.$data._value)) || e;\n },\n closeSearchOptions() {\n this.open = !1, this.$emit(\"search:blur\");\n },\n maybeDeleteValue() {\n if (!this.searchEl.value.length && this.selectedValue && this.selectedValue.length && this.clearable) {\n let e = null;\n this.multiple && (e = [\n ...this.selectedValue.slice(0, this.selectedValue.length - 1)\n ]), this.updateValue(e);\n }\n },\n optionExists(e) {\n return this.optionList.some((t) => this.optionComparator(t, e));\n },\n normalizeOptionForSlot(e) {\n return typeof e == \"object\" ? e : { [this.label]: e };\n },\n pushTag(e) {\n this.pushedTags.push(e);\n },\n onEscape() {\n this.search.length ? this.search = \"\" : this.searchEl.blur();\n },\n onSearchBlur() {\n if (this.mousedown && !this.searching)\n this.mousedown = !1;\n else {\n const { clearSearchOnSelect: e, multiple: t } = this;\n this.clearSearchOnBlur({ clearSearchOnSelect: e, multiple: t }) && (this.search = \"\"), this.closeSearchOptions();\n return;\n }\n if (this.search.length === 0 && this.options.length === 0) {\n this.closeSearchOptions();\n return;\n }\n },\n onSearchFocus() {\n this.open = !0, this.$emit(\"search:focus\");\n },\n onMousedown() {\n this.mousedown = !0;\n },\n onMouseUp() {\n this.mousedown = !1;\n },\n onSearchKeyDown(e) {\n const t = (l) => (l.preventDefault(), !this.isComposing && this.typeAheadSelect()), s = {\n 8: (l) => this.maybeDeleteValue(),\n 9: (l) => this.onTab(),\n 27: (l) => this.onEscape(),\n 38: (l) => (l.preventDefault(), this.typeAheadUp()),\n 40: (l) => (l.preventDefault(), this.typeAheadDown())\n };\n this.selectOnKeyCodes.forEach((l) => s[l] = t);\n const n = this.mapKeydown(s, this);\n if (typeof n[e.keyCode] == \"function\")\n return n[e.keyCode](e);\n }\n }\n}, he = [\"dir\"], ce = [\"id\", \"aria-expanded\", \"aria-owns\"], ue = {\n ref: \"selectedOptions\",\n class: \"vs__selected-options\"\n}, pe = [\"disabled\", \"title\", \"aria-label\", \"onClick\"], fe = {\n ref: \"actions\",\n class: \"vs__actions\"\n}, ge = [\"disabled\"], ye = { class: \"vs__spinner\" }, me = [\"id\"], be = [\"id\", \"aria-selected\", \"onMouseover\", \"onClick\"], _e = {\n key: 0,\n class: \"vs__no-options\"\n}, Oe = /* @__PURE__ */ v(\" Sorry, no matching options. \"), we = [\"id\"];\nfunction ve(e, t, s, n, l, i) {\n const y = K(\"append-to-body\");\n return a(), h(\"div\", {\n dir: s.dir,\n class: A([\"v-select\", i.stateClasses])\n }, [\n r(e.$slots, \"header\", d(c(i.scope.header))),\n u(\"div\", {\n id: `vs${s.uid}__combobox`,\n ref: \"toggle\",\n class: \"vs__dropdown-toggle\",\n role: \"combobox\",\n \"aria-expanded\": i.dropdownOpen.toString(),\n \"aria-owns\": `vs${s.uid}__listbox`,\n \"aria-label\": \"Search for option\",\n onMousedown: t[1] || (t[1] = (o) => i.toggleDropdown(o))\n }, [\n u(\"div\", ue, [\n (a(!0), h(B, null, L(i.selectedValue, (o, p) => r(e.$slots, \"selected-option-container\", {\n option: i.normalizeOptionForSlot(o),\n deselect: i.deselect,\n multiple: s.multiple,\n disabled: s.disabled\n }, () => [\n (a(), h(\"span\", {\n key: s.getOptionKey(o),\n class: \"vs__selected\"\n }, [\n r(e.$slots, \"selected-option\", d(c(i.normalizeOptionForSlot(o))), () => [\n v(D(s.getOptionLabel(o)), 1)\n ]),\n s.multiple ? (a(), h(\"button\", {\n key: 0,\n ref_for: !0,\n ref: (g) => l.deselectButtons[p] = g,\n disabled: s.disabled,\n type: \"button\",\n class: \"vs__deselect\",\n title: `Deselect ${s.getOptionLabel(o)}`,\n \"aria-label\": `Deselect ${s.getOptionLabel(o)}`,\n onClick: (g) => i.deselect(o)\n }, [\n (a(), b(_(i.childComponents.Deselect)))\n ], 8, pe)) : O(\"\", !0)\n ]))\n ])), 256)),\n r(e.$slots, \"search\", d(c(i.scope.search)), () => [\n u(\"input\", k({ class: \"vs__search\" }, i.scope.search.attributes, j(i.scope.search.events)), null, 16)\n ])\n ], 512),\n u(\"div\", fe, [\n w(u(\"button\", {\n ref: \"clearButton\",\n disabled: s.disabled,\n type: \"button\",\n class: \"vs__clear\",\n title: \"Clear Selected\",\n \"aria-label\": \"Clear Selected\",\n onClick: t[0] || (t[0] = (...o) => i.clearSelection && i.clearSelection(...o))\n }, [\n (a(), b(_(i.childComponents.Deselect)))\n ], 8, ge), [\n [P, i.showClearButton]\n ]),\n r(e.$slots, \"open-indicator\", d(c(i.scope.openIndicator)), () => [\n s.noDrop ? O(\"\", !0) : (a(), b(_(i.childComponents.OpenIndicator), d(k({ key: 0 }, i.scope.openIndicator.attributes)), null, 16))\n ]),\n r(e.$slots, \"spinner\", d(c(i.scope.spinner)), () => [\n w(u(\"div\", ye, \"Loading...\", 512), [\n [P, e.mutableLoading]\n ])\n ])\n ], 512)\n ], 40, ce),\n $(R, { name: s.transition }, {\n default: z(() => [\n i.dropdownOpen ? w((a(), h(\"ul\", {\n id: `vs${s.uid}__listbox`,\n ref: \"dropdownMenu\",\n key: `vs${s.uid}__listbox`,\n class: \"vs__dropdown-menu\",\n role: \"listbox\",\n tabindex: \"-1\",\n onMousedown: t[2] || (t[2] = F((...o) => i.onMousedown && i.onMousedown(...o), [\"prevent\"])),\n onMouseup: t[3] || (t[3] = (...o) => i.onMouseUp && i.onMouseUp(...o))\n }, [\n r(e.$slots, \"list-header\", d(c(i.scope.listHeader))),\n (a(!0), h(B, null, L(i.filteredOptions, (o, p) => (a(), h(\"li\", {\n id: `vs${s.uid}__option-${p}`,\n key: s.getOptionKey(o),\n role: \"option\",\n class: A([\"vs__dropdown-option\", {\n \"vs__dropdown-option--deselect\": i.isOptionDeselectable(o) && p === e.typeAheadPointer,\n \"vs__dropdown-option--selected\": i.isOptionSelected(o),\n \"vs__dropdown-option--highlight\": p === e.typeAheadPointer,\n \"vs__dropdown-option--disabled\": !s.selectable(o)\n }]),\n \"aria-selected\": p === e.typeAheadPointer ? !0 : null,\n onMouseover: (g) => s.selectable(o) ? e.typeAheadPointer = p : null,\n onClick: F((g) => s.selectable(o) ? i.select(o) : null, [\"prevent\", \"stop\"])\n }, [\n r(e.$slots, \"option\", d(c(i.normalizeOptionForSlot(o))), () => [\n v(D(s.getOptionLabel(o)), 1)\n ])\n ], 42, be))), 128)),\n i.filteredOptions.length === 0 ? (a(), h(\"li\", _e, [\n r(e.$slots, \"no-options\", d(c(i.scope.noOptions)), () => [\n Oe\n ])\n ])) : O(\"\", !0),\n r(e.$slots, \"list-footer\", d(c(i.scope.listFooter)))\n ], 40, me)), [\n [y]\n ]) : (a(), h(\"ul\", {\n key: 1,\n id: `vs${s.uid}__listbox`,\n role: \"listbox\",\n style: { display: \"none\", visibility: \"hidden\" }\n }, null, 8, we))\n ]),\n _: 3\n }, 8, [\"name\"]),\n r(e.$slots, \"footer\", d(c(i.scope.footer)))\n ], 10, he);\n}\nconst Ce = /* @__PURE__ */ S(de, [[\"render\", ve]]);\nexport {\n Ce as default\n};\n","import { defineComponent, h } from \"vue\";\n/*!\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nfunction findRanges(text, search) {\n const ranges = [];\n let currentIndex = 0;\n let index = text.toLowerCase().indexOf(search.toLowerCase(), currentIndex);\n let i = 0;\n while (index > -1 && i++ < text.length) {\n currentIndex = index + search.length;\n ranges.push({ start: index, end: currentIndex });\n index = text.toLowerCase().indexOf(search.toLowerCase(), currentIndex);\n }\n return ranges;\n}\nconst _sfc_main = defineComponent({\n name: \"NcHighlight\",\n props: {\n /**\n * The string to display\n */\n text: {\n type: String,\n default: \"\"\n },\n /**\n * The string to match and highlight\n */\n search: {\n type: String,\n default: \"\"\n },\n /**\n * The ranges to highlight, takes precedence over the search prop.\n */\n highlight: {\n type: Array,\n default: () => []\n }\n },\n computed: {\n /**\n * The indice ranges which should be highlighted.\n * If an array with ranges is provided, we use it. Otherwise\n * we calculate it based on the provided substring to highlight.\n *\n * @return The array of ranges to highlight\n */\n ranges() {\n let ranges = [];\n if (!this.search && this.highlight.length === 0) {\n return ranges;\n }\n if (this.highlight.length > 0) {\n ranges = this.highlight;\n } else {\n ranges = findRanges(this.text, this.search);\n }\n ranges.forEach((range, i) => {\n if (range.end < range.start) {\n ranges[i] = {\n start: range.end,\n end: range.start\n };\n }\n });\n ranges = ranges.reduce((validRanges, range) => {\n if (range.start < this.text.length && range.end > 0) {\n validRanges.push({\n start: range.start < 0 ? 0 : range.start,\n end: range.end > this.text.length ? this.text.length : range.end\n });\n }\n return validRanges;\n }, []);\n ranges.sort((a, b) => {\n return a.start - b.start;\n });\n ranges = ranges.reduce((mergedRanges, range) => {\n if (!mergedRanges.length) {\n mergedRanges.push(range);\n } else {\n const idx = mergedRanges.length - 1;\n if (mergedRanges[idx].end >= range.start) {\n mergedRanges[idx] = {\n start: mergedRanges[idx].start,\n end: Math.max(mergedRanges[idx].end, range.end)\n };\n } else {\n mergedRanges.push(range);\n }\n }\n return mergedRanges;\n }, []);\n return ranges;\n },\n /**\n * Calculate the different chunks to show based on the ranges to highlight.\n */\n chunks() {\n if (this.ranges.length === 0) {\n return [{\n start: 0,\n end: this.text.length,\n highlight: false,\n text: this.text\n }];\n }\n const chunks = [];\n let currentIndex = 0;\n let currentRange = 0;\n while (currentIndex < this.text.length) {\n const range = this.ranges[currentRange];\n if (range.start === currentIndex) {\n chunks.push({\n ...range,\n highlight: true,\n text: this.text.slice(range.start, range.end)\n });\n currentRange++;\n currentIndex = range.end;\n if (currentRange >= this.ranges.length && currentIndex < this.text.length) {\n chunks.push({\n start: currentIndex,\n end: this.text.length,\n highlight: false,\n text: this.text.slice(currentIndex)\n });\n currentIndex = this.text.length;\n }\n continue;\n }\n chunks.push({\n start: currentIndex,\n end: range.start,\n highlight: false,\n text: this.text.slice(currentIndex, range.start)\n });\n currentIndex = range.start;\n }\n return chunks;\n }\n },\n /**\n * The render function to display the component\n */\n render() {\n if (!this.ranges.length) {\n return h(\"span\", {}, this.text);\n }\n return h(\"span\", {}, this.chunks.map((chunk) => {\n return chunk.highlight ? h(\"strong\", {}, chunk.text) : chunk.text;\n }));\n }\n});\nexport {\n _sfc_main as _,\n findRanges as f\n};\n//# sourceMappingURL=NcHighlight.vue_vue_type_script_lang-DnWQDM_2.mjs.map\n","import '../assets/NcEllipsisedOption-CPWbbgBy.css';\nimport { _ as _sfc_main$1, f as findRanges } from \"./NcHighlight.vue_vue_type_script_lang-DnWQDM_2.mjs\";\nimport { resolveComponent, openBlock, createElementBlock, createVNode, createBlock, createCommentVNode } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nconst _sfc_main = {\n name: \"NcEllipsisedOption\",\n components: {\n NcHighlight: _sfc_main$1\n },\n props: {\n /**\n * The text to be display in one line. If it is longer than 10 characters, it is be truncated with ellipsis in the end but keeping up to 10 last characters to fit the parent container.\n */\n name: {\n type: String,\n default: \"\"\n },\n /**\n * The search value to highlight in the text\n */\n search: {\n type: String,\n default: \"\"\n }\n },\n computed: {\n needsTruncate() {\n return this.name && this.name.length >= 10;\n },\n /**\n * Index at which to split the name if it is longer than 10 characters.\n *\n * @return {number} The position at which to split\n */\n split() {\n return this.name.length - Math.min(Math.floor(this.name.length / 2), 10);\n },\n part1() {\n if (this.needsTruncate) {\n return this.name.slice(0, this.split);\n }\n return this.name;\n },\n part2() {\n if (this.needsTruncate) {\n return this.name.slice(this.split);\n }\n return \"\";\n },\n /**\n * The ranges to highlight. Since we split the string for ellipsising,\n * the Highlight component cannot figure this out itself and needs the ranges provided.\n *\n * @return {Array} The array with the ranges to highlight\n */\n highlight1() {\n if (!this.search) {\n return [];\n }\n return findRanges(this.name, this.search);\n },\n /**\n * We shift the ranges for the second part by the position of the split.\n * Ranges out of the string length are discarded by the Highlight component,\n * so we don't need to take care of this here.\n *\n * @return {Array} The array with the ranges to highlight\n */\n highlight2() {\n return this.highlight1.map((range) => {\n return {\n start: range.start - this.split,\n end: range.end - this.split\n };\n });\n }\n }\n};\nconst _hoisted_1 = [\"title\"];\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_NcHighlight = resolveComponent(\"NcHighlight\");\n return openBlock(), createElementBlock(\"span\", {\n dir: \"auto\",\n class: \"name-parts\",\n title: $props.name\n }, [\n createVNode(_component_NcHighlight, {\n class: \"name-parts__first\",\n text: $options.part1,\n search: $props.search,\n highlight: $options.highlight1\n }, null, 8, [\"text\", \"search\", \"highlight\"]),\n $options.part2 ? (openBlock(), createBlock(_component_NcHighlight, {\n key: 0,\n class: \"name-parts__last\",\n text: $options.part2,\n search: $props.search,\n highlight: $options.highlight2\n }, null, 8, [\"text\", \"search\", \"highlight\"])) : createCommentVNode(\"\", true)\n ], 8, _hoisted_1);\n}\nconst NcEllipsisedOption = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render], [\"__scopeId\", \"data-v-a612f185\"]]);\nexport {\n NcEllipsisedOption as N\n};\n//# sourceMappingURL=NcEllipsisedOption-D6Amb91K.mjs.map\n","import '../assets/NcSelect-CvDEQAjD.css';\nimport { autoUpdate, computePosition, offset, flip, shift, limitShift } from \"@floating-ui/dom\";\nimport { resolveComponent, openBlock, createBlock, mergeProps, createSlots, withCtx, createTextVNode, toDisplayString, createCommentVNode, renderSlot, normalizeProps, guardReactiveProps, createVNode, createElementVNode, toHandlers, renderList, warn, h } from \"vue\";\nimport VueSelect from \"vue-select\";\nimport { C as ChevronDown } from \"./ChevronDown-C6gc637b.mjs\";\nimport { I as IconClose } from \"./Close-CuhcJnX2.mjs\";\nimport { N as NcEllipsisedOption } from \"./NcEllipsisedOption-D6Amb91K.mjs\";\nimport { N as NcLoadingIcon } from \"./NcLoadingIcon-CInLzPtA.mjs\";\nimport { r as register, g as t17, a as t } from \"./_l10n-BklkVPDO.mjs\";\nimport { c as createElementId } from \"./createElementId-DhjFt1I9.mjs\";\nimport { i as isLegacy } from \"./legacy-DcjXBL_t.mjs\";\nimport \"vue-select/dist/vue-select.css\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nregister(t17);\nconst _sfc_main = {\n name: \"NcSelect\",\n components: {\n ChevronDown,\n NcEllipsisedOption,\n NcLoadingIcon,\n VueSelect\n },\n props: {\n // Add VueSelect props to $props\n ...VueSelect.props,\n ...VueSelect.mixins.reduce((allProps, mixin) => ({ ...allProps, ...mixin.props }), {}),\n /**\n * `aria-label` for the clear input button\n */\n ariaLabelClearSelected: {\n type: String,\n default: t(\"Clear selected\")\n },\n /**\n * `aria-label` for the search input\n *\n * A descriptive `inputLabel` is preferred as this is not visible.\n */\n ariaLabelCombobox: {\n type: String,\n default: null\n },\n /**\n * `aria-label` for the listbox element\n */\n ariaLabelListbox: {\n type: String,\n default: t(\"Options\")\n },\n /**\n * Allows to customize the `aria-label` for the deselect-option button\n * The default is \"Deselect \" + optionLabel\n *\n * @type {(optionLabel: string) => string}\n */\n ariaLabelDeselectOption: {\n type: Function,\n default: (optionLabel) => t(\"Deselect {option}\", { option: optionLabel })\n },\n /**\n * Append the dropdown element to the end of the body\n * and size/position it dynamically.\n *\n * @see https://vue-select.org/api/props.html#appendtobody\n */\n appendToBody: {\n type: Boolean,\n default: true\n },\n /**\n * When `appendToBody` is true, this function is responsible for\n * positioning the drop down list.\n *\n * If a function is returned from `calculatePosition`, it will\n * be called when the drop down list is removed from the DOM.\n * This allows for any garbage collection you may need to do.\n *\n * @see https://vue-select.org/api/props.html#calculateposition\n */\n calculatePosition: {\n type: Function,\n default: null\n },\n /**\n * Keep the dropdown open after selecting an option.\n *\n * @default false\n * @since 8.25.0\n */\n keepOpen: {\n type: Boolean,\n default: false\n },\n /**\n * Replace default vue-select components\n *\n * @see https://vue-select.org/api/props.html#components\n */\n components: {\n type: Object,\n default: () => ({\n Deselect: {\n render: () => h(IconClose, {\n size: 20,\n fillColor: \"var(--vs-controls-color)\",\n style: [\n { cursor: \"pointer\" }\n ]\n })\n }\n })\n },\n /**\n * Sets the maximum number of options to display in the dropdown list\n */\n limit: {\n type: Number,\n default: null\n },\n /**\n * Disable the component\n *\n * @see https://vue-select.org/api/props.html#disabled\n */\n disabled: {\n type: Boolean,\n default: false\n },\n /**\n * Determines whether the dropdown should be open.\n * Receives the component instance as the only argument.\n *\n * @see https://vue-select.org/api/props.html#dropdownshouldopen\n */\n dropdownShouldOpen: {\n type: Function,\n default: ({ noDrop, open }) => {\n return noDrop ? false : open;\n }\n },\n /**\n * Callback to determine if the provided option should\n * match the current search text. Used to determine\n * if the option should be displayed.\n *\n * Defaults to the internal vue-select function documented at the link\n * below\n *\n * @see https://vue-select.org/api/props.html#filterby\n */\n filterBy: {\n type: Function,\n default: null\n },\n /**\n * Class for the `input`\n *\n * Necessary for use in NcActionInput\n */\n inputClass: {\n type: [String, Object],\n default: null\n },\n /**\n * Input element id\n */\n inputId: {\n type: String,\n default: () => createElementId()\n },\n /**\n * Visible label for the input element\n */\n inputLabel: {\n type: String,\n default: null\n },\n /**\n * Pass true if you are using an external label\n */\n labelOutside: {\n type: Boolean,\n default: false\n },\n /**\n * Display a visible border around dropdown options\n * which have keyboard focus\n */\n keyboardFocusBorder: {\n type: Boolean,\n default: true\n },\n /**\n * Key of the displayed label for object options\n *\n * Defaults to the internal vue-select string documented at the link\n * below\n *\n * @see https://vue-select.org/api/props.html#label\n */\n label: {\n type: String,\n default: null\n },\n /**\n * Show the loading icon\n *\n * @see https://vue-select.org/api/props.html#loading\n */\n loading: {\n type: Boolean,\n default: false\n },\n /**\n * Allow selection of multiple options\n *\n * @see https://vue-select.org/api/props.html#multiple\n */\n multiple: {\n type: Boolean,\n default: false\n },\n /**\n * Disable automatic wrapping when selected options overflow the width\n */\n noWrap: {\n type: Boolean,\n default: false\n },\n /**\n * Array of options\n *\n * @type {Array<string | number | Record<string | number, any>>}\n *\n * @see https://vue-select.org/api/props.html#options\n */\n options: {\n type: Array,\n default: () => []\n },\n /**\n * Placeholder text\n *\n * @see https://vue-select.org/api/props.html#placeholder\n */\n placeholder: {\n type: String,\n default: \"\"\n },\n /**\n * Customized component's response to keydown events while the search input has focus\n *\n * @see https://vue-select.org/guide/keydown.html#mapkeydown\n */\n mapKeydown: {\n type: Function,\n /**\n * Patched Vue-Select keydown events handlers map to stop Escape propagation in open select\n *\n * @param {Record<number, Function>} map - Mapped keyCode to handlers { <keyCode>:<callback> }\n * @param {import('@nextcloud/vue-select').VueSelect} vm - VueSelect instance\n * @return {Record<number, Function>} patched keydown event handlers\n */\n default(map, vm) {\n return {\n ...map,\n /**\n * Patched Escape handler to stop propagation from open select\n *\n * @param {KeyboardEvent} event - default keydown event handler\n */\n 27: (event) => {\n if (vm.open) {\n event.stopPropagation();\n }\n map[27](event);\n }\n };\n }\n },\n /**\n * A unique identifier used to generate IDs and DOM attributes. Must be unique for every instance of the component.\n *\n * @see https://vue-select.org/api/props.html#uid\n */\n uid: {\n type: String,\n default: () => createElementId()\n },\n /**\n * When `appendToBody` is true, this sets the placement of the dropdown\n *\n * @type {'bottom' | 'top'}\n */\n placement: {\n type: String,\n default: \"bottom\"\n },\n /**\n * If false, the focused dropdown option will not be reset when filtered\n * options change\n */\n resetFocusOnOptionsChange: {\n type: Boolean,\n default: true\n },\n /**\n * Currently selected value\n *\n * The `v-model` directive may be used for two-way data binding\n *\n * @type {string | number | Record<string | number, any> | Array<any>}\n *\n * @see https://vue-select.org/api/props.html#value\n */\n modelValue: {\n type: [String, Number, Object, Array],\n default: null\n },\n /**\n * Enable if a value is required for native form validation\n */\n required: {\n type: Boolean,\n default: false\n },\n /**\n * Any available prop\n *\n * @see https://vue-select.org/api/props.html\n */\n // Not an actual prop but needed to show in vue-styleguidist docs\n // eslint-disable-next-line\n \" \": {}\n },\n emits: [\n /**\n * All events from https://vue-select.org/api/events.html\n */\n // Not an actual event but needed to show in vue-styleguidist docs\n \" \",\n \"update:modelValue\"\n ],\n setup() {\n const clickableArea = Number.parseInt(window.getComputedStyle(document.body).getPropertyValue(\"--default-clickable-area\"));\n const gridBaseLine = Number.parseInt(window.getComputedStyle(document.body).getPropertyValue(\"--default-grid-baseline\"));\n const avatarSize = clickableArea - 2 * gridBaseLine;\n return {\n avatarSize,\n isLegacy\n };\n },\n data() {\n return {\n search: \"\"\n };\n },\n computed: {\n inputRequired() {\n if (!this.required) {\n return null;\n }\n return this.modelValue === null || Array.isArray(this.modelValue) && this.modelValue.length === 0;\n },\n localCalculatePosition() {\n if (this.calculatePosition !== null) {\n return this.calculatePosition;\n }\n return (dropdownMenu, component, { width }) => {\n dropdownMenu.style.width = width;\n const addClass = {\n name: \"addClass\",\n fn() {\n dropdownMenu.classList.add(\"vs__dropdown-menu--floating\");\n return {};\n }\n };\n const togglePlacementClass = {\n name: \"togglePlacementClass\",\n fn({ placement }) {\n component.$el.classList.toggle(\n \"select--drop-up\",\n placement === \"top\"\n );\n dropdownMenu.classList.toggle(\n \"vs__dropdown-menu--floating-placement-top\",\n placement === \"top\"\n );\n return {};\n }\n };\n const updatePosition = () => {\n computePosition(component.$refs.toggle, dropdownMenu, {\n placement: this.placement,\n middleware: [\n offset(-1),\n addClass,\n togglePlacementClass,\n // Match popperjs default collision prevention behavior by appending the following middleware in order\n flip(),\n shift({ limiter: limitShift() })\n ]\n }).then(({ x, y }) => {\n Object.assign(dropdownMenu.style, {\n left: `${x}px`,\n top: `${y}px`,\n width: `${component.$refs.toggle.getBoundingClientRect().width}px`\n });\n });\n };\n const cleanup = autoUpdate(\n component.$refs.toggle,\n dropdownMenu,\n updatePosition\n );\n return cleanup;\n };\n },\n localFilterBy() {\n return this.filterBy ?? VueSelect.props.filterBy.default;\n },\n localLabel() {\n return this.label ?? VueSelect.props.label.default;\n },\n propsToForward() {\n const vueSelectKeys = [\n ...Object.keys(VueSelect.props),\n ...VueSelect.mixins.flatMap((mixin) => Object.keys(mixin.props ?? {}))\n ];\n const initialPropsToForward = Object.fromEntries(Object.entries(this.$props).filter(([key, _value]) => vueSelectKeys.includes(key)));\n const propsToForward = {\n ...initialPropsToForward,\n // Custom overrides of vue-select props\n calculatePosition: this.localCalculatePosition,\n closeOnSelect: !this.keepOpen,\n filterBy: this.localFilterBy,\n label: this.localLabel\n };\n return propsToForward;\n }\n },\n mounted() {\n if (!this.labelOutside && !this.inputLabel && !this.ariaLabelCombobox) {\n warn(\"[NcSelect] An `inputLabel` or `ariaLabelCombobox` should be set. If an external label is used, `labelOutside` should be set to `true`.\");\n }\n if (this.inputLabel && this.ariaLabelCombobox) {\n warn(\"[NcSelect] Only one of `inputLabel` or `ariaLabelCombobox` should to be set.\");\n }\n },\n methods: {\n t\n }\n};\nconst _hoisted_1 = [\"for\"];\nconst _hoisted_2 = [\"required\"];\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_ChevronDown = resolveComponent(\"ChevronDown\");\n const _component_NcEllipsisedOption = resolveComponent(\"NcEllipsisedOption\");\n const _component_NcLoadingIcon = resolveComponent(\"NcLoadingIcon\");\n const _component_VueSelect = resolveComponent(\"VueSelect\");\n return openBlock(), createBlock(_component_VueSelect, mergeProps({\n class: [\"select\", {\n \"select--legacy\": $setup.isLegacy,\n \"select--no-wrap\": $props.noWrap\n }]\n }, $options.propsToForward, {\n onSearch: _cache[0] || (_cache[0] = ($event) => $data.search = $event),\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event) => _ctx.$emit(\"update:modelValue\", $event))\n }), createSlots({\n search: withCtx(({ attributes, events }) => [\n createElementVNode(\"input\", mergeProps({\n class: [\"vs__search\", [$props.inputClass]]\n }, attributes, {\n required: $options.inputRequired,\n dir: \"auto\"\n }, toHandlers(events, true)), null, 16, _hoisted_2)\n ]),\n \"open-indicator\": withCtx(({ attributes }) => [\n createVNode(_component_ChevronDown, mergeProps(attributes, {\n fillColor: \"var(--vs-controls-color)\",\n style: {\n cursor: !$props.disabled ? \"pointer\" : null\n },\n size: 26\n }), null, 16, [\"style\"])\n ]),\n option: withCtx((option) => [\n renderSlot(_ctx.$slots, \"option\", normalizeProps(guardReactiveProps(option)), () => [\n createVNode(_component_NcEllipsisedOption, {\n name: String(option[$options.localLabel]),\n search: $data.search\n }, null, 8, [\"name\", \"search\"])\n ])\n ]),\n \"selected-option\": withCtx((selectedOption) => [\n renderSlot(_ctx.$slots, \"selected-option\", normalizeProps(guardReactiveProps(selectedOption)), () => [\n createVNode(_component_NcEllipsisedOption, {\n name: String(selectedOption[$options.localLabel]),\n search: $data.search\n }, null, 8, [\"name\", \"search\"])\n ])\n ]),\n spinner: withCtx((spinner) => [\n spinner.loading ? (openBlock(), createBlock(_component_NcLoadingIcon, { key: 0 })) : createCommentVNode(\"\", true)\n ]),\n \"no-options\": withCtx(() => [\n createTextVNode(toDisplayString($options.t(\"No results\")), 1)\n ]),\n _: 2\n }, [\n !$props.labelOutside && $props.inputLabel ? {\n name: \"header\",\n fn: withCtx(() => [\n createElementVNode(\"label\", {\n for: $props.inputId,\n class: \"select__label\"\n }, toDisplayString($props.inputLabel), 9, _hoisted_1)\n ]),\n key: \"0\"\n } : void 0,\n renderList(_ctx.$slots, (_, name) => {\n return {\n name,\n fn: withCtx((data) => [\n renderSlot(_ctx.$slots, name, normalizeProps(guardReactiveProps(data)))\n ])\n };\n })\n ]), 1040, [\"class\"]);\n}\nconst NcSelect = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\nexport {\n NcSelect as N\n};\n//# sourceMappingURL=NcSelect-B1uITk_3.mjs.map\n"],"names":["_sfc_main","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_sfc_render","_ctx","_cache","$props","$setup","$data","$options","openBlock","createElementBlock","mergeProps","$event","createElementVNode","toDisplayString","createCommentVNode","ChevronDown","_export_sfc","IconClose","hasWindow","getNodeName","node","isNode","getWindow","_node$ownerDocument","getDocumentElement","_ref","value","isElement","isHTMLElement","isShadowRoot","isOverflowElement","element","overflow","overflowX","overflowY","display","getComputedStyle","isTableElement","isTopLayer","willChangeRe","containRe","isNotNone","isWebKitValue","isContainingBlock","elementOrCss","css","isWebKit","getContainingBlock","currentNode","getParentNode","isLastTraversableNode","getNodeScroll","result","getNearestOverflowAncestor","parentNode","getOverflowAncestors","list","traverseIframes","_node$ownerDocument2","scrollableAncestor","isBody","win","frameElement","getFrameElement","getCssDimensions","getComputedStyle$1","width","height","hasOffset","offsetWidth","offsetHeight","shouldFallback","round","unwrapElement","getScale","domElement","createCoords","rect","$","x","y","noOffsets","getVisualOffsets","shouldAddVisualOffsets","isFixed","floatingOffsetParent","getBoundingClientRect","includeScale","isFixedStrategy","offsetParent","clientRect","scale","visualOffsets","offsetWin","currentWin","currentIFrame","iframeScale","iframeRect","left","top","rectToClientRect","getWindowScrollBarX","leftScroll","getHTMLOffset","documentElement","scroll","htmlRect","convertOffsetParentRelativeRectToViewportRelativeRect","elements","strategy","topLayer","offsets","isOffsetParentAnElement","offsetRect","htmlOffset","getClientRects","getDocumentRect","html","body","max","SCROLLBAR_MAX","getViewportRect","visualViewport","visualViewportBased","windowScrollbarX","doc","bodyStyles","bodyMarginInline","clippingStableScrollbarWidth","getInnerBoundingClientRect","getClientRectFromClippingAncestor","clippingAncestor","hasFixedPositionAncestor","stopNode","getClippingElementAncestors","cache","cachedResult","el","currentContainingBlockComputedStyle","elementIsFixed","computedStyle","currentNodeIsContaining","ancestor","getClippingRect","boundary","rootBoundary","clippingAncestors","firstRect","right","bottom","i","min","getDimensions","getRectRelativeToOffsetParent","setLeftRTLScrollbarOffset","isStaticPositioned","getTrueOffsetParent","polyfill","rawOffsetParent","getOffsetParent","svgOffsetParent","getElementRects","data","getOffsetParentFn","getDimensionsFn","floatingDimensions","isRTL","platform","rectsAreEqual","a","b","observeMove","onMove","io","timeoutId","root","cleanup","_io","refresh","skip","threshold","elementRectForRootMargin","insetTop","floor","insetRight","insetBottom","insetLeft","options","isFirstUpdate","handleObserve","entries","ratio","autoUpdate","reference","floating","update","ancestorScroll","ancestorResize","elementResize","layoutShift","animationFrame","referenceEl","ancestors","cleanupIo","reobserveFrame","resizeObserver","firstEntry","_resizeObserver","frameId","prevRefRect","frameLoop","nextRefRect","_resizeObserver2","offset","offset$1","shift","shift$1","flip","flip$1","limitShift","limitShift$1","computePosition","mergedOptions","platformWithCache","computePosition$1","E","M","V","I","N","C","e","t","s","f","m","U","n","l","q","J","S","H","X","Y","u","Q","G","h","W","Z","ee","te","se","ie","oe","T","ne","o","le","ae","re","de","he","ce","ue","pe","fe","ge","ye","me","be","_e","Oe","v","we","ve","K","A","r","d","c","B","L","p","D","g","_","O","k","j","w","P","R","z","F","Ce","findRanges","text","search","ranges","currentIndex","index","defineComponent","range","validRanges","mergedRanges","idx","chunks","currentRange","chunk","_sfc_main$1","_component_NcHighlight","resolveComponent","createVNode","createBlock","NcEllipsisedOption","register","t17","NcLoadingIcon","VueSelect","allProps","mixin","optionLabel","noDrop","open","createElementId","map","vm","event","clickableArea","gridBaseLine","isLegacy","dropdownMenu","component","addClass","togglePlacementClass","placement","updatePosition","vueSelectKeys","key","_value","_component_ChevronDown","_component_NcEllipsisedOption","_component_NcLoadingIcon","_component_VueSelect","createSlots","withCtx","attributes","events","toHandlers","option","renderSlot","normalizeProps","guardReactiveProps","selectedOption","spinner","createTextVNode","renderList","name","NcSelect"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7]}