@stonecrop/desktop 0.2.24 → 0.2.26
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.
- package/dist/desktop.d.ts +20 -0
- package/dist/desktop.js +2308 -2235
- package/dist/desktop.js.map +1 -1
- package/dist/desktop.tsbuildinfo +1 -0
- package/dist/desktop.umd.cjs +23 -17
- package/dist/desktop.umd.cjs.map +1 -1
- package/dist/index.js +7 -0
- package/dist/plugins/index.js +15 -0
- package/dist/router.js +6 -0
- package/dist/src/index.d.ts +8 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/plugins/index.d.ts +4 -0
- package/dist/src/plugins/index.d.ts.map +1 -0
- package/dist/src/router.d.ts +8 -0
- package/dist/src/router.d.ts.map +1 -0
- package/dist/style.css +1 -1
- package/package.json +20 -23
- package/src/components/ActionSet.vue +1 -1
- package/src/components/Desktop.vue +2 -2
- package/src/components/Doctype.vue +3 -3
- package/src/plugins/index.ts +4 -2
package/dist/desktop.js.map
CHANGED
|
@@ -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","../../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\tclass=\"leftBar\"\n\t\t\t\t\tversion=\"1.1\"\n\t\t\t\t\tid=\"Layer_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\tclass=\"rightBar\"\n\t\t\t\t\tversion=\"1.1\"\n\t\t\t\t\tid=\"Layer_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 class=\"action-element\" v-for=\"(el, index) in _elements\" :key=\"el.label\">\n\t\t\t<button v-if=\"el.elementType == 'button'\" :onclick=\"el.action\" class=\"button-default\">{{ el.label }}</button>\n\t\t\t<div v-if=\"el.elementType == 'dropdown'\">\n\t\t\t\t<button class=\"button-default\" @click=\"toggleDropdown(index)\">{{ el.label }}</button>\n\t\t\t\t<div class=\"dropdown-container\" v-show=\"el.show\">\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\ntype SetAction = {\n\tlabel: string\n\tlink?: string\n\taction?: () => void\n}\n\ntype SetElement = {\n\telementType: string\n\tlabel: string\n\tlink?: string\n\tshow?: boolean\n\taction?: () => void\n\tactions?: SetAction[]\n}\n\nconst props = defineProps<{\n\telements?: SetElement[]\n}>()\n\nconst _elements = ref<SetElement[]>([])\nconst isOpen = ref(false)\nconst timeout = ref<NodeJS.Timeout>(null)\nconst hover = ref(false)\nconst closeClicked = ref(false)\n\nonMounted(() => {\n\t_elements.value = props.elements\n\tcloseDropdowns()\n})\n\nconst closeDropdowns = () => {\n\tfor (let element of _elements.value) {\n\t\tif (element.elementType === 'dropdown') {\n\t\t\telement.show = false\n\t\t}\n\t}\n}\n\nconst onHover = () => {\n\thover.value = true\n\ttimeout.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(timeout.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<dialog></dialog>\n</template>\n\n<script setup lang=\"ts\"></script>\n","import { defineComponent as E, mergeModels as S, useModel as $, openBlock as v, createElementBlock as g, createElementVNode as c, toDisplayString as A, withDirectives as M, vModelCheckbox as de, vShow as x, resolveComponent as fe, createBlock as K, withCtx as pe, ref as m, onMounted as Y, onUnmounted as me, normalizeClass as P, withKeys as B, vModelText as G, Fragment as q, renderList as F, watch as U, onBeforeUnmount as ve, computed as H, unref as re, getCurrentScope as he, onScopeDispose as ye, nextTick as ge, withModifiers as _e, resolveDynamicComponent as be, mergeProps as ke, createTextVNode as we, createCommentVNode as De, renderSlot as Me, createVNode as Ee } from \"vue\";\nconst Ae = { class: \"aform__form-element\" }, Ce = [\"for\"], Te = { class: \"aform__checkbox-container aform__input-field\" }, Ve = [\"id\", \"readonly\", \"required\"], Le = [\"innerHTML\"], Se = /* @__PURE__ */ E({\n __name: \"ACheckbox\",\n props: /* @__PURE__ */ S({\n label: {},\n required: { type: Boolean },\n readOnly: { type: Boolean },\n uuid: {},\n validation: { default: () => ({ errorMessage: \" \" }) }\n }, {\n modelValue: {},\n modelModifiers: {}\n }),\n emits: [\"update:modelValue\"],\n setup(e) {\n const t = $(e, \"modelValue\");\n return (n, o) => (v(), g(\"div\", Ae, [\n c(\"label\", {\n class: \"aform__field-label\",\n for: n.uuid\n }, A(n.label), 9, Ce),\n c(\"span\", Te, [\n M(c(\"input\", {\n \"onUpdate:modelValue\": o[0] || (o[0] = (l) => t.value = l),\n type: \"checkbox\",\n id: n.uuid,\n class: \"aform__checkbox\",\n readonly: n.readOnly,\n required: n.required\n }, null, 8, Ve), [\n [de, t.value]\n ])\n ]),\n M(c(\"p\", {\n class: \"error\",\n innerHTML: n.validation.errorMessage\n }, null, 8, Le), [\n [x, n.validation.errorMessage]\n ])\n ]));\n }\n}), $e = /* @__PURE__ */ c(\"div\", null, [\n /* @__PURE__ */ c(\"input\", { type: \"text\" }),\n /* @__PURE__ */ c(\"input\", { type: \"text\" }),\n /* @__PURE__ */ c(\"input\", { type: \"text\" })\n], -1), xe = /* @__PURE__ */ E({\n __name: \"AComboBox\",\n props: [\"event\", \"cellData\", \"tableID\"],\n setup(e) {\n return (t, n) => {\n const o = fe(\"ATableModal\");\n return v(), K(o, {\n event: e.event,\n cellData: e.cellData,\n class: \"amodal\"\n }, {\n default: pe(() => [\n $e\n ]),\n _: 1\n }, 8, [\"event\", \"cellData\"]);\n };\n }\n}), He = [\"id\", \"disabled\", \"required\", \"value\"], Ie = [\"for\"], Be = [\"innerHTML\"], Pe = /* @__PURE__ */ E({\n __name: \"ADate\",\n props: /* @__PURE__ */ S({\n label: { default: \"Date\" },\n required: { type: Boolean },\n readonly: { type: Boolean },\n uuid: {},\n validation: { default: () => ({ errorMessage: \" \" }) }\n }, {\n modelValue: {},\n modelModifiers: {}\n }),\n emits: [\"update:modelValue\"],\n setup(e) {\n const t = $(e, \"modelValue\"), n = m(null), o = () => {\n n.value && \"showPicker\" in HTMLInputElement.prototype && n.value.showPicker();\n };\n return (l, r) => (v(), g(\"div\", null, [\n c(\"input\", {\n ref_key: \"dateRef\",\n ref: n,\n type: \"date\",\n id: l.uuid,\n disabled: l.readonly,\n required: l.required,\n value: t.value,\n onClick: o\n }, null, 8, He),\n c(\"label\", { for: l.uuid }, A(l.label), 9, Ie),\n M(c(\"p\", {\n innerHTML: l.validation.errorMessage\n }, null, 8, Be), [\n [x, l.validation.errorMessage]\n ])\n ]));\n }\n}), O = (e, t) => {\n const n = e.__vccOpts || e;\n for (const [o, l] of t)\n n[o] = l;\n return n;\n}, qe = /* @__PURE__ */ O(Pe, [[\"__scopeId\", \"data-v-69d0f23d\"]]), Fe = { class: \"input-wrapper\" }, Re = {\n id: \"autocomplete-results\",\n class: \"autocomplete-results\"\n}, Ue = {\n key: 0,\n class: \"loading autocomplete-result\"\n}, Oe = [\"onClick\"], We = /* @__PURE__ */ E({\n __name: \"ADropdown\",\n props: /* @__PURE__ */ S({\n label: {},\n items: {},\n isAsync: { type: Boolean }\n }, {\n modelValue: {},\n modelModifiers: {}\n }),\n emits: /* @__PURE__ */ S([\"filterChanged\"], [\"update:modelValue\"]),\n setup(e, { emit: t }) {\n const n = e, o = t, l = m(n.items), r = $(e, \"modelValue\"), s = m(!1), a = m(0), i = m(!1), u = m(null);\n Y(() => {\n document.addEventListener(\"click\", _), p();\n }), me(() => {\n document.removeEventListener(\"click\", _);\n });\n const d = (f) => {\n r.value = f, b();\n }, p = () => {\n r.value ? l.value = n.items.filter((f) => f.toLowerCase().indexOf(r.value.toLowerCase()) > -1) : l.value = n.items;\n }, h = () => {\n i.value = !0, n.isAsync ? (s.value = !0, o(\"filterChanged\", r.value)) : p();\n }, _ = (f) => {\n b(), a.value = 0;\n }, b = () => {\n i.value = !1, n.items.includes(r.value) || (r.value = \"\");\n }, V = () => {\n a.value < l.value.length && (a.value = a.value + 1);\n }, w = () => {\n a.value > 0 && (a.value = a.value - 1);\n }, L = () => {\n r.value = l.value[a.value], b(), a.value = 0;\n };\n return (f, y) => (v(), g(\"div\", {\n class: P([\"autocomplete\", { isOpen: i.value }])\n }, [\n c(\"div\", Fe, [\n M(c(\"input\", {\n ref_key: \"mopInput\",\n ref: u,\n type: \"text\",\n onInput: h,\n onFocus: h,\n \"onUpdate:modelValue\": y[0] || (y[0] = (k) => r.value = k),\n onKeydown: [\n B(V, [\"down\"]),\n B(w, [\"up\"]),\n B(L, [\"enter\"])\n ]\n }, null, 544), [\n [G, r.value]\n ]),\n M(c(\"ul\", Re, [\n s.value ? (v(), g(\"li\", Ue, \"Loading results...\")) : (v(!0), g(q, { key: 1 }, F(l.value, (k, D) => (v(), g(\"li\", {\n key: D,\n onClick: (X) => d(k),\n class: P([\"autocomplete-result\", { \"is-active\": D === a.value }])\n }, A(k), 11, Oe))), 128))\n ], 512), [\n [x, i.value]\n ]),\n c(\"label\", null, A(f.label), 1)\n ])\n ], 2));\n }\n});\nfunction Ke(e) {\n return he() ? (ye(e), !0) : !1;\n}\nfunction ue(e) {\n return typeof e == \"function\" ? e() : re(e);\n}\nconst Ye = typeof window < \"u\" && typeof document < \"u\";\ntypeof WorkerGlobalScope < \"u\" && globalThis instanceof WorkerGlobalScope;\nconst Ge = Object.prototype.toString, ze = (e) => Ge.call(e) === \"[object Object]\", je = () => {\n};\nfunction R(e) {\n var t;\n const n = ue(e);\n return (t = n == null ? void 0 : n.$el) != null ? t : n;\n}\nconst z = Ye ? window : void 0;\nfunction W(...e) {\n let t, n, o, l;\n if (typeof e[0] == \"string\" || Array.isArray(e[0]) ? ([n, o, l] = e, t = z) : [t, n, o, l] = e, !t)\n return je;\n Array.isArray(n) || (n = [n]), Array.isArray(o) || (o = [o]);\n const r = [], s = () => {\n r.forEach((d) => d()), r.length = 0;\n }, a = (d, p, h, _) => (d.addEventListener(p, h, _), () => d.removeEventListener(p, h, _)), i = U(\n () => [R(t), ue(l)],\n ([d, p]) => {\n if (s(), !d)\n return;\n const h = ze(p) ? { ...p } : p;\n r.push(\n ...n.flatMap((_) => o.map((b) => a(d, _, b, h)))\n );\n },\n { immediate: !0, flush: \"post\" }\n ), u = () => {\n i(), s();\n };\n return Ke(u), u;\n}\nfunction Je(e = {}) {\n var t;\n const {\n window: n = z,\n deep: o = !0\n } = e, l = (t = e.document) != null ? t : n == null ? void 0 : n.document, r = () => {\n var i;\n let u = l == null ? void 0 : l.activeElement;\n if (o)\n for (; u != null && u.shadowRoot; )\n u = (i = u == null ? void 0 : u.shadowRoot) == null ? void 0 : i.activeElement;\n return u;\n }, s = m(), a = () => {\n s.value = r();\n };\n return n && (W(n, \"blur\", (i) => {\n i.relatedTarget === null && a();\n }, !0), W(n, \"focus\", a, !0)), a(), s;\n}\nfunction Ne(e, t = {}) {\n const n = Je(t), o = H(() => R(e));\n return { focused: H(() => o.value && n.value ? o.value.contains(n.value) : !1) };\n}\nfunction Qe(e, { window: t = z, scrollTarget: n } = {}) {\n const o = m(!1), l = () => {\n if (!t)\n return;\n const r = t.document, s = R(e);\n if (!s)\n o.value = !1;\n else {\n const a = s.getBoundingClientRect();\n o.value = a.top <= (t.innerHeight || r.documentElement.clientHeight) && a.left <= (t.innerWidth || r.documentElement.clientWidth) && a.bottom >= 0 && a.right >= 0;\n }\n };\n return U(\n () => R(e),\n () => l(),\n { immediate: !0, flush: \"post\" }\n ), t && W(n || t, \"scroll\", l, {\n capture: !1,\n passive: !0\n }), o;\n}\nconst C = (e) => {\n let t = Qe(e).value;\n return t = t && e.offsetHeight > 0, t;\n}, T = (e) => e.tabIndex >= 0, Z = (e) => {\n const t = e.target;\n return j(t);\n}, j = (e) => {\n var t;\n let n;\n if (e instanceof HTMLTableCellElement) {\n const o = (t = e.parentElement) == null ? void 0 : t.previousElementSibling;\n if (o) {\n const l = Array.from(o.children)[e.cellIndex];\n l && (n = l);\n }\n } else if (e instanceof HTMLTableRowElement) {\n const o = e.previousElementSibling;\n o && (n = o);\n }\n return n && (!T(n) || !C(n)) ? j(n) : n;\n}, Xe = (e) => {\n var t;\n const n = e.target;\n let o;\n if (n instanceof HTMLTableCellElement) {\n const l = (t = n.parentElement) == null ? void 0 : t.parentElement;\n if (l) {\n const r = l.firstElementChild.children[n.cellIndex];\n r && (o = r);\n }\n } else if (n instanceof HTMLTableRowElement) {\n const l = n.parentElement;\n if (l) {\n const r = l.firstElementChild;\n r && (o = r);\n }\n }\n return o && (!T(o) || !C(o)) ? J(o) : o;\n}, ee = (e) => {\n const t = e.target;\n return J(t);\n}, J = (e) => {\n var t;\n let n;\n if (e instanceof HTMLTableCellElement) {\n const o = (t = e.parentElement) == null ? void 0 : t.nextElementSibling;\n if (o) {\n const l = Array.from(o.children)[e.cellIndex];\n l && (n = l);\n }\n } else if (e instanceof HTMLTableRowElement) {\n const o = e.nextElementSibling;\n o && (n = o);\n }\n return n && (!T(n) || !C(n)) ? J(n) : n;\n}, Ze = (e) => {\n var t;\n const n = e.target;\n let o;\n if (n instanceof HTMLTableCellElement) {\n const l = (t = n.parentElement) == null ? void 0 : t.parentElement;\n if (l) {\n const r = l.lastElementChild.children[n.cellIndex];\n r && (o = r);\n }\n } else if (n instanceof HTMLTableRowElement) {\n const l = n.parentElement;\n if (l) {\n const r = l.lastElementChild;\n r && (o = r);\n }\n }\n return o && (!T(o) || !C(o)) ? j(o) : o;\n}, te = (e) => {\n const t = e.target;\n return N(t);\n}, N = (e) => {\n var t;\n let n;\n if (e.previousElementSibling)\n n = e.previousElementSibling;\n else {\n const o = (t = e.parentElement) == null ? void 0 : t.previousElementSibling;\n n = o == null ? void 0 : o.lastElementChild;\n }\n return n && (!T(n) || !C(n)) ? N(n) : n;\n}, ne = (e) => {\n const t = e.target;\n return Q(t);\n}, Q = (e) => {\n var t;\n let n;\n if (e.nextElementSibling)\n n = e.nextElementSibling;\n else {\n const o = (t = e.parentElement) == null ? void 0 : t.nextElementSibling;\n n = o == null ? void 0 : o.firstElementChild;\n }\n return n && (!T(n) || !C(n)) ? Q(n) : n;\n}, oe = (e) => {\n const t = e.target.parentElement.firstElementChild;\n return t && (!T(t) || !C(t)) ? Q(t) : t;\n}, le = (e) => {\n const t = e.target.parentElement.lastElementChild;\n return t && (!T(t) || !C(t)) ? N(t) : t;\n}, I = [\"alt\", \"control\", \"shift\", \"meta\"], et = {\n ArrowUp: \"up\",\n ArrowDown: \"down\",\n ArrowLeft: \"left\",\n ArrowRight: \"right\"\n}, ie = {\n \"keydown.up\": (e) => {\n const t = Z(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.down\": (e) => {\n const t = ee(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.left\": (e) => {\n const t = te(e);\n e.preventDefault(), e.stopPropagation(), t && t.focus();\n },\n \"keydown.right\": (e) => {\n const t = ne(e);\n e.preventDefault(), e.stopPropagation(), t && t.focus();\n },\n \"keydown.control.up\": (e) => {\n const t = Xe(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.control.down\": (e) => {\n const t = Ze(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.control.left\": (e) => {\n const t = oe(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.control.right\": (e) => {\n const t = le(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.end\": (e) => {\n const t = le(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 = ee(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 = Z(e);\n t && t.focus();\n }\n },\n \"keydown.home\": (e) => {\n const t = oe(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.tab\": (e) => {\n const t = ne(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.shift.tab\": (e) => {\n const t = te(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n }\n};\nfunction tt(e) {\n const t = (s) => {\n let a = null;\n return s.parent && (typeof s.parent == \"string\" ? a = document.querySelector(s.parent) : s.parent instanceof HTMLElement ? a = s.parent : a = s.parent.value), a;\n }, n = (s) => {\n const a = t(s);\n let i = [];\n if (typeof s.selectors == \"string\")\n i = a ? Array.from(a.querySelectorAll(s.selectors)) : Array.from(document.querySelectorAll(s.selectors));\n else if (Array.isArray(s.selectors))\n for (const u of s.selectors)\n u instanceof HTMLElement ? i.push(u) : i.push(u.$el);\n else if (s.selectors instanceof HTMLElement)\n i.push(s.selectors);\n else if (Array.isArray(s.selectors.value))\n for (const u of s.selectors.value)\n u instanceof HTMLElement ? i.push(u) : i.push(u.$el);\n else\n i.push(s.selectors.value);\n return i;\n }, o = (s) => {\n const a = t(s);\n let i = [];\n return s.selectors ? i = n(s) : a && (i = Array.from(a.children).filter((u) => T(u) && C(u))), i;\n }, l = (s) => (a) => {\n const i = et[a.key] || a.key.toLowerCase();\n if (I.includes(i))\n return;\n const u = s.handlers || ie;\n for (const d of Object.keys(u)) {\n const [p, ...h] = d.split(\".\");\n if (p === \"keydown\" && h.includes(i)) {\n const _ = u[d], b = h.filter((w) => I.includes(w)), V = I.some((w) => {\n const L = w.charAt(0).toUpperCase() + w.slice(1);\n return a.getModifierState(L);\n });\n if (b.length > 0) {\n if (V) {\n for (const w of I)\n if (h.includes(w)) {\n const L = w.charAt(0).toUpperCase() + w.slice(1);\n a.getModifierState(L) && _(a);\n }\n }\n } else\n V || _(a);\n }\n }\n }, r = [];\n Y(() => {\n for (const s of e) {\n const a = t(s), i = o(s), u = l(s), d = a ? [a] : i;\n for (const p of d) {\n const { focused: h } = Ne(m(p)), _ = U(h, (b) => {\n b ? p.addEventListener(\"keydown\", u) : p.removeEventListener(\"keydown\", u);\n });\n r.push(_);\n }\n }\n }), ve(() => {\n for (const s of r)\n s();\n });\n}\nconst nt = {\n colspan: \"5\",\n tabindex: -1\n}, ot = /* @__PURE__ */ c(\"tr\", { class: \"days-header\" }, [\n /* @__PURE__ */ c(\"td\", null, \"M\"),\n /* @__PURE__ */ c(\"td\", null, \"T\"),\n /* @__PURE__ */ c(\"td\", null, \"W\"),\n /* @__PURE__ */ c(\"td\", null, \"T\"),\n /* @__PURE__ */ c(\"td\", null, \"F\"),\n /* @__PURE__ */ c(\"td\", null, \"S\"),\n /* @__PURE__ */ c(\"td\", null, \"S\")\n], -1), lt = [\"onClick\", \"onKeydown\"], at = 6, ae = 7, st = /* @__PURE__ */ E({\n __name: \"ADatePicker\",\n props: {\n modelValue: { default: /* @__PURE__ */ new Date() },\n modelModifiers: {}\n },\n emits: [\"update:modelValue\"],\n setup(e) {\n const t = $(e, \"modelValue\"), n = m(new Date(t.value)), o = m(n.value.getMonth()), l = m(n.value.getFullYear()), r = m([]), s = m(null);\n Y(async () => {\n a(), await ge();\n const f = document.getElementsByClassName(\"selectedDate\");\n if (f.length > 0)\n f[0].focus();\n else {\n const y = document.getElementsByClassName(\"todaysDate\");\n y.length > 0 && y[0].focus();\n }\n });\n const a = () => {\n r.value = [];\n const f = new Date(l.value, o.value, 1), y = f.getDay(), k = f.setDate(f.getDate() - y);\n for (const D of Array(43).keys())\n r.value.push(k + D * 864e5);\n };\n U([o, l], a);\n const i = () => l.value -= 1, u = () => l.value += 1, d = () => {\n o.value == 0 ? (o.value = 11, i()) : o.value -= 1;\n }, p = () => {\n o.value == 11 ? (o.value = 0, u()) : o.value += 1;\n }, h = (f) => {\n const y = /* @__PURE__ */ new Date();\n if (o.value === y.getMonth())\n return y.toDateString() === new Date(f).toDateString();\n }, _ = (f) => new Date(f).toDateString() === new Date(n.value).toDateString(), b = (f, y) => (f - 1) * ae + y, V = (f, y) => r.value[b(f, y)], w = (f) => {\n t.value = n.value = new Date(r.value[f]);\n }, L = H(() => new Date(l.value, o.value, 1).toLocaleDateString(void 0, {\n year: \"numeric\",\n month: \"long\"\n }));\n return tt([\n {\n parent: s,\n selectors: \"td\",\n handlers: {\n ...ie,\n \"keydown.pageup\": d,\n \"keydown.shift.pageup\": i,\n \"keydown.pagedown\": p,\n \"keydown.shift.pagedown\": u,\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 // eslint-disable-next-line @typescript-eslint/no-empty-function\n \"keydown.enter\": () => {\n }\n }\n }\n ]), (f, y) => (v(), g(\"div\", {\n class: \"adatepicker\",\n tabindex: \"0\",\n ref_key: \"adatepicker\",\n ref: s\n }, [\n c(\"table\", null, [\n c(\"tr\", null, [\n c(\"td\", {\n id: \"previous-month-btn\",\n onClick: d,\n tabindex: -1\n }, \"<\"),\n c(\"th\", nt, A(L.value), 1),\n c(\"td\", {\n id: \"next-month-btn\",\n onClick: p,\n tabindex: -1\n }, \">\")\n ]),\n ot,\n (v(), g(q, null, F(at, (k) => c(\"tr\", { key: k }, [\n (v(), g(q, null, F(ae, (D) => c(\"td\", {\n ref_for: !0,\n ref: \"celldate\",\n key: b(k, D),\n contenteditable: !1,\n spellcheck: !1,\n tabindex: 0,\n onClick: _e((X) => w(b(k, D)), [\"prevent\", \"stop\"]),\n onKeydown: B((X) => w(b(k, D)), [\"enter\"]),\n class: P({\n todaysDate: h(V(k, D)),\n selectedDate: _(V(k, D))\n })\n }, A(new Date(V(k, D)).getDate()), 43, lt)), 64))\n ])), 64))\n ])\n ], 512));\n }\n}), rt = /* @__PURE__ */ E({\n __name: \"CollapseButton\",\n props: {\n collapsed: { type: Boolean }\n },\n setup(e) {\n return (t, n) => (v(), g(\"button\", {\n class: P([\"collapse-button\", t.collapsed ? \"rotated\" : \"unrotated\"])\n }, \"×\", 2));\n }\n}), ut = /* @__PURE__ */ O(rt, [[\"__scopeId\", \"data-v-6f1c1b45\"]]), it = { class: \"aform\" }, ct = /* @__PURE__ */ E({\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 = e, o = t, l = m(n.data || {}), r = (a) => {\n let i = {};\n for (const [u, d] of Object.entries(a))\n [\"component\", \"fieldtype\"].includes(u) || (i[u] = d), u === \"rows\" && d && d.length === 0 && (i.rows = l.value[a.fieldname]);\n return i;\n }, s = H({\n get: () => n.modelValue.map((a, i) => H({\n get() {\n return a.value;\n },\n set: (u) => {\n n.modelValue[i].value = u, o(\"update:modelValue\", n.modelValue);\n }\n })),\n set: () => {\n }\n });\n return (a, i) => (v(), g(\"form\", it, [\n (v(!0), g(q, null, F(a.modelValue, (u, d) => (v(), K(be(u.component), ke({\n key: d,\n schema: u,\n modelValue: s.value[d].value,\n \"onUpdate:modelValue\": (p) => s.value[d].value = p,\n data: l.value[u.fieldname],\n readonly: a.readonly\n }, r(u)), null, 16, [\"schema\", \"modelValue\", \"onUpdate:modelValue\", \"data\", \"readonly\"]))), 128))\n ]));\n }\n}), ce = /* @__PURE__ */ O(ct, [[\"__scopeId\", \"data-v-88047a70\"]]), dt = /* @__PURE__ */ E({\n __name: \"AFieldset\",\n props: {\n schema: {},\n label: {},\n collapsible: { type: Boolean },\n data: {}\n },\n setup(e) {\n const t = e, n = m(t.data || []), o = m(!1), l = m(t.collapsible), r = m(t.schema);\n function s(a) {\n a.preventDefault(), l.value && (o.value = !o.value);\n }\n return (a, i) => (v(), g(\"fieldset\", null, [\n c(\"legend\", {\n onClick: s,\n onSubmit: s\n }, [\n we(A(a.label) + \" \", 1),\n l.value ? (v(), K(ut, {\n key: 0,\n collapsed: o.value\n }, null, 8, [\"collapsed\"])) : De(\"\", !0)\n ], 32),\n Me(a.$slots, \"default\", { collapsed: o.value }, () => [\n M(Ee(ce, {\n modelValue: r.value,\n \"onUpdate:modelValue\": i[0] || (i[0] = (u) => r.value = u),\n data: n.value\n }, null, 8, [\"modelValue\", \"data\"]), [\n [x, !o.value]\n ])\n ], !0)\n ]));\n }\n}), ft = /* @__PURE__ */ O(dt, [[\"__scopeId\", \"data-v-0f671e32\"]]), pt = { class: \"aform__form-element\" }, mt = [\"for\"], vt = [\"id\", \"disabled\", \"required\"], ht = [\"innerHTML\"], yt = /* @__PURE__ */ E({\n __name: \"ANumericInput\",\n props: /* @__PURE__ */ S({\n label: {},\n required: { type: Boolean },\n readonly: { type: Boolean },\n uuid: {},\n validation: { default: () => ({ errorMessage: \" \" }) }\n }, {\n modelValue: {},\n modelModifiers: {}\n }),\n emits: [\"update:modelValue\"],\n setup(e) {\n const t = $(e, \"modelValue\");\n return (n, o) => (v(), g(\"div\", pt, [\n c(\"label\", {\n class: \"aform__field-label\",\n for: n.uuid\n }, A(n.label), 9, mt),\n M(c(\"input\", {\n class: \"aform__input-field\",\n \"onUpdate:modelValue\": o[0] || (o[0] = (l) => t.value = l),\n type: \"number\",\n id: n.uuid,\n disabled: n.readonly,\n required: n.required\n }, null, 8, vt), [\n [G, t.value]\n ]),\n M(c(\"p\", {\n class: \"error\",\n innerHTML: n.validation.errorMessage\n }, null, 8, ht), [\n [x, n.validation.errorMessage]\n ])\n ]));\n }\n}), se = {\n date: \"##/##/####\",\n datetime: \"####/##/## ##:##\",\n time: \"##:##\",\n fulltime: \"##:##:##\",\n phone: \"(###) ### - ####\",\n card: \"#### #### #### ####\"\n};\nfunction gt(e) {\n try {\n return Function(`\"use strict\";return (${e})`)();\n } catch {\n }\n}\nfunction _t(e) {\n var n;\n let t = e.value;\n if (t) {\n const o = gt(t);\n if (o) {\n const l = e.instance.locale;\n t = o(l);\n }\n } else {\n const o = e.instance.schema, l = (n = o == null ? void 0 : o.fieldtype) == null ? void 0 : n.toLowerCase();\n l && se[l] && (t = se[l]);\n }\n return t;\n}\nfunction bt(e, t) {\n t || (t = \"#\");\n let n = e;\n const o = [t, \"/\", \"-\", \"(\", \")\", \" \"];\n for (const l of o)\n n = n.replaceAll(l, \"\");\n return n;\n}\nfunction kt(e, t, n) {\n n || (n = \"#\");\n let o = t;\n for (const l of e) {\n const r = o.indexOf(n);\n if (r !== -1) {\n const s = o.substring(0, r), a = o.substring(r + 1);\n o = s + l + a;\n }\n }\n return o.slice(0, t.length);\n}\nfunction wt(e, t) {\n const n = _t(t);\n if (!n)\n return;\n const o = \"#\", l = e.value, r = bt(l, o);\n if (r) {\n const s = kt(r, n, o);\n t.instance.maskFilled && (t.instance.maskFilled = !s.includes(o)), e.value = s;\n } else\n e.value = n;\n}\nconst Dt = { class: \"aform__form-element\" }, Mt = [\"for\"], Et = [\"id\", \"disabled\", \"maxlength\", \"required\"], At = [\"innerHTML\"], Ct = /* @__PURE__ */ E({\n __name: \"ATextInput\",\n props: /* @__PURE__ */ S({\n schema: {},\n label: {},\n mask: {},\n required: { type: Boolean },\n readonly: { type: Boolean },\n uuid: {},\n validation: { default: () => ({ errorMessage: \" \" }) }\n }, {\n modelValue: {},\n modelModifiers: {}\n }),\n emits: [\"update:modelValue\"],\n setup(e) {\n const t = m(!0), n = $(e, \"modelValue\");\n return (o, l) => (v(), g(\"div\", Dt, [\n c(\"label\", {\n class: \"aform__field-label\",\n for: o.uuid\n }, A(o.label), 9, Mt),\n M(c(\"input\", {\n class: \"aform__input-field\",\n \"onUpdate:modelValue\": l[0] || (l[0] = (r) => n.value = r),\n id: o.uuid,\n disabled: o.readonly,\n maxlength: o.mask ? t.value && o.mask.length : void 0,\n required: o.required\n }, null, 8, Et), [\n [G, n.value],\n [re(wt), o.mask]\n ]),\n M(c(\"p\", {\n class: \"error\",\n innerHTML: o.validation.errorMessage\n }, null, 8, At), [\n [x, o.validation.errorMessage]\n ])\n ]));\n }\n});\nfunction Vt(e) {\n e.component(\"ACheckbox\", Se), e.component(\"ACombobox\", xe), e.component(\"ADate\", qe), e.component(\"ADropdown\", We), e.component(\"ADatePicker\", st), e.component(\"AFieldset\", ft), e.component(\"AForm\", ce), e.component(\"ANumericInput\", yt), e.component(\"ATextInput\", Ct);\n}\nexport {\n Se as ACheckbox,\n xe as AComboBox,\n qe as ADate,\n st as ADatePicker,\n We as ADropdown,\n ft as AFieldset,\n ce as AForm,\n yt as ANumericInput,\n Ct as ATextInput,\n Vt as install\n};\n//# sourceMappingURL=aform.js.map\n","import { effectScope, ref, markRaw, toRaw, hasInjectionContext, inject, getCurrentInstance, watch, unref, reactive, isRef, isReactive, toRef, nextTick, computed, getCurrentScope, onScopeDispose, toRefs, onBeforeMount, shallowRef, shallowReactive, defineComponent, h as h$1, provide, watchEffect } from \"vue\";\nfunction NotImplementedError(message) {\n this.message = message || \"\";\n}\nNotImplementedError.prototype = Object.create(Error.prototype, {\n constructor: { value: NotImplementedError },\n name: { value: \"NotImplemented\" },\n stack: {\n get: function() {\n return new Error().stack;\n }\n }\n});\nclass Stonecrop {\n /**\n * @constructor\n * @param {Registry} registry - The immutable registry\n * @param {ReturnType<typeof useDataStore>} store - The mutable Pinia store\n * @param {Schema} [schema] - (optional) The Stonecrop schema\n * @param {ImmutableDoctype['workflow']} [workflow] - (optional) The Stonecrop workflow\n * @param {ImmutableDoctype['actions']} [actions] - (optional) The Stonecrop actions\n * @returns {Stonecrop} The Stonecrop instance\n * @description The Stonecrop constructor initializes a new Stonecrop instance with the given registry, store, schema, workflow, and actions. If a Stonecrop instance has already been created, it returns the existing instance instead of creating a new one.\n * @example\n * const registry = new Registry()\n * const store = useDataStore()\n * const stonecrop = new Stonecrop(registry, store, schema, workflow, actions)\n */\n constructor(registry, store, schema, workflow, actions) {\n this.name = \"Stonecrop\";\n if (Stonecrop._root) {\n return Stonecrop._root;\n }\n Stonecrop._root = this;\n this.registry = registry;\n this.store = store;\n this.schema = schema;\n this.workflow = workflow;\n this.actions = actions;\n }\n /**\n * @method setup\n * @param {DoctypeMeta} doctype - The doctype to setup\n * @returns {void}\n * @description Sets up the Stonecrop instance with the given doctype\n * @example\n * const doctype = await registry.getMeta('Task')\n * stonecrop.setup(doctype)\n */\n setup(doctype) {\n this.getMeta(doctype);\n this.getWorkflow(doctype);\n this.getActions(doctype);\n }\n /**\n * @method getMeta\n * @param {DoctypeMeta} doctype - The doctype to get meta for\n * @returns {DoctypeMeta}\n * @see {@link DoctypeMeta}\n * @throws NotImplementedError\n * @description Gets the meta for the given doctype\n * @example\n * const doctype = await registry.getMeta('Task')\n * const meta = stonecrop.getMeta(doctype)\n */\n getMeta(doctype) {\n return this.registry.getMeta ? this.registry.getMeta(doctype.doctype) : new NotImplementedError(doctype.doctype);\n }\n /**\n * @method getWorkflow\n * @param {DoctypeMeta} doctype - The doctype to get workflow for\n * @returns {void}\n * @description Gets the workflow for the given doctype\n * @example\n * const doctype = await registry.getMeta('Task')\n * stonecrop.getWorkflow(doctype)\n */\n getWorkflow(doctype) {\n const doctypeRegistry = this.registry.registry[doctype.slug];\n this.workflow = doctypeRegistry.workflow;\n }\n /**\n * @method getActions\n * @param {DoctypeMeta} doctype - The doctype to get actions for\n * @returns {void}\n * @description Gets the actions for the given doctype\n * @example\n * const doctype = await registry.getMeta('Task')\n * stonecrop.getActions(doctype)\n */\n getActions(doctype) {\n const doctypeRegistry = this.registry.registry[doctype.slug];\n this.actions = doctypeRegistry.actions;\n }\n /**\n * @method getRecords\n * @param {DoctypeMeta} doctype - The doctype to get records for\n * @param {RequestInit} [filters] - The filters to apply to the records\n * @returns {Promise<void>}\n * @description Gets the records for the given doctype\n * @example\n * const doctype = await registry.getMeta('Task')\n * await stonecrop.getRecords(doctype)\n * @example\n * const doctype = await registry.getMeta('Task')\n * const filters = JSON.stringify({ status: 'Open' })\n * await stonecrop.getRecords(doctype, { body: filters })\n */\n async getRecords(doctype, filters) {\n this.store.$patch({ records: [] });\n const records = await fetch(`/${doctype.slug}`, filters);\n const data = await records.json();\n this.store.$patch({ records: data });\n }\n /**\n * @method getRecord\n * @param {DoctypeMeta} doctype - The doctype to get record for\n * @param {string} id - The id of the record to get\n * @returns {Promise<void>}\n * @description Gets the record for the given doctype and id\n * @example\n * const doctype = await registry.getMeta('Task')\n * await stonecrop.getRecord(doctype, 'TASK-00001')\n */\n async getRecord(doctype, id) {\n this.store.$patch({ record: {} });\n const record = await fetch(`/${doctype.slug}/${id}`);\n const data = await record.json();\n this.store.$patch({ record: data });\n }\n /**\n * @method runAction\n * @param {DoctypeMeta} doctype - The doctype to run action for\n * @param {string} action - The action to run\n * @param {string[]} [id] - The id(s) of the record(s) to run action on\n * @returns {void}\n * @description Runs the action for the given doctype and id\n * @example\n * const doctype = await registry.getMeta('Task')\n * stonecrop.runAction(doctype, 'CREATE')\n * @example\n * const doctype = await registry.getMeta('Task')\n * stonecrop.runAction(doctype, 'UPDATE', ['TASK-00001'])\n * @example\n * const doctype = await registry.getMeta('Task')\n * stonecrop.runAction(doctype, 'DELETE', ['TASK-00001'])\n * @example\n * const doctype = await registry.getMeta('Task')\n * stonecrop.runAction(doctype, 'TRANSITION', ['TASK-00001', 'TASK-00002'])\n */\n runAction(doctype, action, id) {\n const doctypeRegistry = this.registry.registry[doctype.slug];\n const actions = doctypeRegistry.actions.get(action);\n const { initialState } = this.workflow;\n this.workflow.transition(initialState, { type: action });\n if (actions.length > 0) {\n actions.forEach((action2) => {\n const actionFn = new Function(action2);\n actionFn(id);\n });\n }\n }\n}\nvar isVue2 = false;\nfunction set(target, key, val) {\n if (Array.isArray(target)) {\n target.length = Math.max(target.length, key);\n target.splice(key, 1, val);\n return val;\n }\n target[key] = val;\n return val;\n}\nfunction del(target, key) {\n if (Array.isArray(target)) {\n target.splice(key, 1);\n return;\n }\n delete target[key];\n}\nfunction getDevtoolsGlobalHook() {\n return getTarget().__VUE_DEVTOOLS_GLOBAL_HOOK__;\n}\nfunction getTarget() {\n return typeof navigator !== \"undefined\" && typeof window !== \"undefined\" ? window : typeof global !== \"undefined\" ? global : {};\n}\nconst isProxyAvailable = typeof Proxy === \"function\";\nconst HOOK_SETUP = \"devtools-plugin:setup\";\nconst HOOK_PLUGIN_SETTINGS_SET = \"plugin:settings:set\";\nlet supported;\nlet perf;\nfunction isPerformanceSupported() {\n var _a;\n if (supported !== void 0) {\n return supported;\n }\n if (typeof window !== \"undefined\" && window.performance) {\n supported = true;\n perf = window.performance;\n } else if (typeof global !== \"undefined\" && ((_a = global.perf_hooks) === null || _a === void 0 ? void 0 : _a.performance)) {\n supported = true;\n perf = global.perf_hooks.performance;\n } else {\n supported = false;\n }\n return supported;\n}\nfunction now$1() {\n return isPerformanceSupported() ? perf.now() : Date.now();\n}\nclass ApiProxy {\n constructor(plugin, hook) {\n this.target = null;\n this.targetQueue = [];\n this.onQueue = [];\n this.plugin = plugin;\n this.hook = hook;\n const defaultSettings = {};\n if (plugin.settings) {\n for (const id in plugin.settings) {\n const item = plugin.settings[id];\n defaultSettings[id] = item.defaultValue;\n }\n }\n const localSettingsSaveId = `__vue-devtools-plugin-settings__${plugin.id}`;\n let currentSettings = Object.assign({}, defaultSettings);\n try {\n const raw = localStorage.getItem(localSettingsSaveId);\n const data = JSON.parse(raw);\n Object.assign(currentSettings, data);\n } catch (e) {\n }\n this.fallbacks = {\n getSettings() {\n return currentSettings;\n },\n setSettings(value) {\n try {\n localStorage.setItem(localSettingsSaveId, JSON.stringify(value));\n } catch (e) {\n }\n currentSettings = value;\n },\n now() {\n return now$1();\n }\n };\n if (hook) {\n hook.on(HOOK_PLUGIN_SETTINGS_SET, (pluginId, value) => {\n if (pluginId === this.plugin.id) {\n this.fallbacks.setSettings(value);\n }\n });\n }\n this.proxiedOn = new Proxy({}, {\n get: (_target, prop) => {\n if (this.target) {\n return this.target.on[prop];\n } else {\n return (...args) => {\n this.onQueue.push({\n method: prop,\n args\n });\n };\n }\n }\n });\n this.proxiedTarget = new Proxy({}, {\n get: (_target, prop) => {\n if (this.target) {\n return this.target[prop];\n } else if (prop === \"on\") {\n return this.proxiedOn;\n } else if (Object.keys(this.fallbacks).includes(prop)) {\n return (...args) => {\n this.targetQueue.push({\n method: prop,\n args,\n resolve: () => {\n }\n });\n return this.fallbacks[prop](...args);\n };\n } else {\n return (...args) => {\n return new Promise((resolve) => {\n this.targetQueue.push({\n method: prop,\n args,\n resolve\n });\n });\n };\n }\n }\n });\n }\n async setRealTarget(target) {\n this.target = target;\n for (const item of this.onQueue) {\n this.target.on[item.method](...item.args);\n }\n for (const item of this.targetQueue) {\n item.resolve(await this.target[item.method](...item.args));\n }\n }\n}\nfunction setupDevtoolsPlugin(pluginDescriptor, setupFn) {\n const descriptor = pluginDescriptor;\n const target = getTarget();\n const hook = getDevtoolsGlobalHook();\n const enableProxy = isProxyAvailable && descriptor.enableEarlyProxy;\n if (hook && (target.__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__ || !enableProxy)) {\n hook.emit(HOOK_SETUP, pluginDescriptor, setupFn);\n } else {\n const proxy = enableProxy ? new ApiProxy(descriptor, hook) : null;\n const list = target.__VUE_DEVTOOLS_PLUGINS__ = target.__VUE_DEVTOOLS_PLUGINS__ || [];\n list.push({\n pluginDescriptor: descriptor,\n setupFn,\n proxy\n });\n if (proxy)\n setupFn(proxy.proxiedTarget);\n }\n}\n/*!\n * pinia v2.1.7\n * (c) 2023 Eduardo San Martin Morote\n * @license MIT\n */\nlet activePinia;\nconst setActivePinia = (pinia2) => activePinia = pinia2;\nconst piniaSymbol = process.env.NODE_ENV !== \"production\" ? Symbol(\"pinia\") : (\n /* istanbul ignore next */\n Symbol()\n);\nfunction isPlainObject(o) {\n return o && typeof o === \"object\" && Object.prototype.toString.call(o) === \"[object Object]\" && typeof o.toJSON !== \"function\";\n}\nvar MutationType;\n(function(MutationType2) {\n MutationType2[\"direct\"] = \"direct\";\n MutationType2[\"patchObject\"] = \"patch object\";\n MutationType2[\"patchFunction\"] = \"patch function\";\n})(MutationType || (MutationType = {}));\nconst IS_CLIENT = typeof window !== \"undefined\";\nconst USE_DEVTOOLS = (process.env.NODE_ENV !== \"production\" || false) && !(process.env.NODE_ENV === \"test\") && IS_CLIENT;\nconst _global = /* @__PURE__ */ (() => 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 bom(blob, { autoBom = false } = {}) {\n if (autoBom && /^\\s*(?:text\\/\\S*|application\\/xml|\\S*\\/\\S*\\+xml)\\s*;.*charset\\s*=\\s*utf-8/i.test(blob.type)) {\n return new Blob([String.fromCharCode(65279), 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 xhr.open(\"HEAD\", url, false);\n try {\n xhr.send();\n } catch (e) {\n }\n return xhr.status >= 200 && xhr.status <= 299;\n}\nfunction click(node) {\n try {\n node.dispatchEvent(new MouseEvent(\"click\"));\n } catch (e) {\n const evt = document.createEvent(\"MouseEvents\");\n evt.initMouseEvent(\"click\", true, true, window, 0, 0, 0, 80, 20, false, false, false, false, 0, null);\n node.dispatchEvent(evt);\n }\n}\nconst _navigator = typeof navigator === \"object\" ? navigator : { userAgent: \"\" };\nconst isMacOSWebView = /* @__PURE__ */ (() => /Macintosh/.test(_navigator.userAgent) && /AppleWebKit/.test(_navigator.userAgent) && !/Safari/.test(_navigator.userAgent))();\nconst saveAs = !IS_CLIENT ? () => {\n} : (\n // Use download attribute first if possible (#193 Lumia mobile) unless this is a macOS WebView or mini program\n typeof HTMLAnchorElement !== \"undefined\" && \"download\" in HTMLAnchorElement.prototype && !isMacOSWebView ? downloadSaveAs : (\n // Use msSaveOrOpenBlob as a second approach\n \"msSaveOrOpenBlob\" in _navigator ? msSaveAs : (\n // Fallback to using FileReader and a popup\n fileSaverSaveAs\n )\n )\n);\nfunction downloadSaveAs(blob, name = \"download\", opts) {\n const a = document.createElement(\"a\");\n a.download = name;\n a.rel = \"noopener\";\n if (typeof blob === \"string\") {\n a.href = blob;\n if (a.origin !== location.origin) {\n if (corsEnabled(a.href)) {\n download(blob, name, opts);\n } else {\n a.target = \"_blank\";\n click(a);\n }\n } else {\n click(a);\n }\n } else {\n a.href = URL.createObjectURL(blob);\n setTimeout(function() {\n URL.revokeObjectURL(a.href);\n }, 4e4);\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 } else {\n const a = document.createElement(\"a\");\n a.href = blob;\n a.target = \"_blank\";\n setTimeout(function() {\n click(a);\n });\n }\n } else {\n navigator.msSaveOrOpenBlob(bom(blob, opts), name);\n }\n}\nfunction fileSaverSaveAs(blob, name, opts, popup) {\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) && typeof FileReader !== \"undefined\") {\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 ? url : url.replace(/^data:[^;]*;/, \"data:attachment/file;\");\n if (popup) {\n popup.location.href = url;\n } else {\n location.assign(url);\n }\n popup = null;\n };\n reader.readAsDataURL(blob);\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;\n setTimeout(function() {\n URL.revokeObjectURL(url);\n }, 4e4);\n }\n}\nfunction toastMessage(message, type2) {\n const piniaMessage = \"🍍 \" + message;\n if (typeof __VUE_DEVTOOLS_TOAST__ === \"function\") {\n __VUE_DEVTOOLS_TOAST__(piniaMessage, type2);\n } else if (type2 === \"error\") {\n console.error(piniaMessage);\n } else if (type2 === \"warn\") {\n console.warn(piniaMessage);\n } else {\n console.log(piniaMessage);\n }\n}\nfunction isPinia(o) {\n return \"_a\" in o && \"install\" in o;\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 && 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(pinia2) {\n if (checkClipboardAccess())\n return;\n try {\n await navigator.clipboard.writeText(JSON.stringify(pinia2.state.value));\n toastMessage(\"Global state copied to clipboard.\");\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(pinia2) {\n if (checkClipboardAccess())\n return;\n try {\n loadStoresState(pinia2, JSON.parse(await navigator.clipboard.readText()));\n toastMessage(\"Global state pasted from clipboard.\");\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(pinia2) {\n try {\n saveAs(new Blob([JSON.stringify(pinia2.state.value)], {\n type: \"text/plain;charset=utf-8\"\n }), \"pinia-state.json\");\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 fileInput.oncancel = () => resolve(null);\n fileInput.onerror = reject;\n fileInput.click();\n });\n }\n return openFile;\n}\nasync function actionGlobalOpenStateFile(pinia2) {\n try {\n const open2 = getFileOpener();\n const result = await open2();\n if (!result)\n return;\n const { text, file } = result;\n loadStoresState(pinia2, JSON.parse(text));\n toastMessage(`Global state imported from \"${file.name}\".`);\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(pinia2, state) {\n for (const key in state) {\n const storeState = pinia2.state.value[key];\n if (storeState) {\n Object.assign(storeState, state[key]);\n } else {\n pinia2.state.value[key] = state[key];\n }\n }\n}\nfunction formatDisplay$1(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 id: PINIA_ROOT_ID,\n label: PINIA_ROOT_LABEL\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 state2 = {\n state: storeNames.map((storeId) => ({\n editable: true,\n key: storeId,\n value: store.state.value[storeId]\n })),\n getters: storeNames.filter((id) => storeMap.get(id)._getters).map((id) => {\n const store2 = storeMap.get(id);\n return {\n editable: false,\n key: id,\n value: store2._getters.reduce((getters, key) => {\n getters[key] = store2[key];\n return getters;\n }, {})\n };\n })\n };\n return state2;\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 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 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 } else {\n return {\n operation: formatDisplay$1(events.type),\n key: formatDisplay$1(events.key),\n oldValue: events.oldValue,\n newValue: events.newValue\n };\n }\n}\nfunction formatMutationType(type2) {\n switch (type2) {\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}\nlet isTimelineActive = true;\nconst componentStateTypes = [];\nconst MUTATIONS_LAYER_ID = \"pinia:mutations\";\nconst INSPECTOR_ID = \"pinia\";\nconst { assign: assign$1 } = Object;\nconst getStoreType = (id) => \"🍍 \" + id;\nfunction registerPiniaDevtools(app, pinia2) {\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: 15064968\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(pinia2);\n },\n tooltip: \"Serialize and copy the state\"\n },\n {\n icon: \"content_paste\",\n action: async () => {\n await actionGlobalPasteState(pinia2);\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(pinia2);\n },\n tooltip: \"Save the state as a JSON file\"\n },\n {\n icon: \"folder_open\",\n action: async () => {\n await actionGlobalOpenStateFile(pinia2);\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 = pinia2._s.get(nodeId);\n if (!store) {\n toastMessage(`Cannot reset \"${nodeId}\" store because it wasn't found.`, \"warn\");\n } else if (typeof store.$reset !== \"function\") {\n toastMessage(`Cannot reset \"${nodeId}\" store because it doesn't have a \"$reset\" method implemented.`, \"warn\");\n } else {\n store.$reset();\n toastMessage(`Store \"${nodeId}\" reset.`);\n }\n }\n }\n ]\n });\n api.on.inspectComponent((payload, ctx) => {\n const proxy = payload.componentInstance && 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 _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 });\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 } catch (error) {\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 = [pinia2];\n stores = stores.concat(Array.from(pinia2._s.values()));\n payload.rootNodes = (payload.filter ? stores.filter((store) => \"$id\" in store ? store.$id.toLowerCase().includes(payload.filter.toLowerCase()) : PINIA_ROOT_LABEL.toLowerCase().includes(payload.filter.toLowerCase())) : stores).map(formatStoreForInspectorTree);\n }\n });\n api.on.getInspectorState((payload) => {\n if (payload.app === app && payload.inspectorId === INSPECTOR_ID) {\n const inspectedStore = payload.nodeId === PINIA_ROOT_ID ? pinia2 : pinia2._s.get(payload.nodeId);\n if (!inspectedStore) {\n return;\n }\n if (inspectedStore) {\n payload.state = formatStoreForInspectorState(inspectedStore);\n }\n }\n });\n api.on.editInspectorState((payload, ctx) => {\n if (payload.app === app && payload.inspectorId === INSPECTOR_ID) {\n const inspectedStore = payload.nodeId === PINIA_ROOT_ID ? pinia2 : pinia2._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 if (path.length !== 1 || !inspectedStore._customProperties.has(path[0]) || path[0] in inspectedStore.$state) {\n path.unshift(\"$state\");\n }\n } else {\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 = pinia2._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 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 const now2 = 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: now2(),\n title: \"🛫 \" + name,\n subtitle: \"start\",\n data: {\n store: formatDisplay$1(store.$id),\n action: formatDisplay$1(name),\n args\n },\n groupId\n }\n });\n after((result) => {\n activeAction = void 0;\n api.addTimelineEvent({\n layerId: MUTATIONS_LAYER_ID,\n event: {\n time: now2(),\n title: \"🛬 \" + name,\n subtitle: \"end\",\n data: {\n store: formatDisplay$1(store.$id),\n action: formatDisplay$1(name),\n args,\n result\n },\n groupId\n }\n });\n });\n onError((error) => {\n activeAction = void 0;\n api.addTimelineEvent({\n layerId: MUTATIONS_LAYER_ID,\n event: {\n time: now2(),\n logType: \"error\",\n title: \"💥 \" + name,\n subtitle: \"end\",\n data: {\n store: formatDisplay$1(store.$id),\n action: formatDisplay$1(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: now2(),\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: type2 }, state) => {\n api.notifyComponentUpdate();\n api.sendInspectorState(INSPECTOR_ID);\n if (!isTimelineActive)\n return;\n const eventData = {\n time: now2(),\n title: formatMutationType(type2),\n data: assign$1({ store: formatDisplay$1(store.$id) }, formatEventData(events)),\n groupId: activeAction\n };\n if (type2 === MutationType.patchFunction) {\n eventData.subtitle = \"⤵️\";\n } else if (type2 === MutationType.patchObject) {\n eventData.subtitle = \"🧩\";\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: now2(),\n title: \"🔥 \" + store.$id,\n subtitle: \"HMR update\",\n data: {\n store: formatDisplay$1(store.$id),\n info: formatDisplay$1(`HMR update`)\n }\n }\n });\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 && toastMessage(`Disposed \"${store.$id}\" store 🗑`);\n };\n api.notifyComponentUpdate();\n api.sendInspectorTree(INSPECTOR_ID);\n api.sendInspectorState(INSPECTOR_ID);\n api.getSettings().logStoreChanges && toastMessage(`\"${store.$id}\" store installed 🆕`);\n });\n}\nlet runningActionId = 0;\nlet activeAction;\nfunction patchActionForGrouping(store, actionNames, wrapWithProxy) {\n const actions = actionNames.reduce((storeActions, actionName) => {\n storeActions[actionName] = toRaw(store)[actionName];\n return storeActions;\n }, {});\n for (const actionName in actions) {\n store[actionName] = function() {\n const _actionId = runningActionId;\n const trackedStore = wrapWithProxy ? 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 }) : store;\n activeAction = _actionId;\n const retValue = actions[actionName].apply(trackedStore, arguments);\n activeAction = void 0;\n return retValue;\n };\n }\n}\nfunction devtoolsPlugin({ app, store, options }) {\n if (store.$id.startsWith(\"__hot:\")) {\n return;\n }\n store._isOptionsAPI = !!options.state;\n patchActionForGrouping(store, Object.keys(options.actions), store._isOptionsAPI);\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 addStoreToDevtools(\n app,\n // FIXME: is there a way to allow the assignment from Store<Id, S, G, A> to StoreGeneric?\n store\n );\n}\nfunction createPinia() {\n const scope = effectScope(true);\n const state = scope.run(() => ref({}));\n let _p = [];\n let toBeInstalled = [];\n const pinia2 = markRaw({\n install(app) {\n setActivePinia(pinia2);\n {\n pinia2._a = app;\n app.provide(piniaSymbol, pinia2);\n app.config.globalProperties.$pinia = pinia2;\n if (USE_DEVTOOLS) {\n registerPiniaDevtools(app, pinia2);\n }\n toBeInstalled.forEach((plugin) => _p.push(plugin));\n toBeInstalled = [];\n }\n },\n use(plugin) {\n if (!this._a && !isVue2) {\n toBeInstalled.push(plugin);\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: /* @__PURE__ */ new Map(),\n state\n });\n if (USE_DEVTOOLS && typeof Proxy !== \"undefined\") {\n pinia2.use(devtoolsPlugin);\n }\n return pinia2;\n}\nfunction patchObject(newState, oldState) {\n for (const key in oldState) {\n const subPatch = oldState[key];\n if (!(key in newState)) {\n continue;\n }\n const targetValue = newState[key];\n if (isPlainObject(targetValue) && isPlainObject(subPatch) && !isRef(subPatch) && !isReactive(subPatch)) {\n newState[key] = patchObject(targetValue, subPatch);\n } else {\n {\n newState[key] = subPatch;\n }\n }\n }\n return newState;\n}\nconst noop$1 = () => {\n};\nfunction addSubscription(subscriptions, callback, detached, onCleanup = noop$1) {\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}\nconst fallbackRunWithContext = (fn) => fn();\nfunction mergeReactiveObjects(target, patchToApply) {\n if (target instanceof Map && patchToApply instanceof Map) {\n patchToApply.forEach((value, key) => target.set(key, value));\n }\n if (target instanceof Set && patchToApply instanceof Set) {\n patchToApply.forEach(target.add, target);\n }\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) && isPlainObject(subPatch) && target.hasOwnProperty(key) && !isRef(subPatch) && !isReactive(subPatch)) {\n target[key] = mergeReactiveObjects(targetValue, subPatch);\n } else {\n target[key] = subPatch;\n }\n }\n return target;\n}\nconst skipHydrateSymbol = process.env.NODE_ENV !== \"production\" ? Symbol(\"pinia:skipHydration\") : (\n /* istanbul ignore next */\n Symbol()\n);\nfunction shouldHydrate(obj) {\n return !isPlainObject(obj) || !obj.hasOwnProperty(skipHydrateSymbol);\n}\nconst { assign: assign$2 } = Object;\nfunction isComputed(o) {\n return !!(isRef(o) && o.effect);\n}\nfunction createOptionsStore(id, options, pinia2, hot) {\n const { state, actions, getters } = options;\n const initialState = pinia2.state.value[id];\n let store;\n function setup() {\n if (!initialState && (!(process.env.NODE_ENV !== \"production\") || !hot)) {\n {\n pinia2.state.value[id] = state ? state() : {};\n }\n }\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(pinia2.state.value[id]);\n return assign$2(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(pinia2);\n const store2 = pinia2._s.get(id);\n return getters[name].call(store2, store2);\n }));\n return computedGetters;\n }, {}));\n }\n store = createSetupStore(id, setup, options, pinia2, hot, true);\n return store;\n}\nfunction createSetupStore($id, setup, options = {}, pinia2, hot, isOptionsStore) {\n let scope;\n const optionsForPlugin = assign$2({ actions: {} }, options);\n if (process.env.NODE_ENV !== \"production\" && !pinia2._e.active) {\n throw new Error(\"Pinia destroyed\");\n }\n const $subscribeOptions = {\n deep: true\n // flush: 'post',\n };\n if (process.env.NODE_ENV !== \"production\" && !isVue2) {\n $subscribeOptions.onTrigger = (event) => {\n if (isListening) {\n debuggerEvents = event;\n } else if (isListening == false && !store._hotUpdating) {\n if (Array.isArray(debuggerEvents)) {\n debuggerEvents.push(event);\n } else {\n console.error(\"🍍 debuggerEvents should be an array. This is most likely an internal Pinia bug.\");\n }\n }\n };\n }\n let isListening;\n let isSyncListening;\n let subscriptions = [];\n let actionSubscriptions = [];\n let debuggerEvents;\n const initialState = pinia2.state.value[$id];\n if (!isOptionsStore && !initialState && (!(process.env.NODE_ENV !== \"production\") || !hot)) {\n {\n pinia2.state.value[$id] = {};\n }\n }\n const hotState = ref({});\n let activeListener;\n function $patch(partialStateOrMutator) {\n let subscriptionMutation;\n isListening = isSyncListening = false;\n if (process.env.NODE_ENV !== \"production\") {\n debuggerEvents = [];\n }\n if (typeof partialStateOrMutator === \"function\") {\n partialStateOrMutator(pinia2.state.value[$id]);\n subscriptionMutation = {\n type: MutationType.patchFunction,\n storeId: $id,\n events: debuggerEvents\n };\n } else {\n mergeReactiveObjects(pinia2.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 triggerSubscriptions(subscriptions, subscriptionMutation, pinia2.state.value[$id]);\n }\n const $reset = isOptionsStore ? function $reset2() {\n const { state } = options;\n const newState = state ? state() : {};\n this.$patch(($state) => {\n assign$2($state, newState);\n });\n } : (\n /* istanbul ignore next */\n process.env.NODE_ENV !== \"production\" ? () => {\n throw new Error(`🍍: Store \"${$id}\" is built using the setup syntax and does not implement $reset().`);\n } : noop$1\n );\n function $dispose() {\n scope.stop();\n subscriptions = [];\n actionSubscriptions = [];\n pinia2._s.delete($id);\n }\n function wrapAction(name, action) {\n return function() {\n setActivePinia(pinia2);\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 triggerSubscriptions(actionSubscriptions, {\n args,\n name,\n store,\n after,\n onError\n });\n let ret;\n try {\n ret = action.apply(this && this.$id === $id ? this : store, args);\n } catch (error) {\n triggerSubscriptions(onErrorCallbackList, error);\n throw error;\n }\n if (ret instanceof Promise) {\n return ret.then((value) => {\n triggerSubscriptions(afterCallbackList, value);\n return value;\n }).catch((error) => {\n triggerSubscriptions(onErrorCallbackList, error);\n return Promise.reject(error);\n });\n }\n triggerSubscriptions(afterCallbackList, ret);\n return ret;\n };\n }\n const _hmrPayload = /* @__PURE__ */ markRaw({\n actions: {},\n getters: {},\n state: [],\n hotState\n });\n const partialStore = {\n _p: pinia2,\n // _s: scope,\n $id,\n $onAction: addSubscription.bind(null, actionSubscriptions),\n $patch,\n $reset,\n $subscribe(callback, options2 = {}) {\n const removeSubscription = addSubscription(subscriptions, callback, options2.detached, () => stopWatcher());\n const stopWatcher = scope.run(() => watch(() => pinia2.state.value[$id], (state) => {\n if (options2.flush === \"sync\" ? isSyncListening : isListening) {\n callback({\n storeId: $id,\n type: MutationType.direct,\n events: debuggerEvents\n }, state);\n }\n }, assign$2({}, $subscribeOptions, options2)));\n return removeSubscription;\n },\n $dispose\n };\n const store = reactive(process.env.NODE_ENV !== \"production\" || USE_DEVTOOLS ? assign$2(\n {\n _hmrPayload,\n _customProperties: markRaw(/* @__PURE__ */ new Set())\n // devtools custom properties\n },\n partialStore\n // must be added later\n // setupStore\n ) : partialStore);\n pinia2._s.set($id, store);\n const runWithContext = pinia2._a && pinia2._a.runWithContext || fallbackRunWithContext;\n const setupStore = runWithContext(() => pinia2._e.run(() => (scope = effectScope()).run(setup)));\n for (const key in setupStore) {\n const prop = setupStore[key];\n if (isRef(prop) && !isComputed(prop) || isReactive(prop)) {\n if (process.env.NODE_ENV !== \"production\" && hot) {\n set(hotState.value, key, toRef(setupStore, key));\n } else if (!isOptionsStore) {\n if (initialState && shouldHydrate(prop)) {\n if (isRef(prop)) {\n prop.value = initialState[key];\n } else {\n mergeReactiveObjects(prop, initialState[key]);\n }\n }\n {\n pinia2.state.value[$id][key] = prop;\n }\n }\n if (process.env.NODE_ENV !== \"production\") {\n _hmrPayload.state.push(key);\n }\n } else if (typeof prop === \"function\") {\n const actionValue = process.env.NODE_ENV !== \"production\" && hot ? prop : wrapAction(key, prop);\n {\n setupStore[key] = actionValue;\n }\n if (process.env.NODE_ENV !== \"production\") {\n _hmrPayload.actions[key] = prop;\n }\n optionsForPlugin.actions[key] = prop;\n } else if (process.env.NODE_ENV !== \"production\") {\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 || // @ts-expect-error: same\n (setupStore._getters = markRaw([]));\n getters.push(key);\n }\n }\n }\n }\n {\n assign$2(store, setupStore);\n assign$2(toRaw(store), setupStore);\n }\n Object.defineProperty(store, \"$state\", {\n get: () => process.env.NODE_ENV !== \"production\" && hot ? hotState.value : pinia2.state.value[$id],\n set: (state) => {\n if (process.env.NODE_ENV !== \"production\" && hot) {\n throw new Error(\"cannot set hotState\");\n }\n $patch(($state) => {\n assign$2($state, state);\n });\n }\n });\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\" && isPlainObject(newStateTarget) && isPlainObject(oldStateSource)) {\n patchObject(newStateTarget, oldStateSource);\n } else {\n newStore.$state[stateKey] = oldStateSource;\n }\n }\n set(store, stateKey, toRef(newStore.$state, stateKey));\n });\n Object.keys(store.$state).forEach((stateKey) => {\n if (!(stateKey in newStore.$state)) {\n del(store, stateKey);\n }\n });\n isListening = false;\n isSyncListening = false;\n pinia2.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 action = newStore[actionName];\n set(store, actionName, wrapAction(actionName, action));\n }\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(pinia2);\n return getter.call(store, store);\n })\n ) : getter;\n set(store, getterName, getterValue);\n }\n Object.keys(store._hmrPayload.getters).forEach((key) => {\n if (!(key in newStore._hmrPayload.getters)) {\n del(store, key);\n }\n });\n Object.keys(store._hmrPayload.actions).forEach((key) => {\n if (!(key in newStore._hmrPayload.actions)) {\n del(store, key);\n }\n });\n store._hmrPayload = newStore._hmrPayload;\n store._getters = newStore._getters;\n store._hotUpdating = false;\n });\n }\n if (USE_DEVTOOLS) {\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$2({ value: store[p] }, nonEnumerable));\n });\n }\n pinia2._p.forEach((extender) => {\n if (USE_DEVTOOLS) {\n const extensions = scope.run(() => extender({\n store,\n app: pinia2._a,\n pinia: pinia2,\n options: optionsForPlugin\n }));\n Object.keys(extensions || {}).forEach((key) => store._customProperties.add(key));\n assign$2(store, extensions);\n } else {\n assign$2(store, scope.run(() => extender({\n store,\n app: pinia2._a,\n pinia: pinia2,\n options: optionsForPlugin\n })));\n }\n });\n if (process.env.NODE_ENV !== \"production\" && store.$state && typeof store.$state === \"object\" && typeof store.$state.constructor === \"function\" && !store.$state.constructor.toString().includes(\"[native code]\")) {\n console.warn(`[🍍]: The \"state\" must be a plain object. It cannot be\n\tstate: () => new MyClass()\nFound in store \"${store.$id}\".`);\n }\n if (initialState && isOptionsStore && options.hydrate) {\n options.hydrate(store.$state, initialState);\n }\n isListening = true;\n isSyncListening = true;\n return store;\n}\nfunction defineStore(idOrOptions, setup, setupOptions) {\n let id;\n let options;\n const isSetupStore = typeof setup === \"function\";\n if (typeof idOrOptions === \"string\") {\n id = idOrOptions;\n options = isSetupStore ? setupOptions : setup;\n } else {\n options = idOrOptions;\n id = idOrOptions.id;\n if (process.env.NODE_ENV !== \"production\" && typeof id !== \"string\") {\n throw new Error(`[🍍]: \"defineStore()\" must be passed a store id as its first argument.`);\n }\n }\n function useStore(pinia2, hot) {\n const hasContext = hasInjectionContext();\n pinia2 = // 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 : pinia2) || (hasContext ? inject(piniaSymbol, null) : null);\n if (pinia2)\n setActivePinia(pinia2);\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)\"?\nSee https://pinia.vuejs.org/core-concepts/outside-component-usage.html for help.\nThis will fail in production.`);\n }\n pinia2 = activePinia;\n if (!pinia2._s.has(id)) {\n if (isSetupStore) {\n createSetupStore(id, setup, options, pinia2);\n } else {\n createOptionsStore(id, options, pinia2);\n }\n if (process.env.NODE_ENV !== \"production\") {\n useStore._pinia = pinia2;\n }\n }\n const store = pinia2._s.get(id);\n if (process.env.NODE_ENV !== \"production\" && hot) {\n const hotId = \"__hot:\" + id;\n const newStore = isSetupStore ? createSetupStore(hotId, setup, options, pinia2, true) : createOptionsStore(hotId, assign$2({}, options), pinia2, true);\n hot._hotUpdate(newStore);\n delete pinia2.state.value[hotId];\n pinia2._s.delete(hotId);\n }\n if (process.env.NODE_ENV !== \"production\" && IS_CLIENT) {\n const currentInstance = getCurrentInstance();\n if (currentInstance && currentInstance.proxy && // 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 return store;\n }\n useStore.$id = id;\n return useStore;\n}\nconst useDataStore = defineStore(\"data\", () => {\n const records = ref([]);\n const record = ref({});\n return { records, record };\n});\nfunction useStonecrop(registry) {\n if (!registry) {\n registry = inject(\"$registry\");\n }\n const store = useDataStore();\n const stonecrop = ref(new Stonecrop(registry, store));\n const isReady = ref(false);\n onBeforeMount(async () => {\n var _a, _b;\n const route = registry.router.currentRoute.value;\n const doctypeSlug = (_a = route.params.records) == null ? void 0 : _a.toString().toLowerCase();\n const recordId = (_b = route.params.record) == null ? void 0 : _b.toString().toLowerCase();\n if (!doctypeSlug && !recordId) {\n return;\n }\n const doctype = await registry.getMeta(doctypeSlug);\n registry.addDoctype(doctype);\n stonecrop.value.setup(doctype);\n if (doctypeSlug) {\n if (recordId) {\n await stonecrop.value.getRecord(doctype, recordId);\n } else {\n await stonecrop.value.getRecords(doctype);\n }\n }\n stonecrop.value.runAction(doctype, \"LOAD\", recordId ? [recordId] : void 0);\n isReady.value = true;\n });\n return { stonecrop, isReady };\n}\nclass DoctypeMeta {\n constructor(doctype, schema, workflow, actions, component) {\n this.doctype = doctype;\n this.schema = schema;\n this.workflow = workflow;\n this.actions = actions;\n this.component = component;\n }\n get slug() {\n return this.doctype.replace(/([a-z])([A-Z])/g, \"$1-$2\").replace(/[\\s_]+/g, \"-\").toLowerCase();\n }\n get __typename() {\n return this.doctype;\n }\n}\nclass Registry {\n constructor(router2, getMeta) {\n if (Registry._root) {\n return Registry._root;\n }\n Registry._root = this;\n this.name = \"Registry\";\n this.router = router2;\n this.registry = {};\n this.getMeta = getMeta;\n }\n addDoctype(doctype) {\n if (!(doctype.doctype in Object.keys(this.registry))) {\n this.registry[doctype.slug] = doctype;\n }\n if (!this.router.hasRoute(doctype.doctype)) {\n this.router.addRoute({\n path: `/${doctype.slug}`,\n name: doctype.slug,\n component: doctype.component\n });\n }\n }\n}\n/*!\n * vue-router v4.2.5\n * (c) 2023 Eduardo San Martin Morote\n * @license MIT\n */\nconst isBrowser = typeof window !== \"undefined\";\nfunction isESModule(obj) {\n return obj.__esModule || obj[Symbol.toStringTag] === \"Module\";\n}\nconst assign = Object.assign;\nfunction applyToParams(fn, params) {\n const newParams = {};\n for (const key in params) {\n const value = params[key];\n newParams[key] = isArray(value) ? value.map(fn) : fn(value);\n }\n return newParams;\n}\nconst noop = () => {\n};\nconst isArray = Array.isArray;\nfunction warn(msg) {\n const args = Array.from(arguments).slice(1);\n console.warn.apply(console, [\"[Vue Router warn]: \" + msg].concat(args));\n}\nconst TRAILING_SLASH_RE = /\\/$/;\nconst removeTrailingSlash = (path) => path.replace(TRAILING_SLASH_RE, \"\");\nfunction parseURL(parseQuery2, location2, currentLocation = \"/\") {\n let path, query = {}, searchString = \"\", hash = \"\";\n const hashPos = location2.indexOf(\"#\");\n let searchPos = location2.indexOf(\"?\");\n if (hashPos < searchPos && hashPos >= 0) {\n searchPos = -1;\n }\n if (searchPos > -1) {\n path = location2.slice(0, searchPos);\n searchString = location2.slice(searchPos + 1, hashPos > -1 ? hashPos : location2.length);\n query = parseQuery2(searchString);\n }\n if (hashPos > -1) {\n path = path || location2.slice(0, hashPos);\n hash = location2.slice(hashPos, location2.length);\n }\n path = resolveRelativePath(path != null ? path : location2, currentLocation);\n return {\n fullPath: path + (searchString && \"?\") + searchString + hash,\n path,\n query,\n hash\n };\n}\nfunction stringifyURL(stringifyQuery2, location2) {\n const query = location2.query ? stringifyQuery2(location2.query) : \"\";\n return location2.path + (query && \"?\") + query + (location2.hash || \"\");\n}\nfunction stripBase(pathname, base) {\n if (!base || !pathname.toLowerCase().startsWith(base.toLowerCase()))\n return pathname;\n return pathname.slice(base.length) || \"/\";\n}\nfunction isSameRouteLocation(stringifyQuery2, a, b) {\n const aLastIndex = a.matched.length - 1;\n const bLastIndex = b.matched.length - 1;\n return aLastIndex > -1 && aLastIndex === bLastIndex && isSameRouteRecord(a.matched[aLastIndex], b.matched[bLastIndex]) && isSameRouteLocationParams(a.params, b.params) && stringifyQuery2(a.query) === stringifyQuery2(b.query) && a.hash === b.hash;\n}\nfunction isSameRouteRecord(a, b) {\n return (a.aliasOf || a) === (b.aliasOf || b);\n}\nfunction isSameRouteLocationParams(a, b) {\n if (Object.keys(a).length !== Object.keys(b).length)\n return false;\n for (const key in a) {\n if (!isSameRouteLocationParamsValue(a[key], b[key]))\n return false;\n }\n return true;\n}\nfunction isSameRouteLocationParamsValue(a, b) {\n return isArray(a) ? isEquivalentArray(a, b) : isArray(b) ? isEquivalentArray(b, a) : a === b;\n}\nfunction isEquivalentArray(a, b) {\n return isArray(b) ? a.length === b.length && a.every((value, i) => value === b[i]) : a.length === 1 && a[0] === b;\n}\nfunction resolveRelativePath(to, from) {\n if (to.startsWith(\"/\"))\n return to;\n if (process.env.NODE_ENV !== \"production\" && !from.startsWith(\"/\")) {\n warn(`Cannot resolve a relative location without an absolute path. Trying to resolve \"${to}\" from \"${from}\". It should look like \"/${from}\".`);\n return to;\n }\n if (!to)\n return from;\n const fromSegments = from.split(\"/\");\n const toSegments = to.split(\"/\");\n const lastToSegment = toSegments[toSegments.length - 1];\n if (lastToSegment === \"..\" || lastToSegment === \".\") {\n toSegments.push(\"\");\n }\n let position = fromSegments.length - 1;\n let toPosition;\n let segment;\n for (toPosition = 0; toPosition < toSegments.length; toPosition++) {\n segment = toSegments[toPosition];\n if (segment === \".\")\n continue;\n if (segment === \"..\") {\n if (position > 1)\n position--;\n } else\n break;\n }\n return fromSegments.slice(0, position).join(\"/\") + \"/\" + toSegments.slice(toPosition - (toPosition === toSegments.length ? 1 : 0)).join(\"/\");\n}\nvar NavigationType;\n(function(NavigationType2) {\n NavigationType2[\"pop\"] = \"pop\";\n NavigationType2[\"push\"] = \"push\";\n})(NavigationType || (NavigationType = {}));\nvar NavigationDirection;\n(function(NavigationDirection2) {\n NavigationDirection2[\"back\"] = \"back\";\n NavigationDirection2[\"forward\"] = \"forward\";\n NavigationDirection2[\"unknown\"] = \"\";\n})(NavigationDirection || (NavigationDirection = {}));\nfunction normalizeBase(base) {\n if (!base) {\n if (isBrowser) {\n const baseEl = document.querySelector(\"base\");\n base = baseEl && baseEl.getAttribute(\"href\") || \"/\";\n base = base.replace(/^\\w+:\\/\\/[^\\/]+/, \"\");\n } else {\n base = \"/\";\n }\n }\n if (base[0] !== \"/\" && base[0] !== \"#\")\n base = \"/\" + base;\n return removeTrailingSlash(base);\n}\nconst BEFORE_HASH_RE = /^[^#]+#/;\nfunction createHref(base, location2) {\n return base.replace(BEFORE_HASH_RE, \"#\") + location2;\n}\nfunction getElementPosition(el, offset) {\n const docRect = document.documentElement.getBoundingClientRect();\n const elRect = el.getBoundingClientRect();\n return {\n behavior: offset.behavior,\n left: elRect.left - docRect.left - (offset.left || 0),\n top: elRect.top - docRect.top - (offset.top || 0)\n };\n}\nconst computeScrollPosition = () => ({\n left: window.pageXOffset,\n top: window.pageYOffset\n});\nfunction scrollToPosition(position) {\n let scrollToOptions;\n if (\"el\" in position) {\n const positionEl = position.el;\n const isIdSelector = typeof positionEl === \"string\" && positionEl.startsWith(\"#\");\n if (process.env.NODE_ENV !== \"production\" && typeof position.el === \"string\") {\n if (!isIdSelector || !document.getElementById(position.el.slice(1))) {\n try {\n const foundEl = document.querySelector(position.el);\n if (isIdSelector && foundEl) {\n warn(`The selector \"${position.el}\" should be passed as \"el: document.querySelector('${position.el}')\" because it starts with \"#\".`);\n return;\n }\n } catch (err) {\n warn(`The selector \"${position.el}\" is invalid. If you are using an id selector, make sure to escape it. You can find more information about escaping characters in selectors at https://mathiasbynens.be/notes/css-escapes or use CSS.escape (https://developer.mozilla.org/en-US/docs/Web/API/CSS/escape).`);\n return;\n }\n }\n }\n const el = typeof positionEl === \"string\" ? isIdSelector ? document.getElementById(positionEl.slice(1)) : document.querySelector(positionEl) : positionEl;\n if (!el) {\n process.env.NODE_ENV !== \"production\" && warn(`Couldn't find element using selector \"${position.el}\" returned by scrollBehavior.`);\n return;\n }\n scrollToOptions = getElementPosition(el, position);\n } else {\n scrollToOptions = position;\n }\n if (\"scrollBehavior\" in document.documentElement.style)\n window.scrollTo(scrollToOptions);\n else {\n window.scrollTo(scrollToOptions.left != null ? scrollToOptions.left : window.pageXOffset, scrollToOptions.top != null ? scrollToOptions.top : window.pageYOffset);\n }\n}\nfunction getScrollKey(path, delta) {\n const position = history.state ? history.state.position - delta : -1;\n return position + path;\n}\nconst scrollPositions = /* @__PURE__ */ new Map();\nfunction saveScrollPosition(key, scrollPosition) {\n scrollPositions.set(key, scrollPosition);\n}\nfunction getSavedScrollPosition(key) {\n const scroll = scrollPositions.get(key);\n scrollPositions.delete(key);\n return scroll;\n}\nlet createBaseLocation = () => location.protocol + \"//\" + location.host;\nfunction createCurrentLocation(base, location2) {\n const { pathname, search, hash } = location2;\n const hashPos = base.indexOf(\"#\");\n if (hashPos > -1) {\n let slicePos = hash.includes(base.slice(hashPos)) ? base.slice(hashPos).length : 1;\n let pathFromHash = hash.slice(slicePos);\n if (pathFromHash[0] !== \"/\")\n pathFromHash = \"/\" + pathFromHash;\n return stripBase(pathFromHash, \"\");\n }\n const path = stripBase(pathname, base);\n return path + search + hash;\n}\nfunction useHistoryListeners(base, historyState, currentLocation, replace) {\n let listeners = [];\n let teardowns = [];\n let pauseState = null;\n const popStateHandler = ({ state }) => {\n const to = createCurrentLocation(base, location);\n const from = currentLocation.value;\n const fromState = historyState.value;\n let delta = 0;\n if (state) {\n currentLocation.value = to;\n historyState.value = state;\n if (pauseState && pauseState === from) {\n pauseState = null;\n return;\n }\n delta = fromState ? state.position - fromState.position : 0;\n } else {\n replace(to);\n }\n listeners.forEach((listener) => {\n listener(currentLocation.value, from, {\n delta,\n type: NavigationType.pop,\n direction: delta ? delta > 0 ? NavigationDirection.forward : NavigationDirection.back : NavigationDirection.unknown\n });\n });\n };\n function pauseListeners() {\n pauseState = currentLocation.value;\n }\n function listen(callback) {\n listeners.push(callback);\n const teardown = () => {\n const index2 = listeners.indexOf(callback);\n if (index2 > -1)\n listeners.splice(index2, 1);\n };\n teardowns.push(teardown);\n return teardown;\n }\n function beforeUnloadListener() {\n const { history: history2 } = window;\n if (!history2.state)\n return;\n history2.replaceState(assign({}, history2.state, { scroll: computeScrollPosition() }), \"\");\n }\n function destroy() {\n for (const teardown of teardowns)\n teardown();\n teardowns = [];\n window.removeEventListener(\"popstate\", popStateHandler);\n window.removeEventListener(\"beforeunload\", beforeUnloadListener);\n }\n window.addEventListener(\"popstate\", popStateHandler);\n window.addEventListener(\"beforeunload\", beforeUnloadListener, {\n passive: true\n });\n return {\n pauseListeners,\n listen,\n destroy\n };\n}\nfunction buildState(back, current, forward, replaced = false, computeScroll = false) {\n return {\n back,\n current,\n forward,\n replaced,\n position: window.history.length,\n scroll: computeScroll ? computeScrollPosition() : null\n };\n}\nfunction useHistoryStateNavigation(base) {\n const { history: history2, location: location2 } = window;\n const currentLocation = {\n value: createCurrentLocation(base, location2)\n };\n const historyState = { value: history2.state };\n if (!historyState.value) {\n changeLocation(currentLocation.value, {\n back: null,\n current: currentLocation.value,\n forward: null,\n // the length is off by one, we need to decrease it\n position: history2.length - 1,\n replaced: true,\n // don't add a scroll as the user may have an anchor, and we want\n // scrollBehavior to be triggered without a saved position\n scroll: null\n }, true);\n }\n function changeLocation(to, state, replace2) {\n const hashIndex = base.indexOf(\"#\");\n const url = hashIndex > -1 ? (location2.host && document.querySelector(\"base\") ? base : base.slice(hashIndex)) + to : createBaseLocation() + base + to;\n try {\n history2[replace2 ? \"replaceState\" : \"pushState\"](state, \"\", url);\n historyState.value = state;\n } catch (err) {\n if (process.env.NODE_ENV !== \"production\") {\n warn(\"Error with push/replace State\", err);\n } else {\n console.error(err);\n }\n location2[replace2 ? \"replace\" : \"assign\"](url);\n }\n }\n function replace(to, data) {\n const state = assign({}, history2.state, buildState(\n historyState.value.back,\n // keep back and forward entries but override current position\n to,\n historyState.value.forward,\n true\n ), data, { position: historyState.value.position });\n changeLocation(to, state, true);\n currentLocation.value = to;\n }\n function push(to, data) {\n const currentState = assign(\n {},\n // use current history state to gracefully handle a wrong call to\n // history.replaceState\n // https://github.com/vuejs/router/issues/366\n historyState.value,\n history2.state,\n {\n forward: to,\n scroll: computeScrollPosition()\n }\n );\n if (process.env.NODE_ENV !== \"production\" && !history2.state) {\n warn(`history.state seems to have been manually replaced without preserving the necessary values. Make sure to preserve existing history state if you are manually calling history.replaceState:\n\nhistory.replaceState(history.state, '', url)\n\nYou can find more information at https://next.router.vuejs.org/guide/migration/#usage-of-history-state.`);\n }\n changeLocation(currentState.current, currentState, true);\n const state = assign({}, buildState(currentLocation.value, to, null), { position: currentState.position + 1 }, data);\n changeLocation(to, state, false);\n currentLocation.value = to;\n }\n return {\n location: currentLocation,\n state: historyState,\n push,\n replace\n };\n}\nfunction createWebHistory(base) {\n base = normalizeBase(base);\n const historyNavigation = useHistoryStateNavigation(base);\n const historyListeners = useHistoryListeners(base, historyNavigation.state, historyNavigation.location, historyNavigation.replace);\n function go(delta, triggerListeners = true) {\n if (!triggerListeners)\n historyListeners.pauseListeners();\n history.go(delta);\n }\n const routerHistory = assign({\n // it's overridden right after\n location: \"\",\n base,\n go,\n createHref: createHref.bind(null, base)\n }, historyNavigation, historyListeners);\n Object.defineProperty(routerHistory, \"location\", {\n enumerable: true,\n get: () => historyNavigation.location.value\n });\n Object.defineProperty(routerHistory, \"state\", {\n enumerable: true,\n get: () => historyNavigation.state.value\n });\n return routerHistory;\n}\nfunction isRouteLocation(route) {\n return typeof route === \"string\" || route && typeof route === \"object\";\n}\nfunction isRouteName(name) {\n return typeof name === \"string\" || typeof name === \"symbol\";\n}\nconst START_LOCATION_NORMALIZED = {\n path: \"/\",\n name: void 0,\n params: {},\n query: {},\n hash: \"\",\n fullPath: \"/\",\n matched: [],\n meta: {},\n redirectedFrom: void 0\n};\nconst NavigationFailureSymbol = Symbol(process.env.NODE_ENV !== \"production\" ? \"navigation failure\" : \"\");\nvar NavigationFailureType;\n(function(NavigationFailureType2) {\n NavigationFailureType2[NavigationFailureType2[\"aborted\"] = 4] = \"aborted\";\n NavigationFailureType2[NavigationFailureType2[\"cancelled\"] = 8] = \"cancelled\";\n NavigationFailureType2[NavigationFailureType2[\"duplicated\"] = 16] = \"duplicated\";\n})(NavigationFailureType || (NavigationFailureType = {}));\nconst ErrorTypeMessages = {\n [\n 1\n /* ErrorTypes.MATCHER_NOT_FOUND */\n ]({ location: location2, currentLocation }) {\n return `No match for\n ${JSON.stringify(location2)}${currentLocation ? \"\\nwhile being at\\n\" + JSON.stringify(currentLocation) : \"\"}`;\n },\n [\n 2\n /* ErrorTypes.NAVIGATION_GUARD_REDIRECT */\n ]({ from, to }) {\n return `Redirected from \"${from.fullPath}\" to \"${stringifyRoute(to)}\" via a navigation guard.`;\n },\n [\n 4\n /* ErrorTypes.NAVIGATION_ABORTED */\n ]({ from, to }) {\n return `Navigation aborted from \"${from.fullPath}\" to \"${to.fullPath}\" via a navigation guard.`;\n },\n [\n 8\n /* ErrorTypes.NAVIGATION_CANCELLED */\n ]({ from, to }) {\n return `Navigation cancelled from \"${from.fullPath}\" to \"${to.fullPath}\" with a new navigation.`;\n },\n [\n 16\n /* ErrorTypes.NAVIGATION_DUPLICATED */\n ]({ from, to }) {\n return `Avoided redundant navigation to current location: \"${from.fullPath}\".`;\n }\n};\nfunction createRouterError(type2, params) {\n if (process.env.NODE_ENV !== \"production\" || false) {\n return assign(new Error(ErrorTypeMessages[type2](params)), {\n type: type2,\n [NavigationFailureSymbol]: true\n }, params);\n } else {\n return assign(new Error(), {\n type: type2,\n [NavigationFailureSymbol]: true\n }, params);\n }\n}\nfunction isNavigationFailure(error, type2) {\n return error instanceof Error && NavigationFailureSymbol in error && (type2 == null || !!(error.type & type2));\n}\nconst propertiesToLog = [\"params\", \"query\", \"hash\"];\nfunction stringifyRoute(to) {\n if (typeof to === \"string\")\n return to;\n if (\"path\" in to)\n return to.path;\n const location2 = {};\n for (const key of propertiesToLog) {\n if (key in to)\n location2[key] = to[key];\n }\n return JSON.stringify(location2, null, 2);\n}\nconst BASE_PARAM_PATTERN = \"[^/]+?\";\nconst BASE_PATH_PARSER_OPTIONS = {\n sensitive: false,\n strict: false,\n start: true,\n end: true\n};\nconst REGEX_CHARS_RE = /[.+*?^${}()[\\]/\\\\]/g;\nfunction tokensToParser(segments, extraOptions) {\n const options = assign({}, BASE_PATH_PARSER_OPTIONS, extraOptions);\n const score = [];\n let pattern = options.start ? \"^\" : \"\";\n const keys = [];\n for (const segment of segments) {\n const segmentScores = segment.length ? [] : [\n 90\n /* PathScore.Root */\n ];\n if (options.strict && !segment.length)\n pattern += \"/\";\n for (let tokenIndex = 0; tokenIndex < segment.length; tokenIndex++) {\n const token = segment[tokenIndex];\n let subSegmentScore = 40 + (options.sensitive ? 0.25 : 0);\n if (token.type === 0) {\n if (!tokenIndex)\n pattern += \"/\";\n pattern += token.value.replace(REGEX_CHARS_RE, \"\\\\$&\");\n subSegmentScore += 40;\n } else if (token.type === 1) {\n const { value, repeatable, optional, regexp } = token;\n keys.push({\n name: value,\n repeatable,\n optional\n });\n const re2 = regexp ? regexp : BASE_PARAM_PATTERN;\n if (re2 !== BASE_PARAM_PATTERN) {\n subSegmentScore += 10;\n try {\n new RegExp(`(${re2})`);\n } catch (err) {\n throw new Error(`Invalid custom RegExp for param \"${value}\" (${re2}): ` + err.message);\n }\n }\n let subPattern = repeatable ? `((?:${re2})(?:/(?:${re2}))*)` : `(${re2})`;\n if (!tokenIndex)\n subPattern = // avoid an optional / if there are more segments e.g. /:p?-static\n // or /:p?-:p2\n optional && segment.length < 2 ? `(?:/${subPattern})` : \"/\" + subPattern;\n if (optional)\n subPattern += \"?\";\n pattern += subPattern;\n subSegmentScore += 20;\n if (optional)\n subSegmentScore += -8;\n if (repeatable)\n subSegmentScore += -20;\n if (re2 === \".*\")\n subSegmentScore += -50;\n }\n segmentScores.push(subSegmentScore);\n }\n score.push(segmentScores);\n }\n if (options.strict && options.end) {\n const i = score.length - 1;\n score[i][score[i].length - 1] += 0.7000000000000001;\n }\n if (!options.strict)\n pattern += \"/?\";\n if (options.end)\n pattern += \"$\";\n else if (options.strict)\n pattern += \"(?:/|$)\";\n const re = new RegExp(pattern, options.sensitive ? \"\" : \"i\");\n function parse2(path) {\n const match = path.match(re);\n const params = {};\n if (!match)\n return null;\n for (let i = 1; i < match.length; i++) {\n const value = match[i] || \"\";\n const key = keys[i - 1];\n params[key.name] = value && key.repeatable ? value.split(\"/\") : value;\n }\n return params;\n }\n function stringify2(params) {\n let path = \"\";\n let avoidDuplicatedSlash = false;\n for (const segment of segments) {\n if (!avoidDuplicatedSlash || !path.endsWith(\"/\"))\n path += \"/\";\n avoidDuplicatedSlash = false;\n for (const token of segment) {\n if (token.type === 0) {\n path += token.value;\n } else if (token.type === 1) {\n const { value, repeatable, optional } = token;\n const param = value in params ? params[value] : \"\";\n if (isArray(param) && !repeatable) {\n throw new Error(`Provided param \"${value}\" is an array but it is not repeatable (* or + modifiers)`);\n }\n const text = isArray(param) ? param.join(\"/\") : param;\n if (!text) {\n if (optional) {\n if (segment.length < 2) {\n if (path.endsWith(\"/\"))\n path = path.slice(0, -1);\n else\n avoidDuplicatedSlash = true;\n }\n } else\n throw new Error(`Missing required param \"${value}\"`);\n }\n path += text;\n }\n }\n }\n return path || \"/\";\n }\n return {\n re,\n score,\n keys,\n parse: parse2,\n stringify: stringify2\n };\n}\nfunction compareScoreArray(a, b) {\n let i = 0;\n while (i < a.length && i < b.length) {\n const diff = b[i] - a[i];\n if (diff)\n return diff;\n i++;\n }\n if (a.length < b.length) {\n return a.length === 1 && a[0] === 40 + 40 ? -1 : 1;\n } else if (a.length > b.length) {\n return b.length === 1 && b[0] === 40 + 40 ? 1 : -1;\n }\n return 0;\n}\nfunction comparePathParserScore(a, b) {\n let i = 0;\n const aScore = a.score;\n const bScore = b.score;\n while (i < aScore.length && i < bScore.length) {\n const comp = compareScoreArray(aScore[i], bScore[i]);\n if (comp)\n return comp;\n i++;\n }\n if (Math.abs(bScore.length - aScore.length) === 1) {\n if (isLastScoreNegative(aScore))\n return 1;\n if (isLastScoreNegative(bScore))\n return -1;\n }\n return bScore.length - aScore.length;\n}\nfunction isLastScoreNegative(score) {\n const last = score[score.length - 1];\n return score.length > 0 && last[last.length - 1] < 0;\n}\nconst ROOT_TOKEN = {\n type: 0,\n value: \"\"\n};\nconst VALID_PARAM_RE = /[a-zA-Z0-9_]/;\nfunction tokenizePath(path) {\n if (!path)\n return [[]];\n if (path === \"/\")\n return [[ROOT_TOKEN]];\n if (!path.startsWith(\"/\")) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `Route paths should start with a \"/\": \"${path}\" should be \"/${path}\".` : `Invalid path \"${path}\"`);\n }\n function crash(message) {\n throw new Error(`ERR (${state})/\"${buffer}\": ${message}`);\n }\n let state = 0;\n let previousState = state;\n const tokens = [];\n let segment;\n function finalizeSegment() {\n if (segment)\n tokens.push(segment);\n segment = [];\n }\n let i = 0;\n let char;\n let buffer = \"\";\n let customRe = \"\";\n function consumeBuffer() {\n if (!buffer)\n return;\n if (state === 0) {\n segment.push({\n type: 0,\n value: buffer\n });\n } else if (state === 1 || state === 2 || state === 3) {\n if (segment.length > 1 && (char === \"*\" || char === \"+\"))\n crash(`A repeatable param (${buffer}) must be alone in its segment. eg: '/:ids+.`);\n segment.push({\n type: 1,\n value: buffer,\n regexp: customRe,\n repeatable: char === \"*\" || char === \"+\",\n optional: char === \"*\" || char === \"?\"\n });\n } else {\n crash(\"Invalid state to consume buffer\");\n }\n buffer = \"\";\n }\n function addCharToBuffer() {\n buffer += char;\n }\n while (i < path.length) {\n char = path[i++];\n if (char === \"\\\\\" && state !== 2) {\n previousState = state;\n state = 4;\n continue;\n }\n switch (state) {\n case 0:\n if (char === \"/\") {\n if (buffer) {\n consumeBuffer();\n }\n finalizeSegment();\n } else if (char === \":\") {\n consumeBuffer();\n state = 1;\n } else {\n addCharToBuffer();\n }\n break;\n case 4:\n addCharToBuffer();\n state = previousState;\n break;\n case 1:\n if (char === \"(\") {\n state = 2;\n } else if (VALID_PARAM_RE.test(char)) {\n addCharToBuffer();\n } else {\n consumeBuffer();\n state = 0;\n if (char !== \"*\" && char !== \"?\" && char !== \"+\")\n i--;\n }\n break;\n case 2:\n if (char === \")\") {\n if (customRe[customRe.length - 1] == \"\\\\\")\n customRe = customRe.slice(0, -1) + char;\n else\n state = 3;\n } else {\n customRe += char;\n }\n break;\n case 3:\n consumeBuffer();\n state = 0;\n if (char !== \"*\" && char !== \"?\" && char !== \"+\")\n i--;\n customRe = \"\";\n break;\n default:\n crash(\"Unknown state\");\n break;\n }\n }\n if (state === 2)\n crash(`Unfinished custom RegExp for param \"${buffer}\"`);\n consumeBuffer();\n finalizeSegment();\n return tokens;\n}\nfunction createRouteRecordMatcher(record, parent, options) {\n const parser = tokensToParser(tokenizePath(record.path), options);\n if (process.env.NODE_ENV !== \"production\") {\n const existingKeys = /* @__PURE__ */ new Set();\n for (const key of parser.keys) {\n if (existingKeys.has(key.name))\n warn(`Found duplicated params with name \"${key.name}\" for path \"${record.path}\". Only the last one will be available on \"$route.params\".`);\n existingKeys.add(key.name);\n }\n }\n const matcher = assign(parser, {\n record,\n parent,\n // these needs to be populated by the parent\n children: [],\n alias: []\n });\n if (parent) {\n if (!matcher.record.aliasOf === !parent.record.aliasOf)\n parent.children.push(matcher);\n }\n return matcher;\n}\nfunction createRouterMatcher(routes, globalOptions) {\n const matchers = [];\n const matcherMap = /* @__PURE__ */ new Map();\n globalOptions = mergeOptions({ strict: false, end: true, sensitive: false }, globalOptions);\n function getRecordMatcher(name) {\n return matcherMap.get(name);\n }\n function addRoute(record, parent, originalRecord) {\n const isRootAdd = !originalRecord;\n const mainNormalizedRecord = normalizeRouteRecord(record);\n if (process.env.NODE_ENV !== \"production\") {\n checkChildMissingNameWithEmptyPath(mainNormalizedRecord, parent);\n }\n mainNormalizedRecord.aliasOf = originalRecord && originalRecord.record;\n const options = mergeOptions(globalOptions, record);\n const normalizedRecords = [\n mainNormalizedRecord\n ];\n if (\"alias\" in record) {\n const aliases = typeof record.alias === \"string\" ? [record.alias] : record.alias;\n for (const alias of aliases) {\n normalizedRecords.push(assign({}, mainNormalizedRecord, {\n // this allows us to hold a copy of the `components` option\n // so that async components cache is hold on the original record\n components: originalRecord ? originalRecord.record.components : mainNormalizedRecord.components,\n path: alias,\n // we might be the child of an alias\n aliasOf: originalRecord ? originalRecord.record : mainNormalizedRecord\n // the aliases are always of the same kind as the original since they\n // are defined on the same record\n }));\n }\n }\n let matcher;\n let originalMatcher;\n for (const normalizedRecord of normalizedRecords) {\n const { path } = normalizedRecord;\n if (parent && path[0] !== \"/\") {\n const parentPath = parent.record.path;\n const connectingSlash = parentPath[parentPath.length - 1] === \"/\" ? \"\" : \"/\";\n normalizedRecord.path = parent.record.path + (path && connectingSlash + path);\n }\n if (process.env.NODE_ENV !== \"production\" && normalizedRecord.path === \"*\") {\n throw new Error('Catch all routes (\"*\") must now be defined using a param with a custom regexp.\\nSee more at https://next.router.vuejs.org/guide/migration/#removed-star-or-catch-all-routes.');\n }\n matcher = createRouteRecordMatcher(normalizedRecord, parent, options);\n if (process.env.NODE_ENV !== \"production\" && parent && path[0] === \"/\")\n checkMissingParamsInAbsolutePath(matcher, parent);\n if (originalRecord) {\n originalRecord.alias.push(matcher);\n if (process.env.NODE_ENV !== \"production\") {\n checkSameParams(originalRecord, matcher);\n }\n } else {\n originalMatcher = originalMatcher || matcher;\n if (originalMatcher !== matcher)\n originalMatcher.alias.push(matcher);\n if (isRootAdd && record.name && !isAliasRecord(matcher))\n removeRoute(record.name);\n }\n if (mainNormalizedRecord.children) {\n const children = mainNormalizedRecord.children;\n for (let i = 0; i < children.length; i++) {\n addRoute(children[i], matcher, originalRecord && originalRecord.children[i]);\n }\n }\n originalRecord = originalRecord || matcher;\n if (matcher.record.components && Object.keys(matcher.record.components).length || matcher.record.name || matcher.record.redirect) {\n insertMatcher(matcher);\n }\n }\n return originalMatcher ? () => {\n removeRoute(originalMatcher);\n } : noop;\n }\n function removeRoute(matcherRef) {\n if (isRouteName(matcherRef)) {\n const matcher = matcherMap.get(matcherRef);\n if (matcher) {\n matcherMap.delete(matcherRef);\n matchers.splice(matchers.indexOf(matcher), 1);\n matcher.children.forEach(removeRoute);\n matcher.alias.forEach(removeRoute);\n }\n } else {\n const index2 = matchers.indexOf(matcherRef);\n if (index2 > -1) {\n matchers.splice(index2, 1);\n if (matcherRef.record.name)\n matcherMap.delete(matcherRef.record.name);\n matcherRef.children.forEach(removeRoute);\n matcherRef.alias.forEach(removeRoute);\n }\n }\n }\n function getRoutes() {\n return matchers;\n }\n function insertMatcher(matcher) {\n let i = 0;\n while (i < matchers.length && comparePathParserScore(matcher, matchers[i]) >= 0 && // Adding children with empty path should still appear before the parent\n // https://github.com/vuejs/router/issues/1124\n (matcher.record.path !== matchers[i].record.path || !isRecordChildOf(matcher, matchers[i])))\n i++;\n matchers.splice(i, 0, matcher);\n if (matcher.record.name && !isAliasRecord(matcher))\n matcherMap.set(matcher.record.name, matcher);\n }\n function resolve(location2, currentLocation) {\n let matcher;\n let params = {};\n let path;\n let name;\n if (\"name\" in location2 && location2.name) {\n matcher = matcherMap.get(location2.name);\n if (!matcher)\n throw createRouterError(1, {\n location: location2\n });\n if (process.env.NODE_ENV !== \"production\") {\n const invalidParams = Object.keys(location2.params || {}).filter((paramName) => !matcher.keys.find((k) => k.name === paramName));\n if (invalidParams.length) {\n warn(`Discarded invalid param(s) \"${invalidParams.join('\", \"')}\" when navigating. See https://github.com/vuejs/router/blob/main/packages/router/CHANGELOG.md#414-2022-08-22 for more details.`);\n }\n }\n name = matcher.record.name;\n params = assign(\n // paramsFromLocation is a new object\n paramsFromLocation(\n currentLocation.params,\n // only keep params that exist in the resolved location\n // TODO: only keep optional params coming from a parent record\n matcher.keys.filter((k) => !k.optional).map((k) => k.name)\n ),\n // discard any existing params in the current location that do not exist here\n // #1497 this ensures better active/exact matching\n location2.params && paramsFromLocation(location2.params, matcher.keys.map((k) => k.name))\n );\n path = matcher.stringify(params);\n } else if (\"path\" in location2) {\n path = location2.path;\n if (process.env.NODE_ENV !== \"production\" && !path.startsWith(\"/\")) {\n warn(`The Matcher cannot resolve relative paths but received \"${path}\". Unless you directly called \\`matcher.resolve(\"${path}\")\\`, this is probably a bug in vue-router. Please open an issue at https://github.com/vuejs/router/issues/new/choose.`);\n }\n matcher = matchers.find((m2) => m2.re.test(path));\n if (matcher) {\n params = matcher.parse(path);\n name = matcher.record.name;\n }\n } else {\n matcher = currentLocation.name ? matcherMap.get(currentLocation.name) : matchers.find((m2) => m2.re.test(currentLocation.path));\n if (!matcher)\n throw createRouterError(1, {\n location: location2,\n currentLocation\n });\n name = matcher.record.name;\n params = assign({}, currentLocation.params, location2.params);\n path = matcher.stringify(params);\n }\n const matched = [];\n let parentMatcher = matcher;\n while (parentMatcher) {\n matched.unshift(parentMatcher.record);\n parentMatcher = parentMatcher.parent;\n }\n return {\n name,\n path,\n params,\n matched,\n meta: mergeMetaFields(matched)\n };\n }\n routes.forEach((route) => addRoute(route));\n return { addRoute, resolve, removeRoute, getRoutes, getRecordMatcher };\n}\nfunction paramsFromLocation(params, keys) {\n const newParams = {};\n for (const key of keys) {\n if (key in params)\n newParams[key] = params[key];\n }\n return newParams;\n}\nfunction normalizeRouteRecord(record) {\n return {\n path: record.path,\n redirect: record.redirect,\n name: record.name,\n meta: record.meta || {},\n aliasOf: void 0,\n beforeEnter: record.beforeEnter,\n props: normalizeRecordProps(record),\n children: record.children || [],\n instances: {},\n leaveGuards: /* @__PURE__ */ new Set(),\n updateGuards: /* @__PURE__ */ new Set(),\n enterCallbacks: {},\n components: \"components\" in record ? record.components || null : record.component && { default: record.component }\n };\n}\nfunction normalizeRecordProps(record) {\n const propsObject = {};\n const props = record.props || false;\n if (\"component\" in record) {\n propsObject.default = props;\n } else {\n for (const name in record.components)\n propsObject[name] = typeof props === \"object\" ? props[name] : props;\n }\n return propsObject;\n}\nfunction isAliasRecord(record) {\n while (record) {\n if (record.record.aliasOf)\n return true;\n record = record.parent;\n }\n return false;\n}\nfunction mergeMetaFields(matched) {\n return matched.reduce((meta, record) => assign(meta, record.meta), {});\n}\nfunction mergeOptions(defaults, partialOptions) {\n const options = {};\n for (const key in defaults) {\n options[key] = key in partialOptions ? partialOptions[key] : defaults[key];\n }\n return options;\n}\nfunction isSameParam(a, b) {\n return a.name === b.name && a.optional === b.optional && a.repeatable === b.repeatable;\n}\nfunction checkSameParams(a, b) {\n for (const key of a.keys) {\n if (!key.optional && !b.keys.find(isSameParam.bind(null, key)))\n return warn(`Alias \"${b.record.path}\" and the original record: \"${a.record.path}\" must have the exact same param named \"${key.name}\"`);\n }\n for (const key of b.keys) {\n if (!key.optional && !a.keys.find(isSameParam.bind(null, key)))\n return warn(`Alias \"${b.record.path}\" and the original record: \"${a.record.path}\" must have the exact same param named \"${key.name}\"`);\n }\n}\nfunction checkChildMissingNameWithEmptyPath(mainNormalizedRecord, parent) {\n if (parent && parent.record.name && !mainNormalizedRecord.name && !mainNormalizedRecord.path) {\n warn(`The route named \"${String(parent.record.name)}\" has a child without a name and an empty path. Using that name won't render the empty path child so you probably want to move the name to the child instead. If this is intentional, add a name to the child route to remove the warning.`);\n }\n}\nfunction checkMissingParamsInAbsolutePath(record, parent) {\n for (const key of parent.keys) {\n if (!record.keys.find(isSameParam.bind(null, key)))\n return warn(`Absolute path \"${record.record.path}\" must have the exact same param named \"${key.name}\" as its parent \"${parent.record.path}\".`);\n }\n}\nfunction isRecordChildOf(record, parent) {\n return parent.children.some((child) => child === record || isRecordChildOf(record, child));\n}\nconst HASH_RE = /#/g;\nconst AMPERSAND_RE = /&/g;\nconst SLASH_RE = /\\//g;\nconst EQUAL_RE = /=/g;\nconst IM_RE = /\\?/g;\nconst PLUS_RE = /\\+/g;\nconst ENC_BRACKET_OPEN_RE = /%5B/g;\nconst ENC_BRACKET_CLOSE_RE = /%5D/g;\nconst ENC_CARET_RE = /%5E/g;\nconst ENC_BACKTICK_RE = /%60/g;\nconst ENC_CURLY_OPEN_RE = /%7B/g;\nconst ENC_PIPE_RE = /%7C/g;\nconst ENC_CURLY_CLOSE_RE = /%7D/g;\nconst ENC_SPACE_RE = /%20/g;\nfunction commonEncode(text) {\n return encodeURI(\"\" + text).replace(ENC_PIPE_RE, \"|\").replace(ENC_BRACKET_OPEN_RE, \"[\").replace(ENC_BRACKET_CLOSE_RE, \"]\");\n}\nfunction encodeHash(text) {\n return commonEncode(text).replace(ENC_CURLY_OPEN_RE, \"{\").replace(ENC_CURLY_CLOSE_RE, \"}\").replace(ENC_CARET_RE, \"^\");\n}\nfunction encodeQueryValue(text) {\n return commonEncode(text).replace(PLUS_RE, \"%2B\").replace(ENC_SPACE_RE, \"+\").replace(HASH_RE, \"%23\").replace(AMPERSAND_RE, \"%26\").replace(ENC_BACKTICK_RE, \"`\").replace(ENC_CURLY_OPEN_RE, \"{\").replace(ENC_CURLY_CLOSE_RE, \"}\").replace(ENC_CARET_RE, \"^\");\n}\nfunction encodeQueryKey(text) {\n return encodeQueryValue(text).replace(EQUAL_RE, \"%3D\");\n}\nfunction encodePath(text) {\n return commonEncode(text).replace(HASH_RE, \"%23\").replace(IM_RE, \"%3F\");\n}\nfunction encodeParam(text) {\n return text == null ? \"\" : encodePath(text).replace(SLASH_RE, \"%2F\");\n}\nfunction decode(text) {\n try {\n return decodeURIComponent(\"\" + text);\n } catch (err) {\n process.env.NODE_ENV !== \"production\" && warn(`Error decoding \"${text}\". Using original value`);\n }\n return \"\" + text;\n}\nfunction parseQuery(search) {\n const query = {};\n if (search === \"\" || search === \"?\")\n return query;\n const hasLeadingIM = search[0] === \"?\";\n const searchParams = (hasLeadingIM ? search.slice(1) : search).split(\"&\");\n for (let i = 0; i < searchParams.length; ++i) {\n const searchParam = searchParams[i].replace(PLUS_RE, \" \");\n const eqPos = searchParam.indexOf(\"=\");\n const key = decode(eqPos < 0 ? searchParam : searchParam.slice(0, eqPos));\n const value = eqPos < 0 ? null : decode(searchParam.slice(eqPos + 1));\n if (key in query) {\n let currentValue = query[key];\n if (!isArray(currentValue)) {\n currentValue = query[key] = [currentValue];\n }\n currentValue.push(value);\n } else {\n query[key] = value;\n }\n }\n return query;\n}\nfunction stringifyQuery(query) {\n let search = \"\";\n for (let key in query) {\n const value = query[key];\n key = encodeQueryKey(key);\n if (value == null) {\n if (value !== void 0) {\n search += (search.length ? \"&\" : \"\") + key;\n }\n continue;\n }\n const values = isArray(value) ? value.map((v) => v && encodeQueryValue(v)) : [value && encodeQueryValue(value)];\n values.forEach((value2) => {\n if (value2 !== void 0) {\n search += (search.length ? \"&\" : \"\") + key;\n if (value2 != null)\n search += \"=\" + value2;\n }\n });\n }\n return search;\n}\nfunction normalizeQuery(query) {\n const normalizedQuery = {};\n for (const key in query) {\n const value = query[key];\n if (value !== void 0) {\n normalizedQuery[key] = isArray(value) ? value.map((v) => v == null ? null : \"\" + v) : value == null ? value : \"\" + value;\n }\n }\n return normalizedQuery;\n}\nconst matchedRouteKey = Symbol(process.env.NODE_ENV !== \"production\" ? \"router view location matched\" : \"\");\nconst viewDepthKey = Symbol(process.env.NODE_ENV !== \"production\" ? \"router view depth\" : \"\");\nconst routerKey = Symbol(process.env.NODE_ENV !== \"production\" ? \"router\" : \"\");\nconst routeLocationKey = Symbol(process.env.NODE_ENV !== \"production\" ? \"route location\" : \"\");\nconst routerViewLocationKey = Symbol(process.env.NODE_ENV !== \"production\" ? \"router view location\" : \"\");\nfunction useCallbacks() {\n let handlers = [];\n function add(handler) {\n handlers.push(handler);\n return () => {\n const i = handlers.indexOf(handler);\n if (i > -1)\n handlers.splice(i, 1);\n };\n }\n function reset() {\n handlers = [];\n }\n return {\n add,\n list: () => handlers.slice(),\n reset\n };\n}\nfunction guardToPromiseFn(guard, to, from, record, name) {\n const enterCallbackArray = record && // name is defined if record is because of the function overload\n (record.enterCallbacks[name] = record.enterCallbacks[name] || []);\n return () => new Promise((resolve, reject) => {\n const next = (valid) => {\n if (valid === false) {\n reject(createRouterError(4, {\n from,\n to\n }));\n } else if (valid instanceof Error) {\n reject(valid);\n } else if (isRouteLocation(valid)) {\n reject(createRouterError(2, {\n from: to,\n to: valid\n }));\n } else {\n if (enterCallbackArray && // since enterCallbackArray is truthy, both record and name also are\n record.enterCallbacks[name] === enterCallbackArray && typeof valid === \"function\") {\n enterCallbackArray.push(valid);\n }\n resolve();\n }\n };\n const guardReturn = guard.call(record && record.instances[name], to, from, process.env.NODE_ENV !== \"production\" ? canOnlyBeCalledOnce(next, to, from) : next);\n let guardCall = Promise.resolve(guardReturn);\n if (guard.length < 3)\n guardCall = guardCall.then(next);\n if (process.env.NODE_ENV !== \"production\" && guard.length > 2) {\n const message = `The \"next\" callback was never called inside of ${guard.name ? '\"' + guard.name + '\"' : \"\"}:\n${guard.toString()}\n. If you are returning a value instead of calling \"next\", make sure to remove the \"next\" parameter from your function.`;\n if (typeof guardReturn === \"object\" && \"then\" in guardReturn) {\n guardCall = guardCall.then((resolvedValue) => {\n if (!next._called) {\n warn(message);\n return Promise.reject(new Error(\"Invalid navigation guard\"));\n }\n return resolvedValue;\n });\n } else if (guardReturn !== void 0) {\n if (!next._called) {\n warn(message);\n reject(new Error(\"Invalid navigation guard\"));\n return;\n }\n }\n }\n guardCall.catch((err) => reject(err));\n });\n}\nfunction canOnlyBeCalledOnce(next, to, from) {\n let called = 0;\n return function() {\n if (called++ === 1)\n warn(`The \"next\" callback was called more than once in one navigation guard when going from \"${from.fullPath}\" to \"${to.fullPath}\". It should be called exactly one time in each navigation guard. This will fail in production.`);\n next._called = true;\n if (called === 1)\n next.apply(null, arguments);\n };\n}\nfunction extractComponentsGuards(matched, guardType, to, from) {\n const guards = [];\n for (const record of matched) {\n if (process.env.NODE_ENV !== \"production\" && !record.components && !record.children.length) {\n warn(`Record with path \"${record.path}\" is either missing a \"component(s)\" or \"children\" property.`);\n }\n for (const name in record.components) {\n let rawComponent = record.components[name];\n if (process.env.NODE_ENV !== \"production\") {\n if (!rawComponent || typeof rawComponent !== \"object\" && typeof rawComponent !== \"function\") {\n warn(`Component \"${name}\" in record with path \"${record.path}\" is not a valid component. Received \"${String(rawComponent)}\".`);\n throw new Error(\"Invalid route component\");\n } else if (\"then\" in rawComponent) {\n warn(`Component \"${name}\" in record with path \"${record.path}\" is a Promise instead of a function that returns a Promise. Did you write \"import('./MyPage.vue')\" instead of \"() => import('./MyPage.vue')\" ? This will break in production if not fixed.`);\n const promise = rawComponent;\n rawComponent = () => promise;\n } else if (rawComponent.__asyncLoader && // warn only once per component\n !rawComponent.__warnedDefineAsync) {\n rawComponent.__warnedDefineAsync = true;\n warn(`Component \"${name}\" in record with path \"${record.path}\" is defined using \"defineAsyncComponent()\". Write \"() => import('./MyPage.vue')\" instead of \"defineAsyncComponent(() => import('./MyPage.vue'))\".`);\n }\n }\n if (guardType !== \"beforeRouteEnter\" && !record.instances[name])\n continue;\n if (isRouteComponent(rawComponent)) {\n const options = rawComponent.__vccOpts || rawComponent;\n const guard = options[guardType];\n guard && guards.push(guardToPromiseFn(guard, to, from, record, name));\n } else {\n let componentPromise = rawComponent();\n if (process.env.NODE_ENV !== \"production\" && !(\"catch\" in componentPromise)) {\n warn(`Component \"${name}\" in record with path \"${record.path}\" is a function that does not return a Promise. If you were passing a functional component, make sure to add a \"displayName\" to the component. This will break in production if not fixed.`);\n componentPromise = Promise.resolve(componentPromise);\n }\n guards.push(() => componentPromise.then((resolved) => {\n if (!resolved)\n return Promise.reject(new Error(`Couldn't resolve component \"${name}\" at \"${record.path}\"`));\n const resolvedComponent = isESModule(resolved) ? resolved.default : resolved;\n record.components[name] = resolvedComponent;\n const options = resolvedComponent.__vccOpts || resolvedComponent;\n const guard = options[guardType];\n return guard && guardToPromiseFn(guard, to, from, record, name)();\n }));\n }\n }\n }\n return guards;\n}\nfunction isRouteComponent(component) {\n return typeof component === \"object\" || \"displayName\" in component || \"props\" in component || \"__vccOpts\" in component;\n}\nfunction useLink(props) {\n const router2 = inject(routerKey);\n const currentRoute = inject(routeLocationKey);\n const route = computed(() => router2.resolve(unref(props.to)));\n const activeRecordIndex = computed(() => {\n const { matched } = route.value;\n const { length } = matched;\n const routeMatched = matched[length - 1];\n const currentMatched = currentRoute.matched;\n if (!routeMatched || !currentMatched.length)\n return -1;\n const index2 = currentMatched.findIndex(isSameRouteRecord.bind(null, routeMatched));\n if (index2 > -1)\n return index2;\n const parentRecordPath = getOriginalPath(matched[length - 2]);\n return (\n // we are dealing with nested routes\n length > 1 && // if the parent and matched route have the same path, this link is\n // referring to the empty child. Or we currently are on a different\n // child of the same parent\n getOriginalPath(routeMatched) === parentRecordPath && // avoid comparing the child with its parent\n currentMatched[currentMatched.length - 1].path !== parentRecordPath ? currentMatched.findIndex(isSameRouteRecord.bind(null, matched[length - 2])) : index2\n );\n });\n const isActive = computed(() => activeRecordIndex.value > -1 && includesParams(currentRoute.params, route.value.params));\n const isExactActive = computed(() => activeRecordIndex.value > -1 && activeRecordIndex.value === currentRoute.matched.length - 1 && isSameRouteLocationParams(currentRoute.params, route.value.params));\n function navigate(e = {}) {\n if (guardEvent(e)) {\n return router2[unref(props.replace) ? \"replace\" : \"push\"](\n unref(props.to)\n // avoid uncaught errors are they are logged anyway\n ).catch(noop);\n }\n return Promise.resolve();\n }\n if ((process.env.NODE_ENV !== \"production\" || false) && isBrowser) {\n const instance = getCurrentInstance();\n if (instance) {\n const linkContextDevtools = {\n route: route.value,\n isActive: isActive.value,\n isExactActive: isExactActive.value\n };\n instance.__vrl_devtools = instance.__vrl_devtools || [];\n instance.__vrl_devtools.push(linkContextDevtools);\n watchEffect(() => {\n linkContextDevtools.route = route.value;\n linkContextDevtools.isActive = isActive.value;\n linkContextDevtools.isExactActive = isExactActive.value;\n }, { flush: \"post\" });\n }\n }\n return {\n route,\n href: computed(() => route.value.href),\n isActive,\n isExactActive,\n navigate\n };\n}\nconst RouterLinkImpl = /* @__PURE__ */ defineComponent({\n name: \"RouterLink\",\n compatConfig: { MODE: 3 },\n props: {\n to: {\n type: [String, Object],\n required: true\n },\n replace: Boolean,\n activeClass: String,\n // inactiveClass: String,\n exactActiveClass: String,\n custom: Boolean,\n ariaCurrentValue: {\n type: String,\n default: \"page\"\n }\n },\n useLink,\n setup(props, { slots }) {\n const link = reactive(useLink(props));\n const { options } = inject(routerKey);\n const elClass = computed(() => ({\n [getLinkClass(props.activeClass, options.linkActiveClass, \"router-link-active\")]: link.isActive,\n // [getLinkClass(\n // props.inactiveClass,\n // options.linkInactiveClass,\n // 'router-link-inactive'\n // )]: !link.isExactActive,\n [getLinkClass(props.exactActiveClass, options.linkExactActiveClass, \"router-link-exact-active\")]: link.isExactActive\n }));\n return () => {\n const children = slots.default && slots.default(link);\n return props.custom ? children : h$1(\"a\", {\n \"aria-current\": link.isExactActive ? props.ariaCurrentValue : null,\n href: link.href,\n // this would override user added attrs but Vue will still add\n // the listener, so we end up triggering both\n onClick: link.navigate,\n class: elClass.value\n }, children);\n };\n }\n});\nconst RouterLink = RouterLinkImpl;\nfunction guardEvent(e) {\n if (e.metaKey || e.altKey || e.ctrlKey || e.shiftKey)\n return;\n if (e.defaultPrevented)\n return;\n if (e.button !== void 0 && e.button !== 0)\n return;\n if (e.currentTarget && e.currentTarget.getAttribute) {\n const target = e.currentTarget.getAttribute(\"target\");\n if (/\\b_blank\\b/i.test(target))\n return;\n }\n if (e.preventDefault)\n e.preventDefault();\n return true;\n}\nfunction includesParams(outer, inner) {\n for (const key in inner) {\n const innerValue = inner[key];\n const outerValue = outer[key];\n if (typeof innerValue === \"string\") {\n if (innerValue !== outerValue)\n return false;\n } else {\n if (!isArray(outerValue) || outerValue.length !== innerValue.length || innerValue.some((value, i) => value !== outerValue[i]))\n return false;\n }\n }\n return true;\n}\nfunction getOriginalPath(record) {\n return record ? record.aliasOf ? record.aliasOf.path : record.path : \"\";\n}\nconst getLinkClass = (propClass, globalClass, defaultClass) => propClass != null ? propClass : globalClass != null ? globalClass : defaultClass;\nconst RouterViewImpl = /* @__PURE__ */ defineComponent({\n name: \"RouterView\",\n // #674 we manually inherit them\n inheritAttrs: false,\n props: {\n name: {\n type: String,\n default: \"default\"\n },\n route: Object\n },\n // Better compat for @vue/compat users\n // https://github.com/vuejs/router/issues/1315\n compatConfig: { MODE: 3 },\n setup(props, { attrs, slots }) {\n process.env.NODE_ENV !== \"production\" && warnDeprecatedUsage();\n const injectedRoute = inject(routerViewLocationKey);\n const routeToDisplay = computed(() => props.route || injectedRoute.value);\n const injectedDepth = inject(viewDepthKey, 0);\n const depth = computed(() => {\n let initialDepth = unref(injectedDepth);\n const { matched } = routeToDisplay.value;\n let matchedRoute;\n while ((matchedRoute = matched[initialDepth]) && !matchedRoute.components) {\n initialDepth++;\n }\n return initialDepth;\n });\n const matchedRouteRef = computed(() => routeToDisplay.value.matched[depth.value]);\n provide(viewDepthKey, computed(() => depth.value + 1));\n provide(matchedRouteKey, matchedRouteRef);\n provide(routerViewLocationKey, routeToDisplay);\n const viewRef = ref();\n watch(() => [viewRef.value, matchedRouteRef.value, props.name], ([instance, to, name], [oldInstance, from, oldName]) => {\n if (to) {\n to.instances[name] = instance;\n if (from && from !== to && instance && instance === oldInstance) {\n if (!to.leaveGuards.size) {\n to.leaveGuards = from.leaveGuards;\n }\n if (!to.updateGuards.size) {\n to.updateGuards = from.updateGuards;\n }\n }\n }\n if (instance && to && // if there is no instance but to and from are the same this might be\n // the first visit\n (!from || !isSameRouteRecord(to, from) || !oldInstance)) {\n (to.enterCallbacks[name] || []).forEach((callback) => callback(instance));\n }\n }, { flush: \"post\" });\n return () => {\n const route = routeToDisplay.value;\n const currentName = props.name;\n const matchedRoute = matchedRouteRef.value;\n const ViewComponent = matchedRoute && matchedRoute.components[currentName];\n if (!ViewComponent) {\n return normalizeSlot(slots.default, { Component: ViewComponent, route });\n }\n const routePropsOption = matchedRoute.props[currentName];\n const routeProps = routePropsOption ? routePropsOption === true ? route.params : typeof routePropsOption === \"function\" ? routePropsOption(route) : routePropsOption : null;\n const onVnodeUnmounted = (vnode) => {\n if (vnode.component.isUnmounted) {\n matchedRoute.instances[currentName] = null;\n }\n };\n const component = h$1(ViewComponent, assign({}, routeProps, attrs, {\n onVnodeUnmounted,\n ref: viewRef\n }));\n if ((process.env.NODE_ENV !== \"production\" || false) && isBrowser && component.ref) {\n const info = {\n depth: depth.value,\n name: matchedRoute.name,\n path: matchedRoute.path,\n meta: matchedRoute.meta\n };\n const internalInstances = isArray(component.ref) ? component.ref.map((r) => r.i) : [component.ref.i];\n internalInstances.forEach((instance) => {\n instance.__vrv_devtools = info;\n });\n }\n return (\n // pass the vnode to the slot as a prop.\n // h and <component :is=\"...\"> both accept vnodes\n normalizeSlot(slots.default, { Component: component, route }) || component\n );\n };\n }\n});\nfunction normalizeSlot(slot, data) {\n if (!slot)\n return null;\n const slotContent = slot(data);\n return slotContent.length === 1 ? slotContent[0] : slotContent;\n}\nconst RouterView = RouterViewImpl;\nfunction warnDeprecatedUsage() {\n const instance = getCurrentInstance();\n const parentName = instance.parent && instance.parent.type.name;\n const parentSubTreeType = instance.parent && instance.parent.subTree && instance.parent.subTree.type;\n if (parentName && (parentName === \"KeepAlive\" || parentName.includes(\"Transition\")) && typeof parentSubTreeType === \"object\" && parentSubTreeType.name === \"RouterView\") {\n const comp = parentName === \"KeepAlive\" ? \"keep-alive\" : \"transition\";\n warn(`<router-view> can no longer be used directly inside <transition> or <keep-alive>.\nUse slot props instead:\n\n<router-view v-slot=\"{ Component }\">\n <${comp}>\n <component :is=\"Component\" />\n </${comp}>\n</router-view>`);\n }\n}\nfunction formatRouteLocation(routeLocation, tooltip) {\n const copy = assign({}, routeLocation, {\n // remove variables that can contain vue instances\n matched: routeLocation.matched.map((matched) => omit(matched, [\"instances\", \"children\", \"aliasOf\"]))\n });\n return {\n _custom: {\n type: null,\n readOnly: true,\n display: routeLocation.fullPath,\n tooltip,\n value: copy\n }\n };\n}\nfunction formatDisplay(display) {\n return {\n _custom: {\n display\n }\n };\n}\nlet routerId = 0;\nfunction addDevtools(app, router2, matcher) {\n if (router2.__hasDevtools)\n return;\n router2.__hasDevtools = true;\n const id = routerId++;\n setupDevtoolsPlugin({\n id: \"org.vuejs.router\" + (id ? \".\" + id : \"\"),\n label: \"Vue Router\",\n packageName: \"vue-router\",\n homepage: \"https://router.vuejs.org\",\n logo: \"https://router.vuejs.org/logo.png\",\n componentStateTypes: [\"Routing\"],\n app\n }, (api) => {\n if (typeof api.now !== \"function\") {\n console.warn(\"[Vue Router]: 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.on.inspectComponent((payload, ctx) => {\n if (payload.instanceData) {\n payload.instanceData.state.push({\n type: \"Routing\",\n key: \"$route\",\n editable: false,\n value: formatRouteLocation(router2.currentRoute.value, \"Current Route\")\n });\n }\n });\n api.on.visitComponentTree(({ treeNode: node, componentInstance }) => {\n if (componentInstance.__vrv_devtools) {\n const info = componentInstance.__vrv_devtools;\n node.tags.push({\n label: (info.name ? `${info.name.toString()}: ` : \"\") + info.path,\n textColor: 0,\n tooltip: \"This component is rendered by <router-view>\",\n backgroundColor: PINK_500\n });\n }\n if (isArray(componentInstance.__vrl_devtools)) {\n componentInstance.__devtoolsApi = api;\n componentInstance.__vrl_devtools.forEach((devtoolsData) => {\n let backgroundColor = ORANGE_400;\n let tooltip = \"\";\n if (devtoolsData.isExactActive) {\n backgroundColor = LIME_500;\n tooltip = \"This is exactly active\";\n } else if (devtoolsData.isActive) {\n backgroundColor = BLUE_600;\n tooltip = \"This link is active\";\n }\n node.tags.push({\n label: devtoolsData.route.path,\n textColor: 0,\n tooltip,\n backgroundColor\n });\n });\n }\n });\n watch(router2.currentRoute, () => {\n refreshRoutesView();\n api.notifyComponentUpdate();\n api.sendInspectorTree(routerInspectorId);\n api.sendInspectorState(routerInspectorId);\n });\n const navigationsLayerId = \"router:navigations:\" + id;\n api.addTimelineLayer({\n id: navigationsLayerId,\n label: `Router${id ? \" \" + id : \"\"} Navigations`,\n color: 4237508\n });\n router2.onError((error, to) => {\n api.addTimelineEvent({\n layerId: navigationsLayerId,\n event: {\n title: \"Error during Navigation\",\n subtitle: to.fullPath,\n logType: \"error\",\n time: api.now(),\n data: { error },\n groupId: to.meta.__navigationId\n }\n });\n });\n let navigationId = 0;\n router2.beforeEach((to, from) => {\n const data = {\n guard: formatDisplay(\"beforeEach\"),\n from: formatRouteLocation(from, \"Current Location during this navigation\"),\n to: formatRouteLocation(to, \"Target location\")\n };\n Object.defineProperty(to.meta, \"__navigationId\", {\n value: navigationId++\n });\n api.addTimelineEvent({\n layerId: navigationsLayerId,\n event: {\n time: api.now(),\n title: \"Start of navigation\",\n subtitle: to.fullPath,\n data,\n groupId: to.meta.__navigationId\n }\n });\n });\n router2.afterEach((to, from, failure) => {\n const data = {\n guard: formatDisplay(\"afterEach\")\n };\n if (failure) {\n data.failure = {\n _custom: {\n type: Error,\n readOnly: true,\n display: failure ? failure.message : \"\",\n tooltip: \"Navigation Failure\",\n value: failure\n }\n };\n data.status = formatDisplay(\"❌\");\n } else {\n data.status = formatDisplay(\"✅\");\n }\n data.from = formatRouteLocation(from, \"Current Location during this navigation\");\n data.to = formatRouteLocation(to, \"Target location\");\n api.addTimelineEvent({\n layerId: navigationsLayerId,\n event: {\n title: \"End of navigation\",\n subtitle: to.fullPath,\n time: api.now(),\n data,\n logType: failure ? \"warning\" : \"default\",\n groupId: to.meta.__navigationId\n }\n });\n });\n const routerInspectorId = \"router-inspector:\" + id;\n api.addInspector({\n id: routerInspectorId,\n label: \"Routes\" + (id ? \" \" + id : \"\"),\n icon: \"book\",\n treeFilterPlaceholder: \"Search routes\"\n });\n function refreshRoutesView() {\n if (!activeRoutesPayload)\n return;\n const payload = activeRoutesPayload;\n let routes = matcher.getRoutes().filter((route) => !route.parent || // these routes have a parent with no component which will not appear in the view\n // therefore we still need to include them\n !route.parent.record.components);\n routes.forEach(resetMatchStateOnRouteRecord);\n if (payload.filter) {\n routes = routes.filter((route) => (\n // save matches state based on the payload\n isRouteMatching(route, payload.filter.toLowerCase())\n ));\n }\n routes.forEach((route) => markRouteRecordActive(route, router2.currentRoute.value));\n payload.rootNodes = routes.map(formatRouteRecordForInspector);\n }\n let activeRoutesPayload;\n api.on.getInspectorTree((payload) => {\n activeRoutesPayload = payload;\n if (payload.app === app && payload.inspectorId === routerInspectorId) {\n refreshRoutesView();\n }\n });\n api.on.getInspectorState((payload) => {\n if (payload.app === app && payload.inspectorId === routerInspectorId) {\n const routes = matcher.getRoutes();\n const route = routes.find((route2) => route2.record.__vd_id === payload.nodeId);\n if (route) {\n payload.state = {\n options: formatRouteRecordMatcherForStateInspector(route)\n };\n }\n }\n });\n api.sendInspectorTree(routerInspectorId);\n api.sendInspectorState(routerInspectorId);\n });\n}\nfunction modifierForKey(key) {\n if (key.optional) {\n return key.repeatable ? \"*\" : \"?\";\n } else {\n return key.repeatable ? \"+\" : \"\";\n }\n}\nfunction formatRouteRecordMatcherForStateInspector(route) {\n const { record } = route;\n const fields = [\n { editable: false, key: \"path\", value: record.path }\n ];\n if (record.name != null) {\n fields.push({\n editable: false,\n key: \"name\",\n value: record.name\n });\n }\n fields.push({ editable: false, key: \"regexp\", value: route.re });\n if (route.keys.length) {\n fields.push({\n editable: false,\n key: \"keys\",\n value: {\n _custom: {\n type: null,\n readOnly: true,\n display: route.keys.map((key) => `${key.name}${modifierForKey(key)}`).join(\" \"),\n tooltip: \"Param keys\",\n value: route.keys\n }\n }\n });\n }\n if (record.redirect != null) {\n fields.push({\n editable: false,\n key: \"redirect\",\n value: record.redirect\n });\n }\n if (route.alias.length) {\n fields.push({\n editable: false,\n key: \"aliases\",\n value: route.alias.map((alias) => alias.record.path)\n });\n }\n if (Object.keys(route.record.meta).length) {\n fields.push({\n editable: false,\n key: \"meta\",\n value: route.record.meta\n });\n }\n fields.push({\n key: \"score\",\n editable: false,\n value: {\n _custom: {\n type: null,\n readOnly: true,\n display: route.score.map((score) => score.join(\", \")).join(\" | \"),\n tooltip: \"Score used to sort routes\",\n value: route.score\n }\n }\n });\n return fields;\n}\nconst PINK_500 = 15485081;\nconst BLUE_600 = 2450411;\nconst LIME_500 = 8702998;\nconst CYAN_400 = 2282478;\nconst ORANGE_400 = 16486972;\nconst DARK = 6710886;\nfunction formatRouteRecordForInspector(route) {\n const tags = [];\n const { record } = route;\n if (record.name != null) {\n tags.push({\n label: String(record.name),\n textColor: 0,\n backgroundColor: CYAN_400\n });\n }\n if (record.aliasOf) {\n tags.push({\n label: \"alias\",\n textColor: 0,\n backgroundColor: ORANGE_400\n });\n }\n if (route.__vd_match) {\n tags.push({\n label: \"matches\",\n textColor: 0,\n backgroundColor: PINK_500\n });\n }\n if (route.__vd_exactActive) {\n tags.push({\n label: \"exact\",\n textColor: 0,\n backgroundColor: LIME_500\n });\n }\n if (route.__vd_active) {\n tags.push({\n label: \"active\",\n textColor: 0,\n backgroundColor: BLUE_600\n });\n }\n if (record.redirect) {\n tags.push({\n label: typeof record.redirect === \"string\" ? `redirect: ${record.redirect}` : \"redirects\",\n textColor: 16777215,\n backgroundColor: DARK\n });\n }\n let id = record.__vd_id;\n if (id == null) {\n id = String(routeRecordId++);\n record.__vd_id = id;\n }\n return {\n id,\n label: record.path,\n tags,\n children: route.children.map(formatRouteRecordForInspector)\n };\n}\nlet routeRecordId = 0;\nconst EXTRACT_REGEXP_RE = /^\\/(.*)\\/([a-z]*)$/;\nfunction markRouteRecordActive(route, currentRoute) {\n const isExactActive = currentRoute.matched.length && isSameRouteRecord(currentRoute.matched[currentRoute.matched.length - 1], route.record);\n route.__vd_exactActive = route.__vd_active = isExactActive;\n if (!isExactActive) {\n route.__vd_active = currentRoute.matched.some((match) => isSameRouteRecord(match, route.record));\n }\n route.children.forEach((childRoute) => markRouteRecordActive(childRoute, currentRoute));\n}\nfunction resetMatchStateOnRouteRecord(route) {\n route.__vd_match = false;\n route.children.forEach(resetMatchStateOnRouteRecord);\n}\nfunction isRouteMatching(route, filter) {\n const found = String(route.re).match(EXTRACT_REGEXP_RE);\n route.__vd_match = false;\n if (!found || found.length < 3) {\n return false;\n }\n const nonEndingRE = new RegExp(found[1].replace(/\\$$/, \"\"), found[2]);\n if (nonEndingRE.test(filter)) {\n route.children.forEach((child) => isRouteMatching(child, filter));\n if (route.record.path !== \"/\" || filter === \"/\") {\n route.__vd_match = route.re.test(filter);\n return true;\n }\n return false;\n }\n const path = route.record.path.toLowerCase();\n const decodedPath = decode(path);\n if (!filter.startsWith(\"/\") && (decodedPath.includes(filter) || path.includes(filter)))\n return true;\n if (decodedPath.startsWith(filter) || path.startsWith(filter))\n return true;\n if (route.record.name && String(route.record.name).includes(filter))\n return true;\n return route.children.some((child) => isRouteMatching(child, filter));\n}\nfunction omit(obj, keys) {\n const ret = {};\n for (const key in obj) {\n if (!keys.includes(key)) {\n ret[key] = obj[key];\n }\n }\n return ret;\n}\nfunction createRouter(options) {\n const matcher = createRouterMatcher(options.routes, options);\n const parseQuery$1 = options.parseQuery || parseQuery;\n const stringifyQuery$1 = options.stringifyQuery || stringifyQuery;\n const routerHistory = options.history;\n if (process.env.NODE_ENV !== \"production\" && !routerHistory)\n throw new Error('Provide the \"history\" option when calling \"createRouter()\": https://next.router.vuejs.org/api/#history.');\n const beforeGuards = useCallbacks();\n const beforeResolveGuards = useCallbacks();\n const afterGuards = useCallbacks();\n const currentRoute = shallowRef(START_LOCATION_NORMALIZED);\n let pendingLocation = START_LOCATION_NORMALIZED;\n if (isBrowser && options.scrollBehavior && \"scrollRestoration\" in history) {\n history.scrollRestoration = \"manual\";\n }\n const normalizeParams = applyToParams.bind(null, (paramValue) => \"\" + paramValue);\n const encodeParams = applyToParams.bind(null, encodeParam);\n const decodeParams = (\n // @ts-expect-error: intentionally avoid the type check\n applyToParams.bind(null, decode)\n );\n function addRoute(parentOrRoute, route) {\n let parent;\n let record;\n if (isRouteName(parentOrRoute)) {\n parent = matcher.getRecordMatcher(parentOrRoute);\n record = route;\n } else {\n record = parentOrRoute;\n }\n return matcher.addRoute(record, parent);\n }\n function removeRoute(name) {\n const recordMatcher = matcher.getRecordMatcher(name);\n if (recordMatcher) {\n matcher.removeRoute(recordMatcher);\n } else if (process.env.NODE_ENV !== \"production\") {\n warn(`Cannot remove non-existent route \"${String(name)}\"`);\n }\n }\n function getRoutes() {\n return matcher.getRoutes().map((routeMatcher) => routeMatcher.record);\n }\n function hasRoute(name) {\n return !!matcher.getRecordMatcher(name);\n }\n function resolve(rawLocation, currentLocation) {\n currentLocation = assign({}, currentLocation || currentRoute.value);\n if (typeof rawLocation === \"string\") {\n const locationNormalized = parseURL(parseQuery$1, rawLocation, currentLocation.path);\n const matchedRoute2 = matcher.resolve({ path: locationNormalized.path }, currentLocation);\n const href2 = routerHistory.createHref(locationNormalized.fullPath);\n if (process.env.NODE_ENV !== \"production\") {\n if (href2.startsWith(\"//\"))\n warn(`Location \"${rawLocation}\" resolved to \"${href2}\". A resolved location cannot start with multiple slashes.`);\n else if (!matchedRoute2.matched.length) {\n warn(`No match found for location with path \"${rawLocation}\"`);\n }\n }\n return assign(locationNormalized, matchedRoute2, {\n params: decodeParams(matchedRoute2.params),\n hash: decode(locationNormalized.hash),\n redirectedFrom: void 0,\n href: href2\n });\n }\n let matcherLocation;\n if (\"path\" in rawLocation) {\n if (process.env.NODE_ENV !== \"production\" && \"params\" in rawLocation && !(\"name\" in rawLocation) && // @ts-expect-error: the type is never\n Object.keys(rawLocation.params).length) {\n warn(`Path \"${rawLocation.path}\" was passed with params but they will be ignored. Use a named route alongside params instead.`);\n }\n matcherLocation = assign({}, rawLocation, {\n path: parseURL(parseQuery$1, rawLocation.path, currentLocation.path).path\n });\n } else {\n const targetParams = assign({}, rawLocation.params);\n for (const key in targetParams) {\n if (targetParams[key] == null) {\n delete targetParams[key];\n }\n }\n matcherLocation = assign({}, rawLocation, {\n params: encodeParams(targetParams)\n });\n currentLocation.params = encodeParams(currentLocation.params);\n }\n const matchedRoute = matcher.resolve(matcherLocation, currentLocation);\n const hash = rawLocation.hash || \"\";\n if (process.env.NODE_ENV !== \"production\" && hash && !hash.startsWith(\"#\")) {\n warn(`A \\`hash\\` should always start with the character \"#\". Replace \"${hash}\" with \"#${hash}\".`);\n }\n matchedRoute.params = normalizeParams(decodeParams(matchedRoute.params));\n const fullPath = stringifyURL(stringifyQuery$1, assign({}, rawLocation, {\n hash: encodeHash(hash),\n path: matchedRoute.path\n }));\n const href = routerHistory.createHref(fullPath);\n if (process.env.NODE_ENV !== \"production\") {\n if (href.startsWith(\"//\")) {\n warn(`Location \"${rawLocation}\" resolved to \"${href}\". A resolved location cannot start with multiple slashes.`);\n } else if (!matchedRoute.matched.length) {\n warn(`No match found for location with path \"${\"path\" in rawLocation ? rawLocation.path : rawLocation}\"`);\n }\n }\n return assign({\n fullPath,\n // keep the hash encoded so fullPath is effectively path + encodedQuery +\n // hash\n hash,\n query: (\n // if the user is using a custom query lib like qs, we might have\n // nested objects, so we keep the query as is, meaning it can contain\n // numbers at `$route.query`, but at the point, the user will have to\n // use their own type anyway.\n // https://github.com/vuejs/router/issues/328#issuecomment-649481567\n stringifyQuery$1 === stringifyQuery ? normalizeQuery(rawLocation.query) : rawLocation.query || {}\n )\n }, matchedRoute, {\n redirectedFrom: void 0,\n href\n });\n }\n function locationAsObject(to) {\n return typeof to === \"string\" ? parseURL(parseQuery$1, to, currentRoute.value.path) : assign({}, to);\n }\n function checkCanceledNavigation(to, from) {\n if (pendingLocation !== to) {\n return createRouterError(8, {\n from,\n to\n });\n }\n }\n function push(to) {\n return pushWithRedirect(to);\n }\n function replace(to) {\n return push(assign(locationAsObject(to), { replace: true }));\n }\n function handleRedirectRecord(to) {\n const lastMatched = to.matched[to.matched.length - 1];\n if (lastMatched && lastMatched.redirect) {\n const { redirect } = lastMatched;\n let newTargetLocation = typeof redirect === \"function\" ? redirect(to) : redirect;\n if (typeof newTargetLocation === \"string\") {\n newTargetLocation = newTargetLocation.includes(\"?\") || newTargetLocation.includes(\"#\") ? newTargetLocation = locationAsObject(newTargetLocation) : (\n // force empty params\n { path: newTargetLocation }\n );\n newTargetLocation.params = {};\n }\n if (process.env.NODE_ENV !== \"production\" && !(\"path\" in newTargetLocation) && !(\"name\" in newTargetLocation)) {\n warn(`Invalid redirect found:\n${JSON.stringify(newTargetLocation, null, 2)}\n when navigating to \"${to.fullPath}\". A redirect must contain a name or path. This will break in production.`);\n throw new Error(\"Invalid redirect\");\n }\n return assign({\n query: to.query,\n hash: to.hash,\n // avoid transferring params if the redirect has a path\n params: \"path\" in newTargetLocation ? {} : to.params\n }, newTargetLocation);\n }\n }\n function pushWithRedirect(to, redirectedFrom) {\n const targetLocation = pendingLocation = resolve(to);\n const from = currentRoute.value;\n const data = to.state;\n const force = to.force;\n const replace2 = to.replace === true;\n const shouldRedirect = handleRedirectRecord(targetLocation);\n if (shouldRedirect)\n return pushWithRedirect(\n assign(locationAsObject(shouldRedirect), {\n state: typeof shouldRedirect === \"object\" ? assign({}, data, shouldRedirect.state) : data,\n force,\n replace: replace2\n }),\n // keep original redirectedFrom if it exists\n redirectedFrom || targetLocation\n );\n const toLocation = targetLocation;\n toLocation.redirectedFrom = redirectedFrom;\n let failure;\n if (!force && isSameRouteLocation(stringifyQuery$1, from, targetLocation)) {\n failure = createRouterError(16, { to: toLocation, from });\n handleScroll(\n from,\n from,\n // this is a push, the only way for it to be triggered from a\n // history.listen is with a redirect, which makes it become a push\n true,\n // This cannot be the first navigation because the initial location\n // cannot be manually navigated to\n false\n );\n }\n return (failure ? Promise.resolve(failure) : navigate(toLocation, from)).catch((error) => isNavigationFailure(error) ? (\n // navigation redirects still mark the router as ready\n isNavigationFailure(\n error,\n 2\n /* ErrorTypes.NAVIGATION_GUARD_REDIRECT */\n ) ? error : markAsReady(error)\n ) : (\n // reject any unknown error\n triggerError(error, toLocation, from)\n )).then((failure2) => {\n if (failure2) {\n if (isNavigationFailure(\n failure2,\n 2\n /* ErrorTypes.NAVIGATION_GUARD_REDIRECT */\n )) {\n if (process.env.NODE_ENV !== \"production\" && // we are redirecting to the same location we were already at\n isSameRouteLocation(stringifyQuery$1, resolve(failure2.to), toLocation) && // and we have done it a couple of times\n redirectedFrom && // @ts-expect-error: added only in dev\n (redirectedFrom._count = redirectedFrom._count ? (\n // @ts-expect-error\n redirectedFrom._count + 1\n ) : 1) > 30) {\n warn(`Detected a possibly infinite redirection in a navigation guard when going from \"${from.fullPath}\" to \"${toLocation.fullPath}\". Aborting to avoid a Stack Overflow.\n Are you always returning a new location within a navigation guard? That would lead to this error. Only return when redirecting or aborting, that should fix this. This might break in production if not fixed.`);\n return Promise.reject(new Error(\"Infinite redirect in navigation guard\"));\n }\n return pushWithRedirect(\n // keep options\n assign({\n // preserve an existing replacement but allow the redirect to override it\n replace: replace2\n }, locationAsObject(failure2.to), {\n state: typeof failure2.to === \"object\" ? assign({}, data, failure2.to.state) : data,\n force\n }),\n // preserve the original redirectedFrom if any\n redirectedFrom || toLocation\n );\n }\n } else {\n failure2 = finalizeNavigation(toLocation, from, true, replace2, data);\n }\n triggerAfterEach(toLocation, from, failure2);\n return failure2;\n });\n }\n function checkCanceledNavigationAndReject(to, from) {\n const error = checkCanceledNavigation(to, from);\n return error ? Promise.reject(error) : Promise.resolve();\n }\n function runWithContext(fn) {\n const app = installedApps.values().next().value;\n return app && typeof app.runWithContext === \"function\" ? app.runWithContext(fn) : fn();\n }\n function navigate(to, from) {\n let guards;\n const [leavingRecords, updatingRecords, enteringRecords] = extractChangingRecords(to, from);\n guards = extractComponentsGuards(leavingRecords.reverse(), \"beforeRouteLeave\", to, from);\n for (const record of leavingRecords) {\n record.leaveGuards.forEach((guard) => {\n guards.push(guardToPromiseFn(guard, to, from));\n });\n }\n const canceledNavigationCheck = checkCanceledNavigationAndReject.bind(null, to, from);\n guards.push(canceledNavigationCheck);\n return runGuardQueue(guards).then(() => {\n guards = [];\n for (const guard of beforeGuards.list()) {\n guards.push(guardToPromiseFn(guard, to, from));\n }\n guards.push(canceledNavigationCheck);\n return runGuardQueue(guards);\n }).then(() => {\n guards = extractComponentsGuards(updatingRecords, \"beforeRouteUpdate\", to, from);\n for (const record of updatingRecords) {\n record.updateGuards.forEach((guard) => {\n guards.push(guardToPromiseFn(guard, to, from));\n });\n }\n guards.push(canceledNavigationCheck);\n return runGuardQueue(guards);\n }).then(() => {\n guards = [];\n for (const record of enteringRecords) {\n if (record.beforeEnter) {\n if (isArray(record.beforeEnter)) {\n for (const beforeEnter of record.beforeEnter)\n guards.push(guardToPromiseFn(beforeEnter, to, from));\n } else {\n guards.push(guardToPromiseFn(record.beforeEnter, to, from));\n }\n }\n }\n guards.push(canceledNavigationCheck);\n return runGuardQueue(guards);\n }).then(() => {\n to.matched.forEach((record) => record.enterCallbacks = {});\n guards = extractComponentsGuards(enteringRecords, \"beforeRouteEnter\", to, from);\n guards.push(canceledNavigationCheck);\n return runGuardQueue(guards);\n }).then(() => {\n guards = [];\n for (const guard of beforeResolveGuards.list()) {\n guards.push(guardToPromiseFn(guard, to, from));\n }\n guards.push(canceledNavigationCheck);\n return runGuardQueue(guards);\n }).catch((err) => isNavigationFailure(\n err,\n 8\n /* ErrorTypes.NAVIGATION_CANCELLED */\n ) ? err : Promise.reject(err));\n }\n function triggerAfterEach(to, from, failure) {\n afterGuards.list().forEach((guard) => runWithContext(() => guard(to, from, failure)));\n }\n function finalizeNavigation(toLocation, from, isPush, replace2, data) {\n const error = checkCanceledNavigation(toLocation, from);\n if (error)\n return error;\n const isFirstNavigation = from === START_LOCATION_NORMALIZED;\n const state = !isBrowser ? {} : history.state;\n if (isPush) {\n if (replace2 || isFirstNavigation)\n routerHistory.replace(toLocation.fullPath, assign({\n scroll: isFirstNavigation && state && state.scroll\n }, data));\n else\n routerHistory.push(toLocation.fullPath, data);\n }\n currentRoute.value = toLocation;\n handleScroll(toLocation, from, isPush, isFirstNavigation);\n markAsReady();\n }\n let removeHistoryListener;\n function setupListeners() {\n if (removeHistoryListener)\n return;\n removeHistoryListener = routerHistory.listen((to, _from, info) => {\n if (!router2.listening)\n return;\n const toLocation = resolve(to);\n const shouldRedirect = handleRedirectRecord(toLocation);\n if (shouldRedirect) {\n pushWithRedirect(assign(shouldRedirect, { replace: true }), toLocation).catch(noop);\n return;\n }\n pendingLocation = toLocation;\n const from = currentRoute.value;\n if (isBrowser) {\n saveScrollPosition(getScrollKey(from.fullPath, info.delta), computeScrollPosition());\n }\n navigate(toLocation, from).catch((error) => {\n if (isNavigationFailure(\n error,\n 4 | 8\n /* ErrorTypes.NAVIGATION_CANCELLED */\n )) {\n return error;\n }\n if (isNavigationFailure(\n error,\n 2\n /* ErrorTypes.NAVIGATION_GUARD_REDIRECT */\n )) {\n pushWithRedirect(\n error.to,\n toLocation\n // avoid an uncaught rejection, let push call triggerError\n ).then((failure) => {\n if (isNavigationFailure(\n failure,\n 4 | 16\n /* ErrorTypes.NAVIGATION_DUPLICATED */\n ) && !info.delta && info.type === NavigationType.pop) {\n routerHistory.go(-1, false);\n }\n }).catch(noop);\n return Promise.reject();\n }\n if (info.delta) {\n routerHistory.go(-info.delta, false);\n }\n return triggerError(error, toLocation, from);\n }).then((failure) => {\n failure = failure || finalizeNavigation(\n // after navigation, all matched components are resolved\n toLocation,\n from,\n false\n );\n if (failure) {\n if (info.delta && // a new navigation has been triggered, so we do not want to revert, that will change the current history\n // entry while a different route is displayed\n !isNavigationFailure(\n failure,\n 8\n /* ErrorTypes.NAVIGATION_CANCELLED */\n )) {\n routerHistory.go(-info.delta, false);\n } else if (info.type === NavigationType.pop && isNavigationFailure(\n failure,\n 4 | 16\n /* ErrorTypes.NAVIGATION_DUPLICATED */\n )) {\n routerHistory.go(-1, false);\n }\n }\n triggerAfterEach(toLocation, from, failure);\n }).catch(noop);\n });\n }\n let readyHandlers = useCallbacks();\n let errorListeners = useCallbacks();\n let ready;\n function triggerError(error, to, from) {\n markAsReady(error);\n const list = errorListeners.list();\n if (list.length) {\n list.forEach((handler) => handler(error, to, from));\n } else {\n if (process.env.NODE_ENV !== \"production\") {\n warn(\"uncaught error during route navigation:\");\n }\n console.error(error);\n }\n return Promise.reject(error);\n }\n function isReady() {\n if (ready && currentRoute.value !== START_LOCATION_NORMALIZED)\n return Promise.resolve();\n return new Promise((resolve2, reject) => {\n readyHandlers.add([resolve2, reject]);\n });\n }\n function markAsReady(err) {\n if (!ready) {\n ready = !err;\n setupListeners();\n readyHandlers.list().forEach(([resolve2, reject]) => err ? reject(err) : resolve2());\n readyHandlers.reset();\n }\n return err;\n }\n function handleScroll(to, from, isPush, isFirstNavigation) {\n const { scrollBehavior } = options;\n if (!isBrowser || !scrollBehavior)\n return Promise.resolve();\n const scrollPosition = !isPush && getSavedScrollPosition(getScrollKey(to.fullPath, 0)) || (isFirstNavigation || !isPush) && history.state && history.state.scroll || null;\n return nextTick().then(() => scrollBehavior(to, from, scrollPosition)).then((position) => position && scrollToPosition(position)).catch((err) => triggerError(err, to, from));\n }\n const go = (delta) => routerHistory.go(delta);\n let started;\n const installedApps = /* @__PURE__ */ new Set();\n const router2 = {\n currentRoute,\n listening: true,\n addRoute,\n removeRoute,\n hasRoute,\n getRoutes,\n resolve,\n options,\n push,\n replace,\n go,\n back: () => go(-1),\n forward: () => go(1),\n beforeEach: beforeGuards.add,\n beforeResolve: beforeResolveGuards.add,\n afterEach: afterGuards.add,\n onError: errorListeners.add,\n isReady,\n install(app) {\n const router22 = this;\n app.component(\"RouterLink\", RouterLink);\n app.component(\"RouterView\", RouterView);\n app.config.globalProperties.$router = router22;\n Object.defineProperty(app.config.globalProperties, \"$route\", {\n enumerable: true,\n get: () => unref(currentRoute)\n });\n if (isBrowser && // used for the initial navigation client side to avoid pushing\n // multiple times when the router is used in multiple apps\n !started && currentRoute.value === START_LOCATION_NORMALIZED) {\n started = true;\n push(routerHistory.location).catch((err) => {\n if (process.env.NODE_ENV !== \"production\")\n warn(\"Unexpected error when starting the router:\", err);\n });\n }\n const reactiveRoute = {};\n for (const key in START_LOCATION_NORMALIZED) {\n Object.defineProperty(reactiveRoute, key, {\n get: () => currentRoute.value[key],\n enumerable: true\n });\n }\n app.provide(routerKey, router22);\n app.provide(routeLocationKey, shallowReactive(reactiveRoute));\n app.provide(routerViewLocationKey, currentRoute);\n const unmountApp = app.unmount;\n installedApps.add(app);\n app.unmount = function() {\n installedApps.delete(app);\n if (installedApps.size < 1) {\n pendingLocation = START_LOCATION_NORMALIZED;\n removeHistoryListener && removeHistoryListener();\n removeHistoryListener = null;\n currentRoute.value = START_LOCATION_NORMALIZED;\n started = false;\n ready = false;\n }\n unmountApp();\n };\n if ((process.env.NODE_ENV !== \"production\" || false) && isBrowser) {\n addDevtools(app, router22, matcher);\n }\n }\n };\n function runGuardQueue(guards) {\n return guards.reduce((promise, guard) => promise.then(() => runWithContext(guard)), Promise.resolve());\n }\n return router2;\n}\nfunction extractChangingRecords(to, from) {\n const leavingRecords = [];\n const updatingRecords = [];\n const enteringRecords = [];\n const len = Math.max(from.matched.length, to.matched.length);\n for (let i = 0; i < len; i++) {\n const recordFrom = from.matched[i];\n if (recordFrom) {\n if (to.matched.find((record) => isSameRouteRecord(record, recordFrom)))\n updatingRecords.push(recordFrom);\n else\n leavingRecords.push(recordFrom);\n }\n const recordTo = to.matched[i];\n if (recordTo) {\n if (!from.matched.find((record) => isSameRouteRecord(record, recordTo))) {\n enteringRecords.push(recordTo);\n }\n }\n }\n return [leavingRecords, updatingRecords, enteringRecords];\n}\nconst router = createRouter({\n history: createWebHistory(),\n routes: []\n});\nfunction isPromise(obj) {\n return obj && typeof obj.then === \"function\";\n}\nPromise.resolve(false);\nPromise.resolve(true);\nvar PROMISE_RESOLVED_VOID = Promise.resolve();\nfunction sleep(time, resolveWith) {\n if (!time)\n time = 0;\n return new Promise(function(res) {\n return setTimeout(function() {\n return res(resolveWith);\n }, time);\n });\n}\nfunction randomInt(min, max) {\n return Math.floor(Math.random() * (max - min + 1) + min);\n}\nfunction randomToken() {\n return Math.random().toString(36).substring(2);\n}\nvar lastMs = 0;\nvar additional = 0;\nfunction microSeconds$4() {\n var ms = (/* @__PURE__ */ new Date()).getTime();\n if (ms === lastMs) {\n additional++;\n return ms * 1e3 + additional;\n } else {\n lastMs = ms;\n additional = 0;\n return ms * 1e3;\n }\n}\nvar microSeconds$3 = microSeconds$4;\nvar type$3 = \"native\";\nfunction create$3(channelName) {\n var state = {\n messagesCallback: null,\n bc: new BroadcastChannel(channelName),\n subFns: []\n // subscriberFunctions\n };\n state.bc.onmessage = function(msg) {\n if (state.messagesCallback) {\n state.messagesCallback(msg.data);\n }\n };\n return state;\n}\nfunction close$3(channelState) {\n channelState.bc.close();\n channelState.subFns = [];\n}\nfunction postMessage$3(channelState, messageJson) {\n try {\n channelState.bc.postMessage(messageJson, false);\n return PROMISE_RESOLVED_VOID;\n } catch (err) {\n return Promise.reject(err);\n }\n}\nfunction onMessage$3(channelState, fn) {\n channelState.messagesCallback = fn;\n}\nfunction canBeUsed$3() {\n if (typeof window === \"undefined\") {\n return false;\n }\n if (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 }\n return true;\n } else {\n return false;\n }\n}\nfunction averageResponseTime$3() {\n return 150;\n}\nvar NativeMethod = {\n create: create$3,\n close: close$3,\n onMessage: onMessage$3,\n postMessage: postMessage$3,\n canBeUsed: canBeUsed$3,\n type: type$3,\n averageResponseTime: averageResponseTime$3,\n microSeconds: microSeconds$3\n};\nvar ObliviousSet = (\n /** @class */\n function() {\n function ObliviousSet2(ttl) {\n this.ttl = ttl;\n this.map = /* @__PURE__ */ new Map();\n this._to = false;\n }\n ObliviousSet2.prototype.has = function(value) {\n return this.map.has(value);\n };\n ObliviousSet2.prototype.add = function(value) {\n var _this = this;\n this.map.set(value, now());\n if (!this._to) {\n this._to = true;\n setTimeout(function() {\n _this._to = false;\n removeTooOldValues(_this);\n }, 0);\n }\n };\n ObliviousSet2.prototype.clear = function() {\n this.map.clear();\n };\n return ObliviousSet2;\n }()\n);\nfunction removeTooOldValues(obliviousSet) {\n var olderThen = now() - obliviousSet.ttl;\n var iterator = obliviousSet.map[Symbol.iterator]();\n while (true) {\n var next = iterator.next().value;\n if (!next) {\n return;\n }\n var value = next[0];\n var time = next[1];\n if (time < olderThen) {\n obliviousSet.map.delete(value);\n } else {\n return;\n }\n }\n}\nfunction now() {\n return (/* @__PURE__ */ new Date()).getTime();\n}\nfunction fillOptionsWithDefaults() {\n var originalOptions = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};\n var options = JSON.parse(JSON.stringify(originalOptions));\n if (typeof options.webWorkerSupport === \"undefined\")\n options.webWorkerSupport = true;\n if (!options.idb)\n options.idb = {};\n if (!options.idb.ttl)\n options.idb.ttl = 1e3 * 45;\n if (!options.idb.fallbackInterval)\n options.idb.fallbackInterval = 150;\n if (originalOptions.idb && typeof originalOptions.idb.onclose === \"function\")\n options.idb.onclose = originalOptions.idb.onclose;\n if (!options.localstorage)\n options.localstorage = {};\n if (!options.localstorage.removeTimeout)\n options.localstorage.removeTimeout = 1e3 * 60;\n if (originalOptions.methods)\n options.methods = originalOptions.methods;\n if (!options.node)\n options.node = {};\n if (!options.node.ttl)\n options.node.ttl = 1e3 * 60 * 2;\n if (!options.node.maxParallelWrites)\n options.node.maxParallelWrites = 2048;\n if (typeof options.node.useFastPath === \"undefined\")\n options.node.useFastPath = true;\n return options;\n}\nvar microSeconds$2 = microSeconds$4;\nvar DB_PREFIX = \"pubkey.broadcast-channel-0-\";\nvar OBJECT_STORE_ID = \"messages\";\nvar TRANSACTION_SETTINGS = {\n durability: \"relaxed\"\n};\nvar type$2 = \"idb\";\nfunction getIdb() {\n if (typeof indexedDB !== \"undefined\")\n return indexedDB;\n if (typeof window !== \"undefined\") {\n if (typeof window.mozIndexedDB !== \"undefined\")\n return window.mozIndexedDB;\n if (typeof window.webkitIndexedDB !== \"undefined\")\n return window.webkitIndexedDB;\n if (typeof window.msIndexedDB !== \"undefined\")\n return window.msIndexedDB;\n }\n return false;\n}\nfunction commitIndexedDBTransaction(tx) {\n if (tx.commit) {\n tx.commit();\n }\n}\nfunction createDatabase(channelName) {\n var IndexedDB = getIdb();\n var dbName = DB_PREFIX + channelName;\n var openRequest = IndexedDB.open(dbName);\n openRequest.onupgradeneeded = function(ev) {\n var db = ev.target.result;\n db.createObjectStore(OBJECT_STORE_ID, {\n keyPath: \"id\",\n autoIncrement: true\n });\n };\n return new Promise(function(res, rej) {\n openRequest.onerror = function(ev) {\n return rej(ev);\n };\n openRequest.onsuccess = function() {\n res(openRequest.result);\n };\n });\n}\nfunction writeMessage(db, readerUuid, messageJson) {\n var time = (/* @__PURE__ */ new Date()).getTime();\n var writeObject = {\n uuid: readerUuid,\n time,\n data: messageJson\n };\n var tx = db.transaction([OBJECT_STORE_ID], \"readwrite\", TRANSACTION_SETTINGS);\n return new Promise(function(res, rej) {\n tx.oncomplete = function() {\n return res();\n };\n tx.onerror = function(ev) {\n return rej(ev);\n };\n var objectStore = tx.objectStore(OBJECT_STORE_ID);\n objectStore.add(writeObject);\n commitIndexedDBTransaction(tx);\n });\n}\nfunction getMessagesHigherThan(db, lastCursorId) {\n var tx = db.transaction(OBJECT_STORE_ID, \"readonly\", TRANSACTION_SETTINGS);\n var objectStore = tx.objectStore(OBJECT_STORE_ID);\n var ret = [];\n var keyRangeValue = IDBKeyRange.bound(lastCursorId + 1, Infinity);\n if (objectStore.getAll) {\n var getAllRequest = objectStore.getAll(keyRangeValue);\n return new Promise(function(res, rej) {\n getAllRequest.onerror = function(err) {\n return rej(err);\n };\n getAllRequest.onsuccess = function(e) {\n res(e.target.result);\n };\n });\n }\n function openCursor() {\n try {\n keyRangeValue = IDBKeyRange.bound(lastCursorId + 1, Infinity);\n return objectStore.openCursor(keyRangeValue);\n } catch (e) {\n return objectStore.openCursor();\n }\n }\n return new Promise(function(res, rej) {\n var openCursorRequest = openCursor();\n openCursorRequest.onerror = function(err) {\n return rej(err);\n };\n openCursorRequest.onsuccess = function(ev) {\n var cursor = ev.target.result;\n if (cursor) {\n if (cursor.value.id < lastCursorId + 1) {\n cursor[\"continue\"](lastCursorId + 1);\n } else {\n ret.push(cursor.value);\n cursor[\"continue\"]();\n }\n } else {\n commitIndexedDBTransaction(tx);\n res(ret);\n }\n };\n });\n}\nfunction removeMessagesById(channelState, ids) {\n if (channelState.closed) {\n return Promise.resolve([]);\n }\n var tx = channelState.db.transaction(OBJECT_STORE_ID, \"readwrite\", TRANSACTION_SETTINGS);\n var objectStore = tx.objectStore(OBJECT_STORE_ID);\n return Promise.all(ids.map(function(id) {\n var deleteRequest = objectStore[\"delete\"](id);\n return new Promise(function(res) {\n deleteRequest.onsuccess = function() {\n return res();\n };\n });\n }));\n}\nfunction getOldMessages(db, ttl) {\n var olderThen = (/* @__PURE__ */ new Date()).getTime() - ttl;\n var tx = db.transaction(OBJECT_STORE_ID, \"readonly\", TRANSACTION_SETTINGS);\n var objectStore = tx.objectStore(OBJECT_STORE_ID);\n var ret = [];\n return new Promise(function(res) {\n objectStore.openCursor().onsuccess = function(ev) {\n var cursor = ev.target.result;\n if (cursor) {\n var msgObk = cursor.value;\n if (msgObk.time < olderThen) {\n ret.push(msgObk);\n cursor[\"continue\"]();\n } else {\n commitIndexedDBTransaction(tx);\n res(ret);\n }\n } else {\n res(ret);\n }\n };\n });\n}\nfunction cleanOldMessages(channelState) {\n return getOldMessages(channelState.db, channelState.options.idb.ttl).then(function(tooOld) {\n return removeMessagesById(channelState, tooOld.map(function(msg) {\n return msg.id;\n }));\n });\n}\nfunction create$2(channelName, options) {\n options = fillOptionsWithDefaults(options);\n return createDatabase(channelName).then(function(db) {\n var state = {\n closed: false,\n lastCursorId: 0,\n channelName,\n options,\n uuid: randomToken(),\n /**\n * emittedMessagesIds\n * contains all messages that have been emitted before\n * @type {ObliviousSet}\n */\n eMIs: new ObliviousSet(options.idb.ttl * 2),\n // ensures we do not read messages in parallel\n writeBlockPromise: PROMISE_RESOLVED_VOID,\n messagesCallback: null,\n readQueuePromises: [],\n db\n };\n db.onclose = function() {\n state.closed = true;\n if (options.idb.onclose)\n options.idb.onclose();\n };\n _readLoop(state);\n return state;\n });\n}\nfunction _readLoop(state) {\n if (state.closed)\n return;\n readNewMessages(state).then(function() {\n return sleep(state.options.idb.fallbackInterval);\n }).then(function() {\n return _readLoop(state);\n });\n}\nfunction _filterMessage(msgObj, state) {\n if (msgObj.uuid === state.uuid)\n return false;\n if (state.eMIs.has(msgObj.id))\n return false;\n if (msgObj.data.time < state.messagesCallbackTime)\n return false;\n return true;\n}\nfunction readNewMessages(state) {\n if (state.closed)\n return PROMISE_RESOLVED_VOID;\n if (!state.messagesCallback)\n return PROMISE_RESOLVED_VOID;\n return getMessagesHigherThan(state.db, state.lastCursorId).then(function(newerMessages) {\n var useMessages = newerMessages.filter(function(msgObj) {\n return !!msgObj;\n }).map(function(msgObj) {\n if (msgObj.id > state.lastCursorId) {\n state.lastCursorId = msgObj.id;\n }\n return msgObj;\n }).filter(function(msgObj) {\n return _filterMessage(msgObj, state);\n }).sort(function(msgObjA, msgObjB) {\n return msgObjA.time - msgObjB.time;\n });\n useMessages.forEach(function(msgObj) {\n if (state.messagesCallback) {\n state.eMIs.add(msgObj.id);\n state.messagesCallback(msgObj.data);\n }\n });\n return PROMISE_RESOLVED_VOID;\n });\n}\nfunction close$2(channelState) {\n channelState.closed = true;\n channelState.db.close();\n}\nfunction postMessage$2(channelState, messageJson) {\n channelState.writeBlockPromise = channelState.writeBlockPromise.then(function() {\n return writeMessage(channelState.db, channelState.uuid, messageJson);\n }).then(function() {\n if (randomInt(0, 10) === 0) {\n cleanOldMessages(channelState);\n }\n });\n return channelState.writeBlockPromise;\n}\nfunction onMessage$2(channelState, fn, time) {\n channelState.messagesCallbackTime = time;\n channelState.messagesCallback = fn;\n readNewMessages(channelState);\n}\nfunction canBeUsed$2() {\n return !!getIdb();\n}\nfunction averageResponseTime$2(options) {\n return options.idb.fallbackInterval * 2;\n}\nvar IndexedDBMethod = {\n create: create$2,\n close: close$2,\n onMessage: onMessage$2,\n postMessage: postMessage$2,\n canBeUsed: canBeUsed$2,\n type: type$2,\n averageResponseTime: averageResponseTime$2,\n microSeconds: microSeconds$2\n};\nvar microSeconds$1 = microSeconds$4;\nvar KEY_PREFIX = \"pubkey.broadcastChannel-\";\nvar type$1 = \"localstorage\";\nfunction getLocalStorage() {\n var localStorage2;\n if (typeof window === \"undefined\")\n return null;\n try {\n localStorage2 = window.localStorage;\n localStorage2 = window[\"ie8-eventlistener/storage\"] || window.localStorage;\n } catch (e) {\n }\n return localStorage2;\n}\nfunction storageKey(channelName) {\n return KEY_PREFIX + channelName;\n}\nfunction postMessage$1(channelState, messageJson) {\n return new Promise(function(res) {\n sleep().then(function() {\n var key = storageKey(channelState.channelName);\n var writeObj = {\n token: randomToken(),\n time: (/* @__PURE__ */ new Date()).getTime(),\n data: messageJson,\n uuid: channelState.uuid\n };\n var value = JSON.stringify(writeObj);\n getLocalStorage().setItem(key, value);\n var ev = document.createEvent(\"Event\");\n ev.initEvent(\"storage\", true, true);\n ev.key = key;\n ev.newValue = value;\n window.dispatchEvent(ev);\n res();\n });\n });\n}\nfunction addStorageEventListener(channelName, fn) {\n var key = storageKey(channelName);\n var listener = function listener2(ev) {\n if (ev.key === key) {\n fn(JSON.parse(ev.newValue));\n }\n };\n window.addEventListener(\"storage\", listener);\n return listener;\n}\nfunction removeStorageEventListener(listener) {\n window.removeEventListener(\"storage\", listener);\n}\nfunction create$1(channelName, options) {\n options = fillOptionsWithDefaults(options);\n if (!canBeUsed$1()) {\n throw new Error(\"BroadcastChannel: localstorage cannot be used\");\n }\n var uuid = randomToken();\n var eMIs = new ObliviousSet(options.localstorage.removeTimeout);\n var state = {\n channelName,\n uuid,\n eMIs\n // emittedMessagesIds\n };\n state.listener = addStorageEventListener(channelName, function(msgObj) {\n if (!state.messagesCallback)\n return;\n if (msgObj.uuid === uuid)\n return;\n if (!msgObj.token || eMIs.has(msgObj.token))\n return;\n if (msgObj.data.time && msgObj.data.time < state.messagesCallbackTime)\n return;\n eMIs.add(msgObj.token);\n state.messagesCallback(msgObj.data);\n });\n return state;\n}\nfunction close$1(channelState) {\n removeStorageEventListener(channelState.listener);\n}\nfunction onMessage$1(channelState, fn, time) {\n channelState.messagesCallbackTime = time;\n channelState.messagesCallback = fn;\n}\nfunction canBeUsed$1() {\n var ls = getLocalStorage();\n if (!ls)\n return false;\n try {\n var key = \"__broadcastchannel_check\";\n ls.setItem(key, \"works\");\n ls.removeItem(key);\n } catch (e) {\n return false;\n }\n return true;\n}\nfunction averageResponseTime$1() {\n var defaultTime = 120;\n var userAgent = navigator.userAgent.toLowerCase();\n if (userAgent.includes(\"safari\") && !userAgent.includes(\"chrome\")) {\n return defaultTime * 2;\n }\n return defaultTime;\n}\nvar LocalstorageMethod = {\n create: create$1,\n close: close$1,\n onMessage: onMessage$1,\n postMessage: postMessage$1,\n canBeUsed: canBeUsed$1,\n type: type$1,\n averageResponseTime: averageResponseTime$1,\n microSeconds: microSeconds$1\n};\nvar microSeconds = microSeconds$4;\nvar type = \"simulate\";\nvar SIMULATE_CHANNELS = /* @__PURE__ */ new Set();\nfunction create(channelName) {\n var state = {\n name: channelName,\n messagesCallback: null\n };\n SIMULATE_CHANNELS.add(state);\n return state;\n}\nfunction close(channelState) {\n SIMULATE_CHANNELS[\"delete\"](channelState);\n}\nfunction postMessage(channelState, messageJson) {\n return new Promise(function(res) {\n return setTimeout(function() {\n var channelArray = Array.from(SIMULATE_CHANNELS);\n channelArray.filter(function(channel) {\n return channel.name === channelState.name;\n }).filter(function(channel) {\n return channel !== channelState;\n }).filter(function(channel) {\n return !!channel.messagesCallback;\n }).forEach(function(channel) {\n return channel.messagesCallback(messageJson);\n });\n res();\n }, 5);\n });\n}\nfunction onMessage(channelState, fn) {\n channelState.messagesCallback = fn;\n}\nfunction canBeUsed() {\n return true;\n}\nfunction averageResponseTime() {\n return 5;\n}\nvar SimulateMethod = {\n create,\n close,\n onMessage,\n postMessage,\n canBeUsed,\n type,\n averageResponseTime,\n microSeconds\n};\nvar METHODS = [\n NativeMethod,\n // fastest\n IndexedDBMethod,\n LocalstorageMethod\n];\nfunction chooseMethod(options) {\n var chooseMethods = [].concat(options.methods, METHODS).filter(Boolean);\n if (options.type) {\n if (options.type === \"simulate\") {\n return SimulateMethod;\n }\n var ret = chooseMethods.find(function(m2) {\n return m2.type === options.type;\n });\n if (!ret)\n throw new Error(\"method-type \" + options.type + \" not found\");\n else\n return ret;\n }\n if (!options.webWorkerSupport) {\n chooseMethods = chooseMethods.filter(function(m2) {\n return m2.type !== \"idb\";\n });\n }\n var useMethod = chooseMethods.find(function(method) {\n return method.canBeUsed();\n });\n if (!useMethod)\n throw new Error(\"No usable method found in \" + JSON.stringify(METHODS.map(function(m2) {\n return m2.type;\n })));\n else\n return useMethod;\n}\nvar OPEN_BROADCAST_CHANNELS = /* @__PURE__ */ new Set();\nvar lastId = 0;\nvar BroadcastChannel$1 = function BroadcastChannel2(name, options) {\n this.id = lastId++;\n OPEN_BROADCAST_CHANNELS.add(this);\n this.name = name;\n if (ENFORCED_OPTIONS) {\n options = ENFORCED_OPTIONS;\n }\n this.options = fillOptionsWithDefaults(options);\n this.method = chooseMethod(this.options);\n this._iL = false;\n this._onML = null;\n this._addEL = {\n message: [],\n internal: []\n };\n this._uMP = /* @__PURE__ */ new Set();\n this._befC = [];\n this._prepP = null;\n _prepareChannel(this);\n};\nBroadcastChannel$1._pubkey = true;\nvar ENFORCED_OPTIONS;\nBroadcastChannel$1.prototype = {\n postMessage: function postMessage2(msg) {\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(msg));\n }\n return _post(this, \"message\", msg);\n },\n postInternal: function postInternal(msg) {\n return _post(this, \"internal\", msg);\n },\n set onmessage(fn) {\n var time = this.method.microSeconds();\n var listenObj = {\n time,\n fn\n };\n _removeListenerObject(this, \"message\", this._onML);\n if (fn && typeof fn === \"function\") {\n this._onML = listenObj;\n _addListenerObject(this, \"message\", listenObj);\n } else {\n this._onML = null;\n }\n },\n addEventListener: function addEventListener(type2, fn) {\n var time = this.method.microSeconds();\n var listenObj = {\n time,\n fn\n };\n _addListenerObject(this, type2, listenObj);\n },\n removeEventListener: function removeEventListener(type2, fn) {\n var obj = this._addEL[type2].find(function(obj2) {\n return obj2.fn === fn;\n });\n _removeListenerObject(this, type2, obj);\n },\n close: function close2() {\n var _this = this;\n if (this.closed) {\n return;\n }\n OPEN_BROADCAST_CHANNELS[\"delete\"](this);\n this.closed = true;\n var awaitPrepare = this._prepP ? this._prepP : PROMISE_RESOLVED_VOID;\n this._onML = null;\n this._addEL.message = [];\n return awaitPrepare.then(function() {\n return Promise.all(Array.from(_this._uMP));\n }).then(function() {\n return Promise.all(_this._befC.map(function(fn) {\n return fn();\n }));\n }).then(function() {\n return _this.method.close(_this._state);\n });\n },\n get type() {\n return this.method.type;\n },\n get isClosed() {\n return this.closed;\n }\n};\nfunction _post(broadcastChannel, type2, msg) {\n var time = broadcastChannel.method.microSeconds();\n var msgObj = {\n time,\n type: type2,\n data: msg\n };\n var awaitPrepare = broadcastChannel._prepP ? broadcastChannel._prepP : PROMISE_RESOLVED_VOID;\n return awaitPrepare.then(function() {\n var sendPromise = broadcastChannel.method.postMessage(broadcastChannel._state, msgObj);\n broadcastChannel._uMP.add(sendPromise);\n sendPromise[\"catch\"]().then(function() {\n return broadcastChannel._uMP[\"delete\"](sendPromise);\n });\n return sendPromise;\n });\n}\nfunction _prepareChannel(channel) {\n var maybePromise = channel.method.create(channel.name, channel.options);\n if (isPromise(maybePromise)) {\n channel._prepP = maybePromise;\n maybePromise.then(function(s) {\n channel._state = s;\n });\n } else {\n channel._state = maybePromise;\n }\n}\nfunction _hasMessageListeners(channel) {\n if (channel._addEL.message.length > 0)\n return true;\n if (channel._addEL.internal.length > 0)\n return true;\n return false;\n}\nfunction _addListenerObject(channel, type2, obj) {\n channel._addEL[type2].push(obj);\n _startListening(channel);\n}\nfunction _removeListenerObject(channel, type2, obj) {\n channel._addEL[type2] = channel._addEL[type2].filter(function(o) {\n return o !== obj;\n });\n _stopListening(channel);\n}\nfunction _startListening(channel) {\n if (!channel._iL && _hasMessageListeners(channel)) {\n var listenerFn = function listenerFn2(msgObj) {\n channel._addEL[msgObj.type].forEach(function(listenerObject) {\n var hundredMsInMicro = 100 * 1e3;\n var minMessageTime = listenerObject.time - hundredMsInMicro;\n if (msgObj.time >= minMessageTime) {\n listenerObject.fn(msgObj.data);\n }\n });\n };\n var time = channel.method.microSeconds();\n if (channel._prepP) {\n channel._prepP.then(function() {\n channel._iL = true;\n channel.method.onMessage(channel._state, listenerFn, time);\n });\n } else {\n channel._iL = true;\n channel.method.onMessage(channel._state, listenerFn, time);\n }\n }\n}\nfunction _stopListening(channel) {\n if (channel._iL && !_hasMessageListeners(channel)) {\n channel._iL = false;\n var time = channel.method.microSeconds();\n channel.method.onMessage(channel._state, null, time);\n }\n}\nclass DevalueError extends Error {\n /**\n * @param {string} message\n * @param {string[]} keys\n */\n constructor(message, keys) {\n super(message);\n this.name = \"DevalueError\";\n this.path = keys.join(\"\");\n }\n}\nfunction is_primitive(thing) {\n return Object(thing) !== thing;\n}\nconst object_proto_names = /* @__PURE__ */ Object.getOwnPropertyNames(\n Object.prototype\n).sort().join(\"\\0\");\nfunction is_plain_object(thing) {\n const proto = Object.getPrototypeOf(thing);\n return proto === Object.prototype || proto === null || Object.getOwnPropertyNames(proto).sort().join(\"\\0\") === object_proto_names;\n}\nfunction get_type(thing) {\n return Object.prototype.toString.call(thing).slice(8, -1);\n}\nfunction get_escaped_char(char) {\n switch (char) {\n case '\"':\n return '\\\\\"';\n case \"<\":\n return \"\\\\u003C\";\n case \"\\\\\":\n return \"\\\\\\\\\";\n case \"\\n\":\n return \"\\\\n\";\n case \"\\r\":\n return \"\\\\r\";\n case \"\t\":\n return \"\\\\t\";\n case \"\\b\":\n return \"\\\\b\";\n case \"\\f\":\n return \"\\\\f\";\n case \"\\u2028\":\n return \"\\\\u2028\";\n case \"\\u2029\":\n return \"\\\\u2029\";\n default:\n return char < \" \" ? `\\\\u${char.charCodeAt(0).toString(16).padStart(4, \"0\")}` : \"\";\n }\n}\nfunction stringify_string(str) {\n let result = \"\";\n let last_pos = 0;\n const len = str.length;\n for (let i = 0; i < len; i += 1) {\n const char = str[i];\n const replacement = get_escaped_char(char);\n if (replacement) {\n result += str.slice(last_pos, i) + replacement;\n last_pos = i + 1;\n }\n }\n return `\"${last_pos === 0 ? str : result + str.slice(last_pos)}\"`;\n}\nconst UNDEFINED = -1;\nconst HOLE = -2;\nconst NAN = -3;\nconst POSITIVE_INFINITY = -4;\nconst NEGATIVE_INFINITY = -5;\nconst NEGATIVE_ZERO = -6;\nfunction parse(serialized, revivers) {\n return unflatten(JSON.parse(serialized), revivers);\n}\nfunction unflatten(parsed, revivers) {\n if (typeof parsed === \"number\")\n return hydrate(parsed, true);\n if (!Array.isArray(parsed) || parsed.length === 0) {\n throw new Error(\"Invalid input\");\n }\n const values = (\n /** @type {any[]} */\n parsed\n );\n const hydrated = Array(values.length);\n function hydrate(index2, standalone = false) {\n if (index2 === UNDEFINED)\n return void 0;\n if (index2 === NAN)\n return NaN;\n if (index2 === POSITIVE_INFINITY)\n return Infinity;\n if (index2 === NEGATIVE_INFINITY)\n return -Infinity;\n if (index2 === NEGATIVE_ZERO)\n return -0;\n if (standalone)\n throw new Error(`Invalid input`);\n if (index2 in hydrated)\n return hydrated[index2];\n const value = values[index2];\n if (!value || typeof value !== \"object\") {\n hydrated[index2] = value;\n } else if (Array.isArray(value)) {\n if (typeof value[0] === \"string\") {\n const type2 = value[0];\n const reviver = revivers == null ? void 0 : revivers[type2];\n if (reviver) {\n return hydrated[index2] = reviver(hydrate(value[1]));\n }\n switch (type2) {\n case \"Date\":\n hydrated[index2] = new Date(value[1]);\n break;\n case \"Set\":\n const set2 = /* @__PURE__ */ new Set();\n hydrated[index2] = set2;\n for (let i = 1; i < value.length; i += 1) {\n set2.add(hydrate(value[i]));\n }\n break;\n case \"Map\":\n const map = /* @__PURE__ */ new Map();\n hydrated[index2] = map;\n for (let i = 1; i < value.length; i += 2) {\n map.set(hydrate(value[i]), hydrate(value[i + 1]));\n }\n break;\n case \"RegExp\":\n hydrated[index2] = new RegExp(value[1], value[2]);\n break;\n case \"Object\":\n hydrated[index2] = Object(value[1]);\n break;\n case \"BigInt\":\n hydrated[index2] = BigInt(value[1]);\n break;\n case \"null\":\n const obj = /* @__PURE__ */ Object.create(null);\n hydrated[index2] = obj;\n for (let i = 1; i < value.length; i += 2) {\n obj[value[i]] = hydrate(value[i + 1]);\n }\n break;\n default:\n throw new Error(`Unknown type ${type2}`);\n }\n } else {\n const array = new Array(value.length);\n hydrated[index2] = array;\n for (let i = 0; i < value.length; i += 1) {\n const n = value[i];\n if (n === HOLE)\n continue;\n array[i] = hydrate(n);\n }\n }\n } else {\n const object = {};\n hydrated[index2] = object;\n for (const key in value) {\n const n = value[key];\n object[key] = hydrate(n);\n }\n }\n return hydrated[index2];\n }\n return hydrate(0);\n}\nfunction stringify(value, reducers) {\n const stringified = [];\n const indexes = /* @__PURE__ */ new Map();\n const custom = [];\n for (const key in reducers) {\n custom.push({ key, fn: reducers[key] });\n }\n const keys = [];\n let p = 0;\n function flatten(thing) {\n if (typeof thing === \"function\") {\n throw new DevalueError(`Cannot stringify a function`, keys);\n }\n if (indexes.has(thing))\n return indexes.get(thing);\n if (thing === void 0)\n return UNDEFINED;\n if (Number.isNaN(thing))\n return NAN;\n if (thing === Infinity)\n return POSITIVE_INFINITY;\n if (thing === -Infinity)\n return NEGATIVE_INFINITY;\n if (thing === 0 && 1 / thing < 0)\n return NEGATIVE_ZERO;\n const index3 = p++;\n indexes.set(thing, index3);\n for (const { key, fn } of custom) {\n const value2 = fn(thing);\n if (value2) {\n stringified[index3] = `[\"${key}\",${flatten(value2)}]`;\n return index3;\n }\n }\n let str = \"\";\n if (is_primitive(thing)) {\n str = stringify_primitive(thing);\n } else {\n const type2 = get_type(thing);\n switch (type2) {\n case \"Number\":\n case \"String\":\n case \"Boolean\":\n str = `[\"Object\",${stringify_primitive(thing)}]`;\n break;\n case \"BigInt\":\n str = `[\"BigInt\",${thing}]`;\n break;\n case \"Date\":\n str = `[\"Date\",\"${thing.toISOString()}\"]`;\n break;\n case \"RegExp\":\n const { source, flags } = thing;\n str = flags ? `[\"RegExp\",${stringify_string(source)},\"${flags}\"]` : `[\"RegExp\",${stringify_string(source)}]`;\n break;\n case \"Array\":\n str = \"[\";\n for (let i = 0; i < thing.length; i += 1) {\n if (i > 0)\n str += \",\";\n if (i in thing) {\n keys.push(`[${i}]`);\n str += flatten(thing[i]);\n keys.pop();\n } else {\n str += HOLE;\n }\n }\n str += \"]\";\n break;\n case \"Set\":\n str = '[\"Set\"';\n for (const value2 of thing) {\n str += `,${flatten(value2)}`;\n }\n str += \"]\";\n break;\n case \"Map\":\n str = '[\"Map\"';\n for (const [key, value2] of thing) {\n keys.push(\n `.get(${is_primitive(key) ? stringify_primitive(key) : \"...\"})`\n );\n str += `,${flatten(key)},${flatten(value2)}`;\n }\n str += \"]\";\n break;\n default:\n if (!is_plain_object(thing)) {\n throw new DevalueError(\n `Cannot stringify arbitrary non-POJOs`,\n keys\n );\n }\n if (Object.getOwnPropertySymbols(thing).length > 0) {\n throw new DevalueError(\n `Cannot stringify POJOs with symbolic keys`,\n keys\n );\n }\n if (Object.getPrototypeOf(thing) === null) {\n str = '[\"null\"';\n for (const key in thing) {\n keys.push(`.${key}`);\n str += `,${stringify_string(key)},${flatten(thing[key])}`;\n keys.pop();\n }\n str += \"]\";\n } else {\n str = \"{\";\n let started = false;\n for (const key in thing) {\n if (started)\n str += \",\";\n started = true;\n keys.push(`.${key}`);\n str += `${stringify_string(key)}:${flatten(thing[key])}`;\n keys.pop();\n }\n str += \"}\";\n }\n }\n }\n stringified[index3] = str;\n return index3;\n }\n const index2 = flatten(value);\n if (index2 < 0)\n return `${index2}`;\n return `[${stringified.join(\",\")}]`;\n}\nfunction stringify_primitive(thing) {\n const type2 = typeof thing;\n if (type2 === \"string\")\n return stringify_string(thing);\n if (thing instanceof String)\n return stringify_string(thing.toString());\n if (thing === void 0)\n return UNDEFINED.toString();\n if (thing === 0 && 1 / thing < 0)\n return NEGATIVE_ZERO.toString();\n if (type2 === \"bigint\")\n return `[\"BigInt\",\"${thing}\"]`;\n return String(thing);\n}\nfunction m(t, a, { initialize: d, type: r }) {\n let o = `${a.$id}-${t.toString()}`, n = new BroadcastChannel$1(o, { type: r }), l = false, e = 0;\n watch(() => a[t], (i) => {\n l || (e = Date.now(), n.postMessage({ timestamp: e, state: parse(stringify(i)) })), l = false;\n }, { deep: true }), n.onmessage = (i) => {\n if (i === void 0) {\n n.postMessage({ timestamp: e, state: parse(stringify(a[t])) });\n return;\n }\n i.timestamp <= e || (l = true, e = i.timestamp, a[t] = i.state);\n };\n let u = () => n.postMessage(void 0), p = () => n.close();\n return d && u(), { sync: u, unshare: p };\n}\nvar h = (t, a) => Object.keys(a).includes(t), g = ({ initialize: t = true, enable: a = true, type: d }) => ({ store: r, options: o }) => {\n var _a, _b;\n let n = ((_a = o == null ? void 0 : o.share) == null ? void 0 : _a.enable) ?? a, l = ((_b = o == null ? void 0 : o.share) == null ? void 0 : _b.omit) ?? [];\n !n || Object.keys(r.$state).forEach((e) => {\n var _a2;\n l.includes(e) || !h(e, r.$state) || m(e, r, { initialize: ((_a2 = o == null ? void 0 : o.share) == null ? void 0 : _a2.initialize) ?? t, type: d });\n });\n};\nconst pinia = createPinia();\npinia.use(\n g({\n enable: true,\n initialize: true\n })\n);\nconst index = {\n install: (app, options) => {\n const appRouter = (options == null ? void 0 : options.router) || router;\n const registry = new Registry(appRouter, options == null ? void 0 : options.getMeta);\n app.use(appRouter);\n app.use(pinia);\n app.provide(\"$registry\", registry);\n if (options == null ? void 0 : options.components) {\n for (const [tag, component] of Object.entries(options.components)) {\n app.component(tag, component);\n }\n }\n }\n};\nexport {\n DoctypeMeta,\n Registry,\n index as Stonecrop,\n useStonecrop\n};\n","<template>\n\t<AForm v-if=\"isReady\" class=\"aform-main\" v-model=\"schema\" />\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, watch } from 'vue'\nimport { useRoute } from 'vue-router'\n\nimport { AForm } from '@stonecrop/aform'\nimport type { SchemaTypes } from '@stonecrop/aform/types'\nimport { DoctypeMeta, useStonecrop } from '@stonecrop/stonecrop'\n\nconst { stonecrop, isReady } = useStonecrop()\nconst schema = ref<SchemaTypes[]>([])\n\nwatch(isReady, () => {\n\tif (isReady.value) {\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call\n\t\tlet newSchema: SchemaTypes[] = stonecrop.value.schema.schema.toArray()\n\t\tnewSchema.forEach((item, index) => {\n\t\t\tconst record = stonecrop.value.store.record\n\t\t\tconst fieldValue = record[item.fieldname]\n\t\t\tnewSchema[index].value = fieldValue\n\t\t})\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","import { onMounted as De, ref as x, watch as A, onBeforeUnmount as Te, computed as I, unref as d, getCurrentScope as we, onScopeDispose as ve, defineComponent as _, inject as F, openBlock as g, createElementBlock as b, createBlock as W, resolveDynamicComponent as ge, mergeProps as J, toDisplayString as L, Fragment as U, createElementVNode as T, renderSlot as E, createCommentVNode as V, withDirectives as q, vShow as ye, toRef as $e, readonly as Re, customRef as Le, reactive as S, renderList as G, normalizeStyle as j, createTextVNode as Oe, provide as Pe, nextTick as Me, createVNode as le, withCtx as re } from \"vue\";\nfunction He(t) {\n return we() ? (ve(t), !0) : !1;\n}\nfunction be(t) {\n return typeof t == \"function\" ? t() : d(t);\n}\nconst We = typeof window < \"u\" && typeof document < \"u\";\ntypeof WorkerGlobalScope < \"u\" && globalThis instanceof WorkerGlobalScope;\nconst je = Object.prototype.toString, Ne = (t) => je.call(t) === \"[object Object]\", Ue = () => {\n};\nfunction B(t) {\n var e;\n const n = be(t);\n return (e = n == null ? void 0 : n.$el) != null ? e : n;\n}\nconst K = We ? window : void 0;\nfunction Y(...t) {\n let e, n, o, i;\n if (typeof t[0] == \"string\" || Array.isArray(t[0]) ? ([n, o, i] = t, e = K) : [e, n, o, i] = t, !e)\n return Ue;\n Array.isArray(n) || (n = [n]), Array.isArray(o) || (o = [o]);\n const l = [], a = () => {\n l.forEach((m) => m()), l.length = 0;\n }, r = (m, f, c, p) => (m.addEventListener(f, c, p), () => m.removeEventListener(f, c, p)), s = A(\n () => [B(e), be(i)],\n ([m, f]) => {\n if (a(), !m)\n return;\n const c = Ne(f) ? { ...f } : f;\n l.push(\n ...n.flatMap((p) => o.map((v) => r(m, p, v, c)))\n );\n },\n { immediate: !0, flush: \"post\" }\n ), u = () => {\n s(), a();\n };\n return He(u), u;\n}\nfunction Ve(t = {}) {\n var e;\n const {\n window: n = K,\n deep: o = !0\n } = t, i = (e = t.document) != null ? e : n == null ? void 0 : n.document, l = () => {\n var s;\n let u = i == null ? void 0 : i.activeElement;\n if (o)\n for (; u != null && u.shadowRoot; )\n u = (s = u == null ? void 0 : u.shadowRoot) == null ? void 0 : s.activeElement;\n return u;\n }, a = x(), r = () => {\n a.value = l();\n };\n return n && (Y(n, \"blur\", (s) => {\n s.relatedTarget === null && r();\n }, !0), Y(n, \"focus\", r, !0)), r(), a;\n}\nfunction Be(t, e = {}) {\n const n = Ve(e), o = I(() => B(t));\n return { focused: I(() => o.value && n.value ? o.value.contains(n.value) : !1) };\n}\nfunction Fe(t, { window: e = K, scrollTarget: n } = {}) {\n const o = x(!1), i = () => {\n if (!e)\n return;\n const l = e.document, a = B(t);\n if (!a)\n o.value = !1;\n else {\n const r = a.getBoundingClientRect();\n o.value = r.top <= (e.innerHeight || l.documentElement.clientHeight) && r.left <= (e.innerWidth || l.documentElement.clientWidth) && r.bottom >= 0 && r.right >= 0;\n }\n };\n return A(\n () => B(t),\n () => i(),\n { immediate: !0, flush: \"post\" }\n ), e && Y(n || e, \"scroll\", i, {\n capture: !1,\n passive: !0\n }), o;\n}\nconst k = (t) => {\n let e = Fe(t).value;\n return e = e && t.offsetHeight > 0, e;\n}, C = (t) => t.tabIndex >= 0, ae = (t) => {\n const e = t.target;\n return Q(e);\n}, Q = (t) => {\n var e;\n let n;\n if (t instanceof HTMLTableCellElement) {\n const o = (e = t.parentElement) == null ? void 0 : e.previousElementSibling;\n if (o) {\n const i = Array.from(o.children)[t.cellIndex];\n i && (n = i);\n }\n } else if (t instanceof HTMLTableRowElement) {\n const o = t.previousElementSibling;\n o && (n = o);\n }\n return n && (!C(n) || !k(n)) ? Q(n) : n;\n}, ze = (t) => {\n var e;\n const n = t.target;\n let o;\n if (n instanceof HTMLTableCellElement) {\n const i = (e = n.parentElement) == null ? void 0 : e.parentElement;\n if (i) {\n const l = i.firstElementChild.children[n.cellIndex];\n l && (o = l);\n }\n } else if (n instanceof HTMLTableRowElement) {\n const i = n.parentElement;\n if (i) {\n const l = i.firstElementChild;\n l && (o = l);\n }\n }\n return o && (!C(o) || !k(o)) ? Z(o) : o;\n}, ie = (t) => {\n const e = t.target;\n return Z(e);\n}, Z = (t) => {\n var e;\n let n;\n if (t instanceof HTMLTableCellElement) {\n const o = (e = t.parentElement) == null ? void 0 : e.nextElementSibling;\n if (o) {\n const i = Array.from(o.children)[t.cellIndex];\n i && (n = i);\n }\n } else if (t instanceof HTMLTableRowElement) {\n const o = t.nextElementSibling;\n o && (n = o);\n }\n return n && (!C(n) || !k(n)) ? Z(n) : n;\n}, qe = (t) => {\n var e;\n const n = t.target;\n let o;\n if (n instanceof HTMLTableCellElement) {\n const i = (e = n.parentElement) == null ? void 0 : e.parentElement;\n if (i) {\n const l = i.lastElementChild.children[n.cellIndex];\n l && (o = l);\n }\n } else if (n instanceof HTMLTableRowElement) {\n const i = n.parentElement;\n if (i) {\n const l = i.lastElementChild;\n l && (o = l);\n }\n }\n return o && (!C(o) || !k(o)) ? Q(o) : o;\n}, se = (t) => {\n const e = t.target;\n return ee(e);\n}, ee = (t) => {\n var e;\n let n;\n if (t.previousElementSibling)\n n = t.previousElementSibling;\n else {\n const o = (e = t.parentElement) == null ? void 0 : e.previousElementSibling;\n n = o == null ? void 0 : o.lastElementChild;\n }\n return n && (!C(n) || !k(n)) ? ee(n) : n;\n}, de = (t) => {\n const e = t.target;\n return te(e);\n}, te = (t) => {\n var e;\n let n;\n if (t.nextElementSibling)\n n = t.nextElementSibling;\n else {\n const o = (e = t.parentElement) == null ? void 0 : e.nextElementSibling;\n n = o == null ? void 0 : o.firstElementChild;\n }\n return n && (!C(n) || !k(n)) ? te(n) : n;\n}, ce = (t) => {\n const e = t.target.parentElement.firstElementChild;\n return e && (!C(e) || !k(e)) ? te(e) : e;\n}, ue = (t) => {\n const e = t.target.parentElement.lastElementChild;\n return e && (!C(e) || !k(e)) ? ee(e) : e;\n}, P = [\"alt\", \"control\", \"shift\", \"meta\"], Ge = {\n ArrowUp: \"up\",\n ArrowDown: \"down\",\n ArrowLeft: \"left\",\n ArrowRight: \"right\"\n}, ne = {\n \"keydown.up\": (t) => {\n const e = ae(t);\n e && (t.preventDefault(), t.stopPropagation(), e.focus());\n },\n \"keydown.down\": (t) => {\n const e = ie(t);\n e && (t.preventDefault(), t.stopPropagation(), e.focus());\n },\n \"keydown.left\": (t) => {\n const e = se(t);\n t.preventDefault(), t.stopPropagation(), e && e.focus();\n },\n \"keydown.right\": (t) => {\n const e = de(t);\n t.preventDefault(), t.stopPropagation(), e && e.focus();\n },\n \"keydown.control.up\": (t) => {\n const e = ze(t);\n e && (t.preventDefault(), t.stopPropagation(), e.focus());\n },\n \"keydown.control.down\": (t) => {\n const e = qe(t);\n e && (t.preventDefault(), t.stopPropagation(), e.focus());\n },\n \"keydown.control.left\": (t) => {\n const e = ce(t);\n e && (t.preventDefault(), t.stopPropagation(), e.focus());\n },\n \"keydown.control.right\": (t) => {\n const e = ue(t);\n e && (t.preventDefault(), t.stopPropagation(), e.focus());\n },\n \"keydown.end\": (t) => {\n const e = ue(t);\n e && (t.preventDefault(), t.stopPropagation(), e.focus());\n },\n \"keydown.enter\": (t) => {\n if (t.target instanceof HTMLTableCellElement) {\n t.preventDefault(), t.stopPropagation();\n const e = ie(t);\n e && e.focus();\n }\n },\n \"keydown.shift.enter\": (t) => {\n if (t.target instanceof HTMLTableCellElement) {\n t.preventDefault(), t.stopPropagation();\n const e = ae(t);\n e && e.focus();\n }\n },\n \"keydown.home\": (t) => {\n const e = ce(t);\n e && (t.preventDefault(), t.stopPropagation(), e.focus());\n },\n \"keydown.tab\": (t) => {\n const e = de(t);\n e && (t.preventDefault(), t.stopPropagation(), e.focus());\n },\n \"keydown.shift.tab\": (t) => {\n const e = se(t);\n e && (t.preventDefault(), t.stopPropagation(), e.focus());\n }\n};\nfunction oe(t) {\n const e = (a) => {\n let r = null;\n return a.parent && (typeof a.parent == \"string\" ? r = document.querySelector(a.parent) : a.parent instanceof HTMLElement ? r = a.parent : r = a.parent.value), r;\n }, n = (a) => {\n const r = e(a);\n let s = [];\n if (typeof a.selectors == \"string\")\n s = r ? Array.from(r.querySelectorAll(a.selectors)) : Array.from(document.querySelectorAll(a.selectors));\n else if (Array.isArray(a.selectors))\n for (const u of a.selectors)\n u instanceof HTMLElement ? s.push(u) : s.push(u.$el);\n else if (a.selectors instanceof HTMLElement)\n s.push(a.selectors);\n else if (Array.isArray(a.selectors.value))\n for (const u of a.selectors.value)\n u instanceof HTMLElement ? s.push(u) : s.push(u.$el);\n else\n s.push(a.selectors.value);\n return s;\n }, o = (a) => {\n const r = e(a);\n let s = [];\n return a.selectors ? s = n(a) : r && (s = Array.from(r.children).filter((u) => C(u) && k(u))), s;\n }, i = (a) => (r) => {\n const s = Ge[r.key] || r.key.toLowerCase();\n if (P.includes(s))\n return;\n const u = a.handlers || ne;\n for (const m of Object.keys(u)) {\n const [f, ...c] = m.split(\".\");\n if (f === \"keydown\" && c.includes(s)) {\n const p = u[m], v = c.filter((w) => P.includes(w)), h = P.some((w) => {\n const O = w.charAt(0).toUpperCase() + w.slice(1);\n return r.getModifierState(O);\n });\n if (v.length > 0) {\n if (h) {\n for (const w of P)\n if (c.includes(w)) {\n const O = w.charAt(0).toUpperCase() + w.slice(1);\n r.getModifierState(O) && p(r);\n }\n }\n } else\n h || p(r);\n }\n }\n }, l = [];\n De(() => {\n for (const a of t) {\n const r = e(a), s = o(a), u = i(a), m = r ? [r] : s;\n for (const f of m) {\n const { focused: c } = Be(x(f)), p = A(c, (v) => {\n v ? f.addEventListener(\"keydown\", u) : f.removeEventListener(\"keydown\", u);\n });\n l.push(p);\n }\n }\n }), Te(() => {\n for (const a of l)\n a();\n });\n}\nconst Ye = [\"data-colindex\", \"data-rowindex\", \"data-editable\", \"contenteditable\", \"tabindex\"], Xe = { key: 1 }, xe = /* @__PURE__ */ _({\n __name: \"ACell\",\n props: {\n colIndex: {},\n rowIndex: {},\n tableid: {},\n addNavigation: { type: [Boolean, Object], default: !0 },\n tabIndex: { default: 0 }\n },\n setup(t) {\n var v;\n const e = t, n = F(e.tableid), o = x(null), i = x(\"\"), l = x(!1), a = I(() => {\n const h = n.cellData(e.colIndex, e.rowIndex);\n if (n.columns[e.colIndex].format) {\n const w = n.columns[e.colIndex].format;\n return typeof w == \"function\" ? w(h) : typeof w == \"string\" ? Function(`\"use strict\";return (${w})`)()(h) : h;\n } else\n return h;\n }), r = (h) => {\n if (n.columns[e.colIndex].mask, n.columns[e.colIndex].modalComponent) {\n const w = o.value.getBoundingClientRect();\n n.modal.visible = !0, n.modal.colIndex = e.colIndex, n.modal.rowIndex = e.rowIndex, n.modal.parent = o.value, n.modal.top = w.top + w.height, n.modal.left = w.left, n.modal.width = u.value, n.modal.component = n.columns[e.colIndex].modalComponent, n.modal.componentProps = n.columns[e.colIndex].modalComponentProps;\n }\n };\n if (e.addNavigation) {\n let h = {\n ...ne,\n \"keydown.f2\": r,\n \"keydown.alt.up\": r,\n \"keydown.alt.down\": r,\n \"keydown.alt.left\": r,\n \"keydown.alt.right\": r\n };\n typeof e.addNavigation == \"object\" && (h = {\n ...h,\n ...e.addNavigation\n }), oe([\n {\n selectors: o,\n handlers: h\n }\n ]);\n }\n const s = I(() => n.columns[e.colIndex].align || \"center\"), u = I(() => n.columns[e.colIndex].width || \"40ch\"), m = () => {\n o.value && (i.value = o.value.textContent);\n }, f = () => {\n o.value && o.value.textContent !== i.value && (i.value = o.value.textContent, o.value.dispatchEvent(new Event(\"change\")), l.value = !0, n.columns[e.colIndex].format || n.setCellData(e.rowIndex, e.colIndex, i.value));\n }, c = (h, w) => w && h === 0 && w > 0 ? `${w}ch` : \"inherit\", p = {\n textAlign: s.value,\n width: u.value,\n backgroundColor: l.value ? \"var(--cell-modified-color)\" : \"inherit\",\n fontWeight: l.value ? \"bold\" : \"inherit\",\n paddingLeft: c(e.colIndex, (v = n.display[e.rowIndex]) == null ? void 0 : v.indent)\n };\n return (h, w) => (g(), b(\"td\", {\n ref_key: \"cell\",\n ref: o,\n \"data-colindex\": h.colIndex,\n \"data-rowindex\": h.rowIndex,\n \"data-editable\": d(n).columns[h.colIndex].edit,\n contenteditable: d(n).columns[h.colIndex].edit,\n tabindex: h.tabIndex,\n spellcheck: !1,\n style: p,\n onFocus: m,\n onPaste: f,\n onBlur: f,\n onInput: f,\n onClick: r,\n onMousedown: r,\n class: \"atable__cell\"\n }, [\n d(n).columns[h.colIndex].cellComponent ? (g(), W(ge(d(n).columns[h.colIndex].cellComponent), J({\n key: 0,\n value: a.value\n }, d(n).columns[h.colIndex].cellComponentProps), null, 16, [\"value\"])) : (g(), b(\"span\", Xe, L(a.value), 1))\n ], 40, Ye));\n }\n}), Je = [\"tabindex\"], Ke = [\"tabindex\"], Qe = [\"colspan\"], Ze = /* @__PURE__ */ _({\n __name: \"AExpansionRow\",\n props: {\n row: {},\n rowIndex: {},\n tableid: {},\n tabIndex: { default: -1 },\n addNavigation: { type: [Boolean, Object] }\n },\n setup(t) {\n const e = t, n = F(e.tableid), o = x(null), i = x(null), l = I(() => n.display[e.rowIndex].expanded ? \"▼\" : \"►\");\n if (e.addNavigation) {\n const a = {\n \"keydown.control.g\": (r) => {\n r.stopPropagation(), r.preventDefault(), n.toggleRowExpand(e.rowIndex);\n }\n };\n typeof e.addNavigation == \"object\" && Object.assign(a, e.addNavigation), oe([\n {\n selectors: o,\n handlers: a\n }\n ]);\n }\n return (a, r) => (g(), b(U, null, [\n T(\"tr\", J(a.$attrs, {\n ref_key: \"rowEl\",\n ref: o,\n tabindex: a.tabIndex,\n class: \"expandable-row\"\n }), [\n T(\"td\", {\n tabIndex: -1,\n onClick: r[0] || (r[0] = (s) => d(n).toggleRowExpand(a.rowIndex)),\n class: \"row-index\"\n }, L(l.value), 1),\n E(a.$slots, \"row\")\n ], 16, Je),\n d(n).display[e.rowIndex].expanded ? (g(), b(\"tr\", {\n key: 0,\n ref_key: \"rowExpanded\",\n ref: i,\n tabindex: a.tabIndex,\n class: \"expanded-row\"\n }, [\n T(\"td\", {\n tabIndex: -1,\n colspan: d(n).columns.length + 1,\n class: \"expanded-row-content\"\n }, [\n E(a.$slots, \"content\")\n ], 8, Qe)\n ], 8, Ke)) : V(\"\", !0)\n ], 64));\n }\n}), et = [\"tabindex\"], tt = {\n key: 0,\n tabIndex: -1,\n class: \"list-index\"\n}, Ee = /* @__PURE__ */ _({\n __name: \"ARow\",\n props: {\n row: {},\n rowIndex: {},\n tableid: {},\n tabIndex: { default: -1 },\n addNavigation: { type: [Boolean, Object], default: !1 }\n },\n setup(t) {\n const e = t, n = F(e.tableid), o = x(null);\n n.numberedRowWidth.value;\n const i = I(() => n.config.view !== \"tree\" || n.display[e.rowIndex].isRoot || n.display[e.rowIndex].open), l = I(() => n.config.view !== \"tree\" ? \"\" : n.display[e.rowIndex].isRoot || n.display[e.rowIndex].isParent ? n.display[e.rowIndex].childrenOpen ? \"-\" : \"+\" : \"\"), a = (r) => {\n n.toggleRowExpand(r);\n };\n if (e.addNavigation) {\n let r = ne;\n typeof e.addNavigation == \"object\" && (r = {\n ...r,\n ...e.addNavigation\n }), oe([\n {\n selectors: o,\n handlers: r\n }\n ]);\n }\n return (r, s) => q((g(), b(\"tr\", {\n ref_key: \"rowEl\",\n ref: o,\n tabindex: r.tabIndex,\n class: \"table-row\"\n }, [\n E(r.$slots, \"index\", {}, () => [\n d(n).config.view === \"list\" ? (g(), b(\"td\", tt, L(r.rowIndex + 1), 1)) : d(n).config.view === \"tree\" ? (g(), b(\"td\", {\n key: 1,\n tabIndex: -1,\n class: \"tree-index\",\n onClick: s[0] || (s[0] = (u) => a(r.rowIndex))\n }, L(l.value), 1)) : V(\"\", !0)\n ]),\n E(r.$slots, \"default\")\n ], 8, et)), [\n [ye, i.value]\n ]);\n }\n});\nfunction Ie(t) {\n return we() ? (ve(t), !0) : !1;\n}\nfunction $(t) {\n return typeof t == \"function\" ? t() : d(t);\n}\nconst ke = typeof window < \"u\" && typeof document < \"u\";\ntypeof WorkerGlobalScope < \"u\" && globalThis instanceof WorkerGlobalScope;\nconst nt = Object.prototype.toString, ot = (t) => nt.call(t) === \"[object Object]\", R = () => {\n}, X = /* @__PURE__ */ lt();\nfunction lt() {\n var t, e;\n return ke && ((t = window == null ? void 0 : window.navigator) == null ? void 0 : t.userAgent) && (/iP(ad|hone|od)/.test(window.navigator.userAgent) || ((e = window == null ? void 0 : window.navigator) == null ? void 0 : e.maxTouchPoints) > 2 && /iPad|Macintosh/.test(window == null ? void 0 : window.navigator.userAgent));\n}\nconst fe = {\n mounted: \"mounted\",\n updated: \"updated\",\n unmounted: \"unmounted\"\n};\nfunction rt(...t) {\n if (t.length !== 1)\n return $e(...t);\n const e = t[0];\n return typeof e == \"function\" ? Re(Le(() => ({ get: e, set: R }))) : x(e);\n}\nfunction D(t) {\n var e;\n const n = $(t);\n return (e = n == null ? void 0 : n.$el) != null ? e : n;\n}\nconst Ce = ke ? window : void 0;\nfunction N(...t) {\n let e, n, o, i;\n if (typeof t[0] == \"string\" || Array.isArray(t[0]) ? ([n, o, i] = t, e = Ce) : [e, n, o, i] = t, !e)\n return R;\n Array.isArray(n) || (n = [n]), Array.isArray(o) || (o = [o]);\n const l = [], a = () => {\n l.forEach((m) => m()), l.length = 0;\n }, r = (m, f, c, p) => (m.addEventListener(f, c, p), () => m.removeEventListener(f, c, p)), s = A(\n () => [D(e), $(i)],\n ([m, f]) => {\n if (a(), !m)\n return;\n const c = ot(f) ? { ...f } : f;\n l.push(\n ...n.flatMap((p) => o.map((v) => r(m, p, v, c)))\n );\n },\n { immediate: !0, flush: \"post\" }\n ), u = () => {\n s(), a();\n };\n return Ie(u), u;\n}\nlet pe = !1;\nfunction me(t, e, n = {}) {\n const { window: o = Ce, ignore: i = [], capture: l = !0, detectIframe: a = !1 } = n;\n if (!o)\n return R;\n X && !pe && (pe = !0, Array.from(o.document.body.children).forEach((c) => c.addEventListener(\"click\", R)), o.document.documentElement.addEventListener(\"click\", R));\n let r = !0;\n const s = (c) => i.some((p) => {\n if (typeof p == \"string\")\n return Array.from(o.document.querySelectorAll(p)).some((v) => v === c.target || c.composedPath().includes(v));\n {\n const v = D(p);\n return v && (c.target === v || c.composedPath().includes(v));\n }\n }), m = [\n N(o, \"click\", (c) => {\n const p = D(t);\n if (!(!p || p === c.target || c.composedPath().includes(p))) {\n if (c.detail === 0 && (r = !s(c)), !r) {\n r = !0;\n return;\n }\n e(c);\n }\n }, { passive: !0, capture: l }),\n N(o, \"pointerdown\", (c) => {\n const p = D(t);\n r = !s(c) && !!(p && !c.composedPath().includes(p));\n }, { passive: !0 }),\n a && N(o, \"blur\", (c) => {\n setTimeout(() => {\n var p;\n const v = D(t);\n ((p = o.document.activeElement) == null ? void 0 : p.tagName) === \"IFRAME\" && !(v != null && v.contains(o.document.activeElement)) && e(c);\n }, 0);\n })\n ].filter(Boolean);\n return () => m.forEach((c) => c());\n}\nconst at = {\n [fe.mounted](t, e) {\n const n = !e.modifiers.bubble;\n if (typeof e.value == \"function\")\n t.__onClickOutside_stop = me(t, e.value, { capture: n });\n else {\n const [o, i] = e.value;\n t.__onClickOutside_stop = me(t, o, Object.assign({ capture: n }, i));\n }\n },\n [fe.unmounted](t) {\n t.__onClickOutside_stop();\n }\n};\nfunction z(t) {\n return typeof Window < \"u\" && t instanceof Window ? t.document.documentElement : typeof Document < \"u\" && t instanceof Document ? t.documentElement : t;\n}\nfunction Ae(t) {\n const e = window.getComputedStyle(t);\n if (e.overflowX === \"scroll\" || e.overflowY === \"scroll\" || e.overflowX === \"auto\" && t.clientWidth < t.scrollWidth || e.overflowY === \"auto\" && t.clientHeight < t.scrollHeight)\n return !0;\n {\n const n = t.parentNode;\n return !n || n.tagName === \"BODY\" ? !1 : Ae(n);\n }\n}\nfunction it(t) {\n const e = t || window.event, n = e.target;\n return Ae(n) ? !1 : e.touches.length > 1 ? !0 : (e.preventDefault && e.preventDefault(), !1);\n}\nconst M = /* @__PURE__ */ new WeakMap();\nfunction st(t, e = !1) {\n const n = x(e);\n let o = null;\n A(rt(t), (a) => {\n const r = z($(a));\n if (r) {\n const s = r;\n M.get(s) || M.set(s, s.style.overflow), n.value && (s.style.overflow = \"hidden\");\n }\n }, {\n immediate: !0\n });\n const i = () => {\n const a = z($(t));\n !a || n.value || (X && (o = N(\n a,\n \"touchmove\",\n (r) => {\n it(r);\n },\n { passive: !1 }\n )), a.style.overflow = \"hidden\", n.value = !0);\n }, l = () => {\n var a;\n const r = z($(t));\n !r || !n.value || (X && (o == null || o()), r.style.overflow = (a = M.get(r)) != null ? a : \"\", M.delete(r), n.value = !1);\n };\n return Ie(l), I({\n get() {\n return n.value;\n },\n set(a) {\n a ? i() : l();\n }\n });\n}\nfunction dt() {\n let t = !1;\n const e = x(!1);\n return (n, o) => {\n if (e.value = o.value, t)\n return;\n t = !0;\n const i = st(n, o.value);\n A(e, (l) => i.value = l);\n };\n}\ndt();\nlet H;\nconst ct = new Uint8Array(16);\nfunction ut() {\n if (!H && (H = typeof crypto < \"u\" && crypto.getRandomValues && crypto.getRandomValues.bind(crypto), !H))\n throw new Error(\"crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported\");\n return H(ct);\n}\nconst y = [];\nfor (let t = 0; t < 256; ++t)\n y.push((t + 256).toString(16).slice(1));\nfunction ft(t, e = 0) {\n return y[t[e + 0]] + y[t[e + 1]] + y[t[e + 2]] + y[t[e + 3]] + \"-\" + y[t[e + 4]] + y[t[e + 5]] + \"-\" + y[t[e + 6]] + y[t[e + 7]] + \"-\" + y[t[e + 8]] + y[t[e + 9]] + \"-\" + y[t[e + 10]] + y[t[e + 11]] + y[t[e + 12]] + y[t[e + 13]] + y[t[e + 14]] + y[t[e + 15]];\n}\nconst pt = typeof crypto < \"u\" && crypto.randomUUID && crypto.randomUUID.bind(crypto), he = {\n randomUUID: pt\n};\nfunction mt(t, e, n) {\n if (he.randomUUID && !e && !t)\n return he.randomUUID();\n t = t || {};\n const o = t.random || (t.rng || ut)();\n if (o[6] = o[6] & 15 | 64, o[8] = o[8] & 63 | 128, e) {\n n = n || 0;\n for (let i = 0; i < 16; ++i)\n e[n + i] = o[i];\n return e;\n }\n return ft(o);\n}\nclass ht {\n constructor(e, n, o, i, l, a) {\n this.id = e || mt(), this.rows = o, this.columns = S(n), this.config = S(i), this.table = l || S(this.createTableObject()), this.display = this.createDisplayObject(a), this.modal = S({ visible: !1 });\n }\n createTableObject() {\n const e = {};\n for (const [n, o] of this.columns.entries())\n for (const [i, l] of this.rows.entries())\n e[`${n}:${i}`] = l[o.name];\n return e;\n }\n createDisplayObject(e) {\n const n = [Object.assign({}, { modified: !1 })];\n if (e && \"0:0\" in e)\n return e;\n const o = /* @__PURE__ */ new Set();\n for (let i = this.rows.length - 1; i >= 0; i--) {\n const l = this.rows[i];\n l.parent && o.add(l.parent), n[i] = {\n childrenOpen: !1,\n expanded: !1,\n indent: l.indent || null,\n isParent: o.has(i),\n isRoot: l.parent === null || l.parent === void 0,\n modified: !1,\n open: l.parent === null || l.parent === void 0,\n parent: l.parent\n };\n }\n return S(n);\n }\n get zeroColumn() {\n return [\"list\", \"tree\", \"list-expansion\"].includes(this.config.view);\n }\n get numberedRowWidth() {\n return I(() => String(Math.ceil(this.rows.length / 100) + 1) + \"ch\");\n }\n cellData(e, n) {\n return this.table[`${e}:${n}`];\n }\n setCellData(e, n, o) {\n this.table[`${n}:${e}`] !== o && (this.display[e].modified = !0), this.table[`${n}:${e}`] = o;\n const i = this.columns[n];\n return this.rows[e][i.name] = o, this.table[`${n}:${e}`];\n }\n toggleRowExpand(e) {\n if (this.config.view === \"tree\") {\n this.display[e].childrenOpen = !this.display[e].childrenOpen;\n for (let n = this.rows.length - 1; n >= 0; n--)\n this.display[n].parent === e && (this.display[n].open = !this.display[n].open, this.display[n].childrenOpen && this.toggleRowExpand(n));\n } else\n this.config.view === \"list-expansion\" && (this.display[e].expanded = !this.display[e].expanded);\n }\n}\nconst wt = {\n key: 0,\n id: \"resizable\"\n}, vt = {\n class: \"atable-header-row\",\n tabindex: \"-1\"\n}, gt = {\n key: 0,\n id: \"header-index\"\n}, _e = /* @__PURE__ */ _({\n __name: \"ATableHeader\",\n props: {\n columns: {},\n config: {},\n tableid: {}\n },\n setup(t) {\n const n = F(t.tableid);\n n.numberedRowWidth.value;\n const o = (i) => ({\n minWidth: i.width || \"40ch\",\n textAlign: i.align || \"center\",\n width: n.config.fullWidth ? \"auto\" : null\n });\n return (i, l) => i.columns.length ? (g(), b(\"thead\", wt, [\n T(\"tr\", vt, [\n d(n).zeroColumn ? (g(), b(\"th\", gt)) : V(\"\", !0),\n (g(!0), b(U, null, G(i.columns, (a, r) => (g(), b(\"th\", {\n key: a.name,\n tabindex: \"-1\",\n style: j(o(a))\n }, [\n E(i.$slots, \"default\", {}, () => [\n Oe(L(a.label || String.fromCharCode(r + 97).toUpperCase()), 1)\n ])\n ], 4))), 128))\n ])\n ])) : V(\"\", !0);\n }\n}), Se = /* @__PURE__ */ _({\n __name: \"ATableModal\",\n props: {\n colIndex: {},\n rowIndex: {},\n tableid: {}\n },\n setup(t) {\n const e = (n) => {\n n.stopPropagation();\n };\n return (n, o) => (g(), b(\"div\", {\n ref: \"amodal\",\n class: \"amodal\",\n tabindex: \"-1\",\n onClick: e,\n onInput: e\n }, [\n E(n.$slots, \"default\")\n ], 544));\n }\n}), yt = /* @__PURE__ */ _({\n __name: \"ATable\",\n props: {\n id: {},\n modelValue: {},\n columns: {},\n rows: { default: () => [] },\n config: { default: () => new Object() },\n tableid: {}\n },\n emits: [\"update:modelValue\"],\n setup(t, { emit: e }) {\n const n = t, o = e;\n let i = n.modelValue ? n.modelValue : n.rows, l = new ht(n.id, n.columns, i, n.config);\n Pe(l.id, l), A(\n () => l.rows,\n (r) => {\n o(\"update:modelValue\", r);\n },\n { deep: !0 }\n );\n const a = (r) => {\n var s;\n r.target instanceof Node && (s = l.modal.parent) != null && s.contains(r.target) || l.modal.visible && (l.modal.visible = !1);\n };\n return window.addEventListener(\"keydown\", async (r) => {\n if (r.key === \"Escape\" && l.modal.visible) {\n l.modal.visible = !1;\n const s = l.modal.parent;\n s && (await Me(), s.focus());\n }\n }), (r, s) => q((g(), b(\"table\", {\n class: \"atable\",\n style: j({ width: d(l).config.fullWidth ? \"100%\" : \"auto\" })\n }, [\n E(r.$slots, \"header\", { data: d(l) }, () => [\n le(_e, {\n columns: d(l).columns,\n config: d(l).config,\n tableid: d(l).id\n }, null, 8, [\"columns\", \"config\", \"tableid\"])\n ]),\n T(\"tbody\", null, [\n E(r.$slots, \"body\", { data: d(l) }, () => [\n (g(!0), b(U, null, G(d(l).rows, (u, m) => (g(), W(Ee, {\n key: u.id,\n row: u,\n rowIndex: m,\n tableid: d(l).id\n }, {\n default: re(() => [\n (g(!0), b(U, null, G(d(l).columns, (f, c) => (g(), W(xe, {\n key: f.name,\n tableid: d(l).id,\n col: f,\n spellcheck: \"false\",\n rowIndex: m,\n colIndex: c + (d(l).zeroColumn ? 0 : -1),\n component: f.cellComponent,\n style: j({\n textAlign: (f == null ? void 0 : f.align) || \"center\",\n minWidth: (f == null ? void 0 : f.width) || \"40ch\",\n width: d(l).config.fullWidth ? \"auto\" : null\n })\n }, null, 8, [\"tableid\", \"col\", \"rowIndex\", \"colIndex\", \"component\", \"style\"]))), 128))\n ]),\n _: 2\n }, 1032, [\"row\", \"rowIndex\", \"tableid\"]))), 128))\n ])\n ]),\n E(r.$slots, \"footer\", { data: d(l) }),\n E(r.$slots, \"modal\", { data: d(l) }, () => [\n q(le(Se, {\n colIndex: d(l).modal.colIndex,\n rowIndex: d(l).modal.rowIndex,\n tableid: d(l).id,\n style: j({\n left: d(l).modal.left + \"px\",\n top: d(l).modal.top + \"px\",\n maxWidth: d(l).modal.width + \"px\"\n })\n }, {\n default: re(() => [\n (g(), W(ge(d(l).modal.component), J({\n key: `${d(l).modal.rowIndex}:${d(l).modal.colIndex}`,\n colIndex: d(l).modal.colIndex,\n rowIndex: d(l).modal.rowIndex,\n tableid: d(l).id\n }, d(l).modal.componentProps), null, 16, [\"colIndex\", \"rowIndex\", \"tableid\"]))\n ]),\n _: 1\n }, 8, [\"colIndex\", \"rowIndex\", \"tableid\", \"style\"]), [\n [ye, d(l).modal.visible]\n ])\n ])\n ], 4)), [\n [d(at), a]\n ]);\n }\n});\nfunction xt(t) {\n t.component(\"ACell\", xe), t.component(\"AExpansionRow\", Ze), t.component(\"ARow\", Ee), t.component(\"ATable\", yt), t.component(\"ATableHeader\", _e), t.component(\"ATableModal\", Se);\n}\nexport {\n xe as ACell,\n Ze as AExpansionRow,\n Ee as ARow,\n yt as ATable,\n _e as ATableHeader,\n Se as ATableModal,\n ht as TableDataStore,\n xt as install\n};\n//# sourceMappingURL=atable.js.map\n","<template>\n\t<ATable\n\t\tv-if=\"isReady\"\n\t\t:columns=\"stonecrop.schema.schema.toArray()\"\n\t\t:rows=\"stonecrop.store.records\"\n\t\t:config=\"config\" />\n</template>\n\n<script setup lang=\"ts\">\nimport { ATable } from '@stonecrop/atable'\nimport { useStonecrop } from '@stonecrop/stonecrop'\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, isReady } = useStonecrop()\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@click=\"navigateHome\"\n\t\t\t\t@keydown.enter=\"navigateHome\"\n\t\t\t\t:style=\"{ display: breadcrumbsVisibile ? 'block' : 'none' }\">\n\t\t\t\t<router-link to=\"/home\" tabindex=\"0\">\n\t\t\t\t\t<svg\n\t\t\t\t\t\tversion=\"1.1\"\n\t\t\t\t\t\tid=\"Capa_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@click=\"toggleSearch\"\n\t\t\t\t@keydown.enter=\"toggleSearch\"\n\t\t\t\t:style=\"{ display: breadcrumbsVisibile ? 'block' : 'none' }\">\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\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\t\tid=\"path2\" />\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\tv-model=\"searchText\"\n\t\t\t\t\t\tref=\"searchinput\"\n\t\t\t\t\t\t:style=\"{ display: searchVisibile ? 'block' : 'none' }\"\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\t\ttype=\"text\" />\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 } from 'vue'\n\nwithDefaults(\n\tdefineProps<{\n\t\tbreadcrumbs?: { title: string; to: string }[]\n\t}>(),\n\t{\n\t\tbreadcrumbs: () => [],\n\t}\n)\n\nconst breadcrumbsVisibile = ref(true)\nconst searchVisibile = ref(false)\nconst searchText = ref('')\nconst searchinput = ref<HTMLElement>(null)\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\tsearchinput.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 } 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\nexport default {\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"],"names":["props","__props","_elements","ref","isOpen","timeout","hover","closeClicked","onMounted","closeDropdowns","element","onHover","onHoverLeave","toggleDropdown","index","showDropdown","_cache","O","l","it","ct","E","m","r","a","i","d","s","H","v","g","q","F","K","be","ke","p","ce","NotImplementedError","message","Stonecrop","registry","store","schema","workflow","actions","doctype","doctypeRegistry","filters","data","id","action","initialState","action2","isVue2","set","target","key","val","del","getDevtoolsGlobalHook","getTarget","isProxyAvailable","HOOK_SETUP","HOOK_PLUGIN_SETTINGS_SET","supported","perf","isPerformanceSupported","_a","now$1","ApiProxy","plugin","hook","defaultSettings","item","localSettingsSaveId","currentSettings","raw","value","pluginId","_target","prop","args","resolve","setupDevtoolsPlugin","pluginDescriptor","setupFn","descriptor","enableProxy","proxy","activePinia","setActivePinia","pinia2","piniaSymbol","isPlainObject","o","MutationType","MutationType2","IS_CLIENT","USE_DEVTOOLS","_global","bom","blob","autoBom","download","url","name","opts","xhr","saveAs","corsEnabled","click","node","evt","_navigator","isMacOSWebView","downloadSaveAs","msSaveAs","fileSaverSaveAs","popup","force","isSafari","isChromeIOS","reader","toastMessage","type2","piniaMessage","isPinia","checkClipboardAccess","checkNotFocusedError","error","actionGlobalCopyState","actionGlobalPasteState","loadStoresState","actionGlobalSaveState","fileInput","getFileOpener","openFile","reject","files","file","actionGlobalOpenStateFile","result","text","state","storeState","formatDisplay$1","display","PINIA_ROOT_LABEL","PINIA_ROOT_ID","formatStoreForInspectorTree","formatStoreForInspectorState","storeNames","storeMap","storeId","store2","getters","getterName","formatEventData","events","event","formatMutationType","isTimelineActive","componentStateTypes","MUTATIONS_LAYER_ID","INSPECTOR_ID","assign$1","getStoreType","registerPiniaDevtools","app","api","nodeId","payload","ctx","piniaStores","toRaw","stores","inspectedStore","path","addStoreToDevtools","now2","after","onError","groupId","runningActionId","activeAction","watch","unref","newValue","oldValue","eventData","hotUpdate","markRaw","newStore","$dispose","patchActionForGrouping","actionNames","wrapWithProxy","storeActions","actionName","_actionId","trackedStore","retValue","devtoolsPlugin","options","originalHotUpdate","createPinia","scope","effectScope","_p","toBeInstalled","patchObject","newState","oldState","subPatch","targetValue","isRef","isReactive","noop$1","addSubscription","subscriptions","callback","detached","onCleanup","removeSubscription","idx","getCurrentScope","onScopeDispose","triggerSubscriptions","fallbackRunWithContext","fn","mergeReactiveObjects","patchToApply","skipHydrateSymbol","shouldHydrate","obj","assign$2","isComputed","createOptionsStore","hot","setup","localState","toRefs","computedGetters","computed","createSetupStore","$id","isOptionsStore","optionsForPlugin","$subscribeOptions","isListening","debuggerEvents","isSyncListening","actionSubscriptions","hotState","activeListener","$patch","partialStateOrMutator","subscriptionMutation","myListenerId","nextTick","$reset","$state","wrapAction","afterCallbackList","onErrorCallbackList","ret","_hmrPayload","partialStore","options2","stopWatcher","reactive","setupStore","toRef","actionValue","stateKey","newStateTarget","oldStateSource","getter","getterValue","nonEnumerable","extender","extensions","defineStore","idOrOptions","setupOptions","isSetupStore","useStore","hasContext","hasInjectionContext","inject","hotId","currentInstance","getCurrentInstance","vm","cache","useDataStore","records","record","useStonecrop","stonecrop","isReady","onBeforeMount","_b","route","doctypeSlug","recordId","isBrowser","isESModule","assign","applyToParams","params","newParams","isArray","noop","warn","msg","TRAILING_SLASH_RE","removeTrailingSlash","parseURL","parseQuery2","location2","currentLocation","query","searchString","hash","hashPos","searchPos","resolveRelativePath","stringifyURL","stringifyQuery2","stripBase","pathname","base","isSameRouteLocation","b","aLastIndex","bLastIndex","isSameRouteRecord","isSameRouteLocationParams","isSameRouteLocationParamsValue","isEquivalentArray","to","from","fromSegments","toSegments","lastToSegment","position","toPosition","segment","NavigationType","NavigationType2","NavigationDirection","NavigationDirection2","normalizeBase","baseEl","BEFORE_HASH_RE","createHref","getElementPosition","el","offset","docRect","elRect","computeScrollPosition","scrollToPosition","scrollToOptions","positionEl","isIdSelector","foundEl","getScrollKey","delta","scrollPositions","saveScrollPosition","scrollPosition","getSavedScrollPosition","scroll","createBaseLocation","createCurrentLocation","search","slicePos","pathFromHash","useHistoryListeners","historyState","replace","listeners","teardowns","pauseState","popStateHandler","fromState","listener","pauseListeners","listen","teardown","index2","beforeUnloadListener","history2","destroy","buildState","back","current","forward","replaced","computeScroll","useHistoryStateNavigation","changeLocation","replace2","hashIndex","err","push","currentState","createWebHistory","historyNavigation","historyListeners","go","triggerListeners","routerHistory","isRouteLocation","isRouteName","START_LOCATION_NORMALIZED","NavigationFailureSymbol","NavigationFailureType","NavigationFailureType2","ErrorTypeMessages","stringifyRoute","createRouterError","isNavigationFailure","propertiesToLog","BASE_PARAM_PATTERN","BASE_PATH_PARSER_OPTIONS","REGEX_CHARS_RE","tokensToParser","segments","extraOptions","score","pattern","keys","segmentScores","tokenIndex","token","subSegmentScore","repeatable","optional","regexp","re2","subPattern","re","parse2","match","stringify2","avoidDuplicatedSlash","param","compareScoreArray","diff","comparePathParserScore","aScore","bScore","comp","isLastScoreNegative","last","ROOT_TOKEN","VALID_PARAM_RE","tokenizePath","crash","buffer","previousState","tokens","finalizeSegment","char","customRe","consumeBuffer","addCharToBuffer","createRouteRecordMatcher","parent","parser","existingKeys","matcher","createRouterMatcher","routes","globalOptions","matchers","matcherMap","mergeOptions","getRecordMatcher","addRoute","originalRecord","isRootAdd","mainNormalizedRecord","normalizeRouteRecord","checkChildMissingNameWithEmptyPath","normalizedRecords","aliases","alias","originalMatcher","normalizedRecord","parentPath","connectingSlash","checkMissingParamsInAbsolutePath","checkSameParams","isAliasRecord","removeRoute","children","insertMatcher","matcherRef","getRoutes","isRecordChildOf","invalidParams","paramName","k","paramsFromLocation","m2","matched","parentMatcher","mergeMetaFields","normalizeRecordProps","propsObject","meta","defaults","partialOptions","isSameParam","child","HASH_RE","AMPERSAND_RE","SLASH_RE","EQUAL_RE","IM_RE","PLUS_RE","ENC_BRACKET_OPEN_RE","ENC_BRACKET_CLOSE_RE","ENC_CARET_RE","ENC_BACKTICK_RE","ENC_CURLY_OPEN_RE","ENC_PIPE_RE","ENC_CURLY_CLOSE_RE","ENC_SPACE_RE","commonEncode","encodeHash","encodeQueryValue","encodeQueryKey","encodePath","encodeParam","decode","parseQuery","searchParams","searchParam","eqPos","currentValue","stringifyQuery","value2","normalizeQuery","normalizedQuery","matchedRouteKey","viewDepthKey","routerKey","routeLocationKey","routerViewLocationKey","useCallbacks","handlers","add","handler","reset","guardToPromiseFn","guard","enterCallbackArray","next","valid","guardReturn","canOnlyBeCalledOnce","guardCall","resolvedValue","called","extractComponentsGuards","guardType","guards","rawComponent","promise","isRouteComponent","componentPromise","resolved","resolvedComponent","component","useLink","router2","currentRoute","activeRecordIndex","length","routeMatched","currentMatched","parentRecordPath","getOriginalPath","isActive","includesParams","isExactActive","navigate","e","guardEvent","instance","linkContextDevtools","watchEffect","RouterLinkImpl","defineComponent","slots","link","elClass","getLinkClass","h$1","RouterLink","outer","inner","innerValue","outerValue","propClass","globalClass","defaultClass","RouterViewImpl","attrs","warnDeprecatedUsage","injectedRoute","routeToDisplay","injectedDepth","depth","initialDepth","matchedRoute","matchedRouteRef","provide","viewRef","oldInstance","oldName","currentName","ViewComponent","normalizeSlot","routePropsOption","routeProps","vnode","info","slot","slotContent","RouterView","parentName","parentSubTreeType","formatRouteLocation","routeLocation","tooltip","copy","omit","formatDisplay","routerId","addDevtools","componentInstance","PINK_500","devtoolsData","backgroundColor","ORANGE_400","LIME_500","BLUE_600","refreshRoutesView","routerInspectorId","navigationsLayerId","navigationId","failure","activeRoutesPayload","resetMatchStateOnRouteRecord","isRouteMatching","markRouteRecordActive","formatRouteRecordForInspector","route2","formatRouteRecordMatcherForStateInspector","modifierForKey","fields","CYAN_400","DARK","tags","routeRecordId","EXTRACT_REGEXP_RE","childRoute","filter","found","decodedPath","createRouter","parseQuery$1","stringifyQuery$1","beforeGuards","beforeResolveGuards","afterGuards","shallowRef","pendingLocation","normalizeParams","paramValue","encodeParams","decodeParams","parentOrRoute","recordMatcher","routeMatcher","hasRoute","rawLocation","locationNormalized","matchedRoute2","href2","matcherLocation","targetParams","fullPath","href","locationAsObject","checkCanceledNavigation","pushWithRedirect","handleRedirectRecord","lastMatched","redirect","newTargetLocation","redirectedFrom","targetLocation","shouldRedirect","toLocation","handleScroll","markAsReady","triggerError","failure2","finalizeNavigation","triggerAfterEach","checkCanceledNavigationAndReject","runWithContext","installedApps","leavingRecords","updatingRecords","enteringRecords","extractChangingRecords","canceledNavigationCheck","runGuardQueue","beforeEnter","isPush","isFirstNavigation","removeHistoryListener","setupListeners","_from","readyHandlers","errorListeners","ready","list","resolve2","scrollBehavior","started","router22","reactiveRoute","shallowReactive","unmountApp","len","recordFrom","recordTo","isPromise","PROMISE_RESOLVED_VOID","sleep","time","resolveWith","res","randomInt","min","max","randomToken","lastMs","additional","microSeconds$4","ms","microSeconds$3","type$3","create$3","channelName","close$3","channelState","postMessage$3","messageJson","onMessage$3","canBeUsed$3","averageResponseTime$3","NativeMethod","ObliviousSet","ObliviousSet2","ttl","_this","now","removeTooOldValues","obliviousSet","olderThen","iterator","fillOptionsWithDefaults","originalOptions","microSeconds$2","DB_PREFIX","OBJECT_STORE_ID","TRANSACTION_SETTINGS","type$2","getIdb","commitIndexedDBTransaction","tx","createDatabase","IndexedDB","dbName","openRequest","ev","db","rej","writeMessage","readerUuid","writeObject","objectStore","getMessagesHigherThan","lastCursorId","keyRangeValue","getAllRequest","openCursor","openCursorRequest","cursor","removeMessagesById","ids","deleteRequest","getOldMessages","msgObk","cleanOldMessages","tooOld","create$2","_readLoop","readNewMessages","_filterMessage","msgObj","newerMessages","useMessages","msgObjA","msgObjB","close$2","postMessage$2","onMessage$2","canBeUsed$2","averageResponseTime$2","IndexedDBMethod","microSeconds$1","KEY_PREFIX","type$1","getLocalStorage","localStorage2","storageKey","postMessage$1","writeObj","addStorageEventListener","removeStorageEventListener","create$1","canBeUsed$1","uuid","eMIs","close$1","onMessage$1","ls","averageResponseTime$1","defaultTime","userAgent","LocalstorageMethod","microSeconds","type","SIMULATE_CHANNELS","create","close","postMessage","channelArray","channel","onMessage","canBeUsed","averageResponseTime","SimulateMethod","METHODS","chooseMethod","chooseMethods","useMethod","method","OPEN_BROADCAST_CHANNELS","lastId","BroadcastChannel$1","_prepareChannel","_post","listenObj","_removeListenerObject","_addListenerObject","obj2","awaitPrepare","broadcastChannel","sendPromise","maybePromise","_hasMessageListeners","_startListening","_stopListening","listenerFn","listenerObject","hundredMsInMicro","minMessageTime","DevalueError","is_primitive","thing","object_proto_names","is_plain_object","proto","get_type","get_escaped_char","stringify_string","str","last_pos","replacement","UNDEFINED","HOLE","NAN","POSITIVE_INFINITY","NEGATIVE_INFINITY","NEGATIVE_ZERO","parse","serialized","revivers","unflatten","parsed","hydrate","values","hydrated","standalone","reviver","set2","map","array","n","object","stringify","reducers","stringified","indexes","custom","flatten","index3","stringify_primitive","source","flags","t","u","h","_a2","pinia","newSchema","fieldValue","He","we","ve","We","je","Ne","Ue","B","Y","f","c","A","Ve","x","Be","I","Fe","C","ae","Q","ze","Z","ie","qe","se","ee","de","te","ue","P","Ge","ne","oe","w","De","Te","Ye","Xe","xe","_","W","ge","J","L","et","tt","Ee","V","ye","Ie","$","nt","ot","R","X","lt","fe","rt","$e","Re","Le","D","Ce","N","pe","me","at","z","Ae","M","st","dt","ut","y","ft","pt","he","mt","ht","S","wt","vt","gt","_e","T","U","G","j","Oe","Se","yt","Pe","Me","le","config","breadcrumbsVisibile","searchVisibile","searchText","searchinput","rotateHideTabIcon","toggleBreadcrumbs","toggleSearch","handleSearchInput","handleSearch","navigateHome","ActionSet","CommandPalette","Doctype","Records","SheetNav"],"mappings":"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"}
|
|
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","../../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\tclass=\"leftBar\"\n\t\t\t\t\tversion=\"1.1\"\n\t\t\t\t\tid=\"Layer_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\tclass=\"rightBar\"\n\t\t\t\t\tversion=\"1.1\"\n\t\t\t\t\tid=\"Layer_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 class=\"action-element\" v-for=\"(el, index) in _elements\" :key=\"el.label\">\n\t\t\t<button v-if=\"el.elementType == 'button'\" :onclick=\"el.action\" class=\"button-default\">{{ el.label }}</button>\n\t\t\t<div v-if=\"el.elementType == 'dropdown'\">\n\t\t\t\t<button class=\"button-default\" @click=\"toggleDropdown(index)\">{{ el.label }}</button>\n\t\t\t\t<div class=\"dropdown-container\" v-show=\"el.show\">\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\ntype SetAction = {\n\tlabel: string\n\tlink?: string\n\taction?: () => void\n}\n\ntype SetElement = {\n\telementType: string\n\tlabel: string\n\tlink?: string\n\tshow?: boolean\n\taction?: () => void\n\tactions?: SetAction[]\n}\n\nconst props = defineProps<{\n\telements?: SetElement[]\n}>()\n\nconst _elements = ref<SetElement[]>([])\nconst isOpen = ref(false)\nconst timeout = ref<number>(null)\nconst hover = ref(false)\nconst closeClicked = ref(false)\n\nonMounted(() => {\n\t_elements.value = props.elements\n\tcloseDropdowns()\n})\n\nconst closeDropdowns = () => {\n\tfor (let element of _elements.value) {\n\t\tif (element.elementType === 'dropdown') {\n\t\t\telement.show = false\n\t\t}\n\t}\n}\n\nconst onHover = () => {\n\thover.value = true\n\ttimeout.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(timeout.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<dialog></dialog>\n</template>\n\n<script setup lang=\"ts\"></script>\n","import { defineComponent as A, mergeModels as V, useModel as x, openBlock as h, createElementBlock as g, createElementVNode as i, toDisplayString as E, withDirectives as D, vModelCheckbox as pe, vShow as H, resolveComponent as me, createBlock as G, withCtx as ve, ref as f, onMounted as W, onUnmounted as he, normalizeClass as R, withKeys as q, vModelText as I, Fragment as O, renderList as U, watch as B, onBeforeUnmount as _e, computed as $, unref as ie, getCurrentScope as ge, onScopeDispose as ye, getCurrentInstance as be, nextTick as we, withModifiers as ke, resolveDynamicComponent as De, mergeProps as Me, createTextVNode as Ee, createCommentVNode as ue, renderSlot as Ae, createVNode as Ce } from \"vue\";\nconst Te = { class: \"aform__form-element\" }, Se = [\"for\"], Le = { class: \"aform__checkbox-container aform__input-field\" }, $e = [\"id\", \"readonly\", \"required\"], Ve = [\"innerHTML\"], xe = /* @__PURE__ */ A({\n __name: \"ACheckbox\",\n props: /* @__PURE__ */ V({\n label: {},\n required: { type: Boolean },\n readOnly: { type: Boolean },\n uuid: {},\n validation: { default: () => ({ errorMessage: \" \" }) }\n }, {\n modelValue: {},\n modelModifiers: {}\n }),\n emits: [\"update:modelValue\"],\n setup(e) {\n const t = x(e, \"modelValue\");\n return (n, o) => (h(), g(\"div\", Te, [\n i(\"label\", {\n class: \"aform__field-label\",\n for: n.uuid\n }, E(n.label), 9, Se),\n i(\"span\", Le, [\n D(i(\"input\", {\n \"onUpdate:modelValue\": o[0] || (o[0] = (l) => t.value = l),\n type: \"checkbox\",\n id: n.uuid,\n class: \"aform__checkbox\",\n readonly: n.readOnly,\n required: n.required\n }, null, 8, $e), [\n [pe, t.value]\n ])\n ]),\n D(i(\"p\", {\n class: \"error\",\n innerHTML: n.validation.errorMessage\n }, null, 8, Ve), [\n [H, n.validation.errorMessage]\n ])\n ]));\n }\n}), He = /* @__PURE__ */ i(\"div\", null, [\n /* @__PURE__ */ i(\"input\", { type: \"text\" }),\n /* @__PURE__ */ i(\"input\", { type: \"text\" }),\n /* @__PURE__ */ i(\"input\", { type: \"text\" })\n], -1), Ie = /* @__PURE__ */ A({\n __name: \"AComboBox\",\n props: [\"event\", \"cellData\", \"tableID\"],\n setup(e) {\n return (t, n) => {\n const o = me(\"ATableModal\");\n return h(), G(o, {\n event: e.event,\n cellData: e.cellData,\n class: \"amodal\"\n }, {\n default: ve(() => [\n He\n ]),\n _: 1\n }, 8, [\"event\", \"cellData\"]);\n };\n }\n}), Pe = [\"id\", \"disabled\", \"required\", \"value\"], Be = [\"for\"], Fe = [\"innerHTML\"], qe = /* @__PURE__ */ A({\n __name: \"ADate\",\n props: /* @__PURE__ */ V({\n label: { default: \"Date\" },\n required: { type: Boolean },\n readonly: { type: Boolean },\n uuid: {},\n validation: { default: () => ({ errorMessage: \" \" }) }\n }, {\n modelValue: {},\n modelModifiers: {}\n }),\n emits: [\"update:modelValue\"],\n setup(e) {\n const t = x(e, \"modelValue\"), n = f(null), o = () => {\n n.value && \"showPicker\" in HTMLInputElement.prototype && n.value.showPicker();\n };\n return (l, a) => (h(), g(\"div\", null, [\n i(\"input\", {\n ref_key: \"dateRef\",\n ref: n,\n type: \"date\",\n id: l.uuid,\n disabled: l.readonly,\n required: l.required,\n value: t.value,\n onClick: o\n }, null, 8, Pe),\n i(\"label\", { for: l.uuid }, E(l.label), 9, Be),\n D(i(\"p\", {\n innerHTML: l.validation.errorMessage\n }, null, 8, Fe), [\n [H, l.validation.errorMessage]\n ])\n ]));\n }\n}), Y = (e, t) => {\n const n = e.__vccOpts || e;\n for (const [o, l] of t)\n n[o] = l;\n return n;\n}, Re = /* @__PURE__ */ Y(qe, [[\"__scopeId\", \"data-v-69d0f23d\"]]), Oe = { class: \"input-wrapper\" }, Ue = {\n id: \"autocomplete-results\",\n class: \"autocomplete-results\"\n}, We = {\n key: 0,\n class: \"loading autocomplete-result\"\n}, Ye = [\"onClick\"], Ke = /* @__PURE__ */ A({\n __name: \"ADropdown\",\n props: /* @__PURE__ */ V({\n label: {},\n items: {},\n isAsync: { type: Boolean }\n }, {\n modelValue: {},\n modelModifiers: {}\n }),\n emits: /* @__PURE__ */ V([\"filterChanged\"], [\"update:modelValue\"]),\n setup(e, { emit: t }) {\n const n = e, o = t, l = f(n.items), a = x(e, \"modelValue\"), r = f(!1), s = f(0), c = f(!1), u = f(null);\n W(() => {\n document.addEventListener(\"click\", _), p();\n }), he(() => {\n document.removeEventListener(\"click\", _);\n });\n const d = (m) => {\n a.value = m, b();\n }, p = () => {\n a.value ? l.value = n.items.filter((m) => m.toLowerCase().indexOf(a.value.toLowerCase()) > -1) : l.value = n.items;\n }, v = () => {\n c.value = !0, n.isAsync ? (r.value = !0, o(\"filterChanged\", a.value)) : p();\n }, _ = () => {\n b(), s.value = 0;\n }, b = () => {\n c.value = !1, n.items.includes(a.value) || (a.value = \"\");\n }, S = () => {\n s.value < l.value.length && (s.value = s.value + 1);\n }, k = () => {\n s.value > 0 && (s.value = s.value - 1);\n }, L = () => {\n a.value = l.value[s.value], b(), s.value = 0;\n };\n return (m, y) => (h(), g(\"div\", {\n class: R([\"autocomplete\", { isOpen: c.value }])\n }, [\n i(\"div\", Oe, [\n D(i(\"input\", {\n ref_key: \"mopInput\",\n ref: u,\n type: \"text\",\n onInput: v,\n onFocus: v,\n \"onUpdate:modelValue\": y[0] || (y[0] = (w) => a.value = w),\n onKeydown: [\n q(S, [\"down\"]),\n q(k, [\"up\"]),\n q(L, [\"enter\"])\n ]\n }, null, 544), [\n [I, a.value]\n ]),\n D(i(\"ul\", Ue, [\n r.value ? (h(), g(\"li\", We, \"Loading results...\")) : (h(!0), g(O, { key: 1 }, U(l.value, (w, M) => (h(), g(\"li\", {\n key: M,\n onClick: (Z) => d(w),\n class: R([\"autocomplete-result\", { \"is-active\": M === s.value }])\n }, E(w), 11, Ye))), 128))\n ], 512), [\n [H, c.value]\n ]),\n i(\"label\", null, E(m.label), 1)\n ])\n ], 2));\n }\n});\nfunction ce(e) {\n return ge() ? (ye(e), !0) : !1;\n}\nfunction N(e) {\n return typeof e == \"function\" ? e() : ie(e);\n}\nconst ze = typeof window < \"u\" && typeof document < \"u\";\ntypeof WorkerGlobalScope < \"u\" && globalThis instanceof WorkerGlobalScope;\nconst Ge = (e) => e != null, Ne = Object.prototype.toString, je = (e) => Ne.call(e) === \"[object Object]\", Je = () => {\n};\nfunction P(e) {\n var t;\n const n = N(e);\n return (t = n == null ? void 0 : n.$el) != null ? t : n;\n}\nconst K = ze ? window : void 0;\nfunction z(...e) {\n let t, n, o, l;\n if (typeof e[0] == \"string\" || Array.isArray(e[0]) ? ([n, o, l] = e, t = K) : [t, n, o, l] = e, !t)\n return Je;\n Array.isArray(n) || (n = [n]), Array.isArray(o) || (o = [o]);\n const a = [], r = () => {\n a.forEach((d) => d()), a.length = 0;\n }, s = (d, p, v, _) => (d.addEventListener(p, v, _), () => d.removeEventListener(p, v, _)), c = B(\n () => [P(t), N(l)],\n ([d, p]) => {\n if (r(), !d)\n return;\n const v = je(p) ? { ...p } : p;\n a.push(\n ...n.flatMap((_) => o.map((b) => s(d, _, b, v)))\n );\n },\n { immediate: !0, flush: \"post\" }\n ), u = () => {\n c(), r();\n };\n return ce(u), u;\n}\nfunction Qe() {\n const e = f(!1), t = be();\n return t && W(() => {\n e.value = !0;\n }, t), e;\n}\nfunction Xe(e) {\n const t = Qe();\n return $(() => (t.value, !!e()));\n}\nfunction Ze(e, t, n = {}) {\n const { window: o = K, ...l } = n;\n let a;\n const r = Xe(() => o && \"MutationObserver\" in o), s = () => {\n a && (a.disconnect(), a = void 0);\n }, c = $(() => {\n const v = N(e), _ = (Array.isArray(v) ? v : [v]).map(P).filter(Ge);\n return new Set(_);\n }), u = B(\n () => c.value,\n (v) => {\n s(), r.value && v.size && (a = new MutationObserver(t), v.forEach((_) => a.observe(_, l)));\n },\n { immediate: !0, flush: \"post\" }\n ), d = () => a == null ? void 0 : a.takeRecords(), p = () => {\n s(), u();\n };\n return ce(p), {\n isSupported: r,\n stop: p,\n takeRecords: d\n };\n}\nfunction et(e = {}) {\n var t;\n const {\n window: n = K,\n deep: o = !0,\n triggerOnRemoval: l = !1\n } = e, a = (t = e.document) != null ? t : n == null ? void 0 : n.document, r = () => {\n var u;\n let d = a == null ? void 0 : a.activeElement;\n if (o)\n for (; d != null && d.shadowRoot; )\n d = (u = d == null ? void 0 : d.shadowRoot) == null ? void 0 : u.activeElement;\n return d;\n }, s = f(), c = () => {\n s.value = r();\n };\n return n && (z(n, \"blur\", (u) => {\n u.relatedTarget === null && c();\n }, !0), z(n, \"focus\", c, !0)), l && Ze(a, (u) => {\n u.filter((d) => d.removedNodes.length).map((d) => Array.from(d.removedNodes)).flat().forEach((d) => {\n d === s.value && c();\n });\n }, {\n childList: !0,\n subtree: !0\n }), c(), s;\n}\nfunction tt(e, t = {}) {\n const n = et(t), o = $(() => P(e));\n return { focused: $(() => o.value && n.value ? o.value.contains(n.value) : !1) };\n}\nfunction nt(e, { window: t = K, scrollTarget: n } = {}) {\n const o = f(!1), l = () => {\n if (!t) return;\n const a = t.document, r = P(e);\n if (!r)\n o.value = !1;\n else {\n const s = r.getBoundingClientRect();\n o.value = s.top <= (t.innerHeight || a.documentElement.clientHeight) && s.left <= (t.innerWidth || a.documentElement.clientWidth) && s.bottom >= 0 && s.right >= 0;\n }\n };\n return B(\n () => P(e),\n () => l(),\n { immediate: !0, flush: \"post\" }\n ), t && z(n || t, \"scroll\", l, {\n capture: !1,\n passive: !0\n }), o;\n}\nconst C = (e) => {\n let t = nt(e).value;\n return t = t && e.offsetHeight > 0, t;\n}, T = (e) => e.tabIndex >= 0, ee = (e) => {\n const t = e.target;\n return j(t);\n}, j = (e) => {\n var t;\n let n;\n if (e instanceof HTMLTableCellElement) {\n const o = (t = e.parentElement) == null ? void 0 : t.previousElementSibling;\n if (o) {\n const l = Array.from(o.children)[e.cellIndex];\n l && (n = l);\n }\n } else if (e instanceof HTMLTableRowElement) {\n const o = e.previousElementSibling;\n o && (n = o);\n }\n return n && (!T(n) || !C(n)) ? j(n) : n;\n}, ot = (e) => {\n var t;\n const n = e.target;\n let o;\n if (n instanceof HTMLTableCellElement) {\n const l = (t = n.parentElement) == null ? void 0 : t.parentElement;\n if (l) {\n const a = l.firstElementChild.children[n.cellIndex];\n a && (o = a);\n }\n } else if (n instanceof HTMLTableRowElement) {\n const l = n.parentElement;\n if (l) {\n const a = l.firstElementChild;\n a && (o = a);\n }\n }\n return o && (!T(o) || !C(o)) ? J(o) : o;\n}, te = (e) => {\n const t = e.target;\n return J(t);\n}, J = (e) => {\n var t;\n let n;\n if (e instanceof HTMLTableCellElement) {\n const o = (t = e.parentElement) == null ? void 0 : t.nextElementSibling;\n if (o) {\n const l = Array.from(o.children)[e.cellIndex];\n l && (n = l);\n }\n } else if (e instanceof HTMLTableRowElement) {\n const o = e.nextElementSibling;\n o && (n = o);\n }\n return n && (!T(n) || !C(n)) ? J(n) : n;\n}, lt = (e) => {\n var t;\n const n = e.target;\n let o;\n if (n instanceof HTMLTableCellElement) {\n const l = (t = n.parentElement) == null ? void 0 : t.parentElement;\n if (l) {\n const a = l.lastElementChild.children[n.cellIndex];\n a && (o = a);\n }\n } else if (n instanceof HTMLTableRowElement) {\n const l = n.parentElement;\n if (l) {\n const a = l.lastElementChild;\n a && (o = a);\n }\n }\n return o && (!T(o) || !C(o)) ? j(o) : o;\n}, ne = (e) => {\n const t = e.target;\n return Q(t);\n}, Q = (e) => {\n var t;\n let n;\n if (e.previousElementSibling)\n n = e.previousElementSibling;\n else {\n const o = (t = e.parentElement) == null ? void 0 : t.previousElementSibling;\n n = o == null ? void 0 : o.lastElementChild;\n }\n return n && (!T(n) || !C(n)) ? Q(n) : n;\n}, oe = (e) => {\n const t = e.target;\n return X(t);\n}, X = (e) => {\n var t;\n let n;\n if (e.nextElementSibling)\n n = e.nextElementSibling;\n else {\n const o = (t = e.parentElement) == null ? void 0 : t.nextElementSibling;\n n = o == null ? void 0 : o.firstElementChild;\n }\n return n && (!T(n) || !C(n)) ? X(n) : n;\n}, le = (e) => {\n const t = e.target.parentElement.firstElementChild;\n return t && (!T(t) || !C(t)) ? X(t) : t;\n}, ae = (e) => {\n const t = e.target.parentElement.lastElementChild;\n return t && (!T(t) || !C(t)) ? Q(t) : t;\n}, F = [\"alt\", \"control\", \"shift\", \"meta\"], at = {\n ArrowUp: \"up\",\n ArrowDown: \"down\",\n ArrowLeft: \"left\",\n ArrowRight: \"right\"\n}, de = {\n \"keydown.up\": (e) => {\n const t = ee(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.down\": (e) => {\n const t = te(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.left\": (e) => {\n const t = ne(e);\n e.preventDefault(), e.stopPropagation(), t && t.focus();\n },\n \"keydown.right\": (e) => {\n const t = oe(e);\n e.preventDefault(), e.stopPropagation(), t && t.focus();\n },\n \"keydown.control.up\": (e) => {\n const t = ot(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.control.down\": (e) => {\n const t = lt(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.control.left\": (e) => {\n const t = le(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.control.right\": (e) => {\n const t = ae(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.end\": (e) => {\n const t = ae(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 = te(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 = ee(e);\n t && t.focus();\n }\n },\n \"keydown.home\": (e) => {\n const t = le(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.tab\": (e) => {\n const t = oe(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.shift.tab\": (e) => {\n const t = ne(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n }\n};\nfunction st(e) {\n const t = (r) => {\n let s = null;\n return r.parent && (typeof r.parent == \"string\" ? s = document.querySelector(r.parent) : r.parent instanceof HTMLElement ? s = r.parent : s = r.parent.value), s;\n }, n = (r) => {\n const s = t(r);\n let c = [];\n if (typeof r.selectors == \"string\")\n c = s ? Array.from(s.querySelectorAll(r.selectors)) : Array.from(document.querySelectorAll(r.selectors));\n else if (Array.isArray(r.selectors))\n for (const u of r.selectors)\n u instanceof HTMLElement ? c.push(u) : c.push(u.$el);\n else if (r.selectors instanceof HTMLElement)\n c.push(r.selectors);\n else if (Array.isArray(r.selectors.value))\n for (const u of r.selectors.value)\n u instanceof HTMLElement ? c.push(u) : c.push(u.$el);\n else\n c.push(r.selectors.value);\n return c;\n }, o = (r) => {\n const s = t(r);\n let c = [];\n return r.selectors ? c = n(r) : s && (c = Array.from(s.children).filter((u) => T(u) && C(u))), c;\n }, l = (r) => (s) => {\n const c = at[s.key] || s.key.toLowerCase();\n if (F.includes(c)) return;\n const u = r.handlers || de;\n for (const d of Object.keys(u)) {\n const [p, ...v] = d.split(\".\");\n if (p === \"keydown\" && v.includes(c)) {\n const _ = u[d], b = v.filter((k) => F.includes(k)), S = F.some((k) => {\n const L = k.charAt(0).toUpperCase() + k.slice(1);\n return s.getModifierState(L);\n });\n if (b.length > 0) {\n if (S) {\n for (const k of F)\n if (v.includes(k)) {\n const L = k.charAt(0).toUpperCase() + k.slice(1);\n s.getModifierState(L) && _(s);\n }\n }\n } else\n S || _(s);\n }\n }\n }, a = [];\n W(() => {\n for (const r of e) {\n const s = t(r), c = o(r), u = l(r), d = s ? [s] : c;\n for (const p of d) {\n const { focused: v } = tt(f(p)), _ = B(v, (b) => {\n b ? p.addEventListener(\"keydown\", u) : p.removeEventListener(\"keydown\", u);\n });\n a.push(_);\n }\n }\n }), _e(() => {\n for (const r of a)\n r();\n });\n}\nconst rt = {\n colspan: \"5\",\n tabindex: -1\n}, it = /* @__PURE__ */ i(\"tr\", { class: \"days-header\" }, [\n /* @__PURE__ */ i(\"td\", null, \"M\"),\n /* @__PURE__ */ i(\"td\", null, \"T\"),\n /* @__PURE__ */ i(\"td\", null, \"W\"),\n /* @__PURE__ */ i(\"td\", null, \"T\"),\n /* @__PURE__ */ i(\"td\", null, \"F\"),\n /* @__PURE__ */ i(\"td\", null, \"S\"),\n /* @__PURE__ */ i(\"td\", null, \"S\")\n], -1), ut = [\"onClick\", \"onKeydown\"], ct = 6, se = 7, dt = /* @__PURE__ */ A({\n __name: \"ADatePicker\",\n props: {\n modelValue: { default: /* @__PURE__ */ new Date() },\n modelModifiers: {}\n },\n emits: [\"update:modelValue\"],\n setup(e) {\n const t = x(e, \"modelValue\"), n = f(new Date(t.value)), o = f(n.value.getMonth()), l = f(n.value.getFullYear()), a = f([]), r = f(null);\n W(async () => {\n s(), await we();\n const m = document.getElementsByClassName(\"selectedDate\");\n if (m.length > 0)\n m[0].focus();\n else {\n const y = document.getElementsByClassName(\"todaysDate\");\n y.length > 0 && y[0].focus();\n }\n });\n const s = () => {\n a.value = [];\n const m = new Date(l.value, o.value, 1), y = m.getDay(), w = m.setDate(m.getDate() - y);\n for (const M of Array(43).keys())\n a.value.push(w + M * 864e5);\n };\n B([o, l], s);\n const c = () => l.value -= 1, u = () => l.value += 1, d = () => {\n o.value == 0 ? (o.value = 11, c()) : o.value -= 1;\n }, p = () => {\n o.value == 11 ? (o.value = 0, u()) : o.value += 1;\n }, v = (m) => {\n const y = /* @__PURE__ */ new Date();\n if (o.value === y.getMonth())\n return y.toDateString() === new Date(m).toDateString();\n }, _ = (m) => new Date(m).toDateString() === new Date(n.value).toDateString(), b = (m, y) => (m - 1) * se + y, S = (m, y) => a.value[b(m, y)], k = (m) => {\n t.value = n.value = new Date(a.value[m]);\n }, L = $(() => new Date(l.value, o.value, 1).toLocaleDateString(void 0, {\n year: \"numeric\",\n month: \"long\"\n }));\n return st([\n {\n parent: r,\n selectors: \"td\",\n handlers: {\n ...de,\n \"keydown.pageup\": d,\n \"keydown.shift.pageup\": c,\n \"keydown.pagedown\": p,\n \"keydown.shift.pagedown\": u,\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 // eslint-disable-next-line @typescript-eslint/no-empty-function\n \"keydown.enter\": () => {\n }\n }\n }\n ]), (m, y) => (h(), g(\"div\", {\n class: \"adatepicker\",\n tabindex: \"0\",\n ref_key: \"adatepicker\",\n ref: r\n }, [\n i(\"table\", null, [\n i(\"tr\", null, [\n i(\"td\", {\n id: \"previous-month-btn\",\n onClick: d,\n tabindex: -1\n }, \"<\"),\n i(\"th\", rt, E(L.value), 1),\n i(\"td\", {\n id: \"next-month-btn\",\n onClick: p,\n tabindex: -1\n }, \">\")\n ]),\n it,\n (h(), g(O, null, U(ct, (w) => i(\"tr\", { key: w }, [\n (h(), g(O, null, U(se, (M) => i(\"td\", {\n ref_for: !0,\n ref: \"celldate\",\n key: b(w, M),\n contenteditable: !1,\n spellcheck: !1,\n tabindex: 0,\n onClick: ke((Z) => k(b(w, M)), [\"prevent\", \"stop\"]),\n onKeydown: q((Z) => k(b(w, M)), [\"enter\"]),\n class: R({\n todaysDate: v(S(w, M)),\n selectedDate: _(S(w, M))\n })\n }, E(new Date(S(w, M)).getDate()), 43, ut)), 64))\n ])), 64))\n ])\n ], 512));\n }\n}), ft = /* @__PURE__ */ A({\n __name: \"CollapseButton\",\n props: {\n collapsed: { type: Boolean }\n },\n setup(e) {\n return (t, n) => (h(), g(\"button\", {\n class: R([\"collapse-button\", t.collapsed ? \"rotated\" : \"unrotated\"])\n }, \"×\", 2));\n }\n}), pt = /* @__PURE__ */ Y(ft, [[\"__scopeId\", \"data-v-6f1c1b45\"]]), mt = { class: \"aform\" }, vt = /* @__PURE__ */ A({\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 = e, o = t, l = f(n.data || {}), a = (s) => {\n let c = {};\n for (const [u, d] of Object.entries(s))\n [\"component\", \"fieldtype\"].includes(u) || (c[u] = d), u === \"rows\" && d && d.length === 0 && (c.rows = l.value[s.fieldname]);\n return c;\n }, r = $({\n get: () => n.modelValue.map((s, c) => $({\n get() {\n return s.value;\n },\n set: (u) => {\n n.modelValue[c].value = u, o(\"update:modelValue\", n.modelValue);\n }\n })),\n set: () => {\n }\n });\n return (s, c) => (h(), g(\"form\", mt, [\n (h(!0), g(O, null, U(s.modelValue, (u, d) => (h(), G(De(u.component), Me({\n key: d,\n schema: u,\n modelValue: r.value[d].value,\n \"onUpdate:modelValue\": (p) => r.value[d].value = p,\n data: l.value[u.fieldname],\n readonly: s.readonly,\n ref_for: !0\n }, a(u)), null, 16, [\"schema\", \"modelValue\", \"onUpdate:modelValue\", \"data\", \"readonly\"]))), 128))\n ]));\n }\n}), fe = /* @__PURE__ */ Y(vt, [[\"__scopeId\", \"data-v-dc1a868d\"]]), ht = /* @__PURE__ */ A({\n __name: \"AFieldset\",\n props: {\n schema: {},\n label: {},\n collapsible: { type: Boolean },\n data: {}\n },\n setup(e) {\n const t = e, n = f(t.data || []), o = f(!1), l = f(t.collapsible), a = f(t.schema);\n function r(s) {\n s.preventDefault(), l.value && (o.value = !o.value);\n }\n return (s, c) => (h(), g(\"fieldset\", null, [\n i(\"legend\", {\n onClick: r,\n onSubmit: r\n }, [\n Ee(E(s.label) + \" \", 1),\n l.value ? (h(), G(pt, {\n key: 0,\n collapsed: o.value\n }, null, 8, [\"collapsed\"])) : ue(\"\", !0)\n ], 32),\n Ae(s.$slots, \"default\", { collapsed: o.value }, () => [\n D(Ce(fe, {\n modelValue: a.value,\n \"onUpdate:modelValue\": c[0] || (c[0] = (u) => a.value = u),\n data: n.value\n }, null, 8, [\"modelValue\", \"data\"]), [\n [H, !o.value]\n ])\n ], !0)\n ]));\n }\n}), _t = /* @__PURE__ */ Y(ht, [[\"__scopeId\", \"data-v-b89db0c0\"]]), gt = { class: \"aform__form-element\" }, yt = [\"for\"], bt = [\"id\", \"disabled\", \"required\"], wt = [\"innerHTML\"], kt = /* @__PURE__ */ A({\n __name: \"ANumericInput\",\n props: /* @__PURE__ */ V({\n label: {},\n required: { type: Boolean },\n readonly: { type: Boolean },\n uuid: {},\n validation: { default: () => ({ errorMessage: \" \" }) }\n }, {\n modelValue: {},\n modelModifiers: {}\n }),\n emits: [\"update:modelValue\"],\n setup(e) {\n const t = x(e, \"modelValue\");\n return (n, o) => (h(), g(\"div\", gt, [\n i(\"label\", {\n class: \"aform__field-label\",\n for: n.uuid\n }, E(n.label), 9, yt),\n D(i(\"input\", {\n class: \"aform__input-field\",\n \"onUpdate:modelValue\": o[0] || (o[0] = (l) => t.value = l),\n type: \"number\",\n id: n.uuid,\n disabled: n.readonly,\n required: n.required\n }, null, 8, bt), [\n [I, t.value]\n ]),\n D(i(\"p\", {\n class: \"error\",\n innerHTML: n.validation.errorMessage\n }, null, 8, wt), [\n [H, n.validation.errorMessage]\n ])\n ]));\n }\n}), re = {\n date: \"##/##/####\",\n datetime: \"####/##/## ##:##\",\n time: \"##:##\",\n fulltime: \"##:##:##\",\n phone: \"(###) ### - ####\",\n card: \"#### #### #### ####\"\n};\nfunction Dt(e) {\n try {\n return Function(`\"use strict\";return (${e})`)();\n } catch {\n }\n}\nfunction Mt(e) {\n var n;\n let t = e.value;\n if (t) {\n const o = Dt(t);\n if (o) {\n const l = e.instance.locale;\n t = o(l);\n }\n } else {\n const o = e.instance.schema, l = (n = o == null ? void 0 : o.fieldtype) == null ? void 0 : n.toLowerCase();\n l && re[l] && (t = re[l]);\n }\n return t;\n}\nfunction Et(e, t) {\n t || (t = \"#\");\n let n = e;\n const o = [t, \"/\", \"-\", \"(\", \")\", \" \"];\n for (const l of o)\n n = n.replaceAll(l, \"\");\n return n;\n}\nfunction At(e, t, n) {\n n || (n = \"#\");\n let o = t;\n for (const l of e) {\n const a = o.indexOf(n);\n if (a !== -1) {\n const r = o.substring(0, a), s = o.substring(a + 1);\n o = r + l + s;\n }\n }\n return o.slice(0, t.length);\n}\nfunction Ct(e, t) {\n const n = Mt(t);\n if (!n) return;\n const o = \"#\", l = e.value, a = Et(l, o);\n if (a) {\n const r = At(a, n, o);\n t.instance.maskFilled && (t.instance.maskFilled = !r.includes(o)), e.value = r;\n } else\n e.value = n;\n}\nconst Tt = { class: \"aform__form-element\" }, St = [\"for\"], Lt = [\"id\", \"disabled\", \"maxlength\", \"required\"], $t = [\"innerHTML\"], Vt = /* @__PURE__ */ A({\n __name: \"ATextInput\",\n props: /* @__PURE__ */ V({\n schema: {},\n label: {},\n mask: {},\n required: { type: Boolean },\n readonly: { type: Boolean },\n uuid: {},\n validation: { default: () => ({ errorMessage: \" \" }) }\n }, {\n modelValue: {},\n modelModifiers: {}\n }),\n emits: [\"update:modelValue\"],\n setup(e) {\n const t = f(!0), n = x(e, \"modelValue\");\n return (o, l) => (h(), g(\"div\", Tt, [\n i(\"label\", {\n class: \"aform__field-label\",\n for: o.uuid\n }, E(o.label), 9, St),\n D(i(\"input\", {\n class: \"aform__input-field\",\n \"onUpdate:modelValue\": l[0] || (l[0] = (a) => n.value = a),\n id: o.uuid,\n disabled: o.readonly,\n maxlength: o.mask ? t.value && o.mask.length : void 0,\n required: o.required\n }, null, 8, Lt), [\n [I, n.value],\n [ie(Ct), o.mask]\n ]),\n D(i(\"p\", {\n class: \"error\",\n innerHTML: o.validation.errorMessage\n }, null, 8, $t), [\n [H, o.validation.errorMessage]\n ])\n ]));\n }\n}), xt = { class: \"login-container\" }, Ht = { class: \"account-container\" }, It = { class: \"account-header\" }, Pt = { id: \"account-title\" }, Bt = { id: \"account-subtitle\" }, Ft = { class: \"login-form-container\" }, qt = { class: \"login-form-email login-form-element\" }, Rt = /* @__PURE__ */ i(\"label\", {\n id: \"login-email\",\n for: \"email\",\n class: \"aform__field-label\"\n}, \"Email\", -1), Ot = [\"disabled\"], Ut = { class: \"login-form-password login-form-element\" }, Wt = /* @__PURE__ */ i(\"label\", {\n id: \"login-password\",\n for: \"password\",\n class: \"login-label\"\n}, \"Password\", -1), Yt = [\"disabled\"], Kt = [\"disabled\"], zt = {\n key: 0,\n class: \"material-symbols-outlined loading-icon\"\n}, Gt = /* @__PURE__ */ i(\"span\", { id: \"login-form-button\" }, \"Login\", -1), Nt = /* @__PURE__ */ i(\"button\", { class: \"btn\" }, [\n /* @__PURE__ */ i(\"span\", { id: \"forgot-password-button\" }, \"Forgot password?\")\n], -1), Jt = /* @__PURE__ */ A({\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 = f(\"\"), l = f(\"\"), a = f(!1), r = f(!1);\n function s(c) {\n if (c.preventDefault(), a.value = !0, r.value) {\n a.value = !1, n(\"loginFailed\");\n return;\n }\n a.value = !1, n(\"loginSuccess\");\n }\n return (c, u) => (h(), g(\"div\", xt, [\n i(\"div\", null, [\n i(\"div\", Ht, [\n i(\"div\", It, [\n i(\"h1\", Pt, E(c.headerTitle), 1),\n i(\"p\", Bt, E(c.headerSubtitle), 1)\n ]),\n i(\"form\", { onSubmit: s }, [\n i(\"div\", Ft, [\n i(\"div\", qt, [\n Rt,\n D(i(\"input\", {\n id: \"email\",\n class: \"aform__input-field\",\n name: \"email\",\n placeholder: \"name@example.com\",\n type: \"email\",\n \"onUpdate:modelValue\": u[0] || (u[0] = (d) => o.value = d),\n \"auto-capitalize\": \"none\",\n \"auto-complete\": \"email\",\n \"auto-correct\": \"off\",\n disabled: a.value\n }, null, 8, Ot), [\n [I, o.value]\n ])\n ]),\n i(\"div\", Ut, [\n Wt,\n D(i(\"input\", {\n id: \"password\",\n class: \"login-field\",\n name: \"password\",\n type: \"password\",\n \"onUpdate:modelValue\": u[1] || (u[1] = (d) => l.value = d),\n disabled: a.value\n }, null, 8, Yt), [\n [I, l.value]\n ])\n ]),\n i(\"button\", {\n class: \"btn\",\n onClick: s,\n disabled: a.value || !o.value || !l.value\n }, [\n a.value ? (h(), g(\"span\", zt, \"progress_activity\")) : ue(\"\", !0),\n Gt\n ], 8, Kt)\n ])\n ], 32),\n Nt\n ])\n ])\n ]));\n }\n});\nfunction Qt(e) {\n e.component(\"ACheckbox\", xe), e.component(\"ACombobox\", Ie), e.component(\"ADate\", Re), e.component(\"ADropdown\", Ke), e.component(\"ADatePicker\", dt), e.component(\"AFieldset\", _t), e.component(\"AForm\", fe), e.component(\"ANumericInput\", kt), e.component(\"ATextInput\", Vt);\n}\nexport {\n xe as ACheckbox,\n Ie as AComboBox,\n Re as ADate,\n dt as ADatePicker,\n Ke as ADropdown,\n _t as AFieldset,\n fe as AForm,\n kt as ANumericInput,\n Vt as ATextInput,\n Jt as Login,\n Qt as install\n};\n//# sourceMappingURL=aform.js.map\n","var pr = Object.defineProperty;\nvar mr = (e, t, n) => t in e ? pr(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n;\nvar V = (e, t, n) => mr(e, typeof t != \"symbol\" ? t + \"\" : t, n);\nimport { effectScope as gn, ref as oe, markRaw as ue, toRaw as Fe, hasInjectionContext as gr, inject as de, getCurrentInstance as Et, watch as Te, unref as le, reactive as vn, isRef as Ie, isReactive as bt, toRef as Ye, nextTick as it, computed as z, getCurrentScope as vr, onScopeDispose as yr, toRefs as xt, onBeforeMount as _r, shallowRef as Er, shallowReactive as br, defineComponent as yn, h as _n, provide as Xe, watchEffect as wr } from \"vue\";\nfunction at(e) {\n this.message = e || \"\";\n}\nat.prototype = Object.create(Error.prototype, {\n constructor: { value: at },\n name: { value: \"NotImplemented\" },\n stack: {\n get: function() {\n return new Error().stack;\n }\n }\n});\nconst _e = class _e {\n /**\n * @constructor\n * @param {Registry} registry - The immutable registry\n * @param {ReturnType<typeof useDataStore>} store - The mutable Pinia store\n * @param {Schema} [schema] - (optional) The Stonecrop schema\n * @param {ImmutableDoctype['workflow']} [workflow] - (optional) The Stonecrop workflow\n * @param {ImmutableDoctype['actions']} [actions] - (optional) The Stonecrop actions\n * @returns {Stonecrop} The Stonecrop instance\n * @description The Stonecrop constructor initializes a new Stonecrop instance with the given registry, store, schema, workflow, and actions. If a Stonecrop instance has already been created, it returns the existing instance instead of creating a new one.\n * @example\n * const registry = new Registry()\n * const store = useDataStore()\n * const stonecrop = new Stonecrop(registry, store, schema, workflow, actions)\n */\n constructor(t, n, r, o, s) {\n /**\n * @property {string} name\n * @description The name of the Stonecrop instance\n * @example\n * 'Stonecrop'\n */\n V(this, \"name\", \"Stonecrop\");\n /**\n * @property {Registry} registry\n * @description The registry is an immutable collection of doctypes\n * @example\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 * @see {@link Registry}\n * @see {@link DoctypeMeta}\n */\n V(this, \"registry\");\n /**\n * @property {Schema} schema - The Stonecrop schema\n * @description The schema is a subset of the registry\n * @example\n * {\n * \tdoctype: 'Task',\n * \tschema: {\n * \t\ttitle: 'string',\n * \t\tdescription: 'string',\n * \t\t...\n * \t}\n * }\n * @see {@link Registry}\n * @see {@link DoctypeMeta}\n * @see {@link DoctypeMeta.schema}\n */\n V(this, \"schema\");\n /**\n * @property {ImmutableDoctype['workflow']} workflow\n * @description The workflow is a subset of the registry\n */\n V(this, \"workflow\");\n /**\n * @property {ImmutableDoctype['actions']} actions\n * @description The actions are a subset of the registry\n */\n V(this, \"actions\");\n /**\n * @property {ReturnType<typeof useDataStore>} store\n * @description The Pinia store that manages the mutable records\n */\n V(this, \"store\");\n if (_e._root)\n return _e._root;\n _e._root = this, this.registry = t, this.store = n, this.schema = r, this.workflow = o, this.actions = s;\n }\n /**\n * @method setup\n * @param {DoctypeMeta} doctype - The doctype to setup\n * @returns {void}\n * @description Sets up the Stonecrop instance with the given doctype\n * @example\n * const doctype = await registry.getMeta('Task')\n * stonecrop.setup(doctype)\n */\n setup(t) {\n this.getMeta(t), this.getWorkflow(t), this.getActions(t);\n }\n /**\n * @method getMeta\n * @param {DoctypeMeta} doctype - The doctype to get meta for\n * @returns {DoctypeMeta}\n * @see {@link DoctypeMeta}\n * @throws NotImplementedError\n * @description Gets the meta for the given doctype\n * @example\n * const doctype = await registry.getMeta('Task')\n * const meta = stonecrop.getMeta(doctype)\n */\n getMeta(t) {\n return this.registry.getMeta ? this.registry.getMeta(t.doctype) : new at(t.doctype);\n }\n /**\n * @method getWorkflow\n * @param {DoctypeMeta} doctype - The doctype to get workflow for\n * @returns {void}\n * @description Gets the workflow for the given doctype\n * @example\n * const doctype = await registry.getMeta('Task')\n * stonecrop.getWorkflow(doctype)\n */\n getWorkflow(t) {\n const n = this.registry.registry[t.slug];\n this.workflow = n.workflow;\n }\n /**\n * @method getActions\n * @param {DoctypeMeta} doctype - The doctype to get actions for\n * @returns {void}\n * @description Gets the actions for the given doctype\n * @example\n * const doctype = await registry.getMeta('Task')\n * stonecrop.getActions(doctype)\n */\n getActions(t) {\n const n = this.registry.registry[t.slug];\n this.actions = n.actions;\n }\n /**\n * @method getRecords\n * @param {DoctypeMeta} doctype - The doctype to get records for\n * @param {RequestInit} [filters] - The filters to apply to the records\n * @returns {Promise<void>}\n * @description Gets the records for the given doctype\n * @example\n * const doctype = await registry.getMeta('Task')\n * await stonecrop.getRecords(doctype)\n * @example\n * const doctype = await registry.getMeta('Task')\n * const filters = JSON.stringify({ status: 'Open' })\n * await stonecrop.getRecords(doctype, { body: filters })\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 * @method getRecord\n * @param {DoctypeMeta} doctype - The doctype to get record for\n * @param {string} id - The id of the record to get\n * @returns {Promise<void>}\n * @description Gets the record for the given doctype and id\n * @example\n * const doctype = await registry.getMeta('Task')\n * await stonecrop.getRecord(doctype, 'TASK-00001')\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 * @method runAction\n * @param {DoctypeMeta} doctype - The doctype to run action for\n * @param {string} action - The action to run\n * @param {string[]} [id] - The id(s) of the record(s) to run action on\n * @returns {void}\n * @description Runs the action for the given doctype and id\n * @example\n * const doctype = await registry.getMeta('Task')\n * stonecrop.runAction(doctype, 'CREATE')\n * @example\n * const doctype = await registry.getMeta('Task')\n * stonecrop.runAction(doctype, 'UPDATE', ['TASK-00001'])\n * @example\n * const doctype = await registry.getMeta('Task')\n * stonecrop.runAction(doctype, 'DELETE', ['TASK-00001'])\n * @example\n * const doctype = await registry.getMeta('Task')\n * stonecrop.runAction(doctype, 'TRANSITION', ['TASK-00001', 'TASK-00002'])\n */\n runAction(t, n, r) {\n const s = this.registry.registry[t.slug].actions.get(n), { initialState: i } = this.workflow;\n this.workflow.transition(i, { type: n }), s.length > 0 && s.forEach((a) => {\n new Function(a)(r);\n });\n }\n};\n/**\n * @property {Stonecrop} _root\n * @description The root Stonecrop instance\n */\nV(_e, \"_root\");\nlet ct = _e;\nvar En = !1;\nfunction Ve(e, t, n) {\n return Array.isArray(e) ? (e.length = Math.max(e.length, t), e.splice(t, 1, n), n) : (e[t] = n, n);\n}\nfunction Ze(e, t) {\n if (Array.isArray(e)) {\n e.splice(t, 1);\n return;\n }\n delete e[t];\n}\nfunction Sr() {\n return bn().__VUE_DEVTOOLS_GLOBAL_HOOK__;\n}\nfunction bn() {\n return typeof navigator < \"u\" && typeof window < \"u\" ? window : typeof global < \"u\" ? global : {};\n}\nconst Or = typeof Proxy == \"function\", Nr = \"devtools-plugin:setup\", kr = \"plugin:settings:set\";\nlet me, ut;\nfunction Pr() {\n var e;\n return me !== void 0 || (typeof window < \"u\" && window.performance ? (me = !0, ut = window.performance) : typeof global < \"u\" && (!((e = global.perf_hooks) === null || e === void 0) && e.performance) ? (me = !0, ut = global.perf_hooks.performance) : me = !1), me;\n}\nfunction $r() {\n return Pr() ? ut.now() : Date.now();\n}\nclass Rr {\n constructor(t, n) {\n this.target = null, this.targetQueue = [], this.onQueue = [], this.plugin = t, this.hook = n;\n const r = {};\n if (t.settings)\n for (const i in t.settings) {\n const a = t.settings[i];\n r[i] = a.defaultValue;\n }\n const o = `__vue-devtools-plugin-settings__${t.id}`;\n let s = Object.assign({}, r);\n try {\n const i = localStorage.getItem(o), a = JSON.parse(i);\n Object.assign(s, a);\n } catch {\n }\n this.fallbacks = {\n getSettings() {\n return s;\n },\n setSettings(i) {\n try {\n localStorage.setItem(o, JSON.stringify(i));\n } catch {\n }\n s = i;\n },\n now() {\n return $r();\n }\n }, n && n.on(kr, (i, a) => {\n i === this.plugin.id && this.fallbacks.setSettings(a);\n }), this.proxiedOn = new Proxy({}, {\n get: (i, a) => this.target ? this.target.on[a] : (...c) => {\n this.onQueue.push({\n method: a,\n args: c\n });\n }\n }), this.proxiedTarget = new Proxy({}, {\n get: (i, a) => this.target ? this.target[a] : a === \"on\" ? this.proxiedOn : Object.keys(this.fallbacks).includes(a) ? (...c) => (this.targetQueue.push({\n method: a,\n args: c,\n resolve: () => {\n }\n }), this.fallbacks[a](...c)) : (...c) => new Promise((u) => {\n this.targetQueue.push({\n method: a,\n args: c,\n resolve: u\n });\n })\n });\n }\n async setRealTarget(t) {\n this.target = t;\n for (const n of this.onQueue)\n this.target.on[n.method](...n.args);\n for (const n of this.targetQueue)\n n.resolve(await this.target[n.method](...n.args));\n }\n}\nfunction wt(e, t) {\n const n = e, r = bn(), o = Sr(), s = Or && n.enableEarlyProxy;\n if (o && (r.__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__ || !s))\n o.emit(Nr, e, t);\n else {\n const i = s ? new Rr(n, o) : null;\n (r.__VUE_DEVTOOLS_PLUGINS__ = r.__VUE_DEVTOOLS_PLUGINS__ || []).push({\n pluginDescriptor: n,\n setupFn: t,\n proxy: i\n }), i && t(i.proxiedTarget);\n }\n}\n/*!\n * pinia v2.1.7\n * (c) 2023 Eduardo San Martin Morote\n * @license MIT\n */\nlet ke;\nconst Ce = (e) => ke = e, wn = process.env.NODE_ENV !== \"production\" ? Symbol(\"pinia\") : (\n /* istanbul ignore next */\n Symbol()\n);\nfunction he(e) {\n return e && typeof e == \"object\" && Object.prototype.toString.call(e) === \"[object Object]\" && typeof e.toJSON != \"function\";\n}\nvar Q;\n(function(e) {\n e.direct = \"direct\", e.patchObject = \"patch object\", e.patchFunction = \"patch function\";\n})(Q || (Q = {}));\nconst Ge = typeof window < \"u\", Pe = (process.env.NODE_ENV !== \"production\" || !1) && process.env.NODE_ENV !== \"test\" && Ge, jt = 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 Ir(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 St(e, t, n) {\n const r = new XMLHttpRequest();\n r.open(\"GET\", e), r.responseType = \"blob\", r.onload = function() {\n Nn(r.response, t, n);\n }, r.onerror = function() {\n console.error(\"could not download file\");\n }, r.send();\n}\nfunction Sn(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 je(e) {\n try {\n e.dispatchEvent(new MouseEvent(\"click\"));\n } catch {\n const n = document.createEvent(\"MouseEvents\");\n n.initMouseEvent(\"click\", !0, !0, window, 0, 0, 0, 80, 20, !1, !1, !1, !1, 0, null), e.dispatchEvent(n);\n }\n}\nconst Le = typeof navigator == \"object\" ? navigator : { userAgent: \"\" }, On = /Macintosh/.test(Le.userAgent) && /AppleWebKit/.test(Le.userAgent) && !/Safari/.test(Le.userAgent), Nn = Ge ? (\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 && !On ? Cr : (\n // Use msSaveOrOpenBlob as a second approach\n \"msSaveOrOpenBlob\" in Le ? Ar : (\n // Fallback to using FileReader and a popup\n Tr\n )\n )\n) : () => {\n};\nfunction Cr(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 ? Sn(r.href) ? St(e, t, n) : (r.target = \"_blank\", je(r)) : je(r)) : (r.href = URL.createObjectURL(e), setTimeout(function() {\n URL.revokeObjectURL(r.href);\n }, 4e4), setTimeout(function() {\n je(r);\n }, 0));\n}\nfunction Ar(e, t = \"download\", n) {\n if (typeof e == \"string\")\n if (Sn(e))\n St(e, t, n);\n else {\n const r = document.createElement(\"a\");\n r.href = e, r.target = \"_blank\", setTimeout(function() {\n je(r);\n });\n }\n else\n navigator.msSaveOrOpenBlob(Ir(e, n), t);\n}\nfunction Tr(e, t, n, r) {\n if (r = r || open(\"\", \"_blank\"), r && (r.document.title = r.document.body.innerText = \"downloading...\"), typeof e == \"string\")\n return St(e, t, n);\n const o = e.type === \"application/octet-stream\", s = /constructor/i.test(String(jt.HTMLElement)) || \"safari\" in jt, i = /CriOS\\/[\\d]+/.test(navigator.userAgent);\n if ((i || o && s || On) && typeof FileReader < \"u\") {\n const a = new FileReader();\n a.onloadend = function() {\n let c = a.result;\n if (typeof c != \"string\")\n throw r = null, new Error(\"Wrong reader.result type\");\n c = i ? c : c.replace(/^data:[^;]*;/, \"data:attachment/file;\"), r ? r.location.href = c : location.assign(c), r = null;\n }, a.readAsDataURL(e);\n } else {\n const a = URL.createObjectURL(e);\n r ? r.location.assign(a) : location.href = a, r = null, setTimeout(function() {\n URL.revokeObjectURL(a);\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 Ot(e) {\n return \"_a\" in e && \"install\" in e;\n}\nfunction kn() {\n if (!(\"clipboard\" in navigator))\n return x(\"Your browser doesn't support the Clipboard API\", \"error\"), !0;\n}\nfunction Pn(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 Dr(e) {\n if (!kn())\n try {\n await navigator.clipboard.writeText(JSON.stringify(e.state.value)), x(\"Global state copied to clipboard.\");\n } catch (t) {\n if (Pn(t))\n return;\n x(\"Failed to serialize the state. Check the console for more details.\", \"error\"), console.error(t);\n }\n}\nasync function Mr(e) {\n if (!kn())\n try {\n $n(e, JSON.parse(await navigator.clipboard.readText())), x(\"Global state pasted from clipboard.\");\n } catch (t) {\n if (Pn(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 Vr(e) {\n try {\n Nn(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 xr() {\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 jr(e) {\n try {\n const n = await xr()();\n if (!n)\n return;\n const { text: r, file: o } = n;\n $n(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 $n(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 J(e) {\n return {\n _custom: {\n display: e\n }\n };\n}\nconst Rn = \"🍍 Pinia (root)\", lt = \"_root\";\nfunction Lr(e) {\n return Ot(e) ? {\n id: lt,\n label: Rn\n } : {\n id: e.$id,\n label: e.$id\n };\n}\nfunction Br(e) {\n if (Ot(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((a, c) => (a[c] = i[c], a), {})\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 Ur(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: J(e.type),\n key: J(e.key),\n oldValue: e.oldValue,\n newValue: e.newValue\n } : {};\n}\nfunction Hr(e) {\n switch (e) {\n case Q.direct:\n return \"mutation\";\n case Q.patchFunction:\n return \"$patch\";\n case Q.patchObject:\n return \"$patch\";\n default:\n return \"unknown\";\n }\n}\nlet ve = !0;\nconst Be = [], ce = \"pinia:mutations\", B = \"pinia\", { assign: Fr } = Object, Ue = (e) => \"🍍 \" + e;\nfunction Gr(e, t) {\n wt({\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: Be,\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: ce,\n label: \"Pinia 🍍\",\n color: 15064968\n }), n.addInspector({\n id: B,\n label: \"Pinia 🍍\",\n icon: \"storage\",\n treeFilterPlaceholder: \"Search stores\",\n actions: [\n {\n icon: \"content_copy\",\n action: () => {\n Dr(t);\n },\n tooltip: \"Serialize and copy the state\"\n },\n {\n icon: \"content_paste\",\n action: async () => {\n await Mr(t), n.sendInspectorTree(B), n.sendInspectorState(B);\n },\n tooltip: \"Replace the state with the content of your clipboard\"\n },\n {\n icon: \"save\",\n action: () => {\n Vr(t);\n },\n tooltip: \"Save the state as a JSON file\"\n },\n {\n icon: \"folder_open\",\n action: async () => {\n await jr(t), n.sendInspectorTree(B), n.sendInspectorState(B);\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, o) => {\n const s = r.componentInstance && r.componentInstance.proxy;\n if (s && s._pStores) {\n const i = r.componentInstance.proxy._pStores;\n Object.values(i).forEach((a) => {\n r.instanceData.state.push({\n type: Ue(a.$id),\n key: \"state\",\n editable: !0,\n value: a._isOptionsAPI ? {\n _custom: {\n value: Fe(a.$state),\n actions: [\n {\n icon: \"restore\",\n tooltip: \"Reset the state of this store\",\n action: () => a.$reset()\n }\n ]\n }\n } : (\n // NOTE: workaround to unwrap transferred refs\n Object.keys(a.$state).reduce((c, u) => (c[u] = a.$state[u], c), {})\n )\n }), a._getters && a._getters.length && r.instanceData.state.push({\n type: Ue(a.$id),\n key: \"getters\",\n editable: !1,\n value: a._getters.reduce((c, u) => {\n try {\n c[u] = a[u];\n } catch (f) {\n c[u] = f;\n }\n return c;\n }, {})\n });\n });\n }\n }), n.on.getInspectorTree((r) => {\n if (r.app === e && r.inspectorId === B) {\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()) : Rn.toLowerCase().includes(r.filter.toLowerCase())) : o).map(Lr);\n }\n }), n.on.getInspectorState((r) => {\n if (r.app === e && r.inspectorId === B) {\n const o = r.nodeId === lt ? t : t._s.get(r.nodeId);\n if (!o)\n return;\n o && (r.state = Br(o));\n }\n }), n.on.editInspectorState((r, o) => {\n if (r.app === e && r.inspectorId === B) {\n const s = r.nodeId === lt ? t : t._s.get(r.nodeId);\n if (!s)\n return x(`store \"${r.nodeId}\" not found`, \"error\");\n const { path: i } = r;\n Ot(s) ? i.unshift(\"state\") : (i.length !== 1 || !s._customProperties.has(i[0]) || i[0] in s.$state) && i.unshift(\"$state\"), ve = !1, r.set(s, i, 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 Wr(e, t) {\n Be.includes(Ue(t.$id)) || Be.push(Ue(t.$id)), wt({\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: Be,\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: a, name: c, args: u }) => {\n const f = In++;\n n.addTimelineEvent({\n layerId: ce,\n event: {\n time: r(),\n title: \"🛫 \" + c,\n subtitle: \"start\",\n data: {\n store: J(t.$id),\n action: J(c),\n args: u\n },\n groupId: f\n }\n }), i((l) => {\n re = void 0, n.addTimelineEvent({\n layerId: ce,\n event: {\n time: r(),\n title: \"🛬 \" + c,\n subtitle: \"end\",\n data: {\n store: J(t.$id),\n action: J(c),\n args: u,\n result: l\n },\n groupId: f\n }\n });\n }), a((l) => {\n re = void 0, n.addTimelineEvent({\n layerId: ce,\n event: {\n time: r(),\n logType: \"error\",\n title: \"💥 \" + c,\n subtitle: \"end\",\n data: {\n store: J(t.$id),\n action: J(c),\n args: u,\n error: l\n },\n groupId: f\n }\n });\n });\n }, !0), t._customProperties.forEach((i) => {\n Te(() => le(t[i]), (a, c) => {\n n.notifyComponentUpdate(), n.sendInspectorState(B), ve && n.addTimelineEvent({\n layerId: ce,\n event: {\n time: r(),\n title: \"Change\",\n subtitle: i,\n data: {\n newValue: a,\n oldValue: c\n },\n groupId: re\n }\n });\n }, { deep: !0 });\n }), t.$subscribe(({ events: i, type: a }, c) => {\n if (n.notifyComponentUpdate(), n.sendInspectorState(B), !ve)\n return;\n const u = {\n time: r(),\n title: Hr(a),\n data: Fr({ store: J(t.$id) }, Ur(i)),\n groupId: re\n };\n a === Q.patchFunction ? u.subtitle = \"⤵️\" : a === Q.patchObject ? u.subtitle = \"🧩\" : i && !Array.isArray(i) && (u.subtitle = i.type), i && (u.data[\"rawEvent(s)\"] = {\n _custom: {\n display: \"DebuggerEvent\",\n type: \"object\",\n tooltip: \"raw DebuggerEvent[]\",\n value: i\n }\n }), n.addTimelineEvent({\n layerId: ce,\n event: u\n });\n }, { detached: !0, flush: \"sync\" });\n const o = t._hotUpdate;\n t._hotUpdate = ue((i) => {\n o(i), n.addTimelineEvent({\n layerId: ce,\n event: {\n time: r(),\n title: \"🔥 \" + t.$id,\n subtitle: \"HMR update\",\n data: {\n store: J(t.$id),\n info: J(\"HMR update\")\n }\n }\n }), n.notifyComponentUpdate(), n.sendInspectorTree(B), n.sendInspectorState(B);\n });\n const { $dispose: s } = t;\n t.$dispose = () => {\n s(), n.notifyComponentUpdate(), n.sendInspectorTree(B), n.sendInspectorState(B), n.getSettings().logStoreChanges && x(`Disposed \"${t.$id}\" store 🗑`);\n }, n.notifyComponentUpdate(), n.sendInspectorTree(B), n.sendInspectorState(B), n.getSettings().logStoreChanges && x(`\"${t.$id}\" store installed 🆕`);\n });\n}\nlet In = 0, re;\nfunction Lt(e, t, n) {\n const r = t.reduce((o, s) => (o[s] = Fe(e)[s], o), {});\n for (const o in r)\n e[o] = function() {\n const s = In, i = n ? new Proxy(e, {\n get(...c) {\n return re = s, Reflect.get(...c);\n },\n set(...c) {\n return re = s, Reflect.set(...c);\n }\n }) : e;\n re = s;\n const a = r[o].apply(i, arguments);\n return re = void 0, a;\n };\n}\nfunction zr({ app: e, store: t, options: n }) {\n if (t.$id.startsWith(\"__hot:\"))\n return;\n t._isOptionsAPI = !!n.state, Lt(t, Object.keys(n.actions), t._isOptionsAPI);\n const r = t._hotUpdate;\n Fe(t)._hotUpdate = function(o) {\n r.apply(this, arguments), Lt(t, Object.keys(o._hmrPayload.actions), !!t._isOptionsAPI);\n }, Wr(\n e,\n // FIXME: is there a way to allow the assignment from Store<Id, S, G, A> to StoreGeneric?\n t\n );\n}\nfunction qr() {\n const e = gn(!0), t = e.run(() => oe({}));\n let n = [], r = [];\n const o = ue({\n install(s) {\n Ce(o), o._a = s, s.provide(wn, o), s.config.globalProperties.$pinia = o, Pe && Gr(s, o), r.forEach((i) => n.push(i)), r = [];\n },\n use(s) {\n return !this._a && !En ? r.push(s) : n.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 Pe && typeof Proxy < \"u\" && o.use(zr), o;\n}\nfunction Cn(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 he(o) && he(r) && !Ie(r) && !bt(r) ? e[n] = Cn(o, r) : e[n] = r;\n }\n return e;\n}\nconst An = () => {\n};\nfunction Bt(e, t, n, r = An) {\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 && vr() && yr(o), o;\n}\nfunction ge(e, ...t) {\n e.slice().forEach((n) => {\n n(...t);\n });\n}\nconst Jr = (e) => e();\nfunction ft(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 he(o) && he(r) && e.hasOwnProperty(n) && !Ie(r) && !bt(r) ? e[n] = ft(o, r) : e[n] = r;\n }\n return e;\n}\nconst Kr = process.env.NODE_ENV !== \"production\" ? Symbol(\"pinia:skipHydration\") : (\n /* istanbul ignore next */\n Symbol()\n);\nfunction Qr(e) {\n return !he(e) || !e.hasOwnProperty(Kr);\n}\nconst { assign: W } = Object;\nfunction Ut(e) {\n return !!(Ie(e) && e.effect);\n}\nfunction Ht(e, t, n, r) {\n const { state: o, actions: s, getters: i } = t, a = n.state.value[e];\n let c;\n function u() {\n !a && (process.env.NODE_ENV === \"production\" || !r) && (n.state.value[e] = o ? o() : {});\n const f = process.env.NODE_ENV !== \"production\" && r ? (\n // use ref() to unwrap refs inside state TODO: check if this is still necessary\n xt(oe(o ? o() : {}).value)\n ) : xt(n.state.value[e]);\n return W(f, s, Object.keys(i || {}).reduce((l, d) => (process.env.NODE_ENV !== \"production\" && d in f && console.warn(`[🍍]: A getter cannot have the same name as another state property. Rename one of them. Found with \"${d}\" in store \"${e}\".`), l[d] = ue(z(() => {\n Ce(n);\n const h = n._s.get(e);\n return i[d].call(h, h);\n })), l), {}));\n }\n return c = dt(e, u, t, n, r, !0), c;\n}\nfunction dt(e, t, n = {}, r, o, s) {\n let i;\n const a = W({ actions: {} }, n);\n if (process.env.NODE_ENV !== \"production\" && !r._e.active)\n throw new Error(\"Pinia destroyed\");\n const c = {\n deep: !0\n // flush: 'post',\n };\n process.env.NODE_ENV !== \"production\" && !En && (c.onTrigger = (E) => {\n u ? h = E : u == !1 && !w._hotUpdating && (Array.isArray(h) ? h.push(E) : console.error(\"🍍 debuggerEvents should be an array. This is most likely an internal Pinia bug.\"));\n });\n let u, f, l = [], d = [], h;\n const b = r.state.value[e];\n !s && !b && (process.env.NODE_ENV === \"production\" || !o) && (r.state.value[e] = {});\n const v = oe({});\n let S;\n function C(E) {\n let y;\n u = f = !1, process.env.NODE_ENV !== \"production\" && (h = []), typeof E == \"function\" ? (E(r.state.value[e]), y = {\n type: Q.patchFunction,\n storeId: e,\n events: h\n }) : (ft(r.state.value[e], E), y = {\n type: Q.patchObject,\n payload: E,\n storeId: e,\n events: h\n });\n const A = S = Symbol();\n it().then(() => {\n S === A && (u = !0);\n }), f = !0, ge(l, y, r.state.value[e]);\n }\n const k = s ? function() {\n const { state: y } = n, A = y ? y() : {};\n this.$patch((M) => {\n W(M, A);\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 } : An\n );\n function P() {\n i.stop(), l = [], d = [], r._s.delete(e);\n }\n function j(E, y) {\n return function() {\n Ce(r);\n const A = Array.from(arguments), M = [], ie = [];\n function Se(L) {\n M.push(L);\n }\n function De(L) {\n ie.push(L);\n }\n ge(d, {\n args: A,\n name: E,\n store: w,\n after: Se,\n onError: De\n });\n let K;\n try {\n K = y.apply(this && this.$id === e ? this : w, A);\n } catch (L) {\n throw ge(ie, L), L;\n }\n return K instanceof Promise ? K.then((L) => (ge(M, L), L)).catch((L) => (ge(ie, L), Promise.reject(L))) : (ge(M, K), K);\n };\n }\n const U = /* @__PURE__ */ ue({\n actions: {},\n getters: {},\n state: [],\n hotState: v\n }), q = {\n _p: r,\n // _s: scope,\n $id: e,\n $onAction: Bt.bind(null, d),\n $patch: C,\n $reset: k,\n $subscribe(E, y = {}) {\n const A = Bt(l, E, y.detached, () => M()), M = i.run(() => Te(() => r.state.value[e], (ie) => {\n (y.flush === \"sync\" ? f : u) && E({\n storeId: e,\n type: Q.direct,\n events: h\n }, ie);\n }, W({}, c, y)));\n return A;\n },\n $dispose: P\n }, w = vn(process.env.NODE_ENV !== \"production\" || Pe ? W(\n {\n _hmrPayload: U,\n _customProperties: ue(/* @__PURE__ */ new Set())\n // devtools custom properties\n },\n q\n // must be added later\n // setupStore\n ) : q);\n r._s.set(e, w);\n const G = (r._a && r._a.runWithContext || Jr)(() => r._e.run(() => (i = gn()).run(t)));\n for (const E in G) {\n const y = G[E];\n if (Ie(y) && !Ut(y) || bt(y))\n process.env.NODE_ENV !== \"production\" && o ? Ve(v.value, E, Ye(G, E)) : s || (b && Qr(y) && (Ie(y) ? y.value = b[E] : ft(y, b[E])), r.state.value[e][E] = y), process.env.NODE_ENV !== \"production\" && U.state.push(E);\n else if (typeof y == \"function\") {\n const A = process.env.NODE_ENV !== \"production\" && o ? y : j(E, y);\n G[E] = A, process.env.NODE_ENV !== \"production\" && (U.actions[E] = y), a.actions[E] = y;\n } else process.env.NODE_ENV !== \"production\" && Ut(y) && (U.getters[E] = s ? (\n // @ts-expect-error\n n.getters[E]\n ) : y, Ge && (G._getters || // @ts-expect-error: same\n (G._getters = ue([]))).push(E));\n }\n if (W(w, G), W(Fe(w), G), Object.defineProperty(w, \"$state\", {\n get: () => process.env.NODE_ENV !== \"production\" && o ? v.value : r.state.value[e],\n set: (E) => {\n if (process.env.NODE_ENV !== \"production\" && o)\n throw new Error(\"cannot set hotState\");\n C((y) => {\n W(y, E);\n });\n }\n }), process.env.NODE_ENV !== \"production\" && (w._hotUpdate = ue((E) => {\n w._hotUpdating = !0, E._hmrPayload.state.forEach((y) => {\n if (y in w.$state) {\n const A = E.$state[y], M = w.$state[y];\n typeof A == \"object\" && he(A) && he(M) ? Cn(A, M) : E.$state[y] = M;\n }\n Ve(w, y, Ye(E.$state, y));\n }), Object.keys(w.$state).forEach((y) => {\n y in E.$state || Ze(w, y);\n }), u = !1, f = !1, r.state.value[e] = Ye(E._hmrPayload, \"hotState\"), f = !0, it().then(() => {\n u = !0;\n });\n for (const y in E._hmrPayload.actions) {\n const A = E[y];\n Ve(w, y, j(y, A));\n }\n for (const y in E._hmrPayload.getters) {\n const A = E._hmrPayload.getters[y], M = s ? (\n // special handling of options api\n z(() => (Ce(r), A.call(w, w)))\n ) : A;\n Ve(w, y, M);\n }\n Object.keys(w._hmrPayload.getters).forEach((y) => {\n y in E._hmrPayload.getters || Ze(w, y);\n }), Object.keys(w._hmrPayload.actions).forEach((y) => {\n y in E._hmrPayload.actions || Ze(w, y);\n }), w._hmrPayload = E._hmrPayload, w._getters = E._getters, w._hotUpdating = !1;\n })), Pe) {\n const E = {\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(w, y, W({ value: w[y] }, E));\n });\n }\n return r._p.forEach((E) => {\n if (Pe) {\n const y = i.run(() => E({\n store: w,\n app: r._a,\n pinia: r,\n options: a\n }));\n Object.keys(y || {}).forEach((A) => w._customProperties.add(A)), W(w, y);\n } else\n W(w, i.run(() => E({\n store: w,\n app: r._a,\n pinia: r,\n options: a\n })));\n }), process.env.NODE_ENV !== \"production\" && w.$state && typeof w.$state == \"object\" && typeof w.$state.constructor == \"function\" && !w.$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 \"${w.$id}\".`), b && s && n.hydrate && n.hydrate(w.$state, b), u = !0, f = !0, w;\n}\nfunction Yr(e, t, n) {\n let r, o;\n const s = typeof t == \"function\";\n if (typeof e == \"string\")\n r = e, o = s ? n : t;\n else if (o = e, r = e.id, process.env.NODE_ENV !== \"production\" && typeof r != \"string\")\n throw new Error('[🍍]: \"defineStore()\" must be passed a store id as its first argument.');\n function i(a, c) {\n const u = gr();\n if (a = // in test mode, ignore the argument provided as we can always retrieve a\n // pinia instance with getActivePinia()\n (process.env.NODE_ENV === \"test\" && ke && ke._testing ? null : a) || (u ? de(wn, null) : null), a && Ce(a), process.env.NODE_ENV !== \"production\" && !ke)\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 a = ke, a._s.has(r) || (s ? dt(r, t, o, a) : Ht(r, o, a), process.env.NODE_ENV !== \"production\" && (i._pinia = a));\n const f = a._s.get(r);\n if (process.env.NODE_ENV !== \"production\" && c) {\n const l = \"__hot:\" + r, d = s ? dt(l, t, o, a, !0) : Ht(l, W({}, o), a, !0);\n c._hotUpdate(d), delete a.state.value[l], a._s.delete(l);\n }\n if (process.env.NODE_ENV !== \"production\" && Ge) {\n const l = Et();\n if (l && l.proxy && // avoid adding stores that are just built for hot module replacement\n !c) {\n const d = l.proxy, h = \"_pStores\" in d ? d._pStores : d._pStores = {};\n h[r] = f;\n }\n }\n return f;\n }\n return i.$id = r, i;\n}\nconst Xr = Yr(\"data\", () => {\n const e = oe([]), t = oe({});\n return { records: e, record: t };\n});\nfunction Ai(e) {\n e || (e = de(\"$registry\"));\n const t = Xr(), n = oe(new ct(e, t)), r = oe(!1);\n return _r(async () => {\n var c, u;\n const o = e.router.currentRoute.value, s = (c = o.params.records) == null ? void 0 : c.toString().toLowerCase(), i = (u = o.params.record) == null ? void 0 : u.toString().toLowerCase();\n if (!s && !i)\n return;\n const a = await e.getMeta(s);\n e.addDoctype(a), n.value.setup(a), s && (i ? await n.value.getRecord(a, i) : await n.value.getRecords(a)), n.value.runAction(a, \"LOAD\", i ? [i] : void 0), r.value = !0;\n }), { stonecrop: n, isReady: r };\n}\nclass Ti {\n constructor(t, n, r, o, s) {\n V(this, \"doctype\");\n V(this, \"schema\");\n V(this, \"workflow\");\n V(this, \"actions\");\n // TODO: allow different components for different views; probably\n // should be defined in the schema instead?\n V(this, \"component\");\n this.doctype = t, this.schema = n, this.workflow = r, this.actions = o, this.component = s;\n }\n get slug() {\n return this.doctype.replace(/([a-z])([A-Z])/g, \"$1-$2\").replace(/[\\s_]+/g, \"-\").toLowerCase();\n }\n get __typename() {\n return this.doctype;\n }\n}\nconst Ee = class Ee {\n constructor(t, n) {\n V(this, \"name\");\n V(this, \"router\");\n V(this, \"registry\");\n V(this, \"getMeta\");\n if (Ee._root)\n return Ee._root;\n Ee._root = this, this.name = \"Registry\", this.router = t, this.registry = {}, this.getMeta = n;\n }\n addDoctype(t) {\n t.doctype in Object.keys(this.registry) || (this.registry[t.slug] = t), this.router.hasRoute(t.doctype) || this.router.addRoute({\n path: `/${t.slug}`,\n name: t.slug,\n component: t.component\n });\n }\n};\nV(Ee, \"_root\");\nlet ht = Ee;\n/*!\n * vue-router v4.4.0\n * (c) 2024 Eduardo San Martin Morote\n * @license MIT\n */\nconst Z = typeof document < \"u\";\nfunction Zr(e) {\n return e.__esModule || e[Symbol.toStringTag] === \"Module\";\n}\nconst I = Object.assign;\nfunction et(e, t) {\n const n = {};\n for (const r in t) {\n const o = t[r];\n n[r] = F(o) ? o.map(e) : e(o);\n }\n return n;\n}\nconst $e = () => {\n}, F = Array.isArray;\nfunction O(e) {\n const t = Array.from(arguments).slice(1);\n console.warn.apply(console, [\"[Vue Router warn]: \" + e].concat(t));\n}\nconst Tn = /#/g, eo = /&/g, to = /\\//g, no = /=/g, ro = /\\?/g, Dn = /\\+/g, oo = /%5B/g, so = /%5D/g, Mn = /%5E/g, io = /%60/g, Vn = /%7B/g, ao = /%7C/g, xn = /%7D/g, co = /%20/g;\nfunction Nt(e) {\n return encodeURI(\"\" + e).replace(ao, \"|\").replace(oo, \"[\").replace(so, \"]\");\n}\nfunction uo(e) {\n return Nt(e).replace(Vn, \"{\").replace(xn, \"}\").replace(Mn, \"^\");\n}\nfunction pt(e) {\n return Nt(e).replace(Dn, \"%2B\").replace(co, \"+\").replace(Tn, \"%23\").replace(eo, \"%26\").replace(io, \"`\").replace(Vn, \"{\").replace(xn, \"}\").replace(Mn, \"^\");\n}\nfunction lo(e) {\n return pt(e).replace(no, \"%3D\");\n}\nfunction fo(e) {\n return Nt(e).replace(Tn, \"%23\").replace(ro, \"%3F\");\n}\nfunction ho(e) {\n return e == null ? \"\" : fo(e).replace(to, \"%2F\");\n}\nfunction be(e) {\n try {\n return decodeURIComponent(\"\" + e);\n } catch {\n process.env.NODE_ENV !== \"production\" && O(`Error decoding \"${e}\". Using original value`);\n }\n return \"\" + e;\n}\nconst po = /\\/$/, mo = (e) => e.replace(po, \"\");\nfunction tt(e, t, n = \"/\") {\n let r, o = {}, s = \"\", i = \"\";\n const a = t.indexOf(\"#\");\n let c = t.indexOf(\"?\");\n return a < c && a >= 0 && (c = -1), c > -1 && (r = t.slice(0, c), s = t.slice(c + 1, a > -1 ? a : t.length), o = e(s)), a > -1 && (r = r || t.slice(0, a), i = t.slice(a, t.length)), r = yo(r ?? t, n), {\n fullPath: r + (s && \"?\") + s + i,\n path: r,\n query: o,\n hash: be(i)\n };\n}\nfunction go(e, t) {\n const n = t.query ? e(t.query) : \"\";\n return t.path + (n && \"?\") + n + (t.hash || \"\");\n}\nfunction Ft(e, t) {\n return !t || !e.toLowerCase().startsWith(t.toLowerCase()) ? e : e.slice(t.length) || \"/\";\n}\nfunction Gt(e, t, n) {\n const r = t.matched.length - 1, o = n.matched.length - 1;\n return r > -1 && r === o && se(t.matched[r], n.matched[o]) && jn(t.params, n.params) && e(t.query) === e(n.query) && t.hash === n.hash;\n}\nfunction se(e, t) {\n return (e.aliasOf || e) === (t.aliasOf || t);\n}\nfunction jn(e, t) {\n if (Object.keys(e).length !== Object.keys(t).length)\n return !1;\n for (const n in e)\n if (!vo(e[n], t[n]))\n return !1;\n return !0;\n}\nfunction vo(e, t) {\n return F(e) ? Wt(e, t) : F(t) ? Wt(t, e) : e === t;\n}\nfunction Wt(e, t) {\n return F(t) ? e.length === t.length && e.every((n, r) => n === t[r]) : e.length === 1 && e[0] === t;\n}\nfunction yo(e, t) {\n if (e.startsWith(\"/\"))\n return e;\n if (process.env.NODE_ENV !== \"production\" && !t.startsWith(\"/\"))\n return O(`Cannot resolve a relative location without an absolute path. Trying to resolve \"${e}\" from \"${t}\". It should look like \"/${t}\".`), e;\n if (!e)\n return t;\n const n = t.split(\"/\"), r = e.split(\"/\"), o = r[r.length - 1];\n (o === \"..\" || o === \".\") && r.push(\"\");\n let s = n.length - 1, i, a;\n for (i = 0; i < r.length; i++)\n if (a = r[i], a !== \".\")\n if (a === \"..\")\n s > 1 && s--;\n else\n break;\n return n.slice(0, s).join(\"/\") + \"/\" + r.slice(i).join(\"/\");\n}\nconst te = {\n path: \"/\",\n // TODO: could we use a symbol in the future?\n name: void 0,\n params: {},\n query: {},\n hash: \"\",\n fullPath: \"/\",\n matched: [],\n meta: {},\n redirectedFrom: void 0\n};\nvar Ae;\n(function(e) {\n e.pop = \"pop\", e.push = \"push\";\n})(Ae || (Ae = {}));\nvar Re;\n(function(e) {\n e.back = \"back\", e.forward = \"forward\", e.unknown = \"\";\n})(Re || (Re = {}));\nfunction _o(e) {\n if (!e)\n if (Z) {\n const t = document.querySelector(\"base\");\n e = t && t.getAttribute(\"href\") || \"/\", e = e.replace(/^\\w+:\\/\\/[^\\/]+/, \"\");\n } else\n e = \"/\";\n return e[0] !== \"/\" && e[0] !== \"#\" && (e = \"/\" + e), mo(e);\n}\nconst Eo = /^[^#]+#/;\nfunction bo(e, t) {\n return e.replace(Eo, \"#\") + t;\n}\nfunction wo(e, t) {\n const n = document.documentElement.getBoundingClientRect(), r = e.getBoundingClientRect();\n return {\n behavior: t.behavior,\n left: r.left - n.left - (t.left || 0),\n top: r.top - n.top - (t.top || 0)\n };\n}\nconst We = () => ({\n left: window.scrollX,\n top: window.scrollY\n});\nfunction So(e) {\n let t;\n if (\"el\" in e) {\n const n = e.el, r = typeof n == \"string\" && n.startsWith(\"#\");\n if (process.env.NODE_ENV !== \"production\" && typeof e.el == \"string\" && (!r || !document.getElementById(e.el.slice(1))))\n try {\n const s = document.querySelector(e.el);\n if (r && s) {\n O(`The selector \"${e.el}\" should be passed as \"el: document.querySelector('${e.el}')\" because it starts with \"#\".`);\n return;\n }\n } catch {\n O(`The selector \"${e.el}\" is invalid. If you are using an id selector, make sure to escape it. You can find more information about escaping characters in selectors at https://mathiasbynens.be/notes/css-escapes or use CSS.escape (https://developer.mozilla.org/en-US/docs/Web/API/CSS/escape).`);\n return;\n }\n const o = typeof n == \"string\" ? r ? document.getElementById(n.slice(1)) : document.querySelector(n) : n;\n if (!o) {\n process.env.NODE_ENV !== \"production\" && O(`Couldn't find element using selector \"${e.el}\" returned by scrollBehavior.`);\n return;\n }\n t = wo(o, e);\n } else\n t = e;\n \"scrollBehavior\" in document.documentElement.style ? window.scrollTo(t) : window.scrollTo(t.left != null ? t.left : window.scrollX, t.top != null ? t.top : window.scrollY);\n}\nfunction zt(e, t) {\n return (history.state ? history.state.position - t : -1) + e;\n}\nconst mt = /* @__PURE__ */ new Map();\nfunction Oo(e, t) {\n mt.set(e, t);\n}\nfunction No(e) {\n const t = mt.get(e);\n return mt.delete(e), t;\n}\nlet ko = () => location.protocol + \"//\" + location.host;\nfunction Ln(e, t) {\n const { pathname: n, search: r, hash: o } = t, s = e.indexOf(\"#\");\n if (s > -1) {\n let a = o.includes(e.slice(s)) ? e.slice(s).length : 1, c = o.slice(a);\n return c[0] !== \"/\" && (c = \"/\" + c), Ft(c, \"\");\n }\n return Ft(n, e) + r + o;\n}\nfunction Po(e, t, n, r) {\n let o = [], s = [], i = null;\n const a = ({ state: d }) => {\n const h = Ln(e, location), b = n.value, v = t.value;\n let S = 0;\n if (d) {\n if (n.value = h, t.value = d, i && i === b) {\n i = null;\n return;\n }\n S = v ? d.position - v.position : 0;\n } else\n r(h);\n o.forEach((C) => {\n C(n.value, b, {\n delta: S,\n type: Ae.pop,\n direction: S ? S > 0 ? Re.forward : Re.back : Re.unknown\n });\n });\n };\n function c() {\n i = n.value;\n }\n function u(d) {\n o.push(d);\n const h = () => {\n const b = o.indexOf(d);\n b > -1 && o.splice(b, 1);\n };\n return s.push(h), h;\n }\n function f() {\n const { history: d } = window;\n d.state && d.replaceState(I({}, d.state, { scroll: We() }), \"\");\n }\n function l() {\n for (const d of s)\n d();\n s = [], window.removeEventListener(\"popstate\", a), window.removeEventListener(\"beforeunload\", f);\n }\n return window.addEventListener(\"popstate\", a), window.addEventListener(\"beforeunload\", f, {\n passive: !0\n }), {\n pauseListeners: c,\n listen: u,\n destroy: l\n };\n}\nfunction qt(e, t, n, r = !1, o = !1) {\n return {\n back: e,\n current: t,\n forward: n,\n replaced: r,\n position: window.history.length,\n scroll: o ? We() : null\n };\n}\nfunction $o(e) {\n const { history: t, location: n } = window, r = {\n value: Ln(e, n)\n }, o = { value: t.state };\n o.value || s(r.value, {\n back: null,\n current: r.value,\n forward: null,\n // the length is off by one, we need to decrease it\n position: t.length - 1,\n replaced: !0,\n // don't add a scroll as the user may have an anchor, and we want\n // scrollBehavior to be triggered without a saved position\n scroll: null\n }, !0);\n function s(c, u, f) {\n const l = e.indexOf(\"#\"), d = l > -1 ? (n.host && document.querySelector(\"base\") ? e : e.slice(l)) + c : ko() + e + c;\n try {\n t[f ? \"replaceState\" : \"pushState\"](u, \"\", d), o.value = u;\n } catch (h) {\n process.env.NODE_ENV !== \"production\" ? O(\"Error with push/replace State\", h) : console.error(h), n[f ? \"replace\" : \"assign\"](d);\n }\n }\n function i(c, u) {\n const f = I({}, t.state, qt(\n o.value.back,\n // keep back and forward entries but override current position\n c,\n o.value.forward,\n !0\n ), u, { position: o.value.position });\n s(c, f, !0), r.value = c;\n }\n function a(c, u) {\n const f = I(\n {},\n // use current history state to gracefully handle a wrong call to\n // history.replaceState\n // https://github.com/vuejs/router/issues/366\n o.value,\n t.state,\n {\n forward: c,\n scroll: We()\n }\n );\n process.env.NODE_ENV !== \"production\" && !t.state && O(`history.state seems to have been manually replaced without preserving the necessary values. Make sure to preserve existing history state if you are manually calling history.replaceState:\n\nhistory.replaceState(history.state, '', url)\n\nYou can find more information at https://next.router.vuejs.org/guide/migration/#usage-of-history-state.`), s(f.current, f, !0);\n const l = I({}, qt(r.value, c, null), { position: f.position + 1 }, u);\n s(c, l, !1), r.value = c;\n }\n return {\n location: r,\n state: o,\n push: a,\n replace: i\n };\n}\nfunction Ro(e) {\n e = _o(e);\n const t = $o(e), n = Po(e, t.state, t.location, t.replace);\n function r(s, i = !0) {\n i || n.pauseListeners(), history.go(s);\n }\n const o = I({\n // it's overridden right after\n location: \"\",\n base: e,\n go: r,\n createHref: bo.bind(null, e)\n }, t, n);\n return Object.defineProperty(o, \"location\", {\n enumerable: !0,\n get: () => t.location.value\n }), Object.defineProperty(o, \"state\", {\n enumerable: !0,\n get: () => t.state.value\n }), o;\n}\nfunction He(e) {\n return typeof e == \"string\" || e && typeof e == \"object\";\n}\nfunction Bn(e) {\n return typeof e == \"string\" || typeof e == \"symbol\";\n}\nconst gt = Symbol(process.env.NODE_ENV !== \"production\" ? \"navigation failure\" : \"\");\nvar Jt;\n(function(e) {\n e[e.aborted = 4] = \"aborted\", e[e.cancelled = 8] = \"cancelled\", e[e.duplicated = 16] = \"duplicated\";\n})(Jt || (Jt = {}));\nconst Io = {\n 1({ location: e, currentLocation: t }) {\n return `No match for\n ${JSON.stringify(e)}${t ? `\nwhile being at\n` + JSON.stringify(t) : \"\"}`;\n },\n 2({ from: e, to: t }) {\n return `Redirected from \"${e.fullPath}\" to \"${Ao(t)}\" via a navigation guard.`;\n },\n 4({ from: e, to: t }) {\n return `Navigation aborted from \"${e.fullPath}\" to \"${t.fullPath}\" via a navigation guard.`;\n },\n 8({ from: e, to: t }) {\n return `Navigation cancelled from \"${e.fullPath}\" to \"${t.fullPath}\" with a new navigation.`;\n },\n 16({ from: e, to: t }) {\n return `Avoided redundant navigation to current location: \"${e.fullPath}\".`;\n }\n};\nfunction we(e, t) {\n return process.env.NODE_ENV !== \"production\" ? I(new Error(Io[e](t)), {\n type: e,\n [gt]: !0\n }, t) : I(new Error(), {\n type: e,\n [gt]: !0\n }, t);\n}\nfunction X(e, t) {\n return e instanceof Error && gt in e && (t == null || !!(e.type & t));\n}\nconst Co = [\"params\", \"query\", \"hash\"];\nfunction Ao(e) {\n if (typeof e == \"string\")\n return e;\n if (e.path != null)\n return e.path;\n const t = {};\n for (const n of Co)\n n in e && (t[n] = e[n]);\n return JSON.stringify(t, null, 2);\n}\nconst Kt = \"[^/]+?\", To = {\n sensitive: !1,\n strict: !1,\n start: !0,\n end: !0\n}, Do = /[.+*?^${}()[\\]/\\\\]/g;\nfunction Mo(e, t) {\n const n = I({}, To, t), r = [];\n let o = n.start ? \"^\" : \"\";\n const s = [];\n for (const u of e) {\n const f = u.length ? [] : [\n 90\n /* PathScore.Root */\n ];\n n.strict && !u.length && (o += \"/\");\n for (let l = 0; l < u.length; l++) {\n const d = u[l];\n let h = 40 + (n.sensitive ? 0.25 : 0);\n if (d.type === 0)\n l || (o += \"/\"), o += d.value.replace(Do, \"\\\\$&\"), h += 40;\n else if (d.type === 1) {\n const { value: b, repeatable: v, optional: S, regexp: C } = d;\n s.push({\n name: b,\n repeatable: v,\n optional: S\n });\n const k = C || Kt;\n if (k !== Kt) {\n h += 10;\n try {\n new RegExp(`(${k})`);\n } catch (j) {\n throw new Error(`Invalid custom RegExp for param \"${b}\" (${k}): ` + j.message);\n }\n }\n let P = v ? `((?:${k})(?:/(?:${k}))*)` : `(${k})`;\n l || (P = // avoid an optional / if there are more segments e.g. /:p?-static\n // or /:p?-:p2\n S && u.length < 2 ? `(?:/${P})` : \"/\" + P), S && (P += \"?\"), o += P, h += 20, S && (h += -8), v && (h += -20), k === \".*\" && (h += -50);\n }\n f.push(h);\n }\n r.push(f);\n }\n if (n.strict && n.end) {\n const u = r.length - 1;\n r[u][r[u].length - 1] += 0.7000000000000001;\n }\n n.strict || (o += \"/?\"), n.end ? o += \"$\" : n.strict && (o += \"(?:/|$)\");\n const i = new RegExp(o, n.sensitive ? \"\" : \"i\");\n function a(u) {\n const f = u.match(i), l = {};\n if (!f)\n return null;\n for (let d = 1; d < f.length; d++) {\n const h = f[d] || \"\", b = s[d - 1];\n l[b.name] = h && b.repeatable ? h.split(\"/\") : h;\n }\n return l;\n }\n function c(u) {\n let f = \"\", l = !1;\n for (const d of e) {\n (!l || !f.endsWith(\"/\")) && (f += \"/\"), l = !1;\n for (const h of d)\n if (h.type === 0)\n f += h.value;\n else if (h.type === 1) {\n const { value: b, repeatable: v, optional: S } = h, C = b in u ? u[b] : \"\";\n if (F(C) && !v)\n throw new Error(`Provided param \"${b}\" is an array but it is not repeatable (* or + modifiers)`);\n const k = F(C) ? C.join(\"/\") : C;\n if (!k)\n if (S)\n d.length < 2 && (f.endsWith(\"/\") ? f = f.slice(0, -1) : l = !0);\n else\n throw new Error(`Missing required param \"${b}\"`);\n f += k;\n }\n }\n return f || \"/\";\n }\n return {\n re: i,\n score: r,\n keys: s,\n parse: a,\n stringify: c\n };\n}\nfunction Vo(e, t) {\n let n = 0;\n for (; n < e.length && n < t.length; ) {\n const r = t[n] - e[n];\n if (r)\n return r;\n n++;\n }\n return e.length < t.length ? e.length === 1 && e[0] === 80 ? -1 : 1 : e.length > t.length ? t.length === 1 && t[0] === 80 ? 1 : -1 : 0;\n}\nfunction Un(e, t) {\n let n = 0;\n const r = e.score, o = t.score;\n for (; n < r.length && n < o.length; ) {\n const s = Vo(r[n], o[n]);\n if (s)\n return s;\n n++;\n }\n if (Math.abs(o.length - r.length) === 1) {\n if (Qt(r))\n return 1;\n if (Qt(o))\n return -1;\n }\n return o.length - r.length;\n}\nfunction Qt(e) {\n const t = e[e.length - 1];\n return e.length > 0 && t[t.length - 1] < 0;\n}\nconst xo = {\n type: 0,\n value: \"\"\n}, jo = /[a-zA-Z0-9_]/;\nfunction Lo(e) {\n if (!e)\n return [[]];\n if (e === \"/\")\n return [[xo]];\n if (!e.startsWith(\"/\"))\n throw new Error(process.env.NODE_ENV !== \"production\" ? `Route paths should start with a \"/\": \"${e}\" should be \"/${e}\".` : `Invalid path \"${e}\"`);\n function t(h) {\n throw new Error(`ERR (${n})/\"${u}\": ${h}`);\n }\n let n = 0, r = n;\n const o = [];\n let s;\n function i() {\n s && o.push(s), s = [];\n }\n let a = 0, c, u = \"\", f = \"\";\n function l() {\n u && (n === 0 ? s.push({\n type: 0,\n value: u\n }) : n === 1 || n === 2 || n === 3 ? (s.length > 1 && (c === \"*\" || c === \"+\") && t(`A repeatable param (${u}) must be alone in its segment. eg: '/:ids+.`), s.push({\n type: 1,\n value: u,\n regexp: f,\n repeatable: c === \"*\" || c === \"+\",\n optional: c === \"*\" || c === \"?\"\n })) : t(\"Invalid state to consume buffer\"), u = \"\");\n }\n function d() {\n u += c;\n }\n for (; a < e.length; ) {\n if (c = e[a++], c === \"\\\\\" && n !== 2) {\n r = n, n = 4;\n continue;\n }\n switch (n) {\n case 0:\n c === \"/\" ? (u && l(), i()) : c === \":\" ? (l(), n = 1) : d();\n break;\n case 4:\n d(), n = r;\n break;\n case 1:\n c === \"(\" ? n = 2 : jo.test(c) ? d() : (l(), n = 0, c !== \"*\" && c !== \"?\" && c !== \"+\" && a--);\n break;\n case 2:\n c === \")\" ? f[f.length - 1] == \"\\\\\" ? f = f.slice(0, -1) + c : n = 3 : f += c;\n break;\n case 3:\n l(), n = 0, c !== \"*\" && c !== \"?\" && c !== \"+\" && a--, f = \"\";\n break;\n default:\n t(\"Unknown state\");\n break;\n }\n }\n return n === 2 && t(`Unfinished custom RegExp for param \"${u}\"`), l(), i(), o;\n}\nfunction Bo(e, t, n) {\n const r = Mo(Lo(e.path), n);\n if (process.env.NODE_ENV !== \"production\") {\n const s = /* @__PURE__ */ new Set();\n for (const i of r.keys)\n s.has(i.name) && O(`Found duplicated params with name \"${i.name}\" for path \"${e.path}\". Only the last one will be available on \"$route.params\".`), s.add(i.name);\n }\n const o = I(r, {\n record: e,\n parent: t,\n // these needs to be populated by the parent\n children: [],\n alias: []\n });\n return t && !o.record.aliasOf == !t.record.aliasOf && t.children.push(o), o;\n}\nfunction Uo(e, t) {\n const n = [], r = /* @__PURE__ */ new Map();\n t = Zt({ strict: !1, end: !0, sensitive: !1 }, t);\n function o(l) {\n return r.get(l);\n }\n function s(l, d, h) {\n const b = !h, v = Ho(l);\n process.env.NODE_ENV !== \"production\" && zo(v, d), v.aliasOf = h && h.record;\n const S = Zt(t, l), C = [\n v\n ];\n if (\"alias\" in l) {\n const j = typeof l.alias == \"string\" ? [l.alias] : l.alias;\n for (const U of j)\n C.push(I({}, v, {\n // this allows us to hold a copy of the `components` option\n // so that async components cache is hold on the original record\n components: h ? h.record.components : v.components,\n path: U,\n // we might be the child of an alias\n aliasOf: h ? h.record : v\n // the aliases are always of the same kind as the original since they\n // are defined on the same record\n }));\n }\n let k, P;\n for (const j of C) {\n const { path: U } = j;\n if (d && U[0] !== \"/\") {\n const q = d.record.path, w = q[q.length - 1] === \"/\" ? \"\" : \"/\";\n j.path = d.record.path + (U && w + U);\n }\n if (process.env.NODE_ENV !== \"production\" && j.path === \"*\")\n throw new Error(`Catch all routes (\"*\") must now be defined using a param with a custom regexp.\nSee more at https://next.router.vuejs.org/guide/migration/#removed-star-or-catch-all-routes.`);\n if (k = Bo(j, d, S), process.env.NODE_ENV !== \"production\" && d && U[0] === \"/\" && qo(k, d), h ? (h.alias.push(k), process.env.NODE_ENV !== \"production\" && Wo(h, k)) : (P = P || k, P !== k && P.alias.push(k), b && l.name && !Xt(k) && i(l.name)), Hn(k) && c(k), v.children) {\n const q = v.children;\n for (let w = 0; w < q.length; w++)\n s(q[w], k, h && h.children[w]);\n }\n h = h || k;\n }\n return P ? () => {\n i(P);\n } : $e;\n }\n function i(l) {\n if (Bn(l)) {\n const d = r.get(l);\n d && (r.delete(l), n.splice(n.indexOf(d), 1), d.children.forEach(i), d.alias.forEach(i));\n } else {\n const d = n.indexOf(l);\n d > -1 && (n.splice(d, 1), l.record.name && r.delete(l.record.name), l.children.forEach(i), l.alias.forEach(i));\n }\n }\n function a() {\n return n;\n }\n function c(l) {\n const d = Jo(l, n);\n n.splice(d, 0, l), l.record.name && !Xt(l) && r.set(l.record.name, l);\n }\n function u(l, d) {\n let h, b = {}, v, S;\n if (\"name\" in l && l.name) {\n if (h = r.get(l.name), !h)\n throw we(1, {\n location: l\n });\n if (process.env.NODE_ENV !== \"production\") {\n const P = Object.keys(l.params || {}).filter((j) => !h.keys.find((U) => U.name === j));\n P.length && O(`Discarded invalid param(s) \"${P.join('\", \"')}\" when navigating. See https://github.com/vuejs/router/blob/main/packages/router/CHANGELOG.md#414-2022-08-22 for more details.`);\n }\n S = h.record.name, b = I(\n // paramsFromLocation is a new object\n Yt(\n d.params,\n // only keep params that exist in the resolved location\n // only keep optional params coming from a parent record\n h.keys.filter((P) => !P.optional).concat(h.parent ? h.parent.keys.filter((P) => P.optional) : []).map((P) => P.name)\n ),\n // discard any existing params in the current location that do not exist here\n // #1497 this ensures better active/exact matching\n l.params && Yt(l.params, h.keys.map((P) => P.name))\n ), v = h.stringify(b);\n } else if (l.path != null)\n v = l.path, process.env.NODE_ENV !== \"production\" && !v.startsWith(\"/\") && O(`The Matcher cannot resolve relative paths but received \"${v}\". Unless you directly called \\`matcher.resolve(\"${v}\")\\`, this is probably a bug in vue-router. Please open an issue at https://github.com/vuejs/router/issues/new/choose.`), h = n.find((P) => P.re.test(v)), h && (b = h.parse(v), S = h.record.name);\n else {\n if (h = d.name ? r.get(d.name) : n.find((P) => P.re.test(d.path)), !h)\n throw we(1, {\n location: l,\n currentLocation: d\n });\n S = h.record.name, b = I({}, d.params, l.params), v = h.stringify(b);\n }\n const C = [];\n let k = h;\n for (; k; )\n C.unshift(k.record), k = k.parent;\n return {\n name: S,\n path: v,\n params: b,\n matched: C,\n meta: Go(C)\n };\n }\n e.forEach((l) => s(l));\n function f() {\n n.length = 0, r.clear();\n }\n return {\n addRoute: s,\n resolve: u,\n removeRoute: i,\n clearRoutes: f,\n getRoutes: a,\n getRecordMatcher: o\n };\n}\nfunction Yt(e, t) {\n const n = {};\n for (const r of t)\n r in e && (n[r] = e[r]);\n return n;\n}\nfunction Ho(e) {\n return {\n path: e.path,\n redirect: e.redirect,\n name: e.name,\n meta: e.meta || {},\n aliasOf: void 0,\n beforeEnter: e.beforeEnter,\n props: Fo(e),\n children: e.children || [],\n instances: {},\n leaveGuards: /* @__PURE__ */ new Set(),\n updateGuards: /* @__PURE__ */ new Set(),\n enterCallbacks: {},\n components: \"components\" in e ? e.components || null : e.component && { default: e.component }\n };\n}\nfunction Fo(e) {\n const t = {}, n = e.props || !1;\n if (\"component\" in e)\n t.default = n;\n else\n for (const r in e.components)\n t[r] = typeof n == \"object\" ? n[r] : n;\n return t;\n}\nfunction Xt(e) {\n for (; e; ) {\n if (e.record.aliasOf)\n return !0;\n e = e.parent;\n }\n return !1;\n}\nfunction Go(e) {\n return e.reduce((t, n) => I(t, n.meta), {});\n}\nfunction Zt(e, t) {\n const n = {};\n for (const r in e)\n n[r] = r in t ? t[r] : e[r];\n return n;\n}\nfunction vt(e, t) {\n return e.name === t.name && e.optional === t.optional && e.repeatable === t.repeatable;\n}\nfunction Wo(e, t) {\n for (const n of e.keys)\n if (!n.optional && !t.keys.find(vt.bind(null, n)))\n return O(`Alias \"${t.record.path}\" and the original record: \"${e.record.path}\" must have the exact same param named \"${n.name}\"`);\n for (const n of t.keys)\n if (!n.optional && !e.keys.find(vt.bind(null, n)))\n return O(`Alias \"${t.record.path}\" and the original record: \"${e.record.path}\" must have the exact same param named \"${n.name}\"`);\n}\nfunction zo(e, t) {\n t && t.record.name && !e.name && !e.path && O(`The route named \"${String(t.record.name)}\" has a child without a name and an empty path. Using that name won't render the empty path child so you probably want to move the name to the child instead. If this is intentional, add a name to the child route to remove the warning.`);\n}\nfunction qo(e, t) {\n for (const n of t.keys)\n if (!e.keys.find(vt.bind(null, n)))\n return O(`Absolute path \"${e.record.path}\" must have the exact same param named \"${n.name}\" as its parent \"${t.record.path}\".`);\n}\nfunction Jo(e, t) {\n let n = 0, r = t.length;\n for (; n !== r; ) {\n const s = n + r >> 1;\n Un(e, t[s]) < 0 ? r = s : n = s + 1;\n }\n const o = Ko(e);\n return o && (r = t.lastIndexOf(o, r - 1), process.env.NODE_ENV !== \"production\" && r < 0 && O(`Finding ancestor route \"${o.record.path}\" failed for \"${e.record.path}\"`)), r;\n}\nfunction Ko(e) {\n let t = e;\n for (; t = t.parent; )\n if (Hn(t) && Un(e, t) === 0)\n return t;\n}\nfunction Hn({ record: e }) {\n return !!(e.name || e.components && Object.keys(e.components).length || e.redirect);\n}\nfunction Qo(e) {\n const t = {};\n if (e === \"\" || e === \"?\")\n return t;\n const r = (e[0] === \"?\" ? e.slice(1) : e).split(\"&\");\n for (let o = 0; o < r.length; ++o) {\n const s = r[o].replace(Dn, \" \"), i = s.indexOf(\"=\"), a = be(i < 0 ? s : s.slice(0, i)), c = i < 0 ? null : be(s.slice(i + 1));\n if (a in t) {\n let u = t[a];\n F(u) || (u = t[a] = [u]), u.push(c);\n } else\n t[a] = c;\n }\n return t;\n}\nfunction en(e) {\n let t = \"\";\n for (let n in e) {\n const r = e[n];\n if (n = lo(n), r == null) {\n r !== void 0 && (t += (t.length ? \"&\" : \"\") + n);\n continue;\n }\n (F(r) ? r.map((s) => s && pt(s)) : [r && pt(r)]).forEach((s) => {\n s !== void 0 && (t += (t.length ? \"&\" : \"\") + n, s != null && (t += \"=\" + s));\n });\n }\n return t;\n}\nfunction Yo(e) {\n const t = {};\n for (const n in e) {\n const r = e[n];\n r !== void 0 && (t[n] = F(r) ? r.map((o) => o == null ? null : \"\" + o) : r == null ? r : \"\" + r);\n }\n return t;\n}\nconst Xo = Symbol(process.env.NODE_ENV !== \"production\" ? \"router view location matched\" : \"\"), tn = Symbol(process.env.NODE_ENV !== \"production\" ? \"router view depth\" : \"\"), kt = Symbol(process.env.NODE_ENV !== \"production\" ? \"router\" : \"\"), Fn = Symbol(process.env.NODE_ENV !== \"production\" ? \"route location\" : \"\"), yt = Symbol(process.env.NODE_ENV !== \"production\" ? \"router view location\" : \"\");\nfunction Oe() {\n let e = [];\n function t(r) {\n return e.push(r), () => {\n const o = e.indexOf(r);\n o > -1 && e.splice(o, 1);\n };\n }\n function n() {\n e = [];\n }\n return {\n add: t,\n list: () => e.slice(),\n reset: n\n };\n}\nfunction ne(e, t, n, r, o, s = (i) => i()) {\n const i = r && // name is defined if record is because of the function overload\n (r.enterCallbacks[o] = r.enterCallbacks[o] || []);\n return () => new Promise((a, c) => {\n const u = (d) => {\n d === !1 ? c(we(4, {\n from: n,\n to: t\n })) : d instanceof Error ? c(d) : He(d) ? c(we(2, {\n from: t,\n to: d\n })) : (i && // since enterCallbackArray is truthy, both record and name also are\n r.enterCallbacks[o] === i && typeof d == \"function\" && i.push(d), a());\n }, f = s(() => e.call(r && r.instances[o], t, n, process.env.NODE_ENV !== \"production\" ? Zo(u, t, n) : u));\n let l = Promise.resolve(f);\n if (e.length < 3 && (l = l.then(u)), process.env.NODE_ENV !== \"production\" && e.length > 2) {\n const d = `The \"next\" callback was never called inside of ${e.name ? '\"' + e.name + '\"' : \"\"}:\n${e.toString()}\n. If you are returning a value instead of calling \"next\", make sure to remove the \"next\" parameter from your function.`;\n if (typeof f == \"object\" && \"then\" in f)\n l = l.then((h) => u._called ? h : (O(d), Promise.reject(new Error(\"Invalid navigation guard\"))));\n else if (f !== void 0 && !u._called) {\n O(d), c(new Error(\"Invalid navigation guard\"));\n return;\n }\n }\n l.catch((d) => c(d));\n });\n}\nfunction Zo(e, t, n) {\n let r = 0;\n return function() {\n r++ === 1 && O(`The \"next\" callback was called more than once in one navigation guard when going from \"${n.fullPath}\" to \"${t.fullPath}\". It should be called exactly one time in each navigation guard. This will fail in production.`), e._called = !0, r === 1 && e.apply(null, arguments);\n };\n}\nfunction nt(e, t, n, r, o = (s) => s()) {\n const s = [];\n for (const i of e) {\n process.env.NODE_ENV !== \"production\" && !i.components && !i.children.length && O(`Record with path \"${i.path}\" is either missing a \"component(s)\" or \"children\" property.`);\n for (const a in i.components) {\n let c = i.components[a];\n if (process.env.NODE_ENV !== \"production\") {\n if (!c || typeof c != \"object\" && typeof c != \"function\")\n throw O(`Component \"${a}\" in record with path \"${i.path}\" is not a valid component. Received \"${String(c)}\".`), new Error(\"Invalid route component\");\n if (\"then\" in c) {\n O(`Component \"${a}\" in record with path \"${i.path}\" is a Promise instead of a function that returns a Promise. Did you write \"import('./MyPage.vue')\" instead of \"() => import('./MyPage.vue')\" ? This will break in production if not fixed.`);\n const u = c;\n c = () => u;\n } else c.__asyncLoader && // warn only once per component\n !c.__warnedDefineAsync && (c.__warnedDefineAsync = !0, O(`Component \"${a}\" in record with path \"${i.path}\" is defined using \"defineAsyncComponent()\". Write \"() => import('./MyPage.vue')\" instead of \"defineAsyncComponent(() => import('./MyPage.vue'))\".`));\n }\n if (!(t !== \"beforeRouteEnter\" && !i.instances[a]))\n if (es(c)) {\n const f = (c.__vccOpts || c)[t];\n f && s.push(ne(f, n, r, i, a, o));\n } else {\n let u = c();\n process.env.NODE_ENV !== \"production\" && !(\"catch\" in u) && (O(`Component \"${a}\" in record with path \"${i.path}\" is a function that does not return a Promise. If you were passing a functional component, make sure to add a \"displayName\" to the component. This will break in production if not fixed.`), u = Promise.resolve(u)), s.push(() => u.then((f) => {\n if (!f)\n return Promise.reject(new Error(`Couldn't resolve component \"${a}\" at \"${i.path}\"`));\n const l = Zr(f) ? f.default : f;\n i.components[a] = l;\n const h = (l.__vccOpts || l)[t];\n return h && ne(h, n, r, i, a, o)();\n }));\n }\n }\n }\n return s;\n}\nfunction es(e) {\n return typeof e == \"object\" || \"displayName\" in e || \"props\" in e || \"__vccOpts\" in e;\n}\nfunction nn(e) {\n const t = de(kt), n = de(Fn);\n let r = !1, o = null;\n const s = z(() => {\n const f = le(e.to);\n return process.env.NODE_ENV !== \"production\" && (!r || f !== o) && (He(f) || (r ? O(`Invalid value for prop \"to\" in useLink()\n- to:`, f, `\n- previous to:`, o, `\n- props:`, e) : O(`Invalid value for prop \"to\" in useLink()\n- to:`, f, `\n- props:`, e)), o = f, r = !0), t.resolve(f);\n }), i = z(() => {\n const { matched: f } = s.value, { length: l } = f, d = f[l - 1], h = n.matched;\n if (!d || !h.length)\n return -1;\n const b = h.findIndex(se.bind(null, d));\n if (b > -1)\n return b;\n const v = rn(f[l - 2]);\n return (\n // we are dealing with nested routes\n l > 1 && // if the parent and matched route have the same path, this link is\n // referring to the empty child. Or we currently are on a different\n // child of the same parent\n rn(d) === v && // avoid comparing the child with its parent\n h[h.length - 1].path !== v ? h.findIndex(se.bind(null, f[l - 2])) : b\n );\n }), a = z(() => i.value > -1 && os(n.params, s.value.params)), c = z(() => i.value > -1 && i.value === n.matched.length - 1 && jn(n.params, s.value.params));\n function u(f = {}) {\n return rs(f) ? t[le(e.replace) ? \"replace\" : \"push\"](\n le(e.to)\n // avoid uncaught errors are they are logged anyway\n ).catch($e) : Promise.resolve();\n }\n if (process.env.NODE_ENV !== \"production\" && Z) {\n const f = Et();\n if (f) {\n const l = {\n route: s.value,\n isActive: a.value,\n isExactActive: c.value,\n error: null\n };\n f.__vrl_devtools = f.__vrl_devtools || [], f.__vrl_devtools.push(l), wr(() => {\n l.route = s.value, l.isActive = a.value, l.isExactActive = c.value, l.error = He(le(e.to)) ? null : 'Invalid \"to\" value';\n }, { flush: \"post\" });\n }\n }\n return {\n route: s,\n href: z(() => s.value.href),\n isActive: a,\n isExactActive: c,\n navigate: u\n };\n}\nconst ts = /* @__PURE__ */ yn({\n name: \"RouterLink\",\n compatConfig: { MODE: 3 },\n props: {\n to: {\n type: [String, Object],\n required: !0\n },\n replace: Boolean,\n activeClass: String,\n // inactiveClass: String,\n exactActiveClass: String,\n custom: Boolean,\n ariaCurrentValue: {\n type: String,\n default: \"page\"\n }\n },\n useLink: nn,\n setup(e, { slots: t }) {\n const n = vn(nn(e)), { options: r } = de(kt), o = z(() => ({\n [on(e.activeClass, r.linkActiveClass, \"router-link-active\")]: n.isActive,\n // [getLinkClass(\n // props.inactiveClass,\n // options.linkInactiveClass,\n // 'router-link-inactive'\n // )]: !link.isExactActive,\n [on(e.exactActiveClass, r.linkExactActiveClass, \"router-link-exact-active\")]: n.isExactActive\n }));\n return () => {\n const s = t.default && t.default(n);\n return e.custom ? s : _n(\"a\", {\n \"aria-current\": n.isExactActive ? e.ariaCurrentValue : null,\n href: n.href,\n // this would override user added attrs but Vue will still add\n // the listener, so we end up triggering both\n onClick: n.navigate,\n class: o.value\n }, s);\n };\n }\n}), ns = ts;\nfunction rs(e) {\n if (!(e.metaKey || e.altKey || e.ctrlKey || e.shiftKey) && !e.defaultPrevented && !(e.button !== void 0 && e.button !== 0)) {\n if (e.currentTarget && e.currentTarget.getAttribute) {\n const t = e.currentTarget.getAttribute(\"target\");\n if (/\\b_blank\\b/i.test(t))\n return;\n }\n return e.preventDefault && e.preventDefault(), !0;\n }\n}\nfunction os(e, t) {\n for (const n in t) {\n const r = t[n], o = e[n];\n if (typeof r == \"string\") {\n if (r !== o)\n return !1;\n } else if (!F(o) || o.length !== r.length || r.some((s, i) => s !== o[i]))\n return !1;\n }\n return !0;\n}\nfunction rn(e) {\n return e ? e.aliasOf ? e.aliasOf.path : e.path : \"\";\n}\nconst on = (e, t, n) => e ?? t ?? n, ss = /* @__PURE__ */ yn({\n name: \"RouterView\",\n // #674 we manually inherit them\n inheritAttrs: !1,\n props: {\n name: {\n type: String,\n default: \"default\"\n },\n route: Object\n },\n // Better compat for @vue/compat users\n // https://github.com/vuejs/router/issues/1315\n compatConfig: { MODE: 3 },\n setup(e, { attrs: t, slots: n }) {\n process.env.NODE_ENV !== \"production\" && as();\n const r = de(yt), o = z(() => e.route || r.value), s = de(tn, 0), i = z(() => {\n let u = le(s);\n const { matched: f } = o.value;\n let l;\n for (; (l = f[u]) && !l.components; )\n u++;\n return u;\n }), a = z(() => o.value.matched[i.value]);\n Xe(tn, z(() => i.value + 1)), Xe(Xo, a), Xe(yt, o);\n const c = oe();\n return Te(() => [c.value, a.value, e.name], ([u, f, l], [d, h, b]) => {\n f && (f.instances[l] = u, h && h !== f && u && u === d && (f.leaveGuards.size || (f.leaveGuards = h.leaveGuards), f.updateGuards.size || (f.updateGuards = h.updateGuards))), u && f && // if there is no instance but to and from are the same this might be\n // the first visit\n (!h || !se(f, h) || !d) && (f.enterCallbacks[l] || []).forEach((v) => v(u));\n }, { flush: \"post\" }), () => {\n const u = o.value, f = e.name, l = a.value, d = l && l.components[f];\n if (!d)\n return sn(n.default, { Component: d, route: u });\n const h = l.props[f], b = h ? h === !0 ? u.params : typeof h == \"function\" ? h(u) : h : null, S = _n(d, I({}, b, t, {\n onVnodeUnmounted: (C) => {\n C.component.isUnmounted && (l.instances[f] = null);\n },\n ref: c\n }));\n if (process.env.NODE_ENV !== \"production\" && Z && S.ref) {\n const C = {\n depth: i.value,\n name: l.name,\n path: l.path,\n meta: l.meta\n };\n (F(S.ref) ? S.ref.map((P) => P.i) : [S.ref.i]).forEach((P) => {\n P.__vrv_devtools = C;\n });\n }\n return (\n // pass the vnode to the slot as a prop.\n // h and <component :is=\"...\"> both accept vnodes\n sn(n.default, { Component: S, route: u }) || S\n );\n };\n }\n});\nfunction sn(e, t) {\n if (!e)\n return null;\n const n = e(t);\n return n.length === 1 ? n[0] : n;\n}\nconst is = ss;\nfunction as() {\n const e = Et(), t = e.parent && e.parent.type.name, n = e.parent && e.parent.subTree && e.parent.subTree.type;\n if (t && (t === \"KeepAlive\" || t.includes(\"Transition\")) && typeof n == \"object\" && n.name === \"RouterView\") {\n const r = t === \"KeepAlive\" ? \"keep-alive\" : \"transition\";\n O(`<router-view> can no longer be used directly inside <transition> or <keep-alive>.\nUse slot props instead:\n\n<router-view v-slot=\"{ Component }\">\n <${r}>\n <component :is=\"Component\" />\n </${r}>\n</router-view>`);\n }\n}\nfunction Ne(e, t) {\n const n = I({}, e, {\n // remove variables that can contain vue instances\n matched: e.matched.map((r) => ys(r, [\"instances\", \"children\", \"aliasOf\"]))\n });\n return {\n _custom: {\n type: null,\n readOnly: !0,\n display: e.fullPath,\n tooltip: t,\n value: n\n }\n };\n}\nfunction xe(e) {\n return {\n _custom: {\n display: e\n }\n };\n}\nlet cs = 0;\nfunction us(e, t, n) {\n if (t.__hasDevtools)\n return;\n t.__hasDevtools = !0;\n const r = cs++;\n wt({\n id: \"org.vuejs.router\" + (r ? \".\" + r : \"\"),\n label: \"Vue Router\",\n packageName: \"vue-router\",\n homepage: \"https://router.vuejs.org\",\n logo: \"https://router.vuejs.org/logo.png\",\n componentStateTypes: [\"Routing\"],\n app: e\n }, (o) => {\n typeof o.now != \"function\" && console.warn(\"[Vue Router]: 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.\"), o.on.inspectComponent((f, l) => {\n f.instanceData && f.instanceData.state.push({\n type: \"Routing\",\n key: \"$route\",\n editable: !1,\n value: Ne(t.currentRoute.value, \"Current Route\")\n });\n }), o.on.visitComponentTree(({ treeNode: f, componentInstance: l }) => {\n if (l.__vrv_devtools) {\n const d = l.__vrv_devtools;\n f.tags.push({\n label: (d.name ? `${d.name.toString()}: ` : \"\") + d.path,\n textColor: 0,\n tooltip: \"This component is rendered by <router-view>\",\n backgroundColor: Gn\n });\n }\n F(l.__vrl_devtools) && (l.__devtoolsApi = o, l.__vrl_devtools.forEach((d) => {\n let h = d.route.path, b = qn, v = \"\", S = 0;\n d.error ? (h = d.error, b = ps, S = ms) : d.isExactActive ? (b = zn, v = \"This is exactly active\") : d.isActive && (b = Wn, v = \"This link is active\"), f.tags.push({\n label: h,\n textColor: S,\n tooltip: v,\n backgroundColor: b\n });\n }));\n }), Te(t.currentRoute, () => {\n c(), o.notifyComponentUpdate(), o.sendInspectorTree(a), o.sendInspectorState(a);\n });\n const s = \"router:navigations:\" + r;\n o.addTimelineLayer({\n id: s,\n label: `Router${r ? \" \" + r : \"\"} Navigations`,\n color: 4237508\n }), t.onError((f, l) => {\n o.addTimelineEvent({\n layerId: s,\n event: {\n title: \"Error during Navigation\",\n subtitle: l.fullPath,\n logType: \"error\",\n time: o.now(),\n data: { error: f },\n groupId: l.meta.__navigationId\n }\n });\n });\n let i = 0;\n t.beforeEach((f, l) => {\n const d = {\n guard: xe(\"beforeEach\"),\n from: Ne(l, \"Current Location during this navigation\"),\n to: Ne(f, \"Target location\")\n };\n Object.defineProperty(f.meta, \"__navigationId\", {\n value: i++\n }), o.addTimelineEvent({\n layerId: s,\n event: {\n time: o.now(),\n title: \"Start of navigation\",\n subtitle: f.fullPath,\n data: d,\n groupId: f.meta.__navigationId\n }\n });\n }), t.afterEach((f, l, d) => {\n const h = {\n guard: xe(\"afterEach\")\n };\n d ? (h.failure = {\n _custom: {\n type: Error,\n readOnly: !0,\n display: d ? d.message : \"\",\n tooltip: \"Navigation Failure\",\n value: d\n }\n }, h.status = xe(\"❌\")) : h.status = xe(\"✅\"), h.from = Ne(l, \"Current Location during this navigation\"), h.to = Ne(f, \"Target location\"), o.addTimelineEvent({\n layerId: s,\n event: {\n title: \"End of navigation\",\n subtitle: f.fullPath,\n time: o.now(),\n data: h,\n logType: d ? \"warning\" : \"default\",\n groupId: f.meta.__navigationId\n }\n });\n });\n const a = \"router-inspector:\" + r;\n o.addInspector({\n id: a,\n label: \"Routes\" + (r ? \" \" + r : \"\"),\n icon: \"book\",\n treeFilterPlaceholder: \"Search routes\"\n });\n function c() {\n if (!u)\n return;\n const f = u;\n let l = n.getRoutes().filter((d) => !d.parent || // these routes have a parent with no component which will not appear in the view\n // therefore we still need to include them\n !d.parent.record.components);\n l.forEach(Qn), f.filter && (l = l.filter((d) => (\n // save matches state based on the payload\n _t(d, f.filter.toLowerCase())\n ))), l.forEach((d) => Kn(d, t.currentRoute.value)), f.rootNodes = l.map(Jn);\n }\n let u;\n o.on.getInspectorTree((f) => {\n u = f, f.app === e && f.inspectorId === a && c();\n }), o.on.getInspectorState((f) => {\n if (f.app === e && f.inspectorId === a) {\n const d = n.getRoutes().find((h) => h.record.__vd_id === f.nodeId);\n d && (f.state = {\n options: fs(d)\n });\n }\n }), o.sendInspectorTree(a), o.sendInspectorState(a);\n });\n}\nfunction ls(e) {\n return e.optional ? e.repeatable ? \"*\" : \"?\" : e.repeatable ? \"+\" : \"\";\n}\nfunction fs(e) {\n const { record: t } = e, n = [\n { editable: !1, key: \"path\", value: t.path }\n ];\n return t.name != null && n.push({\n editable: !1,\n key: \"name\",\n value: t.name\n }), n.push({ editable: !1, key: \"regexp\", value: e.re }), e.keys.length && n.push({\n editable: !1,\n key: \"keys\",\n value: {\n _custom: {\n type: null,\n readOnly: !0,\n display: e.keys.map((r) => `${r.name}${ls(r)}`).join(\" \"),\n tooltip: \"Param keys\",\n value: e.keys\n }\n }\n }), t.redirect != null && n.push({\n editable: !1,\n key: \"redirect\",\n value: t.redirect\n }), e.alias.length && n.push({\n editable: !1,\n key: \"aliases\",\n value: e.alias.map((r) => r.record.path)\n }), Object.keys(e.record.meta).length && n.push({\n editable: !1,\n key: \"meta\",\n value: e.record.meta\n }), n.push({\n key: \"score\",\n editable: !1,\n value: {\n _custom: {\n type: null,\n readOnly: !0,\n display: e.score.map((r) => r.join(\", \")).join(\" | \"),\n tooltip: \"Score used to sort routes\",\n value: e.score\n }\n }\n }), n;\n}\nconst Gn = 15485081, Wn = 2450411, zn = 8702998, ds = 2282478, qn = 16486972, hs = 6710886, ps = 16704226, ms = 12131356;\nfunction Jn(e) {\n const t = [], { record: n } = e;\n n.name != null && t.push({\n label: String(n.name),\n textColor: 0,\n backgroundColor: ds\n }), n.aliasOf && t.push({\n label: \"alias\",\n textColor: 0,\n backgroundColor: qn\n }), e.__vd_match && t.push({\n label: \"matches\",\n textColor: 0,\n backgroundColor: Gn\n }), e.__vd_exactActive && t.push({\n label: \"exact\",\n textColor: 0,\n backgroundColor: zn\n }), e.__vd_active && t.push({\n label: \"active\",\n textColor: 0,\n backgroundColor: Wn\n }), n.redirect && t.push({\n label: typeof n.redirect == \"string\" ? `redirect: ${n.redirect}` : \"redirects\",\n textColor: 16777215,\n backgroundColor: hs\n });\n let r = n.__vd_id;\n return r == null && (r = String(gs++), n.__vd_id = r), {\n id: r,\n label: n.path,\n tags: t,\n children: e.children.map(Jn)\n };\n}\nlet gs = 0;\nconst vs = /^\\/(.*)\\/([a-z]*)$/;\nfunction Kn(e, t) {\n const n = t.matched.length && se(t.matched[t.matched.length - 1], e.record);\n e.__vd_exactActive = e.__vd_active = n, n || (e.__vd_active = t.matched.some((r) => se(r, e.record))), e.children.forEach((r) => Kn(r, t));\n}\nfunction Qn(e) {\n e.__vd_match = !1, e.children.forEach(Qn);\n}\nfunction _t(e, t) {\n const n = String(e.re).match(vs);\n if (e.__vd_match = !1, !n || n.length < 3)\n return !1;\n if (new RegExp(n[1].replace(/\\$$/, \"\"), n[2]).test(t))\n return e.children.forEach((i) => _t(i, t)), e.record.path !== \"/\" || t === \"/\" ? (e.__vd_match = e.re.test(t), !0) : !1;\n const o = e.record.path.toLowerCase(), s = be(o);\n return !t.startsWith(\"/\") && (s.includes(t) || o.includes(t)) || s.startsWith(t) || o.startsWith(t) || e.record.name && String(e.record.name).includes(t) ? !0 : e.children.some((i) => _t(i, t));\n}\nfunction ys(e, t) {\n const n = {};\n for (const r in e)\n t.includes(r) || (n[r] = e[r]);\n return n;\n}\nfunction _s(e) {\n const t = Uo(e.routes, e), n = e.parseQuery || Qo, r = e.stringifyQuery || en, o = e.history;\n if (process.env.NODE_ENV !== \"production\" && !o)\n throw new Error('Provide the \"history\" option when calling \"createRouter()\": https://next.router.vuejs.org/api/#history.');\n const s = Oe(), i = Oe(), a = Oe(), c = Er(te);\n let u = te;\n Z && e.scrollBehavior && \"scrollRestoration\" in history && (history.scrollRestoration = \"manual\");\n const f = et.bind(null, (p) => \"\" + p), l = et.bind(null, ho), d = (\n // @ts-expect-error: intentionally avoid the type check\n et.bind(null, be)\n );\n function h(p, g) {\n let m, _;\n return Bn(p) ? (m = t.getRecordMatcher(p), process.env.NODE_ENV !== \"production\" && !m && O(`Parent route \"${String(p)}\" not found when adding child route`, g), _ = g) : _ = p, t.addRoute(_, m);\n }\n function b(p) {\n const g = t.getRecordMatcher(p);\n g ? t.removeRoute(g) : process.env.NODE_ENV !== \"production\" && O(`Cannot remove non-existent route \"${String(p)}\"`);\n }\n function v() {\n return t.getRoutes().map((p) => p.record);\n }\n function S(p) {\n return !!t.getRecordMatcher(p);\n }\n function C(p, g) {\n if (g = I({}, g || c.value), typeof p == \"string\") {\n const N = tt(n, p, g.path), T = t.resolve({ path: N.path }, g), ae = o.createHref(N.fullPath);\n return process.env.NODE_ENV !== \"production\" && (ae.startsWith(\"//\") ? O(`Location \"${p}\" resolved to \"${ae}\". A resolved location cannot start with multiple slashes.`) : T.matched.length || O(`No match found for location with path \"${p}\"`)), I(N, T, {\n params: d(T.params),\n hash: be(N.hash),\n redirectedFrom: void 0,\n href: ae\n });\n }\n if (process.env.NODE_ENV !== \"production\" && !He(p))\n return O(`router.resolve() was passed an invalid location. This will fail in production.\n- Location:`, p), C({});\n let m;\n if (p.path != null)\n process.env.NODE_ENV !== \"production\" && \"params\" in p && !(\"name\" in p) && // @ts-expect-error: the type is never\n Object.keys(p.params).length && O(`Path \"${p.path}\" was passed with params but they will be ignored. Use a named route alongside params instead.`), m = I({}, p, {\n path: tt(n, p.path, g.path).path\n });\n else {\n const N = I({}, p.params);\n for (const T in N)\n N[T] == null && delete N[T];\n m = I({}, p, {\n params: l(N)\n }), g.params = l(g.params);\n }\n const _ = t.resolve(m, g), R = p.hash || \"\";\n process.env.NODE_ENV !== \"production\" && R && !R.startsWith(\"#\") && O(`A \\`hash\\` should always start with the character \"#\". Replace \"${R}\" with \"#${R}\".`), _.params = f(d(_.params));\n const D = go(r, I({}, p, {\n hash: uo(R),\n path: _.path\n })), $ = o.createHref(D);\n return process.env.NODE_ENV !== \"production\" && ($.startsWith(\"//\") ? O(`Location \"${p}\" resolved to \"${$}\". A resolved location cannot start with multiple slashes.`) : _.matched.length || O(`No match found for location with path \"${p.path != null ? p.path : p}\"`)), I({\n fullPath: D,\n // keep the hash encoded so fullPath is effectively path + encodedQuery +\n // hash\n hash: R,\n query: (\n // if the user is using a custom query lib like qs, we might have\n // nested objects, so we keep the query as is, meaning it can contain\n // numbers at `$route.query`, but at the point, the user will have to\n // use their own type anyway.\n // https://github.com/vuejs/router/issues/328#issuecomment-649481567\n r === en ? Yo(p.query) : p.query || {}\n )\n }, _, {\n redirectedFrom: void 0,\n href: $\n });\n }\n function k(p) {\n return typeof p == \"string\" ? tt(n, p, c.value.path) : I({}, p);\n }\n function P(p, g) {\n if (u !== p)\n return we(8, {\n from: g,\n to: p\n });\n }\n function j(p) {\n return w(p);\n }\n function U(p) {\n return j(I(k(p), { replace: !0 }));\n }\n function q(p) {\n const g = p.matched[p.matched.length - 1];\n if (g && g.redirect) {\n const { redirect: m } = g;\n let _ = typeof m == \"function\" ? m(p) : m;\n if (typeof _ == \"string\" && (_ = _.includes(\"?\") || _.includes(\"#\") ? _ = k(_) : (\n // force empty params\n { path: _ }\n ), _.params = {}), process.env.NODE_ENV !== \"production\" && _.path == null && !(\"name\" in _))\n throw O(`Invalid redirect found:\n${JSON.stringify(_, null, 2)}\n when navigating to \"${p.fullPath}\". A redirect must contain a name or path. This will break in production.`), new Error(\"Invalid redirect\");\n return I({\n query: p.query,\n hash: p.hash,\n // avoid transferring params if the redirect has a path\n params: _.path != null ? {} : p.params\n }, _);\n }\n }\n function w(p, g) {\n const m = u = C(p), _ = c.value, R = p.state, D = p.force, $ = p.replace === !0, N = q(m);\n if (N)\n return w(\n I(k(N), {\n state: typeof N == \"object\" ? I({}, R, N.state) : R,\n force: D,\n replace: $\n }),\n // keep original redirectedFrom if it exists\n g || m\n );\n const T = m;\n T.redirectedFrom = g;\n let ae;\n return !D && Gt(r, _, m) && (ae = we(16, { to: T, from: _ }), Mt(\n _,\n _,\n // this is a push, the only way for it to be triggered from a\n // history.listen is with a redirect, which makes it become a push\n !0,\n // This cannot be the first navigation because the initial location\n // cannot be manually navigated to\n !1\n )), (ae ? Promise.resolve(ae) : E(T, _)).catch((H) => X(H) ? (\n // navigation redirects still mark the router as ready\n X(\n H,\n 2\n /* ErrorTypes.NAVIGATION_GUARD_REDIRECT */\n ) ? H : Je(H)\n ) : (\n // reject any unknown error\n L(H, T, _)\n )).then((H) => {\n if (H) {\n if (X(\n H,\n 2\n /* ErrorTypes.NAVIGATION_GUARD_REDIRECT */\n ))\n return process.env.NODE_ENV !== \"production\" && // we are redirecting to the same location we were already at\n Gt(r, C(H.to), T) && // and we have done it a couple of times\n g && // @ts-expect-error: added only in dev\n (g._count = g._count ? (\n // @ts-expect-error\n g._count + 1\n ) : 1) > 30 ? (O(`Detected a possibly infinite redirection in a navigation guard when going from \"${_.fullPath}\" to \"${T.fullPath}\". Aborting to avoid a Stack Overflow.\n Are you always returning a new location within a navigation guard? That would lead to this error. Only return when redirecting or aborting, that should fix this. This might break in production if not fixed.`), Promise.reject(new Error(\"Infinite redirect in navigation guard\"))) : w(\n // keep options\n I({\n // preserve an existing replacement but allow the redirect to override it\n replace: $\n }, k(H.to), {\n state: typeof H.to == \"object\" ? I({}, R, H.to.state) : R,\n force: D\n }),\n // preserve the original redirectedFrom if any\n g || T\n );\n } else\n H = A(T, _, !0, $, R);\n return y(T, _, H), H;\n });\n }\n function Dt(p, g) {\n const m = P(p, g);\n return m ? Promise.reject(m) : Promise.resolve();\n }\n function G(p) {\n const g = Me.values().next().value;\n return g && typeof g.runWithContext == \"function\" ? g.runWithContext(p) : p();\n }\n function E(p, g) {\n let m;\n const [_, R, D] = Es(p, g);\n m = nt(_.reverse(), \"beforeRouteLeave\", p, g);\n for (const N of _)\n N.leaveGuards.forEach((T) => {\n m.push(ne(T, p, g));\n });\n const $ = Dt.bind(null, p, g);\n return m.push($), pe(m).then(() => {\n m = [];\n for (const N of s.list())\n m.push(ne(N, p, g));\n return m.push($), pe(m);\n }).then(() => {\n m = nt(R, \"beforeRouteUpdate\", p, g);\n for (const N of R)\n N.updateGuards.forEach((T) => {\n m.push(ne(T, p, g));\n });\n return m.push($), pe(m);\n }).then(() => {\n m = [];\n for (const N of D)\n if (N.beforeEnter)\n if (F(N.beforeEnter))\n for (const T of N.beforeEnter)\n m.push(ne(T, p, g));\n else\n m.push(ne(N.beforeEnter, p, g));\n return m.push($), pe(m);\n }).then(() => (p.matched.forEach((N) => N.enterCallbacks = {}), m = nt(D, \"beforeRouteEnter\", p, g, G), m.push($), pe(m))).then(() => {\n m = [];\n for (const N of i.list())\n m.push(ne(N, p, g));\n return m.push($), pe(m);\n }).catch((N) => X(\n N,\n 8\n /* ErrorTypes.NAVIGATION_CANCELLED */\n ) ? N : Promise.reject(N));\n }\n function y(p, g, m) {\n a.list().forEach((_) => G(() => _(p, g, m)));\n }\n function A(p, g, m, _, R) {\n const D = P(p, g);\n if (D)\n return D;\n const $ = g === te, N = Z ? history.state : {};\n m && (_ || $ ? o.replace(p.fullPath, I({\n scroll: $ && N && N.scroll\n }, R)) : o.push(p.fullPath, R)), c.value = p, Mt(p, g, m, $), Je();\n }\n let M;\n function ie() {\n M || (M = o.listen((p, g, m) => {\n if (!Vt.listening)\n return;\n const _ = C(p), R = q(_);\n if (R) {\n w(I(R, { replace: !0 }), _).catch($e);\n return;\n }\n u = _;\n const D = c.value;\n Z && Oo(zt(D.fullPath, m.delta), We()), E(_, D).catch(($) => X(\n $,\n 12\n /* ErrorTypes.NAVIGATION_CANCELLED */\n ) ? $ : X(\n $,\n 2\n /* ErrorTypes.NAVIGATION_GUARD_REDIRECT */\n ) ? (w(\n $.to,\n _\n // avoid an uncaught rejection, let push call triggerError\n ).then((N) => {\n X(\n N,\n 20\n /* ErrorTypes.NAVIGATION_DUPLICATED */\n ) && !m.delta && m.type === Ae.pop && o.go(-1, !1);\n }).catch($e), Promise.reject()) : (m.delta && o.go(-m.delta, !1), L($, _, D))).then(($) => {\n $ = $ || A(\n // after navigation, all matched components are resolved\n _,\n D,\n !1\n ), $ && (m.delta && // a new navigation has been triggered, so we do not want to revert, that will change the current history\n // entry while a different route is displayed\n !X(\n $,\n 8\n /* ErrorTypes.NAVIGATION_CANCELLED */\n ) ? o.go(-m.delta, !1) : m.type === Ae.pop && X(\n $,\n 20\n /* ErrorTypes.NAVIGATION_DUPLICATED */\n ) && o.go(-1, !1)), y(_, D, $);\n }).catch($e);\n }));\n }\n let Se = Oe(), De = Oe(), K;\n function L(p, g, m) {\n Je(p);\n const _ = De.list();\n return _.length ? _.forEach((R) => R(p, g, m)) : (process.env.NODE_ENV !== \"production\" && O(\"uncaught error during route navigation:\"), console.error(p)), Promise.reject(p);\n }\n function hr() {\n return K && c.value !== te ? Promise.resolve() : new Promise((p, g) => {\n Se.add([p, g]);\n });\n }\n function Je(p) {\n return K || (K = !p, ie(), Se.list().forEach(([g, m]) => p ? m(p) : g()), Se.reset()), p;\n }\n function Mt(p, g, m, _) {\n const { scrollBehavior: R } = e;\n if (!Z || !R)\n return Promise.resolve();\n const D = !m && No(zt(p.fullPath, 0)) || (_ || !m) && history.state && history.state.scroll || null;\n return it().then(() => R(p, g, D)).then(($) => $ && So($)).catch(($) => L($, p, g));\n }\n const Ke = (p) => o.go(p);\n let Qe;\n const Me = /* @__PURE__ */ new Set(), Vt = {\n currentRoute: c,\n listening: !0,\n addRoute: h,\n removeRoute: b,\n clearRoutes: t.clearRoutes,\n hasRoute: S,\n getRoutes: v,\n resolve: C,\n options: e,\n push: j,\n replace: U,\n go: Ke,\n back: () => Ke(-1),\n forward: () => Ke(1),\n beforeEach: s.add,\n beforeResolve: i.add,\n afterEach: a.add,\n onError: De.add,\n isReady: hr,\n install(p) {\n const g = this;\n p.component(\"RouterLink\", ns), p.component(\"RouterView\", is), p.config.globalProperties.$router = g, Object.defineProperty(p.config.globalProperties, \"$route\", {\n enumerable: !0,\n get: () => le(c)\n }), Z && // used for the initial navigation client side to avoid pushing\n // multiple times when the router is used in multiple apps\n !Qe && c.value === te && (Qe = !0, j(o.location).catch((R) => {\n process.env.NODE_ENV !== \"production\" && O(\"Unexpected error when starting the router:\", R);\n }));\n const m = {};\n for (const R in te)\n Object.defineProperty(m, R, {\n get: () => c.value[R],\n enumerable: !0\n });\n p.provide(kt, g), p.provide(Fn, br(m)), p.provide(yt, c);\n const _ = p.unmount;\n Me.add(p), p.unmount = function() {\n Me.delete(p), Me.size < 1 && (u = te, M && M(), M = null, c.value = te, Qe = !1, K = !1), _();\n }, process.env.NODE_ENV !== \"production\" && Z && us(p, g, t);\n }\n };\n function pe(p) {\n return p.reduce((g, m) => g.then(() => G(m)), Promise.resolve());\n }\n return Vt;\n}\nfunction Es(e, t) {\n const n = [], r = [], o = [], s = Math.max(t.matched.length, e.matched.length);\n for (let i = 0; i < s; i++) {\n const a = t.matched[i];\n a && (e.matched.find((u) => se(u, a)) ? r.push(a) : n.push(a));\n const c = e.matched[i];\n c && (t.matched.find((u) => se(u, c)) || o.push(c));\n }\n return [n, r, o];\n}\nconst bs = _s({\n history: Ro(),\n routes: []\n});\nfunction ws(e) {\n return e && typeof e.then == \"function\";\n}\nPromise.resolve(!1);\nPromise.resolve(!0);\nvar fe = Promise.resolve();\nfunction Yn(e, t) {\n return e || (e = 0), new Promise(function(n) {\n return setTimeout(function() {\n return n(t);\n }, e);\n });\n}\nfunction Ss(e, t) {\n return Math.floor(Math.random() * (t - e + 1) + e);\n}\nfunction Pt() {\n return Math.random().toString(36).substring(2);\n}\nvar an = 0, rt = 0;\nfunction ze() {\n var e = (/* @__PURE__ */ new Date()).getTime();\n return e === an ? (rt++, e * 1e3 + rt) : (an = e, rt = 0, e * 1e3);\n}\nvar Os = ze, Ns = \"native\";\nfunction ks(e) {\n var t = {\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 Ps(e) {\n e.bc.close(), e.subFns = [];\n}\nfunction $s(e, t) {\n try {\n return e.bc.postMessage(t, !1), fe;\n } catch (n) {\n return Promise.reject(n);\n }\n}\nfunction Rs(e, t) {\n e.messagesCallback = t;\n}\nfunction Is() {\n if (typeof window > \"u\")\n return !1;\n if (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 Cs() {\n return 150;\n}\nvar As = {\n create: ks,\n close: Ps,\n onMessage: Rs,\n postMessage: $s,\n canBeUsed: Is,\n type: Ns,\n averageResponseTime: Cs,\n microSeconds: Os\n}, Xn = (\n /** @class */\n function() {\n function e(t) {\n this.ttl = t, this.map = /* @__PURE__ */ new Map(), this._to = !1;\n }\n return e.prototype.has = function(t) {\n return this.map.has(t);\n }, e.prototype.add = function(t) {\n var n = this;\n this.map.set(t, Zn()), this._to || (this._to = !0, setTimeout(function() {\n n._to = !1, Ts(n);\n }, 0));\n }, e.prototype.clear = function() {\n this.map.clear();\n }, e;\n }()\n);\nfunction Ts(e) {\n for (var t = Zn() - e.ttl, n = e.map[Symbol.iterator](); ; ) {\n var r = n.next().value;\n if (!r)\n return;\n var o = r[0], s = r[1];\n if (s < t)\n e.map.delete(o);\n else\n return;\n }\n}\nfunction Zn() {\n return (/* @__PURE__ */ new Date()).getTime();\n}\nfunction $t() {\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 Ds = ze, Ms = \"pubkey.broadcast-channel-0-\", ee = \"messages\", qe = {\n durability: \"relaxed\"\n}, Vs = \"idb\";\nfunction er() {\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 Rt(e) {\n e.commit && e.commit();\n}\nfunction xs(e) {\n var t = er(), n = Ms + e, r = t.open(n);\n return r.onupgradeneeded = function(o) {\n var s = o.target.result;\n s.createObjectStore(ee, {\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 js(e, t, n) {\n var r = (/* @__PURE__ */ new Date()).getTime(), o = {\n uuid: t,\n time: r,\n data: n\n }, s = e.transaction([ee], \"readwrite\", qe);\n return new Promise(function(i, a) {\n s.oncomplete = function() {\n return i();\n }, s.onerror = function(u) {\n return a(u);\n };\n var c = s.objectStore(ee);\n c.add(o), Rt(s);\n });\n}\nfunction Ls(e, t) {\n var n = e.transaction(ee, \"readonly\", qe), r = n.objectStore(ee), o = [], s = IDBKeyRange.bound(t + 1, 1 / 0);\n if (r.getAll) {\n var i = r.getAll(s);\n return new Promise(function(c, u) {\n i.onerror = function(f) {\n return u(f);\n }, i.onsuccess = function(f) {\n c(f.target.result);\n };\n });\n }\n function a() {\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(c, u) {\n var f = a();\n f.onerror = function(l) {\n return u(l);\n }, f.onsuccess = function(l) {\n var d = l.target.result;\n d ? d.value.id < t + 1 ? d.continue(t + 1) : (o.push(d.value), d.continue()) : (Rt(n), c(o));\n };\n });\n}\nfunction Bs(e, t) {\n if (e.closed)\n return Promise.resolve([]);\n var n = e.db.transaction(ee, \"readwrite\", qe), r = n.objectStore(ee);\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 Us(e, t) {\n var n = (/* @__PURE__ */ new Date()).getTime() - t, r = e.transaction(ee, \"readonly\", qe), o = r.objectStore(ee), s = [];\n return new Promise(function(i) {\n o.openCursor().onsuccess = function(a) {\n var c = a.target.result;\n if (c) {\n var u = c.value;\n u.time < n ? (s.push(u), c.continue()) : (Rt(r), i(s));\n } else\n i(s);\n };\n });\n}\nfunction Hs(e) {\n return Us(e.db, e.options.idb.ttl).then(function(t) {\n return Bs(e, t.map(function(n) {\n return n.id;\n }));\n });\n}\nfunction Fs(e, t) {\n return t = $t(t), xs(e).then(function(n) {\n var r = {\n closed: !1,\n lastCursorId: 0,\n channelName: e,\n options: t,\n uuid: Pt(),\n /**\n * emittedMessagesIds\n * contains all messages that have been emitted before\n * @type {ObliviousSet}\n */\n eMIs: new Xn(t.idb.ttl * 2),\n // ensures we do not read messages in parallel\n writeBlockPromise: fe,\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 }, tr(r), r;\n });\n}\nfunction tr(e) {\n e.closed || nr(e).then(function() {\n return Yn(e.options.idb.fallbackInterval);\n }).then(function() {\n return tr(e);\n });\n}\nfunction Gs(e, t) {\n return !(e.uuid === t.uuid || t.eMIs.has(e.id) || e.data.time < t.messagesCallbackTime);\n}\nfunction nr(e) {\n return e.closed || !e.messagesCallback ? fe : Ls(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 Gs(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 }), fe;\n });\n}\nfunction Ws(e) {\n e.closed = !0, e.db.close();\n}\nfunction zs(e, t) {\n return e.writeBlockPromise = e.writeBlockPromise.then(function() {\n return js(e.db, e.uuid, t);\n }).then(function() {\n Ss(0, 10) === 0 && Hs(e);\n }), e.writeBlockPromise;\n}\nfunction qs(e, t, n) {\n e.messagesCallbackTime = n, e.messagesCallback = t, nr(e);\n}\nfunction Js() {\n return !!er();\n}\nfunction Ks(e) {\n return e.idb.fallbackInterval * 2;\n}\nvar Qs = {\n create: Fs,\n close: Ws,\n onMessage: qs,\n postMessage: zs,\n canBeUsed: Js,\n type: Vs,\n averageResponseTime: Ks,\n microSeconds: Ds\n}, Ys = ze, Xs = \"pubkey.broadcastChannel-\", Zs = \"localstorage\";\nfunction rr() {\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 or(e) {\n return Xs + e;\n}\nfunction ei(e, t) {\n return new Promise(function(n) {\n Yn().then(function() {\n var r = or(e.channelName), o = {\n token: Pt(),\n time: (/* @__PURE__ */ new Date()).getTime(),\n data: t,\n uuid: e.uuid\n }, s = JSON.stringify(o);\n rr().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 ti(e, t) {\n var n = or(e), r = function(s) {\n s.key === n && t(JSON.parse(s.newValue));\n };\n return window.addEventListener(\"storage\", r), r;\n}\nfunction ni(e) {\n window.removeEventListener(\"storage\", e);\n}\nfunction ri(e, t) {\n if (t = $t(t), !sr())\n throw new Error(\"BroadcastChannel: localstorage cannot be used\");\n var n = Pt(), r = new Xn(t.localstorage.removeTimeout), o = {\n channelName: e,\n uuid: n,\n eMIs: r\n // emittedMessagesIds\n };\n return o.listener = ti(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 oi(e) {\n ni(e.listener);\n}\nfunction si(e, t, n) {\n e.messagesCallbackTime = n, e.messagesCallback = t;\n}\nfunction sr() {\n var e = rr();\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 ii() {\n var e = 120, t = navigator.userAgent.toLowerCase();\n return t.includes(\"safari\") && !t.includes(\"chrome\") ? e * 2 : e;\n}\nvar ai = {\n create: ri,\n close: oi,\n onMessage: si,\n postMessage: ei,\n canBeUsed: sr,\n type: Zs,\n averageResponseTime: ii,\n microSeconds: Ys\n}, ci = ze, ui = \"simulate\", It = /* @__PURE__ */ new Set();\nfunction li(e) {\n var t = {\n name: e,\n messagesCallback: null\n };\n return It.add(t), t;\n}\nfunction fi(e) {\n It.delete(e);\n}\nfunction di(e, t) {\n return new Promise(function(n) {\n return setTimeout(function() {\n var r = Array.from(It);\n r.filter(function(o) {\n return o.name === e.name;\n }).filter(function(o) {\n return o !== e;\n }).filter(function(o) {\n return !!o.messagesCallback;\n }).forEach(function(o) {\n return o.messagesCallback(t);\n }), n();\n }, 5);\n });\n}\nfunction hi(e, t) {\n e.messagesCallback = t;\n}\nfunction pi() {\n return !0;\n}\nfunction mi() {\n return 5;\n}\nvar gi = {\n create: li,\n close: fi,\n onMessage: hi,\n postMessage: di,\n canBeUsed: pi,\n type: ui,\n averageResponseTime: mi,\n microSeconds: ci\n}, cn = [\n As,\n // fastest\n Qs,\n ai\n];\nfunction vi(e) {\n var t = [].concat(e.methods, cn).filter(Boolean);\n if (e.type) {\n if (e.type === \"simulate\")\n return gi;\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) return r;\n throw new Error(\"No usable method found in \" + JSON.stringify(cn.map(function(o) {\n return o.type;\n })));\n}\nvar ir = /* @__PURE__ */ new Set(), yi = 0, Ct = function(t, n) {\n this.id = yi++, ir.add(this), this.name = t, un && (n = un), this.options = $t(n), this.method = vi(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, _i(this);\n};\nCt._pubkey = !0;\nvar un;\nCt.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 ln(this, \"message\", t);\n },\n postInternal: function(t) {\n return ln(this, \"internal\", t);\n },\n set onmessage(e) {\n var t = this.method.microSeconds(), n = {\n time: t,\n fn: e\n };\n dn(this, \"message\", this._onML), e && typeof e == \"function\" ? (this._onML = n, fn(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 fn(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 dn(this, t, r);\n },\n close: function() {\n var t = this;\n if (!this.closed) {\n ir.delete(this), this.closed = !0;\n var n = this._prepP ? this._prepP : fe;\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 ln(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 : fe;\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 _i(e) {\n var t = e.method.create(e.name, e.options);\n ws(t) ? (e._prepP = t, t.then(function(n) {\n e._state = n;\n })) : e._state = t;\n}\nfunction ar(e) {\n return e._addEL.message.length > 0 || e._addEL.internal.length > 0;\n}\nfunction fn(e, t, n) {\n e._addEL[t].push(n), Ei(e);\n}\nfunction dn(e, t, n) {\n e._addEL[t] = e._addEL[t].filter(function(r) {\n return r !== n;\n }), bi(e);\n}\nfunction Ei(e) {\n if (!e._iL && ar(e)) {\n var t = function(o) {\n e._addEL[o.type].forEach(function(s) {\n var i = 1e5, a = s.time - i;\n o.time >= a && 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 bi(e) {\n if (e._iL && !ar(e)) {\n e._iL = !1;\n var t = e.method.microSeconds();\n e.method.onMessage(e._state, null, t);\n }\n}\nclass ot extends Error {\n /**\n * @param {string} message\n * @param {string[]} keys\n */\n constructor(t, n) {\n super(t), this.name = \"DevalueError\", this.path = n.join(\"\");\n }\n}\nfunction hn(e) {\n return Object(e) !== e;\n}\nconst wi = /* @__PURE__ */ Object.getOwnPropertyNames(\n Object.prototype\n).sort().join(\"\\0\");\nfunction Si(e) {\n const t = Object.getPrototypeOf(e);\n return t === Object.prototype || t === null || Object.getOwnPropertyNames(t).sort().join(\"\\0\") === wi;\n}\nfunction Oi(e) {\n return Object.prototype.toString.call(e).slice(8, -1);\n}\nfunction Ni(e) {\n switch (e) {\n case '\"':\n return '\\\\\"';\n case \"<\":\n return \"\\\\u003C\";\n case \"\\\\\":\n return \"\\\\\\\\\";\n case `\n`:\n return \"\\\\n\";\n case \"\\r\":\n return \"\\\\r\";\n case \"\t\":\n return \"\\\\t\";\n case \"\\b\":\n return \"\\\\b\";\n case \"\\f\":\n return \"\\\\f\";\n case \"\\u2028\":\n return \"\\\\u2028\";\n case \"\\u2029\":\n return \"\\\\u2029\";\n default:\n return e < \" \" ? `\\\\u${e.charCodeAt(0).toString(16).padStart(4, \"0\")}` : \"\";\n }\n}\nfunction ye(e) {\n let t = \"\", n = 0;\n const r = e.length;\n for (let o = 0; o < r; o += 1) {\n const s = e[o], i = Ni(s);\n i && (t += e.slice(n, o) + i, n = o + 1);\n }\n return `\"${n === 0 ? e : t + e.slice(n)}\"`;\n}\nconst At = -1, cr = -2, ur = -3, lr = -4, fr = -5, Tt = -6;\nfunction pn(e, t) {\n return ki(JSON.parse(e), t);\n}\nfunction ki(e, t) {\n if (typeof e == \"number\") return o(e, !0);\n if (!Array.isArray(e) || e.length === 0)\n throw new Error(\"Invalid input\");\n const n = (\n /** @type {any[]} */\n e\n ), r = Array(n.length);\n function o(s, i = !1) {\n if (s === At) return;\n if (s === ur) return NaN;\n if (s === lr) return 1 / 0;\n if (s === fr) return -1 / 0;\n if (s === Tt) return -0;\n if (i) throw new Error(\"Invalid input\");\n if (s in r) return r[s];\n const a = n[s];\n if (!a || typeof a != \"object\")\n r[s] = a;\n else if (Array.isArray(a))\n if (typeof a[0] == \"string\") {\n const c = a[0], u = t == null ? void 0 : t[c];\n if (u)\n return r[s] = u(o(a[1]));\n switch (c) {\n case \"Date\":\n r[s] = new Date(a[1]);\n break;\n case \"Set\":\n const f = /* @__PURE__ */ new Set();\n r[s] = f;\n for (let h = 1; h < a.length; h += 1)\n f.add(o(a[h]));\n break;\n case \"Map\":\n const l = /* @__PURE__ */ new Map();\n r[s] = l;\n for (let h = 1; h < a.length; h += 2)\n l.set(o(a[h]), o(a[h + 1]));\n break;\n case \"RegExp\":\n r[s] = new RegExp(a[1], a[2]);\n break;\n case \"Object\":\n r[s] = Object(a[1]);\n break;\n case \"BigInt\":\n r[s] = BigInt(a[1]);\n break;\n case \"null\":\n const d = /* @__PURE__ */ Object.create(null);\n r[s] = d;\n for (let h = 1; h < a.length; h += 2)\n d[a[h]] = o(a[h + 1]);\n break;\n default:\n throw new Error(`Unknown type ${c}`);\n }\n } else {\n const c = new Array(a.length);\n r[s] = c;\n for (let u = 0; u < a.length; u += 1) {\n const f = a[u];\n f !== cr && (c[u] = o(f));\n }\n }\n else {\n const c = {};\n r[s] = c;\n for (const u in a) {\n const f = a[u];\n c[u] = o(f);\n }\n }\n return r[s];\n }\n return o(0);\n}\nfunction mn(e, t) {\n const n = [], r = /* @__PURE__ */ new Map(), o = [];\n for (const u in t)\n o.push({ key: u, fn: t[u] });\n const s = [];\n let i = 0;\n function a(u) {\n if (typeof u == \"function\")\n throw new ot(\"Cannot stringify a function\", s);\n if (r.has(u)) return r.get(u);\n if (u === void 0) return At;\n if (Number.isNaN(u)) return ur;\n if (u === 1 / 0) return lr;\n if (u === -1 / 0) return fr;\n if (u === 0 && 1 / u < 0) return Tt;\n const f = i++;\n r.set(u, f);\n for (const { key: d, fn: h } of o) {\n const b = h(u);\n if (b)\n return n[f] = `[\"${d}\",${a(b)}]`, f;\n }\n let l = \"\";\n if (hn(u))\n l = st(u);\n else\n switch (Oi(u)) {\n case \"Number\":\n case \"String\":\n case \"Boolean\":\n l = `[\"Object\",${st(u)}]`;\n break;\n case \"BigInt\":\n l = `[\"BigInt\",${u}]`;\n break;\n case \"Date\":\n l = `[\"Date\",\"${u.toISOString()}\"]`;\n break;\n case \"RegExp\":\n const { source: h, flags: b } = u;\n l = b ? `[\"RegExp\",${ye(h)},\"${b}\"]` : `[\"RegExp\",${ye(h)}]`;\n break;\n case \"Array\":\n l = \"[\";\n for (let v = 0; v < u.length; v += 1)\n v > 0 && (l += \",\"), v in u ? (s.push(`[${v}]`), l += a(u[v]), s.pop()) : l += cr;\n l += \"]\";\n break;\n case \"Set\":\n l = '[\"Set\"';\n for (const v of u)\n l += `,${a(v)}`;\n l += \"]\";\n break;\n case \"Map\":\n l = '[\"Map\"';\n for (const [v, S] of u)\n s.push(\n `.get(${hn(v) ? st(v) : \"...\"})`\n ), l += `,${a(v)},${a(S)}`;\n l += \"]\";\n break;\n default:\n if (!Si(u))\n throw new ot(\n \"Cannot stringify arbitrary non-POJOs\",\n s\n );\n if (Object.getOwnPropertySymbols(u).length > 0)\n throw new ot(\n \"Cannot stringify POJOs with symbolic keys\",\n s\n );\n if (Object.getPrototypeOf(u) === null) {\n l = '[\"null\"';\n for (const v in u)\n s.push(`.${v}`), l += `,${ye(v)},${a(u[v])}`, s.pop();\n l += \"]\";\n } else {\n l = \"{\";\n let v = !1;\n for (const S in u)\n v && (l += \",\"), v = !0, s.push(`.${S}`), l += `${ye(S)}:${a(u[S])}`, s.pop();\n l += \"}\";\n }\n }\n return n[f] = l, f;\n }\n const c = a(e);\n return c < 0 ? `${c}` : `[${n.join(\",\")}]`;\n}\nfunction st(e) {\n const t = typeof e;\n return t === \"string\" ? ye(e) : e instanceof String ? ye(e.toString()) : e === void 0 ? At.toString() : e === 0 && 1 / e < 0 ? Tt.toString() : t === \"bigint\" ? `[\"BigInt\",\"${e}\"]` : String(e);\n}\nfunction Pi(e, t, { initialize: n, type: r }) {\n let o = `${t.$id}-${e.toString()}`, s = new Ct(o, { type: r }), i = !1, a = 0;\n Te(() => t[e], (f) => {\n i || (a = Date.now(), s.postMessage({ timestamp: a, state: pn(mn(f)) })), i = !1;\n }, { deep: !0 }), s.onmessage = (f) => {\n if (f === void 0) {\n s.postMessage({ timestamp: a, state: pn(mn(t[e])) });\n return;\n }\n f.timestamp <= a || (i = !0, a = f.timestamp, t[e] = f.state);\n };\n let c = () => s.postMessage(void 0), u = () => s.close();\n return n && c(), { sync: c, unshare: u };\n}\nvar $i = (e, t) => Object.keys(t).includes(e), Ri = ({ initialize: e = !0, enable: t = !0, type: n }) => ({ store: r, options: o }) => {\n var a, c;\n let s = ((a = o == null ? void 0 : o.share) == null ? void 0 : a.enable) ?? t, i = ((c = o == null ? void 0 : o.share) == null ? void 0 : c.omit) ?? [];\n !s || Object.keys(r.$state).forEach((u) => {\n var f;\n i.includes(u) || !$i(u, r.$state) || Pi(u, r, { initialize: ((f = o == null ? void 0 : o.share) == null ? void 0 : f.initialize) ?? e, type: n });\n });\n};\nconst dr = qr();\ndr.use(\n Ri({\n enable: !0,\n initialize: !0\n })\n);\nconst Di = {\n install: (e, t) => {\n const n = (t == null ? void 0 : t.router) || bs, r = new ht(n, t == null ? void 0 : t.getMeta);\n if (e.use(n), e.use(dr), e.provide(\"$registry\", r), t != null && t.components)\n for (const [o, s] of Object.entries(t.components))\n e.component(o, s);\n }\n};\nexport {\n Ti as DoctypeMeta,\n ht as Registry,\n Di as Stonecrop,\n Ai as useStonecrop\n};\n//# sourceMappingURL=stonecrop.js.map\n","<template>\n\t<AForm v-if=\"isReady\" class=\"aform-main\" v-model=\"schema\" />\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, isReady } = useStonecrop()\nconst schema = ref<SchemaTypes[]>([])\n\nwatch(isReady, () => {\n\tif (isReady.value) {\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call\n\t\tlet newSchema: SchemaTypes[] = stonecrop.value.schema.schema.toArray()\n\t\tnewSchema.forEach((item, index) => {\n\t\t\tconst record = stonecrop.value.store.record\n\t\t\tconst fieldValue = record[item.fieldname]\n\t\t\tnewSchema[index].value = fieldValue\n\t\t})\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","var Re = Object.defineProperty;\nvar Le = (t, e, n) => e in t ? Re(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n;\nvar C = (t, e, n) => Le(t, typeof e != \"symbol\" ? e + \"\" : e, n);\nimport { onMounted as ye, ref as x, watch as S, onBeforeUnmount as Me, computed as E, unref as f, getCurrentScope as be, onScopeDispose as xe, getCurrentInstance as Pe, defineComponent as _, inject as z, openBlock as w, createElementBlock as b, createBlock as W, resolveDynamicComponent as Ee, mergeProps as K, toDisplayString as L, Fragment as V, createElementVNode as $, renderSlot as I, createCommentVNode as B, withDirectives as X, vShow as Ie, toRef as He, readonly as je, customRef as We, reactive as D, renderList as J, normalizeStyle as N, createTextVNode as Ne, provide as Ue, nextTick as Ve, createVNode as se, withCtx as ie } from \"vue\";\nfunction ke(t) {\n return be() ? (xe(t), !0) : !1;\n}\nfunction ee(t) {\n return typeof t == \"function\" ? t() : f(t);\n}\nconst Be = typeof window < \"u\" && typeof document < \"u\";\ntypeof WorkerGlobalScope < \"u\" && globalThis instanceof WorkerGlobalScope;\nconst ze = (t) => t != null, Fe = Object.prototype.toString, qe = (t) => Fe.call(t) === \"[object Object]\", Ge = () => {\n};\nfunction M(t) {\n var e;\n const n = ee(t);\n return (e = n == null ? void 0 : n.$el) != null ? e : n;\n}\nconst F = Be ? window : void 0;\nfunction Q(...t) {\n let e, n, o, a;\n if (typeof t[0] == \"string\" || Array.isArray(t[0]) ? ([n, o, a] = t, e = F) : [e, n, o, a] = t, !e)\n return Ge;\n Array.isArray(n) || (n = [n]), Array.isArray(o) || (o = [o]);\n const l = [], s = () => {\n l.forEach((u) => u()), l.length = 0;\n }, r = (u, p, c, m) => (u.addEventListener(p, c, m), () => u.removeEventListener(p, c, m)), i = S(\n () => [M(e), ee(a)],\n ([u, p]) => {\n if (s(), !u)\n return;\n const c = qe(p) ? { ...p } : p;\n l.push(\n ...n.flatMap((m) => o.map((h) => r(u, m, h, c)))\n );\n },\n { immediate: !0, flush: \"post\" }\n ), d = () => {\n i(), s();\n };\n return ke(d), d;\n}\nfunction Ye() {\n const t = x(!1), e = Pe();\n return e && ye(() => {\n t.value = !0;\n }, e), t;\n}\nfunction Xe(t) {\n const e = Ye();\n return E(() => (e.value, !!t()));\n}\nfunction Je(t, e, n = {}) {\n const { window: o = F, ...a } = n;\n let l;\n const s = Xe(() => o && \"MutationObserver\" in o), r = () => {\n l && (l.disconnect(), l = void 0);\n }, i = E(() => {\n const c = ee(t), m = (Array.isArray(c) ? c : [c]).map(M).filter(ze);\n return new Set(m);\n }), d = S(\n () => i.value,\n (c) => {\n r(), s.value && c.size && (l = new MutationObserver(e), c.forEach((m) => l.observe(m, a)));\n },\n { immediate: !0, flush: \"post\" }\n ), u = () => l == null ? void 0 : l.takeRecords(), p = () => {\n r(), d();\n };\n return ke(p), {\n isSupported: s,\n stop: p,\n takeRecords: u\n };\n}\nfunction Qe(t = {}) {\n var e;\n const {\n window: n = F,\n deep: o = !0,\n triggerOnRemoval: a = !1\n } = t, l = (e = t.document) != null ? e : n == null ? void 0 : n.document, s = () => {\n var d;\n let u = l == null ? void 0 : l.activeElement;\n if (o)\n for (; u != null && u.shadowRoot; )\n u = (d = u == null ? void 0 : u.shadowRoot) == null ? void 0 : d.activeElement;\n return u;\n }, r = x(), i = () => {\n r.value = s();\n };\n return n && (Q(n, \"blur\", (d) => {\n d.relatedTarget === null && i();\n }, !0), Q(n, \"focus\", i, !0)), a && Je(l, (d) => {\n d.filter((u) => u.removedNodes.length).map((u) => Array.from(u.removedNodes)).flat().forEach((u) => {\n u === r.value && i();\n });\n }, {\n childList: !0,\n subtree: !0\n }), i(), r;\n}\nfunction Ze(t, e = {}) {\n const n = Qe(e), o = E(() => M(t));\n return { focused: E(() => o.value && n.value ? o.value.contains(n.value) : !1) };\n}\nfunction Ke(t, { window: e = F, scrollTarget: n } = {}) {\n const o = x(!1), a = () => {\n if (!e) return;\n const l = e.document, s = M(t);\n if (!s)\n o.value = !1;\n else {\n const r = s.getBoundingClientRect();\n o.value = r.top <= (e.innerHeight || l.documentElement.clientHeight) && r.left <= (e.innerWidth || l.documentElement.clientWidth) && r.bottom >= 0 && r.right >= 0;\n }\n };\n return S(\n () => M(t),\n () => a(),\n { immediate: !0, flush: \"post\" }\n ), e && Q(n || e, \"scroll\", a, {\n capture: !1,\n passive: !0\n }), o;\n}\nconst k = (t) => {\n let e = Ke(t).value;\n return e = e && t.offsetHeight > 0, e;\n}, A = (t) => t.tabIndex >= 0, de = (t) => {\n const e = t.target;\n return te(e);\n}, te = (t) => {\n var e;\n let n;\n if (t instanceof HTMLTableCellElement) {\n const o = (e = t.parentElement) == null ? void 0 : e.previousElementSibling;\n if (o) {\n const a = Array.from(o.children)[t.cellIndex];\n a && (n = a);\n }\n } else if (t instanceof HTMLTableRowElement) {\n const o = t.previousElementSibling;\n o && (n = o);\n }\n return n && (!A(n) || !k(n)) ? te(n) : n;\n}, et = (t) => {\n var e;\n const n = t.target;\n let o;\n if (n instanceof HTMLTableCellElement) {\n const a = (e = n.parentElement) == null ? void 0 : e.parentElement;\n if (a) {\n const l = a.firstElementChild.children[n.cellIndex];\n l && (o = l);\n }\n } else if (n instanceof HTMLTableRowElement) {\n const a = n.parentElement;\n if (a) {\n const l = a.firstElementChild;\n l && (o = l);\n }\n }\n return o && (!A(o) || !k(o)) ? ne(o) : o;\n}, ce = (t) => {\n const e = t.target;\n return ne(e);\n}, ne = (t) => {\n var e;\n let n;\n if (t instanceof HTMLTableCellElement) {\n const o = (e = t.parentElement) == null ? void 0 : e.nextElementSibling;\n if (o) {\n const a = Array.from(o.children)[t.cellIndex];\n a && (n = a);\n }\n } else if (t instanceof HTMLTableRowElement) {\n const o = t.nextElementSibling;\n o && (n = o);\n }\n return n && (!A(n) || !k(n)) ? ne(n) : n;\n}, tt = (t) => {\n var e;\n const n = t.target;\n let o;\n if (n instanceof HTMLTableCellElement) {\n const a = (e = n.parentElement) == null ? void 0 : e.parentElement;\n if (a) {\n const l = a.lastElementChild.children[n.cellIndex];\n l && (o = l);\n }\n } else if (n instanceof HTMLTableRowElement) {\n const a = n.parentElement;\n if (a) {\n const l = a.lastElementChild;\n l && (o = l);\n }\n }\n return o && (!A(o) || !k(o)) ? te(o) : o;\n}, ue = (t) => {\n const e = t.target;\n return oe(e);\n}, oe = (t) => {\n var e;\n let n;\n if (t.previousElementSibling)\n n = t.previousElementSibling;\n else {\n const o = (e = t.parentElement) == null ? void 0 : e.previousElementSibling;\n n = o == null ? void 0 : o.lastElementChild;\n }\n return n && (!A(n) || !k(n)) ? oe(n) : n;\n}, fe = (t) => {\n const e = t.target;\n return le(e);\n}, le = (t) => {\n var e;\n let n;\n if (t.nextElementSibling)\n n = t.nextElementSibling;\n else {\n const o = (e = t.parentElement) == null ? void 0 : e.nextElementSibling;\n n = o == null ? void 0 : o.firstElementChild;\n }\n return n && (!A(n) || !k(n)) ? le(n) : n;\n}, pe = (t) => {\n const e = t.target.parentElement.firstElementChild;\n return e && (!A(e) || !k(e)) ? le(e) : e;\n}, me = (t) => {\n const e = t.target.parentElement.lastElementChild;\n return e && (!A(e) || !k(e)) ? oe(e) : e;\n}, H = [\"alt\", \"control\", \"shift\", \"meta\"], nt = {\n ArrowUp: \"up\",\n ArrowDown: \"down\",\n ArrowLeft: \"left\",\n ArrowRight: \"right\"\n}, re = {\n \"keydown.up\": (t) => {\n const e = de(t);\n e && (t.preventDefault(), t.stopPropagation(), e.focus());\n },\n \"keydown.down\": (t) => {\n const e = ce(t);\n e && (t.preventDefault(), t.stopPropagation(), e.focus());\n },\n \"keydown.left\": (t) => {\n const e = ue(t);\n t.preventDefault(), t.stopPropagation(), e && e.focus();\n },\n \"keydown.right\": (t) => {\n const e = fe(t);\n t.preventDefault(), t.stopPropagation(), e && e.focus();\n },\n \"keydown.control.up\": (t) => {\n const e = et(t);\n e && (t.preventDefault(), t.stopPropagation(), e.focus());\n },\n \"keydown.control.down\": (t) => {\n const e = tt(t);\n e && (t.preventDefault(), t.stopPropagation(), e.focus());\n },\n \"keydown.control.left\": (t) => {\n const e = pe(t);\n e && (t.preventDefault(), t.stopPropagation(), e.focus());\n },\n \"keydown.control.right\": (t) => {\n const e = me(t);\n e && (t.preventDefault(), t.stopPropagation(), e.focus());\n },\n \"keydown.end\": (t) => {\n const e = me(t);\n e && (t.preventDefault(), t.stopPropagation(), e.focus());\n },\n \"keydown.enter\": (t) => {\n if (t.target instanceof HTMLTableCellElement) {\n t.preventDefault(), t.stopPropagation();\n const e = ce(t);\n e && e.focus();\n }\n },\n \"keydown.shift.enter\": (t) => {\n if (t.target instanceof HTMLTableCellElement) {\n t.preventDefault(), t.stopPropagation();\n const e = de(t);\n e && e.focus();\n }\n },\n \"keydown.home\": (t) => {\n const e = pe(t);\n e && (t.preventDefault(), t.stopPropagation(), e.focus());\n },\n \"keydown.tab\": (t) => {\n const e = fe(t);\n e && (t.preventDefault(), t.stopPropagation(), e.focus());\n },\n \"keydown.shift.tab\": (t) => {\n const e = ue(t);\n e && (t.preventDefault(), t.stopPropagation(), e.focus());\n }\n};\nfunction ae(t) {\n const e = (s) => {\n let r = null;\n return s.parent && (typeof s.parent == \"string\" ? r = document.querySelector(s.parent) : s.parent instanceof HTMLElement ? r = s.parent : r = s.parent.value), r;\n }, n = (s) => {\n const r = e(s);\n let i = [];\n if (typeof s.selectors == \"string\")\n i = r ? Array.from(r.querySelectorAll(s.selectors)) : Array.from(document.querySelectorAll(s.selectors));\n else if (Array.isArray(s.selectors))\n for (const d of s.selectors)\n d instanceof HTMLElement ? i.push(d) : i.push(d.$el);\n else if (s.selectors instanceof HTMLElement)\n i.push(s.selectors);\n else if (Array.isArray(s.selectors.value))\n for (const d of s.selectors.value)\n d instanceof HTMLElement ? i.push(d) : i.push(d.$el);\n else\n i.push(s.selectors.value);\n return i;\n }, o = (s) => {\n const r = e(s);\n let i = [];\n return s.selectors ? i = n(s) : r && (i = Array.from(r.children).filter((d) => A(d) && k(d))), i;\n }, a = (s) => (r) => {\n const i = nt[r.key] || r.key.toLowerCase();\n if (H.includes(i)) return;\n const d = s.handlers || re;\n for (const u of Object.keys(d)) {\n const [p, ...c] = u.split(\".\");\n if (p === \"keydown\" && c.includes(i)) {\n const m = d[u], h = c.filter((g) => H.includes(g)), v = H.some((g) => {\n const P = g.charAt(0).toUpperCase() + g.slice(1);\n return r.getModifierState(P);\n });\n if (h.length > 0) {\n if (v) {\n for (const g of H)\n if (c.includes(g)) {\n const P = g.charAt(0).toUpperCase() + g.slice(1);\n r.getModifierState(P) && m(r);\n }\n }\n } else\n v || m(r);\n }\n }\n }, l = [];\n ye(() => {\n for (const s of t) {\n const r = e(s), i = o(s), d = a(s), u = r ? [r] : i;\n for (const p of u) {\n const { focused: c } = Ze(x(p)), m = S(c, (h) => {\n h ? p.addEventListener(\"keydown\", d) : p.removeEventListener(\"keydown\", d);\n });\n l.push(m);\n }\n }\n }), Me(() => {\n for (const s of l)\n s();\n });\n}\nconst ot = [\"data-colindex\", \"data-rowindex\", \"data-editable\", \"contenteditable\", \"tabindex\"], lt = { key: 1 }, Ae = /* @__PURE__ */ _({\n __name: \"ACell\",\n props: {\n colIndex: {},\n rowIndex: {},\n tableid: {},\n addNavigation: { type: [Boolean, Object], default: !0 },\n tabIndex: { default: 0 }\n },\n setup(t) {\n var h;\n const e = t, n = z(e.tableid), o = x(null), a = x(\"\"), l = x(!1), s = E(() => {\n const v = n.cellData(e.colIndex, e.rowIndex);\n if (n.columns[e.colIndex].format) {\n const g = n.columns[e.colIndex].format;\n return typeof g == \"function\" ? g(v) : typeof g == \"string\" ? Function(`\"use strict\";return (${g})`)()(v) : v;\n } else\n return v;\n }), r = () => {\n if (n.columns[e.colIndex].mask, n.columns[e.colIndex].modalComponent) {\n const v = o.value.getBoundingClientRect();\n n.modal.visible = !0, n.modal.colIndex = e.colIndex, n.modal.rowIndex = e.rowIndex, n.modal.parent = o.value, n.modal.top = v.top + v.height, n.modal.left = v.left, n.modal.width = d.value, n.modal.component = n.columns[e.colIndex].modalComponent, n.modal.componentProps = n.columns[e.colIndex].modalComponentProps;\n }\n };\n if (e.addNavigation) {\n let v = {\n ...re,\n \"keydown.f2\": r,\n \"keydown.alt.up\": r,\n \"keydown.alt.down\": r,\n \"keydown.alt.left\": r,\n \"keydown.alt.right\": r\n };\n typeof e.addNavigation == \"object\" && (v = {\n ...v,\n ...e.addNavigation\n }), ae([\n {\n selectors: o,\n handlers: v\n }\n ]);\n }\n const i = E(() => n.columns[e.colIndex].align || \"center\"), d = E(() => n.columns[e.colIndex].width || \"40ch\"), u = () => {\n o.value && (a.value = o.value.textContent);\n }, p = () => {\n o.value && o.value.textContent !== a.value && (a.value = o.value.textContent, o.value.dispatchEvent(new Event(\"change\")), l.value = !0, n.columns[e.colIndex].format || n.setCellData(e.rowIndex, e.colIndex, a.value));\n }, c = (v, g) => g && v === 0 && g > 0 ? `${g}ch` : \"inherit\", m = {\n textAlign: i.value,\n width: d.value,\n backgroundColor: l.value ? \"var(--cell-modified-color)\" : \"inherit\",\n fontWeight: l.value ? \"bold\" : \"inherit\",\n paddingLeft: c(e.colIndex, (h = n.display[e.rowIndex]) == null ? void 0 : h.indent)\n };\n return (v, g) => (w(), b(\"td\", {\n ref_key: \"cell\",\n ref: o,\n \"data-colindex\": v.colIndex,\n \"data-rowindex\": v.rowIndex,\n \"data-editable\": f(n).columns[v.colIndex].edit,\n contenteditable: f(n).columns[v.colIndex].edit,\n tabindex: v.tabIndex,\n spellcheck: !1,\n style: m,\n onFocus: u,\n onPaste: p,\n onBlur: p,\n onInput: p,\n onClick: r,\n onMousedown: r,\n class: \"atable__cell\"\n }, [\n f(n).columns[v.colIndex].cellComponent ? (w(), W(Ee(f(n).columns[v.colIndex].cellComponent), K({\n key: 0,\n value: s.value\n }, f(n).columns[v.colIndex].cellComponentProps), null, 16, [\"value\"])) : (w(), b(\"span\", lt, L(s.value), 1))\n ], 40, ot));\n }\n}), rt = [\"tabindex\"], at = [\"tabindex\"], st = [\"colspan\"], it = /* @__PURE__ */ _({\n __name: \"AExpansionRow\",\n props: {\n row: {},\n rowIndex: {},\n tableid: {},\n tabIndex: { default: -1 },\n addNavigation: { type: [Boolean, Object] }\n },\n setup(t) {\n const e = t, n = z(e.tableid), o = x(null), a = x(null), l = E(() => n.display[e.rowIndex].expanded ? \"▼\" : \"►\");\n if (e.addNavigation) {\n const s = {\n \"keydown.control.g\": (r) => {\n r.stopPropagation(), r.preventDefault(), n.toggleRowExpand(e.rowIndex);\n }\n };\n typeof e.addNavigation == \"object\" && Object.assign(s, e.addNavigation), ae([\n {\n selectors: o,\n handlers: s\n }\n ]);\n }\n return (s, r) => (w(), b(V, null, [\n $(\"tr\", K(s.$attrs, {\n ref_key: \"rowEl\",\n ref: o,\n tabindex: s.tabIndex,\n class: \"expandable-row\"\n }), [\n $(\"td\", {\n tabIndex: -1,\n onClick: r[0] || (r[0] = (i) => f(n).toggleRowExpand(s.rowIndex)),\n class: \"row-index\"\n }, L(l.value), 1),\n I(s.$slots, \"row\")\n ], 16, rt),\n f(n).display[e.rowIndex].expanded ? (w(), b(\"tr\", {\n key: 0,\n ref_key: \"rowExpanded\",\n ref: a,\n tabindex: s.tabIndex,\n class: \"expanded-row\"\n }, [\n $(\"td\", {\n tabIndex: -1,\n colspan: f(n).columns.length + 1,\n class: \"expanded-row-content\"\n }, [\n I(s.$slots, \"content\")\n ], 8, st)\n ], 8, at)) : B(\"\", !0)\n ], 64));\n }\n}), dt = [\"tabindex\"], ct = {\n key: 0,\n tabIndex: -1,\n class: \"list-index\"\n}, Ce = /* @__PURE__ */ _({\n __name: \"ARow\",\n props: {\n row: {},\n rowIndex: {},\n tableid: {},\n tabIndex: { default: -1 },\n addNavigation: { type: [Boolean, Object], default: !1 }\n },\n setup(t) {\n const e = t, n = z(e.tableid), o = x(null), a = E(() => n.config.view !== \"tree\" || n.display[e.rowIndex].isRoot || n.display[e.rowIndex].open), l = E(() => n.config.view !== \"tree\" ? \"\" : n.display[e.rowIndex].isRoot || n.display[e.rowIndex].isParent ? n.display[e.rowIndex].childrenOpen ? \"-\" : \"+\" : \"\"), s = (r) => {\n n.toggleRowExpand(r);\n };\n if (e.addNavigation) {\n let r = re;\n typeof e.addNavigation == \"object\" && (r = {\n ...r,\n ...e.addNavigation\n }), ae([\n {\n selectors: o,\n handlers: r\n }\n ]);\n }\n return (r, i) => X((w(), b(\"tr\", {\n ref_key: \"rowEl\",\n ref: o,\n tabindex: r.tabIndex,\n class: \"table-row\"\n }, [\n I(r.$slots, \"index\", {}, () => [\n f(n).config.view === \"list\" ? (w(), b(\"td\", ct, L(r.rowIndex + 1), 1)) : f(n).config.view === \"tree\" ? (w(), b(\"td\", {\n key: 1,\n tabIndex: -1,\n class: \"tree-index\",\n onClick: i[0] || (i[0] = (d) => s(r.rowIndex))\n }, L(l.value), 1)) : B(\"\", !0)\n ]),\n I(r.$slots, \"default\")\n ], 8, dt)), [\n [Ie, a.value]\n ]);\n }\n});\nfunction Se(t) {\n return be() ? (xe(t), !0) : !1;\n}\nfunction O(t) {\n return typeof t == \"function\" ? t() : f(t);\n}\nconst _e = typeof window < \"u\" && typeof document < \"u\";\ntypeof WorkerGlobalScope < \"u\" && globalThis instanceof WorkerGlobalScope;\nconst ut = Object.prototype.toString, ft = (t) => ut.call(t) === \"[object Object]\", R = () => {\n}, Z = /* @__PURE__ */ pt();\nfunction pt() {\n var t, e;\n return _e && ((t = window == null ? void 0 : window.navigator) == null ? void 0 : t.userAgent) && (/iP(?:ad|hone|od)/.test(window.navigator.userAgent) || ((e = window == null ? void 0 : window.navigator) == null ? void 0 : e.maxTouchPoints) > 2 && /iPad|Macintosh/.test(window == null ? void 0 : window.navigator.userAgent));\n}\nconst ve = {\n mounted: \"mounted\",\n updated: \"updated\",\n unmounted: \"unmounted\"\n};\nfunction mt(...t) {\n if (t.length !== 1)\n return He(...t);\n const e = t[0];\n return typeof e == \"function\" ? je(We(() => ({ get: e, set: R }))) : x(e);\n}\nfunction T(t) {\n var e;\n const n = O(t);\n return (e = n == null ? void 0 : n.$el) != null ? e : n;\n}\nconst De = _e ? window : void 0;\nfunction U(...t) {\n let e, n, o, a;\n if (typeof t[0] == \"string\" || Array.isArray(t[0]) ? ([n, o, a] = t, e = De) : [e, n, o, a] = t, !e)\n return R;\n Array.isArray(n) || (n = [n]), Array.isArray(o) || (o = [o]);\n const l = [], s = () => {\n l.forEach((u) => u()), l.length = 0;\n }, r = (u, p, c, m) => (u.addEventListener(p, c, m), () => u.removeEventListener(p, c, m)), i = S(\n () => [T(e), O(a)],\n ([u, p]) => {\n if (s(), !u)\n return;\n const c = ft(p) ? { ...p } : p;\n l.push(\n ...n.flatMap((m) => o.map((h) => r(u, m, h, c)))\n );\n },\n { immediate: !0, flush: \"post\" }\n ), d = () => {\n i(), s();\n };\n return Se(d), d;\n}\nlet he = !1;\nfunction we(t, e, n = {}) {\n const { window: o = De, ignore: a = [], capture: l = !0, detectIframe: s = !1 } = n;\n if (!o)\n return R;\n Z && !he && (he = !0, Array.from(o.document.body.children).forEach((c) => c.addEventListener(\"click\", R)), o.document.documentElement.addEventListener(\"click\", R));\n let r = !0;\n const i = (c) => a.some((m) => {\n if (typeof m == \"string\")\n return Array.from(o.document.querySelectorAll(m)).some((h) => h === c.target || c.composedPath().includes(h));\n {\n const h = T(m);\n return h && (c.target === h || c.composedPath().includes(h));\n }\n }), u = [\n U(o, \"click\", (c) => {\n const m = T(t);\n if (!(!m || m === c.target || c.composedPath().includes(m))) {\n if (c.detail === 0 && (r = !i(c)), !r) {\n r = !0;\n return;\n }\n e(c);\n }\n }, { passive: !0, capture: l }),\n U(o, \"pointerdown\", (c) => {\n const m = T(t);\n r = !i(c) && !!(m && !c.composedPath().includes(m));\n }, { passive: !0 }),\n s && U(o, \"blur\", (c) => {\n setTimeout(() => {\n var m;\n const h = T(t);\n ((m = o.document.activeElement) == null ? void 0 : m.tagName) === \"IFRAME\" && !(h != null && h.contains(o.document.activeElement)) && e(c);\n }, 0);\n })\n ].filter(Boolean);\n return () => u.forEach((c) => c());\n}\nconst vt = {\n [ve.mounted](t, e) {\n const n = !e.modifiers.bubble;\n if (typeof e.value == \"function\")\n t.__onClickOutside_stop = we(t, e.value, { capture: n });\n else {\n const [o, a] = e.value;\n t.__onClickOutside_stop = we(t, o, Object.assign({ capture: n }, a));\n }\n },\n [ve.unmounted](t) {\n t.__onClickOutside_stop();\n }\n};\nfunction q(t) {\n return typeof Window < \"u\" && t instanceof Window ? t.document.documentElement : typeof Document < \"u\" && t instanceof Document ? t.documentElement : t;\n}\nfunction Te(t) {\n const e = window.getComputedStyle(t);\n if (e.overflowX === \"scroll\" || e.overflowY === \"scroll\" || e.overflowX === \"auto\" && t.clientWidth < t.scrollWidth || e.overflowY === \"auto\" && t.clientHeight < t.scrollHeight)\n return !0;\n {\n const n = t.parentNode;\n return !n || n.tagName === \"BODY\" ? !1 : Te(n);\n }\n}\nfunction ht(t) {\n const e = t || window.event, n = e.target;\n return Te(n) ? !1 : e.touches.length > 1 ? !0 : (e.preventDefault && e.preventDefault(), !1);\n}\nconst G = /* @__PURE__ */ new WeakMap();\nfunction wt(t, e = !1) {\n const n = x(e);\n let o = null, a = \"\";\n S(mt(t), (r) => {\n const i = q(O(r));\n if (i) {\n const d = i;\n if (G.get(d) || G.set(d, d.style.overflow), d.style.overflow !== \"hidden\" && (a = d.style.overflow), d.style.overflow === \"hidden\")\n return n.value = !0;\n if (n.value)\n return d.style.overflow = \"hidden\";\n }\n }, {\n immediate: !0\n });\n const l = () => {\n const r = q(O(t));\n !r || n.value || (Z && (o = U(\n r,\n \"touchmove\",\n (i) => {\n ht(i);\n },\n { passive: !1 }\n )), r.style.overflow = \"hidden\", n.value = !0);\n }, s = () => {\n const r = q(O(t));\n !r || !n.value || (Z && (o == null || o()), r.style.overflow = a, G.delete(r), n.value = !1);\n };\n return Se(s), E({\n get() {\n return n.value;\n },\n set(r) {\n r ? l() : s();\n }\n });\n}\nfunction gt() {\n let t = !1;\n const e = x(!1);\n return (n, o) => {\n if (e.value = o.value, t)\n return;\n t = !0;\n const a = wt(n, o.value);\n S(e, (l) => a.value = l);\n };\n}\ngt();\nvar y = [];\nfor (var Y = 0; Y < 256; ++Y)\n y.push((Y + 256).toString(16).slice(1));\nfunction yt(t, e = 0) {\n return (y[t[e + 0]] + y[t[e + 1]] + y[t[e + 2]] + y[t[e + 3]] + \"-\" + y[t[e + 4]] + y[t[e + 5]] + \"-\" + y[t[e + 6]] + y[t[e + 7]] + \"-\" + y[t[e + 8]] + y[t[e + 9]] + \"-\" + y[t[e + 10]] + y[t[e + 11]] + y[t[e + 12]] + y[t[e + 13]] + y[t[e + 14]] + y[t[e + 15]]).toLowerCase();\n}\nvar j, bt = new Uint8Array(16);\nfunction xt() {\n if (!j && (j = typeof crypto < \"u\" && crypto.getRandomValues && crypto.getRandomValues.bind(crypto), !j))\n throw new Error(\"crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported\");\n return j(bt);\n}\nvar Et = typeof crypto < \"u\" && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nconst ge = {\n randomUUID: Et\n};\nfunction It(t, e, n) {\n if (ge.randomUUID && !e && !t)\n return ge.randomUUID();\n t = t || {};\n var o = t.random || (t.rng || xt)();\n if (o[6] = o[6] & 15 | 64, o[8] = o[8] & 63 | 128, e) {\n n = n || 0;\n for (var a = 0; a < 16; ++a)\n e[n + a] = o[a];\n return e;\n }\n return yt(o);\n}\nclass kt {\n constructor(e, n, o, a, l, s) {\n C(this, \"id\");\n C(this, \"rows\");\n C(this, \"columns\");\n C(this, \"config\");\n C(this, \"table\");\n C(this, \"display\");\n C(this, \"modal\");\n this.id = e || It(), this.rows = o, this.columns = D(n), this.config = D(a), this.table = l || D(this.createTableObject()), this.display = this.createDisplayObject(s), this.modal = D({ visible: !1 });\n }\n createTableObject() {\n const e = {};\n for (const [n, o] of this.columns.entries())\n for (const [a, l] of this.rows.entries())\n e[`${n}:${a}`] = l[o.name];\n return e;\n }\n createDisplayObject(e) {\n const n = [Object.assign({}, { modified: !1 })];\n if (e && \"0:0\" in e)\n return e;\n const o = /* @__PURE__ */ new Set();\n for (let a = this.rows.length - 1; a >= 0; a--) {\n const l = this.rows[a];\n l.parent && o.add(l.parent), n[a] = {\n childrenOpen: !1,\n expanded: !1,\n indent: l.indent || null,\n isParent: o.has(a),\n isRoot: l.parent === null || l.parent === void 0,\n modified: !1,\n open: l.parent === null || l.parent === void 0,\n parent: l.parent\n };\n }\n return D(n);\n }\n get zeroColumn() {\n return [\"list\", \"tree\", \"list-expansion\"].includes(this.config.view);\n }\n get numberedRowWidth() {\n return E(() => String(Math.ceil(this.rows.length / 100) + 1) + \"ch\");\n }\n cellData(e, n) {\n return this.table[`${e}:${n}`];\n }\n setCellData(e, n, o) {\n this.table[`${n}:${e}`] !== o && (this.display[e].modified = !0), this.table[`${n}:${e}`] = o;\n const a = this.columns[n];\n return this.rows[e][a.name] = o, this.table[`${n}:${e}`];\n }\n toggleRowExpand(e) {\n if (this.config.view === \"tree\") {\n this.display[e].childrenOpen = !this.display[e].childrenOpen;\n for (let n = this.rows.length - 1; n >= 0; n--)\n this.display[n].parent === e && (this.display[n].open = !this.display[n].open, this.display[n].childrenOpen && this.toggleRowExpand(n));\n } else this.config.view === \"list-expansion\" && (this.display[e].expanded = !this.display[e].expanded);\n }\n}\nconst At = {\n key: 0,\n id: \"resizable\"\n}, Ct = {\n class: \"atable-header-row\",\n tabindex: \"-1\"\n}, St = {\n key: 0,\n id: \"header-index\"\n}, $e = /* @__PURE__ */ _({\n __name: \"ATableHeader\",\n props: {\n columns: {},\n config: {},\n tableid: {}\n },\n setup(t) {\n const n = z(t.tableid), o = (a) => ({\n minWidth: a.width || \"40ch\",\n textAlign: a.align || \"center\",\n width: n.config.fullWidth ? \"auto\" : null\n });\n return (a, l) => a.columns.length ? (w(), b(\"thead\", At, [\n $(\"tr\", Ct, [\n f(n).zeroColumn ? (w(), b(\"th\", St)) : B(\"\", !0),\n (w(!0), b(V, null, J(a.columns, (s, r) => (w(), b(\"th\", {\n key: s.name,\n tabindex: \"-1\",\n style: N(o(s))\n }, [\n I(a.$slots, \"default\", {}, () => [\n Ne(L(s.label || String.fromCharCode(r + 97).toUpperCase()), 1)\n ])\n ], 4))), 128))\n ])\n ])) : B(\"\", !0);\n }\n}), Oe = /* @__PURE__ */ _({\n __name: \"ATableModal\",\n props: {\n colIndex: {},\n rowIndex: {},\n tableid: {}\n },\n setup(t) {\n const e = (n) => {\n n.stopPropagation();\n };\n return (n, o) => (w(), b(\"div\", {\n ref: \"amodal\",\n class: \"amodal\",\n tabindex: \"-1\",\n onClick: e,\n onInput: e\n }, [\n I(n.$slots, \"default\")\n ], 544));\n }\n}), _t = /* @__PURE__ */ _({\n __name: \"ATable\",\n props: {\n id: {},\n modelValue: {},\n columns: {},\n rows: { default: () => [] },\n config: { default: () => new Object() },\n tableid: {}\n },\n emits: [\"update:modelValue\"],\n setup(t, { emit: e }) {\n const n = t, o = e;\n let a = n.modelValue ? n.modelValue : n.rows, l = new kt(n.id, n.columns, a, n.config);\n Ue(l.id, l), S(\n () => l.rows,\n (r) => {\n o(\"update:modelValue\", r);\n },\n { deep: !0 }\n );\n const s = (r) => {\n var i;\n r.target instanceof Node && (i = l.modal.parent) != null && i.contains(r.target) || l.modal.visible && (l.modal.visible = !1);\n };\n return window.addEventListener(\"keydown\", (r) => {\n if (r.key === \"Escape\" && l.modal.visible) {\n l.modal.visible = !1;\n const i = l.modal.parent;\n i && Ve().then(() => {\n i.focus();\n });\n }\n }), (r, i) => X((w(), b(\"table\", {\n class: \"atable\",\n style: N({ width: f(l).config.fullWidth ? \"100%\" : \"auto\" })\n }, [\n I(r.$slots, \"header\", { data: f(l) }, () => [\n se($e, {\n columns: f(l).columns,\n config: f(l).config,\n tableid: f(l).id\n }, null, 8, [\"columns\", \"config\", \"tableid\"])\n ]),\n $(\"tbody\", null, [\n I(r.$slots, \"body\", { data: f(l) }, () => [\n (w(!0), b(V, null, J(f(l).rows, (d, u) => (w(), W(Ce, {\n key: d.id,\n row: d,\n rowIndex: u,\n tableid: f(l).id\n }, {\n default: ie(() => [\n (w(!0), b(V, null, J(f(l).columns, (p, c) => (w(), W(Ae, {\n key: p.name,\n tableid: f(l).id,\n col: p,\n spellcheck: \"false\",\n rowIndex: u,\n colIndex: c + (f(l).zeroColumn ? 0 : -1),\n component: p.cellComponent,\n style: N({\n textAlign: (p == null ? void 0 : p.align) || \"center\",\n minWidth: (p == null ? void 0 : p.width) || \"40ch\",\n width: f(l).config.fullWidth ? \"auto\" : null\n })\n }, null, 8, [\"tableid\", \"col\", \"rowIndex\", \"colIndex\", \"component\", \"style\"]))), 128))\n ]),\n _: 2\n }, 1032, [\"row\", \"rowIndex\", \"tableid\"]))), 128))\n ])\n ]),\n I(r.$slots, \"footer\", { data: f(l) }),\n I(r.$slots, \"modal\", { data: f(l) }, () => [\n X(se(Oe, {\n colIndex: f(l).modal.colIndex,\n rowIndex: f(l).modal.rowIndex,\n tableid: f(l).id,\n style: N({\n left: f(l).modal.left + \"px\",\n top: f(l).modal.top + \"px\",\n maxWidth: f(l).modal.width + \"px\"\n })\n }, {\n default: ie(() => [\n (w(), W(Ee(f(l).modal.component), K({\n key: `${f(l).modal.rowIndex}:${f(l).modal.colIndex}`,\n colIndex: f(l).modal.colIndex,\n rowIndex: f(l).modal.rowIndex,\n tableid: f(l).id\n }, f(l).modal.componentProps), null, 16, [\"colIndex\", \"rowIndex\", \"tableid\"]))\n ]),\n _: 1\n }, 8, [\"colIndex\", \"rowIndex\", \"tableid\", \"style\"]), [\n [Ie, f(l).modal.visible]\n ])\n ])\n ], 4)), [\n [f(vt), s]\n ]);\n }\n});\nfunction $t(t) {\n t.component(\"ACell\", Ae), t.component(\"AExpansionRow\", it), t.component(\"ARow\", Ce), t.component(\"ATable\", _t), t.component(\"ATableHeader\", $e), t.component(\"ATableModal\", Oe);\n}\nexport {\n Ae as ACell,\n it as AExpansionRow,\n Ce as ARow,\n _t as ATable,\n $e as ATableHeader,\n Oe as ATableModal,\n kt as TableDataStore,\n $t as install\n};\n//# sourceMappingURL=atable.js.map\n","<template>\n\t<ATable\n\t\tv-if=\"isReady\"\n\t\t:columns=\"stonecrop.schema.schema.toArray()\"\n\t\t:rows=\"stonecrop.store.records\"\n\t\t:config=\"config\" />\n</template>\n\n<script setup lang=\"ts\">\nimport { ATable } from '@stonecrop/atable'\nimport { useStonecrop } from '@stonecrop/stonecrop'\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, isReady } = useStonecrop()\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@click=\"navigateHome\"\n\t\t\t\t@keydown.enter=\"navigateHome\"\n\t\t\t\t:style=\"{ display: breadcrumbsVisibile ? 'block' : 'none' }\">\n\t\t\t\t<router-link to=\"/home\" tabindex=\"0\">\n\t\t\t\t\t<svg\n\t\t\t\t\t\tversion=\"1.1\"\n\t\t\t\t\t\tid=\"Capa_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@click=\"toggleSearch\"\n\t\t\t\t@keydown.enter=\"toggleSearch\"\n\t\t\t\t:style=\"{ display: breadcrumbsVisibile ? 'block' : 'none' }\">\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\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\t\tid=\"path2\" />\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\tv-model=\"searchText\"\n\t\t\t\t\t\tref=\"searchinput\"\n\t\t\t\t\t\t:style=\"{ display: searchVisibile ? 'block' : 'none' }\"\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\t\ttype=\"text\" />\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 } from 'vue'\n\nwithDefaults(\n\tdefineProps<{\n\t\tbreadcrumbs?: { title: string; to: string }[]\n\t}>(),\n\t{\n\t\tbreadcrumbs: () => [],\n\t}\n)\n\nconst breadcrumbsVisibile = ref(true)\nconst searchVisibile = ref(false)\nconst searchText = ref('')\nconst searchinput = ref<HTMLElement>(null)\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\tsearchinput.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\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":["props","__props","_elements","ref","isOpen","timeout","hover","closeClicked","onMounted","closeDropdowns","element","onHover","onHoverLeave","toggleDropdown","index","showDropdown","_cache","Y","l","mt","vt","A","f","c","r","$","h","g","O","U","G","De","Me","p","fe","pr","mr","V","at","_e","o","s","i","a","ct","En","Ve","Ze","Sr","bn","Or","Nr","kr","me","ut","Pr","$r","Rr","wt","ke","Ce","wn","he","Q","Ge","Pe","jt","Ir","St","Nn","Sn","je","n","Le","On","Cr","Ar","Tr","x","Ot","kn","Pn","Dr","Mr","$n","Vr","xr","jr","J","Rn","lt","Lr","Br","Ur","Hr","ve","Be","ce","B","Fr","Ue","Gr","Fe","Wr","In","re","Te","le","ue","Lt","zr","qr","gn","oe","Cn","Ie","bt","An","Bt","vr","yr","ge","Jr","ft","Kr","Qr","W","Ut","Ht","xt","d","z","dt","E","w","b","S","y","it","k","j","M","ie","Se","L","K","q","vn","Ye","Yr","gr","de","Et","Xr","Ai","_r","u","Ee","Z","Zr","I","et","F","$e","Tn","eo","to","no","ro","Dn","oo","so","Mn","io","Vn","ao","xn","co","Nt","uo","pt","lo","fo","ho","be","po","mo","tt","yo","go","Ft","Gt","se","jn","vo","Wt","te","Ae","Re","_o","Eo","bo","wo","We","So","zt","Oo","No","ko","Ln","Po","qt","$o","Ro","He","Bn","gt","Jt","Io","Ao","we","X","Co","Kt","To","Do","Mo","Vo","Un","Qt","xo","jo","Lo","Bo","Uo","Zt","Ho","zo","qo","Wo","Xt","Hn","Jo","Yt","Go","Fo","Ko","Qo","en","Yo","Xo","tn","kt","Fn","yt","Oe","ne","Zo","nt","es","nn","rn","os","rs","wr","ts","yn","on","_n","ns","ss","as","Xe","sn","C","P","is","Ne","ys","xe","cs","us","Gn","qn","ps","ms","zn","Wn","Qn","_t","Kn","Jn","fs","ls","ds","hs","gs","vs","_s","Er","m","N","T","ae","R","D","Mt","Je","Dt","Es","pe","hr","Ke","Qe","Vt","br","ws","Yn","Ss","Pt","an","rt","ze","Os","Ns","ks","Ps","$s","Rs","Is","Cs","As","Xn","Zn","Ts","$t","Ds","Ms","ee","qe","Vs","er","Rt","xs","js","Ls","Bs","Us","Hs","Fs","tr","nr","Gs","Ws","zs","qs","Js","Ks","Qs","Ys","Xs","Zs","rr","or","ei","ti","ni","ri","sr","oi","si","ii","ai","ci","ui","It","li","fi","di","hi","pi","mi","gi","cn","vi","ir","yi","Ct","t","_i","ln","dn","fn","ar","Ei","bi","hn","wi","Si","Oi","Ni","ye","At","cr","ur","lr","fr","Tt","pn","ki","mn","ot","st","v","Pi","$i","Ri","dr","stonecrop","isReady","useStonecrop","schema","watch","newSchema","item","fieldValue","e","H","_","ht","config","breadcrumbsVisibile","searchVisibile","searchText","searchinput","rotateHideTabIcon","computed","toggleBreadcrumbs","toggleSearch","nextTick","handleSearchInput","event","handleSearch","navigateHome","plugin","app","ActionSet","CommandPalette","Doctype","Records","SheetNav"],"mappings":"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"}
|