diff --git a/dist/vue/index.js b/dist/vue/index.js index 5dab598..d269d21 100644 --- a/dist/vue/index.js +++ b/dist/vue/index.js @@ -588,7 +588,38 @@ import { defineComponent as defineComponent16, h as h17 } from "vue"; // src/vue/components/GnModal.js -import { defineComponent as defineComponent15, h as h16, nextTick as nextTick2, onBeforeUnmount, ref as ref3, Teleport, watch } from "vue"; +import { defineComponent as defineComponent15, h as h16, nextTick as nextTick3, onBeforeUnmount, ref as ref4, Teleport, watch } from "vue"; + +// src/vue/composables/use-overlay-transition.js +import { nextTick as nextTick2, ref as ref3 } from "vue"; +function useOverlayTransition({ duration = 300 } = {}) { + const visible = ref3(false); + const closing = ref3(false); + let closeTimer = null; + const show = () => { + window.clearTimeout(closeTimer); + closing.value = true; + visible.value = true; + nextTick2(() => { + requestAnimationFrame(() => { + closing.value = false; + }); + }); + }; + const hide = () => { + closing.value = true; + closeTimer = window.setTimeout(() => { + visible.value = false; + closing.value = false; + }, duration); + }; + const cancel = () => { + window.clearTimeout(closeTimer); + }; + return { visible, closing, show, hide, cancel }; +} + +// src/vue/components/GnModal.js var modalId = 0; var GnModal_default = defineComponent15({ name: "GnModal", @@ -600,11 +631,9 @@ emits: ["update:open", "close"], setup(props, { emit, slots }) { const titleId = `gn-modal-title-${++modalId}`; - const dialogRef = ref3(null); - const visible = ref3(false); - const closing = ref3(false); + const dialogRef = ref4(null); + const { visible, closing, show: showTransition, hide: hideTransition, cancel: cancelTransition } = useOverlayTransition(); let previousFocus = null; - let closeTimer = null; const close = () => { emit("update:open", false); emit("close"); @@ -618,7 +647,7 @@ } }; const focusDialog = () => { - nextTick2(() => { + nextTick3(() => { var _a; (_a = dialogRef.value) == null ? void 0 : _a.focus(); }); @@ -626,30 +655,20 @@ watch(() => props.open, (open) => { var _a; if (open) { - closing.value = true; - visible.value = true; - nextTick2(() => { - requestAnimationFrame(() => { - closing.value = false; - }); - }); + showTransition(); previousFocus = document.activeElement; document.addEventListener("keydown", onKeydown); focusDialog(); } else { - closing.value = true; + hideTransition(); document.removeEventListener("keydown", onKeydown); (_a = previousFocus == null ? void 0 : previousFocus.focus) == null ? void 0 : _a.call(previousFocus); previousFocus = null; - closeTimer = window.setTimeout(() => { - visible.value = false; - closing.value = false; - }, 300); } }, { flush: "post", immediate: true }); onBeforeUnmount(() => { document.removeEventListener("keydown", onKeydown); - window.clearTimeout(closeTimer); + cancelTransition(); }); return () => { var _a, _b, _c; @@ -730,7 +749,7 @@ }); // src/vue/components/GnCopyButton.js -import { defineComponent as defineComponent17, h as h18, ref as ref4 } from "vue"; +import { defineComponent as defineComponent17, h as h18, ref as ref5 } from "vue"; var GnCopyButton_default = defineComponent17({ name: "GnCopyButton", props: { @@ -743,7 +762,7 @@ }, emits: ["copy"], setup(props, { emit }) { - const copied = ref4(false); + const copied = ref5(false); let timer = null; const copy = async () => { try { @@ -823,7 +842,7 @@ }); // src/vue/components/GnDropdown.js -import { defineComponent as defineComponent20, h as h21, onBeforeUnmount as onBeforeUnmount2, ref as ref5 } from "vue"; +import { defineComponent as defineComponent20, h as h21, onBeforeUnmount as onBeforeUnmount2, ref as ref6 } from "vue"; var GnDropdown_default = defineComponent20({ name: "GnDropdown", props: { @@ -834,8 +853,8 @@ }, emits: ["select"], setup(props, { emit, slots }) { - const open = ref5(false); - const root = ref5(null); + const open = ref6(false); + const root = ref6(null); const close = () => { open.value = false; document.removeEventListener("click", onOutsideClick); @@ -896,7 +915,7 @@ }); // src/vue/components/GnDrawer.js -import { defineComponent as defineComponent21, h as h22, nextTick as nextTick3, onBeforeUnmount as onBeforeUnmount3, ref as ref6, Teleport as Teleport2, watch as watch2 } from "vue"; +import { defineComponent as defineComponent21, h as h22, nextTick as nextTick4, onBeforeUnmount as onBeforeUnmount3, ref as ref7, Teleport as Teleport2, watch as watch2 } from "vue"; var drawerId = 0; var GnDrawer_default = defineComponent21({ name: "GnDrawer", @@ -908,11 +927,9 @@ emits: ["update:open", "close"], setup(props, { emit, slots }) { const titleId = `gn-drawer-title-${++drawerId}`; - const panelRef = ref6(null); - const visible = ref6(false); - const closing = ref6(false); + const panelRef = ref7(null); + const { visible, closing, show: showTransition, hide: hideTransition, cancel: cancelTransition } = useOverlayTransition(); let previousFocus = null; - let closeTimer = null; const close = () => { emit("update:open", false); emit("close"); @@ -928,33 +945,23 @@ watch2(() => props.open, (open) => { var _a; if (open) { - closing.value = true; - visible.value = true; - nextTick3(() => { - requestAnimationFrame(() => { - closing.value = false; - }); - }); + showTransition(); previousFocus = document.activeElement; document.addEventListener("keydown", onKeydown); - nextTick3(() => { + nextTick4(() => { var _a2; return (_a2 = panelRef.value) == null ? void 0 : _a2.focus(); }); } else { - closing.value = true; + hideTransition(); document.removeEventListener("keydown", onKeydown); (_a = previousFocus == null ? void 0 : previousFocus.focus) == null ? void 0 : _a.call(previousFocus); previousFocus = null; - closeTimer = window.setTimeout(() => { - visible.value = false; - closing.value = false; - }, 300); } }, { flush: "post" }); onBeforeUnmount3(() => { document.removeEventListener("keydown", onKeydown); - window.clearTimeout(closeTimer); + cancelTransition(); }); return () => { var _a, _b; @@ -1018,7 +1025,7 @@ }); // src/vue/components/GnFileUpload.js -import { defineComponent as defineComponent23, h as h24, onBeforeUnmount as onBeforeUnmount4, ref as ref7, watch as watch3 } from "vue"; +import { defineComponent as defineComponent23, h as h24, onBeforeUnmount as onBeforeUnmount4, ref as ref8, watch as watch3 } from "vue"; function fileType(file) { const ext = file.name.split(".").pop(); return ext ? ext.slice(0, 6).toUpperCase() : "FILE"; @@ -1046,7 +1053,7 @@ }, emits: ["update:modelValue", "change"], setup(props, { emit, slots }) { - const urls = ref7(/* @__PURE__ */ new Map()); + const urls = ref8(/* @__PURE__ */ new Map()); const revokeFile = (file) => { const url = urls.value.get(file); if (url) { @@ -1303,7 +1310,7 @@ }); // src/vue/components/GnLoginCard.js -import { defineComponent as defineComponent30, h as h31, ref as ref8 } from "vue"; +import { defineComponent as defineComponent30, h as h31, ref as ref9 } from "vue"; var GnLoginCard_default = defineComponent30({ name: "GnLoginCard", props: { @@ -1327,9 +1334,9 @@ }, emits: ["submit"], setup(props, { emit }) { - const username = ref8(""); - const password = ref8(""); - const remember = ref8(false); + const username = ref9(""); + const password = ref9(""); + const remember = ref9(false); const onSubmit = (event) => { event.preventDefault(); emit("submit", { @@ -1531,7 +1538,7 @@ }); // src/vue/components/GnNavigationShell.js -import { defineComponent as defineComponent33, h as h34, nextTick as nextTick4, onBeforeUnmount as onBeforeUnmount5, ref as ref9, watch as watch4 } from "vue"; +import { defineComponent as defineComponent33, h as h34, nextTick as nextTick5, onBeforeUnmount as onBeforeUnmount5, ref as ref10, watch as watch4 } from "vue"; var shellId = 0; var GnNavigationShell_default = defineComponent33({ name: "GnNavigationShell", @@ -1548,9 +1555,9 @@ }, emits: ["select"], setup(props, { emit, slots }) { - const open = ref9(false); + const open = ref10(false); const drawerId2 = `gn-nav-drawer-${++shellId}`; - const drawerRef = ref9(null); + const drawerRef = ref10(null); let previousFocus = null; const close = () => { open.value = false; @@ -1570,7 +1577,7 @@ previousFocus = document.activeElement; document.body.classList.add("nav-drawer-open"); document.addEventListener("keydown", onKeydown); - nextTick4(() => { + nextTick5(() => { var _a2; return (_a2 = drawerRef.value) == null ? void 0 : _a2.focus(); }); @@ -1767,7 +1774,7 @@ }); // src/vue/components/GnPopover.js -import { defineComponent as defineComponent37, h as h38, onBeforeUnmount as onBeforeUnmount6, ref as ref10 } from "vue"; +import { defineComponent as defineComponent37, h as h38, onBeforeUnmount as onBeforeUnmount6, ref as ref11 } from "vue"; var GnPopover_default = defineComponent37({ name: "GnPopover", props: { @@ -1778,8 +1785,8 @@ variant: { type: String, default: "accent" } }, setup(props, { slots }) { - const open = ref10(false); - const root = ref10(null); + const open = ref11(false); + const root = ref11(null); const close = () => { open.value = false; document.removeEventListener("click", onOutsideClick); @@ -2408,7 +2415,7 @@ }); // src/vue/components/GnTagInput.js -import { defineComponent as defineComponent52, h as h53, ref as ref11, computed as computed6 } from "vue"; +import { defineComponent as defineComponent52, h as h53, ref as ref12, computed as computed6 } from "vue"; var GnTagInput_default = defineComponent52({ name: "GnTagInput", inheritAttrs: false, @@ -2424,9 +2431,9 @@ }, emits: ["update:modelValue", "add", "remove"], setup(props, { emit, attrs, slots }) { - const inputRef = ref11(null); - const focused = ref11(false); - const rawValue = ref11(""); + const inputRef = ref12(null); + const focused = ref12(false); + const rawValue = ref12(""); const canAdd = computed6(() => { if (props.disabled) return false; if (props.maxItems > 0 && props.modelValue.length >= props.maxItems) return false; @@ -2646,7 +2653,7 @@ }); // src/vue/components/GnTooltip.js -import { defineComponent as defineComponent56, h as h57, ref as ref12 } from "vue"; +import { defineComponent as defineComponent56, h as h57, ref as ref13 } from "vue"; var GnTooltip_default = defineComponent56({ name: "GnTooltip", inheritAttrs: false, @@ -2654,7 +2661,7 @@ text: { type: String, default: "" } }, setup(props, { attrs, slots }) { - const open = ref12(false); + const open = ref13(false); return () => { var _a, _b; return h57("span", { @@ -2701,7 +2708,7 @@ }); // src/vue/components/GnToastProvider.js -import { defineComponent as defineComponent58, h as h59, provide, ref as ref13, nextTick as nextTick5 } from "vue"; +import { defineComponent as defineComponent58, h as h59, provide, ref as ref14, nextTick as nextTick6 } from "vue"; // src/vue/composables/toast-context.js var toastKey = Symbol("gnexus-ui-kit-toast"); @@ -2722,13 +2729,13 @@ lifetime: { type: Number, default: 4e3 } }, setup(props, { slots, expose }) { - const toast = ref13(null); - const closing = ref13(false); - const showing = ref13(false); + const toast = ref14(null); + const closing = ref14(false); + const showing = ref14(false); let timer = null; let closeTimer = null; let progressTimer = null; - const progress = ref13(100); + const progress = ref14(100); const dismiss = () => { window.clearTimeout(closeTimer); window.clearInterval(progressTimer); @@ -2780,7 +2787,7 @@ }, step); timer = window.setTimeout(dismiss, lifetime); } - nextTick5(() => { + nextTick6(() => { requestAnimationFrame(() => { showing.value = true; }); diff --git a/dist/vue/index.js.map b/dist/vue/index.js.map index 8ed7f7c..2c98ec4 100644 --- a/dist/vue/index.js.map +++ b/dist/vue/index.js.map @@ -1,7 +1,7 @@ { "version": 3, - "sources": ["../../src/vue/components/GnAccordion.js", "../../src/vue/utils.js", "../../src/vue/components/GnActionCard.js", "../../src/vue/components/GnActionList.js", "../../src/vue/components/GnActivityLog.js", "../../src/vue/components/GnAlert.js", "../../src/vue/components/GnAvatar.js", "../../src/vue/components/GnAvatarStack.js", "../../src/vue/components/GnBadge.js", "../../src/vue/components/GnButton.js", "../../src/vue/components/GnCard.js", "../../src/vue/components/GnCheckbox.js", "../../src/vue/components/GnChip.js", "../../src/vue/components/GnChipGroup.js", "../../src/vue/components/GnCombobox.js", "../../src/vue/components/GnConfirmDialog.js", "../../src/vue/components/GnModal.js", "../../src/vue/components/GnCopyButton.js", "../../src/vue/components/GnDescriptionList.js", "../../src/vue/components/GnDefinitionList.js", "../../src/vue/components/GnDropdown.js", "../../src/vue/components/GnDrawer.js", "../../src/vue/components/GnEmptyState.js", "../../src/vue/components/GnFileUpload.js", "../../src/vue/components/GnIconButton.js", "../../src/vue/components/GnIdentity.js", "../../src/vue/components/GnInput.js", "../../src/vue/components/GnInputGroup.js", "../../src/vue/components/GnList.js", "../../src/vue/components/GnLoader.js", "../../src/vue/components/GnLoginCard.js", "../../src/vue/components/GnMetricCard.js", "../../src/vue/components/GnNavList.js", "../../src/vue/composables/useVueRouter.js", "../../src/vue/components/GnNavigationShell.js", "../../src/vue/components/GnPageHeader.js", "../../src/vue/components/GnHorizontalCard.js", "../../src/vue/components/GnPagination.js", "../../src/vue/components/GnPopover.js", "../../src/vue/components/GnProgress.js", "../../src/vue/components/GnProgressStages.js", "../../src/vue/components/GnRadio.js", "../../src/vue/components/GnRadioGroup.js", "../../src/vue/components/GnRange.js", "../../src/vue/components/GnRepeater.js", "../../src/vue/components/GnRouterTabs.js", "../../src/vue/components/GnTabs.js", "../../src/vue/components/GnSearchField.js", "../../src/vue/components/GnSelect.js", "../../src/vue/components/GnSkeleton.js", "../../src/vue/components/GnSteps.js", "../../src/vue/components/GnStatusCard.js", "../../src/vue/components/GnSwitch.js", "../../src/vue/components/GnTagInput.js", "../../src/vue/components/GnTable.js", "../../src/vue/components/GnTextarea.js", "../../src/vue/components/GnTimeline.js", "../../src/vue/components/GnTooltip.js", "../../src/vue/components/GnToolbar.js", "../../src/vue/components/GnToastProvider.js", "../../src/vue/composables/toast-context.js", "../../src/vue/components/GnUsageMeter.js", "../../src/vue/components/GnUserCard.js", "../../src/vue/composables/useToast.js", "../../src/vue/plugin.js"], - "sourcesContent": ["import { defineComponent, h, ref } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnAccordion\",\n\tprops: {\n\t\titems: { type: Array, required: true },\n\t\tmodelValue: { type: [String, Array], default: \"\" },\n\t\tmultiple: { type: Boolean, default: false }\n\t},\n\temits: [\"update:modelValue\"],\n\tsetup(props, { emit, slots }) {\n\t\tconst localOpen = ref(props.multiple ? [] : \"\");\n\n\t\tconst getOpen = () => props.modelValue || localOpen.value;\n\t\tconst isOpen = id => props.multiple ? getOpen().includes(id) : getOpen() === id;\n\t\tconst toggle = id => {\n\t\t\tlet next;\n\n\t\t\tif(props.multiple) {\n\t\t\t\tconst current = [...getOpen()];\n\t\t\t\tnext = current.includes(id) ? current.filter(item => item !== id) : [...current, id];\n\t\t\t} else {\n\t\t\t\tnext = isOpen(id) ? \"\" : id;\n\t\t\t}\n\n\t\t\tlocalOpen.value = next;\n\t\t\temit(\"update:modelValue\", next);\n\t\t};\n\n\t\treturn () => h(\"div\", { class: \"accordion\" }, props.items.map(item => {\n\t\t\tconst open = isOpen(item.id);\n\n\t\t\treturn h(\"section\", { class: \"accordion-item\", open: open ? \"\" : undefined }, [\n\t\t\t\th(\"button\", {\n\t\t\t\t\tclass: \"accordion-summary\",\n\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\"aria-expanded\": open ? \"true\" : \"false\",\n\t\t\t\t\tonClick: () => toggle(item.id)\n\t\t\t\t}, [\n\t\t\t\t\th(\"span\", { class: \"accordion-summary-content\" }, [\n\t\t\t\t\t\ticonNode(item.icon),\n\t\t\t\t\t\titem.label\n\t\t\t\t\t]),\n\t\t\t\t\th(\"i\", { class: cx(\"ph ph-caret-down accordion-icon\", { \"is-open\": open }), \"aria-hidden\": \"true\" })\n\t\t\t\t]),\n\t\t\t\topen && h(\"div\", { class: \"accordion-panel\" }, slots[item.id]?.({ item, open }) || item.content)\n\t\t\t]);\n\t\t}));\n\t}\n});\n", "import { h } from \"vue\";\n\nexport const variants = new Set([\n\t\"primary\",\n\t\"secondary\",\n\t\"accent\",\n\t\"success\",\n\t\"warning\",\n\t\"danger\",\n\t\"error\",\n\t\"info\"\n]);\n\nexport function cx(...items) {\n\treturn items\n\t\t.flatMap(item => {\n\t\t\tif(!item) {\n\t\t\t\treturn [];\n\t\t\t}\n\n\t\t\tif(Array.isArray(item)) {\n\t\t\t\treturn item;\n\t\t\t}\n\n\t\t\tif(typeof item === \"object\") {\n\t\t\t\treturn Object.entries(item)\n\t\t\t\t\t.filter(([, enabled]) => enabled)\n\t\t\t\t\t.map(([name]) => name);\n\t\t\t}\n\n\t\t\treturn [item];\n\t\t})\n\t\t.filter(Boolean)\n\t\t.join(\" \");\n}\n\nexport function normalizeVariant(value, fallback = \"primary\") {\n\treturn variants.has(value) ? value : fallback;\n}\n\nexport function iconNode(icon, extraClass = \"\") {\n\tif(!icon) {\n\t\treturn null;\n\t}\n\n\tconst hasPrefix = icon.includes(\"ph \") || icon.startsWith(\"ph-\");\n\n\tif(!hasPrefix) {\n\t\tif(typeof process !== \"undefined\" && process.env && process.env.NODE_ENV !== \"production\") {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.warn(`[gnexus-ui-kit] Icon \"${icon}\" is missing the required \"ph-\" prefix. Use \"ph-${icon}\" instead.`);\n\t\t}\n\t}\n\n\tconst iconClass = hasPrefix\n\t\t? icon\n\t\t: `ph-${icon}`;\n\n\treturn h(\"i\", {\n\t\tclass: cx(\"ph\", iconClass, extraClass),\n\t\t\"aria-hidden\": \"true\"\n\t});\n}\n\nexport function slotOrText(slots, name, text) {\n\treturn slots[name] ? slots[name]() : text;\n}\n\nexport function eventValue(event) {\n\tconst target = event.target;\n\n\tif(target.type === \"checkbox\") {\n\t\treturn target.checked;\n\t}\n\n\treturn target.value;\n}\n\nexport const focusableSelector = [\n\t\"a[href]\",\n\t\"button:not([disabled])\",\n\t\"input:not([disabled])\",\n\t\"select:not([disabled])\",\n\t\"textarea:not([disabled])\",\n\t\"[tabindex]:not([tabindex='-1'])\"\n].join(\",\");\n\nexport function trapFocus(event, root) {\n\tif(event.key !== \"Tab\" || !root) {\n\t\treturn;\n\t}\n\n\tconst focusable = [...root.querySelectorAll(focusableSelector)]\n\t\t.filter(node => !node.hasAttribute(\"disabled\") && node.offsetParent !== null);\n\n\tif(!focusable.length) {\n\t\tevent.preventDefault();\n\t\troot.focus();\n\t\treturn;\n\t}\n\n\tconst first = focusable[0];\n\tconst last = focusable[focusable.length - 1];\n\n\tif(event.shiftKey && document.activeElement === first) {\n\t\tevent.preventDefault();\n\t\tlast.focus();\n\t} else if(!event.shiftKey && document.activeElement === last) {\n\t\tevent.preventDefault();\n\t\tfirst.focus();\n\t}\n}\n", "import { defineComponent, h } from \"vue\";\n\nexport default defineComponent({\n\tname: \"GnActionCard\",\n\tprops: {\n\t\tkicker: { type: String, default: \"\" },\n\t\ttitle: { type: String, required: true },\n\t\ttext: { type: String, default: \"\" }\n\t},\n\tsetup(props, { slots }) {\n\t\treturn () => h(\"article\", { class: \"card action-card\" }, [\n\t\t\th(\"div\", { class: \"card-content\" }, [\n\t\t\t\t(props.kicker || slots.kicker) && h(\"span\", { class: \"action-card-kicker\" }, slots.kicker?.() || props.kicker),\n\t\t\t\th(\"h3\", { class: \"action-card-title\" }, slots.title?.() || props.title),\n\t\t\t\t(props.text || slots.default) && h(\"p\", { class: \"action-card-text\" }, slots.default?.() || props.text),\n\t\t\t\tslots.actions && h(\"div\", { class: \"action-card-actions\" }, slots.actions())\n\t\t\t])\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnActionList\",\n\tinheritAttrs: false,\n\tprops: {\n\t\titems: { type: Array, default: () => [] }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => h(\"ul\", { ...attrs, class: cx(\"list list-actions\", attrs.class) }, props.items.map(item => h(\"li\", {\n\t\t\tclass: cx(\"list-item\", item.muted && \"list-item-muted\")\n\t\t}, [\n\t\t\th(\"div\", { class: \"list-content\" }, [\n\t\t\t\th(\"div\", { class: \"list-title\" }, slots.title?.({ item }) || item.title || item.label || \"\"),\n\t\t\t\t(item.subtitle || slots.subtitle) && h(\"div\", { class: \"list-subtitle\" }, slots.subtitle?.({ item }) || item.subtitle)\n\t\t\t]),\n\t\t\tslots.controls && h(\"div\", { class: \"list-controls\" }, slots.controls({ item }))\n\t\t])));\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnActivityLog\",\n\tinheritAttrs: false,\n\tprops: {\n\t\titems: { type: Array, default: () => [] }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => h(\"div\", { ...attrs, class: cx(\"activity-log\", attrs.class) }, props.items.map(item => h(\"div\", {\n\t\t\tclass: \"activity-log-row\"\n\t\t}, [\n\t\t\th(\"time\", { class: \"activity-log-time\" }, item.time),\n\t\t\th(\"span\", { class: \"activity-log-title\" }, slots[item.key]?.({ item }) || item.title),\n\t\t\tslots.actions && h(\"span\", {}, slots.actions({ item }))\n\t\t])));\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, normalizeVariant } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnAlert\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tvariant: { type: String, default: \"primary\" },\n\t\trole: { type: String, default: \"status\" }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => {\n\t\t\tconst variant = normalizeVariant(props.variant);\n\n\t\t\treturn h(\"div\", {\n\t\t\t\t...attrs,\n\t\t\t\trole: props.role,\n\t\t\t\tclass: cx(\"alert\", `alert-${variant}`, attrs.class)\n\t\t\t}, slots.default?.());\n\t\t};\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, iconNode, normalizeVariant } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnAvatar\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tsrc: { type: String, default: \"\" },\n\t\talt: { type: String, default: \"\" },\n\t\tinitials: { type: String, default: \"\" },\n\t\ticon: { type: String, default: \"\" },\n\t\tsize: { type: String, default: \"md\" },\n\t\tvariant: { type: String, default: \"primary\" },\n\t\toutline: { type: Boolean, default: false },\n\t\tstatus: { type: String, default: \"\" }\n\t},\n\tsetup(props, { attrs }) {\n\t\treturn () => {\n\t\t\tconst variant = normalizeVariant(props.variant);\n\n\t\t\treturn h(\"span\", {\n\t\t\t\t...attrs,\n\t\t\t\tclass: cx(\"avatar\", `avatar-${variant}`, {\n\t\t\t\t\t\"avatar-sm\": props.size === \"sm\",\n\t\t\t\t\t\"avatar-lg\": props.size === \"lg\",\n\t\t\t\t\t\"avatar-outline\": props.outline,\n\t\t\t\t\t\"is-online\": props.status === \"online\",\n\t\t\t\t\t\"is-busy\": props.status === \"busy\",\n\t\t\t\t\t\"is-offline\": props.status === \"offline\"\n\t\t\t\t}, attrs.class)\n\t\t\t}, [\n\t\t\t\tprops.src ? h(\"img\", { src: props.src, alt: props.alt }) : iconNode(props.icon) || props.initials,\n\t\t\t\tprops.status && h(\"span\", { class: \"avatar-status\", \"aria-hidden\": \"true\" })\n\t\t\t]);\n\t\t};\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport GnAvatar from \"./GnAvatar.js\";\n\nexport default defineComponent({\n\tname: \"GnAvatarStack\",\n\tprops: {\n\t\titems: { type: Array, default: () => [] },\n\t\tcount: { type: [Number, String], default: \"\" }\n\t},\n\tsetup(props, { slots }) {\n\t\treturn () => h(\"span\", { class: \"avatar-stack\" }, [\n\t\t\tprops.items.map(item => h(GnAvatar, { ...item, size: item.size || \"sm\" })),\n\t\t\tslots.default?.(),\n\t\t\tprops.count && h(\"span\", { class: \"avatar-stack-count\" }, `+${props.count}`)\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, normalizeVariant } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnBadge\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tvariant: { type: String, default: \"primary\" },\n\t\toutline: { type: Boolean, default: false }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => {\n\t\t\tconst variant = normalizeVariant(props.variant);\n\n\t\t\treturn h(\"span\", {\n\t\t\t\t...attrs,\n\t\t\t\tclass: cx(\n\t\t\t\t\t\"badge\",\n\t\t\t\t\tprops.outline && variant === \"primary\" ? \"badge-primary-outline\" : `badge-${variant}`,\n\t\t\t\t\tattrs.class\n\t\t\t\t)\n\t\t\t}, slots.default?.());\n\t\t};\n\t}\n});\n", "/**\n * GnButton - Primary command component.\n *\n * @typedef {Object} GnButtonProps\n * @property {string} [variant='primary'] - primary | secondary | accent | success | warning | danger | error | info\n * @property {string} [size='md'] - sm | md | lg\n * @property {string} [icon=''] - Phosphor icon name with ph- prefix (e.g. \"ph-plus\", \"ph-house\")\n * @property {boolean} [loading=false] - Show spinner and disable interaction\n * @property {boolean} [disabled=false] - Disabled state\n * @property {string} [type='button'] - button | submit | reset\n *\n * @slots default - Button label text\n */\nimport { defineComponent, h } from \"vue\";\nimport { cx, iconNode, normalizeVariant } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnButton\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tvariant: { type: String, default: \"primary\" },\n\t\tsize: { type: String, default: \"md\" },\n\t\ticon: { type: String, default: \"\" },\n\t\tloading: { type: Boolean, default: false },\n\t\tdisabled: { type: Boolean, default: false },\n\t\ttype: { type: String, default: \"button\" }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => {\n\t\t\tconst hasIcon = Boolean(props.icon || props.loading);\n\t\t\tconst variant = normalizeVariant(props.variant);\n\n\t\t\treturn h(\"button\", {\n\t\t\t\t...attrs,\n\t\t\t\ttype: props.type,\n\t\t\t\tdisabled: props.disabled || props.loading,\n\t\t\t\tclass: cx(\n\t\t\t\t\t\"btn\",\n\t\t\t\t\t`btn-${variant}`,\n\t\t\t\t\t{\n\t\t\t\t\t\t\"btn-small\": props.size === \"sm\",\n\t\t\t\t\t\t\"btn-large\": props.size === \"lg\",\n\t\t\t\t\t\t\"with-icon\": hasIcon,\n\t\t\t\t\t\t\"loading-state\": props.loading\n\t\t\t\t\t},\n\t\t\t\t\tattrs.class\n\t\t\t\t)\n\t\t\t}, [\n\t\t\t\tprops.loading ? iconNode(\"ph-bold ph-spinner\") : iconNode(props.icon),\n\t\t\t\tslots.default?.()\n\t\t\t]);\n\t\t};\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnCard\",\n\tinheritAttrs: false,\n\tprops: {\n\t\ttitle: { type: String, default: \"\" },\n\t\tvariant: { type: String, default: \"\" }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => h(\"article\", {\n\t\t\t...attrs,\n\t\t\tclass: cx(\"card\", props.variant && `card-${props.variant}`, attrs.class)\n\t\t}, [\n\t\t\t(props.title || slots.title) && h(\"header\", { class: \"card-title\" }, slots.title?.() || props.title),\n\t\t\th(\"div\", { class: \"card-content\" }, slots.default?.()),\n\t\t\tslots.footer && h(\"footer\", { class: \"card-footer\" }, slots.footer())\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnCheckbox\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tmodelValue: { type: Boolean, default: false },\n\t\tlabel: { type: String, default: \"\" },\n\t\tdisabled: { type: Boolean, default: false }\n\t},\n\temits: [\"update:modelValue\"],\n\tsetup(props, { attrs, emit, slots }) {\n\t\treturn () => h(\"label\", { class: cx(\"checkbox\", attrs.class) }, [\n\t\t\th(\"input\", {\n\t\t\t\t...attrs,\n\t\t\t\ttype: \"checkbox\",\n\t\t\t\tchecked: props.modelValue,\n\t\t\t\tdisabled: props.disabled,\n\t\t\t\tonChange: event => emit(\"update:modelValue\", event.target.checked)\n\t\t\t}),\n\t\t\th(\"span\", { class: \"checkbox-control\", \"aria-hidden\": \"true\" }),\n\t\t\th(\"span\", { class: \"checkbox-label\" }, slots.default?.() || props.label)\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, iconNode, normalizeVariant } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnChip\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tvariant: { type: String, default: \"\" },\n\t\ticon: { type: String, default: \"\" },\n\t\tselected: { type: Boolean, default: false },\n\t\tdisabled: { type: Boolean, default: false },\n\t\tremovable: { type: Boolean, default: false },\n\t\tclickable: { type: Boolean, default: false }\n\t},\n\temits: [\"remove\"],\n\tsetup(props, { attrs, emit, slots }) {\n\t\treturn () => {\n\t\t\tconst tag = props.clickable ? \"button\" : \"span\";\n\t\t\tconst variant = props.variant ? normalizeVariant(props.variant) : \"\";\n\t\t\tconst chipText = slots.default?.()?.[0]?.children;\n\n\t\t\treturn h(tag, {\n\t\t\t\t...attrs,\n\t\t\t\ttype: tag === \"button\" ? \"button\" : undefined,\n\t\t\t\tdisabled: tag === \"button\" ? props.disabled : undefined,\n\t\t\t\t\"aria-pressed\": tag === \"button\" ? String(props.selected) : undefined,\n\t\t\t\tclass: cx(\"chip\", variant && `chip-${variant}`, {\n\t\t\t\t\t\"chip-selected\": props.selected,\n\t\t\t\t\t\"chip-disabled\": props.disabled\n\t\t\t\t}, attrs.class)\n\t\t\t}, [\n\t\t\t\ticonNode(props.icon),\n\t\t\t\tslots.default?.(),\n\t\t\t\tprops.removable && h(\"button\", {\n\t\t\t\t\tclass: \"chip-remove\",\n\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\"aria-label\": chipText ? `Remove ${chipText}` : \"Remove\",\n\t\t\t\t\tonClick: event => {\n\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\temit(\"remove\");\n\t\t\t\t\t}\n\t\t\t\t}, [iconNode(\"ph-x\")])\n\t\t\t]);\n\t\t};\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnChipGroup\",\n\tinheritAttrs: false,\n\tsetup(_, { attrs, slots }) {\n\t\treturn () => h(\"div\", { ...attrs, class: cx(\"chip-group\", attrs.class) }, slots.default?.());\n\t}\n});\n", "import { computed, defineComponent, h, nextTick, ref } from \"vue\";\nimport { cx, eventValue, iconNode } from \"../utils.js\";\n\nlet comboboxId = 0;\n\nexport default defineComponent({\n\tname: \"GnCombobox\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tmodelValue: { type: [String, Number], default: \"\" },\n\t\tlabel: { type: String, default: \"\" },\n\t\ticon: { type: String, default: \"\" },\n\t\toptions: { type: Array, default: () => [] },\n\t\tplaceholder: { type: String, default: \"Search\" },\n\t\tnotFoundText: { type: String, default: \"Nothing found\" },\n\t\tstate: { type: String, default: \"\" },\n\t\thelp: { type: String, default: \"\" }\n\t},\n\temits: [\"update:modelValue\", \"select\"],\n\tsetup(props, { attrs, emit }) {\n\t\tconst id = `gn-combobox-${++comboboxId}`;\n\t\tconst listboxId = `${id}-listbox`;\n\t\tconst open = ref(false);\n\t\tconst focused = ref(-1);\n\t\tconst inputRef = ref(null);\n\t\tconst normalized = computed(() => props.options.map(option => typeof option === \"object\" ? option : {\n\t\t\tvalue: option,\n\t\t\tlabel: option\n\t\t}));\n\t\tconst query = computed(() => String(props.modelValue ?? \"\").toLowerCase());\n\t\tconst filtered = computed(() => normalized.value.filter(option => String(option.label).toLowerCase().includes(query.value)));\n\t\tconst select = option => {\n\t\t\tif(!option) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\temit(\"update:modelValue\", option.label);\n\t\t\temit(\"select\", option);\n\t\t\topen.value = false;\n\t\t\tfocused.value = -1;\n\t\t};\n\t\tconst move = direction => {\n\t\t\tif(!filtered.value.length) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\topen.value = true;\n\t\t\tfocused.value = (focused.value + direction + filtered.value.length) % filtered.value.length;\n\t\t\tnextTick(() => {\n\t\t\t\tconst container = inputRef.value?.closest(\".form-group\")?.querySelector(\".advanced-select\");\n\t\t\t\tcontainer?.querySelector(\".option.focus\")?.scrollIntoView({ block: \"nearest\" });\n\t\t\t});\n\t\t};\n\t\tconst onKeydown = event => {\n\t\t\tif(event.key === \"ArrowDown\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tmove(1);\n\t\t\t} else if(event.key === \"ArrowUp\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tmove(-1);\n\t\t\t} else if(event.key === \"Enter\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tselect(filtered.value[focused.value]);\n\t\t\t} else if(event.key === \"Escape\") {\n\t\t\t\topen.value = false;\n\t\t\t\tfocused.value = -1;\n\t\t\t}\n\t\t};\n\n\t\treturn () => h(\"div\", { class: \"form-group\" }, [\n\t\t\th(\"label\", { class: cx(\"label\", props.state) }, [\n\t\t\t\tprops.label,\n\t\t\t\ticonNode(props.icon),\n\t\t\t\th(\"input\", {\n\t\t\t\t\t...attrs,\n\t\t\t\t\tref: inputRef,\n\t\t\t\t\tid,\n\t\t\t\t\ttype: \"text\",\n\t\t\t\t\tvalue: props.modelValue,\n\t\t\t\t\tplaceholder: props.placeholder,\n\t\t\t\t\tautocomplete: \"off\",\n\t\t\t\t\trole: \"combobox\",\n\t\t\t\t\t\"aria-autocomplete\": \"list\",\n\t\t\t\t\t\"aria-expanded\": open.value ? \"true\" : \"false\",\n\t\t\t\t\t\"aria-controls\": listboxId,\n\t\t\t\t\t\"aria-activedescendant\": focused.value >= 0 ? `${id}-option-${focused.value}` : undefined,\n\t\t\t\t\tclass: cx(\"input\", attrs.class),\n\t\t\t\t\tonFocus: () => {\n\t\t\t\t\t\topen.value = true;\n\t\t\t\t\t},\n\t\t\t\t\tonBlur: () => {\n\t\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t\topen.value = false;\n\t\t\t\t\t\t}, 120);\n\t\t\t\t\t},\n\t\t\t\t\tonInput: event => {\n\t\t\t\t\t\tfocused.value = -1;\n\t\t\t\t\t\topen.value = true;\n\t\t\t\t\t\temit(\"update:modelValue\", eventValue(event));\n\t\t\t\t\t},\n\t\t\t\t\tonKeydown\n\t\t\t\t})\n\t\t\t]),\n\t\t\th(\"div\", { class: \"advanced-select-container\" }, [\n\t\t\t\th(\"div\", { class: cx(\"advanced-select\", { \"a-show\": open.value }) }, [\n\t\t\t\t\th(\"div\", { class: \"popup-options-container\" }, [\n\t\t\t\t\t\th(\"div\", { class: cx(\"not-found\", { show: !filtered.value.length }) }, props.notFoundText),\n\t\t\t\t\t\th(\"div\", {\n\t\t\t\t\t\t\tid: listboxId,\n\t\t\t\t\t\t\tclass: cx(\"options\", { show: filtered.value.length }),\n\t\t\t\t\t\t\trole: \"listbox\"\n\t\t\t\t\t\t}, filtered.value.map((option, index) => h(\"div\", {\n\t\t\t\t\t\t\tid: `${id}-option-${index}`,\n\t\t\t\t\t\t\tclass: cx(\"option\", { focus: index === focused.value }),\n\t\t\t\t\t\t\trole: \"option\",\n\t\t\t\t\t\t\t\"aria-selected\": option.label === props.modelValue ? \"true\" : \"false\",\n\t\t\t\t\t\t\t\"data-value\": option.value,\n\t\t\t\t\t\t\t\"data-display-value\": option.label,\n\t\t\t\t\t\t\tonMousedown: event => {\n\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\tselect(option);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}, option.label)))\n\t\t\t\t\t])\n\t\t\t\t])\n\t\t\t]),\n\t\t\tprops.help && h(\"div\", { class: cx(\"input-info\", props.state === \"error\" && \"error\") }, props.help)\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport GnButton from \"./GnButton.js\";\nimport GnModal from \"./GnModal.js\";\n\nexport default defineComponent({\n\tname: \"GnConfirmDialog\",\n\tprops: {\n\t\topen: { type: Boolean, default: false },\n\t\ttitle: { type: String, default: \"Requires confirmation\" },\n\t\tmessage: { type: String, default: \"\" },\n\t\tconfirmText: { type: String, default: \"YES\" },\n\t\tcancelText: { type: String, default: \"NO\" },\n\t\tconfirmVariant: { type: String, default: \"warning\" }\n\t},\n\temits: [\"update:open\", \"confirm\", \"cancel\"],\n\tsetup(props, { emit, slots }) {\n\t\tconst close = () => emit(\"update:open\", false);\n\t\tconst cancel = () => {\n\t\t\temit(\"cancel\");\n\t\t\tclose();\n\t\t};\n\t\tconst confirm = () => {\n\t\t\temit(\"confirm\");\n\t\t\tclose();\n\t\t};\n\n\t\treturn () => h(GnModal, {\n\t\t\topen: props.open,\n\t\t\ttitle: props.title,\n\t\t\t\"onUpdate:open\": value => emit(\"update:open\", value)\n\t\t}, {\n\t\t\tdefault: () => slots.default?.() || h(\"p\", {}, props.message),\n\t\t\tactions: () => [\n\t\t\t\th(GnButton, { variant: \"primary\", onClick: cancel }, () => props.cancelText),\n\t\t\t\th(GnButton, { variant: props.confirmVariant, onClick: confirm }, () => props.confirmText)\n\t\t\t]\n\t\t});\n\t}\n});\n", "/**\n * GnModal - Accessible modal dialog with focus trapping and teleport.\n *\n * @typedef {Object} GnModalProps\n * @property {boolean} [open=false] - Dialog visibility\n * @property {string} [title=''] - Dialog title\n * @property {boolean} [closeOnBackdrop=true] - Click backdrop to close\n *\n * @slots default - Modal body content\n * @slots title - Override header title\n * @slots footer - Footer content\n * @slots actions - Action buttons (receives { close })\n * @emits update:open\n * @emits close\n */\nimport { defineComponent, h, nextTick, onBeforeUnmount, ref, Teleport, watch } from \"vue\";\nimport { cx, iconNode, trapFocus } from \"../utils.js\";\n\nlet modalId = 0;\n\nexport default defineComponent({\n\tname: \"GnModal\",\n\tprops: {\n\t\topen: { type: Boolean, default: false },\n\t\ttitle: { type: String, default: \"\" },\n\t\tcloseOnBackdrop: { type: Boolean, default: true }\n\t},\n\temits: [\"update:open\", \"close\"],\n\tsetup(props, { emit, slots }) {\n\t\tconst titleId = `gn-modal-title-${++modalId}`;\n\t\tconst dialogRef = ref(null);\n\t\tconst visible = ref(false);\n\t\tconst closing = ref(false);\n\t\tlet previousFocus = null;\n\t\tlet closeTimer = null;\n\n\t\tconst close = () => {\n\t\t\temit(\"update:open\", false);\n\t\t\temit(\"close\");\n\t\t};\n\t\tconst onKeydown = event => {\n\t\t\tif(event.key === \"Escape\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tclose();\n\t\t\t} else {\n\t\t\t\ttrapFocus(event, dialogRef.value);\n\t\t\t}\n\t\t};\n\t\tconst focusDialog = () => {\n\t\t\tnextTick(() => {\n\t\t\t\tdialogRef.value?.focus();\n\t\t\t});\n\t\t};\n\n\t\twatch(() => props.open, open => {\n\t\t\tif(open) {\n\t\t\t\tclosing.value = true;\n\t\t\t\tvisible.value = true;\n\t\t\t\tnextTick(() => {\n\t\t\t\t\trequestAnimationFrame(() => {\n\t\t\t\t\t\tclosing.value = false;\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t\tpreviousFocus = document.activeElement;\n\t\t\t\tdocument.addEventListener(\"keydown\", onKeydown);\n\t\t\t\tfocusDialog();\n\t\t\t} else {\n\t\t\t\tclosing.value = true;\n\t\t\t\tdocument.removeEventListener(\"keydown\", onKeydown);\n\t\t\t\tpreviousFocus?.focus?.();\n\t\t\t\tpreviousFocus = null;\n\t\t\t\tcloseTimer = window.setTimeout(() => {\n\t\t\t\t\tvisible.value = false;\n\t\t\t\t\tclosing.value = false;\n\t\t\t\t}, 300);\n\t\t\t}\n\t\t}, { flush: \"post\", immediate: true });\n\n\t\tonBeforeUnmount(() => {\n\t\t\tdocument.removeEventListener(\"keydown\", onKeydown);\n\t\t\twindow.clearTimeout(closeTimer);\n\t\t});\n\n\t\treturn () => visible.value ? h(Teleport, { to: \"body\" }, [\n\t\t\th(\"div\", { class: cx(\"modal\", closing.value ? \"a-hide\" : \"a-show\"), \"aria-hidden\": \"false\" }, [\n\t\t\t\th(\"div\", {\n\t\t\t\t\tclass: \"modal-backdrop\",\n\t\t\t\t\tonClick: () => props.closeOnBackdrop && close()\n\t\t\t\t}),\n\t\t\t\th(\"div\", {\n\t\t\t\t\tref: dialogRef,\n\t\t\t\t\tclass: \"modal-dialog\",\n\t\t\t\t\trole: \"dialog\",\n\t\t\t\t\t\"aria-modal\": \"true\",\n\t\t\t\t\t\"aria-labelledby\": titleId,\n\t\t\t\t\ttabindex: \"-1\"\n\t\t\t\t}, [\n\t\t\t\t\th(\"header\", { class: \"modal-header\" }, [\n\t\t\t\t\t\th(\"h4\", { class: \"modal-title\", id: titleId }, slots.title?.() || props.title),\n\t\t\t\t\t\th(\"button\", {\n\t\t\t\t\t\t\tclass: \"btn-icon modal-close\",\n\t\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\t\t\"aria-label\": \"Close\",\n\t\t\t\t\t\t\tonClick: close\n\t\t\t\t\t\t}, [iconNode(\"ph-x\")])\n\t\t\t\t\t]),\n\t\t\t\t\th(\"div\", { class: \"modal-panel\" }, [\n\t\t\t\t\t\th(\"div\", { class: \"modal-body\" }, slots.default?.()),\n\t\t\t\t\t\t(slots.footer || slots.actions) && h(\"footer\", { class: \"modal-footer\" }, [\n\t\t\t\t\t\t\tslots.footer?.(),\n\t\t\t\t\t\t\tslots.actions && h(\"div\", { class: \"actions\" }, slots.actions({ close }))\n\t\t\t\t\t\t])\n\t\t\t\t\t])\n\t\t\t\t])\n\t\t\t])\n\t\t]) : null;\n\t}\n});\n", "import { defineComponent, h, ref } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnCopyButton\",\n\tprops: {\n\t\ttext: { type: String, required: true },\n\t\ticon: { type: String, default: \"ph-copy\" },\n\t\tsuccessIcon: { type: String, default: \"ph-check\" },\n\t\tduration: { type: Number, default: 3000 },\n\t\tlabel: { type: String, default: \"Copy\" },\n\t\tsize: { type: String, default: null }\n\t},\n\temits: [\"copy\"],\n\tsetup(props, { emit }) {\n\t\tconst copied = ref(false);\n\t\tlet timer = null;\n\n\t\tconst copy = async () => {\n\t\t\ttry {\n\t\t\t\tawait navigator.clipboard.writeText(props.text);\n\t\t\t} catch {\n\t\t\t\t// Fallback for older browsers or non-secure contexts\n\t\t\t\tconst textarea = document.createElement(\"textarea\");\n\t\t\t\ttextarea.value = props.text;\n\t\t\t\ttextarea.style.position = \"fixed\";\n\t\t\t\ttextarea.style.opacity = \"0\";\n\t\t\t\tdocument.body.appendChild(textarea);\n\t\t\t\ttextarea.select();\n\t\t\t\tdocument.execCommand(\"copy\");\n\t\t\t\tdocument.body.removeChild(textarea);\n\t\t\t}\n\n\t\t\tcopied.value = true;\n\t\t\twindow.clearTimeout(timer);\n\t\t\ttimer = window.setTimeout(() => {\n\t\t\t\tcopied.value = false;\n\t\t\t}, props.duration);\n\n\t\t\temit(\"copy\", props.text);\n\t\t};\n\n\t\treturn () => h(\"button\", {\n\t\t\tclass: cx(\"btn-icon\", { \"btn-icon-sm\": props.size === \"sm\" }),\n\t\t\ttype: \"button\",\n\t\t\t\"aria-label\": props.label,\n\t\t\tonClick: copy\n\t\t}, [iconNode(copied.value ? props.successIcon : props.icon)]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnDescriptionList\",\n\tinheritAttrs: false,\n\tprops: {\n\t\titems: { type: Array, default: () => [] },\n\t\tcompact: { type: Boolean, default: false }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => h(\"dl\", {\n\t\t\t...attrs,\n\t\t\tclass: cx(\"description-list\", { \"description-list-compact\": props.compact }, attrs.class)\n\t\t}, props.items.map(item => h(\"div\", { class: \"description-list-row\" }, [\n\t\t\th(\"dt\", { class: \"description-list-term\" }, item.term || item.label),\n\t\t\th(\"dd\", { class: cx(\"description-list-value\", item.muted && \"description-list-value-muted\") },\n\t\t\t\tslots[item.key]?.({ item }) || item.value\n\t\t\t)\n\t\t])));\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnDefinitionList\",\n\tinheritAttrs: false,\n\tprops: {\n\t\titems: { type: Array, default: () => [] }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => h(\"dl\", { ...attrs, class: cx(\"list list-definition\", attrs.class) }, props.items.map(item => h(\"div\", {\n\t\t\tclass: \"list-row\"\n\t\t}, [\n\t\t\th(\"dt\", { class: \"list-term\" }, item.term || item.label),\n\t\t\th(\"dd\", { class: \"list-desc\" }, slots[item.key]?.({ item }) || item.description || item.value)\n\t\t])));\n\t}\n});\n", "import { defineComponent, h, onBeforeUnmount, ref } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\nimport GnButton from \"./GnButton.js\";\n\nexport default defineComponent({\n\tname: \"GnDropdown\",\n\tprops: {\n\t\tlabel: { type: String, default: \"Actions\" },\n\t\ticon: { type: String, default: \"ph-dots-three-outline\" },\n\t\tvariant: { type: String, default: \"secondary\" },\n\t\titems: { type: Array, default: () => [] }\n\t},\n\temits: [\"select\"],\n\tsetup(props, { emit, slots }) {\n\t\tconst open = ref(false);\n\t\tconst root = ref(null);\n\t\tconst close = () => {\n\t\t\topen.value = false;\n\t\t\tdocument.removeEventListener(\"click\", onOutsideClick);\n\t\t\tdocument.removeEventListener(\"keydown\", onKeydown);\n\t\t};\n\t\tconst onOutsideClick = event => {\n\t\t\tif(root.value && !root.value.contains(event.target)) {\n\t\t\t\tclose();\n\t\t\t}\n\t\t};\n\t\tconst onKeydown = event => {\n\t\t\tif(event.key === \"Escape\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tclose();\n\t\t\t}\n\t\t};\n\t\tconst toggle = () => {\n\t\t\topen.value = !open.value;\n\n\t\t\tif(open.value) {\n\t\t\t\tsetTimeout(() => document.addEventListener(\"click\", onOutsideClick), 0);\n\t\t\t\tdocument.addEventListener(\"keydown\", onKeydown);\n\t\t\t} else {\n\t\t\t\tclose();\n\t\t\t}\n\t\t};\n\t\tconst select = item => {\n\t\t\tif(item.disabled) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\titem.onSelect?.(item);\n\t\t\temit(\"select\", item);\n\t\t\tclose();\n\t\t};\n\n\t\tonBeforeUnmount(close);\n\n\t\treturn () => h(\"div\", { ref: root, class: cx(\"dropdown\", { \"is-open\": open.value }) }, [\n\t\t\tslots.trigger?.({ open: open.value, toggle }) || h(GnButton, {\n\t\t\t\tvariant: props.variant,\n\t\t\t\ticon: props.icon,\n\t\t\t\t\"aria-expanded\": open.value ? \"true\" : \"false\",\n\t\t\t\tonClick: toggle\n\t\t\t}, () => props.label),\n\t\t\th(\"div\", { class: \"dropdown-menu\", role: \"menu\" }, slots.default?.({ close }) || props.items.map(item => h(\"button\", {\n\t\t\t\tclass: cx(\"dropdown-item\", item.danger && \"dropdown-item-danger\"),\n\t\t\t\ttype: \"button\",\n\t\t\t\trole: \"menuitem\",\n\t\t\t\tdisabled: item.disabled,\n\t\t\t\tonClick: () => select(item)\n\t\t\t}, [\n\t\t\t\ticonNode(item.icon),\n\t\t\t\titem.label\n\t\t\t])))\n\t\t]);\n\t}\n});\n", "import { defineComponent, h, nextTick, onBeforeUnmount, ref, Teleport, watch } from \"vue\";\nimport { cx, iconNode, trapFocus } from \"../utils.js\";\n\nlet drawerId = 0;\n\nexport default defineComponent({\n\tname: \"GnDrawer\",\n\tprops: {\n\t\topen: { type: Boolean, default: false },\n\t\ttitle: { type: String, default: \"\" },\n\t\tposition: { type: String, default: \"right\" }\n\t},\n\temits: [\"update:open\", \"close\"],\n\tsetup(props, { emit, slots }) {\n\t\tconst titleId = `gn-drawer-title-${++drawerId}`;\n\t\tconst panelRef = ref(null);\n\t\tconst visible = ref(false);\n\t\tconst closing = ref(false);\n\t\tlet previousFocus = null;\n\t\tlet closeTimer = null;\n\n\t\tconst close = () => {\n\t\t\temit(\"update:open\", false);\n\t\t\temit(\"close\");\n\t\t};\n\t\tconst onKeydown = event => {\n\t\t\tif(event.key === \"Escape\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tclose();\n\t\t\t} else {\n\t\t\t\ttrapFocus(event, panelRef.value);\n\t\t\t}\n\t\t};\n\n\t\twatch(() => props.open, open => {\n\t\t\tif(open) {\n\t\t\t\tclosing.value = true;\n\t\t\t\tvisible.value = true;\n\t\t\t\tnextTick(() => {\n\t\t\t\t\trequestAnimationFrame(() => {\n\t\t\t\t\t\tclosing.value = false;\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t\tpreviousFocus = document.activeElement;\n\t\t\t\tdocument.addEventListener(\"keydown\", onKeydown);\n\t\t\t\tnextTick(() => panelRef.value?.focus());\n\t\t\t} else {\n\t\t\t\tclosing.value = true;\n\t\t\t\tdocument.removeEventListener(\"keydown\", onKeydown);\n\t\t\t\tpreviousFocus?.focus?.();\n\t\t\t\tpreviousFocus = null;\n\t\t\t\tcloseTimer = window.setTimeout(() => {\n\t\t\t\t\tvisible.value = false;\n\t\t\t\t\tclosing.value = false;\n\t\t\t\t}, 300);\n\t\t\t}\n\t\t}, { flush: \"post\" });\n\n\t\tonBeforeUnmount(() => {\n\t\t\tdocument.removeEventListener(\"keydown\", onKeydown);\n\t\t\twindow.clearTimeout(closeTimer);\n\t\t});\n\n\t\treturn () => visible.value ? h(Teleport, { to: \"body\" }, [\n\t\t\th(\"div\", {\n\t\t\t\tclass: cx(\"drawer\", closing.value ? \"a-hide\" : \"a-show\", { \"drawer-left\": props.position === \"left\" }),\n\t\t\t\t\"aria-hidden\": \"false\"\n\t\t\t}, [\n\t\t\t\th(\"div\", { class: \"drawer-backdrop\", onClick: close }),\n\t\t\t\th(\"aside\", {\n\t\t\t\t\tref: panelRef,\n\t\t\t\t\tclass: \"drawer-panel\",\n\t\t\t\t\trole: \"dialog\",\n\t\t\t\t\t\"aria-modal\": \"true\",\n\t\t\t\t\t\"aria-labelledby\": titleId,\n\t\t\t\t\ttabindex: \"-1\"\n\t\t\t\t}, [\n\t\t\t\t\th(\"header\", { class: \"drawer-header\" }, [\n\t\t\t\t\t\th(\"h4\", { class: \"drawer-title\", id: titleId }, slots.title?.() || props.title),\n\t\t\t\t\t\th(\"button\", {\n\t\t\t\t\t\t\tclass: \"btn-icon drawer-close\",\n\t\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\t\t\"aria-label\": \"Close\",\n\t\t\t\t\t\t\tonClick: close\n\t\t\t\t\t\t}, [iconNode(\"ph-x\")])\n\t\t\t\t\t]),\n\t\t\t\t\th(\"div\", { class: \"drawer-body\" }, slots.default?.()),\n\t\t\t\t\tslots.footer && h(\"footer\", { class: \"drawer-footer\" }, slots.footer({ close }))\n\t\t\t\t])\n\t\t\t])\n\t\t]) : null;\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnEmptyState\",\n\tinheritAttrs: false,\n\tprops: {\n\t\ttitle: { type: String, required: true },\n\t\ttext: { type: String, default: \"\" },\n\t\ticon: { type: String, default: \"ph-package\" },\n\t\tvariant: { type: String, default: \"\" }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => h(\"div\", {\n\t\t\t...attrs,\n\t\t\tclass: cx(\"empty-state\", props.variant && `empty-state-${props.variant}`, attrs.class)\n\t\t}, [\n\t\t\th(\"div\", { class: \"empty-state-icon\" }, [iconNode(props.icon)]),\n\t\t\th(\"h3\", { class: \"empty-state-title\" }, slots.title?.() || props.title),\n\t\t\t(props.text || slots.default) && h(\"p\", { class: \"empty-state-text\" }, slots.default?.() || props.text),\n\t\t\tslots.actions && h(\"div\", { class: \"empty-state-actions\" }, slots.actions())\n\t\t]);\n\t}\n});\n", "import { defineComponent, h, onBeforeUnmount, ref, watch } from \"vue\";\nimport { iconNode } from \"../utils.js\";\nimport GnButton from \"./GnButton.js\";\nimport GnBadge from \"./GnBadge.js\";\n\nfunction fileType(file) {\n\tconst ext = file.name.split(\".\").pop();\n\treturn ext ? ext.slice(0, 6).toUpperCase() : \"FILE\";\n}\n\nfunction fileSize(file) {\n\tif(!file.size) {\n\t\treturn \"0 B\";\n\t}\n\n\tconst units = [\"B\", \"KB\", \"MB\", \"GB\"];\n\tconst index = Math.min(Math.floor(Math.log(file.size) / Math.log(1024)), units.length - 1);\n\tconst value = file.size / Math.pow(1024, index);\n\treturn `${value.toFixed(value >= 10 || index === 0 ? 0 : 1)} ${units[index]}`;\n}\n\nexport default defineComponent({\n\tname: \"GnFileUpload\",\n\tprops: {\n\t\tmodelValue: { type: Array, default: () => [] },\n\t\ttitle: { type: String, default: \"Upload files\" },\n\t\tdescription: { type: String, default: \"Attach documents, archives or images.\" },\n\t\tprimary: { type: String, default: \"Choose files\" },\n\t\tsecondary: { type: String, default: \"Images get thumbnails, other files show their type\" },\n\t\tbadge: { type: String, default: \"\" },\n\t\tmultiple: { type: Boolean, default: true },\n\t\taccept: { type: String, default: \"\" }\n\t},\n\temits: [\"update:modelValue\", \"change\"],\n\tsetup(props, { emit, slots }) {\n\t\tconst urls = ref(new Map());\n\t\tconst revokeFile = file => {\n\t\t\tconst url = urls.value.get(file);\n\n\t\t\tif(url) {\n\t\t\t\tURL.revokeObjectURL(url);\n\t\t\t\turls.value.delete(file);\n\t\t\t}\n\t\t};\n\t\tconst revokeAll = () => {\n\t\t\turls.value.forEach(url => URL.revokeObjectURL(url));\n\t\t\turls.value.clear();\n\t\t};\n\t\tconst setFiles = fileList => {\n\t\t\tconst files = Array.from(fileList || []);\n\t\t\temit(\"update:modelValue\", files);\n\t\t\temit(\"change\", files);\n\t\t};\n\t\tconst remove = index => {\n\t\t\trevokeFile(props.modelValue[index]);\n\t\t\tconst files = props.modelValue.filter((_, itemIndex) => itemIndex !== index);\n\t\t\temit(\"update:modelValue\", files);\n\t\t\temit(\"change\", files);\n\t\t};\n\t\tconst previewUrl = file => {\n\t\t\tif(!file.type?.startsWith(\"image/\")) {\n\t\t\t\treturn \"\";\n\t\t\t}\n\n\t\t\tif(!urls.value.has(file)) {\n\t\t\t\turls.value.set(file, URL.createObjectURL(file));\n\t\t\t}\n\n\t\t\treturn urls.value.get(file);\n\t\t};\n\n\t\twatch(() => props.modelValue, files => {\n\t\t\tconst active = new Set(files);\n\t\t\t[...urls.value.keys()].forEach(file => {\n\t\t\t\tif(!active.has(file)) {\n\t\t\t\t\trevokeFile(file);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\n\t\tonBeforeUnmount(revokeAll);\n\n\t\treturn () => h(\"div\", { class: \"file-upload-panel\" }, [\n\t\t\th(\"div\", { class: \"file-upload-form\" }, [\n\t\t\t\th(\"div\", { class: \"file-upload-header\" }, [\n\t\t\t\t\th(\"div\", { class: \"file-upload-heading\" }, [\n\t\t\t\t\t\th(\"h3\", { class: \"file-upload-title\" }, slots.title?.() || props.title),\n\t\t\t\t\t\th(\"p\", { class: \"file-upload-description\" }, slots.description?.() || props.description)\n\t\t\t\t\t]),\n\t\t\t\t\tprops.badge && h(GnBadge, { variant: \"info\" }, () => props.badge)\n\t\t\t\t]),\n\t\t\t\th(\"label\", { class: \"file-upload-dropzone\" }, [\n\t\t\t\t\th(\"span\", { class: \"file-upload-icon\", \"aria-hidden\": \"true\" }, [iconNode(\"ph-cloud-arrow-up\")]),\n\t\t\t\t\th(\"span\", { class: \"file-upload-body\" }, [\n\t\t\t\t\t\th(\"span\", { class: \"file-upload-primary\" }, props.primary),\n\t\t\t\t\t\th(\"span\", { class: \"file-upload-secondary\" }, props.secondary)\n\t\t\t\t\t]),\n\t\t\t\t\th(\"input\", {\n\t\t\t\t\t\ttype: \"file\",\n\t\t\t\t\t\tmultiple: props.multiple,\n\t\t\t\t\t\taccept: props.accept || undefined,\n\t\t\t\t\t\tonChange: event => setFiles(event.target.files)\n\t\t\t\t\t})\n\t\t\t\t]),\n\t\t\t\th(\"div\", { class: \"file-upload-preview\", hidden: !props.modelValue.length }, props.modelValue.map((file, index) => h(\"figure\", {\n\t\t\t\t\tclass: \"file-upload-preview-item\"\n\t\t\t\t}, [\n\t\t\t\t\th(\"button\", {\n\t\t\t\t\t\tclass: \"file-upload-preview-remove\",\n\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\t\"aria-label\": `Remove ${file.name}`,\n\t\t\t\t\t\tonClick: () => remove(index)\n\t\t\t\t\t}, [iconNode(\"ph-x\")]),\n\t\t\t\t\th(\"div\", { class: \"file-upload-preview-visual\" }, previewUrl(file)\n\t\t\t\t\t\t? h(\"img\", { src: previewUrl(file), alt: \"\" })\n\t\t\t\t\t\t: h(\"span\", { class: \"file-upload-preview-type\" }, fileType(file))\n\t\t\t\t\t),\n\t\t\t\t\th(\"figcaption\", {}, [\n\t\t\t\t\t\th(\"span\", { class: \"file-upload-preview-name\" }, file.name),\n\t\t\t\t\t\th(\"span\", { class: \"file-upload-preview-meta\" }, `${fileType(file)} / ${fileSize(file)}`)\n\t\t\t\t\t])\n\t\t\t\t]))),\n\t\t\t\tslots.actions && h(\"div\", { class: \"file-upload-actions\" }, slots.actions()),\n\t\t\t\t!slots.actions && props.modelValue.length > 0 && h(\"div\", { class: \"file-upload-actions\" }, [\n\t\t\t\t\th(GnButton, {\n\t\t\t\t\t\tvariant: \"secondary\",\n\t\t\t\t\t\tsize: \"sm\",\n\t\t\t\t\t\tonClick: () => {\n\t\t\t\t\t\t\trevokeAll();\n\t\t\t\t\t\t\tsetFiles([]);\n\t\t\t\t\t\t}\n\t\t\t\t\t}, () => \"Reset\")\n\t\t\t\t])\n\t\t\t])\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnIconButton\",\n\tinheritAttrs: false,\n\tprops: {\n\t\ticon: { type: String, required: true },\n\t\tlabel: { type: String, required: true },\n\t\ttype: { type: String, default: \"button\" },\n\t\tsize: { type: String, default: null },\n\t\twithoutHover: { type: Boolean, default: false }\n\t},\n\tsetup(props, { attrs }) {\n\t\treturn () => h(\"button\", {\n\t\t\t...attrs,\n\t\t\ttype: props.type,\n\t\t\t\"aria-label\": props.label,\n\t\t\tclass: cx(\"btn-icon\", { \"btn-icon-sm\": props.size === \"sm\", \"without-hover\": props.withoutHover }, attrs.class)\n\t\t}, [iconNode(props.icon)]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport GnAvatar from \"./GnAvatar.js\";\n\nexport default defineComponent({\n\tname: \"GnIdentity\",\n\tprops: {\n\t\ttitle: { type: String, required: true },\n\t\tmeta: { type: String, default: \"\" },\n\t\tavatar: { type: Object, default: () => ({}) }\n\t},\n\tsetup(props, { slots }) {\n\t\treturn () => h(\"span\", { class: \"identity\" }, [\n\t\t\tslots.avatar?.() || h(GnAvatar, props.avatar),\n\t\t\th(\"span\", { class: \"identity-content\" }, [\n\t\t\t\th(\"span\", { class: \"identity-title\" }, slots.title?.() || props.title),\n\t\t\t\t(props.meta || slots.meta) && h(\"span\", { class: \"identity-meta\" }, slots.meta?.() || props.meta)\n\t\t\t])\n\t\t]);\n\t}\n});\n", "/**\n * GnInput - Text input field with label, icon, state, and help text.\n *\n * @typedef {Object} GnInputProps\n * @property {string|number} [modelValue=''] - Bound value\n * @property {string} [label=''] - Label text\n * @property {string} [type='text'] - input type attribute\n * @property {string} [icon=''] - Phosphor icon name with ph- prefix (e.g. \"ph-pencil-simple\")\n * @property {string} [state=''] - error | warning | success\n * @property {string} [help=''] - Help or validation message\n * @property {boolean} [bare=false] - Render bare input without .form-group wrapper\n *\n * @emits update:modelValue\n */\nimport { defineComponent, h } from \"vue\";\nimport { cx, eventValue, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnInput\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tmodelValue: { type: [String, Number], default: \"\" },\n\t\tlabel: { type: String, default: \"\" },\n\t\ttype: { type: String, default: \"text\" },\n\t\ticon: { type: String, default: \"\" },\n\t\tstate: { type: String, default: \"\" },\n\t\thelp: { type: String, default: \"\" },\n\t\tbare: { type: Boolean, default: false }\n\t},\n\temits: [\"update:modelValue\"],\n\tsetup(props, { attrs, emit }) {\n\t\treturn () => {\n\t\t\tconst input = h(\"input\", {\n\t\t\t\t...attrs,\n\t\t\t\ttype: props.type,\n\t\t\t\tvalue: props.modelValue,\n\t\t\t\tclass: cx(props.bare ? \"\" : \"input\", attrs.class),\n\t\t\t\tonInput: event => emit(\"update:modelValue\", eventValue(event))\n\t\t\t});\n\n\t\t\tif(props.bare) {\n\t\t\t\treturn input;\n\t\t\t}\n\n\t\t\treturn h(\"div\", { class: \"form-group\" }, [\n\t\t\t\th(\"label\", { class: cx(\"label\", props.state) }, [\n\t\t\t\t\tprops.label,\n\t\t\t\t\ticonNode(props.icon),\n\t\t\t\t\tinput\n\t\t\t\t]),\n\t\t\t\tprops.help && h(\"div\", { class: cx(\"input-info\", props.state === \"error\" && \"error\") }, props.help)\n\t\t\t]);\n\t\t};\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnInputGroup\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tcompact: { type: Boolean, default: false },\n\t\taddon: { type: String, default: \"\" },\n\t\ticon: { type: String, default: \"\" }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => h(\"div\", {\n\t\t\t...attrs,\n\t\t\tclass: cx(\"input-group\", { \"input-group-compact\": props.compact }, attrs.class)\n\t\t}, [\n\t\t\t(props.addon || props.icon || slots.addon) && h(\"span\", { class: \"input-group-addon\" }, slots.addon?.() || iconNode(props.icon) || props.addon),\n\t\t\tslots.default?.(),\n\t\t\tslots.action && h(\"span\", { class: \"input-group-action\" }, slots.action())\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnList\",\n\tinheritAttrs: false,\n\tprops: {\n\t\titems: { type: Array, default: () => [] },\n\t\tordered: { type: Boolean, default: false },\n\t\ticons: { type: Boolean, default: false }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\tconst tag = props.ordered ? \"ol\" : \"ul\";\n\n\t\treturn () => h(tag, {\n\t\t\t...attrs,\n\t\t\tclass: cx(\"list\", {\n\t\t\t\t\"list-ordered\": props.ordered,\n\t\t\t\t\"with-icons\": props.icons\n\t\t\t}, attrs.class)\n\t\t}, props.items.map(item => h(\"li\", { class: \"list-item\" }, [\n\t\t\ticonNode(item.icon),\n\t\t\tslots.item?.({ item }) || item.label || item\n\t\t])));\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnLoader\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tcircle: { type: Boolean, default: false },\n\t\tlabel: { type: String, default: \"Loading\" }\n\t},\n\tsetup(props, { attrs }) {\n\t\treturn () => props.circle\n\t\t\t? h(\"div\", { ...attrs, class: cx(\"circle-loader\", attrs.class) }, [\n\t\t\t\ticonNode(\"ph-bold ph-spinner normalize\"),\n\t\t\t\tprops.label\n\t\t\t])\n\t\t\t: h(\"div\", { ...attrs, class: cx(\"loader\", attrs.class), role: \"status\", \"aria-label\": props.label });\n\t}\n});\n", "import { defineComponent, h, ref } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\nimport GnInput from \"./GnInput.js\";\nimport GnButton from \"./GnButton.js\";\nimport GnCheckbox from \"./GnCheckbox.js\";\nimport GnAlert from \"./GnAlert.js\";\n\nexport default defineComponent({\n\tname: \"GnLoginCard\",\n\tprops: {\n\t\ttitle: { type: String, default: \"Sign in\" },\n\t\tlogoSrc: { type: String, default: \"\" },\n\t\tlogoIcon: { type: String, default: \"\" },\n\t\tusernameLabel: { type: String, default: \"Username\" },\n\t\tusernameIcon: { type: String, default: \"ph-user\" },\n\t\tpasswordLabel: { type: String, default: \"Password\" },\n\t\tpasswordIcon: { type: String, default: \"ph-lock-key\" },\n\t\trememberMe: { type: Boolean, default: false },\n\t\trememberLabel: { type: String, default: \"Remember me\" },\n\t\tsubmitText: { type: String, default: \"Sign in\" },\n\t\tsubmitVariant: { type: String, default: \"secondary\" },\n\t\tloading: { type: Boolean, default: false },\n\t\terror: { type: String, default: \"\" },\n\t\tforgotHref: { type: String, default: \"#\" },\n\t\tforgotText: { type: String, default: \"Forgot password?\" },\n\t\tsignupHref: { type: String, default: \"#\" },\n\t\tsignupText: { type: String, default: \"Create account\" }\n\t},\n\temits: [\"submit\"],\n\tsetup(props, { emit }) {\n\t\tconst username = ref(\"\");\n\t\tconst password = ref(\"\");\n\t\tconst remember = ref(false);\n\n\t\tconst onSubmit = (event) => {\n\t\t\tevent.preventDefault();\n\t\t\temit(\"submit\", {\n\t\t\t\tusername: username.value,\n\t\t\t\tpassword: password.value,\n\t\t\t\tremember: remember.value\n\t\t\t});\n\t\t};\n\n\t\treturn () => h(\"article\", { class: \"card login-card\" }, [\n\t\t\t(props.title || props.logoSrc || props.logoIcon) && h(\"header\", { class: \"card-title login-card-header\" }, [\n\t\t\t\tprops.logoSrc && h(\"img\", { src: props.logoSrc, alt: \"\", class: \"login-card-logo\" }),\n\t\t\t\tprops.logoIcon && !props.logoSrc && iconNode(props.logoIcon, \"login-card-logo-icon\"),\n\t\t\t\tprops.title && h(\"span\", { class: \"login-card-title\" }, props.title)\n\t\t\t]),\n\t\t\th(\"div\", { class: \"card-content\" }, [\n\t\t\t\tprops.error && h(GnAlert, { variant: \"danger\", class: \"login-card-error\" }, () => props.error),\n\t\t\t\th(\"form\", { class: \"login-card-form\", onSubmit }, [\n\t\t\t\t\th(GnInput, {\n\t\t\t\t\t\tmodelValue: username.value,\n\t\t\t\t\t\t\"onUpdate:modelValue\": (v) => { username.value = v; },\n\t\t\t\t\t\tlabel: props.usernameLabel,\n\t\t\t\t\t\ticon: props.usernameIcon,\n\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\tautocomplete: \"username\"\n\t\t\t\t\t}),\n\t\t\t\t\th(GnInput, {\n\t\t\t\t\t\tmodelValue: password.value,\n\t\t\t\t\t\t\"onUpdate:modelValue\": (v) => { password.value = v; },\n\t\t\t\t\t\tlabel: props.passwordLabel,\n\t\t\t\t\t\ticon: props.passwordIcon,\n\t\t\t\t\t\ttype: \"password\",\n\t\t\t\t\t\tautocomplete: \"current-password\"\n\t\t\t\t\t}),\n\t\t\t\t\tprops.rememberMe && h(GnCheckbox, {\n\t\t\t\t\t\tmodelValue: remember.value,\n\t\t\t\t\t\t\"onUpdate:modelValue\": (v) => { remember.value = v; }\n\t\t\t\t\t}, () => props.rememberLabel),\n\t\t\t\t\th(GnButton, {\n\t\t\t\t\t\tvariant: props.submitVariant,\n\t\t\t\t\t\tloading: props.loading,\n\t\t\t\t\t\tdisabled: props.loading,\n\t\t\t\t\t\ttype: \"submit\",\n\t\t\t\t\t\ticon: \"ph-sign-in\",\n\t\t\t\t\t\tclass: \"login-card-submit\"\n\t\t\t\t\t}, () => props.submitText),\n\t\t\t\t\t(props.forgotHref || props.signupHref) && h(\"div\", { class: \"login-card-links\" }, [\n\t\t\t\t\t\tprops.forgotHref && h(\"a\", { href: props.forgotHref, class: \"login-card-link\" }, props.forgotText),\n\t\t\t\t\t\tprops.signupHref && h(\"a\", { href: props.signupHref, class: \"login-card-link\" }, props.signupText)\n\t\t\t\t\t])\n\t\t\t\t])\n\t\t\t])\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnMetricCard\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tlabel: { type: String, required: true },\n\t\tvalue: { type: [String, Number], required: true },\n\t\ticon: { type: String, default: \"ph-chart-line-up\" },\n\t\tdelta: { type: String, default: \"\" },\n\t\tnegative: { type: Boolean, default: false },\n\t\tmeta: { type: String, default: \"\" }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => h(\"article\", { ...attrs, class: cx(\"card metric-card\", attrs.class) }, [\n\t\t\th(\"div\", { class: \"card-content\" }, [\n\t\t\t\th(\"div\", { class: \"metric-card-header\" }, [\n\t\t\t\t\th(\"p\", { class: \"metric-card-label\" }, slots.label?.() || props.label),\n\t\t\t\t\th(\"span\", { class: \"metric-card-icon\" }, [iconNode(props.icon)])\n\t\t\t\t]),\n\t\t\t\th(\"p\", { class: \"metric-card-value\" }, slots.value?.() || props.value),\n\t\t\t\t(props.delta || props.meta || slots.meta) && h(\"div\", { class: \"metric-card-meta\" }, [\n\t\t\t\t\tprops.delta && h(\"span\", {\n\t\t\t\t\t\tclass: cx(\"metric-card-delta\", { \"metric-card-delta-negative\": props.negative })\n\t\t\t\t\t}, props.delta),\n\t\t\t\t\tslots.meta?.() || props.meta\n\t\t\t\t])\n\t\t\t])\n\t\t]);\n\t}\n});\n", "import { computed, defineComponent, h } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\nimport { tryUseRouter, tryUseRoute, isRouteActive } from \"../composables/useVueRouter.js\";\n\nexport default defineComponent({\n\tname: \"GnNavList\",\n\tinheritAttrs: false,\n\tprops: {\n\t\titems: { type: Array, default: () => [] },\n\t\tactiveMatch: { type: String, default: \"prefix\" }\n\t},\n\temits: [\"select\"],\n\tsetup(props, { attrs, emit, slots }) {\n\t\tconst router = tryUseRouter();\n\t\tconst route = tryUseRoute();\n\t\tconst hasRouter = Boolean(router && route);\n\n\t\tconst resolveHref = to => {\n\t\t\tif(!to) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\n\t\t\tif(typeof to === \"string\") {\n\t\t\t\treturn to;\n\t\t\t}\n\n\t\t\tif(to.path) {\n\t\t\t\treturn to.path;\n\t\t\t}\n\n\t\t\treturn undefined;\n\t\t};\n\n\t\tconst navItems = computed(() => props.items.map(item => {\n\t\t\tconst hasTo = Boolean(item.to);\n\t\t\tconst resolvedHref = hasTo\n\t\t\t\t? (hasRouter ? router.resolve(item.to).href : resolveHref(item.to))\n\t\t\t\t: item.href;\n\t\t\tconst isActive = hasTo && hasRouter\n\t\t\t\t? isRouteActive(route, item.to, props.activeMatch)\n\t\t\t\t: Boolean(item.active);\n\n\t\t\treturn {\n\t\t\t\t...item,\n\t\t\t\tresolvedHref,\n\t\t\t\tisActive,\n\t\t\t\thasTo\n\t\t\t};\n\t\t}));\n\n\t\treturn () => h(\"ul\", { ...attrs, class: cx(\"list list-nav\", attrs.class) }, navItems.value.map(item => h(\"li\", {\n\t\t\tclass: cx(\"list-item\", { \"list-item-active\": item.isActive })\n\t\t}, [\n\t\t\th(item.resolvedHref ? \"a\" : \"button\", {\n\t\t\t\tclass: \"list-action\",\n\t\t\t\thref: item.resolvedHref,\n\t\t\t\ttype: item.resolvedHref ? undefined : \"button\",\n\t\t\t\tonClick: event => {\n\t\t\t\t\tif(item.hasTo && hasRouter) {\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\trouter.push(item.to);\n\t\t\t\t\t}\n\n\t\t\t\t\titem.onSelect?.(item, event);\n\t\t\t\t\temit(\"select\", item);\n\t\t\t\t}\n\t\t\t}, [\n\t\t\t\th(\"span\", { class: \"list-label\" }, [\n\t\t\t\t\ticonNode(item.icon),\n\t\t\t\t\tslots.label?.({ item }) || item.label\n\t\t\t\t]),\n\t\t\t\t(item.meta || slots.meta) && h(\"span\", { class: \"list-meta\" }, slots.meta?.({ item }) || item.meta)\n\t\t\t])\n\t\t])));\n\t}\n});\n", "/**\n * Safe vue-router access without hard dependency.\n * Reads $router and $route from the component instance globalProperties.\n */\nimport { getCurrentInstance } from \"vue\";\n\nexport function tryUseRouter() {\n\tconst instance = getCurrentInstance();\n\treturn instance?.proxy?.$router || null;\n}\n\nexport function tryUseRoute() {\n\tconst instance = getCurrentInstance();\n\treturn instance?.proxy?.$route || null;\n}\n\n/**\n * Check whether a route target matches the current route.\n *\n * @param {import(\"vue\").Ref|Object} currentRoute\n * @param {string|Object} to\n * @param {string} strategy - 'exact' | 'prefix'\n * @returns {boolean}\n */\nexport function isRouteActive(currentRoute, to, strategy = \"prefix\") {\n\tif(!currentRoute) {\n\t\treturn false;\n\t}\n\n\tconst route = currentRoute.value || currentRoute;\n\n\tif(typeof to === \"string\") {\n\t\tif(strategy === \"exact\") {\n\t\t\treturn route.path === to;\n\t\t}\n\n\t\treturn route.path === to || route.path.startsWith(to + \"/\");\n\t}\n\n\tif(to.path) {\n\t\tif(strategy === \"exact\") {\n\t\t\treturn route.path === to.path;\n\t\t}\n\n\t\treturn route.path === to.path || route.path.startsWith(to.path + \"/\");\n\t}\n\n\tif(to.name) {\n\t\treturn route.name === to.name;\n\t}\n\n\treturn false;\n}\n", "import { defineComponent, h, nextTick, onBeforeUnmount, ref, watch } from \"vue\";\nimport { iconNode } from \"../utils.js\";\nimport GnNavList from \"./GnNavList.js\";\n\nlet shellId = 0;\n\nexport default defineComponent({\n\tname: \"GnNavigationShell\",\n\tprops: {\n\t\tbrand: { type: String, default: \"GNexus UI Kit\" },\n\t\tlogoSrc: { type: String, default: \"/assets/imgs/gnexus-mark.svg\" },\n\t\tcurrent: { type: String, default: \"\" },\n\t\ttitle: { type: String, default: \"Sections\" },\n\t\tsubtitle: { type: String, default: \"Navigation\" },\n\t\tfooterLeft: { type: String, default: \"\" },\n\t\tfooterRight: { type: String, default: \"\" },\n\t\titems: { type: Array, default: () => [] },\n\t\tactiveMatch: { type: String, default: \"prefix\" }\n\t},\n\temits: [\"select\"],\n\tsetup(props, { emit, slots }) {\n\t\tconst open = ref(false);\n\t\tconst drawerId = `gn-nav-drawer-${++shellId}`;\n\t\tconst drawerRef = ref(null);\n\t\tlet previousFocus = null;\n\t\tconst close = () => {\n\t\t\topen.value = false;\n\t\t};\n\t\tconst toggle = () => {\n\t\t\topen.value = !open.value;\n\t\t};\n\t\tconst onKeydown = event => {\n\t\t\tif(event.key === \"Escape\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tclose();\n\t\t\t}\n\t\t};\n\n\t\twatch(open, isOpen => {\n\t\t\tif(isOpen) {\n\t\t\t\tpreviousFocus = document.activeElement;\n\t\t\t\tdocument.body.classList.add(\"nav-drawer-open\");\n\t\t\t\tdocument.addEventListener(\"keydown\", onKeydown);\n\t\t\t\tnextTick(() => drawerRef.value?.focus());\n\t\t\t} else {\n\t\t\t\tdocument.body.classList.remove(\"nav-drawer-open\");\n\t\t\t\tdocument.removeEventListener(\"keydown\", onKeydown);\n\t\t\t\tpreviousFocus?.focus?.();\n\t\t\t\tpreviousFocus = null;\n\t\t\t}\n\t\t});\n\n\t\tonBeforeUnmount(() => {\n\t\t\tdocument.body.classList.remove(\"nav-drawer-open\");\n\t\t\tdocument.removeEventListener(\"keydown\", onKeydown);\n\t\t});\n\n\t\treturn () => [\n\t\t\th(\"header\", { class: \"nav-topbar\" }, [\n\t\t\t\th(\"button\", {\n\t\t\t\t\tclass: \"nav-topbar-toggle\",\n\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\"aria-controls\": drawerId,\n\t\t\t\t\t\"aria-expanded\": open.value ? \"true\" : \"false\",\n\t\t\t\t\tonClick: toggle\n\t\t\t\t}, [\n\t\t\t\t\ticonNode(\"ph-sidebar-simple\"),\n\t\t\t\t\th(\"span\", {}, \"Menu\")\n\t\t\t\t]),\n\t\t\t\th(\"div\", { class: \"nav-topbar-brand\" }, [\n\t\t\t\t\tprops.logoSrc && h(\"img\", { src: props.logoSrc, alt: \"\", \"aria-hidden\": \"true\" }),\n\t\t\t\t\th(\"span\", {}, slots.brand?.() || props.brand)\n\t\t\t\t]),\n\t\t\t\th(\"div\", { class: \"nav-topbar-current\" }, slots.current?.() || props.current)\n\t\t\t]),\n\t\t\th(\"div\", { class: \"nav-drawer-backdrop\", onClick: close }),\n\t\t\th(\"aside\", {\n\t\t\t\tref: drawerRef,\n\t\t\t\tclass: [\"nav-drawer\", { \"is-open\": open.value }],\n\t\t\t\tid: drawerId,\n\t\t\t\t\"aria-label\": \"Navigation\",\n\t\t\t\t\"aria-hidden\": open.value ? \"false\" : \"true\",\n\t\t\t\ttabindex: \"-1\"\n\t\t\t}, [\n\t\t\t\th(\"header\", { class: \"nav-drawer-header\" }, [\n\t\t\t\t\th(\"div\", {}, [\n\t\t\t\t\t\th(\"div\", { class: \"nav-drawer-title\" }, slots.title?.() || props.title),\n\t\t\t\t\t\th(\"div\", { class: \"nav-drawer-subtitle\" }, slots.subtitle?.() || props.subtitle)\n\t\t\t\t\t]),\n\t\t\t\t\th(\"button\", {\n\t\t\t\t\t\tclass: \"nav-drawer-close\",\n\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\t\"aria-label\": \"Close navigation\",\n\t\t\t\t\t\tonClick: close\n\t\t\t\t\t}, [iconNode(\"ph-x\")])\n\t\t\t\t]),\n\t\t\t\th(\"nav\", { class: \"nav-drawer-body\" }, [\n\t\t\t\t\tslots.default?.({ close }) || h(GnNavList, {\n\t\t\t\t\t\titems: props.items,\n\t\t\t\t\t\tactiveMatch: props.activeMatch,\n\t\t\t\t\t\tonSelect: item => {\n\t\t\t\t\t\t\temit(\"select\", item);\n\t\t\t\t\t\t\tclose();\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t]),\n\t\t\t\t(slots.footer || props.footerLeft || props.footerRight) && h(\"footer\", { class: \"nav-drawer-footer\" },\n\t\t\t\t\tslots.footer?.() || [\n\t\t\t\t\t\th(\"span\", {}, props.footerLeft),\n\t\t\t\t\t\th(\"span\", {}, props.footerRight)\n\t\t\t\t\t]\n\t\t\t\t)\n\t\t\t]),\n\t\t\tslots.content?.()\n\t\t];\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnPageHeader\",\n\tinheritAttrs: false,\n\tprops: {\n\t\ttitle: { type: String, required: true },\n\t\tsubtitle: { type: String, default: \"\" },\n\t\tkicker: { type: String, default: \"\" },\n\t\tcompact: { type: Boolean, default: false },\n\t\taccent: { type: Boolean, default: false }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => h(\"header\", {\n\t\t\t...attrs,\n\t\t\tclass: cx(\"page-header\", {\n\t\t\t\t\"page-header-compact\": props.compact,\n\t\t\t\t\"page-header-accent\": props.accent\n\t\t\t}, attrs.class)\n\t\t}, [\n\t\t\th(\"div\", { class: \"page-header-content\" }, [\n\t\t\t\t(props.kicker || slots.kicker) && h(\"div\", { class: \"page-header-kicker\" }, slots.kicker?.() || props.kicker),\n\t\t\t\th(\"h1\", { class: \"page-header-title\" }, slots.title?.() || props.title),\n\t\t\t\t(props.subtitle || slots.subtitle) && h(\"p\", { class: \"page-header-subtitle\" }, slots.subtitle?.() || props.subtitle),\n\t\t\t\tslots.meta && h(\"div\", { class: \"page-header-meta\" }, slots.meta())\n\t\t\t]),\n\t\t\tslots.actions && h(\"div\", { class: \"page-header-actions\" }, slots.actions())\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnHorizontalCard\",\n\tinheritAttrs: false,\n\tprops: {\n\t\timage: { type: String, default: \"\" },\n\t\ttitle: { type: String, default: \"\" },\n\t\ttitleHref: { type: String, default: \"\" },\n\t\ticon: { type: String, default: \"\" }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\tconst titleNode = () => {\n\t\t\tconst content = [iconNode(props.icon), slots.title?.() || props.title];\n\n\t\t\tif(props.titleHref) {\n\t\t\t\treturn h(\"a\", { href: props.titleHref, class: \"card-title-link\" }, content);\n\t\t\t}\n\n\t\t\treturn content;\n\t\t};\n\n\t\treturn () => h(\"article\", {\n\t\t\t...attrs,\n\t\t\tclass: cx(\"card card-horizontal\", attrs.class)\n\t\t}, [\n\t\t\tprops.image && h(\"div\", { class: \"card-media\" }, [\n\t\t\t\th(\"img\", { src: props.image, alt: \"\" })\n\t\t\t]),\n\t\t\th(\"div\", { class: \"card-body\" }, [\n\t\t\t\t(props.title || props.icon || slots.title) && h(\"h3\", { class: \"card-title\" }, titleNode()),\n\t\t\t\th(\"div\", { class: \"card-content\" }, slots.default?.()),\n\t\t\t\tslots.footer && h(\"footer\", { class: \"card-footer\" }, slots.footer())\n\t\t\t])\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnPagination\",\n\tprops: {\n\t\tpage: { type: Number, required: true },\n\t\ttotalPages: { type: Number, required: true },\n\t\tariaLabel: { type: String, default: \"Pagination\" }\n\t},\n\temits: [\"update:page\"],\n\tsetup(props, { emit }) {\n\t\tconst setPage = page => {\n\t\t\tif(page >= 1 && page <= props.totalPages && page !== props.page) {\n\t\t\t\temit(\"update:page\", page);\n\t\t\t}\n\t\t};\n\n\t\treturn () => {\n\t\t\tconst pages = Array.from({ length: props.totalPages }, (_, index) => index + 1);\n\n\t\t\treturn h(\"nav\", { class: \"pagination\", \"aria-label\": props.ariaLabel }, [\n\t\t\t\th(\"button\", {\n\t\t\t\t\tclass: \"pagination-item\",\n\t\t\t\t\ttype: \"button\",\n\t\t\t\t\tdisabled: props.page <= 1,\n\t\t\t\t\tonClick: () => setPage(props.page - 1)\n\t\t\t\t}, [iconNode(\"ph-arrow-left\")]),\n\t\t\t\tpages.map(page => h(\"button\", {\n\t\t\t\t\tclass: cx(\"pagination-item\", { \"pagination-item-active\": page === props.page }),\n\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\"aria-current\": page === props.page ? \"page\" : undefined,\n\t\t\t\t\tonClick: () => setPage(page)\n\t\t\t\t}, page)),\n\t\t\t\th(\"button\", {\n\t\t\t\t\tclass: \"pagination-item\",\n\t\t\t\t\ttype: \"button\",\n\t\t\t\t\tdisabled: props.page >= props.totalPages,\n\t\t\t\t\tonClick: () => setPage(props.page + 1)\n\t\t\t\t}, [iconNode(\"ph-arrow-right\")])\n\t\t\t]);\n\t\t};\n\t}\n});\n", "import { defineComponent, h, onBeforeUnmount, ref } from \"vue\";\nimport { cx } from \"../utils.js\";\nimport GnButton from \"./GnButton.js\";\n\nexport default defineComponent({\n\tname: \"GnPopover\",\n\tprops: {\n\t\tlabel: { type: String, default: \"Details\" },\n\t\ttitle: { type: String, default: \"\" },\n\t\ttext: { type: String, default: \"\" },\n\t\ticon: { type: String, default: \"ph-info\" },\n\t\tvariant: { type: String, default: \"accent\" }\n\t},\n\tsetup(props, { slots }) {\n\t\tconst open = ref(false);\n\t\tconst root = ref(null);\n\t\tconst close = () => {\n\t\t\topen.value = false;\n\t\t\tdocument.removeEventListener(\"click\", onOutsideClick);\n\t\t\tdocument.removeEventListener(\"keydown\", onKeydown);\n\t\t};\n\t\tconst onOutsideClick = event => {\n\t\t\tif(root.value && !root.value.contains(event.target)) {\n\t\t\t\tclose();\n\t\t\t}\n\t\t};\n\t\tconst onKeydown = event => {\n\t\t\tif(event.key === \"Escape\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tclose();\n\t\t\t}\n\t\t};\n\t\tconst toggle = () => {\n\t\t\topen.value = !open.value;\n\n\t\t\tif(open.value) {\n\t\t\t\tsetTimeout(() => document.addEventListener(\"click\", onOutsideClick), 0);\n\t\t\t\tdocument.addEventListener(\"keydown\", onKeydown);\n\t\t\t} else {\n\t\t\t\tclose();\n\t\t\t}\n\t\t};\n\n\t\tonBeforeUnmount(close);\n\n\t\treturn () => h(\"div\", { ref: root, class: cx(\"popover\", { \"is-open\": open.value }) }, [\n\t\t\tslots.trigger?.({ open: open.value, toggle }) || h(GnButton, {\n\t\t\t\tvariant: props.variant,\n\t\t\t\ticon: props.icon,\n\t\t\t\t\"aria-expanded\": open.value ? \"true\" : \"false\",\n\t\t\t\tonClick: toggle\n\t\t\t}, () => props.label),\n\t\t\th(\"div\", { class: \"popover-panel\" }, [\n\t\t\t\t(props.title || slots.title) && h(\"h3\", { class: \"popover-title\" }, slots.title?.() || props.title),\n\t\t\t\t(props.text || slots.default) && h(\"p\", { class: \"popover-text\" }, slots.default?.() || props.text)\n\t\t\t])\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, normalizeVariant } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnProgress\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tvalue: { type: Number, required: true },\n\t\tmax: { type: Number, default: 100 },\n\t\tlabel: { type: String, default: \"\" },\n\t\tvariant: { type: String, default: \"secondary\" },\n\t\tstriped: { type: Boolean, default: false },\n\t\tanimated: { type: Boolean, default: false }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => {\n\t\t\tconst percent = Math.max(0, Math.min(100, Math.round((props.value / props.max) * 100)));\n\t\t\tconst variant = normalizeVariant(props.variant, \"secondary\");\n\n\t\t\treturn h(\"div\", {\n\t\t\t\t...attrs,\n\t\t\t\tclass: cx(\"progress\", `progress-${variant}`, {\n\t\t\t\t\t\"progress-striped\": props.striped,\n\t\t\t\t\t\"progress-animated\": props.animated\n\t\t\t\t}, attrs.class),\n\t\t\t\tstyle: { \"--progress-value\": `${percent}%` }\n\t\t\t}, [\n\t\t\t\t(props.label || slots.label) && h(\"div\", { class: \"progress-header\" }, [\n\t\t\t\t\th(\"span\", {}, slots.label?.() || props.label),\n\t\t\t\t\th(\"span\", { class: \"progress-value\" }, `${percent}%`)\n\t\t\t\t]),\n\t\t\t\th(\"div\", { class: \"progress-track\" }, [\n\t\t\t\t\th(\"span\", {\n\t\t\t\t\t\tclass: \"progress-bar\",\n\t\t\t\t\t\trole: \"progressbar\",\n\t\t\t\t\t\t\"aria-valuenow\": props.value,\n\t\t\t\t\t\t\"aria-valuemin\": 0,\n\t\t\t\t\t\t\"aria-valuemax\": props.max\n\t\t\t\t\t})\n\t\t\t\t])\n\t\t\t]);\n\t\t};\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnProgressStages\",\n\tinheritAttrs: false,\n\tprops: {\n\t\titems: { type: Array, default: () => [] }\n\t},\n\tsetup(props, { attrs }) {\n\t\treturn () => h(\"div\", { ...attrs, class: cx(\"progress-stages\", attrs.class) }, props.items.map(item => h(\"div\", {\n\t\t\tclass: cx(\"progress-stage\", {\n\t\t\t\t\"progress-stage-complete\": item.status === \"complete\",\n\t\t\t\t\"progress-stage-current\": item.status === \"current\"\n\t\t\t})\n\t\t}, item.label || item)));\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnRadio\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tmodelValue: { type: [String, Number, Boolean], default: \"\" },\n\t\tvalue: { type: [String, Number, Boolean], required: true },\n\t\tlabel: { type: String, default: \"\" },\n\t\tname: { type: String, default: \"\" },\n\t\tdisabled: { type: Boolean, default: false }\n\t},\n\temits: [\"update:modelValue\"],\n\tsetup(props, { attrs, emit, slots }) {\n\t\treturn () => h(\"label\", { class: cx(\"radio\", attrs.class) }, [\n\t\t\th(\"input\", {\n\t\t\t\t...attrs,\n\t\t\t\ttype: \"radio\",\n\t\t\t\tname: props.name,\n\t\t\t\tvalue: props.value,\n\t\t\t\tchecked: props.modelValue === props.value,\n\t\t\t\tdisabled: props.disabled,\n\t\t\t\tonChange: () => emit(\"update:modelValue\", props.value)\n\t\t\t}),\n\t\t\th(\"span\", { class: \"radio-control\", \"aria-hidden\": \"true\" }),\n\t\t\th(\"span\", { class: \"radio-label\" }, slots.default?.() || props.label)\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport GnRadio from \"./GnRadio.js\";\n\nexport default defineComponent({\n\tname: \"GnRadioGroup\",\n\tprops: {\n\t\tmodelValue: { type: [String, Number, Boolean], default: \"\" },\n\t\tname: { type: String, default: \"gn-radio-group\" },\n\t\tlabel: { type: String, default: \"\" },\n\t\toptions: { type: Array, default: () => [] }\n\t},\n\temits: [\"update:modelValue\"],\n\tsetup(props, { emit, slots }) {\n\t\treturn () => h(\"div\", { class: \"form-group radio-group\", role: \"radiogroup\", \"aria-label\": props.label || undefined }, [\n\t\t\tprops.label && h(\"div\", { class: \"label\" }, props.label),\n\t\t\tslots.default?.() || props.options.map(option => h(GnRadio, {\n\t\t\t\tmodelValue: props.modelValue,\n\t\t\t\t\"onUpdate:modelValue\": value => emit(\"update:modelValue\", value),\n\t\t\t\tname: props.name,\n\t\t\t\tvalue: option.value,\n\t\t\t\tlabel: option.label,\n\t\t\t\tdisabled: option.disabled\n\t\t\t}))\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { eventValue } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnRange\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tmodelValue: { type: [Number, String], default: 0 },\n\t\tlabel: { type: String, default: \"\" },\n\t\tmin: { type: [Number, String], default: 0 },\n\t\tmax: { type: [Number, String], default: 100 },\n\t\tstep: { type: [Number, String], default: 1 }\n\t},\n\temits: [\"update:modelValue\"],\n\tsetup(props, { attrs, emit }) {\n\t\treturn () => h(\"div\", { class: \"range\" }, [\n\t\t\th(\"label\", { class: \"label\" }, [\n\t\t\t\tprops.label,\n\t\t\t\th(\"input\", {\n\t\t\t\t\t...attrs,\n\t\t\t\t\ttype: \"range\",\n\t\t\t\t\tvalue: props.modelValue,\n\t\t\t\t\tmin: props.min,\n\t\t\t\t\tmax: props.max,\n\t\t\t\t\tstep: props.step,\n\t\t\t\t\tonInput: event => emit(\"update:modelValue\", eventValue(event))\n\t\t\t\t})\n\t\t\t])\n\t\t]);\n\t}\n});\n", "import { defineComponent, h, computed } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\n\nlet _id = 0;\nfunction nextId() {\n\treturn `repeater-item-${++_id}`;\n}\n\nexport default defineComponent({\n\tname: \"GnRepeater\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tmodelValue: { type: Array, default: () => [] },\n\t\tlabel: { type: String, default: \"Items\" },\n\t\taddLabel: { type: String, default: \"Add\" },\n\t\taddIcon: { type: String, default: \"ph-plus\" },\n\t\tremoveLabel: { type: String, default: \"Remove\" },\n\t\tremoveIcon: { type: String, default: \"ph-trash\" },\n\t\tminItems: { type: Number, default: 1 },\n\t\tmaxItems: { type: Number, default: 0 },\n\t\titemFactory: {\n\t\t\ttype: Function,\n\t\t\tdefault: () => () => ({ id: nextId() })\n\t\t},\n\t\tdisabled: { type: Boolean, default: false }\n\t},\n\temits: [\"update:modelValue\", \"add\", \"remove\"],\n\tsetup(props, { attrs, emit, slots }) {\n\t\tconst canAdd = computed(() => {\n\t\t\tif(props.disabled) return false;\n\t\t\tif(props.maxItems > 0 && props.modelValue.length >= props.maxItems) return false;\n\t\t\treturn true;\n\t\t});\n\n\t\tfunction canRemove(index) {\n\t\t\tif(props.disabled) return false;\n\t\t\tif(props.modelValue.length <= props.minItems) return false;\n\t\t\treturn true;\n\t\t}\n\n\t\tfunction add() {\n\t\t\tif(!canAdd.value) return;\n\t\t\tconst item = props.itemFactory();\n\t\t\tconst next = [...props.modelValue, item];\n\t\t\temit(\"update:modelValue\", next);\n\t\t\temit(\"add\", item);\n\t\t}\n\n\t\tfunction remove(index) {\n\t\t\tif(!canRemove(index)) return;\n\t\t\tconst removed = props.modelValue[index];\n\t\t\tconst next = props.modelValue.filter((_, i) => i !== index);\n\t\t\temit(\"update:modelValue\", next);\n\t\t\temit(\"remove\", removed);\n\t\t}\n\n\t\treturn () => {\n\t\t\tconst headerSlot = slots.header?.({ add, canAdd: canAdd.value });\n\t\t\tconst header = headerSlot || h(\"div\", { class: \"repeater-header\" }, [\n\t\t\t\th(\"span\", { class: \"repeater-title\" }, props.label),\n\t\t\t\th(\"button\", {\n\t\t\t\t\ttype: \"button\",\n\t\t\t\t\tclass: cx(\"btn\", \"btn-secondary\", \"btn-small\", \"with-icon\"),\n\t\t\t\t\tdisabled: !canAdd.value,\n\t\t\t\t\tonClick: add\n\t\t\t\t}, [\n\t\t\t\t\ticonNode(props.addIcon),\n\t\t\t\t\tprops.addLabel\n\t\t\t\t])\n\t\t\t]);\n\n\t\t\tconst items = props.modelValue.map((item, index) => {\n\t\t\t\tconst itemKey = item?.id ?? item?.key ?? index;\n\t\t\t\tconst removable = canRemove(index);\n\t\t\t\tconst scope = { item, index, remove: () => remove(index), canRemove: removable };\n\n\t\t\t\tconst body = slots.item?.(scope);\n\t\t\t\tconst actions = slots.actions?.(scope);\n\n\t\t\t\tconst defaultActions = !slots.actions && h(\"button\", {\n\t\t\t\t\ttype: \"button\",\n\t\t\t\t\tclass: cx(\"btn-icon\", \"btn-icon-sm\"),\n\t\t\t\t\t\"aria-label\": props.removeLabel,\n\t\t\t\t\tdisabled: !removable,\n\t\t\t\t\tonClick: (e) => {\n\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\tremove(index);\n\t\t\t\t\t}\n\t\t\t\t}, [iconNode(props.removeIcon)]);\n\n\t\t\t\treturn h(\"div\", {\n\t\t\t\t\tclass: \"repeater-item\",\n\t\t\t\t\tkey: itemKey\n\t\t\t\t}, [\n\t\t\t\t\th(\"div\", { class: \"repeater-item-body\" }, body),\n\t\t\t\t\t(actions || defaultActions) && h(\"div\", { class: \"repeater-item-actions\" }, actions || [defaultActions])\n\t\t\t\t]);\n\t\t\t});\n\n\t\t\treturn h(\"div\", {\n\t\t\t\t...attrs,\n\t\t\t\tclass: cx(\"repeater\", { \"repeater-disabled\": props.disabled }, attrs.class)\n\t\t\t}, [\n\t\t\t\theader,\n\t\t\t\th(\"div\", { class: \"repeater-list\" }, items)\n\t\t\t]);\n\t\t};\n\t}\n});\n", "/**\n * GnRouterTabs \u2014 Router-aware tab switcher.\n *\n * Wraps GnTabs and drives active state from the current vue-router route.\n * When a tab is activated, the component calls router.push(item.to)\n * instead of emitting update:modelValue.\n *\n * @typedef {Object} GnRouterTabsItem\n * @property {string} id - Slot name and tab identifier\n * @property {string|Object} to - Route target (string path or { name, params, query })\n * @property {string} label - Tab label text\n * @property {string} [icon] - Phosphor icon name with ph- prefix\n * @property {boolean} [disabled] - Disabled state\n *\n * @typedef {Object} GnRouterTabsProps\n * @property {Array} items - Array of GnRouterTabsItem\n * @property {boolean} [compact=false] - Compact size\n * @property {boolean} [vertical=false] - Vertical layout\n * @property {string} [ariaLabel='Tabs'] - ARIA label\n * @property {string} [activeMatch='prefix'] - 'exact' | 'prefix' \u2014 how to match current route against item.to\n *\n * @slots [item.id] - One slot per item id\n */\nimport { computed, defineComponent, h, watch } from \"vue\";\nimport { tryUseRouter, tryUseRoute, isRouteActive } from \"../composables/useVueRouter.js\";\nimport GnTabs from \"./GnTabs.js\";\n\nexport default defineComponent({\n\tname: \"GnRouterTabs\",\n\tprops: {\n\t\titems: { type: Array, required: true },\n\t\tcompact: { type: Boolean, default: false },\n\t\tvertical: { type: Boolean, default: false },\n\t\tariaLabel: { type: String, default: \"Tabs\" },\n\t\tactiveMatch: { type: String, default: \"prefix\" }\n\t},\n\tsetup(props, { slots }) {\n\t\tconst router = tryUseRouter();\n\t\tconst route = tryUseRoute();\n\n\t\tconst hasRouter = Boolean(router && route);\n\n\t\tif(!hasRouter && typeof process !== \"undefined\" && process.env && process.env.NODE_ENV !== \"production\") {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.warn(\"[gnexus-ui-kit] GnRouterTabs requires vue-router. Falling back to standard tabs.\");\n\t\t}\n\n\t\tconst tabItems = computed(() => props.items.map(item => ({\n\t\t\tid: item.id,\n\t\t\tlabel: item.label,\n\t\t\ticon: item.icon,\n\t\t\tdisabled: item.disabled,\n\t\t\tto: item.to\n\t\t})));\n\n\t\tconst activeId = computed(() => {\n\t\t\tif(!hasRouter) {\n\t\t\t\treturn tabItems.value.find(item => !item.disabled)?.id || \"\";\n\t\t\t}\n\n\t\t\tconst matched = tabItems.value.find(item => {\n\t\t\t\tif(item.disabled || !item.to) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\treturn isRouteActive(route, item.to, props.activeMatch);\n\t\t\t});\n\n\t\t\treturn matched?.id || tabItems.value.find(item => !item.disabled)?.id || \"\";\n\t\t});\n\n\t\tconst onUpdate = id => {\n\t\t\tif(!hasRouter) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst item = tabItems.value.find(i => i.id === id);\n\n\t\t\tif(item && item.to) {\n\t\t\t\trouter.push(item.to);\n\t\t\t}\n\t\t};\n\n\t\treturn () => h(GnTabs, {\n\t\t\tmodelValue: activeId.value,\n\t\t\titems: tabItems.value,\n\t\t\tcompact: props.compact,\n\t\t\tvertical: props.vertical,\n\t\t\tariaLabel: props.ariaLabel,\n\t\t\t\"onUpdate:modelValue\": onUpdate\n\t\t}, slots);\n\t}\n});\n", "/**\n * GnTabs - Accessible tab switcher with keyboard navigation.\n *\n * @typedef {Object} GnTabsProps\n * @property {string} [modelValue=''] - Active tab id\n * @property {Array} items - Array of { id, label, icon?, disabled? }\n * @property {boolean} [compact=false] - Compact size\n * @property {boolean} [vertical=false] - Vertical layout\n * @property {string} [ariaLabel='Tabs'] - ARIA label for the tablist\n *\n * @slots [item.id] - One slot per item id: \n * @emits update:modelValue\n */\nimport { computed, defineComponent, h } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnTabs\",\n\tprops: {\n\t\tmodelValue: { type: String, default: \"\" },\n\t\titems: { type: Array, required: true },\n\t\tcompact: { type: Boolean, default: false },\n\t\tvertical: { type: Boolean, default: false },\n\t\tariaLabel: { type: String, default: \"Tabs\" }\n\t},\n\temits: [\"update:modelValue\"],\n\tsetup(props, { emit, slots }) {\n\t\tconst activeId = computed(() => props.modelValue || props.items.find(item => !item.disabled)?.id || props.items[0]?.id);\n\n\t\tconst activate = item => {\n\t\t\tif(!item.disabled) {\n\t\t\t\temit(\"update:modelValue\", item.id);\n\t\t\t}\n\t\t};\n\t\tconst enabledItems = () => props.items.filter(item => !item.disabled);\n\t\tconst move = (item, direction) => {\n\t\t\tconst items = enabledItems();\n\t\t\tconst index = items.findIndex(enabled => enabled.id === item.id);\n\t\t\tconst next = items[(index + direction + items.length) % items.length];\n\t\t\tactivate(next);\n\t\t};\n\t\tconst handleKeydown = (event, item) => {\n\t\t\tif(event.key === \"ArrowRight\" || event.key === \"ArrowDown\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tmove(item, 1);\n\t\t\t} else if(event.key === \"ArrowLeft\" || event.key === \"ArrowUp\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tmove(item, -1);\n\t\t\t} else if(event.key === \"Home\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tactivate(enabledItems()[0]);\n\t\t\t} else if(event.key === \"End\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tconst items = enabledItems();\n\t\t\t\tactivate(items[items.length - 1]);\n\t\t\t}\n\t\t};\n\n\t\treturn () => h(\"div\", {\n\t\t\tclass: cx(\"tabs\", {\n\t\t\t\t\"tabs-compact\": props.compact,\n\t\t\t\t\"tabs-vertical\": props.vertical\n\t\t\t})\n\t\t}, [\n\t\t\th(\"div\", { class: \"tabs-list\", role: \"tablist\", \"aria-label\": props.ariaLabel }, props.items.map(item => {\n\t\t\t\tconst active = item.id === activeId.value;\n\t\t\t\tconst panelId = `${item.id}-panel`;\n\n\t\t\t\treturn h(\"button\", {\n\t\t\t\t\tclass: cx(\"tab\", { \"tab-active\": active }),\n\t\t\t\t\ttype: \"button\",\n\t\t\t\t\trole: \"tab\",\n\t\t\t\t\t\"aria-selected\": active ? \"true\" : \"false\",\n\t\t\t\t\t\"aria-controls\": panelId,\n\t\t\t\t\t\"aria-disabled\": item.disabled ? \"true\" : undefined,\n\t\t\t\t\ttabindex: active ? \"0\" : \"-1\",\n\t\t\t\t\tonClick: () => activate(item),\n\t\t\t\t\tonKeydown: event => handleKeydown(event, item)\n\t\t\t\t}, [\n\t\t\t\t\ticonNode(item.icon),\n\t\t\t\t\titem.label\n\t\t\t\t]);\n\t\t\t})),\n\t\t\th(\"div\", { class: \"tabs-panels\" }, props.items.map(item => {\n\t\t\t\tconst active = item.id === activeId.value;\n\n\t\t\t\treturn h(\"div\", {\n\t\t\t\t\tid: `${item.id}-panel`,\n\t\t\t\t\tclass: cx(\"tab-panel\", { \"tab-panel-active\": active }),\n\t\t\t\t\trole: \"tabpanel\",\n\t\t\t\t\thidden: !active\n\t\t\t\t}, slots[item.id]?.({ item, active }) || (active && slots.default?.({ item, active })));\n\t\t\t}))\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, eventValue, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnSearchField\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tmodelValue: { type: String, default: \"\" },\n\t\tplaceholder: { type: String, default: \"Search\" },\n\t\tcompact: { type: Boolean, default: true },\n\t\tclearable: { type: Boolean, default: true }\n\t},\n\temits: [\"update:modelValue\", \"clear\"],\n\tsetup(props, { attrs, emit }) {\n\t\tconst clear = () => {\n\t\t\temit(\"update:modelValue\", \"\");\n\t\t\temit(\"clear\");\n\t\t};\n\n\t\treturn () => h(\"div\", {\n\t\t\tclass: cx(\"input-group search-field\", { \"input-group-compact\": props.compact })\n\t\t}, [\n\t\t\th(\"span\", { class: \"input-group-addon\" }, [iconNode(\"ph-magnifying-glass\")]),\n\t\t\th(\"input\", {\n\t\t\t\t...attrs,\n\t\t\t\ttype: \"search\",\n\t\t\t\tvalue: props.modelValue,\n\t\t\t\tplaceholder: props.placeholder,\n\t\t\t\tclass: cx(\"input-group-input\", attrs.class),\n\t\t\t\tonInput: event => emit(\"update:modelValue\", eventValue(event))\n\t\t\t}),\n\t\t\tprops.clearable && h(\"button\", {\n\t\t\t\tclass: \"input-group-action\",\n\t\t\t\ttype: \"button\",\n\t\t\t\t\"aria-label\": \"Clear search\",\n\t\t\t\tonClick: clear\n\t\t\t}, [iconNode(\"ph-x\")])\n\t\t]);\n\t}\n});\n", "/**\n * GnSelect - Dropdown select with label, icon, state, and help text.\n *\n * @typedef {Object} GnSelectProps\n * @property {string|number} [modelValue=''] - Bound value\n * @property {string} [label=''] - Label text\n * @property {string} [icon=''] - Phosphor icon name with ph- prefix\n * @property {string} [state=''] - error | warning | success\n * @property {string} [help=''] - Help or validation message\n * @property {Array} [options=[]] - Array of strings or { value, label } objects\n *\n * @slots default - Override option nodes\n * @emits update:modelValue\n */\nimport { defineComponent, h } from \"vue\";\nimport { cx, eventValue, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnSelect\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tmodelValue: { type: [String, Number], default: \"\" },\n\t\tlabel: { type: String, default: \"\" },\n\t\ticon: { type: String, default: \"\" },\n\t\tstate: { type: String, default: \"\" },\n\t\thelp: { type: String, default: \"\" },\n\t\toptions: { type: Array, default: () => [] }\n\t},\n\temits: [\"update:modelValue\"],\n\tsetup(props, { attrs, emit, slots }) {\n\t\tconst optionNodes = () => props.options.map(option => {\n\t\t\tconst value = typeof option === \"object\" ? option.value : option;\n\t\t\tconst label = typeof option === \"object\" ? option.label : option;\n\n\t\t\treturn h(\"option\", { value }, label);\n\t\t});\n\n\t\treturn () => h(\"div\", { class: \"form-group\" }, [\n\t\t\th(\"label\", { class: cx(\"label\", props.state) }, [\n\t\t\t\tprops.label,\n\t\t\t\ticonNode(props.icon),\n\t\t\t\th(\"div\", { class: \"select-wrap\" }, [\n\t\t\t\t\th(\"select\", {\n\t\t\t\t\t\t...attrs,\n\t\t\t\t\t\tvalue: props.modelValue,\n\t\t\t\t\t\tclass: cx(\"input select\", attrs.class),\n\t\t\t\t\t\tonChange: event => emit(\"update:modelValue\", eventValue(event))\n\t\t\t\t\t}, slots.default?.() || optionNodes())\n\t\t\t\t])\n\t\t\t]),\n\t\t\tprops.help && h(\"div\", { class: cx(\"input-info\", props.state === \"error\" && \"error\") }, props.help)\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnSkeleton\",\n\tinheritAttrs: false,\n\tprops: {\n\t\ttype: { type: String, default: \"line\" },\n\t\tstack: { type: Boolean, default: false },\n\t\tcount: { type: Number, default: 1 }\n\t},\n\tsetup(props, { attrs }) {\n\t\tconst skeleton = key => h(\"span\", {\n\t\t\tkey,\n\t\t\t...attrs,\n\t\t\tclass: cx(\"skeleton\", `skeleton-${props.type}`, attrs.class)\n\t\t});\n\n\t\treturn () => props.stack\n\t\t\t? h(\"div\", { class: \"skeleton-stack\" }, Array.from({ length: props.count }, (_, index) => skeleton(index)))\n\t\t\t: skeleton(0);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnSteps\",\n\tinheritAttrs: false,\n\tprops: {\n\t\titems: { type: Array, required: true },\n\t\tvertical: { type: Boolean, default: false }\n\t},\n\tsetup(props, { attrs }) {\n\t\treturn () => h(\"ol\", {\n\t\t\t...attrs,\n\t\t\tclass: cx(\"steps\", { \"steps-vertical\": props.vertical }, attrs.class)\n\t\t}, props.items.map((item, index) => h(\"li\", {\n\t\t\tclass: cx(\"step\", {\n\t\t\t\t\"step-complete\": item.status === \"complete\",\n\t\t\t\t\"step-current\": item.status === \"current\",\n\t\t\t\t\"step-disabled\": item.disabled || item.status === \"disabled\"\n\t\t\t})\n\t\t}, [\n\t\t\th(\"span\", { class: \"step-marker\" }, item.marker || String(index + 1)),\n\t\t\th(\"h3\", { class: \"step-title\" }, item.title),\n\t\t\titem.text && h(\"p\", { class: \"step-text\" }, item.text)\n\t\t])));\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, iconNode, normalizeVariant } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnStatusCard\",\n\tinheritAttrs: false,\n\tprops: {\n\t\ttitle: { type: String, required: true },\n\t\ttext: { type: String, default: \"\" },\n\t\ticon: { type: String, default: \"ph-stack\" },\n\t\tvariant: { type: String, default: \"primary\" }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\tconst variant = normalizeVariant(props.variant);\n\n\t\treturn () => h(\"article\", { ...attrs, class: cx(\"card status-card\", `card-${variant}`, attrs.class) }, [\n\t\t\th(\"span\", { class: \"card-title\" }, slots.title?.() || props.title),\n\t\t\th(\"div\", { class: \"card-content\" }, [\n\t\t\t\th(\"div\", { class: \"status-icon-container\" }, [\n\t\t\t\t\th(\"div\", { class: \"status-icon\" }, slots.icon?.() || [iconNode(props.icon)])\n\t\t\t\t]),\n\t\t\t\t(props.text || slots.default) && h(\"p\", { class: \"status-name\" }, slots.default?.() || props.text)\n\t\t\t])\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnSwitch\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tmodelValue: { type: Boolean, default: false },\n\t\tlabel: { type: String, default: \"\" },\n\t\tdisabled: { type: Boolean, default: false }\n\t},\n\temits: [\"update:modelValue\"],\n\tsetup(props, { attrs, emit, slots }) {\n\t\treturn () => h(\"label\", { class: cx(\"switch\", attrs.class) }, [\n\t\t\th(\"input\", {\n\t\t\t\t...attrs,\n\t\t\t\ttype: \"checkbox\",\n\t\t\t\tchecked: props.modelValue,\n\t\t\t\tdisabled: props.disabled,\n\t\t\t\tonChange: event => emit(\"update:modelValue\", event.target.checked)\n\t\t\t}),\n\t\t\th(\"span\", { class: \"switch-control\", \"aria-hidden\": \"true\" }),\n\t\t\th(\"span\", { class: \"switch-label\" }, slots.default?.() || props.label)\n\t\t]);\n\t}\n});\n", "import { defineComponent, h, ref, computed } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnTagInput\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tmodelValue: { type: Array, default: () => [] },\n\t\tlabel: { type: String, default: \"\" },\n\t\tplaceholder: { type: String, default: \"Add item\u2026\" },\n\t\thelp: { type: String, default: \"\" },\n\t\tdisabled: { type: Boolean, default: false },\n\t\tseparator: { type: String, default: \",\" },\n\t\tunique: { type: Boolean, default: true },\n\t\tmaxItems: { type: Number, default: 0 }\n\t},\n\temits: [\"update:modelValue\", \"add\", \"remove\"],\n\tsetup(props, { emit, attrs, slots }) {\n\t\tconst inputRef = ref(null);\n\t\tconst focused = ref(false);\n\t\tconst rawValue = ref(\"\");\n\n\t\tconst canAdd = computed(() => {\n\t\t\tif(props.disabled) return false;\n\t\t\tif(props.maxItems > 0 && props.modelValue.length >= props.maxItems) return false;\n\t\t\treturn true;\n\t\t});\n\n\t\tfunction normalizeText(text) {\n\t\t\treturn text.trim().replace(/\\s+/g, \" \");\n\t\t}\n\n\t\tfunction addValue(text) {\n\t\t\tconst value = normalizeText(text);\n\t\t\tif(!value) return;\n\t\t\tif(props.unique && props.modelValue.includes(value)) return;\n\t\t\tif(props.maxItems > 0 && props.modelValue.length >= props.maxItems) return;\n\n\t\t\tconst next = [...props.modelValue, value];\n\t\t\temit(\"update:modelValue\", next);\n\t\t\temit(\"add\", value);\n\t\t}\n\n\t\tfunction removeValue(index) {\n\t\t\tconst removed = props.modelValue[index];\n\t\t\tconst next = props.modelValue.filter((_, i) => i !== index);\n\t\t\temit(\"update:modelValue\", next);\n\t\t\temit(\"remove\", removed);\n\t\t}\n\n\t\tfunction onKeydown(event) {\n\t\t\tif(event.key === \"Enter\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tif(rawValue.value) {\n\t\t\t\t\tconst parts = props.separator\n\t\t\t\t\t\t? rawValue.value.split(props.separator).map(s => s.trim()).filter(Boolean)\n\t\t\t\t\t\t: [rawValue.value];\n\t\t\t\t\tparts.forEach(addValue);\n\t\t\t\t\trawValue.value = \"\";\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif(event.key === \"Backspace\" && !rawValue.value && props.modelValue.length > 0) {\n\t\t\t\tremoveValue(props.modelValue.length - 1);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tfunction onPaste(event) {\n\t\t\tconst paste = event.clipboardData.getData(\"text\");\n\t\t\tif(!paste || !props.separator) return;\n\t\t\tevent.preventDefault();\n\t\t\tconst parts = paste.split(props.separator).map(s => s.trim()).filter(Boolean);\n\t\t\tconst appended = [];\n\t\t\tfor(const part of parts) {\n\t\t\t\tconst v = normalizeText(part);\n\t\t\t\tif(!v) continue;\n\t\t\t\tif(props.unique && props.modelValue.includes(v)) continue;\n\t\t\t\tif(props.maxItems > 0 && props.modelValue.length + appended.length >= props.maxItems) break;\n\t\t\t\tappended.push(v);\n\t\t\t}\n\t\t\tif(appended.length) {\n\t\t\t\tconst next = [...props.modelValue, ...appended];\n\t\t\t\temit(\"update:modelValue\", next);\n\t\t\t\tappended.forEach(v => emit(\"add\", v));\n\t\t\t}\n\t\t}\n\n\t\tfunction onWrapClick() {\n\t\t\tinputRef.value?.focus();\n\t\t}\n\n\t\treturn () => {\n\t\t\tconst labelNode = props.label || slots.label\n\t\t\t\t? h(\"label\", { class: \"label\" }, [\n\t\t\t\t\tslots.label?.() || props.label,\n\t\t\t\t\tprops.disabled && h(\"span\", { class: \"label-disabled-hint\" }, \"Disabled\")\n\t\t\t\t])\n\t\t\t\t: null;\n\n\t\t\tconst chips = props.modelValue.map((item, index) =>\n\t\t\t\th(\"span\", {\n\t\t\t\t\tclass: cx(\"chip\", \"chip-secondary\"),\n\t\t\t\t\tkey: `${item}-${index}`\n\t\t\t\t}, [\n\t\t\t\t\titem,\n\t\t\t\t\t!props.disabled && h(\"button\", {\n\t\t\t\t\t\tclass: \"chip-remove\",\n\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\t\"aria-label\": `Remove ${item}`,\n\t\t\t\t\t\tonClick: (e) => {\n\t\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\t\tremoveValue(index);\n\t\t\t\t\t\t}\n\t\t\t\t\t}, [h(\"i\", { class: \"ph ph-x\" })])\n\t\t\t\t])\n\t\t\t);\n\n\t\t\tconst field = h(\"input\", {\n\t\t\t\tref: inputRef,\n\t\t\t\tclass: \"tag-input-field\",\n\t\t\t\ttype: \"text\",\n\t\t\t\tplaceholder: canAdd.value ? props.placeholder : \"\",\n\t\t\t\tvalue: rawValue.value,\n\t\t\t\tdisabled: props.disabled,\n\t\t\t\tonInput: (e) => { rawValue.value = e.target.value; },\n\t\t\t\tonKeydown,\n\t\t\t\tonPaste,\n\t\t\t\tonFocus: () => focused.value = true,\n\t\t\t\tonBlur: () => focused.value = false\n\t\t\t});\n\n\t\t\tconst wrap = h(\"div\", {\n\t\t\t\tclass: cx(\"tag-input-wrap\"),\n\t\t\t\tonClick: onWrapClick\n\t\t\t}, [\n\t\t\t\t...chips,\n\t\t\t\tfield\n\t\t\t]);\n\n\t\t\tconst meta = props.help\n\t\t\t\t? h(\"div\", { class: \"input-info\" }, [\n\t\t\t\t\th(\"i\", { class: \"ph ph-info\" }),\n\t\t\t\t\t\" \" + props.help\n\t\t\t\t])\n\t\t\t\t: null;\n\n\t\t\treturn h(\"div\", {\n\t\t\t\t...attrs,\n\t\t\t\tclass: cx(\"tag-input\", {\n\t\t\t\t\t\"tag-input-focused\": focused.value,\n\t\t\t\t\t\"tag-input-disabled\": props.disabled\n\t\t\t\t}, attrs.class)\n\t\t\t}, [\n\t\t\t\tlabelNode,\n\t\t\t\twrap,\n\t\t\t\tmeta\n\t\t\t]);\n\t\t};\n\t}\n});\n", "/**\n * GnTable - Data table with columns, rows, scoped cell slots, and empty state.\n *\n * @typedef {Object} GnTableProps\n * @property {Array} columns - Array of { key, label } column definitions\n * @property {Array} [rows=[]] - Array of row data objects\n * @property {string} [caption=''] - Table caption\n * @property {string} [emptyText='Empty'] - Text shown when rows is empty\n *\n * @slots cell-${column.key} - Scoped slot per column: { row, column, value }\n * @slots empty - Override empty state\n */\nimport { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnTable\",\n\tprops: {\n\t\tcolumns: { type: Array, required: true },\n\t\trows: { type: Array, default: () => [] },\n\t\tcaption: { type: String, default: \"\" },\n\t\temptyText: { type: String, default: \"Empty\" }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => h(\"div\", { class: \"table-wrapper\" }, [\n\t\t\th(\"table\", { class: cx(\"table data-list\", { \"table-empty\": !props.rows.length }, attrs.class) }, [\n\t\t\t\tprops.caption && h(\"caption\", { class: \"table-caption\" }, props.caption),\n\t\t\t\th(\"thead\", { class: \"table-head\" }, [\n\t\t\t\t\th(\"tr\", { class: \"table-row\" }, props.columns.map(column => h(\"th\", { scope: \"col\" }, column.label)))\n\t\t\t\t]),\n\t\t\t\th(\"tbody\", { class: \"table-body\" }, props.rows.length\n\t\t\t\t\t? props.rows.map(row => h(\"tr\", { class: \"table-row\" }, props.columns.map(column => {\n\t\t\t\t\t\tconst name = `cell-${column.key}`;\n\t\t\t\t\t\treturn h(\"td\", {}, slots[name]?.({ row, column, value: row[column.key] }) || row[column.key]);\n\t\t\t\t\t})))\n\t\t\t\t\t: h(\"tr\", {}, [h(\"td\", { class: \"is-empty\", colspan: props.columns.length }, slots.empty?.() || props.emptyText)])\n\t\t\t\t)\n\t\t\t])\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, eventValue, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnTextarea\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tmodelValue: { type: String, default: \"\" },\n\t\tlabel: { type: String, default: \"\" },\n\t\ticon: { type: String, default: \"\" },\n\t\tstate: { type: String, default: \"\" },\n\t\thelp: { type: String, default: \"\" }\n\t},\n\temits: [\"update:modelValue\"],\n\tsetup(props, { attrs, emit }) {\n\t\treturn () => h(\"div\", { class: \"form-group\" }, [\n\t\t\th(\"label\", { class: cx(\"label\", props.state) }, [\n\t\t\t\tprops.label,\n\t\t\t\ticonNode(props.icon),\n\t\t\t\th(\"textarea\", {\n\t\t\t\t\t...attrs,\n\t\t\t\t\tvalue: props.modelValue,\n\t\t\t\t\tclass: cx(\"input\", attrs.class),\n\t\t\t\t\tonInput: event => emit(\"update:modelValue\", eventValue(event))\n\t\t\t\t})\n\t\t\t]),\n\t\t\tprops.help && h(\"div\", { class: cx(\"input-info\", props.state === \"error\" && \"error\") }, props.help)\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, iconNode, normalizeVariant } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnTimeline\",\n\tinheritAttrs: false,\n\tprops: {\n\t\titems: { type: Array, default: () => [] }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => h(\"ol\", { ...attrs, class: cx(\"timeline\", attrs.class) }, props.items.map(item => {\n\t\t\tconst variant = item.variant ? normalizeVariant(item.variant) : \"\";\n\n\t\t\treturn h(\"li\", { class: cx(\"timeline-item\", variant && `timeline-item-${variant}`) }, [\n\t\t\t\th(\"span\", { class: \"timeline-marker\" }, [iconNode(item.icon || \"ph-circle\")]),\n\t\t\t\th(\"div\", { class: \"timeline-content\" }, [\n\t\t\t\t\th(\"article\", { class: \"timeline-card\" }, [\n\t\t\t\t\t\th(\"header\", { class: \"timeline-header\" }, [\n\t\t\t\t\t\t\th(\"h3\", { class: \"timeline-title\" }, item.title),\n\t\t\t\t\t\t\titem.time && h(\"time\", { class: \"timeline-time\" }, item.time)\n\t\t\t\t\t\t]),\n\t\t\t\t\t\th(\"p\", { class: \"timeline-text\" }, slots[item.key]?.({ item }) || item.text),\n\t\t\t\t\t\t(item.meta || slots.meta) && h(\"div\", { class: \"timeline-meta\" }, slots.meta?.({ item }) || item.meta)\n\t\t\t\t\t])\n\t\t\t\t])\n\t\t\t]);\n\t\t}));\n\t}\n});\n", "import { defineComponent, h, ref } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnTooltip\",\n\tinheritAttrs: false,\n\tprops: {\n\t\ttext: { type: String, default: \"\" }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\tconst open = ref(false);\n\n\t\treturn () => h(\"span\", {\n\t\t\t...attrs,\n\t\t\tclass: cx(\"tooltip\", { \"is-open\": open.value }, attrs.class),\n\t\t\ttabindex: \"0\",\n\t\t\tonFocusin: () => {\n\t\t\t\topen.value = true;\n\t\t\t},\n\t\t\tonFocusout: () => {\n\t\t\t\topen.value = false;\n\t\t\t}\n\t\t}, [\n\t\t\tslots.default?.(),\n\t\t\th(\"span\", { class: \"tooltip-panel\", role: \"tooltip\" }, slots.panel?.() || props.text)\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnToolbar\",\n\tinheritAttrs: false,\n\tprops: {\n\t\ttitle: { type: String, default: \"\" },\n\t\tmeta: { type: String, default: \"\" }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => h(\"div\", { ...attrs, class: cx(\"toolbar\", attrs.class) }, [\n\t\t\th(\"div\", { class: \"toolbar-group\" }, [\n\t\t\t\th(\"div\", {}, [\n\t\t\t\t\t(props.title || slots.title) && h(\"h3\", { class: \"toolbar-title\" }, slots.title?.() || props.title),\n\t\t\t\t\t(props.meta || slots.meta) && h(\"span\", { class: \"toolbar-meta\" }, slots.meta?.() || props.meta)\n\t\t\t\t])\n\t\t\t]),\n\t\t\t(slots.default || slots.actions) && h(\"div\", { class: \"toolbar-group\" }, slots.actions?.() || slots.default?.())\n\t\t]);\n\t}\n});\n", "import { defineComponent, h, provide, ref, nextTick } from \"vue\";\nimport { cx, iconNode, normalizeVariant } from \"../utils.js\";\nimport { toastKey } from \"../composables/toast-context.js\";\n\nconst iconByVariant = {\n\tinfo: \"ph-info\",\n\tsuccess: \"ph-check-circle\",\n\twarning: \"ph-warning\",\n\tdanger: \"ph-warning-octagon\",\n\terror: \"ph-warning-octagon\",\n\tprimary: \"ph-info\",\n\tsecondary: \"ph-info\"\n};\n\nexport default defineComponent({\n\tname: \"GnToastProvider\",\n\tprops: {\n\t\tlifetime: { type: Number, default: 4000 }\n\t},\n\tsetup(props, { slots, expose }) {\n\t\tconst toast = ref(null);\n\t\tconst closing = ref(false);\n\t\tconst showing = ref(false);\n\t\tlet timer = null;\n\t\tlet closeTimer = null;\n\t\tlet progressTimer = null;\n\t\tconst progress = ref(100);\n\n\t\tconst dismiss = () => {\n\t\t\twindow.clearTimeout(closeTimer);\n\t\t\twindow.clearInterval(progressTimer);\n\t\t\tclosing.value = true;\n\t\t\tshowing.value = false;\n\t\t\tcloseTimer = window.setTimeout(() => {\n\t\t\t\ttoast.value = null;\n\t\t\t\tclosing.value = false;\n\t\t\t\tprogress.value = 100;\n\t\t\t\twindow.clearTimeout(timer);\n\t\t\t\ttimer = null;\n\t\t\t}, 300);\n\t\t};\n\n\t\tconst close = () => {\n\t\t\twindow.clearTimeout(closeTimer);\n\t\t\twindow.clearTimeout(timer);\n\t\t\twindow.clearInterval(progressTimer);\n\t\t\tclosing.value = false;\n\t\t\tshowing.value = false;\n\t\t\tprogress.value = 100;\n\t\t\ttoast.value = null;\n\t\t};\n\n\t\tconst show = options => {\n\t\t\twindow.clearTimeout(closeTimer);\n\t\t\twindow.clearInterval(progressTimer);\n\t\t\tclosing.value = false;\n\t\t\tshowing.value = false;\n\t\t\tprogress.value = 100;\n\t\t\tconst variant = normalizeVariant(options.variant || options.type || \"info\", \"info\");\n\t\t\tconst lifetime = options.lifetime !== undefined ? options.lifetime : props.lifetime;\n\t\t\ttoast.value = {\n\t\t\t\tid: Date.now(),\n\t\t\t\tvariant: variant === \"error\" ? \"danger\" : variant,\n\t\t\t\ttitle: options.title || \"\",\n\t\t\t\ttext: options.text || options.message || \"\",\n\t\t\t\ticon: options.icon || iconByVariant[variant] || iconByVariant.info,\n\t\t\t\tlifetime\n\t\t\t};\n\n\t\t\twindow.clearTimeout(timer);\n\n\t\t\tif(lifetime !== 0) {\n\t\t\t\tconst step = 100;\n\t\t\t\tconst totalSteps = lifetime / step;\n\t\t\t\tprogress.value = 100;\n\t\t\t\tprogressTimer = window.setInterval(() => {\n\t\t\t\t\tprogress.value -= 100 / totalSteps;\n\t\t\t\t\tif(progress.value <= 0) {\n\t\t\t\t\t\twindow.clearInterval(progressTimer);\n\t\t\t\t\t}\n\t\t\t\t}, step);\n\n\t\t\t\ttimer = window.setTimeout(dismiss, lifetime);\n\t\t\t}\n\n\t\t\tnextTick(() => {\n\t\t\t\trequestAnimationFrame(() => {\n\t\t\t\t\tshowing.value = true;\n\t\t\t\t});\n\t\t\t});\n\t\t};\n\n\t\tconst api = {\n\t\t\tshow,\n\t\t\tclose,\n\t\t\tinfo: options => show({ ...options, variant: \"info\" }),\n\t\t\tsuccess: options => show({ ...options, variant: \"success\" }),\n\t\t\twarning: options => show({ ...options, variant: \"warning\" }),\n\t\t\tdanger: options => show({ ...options, variant: \"danger\" }),\n\t\t\terror: options => show({ ...options, variant: \"danger\" })\n\t\t};\n\n\t\tprovide(toastKey, api);\n\t\texpose(api);\n\n\t\tconst toastClass = () => {\n\t\t\tif (closing.value) return \"a-hide\";\n\t\t\tif (showing.value) return \"a-show\";\n\t\t\treturn \"\";\n\t\t};\n\n\t\treturn () => [\n\t\t\tslots.default?.(),\n\t\t\ttoast.value && h(\"div\", {\n\t\t\t\tclass: cx(\"toast\", toastClass(), `toast-${toast.value.variant}`),\n\t\t\t\trole: \"alert\"\n\t\t\t}, [\n\t\t\t\th(\"div\", { class: \"toast-content\" }, [\n\t\t\t\t\th(\"div\", { class: \"toast-header\" }, [\n\t\t\t\t\t\ticonNode(toast.value.icon),\n\t\t\t\t\t\ttoast.value.title\n\t\t\t\t\t]),\n\t\t\t\t\ttoast.value.text && h(\"p\", { class: \"toast-text\" }, toast.value.text)\n\t\t\t\t]),\n\t\t\t\th(\"button\", {\n\t\t\t\t\tclass: \"btn-icon toast-close\",\n\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\"aria-label\": \"Close\",\n\t\t\t\t\tonClick: dismiss\n\t\t\t\t}, [iconNode(\"ph-x\")]),\n\t\t\t\ttoast.value.lifetime !== 0 && h(\"div\", { class: \"toast-progress\" }, [\n\t\t\t\t\th(\"div\", {\n\t\t\t\t\t\tclass: \"toast-progress-bar\",\n\t\t\t\t\t\tstyle: { transform: `scaleX(${Math.max(0, progress.value / 100)})` }\n\t\t\t\t\t})\n\t\t\t\t])\n\t\t\t])\n\t\t];\n\t}\n});\n", "export const toastKey = Symbol(\"gnexus-ui-kit-toast\");\n", "import { defineComponent, h } from \"vue\";\nimport GnProgress from \"./GnProgress.js\";\n\nexport default defineComponent({\n\tname: \"GnUsageMeter\",\n\tprops: {\n\t\ttitle: { type: String, required: true },\n\t\tvalue: { type: Number, required: true },\n\t\tmax: { type: Number, default: 100 },\n\t\tmeta: { type: String, default: \"\" }\n\t},\n\tsetup(props, { slots }) {\n\t\treturn () => {\n\t\t\tconst percent = Math.max(0, Math.min(100, Math.round((props.value / props.max) * 100)));\n\n\t\t\treturn h(\"section\", { class: \"usage-meter\" }, [\n\t\t\t\th(\"h3\", { class: \"usage-meter-title\" }, [\n\t\t\t\t\tslots.title?.() || props.title,\n\t\t\t\t\th(\"span\", { class: \"usage-meter-value\" }, `${percent}%`)\n\t\t\t\t]),\n\t\t\t\th(GnProgress, { value: props.value, max: props.max }),\n\t\t\t\t(props.meta || slots.meta) && h(\"p\", { class: \"usage-meter-meta\" }, slots.meta?.() || props.meta)\n\t\t\t]);\n\t\t};\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\nimport GnAvatar from \"./GnAvatar.js\";\n\nexport default defineComponent({\n\tname: \"GnUserCard\",\n\tprops: {\n\t\tname: { type: String, required: true },\n\t\temail: { type: String, default: \"\" },\n\t\trole: { type: String, default: \"\" },\n\t\tavatar: { type: Object, default: () => ({}) },\n\t\thref: { type: String, default: \"\" },\n\t\tcompact: { type: Boolean, default: false },\n\t\tactions: { type: Array, default: () => [] }\n\t},\n\tsetup(props, { slots }) {\n\t\tconst renderAvatar = () => slots.avatar?.() || h(GnAvatar, {\n\t\t\t...props.avatar,\n\t\t\tsize: props.compact ? \"sm\" : \"md\"\n\t\t});\n\n\t\tconst renderIdentity = () => h(\"span\", { class: \"identity\" }, [\n\t\t\trenderAvatar(),\n\t\t\th(\"span\", { class: \"identity-content\" }, [\n\t\t\t\th(\"span\", { class: \"identity-title\" }, props.name),\n\t\t\t\tprops.email && h(\"span\", { class: \"identity-meta\" }, props.email)\n\t\t\t])\n\t\t]);\n\n\t\tconst renderActions = () => {\n\t\t\tif (slots.actions) return slots.actions();\n\t\t\tif (!props.actions.length) return null;\n\n\t\t\treturn h(\"div\", { class: \"user-card-actions\" },\n\t\t\t\tprops.actions.map(action => {\n\t\t\t\t\tif (props.compact) {\n\t\t\t\t\t\treturn h(\"button\", {\n\t\t\t\t\t\t\tclass: \"btn-icon\",\n\t\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\t\t\"aria-label\": action.label,\n\t\t\t\t\t\t\tonClick: action.onClick\n\t\t\t\t\t\t}, [iconNode(action.icon)]);\n\t\t\t\t\t}\n\n\t\t\t\t\tconst hasIcon = !!action.icon;\n\t\t\t\t\tconst btnClass = cx(\"btn\", \"btn-small\", {\n\t\t\t\t\t\t[`btn-${action.variant}`]: action.variant,\n\t\t\t\t\t\t\"btn-secondary\": !action.variant,\n\t\t\t\t\t\t\"with-icon\": hasIcon\n\t\t\t\t\t});\n\n\t\t\t\t\treturn h(\"button\", {\n\t\t\t\t\t\tclass: btnClass,\n\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\tonClick: action.onClick\n\t\t\t\t\t}, [\n\t\t\t\t\t\thasIcon && iconNode(action.icon),\n\t\t\t\t\t\taction.label\n\t\t\t\t\t]);\n\t\t\t\t})\n\t\t\t);\n\t\t};\n\n\t\treturn () => {\n\t\t\tconst rootClass = cx(\"card\", \"user-card\", { \"user-card-compact\": props.compact });\n\t\t\tconst bodyChildren = [];\n\n\t\t\tif (props.href) {\n\t\t\t\tbodyChildren.push(\n\t\t\t\t\th(\"a\", {\n\t\t\t\t\t\tclass: \"profile-identity\",\n\t\t\t\t\t\thref: props.href,\n\t\t\t\t\t\ttarget: \"_blank\",\n\t\t\t\t\t\trel: \"noopener noreferrer\"\n\t\t\t\t\t}, [renderIdentity()])\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tbodyChildren.push(renderIdentity());\n\t\t\t}\n\n\t\t\tif (!props.compact && props.role) {\n\t\t\t\tbodyChildren.push(h(\"span\", { class: \"user-card-role\" }, props.role));\n\t\t\t}\n\n\t\t\tif (slots.default && !props.compact) {\n\t\t\t\tbodyChildren.push(h(\"div\", { class: \"user-card-extra\" }, slots.default()));\n\t\t\t}\n\n\t\t\tconst actionsNode = renderActions();\n\t\t\tif (actionsNode) {\n\t\t\t\tbodyChildren.push(actionsNode);\n\t\t\t}\n\n\t\t\treturn h(\"article\", { class: rootClass }, [\n\t\t\t\th(\"div\", { class: \"user-card-body\" }, bodyChildren)\n\t\t\t]);\n\t\t};\n\t}\n});\n", "import { inject } from \"vue\";\nimport { toastKey } from \"./toast-context.js\";\n\nexport function useToast() {\n\tconst api = inject(toastKey, null);\n\n\tif(api) {\n\t\treturn api;\n\t}\n\n\tconst missingProvider = () => {\n\t\tthrow new Error(\"GNexus UI Kit: useToast() requires near the app root.\");\n\t};\n\n\treturn {\n\t\tshow: missingProvider,\n\t\tinfo: missingProvider,\n\t\tsuccess: missingProvider,\n\t\twarning: missingProvider,\n\t\tdanger: missingProvider,\n\t\terror: missingProvider,\n\t\tclose: missingProvider\n\t};\n}\n\nexport default useToast;\n", "import GnAccordion from \"./components/GnAccordion.js\";\nimport GnActionCard from \"./components/GnActionCard.js\";\nimport GnActionList from \"./components/GnActionList.js\";\nimport GnActivityLog from \"./components/GnActivityLog.js\";\nimport GnAlert from \"./components/GnAlert.js\";\nimport GnAvatar from \"./components/GnAvatar.js\";\nimport GnAvatarStack from \"./components/GnAvatarStack.js\";\nimport GnBadge from \"./components/GnBadge.js\";\nimport GnButton from \"./components/GnButton.js\";\nimport GnCard from \"./components/GnCard.js\";\nimport GnCheckbox from \"./components/GnCheckbox.js\";\nimport GnChip from \"./components/GnChip.js\";\nimport GnCopyButton from \"./components/GnCopyButton.js\";\nimport GnChipGroup from \"./components/GnChipGroup.js\";\nimport GnCombobox from \"./components/GnCombobox.js\";\nimport GnConfirmDialog from \"./components/GnConfirmDialog.js\";\nimport GnDescriptionList from \"./components/GnDescriptionList.js\";\nimport GnDefinitionList from \"./components/GnDefinitionList.js\";\nimport GnDropdown from \"./components/GnDropdown.js\";\nimport GnDrawer from \"./components/GnDrawer.js\";\nimport GnEmptyState from \"./components/GnEmptyState.js\";\nimport GnFileUpload from \"./components/GnFileUpload.js\";\nimport GnIconButton from \"./components/GnIconButton.js\";\nimport GnIdentity from \"./components/GnIdentity.js\";\nimport GnInput from \"./components/GnInput.js\";\nimport GnInputGroup from \"./components/GnInputGroup.js\";\nimport GnList from \"./components/GnList.js\";\nimport GnLoader from \"./components/GnLoader.js\";\nimport GnLoginCard from \"./components/GnLoginCard.js\";\nimport GnMetricCard from \"./components/GnMetricCard.js\";\nimport GnModal from \"./components/GnModal.js\";\nimport GnNavList from \"./components/GnNavList.js\";\nimport GnNavigationShell from \"./components/GnNavigationShell.js\";\nimport GnPageHeader from \"./components/GnPageHeader.js\";\nimport GnHorizontalCard from \"./components/GnHorizontalCard.js\";\nimport GnPagination from \"./components/GnPagination.js\";\nimport GnPopover from \"./components/GnPopover.js\";\nimport GnProgress from \"./components/GnProgress.js\";\nimport GnProgressStages from \"./components/GnProgressStages.js\";\nimport GnRadio from \"./components/GnRadio.js\";\nimport GnRadioGroup from \"./components/GnRadioGroup.js\";\nimport GnRange from \"./components/GnRange.js\";\nimport GnRepeater from \"./components/GnRepeater.js\";\nimport GnRouterTabs from \"./components/GnRouterTabs.js\";\nimport GnSearchField from \"./components/GnSearchField.js\";\nimport GnSelect from \"./components/GnSelect.js\";\nimport GnSkeleton from \"./components/GnSkeleton.js\";\nimport GnSteps from \"./components/GnSteps.js\";\nimport GnStatusCard from \"./components/GnStatusCard.js\";\nimport GnSwitch from \"./components/GnSwitch.js\";\nimport GnTagInput from \"./components/GnTagInput.js\";\nimport GnTable from \"./components/GnTable.js\";\nimport GnTabs from \"./components/GnTabs.js\";\nimport GnTextarea from \"./components/GnTextarea.js\";\nimport GnTimeline from \"./components/GnTimeline.js\";\nimport GnTooltip from \"./components/GnTooltip.js\";\nimport GnToolbar from \"./components/GnToolbar.js\";\nimport GnToastProvider from \"./components/GnToastProvider.js\";\nimport GnUsageMeter from \"./components/GnUsageMeter.js\";\nimport GnUserCard from \"./components/GnUserCard.js\";\n\nexport const components = {\n\tGnAccordion,\n\tGnActionCard,\n\tGnActionList,\n\tGnActivityLog,\n\tGnAlert,\n\tGnAvatar,\n\tGnAvatarStack,\n\tGnBadge,\n\tGnButton,\n\tGnCard,\n\tGnCheckbox,\n\tGnChip,\n\tGnChipGroup,\n\tGnCopyButton,\n\tGnCombobox,\n\tGnConfirmDialog,\n\tGnDescriptionList,\n\tGnDefinitionList,\n\tGnDropdown,\n\tGnDrawer,\n\tGnEmptyState,\n\tGnFileUpload,\n\tGnIconButton,\n\tGnIdentity,\n\tGnInput,\n\tGnInputGroup,\n\tGnList,\n\tGnLoader,\n\tGnLoginCard,\n\tGnMetricCard,\n\tGnModal,\n\tGnNavList,\n\tGnNavigationShell,\n\tGnPageHeader,\n\tGnHorizontalCard,\n\tGnPagination,\n\tGnPopover,\n\tGnProgress,\n\tGnProgressStages,\n\tGnRadio,\n\tGnRadioGroup,\n\tGnRange,\n\tGnRepeater,\n\tGnRouterTabs,\n\tGnSearchField,\n\tGnSelect,\n\tGnSkeleton,\n\tGnSteps,\n\tGnStatusCard,\n\tGnSwitch,\n\tGnTagInput,\n\tGnTable,\n\tGnTabs,\n\tGnTextarea,\n\tGnTimeline,\n\tGnTooltip,\n\tGnToolbar,\n\tGnToastProvider,\n\tGnUsageMeter,\n\tGnUserCard\n};\n\nexport default {\n\tinstall(app) {\n\t\tObject.entries(components).forEach(([name, component]) => {\n\t\t\tapp.component(name, component);\n\t\t});\n\t}\n};\n"], - "mappings": "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", - "names": ["h", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "ref", "defineComponent", "ref", "h", "defineComponent", "h", "defineComponent", "h", "nextTick", "ref", "defineComponent", "ref", "nextTick", "h", "defineComponent", "h", "defineComponent", "h", "ref", "defineComponent", "ref", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "onBeforeUnmount", "ref", "defineComponent", "ref", "onBeforeUnmount", "h", "defineComponent", "h", "nextTick", "onBeforeUnmount", "ref", "Teleport", "watch", "defineComponent", "ref", "watch", "nextTick", "_a", "onBeforeUnmount", "h", "Teleport", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "onBeforeUnmount", "ref", "watch", "defineComponent", "ref", "watch", "onBeforeUnmount", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "ref", "defineComponent", "ref", "h", "defineComponent", "h", "defineComponent", "h", "computed", "defineComponent", "h", "defineComponent", "computed", "h", "_a", "defineComponent", "h", "nextTick", "onBeforeUnmount", "ref", "watch", "defineComponent", "ref", "drawerId", "watch", "nextTick", "_a", "onBeforeUnmount", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "onBeforeUnmount", "ref", "defineComponent", "ref", "onBeforeUnmount", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "computed", "defineComponent", "computed", "h", "_a", "computed", "defineComponent", "h", "watch", "computed", "defineComponent", "h", "defineComponent", "computed", "h", "defineComponent", "computed", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "ref", "computed", "defineComponent", "ref", "computed", "h", "defineComponent", "h", "defineComponent", "h", "_a", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "ref", "defineComponent", "ref", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "ref", "nextTick", "defineComponent", "ref", "nextTick", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h"] + "sources": ["../../src/vue/components/GnAccordion.js", "../../src/vue/utils.js", "../../src/vue/components/GnActionCard.js", "../../src/vue/components/GnActionList.js", "../../src/vue/components/GnActivityLog.js", "../../src/vue/components/GnAlert.js", "../../src/vue/components/GnAvatar.js", "../../src/vue/components/GnAvatarStack.js", "../../src/vue/components/GnBadge.js", "../../src/vue/components/GnButton.js", "../../src/vue/components/GnCard.js", "../../src/vue/components/GnCheckbox.js", "../../src/vue/components/GnChip.js", "../../src/vue/components/GnChipGroup.js", "../../src/vue/components/GnCombobox.js", "../../src/vue/components/GnConfirmDialog.js", "../../src/vue/components/GnModal.js", "../../src/vue/composables/use-overlay-transition.js", "../../src/vue/components/GnCopyButton.js", "../../src/vue/components/GnDescriptionList.js", "../../src/vue/components/GnDefinitionList.js", "../../src/vue/components/GnDropdown.js", "../../src/vue/components/GnDrawer.js", "../../src/vue/components/GnEmptyState.js", "../../src/vue/components/GnFileUpload.js", "../../src/vue/components/GnIconButton.js", "../../src/vue/components/GnIdentity.js", "../../src/vue/components/GnInput.js", "../../src/vue/components/GnInputGroup.js", "../../src/vue/components/GnList.js", "../../src/vue/components/GnLoader.js", "../../src/vue/components/GnLoginCard.js", "../../src/vue/components/GnMetricCard.js", "../../src/vue/components/GnNavList.js", "../../src/vue/composables/useVueRouter.js", "../../src/vue/components/GnNavigationShell.js", "../../src/vue/components/GnPageHeader.js", "../../src/vue/components/GnHorizontalCard.js", "../../src/vue/components/GnPagination.js", "../../src/vue/components/GnPopover.js", "../../src/vue/components/GnProgress.js", "../../src/vue/components/GnProgressStages.js", "../../src/vue/components/GnRadio.js", "../../src/vue/components/GnRadioGroup.js", "../../src/vue/components/GnRange.js", "../../src/vue/components/GnRepeater.js", "../../src/vue/components/GnRouterTabs.js", "../../src/vue/components/GnTabs.js", "../../src/vue/components/GnSearchField.js", "../../src/vue/components/GnSelect.js", "../../src/vue/components/GnSkeleton.js", "../../src/vue/components/GnSteps.js", "../../src/vue/components/GnStatusCard.js", "../../src/vue/components/GnSwitch.js", "../../src/vue/components/GnTagInput.js", "../../src/vue/components/GnTable.js", "../../src/vue/components/GnTextarea.js", "../../src/vue/components/GnTimeline.js", "../../src/vue/components/GnTooltip.js", "../../src/vue/components/GnToolbar.js", "../../src/vue/components/GnToastProvider.js", "../../src/vue/composables/toast-context.js", "../../src/vue/components/GnUsageMeter.js", "../../src/vue/components/GnUserCard.js", "../../src/vue/composables/useToast.js", "../../src/vue/plugin.js"], + "sourcesContent": ["import { defineComponent, h, ref } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnAccordion\",\n\tprops: {\n\t\titems: { type: Array, required: true },\n\t\tmodelValue: { type: [String, Array], default: \"\" },\n\t\tmultiple: { type: Boolean, default: false }\n\t},\n\temits: [\"update:modelValue\"],\n\tsetup(props, { emit, slots }) {\n\t\tconst localOpen = ref(props.multiple ? [] : \"\");\n\n\t\tconst getOpen = () => props.modelValue || localOpen.value;\n\t\tconst isOpen = id => props.multiple ? getOpen().includes(id) : getOpen() === id;\n\t\tconst toggle = id => {\n\t\t\tlet next;\n\n\t\t\tif(props.multiple) {\n\t\t\t\tconst current = [...getOpen()];\n\t\t\t\tnext = current.includes(id) ? current.filter(item => item !== id) : [...current, id];\n\t\t\t} else {\n\t\t\t\tnext = isOpen(id) ? \"\" : id;\n\t\t\t}\n\n\t\t\tlocalOpen.value = next;\n\t\t\temit(\"update:modelValue\", next);\n\t\t};\n\n\t\treturn () => h(\"div\", { class: \"accordion\" }, props.items.map(item => {\n\t\t\tconst open = isOpen(item.id);\n\n\t\t\treturn h(\"section\", { class: \"accordion-item\", open: open ? \"\" : undefined }, [\n\t\t\t\th(\"button\", {\n\t\t\t\t\tclass: \"accordion-summary\",\n\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\"aria-expanded\": open ? \"true\" : \"false\",\n\t\t\t\t\tonClick: () => toggle(item.id)\n\t\t\t\t}, [\n\t\t\t\t\th(\"span\", { class: \"accordion-summary-content\" }, [\n\t\t\t\t\t\ticonNode(item.icon),\n\t\t\t\t\t\titem.label\n\t\t\t\t\t]),\n\t\t\t\t\th(\"i\", { class: cx(\"ph ph-caret-down accordion-icon\", { \"is-open\": open }), \"aria-hidden\": \"true\" })\n\t\t\t\t]),\n\t\t\t\topen && h(\"div\", { class: \"accordion-panel\" }, slots[item.id]?.({ item, open }) || item.content)\n\t\t\t]);\n\t\t}));\n\t}\n});\n", "import { h } from \"vue\";\n\nexport const variants = new Set([\n\t\"primary\",\n\t\"secondary\",\n\t\"accent\",\n\t\"success\",\n\t\"warning\",\n\t\"danger\",\n\t\"error\",\n\t\"info\"\n]);\n\nexport function cx(...items) {\n\treturn items\n\t\t.flatMap(item => {\n\t\t\tif(!item) {\n\t\t\t\treturn [];\n\t\t\t}\n\n\t\t\tif(Array.isArray(item)) {\n\t\t\t\treturn item;\n\t\t\t}\n\n\t\t\tif(typeof item === \"object\") {\n\t\t\t\treturn Object.entries(item)\n\t\t\t\t\t.filter(([, enabled]) => enabled)\n\t\t\t\t\t.map(([name]) => name);\n\t\t\t}\n\n\t\t\treturn [item];\n\t\t})\n\t\t.filter(Boolean)\n\t\t.join(\" \");\n}\n\nexport function normalizeVariant(value, fallback = \"primary\") {\n\treturn variants.has(value) ? value : fallback;\n}\n\nexport function iconNode(icon, extraClass = \"\") {\n\tif(!icon) {\n\t\treturn null;\n\t}\n\n\tconst hasPrefix = icon.includes(\"ph \") || icon.startsWith(\"ph-\");\n\n\tif(!hasPrefix) {\n\t\tif(typeof process !== \"undefined\" && process.env && process.env.NODE_ENV !== \"production\") {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.warn(`[gnexus-ui-kit] Icon \"${icon}\" is missing the required \"ph-\" prefix. Use \"ph-${icon}\" instead.`);\n\t\t}\n\t}\n\n\tconst iconClass = hasPrefix\n\t\t? icon\n\t\t: `ph-${icon}`;\n\n\treturn h(\"i\", {\n\t\tclass: cx(\"ph\", iconClass, extraClass),\n\t\t\"aria-hidden\": \"true\"\n\t});\n}\n\nexport function slotOrText(slots, name, text) {\n\treturn slots[name] ? slots[name]() : text;\n}\n\nexport function eventValue(event) {\n\tconst target = event.target;\n\n\tif(target.type === \"checkbox\") {\n\t\treturn target.checked;\n\t}\n\n\treturn target.value;\n}\n\nexport const focusableSelector = [\n\t\"a[href]\",\n\t\"button:not([disabled])\",\n\t\"input:not([disabled])\",\n\t\"select:not([disabled])\",\n\t\"textarea:not([disabled])\",\n\t\"[tabindex]:not([tabindex='-1'])\"\n].join(\",\");\n\nexport function trapFocus(event, root) {\n\tif(event.key !== \"Tab\" || !root) {\n\t\treturn;\n\t}\n\n\tconst focusable = [...root.querySelectorAll(focusableSelector)]\n\t\t.filter(node => !node.hasAttribute(\"disabled\") && node.offsetParent !== null);\n\n\tif(!focusable.length) {\n\t\tevent.preventDefault();\n\t\troot.focus();\n\t\treturn;\n\t}\n\n\tconst first = focusable[0];\n\tconst last = focusable[focusable.length - 1];\n\n\tif(event.shiftKey && document.activeElement === first) {\n\t\tevent.preventDefault();\n\t\tlast.focus();\n\t} else if(!event.shiftKey && document.activeElement === last) {\n\t\tevent.preventDefault();\n\t\tfirst.focus();\n\t}\n}\n", "import { defineComponent, h } from \"vue\";\n\nexport default defineComponent({\n\tname: \"GnActionCard\",\n\tprops: {\n\t\tkicker: { type: String, default: \"\" },\n\t\ttitle: { type: String, required: true },\n\t\ttext: { type: String, default: \"\" }\n\t},\n\tsetup(props, { slots }) {\n\t\treturn () => h(\"article\", { class: \"card action-card\" }, [\n\t\t\th(\"div\", { class: \"card-content\" }, [\n\t\t\t\t(props.kicker || slots.kicker) && h(\"span\", { class: \"action-card-kicker\" }, slots.kicker?.() || props.kicker),\n\t\t\t\th(\"h3\", { class: \"action-card-title\" }, slots.title?.() || props.title),\n\t\t\t\t(props.text || slots.default) && h(\"p\", { class: \"action-card-text\" }, slots.default?.() || props.text),\n\t\t\t\tslots.actions && h(\"div\", { class: \"action-card-actions\" }, slots.actions())\n\t\t\t])\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnActionList\",\n\tinheritAttrs: false,\n\tprops: {\n\t\titems: { type: Array, default: () => [] }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => h(\"ul\", { ...attrs, class: cx(\"list list-actions\", attrs.class) }, props.items.map(item => h(\"li\", {\n\t\t\tclass: cx(\"list-item\", item.muted && \"list-item-muted\")\n\t\t}, [\n\t\t\th(\"div\", { class: \"list-content\" }, [\n\t\t\t\th(\"div\", { class: \"list-title\" }, slots.title?.({ item }) || item.title || item.label || \"\"),\n\t\t\t\t(item.subtitle || slots.subtitle) && h(\"div\", { class: \"list-subtitle\" }, slots.subtitle?.({ item }) || item.subtitle)\n\t\t\t]),\n\t\t\tslots.controls && h(\"div\", { class: \"list-controls\" }, slots.controls({ item }))\n\t\t])));\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnActivityLog\",\n\tinheritAttrs: false,\n\tprops: {\n\t\titems: { type: Array, default: () => [] }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => h(\"div\", { ...attrs, class: cx(\"activity-log\", attrs.class) }, props.items.map(item => h(\"div\", {\n\t\t\tclass: \"activity-log-row\"\n\t\t}, [\n\t\t\th(\"time\", { class: \"activity-log-time\" }, item.time),\n\t\t\th(\"span\", { class: \"activity-log-title\" }, slots[item.key]?.({ item }) || item.title),\n\t\t\tslots.actions && h(\"span\", {}, slots.actions({ item }))\n\t\t])));\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, normalizeVariant } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnAlert\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tvariant: { type: String, default: \"primary\" },\n\t\trole: { type: String, default: \"status\" }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => {\n\t\t\tconst variant = normalizeVariant(props.variant);\n\n\t\t\treturn h(\"div\", {\n\t\t\t\t...attrs,\n\t\t\t\trole: props.role,\n\t\t\t\tclass: cx(\"alert\", `alert-${variant}`, attrs.class)\n\t\t\t}, slots.default?.());\n\t\t};\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, iconNode, normalizeVariant } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnAvatar\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tsrc: { type: String, default: \"\" },\n\t\talt: { type: String, default: \"\" },\n\t\tinitials: { type: String, default: \"\" },\n\t\ticon: { type: String, default: \"\" },\n\t\tsize: { type: String, default: \"md\" },\n\t\tvariant: { type: String, default: \"primary\" },\n\t\toutline: { type: Boolean, default: false },\n\t\tstatus: { type: String, default: \"\" }\n\t},\n\tsetup(props, { attrs }) {\n\t\treturn () => {\n\t\t\tconst variant = normalizeVariant(props.variant);\n\n\t\t\treturn h(\"span\", {\n\t\t\t\t...attrs,\n\t\t\t\tclass: cx(\"avatar\", `avatar-${variant}`, {\n\t\t\t\t\t\"avatar-sm\": props.size === \"sm\",\n\t\t\t\t\t\"avatar-lg\": props.size === \"lg\",\n\t\t\t\t\t\"avatar-outline\": props.outline,\n\t\t\t\t\t\"is-online\": props.status === \"online\",\n\t\t\t\t\t\"is-busy\": props.status === \"busy\",\n\t\t\t\t\t\"is-offline\": props.status === \"offline\"\n\t\t\t\t}, attrs.class)\n\t\t\t}, [\n\t\t\t\tprops.src ? h(\"img\", { src: props.src, alt: props.alt }) : iconNode(props.icon) || props.initials,\n\t\t\t\tprops.status && h(\"span\", { class: \"avatar-status\", \"aria-hidden\": \"true\" })\n\t\t\t]);\n\t\t};\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport GnAvatar from \"./GnAvatar.js\";\n\nexport default defineComponent({\n\tname: \"GnAvatarStack\",\n\tprops: {\n\t\titems: { type: Array, default: () => [] },\n\t\tcount: { type: [Number, String], default: \"\" }\n\t},\n\tsetup(props, { slots }) {\n\t\treturn () => h(\"span\", { class: \"avatar-stack\" }, [\n\t\t\tprops.items.map(item => h(GnAvatar, { ...item, size: item.size || \"sm\" })),\n\t\t\tslots.default?.(),\n\t\t\tprops.count && h(\"span\", { class: \"avatar-stack-count\" }, `+${props.count}`)\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, normalizeVariant } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnBadge\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tvariant: { type: String, default: \"primary\" },\n\t\toutline: { type: Boolean, default: false }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => {\n\t\t\tconst variant = normalizeVariant(props.variant);\n\n\t\t\treturn h(\"span\", {\n\t\t\t\t...attrs,\n\t\t\t\tclass: cx(\n\t\t\t\t\t\"badge\",\n\t\t\t\t\tprops.outline && variant === \"primary\" ? \"badge-primary-outline\" : `badge-${variant}`,\n\t\t\t\t\tattrs.class\n\t\t\t\t)\n\t\t\t}, slots.default?.());\n\t\t};\n\t}\n});\n", "/**\n * GnButton - Primary command component.\n *\n * @typedef {Object} GnButtonProps\n * @property {string} [variant='primary'] - primary | secondary | accent | success | warning | danger | error | info\n * @property {string} [size='md'] - sm | md | lg\n * @property {string} [icon=''] - Phosphor icon name with ph- prefix (e.g. \"ph-plus\", \"ph-house\")\n * @property {boolean} [loading=false] - Show spinner and disable interaction\n * @property {boolean} [disabled=false] - Disabled state\n * @property {string} [type='button'] - button | submit | reset\n *\n * @slots default - Button label text\n */\nimport { defineComponent, h } from \"vue\";\nimport { cx, iconNode, normalizeVariant } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnButton\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tvariant: { type: String, default: \"primary\" },\n\t\tsize: { type: String, default: \"md\" },\n\t\ticon: { type: String, default: \"\" },\n\t\tloading: { type: Boolean, default: false },\n\t\tdisabled: { type: Boolean, default: false },\n\t\ttype: { type: String, default: \"button\" }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => {\n\t\t\tconst hasIcon = Boolean(props.icon || props.loading);\n\t\t\tconst variant = normalizeVariant(props.variant);\n\n\t\t\treturn h(\"button\", {\n\t\t\t\t...attrs,\n\t\t\t\ttype: props.type,\n\t\t\t\tdisabled: props.disabled || props.loading,\n\t\t\t\tclass: cx(\n\t\t\t\t\t\"btn\",\n\t\t\t\t\t`btn-${variant}`,\n\t\t\t\t\t{\n\t\t\t\t\t\t\"btn-small\": props.size === \"sm\",\n\t\t\t\t\t\t\"btn-large\": props.size === \"lg\",\n\t\t\t\t\t\t\"with-icon\": hasIcon,\n\t\t\t\t\t\t\"loading-state\": props.loading\n\t\t\t\t\t},\n\t\t\t\t\tattrs.class\n\t\t\t\t)\n\t\t\t}, [\n\t\t\t\tprops.loading ? iconNode(\"ph-bold ph-spinner\") : iconNode(props.icon),\n\t\t\t\tslots.default?.()\n\t\t\t]);\n\t\t};\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnCard\",\n\tinheritAttrs: false,\n\tprops: {\n\t\ttitle: { type: String, default: \"\" },\n\t\tvariant: { type: String, default: \"\" }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => h(\"article\", {\n\t\t\t...attrs,\n\t\t\tclass: cx(\"card\", props.variant && `card-${props.variant}`, attrs.class)\n\t\t}, [\n\t\t\t(props.title || slots.title) && h(\"header\", { class: \"card-title\" }, slots.title?.() || props.title),\n\t\t\th(\"div\", { class: \"card-content\" }, slots.default?.()),\n\t\t\tslots.footer && h(\"footer\", { class: \"card-footer\" }, slots.footer())\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnCheckbox\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tmodelValue: { type: Boolean, default: false },\n\t\tlabel: { type: String, default: \"\" },\n\t\tdisabled: { type: Boolean, default: false }\n\t},\n\temits: [\"update:modelValue\"],\n\tsetup(props, { attrs, emit, slots }) {\n\t\treturn () => h(\"label\", { class: cx(\"checkbox\", attrs.class) }, [\n\t\t\th(\"input\", {\n\t\t\t\t...attrs,\n\t\t\t\ttype: \"checkbox\",\n\t\t\t\tchecked: props.modelValue,\n\t\t\t\tdisabled: props.disabled,\n\t\t\t\tonChange: event => emit(\"update:modelValue\", event.target.checked)\n\t\t\t}),\n\t\t\th(\"span\", { class: \"checkbox-control\", \"aria-hidden\": \"true\" }),\n\t\t\th(\"span\", { class: \"checkbox-label\" }, slots.default?.() || props.label)\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, iconNode, normalizeVariant } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnChip\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tvariant: { type: String, default: \"\" },\n\t\ticon: { type: String, default: \"\" },\n\t\tselected: { type: Boolean, default: false },\n\t\tdisabled: { type: Boolean, default: false },\n\t\tremovable: { type: Boolean, default: false },\n\t\tclickable: { type: Boolean, default: false }\n\t},\n\temits: [\"remove\"],\n\tsetup(props, { attrs, emit, slots }) {\n\t\treturn () => {\n\t\t\tconst tag = props.clickable ? \"button\" : \"span\";\n\t\t\tconst variant = props.variant ? normalizeVariant(props.variant) : \"\";\n\t\t\tconst chipText = slots.default?.()?.[0]?.children;\n\n\t\t\treturn h(tag, {\n\t\t\t\t...attrs,\n\t\t\t\ttype: tag === \"button\" ? \"button\" : undefined,\n\t\t\t\tdisabled: tag === \"button\" ? props.disabled : undefined,\n\t\t\t\t\"aria-pressed\": tag === \"button\" ? String(props.selected) : undefined,\n\t\t\t\tclass: cx(\"chip\", variant && `chip-${variant}`, {\n\t\t\t\t\t\"chip-selected\": props.selected,\n\t\t\t\t\t\"chip-disabled\": props.disabled\n\t\t\t\t}, attrs.class)\n\t\t\t}, [\n\t\t\t\ticonNode(props.icon),\n\t\t\t\tslots.default?.(),\n\t\t\t\tprops.removable && h(\"button\", {\n\t\t\t\t\tclass: \"chip-remove\",\n\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\"aria-label\": chipText ? `Remove ${chipText}` : \"Remove\",\n\t\t\t\t\tonClick: event => {\n\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\temit(\"remove\");\n\t\t\t\t\t}\n\t\t\t\t}, [iconNode(\"ph-x\")])\n\t\t\t]);\n\t\t};\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnChipGroup\",\n\tinheritAttrs: false,\n\tsetup(_, { attrs, slots }) {\n\t\treturn () => h(\"div\", { ...attrs, class: cx(\"chip-group\", attrs.class) }, slots.default?.());\n\t}\n});\n", "import { computed, defineComponent, h, nextTick, ref } from \"vue\";\nimport { cx, eventValue, iconNode } from \"../utils.js\";\n\nlet comboboxId = 0;\n\nexport default defineComponent({\n\tname: \"GnCombobox\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tmodelValue: { type: [String, Number], default: \"\" },\n\t\tlabel: { type: String, default: \"\" },\n\t\ticon: { type: String, default: \"\" },\n\t\toptions: { type: Array, default: () => [] },\n\t\tplaceholder: { type: String, default: \"Search\" },\n\t\tnotFoundText: { type: String, default: \"Nothing found\" },\n\t\tstate: { type: String, default: \"\" },\n\t\thelp: { type: String, default: \"\" }\n\t},\n\temits: [\"update:modelValue\", \"select\"],\n\tsetup(props, { attrs, emit }) {\n\t\tconst id = `gn-combobox-${++comboboxId}`;\n\t\tconst listboxId = `${id}-listbox`;\n\t\tconst open = ref(false);\n\t\tconst focused = ref(-1);\n\t\tconst inputRef = ref(null);\n\t\tconst normalized = computed(() => props.options.map(option => typeof option === \"object\" ? option : {\n\t\t\tvalue: option,\n\t\t\tlabel: option\n\t\t}));\n\t\tconst query = computed(() => String(props.modelValue ?? \"\").toLowerCase());\n\t\tconst filtered = computed(() => normalized.value.filter(option => String(option.label).toLowerCase().includes(query.value)));\n\t\tconst select = option => {\n\t\t\tif(!option) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\temit(\"update:modelValue\", option.label);\n\t\t\temit(\"select\", option);\n\t\t\topen.value = false;\n\t\t\tfocused.value = -1;\n\t\t};\n\t\tconst move = direction => {\n\t\t\tif(!filtered.value.length) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\topen.value = true;\n\t\t\tfocused.value = (focused.value + direction + filtered.value.length) % filtered.value.length;\n\t\t\tnextTick(() => {\n\t\t\t\tconst container = inputRef.value?.closest(\".form-group\")?.querySelector(\".advanced-select\");\n\t\t\t\tcontainer?.querySelector(\".option.focus\")?.scrollIntoView({ block: \"nearest\" });\n\t\t\t});\n\t\t};\n\t\tconst onKeydown = event => {\n\t\t\tif(event.key === \"ArrowDown\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tmove(1);\n\t\t\t} else if(event.key === \"ArrowUp\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tmove(-1);\n\t\t\t} else if(event.key === \"Enter\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tselect(filtered.value[focused.value]);\n\t\t\t} else if(event.key === \"Escape\") {\n\t\t\t\topen.value = false;\n\t\t\t\tfocused.value = -1;\n\t\t\t}\n\t\t};\n\n\t\treturn () => h(\"div\", { class: \"form-group\" }, [\n\t\t\th(\"label\", { class: cx(\"label\", props.state) }, [\n\t\t\t\tprops.label,\n\t\t\t\ticonNode(props.icon),\n\t\t\t\th(\"input\", {\n\t\t\t\t\t...attrs,\n\t\t\t\t\tref: inputRef,\n\t\t\t\t\tid,\n\t\t\t\t\ttype: \"text\",\n\t\t\t\t\tvalue: props.modelValue,\n\t\t\t\t\tplaceholder: props.placeholder,\n\t\t\t\t\tautocomplete: \"off\",\n\t\t\t\t\trole: \"combobox\",\n\t\t\t\t\t\"aria-autocomplete\": \"list\",\n\t\t\t\t\t\"aria-expanded\": open.value ? \"true\" : \"false\",\n\t\t\t\t\t\"aria-controls\": listboxId,\n\t\t\t\t\t\"aria-activedescendant\": focused.value >= 0 ? `${id}-option-${focused.value}` : undefined,\n\t\t\t\t\tclass: cx(\"input\", attrs.class),\n\t\t\t\t\tonFocus: () => {\n\t\t\t\t\t\topen.value = true;\n\t\t\t\t\t},\n\t\t\t\t\tonBlur: () => {\n\t\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t\topen.value = false;\n\t\t\t\t\t\t}, 120);\n\t\t\t\t\t},\n\t\t\t\t\tonInput: event => {\n\t\t\t\t\t\tfocused.value = -1;\n\t\t\t\t\t\topen.value = true;\n\t\t\t\t\t\temit(\"update:modelValue\", eventValue(event));\n\t\t\t\t\t},\n\t\t\t\t\tonKeydown\n\t\t\t\t})\n\t\t\t]),\n\t\t\th(\"div\", { class: \"advanced-select-container\" }, [\n\t\t\t\th(\"div\", { class: cx(\"advanced-select\", { \"a-show\": open.value }) }, [\n\t\t\t\t\th(\"div\", { class: \"popup-options-container\" }, [\n\t\t\t\t\t\th(\"div\", { class: cx(\"not-found\", { show: !filtered.value.length }) }, props.notFoundText),\n\t\t\t\t\t\th(\"div\", {\n\t\t\t\t\t\t\tid: listboxId,\n\t\t\t\t\t\t\tclass: cx(\"options\", { show: filtered.value.length }),\n\t\t\t\t\t\t\trole: \"listbox\"\n\t\t\t\t\t\t}, filtered.value.map((option, index) => h(\"div\", {\n\t\t\t\t\t\t\tid: `${id}-option-${index}`,\n\t\t\t\t\t\t\tclass: cx(\"option\", { focus: index === focused.value }),\n\t\t\t\t\t\t\trole: \"option\",\n\t\t\t\t\t\t\t\"aria-selected\": option.label === props.modelValue ? \"true\" : \"false\",\n\t\t\t\t\t\t\t\"data-value\": option.value,\n\t\t\t\t\t\t\t\"data-display-value\": option.label,\n\t\t\t\t\t\t\tonMousedown: event => {\n\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\tselect(option);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}, option.label)))\n\t\t\t\t\t])\n\t\t\t\t])\n\t\t\t]),\n\t\t\tprops.help && h(\"div\", { class: cx(\"input-info\", props.state === \"error\" && \"error\") }, props.help)\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport GnButton from \"./GnButton.js\";\nimport GnModal from \"./GnModal.js\";\n\nexport default defineComponent({\n\tname: \"GnConfirmDialog\",\n\tprops: {\n\t\topen: { type: Boolean, default: false },\n\t\ttitle: { type: String, default: \"Requires confirmation\" },\n\t\tmessage: { type: String, default: \"\" },\n\t\tconfirmText: { type: String, default: \"YES\" },\n\t\tcancelText: { type: String, default: \"NO\" },\n\t\tconfirmVariant: { type: String, default: \"warning\" }\n\t},\n\temits: [\"update:open\", \"confirm\", \"cancel\"],\n\tsetup(props, { emit, slots }) {\n\t\tconst close = () => emit(\"update:open\", false);\n\t\tconst cancel = () => {\n\t\t\temit(\"cancel\");\n\t\t\tclose();\n\t\t};\n\t\tconst confirm = () => {\n\t\t\temit(\"confirm\");\n\t\t\tclose();\n\t\t};\n\n\t\treturn () => h(GnModal, {\n\t\t\topen: props.open,\n\t\t\ttitle: props.title,\n\t\t\t\"onUpdate:open\": value => emit(\"update:open\", value)\n\t\t}, {\n\t\t\tdefault: () => slots.default?.() || h(\"p\", {}, props.message),\n\t\t\tactions: () => [\n\t\t\t\th(GnButton, { variant: \"primary\", onClick: cancel }, () => props.cancelText),\n\t\t\t\th(GnButton, { variant: props.confirmVariant, onClick: confirm }, () => props.confirmText)\n\t\t\t]\n\t\t});\n\t}\n});\n", "/**\n * GnModal - Accessible modal dialog with focus trapping and teleport.\n *\n * @typedef {Object} GnModalProps\n * @property {boolean} [open=false] - Dialog visibility\n * @property {string} [title=''] - Dialog title\n * @property {boolean} [closeOnBackdrop=true] - Click backdrop to close\n *\n * @slots default - Modal body content\n * @slots title - Override header title\n * @slots footer - Footer content\n * @slots actions - Action buttons (receives { close })\n * @emits update:open\n * @emits close\n */\nimport { defineComponent, h, nextTick, onBeforeUnmount, ref, Teleport, watch } from \"vue\";\nimport { cx, iconNode, trapFocus } from \"../utils.js\";\nimport { useOverlayTransition } from \"../composables/use-overlay-transition.js\";\n\nlet modalId = 0;\n\nexport default defineComponent({\n\tname: \"GnModal\",\n\tprops: {\n\t\topen: { type: Boolean, default: false },\n\t\ttitle: { type: String, default: \"\" },\n\t\tcloseOnBackdrop: { type: Boolean, default: true }\n\t},\n\temits: [\"update:open\", \"close\"],\n\tsetup(props, { emit, slots }) {\n\t\tconst titleId = `gn-modal-title-${++modalId}`;\n\t\tconst dialogRef = ref(null);\n\t\tconst { visible, closing, show: showTransition, hide: hideTransition, cancel: cancelTransition } = useOverlayTransition();\n\t\tlet previousFocus = null;\n\n\t\tconst close = () => {\n\t\t\temit(\"update:open\", false);\n\t\t\temit(\"close\");\n\t\t};\n\t\tconst onKeydown = event => {\n\t\t\tif(event.key === \"Escape\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tclose();\n\t\t\t} else {\n\t\t\t\ttrapFocus(event, dialogRef.value);\n\t\t\t}\n\t\t};\n\t\tconst focusDialog = () => {\n\t\t\tnextTick(() => {\n\t\t\t\tdialogRef.value?.focus();\n\t\t\t});\n\t\t};\n\n\t\twatch(() => props.open, open => {\n\t\t\tif(open) {\n\t\t\t\tshowTransition();\n\t\t\t\tpreviousFocus = document.activeElement;\n\t\t\t\tdocument.addEventListener(\"keydown\", onKeydown);\n\t\t\t\tfocusDialog();\n\t\t\t} else {\n\t\t\t\thideTransition();\n\t\t\t\tdocument.removeEventListener(\"keydown\", onKeydown);\n\t\t\t\tpreviousFocus?.focus?.();\n\t\t\t\tpreviousFocus = null;\n\t\t\t}\n\t\t}, { flush: \"post\", immediate: true });\n\n\t\tonBeforeUnmount(() => {\n\t\t\tdocument.removeEventListener(\"keydown\", onKeydown);\n\t\t\tcancelTransition();\n\t\t});\n\n\t\treturn () => visible.value ? h(Teleport, { to: \"body\" }, [\n\t\t\th(\"div\", { class: cx(\"modal\", closing.value ? \"a-hide\" : \"a-show\"), \"aria-hidden\": \"false\" }, [\n\t\t\t\th(\"div\", {\n\t\t\t\t\tclass: \"modal-backdrop\",\n\t\t\t\t\tonClick: () => props.closeOnBackdrop && close()\n\t\t\t\t}),\n\t\t\t\th(\"div\", {\n\t\t\t\t\tref: dialogRef,\n\t\t\t\t\tclass: \"modal-dialog\",\n\t\t\t\t\trole: \"dialog\",\n\t\t\t\t\t\"aria-modal\": \"true\",\n\t\t\t\t\t\"aria-labelledby\": titleId,\n\t\t\t\t\ttabindex: \"-1\"\n\t\t\t\t}, [\n\t\t\t\t\th(\"header\", { class: \"modal-header\" }, [\n\t\t\t\t\t\th(\"h4\", { class: \"modal-title\", id: titleId }, slots.title?.() || props.title),\n\t\t\t\t\t\th(\"button\", {\n\t\t\t\t\t\t\tclass: \"btn-icon modal-close\",\n\t\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\t\t\"aria-label\": \"Close\",\n\t\t\t\t\t\t\tonClick: close\n\t\t\t\t\t\t}, [iconNode(\"ph-x\")])\n\t\t\t\t\t]),\n\t\t\t\t\th(\"div\", { class: \"modal-panel\" }, [\n\t\t\t\t\t\th(\"div\", { class: \"modal-body\" }, slots.default?.()),\n\t\t\t\t\t\t(slots.footer || slots.actions) && h(\"footer\", { class: \"modal-footer\" }, [\n\t\t\t\t\t\t\tslots.footer?.(),\n\t\t\t\t\t\t\tslots.actions && h(\"div\", { class: \"actions\" }, slots.actions({ close }))\n\t\t\t\t\t\t])\n\t\t\t\t\t])\n\t\t\t\t])\n\t\t\t])\n\t\t]) : null;\n\t}\n});\n", "/**\n * Shared CSS-transition cycle for overlay components (modal, drawer, ...).\n *\n * Contract (see CLAUDE.md \"CSS transitions + Vue render cycle\"): the initial\n * render of an opening overlay must carry the hidden state class (\"a-hide\")\n * first, and the visible state class (\"a-show\") must be applied one\n * nextTick + requestAnimationFrame later \u2014 otherwise the browser skips the\n * transition entirely.\n *\n * Usage:\n * const { visible, closing, show, hide, cancel } = useOverlayTransition();\n * // render nothing while !visible; class = closing ? \"a-hide\" : \"a-show\"\n * // call show()/hide() from your open watcher, cancel() onBeforeUnmount.\n *\n * @param {Object} [options]\n * @param {number} [options.duration=300] ms to keep the element mounted while\n * the closing transition plays.\n */\nimport { nextTick, ref } from \"vue\";\n\nexport function useOverlayTransition({ duration = 300 } = {}) {\n\tconst visible = ref(false);\n\tconst closing = ref(false);\n\tlet closeTimer = null;\n\n\tconst show = () => {\n\t\twindow.clearTimeout(closeTimer);\n\t\tclosing.value = true;\n\t\tvisible.value = true;\n\t\tnextTick(() => {\n\t\t\trequestAnimationFrame(() => {\n\t\t\t\tclosing.value = false;\n\t\t\t});\n\t\t});\n\t};\n\n\tconst hide = () => {\n\t\tclosing.value = true;\n\t\tcloseTimer = window.setTimeout(() => {\n\t\t\tvisible.value = false;\n\t\t\tclosing.value = false;\n\t\t}, duration);\n\t};\n\n\tconst cancel = () => {\n\t\twindow.clearTimeout(closeTimer);\n\t};\n\n\treturn { visible, closing, show, hide, cancel };\n}\n\nexport default useOverlayTransition;", "import { defineComponent, h, ref } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnCopyButton\",\n\tprops: {\n\t\ttext: { type: String, required: true },\n\t\ticon: { type: String, default: \"ph-copy\" },\n\t\tsuccessIcon: { type: String, default: \"ph-check\" },\n\t\tduration: { type: Number, default: 3000 },\n\t\tlabel: { type: String, default: \"Copy\" },\n\t\tsize: { type: String, default: null }\n\t},\n\temits: [\"copy\"],\n\tsetup(props, { emit }) {\n\t\tconst copied = ref(false);\n\t\tlet timer = null;\n\n\t\tconst copy = async () => {\n\t\t\ttry {\n\t\t\t\tawait navigator.clipboard.writeText(props.text);\n\t\t\t} catch {\n\t\t\t\t// Fallback for older browsers or non-secure contexts\n\t\t\t\tconst textarea = document.createElement(\"textarea\");\n\t\t\t\ttextarea.value = props.text;\n\t\t\t\ttextarea.style.position = \"fixed\";\n\t\t\t\ttextarea.style.opacity = \"0\";\n\t\t\t\tdocument.body.appendChild(textarea);\n\t\t\t\ttextarea.select();\n\t\t\t\tdocument.execCommand(\"copy\");\n\t\t\t\tdocument.body.removeChild(textarea);\n\t\t\t}\n\n\t\t\tcopied.value = true;\n\t\t\twindow.clearTimeout(timer);\n\t\t\ttimer = window.setTimeout(() => {\n\t\t\t\tcopied.value = false;\n\t\t\t}, props.duration);\n\n\t\t\temit(\"copy\", props.text);\n\t\t};\n\n\t\treturn () => h(\"button\", {\n\t\t\tclass: cx(\"btn-icon\", { \"btn-icon-sm\": props.size === \"sm\" }),\n\t\t\ttype: \"button\",\n\t\t\t\"aria-label\": props.label,\n\t\t\tonClick: copy\n\t\t}, [iconNode(copied.value ? props.successIcon : props.icon)]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnDescriptionList\",\n\tinheritAttrs: false,\n\tprops: {\n\t\titems: { type: Array, default: () => [] },\n\t\tcompact: { type: Boolean, default: false }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => h(\"dl\", {\n\t\t\t...attrs,\n\t\t\tclass: cx(\"description-list\", { \"description-list-compact\": props.compact }, attrs.class)\n\t\t}, props.items.map(item => h(\"div\", { class: \"description-list-row\" }, [\n\t\t\th(\"dt\", { class: \"description-list-term\" }, item.term || item.label),\n\t\t\th(\"dd\", { class: cx(\"description-list-value\", item.muted && \"description-list-value-muted\") },\n\t\t\t\tslots[item.key]?.({ item }) || item.value\n\t\t\t)\n\t\t])));\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnDefinitionList\",\n\tinheritAttrs: false,\n\tprops: {\n\t\titems: { type: Array, default: () => [] }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => h(\"dl\", { ...attrs, class: cx(\"list list-definition\", attrs.class) }, props.items.map(item => h(\"div\", {\n\t\t\tclass: \"list-row\"\n\t\t}, [\n\t\t\th(\"dt\", { class: \"list-term\" }, item.term || item.label),\n\t\t\th(\"dd\", { class: \"list-desc\" }, slots[item.key]?.({ item }) || item.description || item.value)\n\t\t])));\n\t}\n});\n", "import { defineComponent, h, onBeforeUnmount, ref } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\nimport GnButton from \"./GnButton.js\";\n\nexport default defineComponent({\n\tname: \"GnDropdown\",\n\tprops: {\n\t\tlabel: { type: String, default: \"Actions\" },\n\t\ticon: { type: String, default: \"ph-dots-three-outline\" },\n\t\tvariant: { type: String, default: \"secondary\" },\n\t\titems: { type: Array, default: () => [] }\n\t},\n\temits: [\"select\"],\n\tsetup(props, { emit, slots }) {\n\t\tconst open = ref(false);\n\t\tconst root = ref(null);\n\t\tconst close = () => {\n\t\t\topen.value = false;\n\t\t\tdocument.removeEventListener(\"click\", onOutsideClick);\n\t\t\tdocument.removeEventListener(\"keydown\", onKeydown);\n\t\t};\n\t\tconst onOutsideClick = event => {\n\t\t\tif(root.value && !root.value.contains(event.target)) {\n\t\t\t\tclose();\n\t\t\t}\n\t\t};\n\t\tconst onKeydown = event => {\n\t\t\tif(event.key === \"Escape\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tclose();\n\t\t\t}\n\t\t};\n\t\tconst toggle = () => {\n\t\t\topen.value = !open.value;\n\n\t\t\tif(open.value) {\n\t\t\t\tsetTimeout(() => document.addEventListener(\"click\", onOutsideClick), 0);\n\t\t\t\tdocument.addEventListener(\"keydown\", onKeydown);\n\t\t\t} else {\n\t\t\t\tclose();\n\t\t\t}\n\t\t};\n\t\tconst select = item => {\n\t\t\tif(item.disabled) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\titem.onSelect?.(item);\n\t\t\temit(\"select\", item);\n\t\t\tclose();\n\t\t};\n\n\t\tonBeforeUnmount(close);\n\n\t\treturn () => h(\"div\", { ref: root, class: cx(\"dropdown\", { \"is-open\": open.value }) }, [\n\t\t\tslots.trigger?.({ open: open.value, toggle }) || h(GnButton, {\n\t\t\t\tvariant: props.variant,\n\t\t\t\ticon: props.icon,\n\t\t\t\t\"aria-expanded\": open.value ? \"true\" : \"false\",\n\t\t\t\tonClick: toggle\n\t\t\t}, () => props.label),\n\t\t\th(\"div\", { class: \"dropdown-menu\", role: \"menu\" }, slots.default?.({ close }) || props.items.map(item => h(\"button\", {\n\t\t\t\tclass: cx(\"dropdown-item\", item.danger && \"dropdown-item-danger\"),\n\t\t\t\ttype: \"button\",\n\t\t\t\trole: \"menuitem\",\n\t\t\t\tdisabled: item.disabled,\n\t\t\t\tonClick: () => select(item)\n\t\t\t}, [\n\t\t\t\ticonNode(item.icon),\n\t\t\t\titem.label\n\t\t\t])))\n\t\t]);\n\t}\n});\n", "import { defineComponent, h, nextTick, onBeforeUnmount, ref, Teleport, watch } from \"vue\";\nimport { cx, iconNode, trapFocus } from \"../utils.js\";\nimport { useOverlayTransition } from \"../composables/use-overlay-transition.js\";\n\nlet drawerId = 0;\n\nexport default defineComponent({\n\tname: \"GnDrawer\",\n\tprops: {\n\t\topen: { type: Boolean, default: false },\n\t\ttitle: { type: String, default: \"\" },\n\t\tposition: { type: String, default: \"right\" }\n\t},\n\temits: [\"update:open\", \"close\"],\n\tsetup(props, { emit, slots }) {\n\t\tconst titleId = `gn-drawer-title-${++drawerId}`;\n\t\tconst panelRef = ref(null);\n\t\tconst { visible, closing, show: showTransition, hide: hideTransition, cancel: cancelTransition } = useOverlayTransition();\n\t\tlet previousFocus = null;\n\n\t\tconst close = () => {\n\t\t\temit(\"update:open\", false);\n\t\t\temit(\"close\");\n\t\t};\n\t\tconst onKeydown = event => {\n\t\t\tif(event.key === \"Escape\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tclose();\n\t\t\t} else {\n\t\t\t\ttrapFocus(event, panelRef.value);\n\t\t\t}\n\t\t};\n\n\t\twatch(() => props.open, open => {\n\t\t\tif(open) {\n\t\t\t\tshowTransition();\n\t\t\t\tpreviousFocus = document.activeElement;\n\t\t\t\tdocument.addEventListener(\"keydown\", onKeydown);\n\t\t\t\tnextTick(() => panelRef.value?.focus());\n\t\t\t} else {\n\t\t\t\thideTransition();\n\t\t\t\tdocument.removeEventListener(\"keydown\", onKeydown);\n\t\t\t\tpreviousFocus?.focus?.();\n\t\t\t\tpreviousFocus = null;\n\t\t\t}\n\t\t}, { flush: \"post\" });\n\n\t\tonBeforeUnmount(() => {\n\t\t\tdocument.removeEventListener(\"keydown\", onKeydown);\n\t\t\tcancelTransition();\n\t\t});\n\n\t\treturn () => visible.value ? h(Teleport, { to: \"body\" }, [\n\t\t\th(\"div\", {\n\t\t\t\tclass: cx(\"drawer\", closing.value ? \"a-hide\" : \"a-show\", { \"drawer-left\": props.position === \"left\" }),\n\t\t\t\t\"aria-hidden\": \"false\"\n\t\t\t}, [\n\t\t\t\th(\"div\", { class: \"drawer-backdrop\", onClick: close }),\n\t\t\t\th(\"aside\", {\n\t\t\t\t\tref: panelRef,\n\t\t\t\t\tclass: \"drawer-panel\",\n\t\t\t\t\trole: \"dialog\",\n\t\t\t\t\t\"aria-modal\": \"true\",\n\t\t\t\t\t\"aria-labelledby\": titleId,\n\t\t\t\t\ttabindex: \"-1\"\n\t\t\t\t}, [\n\t\t\t\t\th(\"header\", { class: \"drawer-header\" }, [\n\t\t\t\t\t\th(\"h4\", { class: \"drawer-title\", id: titleId }, slots.title?.() || props.title),\n\t\t\t\t\t\th(\"button\", {\n\t\t\t\t\t\t\tclass: \"btn-icon drawer-close\",\n\t\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\t\t\"aria-label\": \"Close\",\n\t\t\t\t\t\t\tonClick: close\n\t\t\t\t\t\t}, [iconNode(\"ph-x\")])\n\t\t\t\t\t]),\n\t\t\t\t\th(\"div\", { class: \"drawer-body\" }, slots.default?.()),\n\t\t\t\t\tslots.footer && h(\"footer\", { class: \"drawer-footer\" }, slots.footer({ close }))\n\t\t\t\t])\n\t\t\t])\n\t\t]) : null;\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnEmptyState\",\n\tinheritAttrs: false,\n\tprops: {\n\t\ttitle: { type: String, required: true },\n\t\ttext: { type: String, default: \"\" },\n\t\ticon: { type: String, default: \"ph-package\" },\n\t\tvariant: { type: String, default: \"\" }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => h(\"div\", {\n\t\t\t...attrs,\n\t\t\tclass: cx(\"empty-state\", props.variant && `empty-state-${props.variant}`, attrs.class)\n\t\t}, [\n\t\t\th(\"div\", { class: \"empty-state-icon\" }, [iconNode(props.icon)]),\n\t\t\th(\"h3\", { class: \"empty-state-title\" }, slots.title?.() || props.title),\n\t\t\t(props.text || slots.default) && h(\"p\", { class: \"empty-state-text\" }, slots.default?.() || props.text),\n\t\t\tslots.actions && h(\"div\", { class: \"empty-state-actions\" }, slots.actions())\n\t\t]);\n\t}\n});\n", "import { defineComponent, h, onBeforeUnmount, ref, watch } from \"vue\";\nimport { iconNode } from \"../utils.js\";\nimport GnButton from \"./GnButton.js\";\nimport GnBadge from \"./GnBadge.js\";\n\nfunction fileType(file) {\n\tconst ext = file.name.split(\".\").pop();\n\treturn ext ? ext.slice(0, 6).toUpperCase() : \"FILE\";\n}\n\nfunction fileSize(file) {\n\tif(!file.size) {\n\t\treturn \"0 B\";\n\t}\n\n\tconst units = [\"B\", \"KB\", \"MB\", \"GB\"];\n\tconst index = Math.min(Math.floor(Math.log(file.size) / Math.log(1024)), units.length - 1);\n\tconst value = file.size / Math.pow(1024, index);\n\treturn `${value.toFixed(value >= 10 || index === 0 ? 0 : 1)} ${units[index]}`;\n}\n\nexport default defineComponent({\n\tname: \"GnFileUpload\",\n\tprops: {\n\t\tmodelValue: { type: Array, default: () => [] },\n\t\ttitle: { type: String, default: \"Upload files\" },\n\t\tdescription: { type: String, default: \"Attach documents, archives or images.\" },\n\t\tprimary: { type: String, default: \"Choose files\" },\n\t\tsecondary: { type: String, default: \"Images get thumbnails, other files show their type\" },\n\t\tbadge: { type: String, default: \"\" },\n\t\tmultiple: { type: Boolean, default: true },\n\t\taccept: { type: String, default: \"\" }\n\t},\n\temits: [\"update:modelValue\", \"change\"],\n\tsetup(props, { emit, slots }) {\n\t\tconst urls = ref(new Map());\n\t\tconst revokeFile = file => {\n\t\t\tconst url = urls.value.get(file);\n\n\t\t\tif(url) {\n\t\t\t\tURL.revokeObjectURL(url);\n\t\t\t\turls.value.delete(file);\n\t\t\t}\n\t\t};\n\t\tconst revokeAll = () => {\n\t\t\turls.value.forEach(url => URL.revokeObjectURL(url));\n\t\t\turls.value.clear();\n\t\t};\n\t\tconst setFiles = fileList => {\n\t\t\tconst files = Array.from(fileList || []);\n\t\t\temit(\"update:modelValue\", files);\n\t\t\temit(\"change\", files);\n\t\t};\n\t\tconst remove = index => {\n\t\t\trevokeFile(props.modelValue[index]);\n\t\t\tconst files = props.modelValue.filter((_, itemIndex) => itemIndex !== index);\n\t\t\temit(\"update:modelValue\", files);\n\t\t\temit(\"change\", files);\n\t\t};\n\t\tconst previewUrl = file => {\n\t\t\tif(!file.type?.startsWith(\"image/\")) {\n\t\t\t\treturn \"\";\n\t\t\t}\n\n\t\t\tif(!urls.value.has(file)) {\n\t\t\t\turls.value.set(file, URL.createObjectURL(file));\n\t\t\t}\n\n\t\t\treturn urls.value.get(file);\n\t\t};\n\n\t\twatch(() => props.modelValue, files => {\n\t\t\tconst active = new Set(files);\n\t\t\t[...urls.value.keys()].forEach(file => {\n\t\t\t\tif(!active.has(file)) {\n\t\t\t\t\trevokeFile(file);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\n\t\tonBeforeUnmount(revokeAll);\n\n\t\treturn () => h(\"div\", { class: \"file-upload-panel\" }, [\n\t\t\th(\"div\", { class: \"file-upload-form\" }, [\n\t\t\t\th(\"div\", { class: \"file-upload-header\" }, [\n\t\t\t\t\th(\"div\", { class: \"file-upload-heading\" }, [\n\t\t\t\t\t\th(\"h3\", { class: \"file-upload-title\" }, slots.title?.() || props.title),\n\t\t\t\t\t\th(\"p\", { class: \"file-upload-description\" }, slots.description?.() || props.description)\n\t\t\t\t\t]),\n\t\t\t\t\tprops.badge && h(GnBadge, { variant: \"info\" }, () => props.badge)\n\t\t\t\t]),\n\t\t\t\th(\"label\", { class: \"file-upload-dropzone\" }, [\n\t\t\t\t\th(\"span\", { class: \"file-upload-icon\", \"aria-hidden\": \"true\" }, [iconNode(\"ph-cloud-arrow-up\")]),\n\t\t\t\t\th(\"span\", { class: \"file-upload-body\" }, [\n\t\t\t\t\t\th(\"span\", { class: \"file-upload-primary\" }, props.primary),\n\t\t\t\t\t\th(\"span\", { class: \"file-upload-secondary\" }, props.secondary)\n\t\t\t\t\t]),\n\t\t\t\t\th(\"input\", {\n\t\t\t\t\t\ttype: \"file\",\n\t\t\t\t\t\tmultiple: props.multiple,\n\t\t\t\t\t\taccept: props.accept || undefined,\n\t\t\t\t\t\tonChange: event => setFiles(event.target.files)\n\t\t\t\t\t})\n\t\t\t\t]),\n\t\t\t\th(\"div\", { class: \"file-upload-preview\", hidden: !props.modelValue.length }, props.modelValue.map((file, index) => h(\"figure\", {\n\t\t\t\t\tclass: \"file-upload-preview-item\"\n\t\t\t\t}, [\n\t\t\t\t\th(\"button\", {\n\t\t\t\t\t\tclass: \"file-upload-preview-remove\",\n\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\t\"aria-label\": `Remove ${file.name}`,\n\t\t\t\t\t\tonClick: () => remove(index)\n\t\t\t\t\t}, [iconNode(\"ph-x\")]),\n\t\t\t\t\th(\"div\", { class: \"file-upload-preview-visual\" }, previewUrl(file)\n\t\t\t\t\t\t? h(\"img\", { src: previewUrl(file), alt: \"\" })\n\t\t\t\t\t\t: h(\"span\", { class: \"file-upload-preview-type\" }, fileType(file))\n\t\t\t\t\t),\n\t\t\t\t\th(\"figcaption\", {}, [\n\t\t\t\t\t\th(\"span\", { class: \"file-upload-preview-name\" }, file.name),\n\t\t\t\t\t\th(\"span\", { class: \"file-upload-preview-meta\" }, `${fileType(file)} / ${fileSize(file)}`)\n\t\t\t\t\t])\n\t\t\t\t]))),\n\t\t\t\tslots.actions && h(\"div\", { class: \"file-upload-actions\" }, slots.actions()),\n\t\t\t\t!slots.actions && props.modelValue.length > 0 && h(\"div\", { class: \"file-upload-actions\" }, [\n\t\t\t\t\th(GnButton, {\n\t\t\t\t\t\tvariant: \"secondary\",\n\t\t\t\t\t\tsize: \"sm\",\n\t\t\t\t\t\tonClick: () => {\n\t\t\t\t\t\t\trevokeAll();\n\t\t\t\t\t\t\tsetFiles([]);\n\t\t\t\t\t\t}\n\t\t\t\t\t}, () => \"Reset\")\n\t\t\t\t])\n\t\t\t])\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnIconButton\",\n\tinheritAttrs: false,\n\tprops: {\n\t\ticon: { type: String, required: true },\n\t\tlabel: { type: String, required: true },\n\t\ttype: { type: String, default: \"button\" },\n\t\tsize: { type: String, default: null },\n\t\twithoutHover: { type: Boolean, default: false }\n\t},\n\tsetup(props, { attrs }) {\n\t\treturn () => h(\"button\", {\n\t\t\t...attrs,\n\t\t\ttype: props.type,\n\t\t\t\"aria-label\": props.label,\n\t\t\tclass: cx(\"btn-icon\", { \"btn-icon-sm\": props.size === \"sm\", \"without-hover\": props.withoutHover }, attrs.class)\n\t\t}, [iconNode(props.icon)]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport GnAvatar from \"./GnAvatar.js\";\n\nexport default defineComponent({\n\tname: \"GnIdentity\",\n\tprops: {\n\t\ttitle: { type: String, required: true },\n\t\tmeta: { type: String, default: \"\" },\n\t\tavatar: { type: Object, default: () => ({}) }\n\t},\n\tsetup(props, { slots }) {\n\t\treturn () => h(\"span\", { class: \"identity\" }, [\n\t\t\tslots.avatar?.() || h(GnAvatar, props.avatar),\n\t\t\th(\"span\", { class: \"identity-content\" }, [\n\t\t\t\th(\"span\", { class: \"identity-title\" }, slots.title?.() || props.title),\n\t\t\t\t(props.meta || slots.meta) && h(\"span\", { class: \"identity-meta\" }, slots.meta?.() || props.meta)\n\t\t\t])\n\t\t]);\n\t}\n});\n", "/**\n * GnInput - Text input field with label, icon, state, and help text.\n *\n * @typedef {Object} GnInputProps\n * @property {string|number} [modelValue=''] - Bound value\n * @property {string} [label=''] - Label text\n * @property {string} [type='text'] - input type attribute\n * @property {string} [icon=''] - Phosphor icon name with ph- prefix (e.g. \"ph-pencil-simple\")\n * @property {string} [state=''] - error | warning | success\n * @property {string} [help=''] - Help or validation message\n * @property {boolean} [bare=false] - Render bare input without .form-group wrapper\n *\n * @emits update:modelValue\n */\nimport { defineComponent, h } from \"vue\";\nimport { cx, eventValue, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnInput\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tmodelValue: { type: [String, Number], default: \"\" },\n\t\tlabel: { type: String, default: \"\" },\n\t\ttype: { type: String, default: \"text\" },\n\t\ticon: { type: String, default: \"\" },\n\t\tstate: { type: String, default: \"\" },\n\t\thelp: { type: String, default: \"\" },\n\t\tbare: { type: Boolean, default: false }\n\t},\n\temits: [\"update:modelValue\"],\n\tsetup(props, { attrs, emit }) {\n\t\treturn () => {\n\t\t\tconst input = h(\"input\", {\n\t\t\t\t...attrs,\n\t\t\t\ttype: props.type,\n\t\t\t\tvalue: props.modelValue,\n\t\t\t\tclass: cx(props.bare ? \"\" : \"input\", attrs.class),\n\t\t\t\tonInput: event => emit(\"update:modelValue\", eventValue(event))\n\t\t\t});\n\n\t\t\tif(props.bare) {\n\t\t\t\treturn input;\n\t\t\t}\n\n\t\t\treturn h(\"div\", { class: \"form-group\" }, [\n\t\t\t\th(\"label\", { class: cx(\"label\", props.state) }, [\n\t\t\t\t\tprops.label,\n\t\t\t\t\ticonNode(props.icon),\n\t\t\t\t\tinput\n\t\t\t\t]),\n\t\t\t\tprops.help && h(\"div\", { class: cx(\"input-info\", props.state === \"error\" && \"error\") }, props.help)\n\t\t\t]);\n\t\t};\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnInputGroup\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tcompact: { type: Boolean, default: false },\n\t\taddon: { type: String, default: \"\" },\n\t\ticon: { type: String, default: \"\" }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => h(\"div\", {\n\t\t\t...attrs,\n\t\t\tclass: cx(\"input-group\", { \"input-group-compact\": props.compact }, attrs.class)\n\t\t}, [\n\t\t\t(props.addon || props.icon || slots.addon) && h(\"span\", { class: \"input-group-addon\" }, slots.addon?.() || iconNode(props.icon) || props.addon),\n\t\t\tslots.default?.(),\n\t\t\tslots.action && h(\"span\", { class: \"input-group-action\" }, slots.action())\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnList\",\n\tinheritAttrs: false,\n\tprops: {\n\t\titems: { type: Array, default: () => [] },\n\t\tordered: { type: Boolean, default: false },\n\t\ticons: { type: Boolean, default: false }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\tconst tag = props.ordered ? \"ol\" : \"ul\";\n\n\t\treturn () => h(tag, {\n\t\t\t...attrs,\n\t\t\tclass: cx(\"list\", {\n\t\t\t\t\"list-ordered\": props.ordered,\n\t\t\t\t\"with-icons\": props.icons\n\t\t\t}, attrs.class)\n\t\t}, props.items.map(item => h(\"li\", { class: \"list-item\" }, [\n\t\t\ticonNode(item.icon),\n\t\t\tslots.item?.({ item }) || item.label || item\n\t\t])));\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnLoader\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tcircle: { type: Boolean, default: false },\n\t\tlabel: { type: String, default: \"Loading\" }\n\t},\n\tsetup(props, { attrs }) {\n\t\treturn () => props.circle\n\t\t\t? h(\"div\", { ...attrs, class: cx(\"circle-loader\", attrs.class) }, [\n\t\t\t\ticonNode(\"ph-bold ph-spinner normalize\"),\n\t\t\t\tprops.label\n\t\t\t])\n\t\t\t: h(\"div\", { ...attrs, class: cx(\"loader\", attrs.class), role: \"status\", \"aria-label\": props.label });\n\t}\n});\n", "import { defineComponent, h, ref } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\nimport GnInput from \"./GnInput.js\";\nimport GnButton from \"./GnButton.js\";\nimport GnCheckbox from \"./GnCheckbox.js\";\nimport GnAlert from \"./GnAlert.js\";\n\nexport default defineComponent({\n\tname: \"GnLoginCard\",\n\tprops: {\n\t\ttitle: { type: String, default: \"Sign in\" },\n\t\tlogoSrc: { type: String, default: \"\" },\n\t\tlogoIcon: { type: String, default: \"\" },\n\t\tusernameLabel: { type: String, default: \"Username\" },\n\t\tusernameIcon: { type: String, default: \"ph-user\" },\n\t\tpasswordLabel: { type: String, default: \"Password\" },\n\t\tpasswordIcon: { type: String, default: \"ph-lock-key\" },\n\t\trememberMe: { type: Boolean, default: false },\n\t\trememberLabel: { type: String, default: \"Remember me\" },\n\t\tsubmitText: { type: String, default: \"Sign in\" },\n\t\tsubmitVariant: { type: String, default: \"secondary\" },\n\t\tloading: { type: Boolean, default: false },\n\t\terror: { type: String, default: \"\" },\n\t\tforgotHref: { type: String, default: \"#\" },\n\t\tforgotText: { type: String, default: \"Forgot password?\" },\n\t\tsignupHref: { type: String, default: \"#\" },\n\t\tsignupText: { type: String, default: \"Create account\" }\n\t},\n\temits: [\"submit\"],\n\tsetup(props, { emit }) {\n\t\tconst username = ref(\"\");\n\t\tconst password = ref(\"\");\n\t\tconst remember = ref(false);\n\n\t\tconst onSubmit = (event) => {\n\t\t\tevent.preventDefault();\n\t\t\temit(\"submit\", {\n\t\t\t\tusername: username.value,\n\t\t\t\tpassword: password.value,\n\t\t\t\tremember: remember.value\n\t\t\t});\n\t\t};\n\n\t\treturn () => h(\"article\", { class: \"card login-card\" }, [\n\t\t\t(props.title || props.logoSrc || props.logoIcon) && h(\"header\", { class: \"card-title login-card-header\" }, [\n\t\t\t\tprops.logoSrc && h(\"img\", { src: props.logoSrc, alt: \"\", class: \"login-card-logo\" }),\n\t\t\t\tprops.logoIcon && !props.logoSrc && iconNode(props.logoIcon, \"login-card-logo-icon\"),\n\t\t\t\tprops.title && h(\"span\", { class: \"login-card-title\" }, props.title)\n\t\t\t]),\n\t\t\th(\"div\", { class: \"card-content\" }, [\n\t\t\t\tprops.error && h(GnAlert, { variant: \"danger\", class: \"login-card-error\" }, () => props.error),\n\t\t\t\th(\"form\", { class: \"login-card-form\", onSubmit }, [\n\t\t\t\t\th(GnInput, {\n\t\t\t\t\t\tmodelValue: username.value,\n\t\t\t\t\t\t\"onUpdate:modelValue\": (v) => { username.value = v; },\n\t\t\t\t\t\tlabel: props.usernameLabel,\n\t\t\t\t\t\ticon: props.usernameIcon,\n\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\tautocomplete: \"username\"\n\t\t\t\t\t}),\n\t\t\t\t\th(GnInput, {\n\t\t\t\t\t\tmodelValue: password.value,\n\t\t\t\t\t\t\"onUpdate:modelValue\": (v) => { password.value = v; },\n\t\t\t\t\t\tlabel: props.passwordLabel,\n\t\t\t\t\t\ticon: props.passwordIcon,\n\t\t\t\t\t\ttype: \"password\",\n\t\t\t\t\t\tautocomplete: \"current-password\"\n\t\t\t\t\t}),\n\t\t\t\t\tprops.rememberMe && h(GnCheckbox, {\n\t\t\t\t\t\tmodelValue: remember.value,\n\t\t\t\t\t\t\"onUpdate:modelValue\": (v) => { remember.value = v; }\n\t\t\t\t\t}, () => props.rememberLabel),\n\t\t\t\t\th(GnButton, {\n\t\t\t\t\t\tvariant: props.submitVariant,\n\t\t\t\t\t\tloading: props.loading,\n\t\t\t\t\t\tdisabled: props.loading,\n\t\t\t\t\t\ttype: \"submit\",\n\t\t\t\t\t\ticon: \"ph-sign-in\",\n\t\t\t\t\t\tclass: \"login-card-submit\"\n\t\t\t\t\t}, () => props.submitText),\n\t\t\t\t\t(props.forgotHref || props.signupHref) && h(\"div\", { class: \"login-card-links\" }, [\n\t\t\t\t\t\tprops.forgotHref && h(\"a\", { href: props.forgotHref, class: \"login-card-link\" }, props.forgotText),\n\t\t\t\t\t\tprops.signupHref && h(\"a\", { href: props.signupHref, class: \"login-card-link\" }, props.signupText)\n\t\t\t\t\t])\n\t\t\t\t])\n\t\t\t])\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnMetricCard\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tlabel: { type: String, required: true },\n\t\tvalue: { type: [String, Number], required: true },\n\t\ticon: { type: String, default: \"ph-chart-line-up\" },\n\t\tdelta: { type: String, default: \"\" },\n\t\tnegative: { type: Boolean, default: false },\n\t\tmeta: { type: String, default: \"\" }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => h(\"article\", { ...attrs, class: cx(\"card metric-card\", attrs.class) }, [\n\t\t\th(\"div\", { class: \"card-content\" }, [\n\t\t\t\th(\"div\", { class: \"metric-card-header\" }, [\n\t\t\t\t\th(\"p\", { class: \"metric-card-label\" }, slots.label?.() || props.label),\n\t\t\t\t\th(\"span\", { class: \"metric-card-icon\" }, [iconNode(props.icon)])\n\t\t\t\t]),\n\t\t\t\th(\"p\", { class: \"metric-card-value\" }, slots.value?.() || props.value),\n\t\t\t\t(props.delta || props.meta || slots.meta) && h(\"div\", { class: \"metric-card-meta\" }, [\n\t\t\t\t\tprops.delta && h(\"span\", {\n\t\t\t\t\t\tclass: cx(\"metric-card-delta\", { \"metric-card-delta-negative\": props.negative })\n\t\t\t\t\t}, props.delta),\n\t\t\t\t\tslots.meta?.() || props.meta\n\t\t\t\t])\n\t\t\t])\n\t\t]);\n\t}\n});\n", "import { computed, defineComponent, h } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\nimport { tryUseRouter, tryUseRoute, isRouteActive } from \"../composables/useVueRouter.js\";\n\nexport default defineComponent({\n\tname: \"GnNavList\",\n\tinheritAttrs: false,\n\tprops: {\n\t\titems: { type: Array, default: () => [] },\n\t\tactiveMatch: { type: String, default: \"prefix\" }\n\t},\n\temits: [\"select\"],\n\tsetup(props, { attrs, emit, slots }) {\n\t\tconst router = tryUseRouter();\n\t\tconst route = tryUseRoute();\n\t\tconst hasRouter = Boolean(router && route);\n\n\t\tconst resolveHref = to => {\n\t\t\tif(!to) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\n\t\t\tif(typeof to === \"string\") {\n\t\t\t\treturn to;\n\t\t\t}\n\n\t\t\tif(to.path) {\n\t\t\t\treturn to.path;\n\t\t\t}\n\n\t\t\treturn undefined;\n\t\t};\n\n\t\tconst navItems = computed(() => props.items.map(item => {\n\t\t\tconst hasTo = Boolean(item.to);\n\t\t\tconst resolvedHref = hasTo\n\t\t\t\t? (hasRouter ? router.resolve(item.to).href : resolveHref(item.to))\n\t\t\t\t: item.href;\n\t\t\tconst isActive = hasTo && hasRouter\n\t\t\t\t? isRouteActive(route, item.to, props.activeMatch)\n\t\t\t\t: Boolean(item.active);\n\n\t\t\treturn {\n\t\t\t\t...item,\n\t\t\t\tresolvedHref,\n\t\t\t\tisActive,\n\t\t\t\thasTo\n\t\t\t};\n\t\t}));\n\n\t\treturn () => h(\"ul\", { ...attrs, class: cx(\"list list-nav\", attrs.class) }, navItems.value.map(item => h(\"li\", {\n\t\t\tclass: cx(\"list-item\", { \"list-item-active\": item.isActive })\n\t\t}, [\n\t\t\th(item.resolvedHref ? \"a\" : \"button\", {\n\t\t\t\tclass: \"list-action\",\n\t\t\t\thref: item.resolvedHref,\n\t\t\t\ttype: item.resolvedHref ? undefined : \"button\",\n\t\t\t\tonClick: event => {\n\t\t\t\t\tif(item.hasTo && hasRouter) {\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\trouter.push(item.to);\n\t\t\t\t\t}\n\n\t\t\t\t\titem.onSelect?.(item, event);\n\t\t\t\t\temit(\"select\", item);\n\t\t\t\t}\n\t\t\t}, [\n\t\t\t\th(\"span\", { class: \"list-label\" }, [\n\t\t\t\t\ticonNode(item.icon),\n\t\t\t\t\tslots.label?.({ item }) || item.label\n\t\t\t\t]),\n\t\t\t\t(item.meta || slots.meta) && h(\"span\", { class: \"list-meta\" }, slots.meta?.({ item }) || item.meta)\n\t\t\t])\n\t\t])));\n\t}\n});\n", "/**\n * Safe vue-router access without hard dependency.\n * Reads $router and $route from the component instance globalProperties.\n */\nimport { getCurrentInstance } from \"vue\";\n\nexport function tryUseRouter() {\n\tconst instance = getCurrentInstance();\n\treturn instance?.proxy?.$router || null;\n}\n\nexport function tryUseRoute() {\n\tconst instance = getCurrentInstance();\n\treturn instance?.proxy?.$route || null;\n}\n\n/**\n * Check whether a route target matches the current route.\n *\n * @param {import(\"vue\").Ref|Object} currentRoute\n * @param {string|Object} to\n * @param {string} strategy - 'exact' | 'prefix'\n * @returns {boolean}\n */\nexport function isRouteActive(currentRoute, to, strategy = \"prefix\") {\n\tif(!currentRoute) {\n\t\treturn false;\n\t}\n\n\tconst route = currentRoute.value || currentRoute;\n\n\tif(typeof to === \"string\") {\n\t\tif(strategy === \"exact\") {\n\t\t\treturn route.path === to;\n\t\t}\n\n\t\treturn route.path === to || route.path.startsWith(to + \"/\");\n\t}\n\n\tif(to.path) {\n\t\tif(strategy === \"exact\") {\n\t\t\treturn route.path === to.path;\n\t\t}\n\n\t\treturn route.path === to.path || route.path.startsWith(to.path + \"/\");\n\t}\n\n\tif(to.name) {\n\t\treturn route.name === to.name;\n\t}\n\n\treturn false;\n}\n", "import { defineComponent, h, nextTick, onBeforeUnmount, ref, watch } from \"vue\";\nimport { iconNode } from \"../utils.js\";\nimport GnNavList from \"./GnNavList.js\";\n\nlet shellId = 0;\n\nexport default defineComponent({\n\tname: \"GnNavigationShell\",\n\tprops: {\n\t\tbrand: { type: String, default: \"GNexus UI Kit\" },\n\t\tlogoSrc: { type: String, default: \"/assets/imgs/gnexus-mark.svg\" },\n\t\tcurrent: { type: String, default: \"\" },\n\t\ttitle: { type: String, default: \"Sections\" },\n\t\tsubtitle: { type: String, default: \"Navigation\" },\n\t\tfooterLeft: { type: String, default: \"\" },\n\t\tfooterRight: { type: String, default: \"\" },\n\t\titems: { type: Array, default: () => [] },\n\t\tactiveMatch: { type: String, default: \"prefix\" }\n\t},\n\temits: [\"select\"],\n\tsetup(props, { emit, slots }) {\n\t\tconst open = ref(false);\n\t\tconst drawerId = `gn-nav-drawer-${++shellId}`;\n\t\tconst drawerRef = ref(null);\n\t\tlet previousFocus = null;\n\t\tconst close = () => {\n\t\t\topen.value = false;\n\t\t};\n\t\tconst toggle = () => {\n\t\t\topen.value = !open.value;\n\t\t};\n\t\tconst onKeydown = event => {\n\t\t\tif(event.key === \"Escape\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tclose();\n\t\t\t}\n\t\t};\n\n\t\twatch(open, isOpen => {\n\t\t\tif(isOpen) {\n\t\t\t\tpreviousFocus = document.activeElement;\n\t\t\t\tdocument.body.classList.add(\"nav-drawer-open\");\n\t\t\t\tdocument.addEventListener(\"keydown\", onKeydown);\n\t\t\t\tnextTick(() => drawerRef.value?.focus());\n\t\t\t} else {\n\t\t\t\tdocument.body.classList.remove(\"nav-drawer-open\");\n\t\t\t\tdocument.removeEventListener(\"keydown\", onKeydown);\n\t\t\t\tpreviousFocus?.focus?.();\n\t\t\t\tpreviousFocus = null;\n\t\t\t}\n\t\t});\n\n\t\tonBeforeUnmount(() => {\n\t\t\tdocument.body.classList.remove(\"nav-drawer-open\");\n\t\t\tdocument.removeEventListener(\"keydown\", onKeydown);\n\t\t});\n\n\t\treturn () => [\n\t\t\th(\"header\", { class: \"nav-topbar\" }, [\n\t\t\t\th(\"button\", {\n\t\t\t\t\tclass: \"nav-topbar-toggle\",\n\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\"aria-controls\": drawerId,\n\t\t\t\t\t\"aria-expanded\": open.value ? \"true\" : \"false\",\n\t\t\t\t\tonClick: toggle\n\t\t\t\t}, [\n\t\t\t\t\ticonNode(\"ph-sidebar-simple\"),\n\t\t\t\t\th(\"span\", {}, \"Menu\")\n\t\t\t\t]),\n\t\t\t\th(\"div\", { class: \"nav-topbar-brand\" }, [\n\t\t\t\t\tprops.logoSrc && h(\"img\", { src: props.logoSrc, alt: \"\", \"aria-hidden\": \"true\" }),\n\t\t\t\t\th(\"span\", {}, slots.brand?.() || props.brand)\n\t\t\t\t]),\n\t\t\t\th(\"div\", { class: \"nav-topbar-current\" }, slots.current?.() || props.current)\n\t\t\t]),\n\t\t\th(\"div\", { class: \"nav-drawer-backdrop\", onClick: close }),\n\t\t\th(\"aside\", {\n\t\t\t\tref: drawerRef,\n\t\t\t\tclass: [\"nav-drawer\", { \"is-open\": open.value }],\n\t\t\t\tid: drawerId,\n\t\t\t\t\"aria-label\": \"Navigation\",\n\t\t\t\t\"aria-hidden\": open.value ? \"false\" : \"true\",\n\t\t\t\ttabindex: \"-1\"\n\t\t\t}, [\n\t\t\t\th(\"header\", { class: \"nav-drawer-header\" }, [\n\t\t\t\t\th(\"div\", {}, [\n\t\t\t\t\t\th(\"div\", { class: \"nav-drawer-title\" }, slots.title?.() || props.title),\n\t\t\t\t\t\th(\"div\", { class: \"nav-drawer-subtitle\" }, slots.subtitle?.() || props.subtitle)\n\t\t\t\t\t]),\n\t\t\t\t\th(\"button\", {\n\t\t\t\t\t\tclass: \"nav-drawer-close\",\n\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\t\"aria-label\": \"Close navigation\",\n\t\t\t\t\t\tonClick: close\n\t\t\t\t\t}, [iconNode(\"ph-x\")])\n\t\t\t\t]),\n\t\t\t\th(\"nav\", { class: \"nav-drawer-body\" }, [\n\t\t\t\t\tslots.default?.({ close }) || h(GnNavList, {\n\t\t\t\t\t\titems: props.items,\n\t\t\t\t\t\tactiveMatch: props.activeMatch,\n\t\t\t\t\t\tonSelect: item => {\n\t\t\t\t\t\t\temit(\"select\", item);\n\t\t\t\t\t\t\tclose();\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t]),\n\t\t\t\t(slots.footer || props.footerLeft || props.footerRight) && h(\"footer\", { class: \"nav-drawer-footer\" },\n\t\t\t\t\tslots.footer?.() || [\n\t\t\t\t\t\th(\"span\", {}, props.footerLeft),\n\t\t\t\t\t\th(\"span\", {}, props.footerRight)\n\t\t\t\t\t]\n\t\t\t\t)\n\t\t\t]),\n\t\t\tslots.content?.()\n\t\t];\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnPageHeader\",\n\tinheritAttrs: false,\n\tprops: {\n\t\ttitle: { type: String, required: true },\n\t\tsubtitle: { type: String, default: \"\" },\n\t\tkicker: { type: String, default: \"\" },\n\t\tcompact: { type: Boolean, default: false },\n\t\taccent: { type: Boolean, default: false }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => h(\"header\", {\n\t\t\t...attrs,\n\t\t\tclass: cx(\"page-header\", {\n\t\t\t\t\"page-header-compact\": props.compact,\n\t\t\t\t\"page-header-accent\": props.accent\n\t\t\t}, attrs.class)\n\t\t}, [\n\t\t\th(\"div\", { class: \"page-header-content\" }, [\n\t\t\t\t(props.kicker || slots.kicker) && h(\"div\", { class: \"page-header-kicker\" }, slots.kicker?.() || props.kicker),\n\t\t\t\th(\"h1\", { class: \"page-header-title\" }, slots.title?.() || props.title),\n\t\t\t\t(props.subtitle || slots.subtitle) && h(\"p\", { class: \"page-header-subtitle\" }, slots.subtitle?.() || props.subtitle),\n\t\t\t\tslots.meta && h(\"div\", { class: \"page-header-meta\" }, slots.meta())\n\t\t\t]),\n\t\t\tslots.actions && h(\"div\", { class: \"page-header-actions\" }, slots.actions())\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnHorizontalCard\",\n\tinheritAttrs: false,\n\tprops: {\n\t\timage: { type: String, default: \"\" },\n\t\ttitle: { type: String, default: \"\" },\n\t\ttitleHref: { type: String, default: \"\" },\n\t\ticon: { type: String, default: \"\" }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\tconst titleNode = () => {\n\t\t\tconst content = [iconNode(props.icon), slots.title?.() || props.title];\n\n\t\t\tif(props.titleHref) {\n\t\t\t\treturn h(\"a\", { href: props.titleHref, class: \"card-title-link\" }, content);\n\t\t\t}\n\n\t\t\treturn content;\n\t\t};\n\n\t\treturn () => h(\"article\", {\n\t\t\t...attrs,\n\t\t\tclass: cx(\"card card-horizontal\", attrs.class)\n\t\t}, [\n\t\t\tprops.image && h(\"div\", { class: \"card-media\" }, [\n\t\t\t\th(\"img\", { src: props.image, alt: \"\" })\n\t\t\t]),\n\t\t\th(\"div\", { class: \"card-body\" }, [\n\t\t\t\t(props.title || props.icon || slots.title) && h(\"h3\", { class: \"card-title\" }, titleNode()),\n\t\t\t\th(\"div\", { class: \"card-content\" }, slots.default?.()),\n\t\t\t\tslots.footer && h(\"footer\", { class: \"card-footer\" }, slots.footer())\n\t\t\t])\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnPagination\",\n\tprops: {\n\t\tpage: { type: Number, required: true },\n\t\ttotalPages: { type: Number, required: true },\n\t\tariaLabel: { type: String, default: \"Pagination\" }\n\t},\n\temits: [\"update:page\"],\n\tsetup(props, { emit }) {\n\t\tconst setPage = page => {\n\t\t\tif(page >= 1 && page <= props.totalPages && page !== props.page) {\n\t\t\t\temit(\"update:page\", page);\n\t\t\t}\n\t\t};\n\n\t\treturn () => {\n\t\t\tconst pages = Array.from({ length: props.totalPages }, (_, index) => index + 1);\n\n\t\t\treturn h(\"nav\", { class: \"pagination\", \"aria-label\": props.ariaLabel }, [\n\t\t\t\th(\"button\", {\n\t\t\t\t\tclass: \"pagination-item\",\n\t\t\t\t\ttype: \"button\",\n\t\t\t\t\tdisabled: props.page <= 1,\n\t\t\t\t\tonClick: () => setPage(props.page - 1)\n\t\t\t\t}, [iconNode(\"ph-arrow-left\")]),\n\t\t\t\tpages.map(page => h(\"button\", {\n\t\t\t\t\tclass: cx(\"pagination-item\", { \"pagination-item-active\": page === props.page }),\n\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\"aria-current\": page === props.page ? \"page\" : undefined,\n\t\t\t\t\tonClick: () => setPage(page)\n\t\t\t\t}, page)),\n\t\t\t\th(\"button\", {\n\t\t\t\t\tclass: \"pagination-item\",\n\t\t\t\t\ttype: \"button\",\n\t\t\t\t\tdisabled: props.page >= props.totalPages,\n\t\t\t\t\tonClick: () => setPage(props.page + 1)\n\t\t\t\t}, [iconNode(\"ph-arrow-right\")])\n\t\t\t]);\n\t\t};\n\t}\n});\n", "import { defineComponent, h, onBeforeUnmount, ref } from \"vue\";\nimport { cx } from \"../utils.js\";\nimport GnButton from \"./GnButton.js\";\n\nexport default defineComponent({\n\tname: \"GnPopover\",\n\tprops: {\n\t\tlabel: { type: String, default: \"Details\" },\n\t\ttitle: { type: String, default: \"\" },\n\t\ttext: { type: String, default: \"\" },\n\t\ticon: { type: String, default: \"ph-info\" },\n\t\tvariant: { type: String, default: \"accent\" }\n\t},\n\tsetup(props, { slots }) {\n\t\tconst open = ref(false);\n\t\tconst root = ref(null);\n\t\tconst close = () => {\n\t\t\topen.value = false;\n\t\t\tdocument.removeEventListener(\"click\", onOutsideClick);\n\t\t\tdocument.removeEventListener(\"keydown\", onKeydown);\n\t\t};\n\t\tconst onOutsideClick = event => {\n\t\t\tif(root.value && !root.value.contains(event.target)) {\n\t\t\t\tclose();\n\t\t\t}\n\t\t};\n\t\tconst onKeydown = event => {\n\t\t\tif(event.key === \"Escape\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tclose();\n\t\t\t}\n\t\t};\n\t\tconst toggle = () => {\n\t\t\topen.value = !open.value;\n\n\t\t\tif(open.value) {\n\t\t\t\tsetTimeout(() => document.addEventListener(\"click\", onOutsideClick), 0);\n\t\t\t\tdocument.addEventListener(\"keydown\", onKeydown);\n\t\t\t} else {\n\t\t\t\tclose();\n\t\t\t}\n\t\t};\n\n\t\tonBeforeUnmount(close);\n\n\t\treturn () => h(\"div\", { ref: root, class: cx(\"popover\", { \"is-open\": open.value }) }, [\n\t\t\tslots.trigger?.({ open: open.value, toggle }) || h(GnButton, {\n\t\t\t\tvariant: props.variant,\n\t\t\t\ticon: props.icon,\n\t\t\t\t\"aria-expanded\": open.value ? \"true\" : \"false\",\n\t\t\t\tonClick: toggle\n\t\t\t}, () => props.label),\n\t\t\th(\"div\", { class: \"popover-panel\" }, [\n\t\t\t\t(props.title || slots.title) && h(\"h3\", { class: \"popover-title\" }, slots.title?.() || props.title),\n\t\t\t\t(props.text || slots.default) && h(\"p\", { class: \"popover-text\" }, slots.default?.() || props.text)\n\t\t\t])\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, normalizeVariant } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnProgress\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tvalue: { type: Number, required: true },\n\t\tmax: { type: Number, default: 100 },\n\t\tlabel: { type: String, default: \"\" },\n\t\tvariant: { type: String, default: \"secondary\" },\n\t\tstriped: { type: Boolean, default: false },\n\t\tanimated: { type: Boolean, default: false }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => {\n\t\t\tconst percent = Math.max(0, Math.min(100, Math.round((props.value / props.max) * 100)));\n\t\t\tconst variant = normalizeVariant(props.variant, \"secondary\");\n\n\t\t\treturn h(\"div\", {\n\t\t\t\t...attrs,\n\t\t\t\tclass: cx(\"progress\", `progress-${variant}`, {\n\t\t\t\t\t\"progress-striped\": props.striped,\n\t\t\t\t\t\"progress-animated\": props.animated\n\t\t\t\t}, attrs.class),\n\t\t\t\tstyle: { \"--progress-value\": `${percent}%` }\n\t\t\t}, [\n\t\t\t\t(props.label || slots.label) && h(\"div\", { class: \"progress-header\" }, [\n\t\t\t\t\th(\"span\", {}, slots.label?.() || props.label),\n\t\t\t\t\th(\"span\", { class: \"progress-value\" }, `${percent}%`)\n\t\t\t\t]),\n\t\t\t\th(\"div\", { class: \"progress-track\" }, [\n\t\t\t\t\th(\"span\", {\n\t\t\t\t\t\tclass: \"progress-bar\",\n\t\t\t\t\t\trole: \"progressbar\",\n\t\t\t\t\t\t\"aria-valuenow\": props.value,\n\t\t\t\t\t\t\"aria-valuemin\": 0,\n\t\t\t\t\t\t\"aria-valuemax\": props.max\n\t\t\t\t\t})\n\t\t\t\t])\n\t\t\t]);\n\t\t};\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnProgressStages\",\n\tinheritAttrs: false,\n\tprops: {\n\t\titems: { type: Array, default: () => [] }\n\t},\n\tsetup(props, { attrs }) {\n\t\treturn () => h(\"div\", { ...attrs, class: cx(\"progress-stages\", attrs.class) }, props.items.map(item => h(\"div\", {\n\t\t\tclass: cx(\"progress-stage\", {\n\t\t\t\t\"progress-stage-complete\": item.status === \"complete\",\n\t\t\t\t\"progress-stage-current\": item.status === \"current\"\n\t\t\t})\n\t\t}, item.label || item)));\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnRadio\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tmodelValue: { type: [String, Number, Boolean], default: \"\" },\n\t\tvalue: { type: [String, Number, Boolean], required: true },\n\t\tlabel: { type: String, default: \"\" },\n\t\tname: { type: String, default: \"\" },\n\t\tdisabled: { type: Boolean, default: false }\n\t},\n\temits: [\"update:modelValue\"],\n\tsetup(props, { attrs, emit, slots }) {\n\t\treturn () => h(\"label\", { class: cx(\"radio\", attrs.class) }, [\n\t\t\th(\"input\", {\n\t\t\t\t...attrs,\n\t\t\t\ttype: \"radio\",\n\t\t\t\tname: props.name,\n\t\t\t\tvalue: props.value,\n\t\t\t\tchecked: props.modelValue === props.value,\n\t\t\t\tdisabled: props.disabled,\n\t\t\t\tonChange: () => emit(\"update:modelValue\", props.value)\n\t\t\t}),\n\t\t\th(\"span\", { class: \"radio-control\", \"aria-hidden\": \"true\" }),\n\t\t\th(\"span\", { class: \"radio-label\" }, slots.default?.() || props.label)\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport GnRadio from \"./GnRadio.js\";\n\nexport default defineComponent({\n\tname: \"GnRadioGroup\",\n\tprops: {\n\t\tmodelValue: { type: [String, Number, Boolean], default: \"\" },\n\t\tname: { type: String, default: \"gn-radio-group\" },\n\t\tlabel: { type: String, default: \"\" },\n\t\toptions: { type: Array, default: () => [] }\n\t},\n\temits: [\"update:modelValue\"],\n\tsetup(props, { emit, slots }) {\n\t\treturn () => h(\"div\", { class: \"form-group radio-group\", role: \"radiogroup\", \"aria-label\": props.label || undefined }, [\n\t\t\tprops.label && h(\"div\", { class: \"label\" }, props.label),\n\t\t\tslots.default?.() || props.options.map(option => h(GnRadio, {\n\t\t\t\tmodelValue: props.modelValue,\n\t\t\t\t\"onUpdate:modelValue\": value => emit(\"update:modelValue\", value),\n\t\t\t\tname: props.name,\n\t\t\t\tvalue: option.value,\n\t\t\t\tlabel: option.label,\n\t\t\t\tdisabled: option.disabled\n\t\t\t}))\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { eventValue } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnRange\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tmodelValue: { type: [Number, String], default: 0 },\n\t\tlabel: { type: String, default: \"\" },\n\t\tmin: { type: [Number, String], default: 0 },\n\t\tmax: { type: [Number, String], default: 100 },\n\t\tstep: { type: [Number, String], default: 1 }\n\t},\n\temits: [\"update:modelValue\"],\n\tsetup(props, { attrs, emit }) {\n\t\treturn () => h(\"div\", { class: \"range\" }, [\n\t\t\th(\"label\", { class: \"label\" }, [\n\t\t\t\tprops.label,\n\t\t\t\th(\"input\", {\n\t\t\t\t\t...attrs,\n\t\t\t\t\ttype: \"range\",\n\t\t\t\t\tvalue: props.modelValue,\n\t\t\t\t\tmin: props.min,\n\t\t\t\t\tmax: props.max,\n\t\t\t\t\tstep: props.step,\n\t\t\t\t\tonInput: event => emit(\"update:modelValue\", eventValue(event))\n\t\t\t\t})\n\t\t\t])\n\t\t]);\n\t}\n});\n", "import { defineComponent, h, computed } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\n\nlet _id = 0;\nfunction nextId() {\n\treturn `repeater-item-${++_id}`;\n}\n\nexport default defineComponent({\n\tname: \"GnRepeater\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tmodelValue: { type: Array, default: () => [] },\n\t\tlabel: { type: String, default: \"Items\" },\n\t\taddLabel: { type: String, default: \"Add\" },\n\t\taddIcon: { type: String, default: \"ph-plus\" },\n\t\tremoveLabel: { type: String, default: \"Remove\" },\n\t\tremoveIcon: { type: String, default: \"ph-trash\" },\n\t\tminItems: { type: Number, default: 1 },\n\t\tmaxItems: { type: Number, default: 0 },\n\t\titemFactory: {\n\t\t\ttype: Function,\n\t\t\tdefault: () => () => ({ id: nextId() })\n\t\t},\n\t\tdisabled: { type: Boolean, default: false }\n\t},\n\temits: [\"update:modelValue\", \"add\", \"remove\"],\n\tsetup(props, { attrs, emit, slots }) {\n\t\tconst canAdd = computed(() => {\n\t\t\tif(props.disabled) return false;\n\t\t\tif(props.maxItems > 0 && props.modelValue.length >= props.maxItems) return false;\n\t\t\treturn true;\n\t\t});\n\n\t\tfunction canRemove(index) {\n\t\t\tif(props.disabled) return false;\n\t\t\tif(props.modelValue.length <= props.minItems) return false;\n\t\t\treturn true;\n\t\t}\n\n\t\tfunction add() {\n\t\t\tif(!canAdd.value) return;\n\t\t\tconst item = props.itemFactory();\n\t\t\tconst next = [...props.modelValue, item];\n\t\t\temit(\"update:modelValue\", next);\n\t\t\temit(\"add\", item);\n\t\t}\n\n\t\tfunction remove(index) {\n\t\t\tif(!canRemove(index)) return;\n\t\t\tconst removed = props.modelValue[index];\n\t\t\tconst next = props.modelValue.filter((_, i) => i !== index);\n\t\t\temit(\"update:modelValue\", next);\n\t\t\temit(\"remove\", removed);\n\t\t}\n\n\t\treturn () => {\n\t\t\tconst headerSlot = slots.header?.({ add, canAdd: canAdd.value });\n\t\t\tconst header = headerSlot || h(\"div\", { class: \"repeater-header\" }, [\n\t\t\t\th(\"span\", { class: \"repeater-title\" }, props.label),\n\t\t\t\th(\"button\", {\n\t\t\t\t\ttype: \"button\",\n\t\t\t\t\tclass: cx(\"btn\", \"btn-secondary\", \"btn-small\", \"with-icon\"),\n\t\t\t\t\tdisabled: !canAdd.value,\n\t\t\t\t\tonClick: add\n\t\t\t\t}, [\n\t\t\t\t\ticonNode(props.addIcon),\n\t\t\t\t\tprops.addLabel\n\t\t\t\t])\n\t\t\t]);\n\n\t\t\tconst items = props.modelValue.map((item, index) => {\n\t\t\t\tconst itemKey = item?.id ?? item?.key ?? index;\n\t\t\t\tconst removable = canRemove(index);\n\t\t\t\tconst scope = { item, index, remove: () => remove(index), canRemove: removable };\n\n\t\t\t\tconst body = slots.item?.(scope);\n\t\t\t\tconst actions = slots.actions?.(scope);\n\n\t\t\t\tconst defaultActions = !slots.actions && h(\"button\", {\n\t\t\t\t\ttype: \"button\",\n\t\t\t\t\tclass: cx(\"btn-icon\", \"btn-icon-sm\"),\n\t\t\t\t\t\"aria-label\": props.removeLabel,\n\t\t\t\t\tdisabled: !removable,\n\t\t\t\t\tonClick: (e) => {\n\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\tremove(index);\n\t\t\t\t\t}\n\t\t\t\t}, [iconNode(props.removeIcon)]);\n\n\t\t\t\treturn h(\"div\", {\n\t\t\t\t\tclass: \"repeater-item\",\n\t\t\t\t\tkey: itemKey\n\t\t\t\t}, [\n\t\t\t\t\th(\"div\", { class: \"repeater-item-body\" }, body),\n\t\t\t\t\t(actions || defaultActions) && h(\"div\", { class: \"repeater-item-actions\" }, actions || [defaultActions])\n\t\t\t\t]);\n\t\t\t});\n\n\t\t\treturn h(\"div\", {\n\t\t\t\t...attrs,\n\t\t\t\tclass: cx(\"repeater\", { \"repeater-disabled\": props.disabled }, attrs.class)\n\t\t\t}, [\n\t\t\t\theader,\n\t\t\t\th(\"div\", { class: \"repeater-list\" }, items)\n\t\t\t]);\n\t\t};\n\t}\n});\n", "/**\n * GnRouterTabs \u2014 Router-aware tab switcher.\n *\n * Wraps GnTabs and drives active state from the current vue-router route.\n * When a tab is activated, the component calls router.push(item.to)\n * instead of emitting update:modelValue.\n *\n * @typedef {Object} GnRouterTabsItem\n * @property {string} id - Slot name and tab identifier\n * @property {string|Object} to - Route target (string path or { name, params, query })\n * @property {string} label - Tab label text\n * @property {string} [icon] - Phosphor icon name with ph- prefix\n * @property {boolean} [disabled] - Disabled state\n *\n * @typedef {Object} GnRouterTabsProps\n * @property {Array} items - Array of GnRouterTabsItem\n * @property {boolean} [compact=false] - Compact size\n * @property {boolean} [vertical=false] - Vertical layout\n * @property {string} [ariaLabel='Tabs'] - ARIA label\n * @property {string} [activeMatch='prefix'] - 'exact' | 'prefix' \u2014 how to match current route against item.to\n *\n * @slots [item.id] - One slot per item id\n */\nimport { computed, defineComponent, h, watch } from \"vue\";\nimport { tryUseRouter, tryUseRoute, isRouteActive } from \"../composables/useVueRouter.js\";\nimport GnTabs from \"./GnTabs.js\";\n\nexport default defineComponent({\n\tname: \"GnRouterTabs\",\n\tprops: {\n\t\titems: { type: Array, required: true },\n\t\tcompact: { type: Boolean, default: false },\n\t\tvertical: { type: Boolean, default: false },\n\t\tariaLabel: { type: String, default: \"Tabs\" },\n\t\tactiveMatch: { type: String, default: \"prefix\" }\n\t},\n\tsetup(props, { slots }) {\n\t\tconst router = tryUseRouter();\n\t\tconst route = tryUseRoute();\n\n\t\tconst hasRouter = Boolean(router && route);\n\n\t\tif(!hasRouter && typeof process !== \"undefined\" && process.env && process.env.NODE_ENV !== \"production\") {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.warn(\"[gnexus-ui-kit] GnRouterTabs requires vue-router. Falling back to standard tabs.\");\n\t\t}\n\n\t\tconst tabItems = computed(() => props.items.map(item => ({\n\t\t\tid: item.id,\n\t\t\tlabel: item.label,\n\t\t\ticon: item.icon,\n\t\t\tdisabled: item.disabled,\n\t\t\tto: item.to\n\t\t})));\n\n\t\tconst activeId = computed(() => {\n\t\t\tif(!hasRouter) {\n\t\t\t\treturn tabItems.value.find(item => !item.disabled)?.id || \"\";\n\t\t\t}\n\n\t\t\tconst matched = tabItems.value.find(item => {\n\t\t\t\tif(item.disabled || !item.to) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\treturn isRouteActive(route, item.to, props.activeMatch);\n\t\t\t});\n\n\t\t\treturn matched?.id || tabItems.value.find(item => !item.disabled)?.id || \"\";\n\t\t});\n\n\t\tconst onUpdate = id => {\n\t\t\tif(!hasRouter) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst item = tabItems.value.find(i => i.id === id);\n\n\t\t\tif(item && item.to) {\n\t\t\t\trouter.push(item.to);\n\t\t\t}\n\t\t};\n\n\t\treturn () => h(GnTabs, {\n\t\t\tmodelValue: activeId.value,\n\t\t\titems: tabItems.value,\n\t\t\tcompact: props.compact,\n\t\t\tvertical: props.vertical,\n\t\t\tariaLabel: props.ariaLabel,\n\t\t\t\"onUpdate:modelValue\": onUpdate\n\t\t}, slots);\n\t}\n});\n", "/**\n * GnTabs - Accessible tab switcher with keyboard navigation.\n *\n * @typedef {Object} GnTabsProps\n * @property {string} [modelValue=''] - Active tab id\n * @property {Array} items - Array of { id, label, icon?, disabled? }\n * @property {boolean} [compact=false] - Compact size\n * @property {boolean} [vertical=false] - Vertical layout\n * @property {string} [ariaLabel='Tabs'] - ARIA label for the tablist\n *\n * @slots [item.id] - One slot per item id: \n * @emits update:modelValue\n */\nimport { computed, defineComponent, h } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnTabs\",\n\tprops: {\n\t\tmodelValue: { type: String, default: \"\" },\n\t\titems: { type: Array, required: true },\n\t\tcompact: { type: Boolean, default: false },\n\t\tvertical: { type: Boolean, default: false },\n\t\tariaLabel: { type: String, default: \"Tabs\" }\n\t},\n\temits: [\"update:modelValue\"],\n\tsetup(props, { emit, slots }) {\n\t\tconst activeId = computed(() => props.modelValue || props.items.find(item => !item.disabled)?.id || props.items[0]?.id);\n\n\t\tconst activate = item => {\n\t\t\tif(!item.disabled) {\n\t\t\t\temit(\"update:modelValue\", item.id);\n\t\t\t}\n\t\t};\n\t\tconst enabledItems = () => props.items.filter(item => !item.disabled);\n\t\tconst move = (item, direction) => {\n\t\t\tconst items = enabledItems();\n\t\t\tconst index = items.findIndex(enabled => enabled.id === item.id);\n\t\t\tconst next = items[(index + direction + items.length) % items.length];\n\t\t\tactivate(next);\n\t\t};\n\t\tconst handleKeydown = (event, item) => {\n\t\t\tif(event.key === \"ArrowRight\" || event.key === \"ArrowDown\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tmove(item, 1);\n\t\t\t} else if(event.key === \"ArrowLeft\" || event.key === \"ArrowUp\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tmove(item, -1);\n\t\t\t} else if(event.key === \"Home\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tactivate(enabledItems()[0]);\n\t\t\t} else if(event.key === \"End\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tconst items = enabledItems();\n\t\t\t\tactivate(items[items.length - 1]);\n\t\t\t}\n\t\t};\n\n\t\treturn () => h(\"div\", {\n\t\t\tclass: cx(\"tabs\", {\n\t\t\t\t\"tabs-compact\": props.compact,\n\t\t\t\t\"tabs-vertical\": props.vertical\n\t\t\t})\n\t\t}, [\n\t\t\th(\"div\", { class: \"tabs-list\", role: \"tablist\", \"aria-label\": props.ariaLabel }, props.items.map(item => {\n\t\t\t\tconst active = item.id === activeId.value;\n\t\t\t\tconst panelId = `${item.id}-panel`;\n\n\t\t\t\treturn h(\"button\", {\n\t\t\t\t\tclass: cx(\"tab\", { \"tab-active\": active }),\n\t\t\t\t\ttype: \"button\",\n\t\t\t\t\trole: \"tab\",\n\t\t\t\t\t\"aria-selected\": active ? \"true\" : \"false\",\n\t\t\t\t\t\"aria-controls\": panelId,\n\t\t\t\t\t\"aria-disabled\": item.disabled ? \"true\" : undefined,\n\t\t\t\t\ttabindex: active ? \"0\" : \"-1\",\n\t\t\t\t\tonClick: () => activate(item),\n\t\t\t\t\tonKeydown: event => handleKeydown(event, item)\n\t\t\t\t}, [\n\t\t\t\t\ticonNode(item.icon),\n\t\t\t\t\titem.label\n\t\t\t\t]);\n\t\t\t})),\n\t\t\th(\"div\", { class: \"tabs-panels\" }, props.items.map(item => {\n\t\t\t\tconst active = item.id === activeId.value;\n\n\t\t\t\treturn h(\"div\", {\n\t\t\t\t\tid: `${item.id}-panel`,\n\t\t\t\t\tclass: cx(\"tab-panel\", { \"tab-panel-active\": active }),\n\t\t\t\t\trole: \"tabpanel\",\n\t\t\t\t\thidden: !active\n\t\t\t\t}, slots[item.id]?.({ item, active }) || (active && slots.default?.({ item, active })));\n\t\t\t}))\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, eventValue, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnSearchField\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tmodelValue: { type: String, default: \"\" },\n\t\tplaceholder: { type: String, default: \"Search\" },\n\t\tcompact: { type: Boolean, default: true },\n\t\tclearable: { type: Boolean, default: true }\n\t},\n\temits: [\"update:modelValue\", \"clear\"],\n\tsetup(props, { attrs, emit }) {\n\t\tconst clear = () => {\n\t\t\temit(\"update:modelValue\", \"\");\n\t\t\temit(\"clear\");\n\t\t};\n\n\t\treturn () => h(\"div\", {\n\t\t\tclass: cx(\"input-group search-field\", { \"input-group-compact\": props.compact })\n\t\t}, [\n\t\t\th(\"span\", { class: \"input-group-addon\" }, [iconNode(\"ph-magnifying-glass\")]),\n\t\t\th(\"input\", {\n\t\t\t\t...attrs,\n\t\t\t\ttype: \"search\",\n\t\t\t\tvalue: props.modelValue,\n\t\t\t\tplaceholder: props.placeholder,\n\t\t\t\tclass: cx(\"input-group-input\", attrs.class),\n\t\t\t\tonInput: event => emit(\"update:modelValue\", eventValue(event))\n\t\t\t}),\n\t\t\tprops.clearable && h(\"button\", {\n\t\t\t\tclass: \"input-group-action\",\n\t\t\t\ttype: \"button\",\n\t\t\t\t\"aria-label\": \"Clear search\",\n\t\t\t\tonClick: clear\n\t\t\t}, [iconNode(\"ph-x\")])\n\t\t]);\n\t}\n});\n", "/**\n * GnSelect - Dropdown select with label, icon, state, and help text.\n *\n * @typedef {Object} GnSelectProps\n * @property {string|number} [modelValue=''] - Bound value\n * @property {string} [label=''] - Label text\n * @property {string} [icon=''] - Phosphor icon name with ph- prefix\n * @property {string} [state=''] - error | warning | success\n * @property {string} [help=''] - Help or validation message\n * @property {Array} [options=[]] - Array of strings or { value, label } objects\n *\n * @slots default - Override option nodes\n * @emits update:modelValue\n */\nimport { defineComponent, h } from \"vue\";\nimport { cx, eventValue, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnSelect\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tmodelValue: { type: [String, Number], default: \"\" },\n\t\tlabel: { type: String, default: \"\" },\n\t\ticon: { type: String, default: \"\" },\n\t\tstate: { type: String, default: \"\" },\n\t\thelp: { type: String, default: \"\" },\n\t\toptions: { type: Array, default: () => [] }\n\t},\n\temits: [\"update:modelValue\"],\n\tsetup(props, { attrs, emit, slots }) {\n\t\tconst optionNodes = () => props.options.map(option => {\n\t\t\tconst value = typeof option === \"object\" ? option.value : option;\n\t\t\tconst label = typeof option === \"object\" ? option.label : option;\n\n\t\t\treturn h(\"option\", { value }, label);\n\t\t});\n\n\t\treturn () => h(\"div\", { class: \"form-group\" }, [\n\t\t\th(\"label\", { class: cx(\"label\", props.state) }, [\n\t\t\t\tprops.label,\n\t\t\t\ticonNode(props.icon),\n\t\t\t\th(\"div\", { class: \"select-wrap\" }, [\n\t\t\t\t\th(\"select\", {\n\t\t\t\t\t\t...attrs,\n\t\t\t\t\t\tvalue: props.modelValue,\n\t\t\t\t\t\tclass: cx(\"input select\", attrs.class),\n\t\t\t\t\t\tonChange: event => emit(\"update:modelValue\", eventValue(event))\n\t\t\t\t\t}, slots.default?.() || optionNodes())\n\t\t\t\t])\n\t\t\t]),\n\t\t\tprops.help && h(\"div\", { class: cx(\"input-info\", props.state === \"error\" && \"error\") }, props.help)\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnSkeleton\",\n\tinheritAttrs: false,\n\tprops: {\n\t\ttype: { type: String, default: \"line\" },\n\t\tstack: { type: Boolean, default: false },\n\t\tcount: { type: Number, default: 1 }\n\t},\n\tsetup(props, { attrs }) {\n\t\tconst skeleton = key => h(\"span\", {\n\t\t\tkey,\n\t\t\t...attrs,\n\t\t\tclass: cx(\"skeleton\", `skeleton-${props.type}`, attrs.class)\n\t\t});\n\n\t\treturn () => props.stack\n\t\t\t? h(\"div\", { class: \"skeleton-stack\" }, Array.from({ length: props.count }, (_, index) => skeleton(index)))\n\t\t\t: skeleton(0);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnSteps\",\n\tinheritAttrs: false,\n\tprops: {\n\t\titems: { type: Array, required: true },\n\t\tvertical: { type: Boolean, default: false }\n\t},\n\tsetup(props, { attrs }) {\n\t\treturn () => h(\"ol\", {\n\t\t\t...attrs,\n\t\t\tclass: cx(\"steps\", { \"steps-vertical\": props.vertical }, attrs.class)\n\t\t}, props.items.map((item, index) => h(\"li\", {\n\t\t\tclass: cx(\"step\", {\n\t\t\t\t\"step-complete\": item.status === \"complete\",\n\t\t\t\t\"step-current\": item.status === \"current\",\n\t\t\t\t\"step-disabled\": item.disabled || item.status === \"disabled\"\n\t\t\t})\n\t\t}, [\n\t\t\th(\"span\", { class: \"step-marker\" }, item.marker || String(index + 1)),\n\t\t\th(\"h3\", { class: \"step-title\" }, item.title),\n\t\t\titem.text && h(\"p\", { class: \"step-text\" }, item.text)\n\t\t])));\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, iconNode, normalizeVariant } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnStatusCard\",\n\tinheritAttrs: false,\n\tprops: {\n\t\ttitle: { type: String, required: true },\n\t\ttext: { type: String, default: \"\" },\n\t\ticon: { type: String, default: \"ph-stack\" },\n\t\tvariant: { type: String, default: \"primary\" }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\tconst variant = normalizeVariant(props.variant);\n\n\t\treturn () => h(\"article\", { ...attrs, class: cx(\"card status-card\", `card-${variant}`, attrs.class) }, [\n\t\t\th(\"span\", { class: \"card-title\" }, slots.title?.() || props.title),\n\t\t\th(\"div\", { class: \"card-content\" }, [\n\t\t\t\th(\"div\", { class: \"status-icon-container\" }, [\n\t\t\t\t\th(\"div\", { class: \"status-icon\" }, slots.icon?.() || [iconNode(props.icon)])\n\t\t\t\t]),\n\t\t\t\t(props.text || slots.default) && h(\"p\", { class: \"status-name\" }, slots.default?.() || props.text)\n\t\t\t])\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnSwitch\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tmodelValue: { type: Boolean, default: false },\n\t\tlabel: { type: String, default: \"\" },\n\t\tdisabled: { type: Boolean, default: false }\n\t},\n\temits: [\"update:modelValue\"],\n\tsetup(props, { attrs, emit, slots }) {\n\t\treturn () => h(\"label\", { class: cx(\"switch\", attrs.class) }, [\n\t\t\th(\"input\", {\n\t\t\t\t...attrs,\n\t\t\t\ttype: \"checkbox\",\n\t\t\t\tchecked: props.modelValue,\n\t\t\t\tdisabled: props.disabled,\n\t\t\t\tonChange: event => emit(\"update:modelValue\", event.target.checked)\n\t\t\t}),\n\t\t\th(\"span\", { class: \"switch-control\", \"aria-hidden\": \"true\" }),\n\t\t\th(\"span\", { class: \"switch-label\" }, slots.default?.() || props.label)\n\t\t]);\n\t}\n});\n", "import { defineComponent, h, ref, computed } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnTagInput\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tmodelValue: { type: Array, default: () => [] },\n\t\tlabel: { type: String, default: \"\" },\n\t\tplaceholder: { type: String, default: \"Add item\u2026\" },\n\t\thelp: { type: String, default: \"\" },\n\t\tdisabled: { type: Boolean, default: false },\n\t\tseparator: { type: String, default: \",\" },\n\t\tunique: { type: Boolean, default: true },\n\t\tmaxItems: { type: Number, default: 0 }\n\t},\n\temits: [\"update:modelValue\", \"add\", \"remove\"],\n\tsetup(props, { emit, attrs, slots }) {\n\t\tconst inputRef = ref(null);\n\t\tconst focused = ref(false);\n\t\tconst rawValue = ref(\"\");\n\n\t\tconst canAdd = computed(() => {\n\t\t\tif(props.disabled) return false;\n\t\t\tif(props.maxItems > 0 && props.modelValue.length >= props.maxItems) return false;\n\t\t\treturn true;\n\t\t});\n\n\t\tfunction normalizeText(text) {\n\t\t\treturn text.trim().replace(/\\s+/g, \" \");\n\t\t}\n\n\t\tfunction addValue(text) {\n\t\t\tconst value = normalizeText(text);\n\t\t\tif(!value) return;\n\t\t\tif(props.unique && props.modelValue.includes(value)) return;\n\t\t\tif(props.maxItems > 0 && props.modelValue.length >= props.maxItems) return;\n\n\t\t\tconst next = [...props.modelValue, value];\n\t\t\temit(\"update:modelValue\", next);\n\t\t\temit(\"add\", value);\n\t\t}\n\n\t\tfunction removeValue(index) {\n\t\t\tconst removed = props.modelValue[index];\n\t\t\tconst next = props.modelValue.filter((_, i) => i !== index);\n\t\t\temit(\"update:modelValue\", next);\n\t\t\temit(\"remove\", removed);\n\t\t}\n\n\t\tfunction onKeydown(event) {\n\t\t\tif(event.key === \"Enter\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tif(rawValue.value) {\n\t\t\t\t\tconst parts = props.separator\n\t\t\t\t\t\t? rawValue.value.split(props.separator).map(s => s.trim()).filter(Boolean)\n\t\t\t\t\t\t: [rawValue.value];\n\t\t\t\t\tparts.forEach(addValue);\n\t\t\t\t\trawValue.value = \"\";\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif(event.key === \"Backspace\" && !rawValue.value && props.modelValue.length > 0) {\n\t\t\t\tremoveValue(props.modelValue.length - 1);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tfunction onPaste(event) {\n\t\t\tconst paste = event.clipboardData.getData(\"text\");\n\t\t\tif(!paste || !props.separator) return;\n\t\t\tevent.preventDefault();\n\t\t\tconst parts = paste.split(props.separator).map(s => s.trim()).filter(Boolean);\n\t\t\tconst appended = [];\n\t\t\tfor(const part of parts) {\n\t\t\t\tconst v = normalizeText(part);\n\t\t\t\tif(!v) continue;\n\t\t\t\tif(props.unique && props.modelValue.includes(v)) continue;\n\t\t\t\tif(props.maxItems > 0 && props.modelValue.length + appended.length >= props.maxItems) break;\n\t\t\t\tappended.push(v);\n\t\t\t}\n\t\t\tif(appended.length) {\n\t\t\t\tconst next = [...props.modelValue, ...appended];\n\t\t\t\temit(\"update:modelValue\", next);\n\t\t\t\tappended.forEach(v => emit(\"add\", v));\n\t\t\t}\n\t\t}\n\n\t\tfunction onWrapClick() {\n\t\t\tinputRef.value?.focus();\n\t\t}\n\n\t\treturn () => {\n\t\t\tconst labelNode = props.label || slots.label\n\t\t\t\t? h(\"label\", { class: \"label\" }, [\n\t\t\t\t\tslots.label?.() || props.label,\n\t\t\t\t\tprops.disabled && h(\"span\", { class: \"label-disabled-hint\" }, \"Disabled\")\n\t\t\t\t])\n\t\t\t\t: null;\n\n\t\t\tconst chips = props.modelValue.map((item, index) =>\n\t\t\t\th(\"span\", {\n\t\t\t\t\tclass: cx(\"chip\", \"chip-secondary\"),\n\t\t\t\t\tkey: `${item}-${index}`\n\t\t\t\t}, [\n\t\t\t\t\titem,\n\t\t\t\t\t!props.disabled && h(\"button\", {\n\t\t\t\t\t\tclass: \"chip-remove\",\n\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\t\"aria-label\": `Remove ${item}`,\n\t\t\t\t\t\tonClick: (e) => {\n\t\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\t\tremoveValue(index);\n\t\t\t\t\t\t}\n\t\t\t\t\t}, [h(\"i\", { class: \"ph ph-x\" })])\n\t\t\t\t])\n\t\t\t);\n\n\t\t\tconst field = h(\"input\", {\n\t\t\t\tref: inputRef,\n\t\t\t\tclass: \"tag-input-field\",\n\t\t\t\ttype: \"text\",\n\t\t\t\tplaceholder: canAdd.value ? props.placeholder : \"\",\n\t\t\t\tvalue: rawValue.value,\n\t\t\t\tdisabled: props.disabled,\n\t\t\t\tonInput: (e) => { rawValue.value = e.target.value; },\n\t\t\t\tonKeydown,\n\t\t\t\tonPaste,\n\t\t\t\tonFocus: () => focused.value = true,\n\t\t\t\tonBlur: () => focused.value = false\n\t\t\t});\n\n\t\t\tconst wrap = h(\"div\", {\n\t\t\t\tclass: cx(\"tag-input-wrap\"),\n\t\t\t\tonClick: onWrapClick\n\t\t\t}, [\n\t\t\t\t...chips,\n\t\t\t\tfield\n\t\t\t]);\n\n\t\t\tconst meta = props.help\n\t\t\t\t? h(\"div\", { class: \"input-info\" }, [\n\t\t\t\t\th(\"i\", { class: \"ph ph-info\" }),\n\t\t\t\t\t\" \" + props.help\n\t\t\t\t])\n\t\t\t\t: null;\n\n\t\t\treturn h(\"div\", {\n\t\t\t\t...attrs,\n\t\t\t\tclass: cx(\"tag-input\", {\n\t\t\t\t\t\"tag-input-focused\": focused.value,\n\t\t\t\t\t\"tag-input-disabled\": props.disabled\n\t\t\t\t}, attrs.class)\n\t\t\t}, [\n\t\t\t\tlabelNode,\n\t\t\t\twrap,\n\t\t\t\tmeta\n\t\t\t]);\n\t\t};\n\t}\n});\n", "/**\n * GnTable - Data table with columns, rows, scoped cell slots, and empty state.\n *\n * @typedef {Object} GnTableProps\n * @property {Array} columns - Array of { key, label } column definitions\n * @property {Array} [rows=[]] - Array of row data objects\n * @property {string} [caption=''] - Table caption\n * @property {string} [emptyText='Empty'] - Text shown when rows is empty\n *\n * @slots cell-${column.key} - Scoped slot per column: { row, column, value }\n * @slots empty - Override empty state\n */\nimport { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnTable\",\n\tprops: {\n\t\tcolumns: { type: Array, required: true },\n\t\trows: { type: Array, default: () => [] },\n\t\tcaption: { type: String, default: \"\" },\n\t\temptyText: { type: String, default: \"Empty\" }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => h(\"div\", { class: \"table-wrapper\" }, [\n\t\t\th(\"table\", { class: cx(\"table data-list\", { \"table-empty\": !props.rows.length }, attrs.class) }, [\n\t\t\t\tprops.caption && h(\"caption\", { class: \"table-caption\" }, props.caption),\n\t\t\t\th(\"thead\", { class: \"table-head\" }, [\n\t\t\t\t\th(\"tr\", { class: \"table-row\" }, props.columns.map(column => h(\"th\", { scope: \"col\" }, column.label)))\n\t\t\t\t]),\n\t\t\t\th(\"tbody\", { class: \"table-body\" }, props.rows.length\n\t\t\t\t\t? props.rows.map(row => h(\"tr\", { class: \"table-row\" }, props.columns.map(column => {\n\t\t\t\t\t\tconst name = `cell-${column.key}`;\n\t\t\t\t\t\treturn h(\"td\", {}, slots[name]?.({ row, column, value: row[column.key] }) || row[column.key]);\n\t\t\t\t\t})))\n\t\t\t\t\t: h(\"tr\", {}, [h(\"td\", { class: \"is-empty\", colspan: props.columns.length }, slots.empty?.() || props.emptyText)])\n\t\t\t\t)\n\t\t\t])\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, eventValue, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnTextarea\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tmodelValue: { type: String, default: \"\" },\n\t\tlabel: { type: String, default: \"\" },\n\t\ticon: { type: String, default: \"\" },\n\t\tstate: { type: String, default: \"\" },\n\t\thelp: { type: String, default: \"\" }\n\t},\n\temits: [\"update:modelValue\"],\n\tsetup(props, { attrs, emit }) {\n\t\treturn () => h(\"div\", { class: \"form-group\" }, [\n\t\t\th(\"label\", { class: cx(\"label\", props.state) }, [\n\t\t\t\tprops.label,\n\t\t\t\ticonNode(props.icon),\n\t\t\t\th(\"textarea\", {\n\t\t\t\t\t...attrs,\n\t\t\t\t\tvalue: props.modelValue,\n\t\t\t\t\tclass: cx(\"input\", attrs.class),\n\t\t\t\t\tonInput: event => emit(\"update:modelValue\", eventValue(event))\n\t\t\t\t})\n\t\t\t]),\n\t\t\tprops.help && h(\"div\", { class: cx(\"input-info\", props.state === \"error\" && \"error\") }, props.help)\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, iconNode, normalizeVariant } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnTimeline\",\n\tinheritAttrs: false,\n\tprops: {\n\t\titems: { type: Array, default: () => [] }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => h(\"ol\", { ...attrs, class: cx(\"timeline\", attrs.class) }, props.items.map(item => {\n\t\t\tconst variant = item.variant ? normalizeVariant(item.variant) : \"\";\n\n\t\t\treturn h(\"li\", { class: cx(\"timeline-item\", variant && `timeline-item-${variant}`) }, [\n\t\t\t\th(\"span\", { class: \"timeline-marker\" }, [iconNode(item.icon || \"ph-circle\")]),\n\t\t\t\th(\"div\", { class: \"timeline-content\" }, [\n\t\t\t\t\th(\"article\", { class: \"timeline-card\" }, [\n\t\t\t\t\t\th(\"header\", { class: \"timeline-header\" }, [\n\t\t\t\t\t\t\th(\"h3\", { class: \"timeline-title\" }, item.title),\n\t\t\t\t\t\t\titem.time && h(\"time\", { class: \"timeline-time\" }, item.time)\n\t\t\t\t\t\t]),\n\t\t\t\t\t\th(\"p\", { class: \"timeline-text\" }, slots[item.key]?.({ item }) || item.text),\n\t\t\t\t\t\t(item.meta || slots.meta) && h(\"div\", { class: \"timeline-meta\" }, slots.meta?.({ item }) || item.meta)\n\t\t\t\t\t])\n\t\t\t\t])\n\t\t\t]);\n\t\t}));\n\t}\n});\n", "import { defineComponent, h, ref } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnTooltip\",\n\tinheritAttrs: false,\n\tprops: {\n\t\ttext: { type: String, default: \"\" }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\tconst open = ref(false);\n\n\t\treturn () => h(\"span\", {\n\t\t\t...attrs,\n\t\t\tclass: cx(\"tooltip\", { \"is-open\": open.value }, attrs.class),\n\t\t\ttabindex: \"0\",\n\t\t\tonFocusin: () => {\n\t\t\t\topen.value = true;\n\t\t\t},\n\t\t\tonFocusout: () => {\n\t\t\t\topen.value = false;\n\t\t\t}\n\t\t}, [\n\t\t\tslots.default?.(),\n\t\t\th(\"span\", { class: \"tooltip-panel\", role: \"tooltip\" }, slots.panel?.() || props.text)\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnToolbar\",\n\tinheritAttrs: false,\n\tprops: {\n\t\ttitle: { type: String, default: \"\" },\n\t\tmeta: { type: String, default: \"\" }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => h(\"div\", { ...attrs, class: cx(\"toolbar\", attrs.class) }, [\n\t\t\th(\"div\", { class: \"toolbar-group\" }, [\n\t\t\t\th(\"div\", {}, [\n\t\t\t\t\t(props.title || slots.title) && h(\"h3\", { class: \"toolbar-title\" }, slots.title?.() || props.title),\n\t\t\t\t\t(props.meta || slots.meta) && h(\"span\", { class: \"toolbar-meta\" }, slots.meta?.() || props.meta)\n\t\t\t\t])\n\t\t\t]),\n\t\t\t(slots.default || slots.actions) && h(\"div\", { class: \"toolbar-group\" }, slots.actions?.() || slots.default?.())\n\t\t]);\n\t}\n});\n", "import { defineComponent, h, provide, ref, nextTick } from \"vue\";\nimport { cx, iconNode, normalizeVariant } from \"../utils.js\";\nimport { toastKey } from \"../composables/toast-context.js\";\n\nconst iconByVariant = {\n\tinfo: \"ph-info\",\n\tsuccess: \"ph-check-circle\",\n\twarning: \"ph-warning\",\n\tdanger: \"ph-warning-octagon\",\n\terror: \"ph-warning-octagon\",\n\tprimary: \"ph-info\",\n\tsecondary: \"ph-info\"\n};\n\nexport default defineComponent({\n\tname: \"GnToastProvider\",\n\tprops: {\n\t\tlifetime: { type: Number, default: 4000 }\n\t},\n\tsetup(props, { slots, expose }) {\n\t\tconst toast = ref(null);\n\t\tconst closing = ref(false);\n\t\tconst showing = ref(false);\n\t\tlet timer = null;\n\t\tlet closeTimer = null;\n\t\tlet progressTimer = null;\n\t\tconst progress = ref(100);\n\n\t\tconst dismiss = () => {\n\t\t\twindow.clearTimeout(closeTimer);\n\t\t\twindow.clearInterval(progressTimer);\n\t\t\tclosing.value = true;\n\t\t\tshowing.value = false;\n\t\t\tcloseTimer = window.setTimeout(() => {\n\t\t\t\ttoast.value = null;\n\t\t\t\tclosing.value = false;\n\t\t\t\tprogress.value = 100;\n\t\t\t\twindow.clearTimeout(timer);\n\t\t\t\ttimer = null;\n\t\t\t}, 300);\n\t\t};\n\n\t\tconst close = () => {\n\t\t\twindow.clearTimeout(closeTimer);\n\t\t\twindow.clearTimeout(timer);\n\t\t\twindow.clearInterval(progressTimer);\n\t\t\tclosing.value = false;\n\t\t\tshowing.value = false;\n\t\t\tprogress.value = 100;\n\t\t\ttoast.value = null;\n\t\t};\n\n\t\tconst show = options => {\n\t\t\twindow.clearTimeout(closeTimer);\n\t\t\twindow.clearInterval(progressTimer);\n\t\t\tclosing.value = false;\n\t\t\tshowing.value = false;\n\t\t\tprogress.value = 100;\n\t\t\tconst variant = normalizeVariant(options.variant || options.type || \"info\", \"info\");\n\t\t\tconst lifetime = options.lifetime !== undefined ? options.lifetime : props.lifetime;\n\t\t\ttoast.value = {\n\t\t\t\tid: Date.now(),\n\t\t\t\tvariant: variant === \"error\" ? \"danger\" : variant,\n\t\t\t\ttitle: options.title || \"\",\n\t\t\t\ttext: options.text || options.message || \"\",\n\t\t\t\ticon: options.icon || iconByVariant[variant] || iconByVariant.info,\n\t\t\t\tlifetime\n\t\t\t};\n\n\t\t\twindow.clearTimeout(timer);\n\n\t\t\tif(lifetime !== 0) {\n\t\t\t\tconst step = 100;\n\t\t\t\tconst totalSteps = lifetime / step;\n\t\t\t\tprogress.value = 100;\n\t\t\t\tprogressTimer = window.setInterval(() => {\n\t\t\t\t\tprogress.value -= 100 / totalSteps;\n\t\t\t\t\tif(progress.value <= 0) {\n\t\t\t\t\t\twindow.clearInterval(progressTimer);\n\t\t\t\t\t}\n\t\t\t\t}, step);\n\n\t\t\t\ttimer = window.setTimeout(dismiss, lifetime);\n\t\t\t}\n\n\t\t\tnextTick(() => {\n\t\t\t\trequestAnimationFrame(() => {\n\t\t\t\t\tshowing.value = true;\n\t\t\t\t});\n\t\t\t});\n\t\t};\n\n\t\tconst api = {\n\t\t\tshow,\n\t\t\tclose,\n\t\t\tinfo: options => show({ ...options, variant: \"info\" }),\n\t\t\tsuccess: options => show({ ...options, variant: \"success\" }),\n\t\t\twarning: options => show({ ...options, variant: \"warning\" }),\n\t\t\tdanger: options => show({ ...options, variant: \"danger\" }),\n\t\t\terror: options => show({ ...options, variant: \"danger\" })\n\t\t};\n\n\t\tprovide(toastKey, api);\n\t\texpose(api);\n\n\t\tconst toastClass = () => {\n\t\t\tif (closing.value) return \"a-hide\";\n\t\t\tif (showing.value) return \"a-show\";\n\t\t\treturn \"\";\n\t\t};\n\n\t\treturn () => [\n\t\t\tslots.default?.(),\n\t\t\ttoast.value && h(\"div\", {\n\t\t\t\tclass: cx(\"toast\", toastClass(), `toast-${toast.value.variant}`),\n\t\t\t\trole: \"alert\"\n\t\t\t}, [\n\t\t\t\th(\"div\", { class: \"toast-content\" }, [\n\t\t\t\t\th(\"div\", { class: \"toast-header\" }, [\n\t\t\t\t\t\ticonNode(toast.value.icon),\n\t\t\t\t\t\ttoast.value.title\n\t\t\t\t\t]),\n\t\t\t\t\ttoast.value.text && h(\"p\", { class: \"toast-text\" }, toast.value.text)\n\t\t\t\t]),\n\t\t\t\th(\"button\", {\n\t\t\t\t\tclass: \"btn-icon toast-close\",\n\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\"aria-label\": \"Close\",\n\t\t\t\t\tonClick: dismiss\n\t\t\t\t}, [iconNode(\"ph-x\")]),\n\t\t\t\ttoast.value.lifetime !== 0 && h(\"div\", { class: \"toast-progress\" }, [\n\t\t\t\t\th(\"div\", {\n\t\t\t\t\t\tclass: \"toast-progress-bar\",\n\t\t\t\t\t\tstyle: { transform: `scaleX(${Math.max(0, progress.value / 100)})` }\n\t\t\t\t\t})\n\t\t\t\t])\n\t\t\t])\n\t\t];\n\t}\n});\n", "export const toastKey = Symbol(\"gnexus-ui-kit-toast\");\n", "import { defineComponent, h } from \"vue\";\nimport GnProgress from \"./GnProgress.js\";\n\nexport default defineComponent({\n\tname: \"GnUsageMeter\",\n\tprops: {\n\t\ttitle: { type: String, required: true },\n\t\tvalue: { type: Number, required: true },\n\t\tmax: { type: Number, default: 100 },\n\t\tmeta: { type: String, default: \"\" }\n\t},\n\tsetup(props, { slots }) {\n\t\treturn () => {\n\t\t\tconst percent = Math.max(0, Math.min(100, Math.round((props.value / props.max) * 100)));\n\n\t\t\treturn h(\"section\", { class: \"usage-meter\" }, [\n\t\t\t\th(\"h3\", { class: \"usage-meter-title\" }, [\n\t\t\t\t\tslots.title?.() || props.title,\n\t\t\t\t\th(\"span\", { class: \"usage-meter-value\" }, `${percent}%`)\n\t\t\t\t]),\n\t\t\t\th(GnProgress, { value: props.value, max: props.max }),\n\t\t\t\t(props.meta || slots.meta) && h(\"p\", { class: \"usage-meter-meta\" }, slots.meta?.() || props.meta)\n\t\t\t]);\n\t\t};\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\nimport GnAvatar from \"./GnAvatar.js\";\n\nexport default defineComponent({\n\tname: \"GnUserCard\",\n\tprops: {\n\t\tname: { type: String, required: true },\n\t\temail: { type: String, default: \"\" },\n\t\trole: { type: String, default: \"\" },\n\t\tavatar: { type: Object, default: () => ({}) },\n\t\thref: { type: String, default: \"\" },\n\t\tcompact: { type: Boolean, default: false },\n\t\tactions: { type: Array, default: () => [] }\n\t},\n\tsetup(props, { slots }) {\n\t\tconst renderAvatar = () => slots.avatar?.() || h(GnAvatar, {\n\t\t\t...props.avatar,\n\t\t\tsize: props.compact ? \"sm\" : \"md\"\n\t\t});\n\n\t\tconst renderIdentity = () => h(\"span\", { class: \"identity\" }, [\n\t\t\trenderAvatar(),\n\t\t\th(\"span\", { class: \"identity-content\" }, [\n\t\t\t\th(\"span\", { class: \"identity-title\" }, props.name),\n\t\t\t\tprops.email && h(\"span\", { class: \"identity-meta\" }, props.email)\n\t\t\t])\n\t\t]);\n\n\t\tconst renderActions = () => {\n\t\t\tif (slots.actions) return slots.actions();\n\t\t\tif (!props.actions.length) return null;\n\n\t\t\treturn h(\"div\", { class: \"user-card-actions\" },\n\t\t\t\tprops.actions.map(action => {\n\t\t\t\t\tif (props.compact) {\n\t\t\t\t\t\treturn h(\"button\", {\n\t\t\t\t\t\t\tclass: \"btn-icon\",\n\t\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\t\t\"aria-label\": action.label,\n\t\t\t\t\t\t\tonClick: action.onClick\n\t\t\t\t\t\t}, [iconNode(action.icon)]);\n\t\t\t\t\t}\n\n\t\t\t\t\tconst hasIcon = !!action.icon;\n\t\t\t\t\tconst btnClass = cx(\"btn\", \"btn-small\", {\n\t\t\t\t\t\t[`btn-${action.variant}`]: action.variant,\n\t\t\t\t\t\t\"btn-secondary\": !action.variant,\n\t\t\t\t\t\t\"with-icon\": hasIcon\n\t\t\t\t\t});\n\n\t\t\t\t\treturn h(\"button\", {\n\t\t\t\t\t\tclass: btnClass,\n\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\tonClick: action.onClick\n\t\t\t\t\t}, [\n\t\t\t\t\t\thasIcon && iconNode(action.icon),\n\t\t\t\t\t\taction.label\n\t\t\t\t\t]);\n\t\t\t\t})\n\t\t\t);\n\t\t};\n\n\t\treturn () => {\n\t\t\tconst rootClass = cx(\"card\", \"user-card\", { \"user-card-compact\": props.compact });\n\t\t\tconst bodyChildren = [];\n\n\t\t\tif (props.href) {\n\t\t\t\tbodyChildren.push(\n\t\t\t\t\th(\"a\", {\n\t\t\t\t\t\tclass: \"profile-identity\",\n\t\t\t\t\t\thref: props.href,\n\t\t\t\t\t\ttarget: \"_blank\",\n\t\t\t\t\t\trel: \"noopener noreferrer\"\n\t\t\t\t\t}, [renderIdentity()])\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tbodyChildren.push(renderIdentity());\n\t\t\t}\n\n\t\t\tif (!props.compact && props.role) {\n\t\t\t\tbodyChildren.push(h(\"span\", { class: \"user-card-role\" }, props.role));\n\t\t\t}\n\n\t\t\tif (slots.default && !props.compact) {\n\t\t\t\tbodyChildren.push(h(\"div\", { class: \"user-card-extra\" }, slots.default()));\n\t\t\t}\n\n\t\t\tconst actionsNode = renderActions();\n\t\t\tif (actionsNode) {\n\t\t\t\tbodyChildren.push(actionsNode);\n\t\t\t}\n\n\t\t\treturn h(\"article\", { class: rootClass }, [\n\t\t\t\th(\"div\", { class: \"user-card-body\" }, bodyChildren)\n\t\t\t]);\n\t\t};\n\t}\n});\n", "import { inject } from \"vue\";\nimport { toastKey } from \"./toast-context.js\";\n\nexport function useToast() {\n\tconst api = inject(toastKey, null);\n\n\tif(api) {\n\t\treturn api;\n\t}\n\n\tconst missingProvider = () => {\n\t\tthrow new Error(\"GNexus UI Kit: useToast() requires near the app root.\");\n\t};\n\n\treturn {\n\t\tshow: missingProvider,\n\t\tinfo: missingProvider,\n\t\tsuccess: missingProvider,\n\t\twarning: missingProvider,\n\t\tdanger: missingProvider,\n\t\terror: missingProvider,\n\t\tclose: missingProvider\n\t};\n}\n\nexport default useToast;\n", "import GnAccordion from \"./components/GnAccordion.js\";\nimport GnActionCard from \"./components/GnActionCard.js\";\nimport GnActionList from \"./components/GnActionList.js\";\nimport GnActivityLog from \"./components/GnActivityLog.js\";\nimport GnAlert from \"./components/GnAlert.js\";\nimport GnAvatar from \"./components/GnAvatar.js\";\nimport GnAvatarStack from \"./components/GnAvatarStack.js\";\nimport GnBadge from \"./components/GnBadge.js\";\nimport GnButton from \"./components/GnButton.js\";\nimport GnCard from \"./components/GnCard.js\";\nimport GnCheckbox from \"./components/GnCheckbox.js\";\nimport GnChip from \"./components/GnChip.js\";\nimport GnCopyButton from \"./components/GnCopyButton.js\";\nimport GnChipGroup from \"./components/GnChipGroup.js\";\nimport GnCombobox from \"./components/GnCombobox.js\";\nimport GnConfirmDialog from \"./components/GnConfirmDialog.js\";\nimport GnDescriptionList from \"./components/GnDescriptionList.js\";\nimport GnDefinitionList from \"./components/GnDefinitionList.js\";\nimport GnDropdown from \"./components/GnDropdown.js\";\nimport GnDrawer from \"./components/GnDrawer.js\";\nimport GnEmptyState from \"./components/GnEmptyState.js\";\nimport GnFileUpload from \"./components/GnFileUpload.js\";\nimport GnIconButton from \"./components/GnIconButton.js\";\nimport GnIdentity from \"./components/GnIdentity.js\";\nimport GnInput from \"./components/GnInput.js\";\nimport GnInputGroup from \"./components/GnInputGroup.js\";\nimport GnList from \"./components/GnList.js\";\nimport GnLoader from \"./components/GnLoader.js\";\nimport GnLoginCard from \"./components/GnLoginCard.js\";\nimport GnMetricCard from \"./components/GnMetricCard.js\";\nimport GnModal from \"./components/GnModal.js\";\nimport GnNavList from \"./components/GnNavList.js\";\nimport GnNavigationShell from \"./components/GnNavigationShell.js\";\nimport GnPageHeader from \"./components/GnPageHeader.js\";\nimport GnHorizontalCard from \"./components/GnHorizontalCard.js\";\nimport GnPagination from \"./components/GnPagination.js\";\nimport GnPopover from \"./components/GnPopover.js\";\nimport GnProgress from \"./components/GnProgress.js\";\nimport GnProgressStages from \"./components/GnProgressStages.js\";\nimport GnRadio from \"./components/GnRadio.js\";\nimport GnRadioGroup from \"./components/GnRadioGroup.js\";\nimport GnRange from \"./components/GnRange.js\";\nimport GnRepeater from \"./components/GnRepeater.js\";\nimport GnRouterTabs from \"./components/GnRouterTabs.js\";\nimport GnSearchField from \"./components/GnSearchField.js\";\nimport GnSelect from \"./components/GnSelect.js\";\nimport GnSkeleton from \"./components/GnSkeleton.js\";\nimport GnSteps from \"./components/GnSteps.js\";\nimport GnStatusCard from \"./components/GnStatusCard.js\";\nimport GnSwitch from \"./components/GnSwitch.js\";\nimport GnTagInput from \"./components/GnTagInput.js\";\nimport GnTable from \"./components/GnTable.js\";\nimport GnTabs from \"./components/GnTabs.js\";\nimport GnTextarea from \"./components/GnTextarea.js\";\nimport GnTimeline from \"./components/GnTimeline.js\";\nimport GnTooltip from \"./components/GnTooltip.js\";\nimport GnToolbar from \"./components/GnToolbar.js\";\nimport GnToastProvider from \"./components/GnToastProvider.js\";\nimport GnUsageMeter from \"./components/GnUsageMeter.js\";\nimport GnUserCard from \"./components/GnUserCard.js\";\n\nexport const components = {\n\tGnAccordion,\n\tGnActionCard,\n\tGnActionList,\n\tGnActivityLog,\n\tGnAlert,\n\tGnAvatar,\n\tGnAvatarStack,\n\tGnBadge,\n\tGnButton,\n\tGnCard,\n\tGnCheckbox,\n\tGnChip,\n\tGnChipGroup,\n\tGnCopyButton,\n\tGnCombobox,\n\tGnConfirmDialog,\n\tGnDescriptionList,\n\tGnDefinitionList,\n\tGnDropdown,\n\tGnDrawer,\n\tGnEmptyState,\n\tGnFileUpload,\n\tGnIconButton,\n\tGnIdentity,\n\tGnInput,\n\tGnInputGroup,\n\tGnList,\n\tGnLoader,\n\tGnLoginCard,\n\tGnMetricCard,\n\tGnModal,\n\tGnNavList,\n\tGnNavigationShell,\n\tGnPageHeader,\n\tGnHorizontalCard,\n\tGnPagination,\n\tGnPopover,\n\tGnProgress,\n\tGnProgressStages,\n\tGnRadio,\n\tGnRadioGroup,\n\tGnRange,\n\tGnRepeater,\n\tGnRouterTabs,\n\tGnSearchField,\n\tGnSelect,\n\tGnSkeleton,\n\tGnSteps,\n\tGnStatusCard,\n\tGnSwitch,\n\tGnTagInput,\n\tGnTable,\n\tGnTabs,\n\tGnTextarea,\n\tGnTimeline,\n\tGnTooltip,\n\tGnToolbar,\n\tGnToastProvider,\n\tGnUsageMeter,\n\tGnUserCard\n};\n\nexport default {\n\tinstall(app) {\n\t\tObject.entries(components).forEach(([name, component]) => {\n\t\t\tapp.component(name, component);\n\t\t});\n\t}\n};\n"], + "mappings": ";AAAA,SAAS,iBAAiB,KAAAA,IAAG,WAAW;;;ACAxC,SAAS,SAAS;AAEX,IAAM,WAAW,oBAAI,IAAI;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,CAAC;AAEM,SAAS,MAAM,OAAO;AAC5B,SAAO,MACL,QAAQ,UAAQ;AAChB,QAAG,CAAC,MAAM;AACT,aAAO,CAAC;AAAA,IACT;AAEA,QAAG,MAAM,QAAQ,IAAI,GAAG;AACvB,aAAO;AAAA,IACR;AAEA,QAAG,OAAO,SAAS,UAAU;AAC5B,aAAO,OAAO,QAAQ,IAAI,EACxB,OAAO,CAAC,CAAC,EAAE,OAAO,MAAM,OAAO,EAC/B,IAAI,CAAC,CAAC,IAAI,MAAM,IAAI;AAAA,IACvB;AAEA,WAAO,CAAC,IAAI;AAAA,EACb,CAAC,EACA,OAAO,OAAO,EACd,KAAK,GAAG;AACX;AAEO,SAAS,iBAAiB,OAAO,WAAW,WAAW;AAC7D,SAAO,SAAS,IAAI,KAAK,IAAI,QAAQ;AACtC;AAEO,SAAS,SAAS,MAAM,aAAa,IAAI;AAC/C,MAAG,CAAC,MAAM;AACT,WAAO;AAAA,EACR;AAEA,QAAM,YAAY,KAAK,SAAS,KAAK,KAAK,KAAK,WAAW,KAAK;AAE/D,MAAG,CAAC,WAAW;AACd,QAAG,OAAO,YAAY,eAAe,QAAQ,OAAO,MAAuC;AAE1F,cAAQ,KAAK,yBAAyB,IAAI,mDAAmD,IAAI,YAAY;AAAA,IAC9G;AAAA,EACD;AAEA,QAAM,YAAY,YACf,OACA,MAAM,IAAI;AAEb,SAAO,EAAE,KAAK;AAAA,IACb,OAAO,GAAG,MAAM,WAAW,UAAU;AAAA,IACrC,eAAe;AAAA,EAChB,CAAC;AACF;AAMO,SAAS,WAAW,OAAO;AACjC,QAAM,SAAS,MAAM;AAErB,MAAG,OAAO,SAAS,YAAY;AAC9B,WAAO,OAAO;AAAA,EACf;AAEA,SAAO,OAAO;AACf;AAEO,IAAM,oBAAoB;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,EAAE,KAAK,GAAG;AAEH,SAAS,UAAU,OAAO,MAAM;AACtC,MAAG,MAAM,QAAQ,SAAS,CAAC,MAAM;AAChC;AAAA,EACD;AAEA,QAAM,YAAY,CAAC,GAAG,KAAK,iBAAiB,iBAAiB,CAAC,EAC5D,OAAO,UAAQ,CAAC,KAAK,aAAa,UAAU,KAAK,KAAK,iBAAiB,IAAI;AAE7E,MAAG,CAAC,UAAU,QAAQ;AACrB,UAAM,eAAe;AACrB,SAAK,MAAM;AACX;AAAA,EACD;AAEA,QAAM,QAAQ,UAAU,CAAC;AACzB,QAAM,OAAO,UAAU,UAAU,SAAS,CAAC;AAE3C,MAAG,MAAM,YAAY,SAAS,kBAAkB,OAAO;AACtD,UAAM,eAAe;AACrB,SAAK,MAAM;AAAA,EACZ,WAAU,CAAC,MAAM,YAAY,SAAS,kBAAkB,MAAM;AAC7D,UAAM,eAAe;AACrB,UAAM,MAAM;AAAA,EACb;AACD;;;AD5GA,IAAO,sBAAQ,gBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,OAAO;AAAA,IACN,OAAO,EAAE,MAAM,OAAO,UAAU,KAAK;AAAA,IACrC,YAAY,EAAE,MAAM,CAAC,QAAQ,KAAK,GAAG,SAAS,GAAG;AAAA,IACjD,UAAU,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,EAC3C;AAAA,EACA,OAAO,CAAC,mBAAmB;AAAA,EAC3B,MAAM,OAAO,EAAE,MAAM,MAAM,GAAG;AAC7B,UAAM,YAAY,IAAI,MAAM,WAAW,CAAC,IAAI,EAAE;AAE9C,UAAM,UAAU,MAAM,MAAM,cAAc,UAAU;AACpD,UAAM,SAAS,QAAM,MAAM,WAAW,QAAQ,EAAE,SAAS,EAAE,IAAI,QAAQ,MAAM;AAC7E,UAAM,SAAS,QAAM;AACpB,UAAI;AAEJ,UAAG,MAAM,UAAU;AAClB,cAAM,UAAU,CAAC,GAAG,QAAQ,CAAC;AAC7B,eAAO,QAAQ,SAAS,EAAE,IAAI,QAAQ,OAAO,UAAQ,SAAS,EAAE,IAAI,CAAC,GAAG,SAAS,EAAE;AAAA,MACpF,OAAO;AACN,eAAO,OAAO,EAAE,IAAI,KAAK;AAAA,MAC1B;AAEA,gBAAU,QAAQ;AAClB,WAAK,qBAAqB,IAAI;AAAA,IAC/B;AAEA,WAAO,MAAMC,GAAE,OAAO,EAAE,OAAO,YAAY,GAAG,MAAM,MAAM,IAAI,UAAQ;AA9BxE;AA+BG,YAAM,OAAO,OAAO,KAAK,EAAE;AAE3B,aAAOA,GAAE,WAAW,EAAE,OAAO,kBAAkB,MAAM,OAAO,KAAK,OAAU,GAAG;AAAA,QAC7EA,GAAE,UAAU;AAAA,UACX,OAAO;AAAA,UACP,MAAM;AAAA,UACN,iBAAiB,OAAO,SAAS;AAAA,UACjC,SAAS,MAAM,OAAO,KAAK,EAAE;AAAA,QAC9B,GAAG;AAAA,UACFA,GAAE,QAAQ,EAAE,OAAO,4BAA4B,GAAG;AAAA,YACjD,SAAS,KAAK,IAAI;AAAA,YAClB,KAAK;AAAA,UACN,CAAC;AAAA,UACDA,GAAE,KAAK,EAAE,OAAO,GAAG,mCAAmC,EAAE,WAAW,KAAK,CAAC,GAAG,eAAe,OAAO,CAAC;AAAA,QACpG,CAAC;AAAA,QACD,QAAQA,GAAE,OAAO,EAAE,OAAO,kBAAkB,KAAG,WAAM,KAAK,QAAX,+BAAiB,EAAE,MAAM,KAAK,OAAM,KAAK,OAAO;AAAA,MAChG,CAAC;AAAA,IACF,CAAC,CAAC;AAAA,EACH;AACD,CAAC;;;AElDD,SAAS,mBAAAC,kBAAiB,KAAAC,UAAS;AAEnC,IAAO,uBAAQD,iBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,OAAO;AAAA,IACN,QAAQ,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACpC,OAAO,EAAE,MAAM,QAAQ,UAAU,KAAK;AAAA,IACtC,MAAM,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,EACnC;AAAA,EACA,MAAM,OAAO,EAAE,MAAM,GAAG;AACvB,WAAO,MAAG;AAVZ;AAUe,aAAAC,GAAE,WAAW,EAAE,OAAO,mBAAmB,GAAG;AAAA,QACxDA,GAAE,OAAO,EAAE,OAAO,eAAe,GAAG;AAAA,WAClC,MAAM,UAAU,MAAM,WAAWA,GAAE,QAAQ,EAAE,OAAO,qBAAqB,KAAG,WAAM,WAAN,mCAAoB,MAAM,MAAM;AAAA,UAC7GA,GAAE,MAAM,EAAE,OAAO,oBAAoB,KAAG,WAAM,UAAN,mCAAmB,MAAM,KAAK;AAAA,WACrE,MAAM,QAAQ,MAAM,YAAYA,GAAE,KAAK,EAAE,OAAO,mBAAmB,KAAG,WAAM,YAAN,mCAAqB,MAAM,IAAI;AAAA,UACtG,MAAM,WAAWA,GAAE,OAAO,EAAE,OAAO,sBAAsB,GAAG,MAAM,QAAQ,CAAC;AAAA,QAC5E,CAAC;AAAA,MACF,CAAC;AAAA;AAAA,EACF;AACD,CAAC;;;ACnBD,SAAS,mBAAAC,kBAAiB,KAAAC,UAAS;AAGnC,IAAO,uBAAQC,iBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,cAAc;AAAA,EACd,OAAO;AAAA,IACN,OAAO,EAAE,MAAM,OAAO,SAAS,MAAM,CAAC,EAAE;AAAA,EACzC;AAAA,EACA,MAAM,OAAO,EAAE,OAAO,MAAM,GAAG;AAC9B,WAAO,MAAMC,GAAE,MAAM,EAAE,GAAG,OAAO,OAAO,GAAG,qBAAqB,MAAM,KAAK,EAAE,GAAG,MAAM,MAAM,IAAI,UAAK;AAVvG;AAU0G,aAAAA,GAAE,MAAM;AAAA,QAC/G,OAAO,GAAG,aAAa,KAAK,SAAS,iBAAiB;AAAA,MACvD,GAAG;AAAA,QACFA,GAAE,OAAO,EAAE,OAAO,eAAe,GAAG;AAAA,UACnCA,GAAE,OAAO,EAAE,OAAO,aAAa,KAAG,WAAM,UAAN,+BAAc,EAAE,KAAK,OAAM,KAAK,SAAS,KAAK,SAAS,EAAE;AAAA,WAC1F,KAAK,YAAY,MAAM,aAAaA,GAAE,OAAO,EAAE,OAAO,gBAAgB,KAAG,WAAM,aAAN,+BAAiB,EAAE,KAAK,OAAM,KAAK,QAAQ;AAAA,QACtH,CAAC;AAAA,QACD,MAAM,YAAYA,GAAE,OAAO,EAAE,OAAO,gBAAgB,GAAG,MAAM,SAAS,EAAE,KAAK,CAAC,CAAC;AAAA,MAChF,CAAC;AAAA,KAAC,CAAC;AAAA,EACJ;AACD,CAAC;;;ACpBD,SAAS,mBAAAC,kBAAiB,KAAAC,UAAS;AAGnC,IAAO,wBAAQC,iBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,cAAc;AAAA,EACd,OAAO;AAAA,IACN,OAAO,EAAE,MAAM,OAAO,SAAS,MAAM,CAAC,EAAE;AAAA,EACzC;AAAA,EACA,MAAM,OAAO,EAAE,OAAO,MAAM,GAAG;AAC9B,WAAO,MAAMC,GAAE,OAAO,EAAE,GAAG,OAAO,OAAO,GAAG,gBAAgB,MAAM,KAAK,EAAE,GAAG,MAAM,MAAM,IAAI,UAAK;AAVnG;AAUsG,aAAAA,GAAE,OAAO;AAAA,QAC5G,OAAO;AAAA,MACR,GAAG;AAAA,QACFA,GAAE,QAAQ,EAAE,OAAO,oBAAoB,GAAG,KAAK,IAAI;AAAA,QACnDA,GAAE,QAAQ,EAAE,OAAO,qBAAqB,KAAG,WAAM,KAAK,SAAX,+BAAkB,EAAE,KAAK,OAAM,KAAK,KAAK;AAAA,QACpF,MAAM,WAAWA,GAAE,QAAQ,CAAC,GAAG,MAAM,QAAQ,EAAE,KAAK,CAAC,CAAC;AAAA,MACvD,CAAC;AAAA,KAAC,CAAC;AAAA,EACJ;AACD,CAAC;;;AClBD,SAAS,mBAAAC,kBAAiB,KAAAC,UAAS;AAGnC,IAAO,kBAAQC,iBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,cAAc;AAAA,EACd,OAAO;AAAA,IACN,SAAS,EAAE,MAAM,QAAQ,SAAS,UAAU;AAAA,IAC5C,MAAM,EAAE,MAAM,QAAQ,SAAS,SAAS;AAAA,EACzC;AAAA,EACA,MAAM,OAAO,EAAE,OAAO,MAAM,GAAG;AAC9B,WAAO,MAAM;AAXf;AAYG,YAAM,UAAU,iBAAiB,MAAM,OAAO;AAE9C,aAAOC,GAAE,OAAO;AAAA,QACf,GAAG;AAAA,QACH,MAAM,MAAM;AAAA,QACZ,OAAO,GAAG,SAAS,SAAS,OAAO,IAAI,MAAM,KAAK;AAAA,MACnD,IAAG,WAAM,YAAN,8BAAiB;AAAA,IACrB;AAAA,EACD;AACD,CAAC;;;ACrBD,SAAS,mBAAAC,kBAAiB,KAAAC,UAAS;AAGnC,IAAO,mBAAQC,iBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,cAAc;AAAA,EACd,OAAO;AAAA,IACN,KAAK,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACjC,KAAK,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACjC,UAAU,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACtC,MAAM,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IAClC,MAAM,EAAE,MAAM,QAAQ,SAAS,KAAK;AAAA,IACpC,SAAS,EAAE,MAAM,QAAQ,SAAS,UAAU;AAAA,IAC5C,SAAS,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,IACzC,QAAQ,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,EACrC;AAAA,EACA,MAAM,OAAO,EAAE,MAAM,GAAG;AACvB,WAAO,MAAM;AACZ,YAAM,UAAU,iBAAiB,MAAM,OAAO;AAE9C,aAAOC,GAAE,QAAQ;AAAA,QAChB,GAAG;AAAA,QACH,OAAO,GAAG,UAAU,UAAU,OAAO,IAAI;AAAA,UACxC,aAAa,MAAM,SAAS;AAAA,UAC5B,aAAa,MAAM,SAAS;AAAA,UAC5B,kBAAkB,MAAM;AAAA,UACxB,aAAa,MAAM,WAAW;AAAA,UAC9B,WAAW,MAAM,WAAW;AAAA,UAC5B,cAAc,MAAM,WAAW;AAAA,QAChC,GAAG,MAAM,KAAK;AAAA,MACf,GAAG;AAAA,QACF,MAAM,MAAMA,GAAE,OAAO,EAAE,KAAK,MAAM,KAAK,KAAK,MAAM,IAAI,CAAC,IAAI,SAAS,MAAM,IAAI,KAAK,MAAM;AAAA,QACzF,MAAM,UAAUA,GAAE,QAAQ,EAAE,OAAO,iBAAiB,eAAe,OAAO,CAAC;AAAA,MAC5E,CAAC;AAAA,IACF;AAAA,EACD;AACD,CAAC;;;ACpCD,SAAS,mBAAAC,kBAAiB,KAAAC,UAAS;AAGnC,IAAO,wBAAQC,iBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,OAAO;AAAA,IACN,OAAO,EAAE,MAAM,OAAO,SAAS,MAAM,CAAC,EAAE;AAAA,IACxC,OAAO,EAAE,MAAM,CAAC,QAAQ,MAAM,GAAG,SAAS,GAAG;AAAA,EAC9C;AAAA,EACA,MAAM,OAAO,EAAE,MAAM,GAAG;AACvB,WAAO,MAAG;AAVZ;AAUe,aAAAC,GAAE,QAAQ,EAAE,OAAO,eAAe,GAAG;AAAA,QACjD,MAAM,MAAM,IAAI,UAAQA,GAAE,kBAAU,EAAE,GAAG,MAAM,MAAM,KAAK,QAAQ,KAAK,CAAC,CAAC;AAAA,SACzE,WAAM,YAAN;AAAA,QACA,MAAM,SAASA,GAAE,QAAQ,EAAE,OAAO,qBAAqB,GAAG,IAAI,MAAM,KAAK,EAAE;AAAA,MAC5E,CAAC;AAAA;AAAA,EACF;AACD,CAAC;;;AChBD,SAAS,mBAAAC,kBAAiB,KAAAC,UAAS;AAGnC,IAAO,kBAAQC,iBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,cAAc;AAAA,EACd,OAAO;AAAA,IACN,SAAS,EAAE,MAAM,QAAQ,SAAS,UAAU;AAAA,IAC5C,SAAS,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,EAC1C;AAAA,EACA,MAAM,OAAO,EAAE,OAAO,MAAM,GAAG;AAC9B,WAAO,MAAM;AAXf;AAYG,YAAM,UAAU,iBAAiB,MAAM,OAAO;AAE9C,aAAOC,GAAE,QAAQ;AAAA,QAChB,GAAG;AAAA,QACH,OAAO;AAAA,UACN;AAAA,UACA,MAAM,WAAW,YAAY,YAAY,0BAA0B,SAAS,OAAO;AAAA,UACnF,MAAM;AAAA,QACP;AAAA,MACD,IAAG,WAAM,YAAN,8BAAiB;AAAA,IACrB;AAAA,EACD;AACD,CAAC;;;ACXD,SAAS,mBAAAC,kBAAiB,KAAAC,WAAS;AAGnC,IAAO,mBAAQC,iBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,cAAc;AAAA,EACd,OAAO;AAAA,IACN,SAAS,EAAE,MAAM,QAAQ,SAAS,UAAU;AAAA,IAC5C,MAAM,EAAE,MAAM,QAAQ,SAAS,KAAK;AAAA,IACpC,MAAM,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IAClC,SAAS,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,IACzC,UAAU,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,IAC1C,MAAM,EAAE,MAAM,QAAQ,SAAS,SAAS;AAAA,EACzC;AAAA,EACA,MAAM,OAAO,EAAE,OAAO,MAAM,GAAG;AAC9B,WAAO,MAAM;AA5Bf;AA6BG,YAAM,UAAU,QAAQ,MAAM,QAAQ,MAAM,OAAO;AACnD,YAAM,UAAU,iBAAiB,MAAM,OAAO;AAE9C,aAAOC,IAAE,UAAU;AAAA,QAClB,GAAG;AAAA,QACH,MAAM,MAAM;AAAA,QACZ,UAAU,MAAM,YAAY,MAAM;AAAA,QAClC,OAAO;AAAA,UACN;AAAA,UACA,OAAO,OAAO;AAAA,UACd;AAAA,YACC,aAAa,MAAM,SAAS;AAAA,YAC5B,aAAa,MAAM,SAAS;AAAA,YAC5B,aAAa;AAAA,YACb,iBAAiB,MAAM;AAAA,UACxB;AAAA,UACA,MAAM;AAAA,QACP;AAAA,MACD,GAAG;AAAA,QACF,MAAM,UAAU,SAAS,oBAAoB,IAAI,SAAS,MAAM,IAAI;AAAA,SACpE,WAAM,YAAN;AAAA,MACD,CAAC;AAAA,IACF;AAAA,EACD;AACD,CAAC;;;ACrDD,SAAS,mBAAAC,mBAAiB,KAAAC,WAAS;AAGnC,IAAO,iBAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,cAAc;AAAA,EACd,OAAO;AAAA,IACN,OAAO,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACnC,SAAS,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,EACtC;AAAA,EACA,MAAM,OAAO,EAAE,OAAO,MAAM,GAAG;AAC9B,WAAO,MAAG;AAXZ;AAWe,aAAAC,IAAE,WAAW;AAAA,QACzB,GAAG;AAAA,QACH,OAAO,GAAG,QAAQ,MAAM,WAAW,QAAQ,MAAM,OAAO,IAAI,MAAM,KAAK;AAAA,MACxE,GAAG;AAAA,SACD,MAAM,SAAS,MAAM,UAAUA,IAAE,UAAU,EAAE,OAAO,aAAa,KAAG,WAAM,UAAN,mCAAmB,MAAM,KAAK;AAAA,QACnGA,IAAE,OAAO,EAAE,OAAO,eAAe,IAAG,WAAM,YAAN,8BAAiB;AAAA,QACrD,MAAM,UAAUA,IAAE,UAAU,EAAE,OAAO,cAAc,GAAG,MAAM,OAAO,CAAC;AAAA,MACrE,CAAC;AAAA;AAAA,EACF;AACD,CAAC;;;ACpBD,SAAS,mBAAAC,mBAAiB,KAAAC,WAAS;AAGnC,IAAO,qBAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,cAAc;AAAA,EACd,OAAO;AAAA,IACN,YAAY,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,IAC5C,OAAO,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACnC,UAAU,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,EAC3C;AAAA,EACA,OAAO,CAAC,mBAAmB;AAAA,EAC3B,MAAM,OAAO,EAAE,OAAO,MAAM,MAAM,GAAG;AACpC,WAAO,MAAG;AAbZ;AAae,aAAAC,IAAE,SAAS,EAAE,OAAO,GAAG,YAAY,MAAM,KAAK,EAAE,GAAG;AAAA,QAC/DA,IAAE,SAAS;AAAA,UACV,GAAG;AAAA,UACH,MAAM;AAAA,UACN,SAAS,MAAM;AAAA,UACf,UAAU,MAAM;AAAA,UAChB,UAAU,WAAS,KAAK,qBAAqB,MAAM,OAAO,OAAO;AAAA,QAClE,CAAC;AAAA,QACDA,IAAE,QAAQ,EAAE,OAAO,oBAAoB,eAAe,OAAO,CAAC;AAAA,QAC9DA,IAAE,QAAQ,EAAE,OAAO,iBAAiB,KAAG,WAAM,YAAN,mCAAqB,MAAM,KAAK;AAAA,MACxE,CAAC;AAAA;AAAA,EACF;AACD,CAAC;;;ACzBD,SAAS,mBAAAC,mBAAiB,KAAAC,WAAS;AAGnC,IAAO,iBAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,cAAc;AAAA,EACd,OAAO;AAAA,IACN,SAAS,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACrC,MAAM,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IAClC,UAAU,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,IAC1C,UAAU,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,IAC1C,WAAW,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,IAC3C,WAAW,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,EAC5C;AAAA,EACA,OAAO,CAAC,QAAQ;AAAA,EAChB,MAAM,OAAO,EAAE,OAAO,MAAM,MAAM,GAAG;AACpC,WAAO,MAAM;AAhBf;AAiBG,YAAM,MAAM,MAAM,YAAY,WAAW;AACzC,YAAM,UAAU,MAAM,UAAU,iBAAiB,MAAM,OAAO,IAAI;AAClE,YAAM,YAAW,uBAAM,YAAN,sDAAoB,OAApB,mBAAwB;AAEzC,aAAOC,IAAE,KAAK;AAAA,QACb,GAAG;AAAA,QACH,MAAM,QAAQ,WAAW,WAAW;AAAA,QACpC,UAAU,QAAQ,WAAW,MAAM,WAAW;AAAA,QAC9C,gBAAgB,QAAQ,WAAW,OAAO,MAAM,QAAQ,IAAI;AAAA,QAC5D,OAAO,GAAG,QAAQ,WAAW,QAAQ,OAAO,IAAI;AAAA,UAC/C,iBAAiB,MAAM;AAAA,UACvB,iBAAiB,MAAM;AAAA,QACxB,GAAG,MAAM,KAAK;AAAA,MACf,GAAG;AAAA,QACF,SAAS,MAAM,IAAI;AAAA,SACnB,WAAM,YAAN;AAAA,QACA,MAAM,aAAaA,IAAE,UAAU;AAAA,UAC9B,OAAO;AAAA,UACP,MAAM;AAAA,UACN,cAAc,WAAW,UAAU,QAAQ,KAAK;AAAA,UAChD,SAAS,WAAS;AACjB,kBAAM,gBAAgB;AACtB,iBAAK,QAAQ;AAAA,UACd;AAAA,QACD,GAAG,CAAC,SAAS,MAAM,CAAC,CAAC;AAAA,MACtB,CAAC;AAAA,IACF;AAAA,EACD;AACD,CAAC;;;AC7CD,SAAS,mBAAAC,mBAAiB,KAAAC,WAAS;AAGnC,IAAO,sBAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,cAAc;AAAA,EACd,MAAM,GAAG,EAAE,OAAO,MAAM,GAAG;AAC1B,WAAO,MAAG;AAPZ;AAOe,aAAAC,IAAE,OAAO,EAAE,GAAG,OAAO,OAAO,GAAG,cAAc,MAAM,KAAK,EAAE,IAAG,WAAM,YAAN,8BAAiB;AAAA;AAAA,EAC5F;AACD,CAAC;;;ACTD,SAAS,UAAU,mBAAAC,mBAAiB,KAAAC,KAAG,UAAU,OAAAC,YAAW;AAG5D,IAAI,aAAa;AAEjB,IAAO,qBAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,cAAc;AAAA,EACd,OAAO;AAAA,IACN,YAAY,EAAE,MAAM,CAAC,QAAQ,MAAM,GAAG,SAAS,GAAG;AAAA,IAClD,OAAO,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACnC,MAAM,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IAClC,SAAS,EAAE,MAAM,OAAO,SAAS,MAAM,CAAC,EAAE;AAAA,IAC1C,aAAa,EAAE,MAAM,QAAQ,SAAS,SAAS;AAAA,IAC/C,cAAc,EAAE,MAAM,QAAQ,SAAS,gBAAgB;AAAA,IACvD,OAAO,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACnC,MAAM,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,EACnC;AAAA,EACA,OAAO,CAAC,qBAAqB,QAAQ;AAAA,EACrC,MAAM,OAAO,EAAE,OAAO,KAAK,GAAG;AAC7B,UAAM,KAAK,eAAe,EAAE,UAAU;AACtC,UAAM,YAAY,GAAG,EAAE;AACvB,UAAM,OAAOC,KAAI,KAAK;AACtB,UAAM,UAAUA,KAAI,EAAE;AACtB,UAAM,WAAWA,KAAI,IAAI;AACzB,UAAM,aAAa,SAAS,MAAM,MAAM,QAAQ,IAAI,YAAU,OAAO,WAAW,WAAW,SAAS;AAAA,MACnG,OAAO;AAAA,MACP,OAAO;AAAA,IACR,CAAC,CAAC;AACF,UAAM,QAAQ,SAAS,MAAG;AA7B5B;AA6B+B,qBAAO,WAAM,eAAN,YAAoB,EAAE,EAAE,YAAY;AAAA,KAAC;AACzE,UAAM,WAAW,SAAS,MAAM,WAAW,MAAM,OAAO,YAAU,OAAO,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,MAAM,KAAK,CAAC,CAAC;AAC3H,UAAM,SAAS,YAAU;AACxB,UAAG,CAAC,QAAQ;AACX;AAAA,MACD;AAEA,WAAK,qBAAqB,OAAO,KAAK;AACtC,WAAK,UAAU,MAAM;AACrB,WAAK,QAAQ;AACb,cAAQ,QAAQ;AAAA,IACjB;AACA,UAAM,OAAO,eAAa;AACzB,UAAG,CAAC,SAAS,MAAM,QAAQ;AAC1B;AAAA,MACD;AAEA,WAAK,QAAQ;AACb,cAAQ,SAAS,QAAQ,QAAQ,YAAY,SAAS,MAAM,UAAU,SAAS,MAAM;AACrF,eAAS,MAAM;AAhDlB;AAiDI,cAAM,aAAY,oBAAS,UAAT,mBAAgB,QAAQ,mBAAxB,mBAAwC,cAAc;AACxE,qDAAW,cAAc,qBAAzB,mBAA2C,eAAe,EAAE,OAAO,UAAU;AAAA,MAC9E,CAAC;AAAA,IACF;AACA,UAAM,YAAY,WAAS;AAC1B,UAAG,MAAM,QAAQ,aAAa;AAC7B,cAAM,eAAe;AACrB,aAAK,CAAC;AAAA,MACP,WAAU,MAAM,QAAQ,WAAW;AAClC,cAAM,eAAe;AACrB,aAAK,EAAE;AAAA,MACR,WAAU,MAAM,QAAQ,SAAS;AAChC,cAAM,eAAe;AACrB,eAAO,SAAS,MAAM,QAAQ,KAAK,CAAC;AAAA,MACrC,WAAU,MAAM,QAAQ,UAAU;AACjC,aAAK,QAAQ;AACb,gBAAQ,QAAQ;AAAA,MACjB;AAAA,IACD;AAEA,WAAO,MAAMC,IAAE,OAAO,EAAE,OAAO,aAAa,GAAG;AAAA,MAC9CA,IAAE,SAAS,EAAE,OAAO,GAAG,SAAS,MAAM,KAAK,EAAE,GAAG;AAAA,QAC/C,MAAM;AAAA,QACN,SAAS,MAAM,IAAI;AAAA,QACnBA,IAAE,SAAS;AAAA,UACV,GAAG;AAAA,UACH,KAAK;AAAA,UACL;AAAA,UACA,MAAM;AAAA,UACN,OAAO,MAAM;AAAA,UACb,aAAa,MAAM;AAAA,UACnB,cAAc;AAAA,UACd,MAAM;AAAA,UACN,qBAAqB;AAAA,UACrB,iBAAiB,KAAK,QAAQ,SAAS;AAAA,UACvC,iBAAiB;AAAA,UACjB,yBAAyB,QAAQ,SAAS,IAAI,GAAG,EAAE,WAAW,QAAQ,KAAK,KAAK;AAAA,UAChF,OAAO,GAAG,SAAS,MAAM,KAAK;AAAA,UAC9B,SAAS,MAAM;AACd,iBAAK,QAAQ;AAAA,UACd;AAAA,UACA,QAAQ,MAAM;AACb,uBAAW,MAAM;AAChB,mBAAK,QAAQ;AAAA,YACd,GAAG,GAAG;AAAA,UACP;AAAA,UACA,SAAS,WAAS;AACjB,oBAAQ,QAAQ;AAChB,iBAAK,QAAQ;AACb,iBAAK,qBAAqB,WAAW,KAAK,CAAC;AAAA,UAC5C;AAAA,UACA;AAAA,QACD,CAAC;AAAA,MACF,CAAC;AAAA,MACDA,IAAE,OAAO,EAAE,OAAO,4BAA4B,GAAG;AAAA,QAChDA,IAAE,OAAO,EAAE,OAAO,GAAG,mBAAmB,EAAE,UAAU,KAAK,MAAM,CAAC,EAAE,GAAG;AAAA,UACpEA,IAAE,OAAO,EAAE,OAAO,0BAA0B,GAAG;AAAA,YAC9CA,IAAE,OAAO,EAAE,OAAO,GAAG,aAAa,EAAE,MAAM,CAAC,SAAS,MAAM,OAAO,CAAC,EAAE,GAAG,MAAM,YAAY;AAAA,YACzFA,IAAE,OAAO;AAAA,cACR,IAAI;AAAA,cACJ,OAAO,GAAG,WAAW,EAAE,MAAM,SAAS,MAAM,OAAO,CAAC;AAAA,cACpD,MAAM;AAAA,YACP,GAAG,SAAS,MAAM,IAAI,CAAC,QAAQ,UAAUA,IAAE,OAAO;AAAA,cACjD,IAAI,GAAG,EAAE,WAAW,KAAK;AAAA,cACzB,OAAO,GAAG,UAAU,EAAE,OAAO,UAAU,QAAQ,MAAM,CAAC;AAAA,cACtD,MAAM;AAAA,cACN,iBAAiB,OAAO,UAAU,MAAM,aAAa,SAAS;AAAA,cAC9D,cAAc,OAAO;AAAA,cACrB,sBAAsB,OAAO;AAAA,cAC7B,aAAa,WAAS;AACrB,sBAAM,eAAe;AACrB,uBAAO,MAAM;AAAA,cACd;AAAA,YACD,GAAG,OAAO,KAAK,CAAC,CAAC;AAAA,UAClB,CAAC;AAAA,QACF,CAAC;AAAA,MACF,CAAC;AAAA,MACD,MAAM,QAAQA,IAAE,OAAO,EAAE,OAAO,GAAG,cAAc,MAAM,UAAU,WAAW,OAAO,EAAE,GAAG,MAAM,IAAI;AAAA,IACnG,CAAC;AAAA,EACF;AACD,CAAC;;;ACjID,SAAS,mBAAAC,mBAAiB,KAAAC,WAAS;;;ACenC,SAAS,mBAAAC,mBAAiB,KAAAC,KAAG,YAAAC,WAAU,iBAAiB,OAAAC,MAAK,UAAU,aAAa;;;ACGpF,SAAS,YAAAC,WAAU,OAAAC,YAAW;AAEvB,SAAS,qBAAqB,EAAE,WAAW,IAAI,IAAI,CAAC,GAAG;AAC7D,QAAM,UAAUA,KAAI,KAAK;AACzB,QAAM,UAAUA,KAAI,KAAK;AACzB,MAAI,aAAa;AAEjB,QAAM,OAAO,MAAM;AAClB,WAAO,aAAa,UAAU;AAC9B,YAAQ,QAAQ;AAChB,YAAQ,QAAQ;AAChB,IAAAD,UAAS,MAAM;AACd,4BAAsB,MAAM;AAC3B,gBAAQ,QAAQ;AAAA,MACjB,CAAC;AAAA,IACF,CAAC;AAAA,EACF;AAEA,QAAM,OAAO,MAAM;AAClB,YAAQ,QAAQ;AAChB,iBAAa,OAAO,WAAW,MAAM;AACpC,cAAQ,QAAQ;AAChB,cAAQ,QAAQ;AAAA,IACjB,GAAG,QAAQ;AAAA,EACZ;AAEA,QAAM,SAAS,MAAM;AACpB,WAAO,aAAa,UAAU;AAAA,EAC/B;AAEA,SAAO,EAAE,SAAS,SAAS,MAAM,MAAM,OAAO;AAC/C;;;AD9BA,IAAI,UAAU;AAEd,IAAO,kBAAQE,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,OAAO;AAAA,IACN,MAAM,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,IACtC,OAAO,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACnC,iBAAiB,EAAE,MAAM,SAAS,SAAS,KAAK;AAAA,EACjD;AAAA,EACA,OAAO,CAAC,eAAe,OAAO;AAAA,EAC9B,MAAM,OAAO,EAAE,MAAM,MAAM,GAAG;AAC7B,UAAM,UAAU,kBAAkB,EAAE,OAAO;AAC3C,UAAM,YAAYC,KAAI,IAAI;AAC1B,UAAM,EAAE,SAAS,SAAS,MAAM,gBAAgB,MAAM,gBAAgB,QAAQ,iBAAiB,IAAI,qBAAqB;AACxH,QAAI,gBAAgB;AAEpB,UAAM,QAAQ,MAAM;AACnB,WAAK,eAAe,KAAK;AACzB,WAAK,OAAO;AAAA,IACb;AACA,UAAM,YAAY,WAAS;AAC1B,UAAG,MAAM,QAAQ,UAAU;AAC1B,cAAM,eAAe;AACrB,cAAM;AAAA,MACP,OAAO;AACN,kBAAU,OAAO,UAAU,KAAK;AAAA,MACjC;AAAA,IACD;AACA,UAAM,cAAc,MAAM;AACzB,MAAAC,UAAS,MAAM;AAhDlB;AAiDI,wBAAU,UAAV,mBAAiB;AAAA,MAClB,CAAC;AAAA,IACF;AAEA,UAAM,MAAM,MAAM,MAAM,UAAQ;AArDlC;AAsDG,UAAG,MAAM;AACR,uBAAe;AACf,wBAAgB,SAAS;AACzB,iBAAS,iBAAiB,WAAW,SAAS;AAC9C,oBAAY;AAAA,MACb,OAAO;AACN,uBAAe;AACf,iBAAS,oBAAoB,WAAW,SAAS;AACjD,6DAAe,UAAf;AACA,wBAAgB;AAAA,MACjB;AAAA,IACD,GAAG,EAAE,OAAO,QAAQ,WAAW,KAAK,CAAC;AAErC,oBAAgB,MAAM;AACrB,eAAS,oBAAoB,WAAW,SAAS;AACjD,uBAAiB;AAAA,IAClB,CAAC;AAED,WAAO,MAAG;AAxEZ;AAwEe,qBAAQ,QAAQC,IAAE,UAAU,EAAE,IAAI,OAAO,GAAG;AAAA,QACxDA,IAAE,OAAO,EAAE,OAAO,GAAG,SAAS,QAAQ,QAAQ,WAAW,QAAQ,GAAG,eAAe,QAAQ,GAAG;AAAA,UAC7FA,IAAE,OAAO;AAAA,YACR,OAAO;AAAA,YACP,SAAS,MAAM,MAAM,mBAAmB,MAAM;AAAA,UAC/C,CAAC;AAAA,UACDA,IAAE,OAAO;AAAA,YACR,KAAK;AAAA,YACL,OAAO;AAAA,YACP,MAAM;AAAA,YACN,cAAc;AAAA,YACd,mBAAmB;AAAA,YACnB,UAAU;AAAA,UACX,GAAG;AAAA,YACFA,IAAE,UAAU,EAAE,OAAO,eAAe,GAAG;AAAA,cACtCA,IAAE,MAAM,EAAE,OAAO,eAAe,IAAI,QAAQ,KAAG,WAAM,UAAN,mCAAmB,MAAM,KAAK;AAAA,cAC7EA,IAAE,UAAU;AAAA,gBACX,OAAO;AAAA,gBACP,MAAM;AAAA,gBACN,cAAc;AAAA,gBACd,SAAS;AAAA,cACV,GAAG,CAAC,SAAS,MAAM,CAAC,CAAC;AAAA,YACtB,CAAC;AAAA,YACDA,IAAE,OAAO,EAAE,OAAO,cAAc,GAAG;AAAA,cAClCA,IAAE,OAAO,EAAE,OAAO,aAAa,IAAG,WAAM,YAAN,8BAAiB;AAAA,eAClD,MAAM,UAAU,MAAM,YAAYA,IAAE,UAAU,EAAE,OAAO,eAAe,GAAG;AAAA,iBACzE,WAAM,WAAN;AAAA,gBACA,MAAM,WAAWA,IAAE,OAAO,EAAE,OAAO,UAAU,GAAG,MAAM,QAAQ,EAAE,MAAM,CAAC,CAAC;AAAA,cACzE,CAAC;AAAA,YACF,CAAC;AAAA,UACF,CAAC;AAAA,QACF,CAAC;AAAA,MACF,CAAC,IAAI;AAAA;AAAA,EACN;AACD,CAAC;;;ADtGD,IAAO,0BAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,OAAO;AAAA,IACN,MAAM,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,IACtC,OAAO,EAAE,MAAM,QAAQ,SAAS,wBAAwB;AAAA,IACxD,SAAS,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACrC,aAAa,EAAE,MAAM,QAAQ,SAAS,MAAM;AAAA,IAC5C,YAAY,EAAE,MAAM,QAAQ,SAAS,KAAK;AAAA,IAC1C,gBAAgB,EAAE,MAAM,QAAQ,SAAS,UAAU;AAAA,EACpD;AAAA,EACA,OAAO,CAAC,eAAe,WAAW,QAAQ;AAAA,EAC1C,MAAM,OAAO,EAAE,MAAM,MAAM,GAAG;AAC7B,UAAM,QAAQ,MAAM,KAAK,eAAe,KAAK;AAC7C,UAAM,SAAS,MAAM;AACpB,WAAK,QAAQ;AACb,YAAM;AAAA,IACP;AACA,UAAM,UAAU,MAAM;AACrB,WAAK,SAAS;AACd,YAAM;AAAA,IACP;AAEA,WAAO,MAAMC,IAAE,iBAAS;AAAA,MACvB,MAAM,MAAM;AAAA,MACZ,OAAO,MAAM;AAAA,MACb,iBAAiB,WAAS,KAAK,eAAe,KAAK;AAAA,IACpD,GAAG;AAAA,MACF,SAAS,MAAG;AA/Bf;AA+BkB,4BAAM,YAAN,mCAAqBA,IAAE,KAAK,CAAC,GAAG,MAAM,OAAO;AAAA;AAAA,MAC5D,SAAS,MAAM;AAAA,QACdA,IAAE,kBAAU,EAAE,SAAS,WAAW,SAAS,OAAO,GAAG,MAAM,MAAM,UAAU;AAAA,QAC3EA,IAAE,kBAAU,EAAE,SAAS,MAAM,gBAAgB,SAAS,QAAQ,GAAG,MAAM,MAAM,WAAW;AAAA,MACzF;AAAA,IACD,CAAC;AAAA,EACF;AACD,CAAC;;;AGtCD,SAAS,mBAAAC,mBAAiB,KAAAC,KAAG,OAAAC,YAAW;AAGxC,IAAO,uBAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,OAAO;AAAA,IACN,MAAM,EAAE,MAAM,QAAQ,UAAU,KAAK;AAAA,IACrC,MAAM,EAAE,MAAM,QAAQ,SAAS,UAAU;AAAA,IACzC,aAAa,EAAE,MAAM,QAAQ,SAAS,WAAW;AAAA,IACjD,UAAU,EAAE,MAAM,QAAQ,SAAS,IAAK;AAAA,IACxC,OAAO,EAAE,MAAM,QAAQ,SAAS,OAAO;AAAA,IACvC,MAAM,EAAE,MAAM,QAAQ,SAAS,KAAK;AAAA,EACrC;AAAA,EACA,OAAO,CAAC,MAAM;AAAA,EACd,MAAM,OAAO,EAAE,KAAK,GAAG;AACtB,UAAM,SAASC,KAAI,KAAK;AACxB,QAAI,QAAQ;AAEZ,UAAM,OAAO,YAAY;AACxB,UAAI;AACH,cAAM,UAAU,UAAU,UAAU,MAAM,IAAI;AAAA,MAC/C,SAAQ;AAEP,cAAM,WAAW,SAAS,cAAc,UAAU;AAClD,iBAAS,QAAQ,MAAM;AACvB,iBAAS,MAAM,WAAW;AAC1B,iBAAS,MAAM,UAAU;AACzB,iBAAS,KAAK,YAAY,QAAQ;AAClC,iBAAS,OAAO;AAChB,iBAAS,YAAY,MAAM;AAC3B,iBAAS,KAAK,YAAY,QAAQ;AAAA,MACnC;AAEA,aAAO,QAAQ;AACf,aAAO,aAAa,KAAK;AACzB,cAAQ,OAAO,WAAW,MAAM;AAC/B,eAAO,QAAQ;AAAA,MAChB,GAAG,MAAM,QAAQ;AAEjB,WAAK,QAAQ,MAAM,IAAI;AAAA,IACxB;AAEA,WAAO,MAAMC,IAAE,UAAU;AAAA,MACxB,OAAO,GAAG,YAAY,EAAE,eAAe,MAAM,SAAS,KAAK,CAAC;AAAA,MAC5D,MAAM;AAAA,MACN,cAAc,MAAM;AAAA,MACpB,SAAS;AAAA,IACV,GAAG,CAAC,SAAS,OAAO,QAAQ,MAAM,cAAc,MAAM,IAAI,CAAC,CAAC;AAAA,EAC7D;AACD,CAAC;;;ACjDD,SAAS,mBAAAC,mBAAiB,KAAAC,WAAS;AAGnC,IAAO,4BAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,cAAc;AAAA,EACd,OAAO;AAAA,IACN,OAAO,EAAE,MAAM,OAAO,SAAS,MAAM,CAAC,EAAE;AAAA,IACxC,SAAS,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,EAC1C;AAAA,EACA,MAAM,OAAO,EAAE,OAAO,MAAM,GAAG;AAC9B,WAAO,MAAMC,IAAE,MAAM;AAAA,MACpB,GAAG;AAAA,MACH,OAAO,GAAG,oBAAoB,EAAE,4BAA4B,MAAM,QAAQ,GAAG,MAAM,KAAK;AAAA,IACzF,GAAG,MAAM,MAAM,IAAI,UAAK;AAd1B;AAc6B,aAAAA,IAAE,OAAO,EAAE,OAAO,uBAAuB,GAAG;AAAA,QACtEA,IAAE,MAAM,EAAE,OAAO,wBAAwB,GAAG,KAAK,QAAQ,KAAK,KAAK;AAAA,QACnEA;AAAA,UAAE;AAAA,UAAM,EAAE,OAAO,GAAG,0BAA0B,KAAK,SAAS,8BAA8B,EAAE;AAAA,YAC3F,WAAM,KAAK,SAAX,+BAAkB,EAAE,KAAK,OAAM,KAAK;AAAA,QACrC;AAAA,MACD,CAAC;AAAA,KAAC,CAAC;AAAA,EACJ;AACD,CAAC;;;ACrBD,SAAS,mBAAAC,mBAAiB,KAAAC,WAAS;AAGnC,IAAO,2BAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,cAAc;AAAA,EACd,OAAO;AAAA,IACN,OAAO,EAAE,MAAM,OAAO,SAAS,MAAM,CAAC,EAAE;AAAA,EACzC;AAAA,EACA,MAAM,OAAO,EAAE,OAAO,MAAM,GAAG;AAC9B,WAAO,MAAMC,IAAE,MAAM,EAAE,GAAG,OAAO,OAAO,GAAG,wBAAwB,MAAM,KAAK,EAAE,GAAG,MAAM,MAAM,IAAI,UAAK;AAV1G;AAU6G,aAAAA,IAAE,OAAO;AAAA,QACnH,OAAO;AAAA,MACR,GAAG;AAAA,QACFA,IAAE,MAAM,EAAE,OAAO,YAAY,GAAG,KAAK,QAAQ,KAAK,KAAK;AAAA,QACvDA,IAAE,MAAM,EAAE,OAAO,YAAY,KAAG,WAAM,KAAK,SAAX,+BAAkB,EAAE,KAAK,OAAM,KAAK,eAAe,KAAK,KAAK;AAAA,MAC9F,CAAC;AAAA,KAAC,CAAC;AAAA,EACJ;AACD,CAAC;;;ACjBD,SAAS,mBAAAC,mBAAiB,KAAAC,KAAG,mBAAAC,kBAAiB,OAAAC,YAAW;AAIzD,IAAO,qBAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,OAAO;AAAA,IACN,OAAO,EAAE,MAAM,QAAQ,SAAS,UAAU;AAAA,IAC1C,MAAM,EAAE,MAAM,QAAQ,SAAS,wBAAwB;AAAA,IACvD,SAAS,EAAE,MAAM,QAAQ,SAAS,YAAY;AAAA,IAC9C,OAAO,EAAE,MAAM,OAAO,SAAS,MAAM,CAAC,EAAE;AAAA,EACzC;AAAA,EACA,OAAO,CAAC,QAAQ;AAAA,EAChB,MAAM,OAAO,EAAE,MAAM,MAAM,GAAG;AAC7B,UAAM,OAAOC,KAAI,KAAK;AACtB,UAAM,OAAOA,KAAI,IAAI;AACrB,UAAM,QAAQ,MAAM;AACnB,WAAK,QAAQ;AACb,eAAS,oBAAoB,SAAS,cAAc;AACpD,eAAS,oBAAoB,WAAW,SAAS;AAAA,IAClD;AACA,UAAM,iBAAiB,WAAS;AAC/B,UAAG,KAAK,SAAS,CAAC,KAAK,MAAM,SAAS,MAAM,MAAM,GAAG;AACpD,cAAM;AAAA,MACP;AAAA,IACD;AACA,UAAM,YAAY,WAAS;AAC1B,UAAG,MAAM,QAAQ,UAAU;AAC1B,cAAM,eAAe;AACrB,cAAM;AAAA,MACP;AAAA,IACD;AACA,UAAM,SAAS,MAAM;AACpB,WAAK,QAAQ,CAAC,KAAK;AAEnB,UAAG,KAAK,OAAO;AACd,mBAAW,MAAM,SAAS,iBAAiB,SAAS,cAAc,GAAG,CAAC;AACtE,iBAAS,iBAAiB,WAAW,SAAS;AAAA,MAC/C,OAAO;AACN,cAAM;AAAA,MACP;AAAA,IACD;AACA,UAAM,SAAS,UAAQ;AA1CzB;AA2CG,UAAG,KAAK,UAAU;AACjB;AAAA,MACD;AAEA,iBAAK,aAAL,8BAAgB;AAChB,WAAK,UAAU,IAAI;AACnB,YAAM;AAAA,IACP;AAEA,IAAAC,iBAAgB,KAAK;AAErB,WAAO,MAAG;AAtDZ;AAsDe,aAAAC,IAAE,OAAO,EAAE,KAAK,MAAM,OAAO,GAAG,YAAY,EAAE,WAAW,KAAK,MAAM,CAAC,EAAE,GAAG;AAAA,UACtF,WAAM,YAAN,+BAAgB,EAAE,MAAM,KAAK,OAAO,OAAO,OAAMA,IAAE,kBAAU;AAAA,UAC5D,SAAS,MAAM;AAAA,UACf,MAAM,MAAM;AAAA,UACZ,iBAAiB,KAAK,QAAQ,SAAS;AAAA,UACvC,SAAS;AAAA,QACV,GAAG,MAAM,MAAM,KAAK;AAAA,QACpBA,IAAE,OAAO,EAAE,OAAO,iBAAiB,MAAM,OAAO,KAAG,WAAM,YAAN,+BAAgB,EAAE,MAAM,OAAM,MAAM,MAAM,IAAI,UAAQA,IAAE,UAAU;AAAA,UACpH,OAAO,GAAG,iBAAiB,KAAK,UAAU,sBAAsB;AAAA,UAChE,MAAM;AAAA,UACN,MAAM;AAAA,UACN,UAAU,KAAK;AAAA,UACf,SAAS,MAAM,OAAO,IAAI;AAAA,QAC3B,GAAG;AAAA,UACF,SAAS,KAAK,IAAI;AAAA,UAClB,KAAK;AAAA,QACN,CAAC,CAAC,CAAC;AAAA,MACJ,CAAC;AAAA;AAAA,EACF;AACD,CAAC;;;ACzED,SAAS,mBAAAC,mBAAiB,KAAAC,KAAG,YAAAC,WAAU,mBAAAC,kBAAiB,OAAAC,MAAK,YAAAC,WAAU,SAAAC,cAAa;AAIpF,IAAI,WAAW;AAEf,IAAO,mBAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,OAAO;AAAA,IACN,MAAM,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,IACtC,OAAO,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACnC,UAAU,EAAE,MAAM,QAAQ,SAAS,QAAQ;AAAA,EAC5C;AAAA,EACA,OAAO,CAAC,eAAe,OAAO;AAAA,EAC9B,MAAM,OAAO,EAAE,MAAM,MAAM,GAAG;AAC7B,UAAM,UAAU,mBAAmB,EAAE,QAAQ;AAC7C,UAAM,WAAWC,KAAI,IAAI;AACzB,UAAM,EAAE,SAAS,SAAS,MAAM,gBAAgB,MAAM,gBAAgB,QAAQ,iBAAiB,IAAI,qBAAqB;AACxH,QAAI,gBAAgB;AAEpB,UAAM,QAAQ,MAAM;AACnB,WAAK,eAAe,KAAK;AACzB,WAAK,OAAO;AAAA,IACb;AACA,UAAM,YAAY,WAAS;AAC1B,UAAG,MAAM,QAAQ,UAAU;AAC1B,cAAM,eAAe;AACrB,cAAM;AAAA,MACP,OAAO;AACN,kBAAU,OAAO,SAAS,KAAK;AAAA,MAChC;AAAA,IACD;AAEA,IAAAC,OAAM,MAAM,MAAM,MAAM,UAAQ;AAjClC;AAkCG,UAAG,MAAM;AACR,uBAAe;AACf,wBAAgB,SAAS;AACzB,iBAAS,iBAAiB,WAAW,SAAS;AAC9C,QAAAC,UAAS,MAAG;AAtChB,cAAAC;AAsCmB,kBAAAA,MAAA,SAAS,UAAT,gBAAAA,IAAgB;AAAA,SAAO;AAAA,MACvC,OAAO;AACN,uBAAe;AACf,iBAAS,oBAAoB,WAAW,SAAS;AACjD,6DAAe,UAAf;AACA,wBAAgB;AAAA,MACjB;AAAA,IACD,GAAG,EAAE,OAAO,OAAO,CAAC;AAEpB,IAAAC,iBAAgB,MAAM;AACrB,eAAS,oBAAoB,WAAW,SAAS;AACjD,uBAAiB;AAAA,IAClB,CAAC;AAED,WAAO,MAAG;AApDZ;AAoDe,qBAAQ,QAAQC,IAAEC,WAAU,EAAE,IAAI,OAAO,GAAG;AAAA,QACxDD,IAAE,OAAO;AAAA,UACR,OAAO,GAAG,UAAU,QAAQ,QAAQ,WAAW,UAAU,EAAE,eAAe,MAAM,aAAa,OAAO,CAAC;AAAA,UACrG,eAAe;AAAA,QAChB,GAAG;AAAA,UACFA,IAAE,OAAO,EAAE,OAAO,mBAAmB,SAAS,MAAM,CAAC;AAAA,UACrDA,IAAE,SAAS;AAAA,YACV,KAAK;AAAA,YACL,OAAO;AAAA,YACP,MAAM;AAAA,YACN,cAAc;AAAA,YACd,mBAAmB;AAAA,YACnB,UAAU;AAAA,UACX,GAAG;AAAA,YACFA,IAAE,UAAU,EAAE,OAAO,gBAAgB,GAAG;AAAA,cACvCA,IAAE,MAAM,EAAE,OAAO,gBAAgB,IAAI,QAAQ,KAAG,WAAM,UAAN,mCAAmB,MAAM,KAAK;AAAA,cAC9EA,IAAE,UAAU;AAAA,gBACX,OAAO;AAAA,gBACP,MAAM;AAAA,gBACN,cAAc;AAAA,gBACd,SAAS;AAAA,cACV,GAAG,CAAC,SAAS,MAAM,CAAC,CAAC;AAAA,YACtB,CAAC;AAAA,YACDA,IAAE,OAAO,EAAE,OAAO,cAAc,IAAG,WAAM,YAAN,8BAAiB;AAAA,YACpD,MAAM,UAAUA,IAAE,UAAU,EAAE,OAAO,gBAAgB,GAAG,MAAM,OAAO,EAAE,MAAM,CAAC,CAAC;AAAA,UAChF,CAAC;AAAA,QACF,CAAC;AAAA,MACF,CAAC,IAAI;AAAA;AAAA,EACN;AACD,CAAC;;;ACjFD,SAAS,mBAAAE,mBAAiB,KAAAC,WAAS;AAGnC,IAAO,uBAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,cAAc;AAAA,EACd,OAAO;AAAA,IACN,OAAO,EAAE,MAAM,QAAQ,UAAU,KAAK;AAAA,IACtC,MAAM,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IAClC,MAAM,EAAE,MAAM,QAAQ,SAAS,aAAa;AAAA,IAC5C,SAAS,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,EACtC;AAAA,EACA,MAAM,OAAO,EAAE,OAAO,MAAM,GAAG;AAC9B,WAAO,MAAG;AAbZ;AAae,aAAAC,IAAE,OAAO;AAAA,QACrB,GAAG;AAAA,QACH,OAAO,GAAG,eAAe,MAAM,WAAW,eAAe,MAAM,OAAO,IAAI,MAAM,KAAK;AAAA,MACtF,GAAG;AAAA,QACFA,IAAE,OAAO,EAAE,OAAO,mBAAmB,GAAG,CAAC,SAAS,MAAM,IAAI,CAAC,CAAC;AAAA,QAC9DA,IAAE,MAAM,EAAE,OAAO,oBAAoB,KAAG,WAAM,UAAN,mCAAmB,MAAM,KAAK;AAAA,SACrE,MAAM,QAAQ,MAAM,YAAYA,IAAE,KAAK,EAAE,OAAO,mBAAmB,KAAG,WAAM,YAAN,mCAAqB,MAAM,IAAI;AAAA,QACtG,MAAM,WAAWA,IAAE,OAAO,EAAE,OAAO,sBAAsB,GAAG,MAAM,QAAQ,CAAC;AAAA,MAC5E,CAAC;AAAA;AAAA,EACF;AACD,CAAC;;;ACvBD,SAAS,mBAAAC,mBAAiB,KAAAC,KAAG,mBAAAC,kBAAiB,OAAAC,MAAK,SAAAC,cAAa;AAKhE,SAAS,SAAS,MAAM;AACvB,QAAM,MAAM,KAAK,KAAK,MAAM,GAAG,EAAE,IAAI;AACrC,SAAO,MAAM,IAAI,MAAM,GAAG,CAAC,EAAE,YAAY,IAAI;AAC9C;AAEA,SAAS,SAAS,MAAM;AACvB,MAAG,CAAC,KAAK,MAAM;AACd,WAAO;AAAA,EACR;AAEA,QAAM,QAAQ,CAAC,KAAK,MAAM,MAAM,IAAI;AACpC,QAAM,QAAQ,KAAK,IAAI,KAAK,MAAM,KAAK,IAAI,KAAK,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,GAAG,MAAM,SAAS,CAAC;AACzF,QAAM,QAAQ,KAAK,OAAO,KAAK,IAAI,MAAM,KAAK;AAC9C,SAAO,GAAG,MAAM,QAAQ,SAAS,MAAM,UAAU,IAAI,IAAI,CAAC,CAAC,IAAI,MAAM,KAAK,CAAC;AAC5E;AAEA,IAAO,uBAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,OAAO;AAAA,IACN,YAAY,EAAE,MAAM,OAAO,SAAS,MAAM,CAAC,EAAE;AAAA,IAC7C,OAAO,EAAE,MAAM,QAAQ,SAAS,eAAe;AAAA,IAC/C,aAAa,EAAE,MAAM,QAAQ,SAAS,wCAAwC;AAAA,IAC9E,SAAS,EAAE,MAAM,QAAQ,SAAS,eAAe;AAAA,IACjD,WAAW,EAAE,MAAM,QAAQ,SAAS,qDAAqD;AAAA,IACzF,OAAO,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACnC,UAAU,EAAE,MAAM,SAAS,SAAS,KAAK;AAAA,IACzC,QAAQ,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,EACrC;AAAA,EACA,OAAO,CAAC,qBAAqB,QAAQ;AAAA,EACrC,MAAM,OAAO,EAAE,MAAM,MAAM,GAAG;AAC7B,UAAM,OAAOC,KAAI,oBAAI,IAAI,CAAC;AAC1B,UAAM,aAAa,UAAQ;AAC1B,YAAM,MAAM,KAAK,MAAM,IAAI,IAAI;AAE/B,UAAG,KAAK;AACP,YAAI,gBAAgB,GAAG;AACvB,aAAK,MAAM,OAAO,IAAI;AAAA,MACvB;AAAA,IACD;AACA,UAAM,YAAY,MAAM;AACvB,WAAK,MAAM,QAAQ,SAAO,IAAI,gBAAgB,GAAG,CAAC;AAClD,WAAK,MAAM,MAAM;AAAA,IAClB;AACA,UAAM,WAAW,cAAY;AAC5B,YAAM,QAAQ,MAAM,KAAK,YAAY,CAAC,CAAC;AACvC,WAAK,qBAAqB,KAAK;AAC/B,WAAK,UAAU,KAAK;AAAA,IACrB;AACA,UAAM,SAAS,WAAS;AACvB,iBAAW,MAAM,WAAW,KAAK,CAAC;AAClC,YAAM,QAAQ,MAAM,WAAW,OAAO,CAAC,GAAG,cAAc,cAAc,KAAK;AAC3E,WAAK,qBAAqB,KAAK;AAC/B,WAAK,UAAU,KAAK;AAAA,IACrB;AACA,UAAM,aAAa,UAAQ;AA3D7B;AA4DG,UAAG,GAAC,UAAK,SAAL,mBAAW,WAAW,YAAW;AACpC,eAAO;AAAA,MACR;AAEA,UAAG,CAAC,KAAK,MAAM,IAAI,IAAI,GAAG;AACzB,aAAK,MAAM,IAAI,MAAM,IAAI,gBAAgB,IAAI,CAAC;AAAA,MAC/C;AAEA,aAAO,KAAK,MAAM,IAAI,IAAI;AAAA,IAC3B;AAEA,IAAAC,OAAM,MAAM,MAAM,YAAY,WAAS;AACtC,YAAM,SAAS,IAAI,IAAI,KAAK;AAC5B,OAAC,GAAG,KAAK,MAAM,KAAK,CAAC,EAAE,QAAQ,UAAQ;AACtC,YAAG,CAAC,OAAO,IAAI,IAAI,GAAG;AACrB,qBAAW,IAAI;AAAA,QAChB;AAAA,MACD,CAAC;AAAA,IACF,CAAC;AAED,IAAAC,iBAAgB,SAAS;AAEzB,WAAO,MAAG;AAlFZ;AAkFe,aAAAC,IAAE,OAAO,EAAE,OAAO,oBAAoB,GAAG;AAAA,QACrDA,IAAE,OAAO,EAAE,OAAO,mBAAmB,GAAG;AAAA,UACvCA,IAAE,OAAO,EAAE,OAAO,qBAAqB,GAAG;AAAA,YACzCA,IAAE,OAAO,EAAE,OAAO,sBAAsB,GAAG;AAAA,cAC1CA,IAAE,MAAM,EAAE,OAAO,oBAAoB,KAAG,WAAM,UAAN,mCAAmB,MAAM,KAAK;AAAA,cACtEA,IAAE,KAAK,EAAE,OAAO,0BAA0B,KAAG,WAAM,gBAAN,mCAAyB,MAAM,WAAW;AAAA,YACxF,CAAC;AAAA,YACD,MAAM,SAASA,IAAE,iBAAS,EAAE,SAAS,OAAO,GAAG,MAAM,MAAM,KAAK;AAAA,UACjE,CAAC;AAAA,UACDA,IAAE,SAAS,EAAE,OAAO,uBAAuB,GAAG;AAAA,YAC7CA,IAAE,QAAQ,EAAE,OAAO,oBAAoB,eAAe,OAAO,GAAG,CAAC,SAAS,mBAAmB,CAAC,CAAC;AAAA,YAC/FA,IAAE,QAAQ,EAAE,OAAO,mBAAmB,GAAG;AAAA,cACxCA,IAAE,QAAQ,EAAE,OAAO,sBAAsB,GAAG,MAAM,OAAO;AAAA,cACzDA,IAAE,QAAQ,EAAE,OAAO,wBAAwB,GAAG,MAAM,SAAS;AAAA,YAC9D,CAAC;AAAA,YACDA,IAAE,SAAS;AAAA,cACV,MAAM;AAAA,cACN,UAAU,MAAM;AAAA,cAChB,QAAQ,MAAM,UAAU;AAAA,cACxB,UAAU,WAAS,SAAS,MAAM,OAAO,KAAK;AAAA,YAC/C,CAAC;AAAA,UACF,CAAC;AAAA,UACDA,IAAE,OAAO,EAAE,OAAO,uBAAuB,QAAQ,CAAC,MAAM,WAAW,OAAO,GAAG,MAAM,WAAW,IAAI,CAAC,MAAM,UAAUA,IAAE,UAAU;AAAA,YAC9H,OAAO;AAAA,UACR,GAAG;AAAA,YACFA,IAAE,UAAU;AAAA,cACX,OAAO;AAAA,cACP,MAAM;AAAA,cACN,cAAc,UAAU,KAAK,IAAI;AAAA,cACjC,SAAS,MAAM,OAAO,KAAK;AAAA,YAC5B,GAAG,CAAC,SAAS,MAAM,CAAC,CAAC;AAAA,YACrBA;AAAA,cAAE;AAAA,cAAO,EAAE,OAAO,6BAA6B;AAAA,cAAG,WAAW,IAAI,IAC9DA,IAAE,OAAO,EAAE,KAAK,WAAW,IAAI,GAAG,KAAK,GAAG,CAAC,IAC3CA,IAAE,QAAQ,EAAE,OAAO,2BAA2B,GAAG,SAAS,IAAI,CAAC;AAAA,YAClE;AAAA,YACAA,IAAE,cAAc,CAAC,GAAG;AAAA,cACnBA,IAAE,QAAQ,EAAE,OAAO,2BAA2B,GAAG,KAAK,IAAI;AAAA,cAC1DA,IAAE,QAAQ,EAAE,OAAO,2BAA2B,GAAG,GAAG,SAAS,IAAI,CAAC,MAAM,SAAS,IAAI,CAAC,EAAE;AAAA,YACzF,CAAC;AAAA,UACF,CAAC,CAAC,CAAC;AAAA,UACH,MAAM,WAAWA,IAAE,OAAO,EAAE,OAAO,sBAAsB,GAAG,MAAM,QAAQ,CAAC;AAAA,UAC3E,CAAC,MAAM,WAAW,MAAM,WAAW,SAAS,KAAKA,IAAE,OAAO,EAAE,OAAO,sBAAsB,GAAG;AAAA,YAC3FA,IAAE,kBAAU;AAAA,cACX,SAAS;AAAA,cACT,MAAM;AAAA,cACN,SAAS,MAAM;AACd,0BAAU;AACV,yBAAS,CAAC,CAAC;AAAA,cACZ;AAAA,YACD,GAAG,MAAM,OAAO;AAAA,UACjB,CAAC;AAAA,QACF,CAAC;AAAA,MACF,CAAC;AAAA;AAAA,EACF;AACD,CAAC;;;ACxID,SAAS,mBAAAC,mBAAiB,KAAAC,WAAS;AAGnC,IAAO,uBAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,cAAc;AAAA,EACd,OAAO;AAAA,IACN,MAAM,EAAE,MAAM,QAAQ,UAAU,KAAK;AAAA,IACrC,OAAO,EAAE,MAAM,QAAQ,UAAU,KAAK;AAAA,IACtC,MAAM,EAAE,MAAM,QAAQ,SAAS,SAAS;AAAA,IACxC,MAAM,EAAE,MAAM,QAAQ,SAAS,KAAK;AAAA,IACpC,cAAc,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,EAC/C;AAAA,EACA,MAAM,OAAO,EAAE,MAAM,GAAG;AACvB,WAAO,MAAMC,IAAE,UAAU;AAAA,MACxB,GAAG;AAAA,MACH,MAAM,MAAM;AAAA,MACZ,cAAc,MAAM;AAAA,MACpB,OAAO,GAAG,YAAY,EAAE,eAAe,MAAM,SAAS,MAAM,iBAAiB,MAAM,aAAa,GAAG,MAAM,KAAK;AAAA,IAC/G,GAAG,CAAC,SAAS,MAAM,IAAI,CAAC,CAAC;AAAA,EAC1B;AACD,CAAC;;;ACrBD,SAAS,mBAAAC,mBAAiB,KAAAC,WAAS;AAGnC,IAAO,qBAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,OAAO;AAAA,IACN,OAAO,EAAE,MAAM,QAAQ,UAAU,KAAK;AAAA,IACtC,MAAM,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IAClC,QAAQ,EAAE,MAAM,QAAQ,SAAS,OAAO,CAAC,GAAG;AAAA,EAC7C;AAAA,EACA,MAAM,OAAO,EAAE,MAAM,GAAG;AACvB,WAAO,MAAG;AAXZ;AAWe,aAAAC,IAAE,QAAQ,EAAE,OAAO,WAAW,GAAG;AAAA,UAC7C,WAAM,WAAN,mCAAoBA,IAAE,kBAAU,MAAM,MAAM;AAAA,QAC5CA,IAAE,QAAQ,EAAE,OAAO,mBAAmB,GAAG;AAAA,UACxCA,IAAE,QAAQ,EAAE,OAAO,iBAAiB,KAAG,WAAM,UAAN,mCAAmB,MAAM,KAAK;AAAA,WACpE,MAAM,QAAQ,MAAM,SAASA,IAAE,QAAQ,EAAE,OAAO,gBAAgB,KAAG,WAAM,SAAN,mCAAkB,MAAM,IAAI;AAAA,QACjG,CAAC;AAAA,MACF,CAAC;AAAA;AAAA,EACF;AACD,CAAC;;;ACLD,SAAS,mBAAAC,mBAAiB,KAAAC,WAAS;AAGnC,IAAO,kBAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,cAAc;AAAA,EACd,OAAO;AAAA,IACN,YAAY,EAAE,MAAM,CAAC,QAAQ,MAAM,GAAG,SAAS,GAAG;AAAA,IAClD,OAAO,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACnC,MAAM,EAAE,MAAM,QAAQ,SAAS,OAAO;AAAA,IACtC,MAAM,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IAClC,OAAO,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACnC,MAAM,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IAClC,MAAM,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,EACvC;AAAA,EACA,OAAO,CAAC,mBAAmB;AAAA,EAC3B,MAAM,OAAO,EAAE,OAAO,KAAK,GAAG;AAC7B,WAAO,MAAM;AACZ,YAAM,QAAQC,IAAE,SAAS;AAAA,QACxB,GAAG;AAAA,QACH,MAAM,MAAM;AAAA,QACZ,OAAO,MAAM;AAAA,QACb,OAAO,GAAG,MAAM,OAAO,KAAK,SAAS,MAAM,KAAK;AAAA,QAChD,SAAS,WAAS,KAAK,qBAAqB,WAAW,KAAK,CAAC;AAAA,MAC9D,CAAC;AAED,UAAG,MAAM,MAAM;AACd,eAAO;AAAA,MACR;AAEA,aAAOA,IAAE,OAAO,EAAE,OAAO,aAAa,GAAG;AAAA,QACxCA,IAAE,SAAS,EAAE,OAAO,GAAG,SAAS,MAAM,KAAK,EAAE,GAAG;AAAA,UAC/C,MAAM;AAAA,UACN,SAAS,MAAM,IAAI;AAAA,UACnB;AAAA,QACD,CAAC;AAAA,QACD,MAAM,QAAQA,IAAE,OAAO,EAAE,OAAO,GAAG,cAAc,MAAM,UAAU,WAAW,OAAO,EAAE,GAAG,MAAM,IAAI;AAAA,MACnG,CAAC;AAAA,IACF;AAAA,EACD;AACD,CAAC;;;ACtDD,SAAS,mBAAAC,mBAAiB,KAAAC,WAAS;AAGnC,IAAO,uBAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,cAAc;AAAA,EACd,OAAO;AAAA,IACN,SAAS,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,IACzC,OAAO,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACnC,MAAM,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,EACnC;AAAA,EACA,MAAM,OAAO,EAAE,OAAO,MAAM,GAAG;AAC9B,WAAO,MAAG;AAZZ;AAYe,aAAAC,IAAE,OAAO;AAAA,QACrB,GAAG;AAAA,QACH,OAAO,GAAG,eAAe,EAAE,uBAAuB,MAAM,QAAQ,GAAG,MAAM,KAAK;AAAA,MAC/E,GAAG;AAAA,SACD,MAAM,SAAS,MAAM,QAAQ,MAAM,UAAUA,IAAE,QAAQ,EAAE,OAAO,oBAAoB,KAAG,WAAM,UAAN,mCAAmB,SAAS,MAAM,IAAI,KAAK,MAAM,KAAK;AAAA,SAC9I,WAAM,YAAN;AAAA,QACA,MAAM,UAAUA,IAAE,QAAQ,EAAE,OAAO,qBAAqB,GAAG,MAAM,OAAO,CAAC;AAAA,MAC1E,CAAC;AAAA;AAAA,EACF;AACD,CAAC;;;ACrBD,SAAS,mBAAAC,mBAAiB,KAAAC,WAAS;AAGnC,IAAO,iBAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,cAAc;AAAA,EACd,OAAO;AAAA,IACN,OAAO,EAAE,MAAM,OAAO,SAAS,MAAM,CAAC,EAAE;AAAA,IACxC,SAAS,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,IACzC,OAAO,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,EACxC;AAAA,EACA,MAAM,OAAO,EAAE,OAAO,MAAM,GAAG;AAC9B,UAAM,MAAM,MAAM,UAAU,OAAO;AAEnC,WAAO,MAAMC,IAAE,KAAK;AAAA,MACnB,GAAG;AAAA,MACH,OAAO,GAAG,QAAQ;AAAA,QACjB,gBAAgB,MAAM;AAAA,QACtB,cAAc,MAAM;AAAA,MACrB,GAAG,MAAM,KAAK;AAAA,IACf,GAAG,MAAM,MAAM,IAAI,UAAK;AApB1B;AAoB6B,aAAAA,IAAE,MAAM,EAAE,OAAO,YAAY,GAAG;AAAA,QAC1D,SAAS,KAAK,IAAI;AAAA,UAClB,WAAM,SAAN,+BAAa,EAAE,KAAK,OAAM,KAAK,SAAS;AAAA,MACzC,CAAC;AAAA,KAAC,CAAC;AAAA,EACJ;AACD,CAAC;;;ACzBD,SAAS,mBAAAC,mBAAiB,KAAAC,WAAS;AAGnC,IAAO,mBAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,cAAc;AAAA,EACd,OAAO;AAAA,IACN,QAAQ,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,IACxC,OAAO,EAAE,MAAM,QAAQ,SAAS,UAAU;AAAA,EAC3C;AAAA,EACA,MAAM,OAAO,EAAE,MAAM,GAAG;AACvB,WAAO,MAAM,MAAM,SAChBC,IAAE,OAAO,EAAE,GAAG,OAAO,OAAO,GAAG,iBAAiB,MAAM,KAAK,EAAE,GAAG;AAAA,MACjE,SAAS,8BAA8B;AAAA,MACvC,MAAM;AAAA,IACP,CAAC,IACCA,IAAE,OAAO,EAAE,GAAG,OAAO,OAAO,GAAG,UAAU,MAAM,KAAK,GAAG,MAAM,UAAU,cAAc,MAAM,MAAM,CAAC;AAAA,EACtG;AACD,CAAC;;;AClBD,SAAS,mBAAAC,mBAAiB,KAAAC,KAAG,OAAAC,YAAW;AAOxC,IAAO,sBAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,OAAO;AAAA,IACN,OAAO,EAAE,MAAM,QAAQ,SAAS,UAAU;AAAA,IAC1C,SAAS,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACrC,UAAU,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACtC,eAAe,EAAE,MAAM,QAAQ,SAAS,WAAW;AAAA,IACnD,cAAc,EAAE,MAAM,QAAQ,SAAS,UAAU;AAAA,IACjD,eAAe,EAAE,MAAM,QAAQ,SAAS,WAAW;AAAA,IACnD,cAAc,EAAE,MAAM,QAAQ,SAAS,cAAc;AAAA,IACrD,YAAY,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,IAC5C,eAAe,EAAE,MAAM,QAAQ,SAAS,cAAc;AAAA,IACtD,YAAY,EAAE,MAAM,QAAQ,SAAS,UAAU;AAAA,IAC/C,eAAe,EAAE,MAAM,QAAQ,SAAS,YAAY;AAAA,IACpD,SAAS,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,IACzC,OAAO,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACnC,YAAY,EAAE,MAAM,QAAQ,SAAS,IAAI;AAAA,IACzC,YAAY,EAAE,MAAM,QAAQ,SAAS,mBAAmB;AAAA,IACxD,YAAY,EAAE,MAAM,QAAQ,SAAS,IAAI;AAAA,IACzC,YAAY,EAAE,MAAM,QAAQ,SAAS,iBAAiB;AAAA,EACvD;AAAA,EACA,OAAO,CAAC,QAAQ;AAAA,EAChB,MAAM,OAAO,EAAE,KAAK,GAAG;AACtB,UAAM,WAAWC,KAAI,EAAE;AACvB,UAAM,WAAWA,KAAI,EAAE;AACvB,UAAM,WAAWA,KAAI,KAAK;AAE1B,UAAM,WAAW,CAAC,UAAU;AAC3B,YAAM,eAAe;AACrB,WAAK,UAAU;AAAA,QACd,UAAU,SAAS;AAAA,QACnB,UAAU,SAAS;AAAA,QACnB,UAAU,SAAS;AAAA,MACpB,CAAC;AAAA,IACF;AAEA,WAAO,MAAMC,IAAE,WAAW,EAAE,OAAO,kBAAkB,GAAG;AAAA,OACtD,MAAM,SAAS,MAAM,WAAW,MAAM,aAAaA,IAAE,UAAU,EAAE,OAAO,+BAA+B,GAAG;AAAA,QAC1G,MAAM,WAAWA,IAAE,OAAO,EAAE,KAAK,MAAM,SAAS,KAAK,IAAI,OAAO,kBAAkB,CAAC;AAAA,QACnF,MAAM,YAAY,CAAC,MAAM,WAAW,SAAS,MAAM,UAAU,sBAAsB;AAAA,QACnF,MAAM,SAASA,IAAE,QAAQ,EAAE,OAAO,mBAAmB,GAAG,MAAM,KAAK;AAAA,MACpE,CAAC;AAAA,MACDA,IAAE,OAAO,EAAE,OAAO,eAAe,GAAG;AAAA,QACnC,MAAM,SAASA,IAAE,iBAAS,EAAE,SAAS,UAAU,OAAO,mBAAmB,GAAG,MAAM,MAAM,KAAK;AAAA,QAC7FA,IAAE,QAAQ,EAAE,OAAO,mBAAmB,SAAS,GAAG;AAAA,UACjDA,IAAE,iBAAS;AAAA,YACV,YAAY,SAAS;AAAA,YACrB,uBAAuB,CAAC,MAAM;AAAE,uBAAS,QAAQ;AAAA,YAAG;AAAA,YACpD,OAAO,MAAM;AAAA,YACb,MAAM,MAAM;AAAA,YACZ,MAAM;AAAA,YACN,cAAc;AAAA,UACf,CAAC;AAAA,UACDA,IAAE,iBAAS;AAAA,YACV,YAAY,SAAS;AAAA,YACrB,uBAAuB,CAAC,MAAM;AAAE,uBAAS,QAAQ;AAAA,YAAG;AAAA,YACpD,OAAO,MAAM;AAAA,YACb,MAAM,MAAM;AAAA,YACZ,MAAM;AAAA,YACN,cAAc;AAAA,UACf,CAAC;AAAA,UACD,MAAM,cAAcA,IAAE,oBAAY;AAAA,YACjC,YAAY,SAAS;AAAA,YACrB,uBAAuB,CAAC,MAAM;AAAE,uBAAS,QAAQ;AAAA,YAAG;AAAA,UACrD,GAAG,MAAM,MAAM,aAAa;AAAA,UAC5BA,IAAE,kBAAU;AAAA,YACX,SAAS,MAAM;AAAA,YACf,SAAS,MAAM;AAAA,YACf,UAAU,MAAM;AAAA,YAChB,MAAM;AAAA,YACN,MAAM;AAAA,YACN,OAAO;AAAA,UACR,GAAG,MAAM,MAAM,UAAU;AAAA,WACxB,MAAM,cAAc,MAAM,eAAeA,IAAE,OAAO,EAAE,OAAO,mBAAmB,GAAG;AAAA,YACjF,MAAM,cAAcA,IAAE,KAAK,EAAE,MAAM,MAAM,YAAY,OAAO,kBAAkB,GAAG,MAAM,UAAU;AAAA,YACjG,MAAM,cAAcA,IAAE,KAAK,EAAE,MAAM,MAAM,YAAY,OAAO,kBAAkB,GAAG,MAAM,UAAU;AAAA,UAClG,CAAC;AAAA,QACF,CAAC;AAAA,MACF,CAAC;AAAA,IACF,CAAC;AAAA,EACF;AACD,CAAC;;;ACxFD,SAAS,mBAAAC,mBAAiB,KAAAC,WAAS;AAGnC,IAAO,uBAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,cAAc;AAAA,EACd,OAAO;AAAA,IACN,OAAO,EAAE,MAAM,QAAQ,UAAU,KAAK;AAAA,IACtC,OAAO,EAAE,MAAM,CAAC,QAAQ,MAAM,GAAG,UAAU,KAAK;AAAA,IAChD,MAAM,EAAE,MAAM,QAAQ,SAAS,mBAAmB;AAAA,IAClD,OAAO,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACnC,UAAU,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,IAC1C,MAAM,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,EACnC;AAAA,EACA,MAAM,OAAO,EAAE,OAAO,MAAM,GAAG;AAC9B,WAAO,MAAG;AAfZ;AAee,aAAAC,IAAE,WAAW,EAAE,GAAG,OAAO,OAAO,GAAG,oBAAoB,MAAM,KAAK,EAAE,GAAG;AAAA,QACnFA,IAAE,OAAO,EAAE,OAAO,eAAe,GAAG;AAAA,UACnCA,IAAE,OAAO,EAAE,OAAO,qBAAqB,GAAG;AAAA,YACzCA,IAAE,KAAK,EAAE,OAAO,oBAAoB,KAAG,WAAM,UAAN,mCAAmB,MAAM,KAAK;AAAA,YACrEA,IAAE,QAAQ,EAAE,OAAO,mBAAmB,GAAG,CAAC,SAAS,MAAM,IAAI,CAAC,CAAC;AAAA,UAChE,CAAC;AAAA,UACDA,IAAE,KAAK,EAAE,OAAO,oBAAoB,KAAG,WAAM,UAAN,mCAAmB,MAAM,KAAK;AAAA,WACpE,MAAM,SAAS,MAAM,QAAQ,MAAM,SAASA,IAAE,OAAO,EAAE,OAAO,mBAAmB,GAAG;AAAA,YACpF,MAAM,SAASA,IAAE,QAAQ;AAAA,cACxB,OAAO,GAAG,qBAAqB,EAAE,8BAA8B,MAAM,SAAS,CAAC;AAAA,YAChF,GAAG,MAAM,KAAK;AAAA,cACd,WAAM,SAAN,mCAAkB,MAAM;AAAA,UACzB,CAAC;AAAA,QACF,CAAC;AAAA,MACF,CAAC;AAAA;AAAA,EACF;AACD,CAAC;;;AC/BD,SAAS,YAAAC,WAAU,mBAAAC,mBAAiB,KAAAC,WAAS;;;ACI7C,SAAS,0BAA0B;AAE5B,SAAS,eAAe;AAN/B;AAOC,QAAM,WAAW,mBAAmB;AACpC,WAAO,0CAAU,UAAV,mBAAiB,YAAW;AACpC;AAEO,SAAS,cAAc;AAX9B;AAYC,QAAM,WAAW,mBAAmB;AACpC,WAAO,0CAAU,UAAV,mBAAiB,WAAU;AACnC;AAUO,SAAS,cAAc,cAAc,IAAI,WAAW,UAAU;AACpE,MAAG,CAAC,cAAc;AACjB,WAAO;AAAA,EACR;AAEA,QAAM,QAAQ,aAAa,SAAS;AAEpC,MAAG,OAAO,OAAO,UAAU;AAC1B,QAAG,aAAa,SAAS;AACxB,aAAO,MAAM,SAAS;AAAA,IACvB;AAEA,WAAO,MAAM,SAAS,MAAM,MAAM,KAAK,WAAW,KAAK,GAAG;AAAA,EAC3D;AAEA,MAAG,GAAG,MAAM;AACX,QAAG,aAAa,SAAS;AACxB,aAAO,MAAM,SAAS,GAAG;AAAA,IAC1B;AAEA,WAAO,MAAM,SAAS,GAAG,QAAQ,MAAM,KAAK,WAAW,GAAG,OAAO,GAAG;AAAA,EACrE;AAEA,MAAG,GAAG,MAAM;AACX,WAAO,MAAM,SAAS,GAAG;AAAA,EAC1B;AAEA,SAAO;AACR;;;ADhDA,IAAO,oBAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,cAAc;AAAA,EACd,OAAO;AAAA,IACN,OAAO,EAAE,MAAM,OAAO,SAAS,MAAM,CAAC,EAAE;AAAA,IACxC,aAAa,EAAE,MAAM,QAAQ,SAAS,SAAS;AAAA,EAChD;AAAA,EACA,OAAO,CAAC,QAAQ;AAAA,EAChB,MAAM,OAAO,EAAE,OAAO,MAAM,MAAM,GAAG;AACpC,UAAM,SAAS,aAAa;AAC5B,UAAM,QAAQ,YAAY;AAC1B,UAAM,YAAY,QAAQ,UAAU,KAAK;AAEzC,UAAM,cAAc,QAAM;AACzB,UAAG,CAAC,IAAI;AACP,eAAO;AAAA,MACR;AAEA,UAAG,OAAO,OAAO,UAAU;AAC1B,eAAO;AAAA,MACR;AAEA,UAAG,GAAG,MAAM;AACX,eAAO,GAAG;AAAA,MACX;AAEA,aAAO;AAAA,IACR;AAEA,UAAM,WAAWC,UAAS,MAAM,MAAM,MAAM,IAAI,UAAQ;AACvD,YAAM,QAAQ,QAAQ,KAAK,EAAE;AAC7B,YAAM,eAAe,QACjB,YAAY,OAAO,QAAQ,KAAK,EAAE,EAAE,OAAO,YAAY,KAAK,EAAE,IAC/D,KAAK;AACR,YAAM,WAAW,SAAS,YACvB,cAAc,OAAO,KAAK,IAAI,MAAM,WAAW,IAC/C,QAAQ,KAAK,MAAM;AAEtB,aAAO;AAAA,QACN,GAAG;AAAA,QACH;AAAA,QACA;AAAA,QACA;AAAA,MACD;AAAA,IACD,CAAC,CAAC;AAEF,WAAO,MAAMC,IAAE,MAAM,EAAE,GAAG,OAAO,OAAO,GAAG,iBAAiB,MAAM,KAAK,EAAE,GAAG,SAAS,MAAM,IAAI,UAAK;AAlDtG;AAkDyG,aAAAA,IAAE,MAAM;AAAA,QAC9G,OAAO,GAAG,aAAa,EAAE,oBAAoB,KAAK,SAAS,CAAC;AAAA,MAC7D,GAAG;AAAA,QACFA,IAAE,KAAK,eAAe,MAAM,UAAU;AAAA,UACrC,OAAO;AAAA,UACP,MAAM,KAAK;AAAA,UACX,MAAM,KAAK,eAAe,SAAY;AAAA,UACtC,SAAS,WAAS;AAzDtB,gBAAAC;AA0DK,gBAAG,KAAK,SAAS,WAAW;AAC3B,oBAAM,eAAe;AACrB,qBAAO,KAAK,KAAK,EAAE;AAAA,YACpB;AAEA,aAAAA,MAAA,KAAK,aAAL,gBAAAA,IAAA,WAAgB,MAAM;AACtB,iBAAK,UAAU,IAAI;AAAA,UACpB;AAAA,QACD,GAAG;AAAA,UACFD,IAAE,QAAQ,EAAE,OAAO,aAAa,GAAG;AAAA,YAClC,SAAS,KAAK,IAAI;AAAA,cAClB,WAAM,UAAN,+BAAc,EAAE,KAAK,OAAM,KAAK;AAAA,UACjC,CAAC;AAAA,WACA,KAAK,QAAQ,MAAM,SAASA,IAAE,QAAQ,EAAE,OAAO,YAAY,KAAG,WAAM,SAAN,+BAAa,EAAE,KAAK,OAAM,KAAK,IAAI;AAAA,QACnG,CAAC;AAAA,MACF,CAAC;AAAA,KAAC,CAAC;AAAA,EACJ;AACD,CAAC;;;AE3ED,SAAS,mBAAAE,mBAAiB,KAAAC,KAAG,YAAAC,WAAU,mBAAAC,kBAAiB,OAAAC,OAAK,SAAAC,cAAa;AAI1E,IAAI,UAAU;AAEd,IAAO,4BAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,OAAO;AAAA,IACN,OAAO,EAAE,MAAM,QAAQ,SAAS,gBAAgB;AAAA,IAChD,SAAS,EAAE,MAAM,QAAQ,SAAS,+BAA+B;AAAA,IACjE,SAAS,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACrC,OAAO,EAAE,MAAM,QAAQ,SAAS,WAAW;AAAA,IAC3C,UAAU,EAAE,MAAM,QAAQ,SAAS,aAAa;AAAA,IAChD,YAAY,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACxC,aAAa,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACzC,OAAO,EAAE,MAAM,OAAO,SAAS,MAAM,CAAC,EAAE;AAAA,IACxC,aAAa,EAAE,MAAM,QAAQ,SAAS,SAAS;AAAA,EAChD;AAAA,EACA,OAAO,CAAC,QAAQ;AAAA,EAChB,MAAM,OAAO,EAAE,MAAM,MAAM,GAAG;AAC7B,UAAM,OAAOC,MAAI,KAAK;AACtB,UAAMC,YAAW,iBAAiB,EAAE,OAAO;AAC3C,UAAM,YAAYD,MAAI,IAAI;AAC1B,QAAI,gBAAgB;AACpB,UAAM,QAAQ,MAAM;AACnB,WAAK,QAAQ;AAAA,IACd;AACA,UAAM,SAAS,MAAM;AACpB,WAAK,QAAQ,CAAC,KAAK;AAAA,IACpB;AACA,UAAM,YAAY,WAAS;AAC1B,UAAG,MAAM,QAAQ,UAAU;AAC1B,cAAM,eAAe;AACrB,cAAM;AAAA,MACP;AAAA,IACD;AAEA,IAAAE,OAAM,MAAM,YAAU;AAtCxB;AAuCG,UAAG,QAAQ;AACV,wBAAgB,SAAS;AACzB,iBAAS,KAAK,UAAU,IAAI,iBAAiB;AAC7C,iBAAS,iBAAiB,WAAW,SAAS;AAC9C,QAAAC,UAAS,MAAG;AA3ChB,cAAAC;AA2CmB,kBAAAA,MAAA,UAAU,UAAV,gBAAAA,IAAiB;AAAA,SAAO;AAAA,MACxC,OAAO;AACN,iBAAS,KAAK,UAAU,OAAO,iBAAiB;AAChD,iBAAS,oBAAoB,WAAW,SAAS;AACjD,6DAAe,UAAf;AACA,wBAAgB;AAAA,MACjB;AAAA,IACD,CAAC;AAED,IAAAC,iBAAgB,MAAM;AACrB,eAAS,KAAK,UAAU,OAAO,iBAAiB;AAChD,eAAS,oBAAoB,WAAW,SAAS;AAAA,IAClD,CAAC;AAED,WAAO,MAAG;AAzDZ;AAyDe;AAAA,QACZC,IAAE,UAAU,EAAE,OAAO,aAAa,GAAG;AAAA,UACpCA,IAAE,UAAU;AAAA,YACX,OAAO;AAAA,YACP,MAAM;AAAA,YACN,iBAAiBL;AAAA,YACjB,iBAAiB,KAAK,QAAQ,SAAS;AAAA,YACvC,SAAS;AAAA,UACV,GAAG;AAAA,YACF,SAAS,mBAAmB;AAAA,YAC5BK,IAAE,QAAQ,CAAC,GAAG,MAAM;AAAA,UACrB,CAAC;AAAA,UACDA,IAAE,OAAO,EAAE,OAAO,mBAAmB,GAAG;AAAA,YACvC,MAAM,WAAWA,IAAE,OAAO,EAAE,KAAK,MAAM,SAAS,KAAK,IAAI,eAAe,OAAO,CAAC;AAAA,YAChFA,IAAE,QAAQ,CAAC,KAAG,WAAM,UAAN,mCAAmB,MAAM,KAAK;AAAA,UAC7C,CAAC;AAAA,UACDA,IAAE,OAAO,EAAE,OAAO,qBAAqB,KAAG,WAAM,YAAN,mCAAqB,MAAM,OAAO;AAAA,QAC7E,CAAC;AAAA,QACDA,IAAE,OAAO,EAAE,OAAO,uBAAuB,SAAS,MAAM,CAAC;AAAA,QACzDA,IAAE,SAAS;AAAA,UACV,KAAK;AAAA,UACL,OAAO,CAAC,cAAc,EAAE,WAAW,KAAK,MAAM,CAAC;AAAA,UAC/C,IAAIL;AAAA,UACJ,cAAc;AAAA,UACd,eAAe,KAAK,QAAQ,UAAU;AAAA,UACtC,UAAU;AAAA,QACX,GAAG;AAAA,UACFK,IAAE,UAAU,EAAE,OAAO,oBAAoB,GAAG;AAAA,YAC3CA,IAAE,OAAO,CAAC,GAAG;AAAA,cACZA,IAAE,OAAO,EAAE,OAAO,mBAAmB,KAAG,WAAM,UAAN,mCAAmB,MAAM,KAAK;AAAA,cACtEA,IAAE,OAAO,EAAE,OAAO,sBAAsB,KAAG,WAAM,aAAN,mCAAsB,MAAM,QAAQ;AAAA,YAChF,CAAC;AAAA,YACDA,IAAE,UAAU;AAAA,cACX,OAAO;AAAA,cACP,MAAM;AAAA,cACN,cAAc;AAAA,cACd,SAAS;AAAA,YACV,GAAG,CAAC,SAAS,MAAM,CAAC,CAAC;AAAA,UACtB,CAAC;AAAA,UACDA,IAAE,OAAO,EAAE,OAAO,kBAAkB,GAAG;AAAA,cACtC,WAAM,YAAN,+BAAgB,EAAE,MAAM,OAAMA,IAAE,mBAAW;AAAA,cAC1C,OAAO,MAAM;AAAA,cACb,aAAa,MAAM;AAAA,cACnB,UAAU,UAAQ;AACjB,qBAAK,UAAU,IAAI;AACnB,sBAAM;AAAA,cACP;AAAA,YACD,CAAC;AAAA,UACF,CAAC;AAAA,WACA,MAAM,UAAU,MAAM,cAAc,MAAM,gBAAgBA;AAAA,YAAE;AAAA,YAAU,EAAE,OAAO,oBAAoB;AAAA,cACnG,WAAM,WAAN,mCAAoB;AAAA,cACnBA,IAAE,QAAQ,CAAC,GAAG,MAAM,UAAU;AAAA,cAC9BA,IAAE,QAAQ,CAAC,GAAG,MAAM,WAAW;AAAA,YAChC;AAAA,UACD;AAAA,QACD,CAAC;AAAA,SACD,WAAM,YAAN;AAAA,MACD;AAAA;AAAA,EACD;AACD,CAAC;;;ACpHD,SAAS,mBAAAC,mBAAiB,KAAAC,WAAS;AAGnC,IAAO,uBAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,cAAc;AAAA,EACd,OAAO;AAAA,IACN,OAAO,EAAE,MAAM,QAAQ,UAAU,KAAK;AAAA,IACtC,UAAU,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACtC,QAAQ,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACpC,SAAS,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,IACzC,QAAQ,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,EACzC;AAAA,EACA,MAAM,OAAO,EAAE,OAAO,MAAM,GAAG;AAC9B,WAAO,MAAG;AAdZ;AAce,aAAAC,IAAE,UAAU;AAAA,QACxB,GAAG;AAAA,QACH,OAAO,GAAG,eAAe;AAAA,UACxB,uBAAuB,MAAM;AAAA,UAC7B,sBAAsB,MAAM;AAAA,QAC7B,GAAG,MAAM,KAAK;AAAA,MACf,GAAG;AAAA,QACFA,IAAE,OAAO,EAAE,OAAO,sBAAsB,GAAG;AAAA,WACzC,MAAM,UAAU,MAAM,WAAWA,IAAE,OAAO,EAAE,OAAO,qBAAqB,KAAG,WAAM,WAAN,mCAAoB,MAAM,MAAM;AAAA,UAC5GA,IAAE,MAAM,EAAE,OAAO,oBAAoB,KAAG,WAAM,UAAN,mCAAmB,MAAM,KAAK;AAAA,WACrE,MAAM,YAAY,MAAM,aAAaA,IAAE,KAAK,EAAE,OAAO,uBAAuB,KAAG,WAAM,aAAN,mCAAsB,MAAM,QAAQ;AAAA,UACpH,MAAM,QAAQA,IAAE,OAAO,EAAE,OAAO,mBAAmB,GAAG,MAAM,KAAK,CAAC;AAAA,QACnE,CAAC;AAAA,QACD,MAAM,WAAWA,IAAE,OAAO,EAAE,OAAO,sBAAsB,GAAG,MAAM,QAAQ,CAAC;AAAA,MAC5E,CAAC;AAAA;AAAA,EACF;AACD,CAAC;;;AC9BD,SAAS,mBAAAC,mBAAiB,KAAAC,WAAS;AAGnC,IAAO,2BAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,cAAc;AAAA,EACd,OAAO;AAAA,IACN,OAAO,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACnC,OAAO,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACnC,WAAW,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACvC,MAAM,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,EACnC;AAAA,EACA,MAAM,OAAO,EAAE,OAAO,MAAM,GAAG;AAC9B,UAAM,YAAY,MAAM;AAb1B;AAcG,YAAM,UAAU,CAAC,SAAS,MAAM,IAAI,KAAG,WAAM,UAAN,mCAAmB,MAAM,KAAK;AAErE,UAAG,MAAM,WAAW;AACnB,eAAOC,IAAE,KAAK,EAAE,MAAM,MAAM,WAAW,OAAO,kBAAkB,GAAG,OAAO;AAAA,MAC3E;AAEA,aAAO;AAAA,IACR;AAEA,WAAO,MAAG;AAvBZ;AAuBe,aAAAA,IAAE,WAAW;AAAA,QACzB,GAAG;AAAA,QACH,OAAO,GAAG,wBAAwB,MAAM,KAAK;AAAA,MAC9C,GAAG;AAAA,QACF,MAAM,SAASA,IAAE,OAAO,EAAE,OAAO,aAAa,GAAG;AAAA,UAChDA,IAAE,OAAO,EAAE,KAAK,MAAM,OAAO,KAAK,GAAG,CAAC;AAAA,QACvC,CAAC;AAAA,QACDA,IAAE,OAAO,EAAE,OAAO,YAAY,GAAG;AAAA,WAC/B,MAAM,SAAS,MAAM,QAAQ,MAAM,UAAUA,IAAE,MAAM,EAAE,OAAO,aAAa,GAAG,UAAU,CAAC;AAAA,UAC1FA,IAAE,OAAO,EAAE,OAAO,eAAe,IAAG,WAAM,YAAN,8BAAiB;AAAA,UACrD,MAAM,UAAUA,IAAE,UAAU,EAAE,OAAO,cAAc,GAAG,MAAM,OAAO,CAAC;AAAA,QACrE,CAAC;AAAA,MACF,CAAC;AAAA;AAAA,EACF;AACD,CAAC;;;ACrCD,SAAS,mBAAAC,mBAAiB,KAAAC,WAAS;AAGnC,IAAO,uBAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,OAAO;AAAA,IACN,MAAM,EAAE,MAAM,QAAQ,UAAU,KAAK;AAAA,IACrC,YAAY,EAAE,MAAM,QAAQ,UAAU,KAAK;AAAA,IAC3C,WAAW,EAAE,MAAM,QAAQ,SAAS,aAAa;AAAA,EAClD;AAAA,EACA,OAAO,CAAC,aAAa;AAAA,EACrB,MAAM,OAAO,EAAE,KAAK,GAAG;AACtB,UAAM,UAAU,UAAQ;AACvB,UAAG,QAAQ,KAAK,QAAQ,MAAM,cAAc,SAAS,MAAM,MAAM;AAChE,aAAK,eAAe,IAAI;AAAA,MACzB;AAAA,IACD;AAEA,WAAO,MAAM;AACZ,YAAM,QAAQ,MAAM,KAAK,EAAE,QAAQ,MAAM,WAAW,GAAG,CAAC,GAAG,UAAU,QAAQ,CAAC;AAE9E,aAAOC,IAAE,OAAO,EAAE,OAAO,cAAc,cAAc,MAAM,UAAU,GAAG;AAAA,QACvEA,IAAE,UAAU;AAAA,UACX,OAAO;AAAA,UACP,MAAM;AAAA,UACN,UAAU,MAAM,QAAQ;AAAA,UACxB,SAAS,MAAM,QAAQ,MAAM,OAAO,CAAC;AAAA,QACtC,GAAG,CAAC,SAAS,eAAe,CAAC,CAAC;AAAA,QAC9B,MAAM,IAAI,UAAQA,IAAE,UAAU;AAAA,UAC7B,OAAO,GAAG,mBAAmB,EAAE,0BAA0B,SAAS,MAAM,KAAK,CAAC;AAAA,UAC9E,MAAM;AAAA,UACN,gBAAgB,SAAS,MAAM,OAAO,SAAS;AAAA,UAC/C,SAAS,MAAM,QAAQ,IAAI;AAAA,QAC5B,GAAG,IAAI,CAAC;AAAA,QACRA,IAAE,UAAU;AAAA,UACX,OAAO;AAAA,UACP,MAAM;AAAA,UACN,UAAU,MAAM,QAAQ,MAAM;AAAA,UAC9B,SAAS,MAAM,QAAQ,MAAM,OAAO,CAAC;AAAA,QACtC,GAAG,CAAC,SAAS,gBAAgB,CAAC,CAAC;AAAA,MAChC,CAAC;AAAA,IACF;AAAA,EACD;AACD,CAAC;;;AC3CD,SAAS,mBAAAC,mBAAiB,KAAAC,KAAG,mBAAAC,kBAAiB,OAAAC,aAAW;AAIzD,IAAO,oBAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,OAAO;AAAA,IACN,OAAO,EAAE,MAAM,QAAQ,SAAS,UAAU;AAAA,IAC1C,OAAO,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACnC,MAAM,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IAClC,MAAM,EAAE,MAAM,QAAQ,SAAS,UAAU;AAAA,IACzC,SAAS,EAAE,MAAM,QAAQ,SAAS,SAAS;AAAA,EAC5C;AAAA,EACA,MAAM,OAAO,EAAE,MAAM,GAAG;AACvB,UAAM,OAAOC,MAAI,KAAK;AACtB,UAAM,OAAOA,MAAI,IAAI;AACrB,UAAM,QAAQ,MAAM;AACnB,WAAK,QAAQ;AACb,eAAS,oBAAoB,SAAS,cAAc;AACpD,eAAS,oBAAoB,WAAW,SAAS;AAAA,IAClD;AACA,UAAM,iBAAiB,WAAS;AAC/B,UAAG,KAAK,SAAS,CAAC,KAAK,MAAM,SAAS,MAAM,MAAM,GAAG;AACpD,cAAM;AAAA,MACP;AAAA,IACD;AACA,UAAM,YAAY,WAAS;AAC1B,UAAG,MAAM,QAAQ,UAAU;AAC1B,cAAM,eAAe;AACrB,cAAM;AAAA,MACP;AAAA,IACD;AACA,UAAM,SAAS,MAAM;AACpB,WAAK,QAAQ,CAAC,KAAK;AAEnB,UAAG,KAAK,OAAO;AACd,mBAAW,MAAM,SAAS,iBAAiB,SAAS,cAAc,GAAG,CAAC;AACtE,iBAAS,iBAAiB,WAAW,SAAS;AAAA,MAC/C,OAAO;AACN,cAAM;AAAA,MACP;AAAA,IACD;AAEA,IAAAC,iBAAgB,KAAK;AAErB,WAAO,MAAG;AA7CZ;AA6Ce,aAAAC,IAAE,OAAO,EAAE,KAAK,MAAM,OAAO,GAAG,WAAW,EAAE,WAAW,KAAK,MAAM,CAAC,EAAE,GAAG;AAAA,UACrF,WAAM,YAAN,+BAAgB,EAAE,MAAM,KAAK,OAAO,OAAO,OAAMA,IAAE,kBAAU;AAAA,UAC5D,SAAS,MAAM;AAAA,UACf,MAAM,MAAM;AAAA,UACZ,iBAAiB,KAAK,QAAQ,SAAS;AAAA,UACvC,SAAS;AAAA,QACV,GAAG,MAAM,MAAM,KAAK;AAAA,QACpBA,IAAE,OAAO,EAAE,OAAO,gBAAgB,GAAG;AAAA,WACnC,MAAM,SAAS,MAAM,UAAUA,IAAE,MAAM,EAAE,OAAO,gBAAgB,KAAG,WAAM,UAAN,mCAAmB,MAAM,KAAK;AAAA,WACjG,MAAM,QAAQ,MAAM,YAAYA,IAAE,KAAK,EAAE,OAAO,eAAe,KAAG,WAAM,YAAN,mCAAqB,MAAM,IAAI;AAAA,QACnG,CAAC;AAAA,MACF,CAAC;AAAA;AAAA,EACF;AACD,CAAC;;;AC1DD,SAAS,mBAAAC,mBAAiB,KAAAC,WAAS;AAGnC,IAAO,qBAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,cAAc;AAAA,EACd,OAAO;AAAA,IACN,OAAO,EAAE,MAAM,QAAQ,UAAU,KAAK;AAAA,IACtC,KAAK,EAAE,MAAM,QAAQ,SAAS,IAAI;AAAA,IAClC,OAAO,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACnC,SAAS,EAAE,MAAM,QAAQ,SAAS,YAAY;AAAA,IAC9C,SAAS,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,IACzC,UAAU,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,EAC3C;AAAA,EACA,MAAM,OAAO,EAAE,OAAO,MAAM,GAAG;AAC9B,WAAO,MAAM;AAff;AAgBG,YAAM,UAAU,KAAK,IAAI,GAAG,KAAK,IAAI,KAAK,KAAK,MAAO,MAAM,QAAQ,MAAM,MAAO,GAAG,CAAC,CAAC;AACtF,YAAM,UAAU,iBAAiB,MAAM,SAAS,WAAW;AAE3D,aAAOC,IAAE,OAAO;AAAA,QACf,GAAG;AAAA,QACH,OAAO,GAAG,YAAY,YAAY,OAAO,IAAI;AAAA,UAC5C,oBAAoB,MAAM;AAAA,UAC1B,qBAAqB,MAAM;AAAA,QAC5B,GAAG,MAAM,KAAK;AAAA,QACd,OAAO,EAAE,oBAAoB,GAAG,OAAO,IAAI;AAAA,MAC5C,GAAG;AAAA,SACD,MAAM,SAAS,MAAM,UAAUA,IAAE,OAAO,EAAE,OAAO,kBAAkB,GAAG;AAAA,UACtEA,IAAE,QAAQ,CAAC,KAAG,WAAM,UAAN,mCAAmB,MAAM,KAAK;AAAA,UAC5CA,IAAE,QAAQ,EAAE,OAAO,iBAAiB,GAAG,GAAG,OAAO,GAAG;AAAA,QACrD,CAAC;AAAA,QACDA,IAAE,OAAO,EAAE,OAAO,iBAAiB,GAAG;AAAA,UACrCA,IAAE,QAAQ;AAAA,YACT,OAAO;AAAA,YACP,MAAM;AAAA,YACN,iBAAiB,MAAM;AAAA,YACvB,iBAAiB;AAAA,YACjB,iBAAiB,MAAM;AAAA,UACxB,CAAC;AAAA,QACF,CAAC;AAAA,MACF,CAAC;AAAA,IACF;AAAA,EACD;AACD,CAAC;;;AC3CD,SAAS,mBAAAC,mBAAiB,KAAAC,WAAS;AAGnC,IAAO,2BAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,cAAc;AAAA,EACd,OAAO;AAAA,IACN,OAAO,EAAE,MAAM,OAAO,SAAS,MAAM,CAAC,EAAE;AAAA,EACzC;AAAA,EACA,MAAM,OAAO,EAAE,MAAM,GAAG;AACvB,WAAO,MAAMC,IAAE,OAAO,EAAE,GAAG,OAAO,OAAO,GAAG,mBAAmB,MAAM,KAAK,EAAE,GAAG,MAAM,MAAM,IAAI,UAAQA,IAAE,OAAO;AAAA,MAC/G,OAAO,GAAG,kBAAkB;AAAA,QAC3B,2BAA2B,KAAK,WAAW;AAAA,QAC3C,0BAA0B,KAAK,WAAW;AAAA,MAC3C,CAAC;AAAA,IACF,GAAG,KAAK,SAAS,IAAI,CAAC,CAAC;AAAA,EACxB;AACD,CAAC;;;ACjBD,SAAS,mBAAAC,mBAAiB,KAAAC,WAAS;AAGnC,IAAO,kBAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,cAAc;AAAA,EACd,OAAO;AAAA,IACN,YAAY,EAAE,MAAM,CAAC,QAAQ,QAAQ,OAAO,GAAG,SAAS,GAAG;AAAA,IAC3D,OAAO,EAAE,MAAM,CAAC,QAAQ,QAAQ,OAAO,GAAG,UAAU,KAAK;AAAA,IACzD,OAAO,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACnC,MAAM,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IAClC,UAAU,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,EAC3C;AAAA,EACA,OAAO,CAAC,mBAAmB;AAAA,EAC3B,MAAM,OAAO,EAAE,OAAO,MAAM,MAAM,GAAG;AACpC,WAAO,MAAG;AAfZ;AAee,aAAAC,IAAE,SAAS,EAAE,OAAO,GAAG,SAAS,MAAM,KAAK,EAAE,GAAG;AAAA,QAC5DA,IAAE,SAAS;AAAA,UACV,GAAG;AAAA,UACH,MAAM;AAAA,UACN,MAAM,MAAM;AAAA,UACZ,OAAO,MAAM;AAAA,UACb,SAAS,MAAM,eAAe,MAAM;AAAA,UACpC,UAAU,MAAM;AAAA,UAChB,UAAU,MAAM,KAAK,qBAAqB,MAAM,KAAK;AAAA,QACtD,CAAC;AAAA,QACDA,IAAE,QAAQ,EAAE,OAAO,iBAAiB,eAAe,OAAO,CAAC;AAAA,QAC3DA,IAAE,QAAQ,EAAE,OAAO,cAAc,KAAG,WAAM,YAAN,mCAAqB,MAAM,KAAK;AAAA,MACrE,CAAC;AAAA;AAAA,EACF;AACD,CAAC;;;AC7BD,SAAS,mBAAAC,mBAAiB,KAAAC,WAAS;AAGnC,IAAO,uBAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,OAAO;AAAA,IACN,YAAY,EAAE,MAAM,CAAC,QAAQ,QAAQ,OAAO,GAAG,SAAS,GAAG;AAAA,IAC3D,MAAM,EAAE,MAAM,QAAQ,SAAS,iBAAiB;AAAA,IAChD,OAAO,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACnC,SAAS,EAAE,MAAM,OAAO,SAAS,MAAM,CAAC,EAAE;AAAA,EAC3C;AAAA,EACA,OAAO,CAAC,mBAAmB;AAAA,EAC3B,MAAM,OAAO,EAAE,MAAM,MAAM,GAAG;AAC7B,WAAO,MAAG;AAbZ;AAae,aAAAC,IAAE,OAAO,EAAE,OAAO,0BAA0B,MAAM,cAAc,cAAc,MAAM,SAAS,OAAU,GAAG;AAAA,QACtH,MAAM,SAASA,IAAE,OAAO,EAAE,OAAO,QAAQ,GAAG,MAAM,KAAK;AAAA,UACvD,WAAM,YAAN,mCAAqB,MAAM,QAAQ,IAAI,YAAUA,IAAE,iBAAS;AAAA,UAC3D,YAAY,MAAM;AAAA,UAClB,uBAAuB,WAAS,KAAK,qBAAqB,KAAK;AAAA,UAC/D,MAAM,MAAM;AAAA,UACZ,OAAO,OAAO;AAAA,UACd,OAAO,OAAO;AAAA,UACd,UAAU,OAAO;AAAA,QAClB,CAAC,CAAC;AAAA,MACH,CAAC;AAAA;AAAA,EACF;AACD,CAAC;;;ACzBD,SAAS,mBAAAC,mBAAiB,KAAAC,WAAS;AAGnC,IAAO,kBAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,cAAc;AAAA,EACd,OAAO;AAAA,IACN,YAAY,EAAE,MAAM,CAAC,QAAQ,MAAM,GAAG,SAAS,EAAE;AAAA,IACjD,OAAO,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACnC,KAAK,EAAE,MAAM,CAAC,QAAQ,MAAM,GAAG,SAAS,EAAE;AAAA,IAC1C,KAAK,EAAE,MAAM,CAAC,QAAQ,MAAM,GAAG,SAAS,IAAI;AAAA,IAC5C,MAAM,EAAE,MAAM,CAAC,QAAQ,MAAM,GAAG,SAAS,EAAE;AAAA,EAC5C;AAAA,EACA,OAAO,CAAC,mBAAmB;AAAA,EAC3B,MAAM,OAAO,EAAE,OAAO,KAAK,GAAG;AAC7B,WAAO,MAAMC,IAAE,OAAO,EAAE,OAAO,QAAQ,GAAG;AAAA,MACzCA,IAAE,SAAS,EAAE,OAAO,QAAQ,GAAG;AAAA,QAC9B,MAAM;AAAA,QACNA,IAAE,SAAS;AAAA,UACV,GAAG;AAAA,UACH,MAAM;AAAA,UACN,OAAO,MAAM;AAAA,UACb,KAAK,MAAM;AAAA,UACX,KAAK,MAAM;AAAA,UACX,MAAM,MAAM;AAAA,UACZ,SAAS,WAAS,KAAK,qBAAqB,WAAW,KAAK,CAAC;AAAA,QAC9D,CAAC;AAAA,MACF,CAAC;AAAA,IACF,CAAC;AAAA,EACF;AACD,CAAC;;;AC9BD,SAAS,mBAAAC,mBAAiB,KAAAC,KAAG,YAAAC,iBAAgB;AAG7C,IAAI,MAAM;AACV,SAAS,SAAS;AACjB,SAAO,iBAAiB,EAAE,GAAG;AAC9B;AAEA,IAAO,qBAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,cAAc;AAAA,EACd,OAAO;AAAA,IACN,YAAY,EAAE,MAAM,OAAO,SAAS,MAAM,CAAC,EAAE;AAAA,IAC7C,OAAO,EAAE,MAAM,QAAQ,SAAS,QAAQ;AAAA,IACxC,UAAU,EAAE,MAAM,QAAQ,SAAS,MAAM;AAAA,IACzC,SAAS,EAAE,MAAM,QAAQ,SAAS,UAAU;AAAA,IAC5C,aAAa,EAAE,MAAM,QAAQ,SAAS,SAAS;AAAA,IAC/C,YAAY,EAAE,MAAM,QAAQ,SAAS,WAAW;AAAA,IAChD,UAAU,EAAE,MAAM,QAAQ,SAAS,EAAE;AAAA,IACrC,UAAU,EAAE,MAAM,QAAQ,SAAS,EAAE;AAAA,IACrC,aAAa;AAAA,MACZ,MAAM;AAAA,MACN,SAAS,MAAM,OAAO,EAAE,IAAI,OAAO,EAAE;AAAA,IACtC;AAAA,IACA,UAAU,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,EAC3C;AAAA,EACA,OAAO,CAAC,qBAAqB,OAAO,QAAQ;AAAA,EAC5C,MAAM,OAAO,EAAE,OAAO,MAAM,MAAM,GAAG;AACpC,UAAM,SAASC,UAAS,MAAM;AAC7B,UAAG,MAAM,SAAU,QAAO;AAC1B,UAAG,MAAM,WAAW,KAAK,MAAM,WAAW,UAAU,MAAM,SAAU,QAAO;AAC3E,aAAO;AAAA,IACR,CAAC;AAED,aAAS,UAAU,OAAO;AACzB,UAAG,MAAM,SAAU,QAAO;AAC1B,UAAG,MAAM,WAAW,UAAU,MAAM,SAAU,QAAO;AACrD,aAAO;AAAA,IACR;AAEA,aAAS,MAAM;AACd,UAAG,CAAC,OAAO,MAAO;AAClB,YAAM,OAAO,MAAM,YAAY;AAC/B,YAAM,OAAO,CAAC,GAAG,MAAM,YAAY,IAAI;AACvC,WAAK,qBAAqB,IAAI;AAC9B,WAAK,OAAO,IAAI;AAAA,IACjB;AAEA,aAAS,OAAO,OAAO;AACtB,UAAG,CAAC,UAAU,KAAK,EAAG;AACtB,YAAM,UAAU,MAAM,WAAW,KAAK;AACtC,YAAM,OAAO,MAAM,WAAW,OAAO,CAAC,GAAG,MAAM,MAAM,KAAK;AAC1D,WAAK,qBAAqB,IAAI;AAC9B,WAAK,UAAU,OAAO;AAAA,IACvB;AAEA,WAAO,MAAM;AAxDf;AAyDG,YAAM,cAAa,WAAM,WAAN,+BAAe,EAAE,KAAK,QAAQ,OAAO,MAAM;AAC9D,YAAM,SAAS,cAAcC,IAAE,OAAO,EAAE,OAAO,kBAAkB,GAAG;AAAA,QACnEA,IAAE,QAAQ,EAAE,OAAO,iBAAiB,GAAG,MAAM,KAAK;AAAA,QAClDA,IAAE,UAAU;AAAA,UACX,MAAM;AAAA,UACN,OAAO,GAAG,OAAO,iBAAiB,aAAa,WAAW;AAAA,UAC1D,UAAU,CAAC,OAAO;AAAA,UAClB,SAAS;AAAA,QACV,GAAG;AAAA,UACF,SAAS,MAAM,OAAO;AAAA,UACtB,MAAM;AAAA,QACP,CAAC;AAAA,MACF,CAAC;AAED,YAAM,QAAQ,MAAM,WAAW,IAAI,CAAC,MAAM,UAAU;AAvEvD,YAAAC,KAAA;AAwEI,cAAM,WAAU,MAAAA,MAAA,6BAAM,OAAN,OAAAA,MAAY,6BAAM,QAAlB,YAAyB;AACzC,cAAM,YAAY,UAAU,KAAK;AACjC,cAAM,QAAQ,EAAE,MAAM,OAAO,QAAQ,MAAM,OAAO,KAAK,GAAG,WAAW,UAAU;AAE/E,cAAM,QAAO,WAAM,SAAN,+BAAa;AAC1B,cAAM,WAAU,WAAM,YAAN,+BAAgB;AAEhC,cAAM,iBAAiB,CAAC,MAAM,WAAWD,IAAE,UAAU;AAAA,UACpD,MAAM;AAAA,UACN,OAAO,GAAG,YAAY,aAAa;AAAA,UACnC,cAAc,MAAM;AAAA,UACpB,UAAU,CAAC;AAAA,UACX,SAAS,CAAC,MAAM;AACf,cAAE,gBAAgB;AAClB,mBAAO,KAAK;AAAA,UACb;AAAA,QACD,GAAG,CAAC,SAAS,MAAM,UAAU,CAAC,CAAC;AAE/B,eAAOA,IAAE,OAAO;AAAA,UACf,OAAO;AAAA,UACP,KAAK;AAAA,QACN,GAAG;AAAA,UACFA,IAAE,OAAO,EAAE,OAAO,qBAAqB,GAAG,IAAI;AAAA,WAC7C,WAAW,mBAAmBA,IAAE,OAAO,EAAE,OAAO,wBAAwB,GAAG,WAAW,CAAC,cAAc,CAAC;AAAA,QACxG,CAAC;AAAA,MACF,CAAC;AAED,aAAOA,IAAE,OAAO;AAAA,QACf,GAAG;AAAA,QACH,OAAO,GAAG,YAAY,EAAE,qBAAqB,MAAM,SAAS,GAAG,MAAM,KAAK;AAAA,MAC3E,GAAG;AAAA,QACF;AAAA,QACAA,IAAE,OAAO,EAAE,OAAO,gBAAgB,GAAG,KAAK;AAAA,MAC3C,CAAC;AAAA,IACF;AAAA,EACD;AACD,CAAC;;;ACrFD,SAAS,YAAAE,WAAU,mBAAAC,mBAAiB,KAAAC,KAAG,SAAAC,cAAa;;;ACVpD,SAAS,YAAAC,WAAU,mBAAAC,mBAAiB,KAAAC,WAAS;AAG7C,IAAO,iBAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,OAAO;AAAA,IACN,YAAY,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACxC,OAAO,EAAE,MAAM,OAAO,UAAU,KAAK;AAAA,IACrC,SAAS,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,IACzC,UAAU,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,IAC1C,WAAW,EAAE,MAAM,QAAQ,SAAS,OAAO;AAAA,EAC5C;AAAA,EACA,OAAO,CAAC,mBAAmB;AAAA,EAC3B,MAAM,OAAO,EAAE,MAAM,MAAM,GAAG;AAC7B,UAAM,WAAWC,UAAS,MAAG;AA3B/B;AA2BkC,mBAAM,gBAAc,WAAM,MAAM,KAAK,UAAQ,CAAC,KAAK,QAAQ,MAAvC,mBAA0C,SAAM,WAAM,MAAM,CAAC,MAAb,mBAAgB;AAAA,KAAE;AAEtH,UAAM,WAAW,UAAQ;AACxB,UAAG,CAAC,KAAK,UAAU;AAClB,aAAK,qBAAqB,KAAK,EAAE;AAAA,MAClC;AAAA,IACD;AACA,UAAM,eAAe,MAAM,MAAM,MAAM,OAAO,UAAQ,CAAC,KAAK,QAAQ;AACpE,UAAM,OAAO,CAAC,MAAM,cAAc;AACjC,YAAM,QAAQ,aAAa;AAC3B,YAAM,QAAQ,MAAM,UAAU,aAAW,QAAQ,OAAO,KAAK,EAAE;AAC/D,YAAM,OAAO,OAAO,QAAQ,YAAY,MAAM,UAAU,MAAM,MAAM;AACpE,eAAS,IAAI;AAAA,IACd;AACA,UAAM,gBAAgB,CAAC,OAAO,SAAS;AACtC,UAAG,MAAM,QAAQ,gBAAgB,MAAM,QAAQ,aAAa;AAC3D,cAAM,eAAe;AACrB,aAAK,MAAM,CAAC;AAAA,MACb,WAAU,MAAM,QAAQ,eAAe,MAAM,QAAQ,WAAW;AAC/D,cAAM,eAAe;AACrB,aAAK,MAAM,EAAE;AAAA,MACd,WAAU,MAAM,QAAQ,QAAQ;AAC/B,cAAM,eAAe;AACrB,iBAAS,aAAa,EAAE,CAAC,CAAC;AAAA,MAC3B,WAAU,MAAM,QAAQ,OAAO;AAC9B,cAAM,eAAe;AACrB,cAAM,QAAQ,aAAa;AAC3B,iBAAS,MAAM,MAAM,SAAS,CAAC,CAAC;AAAA,MACjC;AAAA,IACD;AAEA,WAAO,MAAMC,IAAE,OAAO;AAAA,MACrB,OAAO,GAAG,QAAQ;AAAA,QACjB,gBAAgB,MAAM;AAAA,QACtB,iBAAiB,MAAM;AAAA,MACxB,CAAC;AAAA,IACF,GAAG;AAAA,MACFA,IAAE,OAAO,EAAE,OAAO,aAAa,MAAM,WAAW,cAAc,MAAM,UAAU,GAAG,MAAM,MAAM,IAAI,UAAQ;AACxG,cAAM,SAAS,KAAK,OAAO,SAAS;AACpC,cAAM,UAAU,GAAG,KAAK,EAAE;AAE1B,eAAOA,IAAE,UAAU;AAAA,UAClB,OAAO,GAAG,OAAO,EAAE,cAAc,OAAO,CAAC;AAAA,UACzC,MAAM;AAAA,UACN,MAAM;AAAA,UACN,iBAAiB,SAAS,SAAS;AAAA,UACnC,iBAAiB;AAAA,UACjB,iBAAiB,KAAK,WAAW,SAAS;AAAA,UAC1C,UAAU,SAAS,MAAM;AAAA,UACzB,SAAS,MAAM,SAAS,IAAI;AAAA,UAC5B,WAAW,WAAS,cAAc,OAAO,IAAI;AAAA,QAC9C,GAAG;AAAA,UACF,SAAS,KAAK,IAAI;AAAA,UAClB,KAAK;AAAA,QACN,CAAC;AAAA,MACF,CAAC,CAAC;AAAA,MACFA,IAAE,OAAO,EAAE,OAAO,cAAc,GAAG,MAAM,MAAM,IAAI,UAAQ;AAnF9D;AAoFI,cAAM,SAAS,KAAK,OAAO,SAAS;AAEpC,eAAOA,IAAE,OAAO;AAAA,UACf,IAAI,GAAG,KAAK,EAAE;AAAA,UACd,OAAO,GAAG,aAAa,EAAE,oBAAoB,OAAO,CAAC;AAAA,UACrD,MAAM;AAAA,UACN,QAAQ,CAAC;AAAA,QACV,KAAG,WAAM,KAAK,QAAX,+BAAiB,EAAE,MAAM,OAAO,OAAO,YAAU,WAAM,YAAN,+BAAgB,EAAE,MAAM,OAAO,GAAG;AAAA,MACvF,CAAC,CAAC;AAAA,IACH,CAAC;AAAA,EACF;AACD,CAAC;;;ADpED,IAAO,uBAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,OAAO;AAAA,IACN,OAAO,EAAE,MAAM,OAAO,UAAU,KAAK;AAAA,IACrC,SAAS,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,IACzC,UAAU,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,IAC1C,WAAW,EAAE,MAAM,QAAQ,SAAS,OAAO;AAAA,IAC3C,aAAa,EAAE,MAAM,QAAQ,SAAS,SAAS;AAAA,EAChD;AAAA,EACA,MAAM,OAAO,EAAE,MAAM,GAAG;AACvB,UAAM,SAAS,aAAa;AAC5B,UAAM,QAAQ,YAAY;AAE1B,UAAM,YAAY,QAAQ,UAAU,KAAK;AAEzC,QAAG,CAAC,aAAa,OAAO,YAAY,eAAe,QAAQ,OAAO,MAAuC;AAExG,cAAQ,KAAK,kFAAkF;AAAA,IAChG;AAEA,UAAM,WAAWC,UAAS,MAAM,MAAM,MAAM,IAAI,WAAS;AAAA,MACxD,IAAI,KAAK;AAAA,MACT,OAAO,KAAK;AAAA,MACZ,MAAM,KAAK;AAAA,MACX,UAAU,KAAK;AAAA,MACf,IAAI,KAAK;AAAA,IACV,EAAE,CAAC;AAEH,UAAM,WAAWA,UAAS,MAAM;AAvDlC;AAwDG,UAAG,CAAC,WAAW;AACd,iBAAO,cAAS,MAAM,KAAK,UAAQ,CAAC,KAAK,QAAQ,MAA1C,mBAA6C,OAAM;AAAA,MAC3D;AAEA,YAAM,UAAU,SAAS,MAAM,KAAK,UAAQ;AAC3C,YAAG,KAAK,YAAY,CAAC,KAAK,IAAI;AAC7B,iBAAO;AAAA,QACR;AAEA,eAAO,cAAc,OAAO,KAAK,IAAI,MAAM,WAAW;AAAA,MACvD,CAAC;AAED,cAAO,mCAAS,SAAM,cAAS,MAAM,KAAK,UAAQ,CAAC,KAAK,QAAQ,MAA1C,mBAA6C,OAAM;AAAA,IAC1E,CAAC;AAED,UAAM,WAAW,QAAM;AACtB,UAAG,CAAC,WAAW;AACd;AAAA,MACD;AAEA,YAAM,OAAO,SAAS,MAAM,KAAK,OAAK,EAAE,OAAO,EAAE;AAEjD,UAAG,QAAQ,KAAK,IAAI;AACnB,eAAO,KAAK,KAAK,EAAE;AAAA,MACpB;AAAA,IACD;AAEA,WAAO,MAAMC,IAAE,gBAAQ;AAAA,MACtB,YAAY,SAAS;AAAA,MACrB,OAAO,SAAS;AAAA,MAChB,SAAS,MAAM;AAAA,MACf,UAAU,MAAM;AAAA,MAChB,WAAW,MAAM;AAAA,MACjB,uBAAuB;AAAA,IACxB,GAAG,KAAK;AAAA,EACT;AACD,CAAC;;;AE5FD,SAAS,mBAAAC,mBAAiB,KAAAC,WAAS;AAGnC,IAAO,wBAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,cAAc;AAAA,EACd,OAAO;AAAA,IACN,YAAY,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACxC,aAAa,EAAE,MAAM,QAAQ,SAAS,SAAS;AAAA,IAC/C,SAAS,EAAE,MAAM,SAAS,SAAS,KAAK;AAAA,IACxC,WAAW,EAAE,MAAM,SAAS,SAAS,KAAK;AAAA,EAC3C;AAAA,EACA,OAAO,CAAC,qBAAqB,OAAO;AAAA,EACpC,MAAM,OAAO,EAAE,OAAO,KAAK,GAAG;AAC7B,UAAM,QAAQ,MAAM;AACnB,WAAK,qBAAqB,EAAE;AAC5B,WAAK,OAAO;AAAA,IACb;AAEA,WAAO,MAAMC,IAAE,OAAO;AAAA,MACrB,OAAO,GAAG,4BAA4B,EAAE,uBAAuB,MAAM,QAAQ,CAAC;AAAA,IAC/E,GAAG;AAAA,MACFA,IAAE,QAAQ,EAAE,OAAO,oBAAoB,GAAG,CAAC,SAAS,qBAAqB,CAAC,CAAC;AAAA,MAC3EA,IAAE,SAAS;AAAA,QACV,GAAG;AAAA,QACH,MAAM;AAAA,QACN,OAAO,MAAM;AAAA,QACb,aAAa,MAAM;AAAA,QACnB,OAAO,GAAG,qBAAqB,MAAM,KAAK;AAAA,QAC1C,SAAS,WAAS,KAAK,qBAAqB,WAAW,KAAK,CAAC;AAAA,MAC9D,CAAC;AAAA,MACD,MAAM,aAAaA,IAAE,UAAU;AAAA,QAC9B,OAAO;AAAA,QACP,MAAM;AAAA,QACN,cAAc;AAAA,QACd,SAAS;AAAA,MACV,GAAG,CAAC,SAAS,MAAM,CAAC,CAAC;AAAA,IACtB,CAAC;AAAA,EACF;AACD,CAAC;;;ACzBD,SAAS,mBAAAC,mBAAiB,KAAAC,WAAS;AAGnC,IAAO,mBAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,cAAc;AAAA,EACd,OAAO;AAAA,IACN,YAAY,EAAE,MAAM,CAAC,QAAQ,MAAM,GAAG,SAAS,GAAG;AAAA,IAClD,OAAO,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACnC,MAAM,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IAClC,OAAO,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACnC,MAAM,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IAClC,SAAS,EAAE,MAAM,OAAO,SAAS,MAAM,CAAC,EAAE;AAAA,EAC3C;AAAA,EACA,OAAO,CAAC,mBAAmB;AAAA,EAC3B,MAAM,OAAO,EAAE,OAAO,MAAM,MAAM,GAAG;AACpC,UAAM,cAAc,MAAM,MAAM,QAAQ,IAAI,YAAU;AACrD,YAAM,QAAQ,OAAO,WAAW,WAAW,OAAO,QAAQ;AAC1D,YAAM,QAAQ,OAAO,WAAW,WAAW,OAAO,QAAQ;AAE1D,aAAOC,IAAE,UAAU,EAAE,MAAM,GAAG,KAAK;AAAA,IACpC,CAAC;AAED,WAAO,MAAG;AArCZ;AAqCe,aAAAA,IAAE,OAAO,EAAE,OAAO,aAAa,GAAG;AAAA,QAC9CA,IAAE,SAAS,EAAE,OAAO,GAAG,SAAS,MAAM,KAAK,EAAE,GAAG;AAAA,UAC/C,MAAM;AAAA,UACN,SAAS,MAAM,IAAI;AAAA,UACnBA,IAAE,OAAO,EAAE,OAAO,cAAc,GAAG;AAAA,YAClCA,IAAE,UAAU;AAAA,cACX,GAAG;AAAA,cACH,OAAO,MAAM;AAAA,cACb,OAAO,GAAG,gBAAgB,MAAM,KAAK;AAAA,cACrC,UAAU,WAAS,KAAK,qBAAqB,WAAW,KAAK,CAAC;AAAA,YAC/D,KAAG,WAAM,YAAN,mCAAqB,YAAY,CAAC;AAAA,UACtC,CAAC;AAAA,QACF,CAAC;AAAA,QACD,MAAM,QAAQA,IAAE,OAAO,EAAE,OAAO,GAAG,cAAc,MAAM,UAAU,WAAW,OAAO,EAAE,GAAG,MAAM,IAAI;AAAA,MACnG,CAAC;AAAA;AAAA,EACF;AACD,CAAC;;;ACrDD,SAAS,mBAAAC,mBAAiB,KAAAC,WAAS;AAGnC,IAAO,qBAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,cAAc;AAAA,EACd,OAAO;AAAA,IACN,MAAM,EAAE,MAAM,QAAQ,SAAS,OAAO;AAAA,IACtC,OAAO,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,IACvC,OAAO,EAAE,MAAM,QAAQ,SAAS,EAAE;AAAA,EACnC;AAAA,EACA,MAAM,OAAO,EAAE,MAAM,GAAG;AACvB,UAAM,WAAW,SAAOC,IAAE,QAAQ;AAAA,MACjC;AAAA,MACA,GAAG;AAAA,MACH,OAAO,GAAG,YAAY,YAAY,MAAM,IAAI,IAAI,MAAM,KAAK;AAAA,IAC5D,CAAC;AAED,WAAO,MAAM,MAAM,QAChBA,IAAE,OAAO,EAAE,OAAO,iBAAiB,GAAG,MAAM,KAAK,EAAE,QAAQ,MAAM,MAAM,GAAG,CAAC,GAAG,UAAU,SAAS,KAAK,CAAC,CAAC,IACxG,SAAS,CAAC;AAAA,EACd;AACD,CAAC;;;ACtBD,SAAS,mBAAAC,mBAAiB,KAAAC,WAAS;AAGnC,IAAO,kBAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,cAAc;AAAA,EACd,OAAO;AAAA,IACN,OAAO,EAAE,MAAM,OAAO,UAAU,KAAK;AAAA,IACrC,UAAU,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,EAC3C;AAAA,EACA,MAAM,OAAO,EAAE,MAAM,GAAG;AACvB,WAAO,MAAMC,IAAE,MAAM;AAAA,MACpB,GAAG;AAAA,MACH,OAAO,GAAG,SAAS,EAAE,kBAAkB,MAAM,SAAS,GAAG,MAAM,KAAK;AAAA,IACrE,GAAG,MAAM,MAAM,IAAI,CAAC,MAAM,UAAUA,IAAE,MAAM;AAAA,MAC3C,OAAO,GAAG,QAAQ;AAAA,QACjB,iBAAiB,KAAK,WAAW;AAAA,QACjC,gBAAgB,KAAK,WAAW;AAAA,QAChC,iBAAiB,KAAK,YAAY,KAAK,WAAW;AAAA,MACnD,CAAC;AAAA,IACF,GAAG;AAAA,MACFA,IAAE,QAAQ,EAAE,OAAO,cAAc,GAAG,KAAK,UAAU,OAAO,QAAQ,CAAC,CAAC;AAAA,MACpEA,IAAE,MAAM,EAAE,OAAO,aAAa,GAAG,KAAK,KAAK;AAAA,MAC3C,KAAK,QAAQA,IAAE,KAAK,EAAE,OAAO,YAAY,GAAG,KAAK,IAAI;AAAA,IACtD,CAAC,CAAC,CAAC;AAAA,EACJ;AACD,CAAC;;;AC1BD,SAAS,mBAAAC,mBAAiB,KAAAC,WAAS;AAGnC,IAAO,uBAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,cAAc;AAAA,EACd,OAAO;AAAA,IACN,OAAO,EAAE,MAAM,QAAQ,UAAU,KAAK;AAAA,IACtC,MAAM,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IAClC,MAAM,EAAE,MAAM,QAAQ,SAAS,WAAW;AAAA,IAC1C,SAAS,EAAE,MAAM,QAAQ,SAAS,UAAU;AAAA,EAC7C;AAAA,EACA,MAAM,OAAO,EAAE,OAAO,MAAM,GAAG;AAC9B,UAAM,UAAU,iBAAiB,MAAM,OAAO;AAE9C,WAAO,MAAG;AAfZ;AAee,aAAAC,IAAE,WAAW,EAAE,GAAG,OAAO,OAAO,GAAG,oBAAoB,QAAQ,OAAO,IAAI,MAAM,KAAK,EAAE,GAAG;AAAA,QACtGA,IAAE,QAAQ,EAAE,OAAO,aAAa,KAAG,WAAM,UAAN,mCAAmB,MAAM,KAAK;AAAA,QACjEA,IAAE,OAAO,EAAE,OAAO,eAAe,GAAG;AAAA,UACnCA,IAAE,OAAO,EAAE,OAAO,wBAAwB,GAAG;AAAA,YAC5CA,IAAE,OAAO,EAAE,OAAO,cAAc,KAAG,WAAM,SAAN,mCAAkB,CAAC,SAAS,MAAM,IAAI,CAAC,CAAC;AAAA,UAC5E,CAAC;AAAA,WACA,MAAM,QAAQ,MAAM,YAAYA,IAAE,KAAK,EAAE,OAAO,cAAc,KAAG,WAAM,YAAN,mCAAqB,MAAM,IAAI;AAAA,QAClG,CAAC;AAAA,MACF,CAAC;AAAA;AAAA,EACF;AACD,CAAC;;;ACzBD,SAAS,mBAAAC,mBAAiB,KAAAC,WAAS;AAGnC,IAAO,mBAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,cAAc;AAAA,EACd,OAAO;AAAA,IACN,YAAY,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,IAC5C,OAAO,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACnC,UAAU,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,EAC3C;AAAA,EACA,OAAO,CAAC,mBAAmB;AAAA,EAC3B,MAAM,OAAO,EAAE,OAAO,MAAM,MAAM,GAAG;AACpC,WAAO,MAAG;AAbZ;AAae,aAAAC,IAAE,SAAS,EAAE,OAAO,GAAG,UAAU,MAAM,KAAK,EAAE,GAAG;AAAA,QAC7DA,IAAE,SAAS;AAAA,UACV,GAAG;AAAA,UACH,MAAM;AAAA,UACN,SAAS,MAAM;AAAA,UACf,UAAU,MAAM;AAAA,UAChB,UAAU,WAAS,KAAK,qBAAqB,MAAM,OAAO,OAAO;AAAA,QAClE,CAAC;AAAA,QACDA,IAAE,QAAQ,EAAE,OAAO,kBAAkB,eAAe,OAAO,CAAC;AAAA,QAC5DA,IAAE,QAAQ,EAAE,OAAO,eAAe,KAAG,WAAM,YAAN,mCAAqB,MAAM,KAAK;AAAA,MACtE,CAAC;AAAA;AAAA,EACF;AACD,CAAC;;;ACzBD,SAAS,mBAAAC,mBAAiB,KAAAC,KAAG,OAAAC,OAAK,YAAAC,iBAAgB;AAGlD,IAAO,qBAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,cAAc;AAAA,EACd,OAAO;AAAA,IACN,YAAY,EAAE,MAAM,OAAO,SAAS,MAAM,CAAC,EAAE;AAAA,IAC7C,OAAO,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACnC,aAAa,EAAE,MAAM,QAAQ,SAAS,iBAAY;AAAA,IAClD,MAAM,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IAClC,UAAU,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,IAC1C,WAAW,EAAE,MAAM,QAAQ,SAAS,IAAI;AAAA,IACxC,QAAQ,EAAE,MAAM,SAAS,SAAS,KAAK;AAAA,IACvC,UAAU,EAAE,MAAM,QAAQ,SAAS,EAAE;AAAA,EACtC;AAAA,EACA,OAAO,CAAC,qBAAqB,OAAO,QAAQ;AAAA,EAC5C,MAAM,OAAO,EAAE,MAAM,OAAO,MAAM,GAAG;AACpC,UAAM,WAAWC,MAAI,IAAI;AACzB,UAAM,UAAUA,MAAI,KAAK;AACzB,UAAM,WAAWA,MAAI,EAAE;AAEvB,UAAM,SAASC,UAAS,MAAM;AAC7B,UAAG,MAAM,SAAU,QAAO;AAC1B,UAAG,MAAM,WAAW,KAAK,MAAM,WAAW,UAAU,MAAM,SAAU,QAAO;AAC3E,aAAO;AAAA,IACR,CAAC;AAED,aAAS,cAAc,MAAM;AAC5B,aAAO,KAAK,KAAK,EAAE,QAAQ,QAAQ,GAAG;AAAA,IACvC;AAEA,aAAS,SAAS,MAAM;AACvB,YAAM,QAAQ,cAAc,IAAI;AAChC,UAAG,CAAC,MAAO;AACX,UAAG,MAAM,UAAU,MAAM,WAAW,SAAS,KAAK,EAAG;AACrD,UAAG,MAAM,WAAW,KAAK,MAAM,WAAW,UAAU,MAAM,SAAU;AAEpE,YAAM,OAAO,CAAC,GAAG,MAAM,YAAY,KAAK;AACxC,WAAK,qBAAqB,IAAI;AAC9B,WAAK,OAAO,KAAK;AAAA,IAClB;AAEA,aAAS,YAAY,OAAO;AAC3B,YAAM,UAAU,MAAM,WAAW,KAAK;AACtC,YAAM,OAAO,MAAM,WAAW,OAAO,CAAC,GAAG,MAAM,MAAM,KAAK;AAC1D,WAAK,qBAAqB,IAAI;AAC9B,WAAK,UAAU,OAAO;AAAA,IACvB;AAEA,aAAS,UAAU,OAAO;AACzB,UAAG,MAAM,QAAQ,SAAS;AACzB,cAAM,eAAe;AACrB,YAAG,SAAS,OAAO;AAClB,gBAAM,QAAQ,MAAM,YACjB,SAAS,MAAM,MAAM,MAAM,SAAS,EAAE,IAAI,OAAK,EAAE,KAAK,CAAC,EAAE,OAAO,OAAO,IACvE,CAAC,SAAS,KAAK;AAClB,gBAAM,QAAQ,QAAQ;AACtB,mBAAS,QAAQ;AAAA,QAClB;AACA;AAAA,MACD;AAEA,UAAG,MAAM,QAAQ,eAAe,CAAC,SAAS,SAAS,MAAM,WAAW,SAAS,GAAG;AAC/E,oBAAY,MAAM,WAAW,SAAS,CAAC;AACvC;AAAA,MACD;AAAA,IACD;AAEA,aAAS,QAAQ,OAAO;AACvB,YAAM,QAAQ,MAAM,cAAc,QAAQ,MAAM;AAChD,UAAG,CAAC,SAAS,CAAC,MAAM,UAAW;AAC/B,YAAM,eAAe;AACrB,YAAM,QAAQ,MAAM,MAAM,MAAM,SAAS,EAAE,IAAI,OAAK,EAAE,KAAK,CAAC,EAAE,OAAO,OAAO;AAC5E,YAAM,WAAW,CAAC;AAClB,iBAAU,QAAQ,OAAO;AACxB,cAAM,IAAI,cAAc,IAAI;AAC5B,YAAG,CAAC,EAAG;AACP,YAAG,MAAM,UAAU,MAAM,WAAW,SAAS,CAAC,EAAG;AACjD,YAAG,MAAM,WAAW,KAAK,MAAM,WAAW,SAAS,SAAS,UAAU,MAAM,SAAU;AACtF,iBAAS,KAAK,CAAC;AAAA,MAChB;AACA,UAAG,SAAS,QAAQ;AACnB,cAAM,OAAO,CAAC,GAAG,MAAM,YAAY,GAAG,QAAQ;AAC9C,aAAK,qBAAqB,IAAI;AAC9B,iBAAS,QAAQ,OAAK,KAAK,OAAO,CAAC,CAAC;AAAA,MACrC;AAAA,IACD;AAEA,aAAS,cAAc;AAzFzB;AA0FG,qBAAS,UAAT,mBAAgB;AAAA,IACjB;AAEA,WAAO,MAAM;AA7Ff;AA8FG,YAAM,YAAY,MAAM,SAAS,MAAM,QACpCC,IAAE,SAAS,EAAE,OAAO,QAAQ,GAAG;AAAA,UAChC,WAAM,UAAN,mCAAmB,MAAM;AAAA,QACzB,MAAM,YAAYA,IAAE,QAAQ,EAAE,OAAO,sBAAsB,GAAG,UAAU;AAAA,MACzE,CAAC,IACC;AAEH,YAAM,QAAQ,MAAM,WAAW;AAAA,QAAI,CAAC,MAAM,UACzCA,IAAE,QAAQ;AAAA,UACT,OAAO,GAAG,QAAQ,gBAAgB;AAAA,UAClC,KAAK,GAAG,IAAI,IAAI,KAAK;AAAA,QACtB,GAAG;AAAA,UACF;AAAA,UACA,CAAC,MAAM,YAAYA,IAAE,UAAU;AAAA,YAC9B,OAAO;AAAA,YACP,MAAM;AAAA,YACN,cAAc,UAAU,IAAI;AAAA,YAC5B,SAAS,CAAC,MAAM;AACf,gBAAE,gBAAgB;AAClB,0BAAY,KAAK;AAAA,YAClB;AAAA,UACD,GAAG,CAACA,IAAE,KAAK,EAAE,OAAO,UAAU,CAAC,CAAC,CAAC;AAAA,QAClC,CAAC;AAAA,MACF;AAEA,YAAM,QAAQA,IAAE,SAAS;AAAA,QACxB,KAAK;AAAA,QACL,OAAO;AAAA,QACP,MAAM;AAAA,QACN,aAAa,OAAO,QAAQ,MAAM,cAAc;AAAA,QAChD,OAAO,SAAS;AAAA,QAChB,UAAU,MAAM;AAAA,QAChB,SAAS,CAAC,MAAM;AAAE,mBAAS,QAAQ,EAAE,OAAO;AAAA,QAAO;AAAA,QACnD;AAAA,QACA;AAAA,QACA,SAAS,MAAM,QAAQ,QAAQ;AAAA,QAC/B,QAAQ,MAAM,QAAQ,QAAQ;AAAA,MAC/B,CAAC;AAED,YAAM,OAAOA,IAAE,OAAO;AAAA,QACrB,OAAO,GAAG,gBAAgB;AAAA,QAC1B,SAAS;AAAA,MACV,GAAG;AAAA,QACF,GAAG;AAAA,QACH;AAAA,MACD,CAAC;AAED,YAAM,OAAO,MAAM,OAChBA,IAAE,OAAO,EAAE,OAAO,aAAa,GAAG;AAAA,QACnCA,IAAE,KAAK,EAAE,OAAO,aAAa,CAAC;AAAA,QAC9B,MAAM,MAAM;AAAA,MACb,CAAC,IACC;AAEH,aAAOA,IAAE,OAAO;AAAA,QACf,GAAG;AAAA,QACH,OAAO,GAAG,aAAa;AAAA,UACtB,qBAAqB,QAAQ;AAAA,UAC7B,sBAAsB,MAAM;AAAA,QAC7B,GAAG,MAAM,KAAK;AAAA,MACf,GAAG;AAAA,QACF;AAAA,QACA;AAAA,QACA;AAAA,MACD,CAAC;AAAA,IACF;AAAA,EACD;AACD,CAAC;;;ACrJD,SAAS,mBAAAC,mBAAiB,KAAAC,WAAS;AAGnC,IAAO,kBAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,OAAO;AAAA,IACN,SAAS,EAAE,MAAM,OAAO,UAAU,KAAK;AAAA,IACvC,MAAM,EAAE,MAAM,OAAO,SAAS,MAAM,CAAC,EAAE;AAAA,IACvC,SAAS,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACrC,WAAW,EAAE,MAAM,QAAQ,SAAS,QAAQ;AAAA,EAC7C;AAAA,EACA,MAAM,OAAO,EAAE,OAAO,MAAM,GAAG;AAC9B,WAAO,MAAG;AAxBZ;AAwBe,aAAAC,IAAE,OAAO,EAAE,OAAO,gBAAgB,GAAG;AAAA,QACjDA,IAAE,SAAS,EAAE,OAAO,GAAG,mBAAmB,EAAE,eAAe,CAAC,MAAM,KAAK,OAAO,GAAG,MAAM,KAAK,EAAE,GAAG;AAAA,UAChG,MAAM,WAAWA,IAAE,WAAW,EAAE,OAAO,gBAAgB,GAAG,MAAM,OAAO;AAAA,UACvEA,IAAE,SAAS,EAAE,OAAO,aAAa,GAAG;AAAA,YACnCA,IAAE,MAAM,EAAE,OAAO,YAAY,GAAG,MAAM,QAAQ,IAAI,YAAUA,IAAE,MAAM,EAAE,OAAO,MAAM,GAAG,OAAO,KAAK,CAAC,CAAC;AAAA,UACrG,CAAC;AAAA,UACDA;AAAA,YAAE;AAAA,YAAS,EAAE,OAAO,aAAa;AAAA,YAAG,MAAM,KAAK,SAC5C,MAAM,KAAK,IAAI,SAAOA,IAAE,MAAM,EAAE,OAAO,YAAY,GAAG,MAAM,QAAQ,IAAI,YAAU;AA/BzF,kBAAAC;AAgCM,oBAAM,OAAO,QAAQ,OAAO,GAAG;AAC/B,qBAAOD,IAAE,MAAM,CAAC,KAAGC,MAAA,MAAM,UAAN,gBAAAA,IAAA,YAAc,EAAE,KAAK,QAAQ,OAAO,IAAI,OAAO,GAAG,EAAE,OAAM,IAAI,OAAO,GAAG,CAAC;AAAA,YAC7F,CAAC,CAAC,CAAC,IACDD,IAAE,MAAM,CAAC,GAAG,CAACA,IAAE,MAAM,EAAE,OAAO,YAAY,SAAS,MAAM,QAAQ,OAAO,KAAG,WAAM,UAAN,mCAAmB,MAAM,SAAS,CAAC,CAAC;AAAA,UAClH;AAAA,QACD,CAAC;AAAA,MACF,CAAC;AAAA;AAAA,EACF;AACD,CAAC;;;ACxCD,SAAS,mBAAAE,mBAAiB,KAAAC,WAAS;AAGnC,IAAO,qBAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,cAAc;AAAA,EACd,OAAO;AAAA,IACN,YAAY,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACxC,OAAO,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACnC,MAAM,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IAClC,OAAO,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACnC,MAAM,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,EACnC;AAAA,EACA,OAAO,CAAC,mBAAmB;AAAA,EAC3B,MAAM,OAAO,EAAE,OAAO,KAAK,GAAG;AAC7B,WAAO,MAAMC,IAAE,OAAO,EAAE,OAAO,aAAa,GAAG;AAAA,MAC9CA,IAAE,SAAS,EAAE,OAAO,GAAG,SAAS,MAAM,KAAK,EAAE,GAAG;AAAA,QAC/C,MAAM;AAAA,QACN,SAAS,MAAM,IAAI;AAAA,QACnBA,IAAE,YAAY;AAAA,UACb,GAAG;AAAA,UACH,OAAO,MAAM;AAAA,UACb,OAAO,GAAG,SAAS,MAAM,KAAK;AAAA,UAC9B,SAAS,WAAS,KAAK,qBAAqB,WAAW,KAAK,CAAC;AAAA,QAC9D,CAAC;AAAA,MACF,CAAC;AAAA,MACD,MAAM,QAAQA,IAAE,OAAO,EAAE,OAAO,GAAG,cAAc,MAAM,UAAU,WAAW,OAAO,EAAE,GAAG,MAAM,IAAI;AAAA,IACnG,CAAC;AAAA,EACF;AACD,CAAC;;;AC7BD,SAAS,mBAAAC,mBAAiB,KAAAC,WAAS;AAGnC,IAAO,qBAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,cAAc;AAAA,EACd,OAAO;AAAA,IACN,OAAO,EAAE,MAAM,OAAO,SAAS,MAAM,CAAC,EAAE;AAAA,EACzC;AAAA,EACA,MAAM,OAAO,EAAE,OAAO,MAAM,GAAG;AAC9B,WAAO,MAAMC,IAAE,MAAM,EAAE,GAAG,OAAO,OAAO,GAAG,YAAY,MAAM,KAAK,EAAE,GAAG,MAAM,MAAM,IAAI,UAAQ;AAVjG;AAWG,YAAM,UAAU,KAAK,UAAU,iBAAiB,KAAK,OAAO,IAAI;AAEhE,aAAOA,IAAE,MAAM,EAAE,OAAO,GAAG,iBAAiB,WAAW,iBAAiB,OAAO,EAAE,EAAE,GAAG;AAAA,QACrFA,IAAE,QAAQ,EAAE,OAAO,kBAAkB,GAAG,CAAC,SAAS,KAAK,QAAQ,WAAW,CAAC,CAAC;AAAA,QAC5EA,IAAE,OAAO,EAAE,OAAO,mBAAmB,GAAG;AAAA,UACvCA,IAAE,WAAW,EAAE,OAAO,gBAAgB,GAAG;AAAA,YACxCA,IAAE,UAAU,EAAE,OAAO,kBAAkB,GAAG;AAAA,cACzCA,IAAE,MAAM,EAAE,OAAO,iBAAiB,GAAG,KAAK,KAAK;AAAA,cAC/C,KAAK,QAAQA,IAAE,QAAQ,EAAE,OAAO,gBAAgB,GAAG,KAAK,IAAI;AAAA,YAC7D,CAAC;AAAA,YACDA,IAAE,KAAK,EAAE,OAAO,gBAAgB,KAAG,WAAM,KAAK,SAAX,+BAAkB,EAAE,KAAK,OAAM,KAAK,IAAI;AAAA,aAC1E,KAAK,QAAQ,MAAM,SAASA,IAAE,OAAO,EAAE,OAAO,gBAAgB,KAAG,WAAM,SAAN,+BAAa,EAAE,KAAK,OAAM,KAAK,IAAI;AAAA,UACtG,CAAC;AAAA,QACF,CAAC;AAAA,MACF,CAAC;AAAA,IACF,CAAC,CAAC;AAAA,EACH;AACD,CAAC;;;AC5BD,SAAS,mBAAAC,mBAAiB,KAAAC,KAAG,OAAAC,aAAW;AAGxC,IAAO,oBAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,cAAc;AAAA,EACd,OAAO;AAAA,IACN,MAAM,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,EACnC;AAAA,EACA,MAAM,OAAO,EAAE,OAAO,MAAM,GAAG;AAC9B,UAAM,OAAOC,MAAI,KAAK;AAEtB,WAAO,MAAG;AAZZ;AAYe,aAAAC,IAAE,QAAQ;AAAA,QACtB,GAAG;AAAA,QACH,OAAO,GAAG,WAAW,EAAE,WAAW,KAAK,MAAM,GAAG,MAAM,KAAK;AAAA,QAC3D,UAAU;AAAA,QACV,WAAW,MAAM;AAChB,eAAK,QAAQ;AAAA,QACd;AAAA,QACA,YAAY,MAAM;AACjB,eAAK,QAAQ;AAAA,QACd;AAAA,MACD,GAAG;AAAA,SACF,WAAM,YAAN;AAAA,QACAA,IAAE,QAAQ,EAAE,OAAO,iBAAiB,MAAM,UAAU,KAAG,WAAM,UAAN,mCAAmB,MAAM,IAAI;AAAA,MACrF,CAAC;AAAA;AAAA,EACF;AACD,CAAC;;;AC3BD,SAAS,mBAAAC,mBAAiB,KAAAC,WAAS;AAGnC,IAAO,oBAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,cAAc;AAAA,EACd,OAAO;AAAA,IACN,OAAO,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACnC,MAAM,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,EACnC;AAAA,EACA,MAAM,OAAO,EAAE,OAAO,MAAM,GAAG;AAC9B,WAAO,MAAG;AAXZ;AAWe,aAAAC,IAAE,OAAO,EAAE,GAAG,OAAO,OAAO,GAAG,WAAW,MAAM,KAAK,EAAE,GAAG;AAAA,QACtEA,IAAE,OAAO,EAAE,OAAO,gBAAgB,GAAG;AAAA,UACpCA,IAAE,OAAO,CAAC,GAAG;AAAA,aACX,MAAM,SAAS,MAAM,UAAUA,IAAE,MAAM,EAAE,OAAO,gBAAgB,KAAG,WAAM,UAAN,mCAAmB,MAAM,KAAK;AAAA,aACjG,MAAM,QAAQ,MAAM,SAASA,IAAE,QAAQ,EAAE,OAAO,eAAe,KAAG,WAAM,SAAN,mCAAkB,MAAM,IAAI;AAAA,UAChG,CAAC;AAAA,QACF,CAAC;AAAA,SACA,MAAM,WAAW,MAAM,YAAYA,IAAE,OAAO,EAAE,OAAO,gBAAgB,KAAG,WAAM,YAAN,qCAAqB,WAAM,YAAN,+BAAiB;AAAA,MAChH,CAAC;AAAA;AAAA,EACF;AACD,CAAC;;;ACrBD,SAAS,mBAAAC,mBAAiB,KAAAC,KAAG,SAAS,OAAAC,OAAK,YAAAC,iBAAgB;;;ACApD,IAAM,WAAW,OAAO,qBAAqB;;;ADIpD,IAAM,gBAAgB;AAAA,EACrB,MAAM;AAAA,EACN,SAAS;AAAA,EACT,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,SAAS;AAAA,EACT,WAAW;AACZ;AAEA,IAAO,0BAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,OAAO;AAAA,IACN,UAAU,EAAE,MAAM,QAAQ,SAAS,IAAK;AAAA,EACzC;AAAA,EACA,MAAM,OAAO,EAAE,OAAO,OAAO,GAAG;AAC/B,UAAM,QAAQC,MAAI,IAAI;AACtB,UAAM,UAAUA,MAAI,KAAK;AACzB,UAAM,UAAUA,MAAI,KAAK;AACzB,QAAI,QAAQ;AACZ,QAAI,aAAa;AACjB,QAAI,gBAAgB;AACpB,UAAM,WAAWA,MAAI,GAAG;AAExB,UAAM,UAAU,MAAM;AACrB,aAAO,aAAa,UAAU;AAC9B,aAAO,cAAc,aAAa;AAClC,cAAQ,QAAQ;AAChB,cAAQ,QAAQ;AAChB,mBAAa,OAAO,WAAW,MAAM;AACpC,cAAM,QAAQ;AACd,gBAAQ,QAAQ;AAChB,iBAAS,QAAQ;AACjB,eAAO,aAAa,KAAK;AACzB,gBAAQ;AAAA,MACT,GAAG,GAAG;AAAA,IACP;AAEA,UAAM,QAAQ,MAAM;AACnB,aAAO,aAAa,UAAU;AAC9B,aAAO,aAAa,KAAK;AACzB,aAAO,cAAc,aAAa;AAClC,cAAQ,QAAQ;AAChB,cAAQ,QAAQ;AAChB,eAAS,QAAQ;AACjB,YAAM,QAAQ;AAAA,IACf;AAEA,UAAM,OAAO,aAAW;AACvB,aAAO,aAAa,UAAU;AAC9B,aAAO,cAAc,aAAa;AAClC,cAAQ,QAAQ;AAChB,cAAQ,QAAQ;AAChB,eAAS,QAAQ;AACjB,YAAM,UAAU,iBAAiB,QAAQ,WAAW,QAAQ,QAAQ,QAAQ,MAAM;AAClF,YAAM,WAAW,QAAQ,aAAa,SAAY,QAAQ,WAAW,MAAM;AAC3E,YAAM,QAAQ;AAAA,QACb,IAAI,KAAK,IAAI;AAAA,QACb,SAAS,YAAY,UAAU,WAAW;AAAA,QAC1C,OAAO,QAAQ,SAAS;AAAA,QACxB,MAAM,QAAQ,QAAQ,QAAQ,WAAW;AAAA,QACzC,MAAM,QAAQ,QAAQ,cAAc,OAAO,KAAK,cAAc;AAAA,QAC9D;AAAA,MACD;AAEA,aAAO,aAAa,KAAK;AAEzB,UAAG,aAAa,GAAG;AAClB,cAAM,OAAO;AACb,cAAM,aAAa,WAAW;AAC9B,iBAAS,QAAQ;AACjB,wBAAgB,OAAO,YAAY,MAAM;AACxC,mBAAS,SAAS,MAAM;AACxB,cAAG,SAAS,SAAS,GAAG;AACvB,mBAAO,cAAc,aAAa;AAAA,UACnC;AAAA,QACD,GAAG,IAAI;AAEP,gBAAQ,OAAO,WAAW,SAAS,QAAQ;AAAA,MAC5C;AAEA,MAAAC,UAAS,MAAM;AACd,8BAAsB,MAAM;AAC3B,kBAAQ,QAAQ;AAAA,QACjB,CAAC;AAAA,MACF,CAAC;AAAA,IACF;AAEA,UAAM,MAAM;AAAA,MACX;AAAA,MACA;AAAA,MACA,MAAM,aAAW,KAAK,EAAE,GAAG,SAAS,SAAS,OAAO,CAAC;AAAA,MACrD,SAAS,aAAW,KAAK,EAAE,GAAG,SAAS,SAAS,UAAU,CAAC;AAAA,MAC3D,SAAS,aAAW,KAAK,EAAE,GAAG,SAAS,SAAS,UAAU,CAAC;AAAA,MAC3D,QAAQ,aAAW,KAAK,EAAE,GAAG,SAAS,SAAS,SAAS,CAAC;AAAA,MACzD,OAAO,aAAW,KAAK,EAAE,GAAG,SAAS,SAAS,SAAS,CAAC;AAAA,IACzD;AAEA,YAAQ,UAAU,GAAG;AACrB,WAAO,GAAG;AAEV,UAAM,aAAa,MAAM;AACxB,UAAI,QAAQ,MAAO,QAAO;AAC1B,UAAI,QAAQ,MAAO,QAAO;AAC1B,aAAO;AAAA,IACR;AAEA,WAAO,MAAG;AA/GZ;AA+Ge;AAAA,SACZ,WAAM,YAAN;AAAA,QACA,MAAM,SAASC,IAAE,OAAO;AAAA,UACvB,OAAO,GAAG,SAAS,WAAW,GAAG,SAAS,MAAM,MAAM,OAAO,EAAE;AAAA,UAC/D,MAAM;AAAA,QACP,GAAG;AAAA,UACFA,IAAE,OAAO,EAAE,OAAO,gBAAgB,GAAG;AAAA,YACpCA,IAAE,OAAO,EAAE,OAAO,eAAe,GAAG;AAAA,cACnC,SAAS,MAAM,MAAM,IAAI;AAAA,cACzB,MAAM,MAAM;AAAA,YACb,CAAC;AAAA,YACD,MAAM,MAAM,QAAQA,IAAE,KAAK,EAAE,OAAO,aAAa,GAAG,MAAM,MAAM,IAAI;AAAA,UACrE,CAAC;AAAA,UACDA,IAAE,UAAU;AAAA,YACX,OAAO;AAAA,YACP,MAAM;AAAA,YACN,cAAc;AAAA,YACd,SAAS;AAAA,UACV,GAAG,CAAC,SAAS,MAAM,CAAC,CAAC;AAAA,UACrB,MAAM,MAAM,aAAa,KAAKA,IAAE,OAAO,EAAE,OAAO,iBAAiB,GAAG;AAAA,YACnEA,IAAE,OAAO;AAAA,cACR,OAAO;AAAA,cACP,OAAO,EAAE,WAAW,UAAU,KAAK,IAAI,GAAG,SAAS,QAAQ,GAAG,CAAC,IAAI;AAAA,YACpE,CAAC;AAAA,UACF,CAAC;AAAA,QACF,CAAC;AAAA,MACF;AAAA;AAAA,EACD;AACD,CAAC;;;AE3ID,SAAS,mBAAAC,mBAAiB,KAAAC,WAAS;AAGnC,IAAO,uBAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,OAAO;AAAA,IACN,OAAO,EAAE,MAAM,QAAQ,UAAU,KAAK;AAAA,IACtC,OAAO,EAAE,MAAM,QAAQ,UAAU,KAAK;AAAA,IACtC,KAAK,EAAE,MAAM,QAAQ,SAAS,IAAI;AAAA,IAClC,MAAM,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,EACnC;AAAA,EACA,MAAM,OAAO,EAAE,MAAM,GAAG;AACvB,WAAO,MAAM;AAZf;AAaG,YAAM,UAAU,KAAK,IAAI,GAAG,KAAK,IAAI,KAAK,KAAK,MAAO,MAAM,QAAQ,MAAM,MAAO,GAAG,CAAC,CAAC;AAEtF,aAAOC,IAAE,WAAW,EAAE,OAAO,cAAc,GAAG;AAAA,QAC7CA,IAAE,MAAM,EAAE,OAAO,oBAAoB,GAAG;AAAA,YACvC,WAAM,UAAN,mCAAmB,MAAM;AAAA,UACzBA,IAAE,QAAQ,EAAE,OAAO,oBAAoB,GAAG,GAAG,OAAO,GAAG;AAAA,QACxD,CAAC;AAAA,QACDA,IAAE,oBAAY,EAAE,OAAO,MAAM,OAAO,KAAK,MAAM,IAAI,CAAC;AAAA,SACnD,MAAM,QAAQ,MAAM,SAASA,IAAE,KAAK,EAAE,OAAO,mBAAmB,KAAG,WAAM,SAAN,mCAAkB,MAAM,IAAI;AAAA,MACjG,CAAC;AAAA,IACF;AAAA,EACD;AACD,CAAC;;;ACzBD,SAAS,mBAAAC,mBAAiB,KAAAC,WAAS;AAInC,IAAO,qBAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,OAAO;AAAA,IACN,MAAM,EAAE,MAAM,QAAQ,UAAU,KAAK;AAAA,IACrC,OAAO,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACnC,MAAM,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IAClC,QAAQ,EAAE,MAAM,QAAQ,SAAS,OAAO,CAAC,GAAG;AAAA,IAC5C,MAAM,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IAClC,SAAS,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,IACzC,SAAS,EAAE,MAAM,OAAO,SAAS,MAAM,CAAC,EAAE;AAAA,EAC3C;AAAA,EACA,MAAM,OAAO,EAAE,MAAM,GAAG;AACvB,UAAM,eAAe,MAAG;AAhB1B;AAgB6B,0BAAM,WAAN,mCAAoBC,IAAE,kBAAU;AAAA,QAC1D,GAAG,MAAM;AAAA,QACT,MAAM,MAAM,UAAU,OAAO;AAAA,MAC9B,CAAC;AAAA;AAED,UAAM,iBAAiB,MAAMA,IAAE,QAAQ,EAAE,OAAO,WAAW,GAAG;AAAA,MAC7D,aAAa;AAAA,MACbA,IAAE,QAAQ,EAAE,OAAO,mBAAmB,GAAG;AAAA,QACxCA,IAAE,QAAQ,EAAE,OAAO,iBAAiB,GAAG,MAAM,IAAI;AAAA,QACjD,MAAM,SAASA,IAAE,QAAQ,EAAE,OAAO,gBAAgB,GAAG,MAAM,KAAK;AAAA,MACjE,CAAC;AAAA,IACF,CAAC;AAED,UAAM,gBAAgB,MAAM;AAC3B,UAAI,MAAM,QAAS,QAAO,MAAM,QAAQ;AACxC,UAAI,CAAC,MAAM,QAAQ,OAAQ,QAAO;AAElC,aAAOA;AAAA,QAAE;AAAA,QAAO,EAAE,OAAO,oBAAoB;AAAA,QAC5C,MAAM,QAAQ,IAAI,YAAU;AAC3B,cAAI,MAAM,SAAS;AAClB,mBAAOA,IAAE,UAAU;AAAA,cAClB,OAAO;AAAA,cACP,MAAM;AAAA,cACN,cAAc,OAAO;AAAA,cACrB,SAAS,OAAO;AAAA,YACjB,GAAG,CAAC,SAAS,OAAO,IAAI,CAAC,CAAC;AAAA,UAC3B;AAEA,gBAAM,UAAU,CAAC,CAAC,OAAO;AACzB,gBAAM,WAAW,GAAG,OAAO,aAAa;AAAA,YACvC,CAAC,OAAO,OAAO,OAAO,EAAE,GAAG,OAAO;AAAA,YAClC,iBAAiB,CAAC,OAAO;AAAA,YACzB,aAAa;AAAA,UACd,CAAC;AAED,iBAAOA,IAAE,UAAU;AAAA,YAClB,OAAO;AAAA,YACP,MAAM;AAAA,YACN,SAAS,OAAO;AAAA,UACjB,GAAG;AAAA,YACF,WAAW,SAAS,OAAO,IAAI;AAAA,YAC/B,OAAO;AAAA,UACR,CAAC;AAAA,QACF,CAAC;AAAA,MACF;AAAA,IACD;AAEA,WAAO,MAAM;AACZ,YAAM,YAAY,GAAG,QAAQ,aAAa,EAAE,qBAAqB,MAAM,QAAQ,CAAC;AAChF,YAAM,eAAe,CAAC;AAEtB,UAAI,MAAM,MAAM;AACf,qBAAa;AAAA,UACZA,IAAE,KAAK;AAAA,YACN,OAAO;AAAA,YACP,MAAM,MAAM;AAAA,YACZ,QAAQ;AAAA,YACR,KAAK;AAAA,UACN,GAAG,CAAC,eAAe,CAAC,CAAC;AAAA,QACtB;AAAA,MACD,OAAO;AACN,qBAAa,KAAK,eAAe,CAAC;AAAA,MACnC;AAEA,UAAI,CAAC,MAAM,WAAW,MAAM,MAAM;AACjC,qBAAa,KAAKA,IAAE,QAAQ,EAAE,OAAO,iBAAiB,GAAG,MAAM,IAAI,CAAC;AAAA,MACrE;AAEA,UAAI,MAAM,WAAW,CAAC,MAAM,SAAS;AACpC,qBAAa,KAAKA,IAAE,OAAO,EAAE,OAAO,kBAAkB,GAAG,MAAM,QAAQ,CAAC,CAAC;AAAA,MAC1E;AAEA,YAAM,cAAc,cAAc;AAClC,UAAI,aAAa;AAChB,qBAAa,KAAK,WAAW;AAAA,MAC9B;AAEA,aAAOA,IAAE,WAAW,EAAE,OAAO,UAAU,GAAG;AAAA,QACzCA,IAAE,OAAO,EAAE,OAAO,iBAAiB,GAAG,YAAY;AAAA,MACnD,CAAC;AAAA,IACF;AAAA,EACD;AACD,CAAC;;;AClGD,SAAS,cAAc;AAGhB,SAAS,WAAW;AAC1B,QAAM,MAAM,OAAO,UAAU,IAAI;AAEjC,MAAG,KAAK;AACP,WAAO;AAAA,EACR;AAEA,QAAM,kBAAkB,MAAM;AAC7B,UAAM,IAAI,MAAM,yEAAyE;AAAA,EAC1F;AAEA,SAAO;AAAA,IACN,MAAM;AAAA,IACN,MAAM;AAAA,IACN,SAAS;AAAA,IACT,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,OAAO;AAAA,EACR;AACD;;;ACsCO,IAAM,aAAa;AAAA,EACzB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD;AAEA,IAAO,iBAAQ;AAAA,EACd,QAAQ,KAAK;AACZ,WAAO,QAAQ,UAAU,EAAE,QAAQ,CAAC,CAAC,MAAM,SAAS,MAAM;AACzD,UAAI,UAAU,MAAM,SAAS;AAAA,IAC9B,CAAC;AAAA,EACF;AACD;", + "names": ["h", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "ref", "defineComponent", "ref", "h", "defineComponent", "h", "defineComponent", "h", "nextTick", "ref", "nextTick", "ref", "defineComponent", "ref", "nextTick", "h", "defineComponent", "h", "defineComponent", "h", "ref", "defineComponent", "ref", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "onBeforeUnmount", "ref", "defineComponent", "ref", "onBeforeUnmount", "h", "defineComponent", "h", "nextTick", "onBeforeUnmount", "ref", "Teleport", "watch", "defineComponent", "ref", "watch", "nextTick", "_a", "onBeforeUnmount", "h", "Teleport", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "onBeforeUnmount", "ref", "watch", "defineComponent", "ref", "watch", "onBeforeUnmount", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "ref", "defineComponent", "ref", "h", "defineComponent", "h", "defineComponent", "h", "computed", "defineComponent", "h", "defineComponent", "computed", "h", "_a", "defineComponent", "h", "nextTick", "onBeforeUnmount", "ref", "watch", "defineComponent", "ref", "drawerId", "watch", "nextTick", "_a", "onBeforeUnmount", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "onBeforeUnmount", "ref", "defineComponent", "ref", "onBeforeUnmount", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "computed", "defineComponent", "computed", "h", "_a", "computed", "defineComponent", "h", "watch", "computed", "defineComponent", "h", "defineComponent", "computed", "h", "defineComponent", "computed", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "ref", "computed", "defineComponent", "ref", "computed", "h", "defineComponent", "h", "defineComponent", "h", "_a", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "ref", "defineComponent", "ref", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "ref", "nextTick", "defineComponent", "ref", "nextTick", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h"] } diff --git a/examples/vue/dist/assets/index-DSZYm3eF.js b/examples/vue/dist/assets/index-DSZYm3eF.js deleted file mode 100644 index 9cd4ba6..0000000 --- a/examples/vue/dist/assets/index-DSZYm3eF.js +++ /dev/null @@ -1,122 +0,0 @@ -(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))l(s);new MutationObserver(s=>{for(const i of s)if(i.type==="childList")for(const r of i.addedNodes)r.tagName==="LINK"&&r.rel==="modulepreload"&&l(r)}).observe(document,{childList:!0,subtree:!0});function n(s){const i={};return s.integrity&&(i.integrity=s.integrity),s.referrerPolicy&&(i.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?i.credentials="include":s.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function l(s){if(s.ep)return;s.ep=!0;const i=n(s);fetch(s.href,i)}})();/** -* @vue/shared v3.5.34 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/function jn(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const z={},At=[],_e=()=>{},es=()=>!1,fn=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),dn=e=>e.startsWith("onUpdate:"),re=Object.assign,Kn=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},ii=Object.prototype.hasOwnProperty,$=(e,t)=>ii.call(e,t),D=Array.isArray,Et=e=>$t(e)==="[object Map]",ri=e=>$t(e)==="[object Set]",yl=e=>$t(e)==="[object Date]",R=e=>typeof e=="function",ee=e=>typeof e=="string",ze=e=>typeof e=="symbol",J=e=>e!==null&&typeof e=="object",ts=e=>(J(e)||R(e))&&R(e.then)&&R(e.catch),oi=Object.prototype.toString,$t=e=>oi.call(e),ai=e=>$t(e).slice(8,-1),ci=e=>$t(e)==="[object Object]",Wn=e=>ee(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Ot=jn(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),pn=e=>{const t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},ui=/-\w/g,be=pn(e=>e.replace(ui,t=>t.slice(1).toUpperCase())),fi=/\B([A-Z])/g,rt=pn(e=>e.replace(fi,"-$1").toLowerCase()),ns=pn(e=>e.charAt(0).toUpperCase()+e.slice(1)),Sn=pn(e=>e?`on${ns(e)}`:""),Me=(e,t)=>!Object.is(e,t),xn=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:l,value:n})},di=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let Sl;const lt=()=>Sl||(Sl=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function qn(e){if(D(e)){const t={};for(let n=0;n{if(n){const l=n.split(hi);l.length>1&&(t[l[0].trim()]=l[1].trim())}}),t}function zn(e){let t="";if(ee(e))t=e;else if(D(e))for(let n=0;n0&&--this._on===0){if(ie===this)ie=this.prevScope;else{let t=ie;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let n,l;for(n=0,l=this.effects.length;n0)return;if(Pt){let t=Pt;for(Pt=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;Ct;){let t=Ct;for(Ct=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(l){e||(e=l)}t=n}}if(e)throw e}function os(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function as(e){let t,n=e.depsTail,l=n;for(;l;){const s=l.prevDep;l.version===-1?(l===n&&(n=s),Qn(l),xi(l)):t=l,l.dep.activeLink=l.prevActiveLink,l.prevActiveLink=void 0,l=s}e.deps=t,e.depsTail=n}function In(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(cs(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function cs(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Lt)||(e.globalVersion=Lt,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!In(e))))return;e.flags|=2;const t=e.dep,n=q,l=ye;q=e,ye=!0;try{os(e);const s=e.fn(e._value);(t.version===0||Me(s,e._value))&&(e.flags|=128,e._value=s,t.version++)}catch(s){throw t.version++,s}finally{q=n,ye=l,as(e),e.flags&=-3}}function Qn(e,t=!1){const{dep:n,prevSub:l,nextSub:s}=e;if(l&&(l.nextSub=s,e.prevSub=void 0),s&&(s.prevSub=l,e.nextSub=void 0),n.subs===e&&(n.subs=l,!l&&n.computed)){n.computed.flags&=-5;for(let i=n.computed.deps;i;i=i.nextDep)Qn(i,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function xi(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let ye=!0;const us=[];function Be(){us.push(ye),ye=!1}function ke(){const e=us.pop();ye=e===void 0?!0:e}function xl(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=q;q=void 0;try{t()}finally{q=n}}}let Lt=0;class wi{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Zn{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!q||!ye||q===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==q)n=this.activeLink=new wi(q,this),q.deps?(n.prevDep=q.depsTail,q.depsTail.nextDep=n,q.depsTail=n):q.deps=q.depsTail=n,fs(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const l=n.nextDep;l.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=l),n.prevDep=q.depsTail,n.nextDep=void 0,q.depsTail.nextDep=n,q.depsTail=n,q.deps===n&&(q.deps=l)}return n}trigger(t){this.version++,Lt++,this.notify(t)}notify(t){Yn();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{Xn()}}}function fs(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let l=t.deps;l;l=l.nextDep)fs(l)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const Gn=new WeakMap,st=Symbol(""),Mn=Symbol(""),Ft=Symbol("");function oe(e,t,n){if(ye&&q){let l=Gn.get(e);l||Gn.set(e,l=new Map);let s=l.get(n);s||(l.set(n,s=new Zn),s.map=l,s.key=n),s.track()}}function Ue(e,t,n,l,s,i){const r=Gn.get(e);if(!r){Lt++;return}const o=a=>{a&&a.trigger()};if(Yn(),t==="clear")r.forEach(o);else{const a=D(e),f=a&&Wn(n);if(a&&n==="length"){const u=Number(l);r.forEach((p,m)=>{(m==="length"||m===Ft||!ze(m)&&m>=u)&&o(p)})}else switch((n!==void 0||r.has(void 0))&&o(r.get(n)),f&&o(r.get(Ft)),t){case"add":a?f&&o(r.get("length")):(o(r.get(st)),Et(e)&&o(r.get(Mn)));break;case"delete":a||(o(r.get(st)),Et(e)&&o(r.get(Mn)));break;case"set":Et(e)&&o(r.get(st));break}}Xn()}function ct(e){const t=k(e);return t===e?t:(oe(t,"iterate",Ft),Se(e)?t:t.map($e))}function el(e){return oe(e=k(e),"iterate",Ft),e}function Pe(e,t){return Je(e)?Nt(ft(e)?$e(t):t):$e(t)}const Ti={__proto__:null,[Symbol.iterator](){return Tn(this,Symbol.iterator,e=>Pe(this,e))},concat(...e){return ct(this).concat(...e.map(t=>D(t)?ct(t):t))},entries(){return Tn(this,"entries",e=>(e[1]=Pe(this,e[1]),e))},every(e,t){return Le(this,"every",e,t,void 0,arguments)},filter(e,t){return Le(this,"filter",e,t,n=>n.map(l=>Pe(this,l)),arguments)},find(e,t){return Le(this,"find",e,t,n=>Pe(this,n),arguments)},findIndex(e,t){return Le(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Le(this,"findLast",e,t,n=>Pe(this,n),arguments)},findLastIndex(e,t){return Le(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Le(this,"forEach",e,t,void 0,arguments)},includes(...e){return An(this,"includes",e)},indexOf(...e){return An(this,"indexOf",e)},join(e){return ct(this).join(e)},lastIndexOf(...e){return An(this,"lastIndexOf",e)},map(e,t){return Le(this,"map",e,t,void 0,arguments)},pop(){return bt(this,"pop")},push(...e){return bt(this,"push",e)},reduce(e,...t){return wl(this,"reduce",e,t)},reduceRight(e,...t){return wl(this,"reduceRight",e,t)},shift(){return bt(this,"shift")},some(e,t){return Le(this,"some",e,t,void 0,arguments)},splice(...e){return bt(this,"splice",e)},toReversed(){return ct(this).toReversed()},toSorted(e){return ct(this).toSorted(e)},toSpliced(...e){return ct(this).toSpliced(...e)},unshift(...e){return bt(this,"unshift",e)},values(){return Tn(this,"values",e=>Pe(this,e))}};function Tn(e,t,n){const l=el(e),s=l[t]();return l!==e&&!Se(e)&&(s._next=s.next,s.next=()=>{const i=s._next();return i.done||(i.value=n(i.value)),i}),s}const Ai=Array.prototype;function Le(e,t,n,l,s,i){const r=el(e),o=r!==e&&!Se(e),a=r[t];if(a!==Ai[t]){const p=a.apply(e,i);return o?$e(p):p}let f=n;r!==e&&(o?f=function(p,m){return n.call(this,Pe(e,p),m,e)}:n.length>2&&(f=function(p,m){return n.call(this,p,m,e)}));const u=a.call(r,f,l);return o&&s?s(u):u}function wl(e,t,n,l){const s=el(e),i=s!==e&&!Se(e);let r=n,o=!1;s!==e&&(i?(o=l.length===0,r=function(f,u,p){return o&&(o=!1,f=Pe(e,f)),n.call(this,f,Pe(e,u),p,e)}):n.length>3&&(r=function(f,u,p){return n.call(this,f,u,p,e)}));const a=s[t](r,...l);return o?Pe(e,a):a}function An(e,t,n){const l=k(e);oe(l,"iterate",Ft);const s=l[t](...n);return(s===-1||s===!1)&&sl(n[0])?(n[0]=k(n[0]),l[t](...n)):s}function bt(e,t,n=[]){Be(),Yn();const l=k(e)[t].apply(e,n);return Xn(),ke(),l}const Ei=jn("__proto__,__v_isRef,__isVue"),ds=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(ze));function Oi(e){ze(e)||(e=String(e));const t=k(this);return oe(t,"has",e),t.hasOwnProperty(e)}class ps{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,l){if(n==="__v_skip")return t.__v_skip;const s=this._isReadonly,i=this._isShallow;if(n==="__v_isReactive")return!s;if(n==="__v_isReadonly")return s;if(n==="__v_isShallow")return i;if(n==="__v_raw")return l===(s?i?Fi:vs:i?ms:gs).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(l)?t:void 0;const r=D(t);if(!s){let a;if(r&&(a=Ti[n]))return a;if(n==="hasOwnProperty")return Oi}const o=Reflect.get(t,n,ae(t)?t:l);if((ze(n)?ds.has(n):Ei(n))||(s||oe(t,"get",n),i))return o;if(ae(o)){const a=r&&Wn(n)?o:o.value;return s&&J(a)?Dn(a):a}return J(o)?s?Dn(o):nl(o):o}}class hs extends ps{constructor(t=!1){super(!1,t)}set(t,n,l,s){let i=t[n];const r=D(t)&&Wn(n);if(!this._isShallow){const f=Je(i);if(!Se(l)&&!Je(l)&&(i=k(i),l=k(l)),!r&&ae(i)&&!ae(l))return f||(i.value=l),!0}const o=r?Number(n)e,Jt=e=>Reflect.getPrototypeOf(e);function Mi(e,t,n){return function(...l){const s=this.__v_raw,i=k(s),r=Et(i),o=e==="entries"||e===Symbol.iterator&&r,a=e==="keys"&&r,f=s[e](...l),u=n?Vn:t?Nt:$e;return!t&&oe(i,"iterate",a?Mn:st),re(Object.create(f),{next(){const{value:p,done:m}=f.next();return m?{value:p,done:m}:{value:o?[u(p[0]),u(p[1])]:u(p),done:m}}})}}function Yt(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Vi(e,t){const n={get(s){const i=this.__v_raw,r=k(i),o=k(s);e||(Me(s,o)&&oe(r,"get",s),oe(r,"get",o));const{has:a}=Jt(r),f=t?Vn:e?Nt:$e;if(a.call(r,s))return f(i.get(s));if(a.call(r,o))return f(i.get(o));i!==r&&i.get(s)},get size(){const s=this.__v_raw;return!e&&oe(k(s),"iterate",st),s.size},has(s){const i=this.__v_raw,r=k(i),o=k(s);return e||(Me(s,o)&&oe(r,"has",s),oe(r,"has",o)),s===o?i.has(s):i.has(s)||i.has(o)},forEach(s,i){const r=this,o=r.__v_raw,a=k(o),f=t?Vn:e?Nt:$e;return!e&&oe(a,"iterate",st),o.forEach((u,p)=>s.call(i,f(u),f(p),r))}};return re(n,e?{add:Yt("add"),set:Yt("set"),delete:Yt("delete"),clear:Yt("clear")}:{add(s){const i=k(this),r=Jt(i),o=k(s),a=!t&&!Se(s)&&!Je(s)?o:s;return r.has.call(i,a)||Me(s,a)&&r.has.call(i,s)||Me(o,a)&&r.has.call(i,o)||(i.add(a),Ue(i,"add",a,a)),this},set(s,i){!t&&!Se(i)&&!Je(i)&&(i=k(i));const r=k(this),{has:o,get:a}=Jt(r);let f=o.call(r,s);f||(s=k(s),f=o.call(r,s));const u=a.call(r,s);return r.set(s,i),f?Me(i,u)&&Ue(r,"set",s,i):Ue(r,"add",s,i),this},delete(s){const i=k(this),{has:r,get:o}=Jt(i);let a=r.call(i,s);a||(s=k(s),a=r.call(i,s)),o&&o.call(i,s);const f=i.delete(s);return a&&Ue(i,"delete",s,void 0),f},clear(){const s=k(this),i=s.size!==0,r=s.clear();return i&&Ue(s,"clear",void 0,void 0),r}}),["keys","values","entries",Symbol.iterator].forEach(s=>{n[s]=Mi(s,e,t)}),n}function tl(e,t){const n=Vi(e,t);return(l,s,i)=>s==="__v_isReactive"?!e:s==="__v_isReadonly"?e:s==="__v_raw"?l:Reflect.get($(n,s)&&s in l?n:l,s,i)}const Di={get:tl(!1,!1)},Ri={get:tl(!1,!0)},Li={get:tl(!0,!1)};const gs=new WeakMap,ms=new WeakMap,vs=new WeakMap,Fi=new WeakMap;function Ni(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Ui(e){return e.__v_skip||!Object.isExtensible(e)?0:Ni(ai(e))}function nl(e){return Je(e)?e:ll(e,!1,Pi,Di,gs)}function Bi(e){return ll(e,!1,Gi,Ri,ms)}function Dn(e){return ll(e,!0,Ii,Li,vs)}function ll(e,t,n,l,s){if(!J(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const i=Ui(e);if(i===0)return e;const r=s.get(e);if(r)return r;const o=new Proxy(e,i===2?l:n);return s.set(e,o),o}function ft(e){return Je(e)?ft(e.__v_raw):!!(e&&e.__v_isReactive)}function Je(e){return!!(e&&e.__v_isReadonly)}function Se(e){return!!(e&&e.__v_isShallow)}function sl(e){return e?!!e.__v_raw:!1}function k(e){const t=e&&e.__v_raw;return t?k(t):e}function ki(e){return!$(e,"__v_skip")&&Object.isExtensible(e)&&tn(e,"__v_skip",!0),e}const $e=e=>J(e)?nl(e):e,Nt=e=>J(e)?Dn(e):e;function ae(e){return e?e.__v_isRef===!0:!1}function Y(e){return $i(e,!1)}function $i(e,t){return ae(e)?e:new Hi(e,t)}class Hi{constructor(t,n){this.dep=new Zn,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:k(t),this._value=n?t:$e(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,l=this.__v_isShallow||Se(t)||Je(t);t=l?t:k(t),Me(t,n)&&(this._rawValue=t,this._value=l?t:$e(t),this.dep.trigger())}}function ji(e){return ae(e)?e.value:e}const Ki={get:(e,t,n)=>t==="__v_raw"?e:ji(Reflect.get(e,t,n)),set:(e,t,n,l)=>{const s=e[t];return ae(s)&&!ae(n)?(s.value=n,!0):Reflect.set(e,t,n,l)}};function _s(e){return ft(e)?e:new Proxy(e,Ki)}class Wi{constructor(t,n,l){this.fn=t,this.setter=n,this._value=void 0,this.dep=new Zn(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Lt-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=l}notify(){if(this.flags|=16,!(this.flags&8)&&q!==this)return rs(this,!0),!0}get value(){const t=this.dep.track();return cs(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function qi(e,t,n=!1){let l,s;return R(e)?l=e:(l=e.get,s=e.set),new Wi(l,s,n)}const Xt={},nn=new WeakMap;let tt;function zi(e,t=!1,n=tt){if(n){let l=nn.get(n);l||nn.set(n,l=[]),l.push(e)}}function Ji(e,t,n=z){const{immediate:l,deep:s,once:i,scheduler:r,augmentJob:o,call:a}=n,f=G=>s?G:Se(G)||s===!1||s===0?We(G,1):We(G);let u,p,m,T,w=!1,S=!1;if(ae(e)?(p=()=>e.value,w=Se(e)):ft(e)?(p=()=>f(e),w=!0):D(e)?(S=!0,w=e.some(G=>ft(G)||Se(G)),p=()=>e.map(G=>{if(ae(G))return G.value;if(ft(G))return f(G);if(R(G))return a?a(G,2):G()})):R(e)?t?p=a?()=>a(e,2):e:p=()=>{if(m){Be();try{m()}finally{ke()}}const G=tt;tt=u;try{return a?a(e,3,[T]):e(T)}finally{tt=G}}:p=_e,t&&s){const G=p,Q=s===!0?1/0:s;p=()=>We(G(),Q)}const V=Si(),L=()=>{u.stop(),V&&V.active&&Kn(V.effects,u)};if(i&&t){const G=t;t=(...Q)=>{G(...Q),L()}}let P=S?new Array(e.length).fill(Xt):Xt;const B=G=>{if(!(!(u.flags&1)||!u.dirty&&!G))if(t){const Q=u.run();if(s||w||(S?Q.some((me,N)=>Me(me,P[N])):Me(Q,P))){m&&m();const me=tt;tt=u;try{const N=[Q,P===Xt?void 0:S&&P[0]===Xt?[]:P,T];P=Q,a?a(t,3,N):t(...N)}finally{tt=me}}}else u.run()};return o&&o(B),u=new ss(p),u.scheduler=r?()=>r(B,!1):B,T=G=>zi(G,!1,u),m=u.onStop=()=>{const G=nn.get(u);if(G){if(a)a(G,4);else for(const Q of G)Q();nn.delete(u)}},t?l?B(!0):P=u.run():r?r(B.bind(null,!0),!0):u.run(),L.pause=u.pause.bind(u),L.resume=u.resume.bind(u),L.stop=L,L}function We(e,t=1/0,n){if(t<=0||!J(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,ae(e))We(e.value,t,n);else if(D(e))for(let l=0;l{We(l,t,n)});else if(ci(e)){for(const l in e)We(e[l],t,n);for(const l of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,l)&&We(e[l],t,n)}return e}/** -* @vue/runtime-core v3.5.34 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/function Ht(e,t,n,l){try{return l?e(...l):e()}catch(s){hn(s,t,n)}}function Re(e,t,n,l){if(R(e)){const s=Ht(e,t,n,l);return s&&ts(s)&&s.catch(i=>{hn(i,t,n)}),s}if(D(e)){const s=[];for(let i=0;i>>1,s=de[l],i=Bt(s);i=Bt(n)?de.push(e):de.splice(Xi(t),0,e),e.flags|=1,ys()}}function ys(){ln||(ln=bs.then(xs))}function Qi(e){D(e)?dt.push(...e):Ke&&e.id===-1?Ke.splice(ut+1,0,e):e.flags&1||(dt.push(e),e.flags|=1),ys()}function Tl(e,t,n=Ce+1){for(;nBt(n)-Bt(l));if(dt.length=0,Ke){Ke.push(...t);return}for(Ke=t,ut=0;ute.id==null?e.flags&2?-1:1/0:e.id;function xs(e){try{for(Ce=0;CeVe.emit(s,...i)),St=[]):typeof window<"u"&&window.HTMLElement&&!((l=(n=window.navigator)==null?void 0:n.userAgent)!=null&&l.includes("jsdom"))?((t.__VUE_DEVTOOLS_HOOK_REPLAY__=t.__VUE_DEVTOOLS_HOOK_REPLAY__||[]).push(i=>{ws(i,t)}),setTimeout(()=>{Ve||(t.__VUE_DEVTOOLS_HOOK_REPLAY__=null,Rn=!0,St=[])},3e3)):(Rn=!0,St=[])}function Zi(e,t){gn("app:init",e,t,{Fragment:Ie,Text:Kt,Comment:it,Static:Zt})}function er(e){gn("app:unmount",e)}const tr=rl("component:added"),Ts=rl("component:updated"),nr=rl("component:removed"),lr=e=>{Ve&&typeof Ve.cleanupBuffer=="function"&&!Ve.cleanupBuffer(e)&&nr(e)};function rl(e){return t=>{gn(e,t.appContext.app,t.uid,t.parent?t.parent.uid:void 0,t)}}function sr(e,t,n){gn("component:emit",e.appContext.app,e,t,n)}let De=null,As=null;function sn(e){const t=De;return De=e,As=e&&e.type.__scopeId||null,t}function ir(e,t=De,n){if(!t||e._n)return e;const l=(...s)=>{l._d&&an(-1);const i=sn(t);let r;try{r=e(...s)}finally{sn(i),l._d&&an(1)}return __VUE_PROD_DEVTOOLS__&&Ts(t),r};return l._n=!0,l._c=!0,l._d=!0,l}function Ze(e,t,n,l){const s=e.dirs,i=t&&t.dirs;for(let r=0;r1)return n&&R(t)?t.call(l&&l.proxy):t}}const rr=Symbol.for("v-scx"),or=()=>It(rr);function Gt(e,t,n){return Os(e,t,n)}function Os(e,t,n=z){const{immediate:l,deep:s,flush:i,once:r}=n,o=re({},n),a=t&&l||!t&&i!=="post";let f;if(kt){if(i==="sync"){const T=or();f=T.__watcherHandles||(T.__watcherHandles=[])}else if(!a){const T=()=>{};return T.stop=_e,T.resume=_e,T.pause=_e,T}}const u=pe;o.call=(T,w,S)=>Re(T,u,w,S);let p=!1;i==="post"?o.scheduler=T=>{fe(T,u&&u.suspense)}:i!=="sync"&&(p=!0,o.scheduler=(T,w)=>{w?T():il(T)}),o.augmentJob=T=>{t&&(T.flags|=4),p&&(T.flags|=2,u&&(T.id=u.uid,T.i=u))};const m=Ji(e,t,o);return kt&&(f?f.push(m):a&&m()),m}function ar(e,t,n){const l=this.proxy,s=ee(e)?e.includes(".")?Cs(l,e):()=>l[e]:e.bind(l,l);let i;R(t)?i=t:(i=t.handler,n=t);const r=Wt(this),o=Os(s,i.bind(l),n);return r(),o}function Cs(e,t){const n=t.split(".");return()=>{let l=e;for(let s=0;se.__isTeleport,nt=e=>e&&(e.disabled||e.disabled===""),ur=e=>e&&(e.defer||e.defer===""),Al=e=>typeof SVGElement<"u"&&e instanceof SVGElement,El=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,Ln=(e,t)=>{const n=e&&e.to;return ee(n)?t?t(n):null:n},fr={name:"Teleport",__isTeleport:!0,process(e,t,n,l,s,i,r,o,a,f){const{mc:u,pc:p,pbc:m,o:{insert:T,querySelector:w,createText:S,createComment:V,parentNode:L}}=f,P=nt(t.props);let{dynamicChildren:B}=t;const G=(N,Z,te)=>{N.shapeFlag&16&&u(N.children,Z,te,s,i,r,o,a)},Q=(N=t)=>{const Z=nt(N.props),te=N.target=Ln(N.props,w),ge=Fn(te,N,S,T);te&&(r!=="svg"&&Al(te)?r="svg":r!=="mathml"&&El(te)&&(r="mathml"),s&&s.isCE&&(s.ce._teleportTargets||(s.ce._teleportTargets=new Set)).add(te),Z||(G(N,te,ge),xt(N,!1)))},me=N=>{const Z=()=>{if(je.get(N)===Z){if(je.delete(N),nt(N.props)){const te=L(N.el)||n;G(N,te,N.anchor),xt(N,!0)}Q(N)}};je.set(N,Z),fe(Z,i)};if(e==null){const N=t.el=S(""),Z=t.anchor=S("");if(T(N,n,l),T(Z,n,l),ur(t.props)||i&&i.pendingBranch){me(t);return}P&&(G(t,n,Z),xt(t,!0)),Q()}else{t.el=e.el;const N=t.anchor=e.anchor,Z=je.get(e);if(Z){Z.flags|=8,je.delete(e),me(t);return}t.targetStart=e.targetStart;const te=t.target=e.target,ge=t.targetAnchor=e.targetAnchor,xe=nt(e.props),Ye=xe?n:te,ot=xe?N:ge;if(r==="svg"||Al(te)?r="svg":(r==="mathml"||El(te))&&(r="mathml"),B?(m(e.dynamicChildren,B,Ye,s,i,r,o),ul(e,t,!0)):a||p(e,t,Ye,ot,s,i,r,o,!1),P)xe?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Qt(t,n,N,f,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const at=t.target=Ln(t.props,w);at&&Qt(t,at,null,f,0)}else xe&&Qt(t,te,ge,f,1);xt(t,P)}},remove(e,t,n,{um:l,o:{remove:s}},i){const{shapeFlag:r,children:o,anchor:a,targetStart:f,targetAnchor:u,target:p,props:m}=e;let T=i||!nt(m);const w=je.get(e);if(w&&(w.flags|=8,je.delete(e),T=!1),p&&(s(f),s(u)),i&&s(a),r&16)for(let S=0;SMt(S,t&&(D(t)?t[V]:t),n,l,s));return}if(Vt(l)&&!s){l.shapeFlag&512&&l.type.__asyncResolved&&l.component.subTree.component&&Mt(e,t,n,l.component.subTree);return}const i=l.shapeFlag&4?pl(l.component):l.el,r=s?null:i,{i:o,r:a}=e,f=t&&t.r,u=o.refs===z?o.refs={}:o.refs,p=o.setupState,m=k(p),T=p===z?es:S=>Ol(u,S)?!1:$(m,S),w=(S,V)=>!(V&&Ol(u,V));if(f!=null&&f!==a){if(Cl(t),ee(f))u[f]=null,T(f)&&(p[f]=null);else if(ae(f)){const S=t;w(f,S.k)&&(f.value=null),S.k&&(u[S.k]=null)}}if(R(a))Ht(a,o,12,[r,u]);else{const S=ee(a),V=ae(a);if(S||V){const L=()=>{if(e.f){const P=S?T(a)?p[a]:u[a]:w()||!e.k?a.value:u[e.k];if(s)D(P)&&Kn(P,i);else if(D(P))P.includes(i)||P.push(i);else if(S)u[a]=[i],T(a)&&(p[a]=u[a]);else{const B=[i];w(a,e.k)&&(a.value=B),e.k&&(u[e.k]=B)}}else S?(u[a]=r,T(a)&&(p[a]=r)):V&&(w(a,e.k)&&(a.value=r),e.k&&(u[e.k]=r))};if(r){const P=()=>{L(),rn.delete(e)};P.id=-1,rn.set(e,P),fe(P,n)}else Cl(e),L()}}}function Cl(e){const t=rn.get(e);t&&(t.flags|=8,rn.delete(e))}lt().requestIdleCallback;lt().cancelIdleCallback;const Vt=e=>!!e.type.__asyncLoader,Gs=e=>e.type.__isKeepAlive;function gr(e,t){Ms(e,"a",t)}function mr(e,t){Ms(e,"da",t)}function Ms(e,t,n=pe){const l=e.__wdc||(e.__wdc=()=>{let s=n;for(;s;){if(s.isDeactivated)return;s=s.parent}return e()});if(mn(t,l,n),n){let s=n.parent;for(;s&&s.parent;)Gs(s.parent.vnode)&&vr(l,t,n,s),s=s.parent}}function vr(e,t,n,l){const s=mn(t,e,l,!0);Vs(()=>{Kn(l[t],s)},n)}function mn(e,t,n=pe,l=!1){if(n){const s=n[e]||(n[e]=[]),i=t.__weh||(t.__weh=(...r)=>{Be();const o=Wt(n),a=Re(t,n,e,r);return o(),ke(),a});return l?s.unshift(i):s.push(i),i}}const He=e=>(t,n=pe)=>{(!kt||e==="sp")&&mn(e,(...l)=>t(...l),n)},_r=He("bm"),br=He("m"),yr=He("bu"),Sr=He("u"),jt=He("bum"),Vs=He("um"),xr=He("sp"),wr=He("rtg"),Tr=He("rtc");function Ar(e,t=pe){mn("ec",e,t)}const Er=Symbol.for("v-ndc"),Nn=e=>e?Xs(e)?pl(e):Nn(e.parent):null,Dt=re(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Nn(e.parent),$root:e=>Nn(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>__VUE_OPTIONS_API__?Rs(e):e.type,$forceUpdate:e=>e.f||(e.f=()=>{il(e.update)}),$nextTick:e=>e.n||(e.n=Ut.bind(e.proxy)),$watch:e=>__VUE_OPTIONS_API__?ar.bind(e):_e}),En=(e,t)=>e!==z&&!e.__isScriptSetup&&$(e,t),Or={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:l,data:s,props:i,accessCache:r,type:o,appContext:a}=e;if(t[0]!=="$"){const m=r[t];if(m!==void 0)switch(m){case 1:return l[t];case 2:return s[t];case 4:return n[t];case 3:return i[t]}else{if(En(l,t))return r[t]=1,l[t];if(__VUE_OPTIONS_API__&&s!==z&&$(s,t))return r[t]=2,s[t];if($(i,t))return r[t]=3,i[t];if(n!==z&&$(n,t))return r[t]=4,n[t];(!__VUE_OPTIONS_API__||Un)&&(r[t]=0)}}const f=Dt[t];let u,p;if(f)return t==="$attrs"&&oe(e.attrs,"get",""),f(e);if((u=o.__cssModules)&&(u=u[t]))return u;if(n!==z&&$(n,t))return r[t]=4,n[t];if(p=a.config.globalProperties,$(p,t))return p[t]},set({_:e},t,n){const{data:l,setupState:s,ctx:i}=e;return En(s,t)?(s[t]=n,!0):__VUE_OPTIONS_API__&&l!==z&&$(l,t)?(l[t]=n,!0):$(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:l,appContext:s,props:i,type:r}},o){let a;return!!(n[o]||__VUE_OPTIONS_API__&&e!==z&&o[0]!=="$"&&$(e,o)||En(t,o)||$(i,o)||$(l,o)||$(Dt,o)||$(s.config.globalProperties,o)||(a=r.__cssModules)&&a[o])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:$(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function Pl(e){return D(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let Un=!0;function Cr(e){const t=Rs(e),n=e.proxy,l=e.ctx;Un=!1,t.beforeCreate&&Il(t.beforeCreate,e,"bc");const{data:s,computed:i,methods:r,watch:o,provide:a,inject:f,created:u,beforeMount:p,mounted:m,beforeUpdate:T,updated:w,activated:S,deactivated:V,beforeDestroy:L,beforeUnmount:P,destroyed:B,unmounted:G,render:Q,renderTracked:me,renderTriggered:N,errorCaptured:Z,serverPrefetch:te,expose:ge,inheritAttrs:xe,components:Ye,directives:ot,filters:at}=t;if(f&&Pr(f,l,null),r)for(const X in r){const K=r[X];R(K)&&(l[X]=K.bind(n))}if(s){const X=s.call(n,n);J(X)&&(e.data=nl(X))}if(Un=!0,i)for(const X in i){const K=i[X],Xe=R(K)?K.bind(n,n):R(K.get)?K.get.bind(n,n):_e,qt=!R(K)&&R(K.set)?K.set.bind(n):_e,Qe=Rt({get:Xe,set:qt});Object.defineProperty(l,X,{enumerable:!0,configurable:!0,get:()=>Qe.value,set:we=>Qe.value=we})}if(o)for(const X in o)Ds(o[X],l,n,X);if(a){const X=R(a)?a.call(n):a;Reflect.ownKeys(X).forEach(K=>{Es(K,X[K])})}u&&Il(u,e,"c");function ce(X,K){D(K)?K.forEach(Xe=>X(Xe.bind(n))):K&&X(K.bind(n))}if(ce(_r,p),ce(br,m),ce(yr,T),ce(Sr,w),ce(gr,S),ce(mr,V),ce(Ar,Z),ce(Tr,me),ce(wr,N),ce(jt,P),ce(Vs,G),ce(xr,te),D(ge))if(ge.length){const X=e.exposed||(e.exposed={});ge.forEach(K=>{Object.defineProperty(X,K,{get:()=>n[K],set:Xe=>n[K]=Xe,enumerable:!0})})}else e.exposed||(e.exposed={});Q&&e.render===_e&&(e.render=Q),xe!=null&&(e.inheritAttrs=xe),Ye&&(e.components=Ye),ot&&(e.directives=ot),te&&Is(e)}function Pr(e,t,n=_e){D(e)&&(e=Bn(e));for(const l in e){const s=e[l];let i;J(s)?"default"in s?i=It(s.from||l,s.default,!0):i=It(s.from||l):i=It(s),ae(i)?Object.defineProperty(t,l,{enumerable:!0,configurable:!0,get:()=>i.value,set:r=>i.value=r}):t[l]=i}}function Il(e,t,n){Re(D(e)?e.map(l=>l.bind(t.proxy)):e.bind(t.proxy),t,n)}function Ds(e,t,n,l){let s=l.includes(".")?Cs(n,l):()=>n[l];if(ee(e)){const i=t[e];R(i)&&Gt(s,i)}else if(R(e))Gt(s,e.bind(n));else if(J(e))if(D(e))e.forEach(i=>Ds(i,t,n,l));else{const i=R(e.handler)?e.handler.bind(n):t[e.handler];R(i)&&Gt(s,i,e)}}function Rs(e){const t=e.type,{mixins:n,extends:l}=t,{mixins:s,optionsCache:i,config:{optionMergeStrategies:r}}=e.appContext,o=i.get(t);let a;return o?a=o:!s.length&&!n&&!l?a=t:(a={},s.length&&s.forEach(f=>on(a,f,r,!0)),on(a,t,r)),J(t)&&i.set(t,a),a}function on(e,t,n,l=!1){const{mixins:s,extends:i}=t;i&&on(e,i,n,!0),s&&s.forEach(r=>on(e,r,n,!0));for(const r in t)if(!(l&&r==="expose")){const o=Ir[r]||n&&n[r];e[r]=o?o(e[r],t[r]):t[r]}return e}const Ir={data:Gl,props:Ml,emits:Ml,methods:wt,computed:wt,beforeCreate:ue,created:ue,beforeMount:ue,mounted:ue,beforeUpdate:ue,updated:ue,beforeDestroy:ue,beforeUnmount:ue,destroyed:ue,unmounted:ue,activated:ue,deactivated:ue,errorCaptured:ue,serverPrefetch:ue,components:wt,directives:wt,watch:Mr,provide:Gl,inject:Gr};function Gl(e,t){return t?e?function(){return re(R(e)?e.call(this,this):e,R(t)?t.call(this,this):t)}:t:e}function Gr(e,t){return wt(Bn(e),Bn(t))}function Bn(e){if(D(e)){const t={};for(let n=0;nt==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${be(t)}Modifiers`]||e[`${rt(t)}Modifiers`];function Lr(e,t,...n){if(e.isUnmounted)return;const l=e.vnode.props||z;let s=n;const i=t.startsWith("update:"),r=i&&Rr(l,t.slice(7));r&&(r.trim&&(s=n.map(u=>ee(u)?u.trim():u)),r.number&&(s=n.map(di))),__VUE_PROD_DEVTOOLS__&&sr(e,t,s);let o,a=l[o=Sn(t)]||l[o=Sn(be(t))];!a&&i&&(a=l[o=Sn(rt(t))]),a&&Re(a,e,6,s);const f=l[o+"Once"];if(f){if(!e.emitted)e.emitted={};else if(e.emitted[o])return;e.emitted[o]=!0,Re(f,e,6,s)}}const Fr=new WeakMap;function Fs(e,t,n=!1){const l=__VUE_OPTIONS_API__&&n?Fr:t.emitsCache,s=l.get(e);if(s!==void 0)return s;const i=e.emits;let r={},o=!1;if(__VUE_OPTIONS_API__&&!R(e)){const a=f=>{const u=Fs(f,t,!0);u&&(o=!0,re(r,u))};!n&&t.mixins.length&&t.mixins.forEach(a),e.extends&&a(e.extends),e.mixins&&e.mixins.forEach(a)}return!i&&!o?(J(e)&&l.set(e,null),null):(D(i)?i.forEach(a=>r[a]=null):re(r,i),J(e)&&l.set(e,r),r)}function vn(e,t){return!e||!fn(t)?!1:(t=t.slice(2).replace(/Once$/,""),$(e,t[0].toLowerCase()+t.slice(1))||$(e,rt(t))||$(e,t))}function Vl(e){const{type:t,vnode:n,proxy:l,withProxy:s,propsOptions:[i],slots:r,attrs:o,emit:a,render:f,renderCache:u,props:p,data:m,setupState:T,ctx:w,inheritAttrs:S}=e,V=sn(e);let L,P;try{if(n.shapeFlag&4){const G=s||l,Q=G;L=Ge(f.call(Q,G,u,p,T,m,w)),P=o}else{const G=t;L=Ge(G.length>1?G(p,{attrs:o,slots:r,emit:a}):G(p,null)),P=t.props?o:Nr(o)}}catch(G){hn(G,e,1),L=ve(it)}let B=L;if(P&&S!==!1){const G=Object.keys(P),{shapeFlag:Q}=B;G.length&&Q&7&&(i&&G.some(dn)&&(P=Ur(P,i)),B=ht(B,P,!1,!0))}return n.dirs&&(B=ht(B,null,!1,!0),B.dirs=B.dirs?B.dirs.concat(n.dirs):n.dirs),n.transition&&ol(B,n.transition),L=B,sn(V),L}const Nr=e=>{let t;for(const n in e)(n==="class"||n==="style"||fn(n))&&((t||(t={}))[n]=e[n]);return t},Ur=(e,t)=>{const n={};for(const l in e)(!dn(l)||!(l.slice(9)in t))&&(n[l]=e[l]);return n};function Br(e,t,n){const{props:l,children:s,component:i}=e,{props:r,children:o,patchFlag:a}=t,f=i.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&a>=0){if(a&1024)return!0;if(a&16)return l?Dl(l,r,f):!!r;if(a&8){const u=t.dynamicProps;for(let p=0;pObject.create(Us),ks=e=>Object.getPrototypeOf(e)===Us;function $r(e,t,n,l=!1){const s={},i=Bs();e.propsDefaults=Object.create(null),$s(e,t,s,i);for(const r in e.propsOptions[0])r in s||(s[r]=void 0);n?e.props=l?s:Bi(s):e.type.props?e.props=s:e.props=i,e.attrs=i}function Hr(e,t,n,l){const{props:s,attrs:i,vnode:{patchFlag:r}}=e,o=k(s),[a]=e.propsOptions;let f=!1;if((l||r>0)&&!(r&16)){if(r&8){const u=e.vnode.dynamicProps;for(let p=0;p{a=!0;const[m,T]=Hs(p,t,!0);re(r,m),T&&o.push(...T)};!n&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!i&&!a)return J(e)&&l.set(e,At),At;if(D(i))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",cl=e=>D(e)?e.map(Ge):[Ge(e)],Kr=(e,t,n)=>{if(t._n)return t;const l=ir((...s)=>cl(t(...s)),n);return l._c=!1,l},js=(e,t,n)=>{const l=e._ctx;for(const s in e){if(al(s))continue;const i=e[s];if(R(i))t[s]=Kr(s,i,l);else if(i!=null){const r=cl(i);t[s]=()=>r}}},Ks=(e,t)=>{const n=cl(t);e.slots.default=()=>n},Ws=(e,t,n)=>{for(const l in t)(n||!al(l))&&(e[l]=t[l])},Wr=(e,t,n)=>{const l=e.slots=Bs();if(e.vnode.shapeFlag&32){const s=t._;s?(Ws(l,t,n),n&&tn(l,"_",s,!0)):js(t,l)}else t&&Ks(e,t)},qr=(e,t,n)=>{const{vnode:l,slots:s}=e;let i=!0,r=z;if(l.shapeFlag&32){const o=t._;o?n&&o===1?i=!1:Ws(s,t,n):(i=!t.$stable,js(t,s)),r=t}else t&&(Ks(e,t),r={default:1});if(i)for(const o in s)!al(o)&&r[o]==null&&delete s[o]};function zr(){typeof __VUE_OPTIONS_API__!="boolean"&&(lt().__VUE_OPTIONS_API__=!0),typeof __VUE_PROD_DEVTOOLS__!="boolean"&&(lt().__VUE_PROD_DEVTOOLS__=!1),typeof __VUE_PROD_HYDRATION_MISMATCH_DETAILS__!="boolean"&&(lt().__VUE_PROD_HYDRATION_MISMATCH_DETAILS__=!1)}const fe=Zr;function Jr(e){return Yr(e)}function Yr(e,t){zr();const n=lt();n.__VUE__=!0,__VUE_PROD_DEVTOOLS__&&ws(n.__VUE_DEVTOOLS_GLOBAL_HOOK__,n);const{insert:l,remove:s,patchProp:i,createElement:r,createText:o,createComment:a,setText:f,setElementText:u,parentNode:p,nextSibling:m,setScopeId:T=_e,insertStaticContent:w}=e,S=(c,d,g,y=null,v=null,_=null,E=void 0,A=null,x=!!d.dynamicChildren)=>{if(c===d)return;c&&!yt(c,d)&&(y=zt(c),we(c,v,_,!0),c=null),d.patchFlag===-2&&(x=!1,d.dynamicChildren=null);const{type:b,ref:I,shapeFlag:O}=d;switch(b){case Kt:V(c,d,g,y);break;case it:L(c,d,g,y);break;case Zt:c==null&&P(d,g,y,E);break;case Ie:Ye(c,d,g,y,v,_,E,A,x);break;default:O&1?Q(c,d,g,y,v,_,E,A,x):O&6?ot(c,d,g,y,v,_,E,A,x):(O&64||O&128)&&b.process(c,d,g,y,v,_,E,A,x,vt)}I!=null&&v?Mt(I,c&&c.ref,_,d||c,!d):I==null&&c&&c.ref!=null&&Mt(c.ref,null,_,c,!0)},V=(c,d,g,y)=>{if(c==null)l(d.el=o(d.children),g,y);else{const v=d.el=c.el;d.children!==c.children&&f(v,d.children)}},L=(c,d,g,y)=>{c==null?l(d.el=a(d.children||""),g,y):d.el=c.el},P=(c,d,g,y)=>{[c.el,c.anchor]=w(c.children,d,g,y,c.el,c.anchor)},B=({el:c,anchor:d},g,y)=>{let v;for(;c&&c!==d;)v=m(c),l(c,g,y),c=v;l(d,g,y)},G=({el:c,anchor:d})=>{let g;for(;c&&c!==d;)g=m(c),s(c),c=g;s(d)},Q=(c,d,g,y,v,_,E,A,x)=>{if(d.type==="svg"?E="svg":d.type==="math"&&(E="mathml"),c==null)me(d,g,y,v,_,E,A,x);else{const b=c.el&&c.el._isVueCE?c.el:null;try{b&&b._beginPatch(),te(c,d,v,_,E,A,x)}finally{b&&b._endPatch()}}},me=(c,d,g,y,v,_,E,A)=>{let x,b;const{props:I,shapeFlag:O,transition:C,dirs:M}=c;if(x=c.el=r(c.type,_,I&&I.is,I),O&8?u(x,c.children):O&16&&Z(c.children,x,null,y,v,On(c,_),E,A),M&&Ze(c,null,y,"created"),N(x,c,c.scopeId,E,y),I){for(const H in I)H!=="value"&&!Ot(H)&&i(x,H,null,I[H],_,y);"value"in I&&i(x,"value",null,I.value,_),(b=I.onVnodeBeforeMount)&&Oe(b,y,c)}__VUE_PROD_DEVTOOLS__&&(tn(x,"__vnode",c,!0),tn(x,"__vueParentComponent",y,!0)),M&&Ze(c,null,y,"beforeMount");const U=Xr(v,C);U&&C.beforeEnter(x),l(x,d,g),((b=I&&I.onVnodeMounted)||U||M)&&fe(()=>{try{b&&Oe(b,y,c),U&&C.enter(x),M&&Ze(c,null,y,"mounted")}finally{}},v)},N=(c,d,g,y,v)=>{if(g&&T(c,g),y)for(let _=0;_{for(let b=x;b{const A=d.el=c.el;__VUE_PROD_DEVTOOLS__&&(A.__vnode=d);let{patchFlag:x,dynamicChildren:b,dirs:I}=d;x|=c.patchFlag&16;const O=c.props||z,C=d.props||z;let M;if(g&&et(g,!1),(M=C.onVnodeBeforeUpdate)&&Oe(M,g,d,c),I&&Ze(d,c,g,"beforeUpdate"),g&&et(g,!0),(O.innerHTML&&C.innerHTML==null||O.textContent&&C.textContent==null)&&u(A,""),b?ge(c.dynamicChildren,b,A,g,y,On(d,v),_):E||K(c,d,A,null,g,y,On(d,v),_,!1),x>0){if(x&16)xe(A,O,C,g,v);else if(x&2&&O.class!==C.class&&i(A,"class",null,C.class,v),x&4&&i(A,"style",O.style,C.style,v),x&8){const U=d.dynamicProps;for(let H=0;H{M&&Oe(M,g,d,c),I&&Ze(d,c,g,"updated")},y)},ge=(c,d,g,y,v,_,E)=>{for(let A=0;A{if(d!==g){if(d!==z)for(const _ in d)!Ot(_)&&!(_ in g)&&i(c,_,d[_],null,v,y);for(const _ in g){if(Ot(_))continue;const E=g[_],A=d[_];E!==A&&_!=="value"&&i(c,_,A,E,v,y)}"value"in g&&i(c,"value",d.value,g.value,v)}},Ye=(c,d,g,y,v,_,E,A,x)=>{const b=d.el=c?c.el:o(""),I=d.anchor=c?c.anchor:o("");let{patchFlag:O,dynamicChildren:C,slotScopeIds:M}=d;M&&(A=A?A.concat(M):M),c==null?(l(b,g,y),l(I,g,y),Z(d.children||[],g,I,v,_,E,A,x)):O>0&&O&64&&C&&c.dynamicChildren&&c.dynamicChildren.length===C.length?(ge(c.dynamicChildren,C,g,v,_,E,A),(d.key!=null||v&&d===v.subTree)&&ul(c,d,!0)):K(c,d,g,I,v,_,E,A,x)},ot=(c,d,g,y,v,_,E,A,x)=>{d.slotScopeIds=A,c==null?d.shapeFlag&512?v.ctx.activate(d,g,y,E,x):at(d,g,y,v,_,E,x):hl(c,d,x)},at=(c,d,g,y,v,_,E)=>{const A=c.component=oo(c,y,v);if(Gs(c)&&(A.ctx.renderer=vt),co(A,!1,E),A.asyncDep){if(v&&v.registerDep(A,ce,E),!c.el){const x=A.subTree=ve(it);L(null,x,d,g),c.placeholder=x.el}}else ce(A,c,d,g,v,_,E)},hl=(c,d,g)=>{const y=d.component=c.component;if(Br(c,d,g))if(y.asyncDep&&!y.asyncResolved){X(y,d,g);return}else y.next=d,y.update();else d.el=c.el,y.vnode=d},ce=(c,d,g,y,v,_,E)=>{const A=()=>{if(c.isMounted){let{next:O,bu:C,u:M,parent:U,vnode:H}=c;{const Ae=qs(c);if(Ae){O&&(O.el=H.el,X(c,O,E)),Ae.asyncDep.then(()=>{fe(()=>{c.isUnmounted||b()},v)});return}}let W=O,ne;et(c,!1),O?(O.el=H.el,X(c,O,E)):O=H,C&&xn(C),(ne=O.props&&O.props.onVnodeBeforeUpdate)&&Oe(ne,U,O,H),et(c,!0);const se=Vl(c),Te=c.subTree;c.subTree=se,S(Te,se,p(Te.el),zt(Te),c,v,_),O.el=se.el,W===null&&kr(c,se.el),M&&fe(M,v),(ne=O.props&&O.props.onVnodeUpdated)&&fe(()=>Oe(ne,U,O,H),v),__VUE_PROD_DEVTOOLS__&&Ts(c)}else{let O;const{el:C,props:M}=d,{bm:U,m:H,parent:W,root:ne,type:se}=c,Te=Vt(d);et(c,!1),U&&xn(U),!Te&&(O=M&&M.onVnodeBeforeMount)&&Oe(O,W,d),et(c,!0);{ne.ce&&ne.ce._hasShadowRoot()&&ne.ce._injectChildStyle(se,c.parent?c.parent.type:void 0);const Ae=c.subTree=Vl(c);S(null,Ae,g,y,c,v,_),d.el=Ae.el}if(H&&fe(H,v),!Te&&(O=M&&M.onVnodeMounted)){const Ae=d;fe(()=>Oe(O,W,Ae),v)}(d.shapeFlag&256||W&&Vt(W.vnode)&&W.vnode.shapeFlag&256)&&c.a&&fe(c.a,v),c.isMounted=!0,__VUE_PROD_DEVTOOLS__&&tr(c),d=g=y=null}};c.scope.on();const x=c.effect=new ss(A);c.scope.off();const b=c.update=x.run.bind(x),I=c.job=x.runIfDirty.bind(x);I.i=c,I.id=c.uid,x.scheduler=()=>il(I),et(c,!0),b()},X=(c,d,g)=>{d.component=c;const y=c.vnode.props;c.vnode=d,c.next=null,Hr(c,d.props,y,g),qr(c,d.children,g),Be(),Tl(c),ke()},K=(c,d,g,y,v,_,E,A,x=!1)=>{const b=c&&c.children,I=c?c.shapeFlag:0,O=d.children,{patchFlag:C,shapeFlag:M}=d;if(C>0){if(C&128){qt(b,O,g,y,v,_,E,A,x);return}else if(C&256){Xe(b,O,g,y,v,_,E,A,x);return}}M&8?(I&16&&mt(b,v,_),O!==b&&u(g,O)):I&16?M&16?qt(b,O,g,y,v,_,E,A,x):mt(b,v,_,!0):(I&8&&u(g,""),M&16&&Z(O,g,y,v,_,E,A,x))},Xe=(c,d,g,y,v,_,E,A,x)=>{c=c||At,d=d||At;const b=c.length,I=d.length,O=Math.min(b,I);let C;for(C=0;CI?mt(c,v,_,!0,!1,O):Z(d,g,y,v,_,E,A,x,O)},qt=(c,d,g,y,v,_,E,A,x)=>{let b=0;const I=d.length;let O=c.length-1,C=I-1;for(;b<=O&&b<=C;){const M=c[b],U=d[b]=x?Ne(d[b]):Ge(d[b]);if(yt(M,U))S(M,U,g,null,v,_,E,A,x);else break;b++}for(;b<=O&&b<=C;){const M=c[O],U=d[C]=x?Ne(d[C]):Ge(d[C]);if(yt(M,U))S(M,U,g,null,v,_,E,A,x);else break;O--,C--}if(b>O){if(b<=C){const M=C+1,U=MC)for(;b<=O;)we(c[b],v,_,!0),b++;else{const M=b,U=b,H=new Map;for(b=U;b<=C;b++){const he=d[b]=x?Ne(d[b]):Ge(d[b]);he.key!=null&&H.set(he.key,b)}let W,ne=0;const se=C-U+1;let Te=!1,Ae=0;const _t=new Array(se);for(b=0;b=se){we(he,v,_,!0);continue}let Ee;if(he.key!=null)Ee=H.get(he.key);else for(W=U;W<=C;W++)if(_t[W-U]===0&&yt(he,d[W])){Ee=W;break}Ee===void 0?we(he,v,_,!0):(_t[Ee-U]=b+1,Ee>=Ae?Ae=Ee:Te=!0,S(he,d[Ee],g,null,v,_,E,A,x),ne++)}const vl=Te?Qr(_t):At;for(W=vl.length-1,b=se-1;b>=0;b--){const he=U+b,Ee=d[he],_l=d[he+1],bl=he+1{const{el:_,type:E,transition:A,children:x,shapeFlag:b}=c;if(b&6){Qe(c.component.subTree,d,g,y);return}if(b&128){c.suspense.move(d,g,y);return}if(b&64){E.move(c,d,g,vt);return}if(E===Ie){l(_,d,g);for(let O=0;OA.enter(_),v);else{const{leave:O,delayLeave:C,afterLeave:M}=A,U=()=>{c.ctx.isUnmounted?s(_):l(_,d,g)},H=()=>{_._isLeaving&&_[hr](!0),O(_,()=>{U(),M&&M()})};C?C(_,U,H):H()}else l(_,d,g)},we=(c,d,g,y=!1,v=!1)=>{const{type:_,props:E,ref:A,children:x,dynamicChildren:b,shapeFlag:I,patchFlag:O,dirs:C,cacheIndex:M,memo:U}=c;if(O===-2&&(v=!1),A!=null&&(Be(),Mt(A,null,g,c,!0),ke()),M!=null&&(d.renderCache[M]=void 0),I&256){d.ctx.deactivate(c);return}const H=I&1&&C,W=!Vt(c);let ne;if(W&&(ne=E&&E.onVnodeBeforeUnmount)&&Oe(ne,d,c),I&6)si(c.component,g,y);else{if(I&128){c.suspense.unmount(g,y);return}H&&Ze(c,null,d,"beforeUnmount"),I&64?c.type.remove(c,d,g,vt,y):b&&!b.hasOnce&&(_!==Ie||O>0&&O&64)?mt(b,d,g,!1,!0):(_===Ie&&O&384||!v&&I&16)&&mt(x,d,g),y&&gl(c)}const se=U!=null&&M==null;(W&&(ne=E&&E.onVnodeUnmounted)||H||se)&&fe(()=>{ne&&Oe(ne,d,c),H&&Ze(c,null,d,"unmounted"),se&&(c.el=null)},g)},gl=c=>{const{type:d,el:g,anchor:y,transition:v}=c;if(d===Ie){li(g,y);return}if(d===Zt){G(c);return}const _=()=>{s(g),v&&!v.persisted&&v.afterLeave&&v.afterLeave()};if(c.shapeFlag&1&&v&&!v.persisted){const{leave:E,delayLeave:A}=v,x=()=>E(g,_);A?A(c.el,_,x):x()}else _()},li=(c,d)=>{let g;for(;c!==d;)g=m(c),s(c),c=g;s(d)},si=(c,d,g)=>{const{bum:y,scope:v,job:_,subTree:E,um:A,m:x,a:b}=c;Ll(x),Ll(b),y&&xn(y),v.stop(),_&&(_.flags|=8,we(E,c,d,g)),A&&fe(A,d),fe(()=>{c.isUnmounted=!0},d),__VUE_PROD_DEVTOOLS__&&lr(c)},mt=(c,d,g,y=!1,v=!1,_=0)=>{for(let E=_;E{if(c.shapeFlag&6)return zt(c.component.subTree);if(c.shapeFlag&128)return c.suspense.next();const d=m(c.anchor||c.el),g=d&&d[Ps];return g?m(g):d};let yn=!1;const ml=(c,d,g)=>{let y;c==null?d._vnode&&(we(d._vnode,null,null,!0),y=d._vnode.component):S(d._vnode||null,c,d,null,null,null,g),d._vnode=c,yn||(yn=!0,Tl(y),Ss(),yn=!1)},vt={p:S,um:we,m:Qe,r:gl,mt:at,mc:Z,pc:K,pbc:ge,n:zt,o:e};return{render:ml,hydrate:void 0,createApp:Dr(ml)}}function On({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function et({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Xr(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function ul(e,t,n=!1){const l=e.children,s=t.children;if(D(l)&&D(s))for(let i=0;i>1,e[n[o]]0&&(t[l]=n[i-1]),n[i]=l)}}for(i=n.length,r=n[i-1];i-- >0;)n[i]=r,r=t[r];return n}function qs(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:qs(t)}function Ll(e){if(e)for(let t=0;te.__isSuspense;function Zr(e,t){t&&t.pendingBranch?D(e)?t.effects.push(...e):t.effects.push(e):Qi(e)}const Ie=Symbol.for("v-fgt"),Kt=Symbol.for("v-txt"),it=Symbol.for("v-cmt"),Zt=Symbol.for("v-stc");let qe=null,fl=1;function an(e,t=!1){fl+=e,e<0&&qe&&t&&(qe.hasOnce=!0)}function cn(e){return e?e.__v_isVNode===!0:!1}function yt(e,t){return e.type===t.type&&e.key===t.key}const Ys=({key:e})=>e??null,en=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?ee(e)||ae(e)||R(e)?{i:De,r:e,k:t,f:!!n}:e:null);function eo(e,t=null,n=null,l=0,s=null,i=e===Ie?0:1,r=!1,o=!1){const a={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Ys(t),ref:t&&en(t),scopeId:As,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:l,dynamicProps:s,dynamicChildren:null,appContext:null,ctx:De};return o?(dl(a,n),i&128&&e.normalize(a)):n&&(a.shapeFlag|=ee(n)?8:16),fl>0&&!r&&qe&&(a.patchFlag>0||i&6)&&a.patchFlag!==32&&qe.push(a),a}const ve=to;function to(e,t=null,n=null,l=0,s=null,i=!1){if((!e||e===Er)&&(e=it),cn(e)){const o=ht(e,t,!0);return n&&dl(o,n),fl>0&&!i&&qe&&(o.shapeFlag&6?qe[qe.indexOf(e)]=o:qe.push(o)),o.patchFlag=-2,o}if(ho(e)&&(e=e.__vccOpts),t){t=no(t);let{class:o,style:a}=t;o&&!ee(o)&&(t.class=zn(o)),J(a)&&(sl(a)&&!D(a)&&(a=re({},a)),t.style=qn(a))}const r=ee(e)?1:Js(e)?128:cr(e)?64:J(e)?4:R(e)?2:0;return eo(e,t,n,l,s,r,i,!0)}function no(e){return e?sl(e)||ks(e)?re({},e):e:null}function ht(e,t,n=!1,l=!1){const{props:s,ref:i,patchFlag:r,children:o,transition:a}=e,f=t?so(s||{},t):s,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:f,key:f&&Ys(f),ref:t&&t.ref?n&&i?D(i)?i.concat(en(t)):[i,en(t)]:en(t):i,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:o,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Ie?r===-1?16:r|16:r,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:a,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&ht(e.ssContent),ssFallback:e.ssFallback&&ht(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return a&&l&&ol(u,a.clone(u)),u}function lo(e=" ",t=0){return ve(Kt,null,e,t)}function Ge(e){return e==null||typeof e=="boolean"?ve(it):D(e)?ve(Ie,null,e.slice()):cn(e)?Ne(e):ve(Kt,null,String(e))}function Ne(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:ht(e)}function dl(e,t){let n=0;const{shapeFlag:l}=e;if(t==null)t=null;else if(D(t))n=16;else if(typeof t=="object")if(l&65){const s=t.default;s&&(s._c&&(s._d=!1),dl(e,s()),s._c&&(s._d=!0));return}else{n=32;const s=t._;!s&&!ks(t)?t._ctx=De:s===3&&De&&(De.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else R(t)?(t={default:t,_ctx:De},n=32):(t=String(t),l&64?(n=16,t=[lo(t)]):n=8);e.children=t,e.shapeFlag|=n}function so(...e){const t={};for(let n=0;npe||De;let un,$n;{const e=lt(),t=(n,l)=>{let s;return(s=e[n])||(s=e[n]=[]),s.push(l),i=>{s.length>1?s.forEach(r=>r(i)):s[0](i)}};un=t("__VUE_INSTANCE_SETTERS__",n=>pe=n),$n=t("__VUE_SSR_SETTERS__",n=>kt=n)}const Wt=e=>{const t=pe;return un(e),e.scope.on(),()=>{e.scope.off(),un(t)}},Fl=()=>{pe&&pe.scope.off(),un(null)};function Xs(e){return e.vnode.shapeFlag&4}let kt=!1;function co(e,t=!1,n=!1){t&&$n(t);const{props:l,children:s}=e.vnode,i=Xs(e);$r(e,l,i,t),Wr(e,s,n||t);const r=i?uo(e,t):void 0;return t&&$n(!1),r}function uo(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Or);const{setup:l}=n;if(l){Be();const s=e.setupContext=l.length>1?po(e):null,i=Wt(e),r=Ht(l,e,0,[e.props,s]),o=ts(r);if(ke(),i(),(o||e.sp)&&!Vt(e)&&Is(e),o){if(r.then(Fl,Fl),t)return r.then(a=>{Nl(e,a)}).catch(a=>{hn(a,e,0)});e.asyncDep=r}else Nl(e,r)}else Qs(e)}function Nl(e,t,n){R(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:J(t)&&(__VUE_PROD_DEVTOOLS__&&(e.devtoolsRawSetupState=t),e.setupState=_s(t)),Qs(e)}function Qs(e,t,n){const l=e.type;if(e.render||(e.render=l.render||_e),__VUE_OPTIONS_API__){const s=Wt(e);Be();try{Cr(e)}finally{ke(),s()}}}const fo={get(e,t){return oe(e,"get",""),e[t]}};function po(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,fo),slots:e.slots,emit:e.emit,expose:t}}function pl(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(_s(ki(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Dt)return Dt[n](e)},has(t,n){return n in t||n in Dt}})):e.proxy}function ho(e){return R(e)&&"__vccOpts"in e}const Rt=(e,t)=>qi(e,t,kt);function h(e,t,n){try{an(-1);const l=arguments.length;return l===2?J(t)&&!D(t)?cn(t)?ve(e,null,[t]):ve(e,t):ve(e,null,t):(l>3?n=Array.prototype.slice.call(arguments,2):l===3&&cn(n)&&(n=[n]),ve(e,t,n))}finally{an(1)}}const Ul="3.5.34";/** -* @vue/runtime-dom v3.5.34 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/let Hn;const Bl=typeof window<"u"&&window.trustedTypes;if(Bl)try{Hn=Bl.createPolicy("vue",{createHTML:e=>e})}catch{}const Zs=Hn?e=>Hn.createHTML(e):e=>e,go="http://www.w3.org/2000/svg",mo="http://www.w3.org/1998/Math/MathML",Fe=typeof document<"u"?document:null,kl=Fe&&Fe.createElement("template"),vo={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,l)=>{const s=t==="svg"?Fe.createElementNS(go,e):t==="mathml"?Fe.createElementNS(mo,e):n?Fe.createElement(e,{is:n}):Fe.createElement(e);return e==="select"&&l&&l.multiple!=null&&s.setAttribute("multiple",l.multiple),s},createText:e=>Fe.createTextNode(e),createComment:e=>Fe.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Fe.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,l,s,i){const r=n?n.previousSibling:t.lastChild;if(s&&(s===i||s.nextSibling))for(;t.insertBefore(s.cloneNode(!0),n),!(s===i||!(s=s.nextSibling)););else{kl.innerHTML=Zs(l==="svg"?`${e}`:l==="mathml"?`${e}`:e);const o=kl.content;if(l==="svg"||l==="mathml"){const a=o.firstChild;for(;a.firstChild;)o.appendChild(a.firstChild);o.removeChild(a)}t.insertBefore(o,n)}return[r?r.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},_o=Symbol("_vtc");function bo(e,t,n){const l=e[_o];l&&(t=(t?[t,...l]:[...l]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const $l=Symbol("_vod"),yo=Symbol("_vsh"),So=Symbol(""),xo=/(?:^|;)\s*display\s*:/;function wo(e,t,n){const l=e.style,s=ee(n);let i=!1;if(n&&!s){if(t)if(ee(t))for(const r of t.split(";")){const o=r.slice(0,r.indexOf(":")).trim();n[o]==null&&Tt(l,o,"")}else for(const r in t)n[r]==null&&Tt(l,r,"");for(const r in n){r==="display"&&(i=!0);const o=n[r];o!=null?Ao(e,r,!ee(t)&&t?t[r]:void 0,o)||Tt(l,r,o):Tt(l,r,"")}}else if(s){if(t!==n){const r=l[So];r&&(n+=";"+r),l.cssText=n,i=xo.test(n)}}else t&&e.removeAttribute("style");$l in e&&(e[$l]=i?l.display:"",e[yo]&&(l.display="none"))}const Hl=/\s*!important$/;function Tt(e,t,n){if(D(n))n.forEach(l=>Tt(e,t,l));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const l=To(e,t);Hl.test(n)?e.setProperty(rt(l),n.replace(Hl,""),"important"):e[l]=n}}const jl=["Webkit","Moz","ms"],Cn={};function To(e,t){const n=Cn[t];if(n)return n;let l=be(t);if(l!=="filter"&&l in e)return Cn[t]=l;l=ns(l);for(let s=0;sPn||(Io.then(()=>Pn=0),Pn=Date.now());function Mo(e,t){const n=l=>{if(!l._vts)l._vts=Date.now();else if(l._vts<=n.attached)return;Re(Vo(l,n.value),t,5,[l])};return n.value=e,n.attached=Go(),n}function Vo(e,t){if(D(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(l=>s=>!s._stopped&&l&&l(s))}else return t}const Yl=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Do=(e,t,n,l,s,i)=>{const r=s==="svg";t==="class"?bo(e,l,r):t==="style"?wo(e,n,l):fn(t)?dn(t)||Co(e,t,n,l,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Ro(e,t,l,r))?(ql(e,t,l),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Wl(e,t,l,r,i,t!=="value")):e._isVueCE&&(Lo(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!ee(l)))?ql(e,be(t),l,i,t):(t==="true-value"?e._trueValue=l:t==="false-value"&&(e._falseValue=l),Wl(e,t,l,r))};function Ro(e,t,n,l){if(l)return!!(t==="innerHTML"||t==="textContent"||t in e&&Yl(t)&&R(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const s=e.tagName;if(s==="IMG"||s==="VIDEO"||s==="CANVAS"||s==="SOURCE")return!1}return Yl(t)&&ee(n)?!1:t in e}function Lo(e,t){const n=e._def.props;if(!n)return!1;const l=be(t);return Array.isArray(n)?n.some(s=>be(s)===l):Object.keys(n).some(s=>be(s)===l)}const Fo=re({patchProp:Do},vo);let Xl;function No(){return Xl||(Xl=Jr(Fo))}const Uo=((...e)=>{const t=No().createApp(...e),{mount:n}=t;return t.mount=l=>{const s=ko(l);if(!s)return;const i=t._component;!R(i)&&!i.render&&!i.template&&(i.template=s.innerHTML),s.nodeType===1&&(s.textContent="");const r=n(s,!1,Bo(s));return s instanceof Element&&(s.removeAttribute("v-cloak"),s.setAttribute("data-v-app","")),r},t});function Bo(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function ko(e){return ee(e)?document.querySelector(e):e}var $o={},Ho=new Set(["primary","secondary","accent","success","warning","danger","error","info"]);function F(...e){return e.flatMap(t=>t?Array.isArray(t)?t:typeof t=="object"?Object.entries(t).filter(([,n])=>n).map(([n])=>n):[t]:[]).filter(Boolean).join(" ")}function gt(e,t="primary"){return Ho.has(e)?e:t}function le(e,t=""){if(!e)return null;const n=e.includes("ph ")||e.startsWith("ph-");n||typeof process<"u"&&$o&&console.warn(`[gnexus-ui-kit] Icon "${e}" is missing the required "ph-" prefix. Use "ph-${e}" instead.`);const l=n?e:`ph-${e}`;return h("i",{class:F("ph",l,t),"aria-hidden":"true"})}function _n(e){const t=e.target;return t.type==="checkbox"?t.checked:t.value}var jo=["a[href]","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])","[tabindex]:not([tabindex='-1'])"].join(",");function Ko(e,t){if(e.key!=="Tab"||!t)return;const n=[...t.querySelectorAll(jo)].filter(i=>!i.hasAttribute("disabled")&&i.offsetParent!==null);if(!n.length){e.preventDefault(),t.focus();return}const l=n[0],s=n[n.length-1];e.shiftKey&&document.activeElement===l?(e.preventDefault(),s.focus()):!e.shiftKey&&document.activeElement===s&&(e.preventDefault(),l.focus())}var Wo=j({name:"GnActionCard",props:{kicker:{type:String,default:""},title:{type:String,required:!0},text:{type:String,default:""}},setup(e,{slots:t}){return()=>{var n,l,s;return h("article",{class:"card action-card"},[h("div",{class:"card-content"},[(e.kicker||t.kicker)&&h("span",{class:"action-card-kicker"},((n=t.kicker)==null?void 0:n.call(t))||e.kicker),h("h3",{class:"action-card-title"},((l=t.title)==null?void 0:l.call(t))||e.title),(e.text||t.default)&&h("p",{class:"action-card-text"},((s=t.default)==null?void 0:s.call(t))||e.text),t.actions&&h("div",{class:"action-card-actions"},t.actions())])])}}}),qo=j({name:"GnActivityLog",inheritAttrs:!1,props:{items:{type:Array,default:()=>[]}},setup(e,{attrs:t,slots:n}){return()=>h("div",{...t,class:F("activity-log",t.class)},e.items.map(l=>{var s;return h("div",{class:"activity-log-row"},[h("time",{class:"activity-log-time"},l.time),h("span",{class:"activity-log-title"},((s=n[l.key])==null?void 0:s.call(n,{item:l}))||l.title),n.actions&&h("span",{},n.actions({item:l}))])}))}}),zo=j({name:"GnAvatar",inheritAttrs:!1,props:{src:{type:String,default:""},alt:{type:String,default:""},initials:{type:String,default:""},icon:{type:String,default:""},size:{type:String,default:"md"},variant:{type:String,default:"primary"},outline:{type:Boolean,default:!1},status:{type:String,default:""}},setup(e,{attrs:t}){return()=>{const n=gt(e.variant);return h("span",{...t,class:F("avatar",`avatar-${n}`,{"avatar-sm":e.size==="sm","avatar-lg":e.size==="lg","avatar-outline":e.outline,"is-online":e.status==="online","is-busy":e.status==="busy","is-offline":e.status==="offline"},t.class)},[e.src?h("img",{src:e.src,alt:e.alt}):le(e.icon)||e.initials,e.status&&h("span",{class:"avatar-status","aria-hidden":"true"})])}}}),ei=j({name:"GnBadge",inheritAttrs:!1,props:{variant:{type:String,default:"primary"},outline:{type:Boolean,default:!1}},setup(e,{attrs:t,slots:n}){return()=>{var l;const s=gt(e.variant);return h("span",{...t,class:F("badge",e.outline&&s==="primary"?"badge-primary-outline":`badge-${s}`,t.class)},(l=n.default)==null?void 0:l.call(n))}}}),bn=j({name:"GnButton",inheritAttrs:!1,props:{variant:{type:String,default:"primary"},size:{type:String,default:"md"},icon:{type:String,default:""},loading:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},type:{type:String,default:"button"}},setup(e,{attrs:t,slots:n}){return()=>{var l;const s=!!(e.icon||e.loading),i=gt(e.variant);return h("button",{...t,type:e.type,disabled:e.disabled||e.loading,class:F("btn",`btn-${i}`,{"btn-small":e.size==="sm","btn-large":e.size==="lg","with-icon":s,"loading-state":e.loading},t.class)},[e.loading?le("ph-bold ph-spinner"):le(e.icon),(l=n.default)==null?void 0:l.call(n)])}}}),Jo=j({name:"GnChip",inheritAttrs:!1,props:{variant:{type:String,default:""},icon:{type:String,default:""},selected:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},removable:{type:Boolean,default:!1},clickable:{type:Boolean,default:!1}},emits:["remove"],setup(e,{attrs:t,emit:n,slots:l}){return()=>{var s,i,r,o;const a=e.clickable?"button":"span",f=e.variant?gt(e.variant):"",u=(r=(i=(s=l.default)==null?void 0:s.call(l))==null?void 0:i[0])==null?void 0:r.children;return h(a,{...t,type:a==="button"?"button":void 0,disabled:a==="button"?e.disabled:void 0,"aria-pressed":a==="button"?String(e.selected):void 0,class:F("chip",f&&`chip-${f}`,{"chip-selected":e.selected,"chip-disabled":e.disabled},t.class)},[le(e.icon),(o=l.default)==null?void 0:o.call(l),e.removable&&h("button",{class:"chip-remove",type:"button","aria-label":u?`Remove ${u}`:"Remove",onClick:p=>{p.stopPropagation(),n("remove")}},[le("ph-x")])])}}}),Yo=j({name:"GnChipGroup",inheritAttrs:!1,setup(e,{attrs:t,slots:n}){return()=>{var l;return h("div",{...t,class:F("chip-group",t.class)},(l=n.default)==null?void 0:l.call(n))}}}),Xo=0,Qo=j({name:"GnCombobox",inheritAttrs:!1,props:{modelValue:{type:[String,Number],default:""},label:{type:String,default:""},icon:{type:String,default:""},options:{type:Array,default:()=>[]},placeholder:{type:String,default:"Search"},notFoundText:{type:String,default:"Nothing found"},state:{type:String,default:""},help:{type:String,default:""}},emits:["update:modelValue","select"],setup(e,{attrs:t,emit:n}){const l=`gn-combobox-${++Xo}`,s=`${l}-listbox`,i=Y(!1),r=Y(-1),o=Y(null),a=Rt(()=>e.options.map(w=>typeof w=="object"?w:{value:w,label:w})),f=Rt(()=>{var w;return String((w=e.modelValue)!=null?w:"").toLowerCase()}),u=Rt(()=>a.value.filter(w=>String(w.label).toLowerCase().includes(f.value))),p=w=>{w&&(n("update:modelValue",w.label),n("select",w),i.value=!1,r.value=-1)},m=w=>{u.value.length&&(i.value=!0,r.value=(r.value+w+u.value.length)%u.value.length,Ut(()=>{var S,V,L;const P=(V=(S=o.value)==null?void 0:S.closest(".form-group"))==null?void 0:V.querySelector(".advanced-select");(L=P==null?void 0:P.querySelector(".option.focus"))==null||L.scrollIntoView({block:"nearest"})}))},T=w=>{w.key==="ArrowDown"?(w.preventDefault(),m(1)):w.key==="ArrowUp"?(w.preventDefault(),m(-1)):w.key==="Enter"?(w.preventDefault(),p(u.value[r.value])):w.key==="Escape"&&(i.value=!1,r.value=-1)};return()=>h("div",{class:"form-group"},[h("label",{class:F("label",e.state)},[e.label,le(e.icon),h("input",{...t,ref:o,id:l,type:"text",value:e.modelValue,placeholder:e.placeholder,autocomplete:"off",role:"combobox","aria-autocomplete":"list","aria-expanded":i.value?"true":"false","aria-controls":s,"aria-activedescendant":r.value>=0?`${l}-option-${r.value}`:void 0,class:F("input",t.class),onFocus:()=>{i.value=!0},onBlur:()=>{setTimeout(()=>{i.value=!1},120)},onInput:w=>{r.value=-1,i.value=!0,n("update:modelValue",_n(w))},onKeydown:T})]),h("div",{class:"advanced-select-container"},[h("div",{class:F("advanced-select",{"a-show":i.value})},[h("div",{class:"popup-options-container"},[h("div",{class:F("not-found",{show:!u.value.length})},e.notFoundText),h("div",{id:s,class:F("options",{show:u.value.length}),role:"listbox"},u.value.map((w,S)=>h("div",{id:`${l}-option-${S}`,class:F("option",{focus:S===r.value}),role:"option","aria-selected":w.label===e.modelValue?"true":"false","data-value":w.value,"data-display-value":w.label,onMousedown:V=>{V.preventDefault(),p(w)}},w.label)))])])]),e.help&&h("div",{class:F("input-info",e.state==="error"&&"error")},e.help)])}}),Zo=0,ea=j({name:"GnModal",props:{open:{type:Boolean,default:!1},title:{type:String,default:""},closeOnBackdrop:{type:Boolean,default:!0}},emits:["update:open","close"],setup(e,{emit:t,slots:n}){const l=`gn-modal-title-${++Zo}`,s=Y(null),i=Y(!1),r=Y(!1);let o=null,a=null;const f=()=>{t("update:open",!1),t("close")},u=m=>{m.key==="Escape"?(m.preventDefault(),f()):Ko(m,s.value)},p=()=>{Ut(()=>{var m;(m=s.value)==null||m.focus()})};return Gt(()=>e.open,m=>{var T;m?(r.value=!0,i.value=!0,Ut(()=>{requestAnimationFrame(()=>{r.value=!1})}),o=document.activeElement,document.addEventListener("keydown",u),p()):(r.value=!0,document.removeEventListener("keydown",u),(T=o==null?void 0:o.focus)==null||T.call(o),o=null,a=window.setTimeout(()=>{i.value=!1,r.value=!1},300))},{flush:"post",immediate:!0}),jt(()=>{document.removeEventListener("keydown",u),window.clearTimeout(a)}),()=>{var m,T,w;return i.value?h(pr,{to:"body"},[h("div",{class:F("modal",r.value?"a-hide":"a-show"),"aria-hidden":"false"},[h("div",{class:"modal-backdrop",onClick:()=>e.closeOnBackdrop&&f()}),h("div",{ref:s,class:"modal-dialog",role:"dialog","aria-modal":"true","aria-labelledby":l,tabindex:"-1"},[h("header",{class:"modal-header"},[h("h4",{class:"modal-title",id:l},((m=n.title)==null?void 0:m.call(n))||e.title),h("button",{class:"btn-icon modal-close",type:"button","aria-label":"Close",onClick:f},[le("ph-x")])]),h("div",{class:"modal-panel"},[h("div",{class:"modal-body"},(T=n.default)==null?void 0:T.call(n)),(n.footer||n.actions)&&h("footer",{class:"modal-footer"},[(w=n.footer)==null?void 0:w.call(n),n.actions&&h("div",{class:"actions"},n.actions({close:f}))])])])])]):null}}}),ta=j({name:"GnDescriptionList",inheritAttrs:!1,props:{items:{type:Array,default:()=>[]},compact:{type:Boolean,default:!1}},setup(e,{attrs:t,slots:n}){return()=>h("dl",{...t,class:F("description-list",{"description-list-compact":e.compact},t.class)},e.items.map(l=>{var s;return h("div",{class:"description-list-row"},[h("dt",{class:"description-list-term"},l.term||l.label),h("dd",{class:F("description-list-value",l.muted&&"description-list-value-muted")},((s=n[l.key])==null?void 0:s.call(n,{item:l}))||l.value)])}))}}),na=j({name:"GnDropdown",props:{label:{type:String,default:"Actions"},icon:{type:String,default:"ph-dots-three-outline"},variant:{type:String,default:"secondary"},items:{type:Array,default:()=>[]}},emits:["select"],setup(e,{emit:t,slots:n}){const l=Y(!1),s=Y(null),i=()=>{l.value=!1,document.removeEventListener("click",r),document.removeEventListener("keydown",o)},r=u=>{s.value&&!s.value.contains(u.target)&&i()},o=u=>{u.key==="Escape"&&(u.preventDefault(),i())},a=()=>{l.value=!l.value,l.value?(setTimeout(()=>document.addEventListener("click",r),0),document.addEventListener("keydown",o)):i()},f=u=>{var p;u.disabled||((p=u.onSelect)==null||p.call(u,u),t("select",u),i())};return jt(i),()=>{var u,p;return h("div",{ref:s,class:F("dropdown",{"is-open":l.value})},[((u=n.trigger)==null?void 0:u.call(n,{open:l.value,toggle:a}))||h(bn,{variant:e.variant,icon:e.icon,"aria-expanded":l.value?"true":"false",onClick:a},()=>e.label),h("div",{class:"dropdown-menu",role:"menu"},((p=n.default)==null?void 0:p.call(n,{close:i}))||e.items.map(m=>h("button",{class:F("dropdown-item",m.danger&&"dropdown-item-danger"),type:"button",role:"menuitem",disabled:m.disabled,onClick:()=>f(m)},[le(m.icon),m.label])))])}}}),la=j({name:"GnEmptyState",inheritAttrs:!1,props:{title:{type:String,required:!0},text:{type:String,default:""},icon:{type:String,default:"ph-package"},variant:{type:String,default:""}},setup(e,{attrs:t,slots:n}){return()=>{var l,s;return h("div",{...t,class:F("empty-state",e.variant&&`empty-state-${e.variant}`,t.class)},[h("div",{class:"empty-state-icon"},[le(e.icon)]),h("h3",{class:"empty-state-title"},((l=n.title)==null?void 0:l.call(n))||e.title),(e.text||n.default)&&h("p",{class:"empty-state-text"},((s=n.default)==null?void 0:s.call(n))||e.text),n.actions&&h("div",{class:"empty-state-actions"},n.actions())])}}});function Ql(e){const t=e.name.split(".").pop();return t?t.slice(0,6).toUpperCase():"FILE"}function sa(e){if(!e.size)return"0 B";const t=["B","KB","MB","GB"],n=Math.min(Math.floor(Math.log(e.size)/Math.log(1024)),t.length-1),l=e.size/Math.pow(1024,n);return`${l.toFixed(l>=10||n===0?0:1)} ${t[n]}`}var ia=j({name:"GnFileUpload",props:{modelValue:{type:Array,default:()=>[]},title:{type:String,default:"Upload files"},description:{type:String,default:"Attach documents, archives or images."},primary:{type:String,default:"Choose files"},secondary:{type:String,default:"Images get thumbnails, other files show their type"},badge:{type:String,default:""},multiple:{type:Boolean,default:!0},accept:{type:String,default:""}},emits:["update:modelValue","change"],setup(e,{emit:t,slots:n}){const l=Y(new Map),s=f=>{const u=l.value.get(f);u&&(URL.revokeObjectURL(u),l.value.delete(f))},i=()=>{l.value.forEach(f=>URL.revokeObjectURL(f)),l.value.clear()},r=f=>{const u=Array.from(f||[]);t("update:modelValue",u),t("change",u)},o=f=>{s(e.modelValue[f]);const u=e.modelValue.filter((p,m)=>m!==f);t("update:modelValue",u),t("change",u)},a=f=>{var u;return(u=f.type)!=null&&u.startsWith("image/")?(l.value.has(f)||l.value.set(f,URL.createObjectURL(f)),l.value.get(f)):""};return Gt(()=>e.modelValue,f=>{const u=new Set(f);[...l.value.keys()].forEach(p=>{u.has(p)||s(p)})}),jt(i),()=>{var f,u;return h("div",{class:"file-upload-panel"},[h("div",{class:"file-upload-form"},[h("div",{class:"file-upload-header"},[h("div",{class:"file-upload-heading"},[h("h3",{class:"file-upload-title"},((f=n.title)==null?void 0:f.call(n))||e.title),h("p",{class:"file-upload-description"},((u=n.description)==null?void 0:u.call(n))||e.description)]),e.badge&&h(ei,{variant:"info"},()=>e.badge)]),h("label",{class:"file-upload-dropzone"},[h("span",{class:"file-upload-icon","aria-hidden":"true"},[le("ph-cloud-arrow-up")]),h("span",{class:"file-upload-body"},[h("span",{class:"file-upload-primary"},e.primary),h("span",{class:"file-upload-secondary"},e.secondary)]),h("input",{type:"file",multiple:e.multiple,accept:e.accept||void 0,onChange:p=>r(p.target.files)})]),h("div",{class:"file-upload-preview",hidden:!e.modelValue.length},e.modelValue.map((p,m)=>h("figure",{class:"file-upload-preview-item"},[h("button",{class:"file-upload-preview-remove",type:"button","aria-label":`Remove ${p.name}`,onClick:()=>o(m)},[le("ph-x")]),h("div",{class:"file-upload-preview-visual"},a(p)?h("img",{src:a(p),alt:""}):h("span",{class:"file-upload-preview-type"},Ql(p))),h("figcaption",{},[h("span",{class:"file-upload-preview-name"},p.name),h("span",{class:"file-upload-preview-meta"},`${Ql(p)} / ${sa(p)}`)])]))),n.actions&&h("div",{class:"file-upload-actions"},n.actions()),!n.actions&&e.modelValue.length>0&&h("div",{class:"file-upload-actions"},[h(bn,{variant:"secondary",size:"sm",onClick:()=>{i(),r([])}},()=>"Reset")])])])}}}),ra=j({name:"GnInput",inheritAttrs:!1,props:{modelValue:{type:[String,Number],default:""},label:{type:String,default:""},type:{type:String,default:"text"},icon:{type:String,default:""},state:{type:String,default:""},help:{type:String,default:""},bare:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(e,{attrs:t,emit:n}){return()=>{const l=h("input",{...t,type:e.type,value:e.modelValue,class:F(e.bare?"":"input",t.class),onInput:s=>n("update:modelValue",_n(s))});return e.bare?l:h("div",{class:"form-group"},[h("label",{class:F("label",e.state)},[e.label,le(e.icon),l]),e.help&&h("div",{class:F("input-info",e.state==="error"&&"error")},e.help)])}}}),oa=j({name:"GnMetricCard",inheritAttrs:!1,props:{label:{type:String,required:!0},value:{type:[String,Number],required:!0},icon:{type:String,default:"ph-chart-line-up"},delta:{type:String,default:""},negative:{type:Boolean,default:!1},meta:{type:String,default:""}},setup(e,{attrs:t,slots:n}){return()=>{var l,s,i;return h("article",{...t,class:F("card metric-card",t.class)},[h("div",{class:"card-content"},[h("div",{class:"metric-card-header"},[h("p",{class:"metric-card-label"},((l=n.label)==null?void 0:l.call(n))||e.label),h("span",{class:"metric-card-icon"},[le(e.icon)])]),h("p",{class:"metric-card-value"},((s=n.value)==null?void 0:s.call(n))||e.value),(e.delta||e.meta||n.meta)&&h("div",{class:"metric-card-meta"},[e.delta&&h("span",{class:F("metric-card-delta",{"metric-card-delta-negative":e.negative})},e.delta),((i=n.meta)==null?void 0:i.call(n))||e.meta])])])}}}),aa=j({name:"GnPageHeader",inheritAttrs:!1,props:{title:{type:String,required:!0},subtitle:{type:String,default:""},kicker:{type:String,default:""},compact:{type:Boolean,default:!1},accent:{type:Boolean,default:!1}},setup(e,{attrs:t,slots:n}){return()=>{var l,s,i;return h("header",{...t,class:F("page-header",{"page-header-compact":e.compact,"page-header-accent":e.accent},t.class)},[h("div",{class:"page-header-content"},[(e.kicker||n.kicker)&&h("div",{class:"page-header-kicker"},((l=n.kicker)==null?void 0:l.call(n))||e.kicker),h("h1",{class:"page-header-title"},((s=n.title)==null?void 0:s.call(n))||e.title),(e.subtitle||n.subtitle)&&h("p",{class:"page-header-subtitle"},((i=n.subtitle)==null?void 0:i.call(n))||e.subtitle),n.meta&&h("div",{class:"page-header-meta"},n.meta())]),n.actions&&h("div",{class:"page-header-actions"},n.actions())])}}}),ca=j({name:"GnPopover",props:{label:{type:String,default:"Details"},title:{type:String,default:""},text:{type:String,default:""},icon:{type:String,default:"ph-info"},variant:{type:String,default:"accent"}},setup(e,{slots:t}){const n=Y(!1),l=Y(null),s=()=>{n.value=!1,document.removeEventListener("click",i),document.removeEventListener("keydown",r)},i=a=>{l.value&&!l.value.contains(a.target)&&s()},r=a=>{a.key==="Escape"&&(a.preventDefault(),s())},o=()=>{n.value=!n.value,n.value?(setTimeout(()=>document.addEventListener("click",i),0),document.addEventListener("keydown",r)):s()};return jt(s),()=>{var a,f,u;return h("div",{ref:l,class:F("popover",{"is-open":n.value})},[((a=t.trigger)==null?void 0:a.call(t,{open:n.value,toggle:o}))||h(bn,{variant:e.variant,icon:e.icon,"aria-expanded":n.value?"true":"false",onClick:o},()=>e.label),h("div",{class:"popover-panel"},[(e.title||t.title)&&h("h3",{class:"popover-title"},((f=t.title)==null?void 0:f.call(t))||e.title),(e.text||t.default)&&h("p",{class:"popover-text"},((u=t.default)==null?void 0:u.call(t))||e.text)])])}}}),ti=j({name:"GnProgress",inheritAttrs:!1,props:{value:{type:Number,required:!0},max:{type:Number,default:100},label:{type:String,default:""},variant:{type:String,default:"secondary"},striped:{type:Boolean,default:!1},animated:{type:Boolean,default:!1}},setup(e,{attrs:t,slots:n}){return()=>{var l;const s=Math.max(0,Math.min(100,Math.round(e.value/e.max*100))),i=gt(e.variant,"secondary");return h("div",{...t,class:F("progress",`progress-${i}`,{"progress-striped":e.striped,"progress-animated":e.animated},t.class),style:{"--progress-value":`${s}%`}},[(e.label||n.label)&&h("div",{class:"progress-header"},[h("span",{},((l=n.label)==null?void 0:l.call(n))||e.label),h("span",{class:"progress-value"},`${s}%`)]),h("div",{class:"progress-track"},[h("span",{class:"progress-bar",role:"progressbar","aria-valuenow":e.value,"aria-valuemin":0,"aria-valuemax":e.max})])])}}}),ua=j({name:"GnProgressStages",inheritAttrs:!1,props:{items:{type:Array,default:()=>[]}},setup(e,{attrs:t}){return()=>h("div",{...t,class:F("progress-stages",t.class)},e.items.map(n=>h("div",{class:F("progress-stage",{"progress-stage-complete":n.status==="complete","progress-stage-current":n.status==="current"})},n.label||n)))}}),fa=j({name:"GnRadio",inheritAttrs:!1,props:{modelValue:{type:[String,Number,Boolean],default:""},value:{type:[String,Number,Boolean],required:!0},label:{type:String,default:""},name:{type:String,default:""},disabled:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(e,{attrs:t,emit:n,slots:l}){return()=>{var s;return h("label",{class:F("radio",t.class)},[h("input",{...t,type:"radio",name:e.name,value:e.value,checked:e.modelValue===e.value,disabled:e.disabled,onChange:()=>n("update:modelValue",e.value)}),h("span",{class:"radio-control","aria-hidden":"true"}),h("span",{class:"radio-label"},((s=l.default)==null?void 0:s.call(l))||e.label)])}}}),da=j({name:"GnRadioGroup",props:{modelValue:{type:[String,Number,Boolean],default:""},name:{type:String,default:"gn-radio-group"},label:{type:String,default:""},options:{type:Array,default:()=>[]}},emits:["update:modelValue"],setup(e,{emit:t,slots:n}){return()=>{var l;return h("div",{class:"form-group radio-group",role:"radiogroup","aria-label":e.label||void 0},[e.label&&h("div",{class:"label"},e.label),((l=n.default)==null?void 0:l.call(n))||e.options.map(s=>h(fa,{modelValue:e.modelValue,"onUpdate:modelValue":i=>t("update:modelValue",i),name:e.name,value:s.value,label:s.label,disabled:s.disabled}))])}}}),pa=j({name:"GnRange",inheritAttrs:!1,props:{modelValue:{type:[Number,String],default:0},label:{type:String,default:""},min:{type:[Number,String],default:0},max:{type:[Number,String],default:100},step:{type:[Number,String],default:1}},emits:["update:modelValue"],setup(e,{attrs:t,emit:n}){return()=>h("div",{class:"range"},[h("label",{class:"label"},[e.label,h("input",{...t,type:"range",value:e.modelValue,min:e.min,max:e.max,step:e.step,onInput:l=>n("update:modelValue",_n(l))})])])}}),ha=j({name:"GnTabs",props:{modelValue:{type:String,default:""},items:{type:Array,required:!0},compact:{type:Boolean,default:!1},vertical:{type:Boolean,default:!1},ariaLabel:{type:String,default:"Tabs"}},emits:["update:modelValue"],setup(e,{emit:t,slots:n}){const l=Rt(()=>{var a,f;return e.modelValue||((a=e.items.find(u=>!u.disabled))==null?void 0:a.id)||((f=e.items[0])==null?void 0:f.id)}),s=a=>{a.disabled||t("update:modelValue",a.id)},i=()=>e.items.filter(a=>!a.disabled),r=(a,f)=>{const u=i(),p=u.findIndex(T=>T.id===a.id),m=u[(p+f+u.length)%u.length];s(m)},o=(a,f)=>{if(a.key==="ArrowRight"||a.key==="ArrowDown")a.preventDefault(),r(f,1);else if(a.key==="ArrowLeft"||a.key==="ArrowUp")a.preventDefault(),r(f,-1);else if(a.key==="Home")a.preventDefault(),s(i()[0]);else if(a.key==="End"){a.preventDefault();const u=i();s(u[u.length-1])}};return()=>h("div",{class:F("tabs",{"tabs-compact":e.compact,"tabs-vertical":e.vertical})},[h("div",{class:"tabs-list",role:"tablist","aria-label":e.ariaLabel},e.items.map(a=>{const f=a.id===l.value,u=`${a.id}-panel`;return h("button",{class:F("tab",{"tab-active":f}),type:"button",role:"tab","aria-selected":f?"true":"false","aria-controls":u,"aria-disabled":a.disabled?"true":void 0,tabindex:f?"0":"-1",onClick:()=>s(a),onKeydown:p=>o(p,a)},[le(a.icon),a.label])})),h("div",{class:"tabs-panels"},e.items.map(a=>{var f,u;const p=a.id===l.value;return h("div",{id:`${a.id}-panel`,class:F("tab-panel",{"tab-panel-active":p}),role:"tabpanel",hidden:!p},((f=n[a.id])==null?void 0:f.call(n,{item:a,active:p}))||p&&((u=n.default)==null?void 0:u.call(n,{item:a,active:p})))}))])}}),ga=j({name:"GnSearchField",inheritAttrs:!1,props:{modelValue:{type:String,default:""},placeholder:{type:String,default:"Search"},compact:{type:Boolean,default:!0},clearable:{type:Boolean,default:!0}},emits:["update:modelValue","clear"],setup(e,{attrs:t,emit:n}){const l=()=>{n("update:modelValue",""),n("clear")};return()=>h("div",{class:F("input-group search-field",{"input-group-compact":e.compact})},[h("span",{class:"input-group-addon"},[le("ph-magnifying-glass")]),h("input",{...t,type:"search",value:e.modelValue,placeholder:e.placeholder,class:F("input-group-input",t.class),onInput:s=>n("update:modelValue",_n(s))}),e.clearable&&h("button",{class:"input-group-action",type:"button","aria-label":"Clear search",onClick:l},[le("ph-x")])])}}),ma=j({name:"GnTooltip",inheritAttrs:!1,props:{text:{type:String,default:""}},setup(e,{attrs:t,slots:n}){const l=Y(!1);return()=>{var s,i;return h("span",{...t,class:F("tooltip",{"is-open":l.value},t.class),tabindex:"0",onFocusin:()=>{l.value=!0},onFocusout:()=>{l.value=!1}},[(s=n.default)==null?void 0:s.call(n),h("span",{class:"tooltip-panel",role:"tooltip"},((i=n.panel)==null?void 0:i.call(n))||e.text)])}}}),ni=Symbol("gnexus-ui-kit-toast"),Zl={info:"ph-info",success:"ph-check-circle",warning:"ph-warning",danger:"ph-warning-octagon",error:"ph-warning-octagon",primary:"ph-info",secondary:"ph-info"},va=j({name:"GnToastProvider",props:{lifetime:{type:Number,default:4e3}},setup(e,{slots:t,expose:n}){const l=Y(null),s=Y(!1),i=Y(!1);let r=null,o=null,a=null;const f=Y(100),u=()=>{window.clearTimeout(o),window.clearInterval(a),s.value=!0,i.value=!1,o=window.setTimeout(()=>{l.value=null,s.value=!1,f.value=100,window.clearTimeout(r),r=null},300)},p=()=>{window.clearTimeout(o),window.clearTimeout(r),window.clearInterval(a),s.value=!1,i.value=!1,f.value=100,l.value=null},m=S=>{window.clearTimeout(o),window.clearInterval(a),s.value=!1,i.value=!1,f.value=100;const V=gt(S.variant||S.type||"info","info"),L=S.lifetime!==void 0?S.lifetime:e.lifetime;if(l.value={id:Date.now(),variant:V==="error"?"danger":V,title:S.title||"",text:S.text||S.message||"",icon:S.icon||Zl[V]||Zl.info,lifetime:L},window.clearTimeout(r),L!==0){const B=L/100;f.value=100,a=window.setInterval(()=>{f.value-=100/B,f.value<=0&&window.clearInterval(a)},100),r=window.setTimeout(u,L)}Ut(()=>{requestAnimationFrame(()=>{i.value=!0})})},T={show:m,close:p,info:S=>m({...S,variant:"info"}),success:S=>m({...S,variant:"success"}),warning:S=>m({...S,variant:"warning"}),danger:S=>m({...S,variant:"danger"}),error:S=>m({...S,variant:"danger"})};Es(ni,T),n(T);const w=()=>s.value?"a-hide":i.value?"a-show":"";return()=>{var S;return[(S=t.default)==null?void 0:S.call(t),l.value&&h("div",{class:F("toast",w(),`toast-${l.value.variant}`),role:"alert"},[h("div",{class:"toast-content"},[h("div",{class:"toast-header"},[le(l.value.icon),l.value.title]),l.value.text&&h("p",{class:"toast-text"},l.value.text)]),h("button",{class:"btn-icon toast-close",type:"button","aria-label":"Close",onClick:u},[le("ph-x")]),l.value.lifetime!==0&&h("div",{class:"toast-progress"},[h("div",{class:"toast-progress-bar",style:{transform:`scaleX(${Math.max(0,f.value/100)})`}})])])]}}}),_a=j({name:"GnUsageMeter",props:{title:{type:String,required:!0},value:{type:Number,required:!0},max:{type:Number,default:100},meta:{type:String,default:""}},setup(e,{slots:t}){return()=>{var n,l;const s=Math.max(0,Math.min(100,Math.round(e.value/e.max*100)));return h("section",{class:"usage-meter"},[h("h3",{class:"usage-meter-title"},[((n=t.title)==null?void 0:n.call(t))||e.title,h("span",{class:"usage-meter-value"},`${s}%`)]),h(ti,{value:e.value,max:e.max}),(e.meta||t.meta)&&h("p",{class:"usage-meter-meta"},((l=t.meta)==null?void 0:l.call(t))||e.meta)])}}});function ba(){const e=It(ni,null);if(e)return e;const t=()=>{throw new Error("GNexus UI Kit: useToast() requires near the app root.")};return{show:t,info:t,success:t,warning:t,danger:t,error:t,close:t}}const ya={components:{GnButton:bn,GnActionCard:Wo,GnActivityLog:qo,GnAvatar:zo,GnBadge:ei,GnChip:Jo,GnChipGroup:Yo,GnCombobox:Qo,GnDescriptionList:ta,GnDropdown:na,GnEmptyState:la,GnFileUpload:ia,GnInput:ra,GnMetricCard:oa,GnModal:ea,GnPopover:ca,GnPageHeader:aa,GnProgress:ti,GnProgressStages:ua,GnRadioGroup:da,GnRange:pa,GnSearchField:ga,GnTabs:ha,GnTooltip:ma,GnUsageMeter:_a},setup(){const e=Y("overview"),t=Y(!1),n=Y("Launch Plan"),l=Y(""),s=Y("auto"),i=Y(72),r=Y(""),o=Y([]),a=ba();return{activeTab:e,activity:[{key:"created",time:"10:12",title:"Workspace created"},{key:"synced",time:"10:18",title:"Tokens synced"}],details:[{key:"owner",term:"Owner",value:"Ops Console"},{key:"status",term:"Status",value:"Active"},{key:"region",term:"Region",value:"eu-central"}],files:o,mode:s,menuItems:[{label:"Edit",icon:"ph-pencil-simple"},{label:"Duplicate",icon:"ph-copy"},{label:"Delete",icon:"ph-trash",danger:!0}],modalOpen:t,name:n,assignee:r,people:[{label:"Joe",value:"joe"},{label:"James",value:"james"},{label:"Eliza",value:"eliza"},{label:"Emily",value:"emily"}],query:l,rollout:i,modes:[{label:"Auto",value:"auto"},{label:"Manual",value:"manual"},{label:"Locked",value:"locked",disabled:!0}],stages:[{label:"Created",status:"complete"},{label:"Review",status:"current"},{label:"Deploy"},{label:"Done"}],tabs:[{id:"overview",label:"Overview",icon:"ph-chart-bar"},{id:"activity",label:"Activity",icon:"ph-clock"}],save:()=>{a.success({title:"Saved",text:`${n.value} updated`}),t.value=!1}}},template:` -
- - - - -
- - - -
- -
- - - - -
- -
-
- - - - -
-
- -
-
- - - -
-
- -
- -
- -
-
- -
- -
- -
- - - -
- - - - - -
- `},Sa={components:{GnToastProvider:va,DemoScreen:ya},template:` - - - - `};Uo(Sa).mount("#app"); diff --git a/examples/vue/dist/assets/index-M2SmzNQ3.js b/examples/vue/dist/assets/index-M2SmzNQ3.js new file mode 100644 index 0000000..ace00d3 --- /dev/null +++ b/examples/vue/dist/assets/index-M2SmzNQ3.js @@ -0,0 +1,122 @@ +(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))l(s);new MutationObserver(s=>{for(const i of s)if(i.type==="childList")for(const r of i.addedNodes)r.tagName==="LINK"&&r.rel==="modulepreload"&&l(r)}).observe(document,{childList:!0,subtree:!0});function n(s){const i={};return s.integrity&&(i.integrity=s.integrity),s.referrerPolicy&&(i.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?i.credentials="include":s.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function l(s){if(s.ep)return;s.ep=!0;const i=n(s);fetch(s.href,i)}})();/** +* @vue/shared v3.5.34 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function jn(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const z={},At=[],_e=()=>{},es=()=>!1,fn=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),dn=e=>e.startsWith("onUpdate:"),re=Object.assign,Kn=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},ii=Object.prototype.hasOwnProperty,$=(e,t)=>ii.call(e,t),D=Array.isArray,Et=e=>kt(e)==="[object Map]",ri=e=>kt(e)==="[object Set]",yl=e=>kt(e)==="[object Date]",R=e=>typeof e=="function",ee=e=>typeof e=="string",ze=e=>typeof e=="symbol",J=e=>e!==null&&typeof e=="object",ts=e=>(J(e)||R(e))&&R(e.then)&&R(e.catch),oi=Object.prototype.toString,kt=e=>oi.call(e),ai=e=>kt(e).slice(8,-1),ci=e=>kt(e)==="[object Object]",Wn=e=>ee(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Ot=jn(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),pn=e=>{const t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},ui=/-\w/g,be=pn(e=>e.replace(ui,t=>t.slice(1).toUpperCase())),fi=/\B([A-Z])/g,rt=pn(e=>e.replace(fi,"-$1").toLowerCase()),ns=pn(e=>e.charAt(0).toUpperCase()+e.slice(1)),Sn=pn(e=>e?`on${ns(e)}`:""),Me=(e,t)=>!Object.is(e,t),xn=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:l,value:n})},di=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let Sl;const lt=()=>Sl||(Sl=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function qn(e){if(D(e)){const t={};for(let n=0;n{if(n){const l=n.split(hi);l.length>1&&(t[l[0].trim()]=l[1].trim())}}),t}function zn(e){let t="";if(ee(e))t=e;else if(D(e))for(let n=0;n0&&--this._on===0){if(ie===this)ie=this.prevScope;else{let t=ie;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let n,l;for(n=0,l=this.effects.length;n0)return;if(Pt){let t=Pt;for(Pt=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;Ct;){let t=Ct;for(Ct=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(l){e||(e=l)}t=n}}if(e)throw e}function os(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function as(e){let t,n=e.depsTail,l=n;for(;l;){const s=l.prevDep;l.version===-1?(l===n&&(n=s),Qn(l),xi(l)):t=l,l.dep.activeLink=l.prevActiveLink,l.prevActiveLink=void 0,l=s}e.deps=t,e.depsTail=n}function In(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(cs(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function cs(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Lt)||(e.globalVersion=Lt,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!In(e))))return;e.flags|=2;const t=e.dep,n=q,l=ye;q=e,ye=!0;try{os(e);const s=e.fn(e._value);(t.version===0||Me(s,e._value))&&(e.flags|=128,e._value=s,t.version++)}catch(s){throw t.version++,s}finally{q=n,ye=l,as(e),e.flags&=-3}}function Qn(e,t=!1){const{dep:n,prevSub:l,nextSub:s}=e;if(l&&(l.nextSub=s,e.prevSub=void 0),s&&(s.prevSub=l,e.nextSub=void 0),n.subs===e&&(n.subs=l,!l&&n.computed)){n.computed.flags&=-5;for(let i=n.computed.deps;i;i=i.nextDep)Qn(i,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function xi(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let ye=!0;const us=[];function Be(){us.push(ye),ye=!1}function ke(){const e=us.pop();ye=e===void 0?!0:e}function xl(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=q;q=void 0;try{t()}finally{q=n}}}let Lt=0;class wi{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Zn{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!q||!ye||q===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==q)n=this.activeLink=new wi(q,this),q.deps?(n.prevDep=q.depsTail,q.depsTail.nextDep=n,q.depsTail=n):q.deps=q.depsTail=n,fs(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const l=n.nextDep;l.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=l),n.prevDep=q.depsTail,n.nextDep=void 0,q.depsTail.nextDep=n,q.depsTail=n,q.deps===n&&(q.deps=l)}return n}trigger(t){this.version++,Lt++,this.notify(t)}notify(t){Yn();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{Xn()}}}function fs(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let l=t.deps;l;l=l.nextDep)fs(l)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const Gn=new WeakMap,st=Symbol(""),Mn=Symbol(""),Ft=Symbol("");function oe(e,t,n){if(ye&&q){let l=Gn.get(e);l||Gn.set(e,l=new Map);let s=l.get(n);s||(l.set(n,s=new Zn),s.map=l,s.key=n),s.track()}}function Ue(e,t,n,l,s,i){const r=Gn.get(e);if(!r){Lt++;return}const a=o=>{o&&o.trigger()};if(Yn(),t==="clear")r.forEach(a);else{const o=D(e),f=o&&Wn(n);if(o&&n==="length"){const u=Number(l);r.forEach((p,m)=>{(m==="length"||m===Ft||!ze(m)&&m>=u)&&a(p)})}else switch((n!==void 0||r.has(void 0))&&a(r.get(n)),f&&a(r.get(Ft)),t){case"add":o?f&&a(r.get("length")):(a(r.get(st)),Et(e)&&a(r.get(Mn)));break;case"delete":o||(a(r.get(st)),Et(e)&&a(r.get(Mn)));break;case"set":Et(e)&&a(r.get(st));break}}Xn()}function ct(e){const t=k(e);return t===e?t:(oe(t,"iterate",Ft),Se(e)?t:t.map($e))}function el(e){return oe(e=k(e),"iterate",Ft),e}function Pe(e,t){return Je(e)?Nt(ft(e)?$e(t):t):$e(t)}const Ti={__proto__:null,[Symbol.iterator](){return Tn(this,Symbol.iterator,e=>Pe(this,e))},concat(...e){return ct(this).concat(...e.map(t=>D(t)?ct(t):t))},entries(){return Tn(this,"entries",e=>(e[1]=Pe(this,e[1]),e))},every(e,t){return Le(this,"every",e,t,void 0,arguments)},filter(e,t){return Le(this,"filter",e,t,n=>n.map(l=>Pe(this,l)),arguments)},find(e,t){return Le(this,"find",e,t,n=>Pe(this,n),arguments)},findIndex(e,t){return Le(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Le(this,"findLast",e,t,n=>Pe(this,n),arguments)},findLastIndex(e,t){return Le(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Le(this,"forEach",e,t,void 0,arguments)},includes(...e){return An(this,"includes",e)},indexOf(...e){return An(this,"indexOf",e)},join(e){return ct(this).join(e)},lastIndexOf(...e){return An(this,"lastIndexOf",e)},map(e,t){return Le(this,"map",e,t,void 0,arguments)},pop(){return bt(this,"pop")},push(...e){return bt(this,"push",e)},reduce(e,...t){return wl(this,"reduce",e,t)},reduceRight(e,...t){return wl(this,"reduceRight",e,t)},shift(){return bt(this,"shift")},some(e,t){return Le(this,"some",e,t,void 0,arguments)},splice(...e){return bt(this,"splice",e)},toReversed(){return ct(this).toReversed()},toSorted(e){return ct(this).toSorted(e)},toSpliced(...e){return ct(this).toSpliced(...e)},unshift(...e){return bt(this,"unshift",e)},values(){return Tn(this,"values",e=>Pe(this,e))}};function Tn(e,t,n){const l=el(e),s=l[t]();return l!==e&&!Se(e)&&(s._next=s.next,s.next=()=>{const i=s._next();return i.done||(i.value=n(i.value)),i}),s}const Ai=Array.prototype;function Le(e,t,n,l,s,i){const r=el(e),a=r!==e&&!Se(e),o=r[t];if(o!==Ai[t]){const p=o.apply(e,i);return a?$e(p):p}let f=n;r!==e&&(a?f=function(p,m){return n.call(this,Pe(e,p),m,e)}:n.length>2&&(f=function(p,m){return n.call(this,p,m,e)}));const u=o.call(r,f,l);return a&&s?s(u):u}function wl(e,t,n,l){const s=el(e),i=s!==e&&!Se(e);let r=n,a=!1;s!==e&&(i?(a=l.length===0,r=function(f,u,p){return a&&(a=!1,f=Pe(e,f)),n.call(this,f,Pe(e,u),p,e)}):n.length>3&&(r=function(f,u,p){return n.call(this,f,u,p,e)}));const o=s[t](r,...l);return a?Pe(e,o):o}function An(e,t,n){const l=k(e);oe(l,"iterate",Ft);const s=l[t](...n);return(s===-1||s===!1)&&sl(n[0])?(n[0]=k(n[0]),l[t](...n)):s}function bt(e,t,n=[]){Be(),Yn();const l=k(e)[t].apply(e,n);return Xn(),ke(),l}const Ei=jn("__proto__,__v_isRef,__isVue"),ds=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(ze));function Oi(e){ze(e)||(e=String(e));const t=k(this);return oe(t,"has",e),t.hasOwnProperty(e)}class ps{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,l){if(n==="__v_skip")return t.__v_skip;const s=this._isReadonly,i=this._isShallow;if(n==="__v_isReactive")return!s;if(n==="__v_isReadonly")return s;if(n==="__v_isShallow")return i;if(n==="__v_raw")return l===(s?i?Fi:vs:i?ms:gs).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(l)?t:void 0;const r=D(t);if(!s){let o;if(r&&(o=Ti[n]))return o;if(n==="hasOwnProperty")return Oi}const a=Reflect.get(t,n,ae(t)?t:l);if((ze(n)?ds.has(n):Ei(n))||(s||oe(t,"get",n),i))return a;if(ae(a)){const o=r&&Wn(n)?a:a.value;return s&&J(o)?Dn(o):o}return J(a)?s?Dn(a):nl(a):a}}class hs extends ps{constructor(t=!1){super(!1,t)}set(t,n,l,s){let i=t[n];const r=D(t)&&Wn(n);if(!this._isShallow){const f=Je(i);if(!Se(l)&&!Je(l)&&(i=k(i),l=k(l)),!r&&ae(i)&&!ae(l))return f||(i.value=l),!0}const a=r?Number(n)e,Jt=e=>Reflect.getPrototypeOf(e);function Mi(e,t,n){return function(...l){const s=this.__v_raw,i=k(s),r=Et(i),a=e==="entries"||e===Symbol.iterator&&r,o=e==="keys"&&r,f=s[e](...l),u=n?Vn:t?Nt:$e;return!t&&oe(i,"iterate",o?Mn:st),re(Object.create(f),{next(){const{value:p,done:m}=f.next();return m?{value:p,done:m}:{value:a?[u(p[0]),u(p[1])]:u(p),done:m}}})}}function Yt(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Vi(e,t){const n={get(s){const i=this.__v_raw,r=k(i),a=k(s);e||(Me(s,a)&&oe(r,"get",s),oe(r,"get",a));const{has:o}=Jt(r),f=t?Vn:e?Nt:$e;if(o.call(r,s))return f(i.get(s));if(o.call(r,a))return f(i.get(a));i!==r&&i.get(s)},get size(){const s=this.__v_raw;return!e&&oe(k(s),"iterate",st),s.size},has(s){const i=this.__v_raw,r=k(i),a=k(s);return e||(Me(s,a)&&oe(r,"has",s),oe(r,"has",a)),s===a?i.has(s):i.has(s)||i.has(a)},forEach(s,i){const r=this,a=r.__v_raw,o=k(a),f=t?Vn:e?Nt:$e;return!e&&oe(o,"iterate",st),a.forEach((u,p)=>s.call(i,f(u),f(p),r))}};return re(n,e?{add:Yt("add"),set:Yt("set"),delete:Yt("delete"),clear:Yt("clear")}:{add(s){const i=k(this),r=Jt(i),a=k(s),o=!t&&!Se(s)&&!Je(s)?a:s;return r.has.call(i,o)||Me(s,o)&&r.has.call(i,s)||Me(a,o)&&r.has.call(i,a)||(i.add(o),Ue(i,"add",o,o)),this},set(s,i){!t&&!Se(i)&&!Je(i)&&(i=k(i));const r=k(this),{has:a,get:o}=Jt(r);let f=a.call(r,s);f||(s=k(s),f=a.call(r,s));const u=o.call(r,s);return r.set(s,i),f?Me(i,u)&&Ue(r,"set",s,i):Ue(r,"add",s,i),this},delete(s){const i=k(this),{has:r,get:a}=Jt(i);let o=r.call(i,s);o||(s=k(s),o=r.call(i,s)),a&&a.call(i,s);const f=i.delete(s);return o&&Ue(i,"delete",s,void 0),f},clear(){const s=k(this),i=s.size!==0,r=s.clear();return i&&Ue(s,"clear",void 0,void 0),r}}),["keys","values","entries",Symbol.iterator].forEach(s=>{n[s]=Mi(s,e,t)}),n}function tl(e,t){const n=Vi(e,t);return(l,s,i)=>s==="__v_isReactive"?!e:s==="__v_isReadonly"?e:s==="__v_raw"?l:Reflect.get($(n,s)&&s in l?n:l,s,i)}const Di={get:tl(!1,!1)},Ri={get:tl(!1,!0)},Li={get:tl(!0,!1)};const gs=new WeakMap,ms=new WeakMap,vs=new WeakMap,Fi=new WeakMap;function Ni(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Ui(e){return e.__v_skip||!Object.isExtensible(e)?0:Ni(ai(e))}function nl(e){return Je(e)?e:ll(e,!1,Pi,Di,gs)}function Bi(e){return ll(e,!1,Gi,Ri,ms)}function Dn(e){return ll(e,!0,Ii,Li,vs)}function ll(e,t,n,l,s){if(!J(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const i=Ui(e);if(i===0)return e;const r=s.get(e);if(r)return r;const a=new Proxy(e,i===2?l:n);return s.set(e,a),a}function ft(e){return Je(e)?ft(e.__v_raw):!!(e&&e.__v_isReactive)}function Je(e){return!!(e&&e.__v_isReadonly)}function Se(e){return!!(e&&e.__v_isShallow)}function sl(e){return e?!!e.__v_raw:!1}function k(e){const t=e&&e.__v_raw;return t?k(t):e}function ki(e){return!$(e,"__v_skip")&&Object.isExtensible(e)&&tn(e,"__v_skip",!0),e}const $e=e=>J(e)?nl(e):e,Nt=e=>J(e)?Dn(e):e;function ae(e){return e?e.__v_isRef===!0:!1}function Y(e){return $i(e,!1)}function $i(e,t){return ae(e)?e:new Hi(e,t)}class Hi{constructor(t,n){this.dep=new Zn,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:k(t),this._value=n?t:$e(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,l=this.__v_isShallow||Se(t)||Je(t);t=l?t:k(t),Me(t,n)&&(this._rawValue=t,this._value=l?t:$e(t),this.dep.trigger())}}function ji(e){return ae(e)?e.value:e}const Ki={get:(e,t,n)=>t==="__v_raw"?e:ji(Reflect.get(e,t,n)),set:(e,t,n,l)=>{const s=e[t];return ae(s)&&!ae(n)?(s.value=n,!0):Reflect.set(e,t,n,l)}};function _s(e){return ft(e)?e:new Proxy(e,Ki)}class Wi{constructor(t,n,l){this.fn=t,this.setter=n,this._value=void 0,this.dep=new Zn(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Lt-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=l}notify(){if(this.flags|=16,!(this.flags&8)&&q!==this)return rs(this,!0),!0}get value(){const t=this.dep.track();return cs(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function qi(e,t,n=!1){let l,s;return R(e)?l=e:(l=e.get,s=e.set),new Wi(l,s,n)}const Xt={},nn=new WeakMap;let tt;function zi(e,t=!1,n=tt){if(n){let l=nn.get(n);l||nn.set(n,l=[]),l.push(e)}}function Ji(e,t,n=z){const{immediate:l,deep:s,once:i,scheduler:r,augmentJob:a,call:o}=n,f=G=>s?G:Se(G)||s===!1||s===0?We(G,1):We(G);let u,p,m,A,S=!1,x=!1;if(ae(e)?(p=()=>e.value,S=Se(e)):ft(e)?(p=()=>f(e),S=!0):D(e)?(x=!0,S=e.some(G=>ft(G)||Se(G)),p=()=>e.map(G=>{if(ae(G))return G.value;if(ft(G))return f(G);if(R(G))return o?o(G,2):G()})):R(e)?t?p=o?()=>o(e,2):e:p=()=>{if(m){Be();try{m()}finally{ke()}}const G=tt;tt=u;try{return o?o(e,3,[A]):e(A)}finally{tt=G}}:p=_e,t&&s){const G=p,Q=s===!0?1/0:s;p=()=>We(G(),Q)}const M=Si(),L=()=>{u.stop(),M&&M.active&&Kn(M.effects,u)};if(i&&t){const G=t;t=(...Q)=>{G(...Q),L()}}let P=x?new Array(e.length).fill(Xt):Xt;const B=G=>{if(!(!(u.flags&1)||!u.dirty&&!G))if(t){const Q=u.run();if(s||S||(x?Q.some((me,N)=>Me(me,P[N])):Me(Q,P))){m&&m();const me=tt;tt=u;try{const N=[Q,P===Xt?void 0:x&&P[0]===Xt?[]:P,A];P=Q,o?o(t,3,N):t(...N)}finally{tt=me}}}else u.run()};return a&&a(B),u=new ss(p),u.scheduler=r?()=>r(B,!1):B,A=G=>zi(G,!1,u),m=u.onStop=()=>{const G=nn.get(u);if(G){if(o)o(G,4);else for(const Q of G)Q();nn.delete(u)}},t?l?B(!0):P=u.run():r?r(B.bind(null,!0),!0):u.run(),L.pause=u.pause.bind(u),L.resume=u.resume.bind(u),L.stop=L,L}function We(e,t=1/0,n){if(t<=0||!J(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,ae(e))We(e.value,t,n);else if(D(e))for(let l=0;l{We(l,t,n)});else if(ci(e)){for(const l in e)We(e[l],t,n);for(const l of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,l)&&We(e[l],t,n)}return e}/** +* @vue/runtime-core v3.5.34 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function $t(e,t,n,l){try{return l?e(...l):e()}catch(s){hn(s,t,n)}}function Re(e,t,n,l){if(R(e)){const s=$t(e,t,n,l);return s&&ts(s)&&s.catch(i=>{hn(i,t,n)}),s}if(D(e)){const s=[];for(let i=0;i>>1,s=de[l],i=Ut(s);i=Ut(n)?de.push(e):de.splice(Xi(t),0,e),e.flags|=1,ys()}}function ys(){ln||(ln=bs.then(xs))}function Qi(e){D(e)?dt.push(...e):Ke&&e.id===-1?Ke.splice(ut+1,0,e):e.flags&1||(dt.push(e),e.flags|=1),ys()}function Tl(e,t,n=Ce+1){for(;nUt(n)-Ut(l));if(dt.length=0,Ke){Ke.push(...t);return}for(Ke=t,ut=0;ute.id==null?e.flags&2?-1:1/0:e.id;function xs(e){try{for(Ce=0;CeVe.emit(s,...i)),St=[]):typeof window<"u"&&window.HTMLElement&&!((l=(n=window.navigator)==null?void 0:n.userAgent)!=null&&l.includes("jsdom"))?((t.__VUE_DEVTOOLS_HOOK_REPLAY__=t.__VUE_DEVTOOLS_HOOK_REPLAY__||[]).push(i=>{ws(i,t)}),setTimeout(()=>{Ve||(t.__VUE_DEVTOOLS_HOOK_REPLAY__=null,Rn=!0,St=[])},3e3)):(Rn=!0,St=[])}function Zi(e,t){gn("app:init",e,t,{Fragment:Ie,Text:Kt,Comment:it,Static:Zt})}function er(e){gn("app:unmount",e)}const tr=rl("component:added"),Ts=rl("component:updated"),nr=rl("component:removed"),lr=e=>{Ve&&typeof Ve.cleanupBuffer=="function"&&!Ve.cleanupBuffer(e)&&nr(e)};function rl(e){return t=>{gn(e,t.appContext.app,t.uid,t.parent?t.parent.uid:void 0,t)}}function sr(e,t,n){gn("component:emit",e.appContext.app,e,t,n)}let De=null,As=null;function sn(e){const t=De;return De=e,As=e&&e.type.__scopeId||null,t}function ir(e,t=De,n){if(!t||e._n)return e;const l=(...s)=>{l._d&&an(-1);const i=sn(t);let r;try{r=e(...s)}finally{sn(i),l._d&&an(1)}return __VUE_PROD_DEVTOOLS__&&Ts(t),r};return l._n=!0,l._c=!0,l._d=!0,l}function Ze(e,t,n,l){const s=e.dirs,i=t&&t.dirs;for(let r=0;r1)return n&&R(t)?t.call(l&&l.proxy):t}}const rr=Symbol.for("v-scx"),or=()=>It(rr);function Gt(e,t,n){return Os(e,t,n)}function Os(e,t,n=z){const{immediate:l,deep:s,flush:i,once:r}=n,a=re({},n),o=t&&l||!t&&i!=="post";let f;if(Bt){if(i==="sync"){const A=or();f=A.__watcherHandles||(A.__watcherHandles=[])}else if(!o){const A=()=>{};return A.stop=_e,A.resume=_e,A.pause=_e,A}}const u=pe;a.call=(A,S,x)=>Re(A,u,S,x);let p=!1;i==="post"?a.scheduler=A=>{fe(A,u&&u.suspense)}:i!=="sync"&&(p=!0,a.scheduler=(A,S)=>{S?A():il(A)}),a.augmentJob=A=>{t&&(A.flags|=4),p&&(A.flags|=2,u&&(A.id=u.uid,A.i=u))};const m=Ji(e,t,a);return Bt&&(f?f.push(m):o&&m()),m}function ar(e,t,n){const l=this.proxy,s=ee(e)?e.includes(".")?Cs(l,e):()=>l[e]:e.bind(l,l);let i;R(t)?i=t:(i=t.handler,n=t);const r=Wt(this),a=Os(s,i.bind(l),n);return r(),a}function Cs(e,t){const n=t.split(".");return()=>{let l=e;for(let s=0;se.__isTeleport,nt=e=>e&&(e.disabled||e.disabled===""),ur=e=>e&&(e.defer||e.defer===""),Al=e=>typeof SVGElement<"u"&&e instanceof SVGElement,El=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,Ln=(e,t)=>{const n=e&&e.to;return ee(n)?t?t(n):null:n},fr={name:"Teleport",__isTeleport:!0,process(e,t,n,l,s,i,r,a,o,f){const{mc:u,pc:p,pbc:m,o:{insert:A,querySelector:S,createText:x,createComment:M,parentNode:L}}=f,P=nt(t.props);let{dynamicChildren:B}=t;const G=(N,Z,te)=>{N.shapeFlag&16&&u(N.children,Z,te,s,i,r,a,o)},Q=(N=t)=>{const Z=nt(N.props),te=N.target=Ln(N.props,S),ge=Fn(te,N,x,A);te&&(r!=="svg"&&Al(te)?r="svg":r!=="mathml"&&El(te)&&(r="mathml"),s&&s.isCE&&(s.ce._teleportTargets||(s.ce._teleportTargets=new Set)).add(te),Z||(G(N,te,ge),xt(N,!1)))},me=N=>{const Z=()=>{if(je.get(N)===Z){if(je.delete(N),nt(N.props)){const te=L(N.el)||n;G(N,te,N.anchor),xt(N,!0)}Q(N)}};je.set(N,Z),fe(Z,i)};if(e==null){const N=t.el=x(""),Z=t.anchor=x("");if(A(N,n,l),A(Z,n,l),ur(t.props)||i&&i.pendingBranch){me(t);return}P&&(G(t,n,Z),xt(t,!0)),Q()}else{t.el=e.el;const N=t.anchor=e.anchor,Z=je.get(e);if(Z){Z.flags|=8,je.delete(e),me(t);return}t.targetStart=e.targetStart;const te=t.target=e.target,ge=t.targetAnchor=e.targetAnchor,xe=nt(e.props),Ye=xe?n:te,ot=xe?N:ge;if(r==="svg"||Al(te)?r="svg":(r==="mathml"||El(te))&&(r="mathml"),B?(m(e.dynamicChildren,B,Ye,s,i,r,a),ul(e,t,!0)):o||p(e,t,Ye,ot,s,i,r,a,!1),P)xe?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Qt(t,n,N,f,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const at=t.target=Ln(t.props,S);at&&Qt(t,at,null,f,0)}else xe&&Qt(t,te,ge,f,1);xt(t,P)}},remove(e,t,n,{um:l,o:{remove:s}},i){const{shapeFlag:r,children:a,anchor:o,targetStart:f,targetAnchor:u,target:p,props:m}=e;let A=i||!nt(m);const S=je.get(e);if(S&&(S.flags|=8,je.delete(e),A=!1),p&&(s(f),s(u)),i&&s(o),r&16)for(let x=0;xMt(x,t&&(D(t)?t[M]:t),n,l,s));return}if(Vt(l)&&!s){l.shapeFlag&512&&l.type.__asyncResolved&&l.component.subTree.component&&Mt(e,t,n,l.component.subTree);return}const i=l.shapeFlag&4?pl(l.component):l.el,r=s?null:i,{i:a,r:o}=e,f=t&&t.r,u=a.refs===z?a.refs={}:a.refs,p=a.setupState,m=k(p),A=p===z?es:x=>Ol(u,x)?!1:$(m,x),S=(x,M)=>!(M&&Ol(u,M));if(f!=null&&f!==o){if(Cl(t),ee(f))u[f]=null,A(f)&&(p[f]=null);else if(ae(f)){const x=t;S(f,x.k)&&(f.value=null),x.k&&(u[x.k]=null)}}if(R(o))$t(o,a,12,[r,u]);else{const x=ee(o),M=ae(o);if(x||M){const L=()=>{if(e.f){const P=x?A(o)?p[o]:u[o]:S()||!e.k?o.value:u[e.k];if(s)D(P)&&Kn(P,i);else if(D(P))P.includes(i)||P.push(i);else if(x)u[o]=[i],A(o)&&(p[o]=u[o]);else{const B=[i];S(o,e.k)&&(o.value=B),e.k&&(u[e.k]=B)}}else x?(u[o]=r,A(o)&&(p[o]=r)):M&&(S(o,e.k)&&(o.value=r),e.k&&(u[e.k]=r))};if(r){const P=()=>{L(),rn.delete(e)};P.id=-1,rn.set(e,P),fe(P,n)}else Cl(e),L()}}}function Cl(e){const t=rn.get(e);t&&(t.flags|=8,rn.delete(e))}lt().requestIdleCallback;lt().cancelIdleCallback;const Vt=e=>!!e.type.__asyncLoader,Gs=e=>e.type.__isKeepAlive;function gr(e,t){Ms(e,"a",t)}function mr(e,t){Ms(e,"da",t)}function Ms(e,t,n=pe){const l=e.__wdc||(e.__wdc=()=>{let s=n;for(;s;){if(s.isDeactivated)return;s=s.parent}return e()});if(mn(t,l,n),n){let s=n.parent;for(;s&&s.parent;)Gs(s.parent.vnode)&&vr(l,t,n,s),s=s.parent}}function vr(e,t,n,l){const s=mn(t,e,l,!0);Vs(()=>{Kn(l[t],s)},n)}function mn(e,t,n=pe,l=!1){if(n){const s=n[e]||(n[e]=[]),i=t.__weh||(t.__weh=(...r)=>{Be();const a=Wt(n),o=Re(t,n,e,r);return a(),ke(),o});return l?s.unshift(i):s.push(i),i}}const He=e=>(t,n=pe)=>{(!Bt||e==="sp")&&mn(e,(...l)=>t(...l),n)},_r=He("bm"),br=He("m"),yr=He("bu"),Sr=He("u"),jt=He("bum"),Vs=He("um"),xr=He("sp"),wr=He("rtg"),Tr=He("rtc");function Ar(e,t=pe){mn("ec",e,t)}const Er=Symbol.for("v-ndc"),Nn=e=>e?Xs(e)?pl(e):Nn(e.parent):null,Dt=re(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Nn(e.parent),$root:e=>Nn(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>__VUE_OPTIONS_API__?Rs(e):e.type,$forceUpdate:e=>e.f||(e.f=()=>{il(e.update)}),$nextTick:e=>e.n||(e.n=Ht.bind(e.proxy)),$watch:e=>__VUE_OPTIONS_API__?ar.bind(e):_e}),En=(e,t)=>e!==z&&!e.__isScriptSetup&&$(e,t),Or={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:l,data:s,props:i,accessCache:r,type:a,appContext:o}=e;if(t[0]!=="$"){const m=r[t];if(m!==void 0)switch(m){case 1:return l[t];case 2:return s[t];case 4:return n[t];case 3:return i[t]}else{if(En(l,t))return r[t]=1,l[t];if(__VUE_OPTIONS_API__&&s!==z&&$(s,t))return r[t]=2,s[t];if($(i,t))return r[t]=3,i[t];if(n!==z&&$(n,t))return r[t]=4,n[t];(!__VUE_OPTIONS_API__||Un)&&(r[t]=0)}}const f=Dt[t];let u,p;if(f)return t==="$attrs"&&oe(e.attrs,"get",""),f(e);if((u=a.__cssModules)&&(u=u[t]))return u;if(n!==z&&$(n,t))return r[t]=4,n[t];if(p=o.config.globalProperties,$(p,t))return p[t]},set({_:e},t,n){const{data:l,setupState:s,ctx:i}=e;return En(s,t)?(s[t]=n,!0):__VUE_OPTIONS_API__&&l!==z&&$(l,t)?(l[t]=n,!0):$(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:l,appContext:s,props:i,type:r}},a){let o;return!!(n[a]||__VUE_OPTIONS_API__&&e!==z&&a[0]!=="$"&&$(e,a)||En(t,a)||$(i,a)||$(l,a)||$(Dt,a)||$(s.config.globalProperties,a)||(o=r.__cssModules)&&o[a])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:$(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function Pl(e){return D(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let Un=!0;function Cr(e){const t=Rs(e),n=e.proxy,l=e.ctx;Un=!1,t.beforeCreate&&Il(t.beforeCreate,e,"bc");const{data:s,computed:i,methods:r,watch:a,provide:o,inject:f,created:u,beforeMount:p,mounted:m,beforeUpdate:A,updated:S,activated:x,deactivated:M,beforeDestroy:L,beforeUnmount:P,destroyed:B,unmounted:G,render:Q,renderTracked:me,renderTriggered:N,errorCaptured:Z,serverPrefetch:te,expose:ge,inheritAttrs:xe,components:Ye,directives:ot,filters:at}=t;if(f&&Pr(f,l,null),r)for(const X in r){const K=r[X];R(K)&&(l[X]=K.bind(n))}if(s){const X=s.call(n,n);J(X)&&(e.data=nl(X))}if(Un=!0,i)for(const X in i){const K=i[X],Xe=R(K)?K.bind(n,n):R(K.get)?K.get.bind(n,n):_e,qt=!R(K)&&R(K.set)?K.set.bind(n):_e,Qe=Rt({get:Xe,set:qt});Object.defineProperty(l,X,{enumerable:!0,configurable:!0,get:()=>Qe.value,set:we=>Qe.value=we})}if(a)for(const X in a)Ds(a[X],l,n,X);if(o){const X=R(o)?o.call(n):o;Reflect.ownKeys(X).forEach(K=>{Es(K,X[K])})}u&&Il(u,e,"c");function ce(X,K){D(K)?K.forEach(Xe=>X(Xe.bind(n))):K&&X(K.bind(n))}if(ce(_r,p),ce(br,m),ce(yr,A),ce(Sr,S),ce(gr,x),ce(mr,M),ce(Ar,Z),ce(Tr,me),ce(wr,N),ce(jt,P),ce(Vs,G),ce(xr,te),D(ge))if(ge.length){const X=e.exposed||(e.exposed={});ge.forEach(K=>{Object.defineProperty(X,K,{get:()=>n[K],set:Xe=>n[K]=Xe,enumerable:!0})})}else e.exposed||(e.exposed={});Q&&e.render===_e&&(e.render=Q),xe!=null&&(e.inheritAttrs=xe),Ye&&(e.components=Ye),ot&&(e.directives=ot),te&&Is(e)}function Pr(e,t,n=_e){D(e)&&(e=Bn(e));for(const l in e){const s=e[l];let i;J(s)?"default"in s?i=It(s.from||l,s.default,!0):i=It(s.from||l):i=It(s),ae(i)?Object.defineProperty(t,l,{enumerable:!0,configurable:!0,get:()=>i.value,set:r=>i.value=r}):t[l]=i}}function Il(e,t,n){Re(D(e)?e.map(l=>l.bind(t.proxy)):e.bind(t.proxy),t,n)}function Ds(e,t,n,l){let s=l.includes(".")?Cs(n,l):()=>n[l];if(ee(e)){const i=t[e];R(i)&&Gt(s,i)}else if(R(e))Gt(s,e.bind(n));else if(J(e))if(D(e))e.forEach(i=>Ds(i,t,n,l));else{const i=R(e.handler)?e.handler.bind(n):t[e.handler];R(i)&&Gt(s,i,e)}}function Rs(e){const t=e.type,{mixins:n,extends:l}=t,{mixins:s,optionsCache:i,config:{optionMergeStrategies:r}}=e.appContext,a=i.get(t);let o;return a?o=a:!s.length&&!n&&!l?o=t:(o={},s.length&&s.forEach(f=>on(o,f,r,!0)),on(o,t,r)),J(t)&&i.set(t,o),o}function on(e,t,n,l=!1){const{mixins:s,extends:i}=t;i&&on(e,i,n,!0),s&&s.forEach(r=>on(e,r,n,!0));for(const r in t)if(!(l&&r==="expose")){const a=Ir[r]||n&&n[r];e[r]=a?a(e[r],t[r]):t[r]}return e}const Ir={data:Gl,props:Ml,emits:Ml,methods:wt,computed:wt,beforeCreate:ue,created:ue,beforeMount:ue,mounted:ue,beforeUpdate:ue,updated:ue,beforeDestroy:ue,beforeUnmount:ue,destroyed:ue,unmounted:ue,activated:ue,deactivated:ue,errorCaptured:ue,serverPrefetch:ue,components:wt,directives:wt,watch:Mr,provide:Gl,inject:Gr};function Gl(e,t){return t?e?function(){return re(R(e)?e.call(this,this):e,R(t)?t.call(this,this):t)}:t:e}function Gr(e,t){return wt(Bn(e),Bn(t))}function Bn(e){if(D(e)){const t={};for(let n=0;nt==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${be(t)}Modifiers`]||e[`${rt(t)}Modifiers`];function Lr(e,t,...n){if(e.isUnmounted)return;const l=e.vnode.props||z;let s=n;const i=t.startsWith("update:"),r=i&&Rr(l,t.slice(7));r&&(r.trim&&(s=n.map(u=>ee(u)?u.trim():u)),r.number&&(s=n.map(di))),__VUE_PROD_DEVTOOLS__&&sr(e,t,s);let a,o=l[a=Sn(t)]||l[a=Sn(be(t))];!o&&i&&(o=l[a=Sn(rt(t))]),o&&Re(o,e,6,s);const f=l[a+"Once"];if(f){if(!e.emitted)e.emitted={};else if(e.emitted[a])return;e.emitted[a]=!0,Re(f,e,6,s)}}const Fr=new WeakMap;function Fs(e,t,n=!1){const l=__VUE_OPTIONS_API__&&n?Fr:t.emitsCache,s=l.get(e);if(s!==void 0)return s;const i=e.emits;let r={},a=!1;if(__VUE_OPTIONS_API__&&!R(e)){const o=f=>{const u=Fs(f,t,!0);u&&(a=!0,re(r,u))};!n&&t.mixins.length&&t.mixins.forEach(o),e.extends&&o(e.extends),e.mixins&&e.mixins.forEach(o)}return!i&&!a?(J(e)&&l.set(e,null),null):(D(i)?i.forEach(o=>r[o]=null):re(r,i),J(e)&&l.set(e,r),r)}function vn(e,t){return!e||!fn(t)?!1:(t=t.slice(2).replace(/Once$/,""),$(e,t[0].toLowerCase()+t.slice(1))||$(e,rt(t))||$(e,t))}function Vl(e){const{type:t,vnode:n,proxy:l,withProxy:s,propsOptions:[i],slots:r,attrs:a,emit:o,render:f,renderCache:u,props:p,data:m,setupState:A,ctx:S,inheritAttrs:x}=e,M=sn(e);let L,P;try{if(n.shapeFlag&4){const G=s||l,Q=G;L=Ge(f.call(Q,G,u,p,A,m,S)),P=a}else{const G=t;L=Ge(G.length>1?G(p,{attrs:a,slots:r,emit:o}):G(p,null)),P=t.props?a:Nr(a)}}catch(G){hn(G,e,1),L=ve(it)}let B=L;if(P&&x!==!1){const G=Object.keys(P),{shapeFlag:Q}=B;G.length&&Q&7&&(i&&G.some(dn)&&(P=Ur(P,i)),B=ht(B,P,!1,!0))}return n.dirs&&(B=ht(B,null,!1,!0),B.dirs=B.dirs?B.dirs.concat(n.dirs):n.dirs),n.transition&&ol(B,n.transition),L=B,sn(M),L}const Nr=e=>{let t;for(const n in e)(n==="class"||n==="style"||fn(n))&&((t||(t={}))[n]=e[n]);return t},Ur=(e,t)=>{const n={};for(const l in e)(!dn(l)||!(l.slice(9)in t))&&(n[l]=e[l]);return n};function Br(e,t,n){const{props:l,children:s,component:i}=e,{props:r,children:a,patchFlag:o}=t,f=i.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&o>=0){if(o&1024)return!0;if(o&16)return l?Dl(l,r,f):!!r;if(o&8){const u=t.dynamicProps;for(let p=0;pObject.create(Us),ks=e=>Object.getPrototypeOf(e)===Us;function $r(e,t,n,l=!1){const s={},i=Bs();e.propsDefaults=Object.create(null),$s(e,t,s,i);for(const r in e.propsOptions[0])r in s||(s[r]=void 0);n?e.props=l?s:Bi(s):e.type.props?e.props=s:e.props=i,e.attrs=i}function Hr(e,t,n,l){const{props:s,attrs:i,vnode:{patchFlag:r}}=e,a=k(s),[o]=e.propsOptions;let f=!1;if((l||r>0)&&!(r&16)){if(r&8){const u=e.vnode.dynamicProps;for(let p=0;p{o=!0;const[m,A]=Hs(p,t,!0);re(r,m),A&&a.push(...A)};!n&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!i&&!o)return J(e)&&l.set(e,At),At;if(D(i))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",cl=e=>D(e)?e.map(Ge):[Ge(e)],Kr=(e,t,n)=>{if(t._n)return t;const l=ir((...s)=>cl(t(...s)),n);return l._c=!1,l},js=(e,t,n)=>{const l=e._ctx;for(const s in e){if(al(s))continue;const i=e[s];if(R(i))t[s]=Kr(s,i,l);else if(i!=null){const r=cl(i);t[s]=()=>r}}},Ks=(e,t)=>{const n=cl(t);e.slots.default=()=>n},Ws=(e,t,n)=>{for(const l in t)(n||!al(l))&&(e[l]=t[l])},Wr=(e,t,n)=>{const l=e.slots=Bs();if(e.vnode.shapeFlag&32){const s=t._;s?(Ws(l,t,n),n&&tn(l,"_",s,!0)):js(t,l)}else t&&Ks(e,t)},qr=(e,t,n)=>{const{vnode:l,slots:s}=e;let i=!0,r=z;if(l.shapeFlag&32){const a=t._;a?n&&a===1?i=!1:Ws(s,t,n):(i=!t.$stable,js(t,s)),r=t}else t&&(Ks(e,t),r={default:1});if(i)for(const a in s)!al(a)&&r[a]==null&&delete s[a]};function zr(){typeof __VUE_OPTIONS_API__!="boolean"&&(lt().__VUE_OPTIONS_API__=!0),typeof __VUE_PROD_DEVTOOLS__!="boolean"&&(lt().__VUE_PROD_DEVTOOLS__=!1),typeof __VUE_PROD_HYDRATION_MISMATCH_DETAILS__!="boolean"&&(lt().__VUE_PROD_HYDRATION_MISMATCH_DETAILS__=!1)}const fe=Zr;function Jr(e){return Yr(e)}function Yr(e,t){zr();const n=lt();n.__VUE__=!0,__VUE_PROD_DEVTOOLS__&&ws(n.__VUE_DEVTOOLS_GLOBAL_HOOK__,n);const{insert:l,remove:s,patchProp:i,createElement:r,createText:a,createComment:o,setText:f,setElementText:u,parentNode:p,nextSibling:m,setScopeId:A=_e,insertStaticContent:S}=e,x=(c,d,g,y=null,v=null,_=null,E=void 0,T=null,w=!!d.dynamicChildren)=>{if(c===d)return;c&&!yt(c,d)&&(y=zt(c),we(c,v,_,!0),c=null),d.patchFlag===-2&&(w=!1,d.dynamicChildren=null);const{type:b,ref:I,shapeFlag:O}=d;switch(b){case Kt:M(c,d,g,y);break;case it:L(c,d,g,y);break;case Zt:c==null&&P(d,g,y,E);break;case Ie:Ye(c,d,g,y,v,_,E,T,w);break;default:O&1?Q(c,d,g,y,v,_,E,T,w):O&6?ot(c,d,g,y,v,_,E,T,w):(O&64||O&128)&&b.process(c,d,g,y,v,_,E,T,w,vt)}I!=null&&v?Mt(I,c&&c.ref,_,d||c,!d):I==null&&c&&c.ref!=null&&Mt(c.ref,null,_,c,!0)},M=(c,d,g,y)=>{if(c==null)l(d.el=a(d.children),g,y);else{const v=d.el=c.el;d.children!==c.children&&f(v,d.children)}},L=(c,d,g,y)=>{c==null?l(d.el=o(d.children||""),g,y):d.el=c.el},P=(c,d,g,y)=>{[c.el,c.anchor]=S(c.children,d,g,y,c.el,c.anchor)},B=({el:c,anchor:d},g,y)=>{let v;for(;c&&c!==d;)v=m(c),l(c,g,y),c=v;l(d,g,y)},G=({el:c,anchor:d})=>{let g;for(;c&&c!==d;)g=m(c),s(c),c=g;s(d)},Q=(c,d,g,y,v,_,E,T,w)=>{if(d.type==="svg"?E="svg":d.type==="math"&&(E="mathml"),c==null)me(d,g,y,v,_,E,T,w);else{const b=c.el&&c.el._isVueCE?c.el:null;try{b&&b._beginPatch(),te(c,d,v,_,E,T,w)}finally{b&&b._endPatch()}}},me=(c,d,g,y,v,_,E,T)=>{let w,b;const{props:I,shapeFlag:O,transition:C,dirs:V}=c;if(w=c.el=r(c.type,_,I&&I.is,I),O&8?u(w,c.children):O&16&&Z(c.children,w,null,y,v,On(c,_),E,T),V&&Ze(c,null,y,"created"),N(w,c,c.scopeId,E,y),I){for(const H in I)H!=="value"&&!Ot(H)&&i(w,H,null,I[H],_,y);"value"in I&&i(w,"value",null,I.value,_),(b=I.onVnodeBeforeMount)&&Oe(b,y,c)}__VUE_PROD_DEVTOOLS__&&(tn(w,"__vnode",c,!0),tn(w,"__vueParentComponent",y,!0)),V&&Ze(c,null,y,"beforeMount");const U=Xr(v,C);U&&C.beforeEnter(w),l(w,d,g),((b=I&&I.onVnodeMounted)||U||V)&&fe(()=>{try{b&&Oe(b,y,c),U&&C.enter(w),V&&Ze(c,null,y,"mounted")}finally{}},v)},N=(c,d,g,y,v)=>{if(g&&A(c,g),y)for(let _=0;_{for(let b=w;b{const T=d.el=c.el;__VUE_PROD_DEVTOOLS__&&(T.__vnode=d);let{patchFlag:w,dynamicChildren:b,dirs:I}=d;w|=c.patchFlag&16;const O=c.props||z,C=d.props||z;let V;if(g&&et(g,!1),(V=C.onVnodeBeforeUpdate)&&Oe(V,g,d,c),I&&Ze(d,c,g,"beforeUpdate"),g&&et(g,!0),(O.innerHTML&&C.innerHTML==null||O.textContent&&C.textContent==null)&&u(T,""),b?ge(c.dynamicChildren,b,T,g,y,On(d,v),_):E||K(c,d,T,null,g,y,On(d,v),_,!1),w>0){if(w&16)xe(T,O,C,g,v);else if(w&2&&O.class!==C.class&&i(T,"class",null,C.class,v),w&4&&i(T,"style",O.style,C.style,v),w&8){const U=d.dynamicProps;for(let H=0;H{V&&Oe(V,g,d,c),I&&Ze(d,c,g,"updated")},y)},ge=(c,d,g,y,v,_,E)=>{for(let T=0;T{if(d!==g){if(d!==z)for(const _ in d)!Ot(_)&&!(_ in g)&&i(c,_,d[_],null,v,y);for(const _ in g){if(Ot(_))continue;const E=g[_],T=d[_];E!==T&&_!=="value"&&i(c,_,T,E,v,y)}"value"in g&&i(c,"value",d.value,g.value,v)}},Ye=(c,d,g,y,v,_,E,T,w)=>{const b=d.el=c?c.el:a(""),I=d.anchor=c?c.anchor:a("");let{patchFlag:O,dynamicChildren:C,slotScopeIds:V}=d;V&&(T=T?T.concat(V):V),c==null?(l(b,g,y),l(I,g,y),Z(d.children||[],g,I,v,_,E,T,w)):O>0&&O&64&&C&&c.dynamicChildren&&c.dynamicChildren.length===C.length?(ge(c.dynamicChildren,C,g,v,_,E,T),(d.key!=null||v&&d===v.subTree)&&ul(c,d,!0)):K(c,d,g,I,v,_,E,T,w)},ot=(c,d,g,y,v,_,E,T,w)=>{d.slotScopeIds=T,c==null?d.shapeFlag&512?v.ctx.activate(d,g,y,E,w):at(d,g,y,v,_,E,w):hl(c,d,w)},at=(c,d,g,y,v,_,E)=>{const T=c.component=oo(c,y,v);if(Gs(c)&&(T.ctx.renderer=vt),co(T,!1,E),T.asyncDep){if(v&&v.registerDep(T,ce,E),!c.el){const w=T.subTree=ve(it);L(null,w,d,g),c.placeholder=w.el}}else ce(T,c,d,g,v,_,E)},hl=(c,d,g)=>{const y=d.component=c.component;if(Br(c,d,g))if(y.asyncDep&&!y.asyncResolved){X(y,d,g);return}else y.next=d,y.update();else d.el=c.el,y.vnode=d},ce=(c,d,g,y,v,_,E)=>{const T=()=>{if(c.isMounted){let{next:O,bu:C,u:V,parent:U,vnode:H}=c;{const Ae=qs(c);if(Ae){O&&(O.el=H.el,X(c,O,E)),Ae.asyncDep.then(()=>{fe(()=>{c.isUnmounted||b()},v)});return}}let W=O,ne;et(c,!1),O?(O.el=H.el,X(c,O,E)):O=H,C&&xn(C),(ne=O.props&&O.props.onVnodeBeforeUpdate)&&Oe(ne,U,O,H),et(c,!0);const se=Vl(c),Te=c.subTree;c.subTree=se,x(Te,se,p(Te.el),zt(Te),c,v,_),O.el=se.el,W===null&&kr(c,se.el),V&&fe(V,v),(ne=O.props&&O.props.onVnodeUpdated)&&fe(()=>Oe(ne,U,O,H),v),__VUE_PROD_DEVTOOLS__&&Ts(c)}else{let O;const{el:C,props:V}=d,{bm:U,m:H,parent:W,root:ne,type:se}=c,Te=Vt(d);et(c,!1),U&&xn(U),!Te&&(O=V&&V.onVnodeBeforeMount)&&Oe(O,W,d),et(c,!0);{ne.ce&&ne.ce._hasShadowRoot()&&ne.ce._injectChildStyle(se,c.parent?c.parent.type:void 0);const Ae=c.subTree=Vl(c);x(null,Ae,g,y,c,v,_),d.el=Ae.el}if(H&&fe(H,v),!Te&&(O=V&&V.onVnodeMounted)){const Ae=d;fe(()=>Oe(O,W,Ae),v)}(d.shapeFlag&256||W&&Vt(W.vnode)&&W.vnode.shapeFlag&256)&&c.a&&fe(c.a,v),c.isMounted=!0,__VUE_PROD_DEVTOOLS__&&tr(c),d=g=y=null}};c.scope.on();const w=c.effect=new ss(T);c.scope.off();const b=c.update=w.run.bind(w),I=c.job=w.runIfDirty.bind(w);I.i=c,I.id=c.uid,w.scheduler=()=>il(I),et(c,!0),b()},X=(c,d,g)=>{d.component=c;const y=c.vnode.props;c.vnode=d,c.next=null,Hr(c,d.props,y,g),qr(c,d.children,g),Be(),Tl(c),ke()},K=(c,d,g,y,v,_,E,T,w=!1)=>{const b=c&&c.children,I=c?c.shapeFlag:0,O=d.children,{patchFlag:C,shapeFlag:V}=d;if(C>0){if(C&128){qt(b,O,g,y,v,_,E,T,w);return}else if(C&256){Xe(b,O,g,y,v,_,E,T,w);return}}V&8?(I&16&&mt(b,v,_),O!==b&&u(g,O)):I&16?V&16?qt(b,O,g,y,v,_,E,T,w):mt(b,v,_,!0):(I&8&&u(g,""),V&16&&Z(O,g,y,v,_,E,T,w))},Xe=(c,d,g,y,v,_,E,T,w)=>{c=c||At,d=d||At;const b=c.length,I=d.length,O=Math.min(b,I);let C;for(C=0;CI?mt(c,v,_,!0,!1,O):Z(d,g,y,v,_,E,T,w,O)},qt=(c,d,g,y,v,_,E,T,w)=>{let b=0;const I=d.length;let O=c.length-1,C=I-1;for(;b<=O&&b<=C;){const V=c[b],U=d[b]=w?Ne(d[b]):Ge(d[b]);if(yt(V,U))x(V,U,g,null,v,_,E,T,w);else break;b++}for(;b<=O&&b<=C;){const V=c[O],U=d[C]=w?Ne(d[C]):Ge(d[C]);if(yt(V,U))x(V,U,g,null,v,_,E,T,w);else break;O--,C--}if(b>O){if(b<=C){const V=C+1,U=VC)for(;b<=O;)we(c[b],v,_,!0),b++;else{const V=b,U=b,H=new Map;for(b=U;b<=C;b++){const he=d[b]=w?Ne(d[b]):Ge(d[b]);he.key!=null&&H.set(he.key,b)}let W,ne=0;const se=C-U+1;let Te=!1,Ae=0;const _t=new Array(se);for(b=0;b=se){we(he,v,_,!0);continue}let Ee;if(he.key!=null)Ee=H.get(he.key);else for(W=U;W<=C;W++)if(_t[W-U]===0&&yt(he,d[W])){Ee=W;break}Ee===void 0?we(he,v,_,!0):(_t[Ee-U]=b+1,Ee>=Ae?Ae=Ee:Te=!0,x(he,d[Ee],g,null,v,_,E,T,w),ne++)}const vl=Te?Qr(_t):At;for(W=vl.length-1,b=se-1;b>=0;b--){const he=U+b,Ee=d[he],_l=d[he+1],bl=he+1{const{el:_,type:E,transition:T,children:w,shapeFlag:b}=c;if(b&6){Qe(c.component.subTree,d,g,y);return}if(b&128){c.suspense.move(d,g,y);return}if(b&64){E.move(c,d,g,vt);return}if(E===Ie){l(_,d,g);for(let O=0;OT.enter(_),v);else{const{leave:O,delayLeave:C,afterLeave:V}=T,U=()=>{c.ctx.isUnmounted?s(_):l(_,d,g)},H=()=>{_._isLeaving&&_[hr](!0),O(_,()=>{U(),V&&V()})};C?C(_,U,H):H()}else l(_,d,g)},we=(c,d,g,y=!1,v=!1)=>{const{type:_,props:E,ref:T,children:w,dynamicChildren:b,shapeFlag:I,patchFlag:O,dirs:C,cacheIndex:V,memo:U}=c;if(O===-2&&(v=!1),T!=null&&(Be(),Mt(T,null,g,c,!0),ke()),V!=null&&(d.renderCache[V]=void 0),I&256){d.ctx.deactivate(c);return}const H=I&1&&C,W=!Vt(c);let ne;if(W&&(ne=E&&E.onVnodeBeforeUnmount)&&Oe(ne,d,c),I&6)si(c.component,g,y);else{if(I&128){c.suspense.unmount(g,y);return}H&&Ze(c,null,d,"beforeUnmount"),I&64?c.type.remove(c,d,g,vt,y):b&&!b.hasOnce&&(_!==Ie||O>0&&O&64)?mt(b,d,g,!1,!0):(_===Ie&&O&384||!v&&I&16)&&mt(w,d,g),y&&gl(c)}const se=U!=null&&V==null;(W&&(ne=E&&E.onVnodeUnmounted)||H||se)&&fe(()=>{ne&&Oe(ne,d,c),H&&Ze(c,null,d,"unmounted"),se&&(c.el=null)},g)},gl=c=>{const{type:d,el:g,anchor:y,transition:v}=c;if(d===Ie){li(g,y);return}if(d===Zt){G(c);return}const _=()=>{s(g),v&&!v.persisted&&v.afterLeave&&v.afterLeave()};if(c.shapeFlag&1&&v&&!v.persisted){const{leave:E,delayLeave:T}=v,w=()=>E(g,_);T?T(c.el,_,w):w()}else _()},li=(c,d)=>{let g;for(;c!==d;)g=m(c),s(c),c=g;s(d)},si=(c,d,g)=>{const{bum:y,scope:v,job:_,subTree:E,um:T,m:w,a:b}=c;Ll(w),Ll(b),y&&xn(y),v.stop(),_&&(_.flags|=8,we(E,c,d,g)),T&&fe(T,d),fe(()=>{c.isUnmounted=!0},d),__VUE_PROD_DEVTOOLS__&&lr(c)},mt=(c,d,g,y=!1,v=!1,_=0)=>{for(let E=_;E{if(c.shapeFlag&6)return zt(c.component.subTree);if(c.shapeFlag&128)return c.suspense.next();const d=m(c.anchor||c.el),g=d&&d[Ps];return g?m(g):d};let yn=!1;const ml=(c,d,g)=>{let y;c==null?d._vnode&&(we(d._vnode,null,null,!0),y=d._vnode.component):x(d._vnode||null,c,d,null,null,null,g),d._vnode=c,yn||(yn=!0,Tl(y),Ss(),yn=!1)},vt={p:x,um:we,m:Qe,r:gl,mt:at,mc:Z,pc:K,pbc:ge,n:zt,o:e};return{render:ml,hydrate:void 0,createApp:Dr(ml)}}function On({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function et({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Xr(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function ul(e,t,n=!1){const l=e.children,s=t.children;if(D(l)&&D(s))for(let i=0;i>1,e[n[a]]0&&(t[l]=n[i-1]),n[i]=l)}}for(i=n.length,r=n[i-1];i-- >0;)n[i]=r,r=t[r];return n}function qs(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:qs(t)}function Ll(e){if(e)for(let t=0;te.__isSuspense;function Zr(e,t){t&&t.pendingBranch?D(e)?t.effects.push(...e):t.effects.push(e):Qi(e)}const Ie=Symbol.for("v-fgt"),Kt=Symbol.for("v-txt"),it=Symbol.for("v-cmt"),Zt=Symbol.for("v-stc");let qe=null,fl=1;function an(e,t=!1){fl+=e,e<0&&qe&&t&&(qe.hasOnce=!0)}function cn(e){return e?e.__v_isVNode===!0:!1}function yt(e,t){return e.type===t.type&&e.key===t.key}const Ys=({key:e})=>e??null,en=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?ee(e)||ae(e)||R(e)?{i:De,r:e,k:t,f:!!n}:e:null);function eo(e,t=null,n=null,l=0,s=null,i=e===Ie?0:1,r=!1,a=!1){const o={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Ys(t),ref:t&&en(t),scopeId:As,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:l,dynamicProps:s,dynamicChildren:null,appContext:null,ctx:De};return a?(dl(o,n),i&128&&e.normalize(o)):n&&(o.shapeFlag|=ee(n)?8:16),fl>0&&!r&&qe&&(o.patchFlag>0||i&6)&&o.patchFlag!==32&&qe.push(o),o}const ve=to;function to(e,t=null,n=null,l=0,s=null,i=!1){if((!e||e===Er)&&(e=it),cn(e)){const a=ht(e,t,!0);return n&&dl(a,n),fl>0&&!i&&qe&&(a.shapeFlag&6?qe[qe.indexOf(e)]=a:qe.push(a)),a.patchFlag=-2,a}if(ho(e)&&(e=e.__vccOpts),t){t=no(t);let{class:a,style:o}=t;a&&!ee(a)&&(t.class=zn(a)),J(o)&&(sl(o)&&!D(o)&&(o=re({},o)),t.style=qn(o))}const r=ee(e)?1:Js(e)?128:cr(e)?64:J(e)?4:R(e)?2:0;return eo(e,t,n,l,s,r,i,!0)}function no(e){return e?sl(e)||ks(e)?re({},e):e:null}function ht(e,t,n=!1,l=!1){const{props:s,ref:i,patchFlag:r,children:a,transition:o}=e,f=t?so(s||{},t):s,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:f,key:f&&Ys(f),ref:t&&t.ref?n&&i?D(i)?i.concat(en(t)):[i,en(t)]:en(t):i,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:a,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Ie?r===-1?16:r|16:r,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:o,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&ht(e.ssContent),ssFallback:e.ssFallback&&ht(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return o&&l&&ol(u,o.clone(u)),u}function lo(e=" ",t=0){return ve(Kt,null,e,t)}function Ge(e){return e==null||typeof e=="boolean"?ve(it):D(e)?ve(Ie,null,e.slice()):cn(e)?Ne(e):ve(Kt,null,String(e))}function Ne(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:ht(e)}function dl(e,t){let n=0;const{shapeFlag:l}=e;if(t==null)t=null;else if(D(t))n=16;else if(typeof t=="object")if(l&65){const s=t.default;s&&(s._c&&(s._d=!1),dl(e,s()),s._c&&(s._d=!0));return}else{n=32;const s=t._;!s&&!ks(t)?t._ctx=De:s===3&&De&&(De.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else R(t)?(t={default:t,_ctx:De},n=32):(t=String(t),l&64?(n=16,t=[lo(t)]):n=8);e.children=t,e.shapeFlag|=n}function so(...e){const t={};for(let n=0;npe||De;let un,$n;{const e=lt(),t=(n,l)=>{let s;return(s=e[n])||(s=e[n]=[]),s.push(l),i=>{s.length>1?s.forEach(r=>r(i)):s[0](i)}};un=t("__VUE_INSTANCE_SETTERS__",n=>pe=n),$n=t("__VUE_SSR_SETTERS__",n=>Bt=n)}const Wt=e=>{const t=pe;return un(e),e.scope.on(),()=>{e.scope.off(),un(t)}},Fl=()=>{pe&&pe.scope.off(),un(null)};function Xs(e){return e.vnode.shapeFlag&4}let Bt=!1;function co(e,t=!1,n=!1){t&&$n(t);const{props:l,children:s}=e.vnode,i=Xs(e);$r(e,l,i,t),Wr(e,s,n||t);const r=i?uo(e,t):void 0;return t&&$n(!1),r}function uo(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Or);const{setup:l}=n;if(l){Be();const s=e.setupContext=l.length>1?po(e):null,i=Wt(e),r=$t(l,e,0,[e.props,s]),a=ts(r);if(ke(),i(),(a||e.sp)&&!Vt(e)&&Is(e),a){if(r.then(Fl,Fl),t)return r.then(o=>{Nl(e,o)}).catch(o=>{hn(o,e,0)});e.asyncDep=r}else Nl(e,r)}else Qs(e)}function Nl(e,t,n){R(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:J(t)&&(__VUE_PROD_DEVTOOLS__&&(e.devtoolsRawSetupState=t),e.setupState=_s(t)),Qs(e)}function Qs(e,t,n){const l=e.type;if(e.render||(e.render=l.render||_e),__VUE_OPTIONS_API__){const s=Wt(e);Be();try{Cr(e)}finally{ke(),s()}}}const fo={get(e,t){return oe(e,"get",""),e[t]}};function po(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,fo),slots:e.slots,emit:e.emit,expose:t}}function pl(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(_s(ki(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Dt)return Dt[n](e)},has(t,n){return n in t||n in Dt}})):e.proxy}function ho(e){return R(e)&&"__vccOpts"in e}const Rt=(e,t)=>qi(e,t,Bt);function h(e,t,n){try{an(-1);const l=arguments.length;return l===2?J(t)&&!D(t)?cn(t)?ve(e,null,[t]):ve(e,t):ve(e,null,t):(l>3?n=Array.prototype.slice.call(arguments,2):l===3&&cn(n)&&(n=[n]),ve(e,t,n))}finally{an(1)}}const Ul="3.5.34";/** +* @vue/runtime-dom v3.5.34 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let Hn;const Bl=typeof window<"u"&&window.trustedTypes;if(Bl)try{Hn=Bl.createPolicy("vue",{createHTML:e=>e})}catch{}const Zs=Hn?e=>Hn.createHTML(e):e=>e,go="http://www.w3.org/2000/svg",mo="http://www.w3.org/1998/Math/MathML",Fe=typeof document<"u"?document:null,kl=Fe&&Fe.createElement("template"),vo={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,l)=>{const s=t==="svg"?Fe.createElementNS(go,e):t==="mathml"?Fe.createElementNS(mo,e):n?Fe.createElement(e,{is:n}):Fe.createElement(e);return e==="select"&&l&&l.multiple!=null&&s.setAttribute("multiple",l.multiple),s},createText:e=>Fe.createTextNode(e),createComment:e=>Fe.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Fe.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,l,s,i){const r=n?n.previousSibling:t.lastChild;if(s&&(s===i||s.nextSibling))for(;t.insertBefore(s.cloneNode(!0),n),!(s===i||!(s=s.nextSibling)););else{kl.innerHTML=Zs(l==="svg"?`${e}`:l==="mathml"?`${e}`:e);const a=kl.content;if(l==="svg"||l==="mathml"){const o=a.firstChild;for(;o.firstChild;)a.appendChild(o.firstChild);a.removeChild(o)}t.insertBefore(a,n)}return[r?r.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},_o=Symbol("_vtc");function bo(e,t,n){const l=e[_o];l&&(t=(t?[t,...l]:[...l]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const $l=Symbol("_vod"),yo=Symbol("_vsh"),So=Symbol(""),xo=/(?:^|;)\s*display\s*:/;function wo(e,t,n){const l=e.style,s=ee(n);let i=!1;if(n&&!s){if(t)if(ee(t))for(const r of t.split(";")){const a=r.slice(0,r.indexOf(":")).trim();n[a]==null&&Tt(l,a,"")}else for(const r in t)n[r]==null&&Tt(l,r,"");for(const r in n){r==="display"&&(i=!0);const a=n[r];a!=null?Ao(e,r,!ee(t)&&t?t[r]:void 0,a)||Tt(l,r,a):Tt(l,r,"")}}else if(s){if(t!==n){const r=l[So];r&&(n+=";"+r),l.cssText=n,i=xo.test(n)}}else t&&e.removeAttribute("style");$l in e&&(e[$l]=i?l.display:"",e[yo]&&(l.display="none"))}const Hl=/\s*!important$/;function Tt(e,t,n){if(D(n))n.forEach(l=>Tt(e,t,l));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const l=To(e,t);Hl.test(n)?e.setProperty(rt(l),n.replace(Hl,""),"important"):e[l]=n}}const jl=["Webkit","Moz","ms"],Cn={};function To(e,t){const n=Cn[t];if(n)return n;let l=be(t);if(l!=="filter"&&l in e)return Cn[t]=l;l=ns(l);for(let s=0;sPn||(Io.then(()=>Pn=0),Pn=Date.now());function Mo(e,t){const n=l=>{if(!l._vts)l._vts=Date.now();else if(l._vts<=n.attached)return;Re(Vo(l,n.value),t,5,[l])};return n.value=e,n.attached=Go(),n}function Vo(e,t){if(D(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(l=>s=>!s._stopped&&l&&l(s))}else return t}const Yl=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Do=(e,t,n,l,s,i)=>{const r=s==="svg";t==="class"?bo(e,l,r):t==="style"?wo(e,n,l):fn(t)?dn(t)||Co(e,t,n,l,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Ro(e,t,l,r))?(ql(e,t,l),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Wl(e,t,l,r,i,t!=="value")):e._isVueCE&&(Lo(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!ee(l)))?ql(e,be(t),l,i,t):(t==="true-value"?e._trueValue=l:t==="false-value"&&(e._falseValue=l),Wl(e,t,l,r))};function Ro(e,t,n,l){if(l)return!!(t==="innerHTML"||t==="textContent"||t in e&&Yl(t)&&R(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const s=e.tagName;if(s==="IMG"||s==="VIDEO"||s==="CANVAS"||s==="SOURCE")return!1}return Yl(t)&&ee(n)?!1:t in e}function Lo(e,t){const n=e._def.props;if(!n)return!1;const l=be(t);return Array.isArray(n)?n.some(s=>be(s)===l):Object.keys(n).some(s=>be(s)===l)}const Fo=re({patchProp:Do},vo);let Xl;function No(){return Xl||(Xl=Jr(Fo))}const Uo=((...e)=>{const t=No().createApp(...e),{mount:n}=t;return t.mount=l=>{const s=ko(l);if(!s)return;const i=t._component;!R(i)&&!i.render&&!i.template&&(i.template=s.innerHTML),s.nodeType===1&&(s.textContent="");const r=n(s,!1,Bo(s));return s instanceof Element&&(s.removeAttribute("v-cloak"),s.setAttribute("data-v-app","")),r},t});function Bo(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function ko(e){return ee(e)?document.querySelector(e):e}var $o={},Ho=new Set(["primary","secondary","accent","success","warning","danger","error","info"]);function F(...e){return e.flatMap(t=>t?Array.isArray(t)?t:typeof t=="object"?Object.entries(t).filter(([,n])=>n).map(([n])=>n):[t]:[]).filter(Boolean).join(" ")}function gt(e,t="primary"){return Ho.has(e)?e:t}function le(e,t=""){if(!e)return null;const n=e.includes("ph ")||e.startsWith("ph-");n||typeof process<"u"&&$o&&console.warn(`[gnexus-ui-kit] Icon "${e}" is missing the required "ph-" prefix. Use "ph-${e}" instead.`);const l=n?e:`ph-${e}`;return h("i",{class:F("ph",l,t),"aria-hidden":"true"})}function _n(e){const t=e.target;return t.type==="checkbox"?t.checked:t.value}var jo=["a[href]","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])","[tabindex]:not([tabindex='-1'])"].join(",");function Ko(e,t){if(e.key!=="Tab"||!t)return;const n=[...t.querySelectorAll(jo)].filter(i=>!i.hasAttribute("disabled")&&i.offsetParent!==null);if(!n.length){e.preventDefault(),t.focus();return}const l=n[0],s=n[n.length-1];e.shiftKey&&document.activeElement===l?(e.preventDefault(),s.focus()):!e.shiftKey&&document.activeElement===s&&(e.preventDefault(),l.focus())}var Wo=j({name:"GnActionCard",props:{kicker:{type:String,default:""},title:{type:String,required:!0},text:{type:String,default:""}},setup(e,{slots:t}){return()=>{var n,l,s;return h("article",{class:"card action-card"},[h("div",{class:"card-content"},[(e.kicker||t.kicker)&&h("span",{class:"action-card-kicker"},((n=t.kicker)==null?void 0:n.call(t))||e.kicker),h("h3",{class:"action-card-title"},((l=t.title)==null?void 0:l.call(t))||e.title),(e.text||t.default)&&h("p",{class:"action-card-text"},((s=t.default)==null?void 0:s.call(t))||e.text),t.actions&&h("div",{class:"action-card-actions"},t.actions())])])}}}),qo=j({name:"GnActivityLog",inheritAttrs:!1,props:{items:{type:Array,default:()=>[]}},setup(e,{attrs:t,slots:n}){return()=>h("div",{...t,class:F("activity-log",t.class)},e.items.map(l=>{var s;return h("div",{class:"activity-log-row"},[h("time",{class:"activity-log-time"},l.time),h("span",{class:"activity-log-title"},((s=n[l.key])==null?void 0:s.call(n,{item:l}))||l.title),n.actions&&h("span",{},n.actions({item:l}))])}))}}),zo=j({name:"GnAvatar",inheritAttrs:!1,props:{src:{type:String,default:""},alt:{type:String,default:""},initials:{type:String,default:""},icon:{type:String,default:""},size:{type:String,default:"md"},variant:{type:String,default:"primary"},outline:{type:Boolean,default:!1},status:{type:String,default:""}},setup(e,{attrs:t}){return()=>{const n=gt(e.variant);return h("span",{...t,class:F("avatar",`avatar-${n}`,{"avatar-sm":e.size==="sm","avatar-lg":e.size==="lg","avatar-outline":e.outline,"is-online":e.status==="online","is-busy":e.status==="busy","is-offline":e.status==="offline"},t.class)},[e.src?h("img",{src:e.src,alt:e.alt}):le(e.icon)||e.initials,e.status&&h("span",{class:"avatar-status","aria-hidden":"true"})])}}}),ei=j({name:"GnBadge",inheritAttrs:!1,props:{variant:{type:String,default:"primary"},outline:{type:Boolean,default:!1}},setup(e,{attrs:t,slots:n}){return()=>{var l;const s=gt(e.variant);return h("span",{...t,class:F("badge",e.outline&&s==="primary"?"badge-primary-outline":`badge-${s}`,t.class)},(l=n.default)==null?void 0:l.call(n))}}}),bn=j({name:"GnButton",inheritAttrs:!1,props:{variant:{type:String,default:"primary"},size:{type:String,default:"md"},icon:{type:String,default:""},loading:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},type:{type:String,default:"button"}},setup(e,{attrs:t,slots:n}){return()=>{var l;const s=!!(e.icon||e.loading),i=gt(e.variant);return h("button",{...t,type:e.type,disabled:e.disabled||e.loading,class:F("btn",`btn-${i}`,{"btn-small":e.size==="sm","btn-large":e.size==="lg","with-icon":s,"loading-state":e.loading},t.class)},[e.loading?le("ph-bold ph-spinner"):le(e.icon),(l=n.default)==null?void 0:l.call(n)])}}}),Jo=j({name:"GnChip",inheritAttrs:!1,props:{variant:{type:String,default:""},icon:{type:String,default:""},selected:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},removable:{type:Boolean,default:!1},clickable:{type:Boolean,default:!1}},emits:["remove"],setup(e,{attrs:t,emit:n,slots:l}){return()=>{var s,i,r,a;const o=e.clickable?"button":"span",f=e.variant?gt(e.variant):"",u=(r=(i=(s=l.default)==null?void 0:s.call(l))==null?void 0:i[0])==null?void 0:r.children;return h(o,{...t,type:o==="button"?"button":void 0,disabled:o==="button"?e.disabled:void 0,"aria-pressed":o==="button"?String(e.selected):void 0,class:F("chip",f&&`chip-${f}`,{"chip-selected":e.selected,"chip-disabled":e.disabled},t.class)},[le(e.icon),(a=l.default)==null?void 0:a.call(l),e.removable&&h("button",{class:"chip-remove",type:"button","aria-label":u?`Remove ${u}`:"Remove",onClick:p=>{p.stopPropagation(),n("remove")}},[le("ph-x")])])}}}),Yo=j({name:"GnChipGroup",inheritAttrs:!1,setup(e,{attrs:t,slots:n}){return()=>{var l;return h("div",{...t,class:F("chip-group",t.class)},(l=n.default)==null?void 0:l.call(n))}}}),Xo=0,Qo=j({name:"GnCombobox",inheritAttrs:!1,props:{modelValue:{type:[String,Number],default:""},label:{type:String,default:""},icon:{type:String,default:""},options:{type:Array,default:()=>[]},placeholder:{type:String,default:"Search"},notFoundText:{type:String,default:"Nothing found"},state:{type:String,default:""},help:{type:String,default:""}},emits:["update:modelValue","select"],setup(e,{attrs:t,emit:n}){const l=`gn-combobox-${++Xo}`,s=`${l}-listbox`,i=Y(!1),r=Y(-1),a=Y(null),o=Rt(()=>e.options.map(S=>typeof S=="object"?S:{value:S,label:S})),f=Rt(()=>{var S;return String((S=e.modelValue)!=null?S:"").toLowerCase()}),u=Rt(()=>o.value.filter(S=>String(S.label).toLowerCase().includes(f.value))),p=S=>{S&&(n("update:modelValue",S.label),n("select",S),i.value=!1,r.value=-1)},m=S=>{u.value.length&&(i.value=!0,r.value=(r.value+S+u.value.length)%u.value.length,Ht(()=>{var x,M,L;const P=(M=(x=a.value)==null?void 0:x.closest(".form-group"))==null?void 0:M.querySelector(".advanced-select");(L=P==null?void 0:P.querySelector(".option.focus"))==null||L.scrollIntoView({block:"nearest"})}))},A=S=>{S.key==="ArrowDown"?(S.preventDefault(),m(1)):S.key==="ArrowUp"?(S.preventDefault(),m(-1)):S.key==="Enter"?(S.preventDefault(),p(u.value[r.value])):S.key==="Escape"&&(i.value=!1,r.value=-1)};return()=>h("div",{class:"form-group"},[h("label",{class:F("label",e.state)},[e.label,le(e.icon),h("input",{...t,ref:a,id:l,type:"text",value:e.modelValue,placeholder:e.placeholder,autocomplete:"off",role:"combobox","aria-autocomplete":"list","aria-expanded":i.value?"true":"false","aria-controls":s,"aria-activedescendant":r.value>=0?`${l}-option-${r.value}`:void 0,class:F("input",t.class),onFocus:()=>{i.value=!0},onBlur:()=>{setTimeout(()=>{i.value=!1},120)},onInput:S=>{r.value=-1,i.value=!0,n("update:modelValue",_n(S))},onKeydown:A})]),h("div",{class:"advanced-select-container"},[h("div",{class:F("advanced-select",{"a-show":i.value})},[h("div",{class:"popup-options-container"},[h("div",{class:F("not-found",{show:!u.value.length})},e.notFoundText),h("div",{id:s,class:F("options",{show:u.value.length}),role:"listbox"},u.value.map((S,x)=>h("div",{id:`${l}-option-${x}`,class:F("option",{focus:x===r.value}),role:"option","aria-selected":S.label===e.modelValue?"true":"false","data-value":S.value,"data-display-value":S.label,onMousedown:M=>{M.preventDefault(),p(S)}},S.label)))])])]),e.help&&h("div",{class:F("input-info",e.state==="error"&&"error")},e.help)])}});function Zo({duration:e=300}={}){const t=Y(!1),n=Y(!1);let l=null;return{visible:t,closing:n,show:()=>{window.clearTimeout(l),n.value=!0,t.value=!0,Ht(()=>{requestAnimationFrame(()=>{n.value=!1})})},hide:()=>{n.value=!0,l=window.setTimeout(()=>{t.value=!1,n.value=!1},e)},cancel:()=>{window.clearTimeout(l)}}}var ea=0,ta=j({name:"GnModal",props:{open:{type:Boolean,default:!1},title:{type:String,default:""},closeOnBackdrop:{type:Boolean,default:!0}},emits:["update:open","close"],setup(e,{emit:t,slots:n}){const l=`gn-modal-title-${++ea}`,s=Y(null),{visible:i,closing:r,show:a,hide:o,cancel:f}=Zo();let u=null;const p=()=>{t("update:open",!1),t("close")},m=S=>{S.key==="Escape"?(S.preventDefault(),p()):Ko(S,s.value)},A=()=>{Ht(()=>{var S;(S=s.value)==null||S.focus()})};return Gt(()=>e.open,S=>{var x;S?(a(),u=document.activeElement,document.addEventListener("keydown",m),A()):(o(),document.removeEventListener("keydown",m),(x=u==null?void 0:u.focus)==null||x.call(u),u=null)},{flush:"post",immediate:!0}),jt(()=>{document.removeEventListener("keydown",m),f()}),()=>{var S,x,M;return i.value?h(pr,{to:"body"},[h("div",{class:F("modal",r.value?"a-hide":"a-show"),"aria-hidden":"false"},[h("div",{class:"modal-backdrop",onClick:()=>e.closeOnBackdrop&&p()}),h("div",{ref:s,class:"modal-dialog",role:"dialog","aria-modal":"true","aria-labelledby":l,tabindex:"-1"},[h("header",{class:"modal-header"},[h("h4",{class:"modal-title",id:l},((S=n.title)==null?void 0:S.call(n))||e.title),h("button",{class:"btn-icon modal-close",type:"button","aria-label":"Close",onClick:p},[le("ph-x")])]),h("div",{class:"modal-panel"},[h("div",{class:"modal-body"},(x=n.default)==null?void 0:x.call(n)),(n.footer||n.actions)&&h("footer",{class:"modal-footer"},[(M=n.footer)==null?void 0:M.call(n),n.actions&&h("div",{class:"actions"},n.actions({close:p}))])])])])]):null}}}),na=j({name:"GnDescriptionList",inheritAttrs:!1,props:{items:{type:Array,default:()=>[]},compact:{type:Boolean,default:!1}},setup(e,{attrs:t,slots:n}){return()=>h("dl",{...t,class:F("description-list",{"description-list-compact":e.compact},t.class)},e.items.map(l=>{var s;return h("div",{class:"description-list-row"},[h("dt",{class:"description-list-term"},l.term||l.label),h("dd",{class:F("description-list-value",l.muted&&"description-list-value-muted")},((s=n[l.key])==null?void 0:s.call(n,{item:l}))||l.value)])}))}}),la=j({name:"GnDropdown",props:{label:{type:String,default:"Actions"},icon:{type:String,default:"ph-dots-three-outline"},variant:{type:String,default:"secondary"},items:{type:Array,default:()=>[]}},emits:["select"],setup(e,{emit:t,slots:n}){const l=Y(!1),s=Y(null),i=()=>{l.value=!1,document.removeEventListener("click",r),document.removeEventListener("keydown",a)},r=u=>{s.value&&!s.value.contains(u.target)&&i()},a=u=>{u.key==="Escape"&&(u.preventDefault(),i())},o=()=>{l.value=!l.value,l.value?(setTimeout(()=>document.addEventListener("click",r),0),document.addEventListener("keydown",a)):i()},f=u=>{var p;u.disabled||((p=u.onSelect)==null||p.call(u,u),t("select",u),i())};return jt(i),()=>{var u,p;return h("div",{ref:s,class:F("dropdown",{"is-open":l.value})},[((u=n.trigger)==null?void 0:u.call(n,{open:l.value,toggle:o}))||h(bn,{variant:e.variant,icon:e.icon,"aria-expanded":l.value?"true":"false",onClick:o},()=>e.label),h("div",{class:"dropdown-menu",role:"menu"},((p=n.default)==null?void 0:p.call(n,{close:i}))||e.items.map(m=>h("button",{class:F("dropdown-item",m.danger&&"dropdown-item-danger"),type:"button",role:"menuitem",disabled:m.disabled,onClick:()=>f(m)},[le(m.icon),m.label])))])}}}),sa=j({name:"GnEmptyState",inheritAttrs:!1,props:{title:{type:String,required:!0},text:{type:String,default:""},icon:{type:String,default:"ph-package"},variant:{type:String,default:""}},setup(e,{attrs:t,slots:n}){return()=>{var l,s;return h("div",{...t,class:F("empty-state",e.variant&&`empty-state-${e.variant}`,t.class)},[h("div",{class:"empty-state-icon"},[le(e.icon)]),h("h3",{class:"empty-state-title"},((l=n.title)==null?void 0:l.call(n))||e.title),(e.text||n.default)&&h("p",{class:"empty-state-text"},((s=n.default)==null?void 0:s.call(n))||e.text),n.actions&&h("div",{class:"empty-state-actions"},n.actions())])}}});function Ql(e){const t=e.name.split(".").pop();return t?t.slice(0,6).toUpperCase():"FILE"}function ia(e){if(!e.size)return"0 B";const t=["B","KB","MB","GB"],n=Math.min(Math.floor(Math.log(e.size)/Math.log(1024)),t.length-1),l=e.size/Math.pow(1024,n);return`${l.toFixed(l>=10||n===0?0:1)} ${t[n]}`}var ra=j({name:"GnFileUpload",props:{modelValue:{type:Array,default:()=>[]},title:{type:String,default:"Upload files"},description:{type:String,default:"Attach documents, archives or images."},primary:{type:String,default:"Choose files"},secondary:{type:String,default:"Images get thumbnails, other files show their type"},badge:{type:String,default:""},multiple:{type:Boolean,default:!0},accept:{type:String,default:""}},emits:["update:modelValue","change"],setup(e,{emit:t,slots:n}){const l=Y(new Map),s=f=>{const u=l.value.get(f);u&&(URL.revokeObjectURL(u),l.value.delete(f))},i=()=>{l.value.forEach(f=>URL.revokeObjectURL(f)),l.value.clear()},r=f=>{const u=Array.from(f||[]);t("update:modelValue",u),t("change",u)},a=f=>{s(e.modelValue[f]);const u=e.modelValue.filter((p,m)=>m!==f);t("update:modelValue",u),t("change",u)},o=f=>{var u;return(u=f.type)!=null&&u.startsWith("image/")?(l.value.has(f)||l.value.set(f,URL.createObjectURL(f)),l.value.get(f)):""};return Gt(()=>e.modelValue,f=>{const u=new Set(f);[...l.value.keys()].forEach(p=>{u.has(p)||s(p)})}),jt(i),()=>{var f,u;return h("div",{class:"file-upload-panel"},[h("div",{class:"file-upload-form"},[h("div",{class:"file-upload-header"},[h("div",{class:"file-upload-heading"},[h("h3",{class:"file-upload-title"},((f=n.title)==null?void 0:f.call(n))||e.title),h("p",{class:"file-upload-description"},((u=n.description)==null?void 0:u.call(n))||e.description)]),e.badge&&h(ei,{variant:"info"},()=>e.badge)]),h("label",{class:"file-upload-dropzone"},[h("span",{class:"file-upload-icon","aria-hidden":"true"},[le("ph-cloud-arrow-up")]),h("span",{class:"file-upload-body"},[h("span",{class:"file-upload-primary"},e.primary),h("span",{class:"file-upload-secondary"},e.secondary)]),h("input",{type:"file",multiple:e.multiple,accept:e.accept||void 0,onChange:p=>r(p.target.files)})]),h("div",{class:"file-upload-preview",hidden:!e.modelValue.length},e.modelValue.map((p,m)=>h("figure",{class:"file-upload-preview-item"},[h("button",{class:"file-upload-preview-remove",type:"button","aria-label":`Remove ${p.name}`,onClick:()=>a(m)},[le("ph-x")]),h("div",{class:"file-upload-preview-visual"},o(p)?h("img",{src:o(p),alt:""}):h("span",{class:"file-upload-preview-type"},Ql(p))),h("figcaption",{},[h("span",{class:"file-upload-preview-name"},p.name),h("span",{class:"file-upload-preview-meta"},`${Ql(p)} / ${ia(p)}`)])]))),n.actions&&h("div",{class:"file-upload-actions"},n.actions()),!n.actions&&e.modelValue.length>0&&h("div",{class:"file-upload-actions"},[h(bn,{variant:"secondary",size:"sm",onClick:()=>{i(),r([])}},()=>"Reset")])])])}}}),oa=j({name:"GnInput",inheritAttrs:!1,props:{modelValue:{type:[String,Number],default:""},label:{type:String,default:""},type:{type:String,default:"text"},icon:{type:String,default:""},state:{type:String,default:""},help:{type:String,default:""},bare:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(e,{attrs:t,emit:n}){return()=>{const l=h("input",{...t,type:e.type,value:e.modelValue,class:F(e.bare?"":"input",t.class),onInput:s=>n("update:modelValue",_n(s))});return e.bare?l:h("div",{class:"form-group"},[h("label",{class:F("label",e.state)},[e.label,le(e.icon),l]),e.help&&h("div",{class:F("input-info",e.state==="error"&&"error")},e.help)])}}}),aa=j({name:"GnMetricCard",inheritAttrs:!1,props:{label:{type:String,required:!0},value:{type:[String,Number],required:!0},icon:{type:String,default:"ph-chart-line-up"},delta:{type:String,default:""},negative:{type:Boolean,default:!1},meta:{type:String,default:""}},setup(e,{attrs:t,slots:n}){return()=>{var l,s,i;return h("article",{...t,class:F("card metric-card",t.class)},[h("div",{class:"card-content"},[h("div",{class:"metric-card-header"},[h("p",{class:"metric-card-label"},((l=n.label)==null?void 0:l.call(n))||e.label),h("span",{class:"metric-card-icon"},[le(e.icon)])]),h("p",{class:"metric-card-value"},((s=n.value)==null?void 0:s.call(n))||e.value),(e.delta||e.meta||n.meta)&&h("div",{class:"metric-card-meta"},[e.delta&&h("span",{class:F("metric-card-delta",{"metric-card-delta-negative":e.negative})},e.delta),((i=n.meta)==null?void 0:i.call(n))||e.meta])])])}}}),ca=j({name:"GnPageHeader",inheritAttrs:!1,props:{title:{type:String,required:!0},subtitle:{type:String,default:""},kicker:{type:String,default:""},compact:{type:Boolean,default:!1},accent:{type:Boolean,default:!1}},setup(e,{attrs:t,slots:n}){return()=>{var l,s,i;return h("header",{...t,class:F("page-header",{"page-header-compact":e.compact,"page-header-accent":e.accent},t.class)},[h("div",{class:"page-header-content"},[(e.kicker||n.kicker)&&h("div",{class:"page-header-kicker"},((l=n.kicker)==null?void 0:l.call(n))||e.kicker),h("h1",{class:"page-header-title"},((s=n.title)==null?void 0:s.call(n))||e.title),(e.subtitle||n.subtitle)&&h("p",{class:"page-header-subtitle"},((i=n.subtitle)==null?void 0:i.call(n))||e.subtitle),n.meta&&h("div",{class:"page-header-meta"},n.meta())]),n.actions&&h("div",{class:"page-header-actions"},n.actions())])}}}),ua=j({name:"GnPopover",props:{label:{type:String,default:"Details"},title:{type:String,default:""},text:{type:String,default:""},icon:{type:String,default:"ph-info"},variant:{type:String,default:"accent"}},setup(e,{slots:t}){const n=Y(!1),l=Y(null),s=()=>{n.value=!1,document.removeEventListener("click",i),document.removeEventListener("keydown",r)},i=o=>{l.value&&!l.value.contains(o.target)&&s()},r=o=>{o.key==="Escape"&&(o.preventDefault(),s())},a=()=>{n.value=!n.value,n.value?(setTimeout(()=>document.addEventListener("click",i),0),document.addEventListener("keydown",r)):s()};return jt(s),()=>{var o,f,u;return h("div",{ref:l,class:F("popover",{"is-open":n.value})},[((o=t.trigger)==null?void 0:o.call(t,{open:n.value,toggle:a}))||h(bn,{variant:e.variant,icon:e.icon,"aria-expanded":n.value?"true":"false",onClick:a},()=>e.label),h("div",{class:"popover-panel"},[(e.title||t.title)&&h("h3",{class:"popover-title"},((f=t.title)==null?void 0:f.call(t))||e.title),(e.text||t.default)&&h("p",{class:"popover-text"},((u=t.default)==null?void 0:u.call(t))||e.text)])])}}}),ti=j({name:"GnProgress",inheritAttrs:!1,props:{value:{type:Number,required:!0},max:{type:Number,default:100},label:{type:String,default:""},variant:{type:String,default:"secondary"},striped:{type:Boolean,default:!1},animated:{type:Boolean,default:!1}},setup(e,{attrs:t,slots:n}){return()=>{var l;const s=Math.max(0,Math.min(100,Math.round(e.value/e.max*100))),i=gt(e.variant,"secondary");return h("div",{...t,class:F("progress",`progress-${i}`,{"progress-striped":e.striped,"progress-animated":e.animated},t.class),style:{"--progress-value":`${s}%`}},[(e.label||n.label)&&h("div",{class:"progress-header"},[h("span",{},((l=n.label)==null?void 0:l.call(n))||e.label),h("span",{class:"progress-value"},`${s}%`)]),h("div",{class:"progress-track"},[h("span",{class:"progress-bar",role:"progressbar","aria-valuenow":e.value,"aria-valuemin":0,"aria-valuemax":e.max})])])}}}),fa=j({name:"GnProgressStages",inheritAttrs:!1,props:{items:{type:Array,default:()=>[]}},setup(e,{attrs:t}){return()=>h("div",{...t,class:F("progress-stages",t.class)},e.items.map(n=>h("div",{class:F("progress-stage",{"progress-stage-complete":n.status==="complete","progress-stage-current":n.status==="current"})},n.label||n)))}}),da=j({name:"GnRadio",inheritAttrs:!1,props:{modelValue:{type:[String,Number,Boolean],default:""},value:{type:[String,Number,Boolean],required:!0},label:{type:String,default:""},name:{type:String,default:""},disabled:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(e,{attrs:t,emit:n,slots:l}){return()=>{var s;return h("label",{class:F("radio",t.class)},[h("input",{...t,type:"radio",name:e.name,value:e.value,checked:e.modelValue===e.value,disabled:e.disabled,onChange:()=>n("update:modelValue",e.value)}),h("span",{class:"radio-control","aria-hidden":"true"}),h("span",{class:"radio-label"},((s=l.default)==null?void 0:s.call(l))||e.label)])}}}),pa=j({name:"GnRadioGroup",props:{modelValue:{type:[String,Number,Boolean],default:""},name:{type:String,default:"gn-radio-group"},label:{type:String,default:""},options:{type:Array,default:()=>[]}},emits:["update:modelValue"],setup(e,{emit:t,slots:n}){return()=>{var l;return h("div",{class:"form-group radio-group",role:"radiogroup","aria-label":e.label||void 0},[e.label&&h("div",{class:"label"},e.label),((l=n.default)==null?void 0:l.call(n))||e.options.map(s=>h(da,{modelValue:e.modelValue,"onUpdate:modelValue":i=>t("update:modelValue",i),name:e.name,value:s.value,label:s.label,disabled:s.disabled}))])}}}),ha=j({name:"GnRange",inheritAttrs:!1,props:{modelValue:{type:[Number,String],default:0},label:{type:String,default:""},min:{type:[Number,String],default:0},max:{type:[Number,String],default:100},step:{type:[Number,String],default:1}},emits:["update:modelValue"],setup(e,{attrs:t,emit:n}){return()=>h("div",{class:"range"},[h("label",{class:"label"},[e.label,h("input",{...t,type:"range",value:e.modelValue,min:e.min,max:e.max,step:e.step,onInput:l=>n("update:modelValue",_n(l))})])])}}),ga=j({name:"GnTabs",props:{modelValue:{type:String,default:""},items:{type:Array,required:!0},compact:{type:Boolean,default:!1},vertical:{type:Boolean,default:!1},ariaLabel:{type:String,default:"Tabs"}},emits:["update:modelValue"],setup(e,{emit:t,slots:n}){const l=Rt(()=>{var o,f;return e.modelValue||((o=e.items.find(u=>!u.disabled))==null?void 0:o.id)||((f=e.items[0])==null?void 0:f.id)}),s=o=>{o.disabled||t("update:modelValue",o.id)},i=()=>e.items.filter(o=>!o.disabled),r=(o,f)=>{const u=i(),p=u.findIndex(A=>A.id===o.id),m=u[(p+f+u.length)%u.length];s(m)},a=(o,f)=>{if(o.key==="ArrowRight"||o.key==="ArrowDown")o.preventDefault(),r(f,1);else if(o.key==="ArrowLeft"||o.key==="ArrowUp")o.preventDefault(),r(f,-1);else if(o.key==="Home")o.preventDefault(),s(i()[0]);else if(o.key==="End"){o.preventDefault();const u=i();s(u[u.length-1])}};return()=>h("div",{class:F("tabs",{"tabs-compact":e.compact,"tabs-vertical":e.vertical})},[h("div",{class:"tabs-list",role:"tablist","aria-label":e.ariaLabel},e.items.map(o=>{const f=o.id===l.value,u=`${o.id}-panel`;return h("button",{class:F("tab",{"tab-active":f}),type:"button",role:"tab","aria-selected":f?"true":"false","aria-controls":u,"aria-disabled":o.disabled?"true":void 0,tabindex:f?"0":"-1",onClick:()=>s(o),onKeydown:p=>a(p,o)},[le(o.icon),o.label])})),h("div",{class:"tabs-panels"},e.items.map(o=>{var f,u;const p=o.id===l.value;return h("div",{id:`${o.id}-panel`,class:F("tab-panel",{"tab-panel-active":p}),role:"tabpanel",hidden:!p},((f=n[o.id])==null?void 0:f.call(n,{item:o,active:p}))||p&&((u=n.default)==null?void 0:u.call(n,{item:o,active:p})))}))])}}),ma=j({name:"GnSearchField",inheritAttrs:!1,props:{modelValue:{type:String,default:""},placeholder:{type:String,default:"Search"},compact:{type:Boolean,default:!0},clearable:{type:Boolean,default:!0}},emits:["update:modelValue","clear"],setup(e,{attrs:t,emit:n}){const l=()=>{n("update:modelValue",""),n("clear")};return()=>h("div",{class:F("input-group search-field",{"input-group-compact":e.compact})},[h("span",{class:"input-group-addon"},[le("ph-magnifying-glass")]),h("input",{...t,type:"search",value:e.modelValue,placeholder:e.placeholder,class:F("input-group-input",t.class),onInput:s=>n("update:modelValue",_n(s))}),e.clearable&&h("button",{class:"input-group-action",type:"button","aria-label":"Clear search",onClick:l},[le("ph-x")])])}}),va=j({name:"GnTooltip",inheritAttrs:!1,props:{text:{type:String,default:""}},setup(e,{attrs:t,slots:n}){const l=Y(!1);return()=>{var s,i;return h("span",{...t,class:F("tooltip",{"is-open":l.value},t.class),tabindex:"0",onFocusin:()=>{l.value=!0},onFocusout:()=>{l.value=!1}},[(s=n.default)==null?void 0:s.call(n),h("span",{class:"tooltip-panel",role:"tooltip"},((i=n.panel)==null?void 0:i.call(n))||e.text)])}}}),ni=Symbol("gnexus-ui-kit-toast"),Zl={info:"ph-info",success:"ph-check-circle",warning:"ph-warning",danger:"ph-warning-octagon",error:"ph-warning-octagon",primary:"ph-info",secondary:"ph-info"},_a=j({name:"GnToastProvider",props:{lifetime:{type:Number,default:4e3}},setup(e,{slots:t,expose:n}){const l=Y(null),s=Y(!1),i=Y(!1);let r=null,a=null,o=null;const f=Y(100),u=()=>{window.clearTimeout(a),window.clearInterval(o),s.value=!0,i.value=!1,a=window.setTimeout(()=>{l.value=null,s.value=!1,f.value=100,window.clearTimeout(r),r=null},300)},p=()=>{window.clearTimeout(a),window.clearTimeout(r),window.clearInterval(o),s.value=!1,i.value=!1,f.value=100,l.value=null},m=x=>{window.clearTimeout(a),window.clearInterval(o),s.value=!1,i.value=!1,f.value=100;const M=gt(x.variant||x.type||"info","info"),L=x.lifetime!==void 0?x.lifetime:e.lifetime;if(l.value={id:Date.now(),variant:M==="error"?"danger":M,title:x.title||"",text:x.text||x.message||"",icon:x.icon||Zl[M]||Zl.info,lifetime:L},window.clearTimeout(r),L!==0){const B=L/100;f.value=100,o=window.setInterval(()=>{f.value-=100/B,f.value<=0&&window.clearInterval(o)},100),r=window.setTimeout(u,L)}Ht(()=>{requestAnimationFrame(()=>{i.value=!0})})},A={show:m,close:p,info:x=>m({...x,variant:"info"}),success:x=>m({...x,variant:"success"}),warning:x=>m({...x,variant:"warning"}),danger:x=>m({...x,variant:"danger"}),error:x=>m({...x,variant:"danger"})};Es(ni,A),n(A);const S=()=>s.value?"a-hide":i.value?"a-show":"";return()=>{var x;return[(x=t.default)==null?void 0:x.call(t),l.value&&h("div",{class:F("toast",S(),`toast-${l.value.variant}`),role:"alert"},[h("div",{class:"toast-content"},[h("div",{class:"toast-header"},[le(l.value.icon),l.value.title]),l.value.text&&h("p",{class:"toast-text"},l.value.text)]),h("button",{class:"btn-icon toast-close",type:"button","aria-label":"Close",onClick:u},[le("ph-x")]),l.value.lifetime!==0&&h("div",{class:"toast-progress"},[h("div",{class:"toast-progress-bar",style:{transform:`scaleX(${Math.max(0,f.value/100)})`}})])])]}}}),ba=j({name:"GnUsageMeter",props:{title:{type:String,required:!0},value:{type:Number,required:!0},max:{type:Number,default:100},meta:{type:String,default:""}},setup(e,{slots:t}){return()=>{var n,l;const s=Math.max(0,Math.min(100,Math.round(e.value/e.max*100)));return h("section",{class:"usage-meter"},[h("h3",{class:"usage-meter-title"},[((n=t.title)==null?void 0:n.call(t))||e.title,h("span",{class:"usage-meter-value"},`${s}%`)]),h(ti,{value:e.value,max:e.max}),(e.meta||t.meta)&&h("p",{class:"usage-meter-meta"},((l=t.meta)==null?void 0:l.call(t))||e.meta)])}}});function ya(){const e=It(ni,null);if(e)return e;const t=()=>{throw new Error("GNexus UI Kit: useToast() requires near the app root.")};return{show:t,info:t,success:t,warning:t,danger:t,error:t,close:t}}const Sa={components:{GnButton:bn,GnActionCard:Wo,GnActivityLog:qo,GnAvatar:zo,GnBadge:ei,GnChip:Jo,GnChipGroup:Yo,GnCombobox:Qo,GnDescriptionList:na,GnDropdown:la,GnEmptyState:sa,GnFileUpload:ra,GnInput:oa,GnMetricCard:aa,GnModal:ta,GnPopover:ua,GnPageHeader:ca,GnProgress:ti,GnProgressStages:fa,GnRadioGroup:pa,GnRange:ha,GnSearchField:ma,GnTabs:ga,GnTooltip:va,GnUsageMeter:ba},setup(){const e=Y("overview"),t=Y(!1),n=Y("Launch Plan"),l=Y(""),s=Y("auto"),i=Y(72),r=Y(""),a=Y([]),o=ya();return{activeTab:e,activity:[{key:"created",time:"10:12",title:"Workspace created"},{key:"synced",time:"10:18",title:"Tokens synced"}],details:[{key:"owner",term:"Owner",value:"Ops Console"},{key:"status",term:"Status",value:"Active"},{key:"region",term:"Region",value:"eu-central"}],files:a,mode:s,menuItems:[{label:"Edit",icon:"ph-pencil-simple"},{label:"Duplicate",icon:"ph-copy"},{label:"Delete",icon:"ph-trash",danger:!0}],modalOpen:t,name:n,assignee:r,people:[{label:"Joe",value:"joe"},{label:"James",value:"james"},{label:"Eliza",value:"eliza"},{label:"Emily",value:"emily"}],query:l,rollout:i,modes:[{label:"Auto",value:"auto"},{label:"Manual",value:"manual"},{label:"Locked",value:"locked",disabled:!0}],stages:[{label:"Created",status:"complete"},{label:"Review",status:"current"},{label:"Deploy"},{label:"Done"}],tabs:[{id:"overview",label:"Overview",icon:"ph-chart-bar"},{id:"activity",label:"Activity",icon:"ph-clock"}],save:()=>{o.success({title:"Saved",text:`${n.value} updated`}),t.value=!1}}},template:` +
+ + + + +
+ + + +
+ +
+ + + + +
+ +
+
+ + + + +
+
+ +
+
+ + + +
+
+ +
+ +
+ +
+
+ +
+ +
+ +
+ + + +
+ + + + + +
+ `},xa={components:{GnToastProvider:_a,DemoScreen:Sa},template:` + + + + `};Uo(xa).mount("#app"); diff --git a/examples/vue/dist/index.html b/examples/vue/dist/index.html index 6a9eea0..ee79e98 100644 --- a/examples/vue/dist/index.html +++ b/examples/vue/dist/index.html @@ -4,7 +4,7 @@ GNexus UI Kit Vue Example - + diff --git a/src/vue/components/GnDrawer.js b/src/vue/components/GnDrawer.js index 3d39304..1b6a774 100644 --- a/src/vue/components/GnDrawer.js +++ b/src/vue/components/GnDrawer.js @@ -1,5 +1,6 @@ import { defineComponent, h, nextTick, onBeforeUnmount, ref, Teleport, watch } from "vue"; import { cx, iconNode, trapFocus } from "../utils.js"; +import { useOverlayTransition } from "../composables/use-overlay-transition.js"; let drawerId = 0; @@ -14,10 +15,8 @@ setup(props, { emit, slots }) { const titleId = `gn-drawer-title-${++drawerId}`; const panelRef = ref(null); - const visible = ref(false); - const closing = ref(false); + const { visible, closing, show: showTransition, hide: hideTransition, cancel: cancelTransition } = useOverlayTransition(); let previousFocus = null; - let closeTimer = null; const close = () => { emit("update:open", false); @@ -34,31 +33,21 @@ watch(() => props.open, open => { if(open) { - closing.value = true; - visible.value = true; - nextTick(() => { - requestAnimationFrame(() => { - closing.value = false; - }); - }); + showTransition(); previousFocus = document.activeElement; document.addEventListener("keydown", onKeydown); nextTick(() => panelRef.value?.focus()); } else { - closing.value = true; + hideTransition(); document.removeEventListener("keydown", onKeydown); previousFocus?.focus?.(); previousFocus = null; - closeTimer = window.setTimeout(() => { - visible.value = false; - closing.value = false; - }, 300); } }, { flush: "post" }); onBeforeUnmount(() => { document.removeEventListener("keydown", onKeydown); - window.clearTimeout(closeTimer); + cancelTransition(); }); return () => visible.value ? h(Teleport, { to: "body" }, [ diff --git a/src/vue/components/GnModal.js b/src/vue/components/GnModal.js index 877def1..90672e0 100644 --- a/src/vue/components/GnModal.js +++ b/src/vue/components/GnModal.js @@ -15,6 +15,7 @@ */ import { defineComponent, h, nextTick, onBeforeUnmount, ref, Teleport, watch } from "vue"; import { cx, iconNode, trapFocus } from "../utils.js"; +import { useOverlayTransition } from "../composables/use-overlay-transition.js"; let modalId = 0; @@ -29,10 +30,8 @@ setup(props, { emit, slots }) { const titleId = `gn-modal-title-${++modalId}`; const dialogRef = ref(null); - const visible = ref(false); - const closing = ref(false); + const { visible, closing, show: showTransition, hide: hideTransition, cancel: cancelTransition } = useOverlayTransition(); let previousFocus = null; - let closeTimer = null; const close = () => { emit("update:open", false); @@ -54,31 +53,21 @@ watch(() => props.open, open => { if(open) { - closing.value = true; - visible.value = true; - nextTick(() => { - requestAnimationFrame(() => { - closing.value = false; - }); - }); + showTransition(); previousFocus = document.activeElement; document.addEventListener("keydown", onKeydown); focusDialog(); } else { - closing.value = true; + hideTransition(); document.removeEventListener("keydown", onKeydown); previousFocus?.focus?.(); previousFocus = null; - closeTimer = window.setTimeout(() => { - visible.value = false; - closing.value = false; - }, 300); } }, { flush: "post", immediate: true }); onBeforeUnmount(() => { document.removeEventListener("keydown", onKeydown); - window.clearTimeout(closeTimer); + cancelTransition(); }); return () => visible.value ? h(Teleport, { to: "body" }, [ diff --git a/src/vue/composables/use-overlay-transition.js b/src/vue/composables/use-overlay-transition.js new file mode 100644 index 0000000..e574720 --- /dev/null +++ b/src/vue/composables/use-overlay-transition.js @@ -0,0 +1,52 @@ +/** + * Shared CSS-transition cycle for overlay components (modal, drawer, ...). + * + * Contract (see CLAUDE.md "CSS transitions + Vue render cycle"): the initial + * render of an opening overlay must carry the hidden state class ("a-hide") + * first, and the visible state class ("a-show") must be applied one + * nextTick + requestAnimationFrame later — otherwise the browser skips the + * transition entirely. + * + * Usage: + * const { visible, closing, show, hide, cancel } = useOverlayTransition(); + * // render nothing while !visible; class = closing ? "a-hide" : "a-show" + * // call show()/hide() from your open watcher, cancel() onBeforeUnmount. + * + * @param {Object} [options] + * @param {number} [options.duration=300] ms to keep the element mounted while + * the closing transition plays. + */ +import { nextTick, ref } from "vue"; + +export function useOverlayTransition({ duration = 300 } = {}) { + const visible = ref(false); + const closing = ref(false); + let closeTimer = null; + + const show = () => { + window.clearTimeout(closeTimer); + closing.value = true; + visible.value = true; + nextTick(() => { + requestAnimationFrame(() => { + closing.value = false; + }); + }); + }; + + const hide = () => { + closing.value = true; + closeTimer = window.setTimeout(() => { + visible.value = false; + closing.value = false; + }, duration); + }; + + const cancel = () => { + window.clearTimeout(closeTimer); + }; + + return { visible, closing, show, hide, cancel }; +} + +export default useOverlayTransition; \ No newline at end of file diff --git a/tests/unit/use-overlay-transition.spec.js b/tests/unit/use-overlay-transition.spec.js new file mode 100644 index 0000000..5f6d844 --- /dev/null +++ b/tests/unit/use-overlay-transition.spec.js @@ -0,0 +1,72 @@ +import { describe, expect, it } from "vitest"; +import { nextTick } from "vue"; +import { useOverlayTransition } from "../../src/vue/composables/use-overlay-transition.js"; +import { raf } from "../setup.js"; + +const sleep = ms => new Promise(resolve => setTimeout(resolve, ms)); + +describe("useOverlayTransition", () => { + it("starts hidden", () => { + const transition = useOverlayTransition(); + expect(transition.visible.value).toBe(false); + expect(transition.closing.value).toBe(false); + }); + + it("renders the hidden state first, then flips to visible after nextTick + rAF", async () => { + const transition = useOverlayTransition(); + + transition.show(); + expect(transition.visible.value).toBe(true); + expect(transition.closing.value).toBe(true); + + await nextTick(); + await raf(); + expect(transition.closing.value).toBe(false); + }); + + it("keeps the element mounted for the closing transition, then unmounts", async () => { + const transition = useOverlayTransition(); + transition.show(); + await nextTick(); + await raf(); + + transition.hide(); + expect(transition.visible.value).toBe(true); + + await sleep(150); + expect(transition.visible.value).toBe(true); + + await sleep(200); + expect(transition.visible.value).toBe(false); + expect(transition.closing.value).toBe(false); + }); + + it("a show() during the closing wait cancels the unmount", async () => { + const transition = useOverlayTransition(); + transition.show(); + await nextTick(); + await raf(); + + transition.hide(); + await sleep(100); + transition.show(); + await sleep(400); + expect(transition.visible.value).toBe(true); + + await nextTick(); + await raf(); + expect(transition.closing.value).toBe(false); + }); + + it("cancel() stops the pending unmount without changing state", async () => { + const transition = useOverlayTransition(); + transition.show(); + await nextTick(); + await raf(); + + transition.hide(); + transition.cancel(); + await sleep(400); + expect(transition.visible.value).toBe(true); + }); +}); \ No newline at end of file