@stonecrop/desktop 0.4.37 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"desktop.js","sources":["../src/components/ActionSet.vue","../src/components/CommandPalette.vue","../../aform/dist/aform.js","../../stonecrop/dist/stonecrop.js","../src/components/Doctype.vue","../../common/temp/node_modules/.pnpm/pinia@3.0.3_typescript@5.9.3_vue@3.5.22_typescript@5.9.3_/node_modules/pinia/dist/pinia.mjs","../../atable/dist/atable.js","../src/components/Records.vue","../src/components/SheetNav.vue","../src/plugins/index.ts"],"sourcesContent":["<template>\n\t<div\n\t\t:class=\"{ 'open-set': isOpen, 'hovered-and-closed': closeClicked }\"\n\t\tclass=\"action-set collapse\"\n\t\t@mouseover=\"onHover\"\n\t\t@mouseleave=\"onHoverLeave\">\n\t\t<div class=\"action-menu-icon\">\n\t\t\t<div id=\"chevron\" @click=\"closeClicked = !closeClicked\">\n\t\t\t\t<svg\n\t\t\t\t\tid=\"Layer_1\"\n\t\t\t\t\tclass=\"leftBar\"\n\t\t\t\t\tversion=\"1.1\"\n\t\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\t\txmlns:xlink=\"http://www.w3.org/1999/xlink\"\n\t\t\t\t\tx=\"0px\"\n\t\t\t\t\ty=\"0px\"\n\t\t\t\t\tviewBox=\"0 0 100 100\"\n\t\t\t\t\txml:space=\"preserve\"\n\t\t\t\t\twidth=\"50\"\n\t\t\t\t\theight=\"50\">\n\t\t\t\t\t<polygon points=\"54.2,33.4 29.2,58.8 25,54.6 50,29.2 \" />\n\t\t\t\t</svg>\n\n\t\t\t\t<svg\n\t\t\t\t\tid=\"Layer_1\"\n\t\t\t\t\tclass=\"rightBar\"\n\t\t\t\t\tversion=\"1.1\"\n\t\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\t\txmlns:xlink=\"http://www.w3.org/1999/xlink\"\n\t\t\t\t\tx=\"0px\"\n\t\t\t\t\ty=\"0px\"\n\t\t\t\t\tviewBox=\"0 0 100 100\"\n\t\t\t\t\txml:space=\"preserve\"\n\t\t\t\t\twidth=\"50\"\n\t\t\t\t\theight=\"50\">\n\t\t\t\t\t<polygon points=\"70.8,58.8 45.8,33.4 50,29.2 75,54.6 \" />\n\t\t\t\t</svg>\n\t\t\t</div>\n\t\t</div>\n\t\t<div style=\"margin-right: 30px\"></div>\n\t\t<div v-for=\"(el, index) in _elements\" :key=\"el.label\" class=\"action-element\">\n\t\t\t<button v-if=\"el.type == 'button'\" :onclick=\"el.action\" class=\"button-default\">{{ el.label }}</button>\n\t\t\t<div v-if=\"el.type == 'dropdown'\">\n\t\t\t\t<button class=\"button-default\" @click=\"toggleDropdown(index)\">{{ el.label }}</button>\n\t\t\t\t<div v-show=\"el.show\" class=\"dropdown-container\">\n\t\t\t\t\t<div class=\"dropdown\">\n\t\t\t\t\t\t<div v-for=\"item in el.actions\" :key=\"item.label\">\n\t\t\t\t\t\t\t<button v-if=\"item.action != null\" :onclick=\"item.action\" class=\"dropdown-item\">{{ item.label }}</button>\n\t\t\t\t\t\t\t<a v-else-if=\"item.link != null\" :href=\"item.link\"\n\t\t\t\t\t\t\t\t><button class=\"dropdown-item\">{{ item.label }}</button></a\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script setup lang=\"ts\">\nimport { onMounted, ref } from 'vue'\n\nimport type { ActionElements } from '../types'\n\nconst { elements = [] } = defineProps<{ elements?: ActionElements[] }>()\n\nconst _elements = ref(elements)\nconst isOpen = ref(false)\nconst timeoutId = ref<number>(-1)\nconst hover = ref(false)\nconst closeClicked = ref(false)\n\nonMounted(() => {\n\tcloseDropdowns()\n})\n\nconst closeDropdowns = () => {\n\tfor (const element of _elements.value) {\n\t\tif (element.type === 'dropdown') {\n\t\t\telement.show = false\n\t\t}\n\t}\n}\n\nconst onHover = () => {\n\thover.value = true\n\ttimeoutId.value = setTimeout(() => {\n\t\tif (hover.value) {\n\t\t\tisOpen.value = true\n\t\t}\n\t}, 500)\n}\n\nconst onHoverLeave = () => {\n\thover.value = false\n\tcloseClicked.value = false\n\tclearTimeout(timeoutId.value)\n\tisOpen.value = false\n}\n\nconst toggleDropdown = (index: number) => {\n\tconst showDropdown = !_elements.value[index].show\n\tcloseDropdowns()\n\t_elements.value[index].show = showDropdown\n}\n</script>\n\n<style scoped>\n#chevron {\n\tposition: relative;\n\ttransform: rotate(90deg);\n}\n\n.leftBar,\n.rightBar {\n\ttransition-duration: 0.225s;\n\ttransition-property: transform;\n}\n\n.leftBar,\n.action-set.collapse.hovered-and-closed:hover .leftBar {\n\ttransform-origin: 33.4% 50%;\n\ttransform: rotate(90deg);\n}\n\n.rightBar,\n.action-set.collapse.hovered-and-closed:hover .rightBar {\n\ttransform-origin: 67% 50%;\n\ttransform: rotate(-90deg);\n}\n\n.rightBar {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n}\n\n.action-set.collapse:hover .leftBar {\n\ttransform: rotate(0);\n}\n\n.action-set.collapse:hover .rightBar {\n\ttransform: rotate(0);\n}\n\n.action-set {\n\tposition: fixed;\n\ttop: 10px;\n\tright: 10px;\n\tpadding: 20px;\n\tbox-shadow: 0px 1px 2px rgba(25, 39, 52, 0.05), 0px 0px 4px rgba(25, 39, 52, 0.1);\n\tborder-radius: 10px;\n\tdisplay: flex;\n\tflex-direction: row-reverse;\n\tbackground-color: white;\n\toverflow: hidden;\n}\n\n.action-menu-icon {\n\tposition: absolute;\n\ttop: 6px;\n\tright: 8px;\n}\n\n.action-menu-icon svg {\n\tfill: #333333;\n}\n\n.action-set.collapse,\n.action-set.collapse.hovered-and-closed:hover {\n\tmax-width: 25px;\n\toverflow: hidden;\n\n\t-webkit-transition: max-width 0.5s ease-in-out;\n\t-moz-transition: max-width 0.5s ease-in-out;\n\t-o-transition: max-width 0.5s ease-in-out;\n\ttransition: max-width 0.5s ease-in-out;\n}\n\n.action-set.collapse .action-element,\n.action-set.collapse.hovered-and-closed:hover .action-element {\n\topacity: 0;\n\t-webkit-transition: opacity 0.25s ease-in-out;\n\t-moz-transition: opacity 0.25s ease-in-out;\n\t-o-transition: opacity 0.25s ease-in-out;\n\ttransition: opacity 0.25s ease-in-out;\n\ttransition-delay: 0s;\n}\n\n.action-set.collapse:hover {\n\tmax-width: 500px;\n}\n\n.action-set.collapse.open-set:hover {\n\toverflow: visible !important;\n}\n\n.action-set.collapse.hovered-and-closed:hover .action-element {\n\topacity: 0 !important;\n\t/* transition-delay: 0.5s; */\n}\n\n.action-set.collapse:hover .action-element {\n\topacity: 100 !important;\n\t/* transition-delay: 0.5s; */\n}\n\n.action-element {\n\tmargin-left: 5px;\n\tmargin-right: 5px;\n}\nbutton.button-default {\n\tbackground-color: #ffffff;\n\tpadding: 5px 12px;\n\tborder-radius: 3px;\n\tbox-shadow: rgba(0, 0, 0, 0.05) 0px 0.5px 0px 0px, rgba(0, 0, 0, 0.08) 0px 0px 0px 1px,\n\t\trgba(0, 0, 0, 0.05) 0px 2px 4px 0px;\n\tborder: none;\n\tcursor: pointer;\n\twhite-space: nowrap;\n}\n\nbutton.button-default:hover {\n\tbackground-color: #f2f2f2;\n}\n\n.dropdown-container {\n\tposition: relative;\n}\n\n.dropdown {\n\tposition: absolute;\n\ttop: 5px;\n\tright: 0;\n\tmin-width: 200px;\n\tbox-shadow: 0 0.5rem 1rem rgb(0 0 0 / 18%);\n\tborder-radius: 10px;\n\tbackground-color: #ffffff;\n\tpadding: 10px;\n}\n\nbutton.dropdown-item {\n\twidth: 100%;\n\tpadding: 8px 5px;\n\ttext-align: left;\n\tborder: none;\n\tbackground-color: #ffffff;\n\tcursor: pointer;\n\tborder-radius: 5px;\n}\n\nbutton.dropdown-item:hover {\n\tbackground-color: #f2f2f2;\n}\n</style>\n","<template>\n\t<Teleport to=\"body\">\n\t\t<Transition name=\"fade\">\n\t\t\t<div v-if=\"isOpen\" class=\"command-palette-overlay\" @click=\"closeModal\">\n\t\t\t\t<div class=\"command-palette\" @click.stop>\n\t\t\t\t\t<div class=\"command-palette-header\">\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\tref=\"input\"\n\t\t\t\t\t\t\tv-model=\"query\"\n\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\tclass=\"command-palette-input\"\n\t\t\t\t\t\t\t:placeholder=\"placeholder\"\n\t\t\t\t\t\t\tautofocus\n\t\t\t\t\t\t\t@keydown=\"handleKeydown\" />\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div v-if=\"results.length\" class=\"command-palette-results\">\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tv-for=\"(result, index) in results\"\n\t\t\t\t\t\t\t:key=\"index\"\n\t\t\t\t\t\t\tclass=\"command-palette-result\"\n\t\t\t\t\t\t\t:class=\"{ selected: index === selectedIndex }\"\n\t\t\t\t\t\t\t@click=\"selectResult(result)\"\n\t\t\t\t\t\t\t@mouseover=\"selectedIndex = index\">\n\t\t\t\t\t\t\t<div class=\"result-title\">\n\t\t\t\t\t\t\t\t<slot name=\"title\" :result=\"result\" />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"result-content\">\n\t\t\t\t\t\t\t\t<slot name=\"content\" :result=\"result\" />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div v-else-if=\"query && !results.length\" class=\"command-palette-no-results\">\n\t\t\t\t\t\t<slot name=\"empty\"> No results found for \"{{ query }}\" </slot>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</Transition>\n\t</Teleport>\n</template>\n\n<script setup lang=\"ts\" generic=\"T\">\nimport { ref, computed, watch, nextTick, useTemplateRef } from 'vue'\n\ndefineSlots<{\n\ttitle?: { result: T }\n\tcontent?: { result: T }\n\tempty?: null\n}>()\n\nconst {\n\tsearch,\n\tisOpen = false,\n\tplaceholder = 'Type a command or search...',\n\tmaxResults = 10,\n} = defineProps<{\n\tsearch: (query: string) => T[]\n\tisOpen?: boolean\n\tplaceholder?: string\n\tmaxResults?: number\n}>()\n\nconst emit = defineEmits<{\n\tselect: [T]\n\tclose: []\n}>()\n\nconst query = ref('')\nconst selectedIndex = ref(0)\nconst inputRef = useTemplateRef('input')\n\nconst results = computed(() => {\n\tif (!query.value) return []\n\tconst results = search(query.value)\n\treturn results.slice(0, maxResults)\n})\n\n// reset search query when modal opens\nwatch(\n\t() => isOpen,\n\tasync isOpen => {\n\t\tif (isOpen) {\n\t\t\tquery.value = ''\n\t\t\tselectedIndex.value = 0\n\t\t\tawait nextTick()\n\t\t\t;(inputRef.value as HTMLInputElement)?.focus()\n\t\t}\n\t}\n)\n\n// reset selected index when results change\nwatch(results, () => {\n\tselectedIndex.value = 0\n})\n\nconst closeModal = () => {\n\temit('close')\n}\n\nconst handleKeydown = (e: KeyboardEvent) => {\n\tswitch (e.key) {\n\t\tcase 'Escape':\n\t\t\tcloseModal()\n\t\t\tbreak\n\t\tcase 'ArrowDown':\n\t\t\te.preventDefault()\n\t\t\tif (results.value.length) {\n\t\t\t\tselectedIndex.value = (selectedIndex.value + 1) % results.value.length\n\t\t\t}\n\t\t\tbreak\n\t\tcase 'ArrowUp':\n\t\t\te.preventDefault()\n\t\t\tif (results.value.length) {\n\t\t\t\tselectedIndex.value = (selectedIndex.value - 1 + results.value.length) % results.value.length\n\t\t\t}\n\t\t\tbreak\n\t\tcase 'Enter':\n\t\t\tif (results.value.length && selectedIndex.value >= 0) {\n\t\t\t\tselectResult(results.value[selectedIndex.value])\n\t\t\t}\n\t\t\tbreak\n\t}\n}\n\nconst selectResult = (result: T) => {\n\temit('select', result)\n\tcloseModal()\n}\n</script>\n\n<style>\n.fade-enter-active,\n.fade-leave-active {\n\ttransition: opacity 0.2s ease;\n}\n\n.fade-enter-from,\n.fade-leave-to {\n\topacity: 0;\n}\n\n.command-palette-overlay {\n\tposition: fixed;\n\ttop: 0;\n\tleft: 0;\n\twidth: 100%;\n\theight: 100%;\n\tbackground-color: rgba(0, 0, 0, 0.5);\n\tdisplay: flex;\n\talign-items: flex-start;\n\tjustify-content: center;\n\tz-index: 9999;\n\tpadding-top: 100px;\n}\n\n.command-palette {\n\twidth: 600px;\n\tmax-width: 90%;\n\tbackground-color: white;\n\tborder-radius: 8px;\n\tbox-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);\n\toverflow: hidden;\n\tmax-height: 80vh;\n\tdisplay: flex;\n\tflex-direction: column;\n}\n\n.command-palette-header {\n\tdisplay: flex;\n\tborder-bottom: 1px solid #eaeaea;\n\tpadding: 12px;\n}\n\n.command-palette-input {\n\tflex: 1;\n\tborder: none;\n\toutline: none;\n\tfont-size: 16px;\n\tpadding: 8px 12px;\n\tbackground-color: transparent;\n}\n\n.command-palette-close {\n\tbackground: transparent;\n\tborder: none;\n\tfont-size: 24px;\n\tcursor: pointer;\n\tcolor: #666;\n\tpadding: 0 8px;\n}\n\n.command-palette-close:hover {\n\tcolor: #333;\n}\n\n.command-palette-results {\n\toverflow-y: auto;\n\tmax-height: 60vh;\n}\n\n.command-palette-result {\n\tpadding: 12px 16px;\n\tcursor: pointer;\n\tborder-bottom: 1px solid #f0f0f0;\n}\n\n.command-palette-result:hover,\n.command-palette-result.selected {\n\tbackground-color: #f5f5f5;\n}\n\n.command-palette-result.selected {\n\tbackground-color: rgba(132, 60, 3, 0.1);\n}\n\n.result-title {\n\tfont-weight: 500;\n\tmargin-bottom: 4px;\n\tcolor: #333;\n}\n\n.result-content {\n\tfont-size: 14px;\n\tcolor: #666;\n\twhite-space: nowrap;\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n}\n\n.command-palette-no-results {\n\tpadding: 20px 16px;\n\ttext-align: center;\n\tcolor: #666;\n}\n</style>\n","import { defineComponent as C, mergeModels as z, useModel as q, createElementBlock as b, openBlock as g, createElementVNode as c, withDirectives as M, toDisplayString as I, vModelCheckbox as Pe, vShow as U, resolveComponent as Fe, createBlock as le, withCtx as Re, useTemplateRef as De, vModelText as H, watch as F, getCurrentScope as Ee, onScopeDispose as Me, toRef as Oe, readonly as Ie, ref as D, customRef as He, computed as T, watchEffect as Ae, toValue as w, unref as S, shallowRef as G, reactive as Be, normalizeClass as X, withKeys as R, Fragment as j, renderList as Y, withModifiers as Te, onMounted as ae, onBeforeUnmount as qe, getCurrentInstance as Ue, nextTick as We, resolveDynamicComponent as Ne, mergeProps as je, renderSlot as Ye, createTextVNode as Ce, createCommentVNode as se, createVNode as Ke } from \"vue\";\nimport './assets/index.css';const ze = { class: \"aform_form-element\" }, Ge = [\"for\"], Je = { class: \"aform_checkbox-container aform_input-field\" }, Qe = [\"id\", \"readonly\", \"required\"], Xe = [\"innerHTML\"], Ze = /* @__PURE__ */ C({\n __name: \"ACheckbox\",\n props: /* @__PURE__ */ z({\n schema: {},\n label: {},\n mask: {},\n required: { type: Boolean },\n readonly: { type: Boolean },\n uuid: {},\n validation: { default: () => ({ errorMessage: \"&nbsp;\" }) }\n }, {\n modelValue: {},\n modelModifiers: {}\n }),\n emits: [\"update:modelValue\"],\n setup(e) {\n const t = q(e, \"modelValue\");\n return (n, o) => (g(), b(\"div\", ze, [\n c(\"label\", {\n class: \"aform_field-label\",\n for: e.uuid\n }, I(e.label), 9, Ge),\n c(\"span\", Je, [\n M(c(\"input\", {\n id: e.uuid,\n \"onUpdate:modelValue\": o[0] || (o[0] = (r) => t.value = r),\n type: \"checkbox\",\n class: \"aform_checkbox\",\n readonly: e.readonly,\n required: e.required\n }, null, 8, Qe), [\n [Pe, t.value]\n ])\n ]),\n M(c(\"p\", {\n class: \"aform_error\",\n innerHTML: e.validation.errorMessage\n }, null, 8, Xe), [\n [U, e.validation.errorMessage]\n ])\n ]));\n }\n}), _ = (e, t) => {\n const n = e.__vccOpts || e;\n for (const [o, r] of t)\n n[o] = r;\n return n;\n}, et = /* @__PURE__ */ _(Ze, [[\"__scopeId\", \"data-v-aaa1a4c4\"]]), tt = /* @__PURE__ */ C({\n __name: \"AComboBox\",\n props: [\"event\", \"cellData\", \"tableID\"],\n setup(e) {\n return (t, n) => {\n const o = Fe(\"ATableModal\");\n return g(), le(o, {\n event: e.event,\n \"cell-data\": e.cellData,\n class: \"amodal\"\n }, {\n default: Re(() => [...n[0] || (n[0] = [\n c(\"div\", null, [\n c(\"input\", { type: \"text\" }),\n c(\"input\", { type: \"text\" }),\n c(\"input\", { type: \"text\" })\n ], -1)\n ])]),\n _: 1\n }, 8, [\"event\", \"cell-data\"]);\n };\n }\n}), nt = [\"id\", \"disabled\", \"required\"], ot = [\"for\"], lt = [\"innerHTML\"], at = /* @__PURE__ */ C({\n __name: \"ADate\",\n props: /* @__PURE__ */ z({\n schema: {},\n label: { default: \"Date\" },\n mask: {},\n required: { type: Boolean },\n readonly: { type: Boolean },\n uuid: {},\n validation: { default: () => ({ errorMessage: \"&nbsp;\" }) }\n }, {\n modelValue: {\n // format the date to be compatible with the native input datepicker\n },\n modelModifiers: {}\n }),\n emits: [\"update:modelValue\"],\n setup(e) {\n const t = q(e, \"modelValue\", {\n // format the date to be compatible with the native input datepicker\n set: (r) => new Date(r).toISOString().split(\"T\")[0]\n }), n = De(\"date\"), o = () => {\n n.value && \"showPicker\" in HTMLInputElement.prototype && n.value.showPicker();\n };\n return (r, u) => (g(), b(\"div\", null, [\n M(c(\"input\", {\n id: e.uuid,\n ref: \"date\",\n \"onUpdate:modelValue\": u[0] || (u[0] = (s) => t.value = s),\n type: \"date\",\n disabled: e.readonly,\n required: e.required,\n onClick: o\n }, null, 8, nt), [\n [H, t.value]\n ]),\n c(\"label\", { for: e.uuid }, I(e.label), 9, ot),\n M(c(\"p\", {\n innerHTML: e.validation.errorMessage\n }, null, 8, lt), [\n [U, e.validation.errorMessage]\n ])\n ]));\n }\n}), st = /* @__PURE__ */ _(at, [[\"__scopeId\", \"data-v-455d9e30\"]]);\nfunction re(e, t) {\n return Ee() ? (Me(e, t), !0) : !1;\n}\n// @__NO_SIDE_EFFECTS__\nfunction me() {\n const e = /* @__PURE__ */ new Set(), t = (u) => {\n e.delete(u);\n };\n return {\n on: (u) => {\n e.add(u);\n const s = () => t(u);\n return re(s), { off: s };\n },\n off: t,\n trigger: (...u) => Promise.all(Array.from(e).map((s) => s(...u))),\n clear: () => {\n e.clear();\n }\n };\n}\nconst $e = typeof window < \"u\" && typeof document < \"u\";\ntypeof WorkerGlobalScope < \"u\" && globalThis instanceof WorkerGlobalScope;\nconst rt = Object.prototype.toString, it = (e) => rt.call(e) === \"[object Object]\", N = () => {\n}, ut = (e, t) => Object.prototype.hasOwnProperty.call(e, t);\nfunction ct(...e) {\n if (e.length !== 1) return Oe(...e);\n const t = e[0];\n return typeof t == \"function\" ? Ie(He(() => ({\n get: t,\n set: N\n }))) : D(t);\n}\nfunction Z(e) {\n return Array.isArray(e) ? e : [e];\n}\nfunction dt(e, t, n) {\n return F(e, t, {\n ...n,\n immediate: !0\n });\n}\nconst Se = $e ? window : void 0, ft = $e ? window.document : void 0;\nfunction O(e) {\n var t;\n const n = w(e);\n return (t = n?.$el) !== null && t !== void 0 ? t : n;\n}\nfunction ee(...e) {\n const t = [], n = () => {\n t.forEach((l) => l()), t.length = 0;\n }, o = (l, a, i, f) => (l.addEventListener(a, i, f), () => l.removeEventListener(a, i, f)), r = T(() => {\n const l = Z(w(e[0])).filter((a) => a != null);\n return l.every((a) => typeof a != \"string\") ? l : void 0;\n }), u = dt(() => {\n var l, a;\n return [\n (l = (a = r.value) === null || a === void 0 ? void 0 : a.map((i) => O(i))) !== null && l !== void 0 ? l : [Se].filter((i) => i != null),\n Z(w(r.value ? e[1] : e[0])),\n Z(S(r.value ? e[2] : e[1])),\n w(r.value ? e[3] : e[2])\n ];\n }, ([l, a, i, f]) => {\n if (n(), !l?.length || !a?.length || !i?.length) return;\n const v = it(f) ? { ...f } : f;\n t.push(...l.flatMap((d) => a.flatMap((p) => i.map((k) => o(d, p, k, v)))));\n }, { flush: \"post\" }), s = () => {\n u(), n();\n };\n return re(n), s;\n}\nfunction ve(e, t, n = {}) {\n const { window: o = Se, ignore: r = [], capture: u = !0, detectIframe: s = !1, controls: l = !1 } = n;\n if (!o) return l ? {\n stop: N,\n cancel: N,\n trigger: N\n } : N;\n let a = !0;\n const i = (m) => w(r).some((h) => {\n if (typeof h == \"string\") return Array.from(o.document.querySelectorAll(h)).some((E) => E === m.target || m.composedPath().includes(E));\n {\n const E = O(h);\n return E && (m.target === E || m.composedPath().includes(E));\n }\n });\n function f(m) {\n const h = w(m);\n return h && h.$.subTree.shapeFlag === 16;\n }\n function v(m, h) {\n const E = w(m), y = E.$.subTree && E.$.subTree.children;\n return y == null || !Array.isArray(y) ? !1 : y.some((x) => x.el === h.target || h.composedPath().includes(x.el));\n }\n const d = (m) => {\n const h = O(e);\n if (m.target != null && !(!(h instanceof Element) && f(e) && v(e, m)) && !(!h || h === m.target || m.composedPath().includes(h))) {\n if (\"detail\" in m && m.detail === 0 && (a = !i(m)), !a) {\n a = !0;\n return;\n }\n t(m);\n }\n };\n let p = !1;\n const k = [\n ee(o, \"click\", (m) => {\n p || (p = !0, setTimeout(() => {\n p = !1;\n }, 0), d(m));\n }, {\n passive: !0,\n capture: u\n }),\n ee(o, \"pointerdown\", (m) => {\n const h = O(e);\n a = !i(m) && !!(h && !m.composedPath().includes(h));\n }, { passive: !0 }),\n s && ee(o, \"blur\", (m) => {\n setTimeout(() => {\n var h;\n const E = O(e);\n ((h = o.document.activeElement) === null || h === void 0 ? void 0 : h.tagName) === \"IFRAME\" && !E?.contains(o.document.activeElement) && t(m);\n }, 0);\n }, { passive: !0 })\n ].filter(Boolean), A = () => k.forEach((m) => m());\n return l ? {\n stop: A,\n cancel: () => {\n a = !1;\n },\n trigger: (m) => {\n a = !0, d(m), a = !1;\n }\n } : A;\n}\nconst mt = {\n multiple: !0,\n accept: \"*\",\n reset: !1,\n directory: !1\n};\nfunction vt(e) {\n if (!e) return null;\n if (e instanceof FileList) return e;\n const t = new DataTransfer();\n for (const n of e) t.items.add(n);\n return t.files;\n}\nfunction pt(e = {}) {\n const { document: t = ft } = e, n = D(vt(e.initialFiles)), { on: o, trigger: r } = /* @__PURE__ */ me(), { on: u, trigger: s } = /* @__PURE__ */ me(), l = T(() => {\n var v;\n const d = (v = O(e.input)) !== null && v !== void 0 ? v : t ? t.createElement(\"input\") : void 0;\n return d && (d.type = \"file\", d.onchange = (p) => {\n n.value = p.target.files, r(n.value);\n }, d.oncancel = () => {\n s();\n }), d;\n }), a = () => {\n n.value = null, l.value && l.value.value && (l.value.value = \"\", r(null));\n }, i = (v) => {\n const d = l.value;\n d && (d.multiple = w(v.multiple), d.accept = w(v.accept), d.webkitdirectory = w(v.directory), ut(v, \"capture\") && (d.capture = w(v.capture)));\n }, f = (v) => {\n const d = l.value;\n if (!d) return;\n const p = {\n ...mt,\n ...e,\n ...v\n };\n i(p), w(p.reset) && a(), d.click();\n };\n return Ae(() => {\n i(e);\n }), {\n files: Ie(n),\n open: f,\n reset: a,\n onCancel: u,\n onChange: o\n };\n}\nfunction te(e) {\n return typeof Window < \"u\" && e instanceof Window ? e.document.documentElement : typeof Document < \"u\" && e instanceof Document ? e.documentElement : e;\n}\nconst ne = /* @__PURE__ */ new WeakMap();\nfunction ht(e, t = !1) {\n const n = G(t);\n let o = \"\";\n F(ct(e), (s) => {\n const l = te(w(s));\n if (l) {\n const a = l;\n if (ne.get(a) || ne.set(a, a.style.overflow), a.style.overflow !== \"hidden\" && (o = a.style.overflow), a.style.overflow === \"hidden\") return n.value = !0;\n if (n.value) return a.style.overflow = \"hidden\";\n }\n }, { immediate: !0 });\n const r = () => {\n const s = te(w(e));\n !s || n.value || (s.style.overflow = \"hidden\", n.value = !0);\n }, u = () => {\n const s = te(w(e));\n !s || !n.value || (s.style.overflow = o, ne.delete(s), n.value = !1);\n };\n return re(u), T({\n get() {\n return n.value;\n },\n set(s) {\n s ? r() : u();\n }\n });\n}\nconst oe = /* @__PURE__ */ new WeakMap(), gt = {\n mounted(e, t) {\n const n = !t.modifiers.bubble;\n let o;\n if (typeof t.value == \"function\") o = ve(e, t.value, { capture: n });\n else {\n const [r, u] = t.value;\n o = ve(e, r, Object.assign({ capture: n }, u));\n }\n oe.set(e, o);\n },\n unmounted(e) {\n const t = oe.get(e);\n t && typeof t == \"function\" ? t() : t?.stop(), oe.delete(e);\n }\n};\nfunction yt() {\n let e = !1;\n const t = G(!1);\n return (n, o) => {\n if (t.value = o.value, e) return;\n e = !0;\n const r = ht(n, o.value);\n F(t, (u) => r.value = u);\n };\n}\nyt();\nconst bt = { class: \"input-wrapper\" }, wt = {\n id: \"autocomplete-results\",\n class: \"autocomplete-results\"\n}, kt = {\n key: 0,\n class: \"loading autocomplete-result\"\n}, xt = [\"onClick\"], Dt = /* @__PURE__ */ C({\n __name: \"ADropdown\",\n props: /* @__PURE__ */ z({\n label: {},\n items: { default: () => [] },\n isAsync: { type: Boolean, default: !1 },\n filterFunction: { type: Function, default: void 0 }\n }, {\n modelValue: {},\n modelModifiers: {}\n }),\n emits: [\"update:modelValue\"],\n setup(e) {\n const t = q(e, \"modelValue\"), n = Be({\n activeItemIndex: null,\n open: !1,\n loading: !1,\n results: e.items\n }), o = () => l(), r = async () => {\n if (n.open = !0, n.activeItemIndex = null, e.filterFunction) {\n e.isAsync && (n.loading = !0);\n try {\n const d = await e.filterFunction(t.value || \"\");\n n.results = d || [];\n } catch {\n n.results = [];\n } finally {\n e.isAsync && (n.loading = !1);\n }\n } else\n a();\n }, u = (d) => {\n t.value = d, l(d);\n }, s = () => {\n n.activeItemIndex = e.isAsync ? null : t.value && e.items?.indexOf(t.value) || null, n.open = !0, n.results = e.isAsync ? [] : e.items;\n }, l = (d) => {\n n.activeItemIndex = null, n.open = !1, e.items?.includes(d || t.value || \"\") || (t.value = \"\");\n }, a = () => {\n t.value ? n.results = e.items?.filter((d) => d.toLowerCase().includes((t.value ?? \"\").toLowerCase())) : n.results = e.items;\n }, i = () => {\n const d = n.results?.length || 0;\n if (n.activeItemIndex != null) {\n const p = isNaN(n.activeItemIndex) ? 0 : n.activeItemIndex;\n n.activeItemIndex = (p + 1) % d;\n } else\n n.activeItemIndex = 0;\n }, f = () => {\n const d = n.results?.length || 0;\n if (n.activeItemIndex != null) {\n const p = isNaN(n.activeItemIndex) ? 0 : n.activeItemIndex;\n p === 0 ? n.activeItemIndex = null : n.activeItemIndex = p - 1;\n } else\n n.activeItemIndex = d - 1;\n }, v = () => {\n if (n.results) {\n const d = n.activeItemIndex || 0, p = n.results[d];\n u(p);\n }\n n.activeItemIndex = 0;\n };\n return (d, p) => M((g(), b(\"div\", {\n class: X([\"autocomplete\", { isOpen: n.open }])\n }, [\n c(\"div\", bt, [\n M(c(\"input\", {\n \"onUpdate:modelValue\": p[0] || (p[0] = (k) => t.value = k),\n type: \"text\",\n onInput: r,\n onFocus: s,\n onKeydown: [\n R(i, [\"down\"]),\n R(f, [\"up\"]),\n R(v, [\"enter\"]),\n R(o, [\"esc\"]),\n R(o, [\"tab\"])\n ]\n }, null, 544), [\n [H, t.value]\n ]),\n M(c(\"ul\", wt, [\n n.loading ? (g(), b(\"li\", kt, \"Loading results...\")) : (g(!0), b(j, { key: 1 }, Y(n.results, (k, A) => (g(), b(\"li\", {\n key: k,\n class: X([\"autocomplete-result\", { \"is-active\": A === n.activeItemIndex }]),\n onClick: Te((m) => u(k), [\"stop\"])\n }, I(k), 11, xt))), 128))\n ], 512), [\n [U, n.open]\n ]),\n c(\"label\", null, I(e.label), 1)\n ])\n ], 2)), [\n [S(gt), o]\n ]);\n }\n}), Et = /* @__PURE__ */ _(Dt, [[\"__scopeId\", \"data-v-31a6db8c\"]]);\nfunction ie(e, t) {\n return Ee() ? (Me(e, t), !0) : !1;\n}\nconst Mt = typeof window < \"u\" && typeof document < \"u\";\ntypeof WorkerGlobalScope < \"u\" && globalThis instanceof WorkerGlobalScope;\nconst It = (e) => e != null, At = Object.prototype.toString, Tt = (e) => At.call(e) === \"[object Object]\", Ct = () => {\n};\nfunction Q(e) {\n return Array.isArray(e) ? e : [e];\n}\nfunction $t(e, t, n) {\n return F(e, t, {\n ...n,\n immediate: !0\n });\n}\nconst W = Mt ? window : void 0;\nfunction B(e) {\n var t;\n const n = w(e);\n return (t = n?.$el) !== null && t !== void 0 ? t : n;\n}\nfunction K(...e) {\n const t = [], n = () => {\n t.forEach((l) => l()), t.length = 0;\n }, o = (l, a, i, f) => (l.addEventListener(a, i, f), () => l.removeEventListener(a, i, f)), r = T(() => {\n const l = Q(w(e[0])).filter((a) => a != null);\n return l.every((a) => typeof a != \"string\") ? l : void 0;\n }), u = $t(() => {\n var l, a;\n return [\n (l = (a = r.value) === null || a === void 0 ? void 0 : a.map((i) => B(i))) !== null && l !== void 0 ? l : [W].filter((i) => i != null),\n Q(w(r.value ? e[1] : e[0])),\n Q(S(r.value ? e[2] : e[1])),\n w(r.value ? e[3] : e[2])\n ];\n }, ([l, a, i, f]) => {\n if (n(), !l?.length || !a?.length || !i?.length) return;\n const v = Tt(f) ? { ...f } : f;\n t.push(...l.flatMap((d) => a.flatMap((p) => i.map((k) => o(d, p, k, v)))));\n }, { flush: \"post\" }), s = () => {\n u(), n();\n };\n return ie(n), s;\n}\n// @__NO_SIDE_EFFECTS__\nfunction St() {\n const e = G(!1), t = Ue();\n return t && ae(() => {\n e.value = !0;\n }, t), e;\n}\n// @__NO_SIDE_EFFECTS__\nfunction _t(e) {\n const t = /* @__PURE__ */ St();\n return T(() => (t.value, !!e()));\n}\nfunction Lt(e, t, n = {}) {\n const { window: o = W, ...r } = n;\n let u;\n const s = /* @__PURE__ */ _t(() => o && \"MutationObserver\" in o), l = () => {\n u && (u.disconnect(), u = void 0);\n }, a = F(T(() => {\n const v = Q(w(e)).map(B).filter(It);\n return new Set(v);\n }), (v) => {\n l(), s.value && v.size && (u = new MutationObserver(t), v.forEach((d) => u.observe(d, r)));\n }, {\n immediate: !0,\n flush: \"post\"\n }), i = () => u?.takeRecords(), f = () => {\n a(), l();\n };\n return ie(f), {\n isSupported: s,\n stop: f,\n takeRecords: i\n };\n}\nfunction Vt(e, t, n = {}) {\n const { window: o = W, document: r = o?.document, flush: u = \"sync\" } = n;\n if (!o || !r) return Ct;\n let s;\n const l = (f) => {\n s?.(), s = f;\n }, a = Ae(() => {\n const f = B(e);\n if (f) {\n const { stop: v } = Lt(r, (d) => {\n d.map((p) => [...p.removedNodes]).flat().some((p) => p === f || p.contains(f)) && t(d);\n }, {\n window: o,\n childList: !0,\n subtree: !0\n });\n l(v);\n }\n }, { flush: u }), i = () => {\n a(), l();\n };\n return ie(i), i;\n}\n// @__NO_SIDE_EFFECTS__\nfunction Pt(e = {}) {\n var t;\n const { window: n = W, deep: o = !0, triggerOnRemoval: r = !1 } = e, u = (t = e.document) !== null && t !== void 0 ? t : n?.document, s = () => {\n let i = u?.activeElement;\n if (o)\n for (var f; i?.shadowRoot; ) i = i == null || (f = i.shadowRoot) === null || f === void 0 ? void 0 : f.activeElement;\n return i;\n }, l = G(), a = () => {\n l.value = s();\n };\n if (n) {\n const i = {\n capture: !0,\n passive: !0\n };\n K(n, \"blur\", (f) => {\n f.relatedTarget === null && a();\n }, i), K(n, \"focus\", a, i);\n }\n return r && Vt(l, a, { document: u }), a(), l;\n}\nconst Ft = \"focusin\", Rt = \"focusout\", Ot = \":focus-within\";\nfunction Ht(e, t = {}) {\n const { window: n = W } = t, o = T(() => B(e)), r = G(!1), u = T(() => r.value);\n if (!n || !(/* @__PURE__ */ Pt(t)).value) return { focused: u };\n const s = { passive: !0 };\n return K(o, Ft, () => r.value = !0, s), K(o, Rt, () => {\n var l, a, i;\n return r.value = (l = (a = o.value) === null || a === void 0 || (i = a.matches) === null || i === void 0 ? void 0 : i.call(a, Ot)) !== null && l !== void 0 ? l : !1;\n }, s), { focused: u };\n}\nfunction Bt(e, { window: t = W, scrollTarget: n } = {}) {\n const o = D(!1), r = () => {\n if (!t) return;\n const u = t.document, s = B(e);\n if (!s)\n o.value = !1;\n else {\n const l = s.getBoundingClientRect();\n o.value = l.top <= (t.innerHeight || u.documentElement.clientHeight) && l.left <= (t.innerWidth || u.documentElement.clientWidth) && l.bottom >= 0 && l.right >= 0;\n }\n };\n return F(\n () => B(e),\n () => r(),\n { immediate: !0, flush: \"post\" }\n ), t && K(n || t, \"scroll\", r, {\n capture: !1,\n passive: !0\n }), o;\n}\nconst L = (e) => {\n let t = Bt(e).value;\n return t = t && e.offsetHeight > 0, t;\n}, V = (e) => e.tabIndex >= 0, pe = (e) => {\n const t = e.target;\n return ue(t);\n}, ue = (e) => {\n let t;\n if (e instanceof HTMLTableCellElement) {\n const n = e.parentElement?.previousElementSibling;\n if (n) {\n const o = Array.from(n.children)[e.cellIndex];\n o && (t = o);\n }\n } else if (e instanceof HTMLTableRowElement) {\n const n = e.previousElementSibling;\n n && (t = n);\n }\n return t && (!V(t) || !L(t)) ? ue(t) : t;\n}, qt = (e) => {\n const t = e.target;\n let n;\n if (t instanceof HTMLTableCellElement) {\n const o = t.parentElement?.parentElement;\n if (o) {\n const r = o.firstElementChild?.children[t.cellIndex];\n r && (n = r);\n }\n } else if (t instanceof HTMLTableRowElement) {\n const o = t.parentElement;\n if (o) {\n const r = o.firstElementChild;\n r && (n = r);\n }\n }\n return n && (!V(n) || !L(n)) ? ce(n) : n;\n}, he = (e) => {\n const t = e.target;\n return ce(t);\n}, ce = (e) => {\n let t;\n if (e instanceof HTMLTableCellElement) {\n const n = e.parentElement?.nextElementSibling;\n if (n) {\n const o = Array.from(n.children)[e.cellIndex];\n o && (t = o);\n }\n } else if (e instanceof HTMLTableRowElement) {\n const n = e.nextElementSibling;\n n && (t = n);\n }\n return t && (!V(t) || !L(t)) ? ce(t) : t;\n}, Ut = (e) => {\n const t = e.target;\n let n;\n if (t instanceof HTMLTableCellElement) {\n const o = t.parentElement?.parentElement;\n if (o) {\n const r = o.lastElementChild?.children[t.cellIndex];\n r && (n = r);\n }\n } else if (t instanceof HTMLTableRowElement) {\n const o = t.parentElement;\n if (o) {\n const r = o.lastElementChild;\n r && (n = r);\n }\n }\n return n && (!V(n) || !L(n)) ? ue(n) : n;\n}, ge = (e) => {\n const t = e.target;\n return de(t);\n}, de = (e) => {\n let t;\n return e.previousElementSibling ? t = e.previousElementSibling : t = e.parentElement?.previousElementSibling?.lastElementChild, t && (!V(t) || !L(t)) ? de(t) : t;\n}, ye = (e) => {\n const t = e.target;\n return fe(t);\n}, fe = (e) => {\n let t;\n return e.nextElementSibling ? t = e.nextElementSibling : t = e.parentElement?.nextElementSibling?.firstElementChild, t && (!V(t) || !L(t)) ? fe(t) : t;\n}, be = (e) => {\n const t = e.target.parentElement?.firstElementChild;\n return t && (!V(t) || !L(t)) ? fe(t) : t;\n}, we = (e) => {\n const t = e.target.parentElement?.lastElementChild;\n return t && (!V(t) || !L(t)) ? de(t) : t;\n}, J = [\"alt\", \"control\", \"shift\", \"meta\"], Wt = {\n ArrowUp: \"up\",\n ArrowDown: \"down\",\n ArrowLeft: \"left\",\n ArrowRight: \"right\"\n}, _e = {\n \"keydown.up\": (e) => {\n const t = pe(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.down\": (e) => {\n const t = he(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.left\": (e) => {\n const t = ge(e);\n e.preventDefault(), e.stopPropagation(), t && t.focus();\n },\n \"keydown.right\": (e) => {\n const t = ye(e);\n e.preventDefault(), e.stopPropagation(), t && t.focus();\n },\n \"keydown.control.up\": (e) => {\n const t = qt(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.control.down\": (e) => {\n const t = Ut(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.control.left\": (e) => {\n const t = be(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.control.right\": (e) => {\n const t = we(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.end\": (e) => {\n const t = we(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.enter\": (e) => {\n if (e.target instanceof HTMLTableCellElement) {\n e.preventDefault(), e.stopPropagation();\n const t = he(e);\n t && t.focus();\n }\n },\n \"keydown.shift.enter\": (e) => {\n if (e.target instanceof HTMLTableCellElement) {\n e.preventDefault(), e.stopPropagation();\n const t = pe(e);\n t && t.focus();\n }\n },\n \"keydown.home\": (e) => {\n const t = be(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.tab\": (e) => {\n const t = ye(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.shift.tab\": (e) => {\n const t = ge(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n }\n};\nfunction Nt(e) {\n const t = (s) => {\n let l = null;\n return s.parent && (typeof s.parent == \"string\" ? l = document.querySelector(s.parent) : s.parent instanceof HTMLElement ? l = s.parent : l = s.parent.value), l;\n }, n = (s) => {\n const l = t(s);\n let a = [];\n if (typeof s.selectors == \"string\")\n a = l ? Array.from(l.querySelectorAll(s.selectors)) : Array.from(document.querySelectorAll(s.selectors));\n else if (Array.isArray(s.selectors))\n for (const i of s.selectors)\n i instanceof HTMLElement ? a.push(i) : a.push(i.$el);\n else if (s.selectors instanceof HTMLElement)\n a.push(s.selectors);\n else if (s.selectors?.value)\n if (Array.isArray(s.selectors.value))\n for (const i of s.selectors.value)\n i instanceof HTMLElement ? a.push(i) : a.push(i.$el);\n else\n a.push(s.selectors.value);\n return a;\n }, o = (s) => {\n const l = t(s);\n let a = [];\n return s.selectors ? a = n(s) : l && (a = Array.from(l.children).filter((i) => V(i) && L(i))), a;\n }, r = (s) => (l) => {\n const a = Wt[l.key] || l.key.toLowerCase();\n if (J.includes(a)) return;\n const i = s.handlers || _e;\n for (const f of Object.keys(i)) {\n const [v, ...d] = f.split(\".\");\n if (v === \"keydown\" && d.includes(a)) {\n const p = i[f], k = d.filter((m) => J.includes(m)), A = J.some((m) => {\n const h = m.charAt(0).toUpperCase() + m.slice(1);\n return l.getModifierState(h);\n });\n if (k.length > 0) {\n if (A) {\n for (const m of J)\n if (d.includes(m)) {\n const h = m.charAt(0).toUpperCase() + m.slice(1);\n l.getModifierState(h) && p(l);\n }\n }\n } else\n A || p(l);\n }\n }\n }, u = [];\n ae(() => {\n for (const s of e) {\n const l = t(s), a = o(s), i = r(s), f = l ? [l] : a;\n for (const v of f) {\n const { focused: d } = Ht(D(v)), p = F(d, (k) => {\n k ? v.addEventListener(\"keydown\", i) : v.removeEventListener(\"keydown\", i);\n });\n u.push(p);\n }\n }\n }), qe(() => {\n for (const s of u)\n s();\n });\n}\nconst jt = {\n ref: \"datepicker\",\n class: \"adatepicker\",\n tabindex: \"0\"\n}, Yt = {\n colspan: \"5\",\n tabindex: -1\n}, Kt = [\"onClick\", \"onKeydown\"], zt = 6, ke = 7, Gt = /* @__PURE__ */ C({\n __name: \"ADatePicker\",\n props: {\n modelValue: { default: /* @__PURE__ */ new Date() },\n modelModifiers: {}\n },\n emits: [\"update:modelValue\"],\n setup(e, { expose: t }) {\n const n = q(e, \"modelValue\"), o = D(new Date(n.value)), r = D(o.value.getMonth()), u = D(o.value.getFullYear()), s = D([]), l = De(\"datepicker\");\n ae(async () => {\n a(), await We();\n const y = document.getElementsByClassName(\"selectedDate\");\n if (y.length > 0)\n y[0].focus();\n else {\n const x = document.getElementsByClassName(\"todaysDate\");\n x.length > 0 && x[0].focus();\n }\n });\n const a = () => {\n s.value = [];\n const y = new Date(u.value, r.value, 1), x = y.getDay(), $ = y.setDate(y.getDate() - x);\n for (const P of Array(43).keys())\n s.value.push($ + P * 864e5);\n };\n F([r, u], a);\n const i = () => u.value -= 1, f = () => u.value += 1, v = () => {\n r.value == 0 ? (r.value = 11, i()) : r.value -= 1;\n }, d = () => {\n r.value == 11 ? (r.value = 0, f()) : r.value += 1;\n }, p = (y) => {\n const x = /* @__PURE__ */ new Date();\n if (r.value === x.getMonth())\n return x.toDateString() === new Date(y).toDateString();\n }, k = (y) => new Date(y).toDateString() === new Date(o.value).toDateString(), A = (y, x) => (y - 1) * ke + x, m = (y, x) => s.value[A(y, x)], h = (y) => {\n n.value = o.value = new Date(s.value[y]);\n }, E = T(() => new Date(u.value, r.value, 1).toLocaleDateString(void 0, {\n year: \"numeric\",\n month: \"long\"\n }));\n return Nt([\n {\n parent: l,\n selectors: \"td\",\n handlers: {\n ..._e,\n \"keydown.pageup\": v,\n \"keydown.shift.pageup\": i,\n \"keydown.pagedown\": d,\n \"keydown.shift.pagedown\": f,\n // TODO: this is a hack to override the stonecrop enter handler;\n // store context inside the component so that handlers can be setup consistently\n \"keydown.enter\": () => {\n }\n }\n }\n ]), t({ currentMonth: r, currentYear: u, selectedDate: o }), (y, x) => (g(), b(\"div\", jt, [\n c(\"table\", null, [\n c(\"tbody\", null, [\n c(\"tr\", null, [\n c(\"td\", {\n id: \"previous-month-btn\",\n tabindex: -1,\n onClick: v\n }, \"<\"),\n c(\"th\", Yt, I(E.value), 1),\n c(\"td\", {\n id: \"next-month-btn\",\n tabindex: -1,\n onClick: d\n }, \">\")\n ]),\n x[0] || (x[0] = c(\"tr\", { class: \"days-header\" }, [\n c(\"td\", null, \"M\"),\n c(\"td\", null, \"T\"),\n c(\"td\", null, \"W\"),\n c(\"td\", null, \"T\"),\n c(\"td\", null, \"F\"),\n c(\"td\", null, \"S\"),\n c(\"td\", null, \"S\")\n ], -1)),\n (g(), b(j, null, Y(zt, ($) => c(\"tr\", { key: $ }, [\n (g(), b(j, null, Y(ke, (P) => c(\"td\", {\n ref_for: !0,\n ref: \"celldate\",\n key: A($, P),\n contenteditable: !1,\n spellcheck: !1,\n tabindex: 0,\n class: X({\n todaysDate: p(m($, P)),\n selectedDate: k(m($, P))\n }),\n onClick: Te((Ve) => h(A($, P)), [\"prevent\", \"stop\"]),\n onKeydown: R((Ve) => h(A($, P)), [\"enter\"])\n }, I(new Date(m($, P)).getDate()), 43, Kt)), 64))\n ])), 64))\n ])\n ])\n ], 512));\n }\n}), Jt = /* @__PURE__ */ _(Gt, [[\"__scopeId\", \"data-v-056d2b5e\"]]), Qt = /* @__PURE__ */ C({\n __name: \"CollapseButton\",\n props: {\n collapsed: { type: Boolean }\n },\n setup(e) {\n return (t, n) => (g(), b(\"button\", {\n class: X([\"collapse-button\", e.collapsed ? \"rotated\" : \"unrotated\"])\n }, \"×\", 2));\n }\n}), Xt = /* @__PURE__ */ _(Qt, [[\"__scopeId\", \"data-v-6f1c1b45\"]]), Zt = { class: \"aform\" }, en = /* @__PURE__ */ C({\n __name: \"AForm\",\n props: {\n modelValue: {},\n data: {},\n readonly: { type: Boolean }\n },\n emits: [\"update:modelValue\"],\n setup(e, { emit: t }) {\n const n = t, o = D(e.data || {}), r = (s) => {\n let l = {};\n for (const [a, i] of Object.entries(s))\n [\"component\", \"fieldtype\"].includes(a) || (l[a] = i), a === \"rows\" && i && i.length === 0 && (l.rows = o.value[s.fieldname]);\n return l;\n }, u = T({\n get: () => e.modelValue.map((s, l) => T({\n get() {\n return s.value;\n },\n set: (a) => {\n e.modelValue[l].value = a, n(\"update:modelValue\", e.modelValue);\n }\n })),\n set: () => {\n }\n });\n return (s, l) => (g(), b(\"form\", Zt, [\n (g(!0), b(j, null, Y(e.modelValue, (a, i) => (g(), le(Ne(a.component), je({\n key: i,\n modelValue: u.value[i].value,\n \"onUpdate:modelValue\": (f) => u.value[i].value = f,\n schema: a,\n data: o.value[a.fieldname],\n readonly: e.readonly\n }, { ref_for: !0 }, r(a)), null, 16, [\"modelValue\", \"onUpdate:modelValue\", \"schema\", \"data\", \"readonly\"]))), 128))\n ]));\n }\n}), Le = /* @__PURE__ */ _(en, [[\"__scopeId\", \"data-v-da354cb0\"]]), tn = /* @__PURE__ */ C({\n __name: \"AFieldset\",\n props: {\n schema: {},\n label: {},\n collapsible: { type: Boolean },\n data: { default: () => ({}) }\n },\n setup(e, { expose: t }) {\n const n = D(!1), o = D(e.data || []), r = D(e.schema), u = (s) => {\n s.preventDefault(), e.collapsible && (n.value = !n.value);\n };\n return t({ collapsed: n }), (s, l) => (g(), b(\"fieldset\", null, [\n c(\"legend\", {\n onClick: u,\n onSubmit: u\n }, [\n Ce(I(e.label) + \" \", 1),\n e.collapsible ? (g(), le(Xt, {\n key: 0,\n collapsed: n.value\n }, null, 8, [\"collapsed\"])) : se(\"\", !0)\n ], 32),\n Ye(s.$slots, \"default\", { collapsed: n.value }, () => [\n M(Ke(Le, {\n modelValue: r.value,\n \"onUpdate:modelValue\": l[0] || (l[0] = (a) => r.value = a),\n data: o.value\n }, null, 8, [\"modelValue\", \"data\"]), [\n [U, !n.value]\n ])\n ], !0)\n ]));\n }\n}), nn = /* @__PURE__ */ _(tn, [[\"__scopeId\", \"data-v-40b2a95d\"]]), on = { class: \"aform_form-element aform_file-attach aform__grid--full\" }, ln = {\n key: 0,\n class: \"aform_file-attach-feedback\"\n}, an = [\"disabled\"], sn = /* @__PURE__ */ C({\n __name: \"AFileAttach\",\n props: {\n label: {}\n },\n setup(e) {\n const { files: t, open: n, reset: o, onChange: r } = pt(), u = T(() => `${t.value.length} ${t.value.length === 1 ? \"file\" : \"files\"}`);\n return r((s) => s), (s, l) => (g(), b(\"div\", on, [\n S(t) ? (g(), b(\"div\", ln, [\n c(\"p\", null, [\n l[2] || (l[2] = Ce(\" You have selected: \", -1)),\n c(\"b\", null, I(u.value), 1)\n ]),\n (g(!0), b(j, null, Y(S(t), (a) => (g(), b(\"li\", {\n key: a.name\n }, I(a.name), 1))), 128))\n ])) : se(\"\", !0),\n c(\"button\", {\n type: \"button\",\n class: \"aform_form-btn\",\n onClick: l[0] || (l[0] = (a) => S(n)())\n }, I(e.label), 1),\n c(\"button\", {\n type: \"button\",\n disabled: !S(t),\n class: \"aform_form-btn\",\n onClick: l[1] || (l[1] = (a) => S(o)())\n }, \"Reset\", 8, an)\n ]));\n }\n}), rn = /* @__PURE__ */ _(sn, [[\"__scopeId\", \"data-v-b700734f\"]]), un = { class: \"aform_form-element\" }, cn = [\"id\", \"disabled\", \"required\"], dn = [\"for\"], fn = [\"innerHTML\"], mn = /* @__PURE__ */ C({\n __name: \"ANumericInput\",\n props: /* @__PURE__ */ z({\n schema: {},\n label: {},\n mask: {},\n required: { type: Boolean },\n readonly: { type: Boolean },\n uuid: {},\n validation: { default: () => ({ errorMessage: \"&nbsp;\" }) }\n }, {\n modelValue: {},\n modelModifiers: {}\n }),\n emits: [\"update:modelValue\"],\n setup(e) {\n const t = q(e, \"modelValue\");\n return (n, o) => (g(), b(\"div\", un, [\n M(c(\"input\", {\n id: e.uuid,\n \"onUpdate:modelValue\": o[0] || (o[0] = (r) => t.value = r),\n class: \"aform_input-field\",\n type: \"number\",\n disabled: e.readonly,\n required: e.required\n }, null, 8, cn), [\n [H, t.value]\n ]),\n c(\"label\", {\n class: \"aform_field-label\",\n for: e.uuid\n }, I(e.label), 9, dn),\n M(c(\"p\", {\n class: \"aform_error\",\n innerHTML: e.validation.errorMessage\n }, null, 8, fn), [\n [U, e.validation.errorMessage]\n ])\n ]));\n }\n}), xe = {\n date: \"##/##/####\",\n datetime: \"####/##/## ##:##\",\n time: \"##:##\",\n fulltime: \"##:##:##\",\n phone: \"(###) ### - ####\",\n card: \"#### #### #### ####\"\n};\nfunction vn(e) {\n try {\n return Function(`\"use strict\";return (${e})`)();\n } catch {\n }\n}\nfunction pn(e) {\n let t = e.value;\n if (t) {\n const n = vn(t);\n if (n) {\n const o = e.instance?.locale;\n t = n(o);\n }\n } else {\n const o = e.instance?.schema?.fieldtype?.toLowerCase();\n o && xe[o] && (t = xe[o]);\n }\n return t;\n}\nfunction hn(e, t) {\n let n = e;\n const o = [t, \"/\", \"-\", \"(\", \")\", \" \"];\n for (const r of o)\n n = n.replaceAll(r, \"\");\n return n;\n}\nfunction gn(e, t, n) {\n let o = t;\n for (const r of e) {\n const u = o.indexOf(n);\n if (u !== -1) {\n const s = o.substring(0, u), l = o.substring(u + 1);\n o = s + r + l;\n }\n }\n return o.slice(0, t.length);\n}\nfunction yn(e, t) {\n const n = pn(t);\n if (!n) return;\n const o = \"#\", r = e.value, u = hn(r, o);\n if (u) {\n const s = gn(u, n, o);\n t.instance?.maskFilled && (t.instance.maskFilled = !s.includes(o)), e.value = s;\n } else\n e.value = n;\n}\nconst bn = { class: \"aform_form-element\" }, wn = [\"id\", \"disabled\", \"maxlength\", \"required\"], kn = [\"for\"], xn = [\"innerHTML\"], Dn = /* @__PURE__ */ C({\n __name: \"ATextInput\",\n props: /* @__PURE__ */ z({\n schema: {},\n label: {},\n mask: {},\n required: { type: Boolean },\n readonly: { type: Boolean },\n uuid: {},\n validation: { default: () => ({ errorMessage: \"&nbsp;\" }) }\n }, {\n modelValue: {},\n modelModifiers: {}\n }),\n emits: [\"update:modelValue\"],\n setup(e) {\n const t = D(!0), n = q(e, \"modelValue\");\n return (o, r) => (g(), b(\"div\", bn, [\n M(c(\"input\", {\n id: e.uuid,\n \"onUpdate:modelValue\": r[0] || (r[0] = (u) => n.value = u),\n class: \"aform_input-field\",\n disabled: e.readonly,\n maxlength: e.mask && t.value ? e.mask.length : void 0,\n required: e.required\n }, null, 8, wn), [\n [H, n.value],\n [S(yn), e.mask]\n ]),\n c(\"label\", {\n class: \"aform_field-label\",\n for: e.uuid\n }, I(e.label), 9, kn),\n M(c(\"p\", {\n class: \"aform_error\",\n innerHTML: e.validation.errorMessage\n }, null, 8, xn), [\n [U, e.validation.errorMessage]\n ])\n ]));\n }\n}), En = { class: \"login-container\" }, Mn = { class: \"account-container\" }, In = { class: \"account-header\" }, An = { id: \"account-title\" }, Tn = { id: \"account-subtitle\" }, Cn = { class: \"login-form-container\" }, $n = { class: \"login-form-email aform_form-element\" }, Sn = [\"disabled\"], _n = { class: \"login-form-password aform_form-element\" }, Ln = [\"disabled\"], Vn = [\"disabled\"], Pn = {\n key: 0,\n class: \"material-symbols-outlined loading-icon\"\n}, Fn = /* @__PURE__ */ C({\n __name: \"Login\",\n props: {\n headerTitle: { default: \"Login\" },\n headerSubtitle: { default: \"Enter your email and password to login\" }\n },\n emits: [\"loginFailed\", \"loginSuccess\"],\n setup(e, { emit: t }) {\n const n = t, o = D(\"\"), r = D(\"\"), u = D(!1), s = D(!1);\n function l(a) {\n if (a.preventDefault(), u.value = !0, s.value) {\n u.value = !1, n(\"loginFailed\");\n return;\n }\n u.value = !1, n(\"loginSuccess\");\n }\n return (a, i) => (g(), b(\"div\", En, [\n c(\"div\", null, [\n c(\"div\", Mn, [\n c(\"div\", In, [\n c(\"h1\", An, I(e.headerTitle), 1),\n c(\"p\", Tn, I(e.headerSubtitle), 1)\n ]),\n c(\"form\", { onSubmit: l }, [\n c(\"div\", Cn, [\n c(\"div\", $n, [\n i[2] || (i[2] = c(\"label\", {\n id: \"login-email\",\n for: \"email\",\n class: \"aform_field-label\"\n }, \"Email\", -1)),\n M(c(\"input\", {\n id: \"email\",\n \"onUpdate:modelValue\": i[0] || (i[0] = (f) => o.value = f),\n class: \"aform_input-field\",\n name: \"email\",\n placeholder: \"name@example.com\",\n type: \"email\",\n \"auto-capitalize\": \"none\",\n \"auto-complete\": \"email\",\n \"auto-correct\": \"off\",\n disabled: u.value\n }, null, 8, Sn), [\n [H, o.value]\n ])\n ]),\n c(\"div\", _n, [\n i[3] || (i[3] = c(\"label\", {\n id: \"login-password\",\n for: \"password\",\n class: \"aform_field-label\"\n }, \"Password\", -1)),\n M(c(\"input\", {\n id: \"password\",\n \"onUpdate:modelValue\": i[1] || (i[1] = (f) => r.value = f),\n class: \"aform_input-field\",\n name: \"password\",\n type: \"password\",\n disabled: u.value\n }, null, 8, Ln), [\n [H, r.value]\n ])\n ]),\n c(\"button\", {\n class: \"btn\",\n disabled: u.value || !o.value || !r.value,\n onClick: l\n }, [\n u.value ? (g(), b(\"span\", Pn, \"progress_activity\")) : se(\"\", !0),\n i[4] || (i[4] = c(\"span\", { id: \"login-form-button\" }, \"Login\", -1))\n ], 8, Vn)\n ])\n ], 32),\n i[5] || (i[5] = c(\"button\", { class: \"btn\" }, [\n c(\"span\", { id: \"forgot-password-button\" }, \"Forgot password?\")\n ], -1))\n ])\n ])\n ]));\n }\n}), On = /* @__PURE__ */ _(Fn, [[\"__scopeId\", \"data-v-d9ffd0a7\"]]);\nfunction Hn(e) {\n e.component(\"ACheckbox\", et), e.component(\"ACombobox\", tt), e.component(\"ADate\", st), e.component(\"ADropdown\", Et), e.component(\"ADatePicker\", Jt), e.component(\"AFieldset\", nn), e.component(\"AFileAttach\", rn), e.component(\"AForm\", Le), e.component(\"ANumericInput\", mn), e.component(\"ATextInput\", Dn);\n}\nexport {\n et as ACheckbox,\n tt as AComboBox,\n st as ADate,\n Jt as ADatePicker,\n Et as ADropdown,\n nn as AFieldset,\n rn as AFileAttach,\n Le as AForm,\n mn as ANumericInput,\n Dn as ATextInput,\n On as Login,\n Hn as install\n};\n//# sourceMappingURL=aform.js.map\n","import { effectScope as Fr, ref as ye, markRaw as se, toRaw as Me, watch as jr, unref as ms, hasInjectionContext as Es, inject as Hr, getCurrentInstance as vs, reactive as ys, isRef as Be, isReactive as Ut, toRef as pt, nextTick as gn, computed as zr, getCurrentScope as Ss, onScopeDispose as bs, toRefs as mn, onMounted as As } from \"vue\";\nfunction ws() {\n if (typeof globalThis < \"u\")\n return globalThis;\n if (typeof self < \"u\")\n return self;\n if (typeof window < \"u\")\n return window;\n if (typeof global < \"u\")\n return global;\n}\nfunction Os() {\n const e = ws();\n if (e.__xstate__)\n return e.__xstate__;\n}\nconst Ts = (e) => {\n if (typeof window > \"u\")\n return;\n const t = Os();\n t && t.register(e);\n};\nclass En {\n constructor(t) {\n this._process = t, this._active = !1, this._current = null, this._last = null;\n }\n start() {\n this._active = !0, this.flush();\n }\n clear() {\n this._current && (this._current.next = null, this._last = this._current);\n }\n enqueue(t) {\n const n = {\n value: t,\n next: null\n };\n if (this._current) {\n this._last.next = n, this._last = n;\n return;\n }\n this._current = n, this._last = n, this._active && this.flush();\n }\n flush() {\n for (; this._current; ) {\n const t = this._current;\n this._process(t.value), this._current = t.next;\n }\n this._last = null;\n }\n}\nconst Kr = \".\", Is = \"\", Gr = \"\", Cs = \"#\", ks = \"*\", Wr = \"xstate.init\", At = \"xstate.stop\";\nfunction Ds(e, t) {\n return {\n type: `xstate.after.${e}.${t}`\n };\n}\nfunction wt(e, t) {\n return {\n type: `xstate.done.state.${e}`,\n output: t\n };\n}\nfunction xs(e, t) {\n return {\n type: `xstate.done.actor.${e}`,\n output: t,\n actorId: e\n };\n}\nfunction Ps(e, t) {\n return {\n type: `xstate.error.actor.${e}`,\n error: t,\n actorId: e\n };\n}\nfunction Yr(e) {\n return {\n type: Wr,\n input: e\n };\n}\nfunction W(e) {\n setTimeout(() => {\n throw e;\n });\n}\nconst Rs = typeof Symbol == \"function\" && Symbol.observable || \"@@observable\";\nfunction qr(e, t) {\n const n = vn(e), r = vn(t);\n return typeof r == \"string\" ? typeof n == \"string\" ? r === n : !1 : typeof n == \"string\" ? n in r : Object.keys(n).every((o) => o in r ? qr(n[o], r[o]) : !1);\n}\nfunction Ft(e) {\n if (Xr(e))\n return e;\n const t = [];\n let n = \"\";\n for (let r = 0; r < e.length; r++) {\n switch (e.charCodeAt(r)) {\n // \\\n case 92:\n n += e[r + 1], r++;\n continue;\n // .\n case 46:\n t.push(n), n = \"\";\n continue;\n }\n n += e[r];\n }\n return t.push(n), t;\n}\nfunction vn(e) {\n if (hi(e))\n return e.value;\n if (typeof e != \"string\")\n return e;\n const t = Ft(e);\n return Ns(t);\n}\nfunction Ns(e) {\n if (e.length === 1)\n return e[0];\n const t = {};\n let n = t;\n for (let r = 0; r < e.length - 1; r++)\n if (r === e.length - 2)\n n[e[r]] = e[r + 1];\n else {\n const o = n;\n n = {}, o[e[r]] = n;\n }\n return t;\n}\nfunction yn(e, t) {\n const n = {}, r = Object.keys(e);\n for (let o = 0; o < r.length; o++) {\n const s = r[o];\n n[s] = t(e[s], s, e, o);\n }\n return n;\n}\nfunction Jr(e) {\n return Xr(e) ? e : [e];\n}\nfunction Z(e) {\n return e === void 0 ? [] : Jr(e);\n}\nfunction Ot(e, t, n, r) {\n return typeof e == \"function\" ? e({\n context: t,\n event: n,\n self: r\n }) : e;\n}\nfunction Xr(e) {\n return Array.isArray(e);\n}\nfunction Vs(e) {\n return e.type.startsWith(\"xstate.error.actor\");\n}\nfunction ge(e) {\n return Jr(e).map((t) => typeof t > \"u\" || typeof t == \"string\" ? {\n target: t\n } : t);\n}\nfunction Zr(e) {\n if (!(e === void 0 || e === Is))\n return Z(e);\n}\nfunction Tt(e, t, n) {\n const r = typeof e == \"object\", o = r ? e : void 0;\n return {\n next: (r ? e.next : e)?.bind(o),\n error: (r ? e.error : t)?.bind(o),\n complete: (r ? e.complete : n)?.bind(o)\n };\n}\nfunction Sn(e, t) {\n return `${t}.${e}`;\n}\nfunction jt(e, t) {\n const n = t.match(/^xstate\\.invoke\\.(\\d+)\\.(.*)/);\n if (!n)\n return e.implementations.actors[t];\n const [, r, o] = n, i = e.getStateNodeById(o).config.invoke;\n return (Array.isArray(i) ? i[r] : i).src;\n}\nfunction bn(e, t) {\n return `${e.sessionId}.${t}`;\n}\nlet Ls = 0;\nfunction Ms(e, t) {\n const n = /* @__PURE__ */ new Map(), r = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new WeakMap(), s = /* @__PURE__ */ new Set(), i = {}, {\n clock: u,\n logger: a\n } = t, c = {\n schedule: (f, d, h, m, g = Math.random().toString(36).slice(2)) => {\n const E = {\n source: f,\n target: d,\n event: h,\n delay: m,\n id: g,\n startedAt: Date.now()\n }, w = bn(f, g);\n l._snapshot._scheduledEvents[w] = E;\n const O = u.setTimeout(() => {\n delete i[w], delete l._snapshot._scheduledEvents[w], l._relay(f, d, h);\n }, m);\n i[w] = O;\n },\n cancel: (f, d) => {\n const h = bn(f, d), m = i[h];\n delete i[h], delete l._snapshot._scheduledEvents[h], m !== void 0 && u.clearTimeout(m);\n },\n cancelAll: (f) => {\n for (const d in l._snapshot._scheduledEvents) {\n const h = l._snapshot._scheduledEvents[d];\n h.source === f && c.cancel(f, h.id);\n }\n }\n }, p = (f) => {\n if (!s.size)\n return;\n const d = {\n ...f,\n rootId: e.sessionId\n };\n s.forEach((h) => h.next?.(d));\n }, l = {\n _snapshot: {\n _scheduledEvents: (t?.snapshot && t.snapshot.scheduler) ?? {}\n },\n _bookId: () => `x:${Ls++}`,\n _register: (f, d) => (n.set(f, d), f),\n _unregister: (f) => {\n n.delete(f.sessionId);\n const d = o.get(f);\n d !== void 0 && (r.delete(d), o.delete(f));\n },\n get: (f) => r.get(f),\n _set: (f, d) => {\n const h = r.get(f);\n if (h && h !== d)\n throw new Error(`Actor with system ID '${f}' already exists.`);\n r.set(f, d), o.set(d, f);\n },\n inspect: (f) => {\n const d = Tt(f);\n return s.add(d), {\n unsubscribe() {\n s.delete(d);\n }\n };\n },\n _sendInspectionEvent: p,\n _relay: (f, d, h) => {\n l._sendInspectionEvent({\n type: \"@xstate.event\",\n sourceRef: f,\n actorRef: d,\n event: h\n }), d._send(h);\n },\n scheduler: c,\n getSnapshot: () => ({\n _scheduledEvents: {\n ...l._snapshot._scheduledEvents\n }\n }),\n start: () => {\n const f = l._snapshot._scheduledEvents;\n l._snapshot._scheduledEvents = {};\n for (const d in f) {\n const {\n source: h,\n target: m,\n event: g,\n delay: E,\n id: w\n } = f[d];\n c.schedule(h, m, g, E, w);\n }\n },\n _clock: u,\n _logger: a\n };\n return l;\n}\nlet _t = !1;\nconst Ht = 1;\nlet L = /* @__PURE__ */ (function(e) {\n return e[e.NotStarted = 0] = \"NotStarted\", e[e.Running = 1] = \"Running\", e[e.Stopped = 2] = \"Stopped\", e;\n})({});\nconst Bs = {\n clock: {\n setTimeout: (e, t) => setTimeout(e, t),\n clearTimeout: (e) => clearTimeout(e)\n },\n logger: console.log.bind(console),\n devTools: !1\n};\nclass $s {\n /**\n * Creates a new actor instance for the given logic with the provided options,\n * if any.\n *\n * @param logic The logic to create an actor from\n * @param options Actor options\n */\n constructor(t, n) {\n this.logic = t, this._snapshot = void 0, this.clock = void 0, this.options = void 0, this.id = void 0, this.mailbox = new En(this._process.bind(this)), this.observers = /* @__PURE__ */ new Set(), this.eventListeners = /* @__PURE__ */ new Map(), this.logger = void 0, this._processingStatus = L.NotStarted, this._parent = void 0, this._syncSnapshot = void 0, this.ref = void 0, this._actorScope = void 0, this._systemId = void 0, this.sessionId = void 0, this.system = void 0, this._doneEvent = void 0, this.src = void 0, this._deferred = [];\n const r = {\n ...Bs,\n ...n\n }, {\n clock: o,\n logger: s,\n parent: i,\n syncSnapshot: u,\n id: a,\n systemId: c,\n inspect: p\n } = r;\n this.system = i ? i.system : Ms(this, {\n clock: o,\n logger: s\n }), p && !i && this.system.inspect(Tt(p)), this.sessionId = this.system._bookId(), this.id = a ?? this.sessionId, this.logger = n?.logger ?? this.system._logger, this.clock = n?.clock ?? this.system._clock, this._parent = i, this._syncSnapshot = u, this.options = r, this.src = r.src ?? t, this.ref = this, this._actorScope = {\n self: this,\n id: this.id,\n sessionId: this.sessionId,\n logger: this.logger,\n defer: (l) => {\n this._deferred.push(l);\n },\n system: this.system,\n stopChild: (l) => {\n if (l._parent !== this)\n throw new Error(`Cannot stop child actor ${l.id} of ${this.id} because it is not a child`);\n l._stop();\n },\n emit: (l) => {\n const f = this.eventListeners.get(l.type), d = this.eventListeners.get(\"*\");\n if (!f && !d)\n return;\n const h = [...f ? f.values() : [], ...d ? d.values() : []];\n for (const m of h)\n m(l);\n },\n actionExecutor: (l) => {\n const f = () => {\n if (this._actorScope.system._sendInspectionEvent({\n type: \"@xstate.action\",\n actorRef: this,\n action: {\n type: l.type,\n params: l.params\n }\n }), !l.exec)\n return;\n const d = _t;\n try {\n _t = !0, l.exec(l.info, l.params);\n } finally {\n _t = d;\n }\n };\n this._processingStatus === L.Running ? f() : this._deferred.push(f);\n }\n }, this.send = this.send.bind(this), this.system._sendInspectionEvent({\n type: \"@xstate.actor\",\n actorRef: this\n }), c && (this._systemId = c, this.system._set(c, this)), this._initState(n?.snapshot ?? n?.state), c && this._snapshot.status !== \"active\" && this.system._unregister(this);\n }\n _initState(t) {\n try {\n this._snapshot = t ? this.logic.restoreSnapshot ? this.logic.restoreSnapshot(t, this._actorScope) : t : this.logic.getInitialSnapshot(this._actorScope, this.options?.input);\n } catch (n) {\n this._snapshot = {\n status: \"error\",\n output: void 0,\n error: n\n };\n }\n }\n update(t, n) {\n this._snapshot = t;\n let r;\n for (; r = this._deferred.shift(); )\n try {\n r();\n } catch (o) {\n this._deferred.length = 0, this._snapshot = {\n ...t,\n status: \"error\",\n error: o\n };\n }\n switch (this._snapshot.status) {\n case \"active\":\n for (const o of this.observers)\n try {\n o.next?.(t);\n } catch (s) {\n W(s);\n }\n break;\n case \"done\":\n for (const o of this.observers)\n try {\n o.next?.(t);\n } catch (s) {\n W(s);\n }\n this._stopProcedure(), this._complete(), this._doneEvent = xs(this.id, this._snapshot.output), this._parent && this.system._relay(this, this._parent, this._doneEvent);\n break;\n case \"error\":\n this._error(this._snapshot.error);\n break;\n }\n this.system._sendInspectionEvent({\n type: \"@xstate.snapshot\",\n actorRef: this,\n event: n,\n snapshot: t\n });\n }\n /**\n * Subscribe an observer to an actor’s snapshot values.\n *\n * @remarks\n * The observer will receive the actor’s snapshot value when it is emitted.\n * The observer can be:\n *\n * - A plain function that receives the latest snapshot, or\n * - An observer object whose `.next(snapshot)` method receives the latest\n * snapshot\n *\n * @example\n *\n * ```ts\n * // Observer as a plain function\n * const subscription = actor.subscribe((snapshot) => {\n * console.log(snapshot);\n * });\n * ```\n *\n * @example\n *\n * ```ts\n * // Observer as an object\n * const subscription = actor.subscribe({\n * next(snapshot) {\n * console.log(snapshot);\n * },\n * error(err) {\n * // ...\n * },\n * complete() {\n * // ...\n * }\n * });\n * ```\n *\n * The return value of `actor.subscribe(observer)` is a subscription object\n * that has an `.unsubscribe()` method. You can call\n * `subscription.unsubscribe()` to unsubscribe the observer:\n *\n * @example\n *\n * ```ts\n * const subscription = actor.subscribe((snapshot) => {\n * // ...\n * });\n *\n * // Unsubscribe the observer\n * subscription.unsubscribe();\n * ```\n *\n * When the actor is stopped, all of its observers will automatically be\n * unsubscribed.\n *\n * @param observer - Either a plain function that receives the latest\n * snapshot, or an observer object whose `.next(snapshot)` method receives\n * the latest snapshot\n */\n subscribe(t, n, r) {\n const o = Tt(t, n, r);\n if (this._processingStatus !== L.Stopped)\n this.observers.add(o);\n else\n switch (this._snapshot.status) {\n case \"done\":\n try {\n o.complete?.();\n } catch (s) {\n W(s);\n }\n break;\n case \"error\": {\n const s = this._snapshot.error;\n if (!o.error)\n W(s);\n else\n try {\n o.error(s);\n } catch (i) {\n W(i);\n }\n break;\n }\n }\n return {\n unsubscribe: () => {\n this.observers.delete(o);\n }\n };\n }\n on(t, n) {\n let r = this.eventListeners.get(t);\n r || (r = /* @__PURE__ */ new Set(), this.eventListeners.set(t, r));\n const o = n.bind(void 0);\n return r.add(o), {\n unsubscribe: () => {\n r.delete(o);\n }\n };\n }\n /** Starts the Actor from the initial state */\n start() {\n if (this._processingStatus === L.Running)\n return this;\n this._syncSnapshot && this.subscribe({\n next: (r) => {\n r.status === \"active\" && this.system._relay(this, this._parent, {\n type: `xstate.snapshot.${this.id}`,\n snapshot: r\n });\n },\n error: () => {\n }\n }), this.system._register(this.sessionId, this), this._systemId && this.system._set(this._systemId, this), this._processingStatus = L.Running;\n const t = Yr(this.options.input);\n switch (this.system._sendInspectionEvent({\n type: \"@xstate.event\",\n sourceRef: this._parent,\n actorRef: this,\n event: t\n }), this._snapshot.status) {\n case \"done\":\n return this.update(this._snapshot, t), this;\n case \"error\":\n return this._error(this._snapshot.error), this;\n }\n if (this._parent || this.system.start(), this.logic.start)\n try {\n this.logic.start(this._snapshot, this._actorScope);\n } catch (r) {\n return this._snapshot = {\n ...this._snapshot,\n status: \"error\",\n error: r\n }, this._error(r), this;\n }\n return this.update(this._snapshot, t), this.options.devTools && this.attachDevTools(), this.mailbox.start(), this;\n }\n _process(t) {\n let n, r;\n try {\n n = this.logic.transition(this._snapshot, t, this._actorScope);\n } catch (o) {\n r = {\n err: o\n };\n }\n if (r) {\n const {\n err: o\n } = r;\n this._snapshot = {\n ...this._snapshot,\n status: \"error\",\n error: o\n }, this._error(o);\n return;\n }\n this.update(n, t), t.type === At && (this._stopProcedure(), this._complete());\n }\n _stop() {\n return this._processingStatus === L.Stopped ? this : (this.mailbox.clear(), this._processingStatus === L.NotStarted ? (this._processingStatus = L.Stopped, this) : (this.mailbox.enqueue({\n type: At\n }), this));\n }\n /** Stops the Actor and unsubscribe all listeners. */\n stop() {\n if (this._parent)\n throw new Error(\"A non-root actor cannot be stopped directly.\");\n return this._stop();\n }\n _complete() {\n for (const t of this.observers)\n try {\n t.complete?.();\n } catch (n) {\n W(n);\n }\n this.observers.clear();\n }\n _reportError(t) {\n if (!this.observers.size) {\n this._parent || W(t);\n return;\n }\n let n = !1;\n for (const r of this.observers) {\n const o = r.error;\n n ||= !o;\n try {\n o?.(t);\n } catch (s) {\n W(s);\n }\n }\n this.observers.clear(), n && W(t);\n }\n _error(t) {\n this._stopProcedure(), this._reportError(t), this._parent && this.system._relay(this, this._parent, Ps(this.id, t));\n }\n // TODO: atm children don't belong entirely to the actor so\n // in a way - it's not even super aware of them\n // so we can't stop them from here but we really should!\n // right now, they are being stopped within the machine's transition\n // but that could throw and leave us with \"orphaned\" active actors\n _stopProcedure() {\n return this._processingStatus !== L.Running ? this : (this.system.scheduler.cancelAll(this), this.mailbox.clear(), this.mailbox = new En(this._process.bind(this)), this._processingStatus = L.Stopped, this.system._unregister(this), this);\n }\n /** @internal */\n _send(t) {\n this._processingStatus !== L.Stopped && this.mailbox.enqueue(t);\n }\n /**\n * Sends an event to the running Actor to trigger a transition.\n *\n * @param event The event to send\n */\n send(t) {\n this.system._relay(void 0, this, t);\n }\n attachDevTools() {\n const {\n devTools: t\n } = this.options;\n t && (typeof t == \"function\" ? t : Ts)(this);\n }\n toJSON() {\n return {\n xstate$$type: Ht,\n id: this.id\n };\n }\n /**\n * Obtain the internal state of the actor, which can be persisted.\n *\n * @remarks\n * The internal state can be persisted from any actor, not only machines.\n *\n * Note that the persisted state is not the same as the snapshot from\n * {@link Actor.getSnapshot}. Persisted state represents the internal state of\n * the actor, while snapshots represent the actor's last emitted value.\n *\n * Can be restored with {@link ActorOptions.state}\n * @see https://stately.ai/docs/persistence\n */\n getPersistedSnapshot(t) {\n return this.logic.getPersistedSnapshot(this._snapshot, t);\n }\n [Rs]() {\n return this;\n }\n /**\n * Read an actor’s snapshot synchronously.\n *\n * @remarks\n * The snapshot represent an actor's last emitted value.\n *\n * When an actor receives an event, its internal state may change. An actor\n * may emit a snapshot when a state transition occurs.\n *\n * Note that some actors, such as callback actors generated with\n * `fromCallback`, will not emit snapshots.\n * @see {@link Actor.subscribe} to subscribe to an actor’s snapshot values.\n * @see {@link Actor.getPersistedSnapshot} to persist the internal state of an actor (which is more than just a snapshot).\n */\n getSnapshot() {\n return this._snapshot;\n }\n}\nfunction $e(e, ...[t]) {\n return new $s(e, t);\n}\nfunction Us(e, t, n, r, {\n sendId: o\n}) {\n const s = typeof o == \"function\" ? o(n, r) : o;\n return [t, {\n sendId: s\n }, void 0];\n}\nfunction Fs(e, t) {\n e.defer(() => {\n e.system.scheduler.cancel(e.self, t.sendId);\n });\n}\nfunction js(e) {\n function t(n, r) {\n }\n return t.type = \"xstate.cancel\", t.sendId = e, t.resolve = Us, t.execute = Fs, t;\n}\nfunction Hs(e, t, n, r, {\n id: o,\n systemId: s,\n src: i,\n input: u,\n syncSnapshot: a\n}) {\n const c = typeof i == \"string\" ? jt(t.machine, i) : i, p = typeof o == \"function\" ? o(n) : o;\n let l, f;\n return c && (f = typeof u == \"function\" ? u({\n context: t.context,\n event: n.event,\n self: e.self\n }) : u, l = $e(c, {\n id: p,\n src: i,\n parent: e.self,\n syncSnapshot: a,\n systemId: s,\n input: f\n })), [ce(t, {\n children: {\n ...t.children,\n [p]: l\n }\n }), {\n id: o,\n systemId: s,\n actorRef: l,\n src: i,\n input: f\n }, void 0];\n}\nfunction zs(e, {\n actorRef: t\n}) {\n t && e.defer(() => {\n t._processingStatus !== L.Stopped && t.start();\n });\n}\nfunction Ks(...[e, {\n id: t,\n systemId: n,\n input: r,\n syncSnapshot: o = !1\n} = {}]) {\n function s(i, u) {\n }\n return s.type = \"xstate.spawnChild\", s.id = t, s.systemId = n, s.src = e, s.input = r, s.syncSnapshot = o, s.resolve = Hs, s.execute = zs, s;\n}\nfunction Gs(e, t, n, r, {\n actorRef: o\n}) {\n const s = typeof o == \"function\" ? o(n, r) : o, i = typeof s == \"string\" ? t.children[s] : s;\n let u = t.children;\n return i && (u = {\n ...u\n }, delete u[i.id]), [ce(t, {\n children: u\n }), i, void 0];\n}\nfunction Ws(e, t) {\n if (t) {\n if (e.system._unregister(t), t._processingStatus !== L.Running) {\n e.stopChild(t);\n return;\n }\n e.defer(() => {\n e.stopChild(t);\n });\n }\n}\nfunction Qr(e) {\n function t(n, r) {\n }\n return t.type = \"xstate.stopChild\", t.actorRef = e, t.resolve = Gs, t.execute = Ws, t;\n}\nfunction zt(e, t, n, r) {\n const {\n machine: o\n } = r, s = typeof e == \"function\", i = s ? e : o.implementations.guards[typeof e == \"string\" ? e : e.type];\n if (!s && !i)\n throw new Error(`Guard '${typeof e == \"string\" ? e : e.type}' is not implemented.'.`);\n if (typeof i != \"function\")\n return zt(i, t, n, r);\n const u = {\n context: t,\n event: n\n }, a = s || typeof e == \"string\" ? void 0 : \"params\" in e ? typeof e.params == \"function\" ? e.params({\n context: t,\n event: n\n }) : e.params : void 0;\n return \"check\" in i ? i.check(\n r,\n u,\n i\n // this holds all params\n ) : i(u, a);\n}\nconst Kt = (e) => e.type === \"atomic\" || e.type === \"final\";\nfunction Se(e) {\n return Object.values(e.states).filter((t) => t.type !== \"history\");\n}\nfunction Ke(e, t) {\n const n = [];\n if (t === e)\n return n;\n let r = e.parent;\n for (; r && r !== t; )\n n.push(r), r = r.parent;\n return n;\n}\nfunction nt(e) {\n const t = new Set(e), n = to(t);\n for (const r of t)\n if (r.type === \"compound\" && (!n.get(r) || !n.get(r).length))\n An(r).forEach((o) => t.add(o));\n else if (r.type === \"parallel\") {\n for (const o of Se(r))\n if (o.type !== \"history\" && !t.has(o)) {\n const s = An(o);\n for (const i of s)\n t.add(i);\n }\n }\n for (const r of t) {\n let o = r.parent;\n for (; o; )\n t.add(o), o = o.parent;\n }\n return t;\n}\nfunction eo(e, t) {\n const n = t.get(e);\n if (!n)\n return {};\n if (e.type === \"compound\") {\n const o = n[0];\n if (o) {\n if (Kt(o))\n return o.key;\n } else\n return {};\n }\n const r = {};\n for (const o of n)\n r[o.key] = eo(o, t);\n return r;\n}\nfunction to(e) {\n const t = /* @__PURE__ */ new Map();\n for (const n of e)\n t.has(n) || t.set(n, []), n.parent && (t.has(n.parent) || t.set(n.parent, []), t.get(n.parent).push(n));\n return t;\n}\nfunction no(e, t) {\n const n = nt(t);\n return eo(e, to(n));\n}\nfunction Gt(e, t) {\n return t.type === \"compound\" ? Se(t).some((n) => n.type === \"final\" && e.has(n)) : t.type === \"parallel\" ? Se(t).every((n) => Gt(e, n)) : t.type === \"final\";\n}\nconst at = (e) => e[0] === Cs;\nfunction Ys(e, t) {\n return e.transitions.get(t) || [...e.transitions.keys()].filter((r) => {\n if (r === ks)\n return !0;\n if (!r.endsWith(\".*\"))\n return !1;\n const o = r.split(\".\"), s = t.split(\".\");\n for (let i = 0; i < o.length; i++) {\n const u = o[i], a = s[i];\n if (u === \"*\")\n return i === o.length - 1;\n if (u !== a)\n return !1;\n }\n return !0;\n }).sort((r, o) => o.length - r.length).flatMap((r) => e.transitions.get(r));\n}\nfunction qs(e) {\n const t = e.config.after;\n if (!t)\n return [];\n const n = (o) => {\n const s = Ds(o, e.id), i = s.type;\n return e.entry.push(Ai(s, {\n id: i,\n delay: o\n })), e.exit.push(js(i)), i;\n };\n return Object.keys(t).flatMap((o) => {\n const s = t[o], i = typeof s == \"string\" ? {\n target: s\n } : s, u = Number.isNaN(+o) ? o : +o, a = n(u);\n return Z(i).map((c) => ({\n ...c,\n event: a,\n delay: u\n }));\n }).map((o) => {\n const {\n delay: s\n } = o;\n return {\n ...oe(e, o.event, o),\n delay: s\n };\n });\n}\nfunction oe(e, t, n) {\n const r = Zr(n.target), o = n.reenter ?? !1, s = Zs(e, r), i = {\n ...n,\n actions: Z(n.actions),\n guard: n.guard,\n target: s,\n source: e,\n reenter: o,\n eventType: t,\n toJSON: () => ({\n ...i,\n source: `#${e.id}`,\n target: s ? s.map((u) => `#${u.id}`) : void 0\n })\n };\n return i;\n}\nfunction Js(e) {\n const t = /* @__PURE__ */ new Map();\n if (e.config.on)\n for (const n of Object.keys(e.config.on)) {\n if (n === Gr)\n throw new Error('Null events (\"\") cannot be specified as a transition key. Use `always: { ... }` instead.');\n const r = e.config.on[n];\n t.set(n, ge(r).map((o) => oe(e, n, o)));\n }\n if (e.config.onDone) {\n const n = `xstate.done.state.${e.id}`;\n t.set(n, ge(e.config.onDone).map((r) => oe(e, n, r)));\n }\n for (const n of e.invoke) {\n if (n.onDone) {\n const r = `xstate.done.actor.${n.id}`;\n t.set(r, ge(n.onDone).map((o) => oe(e, r, o)));\n }\n if (n.onError) {\n const r = `xstate.error.actor.${n.id}`;\n t.set(r, ge(n.onError).map((o) => oe(e, r, o)));\n }\n if (n.onSnapshot) {\n const r = `xstate.snapshot.${n.id}`;\n t.set(r, ge(n.onSnapshot).map((o) => oe(e, r, o)));\n }\n }\n for (const n of e.after) {\n let r = t.get(n.eventType);\n r || (r = [], t.set(n.eventType, r)), r.push(n);\n }\n return t;\n}\nfunction Xs(e, t) {\n const n = typeof t == \"string\" ? e.states[t] : t ? e.states[t.target] : void 0;\n if (!n && t)\n throw new Error(\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions, @typescript-eslint/no-base-to-string\n `Initial state node \"${t}\" not found on parent state node #${e.id}`\n );\n const r = {\n source: e,\n actions: !t || typeof t == \"string\" ? [] : Z(t.actions),\n eventType: null,\n reenter: !1,\n target: n ? [n] : [],\n toJSON: () => ({\n ...r,\n source: `#${e.id}`,\n target: n ? [`#${n.id}`] : []\n })\n };\n return r;\n}\nfunction Zs(e, t) {\n if (t !== void 0)\n return t.map((n) => {\n if (typeof n != \"string\")\n return n;\n if (at(n))\n return e.machine.getStateNodeById(n);\n const r = n[0] === Kr;\n if (r && !e.parent)\n return rt(e, n.slice(1));\n const o = r ? e.key + n : n;\n if (e.parent)\n try {\n return rt(e.parent, o);\n } catch (s) {\n throw new Error(`Invalid transition definition for state node '${e.id}':\n${s.message}`);\n }\n else\n throw new Error(`Invalid target: \"${n}\" is not a valid target from the root node. Did you mean \".${n}\"?`);\n });\n}\nfunction ro(e) {\n const t = Zr(e.config.target);\n return t ? {\n target: t.map((n) => typeof n == \"string\" ? rt(e.parent, n) : n)\n } : e.parent.initial;\n}\nfunction ie(e) {\n return e.type === \"history\";\n}\nfunction An(e) {\n const t = oo(e);\n for (const n of t)\n for (const r of Ke(n, e))\n t.add(r);\n return t;\n}\nfunction oo(e) {\n const t = /* @__PURE__ */ new Set();\n function n(r) {\n if (!t.has(r)) {\n if (t.add(r), r.type === \"compound\")\n n(r.initial.target[0]);\n else if (r.type === \"parallel\")\n for (const o of Se(r))\n n(o);\n }\n }\n return n(e), t;\n}\nfunction be(e, t) {\n if (at(t))\n return e.machine.getStateNodeById(t);\n if (!e.states)\n throw new Error(`Unable to retrieve child state '${t}' from '${e.id}'; no child states exist.`);\n const n = e.states[t];\n if (!n)\n throw new Error(`Child state '${t}' does not exist on '${e.id}'`);\n return n;\n}\nfunction rt(e, t) {\n if (typeof t == \"string\" && at(t))\n try {\n return e.machine.getStateNodeById(t);\n } catch {\n }\n const n = Ft(t).slice();\n let r = e;\n for (; n.length; ) {\n const o = n.shift();\n if (!o.length)\n break;\n r = be(r, o);\n }\n return r;\n}\nfunction ot(e, t) {\n if (typeof t == \"string\") {\n const o = e.states[t];\n if (!o)\n throw new Error(`State '${t}' does not exist on '${e.id}'`);\n return [e, o];\n }\n const n = Object.keys(t), r = n.map((o) => be(e, o)).filter(Boolean);\n return [e.machine.root, e].concat(r, n.reduce((o, s) => {\n const i = be(e, s);\n if (!i)\n return o;\n const u = ot(i, t[s]);\n return o.concat(u);\n }, []));\n}\nfunction Qs(e, t, n, r) {\n const s = be(e, t).next(n, r);\n return !s || !s.length ? e.next(n, r) : s;\n}\nfunction ei(e, t, n, r) {\n const o = Object.keys(t), s = be(e, o[0]), i = Wt(s, t[o[0]], n, r);\n return !i || !i.length ? e.next(n, r) : i;\n}\nfunction ti(e, t, n, r) {\n const o = [];\n for (const s of Object.keys(t)) {\n const i = t[s];\n if (!i)\n continue;\n const u = be(e, s), a = Wt(u, i, n, r);\n a && o.push(...a);\n }\n return o.length ? o : e.next(n, r);\n}\nfunction Wt(e, t, n, r) {\n return typeof t == \"string\" ? Qs(e, t, n, r) : Object.keys(t).length === 1 ? ei(e, t, n, r) : ti(e, t, n, r);\n}\nfunction ni(e) {\n return Object.keys(e.states).map((t) => e.states[t]).filter((t) => t.type === \"history\");\n}\nfunction te(e, t) {\n let n = e;\n for (; n.parent && n.parent !== t; )\n n = n.parent;\n return n.parent === t;\n}\nfunction ri(e, t) {\n const n = new Set(e), r = new Set(t);\n for (const o of n)\n if (r.has(o))\n return !0;\n for (const o of r)\n if (n.has(o))\n return !0;\n return !1;\n}\nfunction so(e, t, n) {\n const r = /* @__PURE__ */ new Set();\n for (const o of e) {\n let s = !1;\n const i = /* @__PURE__ */ new Set();\n for (const u of r)\n if (ri(It([o], t, n), It([u], t, n)))\n if (te(o.source, u.source))\n i.add(u);\n else {\n s = !0;\n break;\n }\n if (!s) {\n for (const u of i)\n r.delete(u);\n r.add(o);\n }\n }\n return Array.from(r);\n}\nfunction oi(e) {\n const [t, ...n] = e;\n for (const r of Ke(t, void 0))\n if (n.every((o) => te(o, r)))\n return r;\n}\nfunction Yt(e, t) {\n if (!e.target)\n return [];\n const n = /* @__PURE__ */ new Set();\n for (const r of e.target)\n if (ie(r))\n if (t[r.id])\n for (const o of t[r.id])\n n.add(o);\n else\n for (const o of Yt(ro(r), t))\n n.add(o);\n else\n n.add(r);\n return [...n];\n}\nfunction io(e, t) {\n const n = Yt(e, t);\n if (!n)\n return;\n if (!e.reenter && n.every((o) => o === e.source || te(o, e.source)))\n return e.source;\n const r = oi(n.concat(e.source));\n if (r)\n return r;\n if (!e.reenter)\n return e.source.machine.root;\n}\nfunction It(e, t, n) {\n const r = /* @__PURE__ */ new Set();\n for (const o of e)\n if (o.target?.length) {\n const s = io(o, n);\n o.reenter && o.source === s && r.add(s);\n for (const i of t)\n te(i, s) && r.add(i);\n }\n return [...r];\n}\nfunction si(e, t) {\n if (e.length !== t.size)\n return !1;\n for (const n of e)\n if (!t.has(n))\n return !1;\n return !0;\n}\nfunction Ct(e, t, n, r, o, s) {\n if (!e.length)\n return t;\n const i = new Set(t._nodes);\n let u = t.historyValue;\n const a = so(e, i, u);\n let c = t;\n o || ([c, u] = ci(c, r, n, a, i, u, s, n.actionExecutor)), c = Ae(c, r, n, a.flatMap((l) => l.actions), s, void 0), c = ui(c, r, n, a, i, s, u, o);\n const p = [...i];\n c.status === \"done\" && (c = Ae(c, r, n, p.sort((l, f) => f.order - l.order).flatMap((l) => l.exit), s, void 0));\n try {\n return u === t.historyValue && si(t._nodes, i) ? c : ce(c, {\n _nodes: p,\n historyValue: u\n });\n } catch (l) {\n throw l;\n }\n}\nfunction ii(e, t, n, r, o) {\n if (r.output === void 0)\n return;\n const s = wt(o.id, o.output !== void 0 && o.parent ? Ot(o.output, e.context, t, n.self) : void 0);\n return Ot(r.output, e.context, s, n.self);\n}\nfunction ui(e, t, n, r, o, s, i, u) {\n let a = e;\n const c = /* @__PURE__ */ new Set(), p = /* @__PURE__ */ new Set();\n ai(r, i, p, c), u && p.add(e.machine.root);\n const l = /* @__PURE__ */ new Set();\n for (const f of [...c].sort((d, h) => d.order - h.order)) {\n o.add(f);\n const d = [];\n d.push(...f.entry);\n for (const h of f.invoke)\n d.push(Ks(h.src, {\n ...h,\n syncSnapshot: !!h.onSnapshot\n }));\n if (p.has(f)) {\n const h = f.initial.actions;\n d.push(...h);\n }\n if (a = Ae(a, t, n, d, s, f.invoke.map((h) => h.id)), f.type === \"final\") {\n const h = f.parent;\n let m = h?.type === \"parallel\" ? h : h?.parent, g = m || f;\n for (h?.type === \"compound\" && s.push(wt(h.id, f.output !== void 0 ? Ot(f.output, a.context, t, n.self) : void 0)); m?.type === \"parallel\" && !l.has(m) && Gt(o, m); )\n l.add(m), s.push(wt(m.id)), g = m, m = m.parent;\n if (m)\n continue;\n a = ce(a, {\n status: \"done\",\n output: ii(a, t, n, a.machine.root, g)\n });\n }\n }\n return a;\n}\nfunction ai(e, t, n, r) {\n for (const o of e) {\n const s = io(o, t);\n for (const u of o.target || [])\n !ie(u) && // if the target is different than the source then it will *definitely* be entered\n (o.source !== u || // we know that the domain can't lie within the source\n // if it's different than the source then it's outside of it and it means that the target has to be entered as well\n o.source !== s || // reentering transitions always enter the target, even if it's the source itself\n o.reenter) && (r.add(u), n.add(u)), me(u, t, n, r);\n const i = Yt(o, t);\n for (const u of i) {\n const a = Ke(u, s);\n s?.type === \"parallel\" && a.push(s), uo(r, t, n, a, !o.source.parent && o.reenter ? void 0 : s);\n }\n }\n}\nfunction me(e, t, n, r) {\n if (ie(e))\n if (t[e.id]) {\n const o = t[e.id];\n for (const s of o)\n r.add(s), me(s, t, n, r);\n for (const s of o)\n gt(s, e.parent, r, t, n);\n } else {\n const o = ro(e);\n for (const s of o.target)\n r.add(s), o === e.parent?.initial && n.add(e.parent), me(s, t, n, r);\n for (const s of o.target)\n gt(s, e.parent, r, t, n);\n }\n else if (e.type === \"compound\") {\n const [o] = e.initial.target;\n ie(o) || (r.add(o), n.add(o)), me(o, t, n, r), gt(o, e, r, t, n);\n } else if (e.type === \"parallel\")\n for (const o of Se(e).filter((s) => !ie(s)))\n [...r].some((s) => te(s, o)) || (ie(o) || (r.add(o), n.add(o)), me(o, t, n, r));\n}\nfunction uo(e, t, n, r, o) {\n for (const s of r)\n if ((!o || te(s, o)) && e.add(s), s.type === \"parallel\")\n for (const i of Se(s).filter((u) => !ie(u)))\n [...e].some((u) => te(u, i)) || (e.add(i), me(i, t, n, e));\n}\nfunction gt(e, t, n, r, o) {\n uo(n, r, o, Ke(e, t));\n}\nfunction ci(e, t, n, r, o, s, i, u) {\n let a = e;\n const c = It(r, o, s);\n c.sort((l, f) => f.order - l.order);\n let p;\n for (const l of c)\n for (const f of ni(l)) {\n let d;\n f.history === \"deep\" ? d = (h) => Kt(h) && te(h, l) : d = (h) => h.parent === l, p ??= {\n ...s\n }, p[f.id] = Array.from(o).filter(d);\n }\n for (const l of c)\n a = Ae(a, t, n, [...l.exit, ...l.invoke.map((f) => Qr(f.id))], i, void 0), o.delete(l);\n return [a, p || s];\n}\nfunction li(e, t) {\n return e.implementations.actions[t];\n}\nfunction ao(e, t, n, r, o, s) {\n const {\n machine: i\n } = e;\n let u = e;\n for (const a of r) {\n const c = typeof a == \"function\", p = c ? a : (\n // the existing type of `.actions` assumes non-nullable `TExpressionAction`\n // it's fine to cast this here to get a common type and lack of errors in the rest of the code\n // our logic below makes sure that we call those 2 \"variants\" correctly\n li(i, typeof a == \"string\" ? a : a.type)\n ), l = {\n context: u.context,\n event: t,\n self: n.self,\n system: n.system\n }, f = c || typeof a == \"string\" ? void 0 : \"params\" in a ? typeof a.params == \"function\" ? a.params({\n context: u.context,\n event: t\n }) : a.params : void 0;\n if (!p || !(\"resolve\" in p)) {\n n.actionExecutor({\n type: typeof a == \"string\" ? a : typeof a == \"object\" ? a.type : a.name || \"(anonymous)\",\n info: l,\n params: f,\n exec: p\n });\n continue;\n }\n const d = p, [h, m, g] = d.resolve(\n n,\n u,\n l,\n f,\n p,\n // this holds all params\n o\n );\n u = h, \"retryResolve\" in d && s?.push([d, m]), \"execute\" in d && n.actionExecutor({\n type: d.type,\n info: l,\n params: m,\n exec: d.execute.bind(null, n, m)\n }), g && (u = ao(u, t, n, g, o, s));\n }\n return u;\n}\nfunction Ae(e, t, n, r, o, s) {\n const i = s ? [] : void 0, u = ao(e, t, n, r, {\n internalQueue: o,\n deferredActorIds: s\n }, i);\n return i?.forEach(([a, c]) => {\n a.retryResolve(n, u, c);\n }), u;\n}\nfunction mt(e, t, n, r) {\n let o = e;\n const s = [];\n function i(c, p, l) {\n n.system._sendInspectionEvent({\n type: \"@xstate.microstep\",\n actorRef: n.self,\n event: p,\n snapshot: c,\n _transitions: l\n }), s.push(c);\n }\n if (t.type === At)\n return o = ce(wn(o, t, n), {\n status: \"stopped\"\n }), i(o, t, []), {\n snapshot: o,\n microstates: s\n };\n let u = t;\n if (u.type !== Wr) {\n const c = u, p = Vs(c), l = On(c, o);\n if (p && !l.length)\n return o = ce(e, {\n status: \"error\",\n error: c.error\n }), i(o, c, []), {\n snapshot: o,\n microstates: s\n };\n o = Ct(\n l,\n e,\n n,\n u,\n !1,\n // isInitial\n r\n ), i(o, c, l);\n }\n let a = !0;\n for (; o.status === \"active\"; ) {\n let c = a ? fi(o, u) : [];\n const p = c.length ? o : void 0;\n if (!c.length) {\n if (!r.length)\n break;\n u = r.shift(), c = On(u, o);\n }\n o = Ct(c, o, n, u, !1, r), a = o !== p, i(o, u, c);\n }\n return o.status !== \"active\" && wn(o, u, n), {\n snapshot: o,\n microstates: s\n };\n}\nfunction wn(e, t, n) {\n return Ae(e, t, n, Object.values(e.children).map((r) => Qr(r)), [], void 0);\n}\nfunction On(e, t) {\n return t.machine.getTransitionData(t, e);\n}\nfunction fi(e, t) {\n const n = /* @__PURE__ */ new Set(), r = e._nodes.filter(Kt);\n for (const o of r)\n e: for (const s of [o].concat(Ke(o, void 0)))\n if (s.always) {\n for (const i of s.always)\n if (i.guard === void 0 || zt(i.guard, e.context, t, e)) {\n n.add(i);\n break e;\n }\n }\n return so(Array.from(n), new Set(e._nodes), e.historyValue);\n}\nfunction di(e, t) {\n const n = nt(ot(e, t));\n return no(e, [...n]);\n}\nfunction hi(e) {\n return !!e && typeof e == \"object\" && \"machine\" in e && \"value\" in e;\n}\nconst pi = function(t) {\n return qr(t, this.value);\n}, _i = function(t) {\n return this.tags.has(t);\n}, gi = function(t) {\n const n = this.machine.getTransitionData(this, t);\n return !!n?.length && // Check that at least one transition is not forbidden\n n.some((r) => r.target !== void 0 || r.actions.length);\n}, mi = function() {\n const {\n _nodes: t,\n tags: n,\n machine: r,\n getMeta: o,\n toJSON: s,\n can: i,\n hasTag: u,\n matches: a,\n ...c\n } = this;\n return {\n ...c,\n tags: Array.from(n)\n };\n}, Ei = function() {\n return this._nodes.reduce((t, n) => (n.meta !== void 0 && (t[n.id] = n.meta), t), {});\n};\nfunction qe(e, t) {\n return {\n status: e.status,\n output: e.output,\n error: e.error,\n machine: t,\n context: e.context,\n _nodes: e._nodes,\n value: no(t.root, e._nodes),\n tags: new Set(e._nodes.flatMap((n) => n.tags)),\n children: e.children,\n historyValue: e.historyValue || {},\n matches: pi,\n hasTag: _i,\n can: gi,\n getMeta: Ei,\n toJSON: mi\n };\n}\nfunction ce(e, t = {}) {\n return qe({\n ...e,\n ...t\n }, e.machine);\n}\nfunction vi(e) {\n if (typeof e != \"object\" || e === null)\n return {};\n const t = {};\n for (const n in e) {\n const r = e[n];\n Array.isArray(r) && (t[n] = r.map((o) => ({\n id: o.id\n })));\n }\n return t;\n}\nfunction yi(e, t) {\n const {\n _nodes: n,\n tags: r,\n machine: o,\n children: s,\n context: i,\n can: u,\n hasTag: a,\n matches: c,\n getMeta: p,\n toJSON: l,\n ...f\n } = e, d = {};\n for (const m in s) {\n const g = s[m];\n d[m] = {\n snapshot: g.getPersistedSnapshot(t),\n src: g.src,\n systemId: g._systemId,\n syncSnapshot: g._syncSnapshot\n };\n }\n return {\n ...f,\n context: co(i),\n children: d,\n historyValue: vi(f.historyValue)\n };\n}\nfunction co(e) {\n let t;\n for (const n in e) {\n const r = e[n];\n if (r && typeof r == \"object\")\n if (\"sessionId\" in r && \"send\" in r && \"ref\" in r)\n t ??= Array.isArray(e) ? e.slice() : {\n ...e\n }, t[n] = {\n xstate$$type: Ht,\n id: r.id\n };\n else {\n const o = co(r);\n o !== r && (t ??= Array.isArray(e) ? e.slice() : {\n ...e\n }, t[n] = o);\n }\n }\n return t ?? e;\n}\nfunction Si(e, t, n, r, {\n event: o,\n id: s,\n delay: i\n}, {\n internalQueue: u\n}) {\n const a = t.machine.implementations.delays;\n if (typeof o == \"string\")\n throw new Error(\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n `Only event objects may be used with raise; use raise({ type: \"${o}\" }) instead`\n );\n const c = typeof o == \"function\" ? o(n, r) : o;\n let p;\n if (typeof i == \"string\") {\n const l = a && a[i];\n p = typeof l == \"function\" ? l(n, r) : l;\n } else\n p = typeof i == \"function\" ? i(n, r) : i;\n return typeof p != \"number\" && u.push(c), [t, {\n event: c,\n id: s,\n delay: p\n }, void 0];\n}\nfunction bi(e, t) {\n const {\n event: n,\n delay: r,\n id: o\n } = t;\n if (typeof r == \"number\") {\n e.defer(() => {\n const s = e.self;\n e.system.scheduler.schedule(s, s, n, r, o);\n });\n return;\n }\n}\nfunction Ai(e, t) {\n function n(r, o) {\n }\n return n.type = \"xstate.raise\", n.event = e, n.id = t?.id, n.delay = t?.delay, n.resolve = Si, n.execute = bi, n;\n}\nfunction wi(e, {\n machine: t,\n context: n\n}, r, o) {\n const s = (i, u) => {\n if (typeof i == \"string\") {\n const a = jt(t, i);\n if (!a)\n throw new Error(`Actor logic '${i}' not implemented in machine '${t.id}'`);\n const c = $e(a, {\n id: u?.id,\n parent: e.self,\n syncSnapshot: u?.syncSnapshot,\n input: typeof u?.input == \"function\" ? u.input({\n context: n,\n event: r,\n self: e.self\n }) : u?.input,\n src: i,\n systemId: u?.systemId\n });\n return o[c.id] = c, c;\n } else\n return $e(i, {\n id: u?.id,\n parent: e.self,\n syncSnapshot: u?.syncSnapshot,\n input: u?.input,\n src: i,\n systemId: u?.systemId\n });\n };\n return (i, u) => {\n const a = s(i, u);\n return o[a.id] = a, e.defer(() => {\n a._processingStatus !== L.Stopped && a.start();\n }), a;\n };\n}\nfunction Oi(e, t, n, r, {\n assignment: o\n}) {\n if (!t.context)\n throw new Error(\"Cannot assign to undefined `context`. Ensure that `context` is defined in the machine config.\");\n const s = {}, i = {\n context: t.context,\n event: n.event,\n spawn: wi(e, t, n.event, s),\n self: e.self,\n system: e.system\n };\n let u = {};\n if (typeof o == \"function\")\n u = o(i, r);\n else\n for (const c of Object.keys(o)) {\n const p = o[c];\n u[c] = typeof p == \"function\" ? p(i, r) : p;\n }\n const a = Object.assign({}, t.context, u);\n return [ce(t, {\n context: a,\n children: Object.keys(s).length ? {\n ...t.children,\n ...s\n } : t.children\n }), void 0, void 0];\n}\nfunction Ti(e) {\n function t(n, r) {\n }\n return t.type = \"xstate.assign\", t.assignment = e, t.resolve = Oi, t;\n}\nconst Tn = /* @__PURE__ */ new WeakMap();\nfunction pe(e, t, n) {\n let r = Tn.get(e);\n return r ? t in r || (r[t] = n()) : (r = {\n [t]: n()\n }, Tn.set(e, r)), r[t];\n}\nconst Ii = {}, xe = (e) => typeof e == \"string\" ? {\n type: e\n} : typeof e == \"function\" ? \"resolve\" in e ? {\n type: e.type\n} : {\n type: e.name\n} : e;\nclass st {\n constructor(t, n) {\n if (this.config = t, this.key = void 0, this.id = void 0, this.type = void 0, this.path = void 0, this.states = void 0, this.history = void 0, this.entry = void 0, this.exit = void 0, this.parent = void 0, this.machine = void 0, this.meta = void 0, this.output = void 0, this.order = -1, this.description = void 0, this.tags = [], this.transitions = void 0, this.always = void 0, this.parent = n._parent, this.key = n._key, this.machine = n._machine, this.path = this.parent ? this.parent.path.concat(this.key) : [], this.id = this.config.id || [this.machine.id, ...this.path].join(Kr), this.type = this.config.type || (this.config.states && Object.keys(this.config.states).length ? \"compound\" : this.config.history ? \"history\" : \"atomic\"), this.description = this.config.description, this.order = this.machine.idMap.size, this.machine.idMap.set(this.id, this), this.states = this.config.states ? yn(this.config.states, (r, o) => new st(r, {\n _parent: this,\n _key: o,\n _machine: this.machine\n })) : Ii, this.type === \"compound\" && !this.config.initial)\n throw new Error(`No initial state specified for compound state node \"#${this.id}\". Try adding { initial: \"${Object.keys(this.states)[0]}\" } to the state config.`);\n this.history = this.config.history === !0 ? \"shallow\" : this.config.history || !1, this.entry = Z(this.config.entry).slice(), this.exit = Z(this.config.exit).slice(), this.meta = this.config.meta, this.output = this.type === \"final\" || !this.parent ? this.config.output : void 0, this.tags = Z(t.tags).slice();\n }\n /** @internal */\n _initialize() {\n this.transitions = Js(this), this.config.always && (this.always = ge(this.config.always).map((t) => oe(this, Gr, t))), Object.keys(this.states).forEach((t) => {\n this.states[t]._initialize();\n });\n }\n /** The well-structured state node definition. */\n get definition() {\n return {\n id: this.id,\n key: this.key,\n version: this.machine.version,\n type: this.type,\n initial: this.initial ? {\n target: this.initial.target,\n source: this,\n actions: this.initial.actions.map(xe),\n eventType: null,\n reenter: !1,\n toJSON: () => ({\n target: this.initial.target.map((t) => `#${t.id}`),\n source: `#${this.id}`,\n actions: this.initial.actions.map(xe),\n eventType: null\n })\n } : void 0,\n history: this.history,\n states: yn(this.states, (t) => t.definition),\n on: this.on,\n transitions: [...this.transitions.values()].flat().map((t) => ({\n ...t,\n actions: t.actions.map(xe)\n })),\n entry: this.entry.map(xe),\n exit: this.exit.map(xe),\n meta: this.meta,\n order: this.order || -1,\n output: this.output,\n invoke: this.invoke,\n description: this.description,\n tags: this.tags\n };\n }\n /** @internal */\n toJSON() {\n return this.definition;\n }\n /** The logic invoked as actors by this state node. */\n get invoke() {\n return pe(this, \"invoke\", () => Z(this.config.invoke).map((t, n) => {\n const {\n src: r,\n systemId: o\n } = t, s = t.id ?? Sn(this.id, n), i = typeof r == \"string\" ? r : `xstate.invoke.${Sn(this.id, n)}`;\n return {\n ...t,\n src: i,\n id: s,\n systemId: o,\n toJSON() {\n const {\n onDone: u,\n onError: a,\n ...c\n } = t;\n return {\n ...c,\n type: \"xstate.invoke\",\n src: i,\n id: s\n };\n }\n };\n }));\n }\n /** The mapping of events to transitions. */\n get on() {\n return pe(this, \"on\", () => [...this.transitions].flatMap(([n, r]) => r.map((o) => [n, o])).reduce((n, [r, o]) => (n[r] = n[r] || [], n[r].push(o), n), {}));\n }\n get after() {\n return pe(this, \"delayedTransitions\", () => qs(this));\n }\n get initial() {\n return pe(this, \"initial\", () => Xs(this, this.config.initial));\n }\n /** @internal */\n next(t, n) {\n const r = n.type, o = [];\n let s;\n const i = pe(this, `candidates-${r}`, () => Ys(this, r));\n for (const u of i) {\n const {\n guard: a\n } = u, c = t.context;\n let p = !1;\n try {\n p = !a || zt(a, c, n, t);\n } catch (l) {\n const f = typeof a == \"string\" ? a : typeof a == \"object\" ? a.type : void 0;\n throw new Error(`Unable to evaluate guard ${f ? `'${f}' ` : \"\"}in transition for event '${r}' in state node '${this.id}':\n${l.message}`);\n }\n if (p) {\n o.push(...u.actions), s = u;\n break;\n }\n }\n return s ? [s] : void 0;\n }\n /** All the event types accepted by this state node and its descendants. */\n get events() {\n return pe(this, \"events\", () => {\n const {\n states: t\n } = this, n = new Set(this.ownEvents);\n if (t)\n for (const r of Object.keys(t)) {\n const o = t[r];\n if (o.states)\n for (const s of o.events)\n n.add(`${s}`);\n }\n return Array.from(n);\n });\n }\n /**\n * All the events that have transitions directly from this state node.\n *\n * Excludes any inert events.\n */\n get ownEvents() {\n const t = new Set([...this.transitions.keys()].filter((n) => this.transitions.get(n).some((r) => !(!r.target && !r.actions.length && !r.reenter))));\n return Array.from(t);\n }\n}\nconst Ci = \"#\";\nclass qt {\n constructor(t, n) {\n this.config = t, this.version = void 0, this.schemas = void 0, this.implementations = void 0, this.__xstatenode = !0, this.idMap = /* @__PURE__ */ new Map(), this.root = void 0, this.id = void 0, this.states = void 0, this.events = void 0, this.id = t.id || \"(machine)\", this.implementations = {\n actors: n?.actors ?? {},\n actions: n?.actions ?? {},\n delays: n?.delays ?? {},\n guards: n?.guards ?? {}\n }, this.version = this.config.version, this.schemas = this.config.schemas, this.transition = this.transition.bind(this), this.getInitialSnapshot = this.getInitialSnapshot.bind(this), this.getPersistedSnapshot = this.getPersistedSnapshot.bind(this), this.restoreSnapshot = this.restoreSnapshot.bind(this), this.start = this.start.bind(this), this.root = new st(t, {\n _key: this.id,\n _machine: this\n }), this.root._initialize(), this.states = this.root.states, this.events = this.root.events;\n }\n /**\n * Clones this state machine with the provided implementations.\n *\n * @param implementations Options (`actions`, `guards`, `actors`, `delays`) to\n * recursively merge with the existing options.\n * @returns A new `StateMachine` instance with the provided implementations.\n */\n provide(t) {\n const {\n actions: n,\n guards: r,\n actors: o,\n delays: s\n } = this.implementations;\n return new qt(this.config, {\n actions: {\n ...n,\n ...t.actions\n },\n guards: {\n ...r,\n ...t.guards\n },\n actors: {\n ...o,\n ...t.actors\n },\n delays: {\n ...s,\n ...t.delays\n }\n });\n }\n resolveState(t) {\n const n = di(this.root, t.value), r = nt(ot(this.root, n));\n return qe({\n _nodes: [...r],\n context: t.context || {},\n children: {},\n status: Gt(r, this.root) ? \"done\" : t.status || \"active\",\n output: t.output,\n error: t.error,\n historyValue: t.historyValue\n }, this);\n }\n /**\n * Determines the next snapshot given the current `snapshot` and received\n * `event`. Calculates a full macrostep from all microsteps.\n *\n * @param snapshot The current snapshot\n * @param event The received event\n */\n transition(t, n, r) {\n return mt(t, n, r, []).snapshot;\n }\n /**\n * Determines the next state given the current `state` and `event`. Calculates\n * a microstep.\n *\n * @param state The current state\n * @param event The received event\n */\n microstep(t, n, r) {\n return mt(t, n, r, []).microstates;\n }\n getTransitionData(t, n) {\n return Wt(this.root, t.value, t, n) || [];\n }\n /**\n * The initial state _before_ evaluating any microsteps. This \"pre-initial\"\n * state is provided to initial actions executed in the initial state.\n */\n getPreInitialState(t, n, r) {\n const {\n context: o\n } = this.config, s = qe({\n context: typeof o != \"function\" && o ? o : {},\n _nodes: [this.root],\n children: {},\n status: \"active\"\n }, this);\n return typeof o == \"function\" ? Ae(s, n, t, [Ti(({\n spawn: u,\n event: a,\n self: c\n }) => o({\n spawn: u,\n input: a.input,\n self: c\n }))], r, void 0) : s;\n }\n /**\n * Returns the initial `State` instance, with reference to `self` as an\n * `ActorRef`.\n */\n getInitialSnapshot(t, n) {\n const r = Yr(n), o = [], s = this.getPreInitialState(t, r, o), i = Ct([{\n target: [...oo(this.root)],\n source: this.root,\n reenter: !0,\n actions: [],\n eventType: null,\n toJSON: null\n // TODO: fix\n }], s, t, r, !0, o), {\n snapshot: u\n } = mt(i, r, t, o);\n return u;\n }\n start(t) {\n Object.values(t.children).forEach((n) => {\n n.getSnapshot().status === \"active\" && n.start();\n });\n }\n getStateNodeById(t) {\n const n = Ft(t), r = n.slice(1), o = at(n[0]) ? n[0].slice(Ci.length) : n[0], s = this.idMap.get(o);\n if (!s)\n throw new Error(`Child state node '#${o}' does not exist on machine '${this.id}'`);\n return rt(s, r);\n }\n get definition() {\n return this.root.definition;\n }\n toJSON() {\n return this.definition;\n }\n getPersistedSnapshot(t, n) {\n return yi(t, n);\n }\n restoreSnapshot(t, n) {\n const r = {}, o = t.children;\n Object.keys(o).forEach((l) => {\n const f = o[l], d = f.snapshot, h = f.src, m = typeof h == \"string\" ? jt(this, h) : h;\n if (!m)\n return;\n const g = $e(m, {\n id: l,\n parent: n.self,\n syncSnapshot: f.syncSnapshot,\n snapshot: d,\n src: h,\n systemId: f.systemId\n });\n r[l] = g;\n });\n function s(l, f) {\n if (f instanceof st)\n return f;\n try {\n return l.machine.getStateNodeById(f.id);\n } catch {\n }\n }\n function i(l, f) {\n if (!f || typeof f != \"object\")\n return {};\n const d = {};\n for (const h in f) {\n const m = f[h];\n for (const g of m) {\n const E = s(l, g);\n E && (d[h] ??= [], d[h].push(E));\n }\n }\n return d;\n }\n const u = i(this.root, t.historyValue), a = qe({\n ...t,\n children: r,\n _nodes: Array.from(nt(ot(this.root, t.value))),\n historyValue: u\n }, this), c = /* @__PURE__ */ new Set();\n function p(l, f) {\n if (!c.has(l)) {\n c.add(l);\n for (const d in l) {\n const h = l[d];\n if (h && typeof h == \"object\") {\n if (\"xstate$$type\" in h && h.xstate$$type === Ht) {\n l[d] = f[h.id];\n continue;\n }\n p(h, f);\n }\n }\n }\n }\n return p(a.context, r), a;\n }\n}\nfunction ki(e, t) {\n return new qt(e, t);\n}\nclass Di extends Error {\n constructor(t = \"\") {\n super(t), this.name = \"NotImplemented\";\n }\n}\nclass Ne {\n /**\n * The root Stonecrop instance\n */\n static _root;\n /**\n * The name of the Stonecrop instance\n * @readonly\n *\n * @defaultValue 'Stonecrop'\n */\n name = \"Stonecrop\";\n /**\n * The registry is an immutable collection of doctypes\n * @example\n * ```ts\n * {\n * \t'task': {\n * \t\tdoctype: 'Task',\n * \t\tschema: {\n * \t\t\ttitle: 'string',\n * \t\t\tdescription: 'string',\n * \t\t\t...\n * \t\t}\n * \t},\n * \t...\n * }\n * ```\n * @see {@link Registry}\n * @see {@link DoctypeMeta}\n */\n registry;\n /**\n * The Pinia store that manages the mutable records\n */\n store;\n /**\n * @param registry - The immutable registry\n * @param store - The mutable Pinia store\n * @returns The Stonecrop instance with the given registry and store. If a Stonecrop instance has already been created, it returns the existing instance instead of creating a new one.\n * @example\n * ```ts\n * const registry = new Registry()\n * const store = useDataStore()\n * const stonecrop = new Stonecrop(registry, store)\n * ```\n */\n constructor(t, n) {\n if (Ne._root)\n return Ne._root;\n Ne._root = this, this.registry = t, this.store = n;\n }\n /**\n * Sets up the Stonecrop instance with the given doctype\n * @param doctype - The doctype to setup\n * @example\n * ```ts\n * const doctype = await registry.getMeta('Task')\n * stonecrop.setup(doctype)\n * ```\n */\n setup(t) {\n this.getMeta(t.doctype);\n }\n /**\n * Gets the meta for the given doctype\n * @param doctype - The doctype to get meta for\n * @returns The meta for the given doctype\n * @throws `NotImplementedError` if the `getMeta` function is not implemented for the doctype in the registry\n * @example\n * ```ts\n * const doctype = await registry.getMeta('Task')\n * const meta = stonecrop.getMeta(doctype)\n * ```\n * @see {@link DoctypeMeta}\n */\n async getMeta(t) {\n if (!this.registry.getMeta)\n throw new Di(`getMeta function is not implemented for ${t} in the registry`);\n return await this.registry.getMeta(t);\n }\n /**\n * Gets the records for the given doctype\n * @param doctype - The doctype to get records for\n * @param filters - The filters to apply to the records\n * @example\n * ```ts\n * const doctype = await registry.getMeta('Task')\n * await stonecrop.getRecords(doctype)\n * ```\n * @example\n * ```ts\n * const doctype = await registry.getMeta('Task')\n * const filters = JSON.stringify({ status: 'Open' })\n * await stonecrop.getRecords(doctype, { body: filters })\n * ```\n */\n async getRecords(t, n) {\n this.store.$patch({ records: [] });\n const o = await (await fetch(`/${t.slug}`, n)).json();\n this.store.$patch({ records: o });\n }\n /**\n * Gets the record for the given doctype and id\n * @param doctype - The doctype to get record for\n * @param id - The id of the record to get\n * @example\n * ```ts\n * const doctype = await registry.getMeta('Task')\n * await stonecrop.getRecord(doctype, 'TASK-00001')\n * ```\n */\n async getRecord(t, n) {\n this.store.$patch({ record: {} });\n const o = await (await fetch(`/${t.slug}/${n}`)).json();\n this.store.$patch({ record: o });\n }\n /**\n * Runs the action for the given doctype and id\n * @param doctype - The doctype to run action for\n * @param action - The action to run\n * @param id - The id(s) of the record(s) to run action on\n * @example\n * ```ts\n * const doctype = await registry.getMeta('Task')\n * stonecrop.runAction(doctype, 'create')\n * ```\n * @example\n * ```ts\n * const doctype = await registry.getMeta('Task')\n * stonecrop.runAction(doctype, 'update', ['TASK-00001'])\n * ```\n * @example\n * ```ts\n * const doctype = await registry.getMeta('Task')\n * stonecrop.runAction(doctype, 'delete', ['TASK-00001'])\n * ```\n * @example\n * ```ts\n * const doctype = await registry.getMeta('Task')\n * stonecrop.runAction(doctype, 'merge', ['TASK-00001', 'TASK-00002'])\n * ```\n */\n runAction(t, n, r) {\n const o = this.registry.registry[t.slug], s = o.actions?.get(n), i = o.workflow;\n if (i) {\n const u = ki(i), a = $e(u);\n a.start(), a.send({ type: n, id: r }), s && s.length > 0 && s.forEach((c) => {\n new Function(c)(r);\n });\n }\n }\n}\nvar xi = Object.create, lo = Object.defineProperty, Pi = Object.getOwnPropertyDescriptor, Jt = Object.getOwnPropertyNames, Ri = Object.getPrototypeOf, Ni = Object.prototype.hasOwnProperty, Vi = (e, t) => function() {\n return e && (t = (0, e[Jt(e)[0]])(e = 0)), t;\n}, Li = (e, t) => function() {\n return t || (0, e[Jt(e)[0]])((t = { exports: {} }).exports, t), t.exports;\n}, Mi = (e, t, n, r) => {\n if (t && typeof t == \"object\" || typeof t == \"function\")\n for (let o of Jt(t))\n !Ni.call(e, o) && o !== n && lo(e, o, { get: () => t[o], enumerable: !(r = Pi(t, o)) || r.enumerable });\n return e;\n}, Bi = (e, t, n) => (n = e != null ? xi(Ri(e)) : {}, Mi(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n lo(n, \"default\", { value: e, enumerable: !0 }),\n e\n)), Ge = Vi({\n \"../../node_modules/.pnpm/tsup@8.4.0_@microsoft+api-extractor@7.51.1_@types+node@22.13.14__jiti@2.4.2_postcss@8.5_96eb05a9d65343021e53791dd83f3773/node_modules/tsup/assets/esm_shims.js\"() {\n }\n}), $i = Li({\n \"../../node_modules/.pnpm/rfdc@1.4.1/node_modules/rfdc/index.js\"(e, t) {\n Ge(), t.exports = r;\n function n(s) {\n return s instanceof Buffer ? Buffer.from(s) : new s.constructor(s.buffer.slice(), s.byteOffset, s.length);\n }\n function r(s) {\n if (s = s || {}, s.circles) return o(s);\n const i = /* @__PURE__ */ new Map();\n if (i.set(Date, (l) => new Date(l)), i.set(Map, (l, f) => new Map(a(Array.from(l), f))), i.set(Set, (l, f) => new Set(a(Array.from(l), f))), s.constructorHandlers)\n for (const l of s.constructorHandlers)\n i.set(l[0], l[1]);\n let u = null;\n return s.proto ? p : c;\n function a(l, f) {\n const d = Object.keys(l), h = new Array(d.length);\n for (let m = 0; m < d.length; m++) {\n const g = d[m], E = l[g];\n typeof E != \"object\" || E === null ? h[g] = E : E.constructor !== Object && (u = i.get(E.constructor)) ? h[g] = u(E, f) : ArrayBuffer.isView(E) ? h[g] = n(E) : h[g] = f(E);\n }\n return h;\n }\n function c(l) {\n if (typeof l != \"object\" || l === null) return l;\n if (Array.isArray(l)) return a(l, c);\n if (l.constructor !== Object && (u = i.get(l.constructor)))\n return u(l, c);\n const f = {};\n for (const d in l) {\n if (Object.hasOwnProperty.call(l, d) === !1) continue;\n const h = l[d];\n typeof h != \"object\" || h === null ? f[d] = h : h.constructor !== Object && (u = i.get(h.constructor)) ? f[d] = u(h, c) : ArrayBuffer.isView(h) ? f[d] = n(h) : f[d] = c(h);\n }\n return f;\n }\n function p(l) {\n if (typeof l != \"object\" || l === null) return l;\n if (Array.isArray(l)) return a(l, p);\n if (l.constructor !== Object && (u = i.get(l.constructor)))\n return u(l, p);\n const f = {};\n for (const d in l) {\n const h = l[d];\n typeof h != \"object\" || h === null ? f[d] = h : h.constructor !== Object && (u = i.get(h.constructor)) ? f[d] = u(h, p) : ArrayBuffer.isView(h) ? f[d] = n(h) : f[d] = p(h);\n }\n return f;\n }\n }\n function o(s) {\n const i = [], u = [], a = /* @__PURE__ */ new Map();\n if (a.set(Date, (d) => new Date(d)), a.set(Map, (d, h) => new Map(p(Array.from(d), h))), a.set(Set, (d, h) => new Set(p(Array.from(d), h))), s.constructorHandlers)\n for (const d of s.constructorHandlers)\n a.set(d[0], d[1]);\n let c = null;\n return s.proto ? f : l;\n function p(d, h) {\n const m = Object.keys(d), g = new Array(m.length);\n for (let E = 0; E < m.length; E++) {\n const w = m[E], O = d[w];\n if (typeof O != \"object\" || O === null)\n g[w] = O;\n else if (O.constructor !== Object && (c = a.get(O.constructor)))\n g[w] = c(O, h);\n else if (ArrayBuffer.isView(O))\n g[w] = n(O);\n else {\n const N = i.indexOf(O);\n N !== -1 ? g[w] = u[N] : g[w] = h(O);\n }\n }\n return g;\n }\n function l(d) {\n if (typeof d != \"object\" || d === null) return d;\n if (Array.isArray(d)) return p(d, l);\n if (d.constructor !== Object && (c = a.get(d.constructor)))\n return c(d, l);\n const h = {};\n i.push(d), u.push(h);\n for (const m in d) {\n if (Object.hasOwnProperty.call(d, m) === !1) continue;\n const g = d[m];\n if (typeof g != \"object\" || g === null)\n h[m] = g;\n else if (g.constructor !== Object && (c = a.get(g.constructor)))\n h[m] = c(g, l);\n else if (ArrayBuffer.isView(g))\n h[m] = n(g);\n else {\n const E = i.indexOf(g);\n E !== -1 ? h[m] = u[E] : h[m] = l(g);\n }\n }\n return i.pop(), u.pop(), h;\n }\n function f(d) {\n if (typeof d != \"object\" || d === null) return d;\n if (Array.isArray(d)) return p(d, f);\n if (d.constructor !== Object && (c = a.get(d.constructor)))\n return c(d, f);\n const h = {};\n i.push(d), u.push(h);\n for (const m in d) {\n const g = d[m];\n if (typeof g != \"object\" || g === null)\n h[m] = g;\n else if (g.constructor !== Object && (c = a.get(g.constructor)))\n h[m] = c(g, f);\n else if (ArrayBuffer.isView(g))\n h[m] = n(g);\n else {\n const E = i.indexOf(g);\n E !== -1 ? h[m] = u[E] : h[m] = f(g);\n }\n }\n return i.pop(), u.pop(), h;\n }\n }\n }\n});\nGe();\nGe();\nGe();\nvar fo = typeof navigator < \"u\", v = typeof window < \"u\" ? window : typeof globalThis < \"u\" ? globalThis : typeof global < \"u\" ? global : {};\ntypeof v.chrome < \"u\" && v.chrome.devtools;\nfo && (v.self, v.top);\nvar In;\ntypeof navigator < \"u\" && ((In = navigator.userAgent) == null || In.toLowerCase().includes(\"electron\"));\nGe();\nvar Ui = Bi($i()), Fi = /(?:^|[-_/])(\\w)/g;\nfunction ji(e, t) {\n return t ? t.toUpperCase() : \"\";\n}\nfunction Hi(e) {\n return e && `${e}`.replace(Fi, ji);\n}\nfunction zi(e, t) {\n let n = e.replace(/^[a-z]:/i, \"\").replace(/\\\\/g, \"/\");\n n.endsWith(`index${t}`) && (n = n.replace(`/index${t}`, t));\n const r = n.lastIndexOf(\"/\"), o = n.substring(r + 1);\n {\n const s = o.lastIndexOf(t);\n return o.substring(0, s);\n }\n}\nvar Cn = (0, Ui.default)({ circles: !0 });\nconst Ki = {\n trailing: !0\n};\nfunction we(e, t = 25, n = {}) {\n if (n = { ...Ki, ...n }, !Number.isFinite(t))\n throw new TypeError(\"Expected `wait` to be a finite number\");\n let r, o, s = [], i, u;\n const a = (c, p) => (i = Gi(e, c, p), i.finally(() => {\n if (i = null, n.trailing && u && !o) {\n const l = a(c, u);\n return u = null, l;\n }\n }), i);\n return function(...c) {\n return i ? (n.trailing && (u = c), i) : new Promise((p) => {\n const l = !o && n.leading;\n clearTimeout(o), o = setTimeout(() => {\n o = null;\n const f = n.leading ? r : a(this, c);\n for (const d of s)\n d(f);\n s = [];\n }, t), l ? (r = a(this, c), p(r)) : s.push(p);\n });\n };\n}\nasync function Gi(e, t, n) {\n return await e.apply(t, n);\n}\nfunction kt(e, t = {}, n) {\n for (const r in e) {\n const o = e[r], s = n ? `${n}:${r}` : r;\n typeof o == \"object\" && o !== null ? kt(o, t, s) : typeof o == \"function\" && (t[s] = o);\n }\n return t;\n}\nconst Wi = { run: (e) => e() }, Yi = () => Wi, ho = typeof console.createTask < \"u\" ? console.createTask : Yi;\nfunction qi(e, t) {\n const n = t.shift(), r = ho(n);\n return e.reduce(\n (o, s) => o.then(() => r.run(() => s(...t))),\n Promise.resolve()\n );\n}\nfunction Ji(e, t) {\n const n = t.shift(), r = ho(n);\n return Promise.all(e.map((o) => r.run(() => o(...t))));\n}\nfunction Et(e, t) {\n for (const n of [...e])\n n(t);\n}\nclass Xi {\n constructor() {\n this._hooks = {}, this._before = void 0, this._after = void 0, this._deprecatedMessages = void 0, this._deprecatedHooks = {}, this.hook = this.hook.bind(this), this.callHook = this.callHook.bind(this), this.callHookWith = this.callHookWith.bind(this);\n }\n hook(t, n, r = {}) {\n if (!t || typeof n != \"function\")\n return () => {\n };\n const o = t;\n let s;\n for (; this._deprecatedHooks[t]; )\n s = this._deprecatedHooks[t], t = s.to;\n if (s && !r.allowDeprecated) {\n let i = s.message;\n i || (i = `${o} hook has been deprecated` + (s.to ? `, please use ${s.to}` : \"\")), this._deprecatedMessages || (this._deprecatedMessages = /* @__PURE__ */ new Set()), this._deprecatedMessages.has(i) || (console.warn(i), this._deprecatedMessages.add(i));\n }\n if (!n.name)\n try {\n Object.defineProperty(n, \"name\", {\n get: () => \"_\" + t.replace(/\\W+/g, \"_\") + \"_hook_cb\",\n configurable: !0\n });\n } catch {\n }\n return this._hooks[t] = this._hooks[t] || [], this._hooks[t].push(n), () => {\n n && (this.removeHook(t, n), n = void 0);\n };\n }\n hookOnce(t, n) {\n let r, o = (...s) => (typeof r == \"function\" && r(), r = void 0, o = void 0, n(...s));\n return r = this.hook(t, o), r;\n }\n removeHook(t, n) {\n if (this._hooks[t]) {\n const r = this._hooks[t].indexOf(n);\n r !== -1 && this._hooks[t].splice(r, 1), this._hooks[t].length === 0 && delete this._hooks[t];\n }\n }\n deprecateHook(t, n) {\n this._deprecatedHooks[t] = typeof n == \"string\" ? { to: n } : n;\n const r = this._hooks[t] || [];\n delete this._hooks[t];\n for (const o of r)\n this.hook(t, o);\n }\n deprecateHooks(t) {\n Object.assign(this._deprecatedHooks, t);\n for (const n in t)\n this.deprecateHook(n, t[n]);\n }\n addHooks(t) {\n const n = kt(t), r = Object.keys(n).map(\n (o) => this.hook(o, n[o])\n );\n return () => {\n for (const o of r.splice(0, r.length))\n o();\n };\n }\n removeHooks(t) {\n const n = kt(t);\n for (const r in n)\n this.removeHook(r, n[r]);\n }\n removeAllHooks() {\n for (const t in this._hooks)\n delete this._hooks[t];\n }\n callHook(t, ...n) {\n return n.unshift(t), this.callHookWith(qi, t, ...n);\n }\n callHookParallel(t, ...n) {\n return n.unshift(t), this.callHookWith(Ji, t, ...n);\n }\n callHookWith(t, n, ...r) {\n const o = this._before || this._after ? { name: n, args: r, context: {} } : void 0;\n this._before && Et(this._before, o);\n const s = t(\n n in this._hooks ? [...this._hooks[n]] : [],\n r\n );\n return s instanceof Promise ? s.finally(() => {\n this._after && o && Et(this._after, o);\n }) : (this._after && o && Et(this._after, o), s);\n }\n beforeEach(t) {\n return this._before = this._before || [], this._before.push(t), () => {\n if (this._before !== void 0) {\n const n = this._before.indexOf(t);\n n !== -1 && this._before.splice(n, 1);\n }\n };\n }\n afterEach(t) {\n return this._after = this._after || [], this._after.push(t), () => {\n if (this._after !== void 0) {\n const n = this._after.indexOf(t);\n n !== -1 && this._after.splice(n, 1);\n }\n };\n }\n}\nfunction po() {\n return new Xi();\n}\nvar Zi = Object.create, _o = Object.defineProperty, Qi = Object.getOwnPropertyDescriptor, Xt = Object.getOwnPropertyNames, eu = Object.getPrototypeOf, tu = Object.prototype.hasOwnProperty, nu = (e, t) => function() {\n return e && (t = (0, e[Xt(e)[0]])(e = 0)), t;\n}, go = (e, t) => function() {\n return t || (0, e[Xt(e)[0]])((t = { exports: {} }).exports, t), t.exports;\n}, ru = (e, t, n, r) => {\n if (t && typeof t == \"object\" || typeof t == \"function\")\n for (let o of Xt(t))\n !tu.call(e, o) && o !== n && _o(e, o, { get: () => t[o], enumerable: !(r = Qi(t, o)) || r.enumerable });\n return e;\n}, ou = (e, t, n) => (n = e != null ? Zi(eu(e)) : {}, ru(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n _o(n, \"default\", { value: e, enumerable: !0 }),\n e\n)), _ = nu({\n \"../../node_modules/.pnpm/tsup@8.4.0_@microsoft+api-extractor@7.51.1_@types+node@22.13.14__jiti@2.4.2_postcss@8.5_96eb05a9d65343021e53791dd83f3773/node_modules/tsup/assets/esm_shims.js\"() {\n }\n}), su = go({\n \"../../node_modules/.pnpm/speakingurl@14.0.1/node_modules/speakingurl/lib/speakingurl.js\"(e, t) {\n _(), (function(n) {\n var r = {\n // latin\n À: \"A\",\n Á: \"A\",\n Â: \"A\",\n Ã: \"A\",\n Ä: \"Ae\",\n Å: \"A\",\n Æ: \"AE\",\n Ç: \"C\",\n È: \"E\",\n É: \"E\",\n Ê: \"E\",\n Ë: \"E\",\n Ì: \"I\",\n Í: \"I\",\n Î: \"I\",\n Ï: \"I\",\n Ð: \"D\",\n Ñ: \"N\",\n Ò: \"O\",\n Ó: \"O\",\n Ô: \"O\",\n Õ: \"O\",\n Ö: \"Oe\",\n Ő: \"O\",\n Ø: \"O\",\n Ù: \"U\",\n Ú: \"U\",\n Û: \"U\",\n Ü: \"Ue\",\n Ű: \"U\",\n Ý: \"Y\",\n Þ: \"TH\",\n ß: \"ss\",\n à: \"a\",\n á: \"a\",\n â: \"a\",\n ã: \"a\",\n ä: \"ae\",\n å: \"a\",\n æ: \"ae\",\n ç: \"c\",\n è: \"e\",\n é: \"e\",\n ê: \"e\",\n ë: \"e\",\n ì: \"i\",\n í: \"i\",\n î: \"i\",\n ï: \"i\",\n ð: \"d\",\n ñ: \"n\",\n ò: \"o\",\n ó: \"o\",\n ô: \"o\",\n õ: \"o\",\n ö: \"oe\",\n ő: \"o\",\n ø: \"o\",\n ù: \"u\",\n ú: \"u\",\n û: \"u\",\n ü: \"ue\",\n ű: \"u\",\n ý: \"y\",\n þ: \"th\",\n ÿ: \"y\",\n \"ẞ\": \"SS\",\n // language specific\n // Arabic\n ا: \"a\",\n أ: \"a\",\n إ: \"i\",\n آ: \"aa\",\n ؤ: \"u\",\n ئ: \"e\",\n ء: \"a\",\n ب: \"b\",\n ت: \"t\",\n ث: \"th\",\n ج: \"j\",\n ح: \"h\",\n خ: \"kh\",\n د: \"d\",\n ذ: \"th\",\n ر: \"r\",\n ز: \"z\",\n س: \"s\",\n ش: \"sh\",\n ص: \"s\",\n ض: \"dh\",\n ط: \"t\",\n ظ: \"z\",\n ع: \"a\",\n غ: \"gh\",\n ف: \"f\",\n ق: \"q\",\n ك: \"k\",\n ل: \"l\",\n م: \"m\",\n ن: \"n\",\n ه: \"h\",\n و: \"w\",\n ي: \"y\",\n ى: \"a\",\n ة: \"h\",\n ﻻ: \"la\",\n ﻷ: \"laa\",\n ﻹ: \"lai\",\n ﻵ: \"laa\",\n // Persian additional characters than Arabic\n گ: \"g\",\n چ: \"ch\",\n پ: \"p\",\n ژ: \"zh\",\n ک: \"k\",\n ی: \"y\",\n // Arabic diactrics\n \"َ\": \"a\",\n \"ً\": \"an\",\n \"ِ\": \"e\",\n \"ٍ\": \"en\",\n \"ُ\": \"u\",\n \"ٌ\": \"on\",\n \"ْ\": \"\",\n // Arabic numbers\n \"٠\": \"0\",\n \"١\": \"1\",\n \"٢\": \"2\",\n \"٣\": \"3\",\n \"٤\": \"4\",\n \"٥\": \"5\",\n \"٦\": \"6\",\n \"٧\": \"7\",\n \"٨\": \"8\",\n \"٩\": \"9\",\n // Persian numbers\n \"۰\": \"0\",\n \"۱\": \"1\",\n \"۲\": \"2\",\n \"۳\": \"3\",\n \"۴\": \"4\",\n \"۵\": \"5\",\n \"۶\": \"6\",\n \"۷\": \"7\",\n \"۸\": \"8\",\n \"۹\": \"9\",\n // Burmese consonants\n က: \"k\",\n ခ: \"kh\",\n ဂ: \"g\",\n ဃ: \"ga\",\n င: \"ng\",\n စ: \"s\",\n ဆ: \"sa\",\n ဇ: \"z\",\n \"စျ\": \"za\",\n ည: \"ny\",\n ဋ: \"t\",\n ဌ: \"ta\",\n ဍ: \"d\",\n ဎ: \"da\",\n ဏ: \"na\",\n တ: \"t\",\n ထ: \"ta\",\n ဒ: \"d\",\n ဓ: \"da\",\n န: \"n\",\n ပ: \"p\",\n ဖ: \"pa\",\n ဗ: \"b\",\n ဘ: \"ba\",\n မ: \"m\",\n ယ: \"y\",\n ရ: \"ya\",\n လ: \"l\",\n ဝ: \"w\",\n သ: \"th\",\n ဟ: \"h\",\n ဠ: \"la\",\n အ: \"a\",\n // consonant character combos\n \"ြ\": \"y\",\n \"ျ\": \"ya\",\n \"ွ\": \"w\",\n \"ြွ\": \"yw\",\n \"ျွ\": \"ywa\",\n \"ှ\": \"h\",\n // independent vowels\n ဧ: \"e\",\n \"၏\": \"-e\",\n ဣ: \"i\",\n ဤ: \"-i\",\n ဉ: \"u\",\n ဦ: \"-u\",\n ဩ: \"aw\",\n \"သြော\": \"aw\",\n ဪ: \"aw\",\n // numbers\n \"၀\": \"0\",\n \"၁\": \"1\",\n \"၂\": \"2\",\n \"၃\": \"3\",\n \"၄\": \"4\",\n \"၅\": \"5\",\n \"၆\": \"6\",\n \"၇\": \"7\",\n \"၈\": \"8\",\n \"၉\": \"9\",\n // virama and tone marks which are silent in transliteration\n \"္\": \"\",\n \"့\": \"\",\n \"း\": \"\",\n // Czech\n č: \"c\",\n ď: \"d\",\n ě: \"e\",\n ň: \"n\",\n ř: \"r\",\n š: \"s\",\n ť: \"t\",\n ů: \"u\",\n ž: \"z\",\n Č: \"C\",\n Ď: \"D\",\n Ě: \"E\",\n Ň: \"N\",\n Ř: \"R\",\n Š: \"S\",\n Ť: \"T\",\n Ů: \"U\",\n Ž: \"Z\",\n // Dhivehi\n ހ: \"h\",\n ށ: \"sh\",\n ނ: \"n\",\n ރ: \"r\",\n ބ: \"b\",\n ޅ: \"lh\",\n ކ: \"k\",\n އ: \"a\",\n ވ: \"v\",\n މ: \"m\",\n ފ: \"f\",\n ދ: \"dh\",\n ތ: \"th\",\n ލ: \"l\",\n ގ: \"g\",\n ޏ: \"gn\",\n ސ: \"s\",\n ޑ: \"d\",\n ޒ: \"z\",\n ޓ: \"t\",\n ޔ: \"y\",\n ޕ: \"p\",\n ޖ: \"j\",\n ޗ: \"ch\",\n ޘ: \"tt\",\n ޙ: \"hh\",\n ޚ: \"kh\",\n ޛ: \"th\",\n ޜ: \"z\",\n ޝ: \"sh\",\n ޞ: \"s\",\n ޟ: \"d\",\n ޠ: \"t\",\n ޡ: \"z\",\n ޢ: \"a\",\n ޣ: \"gh\",\n ޤ: \"q\",\n ޥ: \"w\",\n \"ަ\": \"a\",\n \"ާ\": \"aa\",\n \"ި\": \"i\",\n \"ީ\": \"ee\",\n \"ު\": \"u\",\n \"ޫ\": \"oo\",\n \"ެ\": \"e\",\n \"ޭ\": \"ey\",\n \"ޮ\": \"o\",\n \"ޯ\": \"oa\",\n \"ް\": \"\",\n // Georgian https://en.wikipedia.org/wiki/Romanization_of_Georgian\n // National system (2002)\n ა: \"a\",\n ბ: \"b\",\n გ: \"g\",\n დ: \"d\",\n ე: \"e\",\n ვ: \"v\",\n ზ: \"z\",\n თ: \"t\",\n ი: \"i\",\n კ: \"k\",\n ლ: \"l\",\n მ: \"m\",\n ნ: \"n\",\n ო: \"o\",\n პ: \"p\",\n ჟ: \"zh\",\n რ: \"r\",\n ს: \"s\",\n ტ: \"t\",\n უ: \"u\",\n ფ: \"p\",\n ქ: \"k\",\n ღ: \"gh\",\n ყ: \"q\",\n შ: \"sh\",\n ჩ: \"ch\",\n ც: \"ts\",\n ძ: \"dz\",\n წ: \"ts\",\n ჭ: \"ch\",\n ხ: \"kh\",\n ჯ: \"j\",\n ჰ: \"h\",\n // Greek\n α: \"a\",\n β: \"v\",\n γ: \"g\",\n δ: \"d\",\n ε: \"e\",\n ζ: \"z\",\n η: \"i\",\n θ: \"th\",\n ι: \"i\",\n κ: \"k\",\n λ: \"l\",\n μ: \"m\",\n ν: \"n\",\n ξ: \"ks\",\n ο: \"o\",\n π: \"p\",\n ρ: \"r\",\n σ: \"s\",\n τ: \"t\",\n υ: \"y\",\n φ: \"f\",\n χ: \"x\",\n ψ: \"ps\",\n ω: \"o\",\n ά: \"a\",\n έ: \"e\",\n ί: \"i\",\n ό: \"o\",\n ύ: \"y\",\n ή: \"i\",\n ώ: \"o\",\n ς: \"s\",\n ϊ: \"i\",\n ΰ: \"y\",\n ϋ: \"y\",\n ΐ: \"i\",\n Α: \"A\",\n Β: \"B\",\n Γ: \"G\",\n Δ: \"D\",\n Ε: \"E\",\n Ζ: \"Z\",\n Η: \"I\",\n Θ: \"TH\",\n Ι: \"I\",\n Κ: \"K\",\n Λ: \"L\",\n Μ: \"M\",\n Ν: \"N\",\n Ξ: \"KS\",\n Ο: \"O\",\n Π: \"P\",\n Ρ: \"R\",\n Σ: \"S\",\n Τ: \"T\",\n Υ: \"Y\",\n Φ: \"F\",\n Χ: \"X\",\n Ψ: \"PS\",\n Ω: \"O\",\n Ά: \"A\",\n Έ: \"E\",\n Ί: \"I\",\n Ό: \"O\",\n Ύ: \"Y\",\n Ή: \"I\",\n Ώ: \"O\",\n Ϊ: \"I\",\n Ϋ: \"Y\",\n // Latvian\n ā: \"a\",\n // 'č': 'c', // duplicate\n ē: \"e\",\n ģ: \"g\",\n ī: \"i\",\n ķ: \"k\",\n ļ: \"l\",\n ņ: \"n\",\n // 'š': 's', // duplicate\n ū: \"u\",\n // 'ž': 'z', // duplicate\n Ā: \"A\",\n // 'Č': 'C', // duplicate\n Ē: \"E\",\n Ģ: \"G\",\n Ī: \"I\",\n Ķ: \"k\",\n Ļ: \"L\",\n Ņ: \"N\",\n // 'Š': 'S', // duplicate\n Ū: \"U\",\n // 'Ž': 'Z', // duplicate\n // Macedonian\n Ќ: \"Kj\",\n ќ: \"kj\",\n Љ: \"Lj\",\n љ: \"lj\",\n Њ: \"Nj\",\n њ: \"nj\",\n Тс: \"Ts\",\n тс: \"ts\",\n // Polish\n ą: \"a\",\n ć: \"c\",\n ę: \"e\",\n ł: \"l\",\n ń: \"n\",\n // 'ó': 'o', // duplicate\n ś: \"s\",\n ź: \"z\",\n ż: \"z\",\n Ą: \"A\",\n Ć: \"C\",\n Ę: \"E\",\n Ł: \"L\",\n Ń: \"N\",\n Ś: \"S\",\n Ź: \"Z\",\n Ż: \"Z\",\n // Ukranian\n Є: \"Ye\",\n І: \"I\",\n Ї: \"Yi\",\n Ґ: \"G\",\n є: \"ye\",\n і: \"i\",\n ї: \"yi\",\n ґ: \"g\",\n // Romanian\n ă: \"a\",\n Ă: \"A\",\n ș: \"s\",\n Ș: \"S\",\n // 'ş': 's', // duplicate\n // 'Ş': 'S', // duplicate\n ț: \"t\",\n Ț: \"T\",\n ţ: \"t\",\n Ţ: \"T\",\n // Russian https://en.wikipedia.org/wiki/Romanization_of_Russian\n // ICAO\n а: \"a\",\n б: \"b\",\n в: \"v\",\n г: \"g\",\n д: \"d\",\n е: \"e\",\n ё: \"yo\",\n ж: \"zh\",\n з: \"z\",\n и: \"i\",\n й: \"i\",\n к: \"k\",\n л: \"l\",\n м: \"m\",\n н: \"n\",\n о: \"o\",\n п: \"p\",\n р: \"r\",\n с: \"s\",\n т: \"t\",\n у: \"u\",\n ф: \"f\",\n х: \"kh\",\n ц: \"c\",\n ч: \"ch\",\n ш: \"sh\",\n щ: \"sh\",\n ъ: \"\",\n ы: \"y\",\n ь: \"\",\n э: \"e\",\n ю: \"yu\",\n я: \"ya\",\n А: \"A\",\n Б: \"B\",\n В: \"V\",\n Г: \"G\",\n Д: \"D\",\n Е: \"E\",\n Ё: \"Yo\",\n Ж: \"Zh\",\n З: \"Z\",\n И: \"I\",\n Й: \"I\",\n К: \"K\",\n Л: \"L\",\n М: \"M\",\n Н: \"N\",\n О: \"O\",\n П: \"P\",\n Р: \"R\",\n С: \"S\",\n Т: \"T\",\n У: \"U\",\n Ф: \"F\",\n Х: \"Kh\",\n Ц: \"C\",\n Ч: \"Ch\",\n Ш: \"Sh\",\n Щ: \"Sh\",\n Ъ: \"\",\n Ы: \"Y\",\n Ь: \"\",\n Э: \"E\",\n Ю: \"Yu\",\n Я: \"Ya\",\n // Serbian\n ђ: \"dj\",\n ј: \"j\",\n // 'љ': 'lj', // duplicate\n // 'њ': 'nj', // duplicate\n ћ: \"c\",\n џ: \"dz\",\n Ђ: \"Dj\",\n Ј: \"j\",\n // 'Љ': 'Lj', // duplicate\n // 'Њ': 'Nj', // duplicate\n Ћ: \"C\",\n Џ: \"Dz\",\n // Slovak\n ľ: \"l\",\n ĺ: \"l\",\n ŕ: \"r\",\n Ľ: \"L\",\n Ĺ: \"L\",\n Ŕ: \"R\",\n // Turkish\n ş: \"s\",\n Ş: \"S\",\n ı: \"i\",\n İ: \"I\",\n // 'ç': 'c', // duplicate\n // 'Ç': 'C', // duplicate\n // 'ü': 'u', // duplicate, see langCharMap\n // 'Ü': 'U', // duplicate, see langCharMap\n // 'ö': 'o', // duplicate, see langCharMap\n // 'Ö': 'O', // duplicate, see langCharMap\n ğ: \"g\",\n Ğ: \"G\",\n // Vietnamese\n ả: \"a\",\n Ả: \"A\",\n ẳ: \"a\",\n Ẳ: \"A\",\n ẩ: \"a\",\n Ẩ: \"A\",\n đ: \"d\",\n Đ: \"D\",\n ẹ: \"e\",\n Ẹ: \"E\",\n ẽ: \"e\",\n Ẽ: \"E\",\n ẻ: \"e\",\n Ẻ: \"E\",\n ế: \"e\",\n Ế: \"E\",\n ề: \"e\",\n Ề: \"E\",\n ệ: \"e\",\n Ệ: \"E\",\n ễ: \"e\",\n Ễ: \"E\",\n ể: \"e\",\n Ể: \"E\",\n ỏ: \"o\",\n ọ: \"o\",\n Ọ: \"o\",\n ố: \"o\",\n Ố: \"O\",\n ồ: \"o\",\n Ồ: \"O\",\n ổ: \"o\",\n Ổ: \"O\",\n ộ: \"o\",\n Ộ: \"O\",\n ỗ: \"o\",\n Ỗ: \"O\",\n ơ: \"o\",\n Ơ: \"O\",\n ớ: \"o\",\n Ớ: \"O\",\n ờ: \"o\",\n Ờ: \"O\",\n ợ: \"o\",\n Ợ: \"O\",\n ỡ: \"o\",\n Ỡ: \"O\",\n Ở: \"o\",\n ở: \"o\",\n ị: \"i\",\n Ị: \"I\",\n ĩ: \"i\",\n Ĩ: \"I\",\n ỉ: \"i\",\n Ỉ: \"i\",\n ủ: \"u\",\n Ủ: \"U\",\n ụ: \"u\",\n Ụ: \"U\",\n ũ: \"u\",\n Ũ: \"U\",\n ư: \"u\",\n Ư: \"U\",\n ứ: \"u\",\n Ứ: \"U\",\n ừ: \"u\",\n Ừ: \"U\",\n ự: \"u\",\n Ự: \"U\",\n ữ: \"u\",\n Ữ: \"U\",\n ử: \"u\",\n Ử: \"ư\",\n ỷ: \"y\",\n Ỷ: \"y\",\n ỳ: \"y\",\n Ỳ: \"Y\",\n ỵ: \"y\",\n Ỵ: \"Y\",\n ỹ: \"y\",\n Ỹ: \"Y\",\n ạ: \"a\",\n Ạ: \"A\",\n ấ: \"a\",\n Ấ: \"A\",\n ầ: \"a\",\n Ầ: \"A\",\n ậ: \"a\",\n Ậ: \"A\",\n ẫ: \"a\",\n Ẫ: \"A\",\n // 'ă': 'a', // duplicate\n // 'Ă': 'A', // duplicate\n ắ: \"a\",\n Ắ: \"A\",\n ằ: \"a\",\n Ằ: \"A\",\n ặ: \"a\",\n Ặ: \"A\",\n ẵ: \"a\",\n Ẵ: \"A\",\n \"⓪\": \"0\",\n \"①\": \"1\",\n \"②\": \"2\",\n \"③\": \"3\",\n \"④\": \"4\",\n \"⑤\": \"5\",\n \"⑥\": \"6\",\n \"⑦\": \"7\",\n \"⑧\": \"8\",\n \"⑨\": \"9\",\n \"⑩\": \"10\",\n \"⑪\": \"11\",\n \"⑫\": \"12\",\n \"⑬\": \"13\",\n \"⑭\": \"14\",\n \"⑮\": \"15\",\n \"⑯\": \"16\",\n \"⑰\": \"17\",\n \"⑱\": \"18\",\n \"⑲\": \"18\",\n \"⑳\": \"18\",\n \"⓵\": \"1\",\n \"⓶\": \"2\",\n \"⓷\": \"3\",\n \"⓸\": \"4\",\n \"⓹\": \"5\",\n \"⓺\": \"6\",\n \"⓻\": \"7\",\n \"⓼\": \"8\",\n \"⓽\": \"9\",\n \"⓾\": \"10\",\n \"⓿\": \"0\",\n \"⓫\": \"11\",\n \"⓬\": \"12\",\n \"⓭\": \"13\",\n \"⓮\": \"14\",\n \"⓯\": \"15\",\n \"⓰\": \"16\",\n \"⓱\": \"17\",\n \"⓲\": \"18\",\n \"⓳\": \"19\",\n \"⓴\": \"20\",\n \"Ⓐ\": \"A\",\n \"Ⓑ\": \"B\",\n \"Ⓒ\": \"C\",\n \"Ⓓ\": \"D\",\n \"Ⓔ\": \"E\",\n \"Ⓕ\": \"F\",\n \"Ⓖ\": \"G\",\n \"Ⓗ\": \"H\",\n \"Ⓘ\": \"I\",\n \"Ⓙ\": \"J\",\n \"Ⓚ\": \"K\",\n \"Ⓛ\": \"L\",\n \"Ⓜ\": \"M\",\n \"Ⓝ\": \"N\",\n \"Ⓞ\": \"O\",\n \"Ⓟ\": \"P\",\n \"Ⓠ\": \"Q\",\n \"Ⓡ\": \"R\",\n \"Ⓢ\": \"S\",\n \"Ⓣ\": \"T\",\n \"Ⓤ\": \"U\",\n \"Ⓥ\": \"V\",\n \"Ⓦ\": \"W\",\n \"Ⓧ\": \"X\",\n \"Ⓨ\": \"Y\",\n \"Ⓩ\": \"Z\",\n \"ⓐ\": \"a\",\n \"ⓑ\": \"b\",\n \"ⓒ\": \"c\",\n \"ⓓ\": \"d\",\n \"ⓔ\": \"e\",\n \"ⓕ\": \"f\",\n \"ⓖ\": \"g\",\n \"ⓗ\": \"h\",\n \"ⓘ\": \"i\",\n \"ⓙ\": \"j\",\n \"ⓚ\": \"k\",\n \"ⓛ\": \"l\",\n \"ⓜ\": \"m\",\n \"ⓝ\": \"n\",\n \"ⓞ\": \"o\",\n \"ⓟ\": \"p\",\n \"ⓠ\": \"q\",\n \"ⓡ\": \"r\",\n \"ⓢ\": \"s\",\n \"ⓣ\": \"t\",\n \"ⓤ\": \"u\",\n \"ⓦ\": \"v\",\n \"ⓥ\": \"w\",\n \"ⓧ\": \"x\",\n \"ⓨ\": \"y\",\n \"ⓩ\": \"z\",\n // symbols\n \"“\": '\"',\n \"”\": '\"',\n \"‘\": \"'\",\n \"’\": \"'\",\n \"∂\": \"d\",\n ƒ: \"f\",\n \"™\": \"(TM)\",\n \"©\": \"(C)\",\n œ: \"oe\",\n Œ: \"OE\",\n \"®\": \"(R)\",\n \"†\": \"+\",\n \"℠\": \"(SM)\",\n \"…\": \"...\",\n \"˚\": \"o\",\n º: \"o\",\n ª: \"a\",\n \"•\": \"*\",\n \"၊\": \",\",\n \"။\": \".\",\n // currency\n $: \"USD\",\n \"€\": \"EUR\",\n \"₢\": \"BRN\",\n \"₣\": \"FRF\",\n \"£\": \"GBP\",\n \"₤\": \"ITL\",\n \"₦\": \"NGN\",\n \"₧\": \"ESP\",\n \"₩\": \"KRW\",\n \"₪\": \"ILS\",\n \"₫\": \"VND\",\n \"₭\": \"LAK\",\n \"₮\": \"MNT\",\n \"₯\": \"GRD\",\n \"₱\": \"ARS\",\n \"₲\": \"PYG\",\n \"₳\": \"ARA\",\n \"₴\": \"UAH\",\n \"₵\": \"GHS\",\n \"¢\": \"cent\",\n \"¥\": \"CNY\",\n 元: \"CNY\",\n 円: \"YEN\",\n \"﷼\": \"IRR\",\n \"₠\": \"EWE\",\n \"฿\": \"THB\",\n \"₨\": \"INR\",\n \"₹\": \"INR\",\n \"₰\": \"PF\",\n \"₺\": \"TRY\",\n \"؋\": \"AFN\",\n \"₼\": \"AZN\",\n лв: \"BGN\",\n \"៛\": \"KHR\",\n \"₡\": \"CRC\",\n \"₸\": \"KZT\",\n ден: \"MKD\",\n zł: \"PLN\",\n \"₽\": \"RUB\",\n \"₾\": \"GEL\"\n }, o = [\n // burmese\n \"်\",\n // Dhivehi\n \"ް\"\n ], s = {\n // Burmese\n // dependent vowels\n \"ာ\": \"a\",\n \"ါ\": \"a\",\n \"ေ\": \"e\",\n \"ဲ\": \"e\",\n \"ိ\": \"i\",\n \"ီ\": \"i\",\n \"ို\": \"o\",\n \"ု\": \"u\",\n \"ူ\": \"u\",\n \"ေါင်\": \"aung\",\n \"ော\": \"aw\",\n \"ော်\": \"aw\",\n \"ေါ\": \"aw\",\n \"ေါ်\": \"aw\",\n \"်\": \"်\",\n // this is special case but the character will be converted to latin in the code\n \"က်\": \"et\",\n \"ိုက်\": \"aik\",\n \"ောက်\": \"auk\",\n \"င်\": \"in\",\n \"ိုင်\": \"aing\",\n \"ောင်\": \"aung\",\n \"စ်\": \"it\",\n \"ည်\": \"i\",\n \"တ်\": \"at\",\n \"ိတ်\": \"eik\",\n \"ုတ်\": \"ok\",\n \"ွတ်\": \"ut\",\n \"ေတ်\": \"it\",\n \"ဒ်\": \"d\",\n \"ိုဒ်\": \"ok\",\n \"ုဒ်\": \"ait\",\n \"န်\": \"an\",\n \"ာန်\": \"an\",\n \"ိန်\": \"ein\",\n \"ုန်\": \"on\",\n \"ွန်\": \"un\",\n \"ပ်\": \"at\",\n \"ိပ်\": \"eik\",\n \"ုပ်\": \"ok\",\n \"ွပ်\": \"ut\",\n \"န်ုပ်\": \"nub\",\n \"မ်\": \"an\",\n \"ိမ်\": \"ein\",\n \"ုမ်\": \"on\",\n \"ွမ်\": \"un\",\n \"ယ်\": \"e\",\n \"ိုလ်\": \"ol\",\n \"ဉ်\": \"in\",\n \"ံ\": \"an\",\n \"ိံ\": \"ein\",\n \"ုံ\": \"on\",\n // Dhivehi\n \"ައް\": \"ah\",\n \"ަށް\": \"ah\"\n }, i = {\n en: {},\n // default language\n az: {\n // Azerbaijani\n ç: \"c\",\n ə: \"e\",\n ğ: \"g\",\n ı: \"i\",\n ö: \"o\",\n ş: \"s\",\n ü: \"u\",\n Ç: \"C\",\n Ə: \"E\",\n Ğ: \"G\",\n İ: \"I\",\n Ö: \"O\",\n Ş: \"S\",\n Ü: \"U\"\n },\n cs: {\n // Czech\n č: \"c\",\n ď: \"d\",\n ě: \"e\",\n ň: \"n\",\n ř: \"r\",\n š: \"s\",\n ť: \"t\",\n ů: \"u\",\n ž: \"z\",\n Č: \"C\",\n Ď: \"D\",\n Ě: \"E\",\n Ň: \"N\",\n Ř: \"R\",\n Š: \"S\",\n Ť: \"T\",\n Ů: \"U\",\n Ž: \"Z\"\n },\n fi: {\n // Finnish\n // 'å': 'a', duplicate see charMap/latin\n // 'Å': 'A', duplicate see charMap/latin\n ä: \"a\",\n // ok\n Ä: \"A\",\n // ok\n ö: \"o\",\n // ok\n Ö: \"O\"\n // ok\n },\n hu: {\n // Hungarian\n ä: \"a\",\n // ok\n Ä: \"A\",\n // ok\n // 'á': 'a', duplicate see charMap/latin\n // 'Á': 'A', duplicate see charMap/latin\n ö: \"o\",\n // ok\n Ö: \"O\",\n // ok\n // 'ő': 'o', duplicate see charMap/latin\n // 'Ő': 'O', duplicate see charMap/latin\n ü: \"u\",\n Ü: \"U\",\n ű: \"u\",\n Ű: \"U\"\n },\n lt: {\n // Lithuanian\n ą: \"a\",\n č: \"c\",\n ę: \"e\",\n ė: \"e\",\n į: \"i\",\n š: \"s\",\n ų: \"u\",\n ū: \"u\",\n ž: \"z\",\n Ą: \"A\",\n Č: \"C\",\n Ę: \"E\",\n Ė: \"E\",\n Į: \"I\",\n Š: \"S\",\n Ų: \"U\",\n Ū: \"U\"\n },\n lv: {\n // Latvian\n ā: \"a\",\n č: \"c\",\n ē: \"e\",\n ģ: \"g\",\n ī: \"i\",\n ķ: \"k\",\n ļ: \"l\",\n ņ: \"n\",\n š: \"s\",\n ū: \"u\",\n ž: \"z\",\n Ā: \"A\",\n Č: \"C\",\n Ē: \"E\",\n Ģ: \"G\",\n Ī: \"i\",\n Ķ: \"k\",\n Ļ: \"L\",\n Ņ: \"N\",\n Š: \"S\",\n Ū: \"u\",\n Ž: \"Z\"\n },\n pl: {\n // Polish\n ą: \"a\",\n ć: \"c\",\n ę: \"e\",\n ł: \"l\",\n ń: \"n\",\n ó: \"o\",\n ś: \"s\",\n ź: \"z\",\n ż: \"z\",\n Ą: \"A\",\n Ć: \"C\",\n Ę: \"e\",\n Ł: \"L\",\n Ń: \"N\",\n Ó: \"O\",\n Ś: \"S\",\n Ź: \"Z\",\n Ż: \"Z\"\n },\n sv: {\n // Swedish\n // 'å': 'a', duplicate see charMap/latin\n // 'Å': 'A', duplicate see charMap/latin\n ä: \"a\",\n // ok\n Ä: \"A\",\n // ok\n ö: \"o\",\n // ok\n Ö: \"O\"\n // ok\n },\n sk: {\n // Slovak\n ä: \"a\",\n Ä: \"A\"\n },\n sr: {\n // Serbian\n љ: \"lj\",\n њ: \"nj\",\n Љ: \"Lj\",\n Њ: \"Nj\",\n đ: \"dj\",\n Đ: \"Dj\"\n },\n tr: {\n // Turkish\n Ü: \"U\",\n Ö: \"O\",\n ü: \"u\",\n ö: \"o\"\n }\n }, u = {\n ar: {\n \"∆\": \"delta\",\n \"∞\": \"la-nihaya\",\n \"♥\": \"hob\",\n \"&\": \"wa\",\n \"|\": \"aw\",\n \"<\": \"aqal-men\",\n \">\": \"akbar-men\",\n \"∑\": \"majmou\",\n \"¤\": \"omla\"\n },\n az: {},\n ca: {\n \"∆\": \"delta\",\n \"∞\": \"infinit\",\n \"♥\": \"amor\",\n \"&\": \"i\",\n \"|\": \"o\",\n \"<\": \"menys que\",\n \">\": \"mes que\",\n \"∑\": \"suma dels\",\n \"¤\": \"moneda\"\n },\n cs: {\n \"∆\": \"delta\",\n \"∞\": \"nekonecno\",\n \"♥\": \"laska\",\n \"&\": \"a\",\n \"|\": \"nebo\",\n \"<\": \"mensi nez\",\n \">\": \"vetsi nez\",\n \"∑\": \"soucet\",\n \"¤\": \"mena\"\n },\n de: {\n \"∆\": \"delta\",\n \"∞\": \"unendlich\",\n \"♥\": \"Liebe\",\n \"&\": \"und\",\n \"|\": \"oder\",\n \"<\": \"kleiner als\",\n \">\": \"groesser als\",\n \"∑\": \"Summe von\",\n \"¤\": \"Waehrung\"\n },\n dv: {\n \"∆\": \"delta\",\n \"∞\": \"kolunulaa\",\n \"♥\": \"loabi\",\n \"&\": \"aai\",\n \"|\": \"noonee\",\n \"<\": \"ah vure kuda\",\n \">\": \"ah vure bodu\",\n \"∑\": \"jumula\",\n \"¤\": \"faisaa\"\n },\n en: {\n \"∆\": \"delta\",\n \"∞\": \"infinity\",\n \"♥\": \"love\",\n \"&\": \"and\",\n \"|\": \"or\",\n \"<\": \"less than\",\n \">\": \"greater than\",\n \"∑\": \"sum\",\n \"¤\": \"currency\"\n },\n es: {\n \"∆\": \"delta\",\n \"∞\": \"infinito\",\n \"♥\": \"amor\",\n \"&\": \"y\",\n \"|\": \"u\",\n \"<\": \"menos que\",\n \">\": \"mas que\",\n \"∑\": \"suma de los\",\n \"¤\": \"moneda\"\n },\n fa: {\n \"∆\": \"delta\",\n \"∞\": \"bi-nahayat\",\n \"♥\": \"eshgh\",\n \"&\": \"va\",\n \"|\": \"ya\",\n \"<\": \"kamtar-az\",\n \">\": \"bishtar-az\",\n \"∑\": \"majmooe\",\n \"¤\": \"vahed\"\n },\n fi: {\n \"∆\": \"delta\",\n \"∞\": \"aarettomyys\",\n \"♥\": \"rakkaus\",\n \"&\": \"ja\",\n \"|\": \"tai\",\n \"<\": \"pienempi kuin\",\n \">\": \"suurempi kuin\",\n \"∑\": \"summa\",\n \"¤\": \"valuutta\"\n },\n fr: {\n \"∆\": \"delta\",\n \"∞\": \"infiniment\",\n \"♥\": \"Amour\",\n \"&\": \"et\",\n \"|\": \"ou\",\n \"<\": \"moins que\",\n \">\": \"superieure a\",\n \"∑\": \"somme des\",\n \"¤\": \"monnaie\"\n },\n ge: {\n \"∆\": \"delta\",\n \"∞\": \"usasruloba\",\n \"♥\": \"siqvaruli\",\n \"&\": \"da\",\n \"|\": \"an\",\n \"<\": \"naklebi\",\n \">\": \"meti\",\n \"∑\": \"jami\",\n \"¤\": \"valuta\"\n },\n gr: {},\n hu: {\n \"∆\": \"delta\",\n \"∞\": \"vegtelen\",\n \"♥\": \"szerelem\",\n \"&\": \"es\",\n \"|\": \"vagy\",\n \"<\": \"kisebb mint\",\n \">\": \"nagyobb mint\",\n \"∑\": \"szumma\",\n \"¤\": \"penznem\"\n },\n it: {\n \"∆\": \"delta\",\n \"∞\": \"infinito\",\n \"♥\": \"amore\",\n \"&\": \"e\",\n \"|\": \"o\",\n \"<\": \"minore di\",\n \">\": \"maggiore di\",\n \"∑\": \"somma\",\n \"¤\": \"moneta\"\n },\n lt: {\n \"∆\": \"delta\",\n \"∞\": \"begalybe\",\n \"♥\": \"meile\",\n \"&\": \"ir\",\n \"|\": \"ar\",\n \"<\": \"maziau nei\",\n \">\": \"daugiau nei\",\n \"∑\": \"suma\",\n \"¤\": \"valiuta\"\n },\n lv: {\n \"∆\": \"delta\",\n \"∞\": \"bezgaliba\",\n \"♥\": \"milestiba\",\n \"&\": \"un\",\n \"|\": \"vai\",\n \"<\": \"mazak neka\",\n \">\": \"lielaks neka\",\n \"∑\": \"summa\",\n \"¤\": \"valuta\"\n },\n my: {\n \"∆\": \"kwahkhyaet\",\n \"∞\": \"asaonasme\",\n \"♥\": \"akhyait\",\n \"&\": \"nhin\",\n \"|\": \"tho\",\n \"<\": \"ngethaw\",\n \">\": \"kyithaw\",\n \"∑\": \"paungld\",\n \"¤\": \"ngwekye\"\n },\n mk: {},\n nl: {\n \"∆\": \"delta\",\n \"∞\": \"oneindig\",\n \"♥\": \"liefde\",\n \"&\": \"en\",\n \"|\": \"of\",\n \"<\": \"kleiner dan\",\n \">\": \"groter dan\",\n \"∑\": \"som\",\n \"¤\": \"valuta\"\n },\n pl: {\n \"∆\": \"delta\",\n \"∞\": \"nieskonczonosc\",\n \"♥\": \"milosc\",\n \"&\": \"i\",\n \"|\": \"lub\",\n \"<\": \"mniejsze niz\",\n \">\": \"wieksze niz\",\n \"∑\": \"suma\",\n \"¤\": \"waluta\"\n },\n pt: {\n \"∆\": \"delta\",\n \"∞\": \"infinito\",\n \"♥\": \"amor\",\n \"&\": \"e\",\n \"|\": \"ou\",\n \"<\": \"menor que\",\n \">\": \"maior que\",\n \"∑\": \"soma\",\n \"¤\": \"moeda\"\n },\n ro: {\n \"∆\": \"delta\",\n \"∞\": \"infinit\",\n \"♥\": \"dragoste\",\n \"&\": \"si\",\n \"|\": \"sau\",\n \"<\": \"mai mic ca\",\n \">\": \"mai mare ca\",\n \"∑\": \"suma\",\n \"¤\": \"valuta\"\n },\n ru: {\n \"∆\": \"delta\",\n \"∞\": \"beskonechno\",\n \"♥\": \"lubov\",\n \"&\": \"i\",\n \"|\": \"ili\",\n \"<\": \"menshe\",\n \">\": \"bolshe\",\n \"∑\": \"summa\",\n \"¤\": \"valjuta\"\n },\n sk: {\n \"∆\": \"delta\",\n \"∞\": \"nekonecno\",\n \"♥\": \"laska\",\n \"&\": \"a\",\n \"|\": \"alebo\",\n \"<\": \"menej ako\",\n \">\": \"viac ako\",\n \"∑\": \"sucet\",\n \"¤\": \"mena\"\n },\n sr: {},\n tr: {\n \"∆\": \"delta\",\n \"∞\": \"sonsuzluk\",\n \"♥\": \"ask\",\n \"&\": \"ve\",\n \"|\": \"veya\",\n \"<\": \"kucuktur\",\n \">\": \"buyuktur\",\n \"∑\": \"toplam\",\n \"¤\": \"para birimi\"\n },\n uk: {\n \"∆\": \"delta\",\n \"∞\": \"bezkinechnist\",\n \"♥\": \"lubov\",\n \"&\": \"i\",\n \"|\": \"abo\",\n \"<\": \"menshe\",\n \">\": \"bilshe\",\n \"∑\": \"suma\",\n \"¤\": \"valjuta\"\n },\n vn: {\n \"∆\": \"delta\",\n \"∞\": \"vo cuc\",\n \"♥\": \"yeu\",\n \"&\": \"va\",\n \"|\": \"hoac\",\n \"<\": \"nho hon\",\n \">\": \"lon hon\",\n \"∑\": \"tong\",\n \"¤\": \"tien te\"\n }\n }, a = [\";\", \"?\", \":\", \"@\", \"&\", \"=\", \"+\", \"$\", \",\", \"/\"].join(\"\"), c = [\";\", \"?\", \":\", \"@\", \"&\", \"=\", \"+\", \"$\", \",\"].join(\"\"), p = [\".\", \"!\", \"~\", \"*\", \"'\", \"(\", \")\"].join(\"\"), l = function(g, E) {\n var w = \"-\", O = \"\", N = \"\", J = !0, B = {}, b, ke, V, S, y, T, D, $, de, F, A, z, C, he, X = \"\";\n if (typeof g != \"string\")\n return \"\";\n if (typeof E == \"string\" && (w = E), D = u.en, $ = i.en, typeof E == \"object\") {\n b = E.maintainCase || !1, B = E.custom && typeof E.custom == \"object\" ? E.custom : B, V = +E.truncate > 1 && E.truncate || !1, S = E.uric || !1, y = E.uricNoSlash || !1, T = E.mark || !1, J = !(E.symbols === !1 || E.lang === !1), w = E.separator || w, S && (X += a), y && (X += c), T && (X += p), D = E.lang && u[E.lang] && J ? u[E.lang] : J ? u.en : {}, $ = E.lang && i[E.lang] ? i[E.lang] : E.lang === !1 || E.lang === !0 ? {} : i.en, E.titleCase && typeof E.titleCase.length == \"number\" && Array.prototype.toString.call(E.titleCase) ? (E.titleCase.forEach(function(j) {\n B[j + \"\"] = j + \"\";\n }), ke = !0) : ke = !!E.titleCase, E.custom && typeof E.custom.length == \"number\" && Array.prototype.toString.call(E.custom) && E.custom.forEach(function(j) {\n B[j + \"\"] = j + \"\";\n }), Object.keys(B).forEach(function(j) {\n var De;\n j.length > 1 ? De = new RegExp(\"\\\\b\" + d(j) + \"\\\\b\", \"gi\") : De = new RegExp(d(j), \"gi\"), g = g.replace(De, B[j]);\n });\n for (A in B)\n X += A;\n }\n for (X += w, X = d(X), g = g.replace(/(^\\s+|\\s+$)/g, \"\"), C = !1, he = !1, F = 0, z = g.length; F < z; F++)\n A = g[F], h(A, B) ? C = !1 : $[A] ? (A = C && $[A].match(/[A-Za-z0-9]/) ? \" \" + $[A] : $[A], C = !1) : A in r ? (F + 1 < z && o.indexOf(g[F + 1]) >= 0 ? (N += A, A = \"\") : he === !0 ? (A = s[N] + r[A], N = \"\") : A = C && r[A].match(/[A-Za-z0-9]/) ? \" \" + r[A] : r[A], C = !1, he = !1) : A in s ? (N += A, A = \"\", F === z - 1 && (A = s[N]), he = !0) : /* process symbol chars */ D[A] && !(S && a.indexOf(A) !== -1) && !(y && c.indexOf(A) !== -1) ? (A = C || O.substr(-1).match(/[A-Za-z0-9]/) ? w + D[A] : D[A], A += g[F + 1] !== void 0 && g[F + 1].match(/[A-Za-z0-9]/) ? w : \"\", C = !0) : (he === !0 ? (A = s[N] + A, N = \"\", he = !1) : C && (/[A-Za-z0-9]/.test(A) || O.substr(-1).match(/A-Za-z0-9]/)) && (A = \" \" + A), C = !1), O += A.replace(new RegExp(\"[^\\\\w\\\\s\" + X + \"_-]\", \"g\"), w);\n return ke && (O = O.replace(/(\\w)(\\S*)/g, function(j, De, _n) {\n var ht = De.toUpperCase() + (_n !== null ? _n : \"\");\n return Object.keys(B).indexOf(ht.toLowerCase()) < 0 ? ht : ht.toLowerCase();\n })), O = O.replace(/\\s+/g, w).replace(new RegExp(\"\\\\\" + w + \"+\", \"g\"), w).replace(new RegExp(\"(^\\\\\" + w + \"+|\\\\\" + w + \"+$)\", \"g\"), \"\"), V && O.length > V && (de = O.charAt(V) === w, O = O.slice(0, V), de || (O = O.slice(0, O.lastIndexOf(w)))), !b && !ke && (O = O.toLowerCase()), O;\n }, f = function(g) {\n return function(w) {\n return l(w, g);\n };\n }, d = function(g) {\n return g.replace(/[-\\\\^$*+?.()|[\\]{}\\/]/g, \"\\\\$&\");\n }, h = function(m, g) {\n for (var E in g)\n if (g[E] === m)\n return !0;\n };\n if (typeof t < \"u\" && t.exports)\n t.exports = l, t.exports.createSlug = f;\n else if (typeof define < \"u\" && define.amd)\n define([], function() {\n return l;\n });\n else\n try {\n if (n.getSlug || n.createSlug)\n throw \"speakingurl: globals exists /(getSlug|createSlug)/\";\n n.getSlug = l, n.createSlug = f;\n } catch {\n }\n })(e);\n }\n}), iu = go({\n \"../../node_modules/.pnpm/speakingurl@14.0.1/node_modules/speakingurl/index.js\"(e, t) {\n _(), t.exports = su();\n }\n});\n_();\n_();\n_();\n_();\n_();\n_();\n_();\n_();\nfunction uu(e) {\n var t;\n const n = e.name || e._componentTag || e.__VUE_DEVTOOLS_COMPONENT_GUSSED_NAME__ || e.__name;\n return n === \"index\" && ((t = e.__file) != null && t.endsWith(\"index.vue\")) ? \"\" : n;\n}\nfunction au(e) {\n const t = e.__file;\n if (t)\n return Hi(zi(t, \".vue\"));\n}\nfunction kn(e, t) {\n return e.type.__VUE_DEVTOOLS_COMPONENT_GUSSED_NAME__ = t, t;\n}\nfunction Zt(e) {\n if (e.__VUE_DEVTOOLS_NEXT_APP_RECORD__)\n return e.__VUE_DEVTOOLS_NEXT_APP_RECORD__;\n if (e.root)\n return e.appContext.app.__VUE_DEVTOOLS_NEXT_APP_RECORD__;\n}\nfunction mo(e) {\n var t, n;\n const r = (t = e.subTree) == null ? void 0 : t.type, o = Zt(e);\n return o ? ((n = o?.types) == null ? void 0 : n.Fragment) === r : !1;\n}\nfunction ct(e) {\n var t, n, r;\n const o = uu(e?.type || {});\n if (o)\n return o;\n if (e?.root === e)\n return \"Root\";\n for (const i in (n = (t = e.parent) == null ? void 0 : t.type) == null ? void 0 : n.components)\n if (e.parent.type.components[i] === e?.type)\n return kn(e, i);\n for (const i in (r = e.appContext) == null ? void 0 : r.components)\n if (e.appContext.components[i] === e?.type)\n return kn(e, i);\n const s = au(e?.type || {});\n return s || \"Anonymous Component\";\n}\nfunction cu(e) {\n var t, n, r;\n const o = (r = (n = (t = e?.appContext) == null ? void 0 : t.app) == null ? void 0 : n.__VUE_DEVTOOLS_NEXT_APP_RECORD_ID__) != null ? r : 0, s = e === e?.root ? \"root\" : e.uid;\n return `${o}:${s}`;\n}\nfunction Dt(e, t) {\n return t = t || `${e.id}:root`, e.instanceMap.get(t) || e.instanceMap.get(\":root\");\n}\nfunction lu() {\n const e = {\n top: 0,\n bottom: 0,\n left: 0,\n right: 0,\n get width() {\n return e.right - e.left;\n },\n get height() {\n return e.bottom - e.top;\n }\n };\n return e;\n}\nvar Ye;\nfunction fu(e) {\n return Ye || (Ye = document.createRange()), Ye.selectNode(e), Ye.getBoundingClientRect();\n}\nfunction du(e) {\n const t = lu();\n if (!e.children)\n return t;\n for (let n = 0, r = e.children.length; n < r; n++) {\n const o = e.children[n];\n let s;\n if (o.component)\n s = le(o.component);\n else if (o.el) {\n const i = o.el;\n i.nodeType === 1 || i.getBoundingClientRect ? s = i.getBoundingClientRect() : i.nodeType === 3 && i.data.trim() && (s = fu(i));\n }\n s && hu(t, s);\n }\n return t;\n}\nfunction hu(e, t) {\n return (!e.top || t.top < e.top) && (e.top = t.top), (!e.bottom || t.bottom > e.bottom) && (e.bottom = t.bottom), (!e.left || t.left < e.left) && (e.left = t.left), (!e.right || t.right > e.right) && (e.right = t.right), e;\n}\nvar Dn = {\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n width: 0,\n height: 0\n};\nfunction le(e) {\n const t = e.subTree.el;\n return typeof window > \"u\" ? Dn : mo(e) ? du(e.subTree) : t?.nodeType === 1 ? t?.getBoundingClientRect() : e.subTree.component ? le(e.subTree.component) : Dn;\n}\n_();\nfunction Qt(e) {\n return mo(e) ? pu(e.subTree) : e.subTree ? [e.subTree.el] : [];\n}\nfunction pu(e) {\n if (!e.children)\n return [];\n const t = [];\n return e.children.forEach((n) => {\n n.component ? t.push(...Qt(n.component)) : n?.el && t.push(n.el);\n }), t;\n}\nvar Eo = \"__vue-devtools-component-inspector__\", vo = \"__vue-devtools-component-inspector__card__\", yo = \"__vue-devtools-component-inspector__name__\", So = \"__vue-devtools-component-inspector__indicator__\", bo = {\n display: \"block\",\n zIndex: 2147483640,\n position: \"fixed\",\n backgroundColor: \"#42b88325\",\n border: \"1px solid #42b88350\",\n borderRadius: \"5px\",\n transition: \"all 0.1s ease-in\",\n pointerEvents: \"none\"\n}, _u = {\n fontFamily: \"Arial, Helvetica, sans-serif\",\n padding: \"5px 8px\",\n borderRadius: \"4px\",\n textAlign: \"left\",\n position: \"absolute\",\n left: 0,\n color: \"#e9e9e9\",\n fontSize: \"14px\",\n fontWeight: 600,\n lineHeight: \"24px\",\n backgroundColor: \"#42b883\",\n boxShadow: \"0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1)\"\n}, gu = {\n display: \"inline-block\",\n fontWeight: 400,\n fontStyle: \"normal\",\n fontSize: \"12px\",\n opacity: 0.7\n};\nfunction Ie() {\n return document.getElementById(Eo);\n}\nfunction mu() {\n return document.getElementById(vo);\n}\nfunction Eu() {\n return document.getElementById(So);\n}\nfunction vu() {\n return document.getElementById(yo);\n}\nfunction en(e) {\n return {\n left: `${Math.round(e.left * 100) / 100}px`,\n top: `${Math.round(e.top * 100) / 100}px`,\n width: `${Math.round(e.width * 100) / 100}px`,\n height: `${Math.round(e.height * 100) / 100}px`\n };\n}\nfunction tn(e) {\n var t;\n const n = document.createElement(\"div\");\n n.id = (t = e.elementId) != null ? t : Eo, Object.assign(n.style, {\n ...bo,\n ...en(e.bounds),\n ...e.style\n });\n const r = document.createElement(\"span\");\n r.id = vo, Object.assign(r.style, {\n ..._u,\n top: e.bounds.top < 35 ? 0 : \"-35px\"\n });\n const o = document.createElement(\"span\");\n o.id = yo, o.innerHTML = `&lt;${e.name}&gt;&nbsp;&nbsp;`;\n const s = document.createElement(\"i\");\n return s.id = So, s.innerHTML = `${Math.round(e.bounds.width * 100) / 100} x ${Math.round(e.bounds.height * 100) / 100}`, Object.assign(s.style, gu), r.appendChild(o), r.appendChild(s), n.appendChild(r), document.body.appendChild(n), n;\n}\nfunction nn(e) {\n const t = Ie(), n = mu(), r = vu(), o = Eu();\n t && (Object.assign(t.style, {\n ...bo,\n ...en(e.bounds)\n }), Object.assign(n.style, {\n top: e.bounds.top < 35 ? 0 : \"-35px\"\n }), r.innerHTML = `&lt;${e.name}&gt;&nbsp;&nbsp;`, o.innerHTML = `${Math.round(e.bounds.width * 100) / 100} x ${Math.round(e.bounds.height * 100) / 100}`);\n}\nfunction yu(e) {\n const t = le(e);\n if (!t.width && !t.height)\n return;\n const n = ct(e);\n Ie() ? nn({ bounds: t, name: n }) : tn({ bounds: t, name: n });\n}\nfunction Ao() {\n const e = Ie();\n e && (e.style.display = \"none\");\n}\nvar xt = null;\nfunction Pt(e) {\n const t = e.target;\n if (t) {\n const n = t.__vueParentComponent;\n if (n && (xt = n, n.vnode.el)) {\n const o = le(n), s = ct(n);\n Ie() ? nn({ bounds: o, name: s }) : tn({ bounds: o, name: s });\n }\n }\n}\nfunction Su(e, t) {\n if (e.preventDefault(), e.stopPropagation(), xt) {\n const n = cu(xt);\n t(n);\n }\n}\nvar it = null;\nfunction bu() {\n Ao(), window.removeEventListener(\"mouseover\", Pt), window.removeEventListener(\"click\", it, !0), it = null;\n}\nfunction Au() {\n return window.addEventListener(\"mouseover\", Pt), new Promise((e) => {\n function t(n) {\n n.preventDefault(), n.stopPropagation(), Su(n, (r) => {\n window.removeEventListener(\"click\", t, !0), it = null, window.removeEventListener(\"mouseover\", Pt);\n const o = Ie();\n o && (o.style.display = \"none\"), e(JSON.stringify({ id: r }));\n });\n }\n it = t, window.addEventListener(\"click\", t, !0);\n });\n}\nfunction wu(e) {\n const t = Dt(R.value, e.id);\n if (t) {\n const [n] = Qt(t);\n if (typeof n.scrollIntoView == \"function\")\n n.scrollIntoView({\n behavior: \"smooth\"\n });\n else {\n const r = le(t), o = document.createElement(\"div\"), s = {\n ...en(r),\n position: \"absolute\"\n };\n Object.assign(o.style, s), document.body.appendChild(o), o.scrollIntoView({\n behavior: \"smooth\"\n }), setTimeout(() => {\n document.body.removeChild(o);\n }, 2e3);\n }\n setTimeout(() => {\n const r = le(t);\n if (r.width || r.height) {\n const o = ct(t), s = Ie();\n s ? nn({ ...e, name: o, bounds: r }) : tn({ ...e, name: o, bounds: r }), setTimeout(() => {\n s && (s.style.display = \"none\");\n }, 1500);\n }\n }, 1200);\n }\n}\n_();\nvar xn, Pn;\n(Pn = (xn = v).__VUE_DEVTOOLS_COMPONENT_INSPECTOR_ENABLED__) != null || (xn.__VUE_DEVTOOLS_COMPONENT_INSPECTOR_ENABLED__ = !0);\nfunction Ou(e) {\n let t = 0;\n const n = setInterval(() => {\n v.__VUE_INSPECTOR__ && (clearInterval(n), t += 30, e()), t >= /* 5s */\n 5e3 && clearInterval(n);\n }, 30);\n}\nfunction Tu() {\n const e = v.__VUE_INSPECTOR__, t = e.openInEditor;\n e.openInEditor = async (...n) => {\n e.disable(), t(...n);\n };\n}\nfunction Iu() {\n return new Promise((e) => {\n function t() {\n Tu(), e(v.__VUE_INSPECTOR__);\n }\n v.__VUE_INSPECTOR__ ? t() : Ou(() => {\n t();\n });\n });\n}\n_();\n_();\nfunction Cu(e) {\n return !!(e && e.__v_isReadonly);\n}\nfunction wo(e) {\n return Cu(e) ? wo(e.__v_raw) : !!(e && e.__v_isReactive);\n}\nfunction vt(e) {\n return !!(e && e.__v_isRef === !0);\n}\nfunction Pe(e) {\n const t = e && e.__v_raw;\n return t ? Pe(t) : e;\n}\nvar ku = class {\n constructor() {\n this.refEditor = new Du();\n }\n set(e, t, n, r) {\n const o = Array.isArray(t) ? t : t.split(\".\");\n for (; o.length > 1; ) {\n const u = o.shift();\n e instanceof Map ? e = e.get(u) : e instanceof Set ? e = Array.from(e.values())[u] : e = e[u], this.refEditor.isRef(e) && (e = this.refEditor.get(e));\n }\n const s = o[0], i = this.refEditor.get(e)[s];\n r ? r(e, s, n) : this.refEditor.isRef(i) ? this.refEditor.set(i, n) : e[s] = n;\n }\n get(e, t) {\n const n = Array.isArray(t) ? t : t.split(\".\");\n for (let r = 0; r < n.length; r++)\n if (e instanceof Map ? e = e.get(n[r]) : e = e[n[r]], this.refEditor.isRef(e) && (e = this.refEditor.get(e)), !e)\n return;\n return e;\n }\n has(e, t, n = !1) {\n if (typeof e > \"u\")\n return !1;\n const r = Array.isArray(t) ? t.slice() : t.split(\".\"), o = n ? 2 : 1;\n for (; e && r.length > o; ) {\n const s = r.shift();\n e = e[s], this.refEditor.isRef(e) && (e = this.refEditor.get(e));\n }\n return e != null && Object.prototype.hasOwnProperty.call(e, r[0]);\n }\n createDefaultSetCallback(e) {\n return (t, n, r) => {\n if ((e.remove || e.newKey) && (Array.isArray(t) ? t.splice(n, 1) : Pe(t) instanceof Map ? t.delete(n) : Pe(t) instanceof Set ? t.delete(Array.from(t.values())[n]) : Reflect.deleteProperty(t, n)), !e.remove) {\n const o = t[e.newKey || n];\n this.refEditor.isRef(o) ? this.refEditor.set(o, r) : Pe(t) instanceof Map ? t.set(e.newKey || n, r) : Pe(t) instanceof Set ? t.add(r) : t[e.newKey || n] = r;\n }\n };\n }\n}, Du = class {\n set(e, t) {\n if (vt(e))\n e.value = t;\n else {\n if (e instanceof Set && Array.isArray(t)) {\n e.clear(), t.forEach((o) => e.add(o));\n return;\n }\n const n = Object.keys(t);\n if (e instanceof Map) {\n const o = new Set(e.keys());\n n.forEach((s) => {\n e.set(s, Reflect.get(t, s)), o.delete(s);\n }), o.forEach((s) => e.delete(s));\n return;\n }\n const r = new Set(Object.keys(e));\n n.forEach((o) => {\n Reflect.set(e, o, Reflect.get(t, o)), r.delete(o);\n }), r.forEach((o) => Reflect.deleteProperty(e, o));\n }\n }\n get(e) {\n return vt(e) ? e.value : e;\n }\n isRef(e) {\n return vt(e) || wo(e);\n }\n};\n_();\n_();\n_();\nvar xu = \"__VUE_DEVTOOLS_KIT_TIMELINE_LAYERS_STATE__\";\nfunction Pu() {\n if (!fo || typeof localStorage > \"u\" || localStorage === null)\n return {\n recordingState: !1,\n mouseEventEnabled: !1,\n keyboardEventEnabled: !1,\n componentEventEnabled: !1,\n performanceEventEnabled: !1,\n selected: \"\"\n };\n const e = localStorage.getItem(xu);\n return e ? JSON.parse(e) : {\n recordingState: !1,\n mouseEventEnabled: !1,\n keyboardEventEnabled: !1,\n componentEventEnabled: !1,\n performanceEventEnabled: !1,\n selected: \"\"\n };\n}\n_();\n_();\n_();\nvar Rn, Nn;\n(Nn = (Rn = v).__VUE_DEVTOOLS_KIT_TIMELINE_LAYERS) != null || (Rn.__VUE_DEVTOOLS_KIT_TIMELINE_LAYERS = []);\nvar Ru = new Proxy(v.__VUE_DEVTOOLS_KIT_TIMELINE_LAYERS, {\n get(e, t, n) {\n return Reflect.get(e, t, n);\n }\n});\nfunction Nu(e, t) {\n k.timelineLayersState[t.id] = !1, Ru.push({\n ...e,\n descriptorId: t.id,\n appRecord: Zt(t.app)\n });\n}\nvar Vn, Ln;\n(Ln = (Vn = v).__VUE_DEVTOOLS_KIT_INSPECTOR__) != null || (Vn.__VUE_DEVTOOLS_KIT_INSPECTOR__ = []);\nvar rn = new Proxy(v.__VUE_DEVTOOLS_KIT_INSPECTOR__, {\n get(e, t, n) {\n return Reflect.get(e, t, n);\n }\n}), Oo = we(() => {\n Ce.hooks.callHook(\"sendInspectorToClient\", To());\n});\nfunction Vu(e, t) {\n var n, r;\n rn.push({\n options: e,\n descriptor: t,\n treeFilterPlaceholder: (n = e.treeFilterPlaceholder) != null ? n : \"Search tree...\",\n stateFilterPlaceholder: (r = e.stateFilterPlaceholder) != null ? r : \"Search state...\",\n treeFilter: \"\",\n selectedNodeId: \"\",\n appRecord: Zt(t.app)\n }), Oo();\n}\nfunction To() {\n return rn.filter((e) => e.descriptor.app === R.value.app).filter((e) => e.descriptor.id !== \"components\").map((e) => {\n var t;\n const n = e.descriptor, r = e.options;\n return {\n id: r.id,\n label: r.label,\n logo: n.logo,\n icon: `custom-ic-baseline-${(t = r?.icon) == null ? void 0 : t.replace(/_/g, \"-\")}`,\n packageName: n.packageName,\n homepage: n.homepage,\n pluginId: n.id\n };\n });\n}\nfunction Je(e, t) {\n return rn.find((n) => n.options.id === e && (t ? n.descriptor.app === t : !0));\n}\nfunction Lu() {\n const e = po();\n e.hook(\"addInspector\", ({ inspector: r, plugin: o }) => {\n Vu(r, o.descriptor);\n });\n const t = we(async ({ inspectorId: r, plugin: o }) => {\n var s;\n if (!r || !((s = o?.descriptor) != null && s.app) || k.highPerfModeEnabled)\n return;\n const i = Je(r, o.descriptor.app), u = {\n app: o.descriptor.app,\n inspectorId: r,\n filter: i?.treeFilter || \"\",\n rootNodes: []\n };\n await new Promise((a) => {\n e.callHookWith(\n async (c) => {\n await Promise.all(c.map((p) => p(u))), a();\n },\n \"getInspectorTree\"\n /* GET_INSPECTOR_TREE */\n );\n }), e.callHookWith(\n async (a) => {\n await Promise.all(a.map((c) => c({\n inspectorId: r,\n rootNodes: u.rootNodes\n })));\n },\n \"sendInspectorTreeToClient\"\n /* SEND_INSPECTOR_TREE_TO_CLIENT */\n );\n }, 120);\n e.hook(\"sendInspectorTree\", t);\n const n = we(async ({ inspectorId: r, plugin: o }) => {\n var s;\n if (!r || !((s = o?.descriptor) != null && s.app) || k.highPerfModeEnabled)\n return;\n const i = Je(r, o.descriptor.app), u = {\n app: o.descriptor.app,\n inspectorId: r,\n nodeId: i?.selectedNodeId || \"\",\n state: null\n }, a = {\n currentTab: `custom-inspector:${r}`\n };\n u.nodeId && await new Promise((c) => {\n e.callHookWith(\n async (p) => {\n await Promise.all(p.map((l) => l(u, a))), c();\n },\n \"getInspectorState\"\n /* GET_INSPECTOR_STATE */\n );\n }), e.callHookWith(\n async (c) => {\n await Promise.all(c.map((p) => p({\n inspectorId: r,\n nodeId: u.nodeId,\n state: u.state\n })));\n },\n \"sendInspectorStateToClient\"\n /* SEND_INSPECTOR_STATE_TO_CLIENT */\n );\n }, 120);\n return e.hook(\"sendInspectorState\", n), e.hook(\"customInspectorSelectNode\", ({ inspectorId: r, nodeId: o, plugin: s }) => {\n const i = Je(r, s.descriptor.app);\n i && (i.selectedNodeId = o);\n }), e.hook(\"timelineLayerAdded\", ({ options: r, plugin: o }) => {\n Nu(r, o.descriptor);\n }), e.hook(\"timelineEventAdded\", ({ options: r, plugin: o }) => {\n var s;\n const i = [\"performance\", \"component-event\", \"keyboard\", \"mouse\"];\n k.highPerfModeEnabled || !((s = k.timelineLayersState) != null && s[o.descriptor.id]) && !i.includes(r.layerId) || e.callHookWith(\n async (u) => {\n await Promise.all(u.map((a) => a(r)));\n },\n \"sendTimelineEventToClient\"\n /* SEND_TIMELINE_EVENT_TO_CLIENT */\n );\n }), e.hook(\"getComponentInstances\", async ({ app: r }) => {\n const o = r.__VUE_DEVTOOLS_NEXT_APP_RECORD__;\n if (!o)\n return null;\n const s = o.id.toString();\n return [...o.instanceMap].filter(([u]) => u.split(\":\")[0] === s).map(([, u]) => u);\n }), e.hook(\"getComponentBounds\", async ({ instance: r }) => le(r)), e.hook(\"getComponentName\", ({ instance: r }) => ct(r)), e.hook(\"componentHighlight\", ({ uid: r }) => {\n const o = R.value.instanceMap.get(r);\n o && yu(o);\n }), e.hook(\"componentUnhighlight\", () => {\n Ao();\n }), e;\n}\nvar Mn, Bn;\n(Bn = (Mn = v).__VUE_DEVTOOLS_KIT_APP_RECORDS__) != null || (Mn.__VUE_DEVTOOLS_KIT_APP_RECORDS__ = []);\nvar $n, Un;\n(Un = ($n = v).__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__) != null || ($n.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__ = {});\nvar Fn, jn;\n(jn = (Fn = v).__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD_ID__) != null || (Fn.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD_ID__ = \"\");\nvar Hn, zn;\n(zn = (Hn = v).__VUE_DEVTOOLS_KIT_CUSTOM_TABS__) != null || (Hn.__VUE_DEVTOOLS_KIT_CUSTOM_TABS__ = []);\nvar Kn, Gn;\n(Gn = (Kn = v).__VUE_DEVTOOLS_KIT_CUSTOM_COMMANDS__) != null || (Kn.__VUE_DEVTOOLS_KIT_CUSTOM_COMMANDS__ = []);\nvar ue = \"__VUE_DEVTOOLS_KIT_GLOBAL_STATE__\";\nfunction Mu() {\n return {\n connected: !1,\n clientConnected: !1,\n vitePluginDetected: !0,\n appRecords: [],\n activeAppRecordId: \"\",\n tabs: [],\n commands: [],\n highPerfModeEnabled: !0,\n devtoolsClientDetected: {},\n perfUniqueGroupId: 0,\n timelineLayersState: Pu()\n };\n}\nvar Wn, Yn;\n(Yn = (Wn = v)[ue]) != null || (Wn[ue] = Mu());\nvar Bu = we((e) => {\n Ce.hooks.callHook(\"devtoolsStateUpdated\", { state: e });\n});\nwe((e, t) => {\n Ce.hooks.callHook(\"devtoolsConnectedUpdated\", { state: e, oldState: t });\n});\nvar lt = new Proxy(v.__VUE_DEVTOOLS_KIT_APP_RECORDS__, {\n get(e, t, n) {\n return t === \"value\" ? v.__VUE_DEVTOOLS_KIT_APP_RECORDS__ : v.__VUE_DEVTOOLS_KIT_APP_RECORDS__[t];\n }\n}), R = new Proxy(v.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__, {\n get(e, t, n) {\n return t === \"value\" ? v.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__ : t === \"id\" ? v.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD_ID__ : v.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__[t];\n }\n});\nfunction Io() {\n Bu({\n ...v[ue],\n appRecords: lt.value,\n activeAppRecordId: R.id,\n tabs: v.__VUE_DEVTOOLS_KIT_CUSTOM_TABS__,\n commands: v.__VUE_DEVTOOLS_KIT_CUSTOM_COMMANDS__\n });\n}\nfunction $u(e) {\n v.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__ = e, Io();\n}\nfunction Uu(e) {\n v.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD_ID__ = e, Io();\n}\nvar k = new Proxy(v[ue], {\n get(e, t) {\n return t === \"appRecords\" ? lt : t === \"activeAppRecordId\" ? R.id : t === \"tabs\" ? v.__VUE_DEVTOOLS_KIT_CUSTOM_TABS__ : t === \"commands\" ? v.__VUE_DEVTOOLS_KIT_CUSTOM_COMMANDS__ : v[ue][t];\n },\n deleteProperty(e, t) {\n return delete e[t], !0;\n },\n set(e, t, n) {\n return { ...v[ue] }, e[t] = n, v[ue][t] = n, !0;\n }\n});\nfunction Fu(e = {}) {\n var t, n, r;\n const { file: o, host: s, baseUrl: i = window.location.origin, line: u = 0, column: a = 0 } = e;\n if (o) {\n if (s === \"chrome-extension\") {\n const c = o.replace(/\\\\/g, \"\\\\\\\\\"), p = (n = (t = window.VUE_DEVTOOLS_CONFIG) == null ? void 0 : t.openInEditorHost) != null ? n : \"/\";\n fetch(`${p}__open-in-editor?file=${encodeURI(o)}`).then((l) => {\n if (!l.ok) {\n const f = `Opening component ${c} failed`;\n console.log(`%c${f}`, \"color:red\");\n }\n });\n } else if (k.vitePluginDetected) {\n const c = (r = v.__VUE_DEVTOOLS_OPEN_IN_EDITOR_BASE_URL__) != null ? r : i;\n v.__VUE_INSPECTOR__.openInEditor(c, o, u, a);\n }\n }\n}\n_();\n_();\n_();\n_();\n_();\nvar qn, Jn;\n(Jn = (qn = v).__VUE_DEVTOOLS_KIT_PLUGIN_BUFFER__) != null || (qn.__VUE_DEVTOOLS_KIT_PLUGIN_BUFFER__ = []);\nvar on = new Proxy(v.__VUE_DEVTOOLS_KIT_PLUGIN_BUFFER__, {\n get(e, t, n) {\n return Reflect.get(e, t, n);\n }\n});\nfunction Rt(e) {\n const t = {};\n return Object.keys(e).forEach((n) => {\n t[n] = e[n].defaultValue;\n }), t;\n}\nfunction sn(e) {\n return `__VUE_DEVTOOLS_NEXT_PLUGIN_SETTINGS__${e}__`;\n}\nfunction ju(e) {\n var t, n, r;\n const o = (n = (t = on.find((s) => {\n var i;\n return s[0].id === e && !!((i = s[0]) != null && i.settings);\n })) == null ? void 0 : t[0]) != null ? n : null;\n return (r = o?.settings) != null ? r : null;\n}\nfunction Co(e, t) {\n var n, r, o;\n const s = sn(e);\n if (s) {\n const i = localStorage.getItem(s);\n if (i)\n return JSON.parse(i);\n }\n if (e) {\n const i = (r = (n = on.find((u) => u[0].id === e)) == null ? void 0 : n[0]) != null ? r : null;\n return Rt((o = i?.settings) != null ? o : {});\n }\n return Rt(t);\n}\nfunction Hu(e, t) {\n const n = sn(e);\n localStorage.getItem(n) || localStorage.setItem(n, JSON.stringify(Rt(t)));\n}\nfunction zu(e, t, n) {\n const r = sn(e), o = localStorage.getItem(r), s = JSON.parse(o || \"{}\"), i = {\n ...s,\n [t]: n\n };\n localStorage.setItem(r, JSON.stringify(i)), Ce.hooks.callHookWith(\n (u) => {\n u.forEach((a) => a({\n pluginId: e,\n key: t,\n oldValue: s[t],\n newValue: n,\n settings: i\n }));\n },\n \"setPluginSettings\"\n /* SET_PLUGIN_SETTINGS */\n );\n}\n_();\n_();\n_();\n_();\n_();\n_();\n_();\n_();\n_();\n_();\n_();\nvar Xn, Zn, M = (Zn = (Xn = v).__VUE_DEVTOOLS_HOOK) != null ? Zn : Xn.__VUE_DEVTOOLS_HOOK = po(), Ku = {\n vueAppInit(e) {\n M.hook(\"app:init\", e);\n },\n vueAppUnmount(e) {\n M.hook(\"app:unmount\", e);\n },\n vueAppConnected(e) {\n M.hook(\"app:connected\", e);\n },\n componentAdded(e) {\n return M.hook(\"component:added\", e);\n },\n componentEmit(e) {\n return M.hook(\"component:emit\", e);\n },\n componentUpdated(e) {\n return M.hook(\"component:updated\", e);\n },\n componentRemoved(e) {\n return M.hook(\"component:removed\", e);\n },\n setupDevtoolsPlugin(e) {\n M.hook(\"devtools-plugin:setup\", e);\n },\n perfStart(e) {\n return M.hook(\"perf:start\", e);\n },\n perfEnd(e) {\n return M.hook(\"perf:end\", e);\n }\n}, ko = {\n on: Ku,\n setupDevToolsPlugin(e, t) {\n return M.callHook(\"devtools-plugin:setup\", e, t);\n }\n}, Gu = class {\n constructor({ plugin: e, ctx: t }) {\n this.hooks = t.hooks, this.plugin = e;\n }\n get on() {\n return {\n // component inspector\n visitComponentTree: (e) => {\n this.hooks.hook(\"visitComponentTree\", e);\n },\n inspectComponent: (e) => {\n this.hooks.hook(\"inspectComponent\", e);\n },\n editComponentState: (e) => {\n this.hooks.hook(\"editComponentState\", e);\n },\n // custom inspector\n getInspectorTree: (e) => {\n this.hooks.hook(\"getInspectorTree\", e);\n },\n getInspectorState: (e) => {\n this.hooks.hook(\"getInspectorState\", e);\n },\n editInspectorState: (e) => {\n this.hooks.hook(\"editInspectorState\", e);\n },\n // timeline\n inspectTimelineEvent: (e) => {\n this.hooks.hook(\"inspectTimelineEvent\", e);\n },\n timelineCleared: (e) => {\n this.hooks.hook(\"timelineCleared\", e);\n },\n // settings\n setPluginSettings: (e) => {\n this.hooks.hook(\"setPluginSettings\", e);\n }\n };\n }\n // component inspector\n notifyComponentUpdate(e) {\n var t;\n if (k.highPerfModeEnabled)\n return;\n const n = To().find((r) => r.packageName === this.plugin.descriptor.packageName);\n if (n?.id) {\n if (e) {\n const r = [\n e.appContext.app,\n e.uid,\n (t = e.parent) == null ? void 0 : t.uid,\n e\n ];\n M.callHook(\"component:updated\", ...r);\n } else\n M.callHook(\n \"component:updated\"\n /* COMPONENT_UPDATED */\n );\n this.hooks.callHook(\"sendInspectorState\", { inspectorId: n.id, plugin: this.plugin });\n }\n }\n // custom inspector\n addInspector(e) {\n this.hooks.callHook(\"addInspector\", { inspector: e, plugin: this.plugin }), this.plugin.descriptor.settings && Hu(e.id, this.plugin.descriptor.settings);\n }\n sendInspectorTree(e) {\n k.highPerfModeEnabled || this.hooks.callHook(\"sendInspectorTree\", { inspectorId: e, plugin: this.plugin });\n }\n sendInspectorState(e) {\n k.highPerfModeEnabled || this.hooks.callHook(\"sendInspectorState\", { inspectorId: e, plugin: this.plugin });\n }\n selectInspectorNode(e, t) {\n this.hooks.callHook(\"customInspectorSelectNode\", { inspectorId: e, nodeId: t, plugin: this.plugin });\n }\n visitComponentTree(e) {\n return this.hooks.callHook(\"visitComponentTree\", e);\n }\n // timeline\n now() {\n return k.highPerfModeEnabled ? 0 : Date.now();\n }\n addTimelineLayer(e) {\n this.hooks.callHook(\"timelineLayerAdded\", { options: e, plugin: this.plugin });\n }\n addTimelineEvent(e) {\n k.highPerfModeEnabled || this.hooks.callHook(\"timelineEventAdded\", { options: e, plugin: this.plugin });\n }\n // settings\n getSettings(e) {\n return Co(e ?? this.plugin.descriptor.id, this.plugin.descriptor.settings);\n }\n // utilities\n getComponentInstances(e) {\n return this.hooks.callHook(\"getComponentInstances\", { app: e });\n }\n getComponentBounds(e) {\n return this.hooks.callHook(\"getComponentBounds\", { instance: e });\n }\n getComponentName(e) {\n return this.hooks.callHook(\"getComponentName\", { instance: e });\n }\n highlightElement(e) {\n const t = e.__VUE_DEVTOOLS_NEXT_UID__;\n return this.hooks.callHook(\"componentHighlight\", { uid: t });\n }\n unhighlightElement() {\n return this.hooks.callHook(\n \"componentUnhighlight\"\n /* COMPONENT_UNHIGHLIGHT */\n );\n }\n}, Wu = Gu;\n_();\n_();\n_();\n_();\nvar Yu = \"__vue_devtool_undefined__\", qu = \"__vue_devtool_infinity__\", Ju = \"__vue_devtool_negative_infinity__\", Xu = \"__vue_devtool_nan__\";\n_();\n_();\nvar Zu = {\n [Yu]: \"undefined\",\n [Xu]: \"NaN\",\n [qu]: \"Infinity\",\n [Ju]: \"-Infinity\"\n};\nObject.entries(Zu).reduce((e, [t, n]) => (e[n] = t, e), {});\n_();\n_();\n_();\n_();\n_();\nvar Qn, er;\n(er = (Qn = v).__VUE_DEVTOOLS_KIT__REGISTERED_PLUGIN_APPS__) != null || (Qn.__VUE_DEVTOOLS_KIT__REGISTERED_PLUGIN_APPS__ = /* @__PURE__ */ new Set());\nfunction Do(e, t) {\n return ko.setupDevToolsPlugin(e, t);\n}\nfunction Qu(e, t) {\n const [n, r] = e;\n if (n.app !== t)\n return;\n const o = new Wu({\n plugin: {\n setupFn: r,\n descriptor: n\n },\n ctx: Ce\n });\n n.packageName === \"vuex\" && o.on.editInspectorState((s) => {\n o.sendInspectorState(s.inspectorId);\n }), r(o);\n}\nfunction xo(e, t) {\n v.__VUE_DEVTOOLS_KIT__REGISTERED_PLUGIN_APPS__.has(e) || k.highPerfModeEnabled && !t?.inspectingComponent || (v.__VUE_DEVTOOLS_KIT__REGISTERED_PLUGIN_APPS__.add(e), on.forEach((n) => {\n Qu(n, e);\n }));\n}\n_();\n_();\nvar Ue = \"__VUE_DEVTOOLS_ROUTER__\", Oe = \"__VUE_DEVTOOLS_ROUTER_INFO__\", tr, nr;\n(nr = (tr = v)[Oe]) != null || (tr[Oe] = {\n currentRoute: null,\n routes: []\n});\nvar rr, or;\n(or = (rr = v)[Ue]) != null || (rr[Ue] = {});\nnew Proxy(v[Oe], {\n get(e, t) {\n return v[Oe][t];\n }\n});\nnew Proxy(v[Ue], {\n get(e, t) {\n if (t === \"value\")\n return v[Ue];\n }\n});\nfunction ea(e) {\n const t = /* @__PURE__ */ new Map();\n return (e?.getRoutes() || []).filter((n) => !t.has(n.path) && t.set(n.path, 1));\n}\nfunction un(e) {\n return e.map((t) => {\n let { path: n, name: r, children: o, meta: s } = t;\n return o?.length && (o = un(o)), {\n path: n,\n name: r,\n children: o,\n meta: s\n };\n });\n}\nfunction ta(e) {\n if (e) {\n const { fullPath: t, hash: n, href: r, path: o, name: s, matched: i, params: u, query: a } = e;\n return {\n fullPath: t,\n hash: n,\n href: r,\n path: o,\n name: s,\n params: u,\n query: a,\n matched: un(i)\n };\n }\n return e;\n}\nfunction na(e, t) {\n function n() {\n var r;\n const o = (r = e.app) == null ? void 0 : r.config.globalProperties.$router, s = ta(o?.currentRoute.value), i = un(ea(o)), u = console.warn;\n console.warn = () => {\n }, v[Oe] = {\n currentRoute: s ? Cn(s) : {},\n routes: Cn(i)\n }, v[Ue] = o, console.warn = u;\n }\n n(), ko.on.componentUpdated(we(() => {\n var r;\n ((r = t.value) == null ? void 0 : r.app) === e.app && (n(), !k.highPerfModeEnabled && Ce.hooks.callHook(\"routerInfoUpdated\", { state: v[Oe] }));\n }, 200));\n}\nfunction ra(e) {\n return {\n // get inspector tree\n async getInspectorTree(t) {\n const n = {\n ...t,\n app: R.value.app,\n rootNodes: []\n };\n return await new Promise((r) => {\n e.callHookWith(\n async (o) => {\n await Promise.all(o.map((s) => s(n))), r();\n },\n \"getInspectorTree\"\n /* GET_INSPECTOR_TREE */\n );\n }), n.rootNodes;\n },\n // get inspector state\n async getInspectorState(t) {\n const n = {\n ...t,\n app: R.value.app,\n state: null\n }, r = {\n currentTab: `custom-inspector:${t.inspectorId}`\n };\n return await new Promise((o) => {\n e.callHookWith(\n async (s) => {\n await Promise.all(s.map((i) => i(n, r))), o();\n },\n \"getInspectorState\"\n /* GET_INSPECTOR_STATE */\n );\n }), n.state;\n },\n // edit inspector state\n editInspectorState(t) {\n const n = new ku(), r = {\n ...t,\n app: R.value.app,\n set: (o, s = t.path, i = t.state.value, u) => {\n n.set(o, s, i, u || n.createDefaultSetCallback(t.state));\n }\n };\n e.callHookWith(\n (o) => {\n o.forEach((s) => s(r));\n },\n \"editInspectorState\"\n /* EDIT_INSPECTOR_STATE */\n );\n },\n // send inspector state\n sendInspectorState(t) {\n const n = Je(t);\n e.callHook(\"sendInspectorState\", { inspectorId: t, plugin: {\n descriptor: n.descriptor,\n setupFn: () => ({})\n } });\n },\n // inspect component inspector\n inspectComponentInspector() {\n return Au();\n },\n // cancel inspect component inspector\n cancelInspectComponentInspector() {\n return bu();\n },\n // get component render code\n getComponentRenderCode(t) {\n const n = Dt(R.value, t);\n if (n)\n return typeof n?.type != \"function\" ? n.render.toString() : n.type.toString();\n },\n // scroll to component\n scrollToComponent(t) {\n return wu({ id: t });\n },\n // open in editor\n openInEditor: Fu,\n // get vue inspector\n getVueInspector: Iu,\n // toggle app\n toggleApp(t, n) {\n const r = lt.value.find((o) => o.id === t);\n r && (Uu(t), $u(r), na(r, R), Oo(), xo(r.app, n));\n },\n // inspect dom\n inspectDOM(t) {\n const n = Dt(R.value, t);\n if (n) {\n const [r] = Qt(n);\n r && (v.__VUE_DEVTOOLS_INSPECT_DOM_TARGET__ = r);\n }\n },\n updatePluginSettings(t, n, r) {\n zu(t, n, r);\n },\n getPluginSettings(t) {\n return {\n options: ju(t),\n values: Co(t)\n };\n }\n };\n}\n_();\nvar sr, ir;\n(ir = (sr = v).__VUE_DEVTOOLS_ENV__) != null || (sr.__VUE_DEVTOOLS_ENV__ = {\n vitePluginDetected: !1\n});\nvar ur = Lu(), ar, cr;\n(cr = (ar = v).__VUE_DEVTOOLS_KIT_CONTEXT__) != null || (ar.__VUE_DEVTOOLS_KIT_CONTEXT__ = {\n hooks: ur,\n get state() {\n return {\n ...k,\n activeAppRecordId: R.id,\n activeAppRecord: R.value,\n appRecords: lt.value\n };\n },\n api: ra(ur)\n});\nvar Ce = v.__VUE_DEVTOOLS_KIT_CONTEXT__;\n_();\nou(iu());\nvar lr, fr;\n(fr = (lr = v).__VUE_DEVTOOLS_NEXT_APP_RECORD_INFO__) != null || (lr.__VUE_DEVTOOLS_NEXT_APP_RECORD_INFO__ = {\n id: 0,\n appIds: /* @__PURE__ */ new Set()\n});\n_();\n_();\nfunction oa(e) {\n k.highPerfModeEnabled = e ?? !k.highPerfModeEnabled, !e && R.value && xo(R.value.app);\n}\n_();\n_();\n_();\nfunction sa(e) {\n k.devtoolsClientDetected = {\n ...k.devtoolsClientDetected,\n ...e\n };\n const t = Object.values(k.devtoolsClientDetected).some(Boolean);\n oa(!t);\n}\nvar dr, hr;\n(hr = (dr = v).__VUE_DEVTOOLS_UPDATE_CLIENT_DETECTED__) != null || (dr.__VUE_DEVTOOLS_UPDATE_CLIENT_DETECTED__ = sa);\n_();\n_();\n_();\n_();\n_();\n_();\n_();\nvar ia = class {\n constructor() {\n this.keyToValue = /* @__PURE__ */ new Map(), this.valueToKey = /* @__PURE__ */ new Map();\n }\n set(e, t) {\n this.keyToValue.set(e, t), this.valueToKey.set(t, e);\n }\n getByKey(e) {\n return this.keyToValue.get(e);\n }\n getByValue(e) {\n return this.valueToKey.get(e);\n }\n clear() {\n this.keyToValue.clear(), this.valueToKey.clear();\n }\n}, Po = class {\n constructor(t) {\n this.generateIdentifier = t, this.kv = new ia();\n }\n register(t, n) {\n this.kv.getByValue(t) || (n || (n = this.generateIdentifier(t)), this.kv.set(n, t));\n }\n clear() {\n this.kv.clear();\n }\n getIdentifier(t) {\n return this.kv.getByValue(t);\n }\n getValue(t) {\n return this.kv.getByKey(t);\n }\n}, ua = class extends Po {\n constructor() {\n super((e) => e.name), this.classToAllowedProps = /* @__PURE__ */ new Map();\n }\n register(e, t) {\n typeof t == \"object\" ? (t.allowProps && this.classToAllowedProps.set(e, t.allowProps), super.register(e, t.identifier)) : super.register(e, t);\n }\n getAllowedProps(e) {\n return this.classToAllowedProps.get(e);\n }\n};\n_();\n_();\nfunction aa(e) {\n if (\"values\" in Object)\n return Object.values(e);\n const t = [];\n for (const n in e)\n e.hasOwnProperty(n) && t.push(e[n]);\n return t;\n}\nfunction ca(e, t) {\n const n = aa(e);\n if (\"find\" in n)\n return n.find(t);\n const r = n;\n for (let o = 0; o < r.length; o++) {\n const s = r[o];\n if (t(s))\n return s;\n }\n}\nfunction Te(e, t) {\n Object.entries(e).forEach(([n, r]) => t(r, n));\n}\nfunction Xe(e, t) {\n return e.indexOf(t) !== -1;\n}\nfunction pr(e, t) {\n for (let n = 0; n < e.length; n++) {\n const r = e[n];\n if (t(r))\n return r;\n }\n}\nvar la = class {\n constructor() {\n this.transfomers = {};\n }\n register(e) {\n this.transfomers[e.name] = e;\n }\n findApplicable(e) {\n return ca(this.transfomers, (t) => t.isApplicable(e));\n }\n findByName(e) {\n return this.transfomers[e];\n }\n};\n_();\n_();\nvar fa = (e) => Object.prototype.toString.call(e).slice(8, -1), Ro = (e) => typeof e > \"u\", da = (e) => e === null, Fe = (e) => typeof e != \"object\" || e === null || e === Object.prototype ? !1 : Object.getPrototypeOf(e) === null ? !0 : Object.getPrototypeOf(e) === Object.prototype, Nt = (e) => Fe(e) && Object.keys(e).length === 0, ne = (e) => Array.isArray(e), ha = (e) => typeof e == \"string\", pa = (e) => typeof e == \"number\" && !isNaN(e), _a = (e) => typeof e == \"boolean\", ga = (e) => e instanceof RegExp, je = (e) => e instanceof Map, He = (e) => e instanceof Set, No = (e) => fa(e) === \"Symbol\", ma = (e) => e instanceof Date && !isNaN(e.valueOf()), Ea = (e) => e instanceof Error, _r = (e) => typeof e == \"number\" && isNaN(e), va = (e) => _a(e) || da(e) || Ro(e) || pa(e) || ha(e) || No(e), ya = (e) => typeof e == \"bigint\", Sa = (e) => e === 1 / 0 || e === -1 / 0, ba = (e) => ArrayBuffer.isView(e) && !(e instanceof DataView), Aa = (e) => e instanceof URL;\n_();\nvar Vo = (e) => e.replace(/\\./g, \"\\\\.\"), yt = (e) => e.map(String).map(Vo).join(\".\"), Ve = (e) => {\n const t = [];\n let n = \"\";\n for (let o = 0; o < e.length; o++) {\n let s = e.charAt(o);\n if (s === \"\\\\\" && e.charAt(o + 1) === \".\") {\n n += \".\", o++;\n continue;\n }\n if (s === \".\") {\n t.push(n), n = \"\";\n continue;\n }\n n += s;\n }\n const r = n;\n return t.push(r), t;\n};\n_();\nfunction K(e, t, n, r) {\n return {\n isApplicable: e,\n annotation: t,\n transform: n,\n untransform: r\n };\n}\nvar Lo = [\n K(Ro, \"undefined\", () => null, () => {\n }),\n K(ya, \"bigint\", (e) => e.toString(), (e) => typeof BigInt < \"u\" ? BigInt(e) : (console.error(\"Please add a BigInt polyfill.\"), e)),\n K(ma, \"Date\", (e) => e.toISOString(), (e) => new Date(e)),\n K(Ea, \"Error\", (e, t) => {\n const n = {\n name: e.name,\n message: e.message\n };\n return t.allowedErrorProps.forEach((r) => {\n n[r] = e[r];\n }), n;\n }, (e, t) => {\n const n = new Error(e.message);\n return n.name = e.name, n.stack = e.stack, t.allowedErrorProps.forEach((r) => {\n n[r] = e[r];\n }), n;\n }),\n K(ga, \"regexp\", (e) => \"\" + e, (e) => {\n const t = e.slice(1, e.lastIndexOf(\"/\")), n = e.slice(e.lastIndexOf(\"/\") + 1);\n return new RegExp(t, n);\n }),\n K(\n He,\n \"set\",\n // (sets only exist in es6+)\n // eslint-disable-next-line es5/no-es6-methods\n (e) => [...e.values()],\n (e) => new Set(e)\n ),\n K(je, \"map\", (e) => [...e.entries()], (e) => new Map(e)),\n K((e) => _r(e) || Sa(e), \"number\", (e) => _r(e) ? \"NaN\" : e > 0 ? \"Infinity\" : \"-Infinity\", Number),\n K((e) => e === 0 && 1 / e === -1 / 0, \"number\", () => \"-0\", Number),\n K(Aa, \"URL\", (e) => e.toString(), (e) => new URL(e))\n];\nfunction ft(e, t, n, r) {\n return {\n isApplicable: e,\n annotation: t,\n transform: n,\n untransform: r\n };\n}\nvar Mo = ft((e, t) => No(e) ? !!t.symbolRegistry.getIdentifier(e) : !1, (e, t) => [\"symbol\", t.symbolRegistry.getIdentifier(e)], (e) => e.description, (e, t, n) => {\n const r = n.symbolRegistry.getValue(t[1]);\n if (!r)\n throw new Error(\"Trying to deserialize unknown symbol\");\n return r;\n}), wa = [\n Int8Array,\n Uint8Array,\n Int16Array,\n Uint16Array,\n Int32Array,\n Uint32Array,\n Float32Array,\n Float64Array,\n Uint8ClampedArray\n].reduce((e, t) => (e[t.name] = t, e), {}), Bo = ft(ba, (e) => [\"typed-array\", e.constructor.name], (e) => [...e], (e, t) => {\n const n = wa[t[1]];\n if (!n)\n throw new Error(\"Trying to deserialize unknown typed array\");\n return new n(e);\n});\nfunction $o(e, t) {\n return e?.constructor ? !!t.classRegistry.getIdentifier(e.constructor) : !1;\n}\nvar Uo = ft($o, (e, t) => [\"class\", t.classRegistry.getIdentifier(e.constructor)], (e, t) => {\n const n = t.classRegistry.getAllowedProps(e.constructor);\n if (!n)\n return { ...e };\n const r = {};\n return n.forEach((o) => {\n r[o] = e[o];\n }), r;\n}, (e, t, n) => {\n const r = n.classRegistry.getValue(t[1]);\n if (!r)\n throw new Error(`Trying to deserialize unknown class '${t[1]}' - check https://github.com/blitz-js/superjson/issues/116#issuecomment-773996564`);\n return Object.assign(Object.create(r.prototype), e);\n}), Fo = ft((e, t) => !!t.customTransformerRegistry.findApplicable(e), (e, t) => [\"custom\", t.customTransformerRegistry.findApplicable(e).name], (e, t) => t.customTransformerRegistry.findApplicable(e).serialize(e), (e, t, n) => {\n const r = n.customTransformerRegistry.findByName(t[1]);\n if (!r)\n throw new Error(\"Trying to deserialize unknown custom value\");\n return r.deserialize(e);\n}), Oa = [Uo, Mo, Fo, Bo], gr = (e, t) => {\n const n = pr(Oa, (o) => o.isApplicable(e, t));\n if (n)\n return {\n value: n.transform(e, t),\n type: n.annotation(e, t)\n };\n const r = pr(Lo, (o) => o.isApplicable(e, t));\n if (r)\n return {\n value: r.transform(e, t),\n type: r.annotation\n };\n}, jo = {};\nLo.forEach((e) => {\n jo[e.annotation] = e;\n});\nvar Ta = (e, t, n) => {\n if (ne(t))\n switch (t[0]) {\n case \"symbol\":\n return Mo.untransform(e, t, n);\n case \"class\":\n return Uo.untransform(e, t, n);\n case \"custom\":\n return Fo.untransform(e, t, n);\n case \"typed-array\":\n return Bo.untransform(e, t, n);\n default:\n throw new Error(\"Unknown transformation: \" + t);\n }\n else {\n const r = jo[t];\n if (!r)\n throw new Error(\"Unknown transformation: \" + t);\n return r.untransform(e, n);\n }\n};\n_();\nvar Ee = (e, t) => {\n if (t > e.size)\n throw new Error(\"index out of bounds\");\n const n = e.keys();\n for (; t > 0; )\n n.next(), t--;\n return n.next().value;\n};\nfunction Ho(e) {\n if (Xe(e, \"__proto__\"))\n throw new Error(\"__proto__ is not allowed as a property\");\n if (Xe(e, \"prototype\"))\n throw new Error(\"prototype is not allowed as a property\");\n if (Xe(e, \"constructor\"))\n throw new Error(\"constructor is not allowed as a property\");\n}\nvar Ia = (e, t) => {\n Ho(t);\n for (let n = 0; n < t.length; n++) {\n const r = t[n];\n if (He(e))\n e = Ee(e, +r);\n else if (je(e)) {\n const o = +r, s = +t[++n] == 0 ? \"key\" : \"value\", i = Ee(e, o);\n switch (s) {\n case \"key\":\n e = i;\n break;\n case \"value\":\n e = e.get(i);\n break;\n }\n } else\n e = e[r];\n }\n return e;\n}, Vt = (e, t, n) => {\n if (Ho(t), t.length === 0)\n return n(e);\n let r = e;\n for (let s = 0; s < t.length - 1; s++) {\n const i = t[s];\n if (ne(r)) {\n const u = +i;\n r = r[u];\n } else if (Fe(r))\n r = r[i];\n else if (He(r)) {\n const u = +i;\n r = Ee(r, u);\n } else if (je(r)) {\n if (s === t.length - 2)\n break;\n const a = +i, c = +t[++s] == 0 ? \"key\" : \"value\", p = Ee(r, a);\n switch (c) {\n case \"key\":\n r = p;\n break;\n case \"value\":\n r = r.get(p);\n break;\n }\n }\n }\n const o = t[t.length - 1];\n if (ne(r) ? r[+o] = n(r[+o]) : Fe(r) && (r[o] = n(r[o])), He(r)) {\n const s = Ee(r, +o), i = n(s);\n s !== i && (r.delete(s), r.add(i));\n }\n if (je(r)) {\n const s = +t[t.length - 2], i = Ee(r, s);\n switch (+o == 0 ? \"key\" : \"value\") {\n case \"key\": {\n const a = n(i);\n r.set(a, r.get(i)), a !== i && r.delete(i);\n break;\n }\n case \"value\": {\n r.set(i, n(r.get(i)));\n break;\n }\n }\n }\n return e;\n};\nfunction Lt(e, t, n = []) {\n if (!e)\n return;\n if (!ne(e)) {\n Te(e, (s, i) => Lt(s, t, [...n, ...Ve(i)]));\n return;\n }\n const [r, o] = e;\n o && Te(o, (s, i) => {\n Lt(s, t, [...n, ...Ve(i)]);\n }), t(r, n);\n}\nfunction Ca(e, t, n) {\n return Lt(t, (r, o) => {\n e = Vt(e, o, (s) => Ta(s, r, n));\n }), e;\n}\nfunction ka(e, t) {\n function n(r, o) {\n const s = Ia(e, Ve(o));\n r.map(Ve).forEach((i) => {\n e = Vt(e, i, () => s);\n });\n }\n if (ne(t)) {\n const [r, o] = t;\n r.forEach((s) => {\n e = Vt(e, Ve(s), () => e);\n }), o && Te(o, n);\n } else\n Te(t, n);\n return e;\n}\nvar Da = (e, t) => Fe(e) || ne(e) || je(e) || He(e) || $o(e, t);\nfunction xa(e, t, n) {\n const r = n.get(e);\n r ? r.push(t) : n.set(e, [t]);\n}\nfunction Pa(e, t) {\n const n = {};\n let r;\n return e.forEach((o) => {\n if (o.length <= 1)\n return;\n t || (o = o.map((u) => u.map(String)).sort((u, a) => u.length - a.length));\n const [s, ...i] = o;\n s.length === 0 ? r = i.map(yt) : n[yt(s)] = i.map(yt);\n }), r ? Nt(n) ? [r] : [r, n] : Nt(n) ? void 0 : n;\n}\nvar zo = (e, t, n, r, o = [], s = [], i = /* @__PURE__ */ new Map()) => {\n var u;\n const a = va(e);\n if (!a) {\n xa(e, o, t);\n const h = i.get(e);\n if (h)\n return r ? {\n transformedValue: null\n } : h;\n }\n if (!Da(e, n)) {\n const h = gr(e, n), m = h ? {\n transformedValue: h.value,\n annotations: [h.type]\n } : {\n transformedValue: e\n };\n return a || i.set(e, m), m;\n }\n if (Xe(s, e))\n return {\n transformedValue: null\n };\n const c = gr(e, n), p = (u = c?.value) != null ? u : e, l = ne(p) ? [] : {}, f = {};\n Te(p, (h, m) => {\n if (m === \"__proto__\" || m === \"constructor\" || m === \"prototype\")\n throw new Error(`Detected property ${m}. This is a prototype pollution risk, please remove it from your object.`);\n const g = zo(h, t, n, r, [...o, m], [...s, e], i);\n l[m] = g.transformedValue, ne(g.annotations) ? f[m] = g.annotations : Fe(g.annotations) && Te(g.annotations, (E, w) => {\n f[Vo(m) + \".\" + w] = E;\n });\n });\n const d = Nt(f) ? {\n transformedValue: l,\n annotations: c ? [c.type] : void 0\n } : {\n transformedValue: l,\n annotations: c ? [c.type, f] : f\n };\n return a || i.set(e, d), d;\n};\n_();\n_();\nfunction Ko(e) {\n return Object.prototype.toString.call(e).slice(8, -1);\n}\nfunction mr(e) {\n return Ko(e) === \"Array\";\n}\nfunction Ra(e) {\n if (Ko(e) !== \"Object\")\n return !1;\n const t = Object.getPrototypeOf(e);\n return !!t && t.constructor === Object && t === Object.prototype;\n}\nfunction Na(e, t, n, r, o) {\n const s = {}.propertyIsEnumerable.call(r, t) ? \"enumerable\" : \"nonenumerable\";\n s === \"enumerable\" && (e[t] = n), o && s === \"nonenumerable\" && Object.defineProperty(e, t, {\n value: n,\n enumerable: !1,\n writable: !0,\n configurable: !0\n });\n}\nfunction Mt(e, t = {}) {\n if (mr(e))\n return e.map((o) => Mt(o, t));\n if (!Ra(e))\n return e;\n const n = Object.getOwnPropertyNames(e), r = Object.getOwnPropertySymbols(e);\n return [...n, ...r].reduce((o, s) => {\n if (mr(t.props) && !t.props.includes(s))\n return o;\n const i = e[s], u = Mt(i, t);\n return Na(o, s, u, e, t.nonenumerable), o;\n }, {});\n}\nvar I = class {\n /**\n * @param dedupeReferentialEqualities If true, SuperJSON will make sure only one instance of referentially equal objects are serialized and the rest are replaced with `null`.\n */\n constructor({ dedupe: e = !1 } = {}) {\n this.classRegistry = new ua(), this.symbolRegistry = new Po((t) => {\n var n;\n return (n = t.description) != null ? n : \"\";\n }), this.customTransformerRegistry = new la(), this.allowedErrorProps = [], this.dedupe = e;\n }\n serialize(e) {\n const t = /* @__PURE__ */ new Map(), n = zo(e, t, this, this.dedupe), r = {\n json: n.transformedValue\n };\n n.annotations && (r.meta = {\n ...r.meta,\n values: n.annotations\n });\n const o = Pa(t, this.dedupe);\n return o && (r.meta = {\n ...r.meta,\n referentialEqualities: o\n }), r;\n }\n deserialize(e) {\n const { json: t, meta: n } = e;\n let r = Mt(t);\n return n?.values && (r = Ca(r, n.values, this)), n?.referentialEqualities && (r = ka(r, n.referentialEqualities)), r;\n }\n stringify(e) {\n return JSON.stringify(this.serialize(e));\n }\n parse(e) {\n return this.deserialize(JSON.parse(e));\n }\n registerClass(e, t) {\n this.classRegistry.register(e, t);\n }\n registerSymbol(e, t) {\n this.symbolRegistry.register(e, t);\n }\n registerCustom(e, t) {\n this.customTransformerRegistry.register({\n name: t,\n ...e\n });\n }\n allowErrorProps(...e) {\n this.allowedErrorProps.push(...e);\n }\n};\nI.defaultInstance = new I();\nI.serialize = I.defaultInstance.serialize.bind(I.defaultInstance);\nI.deserialize = I.defaultInstance.deserialize.bind(I.defaultInstance);\nI.stringify = I.defaultInstance.stringify.bind(I.defaultInstance);\nI.parse = I.defaultInstance.parse.bind(I.defaultInstance);\nI.registerClass = I.defaultInstance.registerClass.bind(I.defaultInstance);\nI.registerSymbol = I.defaultInstance.registerSymbol.bind(I.defaultInstance);\nI.registerCustom = I.defaultInstance.registerCustom.bind(I.defaultInstance);\nI.allowErrorProps = I.defaultInstance.allowErrorProps.bind(I.defaultInstance);\n_();\n_();\n_();\n_();\n_();\n_();\n_();\n_();\n_();\n_();\n_();\n_();\n_();\n_();\n_();\n_();\n_();\n_();\n_();\n_();\n_();\n_();\n_();\nvar Er, vr;\n(vr = (Er = v).__VUE_DEVTOOLS_KIT_MESSAGE_CHANNELS__) != null || (Er.__VUE_DEVTOOLS_KIT_MESSAGE_CHANNELS__ = []);\nvar yr, Sr;\n(Sr = (yr = v).__VUE_DEVTOOLS_KIT_RPC_CLIENT__) != null || (yr.__VUE_DEVTOOLS_KIT_RPC_CLIENT__ = null);\nvar br, Ar;\n(Ar = (br = v).__VUE_DEVTOOLS_KIT_RPC_SERVER__) != null || (br.__VUE_DEVTOOLS_KIT_RPC_SERVER__ = null);\nvar wr, Or;\n(Or = (wr = v).__VUE_DEVTOOLS_KIT_VITE_RPC_CLIENT__) != null || (wr.__VUE_DEVTOOLS_KIT_VITE_RPC_CLIENT__ = null);\nvar Tr, Ir;\n(Ir = (Tr = v).__VUE_DEVTOOLS_KIT_VITE_RPC_SERVER__) != null || (Tr.__VUE_DEVTOOLS_KIT_VITE_RPC_SERVER__ = null);\nvar Cr, kr;\n(kr = (Cr = v).__VUE_DEVTOOLS_KIT_BROADCAST_RPC_SERVER__) != null || (Cr.__VUE_DEVTOOLS_KIT_BROADCAST_RPC_SERVER__ = null);\n_();\n_();\n_();\n_();\n_();\n_();\n_();\n/*!\n * pinia v3.0.3\n * (c) 2025 Eduardo San Martin Morote\n * @license MIT\n */\nlet Re;\nconst ze = (e) => Re = e, Go = process.env.NODE_ENV !== \"production\" ? Symbol(\"pinia\") : (\n /* istanbul ignore next */\n Symbol()\n);\nfunction fe(e) {\n return e && typeof e == \"object\" && Object.prototype.toString.call(e) === \"[object Object]\" && typeof e.toJSON != \"function\";\n}\nvar G;\n(function(e) {\n e.direct = \"direct\", e.patchObject = \"patch object\", e.patchFunction = \"patch function\";\n})(G || (G = {}));\nconst Q = typeof window < \"u\", Dr = typeof window == \"object\" && window.window === window ? window : typeof self == \"object\" && self.self === self ? self : typeof global == \"object\" && global.global === global ? global : typeof globalThis == \"object\" ? globalThis : { HTMLElement: null };\nfunction Va(e, { autoBom: t = !1 } = {}) {\n return t && /^\\s*(?:text\\/\\S*|application\\/xml|\\S*\\/\\S*\\+xml)\\s*;.*charset\\s*=\\s*utf-8/i.test(e.type) ? new Blob([\"\\uFEFF\", e], { type: e.type }) : e;\n}\nfunction an(e, t, n) {\n const r = new XMLHttpRequest();\n r.open(\"GET\", e), r.responseType = \"blob\", r.onload = function() {\n qo(r.response, t, n);\n }, r.onerror = function() {\n console.error(\"could not download file\");\n }, r.send();\n}\nfunction Wo(e) {\n const t = new XMLHttpRequest();\n t.open(\"HEAD\", e, !1);\n try {\n t.send();\n } catch {\n }\n return t.status >= 200 && t.status <= 299;\n}\nfunction Ze(e) {\n try {\n e.dispatchEvent(new MouseEvent(\"click\"));\n } catch {\n const n = new MouseEvent(\"click\", {\n bubbles: !0,\n cancelable: !0,\n view: window,\n detail: 0,\n screenX: 80,\n screenY: 20,\n clientX: 80,\n clientY: 20,\n ctrlKey: !1,\n altKey: !1,\n shiftKey: !1,\n metaKey: !1,\n button: 0,\n relatedTarget: null\n });\n e.dispatchEvent(n);\n }\n}\nconst Qe = typeof navigator == \"object\" ? navigator : { userAgent: \"\" }, Yo = /Macintosh/.test(Qe.userAgent) && /AppleWebKit/.test(Qe.userAgent) && !/Safari/.test(Qe.userAgent), qo = Q ? (\n // Use download attribute first if possible (#193 Lumia mobile) unless this is a macOS WebView or mini program\n typeof HTMLAnchorElement < \"u\" && \"download\" in HTMLAnchorElement.prototype && !Yo ? La : (\n // Use msSaveOrOpenBlob as a second approach\n \"msSaveOrOpenBlob\" in Qe ? Ma : (\n // Fallback to using FileReader and a popup\n Ba\n )\n )\n) : () => {\n};\nfunction La(e, t = \"download\", n) {\n const r = document.createElement(\"a\");\n r.download = t, r.rel = \"noopener\", typeof e == \"string\" ? (r.href = e, r.origin !== location.origin ? Wo(r.href) ? an(e, t, n) : (r.target = \"_blank\", Ze(r)) : Ze(r)) : (r.href = URL.createObjectURL(e), setTimeout(function() {\n URL.revokeObjectURL(r.href);\n }, 4e4), setTimeout(function() {\n Ze(r);\n }, 0));\n}\nfunction Ma(e, t = \"download\", n) {\n if (typeof e == \"string\")\n if (Wo(e))\n an(e, t, n);\n else {\n const r = document.createElement(\"a\");\n r.href = e, r.target = \"_blank\", setTimeout(function() {\n Ze(r);\n });\n }\n else\n navigator.msSaveOrOpenBlob(Va(e, n), t);\n}\nfunction Ba(e, t, n, r) {\n if (r = r || open(\"\", \"_blank\"), r && (r.document.title = r.document.body.innerText = \"downloading...\"), typeof e == \"string\")\n return an(e, t, n);\n const o = e.type === \"application/octet-stream\", s = /constructor/i.test(String(Dr.HTMLElement)) || \"safari\" in Dr, i = /CriOS\\/[\\d]+/.test(navigator.userAgent);\n if ((i || o && s || Yo) && typeof FileReader < \"u\") {\n const u = new FileReader();\n u.onloadend = function() {\n let a = u.result;\n if (typeof a != \"string\")\n throw r = null, new Error(\"Wrong reader.result type\");\n a = i ? a : a.replace(/^data:[^;]*;/, \"data:attachment/file;\"), r ? r.location.href = a : location.assign(a), r = null;\n }, u.readAsDataURL(e);\n } else {\n const u = URL.createObjectURL(e);\n r ? r.location.assign(u) : location.href = u, r = null, setTimeout(function() {\n URL.revokeObjectURL(u);\n }, 4e4);\n }\n}\nfunction x(e, t) {\n const n = \"🍍 \" + e;\n typeof __VUE_DEVTOOLS_TOAST__ == \"function\" ? __VUE_DEVTOOLS_TOAST__(n, t) : t === \"error\" ? console.error(n) : t === \"warn\" ? console.warn(n) : console.log(n);\n}\nfunction cn(e) {\n return \"_a\" in e && \"install\" in e;\n}\nfunction Jo() {\n if (!(\"clipboard\" in navigator))\n return x(\"Your browser doesn't support the Clipboard API\", \"error\"), !0;\n}\nfunction Xo(e) {\n return e instanceof Error && e.message.toLowerCase().includes(\"document is not focused\") ? (x('You need to activate the \"Emulate a focused page\" setting in the \"Rendering\" panel of devtools.', \"warn\"), !0) : !1;\n}\nasync function $a(e) {\n if (!Jo())\n try {\n await navigator.clipboard.writeText(JSON.stringify(e.state.value)), x(\"Global state copied to clipboard.\");\n } catch (t) {\n if (Xo(t))\n return;\n x(\"Failed to serialize the state. Check the console for more details.\", \"error\"), console.error(t);\n }\n}\nasync function Ua(e) {\n if (!Jo())\n try {\n Zo(e, JSON.parse(await navigator.clipboard.readText())), x(\"Global state pasted from clipboard.\");\n } catch (t) {\n if (Xo(t))\n return;\n x(\"Failed to deserialize the state from clipboard. Check the console for more details.\", \"error\"), console.error(t);\n }\n}\nasync function Fa(e) {\n try {\n qo(new Blob([JSON.stringify(e.state.value)], {\n type: \"text/plain;charset=utf-8\"\n }), \"pinia-state.json\");\n } catch (t) {\n x(\"Failed to export the state as JSON. Check the console for more details.\", \"error\"), console.error(t);\n }\n}\nlet Y;\nfunction ja() {\n Y || (Y = document.createElement(\"input\"), Y.type = \"file\", Y.accept = \".json\");\n function e() {\n return new Promise((t, n) => {\n Y.onchange = async () => {\n const r = Y.files;\n if (!r)\n return t(null);\n const o = r.item(0);\n return t(o ? { text: await o.text(), file: o } : null);\n }, Y.oncancel = () => t(null), Y.onerror = n, Y.click();\n });\n }\n return e;\n}\nasync function Ha(e) {\n try {\n const n = await ja()();\n if (!n)\n return;\n const { text: r, file: o } = n;\n Zo(e, JSON.parse(r)), x(`Global state imported from \"${o.name}\".`);\n } catch (t) {\n x(\"Failed to import the state from JSON. Check the console for more details.\", \"error\"), console.error(t);\n }\n}\nfunction Zo(e, t) {\n for (const n in t) {\n const r = e.state.value[n];\n r ? Object.assign(r, t[n]) : e.state.value[n] = t[n];\n }\n}\nfunction H(e) {\n return {\n _custom: {\n display: e\n }\n };\n}\nconst Qo = \"🍍 Pinia (root)\", et = \"_root\";\nfunction za(e) {\n return cn(e) ? {\n id: et,\n label: Qo\n } : {\n id: e.$id,\n label: e.$id\n };\n}\nfunction Ka(e) {\n if (cn(e)) {\n const n = Array.from(e._s.keys()), r = e._s;\n return {\n state: n.map((s) => ({\n editable: !0,\n key: s,\n value: e.state.value[s]\n })),\n getters: n.filter((s) => r.get(s)._getters).map((s) => {\n const i = r.get(s);\n return {\n editable: !1,\n key: s,\n value: i._getters.reduce((u, a) => (u[a] = i[a], u), {})\n };\n })\n };\n }\n const t = {\n state: Object.keys(e.$state).map((n) => ({\n editable: !0,\n key: n,\n value: e.$state[n]\n }))\n };\n return e._getters && e._getters.length && (t.getters = e._getters.map((n) => ({\n editable: !1,\n key: n,\n value: e[n]\n }))), e._customProperties.size && (t.customProperties = Array.from(e._customProperties).map((n) => ({\n editable: !0,\n key: n,\n value: e[n]\n }))), t;\n}\nfunction Ga(e) {\n return e ? Array.isArray(e) ? e.reduce((t, n) => (t.keys.push(n.key), t.operations.push(n.type), t.oldValue[n.key] = n.oldValue, t.newValue[n.key] = n.newValue, t), {\n oldValue: {},\n keys: [],\n operations: [],\n newValue: {}\n }) : {\n operation: H(e.type),\n key: H(e.key),\n oldValue: e.oldValue,\n newValue: e.newValue\n } : {};\n}\nfunction Wa(e) {\n switch (e) {\n case G.direct:\n return \"mutation\";\n case G.patchFunction:\n return \"$patch\";\n case G.patchObject:\n return \"$patch\";\n default:\n return \"unknown\";\n }\n}\nlet ve = !0;\nconst tt = [], re = \"pinia:mutations\", P = \"pinia\", { assign: Ya } = Object, ut = (e) => \"🍍 \" + e;\nfunction qa(e, t) {\n Do({\n id: \"dev.esm.pinia\",\n label: \"Pinia 🍍\",\n logo: \"https://pinia.vuejs.org/logo.svg\",\n packageName: \"pinia\",\n homepage: \"https://pinia.vuejs.org\",\n componentStateTypes: tt,\n app: e\n }, (n) => {\n typeof n.now != \"function\" && x(\"You seem to be using an outdated version of Vue Devtools. Are you still using the Beta release instead of the stable one? You can find the links at https://devtools.vuejs.org/guide/installation.html.\"), n.addTimelineLayer({\n id: re,\n label: \"Pinia 🍍\",\n color: 15064968\n }), n.addInspector({\n id: P,\n label: \"Pinia 🍍\",\n icon: \"storage\",\n treeFilterPlaceholder: \"Search stores\",\n actions: [\n {\n icon: \"content_copy\",\n action: () => {\n $a(t);\n },\n tooltip: \"Serialize and copy the state\"\n },\n {\n icon: \"content_paste\",\n action: async () => {\n await Ua(t), n.sendInspectorTree(P), n.sendInspectorState(P);\n },\n tooltip: \"Replace the state with the content of your clipboard\"\n },\n {\n icon: \"save\",\n action: () => {\n Fa(t);\n },\n tooltip: \"Save the state as a JSON file\"\n },\n {\n icon: \"folder_open\",\n action: async () => {\n await Ha(t), n.sendInspectorTree(P), n.sendInspectorState(P);\n },\n tooltip: \"Import the state from a JSON file\"\n }\n ],\n nodeActions: [\n {\n icon: \"restore\",\n tooltip: 'Reset the state (with \"$reset\")',\n action: (r) => {\n const o = t._s.get(r);\n o ? typeof o.$reset != \"function\" ? x(`Cannot reset \"${r}\" store because it doesn't have a \"$reset\" method implemented.`, \"warn\") : (o.$reset(), x(`Store \"${r}\" reset.`)) : x(`Cannot reset \"${r}\" store because it wasn't found.`, \"warn\");\n }\n }\n ]\n }), n.on.inspectComponent((r) => {\n const o = r.componentInstance && r.componentInstance.proxy;\n if (o && o._pStores) {\n const s = r.componentInstance.proxy._pStores;\n Object.values(s).forEach((i) => {\n r.instanceData.state.push({\n type: ut(i.$id),\n key: \"state\",\n editable: !0,\n value: i._isOptionsAPI ? {\n _custom: {\n value: Me(i.$state),\n actions: [\n {\n icon: \"restore\",\n tooltip: \"Reset the state of this store\",\n action: () => i.$reset()\n }\n ]\n }\n } : (\n // NOTE: workaround to unwrap transferred refs\n Object.keys(i.$state).reduce((u, a) => (u[a] = i.$state[a], u), {})\n )\n }), i._getters && i._getters.length && r.instanceData.state.push({\n type: ut(i.$id),\n key: \"getters\",\n editable: !1,\n value: i._getters.reduce((u, a) => {\n try {\n u[a] = i[a];\n } catch (c) {\n u[a] = c;\n }\n return u;\n }, {})\n });\n });\n }\n }), n.on.getInspectorTree((r) => {\n if (r.app === e && r.inspectorId === P) {\n let o = [t];\n o = o.concat(Array.from(t._s.values())), r.rootNodes = (r.filter ? o.filter((s) => \"$id\" in s ? s.$id.toLowerCase().includes(r.filter.toLowerCase()) : Qo.toLowerCase().includes(r.filter.toLowerCase())) : o).map(za);\n }\n }), globalThis.$pinia = t, n.on.getInspectorState((r) => {\n if (r.app === e && r.inspectorId === P) {\n const o = r.nodeId === et ? t : t._s.get(r.nodeId);\n if (!o)\n return;\n o && (r.nodeId !== et && (globalThis.$store = Me(o)), r.state = Ka(o));\n }\n }), n.on.editInspectorState((r) => {\n if (r.app === e && r.inspectorId === P) {\n const o = r.nodeId === et ? t : t._s.get(r.nodeId);\n if (!o)\n return x(`store \"${r.nodeId}\" not found`, \"error\");\n const { path: s } = r;\n cn(o) ? s.unshift(\"state\") : (s.length !== 1 || !o._customProperties.has(s[0]) || s[0] in o.$state) && s.unshift(\"$state\"), ve = !1, r.set(o, s, r.state.value), ve = !0;\n }\n }), n.on.editComponentState((r) => {\n if (r.type.startsWith(\"🍍\")) {\n const o = r.type.replace(/^🍍\\s*/, \"\"), s = t._s.get(o);\n if (!s)\n return x(`store \"${o}\" not found`, \"error\");\n const { path: i } = r;\n if (i[0] !== \"state\")\n return x(`Invalid path for store \"${o}\":\n${i}\nOnly state can be modified.`);\n i[0] = \"$state\", ve = !1, r.set(s, i, r.state.value), ve = !0;\n }\n });\n });\n}\nfunction Ja(e, t) {\n tt.includes(ut(t.$id)) || tt.push(ut(t.$id)), Do({\n id: \"dev.esm.pinia\",\n label: \"Pinia 🍍\",\n logo: \"https://pinia.vuejs.org/logo.svg\",\n packageName: \"pinia\",\n homepage: \"https://pinia.vuejs.org\",\n componentStateTypes: tt,\n app: e,\n settings: {\n logStoreChanges: {\n label: \"Notify about new/deleted stores\",\n type: \"boolean\",\n defaultValue: !0\n }\n // useEmojis: {\n // label: 'Use emojis in messages ⚡️',\n // type: 'boolean',\n // defaultValue: true,\n // },\n }\n }, (n) => {\n const r = typeof n.now == \"function\" ? n.now.bind(n) : Date.now;\n t.$onAction(({ after: i, onError: u, name: a, args: c }) => {\n const p = es++;\n n.addTimelineEvent({\n layerId: re,\n event: {\n time: r(),\n title: \"🛫 \" + a,\n subtitle: \"start\",\n data: {\n store: H(t.$id),\n action: H(a),\n args: c\n },\n groupId: p\n }\n }), i((l) => {\n ee = void 0, n.addTimelineEvent({\n layerId: re,\n event: {\n time: r(),\n title: \"🛬 \" + a,\n subtitle: \"end\",\n data: {\n store: H(t.$id),\n action: H(a),\n args: c,\n result: l\n },\n groupId: p\n }\n });\n }), u((l) => {\n ee = void 0, n.addTimelineEvent({\n layerId: re,\n event: {\n time: r(),\n logType: \"error\",\n title: \"💥 \" + a,\n subtitle: \"end\",\n data: {\n store: H(t.$id),\n action: H(a),\n args: c,\n error: l\n },\n groupId: p\n }\n });\n });\n }, !0), t._customProperties.forEach((i) => {\n jr(() => ms(t[i]), (u, a) => {\n n.notifyComponentUpdate(), n.sendInspectorState(P), ve && n.addTimelineEvent({\n layerId: re,\n event: {\n time: r(),\n title: \"Change\",\n subtitle: i,\n data: {\n newValue: u,\n oldValue: a\n },\n groupId: ee\n }\n });\n }, { deep: !0 });\n }), t.$subscribe(({ events: i, type: u }, a) => {\n if (n.notifyComponentUpdate(), n.sendInspectorState(P), !ve)\n return;\n const c = {\n time: r(),\n title: Wa(u),\n data: Ya({ store: H(t.$id) }, Ga(i)),\n groupId: ee\n };\n u === G.patchFunction ? c.subtitle = \"⤵️\" : u === G.patchObject ? c.subtitle = \"🧩\" : i && !Array.isArray(i) && (c.subtitle = i.type), i && (c.data[\"rawEvent(s)\"] = {\n _custom: {\n display: \"DebuggerEvent\",\n type: \"object\",\n tooltip: \"raw DebuggerEvent[]\",\n value: i\n }\n }), n.addTimelineEvent({\n layerId: re,\n event: c\n });\n }, { detached: !0, flush: \"sync\" });\n const o = t._hotUpdate;\n t._hotUpdate = se((i) => {\n o(i), n.addTimelineEvent({\n layerId: re,\n event: {\n time: r(),\n title: \"🔥 \" + t.$id,\n subtitle: \"HMR update\",\n data: {\n store: H(t.$id),\n info: H(\"HMR update\")\n }\n }\n }), n.notifyComponentUpdate(), n.sendInspectorTree(P), n.sendInspectorState(P);\n });\n const { $dispose: s } = t;\n t.$dispose = () => {\n s(), n.notifyComponentUpdate(), n.sendInspectorTree(P), n.sendInspectorState(P), n.getSettings().logStoreChanges && x(`Disposed \"${t.$id}\" store 🗑`);\n }, n.notifyComponentUpdate(), n.sendInspectorTree(P), n.sendInspectorState(P), n.getSettings().logStoreChanges && x(`\"${t.$id}\" store installed 🆕`);\n });\n}\nlet es = 0, ee;\nfunction xr(e, t, n) {\n const r = t.reduce((o, s) => (o[s] = Me(e)[s], o), {});\n for (const o in r)\n e[o] = function() {\n const s = es, i = n ? new Proxy(e, {\n get(...a) {\n return ee = s, Reflect.get(...a);\n },\n set(...a) {\n return ee = s, Reflect.set(...a);\n }\n }) : e;\n ee = s;\n const u = r[o].apply(i, arguments);\n return ee = void 0, u;\n };\n}\nfunction Xa({ app: e, store: t, options: n }) {\n if (!t.$id.startsWith(\"__hot:\")) {\n if (t._isOptionsAPI = !!n.state, !t._p._testing) {\n xr(t, Object.keys(n.actions), t._isOptionsAPI);\n const r = t._hotUpdate;\n Me(t)._hotUpdate = function(o) {\n r.apply(this, arguments), xr(t, Object.keys(o._hmrPayload.actions), !!t._isOptionsAPI);\n };\n }\n Ja(\n e,\n // FIXME: is there a way to allow the assignment from Store<Id, S, G, A> to StoreGeneric?\n t\n );\n }\n}\nfunction Za() {\n const e = Fr(!0), t = e.run(() => ye({}));\n let n = [], r = [];\n const o = se({\n install(s) {\n ze(o), o._a = s, s.provide(Go, o), s.config.globalProperties.$pinia = o, process.env.NODE_ENV !== \"production\" && process.env.NODE_ENV !== \"test\" && Q && qa(s, o), r.forEach((i) => n.push(i)), r = [];\n },\n use(s) {\n return this._a ? n.push(s) : r.push(s), this;\n },\n _p: n,\n // it's actually undefined here\n // @ts-expect-error\n _a: null,\n _e: e,\n _s: /* @__PURE__ */ new Map(),\n state: t\n });\n return process.env.NODE_ENV !== \"production\" && process.env.NODE_ENV !== \"test\" && Q && typeof Proxy < \"u\" && o.use(Xa), o;\n}\nfunction ts(e, t) {\n for (const n in t) {\n const r = t[n];\n if (!(n in e))\n continue;\n const o = e[n];\n fe(o) && fe(r) && !Be(r) && !Ut(r) ? e[n] = ts(o, r) : e[n] = r;\n }\n return e;\n}\nconst ns = () => {\n};\nfunction Pr(e, t, n, r = ns) {\n e.push(t);\n const o = () => {\n const s = e.indexOf(t);\n s > -1 && (e.splice(s, 1), r());\n };\n return !n && Ss() && bs(o), o;\n}\nfunction _e(e, ...t) {\n e.slice().forEach((n) => {\n n(...t);\n });\n}\nconst Qa = (e) => e(), Rr = Symbol(), St = Symbol();\nfunction Bt(e, t) {\n e instanceof Map && t instanceof Map ? t.forEach((n, r) => e.set(r, n)) : e instanceof Set && t instanceof Set && t.forEach(e.add, e);\n for (const n in t) {\n if (!t.hasOwnProperty(n))\n continue;\n const r = t[n], o = e[n];\n fe(o) && fe(r) && e.hasOwnProperty(n) && !Be(r) && !Ut(r) ? e[n] = Bt(o, r) : e[n] = r;\n }\n return e;\n}\nconst ec = process.env.NODE_ENV !== \"production\" ? Symbol(\"pinia:skipHydration\") : (\n /* istanbul ignore next */\n Symbol()\n);\nfunction tc(e) {\n return !fe(e) || !Object.prototype.hasOwnProperty.call(e, ec);\n}\nconst { assign: U } = Object;\nfunction Nr(e) {\n return !!(Be(e) && e.effect);\n}\nfunction Vr(e, t, n, r) {\n const { state: o, actions: s, getters: i } = t, u = n.state.value[e];\n let a;\n function c() {\n !u && (process.env.NODE_ENV === \"production\" || !r) && (n.state.value[e] = o ? o() : {});\n const p = process.env.NODE_ENV !== \"production\" && r ? (\n // use ref() to unwrap refs inside state TODO: check if this is still necessary\n mn(ye(o ? o() : {}).value)\n ) : mn(n.state.value[e]);\n return U(p, s, Object.keys(i || {}).reduce((l, f) => (process.env.NODE_ENV !== \"production\" && f in p && console.warn(`[🍍]: A getter cannot have the same name as another state property. Rename one of them. Found with \"${f}\" in store \"${e}\".`), l[f] = se(zr(() => {\n ze(n);\n const d = n._s.get(e);\n return i[f].call(d, d);\n })), l), {}));\n }\n return a = $t(e, c, t, n, r, !0), a;\n}\nfunction $t(e, t, n = {}, r, o, s) {\n let i;\n const u = U({ actions: {} }, n);\n if (process.env.NODE_ENV !== \"production\" && !r._e.active)\n throw new Error(\"Pinia destroyed\");\n const a = { deep: !0 };\n process.env.NODE_ENV !== \"production\" && (a.onTrigger = (S) => {\n c ? d = S : c == !1 && !b._hotUpdating && (Array.isArray(d) ? d.push(S) : console.error(\"🍍 debuggerEvents should be an array. This is most likely an internal Pinia bug.\"));\n });\n let c, p, l = [], f = [], d;\n const h = r.state.value[e];\n !s && !h && (process.env.NODE_ENV === \"production\" || !o) && (r.state.value[e] = {});\n const m = ye({});\n let g;\n function E(S) {\n let y;\n c = p = !1, process.env.NODE_ENV !== \"production\" && (d = []), typeof S == \"function\" ? (S(r.state.value[e]), y = {\n type: G.patchFunction,\n storeId: e,\n events: d\n }) : (Bt(r.state.value[e], S), y = {\n type: G.patchObject,\n payload: S,\n storeId: e,\n events: d\n });\n const T = g = Symbol();\n gn().then(() => {\n g === T && (c = !0);\n }), p = !0, _e(l, y, r.state.value[e]);\n }\n const w = s ? function() {\n const { state: y } = n, T = y ? y() : {};\n this.$patch((D) => {\n U(D, T);\n });\n } : (\n /* istanbul ignore next */\n process.env.NODE_ENV !== \"production\" ? () => {\n throw new Error(`🍍: Store \"${e}\" is built using the setup syntax and does not implement $reset().`);\n } : ns\n );\n function O() {\n i.stop(), l = [], f = [], r._s.delete(e);\n }\n const N = (S, y = \"\") => {\n if (Rr in S)\n return S[St] = y, S;\n const T = function() {\n ze(r);\n const D = Array.from(arguments), $ = [], de = [];\n function F(C) {\n $.push(C);\n }\n function A(C) {\n de.push(C);\n }\n _e(f, {\n args: D,\n name: T[St],\n store: b,\n after: F,\n onError: A\n });\n let z;\n try {\n z = S.apply(this && this.$id === e ? this : b, D);\n } catch (C) {\n throw _e(de, C), C;\n }\n return z instanceof Promise ? z.then((C) => (_e($, C), C)).catch((C) => (_e(de, C), Promise.reject(C))) : (_e($, z), z);\n };\n return T[Rr] = !0, T[St] = y, T;\n }, J = /* @__PURE__ */ se({\n actions: {},\n getters: {},\n state: [],\n hotState: m\n }), B = {\n _p: r,\n // _s: scope,\n $id: e,\n $onAction: Pr.bind(null, f),\n $patch: E,\n $reset: w,\n $subscribe(S, y = {}) {\n const T = Pr(l, S, y.detached, () => D()), D = i.run(() => jr(() => r.state.value[e], ($) => {\n (y.flush === \"sync\" ? p : c) && S({\n storeId: e,\n type: G.direct,\n events: d\n }, $);\n }, U({}, a, y)));\n return T;\n },\n $dispose: O\n }, b = ys(process.env.NODE_ENV !== \"production\" || process.env.NODE_ENV !== \"production\" && process.env.NODE_ENV !== \"test\" && Q ? U(\n {\n _hmrPayload: J,\n _customProperties: se(/* @__PURE__ */ new Set())\n // devtools custom properties\n },\n B\n // must be added later\n // setupStore\n ) : B);\n r._s.set(e, b);\n const V = (r._a && r._a.runWithContext || Qa)(() => r._e.run(() => (i = Fr()).run(() => t({ action: N }))));\n for (const S in V) {\n const y = V[S];\n if (Be(y) && !Nr(y) || Ut(y))\n process.env.NODE_ENV !== \"production\" && o ? m.value[S] = pt(V, S) : s || (h && tc(y) && (Be(y) ? y.value = h[S] : Bt(y, h[S])), r.state.value[e][S] = y), process.env.NODE_ENV !== \"production\" && J.state.push(S);\n else if (typeof y == \"function\") {\n const T = process.env.NODE_ENV !== \"production\" && o ? y : N(y, S);\n V[S] = T, process.env.NODE_ENV !== \"production\" && (J.actions[S] = y), u.actions[S] = y;\n } else process.env.NODE_ENV !== \"production\" && Nr(y) && (J.getters[S] = s ? (\n // @ts-expect-error\n n.getters[S]\n ) : y, Q && (V._getters || // @ts-expect-error: same\n (V._getters = se([]))).push(S));\n }\n if (U(b, V), U(Me(b), V), Object.defineProperty(b, \"$state\", {\n get: () => process.env.NODE_ENV !== \"production\" && o ? m.value : r.state.value[e],\n set: (S) => {\n if (process.env.NODE_ENV !== \"production\" && o)\n throw new Error(\"cannot set hotState\");\n E((y) => {\n U(y, S);\n });\n }\n }), process.env.NODE_ENV !== \"production\" && (b._hotUpdate = se((S) => {\n b._hotUpdating = !0, S._hmrPayload.state.forEach((y) => {\n if (y in b.$state) {\n const T = S.$state[y], D = b.$state[y];\n typeof T == \"object\" && fe(T) && fe(D) ? ts(T, D) : S.$state[y] = D;\n }\n b[y] = pt(S.$state, y);\n }), Object.keys(b.$state).forEach((y) => {\n y in S.$state || delete b[y];\n }), c = !1, p = !1, r.state.value[e] = pt(S._hmrPayload, \"hotState\"), p = !0, gn().then(() => {\n c = !0;\n });\n for (const y in S._hmrPayload.actions) {\n const T = S[y];\n b[y] = //\n N(T, y);\n }\n for (const y in S._hmrPayload.getters) {\n const T = S._hmrPayload.getters[y], D = s ? (\n // special handling of options api\n zr(() => (ze(r), T.call(b, b)))\n ) : T;\n b[y] = //\n D;\n }\n Object.keys(b._hmrPayload.getters).forEach((y) => {\n y in S._hmrPayload.getters || delete b[y];\n }), Object.keys(b._hmrPayload.actions).forEach((y) => {\n y in S._hmrPayload.actions || delete b[y];\n }), b._hmrPayload = S._hmrPayload, b._getters = S._getters, b._hotUpdating = !1;\n })), process.env.NODE_ENV !== \"production\" && process.env.NODE_ENV !== \"test\" && Q) {\n const S = {\n writable: !0,\n configurable: !0,\n // avoid warning on devtools trying to display this property\n enumerable: !1\n };\n [\"_p\", \"_hmrPayload\", \"_getters\", \"_customProperties\"].forEach((y) => {\n Object.defineProperty(b, y, U({ value: b[y] }, S));\n });\n }\n return r._p.forEach((S) => {\n if (process.env.NODE_ENV !== \"production\" && process.env.NODE_ENV !== \"test\" && Q) {\n const y = i.run(() => S({\n store: b,\n app: r._a,\n pinia: r,\n options: u\n }));\n Object.keys(y || {}).forEach((T) => b._customProperties.add(T)), U(b, y);\n } else\n U(b, i.run(() => S({\n store: b,\n app: r._a,\n pinia: r,\n options: u\n })));\n }), process.env.NODE_ENV !== \"production\" && b.$state && typeof b.$state == \"object\" && typeof b.$state.constructor == \"function\" && !b.$state.constructor.toString().includes(\"[native code]\") && console.warn(`[🍍]: The \"state\" must be a plain object. It cannot be\n\tstate: () => new MyClass()\nFound in store \"${b.$id}\".`), h && s && n.hydrate && n.hydrate(b.$state, h), c = !0, p = !0, b;\n}\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction nc(e, t, n) {\n let r;\n const o = typeof t == \"function\";\n r = o ? n : t;\n function s(i, u) {\n const a = Es();\n if (i = // in test mode, ignore the argument provided as we can always retrieve a\n // pinia instance with getActivePinia()\n (process.env.NODE_ENV === \"test\" && Re && Re._testing ? null : i) || (a ? Hr(Go, null) : null), i && ze(i), process.env.NODE_ENV !== \"production\" && !Re)\n throw new Error(`[🍍]: \"getActivePinia()\" was called but there was no active Pinia. Are you trying to use a store before calling \"app.use(pinia)\"?\nSee https://pinia.vuejs.org/core-concepts/outside-component-usage.html for help.\nThis will fail in production.`);\n i = Re, i._s.has(e) || (o ? $t(e, t, r, i) : Vr(e, r, i), process.env.NODE_ENV !== \"production\" && (s._pinia = i));\n const c = i._s.get(e);\n if (process.env.NODE_ENV !== \"production\" && u) {\n const p = \"__hot:\" + e, l = o ? $t(p, t, r, i, !0) : Vr(p, U({}, r), i, !0);\n u._hotUpdate(l), delete i.state.value[p], i._s.delete(p);\n }\n if (process.env.NODE_ENV !== \"production\" && Q) {\n const p = vs();\n if (p && p.proxy && // avoid adding stores that are just built for hot module replacement\n !u) {\n const l = p.proxy, f = \"_pStores\" in l ? l._pStores : l._pStores = {};\n f[e] = c;\n }\n }\n return c;\n }\n return s.$id = e, s;\n}\nconst rc = /* @__PURE__ */ nc(\"data\", () => {\n const e = ye([]), t = ye({});\n return { records: e, record: t };\n});\nfunction ul(e) {\n const t = ye();\n return As(async () => {\n if (e || (e = Hr(\"$registry\")), !e || !e.router) return;\n let n;\n try {\n n = rc();\n } catch {\n throw new Error(\"Please enable the Stonecrop plugin before using the Stonecrop composable\");\n }\n t.value = new Ne(e, n);\n const r = e.router.currentRoute.value, o = r.params.records?.toString().toLowerCase(), s = r.params.record?.toString().toLowerCase();\n if (!o && !s)\n return;\n const i = await e.getMeta?.(o);\n i && (e.addDoctype(i), t.value.setup(i), o && (s ? await t.value.getRecord(i, s) : await t.value.getRecords(i)), t.value.runAction(i, \"load\", s ? [s] : void 0));\n }), { stonecrop: t };\n}\nclass al {\n /**\n * The doctype name\n * @public\n * @readonly\n */\n doctype;\n /**\n * The doctype schema\n * @public\n * @readonly\n */\n schema;\n /**\n * The doctype workflow\n * @public\n * @readonly\n */\n workflow;\n /**\n * The doctype actions\n * @public\n * @readonly\n */\n actions;\n /**\n * The doctype component\n * @public\n * @readonly\n */\n component;\n // TODO: allow different components for different views; probably\n // should be defined in the schema instead?\n constructor(t, n, r, o, s) {\n this.doctype = t, this.schema = n, this.workflow = r, this.actions = o, this.component = s;\n }\n /**\n * Converts the registered doctype string to a slug (kebab-case). The following conversions are made:\n * - It replaces camelCase and PascalCase with kebab-case strings\n * - It replaces spaces and underscores with hyphens\n * - It converts the string to lowercase\n *\n * @returns The slugified doctype string\n *\n * @example\n * ```ts\n * const doctype = new DoctypeMeta('TaskItem', schema, workflow, actions\n * console.log(doctype.slug) // 'task-item'\n * ```\n *\n * @public\n */\n get slug() {\n return this.doctype.replace(/([a-z])([A-Z])/g, \"$1-$2\").replace(/[\\s_]+/g, \"-\").toLowerCase();\n }\n}\nclass Le {\n /**\n * The root Registry instance\n */\n static _root;\n /**\n * The name of the Registry instance\n *\n * @defaultValue 'Registry'\n */\n name;\n /**\n * The registry property contains a collection of doctypes\n * @see {@link DoctypeMeta}\n */\n registry;\n /**\n * The Vue router instance\n * @see {@link https://router.vuejs.org/}\n */\n router;\n constructor(t, n) {\n if (Le._root)\n return Le._root;\n Le._root = this, this.name = \"Registry\", this.registry = {}, this.router = t, this.getMeta = n;\n }\n /**\n * The getMeta function fetches doctype metadata from an API\n * @see {@link DoctypeMeta}\n */\n getMeta;\n /**\n * Get doctype metadata\n * @param doctype - The doctype to fetch metadata for\n * @returns The doctype metadata\n * @see {@link DoctypeMeta}\n */\n addDoctype(t) {\n t.doctype in Object.keys(this.registry) || (this.registry[t.slug] = t), t.component && this.router && !this.router.hasRoute(t.doctype) && this.router.addRoute({\n path: `/${t.slug}`,\n name: t.slug,\n component: t.component\n });\n }\n // TODO: should we allow clearing the registry at all?\n // clear() {\n // \tthis.registry = {}\n // \tif (this.router) {\n // \t\tconst routes = this.router.getRoutes()\n // \t\tfor (const route of routes) {\n // \t\t\tif (route.name) {\n // \t\t\t\tthis.router.removeRoute(route.name)\n // \t\t\t}\n // \t\t}\n // \t}\n // }\n}\nfunction oc(e) {\n return e && typeof e.then == \"function\";\n}\nPromise.resolve(!1);\nPromise.resolve(!0);\nvar ae = Promise.resolve();\nfunction rs(e, t) {\n return e || (e = 0), new Promise(function(n) {\n return setTimeout(function() {\n return n(t);\n }, e);\n });\n}\nfunction sc(e, t) {\n return Math.floor(Math.random() * (t - e + 1) + e);\n}\nfunction ln() {\n return Math.random().toString(36).substring(2);\n}\nvar bt = 0;\nfunction We() {\n var e = Date.now() * 1e3;\n return e <= bt && (e = bt + 1), bt = e, e;\n}\nvar ic = We, uc = \"native\";\nfunction ac(e) {\n var t = {\n time: We(),\n messagesCallback: null,\n bc: new BroadcastChannel(e),\n subFns: []\n // subscriberFunctions\n };\n return t.bc.onmessage = function(n) {\n t.messagesCallback && t.messagesCallback(n.data);\n }, t;\n}\nfunction cc(e) {\n e.bc.close(), e.subFns = [];\n}\nfunction lc(e, t) {\n try {\n return e.bc.postMessage(t, !1), ae;\n } catch (n) {\n return Promise.reject(n);\n }\n}\nfunction fc(e, t) {\n e.messagesCallback = t;\n}\nfunction dc() {\n if (typeof globalThis < \"u\" && globalThis.Deno && globalThis.Deno.args)\n return !0;\n if ((typeof window < \"u\" || typeof self < \"u\") && typeof BroadcastChannel == \"function\") {\n if (BroadcastChannel._pubkey)\n throw new Error(\"BroadcastChannel: Do not overwrite window.BroadcastChannel with this module, this is not a polyfill\");\n return !0;\n } else\n return !1;\n}\nfunction hc() {\n return 150;\n}\nvar pc = {\n create: ac,\n close: cc,\n onMessage: fc,\n postMessage: lc,\n canBeUsed: dc,\n type: uc,\n averageResponseTime: hc,\n microSeconds: ic\n};\nclass os {\n ttl;\n map = /* @__PURE__ */ new Map();\n /**\n * Creating calls to setTimeout() is expensive,\n * so we only do that if there is not timeout already open.\n */\n _to = !1;\n constructor(t) {\n this.ttl = t;\n }\n has(t) {\n return this.map.has(t);\n }\n add(t) {\n this.map.set(t, ss()), this._to || (this._to = !0, setTimeout(() => {\n this._to = !1, _c(this);\n }, 0));\n }\n clear() {\n this.map.clear();\n }\n}\nfunction _c(e) {\n const t = ss() - e.ttl, n = e.map[Symbol.iterator]();\n for (; ; ) {\n const r = n.next().value;\n if (!r)\n return;\n const o = r[0];\n if (r[1] < t)\n e.map.delete(o);\n else\n return;\n }\n}\nfunction ss() {\n return Date.now();\n}\nfunction fn() {\n var e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, t = JSON.parse(JSON.stringify(e));\n return typeof t.webWorkerSupport > \"u\" && (t.webWorkerSupport = !0), t.idb || (t.idb = {}), t.idb.ttl || (t.idb.ttl = 1e3 * 45), t.idb.fallbackInterval || (t.idb.fallbackInterval = 150), e.idb && typeof e.idb.onclose == \"function\" && (t.idb.onclose = e.idb.onclose), t.localstorage || (t.localstorage = {}), t.localstorage.removeTimeout || (t.localstorage.removeTimeout = 1e3 * 60), e.methods && (t.methods = e.methods), t.node || (t.node = {}), t.node.ttl || (t.node.ttl = 1e3 * 60 * 2), t.node.maxParallelWrites || (t.node.maxParallelWrites = 2048), typeof t.node.useFastPath > \"u\" && (t.node.useFastPath = !0), t;\n}\nvar gc = We, mc = \"pubkey.broadcast-channel-0-\", q = \"messages\", dt = {\n durability: \"relaxed\"\n}, Ec = \"idb\";\nfunction is() {\n if (typeof indexedDB < \"u\") return indexedDB;\n if (typeof window < \"u\") {\n if (typeof window.mozIndexedDB < \"u\") return window.mozIndexedDB;\n if (typeof window.webkitIndexedDB < \"u\") return window.webkitIndexedDB;\n if (typeof window.msIndexedDB < \"u\") return window.msIndexedDB;\n }\n return !1;\n}\nfunction dn(e) {\n e.commit && e.commit();\n}\nfunction vc(e) {\n var t = is(), n = mc + e, r = t.open(n);\n return r.onupgradeneeded = function(o) {\n var s = o.target.result;\n s.createObjectStore(q, {\n keyPath: \"id\",\n autoIncrement: !0\n });\n }, new Promise(function(o, s) {\n r.onerror = function(i) {\n return s(i);\n }, r.onsuccess = function() {\n o(r.result);\n };\n });\n}\nfunction yc(e, t, n) {\n var r = Date.now(), o = {\n uuid: t,\n time: r,\n data: n\n }, s = e.transaction([q], \"readwrite\", dt);\n return new Promise(function(i, u) {\n s.oncomplete = function() {\n return i();\n }, s.onerror = function(c) {\n return u(c);\n };\n var a = s.objectStore(q);\n a.add(o), dn(s);\n });\n}\nfunction Sc(e, t) {\n var n = e.transaction(q, \"readonly\", dt), r = n.objectStore(q), o = [], s = IDBKeyRange.bound(t + 1, 1 / 0);\n if (r.getAll) {\n var i = r.getAll(s);\n return new Promise(function(a, c) {\n i.onerror = function(p) {\n return c(p);\n }, i.onsuccess = function(p) {\n a(p.target.result);\n };\n });\n }\n function u() {\n try {\n return s = IDBKeyRange.bound(t + 1, 1 / 0), r.openCursor(s);\n } catch {\n return r.openCursor();\n }\n }\n return new Promise(function(a, c) {\n var p = u();\n p.onerror = function(l) {\n return c(l);\n }, p.onsuccess = function(l) {\n var f = l.target.result;\n f ? f.value.id < t + 1 ? f.continue(t + 1) : (o.push(f.value), f.continue()) : (dn(n), a(o));\n };\n });\n}\nfunction bc(e, t) {\n if (e.closed)\n return Promise.resolve([]);\n var n = e.db.transaction(q, \"readwrite\", dt), r = n.objectStore(q);\n return Promise.all(t.map(function(o) {\n var s = r.delete(o);\n return new Promise(function(i) {\n s.onsuccess = function() {\n return i();\n };\n });\n }));\n}\nfunction Ac(e, t) {\n var n = Date.now() - t, r = e.transaction(q, \"readonly\", dt), o = r.objectStore(q), s = [];\n return new Promise(function(i) {\n o.openCursor().onsuccess = function(u) {\n var a = u.target.result;\n if (a) {\n var c = a.value;\n c.time < n ? (s.push(c), a.continue()) : (dn(r), i(s));\n } else\n i(s);\n };\n });\n}\nfunction wc(e) {\n return Ac(e.db, e.options.idb.ttl).then(function(t) {\n return bc(e, t.map(function(n) {\n return n.id;\n }));\n });\n}\nfunction Oc(e, t) {\n return t = fn(t), vc(e).then(function(n) {\n var r = {\n closed: !1,\n lastCursorId: 0,\n channelName: e,\n options: t,\n uuid: ln(),\n /**\n * emittedMessagesIds\n * contains all messages that have been emitted before\n * @type {ObliviousSet}\n */\n eMIs: new os(t.idb.ttl * 2),\n // ensures we do not read messages in parallel\n writeBlockPromise: ae,\n messagesCallback: null,\n readQueuePromises: [],\n db: n\n };\n return n.onclose = function() {\n r.closed = !0, t.idb.onclose && t.idb.onclose();\n }, us(r), r;\n });\n}\nfunction us(e) {\n e.closed || as(e).then(function() {\n return rs(e.options.idb.fallbackInterval);\n }).then(function() {\n return us(e);\n });\n}\nfunction Tc(e, t) {\n return !(e.uuid === t.uuid || t.eMIs.has(e.id) || e.data.time < t.messagesCallbackTime);\n}\nfunction as(e) {\n return e.closed || !e.messagesCallback ? ae : Sc(e.db, e.lastCursorId).then(function(t) {\n var n = t.filter(function(r) {\n return !!r;\n }).map(function(r) {\n return r.id > e.lastCursorId && (e.lastCursorId = r.id), r;\n }).filter(function(r) {\n return Tc(r, e);\n }).sort(function(r, o) {\n return r.time - o.time;\n });\n return n.forEach(function(r) {\n e.messagesCallback && (e.eMIs.add(r.id), e.messagesCallback(r.data));\n }), ae;\n });\n}\nfunction Ic(e) {\n e.closed = !0, e.db.close();\n}\nfunction Cc(e, t) {\n return e.writeBlockPromise = e.writeBlockPromise.then(function() {\n return yc(e.db, e.uuid, t);\n }).then(function() {\n sc(0, 10) === 0 && wc(e);\n }), e.writeBlockPromise;\n}\nfunction kc(e, t, n) {\n e.messagesCallbackTime = n, e.messagesCallback = t, as(e);\n}\nfunction Dc() {\n return !!is();\n}\nfunction xc(e) {\n return e.idb.fallbackInterval * 2;\n}\nvar Pc = {\n create: Oc,\n close: Ic,\n onMessage: kc,\n postMessage: Cc,\n canBeUsed: Dc,\n type: Ec,\n averageResponseTime: xc,\n microSeconds: gc\n}, Rc = We, Nc = \"pubkey.broadcastChannel-\", Vc = \"localstorage\";\nfunction cs() {\n var e;\n if (typeof window > \"u\") return null;\n try {\n e = window.localStorage, e = window[\"ie8-eventlistener/storage\"] || window.localStorage;\n } catch {\n }\n return e;\n}\nfunction ls(e) {\n return Nc + e;\n}\nfunction Lc(e, t) {\n return new Promise(function(n) {\n rs().then(function() {\n var r = ls(e.channelName), o = {\n token: ln(),\n time: Date.now(),\n data: t,\n uuid: e.uuid\n }, s = JSON.stringify(o);\n cs().setItem(r, s);\n var i = document.createEvent(\"Event\");\n i.initEvent(\"storage\", !0, !0), i.key = r, i.newValue = s, window.dispatchEvent(i), n();\n });\n });\n}\nfunction Mc(e, t) {\n var n = ls(e), r = function(s) {\n s.key === n && t(JSON.parse(s.newValue));\n };\n return window.addEventListener(\"storage\", r), r;\n}\nfunction Bc(e) {\n window.removeEventListener(\"storage\", e);\n}\nfunction $c(e, t) {\n if (t = fn(t), !fs())\n throw new Error(\"BroadcastChannel: localstorage cannot be used\");\n var n = ln(), r = new os(t.localstorage.removeTimeout), o = {\n channelName: e,\n uuid: n,\n eMIs: r\n // emittedMessagesIds\n };\n return o.listener = Mc(e, function(s) {\n o.messagesCallback && s.uuid !== n && (!s.token || r.has(s.token) || s.data.time && s.data.time < o.messagesCallbackTime || (r.add(s.token), o.messagesCallback(s.data)));\n }), o;\n}\nfunction Uc(e) {\n Bc(e.listener);\n}\nfunction Fc(e, t, n) {\n e.messagesCallbackTime = n, e.messagesCallback = t;\n}\nfunction fs() {\n var e = cs();\n if (!e) return !1;\n try {\n var t = \"__broadcastchannel_check\";\n e.setItem(t, \"works\"), e.removeItem(t);\n } catch {\n return !1;\n }\n return !0;\n}\nfunction jc() {\n var e = 120, t = navigator.userAgent.toLowerCase();\n return t.includes(\"safari\") && !t.includes(\"chrome\") ? e * 2 : e;\n}\nvar Hc = {\n create: $c,\n close: Uc,\n onMessage: Fc,\n postMessage: Lc,\n canBeUsed: fs,\n type: Vc,\n averageResponseTime: jc,\n microSeconds: Rc\n}, ds = We, zc = \"simulate\", hn = /* @__PURE__ */ new Set();\nfunction Kc(e) {\n var t = {\n time: ds(),\n name: e,\n messagesCallback: null\n };\n return hn.add(t), t;\n}\nfunction Gc(e) {\n hn.delete(e);\n}\nvar hs = 5;\nfunction Wc(e, t) {\n return new Promise(function(n) {\n return setTimeout(function() {\n var r = Array.from(hn);\n r.forEach(function(o) {\n o.name === e.name && // has same name\n o !== e && o.messagesCallback && // has subscribers\n o.time < t.time && o.messagesCallback(t);\n }), n();\n }, hs);\n });\n}\nfunction Yc(e, t) {\n e.messagesCallback = t;\n}\nfunction qc() {\n return !0;\n}\nfunction Jc() {\n return hs;\n}\nvar Xc = {\n create: Kc,\n close: Gc,\n onMessage: Yc,\n postMessage: Wc,\n canBeUsed: qc,\n type: zc,\n averageResponseTime: Jc,\n microSeconds: ds\n}, Lr = [\n pc,\n // fastest\n Pc,\n Hc\n];\nfunction Zc(e) {\n var t = [].concat(e.methods, Lr).filter(Boolean);\n if (e.type) {\n if (e.type === \"simulate\")\n return Xc;\n var n = t.find(function(o) {\n return o.type === e.type;\n });\n if (n) return n;\n throw new Error(\"method-type \" + e.type + \" not found\");\n }\n e.webWorkerSupport || (t = t.filter(function(o) {\n return o.type !== \"idb\";\n }));\n var r = t.find(function(o) {\n return o.canBeUsed();\n });\n if (r)\n return r;\n throw new Error(\"No usable method found in \" + JSON.stringify(Lr.map(function(o) {\n return o.type;\n })));\n}\nvar ps = /* @__PURE__ */ new Set(), Qc = 0, pn = function(t, n) {\n this.id = Qc++, ps.add(this), this.name = t, this.options = fn(n), this.method = Zc(this.options), this._iL = !1, this._onML = null, this._addEL = {\n message: [],\n internal: []\n }, this._uMP = /* @__PURE__ */ new Set(), this._befC = [], this._prepP = null, el(this);\n};\npn._pubkey = !0;\npn.prototype = {\n postMessage: function(t) {\n if (this.closed)\n throw new Error(\"BroadcastChannel.postMessage(): Cannot post message after channel has closed \" + /**\n * In the past when this error appeared, it was really hard to debug.\n * So now we log the msg together with the error so it at least\n * gives some clue about where in your application this happens.\n */\n JSON.stringify(t));\n return Mr(this, \"message\", t);\n },\n postInternal: function(t) {\n return Mr(this, \"internal\", t);\n },\n set onmessage(e) {\n var t = this.method.microSeconds(), n = {\n time: t,\n fn: e\n };\n $r(this, \"message\", this._onML), e && typeof e == \"function\" ? (this._onML = n, Br(this, \"message\", n)) : this._onML = null;\n },\n addEventListener: function(t, n) {\n var r = this.method.microSeconds(), o = {\n time: r,\n fn: n\n };\n Br(this, t, o);\n },\n removeEventListener: function(t, n) {\n var r = this._addEL[t].find(function(o) {\n return o.fn === n;\n });\n $r(this, t, r);\n },\n close: function() {\n var t = this;\n if (!this.closed) {\n ps.delete(this), this.closed = !0;\n var n = this._prepP ? this._prepP : ae;\n return this._onML = null, this._addEL.message = [], n.then(function() {\n return Promise.all(Array.from(t._uMP));\n }).then(function() {\n return Promise.all(t._befC.map(function(r) {\n return r();\n }));\n }).then(function() {\n return t.method.close(t._state);\n });\n }\n },\n get type() {\n return this.method.type;\n },\n get isClosed() {\n return this.closed;\n }\n};\nfunction Mr(e, t, n) {\n var r = e.method.microSeconds(), o = {\n time: r,\n type: t,\n data: n\n }, s = e._prepP ? e._prepP : ae;\n return s.then(function() {\n var i = e.method.postMessage(e._state, o);\n return e._uMP.add(i), i.catch().then(function() {\n return e._uMP.delete(i);\n }), i;\n });\n}\nfunction el(e) {\n var t = e.method.create(e.name, e.options);\n oc(t) ? (e._prepP = t, t.then(function(n) {\n e._state = n;\n })) : e._state = t;\n}\nfunction _s(e) {\n return e._addEL.message.length > 0 || e._addEL.internal.length > 0;\n}\nfunction Br(e, t, n) {\n e._addEL[t].push(n), tl(e);\n}\nfunction $r(e, t, n) {\n e._addEL[t] = e._addEL[t].filter(function(r) {\n return r !== n;\n }), nl(e);\n}\nfunction tl(e) {\n if (!e._iL && _s(e)) {\n var t = function(o) {\n e._addEL[o.type].forEach(function(s) {\n o.time >= s.time && s.fn(o.data);\n });\n }, n = e.method.microSeconds();\n e._prepP ? e._prepP.then(function() {\n e._iL = !0, e.method.onMessage(e._state, t, n);\n }) : (e._iL = !0, e.method.onMessage(e._state, t, n));\n }\n}\nfunction nl(e) {\n if (e._iL && !_s(e)) {\n e._iL = !1;\n var t = e.method.microSeconds();\n e.method.onMessage(e._state, null, t);\n }\n}\nfunction Ur(e, t = { serialize: JSON.stringify, deserialize: JSON.parse }) {\n return t.deserialize(t.serialize(e));\n}\nfunction rl(e, t) {\n return Object.keys(t).includes(e);\n}\nfunction ol({\n enable: e = !0,\n initialize: t = !0,\n type: n,\n serializer: r\n}) {\n return ({ store: o, options: s }) => {\n const i = s?.share?.enable ?? e, u = s?.share?.omit ?? [];\n if (!i)\n return;\n const a = new pn(o.$id, {\n type: n\n });\n let c = 0, p = !1;\n const l = Object.keys(o.$state).filter((d) => !u.includes(d) && rl(d, o.$state));\n a.onmessage = (d) => {\n if (d === void 0) {\n a.postMessage({\n timestamp: c,\n state: Ur(o.$state, r)\n });\n return;\n }\n d.timestamp <= c || (p = !0, c = d.timestamp, o.$patch((h) => {\n l.forEach((m) => {\n h[m] = d.state[m];\n });\n }));\n }, (s?.share?.initialize ?? t) && a.postMessage(void 0), o.$subscribe((d, h) => {\n p || (c = Date.now(), a.postMessage({\n timestamp: c,\n state: Ur(h, r)\n })), p = !1;\n });\n };\n}\nconst gs = Za();\ngs.use(\n ol({\n enable: !0,\n initialize: !0\n })\n);\nconst cl = {\n install: (e, t) => {\n const n = e.config.globalProperties.$router, r = n || t?.router, o = new Le(r, t?.getMeta);\n if (!n && r && e.use(r), e.use(gs), e.provide(\"$registry\", o), t?.components)\n for (const [s, i] of Object.entries(t.components))\n e.component(s, i);\n }\n};\nexport {\n al as DoctypeMeta,\n Le as Registry,\n cl as Stonecrop,\n Ne as StonecropClass,\n ul as useStonecrop\n};\n//# sourceMappingURL=stonecrop.js.map\n","<template>\n\t<AForm v-model=\"schema\" class=\"aform-main\" />\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, watch } from 'vue'\n// import { useRoute } from 'vue-router'\n\nimport { AForm } from '@stonecrop/aform'\nimport type { SchemaTypes } from '@stonecrop/aform'\nimport { /* DoctypeMeta, */ useStonecrop } from '@stonecrop/stonecrop'\n\nconst { stonecrop } = useStonecrop()\nconst schema = ref<SchemaTypes[]>([])\n\nwatch(stonecrop, () => {\n\tif (stonecrop.value) {\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access\n\t\tlet newSchema = stonecrop.value.schema?.schema.toArray()\n\t\tif (!newSchema) {\n\t\t\tnewSchema = []\n\t\t}\n\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access\n\t\tnewSchema.forEach((item, index) => {\n\t\t\tconst record = stonecrop.value?.store.record\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n\t\t\tconst fieldValue = record?.[item.fieldname]\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n\t\t\tnewSchema[index].value = fieldValue\n\t\t})\n\n\t\tschema.value = newSchema\n\t}\n})\n\n// const route = useRoute()\n// const doctypeSlug = route.params.records?.toString().toLowerCase()\n// const recordId = route.params.record?.toString().toLowerCase()\n\n// const saveRecord = async () => {\n// \tconst doctype: DoctypeMeta = await stonecrop.value.registry.getMeta(doctypeSlug)\n// \tstonecrop.value.runAction(doctype, 'save', recordId ? [recordId] : [])\n// }\n</script>\n","/*!\n * pinia v3.0.3\n * (c) 2025 Eduardo San Martin Morote\n * @license MIT\n */\nimport { hasInjectionContext, inject, toRaw, watch, unref, markRaw, effectScope, ref, isRef, isReactive, getCurrentScope, onScopeDispose, getCurrentInstance, reactive, toRef, nextTick, computed, toRefs } from 'vue';\nimport { setupDevtoolsPlugin } from '@vue/devtools-api';\n\n/**\n * setActivePinia must be called to handle SSR at the top of functions like\n * `fetch`, `setup`, `serverPrefetch` and others\n */\nlet activePinia;\n/**\n * Sets or unsets the active pinia. Used in SSR and internally when calling\n * actions and getters\n *\n * @param pinia - Pinia instance\n */\n// @ts-expect-error: cannot constrain the type of the return\nconst setActivePinia = (pinia) => (activePinia = pinia);\n/**\n * Get the currently active pinia if there is any.\n */\nconst getActivePinia = () => (hasInjectionContext() && inject(piniaSymbol)) || activePinia;\nconst piniaSymbol = ((process.env.NODE_ENV !== 'production') ? Symbol('pinia') : /* istanbul ignore next */ Symbol());\n\nfunction isPlainObject(\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\no) {\n return (o &&\n typeof o === 'object' &&\n Object.prototype.toString.call(o) === '[object Object]' &&\n typeof o.toJSON !== 'function');\n}\n// type DeepReadonly<T> = { readonly [P in keyof T]: DeepReadonly<T[P]> }\n// TODO: can we change these to numbers?\n/**\n * Possible types for SubscriptionCallback\n */\nvar MutationType;\n(function (MutationType) {\n /**\n * Direct mutation of the state:\n *\n * - `store.name = 'new name'`\n * - `store.$state.name = 'new name'`\n * - `store.list.push('new item')`\n */\n MutationType[\"direct\"] = \"direct\";\n /**\n * Mutated the state with `$patch` and an object\n *\n * - `store.$patch({ name: 'newName' })`\n */\n MutationType[\"patchObject\"] = \"patch object\";\n /**\n * Mutated the state with `$patch` and a function\n *\n * - `store.$patch(state => state.name = 'newName')`\n */\n MutationType[\"patchFunction\"] = \"patch function\";\n // maybe reset? for $state = {} and $reset\n})(MutationType || (MutationType = {}));\n\nconst IS_CLIENT = typeof window !== 'undefined';\n\n/*\n * FileSaver.js A saveAs() FileSaver implementation.\n *\n * Originally by Eli Grey, adapted as an ESM module by Eduardo San Martin\n * Morote.\n *\n * License : MIT\n */\n// The one and only way of getting global scope in all environments\n// https://stackoverflow.com/q/3277182/1008999\nconst _global = /*#__PURE__*/ (() => typeof window === 'object' && window.window === window\n ? window\n : typeof self === 'object' && self.self === self\n ? self\n : typeof global === 'object' && global.global === global\n ? global\n : typeof globalThis === 'object'\n ? globalThis\n : { HTMLElement: null })();\nfunction bom(blob, { autoBom = false } = {}) {\n // prepend BOM for UTF-8 XML and text/* types (including HTML)\n // note: your browser will automatically convert UTF-16 U+FEFF to EF BB BF\n if (autoBom &&\n /^\\s*(?:text\\/\\S*|application\\/xml|\\S*\\/\\S*\\+xml)\\s*;.*charset\\s*=\\s*utf-8/i.test(blob.type)) {\n return new Blob([String.fromCharCode(0xfeff), blob], { type: blob.type });\n }\n return blob;\n}\nfunction download(url, name, opts) {\n const xhr = new XMLHttpRequest();\n xhr.open('GET', url);\n xhr.responseType = 'blob';\n xhr.onload = function () {\n saveAs(xhr.response, name, opts);\n };\n xhr.onerror = function () {\n console.error('could not download file');\n };\n xhr.send();\n}\nfunction corsEnabled(url) {\n const xhr = new XMLHttpRequest();\n // use sync to avoid popup blocker\n xhr.open('HEAD', url, false);\n try {\n xhr.send();\n }\n catch (e) { }\n return xhr.status >= 200 && xhr.status <= 299;\n}\n// `a.click()` doesn't work for all browsers (#465)\nfunction click(node) {\n try {\n node.dispatchEvent(new MouseEvent('click'));\n }\n catch (e) {\n const evt = new MouseEvent('click', {\n bubbles: true,\n cancelable: true,\n view: window,\n detail: 0,\n screenX: 80,\n screenY: 20,\n clientX: 80,\n clientY: 20,\n ctrlKey: false,\n altKey: false,\n shiftKey: false,\n metaKey: false,\n button: 0,\n relatedTarget: null,\n });\n node.dispatchEvent(evt);\n }\n}\nconst _navigator = typeof navigator === 'object' ? navigator : { userAgent: '' };\n// Detect WebView inside a native macOS app by ruling out all browsers\n// We just need to check for 'Safari' because all other browsers (besides Firefox) include that too\n// https://www.whatismybrowser.com/guides/the-latest-user-agent/macos\nconst isMacOSWebView = /*#__PURE__*/ (() => /Macintosh/.test(_navigator.userAgent) &&\n /AppleWebKit/.test(_navigator.userAgent) &&\n !/Safari/.test(_navigator.userAgent))();\nconst saveAs = !IS_CLIENT\n ? () => { } // noop\n : // Use download attribute first if possible (#193 Lumia mobile) unless this is a macOS WebView or mini program\n typeof HTMLAnchorElement !== 'undefined' &&\n 'download' in HTMLAnchorElement.prototype &&\n !isMacOSWebView\n ? downloadSaveAs\n : // Use msSaveOrOpenBlob as a second approach\n 'msSaveOrOpenBlob' in _navigator\n ? msSaveAs\n : // Fallback to using FileReader and a popup\n fileSaverSaveAs;\nfunction downloadSaveAs(blob, name = 'download', opts) {\n const a = document.createElement('a');\n a.download = name;\n a.rel = 'noopener'; // tabnabbing\n // TODO: detect chrome extensions & packaged apps\n // a.target = '_blank'\n if (typeof blob === 'string') {\n // Support regular links\n a.href = blob;\n if (a.origin !== location.origin) {\n if (corsEnabled(a.href)) {\n download(blob, name, opts);\n }\n else {\n a.target = '_blank';\n click(a);\n }\n }\n else {\n click(a);\n }\n }\n else {\n // Support blobs\n a.href = URL.createObjectURL(blob);\n setTimeout(function () {\n URL.revokeObjectURL(a.href);\n }, 4e4); // 40s\n setTimeout(function () {\n click(a);\n }, 0);\n }\n}\nfunction msSaveAs(blob, name = 'download', opts) {\n if (typeof blob === 'string') {\n if (corsEnabled(blob)) {\n download(blob, name, opts);\n }\n else {\n const a = document.createElement('a');\n a.href = blob;\n a.target = '_blank';\n setTimeout(function () {\n click(a);\n });\n }\n }\n else {\n // @ts-ignore: works on windows\n navigator.msSaveOrOpenBlob(bom(blob, opts), name);\n }\n}\nfunction fileSaverSaveAs(blob, name, opts, popup) {\n // Open a popup immediately do go around popup blocker\n // Mostly only available on user interaction and the fileReader is async so...\n popup = popup || open('', '_blank');\n if (popup) {\n popup.document.title = popup.document.body.innerText = 'downloading...';\n }\n if (typeof blob === 'string')\n return download(blob, name, opts);\n const force = blob.type === 'application/octet-stream';\n const isSafari = /constructor/i.test(String(_global.HTMLElement)) || 'safari' in _global;\n const isChromeIOS = /CriOS\\/[\\d]+/.test(navigator.userAgent);\n if ((isChromeIOS || (force && isSafari) || isMacOSWebView) &&\n typeof FileReader !== 'undefined') {\n // Safari doesn't allow downloading of blob URLs\n const reader = new FileReader();\n reader.onloadend = function () {\n let url = reader.result;\n if (typeof url !== 'string') {\n popup = null;\n throw new Error('Wrong reader.result type');\n }\n url = isChromeIOS\n ? url\n : url.replace(/^data:[^;]*;/, 'data:attachment/file;');\n if (popup) {\n popup.location.href = url;\n }\n else {\n location.assign(url);\n }\n popup = null; // reverse-tabnabbing #460\n };\n reader.readAsDataURL(blob);\n }\n else {\n const url = URL.createObjectURL(blob);\n if (popup)\n popup.location.assign(url);\n else\n location.href = url;\n popup = null; // reverse-tabnabbing #460\n setTimeout(function () {\n URL.revokeObjectURL(url);\n }, 4e4); // 40s\n }\n}\n\n/**\n * Shows a toast or console.log\n *\n * @param message - message to log\n * @param type - different color of the tooltip\n */\nfunction toastMessage(message, type) {\n const piniaMessage = '🍍 ' + message;\n if (typeof __VUE_DEVTOOLS_TOAST__ === 'function') {\n // No longer available :(\n __VUE_DEVTOOLS_TOAST__(piniaMessage, type);\n }\n else if (type === 'error') {\n console.error(piniaMessage);\n }\n else if (type === 'warn') {\n console.warn(piniaMessage);\n }\n else {\n console.log(piniaMessage);\n }\n}\nfunction isPinia(o) {\n return '_a' in o && 'install' in o;\n}\n\n/**\n * This file contain devtools actions, they are not Pinia actions.\n */\n// ---\nfunction checkClipboardAccess() {\n if (!('clipboard' in navigator)) {\n toastMessage(`Your browser doesn't support the Clipboard API`, 'error');\n return true;\n }\n}\nfunction checkNotFocusedError(error) {\n if (error instanceof Error &&\n error.message.toLowerCase().includes('document is not focused')) {\n toastMessage('You need to activate the \"Emulate a focused page\" setting in the \"Rendering\" panel of devtools.', 'warn');\n return true;\n }\n return false;\n}\nasync function actionGlobalCopyState(pinia) {\n if (checkClipboardAccess())\n return;\n try {\n await navigator.clipboard.writeText(JSON.stringify(pinia.state.value));\n toastMessage('Global state copied to clipboard.');\n }\n catch (error) {\n if (checkNotFocusedError(error))\n return;\n toastMessage(`Failed to serialize the state. Check the console for more details.`, 'error');\n console.error(error);\n }\n}\nasync function actionGlobalPasteState(pinia) {\n if (checkClipboardAccess())\n return;\n try {\n loadStoresState(pinia, JSON.parse(await navigator.clipboard.readText()));\n toastMessage('Global state pasted from clipboard.');\n }\n catch (error) {\n if (checkNotFocusedError(error))\n return;\n toastMessage(`Failed to deserialize the state from clipboard. Check the console for more details.`, 'error');\n console.error(error);\n }\n}\nasync function actionGlobalSaveState(pinia) {\n try {\n saveAs(new Blob([JSON.stringify(pinia.state.value)], {\n type: 'text/plain;charset=utf-8',\n }), 'pinia-state.json');\n }\n catch (error) {\n toastMessage(`Failed to export the state as JSON. Check the console for more details.`, 'error');\n console.error(error);\n }\n}\nlet fileInput;\nfunction getFileOpener() {\n if (!fileInput) {\n fileInput = document.createElement('input');\n fileInput.type = 'file';\n fileInput.accept = '.json';\n }\n function openFile() {\n return new Promise((resolve, reject) => {\n fileInput.onchange = async () => {\n const files = fileInput.files;\n if (!files)\n return resolve(null);\n const file = files.item(0);\n if (!file)\n return resolve(null);\n return resolve({ text: await file.text(), file });\n };\n // @ts-ignore: TODO: changed from 4.3 to 4.4\n fileInput.oncancel = () => resolve(null);\n fileInput.onerror = reject;\n fileInput.click();\n });\n }\n return openFile;\n}\nasync function actionGlobalOpenStateFile(pinia) {\n try {\n const open = getFileOpener();\n const result = await open();\n if (!result)\n return;\n const { text, file } = result;\n loadStoresState(pinia, JSON.parse(text));\n toastMessage(`Global state imported from \"${file.name}\".`);\n }\n catch (error) {\n toastMessage(`Failed to import the state from JSON. Check the console for more details.`, 'error');\n console.error(error);\n }\n}\nfunction loadStoresState(pinia, state) {\n for (const key in state) {\n const storeState = pinia.state.value[key];\n // store is already instantiated, patch it\n if (storeState) {\n Object.assign(storeState, state[key]);\n }\n else {\n // store is not instantiated, set the initial state\n pinia.state.value[key] = state[key];\n }\n }\n}\n\nfunction formatDisplay(display) {\n return {\n _custom: {\n display,\n },\n };\n}\nconst PINIA_ROOT_LABEL = '🍍 Pinia (root)';\nconst PINIA_ROOT_ID = '_root';\nfunction formatStoreForInspectorTree(store) {\n return isPinia(store)\n ? {\n id: PINIA_ROOT_ID,\n label: PINIA_ROOT_LABEL,\n }\n : {\n id: store.$id,\n label: store.$id,\n };\n}\nfunction formatStoreForInspectorState(store) {\n if (isPinia(store)) {\n const storeNames = Array.from(store._s.keys());\n const storeMap = store._s;\n const state = {\n state: storeNames.map((storeId) => ({\n editable: true,\n key: storeId,\n value: store.state.value[storeId],\n })),\n getters: storeNames\n .filter((id) => storeMap.get(id)._getters)\n .map((id) => {\n const store = storeMap.get(id);\n return {\n editable: false,\n key: id,\n value: store._getters.reduce((getters, key) => {\n getters[key] = store[key];\n return getters;\n }, {}),\n };\n }),\n };\n return state;\n }\n const state = {\n state: Object.keys(store.$state).map((key) => ({\n editable: true,\n key,\n value: store.$state[key],\n })),\n };\n // avoid adding empty getters\n if (store._getters && store._getters.length) {\n state.getters = store._getters.map((getterName) => ({\n editable: false,\n key: getterName,\n value: store[getterName],\n }));\n }\n if (store._customProperties.size) {\n state.customProperties = Array.from(store._customProperties).map((key) => ({\n editable: true,\n key,\n value: store[key],\n }));\n }\n return state;\n}\nfunction formatEventData(events) {\n if (!events)\n return {};\n if (Array.isArray(events)) {\n // TODO: handle add and delete for arrays and objects\n return events.reduce((data, event) => {\n data.keys.push(event.key);\n data.operations.push(event.type);\n data.oldValue[event.key] = event.oldValue;\n data.newValue[event.key] = event.newValue;\n return data;\n }, {\n oldValue: {},\n keys: [],\n operations: [],\n newValue: {},\n });\n }\n else {\n return {\n operation: formatDisplay(events.type),\n key: formatDisplay(events.key),\n oldValue: events.oldValue,\n newValue: events.newValue,\n };\n }\n}\nfunction formatMutationType(type) {\n switch (type) {\n case MutationType.direct:\n return 'mutation';\n case MutationType.patchFunction:\n return '$patch';\n case MutationType.patchObject:\n return '$patch';\n default:\n return 'unknown';\n }\n}\n\n// timeline can be paused when directly changing the state\nlet isTimelineActive = true;\nconst componentStateTypes = [];\nconst MUTATIONS_LAYER_ID = 'pinia:mutations';\nconst INSPECTOR_ID = 'pinia';\nconst { assign: assign$1 } = Object;\n/**\n * Gets the displayed name of a store in devtools\n *\n * @param id - id of the store\n * @returns a formatted string\n */\nconst getStoreType = (id) => '🍍 ' + id;\n/**\n * Add the pinia plugin without any store. Allows displaying a Pinia plugin tab\n * as soon as it is added to the application.\n *\n * @param app - Vue application\n * @param pinia - pinia instance\n */\nfunction registerPiniaDevtools(app, pinia) {\n setupDevtoolsPlugin({\n id: 'dev.esm.pinia',\n label: 'Pinia 🍍',\n logo: 'https://pinia.vuejs.org/logo.svg',\n packageName: 'pinia',\n homepage: 'https://pinia.vuejs.org',\n componentStateTypes,\n app,\n }, (api) => {\n if (typeof api.now !== 'function') {\n toastMessage('You seem to be using an outdated version of Vue Devtools. Are you still using the Beta release instead of the stable one? You can find the links at https://devtools.vuejs.org/guide/installation.html.');\n }\n api.addTimelineLayer({\n id: MUTATIONS_LAYER_ID,\n label: `Pinia 🍍`,\n color: 0xe5df88,\n });\n api.addInspector({\n id: INSPECTOR_ID,\n label: 'Pinia 🍍',\n icon: 'storage',\n treeFilterPlaceholder: 'Search stores',\n actions: [\n {\n icon: 'content_copy',\n action: () => {\n actionGlobalCopyState(pinia);\n },\n tooltip: 'Serialize and copy the state',\n },\n {\n icon: 'content_paste',\n action: async () => {\n await actionGlobalPasteState(pinia);\n api.sendInspectorTree(INSPECTOR_ID);\n api.sendInspectorState(INSPECTOR_ID);\n },\n tooltip: 'Replace the state with the content of your clipboard',\n },\n {\n icon: 'save',\n action: () => {\n actionGlobalSaveState(pinia);\n },\n tooltip: 'Save the state as a JSON file',\n },\n {\n icon: 'folder_open',\n action: async () => {\n await actionGlobalOpenStateFile(pinia);\n api.sendInspectorTree(INSPECTOR_ID);\n api.sendInspectorState(INSPECTOR_ID);\n },\n tooltip: 'Import the state from a JSON file',\n },\n ],\n nodeActions: [\n {\n icon: 'restore',\n tooltip: 'Reset the state (with \"$reset\")',\n action: (nodeId) => {\n const store = pinia._s.get(nodeId);\n if (!store) {\n toastMessage(`Cannot reset \"${nodeId}\" store because it wasn't found.`, 'warn');\n }\n else if (typeof store.$reset !== 'function') {\n toastMessage(`Cannot reset \"${nodeId}\" store because it doesn't have a \"$reset\" method implemented.`, 'warn');\n }\n else {\n store.$reset();\n toastMessage(`Store \"${nodeId}\" reset.`);\n }\n },\n },\n ],\n });\n api.on.inspectComponent((payload) => {\n const proxy = (payload.componentInstance &&\n payload.componentInstance.proxy);\n if (proxy && proxy._pStores) {\n const piniaStores = payload.componentInstance.proxy._pStores;\n Object.values(piniaStores).forEach((store) => {\n payload.instanceData.state.push({\n type: getStoreType(store.$id),\n key: 'state',\n editable: true,\n value: store._isOptionsAPI\n ? {\n _custom: {\n value: toRaw(store.$state),\n actions: [\n {\n icon: 'restore',\n tooltip: 'Reset the state of this store',\n action: () => store.$reset(),\n },\n ],\n },\n }\n : // NOTE: workaround to unwrap transferred refs\n Object.keys(store.$state).reduce((state, key) => {\n state[key] = store.$state[key];\n return state;\n }, {}),\n });\n if (store._getters && store._getters.length) {\n payload.instanceData.state.push({\n type: getStoreType(store.$id),\n key: 'getters',\n editable: false,\n value: store._getters.reduce((getters, key) => {\n try {\n getters[key] = store[key];\n }\n catch (error) {\n // @ts-expect-error: we just want to show it in devtools\n getters[key] = error;\n }\n return getters;\n }, {}),\n });\n }\n });\n }\n });\n api.on.getInspectorTree((payload) => {\n if (payload.app === app && payload.inspectorId === INSPECTOR_ID) {\n let stores = [pinia];\n stores = stores.concat(Array.from(pinia._s.values()));\n payload.rootNodes = (payload.filter\n ? stores.filter((store) => '$id' in store\n ? store.$id\n .toLowerCase()\n .includes(payload.filter.toLowerCase())\n : PINIA_ROOT_LABEL.toLowerCase().includes(payload.filter.toLowerCase()))\n : stores).map(formatStoreForInspectorTree);\n }\n });\n // Expose pinia instance as $pinia to window\n globalThis.$pinia = pinia;\n api.on.getInspectorState((payload) => {\n if (payload.app === app && payload.inspectorId === INSPECTOR_ID) {\n const inspectedStore = payload.nodeId === PINIA_ROOT_ID\n ? pinia\n : pinia._s.get(payload.nodeId);\n if (!inspectedStore) {\n // this could be the selected store restored for a different project\n // so it's better not to say anything here\n return;\n }\n if (inspectedStore) {\n // Expose selected store as $store to window\n if (payload.nodeId !== PINIA_ROOT_ID)\n globalThis.$store = toRaw(inspectedStore);\n payload.state = formatStoreForInspectorState(inspectedStore);\n }\n }\n });\n api.on.editInspectorState((payload) => {\n if (payload.app === app && payload.inspectorId === INSPECTOR_ID) {\n const inspectedStore = payload.nodeId === PINIA_ROOT_ID\n ? pinia\n : pinia._s.get(payload.nodeId);\n if (!inspectedStore) {\n return toastMessage(`store \"${payload.nodeId}\" not found`, 'error');\n }\n const { path } = payload;\n if (!isPinia(inspectedStore)) {\n // access only the state\n if (path.length !== 1 ||\n !inspectedStore._customProperties.has(path[0]) ||\n path[0] in inspectedStore.$state) {\n path.unshift('$state');\n }\n }\n else {\n // Root access, we can omit the `.value` because the devtools API does it for us\n path.unshift('state');\n }\n isTimelineActive = false;\n payload.set(inspectedStore, path, payload.state.value);\n isTimelineActive = true;\n }\n });\n api.on.editComponentState((payload) => {\n if (payload.type.startsWith('🍍')) {\n const storeId = payload.type.replace(/^🍍\\s*/, '');\n const store = pinia._s.get(storeId);\n if (!store) {\n return toastMessage(`store \"${storeId}\" not found`, 'error');\n }\n const { path } = payload;\n if (path[0] !== 'state') {\n return toastMessage(`Invalid path for store \"${storeId}\":\\n${path}\\nOnly state can be modified.`);\n }\n // rewrite the first entry to be able to directly set the state as\n // well as any other path\n path[0] = '$state';\n isTimelineActive = false;\n payload.set(store, path, payload.state.value);\n isTimelineActive = true;\n }\n });\n });\n}\nfunction addStoreToDevtools(app, store) {\n if (!componentStateTypes.includes(getStoreType(store.$id))) {\n componentStateTypes.push(getStoreType(store.$id));\n }\n setupDevtoolsPlugin({\n id: 'dev.esm.pinia',\n label: 'Pinia 🍍',\n logo: 'https://pinia.vuejs.org/logo.svg',\n packageName: 'pinia',\n homepage: 'https://pinia.vuejs.org',\n componentStateTypes,\n app,\n settings: {\n logStoreChanges: {\n label: 'Notify about new/deleted stores',\n type: 'boolean',\n defaultValue: true,\n },\n // useEmojis: {\n // label: 'Use emojis in messages ⚡️',\n // type: 'boolean',\n // defaultValue: true,\n // },\n },\n }, (api) => {\n // gracefully handle errors\n const now = typeof api.now === 'function' ? api.now.bind(api) : Date.now;\n store.$onAction(({ after, onError, name, args }) => {\n const groupId = runningActionId++;\n api.addTimelineEvent({\n layerId: MUTATIONS_LAYER_ID,\n event: {\n time: now(),\n title: '🛫 ' + name,\n subtitle: 'start',\n data: {\n store: formatDisplay(store.$id),\n action: formatDisplay(name),\n args,\n },\n groupId,\n },\n });\n after((result) => {\n activeAction = undefined;\n api.addTimelineEvent({\n layerId: MUTATIONS_LAYER_ID,\n event: {\n time: now(),\n title: '🛬 ' + name,\n subtitle: 'end',\n data: {\n store: formatDisplay(store.$id),\n action: formatDisplay(name),\n args,\n result,\n },\n groupId,\n },\n });\n });\n onError((error) => {\n activeAction = undefined;\n api.addTimelineEvent({\n layerId: MUTATIONS_LAYER_ID,\n event: {\n time: now(),\n logType: 'error',\n title: '💥 ' + name,\n subtitle: 'end',\n data: {\n store: formatDisplay(store.$id),\n action: formatDisplay(name),\n args,\n error,\n },\n groupId,\n },\n });\n });\n }, true);\n store._customProperties.forEach((name) => {\n watch(() => unref(store[name]), (newValue, oldValue) => {\n api.notifyComponentUpdate();\n api.sendInspectorState(INSPECTOR_ID);\n if (isTimelineActive) {\n api.addTimelineEvent({\n layerId: MUTATIONS_LAYER_ID,\n event: {\n time: now(),\n title: 'Change',\n subtitle: name,\n data: {\n newValue,\n oldValue,\n },\n groupId: activeAction,\n },\n });\n }\n }, { deep: true });\n });\n store.$subscribe(({ events, type }, state) => {\n api.notifyComponentUpdate();\n api.sendInspectorState(INSPECTOR_ID);\n if (!isTimelineActive)\n return;\n // rootStore.state[store.id] = state\n const eventData = {\n time: now(),\n title: formatMutationType(type),\n data: assign$1({ store: formatDisplay(store.$id) }, formatEventData(events)),\n groupId: activeAction,\n };\n if (type === MutationType.patchFunction) {\n eventData.subtitle = '⤵️';\n }\n else if (type === MutationType.patchObject) {\n eventData.subtitle = '🧩';\n }\n else if (events && !Array.isArray(events)) {\n eventData.subtitle = events.type;\n }\n if (events) {\n eventData.data['rawEvent(s)'] = {\n _custom: {\n display: 'DebuggerEvent',\n type: 'object',\n tooltip: 'raw DebuggerEvent[]',\n value: events,\n },\n };\n }\n api.addTimelineEvent({\n layerId: MUTATIONS_LAYER_ID,\n event: eventData,\n });\n }, { detached: true, flush: 'sync' });\n const hotUpdate = store._hotUpdate;\n store._hotUpdate = markRaw((newStore) => {\n hotUpdate(newStore);\n api.addTimelineEvent({\n layerId: MUTATIONS_LAYER_ID,\n event: {\n time: now(),\n title: '🔥 ' + store.$id,\n subtitle: 'HMR update',\n data: {\n store: formatDisplay(store.$id),\n info: formatDisplay(`HMR update`),\n },\n },\n });\n // update the devtools too\n api.notifyComponentUpdate();\n api.sendInspectorTree(INSPECTOR_ID);\n api.sendInspectorState(INSPECTOR_ID);\n });\n const { $dispose } = store;\n store.$dispose = () => {\n $dispose();\n api.notifyComponentUpdate();\n api.sendInspectorTree(INSPECTOR_ID);\n api.sendInspectorState(INSPECTOR_ID);\n api.getSettings().logStoreChanges &&\n toastMessage(`Disposed \"${store.$id}\" store 🗑`);\n };\n // trigger an update so it can display new registered stores\n api.notifyComponentUpdate();\n api.sendInspectorTree(INSPECTOR_ID);\n api.sendInspectorState(INSPECTOR_ID);\n api.getSettings().logStoreChanges &&\n toastMessage(`\"${store.$id}\" store installed 🆕`);\n });\n}\nlet runningActionId = 0;\nlet activeAction;\n/**\n * Patches a store to enable action grouping in devtools by wrapping the store with a Proxy that is passed as the\n * context of all actions, allowing us to set `runningAction` on each access and effectively associating any state\n * mutation to the action.\n *\n * @param store - store to patch\n * @param actionNames - list of actionst to patch\n */\nfunction patchActionForGrouping(store, actionNames, wrapWithProxy) {\n // original actions of the store as they are given by pinia. We are going to override them\n const actions = actionNames.reduce((storeActions, actionName) => {\n // use toRaw to avoid tracking #541\n storeActions[actionName] = toRaw(store)[actionName];\n return storeActions;\n }, {});\n for (const actionName in actions) {\n store[actionName] = function () {\n // the running action id is incremented in a before action hook\n const _actionId = runningActionId;\n const trackedStore = wrapWithProxy\n ? new Proxy(store, {\n get(...args) {\n activeAction = _actionId;\n return Reflect.get(...args);\n },\n set(...args) {\n activeAction = _actionId;\n return Reflect.set(...args);\n },\n })\n : store;\n // For Setup Stores we need https://github.com/tc39/proposal-async-context\n activeAction = _actionId;\n const retValue = actions[actionName].apply(trackedStore, arguments);\n // this is safer as async actions in Setup Stores would associate mutations done outside of the action\n activeAction = undefined;\n return retValue;\n };\n }\n}\n/**\n * pinia.use(devtoolsPlugin)\n */\nfunction devtoolsPlugin({ app, store, options }) {\n // HMR module\n if (store.$id.startsWith('__hot:')) {\n return;\n }\n // detect option api vs setup api\n store._isOptionsAPI = !!options.state;\n // Do not overwrite actions mocked by @pinia/testing (#2298)\n if (!store._p._testing) {\n patchActionForGrouping(store, Object.keys(options.actions), store._isOptionsAPI);\n // Upgrade the HMR to also update the new actions\n const originalHotUpdate = store._hotUpdate;\n toRaw(store)._hotUpdate = function (newStore) {\n originalHotUpdate.apply(this, arguments);\n patchActionForGrouping(store, Object.keys(newStore._hmrPayload.actions), !!store._isOptionsAPI);\n };\n }\n addStoreToDevtools(app, \n // FIXME: is there a way to allow the assignment from Store<Id, S, G, A> to StoreGeneric?\n store);\n}\n\n/**\n * Creates a Pinia instance to be used by the application\n */\nfunction createPinia() {\n const scope = effectScope(true);\n // NOTE: here we could check the window object for a state and directly set it\n // if there is anything like it with Vue 3 SSR\n const state = scope.run(() => ref({}));\n let _p = [];\n // plugins added before calling app.use(pinia)\n let toBeInstalled = [];\n const pinia = markRaw({\n install(app) {\n // this allows calling useStore() outside of a component setup after\n // installing pinia's plugin\n setActivePinia(pinia);\n pinia._a = app;\n app.provide(piniaSymbol, pinia);\n app.config.globalProperties.$pinia = pinia;\n /* istanbul ignore else */\n if ((((process.env.NODE_ENV !== 'production') || (typeof __VUE_PROD_DEVTOOLS__ !== 'undefined' && __VUE_PROD_DEVTOOLS__)) && !(process.env.NODE_ENV === 'test')) && IS_CLIENT) {\n registerPiniaDevtools(app, pinia);\n }\n toBeInstalled.forEach((plugin) => _p.push(plugin));\n toBeInstalled = [];\n },\n use(plugin) {\n if (!this._a) {\n toBeInstalled.push(plugin);\n }\n else {\n _p.push(plugin);\n }\n return this;\n },\n _p,\n // it's actually undefined here\n // @ts-expect-error\n _a: null,\n _e: scope,\n _s: new Map(),\n state,\n });\n // pinia devtools rely on dev only features so they cannot be forced unless\n // the dev build of Vue is used. Avoid old browsers like IE11.\n if ((((process.env.NODE_ENV !== 'production') || (typeof __VUE_PROD_DEVTOOLS__ !== 'undefined' && __VUE_PROD_DEVTOOLS__)) && !(process.env.NODE_ENV === 'test')) && IS_CLIENT && typeof Proxy !== 'undefined') {\n pinia.use(devtoolsPlugin);\n }\n return pinia;\n}\n/**\n * Dispose a Pinia instance by stopping its effectScope and removing the state, plugins and stores. This is mostly\n * useful in tests, with both a testing pinia or a regular pinia and in applications that use multiple pinia instances.\n * Once disposed, the pinia instance cannot be used anymore.\n *\n * @param pinia - pinia instance\n */\nfunction disposePinia(pinia) {\n pinia._e.stop();\n pinia._s.clear();\n pinia._p.splice(0);\n pinia.state.value = {};\n // @ts-expect-error: non valid\n pinia._a = null;\n}\n\n/**\n * Checks if a function is a `StoreDefinition`.\n *\n * @param fn - object to test\n * @returns true if `fn` is a StoreDefinition\n */\nconst isUseStore = (fn) => {\n return typeof fn === 'function' && typeof fn.$id === 'string';\n};\n/**\n * Mutates in place `newState` with `oldState` to _hot update_ it. It will\n * remove any key not existing in `newState` and recursively merge plain\n * objects.\n *\n * @param newState - new state object to be patched\n * @param oldState - old state that should be used to patch newState\n * @returns - newState\n */\nfunction patchObject(newState, oldState) {\n // no need to go through symbols because they cannot be serialized anyway\n for (const key in oldState) {\n const subPatch = oldState[key];\n // skip the whole sub tree\n if (!(key in newState)) {\n continue;\n }\n const targetValue = newState[key];\n if (isPlainObject(targetValue) &&\n isPlainObject(subPatch) &&\n !isRef(subPatch) &&\n !isReactive(subPatch)) {\n newState[key] = patchObject(targetValue, subPatch);\n }\n else {\n // objects are either a bit more complex (e.g. refs) or primitives, so we\n // just set the whole thing\n newState[key] = subPatch;\n }\n }\n return newState;\n}\n/**\n * Creates an _accept_ function to pass to `import.meta.hot` in Vite applications.\n *\n * @example\n * ```js\n * const useUser = defineStore(...)\n * if (import.meta.hot) {\n * import.meta.hot.accept(acceptHMRUpdate(useUser, import.meta.hot))\n * }\n * ```\n *\n * @param initialUseStore - return of the defineStore to hot update\n * @param hot - `import.meta.hot`\n */\nfunction acceptHMRUpdate(initialUseStore, hot) {\n // strip as much as possible from iife.prod\n if (!(process.env.NODE_ENV !== 'production')) {\n return () => { };\n }\n return (newModule) => {\n const pinia = hot.data.pinia || initialUseStore._pinia;\n if (!pinia) {\n // this store is still not used\n return;\n }\n // preserve the pinia instance across loads\n hot.data.pinia = pinia;\n // console.log('got data', newStore)\n for (const exportName in newModule) {\n const useStore = newModule[exportName];\n // console.log('checking for', exportName)\n if (isUseStore(useStore) && pinia._s.has(useStore.$id)) {\n // console.log('Accepting update for', useStore.$id)\n const id = useStore.$id;\n if (id !== initialUseStore.$id) {\n console.warn(`The id of the store changed from \"${initialUseStore.$id}\" to \"${id}\". Reloading.`);\n // return import.meta.hot.invalidate()\n return hot.invalidate();\n }\n const existingStore = pinia._s.get(id);\n if (!existingStore) {\n console.log(`[Pinia]: skipping hmr because store doesn't exist yet`);\n return;\n }\n useStore(pinia, existingStore);\n }\n }\n };\n}\n\nconst noop = () => { };\nfunction addSubscription(subscriptions, callback, detached, onCleanup = noop) {\n subscriptions.push(callback);\n const removeSubscription = () => {\n const idx = subscriptions.indexOf(callback);\n if (idx > -1) {\n subscriptions.splice(idx, 1);\n onCleanup();\n }\n };\n if (!detached && getCurrentScope()) {\n onScopeDispose(removeSubscription);\n }\n return removeSubscription;\n}\nfunction triggerSubscriptions(subscriptions, ...args) {\n subscriptions.slice().forEach((callback) => {\n callback(...args);\n });\n}\n\nconst fallbackRunWithContext = (fn) => fn();\n/**\n * Marks a function as an action for `$onAction`\n * @internal\n */\nconst ACTION_MARKER = Symbol();\n/**\n * Action name symbol. Allows to add a name to an action after defining it\n * @internal\n */\nconst ACTION_NAME = Symbol();\nfunction mergeReactiveObjects(target, patchToApply) {\n // Handle Map instances\n if (target instanceof Map && patchToApply instanceof Map) {\n patchToApply.forEach((value, key) => target.set(key, value));\n }\n else if (target instanceof Set && patchToApply instanceof Set) {\n // Handle Set instances\n patchToApply.forEach(target.add, target);\n }\n // no need to go through symbols because they cannot be serialized anyway\n for (const key in patchToApply) {\n if (!patchToApply.hasOwnProperty(key))\n continue;\n const subPatch = patchToApply[key];\n const targetValue = target[key];\n if (isPlainObject(targetValue) &&\n isPlainObject(subPatch) &&\n target.hasOwnProperty(key) &&\n !isRef(subPatch) &&\n !isReactive(subPatch)) {\n // NOTE: here I wanted to warn about inconsistent types but it's not possible because in setup stores one might\n // start the value of a property as a certain type e.g. a Map, and then for some reason, during SSR, change that\n // to `undefined`. When trying to hydrate, we want to override the Map with `undefined`.\n target[key] = mergeReactiveObjects(targetValue, subPatch);\n }\n else {\n // @ts-expect-error: subPatch is a valid value\n target[key] = subPatch;\n }\n }\n return target;\n}\nconst skipHydrateSymbol = (process.env.NODE_ENV !== 'production')\n ? Symbol('pinia:skipHydration')\n : /* istanbul ignore next */ Symbol();\n/**\n * Tells Pinia to skip the hydration process of a given object. This is useful in setup stores (only) when you return a\n * stateful object in the store but it isn't really state. e.g. returning a router instance in a setup store.\n *\n * @param obj - target object\n * @returns obj\n */\nfunction skipHydrate(obj) {\n return Object.defineProperty(obj, skipHydrateSymbol, {});\n}\n/**\n * Returns whether a value should be hydrated\n *\n * @param obj - target variable\n * @returns true if `obj` should be hydrated\n */\nfunction shouldHydrate(obj) {\n return (!isPlainObject(obj) ||\n !Object.prototype.hasOwnProperty.call(obj, skipHydrateSymbol));\n}\nconst { assign } = Object;\nfunction isComputed(o) {\n return !!(isRef(o) && o.effect);\n}\nfunction createOptionsStore(id, options, pinia, hot) {\n const { state, actions, getters } = options;\n const initialState = pinia.state.value[id];\n let store;\n function setup() {\n if (!initialState && (!(process.env.NODE_ENV !== 'production') || !hot)) {\n /* istanbul ignore if */\n pinia.state.value[id] = state ? state() : {};\n }\n // avoid creating a state in pinia.state.value\n const localState = (process.env.NODE_ENV !== 'production') && hot\n ? // use ref() to unwrap refs inside state TODO: check if this is still necessary\n toRefs(ref(state ? state() : {}).value)\n : toRefs(pinia.state.value[id]);\n return assign(localState, actions, Object.keys(getters || {}).reduce((computedGetters, name) => {\n if ((process.env.NODE_ENV !== 'production') && name in localState) {\n console.warn(`[🍍]: A getter cannot have the same name as another state property. Rename one of them. Found with \"${name}\" in store \"${id}\".`);\n }\n computedGetters[name] = markRaw(computed(() => {\n setActivePinia(pinia);\n // it was created just before\n const store = pinia._s.get(id);\n // allow cross using stores\n // @ts-expect-error\n // return getters![name].call(context, context)\n // TODO: avoid reading the getter while assigning with a global variable\n return getters[name].call(store, store);\n }));\n return computedGetters;\n }, {}));\n }\n store = createSetupStore(id, setup, options, pinia, hot, true);\n return store;\n}\nfunction createSetupStore($id, setup, options = {}, pinia, hot, isOptionsStore) {\n let scope;\n const optionsForPlugin = assign({ actions: {} }, options);\n /* istanbul ignore if */\n if ((process.env.NODE_ENV !== 'production') && !pinia._e.active) {\n throw new Error('Pinia destroyed');\n }\n // watcher options for $subscribe\n const $subscribeOptions = { deep: true };\n /* istanbul ignore else */\n if ((process.env.NODE_ENV !== 'production')) {\n $subscribeOptions.onTrigger = (event) => {\n /* istanbul ignore else */\n if (isListening) {\n debuggerEvents = event;\n // avoid triggering this while the store is being built and the state is being set in pinia\n }\n else if (isListening == false && !store._hotUpdating) {\n // let patch send all the events together later\n /* istanbul ignore else */\n if (Array.isArray(debuggerEvents)) {\n debuggerEvents.push(event);\n }\n else {\n console.error('🍍 debuggerEvents should be an array. This is most likely an internal Pinia bug.');\n }\n }\n };\n }\n // internal state\n let isListening; // set to true at the end\n let isSyncListening; // set to true at the end\n let subscriptions = [];\n let actionSubscriptions = [];\n let debuggerEvents;\n const initialState = pinia.state.value[$id];\n // avoid setting the state for option stores if it is set\n // by the setup\n if (!isOptionsStore && !initialState && (!(process.env.NODE_ENV !== 'production') || !hot)) {\n /* istanbul ignore if */\n pinia.state.value[$id] = {};\n }\n const hotState = ref({});\n // avoid triggering too many listeners\n // https://github.com/vuejs/pinia/issues/1129\n let activeListener;\n function $patch(partialStateOrMutator) {\n let subscriptionMutation;\n isListening = isSyncListening = false;\n // reset the debugger events since patches are sync\n /* istanbul ignore else */\n if ((process.env.NODE_ENV !== 'production')) {\n debuggerEvents = [];\n }\n if (typeof partialStateOrMutator === 'function') {\n partialStateOrMutator(pinia.state.value[$id]);\n subscriptionMutation = {\n type: MutationType.patchFunction,\n storeId: $id,\n events: debuggerEvents,\n };\n }\n else {\n mergeReactiveObjects(pinia.state.value[$id], partialStateOrMutator);\n subscriptionMutation = {\n type: MutationType.patchObject,\n payload: partialStateOrMutator,\n storeId: $id,\n events: debuggerEvents,\n };\n }\n const myListenerId = (activeListener = Symbol());\n nextTick().then(() => {\n if (activeListener === myListenerId) {\n isListening = true;\n }\n });\n isSyncListening = true;\n // because we paused the watcher, we need to manually call the subscriptions\n triggerSubscriptions(subscriptions, subscriptionMutation, pinia.state.value[$id]);\n }\n const $reset = isOptionsStore\n ? function $reset() {\n const { state } = options;\n const newState = state ? state() : {};\n // we use a patch to group all changes into one single subscription\n this.$patch(($state) => {\n // @ts-expect-error: FIXME: shouldn't error?\n assign($state, newState);\n });\n }\n : /* istanbul ignore next */\n (process.env.NODE_ENV !== 'production')\n ? () => {\n throw new Error(`🍍: Store \"${$id}\" is built using the setup syntax and does not implement $reset().`);\n }\n : noop;\n function $dispose() {\n scope.stop();\n subscriptions = [];\n actionSubscriptions = [];\n pinia._s.delete($id);\n }\n /**\n * Helper that wraps function so it can be tracked with $onAction\n * @param fn - action to wrap\n * @param name - name of the action\n */\n const action = (fn, name = '') => {\n if (ACTION_MARKER in fn) {\n fn[ACTION_NAME] = name;\n return fn;\n }\n const wrappedAction = function () {\n setActivePinia(pinia);\n const args = Array.from(arguments);\n const afterCallbackList = [];\n const onErrorCallbackList = [];\n function after(callback) {\n afterCallbackList.push(callback);\n }\n function onError(callback) {\n onErrorCallbackList.push(callback);\n }\n // @ts-expect-error\n triggerSubscriptions(actionSubscriptions, {\n args,\n name: wrappedAction[ACTION_NAME],\n store,\n after,\n onError,\n });\n let ret;\n try {\n ret = fn.apply(this && this.$id === $id ? this : store, args);\n // handle sync errors\n }\n catch (error) {\n triggerSubscriptions(onErrorCallbackList, error);\n throw error;\n }\n if (ret instanceof Promise) {\n return ret\n .then((value) => {\n triggerSubscriptions(afterCallbackList, value);\n return value;\n })\n .catch((error) => {\n triggerSubscriptions(onErrorCallbackList, error);\n return Promise.reject(error);\n });\n }\n // trigger after callbacks\n triggerSubscriptions(afterCallbackList, ret);\n return ret;\n };\n wrappedAction[ACTION_MARKER] = true;\n wrappedAction[ACTION_NAME] = name; // will be set later\n // @ts-expect-error: we are intentionally limiting the returned type to just Fn\n // because all the added properties are internals that are exposed through `$onAction()` only\n return wrappedAction;\n };\n const _hmrPayload = /*#__PURE__*/ markRaw({\n actions: {},\n getters: {},\n state: [],\n hotState,\n });\n const partialStore = {\n _p: pinia,\n // _s: scope,\n $id,\n $onAction: addSubscription.bind(null, actionSubscriptions),\n $patch,\n $reset,\n $subscribe(callback, options = {}) {\n const removeSubscription = addSubscription(subscriptions, callback, options.detached, () => stopWatcher());\n const stopWatcher = scope.run(() => watch(() => pinia.state.value[$id], (state) => {\n if (options.flush === 'sync' ? isSyncListening : isListening) {\n callback({\n storeId: $id,\n type: MutationType.direct,\n events: debuggerEvents,\n }, state);\n }\n }, assign({}, $subscribeOptions, options)));\n return removeSubscription;\n },\n $dispose,\n };\n const store = reactive((process.env.NODE_ENV !== 'production') || ((((process.env.NODE_ENV !== 'production') || (typeof __VUE_PROD_DEVTOOLS__ !== 'undefined' && __VUE_PROD_DEVTOOLS__)) && !(process.env.NODE_ENV === 'test')) && IS_CLIENT)\n ? assign({\n _hmrPayload,\n _customProperties: markRaw(new Set()), // devtools custom properties\n }, partialStore\n // must be added later\n // setupStore\n )\n : partialStore);\n // store the partial store now so the setup of stores can instantiate each other before they are finished without\n // creating infinite loops.\n pinia._s.set($id, store);\n const runWithContext = (pinia._a && pinia._a.runWithContext) || fallbackRunWithContext;\n // TODO: idea create skipSerialize that marks properties as non serializable and they are skipped\n const setupStore = runWithContext(() => pinia._e.run(() => (scope = effectScope()).run(() => setup({ action }))));\n // overwrite existing actions to support $onAction\n for (const key in setupStore) {\n const prop = setupStore[key];\n if ((isRef(prop) && !isComputed(prop)) || isReactive(prop)) {\n // mark it as a piece of state to be serialized\n if ((process.env.NODE_ENV !== 'production') && hot) {\n hotState.value[key] = toRef(setupStore, key);\n // createOptionStore directly sets the state in pinia.state.value so we\n // can just skip that\n }\n else if (!isOptionsStore) {\n // in setup stores we must hydrate the state and sync pinia state tree with the refs the user just created\n if (initialState && shouldHydrate(prop)) {\n if (isRef(prop)) {\n prop.value = initialState[key];\n }\n else {\n // probably a reactive object, lets recursively assign\n // @ts-expect-error: prop is unknown\n mergeReactiveObjects(prop, initialState[key]);\n }\n }\n // transfer the ref to the pinia state to keep everything in sync\n pinia.state.value[$id][key] = prop;\n }\n /* istanbul ignore else */\n if ((process.env.NODE_ENV !== 'production')) {\n _hmrPayload.state.push(key);\n }\n // action\n }\n else if (typeof prop === 'function') {\n const actionValue = (process.env.NODE_ENV !== 'production') && hot ? prop : action(prop, key);\n // this a hot module replacement store because the hotUpdate method needs\n // to do it with the right context\n // @ts-expect-error\n setupStore[key] = actionValue;\n /* istanbul ignore else */\n if ((process.env.NODE_ENV !== 'production')) {\n _hmrPayload.actions[key] = prop;\n }\n // list actions so they can be used in plugins\n // @ts-expect-error\n optionsForPlugin.actions[key] = prop;\n }\n else if ((process.env.NODE_ENV !== 'production')) {\n // add getters for devtools\n if (isComputed(prop)) {\n _hmrPayload.getters[key] = isOptionsStore\n ? // @ts-expect-error\n options.getters[key]\n : prop;\n if (IS_CLIENT) {\n const getters = setupStore._getters ||\n // @ts-expect-error: same\n (setupStore._getters = markRaw([]));\n getters.push(key);\n }\n }\n }\n }\n // add the state, getters, and action properties\n /* istanbul ignore if */\n assign(store, setupStore);\n // allows retrieving reactive objects with `storeToRefs()`. Must be called after assigning to the reactive object.\n // Make `storeToRefs()` work with `reactive()` #799\n assign(toRaw(store), setupStore);\n // use this instead of a computed with setter to be able to create it anywhere\n // without linking the computed lifespan to wherever the store is first\n // created.\n Object.defineProperty(store, '$state', {\n get: () => ((process.env.NODE_ENV !== 'production') && hot ? hotState.value : pinia.state.value[$id]),\n set: (state) => {\n /* istanbul ignore if */\n if ((process.env.NODE_ENV !== 'production') && hot) {\n throw new Error('cannot set hotState');\n }\n $patch(($state) => {\n // @ts-expect-error: FIXME: shouldn't error?\n assign($state, state);\n });\n },\n });\n // add the hotUpdate before plugins to allow them to override it\n /* istanbul ignore else */\n if ((process.env.NODE_ENV !== 'production')) {\n store._hotUpdate = markRaw((newStore) => {\n store._hotUpdating = true;\n newStore._hmrPayload.state.forEach((stateKey) => {\n if (stateKey in store.$state) {\n const newStateTarget = newStore.$state[stateKey];\n const oldStateSource = store.$state[stateKey];\n if (typeof newStateTarget === 'object' &&\n isPlainObject(newStateTarget) &&\n isPlainObject(oldStateSource)) {\n patchObject(newStateTarget, oldStateSource);\n }\n else {\n // transfer the ref\n newStore.$state[stateKey] = oldStateSource;\n }\n }\n // patch direct access properties to allow store.stateProperty to work as\n // store.$state.stateProperty\n // @ts-expect-error: any type\n store[stateKey] = toRef(newStore.$state, stateKey);\n });\n // remove deleted state properties\n Object.keys(store.$state).forEach((stateKey) => {\n if (!(stateKey in newStore.$state)) {\n // @ts-expect-error: noop if doesn't exist\n delete store[stateKey];\n }\n });\n // avoid devtools logging this as a mutation\n isListening = false;\n isSyncListening = false;\n pinia.state.value[$id] = toRef(newStore._hmrPayload, 'hotState');\n isSyncListening = true;\n nextTick().then(() => {\n isListening = true;\n });\n for (const actionName in newStore._hmrPayload.actions) {\n const actionFn = newStore[actionName];\n // @ts-expect-error: actionName is a string\n store[actionName] =\n //\n action(actionFn, actionName);\n }\n // TODO: does this work in both setup and option store?\n for (const getterName in newStore._hmrPayload.getters) {\n const getter = newStore._hmrPayload.getters[getterName];\n const getterValue = isOptionsStore\n ? // special handling of options api\n computed(() => {\n setActivePinia(pinia);\n return getter.call(store, store);\n })\n : getter;\n // @ts-expect-error: getterName is a string\n store[getterName] =\n //\n getterValue;\n }\n // remove deleted getters\n Object.keys(store._hmrPayload.getters).forEach((key) => {\n if (!(key in newStore._hmrPayload.getters)) {\n // @ts-expect-error: noop if doesn't exist\n delete store[key];\n }\n });\n // remove old actions\n Object.keys(store._hmrPayload.actions).forEach((key) => {\n if (!(key in newStore._hmrPayload.actions)) {\n // @ts-expect-error: noop if doesn't exist\n delete store[key];\n }\n });\n // update the values used in devtools and to allow deleting new properties later on\n store._hmrPayload = newStore._hmrPayload;\n store._getters = newStore._getters;\n store._hotUpdating = false;\n });\n }\n if ((((process.env.NODE_ENV !== 'production') || (typeof __VUE_PROD_DEVTOOLS__ !== 'undefined' && __VUE_PROD_DEVTOOLS__)) && !(process.env.NODE_ENV === 'test')) && IS_CLIENT) {\n const nonEnumerable = {\n writable: true,\n configurable: true,\n // avoid warning on devtools trying to display this property\n enumerable: false,\n };\n ['_p', '_hmrPayload', '_getters', '_customProperties'].forEach((p) => {\n Object.defineProperty(store, p, assign({ value: store[p] }, nonEnumerable));\n });\n }\n // apply all plugins\n pinia._p.forEach((extender) => {\n /* istanbul ignore else */\n if ((((process.env.NODE_ENV !== 'production') || (typeof __VUE_PROD_DEVTOOLS__ !== 'undefined' && __VUE_PROD_DEVTOOLS__)) && !(process.env.NODE_ENV === 'test')) && IS_CLIENT) {\n const extensions = scope.run(() => extender({\n store: store,\n app: pinia._a,\n pinia,\n options: optionsForPlugin,\n }));\n Object.keys(extensions || {}).forEach((key) => store._customProperties.add(key));\n assign(store, extensions);\n }\n else {\n assign(store, scope.run(() => extender({\n store: store,\n app: pinia._a,\n pinia,\n options: optionsForPlugin,\n })));\n }\n });\n if ((process.env.NODE_ENV !== 'production') &&\n store.$state &&\n typeof store.$state === 'object' &&\n typeof store.$state.constructor === 'function' &&\n !store.$state.constructor.toString().includes('[native code]')) {\n console.warn(`[🍍]: The \"state\" must be a plain object. It cannot be\\n` +\n `\\tstate: () => new MyClass()\\n` +\n `Found in store \"${store.$id}\".`);\n }\n // only apply hydrate to option stores with an initial state in pinia\n if (initialState &&\n isOptionsStore &&\n options.hydrate) {\n options.hydrate(store.$state, initialState);\n }\n isListening = true;\n isSyncListening = true;\n return store;\n}\n// allows unused stores to be tree shaken\n/*! #__NO_SIDE_EFFECTS__ */\nfunction defineStore(\n// TODO: add proper types from above\nid, setup, setupOptions) {\n let options;\n const isSetupStore = typeof setup === 'function';\n // the option store setup will contain the actual options in this case\n options = isSetupStore ? setupOptions : setup;\n function useStore(pinia, hot) {\n const hasContext = hasInjectionContext();\n pinia =\n // in test mode, ignore the argument provided as we can always retrieve a\n // pinia instance with getActivePinia()\n ((process.env.NODE_ENV === 'test') && activePinia && activePinia._testing ? null : pinia) ||\n (hasContext ? inject(piniaSymbol, null) : null);\n if (pinia)\n setActivePinia(pinia);\n if ((process.env.NODE_ENV !== 'production') && !activePinia) {\n throw new Error(`[🍍]: \"getActivePinia()\" was called but there was no active Pinia. Are you trying to use a store before calling \"app.use(pinia)\"?\\n` +\n `See https://pinia.vuejs.org/core-concepts/outside-component-usage.html for help.\\n` +\n `This will fail in production.`);\n }\n pinia = activePinia;\n if (!pinia._s.has(id)) {\n // creating the store registers it in `pinia._s`\n if (isSetupStore) {\n createSetupStore(id, setup, options, pinia);\n }\n else {\n createOptionsStore(id, options, pinia);\n }\n /* istanbul ignore else */\n if ((process.env.NODE_ENV !== 'production')) {\n // @ts-expect-error: not the right inferred type\n useStore._pinia = pinia;\n }\n }\n const store = pinia._s.get(id);\n if ((process.env.NODE_ENV !== 'production') && hot) {\n const hotId = '__hot:' + id;\n const newStore = isSetupStore\n ? createSetupStore(hotId, setup, options, pinia, true)\n : createOptionsStore(hotId, assign({}, options), pinia, true);\n hot._hotUpdate(newStore);\n // cleanup the state properties and the store from the cache\n delete pinia.state.value[hotId];\n pinia._s.delete(hotId);\n }\n if ((process.env.NODE_ENV !== 'production') && IS_CLIENT) {\n const currentInstance = getCurrentInstance();\n // save stores in instances to access them devtools\n if (currentInstance &&\n currentInstance.proxy &&\n // avoid adding stores that are just built for hot module replacement\n !hot) {\n const vm = currentInstance.proxy;\n const cache = '_pStores' in vm ? vm._pStores : (vm._pStores = {});\n cache[id] = store;\n }\n }\n // StoreGeneric cannot be casted towards Store\n return store;\n }\n useStore.$id = id;\n return useStore;\n}\n\nlet mapStoreSuffix = 'Store';\n/**\n * Changes the suffix added by `mapStores()`. Can be set to an empty string.\n * Defaults to `\"Store\"`. Make sure to extend the MapStoresCustomization\n * interface if you are using TypeScript.\n *\n * @param suffix - new suffix\n */\nfunction setMapStoreSuffix(suffix // could be 'Store' but that would be annoying for JS\n) {\n mapStoreSuffix = suffix;\n}\n/**\n * Allows using stores without the composition API (`setup()`) by generating an\n * object to be spread in the `computed` field of a component. It accepts a list\n * of store definitions.\n *\n * @example\n * ```js\n * export default {\n * computed: {\n * // other computed properties\n * ...mapStores(useUserStore, useCartStore)\n * },\n *\n * created() {\n * this.userStore // store with id \"user\"\n * this.cartStore // store with id \"cart\"\n * }\n * }\n * ```\n *\n * @param stores - list of stores to map to an object\n */\nfunction mapStores(...stores) {\n if ((process.env.NODE_ENV !== 'production') && Array.isArray(stores[0])) {\n console.warn(`[🍍]: Directly pass all stores to \"mapStores()\" without putting them in an array:\\n` +\n `Replace\\n` +\n `\\tmapStores([useAuthStore, useCartStore])\\n` +\n `with\\n` +\n `\\tmapStores(useAuthStore, useCartStore)\\n` +\n `This will fail in production if not fixed.`);\n stores = stores[0];\n }\n return stores.reduce((reduced, useStore) => {\n // @ts-expect-error: $id is added by defineStore\n reduced[useStore.$id + mapStoreSuffix] = function () {\n return useStore(this.$pinia);\n };\n return reduced;\n }, {});\n}\n/**\n * Allows using state and getters from one store without using the composition\n * API (`setup()`) by generating an object to be spread in the `computed` field\n * of a component.\n *\n * @param useStore - store to map from\n * @param keysOrMapper - array or object\n */\nfunction mapState(useStore, keysOrMapper) {\n return Array.isArray(keysOrMapper)\n ? keysOrMapper.reduce((reduced, key) => {\n reduced[key] = function () {\n // @ts-expect-error: FIXME: should work?\n return useStore(this.$pinia)[key];\n };\n return reduced;\n }, {})\n : Object.keys(keysOrMapper).reduce((reduced, key) => {\n // @ts-expect-error\n reduced[key] = function () {\n const store = useStore(this.$pinia);\n const storeKey = keysOrMapper[key];\n // for some reason TS is unable to infer the type of storeKey to be a\n // function\n return typeof storeKey === 'function'\n ? storeKey.call(this, store)\n : // @ts-expect-error: FIXME: should work?\n store[storeKey];\n };\n return reduced;\n }, {});\n}\n/**\n * Alias for `mapState()`. You should use `mapState()` instead.\n * @deprecated use `mapState()` instead.\n */\nconst mapGetters = mapState;\n/**\n * Allows directly using actions from your store without using the composition\n * API (`setup()`) by generating an object to be spread in the `methods` field\n * of a component.\n *\n * @param useStore - store to map from\n * @param keysOrMapper - array or object\n */\nfunction mapActions(useStore, keysOrMapper) {\n return Array.isArray(keysOrMapper)\n ? keysOrMapper.reduce((reduced, key) => {\n // @ts-expect-error\n reduced[key] = function (...args) {\n // @ts-expect-error: FIXME: should work?\n return useStore(this.$pinia)[key](...args);\n };\n return reduced;\n }, {})\n : Object.keys(keysOrMapper).reduce((reduced, key) => {\n // @ts-expect-error\n reduced[key] = function (...args) {\n // @ts-expect-error: FIXME: should work?\n return useStore(this.$pinia)[keysOrMapper[key]](...args);\n };\n return reduced;\n }, {});\n}\n/**\n * Allows using state and getters from one store without using the composition\n * API (`setup()`) by generating an object to be spread in the `computed` field\n * of a component.\n *\n * @param useStore - store to map from\n * @param keysOrMapper - array or object\n */\nfunction mapWritableState(useStore, keysOrMapper) {\n return Array.isArray(keysOrMapper)\n ? keysOrMapper.reduce((reduced, key) => {\n reduced[key] = {\n get() {\n return useStore(this.$pinia)[key];\n },\n set(value) {\n return (useStore(this.$pinia)[key] = value);\n },\n };\n return reduced;\n }, {})\n : Object.keys(keysOrMapper).reduce((reduced, key) => {\n reduced[key] = {\n get() {\n return useStore(this.$pinia)[keysOrMapper[key]];\n },\n set(value) {\n return (useStore(this.$pinia)[keysOrMapper[key]] = value);\n },\n };\n return reduced;\n }, {});\n}\n\n/**\n * Creates an object of references with all the state, getters, and plugin-added\n * state properties of the store. Similar to `toRefs()` but specifically\n * designed for Pinia stores so methods and non reactive properties are\n * completely ignored.\n *\n * @param store - store to extract the refs from\n */\nfunction storeToRefs(store) {\n const rawStore = toRaw(store);\n const refs = {};\n for (const key in rawStore) {\n const value = rawStore[key];\n // There is no native method to check for a computed\n // https://github.com/vuejs/core/pull/4165\n if (value.effect) {\n // @ts-expect-error: too hard to type correctly\n refs[key] =\n // ...\n computed({\n get: () => store[key],\n set(value) {\n store[key] = value;\n },\n });\n }\n else if (isRef(value) || isReactive(value)) {\n // @ts-expect-error: the key is state or getter\n refs[key] =\n // ---\n toRef(store, key);\n }\n }\n return refs;\n}\n\nexport { MutationType, acceptHMRUpdate, createPinia, defineStore, disposePinia, getActivePinia, mapActions, mapGetters, mapState, mapStores, mapWritableState, setActivePinia, setMapStoreSuffix, shouldHydrate, skipHydrate, storeToRefs };\n","import { onMounted as de, ref as W, watch as j, onBeforeUnmount as Ct, computed as D, shallowRef as V, toValue as T, watchEffect as Et, getCurrentScope as ft, onScopeDispose as vt, unref as $, getCurrentInstance as Ne, nextTick as Ge, isRef as It, toRefs as kt, customRef as mt, toRef as $t, readonly as Rt, defineComponent as ne, useTemplateRef as U, createElementBlock as P, openBlock as M, normalizeClass as q, normalizeStyle as ee, createBlock as ie, resolveDynamicComponent as Ee, mergeProps as Xe, toDisplayString as ce, Fragment as se, createElementVNode as N, createCommentVNode as J, renderSlot as Y, useCssVars as St, onUnmounted as Mt, withModifiers as $e, withDirectives as Re, vShow as gt, renderList as me, createTextVNode as At, mergeModels as tt, useModel as nt, createVNode as ot, withCtx as lt } from \"vue\";\nimport { defineStore as Tt } from \"pinia\";\nimport './assets/index.css';function Ve(e, t) {\n return ft() ? (vt(e, t), !0) : !1;\n}\nconst Dt = typeof window < \"u\" && typeof document < \"u\";\ntypeof WorkerGlobalScope < \"u\" && globalThis instanceof WorkerGlobalScope;\nconst Ot = (e) => e != null, Ht = Object.prototype.toString, Pt = (e) => Ht.call(e) === \"[object Object]\", Lt = () => {\n};\nfunction Ie(e) {\n return Array.isArray(e) ? e : [e];\n}\nfunction Bt(e, t, s) {\n return j(e, t, {\n ...s,\n immediate: !0\n });\n}\nconst fe = Dt ? window : void 0;\nfunction ue(e) {\n var t;\n const s = T(e);\n return (t = s?.$el) !== null && t !== void 0 ? t : s;\n}\nfunction ge(...e) {\n const t = [], s = () => {\n t.forEach((n) => n()), t.length = 0;\n }, c = (n, a, d, v) => (n.addEventListener(a, d, v), () => n.removeEventListener(a, d, v)), u = D(() => {\n const n = Ie(T(e[0])).filter((a) => a != null);\n return n.every((a) => typeof a != \"string\") ? n : void 0;\n }), r = Bt(() => {\n var n, a;\n return [\n (n = (a = u.value) === null || a === void 0 ? void 0 : a.map((d) => ue(d))) !== null && n !== void 0 ? n : [fe].filter((d) => d != null),\n Ie(T(u.value ? e[1] : e[0])),\n Ie($(u.value ? e[2] : e[1])),\n T(u.value ? e[3] : e[2])\n ];\n }, ([n, a, d, v]) => {\n if (s(), !n?.length || !a?.length || !d?.length) return;\n const p = Pt(v) ? { ...v } : v;\n t.push(...n.flatMap((E) => a.flatMap((h) => d.map((b) => c(E, h, b, p)))));\n }, { flush: \"post\" }), l = () => {\n r(), s();\n };\n return Ve(s), l;\n}\n// @__NO_SIDE_EFFECTS__\nfunction zt() {\n const e = V(!1), t = Ne();\n return t && de(() => {\n e.value = !0;\n }, t), e;\n}\n// @__NO_SIDE_EFFECTS__\nfunction Wt(e) {\n const t = /* @__PURE__ */ zt();\n return D(() => (t.value, !!e()));\n}\nfunction Nt(e, t, s = {}) {\n const { window: c = fe, ...u } = s;\n let r;\n const l = /* @__PURE__ */ Wt(() => c && \"MutationObserver\" in c), n = () => {\n r && (r.disconnect(), r = void 0);\n }, a = j(D(() => {\n const p = Ie(T(e)).map(ue).filter(Ot);\n return new Set(p);\n }), (p) => {\n n(), l.value && p.size && (r = new MutationObserver(t), p.forEach((E) => r.observe(E, u)));\n }, {\n immediate: !0,\n flush: \"post\"\n }), d = () => r?.takeRecords(), v = () => {\n a(), n();\n };\n return Ve(v), {\n isSupported: l,\n stop: v,\n takeRecords: d\n };\n}\nfunction Gt(e, t, s = {}) {\n const { window: c = fe, document: u = c?.document, flush: r = \"sync\" } = s;\n if (!c || !u) return Lt;\n let l;\n const n = (v) => {\n l?.(), l = v;\n }, a = Et(() => {\n const v = ue(e);\n if (v) {\n const { stop: p } = Nt(u, (E) => {\n E.map((h) => [...h.removedNodes]).flat().some((h) => h === v || h.contains(v)) && t(E);\n }, {\n window: c,\n childList: !0,\n subtree: !0\n });\n n(p);\n }\n }, { flush: r }), d = () => {\n a(), n();\n };\n return Ve(d), d;\n}\n// @__NO_SIDE_EFFECTS__\nfunction Xt(e = {}) {\n var t;\n const { window: s = fe, deep: c = !0, triggerOnRemoval: u = !1 } = e, r = (t = e.document) !== null && t !== void 0 ? t : s?.document, l = () => {\n let d = r?.activeElement;\n if (c)\n for (var v; d?.shadowRoot; ) d = d == null || (v = d.shadowRoot) === null || v === void 0 ? void 0 : v.activeElement;\n return d;\n }, n = V(), a = () => {\n n.value = l();\n };\n if (s) {\n const d = {\n capture: !0,\n passive: !0\n };\n ge(s, \"blur\", (v) => {\n v.relatedTarget === null && a();\n }, d), ge(s, \"focus\", a, d);\n }\n return u && Gt(n, a, { document: r }), a(), n;\n}\nconst Vt = \"focusin\", Ft = \"focusout\", Yt = \":focus-within\";\nfunction jt(e, t = {}) {\n const { window: s = fe } = t, c = D(() => ue(e)), u = V(!1), r = D(() => u.value);\n if (!s || !(/* @__PURE__ */ Xt(t)).value) return { focused: r };\n const l = { passive: !0 };\n return ge(c, Vt, () => u.value = !0, l), ge(c, Ft, () => {\n var n, a, d;\n return u.value = (n = (a = c.value) === null || a === void 0 || (d = a.matches) === null || d === void 0 ? void 0 : d.call(a, Yt)) !== null && n !== void 0 ? n : !1;\n }, l), { focused: r };\n}\nfunction Ut(e, { window: t = fe, scrollTarget: s } = {}) {\n const c = W(!1), u = () => {\n if (!t) return;\n const r = t.document, l = ue(e);\n if (!l)\n c.value = !1;\n else {\n const n = l.getBoundingClientRect();\n c.value = n.top <= (t.innerHeight || r.documentElement.clientHeight) && n.left <= (t.innerWidth || r.documentElement.clientWidth) && n.bottom >= 0 && n.right >= 0;\n }\n };\n return j(\n () => ue(e),\n () => u(),\n { immediate: !0, flush: \"post\" }\n ), t && ge(s || t, \"scroll\", u, {\n capture: !1,\n passive: !0\n }), c;\n}\nconst Q = (e) => {\n let t = Ut(e).value;\n return t = t && e.offsetHeight > 0, t;\n}, K = (e) => e.tabIndex >= 0, at = (e) => {\n const t = e.target;\n return Fe(t);\n}, Fe = (e) => {\n let t;\n if (e instanceof HTMLTableCellElement) {\n const s = e.parentElement?.previousElementSibling;\n if (s) {\n const c = Array.from(s.children)[e.cellIndex];\n c && (t = c);\n }\n } else if (e instanceof HTMLTableRowElement) {\n const s = e.previousElementSibling;\n s && (t = s);\n }\n return t && (!K(t) || !Q(t)) ? Fe(t) : t;\n}, qt = (e) => {\n const t = e.target;\n let s;\n if (t instanceof HTMLTableCellElement) {\n const c = t.parentElement?.parentElement;\n if (c) {\n const u = c.firstElementChild?.children[t.cellIndex];\n u && (s = u);\n }\n } else if (t instanceof HTMLTableRowElement) {\n const c = t.parentElement;\n if (c) {\n const u = c.firstElementChild;\n u && (s = u);\n }\n }\n return s && (!K(s) || !Q(s)) ? Ye(s) : s;\n}, st = (e) => {\n const t = e.target;\n return Ye(t);\n}, Ye = (e) => {\n let t;\n if (e instanceof HTMLTableCellElement) {\n const s = e.parentElement?.nextElementSibling;\n if (s) {\n const c = Array.from(s.children)[e.cellIndex];\n c && (t = c);\n }\n } else if (e instanceof HTMLTableRowElement) {\n const s = e.nextElementSibling;\n s && (t = s);\n }\n return t && (!K(t) || !Q(t)) ? Ye(t) : t;\n}, Jt = (e) => {\n const t = e.target;\n let s;\n if (t instanceof HTMLTableCellElement) {\n const c = t.parentElement?.parentElement;\n if (c) {\n const u = c.lastElementChild?.children[t.cellIndex];\n u && (s = u);\n }\n } else if (t instanceof HTMLTableRowElement) {\n const c = t.parentElement;\n if (c) {\n const u = c.lastElementChild;\n u && (s = u);\n }\n }\n return s && (!K(s) || !Q(s)) ? Fe(s) : s;\n}, rt = (e) => {\n const t = e.target;\n return je(t);\n}, je = (e) => {\n let t;\n return e.previousElementSibling ? t = e.previousElementSibling : t = e.parentElement?.previousElementSibling?.lastElementChild, t && (!K(t) || !Q(t)) ? je(t) : t;\n}, it = (e) => {\n const t = e.target;\n return Ue(t);\n}, Ue = (e) => {\n let t;\n return e.nextElementSibling ? t = e.nextElementSibling : t = e.parentElement?.nextElementSibling?.firstElementChild, t && (!K(t) || !Q(t)) ? Ue(t) : t;\n}, ct = (e) => {\n const t = e.target.parentElement?.firstElementChild;\n return t && (!K(t) || !Q(t)) ? Ue(t) : t;\n}, ut = (e) => {\n const t = e.target.parentElement?.lastElementChild;\n return t && (!K(t) || !Q(t)) ? je(t) : t;\n}, be = [\"alt\", \"control\", \"shift\", \"meta\"], Zt = {\n ArrowUp: \"up\",\n ArrowDown: \"down\",\n ArrowLeft: \"left\",\n ArrowRight: \"right\"\n}, Se = {\n \"keydown.up\": (e) => {\n const t = at(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.down\": (e) => {\n const t = st(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.left\": (e) => {\n const t = rt(e);\n e.preventDefault(), e.stopPropagation(), t && t.focus();\n },\n \"keydown.right\": (e) => {\n const t = it(e);\n e.preventDefault(), e.stopPropagation(), t && t.focus();\n },\n \"keydown.control.up\": (e) => {\n const t = qt(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.control.down\": (e) => {\n const t = Jt(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.control.left\": (e) => {\n const t = ct(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.control.right\": (e) => {\n const t = ut(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.end\": (e) => {\n const t = ut(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.enter\": (e) => {\n if (e.target instanceof HTMLTableCellElement) {\n e.preventDefault(), e.stopPropagation();\n const t = st(e);\n t && t.focus();\n }\n },\n \"keydown.shift.enter\": (e) => {\n if (e.target instanceof HTMLTableCellElement) {\n e.preventDefault(), e.stopPropagation();\n const t = at(e);\n t && t.focus();\n }\n },\n \"keydown.home\": (e) => {\n const t = ct(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.tab\": (e) => {\n const t = it(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.shift.tab\": (e) => {\n const t = rt(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n }\n};\nfunction qe(e) {\n const t = (l) => {\n let n = null;\n return l.parent && (typeof l.parent == \"string\" ? n = document.querySelector(l.parent) : l.parent instanceof HTMLElement ? n = l.parent : n = l.parent.value), n;\n }, s = (l) => {\n const n = t(l);\n let a = [];\n if (typeof l.selectors == \"string\")\n a = n ? Array.from(n.querySelectorAll(l.selectors)) : Array.from(document.querySelectorAll(l.selectors));\n else if (Array.isArray(l.selectors))\n for (const d of l.selectors)\n d instanceof HTMLElement ? a.push(d) : a.push(d.$el);\n else if (l.selectors instanceof HTMLElement)\n a.push(l.selectors);\n else if (l.selectors?.value)\n if (Array.isArray(l.selectors.value))\n for (const d of l.selectors.value)\n d instanceof HTMLElement ? a.push(d) : a.push(d.$el);\n else\n a.push(l.selectors.value);\n return a;\n }, c = (l) => {\n const n = t(l);\n let a = [];\n return l.selectors ? a = s(l) : n && (a = Array.from(n.children).filter((d) => K(d) && Q(d))), a;\n }, u = (l) => (n) => {\n const a = Zt[n.key] || n.key.toLowerCase();\n if (be.includes(a)) return;\n const d = l.handlers || Se;\n for (const v of Object.keys(d)) {\n const [p, ...E] = v.split(\".\");\n if (p === \"keydown\" && E.includes(a)) {\n const h = d[v], b = E.filter((f) => be.includes(f)), w = be.some((f) => {\n const m = f.charAt(0).toUpperCase() + f.slice(1);\n return n.getModifierState(m);\n });\n if (b.length > 0) {\n if (w) {\n for (const f of be)\n if (E.includes(f)) {\n const m = f.charAt(0).toUpperCase() + f.slice(1);\n n.getModifierState(m) && h(n);\n }\n }\n } else\n w || h(n);\n }\n }\n }, r = [];\n de(() => {\n for (const l of e) {\n const n = t(l), a = c(l), d = u(l), v = n ? [n] : a;\n for (const p of v) {\n const { focused: E } = jt(W(p)), h = j(E, (b) => {\n b ? p.addEventListener(\"keydown\", d) : p.removeEventListener(\"keydown\", d);\n });\n r.push(h);\n }\n }\n }), Ct(() => {\n for (const l of r)\n l();\n });\n}\nfunction Me(e, t) {\n return ft() ? (vt(e, t), !0) : !1;\n}\nconst ht = typeof window < \"u\" && typeof document < \"u\";\ntypeof WorkerGlobalScope < \"u\" && globalThis instanceof WorkerGlobalScope;\nconst Qt = (e) => e != null, Kt = Object.prototype.toString, _t = (e) => Kt.call(e) === \"[object Object]\", ae = () => {\n};\nfunction en(...e) {\n if (e.length !== 1) return $t(...e);\n const t = e[0];\n return typeof t == \"function\" ? Rt(mt(() => ({\n get: t,\n set: ae\n }))) : W(t);\n}\nfunction tn(e, t) {\n function s(...c) {\n return new Promise((u, r) => {\n Promise.resolve(e(() => t.apply(this, c), {\n fn: t,\n thisArg: this,\n args: c\n })).then(u).catch(r);\n });\n }\n return s;\n}\nfunction nn(e, t = {}) {\n let s, c, u = ae;\n const r = (a) => {\n clearTimeout(a), u(), u = ae;\n };\n let l;\n return (a) => {\n const d = T(e), v = T(t.maxWait);\n return s && r(s), d <= 0 || v !== void 0 && v <= 0 ? (c && (r(c), c = void 0), Promise.resolve(a())) : new Promise((p, E) => {\n u = t.rejectOnCancel ? E : p, l = a, v && !c && (c = setTimeout(() => {\n s && r(s), c = void 0, p(l());\n }, v)), s = setTimeout(() => {\n c && r(c), c = void 0, p(a());\n }, d);\n });\n };\n}\nfunction ke(e) {\n return Array.isArray(e) ? e : [e];\n}\nfunction on(e) {\n return Ne();\n}\n// @__NO_SIDE_EFFECTS__\nfunction ln(e, t = 200, s = {}) {\n return tn(nn(t, s), e);\n}\nfunction an(e, t = {}) {\n if (!It(e)) return kt(e);\n const s = Array.isArray(e.value) ? Array.from({ length: e.value.length }) : {};\n for (const c in e.value) s[c] = mt(() => ({\n get() {\n return e.value[c];\n },\n set(u) {\n var r;\n if (!((r = T(t.replaceRef)) !== null && r !== void 0) || r) if (Array.isArray(e.value)) {\n const l = [...e.value];\n l[c] = u, e.value = l;\n } else {\n const l = {\n ...e.value,\n [c]: u\n };\n Object.setPrototypeOf(l, Object.getPrototypeOf(e.value)), e.value = l;\n }\n else e.value[c] = u;\n }\n }));\n return s;\n}\nfunction sn(e, t = !0, s) {\n on() ? de(e, s) : t ? e() : Ge(e);\n}\nfunction rn(e, t, s) {\n return j(e, t, {\n ...s,\n immediate: !0\n });\n}\nconst he = ht ? window : void 0;\nfunction Z(e) {\n var t;\n const s = T(e);\n return (t = s?.$el) !== null && t !== void 0 ? t : s;\n}\nfunction te(...e) {\n const t = [], s = () => {\n t.forEach((n) => n()), t.length = 0;\n }, c = (n, a, d, v) => (n.addEventListener(a, d, v), () => n.removeEventListener(a, d, v)), u = D(() => {\n const n = ke(T(e[0])).filter((a) => a != null);\n return n.every((a) => typeof a != \"string\") ? n : void 0;\n }), r = rn(() => {\n var n, a;\n return [\n (n = (a = u.value) === null || a === void 0 ? void 0 : a.map((d) => Z(d))) !== null && n !== void 0 ? n : [he].filter((d) => d != null),\n ke(T(u.value ? e[1] : e[0])),\n ke($(u.value ? e[2] : e[1])),\n T(u.value ? e[3] : e[2])\n ];\n }, ([n, a, d, v]) => {\n if (s(), !n?.length || !a?.length || !d?.length) return;\n const p = _t(v) ? { ...v } : v;\n t.push(...n.flatMap((E) => a.flatMap((h) => d.map((b) => c(E, h, b, p)))));\n }, { flush: \"post\" }), l = () => {\n r(), s();\n };\n return Me(s), l;\n}\nfunction dt(e, t, s = {}) {\n const { window: c = he, ignore: u = [], capture: r = !0, detectIframe: l = !1, controls: n = !1 } = s;\n if (!c) return n ? {\n stop: ae,\n cancel: ae,\n trigger: ae\n } : ae;\n let a = !0;\n const d = (f) => T(u).some((m) => {\n if (typeof m == \"string\") return Array.from(c.document.querySelectorAll(m)).some((y) => y === f.target || f.composedPath().includes(y));\n {\n const y = Z(m);\n return y && (f.target === y || f.composedPath().includes(y));\n }\n });\n function v(f) {\n const m = T(f);\n return m && m.$.subTree.shapeFlag === 16;\n }\n function p(f, m) {\n const y = T(f), L = y.$.subTree && y.$.subTree.children;\n return L == null || !Array.isArray(L) ? !1 : L.some((B) => B.el === m.target || m.composedPath().includes(B.el));\n }\n const E = (f) => {\n const m = Z(e);\n if (f.target != null && !(!(m instanceof Element) && v(e) && p(e, f)) && !(!m || m === f.target || f.composedPath().includes(m))) {\n if (\"detail\" in f && f.detail === 0 && (a = !d(f)), !a) {\n a = !0;\n return;\n }\n t(f);\n }\n };\n let h = !1;\n const b = [\n te(c, \"click\", (f) => {\n h || (h = !0, setTimeout(() => {\n h = !1;\n }, 0), E(f));\n }, {\n passive: !0,\n capture: r\n }),\n te(c, \"pointerdown\", (f) => {\n const m = Z(e);\n a = !d(f) && !!(m && !f.composedPath().includes(m));\n }, { passive: !0 }),\n l && te(c, \"blur\", (f) => {\n setTimeout(() => {\n var m;\n const y = Z(e);\n ((m = c.document.activeElement) === null || m === void 0 ? void 0 : m.tagName) === \"IFRAME\" && !y?.contains(c.document.activeElement) && t(f);\n }, 0);\n }, { passive: !0 })\n ].filter(Boolean), w = () => b.forEach((f) => f());\n return n ? {\n stop: w,\n cancel: () => {\n a = !1;\n },\n trigger: (f) => {\n a = !0, E(f), a = !1;\n }\n } : w;\n}\n// @__NO_SIDE_EFFECTS__\nfunction cn() {\n const e = V(!1), t = Ne();\n return t && de(() => {\n e.value = !0;\n }, t), e;\n}\n// @__NO_SIDE_EFFECTS__\nfunction wt(e) {\n const t = /* @__PURE__ */ cn();\n return D(() => (t.value, !!e()));\n}\nfunction xt(e, t, s = {}) {\n const { window: c = he, ...u } = s;\n let r;\n const l = /* @__PURE__ */ wt(() => c && \"MutationObserver\" in c), n = () => {\n r && (r.disconnect(), r = void 0);\n }, a = j(D(() => {\n const p = ke(T(e)).map(Z).filter(Qt);\n return new Set(p);\n }), (p) => {\n n(), l.value && p.size && (r = new MutationObserver(t), p.forEach((E) => r.observe(E, u)));\n }, {\n immediate: !0,\n flush: \"post\"\n }), d = () => r?.takeRecords(), v = () => {\n a(), n();\n };\n return Me(v), {\n isSupported: l,\n stop: v,\n takeRecords: d\n };\n}\nfunction Pe(e, t = {}) {\n var s;\n const { pointerTypes: c, preventDefault: u, stopPropagation: r, exact: l, onMove: n, onEnd: a, onStart: d, initialValue: v, axis: p = \"both\", draggingElement: E = he, containerElement: h, handle: b = e, buttons: w = [0] } = t, f = W((s = T(v)) !== null && s !== void 0 ? s : {\n x: 0,\n y: 0\n }), m = W(), y = (x) => c ? c.includes(x.pointerType) : !0, L = (x) => {\n T(u) && x.preventDefault(), T(r) && x.stopPropagation();\n }, B = (x) => {\n var R;\n if (!T(w).includes(x.button) || T(t.disabled) || !y(x) || T(l) && x.target !== T(e)) return;\n const G = T(h), z = G == null || (R = G.getBoundingClientRect) === null || R === void 0 ? void 0 : R.call(G), O = T(e).getBoundingClientRect(), F = {\n x: x.clientX - (G ? O.left - z.left + G.scrollLeft : O.left),\n y: x.clientY - (G ? O.top - z.top + G.scrollTop : O.top)\n };\n d?.(F, x) !== !1 && (m.value = F, L(x));\n }, X = (x) => {\n if (T(t.disabled) || !y(x) || !m.value) return;\n const R = T(h), G = T(e).getBoundingClientRect();\n let { x: z, y: O } = f.value;\n (p === \"x\" || p === \"both\") && (z = x.clientX - m.value.x, R && (z = Math.min(Math.max(0, z), R.scrollWidth - G.width))), (p === \"y\" || p === \"both\") && (O = x.clientY - m.value.y, R && (O = Math.min(Math.max(0, O), R.scrollHeight - G.height))), f.value = {\n x: z,\n y: O\n }, n?.(f.value, x), L(x);\n }, A = (x) => {\n T(t.disabled) || !y(x) || m.value && (m.value = void 0, a?.(f.value, x), L(x));\n };\n if (ht) {\n const x = () => {\n var R;\n return {\n capture: (R = t.capture) !== null && R !== void 0 ? R : !0,\n passive: !T(u)\n };\n };\n te(b, \"pointerdown\", B, x), te(E, \"pointermove\", X, x), te(E, \"pointerup\", A, x);\n }\n return {\n ...an(f),\n position: f,\n isDragging: D(() => !!m.value),\n style: D(() => `left:${f.value.x}px;top:${f.value.y}px;`)\n };\n}\nfunction We(e, t, s = {}) {\n const { window: c = he, ...u } = s;\n let r;\n const l = /* @__PURE__ */ wt(() => c && \"ResizeObserver\" in c), n = () => {\n r && (r.disconnect(), r = void 0);\n }, a = j(D(() => {\n const v = T(e);\n return Array.isArray(v) ? v.map((p) => Z(p)) : [Z(v)];\n }), (v) => {\n if (n(), l.value && c) {\n r = new ResizeObserver(t);\n for (const p of v) p && r.observe(p, u);\n }\n }, {\n immediate: !0,\n flush: \"post\"\n }), d = () => {\n n(), a();\n };\n return Me(d), {\n isSupported: l,\n stop: d\n };\n}\nfunction le(e, t = {}) {\n const { reset: s = !0, windowResize: c = !0, windowScroll: u = !0, immediate: r = !0, updateTiming: l = \"sync\" } = t, n = V(0), a = V(0), d = V(0), v = V(0), p = V(0), E = V(0), h = V(0), b = V(0);\n function w() {\n const m = Z(e);\n if (!m) {\n s && (n.value = 0, a.value = 0, d.value = 0, v.value = 0, p.value = 0, E.value = 0, h.value = 0, b.value = 0);\n return;\n }\n const y = m.getBoundingClientRect();\n n.value = y.height, a.value = y.bottom, d.value = y.left, v.value = y.right, p.value = y.top, E.value = y.width, h.value = y.x, b.value = y.y;\n }\n function f() {\n l === \"sync\" ? w() : l === \"next-frame\" && requestAnimationFrame(() => w());\n }\n return We(e, f), j(() => Z(e), (m) => !m && f()), xt(e, f, { attributeFilter: [\"style\", \"class\"] }), u && te(\"scroll\", f, {\n capture: !0,\n passive: !0\n }), c && te(\"resize\", f, { passive: !0 }), sn(() => {\n r && f();\n }), {\n height: n,\n bottom: a,\n left: d,\n right: v,\n top: p,\n width: E,\n x: h,\n y: b,\n update: f\n };\n}\nfunction Le(e) {\n return typeof Window < \"u\" && e instanceof Window ? e.document.documentElement : typeof Document < \"u\" && e instanceof Document ? e.documentElement : e;\n}\nconst Be = /* @__PURE__ */ new WeakMap();\nfunction un(e, t = !1) {\n const s = V(t);\n let c = \"\";\n j(en(e), (l) => {\n const n = Le(T(l));\n if (n) {\n const a = n;\n if (Be.get(a) || Be.set(a, a.style.overflow), a.style.overflow !== \"hidden\" && (c = a.style.overflow), a.style.overflow === \"hidden\") return s.value = !0;\n if (s.value) return a.style.overflow = \"hidden\";\n }\n }, { immediate: !0 });\n const u = () => {\n const l = Le(T(e));\n !l || s.value || (l.style.overflow = \"hidden\", s.value = !0);\n }, r = () => {\n const l = Le(T(e));\n !l || !s.value || (l.style.overflow = c, Be.delete(l), s.value = !1);\n };\n return Me(r), D({\n get() {\n return s.value;\n },\n set(l) {\n l ? u() : r();\n }\n });\n}\nconst dn = (e) => {\n const t = new DOMParser().parseFromString(e, \"text/html\");\n return Array.from(t.body.childNodes).some((s) => s.nodeType === 1);\n}, fn = (e = 8) => Array.from({ length: e }, () => Math.floor(Math.random() * 16).toString(16)).join(\"\"), vn = [\"data-colindex\", \"data-rowindex\", \"data-editable\", \"contenteditable\", \"tabindex\"], mn = [\"innerHTML\"], gn = { key: 2 }, hn = /* @__PURE__ */ ne({\n __name: \"ACell\",\n props: {\n colIndex: {},\n rowIndex: {},\n store: {},\n addNavigation: { type: [Boolean, Object], default: !0 },\n tabIndex: { default: 0 },\n pinned: { type: Boolean, default: !1 },\n debounce: { default: 300 }\n },\n setup(e, { expose: t }) {\n const s = U(\"cell\"), c = e.store.getCellData(e.colIndex, e.rowIndex), u = W(\"\"), r = W(!1), l = e.store.columns[e.colIndex], n = e.store.rows[e.rowIndex], a = l.align || \"center\", d = l.width || \"40ch\", v = D(() => e.store.getCellDisplayValue(e.colIndex, e.rowIndex)), p = D(() => typeof v.value == \"string\" ? dn(v.value) : !1), E = D(() => ({\n textAlign: a,\n width: d,\n fontWeight: r.value ? \"bold\" : \"inherit\",\n paddingLeft: e.store.getIndent(e.colIndex, e.store.display[e.rowIndex]?.indent)\n })), h = D(() => ({\n \"sticky-column\": e.pinned,\n \"cell-modified\": r.value\n })), b = () => {\n f(), w();\n }, w = () => {\n const { left: A, bottom: x, width: R, height: G } = le(s);\n l.mask, l.modalComponent && e.store.$patch((z) => {\n z.modal.visible = !0, z.modal.colIndex = e.colIndex, z.modal.rowIndex = e.rowIndex, z.modal.left = A, z.modal.bottom = x, z.modal.width = R, z.modal.height = G, z.modal.cell = s.value, typeof l.modalComponent == \"function\" ? z.modal.component = l.modalComponent({ table: z.table, row: n, column: l }) : z.modal.component = l.modalComponent, z.modal.componentProps = l.modalComponentExtraProps;\n });\n };\n if (e.addNavigation) {\n let A = {\n ...Se,\n \"keydown.f2\": w,\n \"keydown.alt.up\": w,\n \"keydown.alt.down\": w,\n \"keydown.alt.left\": w,\n \"keydown.alt.right\": w\n };\n typeof e.addNavigation == \"object\" && (A = {\n ...A,\n ...e.addNavigation\n }), qe([\n {\n selectors: s,\n handlers: A\n }\n ]);\n }\n const f = () => {\n if (s.value && l.edit) {\n const A = window.getSelection();\n if (A)\n try {\n const x = document.createRange();\n x.selectNodeContents && (x.selectNodeContents(s.value), A.removeAllRanges(), A.addRange(x));\n } catch {\n }\n }\n }, m = () => {\n s.value && (u.value = s.value.textContent, f());\n }, y = () => {\n try {\n const A = window.getSelection();\n if (A && A.rangeCount > 0 && s.value) {\n const x = A.getRangeAt(0), R = x.cloneRange();\n if (R.selectNodeContents && R.setEnd)\n return R.selectNodeContents(s.value), R.setEnd(x.endContainer, x.endOffset), R.toString().length;\n }\n } catch {\n }\n return 0;\n }, L = (A) => {\n if (s.value)\n try {\n const x = window.getSelection();\n if (!x) return;\n let R = 0;\n const G = document.createTreeWalker ? document.createTreeWalker(s.value, NodeFilter.SHOW_TEXT, null) : null;\n if (!G) return;\n let z, O = null;\n for (; z = G.nextNode(); ) {\n const F = z, _ = R + F.textContent.length;\n if (A <= _ && (O = document.createRange(), O.setStart && O.setEnd)) {\n O.setStart(F, A - R), O.setEnd(F, A - R);\n break;\n }\n R = _;\n }\n O && x.removeAllRanges && x.addRange && (x.removeAllRanges(), x.addRange(O));\n } catch {\n }\n }, B = (A) => {\n if (!l.edit) return;\n const x = A.target;\n if (x.textContent === u.value)\n return;\n const R = y();\n u.value = x.textContent, l.format ? (r.value = x.textContent !== e.store.getFormattedValue(e.colIndex, e.rowIndex, c), e.store.setCellText(e.colIndex, e.rowIndex, x.textContent)) : (r.value = x.textContent !== c, e.store.setCellData(e.colIndex, e.rowIndex, x.textContent)), Ge().then(() => {\n L(R);\n });\n }, X = /* @__PURE__ */ ln(B, e.debounce);\n return t({\n currentData: u\n }), (A, x) => (M(), P(\"td\", {\n ref: \"cell\",\n \"data-colindex\": e.colIndex,\n \"data-rowindex\": e.rowIndex,\n \"data-editable\": $(l).edit,\n contenteditable: $(l).edit,\n tabindex: e.tabIndex,\n spellcheck: !1,\n style: ee(E.value),\n class: q([\"atable-cell\", h.value]),\n onFocus: m,\n onPaste: B,\n onInput: x[0] || (x[0] = //@ts-ignore\n (...R) => $(X) && $(X)(...R)),\n onClick: b\n }, [\n $(l).cellComponent ? (M(), ie(Ee($(l).cellComponent), Xe({\n key: 0,\n value: v.value\n }, $(l).cellComponentProps), null, 16, [\"value\"])) : p.value ? (M(), P(\"span\", {\n key: 1,\n innerHTML: v.value\n }, null, 8, mn)) : (M(), P(\"span\", gn, ce(v.value), 1))\n ], 46, vn));\n }\n}), wn = [\"tabindex\"], xn = [\"tabindex\"], pn = [\"colspan\"], yn = /* @__PURE__ */ ne({\n __name: \"AExpansionRow\",\n props: {\n rowIndex: {},\n store: {},\n tabIndex: { default: () => -1 },\n addNavigation: { type: [Boolean, Object], default: () => Se }\n },\n setup(e) {\n const t = U(\"rowEl\"), s = D(() => e.store.display[e.rowIndex].expanded ? \"▼\" : \"►\");\n if (e.addNavigation) {\n const c = {\n \"keydown.control.g\": (u) => {\n u.stopPropagation(), u.preventDefault(), e.store.toggleRowExpand(e.rowIndex);\n }\n };\n typeof e.addNavigation == \"object\" && Object.assign(c, e.addNavigation), qe([\n {\n selectors: t,\n handlers: c\n }\n ]);\n }\n return (c, u) => (M(), P(se, null, [\n N(\"tr\", Xe(c.$attrs, {\n ref: \"rowEl\",\n tabindex: e.tabIndex,\n class: \"expandable-row\"\n }), [\n N(\"td\", {\n tabIndex: -1,\n class: \"row-index\",\n onClick: u[0] || (u[0] = (r) => e.store.toggleRowExpand(e.rowIndex))\n }, ce(s.value), 1),\n Y(c.$slots, \"row\", {}, void 0, !0)\n ], 16, wn),\n e.store.display[e.rowIndex].expanded ? (M(), P(\"tr\", {\n key: 0,\n ref: \"rowExpanded\",\n tabindex: e.tabIndex,\n class: \"expanded-row\"\n }, [\n N(\"td\", {\n tabIndex: -1,\n colspan: e.store.columns.length + 1,\n class: \"expanded-row-content\"\n }, [\n Y(c.$slots, \"content\", {}, void 0, !0)\n ], 8, pn)\n ], 8, xn)) : J(\"\", !0)\n ], 64));\n }\n}), re = (e, t) => {\n const s = e.__vccOpts || e;\n for (const [c, u] of t)\n s[c] = u;\n return s;\n}, bn = /* @__PURE__ */ re(yn, [[\"__scopeId\", \"data-v-a42297c7\"]]), Cn = [\"colspan\"], En = {\n ref: \"container\",\n class: \"gantt-container\"\n}, In = [\"data-rowindex\", \"data-colindex\"], kn = {\n key: 2,\n class: \"gantt-label\"\n}, $n = [\"x1\", \"y1\", \"x2\", \"y2\"], Rn = /* @__PURE__ */ ne({\n __name: \"AGanttCell\",\n props: {\n store: {},\n columnsCount: {},\n rowIndex: {},\n colIndex: {},\n start: { default: 0 },\n end: { default: 0 },\n colspan: { default: 1 },\n label: { default: \"\" },\n color: { default: \"#cccccc\" }\n },\n emits: [\"connection:create\"],\n setup(e, { expose: t, emit: s }) {\n St((I) => ({\n v6d722296: u.value,\n v260b36f8: I.colspan\n }));\n const c = s, u = W(e.color.length >= 6 ? e.color : \"#cccccc\"), r = `gantt-bar-row-${e.rowIndex}-col-${e.colIndex}`, l = U(\"container\"), n = U(\"bar\"), a = U(\"leftResizeHandle\"), d = U(\"rightResizeHandle\"), v = U(\"leftConnectionHandle\"), p = U(\"rightConnectionHandle\"), { width: E } = le(l), { left: h, right: b } = le(n), w = W(e.start), f = W(e.end || w.value + e.colspan), m = W(!1), y = W(!1), L = W(!1), B = W(!1), X = W(!1), A = W({ startX: 0, startY: 0, endX: 0, endY: 0 }), x = D(() => we.value || F.value || _.value), R = D(() => e.colspan > 0 ? E.value / e.colspan : 0), G = D(() => {\n const I = w.value / e.colspan * 100, o = f.value / e.colspan * 100;\n return {\n left: `${I}%`,\n width: `${o - I}%`,\n backgroundColor: u.value\n };\n }), z = D(\n () => ({\n position: \"fixed\",\n top: 0,\n left: 0,\n width: \"100vw\",\n height: \"100vh\",\n pointerEvents: \"none\",\n zIndex: 1e3\n })\n ), O = W({ startX: 0, startPos: 0 }), { isDragging: F } = Pe(a, {\n axis: \"x\",\n onStart: () => ve(h.value, w.value),\n onMove: ({ x: I }) => xe(I),\n onEnd: ({ x: I }) => Ae(I)\n }), { isDragging: _ } = Pe(d, {\n axis: \"x\",\n onStart: () => ve(b.value, f.value),\n onMove: ({ x: I }) => pe(I),\n onEnd: ({ x: I }) => Je(I)\n }), { isDragging: we } = Pe(n, {\n exact: !0,\n axis: \"x\",\n onStart: () => ve(h.value, w.value),\n onMove: ({ x: I }) => Ze(I),\n onEnd: ({ x: I }) => Qe(I)\n });\n de(() => {\n Ke();\n }), Mt(() => {\n _e();\n });\n function ve(I, o) {\n n.value && (n.value.style.transition = \"none\"), O.value = { startX: I, startPos: o };\n }\n function xe(I) {\n if (!F.value || !n.value) return;\n const i = (I - O.value.startX) / R.value, g = Math.max(0, Math.min(f.value - 1, O.value.startPos + i));\n n.value.style.left = `${g / e.colspan * 100}%`, n.value.style.width = `${(f.value - g) / e.colspan * 100}%`;\n }\n function Ae(I) {\n if (!n.value) return;\n const o = I - O.value.startX, i = Math.round(o / R.value), g = w.value, C = Math.max(0, Math.min(f.value - 1, O.value.startPos + i));\n w.value = C, e.store.updateGanttBar({\n rowIndex: e.rowIndex,\n colIndex: e.colIndex,\n type: \"resize\",\n edge: \"start\",\n oldStart: g,\n newStart: C,\n end: f.value,\n delta: i,\n oldColspan: f.value - g,\n newColspan: f.value - C\n });\n }\n function pe(I) {\n if (!_.value || !n.value) return;\n const i = (I - O.value.startX) / R.value, g = Math.max(w.value + 1, Math.min(e.columnsCount, O.value.startPos + i));\n n.value.style.width = `${(g - w.value) / e.colspan * 100}%`;\n }\n function Je(I) {\n if (!n.value) return;\n const o = I - O.value.startX, i = Math.round(o / R.value), g = f.value, C = Math.max(w.value + 1, Math.min(e.columnsCount, O.value.startPos + i));\n f.value = C, e.store.updateGanttBar({\n rowIndex: e.rowIndex,\n colIndex: e.colIndex,\n type: \"resize\",\n edge: \"end\",\n oldEnd: g,\n newEnd: C,\n start: w.value,\n delta: i,\n oldColspan: g - w.value,\n newColspan: C - w.value\n });\n }\n function Ze(I) {\n if (!we.value || !n.value) return;\n const i = (I - O.value.startX) / R.value, g = f.value - w.value, C = Math.max(0, Math.min(O.value.startPos + i, e.columnsCount - g));\n n.value.style.left = `${C / e.colspan * 100}%`;\n }\n function Qe(I) {\n if (!n.value) return;\n const o = I - O.value.startX, i = Math.round(o / R.value), g = f.value - w.value, C = w.value, H = f.value;\n let k = O.value.startPos + i, S = k + g;\n k < 0 ? (k = 0, S = g) : S > e.columnsCount && (S = e.columnsCount, k = S - g), w.value = k, f.value = S, e.store.updateGanttBar({\n rowIndex: e.rowIndex,\n colIndex: e.colIndex,\n type: \"bar\",\n oldStart: C,\n oldEnd: H,\n newStart: k,\n newEnd: S,\n delta: i,\n colspan: S - k\n });\n }\n function Ke() {\n const { x: I, y: o } = le(n), { x: i, y: g } = le(v), { x: C, y: H } = le(p);\n e.store.registerGanttBar({\n id: r,\n rowIndex: e.rowIndex,\n colIndex: e.colIndex,\n startIndex: w,\n endIndex: f,\n color: u,\n label: e.label,\n position: { x: I, y: o }\n }), e.store.isDependencyGraphEnabled && (e.store.registerConnectionHandle({\n id: `${r}-connection-left`,\n rowIndex: e.rowIndex,\n colIndex: e.colIndex,\n side: \"left\",\n position: { x: i, y: g },\n visible: m,\n barId: r\n }), e.store.registerConnectionHandle({\n id: `${r}-connection-right`,\n rowIndex: e.rowIndex,\n colIndex: e.colIndex,\n side: \"right\",\n position: { x: C, y: H },\n visible: y,\n barId: r\n }));\n }\n function _e() {\n e.store.unregisterGanttBar(r), e.store.isDependencyGraphEnabled && (e.store.unregisterConnectionHandle(`${r}-connection-left`), e.store.unregisterConnectionHandle(`${r}-connection-right`));\n }\n function et() {\n e.store.isDependencyGraphEnabled && (m.value = !0, y.value = !0);\n }\n function Te() {\n !L.value && !B.value && (m.value = !1, y.value = !1);\n }\n function De(I, o) {\n o.preventDefault(), o.stopPropagation(), X.value = !0, I === \"left\" ? L.value = !0 : B.value = !0;\n const i = I === \"left\" ? v.value : p.value;\n if (i) {\n const H = i.getBoundingClientRect(), k = H.left + H.width / 2, S = H.top + H.height / 2;\n A.value = { startX: k, startY: S, endX: k, endY: S };\n }\n const g = (H) => {\n A.value.endX = H.clientX, A.value.endY = H.clientY;\n }, C = (H) => {\n Oe(H, I), He(g, C);\n };\n document.addEventListener(\"mousemove\", g), document.addEventListener(\"mouseup\", C);\n }\n function Oe(I, o) {\n const g = document.elementFromPoint(I.clientX, I.clientY)?.closest(\".connection-handle\");\n if (g && g !== (o === \"left\" ? v.value : p.value)) {\n const C = g.closest(\".gantt-bar\");\n if (C) {\n const H = parseInt(C.getAttribute(\"data-rowindex\") || \"0\"), k = parseInt(C.getAttribute(\"data-colindex\") || \"0\"), S = g.classList.contains(\"left-connection-handle\") ? \"left\" : \"right\", oe = `gantt-bar-row-${H}-col-${k}`, ye = e.store.createConnection(\n `${r}-connection-${o}`,\n `${oe}-connection-${S}`\n );\n ye && c(\"connection:create\", ye);\n }\n }\n }\n function He(I, o) {\n X.value = !1, L.value = !1, B.value = !1, document.removeEventListener(\"mousemove\", I), document.removeEventListener(\"mouseup\", o), n.value?.matches(\":hover\") || Te();\n }\n return t({\n barStyle: G,\n cleanupConnectionDrag: He,\n currentEnd: f,\n handleConnectionDrop: Oe,\n isLeftConnectionDragging: L,\n isLeftConnectionVisible: m,\n isRightConnectionDragging: B,\n isRightConnectionVisible: y,\n showDragPreview: X\n }), (I, o) => (M(), P(\"td\", {\n class: \"aganttcell\",\n colspan: e.colspan\n }, [\n N(\"div\", En, [\n N(\"div\", {\n ref: \"bar\",\n \"data-rowindex\": e.rowIndex,\n \"data-colindex\": e.colIndex,\n class: q([\"gantt-bar\", { \"is-dragging\": x.value }]),\n style: ee(G.value),\n onMouseenter: et,\n onMouseleave: Te\n }, [\n e.store.isDependencyGraphEnabled ? (M(), P(\"div\", {\n key: 0,\n ref: \"leftConnectionHandle\",\n class: q([\"connection-handle left-connection-handle\", { visible: m.value, \"is-dragging\": L.value }]),\n onMousedown: o[0] || (o[0] = $e((i) => De(\"left\", i), [\"stop\"]))\n }, [...o[2] || (o[2] = [\n N(\"div\", { class: \"connection-dot\" }, null, -1)\n ])], 34)) : J(\"\", !0),\n e.store.isDependencyGraphEnabled ? (M(), P(\"div\", {\n key: 1,\n ref: \"rightConnectionHandle\",\n class: q([\"connection-handle right-connection-handle\", { visible: y.value, \"is-dragging\": B.value }]),\n onMousedown: o[1] || (o[1] = $e((i) => De(\"right\", i), [\"stop\"]))\n }, [...o[3] || (o[3] = [\n N(\"div\", { class: \"connection-dot\" }, null, -1)\n ])], 34)) : J(\"\", !0),\n N(\"div\", {\n ref: \"leftResizeHandle\",\n class: q([\"resize-handle left-resize-handle\", { \"is-dragging\": $(F) }])\n }, [...o[4] || (o[4] = [\n N(\"div\", { class: \"handle-grip\" }, null, -1),\n N(\"div\", { class: \"vertical-indicator left-indicator\" }, null, -1)\n ])], 2),\n e.label ? (M(), P(\"label\", kn, ce(e.label), 1)) : J(\"\", !0),\n N(\"div\", {\n ref: \"rightResizeHandle\",\n class: q([\"resize-handle right-resize-handle\", { \"is-dragging\": $(_) }])\n }, [...o[5] || (o[5] = [\n N(\"div\", { class: \"handle-grip\" }, null, -1),\n N(\"div\", { class: \"vertical-indicator right-indicator\" }, null, -1)\n ])], 2)\n ], 46, In)\n ], 512),\n e.store.isDependencyGraphEnabled && X.value ? (M(), P(\"svg\", {\n key: 0,\n style: ee(z.value)\n }, [\n N(\"line\", {\n x1: A.value.startX,\n y1: A.value.startY,\n x2: A.value.endX,\n y2: A.value.endY,\n stroke: \"#2196f3\",\n \"stroke-width\": \"2\",\n \"stroke-dasharray\": \"5,5\"\n }, null, 8, $n)\n ], 4)) : J(\"\", !0)\n ], 8, Cn));\n }\n}), Sn = /* @__PURE__ */ re(Rn, [[\"__scopeId\", \"data-v-8917a8a3\"]]), Mn = [\"tabindex\"], An = /* @__PURE__ */ ne({\n __name: \"ARow\",\n props: {\n rowIndex: {},\n store: {},\n tabIndex: { default: () => -1 },\n addNavigation: { type: [Boolean, Object], default: !1 }\n },\n setup(e) {\n const t = U(\"rowEl\"), s = D(() => e.store.isRowVisible(e.rowIndex)), c = D(() => e.store.getRowExpandSymbol(e.rowIndex));\n if (e.addNavigation) {\n let u = Se;\n typeof e.addNavigation == \"object\" && (u = {\n ...u,\n ...e.addNavigation\n }), qe([\n {\n selectors: t,\n handlers: u\n }\n ]);\n }\n return (u, r) => Re((M(), P(\"tr\", {\n ref: \"rowEl\",\n tabindex: e.tabIndex,\n class: \"atable-row\"\n }, [\n e.store.config.view !== \"uncounted\" ? Y(u.$slots, \"index\", { key: 0 }, () => [\n e.store.config.view === \"list\" ? (M(), P(\"td\", {\n key: 0,\n tabIndex: -1,\n class: q([\"list-index\", e.store.hasPinnedColumns ? \"sticky-index\" : \"\"])\n }, ce(e.rowIndex + 1), 3)) : e.store.isTreeView ? (M(), P(\"td\", {\n key: 1,\n tabIndex: -1,\n class: q([\"tree-index\", e.store.hasPinnedColumns ? \"sticky-index\" : \"\"]),\n onClick: r[0] || (r[0] = (l) => e.store.toggleRowExpand(e.rowIndex))\n }, ce(c.value), 3)) : J(\"\", !0)\n ], !0) : J(\"\", !0),\n Y(u.$slots, \"default\", {}, void 0, !0)\n ], 8, Mn)), [\n [gt, s.value]\n ]);\n }\n}), pt = /* @__PURE__ */ re(An, [[\"__scopeId\", \"data-v-0fa91f83\"]]), ze = /* @__PURE__ */ new WeakMap(), Tn = {\n mounted(e, t) {\n const s = !t.modifiers.bubble;\n let c;\n if (typeof t.value == \"function\") c = dt(e, t.value, { capture: s });\n else {\n const [u, r] = t.value;\n c = dt(e, u, Object.assign({ capture: s }, r));\n }\n ze.set(e, c);\n },\n unmounted(e) {\n const t = ze.get(e);\n t && typeof t == \"function\" ? t() : t?.stop(), ze.delete(e);\n }\n}, Dn = { mounted(e, t) {\n typeof t.value == \"function\" ? We(e, t.value) : We(e, ...t.value);\n} };\nfunction On() {\n let e = !1;\n const t = V(!1);\n return (s, c) => {\n if (t.value = c.value, e) return;\n e = !0;\n const u = un(s, c.value);\n j(t, (r) => u.value = r);\n };\n}\nOn();\nconst Hn = { class: \"gantt-connection-overlay\" }, Pn = {\n class: \"connection-svg\",\n style: {\n position: \"absolute\",\n top: 0,\n left: 0,\n width: \"100%\",\n height: \"100%\",\n pointerEvents: \"none\",\n zIndex: 1\n }\n}, Ln = [\"d\", \"stroke-width\", \"onDblclick\"], Bn = [\"id\", \"d\", \"stroke\", \"stroke-width\", \"onDblclick\"], zn = 0.25, Ce = 16, Wn = /* @__PURE__ */ ne({\n __name: \"AGanttConnection\",\n props: {\n store: {}\n },\n emits: [\"connection:delete\"],\n setup(e, { emit: t }) {\n const s = t, c = D(() => e.store.connectionPaths.filter((l) => {\n const n = e.store.ganttBars.find((d) => d.id === l.from.barId), a = e.store.ganttBars.find((d) => d.id === l.to.barId);\n return n && a;\n })), u = (l) => {\n const n = e.store.connectionHandles.find(\n (x) => x.barId === l.from.barId && x.side === l.from.side\n ), a = e.store.connectionHandles.find(\n (x) => x.barId === l.to.barId && x.side === l.to.side\n );\n if (!n || !a) return \"\";\n const d = n.position.x + Ce / 2, v = n.position.y + Ce / 2, p = a.position.x + Ce / 2, E = a.position.y + Ce / 2, h = Math.abs(p - d), b = Math.max(h * zn, 50), w = d + (l.from.side === \"left\" ? -b : b), f = p + (l.to.side === \"left\" ? -b : b), m = { x: 0.5 * d + 0.5 * w, y: 0.5 * v + 0.5 * v }, y = { x: 0.5 * w + 0.5 * f, y: 0.5 * v + 0.5 * E }, L = { x: 0.5 * f + 0.5 * p, y: 0.5 * E + 0.5 * E }, B = { x: 0.5 * m.x + 0.5 * y.x, y: 0.5 * m.y + 0.5 * y.y }, X = { x: 0.5 * y.x + 0.5 * L.x, y: 0.5 * y.y + 0.5 * L.y }, A = { x: 0.5 * B.x + 0.5 * X.x, y: 0.5 * B.y + 0.5 * X.y };\n return `M ${d} ${v} Q ${w} ${v}, ${A.x} ${A.y} Q ${f} ${E}, ${p} ${E}`;\n }, r = (l) => {\n e.store.deleteConnection(l.id) && s(\"connection:delete\", l);\n };\n return (l, n) => (M(), P(\"div\", Hn, [\n (M(), P(\"svg\", Pn, [\n n[0] || (n[0] = N(\"defs\", null, [\n N(\"path\", {\n id: \"arrowhead\",\n d: \"M 0 -7 L 20 0 L 0 7Z\",\n stroke: \"black\",\n \"stroke-width\": \"1\",\n fill: \"currentColor\"\n }),\n N(\"marker\", {\n id: \"arrowhead-marker\",\n markerWidth: \"10\",\n markerHeight: \"7\",\n refX: \"5\",\n refY: \"3.5\",\n orient: \"auto\",\n markerUnits: \"strokeWidth\"\n }, [\n N(\"polygon\", {\n points: \"0 0, 10 3.5, 0 7\",\n fill: \"currentColor\"\n })\n ])\n ], -1)),\n (M(!0), P(se, null, me(c.value, (a) => (M(), P(\"path\", {\n key: `${a.id}-hitbox`,\n d: u(a),\n stroke: \"transparent\",\n \"stroke-width\": (a.style?.width || 2) + 10,\n fill: \"none\",\n class: \"connection-hitbox\",\n onDblclick: (d) => r(a)\n }, null, 40, Ln))), 128)),\n (M(!0), P(se, null, me(c.value, (a) => (M(), P(\"path\", {\n id: a.id,\n key: a.id,\n d: u(a),\n stroke: a.style?.color || \"#666\",\n \"stroke-width\": a.style?.width || 2,\n fill: \"none\",\n \"marker-mid\": \"url(#arrowhead-marker)\",\n class: \"connection-path animated-path\",\n onDblclick: (d) => r(a)\n }, null, 40, Bn))), 128))\n ]))\n ]));\n }\n}), Nn = /* @__PURE__ */ re(Wn, [[\"__scopeId\", \"data-v-71911260\"]]), Gn = { key: 0 }, Xn = {\n class: \"atable-header-row\",\n tabindex: \"-1\"\n}, Vn = [\"data-colindex\"], yt = /* @__PURE__ */ ne({\n __name: \"ATableHeader\",\n props: {\n columns: {},\n store: {}\n },\n setup(e) {\n const t = (s) => {\n for (const c of s) {\n if (c.borderBoxSize.length === 0) continue;\n const r = c.borderBoxSize[0].inlineSize, l = Number(c.target.dataset.colindex), n = e.store.columns[l]?.width;\n typeof n == \"number\" && n !== r && e.store.resizeColumn(l, r);\n }\n };\n return (s, c) => e.columns.length ? (M(), P(\"thead\", Gn, [\n N(\"tr\", Xn, [\n e.store.zeroColumn ? (M(), P(\"th\", {\n key: 0,\n id: \"header-index\",\n class: q([[\n e.store.hasPinnedColumns ? \"sticky-index\" : \"\",\n e.store.isTreeView ? \"tree-index\" : \"\",\n e.store.config.view === \"list-expansion\" ? \"list-expansion-index\" : \"\"\n ], \"list-index\"])\n }, null, 2)) : J(\"\", !0),\n (M(!0), P(se, null, me(e.columns, (u, r) => Re((M(), P(\"th\", {\n key: u.name,\n \"data-colindex\": r,\n tabindex: \"-1\",\n style: ee(e.store.getHeaderCellStyle(u)),\n class: q(u.pinned ? \"sticky-column\" : \"\")\n }, [\n Y(s.$slots, \"default\", {}, () => [\n At(ce(u.label || String.fromCharCode(r + 97).toUpperCase()), 1)\n ])\n ], 14, Vn)), [\n [$(Dn), t]\n ])), 128))\n ])\n ])) : J(\"\", !0);\n }\n}), bt = /* @__PURE__ */ ne({\n __name: \"ATableModal\",\n props: {\n store: {}\n },\n setup(e) {\n const t = U(\"amodal\"), { width: s, height: c } = le(t), u = D(() => {\n if (!(e.store.modal.height && e.store.modal.width && e.store.modal.left && e.store.modal.bottom)) return;\n const r = e.store.modal.cell?.closest(\"table\");\n if (!r) return {};\n const l = r.offsetHeight || 0, n = r.offsetWidth || 0;\n let a = e.store.modal.cell?.offsetTop || 0;\n const d = r.querySelector(\"thead\")?.offsetHeight || 0;\n a += d, a = a + c.value < l ? a : a - (c.value + e.store.modal.height);\n let v = e.store.modal.cell?.offsetLeft || 0;\n return v = v + s.value <= n ? v : v - (s.value - e.store.modal.width), {\n left: `${v}px`,\n top: `${a}px`\n };\n });\n return (r, l) => (M(), P(\"div\", {\n ref: \"amodal\",\n class: \"amodal\",\n tabindex: \"-1\",\n style: ee(u.value),\n onClick: l[0] || (l[0] = $e(() => {\n }, [\"stop\"])),\n onInput: l[1] || (l[1] = $e(() => {\n }, [\"stop\"]))\n }, [\n Y(r.$slots, \"default\")\n ], 36));\n }\n}), Fn = (e) => {\n const t = e.id || fn();\n return Tt(`table-${t}`, () => {\n const c = () => {\n const o = [Object.assign({}, { rowModified: !1 })], i = /* @__PURE__ */ new Set();\n for (let k = 0; k < r.value.length; k++) {\n const S = r.value[k];\n S.parent !== null && S.parent !== void 0 && i.add(S.parent);\n }\n const g = (k) => r.value[k]?.gantt !== void 0, C = (k) => {\n for (let S = 0; S < r.value.length; S++)\n if (r.value[S].parent === k && (g(S) || C(S)))\n return !0;\n return !1;\n }, H = (k) => {\n const S = l.value, oe = S.view === \"tree\" || S.view === \"tree-gantt\" ? S.defaultTreeExpansion : void 0;\n if (!oe) return !0;\n switch (oe) {\n case \"root\":\n return !1;\n // Only root nodes are visible, all children start collapsed\n case \"branch\":\n return C(k);\n case \"leaf\":\n return !0;\n // All nodes should be expanded\n default:\n return !0;\n }\n };\n for (let k = 0; k < r.value.length; k++) {\n const S = r.value[k], oe = S.parent === null || S.parent === void 0, ye = i.has(k);\n o[k] = {\n childrenOpen: H(k),\n expanded: !1,\n indent: S.indent || 0,\n isParent: ye,\n isRoot: oe,\n rowModified: !1,\n open: oe,\n // This will be recalculated later for non-root nodes\n parent: S.parent\n };\n }\n return o;\n }, u = W(e.columns), r = W(e.rows), l = W(e.config || {}), n = W({}), a = W({}), d = D(() => {\n const o = {};\n for (const [i, g] of u.value.entries())\n for (const [C, H] of r.value.entries())\n o[`${i}:${C}`] = H[g.name];\n return o;\n }), v = D({\n get: () => {\n const o = c();\n for (let i = 0; i < o.length; i++)\n n.value[i] && (o[i].rowModified = n.value[i]), a.value[i] && (a.value[i].childrenOpen !== void 0 && (o[i].childrenOpen = a.value[i].childrenOpen), a.value[i].expanded !== void 0 && (o[i].expanded = a.value[i].expanded));\n if (y.value) {\n const i = (g, C) => {\n const H = C[g];\n if (H.isRoot || H.parent === null || H.parent === void 0)\n return !0;\n const k = H.parent;\n return k < 0 || k >= C.length ? !1 : (C[k].childrenOpen || !1) && i(k, C);\n };\n for (let g = 0; g < o.length; g++)\n o[g].isRoot || (o[g].open = i(g, o));\n }\n return o;\n },\n set: (o) => {\n JSON.stringify(o) !== JSON.stringify(v.value) && (v.value = o);\n }\n }), p = W(e.modal || { visible: !1 }), E = W({}), h = W([]), b = W([]), w = W([]), f = D(() => u.value.some((o) => o.pinned)), m = D(() => l.value.view === \"gantt\" || l.value.view === \"tree-gantt\"), y = D(() => l.value.view === \"tree\" || l.value.view === \"tree-gantt\"), L = D(() => {\n const o = l.value;\n return o.view === \"gantt\" || o.view === \"tree-gantt\" ? o.dependencyGraph !== !1 : !0;\n }), B = D(() => `${Math.ceil(r.value.length / 100 + 1)}ch`), X = D(\n () => l.value.view ? [\"list\", \"tree\", \"tree-gantt\", \"list-expansion\"].includes(l.value.view) : !1\n ), A = (o, i) => d.value[`${o}:${i}`], x = (o, i, g) => {\n const C = `${o}:${i}`, H = u.value[o];\n d.value[C] !== g && (n.value[i] = !0), d.value[C] = g, r.value[i] = {\n ...r.value[i],\n [H.name]: g\n };\n }, R = (o) => {\n r.value = o;\n }, G = (o, i, g) => {\n const C = `${o}:${i}`;\n d.value[C] !== g && (n.value[i] = !0, E.value[C] = g);\n }, z = (o) => {\n const i = u.value.indexOf(o) === u.value.length - 1, g = l.value.fullWidth ? o.resizable && !i : o.resizable;\n return {\n width: o.width || \"40ch\",\n textAlign: o.align || \"center\",\n ...g && {\n resize: \"horizontal\",\n overflow: \"hidden\",\n whiteSpace: \"nowrap\"\n }\n };\n }, O = (o, i) => {\n if (o < 0 || o >= u.value.length) return;\n const C = Math.max(i, 40);\n u.value[o] = {\n ...u.value[o],\n width: `${C}px`\n };\n }, F = (o) => {\n const i = r.value[o];\n return m.value && i.gantt !== void 0;\n }, _ = (o) => !y.value || v.value[o].isRoot || v.value[o].open, we = (o) => !y.value && l.value.view !== \"list-expansion\" ? \"\" : y.value && (v.value[o].isRoot || v.value[o].isParent) ? v.value[o].childrenOpen ? \"▼\" : \"►\" : l.value.view === \"list-expansion\" ? v.value[o].expanded ? \"▼\" : \"►\" : \"\", ve = (o) => {\n if (y.value) {\n const i = a.value[o] || {}, C = !(i.childrenOpen ?? v.value[o].childrenOpen);\n a.value[o] = {\n ...i,\n childrenOpen: C\n }, C || xe(o);\n } else if (l.value.view === \"list-expansion\") {\n const i = a.value[o] || {}, g = i.expanded ?? v.value[o].expanded;\n a.value[o] = {\n ...i,\n expanded: !g\n };\n }\n }, xe = (o) => {\n for (let i = 0; i < r.value.length; i++)\n if (v.value[i].parent === o) {\n const g = a.value[i] || {};\n a.value[i] = {\n ...g,\n childrenOpen: !1\n }, xe(i);\n }\n }, Ae = (o, i) => {\n const g = A(o, i);\n return pe(o, i, g);\n }, pe = (o, i, g) => {\n const C = u.value[o], H = r.value[i], k = C.format;\n return k ? typeof k == \"function\" ? k(g, { table: d.value, row: H, column: C }) : typeof k == \"string\" ? Function(`\"use strict\";return (${k})`)()(g, { table: d.value, row: H, column: C }) : g : g;\n };\n return {\n // state\n columns: u,\n config: l,\n connectionHandles: b,\n connectionPaths: w,\n display: v,\n ganttBars: h,\n modal: p,\n rows: r,\n table: d,\n updates: E,\n // getters\n hasPinnedColumns: f,\n isGanttView: m,\n isTreeView: y,\n isDependencyGraphEnabled: L,\n numberedRowWidth: B,\n zeroColumn: X,\n // actions\n closeModal: (o) => {\n o.target instanceof Node && p.value.parent?.contains(o.target) || p.value.visible && (p.value.visible = !1);\n },\n createConnection: (o, i, g) => {\n const C = b.value.find((S) => S.id === o), H = b.value.find((S) => S.id === i);\n if (!C || !H)\n return console.warn(\"Cannot create connection: handle not found\"), null;\n const k = {\n id: `connection-${o}-${i}`,\n from: {\n barId: C.barId,\n side: C.side\n },\n to: {\n barId: H.barId,\n side: H.side\n },\n style: g?.style,\n label: g?.label\n };\n return w.value.push(k), k;\n },\n deleteConnection: (o) => {\n const i = w.value.findIndex((g) => g.id === o);\n return i >= 0 ? (w.value.splice(i, 1), !0) : !1;\n },\n getCellData: A,\n getCellDisplayValue: Ae,\n getConnectionsForBar: (o) => w.value.filter((i) => i.from.barId === o || i.to.barId === o),\n getFormattedValue: pe,\n getHandlesForBar: (o) => b.value.filter((i) => i.barId === o),\n getHeaderCellStyle: z,\n getIndent: (o, i) => i && o === 0 && i > 0 ? `${i}ch` : \"inherit\",\n getRowExpandSymbol: we,\n isRowGantt: F,\n isRowVisible: _,\n registerConnectionHandle: (o) => {\n const i = b.value.findIndex((g) => g.id === o.id);\n i >= 0 ? b.value[i] = o : b.value.push(o);\n },\n registerGanttBar: (o) => {\n const i = h.value.findIndex((g) => g.id === o.id);\n i >= 0 ? h.value[i] = o : h.value.push(o);\n },\n resizeColumn: O,\n setCellData: x,\n setCellText: G,\n toggleRowExpand: ve,\n unregisterConnectionHandle: (o) => {\n const i = b.value.findIndex((g) => g.id === o);\n i >= 0 && b.value.splice(i, 1);\n },\n unregisterGanttBar: (o) => {\n const i = h.value.findIndex((g) => g.id === o);\n i >= 0 && h.value.splice(i, 1);\n },\n updateGanttBar: (o) => {\n const i = r.value[o.rowIndex]?.gantt;\n i && (o.type === \"resize\" ? o.edge === \"start\" ? (i.startIndex = o.newStart, i.endIndex = o.end, i.colspan = i.endIndex - i.startIndex) : o.edge === \"end\" && (i.startIndex = o.start, i.endIndex = o.newEnd, i.colspan = i.endIndex - i.startIndex) : o.type === \"bar\" && (i.startIndex = o.newStart, i.endIndex = o.newEnd, i.colspan = i.endIndex - i.startIndex));\n },\n updateRows: R\n };\n })();\n}, Yn = {\n class: \"atable-container\",\n style: { position: \"relative\" }\n}, jn = /* @__PURE__ */ ne({\n __name: \"ATable\",\n props: /* @__PURE__ */ tt({\n id: { default: \"\" },\n config: { default: () => new Object() }\n }, {\n rows: { required: !0 },\n rowsModifiers: {},\n columns: { required: !0 },\n columnsModifiers: {}\n }),\n emits: /* @__PURE__ */ tt([\"cellUpdate\", \"gantt:drag\", \"connection:event\", \"columns:update\"], [\"update:rows\", \"update:columns\"]),\n setup(e, { expose: t, emit: s }) {\n const c = nt(e, \"rows\"), u = nt(e, \"columns\"), r = s, l = U(\"table\"), n = Fn({ columns: u.value, rows: c.value, id: e.id, config: e.config });\n n.$onAction(({ name: h, store: b, args: w, after: f }) => {\n if (h === \"setCellData\" || h === \"setCellText\") {\n const [m, y, L] = w, B = b.getCellData(m, y);\n f(() => {\n c.value = [...b.rows], r(\"cellUpdate\", { colIndex: m, rowIndex: y, newValue: L, oldValue: B });\n });\n } else if (h === \"updateGanttBar\") {\n const [m] = w;\n let y = !1;\n m.type === \"resize\" ? y = m.oldColspan !== m.newColspan : m.type === \"bar\" && (y = m.oldStart !== m.newStart || m.oldEnd !== m.newEnd), y && f(() => {\n r(\"gantt:drag\", m);\n });\n } else h === \"resizeColumn\" && f(() => {\n u.value = [...b.columns], r(\"columns:update\", [...b.columns]);\n });\n }), j(\n () => c.value,\n (h) => {\n JSON.stringify(h) !== JSON.stringify(n.rows) && (n.rows = [...h]);\n },\n { deep: !0 }\n ), j(\n u,\n (h) => {\n JSON.stringify(h) !== JSON.stringify(n.columns) && (n.columns = [...h], r(\"columns:update\", [...h]));\n },\n { deep: !0 }\n ), de(() => {\n u.value.some((h) => h.pinned) && (d(), n.isTreeView && xt(l, d, { childList: !0, subtree: !0 }));\n });\n const a = D(() => n.columns.filter((h) => h.pinned).length), d = () => {\n const h = l.value, b = h?.rows[0], w = h?.rows[1], f = b ? Array.from(b.cells) : [];\n for (const [m, y] of f.entries()) {\n const L = w?.cells[m];\n L && (y.style.width = `${L.offsetWidth}px`);\n }\n for (const m of h?.rows || []) {\n let y = 0;\n const L = [];\n for (const B of m.cells)\n (B.classList.contains(\"sticky-column\") || B.classList.contains(\"sticky-index\")) && (B.style.left = `${y}px`, y += B.offsetWidth, L.push(B));\n L.length > 0 && L[L.length - 1].classList.add(\"sticky-column-edge\");\n }\n };\n window.addEventListener(\"keydown\", (h) => {\n if (h.key === \"Escape\" && n.modal.visible) {\n n.modal.visible = !1;\n const b = n.modal.parent;\n b && Ge().then(() => {\n b.focus();\n });\n }\n });\n const v = (h) => {\n if (!h.gantt || a.value === 0)\n return n.columns;\n const b = [];\n for (let w = 0; w < a.value; w++) {\n const f = { ...n.columns[w] };\n f.originalIndex = w, b.push(f);\n }\n return b.push({\n ...n.columns[a.value],\n isGantt: !0,\n colspan: h.gantt?.colspan || n.columns.length - a.value,\n originalIndex: a.value,\n width: \"auto\"\n // TODO: refactor to API that can detect when data exists in a cell. Might have be custom and not generalizable\n }), b;\n }, p = (h) => {\n r(\"connection:event\", { type: \"create\", connection: h });\n }, E = (h) => {\n r(\"connection:event\", { type: \"delete\", connection: h });\n };\n return t({\n store: n,\n createConnection: n.createConnection,\n deleteConnection: n.deleteConnection,\n getConnectionsForBar: n.getConnectionsForBar,\n getHandlesForBar: n.getHandlesForBar\n }), (h, b) => (M(), P(\"div\", Yn, [\n Re((M(), P(\"table\", {\n ref: \"table\",\n class: \"atable\",\n style: ee({\n width: $(n).config.fullWidth ? \"100%\" : \"auto\"\n })\n }, [\n Y(h.$slots, \"header\", { data: $(n) }, () => [\n ot(yt, {\n columns: $(n).columns,\n store: $(n)\n }, null, 8, [\"columns\", \"store\"])\n ], !0),\n N(\"tbody\", null, [\n Y(h.$slots, \"body\", { data: $(n) }, () => [\n (M(!0), P(se, null, me($(n).rows, (w, f) => (M(), ie(pt, {\n key: w.id,\n row: w,\n \"row-index\": f,\n store: $(n)\n }, {\n default: lt(() => [\n (M(!0), P(se, null, me(v(w), (m, y) => (M(), P(se, {\n key: m.name\n }, [\n m.isGantt ? (M(), ie(Ee(m.ganttComponent || \"AGanttCell\"), {\n key: 0,\n store: $(n),\n \"columns-count\": $(n).columns.length - a.value,\n color: w.gantt?.color,\n start: w.gantt?.startIndex,\n end: w.gantt?.endIndex,\n colspan: m.colspan,\n pinned: m.pinned,\n \"row-index\": f,\n \"col-index\": m.originalIndex ?? y,\n style: ee({\n textAlign: m?.align || \"center\",\n minWidth: m?.width || \"40ch\",\n width: $(n).config.fullWidth ? \"auto\" : null\n }),\n \"onConnection:create\": p\n }, null, 40, [\"store\", \"columns-count\", \"color\", \"start\", \"end\", \"colspan\", \"pinned\", \"row-index\", \"col-index\", \"style\"])) : (M(), ie(Ee(m.cellComponent || \"ACell\"), {\n key: 1,\n store: $(n),\n pinned: m.pinned,\n \"row-index\": f,\n \"col-index\": y,\n style: ee({\n textAlign: m?.align || \"center\",\n width: $(n).config.fullWidth ? \"auto\" : null\n }),\n spellcheck: \"false\"\n }, null, 8, [\"store\", \"pinned\", \"row-index\", \"col-index\", \"style\"]))\n ], 64))), 128))\n ]),\n _: 2\n }, 1032, [\"row\", \"row-index\", \"store\"]))), 128))\n ], !0)\n ]),\n Y(h.$slots, \"footer\", { data: $(n) }, void 0, !0),\n Y(h.$slots, \"modal\", { data: $(n) }, () => [\n Re(ot(bt, { store: $(n) }, {\n default: lt(() => [\n (M(), ie(Ee($(n).modal.component), Xe({\n key: `${$(n).modal.rowIndex}:${$(n).modal.colIndex}`,\n \"col-index\": $(n).modal.colIndex,\n \"row-index\": $(n).modal.rowIndex,\n store: $(n)\n }, $(n).modal.componentProps), null, 16, [\"col-index\", \"row-index\", \"store\"]))\n ]),\n _: 1\n }, 8, [\"store\"]), [\n [gt, $(n).modal.visible]\n ])\n ], !0)\n ], 4)), [\n [$(Tn), $(n).closeModal]\n ]),\n $(n).isGanttView && $(n).isDependencyGraphEnabled ? (M(), ie(Nn, {\n key: 0,\n store: $(n),\n \"onConnection:delete\": E\n }, null, 8, [\"store\"])) : J(\"\", !0)\n ]));\n }\n}), Un = /* @__PURE__ */ re(jn, [[\"__scopeId\", \"data-v-50e8e2bf\"]]), qn = {}, Jn = { class: \"aloading\" }, Zn = { class: \"aloading-header\" };\nfunction Qn(e, t) {\n return M(), P(\"div\", Jn, [\n N(\"h2\", Zn, [\n Y(e.$slots, \"default\", {}, void 0, !0)\n ]),\n t[0] || (t[0] = N(\"div\", { class: \"aloading-bar\" }, null, -1))\n ]);\n}\nconst Kn = /* @__PURE__ */ re(qn, [[\"render\", Qn], [\"__scopeId\", \"data-v-a930a25b\"]]), _n = {}, eo = { class: \"aloading\" }, to = { class: \"aloading-header\" };\nfunction no(e, t) {\n return M(), P(\"div\", eo, [\n N(\"h2\", to, [\n Y(e.$slots, \"default\", {}, void 0, !0)\n ]),\n t[0] || (t[0] = N(\"div\", { class: \"aloading-bar\" }, null, -1))\n ]);\n}\nconst oo = /* @__PURE__ */ re(_n, [[\"render\", no], [\"__scopeId\", \"data-v-e1165876\"]]);\nfunction so(e) {\n e.component(\"ACell\", hn), e.component(\"AExpansionRow\", bn), e.component(\"AGanttCell\", Sn), e.component(\"ARow\", pt), e.component(\"ATable\", Un), e.component(\"ATableHeader\", yt), e.component(\"ATableLoading\", Kn), e.component(\"ATableLoadingBar\", oo), e.component(\"ATableModal\", bt);\n}\nexport {\n hn as ACell,\n bn as AExpansionRow,\n Sn as AGanttCell,\n pt as ARow,\n Un as ATable,\n yt as ATableHeader,\n Kn as ATableLoading,\n oo as ATableLoadingBar,\n bt as ATableModal,\n Fn as createTableStore,\n so as install\n};\n//# sourceMappingURL=atable.js.map\n","<template>\n\t<ATable v-model:rows=\"rows\" v-model:columns=\"columns\" :config=\"config\" />\n</template>\n\n<script setup lang=\"ts\">\nimport { ATable, TableColumn } from '@stonecrop/atable'\nimport { useStonecrop } from '@stonecrop/stonecrop'\nimport { computed } from 'vue'\n\n// TODO: use component if provided else call to Records Schema endpoint/ table / lookup\n// alteratively: a view: component map, eg records: Records, gantt: GanttView\n// default_view key in schema\n// last_used_view_type in application state\n\nconst { stonecrop } = useStonecrop()\nconst rows = computed(() => stonecrop.value?.store.records)\n// eslint-disable-next-line @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access\nconst columns = computed((): TableColumn[] => stonecrop.value?.schema?.schema?.toArray())\nconst config = { view: 'list' }\n</script>\n","<template>\n\t<footer>\n\t\t<ul class=\"tabs\">\n\t\t\t<li class=\"hidebreadcrumbs\" @click=\"toggleBreadcrumbs\" @keydown.enter=\"toggleBreadcrumbs\">\n\t\t\t\t<a tabindex=\"0\"><div :class=\"rotateHideTabIcon\">×</div></a>\n\t\t\t</li>\n\t\t\t<li\n\t\t\t\tclass=\"hometab\"\n\t\t\t\t:style=\"{ display: breadcrumbsVisibile ? 'block' : 'none' }\"\n\t\t\t\t@click=\"navigateHome\"\n\t\t\t\t@keydown.enter=\"navigateHome\">\n\t\t\t\t<router-link to=\"/home\" tabindex=\"0\">\n\t\t\t\t\t<svg\n\t\t\t\t\t\tid=\"Capa_1\"\n\t\t\t\t\t\tversion=\"1.1\"\n\t\t\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\t\t\txmlns:xlink=\"http://www.w3.org/1999/xlink\"\n\t\t\t\t\t\tx=\"0px\"\n\t\t\t\t\t\ty=\"0px\"\n\t\t\t\t\t\tviewBox=\"0 0 424.098 424.098\"\n\t\t\t\t\t\tstyle=\"enable-background: new 0 0 424.098 424.098\"\n\t\t\t\t\t\txml:space=\"preserve\">\n\t\t\t\t\t\t<g>\n\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\tstyle=\"fill: #010002\"\n\t\t\t\t\t\t\t\td=\"M351.191,401.923H72.901c-4.487,0-8.129-3.633-8.129-8.129V242.262l-56.664-0.114\n\t\t\t\t\t\t\t\tc-3.284-0.008-6.243-1.992-7.495-5.023c-1.252-3.04-0.553-6.527,1.764-8.852L206.104,24.546c1.853-1.845,4.503-2.666,7.047-2.276\n\t\t\t\t\t\t\t\tc2.414,0.39,4.511,1.845,5.731,3.942l47.43,47.43V58.499c0-4.487,3.633-8.129,8.129-8.129h47.755c4.495,0,8.129,3.642,8.129,8.129\n\t\t\t\t\t\t\t\tv79.156l91.39,91.398c2.325,2.325,3.024,5.828,1.764,8.868c-1.26,3.032-4.227,5.007-7.511,5.007c-0.008,0-0.008,0-0.016,0\n\t\t\t\t\t\t\t\tl-56.64-0.114v150.98C359.32,398.29,355.686,401.923,351.191,401.923z M81.03,385.666h262.033V234.67\n\t\t\t\t\t\t\t\tc0-2.162,0.854-4.235,2.39-5.755c1.528-1.52,3.585-2.374,5.739-2.374c0.008,0,0.008,0,0.016,0l45.105,0.089l-79.855-79.863\n\t\t\t\t\t\t\t\tc-1.528-1.528-2.382-3.593-2.382-5.747V66.628h-31.498v26.645c0,3.284-1.975,6.251-5.015,7.511\n\t\t\t\t\t\t\t\tc-3.032,1.268-6.527,0.569-8.86-1.764l-57.038-57.038l-183.95,183.95l45.203,0.089c4.487,0.008,8.112,3.642,8.112,8.129\n\t\t\t\t\t\t\t\tC81.03,234.149,81.03,385.666,81.03,385.666z\" />\n\t\t\t\t\t\t</g>\n\t\t\t\t\t</svg>\n\t\t\t\t</router-link>\n\t\t\t</li>\n\t\t\t<li\n\t\t\t\tclass=\"searchtab\"\n\t\t\t\t:style=\"{ display: breadcrumbsVisibile ? 'block' : 'none' }\"\n\t\t\t\t@click=\"toggleSearch\"\n\t\t\t\t@keydown.enter=\"toggleSearch\">\n\t\t\t\t<a tabindex=\"0\">\n\t\t\t\t\t<span :style=\"{ display: searchVisibile ? 'none' : 'block' }\">\n\t\t\t\t\t\t<svg style=\"width: 11pt\">\n\t\t\t\t\t\t\t<g transform=\"matrix(-0.08088215,0,0,0.08088215,9.8016177,3.1263021e-6)\">\n\t\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\t\tid=\"path2\"\n\t\t\t\t\t\t\t\t\td=\"M 93.148438,80.832031 C 109.5,57.742188 104.03125,25.769531 80.941406,9.421875 57.851562,-6.925781 25.878906,-1.460938 9.53125,21.632812 -6.816406,44.722656 -1.351562,76.691406 21.742188,93.039062 38.222656,104.70703 60.011719,105.60547 77.394531,95.339844 l 37.769529,37.542966 c 4.07813,4.29297 10.86328,4.46485 15.15625,0.38672 4.29297,-4.07422 4.46485,-10.85937 0.39063,-15.15234 -0.12891,-0.13672 -0.25391,-0.26172 -0.39063,-0.39063 z m -41.839844,3.5 C 33.0625,84.335938 18.269531,69.554688 18.257812,51.308594 18.253906,33.0625 33.035156,18.269531 51.285156,18.261719 c 18.222656,-0.0078 33.007813,14.75 33.042969,32.972656 0.03125,18.25 -14.742187,33.066406 -32.996094,33.097656 -0.0078,0 -0.01172,0 -0.02344,0 z m 0,0\"\n\t\t\t\t\t\t\t\t\tstyle=\"fill: #000000; fill-opacity: 1; fill-rule: nonzero; stroke: none\" />\n\t\t\t\t\t\t\t</g>\n\t\t\t\t\t\t</svg>\n\t\t\t\t\t</span>\n\t\t\t\t\t<input\n\t\t\t\t\t\tref=\"searchinput\"\n\t\t\t\t\t\tv-model=\"searchText\"\n\t\t\t\t\t\t:style=\"{ display: searchVisibile ? 'block' : 'none' }\"\n\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t@click=\"handleSearchInput($event)\"\n\t\t\t\t\t\t@input=\"handleSearchInput($event)\"\n\t\t\t\t\t\t@blur=\"handleSearch($event)\"\n\t\t\t\t\t\t@keydown.enter=\"handleSearch($event)\" />\n\t\t\t\t</a>\n\t\t\t</li>\n\t\t\t<li\n\t\t\t\tv-for=\"breadcrumb in breadcrumbs\"\n\t\t\t\t:key=\"breadcrumb.title\"\n\t\t\t\t:style=\"{ display: breadcrumbsVisibile ? 'block' : 'none' }\">\n\t\t\t\t<router-link tabindex=\"0\" :to=\"breadcrumb.to\"> {{ breadcrumb.title }} </router-link>\n\t\t\t</li>\n\t\t</ul>\n\t</footer>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, nextTick, ref, useTemplateRef } from 'vue'\n\nconst { breadcrumbs = [] } = defineProps<{ breadcrumbs?: { title: string; to: string }[] }>()\n\nconst breadcrumbsVisibile = ref(true)\nconst searchVisibile = ref(false)\nconst searchText = ref('')\nconst inputRef = useTemplateRef<HTMLInputElement>('searchinput')\n\nconst rotateHideTabIcon = computed(() => {\n\treturn breadcrumbsVisibile.value ? 'unrotated' : 'rotated'\n})\n\nconst toggleBreadcrumbs = () => {\n\tbreadcrumbsVisibile.value = !breadcrumbsVisibile.value\n}\n\nconst toggleSearch = async () => {\n\tsearchVisibile.value = !searchVisibile.value\n\tawait nextTick(() => {\n\t\tinputRef.value.focus()\n\t})\n}\n\nconst handleSearchInput = (event: Event | MouseEvent) => {\n\tevent.preventDefault()\n\tevent.stopPropagation()\n}\n\nconst handleSearch = async (event: FocusEvent | KeyboardEvent) => {\n\tevent.preventDefault()\n\tevent.stopPropagation()\n\tawait toggleSearch()\n}\n\nconst navigateHome = (/* event: MouseEvent | KeyboardEvent */) => {\n\t// navigate home\n}\n</script>\n\n<style scoped>\nfooter {\n\tposition: fixed;\n\tbottom: 0px;\n\twidth: 100%;\n\tbackground-color: transparent;\n\theight: 2rem;\n\tz-index: 100;\n\ttext-align: left;\n\tfont-size: 100%;\n\tdisplay: flex;\n\tjustify-content: right;\n\tpadding-bottom: 0.2rem;\n}\nul {\n\tdisplay: flex;\n\tflex-direction: row-reverse;\n}\n\n.tabs li {\n\t/* Makes a horizontal row */\n\tfloat: left;\n\tlist-style-type: none;\n\t/* So the psueudo elements can be\n abs. positioned inside */\n\tposition: relative;\n\tmargin-left: -1px;\n}\n.tabs a {\n\tfloat: left;\n\tpadding: 1ch 4ch 4ch 4ch;\n\ttext-decoration: none;\n\tcolor: black;\n\tbackground: #aaa;\n\toutline: 2px solid inherit;\n\toutline-offset: -2px;\n\n\t/* Only round the top corners */\n\t-webkit-border-top-left-radius: 15px;\n\t-webkit-border-top-right-radius: 15px;\n\t-moz-border-radius-topleft: 15px;\n\t-moz-border-radius-topright: 15px;\n\tborder-top-left-radius: 15px;\n\tborder-top-right-radius: 15px;\n\n\tborder: 1px solid #ccc;\n}\n.tabs .router-link-active {\n\t/* Highest, active tab is on top */\n\tz-index: 3;\n}\n.router-link-active {\n\t/* Colors when tab is active */\n\tbackground: #827553;\n\tcolor: black;\n\tbox-shadow: #999;\n}\n.tabs li:before,\n.tabs li:after,\n.tabs li a:before,\n.tabs li a:after {\n\t/* All pseudo elements are\n abs. positioned and on bottom */\n\tposition: absolute;\n\tbottom: 0;\n}\n/* Only the first, last, and active\n tabs need pseudo elements at all */\n.tabs li:last-child:after,\n.tabs li:last-child a:after,\n.tabs li:first-child:before,\n.tabs li:first-child a:before,\n.tabs .router-link-active:after,\n.tabs .router-link-active:before,\n.tabs .router-link-active a:after,\n.tabs .router-link-active a:before {\n\tcontent: '';\n}\n.tabs .router-link-active:before,\n.tabs .router-link-active:after {\n\tbackground: transparent;\n\n\t/* Squares below circles */\n\tz-index: 1;\n}\n/* Squares */\n.tabs li:before,\n.tabs li:after {\n\tbackground: transparent;\n\twidth: 10px;\n\theight: 10px;\n}\n.tabs li:before {\n\tleft: -10px;\n}\n.tabs li:after {\n\tright: -10px;\n}\n/* Circles */\n.tabs li a:after,\n.tabs li a:before {\n\twidth: 20px;\n\theight: 20px;\n\t/* Circles are circular */\n\t-webkit-border-radius: 10px;\n\t-moz-border-radius: 10px;\n\tborder-radius: 10px;\n\tbackground: transparent;\n\n\t/* Circles over squares */\n\tz-index: 2;\n}\n.tabs .router-link-active a:after,\n.tabs .router-link-active a:before {\n\tbackground: transparent;\n}\n/* First and last tabs have different\n outside color needs */\n.tabs li:first-child.router-link-active a:before,\n.tabs li:last-child.router-link-active a:after {\n\tbackground: transparent;\n}\n.tabs li a:before {\n\tleft: -20px;\n}\n.tabs li a:after {\n\tright: -20px;\n}\n.hidebreadcrumbs a {\n\twidth: 1ch;\n\tmin-width: calc(66px - 4ch);\n\tbackground-color: #ffffff;\n\tpadding-left: 2ch;\n\tpadding-right: 2ch;\n\tpadding-top: 3px;\n\tfont-size: 150%;\n\ttext-align: center;\n}\n.rotated {\n\t/* border: 1px solid red; */\n\ttransform: rotate(45deg);\n\t-webkit-transform: rotate(45deg);\n\t-moz-transform: rotate(45deg);\n\t-ms-transform: rotate(45deg);\n\t-o-transform: rotate(45deg);\n\ttransition: transform 250ms;\n}\n.unrotated {\n\t/* border: 1px solid red; */\n\ttransform: rotate(0deg);\n\t-webkit-transform: rotate(0deg);\n\t-moz-transform: rotate(0deg);\n\t-ms-transform: rotate(0deg);\n\t-o-transform: rotate(0deg);\n\ttransition: transform 250ms;\n}\nli:active,\nli:hover,\nli:focus,\nli > a:active,\nli > a:hover,\nli > a:focus {\n\tz-index: 3;\n}\n\na:active,\na:hover,\na:focus {\n\toutline: 2px solid black;\n\tz-index: 3;\n}\n.hometab a {\n\twidth: 1ch;\n\tmin-width: calc(66px - 4ch);\n\tbackground-color: #ffffff;\n\tpadding-left: 2ch;\n\tpadding-right: 2ch;\n\tpadding-top: 6px;\n\ttext-align: center;\n}\n.hometab svg {\n\theight: 14pt;\n\twidth: 14pt;\n}\n.searchtab a {\n\t/* width: 100%; */\n\tmin-width: calc(66px - 4ch);\n\tbackground-color: #ffffff;\n\tpadding-left: 2ch;\n\tpadding-right: 2ch;\n\tpadding-top: 11px;\n\tfont-size: 150%;\n\talign-items: center;\n}\n.searchtab svg {\n\tpadding-left: 0.25ch;\n}\n.searchtab input {\n\tmargin-top: -4px;\n\toutline: none;\n\tborder: none;\n\tborder-bottom: 1.5px solid black;\n\tbackground-color: transparent;\n\ttext-align: right;\n\tfont-size: 11pt;\n}\n</style>\n","import { App, type Plugin } from 'vue'\n\nimport ActionSet from '../components/ActionSet.vue'\nimport CommandPalette from '../components/CommandPalette.vue'\nimport Doctype from '../components/Doctype.vue'\nimport Records from '../components/Records.vue'\nimport SheetNav from '../components/SheetNav.vue'\n\n/**\n * This is the main plugin that will be used to register all the desktop components.\n * @public\n */\nconst plugin: Plugin = {\n\tinstall: (app: App) => {\n\t\tapp.component('ActionSet', ActionSet)\n\t\tapp.component('CommandPalette', CommandPalette)\n\t\tapp.component('Doctype', Doctype)\n\t\tapp.component('Records', Records)\n\t\tapp.component('SheetNav', SheetNav)\n\t},\n}\n\nexport default plugin\n"],"names":["_elements","ref","__props","isOpen","timeoutId","hover","closeClicked","onMounted","closeDropdowns","element","onHover","onHoverLeave","toggleDropdown","index","showDropdown","_createElementBlock","_normalizeClass","_createElementVNode","_hoisted_1","_cache","$event","_openBlock","_Fragment","_renderList","el","_toDisplayString","_hoisted_2","_hoisted_3","_hoisted_4","_withDirectives","_hoisted_5","_hoisted_6","item","_hoisted_7","_hoisted_9","_vShow","emit","__emit","query","selectedIndex","inputRef","useTemplateRef","results","computed","watch","nextTick","closeModal","handleKeydown","e","selectResult","result","_createBlock","_Teleport","_createVNode","_Transition","_renderSlot","_ctx","_","t","r","re","Ee","Me","N","ct","Oe","Ie","He","D","te","ne","ht","G","F","s","l","w","a","u","T","yt","Zt","en","C","i","g","b","j","Y","le","Ne","je","f","Le","ws","Os","Ts","En","Kr","Is","Gr","Cs","ks","Wr","At","Ds","wt","xs","Ps","Yr","W","Rs","qr","vn","o","Ft","Xr","hi","Ns","yn","Jr","Z","Ot","Vs","ge","Zr","Tt","Sn","jt","bn","Ls","Ms","c","d","m","E","O","_t","Ht","L","Bs","$s","$e","Us","Fs","js","Hs","ce","zs","Ks","Gs","Ws","Qr","zt","Kt","Se","Ke","nt","to","An","eo","no","Gt","at","Ys","qs","Ai","oe","Zs","Js","Xs","rt","ro","ie","oo","be","ot","Qs","ei","Wt","ti","ni","ri","so","It","oi","Yt","io","si","Ct","ci","Ae","ui","ii","ai","me","uo","gt","li","ao","mt","wn","On","fi","di","pi","_i","gi","n","mi","Ei","qe","vi","yi","co","Si","bi","wi","Oi","Ti","Tn","pe","Ii","xe","st$1","st","Ci","qt$1","qt","ki","Di","xi","lo","Pi","Jt","Ri","Ni","Vi","Li","Mi","Bi","Ge","$i","fo","v","In","Ui","Fi","ji","Hi","zi","Cn","Ki","we","Gi","kt","Wi","Yi","ho","qi","Ji","Et","Xi","po","Zi","_o","Qi","Xt","eu","tu","nu","go","ru","ou","su","J","B","ke","V","$","de","A","z","he","X","De","_n","iu","uu","au","kn","mo","cu","Dt","lu","Ye","fu","du","hu","Dn","Qt","pu","Eo","vo","yo","So","bo","_u","gu","mu","Eu","vu","tn","nn","yu","Ao","xt","Pt","Su","it","bu","Au","wu","R","xn","Ou","Tu","Iu","Cu","wo","vt","Pe","ku","Du","xu","Pu","Rn","Ru","Nu","k","Vn","rn","Oo","Ce","To","Vu","Je","Lu","Mn","$n","Fn","Hn","Kn","ue","Mu","Wn","Bu","lt","Io","$u","Uu","Fu","qn","on","Rt","sn","ju","Co","Hu","zu","Xn","Zn","M","Ku","ko","Gu","Wu","Yu","qu","Ju","Xu","Zu","Qn","Do","Qu","xo","Ue","tr","rr","ea","un","ta","na","ra","sr","ur","ar","lr","oa","sa","dr","ia","Po","ua","aa","ca","Te","Xe","pr","la","fa","Ro","da","Fe","Nt","ha","pa","_a","ga","No","ma","Ea","_r","va","ya","Sa","ba","Aa","Vo","Ve","K","Lo","ft","Mo","wa","Bo","$o","Uo","Fo","Oa","gr","jo","Ta","Ho","Ia","Vt","p","Lt","Ca","ka","Da","xa","Pa","zo","Ko","mr","Ra","Na","Mt","I","Er","yr","br","wr","Tr","Cr","Re","ze","Go","fe","Q","Dr","Va","an","qo","Wo","Ze","Qe","Yo","La","Ma","Ba","x","cn","Jo","Xo","$a","Ua","Zo","Fa","ja","Ha","H","Qo","et","za","Ka","Ga","Wa","ve","tt","P","Ya","ut","qa","Ja","es","ee","jr","ms","se","xr","Xa","Za","Fr","ye","ts","Be","Ut","ns","Pr","Ss","bs","_e","Qa","Rr","St","Bt","ec","tc","U","Nr","Vr","mn","zr","$t","gn","y","ys","pt","nc","Es","Hr","vs","rc","ul","As","oc","ae","rs","sc","ln","bt","We","ic","uc","ac","cc","lc","fc","dc","hc","pc","os","ss","_c","fn","gc","mc","q","dt","Ec","is","dn","vc","yc","Sc","bc","Ac","wc","Oc","us","as","Tc","Ic","Cc","kc","Dc","xc","Pc","Rc","Nc","Vc","cs","ls","Lc","Mc","Bc","$c","fs","Uc","Fc","jc","Hc","ds","zc","hn","Kc","Gc","hs","Wc","Yc","qc","Jc","Xc","Lr","Zc","ps","Qc","pn","Mr","$r","Br","_s","tl","nl","Ur","rl","ol","h","gs","stonecrop","useStonecrop","schema","newSchema","fieldValue","_unref","AForm","activePinia","setActivePinia","pinia","piniaSymbol","isPlainObject","MutationType","IS_CLIENT","patchObject","newState","oldState","key","subPatch","targetValue","isRef","isReactive","noop","addSubscription","subscriptions","callback","detached","onCleanup","removeSubscription","idx","getCurrentScope","onScopeDispose","triggerSubscriptions","args","fallbackRunWithContext","ACTION_MARKER","ACTION_NAME","mergeReactiveObjects","target","patchToApply","value","skipHydrateSymbol","shouldHydrate","obj","assign","isComputed","createOptionsStore","id","options","hot","state","actions","getters","initialState","store","setup","localState","toRefs","computedGetters","name","markRaw","createSetupStore","$id","isOptionsStore","scope","optionsForPlugin","$subscribeOptions","event","isListening","debuggerEvents","isSyncListening","actionSubscriptions","hotState","activeListener","$patch","partialStateOrMutator","subscriptionMutation","myListenerId","$reset","$state","$dispose","action","wrappedAction","afterCallbackList","onErrorCallbackList","after","onError","ret","error","_hmrPayload","partialStore","stopWatcher","reactive","setupStore","effectScope","prop","toRef","actionValue","toRaw","newStore","stateKey","newStateTarget","oldStateSource","actionName","actionFn","getterName","getter","getterValue","nonEnumerable","extender","extensions","defineStore","setupOptions","isSetupStore","useStore","hasContext","hasInjectionContext","inject","hotId","currentInstance","getCurrentInstance","vm","cache","Pn","Ln","Bn","zn","Nn","Gn","S","Yn","jn","Un","rows","columns","config","ATable","breadcrumbsVisibile","searchVisibile","searchText","rotateHideTabIcon","toggleBreadcrumbs","toggleSearch","handleSearchInput","handleSearch","navigateHome","_component_router_link","_withKeys","breadcrumb","_createTextVNode","plugin","app","ActionSet","CommandPalette","Doctype","Records","SheetNav"],"mappings":"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AAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,KAAK;AAAA;AAAA;AAAA,QAGL,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA;AAAA,QAEH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA;AAAA,QAEH,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA;AAAA,QAEL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA;AAAA,QAEL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA;AAAA,QAEL,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,MAAM;AAAA,QACN,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA;AAAA,QAEH,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,MAAM;AAAA,QACN,MAAM;AAAA,QACN,KAAK;AAAA;AAAA,QAEL,GAAG;AAAA,QACH,KAAK;AAAA,QACL,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,QAAQ;AAAA,QACR,GAAG;AAAA;AAAA,QAEH,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA;AAAA,QAEL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA;AAAA,QAEL,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA;AAAA,QAEH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA;AAAA;AAAA,QAGL,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA;AAAA,QAEH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA;AAAA,QAEH,GAAG;AAAA;AAAA,QAEH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA;AAAA,QAEH,GAAG;AAAA;AAAA,QAEH,GAAG;AAAA;AAAA,QAEH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA;AAAA,QAEH,GAAG;AAAA;AAAA;AAAA,QAGH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,IAAI;AAAA,QACJ,IAAI;AAAA;AAAA,QAEJ,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA;AAAA,QAEH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA;AAAA,QAEH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA;AAAA,QAEH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA;AAAA;AAAA,QAGH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA;AAAA;AAAA,QAGH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA;AAAA,QAEH,GAAG;AAAA,QACH,GAAG;AAAA;AAAA;AAAA,QAGH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA;AAAA;AAAA,QAGH,GAAG;AAAA,QACH,GAAG;AAAA;AAAA,QAEH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA;AAAA,QAEH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAOH,GAAG;AAAA,QACH,GAAG;AAAA;AAAA,QAEH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA;AAAA;AAAA,QAGH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA;AAAA,QAEL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,GAAG;AAAA,QACH,KAAK;AAAA,QACL,KAAK;AAAA,QACL,GAAG;AAAA,QACH,GAAG;AAAA,QACH,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,GAAG;AAAA,QACH,GAAG;AAAA,QACH,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA;AAAA,QAEL,GAAG;AAAA,QACH,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;A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AAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,QACf;AAAA,QACQ,IAAI,CAAA;AAAA,QACJ,IAAI;AAAA,UACF,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,QACf;AAAA,QACQ,IAAI;AAAA,UACF,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,QACf;AAAA,QACQ,IAAI;AAAA,UACF,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,QACf;AAAA,QACQ,IAAI;AAAA,UACF,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,QACf;AAAA,QACQ,IAAI;AAAA,UACF,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,QACf;AAAA,QACQ,IAAI;AAAA,UACF,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,QACf;AAAA,QACQ,IAAI;AAAA,UACF,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,QACf;AAAA,QACQ,IAAI;AAAA,UACF,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,QACf;AAAA,QACQ,IAAI;AAAA,UACF,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,QACf;AAAA,QACQ,IAAI;AAAA,UACF,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,QACf;AAAA,QACQ,IAAI,CAAA;AAAA,QACJ,IAAI;AAAA,UACF,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,QACf;AAAA,QACQ,IAAI;AAAA,UACF,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,QACf;AAAA,QACQ,IAAI;AAAA,UACF,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,QACf;AAAA,QACQ,IAAI;AAAA,UACF,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,QACf;AAAA,QACQ,IAAI;AAAA,UACF,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,QACf;AAAA,QACQ,IAAI,CAAA;AAAA,QACJ,IAAI;AAAA,UACF,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,QACf;AAAA,QACQ,IAAI;AAAA,UACF,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,QACf;AAAA,QACQ,IAAI;AAAA,UACF,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,QACf;AAAA,QACQ,IAAI;AAAA,UACF,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,QACf;AAAA,QACQ,IAAI;AAAA,UACF,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,QACf;AAAA,QACQ,IAAI;AAAA,UACF,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,QACf;AAAA,QACQ,IAAI,CAAA;AAAA,QACJ,IAAI;AAAA,UACF,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,K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","x_google_ignoreList":[5]}
1
+ {"version":3,"file":"desktop.js","sources":["../src/components/ActionSet.vue","../src/components/CommandPalette.vue","../../stonecrop/dist/stonecrop.js","../../aform/dist/aform.js","../src/components/SheetNav.vue","../src/components/Desktop.vue","../src/plugins/index.ts"],"sourcesContent":["<template>\n\t<div\n\t\t:class=\"{ 'open-set': isOpen, 'hovered-and-closed': closeClicked }\"\n\t\tclass=\"action-set collapse\"\n\t\t@mouseover=\"onHover\"\n\t\t@mouseleave=\"onHoverLeave\">\n\t\t<div class=\"action-menu-icon\">\n\t\t\t<div id=\"chevron\" @click=\"closeClicked = !closeClicked\">\n\t\t\t\t<svg\n\t\t\t\t\tid=\"Layer_1\"\n\t\t\t\t\tclass=\"leftBar\"\n\t\t\t\t\tversion=\"1.1\"\n\t\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\t\txmlns:xlink=\"http://www.w3.org/1999/xlink\"\n\t\t\t\t\tx=\"0px\"\n\t\t\t\t\ty=\"0px\"\n\t\t\t\t\tviewBox=\"0 0 100 100\"\n\t\t\t\t\txml:space=\"preserve\"\n\t\t\t\t\twidth=\"50\"\n\t\t\t\t\theight=\"50\">\n\t\t\t\t\t<polygon points=\"54.2,33.4 29.2,58.8 25,54.6 50,29.2 \" />\n\t\t\t\t</svg>\n\n\t\t\t\t<svg\n\t\t\t\t\tid=\"Layer_1\"\n\t\t\t\t\tclass=\"rightBar\"\n\t\t\t\t\tversion=\"1.1\"\n\t\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\t\txmlns:xlink=\"http://www.w3.org/1999/xlink\"\n\t\t\t\t\tx=\"0px\"\n\t\t\t\t\ty=\"0px\"\n\t\t\t\t\tviewBox=\"0 0 100 100\"\n\t\t\t\t\txml:space=\"preserve\"\n\t\t\t\t\twidth=\"50\"\n\t\t\t\t\theight=\"50\">\n\t\t\t\t\t<polygon points=\"70.8,58.8 45.8,33.4 50,29.2 75,54.6 \" />\n\t\t\t\t</svg>\n\t\t\t</div>\n\t\t</div>\n\t\t<div style=\"margin-right: 30px\"></div>\n\t\t<div v-for=\"(el, index) in elements\" :key=\"el.label\" class=\"action-element\">\n\t\t\t<button\n\t\t\t\tv-if=\"el.type == 'button'\"\n\t\t\t\t:disabled=\"el.disabled\"\n\t\t\t\tclass=\"button-default\"\n\t\t\t\t@click=\"handleClick(el.action, el.label)\">\n\t\t\t\t{{ el.label }}\n\t\t\t</button>\n\t\t\t<div v-if=\"el.type == 'dropdown'\">\n\t\t\t\t<button class=\"button-default\" @click=\"toggleDropdown(index)\">{{ el.label }}</button>\n\t\t\t\t<div v-show=\"dropdownStates[index]\" class=\"dropdown-container\">\n\t\t\t\t\t<div class=\"dropdown\">\n\t\t\t\t\t\t<div v-for=\"(item, itemIndex) in el.actions\" :key=\"item.label\">\n\t\t\t\t\t\t\t<button v-if=\"item.action != null\" class=\"dropdown-item\" @click=\"handleClick(item.action, item.label)\">\n\t\t\t\t\t\t\t\t{{ item.label }}\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t<a v-else-if=\"item.link != null\" :href=\"item.link\"\n\t\t\t\t\t\t\t\t><button class=\"dropdown-item\">{{ item.label }}</button></a\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script setup lang=\"ts\">\nimport { onMounted, ref } from 'vue'\n\nimport type { ActionElements } from '../types'\n\nconst { elements = [] } = defineProps<{ elements?: ActionElements[] }>()\nconst emit = defineEmits<{\n\tactionClick: [label: string, action: (() => void | Promise<void>) | undefined]\n}>()\n\n// Track dropdown open state separately (index -> boolean)\nconst dropdownStates = ref<Record<number, boolean>>({})\n\nconst isOpen = ref(false)\nconst timeoutId = ref<number>(-1)\nconst hover = ref(false)\nconst closeClicked = ref(false)\n\nonMounted(() => {\n\tcloseDropdowns()\n})\n\nconst closeDropdowns = () => {\n\tdropdownStates.value = {}\n}\n\nconst onHover = () => {\n\thover.value = true\n\ttimeoutId.value = setTimeout(() => {\n\t\tif (hover.value) {\n\t\t\tisOpen.value = true\n\t\t}\n\t}, 500)\n}\n\nconst onHoverLeave = () => {\n\thover.value = false\n\tcloseClicked.value = false\n\tclearTimeout(timeoutId.value)\n\tisOpen.value = false\n}\n\nconst toggleDropdown = (index: number) => {\n\tconst showDropdown = !dropdownStates.value[index]\n\tcloseDropdowns()\n\tif (showDropdown) {\n\t\tdropdownStates.value[index] = true\n\t}\n}\n\nconst handleClick = (action: (() => void | Promise<void>) | undefined, label: string) => {\n\t// Emit event to parent - parent will handle execution\n\temit('actionClick', label, action)\n}\n</script>\n\n<style scoped>\n#chevron {\n\tposition: relative;\n\ttransform: rotate(90deg);\n}\n\n.leftBar,\n.rightBar {\n\ttransition-duration: 0.225s;\n\ttransition-property: transform;\n}\n\n.leftBar,\n.action-set.collapse.hovered-and-closed:hover .leftBar {\n\ttransform-origin: 33.4% 50%;\n\ttransform: rotate(90deg);\n}\n\n.rightBar,\n.action-set.collapse.hovered-and-closed:hover .rightBar {\n\ttransform-origin: 67% 50%;\n\ttransform: rotate(-90deg);\n}\n\n.rightBar {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n}\n\n.action-set.collapse:hover .leftBar {\n\ttransform: rotate(0);\n}\n\n.action-set.collapse:hover .rightBar {\n\ttransform: rotate(0);\n}\n\n.action-set {\n\tposition: fixed;\n\ttop: 10px;\n\tright: 10px;\n\tpadding: 20px;\n\tbox-shadow: 0px 1px 2px rgba(25, 39, 52, 0.05), 0px 0px 4px rgba(25, 39, 52, 0.1);\n\tborder-radius: 10px;\n\tdisplay: flex;\n\tflex-direction: row-reverse;\n\tbackground-color: white;\n\toverflow: hidden;\n\tz-index: 1001; /* Above SheetNav (100) and operation log button (999) */\n}\n\n.action-menu-icon {\n\tposition: absolute;\n\ttop: 6px;\n\tright: 8px;\n}\n\n.action-menu-icon svg {\n\tfill: #333333;\n}\n\n.action-set.collapse,\n.action-set.collapse.hovered-and-closed:hover {\n\tmax-width: 25px;\n\toverflow: hidden;\n\n\t-webkit-transition: max-width 0.5s ease-in-out;\n\t-moz-transition: max-width 0.5s ease-in-out;\n\t-o-transition: max-width 0.5s ease-in-out;\n\ttransition: max-width 0.5s ease-in-out;\n}\n\n.action-set.collapse .action-element,\n.action-set.collapse.hovered-and-closed:hover .action-element {\n\topacity: 0;\n\t-webkit-transition: opacity 0.25s ease-in-out;\n\t-moz-transition: opacity 0.25s ease-in-out;\n\t-o-transition: opacity 0.25s ease-in-out;\n\ttransition: opacity 0.25s ease-in-out;\n\ttransition-delay: 0s;\n}\n\n.action-set.collapse:hover {\n\tmax-width: 500px;\n}\n\n.action-set.collapse.open-set:hover {\n\toverflow: visible !important;\n}\n\n.action-set.collapse.hovered-and-closed:hover .action-element {\n\topacity: 0 !important;\n\t/* transition-delay: 0.5s; */\n}\n\n.action-set.collapse:hover .action-element {\n\topacity: 100 !important;\n\t/* transition-delay: 0.5s; */\n}\n\n.action-element {\n\tmargin-left: 5px;\n\tmargin-right: 5px;\n\tposition: relative; /* Make this the positioning context for absolute children */\n}\nbutton.button-default {\n\tbackground-color: #ffffff;\n\tpadding: 5px 12px;\n\tborder-radius: 3px;\n\tbox-shadow: rgba(0, 0, 0, 0.05) 0px 0.5px 0px 0px, rgba(0, 0, 0, 0.08) 0px 0px 0px 1px,\n\t\trgba(0, 0, 0, 0.05) 0px 2px 4px 0px;\n\tborder: none;\n\tcursor: pointer;\n\twhite-space: nowrap;\n}\n\nbutton.button-default:hover {\n\tbackground-color: #f2f2f2;\n}\n\nbutton.button-default:disabled {\n\topacity: 0.5;\n\tcursor: not-allowed;\n\tbackground-color: #f5f5f5;\n\tcolor: #999;\n}\n\nbutton.button-default:disabled:hover {\n\tbackground-color: #f5f5f5;\n}\n\n.dropdown-container {\n\tposition: relative;\n}\n\n.dropdown {\n\tposition: absolute;\n\tright: 0;\n\tmin-width: 200px;\n\tbox-shadow: 0 0.5rem 1rem rgb(0 0 0 / 18%);\n\tborder-radius: 10px;\n\tbackground-color: #ffffff;\n\tpadding: 10px;\n\tz-index: 1000;\n}\n\nbutton.dropdown-item {\n\twidth: 100%;\n\tpadding: 8px 5px;\n\ttext-align: left;\n\tborder: none;\n\tbackground-color: #ffffff;\n\tcursor: pointer;\n\tborder-radius: 5px;\n}\n\nbutton.dropdown-item:hover {\n\tbackground-color: #f2f2f2;\n}\n</style>\n","<template>\n\t<Teleport to=\"body\">\n\t\t<Transition name=\"fade\">\n\t\t\t<div v-if=\"isOpen\" class=\"command-palette-overlay\" @click=\"closeModal\">\n\t\t\t\t<div class=\"command-palette\" @click.stop>\n\t\t\t\t\t<div class=\"command-palette-header\">\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\tref=\"input\"\n\t\t\t\t\t\t\tv-model=\"query\"\n\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\tclass=\"command-palette-input\"\n\t\t\t\t\t\t\t:placeholder=\"placeholder\"\n\t\t\t\t\t\t\tautofocus\n\t\t\t\t\t\t\t@keydown=\"handleKeydown\" />\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div v-if=\"results.length\" class=\"command-palette-results\">\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tv-for=\"(result, index) in results\"\n\t\t\t\t\t\t\t:key=\"index\"\n\t\t\t\t\t\t\tclass=\"command-palette-result\"\n\t\t\t\t\t\t\t:class=\"{ selected: index === selectedIndex }\"\n\t\t\t\t\t\t\t@click=\"selectResult(result)\"\n\t\t\t\t\t\t\t@mouseover=\"selectedIndex = index\">\n\t\t\t\t\t\t\t<div class=\"result-title\">\n\t\t\t\t\t\t\t\t<slot name=\"title\" :result=\"result\" />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"result-content\">\n\t\t\t\t\t\t\t\t<slot name=\"content\" :result=\"result\" />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div v-else-if=\"query && !results.length\" class=\"command-palette-no-results\">\n\t\t\t\t\t\t<slot name=\"empty\"> No results found for \"{{ query }}\" </slot>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</Transition>\n\t</Teleport>\n</template>\n\n<script setup lang=\"ts\" generic=\"T\">\nimport { ref, computed, watch, nextTick, useTemplateRef } from 'vue'\n\ndefineSlots<{\n\ttitle?: { result: T }\n\tcontent?: { result: T }\n\tempty?: null\n}>()\n\nconst {\n\tsearch,\n\tisOpen = false,\n\tplaceholder = 'Type a command or search...',\n\tmaxResults = 10,\n} = defineProps<{\n\tsearch: (query: string) => T[]\n\tisOpen?: boolean\n\tplaceholder?: string\n\tmaxResults?: number\n}>()\n\nconst emit = defineEmits<{\n\tselect: [T]\n\tclose: []\n}>()\n\nconst query = ref('')\nconst selectedIndex = ref(0)\nconst inputRef = useTemplateRef('input')\n\nconst results = computed(() => {\n\tif (!query.value) return []\n\tconst results = search(query.value)\n\treturn results.slice(0, maxResults)\n})\n\n// reset search query when modal opens\nwatch(\n\t() => isOpen,\n\tasync isOpen => {\n\t\tif (isOpen) {\n\t\t\tquery.value = ''\n\t\t\tselectedIndex.value = 0\n\t\t\tawait nextTick()\n\t\t\t;(inputRef.value as HTMLInputElement)?.focus()\n\t\t}\n\t}\n)\n\n// reset selected index when results change\nwatch(results, () => {\n\tselectedIndex.value = 0\n})\n\nconst closeModal = () => {\n\temit('close')\n}\n\nconst handleKeydown = (e: KeyboardEvent) => {\n\tswitch (e.key) {\n\t\tcase 'Escape':\n\t\t\tcloseModal()\n\t\t\tbreak\n\t\tcase 'ArrowDown':\n\t\t\te.preventDefault()\n\t\t\tif (results.value.length) {\n\t\t\t\tselectedIndex.value = (selectedIndex.value + 1) % results.value.length\n\t\t\t}\n\t\t\tbreak\n\t\tcase 'ArrowUp':\n\t\t\te.preventDefault()\n\t\t\tif (results.value.length) {\n\t\t\t\tselectedIndex.value = (selectedIndex.value - 1 + results.value.length) % results.value.length\n\t\t\t}\n\t\t\tbreak\n\t\tcase 'Enter':\n\t\t\tif (results.value.length && selectedIndex.value >= 0) {\n\t\t\t\tselectResult(results.value[selectedIndex.value])\n\t\t\t}\n\t\t\tbreak\n\t}\n}\n\nconst selectResult = (result: T) => {\n\temit('select', result)\n\tcloseModal()\n}\n</script>\n\n<style>\n.fade-enter-active,\n.fade-leave-active {\n\ttransition: opacity 0.2s ease;\n}\n\n.fade-enter-from,\n.fade-leave-to {\n\topacity: 0;\n}\n\n.command-palette-overlay {\n\tposition: fixed;\n\ttop: 0;\n\tleft: 0;\n\twidth: 100%;\n\theight: 100%;\n\tbackground-color: rgba(0, 0, 0, 0.5);\n\tdisplay: flex;\n\talign-items: flex-start;\n\tjustify-content: center;\n\tz-index: 9999;\n\tpadding-top: 100px;\n}\n\n.command-palette {\n\twidth: 600px;\n\tmax-width: 90%;\n\tbackground-color: white;\n\tborder-radius: 8px;\n\tbox-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);\n\toverflow: hidden;\n\tmax-height: 80vh;\n\tdisplay: flex;\n\tflex-direction: column;\n}\n\n.command-palette-header {\n\tdisplay: flex;\n\tborder-bottom: 1px solid #eaeaea;\n\tpadding: 12px;\n}\n\n.command-palette-input {\n\tflex: 1;\n\tborder: none;\n\toutline: none;\n\tfont-size: 16px;\n\tpadding: 8px 12px;\n\tbackground-color: transparent;\n}\n\n.command-palette-close {\n\tbackground: transparent;\n\tborder: none;\n\tfont-size: 24px;\n\tcursor: pointer;\n\tcolor: #666;\n\tpadding: 0 8px;\n}\n\n.command-palette-close:hover {\n\tcolor: #333;\n}\n\n.command-palette-results {\n\toverflow-y: auto;\n\tmax-height: 60vh;\n}\n\n.command-palette-result {\n\tpadding: 12px 16px;\n\tcursor: pointer;\n\tborder-bottom: 1px solid #f0f0f0;\n}\n\n.command-palette-result:hover,\n.command-palette-result.selected {\n\tbackground-color: #f5f5f5;\n}\n\n.command-palette-result.selected {\n\tbackground-color: rgba(132, 60, 3, 0.1);\n}\n\n.result-title {\n\tfont-weight: 500;\n\tmargin-bottom: 4px;\n\tcolor: #333;\n}\n\n.result-content {\n\tfont-size: 14px;\n\tcolor: #666;\n\twhite-space: nowrap;\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n}\n\n.command-palette-no-results {\n\tpadding: 20px 16px;\n\ttext-align: center;\n\tcolor: #666;\n}\n</style>\n","import { hasInjectionContext as Ke, inject as he, getCurrentInstance as Ae, toRaw as Ve, computed as B, isRef as X, isReactive as ye, toRef as oe, ref as M, reactive as we, markRaw as te, effectScope as Ze, nextTick as ce, getCurrentScope as Fe, onScopeDispose as ke, watch as H, toRefs as Re, onMounted as Le, readonly as Me, customRef as Ge, toValue as J, shallowRef as xe, unref as qe, provide as _e } from \"vue\";\n/*!\n * pinia v3.0.3\n * (c) 2025 Eduardo San Martin Morote\n * @license MIT\n */\nlet re;\nconst ge = (r) => re = r, Ye = process.env.NODE_ENV !== \"production\" ? Symbol(\"pinia\") : (\n /* istanbul ignore next */\n Symbol()\n);\nfunction Z(r) {\n return r && typeof r == \"object\" && Object.prototype.toString.call(r) === \"[object Object]\" && typeof r.toJSON != \"function\";\n}\nvar se;\n(function(r) {\n r.direct = \"direct\", r.patchObject = \"patch object\", r.patchFunction = \"patch function\";\n})(se || (se = {}));\nconst ne = typeof window < \"u\";\nfunction Be(r, e) {\n for (const t in e) {\n const n = e[t];\n if (!(t in r))\n continue;\n const o = r[t];\n Z(o) && Z(n) && !X(n) && !ye(n) ? r[t] = Be(o, n) : r[t] = n;\n }\n return r;\n}\nconst je = () => {\n};\nfunction Pe(r, e, t, n = je) {\n r.push(e);\n const o = () => {\n const s = r.indexOf(e);\n s > -1 && (r.splice(s, 1), n());\n };\n return !t && Fe() && ke(o), o;\n}\nfunction q(r, ...e) {\n r.slice().forEach((t) => {\n t(...e);\n });\n}\nconst Qe = (r) => r(), Ne = Symbol(), me = Symbol();\nfunction Ee(r, e) {\n r instanceof Map && e instanceof Map ? e.forEach((t, n) => r.set(n, t)) : r instanceof Set && e instanceof Set && e.forEach(r.add, r);\n for (const t in e) {\n if (!e.hasOwnProperty(t))\n continue;\n const n = e[t], o = r[t];\n Z(o) && Z(n) && r.hasOwnProperty(t) && !X(n) && !ye(n) ? r[t] = Ee(o, n) : r[t] = n;\n }\n return r;\n}\nconst Xe = process.env.NODE_ENV !== \"production\" ? Symbol(\"pinia:skipHydration\") : (\n /* istanbul ignore next */\n Symbol()\n);\nfunction et(r) {\n return !Z(r) || !Object.prototype.hasOwnProperty.call(r, Xe);\n}\nconst { assign: U } = Object;\nfunction Ie(r) {\n return !!(X(r) && r.effect);\n}\nfunction $e(r, e, t, n) {\n const { state: o, actions: s, getters: i } = e, a = t.state.value[r];\n let c;\n function l() {\n !a && (process.env.NODE_ENV === \"production\" || !n) && (t.state.value[r] = o ? o() : {});\n const S = process.env.NODE_ENV !== \"production\" && n ? (\n // use ref() to unwrap refs inside state TODO: check if this is still necessary\n Re(M(o ? o() : {}).value)\n ) : Re(t.state.value[r]);\n return U(S, s, Object.keys(i || {}).reduce((w, P) => (process.env.NODE_ENV !== \"production\" && P in S && console.warn(`[🍍]: A getter cannot have the same name as another state property. Rename one of them. Found with \"${P}\" in store \"${r}\".`), w[P] = te(B(() => {\n ge(t);\n const $ = t._s.get(r);\n return i[P].call($, $);\n })), w), {}));\n }\n return c = Oe(r, l, e, t, n, !0), c;\n}\nfunction Oe(r, e, t = {}, n, o, s) {\n let i;\n const a = U({ actions: {} }, t);\n if (process.env.NODE_ENV !== \"production\" && !n._e.active)\n throw new Error(\"Pinia destroyed\");\n const c = { deep: !0 };\n process.env.NODE_ENV !== \"production\" && (c.onTrigger = (u) => {\n l ? $ = u : l == !1 && !g._hotUpdating && (Array.isArray($) ? $.push(u) : console.error(\"🍍 debuggerEvents should be an array. This is most likely an internal Pinia bug.\"));\n });\n let l, S, w = [], P = [], $;\n const T = n.state.value[r];\n !s && !T && (process.env.NODE_ENV === \"production\" || !o) && (n.state.value[r] = {});\n const k = M({});\n let _;\n function D(u) {\n let f;\n l = S = !1, process.env.NODE_ENV !== \"production\" && ($ = []), typeof u == \"function\" ? (u(n.state.value[r]), f = {\n type: se.patchFunction,\n storeId: r,\n events: $\n }) : (Ee(n.state.value[r], u), f = {\n type: se.patchObject,\n payload: u,\n storeId: r,\n events: $\n });\n const O = _ = Symbol();\n ce().then(() => {\n _ === O && (l = !0);\n }), S = !0, q(w, f, n.state.value[r]);\n }\n const R = s ? function() {\n const { state: f } = t, O = f ? f() : {};\n this.$patch((y) => {\n U(y, O);\n });\n } : (\n /* istanbul ignore next */\n process.env.NODE_ENV !== \"production\" ? () => {\n throw new Error(`🍍: Store \"${r}\" is built using the setup syntax and does not implement $reset().`);\n } : je\n );\n function b() {\n i.stop(), w = [], P = [], n._s.delete(r);\n }\n const C = (u, f = \"\") => {\n if (Ne in u)\n return u[me] = f, u;\n const O = function() {\n ge(n);\n const y = Array.from(arguments), d = [], m = [];\n function N(V) {\n d.push(V);\n }\n function A(V) {\n m.push(V);\n }\n q(P, {\n args: y,\n name: O[me],\n store: g,\n after: N,\n onError: A\n });\n let j;\n try {\n j = u.apply(this && this.$id === r ? this : g, y);\n } catch (V) {\n throw q(m, V), V;\n }\n return j instanceof Promise ? j.then((V) => (q(d, V), V)).catch((V) => (q(m, V), Promise.reject(V))) : (q(d, j), j);\n };\n return O[Ne] = !0, O[me] = f, O;\n }, E = /* @__PURE__ */ te({\n actions: {},\n getters: {},\n state: [],\n hotState: k\n }), I = {\n _p: n,\n // _s: scope,\n $id: r,\n $onAction: Pe.bind(null, P),\n $patch: D,\n $reset: R,\n $subscribe(u, f = {}) {\n const O = Pe(w, u, f.detached, () => y()), y = i.run(() => H(() => n.state.value[r], (d) => {\n (f.flush === \"sync\" ? S : l) && u({\n storeId: r,\n type: se.direct,\n events: $\n }, d);\n }, U({}, c, f)));\n return O;\n },\n $dispose: b\n }, g = we(process.env.NODE_ENV !== \"production\" || process.env.NODE_ENV !== \"production\" && process.env.NODE_ENV !== \"test\" && ne ? U(\n {\n _hmrPayload: E,\n _customProperties: te(/* @__PURE__ */ new Set())\n // devtools custom properties\n },\n I\n // must be added later\n // setupStore\n ) : I);\n n._s.set(r, g);\n const L = (n._a && n._a.runWithContext || Qe)(() => n._e.run(() => (i = Ze()).run(() => e({ action: C }))));\n for (const u in L) {\n const f = L[u];\n if (X(f) && !Ie(f) || ye(f))\n process.env.NODE_ENV !== \"production\" && o ? k.value[u] = oe(L, u) : s || (T && et(f) && (X(f) ? f.value = T[u] : Ee(f, T[u])), n.state.value[r][u] = f), process.env.NODE_ENV !== \"production\" && E.state.push(u);\n else if (typeof f == \"function\") {\n const O = process.env.NODE_ENV !== \"production\" && o ? f : C(f, u);\n L[u] = O, process.env.NODE_ENV !== \"production\" && (E.actions[u] = f), a.actions[u] = f;\n } else process.env.NODE_ENV !== \"production\" && Ie(f) && (E.getters[u] = s ? (\n // @ts-expect-error\n t.getters[u]\n ) : f, ne && (L._getters || // @ts-expect-error: same\n (L._getters = te([]))).push(u));\n }\n if (U(g, L), U(Ve(g), L), Object.defineProperty(g, \"$state\", {\n get: () => process.env.NODE_ENV !== \"production\" && o ? k.value : n.state.value[r],\n set: (u) => {\n if (process.env.NODE_ENV !== \"production\" && o)\n throw new Error(\"cannot set hotState\");\n D((f) => {\n U(f, u);\n });\n }\n }), process.env.NODE_ENV !== \"production\" && (g._hotUpdate = te((u) => {\n g._hotUpdating = !0, u._hmrPayload.state.forEach((f) => {\n if (f in g.$state) {\n const O = u.$state[f], y = g.$state[f];\n typeof O == \"object\" && Z(O) && Z(y) ? Be(O, y) : u.$state[f] = y;\n }\n g[f] = oe(u.$state, f);\n }), Object.keys(g.$state).forEach((f) => {\n f in u.$state || delete g[f];\n }), l = !1, S = !1, n.state.value[r] = oe(u._hmrPayload, \"hotState\"), S = !0, ce().then(() => {\n l = !0;\n });\n for (const f in u._hmrPayload.actions) {\n const O = u[f];\n g[f] = //\n C(O, f);\n }\n for (const f in u._hmrPayload.getters) {\n const O = u._hmrPayload.getters[f], y = s ? (\n // special handling of options api\n B(() => (ge(n), O.call(g, g)))\n ) : O;\n g[f] = //\n y;\n }\n Object.keys(g._hmrPayload.getters).forEach((f) => {\n f in u._hmrPayload.getters || delete g[f];\n }), Object.keys(g._hmrPayload.actions).forEach((f) => {\n f in u._hmrPayload.actions || delete g[f];\n }), g._hmrPayload = u._hmrPayload, g._getters = u._getters, g._hotUpdating = !1;\n })), process.env.NODE_ENV !== \"production\" && process.env.NODE_ENV !== \"test\" && ne) {\n const u = {\n writable: !0,\n configurable: !0,\n // avoid warning on devtools trying to display this property\n enumerable: !1\n };\n [\"_p\", \"_hmrPayload\", \"_getters\", \"_customProperties\"].forEach((f) => {\n Object.defineProperty(g, f, U({ value: g[f] }, u));\n });\n }\n return n._p.forEach((u) => {\n if (process.env.NODE_ENV !== \"production\" && process.env.NODE_ENV !== \"test\" && ne) {\n const f = i.run(() => u({\n store: g,\n app: n._a,\n pinia: n,\n options: a\n }));\n Object.keys(f || {}).forEach((O) => g._customProperties.add(O)), U(g, f);\n } else\n U(g, i.run(() => u({\n store: g,\n app: n._a,\n pinia: n,\n options: a\n })));\n }), process.env.NODE_ENV !== \"production\" && g.$state && typeof g.$state == \"object\" && typeof g.$state.constructor == \"function\" && !g.$state.constructor.toString().includes(\"[native code]\") && console.warn(`[🍍]: The \"state\" must be a plain object. It cannot be\n\tstate: () => new MyClass()\nFound in store \"${g.$id}\".`), T && s && t.hydrate && t.hydrate(g.$state, T), l = !0, S = !0, g;\n}\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction tt(r, e, t) {\n let n;\n const o = typeof e == \"function\";\n n = o ? t : e;\n function s(i, a) {\n const c = Ke();\n if (i = // in test mode, ignore the argument provided as we can always retrieve a\n // pinia instance with getActivePinia()\n (process.env.NODE_ENV === \"test\" && re && re._testing ? null : i) || (c ? he(Ye, null) : null), i && ge(i), process.env.NODE_ENV !== \"production\" && !re)\n throw new Error(`[🍍]: \"getActivePinia()\" was called but there was no active Pinia. Are you trying to use a store before calling \"app.use(pinia)\"?\nSee https://pinia.vuejs.org/core-concepts/outside-component-usage.html for help.\nThis will fail in production.`);\n i = re, i._s.has(r) || (o ? Oe(r, e, n, i) : $e(r, n, i), process.env.NODE_ENV !== \"production\" && (s._pinia = i));\n const l = i._s.get(r);\n if (process.env.NODE_ENV !== \"production\" && a) {\n const S = \"__hot:\" + r, w = o ? Oe(S, e, n, i, !0) : $e(S, U({}, n), i, !0);\n a._hotUpdate(w), delete i.state.value[S], i._s.delete(S);\n }\n if (process.env.NODE_ENV !== \"production\" && ne) {\n const S = Ae();\n if (S && S.proxy && // avoid adding stores that are just built for hot module replacement\n !a) {\n const w = S.proxy, P = \"_pStores\" in w ? w._pStores : w._pStores = {};\n P[r] = l;\n }\n }\n return l;\n }\n return s.$id = r, s;\n}\nfunction Ue(r) {\n const e = Ve(r), t = {};\n for (const n in e) {\n const o = e[n];\n o.effect ? t[n] = // ...\n B({\n get: () => r[n],\n set(s) {\n r[n] = s;\n }\n }) : (X(o) || ye(o)) && (t[n] = // ---\n oe(r, n));\n }\n return t;\n}\nfunction rt(r, e) {\n return Fe() ? (ke(r, e), !0) : !1;\n}\nconst nt = typeof window < \"u\" && typeof document < \"u\";\ntypeof WorkerGlobalScope < \"u\" && globalThis instanceof WorkerGlobalScope;\nconst ot = Object.prototype.toString, st = (r) => ot.call(r) === \"[object Object]\", We = () => {\n};\nfunction it(...r) {\n if (r.length !== 1) return oe(...r);\n const e = r[0];\n return typeof e == \"function\" ? Me(Ge(() => ({\n get: e,\n set: We\n }))) : M(e);\n}\nfunction at(r, e) {\n function t(...n) {\n return new Promise((o, s) => {\n Promise.resolve(r(() => e.apply(this, n), {\n fn: e,\n thisArg: this,\n args: n\n })).then(o).catch(s);\n });\n }\n return t;\n}\nconst ze = (r) => r();\nfunction ct(r = ze, e = {}) {\n const { initialState: t = \"active\" } = e, n = it(t === \"active\");\n function o() {\n n.value = !1;\n }\n function s() {\n n.value = !0;\n }\n const i = (...a) => {\n n.value && r(...a);\n };\n return {\n isActive: Me(n),\n pause: o,\n resume: s,\n eventFilter: i\n };\n}\nfunction Se(r) {\n return Array.isArray(r) ? r : [r];\n}\nfunction ut(r) {\n return Ae();\n}\nfunction lt(r, e, t = {}) {\n const { eventFilter: n = ze, ...o } = t;\n return H(r, at(n, e), o);\n}\nfunction ft(r, e, t = {}) {\n const { eventFilter: n, initialState: o = \"active\", ...s } = t, { eventFilter: i, pause: a, resume: c, isActive: l } = ct(n, { initialState: o });\n return {\n stop: lt(r, e, {\n ...s,\n eventFilter: i\n }),\n pause: a,\n resume: c,\n isActive: l\n };\n}\nconst dt = ft;\nfunction pt(r, e = !0, t) {\n ut() ? Le(r, t) : e ? r() : ce(r);\n}\nfunction ht(r, e, t) {\n return H(r, e, {\n ...t,\n immediate: !0\n });\n}\nfunction ee(r, e, t) {\n return H(r, (o, s, i) => {\n o && e(o, s, i);\n }, {\n ...t,\n once: !1\n });\n}\nconst K = nt ? window : void 0;\nfunction gt(r) {\n var e;\n const t = J(r);\n return (e = t?.$el) !== null && e !== void 0 ? e : t;\n}\nfunction Y(...r) {\n const e = [], t = () => {\n e.forEach((a) => a()), e.length = 0;\n }, n = (a, c, l, S) => (a.addEventListener(c, l, S), () => a.removeEventListener(c, l, S)), o = B(() => {\n const a = Se(J(r[0])).filter((c) => c != null);\n return a.every((c) => typeof c != \"string\") ? a : void 0;\n }), s = ht(() => {\n var a, c;\n return [\n (a = (c = o.value) === null || c === void 0 ? void 0 : c.map((l) => gt(l))) !== null && a !== void 0 ? a : [K].filter((l) => l != null),\n Se(J(o.value ? r[1] : r[0])),\n Se(qe(o.value ? r[2] : r[1])),\n J(o.value ? r[3] : r[2])\n ];\n }, ([a, c, l, S]) => {\n if (t(), !a?.length || !c?.length || !l?.length) return;\n const w = st(S) ? { ...S } : S;\n e.push(...a.flatMap((P) => c.flatMap(($) => l.map((T) => n(P, $, T, w)))));\n }, { flush: \"post\" }), i = () => {\n s(), t();\n };\n return rt(t), i;\n}\nconst le = typeof globalThis < \"u\" ? globalThis : typeof window < \"u\" ? window : typeof global < \"u\" ? global : typeof self < \"u\" ? self : {}, fe = \"__vueuse_ssr_handlers__\", vt = /* @__PURE__ */ yt();\nfunction yt() {\n return fe in le || (le[fe] = le[fe] || {}), le[fe];\n}\nfunction mt(r, e) {\n return vt[r] || e;\n}\nfunction St(r) {\n return r == null ? \"any\" : r instanceof Set ? \"set\" : r instanceof Map ? \"map\" : r instanceof Date ? \"date\" : typeof r == \"boolean\" ? \"boolean\" : typeof r == \"string\" ? \"string\" : typeof r == \"object\" ? \"object\" : Number.isNaN(r) ? \"any\" : \"number\";\n}\nconst bt = {\n boolean: {\n read: (r) => r === \"true\",\n write: (r) => String(r)\n },\n object: {\n read: (r) => JSON.parse(r),\n write: (r) => JSON.stringify(r)\n },\n number: {\n read: (r) => Number.parseFloat(r),\n write: (r) => String(r)\n },\n any: {\n read: (r) => r,\n write: (r) => String(r)\n },\n string: {\n read: (r) => r,\n write: (r) => String(r)\n },\n map: {\n read: (r) => new Map(JSON.parse(r)),\n write: (r) => JSON.stringify(Array.from(r.entries()))\n },\n set: {\n read: (r) => new Set(JSON.parse(r)),\n write: (r) => JSON.stringify(Array.from(r))\n },\n date: {\n read: (r) => new Date(r),\n write: (r) => r.toISOString()\n }\n}, De = \"vueuse-storage\";\nfunction wt(r, e, t, n = {}) {\n var o;\n const { flush: s = \"pre\", deep: i = !0, listenToStorageChanges: a = !0, writeDefaults: c = !0, mergeDefaults: l = !1, shallow: S, window: w = K, eventFilter: P, onError: $ = (d) => {\n console.error(d);\n }, initOnMounted: T } = n, k = (S ? xe : M)(e), _ = B(() => J(r));\n if (!t) try {\n t = mt(\"getDefaultStorage\", () => K?.localStorage)();\n } catch (d) {\n $(d);\n }\n if (!t) return k;\n const D = J(e), R = St(D), b = (o = n.serializer) !== null && o !== void 0 ? o : bt[R], { pause: C, resume: E } = dt(k, (d) => u(d), {\n flush: s,\n deep: i,\n eventFilter: P\n });\n H(_, () => O(), { flush: s });\n let I = !1;\n const g = (d) => {\n T && !I || O(d);\n }, x = (d) => {\n T && !I || y(d);\n };\n w && a && (t instanceof Storage ? Y(w, \"storage\", g, { passive: !0 }) : Y(w, De, x)), T ? pt(() => {\n I = !0, O();\n }) : O();\n function L(d, m) {\n if (w) {\n const N = {\n key: _.value,\n oldValue: d,\n newValue: m,\n storageArea: t\n };\n w.dispatchEvent(t instanceof Storage ? new StorageEvent(\"storage\", N) : new CustomEvent(De, { detail: N }));\n }\n }\n function u(d) {\n try {\n const m = t.getItem(_.value);\n if (d == null)\n L(m, null), t.removeItem(_.value);\n else {\n const N = b.write(d);\n m !== N && (t.setItem(_.value, N), L(m, N));\n }\n } catch (m) {\n $(m);\n }\n }\n function f(d) {\n const m = d ? d.newValue : t.getItem(_.value);\n if (m == null)\n return c && D != null && t.setItem(_.value, b.write(D)), D;\n if (!d && l) {\n const N = b.read(m);\n return typeof l == \"function\" ? l(N, D) : R === \"object\" && !Array.isArray(N) ? {\n ...D,\n ...N\n } : N;\n } else return typeof m != \"string\" ? m : b.read(m);\n }\n function O(d) {\n if (!(d && d.storageArea !== t)) {\n if (d && d.key == null) {\n k.value = D;\n return;\n }\n if (!(d && d.key !== _.value)) {\n C();\n try {\n const m = b.write(k.value);\n (d === void 0 || d?.newValue !== m) && (k.value = f(d));\n } catch (m) {\n $(m);\n } finally {\n d ? ce(E) : E();\n }\n }\n }\n }\n function y(d) {\n O(d.detail);\n }\n return k;\n}\nfunction Et(r, e, t = {}) {\n const { window: n = K } = t;\n return wt(r, e, n?.localStorage, t);\n}\nconst Ot = {\n ctrl: \"control\",\n command: \"meta\",\n cmd: \"meta\",\n option: \"alt\",\n up: \"arrowup\",\n down: \"arrowdown\",\n left: \"arrowleft\",\n right: \"arrowright\"\n};\nfunction Rt(r = {}) {\n const { reactive: e = !1, target: t = K, aliasMap: n = Ot, passive: o = !0, onEventFired: s = We } = r, i = we(/* @__PURE__ */ new Set()), a = {\n toJSON() {\n return {};\n },\n current: i\n }, c = e ? we(a) : a, l = /* @__PURE__ */ new Set(), S = /* @__PURE__ */ new Map([\n [\"Meta\", l],\n [\"Shift\", /* @__PURE__ */ new Set()],\n [\"Alt\", /* @__PURE__ */ new Set()]\n ]), w = /* @__PURE__ */ new Set();\n function P(R, b) {\n R in c && (e ? c[R] = b : c[R].value = b);\n }\n function $() {\n i.clear();\n for (const R of w) P(R, !1);\n }\n function T(R, b, C) {\n if (!(!R || typeof b.getModifierState != \"function\")) {\n for (const [E, I] of S) if (b.getModifierState(E)) {\n C.forEach((g) => I.add(g));\n break;\n }\n }\n }\n function k(R, b) {\n if (R) return;\n const C = `${b[0].toUpperCase()}${b.slice(1)}`, E = S.get(C);\n if (![\"shift\", \"alt\"].includes(b) || !E) return;\n const I = Array.from(E), g = I.indexOf(b);\n I.forEach((x, L) => {\n L >= g && (i.delete(x), P(x, !1));\n }), E.clear();\n }\n function _(R, b) {\n var C, E;\n const I = (C = R.key) === null || C === void 0 ? void 0 : C.toLowerCase(), g = [(E = R.code) === null || E === void 0 ? void 0 : E.toLowerCase(), I].filter(Boolean);\n I && (b ? i.add(I) : i.delete(I));\n for (const x of g)\n w.add(x), P(x, b);\n T(b, R, [...i, ...g]), k(b, I), I === \"meta\" && !b && (l.forEach((x) => {\n i.delete(x), P(x, !1);\n }), l.clear());\n }\n Y(t, \"keydown\", (R) => (_(R, !0), s(R)), { passive: o }), Y(t, \"keyup\", (R) => (_(R, !1), s(R)), { passive: o }), Y(\"blur\", $, { passive: o }), Y(\"focus\", $, { passive: o });\n const D = new Proxy(c, { get(R, b, C) {\n if (typeof b != \"string\") return Reflect.get(R, b, C);\n if (b = b.toLowerCase(), b in n && (b = n[b]), !(b in c)) if (/[+_-]/.test(b)) {\n const I = b.split(/[+_-]/g).map((g) => g.trim());\n c[b] = B(() => I.map((g) => J(D[g])).every(Boolean));\n } else c[b] = xe(!1);\n const E = Reflect.get(R, b, C);\n return e ? J(E) : E;\n } });\n return D;\n}\nfunction be() {\n return typeof crypto < \"u\" && crypto.randomUUID ? crypto.randomUUID() : `${Date.now()}-${Math.random().toString(36).substring(2, 9)}`;\n}\nfunction de(r) {\n const e = {\n type: r.type,\n clientId: r.clientId,\n timestamp: r.timestamp.toISOString()\n };\n return r.operation && (e.operation = {\n ...r.operation,\n timestamp: r.operation.timestamp.toISOString()\n }), r.operations && (e.operations = r.operations.map((t) => ({\n ...t,\n timestamp: t.timestamp.toISOString()\n }))), e;\n}\nfunction _t(r) {\n const e = {\n type: r.type,\n clientId: r.clientId,\n timestamp: new Date(r.timestamp)\n };\n return r.operation && (e.operation = {\n ...r.operation,\n timestamp: new Date(r.operation.timestamp)\n }), r.operations && (e.operations = r.operations.map((t) => ({\n ...t,\n timestamp: new Date(t.timestamp)\n }))), e;\n}\nconst ue = /* @__PURE__ */ tt(\"hst-operation-log\", () => {\n const r = M({\n maxOperations: 100,\n enableCrossTabSync: !0,\n autoSyncInterval: 3e4,\n enablePersistence: !1,\n persistenceKeyPrefix: \"stonecrop-ops\"\n }), e = M([]), t = M(-1), n = M(be()), o = M(!1), s = M([]), i = M(null), a = B(() => t.value < 0 ? !1 : e.value[t.value]?.reversible ?? !1), c = B(() => t.value < e.value.length - 1), l = B(() => {\n let p = 0;\n for (let h = t.value; h >= 0 && e.value[h]?.reversible; h--)\n p++;\n return p;\n }), S = B(() => e.value.length - 1 - t.value), w = B(() => ({\n canUndo: a.value,\n canRedo: c.value,\n undoCount: l.value,\n redoCount: S.value,\n currentIndex: t.value\n }));\n function P(p) {\n r.value = { ...r.value, ...p }, r.value.enablePersistence && (A(), V()), r.value.enableCrossTabSync && f();\n }\n function $(p, h = \"user\") {\n const v = {\n ...p,\n id: be(),\n timestamp: /* @__PURE__ */ new Date(),\n source: h,\n userId: r.value.userId\n };\n if (r.value.operationFilter && !r.value.operationFilter(v))\n return v.id;\n if (o.value)\n return s.value.push(v), v.id;\n if (t.value < e.value.length - 1 && (e.value = e.value.slice(0, t.value + 1)), e.value.push(v), t.value++, r.value.maxOperations && e.value.length > r.value.maxOperations) {\n const F = e.value.length - r.value.maxOperations;\n e.value = e.value.slice(F), t.value -= F;\n }\n return r.value.enableCrossTabSync && O(v), v.id;\n }\n function T() {\n o.value = !0, s.value = [], i.value = be();\n }\n function k(p) {\n if (!o.value || s.value.length === 0)\n return o.value = !1, s.value = [], i.value = null, null;\n const h = i.value, v = s.value.every((W) => W.reversible), F = {\n id: h,\n type: \"batch\",\n path: \"\",\n // Batch doesn't have a single path\n fieldname: \"\",\n beforeValue: null,\n afterValue: null,\n doctype: s.value[0]?.doctype || \"\",\n timestamp: /* @__PURE__ */ new Date(),\n source: \"user\",\n reversible: v,\n irreversibleReason: v ? void 0 : \"Contains irreversible operations\",\n childOperationIds: s.value.map((W) => W.id),\n metadata: { description: p }\n };\n s.value.forEach((W) => {\n W.parentOperationId = h;\n }), e.value.push(...s.value, F), t.value = e.value.length - 1, r.value.enableCrossTabSync && y(s.value, F);\n const z = h;\n return o.value = !1, s.value = [], i.value = null, z;\n }\n function _() {\n o.value = !1, s.value = [], i.value = null;\n }\n function D(p) {\n if (!a.value) return !1;\n const h = e.value[t.value];\n if (!h.reversible)\n return typeof console < \"u\" && h.irreversibleReason && console.warn(\"Cannot undo irreversible operation:\", h.irreversibleReason), !1;\n try {\n if (h.type === \"batch\" && h.childOperationIds)\n for (let v = h.childOperationIds.length - 1; v >= 0; v--) {\n const F = h.childOperationIds[v], z = e.value.find((W) => W.id === F);\n z && b(z, p);\n }\n else\n b(h, p);\n return t.value--, r.value.enableCrossTabSync && d(h), !0;\n } catch (v) {\n return typeof console < \"u\" && console.error(\"Undo failed:\", v), !1;\n }\n }\n function R(p) {\n if (!c.value) return !1;\n const h = e.value[t.value + 1];\n try {\n if (h.type === \"batch\" && h.childOperationIds)\n for (const v of h.childOperationIds) {\n const F = e.value.find((z) => z.id === v);\n F && C(F, p);\n }\n else\n C(h, p);\n return t.value++, r.value.enableCrossTabSync && m(h), !0;\n } catch (v) {\n return typeof console < \"u\" && console.error(\"Redo failed:\", v), !1;\n }\n }\n function b(p, h) {\n (p.type === \"set\" || p.type === \"delete\") && h && typeof h.set == \"function\" && h.set(p.path, p.beforeValue, \"undo\");\n }\n function C(p, h) {\n (p.type === \"set\" || p.type === \"delete\") && h && typeof h.set == \"function\" && h.set(p.path, p.afterValue, \"redo\");\n }\n function E() {\n const p = e.value.filter((v) => v.reversible).length, h = e.value.map((v) => v.timestamp);\n return {\n operations: [...e.value],\n currentIndex: t.value,\n totalOperations: e.value.length,\n reversibleOperations: p,\n irreversibleOperations: e.value.length - p,\n oldestOperation: h.length > 0 ? new Date(Math.min(...h.map((v) => v.getTime()))) : void 0,\n newestOperation: h.length > 0 ? new Date(Math.max(...h.map((v) => v.getTime()))) : void 0\n };\n }\n function I() {\n e.value = [], t.value = -1;\n }\n function g(p, h) {\n return e.value.filter((v) => v.doctype === p && (h === void 0 || v.recordId === h));\n }\n function x(p, h) {\n const v = e.value.find((F) => F.id === p);\n v && (v.reversible = !1, v.irreversibleReason = h);\n }\n function L(p, h, v, F = \"success\", z) {\n const W = {\n type: \"action\",\n path: v && v.length > 0 ? `${p}.${v[0]}` : p,\n fieldname: \"\",\n beforeValue: null,\n afterValue: null,\n doctype: p,\n recordId: v && v.length > 0 ? v[0] : void 0,\n reversible: !1,\n // Actions are typically not reversible\n actionName: h,\n actionRecordIds: v,\n actionResult: F,\n actionError: z\n };\n return $(W);\n }\n let u = null;\n function f() {\n typeof window > \"u\" || !window.BroadcastChannel || (u = new BroadcastChannel(\"stonecrop-operation-log\"), u.addEventListener(\"message\", (p) => {\n const h = p.data;\n if (!h || typeof h != \"object\") return;\n const v = _t(h);\n v.clientId !== n.value && (v.type === \"operation\" && v.operation ? (e.value.push({ ...v.operation, source: \"sync\" }), t.value = e.value.length - 1) : v.type === \"operation\" && v.operations && (e.value.push(...v.operations.map((F) => ({ ...F, source: \"sync\" }))), t.value = e.value.length - 1));\n }));\n }\n function O(p) {\n if (!u) return;\n const h = {\n type: \"operation\",\n operation: p,\n clientId: n.value,\n timestamp: /* @__PURE__ */ new Date()\n };\n u.postMessage(de(h));\n }\n function y(p, h) {\n if (!u) return;\n const v = {\n type: \"operation\",\n operations: [...p, h],\n clientId: n.value,\n timestamp: /* @__PURE__ */ new Date()\n };\n u.postMessage(de(v));\n }\n function d(p) {\n if (!u) return;\n const h = {\n type: \"undo\",\n operation: p,\n clientId: n.value,\n timestamp: /* @__PURE__ */ new Date()\n };\n u.postMessage(de(h));\n }\n function m(p) {\n if (!u) return;\n const h = {\n type: \"redo\",\n operation: p,\n clientId: n.value,\n timestamp: /* @__PURE__ */ new Date()\n };\n u.postMessage(de(h));\n }\n const N = Et(\"stonecrop-ops-operations\", null, {\n serializer: {\n read: (p) => {\n try {\n return JSON.parse(p);\n } catch {\n return null;\n }\n },\n write: (p) => p ? JSON.stringify(p) : \"\"\n }\n });\n function A() {\n if (!(typeof window > \"u\"))\n try {\n const p = N.value;\n p && Array.isArray(p.operations) && (e.value = p.operations.map((h) => ({\n ...h,\n timestamp: new Date(h.timestamp)\n })), t.value = p.currentIndex ?? -1);\n } catch (p) {\n typeof console < \"u\" && console.error(\"Failed to load operations from persistence:\", p);\n }\n }\n function j() {\n if (!(typeof window > \"u\"))\n try {\n N.value = {\n operations: e.value.map((p) => ({\n ...p,\n timestamp: p.timestamp.toISOString()\n })),\n currentIndex: t.value\n };\n } catch (p) {\n typeof console < \"u\" && console.error(\"Failed to save operations to persistence:\", p);\n }\n }\n function V() {\n H(\n [e, t],\n () => {\n r.value.enablePersistence && j();\n },\n { deep: !0 }\n );\n }\n return {\n // State\n operations: e,\n currentIndex: t,\n config: r,\n clientId: n,\n undoRedoState: w,\n // Computed\n canUndo: a,\n canRedo: c,\n undoCount: l,\n redoCount: S,\n // Methods\n configure: P,\n addOperation: $,\n startBatch: T,\n commitBatch: k,\n cancelBatch: _,\n undo: D,\n redo: R,\n clear: I,\n getOperationsFor: g,\n getSnapshot: E,\n markIrreversible: x,\n logAction: L\n };\n});\nclass ie {\n /**\n * The root FieldTriggerEngine instance\n */\n static _root;\n options;\n doctypeActions = /* @__PURE__ */ new Map();\n // doctype -> action/field -> functions\n doctypeTransitions = /* @__PURE__ */ new Map();\n // doctype -> transition -> functions\n fieldRollbackConfig = /* @__PURE__ */ new Map();\n // doctype -> field -> rollback enabled\n globalActions = /* @__PURE__ */ new Map();\n // action name -> function\n globalTransitionActions = /* @__PURE__ */ new Map();\n // transition action name -> function\n /**\n * Creates a new FieldTriggerEngine instance (singleton pattern)\n * @param options - Configuration options for the field trigger engine\n */\n constructor(e = {}) {\n if (ie._root)\n return ie._root;\n ie._root = this, this.options = {\n defaultTimeout: e.defaultTimeout ?? 5e3,\n debug: e.debug ?? !1,\n enableRollback: e.enableRollback ?? !0,\n errorHandler: e.errorHandler\n };\n }\n /**\n * Register a global action function\n * @param name - The name of the action\n * @param fn - The action function\n */\n registerAction(e, t) {\n this.globalActions.set(e, t);\n }\n /**\n * Register a global XState transition action function\n * @param name - The name of the transition action\n * @param fn - The transition action function\n */\n registerTransitionAction(e, t) {\n this.globalTransitionActions.set(e, t);\n }\n /**\n * Configure rollback behavior for a specific field trigger\n * @param doctype - The doctype name\n * @param fieldname - The field name\n * @param enableRollback - Whether to enable rollback\n */\n setFieldRollback(e, t, n) {\n this.fieldRollbackConfig.has(e) || this.fieldRollbackConfig.set(e, /* @__PURE__ */ new Map()), this.fieldRollbackConfig.get(e).set(t, n);\n }\n /**\n * Get rollback configuration for a specific field trigger\n */\n getFieldRollback(e, t) {\n return this.fieldRollbackConfig.get(e)?.get(t);\n }\n /**\n * Register actions from a doctype - both regular actions and field triggers\n * Separates XState transitions (uppercase) from field triggers (lowercase)\n * @param doctype - The doctype name\n * @param actions - The actions to register (supports Immutable Map, Map, or plain object)\n */\n registerDoctypeActions(e, t) {\n if (!t) return;\n const n = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Map();\n if (typeof t.entrySeq == \"function\")\n t.entrySeq().forEach(([s, i]) => {\n this.categorizeAction(s, i, n, o);\n });\n else if (t instanceof Map)\n for (const [s, i] of t)\n this.categorizeAction(s, i, n, o);\n else t && typeof t == \"object\" && Object.entries(t).forEach(([s, i]) => {\n this.categorizeAction(s, i, n, o);\n });\n this.doctypeActions.set(e, n), this.doctypeTransitions.set(e, o);\n }\n /**\n * Categorize an action as either a field trigger or XState transition\n * Uses uppercase convention: UPPERCASE = transition, lowercase/mixed = field trigger\n */\n categorizeAction(e, t, n, o) {\n this.isTransitionKey(e) ? o.set(e, t) : n.set(e, t);\n }\n /**\n * Determine if a key represents an XState transition\n * Transitions are identified by being all uppercase\n */\n isTransitionKey(e) {\n return /^[A-Z0-9_]+$/.test(e) && e.length > 0;\n }\n /**\n * Execute field triggers for a changed field\n * @param context - The field change context\n * @param options - Execution options (timeout and enableRollback)\n */\n async executeFieldTriggers(e, t = {}) {\n const { doctype: n, fieldname: o } = e, s = this.findFieldTriggers(n, o);\n if (s.length === 0)\n return {\n path: e.path,\n actionResults: [],\n totalExecutionTime: 0,\n allSucceeded: !0,\n stoppedOnError: !1,\n rolledBack: !1\n };\n const i = performance.now(), a = [];\n let c = !1, l = !1, S;\n const w = this.getFieldRollback(n, o), P = t.enableRollback ?? w ?? this.options.enableRollback;\n P && e.store && (S = this.captureSnapshot(e));\n for (const _ of s)\n try {\n const D = await this.executeAction(_, e, t.timeout);\n if (a.push(D), !D.success) {\n c = !0;\n break;\n }\n } catch (D) {\n const b = {\n success: !1,\n error: D instanceof Error ? D : new Error(String(D)),\n executionTime: 0,\n action: _\n };\n a.push(b), c = !0;\n break;\n }\n if (P && c && S && e.store)\n try {\n this.restoreSnapshot(e, S), l = !0;\n } catch (_) {\n console.error(\"[FieldTriggers] Rollback failed:\", _);\n }\n const $ = performance.now() - i, T = a.filter((_) => !_.success);\n if (T.length > 0 && this.options.errorHandler)\n for (const _ of T)\n try {\n this.options.errorHandler(_.error, e, _.action);\n } catch (D) {\n console.error(\"[FieldTriggers] Error in global error handler:\", D);\n }\n return {\n path: e.path,\n actionResults: a,\n totalExecutionTime: $,\n allSucceeded: a.every((_) => _.success),\n stoppedOnError: c,\n rolledBack: l,\n snapshot: this.options.debug && P ? S : void 0\n // Only include snapshot in debug mode if rollback is enabled\n };\n }\n /**\n * Execute XState transition actions\n * Similar to field triggers but specifically for FSM state transitions\n * @param context - The transition change context\n * @param options - Execution options (timeout)\n */\n async executeTransitionActions(e, t = {}) {\n const { doctype: n, transition: o } = e, s = this.findTransitionActions(n, o);\n if (s.length === 0)\n return [];\n const i = [];\n for (const c of s)\n try {\n const l = await this.executeTransitionAction(c, e, t.timeout);\n if (i.push(l), !l.success)\n break;\n } catch (l) {\n const w = {\n success: !1,\n error: l instanceof Error ? l : new Error(String(l)),\n executionTime: 0,\n action: c,\n transition: o\n };\n i.push(w);\n break;\n }\n const a = i.filter((c) => !c.success);\n if (a.length > 0 && this.options.errorHandler)\n for (const c of a)\n try {\n this.options.errorHandler(c.error, e, c.action);\n } catch (l) {\n console.error(\"[FieldTriggers] Error in global error handler:\", l);\n }\n return i;\n }\n /**\n * Find transition actions for a specific doctype and transition\n */\n findTransitionActions(e, t) {\n const n = this.doctypeTransitions.get(e);\n return n ? n.get(t) || [] : [];\n }\n /**\n * Execute a single transition action by name\n */\n async executeTransitionAction(e, t, n) {\n const o = performance.now(), s = n ?? this.options.defaultTimeout;\n try {\n let i = this.globalTransitionActions.get(e);\n if (!i) {\n const c = this.globalActions.get(e);\n c && (i = c);\n }\n if (!i)\n throw new Error(`Transition action \"${e}\" not found in registry`);\n return await this.executeWithTimeout(i, t, s), {\n success: !0,\n executionTime: performance.now() - o,\n action: e,\n transition: t.transition\n };\n } catch (i) {\n const a = performance.now() - o;\n return {\n success: !1,\n error: i instanceof Error ? i : new Error(String(i)),\n executionTime: a,\n action: e,\n transition: t.transition\n };\n }\n }\n /**\n * Find field triggers for a specific doctype and field\n * Field triggers are identified by keys that look like field paths (contain dots or match field names)\n */\n findFieldTriggers(e, t) {\n const n = this.doctypeActions.get(e);\n if (!n) return [];\n const o = [];\n for (const [s, i] of n)\n this.isFieldTriggerKey(s, t) && o.push(...i);\n return o;\n }\n /**\n * Determine if an action key represents a field trigger\n * Field triggers can be:\n * - Exact field name match: \"emailAddress\"\n * - Wildcard patterns: \"emailAddress.*\", \"*.is_primary\"\n * - Nested field paths: \"address.street\", \"contact.email\"\n */\n isFieldTriggerKey(e, t) {\n return e === t ? !0 : e.includes(\".\") ? this.matchFieldPattern(e, t) : e.includes(\"*\") ? this.matchFieldPattern(e, t) : !1;\n }\n /**\n * Match a field pattern against a field name\n * Supports wildcards (*) for dynamic segments\n */\n matchFieldPattern(e, t) {\n const n = e.split(\".\"), o = t.split(\".\");\n if (n.length !== o.length)\n return !1;\n for (let s = 0; s < n.length; s++) {\n const i = n[s], a = o[s];\n if (i !== \"*\" && i !== a)\n return !1;\n }\n return !0;\n }\n /**\n * Execute a single action by name\n */\n async executeAction(e, t, n) {\n const o = performance.now(), s = n ?? this.options.defaultTimeout;\n try {\n const i = this.globalActions.get(e);\n if (!i)\n throw new Error(`Action \"${e}\" not found in registry`);\n return await this.executeWithTimeout(i, t, s), {\n success: !0,\n executionTime: performance.now() - o,\n action: e\n };\n } catch (i) {\n const a = performance.now() - o;\n return {\n success: !1,\n error: i instanceof Error ? i : new Error(String(i)),\n executionTime: a,\n action: e\n };\n }\n }\n /**\n * Execute a function with timeout\n */\n async executeWithTimeout(e, t, n) {\n return new Promise((o, s) => {\n const i = setTimeout(() => {\n s(new Error(`Action timeout after ${n}ms`));\n }, n);\n Promise.resolve(e(t)).then((a) => {\n clearTimeout(i), o(a);\n }).catch((a) => {\n clearTimeout(i), s(a);\n });\n });\n }\n /**\n * Capture a snapshot of the record state before executing actions\n * This creates a deep copy of the record data for potential rollback\n */\n captureSnapshot(e) {\n if (!(!e.store || !e.doctype || !e.recordId))\n try {\n const t = `${e.doctype}.${e.recordId}`, n = e.store.get(t);\n return !n || typeof n != \"object\" ? void 0 : JSON.parse(JSON.stringify(n));\n } catch (t) {\n this.options.debug && console.warn(\"[FieldTriggers] Failed to capture snapshot:\", t);\n return;\n }\n }\n /**\n * Restore a previously captured snapshot\n * This reverts the record to its state before actions were executed\n */\n restoreSnapshot(e, t) {\n if (!(!e.store || !e.doctype || !e.recordId || !t))\n try {\n const n = `${e.doctype}.${e.recordId}`;\n e.store.set(n, t), this.options.debug && console.log(`[FieldTriggers] Rolled back ${n} to previous state`);\n } catch (n) {\n throw console.error(\"[FieldTriggers] Failed to restore snapshot:\", n), n;\n }\n }\n}\nfunction G(r) {\n return new ie(r);\n}\nfunction Dt(r, e) {\n G().registerAction(r, e);\n}\nfunction Tt(r, e) {\n G().registerTransitionAction(r, e);\n}\nfunction Ct(r, e, t) {\n G().setFieldRollback(r, e, t);\n}\nasync function At(r, e, t) {\n const n = G(), o = {\n path: t?.path || (t?.recordId ? `${r}.${t.recordId}` : r),\n fieldname: \"\",\n beforeValue: void 0,\n afterValue: void 0,\n operation: \"set\",\n doctype: r,\n recordId: t?.recordId,\n timestamp: /* @__PURE__ */ new Date(),\n transition: e,\n currentState: t?.currentState,\n targetState: t?.targetState,\n fsmContext: t?.fsmContext\n };\n return await n.executeTransitionActions(o);\n}\nfunction Vt(r, e) {\n if (r)\n try {\n ue().markIrreversible(r, e);\n } catch {\n }\n}\nfunction Te() {\n try {\n return ue();\n } catch {\n return null;\n }\n}\nclass Q {\n static instance;\n /**\n * Gets the singleton instance of HST\n * @returns The HST singleton instance\n */\n static getInstance() {\n return Q.instance || (Q.instance = new Q()), Q.instance;\n }\n /**\n * Gets the global registry instance\n * @returns The global registry object or undefined if not found\n */\n getRegistry() {\n if (typeof globalThis < \"u\") {\n const e = globalThis.Registry?._root;\n if (e)\n return e;\n }\n if (typeof window < \"u\") {\n const e = window.Registry?._root;\n if (e)\n return e;\n }\n if (typeof global < \"u\" && global) {\n const e = global.Registry?._root;\n if (e)\n return e;\n }\n }\n /**\n * Helper method to get doctype metadata from the registry\n * @param doctype - The name of the doctype to retrieve metadata for\n * @returns The doctype metadata object or undefined if not found\n */\n getDoctypeMeta(e) {\n const t = this.getRegistry();\n if (t && typeof t == \"object\" && \"registry\" in t)\n return t.registry[e];\n }\n}\nclass ve {\n target;\n parentPath;\n rootNode;\n doctype;\n parentDoctype;\n hst;\n constructor(e, t, n = \"\", o = null, s) {\n return this.target = e, this.parentPath = n, this.rootNode = o || this, this.doctype = t, this.parentDoctype = s, this.hst = Q.getInstance(), new Proxy(this, {\n get(i, a) {\n if (a in i) return i[a];\n const c = String(a);\n return i.getNode(c);\n },\n set(i, a, c) {\n const l = String(a);\n return i.set(l, c), !0;\n }\n });\n }\n get(e) {\n return this.resolveValue(e);\n }\n // Method to get a tree-wrapped node for navigation\n getNode(e) {\n const t = this.resolvePath(e), n = this.resolveValue(e), o = t.split(\".\");\n let s = this.doctype;\n return this.doctype === \"StonecropStore\" && o.length >= 1 && (s = o[0]), typeof n == \"object\" && n !== null && !this.isPrimitive(n) ? new ve(n, s, t, this.rootNode, this.parentDoctype) : new ve(n, s, t, this.rootNode, this.parentDoctype);\n }\n set(e, t, n = \"user\") {\n const o = this.resolvePath(e), s = this.has(e) ? this.get(e) : void 0;\n if (n !== \"undo\" && n !== \"redo\") {\n const i = Te();\n if (i && typeof i.addOperation == \"function\") {\n const a = o.split(\".\"), c = this.doctype === \"StonecropStore\" && a.length >= 1 ? a[0] : this.doctype, l = a.length >= 2 ? a[1] : void 0, S = a.slice(2).join(\".\") || a[a.length - 1], P = t === void 0 && s !== void 0 ? \"delete\" : \"set\";\n i.addOperation(\n {\n type: P,\n path: o,\n fieldname: S,\n beforeValue: s,\n afterValue: t,\n doctype: c,\n recordId: l,\n reversible: !0\n // Default to reversible, can be changed by field triggers\n },\n n\n );\n }\n }\n this.updateValue(e, t), this.triggerFieldActions(o, s, t);\n }\n has(e) {\n try {\n if (e === \"\")\n return !0;\n const t = this.parsePath(e);\n let n = this.target;\n for (let o = 0; o < t.length; o++) {\n const s = t[o];\n if (n == null)\n return !1;\n if (o === t.length - 1)\n return this.isImmutable(n) ? n.has(s) : this.isPiniaStore(n) && n.$state && s in n.$state || s in n;\n n = this.getProperty(n, s);\n }\n return !1;\n } catch {\n return !1;\n }\n }\n // Tree navigation methods\n getParent() {\n if (!this.parentPath) return null;\n const t = this.parentPath.split(\".\").slice(0, -1).join(\".\");\n return t === \"\" ? this.rootNode : this.rootNode.getNode(t);\n }\n getRoot() {\n return this.rootNode;\n }\n getPath() {\n return this.parentPath;\n }\n getDepth() {\n return this.parentPath ? this.parentPath.split(\".\").length : 0;\n }\n getBreadcrumbs() {\n return this.parentPath ? this.parentPath.split(\".\") : [];\n }\n /**\n * Trigger an XState transition with optional context data\n */\n async triggerTransition(e, t) {\n const n = G(), o = this.parentPath.split(\".\");\n let s = this.doctype, i;\n this.doctype === \"StonecropStore\" && o.length >= 1 && (s = o[0]), o.length >= 2 && (i = o[1]);\n const a = {\n path: this.parentPath,\n fieldname: \"\",\n // No specific field for transitions\n beforeValue: void 0,\n afterValue: void 0,\n operation: \"set\",\n doctype: s,\n recordId: i,\n timestamp: /* @__PURE__ */ new Date(),\n store: this.rootNode || void 0,\n transition: e,\n currentState: t?.currentState,\n targetState: t?.targetState,\n fsmContext: t?.fsmContext\n }, c = Te();\n return c && typeof c.addOperation == \"function\" && c.addOperation(\n {\n type: \"transition\",\n path: this.parentPath,\n fieldname: e,\n beforeValue: t?.currentState,\n afterValue: t?.targetState,\n doctype: s,\n recordId: i,\n reversible: !1,\n // FSM transitions are generally not reversible\n metadata: {\n transition: e,\n currentState: t?.currentState,\n targetState: t?.targetState,\n fsmContext: t?.fsmContext\n }\n },\n \"user\"\n ), await n.executeTransitionActions(a);\n }\n // Private helper methods\n resolvePath(e) {\n return e === \"\" ? this.parentPath : this.parentPath ? `${this.parentPath}.${e}` : e;\n }\n resolveValue(e) {\n if (e === \"\")\n return this.target;\n const t = this.parsePath(e);\n let n = this.target;\n for (const o of t) {\n if (n == null)\n return;\n n = this.getProperty(n, o);\n }\n return n;\n }\n updateValue(e, t) {\n if (e === \"\")\n throw new Error(\"Cannot set value on empty path\");\n const n = this.parsePath(e), o = n.pop();\n let s = this.target;\n for (const i of n)\n if (s = this.getProperty(s, i), s == null)\n throw new Error(`Cannot set property on null/undefined path: ${e}`);\n this.setProperty(s, o, t);\n }\n getProperty(e, t) {\n return this.isImmutable(e) ? e.get(t) : this.isVueReactive(e) ? e[t] : this.isPiniaStore(e) ? e.$state?.[t] ?? e[t] : e[t];\n }\n setProperty(e, t, n) {\n if (this.isImmutable(e))\n throw new Error(\"Cannot directly mutate immutable objects. Use immutable update methods instead.\");\n if (this.isPiniaStore(e)) {\n e.$patch ? e.$patch({ [t]: n }) : e[t] = n;\n return;\n }\n e[t] = n;\n }\n async triggerFieldActions(e, t, n) {\n try {\n if (!e || typeof e != \"string\")\n return;\n const o = e.split(\".\");\n if (o.length < 3)\n return;\n const s = G(), i = o.slice(2).join(\".\") || o[o.length - 1];\n let a = this.doctype;\n this.doctype === \"StonecropStore\" && o.length >= 1 && (a = o[0]);\n let c;\n o.length >= 2 && (c = o[1]);\n const l = {\n path: e,\n fieldname: i,\n beforeValue: t,\n afterValue: n,\n operation: \"set\",\n doctype: a,\n recordId: c,\n timestamp: /* @__PURE__ */ new Date(),\n store: this.rootNode || void 0\n // Pass the root store for snapshot/rollback capabilities\n };\n await s.executeFieldTriggers(l);\n } catch (o) {\n o instanceof Error && console.warn(\"Field trigger error:\", o.message);\n }\n }\n isVueReactive(e) {\n return e && typeof e == \"object\" && \"__v_isReactive\" in e && e.__v_isReactive === !0;\n }\n isPiniaStore(e) {\n return e && typeof e == \"object\" && (\"$state\" in e || \"$patch\" in e || \"$id\" in e);\n }\n isImmutable(e) {\n if (!e || typeof e != \"object\")\n return !1;\n const t = \"get\" in e && typeof e.get == \"function\", n = \"set\" in e && typeof e.set == \"function\", o = \"has\" in e && typeof e.has == \"function\", s = \"__ownerID\" in e || \"_map\" in e || \"_list\" in e || \"_origin\" in e || \"_capacity\" in e || \"_defaultValues\" in e || \"_tail\" in e || \"_root\" in e || \"size\" in e && t && n;\n let i;\n try {\n const c = e;\n if (\"constructor\" in c && c.constructor && typeof c.constructor == \"object\" && \"name\" in c.constructor) {\n const l = c.constructor.name;\n i = typeof l == \"string\" ? l : void 0;\n }\n } catch {\n i = void 0;\n }\n const a = i && (i.includes(\"Map\") || i.includes(\"List\") || i.includes(\"Set\") || i.includes(\"Stack\") || i.includes(\"Seq\")) && (t || n);\n return !!(t && n && o && s || t && n && a);\n }\n isPrimitive(e) {\n return e == null || typeof e == \"string\" || typeof e == \"number\" || typeof e == \"boolean\" || typeof e == \"function\" || typeof e == \"symbol\" || typeof e == \"bigint\";\n }\n parsePath(e) {\n return e ? e.split(\".\").filter((t) => t.length > 0) : [];\n }\n}\nfunction Pt(r, e, t) {\n return new ve(r, e, \"\", null, t);\n}\nclass He {\n hstStore;\n _operationLogStore;\n _operationLogConfig;\n /** The registry instance containing all doctype definitions */\n registry;\n /**\n * Creates a new Stonecrop instance with HST integration\n * @param registry - The Registry instance containing doctype definitions\n * @param operationLogConfig - Optional configuration for the operation log\n */\n constructor(e, t) {\n this.registry = e, this._operationLogConfig = t, this.initializeHSTStore(), this.setupRegistrySync();\n }\n /**\n * Get the operation log store (lazy initialization)\n * @internal\n */\n getOperationLogStore() {\n return this._operationLogStore || (this._operationLogStore = ue(), this._operationLogConfig && this._operationLogStore.configure(this._operationLogConfig)), this._operationLogStore;\n }\n /**\n * Initialize the HST store structure\n */\n initializeHSTStore() {\n const e = {};\n Object.keys(this.registry.registry).forEach((t) => {\n e[t] = {};\n }), this.hstStore = Pt(e, \"StonecropStore\");\n }\n /**\n * Setup automatic sync with Registry when doctypes are added\n */\n setupRegistrySync() {\n const e = this.registry.addDoctype.bind(this.registry);\n this.registry.addDoctype = (t) => {\n e(t), this.hstStore.has(t.slug) || this.hstStore.set(t.slug, {});\n };\n }\n /**\n * Get records hash for a doctype\n * @param doctype - The doctype to get records for\n * @returns HST node containing records hash\n */\n records(e) {\n const t = typeof e == \"string\" ? e : e.slug;\n return this.ensureDoctypeExists(t), this.hstStore.getNode(t);\n }\n /**\n * Add a record to the store\n * @param doctype - The doctype\n * @param recordId - The record ID\n * @param recordData - The record data\n */\n addRecord(e, t, n) {\n const o = typeof e == \"string\" ? e : e.slug;\n this.ensureDoctypeExists(o), this.hstStore.set(`${o}.${t}`, n);\n }\n /**\n * Get a specific record\n * @param doctype - The doctype\n * @param recordId - The record ID\n * @returns HST node for the record or undefined\n */\n getRecordById(e, t) {\n const n = typeof e == \"string\" ? e : e.slug;\n if (this.ensureDoctypeExists(n), !(!this.hstStore.has(`${n}.${t}`) || this.hstStore.get(`${n}.${t}`) === void 0))\n return this.hstStore.getNode(`${n}.${t}`);\n }\n /**\n * Remove a record from the store\n * @param doctype - The doctype\n * @param recordId - The record ID\n */\n removeRecord(e, t) {\n const n = typeof e == \"string\" ? e : e.slug;\n this.ensureDoctypeExists(n), this.hstStore.has(`${n}.${t}`) && this.hstStore.set(`${n}.${t}`, void 0);\n }\n /**\n * Get all record IDs for a doctype\n * @param doctype - The doctype\n * @returns Array of record IDs\n */\n getRecordIds(e) {\n const t = typeof e == \"string\" ? e : e.slug;\n this.ensureDoctypeExists(t);\n const n = this.hstStore.get(t);\n return !n || typeof n != \"object\" ? [] : Object.keys(n).filter((o) => n[o] !== void 0);\n }\n /**\n * Clear all records for a doctype\n * @param doctype - The doctype\n */\n clearRecords(e) {\n const t = typeof e == \"string\" ? e : e.slug;\n this.ensureDoctypeExists(t), this.getRecordIds(t).forEach((o) => {\n this.hstStore.set(`${t}.${o}`, void 0);\n });\n }\n /**\n * Setup method for doctype initialization\n * @param doctype - The doctype to setup\n */\n setup(e) {\n this.ensureDoctypeExists(e.slug);\n }\n /**\n * Run action on doctype\n * Executes the action and logs it to the operation log for audit tracking\n * @param doctype - The doctype\n * @param action - The action to run\n * @param args - Action arguments (typically record IDs)\n */\n runAction(e, t, n) {\n const s = this.registry.registry[e.slug]?.actions?.get(t), i = Array.isArray(n) ? n.filter((S) => typeof S == \"string\") : void 0, a = this.getOperationLogStore();\n let c = \"success\", l;\n try {\n s && s.length > 0 && s.forEach((S) => {\n try {\n new Function(\"args\", S)(n);\n } catch (w) {\n throw c = \"failure\", l = w instanceof Error ? w.message : \"Unknown error\", w;\n }\n });\n } catch {\n } finally {\n a.logAction(e.doctype, t, i, c, l);\n }\n }\n /**\n * Get records from server (maintains compatibility)\n * @param doctype - The doctype\n */\n async getRecords(e) {\n (await (await fetch(`/${e.slug}`)).json()).forEach((o) => {\n o.id && this.addRecord(e, o.id, o);\n });\n }\n /**\n * Get single record from server (maintains compatibility)\n * @param doctype - The doctype\n * @param recordId - The record ID\n */\n async getRecord(e, t) {\n const o = await (await fetch(`/${e.slug}/${t}`)).json();\n this.addRecord(e, t, o);\n }\n /**\n * Ensure doctype section exists in HST store\n * @param slug - The doctype slug\n */\n ensureDoctypeExists(e) {\n this.hstStore.has(e) || this.hstStore.set(e, {});\n }\n /**\n * Get doctype metadata from the registry\n * @param context - The route context\n * @returns The doctype metadata\n */\n async getMeta(e) {\n if (!this.registry.getMeta)\n throw new Error(\"No getMeta function provided to Registry\");\n return await this.registry.getMeta(e);\n }\n /**\n * Get the root HST store node for advanced usage\n * @returns Root HST node\n */\n getStore() {\n return this.hstStore;\n }\n}\nfunction Ft(r) {\n r || (r = {});\n const e = r.registry || he(\"$registry\"), t = he(\"$stonecrop\"), n = M(), o = M(), s = M({}), i = M(), a = M(), c = M([]), l = M(-1), S = B(() => n.value?.getOperationLogStore().canUndo ?? !1), w = B(() => n.value?.getOperationLogStore().canRedo ?? !1), P = B(() => n.value?.getOperationLogStore().undoCount ?? 0), $ = B(() => n.value?.getOperationLogStore().redoCount ?? 0), T = B(\n () => n.value?.getOperationLogStore().undoRedoState ?? {\n canUndo: !1,\n canRedo: !1,\n undoCount: 0,\n redoCount: 0,\n currentIndex: -1\n }\n ), k = (y) => n.value?.getOperationLogStore().undo(y) ?? !1, _ = (y) => n.value?.getOperationLogStore().redo(y) ?? !1, D = () => {\n n.value?.getOperationLogStore().startBatch();\n }, R = (y) => n.value?.getOperationLogStore().commitBatch(y) ?? null, b = () => {\n n.value?.getOperationLogStore().cancelBatch();\n }, C = () => {\n n.value?.getOperationLogStore().clear();\n }, E = (y, d) => n.value?.getOperationLogStore().getOperationsFor(y, d) ?? [], I = () => n.value?.getOperationLogStore().getSnapshot() ?? {\n operations: [],\n currentIndex: -1,\n totalOperations: 0,\n reversibleOperations: 0,\n irreversibleOperations: 0\n }, g = (y, d) => {\n n.value?.getOperationLogStore().markIrreversible(y, d);\n }, x = (y, d, m, N = \"success\", A) => n.value?.getOperationLogStore().logAction(y, d, m, N, A) ?? \"\", L = (y) => {\n n.value?.getOperationLogStore().configure(y);\n };\n Le(async () => {\n if (e) {\n n.value = t || new He(e);\n try {\n const y = n.value.getOperationLogStore(), d = Ue(y);\n c.value = d.operations.value, l.value = d.currentIndex.value, H(\n () => d.operations.value,\n (m) => {\n c.value = m;\n }\n ), H(\n () => d.currentIndex.value,\n (m) => {\n l.value = m;\n }\n );\n } catch {\n }\n if (!r.doctype && e.router) {\n const y = e.router.currentRoute.value;\n if (!y.path) return;\n const d = y.path.split(\"/\").filter((N) => N.length > 0), m = d[1]?.toLowerCase();\n if (d.length > 0) {\n const N = {\n path: y.path,\n segments: d\n }, A = await e.getMeta?.(N);\n if (A) {\n if (e.addDoctype(A), n.value.setup(A), i.value = A, a.value = m, o.value = n.value.getStore(), m && m !== \"new\") {\n const j = n.value.getRecordById(A, m);\n if (j)\n s.value = j.get(\"\") || {};\n else\n try {\n await n.value.getRecord(A, m);\n const V = n.value.getRecordById(A, m);\n V && (s.value = V.get(\"\") || {});\n } catch {\n s.value = pe(A);\n }\n } else\n s.value = pe(A);\n o.value && Ce(A, m || \"new\", s, o.value), n.value.runAction(A, \"load\", m ? [m] : void 0);\n }\n }\n }\n if (r.doctype) {\n o.value = n.value.getStore();\n const y = r.doctype, d = r.recordId;\n if (d && d !== \"new\") {\n const m = n.value.getRecordById(y, d);\n if (m)\n s.value = m.get(\"\") || {};\n else\n try {\n await n.value.getRecord(y, d);\n const N = n.value.getRecordById(y, d);\n N && (s.value = N.get(\"\") || {});\n } catch {\n s.value = pe(y);\n }\n } else\n s.value = pe(y);\n o.value && Ce(y, d || \"new\", s, o.value);\n }\n }\n });\n const u = (y, d) => {\n const m = r.doctype || i.value;\n if (!m) return \"\";\n const N = d || r.recordId || a.value || \"new\";\n return `${m.slug}.${N}.${y}`;\n }, f = (y) => {\n const d = r.doctype || i.value;\n if (!(!o.value || !n.value || !d))\n try {\n const m = y.path.split(\".\");\n if (m.length >= 2) {\n const j = m[0], V = m[1];\n if (o.value.has(`${j}.${V}`) || n.value.addRecord(d, V, { ...s.value }), m.length > 3) {\n const p = `${j}.${V}`, h = m.slice(2);\n let v = p;\n for (let F = 0; F < h.length - 1; F++)\n if (v += `.${h[F]}`, !o.value.has(v)) {\n const z = h[F + 1], W = !isNaN(Number(z));\n o.value.set(v, W ? [] : {});\n }\n }\n }\n o.value.set(y.path, y.value);\n const N = y.fieldname.split(\".\"), A = { ...s.value };\n N.length === 1 ? A[N[0]] = y.value : Nt(A, N, y.value), s.value = A;\n } catch {\n }\n };\n (r.doctype || e?.router) && (_e(\"hstPathProvider\", u), _e(\"hstChangeHandler\", f));\n const O = {\n operations: c,\n currentIndex: l,\n undoRedoState: T,\n canUndo: S,\n canRedo: w,\n undoCount: P,\n redoCount: $,\n undo: k,\n redo: _,\n startBatch: D,\n commitBatch: R,\n cancelBatch: b,\n clear: C,\n getOperationsFor: E,\n getSnapshot: I,\n markIrreversible: g,\n logAction: x,\n configure: L\n };\n return r.doctype ? {\n stonecrop: n,\n operationLog: O,\n provideHSTPath: u,\n handleHSTChange: f,\n hstStore: o,\n formData: s\n } : !r.doctype && e?.router ? {\n stonecrop: n,\n operationLog: O,\n provideHSTPath: u,\n handleHSTChange: f,\n hstStore: o,\n formData: s\n } : {\n stonecrop: n,\n operationLog: O\n };\n}\nfunction pe(r) {\n const e = {};\n return r.schema && r.schema.forEach((t) => {\n switch (\"fieldtype\" in t ? t.fieldtype : \"Data\") {\n case \"Data\":\n case \"Text\":\n e[t.fieldname] = \"\";\n break;\n case \"Check\":\n e[t.fieldname] = !1;\n break;\n case \"Int\":\n case \"Float\":\n e[t.fieldname] = 0;\n break;\n case \"Table\":\n e[t.fieldname] = [];\n break;\n case \"JSON\":\n e[t.fieldname] = {};\n break;\n default:\n e[t.fieldname] = null;\n }\n }), e;\n}\nfunction Ce(r, e, t, n) {\n H(\n t,\n (o) => {\n const s = `${r.slug}.${e}`;\n Object.keys(o).forEach((i) => {\n const a = `${s}.${i}`;\n try {\n n.set(a, o[i]);\n } catch {\n }\n });\n },\n { deep: !0 }\n );\n}\nfunction Nt(r, e, t) {\n let n = r;\n for (let s = 0; s < e.length - 1; s++) {\n const i = e[s];\n (!(i in n) || typeof n[i] != \"object\") && (n[i] = isNaN(Number(e[s + 1])) ? {} : []), n = n[i];\n }\n const o = e[e.length - 1];\n n[o] = t;\n}\nfunction Je(r) {\n const t = he(\"$operationLogStore\", void 0) || ue();\n r && t.configure(r);\n const { operations: n, currentIndex: o, undoRedoState: s, canUndo: i, canRedo: a, undoCount: c, redoCount: l } = Ue(t);\n function S(E) {\n return t.undo(E);\n }\n function w(E) {\n return t.redo(E);\n }\n function P() {\n t.startBatch();\n }\n function $(E) {\n return t.commitBatch(E);\n }\n function T() {\n t.cancelBatch();\n }\n function k() {\n t.clear();\n }\n function _(E, I) {\n return t.getOperationsFor(E, I);\n }\n function D() {\n return t.getSnapshot();\n }\n function R(E, I) {\n t.markIrreversible(E, I);\n }\n function b(E, I, g, x = \"success\", L) {\n return t.logAction(E, I, g, x, L);\n }\n function C(E) {\n t.configure(E);\n }\n return {\n // State\n operations: n,\n currentIndex: o,\n undoRedoState: s,\n canUndo: i,\n canRedo: a,\n undoCount: c,\n redoCount: l,\n // Methods\n undo: S,\n redo: w,\n startBatch: P,\n commitBatch: $,\n cancelBatch: T,\n clear: k,\n getOperationsFor: _,\n getSnapshot: D,\n markIrreversible: R,\n logAction: b,\n configure: C\n };\n}\nfunction kt(r, e = !0) {\n if (!e) return;\n const { undo: t, redo: n, canUndo: o, canRedo: s } = Je(), i = Rt();\n ee(i[\"Ctrl+Z\"], () => {\n o.value && t(r);\n }), ee(i[\"Meta+Z\"], () => {\n o.value && t(r);\n }), ee(i[\"Ctrl+Shift+Z\"], () => {\n s.value && n(r);\n }), ee(i[\"Meta+Shift+Z\"], () => {\n s.value && n(r);\n }), ee(i[\"Ctrl+Y\"], () => {\n s.value && n(r);\n });\n}\nasync function Lt(r, e) {\n const { startBatch: t, commitBatch: n, cancelBatch: o } = Je();\n t();\n try {\n return await r(), n(e);\n } catch (s) {\n throw o(), s;\n }\n}\nclass Mt {\n /**\n * The doctype name\n * @public\n * @readonly\n */\n doctype;\n /**\n * The doctype schema\n * @public\n * @readonly\n */\n schema;\n /**\n * The doctype workflow\n * @public\n * @readonly\n */\n workflow;\n /**\n * The doctype actions and field triggers\n * @public\n * @readonly\n */\n actions;\n /**\n * The doctype component\n * @public\n * @readonly\n */\n component;\n /**\n * Creates a new DoctypeMeta instance\n * @param doctype - The doctype name\n * @param schema - The doctype schema definition\n * @param workflow - The doctype workflow configuration (XState machine)\n * @param actions - The doctype actions and field triggers\n * @param component - Optional Vue component for rendering the doctype\n */\n constructor(e, t, n, o, s) {\n this.doctype = e, this.schema = t, this.workflow = n, this.actions = o, this.component = s;\n }\n /**\n * Converts the registered doctype string to a slug (kebab-case). The following conversions are made:\n * - It replaces camelCase and PascalCase with kebab-case strings\n * - It replaces spaces and underscores with hyphens\n * - It converts the string to lowercase\n *\n * @returns The slugified doctype string\n *\n * @example\n * ```ts\n * const doctype = new DoctypeMeta('TaskItem', schema, workflow, actions\n * console.log(doctype.slug) // 'task-item'\n * ```\n *\n * @public\n */\n get slug() {\n return this.doctype.replace(/([a-z])([A-Z])/g, \"$1-$2\").replace(/[\\s_]+/g, \"-\").toLowerCase();\n }\n}\nclass ae {\n /**\n * The root Registry instance\n */\n static _root;\n /**\n * The name of the Registry instance\n *\n * @defaultValue 'Registry'\n */\n name;\n /**\n * The registry property contains a collection of doctypes\n * @see {@link DoctypeMeta}\n */\n registry;\n /**\n * The Vue router instance\n * @see {@link https://router.vuejs.org/}\n */\n router;\n /**\n * Creates a new Registry instance (singleton pattern)\n * @param router - Optional Vue router instance for route management\n * @param getMeta - Optional function to fetch doctype metadata from an API\n */\n constructor(e, t) {\n if (ae._root)\n return ae._root;\n ae._root = this, this.name = \"Registry\", this.registry = {}, this.router = e, this.getMeta = t;\n }\n /**\n * The getMeta function fetches doctype metadata from an API based on route context\n * @see {@link DoctypeMeta}\n */\n getMeta;\n /**\n * Get doctype metadata\n * @param doctype - The doctype to fetch metadata for\n * @returns The doctype metadata\n * @see {@link DoctypeMeta}\n */\n addDoctype(e) {\n e.doctype in Object.keys(this.registry) || (this.registry[e.slug] = e);\n const t = G();\n t.registerDoctypeActions(e.doctype, e.actions), e.slug !== e.doctype && t.registerDoctypeActions(e.slug, e.actions), e.component && this.router && !this.router.hasRoute(e.doctype) && this.router.addRoute({\n path: `/${e.slug}`,\n name: e.slug,\n component: e.component\n });\n }\n // TODO: should we allow clearing the registry at all?\n // clear() {\n // \tthis.registry = {}\n // \tif (this.router) {\n // \t\tconst routes = this.router.getRoutes()\n // \t\tfor (const route of routes) {\n // \t\t\tif (route.name) {\n // \t\t\t\tthis.router.removeRoute(route.name)\n // \t\t\t}\n // \t\t}\n // \t}\n // }\n}\nasync function It(r, e, t) {\n await ce();\n try {\n await t(r, e);\n } catch {\n }\n}\nconst xt = {\n install: (r, e) => {\n const t = r.config.globalProperties.$router, n = e?.router, o = t || n;\n !t && n && r.use(n);\n const s = new ae(o, e?.getMeta);\n r.provide(\"$registry\", s), r.config.globalProperties.$registry = s;\n const i = new He(s);\n r.provide(\"$stonecrop\", i), r.config.globalProperties.$stonecrop = i;\n try {\n const a = r.config.globalProperties.$pinia;\n if (a) {\n const c = ue(a);\n r.provide(\"$operationLogStore\", c), r.config.globalProperties.$operationLogStore = c;\n }\n } catch (a) {\n console.warn(\"Pinia not available - operation log features will be disabled:\", a);\n }\n if (e?.components)\n for (const [a, c] of Object.entries(e.components))\n r.component(a, c);\n e?.autoInitializeRouter && e.onRouterInitialized && It(s, i, e.onRouterInitialized);\n }\n};\nexport {\n Mt as DoctypeMeta,\n Q as HST,\n ae as Registry,\n He as Stonecrop,\n Pt as createHST,\n xt as default,\n G as getGlobalTriggerEngine,\n Vt as markOperationIrreversible,\n Dt as registerGlobalAction,\n Tt as registerTransitionAction,\n Ct as setFieldRollback,\n At as triggerTransition,\n Je as useOperationLog,\n ue as useOperationLogStore,\n Ft as useStonecrop,\n kt as useUndoRedoShortcuts,\n Lt as withBatch\n};\n//# sourceMappingURL=stonecrop.js.map\n","import { defineComponent as C, mergeModels as z, useModel as q, createElementBlock as b, openBlock as g, createElementVNode as c, withDirectives as M, toDisplayString as I, vModelCheckbox as Pe, vShow as U, resolveComponent as Fe, createBlock as le, withCtx as Re, useTemplateRef as De, vModelText as H, watch as F, getCurrentScope as Ee, onScopeDispose as Me, toRef as Oe, readonly as Ie, ref as D, customRef as He, computed as T, watchEffect as Ae, toValue as w, unref as S, shallowRef as G, reactive as Be, normalizeClass as X, withKeys as R, Fragment as j, renderList as Y, withModifiers as Te, onMounted as ae, onBeforeUnmount as qe, getCurrentInstance as Ue, nextTick as We, resolveDynamicComponent as Ne, mergeProps as je, renderSlot as Ye, createTextVNode as Ce, createCommentVNode as se, createVNode as Ke } from \"vue\";\nimport './assets/index.css';const ze = { class: \"aform_form-element\" }, Ge = [\"for\"], Je = { class: \"aform_checkbox-container aform_input-field\" }, Qe = [\"id\", \"readonly\", \"required\"], Xe = [\"innerHTML\"], Ze = /* @__PURE__ */ C({\n __name: \"ACheckbox\",\n props: /* @__PURE__ */ z({\n schema: {},\n label: {},\n mask: {},\n required: { type: Boolean },\n readonly: { type: Boolean },\n uuid: {},\n validation: { default: () => ({ errorMessage: \"&nbsp;\" }) }\n }, {\n modelValue: {},\n modelModifiers: {}\n }),\n emits: [\"update:modelValue\"],\n setup(e) {\n const t = q(e, \"modelValue\");\n return (n, o) => (g(), b(\"div\", ze, [\n c(\"label\", {\n class: \"aform_field-label\",\n for: e.uuid\n }, I(e.label), 9, Ge),\n c(\"span\", Je, [\n M(c(\"input\", {\n id: e.uuid,\n \"onUpdate:modelValue\": o[0] || (o[0] = (r) => t.value = r),\n type: \"checkbox\",\n class: \"aform_checkbox\",\n readonly: e.readonly,\n required: e.required\n }, null, 8, Qe), [\n [Pe, t.value]\n ])\n ]),\n M(c(\"p\", {\n class: \"aform_error\",\n innerHTML: e.validation.errorMessage\n }, null, 8, Xe), [\n [U, e.validation.errorMessage]\n ])\n ]));\n }\n}), _ = (e, t) => {\n const n = e.__vccOpts || e;\n for (const [o, r] of t)\n n[o] = r;\n return n;\n}, et = /* @__PURE__ */ _(Ze, [[\"__scopeId\", \"data-v-aaa1a4c4\"]]), tt = /* @__PURE__ */ C({\n __name: \"AComboBox\",\n props: [\"event\", \"cellData\", \"tableID\"],\n setup(e) {\n return (t, n) => {\n const o = Fe(\"ATableModal\");\n return g(), le(o, {\n event: e.event,\n \"cell-data\": e.cellData,\n class: \"amodal\"\n }, {\n default: Re(() => [...n[0] || (n[0] = [\n c(\"div\", null, [\n c(\"input\", { type: \"text\" }),\n c(\"input\", { type: \"text\" }),\n c(\"input\", { type: \"text\" })\n ], -1)\n ])]),\n _: 1\n }, 8, [\"event\", \"cell-data\"]);\n };\n }\n}), nt = [\"id\", \"disabled\", \"required\"], ot = [\"for\"], lt = [\"innerHTML\"], at = /* @__PURE__ */ C({\n __name: \"ADate\",\n props: /* @__PURE__ */ z({\n schema: {},\n label: { default: \"Date\" },\n mask: {},\n required: { type: Boolean },\n readonly: { type: Boolean },\n uuid: {},\n validation: { default: () => ({ errorMessage: \"&nbsp;\" }) }\n }, {\n modelValue: {\n // format the date to be compatible with the native input datepicker\n },\n modelModifiers: {}\n }),\n emits: [\"update:modelValue\"],\n setup(e) {\n const t = q(e, \"modelValue\", {\n // format the date to be compatible with the native input datepicker\n set: (r) => new Date(r).toISOString().split(\"T\")[0]\n }), n = De(\"date\"), o = () => {\n n.value && \"showPicker\" in HTMLInputElement.prototype && n.value.showPicker();\n };\n return (r, u) => (g(), b(\"div\", null, [\n M(c(\"input\", {\n id: e.uuid,\n ref: \"date\",\n \"onUpdate:modelValue\": u[0] || (u[0] = (s) => t.value = s),\n type: \"date\",\n disabled: e.readonly,\n required: e.required,\n onClick: o\n }, null, 8, nt), [\n [H, t.value]\n ]),\n c(\"label\", { for: e.uuid }, I(e.label), 9, ot),\n M(c(\"p\", {\n innerHTML: e.validation.errorMessage\n }, null, 8, lt), [\n [U, e.validation.errorMessage]\n ])\n ]));\n }\n}), st = /* @__PURE__ */ _(at, [[\"__scopeId\", \"data-v-455d9e30\"]]);\nfunction re(e, t) {\n return Ee() ? (Me(e, t), !0) : !1;\n}\n// @__NO_SIDE_EFFECTS__\nfunction me() {\n const e = /* @__PURE__ */ new Set(), t = (u) => {\n e.delete(u);\n };\n return {\n on: (u) => {\n e.add(u);\n const s = () => t(u);\n return re(s), { off: s };\n },\n off: t,\n trigger: (...u) => Promise.all(Array.from(e).map((s) => s(...u))),\n clear: () => {\n e.clear();\n }\n };\n}\nconst $e = typeof window < \"u\" && typeof document < \"u\";\ntypeof WorkerGlobalScope < \"u\" && globalThis instanceof WorkerGlobalScope;\nconst rt = Object.prototype.toString, it = (e) => rt.call(e) === \"[object Object]\", N = () => {\n}, ut = (e, t) => Object.prototype.hasOwnProperty.call(e, t);\nfunction ct(...e) {\n if (e.length !== 1) return Oe(...e);\n const t = e[0];\n return typeof t == \"function\" ? Ie(He(() => ({\n get: t,\n set: N\n }))) : D(t);\n}\nfunction Z(e) {\n return Array.isArray(e) ? e : [e];\n}\nfunction dt(e, t, n) {\n return F(e, t, {\n ...n,\n immediate: !0\n });\n}\nconst Se = $e ? window : void 0, ft = $e ? window.document : void 0;\nfunction O(e) {\n var t;\n const n = w(e);\n return (t = n?.$el) !== null && t !== void 0 ? t : n;\n}\nfunction ee(...e) {\n const t = [], n = () => {\n t.forEach((l) => l()), t.length = 0;\n }, o = (l, a, i, f) => (l.addEventListener(a, i, f), () => l.removeEventListener(a, i, f)), r = T(() => {\n const l = Z(w(e[0])).filter((a) => a != null);\n return l.every((a) => typeof a != \"string\") ? l : void 0;\n }), u = dt(() => {\n var l, a;\n return [\n (l = (a = r.value) === null || a === void 0 ? void 0 : a.map((i) => O(i))) !== null && l !== void 0 ? l : [Se].filter((i) => i != null),\n Z(w(r.value ? e[1] : e[0])),\n Z(S(r.value ? e[2] : e[1])),\n w(r.value ? e[3] : e[2])\n ];\n }, ([l, a, i, f]) => {\n if (n(), !l?.length || !a?.length || !i?.length) return;\n const v = it(f) ? { ...f } : f;\n t.push(...l.flatMap((d) => a.flatMap((p) => i.map((k) => o(d, p, k, v)))));\n }, { flush: \"post\" }), s = () => {\n u(), n();\n };\n return re(n), s;\n}\nfunction ve(e, t, n = {}) {\n const { window: o = Se, ignore: r = [], capture: u = !0, detectIframe: s = !1, controls: l = !1 } = n;\n if (!o) return l ? {\n stop: N,\n cancel: N,\n trigger: N\n } : N;\n let a = !0;\n const i = (m) => w(r).some((h) => {\n if (typeof h == \"string\") return Array.from(o.document.querySelectorAll(h)).some((E) => E === m.target || m.composedPath().includes(E));\n {\n const E = O(h);\n return E && (m.target === E || m.composedPath().includes(E));\n }\n });\n function f(m) {\n const h = w(m);\n return h && h.$.subTree.shapeFlag === 16;\n }\n function v(m, h) {\n const E = w(m), y = E.$.subTree && E.$.subTree.children;\n return y == null || !Array.isArray(y) ? !1 : y.some((x) => x.el === h.target || h.composedPath().includes(x.el));\n }\n const d = (m) => {\n const h = O(e);\n if (m.target != null && !(!(h instanceof Element) && f(e) && v(e, m)) && !(!h || h === m.target || m.composedPath().includes(h))) {\n if (\"detail\" in m && m.detail === 0 && (a = !i(m)), !a) {\n a = !0;\n return;\n }\n t(m);\n }\n };\n let p = !1;\n const k = [\n ee(o, \"click\", (m) => {\n p || (p = !0, setTimeout(() => {\n p = !1;\n }, 0), d(m));\n }, {\n passive: !0,\n capture: u\n }),\n ee(o, \"pointerdown\", (m) => {\n const h = O(e);\n a = !i(m) && !!(h && !m.composedPath().includes(h));\n }, { passive: !0 }),\n s && ee(o, \"blur\", (m) => {\n setTimeout(() => {\n var h;\n const E = O(e);\n ((h = o.document.activeElement) === null || h === void 0 ? void 0 : h.tagName) === \"IFRAME\" && !E?.contains(o.document.activeElement) && t(m);\n }, 0);\n }, { passive: !0 })\n ].filter(Boolean), A = () => k.forEach((m) => m());\n return l ? {\n stop: A,\n cancel: () => {\n a = !1;\n },\n trigger: (m) => {\n a = !0, d(m), a = !1;\n }\n } : A;\n}\nconst mt = {\n multiple: !0,\n accept: \"*\",\n reset: !1,\n directory: !1\n};\nfunction vt(e) {\n if (!e) return null;\n if (e instanceof FileList) return e;\n const t = new DataTransfer();\n for (const n of e) t.items.add(n);\n return t.files;\n}\nfunction pt(e = {}) {\n const { document: t = ft } = e, n = D(vt(e.initialFiles)), { on: o, trigger: r } = /* @__PURE__ */ me(), { on: u, trigger: s } = /* @__PURE__ */ me(), l = T(() => {\n var v;\n const d = (v = O(e.input)) !== null && v !== void 0 ? v : t ? t.createElement(\"input\") : void 0;\n return d && (d.type = \"file\", d.onchange = (p) => {\n n.value = p.target.files, r(n.value);\n }, d.oncancel = () => {\n s();\n }), d;\n }), a = () => {\n n.value = null, l.value && l.value.value && (l.value.value = \"\", r(null));\n }, i = (v) => {\n const d = l.value;\n d && (d.multiple = w(v.multiple), d.accept = w(v.accept), d.webkitdirectory = w(v.directory), ut(v, \"capture\") && (d.capture = w(v.capture)));\n }, f = (v) => {\n const d = l.value;\n if (!d) return;\n const p = {\n ...mt,\n ...e,\n ...v\n };\n i(p), w(p.reset) && a(), d.click();\n };\n return Ae(() => {\n i(e);\n }), {\n files: Ie(n),\n open: f,\n reset: a,\n onCancel: u,\n onChange: o\n };\n}\nfunction te(e) {\n return typeof Window < \"u\" && e instanceof Window ? e.document.documentElement : typeof Document < \"u\" && e instanceof Document ? e.documentElement : e;\n}\nconst ne = /* @__PURE__ */ new WeakMap();\nfunction ht(e, t = !1) {\n const n = G(t);\n let o = \"\";\n F(ct(e), (s) => {\n const l = te(w(s));\n if (l) {\n const a = l;\n if (ne.get(a) || ne.set(a, a.style.overflow), a.style.overflow !== \"hidden\" && (o = a.style.overflow), a.style.overflow === \"hidden\") return n.value = !0;\n if (n.value) return a.style.overflow = \"hidden\";\n }\n }, { immediate: !0 });\n const r = () => {\n const s = te(w(e));\n !s || n.value || (s.style.overflow = \"hidden\", n.value = !0);\n }, u = () => {\n const s = te(w(e));\n !s || !n.value || (s.style.overflow = o, ne.delete(s), n.value = !1);\n };\n return re(u), T({\n get() {\n return n.value;\n },\n set(s) {\n s ? r() : u();\n }\n });\n}\nconst oe = /* @__PURE__ */ new WeakMap(), gt = {\n mounted(e, t) {\n const n = !t.modifiers.bubble;\n let o;\n if (typeof t.value == \"function\") o = ve(e, t.value, { capture: n });\n else {\n const [r, u] = t.value;\n o = ve(e, r, Object.assign({ capture: n }, u));\n }\n oe.set(e, o);\n },\n unmounted(e) {\n const t = oe.get(e);\n t && typeof t == \"function\" ? t() : t?.stop(), oe.delete(e);\n }\n};\nfunction yt() {\n let e = !1;\n const t = G(!1);\n return (n, o) => {\n if (t.value = o.value, e) return;\n e = !0;\n const r = ht(n, o.value);\n F(t, (u) => r.value = u);\n };\n}\nyt();\nconst bt = { class: \"input-wrapper\" }, wt = {\n id: \"autocomplete-results\",\n class: \"autocomplete-results\"\n}, kt = {\n key: 0,\n class: \"loading autocomplete-result\"\n}, xt = [\"onClick\"], Dt = /* @__PURE__ */ C({\n __name: \"ADropdown\",\n props: /* @__PURE__ */ z({\n label: {},\n items: { default: () => [] },\n isAsync: { type: Boolean, default: !1 },\n filterFunction: { type: Function, default: void 0 }\n }, {\n modelValue: {},\n modelModifiers: {}\n }),\n emits: [\"update:modelValue\"],\n setup(e) {\n const t = q(e, \"modelValue\"), n = Be({\n activeItemIndex: null,\n open: !1,\n loading: !1,\n results: e.items\n }), o = () => l(), r = async () => {\n if (n.open = !0, n.activeItemIndex = null, e.filterFunction) {\n e.isAsync && (n.loading = !0);\n try {\n const d = await e.filterFunction(t.value || \"\");\n n.results = d || [];\n } catch {\n n.results = [];\n } finally {\n e.isAsync && (n.loading = !1);\n }\n } else\n a();\n }, u = (d) => {\n t.value = d, l(d);\n }, s = () => {\n n.activeItemIndex = e.isAsync ? null : t.value && e.items?.indexOf(t.value) || null, n.open = !0, n.results = e.isAsync ? [] : e.items;\n }, l = (d) => {\n n.activeItemIndex = null, n.open = !1, e.items?.includes(d || t.value || \"\") || (t.value = \"\");\n }, a = () => {\n t.value ? n.results = e.items?.filter((d) => d.toLowerCase().includes((t.value ?? \"\").toLowerCase())) : n.results = e.items;\n }, i = () => {\n const d = n.results?.length || 0;\n if (n.activeItemIndex != null) {\n const p = isNaN(n.activeItemIndex) ? 0 : n.activeItemIndex;\n n.activeItemIndex = (p + 1) % d;\n } else\n n.activeItemIndex = 0;\n }, f = () => {\n const d = n.results?.length || 0;\n if (n.activeItemIndex != null) {\n const p = isNaN(n.activeItemIndex) ? 0 : n.activeItemIndex;\n p === 0 ? n.activeItemIndex = null : n.activeItemIndex = p - 1;\n } else\n n.activeItemIndex = d - 1;\n }, v = () => {\n if (n.results) {\n const d = n.activeItemIndex || 0, p = n.results[d];\n u(p);\n }\n n.activeItemIndex = 0;\n };\n return (d, p) => M((g(), b(\"div\", {\n class: X([\"autocomplete\", { isOpen: n.open }])\n }, [\n c(\"div\", bt, [\n M(c(\"input\", {\n \"onUpdate:modelValue\": p[0] || (p[0] = (k) => t.value = k),\n type: \"text\",\n onInput: r,\n onFocus: s,\n onKeydown: [\n R(i, [\"down\"]),\n R(f, [\"up\"]),\n R(v, [\"enter\"]),\n R(o, [\"esc\"]),\n R(o, [\"tab\"])\n ]\n }, null, 544), [\n [H, t.value]\n ]),\n M(c(\"ul\", wt, [\n n.loading ? (g(), b(\"li\", kt, \"Loading results...\")) : (g(!0), b(j, { key: 1 }, Y(n.results, (k, A) => (g(), b(\"li\", {\n key: k,\n class: X([\"autocomplete-result\", { \"is-active\": A === n.activeItemIndex }]),\n onClick: Te((m) => u(k), [\"stop\"])\n }, I(k), 11, xt))), 128))\n ], 512), [\n [U, n.open]\n ]),\n c(\"label\", null, I(e.label), 1)\n ])\n ], 2)), [\n [S(gt), o]\n ]);\n }\n}), Et = /* @__PURE__ */ _(Dt, [[\"__scopeId\", \"data-v-31a6db8c\"]]);\nfunction ie(e, t) {\n return Ee() ? (Me(e, t), !0) : !1;\n}\nconst Mt = typeof window < \"u\" && typeof document < \"u\";\ntypeof WorkerGlobalScope < \"u\" && globalThis instanceof WorkerGlobalScope;\nconst It = (e) => e != null, At = Object.prototype.toString, Tt = (e) => At.call(e) === \"[object Object]\", Ct = () => {\n};\nfunction Q(e) {\n return Array.isArray(e) ? e : [e];\n}\nfunction $t(e, t, n) {\n return F(e, t, {\n ...n,\n immediate: !0\n });\n}\nconst W = Mt ? window : void 0;\nfunction B(e) {\n var t;\n const n = w(e);\n return (t = n?.$el) !== null && t !== void 0 ? t : n;\n}\nfunction K(...e) {\n const t = [], n = () => {\n t.forEach((l) => l()), t.length = 0;\n }, o = (l, a, i, f) => (l.addEventListener(a, i, f), () => l.removeEventListener(a, i, f)), r = T(() => {\n const l = Q(w(e[0])).filter((a) => a != null);\n return l.every((a) => typeof a != \"string\") ? l : void 0;\n }), u = $t(() => {\n var l, a;\n return [\n (l = (a = r.value) === null || a === void 0 ? void 0 : a.map((i) => B(i))) !== null && l !== void 0 ? l : [W].filter((i) => i != null),\n Q(w(r.value ? e[1] : e[0])),\n Q(S(r.value ? e[2] : e[1])),\n w(r.value ? e[3] : e[2])\n ];\n }, ([l, a, i, f]) => {\n if (n(), !l?.length || !a?.length || !i?.length) return;\n const v = Tt(f) ? { ...f } : f;\n t.push(...l.flatMap((d) => a.flatMap((p) => i.map((k) => o(d, p, k, v)))));\n }, { flush: \"post\" }), s = () => {\n u(), n();\n };\n return ie(n), s;\n}\n// @__NO_SIDE_EFFECTS__\nfunction St() {\n const e = G(!1), t = Ue();\n return t && ae(() => {\n e.value = !0;\n }, t), e;\n}\n// @__NO_SIDE_EFFECTS__\nfunction _t(e) {\n const t = /* @__PURE__ */ St();\n return T(() => (t.value, !!e()));\n}\nfunction Lt(e, t, n = {}) {\n const { window: o = W, ...r } = n;\n let u;\n const s = /* @__PURE__ */ _t(() => o && \"MutationObserver\" in o), l = () => {\n u && (u.disconnect(), u = void 0);\n }, a = F(T(() => {\n const v = Q(w(e)).map(B).filter(It);\n return new Set(v);\n }), (v) => {\n l(), s.value && v.size && (u = new MutationObserver(t), v.forEach((d) => u.observe(d, r)));\n }, {\n immediate: !0,\n flush: \"post\"\n }), i = () => u?.takeRecords(), f = () => {\n a(), l();\n };\n return ie(f), {\n isSupported: s,\n stop: f,\n takeRecords: i\n };\n}\nfunction Vt(e, t, n = {}) {\n const { window: o = W, document: r = o?.document, flush: u = \"sync\" } = n;\n if (!o || !r) return Ct;\n let s;\n const l = (f) => {\n s?.(), s = f;\n }, a = Ae(() => {\n const f = B(e);\n if (f) {\n const { stop: v } = Lt(r, (d) => {\n d.map((p) => [...p.removedNodes]).flat().some((p) => p === f || p.contains(f)) && t(d);\n }, {\n window: o,\n childList: !0,\n subtree: !0\n });\n l(v);\n }\n }, { flush: u }), i = () => {\n a(), l();\n };\n return ie(i), i;\n}\n// @__NO_SIDE_EFFECTS__\nfunction Pt(e = {}) {\n var t;\n const { window: n = W, deep: o = !0, triggerOnRemoval: r = !1 } = e, u = (t = e.document) !== null && t !== void 0 ? t : n?.document, s = () => {\n let i = u?.activeElement;\n if (o)\n for (var f; i?.shadowRoot; ) i = i == null || (f = i.shadowRoot) === null || f === void 0 ? void 0 : f.activeElement;\n return i;\n }, l = G(), a = () => {\n l.value = s();\n };\n if (n) {\n const i = {\n capture: !0,\n passive: !0\n };\n K(n, \"blur\", (f) => {\n f.relatedTarget === null && a();\n }, i), K(n, \"focus\", a, i);\n }\n return r && Vt(l, a, { document: u }), a(), l;\n}\nconst Ft = \"focusin\", Rt = \"focusout\", Ot = \":focus-within\";\nfunction Ht(e, t = {}) {\n const { window: n = W } = t, o = T(() => B(e)), r = G(!1), u = T(() => r.value);\n if (!n || !(/* @__PURE__ */ Pt(t)).value) return { focused: u };\n const s = { passive: !0 };\n return K(o, Ft, () => r.value = !0, s), K(o, Rt, () => {\n var l, a, i;\n return r.value = (l = (a = o.value) === null || a === void 0 || (i = a.matches) === null || i === void 0 ? void 0 : i.call(a, Ot)) !== null && l !== void 0 ? l : !1;\n }, s), { focused: u };\n}\nfunction Bt(e, { window: t = W, scrollTarget: n } = {}) {\n const o = D(!1), r = () => {\n if (!t) return;\n const u = t.document, s = B(e);\n if (!s)\n o.value = !1;\n else {\n const l = s.getBoundingClientRect();\n o.value = l.top <= (t.innerHeight || u.documentElement.clientHeight) && l.left <= (t.innerWidth || u.documentElement.clientWidth) && l.bottom >= 0 && l.right >= 0;\n }\n };\n return F(\n () => B(e),\n () => r(),\n { immediate: !0, flush: \"post\" }\n ), t && K(n || t, \"scroll\", r, {\n capture: !1,\n passive: !0\n }), o;\n}\nconst L = (e) => {\n let t = Bt(e).value;\n return t = t && e.offsetHeight > 0, t;\n}, V = (e) => e.tabIndex >= 0, pe = (e) => {\n const t = e.target;\n return ue(t);\n}, ue = (e) => {\n let t;\n if (e instanceof HTMLTableCellElement) {\n const n = e.parentElement?.previousElementSibling;\n if (n) {\n const o = Array.from(n.children)[e.cellIndex];\n o && (t = o);\n }\n } else if (e instanceof HTMLTableRowElement) {\n const n = e.previousElementSibling;\n n && (t = n);\n }\n return t && (!V(t) || !L(t)) ? ue(t) : t;\n}, qt = (e) => {\n const t = e.target;\n let n;\n if (t instanceof HTMLTableCellElement) {\n const o = t.parentElement?.parentElement;\n if (o) {\n const r = o.firstElementChild?.children[t.cellIndex];\n r && (n = r);\n }\n } else if (t instanceof HTMLTableRowElement) {\n const o = t.parentElement;\n if (o) {\n const r = o.firstElementChild;\n r && (n = r);\n }\n }\n return n && (!V(n) || !L(n)) ? ce(n) : n;\n}, he = (e) => {\n const t = e.target;\n return ce(t);\n}, ce = (e) => {\n let t;\n if (e instanceof HTMLTableCellElement) {\n const n = e.parentElement?.nextElementSibling;\n if (n) {\n const o = Array.from(n.children)[e.cellIndex];\n o && (t = o);\n }\n } else if (e instanceof HTMLTableRowElement) {\n const n = e.nextElementSibling;\n n && (t = n);\n }\n return t && (!V(t) || !L(t)) ? ce(t) : t;\n}, Ut = (e) => {\n const t = e.target;\n let n;\n if (t instanceof HTMLTableCellElement) {\n const o = t.parentElement?.parentElement;\n if (o) {\n const r = o.lastElementChild?.children[t.cellIndex];\n r && (n = r);\n }\n } else if (t instanceof HTMLTableRowElement) {\n const o = t.parentElement;\n if (o) {\n const r = o.lastElementChild;\n r && (n = r);\n }\n }\n return n && (!V(n) || !L(n)) ? ue(n) : n;\n}, ge = (e) => {\n const t = e.target;\n return de(t);\n}, de = (e) => {\n let t;\n return e.previousElementSibling ? t = e.previousElementSibling : t = e.parentElement?.previousElementSibling?.lastElementChild, t && (!V(t) || !L(t)) ? de(t) : t;\n}, ye = (e) => {\n const t = e.target;\n return fe(t);\n}, fe = (e) => {\n let t;\n return e.nextElementSibling ? t = e.nextElementSibling : t = e.parentElement?.nextElementSibling?.firstElementChild, t && (!V(t) || !L(t)) ? fe(t) : t;\n}, be = (e) => {\n const t = e.target.parentElement?.firstElementChild;\n return t && (!V(t) || !L(t)) ? fe(t) : t;\n}, we = (e) => {\n const t = e.target.parentElement?.lastElementChild;\n return t && (!V(t) || !L(t)) ? de(t) : t;\n}, J = [\"alt\", \"control\", \"shift\", \"meta\"], Wt = {\n ArrowUp: \"up\",\n ArrowDown: \"down\",\n ArrowLeft: \"left\",\n ArrowRight: \"right\"\n}, _e = {\n \"keydown.up\": (e) => {\n const t = pe(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.down\": (e) => {\n const t = he(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.left\": (e) => {\n const t = ge(e);\n e.preventDefault(), e.stopPropagation(), t && t.focus();\n },\n \"keydown.right\": (e) => {\n const t = ye(e);\n e.preventDefault(), e.stopPropagation(), t && t.focus();\n },\n \"keydown.control.up\": (e) => {\n const t = qt(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.control.down\": (e) => {\n const t = Ut(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.control.left\": (e) => {\n const t = be(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.control.right\": (e) => {\n const t = we(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.end\": (e) => {\n const t = we(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.enter\": (e) => {\n if (e.target instanceof HTMLTableCellElement) {\n e.preventDefault(), e.stopPropagation();\n const t = he(e);\n t && t.focus();\n }\n },\n \"keydown.shift.enter\": (e) => {\n if (e.target instanceof HTMLTableCellElement) {\n e.preventDefault(), e.stopPropagation();\n const t = pe(e);\n t && t.focus();\n }\n },\n \"keydown.home\": (e) => {\n const t = be(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.tab\": (e) => {\n const t = ye(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.shift.tab\": (e) => {\n const t = ge(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n }\n};\nfunction Nt(e) {\n const t = (s) => {\n let l = null;\n return s.parent && (typeof s.parent == \"string\" ? l = document.querySelector(s.parent) : s.parent instanceof HTMLElement ? l = s.parent : l = s.parent.value), l;\n }, n = (s) => {\n const l = t(s);\n let a = [];\n if (typeof s.selectors == \"string\")\n a = l ? Array.from(l.querySelectorAll(s.selectors)) : Array.from(document.querySelectorAll(s.selectors));\n else if (Array.isArray(s.selectors))\n for (const i of s.selectors)\n i instanceof HTMLElement ? a.push(i) : a.push(i.$el);\n else if (s.selectors instanceof HTMLElement)\n a.push(s.selectors);\n else if (s.selectors?.value)\n if (Array.isArray(s.selectors.value))\n for (const i of s.selectors.value)\n i instanceof HTMLElement ? a.push(i) : a.push(i.$el);\n else\n a.push(s.selectors.value);\n return a;\n }, o = (s) => {\n const l = t(s);\n let a = [];\n return s.selectors ? a = n(s) : l && (a = Array.from(l.children).filter((i) => V(i) && L(i))), a;\n }, r = (s) => (l) => {\n const a = Wt[l.key] || l.key.toLowerCase();\n if (J.includes(a)) return;\n const i = s.handlers || _e;\n for (const f of Object.keys(i)) {\n const [v, ...d] = f.split(\".\");\n if (v === \"keydown\" && d.includes(a)) {\n const p = i[f], k = d.filter((m) => J.includes(m)), A = J.some((m) => {\n const h = m.charAt(0).toUpperCase() + m.slice(1);\n return l.getModifierState(h);\n });\n if (k.length > 0) {\n if (A) {\n for (const m of J)\n if (d.includes(m)) {\n const h = m.charAt(0).toUpperCase() + m.slice(1);\n l.getModifierState(h) && p(l);\n }\n }\n } else\n A || p(l);\n }\n }\n }, u = [];\n ae(() => {\n for (const s of e) {\n const l = t(s), a = o(s), i = r(s), f = l ? [l] : a;\n for (const v of f) {\n const { focused: d } = Ht(D(v)), p = F(d, (k) => {\n k ? v.addEventListener(\"keydown\", i) : v.removeEventListener(\"keydown\", i);\n });\n u.push(p);\n }\n }\n }), qe(() => {\n for (const s of u)\n s();\n });\n}\nconst jt = {\n ref: \"datepicker\",\n class: \"adatepicker\",\n tabindex: \"0\"\n}, Yt = {\n colspan: \"5\",\n tabindex: -1\n}, Kt = [\"onClick\", \"onKeydown\"], zt = 6, ke = 7, Gt = /* @__PURE__ */ C({\n __name: \"ADatePicker\",\n props: {\n modelValue: { default: /* @__PURE__ */ new Date() },\n modelModifiers: {}\n },\n emits: [\"update:modelValue\"],\n setup(e, { expose: t }) {\n const n = q(e, \"modelValue\"), o = D(new Date(n.value)), r = D(o.value.getMonth()), u = D(o.value.getFullYear()), s = D([]), l = De(\"datepicker\");\n ae(async () => {\n a(), await We();\n const y = document.getElementsByClassName(\"selectedDate\");\n if (y.length > 0)\n y[0].focus();\n else {\n const x = document.getElementsByClassName(\"todaysDate\");\n x.length > 0 && x[0].focus();\n }\n });\n const a = () => {\n s.value = [];\n const y = new Date(u.value, r.value, 1), x = y.getDay(), $ = y.setDate(y.getDate() - x);\n for (const P of Array(43).keys())\n s.value.push($ + P * 864e5);\n };\n F([r, u], a);\n const i = () => u.value -= 1, f = () => u.value += 1, v = () => {\n r.value == 0 ? (r.value = 11, i()) : r.value -= 1;\n }, d = () => {\n r.value == 11 ? (r.value = 0, f()) : r.value += 1;\n }, p = (y) => {\n const x = /* @__PURE__ */ new Date();\n if (r.value === x.getMonth())\n return x.toDateString() === new Date(y).toDateString();\n }, k = (y) => new Date(y).toDateString() === new Date(o.value).toDateString(), A = (y, x) => (y - 1) * ke + x, m = (y, x) => s.value[A(y, x)], h = (y) => {\n n.value = o.value = new Date(s.value[y]);\n }, E = T(() => new Date(u.value, r.value, 1).toLocaleDateString(void 0, {\n year: \"numeric\",\n month: \"long\"\n }));\n return Nt([\n {\n parent: l,\n selectors: \"td\",\n handlers: {\n ..._e,\n \"keydown.pageup\": v,\n \"keydown.shift.pageup\": i,\n \"keydown.pagedown\": d,\n \"keydown.shift.pagedown\": f,\n // TODO: this is a hack to override the stonecrop enter handler;\n // store context inside the component so that handlers can be setup consistently\n \"keydown.enter\": () => {\n }\n }\n }\n ]), t({ currentMonth: r, currentYear: u, selectedDate: o }), (y, x) => (g(), b(\"div\", jt, [\n c(\"table\", null, [\n c(\"tbody\", null, [\n c(\"tr\", null, [\n c(\"td\", {\n id: \"previous-month-btn\",\n tabindex: -1,\n onClick: v\n }, \"<\"),\n c(\"th\", Yt, I(E.value), 1),\n c(\"td\", {\n id: \"next-month-btn\",\n tabindex: -1,\n onClick: d\n }, \">\")\n ]),\n x[0] || (x[0] = c(\"tr\", { class: \"days-header\" }, [\n c(\"td\", null, \"M\"),\n c(\"td\", null, \"T\"),\n c(\"td\", null, \"W\"),\n c(\"td\", null, \"T\"),\n c(\"td\", null, \"F\"),\n c(\"td\", null, \"S\"),\n c(\"td\", null, \"S\")\n ], -1)),\n (g(), b(j, null, Y(zt, ($) => c(\"tr\", { key: $ }, [\n (g(), b(j, null, Y(ke, (P) => c(\"td\", {\n ref_for: !0,\n ref: \"celldate\",\n key: A($, P),\n contenteditable: !1,\n spellcheck: !1,\n tabindex: 0,\n class: X({\n todaysDate: p(m($, P)),\n selectedDate: k(m($, P))\n }),\n onClick: Te((Ve) => h(A($, P)), [\"prevent\", \"stop\"]),\n onKeydown: R((Ve) => h(A($, P)), [\"enter\"])\n }, I(new Date(m($, P)).getDate()), 43, Kt)), 64))\n ])), 64))\n ])\n ])\n ], 512));\n }\n}), Jt = /* @__PURE__ */ _(Gt, [[\"__scopeId\", \"data-v-056d2b5e\"]]), Qt = /* @__PURE__ */ C({\n __name: \"CollapseButton\",\n props: {\n collapsed: { type: Boolean }\n },\n setup(e) {\n return (t, n) => (g(), b(\"button\", {\n class: X([\"collapse-button\", e.collapsed ? \"rotated\" : \"unrotated\"])\n }, \"×\", 2));\n }\n}), Xt = /* @__PURE__ */ _(Qt, [[\"__scopeId\", \"data-v-6f1c1b45\"]]), Zt = { class: \"aform\" }, en = /* @__PURE__ */ C({\n __name: \"AForm\",\n props: {\n modelValue: {},\n data: {},\n readonly: { type: Boolean }\n },\n emits: [\"update:modelValue\"],\n setup(e, { emit: t }) {\n const n = t, o = D(e.data || {}), r = (s) => {\n let l = {};\n for (const [a, i] of Object.entries(s))\n [\"component\", \"fieldtype\"].includes(a) || (l[a] = i), a === \"rows\" && i && i.length === 0 && (l.rows = o.value[s.fieldname]);\n return l;\n }, u = T({\n get: () => e.modelValue.map((s, l) => T({\n get() {\n return s.value;\n },\n set: (a) => {\n e.modelValue[l].value = a, n(\"update:modelValue\", e.modelValue);\n }\n })),\n set: () => {\n }\n });\n return (s, l) => (g(), b(\"form\", Zt, [\n (g(!0), b(j, null, Y(e.modelValue, (a, i) => (g(), le(Ne(a.component), je({\n key: i,\n modelValue: u.value[i].value,\n \"onUpdate:modelValue\": (f) => u.value[i].value = f,\n schema: a,\n data: o.value[a.fieldname],\n readonly: e.readonly\n }, { ref_for: !0 }, r(a)), null, 16, [\"modelValue\", \"onUpdate:modelValue\", \"schema\", \"data\", \"readonly\"]))), 128))\n ]));\n }\n}), Le = /* @__PURE__ */ _(en, [[\"__scopeId\", \"data-v-da354cb0\"]]), tn = /* @__PURE__ */ C({\n __name: \"AFieldset\",\n props: {\n schema: {},\n label: {},\n collapsible: { type: Boolean },\n data: { default: () => ({}) }\n },\n setup(e, { expose: t }) {\n const n = D(!1), o = D(e.data || []), r = D(e.schema), u = (s) => {\n s.preventDefault(), e.collapsible && (n.value = !n.value);\n };\n return t({ collapsed: n }), (s, l) => (g(), b(\"fieldset\", null, [\n c(\"legend\", {\n onClick: u,\n onSubmit: u\n }, [\n Ce(I(e.label) + \" \", 1),\n e.collapsible ? (g(), le(Xt, {\n key: 0,\n collapsed: n.value\n }, null, 8, [\"collapsed\"])) : se(\"\", !0)\n ], 32),\n Ye(s.$slots, \"default\", { collapsed: n.value }, () => [\n M(Ke(Le, {\n modelValue: r.value,\n \"onUpdate:modelValue\": l[0] || (l[0] = (a) => r.value = a),\n data: o.value\n }, null, 8, [\"modelValue\", \"data\"]), [\n [U, !n.value]\n ])\n ], !0)\n ]));\n }\n}), nn = /* @__PURE__ */ _(tn, [[\"__scopeId\", \"data-v-40b2a95d\"]]), on = { class: \"aform_form-element aform_file-attach aform__grid--full\" }, ln = {\n key: 0,\n class: \"aform_file-attach-feedback\"\n}, an = [\"disabled\"], sn = /* @__PURE__ */ C({\n __name: \"AFileAttach\",\n props: {\n label: {}\n },\n setup(e) {\n const { files: t, open: n, reset: o, onChange: r } = pt(), u = T(() => `${t.value.length} ${t.value.length === 1 ? \"file\" : \"files\"}`);\n return r((s) => s), (s, l) => (g(), b(\"div\", on, [\n S(t) ? (g(), b(\"div\", ln, [\n c(\"p\", null, [\n l[2] || (l[2] = Ce(\" You have selected: \", -1)),\n c(\"b\", null, I(u.value), 1)\n ]),\n (g(!0), b(j, null, Y(S(t), (a) => (g(), b(\"li\", {\n key: a.name\n }, I(a.name), 1))), 128))\n ])) : se(\"\", !0),\n c(\"button\", {\n type: \"button\",\n class: \"aform_form-btn\",\n onClick: l[0] || (l[0] = (a) => S(n)())\n }, I(e.label), 1),\n c(\"button\", {\n type: \"button\",\n disabled: !S(t),\n class: \"aform_form-btn\",\n onClick: l[1] || (l[1] = (a) => S(o)())\n }, \"Reset\", 8, an)\n ]));\n }\n}), rn = /* @__PURE__ */ _(sn, [[\"__scopeId\", \"data-v-b700734f\"]]), un = { class: \"aform_form-element\" }, cn = [\"id\", \"disabled\", \"required\"], dn = [\"for\"], fn = [\"innerHTML\"], mn = /* @__PURE__ */ C({\n __name: \"ANumericInput\",\n props: /* @__PURE__ */ z({\n schema: {},\n label: {},\n mask: {},\n required: { type: Boolean },\n readonly: { type: Boolean },\n uuid: {},\n validation: { default: () => ({ errorMessage: \"&nbsp;\" }) }\n }, {\n modelValue: {},\n modelModifiers: {}\n }),\n emits: [\"update:modelValue\"],\n setup(e) {\n const t = q(e, \"modelValue\");\n return (n, o) => (g(), b(\"div\", un, [\n M(c(\"input\", {\n id: e.uuid,\n \"onUpdate:modelValue\": o[0] || (o[0] = (r) => t.value = r),\n class: \"aform_input-field\",\n type: \"number\",\n disabled: e.readonly,\n required: e.required\n }, null, 8, cn), [\n [H, t.value]\n ]),\n c(\"label\", {\n class: \"aform_field-label\",\n for: e.uuid\n }, I(e.label), 9, dn),\n M(c(\"p\", {\n class: \"aform_error\",\n innerHTML: e.validation.errorMessage\n }, null, 8, fn), [\n [U, e.validation.errorMessage]\n ])\n ]));\n }\n}), xe = {\n date: \"##/##/####\",\n datetime: \"####/##/## ##:##\",\n time: \"##:##\",\n fulltime: \"##:##:##\",\n phone: \"(###) ### - ####\",\n card: \"#### #### #### ####\"\n};\nfunction vn(e) {\n try {\n return Function(`\"use strict\";return (${e})`)();\n } catch {\n }\n}\nfunction pn(e) {\n let t = e.value;\n if (t) {\n const n = vn(t);\n if (n) {\n const o = e.instance?.locale;\n t = n(o);\n }\n } else {\n const o = e.instance?.schema?.fieldtype?.toLowerCase();\n o && xe[o] && (t = xe[o]);\n }\n return t;\n}\nfunction hn(e, t) {\n let n = e;\n const o = [t, \"/\", \"-\", \"(\", \")\", \" \"];\n for (const r of o)\n n = n.replaceAll(r, \"\");\n return n;\n}\nfunction gn(e, t, n) {\n let o = t;\n for (const r of e) {\n const u = o.indexOf(n);\n if (u !== -1) {\n const s = o.substring(0, u), l = o.substring(u + 1);\n o = s + r + l;\n }\n }\n return o.slice(0, t.length);\n}\nfunction yn(e, t) {\n const n = pn(t);\n if (!n) return;\n const o = \"#\", r = e.value, u = hn(r, o);\n if (u) {\n const s = gn(u, n, o);\n t.instance?.maskFilled && (t.instance.maskFilled = !s.includes(o)), e.value = s;\n } else\n e.value = n;\n}\nconst bn = { class: \"aform_form-element\" }, wn = [\"id\", \"disabled\", \"maxlength\", \"required\"], kn = [\"for\"], xn = [\"innerHTML\"], Dn = /* @__PURE__ */ C({\n __name: \"ATextInput\",\n props: /* @__PURE__ */ z({\n schema: {},\n label: {},\n mask: {},\n required: { type: Boolean },\n readonly: { type: Boolean },\n uuid: {},\n validation: { default: () => ({ errorMessage: \"&nbsp;\" }) }\n }, {\n modelValue: {},\n modelModifiers: {}\n }),\n emits: [\"update:modelValue\"],\n setup(e) {\n const t = D(!0), n = q(e, \"modelValue\");\n return (o, r) => (g(), b(\"div\", bn, [\n M(c(\"input\", {\n id: e.uuid,\n \"onUpdate:modelValue\": r[0] || (r[0] = (u) => n.value = u),\n class: \"aform_input-field\",\n disabled: e.readonly,\n maxlength: e.mask && t.value ? e.mask.length : void 0,\n required: e.required\n }, null, 8, wn), [\n [H, n.value],\n [S(yn), e.mask]\n ]),\n c(\"label\", {\n class: \"aform_field-label\",\n for: e.uuid\n }, I(e.label), 9, kn),\n M(c(\"p\", {\n class: \"aform_error\",\n innerHTML: e.validation.errorMessage\n }, null, 8, xn), [\n [U, e.validation.errorMessage]\n ])\n ]));\n }\n}), En = { class: \"login-container\" }, Mn = { class: \"account-container\" }, In = { class: \"account-header\" }, An = { id: \"account-title\" }, Tn = { id: \"account-subtitle\" }, Cn = { class: \"login-form-container\" }, $n = { class: \"login-form-email aform_form-element\" }, Sn = [\"disabled\"], _n = { class: \"login-form-password aform_form-element\" }, Ln = [\"disabled\"], Vn = [\"disabled\"], Pn = {\n key: 0,\n class: \"material-symbols-outlined loading-icon\"\n}, Fn = /* @__PURE__ */ C({\n __name: \"Login\",\n props: {\n headerTitle: { default: \"Login\" },\n headerSubtitle: { default: \"Enter your email and password to login\" }\n },\n emits: [\"loginFailed\", \"loginSuccess\"],\n setup(e, { emit: t }) {\n const n = t, o = D(\"\"), r = D(\"\"), u = D(!1), s = D(!1);\n function l(a) {\n if (a.preventDefault(), u.value = !0, s.value) {\n u.value = !1, n(\"loginFailed\");\n return;\n }\n u.value = !1, n(\"loginSuccess\");\n }\n return (a, i) => (g(), b(\"div\", En, [\n c(\"div\", null, [\n c(\"div\", Mn, [\n c(\"div\", In, [\n c(\"h1\", An, I(e.headerTitle), 1),\n c(\"p\", Tn, I(e.headerSubtitle), 1)\n ]),\n c(\"form\", { onSubmit: l }, [\n c(\"div\", Cn, [\n c(\"div\", $n, [\n i[2] || (i[2] = c(\"label\", {\n id: \"login-email\",\n for: \"email\",\n class: \"aform_field-label\"\n }, \"Email\", -1)),\n M(c(\"input\", {\n id: \"email\",\n \"onUpdate:modelValue\": i[0] || (i[0] = (f) => o.value = f),\n class: \"aform_input-field\",\n name: \"email\",\n placeholder: \"name@example.com\",\n type: \"email\",\n \"auto-capitalize\": \"none\",\n \"auto-complete\": \"email\",\n \"auto-correct\": \"off\",\n disabled: u.value\n }, null, 8, Sn), [\n [H, o.value]\n ])\n ]),\n c(\"div\", _n, [\n i[3] || (i[3] = c(\"label\", {\n id: \"login-password\",\n for: \"password\",\n class: \"aform_field-label\"\n }, \"Password\", -1)),\n M(c(\"input\", {\n id: \"password\",\n \"onUpdate:modelValue\": i[1] || (i[1] = (f) => r.value = f),\n class: \"aform_input-field\",\n name: \"password\",\n type: \"password\",\n disabled: u.value\n }, null, 8, Ln), [\n [H, r.value]\n ])\n ]),\n c(\"button\", {\n class: \"btn\",\n disabled: u.value || !o.value || !r.value,\n onClick: l\n }, [\n u.value ? (g(), b(\"span\", Pn, \"progress_activity\")) : se(\"\", !0),\n i[4] || (i[4] = c(\"span\", { id: \"login-form-button\" }, \"Login\", -1))\n ], 8, Vn)\n ])\n ], 32),\n i[5] || (i[5] = c(\"button\", { class: \"btn\" }, [\n c(\"span\", { id: \"forgot-password-button\" }, \"Forgot password?\")\n ], -1))\n ])\n ])\n ]));\n }\n}), On = /* @__PURE__ */ _(Fn, [[\"__scopeId\", \"data-v-d9ffd0a7\"]]);\nfunction Hn(e) {\n e.component(\"ACheckbox\", et), e.component(\"ACombobox\", tt), e.component(\"ADate\", st), e.component(\"ADropdown\", Et), e.component(\"ADatePicker\", Jt), e.component(\"AFieldset\", nn), e.component(\"AFileAttach\", rn), e.component(\"AForm\", Le), e.component(\"ANumericInput\", mn), e.component(\"ATextInput\", Dn);\n}\nexport {\n et as ACheckbox,\n tt as AComboBox,\n st as ADate,\n Jt as ADatePicker,\n Et as ADropdown,\n nn as AFieldset,\n rn as AFileAttach,\n Le as AForm,\n mn as ANumericInput,\n Dn as ATextInput,\n On as Login,\n Hn as install\n};\n//# sourceMappingURL=aform.js.map\n","<template>\n\t<footer>\n\t\t<ul class=\"tabs\">\n\t\t\t<li class=\"hidebreadcrumbs\" @click=\"toggleBreadcrumbs\" @keydown.enter=\"toggleBreadcrumbs\">\n\t\t\t\t<a tabindex=\"0\"><div :class=\"rotateHideTabIcon\">×</div></a>\n\t\t\t</li>\n\t\t\t<li\n\t\t\t\tclass=\"hometab\"\n\t\t\t\t:style=\"{ display: breadcrumbsVisibile ? 'block' : 'none' }\"\n\t\t\t\t@click=\"navigateHome\"\n\t\t\t\t@keydown.enter=\"navigateHome\">\n\t\t\t\t<router-link to=\"/\" tabindex=\"0\">\n\t\t\t\t\t<svg\n\t\t\t\t\t\tid=\"Capa_1\"\n\t\t\t\t\t\tversion=\"1.1\"\n\t\t\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\t\t\txmlns:xlink=\"http://www.w3.org/1999/xlink\"\n\t\t\t\t\t\tx=\"0px\"\n\t\t\t\t\t\ty=\"0px\"\n\t\t\t\t\t\tviewBox=\"0 0 424.098 424.098\"\n\t\t\t\t\t\tstyle=\"enable-background: new 0 0 424.098 424.098\"\n\t\t\t\t\t\txml:space=\"preserve\">\n\t\t\t\t\t\t<g>\n\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\tstyle=\"fill: #010002\"\n\t\t\t\t\t\t\t\td=\"M351.191,401.923H72.901c-4.487,0-8.129-3.633-8.129-8.129V242.262l-56.664-0.114\n\t\t\t\t\t\t\t\tc-3.284-0.008-6.243-1.992-7.495-5.023c-1.252-3.04-0.553-6.527,1.764-8.852L206.104,24.546c1.853-1.845,4.503-2.666,7.047-2.276\n\t\t\t\t\t\t\t\tc2.414,0.39,4.511,1.845,5.731,3.942l47.43,47.43V58.499c0-4.487,3.633-8.129,8.129-8.129h47.755c4.495,0,8.129,3.642,8.129,8.129\n\t\t\t\t\t\t\t\tv79.156l91.39,91.398c2.325,2.325,3.024,5.828,1.764,8.868c-1.26,3.032-4.227,5.007-7.511,5.007c-0.008,0-0.008,0-0.016,0\n\t\t\t\t\t\t\t\tl-56.64-0.114v150.98C359.32,398.29,355.686,401.923,351.191,401.923z M81.03,385.666h262.033V234.67\n\t\t\t\t\t\t\t\tc0-2.162,0.854-4.235,2.39-5.755c1.528-1.52,3.585-2.374,5.739-2.374c0.008,0,0.008,0,0.016,0l45.105,0.089l-79.855-79.863\n\t\t\t\t\t\t\t\tc-1.528-1.528-2.382-3.593-2.382-5.747V66.628h-31.498v26.645c0,3.284-1.975,6.251-5.015,7.511\n\t\t\t\t\t\t\t\tc-3.032,1.268-6.527,0.569-8.86-1.764l-57.038-57.038l-183.95,183.95l45.203,0.089c4.487,0.008,8.112,3.642,8.112,8.129\n\t\t\t\t\t\t\t\tC81.03,234.149,81.03,385.666,81.03,385.666z\" />\n\t\t\t\t\t\t</g>\n\t\t\t\t\t</svg>\n\t\t\t\t</router-link>\n\t\t\t</li>\n\t\t\t<li\n\t\t\t\tclass=\"searchtab\"\n\t\t\t\t:style=\"{ display: breadcrumbsVisibile ? 'block' : 'none' }\"\n\t\t\t\t@click=\"toggleSearch\"\n\t\t\t\t@keydown.enter=\"toggleSearch\">\n\t\t\t\t<a tabindex=\"0\">\n\t\t\t\t\t<span :style=\"{ display: searchVisibile ? 'none' : 'block' }\">\n\t\t\t\t\t\t<svg style=\"width: 11pt\">\n\t\t\t\t\t\t\t<g transform=\"matrix(-0.08088215,0,0,0.08088215,9.8016177,3.1263021e-6)\">\n\t\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\t\tid=\"path2\"\n\t\t\t\t\t\t\t\t\td=\"M 93.148438,80.832031 C 109.5,57.742188 104.03125,25.769531 80.941406,9.421875 57.851562,-6.925781 25.878906,-1.460938 9.53125,21.632812 -6.816406,44.722656 -1.351562,76.691406 21.742188,93.039062 38.222656,104.70703 60.011719,105.60547 77.394531,95.339844 l 37.769529,37.542966 c 4.07813,4.29297 10.86328,4.46485 15.15625,0.38672 4.29297,-4.07422 4.46485,-10.85937 0.39063,-15.15234 -0.12891,-0.13672 -0.25391,-0.26172 -0.39063,-0.39063 z m -41.839844,3.5 C 33.0625,84.335938 18.269531,69.554688 18.257812,51.308594 18.253906,33.0625 33.035156,18.269531 51.285156,18.261719 c 18.222656,-0.0078 33.007813,14.75 33.042969,32.972656 0.03125,18.25 -14.742187,33.066406 -32.996094,33.097656 -0.0078,0 -0.01172,0 -0.02344,0 z m 0,0\"\n\t\t\t\t\t\t\t\t\tstyle=\"fill: #000000; fill-opacity: 1; fill-rule: nonzero; stroke: none\" />\n\t\t\t\t\t\t\t</g>\n\t\t\t\t\t\t</svg>\n\t\t\t\t\t</span>\n\t\t\t\t\t<input\n\t\t\t\t\t\tref=\"searchinput\"\n\t\t\t\t\t\tv-model=\"searchText\"\n\t\t\t\t\t\t:style=\"{ display: searchVisibile ? 'block' : 'none' }\"\n\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t@click=\"handleSearchInput($event)\"\n\t\t\t\t\t\t@input=\"handleSearchInput($event)\"\n\t\t\t\t\t\t@blur=\"handleSearch($event)\"\n\t\t\t\t\t\t@keydown.enter=\"handleSearch($event)\" />\n\t\t\t\t</a>\n\t\t\t</li>\n\t\t\t<li\n\t\t\t\tv-for=\"breadcrumb in breadcrumbs\"\n\t\t\t\t:key=\"breadcrumb.title\"\n\t\t\t\t:style=\"{ display: breadcrumbsVisibile ? 'block' : 'none' }\">\n\t\t\t\t<router-link tabindex=\"0\" :to=\"breadcrumb.to\"> {{ breadcrumb.title }} </router-link>\n\t\t\t</li>\n\t\t</ul>\n\t</footer>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, nextTick, ref, useTemplateRef } from 'vue'\n\nconst { breadcrumbs = [] } = defineProps<{ breadcrumbs?: { title: string; to: string }[] }>()\n\nconst breadcrumbsVisibile = ref(true)\nconst searchVisibile = ref(false)\nconst searchText = ref('')\nconst inputRef = useTemplateRef<HTMLInputElement>('searchinput')\n\nconst rotateHideTabIcon = computed(() => {\n\treturn breadcrumbsVisibile.value ? 'unrotated' : 'rotated'\n})\n\nconst toggleBreadcrumbs = () => {\n\tbreadcrumbsVisibile.value = !breadcrumbsVisibile.value\n}\n\nconst toggleSearch = async () => {\n\tsearchVisibile.value = !searchVisibile.value\n\tawait nextTick(() => {\n\t\tinputRef.value?.focus()\n\t})\n}\n\nconst handleSearchInput = (event: Event | MouseEvent) => {\n\tevent.preventDefault()\n\tevent.stopPropagation()\n}\n\nconst handleSearch = async (event: FocusEvent | KeyboardEvent) => {\n\tevent.preventDefault()\n\tevent.stopPropagation()\n\tawait toggleSearch()\n}\n\nconst navigateHome = (/* event: MouseEvent | KeyboardEvent */) => {\n\t// navigate home\n}\n</script>\n\n<style scoped>\nfooter {\n\tposition: fixed;\n\tbottom: 0px;\n\twidth: 100%;\n\tbackground-color: transparent;\n\theight: auto; /* Allow footer to grow with content */\n\tmin-height: 2rem;\n\tz-index: 100;\n\ttext-align: left;\n\tfont-size: 100%;\n\tdisplay: flex;\n\tjustify-content: right;\n\tpadding-right: 2rem; /* Match view-wrapper horizontal padding */\n\tbox-sizing: border-box; /* Include padding in width calculation */\n}\nul {\n\tdisplay: flex;\n\tflex-direction: row-reverse;\n\tmargin: 0;\n\tpadding: 0;\n\tlist-style: none;\n}\n\n.tabs li {\n\t/* Makes a horizontal row */\n\tfloat: left;\n\tlist-style-type: none;\n\t/* So the psueudo elements can be\n abs. positioned inside */\n\tposition: relative;\n\tmargin-left: -1px;\n}\n.tabs a {\n\tfloat: left;\n\tpadding: 0.5rem 1.5rem; /* Reduced padding for reasonable tab height */\n\theight: 2.25rem; /* Fixed height for consistency across all tabs */\n\tbox-sizing: border-box; /* Include padding in height calculation */\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\ttext-decoration: none;\n\tcolor: black;\n\tbackground: #aaa;\n\toutline: 2px solid inherit;\n\toutline-offset: -2px;\n\n\t/* Only round the top corners */\n\t-webkit-border-top-left-radius: 15px;\n\t-webkit-border-top-right-radius: 15px;\n\t-moz-border-radius-topleft: 15px;\n\t-moz-border-radius-topright: 15px;\n\tborder-top-left-radius: 15px;\n\tborder-top-right-radius: 15px;\n\n\tborder: 1px solid #ccc;\n}\n.tabs .router-link-active {\n\t/* Highest, active tab is on top */\n\tz-index: 3;\n}\n.router-link-active {\n\t/* Colors when tab is active */\n\tbackground: #827553;\n\tcolor: black;\n\tbox-shadow: #999;\n}\n.tabs li:before,\n.tabs li:after,\n.tabs li a:before,\n.tabs li a:after {\n\t/* All pseudo elements are\n abs. positioned and on bottom */\n\tposition: absolute;\n\tbottom: 0;\n}\n/* Only the first, last, and active\n tabs need pseudo elements at all */\n.tabs li:last-child:after,\n.tabs li:last-child a:after,\n.tabs li:first-child:before,\n.tabs li:first-child a:before,\n.tabs .router-link-active:after,\n.tabs .router-link-active:before,\n.tabs .router-link-active a:after,\n.tabs .router-link-active a:before {\n\tcontent: '';\n}\n.tabs .router-link-active:before,\n.tabs .router-link-active:after {\n\tbackground: transparent;\n\n\t/* Squares below circles */\n\tz-index: 1;\n}\n/* Squares */\n.tabs li:before,\n.tabs li:after {\n\tbackground: transparent;\n\twidth: 10px;\n\theight: 10px;\n}\n.tabs li:before {\n\tleft: -10px;\n}\n.tabs li:after {\n\tright: -10px;\n}\n/* Circles */\n.tabs li a:after,\n.tabs li a:before {\n\twidth: 20px;\n\theight: 20px;\n\t/* Circles are circular */\n\t-webkit-border-radius: 10px;\n\t-moz-border-radius: 10px;\n\tborder-radius: 10px;\n\tbackground: transparent;\n\n\t/* Circles over squares */\n\tz-index: 2;\n}\n.tabs .router-link-active a:after,\n.tabs .router-link-active a:before {\n\tbackground: transparent;\n}\n/* First and last tabs have different\n outside color needs */\n.tabs li:first-child.router-link-active a:before,\n.tabs li:last-child.router-link-active a:after {\n\tbackground: transparent;\n}\n.tabs li a:before {\n\tleft: -20px;\n}\n.tabs li a:after {\n\tright: -20px;\n}\n.hidebreadcrumbs a {\n\tmin-width: 2.5rem;\n\twidth: 2.5rem;\n\theight: 2.25rem; /* Fixed height for consistency */\n\tbackground-color: #ffffff;\n\tpadding: 0.5rem;\n\tfont-size: 1.25rem;\n\ttext-align: center;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n.rotated {\n\t/* border: 1px solid red; */\n\ttransform: rotate(45deg);\n\t-webkit-transform: rotate(45deg);\n\t-moz-transform: rotate(45deg);\n\t-ms-transform: rotate(45deg);\n\t-o-transform: rotate(45deg);\n\ttransition: transform 250ms;\n}\n.unrotated {\n\t/* border: 1px solid red; */\n\ttransform: rotate(0deg);\n\t-webkit-transform: rotate(0deg);\n\t-moz-transform: rotate(0deg);\n\t-ms-transform: rotate(0deg);\n\t-o-transform: rotate(0deg);\n\ttransition: transform 250ms;\n}\nli:active,\nli:hover,\nli:focus,\nli > a:active,\nli > a:hover,\nli > a:focus {\n\tz-index: 3;\n}\n\na:active,\na:hover,\na:focus {\n\toutline: 2px solid black;\n\tz-index: 3;\n}\n.hometab a {\n\tmin-width: 2.5rem;\n\theight: 2.25rem; /* Fixed height for consistency */\n\tbackground-color: #ffffff;\n\tpadding: 0.5rem;\n\ttext-align: center;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n.hometab svg {\n\theight: 1rem;\n\twidth: 1rem;\n}\n.searchtab a {\n\tmin-width: 2.5rem;\n\theight: 2.25rem; /* Fixed height for consistency */\n\tbackground-color: #ffffff;\n\tpadding: 0.5rem;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n.searchtab svg {\n\twidth: 0.875rem;\n\theight: 0.875rem;\n}\n.searchtab input {\n\toutline: none;\n\tborder: none;\n\tborder-bottom: 1.5px solid black;\n\tbackground-color: transparent;\n\ttext-align: right;\n\tfont-size: 0.875rem;\n\tpadding: 0.25rem;\n}\n</style>\n","<template>\n\t<div class=\"desktop\" @click=\"handleClick\">\n\t\t<!-- Action Set -->\n\t\t<ActionSet :elements=\"actionElements\" @action-click=\"handleActionClick\" />\n\n\t\t<!-- Main content using AForm -->\n\t\t<AForm v-if=\"writableSchema.length > 0\" v-model=\"writableSchema\" :data=\"currentViewData\" />\n\t\t<div v-else-if=\"!stonecrop\" class=\"loading\"><p>Initializing Stonecrop...</p></div>\n\t\t<div v-else class=\"loading\">\n\t\t\t<p>Loading {{ currentView }} data...</p>\n\t\t</div>\n\n\t\t<!-- Sheet Navigation -->\n\t\t<SheetNav :breadcrumbs=\"navigationBreadcrumbs\" />\n\n\t\t<!-- Command Palette -->\n\t\t<CommandPalette\n\t\t\t:is-open=\"commandPaletteOpen\"\n\t\t\t:search=\"searchCommands\"\n\t\t\tplaceholder=\"Type a command or search...\"\n\t\t\t@select=\"executeCommand\"\n\t\t\t@close=\"commandPaletteOpen = false\">\n\t\t\t<template #title=\"{ result }\">\n\t\t\t\t{{ result.title }}\n\t\t\t</template>\n\t\t\t<template #content=\"{ result }\">\n\t\t\t\t{{ result.description }}\n\t\t\t</template>\n\t\t</CommandPalette>\n\t</div>\n</template>\n\n<script setup lang=\"ts\">\nimport { useStonecrop } from '@stonecrop/stonecrop'\nimport { AForm, type SchemaTypes, type TableColumn, type TableConfig } from '@stonecrop/aform'\nimport { computed, nextTick, onMounted, provide, ref, unref, watch } from 'vue'\n\nimport ActionSet from './ActionSet.vue'\nimport SheetNav from './SheetNav.vue'\nimport CommandPalette from './CommandPalette.vue'\nimport type { ActionElements } from '../types'\n\nconst { availableDoctypes = [] } = defineProps<{ availableDoctypes?: string[] }>()\n\nconst { stonecrop } = useStonecrop()\n\n// State\nconst loading = ref(false)\nconst saving = ref(false)\nconst commandPaletteOpen = ref(false)\n\n// HST-based form data management - field triggers are handled automatically by HST\n\n// Computed property that reads from HST store for reactive form data\nconst currentViewData = computed<Record<string, any>>({\n\tget() {\n\t\tif (!stonecrop.value || !currentDoctype.value || !currentRecordId.value) {\n\t\t\treturn {}\n\t\t}\n\n\t\ttry {\n\t\t\tconst record = stonecrop.value.getRecordById(currentDoctype.value, currentRecordId.value)\n\t\t\treturn record?.get('') || {}\n\t\t} catch {\n\t\t\treturn {}\n\t\t}\n\t},\n\tset(newData: Record<string, any>) {\n\t\tif (!stonecrop.value || !currentDoctype.value || !currentRecordId.value) {\n\t\t\treturn\n\t\t}\n\n\t\ttry {\n\t\t\t// Update each field in HST, which will automatically trigger field actions\n\t\t\tconst hstStore = stonecrop.value.getStore()\n\t\t\tfor (const [fieldname, value] of Object.entries(newData)) {\n\t\t\t\tconst fieldPath = `${currentDoctype.value}.${currentRecordId.value}.${fieldname}`\n\t\t\t\thstStore.set(fieldPath, value)\n\t\t\t}\n\t\t} catch (error) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.warn('HST update failed:', error)\n\t\t}\n\t},\n})\n\n// HST-based form data management - field triggers are handled automatically by HST\n\n// Computed properties for current route context\nconst route = computed(() => unref(stonecrop.value?.registry.router?.currentRoute))\nconst router = computed(() => stonecrop.value?.registry.router)\nconst currentDoctype = computed(() => {\n\tif (!route.value) return ''\n\n\t// First check if we have actualDoctype in meta (from registered routes)\n\tif (route.value.meta?.actualDoctype) {\n\t\treturn route.value.meta.actualDoctype as string\n\t}\n\n\t// For named routes, use params.doctype\n\tif (route.value.params.doctype) {\n\t\treturn route.value.params.doctype as string\n\t}\n\n\t// For catch-all routes that haven't been registered yet, extract from path\n\tconst pathMatch = route.value.params.pathMatch as string[] | undefined\n\tif (pathMatch && pathMatch.length > 0) {\n\t\treturn pathMatch[0]\n\t}\n\n\treturn ''\n})\n\n// The route doctype for display and navigation (e.g., 'todo')\nconst routeDoctype = computed(() => {\n\tif (!route.value) return ''\n\n\t// Check route meta first\n\tif (route.value.meta?.doctype) {\n\t\treturn route.value.meta.doctype as string\n\t}\n\n\t// For named routes, use params.doctype\n\tif (route.value.params.doctype) {\n\t\treturn route.value.params.doctype as string\n\t}\n\n\t// For catch-all routes, extract from path\n\tconst pathMatch = route.value.params.pathMatch as string[] | undefined\n\tif (pathMatch && pathMatch.length > 0) {\n\t\treturn pathMatch[0]\n\t}\n\n\treturn ''\n})\n\nconst currentRecordId = computed(() => {\n\tif (!route.value) return ''\n\n\t// For named routes, use params.recordId\n\tif (route.value.params.recordId) {\n\t\treturn route.value.params.recordId as string\n\t}\n\n\t// For catch-all routes that haven't been registered yet, extract from path\n\tconst pathMatch = route.value.params.pathMatch as string[] | undefined\n\tif (pathMatch && pathMatch.length > 1) {\n\t\treturn pathMatch[1]\n\t}\n\n\treturn ''\n})\nconst isNewRecord = computed(() => currentRecordId.value?.startsWith('new-'))\n\n// Determine current view based on route\nconst currentView = computed(() => {\n\tif (!route.value) {\n\t\treturn 'doctypes'\n\t}\n\n\t// Home route\n\tif (route.value.name === 'home' || route.value.path === '/') {\n\t\treturn 'doctypes'\n\t}\n\n\t// Named routes from registered doctypes\n\tif (route.value.name && route.value.name !== 'catch-all') {\n\t\tconst routeName = route.value.name as string\n\t\tif (routeName.includes('form') || route.value.params.recordId) {\n\t\t\treturn 'record'\n\t\t} else if (routeName.includes('list') || route.value.params.doctype) {\n\t\t\treturn 'records'\n\t\t}\n\t}\n\n\t// Catch-all route - determine from path structure\n\tconst pathMatch = route.value.params.pathMatch as string[] | undefined\n\tif (pathMatch && pathMatch.length > 0) {\n\t\tconst view = pathMatch.length === 1 ? 'records' : 'record'\n\t\treturn view\n\t}\n\n\treturn 'doctypes'\n})\n\n// Computed properties (now that all helper functions are defined)\n// Helper function to get available transitions for current record\nconst getAvailableTransitions = () => {\n\tif (!stonecrop.value || !currentDoctype.value || !currentRecordId.value) {\n\t\treturn []\n\t}\n\n\ttry {\n\t\tconst registry = stonecrop.value.registry\n\t\tconst meta = registry.registry[currentDoctype.value]\n\n\t\tif (!meta?.workflow?.states) {\n\t\t\treturn []\n\t\t}\n\n\t\t// Get current FSM state (for now, use workflow initial state or 'editing')\n\t\t// In a full implementation, this would track actual FSM state\n\t\tconst currentState = isNewRecord.value ? 'creating' : 'editing'\n\t\tconst stateConfig = meta.workflow.states[currentState]\n\n\t\tif (!stateConfig?.on) {\n\t\t\treturn []\n\t\t}\n\n\t\t// Get available transitions from current state\n\t\tconst transitions = Object.keys(stateConfig.on)\n\n\t\t// Create action elements for each transition\n\t\tconst actionElements = transitions.map(transition => {\n\t\t\tconst targetState = stateConfig.on?.[transition]\n\t\t\tconst targetStateName = typeof targetState === 'string' ? targetState : 'unknown'\n\n\t\t\tconst actionFn = async () => {\n\t\t\t\tconst node = stonecrop.value?.getRecordById(currentDoctype.value, currentRecordId.value)\n\t\t\t\tif (node) {\n\t\t\t\t\tconst recordData = currentViewData.value || {}\n\t\t\t\t\tawait node.triggerTransition(transition, {\n\t\t\t\t\t\tcurrentState,\n\t\t\t\t\t\ttargetState: targetStateName,\n\t\t\t\t\t\tfsmContext: recordData,\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst element = {\n\t\t\t\tlabel: `${transition} (→ ${targetStateName})`,\n\t\t\t\taction: actionFn,\n\t\t\t}\n\n\t\t\treturn element\n\t\t})\n\n\t\treturn actionElements\n\t} catch (error) {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.warn('Error getting available transitions:', error)\n\t\treturn []\n\t}\n}\n\n// New component reactive properties// New component reactive properties\nconst actionElements = computed<ActionElements[]>(() => {\n\tconst elements: ActionElements[] = []\n\n\tswitch (currentView.value) {\n\t\tcase 'doctypes':\n\t\t\telements.push({\n\t\t\t\ttype: 'button',\n\t\t\t\tlabel: 'Refresh',\n\t\t\t\taction: () => {\n\t\t\t\t\t// Refresh doctypes\n\t\t\t\t\twindow.location.reload()\n\t\t\t\t},\n\t\t\t})\n\t\t\tbreak\n\t\tcase 'records':\n\t\t\telements.push(\n\t\t\t\t{\n\t\t\t\t\ttype: 'button',\n\t\t\t\t\tlabel: 'New Record',\n\t\t\t\t\taction: () => void createNewRecord(),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ttype: 'button',\n\t\t\t\t\tlabel: 'Refresh',\n\t\t\t\t\taction: () => {\n\t\t\t\t\t\t// Refresh records\n\t\t\t\t\t\twindow.location.reload()\n\t\t\t\t\t},\n\t\t\t\t}\n\t\t\t)\n\t\t\tbreak\n\t\tcase 'record': {\n\t\t\t// Add XState Transitions dropdown for record view\n\t\t\tconst transitionActions = getAvailableTransitions()\n\t\t\tif (transitionActions.length > 0) {\n\t\t\t\telements.push({\n\t\t\t\t\ttype: 'dropdown',\n\t\t\t\t\tlabel: 'Actions',\n\t\t\t\t\tactions: transitionActions,\n\t\t\t\t})\n\t\t\t}\n\t\t\tbreak\n\t\t}\n\t}\n\n\treturn elements\n})\n\nconst navigationBreadcrumbs = computed(() => {\n\tconst breadcrumbs: { title: string; to: string }[] = []\n\n\tif (currentView.value === 'records' && routeDoctype.value) {\n\t\tbreadcrumbs.push(\n\t\t\t{ title: 'Home', to: '/' },\n\t\t\t{ title: formatDoctypeName(routeDoctype.value), to: `/${routeDoctype.value}` }\n\t\t)\n\t} else if (currentView.value === 'record' && routeDoctype.value) {\n\t\tbreadcrumbs.push(\n\t\t\t{ title: 'Home', to: '/' },\n\t\t\t{ title: formatDoctypeName(routeDoctype.value), to: `/${routeDoctype.value}` },\n\t\t\t{ title: isNewRecord.value ? 'New Record' : 'Edit Record', to: route.value?.fullPath || '' }\n\t\t)\n\t}\n\n\treturn breadcrumbs\n})\n\n// Command palette functionality\ntype Command = {\n\ttitle: string\n\tdescription: string\n\taction: () => void\n}\n\nconst searchCommands = (query: string): Command[] => {\n\tconst commands: Command[] = [\n\t\t{\n\t\t\ttitle: 'Go Home',\n\t\t\tdescription: 'Navigate to the home page',\n\t\t\taction: () => void router.value?.push('/'),\n\t\t},\n\t\t{\n\t\t\ttitle: 'Toggle Command Palette',\n\t\t\tdescription: 'Open/close the command palette',\n\t\t\taction: () => (commandPaletteOpen.value = !commandPaletteOpen.value),\n\t\t},\n\t]\n\n\t// Add doctype-specific commands\n\tif (routeDoctype.value) {\n\t\tcommands.push({\n\t\t\ttitle: `View ${formatDoctypeName(routeDoctype.value)} Records`,\n\t\t\tdescription: `Navigate to ${routeDoctype.value} list`,\n\t\t\taction: () => void router.value?.push(`/${routeDoctype.value}`),\n\t\t})\n\n\t\tcommands.push({\n\t\t\ttitle: `Create New ${formatDoctypeName(routeDoctype.value)}`,\n\t\t\tdescription: `Create a new ${routeDoctype.value} record`,\n\t\t\taction: () => void createNewRecord(),\n\t\t})\n\t}\n\n\t// Add available doctypes as commands\n\tavailableDoctypes.forEach(doctype => {\n\t\tcommands.push({\n\t\t\ttitle: `View ${formatDoctypeName(doctype)}`,\n\t\t\tdescription: `Navigate to ${doctype} list`,\n\t\t\taction: () => void router.value?.push(`/${doctype}`),\n\t\t})\n\t})\n\n\t// Filter commands based on query\n\tif (!query) return commands\n\n\treturn commands.filter(\n\t\tcmd =>\n\t\t\tcmd.title.toLowerCase().includes(query.toLowerCase()) ||\n\t\t\tcmd.description.toLowerCase().includes(query.toLowerCase())\n\t)\n}\n\nconst executeCommand = (command: Command) => {\n\tcommand.action()\n\tcommandPaletteOpen.value = false\n}\n\n// Helper functions - moved here to avoid \"before initialization\" errors\nconst formatDoctypeName = (doctype: string): string => {\n\treturn doctype\n\t\t.split('-')\n\t\t.map(word => word.charAt(0).toUpperCase() + word.slice(1))\n\t\t.join(' ')\n}\n\nconst getRecordCount = (doctype: string): number => {\n\tif (!stonecrop.value) return 0\n\tconst recordIds = stonecrop.value.getRecordIds(doctype)\n\treturn recordIds.length\n}\n\nconst navigateToDoctype = async (doctype: string) => {\n\tawait router.value?.push(`/${doctype}`)\n}\n\nconst openRecord = async (recordId: string) => {\n\tawait router.value?.push(`/${routeDoctype.value}/${recordId}`)\n}\n\nconst createNewRecord = async () => {\n\tconst newId = `new-${Date.now()}`\n\tawait router.value?.push(`/${routeDoctype.value}/${newId}`)\n}\n\n// Doctype metadata loader - simplified since router handles most of this\nconst loadDoctypeMetadata = (doctype: string) => {\n\tif (!stonecrop.value) return\n\n\t// Ensure the doctype structure exists in HST\n\t// The router should have already loaded the metadata, but this ensures the HST structure exists\n\ttry {\n\t\tstonecrop.value.records(doctype)\n\t} catch (error) {\n\t\t// Silent error handling - structure will be created if needed\n\t}\n}\n\n// Schema generator functions - moved here to be available to computed properties\nconst getDoctypesSchema = (): SchemaTypes[] => {\n\tif (!availableDoctypes.length) return []\n\n\tconst rows = availableDoctypes.map(doctype => ({\n\t\tid: doctype,\n\t\tdoctype,\n\t\tdisplay_name: formatDoctypeName(doctype),\n\t\trecord_count: getRecordCount(doctype),\n\t\tactions: 'View Records',\n\t}))\n\n\treturn [\n\t\t{\n\t\t\tfieldname: 'header',\n\t\t\tcomponent: 'div',\n\t\t\tvalue: `\n\t\t\t\t<div class=\"view-header\">\n\t\t\t\t\t<h1>Available Doctypes</h1>\n\t\t\t\t</div>\n\t\t\t`,\n\t\t},\n\t\t{\n\t\t\tfieldname: 'doctypes_table',\n\t\t\tcomponent: 'ATable',\n\t\t\tcolumns: [\n\t\t\t\t{\n\t\t\t\t\tlabel: 'Doctype',\n\t\t\t\t\tname: 'doctype',\n\t\t\t\t\ttype: 'Data',\n\t\t\t\t\talign: 'left',\n\t\t\t\t\tedit: false,\n\t\t\t\t\twidth: '20ch',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: 'Name',\n\t\t\t\t\tname: 'display_name',\n\t\t\t\t\ttype: 'Data',\n\t\t\t\t\talign: 'left',\n\t\t\t\t\tedit: false,\n\t\t\t\t\twidth: '30ch',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: 'Records',\n\t\t\t\t\tname: 'record_count',\n\t\t\t\t\ttype: 'Data',\n\t\t\t\t\talign: 'center',\n\t\t\t\t\tedit: false,\n\t\t\t\t\twidth: '15ch',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: 'Actions',\n\t\t\t\t\tname: 'actions',\n\t\t\t\t\ttype: 'Data',\n\t\t\t\t\talign: 'center',\n\t\t\t\t\tedit: false,\n\t\t\t\t\twidth: '20ch',\n\t\t\t\t},\n\t\t\t] as TableColumn[],\n\t\t\tconfig: {\n\t\t\t\tview: 'list',\n\t\t\t\tfullWidth: true,\n\t\t\t} as TableConfig,\n\t\t\trows,\n\t\t},\n\t]\n}\n\nconst getRecordsSchema = (): SchemaTypes[] => {\n\tif (!currentDoctype.value) return []\n\tif (!stonecrop.value) return []\n\n\tconst records = getRecords()\n\tconst columns = getColumns()\n\n\t// If no columns are available, show a loading or empty state\n\tif (columns.length === 0) {\n\t\treturn [\n\t\t\t{\n\t\t\t\tfieldname: 'header',\n\t\t\t\tcomponent: 'div',\n\t\t\t\tvalue: `\n\t\t\t\t\t<div class=\"view-header\">\n\t\t\t\t\t\t<nav class=\"breadcrumbs\">\n\t\t\t\t\t\t\t<a href=\"/\">Home</a>\n\t\t\t\t\t\t\t<span class=\"separator\">/</span>\n\t\t\t\t\t\t\t<span class=\"current\">${formatDoctypeName(routeDoctype.value || currentDoctype.value)}</span>\n\t\t\t\t\t\t</nav>\n\t\t\t\t\t\t<h1>${formatDoctypeName(routeDoctype.value || currentDoctype.value)} Records</h1>\n\t\t\t\t\t</div>\n\t\t\t\t`,\n\t\t\t},\n\t\t\t{\n\t\t\t\tfieldname: 'loading',\n\t\t\t\tcomponent: 'div',\n\t\t\t\tvalue: `\n\t\t\t\t\t<div class=\"loading-state\">\n\t\t\t\t\t\t<p>Loading ${formatDoctypeName(routeDoctype.value || currentDoctype.value)} schema...</p>\n\t\t\t\t\t</div>\n\t\t\t\t`,\n\t\t\t},\n\t\t]\n\t}\n\n\tconst rows = records.map((record: any) => ({\n\t\t...record,\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n\t\tid: record.id || '',\n\t\tactions: 'Edit | Delete',\n\t}))\n\n\treturn [\n\t\t{\n\t\t\tfieldname: 'header',\n\t\t\tcomponent: 'div',\n\t\t\tvalue: `\n\t\t\t\t<div class=\"view-header\">\n\t\t\t\t\t<nav class=\"breadcrumbs\">\n\t\t\t\t\t\t<a href=\"/\">Home</a>\n\t\t\t\t\t\t<span class=\"separator\">/</span>\n\t\t\t\t\t\t<span class=\"current\">${formatDoctypeName(routeDoctype.value || currentDoctype.value)}</span>\n\t\t\t\t\t</nav>\n\t\t\t\t\t<h1>${formatDoctypeName(routeDoctype.value || currentDoctype.value)} Records</h1>\n\t\t\t\t</div>\n\t\t\t`,\n\t\t},\n\t\t{\n\t\t\tfieldname: 'actions',\n\t\t\tcomponent: 'div',\n\t\t\tvalue: `\n\t\t\t\t<div class=\"view-actions\">\n\t\t\t\t\t<button class=\"btn-primary\" data-action=\"create\">\n\t\t\t\t\t\tNew ${formatDoctypeName(routeDoctype.value || currentDoctype.value)}\n\t\t\t\t\t</button>\n\t\t\t\t</div>\n\t\t\t`,\n\t\t},\n\t\t...(records.length === 0\n\t\t\t? [\n\t\t\t\t\t{\n\t\t\t\t\t\tfieldname: 'empty_state',\n\t\t\t\t\t\tcomponent: 'div',\n\t\t\t\t\t\tvalue: `\n\t\t\t\t\t\t\t<div class=\"empty-state\">\n\t\t\t\t\t\t\t\t<p>No ${routeDoctype.value || currentDoctype.value} records found.</p>\n\t\t\t\t\t\t\t\t<button class=\"btn-primary\" data-action=\"create\">\n\t\t\t\t\t\t\t\t\tCreate First Record\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t`,\n\t\t\t\t\t},\n\t\t\t ]\n\t\t\t: [\n\t\t\t\t\t{\n\t\t\t\t\t\tfieldname: 'records_table',\n\t\t\t\t\t\tcomponent: 'ATable',\n\t\t\t\t\t\tcolumns: [\n\t\t\t\t\t\t\t...columns.map(col => ({\n\t\t\t\t\t\t\t\tlabel: col.label,\n\t\t\t\t\t\t\t\tname: col.fieldname,\n\t\t\t\t\t\t\t\ttype: col.fieldtype,\n\t\t\t\t\t\t\t\talign: 'left',\n\t\t\t\t\t\t\t\tedit: false,\n\t\t\t\t\t\t\t\twidth: '20ch',\n\t\t\t\t\t\t\t})),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlabel: 'Actions',\n\t\t\t\t\t\t\t\tname: 'actions',\n\t\t\t\t\t\t\t\ttype: 'Data',\n\t\t\t\t\t\t\t\talign: 'center',\n\t\t\t\t\t\t\t\tedit: false,\n\t\t\t\t\t\t\t\twidth: '20ch',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t] as TableColumn[],\n\t\t\t\t\t\tconfig: {\n\t\t\t\t\t\t\tview: 'list',\n\t\t\t\t\t\t\tfullWidth: true,\n\t\t\t\t\t\t} as TableConfig,\n\t\t\t\t\t\trows,\n\t\t\t\t\t},\n\t\t\t ]),\n\t]\n}\n\nconst getRecordFormSchema = (): SchemaTypes[] => {\n\tif (!currentDoctype.value) return []\n\tif (!stonecrop.value) return []\n\n\ttry {\n\t\tconst registry = stonecrop.value?.registry\n\t\tconst meta = registry?.registry[currentDoctype.value]\n\n\t\tif (!meta?.schema) {\n\t\t\t// Return loading state if schema isn't available yet\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\tfieldname: 'header',\n\t\t\t\t\tcomponent: 'div',\n\t\t\t\t\tvalue: `\n\t\t\t\t\t\t<div class=\"view-header\">\n\t\t\t\t\t\t\t<nav class=\"breadcrumbs\">\n\t\t\t\t\t\t\t\t<a href=\"/\">Home</a>\n\t\t\t\t\t\t\t\t<span class=\"separator\">/</span>\n\t\t\t\t\t\t\t\t<a href=\"/${routeDoctype.value || currentDoctype.value}\">${formatDoctypeName(\n\t\t\t\t\t\trouteDoctype.value || currentDoctype.value\n\t\t\t\t\t)}</a>\n\t\t\t\t\t\t\t\t<span class=\"separator\">/</span>\n\t\t\t\t\t\t\t\t<span class=\"current\">${isNewRecord.value ? 'New Record' : currentRecordId.value}</span>\n\t\t\t\t\t\t\t</nav>\n\t\t\t\t\t\t\t<h1>${\n\t\t\t\t\t\t\t\tisNewRecord.value\n\t\t\t\t\t\t\t\t\t? `New ${formatDoctypeName(routeDoctype.value || currentDoctype.value)}`\n\t\t\t\t\t\t\t\t\t: `Edit ${formatDoctypeName(routeDoctype.value || currentDoctype.value)}`\n\t\t\t\t\t\t\t}</h1>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t`,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tfieldname: 'loading',\n\t\t\t\t\tcomponent: 'div',\n\t\t\t\t\tvalue: `\n\t\t\t\t\t\t<div class=\"loading-state\">\n\t\t\t\t\t\t\t<p>Loading ${formatDoctypeName(routeDoctype.value || currentDoctype.value)} form...</p>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t`,\n\t\t\t\t},\n\t\t\t]\n\t\t}\n\n\t\tconst schemaArray = 'toArray' in meta.schema ? meta.schema.toArray() : meta.schema\n\t\tconst currentRecord = getCurrentRecord()\n\n\t\treturn [\n\t\t\t{\n\t\t\t\tfieldname: 'header',\n\t\t\t\tcomponent: 'div',\n\t\t\t\tvalue: `\n\t\t\t\t\t<div class=\"view-header\">\n\t\t\t\t\t\t<nav class=\"breadcrumbs\">\n\t\t\t\t\t\t\t<a href=\"/\">Home</a>\n\t\t\t\t\t\t\t<span class=\"separator\">/</span>\n\t\t\t\t\t\t\t<a href=\"/${routeDoctype.value || currentDoctype.value}\">${formatDoctypeName(\n\t\t\t\t\trouteDoctype.value || currentDoctype.value\n\t\t\t\t)}</a>\n\t\t\t\t\t\t\t<span class=\"separator\">/</span>\n\t\t\t\t\t\t\t<span class=\"current\">${isNewRecord.value ? 'New Record' : currentRecordId.value}</span>\n\t\t\t\t\t\t</nav>\n\t\t\t\t\t\t<h1>\n\t\t\t\t\t\t\t${\n\t\t\t\t\t\t\t\tisNewRecord.value\n\t\t\t\t\t\t\t\t\t? `New ${formatDoctypeName(routeDoctype.value || currentDoctype.value)}`\n\t\t\t\t\t\t\t\t\t: `Edit ${formatDoctypeName(routeDoctype.value || currentDoctype.value)}`\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</h1>\n\t\t\t\t\t</div>\n\t\t\t\t`,\n\t\t\t},\n\t\t\t{\n\t\t\t\tfieldname: 'actions',\n\t\t\t\tcomponent: 'div',\n\t\t\t\tvalue: `\n\t\t\t\t\t<div class=\"view-actions\">\n\t\t\t\t\t\t<button class=\"btn-primary\" data-action=\"save\" ${saving.value ? 'disabled' : ''}>\n\t\t\t\t\t\t\t${saving.value ? 'Saving...' : 'Save'}\n\t\t\t\t\t\t</button>\n\t\t\t\t\t\t<button class=\"btn-secondary\" data-action=\"cancel\">Cancel</button>\n\t\t\t\t\t\t${!isNewRecord.value ? '<button class=\"btn-danger\" data-action=\"delete\">Delete</button>' : ''}\n\t\t\t\t\t</div>\n\t\t\t\t`,\n\t\t\t},\n\t\t\t...schemaArray.map(field => ({\n\t\t\t\t...field,\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n\t\t\t\tvalue: currentRecord[field.fieldname] || '',\n\t\t\t})),\n\t\t]\n\t} catch (error) {\n\t\treturn [\n\t\t\t{\n\t\t\t\tfieldname: 'error',\n\t\t\t\tcomponent: 'div',\n\t\t\t\tvalue: `\n\t\t\t\t\t<div class=\"error-state\">\n\t\t\t\t\t\t<p>Unable to load form schema for ${formatDoctypeName(routeDoctype.value || currentDoctype.value)}</p>\n\t\t\t\t\t</div>\n\t\t\t\t`,\n\t\t\t},\n\t\t]\n\t}\n}\n\n// Additional data helper functions\nconst getRecords = () => {\n\tif (!stonecrop.value || !currentDoctype.value) {\n\t\treturn []\n\t}\n\n\tconst recordsNode = stonecrop.value.records(currentDoctype.value)\n\tconst recordsData = recordsNode?.get('')\n\n\tif (recordsData && typeof recordsData === 'object' && !Array.isArray(recordsData)) {\n\t\treturn Object.values(recordsData as Record<string, any>)\n\t}\n\n\treturn []\n}\n\nconst getColumns = () => {\n\tif (!stonecrop.value || !currentDoctype.value) return []\n\n\ttry {\n\t\tconst registry = stonecrop.value.registry\n\t\tconst meta = registry.registry[currentDoctype.value]\n\n\t\tif (meta?.schema) {\n\t\t\tconst schemaArray = 'toArray' in meta.schema ? meta.schema.toArray() : meta.schema\n\t\t\treturn schemaArray.map(field => ({\n\t\t\t\tfieldname: field.fieldname,\n\t\t\t\tlabel: ('label' in field && field.label) || field.fieldname,\n\t\t\t\tfieldtype: ('fieldtype' in field && field.fieldtype) || 'Data',\n\t\t\t}))\n\t\t}\n\t} catch (error) {\n\t\t// Error getting schema - return empty array\n\t}\n\n\treturn []\n}\n\nconst getCurrentRecord = () => {\n\tif (!stonecrop.value || !currentDoctype.value || isNewRecord.value) return {}\n\n\tconst record = stonecrop.value.getRecordById(currentDoctype.value, currentRecordId.value)\n\treturn record?.get('') || {}\n}\n\n// Schema for different views - defined here after all helper functions are available\nconst currentViewSchema = computed<SchemaTypes[]>(() => {\n\tswitch (currentView.value) {\n\t\tcase 'doctypes':\n\t\t\treturn getDoctypesSchema()\n\t\tcase 'records':\n\t\t\treturn getRecordsSchema()\n\t\tcase 'record':\n\t\t\treturn getRecordFormSchema()\n\t\tdefault:\n\t\t\treturn []\n\t}\n})\n\n// Writable schema for AForm v-model binding\nconst writableSchema = ref<SchemaTypes[]>([])\n\n// Sync computed schema to writable schema when it changes\nwatch(\n\tcurrentViewSchema,\n\tnewSchema => {\n\t\twritableSchema.value = [...newSchema]\n\t},\n\t{ immediate: true, deep: true }\n)\n\n// Watch for field changes in writable schema and sync to HST\nwatch(\n\twritableSchema,\n\tnewSchema => {\n\t\tif (!stonecrop.value || !currentDoctype.value || !currentRecordId.value || isNewRecord.value) {\n\t\t\treturn\n\t\t}\n\n\t\ttry {\n\t\t\tconst hstStore = stonecrop.value.getStore()\n\n\t\t\t// Process form field updates from schema\n\t\t\tnewSchema.forEach(field => {\n\t\t\t\t// Only process fields that have a fieldname and value (form fields)\n\t\t\t\tif (\n\t\t\t\t\tfield.fieldname &&\n\t\t\t\t\t'value' in field &&\n\t\t\t\t\t!['header', 'actions', 'loading', 'error'].includes(field.fieldname)\n\t\t\t\t) {\n\t\t\t\t\tconst fieldPath = `${currentDoctype.value}.${currentRecordId.value}.${field.fieldname}`\n\t\t\t\t\tconst currentValue = hstStore.has(fieldPath) ? hstStore.get(fieldPath) : undefined\n\n\t\t\t\t\t// Only update if value actually changed to avoid infinite loops\n\t\t\t\t\tif (currentValue !== field.value) {\n\t\t\t\t\t\thstStore.set(fieldPath, field.value)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\t\t} catch (error) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.warn('HST schema sync failed:', error)\n\t\t}\n\t},\n\t{ deep: true }\n)\n\n// Action handlers (will be triggered by button clicks in the UI)\nconst handleSave = async () => {\n\t// eslint-disable-next-line no-console\n\tif (!stonecrop.value) return\n\n\tsaving.value = true\n\n\ttry {\n\t\tconst formData = currentViewData.value || {}\n\n\t\tif (isNewRecord.value) {\n\t\t\tconst newId = `record-${Date.now()}`\n\t\t\tconst recordData = { id: newId, ...formData }\n\n\t\t\tstonecrop.value.addRecord(currentDoctype.value, newId, recordData)\n\n\t\t\t// Trigger SAVE transition for new record\n\t\t\tconst node = stonecrop.value.getRecordById(currentDoctype.value, newId)\n\t\t\tif (node) {\n\t\t\t\tawait node.triggerTransition('SAVE', {\n\t\t\t\t\tcurrentState: 'creating',\n\t\t\t\t\ttargetState: 'saved',\n\t\t\t\t\tfsmContext: recordData,\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tawait router.value?.replace(`/${routeDoctype.value}/${newId}`)\n\t\t} else {\n\t\t\tconst recordData = { id: currentRecordId.value, ...formData }\n\t\t\tstonecrop.value.addRecord(currentDoctype.value, currentRecordId.value, recordData)\n\n\t\t\t// Trigger SAVE transition for existing record\n\t\t\tconst node = stonecrop.value.getRecordById(currentDoctype.value, currentRecordId.value)\n\t\t\tif (node) {\n\t\t\t\tawait node.triggerTransition('SAVE', {\n\t\t\t\t\tcurrentState: 'editing',\n\t\t\t\t\ttargetState: 'saved',\n\t\t\t\t\tfsmContext: recordData,\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t} catch (error) {\n\t\t// Silently handle error\n\t} finally {\n\t\tsaving.value = false\n\t}\n}\n\nconst handleCancel = async () => {\n\tif (isNewRecord.value) {\n\t\t// For new records, we don't have a specific record node yet\n\t\t// Just navigate back without triggering transition\n\t\tawait router.value?.push(`/${routeDoctype.value}`)\n\t} else {\n\t\t// Trigger CANCEL transition for existing record\n\t\tif (stonecrop.value) {\n\t\t\tconst node = stonecrop.value.getRecordById(currentDoctype.value, currentRecordId.value)\n\t\t\tif (node) {\n\t\t\t\tawait node.triggerTransition('CANCEL', {\n\t\t\t\t\tcurrentState: 'editing',\n\t\t\t\t\ttargetState: 'cancelled',\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t\t// Reload current record data\n\t\tloadRecordData()\n\t}\n}\n\nconst handleActionClick = (label: string, action: (() => void | Promise<void>) | undefined) => {\n\t// eslint-disable-next-line no-console\n\tif (action) {\n\t\tvoid action()\n\t}\n}\n\nconst handleDelete = async (recordId?: string) => {\n\tif (!stonecrop.value) return\n\n\tconst targetRecordId = recordId || currentRecordId.value\n\tif (!targetRecordId) return\n\n\tif (confirm('Are you sure you want to delete this record?')) {\n\t\t// Trigger DELETE transition before removing\n\t\tconst node = stonecrop.value.getRecordById(currentDoctype.value, targetRecordId)\n\t\tif (node) {\n\t\t\tawait node.triggerTransition('DELETE', {\n\t\t\t\tcurrentState: 'editing',\n\t\t\t\ttargetState: 'deleted',\n\t\t\t})\n\t\t}\n\n\t\tstonecrop.value.removeRecord(currentDoctype.value, targetRecordId)\n\n\t\tif (currentView.value === 'record') {\n\t\t\tawait router.value?.push(`/${routeDoctype.value}`)\n\t\t}\n\t}\n}\n\n// Event handlers\nconst handleClick = async (event: Event) => {\n\tconst target = event.target as HTMLElement\n\tconst action = target.getAttribute('data-action')\n\n\tif (action) {\n\t\tswitch (action) {\n\t\t\tcase 'create':\n\t\t\t\tawait createNewRecord()\n\t\t\t\tbreak\n\t\t\tcase 'save':\n\t\t\t\tawait handleSave()\n\t\t\t\tbreak\n\t\t\tcase 'cancel':\n\t\t\t\tawait handleCancel()\n\t\t\t\tbreak\n\t\t\tcase 'delete':\n\t\t\t\tawait handleDelete()\n\t\t\t\tbreak\n\t\t}\n\t}\n\n\t// Handle table cell clicks for actions\n\tconst cell = target.closest('td, th')\n\tif (cell) {\n\t\tconst cellText = cell.textContent?.trim()\n\t\tconst row = cell.closest('tr')\n\n\t\tif (cellText === 'View Records' && row) {\n\t\t\t// Get the doctype from the row data\n\t\t\tconst cells = row.querySelectorAll('td')\n\t\t\tif (cells.length > 0) {\n\t\t\t\tconst doctypeCell = cells[1] // Assuming doctype is in second column (first column is index)\n\t\t\t\tconst doctype = doctypeCell.textContent?.trim()\n\t\t\t\tif (doctype) {\n\t\t\t\t\tawait navigateToDoctype(doctype)\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (cellText?.includes('Edit') && row) {\n\t\t\t// Get the record ID from the row\n\t\t\tconst cells = row.querySelectorAll('td')\n\t\t\tif (cells.length > 0) {\n\t\t\t\tconst idCell = cells[0] // Assuming ID is in first column\n\t\t\t\tconst recordId = idCell.textContent?.trim()\n\t\t\t\tif (recordId) {\n\t\t\t\t\tawait openRecord(recordId)\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (cellText?.includes('Delete') && row) {\n\t\t\t// Get the record ID from the row\n\t\t\tconst cells = row.querySelectorAll('td')\n\t\t\tif (cells.length > 0) {\n\t\t\t\tconst idCell = cells[0] // Assuming ID is in first column\n\t\t\t\tconst recordId = idCell.textContent?.trim()\n\t\t\t\tif (recordId) {\n\t\t\t\t\tawait handleDelete(recordId)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\n// Watch for route changes to load appropriate data\nwatch(\n\t[currentView, currentDoctype, currentRecordId],\n\t() => {\n\t\tif (currentView.value === 'record') {\n\t\t\tloadRecordData()\n\t\t}\n\t},\n\t{ immediate: true }\n)\n\n// Watch for Stonecrop instance to become available\nwatch(\n\tstonecrop,\n\tnewStonecrop => {\n\t\tif (newStonecrop) {\n\t\t\t// Force a re-evaluation of the current view schema when Stonecrop becomes available\n\t\t\t// This is handled automatically by the reactive computed properties\n\t\t}\n\t},\n\t{ immediate: true }\n)\n\n// Watch for when we need to load data for records view\nwatch(\n\t[currentView, currentDoctype, stonecrop],\n\t([view, doctype, stonecropInstance]) => {\n\t\tif (view === 'records' && doctype && stonecropInstance) {\n\t\t\t// Ensure doctype metadata is loaded\n\t\t\tloadDoctypeMetadata(doctype)\n\t\t}\n\t},\n\t{ immediate: true }\n)\n\nconst loadRecordData = () => {\n\tif (!stonecrop.value || !currentDoctype.value) return\n\n\tloading.value = true\n\n\ttry {\n\t\tif (!isNewRecord.value) {\n\t\t\t// For existing records, ensure the record exists in HST\n\t\t\t// The computed currentViewData will automatically read from HST\n\t\t\tstonecrop.value.getRecordById(currentDoctype.value, currentRecordId.value)\n\t\t}\n\t\t// For new records, currentViewData computed property will return {} automatically\n\t} catch (error) {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.warn('Error loading record data:', error)\n\t} finally {\n\t\tloading.value = false\n\t}\n}\n\n// Provide methods for action components\nconst desktopMethods = {\n\tnavigateToDoctype,\n\topenRecord,\n\tcreateNewRecord,\n\thandleSave,\n\thandleCancel,\n\thandleDelete,\n}\n\nprovide('desktopMethods', desktopMethods)\n\n// Register action components in Vue app\nonMounted(() => {\n\t// Wait a tick for stonecrop to be ready, then load initial data\n\tvoid nextTick(() => {\n\t\tif (currentView.value === 'records' && currentDoctype.value && stonecrop.value) {\n\t\t\tloadDoctypeMetadata(currentDoctype.value)\n\t\t}\n\t})\n\n\t// Components will be automatically registered via the global component system\n\n\t// Add keyboard shortcuts\n\tconst handleKeydown = (event: KeyboardEvent) => {\n\t\t// Ctrl+K or Cmd+K to open command palette\n\t\tif ((event.ctrlKey || event.metaKey) && event.key === 'k') {\n\t\t\tevent.preventDefault()\n\t\t\tcommandPaletteOpen.value = true\n\t\t}\n\t\t// Escape to close command palette\n\t\tif (event.key === 'Escape' && commandPaletteOpen.value) {\n\t\t\tcommandPaletteOpen.value = false\n\t\t}\n\t}\n\n\tdocument.addEventListener('keydown', handleKeydown)\n\n\t// Cleanup event listener on unmount\n\treturn () => {\n\t\tdocument.removeEventListener('keydown', handleKeydown)\n\t}\n})\n</script>\n","import { App, type Plugin } from 'vue'\n\nimport ActionSet from '../components/ActionSet.vue'\nimport CommandPalette from '../components/CommandPalette.vue'\nimport Desktop from '../components/Desktop.vue'\nimport SheetNav from '../components/SheetNav.vue'\n\n/**\n * This is the main plugin that will be used to register all the desktop components.\n * @public\n */\nconst plugin: Plugin = {\n\tinstall: (app: App) => {\n\t\tapp.component('ActionSet', ActionSet)\n\t\tapp.component('CommandPalette', CommandPalette)\n\t\tapp.component('Desktop', Desktop)\n\t\tapp.component('SheetNav', SheetNav)\n\t},\n}\n\nexport default plugin\n"],"names":["emit","__emit","dropdownStates","ref","isOpen","timeoutId","hover","closeClicked","onMounted","closeDropdowns","onHover","onHoverLeave","toggleDropdown","index","showDropdown","handleClick","action","label","_createElementBlock","_normalizeClass","_createElementVNode","_hoisted_1","_cache","$event","_openBlock","_Fragment","_renderList","__props","el","_toDisplayString","_hoisted_2","_hoisted_3","_hoisted_4","_withDirectives","_hoisted_5","_hoisted_6","item","itemIndex","_hoisted_7","_hoisted_9","_vShow","query","selectedIndex","inputRef","useTemplateRef","results","computed","watch","nextTick","closeModal","handleKeydown","e","selectResult","result","_createBlock","_Teleport","_createVNode","_Transition","_renderSlot","_ctx","re","ge","r","Ye","Z","se","ne","Be","o","X","ye","je","Pe","s","Fe","ke","q","Qe","Ne","me","Ee","Xe","et","U","Ie","$e","i","a","c","l","S","Re","M","w","P","te","B","$","Oe","u","g","T","k","_","D","f","O","ce","R","y","b","C","d","m","N","V","A","E","I","H","we","L","Ze","oe","Ve","tt","Ke","he","Ae","Ue","rt","nt","ot","st","We","it","Me","Ge","at","ze","ct","Se","ut","lt","ft","dt","pt","Le","ht","K","gt","J","Y","qe","le","fe","vt","yt","mt","St","bt","De","wt","xe","x","Et","be","de","_t","ue","p","h","v","F","W","z","j","ie","G","Te","Q","ve","t","Pt","He","Ft","pe","Ce","Nt","_e","n","Zt","en","breadcrumbsVisibile","searchVisibile","searchText","rotateHideTabIcon","toggleBreadcrumbs","toggleSearch","handleSearchInput","event","handleSearch","navigateHome","_component_router_link","_withKeys","breadcrumb","_createTextVNode","stonecrop","useStonecrop","loading","saving","commandPaletteOpen","currentViewData","currentDoctype","currentRecordId","newData","hstStore","fieldname","value","fieldPath","error","route","unref","router","pathMatch","routeDoctype","isNewRecord","currentView","routeName","getAvailableTransitions","meta","currentState","stateConfig","transition","targetState","targetStateName","actionFn","node","recordData","actionElements","elements","createNewRecord","transitionActions","navigationBreadcrumbs","breadcrumbs","formatDoctypeName","searchCommands","commands","doctype","cmd","executeCommand","command","word","getRecordCount","navigateToDoctype","openRecord","recordId","newId","loadDoctypeMetadata","getDoctypesSchema","rows","getRecordsSchema","records","getRecords","columns","getColumns","record","col","getRecordFormSchema","schemaArray","currentRecord","getCurrentRecord","field","recordsData","currentViewSchema","writableSchema","newSchema","handleSave","formData","handleCancel","loadRecordData","handleActionClick","handleDelete","targetRecordId","target","cell","cellText","row","cells","newStonecrop","view","stonecropInstance","provide","ActionSet","_unref","AForm","SheetNav","CommandPalette","_withCtx","plugin","app","Desktop"],"mappings":"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"}