@stonecrop/desktop 0.4.2 → 0.4.4
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.js +761 -759
- package/dist/desktop.js.map +1 -1
- package/dist/desktop.umd.cjs +10 -10
- package/dist/desktop.umd.cjs.map +1 -1
- package/dist/style.css +1 -1
- package/package.json +5 -5
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","../../common/temp/node_modules/.pnpm/vue-demi@0.14.10_vue@3.5.13_typescript@5.6.3_/node_modules/vue-demi/lib/index.mjs","../../common/temp/node_modules/.pnpm/pinia@2.3.0_typescript@5.6.3_vue@3.5.13_typescript@5.6.3_/node_modules/pinia/dist/pinia.mjs","../../atable/dist/atable.js","../src/components/Records.vue","../src/components/SheetNav.vue","../src/plugins/index.ts"],"sourcesContent":["<template>\n\t<div\n\t\t:class=\"{ 'open-set': isOpen, 'hovered-and-closed': closeClicked }\"\n\t\tclass=\"action-set collapse\"\n\t\t@mouseover=\"onHover\"\n\t\t@mouseleave=\"onHoverLeave\">\n\t\t<div class=\"action-menu-icon\">\n\t\t\t<div id=\"chevron\" @click=\"closeClicked = !closeClicked\">\n\t\t\t\t<svg\n\t\t\t\t\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.type == 'button'\" :onclick=\"el.action\" class=\"button-default\">{{ el.label }}</button>\n\t\t\t<div v-if=\"el.type == 'dropdown'\">\n\t\t\t\t<button class=\"button-default\" @click=\"toggleDropdown(index)\">{{ el.label }}</button>\n\t\t\t\t<div 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\nimport type { ActionElements } from '../types'\n\nconst { elements } = defineProps<{ elements?: ActionElements[] }>()\n\nconst _elements = ref(elements)\nconst isOpen = ref(false)\nconst timeout = ref<number>(null)\nconst hover = ref(false)\nconst closeClicked = ref(false)\n\nonMounted(() => {\n\tcloseDropdowns()\n})\n\nconst closeDropdowns = () => {\n\tfor (const element of _elements.value) {\n\t\tif (element.type === 'dropdown') {\n\t\t\telement.show = false\n\t\t}\n\t}\n}\n\nconst onHover = () => {\n\thover.value = true\n\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 M, mergeModels as G, useModel as H, openBlock as g, createElementBlock as b, createElementVNode as d, toDisplayString as D, withDirectives as E, vModelCheckbox as Ve, vShow as R, resolveComponent as Pe, createBlock as te, withCtx as Oe, useTemplateRef as _e, vModelText as F, getCurrentScope as Ae, onScopeDispose as De, unref as C, toRef as Fe, readonly as Ee, customRef as He, ref as y, watch as P, computed as T, reactive as Re, normalizeClass as J, withKeys as O, Fragment as U, renderList as N, withModifiers as Me, onMounted as ne, onBeforeUnmount as Be, getCurrentInstance as qe, nextTick as We, resolveDynamicComponent as Ue, mergeProps as Ne, createTextVNode as Ie, createCommentVNode as oe, renderSlot as Ye, createVNode as je } from \"vue\";\nimport './assets/index.css';const Ge = { class: \"aform_form-element\" }, Ke = [\"for\"], ze = { class: \"aform_checkbox-container aform_input-field\" }, Xe = [\"id\", \"readonly\", \"required\"], Je = [\"innerHTML\"], Qe = /* @__PURE__ */ M({\n __name: \"ACheckbox\",\n props: /* @__PURE__ */ G({\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 = H(e, \"modelValue\");\n return (n, o) => (g(), b(\"div\", Ge, [\n d(\"label\", {\n class: \"aform_field-label\",\n for: n.uuid\n }, D(n.label), 9, Ke),\n d(\"span\", ze, [\n E(d(\"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, Xe), [\n [Ve, t.value]\n ])\n ]),\n E(d(\"p\", {\n class: \"aform_error\",\n innerHTML: n.validation.errorMessage\n }, null, 8, Je), [\n [R, n.validation.errorMessage]\n ])\n ]));\n }\n}), S = (e, t) => {\n const n = e.__vccOpts || e;\n for (const [o, l] of t)\n n[o] = l;\n return n;\n}, Ze = /* @__PURE__ */ S(Qe, [[\"__scopeId\", \"data-v-9f382ad4\"]]), et = /* @__PURE__ */ M({\n __name: \"AComboBox\",\n props: [\"event\", \"cellData\", \"tableID\"],\n setup(e) {\n return (t, n) => {\n const o = Pe(\"ATableModal\");\n return g(), te(o, {\n event: e.event,\n cellData: e.cellData,\n class: \"amodal\"\n }, {\n default: Oe(() => n[0] || (n[0] = [\n d(\"div\", null, [\n d(\"input\", { type: \"text\" }),\n d(\"input\", { type: \"text\" }),\n d(\"input\", { type: \"text\" })\n ], -1)\n ])),\n _: 1\n }, 8, [\"event\", \"cellData\"]);\n };\n }\n}), tt = [\"id\", \"disabled\", \"required\"], nt = [\"for\"], ot = [\"innerHTML\"], lt = /* @__PURE__ */ M({\n __name: \"ADate\",\n props: /* @__PURE__ */ G({\n schema: {},\n label: { default: \"Date\" },\n mask: {},\n required: { type: Boolean },\n readonly: { type: Boolean },\n uuid: {},\n validation: { default: () => ({ errorMessage: \" \" }) }\n }, {\n modelValue: {\n // format the date to be compatible with the native input datepicker\n },\n modelModifiers: {}\n }),\n emits: [\"update:modelValue\"],\n setup(e) {\n const t = H(e, \"modelValue\", {\n // format the date to be compatible with the native input datepicker\n set: (l) => new Date(l).toISOString().split(\"T\")[0]\n }), n = _e(\"date\"), o = () => {\n n.value && \"showPicker\" in HTMLInputElement.prototype && n.value.showPicker();\n };\n return (l, a) => (g(), b(\"div\", null, [\n E(d(\"input\", {\n \"onUpdate:modelValue\": a[0] || (a[0] = (s) => t.value = s),\n ref: \"date\",\n type: \"date\",\n id: l.uuid,\n disabled: l.readonly,\n required: l.required,\n onClick: o\n }, null, 8, tt), [\n [F, t.value]\n ]),\n d(\"label\", { for: l.uuid }, D(l.label), 9, nt),\n E(d(\"p\", {\n innerHTML: l.validation.errorMessage\n }, null, 8, ot), [\n [R, l.validation.errorMessage]\n ])\n ]));\n }\n}), st = /* @__PURE__ */ S(lt, [[\"__scopeId\", \"data-v-280b3d1a\"]]);\nfunction le(e) {\n return Ae() ? (De(e), !0) : !1;\n}\nfunction de() {\n const e = /* @__PURE__ */ new Set(), t = (l) => {\n e.delete(l);\n };\n return {\n on: (l) => {\n e.add(l);\n const a = () => t(l);\n return le(a), {\n off: a\n };\n },\n off: t,\n trigger: (...l) => Promise.all(Array.from(e).map((a) => a(...l)))\n };\n}\nfunction V(e) {\n return typeof e == \"function\" ? e() : C(e);\n}\nconst se = typeof window < \"u\" && typeof document < \"u\";\ntypeof WorkerGlobalScope < \"u\" && globalThis instanceof WorkerGlobalScope;\nconst at = Object.prototype.toString, rt = (e) => at.call(e) === \"[object Object]\", W = () => {\n}, it = (e, t) => Object.prototype.hasOwnProperty.call(e, t), ee = /* @__PURE__ */ ut();\nfunction ut() {\n var e, t;\n return se && ((e = window == null ? void 0 : window.navigator) == null ? void 0 : e.userAgent) && (/iP(?:ad|hone|od)/.test(window.navigator.userAgent) || ((t = window == null ? void 0 : window.navigator) == null ? void 0 : t.maxTouchPoints) > 2 && /iPad|Macintosh/.test(window == null ? void 0 : window.navigator.userAgent));\n}\nfunction ct(...e) {\n if (e.length !== 1)\n return Fe(...e);\n const t = e[0];\n return typeof t == \"function\" ? Ee(He(() => ({ get: t, set: W }))) : y(t);\n}\nconst dt = se ? window.document : void 0, ft = {\n multiple: !0,\n accept: \"*\",\n reset: !1,\n directory: !1\n};\nfunction mt(e = {}) {\n const {\n document: t = dt\n } = e, n = y(null), { on: o, trigger: l } = de(), { on: a, trigger: s } = de();\n let r;\n t && (r = t.createElement(\"input\"), r.type = \"file\", r.onchange = (c) => {\n const m = c.target;\n n.value = m.files, l(n.value);\n }, r.oncancel = () => {\n s();\n });\n const u = () => {\n n.value = null, r && r.value && (r.value = \"\", l(null));\n }, i = (c) => {\n if (!r)\n return;\n const m = {\n ...ft,\n ...e,\n ...c\n };\n r.multiple = m.multiple, r.accept = m.accept, r.webkitdirectory = m.directory, it(m, \"capture\") && (r.capture = m.capture), m.reset && u(), r.click();\n };\n return {\n files: Ee(n),\n open: i,\n reset: u,\n onCancel: a,\n onChange: o\n };\n}\nconst Ce = se ? window : void 0;\nfunction q(e) {\n var t;\n const n = V(e);\n return (t = n == null ? void 0 : n.$el) != null ? t : n;\n}\nfunction X(...e) {\n let t, n, o, l;\n if (typeof e[0] == \"string\" || Array.isArray(e[0]) ? ([n, o, l] = e, t = Ce) : [t, n, o, l] = e, !t)\n return W;\n Array.isArray(n) || (n = [n]), Array.isArray(o) || (o = [o]);\n const a = [], s = () => {\n a.forEach((c) => c()), a.length = 0;\n }, r = (c, m, f, p) => (c.addEventListener(m, f, p), () => c.removeEventListener(m, f, p)), u = P(\n () => [q(t), V(l)],\n ([c, m]) => {\n if (s(), !c)\n return;\n const f = rt(m) ? { ...m } : m;\n a.push(\n ...n.flatMap((p) => o.map((w) => r(c, p, w, f)))\n );\n },\n { immediate: !0, flush: \"post\" }\n ), i = () => {\n u(), s();\n };\n return le(i), i;\n}\nlet fe = !1;\nfunction me(e, t, n = {}) {\n const { window: o = Ce, ignore: l = [], capture: a = !0, detectIframe: s = !1 } = n;\n if (!o)\n return W;\n ee && !fe && (fe = !0, Array.from(o.document.body.children).forEach((v) => v.addEventListener(\"click\", W)), o.document.documentElement.addEventListener(\"click\", W));\n let r = !0;\n const u = (v) => V(l).some((h) => {\n if (typeof h == \"string\")\n return Array.from(o.document.querySelectorAll(h)).some((_) => _ === v.target || v.composedPath().includes(_));\n {\n const _ = q(h);\n return _ && (v.target === _ || v.composedPath().includes(_));\n }\n });\n function i(v) {\n const h = V(v);\n return h && h.$.subTree.shapeFlag === 16;\n }\n function c(v, h) {\n const _ = V(v), B = _.$.subTree && _.$.subTree.children;\n return B == null || !Array.isArray(B) ? !1 : B.some((k) => k.el === h.target || h.composedPath().includes(k.el));\n }\n const m = (v) => {\n const h = q(e);\n if (v.target != null && !(!(h instanceof Element) && i(e) && c(e, v)) && !(!h || h === v.target || v.composedPath().includes(h))) {\n if (v.detail === 0 && (r = !u(v)), !r) {\n r = !0;\n return;\n }\n t(v);\n }\n };\n let f = !1;\n const p = [\n X(o, \"click\", (v) => {\n f || (f = !0, setTimeout(() => {\n f = !1;\n }, 0), m(v));\n }, { passive: !0, capture: a }),\n X(o, \"pointerdown\", (v) => {\n const h = q(e);\n r = !u(v) && !!(h && !v.composedPath().includes(h));\n }, { passive: !0 }),\n s && X(o, \"blur\", (v) => {\n setTimeout(() => {\n var h;\n const _ = q(e);\n ((h = o.document.activeElement) == null ? void 0 : h.tagName) === \"IFRAME\" && !(_ != null && _.contains(o.document.activeElement)) && t(v);\n }, 0);\n })\n ].filter(Boolean);\n return () => p.forEach((v) => v());\n}\nconst pt = {\n mounted(e, t) {\n const n = !t.modifiers.bubble;\n if (typeof t.value == \"function\")\n e.__onClickOutside_stop = me(e, t.value, { capture: n });\n else {\n const [o, l] = t.value;\n e.__onClickOutside_stop = me(e, o, Object.assign({ capture: n }, l));\n }\n },\n unmounted(e) {\n e.__onClickOutside_stop();\n }\n};\nfunction Q(e) {\n return typeof Window < \"u\" && e instanceof Window ? e.document.documentElement : typeof Document < \"u\" && e instanceof Document ? e.documentElement : e;\n}\nfunction Te(e) {\n const t = window.getComputedStyle(e);\n if (t.overflowX === \"scroll\" || t.overflowY === \"scroll\" || t.overflowX === \"auto\" && e.clientWidth < e.scrollWidth || t.overflowY === \"auto\" && e.clientHeight < e.scrollHeight)\n return !0;\n {\n const n = e.parentNode;\n return !n || n.tagName === \"BODY\" ? !1 : Te(n);\n }\n}\nfunction vt(e) {\n const t = e || window.event, n = t.target;\n return Te(n) ? !1 : t.touches.length > 1 ? !0 : (t.preventDefault && t.preventDefault(), !1);\n}\nconst Z = /* @__PURE__ */ new WeakMap();\nfunction ht(e, t = !1) {\n const n = y(t);\n let o = null, l = \"\";\n P(ct(e), (r) => {\n const u = Q(V(r));\n if (u) {\n const i = u;\n if (Z.get(i) || Z.set(i, i.style.overflow), i.style.overflow !== \"hidden\" && (l = i.style.overflow), i.style.overflow === \"hidden\")\n return n.value = !0;\n if (n.value)\n return i.style.overflow = \"hidden\";\n }\n }, {\n immediate: !0\n });\n const a = () => {\n const r = Q(V(e));\n !r || n.value || (ee && (o = X(\n r,\n \"touchmove\",\n (u) => {\n vt(u);\n },\n { passive: !1 }\n )), r.style.overflow = \"hidden\", n.value = !0);\n }, s = () => {\n const r = Q(V(e));\n !r || !n.value || (ee && (o == null || o()), r.style.overflow = l, Z.delete(r), n.value = !1);\n };\n return le(s), T({\n get() {\n return n.value;\n },\n set(r) {\n r ? a() : s();\n }\n });\n}\nfunction gt() {\n let e = !1;\n const t = y(!1);\n return (n, o) => {\n if (t.value = o.value, e)\n return;\n e = !0;\n const l = ht(n, o.value);\n P(t, (a) => l.value = a);\n };\n}\ngt();\nconst yt = { class: \"input-wrapper\" }, bt = {\n id: \"autocomplete-results\",\n class: \"autocomplete-results\"\n}, wt = {\n key: 0,\n class: \"loading autocomplete-result\"\n}, kt = [\"onClick\"], _t = /* @__PURE__ */ M({\n __name: \"ADropdown\",\n props: /* @__PURE__ */ G({\n label: {},\n items: {},\n isAsync: { type: Boolean },\n filterFunction: { type: Function }\n }, {\n modelValue: {},\n modelModifiers: {}\n }),\n emits: [\"update:modelValue\"],\n setup(e) {\n const t = H(e, \"modelValue\"), n = Re({\n activeItemIndex: null,\n open: !1,\n loading: !1,\n results: e.items\n }), o = () => r(), l = async () => {\n if (n.open = !0, e.filterFunction) {\n e.isAsync && (n.loading = !0);\n try {\n const f = await e.filterFunction(t.value || \"\");\n n.results = f;\n } catch {\n n.results = [];\n } finally {\n e.isAsync && (n.loading = !1);\n }\n } else\n u();\n }, a = (f) => {\n t.value = f, r(f);\n }, s = () => {\n var f;\n n.activeItemIndex = e.isAsync ? null : t.value && ((f = e.items) == null ? void 0 : f.indexOf(t.value)) || null, n.open = !0, n.results = e.isAsync ? [] : e.items;\n }, r = (f) => {\n var p;\n n.activeItemIndex = null, n.open = !1, (p = e.items) != null && p.includes(f || t.value || \"\") || (t.value = \"\");\n }, u = () => {\n var f;\n t.value ? n.results = (f = e.items) == null ? void 0 : f.filter((p) => p.toLowerCase().includes((t.value ?? \"\").toLowerCase())) : n.results = e.items;\n }, i = () => {\n var p;\n const f = ((p = n.results) == null ? void 0 : p.length) || 0;\n if (n.activeItemIndex != null) {\n const w = isNaN(n.activeItemIndex) ? 0 : n.activeItemIndex;\n n.activeItemIndex = (w + 1) % f;\n } else\n n.activeItemIndex = 0;\n }, c = () => {\n var p;\n const f = ((p = n.results) == null ? void 0 : p.length) || 0;\n if (n.activeItemIndex != null) {\n const w = isNaN(n.activeItemIndex) ? 0 : n.activeItemIndex;\n n.activeItemIndex = (w - 1 + f) % f;\n } else\n n.activeItemIndex = f - 1;\n }, m = () => {\n if (n.results) {\n const f = n.activeItemIndex || 0, p = n.results[f];\n a(p);\n }\n n.activeItemIndex = 0;\n };\n return (f, p) => E((g(), b(\"div\", {\n class: J([\"autocomplete\", { isOpen: n.open }])\n }, [\n d(\"div\", yt, [\n E(d(\"input\", {\n \"onUpdate:modelValue\": p[0] || (p[0] = (w) => t.value = w),\n type: \"text\",\n onInput: l,\n onFocus: s,\n onKeydown: [\n O(i, [\"down\"]),\n O(c, [\"up\"]),\n O(m, [\"enter\"]),\n O(o, [\"esc\"]),\n O(o, [\"tab\"])\n ]\n }, null, 544), [\n [F, t.value]\n ]),\n E(d(\"ul\", bt, [\n n.loading ? (g(), b(\"li\", wt, \"Loading results...\")) : (g(!0), b(U, { key: 1 }, N(n.results, (w, v) => (g(), b(\"li\", {\n key: w,\n onClick: Me((h) => a(w), [\"stop\"]),\n class: J([\"autocomplete-result\", { \"is-active\": v === n.activeItemIndex }])\n }, D(w), 11, kt))), 128))\n ], 512), [\n [R, n.open]\n ]),\n d(\"label\", null, D(f.label), 1)\n ])\n ], 2)), [\n [C(pt), o]\n ]);\n }\n}), At = /* @__PURE__ */ S(_t, [[\"__scopeId\", \"data-v-16c329d1\"]]);\nfunction Se(e) {\n return Ae() ? (De(e), !0) : !1;\n}\nfunction ae(e) {\n return typeof e == \"function\" ? e() : C(e);\n}\nconst Dt = typeof window < \"u\" && typeof document < \"u\";\ntypeof WorkerGlobalScope < \"u\" && globalThis instanceof WorkerGlobalScope;\nconst Et = (e) => e != null, Mt = Object.prototype.toString, It = (e) => Mt.call(e) === \"[object Object]\", Ct = () => {\n}, K = Dt ? window : void 0;\nfunction Y(e) {\n var t;\n const n = ae(e);\n return (t = n == null ? void 0 : n.$el) != null ? t : n;\n}\nfunction j(...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 Ct;\n Array.isArray(n) || (n = [n]), Array.isArray(o) || (o = [o]);\n const a = [], s = () => {\n a.forEach((c) => c()), a.length = 0;\n }, r = (c, m, f, p) => (c.addEventListener(m, f, p), () => c.removeEventListener(m, f, p)), u = P(\n () => [Y(t), ae(l)],\n ([c, m]) => {\n if (s(), !c)\n return;\n const f = It(m) ? { ...m } : m;\n a.push(\n ...n.flatMap((p) => o.map((w) => r(c, p, w, f)))\n );\n },\n { immediate: !0, flush: \"post\" }\n ), i = () => {\n u(), s();\n };\n return Se(i), i;\n}\nfunction Tt() {\n const e = y(!1), t = qe();\n return t && ne(() => {\n e.value = !0;\n }, t), e;\n}\nfunction St(e) {\n const t = Tt();\n return T(() => (t.value, !!e()));\n}\nfunction Lt(e, t, n = {}) {\n const { window: o = K, ...l } = n;\n let a;\n const s = St(() => o && \"MutationObserver\" in o), r = () => {\n a && (a.disconnect(), a = void 0);\n }, u = T(() => {\n const f = ae(e), p = (Array.isArray(f) ? f : [f]).map(Y).filter(Et);\n return new Set(p);\n }), i = P(\n () => u.value,\n (f) => {\n r(), s.value && f.size && (a = new MutationObserver(t), f.forEach((p) => a.observe(p, l)));\n },\n { immediate: !0, flush: \"post\" }\n ), c = () => a == null ? void 0 : a.takeRecords(), m = () => {\n i(), r();\n };\n return Se(m), {\n isSupported: s,\n stop: m,\n takeRecords: c\n };\n}\nfunction $t(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, s = () => {\n var i;\n let c = a == null ? void 0 : a.activeElement;\n if (o)\n for (; c != null && c.shadowRoot; )\n c = (i = c == null ? void 0 : c.shadowRoot) == null ? void 0 : i.activeElement;\n return c;\n }, r = y(), u = () => {\n r.value = s();\n };\n return n && (j(n, \"blur\", (i) => {\n i.relatedTarget === null && u();\n }, !0), j(n, \"focus\", u, !0)), l && Lt(a, (i) => {\n i.filter((c) => c.removedNodes.length).map((c) => Array.from(c.removedNodes)).flat().forEach((c) => {\n c === r.value && u();\n });\n }, {\n childList: !0,\n subtree: !0\n }), u(), r;\n}\nconst xt = \"focusin\", Vt = \"focusout\";\nfunction Pt(e, t = {}) {\n const { window: n = K } = t, o = T(() => Y(e)), l = y(!1), a = T(() => l.value), s = $t(t);\n return !n || !s.value ? { focused: a } : (j(o, xt, () => l.value = !0), j(o, Vt, () => l.value = !1), { focused: a });\n}\nfunction Ot(e, { window: t = K, scrollTarget: n } = {}) {\n const o = y(!1), l = () => {\n if (!t) return;\n const a = t.document, s = Y(e);\n if (!s)\n o.value = !1;\n else {\n const r = s.getBoundingClientRect();\n o.value = r.top <= (t.innerHeight || a.documentElement.clientHeight) && r.left <= (t.innerWidth || a.documentElement.clientWidth) && r.bottom >= 0 && r.right >= 0;\n }\n };\n return P(\n () => Y(e),\n () => l(),\n { immediate: !0, flush: \"post\" }\n ), t && j(n || t, \"scroll\", l, {\n capture: !1,\n passive: !0\n }), o;\n}\nconst L = (e) => {\n let t = Ot(e).value;\n return t = t && e.offsetHeight > 0, t;\n}, $ = (e) => e.tabIndex >= 0, pe = (e) => {\n const t = e.target;\n return re(t);\n}, re = (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 && (!$(n) || !L(n)) ? re(n) : n;\n}, Ft = (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, s = a == null ? void 0 : a.children[n.cellIndex];\n s && (o = s);\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 && (!$(o) || !L(o)) ? ie(o) : o;\n}, ve = (e) => {\n const t = e.target;\n return ie(t);\n}, ie = (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 && (!$(n) || !L(n)) ? ie(n) : n;\n}, Ht = (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, s = a == null ? void 0 : a.children[n.cellIndex];\n s && (o = s);\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 && (!$(o) || !L(o)) ? re(o) : o;\n}, he = (e) => {\n const t = e.target;\n return ue(t);\n}, ue = (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 && (!$(n) || !L(n)) ? ue(n) : n;\n}, ge = (e) => {\n const t = e.target;\n return ce(t);\n}, ce = (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 && (!$(n) || !L(n)) ? ce(n) : n;\n}, ye = (e) => {\n const t = e.target.parentElement, n = t == null ? void 0 : t.firstElementChild;\n return n && (!$(n) || !L(n)) ? ce(n) : n;\n}, be = (e) => {\n const t = e.target.parentElement, n = t == null ? void 0 : t.lastElementChild;\n return n && (!$(n) || !L(n)) ? ue(n) : n;\n}, z = [\"alt\", \"control\", \"shift\", \"meta\"], Rt = {\n ArrowUp: \"up\",\n ArrowDown: \"down\",\n ArrowLeft: \"left\",\n ArrowRight: \"right\"\n}, Le = {\n \"keydown.up\": (e) => {\n const t = pe(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.down\": (e) => {\n const t = ve(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.left\": (e) => {\n const t = he(e);\n e.preventDefault(), e.stopPropagation(), t && t.focus();\n },\n \"keydown.right\": (e) => {\n const t = ge(e);\n e.preventDefault(), e.stopPropagation(), t && t.focus();\n },\n \"keydown.control.up\": (e) => {\n const t = Ft(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.control.down\": (e) => {\n const t = Ht(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.control.left\": (e) => {\n const t = ye(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.control.right\": (e) => {\n const t = be(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.end\": (e) => {\n const t = be(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 = ve(e);\n t && t.focus();\n }\n },\n \"keydown.shift.enter\": (e) => {\n if (e.target instanceof HTMLTableCellElement) {\n e.preventDefault(), e.stopPropagation();\n const t = pe(e);\n t && t.focus();\n }\n },\n \"keydown.home\": (e) => {\n const t = ye(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.tab\": (e) => {\n const t = ge(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.shift.tab\": (e) => {\n const t = he(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n }\n};\nfunction Bt(e) {\n const t = (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 var r;\n const u = t(s);\n let i = [];\n if (typeof s.selectors == \"string\")\n i = u ? Array.from(u.querySelectorAll(s.selectors)) : Array.from(document.querySelectorAll(s.selectors));\n else if (Array.isArray(s.selectors))\n for (const c of s.selectors)\n c instanceof HTMLElement ? i.push(c) : i.push(c.$el);\n else if (s.selectors instanceof HTMLElement)\n i.push(s.selectors);\n else if ((r = s.selectors) != null && r.value)\n if (Array.isArray(s.selectors.value))\n for (const c of s.selectors.value)\n c instanceof HTMLElement ? i.push(c) : i.push(c.$el);\n else\n i.push(s.selectors.value);\n return i;\n }, o = (s) => {\n const r = t(s);\n let u = [];\n return s.selectors ? u = n(s) : r && (u = Array.from(r.children).filter((i) => $(i) && L(i))), u;\n }, l = (s) => (r) => {\n const u = Rt[r.key] || r.key.toLowerCase();\n if (z.includes(u)) return;\n const i = s.handlers || Le;\n for (const c of Object.keys(i)) {\n const [m, ...f] = c.split(\".\");\n if (m === \"keydown\" && f.includes(u)) {\n const p = i[c], w = f.filter((h) => z.includes(h)), v = z.some((h) => {\n const _ = h.charAt(0).toUpperCase() + h.slice(1);\n return r.getModifierState(_);\n });\n if (w.length > 0) {\n if (v) {\n for (const h of z)\n if (f.includes(h)) {\n const _ = h.charAt(0).toUpperCase() + h.slice(1);\n r.getModifierState(_) && p(r);\n }\n }\n } else\n v || p(r);\n }\n }\n }, a = [];\n ne(() => {\n for (const s of e) {\n const r = t(s), u = o(s), i = l(s), c = r ? [r] : u;\n for (const m of c) {\n const { focused: f } = Pt(y(m)), p = P(f, (w) => {\n w ? m.addEventListener(\"keydown\", i) : m.removeEventListener(\"keydown\", i);\n });\n a.push(p);\n }\n }\n }), Be(() => {\n for (const s of a)\n s();\n });\n}\nconst qt = {\n class: \"adatepicker\",\n tabindex: \"0\",\n ref: \"datepicker\"\n}, Wt = {\n colspan: \"5\",\n tabindex: -1\n}, Ut = [\"onClick\", \"onKeydown\"], Nt = 6, we = 7, Yt = /* @__PURE__ */ M({\n __name: \"ADatePicker\",\n props: {\n modelValue: { default: /* @__PURE__ */ new Date() },\n modelModifiers: {}\n },\n emits: [\"update:modelValue\"],\n setup(e, { expose: t }) {\n const n = H(e, \"modelValue\"), o = y(new Date(n.value)), l = y(o.value.getMonth()), a = y(o.value.getFullYear()), s = y([]), r = _e(\"datepicker\");\n ne(async () => {\n u(), await We();\n const k = document.getElementsByClassName(\"selectedDate\");\n if (k.length > 0)\n k[0].focus();\n else {\n const A = document.getElementsByClassName(\"todaysDate\");\n A.length > 0 && A[0].focus();\n }\n });\n const u = () => {\n s.value = [];\n const k = new Date(a.value, l.value, 1), A = k.getDay(), I = k.setDate(k.getDate() - A);\n for (const x of Array(43).keys())\n s.value.push(I + x * 864e5);\n };\n P([l, a], u);\n const i = () => a.value -= 1, c = () => a.value += 1, m = () => {\n l.value == 0 ? (l.value = 11, i()) : l.value -= 1;\n }, f = () => {\n l.value == 11 ? (l.value = 0, c()) : l.value += 1;\n }, p = (k) => {\n const A = /* @__PURE__ */ new Date();\n if (l.value === A.getMonth())\n return A.toDateString() === new Date(k).toDateString();\n }, w = (k) => new Date(k).toDateString() === new Date(o.value).toDateString(), v = (k, A) => (k - 1) * we + A, h = (k, A) => s.value[v(k, A)], _ = (k) => {\n n.value = o.value = new Date(s.value[k]);\n }, B = T(() => new Date(a.value, l.value, 1).toLocaleDateString(void 0, {\n year: \"numeric\",\n month: \"long\"\n }));\n return Bt([\n {\n parent: r,\n selectors: \"td\",\n handlers: {\n ...Le,\n \"keydown.pageup\": m,\n \"keydown.shift.pageup\": i,\n \"keydown.pagedown\": f,\n \"keydown.shift.pagedown\": c,\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 ]), t({ currentMonth: l, currentYear: a, selectedDate: o }), (k, A) => (g(), b(\"div\", qt, [\n d(\"table\", null, [\n d(\"tbody\", null, [\n d(\"tr\", null, [\n d(\"td\", {\n id: \"previous-month-btn\",\n onClick: m,\n tabindex: -1\n }, \"<\"),\n d(\"th\", Wt, D(B.value), 1),\n d(\"td\", {\n id: \"next-month-btn\",\n onClick: f,\n tabindex: -1\n }, \">\")\n ]),\n A[0] || (A[0] = d(\"tr\", { class: \"days-header\" }, [\n d(\"td\", null, \"M\"),\n d(\"td\", null, \"T\"),\n d(\"td\", null, \"W\"),\n d(\"td\", null, \"T\"),\n d(\"td\", null, \"F\"),\n d(\"td\", null, \"S\"),\n d(\"td\", null, \"S\")\n ], -1)),\n (g(), b(U, null, N(Nt, (I) => d(\"tr\", { key: I }, [\n (g(), b(U, null, N(we, (x) => d(\"td\", {\n ref_for: !0,\n ref: \"celldate\",\n key: v(I, x),\n contenteditable: !1,\n spellcheck: !1,\n tabindex: 0,\n onClick: Me((xe) => _(v(I, x)), [\"prevent\", \"stop\"]),\n onKeydown: O((xe) => _(v(I, x)), [\"enter\"]),\n class: J({\n todaysDate: p(h(I, x)),\n selectedDate: w(h(I, x))\n })\n }, D(new Date(h(I, x)).getDate()), 43, Ut)), 64))\n ])), 64))\n ])\n ])\n ], 512));\n }\n}), jt = /* @__PURE__ */ S(Yt, [[\"__scopeId\", \"data-v-f49cfd40\"]]), Gt = /* @__PURE__ */ M({\n __name: \"CollapseButton\",\n props: {\n collapsed: { type: Boolean }\n },\n setup(e) {\n return (t, n) => (g(), b(\"button\", {\n class: J([\"collapse-button\", t.collapsed ? \"rotated\" : \"unrotated\"])\n }, \"×\", 2));\n }\n}), Kt = /* @__PURE__ */ S(Gt, [[\"__scopeId\", \"data-v-6f1c1b45\"]]), zt = { class: \"aform\" }, Xt = /* @__PURE__ */ M({\n __name: \"AForm\",\n props: {\n modelValue: {},\n data: {},\n readonly: { type: Boolean }\n },\n emits: [\"update:modelValue\"],\n setup(e, { emit: t }) {\n const n = t, o = y(e.data || {}), l = (s) => {\n let r = {};\n for (const [u, i] of Object.entries(s))\n [\"component\", \"fieldtype\"].includes(u) || (r[u] = i), u === \"rows\" && i && i.length === 0 && (r.rows = o.value[s.fieldname]);\n return r;\n }, a = T({\n get: () => e.modelValue.map((s, r) => T({\n get() {\n return s.value;\n },\n set: (u) => {\n e.modelValue[r].value = u, n(\"update:modelValue\", e.modelValue);\n }\n })),\n set: () => {\n }\n });\n return (s, r) => (g(), b(\"form\", zt, [\n (g(!0), b(U, null, N(s.modelValue, (u, i) => (g(), te(Ue(u.component), Ne({\n key: i,\n schema: u,\n modelValue: a.value[i].value,\n \"onUpdate:modelValue\": (c) => a.value[i].value = c,\n data: o.value[u.fieldname],\n readonly: s.readonly,\n ref_for: !0\n }, l(u)), null, 16, [\"schema\", \"modelValue\", \"onUpdate:modelValue\", \"data\", \"readonly\"]))), 128))\n ]));\n }\n}), $e = /* @__PURE__ */ S(Xt, [[\"__scopeId\", \"data-v-68845234\"]]), Jt = /* @__PURE__ */ M({\n __name: \"AFieldset\",\n props: {\n schema: {},\n label: {},\n collapsible: { type: Boolean },\n data: {}\n },\n setup(e, { expose: t }) {\n const n = y(!1), o = y(e.data || []), l = y(e.schema), a = (s) => {\n s.preventDefault(), e.collapsible && (n.value = !n.value);\n };\n return t({ collapsed: n }), (s, r) => (g(), b(\"fieldset\", null, [\n d(\"legend\", {\n onClick: a,\n onSubmit: a\n }, [\n Ie(D(s.label) + \" \", 1),\n s.collapsible ? (g(), te(Kt, {\n key: 0,\n collapsed: n.value\n }, null, 8, [\"collapsed\"])) : oe(\"\", !0)\n ], 32),\n Ye(s.$slots, \"default\", { collapsed: n.value }, () => [\n E(je($e, {\n modelValue: l.value,\n \"onUpdate:modelValue\": r[0] || (r[0] = (u) => l.value = u),\n data: o.value\n }, null, 8, [\"modelValue\", \"data\"]), [\n [R, !n.value]\n ])\n ], !0)\n ]));\n }\n}), Qt = /* @__PURE__ */ S(Jt, [[\"__scopeId\", \"data-v-e7ea7e12\"]]), Zt = { class: \"aform_form-element aform_file-attach aform__grid--full\" }, en = {\n key: 0,\n class: \"aform_file-attach-feedback\"\n}, tn = [\"disabled\"], nn = /* @__PURE__ */ M({\n __name: \"AFileAttach\",\n props: {\n label: {}\n },\n setup(e) {\n const { files: t, open: n, reset: o, onChange: l } = mt(), a = T(() => `${t.value.length} ${t.value.length === 1 ? \"file\" : \"files\"}`);\n return l((s) => s), (s, r) => (g(), b(\"div\", Zt, [\n C(t) ? (g(), b(\"div\", en, [\n d(\"p\", null, [\n r[2] || (r[2] = Ie(\" You have selected: \")),\n d(\"b\", null, D(a.value), 1)\n ]),\n (g(!0), b(U, null, N(C(t), (u) => (g(), b(\"li\", {\n key: u.name\n }, D(u.name), 1))), 128))\n ])) : oe(\"\", !0),\n d(\"button\", {\n type: \"button\",\n onClick: r[0] || (r[0] = (u) => C(n)()),\n class: \"aform_form-btn\"\n }, D(s.label), 1),\n d(\"button\", {\n type: \"button\",\n disabled: !C(t),\n onClick: r[1] || (r[1] = (u) => C(o)()),\n class: \"aform_form-btn\"\n }, \"Reset\", 8, tn)\n ]));\n }\n}), on = /* @__PURE__ */ S(nn, [[\"__scopeId\", \"data-v-0b3a11cc\"]]), ln = { class: \"aform_form-element\" }, sn = [\"id\", \"disabled\", \"required\"], an = [\"for\"], rn = [\"innerHTML\"], un = /* @__PURE__ */ M({\n __name: \"ANumericInput\",\n props: /* @__PURE__ */ G({\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 = H(e, \"modelValue\");\n return (n, o) => (g(), b(\"div\", ln, [\n E(d(\"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, sn), [\n [F, t.value]\n ]),\n d(\"label\", {\n class: \"aform_field-label\",\n for: n.uuid\n }, D(n.label), 9, an),\n E(d(\"p\", {\n class: \"aform_error\",\n innerHTML: n.validation.errorMessage\n }, null, 8, rn), [\n [R, n.validation.errorMessage]\n ])\n ]));\n }\n}), ke = {\n date: \"##/##/####\",\n datetime: \"####/##/## ##:##\",\n time: \"##:##\",\n fulltime: \"##:##:##\",\n phone: \"(###) ### - ####\",\n card: \"#### #### #### ####\"\n};\nfunction cn(e) {\n try {\n return Function(`\"use strict\";return (${e})`)();\n } catch {\n }\n}\nfunction dn(e) {\n var n, o, l;\n let t = e.value;\n if (t) {\n const a = cn(t);\n if (a) {\n const s = (n = e.instance) == null ? void 0 : n.locale;\n t = a(s);\n }\n } else {\n const a = (o = e.instance) == null ? void 0 : o.schema, s = (l = a == null ? void 0 : a.fieldtype) == null ? void 0 : l.toLowerCase();\n s && ke[s] && (t = ke[s]);\n }\n return t;\n}\nfunction fn(e, 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 mn(e, t, n) {\n let o = t;\n for (const l of e) {\n const a = o.indexOf(n);\n if (a !== -1) {\n const s = o.substring(0, a), r = o.substring(a + 1);\n o = s + l + r;\n }\n }\n return o.slice(0, t.length);\n}\nfunction pn(e, t) {\n var s;\n const n = dn(t);\n if (!n) return;\n const o = \"#\", l = e.value, a = fn(l, o);\n if (a) {\n const r = mn(a, n, o);\n (s = t.instance) != null && s.maskFilled && (t.instance.maskFilled = !r.includes(o)), e.value = r;\n } else\n e.value = n;\n}\nconst vn = { class: \"aform_form-element\" }, hn = [\"id\", \"disabled\", \"maxlength\", \"required\"], gn = [\"for\"], yn = [\"innerHTML\"], bn = /* @__PURE__ */ M({\n __name: \"ATextInput\",\n props: /* @__PURE__ */ G({\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 = y(!0), n = H(e, \"modelValue\");\n return (o, l) => (g(), b(\"div\", vn, [\n E(d(\"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, hn), [\n [F, n.value],\n [C(pn), o.mask]\n ]),\n d(\"label\", {\n class: \"aform_field-label\",\n for: o.uuid\n }, D(o.label), 9, gn),\n E(d(\"p\", {\n class: \"aform_error\",\n innerHTML: o.validation.errorMessage\n }, null, 8, yn), [\n [R, o.validation.errorMessage]\n ])\n ]));\n }\n}), wn = { class: \"login-container\" }, kn = { class: \"account-container\" }, _n = { class: \"account-header\" }, An = { id: \"account-title\" }, Dn = { id: \"account-subtitle\" }, En = { class: \"login-form-container\" }, Mn = { class: \"login-form-email aform_form-element\" }, In = [\"disabled\"], Cn = { class: \"login-form-password aform_form-element\" }, Tn = [\"disabled\"], Sn = [\"disabled\"], Ln = {\n key: 0,\n class: \"material-symbols-outlined loading-icon\"\n}, $n = /* @__PURE__ */ M({\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 = y(\"\"), l = y(\"\"), a = y(!1), s = y(!1);\n function r(u) {\n if (u.preventDefault(), a.value = !0, s.value) {\n a.value = !1, n(\"loginFailed\");\n return;\n }\n a.value = !1, n(\"loginSuccess\");\n }\n return (u, i) => (g(), b(\"div\", wn, [\n d(\"div\", null, [\n d(\"div\", kn, [\n d(\"div\", _n, [\n d(\"h1\", An, D(u.headerTitle), 1),\n d(\"p\", Dn, D(u.headerSubtitle), 1)\n ]),\n d(\"form\", { onSubmit: r }, [\n d(\"div\", En, [\n d(\"div\", Mn, [\n i[2] || (i[2] = d(\"label\", {\n id: \"login-email\",\n for: \"email\",\n class: \"aform_field-label\"\n }, \"Email\", -1)),\n E(d(\"input\", {\n id: \"email\",\n class: \"aform_input-field\",\n name: \"email\",\n placeholder: \"name@example.com\",\n type: \"email\",\n \"onUpdate:modelValue\": i[0] || (i[0] = (c) => o.value = c),\n \"auto-capitalize\": \"none\",\n \"auto-complete\": \"email\",\n \"auto-correct\": \"off\",\n disabled: a.value\n }, null, 8, In), [\n [F, o.value]\n ])\n ]),\n d(\"div\", Cn, [\n i[3] || (i[3] = d(\"label\", {\n id: \"login-password\",\n for: \"password\",\n class: \"aform_field-label\"\n }, \"Password\", -1)),\n E(d(\"input\", {\n id: \"password\",\n class: \"aform_input-field\",\n name: \"password\",\n type: \"password\",\n \"onUpdate:modelValue\": i[1] || (i[1] = (c) => l.value = c),\n disabled: a.value\n }, null, 8, Tn), [\n [F, l.value]\n ])\n ]),\n d(\"button\", {\n class: \"btn\",\n onClick: r,\n disabled: a.value || !o.value || !l.value\n }, [\n a.value ? (g(), b(\"span\", Ln, \"progress_activity\")) : oe(\"\", !0),\n i[4] || (i[4] = d(\"span\", { id: \"login-form-button\" }, \"Login\", -1))\n ], 8, Sn)\n ])\n ], 32),\n i[5] || (i[5] = d(\"button\", { class: \"btn\" }, [\n d(\"span\", { id: \"forgot-password-button\" }, \"Forgot password?\")\n ], -1))\n ])\n ])\n ]));\n }\n}), Vn = /* @__PURE__ */ S($n, [[\"__scopeId\", \"data-v-6cbd3add\"]]);\nfunction Pn(e) {\n e.component(\"ACheckbox\", Ze), e.component(\"ACombobox\", et), e.component(\"ADate\", st), e.component(\"ADropdown\", At), e.component(\"ADatePicker\", jt), e.component(\"AFieldset\", Qt), e.component(\"AFileAttach\", on), e.component(\"AForm\", $e), e.component(\"ANumericInput\", un), e.component(\"ATextInput\", bn);\n}\nexport {\n Ze as ACheckbox,\n et as AComboBox,\n st as ADate,\n jt as ADatePicker,\n At as ADropdown,\n Qt as AFieldset,\n on as AFileAttach,\n $e as AForm,\n un as ANumericInput,\n bn as ATextInput,\n Vn as Login,\n Pn as install\n};\n//# sourceMappingURL=aform.js.map\n","var Ct = Object.defineProperty;\nvar Lt = (e, t, r) => t in e ? Ct(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r;\nvar y = (e, t, r) => Lt(e, typeof t != \"symbol\" ? t + \"\" : t, r);\nimport { effectScope as qe, ref as G, markRaw as A, toRaw as Y, watch as we, unref as At, hasInjectionContext as jt, inject as Xe, getCurrentInstance as Vt, reactive as Rt, isRef as q, isReactive as Ee, toRef as ue, nextTick as Ce, computed as Ke, getCurrentScope as Bt, onScopeDispose as xt, toRefs as Le, onMounted as Ut } from \"vue\";\nfunction ge(e) {\n this.message = e || \"\";\n}\nge.prototype = Object.create(Error.prototype, {\n constructor: { value: ge },\n name: { value: \"NotImplemented\" },\n stack: {\n get: function() {\n return new Error().stack;\n }\n }\n});\nconst H = class H {\n /**\n * @param registry - The immutable registry\n * @param store - The mutable Pinia store\n * @param schema - The Stonecrop schema\n * @param workflow - The Stonecrop workflow\n * @param actions - The Stonecrop actions\n * @returns The 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 * ```ts\n * const registry = new Registry()\n * const store = useDataStore()\n * const stonecrop = new Stonecrop(registry, store)\n * ```\n */\n constructor(t, r, n, o, s) {\n /**\n * The name of the Stonecrop instance\n * @readonly\n *\n * @defaultValue 'Stonecrop'\n */\n y(this, \"name\", \"Stonecrop\");\n /**\n * The registry is an immutable collection of doctypes\n * @example\n * ```ts\n * {\n * \t'task': {\n * \t\tdoctype: 'Task',\n * \t\tschema: {\n * \t\t\ttitle: 'string',\n * \t\t\tdescription: 'string',\n * \t\t\t...\n * \t\t}\n * \t},\n * \t...\n * }\n * ```\n * @see {@link Registry}\n * @see {@link DoctypeMeta}\n */\n y(this, \"registry\");\n /**\n * The Pinia store that manages the mutable records\n */\n y(this, \"store\");\n /**\n * schema - The Stonecrop schema; the schema is a subset of the registry\n * @example\n * ```ts\n * {\n * \tdoctype: 'Task',\n * \tschema: {\n * \t\ttitle: 'string',\n * \t\tdescription: 'string',\n * \t\t...\n * \t}\n * }\n * ```\n * @see {@link Registry}\n * @see {@link DoctypeMeta}\n * @see {@link DoctypeMeta.schema}\n */\n y(this, \"schema\");\n /**\n * The workflow is a subset of the registry\n */\n y(this, \"workflow\");\n /**\n * The actions are a subset of the registry\n */\n y(this, \"actions\");\n if (H._root)\n return H._root;\n H._root = this, this.registry = t, this.store = r, this.schema = n, this.workflow = o, this.actions = s;\n }\n /**\n * Sets up the Stonecrop instance with the given doctype\n * @param doctype - The doctype to setup\n * @example\n * ```ts\n * const doctype = await registry.getMeta('Task')\n * stonecrop.setup(doctype)\n * ```\n */\n setup(t) {\n this.getMeta(t), this.getWorkflow(t), this.getActions(t);\n }\n /**\n * Gets the meta for the given doctype\n * @param doctype - The doctype to get meta for\n * @returns The meta for the given doctype\n * @throws NotImplementedError\n * @example\n * ```ts\n * const doctype = await registry.getMeta('Task')\n * const meta = stonecrop.getMeta(doctype)\n * ```\n * @see {@link DoctypeMeta}\n */\n getMeta(t) {\n return this.registry.getMeta ? this.registry.getMeta(t.doctype) : new ge(t.doctype);\n }\n /**\n * Gets the workflow for the given doctype\n * @param doctype - The doctype to get workflow for\n * @example\n * ```ts\n * const doctype = await registry.getMeta('Task')\n * stonecrop.getWorkflow(doctype)\n * ```\n */\n getWorkflow(t) {\n const r = this.registry.registry[t.slug];\n this.workflow = r.workflow;\n }\n /**\n * Gets the actions for the given doctype\n * @param doctype - The doctype to get actions for\n * @example\n * ```ts\n * const doctype = await registry.getMeta('Task')\n * stonecrop.getActions(doctype)\n * ```\n */\n getActions(t) {\n const r = this.registry.registry[t.slug];\n this.actions = r.actions;\n }\n /**\n * Gets the records for the given doctype\n * @param doctype - The doctype to get records for\n * @param filters - The filters to apply to the records\n * @example\n * ```ts\n * const doctype = await registry.getMeta('Task')\n * await stonecrop.getRecords(doctype)\n * ```\n * @example\n * ```ts\n * const doctype = await registry.getMeta('Task')\n * const filters = JSON.stringify({ status: 'Open' })\n * await stonecrop.getRecords(doctype, { body: filters })\n * ```\n */\n async getRecords(t, r) {\n this.store.$patch({ records: [] });\n const o = await (await fetch(`/${t.slug}`, r)).json();\n this.store.$patch({ records: o });\n }\n /**\n * Gets the record for the given doctype and id\n * @param doctype - The doctype to get record for\n * @param id - The id of the record to get\n * @example\n * ```ts\n * const doctype = await registry.getMeta('Task')\n * await stonecrop.getRecord(doctype, 'TASK-00001')\n * ```\n */\n async getRecord(t, r) {\n this.store.$patch({ record: {} });\n const o = await (await fetch(`/${t.slug}/${r}`)).json();\n this.store.$patch({ record: o });\n }\n /**\n * Runs the action for the given doctype and id\n * @param doctype - The doctype to run action for\n * @param action - The action to run\n * @param id - The id(s) of the record(s) to run action on\n * @example\n * ```ts\n * const doctype = await registry.getMeta('Task')\n * stonecrop.runAction(doctype, 'CREATE')\n * ```\n * @example\n * ```ts\n * const doctype = await registry.getMeta('Task')\n * stonecrop.runAction(doctype, 'UPDATE', ['TASK-00001'])\n * ```\n * @example\n * ```ts\n * const doctype = await registry.getMeta('Task')\n * stonecrop.runAction(doctype, 'DELETE', ['TASK-00001'])\n * ```\n * @example\n * ```ts\n * const doctype = await registry.getMeta('Task')\n * stonecrop.runAction(doctype, 'TRANSITION', ['TASK-00001', 'TASK-00002'])\n * ```\n */\n runAction(t, r, n) {\n var a;\n const s = (a = this.registry.registry[t.slug].actions) == null ? void 0 : a.get(r);\n if (this.workflow) {\n const { initialState: i } = this.workflow;\n this.workflow.transition(i, { type: r }), s && s.length > 0 && s.forEach((u) => {\n new Function(u)(n);\n });\n }\n }\n};\n/**\n * The root Stonecrop instance\n */\ny(H, \"_root\");\nlet me = H;\nvar Ze = !1;\nfunction Z(e, t, r) {\n return Array.isArray(e) ? (e.length = Math.max(e.length, t), e.splice(t, 1, r), r) : (e[t] = r, r);\n}\nfunction le(e, t) {\n if (Array.isArray(e)) {\n e.splice(t, 1);\n return;\n }\n delete e[t];\n}\nfunction Ft() {\n return et().__VUE_DEVTOOLS_GLOBAL_HOOK__;\n}\nfunction et() {\n return typeof navigator < \"u\" && typeof window < \"u\" ? window : typeof globalThis < \"u\" ? globalThis : {};\n}\nconst Ht = typeof Proxy == \"function\", Jt = \"devtools-plugin:setup\", Gt = \"plugin:settings:set\";\nlet B, ve;\nfunction Wt() {\n var e;\n return B !== void 0 || (typeof window < \"u\" && window.performance ? (B = !0, ve = window.performance) : typeof globalThis < \"u\" && (!((e = globalThis.perf_hooks) === null || e === void 0) && e.performance) ? (B = !0, ve = globalThis.perf_hooks.performance) : B = !1), B;\n}\nfunction zt() {\n return Wt() ? ve.now() : Date.now();\n}\nclass Qt {\n constructor(t, r) {\n this.target = null, this.targetQueue = [], this.onQueue = [], this.plugin = t, this.hook = r;\n const n = {};\n if (t.settings)\n for (const a in t.settings) {\n const i = t.settings[a];\n n[a] = i.defaultValue;\n }\n const o = `__vue-devtools-plugin-settings__${t.id}`;\n let s = Object.assign({}, n);\n try {\n const a = localStorage.getItem(o), i = JSON.parse(a);\n Object.assign(s, i);\n } catch {\n }\n this.fallbacks = {\n getSettings() {\n return s;\n },\n setSettings(a) {\n try {\n localStorage.setItem(o, JSON.stringify(a));\n } catch {\n }\n s = a;\n },\n now() {\n return zt();\n }\n }, r && r.on(Gt, (a, i) => {\n a === this.plugin.id && this.fallbacks.setSettings(i);\n }), this.proxiedOn = new Proxy({}, {\n get: (a, i) => this.target ? this.target.on[i] : (...u) => {\n this.onQueue.push({\n method: i,\n args: u\n });\n }\n }), this.proxiedTarget = new Proxy({}, {\n get: (a, i) => this.target ? this.target[i] : i === \"on\" ? this.proxiedOn : Object.keys(this.fallbacks).includes(i) ? (...u) => (this.targetQueue.push({\n method: i,\n args: u,\n resolve: () => {\n }\n }), this.fallbacks[i](...u)) : (...u) => new Promise((c) => {\n this.targetQueue.push({\n method: i,\n args: u,\n resolve: c\n });\n })\n });\n }\n async setRealTarget(t) {\n this.target = t;\n for (const r of this.onQueue)\n this.target.on[r.method](...r.args);\n for (const r of this.targetQueue)\n r.resolve(await this.target[r.method](...r.args));\n }\n}\nfunction tt(e, t) {\n const r = e, n = et(), o = Ft(), s = Ht && r.enableEarlyProxy;\n if (o && (n.__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__ || !s))\n o.emit(Jt, e, t);\n else {\n const a = s ? new Qt(r, o) : null;\n (n.__VUE_DEVTOOLS_PLUGINS__ = n.__VUE_DEVTOOLS_PLUGINS__ || []).push({\n pluginDescriptor: r,\n setupFn: t,\n proxy: a\n }), a && t(a.proxiedTarget);\n }\n}\n/*!\n * pinia v2.3.0\n * (c) 2024 Eduardo San Martin Morote\n * @license MIT\n */\nlet Q;\nconst X = (e) => Q = e, nt = process.env.NODE_ENV !== \"production\" ? Symbol(\"pinia\") : (\n /* istanbul ignore next */\n Symbol()\n);\nfunction V(e) {\n return e && typeof e == \"object\" && Object.prototype.toString.call(e) === \"[object Object]\" && typeof e.toJSON != \"function\";\n}\nvar P;\n(function(e) {\n e.direct = \"direct\", e.patchObject = \"patch object\", e.patchFunction = \"patch function\";\n})(P || (P = {}));\nconst M = typeof window < \"u\", Ae = 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 Yt(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 Se(e, t, r) {\n const n = new XMLHttpRequest();\n n.open(\"GET\", e), n.responseType = \"blob\", n.onload = function() {\n st(n.response, t, r);\n }, n.onerror = function() {\n console.error(\"could not download file\");\n }, n.send();\n}\nfunction rt(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 ee(e) {\n try {\n e.dispatchEvent(new MouseEvent(\"click\"));\n } catch {\n const r = document.createEvent(\"MouseEvents\");\n r.initMouseEvent(\"click\", !0, !0, window, 0, 0, 0, 80, 20, !1, !1, !1, !1, 0, null), e.dispatchEvent(r);\n }\n}\nconst te = typeof navigator == \"object\" ? navigator : { userAgent: \"\" }, ot = /Macintosh/.test(te.userAgent) && /AppleWebKit/.test(te.userAgent) && !/Safari/.test(te.userAgent), st = M ? (\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 && !ot ? qt : (\n // Use msSaveOrOpenBlob as a second approach\n \"msSaveOrOpenBlob\" in te ? Xt : (\n // Fallback to using FileReader and a popup\n Kt\n )\n )\n) : () => {\n};\nfunction qt(e, t = \"download\", r) {\n const n = document.createElement(\"a\");\n n.download = t, n.rel = \"noopener\", typeof e == \"string\" ? (n.href = e, n.origin !== location.origin ? rt(n.href) ? Se(e, t, r) : (n.target = \"_blank\", ee(n)) : ee(n)) : (n.href = URL.createObjectURL(e), setTimeout(function() {\n URL.revokeObjectURL(n.href);\n }, 4e4), setTimeout(function() {\n ee(n);\n }, 0));\n}\nfunction Xt(e, t = \"download\", r) {\n if (typeof e == \"string\")\n if (rt(e))\n Se(e, t, r);\n else {\n const n = document.createElement(\"a\");\n n.href = e, n.target = \"_blank\", setTimeout(function() {\n ee(n);\n });\n }\n else\n navigator.msSaveOrOpenBlob(Yt(e, r), t);\n}\nfunction Kt(e, t, r, n) {\n if (n = n || open(\"\", \"_blank\"), n && (n.document.title = n.document.body.innerText = \"downloading...\"), typeof e == \"string\")\n return Se(e, t, r);\n const o = e.type === \"application/octet-stream\", s = /constructor/i.test(String(Ae.HTMLElement)) || \"safari\" in Ae, a = /CriOS\\/[\\d]+/.test(navigator.userAgent);\n if ((a || o && s || ot) && typeof FileReader < \"u\") {\n const i = new FileReader();\n i.onloadend = function() {\n let u = i.result;\n if (typeof u != \"string\")\n throw n = null, new Error(\"Wrong reader.result type\");\n u = a ? u : u.replace(/^data:[^;]*;/, \"data:attachment/file;\"), n ? n.location.href = u : location.assign(u), n = null;\n }, i.readAsDataURL(e);\n } else {\n const i = URL.createObjectURL(e);\n n ? n.location.assign(i) : location.href = i, n = null, setTimeout(function() {\n URL.revokeObjectURL(i);\n }, 4e4);\n }\n}\nfunction _(e, t) {\n const r = \"🍍 \" + e;\n typeof __VUE_DEVTOOLS_TOAST__ == \"function\" ? __VUE_DEVTOOLS_TOAST__(r, t) : t === \"error\" ? console.error(r) : t === \"warn\" ? console.warn(r) : console.log(r);\n}\nfunction Oe(e) {\n return \"_a\" in e && \"install\" in e;\n}\nfunction it() {\n if (!(\"clipboard\" in navigator))\n return _(\"Your browser doesn't support the Clipboard API\", \"error\"), !0;\n}\nfunction at(e) {\n return e instanceof Error && e.message.toLowerCase().includes(\"document is not focused\") ? (_('You need to activate the \"Emulate a focused page\" setting in the \"Rendering\" panel of devtools.', \"warn\"), !0) : !1;\n}\nasync function Zt(e) {\n if (!it())\n try {\n await navigator.clipboard.writeText(JSON.stringify(e.state.value)), _(\"Global state copied to clipboard.\");\n } catch (t) {\n if (at(t))\n return;\n _(\"Failed to serialize the state. Check the console for more details.\", \"error\"), console.error(t);\n }\n}\nasync function en(e) {\n if (!it())\n try {\n ct(e, JSON.parse(await navigator.clipboard.readText())), _(\"Global state pasted from clipboard.\");\n } catch (t) {\n if (at(t))\n return;\n _(\"Failed to deserialize the state from clipboard. Check the console for more details.\", \"error\"), console.error(t);\n }\n}\nasync function tn(e) {\n try {\n st(new Blob([JSON.stringify(e.state.value)], {\n type: \"text/plain;charset=utf-8\"\n }), \"pinia-state.json\");\n } catch (t) {\n _(\"Failed to export the state as JSON. Check the console for more details.\", \"error\"), console.error(t);\n }\n}\nlet k;\nfunction nn() {\n k || (k = document.createElement(\"input\"), k.type = \"file\", k.accept = \".json\");\n function e() {\n return new Promise((t, r) => {\n k.onchange = async () => {\n const n = k.files;\n if (!n)\n return t(null);\n const o = n.item(0);\n return t(o ? { text: await o.text(), file: o } : null);\n }, k.oncancel = () => t(null), k.onerror = r, k.click();\n });\n }\n return e;\n}\nasync function rn(e) {\n try {\n const r = await nn()();\n if (!r)\n return;\n const { text: n, file: o } = r;\n ct(e, JSON.parse(n)), _(`Global state imported from \"${o.name}\".`);\n } catch (t) {\n _(\"Failed to import the state from JSON. Check the console for more details.\", \"error\"), console.error(t);\n }\n}\nfunction ct(e, t) {\n for (const r in t) {\n const n = e.state.value[r];\n n ? Object.assign(n, t[r]) : e.state.value[r] = t[r];\n }\n}\nfunction N(e) {\n return {\n _custom: {\n display: e\n }\n };\n}\nconst ut = \"🍍 Pinia (root)\", ne = \"_root\";\nfunction on(e) {\n return Oe(e) ? {\n id: ne,\n label: ut\n } : {\n id: e.$id,\n label: e.$id\n };\n}\nfunction sn(e) {\n if (Oe(e)) {\n const r = Array.from(e._s.keys()), n = e._s;\n return {\n state: r.map((s) => ({\n editable: !0,\n key: s,\n value: e.state.value[s]\n })),\n getters: r.filter((s) => n.get(s)._getters).map((s) => {\n const a = n.get(s);\n return {\n editable: !1,\n key: s,\n value: a._getters.reduce((i, u) => (i[u] = a[u], i), {})\n };\n })\n };\n }\n const t = {\n state: Object.keys(e.$state).map((r) => ({\n editable: !0,\n key: r,\n value: e.$state[r]\n }))\n };\n return e._getters && e._getters.length && (t.getters = e._getters.map((r) => ({\n editable: !1,\n key: r,\n value: e[r]\n }))), e._customProperties.size && (t.customProperties = Array.from(e._customProperties).map((r) => ({\n editable: !0,\n key: r,\n value: e[r]\n }))), t;\n}\nfunction an(e) {\n return e ? Array.isArray(e) ? e.reduce((t, r) => (t.keys.push(r.key), t.operations.push(r.type), t.oldValue[r.key] = r.oldValue, t.newValue[r.key] = r.newValue, t), {\n oldValue: {},\n keys: [],\n operations: [],\n newValue: {}\n }) : {\n operation: N(e.type),\n key: N(e.key),\n oldValue: e.oldValue,\n newValue: e.newValue\n } : {};\n}\nfunction cn(e) {\n switch (e) {\n case P.direct:\n return \"mutation\";\n case P.patchFunction:\n return \"$patch\";\n case P.patchObject:\n return \"$patch\";\n default:\n return \"unknown\";\n }\n}\nlet U = !0;\nconst re = [], L = \"pinia:mutations\", b = \"pinia\", { assign: un } = Object, oe = (e) => \"🍍 \" + e;\nfunction ln(e, t) {\n tt({\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: re,\n app: e\n }, (r) => {\n typeof r.now != \"function\" && _(\"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.\"), r.addTimelineLayer({\n id: L,\n label: \"Pinia 🍍\",\n color: 15064968\n }), r.addInspector({\n id: b,\n label: \"Pinia 🍍\",\n icon: \"storage\",\n treeFilterPlaceholder: \"Search stores\",\n actions: [\n {\n icon: \"content_copy\",\n action: () => {\n Zt(t);\n },\n tooltip: \"Serialize and copy the state\"\n },\n {\n icon: \"content_paste\",\n action: async () => {\n await en(t), r.sendInspectorTree(b), r.sendInspectorState(b);\n },\n tooltip: \"Replace the state with the content of your clipboard\"\n },\n {\n icon: \"save\",\n action: () => {\n tn(t);\n },\n tooltip: \"Save the state as a JSON file\"\n },\n {\n icon: \"folder_open\",\n action: async () => {\n await rn(t), r.sendInspectorTree(b), r.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: (n) => {\n const o = t._s.get(n);\n o ? typeof o.$reset != \"function\" ? _(`Cannot reset \"${n}\" store because it doesn't have a \"$reset\" method implemented.`, \"warn\") : (o.$reset(), _(`Store \"${n}\" reset.`)) : _(`Cannot reset \"${n}\" store because it wasn't found.`, \"warn\");\n }\n }\n ]\n }), r.on.inspectComponent((n, o) => {\n const s = n.componentInstance && n.componentInstance.proxy;\n if (s && s._pStores) {\n const a = n.componentInstance.proxy._pStores;\n Object.values(a).forEach((i) => {\n n.instanceData.state.push({\n type: oe(i.$id),\n key: \"state\",\n editable: !0,\n value: i._isOptionsAPI ? {\n _custom: {\n value: Y(i.$state),\n actions: [\n {\n icon: \"restore\",\n tooltip: \"Reset the state of this store\",\n action: () => i.$reset()\n }\n ]\n }\n } : (\n // NOTE: workaround to unwrap transferred refs\n Object.keys(i.$state).reduce((u, c) => (u[c] = i.$state[c], u), {})\n )\n }), i._getters && i._getters.length && n.instanceData.state.push({\n type: oe(i.$id),\n key: \"getters\",\n editable: !1,\n value: i._getters.reduce((u, c) => {\n try {\n u[c] = i[c];\n } catch (p) {\n u[c] = p;\n }\n return u;\n }, {})\n });\n });\n }\n }), r.on.getInspectorTree((n) => {\n if (n.app === e && n.inspectorId === b) {\n let o = [t];\n o = o.concat(Array.from(t._s.values())), n.rootNodes = (n.filter ? o.filter((s) => \"$id\" in s ? s.$id.toLowerCase().includes(n.filter.toLowerCase()) : ut.toLowerCase().includes(n.filter.toLowerCase())) : o).map(on);\n }\n }), globalThis.$pinia = t, r.on.getInspectorState((n) => {\n if (n.app === e && n.inspectorId === b) {\n const o = n.nodeId === ne ? t : t._s.get(n.nodeId);\n if (!o)\n return;\n o && (n.nodeId !== ne && (globalThis.$store = Y(o)), n.state = sn(o));\n }\n }), r.on.editInspectorState((n, o) => {\n if (n.app === e && n.inspectorId === b) {\n const s = n.nodeId === ne ? t : t._s.get(n.nodeId);\n if (!s)\n return _(`store \"${n.nodeId}\" not found`, \"error\");\n const { path: a } = n;\n Oe(s) ? a.unshift(\"state\") : (a.length !== 1 || !s._customProperties.has(a[0]) || a[0] in s.$state) && a.unshift(\"$state\"), U = !1, n.set(s, a, n.state.value), U = !0;\n }\n }), r.on.editComponentState((n) => {\n if (n.type.startsWith(\"🍍\")) {\n const o = n.type.replace(/^🍍\\s*/, \"\"), s = t._s.get(o);\n if (!s)\n return _(`store \"${o}\" not found`, \"error\");\n const { path: a } = n;\n if (a[0] !== \"state\")\n return _(`Invalid path for store \"${o}\":\n${a}\nOnly state can be modified.`);\n a[0] = \"$state\", U = !1, n.set(s, a, n.state.value), U = !0;\n }\n });\n });\n}\nfunction fn(e, t) {\n re.includes(oe(t.$id)) || re.push(oe(t.$id)), tt({\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: re,\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 }, (r) => {\n const n = typeof r.now == \"function\" ? r.now.bind(r) : Date.now;\n t.$onAction(({ after: a, onError: i, name: u, args: c }) => {\n const p = lt++;\n r.addTimelineEvent({\n layerId: L,\n event: {\n time: n(),\n title: \"🛫 \" + u,\n subtitle: \"start\",\n data: {\n store: N(t.$id),\n action: N(u),\n args: c\n },\n groupId: p\n }\n }), a((d) => {\n C = void 0, r.addTimelineEvent({\n layerId: L,\n event: {\n time: n(),\n title: \"🛬 \" + u,\n subtitle: \"end\",\n data: {\n store: N(t.$id),\n action: N(u),\n args: c,\n result: d\n },\n groupId: p\n }\n });\n }), i((d) => {\n C = void 0, r.addTimelineEvent({\n layerId: L,\n event: {\n time: n(),\n logType: \"error\",\n title: \"💥 \" + u,\n subtitle: \"end\",\n data: {\n store: N(t.$id),\n action: N(u),\n args: c,\n error: d\n },\n groupId: p\n }\n });\n });\n }, !0), t._customProperties.forEach((a) => {\n we(() => At(t[a]), (i, u) => {\n r.notifyComponentUpdate(), r.sendInspectorState(b), U && r.addTimelineEvent({\n layerId: L,\n event: {\n time: n(),\n title: \"Change\",\n subtitle: a,\n data: {\n newValue: i,\n oldValue: u\n },\n groupId: C\n }\n });\n }, { deep: !0 });\n }), t.$subscribe(({ events: a, type: i }, u) => {\n if (r.notifyComponentUpdate(), r.sendInspectorState(b), !U)\n return;\n const c = {\n time: n(),\n title: cn(i),\n data: un({ store: N(t.$id) }, an(a)),\n groupId: C\n };\n i === P.patchFunction ? c.subtitle = \"⤵️\" : i === P.patchObject ? c.subtitle = \"🧩\" : a && !Array.isArray(a) && (c.subtitle = a.type), a && (c.data[\"rawEvent(s)\"] = {\n _custom: {\n display: \"DebuggerEvent\",\n type: \"object\",\n tooltip: \"raw DebuggerEvent[]\",\n value: a\n }\n }), r.addTimelineEvent({\n layerId: L,\n event: c\n });\n }, { detached: !0, flush: \"sync\" });\n const o = t._hotUpdate;\n t._hotUpdate = A((a) => {\n o(a), r.addTimelineEvent({\n layerId: L,\n event: {\n time: n(),\n title: \"🔥 \" + t.$id,\n subtitle: \"HMR update\",\n data: {\n store: N(t.$id),\n info: N(\"HMR update\")\n }\n }\n }), r.notifyComponentUpdate(), r.sendInspectorTree(b), r.sendInspectorState(b);\n });\n const { $dispose: s } = t;\n t.$dispose = () => {\n s(), r.notifyComponentUpdate(), r.sendInspectorTree(b), r.sendInspectorState(b), r.getSettings().logStoreChanges && _(`Disposed \"${t.$id}\" store 🗑`);\n }, r.notifyComponentUpdate(), r.sendInspectorTree(b), r.sendInspectorState(b), r.getSettings().logStoreChanges && _(`\"${t.$id}\" store installed 🆕`);\n });\n}\nlet lt = 0, C;\nfunction je(e, t, r) {\n const n = t.reduce((o, s) => (o[s] = Y(e)[s], o), {});\n for (const o in n)\n e[o] = function() {\n const s = lt, a = r ? new Proxy(e, {\n get(...u) {\n return C = s, Reflect.get(...u);\n },\n set(...u) {\n return C = s, Reflect.set(...u);\n }\n }) : e;\n C = s;\n const i = n[o].apply(a, arguments);\n return C = void 0, i;\n };\n}\nfunction dn({ app: e, store: t, options: r }) {\n if (!t.$id.startsWith(\"__hot:\")) {\n if (t._isOptionsAPI = !!r.state, !t._p._testing) {\n je(t, Object.keys(r.actions), t._isOptionsAPI);\n const n = t._hotUpdate;\n Y(t)._hotUpdate = function(o) {\n n.apply(this, arguments), je(t, Object.keys(o._hmrPayload.actions), !!t._isOptionsAPI);\n };\n }\n fn(\n e,\n // FIXME: is there a way to allow the assignment from Store<Id, S, G, A> to StoreGeneric?\n t\n );\n }\n}\nfunction pn() {\n const e = qe(!0), t = e.run(() => G({}));\n let r = [], n = [];\n const o = A({\n install(s) {\n X(o), o._a = s, s.provide(nt, o), s.config.globalProperties.$pinia = o, process.env.NODE_ENV !== \"production\" && process.env.NODE_ENV !== \"test\" && M && ln(s, o), n.forEach((a) => r.push(a)), n = [];\n },\n use(s) {\n return !this._a && !Ze ? n.push(s) : r.push(s), this;\n },\n _p: r,\n // it's actually undefined here\n // @ts-expect-error\n _a: null,\n _e: e,\n _s: /* @__PURE__ */ new Map(),\n state: t\n });\n return process.env.NODE_ENV !== \"production\" && process.env.NODE_ENV !== \"test\" && M && typeof Proxy < \"u\" && o.use(dn), o;\n}\nfunction ft(e, t) {\n for (const r in t) {\n const n = t[r];\n if (!(r in e))\n continue;\n const o = e[r];\n V(o) && V(n) && !q(n) && !Ee(n) ? e[r] = ft(o, n) : e[r] = n;\n }\n return e;\n}\nconst dt = () => {\n};\nfunction Ve(e, t, r, n = dt) {\n e.push(t);\n const o = () => {\n const s = e.indexOf(t);\n s > -1 && (e.splice(s, 1), n());\n };\n return !r && Bt() && xt(o), o;\n}\nfunction x(e, ...t) {\n e.slice().forEach((r) => {\n r(...t);\n });\n}\nconst hn = (e) => e(), Re = Symbol(), fe = Symbol();\nfunction ye(e, t) {\n e instanceof Map && t instanceof Map ? t.forEach((r, n) => e.set(n, r)) : e instanceof Set && t instanceof Set && t.forEach(e.add, e);\n for (const r in t) {\n if (!t.hasOwnProperty(r))\n continue;\n const n = t[r], o = e[r];\n V(o) && V(n) && e.hasOwnProperty(r) && !q(n) && !Ee(n) ? e[r] = ye(o, n) : e[r] = n;\n }\n return e;\n}\nconst gn = process.env.NODE_ENV !== \"production\" ? Symbol(\"pinia:skipHydration\") : (\n /* istanbul ignore next */\n Symbol()\n);\nfunction mn(e) {\n return !V(e) || !e.hasOwnProperty(gn);\n}\nconst { assign: I } = Object;\nfunction Be(e) {\n return !!(q(e) && e.effect);\n}\nfunction xe(e, t, r, n) {\n const { state: o, actions: s, getters: a } = t, i = r.state.value[e];\n let u;\n function c() {\n !i && (process.env.NODE_ENV === \"production\" || !n) && (r.state.value[e] = o ? o() : {});\n const p = process.env.NODE_ENV !== \"production\" && n ? (\n // use ref() to unwrap refs inside state TODO: check if this is still necessary\n Le(G(o ? o() : {}).value)\n ) : Le(r.state.value[e]);\n return I(p, s, Object.keys(a || {}).reduce((d, g) => (process.env.NODE_ENV !== \"production\" && g in p && console.warn(`[🍍]: A getter cannot have the same name as another state property. Rename one of them. Found with \"${g}\" in store \"${e}\".`), d[g] = A(Ke(() => {\n X(r);\n const w = r._s.get(e);\n return a[g].call(w, w);\n })), d), {}));\n }\n return u = _e(e, c, t, r, n, !0), u;\n}\nfunction _e(e, t, r = {}, n, o, s) {\n let a;\n const i = I({ actions: {} }, r);\n if (process.env.NODE_ENV !== \"production\" && !n._e.active)\n throw new Error(\"Pinia destroyed\");\n const u = { deep: !0 };\n process.env.NODE_ENV !== \"production\" && !Ze && (u.onTrigger = (f) => {\n c ? w = f : c == !1 && !h._hotUpdating && (Array.isArray(w) ? w.push(f) : console.error(\"🍍 debuggerEvents should be an array. This is most likely an internal Pinia bug.\"));\n });\n let c, p, d = [], g = [], w;\n const E = n.state.value[e];\n !s && !E && (process.env.NODE_ENV === \"production\" || !o) && (n.state.value[e] = {});\n const R = G({});\n let v;\n function T(f) {\n let l;\n c = p = !1, process.env.NODE_ENV !== \"production\" && (w = []), typeof f == \"function\" ? (f(n.state.value[e]), l = {\n type: P.patchFunction,\n storeId: e,\n events: w\n }) : (ye(n.state.value[e], f), l = {\n type: P.patchObject,\n payload: f,\n storeId: e,\n events: w\n });\n const m = v = Symbol();\n Ce().then(() => {\n v === m && (c = !0);\n }), p = !0, x(d, l, n.state.value[e]);\n }\n const $t = s ? function() {\n const { state: l } = r, m = l ? l() : {};\n this.$patch((S) => {\n I(S, m);\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 } : dt\n );\n function Tt() {\n a.stop(), d = [], g = [], n._s.delete(e);\n }\n const ae = (f, l = \"\") => {\n if (Re in f)\n return f[fe] = l, f;\n const m = function() {\n X(n);\n const S = Array.from(arguments), W = [], ce = [];\n function Dt(O) {\n W.push(O);\n }\n function Mt(O) {\n ce.push(O);\n }\n x(g, {\n args: S,\n name: m[fe],\n store: h,\n after: Dt,\n onError: Mt\n });\n let z;\n try {\n z = f.apply(this && this.$id === e ? this : h, S);\n } catch (O) {\n throw x(ce, O), O;\n }\n return z instanceof Promise ? z.then((O) => (x(W, O), O)).catch((O) => (x(ce, O), Promise.reject(O))) : (x(W, z), z);\n };\n return m[Re] = !0, m[fe] = l, m;\n }, K = /* @__PURE__ */ A({\n actions: {},\n getters: {},\n state: [],\n hotState: R\n }), Me = {\n _p: n,\n // _s: scope,\n $id: e,\n $onAction: Ve.bind(null, g),\n $patch: T,\n $reset: $t,\n $subscribe(f, l = {}) {\n const m = Ve(d, f, l.detached, () => S()), S = a.run(() => we(() => n.state.value[e], (W) => {\n (l.flush === \"sync\" ? p : c) && f({\n storeId: e,\n type: P.direct,\n events: w\n }, W);\n }, I({}, u, l)));\n return m;\n },\n $dispose: Tt\n }, h = Rt(process.env.NODE_ENV !== \"production\" || process.env.NODE_ENV !== \"production\" && process.env.NODE_ENV !== \"test\" && M ? I(\n {\n _hmrPayload: K,\n _customProperties: A(/* @__PURE__ */ new Set())\n // devtools custom properties\n },\n Me\n // must be added later\n // setupStore\n ) : Me);\n n._s.set(e, h);\n const D = (n._a && n._a.runWithContext || hn)(() => n._e.run(() => (a = qe()).run(() => t({ action: ae }))));\n for (const f in D) {\n const l = D[f];\n if (q(l) && !Be(l) || Ee(l))\n process.env.NODE_ENV !== \"production\" && o ? Z(R.value, f, ue(D, f)) : s || (E && mn(l) && (q(l) ? l.value = E[f] : ye(l, E[f])), n.state.value[e][f] = l), process.env.NODE_ENV !== \"production\" && K.state.push(f);\n else if (typeof l == \"function\") {\n const m = process.env.NODE_ENV !== \"production\" && o ? l : ae(l, f);\n D[f] = m, process.env.NODE_ENV !== \"production\" && (K.actions[f] = l), i.actions[f] = l;\n } else process.env.NODE_ENV !== \"production\" && Be(l) && (K.getters[f] = s ? (\n // @ts-expect-error\n r.getters[f]\n ) : l, M && (D._getters || // @ts-expect-error: same\n (D._getters = A([]))).push(f));\n }\n if (I(h, D), I(Y(h), D), Object.defineProperty(h, \"$state\", {\n get: () => process.env.NODE_ENV !== \"production\" && o ? R.value : n.state.value[e],\n set: (f) => {\n if (process.env.NODE_ENV !== \"production\" && o)\n throw new Error(\"cannot set hotState\");\n T((l) => {\n I(l, f);\n });\n }\n }), process.env.NODE_ENV !== \"production\" && (h._hotUpdate = A((f) => {\n h._hotUpdating = !0, f._hmrPayload.state.forEach((l) => {\n if (l in h.$state) {\n const m = f.$state[l], S = h.$state[l];\n typeof m == \"object\" && V(m) && V(S) ? ft(m, S) : f.$state[l] = S;\n }\n Z(h, l, ue(f.$state, l));\n }), Object.keys(h.$state).forEach((l) => {\n l in f.$state || le(h, l);\n }), c = !1, p = !1, n.state.value[e] = ue(f._hmrPayload, \"hotState\"), p = !0, Ce().then(() => {\n c = !0;\n });\n for (const l in f._hmrPayload.actions) {\n const m = f[l];\n Z(h, l, ae(m, l));\n }\n for (const l in f._hmrPayload.getters) {\n const m = f._hmrPayload.getters[l], S = s ? (\n // special handling of options api\n Ke(() => (X(n), m.call(h, h)))\n ) : m;\n Z(h, l, S);\n }\n Object.keys(h._hmrPayload.getters).forEach((l) => {\n l in f._hmrPayload.getters || le(h, l);\n }), Object.keys(h._hmrPayload.actions).forEach((l) => {\n l in f._hmrPayload.actions || le(h, l);\n }), h._hmrPayload = f._hmrPayload, h._getters = f._getters, h._hotUpdating = !1;\n })), process.env.NODE_ENV !== \"production\" && process.env.NODE_ENV !== \"test\" && M) {\n const f = {\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((l) => {\n Object.defineProperty(h, l, I({ value: h[l] }, f));\n });\n }\n return n._p.forEach((f) => {\n if (process.env.NODE_ENV !== \"production\" && process.env.NODE_ENV !== \"test\" && M) {\n const l = a.run(() => f({\n store: h,\n app: n._a,\n pinia: n,\n options: i\n }));\n Object.keys(l || {}).forEach((m) => h._customProperties.add(m)), I(h, l);\n } else\n I(h, a.run(() => f({\n store: h,\n app: n._a,\n pinia: n,\n options: i\n })));\n }), process.env.NODE_ENV !== \"production\" && h.$state && typeof h.$state == \"object\" && typeof h.$state.constructor == \"function\" && !h.$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 \"${h.$id}\".`), E && s && r.hydrate && r.hydrate(h.$state, E), c = !0, p = !0, h;\n}\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction vn(e, t, r) {\n let n, o;\n const s = typeof t == \"function\";\n n = e, o = s ? r : t;\n function a(i, u) {\n const c = jt();\n if (i = // in test mode, ignore the argument provided as we can always retrieve a\n // pinia instance with getActivePinia()\n (process.env.NODE_ENV === \"test\" && Q && Q._testing ? null : i) || (c ? Xe(nt, null) : null), i && X(i), process.env.NODE_ENV !== \"production\" && !Q)\n throw new Error(`[🍍]: \"getActivePinia()\" was called but there was no active Pinia. Are you trying to use a store before calling \"app.use(pinia)\"?\nSee https://pinia.vuejs.org/core-concepts/outside-component-usage.html for help.\nThis will fail in production.`);\n i = Q, i._s.has(n) || (s ? _e(n, t, o, i) : xe(n, o, i), process.env.NODE_ENV !== \"production\" && (a._pinia = i));\n const p = i._s.get(n);\n if (process.env.NODE_ENV !== \"production\" && u) {\n const d = \"__hot:\" + n, g = s ? _e(d, t, o, i, !0) : xe(d, I({}, o), i, !0);\n u._hotUpdate(g), delete i.state.value[d], i._s.delete(d);\n }\n if (process.env.NODE_ENV !== \"production\" && M) {\n const d = Vt();\n if (d && d.proxy && // avoid adding stores that are just built for hot module replacement\n !u) {\n const g = d.proxy, w = \"_pStores\" in g ? g._pStores : g._pStores = {};\n w[n] = p;\n }\n }\n return p;\n }\n return a.$id = n, a;\n}\nconst yn = /* @__PURE__ */ vn(\"data\", () => {\n const e = G([]), t = G({});\n return { records: e, record: t };\n});\nfunction Tr(e) {\n const t = G();\n return Ut(async () => {\n var i, u, c;\n e || (e = Xe(\"$registry\"));\n let r;\n try {\n r = yn();\n } catch {\n throw new Error(\"Please enable the Stonecrop plugin before using the Stonecrop composable\");\n }\n if (t.value = new me(e, r), !e || !e.router) return;\n const n = e.router.currentRoute.value, o = (i = n.params.records) == null ? void 0 : i.toString().toLowerCase(), s = (u = n.params.record) == null ? void 0 : u.toString().toLowerCase();\n if (!o && !s)\n return;\n const a = await ((c = e.getMeta) == null ? void 0 : c.call(e, o));\n a && (e.addDoctype(a), t.value.setup(a), o && (s ? await t.value.getRecord(a, s) : await t.value.getRecords(a)), t.value.runAction(a, \"LOAD\", s ? [s] : void 0));\n }), { stonecrop: t };\n}\nclass Dr {\n // TODO: allow different components for different views; probably\n // should be defined in the schema instead?\n constructor(t, r, n, o, s) {\n /**\n * The doctype name\n * @public\n * @readonly\n */\n y(this, \"doctype\");\n /**\n * The doctype schema\n * @public\n * @readonly\n */\n y(this, \"schema\");\n /**\n * The doctype workflow\n * @public\n * @readonly\n */\n y(this, \"workflow\");\n /**\n * The doctype actions\n * @public\n * @readonly\n */\n y(this, \"actions\");\n /**\n * The doctype component\n * @public\n * @readonly\n */\n y(this, \"component\");\n this.doctype = t, this.schema = r, this.workflow = n, this.actions = o, this.component = s;\n }\n /**\n * Converts the registered doctype to a slug (kebab-case)\n * @returns The slugified doctype string\n * @public\n */\n get slug() {\n return this.doctype.replace(/([a-z])([A-Z])/g, \"$1-$2\").replace(/[\\s_]+/g, \"-\").toLowerCase();\n }\n}\nconst J = class J {\n constructor(t, r) {\n /**\n * The name of the Registry instance\n *\n * @defaultValue 'Registry'\n */\n y(this, \"name\");\n /**\n * The registry property contains a collection of doctypes\n * @see {@link DoctypeMeta}\n */\n y(this, \"registry\");\n /**\n * The Vue router instance\n * @see {@link https://router.vuejs.org/}\n */\n y(this, \"router\");\n /**\n * The getMeta function fetches doctype metadata from an API\n * @see {@link DoctypeMeta}\n */\n y(this, \"getMeta\");\n if (J._root)\n return J._root;\n J._root = this, this.name = \"Registry\", this.registry = {}, this.router = t, this.getMeta = r;\n }\n /**\n * Get doctype metadata\n * @param doctype - The doctype to fetch metadata for\n * @returns The doctype metadata\n * @see {@link DoctypeMeta}\n */\n addDoctype(t) {\n t.doctype in Object.keys(this.registry) || (this.registry[t.slug] = t), t.component && this.router && !this.router.hasRoute(t.doctype) && this.router.addRoute({\n path: `/${t.slug}`,\n name: t.slug,\n component: t.component\n });\n }\n};\n/**\n * The root Registry instance\n */\ny(J, \"_root\");\nlet be = J;\nfunction _n(e) {\n return e && typeof e.then == \"function\";\n}\nPromise.resolve(!1);\nPromise.resolve(!0);\nvar j = Promise.resolve();\nfunction pt(e, t) {\n return e || (e = 0), new Promise(function(r) {\n return setTimeout(function() {\n return r(t);\n }, e);\n });\n}\nfunction bn(e, t) {\n return Math.floor(Math.random() * (t - e + 1) + e);\n}\nfunction Ie() {\n return Math.random().toString(36).substring(2);\n}\nvar Ue = 0, de = 0;\nfunction se() {\n var e = (/* @__PURE__ */ new Date()).getTime();\n return e === Ue ? (de++, e * 1e3 + de) : (Ue = e, de = 0, e * 1e3);\n}\nvar wn = se, En = \"native\";\nfunction Sn(e) {\n var t = {\n messagesCallback: null,\n bc: new BroadcastChannel(e),\n subFns: []\n // subscriberFunctions\n };\n return t.bc.onmessage = function(r) {\n t.messagesCallback && t.messagesCallback(r.data);\n }, t;\n}\nfunction On(e) {\n e.bc.close(), e.subFns = [];\n}\nfunction In(e, t) {\n try {\n return e.bc.postMessage(t, !1), j;\n } catch (r) {\n return Promise.reject(r);\n }\n}\nfunction Nn(e, t) {\n e.messagesCallback = t;\n}\nfunction Pn() {\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 kn() {\n return 150;\n}\nvar $n = {\n create: Sn,\n close: On,\n onMessage: Nn,\n postMessage: In,\n canBeUsed: Pn,\n type: En,\n averageResponseTime: kn,\n microSeconds: wn\n}, ht = (\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 r = this;\n this.map.set(t, gt()), this._to || (this._to = !0, setTimeout(function() {\n r._to = !1, Tn(r);\n }, 0));\n }, e.prototype.clear = function() {\n this.map.clear();\n }, e;\n }()\n);\nfunction Tn(e) {\n for (var t = gt() - e.ttl, r = e.map[Symbol.iterator](); ; ) {\n var n = r.next().value;\n if (!n)\n return;\n var o = n[0], s = n[1];\n if (s < t)\n e.map.delete(o);\n else\n return;\n }\n}\nfunction gt() {\n return (/* @__PURE__ */ new Date()).getTime();\n}\nfunction Ne() {\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 Dn = se, Mn = \"pubkey.broadcast-channel-0-\", $ = \"messages\", ie = {\n durability: \"relaxed\"\n}, Cn = \"idb\";\nfunction mt() {\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 Pe(e) {\n e.commit && e.commit();\n}\nfunction Ln(e) {\n var t = mt(), r = Mn + e, n = t.open(r);\n return n.onupgradeneeded = function(o) {\n var s = o.target.result;\n s.createObjectStore($, {\n keyPath: \"id\",\n autoIncrement: !0\n });\n }, new Promise(function(o, s) {\n n.onerror = function(a) {\n return s(a);\n }, n.onsuccess = function() {\n o(n.result);\n };\n });\n}\nfunction An(e, t, r) {\n var n = (/* @__PURE__ */ new Date()).getTime(), o = {\n uuid: t,\n time: n,\n data: r\n }, s = e.transaction([$], \"readwrite\", ie);\n return new Promise(function(a, i) {\n s.oncomplete = function() {\n return a();\n }, s.onerror = function(c) {\n return i(c);\n };\n var u = s.objectStore($);\n u.add(o), Pe(s);\n });\n}\nfunction jn(e, t) {\n var r = e.transaction($, \"readonly\", ie), n = r.objectStore($), o = [], s = IDBKeyRange.bound(t + 1, 1 / 0);\n if (n.getAll) {\n var a = n.getAll(s);\n return new Promise(function(u, c) {\n a.onerror = function(p) {\n return c(p);\n }, a.onsuccess = function(p) {\n u(p.target.result);\n };\n });\n }\n function i() {\n try {\n return s = IDBKeyRange.bound(t + 1, 1 / 0), n.openCursor(s);\n } catch {\n return n.openCursor();\n }\n }\n return new Promise(function(u, c) {\n var p = i();\n p.onerror = function(d) {\n return c(d);\n }, p.onsuccess = function(d) {\n var g = d.target.result;\n g ? g.value.id < t + 1 ? g.continue(t + 1) : (o.push(g.value), g.continue()) : (Pe(r), u(o));\n };\n });\n}\nfunction Vn(e, t) {\n if (e.closed)\n return Promise.resolve([]);\n var r = e.db.transaction($, \"readwrite\", ie), n = r.objectStore($);\n return Promise.all(t.map(function(o) {\n var s = n.delete(o);\n return new Promise(function(a) {\n s.onsuccess = function() {\n return a();\n };\n });\n }));\n}\nfunction Rn(e, t) {\n var r = (/* @__PURE__ */ new Date()).getTime() - t, n = e.transaction($, \"readonly\", ie), o = n.objectStore($), s = [];\n return new Promise(function(a) {\n o.openCursor().onsuccess = function(i) {\n var u = i.target.result;\n if (u) {\n var c = u.value;\n c.time < r ? (s.push(c), u.continue()) : (Pe(n), a(s));\n } else\n a(s);\n };\n });\n}\nfunction Bn(e) {\n return Rn(e.db, e.options.idb.ttl).then(function(t) {\n return Vn(e, t.map(function(r) {\n return r.id;\n }));\n });\n}\nfunction xn(e, t) {\n return t = Ne(t), Ln(e).then(function(r) {\n var n = {\n closed: !1,\n lastCursorId: 0,\n channelName: e,\n options: t,\n uuid: Ie(),\n /**\n * emittedMessagesIds\n * contains all messages that have been emitted before\n * @type {ObliviousSet}\n */\n eMIs: new ht(t.idb.ttl * 2),\n // ensures we do not read messages in parallel\n writeBlockPromise: j,\n messagesCallback: null,\n readQueuePromises: [],\n db: r\n };\n return r.onclose = function() {\n n.closed = !0, t.idb.onclose && t.idb.onclose();\n }, vt(n), n;\n });\n}\nfunction vt(e) {\n e.closed || yt(e).then(function() {\n return pt(e.options.idb.fallbackInterval);\n }).then(function() {\n return vt(e);\n });\n}\nfunction Un(e, t) {\n return !(e.uuid === t.uuid || t.eMIs.has(e.id) || e.data.time < t.messagesCallbackTime);\n}\nfunction yt(e) {\n return e.closed || !e.messagesCallback ? j : jn(e.db, e.lastCursorId).then(function(t) {\n var r = t.filter(function(n) {\n return !!n;\n }).map(function(n) {\n return n.id > e.lastCursorId && (e.lastCursorId = n.id), n;\n }).filter(function(n) {\n return Un(n, e);\n }).sort(function(n, o) {\n return n.time - o.time;\n });\n return r.forEach(function(n) {\n e.messagesCallback && (e.eMIs.add(n.id), e.messagesCallback(n.data));\n }), j;\n });\n}\nfunction Fn(e) {\n e.closed = !0, e.db.close();\n}\nfunction Hn(e, t) {\n return e.writeBlockPromise = e.writeBlockPromise.then(function() {\n return An(e.db, e.uuid, t);\n }).then(function() {\n bn(0, 10) === 0 && Bn(e);\n }), e.writeBlockPromise;\n}\nfunction Jn(e, t, r) {\n e.messagesCallbackTime = r, e.messagesCallback = t, yt(e);\n}\nfunction Gn() {\n return !!mt();\n}\nfunction Wn(e) {\n return e.idb.fallbackInterval * 2;\n}\nvar zn = {\n create: xn,\n close: Fn,\n onMessage: Jn,\n postMessage: Hn,\n canBeUsed: Gn,\n type: Cn,\n averageResponseTime: Wn,\n microSeconds: Dn\n}, Qn = se, Yn = \"pubkey.broadcastChannel-\", qn = \"localstorage\";\nfunction _t() {\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 bt(e) {\n return Yn + e;\n}\nfunction Xn(e, t) {\n return new Promise(function(r) {\n pt().then(function() {\n var n = bt(e.channelName), o = {\n token: Ie(),\n time: (/* @__PURE__ */ new Date()).getTime(),\n data: t,\n uuid: e.uuid\n }, s = JSON.stringify(o);\n _t().setItem(n, s);\n var a = document.createEvent(\"Event\");\n a.initEvent(\"storage\", !0, !0), a.key = n, a.newValue = s, window.dispatchEvent(a), r();\n });\n });\n}\nfunction Kn(e, t) {\n var r = bt(e), n = function(s) {\n s.key === r && t(JSON.parse(s.newValue));\n };\n return window.addEventListener(\"storage\", n), n;\n}\nfunction Zn(e) {\n window.removeEventListener(\"storage\", e);\n}\nfunction er(e, t) {\n if (t = Ne(t), !wt())\n throw new Error(\"BroadcastChannel: localstorage cannot be used\");\n var r = Ie(), n = new ht(t.localstorage.removeTimeout), o = {\n channelName: e,\n uuid: r,\n eMIs: n\n // emittedMessagesIds\n };\n return o.listener = Kn(e, function(s) {\n o.messagesCallback && s.uuid !== r && (!s.token || n.has(s.token) || s.data.time && s.data.time < o.messagesCallbackTime || (n.add(s.token), o.messagesCallback(s.data)));\n }), o;\n}\nfunction tr(e) {\n Zn(e.listener);\n}\nfunction nr(e, t, r) {\n e.messagesCallbackTime = r, e.messagesCallback = t;\n}\nfunction wt() {\n var e = _t();\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 rr() {\n var e = 120, t = navigator.userAgent.toLowerCase();\n return t.includes(\"safari\") && !t.includes(\"chrome\") ? e * 2 : e;\n}\nvar or = {\n create: er,\n close: tr,\n onMessage: nr,\n postMessage: Xn,\n canBeUsed: wt,\n type: qn,\n averageResponseTime: rr,\n microSeconds: Qn\n}, sr = se, ir = \"simulate\", ke = /* @__PURE__ */ new Set();\nfunction ar(e) {\n var t = {\n name: e,\n messagesCallback: null\n };\n return ke.add(t), t;\n}\nfunction cr(e) {\n ke.delete(e);\n}\nfunction ur(e, t) {\n return new Promise(function(r) {\n return setTimeout(function() {\n var n = Array.from(ke);\n n.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 }), r();\n }, 5);\n });\n}\nfunction lr(e, t) {\n e.messagesCallback = t;\n}\nfunction fr() {\n return !0;\n}\nfunction dr() {\n return 5;\n}\nvar pr = {\n create: ar,\n close: cr,\n onMessage: lr,\n postMessage: ur,\n canBeUsed: fr,\n type: ir,\n averageResponseTime: dr,\n microSeconds: sr\n}, Fe = [\n $n,\n // fastest\n zn,\n or\n];\nfunction hr(e) {\n var t = [].concat(e.methods, Fe).filter(Boolean);\n if (e.type) {\n if (e.type === \"simulate\")\n return pr;\n var r = t.find(function(o) {\n return o.type === e.type;\n });\n if (r) return r;\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 n = t.find(function(o) {\n return o.canBeUsed();\n });\n if (n) return n;\n throw new Error(\"No usable method found in \" + JSON.stringify(Fe.map(function(o) {\n return o.type;\n })));\n}\nvar Et = /* @__PURE__ */ new Set(), gr = 0, $e = function(t, r) {\n this.id = gr++, Et.add(this), this.name = t, He && (r = He), this.options = Ne(r), this.method = hr(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, mr(this);\n};\n$e._pubkey = !0;\nvar He;\n$e.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 Je(this, \"message\", t);\n },\n postInternal: function(t) {\n return Je(this, \"internal\", t);\n },\n set onmessage(e) {\n var t = this.method.microSeconds(), r = {\n time: t,\n fn: e\n };\n We(this, \"message\", this._onML), e && typeof e == \"function\" ? (this._onML = r, Ge(this, \"message\", r)) : this._onML = null;\n },\n addEventListener: function(t, r) {\n var n = this.method.microSeconds(), o = {\n time: n,\n fn: r\n };\n Ge(this, t, o);\n },\n removeEventListener: function(t, r) {\n var n = this._addEL[t].find(function(o) {\n return o.fn === r;\n });\n We(this, t, n);\n },\n close: function() {\n var t = this;\n if (!this.closed) {\n Et.delete(this), this.closed = !0;\n var r = this._prepP ? this._prepP : j;\n return this._onML = null, this._addEL.message = [], r.then(function() {\n return Promise.all(Array.from(t._uMP));\n }).then(function() {\n return Promise.all(t._befC.map(function(n) {\n return n();\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 Je(e, t, r) {\n var n = e.method.microSeconds(), o = {\n time: n,\n type: t,\n data: r\n }, s = e._prepP ? e._prepP : j;\n return s.then(function() {\n var a = e.method.postMessage(e._state, o);\n return e._uMP.add(a), a.catch().then(function() {\n return e._uMP.delete(a);\n }), a;\n });\n}\nfunction mr(e) {\n var t = e.method.create(e.name, e.options);\n _n(t) ? (e._prepP = t, t.then(function(r) {\n e._state = r;\n })) : e._state = t;\n}\nfunction St(e) {\n return e._addEL.message.length > 0 || e._addEL.internal.length > 0;\n}\nfunction Ge(e, t, r) {\n e._addEL[t].push(r), vr(e);\n}\nfunction We(e, t, r) {\n e._addEL[t] = e._addEL[t].filter(function(n) {\n return n !== r;\n }), yr(e);\n}\nfunction vr(e) {\n if (!e._iL && St(e)) {\n var t = function(o) {\n e._addEL[o.type].forEach(function(s) {\n var a = 1e5, i = s.time - a;\n o.time >= i && s.fn(o.data);\n });\n }, r = e.method.microSeconds();\n e._prepP ? e._prepP.then(function() {\n e._iL = !0, e.method.onMessage(e._state, t, r);\n }) : (e._iL = !0, e.method.onMessage(e._state, t, r));\n }\n}\nfunction yr(e) {\n if (e._iL && !St(e)) {\n e._iL = !1;\n var t = e.method.microSeconds();\n e.method.onMessage(e._state, null, t);\n }\n}\nclass pe extends Error {\n /**\n * @param {string} message\n * @param {string[]} keys\n */\n constructor(t, r) {\n super(t), this.name = \"DevalueError\", this.path = r.join(\"\");\n }\n}\nfunction ze(e) {\n return Object(e) !== e;\n}\nconst _r = /* @__PURE__ */ Object.getOwnPropertyNames(\n Object.prototype\n).sort().join(\"\\0\");\nfunction br(e) {\n const t = Object.getPrototypeOf(e);\n return t === Object.prototype || t === null || Object.getOwnPropertyNames(t).sort().join(\"\\0\") === _r;\n}\nfunction wr(e) {\n return Object.prototype.toString.call(e).slice(8, -1);\n}\nfunction Er(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 F(e) {\n let t = \"\", r = 0;\n const n = e.length;\n for (let o = 0; o < n; o += 1) {\n const s = e[o], a = Er(s);\n a && (t += e.slice(r, o) + a, r = o + 1);\n }\n return `\"${r === 0 ? e : t + e.slice(r)}\"`;\n}\nconst Te = -1, Ot = -2, It = -3, Nt = -4, Pt = -5, De = -6;\nfunction Qe(e, t) {\n return Sr(JSON.parse(e));\n}\nfunction Sr(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 r = (\n /** @type {any[]} */\n e\n ), n = Array(r.length);\n function o(s, a = !1) {\n if (s === Te) return;\n if (s === It) return NaN;\n if (s === Nt) return 1 / 0;\n if (s === Pt) return -1 / 0;\n if (s === De) return -0;\n if (a) throw new Error(\"Invalid input\");\n if (s in n) return n[s];\n const i = r[s];\n if (!i || typeof i != \"object\")\n n[s] = i;\n else if (Array.isArray(i))\n if (typeof i[0] == \"string\") {\n const u = i[0];\n switch (u) {\n case \"Date\":\n n[s] = new Date(i[1]);\n break;\n case \"Set\":\n const c = /* @__PURE__ */ new Set();\n n[s] = c;\n for (let g = 1; g < i.length; g += 1)\n c.add(o(i[g]));\n break;\n case \"Map\":\n const p = /* @__PURE__ */ new Map();\n n[s] = p;\n for (let g = 1; g < i.length; g += 2)\n p.set(o(i[g]), o(i[g + 1]));\n break;\n case \"RegExp\":\n n[s] = new RegExp(i[1], i[2]);\n break;\n case \"Object\":\n n[s] = Object(i[1]);\n break;\n case \"BigInt\":\n n[s] = BigInt(i[1]);\n break;\n case \"null\":\n const d = /* @__PURE__ */ Object.create(null);\n n[s] = d;\n for (let g = 1; g < i.length; g += 2)\n d[i[g]] = o(i[g + 1]);\n break;\n default:\n throw new Error(`Unknown type ${u}`);\n }\n } else {\n const u = new Array(i.length);\n n[s] = u;\n for (let c = 0; c < i.length; c += 1) {\n const p = i[c];\n p !== Ot && (u[c] = o(p));\n }\n }\n else {\n const u = {};\n n[s] = u;\n for (const c in i) {\n const p = i[c];\n u[c] = o(p);\n }\n }\n return n[s];\n }\n return o(0);\n}\nfunction Ye(e, t) {\n const r = [], n = /* @__PURE__ */ new Map(), o = [];\n for (const c in t)\n o.push({ key: c, fn: t[c] });\n const s = [];\n let a = 0;\n function i(c) {\n if (typeof c == \"function\")\n throw new pe(\"Cannot stringify a function\", s);\n if (n.has(c)) return n.get(c);\n if (c === void 0) return Te;\n if (Number.isNaN(c)) return It;\n if (c === 1 / 0) return Nt;\n if (c === -1 / 0) return Pt;\n if (c === 0 && 1 / c < 0) return De;\n const p = a++;\n n.set(c, p);\n for (const { key: g, fn: w } of o) {\n const E = w(c);\n if (E)\n return r[p] = `[\"${g}\",${i(E)}]`, p;\n }\n let d = \"\";\n if (ze(c))\n d = he(c);\n else\n switch (wr(c)) {\n case \"Number\":\n case \"String\":\n case \"Boolean\":\n d = `[\"Object\",${he(c)}]`;\n break;\n case \"BigInt\":\n d = `[\"BigInt\",${c}]`;\n break;\n case \"Date\":\n d = `[\"Date\",\"${!isNaN(c.getDate()) ? c.toISOString() : \"\"}\"]`;\n break;\n case \"RegExp\":\n const { source: E, flags: R } = c;\n d = R ? `[\"RegExp\",${F(E)},\"${R}\"]` : `[\"RegExp\",${F(E)}]`;\n break;\n case \"Array\":\n d = \"[\";\n for (let v = 0; v < c.length; v += 1)\n v > 0 && (d += \",\"), v in c ? (s.push(`[${v}]`), d += i(c[v]), s.pop()) : d += Ot;\n d += \"]\";\n break;\n case \"Set\":\n d = '[\"Set\"';\n for (const v of c)\n d += `,${i(v)}`;\n d += \"]\";\n break;\n case \"Map\":\n d = '[\"Map\"';\n for (const [v, T] of c)\n s.push(\n `.get(${ze(v) ? he(v) : \"...\"})`\n ), d += `,${i(v)},${i(T)}`, s.pop();\n d += \"]\";\n break;\n default:\n if (!br(c))\n throw new pe(\n \"Cannot stringify arbitrary non-POJOs\",\n s\n );\n if (Object.getOwnPropertySymbols(c).length > 0)\n throw new pe(\n \"Cannot stringify POJOs with symbolic keys\",\n s\n );\n if (Object.getPrototypeOf(c) === null) {\n d = '[\"null\"';\n for (const v in c)\n s.push(`.${v}`), d += `,${F(v)},${i(c[v])}`, s.pop();\n d += \"]\";\n } else {\n d = \"{\";\n let v = !1;\n for (const T in c)\n v && (d += \",\"), v = !0, s.push(`.${T}`), d += `${F(T)}:${i(c[T])}`, s.pop();\n d += \"}\";\n }\n }\n return r[p] = d, p;\n }\n const u = i(e);\n return u < 0 ? `${u}` : `[${r.join(\",\")}]`;\n}\nfunction he(e) {\n const t = typeof e;\n return t === \"string\" ? F(e) : e instanceof String ? F(e.toString()) : e === void 0 ? Te.toString() : e === 0 && 1 / e < 0 ? De.toString() : t === \"bigint\" ? `[\"BigInt\",\"${e}\"]` : String(e);\n}\nfunction Or(e, t, { initialize: r, type: n }) {\n let o = `${t.$id}-${e.toString()}`, s = new $e(o, { type: n }), a = !1, i = 0;\n we(() => t[e], (p) => {\n a || (i = Date.now(), s.postMessage({ timestamp: i, state: Qe(Ye(p)) })), a = !1;\n }, { deep: !0 }), s.onmessage = (p) => {\n if (p === void 0) {\n s.postMessage({ timestamp: i, state: Qe(Ye(t[e])) });\n return;\n }\n p.timestamp <= i || (a = !0, i = p.timestamp, t[e] = p.state);\n };\n let u = () => s.postMessage(void 0), c = () => s.close();\n return r && u(), { sync: u, unshare: c };\n}\nvar Ir = (e, t) => Object.keys(t).includes(e), Nr = ({ initialize: e = !0, enable: t = !0, type: r }) => ({ store: n, options: o }) => {\n var i, u;\n let s = ((i = o == null ? void 0 : o.share) == null ? void 0 : i.enable) ?? t, a = ((u = o == null ? void 0 : o.share) == null ? void 0 : u.omit) ?? [];\n !s || Object.keys(n.$state).forEach((c) => {\n var p;\n a.includes(c) || !Ir(c, n.$state) || Or(c, n, { initialize: ((p = o == null ? void 0 : o.share) == null ? void 0 : p.initialize) ?? e, type: r });\n });\n};\nconst kt = pn();\nkt.use(\n Nr({\n enable: !0,\n initialize: !0\n })\n);\nconst Mr = {\n install: (e, t) => {\n const r = e.config.globalProperties.$router, n = r || (t == null ? void 0 : t.router), o = new be(n, t == null ? void 0 : t.getMeta);\n if (!r && n && e.use(n), e.use(kt), e.provide(\"$registry\", o), t != null && t.components)\n for (const [s, a] of Object.entries(t.components))\n e.component(s, a);\n }\n};\nexport {\n Dr as DoctypeMeta,\n be as Registry,\n Mr as Stonecrop,\n Tr 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","import * as Vue from 'vue'\n\nvar isVue2 = false\nvar isVue3 = true\nvar Vue2 = undefined\n\nfunction install() {}\n\nexport function 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}\n\nexport function del(target, key) {\n if (Array.isArray(target)) {\n target.splice(key, 1)\n return\n }\n delete target[key]\n}\n\nexport * from 'vue'\nexport {\n Vue,\n Vue2,\n isVue2,\n isVue3,\n install,\n}\n","/*!\n * pinia v2.3.0\n * (c) 2024 Eduardo San Martin Morote\n * @license MIT\n */\nimport { hasInjectionContext, inject, toRaw, watch, unref, markRaw, effectScope, ref, isVue2, isRef, isReactive, set, getCurrentScope, onScopeDispose, getCurrentInstance, reactive, toRef, del, nextTick, computed, toRefs } from 'vue-demi';\nimport { setupDevtoolsPlugin } from '@vue/devtools-api';\n\n/**\n * setActivePinia must be called to handle SSR at the top of functions like\n * `fetch`, `setup`, `serverPrefetch` and others\n */\nlet activePinia;\n/**\n * Sets or unsets the active pinia. Used in SSR and internally when calling\n * actions and getters\n *\n * @param pinia - Pinia instance\n */\n// @ts-expect-error: cannot constrain the type of the return\nconst setActivePinia = (pinia) => (activePinia = pinia);\n/**\n * Get the currently active pinia if there is any.\n */\nconst getActivePinia = () => (hasInjectionContext() && inject(piniaSymbol)) || activePinia;\nconst piniaSymbol = ((process.env.NODE_ENV !== 'production') ? Symbol('pinia') : /* istanbul ignore next */ Symbol());\n\nfunction isPlainObject(\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\no) {\n return (o &&\n typeof o === 'object' &&\n Object.prototype.toString.call(o) === '[object Object]' &&\n typeof o.toJSON !== 'function');\n}\n// type DeepReadonly<T> = { readonly [P in keyof T]: DeepReadonly<T[P]> }\n// TODO: can we change these to numbers?\n/**\n * Possible types for SubscriptionCallback\n */\nvar MutationType;\n(function (MutationType) {\n /**\n * Direct mutation of the state:\n *\n * - `store.name = 'new name'`\n * - `store.$state.name = 'new name'`\n * - `store.list.push('new item')`\n */\n MutationType[\"direct\"] = \"direct\";\n /**\n * Mutated the state with `$patch` and an object\n *\n * - `store.$patch({ name: 'newName' })`\n */\n MutationType[\"patchObject\"] = \"patch object\";\n /**\n * Mutated the state with `$patch` and a function\n *\n * - `store.$patch(state => state.name = 'newName')`\n */\n MutationType[\"patchFunction\"] = \"patch function\";\n // maybe reset? for $state = {} and $reset\n})(MutationType || (MutationType = {}));\n\nconst IS_CLIENT = typeof window !== 'undefined';\n\n/*\n * FileSaver.js A saveAs() FileSaver implementation.\n *\n * Originally by Eli Grey, adapted as an ESM module by Eduardo San Martin\n * Morote.\n *\n * License : MIT\n */\n// The one and only way of getting global scope in all environments\n// https://stackoverflow.com/q/3277182/1008999\nconst _global = /*#__PURE__*/ (() => typeof window === 'object' && window.window === window\n ? window\n : typeof self === 'object' && self.self === self\n ? self\n : typeof global === 'object' && global.global === global\n ? global\n : typeof globalThis === 'object'\n ? globalThis\n : { HTMLElement: null })();\nfunction bom(blob, { autoBom = false } = {}) {\n // prepend BOM for UTF-8 XML and text/* types (including HTML)\n // note: your browser will automatically convert UTF-16 U+FEFF to EF BB BF\n if (autoBom &&\n /^\\s*(?:text\\/\\S*|application\\/xml|\\S*\\/\\S*\\+xml)\\s*;.*charset\\s*=\\s*utf-8/i.test(blob.type)) {\n return new Blob([String.fromCharCode(0xfeff), blob], { type: blob.type });\n }\n return blob;\n}\nfunction download(url, name, opts) {\n const xhr = new XMLHttpRequest();\n xhr.open('GET', url);\n xhr.responseType = 'blob';\n xhr.onload = function () {\n saveAs(xhr.response, name, opts);\n };\n xhr.onerror = function () {\n console.error('could not download file');\n };\n xhr.send();\n}\nfunction corsEnabled(url) {\n const xhr = new XMLHttpRequest();\n // use sync to avoid popup blocker\n xhr.open('HEAD', url, false);\n try {\n xhr.send();\n }\n catch (e) { }\n return xhr.status >= 200 && xhr.status <= 299;\n}\n// `a.click()` doesn't work for all browsers (#465)\nfunction click(node) {\n try {\n node.dispatchEvent(new MouseEvent('click'));\n }\n catch (e) {\n const evt = 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: '' };\n// Detect WebView inside a native macOS app by ruling out all browsers\n// We just need to check for 'Safari' because all other browsers (besides Firefox) include that too\n// https://www.whatismybrowser.com/guides/the-latest-user-agent/macos\nconst isMacOSWebView = /*#__PURE__*/ (() => /Macintosh/.test(_navigator.userAgent) &&\n /AppleWebKit/.test(_navigator.userAgent) &&\n !/Safari/.test(_navigator.userAgent))();\nconst saveAs = !IS_CLIENT\n ? () => { } // noop\n : // Use download attribute first if possible (#193 Lumia mobile) unless this is a macOS WebView or mini program\n typeof HTMLAnchorElement !== 'undefined' &&\n 'download' in HTMLAnchorElement.prototype &&\n !isMacOSWebView\n ? downloadSaveAs\n : // Use msSaveOrOpenBlob as a second approach\n 'msSaveOrOpenBlob' in _navigator\n ? msSaveAs\n : // Fallback to using FileReader and a popup\n fileSaverSaveAs;\nfunction downloadSaveAs(blob, name = 'download', opts) {\n const a = document.createElement('a');\n a.download = name;\n a.rel = 'noopener'; // tabnabbing\n // TODO: detect chrome extensions & packaged apps\n // a.target = '_blank'\n if (typeof blob === 'string') {\n // Support regular links\n a.href = blob;\n if (a.origin !== location.origin) {\n if (corsEnabled(a.href)) {\n download(blob, name, opts);\n }\n else {\n a.target = '_blank';\n click(a);\n }\n }\n else {\n click(a);\n }\n }\n else {\n // Support blobs\n a.href = URL.createObjectURL(blob);\n setTimeout(function () {\n URL.revokeObjectURL(a.href);\n }, 4e4); // 40s\n setTimeout(function () {\n click(a);\n }, 0);\n }\n}\nfunction msSaveAs(blob, name = 'download', opts) {\n if (typeof blob === 'string') {\n if (corsEnabled(blob)) {\n download(blob, name, opts);\n }\n else {\n const a = document.createElement('a');\n a.href = blob;\n a.target = '_blank';\n setTimeout(function () {\n click(a);\n });\n }\n }\n else {\n // @ts-ignore: works on windows\n navigator.msSaveOrOpenBlob(bom(blob, opts), name);\n }\n}\nfunction fileSaverSaveAs(blob, name, opts, popup) {\n // Open a popup immediately do go around popup blocker\n // Mostly only available on user interaction and the fileReader is async so...\n popup = popup || open('', '_blank');\n if (popup) {\n popup.document.title = popup.document.body.innerText = 'downloading...';\n }\n if (typeof blob === 'string')\n return download(blob, name, opts);\n const force = blob.type === 'application/octet-stream';\n const isSafari = /constructor/i.test(String(_global.HTMLElement)) || 'safari' in _global;\n const isChromeIOS = /CriOS\\/[\\d]+/.test(navigator.userAgent);\n if ((isChromeIOS || (force && isSafari) || isMacOSWebView) &&\n typeof FileReader !== 'undefined') {\n // Safari doesn't allow downloading of blob URLs\n const reader = new FileReader();\n reader.onloadend = function () {\n let url = reader.result;\n if (typeof url !== 'string') {\n popup = null;\n throw new Error('Wrong reader.result type');\n }\n url = isChromeIOS\n ? url\n : url.replace(/^data:[^;]*;/, 'data:attachment/file;');\n if (popup) {\n popup.location.href = url;\n }\n else {\n location.assign(url);\n }\n popup = null; // reverse-tabnabbing #460\n };\n reader.readAsDataURL(blob);\n }\n else {\n const url = URL.createObjectURL(blob);\n if (popup)\n popup.location.assign(url);\n else\n location.href = url;\n popup = null; // reverse-tabnabbing #460\n setTimeout(function () {\n URL.revokeObjectURL(url);\n }, 4e4); // 40s\n }\n}\n\n/**\n * Shows a toast or console.log\n *\n * @param message - message to log\n * @param type - different color of the tooltip\n */\nfunction toastMessage(message, type) {\n const piniaMessage = '🍍 ' + message;\n if (typeof __VUE_DEVTOOLS_TOAST__ === 'function') {\n // No longer available :(\n __VUE_DEVTOOLS_TOAST__(piniaMessage, type);\n }\n else if (type === 'error') {\n console.error(piniaMessage);\n }\n else if (type === 'warn') {\n console.warn(piniaMessage);\n }\n else {\n console.log(piniaMessage);\n }\n}\nfunction isPinia(o) {\n return '_a' in o && 'install' in o;\n}\n\n/**\n * This file contain devtools actions, they are not Pinia actions.\n */\n// ---\nfunction checkClipboardAccess() {\n if (!('clipboard' in navigator)) {\n toastMessage(`Your browser doesn't support the Clipboard API`, 'error');\n return true;\n }\n}\nfunction checkNotFocusedError(error) {\n if (error instanceof Error &&\n error.message.toLowerCase().includes('document is not focused')) {\n toastMessage('You need to activate the \"Emulate a focused page\" setting in the \"Rendering\" panel of devtools.', 'warn');\n return true;\n }\n return false;\n}\nasync function actionGlobalCopyState(pinia) {\n if (checkClipboardAccess())\n return;\n try {\n await navigator.clipboard.writeText(JSON.stringify(pinia.state.value));\n toastMessage('Global state copied to clipboard.');\n }\n catch (error) {\n if (checkNotFocusedError(error))\n return;\n toastMessage(`Failed to serialize the state. Check the console for more details.`, 'error');\n console.error(error);\n }\n}\nasync function actionGlobalPasteState(pinia) {\n if (checkClipboardAccess())\n return;\n try {\n loadStoresState(pinia, JSON.parse(await navigator.clipboard.readText()));\n toastMessage('Global state pasted from clipboard.');\n }\n catch (error) {\n if (checkNotFocusedError(error))\n return;\n toastMessage(`Failed to deserialize the state from clipboard. Check the console for more details.`, 'error');\n console.error(error);\n }\n}\nasync function actionGlobalSaveState(pinia) {\n try {\n saveAs(new Blob([JSON.stringify(pinia.state.value)], {\n type: 'text/plain;charset=utf-8',\n }), 'pinia-state.json');\n }\n catch (error) {\n toastMessage(`Failed to export the state as JSON. Check the console for more details.`, 'error');\n console.error(error);\n }\n}\nlet fileInput;\nfunction getFileOpener() {\n if (!fileInput) {\n fileInput = document.createElement('input');\n fileInput.type = 'file';\n fileInput.accept = '.json';\n }\n function openFile() {\n return new Promise((resolve, reject) => {\n fileInput.onchange = async () => {\n const files = fileInput.files;\n if (!files)\n return resolve(null);\n const file = files.item(0);\n if (!file)\n return resolve(null);\n return resolve({ text: await file.text(), file });\n };\n // @ts-ignore: TODO: changed from 4.3 to 4.4\n fileInput.oncancel = () => resolve(null);\n fileInput.onerror = reject;\n fileInput.click();\n });\n }\n return openFile;\n}\nasync function actionGlobalOpenStateFile(pinia) {\n try {\n const open = getFileOpener();\n const result = await open();\n if (!result)\n return;\n const { text, file } = result;\n loadStoresState(pinia, JSON.parse(text));\n toastMessage(`Global state imported from \"${file.name}\".`);\n }\n catch (error) {\n toastMessage(`Failed to import the state from JSON. Check the console for more details.`, 'error');\n console.error(error);\n }\n}\nfunction loadStoresState(pinia, state) {\n for (const key in state) {\n const storeState = pinia.state.value[key];\n // store is already instantiated, patch it\n if (storeState) {\n Object.assign(storeState, state[key]);\n }\n else {\n // store is not instantiated, set the initial state\n pinia.state.value[key] = state[key];\n }\n }\n}\n\nfunction formatDisplay(display) {\n return {\n _custom: {\n display,\n },\n };\n}\nconst PINIA_ROOT_LABEL = '🍍 Pinia (root)';\nconst PINIA_ROOT_ID = '_root';\nfunction formatStoreForInspectorTree(store) {\n return isPinia(store)\n ? {\n id: PINIA_ROOT_ID,\n label: PINIA_ROOT_LABEL,\n }\n : {\n id: store.$id,\n label: store.$id,\n };\n}\nfunction formatStoreForInspectorState(store) {\n if (isPinia(store)) {\n const storeNames = Array.from(store._s.keys());\n const storeMap = store._s;\n const state = {\n state: storeNames.map((storeId) => ({\n editable: true,\n key: storeId,\n value: store.state.value[storeId],\n })),\n getters: storeNames\n .filter((id) => storeMap.get(id)._getters)\n .map((id) => {\n const store = storeMap.get(id);\n return {\n editable: false,\n key: id,\n value: store._getters.reduce((getters, key) => {\n getters[key] = store[key];\n return getters;\n }, {}),\n };\n }),\n };\n return state;\n }\n const state = {\n state: Object.keys(store.$state).map((key) => ({\n editable: true,\n key,\n value: store.$state[key],\n })),\n };\n // avoid adding empty getters\n if (store._getters && store._getters.length) {\n state.getters = store._getters.map((getterName) => ({\n editable: false,\n key: getterName,\n value: store[getterName],\n }));\n }\n if (store._customProperties.size) {\n state.customProperties = Array.from(store._customProperties).map((key) => ({\n editable: true,\n key,\n value: store[key],\n }));\n }\n return state;\n}\nfunction formatEventData(events) {\n if (!events)\n return {};\n if (Array.isArray(events)) {\n // TODO: handle add and delete for arrays and objects\n return events.reduce((data, event) => {\n data.keys.push(event.key);\n data.operations.push(event.type);\n data.oldValue[event.key] = event.oldValue;\n data.newValue[event.key] = event.newValue;\n return data;\n }, {\n oldValue: {},\n keys: [],\n operations: [],\n newValue: {},\n });\n }\n else {\n return {\n operation: formatDisplay(events.type),\n key: formatDisplay(events.key),\n oldValue: events.oldValue,\n newValue: events.newValue,\n };\n }\n}\nfunction formatMutationType(type) {\n switch (type) {\n case MutationType.direct:\n return 'mutation';\n case MutationType.patchFunction:\n return '$patch';\n case MutationType.patchObject:\n return '$patch';\n default:\n return 'unknown';\n }\n}\n\n// timeline can be paused when directly changing the state\nlet isTimelineActive = true;\nconst componentStateTypes = [];\nconst MUTATIONS_LAYER_ID = 'pinia:mutations';\nconst INSPECTOR_ID = 'pinia';\nconst { assign: assign$1 } = Object;\n/**\n * Gets the displayed name of a store in devtools\n *\n * @param id - id of the store\n * @returns a formatted string\n */\nconst getStoreType = (id) => '🍍 ' + id;\n/**\n * Add the pinia plugin without any store. Allows displaying a Pinia plugin tab\n * as soon as it is added to the application.\n *\n * @param app - Vue application\n * @param pinia - pinia instance\n */\nfunction registerPiniaDevtools(app, pinia) {\n setupDevtoolsPlugin({\n id: 'dev.esm.pinia',\n label: 'Pinia 🍍',\n logo: 'https://pinia.vuejs.org/logo.svg',\n packageName: 'pinia',\n homepage: 'https://pinia.vuejs.org',\n componentStateTypes,\n app,\n }, (api) => {\n if (typeof api.now !== 'function') {\n toastMessage('You seem to be using an outdated version of Vue Devtools. Are you still using the Beta release instead of the stable one? You can find the links at https://devtools.vuejs.org/guide/installation.html.');\n }\n api.addTimelineLayer({\n id: MUTATIONS_LAYER_ID,\n label: `Pinia 🍍`,\n color: 0xe5df88,\n });\n api.addInspector({\n id: INSPECTOR_ID,\n label: 'Pinia 🍍',\n icon: 'storage',\n treeFilterPlaceholder: 'Search stores',\n actions: [\n {\n icon: 'content_copy',\n action: () => {\n actionGlobalCopyState(pinia);\n },\n tooltip: 'Serialize and copy the state',\n },\n {\n icon: 'content_paste',\n action: async () => {\n await actionGlobalPasteState(pinia);\n api.sendInspectorTree(INSPECTOR_ID);\n api.sendInspectorState(INSPECTOR_ID);\n },\n tooltip: 'Replace the state with the content of your clipboard',\n },\n {\n icon: 'save',\n action: () => {\n actionGlobalSaveState(pinia);\n },\n tooltip: 'Save the state as a JSON file',\n },\n {\n icon: 'folder_open',\n action: async () => {\n await actionGlobalOpenStateFile(pinia);\n api.sendInspectorTree(INSPECTOR_ID);\n api.sendInspectorState(INSPECTOR_ID);\n },\n tooltip: 'Import the state from a JSON file',\n },\n ],\n nodeActions: [\n {\n icon: 'restore',\n tooltip: 'Reset the state (with \"$reset\")',\n action: (nodeId) => {\n const store = pinia._s.get(nodeId);\n if (!store) {\n toastMessage(`Cannot reset \"${nodeId}\" store because it wasn't found.`, 'warn');\n }\n else if (typeof store.$reset !== 'function') {\n toastMessage(`Cannot reset \"${nodeId}\" store because it doesn't have a \"$reset\" method implemented.`, 'warn');\n }\n else {\n store.$reset();\n toastMessage(`Store \"${nodeId}\" reset.`);\n }\n },\n },\n ],\n });\n api.on.inspectComponent((payload, ctx) => {\n const proxy = (payload.componentInstance &&\n payload.componentInstance.proxy);\n if (proxy && proxy._pStores) {\n const piniaStores = payload.componentInstance.proxy._pStores;\n Object.values(piniaStores).forEach((store) => {\n payload.instanceData.state.push({\n type: getStoreType(store.$id),\n key: 'state',\n editable: true,\n value: store._isOptionsAPI\n ? {\n _custom: {\n value: toRaw(store.$state),\n actions: [\n {\n icon: 'restore',\n tooltip: 'Reset the state of this store',\n action: () => store.$reset(),\n },\n ],\n },\n }\n : // NOTE: workaround to unwrap transferred refs\n Object.keys(store.$state).reduce((state, key) => {\n state[key] = store.$state[key];\n return state;\n }, {}),\n });\n if (store._getters && store._getters.length) {\n payload.instanceData.state.push({\n type: getStoreType(store.$id),\n key: 'getters',\n editable: false,\n value: store._getters.reduce((getters, key) => {\n try {\n getters[key] = store[key];\n }\n catch (error) {\n // @ts-expect-error: we just want to show it in devtools\n getters[key] = error;\n }\n return getters;\n }, {}),\n });\n }\n });\n }\n });\n api.on.getInspectorTree((payload) => {\n if (payload.app === app && payload.inspectorId === INSPECTOR_ID) {\n let stores = [pinia];\n stores = stores.concat(Array.from(pinia._s.values()));\n payload.rootNodes = (payload.filter\n ? stores.filter((store) => '$id' in store\n ? store.$id\n .toLowerCase()\n .includes(payload.filter.toLowerCase())\n : PINIA_ROOT_LABEL.toLowerCase().includes(payload.filter.toLowerCase()))\n : stores).map(formatStoreForInspectorTree);\n }\n });\n // Expose pinia instance as $pinia to window\n globalThis.$pinia = pinia;\n api.on.getInspectorState((payload) => {\n if (payload.app === app && payload.inspectorId === INSPECTOR_ID) {\n const inspectedStore = payload.nodeId === PINIA_ROOT_ID\n ? pinia\n : pinia._s.get(payload.nodeId);\n if (!inspectedStore) {\n // this could be the selected store restored for a different project\n // so it's better not to say anything here\n return;\n }\n if (inspectedStore) {\n // Expose selected store as $store to window\n if (payload.nodeId !== PINIA_ROOT_ID)\n globalThis.$store = toRaw(inspectedStore);\n payload.state = formatStoreForInspectorState(inspectedStore);\n }\n }\n });\n api.on.editInspectorState((payload, ctx) => {\n if (payload.app === app && payload.inspectorId === INSPECTOR_ID) {\n const inspectedStore = payload.nodeId === PINIA_ROOT_ID\n ? pinia\n : pinia._s.get(payload.nodeId);\n if (!inspectedStore) {\n return toastMessage(`store \"${payload.nodeId}\" not found`, 'error');\n }\n const { path } = payload;\n if (!isPinia(inspectedStore)) {\n // access only the state\n if (path.length !== 1 ||\n !inspectedStore._customProperties.has(path[0]) ||\n path[0] in inspectedStore.$state) {\n path.unshift('$state');\n }\n }\n else {\n // Root access, we can omit the `.value` because the devtools API does it for us\n path.unshift('state');\n }\n isTimelineActive = false;\n payload.set(inspectedStore, path, payload.state.value);\n isTimelineActive = true;\n }\n });\n api.on.editComponentState((payload) => {\n if (payload.type.startsWith('🍍')) {\n const storeId = payload.type.replace(/^🍍\\s*/, '');\n const store = pinia._s.get(storeId);\n if (!store) {\n return toastMessage(`store \"${storeId}\" not found`, 'error');\n }\n const { path } = payload;\n if (path[0] !== 'state') {\n return toastMessage(`Invalid path for store \"${storeId}\":\\n${path}\\nOnly state can be modified.`);\n }\n // rewrite the first entry to be able to directly set the state as\n // well as any other path\n path[0] = '$state';\n isTimelineActive = false;\n payload.set(store, path, payload.state.value);\n isTimelineActive = true;\n }\n });\n });\n}\nfunction addStoreToDevtools(app, store) {\n if (!componentStateTypes.includes(getStoreType(store.$id))) {\n componentStateTypes.push(getStoreType(store.$id));\n }\n setupDevtoolsPlugin({\n id: 'dev.esm.pinia',\n label: 'Pinia 🍍',\n logo: 'https://pinia.vuejs.org/logo.svg',\n packageName: 'pinia',\n homepage: 'https://pinia.vuejs.org',\n componentStateTypes,\n app,\n settings: {\n logStoreChanges: {\n label: 'Notify about new/deleted stores',\n type: 'boolean',\n defaultValue: true,\n },\n // useEmojis: {\n // label: 'Use emojis in messages ⚡️',\n // type: 'boolean',\n // defaultValue: true,\n // },\n },\n }, (api) => {\n // gracefully handle errors\n const now = typeof api.now === 'function' ? api.now.bind(api) : Date.now;\n store.$onAction(({ after, onError, name, args }) => {\n const groupId = runningActionId++;\n api.addTimelineEvent({\n layerId: MUTATIONS_LAYER_ID,\n event: {\n time: now(),\n title: '🛫 ' + name,\n subtitle: 'start',\n data: {\n store: formatDisplay(store.$id),\n action: formatDisplay(name),\n args,\n },\n groupId,\n },\n });\n after((result) => {\n activeAction = undefined;\n api.addTimelineEvent({\n layerId: MUTATIONS_LAYER_ID,\n event: {\n time: now(),\n title: '🛬 ' + name,\n subtitle: 'end',\n data: {\n store: formatDisplay(store.$id),\n action: formatDisplay(name),\n args,\n result,\n },\n groupId,\n },\n });\n });\n onError((error) => {\n activeAction = undefined;\n api.addTimelineEvent({\n layerId: MUTATIONS_LAYER_ID,\n event: {\n time: now(),\n logType: 'error',\n title: '💥 ' + name,\n subtitle: 'end',\n data: {\n store: formatDisplay(store.$id),\n action: formatDisplay(name),\n args,\n error,\n },\n groupId,\n },\n });\n });\n }, true);\n store._customProperties.forEach((name) => {\n watch(() => unref(store[name]), (newValue, oldValue) => {\n api.notifyComponentUpdate();\n api.sendInspectorState(INSPECTOR_ID);\n if (isTimelineActive) {\n api.addTimelineEvent({\n layerId: MUTATIONS_LAYER_ID,\n event: {\n time: now(),\n title: 'Change',\n subtitle: name,\n data: {\n newValue,\n oldValue,\n },\n groupId: activeAction,\n },\n });\n }\n }, { deep: true });\n });\n store.$subscribe(({ events, type }, state) => {\n api.notifyComponentUpdate();\n api.sendInspectorState(INSPECTOR_ID);\n if (!isTimelineActive)\n return;\n // rootStore.state[store.id] = state\n const eventData = {\n time: now(),\n title: formatMutationType(type),\n data: assign$1({ store: formatDisplay(store.$id) }, formatEventData(events)),\n groupId: activeAction,\n };\n if (type === MutationType.patchFunction) {\n eventData.subtitle = '⤵️';\n }\n else if (type === MutationType.patchObject) {\n eventData.subtitle = '🧩';\n }\n else if (events && !Array.isArray(events)) {\n eventData.subtitle = events.type;\n }\n if (events) {\n eventData.data['rawEvent(s)'] = {\n _custom: {\n display: 'DebuggerEvent',\n type: 'object',\n tooltip: 'raw DebuggerEvent[]',\n value: events,\n },\n };\n }\n api.addTimelineEvent({\n layerId: MUTATIONS_LAYER_ID,\n event: eventData,\n });\n }, { detached: true, flush: 'sync' });\n const hotUpdate = store._hotUpdate;\n store._hotUpdate = markRaw((newStore) => {\n hotUpdate(newStore);\n api.addTimelineEvent({\n layerId: MUTATIONS_LAYER_ID,\n event: {\n time: now(),\n title: '🔥 ' + store.$id,\n subtitle: 'HMR update',\n data: {\n store: formatDisplay(store.$id),\n info: formatDisplay(`HMR update`),\n },\n },\n });\n // update the devtools too\n api.notifyComponentUpdate();\n api.sendInspectorTree(INSPECTOR_ID);\n api.sendInspectorState(INSPECTOR_ID);\n });\n const { $dispose } = store;\n store.$dispose = () => {\n $dispose();\n api.notifyComponentUpdate();\n api.sendInspectorTree(INSPECTOR_ID);\n api.sendInspectorState(INSPECTOR_ID);\n api.getSettings().logStoreChanges &&\n toastMessage(`Disposed \"${store.$id}\" store 🗑`);\n };\n // trigger an update so it can display new registered stores\n api.notifyComponentUpdate();\n api.sendInspectorTree(INSPECTOR_ID);\n api.sendInspectorState(INSPECTOR_ID);\n api.getSettings().logStoreChanges &&\n toastMessage(`\"${store.$id}\" store installed 🆕`);\n });\n}\nlet runningActionId = 0;\nlet activeAction;\n/**\n * Patches a store to enable action grouping in devtools by wrapping the store with a Proxy that is passed as the\n * context of all actions, allowing us to set `runningAction` on each access and effectively associating any state\n * mutation to the action.\n *\n * @param store - store to patch\n * @param actionNames - list of actionst to patch\n */\nfunction patchActionForGrouping(store, actionNames, wrapWithProxy) {\n // original actions of the store as they are given by pinia. We are going to override them\n const actions = actionNames.reduce((storeActions, actionName) => {\n // use toRaw to avoid tracking #541\n storeActions[actionName] = toRaw(store)[actionName];\n return storeActions;\n }, {});\n for (const actionName in actions) {\n store[actionName] = function () {\n // the running action id is incremented in a before action hook\n const _actionId = runningActionId;\n const trackedStore = wrapWithProxy\n ? new Proxy(store, {\n get(...args) {\n activeAction = _actionId;\n return Reflect.get(...args);\n },\n set(...args) {\n activeAction = _actionId;\n return Reflect.set(...args);\n },\n })\n : store;\n // For Setup Stores we need https://github.com/tc39/proposal-async-context\n activeAction = _actionId;\n const retValue = actions[actionName].apply(trackedStore, arguments);\n // this is safer as async actions in Setup Stores would associate mutations done outside of the action\n activeAction = undefined;\n return retValue;\n };\n }\n}\n/**\n * pinia.use(devtoolsPlugin)\n */\nfunction devtoolsPlugin({ app, store, options }) {\n // HMR module\n if (store.$id.startsWith('__hot:')) {\n return;\n }\n // detect option api vs setup api\n store._isOptionsAPI = !!options.state;\n // Do not overwrite actions mocked by @pinia/testing (#2298)\n if (!store._p._testing) {\n patchActionForGrouping(store, Object.keys(options.actions), store._isOptionsAPI);\n // Upgrade the HMR to also update the new actions\n const originalHotUpdate = store._hotUpdate;\n toRaw(store)._hotUpdate = function (newStore) {\n originalHotUpdate.apply(this, arguments);\n patchActionForGrouping(store, Object.keys(newStore._hmrPayload.actions), !!store._isOptionsAPI);\n };\n }\n addStoreToDevtools(app, \n // FIXME: is there a way to allow the assignment from Store<Id, S, G, A> to StoreGeneric?\n store);\n}\n\n/**\n * Creates a Pinia instance to be used by the application\n */\nfunction createPinia() {\n const scope = effectScope(true);\n // NOTE: here we could check the window object for a state and directly set it\n // if there is anything like it with Vue 3 SSR\n const state = scope.run(() => ref({}));\n let _p = [];\n // plugins added before calling app.use(pinia)\n let toBeInstalled = [];\n const pinia = markRaw({\n install(app) {\n // this allows calling useStore() outside of a component setup after\n // installing pinia's plugin\n setActivePinia(pinia);\n if (!isVue2) {\n pinia._a = app;\n app.provide(piniaSymbol, pinia);\n app.config.globalProperties.$pinia = pinia;\n /* istanbul ignore else */\n if ((((process.env.NODE_ENV !== 'production') || (typeof __VUE_PROD_DEVTOOLS__ !== 'undefined' && __VUE_PROD_DEVTOOLS__)) && !(process.env.NODE_ENV === 'test')) && IS_CLIENT) {\n registerPiniaDevtools(app, pinia);\n }\n toBeInstalled.forEach((plugin) => _p.push(plugin));\n toBeInstalled = [];\n }\n },\n use(plugin) {\n if (!this._a && !isVue2) {\n toBeInstalled.push(plugin);\n }\n else {\n _p.push(plugin);\n }\n return this;\n },\n _p,\n // it's actually undefined here\n // @ts-expect-error\n _a: null,\n _e: scope,\n _s: new Map(),\n state,\n });\n // pinia devtools rely on dev only features so they cannot be forced unless\n // the dev build of Vue is used. Avoid old browsers like IE11.\n if ((((process.env.NODE_ENV !== 'production') || (typeof __VUE_PROD_DEVTOOLS__ !== 'undefined' && __VUE_PROD_DEVTOOLS__)) && !(process.env.NODE_ENV === 'test')) && IS_CLIENT && typeof Proxy !== 'undefined') {\n pinia.use(devtoolsPlugin);\n }\n return pinia;\n}\n/**\n * Dispose a Pinia instance by stopping its effectScope and removing the state, plugins and stores. This is mostly\n * useful in tests, with both a testing pinia or a regular pinia and in applications that use multiple pinia instances.\n * Once disposed, the pinia instance cannot be used anymore.\n *\n * @param pinia - pinia instance\n */\nfunction disposePinia(pinia) {\n pinia._e.stop();\n pinia._s.clear();\n pinia._p.splice(0);\n pinia.state.value = {};\n // @ts-expect-error: non valid\n pinia._a = null;\n}\n\n/**\n * Checks if a function is a `StoreDefinition`.\n *\n * @param fn - object to test\n * @returns true if `fn` is a StoreDefinition\n */\nconst isUseStore = (fn) => {\n return typeof fn === 'function' && typeof fn.$id === 'string';\n};\n/**\n * Mutates in place `newState` with `oldState` to _hot update_ it. It will\n * remove any key not existing in `newState` and recursively merge plain\n * objects.\n *\n * @param newState - new state object to be patched\n * @param oldState - old state that should be used to patch newState\n * @returns - newState\n */\nfunction patchObject(newState, oldState) {\n // no need to go through symbols because they cannot be serialized anyway\n for (const key in oldState) {\n const subPatch = oldState[key];\n // skip the whole sub tree\n if (!(key in newState)) {\n continue;\n }\n const targetValue = newState[key];\n if (isPlainObject(targetValue) &&\n isPlainObject(subPatch) &&\n !isRef(subPatch) &&\n !isReactive(subPatch)) {\n newState[key] = patchObject(targetValue, subPatch);\n }\n else {\n // objects are either a bit more complex (e.g. refs) or primitives, so we\n // just set the whole thing\n if (isVue2) {\n set(newState, key, subPatch);\n }\n else {\n newState[key] = subPatch;\n }\n }\n }\n return newState;\n}\n/**\n * Creates an _accept_ function to pass to `import.meta.hot` in Vite applications.\n *\n * @example\n * ```js\n * const useUser = defineStore(...)\n * if (import.meta.hot) {\n * import.meta.hot.accept(acceptHMRUpdate(useUser, import.meta.hot))\n * }\n * ```\n *\n * @param initialUseStore - return of the defineStore to hot update\n * @param hot - `import.meta.hot`\n */\nfunction acceptHMRUpdate(initialUseStore, hot) {\n // strip as much as possible from iife.prod\n if (!(process.env.NODE_ENV !== 'production')) {\n return () => { };\n }\n return (newModule) => {\n const pinia = hot.data.pinia || initialUseStore._pinia;\n if (!pinia) {\n // this store is still not used\n return;\n }\n // preserve the pinia instance across loads\n hot.data.pinia = pinia;\n // console.log('got data', newStore)\n for (const exportName in newModule) {\n const useStore = newModule[exportName];\n // console.log('checking for', exportName)\n if (isUseStore(useStore) && pinia._s.has(useStore.$id)) {\n // console.log('Accepting update for', useStore.$id)\n const id = useStore.$id;\n if (id !== initialUseStore.$id) {\n console.warn(`The id of the store changed from \"${initialUseStore.$id}\" to \"${id}\". Reloading.`);\n // return import.meta.hot.invalidate()\n return hot.invalidate();\n }\n const existingStore = pinia._s.get(id);\n if (!existingStore) {\n console.log(`[Pinia]: skipping hmr because store doesn't exist yet`);\n return;\n }\n useStore(pinia, existingStore);\n }\n }\n };\n}\n\nconst noop = () => { };\nfunction addSubscription(subscriptions, callback, detached, onCleanup = noop) {\n subscriptions.push(callback);\n const removeSubscription = () => {\n const idx = subscriptions.indexOf(callback);\n if (idx > -1) {\n subscriptions.splice(idx, 1);\n onCleanup();\n }\n };\n if (!detached && getCurrentScope()) {\n onScopeDispose(removeSubscription);\n }\n return removeSubscription;\n}\nfunction triggerSubscriptions(subscriptions, ...args) {\n subscriptions.slice().forEach((callback) => {\n callback(...args);\n });\n}\n\nconst fallbackRunWithContext = (fn) => fn();\n/**\n * Marks a function as an action for `$onAction`\n * @internal\n */\nconst ACTION_MARKER = Symbol();\n/**\n * Action name symbol. Allows to add a name to an action after defining it\n * @internal\n */\nconst ACTION_NAME = Symbol();\nfunction mergeReactiveObjects(target, patchToApply) {\n // Handle Map instances\n if (target instanceof Map && patchToApply instanceof Map) {\n patchToApply.forEach((value, key) => target.set(key, value));\n }\n else if (target instanceof Set && patchToApply instanceof Set) {\n // Handle Set instances\n patchToApply.forEach(target.add, target);\n }\n // no need to go through symbols because they cannot be serialized anyway\n for (const key in patchToApply) {\n if (!patchToApply.hasOwnProperty(key))\n continue;\n const subPatch = patchToApply[key];\n const targetValue = target[key];\n if (isPlainObject(targetValue) &&\n isPlainObject(subPatch) &&\n target.hasOwnProperty(key) &&\n !isRef(subPatch) &&\n !isReactive(subPatch)) {\n // NOTE: here I wanted to warn about inconsistent types but it's not possible because in setup stores one might\n // start the value of a property as a certain type e.g. a Map, and then for some reason, during SSR, change that\n // to `undefined`. When trying to hydrate, we want to override the Map with `undefined`.\n target[key] = mergeReactiveObjects(targetValue, subPatch);\n }\n else {\n // @ts-expect-error: subPatch is a valid value\n target[key] = subPatch;\n }\n }\n return target;\n}\nconst skipHydrateSymbol = (process.env.NODE_ENV !== 'production')\n ? Symbol('pinia:skipHydration')\n : /* istanbul ignore next */ Symbol();\n/**\n * Tells Pinia to skip the hydration process of a given object. This is useful in setup stores (only) when you return a\n * stateful object in the store but it isn't really state. e.g. returning a router instance in a setup store.\n *\n * @param obj - target object\n * @returns obj\n */\nfunction skipHydrate(obj) {\n return Object.defineProperty(obj, skipHydrateSymbol, {});\n}\n/**\n * Returns whether a value should be hydrated\n *\n * @param obj - target variable\n * @returns true if `obj` should be hydrated\n */\nfunction shouldHydrate(obj) {\n return !isPlainObject(obj) || !obj.hasOwnProperty(skipHydrateSymbol);\n}\nconst { assign } = Object;\nfunction isComputed(o) {\n return !!(isRef(o) && o.effect);\n}\nfunction createOptionsStore(id, options, pinia, hot) {\n const { state, actions, getters } = options;\n const initialState = pinia.state.value[id];\n let store;\n function setup() {\n if (!initialState && (!(process.env.NODE_ENV !== 'production') || !hot)) {\n /* istanbul ignore if */\n if (isVue2) {\n set(pinia.state.value, id, state ? state() : {});\n }\n else {\n pinia.state.value[id] = state ? state() : {};\n }\n }\n // avoid creating a state in pinia.state.value\n const localState = (process.env.NODE_ENV !== 'production') && hot\n ? // use ref() to unwrap refs inside state TODO: check if this is still necessary\n toRefs(ref(state ? state() : {}).value)\n : toRefs(pinia.state.value[id]);\n return assign(localState, actions, Object.keys(getters || {}).reduce((computedGetters, name) => {\n if ((process.env.NODE_ENV !== 'production') && name in localState) {\n console.warn(`[🍍]: A getter cannot have the same name as another state property. Rename one of them. Found with \"${name}\" in store \"${id}\".`);\n }\n computedGetters[name] = markRaw(computed(() => {\n setActivePinia(pinia);\n // it was created just before\n const store = pinia._s.get(id);\n // allow cross using stores\n /* istanbul ignore if */\n if (isVue2 && !store._r)\n return;\n // @ts-expect-error\n // return getters![name].call(context, context)\n // TODO: avoid reading the getter while assigning with a global variable\n return getters[name].call(store, store);\n }));\n return computedGetters;\n }, {}));\n }\n store = createSetupStore(id, setup, options, pinia, hot, true);\n return store;\n}\nfunction createSetupStore($id, setup, options = {}, pinia, hot, isOptionsStore) {\n let scope;\n const optionsForPlugin = assign({ actions: {} }, options);\n /* istanbul ignore if */\n if ((process.env.NODE_ENV !== 'production') && !pinia._e.active) {\n throw new Error('Pinia destroyed');\n }\n // watcher options for $subscribe\n const $subscribeOptions = { deep: true };\n /* istanbul ignore else */\n if ((process.env.NODE_ENV !== 'production') && !isVue2) {\n $subscribeOptions.onTrigger = (event) => {\n /* istanbul ignore else */\n if (isListening) {\n debuggerEvents = event;\n // avoid triggering this while the store is being built and the state is being set in pinia\n }\n else if (isListening == false && !store._hotUpdating) {\n // let patch send all the events together later\n /* istanbul ignore else */\n if (Array.isArray(debuggerEvents)) {\n debuggerEvents.push(event);\n }\n else {\n console.error('🍍 debuggerEvents should be an array. This is most likely an internal Pinia bug.');\n }\n }\n };\n }\n // internal state\n let isListening; // set to true at the end\n let isSyncListening; // set to true at the end\n let subscriptions = [];\n let actionSubscriptions = [];\n let debuggerEvents;\n const initialState = pinia.state.value[$id];\n // avoid setting the state for option stores if it is set\n // by the setup\n if (!isOptionsStore && !initialState && (!(process.env.NODE_ENV !== 'production') || !hot)) {\n /* istanbul ignore if */\n if (isVue2) {\n set(pinia.state.value, $id, {});\n }\n else {\n pinia.state.value[$id] = {};\n }\n }\n const hotState = ref({});\n // avoid triggering too many listeners\n // https://github.com/vuejs/pinia/issues/1129\n let activeListener;\n function $patch(partialStateOrMutator) {\n let subscriptionMutation;\n isListening = isSyncListening = false;\n // reset the debugger events since patches are sync\n /* istanbul ignore else */\n if ((process.env.NODE_ENV !== 'production')) {\n debuggerEvents = [];\n }\n if (typeof partialStateOrMutator === 'function') {\n partialStateOrMutator(pinia.state.value[$id]);\n subscriptionMutation = {\n type: MutationType.patchFunction,\n storeId: $id,\n events: debuggerEvents,\n };\n }\n else {\n mergeReactiveObjects(pinia.state.value[$id], partialStateOrMutator);\n subscriptionMutation = {\n type: MutationType.patchObject,\n payload: partialStateOrMutator,\n storeId: $id,\n events: debuggerEvents,\n };\n }\n const myListenerId = (activeListener = Symbol());\n nextTick().then(() => {\n if (activeListener === myListenerId) {\n isListening = true;\n }\n });\n isSyncListening = true;\n // because we paused the watcher, we need to manually call the subscriptions\n triggerSubscriptions(subscriptions, subscriptionMutation, pinia.state.value[$id]);\n }\n const $reset = isOptionsStore\n ? function $reset() {\n const { state } = options;\n const newState = state ? state() : {};\n // we use a patch to group all changes into one single subscription\n this.$patch(($state) => {\n // @ts-expect-error: FIXME: shouldn't error?\n assign($state, newState);\n });\n }\n : /* istanbul ignore next */\n (process.env.NODE_ENV !== 'production')\n ? () => {\n throw new Error(`🍍: Store \"${$id}\" is built using the setup syntax and does not implement $reset().`);\n }\n : noop;\n function $dispose() {\n scope.stop();\n subscriptions = [];\n actionSubscriptions = [];\n pinia._s.delete($id);\n }\n /**\n * Helper that wraps function so it can be tracked with $onAction\n * @param fn - action to wrap\n * @param name - name of the action\n */\n const action = (fn, name = '') => {\n if (ACTION_MARKER in fn) {\n fn[ACTION_NAME] = name;\n return fn;\n }\n const wrappedAction = function () {\n setActivePinia(pinia);\n const args = Array.from(arguments);\n const afterCallbackList = [];\n const onErrorCallbackList = [];\n function after(callback) {\n afterCallbackList.push(callback);\n }\n function onError(callback) {\n onErrorCallbackList.push(callback);\n }\n // @ts-expect-error\n triggerSubscriptions(actionSubscriptions, {\n args,\n name: wrappedAction[ACTION_NAME],\n store,\n after,\n onError,\n });\n let ret;\n try {\n ret = fn.apply(this && this.$id === $id ? this : store, args);\n // handle sync errors\n }\n catch (error) {\n triggerSubscriptions(onErrorCallbackList, error);\n throw error;\n }\n if (ret instanceof Promise) {\n return ret\n .then((value) => {\n triggerSubscriptions(afterCallbackList, value);\n return value;\n })\n .catch((error) => {\n triggerSubscriptions(onErrorCallbackList, error);\n return Promise.reject(error);\n });\n }\n // trigger after callbacks\n triggerSubscriptions(afterCallbackList, ret);\n return ret;\n };\n wrappedAction[ACTION_MARKER] = true;\n wrappedAction[ACTION_NAME] = name; // will be set later\n // @ts-expect-error: we are intentionally limiting the returned type to just Fn\n // because all the added properties are internals that are exposed through `$onAction()` only\n return wrappedAction;\n };\n const _hmrPayload = /*#__PURE__*/ markRaw({\n actions: {},\n getters: {},\n state: [],\n hotState,\n });\n const partialStore = {\n _p: pinia,\n // _s: scope,\n $id,\n $onAction: addSubscription.bind(null, actionSubscriptions),\n $patch,\n $reset,\n $subscribe(callback, options = {}) {\n const removeSubscription = addSubscription(subscriptions, callback, options.detached, () => stopWatcher());\n const stopWatcher = scope.run(() => watch(() => pinia.state.value[$id], (state) => {\n if (options.flush === 'sync' ? isSyncListening : isListening) {\n callback({\n storeId: $id,\n type: MutationType.direct,\n events: debuggerEvents,\n }, state);\n }\n }, assign({}, $subscribeOptions, options)));\n return removeSubscription;\n },\n $dispose,\n };\n /* istanbul ignore if */\n if (isVue2) {\n // start as non ready\n partialStore._r = false;\n }\n const store = reactive((process.env.NODE_ENV !== 'production') || ((((process.env.NODE_ENV !== 'production') || (typeof __VUE_PROD_DEVTOOLS__ !== 'undefined' && __VUE_PROD_DEVTOOLS__)) && !(process.env.NODE_ENV === 'test')) && IS_CLIENT)\n ? assign({\n _hmrPayload,\n _customProperties: markRaw(new Set()), // devtools custom properties\n }, partialStore\n // must be added later\n // setupStore\n )\n : partialStore);\n // store the partial store now so the setup of stores can instantiate each other before they are finished without\n // creating infinite loops.\n pinia._s.set($id, store);\n const runWithContext = (pinia._a && pinia._a.runWithContext) || fallbackRunWithContext;\n // TODO: idea create skipSerialize that marks properties as non serializable and they are skipped\n const setupStore = runWithContext(() => pinia._e.run(() => (scope = effectScope()).run(() => setup({ action }))));\n // overwrite existing actions to support $onAction\n for (const key in setupStore) {\n const prop = setupStore[key];\n if ((isRef(prop) && !isComputed(prop)) || isReactive(prop)) {\n // mark it as a piece of state to be serialized\n if ((process.env.NODE_ENV !== 'production') && hot) {\n set(hotState.value, key, toRef(setupStore, key));\n // createOptionStore directly sets the state in pinia.state.value so we\n // can just skip that\n }\n else if (!isOptionsStore) {\n // in setup stores we must hydrate the state and sync pinia state tree with the refs the user just created\n if (initialState && shouldHydrate(prop)) {\n if (isRef(prop)) {\n prop.value = initialState[key];\n }\n else {\n // probably a reactive object, lets recursively assign\n // @ts-expect-error: prop is unknown\n mergeReactiveObjects(prop, initialState[key]);\n }\n }\n // transfer the ref to the pinia state to keep everything in sync\n /* istanbul ignore if */\n if (isVue2) {\n set(pinia.state.value[$id], key, prop);\n }\n else {\n pinia.state.value[$id][key] = prop;\n }\n }\n /* istanbul ignore else */\n if ((process.env.NODE_ENV !== 'production')) {\n _hmrPayload.state.push(key);\n }\n // action\n }\n else if (typeof prop === 'function') {\n const actionValue = (process.env.NODE_ENV !== 'production') && hot ? prop : action(prop, key);\n // this a hot module replacement store because the hotUpdate method needs\n // to do it with the right context\n /* istanbul ignore if */\n if (isVue2) {\n set(setupStore, key, actionValue);\n }\n else {\n // @ts-expect-error\n setupStore[key] = actionValue;\n }\n /* istanbul ignore else */\n if ((process.env.NODE_ENV !== 'production')) {\n _hmrPayload.actions[key] = prop;\n }\n // list actions so they can be used in plugins\n // @ts-expect-error\n optionsForPlugin.actions[key] = prop;\n }\n else if ((process.env.NODE_ENV !== 'production')) {\n // add getters for devtools\n if (isComputed(prop)) {\n _hmrPayload.getters[key] = isOptionsStore\n ? // @ts-expect-error\n options.getters[key]\n : prop;\n if (IS_CLIENT) {\n const getters = setupStore._getters ||\n // @ts-expect-error: same\n (setupStore._getters = markRaw([]));\n getters.push(key);\n }\n }\n }\n }\n // add the state, getters, and action properties\n /* istanbul ignore if */\n if (isVue2) {\n Object.keys(setupStore).forEach((key) => {\n set(store, key, setupStore[key]);\n });\n }\n else {\n assign(store, setupStore);\n // allows retrieving reactive objects with `storeToRefs()`. Must be called after assigning to the reactive object.\n // Make `storeToRefs()` work with `reactive()` #799\n assign(toRaw(store), setupStore);\n }\n // use this instead of a computed with setter to be able to create it anywhere\n // without linking the computed lifespan to wherever the store is first\n // created.\n Object.defineProperty(store, '$state', {\n get: () => ((process.env.NODE_ENV !== 'production') && hot ? hotState.value : pinia.state.value[$id]),\n set: (state) => {\n /* istanbul ignore if */\n if ((process.env.NODE_ENV !== 'production') && hot) {\n throw new Error('cannot set hotState');\n }\n $patch(($state) => {\n // @ts-expect-error: FIXME: shouldn't error?\n assign($state, state);\n });\n },\n });\n // add the hotUpdate before plugins to allow them to override it\n /* istanbul ignore else */\n if ((process.env.NODE_ENV !== 'production')) {\n store._hotUpdate = markRaw((newStore) => {\n store._hotUpdating = true;\n newStore._hmrPayload.state.forEach((stateKey) => {\n if (stateKey in store.$state) {\n const newStateTarget = newStore.$state[stateKey];\n const oldStateSource = store.$state[stateKey];\n if (typeof newStateTarget === 'object' &&\n isPlainObject(newStateTarget) &&\n isPlainObject(oldStateSource)) {\n patchObject(newStateTarget, oldStateSource);\n }\n else {\n // transfer the ref\n newStore.$state[stateKey] = oldStateSource;\n }\n }\n // patch direct access properties to allow store.stateProperty to work as\n // store.$state.stateProperty\n set(store, stateKey, toRef(newStore.$state, stateKey));\n });\n // remove deleted state properties\n Object.keys(store.$state).forEach((stateKey) => {\n if (!(stateKey in newStore.$state)) {\n del(store, stateKey);\n }\n });\n // avoid devtools logging this as a mutation\n isListening = false;\n isSyncListening = false;\n pinia.state.value[$id] = toRef(newStore._hmrPayload, 'hotState');\n isSyncListening = true;\n nextTick().then(() => {\n isListening = true;\n });\n for (const actionName in newStore._hmrPayload.actions) {\n const actionFn = newStore[actionName];\n set(store, actionName, action(actionFn, actionName));\n }\n // TODO: does this work in both setup and option store?\n for (const getterName in newStore._hmrPayload.getters) {\n const getter = newStore._hmrPayload.getters[getterName];\n const getterValue = isOptionsStore\n ? // special handling of options api\n computed(() => {\n setActivePinia(pinia);\n return getter.call(store, store);\n })\n : getter;\n set(store, getterName, getterValue);\n }\n // remove deleted getters\n Object.keys(store._hmrPayload.getters).forEach((key) => {\n if (!(key in newStore._hmrPayload.getters)) {\n del(store, key);\n }\n });\n // remove old actions\n Object.keys(store._hmrPayload.actions).forEach((key) => {\n if (!(key in newStore._hmrPayload.actions)) {\n del(store, key);\n }\n });\n // update the values used in devtools and to allow deleting new properties later on\n store._hmrPayload = newStore._hmrPayload;\n store._getters = newStore._getters;\n store._hotUpdating = false;\n });\n }\n if ((((process.env.NODE_ENV !== 'production') || (typeof __VUE_PROD_DEVTOOLS__ !== 'undefined' && __VUE_PROD_DEVTOOLS__)) && !(process.env.NODE_ENV === 'test')) && IS_CLIENT) {\n const nonEnumerable = {\n writable: true,\n configurable: true,\n // avoid warning on devtools trying to display this property\n enumerable: false,\n };\n ['_p', '_hmrPayload', '_getters', '_customProperties'].forEach((p) => {\n Object.defineProperty(store, p, assign({ value: store[p] }, nonEnumerable));\n });\n }\n /* istanbul ignore if */\n if (isVue2) {\n // mark the store as ready before plugins\n store._r = true;\n }\n // apply all plugins\n pinia._p.forEach((extender) => {\n /* istanbul ignore else */\n if ((((process.env.NODE_ENV !== 'production') || (typeof __VUE_PROD_DEVTOOLS__ !== 'undefined' && __VUE_PROD_DEVTOOLS__)) && !(process.env.NODE_ENV === 'test')) && IS_CLIENT) {\n const extensions = scope.run(() => extender({\n store: store,\n app: pinia._a,\n pinia,\n options: optionsForPlugin,\n }));\n Object.keys(extensions || {}).forEach((key) => store._customProperties.add(key));\n assign(store, extensions);\n }\n else {\n assign(store, scope.run(() => extender({\n store: store,\n app: pinia._a,\n pinia,\n options: optionsForPlugin,\n })));\n }\n });\n if ((process.env.NODE_ENV !== 'production') &&\n store.$state &&\n typeof store.$state === 'object' &&\n typeof store.$state.constructor === 'function' &&\n !store.$state.constructor.toString().includes('[native code]')) {\n console.warn(`[🍍]: The \"state\" must be a plain object. It cannot be\\n` +\n `\\tstate: () => new MyClass()\\n` +\n `Found in store \"${store.$id}\".`);\n }\n // only apply hydrate to option stores with an initial state in pinia\n if (initialState &&\n isOptionsStore &&\n options.hydrate) {\n options.hydrate(store.$state, initialState);\n }\n isListening = true;\n isSyncListening = true;\n return store;\n}\n// allows unused stores to be tree shaken\n/*! #__NO_SIDE_EFFECTS__ */\nfunction defineStore(\n// TODO: add proper types from above\nidOrOptions, setup, setupOptions) {\n let id;\n let options;\n const isSetupStore = typeof setup === 'function';\n if (typeof idOrOptions === 'string') {\n id = idOrOptions;\n // the option store setup will contain the actual options in this case\n options = isSetupStore ? setupOptions : setup;\n }\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(pinia, hot) {\n const hasContext = hasInjectionContext();\n pinia =\n // in test mode, ignore the argument provided as we can always retrieve a\n // pinia instance with getActivePinia()\n ((process.env.NODE_ENV === 'test') && activePinia && activePinia._testing ? null : pinia) ||\n (hasContext ? inject(piniaSymbol, null) : null);\n if (pinia)\n setActivePinia(pinia);\n if ((process.env.NODE_ENV !== 'production') && !activePinia) {\n throw new Error(`[🍍]: \"getActivePinia()\" was called but there was no active Pinia. Are you trying to use a store before calling \"app.use(pinia)\"?\\n` +\n `See https://pinia.vuejs.org/core-concepts/outside-component-usage.html for help.\\n` +\n `This will fail in production.`);\n }\n pinia = activePinia;\n if (!pinia._s.has(id)) {\n // creating the store registers it in `pinia._s`\n if (isSetupStore) {\n createSetupStore(id, setup, options, pinia);\n }\n else {\n createOptionsStore(id, options, pinia);\n }\n /* istanbul ignore else */\n if ((process.env.NODE_ENV !== 'production')) {\n // @ts-expect-error: not the right inferred type\n useStore._pinia = pinia;\n }\n }\n const store = pinia._s.get(id);\n if ((process.env.NODE_ENV !== 'production') && hot) {\n const hotId = '__hot:' + id;\n const newStore = isSetupStore\n ? createSetupStore(hotId, setup, options, pinia, true)\n : createOptionsStore(hotId, assign({}, options), pinia, true);\n hot._hotUpdate(newStore);\n // cleanup the state properties and the store from the cache\n delete pinia.state.value[hotId];\n pinia._s.delete(hotId);\n }\n if ((process.env.NODE_ENV !== 'production') && IS_CLIENT) {\n const currentInstance = getCurrentInstance();\n // save stores in instances to access them devtools\n if (currentInstance &&\n currentInstance.proxy &&\n // avoid adding stores that are just built for hot module replacement\n !hot) {\n const vm = currentInstance.proxy;\n const cache = '_pStores' in vm ? vm._pStores : (vm._pStores = {});\n cache[id] = store;\n }\n }\n // StoreGeneric cannot be casted towards Store\n return store;\n }\n useStore.$id = id;\n return useStore;\n}\n\nlet mapStoreSuffix = 'Store';\n/**\n * Changes the suffix added by `mapStores()`. Can be set to an empty string.\n * Defaults to `\"Store\"`. Make sure to extend the MapStoresCustomization\n * interface if you are using TypeScript.\n *\n * @param suffix - new suffix\n */\nfunction setMapStoreSuffix(suffix // could be 'Store' but that would be annoying for JS\n) {\n mapStoreSuffix = suffix;\n}\n/**\n * Allows using stores without the composition API (`setup()`) by generating an\n * object to be spread in the `computed` field of a component. It accepts a list\n * of store definitions.\n *\n * @example\n * ```js\n * export default {\n * computed: {\n * // other computed properties\n * ...mapStores(useUserStore, useCartStore)\n * },\n *\n * created() {\n * this.userStore // store with id \"user\"\n * this.cartStore // store with id \"cart\"\n * }\n * }\n * ```\n *\n * @param stores - list of stores to map to an object\n */\nfunction mapStores(...stores) {\n if ((process.env.NODE_ENV !== 'production') && Array.isArray(stores[0])) {\n console.warn(`[🍍]: Directly pass all stores to \"mapStores()\" without putting them in an array:\\n` +\n `Replace\\n` +\n `\\tmapStores([useAuthStore, useCartStore])\\n` +\n `with\\n` +\n `\\tmapStores(useAuthStore, useCartStore)\\n` +\n `This will fail in production if not fixed.`);\n stores = stores[0];\n }\n return stores.reduce((reduced, useStore) => {\n // @ts-expect-error: $id is added by defineStore\n reduced[useStore.$id + mapStoreSuffix] = function () {\n return useStore(this.$pinia);\n };\n return reduced;\n }, {});\n}\n/**\n * Allows using state and getters from one store without using the composition\n * API (`setup()`) by generating an object to be spread in the `computed` field\n * of a component.\n *\n * @param useStore - store to map from\n * @param keysOrMapper - array or object\n */\nfunction mapState(useStore, keysOrMapper) {\n return Array.isArray(keysOrMapper)\n ? keysOrMapper.reduce((reduced, key) => {\n reduced[key] = function () {\n // @ts-expect-error: FIXME: should work?\n return useStore(this.$pinia)[key];\n };\n return reduced;\n }, {})\n : Object.keys(keysOrMapper).reduce((reduced, key) => {\n // @ts-expect-error\n reduced[key] = function () {\n const store = useStore(this.$pinia);\n const storeKey = keysOrMapper[key];\n // for some reason TS is unable to infer the type of storeKey to be a\n // function\n return typeof storeKey === 'function'\n ? storeKey.call(this, store)\n : // @ts-expect-error: FIXME: should work?\n store[storeKey];\n };\n return reduced;\n }, {});\n}\n/**\n * Alias for `mapState()`. You should use `mapState()` instead.\n * @deprecated use `mapState()` instead.\n */\nconst mapGetters = mapState;\n/**\n * Allows directly using actions from your store without using the composition\n * API (`setup()`) by generating an object to be spread in the `methods` field\n * of a component.\n *\n * @param useStore - store to map from\n * @param keysOrMapper - array or object\n */\nfunction mapActions(useStore, keysOrMapper) {\n return Array.isArray(keysOrMapper)\n ? keysOrMapper.reduce((reduced, key) => {\n // @ts-expect-error\n reduced[key] = function (...args) {\n // @ts-expect-error: FIXME: should work?\n return useStore(this.$pinia)[key](...args);\n };\n return reduced;\n }, {})\n : Object.keys(keysOrMapper).reduce((reduced, key) => {\n // @ts-expect-error\n reduced[key] = function (...args) {\n // @ts-expect-error: FIXME: should work?\n return useStore(this.$pinia)[keysOrMapper[key]](...args);\n };\n return reduced;\n }, {});\n}\n/**\n * Allows using state and getters from one store without using the composition\n * API (`setup()`) by generating an object to be spread in the `computed` field\n * of a component.\n *\n * @param useStore - store to map from\n * @param keysOrMapper - array or object\n */\nfunction mapWritableState(useStore, keysOrMapper) {\n return Array.isArray(keysOrMapper)\n ? keysOrMapper.reduce((reduced, key) => {\n reduced[key] = {\n get() {\n return useStore(this.$pinia)[key];\n },\n set(value) {\n return (useStore(this.$pinia)[key] = value);\n },\n };\n return reduced;\n }, {})\n : Object.keys(keysOrMapper).reduce((reduced, key) => {\n reduced[key] = {\n get() {\n return useStore(this.$pinia)[keysOrMapper[key]];\n },\n set(value) {\n return (useStore(this.$pinia)[keysOrMapper[key]] = value);\n },\n };\n return reduced;\n }, {});\n}\n\n/**\n * Creates an object of references with all the state, getters, and plugin-added\n * state properties of the store. Similar to `toRefs()` but specifically\n * designed for Pinia stores so methods and non reactive properties are\n * completely ignored.\n *\n * @param store - store to extract the refs from\n */\nfunction storeToRefs(store) {\n // See https://github.com/vuejs/pinia/issues/852\n // It's easier to just use toRefs() even if it includes more stuff\n if (isVue2) {\n // @ts-expect-error: toRefs include methods and others\n return toRefs(store);\n }\n else {\n const rawStore = toRaw(store);\n const refs = {};\n for (const key in rawStore) {\n const value = rawStore[key];\n // There is no native method to check for a computed\n // https://github.com/vuejs/core/pull/4165\n if (value.effect) {\n // @ts-expect-error: too hard to type correctly\n refs[key] =\n // ...\n computed({\n get: () => store[key],\n set(value) {\n store[key] = value;\n },\n });\n }\n else if (isRef(value) || isReactive(value)) {\n // @ts-expect-error: the key is state or getter\n refs[key] =\n // ---\n toRef(store, key);\n }\n }\n return refs;\n }\n}\n\n/**\n * Vue 2 Plugin that must be installed for pinia to work. Note **you don't need\n * this plugin if you are using Nuxt.js**. Use the `buildModule` instead:\n * https://pinia.vuejs.org/ssr/nuxt.html.\n *\n * @example\n * ```js\n * import Vue from 'vue'\n * import { PiniaVuePlugin, createPinia } from 'pinia'\n *\n * Vue.use(PiniaVuePlugin)\n * const pinia = createPinia()\n *\n * new Vue({\n * el: '#app',\n * // ...\n * pinia,\n * })\n * ```\n *\n * @param _Vue - `Vue` imported from 'vue'.\n */\nconst PiniaVuePlugin = function (_Vue) {\n // Equivalent of\n // app.config.globalProperties.$pinia = pinia\n _Vue.mixin({\n beforeCreate() {\n const options = this.$options;\n if (options.pinia) {\n const pinia = options.pinia;\n // HACK: taken from provide(): https://github.com/vuejs/composition-api/blob/main/src/apis/inject.ts#L31\n /* istanbul ignore else */\n if (!this._provided) {\n const provideCache = {};\n Object.defineProperty(this, '_provided', {\n get: () => provideCache,\n set: (v) => Object.assign(provideCache, v),\n });\n }\n this._provided[piniaSymbol] = pinia;\n // propagate the pinia instance in an SSR friendly way\n // avoid adding it to nuxt twice\n /* istanbul ignore else */\n if (!this.$pinia) {\n this.$pinia = pinia;\n }\n pinia._a = this;\n if (IS_CLIENT) {\n // this allows calling useStore() outside of a component setup after\n // installing pinia's plugin\n setActivePinia(pinia);\n }\n if ((((process.env.NODE_ENV !== 'production') || (typeof __VUE_PROD_DEVTOOLS__ !== 'undefined' && __VUE_PROD_DEVTOOLS__)) && !(process.env.NODE_ENV === 'test')) && IS_CLIENT) {\n registerPiniaDevtools(pinia._a, pinia);\n }\n }\n else if (!this.$pinia && options.parent && options.parent.$pinia) {\n this.$pinia = options.parent.$pinia;\n }\n },\n destroyed() {\n delete this._pStores;\n },\n });\n};\n\nexport { MutationType, PiniaVuePlugin, acceptHMRUpdate, createPinia, defineStore, disposePinia, getActivePinia, mapActions, mapGetters, mapState, mapStores, mapWritableState, setActivePinia, setMapStoreSuffix, shouldHydrate, skipHydrate, storeToRefs };\n","import { onMounted as G, ref as x, watch as R, onBeforeUnmount as Ge, computed as k, unref as b, getCurrentScope as Re, onScopeDispose as Oe, getCurrentInstance as ue, nextTick as Le, toRef as Je, readonly as Qe, customRef as Ze, defineComponent as N, useTemplateRef as J, openBlock as C, createElementBlock as S, normalizeStyle as z, normalizeClass as F, createBlock as _, resolveDynamicComponent as Pe, mergeProps as de, toDisplayString as Y, Fragment as te, createElementVNode as B, renderSlot as O, createCommentVNode as U, withDirectives as se, vShow as We, renderList as ae, createTextVNode as Ke, createVNode as xe, withCtx as Ee } from \"vue\";\nimport { defineStore as _e } from \"pinia\";\nimport './assets/index.css';function De(e) {\n return Re() ? (Oe(e), !0) : !1;\n}\nfunction fe(e) {\n return typeof e == \"function\" ? e() : b(e);\n}\nconst et = typeof window < \"u\" && typeof document < \"u\";\ntypeof WorkerGlobalScope < \"u\" && globalThis instanceof WorkerGlobalScope;\nconst tt = (e) => e != null, nt = Object.prototype.toString, ot = (e) => nt.call(e) === \"[object Object]\", lt = () => {\n}, Q = et ? window : void 0;\nfunction X(e) {\n var t;\n const n = fe(e);\n return (t = n == null ? void 0 : n.$el) != null ? t : n;\n}\nfunction q(...e) {\n let t, n, o, a;\n if (typeof e[0] == \"string\" || Array.isArray(e[0]) ? ([n, o, a] = e, t = Q) : [t, n, o, a] = e, !t)\n return lt;\n Array.isArray(n) || (n = [n]), Array.isArray(o) || (o = [o]);\n const i = [], l = () => {\n i.forEach((c) => c()), i.length = 0;\n }, r = (c, u, f, m) => (c.addEventListener(u, f, m), () => c.removeEventListener(u, f, m)), d = R(\n () => [X(t), fe(a)],\n ([c, u]) => {\n if (l(), !c)\n return;\n const f = ot(u) ? { ...u } : u;\n i.push(\n ...n.flatMap((m) => o.map((g) => r(c, m, g, f)))\n );\n },\n { immediate: !0, flush: \"post\" }\n ), s = () => {\n d(), l();\n };\n return De(s), s;\n}\nfunction rt() {\n const e = x(!1), t = ue();\n return t && G(() => {\n e.value = !0;\n }, t), e;\n}\nfunction st(e) {\n const t = rt();\n return k(() => (t.value, !!e()));\n}\nfunction at(e, t, n = {}) {\n const { window: o = Q, ...a } = n;\n let i;\n const l = st(() => o && \"MutationObserver\" in o), r = () => {\n i && (i.disconnect(), i = void 0);\n }, d = k(() => {\n const f = fe(e), m = (Array.isArray(f) ? f : [f]).map(X).filter(tt);\n return new Set(m);\n }), s = R(\n () => d.value,\n (f) => {\n r(), l.value && f.size && (i = new MutationObserver(t), f.forEach((m) => i.observe(m, a)));\n },\n { immediate: !0, flush: \"post\" }\n ), c = () => i == null ? void 0 : i.takeRecords(), u = () => {\n s(), r();\n };\n return De(u), {\n isSupported: l,\n stop: u,\n takeRecords: c\n };\n}\nfunction it(e = {}) {\n var t;\n const {\n window: n = Q,\n deep: o = !0,\n triggerOnRemoval: a = !1\n } = e, i = (t = e.document) != null ? t : n == null ? void 0 : n.document, l = () => {\n var s;\n let c = i == null ? void 0 : i.activeElement;\n if (o)\n for (; c != null && c.shadowRoot; )\n c = (s = c == null ? void 0 : c.shadowRoot) == null ? void 0 : s.activeElement;\n return c;\n }, r = x(), d = () => {\n r.value = l();\n };\n return n && (q(n, \"blur\", (s) => {\n s.relatedTarget === null && d();\n }, !0), q(n, \"focus\", d, !0)), a && at(i, (s) => {\n s.filter((c) => c.removedNodes.length).map((c) => Array.from(c.removedNodes)).flat().forEach((c) => {\n c === r.value && d();\n });\n }, {\n childList: !0,\n subtree: !0\n }), d(), r;\n}\nconst ct = \"focusin\", ut = \"focusout\";\nfunction dt(e, t = {}) {\n const { window: n = Q } = t, o = k(() => X(e)), a = x(!1), i = k(() => a.value), l = it(t);\n return !n || !l.value ? { focused: i } : (q(o, ct, () => a.value = !0), q(o, ut, () => a.value = !1), { focused: i });\n}\nfunction ft(e, { window: t = Q, scrollTarget: n } = {}) {\n const o = x(!1), a = () => {\n if (!t) return;\n const i = t.document, l = X(e);\n if (!l)\n o.value = !1;\n else {\n const r = l.getBoundingClientRect();\n o.value = r.top <= (t.innerHeight || i.documentElement.clientHeight) && r.left <= (t.innerWidth || i.documentElement.clientWidth) && r.bottom >= 0 && r.right >= 0;\n }\n };\n return R(\n () => X(e),\n () => a(),\n { immediate: !0, flush: \"post\" }\n ), t && q(n || t, \"scroll\", a, {\n capture: !1,\n passive: !0\n }), o;\n}\nconst L = (e) => {\n let t = ft(e).value;\n return t = t && e.offsetHeight > 0, t;\n}, P = (e) => e.tabIndex >= 0, Ce = (e) => {\n const t = e.target;\n return me(t);\n}, me = (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 a = Array.from(o.children)[e.cellIndex];\n a && (n = a);\n }\n } else if (e instanceof HTMLTableRowElement) {\n const o = e.previousElementSibling;\n o && (n = o);\n }\n return n && (!P(n) || !L(n)) ? me(n) : n;\n}, mt = (e) => {\n var t;\n const n = e.target;\n let o;\n if (n instanceof HTMLTableCellElement) {\n const a = (t = n.parentElement) == null ? void 0 : t.parentElement;\n if (a) {\n const i = a.firstElementChild, l = i == null ? void 0 : i.children[n.cellIndex];\n l && (o = l);\n }\n } else if (n instanceof HTMLTableRowElement) {\n const a = n.parentElement;\n if (a) {\n const i = a.firstElementChild;\n i && (o = i);\n }\n }\n return o && (!P(o) || !L(o)) ? ve(o) : o;\n}, ke = (e) => {\n const t = e.target;\n return ve(t);\n}, ve = (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 a = Array.from(o.children)[e.cellIndex];\n a && (n = a);\n }\n } else if (e instanceof HTMLTableRowElement) {\n const o = e.nextElementSibling;\n o && (n = o);\n }\n return n && (!P(n) || !L(n)) ? ve(n) : n;\n}, vt = (e) => {\n var t;\n const n = e.target;\n let o;\n if (n instanceof HTMLTableCellElement) {\n const a = (t = n.parentElement) == null ? void 0 : t.parentElement;\n if (a) {\n const i = a.lastElementChild, l = i == null ? void 0 : i.children[n.cellIndex];\n l && (o = l);\n }\n } else if (n instanceof HTMLTableRowElement) {\n const a = n.parentElement;\n if (a) {\n const i = a.lastElementChild;\n i && (o = i);\n }\n }\n return o && (!P(o) || !L(o)) ? me(o) : o;\n}, Ae = (e) => {\n const t = e.target;\n return pe(t);\n}, pe = (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 && (!P(n) || !L(n)) ? pe(n) : n;\n}, Ie = (e) => {\n const t = e.target;\n return he(t);\n}, he = (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 && (!P(n) || !L(n)) ? he(n) : n;\n}, Se = (e) => {\n const t = e.target.parentElement, n = t == null ? void 0 : t.firstElementChild;\n return n && (!P(n) || !L(n)) ? he(n) : n;\n}, Te = (e) => {\n const t = e.target.parentElement, n = t == null ? void 0 : t.lastElementChild;\n return n && (!P(n) || !L(n)) ? pe(n) : n;\n}, K = [\"alt\", \"control\", \"shift\", \"meta\"], pt = {\n ArrowUp: \"up\",\n ArrowDown: \"down\",\n ArrowLeft: \"left\",\n ArrowRight: \"right\"\n}, we = {\n \"keydown.up\": (e) => {\n const t = Ce(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.down\": (e) => {\n const t = ke(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.left\": (e) => {\n const t = Ae(e);\n e.preventDefault(), e.stopPropagation(), t && t.focus();\n },\n \"keydown.right\": (e) => {\n const t = Ie(e);\n e.preventDefault(), e.stopPropagation(), t && t.focus();\n },\n \"keydown.control.up\": (e) => {\n const t = mt(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.control.down\": (e) => {\n const t = vt(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.control.left\": (e) => {\n const t = Se(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.control.right\": (e) => {\n const t = Te(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.end\": (e) => {\n const t = Te(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 = ke(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 = Ce(e);\n t && t.focus();\n }\n },\n \"keydown.home\": (e) => {\n const t = Se(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.tab\": (e) => {\n const t = Ie(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.shift.tab\": (e) => {\n const t = Ae(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n }\n};\nfunction ge(e) {\n const t = (l) => {\n let r = null;\n return l.parent && (typeof l.parent == \"string\" ? r = document.querySelector(l.parent) : l.parent instanceof HTMLElement ? r = l.parent : r = l.parent.value), r;\n }, n = (l) => {\n var r;\n const d = t(l);\n let s = [];\n if (typeof l.selectors == \"string\")\n s = d ? Array.from(d.querySelectorAll(l.selectors)) : Array.from(document.querySelectorAll(l.selectors));\n else if (Array.isArray(l.selectors))\n for (const c of l.selectors)\n c instanceof HTMLElement ? s.push(c) : s.push(c.$el);\n else if (l.selectors instanceof HTMLElement)\n s.push(l.selectors);\n else if ((r = l.selectors) != null && r.value)\n if (Array.isArray(l.selectors.value))\n for (const c of l.selectors.value)\n c instanceof HTMLElement ? s.push(c) : s.push(c.$el);\n else\n s.push(l.selectors.value);\n return s;\n }, o = (l) => {\n const r = t(l);\n let d = [];\n return l.selectors ? d = n(l) : r && (d = Array.from(r.children).filter((s) => P(s) && L(s))), d;\n }, a = (l) => (r) => {\n const d = pt[r.key] || r.key.toLowerCase();\n if (K.includes(d)) return;\n const s = l.handlers || we;\n for (const c of Object.keys(s)) {\n const [u, ...f] = c.split(\".\");\n if (u === \"keydown\" && f.includes(d)) {\n const m = s[c], g = f.filter((v) => K.includes(v)), p = K.some((v) => {\n const w = v.charAt(0).toUpperCase() + v.slice(1);\n return r.getModifierState(w);\n });\n if (g.length > 0) {\n if (p) {\n for (const v of K)\n if (f.includes(v)) {\n const w = v.charAt(0).toUpperCase() + v.slice(1);\n r.getModifierState(w) && m(r);\n }\n }\n } else\n p || m(r);\n }\n }\n }, i = [];\n G(() => {\n for (const l of e) {\n const r = t(l), d = o(l), s = a(l), c = r ? [r] : d;\n for (const u of c) {\n const { focused: f } = dt(x(u)), m = R(f, (g) => {\n g ? u.addEventListener(\"keydown\", s) : u.removeEventListener(\"keydown\", s);\n });\n i.push(m);\n }\n }\n }), Ge(() => {\n for (const l of i)\n l();\n });\n}\nfunction Z(e) {\n return Re() ? (Oe(e), !0) : !1;\n}\nfunction M(e) {\n return typeof e == \"function\" ? e() : b(e);\n}\nconst ye = typeof window < \"u\" && typeof document < \"u\";\ntypeof WorkerGlobalScope < \"u\" && globalThis instanceof WorkerGlobalScope;\nconst ht = (e) => e != null, wt = Object.prototype.toString, He = (e) => wt.call(e) === \"[object Object]\", D = () => {\n}, ie = /* @__PURE__ */ gt();\nfunction gt() {\n var e, t;\n return ye && ((e = window == null ? void 0 : window.navigator) == null ? void 0 : e.userAgent) && (/iP(?:ad|hone|od)/.test(window.navigator.userAgent) || ((t = window == null ? void 0 : window.navigator) == null ? void 0 : t.maxTouchPoints) > 2 && /iPad|Macintosh/.test(window == null ? void 0 : window.navigator.userAgent));\n}\nfunction yt(e) {\n return ue();\n}\nfunction bt(...e) {\n if (e.length !== 1)\n return Je(...e);\n const t = e[0];\n return typeof t == \"function\" ? Qe(Ze(() => ({ get: t, set: D }))) : x(t);\n}\nfunction xt(e, t = !0, n) {\n yt() ? G(e, n) : t ? e() : Le(e);\n}\nconst ne = ye ? window : void 0;\nfunction H(e) {\n var t;\n const n = M(e);\n return (t = n == null ? void 0 : n.$el) != null ? t : n;\n}\nfunction ce(...e) {\n let t, n, o, a;\n if (typeof e[0] == \"string\" || Array.isArray(e[0]) ? ([n, o, a] = e, t = ne) : [t, n, o, a] = e, !t)\n return D;\n Array.isArray(n) || (n = [n]), Array.isArray(o) || (o = [o]);\n const i = [], l = () => {\n i.forEach((c) => c()), i.length = 0;\n }, r = (c, u, f, m) => (c.addEventListener(u, f, m), () => c.removeEventListener(u, f, m)), d = R(\n () => [H(t), M(a)],\n ([c, u]) => {\n if (l(), !c)\n return;\n const f = He(u) ? { ...u } : u;\n i.push(\n ...n.flatMap((m) => o.map((g) => r(c, m, g, f)))\n );\n },\n { immediate: !0, flush: \"post\" }\n ), s = () => {\n d(), l();\n };\n return Z(s), s;\n}\nfunction Et() {\n const e = x(!1), t = ue();\n return t && G(() => {\n e.value = !0;\n }, t), e;\n}\nfunction Ne(e) {\n const t = Et();\n return k(() => (t.value, !!e()));\n}\nfunction Ve(e, t, n = {}) {\n const { window: o = ne, ...a } = n;\n let i;\n const l = Ne(() => o && \"MutationObserver\" in o), r = () => {\n i && (i.disconnect(), i = void 0);\n }, d = k(() => {\n const f = M(e), m = (Array.isArray(f) ? f : [f]).map(H).filter(ht);\n return new Set(m);\n }), s = R(\n () => d.value,\n (f) => {\n r(), l.value && f.size && (i = new MutationObserver(t), f.forEach((m) => i.observe(m, a)));\n },\n { immediate: !0, flush: \"post\" }\n ), c = () => i == null ? void 0 : i.takeRecords(), u = () => {\n s(), r();\n };\n return Z(u), {\n isSupported: l,\n stop: u,\n takeRecords: c\n };\n}\nfunction Ct(e, t, n = {}) {\n const { window: o = ne, ...a } = n;\n let i;\n const l = Ne(() => o && \"ResizeObserver\" in o), r = () => {\n i && (i.disconnect(), i = void 0);\n }, d = k(() => {\n const u = M(e);\n return Array.isArray(u) ? u.map((f) => H(f)) : [H(u)];\n }), s = R(\n d,\n (u) => {\n if (r(), l.value && o) {\n i = new ResizeObserver(t);\n for (const f of u)\n f && i.observe(f, a);\n }\n },\n { immediate: !0, flush: \"post\" }\n ), c = () => {\n r(), s();\n };\n return Z(c), {\n isSupported: l,\n stop: c\n };\n}\nfunction je(e, t = {}) {\n const {\n reset: n = !0,\n windowResize: o = !0,\n windowScroll: a = !0,\n immediate: i = !0,\n updateTiming: l = \"sync\"\n } = t, r = x(0), d = x(0), s = x(0), c = x(0), u = x(0), f = x(0), m = x(0), g = x(0);\n function p() {\n const w = H(e);\n if (!w) {\n n && (r.value = 0, d.value = 0, s.value = 0, c.value = 0, u.value = 0, f.value = 0, m.value = 0, g.value = 0);\n return;\n }\n const E = w.getBoundingClientRect();\n r.value = E.height, d.value = E.bottom, s.value = E.left, c.value = E.right, u.value = E.top, f.value = E.width, m.value = E.x, g.value = E.y;\n }\n function v() {\n l === \"sync\" ? p() : l === \"next-frame\" && requestAnimationFrame(() => p());\n }\n return Ct(e, v), R(() => H(e), (w) => !w && v()), Ve(e, v, {\n attributeFilter: [\"style\", \"class\"]\n }), a && ce(\"scroll\", v, { capture: !0, passive: !0 }), o && ce(\"resize\", v, { passive: !0 }), xt(() => {\n i && v();\n }), {\n height: r,\n bottom: d,\n left: s,\n right: c,\n top: u,\n width: f,\n x: m,\n y: g,\n update: v\n };\n}\nfunction kt(e = {}) {\n const { window: t = ne, behavior: n = \"auto\" } = e;\n if (!t)\n return {\n x: x(0),\n y: x(0)\n };\n const o = x(t.scrollX), a = x(t.scrollY), i = k({\n get() {\n return o.value;\n },\n set(r) {\n scrollTo({ left: r, behavior: n });\n }\n }), l = k({\n get() {\n return a.value;\n },\n set(r) {\n scrollTo({ top: r, behavior: n });\n }\n });\n return ce(\n t,\n \"scroll\",\n () => {\n o.value = t.scrollX, a.value = t.scrollY;\n },\n {\n capture: !1,\n passive: !0\n }\n ), { x: i, y: l };\n}\nconst At = (e) => {\n const t = new DOMParser().parseFromString(e, \"text/html\");\n return Array.from(t.body.childNodes).some((n) => n.nodeType === 1);\n}, It = (e = 8) => Array.from({ length: e }, () => Math.floor(Math.random() * 16).toString(16)).join(\"\"), St = [\"data-colindex\", \"data-rowindex\", \"data-editable\", \"contenteditable\", \"tabindex\"], Tt = [\"innerHTML\"], $t = { key: 2 }, Be = /* @__PURE__ */ N({\n __name: \"ACell\",\n props: {\n colIndex: {},\n rowIndex: {},\n store: {},\n addNavigation: { type: [Boolean, Object], default: !0 },\n tabIndex: { default: 0 },\n pinned: { type: Boolean }\n },\n emits: [\"cellInput\"],\n setup(e, { emit: t }) {\n const n = t, o = J(\"cell\"), a = e.store.getCellData(e.colIndex, e.rowIndex), i = x(\"\"), l = x(!1), r = e.store.columns[e.colIndex], d = e.store.rows[e.rowIndex], s = r.align || \"center\", c = r.width || \"40ch\", u = k(() => e.store.getCellDisplayValue(e.colIndex, e.rowIndex)), f = k(() => typeof u.value == \"string\" ? At(u.value) : !1), m = k(() => {\n var w;\n return {\n textAlign: s,\n width: c,\n backgroundColor: l.value ? \"var(--sc-cell-changed-color)\" : \"inherit\",\n fontWeight: l.value ? \"bold\" : \"inherit\",\n paddingLeft: e.store.getIndent(e.colIndex, (w = e.store.display[e.rowIndex]) == null ? void 0 : w.indent)\n };\n }), g = () => {\n const { left: w, bottom: E, width: W, height: oe } = je(o);\n r.mask, r.modalComponent && e.store.$patch(($) => {\n $.modal.visible = !0, $.modal.colIndex = e.colIndex, $.modal.rowIndex = e.rowIndex, $.modal.left = w, $.modal.bottom = E, $.modal.width = W, $.modal.height = oe, typeof r.modalComponent == \"function\" ? $.modal.component = r.modalComponent({ table: $.table, row: d, column: r }) : $.modal.component = r.modalComponent, $.modal.componentProps = r.modalComponentExtraProps;\n });\n };\n if (e.addNavigation) {\n let w = {\n ...we,\n \"keydown.f2\": g,\n \"keydown.alt.up\": g,\n \"keydown.alt.down\": g,\n \"keydown.alt.left\": g,\n \"keydown.alt.right\": g\n };\n typeof e.addNavigation == \"object\" && (w = {\n ...w,\n ...e.addNavigation\n }), ge([\n {\n selectors: o,\n handlers: w\n }\n ]);\n }\n const p = () => {\n o.value && (i.value = o.value.textContent);\n }, v = (w) => {\n const E = w.target;\n E.textContent !== i.value && (n(\"cellInput\", e.colIndex, e.rowIndex, E.textContent, i.value), i.value = E.textContent, r.format ? (l.value = E.textContent !== e.store.getFormattedValue(e.colIndex, e.rowIndex, a), e.store.setCellText(e.colIndex, e.rowIndex, E.textContent)) : (l.value = E.textContent !== a, e.store.setCellData(e.colIndex, e.rowIndex, E.textContent)));\n };\n return (w, E) => (C(), S(\"td\", {\n ref: \"cell\",\n \"data-colindex\": w.colIndex,\n \"data-rowindex\": w.rowIndex,\n \"data-editable\": b(r).edit,\n contenteditable: b(r).edit,\n tabindex: w.tabIndex,\n spellcheck: !1,\n style: z(m.value),\n onFocus: p,\n onPaste: v,\n onInput: v,\n onClick: g,\n class: F([\"atable-cell\", w.pinned ? \"sticky-column\" : \"\"])\n }, [\n b(r).cellComponent ? (C(), _(Pe(b(r).cellComponent), de({\n key: 0,\n value: u.value\n }, b(r).cellComponentProps), null, 16, [\"value\"])) : f.value ? (C(), S(\"span\", {\n key: 1,\n innerHTML: u.value\n }, null, 8, Tt)) : (C(), S(\"span\", $t, Y(u.value), 1))\n ], 46, St));\n }\n}), Mt = [\"tabindex\"], Rt = [\"tabindex\"], Ot = [\"colspan\"], Lt = /* @__PURE__ */ N({\n __name: \"AExpansionRow\",\n props: {\n rowIndex: {},\n store: {},\n tabIndex: { default: () => -1 },\n addNavigation: { type: [Boolean, Object] }\n },\n setup(e) {\n const t = J(\"rowEl\"), n = k(() => e.store.display[e.rowIndex].expanded ? \"▼\" : \"►\");\n if (e.addNavigation) {\n const o = {\n \"keydown.control.g\": (a) => {\n a.stopPropagation(), a.preventDefault(), e.store.toggleRowExpand(e.rowIndex);\n }\n };\n typeof e.addNavigation == \"object\" && Object.assign(o, e.addNavigation), ge([\n {\n selectors: t,\n handlers: o\n }\n ]);\n }\n return (o, a) => (C(), S(te, null, [\n B(\"tr\", de(o.$attrs, {\n ref: \"rowEl\",\n tabindex: o.tabIndex,\n class: \"expandable-row\"\n }), [\n B(\"td\", {\n tabIndex: -1,\n onClick: a[0] || (a[0] = (i) => o.store.toggleRowExpand(o.rowIndex)),\n class: \"row-index\"\n }, Y(n.value), 1),\n O(o.$slots, \"row\")\n ], 16, Mt),\n o.store.display[o.rowIndex].expanded ? (C(), S(\"tr\", {\n key: 0,\n ref: \"rowExpanded\",\n tabindex: o.tabIndex,\n class: \"expanded-row\"\n }, [\n B(\"td\", {\n tabIndex: -1,\n colspan: o.store.columns.length + 1,\n class: \"expanded-row-content\"\n }, [\n O(o.$slots, \"content\")\n ], 8, Ot)\n ], 8, Rt)) : U(\"\", !0)\n ], 64));\n }\n}), Pt = [\"tabindex\"], ze = /* @__PURE__ */ N({\n __name: \"ARow\",\n props: {\n rowIndex: {},\n store: {},\n tabIndex: { default: () => -1 },\n addNavigation: { type: [Boolean, Object], default: !1 }\n },\n setup(e) {\n const t = J(\"rowEl\"), n = k(() => e.store.isRowVisible(e.rowIndex)), o = k(() => e.store.getRowExpandSymbol(e.rowIndex));\n if (e.addNavigation) {\n let a = we;\n typeof e.addNavigation == \"object\" && (a = {\n ...a,\n ...e.addNavigation\n }), ge([\n {\n selectors: t,\n handlers: a\n }\n ]);\n }\n return (a, i) => se((C(), S(\"tr\", {\n ref: \"rowEl\",\n tabindex: a.tabIndex,\n class: \"table-row\"\n }, [\n a.store.config.view !== \"uncounted\" ? O(a.$slots, \"index\", { key: 0 }, () => [\n a.store.config.view === \"list\" ? (C(), S(\"td\", {\n key: 0,\n tabIndex: -1,\n class: F([\"list-index\", a.store.hasPinnedColumns ? \"sticky-index\" : \"\"])\n }, Y(a.rowIndex + 1), 3)) : a.store.config.view === \"tree\" ? (C(), S(\"td\", {\n key: 1,\n tabIndex: -1,\n class: F([\"tree-index\", a.store.hasPinnedColumns ? \"sticky-index\" : \"\"]),\n onClick: i[0] || (i[0] = (l) => a.store.toggleRowExpand(a.rowIndex))\n }, Y(o.value), 3)) : U(\"\", !0)\n ]) : U(\"\", !0),\n O(a.$slots, \"default\")\n ], 8, Pt)), [\n [We, n.value]\n ]);\n }\n}), Fe = ye ? window : void 0;\nfunction j(e) {\n var t;\n const n = M(e);\n return (t = n == null ? void 0 : n.$el) != null ? t : n;\n}\nfunction ee(...e) {\n let t, n, o, a;\n if (typeof e[0] == \"string\" || Array.isArray(e[0]) ? ([n, o, a] = e, t = Fe) : [t, n, o, a] = e, !t)\n return D;\n Array.isArray(n) || (n = [n]), Array.isArray(o) || (o = [o]);\n const i = [], l = () => {\n i.forEach((c) => c()), i.length = 0;\n }, r = (c, u, f, m) => (c.addEventListener(u, f, m), () => c.removeEventListener(u, f, m)), d = R(\n () => [j(t), M(a)],\n ([c, u]) => {\n if (l(), !c)\n return;\n const f = He(u) ? { ...u } : u;\n i.push(\n ...n.flatMap((m) => o.map((g) => r(c, m, g, f)))\n );\n },\n { immediate: !0, flush: \"post\" }\n ), s = () => {\n d(), l();\n };\n return Z(s), s;\n}\nlet $e = !1;\nfunction Me(e, t, n = {}) {\n const { window: o = Fe, ignore: a = [], capture: i = !0, detectIframe: l = !1 } = n;\n if (!o)\n return D;\n ie && !$e && ($e = !0, Array.from(o.document.body.children).forEach((p) => p.addEventListener(\"click\", D)), o.document.documentElement.addEventListener(\"click\", D));\n let r = !0;\n const d = (p) => M(a).some((v) => {\n if (typeof v == \"string\")\n return Array.from(o.document.querySelectorAll(v)).some((w) => w === p.target || p.composedPath().includes(w));\n {\n const w = j(v);\n return w && (p.target === w || p.composedPath().includes(w));\n }\n });\n function s(p) {\n const v = M(p);\n return v && v.$.subTree.shapeFlag === 16;\n }\n function c(p, v) {\n const w = M(p), E = w.$.subTree && w.$.subTree.children;\n return E == null || !Array.isArray(E) ? !1 : E.some((W) => W.el === v.target || v.composedPath().includes(W.el));\n }\n const u = (p) => {\n const v = j(e);\n if (p.target != null && !(!(v instanceof Element) && s(e) && c(e, p)) && !(!v || v === p.target || p.composedPath().includes(v))) {\n if (p.detail === 0 && (r = !d(p)), !r) {\n r = !0;\n return;\n }\n t(p);\n }\n };\n let f = !1;\n const m = [\n ee(o, \"click\", (p) => {\n f || (f = !0, setTimeout(() => {\n f = !1;\n }, 0), u(p));\n }, { passive: !0, capture: i }),\n ee(o, \"pointerdown\", (p) => {\n const v = j(e);\n r = !d(p) && !!(v && !p.composedPath().includes(v));\n }, { passive: !0 }),\n l && ee(o, \"blur\", (p) => {\n setTimeout(() => {\n var v;\n const w = j(e);\n ((v = o.document.activeElement) == null ? void 0 : v.tagName) === \"IFRAME\" && !(w != null && w.contains(o.document.activeElement)) && t(p);\n }, 0);\n })\n ].filter(Boolean);\n return () => m.forEach((p) => p());\n}\nconst Wt = {\n mounted(e, t) {\n const n = !t.modifiers.bubble;\n if (typeof t.value == \"function\")\n e.__onClickOutside_stop = Me(e, t.value, { capture: n });\n else {\n const [o, a] = t.value;\n e.__onClickOutside_stop = Me(e, o, Object.assign({ capture: n }, a));\n }\n },\n unmounted(e) {\n e.__onClickOutside_stop();\n }\n};\nfunction le(e) {\n return typeof Window < \"u\" && e instanceof Window ? e.document.documentElement : typeof Document < \"u\" && e instanceof Document ? e.documentElement : e;\n}\nfunction Ye(e) {\n const t = window.getComputedStyle(e);\n if (t.overflowX === \"scroll\" || t.overflowY === \"scroll\" || t.overflowX === \"auto\" && e.clientWidth < e.scrollWidth || t.overflowY === \"auto\" && e.clientHeight < e.scrollHeight)\n return !0;\n {\n const n = e.parentNode;\n return !n || n.tagName === \"BODY\" ? !1 : Ye(n);\n }\n}\nfunction Dt(e) {\n const t = e || window.event, n = t.target;\n return Ye(n) ? !1 : t.touches.length > 1 ? !0 : (t.preventDefault && t.preventDefault(), !1);\n}\nconst re = /* @__PURE__ */ new WeakMap();\nfunction Ht(e, t = !1) {\n const n = x(t);\n let o = null, a = \"\";\n R(bt(e), (r) => {\n const d = le(M(r));\n if (d) {\n const s = d;\n if (re.get(s) || re.set(s, s.style.overflow), s.style.overflow !== \"hidden\" && (a = s.style.overflow), s.style.overflow === \"hidden\")\n return n.value = !0;\n if (n.value)\n return s.style.overflow = \"hidden\";\n }\n }, {\n immediate: !0\n });\n const i = () => {\n const r = le(M(e));\n !r || n.value || (ie && (o = ee(\n r,\n \"touchmove\",\n (d) => {\n Dt(d);\n },\n { passive: !1 }\n )), r.style.overflow = \"hidden\", n.value = !0);\n }, l = () => {\n const r = le(M(e));\n !r || !n.value || (ie && (o == null || o()), r.style.overflow = a, re.delete(r), n.value = !1);\n };\n return Z(l), k({\n get() {\n return n.value;\n },\n set(r) {\n r ? i() : l();\n }\n });\n}\nfunction Nt() {\n let e = !1;\n const t = x(!1);\n return (n, o) => {\n if (t.value = o.value, e)\n return;\n e = !0;\n const a = Ht(n, o.value);\n R(t, (i) => a.value = i);\n };\n}\nNt();\nconst Vt = {\n key: 0,\n id: \"resizable\"\n}, jt = {\n class: \"atable-header-row\",\n tabindex: \"-1\"\n}, Ue = /* @__PURE__ */ N({\n __name: \"ATableHeader\",\n props: {\n columns: {},\n store: {}\n },\n setup(e) {\n return (t, n) => t.columns.length ? (C(), S(\"thead\", Vt, [\n B(\"tr\", jt, [\n t.store.zeroColumn ? (C(), S(\"th\", {\n key: 0,\n id: \"header-index\",\n class: F([[\n t.store.hasPinnedColumns ? \"sticky-index\" : \"\",\n t.store.config.view === \"tree\" ? \"tree-index\" : \"\",\n t.store.config.view === \"list-expansion\" ? \"list-expansion-index\" : \"\"\n ], \"list-index\"])\n }, null, 2)) : U(\"\", !0),\n (C(!0), S(te, null, ae(t.columns, (o, a) => (C(), S(\"th\", {\n key: o.name,\n tabindex: \"-1\",\n style: z(t.store.getHeaderCellStyle(o)),\n class: F(o.pinned ? \"sticky-column\" : \"\")\n }, [\n O(t.$slots, \"default\", {}, () => [\n Ke(Y(o.label || String.fromCharCode(a + 97).toUpperCase()), 1)\n ])\n ], 6))), 128))\n ])\n ])) : U(\"\", !0);\n }\n}), Xe = /* @__PURE__ */ N({\n __name: \"ATableModal\",\n props: {\n store: {}\n },\n setup(e) {\n const t = J(\"amodal\"), { width: n, height: o } = je(t), { y: a } = kt(), i = k(() => {\n if (!(e.store.modal.height && e.store.modal.width && e.store.modal.left && e.store.modal.bottom)) return;\n const r = document.body, d = document.documentElement, s = Math.max(\n r.scrollHeight,\n r.offsetHeight,\n d.clientHeight,\n d.scrollHeight,\n d.offsetHeight\n ), c = Math.max(r.scrollWidth, r.offsetWidth, d.clientWidth, d.scrollWidth, d.offsetWidth), u = e.store.modal.bottom + o.value + a.value <= s ? e.store.modal.bottom : e.store.modal.bottom - o.value - e.store.modal.height;\n return {\n left: `${e.store.modal.left + n.value <= c ? e.store.modal.left : e.store.modal.left - (n.value - e.store.modal.width)}px`,\n top: `${u}px`\n };\n }), l = (r) => {\n r.stopPropagation();\n };\n return (r, d) => (C(), S(\"div\", {\n class: \"amodal\",\n ref: \"amodal\",\n tabindex: \"-1\",\n onClick: l,\n onInput: l,\n style: z(i.value)\n }, [\n O(r.$slots, \"default\")\n ], 36));\n }\n}), Bt = (e) => {\n const t = e.id || It();\n return _e(`table-${t}`, () => {\n const o = () => {\n const h = {};\n for (const [y, A] of i.value.entries())\n for (const [I, T] of l.value.entries())\n h[`${y}:${I}`] = T[A.name];\n return h;\n }, a = (h) => {\n const y = [Object.assign({}, { rowModified: !1 })];\n if (h && \"0:0\" in h)\n return h;\n const A = /* @__PURE__ */ new Set();\n for (let I = l.value.length - 1; I >= 0; I--) {\n const T = l.value[I];\n T.parent && A.add(T.parent), y[I] = {\n childrenOpen: !1,\n expanded: !1,\n indent: T.indent || 0,\n isParent: A.has(I),\n isRoot: T.parent === null || T.parent === void 0,\n rowModified: !1,\n open: T.parent === null || T.parent === void 0,\n parent: T.parent\n };\n }\n return y;\n }, i = x(e.columns), l = x(e.rows), r = x(e.config || {}), d = x(e.table || o()), s = x(a(e.display)), c = x(e.modal || { visible: !1 }), u = x({}), f = k(() => i.value.some((h) => h.pinned)), m = k(() => `${Math.ceil(l.value.length / 100 + 1)}ch`), g = k(\n () => r.value.view ? [\"list\", \"tree\", \"list-expansion\"].includes(r.value.view) : !1\n ), p = (h, y) => d.value[`${h}:${y}`], v = (h, y, A) => {\n const I = `${h}:${y}`, T = i.value[h];\n d.value[I] !== A && (s.value[y].rowModified = !0), d.value[I] = A, l.value[y][T.name] = A;\n }, w = (h, y, A) => {\n const I = `${h}:${y}`;\n d.value[I] !== A && (s.value[y].rowModified = !0, u.value[I] = A);\n }, E = (h) => ({\n minWidth: h.width || \"40ch\",\n textAlign: h.align || \"center\",\n width: r.value.fullWidth ? \"auto\" : void 0\n }), W = (h) => r.value.view !== \"tree\" || s.value[h].isRoot || s.value[h].open, oe = (h) => r.value.view !== \"tree\" ? \"\" : s.value[h].isRoot || s.value[h].isParent ? s.value[h].childrenOpen ? \"-\" : \"+\" : \"\", $ = (h) => {\n if (r.value.view === \"tree\") {\n s.value[h].childrenOpen = !s.value[h].childrenOpen;\n for (let y = l.value.length - 1; y >= 0; y--)\n s.value[y].parent === h && (s.value[y].open = !s.value[y].open, s.value[y].childrenOpen && $(y));\n } else r.value.view === \"list-expansion\" && (s.value[h].expanded = !s.value[h].expanded);\n }, qe = (h, y) => {\n const A = p(h, y);\n return be(h, y, A);\n }, be = (h, y, A) => {\n const I = i.value[h], T = l.value[y], V = I.format;\n return V ? typeof V == \"function\" ? V(A, { table: d.value, row: T, column: I }) : typeof V == \"string\" ? Function(`\"use strict\";return (${V})`)()(A, { table: d.value, row: T, column: I }) : A : A;\n };\n return {\n // state\n columns: i,\n config: r,\n display: s,\n modal: c,\n rows: l,\n table: d,\n updates: u,\n // getters\n hasPinnedColumns: f,\n numberedRowWidth: m,\n zeroColumn: g,\n // actions\n closeModal: (h) => {\n var y;\n h.target instanceof Node && (y = c.value.parent) != null && y.contains(h.target) || c.value.visible && (c.value.visible = !1);\n },\n getCellData: p,\n getCellDisplayValue: qe,\n getFormattedValue: be,\n getHeaderCellStyle: E,\n getIndent: (h, y) => y && h === 0 && y > 0 ? `${y}ch` : \"inherit\",\n getRowExpandSymbol: oe,\n isRowVisible: W,\n setCellData: v,\n setCellText: w,\n toggleRowExpand: $\n };\n })();\n}, zt = /* @__PURE__ */ N({\n __name: \"ATable\",\n props: {\n id: {},\n modelValue: {},\n columns: {},\n rows: { default: () => [] },\n config: { default: () => new Object() }\n },\n emits: [\"update:modelValue\", \"cellUpdate\"],\n setup(e, { expose: t, emit: n }) {\n const o = n, a = J(\"table\"), i = e.modelValue ? e.modelValue : e.rows, l = Bt({ columns: e.columns, rows: i, id: e.id, config: e.config });\n l.$onAction(({ name: s, store: c, args: u, after: f }) => {\n if (s === \"setCellData\") {\n const [m, g, p] = u, v = c.getCellData(m, g);\n f(() => {\n o(\"cellUpdate\", m, g, p, v);\n });\n }\n }), R(\n () => l.rows,\n (s) => {\n o(\"update:modelValue\", s);\n },\n { deep: !0 }\n ), G(() => {\n e.columns.some((s) => s.pinned) && (d(), l.config.view === \"tree\" && Ve(a, d, { childList: !0, subtree: !0 }));\n });\n const r = (s, c, u, f) => {\n o(\"cellUpdate\", s, c, u, f);\n }, d = () => {\n const s = a.value, c = s == null ? void 0 : s.rows[0], u = s == null ? void 0 : s.rows[1], f = c ? Array.from(c.cells) : [];\n for (const [m, g] of f.entries()) {\n const p = u == null ? void 0 : u.cells[m];\n p && (g.style.width = `${p.offsetWidth}px`);\n }\n for (const m of (s == null ? void 0 : s.rows) || []) {\n let g = 0;\n const p = [];\n for (const v of m.cells)\n (v.classList.contains(\"sticky-column\") || v.classList.contains(\"sticky-index\")) && (v.style.left = `${g}px`, g += v.offsetWidth, p.push(v));\n p.length > 0 && p[p.length - 1].classList.add(\"sticky-column-edge\");\n }\n };\n return window.addEventListener(\"keydown\", (s) => {\n if (s.key === \"Escape\" && l.modal.visible) {\n l.modal.visible = !1;\n const c = l.modal.parent;\n c && Le().then(() => {\n c.focus();\n });\n }\n }), t({ store: l }), (s, c) => se((C(), S(\"table\", {\n ref: \"table\",\n class: \"atable\",\n style: z({ width: b(l).config.fullWidth ? \"100%\" : \"auto\" })\n }, [\n O(s.$slots, \"header\", { data: b(l) }, () => [\n xe(Ue, {\n columns: b(l).columns,\n store: b(l)\n }, null, 8, [\"columns\", \"store\"])\n ], !0),\n B(\"tbody\", null, [\n O(s.$slots, \"body\", { data: b(l) }, () => [\n (C(!0), S(te, null, ae(b(l).rows, (u, f) => (C(), _(ze, {\n key: u.id,\n row: u,\n rowIndex: f,\n store: b(l)\n }, {\n default: Ee(() => [\n (C(!0), S(te, null, ae(b(l).columns, (m, g) => (C(), _(Be, {\n key: m.name,\n store: b(l),\n col: m,\n spellcheck: \"false\",\n pinned: m.pinned,\n rowIndex: f,\n colIndex: g,\n component: m.cellComponent,\n style: z({\n textAlign: (m == null ? void 0 : m.align) || \"center\",\n minWidth: (m == null ? void 0 : m.width) || \"40ch\",\n width: b(l).config.fullWidth ? \"auto\" : null\n }),\n onCellInput: r\n }, null, 8, [\"store\", \"col\", \"pinned\", \"rowIndex\", \"colIndex\", \"component\", \"style\"]))), 128))\n ]),\n _: 2\n }, 1032, [\"row\", \"rowIndex\", \"store\"]))), 128))\n ], !0)\n ]),\n O(s.$slots, \"footer\", { data: b(l) }, void 0, !0),\n O(s.$slots, \"modal\", { data: b(l) }, () => [\n se(xe(Xe, { store: b(l) }, {\n default: Ee(() => [\n (C(), _(Pe(b(l).modal.component), de({\n key: `${b(l).modal.rowIndex}:${b(l).modal.colIndex}`,\n colIndex: b(l).modal.colIndex,\n rowIndex: b(l).modal.rowIndex,\n store: b(l)\n }, b(l).modal.componentProps), null, 16, [\"colIndex\", \"rowIndex\", \"store\"]))\n ]),\n _: 1\n }, 8, [\"store\"]), [\n [We, b(l).modal.visible]\n ])\n ], !0)\n ], 4)), [\n [b(Wt), b(l).closeModal]\n ]);\n }\n}), Ft = (e, t) => {\n const n = e.__vccOpts || e;\n for (const [o, a] of t)\n n[o] = a;\n return n;\n}, Yt = /* @__PURE__ */ Ft(zt, [[\"__scopeId\", \"data-v-bd5101d3\"]]);\nfunction Qt(e) {\n e.component(\"ACell\", Be), e.component(\"AExpansionRow\", Lt), e.component(\"ARow\", ze), e.component(\"ATable\", Yt), e.component(\"ATableHeader\", Ue), e.component(\"ATableModal\", Xe);\n}\nexport {\n Be as ACell,\n Lt as AExpansionRow,\n ze as ARow,\n Yt as ATable,\n Ue as ATableHeader,\n Xe as ATableModal,\n Bt as createTableStore,\n Qt 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, useTemplateRef } from 'vue'\n\nconst { breadcrumbs = [] } = defineProps<{ breadcrumbs?: { title: string; to: string }[] }>()\n\nconst breadcrumbsVisibile = ref(true)\nconst searchVisibile = ref(false)\nconst searchText = ref('')\nconst inputRef = useTemplateRef<HTMLInputElement>('searchinput')\n\nconst rotateHideTabIcon = computed(() => {\n\treturn breadcrumbsVisibile.value ? 'unrotated' : 'rotated'\n})\n\nconst toggleBreadcrumbs = () => {\n\tbreadcrumbsVisibile.value = !breadcrumbsVisibile.value\n}\n\nconst toggleSearch = async () => {\n\tsearchVisibile.value = !searchVisibile.value\n\tawait nextTick(() => {\n\t\tinputRef.value.focus()\n\t})\n}\n\nconst handleSearchInput = (event: Event | MouseEvent) => {\n\tevent.preventDefault()\n\tevent.stopPropagation()\n}\n\nconst handleSearch = async (event: FocusEvent | KeyboardEvent) => {\n\tevent.preventDefault()\n\tevent.stopPropagation()\n\tawait toggleSearch()\n}\n\nconst navigateHome = (/* event: MouseEvent | KeyboardEvent */) => {\n\t// navigate home\n}\n</script>\n\n<style scoped>\nfooter {\n\tposition: fixed;\n\tbottom: 0px;\n\twidth: 100%;\n\tbackground-color: transparent;\n\theight: 2rem;\n\tz-index: 100;\n\ttext-align: left;\n\tfont-size: 100%;\n\tdisplay: flex;\n\tjustify-content: right;\n\tpadding-bottom: 0.2rem;\n}\nul {\n\tdisplay: flex;\n\tflex-direction: row-reverse;\n}\n\n.tabs li {\n\t/* Makes a horizontal row */\n\tfloat: left;\n\tlist-style-type: none;\n\t/* So the psueudo elements can be\n abs. positioned inside */\n\tposition: relative;\n\tmargin-left: -1px;\n}\n.tabs a {\n\tfloat: left;\n\tpadding: 1ch 4ch 4ch 4ch;\n\ttext-decoration: none;\n\tcolor: black;\n\tbackground: #aaa;\n\toutline: 2px solid inherit;\n\toutline-offset: -2px;\n\n\t/* Only round the top corners */\n\t-webkit-border-top-left-radius: 15px;\n\t-webkit-border-top-right-radius: 15px;\n\t-moz-border-radius-topleft: 15px;\n\t-moz-border-radius-topright: 15px;\n\tborder-top-left-radius: 15px;\n\tborder-top-right-radius: 15px;\n\n\tborder: 1px solid #ccc;\n}\n.tabs .router-link-active {\n\t/* Highest, active tab is on top */\n\tz-index: 3;\n}\n.router-link-active {\n\t/* Colors when tab is active */\n\tbackground: #827553;\n\tcolor: black;\n\tbox-shadow: #999;\n}\n.tabs li:before,\n.tabs li:after,\n.tabs li a:before,\n.tabs li a:after {\n\t/* All pseudo elements are\n abs. positioned and on bottom */\n\tposition: absolute;\n\tbottom: 0;\n}\n/* Only the first, last, and active\n tabs need pseudo elements at all */\n.tabs li:last-child:after,\n.tabs li:last-child a:after,\n.tabs li:first-child:before,\n.tabs li:first-child a:before,\n.tabs .router-link-active:after,\n.tabs .router-link-active:before,\n.tabs .router-link-active a:after,\n.tabs .router-link-active a:before {\n\tcontent: '';\n}\n.tabs .router-link-active:before,\n.tabs .router-link-active:after {\n\tbackground: transparent;\n\n\t/* Squares below circles */\n\tz-index: 1;\n}\n/* Squares */\n.tabs li:before,\n.tabs li:after {\n\tbackground: transparent;\n\twidth: 10px;\n\theight: 10px;\n}\n.tabs li:before {\n\tleft: -10px;\n}\n.tabs li:after {\n\tright: -10px;\n}\n/* Circles */\n.tabs li a:after,\n.tabs li a:before {\n\twidth: 20px;\n\theight: 20px;\n\t/* Circles are circular */\n\t-webkit-border-radius: 10px;\n\t-moz-border-radius: 10px;\n\tborder-radius: 10px;\n\tbackground: transparent;\n\n\t/* Circles over squares */\n\tz-index: 2;\n}\n.tabs .router-link-active a:after,\n.tabs .router-link-active a:before {\n\tbackground: transparent;\n}\n/* First and last tabs have different\n outside color needs */\n.tabs li:first-child.router-link-active a:before,\n.tabs li:last-child.router-link-active a:after {\n\tbackground: transparent;\n}\n.tabs li a:before {\n\tleft: -20px;\n}\n.tabs li a:after {\n\tright: -20px;\n}\n.hidebreadcrumbs a {\n\twidth: 1ch;\n\tmin-width: calc(66px - 4ch);\n\tbackground-color: #ffffff;\n\tpadding-left: 2ch;\n\tpadding-right: 2ch;\n\tpadding-top: 3px;\n\tfont-size: 150%;\n\ttext-align: center;\n}\n.rotated {\n\t/* border: 1px solid red; */\n\ttransform: rotate(45deg);\n\t-webkit-transform: rotate(45deg);\n\t-moz-transform: rotate(45deg);\n\t-ms-transform: rotate(45deg);\n\t-o-transform: rotate(45deg);\n\ttransition: transform 250ms;\n}\n.unrotated {\n\t/* border: 1px solid red; */\n\ttransform: rotate(0deg);\n\t-webkit-transform: rotate(0deg);\n\t-moz-transform: rotate(0deg);\n\t-ms-transform: rotate(0deg);\n\t-o-transform: rotate(0deg);\n\ttransition: transform 250ms;\n}\nli:active,\nli:hover,\nli:focus,\nli > a:active,\nli > a:hover,\nli > a:focus {\n\tz-index: 3;\n}\n\na:active,\na:hover,\na:focus {\n\toutline: 2px solid black;\n\tz-index: 3;\n}\n.hometab a {\n\twidth: 1ch;\n\tmin-width: calc(66px - 4ch);\n\tbackground-color: #ffffff;\n\tpadding-left: 2ch;\n\tpadding-right: 2ch;\n\tpadding-top: 6px;\n\ttext-align: center;\n}\n.hometab svg {\n\theight: 14pt;\n\twidth: 14pt;\n}\n.searchtab a {\n\t/* width: 100%; */\n\tmin-width: calc(66px - 4ch);\n\tbackground-color: #ffffff;\n\tpadding-left: 2ch;\n\tpadding-right: 2ch;\n\tpadding-top: 11px;\n\tfont-size: 150%;\n\talign-items: center;\n}\n.searchtab svg {\n\tpadding-left: 0.25ch;\n}\n.searchtab input {\n\tmargin-top: -4px;\n\toutline: none;\n\tborder: none;\n\tborder-bottom: 1.5px solid black;\n\tbackground-color: transparent;\n\ttext-align: right;\n\tfont-size: 11pt;\n}\n</style>\n","import { App, type Plugin } from 'vue'\n\nimport ActionSet from '../components/ActionSet.vue'\nimport CommandPalette from '../components/CommandPalette.vue'\nimport Doctype from '../components/Doctype.vue'\nimport Records from '../components/Records.vue'\nimport SheetNav from '../components/SheetNav.vue'\n\n/**\n * This is the main plugin that will be used to register all the desktop components.\n * @public\n */\nconst plugin: Plugin = {\n\tinstall: (app: App) => {\n\t\tapp.component('ActionSet', ActionSet)\n\t\tapp.component('CommandPalette', CommandPalette)\n\t\tapp.component('Doctype', Doctype)\n\t\tapp.component('Records', Records)\n\t\tapp.component('SheetNav', SheetNav)\n\t},\n}\n\nexport default plugin\n"],"names":["_elements","ref","__props","isOpen","timeout","hover","closeClicked","onMounted","closeDropdowns","element","onHover","onHoverLeave","toggleDropdown","index","showDropdown","_cache","S","l","le","Ae","De","V","C","se","at","rt","W","ee","ut","ct","Fe","Ee","He","y","Ce","q","X","a","s","c","r","m","p","u","P","w","i","Q","Te","vt","Z","ht","T","gt","zt","Xt","M","g","b","U","N","te","Ue","Ne","$e","Ct","Lt","ge","H","n","o","me","Ze","Ft","et","Ht","Jt","Gt","B","ve","Wt","Qt","tt","nt","Yt","Se","st","ot","qt","Kt","_","Oe","it","Zt","en","tn","k","nn","rn","ne","on","sn","an","cn","re","L","un","oe","ln","Y","fn","lt","we","At","A","je","dn","pn","qe","G","ft","dt","Ve","Bt","xt","x","hn","Re","fe","ye","gn","mn","I","Be","xe","Le","Ke","_e","f","h","E","R","v","$t","Tt","ae","ce","Dt","O","Mt","z","K","Me","Rt","D","ue","vn","jt","Xe","Vt","yn","Tr","Ut","J","_n","j","pt","bn","Ie","de","wn","En","Sn","On","In","Nn","Pn","kn","$n","Tn","Dn","Mn","$","ie","Cn","mt","Pe","Ln","An","jn","Vn","Rn","Bn","xn","yt","Un","Fn","Hn","Jn","Gn","Wn","zn","Qn","Yn","qn","_t","bt","Xn","Kn","Zn","er","wt","tr","nr","rr","or","sr","ir","ke","ar","cr","ur","lr","fr","dr","pr","hr","Et","gr","t","mr","Je","We","Ge","St","vr","yr","ze","_r","br","wr","Er","F","Ot","It","Nt","Pt","Qe","Sr","Ye","pe","he","Or","Ir","Nr","kt","stonecrop","isReady","useStonecrop","schema","watch","newSchema","item","fieldValue","isVue2","set","target","key","val","del","activePinia","setActivePinia","pinia","piniaSymbol","isPlainObject","MutationType","IS_CLIENT","patchObject","newState","oldState","subPatch","targetValue","isRef","isReactive","noop","addSubscription","subscriptions","callback","detached","onCleanup","removeSubscription","idx","getCurrentScope","onScopeDispose","triggerSubscriptions","args","fallbackRunWithContext","ACTION_MARKER","ACTION_NAME","mergeReactiveObjects","patchToApply","value","skipHydrateSymbol","shouldHydrate","obj","assign","isComputed","createOptionsStore","id","options","hot","state","actions","getters","initialState","store","setup","localState","toRefs","computedGetters","name","markRaw","computed","createSetupStore","$id","isOptionsStore","scope","optionsForPlugin","$subscribeOptions","event","isListening","debuggerEvents","isSyncListening","actionSubscriptions","hotState","activeListener","$patch","partialStateOrMutator","subscriptionMutation","myListenerId","nextTick","$reset","$state","$dispose","action","wrappedAction","afterCallbackList","onErrorCallbackList","after","onError","ret","error","_hmrPayload","partialStore","stopWatcher","reactive","setupStore","effectScope","prop","toRef","actionValue","toRaw","newStore","stateKey","newStateTarget","oldStateSource","actionName","actionFn","getterName","getter","getterValue","nonEnumerable","extender","extensions","defineStore","idOrOptions","setupOptions","isSetupStore","useStore","hasContext","hasInjectionContext","inject","hotId","currentInstance","getCurrentInstance","vm","cache","d","be","config","breadcrumbsVisibile","searchVisibile","searchText","inputRef","useTemplateRef","rotateHideTabIcon","toggleBreadcrumbs","toggleSearch","handleSearchInput","handleSearch","navigateHome","plugin","app","ActionSet","CommandPalette","Doctype","Records","SheetNav"],"mappings":"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","x_google_ignoreList":[5,6]}
|
|
1
|
+
{"version":3,"file":"desktop.js","sources":["../src/components/ActionSet.vue","../src/components/CommandPalette.vue","../../aform/dist/aform.js","../../stonecrop/dist/stonecrop.js","../src/components/Doctype.vue","../../common/temp/node_modules/.pnpm/vue-demi@0.14.10_vue@3.5.13_typescript@5.6.3_/node_modules/vue-demi/lib/index.mjs","../../common/temp/node_modules/.pnpm/pinia@2.3.0_typescript@5.6.3_vue@3.5.13_typescript@5.6.3_/node_modules/pinia/dist/pinia.mjs","../../atable/dist/atable.js","../src/components/Records.vue","../src/components/SheetNav.vue","../src/plugins/index.ts"],"sourcesContent":["<template>\n\t<div\n\t\t:class=\"{ 'open-set': isOpen, 'hovered-and-closed': closeClicked }\"\n\t\tclass=\"action-set collapse\"\n\t\t@mouseover=\"onHover\"\n\t\t@mouseleave=\"onHoverLeave\">\n\t\t<div class=\"action-menu-icon\">\n\t\t\t<div id=\"chevron\" @click=\"closeClicked = !closeClicked\">\n\t\t\t\t<svg\n\t\t\t\t\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.type == 'button'\" :onclick=\"el.action\" class=\"button-default\">{{ el.label }}</button>\n\t\t\t<div v-if=\"el.type == 'dropdown'\">\n\t\t\t\t<button class=\"button-default\" @click=\"toggleDropdown(index)\">{{ el.label }}</button>\n\t\t\t\t<div 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\nimport type { ActionElements } from '../types'\n\nconst { elements } = defineProps<{ elements?: ActionElements[] }>()\n\nconst _elements = ref(elements)\nconst isOpen = ref(false)\nconst timeout = ref<number>(null)\nconst hover = ref(false)\nconst closeClicked = ref(false)\n\nonMounted(() => {\n\tcloseDropdowns()\n})\n\nconst closeDropdowns = () => {\n\tfor (const element of _elements.value) {\n\t\tif (element.type === 'dropdown') {\n\t\t\telement.show = false\n\t\t}\n\t}\n}\n\nconst onHover = () => {\n\thover.value = true\n\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 M, mergeModels as G, useModel as H, openBlock as g, createElementBlock as b, createElementVNode as d, toDisplayString as D, withDirectives as E, vModelCheckbox as Ve, vShow as R, resolveComponent as Pe, createBlock as te, withCtx as Oe, useTemplateRef as _e, vModelText as F, getCurrentScope as Ae, onScopeDispose as De, unref as C, toRef as Fe, readonly as Ee, customRef as He, ref as y, watch as P, computed as T, reactive as Re, normalizeClass as J, withKeys as O, Fragment as U, renderList as N, withModifiers as Me, onMounted as ne, onBeforeUnmount as Be, getCurrentInstance as qe, nextTick as We, resolveDynamicComponent as Ue, mergeProps as Ne, createTextVNode as Ie, createCommentVNode as oe, renderSlot as Ye, createVNode as je } from \"vue\";\nimport './assets/index.css';const Ge = { class: \"aform_form-element\" }, Ke = [\"for\"], ze = { class: \"aform_checkbox-container aform_input-field\" }, Xe = [\"id\", \"readonly\", \"required\"], Je = [\"innerHTML\"], Qe = /* @__PURE__ */ M({\n __name: \"ACheckbox\",\n props: /* @__PURE__ */ G({\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 = H(e, \"modelValue\");\n return (n, o) => (g(), b(\"div\", Ge, [\n d(\"label\", {\n class: \"aform_field-label\",\n for: n.uuid\n }, D(n.label), 9, Ke),\n d(\"span\", ze, [\n E(d(\"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, Xe), [\n [Ve, t.value]\n ])\n ]),\n E(d(\"p\", {\n class: \"aform_error\",\n innerHTML: n.validation.errorMessage\n }, null, 8, Je), [\n [R, n.validation.errorMessage]\n ])\n ]));\n }\n}), S = (e, t) => {\n const n = e.__vccOpts || e;\n for (const [o, l] of t)\n n[o] = l;\n return n;\n}, Ze = /* @__PURE__ */ S(Qe, [[\"__scopeId\", \"data-v-9f382ad4\"]]), et = /* @__PURE__ */ M({\n __name: \"AComboBox\",\n props: [\"event\", \"cellData\", \"tableID\"],\n setup(e) {\n return (t, n) => {\n const o = Pe(\"ATableModal\");\n return g(), te(o, {\n event: e.event,\n cellData: e.cellData,\n class: \"amodal\"\n }, {\n default: Oe(() => n[0] || (n[0] = [\n d(\"div\", null, [\n d(\"input\", { type: \"text\" }),\n d(\"input\", { type: \"text\" }),\n d(\"input\", { type: \"text\" })\n ], -1)\n ])),\n _: 1\n }, 8, [\"event\", \"cellData\"]);\n };\n }\n}), tt = [\"id\", \"disabled\", \"required\"], nt = [\"for\"], ot = [\"innerHTML\"], lt = /* @__PURE__ */ M({\n __name: \"ADate\",\n props: /* @__PURE__ */ G({\n schema: {},\n label: { default: \"Date\" },\n mask: {},\n required: { type: Boolean },\n readonly: { type: Boolean },\n uuid: {},\n validation: { default: () => ({ errorMessage: \" \" }) }\n }, {\n modelValue: {\n // format the date to be compatible with the native input datepicker\n },\n modelModifiers: {}\n }),\n emits: [\"update:modelValue\"],\n setup(e) {\n const t = H(e, \"modelValue\", {\n // format the date to be compatible with the native input datepicker\n set: (l) => new Date(l).toISOString().split(\"T\")[0]\n }), n = _e(\"date\"), o = () => {\n n.value && \"showPicker\" in HTMLInputElement.prototype && n.value.showPicker();\n };\n return (l, a) => (g(), b(\"div\", null, [\n E(d(\"input\", {\n \"onUpdate:modelValue\": a[0] || (a[0] = (s) => t.value = s),\n ref: \"date\",\n type: \"date\",\n id: l.uuid,\n disabled: l.readonly,\n required: l.required,\n onClick: o\n }, null, 8, tt), [\n [F, t.value]\n ]),\n d(\"label\", { for: l.uuid }, D(l.label), 9, nt),\n E(d(\"p\", {\n innerHTML: l.validation.errorMessage\n }, null, 8, ot), [\n [R, l.validation.errorMessage]\n ])\n ]));\n }\n}), st = /* @__PURE__ */ S(lt, [[\"__scopeId\", \"data-v-280b3d1a\"]]);\nfunction le(e) {\n return Ae() ? (De(e), !0) : !1;\n}\nfunction de() {\n const e = /* @__PURE__ */ new Set(), t = (l) => {\n e.delete(l);\n };\n return {\n on: (l) => {\n e.add(l);\n const a = () => t(l);\n return le(a), {\n off: a\n };\n },\n off: t,\n trigger: (...l) => Promise.all(Array.from(e).map((a) => a(...l)))\n };\n}\nfunction V(e) {\n return typeof e == \"function\" ? e() : C(e);\n}\nconst se = typeof window < \"u\" && typeof document < \"u\";\ntypeof WorkerGlobalScope < \"u\" && globalThis instanceof WorkerGlobalScope;\nconst at = Object.prototype.toString, rt = (e) => at.call(e) === \"[object Object]\", W = () => {\n}, it = (e, t) => Object.prototype.hasOwnProperty.call(e, t), ee = /* @__PURE__ */ ut();\nfunction ut() {\n var e, t;\n return se && ((e = window == null ? void 0 : window.navigator) == null ? void 0 : e.userAgent) && (/iP(?:ad|hone|od)/.test(window.navigator.userAgent) || ((t = window == null ? void 0 : window.navigator) == null ? void 0 : t.maxTouchPoints) > 2 && /iPad|Macintosh/.test(window == null ? void 0 : window.navigator.userAgent));\n}\nfunction ct(...e) {\n if (e.length !== 1)\n return Fe(...e);\n const t = e[0];\n return typeof t == \"function\" ? Ee(He(() => ({ get: t, set: W }))) : y(t);\n}\nconst dt = se ? window.document : void 0, ft = {\n multiple: !0,\n accept: \"*\",\n reset: !1,\n directory: !1\n};\nfunction mt(e = {}) {\n const {\n document: t = dt\n } = e, n = y(null), { on: o, trigger: l } = de(), { on: a, trigger: s } = de();\n let r;\n t && (r = t.createElement(\"input\"), r.type = \"file\", r.onchange = (c) => {\n const m = c.target;\n n.value = m.files, l(n.value);\n }, r.oncancel = () => {\n s();\n });\n const u = () => {\n n.value = null, r && r.value && (r.value = \"\", l(null));\n }, i = (c) => {\n if (!r)\n return;\n const m = {\n ...ft,\n ...e,\n ...c\n };\n r.multiple = m.multiple, r.accept = m.accept, r.webkitdirectory = m.directory, it(m, \"capture\") && (r.capture = m.capture), m.reset && u(), r.click();\n };\n return {\n files: Ee(n),\n open: i,\n reset: u,\n onCancel: a,\n onChange: o\n };\n}\nconst Ce = se ? window : void 0;\nfunction q(e) {\n var t;\n const n = V(e);\n return (t = n == null ? void 0 : n.$el) != null ? t : n;\n}\nfunction X(...e) {\n let t, n, o, l;\n if (typeof e[0] == \"string\" || Array.isArray(e[0]) ? ([n, o, l] = e, t = Ce) : [t, n, o, l] = e, !t)\n return W;\n Array.isArray(n) || (n = [n]), Array.isArray(o) || (o = [o]);\n const a = [], s = () => {\n a.forEach((c) => c()), a.length = 0;\n }, r = (c, m, f, p) => (c.addEventListener(m, f, p), () => c.removeEventListener(m, f, p)), u = P(\n () => [q(t), V(l)],\n ([c, m]) => {\n if (s(), !c)\n return;\n const f = rt(m) ? { ...m } : m;\n a.push(\n ...n.flatMap((p) => o.map((w) => r(c, p, w, f)))\n );\n },\n { immediate: !0, flush: \"post\" }\n ), i = () => {\n u(), s();\n };\n return le(i), i;\n}\nlet fe = !1;\nfunction me(e, t, n = {}) {\n const { window: o = Ce, ignore: l = [], capture: a = !0, detectIframe: s = !1 } = n;\n if (!o)\n return W;\n ee && !fe && (fe = !0, Array.from(o.document.body.children).forEach((v) => v.addEventListener(\"click\", W)), o.document.documentElement.addEventListener(\"click\", W));\n let r = !0;\n const u = (v) => V(l).some((h) => {\n if (typeof h == \"string\")\n return Array.from(o.document.querySelectorAll(h)).some((_) => _ === v.target || v.composedPath().includes(_));\n {\n const _ = q(h);\n return _ && (v.target === _ || v.composedPath().includes(_));\n }\n });\n function i(v) {\n const h = V(v);\n return h && h.$.subTree.shapeFlag === 16;\n }\n function c(v, h) {\n const _ = V(v), B = _.$.subTree && _.$.subTree.children;\n return B == null || !Array.isArray(B) ? !1 : B.some((k) => k.el === h.target || h.composedPath().includes(k.el));\n }\n const m = (v) => {\n const h = q(e);\n if (v.target != null && !(!(h instanceof Element) && i(e) && c(e, v)) && !(!h || h === v.target || v.composedPath().includes(h))) {\n if (v.detail === 0 && (r = !u(v)), !r) {\n r = !0;\n return;\n }\n t(v);\n }\n };\n let f = !1;\n const p = [\n X(o, \"click\", (v) => {\n f || (f = !0, setTimeout(() => {\n f = !1;\n }, 0), m(v));\n }, { passive: !0, capture: a }),\n X(o, \"pointerdown\", (v) => {\n const h = q(e);\n r = !u(v) && !!(h && !v.composedPath().includes(h));\n }, { passive: !0 }),\n s && X(o, \"blur\", (v) => {\n setTimeout(() => {\n var h;\n const _ = q(e);\n ((h = o.document.activeElement) == null ? void 0 : h.tagName) === \"IFRAME\" && !(_ != null && _.contains(o.document.activeElement)) && t(v);\n }, 0);\n })\n ].filter(Boolean);\n return () => p.forEach((v) => v());\n}\nconst pt = {\n mounted(e, t) {\n const n = !t.modifiers.bubble;\n if (typeof t.value == \"function\")\n e.__onClickOutside_stop = me(e, t.value, { capture: n });\n else {\n const [o, l] = t.value;\n e.__onClickOutside_stop = me(e, o, Object.assign({ capture: n }, l));\n }\n },\n unmounted(e) {\n e.__onClickOutside_stop();\n }\n};\nfunction Q(e) {\n return typeof Window < \"u\" && e instanceof Window ? e.document.documentElement : typeof Document < \"u\" && e instanceof Document ? e.documentElement : e;\n}\nfunction Te(e) {\n const t = window.getComputedStyle(e);\n if (t.overflowX === \"scroll\" || t.overflowY === \"scroll\" || t.overflowX === \"auto\" && e.clientWidth < e.scrollWidth || t.overflowY === \"auto\" && e.clientHeight < e.scrollHeight)\n return !0;\n {\n const n = e.parentNode;\n return !n || n.tagName === \"BODY\" ? !1 : Te(n);\n }\n}\nfunction vt(e) {\n const t = e || window.event, n = t.target;\n return Te(n) ? !1 : t.touches.length > 1 ? !0 : (t.preventDefault && t.preventDefault(), !1);\n}\nconst Z = /* @__PURE__ */ new WeakMap();\nfunction ht(e, t = !1) {\n const n = y(t);\n let o = null, l = \"\";\n P(ct(e), (r) => {\n const u = Q(V(r));\n if (u) {\n const i = u;\n if (Z.get(i) || Z.set(i, i.style.overflow), i.style.overflow !== \"hidden\" && (l = i.style.overflow), i.style.overflow === \"hidden\")\n return n.value = !0;\n if (n.value)\n return i.style.overflow = \"hidden\";\n }\n }, {\n immediate: !0\n });\n const a = () => {\n const r = Q(V(e));\n !r || n.value || (ee && (o = X(\n r,\n \"touchmove\",\n (u) => {\n vt(u);\n },\n { passive: !1 }\n )), r.style.overflow = \"hidden\", n.value = !0);\n }, s = () => {\n const r = Q(V(e));\n !r || !n.value || (ee && (o == null || o()), r.style.overflow = l, Z.delete(r), n.value = !1);\n };\n return le(s), T({\n get() {\n return n.value;\n },\n set(r) {\n r ? a() : s();\n }\n });\n}\nfunction gt() {\n let e = !1;\n const t = y(!1);\n return (n, o) => {\n if (t.value = o.value, e)\n return;\n e = !0;\n const l = ht(n, o.value);\n P(t, (a) => l.value = a);\n };\n}\ngt();\nconst yt = { class: \"input-wrapper\" }, bt = {\n id: \"autocomplete-results\",\n class: \"autocomplete-results\"\n}, wt = {\n key: 0,\n class: \"loading autocomplete-result\"\n}, kt = [\"onClick\"], _t = /* @__PURE__ */ M({\n __name: \"ADropdown\",\n props: /* @__PURE__ */ G({\n label: {},\n items: {},\n isAsync: { type: Boolean },\n filterFunction: { type: Function }\n }, {\n modelValue: {},\n modelModifiers: {}\n }),\n emits: [\"update:modelValue\"],\n setup(e) {\n const t = H(e, \"modelValue\"), n = Re({\n activeItemIndex: null,\n open: !1,\n loading: !1,\n results: e.items\n }), o = () => r(), l = async () => {\n if (n.open = !0, e.filterFunction) {\n e.isAsync && (n.loading = !0);\n try {\n const f = await e.filterFunction(t.value || \"\");\n n.results = f;\n } catch {\n n.results = [];\n } finally {\n e.isAsync && (n.loading = !1);\n }\n } else\n u();\n }, a = (f) => {\n t.value = f, r(f);\n }, s = () => {\n var f;\n n.activeItemIndex = e.isAsync ? null : t.value && ((f = e.items) == null ? void 0 : f.indexOf(t.value)) || null, n.open = !0, n.results = e.isAsync ? [] : e.items;\n }, r = (f) => {\n var p;\n n.activeItemIndex = null, n.open = !1, (p = e.items) != null && p.includes(f || t.value || \"\") || (t.value = \"\");\n }, u = () => {\n var f;\n t.value ? n.results = (f = e.items) == null ? void 0 : f.filter((p) => p.toLowerCase().includes((t.value ?? \"\").toLowerCase())) : n.results = e.items;\n }, i = () => {\n var p;\n const f = ((p = n.results) == null ? void 0 : p.length) || 0;\n if (n.activeItemIndex != null) {\n const w = isNaN(n.activeItemIndex) ? 0 : n.activeItemIndex;\n n.activeItemIndex = (w + 1) % f;\n } else\n n.activeItemIndex = 0;\n }, c = () => {\n var p;\n const f = ((p = n.results) == null ? void 0 : p.length) || 0;\n if (n.activeItemIndex != null) {\n const w = isNaN(n.activeItemIndex) ? 0 : n.activeItemIndex;\n n.activeItemIndex = (w - 1 + f) % f;\n } else\n n.activeItemIndex = f - 1;\n }, m = () => {\n if (n.results) {\n const f = n.activeItemIndex || 0, p = n.results[f];\n a(p);\n }\n n.activeItemIndex = 0;\n };\n return (f, p) => E((g(), b(\"div\", {\n class: J([\"autocomplete\", { isOpen: n.open }])\n }, [\n d(\"div\", yt, [\n E(d(\"input\", {\n \"onUpdate:modelValue\": p[0] || (p[0] = (w) => t.value = w),\n type: \"text\",\n onInput: l,\n onFocus: s,\n onKeydown: [\n O(i, [\"down\"]),\n O(c, [\"up\"]),\n O(m, [\"enter\"]),\n O(o, [\"esc\"]),\n O(o, [\"tab\"])\n ]\n }, null, 544), [\n [F, t.value]\n ]),\n E(d(\"ul\", bt, [\n n.loading ? (g(), b(\"li\", wt, \"Loading results...\")) : (g(!0), b(U, { key: 1 }, N(n.results, (w, v) => (g(), b(\"li\", {\n key: w,\n onClick: Me((h) => a(w), [\"stop\"]),\n class: J([\"autocomplete-result\", { \"is-active\": v === n.activeItemIndex }])\n }, D(w), 11, kt))), 128))\n ], 512), [\n [R, n.open]\n ]),\n d(\"label\", null, D(f.label), 1)\n ])\n ], 2)), [\n [C(pt), o]\n ]);\n }\n}), At = /* @__PURE__ */ S(_t, [[\"__scopeId\", \"data-v-16c329d1\"]]);\nfunction Se(e) {\n return Ae() ? (De(e), !0) : !1;\n}\nfunction ae(e) {\n return typeof e == \"function\" ? e() : C(e);\n}\nconst Dt = typeof window < \"u\" && typeof document < \"u\";\ntypeof WorkerGlobalScope < \"u\" && globalThis instanceof WorkerGlobalScope;\nconst Et = (e) => e != null, Mt = Object.prototype.toString, It = (e) => Mt.call(e) === \"[object Object]\", Ct = () => {\n}, K = Dt ? window : void 0;\nfunction Y(e) {\n var t;\n const n = ae(e);\n return (t = n == null ? void 0 : n.$el) != null ? t : n;\n}\nfunction j(...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 Ct;\n Array.isArray(n) || (n = [n]), Array.isArray(o) || (o = [o]);\n const a = [], s = () => {\n a.forEach((c) => c()), a.length = 0;\n }, r = (c, m, f, p) => (c.addEventListener(m, f, p), () => c.removeEventListener(m, f, p)), u = P(\n () => [Y(t), ae(l)],\n ([c, m]) => {\n if (s(), !c)\n return;\n const f = It(m) ? { ...m } : m;\n a.push(\n ...n.flatMap((p) => o.map((w) => r(c, p, w, f)))\n );\n },\n { immediate: !0, flush: \"post\" }\n ), i = () => {\n u(), s();\n };\n return Se(i), i;\n}\nfunction Tt() {\n const e = y(!1), t = qe();\n return t && ne(() => {\n e.value = !0;\n }, t), e;\n}\nfunction St(e) {\n const t = Tt();\n return T(() => (t.value, !!e()));\n}\nfunction Lt(e, t, n = {}) {\n const { window: o = K, ...l } = n;\n let a;\n const s = St(() => o && \"MutationObserver\" in o), r = () => {\n a && (a.disconnect(), a = void 0);\n }, u = T(() => {\n const f = ae(e), p = (Array.isArray(f) ? f : [f]).map(Y).filter(Et);\n return new Set(p);\n }), i = P(\n () => u.value,\n (f) => {\n r(), s.value && f.size && (a = new MutationObserver(t), f.forEach((p) => a.observe(p, l)));\n },\n { immediate: !0, flush: \"post\" }\n ), c = () => a == null ? void 0 : a.takeRecords(), m = () => {\n i(), r();\n };\n return Se(m), {\n isSupported: s,\n stop: m,\n takeRecords: c\n };\n}\nfunction $t(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, s = () => {\n var i;\n let c = a == null ? void 0 : a.activeElement;\n if (o)\n for (; c != null && c.shadowRoot; )\n c = (i = c == null ? void 0 : c.shadowRoot) == null ? void 0 : i.activeElement;\n return c;\n }, r = y(), u = () => {\n r.value = s();\n };\n return n && (j(n, \"blur\", (i) => {\n i.relatedTarget === null && u();\n }, !0), j(n, \"focus\", u, !0)), l && Lt(a, (i) => {\n i.filter((c) => c.removedNodes.length).map((c) => Array.from(c.removedNodes)).flat().forEach((c) => {\n c === r.value && u();\n });\n }, {\n childList: !0,\n subtree: !0\n }), u(), r;\n}\nconst xt = \"focusin\", Vt = \"focusout\";\nfunction Pt(e, t = {}) {\n const { window: n = K } = t, o = T(() => Y(e)), l = y(!1), a = T(() => l.value), s = $t(t);\n return !n || !s.value ? { focused: a } : (j(o, xt, () => l.value = !0), j(o, Vt, () => l.value = !1), { focused: a });\n}\nfunction Ot(e, { window: t = K, scrollTarget: n } = {}) {\n const o = y(!1), l = () => {\n if (!t) return;\n const a = t.document, s = Y(e);\n if (!s)\n o.value = !1;\n else {\n const r = s.getBoundingClientRect();\n o.value = r.top <= (t.innerHeight || a.documentElement.clientHeight) && r.left <= (t.innerWidth || a.documentElement.clientWidth) && r.bottom >= 0 && r.right >= 0;\n }\n };\n return P(\n () => Y(e),\n () => l(),\n { immediate: !0, flush: \"post\" }\n ), t && j(n || t, \"scroll\", l, {\n capture: !1,\n passive: !0\n }), o;\n}\nconst L = (e) => {\n let t = Ot(e).value;\n return t = t && e.offsetHeight > 0, t;\n}, $ = (e) => e.tabIndex >= 0, pe = (e) => {\n const t = e.target;\n return re(t);\n}, re = (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 && (!$(n) || !L(n)) ? re(n) : n;\n}, Ft = (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, s = a == null ? void 0 : a.children[n.cellIndex];\n s && (o = s);\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 && (!$(o) || !L(o)) ? ie(o) : o;\n}, ve = (e) => {\n const t = e.target;\n return ie(t);\n}, ie = (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 && (!$(n) || !L(n)) ? ie(n) : n;\n}, Ht = (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, s = a == null ? void 0 : a.children[n.cellIndex];\n s && (o = s);\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 && (!$(o) || !L(o)) ? re(o) : o;\n}, he = (e) => {\n const t = e.target;\n return ue(t);\n}, ue = (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 && (!$(n) || !L(n)) ? ue(n) : n;\n}, ge = (e) => {\n const t = e.target;\n return ce(t);\n}, ce = (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 && (!$(n) || !L(n)) ? ce(n) : n;\n}, ye = (e) => {\n const t = e.target.parentElement, n = t == null ? void 0 : t.firstElementChild;\n return n && (!$(n) || !L(n)) ? ce(n) : n;\n}, be = (e) => {\n const t = e.target.parentElement, n = t == null ? void 0 : t.lastElementChild;\n return n && (!$(n) || !L(n)) ? ue(n) : n;\n}, z = [\"alt\", \"control\", \"shift\", \"meta\"], Rt = {\n ArrowUp: \"up\",\n ArrowDown: \"down\",\n ArrowLeft: \"left\",\n ArrowRight: \"right\"\n}, Le = {\n \"keydown.up\": (e) => {\n const t = pe(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.down\": (e) => {\n const t = ve(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.left\": (e) => {\n const t = he(e);\n e.preventDefault(), e.stopPropagation(), t && t.focus();\n },\n \"keydown.right\": (e) => {\n const t = ge(e);\n e.preventDefault(), e.stopPropagation(), t && t.focus();\n },\n \"keydown.control.up\": (e) => {\n const t = Ft(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.control.down\": (e) => {\n const t = Ht(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.control.left\": (e) => {\n const t = ye(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.control.right\": (e) => {\n const t = be(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.end\": (e) => {\n const t = be(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 = ve(e);\n t && t.focus();\n }\n },\n \"keydown.shift.enter\": (e) => {\n if (e.target instanceof HTMLTableCellElement) {\n e.preventDefault(), e.stopPropagation();\n const t = pe(e);\n t && t.focus();\n }\n },\n \"keydown.home\": (e) => {\n const t = ye(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.tab\": (e) => {\n const t = ge(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.shift.tab\": (e) => {\n const t = he(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n }\n};\nfunction Bt(e) {\n const t = (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 var r;\n const u = t(s);\n let i = [];\n if (typeof s.selectors == \"string\")\n i = u ? Array.from(u.querySelectorAll(s.selectors)) : Array.from(document.querySelectorAll(s.selectors));\n else if (Array.isArray(s.selectors))\n for (const c of s.selectors)\n c instanceof HTMLElement ? i.push(c) : i.push(c.$el);\n else if (s.selectors instanceof HTMLElement)\n i.push(s.selectors);\n else if ((r = s.selectors) != null && r.value)\n if (Array.isArray(s.selectors.value))\n for (const c of s.selectors.value)\n c instanceof HTMLElement ? i.push(c) : i.push(c.$el);\n else\n i.push(s.selectors.value);\n return i;\n }, o = (s) => {\n const r = t(s);\n let u = [];\n return s.selectors ? u = n(s) : r && (u = Array.from(r.children).filter((i) => $(i) && L(i))), u;\n }, l = (s) => (r) => {\n const u = Rt[r.key] || r.key.toLowerCase();\n if (z.includes(u)) return;\n const i = s.handlers || Le;\n for (const c of Object.keys(i)) {\n const [m, ...f] = c.split(\".\");\n if (m === \"keydown\" && f.includes(u)) {\n const p = i[c], w = f.filter((h) => z.includes(h)), v = z.some((h) => {\n const _ = h.charAt(0).toUpperCase() + h.slice(1);\n return r.getModifierState(_);\n });\n if (w.length > 0) {\n if (v) {\n for (const h of z)\n if (f.includes(h)) {\n const _ = h.charAt(0).toUpperCase() + h.slice(1);\n r.getModifierState(_) && p(r);\n }\n }\n } else\n v || p(r);\n }\n }\n }, a = [];\n ne(() => {\n for (const s of e) {\n const r = t(s), u = o(s), i = l(s), c = r ? [r] : u;\n for (const m of c) {\n const { focused: f } = Pt(y(m)), p = P(f, (w) => {\n w ? m.addEventListener(\"keydown\", i) : m.removeEventListener(\"keydown\", i);\n });\n a.push(p);\n }\n }\n }), Be(() => {\n for (const s of a)\n s();\n });\n}\nconst qt = {\n class: \"adatepicker\",\n tabindex: \"0\",\n ref: \"datepicker\"\n}, Wt = {\n colspan: \"5\",\n tabindex: -1\n}, Ut = [\"onClick\", \"onKeydown\"], Nt = 6, we = 7, Yt = /* @__PURE__ */ M({\n __name: \"ADatePicker\",\n props: {\n modelValue: { default: /* @__PURE__ */ new Date() },\n modelModifiers: {}\n },\n emits: [\"update:modelValue\"],\n setup(e, { expose: t }) {\n const n = H(e, \"modelValue\"), o = y(new Date(n.value)), l = y(o.value.getMonth()), a = y(o.value.getFullYear()), s = y([]), r = _e(\"datepicker\");\n ne(async () => {\n u(), await We();\n const k = document.getElementsByClassName(\"selectedDate\");\n if (k.length > 0)\n k[0].focus();\n else {\n const A = document.getElementsByClassName(\"todaysDate\");\n A.length > 0 && A[0].focus();\n }\n });\n const u = () => {\n s.value = [];\n const k = new Date(a.value, l.value, 1), A = k.getDay(), I = k.setDate(k.getDate() - A);\n for (const x of Array(43).keys())\n s.value.push(I + x * 864e5);\n };\n P([l, a], u);\n const i = () => a.value -= 1, c = () => a.value += 1, m = () => {\n l.value == 0 ? (l.value = 11, i()) : l.value -= 1;\n }, f = () => {\n l.value == 11 ? (l.value = 0, c()) : l.value += 1;\n }, p = (k) => {\n const A = /* @__PURE__ */ new Date();\n if (l.value === A.getMonth())\n return A.toDateString() === new Date(k).toDateString();\n }, w = (k) => new Date(k).toDateString() === new Date(o.value).toDateString(), v = (k, A) => (k - 1) * we + A, h = (k, A) => s.value[v(k, A)], _ = (k) => {\n n.value = o.value = new Date(s.value[k]);\n }, B = T(() => new Date(a.value, l.value, 1).toLocaleDateString(void 0, {\n year: \"numeric\",\n month: \"long\"\n }));\n return Bt([\n {\n parent: r,\n selectors: \"td\",\n handlers: {\n ...Le,\n \"keydown.pageup\": m,\n \"keydown.shift.pageup\": i,\n \"keydown.pagedown\": f,\n \"keydown.shift.pagedown\": c,\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 ]), t({ currentMonth: l, currentYear: a, selectedDate: o }), (k, A) => (g(), b(\"div\", qt, [\n d(\"table\", null, [\n d(\"tbody\", null, [\n d(\"tr\", null, [\n d(\"td\", {\n id: \"previous-month-btn\",\n onClick: m,\n tabindex: -1\n }, \"<\"),\n d(\"th\", Wt, D(B.value), 1),\n d(\"td\", {\n id: \"next-month-btn\",\n onClick: f,\n tabindex: -1\n }, \">\")\n ]),\n A[0] || (A[0] = d(\"tr\", { class: \"days-header\" }, [\n d(\"td\", null, \"M\"),\n d(\"td\", null, \"T\"),\n d(\"td\", null, \"W\"),\n d(\"td\", null, \"T\"),\n d(\"td\", null, \"F\"),\n d(\"td\", null, \"S\"),\n d(\"td\", null, \"S\")\n ], -1)),\n (g(), b(U, null, N(Nt, (I) => d(\"tr\", { key: I }, [\n (g(), b(U, null, N(we, (x) => d(\"td\", {\n ref_for: !0,\n ref: \"celldate\",\n key: v(I, x),\n contenteditable: !1,\n spellcheck: !1,\n tabindex: 0,\n onClick: Me((xe) => _(v(I, x)), [\"prevent\", \"stop\"]),\n onKeydown: O((xe) => _(v(I, x)), [\"enter\"]),\n class: J({\n todaysDate: p(h(I, x)),\n selectedDate: w(h(I, x))\n })\n }, D(new Date(h(I, x)).getDate()), 43, Ut)), 64))\n ])), 64))\n ])\n ])\n ], 512));\n }\n}), jt = /* @__PURE__ */ S(Yt, [[\"__scopeId\", \"data-v-f49cfd40\"]]), Gt = /* @__PURE__ */ M({\n __name: \"CollapseButton\",\n props: {\n collapsed: { type: Boolean }\n },\n setup(e) {\n return (t, n) => (g(), b(\"button\", {\n class: J([\"collapse-button\", t.collapsed ? \"rotated\" : \"unrotated\"])\n }, \"×\", 2));\n }\n}), Kt = /* @__PURE__ */ S(Gt, [[\"__scopeId\", \"data-v-6f1c1b45\"]]), zt = { class: \"aform\" }, Xt = /* @__PURE__ */ M({\n __name: \"AForm\",\n props: {\n modelValue: {},\n data: {},\n readonly: { type: Boolean }\n },\n emits: [\"update:modelValue\"],\n setup(e, { emit: t }) {\n const n = t, o = y(e.data || {}), l = (s) => {\n let r = {};\n for (const [u, i] of Object.entries(s))\n [\"component\", \"fieldtype\"].includes(u) || (r[u] = i), u === \"rows\" && i && i.length === 0 && (r.rows = o.value[s.fieldname]);\n return r;\n }, a = T({\n get: () => e.modelValue.map((s, r) => T({\n get() {\n return s.value;\n },\n set: (u) => {\n e.modelValue[r].value = u, n(\"update:modelValue\", e.modelValue);\n }\n })),\n set: () => {\n }\n });\n return (s, r) => (g(), b(\"form\", zt, [\n (g(!0), b(U, null, N(s.modelValue, (u, i) => (g(), te(Ue(u.component), Ne({\n key: i,\n schema: u,\n modelValue: a.value[i].value,\n \"onUpdate:modelValue\": (c) => a.value[i].value = c,\n data: o.value[u.fieldname],\n readonly: s.readonly,\n ref_for: !0\n }, l(u)), null, 16, [\"schema\", \"modelValue\", \"onUpdate:modelValue\", \"data\", \"readonly\"]))), 128))\n ]));\n }\n}), $e = /* @__PURE__ */ S(Xt, [[\"__scopeId\", \"data-v-68845234\"]]), Jt = /* @__PURE__ */ M({\n __name: \"AFieldset\",\n props: {\n schema: {},\n label: {},\n collapsible: { type: Boolean },\n data: {}\n },\n setup(e, { expose: t }) {\n const n = y(!1), o = y(e.data || []), l = y(e.schema), a = (s) => {\n s.preventDefault(), e.collapsible && (n.value = !n.value);\n };\n return t({ collapsed: n }), (s, r) => (g(), b(\"fieldset\", null, [\n d(\"legend\", {\n onClick: a,\n onSubmit: a\n }, [\n Ie(D(s.label) + \" \", 1),\n s.collapsible ? (g(), te(Kt, {\n key: 0,\n collapsed: n.value\n }, null, 8, [\"collapsed\"])) : oe(\"\", !0)\n ], 32),\n Ye(s.$slots, \"default\", { collapsed: n.value }, () => [\n E(je($e, {\n modelValue: l.value,\n \"onUpdate:modelValue\": r[0] || (r[0] = (u) => l.value = u),\n data: o.value\n }, null, 8, [\"modelValue\", \"data\"]), [\n [R, !n.value]\n ])\n ], !0)\n ]));\n }\n}), Qt = /* @__PURE__ */ S(Jt, [[\"__scopeId\", \"data-v-e7ea7e12\"]]), Zt = { class: \"aform_form-element aform_file-attach aform__grid--full\" }, en = {\n key: 0,\n class: \"aform_file-attach-feedback\"\n}, tn = [\"disabled\"], nn = /* @__PURE__ */ M({\n __name: \"AFileAttach\",\n props: {\n label: {}\n },\n setup(e) {\n const { files: t, open: n, reset: o, onChange: l } = mt(), a = T(() => `${t.value.length} ${t.value.length === 1 ? \"file\" : \"files\"}`);\n return l((s) => s), (s, r) => (g(), b(\"div\", Zt, [\n C(t) ? (g(), b(\"div\", en, [\n d(\"p\", null, [\n r[2] || (r[2] = Ie(\" You have selected: \")),\n d(\"b\", null, D(a.value), 1)\n ]),\n (g(!0), b(U, null, N(C(t), (u) => (g(), b(\"li\", {\n key: u.name\n }, D(u.name), 1))), 128))\n ])) : oe(\"\", !0),\n d(\"button\", {\n type: \"button\",\n onClick: r[0] || (r[0] = (u) => C(n)()),\n class: \"aform_form-btn\"\n }, D(s.label), 1),\n d(\"button\", {\n type: \"button\",\n disabled: !C(t),\n onClick: r[1] || (r[1] = (u) => C(o)()),\n class: \"aform_form-btn\"\n }, \"Reset\", 8, tn)\n ]));\n }\n}), on = /* @__PURE__ */ S(nn, [[\"__scopeId\", \"data-v-0b3a11cc\"]]), ln = { class: \"aform_form-element\" }, sn = [\"id\", \"disabled\", \"required\"], an = [\"for\"], rn = [\"innerHTML\"], un = /* @__PURE__ */ M({\n __name: \"ANumericInput\",\n props: /* @__PURE__ */ G({\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 = H(e, \"modelValue\");\n return (n, o) => (g(), b(\"div\", ln, [\n E(d(\"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, sn), [\n [F, t.value]\n ]),\n d(\"label\", {\n class: \"aform_field-label\",\n for: n.uuid\n }, D(n.label), 9, an),\n E(d(\"p\", {\n class: \"aform_error\",\n innerHTML: n.validation.errorMessage\n }, null, 8, rn), [\n [R, n.validation.errorMessage]\n ])\n ]));\n }\n}), ke = {\n date: \"##/##/####\",\n datetime: \"####/##/## ##:##\",\n time: \"##:##\",\n fulltime: \"##:##:##\",\n phone: \"(###) ### - ####\",\n card: \"#### #### #### ####\"\n};\nfunction cn(e) {\n try {\n return Function(`\"use strict\";return (${e})`)();\n } catch {\n }\n}\nfunction dn(e) {\n var n, o, l;\n let t = e.value;\n if (t) {\n const a = cn(t);\n if (a) {\n const s = (n = e.instance) == null ? void 0 : n.locale;\n t = a(s);\n }\n } else {\n const a = (o = e.instance) == null ? void 0 : o.schema, s = (l = a == null ? void 0 : a.fieldtype) == null ? void 0 : l.toLowerCase();\n s && ke[s] && (t = ke[s]);\n }\n return t;\n}\nfunction fn(e, 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 mn(e, t, n) {\n let o = t;\n for (const l of e) {\n const a = o.indexOf(n);\n if (a !== -1) {\n const s = o.substring(0, a), r = o.substring(a + 1);\n o = s + l + r;\n }\n }\n return o.slice(0, t.length);\n}\nfunction pn(e, t) {\n var s;\n const n = dn(t);\n if (!n) return;\n const o = \"#\", l = e.value, a = fn(l, o);\n if (a) {\n const r = mn(a, n, o);\n (s = t.instance) != null && s.maskFilled && (t.instance.maskFilled = !r.includes(o)), e.value = r;\n } else\n e.value = n;\n}\nconst vn = { class: \"aform_form-element\" }, hn = [\"id\", \"disabled\", \"maxlength\", \"required\"], gn = [\"for\"], yn = [\"innerHTML\"], bn = /* @__PURE__ */ M({\n __name: \"ATextInput\",\n props: /* @__PURE__ */ G({\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 = y(!0), n = H(e, \"modelValue\");\n return (o, l) => (g(), b(\"div\", vn, [\n E(d(\"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, hn), [\n [F, n.value],\n [C(pn), o.mask]\n ]),\n d(\"label\", {\n class: \"aform_field-label\",\n for: o.uuid\n }, D(o.label), 9, gn),\n E(d(\"p\", {\n class: \"aform_error\",\n innerHTML: o.validation.errorMessage\n }, null, 8, yn), [\n [R, o.validation.errorMessage]\n ])\n ]));\n }\n}), wn = { class: \"login-container\" }, kn = { class: \"account-container\" }, _n = { class: \"account-header\" }, An = { id: \"account-title\" }, Dn = { id: \"account-subtitle\" }, En = { class: \"login-form-container\" }, Mn = { class: \"login-form-email aform_form-element\" }, In = [\"disabled\"], Cn = { class: \"login-form-password aform_form-element\" }, Tn = [\"disabled\"], Sn = [\"disabled\"], Ln = {\n key: 0,\n class: \"material-symbols-outlined loading-icon\"\n}, $n = /* @__PURE__ */ M({\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 = y(\"\"), l = y(\"\"), a = y(!1), s = y(!1);\n function r(u) {\n if (u.preventDefault(), a.value = !0, s.value) {\n a.value = !1, n(\"loginFailed\");\n return;\n }\n a.value = !1, n(\"loginSuccess\");\n }\n return (u, i) => (g(), b(\"div\", wn, [\n d(\"div\", null, [\n d(\"div\", kn, [\n d(\"div\", _n, [\n d(\"h1\", An, D(u.headerTitle), 1),\n d(\"p\", Dn, D(u.headerSubtitle), 1)\n ]),\n d(\"form\", { onSubmit: r }, [\n d(\"div\", En, [\n d(\"div\", Mn, [\n i[2] || (i[2] = d(\"label\", {\n id: \"login-email\",\n for: \"email\",\n class: \"aform_field-label\"\n }, \"Email\", -1)),\n E(d(\"input\", {\n id: \"email\",\n class: \"aform_input-field\",\n name: \"email\",\n placeholder: \"name@example.com\",\n type: \"email\",\n \"onUpdate:modelValue\": i[0] || (i[0] = (c) => o.value = c),\n \"auto-capitalize\": \"none\",\n \"auto-complete\": \"email\",\n \"auto-correct\": \"off\",\n disabled: a.value\n }, null, 8, In), [\n [F, o.value]\n ])\n ]),\n d(\"div\", Cn, [\n i[3] || (i[3] = d(\"label\", {\n id: \"login-password\",\n for: \"password\",\n class: \"aform_field-label\"\n }, \"Password\", -1)),\n E(d(\"input\", {\n id: \"password\",\n class: \"aform_input-field\",\n name: \"password\",\n type: \"password\",\n \"onUpdate:modelValue\": i[1] || (i[1] = (c) => l.value = c),\n disabled: a.value\n }, null, 8, Tn), [\n [F, l.value]\n ])\n ]),\n d(\"button\", {\n class: \"btn\",\n onClick: r,\n disabled: a.value || !o.value || !l.value\n }, [\n a.value ? (g(), b(\"span\", Ln, \"progress_activity\")) : oe(\"\", !0),\n i[4] || (i[4] = d(\"span\", { id: \"login-form-button\" }, \"Login\", -1))\n ], 8, Sn)\n ])\n ], 32),\n i[5] || (i[5] = d(\"button\", { class: \"btn\" }, [\n d(\"span\", { id: \"forgot-password-button\" }, \"Forgot password?\")\n ], -1))\n ])\n ])\n ]));\n }\n}), Vn = /* @__PURE__ */ S($n, [[\"__scopeId\", \"data-v-6cbd3add\"]]);\nfunction Pn(e) {\n e.component(\"ACheckbox\", Ze), e.component(\"ACombobox\", et), e.component(\"ADate\", st), e.component(\"ADropdown\", At), e.component(\"ADatePicker\", jt), e.component(\"AFieldset\", Qt), e.component(\"AFileAttach\", on), e.component(\"AForm\", $e), e.component(\"ANumericInput\", un), e.component(\"ATextInput\", bn);\n}\nexport {\n Ze as ACheckbox,\n et as AComboBox,\n st as ADate,\n jt as ADatePicker,\n At as ADropdown,\n Qt as AFieldset,\n on as AFileAttach,\n $e as AForm,\n un as ANumericInput,\n bn as ATextInput,\n Vn as Login,\n Pn as install\n};\n//# sourceMappingURL=aform.js.map\n","var Ct = Object.defineProperty;\nvar Lt = (e, t, r) => t in e ? Ct(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r;\nvar y = (e, t, r) => Lt(e, typeof t != \"symbol\" ? t + \"\" : t, r);\nimport { effectScope as qe, ref as G, markRaw as A, toRaw as Y, watch as we, unref as At, hasInjectionContext as jt, inject as Xe, getCurrentInstance as Vt, reactive as Rt, isRef as q, isReactive as Ee, toRef as ue, nextTick as Ce, computed as Ke, getCurrentScope as Bt, onScopeDispose as xt, toRefs as Le, onMounted as Ut } from \"vue\";\nfunction ge(e) {\n this.message = e || \"\";\n}\nge.prototype = Object.create(Error.prototype, {\n constructor: { value: ge },\n name: { value: \"NotImplemented\" },\n stack: {\n get: function() {\n return new Error().stack;\n }\n }\n});\nconst H = class H {\n /**\n * @param registry - The immutable registry\n * @param store - The mutable Pinia store\n * @param schema - The Stonecrop schema\n * @param workflow - The Stonecrop workflow\n * @param actions - The Stonecrop actions\n * @returns The 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 * ```ts\n * const registry = new Registry()\n * const store = useDataStore()\n * const stonecrop = new Stonecrop(registry, store)\n * ```\n */\n constructor(t, r, n, o, s) {\n /**\n * The name of the Stonecrop instance\n * @readonly\n *\n * @defaultValue 'Stonecrop'\n */\n y(this, \"name\", \"Stonecrop\");\n /**\n * The registry is an immutable collection of doctypes\n * @example\n * ```ts\n * {\n * \t'task': {\n * \t\tdoctype: 'Task',\n * \t\tschema: {\n * \t\t\ttitle: 'string',\n * \t\t\tdescription: 'string',\n * \t\t\t...\n * \t\t}\n * \t},\n * \t...\n * }\n * ```\n * @see {@link Registry}\n * @see {@link DoctypeMeta}\n */\n y(this, \"registry\");\n /**\n * The Pinia store that manages the mutable records\n */\n y(this, \"store\");\n /**\n * schema - The Stonecrop schema; the schema is a subset of the registry\n * @example\n * ```ts\n * {\n * \tdoctype: 'Task',\n * \tschema: {\n * \t\ttitle: 'string',\n * \t\tdescription: 'string',\n * \t\t...\n * \t}\n * }\n * ```\n * @see {@link Registry}\n * @see {@link DoctypeMeta}\n * @see {@link DoctypeMeta.schema}\n */\n y(this, \"schema\");\n /**\n * The workflow is a subset of the registry\n */\n y(this, \"workflow\");\n /**\n * The actions are a subset of the registry\n */\n y(this, \"actions\");\n if (H._root)\n return H._root;\n H._root = this, this.registry = t, this.store = r, this.schema = n, this.workflow = o, this.actions = s;\n }\n /**\n * Sets up the Stonecrop instance with the given doctype\n * @param doctype - The doctype to setup\n * @example\n * ```ts\n * const doctype = await registry.getMeta('Task')\n * stonecrop.setup(doctype)\n * ```\n */\n setup(t) {\n this.getMeta(t), this.getWorkflow(t), this.getActions(t);\n }\n /**\n * Gets the meta for the given doctype\n * @param doctype - The doctype to get meta for\n * @returns The meta for the given doctype\n * @throws NotImplementedError\n * @example\n * ```ts\n * const doctype = await registry.getMeta('Task')\n * const meta = stonecrop.getMeta(doctype)\n * ```\n * @see {@link DoctypeMeta}\n */\n getMeta(t) {\n return this.registry.getMeta ? this.registry.getMeta(t.doctype) : new ge(t.doctype);\n }\n /**\n * Gets the workflow for the given doctype\n * @param doctype - The doctype to get workflow for\n * @example\n * ```ts\n * const doctype = await registry.getMeta('Task')\n * stonecrop.getWorkflow(doctype)\n * ```\n */\n getWorkflow(t) {\n const r = this.registry.registry[t.slug];\n this.workflow = r.workflow;\n }\n /**\n * Gets the actions for the given doctype\n * @param doctype - The doctype to get actions for\n * @example\n * ```ts\n * const doctype = await registry.getMeta('Task')\n * stonecrop.getActions(doctype)\n * ```\n */\n getActions(t) {\n const r = this.registry.registry[t.slug];\n this.actions = r.actions;\n }\n /**\n * Gets the records for the given doctype\n * @param doctype - The doctype to get records for\n * @param filters - The filters to apply to the records\n * @example\n * ```ts\n * const doctype = await registry.getMeta('Task')\n * await stonecrop.getRecords(doctype)\n * ```\n * @example\n * ```ts\n * const doctype = await registry.getMeta('Task')\n * const filters = JSON.stringify({ status: 'Open' })\n * await stonecrop.getRecords(doctype, { body: filters })\n * ```\n */\n async getRecords(t, r) {\n this.store.$patch({ records: [] });\n const o = await (await fetch(`/${t.slug}`, r)).json();\n this.store.$patch({ records: o });\n }\n /**\n * Gets the record for the given doctype and id\n * @param doctype - The doctype to get record for\n * @param id - The id of the record to get\n * @example\n * ```ts\n * const doctype = await registry.getMeta('Task')\n * await stonecrop.getRecord(doctype, 'TASK-00001')\n * ```\n */\n async getRecord(t, r) {\n this.store.$patch({ record: {} });\n const o = await (await fetch(`/${t.slug}/${r}`)).json();\n this.store.$patch({ record: o });\n }\n /**\n * Runs the action for the given doctype and id\n * @param doctype - The doctype to run action for\n * @param action - The action to run\n * @param id - The id(s) of the record(s) to run action on\n * @example\n * ```ts\n * const doctype = await registry.getMeta('Task')\n * stonecrop.runAction(doctype, 'CREATE')\n * ```\n * @example\n * ```ts\n * const doctype = await registry.getMeta('Task')\n * stonecrop.runAction(doctype, 'UPDATE', ['TASK-00001'])\n * ```\n * @example\n * ```ts\n * const doctype = await registry.getMeta('Task')\n * stonecrop.runAction(doctype, 'DELETE', ['TASK-00001'])\n * ```\n * @example\n * ```ts\n * const doctype = await registry.getMeta('Task')\n * stonecrop.runAction(doctype, 'TRANSITION', ['TASK-00001', 'TASK-00002'])\n * ```\n */\n runAction(t, r, n) {\n var a;\n const s = (a = this.registry.registry[t.slug].actions) == null ? void 0 : a.get(r);\n if (this.workflow) {\n const { initialState: i } = this.workflow;\n this.workflow.transition(i, { type: r }), s && s.length > 0 && s.forEach((u) => {\n new Function(u)(n);\n });\n }\n }\n};\n/**\n * The root Stonecrop instance\n */\ny(H, \"_root\");\nlet me = H;\nvar Ze = !1;\nfunction Z(e, t, r) {\n return Array.isArray(e) ? (e.length = Math.max(e.length, t), e.splice(t, 1, r), r) : (e[t] = r, r);\n}\nfunction le(e, t) {\n if (Array.isArray(e)) {\n e.splice(t, 1);\n return;\n }\n delete e[t];\n}\nfunction Ft() {\n return et().__VUE_DEVTOOLS_GLOBAL_HOOK__;\n}\nfunction et() {\n return typeof navigator < \"u\" && typeof window < \"u\" ? window : typeof globalThis < \"u\" ? globalThis : {};\n}\nconst Ht = typeof Proxy == \"function\", Jt = \"devtools-plugin:setup\", Gt = \"plugin:settings:set\";\nlet B, ve;\nfunction Wt() {\n var e;\n return B !== void 0 || (typeof window < \"u\" && window.performance ? (B = !0, ve = window.performance) : typeof globalThis < \"u\" && (!((e = globalThis.perf_hooks) === null || e === void 0) && e.performance) ? (B = !0, ve = globalThis.perf_hooks.performance) : B = !1), B;\n}\nfunction zt() {\n return Wt() ? ve.now() : Date.now();\n}\nclass Qt {\n constructor(t, r) {\n this.target = null, this.targetQueue = [], this.onQueue = [], this.plugin = t, this.hook = r;\n const n = {};\n if (t.settings)\n for (const a in t.settings) {\n const i = t.settings[a];\n n[a] = i.defaultValue;\n }\n const o = `__vue-devtools-plugin-settings__${t.id}`;\n let s = Object.assign({}, n);\n try {\n const a = localStorage.getItem(o), i = JSON.parse(a);\n Object.assign(s, i);\n } catch {\n }\n this.fallbacks = {\n getSettings() {\n return s;\n },\n setSettings(a) {\n try {\n localStorage.setItem(o, JSON.stringify(a));\n } catch {\n }\n s = a;\n },\n now() {\n return zt();\n }\n }, r && r.on(Gt, (a, i) => {\n a === this.plugin.id && this.fallbacks.setSettings(i);\n }), this.proxiedOn = new Proxy({}, {\n get: (a, i) => this.target ? this.target.on[i] : (...u) => {\n this.onQueue.push({\n method: i,\n args: u\n });\n }\n }), this.proxiedTarget = new Proxy({}, {\n get: (a, i) => this.target ? this.target[i] : i === \"on\" ? this.proxiedOn : Object.keys(this.fallbacks).includes(i) ? (...u) => (this.targetQueue.push({\n method: i,\n args: u,\n resolve: () => {\n }\n }), this.fallbacks[i](...u)) : (...u) => new Promise((c) => {\n this.targetQueue.push({\n method: i,\n args: u,\n resolve: c\n });\n })\n });\n }\n async setRealTarget(t) {\n this.target = t;\n for (const r of this.onQueue)\n this.target.on[r.method](...r.args);\n for (const r of this.targetQueue)\n r.resolve(await this.target[r.method](...r.args));\n }\n}\nfunction tt(e, t) {\n const r = e, n = et(), o = Ft(), s = Ht && r.enableEarlyProxy;\n if (o && (n.__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__ || !s))\n o.emit(Jt, e, t);\n else {\n const a = s ? new Qt(r, o) : null;\n (n.__VUE_DEVTOOLS_PLUGINS__ = n.__VUE_DEVTOOLS_PLUGINS__ || []).push({\n pluginDescriptor: r,\n setupFn: t,\n proxy: a\n }), a && t(a.proxiedTarget);\n }\n}\n/*!\n * pinia v2.3.0\n * (c) 2024 Eduardo San Martin Morote\n * @license MIT\n */\nlet Q;\nconst X = (e) => Q = e, nt = process.env.NODE_ENV !== \"production\" ? Symbol(\"pinia\") : (\n /* istanbul ignore next */\n Symbol()\n);\nfunction V(e) {\n return e && typeof e == \"object\" && Object.prototype.toString.call(e) === \"[object Object]\" && typeof e.toJSON != \"function\";\n}\nvar P;\n(function(e) {\n e.direct = \"direct\", e.patchObject = \"patch object\", e.patchFunction = \"patch function\";\n})(P || (P = {}));\nconst M = typeof window < \"u\", Ae = 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 Yt(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 Se(e, t, r) {\n const n = new XMLHttpRequest();\n n.open(\"GET\", e), n.responseType = \"blob\", n.onload = function() {\n st(n.response, t, r);\n }, n.onerror = function() {\n console.error(\"could not download file\");\n }, n.send();\n}\nfunction rt(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 ee(e) {\n try {\n e.dispatchEvent(new MouseEvent(\"click\"));\n } catch {\n const r = document.createEvent(\"MouseEvents\");\n r.initMouseEvent(\"click\", !0, !0, window, 0, 0, 0, 80, 20, !1, !1, !1, !1, 0, null), e.dispatchEvent(r);\n }\n}\nconst te = typeof navigator == \"object\" ? navigator : { userAgent: \"\" }, ot = /Macintosh/.test(te.userAgent) && /AppleWebKit/.test(te.userAgent) && !/Safari/.test(te.userAgent), st = M ? (\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 && !ot ? qt : (\n // Use msSaveOrOpenBlob as a second approach\n \"msSaveOrOpenBlob\" in te ? Xt : (\n // Fallback to using FileReader and a popup\n Kt\n )\n )\n) : () => {\n};\nfunction qt(e, t = \"download\", r) {\n const n = document.createElement(\"a\");\n n.download = t, n.rel = \"noopener\", typeof e == \"string\" ? (n.href = e, n.origin !== location.origin ? rt(n.href) ? Se(e, t, r) : (n.target = \"_blank\", ee(n)) : ee(n)) : (n.href = URL.createObjectURL(e), setTimeout(function() {\n URL.revokeObjectURL(n.href);\n }, 4e4), setTimeout(function() {\n ee(n);\n }, 0));\n}\nfunction Xt(e, t = \"download\", r) {\n if (typeof e == \"string\")\n if (rt(e))\n Se(e, t, r);\n else {\n const n = document.createElement(\"a\");\n n.href = e, n.target = \"_blank\", setTimeout(function() {\n ee(n);\n });\n }\n else\n navigator.msSaveOrOpenBlob(Yt(e, r), t);\n}\nfunction Kt(e, t, r, n) {\n if (n = n || open(\"\", \"_blank\"), n && (n.document.title = n.document.body.innerText = \"downloading...\"), typeof e == \"string\")\n return Se(e, t, r);\n const o = e.type === \"application/octet-stream\", s = /constructor/i.test(String(Ae.HTMLElement)) || \"safari\" in Ae, a = /CriOS\\/[\\d]+/.test(navigator.userAgent);\n if ((a || o && s || ot) && typeof FileReader < \"u\") {\n const i = new FileReader();\n i.onloadend = function() {\n let u = i.result;\n if (typeof u != \"string\")\n throw n = null, new Error(\"Wrong reader.result type\");\n u = a ? u : u.replace(/^data:[^;]*;/, \"data:attachment/file;\"), n ? n.location.href = u : location.assign(u), n = null;\n }, i.readAsDataURL(e);\n } else {\n const i = URL.createObjectURL(e);\n n ? n.location.assign(i) : location.href = i, n = null, setTimeout(function() {\n URL.revokeObjectURL(i);\n }, 4e4);\n }\n}\nfunction _(e, t) {\n const r = \"🍍 \" + e;\n typeof __VUE_DEVTOOLS_TOAST__ == \"function\" ? __VUE_DEVTOOLS_TOAST__(r, t) : t === \"error\" ? console.error(r) : t === \"warn\" ? console.warn(r) : console.log(r);\n}\nfunction Oe(e) {\n return \"_a\" in e && \"install\" in e;\n}\nfunction it() {\n if (!(\"clipboard\" in navigator))\n return _(\"Your browser doesn't support the Clipboard API\", \"error\"), !0;\n}\nfunction at(e) {\n return e instanceof Error && e.message.toLowerCase().includes(\"document is not focused\") ? (_('You need to activate the \"Emulate a focused page\" setting in the \"Rendering\" panel of devtools.', \"warn\"), !0) : !1;\n}\nasync function Zt(e) {\n if (!it())\n try {\n await navigator.clipboard.writeText(JSON.stringify(e.state.value)), _(\"Global state copied to clipboard.\");\n } catch (t) {\n if (at(t))\n return;\n _(\"Failed to serialize the state. Check the console for more details.\", \"error\"), console.error(t);\n }\n}\nasync function en(e) {\n if (!it())\n try {\n ct(e, JSON.parse(await navigator.clipboard.readText())), _(\"Global state pasted from clipboard.\");\n } catch (t) {\n if (at(t))\n return;\n _(\"Failed to deserialize the state from clipboard. Check the console for more details.\", \"error\"), console.error(t);\n }\n}\nasync function tn(e) {\n try {\n st(new Blob([JSON.stringify(e.state.value)], {\n type: \"text/plain;charset=utf-8\"\n }), \"pinia-state.json\");\n } catch (t) {\n _(\"Failed to export the state as JSON. Check the console for more details.\", \"error\"), console.error(t);\n }\n}\nlet k;\nfunction nn() {\n k || (k = document.createElement(\"input\"), k.type = \"file\", k.accept = \".json\");\n function e() {\n return new Promise((t, r) => {\n k.onchange = async () => {\n const n = k.files;\n if (!n)\n return t(null);\n const o = n.item(0);\n return t(o ? { text: await o.text(), file: o } : null);\n }, k.oncancel = () => t(null), k.onerror = r, k.click();\n });\n }\n return e;\n}\nasync function rn(e) {\n try {\n const r = await nn()();\n if (!r)\n return;\n const { text: n, file: o } = r;\n ct(e, JSON.parse(n)), _(`Global state imported from \"${o.name}\".`);\n } catch (t) {\n _(\"Failed to import the state from JSON. Check the console for more details.\", \"error\"), console.error(t);\n }\n}\nfunction ct(e, t) {\n for (const r in t) {\n const n = e.state.value[r];\n n ? Object.assign(n, t[r]) : e.state.value[r] = t[r];\n }\n}\nfunction N(e) {\n return {\n _custom: {\n display: e\n }\n };\n}\nconst ut = \"🍍 Pinia (root)\", ne = \"_root\";\nfunction on(e) {\n return Oe(e) ? {\n id: ne,\n label: ut\n } : {\n id: e.$id,\n label: e.$id\n };\n}\nfunction sn(e) {\n if (Oe(e)) {\n const r = Array.from(e._s.keys()), n = e._s;\n return {\n state: r.map((s) => ({\n editable: !0,\n key: s,\n value: e.state.value[s]\n })),\n getters: r.filter((s) => n.get(s)._getters).map((s) => {\n const a = n.get(s);\n return {\n editable: !1,\n key: s,\n value: a._getters.reduce((i, u) => (i[u] = a[u], i), {})\n };\n })\n };\n }\n const t = {\n state: Object.keys(e.$state).map((r) => ({\n editable: !0,\n key: r,\n value: e.$state[r]\n }))\n };\n return e._getters && e._getters.length && (t.getters = e._getters.map((r) => ({\n editable: !1,\n key: r,\n value: e[r]\n }))), e._customProperties.size && (t.customProperties = Array.from(e._customProperties).map((r) => ({\n editable: !0,\n key: r,\n value: e[r]\n }))), t;\n}\nfunction an(e) {\n return e ? Array.isArray(e) ? e.reduce((t, r) => (t.keys.push(r.key), t.operations.push(r.type), t.oldValue[r.key] = r.oldValue, t.newValue[r.key] = r.newValue, t), {\n oldValue: {},\n keys: [],\n operations: [],\n newValue: {}\n }) : {\n operation: N(e.type),\n key: N(e.key),\n oldValue: e.oldValue,\n newValue: e.newValue\n } : {};\n}\nfunction cn(e) {\n switch (e) {\n case P.direct:\n return \"mutation\";\n case P.patchFunction:\n return \"$patch\";\n case P.patchObject:\n return \"$patch\";\n default:\n return \"unknown\";\n }\n}\nlet U = !0;\nconst re = [], L = \"pinia:mutations\", b = \"pinia\", { assign: un } = Object, oe = (e) => \"🍍 \" + e;\nfunction ln(e, t) {\n tt({\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: re,\n app: e\n }, (r) => {\n typeof r.now != \"function\" && _(\"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.\"), r.addTimelineLayer({\n id: L,\n label: \"Pinia 🍍\",\n color: 15064968\n }), r.addInspector({\n id: b,\n label: \"Pinia 🍍\",\n icon: \"storage\",\n treeFilterPlaceholder: \"Search stores\",\n actions: [\n {\n icon: \"content_copy\",\n action: () => {\n Zt(t);\n },\n tooltip: \"Serialize and copy the state\"\n },\n {\n icon: \"content_paste\",\n action: async () => {\n await en(t), r.sendInspectorTree(b), r.sendInspectorState(b);\n },\n tooltip: \"Replace the state with the content of your clipboard\"\n },\n {\n icon: \"save\",\n action: () => {\n tn(t);\n },\n tooltip: \"Save the state as a JSON file\"\n },\n {\n icon: \"folder_open\",\n action: async () => {\n await rn(t), r.sendInspectorTree(b), r.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: (n) => {\n const o = t._s.get(n);\n o ? typeof o.$reset != \"function\" ? _(`Cannot reset \"${n}\" store because it doesn't have a \"$reset\" method implemented.`, \"warn\") : (o.$reset(), _(`Store \"${n}\" reset.`)) : _(`Cannot reset \"${n}\" store because it wasn't found.`, \"warn\");\n }\n }\n ]\n }), r.on.inspectComponent((n, o) => {\n const s = n.componentInstance && n.componentInstance.proxy;\n if (s && s._pStores) {\n const a = n.componentInstance.proxy._pStores;\n Object.values(a).forEach((i) => {\n n.instanceData.state.push({\n type: oe(i.$id),\n key: \"state\",\n editable: !0,\n value: i._isOptionsAPI ? {\n _custom: {\n value: Y(i.$state),\n actions: [\n {\n icon: \"restore\",\n tooltip: \"Reset the state of this store\",\n action: () => i.$reset()\n }\n ]\n }\n } : (\n // NOTE: workaround to unwrap transferred refs\n Object.keys(i.$state).reduce((u, c) => (u[c] = i.$state[c], u), {})\n )\n }), i._getters && i._getters.length && n.instanceData.state.push({\n type: oe(i.$id),\n key: \"getters\",\n editable: !1,\n value: i._getters.reduce((u, c) => {\n try {\n u[c] = i[c];\n } catch (p) {\n u[c] = p;\n }\n return u;\n }, {})\n });\n });\n }\n }), r.on.getInspectorTree((n) => {\n if (n.app === e && n.inspectorId === b) {\n let o = [t];\n o = o.concat(Array.from(t._s.values())), n.rootNodes = (n.filter ? o.filter((s) => \"$id\" in s ? s.$id.toLowerCase().includes(n.filter.toLowerCase()) : ut.toLowerCase().includes(n.filter.toLowerCase())) : o).map(on);\n }\n }), globalThis.$pinia = t, r.on.getInspectorState((n) => {\n if (n.app === e && n.inspectorId === b) {\n const o = n.nodeId === ne ? t : t._s.get(n.nodeId);\n if (!o)\n return;\n o && (n.nodeId !== ne && (globalThis.$store = Y(o)), n.state = sn(o));\n }\n }), r.on.editInspectorState((n, o) => {\n if (n.app === e && n.inspectorId === b) {\n const s = n.nodeId === ne ? t : t._s.get(n.nodeId);\n if (!s)\n return _(`store \"${n.nodeId}\" not found`, \"error\");\n const { path: a } = n;\n Oe(s) ? a.unshift(\"state\") : (a.length !== 1 || !s._customProperties.has(a[0]) || a[0] in s.$state) && a.unshift(\"$state\"), U = !1, n.set(s, a, n.state.value), U = !0;\n }\n }), r.on.editComponentState((n) => {\n if (n.type.startsWith(\"🍍\")) {\n const o = n.type.replace(/^🍍\\s*/, \"\"), s = t._s.get(o);\n if (!s)\n return _(`store \"${o}\" not found`, \"error\");\n const { path: a } = n;\n if (a[0] !== \"state\")\n return _(`Invalid path for store \"${o}\":\n${a}\nOnly state can be modified.`);\n a[0] = \"$state\", U = !1, n.set(s, a, n.state.value), U = !0;\n }\n });\n });\n}\nfunction fn(e, t) {\n re.includes(oe(t.$id)) || re.push(oe(t.$id)), tt({\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: re,\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 }, (r) => {\n const n = typeof r.now == \"function\" ? r.now.bind(r) : Date.now;\n t.$onAction(({ after: a, onError: i, name: u, args: c }) => {\n const p = lt++;\n r.addTimelineEvent({\n layerId: L,\n event: {\n time: n(),\n title: \"🛫 \" + u,\n subtitle: \"start\",\n data: {\n store: N(t.$id),\n action: N(u),\n args: c\n },\n groupId: p\n }\n }), a((d) => {\n C = void 0, r.addTimelineEvent({\n layerId: L,\n event: {\n time: n(),\n title: \"🛬 \" + u,\n subtitle: \"end\",\n data: {\n store: N(t.$id),\n action: N(u),\n args: c,\n result: d\n },\n groupId: p\n }\n });\n }), i((d) => {\n C = void 0, r.addTimelineEvent({\n layerId: L,\n event: {\n time: n(),\n logType: \"error\",\n title: \"💥 \" + u,\n subtitle: \"end\",\n data: {\n store: N(t.$id),\n action: N(u),\n args: c,\n error: d\n },\n groupId: p\n }\n });\n });\n }, !0), t._customProperties.forEach((a) => {\n we(() => At(t[a]), (i, u) => {\n r.notifyComponentUpdate(), r.sendInspectorState(b), U && r.addTimelineEvent({\n layerId: L,\n event: {\n time: n(),\n title: \"Change\",\n subtitle: a,\n data: {\n newValue: i,\n oldValue: u\n },\n groupId: C\n }\n });\n }, { deep: !0 });\n }), t.$subscribe(({ events: a, type: i }, u) => {\n if (r.notifyComponentUpdate(), r.sendInspectorState(b), !U)\n return;\n const c = {\n time: n(),\n title: cn(i),\n data: un({ store: N(t.$id) }, an(a)),\n groupId: C\n };\n i === P.patchFunction ? c.subtitle = \"⤵️\" : i === P.patchObject ? c.subtitle = \"🧩\" : a && !Array.isArray(a) && (c.subtitle = a.type), a && (c.data[\"rawEvent(s)\"] = {\n _custom: {\n display: \"DebuggerEvent\",\n type: \"object\",\n tooltip: \"raw DebuggerEvent[]\",\n value: a\n }\n }), r.addTimelineEvent({\n layerId: L,\n event: c\n });\n }, { detached: !0, flush: \"sync\" });\n const o = t._hotUpdate;\n t._hotUpdate = A((a) => {\n o(a), r.addTimelineEvent({\n layerId: L,\n event: {\n time: n(),\n title: \"🔥 \" + t.$id,\n subtitle: \"HMR update\",\n data: {\n store: N(t.$id),\n info: N(\"HMR update\")\n }\n }\n }), r.notifyComponentUpdate(), r.sendInspectorTree(b), r.sendInspectorState(b);\n });\n const { $dispose: s } = t;\n t.$dispose = () => {\n s(), r.notifyComponentUpdate(), r.sendInspectorTree(b), r.sendInspectorState(b), r.getSettings().logStoreChanges && _(`Disposed \"${t.$id}\" store 🗑`);\n }, r.notifyComponentUpdate(), r.sendInspectorTree(b), r.sendInspectorState(b), r.getSettings().logStoreChanges && _(`\"${t.$id}\" store installed 🆕`);\n });\n}\nlet lt = 0, C;\nfunction je(e, t, r) {\n const n = t.reduce((o, s) => (o[s] = Y(e)[s], o), {});\n for (const o in n)\n e[o] = function() {\n const s = lt, a = r ? new Proxy(e, {\n get(...u) {\n return C = s, Reflect.get(...u);\n },\n set(...u) {\n return C = s, Reflect.set(...u);\n }\n }) : e;\n C = s;\n const i = n[o].apply(a, arguments);\n return C = void 0, i;\n };\n}\nfunction dn({ app: e, store: t, options: r }) {\n if (!t.$id.startsWith(\"__hot:\")) {\n if (t._isOptionsAPI = !!r.state, !t._p._testing) {\n je(t, Object.keys(r.actions), t._isOptionsAPI);\n const n = t._hotUpdate;\n Y(t)._hotUpdate = function(o) {\n n.apply(this, arguments), je(t, Object.keys(o._hmrPayload.actions), !!t._isOptionsAPI);\n };\n }\n fn(\n e,\n // FIXME: is there a way to allow the assignment from Store<Id, S, G, A> to StoreGeneric?\n t\n );\n }\n}\nfunction pn() {\n const e = qe(!0), t = e.run(() => G({}));\n let r = [], n = [];\n const o = A({\n install(s) {\n X(o), o._a = s, s.provide(nt, o), s.config.globalProperties.$pinia = o, process.env.NODE_ENV !== \"production\" && process.env.NODE_ENV !== \"test\" && M && ln(s, o), n.forEach((a) => r.push(a)), n = [];\n },\n use(s) {\n return !this._a && !Ze ? n.push(s) : r.push(s), this;\n },\n _p: r,\n // it's actually undefined here\n // @ts-expect-error\n _a: null,\n _e: e,\n _s: /* @__PURE__ */ new Map(),\n state: t\n });\n return process.env.NODE_ENV !== \"production\" && process.env.NODE_ENV !== \"test\" && M && typeof Proxy < \"u\" && o.use(dn), o;\n}\nfunction ft(e, t) {\n for (const r in t) {\n const n = t[r];\n if (!(r in e))\n continue;\n const o = e[r];\n V(o) && V(n) && !q(n) && !Ee(n) ? e[r] = ft(o, n) : e[r] = n;\n }\n return e;\n}\nconst dt = () => {\n};\nfunction Ve(e, t, r, n = dt) {\n e.push(t);\n const o = () => {\n const s = e.indexOf(t);\n s > -1 && (e.splice(s, 1), n());\n };\n return !r && Bt() && xt(o), o;\n}\nfunction x(e, ...t) {\n e.slice().forEach((r) => {\n r(...t);\n });\n}\nconst hn = (e) => e(), Re = Symbol(), fe = Symbol();\nfunction ye(e, t) {\n e instanceof Map && t instanceof Map ? t.forEach((r, n) => e.set(n, r)) : e instanceof Set && t instanceof Set && t.forEach(e.add, e);\n for (const r in t) {\n if (!t.hasOwnProperty(r))\n continue;\n const n = t[r], o = e[r];\n V(o) && V(n) && e.hasOwnProperty(r) && !q(n) && !Ee(n) ? e[r] = ye(o, n) : e[r] = n;\n }\n return e;\n}\nconst gn = process.env.NODE_ENV !== \"production\" ? Symbol(\"pinia:skipHydration\") : (\n /* istanbul ignore next */\n Symbol()\n);\nfunction mn(e) {\n return !V(e) || !e.hasOwnProperty(gn);\n}\nconst { assign: I } = Object;\nfunction Be(e) {\n return !!(q(e) && e.effect);\n}\nfunction xe(e, t, r, n) {\n const { state: o, actions: s, getters: a } = t, i = r.state.value[e];\n let u;\n function c() {\n !i && (process.env.NODE_ENV === \"production\" || !n) && (r.state.value[e] = o ? o() : {});\n const p = process.env.NODE_ENV !== \"production\" && n ? (\n // use ref() to unwrap refs inside state TODO: check if this is still necessary\n Le(G(o ? o() : {}).value)\n ) : Le(r.state.value[e]);\n return I(p, s, Object.keys(a || {}).reduce((d, g) => (process.env.NODE_ENV !== \"production\" && g in p && console.warn(`[🍍]: A getter cannot have the same name as another state property. Rename one of them. Found with \"${g}\" in store \"${e}\".`), d[g] = A(Ke(() => {\n X(r);\n const w = r._s.get(e);\n return a[g].call(w, w);\n })), d), {}));\n }\n return u = _e(e, c, t, r, n, !0), u;\n}\nfunction _e(e, t, r = {}, n, o, s) {\n let a;\n const i = I({ actions: {} }, r);\n if (process.env.NODE_ENV !== \"production\" && !n._e.active)\n throw new Error(\"Pinia destroyed\");\n const u = { deep: !0 };\n process.env.NODE_ENV !== \"production\" && !Ze && (u.onTrigger = (f) => {\n c ? w = f : c == !1 && !h._hotUpdating && (Array.isArray(w) ? w.push(f) : console.error(\"🍍 debuggerEvents should be an array. This is most likely an internal Pinia bug.\"));\n });\n let c, p, d = [], g = [], w;\n const E = n.state.value[e];\n !s && !E && (process.env.NODE_ENV === \"production\" || !o) && (n.state.value[e] = {});\n const R = G({});\n let v;\n function T(f) {\n let l;\n c = p = !1, process.env.NODE_ENV !== \"production\" && (w = []), typeof f == \"function\" ? (f(n.state.value[e]), l = {\n type: P.patchFunction,\n storeId: e,\n events: w\n }) : (ye(n.state.value[e], f), l = {\n type: P.patchObject,\n payload: f,\n storeId: e,\n events: w\n });\n const m = v = Symbol();\n Ce().then(() => {\n v === m && (c = !0);\n }), p = !0, x(d, l, n.state.value[e]);\n }\n const $t = s ? function() {\n const { state: l } = r, m = l ? l() : {};\n this.$patch((S) => {\n I(S, m);\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 } : dt\n );\n function Tt() {\n a.stop(), d = [], g = [], n._s.delete(e);\n }\n const ae = (f, l = \"\") => {\n if (Re in f)\n return f[fe] = l, f;\n const m = function() {\n X(n);\n const S = Array.from(arguments), W = [], ce = [];\n function Dt(O) {\n W.push(O);\n }\n function Mt(O) {\n ce.push(O);\n }\n x(g, {\n args: S,\n name: m[fe],\n store: h,\n after: Dt,\n onError: Mt\n });\n let z;\n try {\n z = f.apply(this && this.$id === e ? this : h, S);\n } catch (O) {\n throw x(ce, O), O;\n }\n return z instanceof Promise ? z.then((O) => (x(W, O), O)).catch((O) => (x(ce, O), Promise.reject(O))) : (x(W, z), z);\n };\n return m[Re] = !0, m[fe] = l, m;\n }, K = /* @__PURE__ */ A({\n actions: {},\n getters: {},\n state: [],\n hotState: R\n }), Me = {\n _p: n,\n // _s: scope,\n $id: e,\n $onAction: Ve.bind(null, g),\n $patch: T,\n $reset: $t,\n $subscribe(f, l = {}) {\n const m = Ve(d, f, l.detached, () => S()), S = a.run(() => we(() => n.state.value[e], (W) => {\n (l.flush === \"sync\" ? p : c) && f({\n storeId: e,\n type: P.direct,\n events: w\n }, W);\n }, I({}, u, l)));\n return m;\n },\n $dispose: Tt\n }, h = Rt(process.env.NODE_ENV !== \"production\" || process.env.NODE_ENV !== \"production\" && process.env.NODE_ENV !== \"test\" && M ? I(\n {\n _hmrPayload: K,\n _customProperties: A(/* @__PURE__ */ new Set())\n // devtools custom properties\n },\n Me\n // must be added later\n // setupStore\n ) : Me);\n n._s.set(e, h);\n const D = (n._a && n._a.runWithContext || hn)(() => n._e.run(() => (a = qe()).run(() => t({ action: ae }))));\n for (const f in D) {\n const l = D[f];\n if (q(l) && !Be(l) || Ee(l))\n process.env.NODE_ENV !== \"production\" && o ? Z(R.value, f, ue(D, f)) : s || (E && mn(l) && (q(l) ? l.value = E[f] : ye(l, E[f])), n.state.value[e][f] = l), process.env.NODE_ENV !== \"production\" && K.state.push(f);\n else if (typeof l == \"function\") {\n const m = process.env.NODE_ENV !== \"production\" && o ? l : ae(l, f);\n D[f] = m, process.env.NODE_ENV !== \"production\" && (K.actions[f] = l), i.actions[f] = l;\n } else process.env.NODE_ENV !== \"production\" && Be(l) && (K.getters[f] = s ? (\n // @ts-expect-error\n r.getters[f]\n ) : l, M && (D._getters || // @ts-expect-error: same\n (D._getters = A([]))).push(f));\n }\n if (I(h, D), I(Y(h), D), Object.defineProperty(h, \"$state\", {\n get: () => process.env.NODE_ENV !== \"production\" && o ? R.value : n.state.value[e],\n set: (f) => {\n if (process.env.NODE_ENV !== \"production\" && o)\n throw new Error(\"cannot set hotState\");\n T((l) => {\n I(l, f);\n });\n }\n }), process.env.NODE_ENV !== \"production\" && (h._hotUpdate = A((f) => {\n h._hotUpdating = !0, f._hmrPayload.state.forEach((l) => {\n if (l in h.$state) {\n const m = f.$state[l], S = h.$state[l];\n typeof m == \"object\" && V(m) && V(S) ? ft(m, S) : f.$state[l] = S;\n }\n Z(h, l, ue(f.$state, l));\n }), Object.keys(h.$state).forEach((l) => {\n l in f.$state || le(h, l);\n }), c = !1, p = !1, n.state.value[e] = ue(f._hmrPayload, \"hotState\"), p = !0, Ce().then(() => {\n c = !0;\n });\n for (const l in f._hmrPayload.actions) {\n const m = f[l];\n Z(h, l, ae(m, l));\n }\n for (const l in f._hmrPayload.getters) {\n const m = f._hmrPayload.getters[l], S = s ? (\n // special handling of options api\n Ke(() => (X(n), m.call(h, h)))\n ) : m;\n Z(h, l, S);\n }\n Object.keys(h._hmrPayload.getters).forEach((l) => {\n l in f._hmrPayload.getters || le(h, l);\n }), Object.keys(h._hmrPayload.actions).forEach((l) => {\n l in f._hmrPayload.actions || le(h, l);\n }), h._hmrPayload = f._hmrPayload, h._getters = f._getters, h._hotUpdating = !1;\n })), process.env.NODE_ENV !== \"production\" && process.env.NODE_ENV !== \"test\" && M) {\n const f = {\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((l) => {\n Object.defineProperty(h, l, I({ value: h[l] }, f));\n });\n }\n return n._p.forEach((f) => {\n if (process.env.NODE_ENV !== \"production\" && process.env.NODE_ENV !== \"test\" && M) {\n const l = a.run(() => f({\n store: h,\n app: n._a,\n pinia: n,\n options: i\n }));\n Object.keys(l || {}).forEach((m) => h._customProperties.add(m)), I(h, l);\n } else\n I(h, a.run(() => f({\n store: h,\n app: n._a,\n pinia: n,\n options: i\n })));\n }), process.env.NODE_ENV !== \"production\" && h.$state && typeof h.$state == \"object\" && typeof h.$state.constructor == \"function\" && !h.$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 \"${h.$id}\".`), E && s && r.hydrate && r.hydrate(h.$state, E), c = !0, p = !0, h;\n}\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction vn(e, t, r) {\n let n, o;\n const s = typeof t == \"function\";\n n = e, o = s ? r : t;\n function a(i, u) {\n const c = jt();\n if (i = // in test mode, ignore the argument provided as we can always retrieve a\n // pinia instance with getActivePinia()\n (process.env.NODE_ENV === \"test\" && Q && Q._testing ? null : i) || (c ? Xe(nt, null) : null), i && X(i), process.env.NODE_ENV !== \"production\" && !Q)\n throw new Error(`[🍍]: \"getActivePinia()\" was called but there was no active Pinia. Are you trying to use a store before calling \"app.use(pinia)\"?\nSee https://pinia.vuejs.org/core-concepts/outside-component-usage.html for help.\nThis will fail in production.`);\n i = Q, i._s.has(n) || (s ? _e(n, t, o, i) : xe(n, o, i), process.env.NODE_ENV !== \"production\" && (a._pinia = i));\n const p = i._s.get(n);\n if (process.env.NODE_ENV !== \"production\" && u) {\n const d = \"__hot:\" + n, g = s ? _e(d, t, o, i, !0) : xe(d, I({}, o), i, !0);\n u._hotUpdate(g), delete i.state.value[d], i._s.delete(d);\n }\n if (process.env.NODE_ENV !== \"production\" && M) {\n const d = Vt();\n if (d && d.proxy && // avoid adding stores that are just built for hot module replacement\n !u) {\n const g = d.proxy, w = \"_pStores\" in g ? g._pStores : g._pStores = {};\n w[n] = p;\n }\n }\n return p;\n }\n return a.$id = n, a;\n}\nconst yn = /* @__PURE__ */ vn(\"data\", () => {\n const e = G([]), t = G({});\n return { records: e, record: t };\n});\nfunction Tr(e) {\n const t = G();\n return Ut(async () => {\n var i, u, c;\n e || (e = Xe(\"$registry\"));\n let r;\n try {\n r = yn();\n } catch {\n throw new Error(\"Please enable the Stonecrop plugin before using the Stonecrop composable\");\n }\n if (t.value = new me(e, r), !e || !e.router) return;\n const n = e.router.currentRoute.value, o = (i = n.params.records) == null ? void 0 : i.toString().toLowerCase(), s = (u = n.params.record) == null ? void 0 : u.toString().toLowerCase();\n if (!o && !s)\n return;\n const a = await ((c = e.getMeta) == null ? void 0 : c.call(e, o));\n a && (e.addDoctype(a), t.value.setup(a), o && (s ? await t.value.getRecord(a, s) : await t.value.getRecords(a)), t.value.runAction(a, \"LOAD\", s ? [s] : void 0));\n }), { stonecrop: t };\n}\nclass Dr {\n // TODO: allow different components for different views; probably\n // should be defined in the schema instead?\n constructor(t, r, n, o, s) {\n /**\n * The doctype name\n * @public\n * @readonly\n */\n y(this, \"doctype\");\n /**\n * The doctype schema\n * @public\n * @readonly\n */\n y(this, \"schema\");\n /**\n * The doctype workflow\n * @public\n * @readonly\n */\n y(this, \"workflow\");\n /**\n * The doctype actions\n * @public\n * @readonly\n */\n y(this, \"actions\");\n /**\n * The doctype component\n * @public\n * @readonly\n */\n y(this, \"component\");\n this.doctype = t, this.schema = r, this.workflow = n, this.actions = o, this.component = s;\n }\n /**\n * Converts the registered doctype to a slug (kebab-case)\n * @returns The slugified doctype string\n * @public\n */\n get slug() {\n return this.doctype.replace(/([a-z])([A-Z])/g, \"$1-$2\").replace(/[\\s_]+/g, \"-\").toLowerCase();\n }\n}\nconst J = class J {\n constructor(t, r) {\n /**\n * The name of the Registry instance\n *\n * @defaultValue 'Registry'\n */\n y(this, \"name\");\n /**\n * The registry property contains a collection of doctypes\n * @see {@link DoctypeMeta}\n */\n y(this, \"registry\");\n /**\n * The Vue router instance\n * @see {@link https://router.vuejs.org/}\n */\n y(this, \"router\");\n /**\n * The getMeta function fetches doctype metadata from an API\n * @see {@link DoctypeMeta}\n */\n y(this, \"getMeta\");\n if (J._root)\n return J._root;\n J._root = this, this.name = \"Registry\", this.registry = {}, this.router = t, this.getMeta = r;\n }\n /**\n * Get doctype metadata\n * @param doctype - The doctype to fetch metadata for\n * @returns The doctype metadata\n * @see {@link DoctypeMeta}\n */\n addDoctype(t) {\n t.doctype in Object.keys(this.registry) || (this.registry[t.slug] = t), t.component && this.router && !this.router.hasRoute(t.doctype) && this.router.addRoute({\n path: `/${t.slug}`,\n name: t.slug,\n component: t.component\n });\n }\n};\n/**\n * The root Registry instance\n */\ny(J, \"_root\");\nlet be = J;\nfunction _n(e) {\n return e && typeof e.then == \"function\";\n}\nPromise.resolve(!1);\nPromise.resolve(!0);\nvar j = Promise.resolve();\nfunction pt(e, t) {\n return e || (e = 0), new Promise(function(r) {\n return setTimeout(function() {\n return r(t);\n }, e);\n });\n}\nfunction bn(e, t) {\n return Math.floor(Math.random() * (t - e + 1) + e);\n}\nfunction Ie() {\n return Math.random().toString(36).substring(2);\n}\nvar Ue = 0, de = 0;\nfunction se() {\n var e = (/* @__PURE__ */ new Date()).getTime();\n return e === Ue ? (de++, e * 1e3 + de) : (Ue = e, de = 0, e * 1e3);\n}\nvar wn = se, En = \"native\";\nfunction Sn(e) {\n var t = {\n messagesCallback: null,\n bc: new BroadcastChannel(e),\n subFns: []\n // subscriberFunctions\n };\n return t.bc.onmessage = function(r) {\n t.messagesCallback && t.messagesCallback(r.data);\n }, t;\n}\nfunction On(e) {\n e.bc.close(), e.subFns = [];\n}\nfunction In(e, t) {\n try {\n return e.bc.postMessage(t, !1), j;\n } catch (r) {\n return Promise.reject(r);\n }\n}\nfunction Nn(e, t) {\n e.messagesCallback = t;\n}\nfunction Pn() {\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 kn() {\n return 150;\n}\nvar $n = {\n create: Sn,\n close: On,\n onMessage: Nn,\n postMessage: In,\n canBeUsed: Pn,\n type: En,\n averageResponseTime: kn,\n microSeconds: wn\n}, ht = (\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 r = this;\n this.map.set(t, gt()), this._to || (this._to = !0, setTimeout(function() {\n r._to = !1, Tn(r);\n }, 0));\n }, e.prototype.clear = function() {\n this.map.clear();\n }, e;\n }()\n);\nfunction Tn(e) {\n for (var t = gt() - e.ttl, r = e.map[Symbol.iterator](); ; ) {\n var n = r.next().value;\n if (!n)\n return;\n var o = n[0], s = n[1];\n if (s < t)\n e.map.delete(o);\n else\n return;\n }\n}\nfunction gt() {\n return (/* @__PURE__ */ new Date()).getTime();\n}\nfunction Ne() {\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 Dn = se, Mn = \"pubkey.broadcast-channel-0-\", $ = \"messages\", ie = {\n durability: \"relaxed\"\n}, Cn = \"idb\";\nfunction mt() {\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 Pe(e) {\n e.commit && e.commit();\n}\nfunction Ln(e) {\n var t = mt(), r = Mn + e, n = t.open(r);\n return n.onupgradeneeded = function(o) {\n var s = o.target.result;\n s.createObjectStore($, {\n keyPath: \"id\",\n autoIncrement: !0\n });\n }, new Promise(function(o, s) {\n n.onerror = function(a) {\n return s(a);\n }, n.onsuccess = function() {\n o(n.result);\n };\n });\n}\nfunction An(e, t, r) {\n var n = (/* @__PURE__ */ new Date()).getTime(), o = {\n uuid: t,\n time: n,\n data: r\n }, s = e.transaction([$], \"readwrite\", ie);\n return new Promise(function(a, i) {\n s.oncomplete = function() {\n return a();\n }, s.onerror = function(c) {\n return i(c);\n };\n var u = s.objectStore($);\n u.add(o), Pe(s);\n });\n}\nfunction jn(e, t) {\n var r = e.transaction($, \"readonly\", ie), n = r.objectStore($), o = [], s = IDBKeyRange.bound(t + 1, 1 / 0);\n if (n.getAll) {\n var a = n.getAll(s);\n return new Promise(function(u, c) {\n a.onerror = function(p) {\n return c(p);\n }, a.onsuccess = function(p) {\n u(p.target.result);\n };\n });\n }\n function i() {\n try {\n return s = IDBKeyRange.bound(t + 1, 1 / 0), n.openCursor(s);\n } catch {\n return n.openCursor();\n }\n }\n return new Promise(function(u, c) {\n var p = i();\n p.onerror = function(d) {\n return c(d);\n }, p.onsuccess = function(d) {\n var g = d.target.result;\n g ? g.value.id < t + 1 ? g.continue(t + 1) : (o.push(g.value), g.continue()) : (Pe(r), u(o));\n };\n });\n}\nfunction Vn(e, t) {\n if (e.closed)\n return Promise.resolve([]);\n var r = e.db.transaction($, \"readwrite\", ie), n = r.objectStore($);\n return Promise.all(t.map(function(o) {\n var s = n.delete(o);\n return new Promise(function(a) {\n s.onsuccess = function() {\n return a();\n };\n });\n }));\n}\nfunction Rn(e, t) {\n var r = (/* @__PURE__ */ new Date()).getTime() - t, n = e.transaction($, \"readonly\", ie), o = n.objectStore($), s = [];\n return new Promise(function(a) {\n o.openCursor().onsuccess = function(i) {\n var u = i.target.result;\n if (u) {\n var c = u.value;\n c.time < r ? (s.push(c), u.continue()) : (Pe(n), a(s));\n } else\n a(s);\n };\n });\n}\nfunction Bn(e) {\n return Rn(e.db, e.options.idb.ttl).then(function(t) {\n return Vn(e, t.map(function(r) {\n return r.id;\n }));\n });\n}\nfunction xn(e, t) {\n return t = Ne(t), Ln(e).then(function(r) {\n var n = {\n closed: !1,\n lastCursorId: 0,\n channelName: e,\n options: t,\n uuid: Ie(),\n /**\n * emittedMessagesIds\n * contains all messages that have been emitted before\n * @type {ObliviousSet}\n */\n eMIs: new ht(t.idb.ttl * 2),\n // ensures we do not read messages in parallel\n writeBlockPromise: j,\n messagesCallback: null,\n readQueuePromises: [],\n db: r\n };\n return r.onclose = function() {\n n.closed = !0, t.idb.onclose && t.idb.onclose();\n }, vt(n), n;\n });\n}\nfunction vt(e) {\n e.closed || yt(e).then(function() {\n return pt(e.options.idb.fallbackInterval);\n }).then(function() {\n return vt(e);\n });\n}\nfunction Un(e, t) {\n return !(e.uuid === t.uuid || t.eMIs.has(e.id) || e.data.time < t.messagesCallbackTime);\n}\nfunction yt(e) {\n return e.closed || !e.messagesCallback ? j : jn(e.db, e.lastCursorId).then(function(t) {\n var r = t.filter(function(n) {\n return !!n;\n }).map(function(n) {\n return n.id > e.lastCursorId && (e.lastCursorId = n.id), n;\n }).filter(function(n) {\n return Un(n, e);\n }).sort(function(n, o) {\n return n.time - o.time;\n });\n return r.forEach(function(n) {\n e.messagesCallback && (e.eMIs.add(n.id), e.messagesCallback(n.data));\n }), j;\n });\n}\nfunction Fn(e) {\n e.closed = !0, e.db.close();\n}\nfunction Hn(e, t) {\n return e.writeBlockPromise = e.writeBlockPromise.then(function() {\n return An(e.db, e.uuid, t);\n }).then(function() {\n bn(0, 10) === 0 && Bn(e);\n }), e.writeBlockPromise;\n}\nfunction Jn(e, t, r) {\n e.messagesCallbackTime = r, e.messagesCallback = t, yt(e);\n}\nfunction Gn() {\n return !!mt();\n}\nfunction Wn(e) {\n return e.idb.fallbackInterval * 2;\n}\nvar zn = {\n create: xn,\n close: Fn,\n onMessage: Jn,\n postMessage: Hn,\n canBeUsed: Gn,\n type: Cn,\n averageResponseTime: Wn,\n microSeconds: Dn\n}, Qn = se, Yn = \"pubkey.broadcastChannel-\", qn = \"localstorage\";\nfunction _t() {\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 bt(e) {\n return Yn + e;\n}\nfunction Xn(e, t) {\n return new Promise(function(r) {\n pt().then(function() {\n var n = bt(e.channelName), o = {\n token: Ie(),\n time: (/* @__PURE__ */ new Date()).getTime(),\n data: t,\n uuid: e.uuid\n }, s = JSON.stringify(o);\n _t().setItem(n, s);\n var a = document.createEvent(\"Event\");\n a.initEvent(\"storage\", !0, !0), a.key = n, a.newValue = s, window.dispatchEvent(a), r();\n });\n });\n}\nfunction Kn(e, t) {\n var r = bt(e), n = function(s) {\n s.key === r && t(JSON.parse(s.newValue));\n };\n return window.addEventListener(\"storage\", n), n;\n}\nfunction Zn(e) {\n window.removeEventListener(\"storage\", e);\n}\nfunction er(e, t) {\n if (t = Ne(t), !wt())\n throw new Error(\"BroadcastChannel: localstorage cannot be used\");\n var r = Ie(), n = new ht(t.localstorage.removeTimeout), o = {\n channelName: e,\n uuid: r,\n eMIs: n\n // emittedMessagesIds\n };\n return o.listener = Kn(e, function(s) {\n o.messagesCallback && s.uuid !== r && (!s.token || n.has(s.token) || s.data.time && s.data.time < o.messagesCallbackTime || (n.add(s.token), o.messagesCallback(s.data)));\n }), o;\n}\nfunction tr(e) {\n Zn(e.listener);\n}\nfunction nr(e, t, r) {\n e.messagesCallbackTime = r, e.messagesCallback = t;\n}\nfunction wt() {\n var e = _t();\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 rr() {\n var e = 120, t = navigator.userAgent.toLowerCase();\n return t.includes(\"safari\") && !t.includes(\"chrome\") ? e * 2 : e;\n}\nvar or = {\n create: er,\n close: tr,\n onMessage: nr,\n postMessage: Xn,\n canBeUsed: wt,\n type: qn,\n averageResponseTime: rr,\n microSeconds: Qn\n}, sr = se, ir = \"simulate\", ke = /* @__PURE__ */ new Set();\nfunction ar(e) {\n var t = {\n name: e,\n messagesCallback: null\n };\n return ke.add(t), t;\n}\nfunction cr(e) {\n ke.delete(e);\n}\nfunction ur(e, t) {\n return new Promise(function(r) {\n return setTimeout(function() {\n var n = Array.from(ke);\n n.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 }), r();\n }, 5);\n });\n}\nfunction lr(e, t) {\n e.messagesCallback = t;\n}\nfunction fr() {\n return !0;\n}\nfunction dr() {\n return 5;\n}\nvar pr = {\n create: ar,\n close: cr,\n onMessage: lr,\n postMessage: ur,\n canBeUsed: fr,\n type: ir,\n averageResponseTime: dr,\n microSeconds: sr\n}, Fe = [\n $n,\n // fastest\n zn,\n or\n];\nfunction hr(e) {\n var t = [].concat(e.methods, Fe).filter(Boolean);\n if (e.type) {\n if (e.type === \"simulate\")\n return pr;\n var r = t.find(function(o) {\n return o.type === e.type;\n });\n if (r) return r;\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 n = t.find(function(o) {\n return o.canBeUsed();\n });\n if (n) return n;\n throw new Error(\"No usable method found in \" + JSON.stringify(Fe.map(function(o) {\n return o.type;\n })));\n}\nvar Et = /* @__PURE__ */ new Set(), gr = 0, $e = function(t, r) {\n this.id = gr++, Et.add(this), this.name = t, He && (r = He), this.options = Ne(r), this.method = hr(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, mr(this);\n};\n$e._pubkey = !0;\nvar He;\n$e.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 Je(this, \"message\", t);\n },\n postInternal: function(t) {\n return Je(this, \"internal\", t);\n },\n set onmessage(e) {\n var t = this.method.microSeconds(), r = {\n time: t,\n fn: e\n };\n We(this, \"message\", this._onML), e && typeof e == \"function\" ? (this._onML = r, Ge(this, \"message\", r)) : this._onML = null;\n },\n addEventListener: function(t, r) {\n var n = this.method.microSeconds(), o = {\n time: n,\n fn: r\n };\n Ge(this, t, o);\n },\n removeEventListener: function(t, r) {\n var n = this._addEL[t].find(function(o) {\n return o.fn === r;\n });\n We(this, t, n);\n },\n close: function() {\n var t = this;\n if (!this.closed) {\n Et.delete(this), this.closed = !0;\n var r = this._prepP ? this._prepP : j;\n return this._onML = null, this._addEL.message = [], r.then(function() {\n return Promise.all(Array.from(t._uMP));\n }).then(function() {\n return Promise.all(t._befC.map(function(n) {\n return n();\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 Je(e, t, r) {\n var n = e.method.microSeconds(), o = {\n time: n,\n type: t,\n data: r\n }, s = e._prepP ? e._prepP : j;\n return s.then(function() {\n var a = e.method.postMessage(e._state, o);\n return e._uMP.add(a), a.catch().then(function() {\n return e._uMP.delete(a);\n }), a;\n });\n}\nfunction mr(e) {\n var t = e.method.create(e.name, e.options);\n _n(t) ? (e._prepP = t, t.then(function(r) {\n e._state = r;\n })) : e._state = t;\n}\nfunction St(e) {\n return e._addEL.message.length > 0 || e._addEL.internal.length > 0;\n}\nfunction Ge(e, t, r) {\n e._addEL[t].push(r), vr(e);\n}\nfunction We(e, t, r) {\n e._addEL[t] = e._addEL[t].filter(function(n) {\n return n !== r;\n }), yr(e);\n}\nfunction vr(e) {\n if (!e._iL && St(e)) {\n var t = function(o) {\n e._addEL[o.type].forEach(function(s) {\n var a = 1e5, i = s.time - a;\n o.time >= i && s.fn(o.data);\n });\n }, r = e.method.microSeconds();\n e._prepP ? e._prepP.then(function() {\n e._iL = !0, e.method.onMessage(e._state, t, r);\n }) : (e._iL = !0, e.method.onMessage(e._state, t, r));\n }\n}\nfunction yr(e) {\n if (e._iL && !St(e)) {\n e._iL = !1;\n var t = e.method.microSeconds();\n e.method.onMessage(e._state, null, t);\n }\n}\nclass pe extends Error {\n /**\n * @param {string} message\n * @param {string[]} keys\n */\n constructor(t, r) {\n super(t), this.name = \"DevalueError\", this.path = r.join(\"\");\n }\n}\nfunction ze(e) {\n return Object(e) !== e;\n}\nconst _r = /* @__PURE__ */ Object.getOwnPropertyNames(\n Object.prototype\n).sort().join(\"\\0\");\nfunction br(e) {\n const t = Object.getPrototypeOf(e);\n return t === Object.prototype || t === null || Object.getOwnPropertyNames(t).sort().join(\"\\0\") === _r;\n}\nfunction wr(e) {\n return Object.prototype.toString.call(e).slice(8, -1);\n}\nfunction Er(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 F(e) {\n let t = \"\", r = 0;\n const n = e.length;\n for (let o = 0; o < n; o += 1) {\n const s = e[o], a = Er(s);\n a && (t += e.slice(r, o) + a, r = o + 1);\n }\n return `\"${r === 0 ? e : t + e.slice(r)}\"`;\n}\nconst Te = -1, Ot = -2, It = -3, Nt = -4, Pt = -5, De = -6;\nfunction Qe(e, t) {\n return Sr(JSON.parse(e));\n}\nfunction Sr(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 r = (\n /** @type {any[]} */\n e\n ), n = Array(r.length);\n function o(s, a = !1) {\n if (s === Te) return;\n if (s === It) return NaN;\n if (s === Nt) return 1 / 0;\n if (s === Pt) return -1 / 0;\n if (s === De) return -0;\n if (a) throw new Error(\"Invalid input\");\n if (s in n) return n[s];\n const i = r[s];\n if (!i || typeof i != \"object\")\n n[s] = i;\n else if (Array.isArray(i))\n if (typeof i[0] == \"string\") {\n const u = i[0];\n switch (u) {\n case \"Date\":\n n[s] = new Date(i[1]);\n break;\n case \"Set\":\n const c = /* @__PURE__ */ new Set();\n n[s] = c;\n for (let g = 1; g < i.length; g += 1)\n c.add(o(i[g]));\n break;\n case \"Map\":\n const p = /* @__PURE__ */ new Map();\n n[s] = p;\n for (let g = 1; g < i.length; g += 2)\n p.set(o(i[g]), o(i[g + 1]));\n break;\n case \"RegExp\":\n n[s] = new RegExp(i[1], i[2]);\n break;\n case \"Object\":\n n[s] = Object(i[1]);\n break;\n case \"BigInt\":\n n[s] = BigInt(i[1]);\n break;\n case \"null\":\n const d = /* @__PURE__ */ Object.create(null);\n n[s] = d;\n for (let g = 1; g < i.length; g += 2)\n d[i[g]] = o(i[g + 1]);\n break;\n default:\n throw new Error(`Unknown type ${u}`);\n }\n } else {\n const u = new Array(i.length);\n n[s] = u;\n for (let c = 0; c < i.length; c += 1) {\n const p = i[c];\n p !== Ot && (u[c] = o(p));\n }\n }\n else {\n const u = {};\n n[s] = u;\n for (const c in i) {\n const p = i[c];\n u[c] = o(p);\n }\n }\n return n[s];\n }\n return o(0);\n}\nfunction Ye(e, t) {\n const r = [], n = /* @__PURE__ */ new Map(), o = [];\n for (const c in t)\n o.push({ key: c, fn: t[c] });\n const s = [];\n let a = 0;\n function i(c) {\n if (typeof c == \"function\")\n throw new pe(\"Cannot stringify a function\", s);\n if (n.has(c)) return n.get(c);\n if (c === void 0) return Te;\n if (Number.isNaN(c)) return It;\n if (c === 1 / 0) return Nt;\n if (c === -1 / 0) return Pt;\n if (c === 0 && 1 / c < 0) return De;\n const p = a++;\n n.set(c, p);\n for (const { key: g, fn: w } of o) {\n const E = w(c);\n if (E)\n return r[p] = `[\"${g}\",${i(E)}]`, p;\n }\n let d = \"\";\n if (ze(c))\n d = he(c);\n else\n switch (wr(c)) {\n case \"Number\":\n case \"String\":\n case \"Boolean\":\n d = `[\"Object\",${he(c)}]`;\n break;\n case \"BigInt\":\n d = `[\"BigInt\",${c}]`;\n break;\n case \"Date\":\n d = `[\"Date\",\"${!isNaN(c.getDate()) ? c.toISOString() : \"\"}\"]`;\n break;\n case \"RegExp\":\n const { source: E, flags: R } = c;\n d = R ? `[\"RegExp\",${F(E)},\"${R}\"]` : `[\"RegExp\",${F(E)}]`;\n break;\n case \"Array\":\n d = \"[\";\n for (let v = 0; v < c.length; v += 1)\n v > 0 && (d += \",\"), v in c ? (s.push(`[${v}]`), d += i(c[v]), s.pop()) : d += Ot;\n d += \"]\";\n break;\n case \"Set\":\n d = '[\"Set\"';\n for (const v of c)\n d += `,${i(v)}`;\n d += \"]\";\n break;\n case \"Map\":\n d = '[\"Map\"';\n for (const [v, T] of c)\n s.push(\n `.get(${ze(v) ? he(v) : \"...\"})`\n ), d += `,${i(v)},${i(T)}`, s.pop();\n d += \"]\";\n break;\n default:\n if (!br(c))\n throw new pe(\n \"Cannot stringify arbitrary non-POJOs\",\n s\n );\n if (Object.getOwnPropertySymbols(c).length > 0)\n throw new pe(\n \"Cannot stringify POJOs with symbolic keys\",\n s\n );\n if (Object.getPrototypeOf(c) === null) {\n d = '[\"null\"';\n for (const v in c)\n s.push(`.${v}`), d += `,${F(v)},${i(c[v])}`, s.pop();\n d += \"]\";\n } else {\n d = \"{\";\n let v = !1;\n for (const T in c)\n v && (d += \",\"), v = !0, s.push(`.${T}`), d += `${F(T)}:${i(c[T])}`, s.pop();\n d += \"}\";\n }\n }\n return r[p] = d, p;\n }\n const u = i(e);\n return u < 0 ? `${u}` : `[${r.join(\",\")}]`;\n}\nfunction he(e) {\n const t = typeof e;\n return t === \"string\" ? F(e) : e instanceof String ? F(e.toString()) : e === void 0 ? Te.toString() : e === 0 && 1 / e < 0 ? De.toString() : t === \"bigint\" ? `[\"BigInt\",\"${e}\"]` : String(e);\n}\nfunction Or(e, t, { initialize: r, type: n }) {\n let o = `${t.$id}-${e.toString()}`, s = new $e(o, { type: n }), a = !1, i = 0;\n we(() => t[e], (p) => {\n a || (i = Date.now(), s.postMessage({ timestamp: i, state: Qe(Ye(p)) })), a = !1;\n }, { deep: !0 }), s.onmessage = (p) => {\n if (p === void 0) {\n s.postMessage({ timestamp: i, state: Qe(Ye(t[e])) });\n return;\n }\n p.timestamp <= i || (a = !0, i = p.timestamp, t[e] = p.state);\n };\n let u = () => s.postMessage(void 0), c = () => s.close();\n return r && u(), { sync: u, unshare: c };\n}\nvar Ir = (e, t) => Object.keys(t).includes(e), Nr = ({ initialize: e = !0, enable: t = !0, type: r }) => ({ store: n, options: o }) => {\n var i, u;\n let s = ((i = o == null ? void 0 : o.share) == null ? void 0 : i.enable) ?? t, a = ((u = o == null ? void 0 : o.share) == null ? void 0 : u.omit) ?? [];\n !s || Object.keys(n.$state).forEach((c) => {\n var p;\n a.includes(c) || !Ir(c, n.$state) || Or(c, n, { initialize: ((p = o == null ? void 0 : o.share) == null ? void 0 : p.initialize) ?? e, type: r });\n });\n};\nconst kt = pn();\nkt.use(\n Nr({\n enable: !0,\n initialize: !0\n })\n);\nconst Mr = {\n install: (e, t) => {\n const r = e.config.globalProperties.$router, n = r || (t == null ? void 0 : t.router), o = new be(n, t == null ? void 0 : t.getMeta);\n if (!r && n && e.use(n), e.use(kt), e.provide(\"$registry\", o), t != null && t.components)\n for (const [s, a] of Object.entries(t.components))\n e.component(s, a);\n }\n};\nexport {\n Dr as DoctypeMeta,\n be as Registry,\n Mr as Stonecrop,\n Tr 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","import * as Vue from 'vue'\n\nvar isVue2 = false\nvar isVue3 = true\nvar Vue2 = undefined\n\nfunction install() {}\n\nexport function 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}\n\nexport function del(target, key) {\n if (Array.isArray(target)) {\n target.splice(key, 1)\n return\n }\n delete target[key]\n}\n\nexport * from 'vue'\nexport {\n Vue,\n Vue2,\n isVue2,\n isVue3,\n install,\n}\n","/*!\n * pinia v2.3.0\n * (c) 2024 Eduardo San Martin Morote\n * @license MIT\n */\nimport { hasInjectionContext, inject, toRaw, watch, unref, markRaw, effectScope, ref, isVue2, isRef, isReactive, set, getCurrentScope, onScopeDispose, getCurrentInstance, reactive, toRef, del, nextTick, computed, toRefs } from 'vue-demi';\nimport { setupDevtoolsPlugin } from '@vue/devtools-api';\n\n/**\n * setActivePinia must be called to handle SSR at the top of functions like\n * `fetch`, `setup`, `serverPrefetch` and others\n */\nlet activePinia;\n/**\n * Sets or unsets the active pinia. Used in SSR and internally when calling\n * actions and getters\n *\n * @param pinia - Pinia instance\n */\n// @ts-expect-error: cannot constrain the type of the return\nconst setActivePinia = (pinia) => (activePinia = pinia);\n/**\n * Get the currently active pinia if there is any.\n */\nconst getActivePinia = () => (hasInjectionContext() && inject(piniaSymbol)) || activePinia;\nconst piniaSymbol = ((process.env.NODE_ENV !== 'production') ? Symbol('pinia') : /* istanbul ignore next */ Symbol());\n\nfunction isPlainObject(\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\no) {\n return (o &&\n typeof o === 'object' &&\n Object.prototype.toString.call(o) === '[object Object]' &&\n typeof o.toJSON !== 'function');\n}\n// type DeepReadonly<T> = { readonly [P in keyof T]: DeepReadonly<T[P]> }\n// TODO: can we change these to numbers?\n/**\n * Possible types for SubscriptionCallback\n */\nvar MutationType;\n(function (MutationType) {\n /**\n * Direct mutation of the state:\n *\n * - `store.name = 'new name'`\n * - `store.$state.name = 'new name'`\n * - `store.list.push('new item')`\n */\n MutationType[\"direct\"] = \"direct\";\n /**\n * Mutated the state with `$patch` and an object\n *\n * - `store.$patch({ name: 'newName' })`\n */\n MutationType[\"patchObject\"] = \"patch object\";\n /**\n * Mutated the state with `$patch` and a function\n *\n * - `store.$patch(state => state.name = 'newName')`\n */\n MutationType[\"patchFunction\"] = \"patch function\";\n // maybe reset? for $state = {} and $reset\n})(MutationType || (MutationType = {}));\n\nconst IS_CLIENT = typeof window !== 'undefined';\n\n/*\n * FileSaver.js A saveAs() FileSaver implementation.\n *\n * Originally by Eli Grey, adapted as an ESM module by Eduardo San Martin\n * Morote.\n *\n * License : MIT\n */\n// The one and only way of getting global scope in all environments\n// https://stackoverflow.com/q/3277182/1008999\nconst _global = /*#__PURE__*/ (() => typeof window === 'object' && window.window === window\n ? window\n : typeof self === 'object' && self.self === self\n ? self\n : typeof global === 'object' && global.global === global\n ? global\n : typeof globalThis === 'object'\n ? globalThis\n : { HTMLElement: null })();\nfunction bom(blob, { autoBom = false } = {}) {\n // prepend BOM for UTF-8 XML and text/* types (including HTML)\n // note: your browser will automatically convert UTF-16 U+FEFF to EF BB BF\n if (autoBom &&\n /^\\s*(?:text\\/\\S*|application\\/xml|\\S*\\/\\S*\\+xml)\\s*;.*charset\\s*=\\s*utf-8/i.test(blob.type)) {\n return new Blob([String.fromCharCode(0xfeff), blob], { type: blob.type });\n }\n return blob;\n}\nfunction download(url, name, opts) {\n const xhr = new XMLHttpRequest();\n xhr.open('GET', url);\n xhr.responseType = 'blob';\n xhr.onload = function () {\n saveAs(xhr.response, name, opts);\n };\n xhr.onerror = function () {\n console.error('could not download file');\n };\n xhr.send();\n}\nfunction corsEnabled(url) {\n const xhr = new XMLHttpRequest();\n // use sync to avoid popup blocker\n xhr.open('HEAD', url, false);\n try {\n xhr.send();\n }\n catch (e) { }\n return xhr.status >= 200 && xhr.status <= 299;\n}\n// `a.click()` doesn't work for all browsers (#465)\nfunction click(node) {\n try {\n node.dispatchEvent(new MouseEvent('click'));\n }\n catch (e) {\n const evt = 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: '' };\n// Detect WebView inside a native macOS app by ruling out all browsers\n// We just need to check for 'Safari' because all other browsers (besides Firefox) include that too\n// https://www.whatismybrowser.com/guides/the-latest-user-agent/macos\nconst isMacOSWebView = /*#__PURE__*/ (() => /Macintosh/.test(_navigator.userAgent) &&\n /AppleWebKit/.test(_navigator.userAgent) &&\n !/Safari/.test(_navigator.userAgent))();\nconst saveAs = !IS_CLIENT\n ? () => { } // noop\n : // Use download attribute first if possible (#193 Lumia mobile) unless this is a macOS WebView or mini program\n typeof HTMLAnchorElement !== 'undefined' &&\n 'download' in HTMLAnchorElement.prototype &&\n !isMacOSWebView\n ? downloadSaveAs\n : // Use msSaveOrOpenBlob as a second approach\n 'msSaveOrOpenBlob' in _navigator\n ? msSaveAs\n : // Fallback to using FileReader and a popup\n fileSaverSaveAs;\nfunction downloadSaveAs(blob, name = 'download', opts) {\n const a = document.createElement('a');\n a.download = name;\n a.rel = 'noopener'; // tabnabbing\n // TODO: detect chrome extensions & packaged apps\n // a.target = '_blank'\n if (typeof blob === 'string') {\n // Support regular links\n a.href = blob;\n if (a.origin !== location.origin) {\n if (corsEnabled(a.href)) {\n download(blob, name, opts);\n }\n else {\n a.target = '_blank';\n click(a);\n }\n }\n else {\n click(a);\n }\n }\n else {\n // Support blobs\n a.href = URL.createObjectURL(blob);\n setTimeout(function () {\n URL.revokeObjectURL(a.href);\n }, 4e4); // 40s\n setTimeout(function () {\n click(a);\n }, 0);\n }\n}\nfunction msSaveAs(blob, name = 'download', opts) {\n if (typeof blob === 'string') {\n if (corsEnabled(blob)) {\n download(blob, name, opts);\n }\n else {\n const a = document.createElement('a');\n a.href = blob;\n a.target = '_blank';\n setTimeout(function () {\n click(a);\n });\n }\n }\n else {\n // @ts-ignore: works on windows\n navigator.msSaveOrOpenBlob(bom(blob, opts), name);\n }\n}\nfunction fileSaverSaveAs(blob, name, opts, popup) {\n // Open a popup immediately do go around popup blocker\n // Mostly only available on user interaction and the fileReader is async so...\n popup = popup || open('', '_blank');\n if (popup) {\n popup.document.title = popup.document.body.innerText = 'downloading...';\n }\n if (typeof blob === 'string')\n return download(blob, name, opts);\n const force = blob.type === 'application/octet-stream';\n const isSafari = /constructor/i.test(String(_global.HTMLElement)) || 'safari' in _global;\n const isChromeIOS = /CriOS\\/[\\d]+/.test(navigator.userAgent);\n if ((isChromeIOS || (force && isSafari) || isMacOSWebView) &&\n typeof FileReader !== 'undefined') {\n // Safari doesn't allow downloading of blob URLs\n const reader = new FileReader();\n reader.onloadend = function () {\n let url = reader.result;\n if (typeof url !== 'string') {\n popup = null;\n throw new Error('Wrong reader.result type');\n }\n url = isChromeIOS\n ? url\n : url.replace(/^data:[^;]*;/, 'data:attachment/file;');\n if (popup) {\n popup.location.href = url;\n }\n else {\n location.assign(url);\n }\n popup = null; // reverse-tabnabbing #460\n };\n reader.readAsDataURL(blob);\n }\n else {\n const url = URL.createObjectURL(blob);\n if (popup)\n popup.location.assign(url);\n else\n location.href = url;\n popup = null; // reverse-tabnabbing #460\n setTimeout(function () {\n URL.revokeObjectURL(url);\n }, 4e4); // 40s\n }\n}\n\n/**\n * Shows a toast or console.log\n *\n * @param message - message to log\n * @param type - different color of the tooltip\n */\nfunction toastMessage(message, type) {\n const piniaMessage = '🍍 ' + message;\n if (typeof __VUE_DEVTOOLS_TOAST__ === 'function') {\n // No longer available :(\n __VUE_DEVTOOLS_TOAST__(piniaMessage, type);\n }\n else if (type === 'error') {\n console.error(piniaMessage);\n }\n else if (type === 'warn') {\n console.warn(piniaMessage);\n }\n else {\n console.log(piniaMessage);\n }\n}\nfunction isPinia(o) {\n return '_a' in o && 'install' in o;\n}\n\n/**\n * This file contain devtools actions, they are not Pinia actions.\n */\n// ---\nfunction checkClipboardAccess() {\n if (!('clipboard' in navigator)) {\n toastMessage(`Your browser doesn't support the Clipboard API`, 'error');\n return true;\n }\n}\nfunction checkNotFocusedError(error) {\n if (error instanceof Error &&\n error.message.toLowerCase().includes('document is not focused')) {\n toastMessage('You need to activate the \"Emulate a focused page\" setting in the \"Rendering\" panel of devtools.', 'warn');\n return true;\n }\n return false;\n}\nasync function actionGlobalCopyState(pinia) {\n if (checkClipboardAccess())\n return;\n try {\n await navigator.clipboard.writeText(JSON.stringify(pinia.state.value));\n toastMessage('Global state copied to clipboard.');\n }\n catch (error) {\n if (checkNotFocusedError(error))\n return;\n toastMessage(`Failed to serialize the state. Check the console for more details.`, 'error');\n console.error(error);\n }\n}\nasync function actionGlobalPasteState(pinia) {\n if (checkClipboardAccess())\n return;\n try {\n loadStoresState(pinia, JSON.parse(await navigator.clipboard.readText()));\n toastMessage('Global state pasted from clipboard.');\n }\n catch (error) {\n if (checkNotFocusedError(error))\n return;\n toastMessage(`Failed to deserialize the state from clipboard. Check the console for more details.`, 'error');\n console.error(error);\n }\n}\nasync function actionGlobalSaveState(pinia) {\n try {\n saveAs(new Blob([JSON.stringify(pinia.state.value)], {\n type: 'text/plain;charset=utf-8',\n }), 'pinia-state.json');\n }\n catch (error) {\n toastMessage(`Failed to export the state as JSON. Check the console for more details.`, 'error');\n console.error(error);\n }\n}\nlet fileInput;\nfunction getFileOpener() {\n if (!fileInput) {\n fileInput = document.createElement('input');\n fileInput.type = 'file';\n fileInput.accept = '.json';\n }\n function openFile() {\n return new Promise((resolve, reject) => {\n fileInput.onchange = async () => {\n const files = fileInput.files;\n if (!files)\n return resolve(null);\n const file = files.item(0);\n if (!file)\n return resolve(null);\n return resolve({ text: await file.text(), file });\n };\n // @ts-ignore: TODO: changed from 4.3 to 4.4\n fileInput.oncancel = () => resolve(null);\n fileInput.onerror = reject;\n fileInput.click();\n });\n }\n return openFile;\n}\nasync function actionGlobalOpenStateFile(pinia) {\n try {\n const open = getFileOpener();\n const result = await open();\n if (!result)\n return;\n const { text, file } = result;\n loadStoresState(pinia, JSON.parse(text));\n toastMessage(`Global state imported from \"${file.name}\".`);\n }\n catch (error) {\n toastMessage(`Failed to import the state from JSON. Check the console for more details.`, 'error');\n console.error(error);\n }\n}\nfunction loadStoresState(pinia, state) {\n for (const key in state) {\n const storeState = pinia.state.value[key];\n // store is already instantiated, patch it\n if (storeState) {\n Object.assign(storeState, state[key]);\n }\n else {\n // store is not instantiated, set the initial state\n pinia.state.value[key] = state[key];\n }\n }\n}\n\nfunction formatDisplay(display) {\n return {\n _custom: {\n display,\n },\n };\n}\nconst PINIA_ROOT_LABEL = '🍍 Pinia (root)';\nconst PINIA_ROOT_ID = '_root';\nfunction formatStoreForInspectorTree(store) {\n return isPinia(store)\n ? {\n id: PINIA_ROOT_ID,\n label: PINIA_ROOT_LABEL,\n }\n : {\n id: store.$id,\n label: store.$id,\n };\n}\nfunction formatStoreForInspectorState(store) {\n if (isPinia(store)) {\n const storeNames = Array.from(store._s.keys());\n const storeMap = store._s;\n const state = {\n state: storeNames.map((storeId) => ({\n editable: true,\n key: storeId,\n value: store.state.value[storeId],\n })),\n getters: storeNames\n .filter((id) => storeMap.get(id)._getters)\n .map((id) => {\n const store = storeMap.get(id);\n return {\n editable: false,\n key: id,\n value: store._getters.reduce((getters, key) => {\n getters[key] = store[key];\n return getters;\n }, {}),\n };\n }),\n };\n return state;\n }\n const state = {\n state: Object.keys(store.$state).map((key) => ({\n editable: true,\n key,\n value: store.$state[key],\n })),\n };\n // avoid adding empty getters\n if (store._getters && store._getters.length) {\n state.getters = store._getters.map((getterName) => ({\n editable: false,\n key: getterName,\n value: store[getterName],\n }));\n }\n if (store._customProperties.size) {\n state.customProperties = Array.from(store._customProperties).map((key) => ({\n editable: true,\n key,\n value: store[key],\n }));\n }\n return state;\n}\nfunction formatEventData(events) {\n if (!events)\n return {};\n if (Array.isArray(events)) {\n // TODO: handle add and delete for arrays and objects\n return events.reduce((data, event) => {\n data.keys.push(event.key);\n data.operations.push(event.type);\n data.oldValue[event.key] = event.oldValue;\n data.newValue[event.key] = event.newValue;\n return data;\n }, {\n oldValue: {},\n keys: [],\n operations: [],\n newValue: {},\n });\n }\n else {\n return {\n operation: formatDisplay(events.type),\n key: formatDisplay(events.key),\n oldValue: events.oldValue,\n newValue: events.newValue,\n };\n }\n}\nfunction formatMutationType(type) {\n switch (type) {\n case MutationType.direct:\n return 'mutation';\n case MutationType.patchFunction:\n return '$patch';\n case MutationType.patchObject:\n return '$patch';\n default:\n return 'unknown';\n }\n}\n\n// timeline can be paused when directly changing the state\nlet isTimelineActive = true;\nconst componentStateTypes = [];\nconst MUTATIONS_LAYER_ID = 'pinia:mutations';\nconst INSPECTOR_ID = 'pinia';\nconst { assign: assign$1 } = Object;\n/**\n * Gets the displayed name of a store in devtools\n *\n * @param id - id of the store\n * @returns a formatted string\n */\nconst getStoreType = (id) => '🍍 ' + id;\n/**\n * Add the pinia plugin without any store. Allows displaying a Pinia plugin tab\n * as soon as it is added to the application.\n *\n * @param app - Vue application\n * @param pinia - pinia instance\n */\nfunction registerPiniaDevtools(app, pinia) {\n setupDevtoolsPlugin({\n id: 'dev.esm.pinia',\n label: 'Pinia 🍍',\n logo: 'https://pinia.vuejs.org/logo.svg',\n packageName: 'pinia',\n homepage: 'https://pinia.vuejs.org',\n componentStateTypes,\n app,\n }, (api) => {\n if (typeof api.now !== 'function') {\n toastMessage('You seem to be using an outdated version of Vue Devtools. Are you still using the Beta release instead of the stable one? You can find the links at https://devtools.vuejs.org/guide/installation.html.');\n }\n api.addTimelineLayer({\n id: MUTATIONS_LAYER_ID,\n label: `Pinia 🍍`,\n color: 0xe5df88,\n });\n api.addInspector({\n id: INSPECTOR_ID,\n label: 'Pinia 🍍',\n icon: 'storage',\n treeFilterPlaceholder: 'Search stores',\n actions: [\n {\n icon: 'content_copy',\n action: () => {\n actionGlobalCopyState(pinia);\n },\n tooltip: 'Serialize and copy the state',\n },\n {\n icon: 'content_paste',\n action: async () => {\n await actionGlobalPasteState(pinia);\n api.sendInspectorTree(INSPECTOR_ID);\n api.sendInspectorState(INSPECTOR_ID);\n },\n tooltip: 'Replace the state with the content of your clipboard',\n },\n {\n icon: 'save',\n action: () => {\n actionGlobalSaveState(pinia);\n },\n tooltip: 'Save the state as a JSON file',\n },\n {\n icon: 'folder_open',\n action: async () => {\n await actionGlobalOpenStateFile(pinia);\n api.sendInspectorTree(INSPECTOR_ID);\n api.sendInspectorState(INSPECTOR_ID);\n },\n tooltip: 'Import the state from a JSON file',\n },\n ],\n nodeActions: [\n {\n icon: 'restore',\n tooltip: 'Reset the state (with \"$reset\")',\n action: (nodeId) => {\n const store = pinia._s.get(nodeId);\n if (!store) {\n toastMessage(`Cannot reset \"${nodeId}\" store because it wasn't found.`, 'warn');\n }\n else if (typeof store.$reset !== 'function') {\n toastMessage(`Cannot reset \"${nodeId}\" store because it doesn't have a \"$reset\" method implemented.`, 'warn');\n }\n else {\n store.$reset();\n toastMessage(`Store \"${nodeId}\" reset.`);\n }\n },\n },\n ],\n });\n api.on.inspectComponent((payload, ctx) => {\n const proxy = (payload.componentInstance &&\n payload.componentInstance.proxy);\n if (proxy && proxy._pStores) {\n const piniaStores = payload.componentInstance.proxy._pStores;\n Object.values(piniaStores).forEach((store) => {\n payload.instanceData.state.push({\n type: getStoreType(store.$id),\n key: 'state',\n editable: true,\n value: store._isOptionsAPI\n ? {\n _custom: {\n value: toRaw(store.$state),\n actions: [\n {\n icon: 'restore',\n tooltip: 'Reset the state of this store',\n action: () => store.$reset(),\n },\n ],\n },\n }\n : // NOTE: workaround to unwrap transferred refs\n Object.keys(store.$state).reduce((state, key) => {\n state[key] = store.$state[key];\n return state;\n }, {}),\n });\n if (store._getters && store._getters.length) {\n payload.instanceData.state.push({\n type: getStoreType(store.$id),\n key: 'getters',\n editable: false,\n value: store._getters.reduce((getters, key) => {\n try {\n getters[key] = store[key];\n }\n catch (error) {\n // @ts-expect-error: we just want to show it in devtools\n getters[key] = error;\n }\n return getters;\n }, {}),\n });\n }\n });\n }\n });\n api.on.getInspectorTree((payload) => {\n if (payload.app === app && payload.inspectorId === INSPECTOR_ID) {\n let stores = [pinia];\n stores = stores.concat(Array.from(pinia._s.values()));\n payload.rootNodes = (payload.filter\n ? stores.filter((store) => '$id' in store\n ? store.$id\n .toLowerCase()\n .includes(payload.filter.toLowerCase())\n : PINIA_ROOT_LABEL.toLowerCase().includes(payload.filter.toLowerCase()))\n : stores).map(formatStoreForInspectorTree);\n }\n });\n // Expose pinia instance as $pinia to window\n globalThis.$pinia = pinia;\n api.on.getInspectorState((payload) => {\n if (payload.app === app && payload.inspectorId === INSPECTOR_ID) {\n const inspectedStore = payload.nodeId === PINIA_ROOT_ID\n ? pinia\n : pinia._s.get(payload.nodeId);\n if (!inspectedStore) {\n // this could be the selected store restored for a different project\n // so it's better not to say anything here\n return;\n }\n if (inspectedStore) {\n // Expose selected store as $store to window\n if (payload.nodeId !== PINIA_ROOT_ID)\n globalThis.$store = toRaw(inspectedStore);\n payload.state = formatStoreForInspectorState(inspectedStore);\n }\n }\n });\n api.on.editInspectorState((payload, ctx) => {\n if (payload.app === app && payload.inspectorId === INSPECTOR_ID) {\n const inspectedStore = payload.nodeId === PINIA_ROOT_ID\n ? pinia\n : pinia._s.get(payload.nodeId);\n if (!inspectedStore) {\n return toastMessage(`store \"${payload.nodeId}\" not found`, 'error');\n }\n const { path } = payload;\n if (!isPinia(inspectedStore)) {\n // access only the state\n if (path.length !== 1 ||\n !inspectedStore._customProperties.has(path[0]) ||\n path[0] in inspectedStore.$state) {\n path.unshift('$state');\n }\n }\n else {\n // Root access, we can omit the `.value` because the devtools API does it for us\n path.unshift('state');\n }\n isTimelineActive = false;\n payload.set(inspectedStore, path, payload.state.value);\n isTimelineActive = true;\n }\n });\n api.on.editComponentState((payload) => {\n if (payload.type.startsWith('🍍')) {\n const storeId = payload.type.replace(/^🍍\\s*/, '');\n const store = pinia._s.get(storeId);\n if (!store) {\n return toastMessage(`store \"${storeId}\" not found`, 'error');\n }\n const { path } = payload;\n if (path[0] !== 'state') {\n return toastMessage(`Invalid path for store \"${storeId}\":\\n${path}\\nOnly state can be modified.`);\n }\n // rewrite the first entry to be able to directly set the state as\n // well as any other path\n path[0] = '$state';\n isTimelineActive = false;\n payload.set(store, path, payload.state.value);\n isTimelineActive = true;\n }\n });\n });\n}\nfunction addStoreToDevtools(app, store) {\n if (!componentStateTypes.includes(getStoreType(store.$id))) {\n componentStateTypes.push(getStoreType(store.$id));\n }\n setupDevtoolsPlugin({\n id: 'dev.esm.pinia',\n label: 'Pinia 🍍',\n logo: 'https://pinia.vuejs.org/logo.svg',\n packageName: 'pinia',\n homepage: 'https://pinia.vuejs.org',\n componentStateTypes,\n app,\n settings: {\n logStoreChanges: {\n label: 'Notify about new/deleted stores',\n type: 'boolean',\n defaultValue: true,\n },\n // useEmojis: {\n // label: 'Use emojis in messages ⚡️',\n // type: 'boolean',\n // defaultValue: true,\n // },\n },\n }, (api) => {\n // gracefully handle errors\n const now = typeof api.now === 'function' ? api.now.bind(api) : Date.now;\n store.$onAction(({ after, onError, name, args }) => {\n const groupId = runningActionId++;\n api.addTimelineEvent({\n layerId: MUTATIONS_LAYER_ID,\n event: {\n time: now(),\n title: '🛫 ' + name,\n subtitle: 'start',\n data: {\n store: formatDisplay(store.$id),\n action: formatDisplay(name),\n args,\n },\n groupId,\n },\n });\n after((result) => {\n activeAction = undefined;\n api.addTimelineEvent({\n layerId: MUTATIONS_LAYER_ID,\n event: {\n time: now(),\n title: '🛬 ' + name,\n subtitle: 'end',\n data: {\n store: formatDisplay(store.$id),\n action: formatDisplay(name),\n args,\n result,\n },\n groupId,\n },\n });\n });\n onError((error) => {\n activeAction = undefined;\n api.addTimelineEvent({\n layerId: MUTATIONS_LAYER_ID,\n event: {\n time: now(),\n logType: 'error',\n title: '💥 ' + name,\n subtitle: 'end',\n data: {\n store: formatDisplay(store.$id),\n action: formatDisplay(name),\n args,\n error,\n },\n groupId,\n },\n });\n });\n }, true);\n store._customProperties.forEach((name) => {\n watch(() => unref(store[name]), (newValue, oldValue) => {\n api.notifyComponentUpdate();\n api.sendInspectorState(INSPECTOR_ID);\n if (isTimelineActive) {\n api.addTimelineEvent({\n layerId: MUTATIONS_LAYER_ID,\n event: {\n time: now(),\n title: 'Change',\n subtitle: name,\n data: {\n newValue,\n oldValue,\n },\n groupId: activeAction,\n },\n });\n }\n }, { deep: true });\n });\n store.$subscribe(({ events, type }, state) => {\n api.notifyComponentUpdate();\n api.sendInspectorState(INSPECTOR_ID);\n if (!isTimelineActive)\n return;\n // rootStore.state[store.id] = state\n const eventData = {\n time: now(),\n title: formatMutationType(type),\n data: assign$1({ store: formatDisplay(store.$id) }, formatEventData(events)),\n groupId: activeAction,\n };\n if (type === MutationType.patchFunction) {\n eventData.subtitle = '⤵️';\n }\n else if (type === MutationType.patchObject) {\n eventData.subtitle = '🧩';\n }\n else if (events && !Array.isArray(events)) {\n eventData.subtitle = events.type;\n }\n if (events) {\n eventData.data['rawEvent(s)'] = {\n _custom: {\n display: 'DebuggerEvent',\n type: 'object',\n tooltip: 'raw DebuggerEvent[]',\n value: events,\n },\n };\n }\n api.addTimelineEvent({\n layerId: MUTATIONS_LAYER_ID,\n event: eventData,\n });\n }, { detached: true, flush: 'sync' });\n const hotUpdate = store._hotUpdate;\n store._hotUpdate = markRaw((newStore) => {\n hotUpdate(newStore);\n api.addTimelineEvent({\n layerId: MUTATIONS_LAYER_ID,\n event: {\n time: now(),\n title: '🔥 ' + store.$id,\n subtitle: 'HMR update',\n data: {\n store: formatDisplay(store.$id),\n info: formatDisplay(`HMR update`),\n },\n },\n });\n // update the devtools too\n api.notifyComponentUpdate();\n api.sendInspectorTree(INSPECTOR_ID);\n api.sendInspectorState(INSPECTOR_ID);\n });\n const { $dispose } = store;\n store.$dispose = () => {\n $dispose();\n api.notifyComponentUpdate();\n api.sendInspectorTree(INSPECTOR_ID);\n api.sendInspectorState(INSPECTOR_ID);\n api.getSettings().logStoreChanges &&\n toastMessage(`Disposed \"${store.$id}\" store 🗑`);\n };\n // trigger an update so it can display new registered stores\n api.notifyComponentUpdate();\n api.sendInspectorTree(INSPECTOR_ID);\n api.sendInspectorState(INSPECTOR_ID);\n api.getSettings().logStoreChanges &&\n toastMessage(`\"${store.$id}\" store installed 🆕`);\n });\n}\nlet runningActionId = 0;\nlet activeAction;\n/**\n * Patches a store to enable action grouping in devtools by wrapping the store with a Proxy that is passed as the\n * context of all actions, allowing us to set `runningAction` on each access and effectively associating any state\n * mutation to the action.\n *\n * @param store - store to patch\n * @param actionNames - list of actionst to patch\n */\nfunction patchActionForGrouping(store, actionNames, wrapWithProxy) {\n // original actions of the store as they are given by pinia. We are going to override them\n const actions = actionNames.reduce((storeActions, actionName) => {\n // use toRaw to avoid tracking #541\n storeActions[actionName] = toRaw(store)[actionName];\n return storeActions;\n }, {});\n for (const actionName in actions) {\n store[actionName] = function () {\n // the running action id is incremented in a before action hook\n const _actionId = runningActionId;\n const trackedStore = wrapWithProxy\n ? new Proxy(store, {\n get(...args) {\n activeAction = _actionId;\n return Reflect.get(...args);\n },\n set(...args) {\n activeAction = _actionId;\n return Reflect.set(...args);\n },\n })\n : store;\n // For Setup Stores we need https://github.com/tc39/proposal-async-context\n activeAction = _actionId;\n const retValue = actions[actionName].apply(trackedStore, arguments);\n // this is safer as async actions in Setup Stores would associate mutations done outside of the action\n activeAction = undefined;\n return retValue;\n };\n }\n}\n/**\n * pinia.use(devtoolsPlugin)\n */\nfunction devtoolsPlugin({ app, store, options }) {\n // HMR module\n if (store.$id.startsWith('__hot:')) {\n return;\n }\n // detect option api vs setup api\n store._isOptionsAPI = !!options.state;\n // Do not overwrite actions mocked by @pinia/testing (#2298)\n if (!store._p._testing) {\n patchActionForGrouping(store, Object.keys(options.actions), store._isOptionsAPI);\n // Upgrade the HMR to also update the new actions\n const originalHotUpdate = store._hotUpdate;\n toRaw(store)._hotUpdate = function (newStore) {\n originalHotUpdate.apply(this, arguments);\n patchActionForGrouping(store, Object.keys(newStore._hmrPayload.actions), !!store._isOptionsAPI);\n };\n }\n addStoreToDevtools(app, \n // FIXME: is there a way to allow the assignment from Store<Id, S, G, A> to StoreGeneric?\n store);\n}\n\n/**\n * Creates a Pinia instance to be used by the application\n */\nfunction createPinia() {\n const scope = effectScope(true);\n // NOTE: here we could check the window object for a state and directly set it\n // if there is anything like it with Vue 3 SSR\n const state = scope.run(() => ref({}));\n let _p = [];\n // plugins added before calling app.use(pinia)\n let toBeInstalled = [];\n const pinia = markRaw({\n install(app) {\n // this allows calling useStore() outside of a component setup after\n // installing pinia's plugin\n setActivePinia(pinia);\n if (!isVue2) {\n pinia._a = app;\n app.provide(piniaSymbol, pinia);\n app.config.globalProperties.$pinia = pinia;\n /* istanbul ignore else */\n if ((((process.env.NODE_ENV !== 'production') || (typeof __VUE_PROD_DEVTOOLS__ !== 'undefined' && __VUE_PROD_DEVTOOLS__)) && !(process.env.NODE_ENV === 'test')) && IS_CLIENT) {\n registerPiniaDevtools(app, pinia);\n }\n toBeInstalled.forEach((plugin) => _p.push(plugin));\n toBeInstalled = [];\n }\n },\n use(plugin) {\n if (!this._a && !isVue2) {\n toBeInstalled.push(plugin);\n }\n else {\n _p.push(plugin);\n }\n return this;\n },\n _p,\n // it's actually undefined here\n // @ts-expect-error\n _a: null,\n _e: scope,\n _s: new Map(),\n state,\n });\n // pinia devtools rely on dev only features so they cannot be forced unless\n // the dev build of Vue is used. Avoid old browsers like IE11.\n if ((((process.env.NODE_ENV !== 'production') || (typeof __VUE_PROD_DEVTOOLS__ !== 'undefined' && __VUE_PROD_DEVTOOLS__)) && !(process.env.NODE_ENV === 'test')) && IS_CLIENT && typeof Proxy !== 'undefined') {\n pinia.use(devtoolsPlugin);\n }\n return pinia;\n}\n/**\n * Dispose a Pinia instance by stopping its effectScope and removing the state, plugins and stores. This is mostly\n * useful in tests, with both a testing pinia or a regular pinia and in applications that use multiple pinia instances.\n * Once disposed, the pinia instance cannot be used anymore.\n *\n * @param pinia - pinia instance\n */\nfunction disposePinia(pinia) {\n pinia._e.stop();\n pinia._s.clear();\n pinia._p.splice(0);\n pinia.state.value = {};\n // @ts-expect-error: non valid\n pinia._a = null;\n}\n\n/**\n * Checks if a function is a `StoreDefinition`.\n *\n * @param fn - object to test\n * @returns true if `fn` is a StoreDefinition\n */\nconst isUseStore = (fn) => {\n return typeof fn === 'function' && typeof fn.$id === 'string';\n};\n/**\n * Mutates in place `newState` with `oldState` to _hot update_ it. It will\n * remove any key not existing in `newState` and recursively merge plain\n * objects.\n *\n * @param newState - new state object to be patched\n * @param oldState - old state that should be used to patch newState\n * @returns - newState\n */\nfunction patchObject(newState, oldState) {\n // no need to go through symbols because they cannot be serialized anyway\n for (const key in oldState) {\n const subPatch = oldState[key];\n // skip the whole sub tree\n if (!(key in newState)) {\n continue;\n }\n const targetValue = newState[key];\n if (isPlainObject(targetValue) &&\n isPlainObject(subPatch) &&\n !isRef(subPatch) &&\n !isReactive(subPatch)) {\n newState[key] = patchObject(targetValue, subPatch);\n }\n else {\n // objects are either a bit more complex (e.g. refs) or primitives, so we\n // just set the whole thing\n if (isVue2) {\n set(newState, key, subPatch);\n }\n else {\n newState[key] = subPatch;\n }\n }\n }\n return newState;\n}\n/**\n * Creates an _accept_ function to pass to `import.meta.hot` in Vite applications.\n *\n * @example\n * ```js\n * const useUser = defineStore(...)\n * if (import.meta.hot) {\n * import.meta.hot.accept(acceptHMRUpdate(useUser, import.meta.hot))\n * }\n * ```\n *\n * @param initialUseStore - return of the defineStore to hot update\n * @param hot - `import.meta.hot`\n */\nfunction acceptHMRUpdate(initialUseStore, hot) {\n // strip as much as possible from iife.prod\n if (!(process.env.NODE_ENV !== 'production')) {\n return () => { };\n }\n return (newModule) => {\n const pinia = hot.data.pinia || initialUseStore._pinia;\n if (!pinia) {\n // this store is still not used\n return;\n }\n // preserve the pinia instance across loads\n hot.data.pinia = pinia;\n // console.log('got data', newStore)\n for (const exportName in newModule) {\n const useStore = newModule[exportName];\n // console.log('checking for', exportName)\n if (isUseStore(useStore) && pinia._s.has(useStore.$id)) {\n // console.log('Accepting update for', useStore.$id)\n const id = useStore.$id;\n if (id !== initialUseStore.$id) {\n console.warn(`The id of the store changed from \"${initialUseStore.$id}\" to \"${id}\". Reloading.`);\n // return import.meta.hot.invalidate()\n return hot.invalidate();\n }\n const existingStore = pinia._s.get(id);\n if (!existingStore) {\n console.log(`[Pinia]: skipping hmr because store doesn't exist yet`);\n return;\n }\n useStore(pinia, existingStore);\n }\n }\n };\n}\n\nconst noop = () => { };\nfunction addSubscription(subscriptions, callback, detached, onCleanup = noop) {\n subscriptions.push(callback);\n const removeSubscription = () => {\n const idx = subscriptions.indexOf(callback);\n if (idx > -1) {\n subscriptions.splice(idx, 1);\n onCleanup();\n }\n };\n if (!detached && getCurrentScope()) {\n onScopeDispose(removeSubscription);\n }\n return removeSubscription;\n}\nfunction triggerSubscriptions(subscriptions, ...args) {\n subscriptions.slice().forEach((callback) => {\n callback(...args);\n });\n}\n\nconst fallbackRunWithContext = (fn) => fn();\n/**\n * Marks a function as an action for `$onAction`\n * @internal\n */\nconst ACTION_MARKER = Symbol();\n/**\n * Action name symbol. Allows to add a name to an action after defining it\n * @internal\n */\nconst ACTION_NAME = Symbol();\nfunction mergeReactiveObjects(target, patchToApply) {\n // Handle Map instances\n if (target instanceof Map && patchToApply instanceof Map) {\n patchToApply.forEach((value, key) => target.set(key, value));\n }\n else if (target instanceof Set && patchToApply instanceof Set) {\n // Handle Set instances\n patchToApply.forEach(target.add, target);\n }\n // no need to go through symbols because they cannot be serialized anyway\n for (const key in patchToApply) {\n if (!patchToApply.hasOwnProperty(key))\n continue;\n const subPatch = patchToApply[key];\n const targetValue = target[key];\n if (isPlainObject(targetValue) &&\n isPlainObject(subPatch) &&\n target.hasOwnProperty(key) &&\n !isRef(subPatch) &&\n !isReactive(subPatch)) {\n // NOTE: here I wanted to warn about inconsistent types but it's not possible because in setup stores one might\n // start the value of a property as a certain type e.g. a Map, and then for some reason, during SSR, change that\n // to `undefined`. When trying to hydrate, we want to override the Map with `undefined`.\n target[key] = mergeReactiveObjects(targetValue, subPatch);\n }\n else {\n // @ts-expect-error: subPatch is a valid value\n target[key] = subPatch;\n }\n }\n return target;\n}\nconst skipHydrateSymbol = (process.env.NODE_ENV !== 'production')\n ? Symbol('pinia:skipHydration')\n : /* istanbul ignore next */ Symbol();\n/**\n * Tells Pinia to skip the hydration process of a given object. This is useful in setup stores (only) when you return a\n * stateful object in the store but it isn't really state. e.g. returning a router instance in a setup store.\n *\n * @param obj - target object\n * @returns obj\n */\nfunction skipHydrate(obj) {\n return Object.defineProperty(obj, skipHydrateSymbol, {});\n}\n/**\n * Returns whether a value should be hydrated\n *\n * @param obj - target variable\n * @returns true if `obj` should be hydrated\n */\nfunction shouldHydrate(obj) {\n return !isPlainObject(obj) || !obj.hasOwnProperty(skipHydrateSymbol);\n}\nconst { assign } = Object;\nfunction isComputed(o) {\n return !!(isRef(o) && o.effect);\n}\nfunction createOptionsStore(id, options, pinia, hot) {\n const { state, actions, getters } = options;\n const initialState = pinia.state.value[id];\n let store;\n function setup() {\n if (!initialState && (!(process.env.NODE_ENV !== 'production') || !hot)) {\n /* istanbul ignore if */\n if (isVue2) {\n set(pinia.state.value, id, state ? state() : {});\n }\n else {\n pinia.state.value[id] = state ? state() : {};\n }\n }\n // avoid creating a state in pinia.state.value\n const localState = (process.env.NODE_ENV !== 'production') && hot\n ? // use ref() to unwrap refs inside state TODO: check if this is still necessary\n toRefs(ref(state ? state() : {}).value)\n : toRefs(pinia.state.value[id]);\n return assign(localState, actions, Object.keys(getters || {}).reduce((computedGetters, name) => {\n if ((process.env.NODE_ENV !== 'production') && name in localState) {\n console.warn(`[🍍]: A getter cannot have the same name as another state property. Rename one of them. Found with \"${name}\" in store \"${id}\".`);\n }\n computedGetters[name] = markRaw(computed(() => {\n setActivePinia(pinia);\n // it was created just before\n const store = pinia._s.get(id);\n // allow cross using stores\n /* istanbul ignore if */\n if (isVue2 && !store._r)\n return;\n // @ts-expect-error\n // return getters![name].call(context, context)\n // TODO: avoid reading the getter while assigning with a global variable\n return getters[name].call(store, store);\n }));\n return computedGetters;\n }, {}));\n }\n store = createSetupStore(id, setup, options, pinia, hot, true);\n return store;\n}\nfunction createSetupStore($id, setup, options = {}, pinia, hot, isOptionsStore) {\n let scope;\n const optionsForPlugin = assign({ actions: {} }, options);\n /* istanbul ignore if */\n if ((process.env.NODE_ENV !== 'production') && !pinia._e.active) {\n throw new Error('Pinia destroyed');\n }\n // watcher options for $subscribe\n const $subscribeOptions = { deep: true };\n /* istanbul ignore else */\n if ((process.env.NODE_ENV !== 'production') && !isVue2) {\n $subscribeOptions.onTrigger = (event) => {\n /* istanbul ignore else */\n if (isListening) {\n debuggerEvents = event;\n // avoid triggering this while the store is being built and the state is being set in pinia\n }\n else if (isListening == false && !store._hotUpdating) {\n // let patch send all the events together later\n /* istanbul ignore else */\n if (Array.isArray(debuggerEvents)) {\n debuggerEvents.push(event);\n }\n else {\n console.error('🍍 debuggerEvents should be an array. This is most likely an internal Pinia bug.');\n }\n }\n };\n }\n // internal state\n let isListening; // set to true at the end\n let isSyncListening; // set to true at the end\n let subscriptions = [];\n let actionSubscriptions = [];\n let debuggerEvents;\n const initialState = pinia.state.value[$id];\n // avoid setting the state for option stores if it is set\n // by the setup\n if (!isOptionsStore && !initialState && (!(process.env.NODE_ENV !== 'production') || !hot)) {\n /* istanbul ignore if */\n if (isVue2) {\n set(pinia.state.value, $id, {});\n }\n else {\n pinia.state.value[$id] = {};\n }\n }\n const hotState = ref({});\n // avoid triggering too many listeners\n // https://github.com/vuejs/pinia/issues/1129\n let activeListener;\n function $patch(partialStateOrMutator) {\n let subscriptionMutation;\n isListening = isSyncListening = false;\n // reset the debugger events since patches are sync\n /* istanbul ignore else */\n if ((process.env.NODE_ENV !== 'production')) {\n debuggerEvents = [];\n }\n if (typeof partialStateOrMutator === 'function') {\n partialStateOrMutator(pinia.state.value[$id]);\n subscriptionMutation = {\n type: MutationType.patchFunction,\n storeId: $id,\n events: debuggerEvents,\n };\n }\n else {\n mergeReactiveObjects(pinia.state.value[$id], partialStateOrMutator);\n subscriptionMutation = {\n type: MutationType.patchObject,\n payload: partialStateOrMutator,\n storeId: $id,\n events: debuggerEvents,\n };\n }\n const myListenerId = (activeListener = Symbol());\n nextTick().then(() => {\n if (activeListener === myListenerId) {\n isListening = true;\n }\n });\n isSyncListening = true;\n // because we paused the watcher, we need to manually call the subscriptions\n triggerSubscriptions(subscriptions, subscriptionMutation, pinia.state.value[$id]);\n }\n const $reset = isOptionsStore\n ? function $reset() {\n const { state } = options;\n const newState = state ? state() : {};\n // we use a patch to group all changes into one single subscription\n this.$patch(($state) => {\n // @ts-expect-error: FIXME: shouldn't error?\n assign($state, newState);\n });\n }\n : /* istanbul ignore next */\n (process.env.NODE_ENV !== 'production')\n ? () => {\n throw new Error(`🍍: Store \"${$id}\" is built using the setup syntax and does not implement $reset().`);\n }\n : noop;\n function $dispose() {\n scope.stop();\n subscriptions = [];\n actionSubscriptions = [];\n pinia._s.delete($id);\n }\n /**\n * Helper that wraps function so it can be tracked with $onAction\n * @param fn - action to wrap\n * @param name - name of the action\n */\n const action = (fn, name = '') => {\n if (ACTION_MARKER in fn) {\n fn[ACTION_NAME] = name;\n return fn;\n }\n const wrappedAction = function () {\n setActivePinia(pinia);\n const args = Array.from(arguments);\n const afterCallbackList = [];\n const onErrorCallbackList = [];\n function after(callback) {\n afterCallbackList.push(callback);\n }\n function onError(callback) {\n onErrorCallbackList.push(callback);\n }\n // @ts-expect-error\n triggerSubscriptions(actionSubscriptions, {\n args,\n name: wrappedAction[ACTION_NAME],\n store,\n after,\n onError,\n });\n let ret;\n try {\n ret = fn.apply(this && this.$id === $id ? this : store, args);\n // handle sync errors\n }\n catch (error) {\n triggerSubscriptions(onErrorCallbackList, error);\n throw error;\n }\n if (ret instanceof Promise) {\n return ret\n .then((value) => {\n triggerSubscriptions(afterCallbackList, value);\n return value;\n })\n .catch((error) => {\n triggerSubscriptions(onErrorCallbackList, error);\n return Promise.reject(error);\n });\n }\n // trigger after callbacks\n triggerSubscriptions(afterCallbackList, ret);\n return ret;\n };\n wrappedAction[ACTION_MARKER] = true;\n wrappedAction[ACTION_NAME] = name; // will be set later\n // @ts-expect-error: we are intentionally limiting the returned type to just Fn\n // because all the added properties are internals that are exposed through `$onAction()` only\n return wrappedAction;\n };\n const _hmrPayload = /*#__PURE__*/ markRaw({\n actions: {},\n getters: {},\n state: [],\n hotState,\n });\n const partialStore = {\n _p: pinia,\n // _s: scope,\n $id,\n $onAction: addSubscription.bind(null, actionSubscriptions),\n $patch,\n $reset,\n $subscribe(callback, options = {}) {\n const removeSubscription = addSubscription(subscriptions, callback, options.detached, () => stopWatcher());\n const stopWatcher = scope.run(() => watch(() => pinia.state.value[$id], (state) => {\n if (options.flush === 'sync' ? isSyncListening : isListening) {\n callback({\n storeId: $id,\n type: MutationType.direct,\n events: debuggerEvents,\n }, state);\n }\n }, assign({}, $subscribeOptions, options)));\n return removeSubscription;\n },\n $dispose,\n };\n /* istanbul ignore if */\n if (isVue2) {\n // start as non ready\n partialStore._r = false;\n }\n const store = reactive((process.env.NODE_ENV !== 'production') || ((((process.env.NODE_ENV !== 'production') || (typeof __VUE_PROD_DEVTOOLS__ !== 'undefined' && __VUE_PROD_DEVTOOLS__)) && !(process.env.NODE_ENV === 'test')) && IS_CLIENT)\n ? assign({\n _hmrPayload,\n _customProperties: markRaw(new Set()), // devtools custom properties\n }, partialStore\n // must be added later\n // setupStore\n )\n : partialStore);\n // store the partial store now so the setup of stores can instantiate each other before they are finished without\n // creating infinite loops.\n pinia._s.set($id, store);\n const runWithContext = (pinia._a && pinia._a.runWithContext) || fallbackRunWithContext;\n // TODO: idea create skipSerialize that marks properties as non serializable and they are skipped\n const setupStore = runWithContext(() => pinia._e.run(() => (scope = effectScope()).run(() => setup({ action }))));\n // overwrite existing actions to support $onAction\n for (const key in setupStore) {\n const prop = setupStore[key];\n if ((isRef(prop) && !isComputed(prop)) || isReactive(prop)) {\n // mark it as a piece of state to be serialized\n if ((process.env.NODE_ENV !== 'production') && hot) {\n set(hotState.value, key, toRef(setupStore, key));\n // createOptionStore directly sets the state in pinia.state.value so we\n // can just skip that\n }\n else if (!isOptionsStore) {\n // in setup stores we must hydrate the state and sync pinia state tree with the refs the user just created\n if (initialState && shouldHydrate(prop)) {\n if (isRef(prop)) {\n prop.value = initialState[key];\n }\n else {\n // probably a reactive object, lets recursively assign\n // @ts-expect-error: prop is unknown\n mergeReactiveObjects(prop, initialState[key]);\n }\n }\n // transfer the ref to the pinia state to keep everything in sync\n /* istanbul ignore if */\n if (isVue2) {\n set(pinia.state.value[$id], key, prop);\n }\n else {\n pinia.state.value[$id][key] = prop;\n }\n }\n /* istanbul ignore else */\n if ((process.env.NODE_ENV !== 'production')) {\n _hmrPayload.state.push(key);\n }\n // action\n }\n else if (typeof prop === 'function') {\n const actionValue = (process.env.NODE_ENV !== 'production') && hot ? prop : action(prop, key);\n // this a hot module replacement store because the hotUpdate method needs\n // to do it with the right context\n /* istanbul ignore if */\n if (isVue2) {\n set(setupStore, key, actionValue);\n }\n else {\n // @ts-expect-error\n setupStore[key] = actionValue;\n }\n /* istanbul ignore else */\n if ((process.env.NODE_ENV !== 'production')) {\n _hmrPayload.actions[key] = prop;\n }\n // list actions so they can be used in plugins\n // @ts-expect-error\n optionsForPlugin.actions[key] = prop;\n }\n else if ((process.env.NODE_ENV !== 'production')) {\n // add getters for devtools\n if (isComputed(prop)) {\n _hmrPayload.getters[key] = isOptionsStore\n ? // @ts-expect-error\n options.getters[key]\n : prop;\n if (IS_CLIENT) {\n const getters = setupStore._getters ||\n // @ts-expect-error: same\n (setupStore._getters = markRaw([]));\n getters.push(key);\n }\n }\n }\n }\n // add the state, getters, and action properties\n /* istanbul ignore if */\n if (isVue2) {\n Object.keys(setupStore).forEach((key) => {\n set(store, key, setupStore[key]);\n });\n }\n else {\n assign(store, setupStore);\n // allows retrieving reactive objects with `storeToRefs()`. Must be called after assigning to the reactive object.\n // Make `storeToRefs()` work with `reactive()` #799\n assign(toRaw(store), setupStore);\n }\n // use this instead of a computed with setter to be able to create it anywhere\n // without linking the computed lifespan to wherever the store is first\n // created.\n Object.defineProperty(store, '$state', {\n get: () => ((process.env.NODE_ENV !== 'production') && hot ? hotState.value : pinia.state.value[$id]),\n set: (state) => {\n /* istanbul ignore if */\n if ((process.env.NODE_ENV !== 'production') && hot) {\n throw new Error('cannot set hotState');\n }\n $patch(($state) => {\n // @ts-expect-error: FIXME: shouldn't error?\n assign($state, state);\n });\n },\n });\n // add the hotUpdate before plugins to allow them to override it\n /* istanbul ignore else */\n if ((process.env.NODE_ENV !== 'production')) {\n store._hotUpdate = markRaw((newStore) => {\n store._hotUpdating = true;\n newStore._hmrPayload.state.forEach((stateKey) => {\n if (stateKey in store.$state) {\n const newStateTarget = newStore.$state[stateKey];\n const oldStateSource = store.$state[stateKey];\n if (typeof newStateTarget === 'object' &&\n isPlainObject(newStateTarget) &&\n isPlainObject(oldStateSource)) {\n patchObject(newStateTarget, oldStateSource);\n }\n else {\n // transfer the ref\n newStore.$state[stateKey] = oldStateSource;\n }\n }\n // patch direct access properties to allow store.stateProperty to work as\n // store.$state.stateProperty\n set(store, stateKey, toRef(newStore.$state, stateKey));\n });\n // remove deleted state properties\n Object.keys(store.$state).forEach((stateKey) => {\n if (!(stateKey in newStore.$state)) {\n del(store, stateKey);\n }\n });\n // avoid devtools logging this as a mutation\n isListening = false;\n isSyncListening = false;\n pinia.state.value[$id] = toRef(newStore._hmrPayload, 'hotState');\n isSyncListening = true;\n nextTick().then(() => {\n isListening = true;\n });\n for (const actionName in newStore._hmrPayload.actions) {\n const actionFn = newStore[actionName];\n set(store, actionName, action(actionFn, actionName));\n }\n // TODO: does this work in both setup and option store?\n for (const getterName in newStore._hmrPayload.getters) {\n const getter = newStore._hmrPayload.getters[getterName];\n const getterValue = isOptionsStore\n ? // special handling of options api\n computed(() => {\n setActivePinia(pinia);\n return getter.call(store, store);\n })\n : getter;\n set(store, getterName, getterValue);\n }\n // remove deleted getters\n Object.keys(store._hmrPayload.getters).forEach((key) => {\n if (!(key in newStore._hmrPayload.getters)) {\n del(store, key);\n }\n });\n // remove old actions\n Object.keys(store._hmrPayload.actions).forEach((key) => {\n if (!(key in newStore._hmrPayload.actions)) {\n del(store, key);\n }\n });\n // update the values used in devtools and to allow deleting new properties later on\n store._hmrPayload = newStore._hmrPayload;\n store._getters = newStore._getters;\n store._hotUpdating = false;\n });\n }\n if ((((process.env.NODE_ENV !== 'production') || (typeof __VUE_PROD_DEVTOOLS__ !== 'undefined' && __VUE_PROD_DEVTOOLS__)) && !(process.env.NODE_ENV === 'test')) && IS_CLIENT) {\n const nonEnumerable = {\n writable: true,\n configurable: true,\n // avoid warning on devtools trying to display this property\n enumerable: false,\n };\n ['_p', '_hmrPayload', '_getters', '_customProperties'].forEach((p) => {\n Object.defineProperty(store, p, assign({ value: store[p] }, nonEnumerable));\n });\n }\n /* istanbul ignore if */\n if (isVue2) {\n // mark the store as ready before plugins\n store._r = true;\n }\n // apply all plugins\n pinia._p.forEach((extender) => {\n /* istanbul ignore else */\n if ((((process.env.NODE_ENV !== 'production') || (typeof __VUE_PROD_DEVTOOLS__ !== 'undefined' && __VUE_PROD_DEVTOOLS__)) && !(process.env.NODE_ENV === 'test')) && IS_CLIENT) {\n const extensions = scope.run(() => extender({\n store: store,\n app: pinia._a,\n pinia,\n options: optionsForPlugin,\n }));\n Object.keys(extensions || {}).forEach((key) => store._customProperties.add(key));\n assign(store, extensions);\n }\n else {\n assign(store, scope.run(() => extender({\n store: store,\n app: pinia._a,\n pinia,\n options: optionsForPlugin,\n })));\n }\n });\n if ((process.env.NODE_ENV !== 'production') &&\n store.$state &&\n typeof store.$state === 'object' &&\n typeof store.$state.constructor === 'function' &&\n !store.$state.constructor.toString().includes('[native code]')) {\n console.warn(`[🍍]: The \"state\" must be a plain object. It cannot be\\n` +\n `\\tstate: () => new MyClass()\\n` +\n `Found in store \"${store.$id}\".`);\n }\n // only apply hydrate to option stores with an initial state in pinia\n if (initialState &&\n isOptionsStore &&\n options.hydrate) {\n options.hydrate(store.$state, initialState);\n }\n isListening = true;\n isSyncListening = true;\n return store;\n}\n// allows unused stores to be tree shaken\n/*! #__NO_SIDE_EFFECTS__ */\nfunction defineStore(\n// TODO: add proper types from above\nidOrOptions, setup, setupOptions) {\n let id;\n let options;\n const isSetupStore = typeof setup === 'function';\n if (typeof idOrOptions === 'string') {\n id = idOrOptions;\n // the option store setup will contain the actual options in this case\n options = isSetupStore ? setupOptions : setup;\n }\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(pinia, hot) {\n const hasContext = hasInjectionContext();\n pinia =\n // in test mode, ignore the argument provided as we can always retrieve a\n // pinia instance with getActivePinia()\n ((process.env.NODE_ENV === 'test') && activePinia && activePinia._testing ? null : pinia) ||\n (hasContext ? inject(piniaSymbol, null) : null);\n if (pinia)\n setActivePinia(pinia);\n if ((process.env.NODE_ENV !== 'production') && !activePinia) {\n throw new Error(`[🍍]: \"getActivePinia()\" was called but there was no active Pinia. Are you trying to use a store before calling \"app.use(pinia)\"?\\n` +\n `See https://pinia.vuejs.org/core-concepts/outside-component-usage.html for help.\\n` +\n `This will fail in production.`);\n }\n pinia = activePinia;\n if (!pinia._s.has(id)) {\n // creating the store registers it in `pinia._s`\n if (isSetupStore) {\n createSetupStore(id, setup, options, pinia);\n }\n else {\n createOptionsStore(id, options, pinia);\n }\n /* istanbul ignore else */\n if ((process.env.NODE_ENV !== 'production')) {\n // @ts-expect-error: not the right inferred type\n useStore._pinia = pinia;\n }\n }\n const store = pinia._s.get(id);\n if ((process.env.NODE_ENV !== 'production') && hot) {\n const hotId = '__hot:' + id;\n const newStore = isSetupStore\n ? createSetupStore(hotId, setup, options, pinia, true)\n : createOptionsStore(hotId, assign({}, options), pinia, true);\n hot._hotUpdate(newStore);\n // cleanup the state properties and the store from the cache\n delete pinia.state.value[hotId];\n pinia._s.delete(hotId);\n }\n if ((process.env.NODE_ENV !== 'production') && IS_CLIENT) {\n const currentInstance = getCurrentInstance();\n // save stores in instances to access them devtools\n if (currentInstance &&\n currentInstance.proxy &&\n // avoid adding stores that are just built for hot module replacement\n !hot) {\n const vm = currentInstance.proxy;\n const cache = '_pStores' in vm ? vm._pStores : (vm._pStores = {});\n cache[id] = store;\n }\n }\n // StoreGeneric cannot be casted towards Store\n return store;\n }\n useStore.$id = id;\n return useStore;\n}\n\nlet mapStoreSuffix = 'Store';\n/**\n * Changes the suffix added by `mapStores()`. Can be set to an empty string.\n * Defaults to `\"Store\"`. Make sure to extend the MapStoresCustomization\n * interface if you are using TypeScript.\n *\n * @param suffix - new suffix\n */\nfunction setMapStoreSuffix(suffix // could be 'Store' but that would be annoying for JS\n) {\n mapStoreSuffix = suffix;\n}\n/**\n * Allows using stores without the composition API (`setup()`) by generating an\n * object to be spread in the `computed` field of a component. It accepts a list\n * of store definitions.\n *\n * @example\n * ```js\n * export default {\n * computed: {\n * // other computed properties\n * ...mapStores(useUserStore, useCartStore)\n * },\n *\n * created() {\n * this.userStore // store with id \"user\"\n * this.cartStore // store with id \"cart\"\n * }\n * }\n * ```\n *\n * @param stores - list of stores to map to an object\n */\nfunction mapStores(...stores) {\n if ((process.env.NODE_ENV !== 'production') && Array.isArray(stores[0])) {\n console.warn(`[🍍]: Directly pass all stores to \"mapStores()\" without putting them in an array:\\n` +\n `Replace\\n` +\n `\\tmapStores([useAuthStore, useCartStore])\\n` +\n `with\\n` +\n `\\tmapStores(useAuthStore, useCartStore)\\n` +\n `This will fail in production if not fixed.`);\n stores = stores[0];\n }\n return stores.reduce((reduced, useStore) => {\n // @ts-expect-error: $id is added by defineStore\n reduced[useStore.$id + mapStoreSuffix] = function () {\n return useStore(this.$pinia);\n };\n return reduced;\n }, {});\n}\n/**\n * Allows using state and getters from one store without using the composition\n * API (`setup()`) by generating an object to be spread in the `computed` field\n * of a component.\n *\n * @param useStore - store to map from\n * @param keysOrMapper - array or object\n */\nfunction mapState(useStore, keysOrMapper) {\n return Array.isArray(keysOrMapper)\n ? keysOrMapper.reduce((reduced, key) => {\n reduced[key] = function () {\n // @ts-expect-error: FIXME: should work?\n return useStore(this.$pinia)[key];\n };\n return reduced;\n }, {})\n : Object.keys(keysOrMapper).reduce((reduced, key) => {\n // @ts-expect-error\n reduced[key] = function () {\n const store = useStore(this.$pinia);\n const storeKey = keysOrMapper[key];\n // for some reason TS is unable to infer the type of storeKey to be a\n // function\n return typeof storeKey === 'function'\n ? storeKey.call(this, store)\n : // @ts-expect-error: FIXME: should work?\n store[storeKey];\n };\n return reduced;\n }, {});\n}\n/**\n * Alias for `mapState()`. You should use `mapState()` instead.\n * @deprecated use `mapState()` instead.\n */\nconst mapGetters = mapState;\n/**\n * Allows directly using actions from your store without using the composition\n * API (`setup()`) by generating an object to be spread in the `methods` field\n * of a component.\n *\n * @param useStore - store to map from\n * @param keysOrMapper - array or object\n */\nfunction mapActions(useStore, keysOrMapper) {\n return Array.isArray(keysOrMapper)\n ? keysOrMapper.reduce((reduced, key) => {\n // @ts-expect-error\n reduced[key] = function (...args) {\n // @ts-expect-error: FIXME: should work?\n return useStore(this.$pinia)[key](...args);\n };\n return reduced;\n }, {})\n : Object.keys(keysOrMapper).reduce((reduced, key) => {\n // @ts-expect-error\n reduced[key] = function (...args) {\n // @ts-expect-error: FIXME: should work?\n return useStore(this.$pinia)[keysOrMapper[key]](...args);\n };\n return reduced;\n }, {});\n}\n/**\n * Allows using state and getters from one store without using the composition\n * API (`setup()`) by generating an object to be spread in the `computed` field\n * of a component.\n *\n * @param useStore - store to map from\n * @param keysOrMapper - array or object\n */\nfunction mapWritableState(useStore, keysOrMapper) {\n return Array.isArray(keysOrMapper)\n ? keysOrMapper.reduce((reduced, key) => {\n reduced[key] = {\n get() {\n return useStore(this.$pinia)[key];\n },\n set(value) {\n return (useStore(this.$pinia)[key] = value);\n },\n };\n return reduced;\n }, {})\n : Object.keys(keysOrMapper).reduce((reduced, key) => {\n reduced[key] = {\n get() {\n return useStore(this.$pinia)[keysOrMapper[key]];\n },\n set(value) {\n return (useStore(this.$pinia)[keysOrMapper[key]] = value);\n },\n };\n return reduced;\n }, {});\n}\n\n/**\n * Creates an object of references with all the state, getters, and plugin-added\n * state properties of the store. Similar to `toRefs()` but specifically\n * designed for Pinia stores so methods and non reactive properties are\n * completely ignored.\n *\n * @param store - store to extract the refs from\n */\nfunction storeToRefs(store) {\n // See https://github.com/vuejs/pinia/issues/852\n // It's easier to just use toRefs() even if it includes more stuff\n if (isVue2) {\n // @ts-expect-error: toRefs include methods and others\n return toRefs(store);\n }\n else {\n const rawStore = toRaw(store);\n const refs = {};\n for (const key in rawStore) {\n const value = rawStore[key];\n // There is no native method to check for a computed\n // https://github.com/vuejs/core/pull/4165\n if (value.effect) {\n // @ts-expect-error: too hard to type correctly\n refs[key] =\n // ...\n computed({\n get: () => store[key],\n set(value) {\n store[key] = value;\n },\n });\n }\n else if (isRef(value) || isReactive(value)) {\n // @ts-expect-error: the key is state or getter\n refs[key] =\n // ---\n toRef(store, key);\n }\n }\n return refs;\n }\n}\n\n/**\n * Vue 2 Plugin that must be installed for pinia to work. Note **you don't need\n * this plugin if you are using Nuxt.js**. Use the `buildModule` instead:\n * https://pinia.vuejs.org/ssr/nuxt.html.\n *\n * @example\n * ```js\n * import Vue from 'vue'\n * import { PiniaVuePlugin, createPinia } from 'pinia'\n *\n * Vue.use(PiniaVuePlugin)\n * const pinia = createPinia()\n *\n * new Vue({\n * el: '#app',\n * // ...\n * pinia,\n * })\n * ```\n *\n * @param _Vue - `Vue` imported from 'vue'.\n */\nconst PiniaVuePlugin = function (_Vue) {\n // Equivalent of\n // app.config.globalProperties.$pinia = pinia\n _Vue.mixin({\n beforeCreate() {\n const options = this.$options;\n if (options.pinia) {\n const pinia = options.pinia;\n // HACK: taken from provide(): https://github.com/vuejs/composition-api/blob/main/src/apis/inject.ts#L31\n /* istanbul ignore else */\n if (!this._provided) {\n const provideCache = {};\n Object.defineProperty(this, '_provided', {\n get: () => provideCache,\n set: (v) => Object.assign(provideCache, v),\n });\n }\n this._provided[piniaSymbol] = pinia;\n // propagate the pinia instance in an SSR friendly way\n // avoid adding it to nuxt twice\n /* istanbul ignore else */\n if (!this.$pinia) {\n this.$pinia = pinia;\n }\n pinia._a = this;\n if (IS_CLIENT) {\n // this allows calling useStore() outside of a component setup after\n // installing pinia's plugin\n setActivePinia(pinia);\n }\n if ((((process.env.NODE_ENV !== 'production') || (typeof __VUE_PROD_DEVTOOLS__ !== 'undefined' && __VUE_PROD_DEVTOOLS__)) && !(process.env.NODE_ENV === 'test')) && IS_CLIENT) {\n registerPiniaDevtools(pinia._a, pinia);\n }\n }\n else if (!this.$pinia && options.parent && options.parent.$pinia) {\n this.$pinia = options.parent.$pinia;\n }\n },\n destroyed() {\n delete this._pStores;\n },\n });\n};\n\nexport { MutationType, PiniaVuePlugin, acceptHMRUpdate, createPinia, defineStore, disposePinia, getActivePinia, mapActions, mapGetters, mapState, mapStores, mapWritableState, setActivePinia, setMapStoreSuffix, shouldHydrate, skipHydrate, storeToRefs };\n","import { onMounted as G, ref as y, watch as L, onBeforeUnmount as Je, computed as k, unref as g, getCurrentScope as Le, onScopeDispose as Pe, getCurrentInstance as fe, nextTick as We, toRef as Qe, readonly as Ze, customRef as Ke, defineComponent as V, useTemplateRef as J, openBlock as C, createElementBlock as I, normalizeStyle as z, normalizeClass as F, createBlock as te, resolveDynamicComponent as De, mergeProps as me, toDisplayString as Y, Fragment as oe, createElementVNode as P, renderSlot as R, createCommentVNode as U, withDirectives as ie, vShow as He, renderList as ce, createTextVNode as _e, createVNode as Ce, withCtx as ke } from \"vue\";\nimport { defineStore as et } from \"pinia\";\nimport './assets/index.css';function Ne(e) {\n return Le() ? (Pe(e), !0) : !1;\n}\nfunction ve(e) {\n return typeof e == \"function\" ? e() : g(e);\n}\nconst tt = typeof window < \"u\" && typeof document < \"u\";\ntypeof WorkerGlobalScope < \"u\" && globalThis instanceof WorkerGlobalScope;\nconst nt = (e) => e != null, ot = Object.prototype.toString, lt = (e) => ot.call(e) === \"[object Object]\", rt = () => {\n}, Q = tt ? window : void 0;\nfunction X(e) {\n var t;\n const n = ve(e);\n return (t = n == null ? void 0 : n.$el) != null ? t : n;\n}\nfunction q(...e) {\n let t, n, o, a;\n if (typeof e[0] == \"string\" || Array.isArray(e[0]) ? ([n, o, a] = e, t = Q) : [t, n, o, a] = e, !t)\n return rt;\n Array.isArray(n) || (n = [n]), Array.isArray(o) || (o = [o]);\n const i = [], l = () => {\n i.forEach((c) => c()), i.length = 0;\n }, r = (c, u, f, m) => (c.addEventListener(u, f, m), () => c.removeEventListener(u, f, m)), d = L(\n () => [X(t), ve(a)],\n ([c, u]) => {\n if (l(), !c)\n return;\n const f = lt(u) ? { ...u } : u;\n i.push(\n ...n.flatMap((m) => o.map((x) => r(c, m, x, f)))\n );\n },\n { immediate: !0, flush: \"post\" }\n ), s = () => {\n d(), l();\n };\n return Ne(s), s;\n}\nfunction st() {\n const e = y(!1), t = fe();\n return t && G(() => {\n e.value = !0;\n }, t), e;\n}\nfunction at(e) {\n const t = st();\n return k(() => (t.value, !!e()));\n}\nfunction it(e, t, n = {}) {\n const { window: o = Q, ...a } = n;\n let i;\n const l = at(() => o && \"MutationObserver\" in o), r = () => {\n i && (i.disconnect(), i = void 0);\n }, d = k(() => {\n const f = ve(e), m = (Array.isArray(f) ? f : [f]).map(X).filter(nt);\n return new Set(m);\n }), s = L(\n () => d.value,\n (f) => {\n r(), l.value && f.size && (i = new MutationObserver(t), f.forEach((m) => i.observe(m, a)));\n },\n { immediate: !0, flush: \"post\" }\n ), c = () => i == null ? void 0 : i.takeRecords(), u = () => {\n s(), r();\n };\n return Ne(u), {\n isSupported: l,\n stop: u,\n takeRecords: c\n };\n}\nfunction ct(e = {}) {\n var t;\n const {\n window: n = Q,\n deep: o = !0,\n triggerOnRemoval: a = !1\n } = e, i = (t = e.document) != null ? t : n == null ? void 0 : n.document, l = () => {\n var s;\n let c = i == null ? void 0 : i.activeElement;\n if (o)\n for (; c != null && c.shadowRoot; )\n c = (s = c == null ? void 0 : c.shadowRoot) == null ? void 0 : s.activeElement;\n return c;\n }, r = y(), d = () => {\n r.value = l();\n };\n return n && (q(n, \"blur\", (s) => {\n s.relatedTarget === null && d();\n }, !0), q(n, \"focus\", d, !0)), a && it(i, (s) => {\n s.filter((c) => c.removedNodes.length).map((c) => Array.from(c.removedNodes)).flat().forEach((c) => {\n c === r.value && d();\n });\n }, {\n childList: !0,\n subtree: !0\n }), d(), r;\n}\nconst ut = \"focusin\", dt = \"focusout\";\nfunction ft(e, t = {}) {\n const { window: n = Q } = t, o = k(() => X(e)), a = y(!1), i = k(() => a.value), l = ct(t);\n return !n || !l.value ? { focused: i } : (q(o, ut, () => a.value = !0), q(o, dt, () => a.value = !1), { focused: i });\n}\nfunction mt(e, { window: t = Q, scrollTarget: n } = {}) {\n const o = y(!1), a = () => {\n if (!t) return;\n const i = t.document, l = X(e);\n if (!l)\n o.value = !1;\n else {\n const r = l.getBoundingClientRect();\n o.value = r.top <= (t.innerHeight || i.documentElement.clientHeight) && r.left <= (t.innerWidth || i.documentElement.clientWidth) && r.bottom >= 0 && r.right >= 0;\n }\n };\n return L(\n () => X(e),\n () => a(),\n { immediate: !0, flush: \"post\" }\n ), t && q(n || t, \"scroll\", a, {\n capture: !1,\n passive: !0\n }), o;\n}\nconst W = (e) => {\n let t = mt(e).value;\n return t = t && e.offsetHeight > 0, t;\n}, D = (e) => e.tabIndex >= 0, Ae = (e) => {\n const t = e.target;\n return pe(t);\n}, pe = (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 a = Array.from(o.children)[e.cellIndex];\n a && (n = a);\n }\n } else if (e instanceof HTMLTableRowElement) {\n const o = e.previousElementSibling;\n o && (n = o);\n }\n return n && (!D(n) || !W(n)) ? pe(n) : n;\n}, vt = (e) => {\n var t;\n const n = e.target;\n let o;\n if (n instanceof HTMLTableCellElement) {\n const a = (t = n.parentElement) == null ? void 0 : t.parentElement;\n if (a) {\n const i = a.firstElementChild, l = i == null ? void 0 : i.children[n.cellIndex];\n l && (o = l);\n }\n } else if (n instanceof HTMLTableRowElement) {\n const a = n.parentElement;\n if (a) {\n const i = a.firstElementChild;\n i && (o = i);\n }\n }\n return o && (!D(o) || !W(o)) ? he(o) : o;\n}, Ie = (e) => {\n const t = e.target;\n return he(t);\n}, he = (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 a = Array.from(o.children)[e.cellIndex];\n a && (n = a);\n }\n } else if (e instanceof HTMLTableRowElement) {\n const o = e.nextElementSibling;\n o && (n = o);\n }\n return n && (!D(n) || !W(n)) ? he(n) : n;\n}, pt = (e) => {\n var t;\n const n = e.target;\n let o;\n if (n instanceof HTMLTableCellElement) {\n const a = (t = n.parentElement) == null ? void 0 : t.parentElement;\n if (a) {\n const i = a.lastElementChild, l = i == null ? void 0 : i.children[n.cellIndex];\n l && (o = l);\n }\n } else if (n instanceof HTMLTableRowElement) {\n const a = n.parentElement;\n if (a) {\n const i = a.lastElementChild;\n i && (o = i);\n }\n }\n return o && (!D(o) || !W(o)) ? pe(o) : o;\n}, $e = (e) => {\n const t = e.target;\n return we(t);\n}, we = (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 && (!D(n) || !W(n)) ? we(n) : n;\n}, Se = (e) => {\n const t = e.target;\n return ge(t);\n}, ge = (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 && (!D(n) || !W(n)) ? ge(n) : n;\n}, Te = (e) => {\n const t = e.target.parentElement, n = t == null ? void 0 : t.firstElementChild;\n return n && (!D(n) || !W(n)) ? ge(n) : n;\n}, Me = (e) => {\n const t = e.target.parentElement, n = t == null ? void 0 : t.lastElementChild;\n return n && (!D(n) || !W(n)) ? we(n) : n;\n}, ee = [\"alt\", \"control\", \"shift\", \"meta\"], ht = {\n ArrowUp: \"up\",\n ArrowDown: \"down\",\n ArrowLeft: \"left\",\n ArrowRight: \"right\"\n}, ye = {\n \"keydown.up\": (e) => {\n const t = Ae(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.down\": (e) => {\n const t = Ie(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.left\": (e) => {\n const t = $e(e);\n e.preventDefault(), e.stopPropagation(), t && t.focus();\n },\n \"keydown.right\": (e) => {\n const t = Se(e);\n e.preventDefault(), e.stopPropagation(), t && t.focus();\n },\n \"keydown.control.up\": (e) => {\n const t = vt(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.control.down\": (e) => {\n const t = pt(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.control.left\": (e) => {\n const t = Te(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.control.right\": (e) => {\n const t = Me(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.end\": (e) => {\n const t = Me(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 = Ie(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 = Ae(e);\n t && t.focus();\n }\n },\n \"keydown.home\": (e) => {\n const t = Te(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.tab\": (e) => {\n const t = Se(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.shift.tab\": (e) => {\n const t = $e(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n }\n};\nfunction be(e) {\n const t = (l) => {\n let r = null;\n return l.parent && (typeof l.parent == \"string\" ? r = document.querySelector(l.parent) : l.parent instanceof HTMLElement ? r = l.parent : r = l.parent.value), r;\n }, n = (l) => {\n var r;\n const d = t(l);\n let s = [];\n if (typeof l.selectors == \"string\")\n s = d ? Array.from(d.querySelectorAll(l.selectors)) : Array.from(document.querySelectorAll(l.selectors));\n else if (Array.isArray(l.selectors))\n for (const c of l.selectors)\n c instanceof HTMLElement ? s.push(c) : s.push(c.$el);\n else if (l.selectors instanceof HTMLElement)\n s.push(l.selectors);\n else if ((r = l.selectors) != null && r.value)\n if (Array.isArray(l.selectors.value))\n for (const c of l.selectors.value)\n c instanceof HTMLElement ? s.push(c) : s.push(c.$el);\n else\n s.push(l.selectors.value);\n return s;\n }, o = (l) => {\n const r = t(l);\n let d = [];\n return l.selectors ? d = n(l) : r && (d = Array.from(r.children).filter((s) => D(s) && W(s))), d;\n }, a = (l) => (r) => {\n const d = ht[r.key] || r.key.toLowerCase();\n if (ee.includes(d)) return;\n const s = l.handlers || ye;\n for (const c of Object.keys(s)) {\n const [u, ...f] = c.split(\".\");\n if (u === \"keydown\" && f.includes(d)) {\n const m = s[c], x = f.filter((p) => ee.includes(p)), v = ee.some((p) => {\n const E = p.charAt(0).toUpperCase() + p.slice(1);\n return r.getModifierState(E);\n });\n if (x.length > 0) {\n if (v) {\n for (const p of ee)\n if (f.includes(p)) {\n const E = p.charAt(0).toUpperCase() + p.slice(1);\n r.getModifierState(E) && m(r);\n }\n }\n } else\n v || m(r);\n }\n }\n }, i = [];\n G(() => {\n for (const l of e) {\n const r = t(l), d = o(l), s = a(l), c = r ? [r] : d;\n for (const u of c) {\n const { focused: f } = ft(y(u)), m = L(f, (x) => {\n x ? u.addEventListener(\"keydown\", s) : u.removeEventListener(\"keydown\", s);\n });\n i.push(m);\n }\n }\n }), Je(() => {\n for (const l of i)\n l();\n });\n}\nfunction Z(e) {\n return Le() ? (Pe(e), !0) : !1;\n}\nfunction O(e) {\n return typeof e == \"function\" ? e() : g(e);\n}\nconst xe = typeof window < \"u\" && typeof document < \"u\";\ntypeof WorkerGlobalScope < \"u\" && globalThis instanceof WorkerGlobalScope;\nconst wt = (e) => e != null, gt = Object.prototype.toString, Ve = (e) => gt.call(e) === \"[object Object]\", H = () => {\n}, ue = /* @__PURE__ */ yt();\nfunction yt() {\n var e, t;\n return xe && ((e = window == null ? void 0 : window.navigator) == null ? void 0 : e.userAgent) && (/iP(?:ad|hone|od)/.test(window.navigator.userAgent) || ((t = window == null ? void 0 : window.navigator) == null ? void 0 : t.maxTouchPoints) > 2 && /iPad|Macintosh/.test(window == null ? void 0 : window.navigator.userAgent));\n}\nfunction bt(e) {\n return fe();\n}\nfunction xt(...e) {\n if (e.length !== 1)\n return Qe(...e);\n const t = e[0];\n return typeof t == \"function\" ? Ze(Ke(() => ({ get: t, set: H }))) : y(t);\n}\nfunction Et(e, t = !0, n) {\n bt() ? G(e, n) : t ? e() : We(e);\n}\nconst le = xe ? window : void 0;\nfunction N(e) {\n var t;\n const n = O(e);\n return (t = n == null ? void 0 : n.$el) != null ? t : n;\n}\nfunction de(...e) {\n let t, n, o, a;\n if (typeof e[0] == \"string\" || Array.isArray(e[0]) ? ([n, o, a] = e, t = le) : [t, n, o, a] = e, !t)\n return H;\n Array.isArray(n) || (n = [n]), Array.isArray(o) || (o = [o]);\n const i = [], l = () => {\n i.forEach((c) => c()), i.length = 0;\n }, r = (c, u, f, m) => (c.addEventListener(u, f, m), () => c.removeEventListener(u, f, m)), d = L(\n () => [N(t), O(a)],\n ([c, u]) => {\n if (l(), !c)\n return;\n const f = Ve(u) ? { ...u } : u;\n i.push(\n ...n.flatMap((m) => o.map((x) => r(c, m, x, f)))\n );\n },\n { immediate: !0, flush: \"post\" }\n ), s = () => {\n d(), l();\n };\n return Z(s), s;\n}\nfunction Ct() {\n const e = y(!1), t = fe();\n return t && G(() => {\n e.value = !0;\n }, t), e;\n}\nfunction je(e) {\n const t = Ct();\n return k(() => (t.value, !!e()));\n}\nfunction Be(e, t, n = {}) {\n const { window: o = le, ...a } = n;\n let i;\n const l = je(() => o && \"MutationObserver\" in o), r = () => {\n i && (i.disconnect(), i = void 0);\n }, d = k(() => {\n const f = O(e), m = (Array.isArray(f) ? f : [f]).map(N).filter(wt);\n return new Set(m);\n }), s = L(\n () => d.value,\n (f) => {\n r(), l.value && f.size && (i = new MutationObserver(t), f.forEach((m) => i.observe(m, a)));\n },\n { immediate: !0, flush: \"post\" }\n ), c = () => i == null ? void 0 : i.takeRecords(), u = () => {\n s(), r();\n };\n return Z(u), {\n isSupported: l,\n stop: u,\n takeRecords: c\n };\n}\nfunction kt(e, t, n = {}) {\n const { window: o = le, ...a } = n;\n let i;\n const l = je(() => o && \"ResizeObserver\" in o), r = () => {\n i && (i.disconnect(), i = void 0);\n }, d = k(() => {\n const u = O(e);\n return Array.isArray(u) ? u.map((f) => N(f)) : [N(u)];\n }), s = L(\n d,\n (u) => {\n if (r(), l.value && o) {\n i = new ResizeObserver(t);\n for (const f of u)\n f && i.observe(f, a);\n }\n },\n { immediate: !0, flush: \"post\" }\n ), c = () => {\n r(), s();\n };\n return Z(c), {\n isSupported: l,\n stop: c\n };\n}\nfunction ze(e, t = {}) {\n const {\n reset: n = !0,\n windowResize: o = !0,\n windowScroll: a = !0,\n immediate: i = !0,\n updateTiming: l = \"sync\"\n } = t, r = y(0), d = y(0), s = y(0), c = y(0), u = y(0), f = y(0), m = y(0), x = y(0);\n function v() {\n const E = N(e);\n if (!E) {\n n && (r.value = 0, d.value = 0, s.value = 0, c.value = 0, u.value = 0, f.value = 0, m.value = 0, x.value = 0);\n return;\n }\n const b = E.getBoundingClientRect();\n r.value = b.height, d.value = b.bottom, s.value = b.left, c.value = b.right, u.value = b.top, f.value = b.width, m.value = b.x, x.value = b.y;\n }\n function p() {\n l === \"sync\" ? v() : l === \"next-frame\" && requestAnimationFrame(() => v());\n }\n return kt(e, p), L(() => N(e), (E) => !E && p()), Be(e, p, {\n attributeFilter: [\"style\", \"class\"]\n }), a && de(\"scroll\", p, { capture: !0, passive: !0 }), o && de(\"resize\", p, { passive: !0 }), Et(() => {\n i && p();\n }), {\n height: r,\n bottom: d,\n left: s,\n right: c,\n top: u,\n width: f,\n x: m,\n y: x,\n update: p\n };\n}\nfunction At(e = {}) {\n const { window: t = le, behavior: n = \"auto\" } = e;\n if (!t)\n return {\n x: y(0),\n y: y(0)\n };\n const o = y(t.scrollX), a = y(t.scrollY), i = k({\n get() {\n return o.value;\n },\n set(r) {\n scrollTo({ left: r, behavior: n });\n }\n }), l = k({\n get() {\n return a.value;\n },\n set(r) {\n scrollTo({ top: r, behavior: n });\n }\n });\n return de(\n t,\n \"scroll\",\n () => {\n o.value = t.scrollX, a.value = t.scrollY;\n },\n {\n capture: !1,\n passive: !0\n }\n ), { x: i, y: l };\n}\nconst It = (e) => {\n const t = new DOMParser().parseFromString(e, \"text/html\");\n return Array.from(t.body.childNodes).some((n) => n.nodeType === 1);\n}, $t = (e = 8) => Array.from({ length: e }, () => Math.floor(Math.random() * 16).toString(16)).join(\"\"), St = [\"data-colindex\", \"data-rowindex\", \"data-editable\", \"contenteditable\", \"tabindex\"], Tt = [\"innerHTML\"], Mt = { key: 2 }, Fe = /* @__PURE__ */ V({\n __name: \"ACell\",\n props: {\n colIndex: {},\n rowIndex: {},\n store: {},\n addNavigation: { type: [Boolean, Object], default: !0 },\n tabIndex: { default: 0 },\n pinned: { type: Boolean, default: !1 }\n },\n emits: [\"cellInput\"],\n setup(e, { emit: t }) {\n const n = t, o = J(\"cell\"), a = e.store.getCellData(e.colIndex, e.rowIndex), i = y(\"\"), l = y(!1), r = e.store.columns[e.colIndex], d = e.store.rows[e.rowIndex], s = r.align || \"center\", c = r.width || \"40ch\", u = k(() => e.store.getCellDisplayValue(e.colIndex, e.rowIndex)), f = k(() => typeof u.value == \"string\" ? It(u.value) : !1), m = k(() => {\n var b;\n return {\n textAlign: s,\n width: c,\n fontWeight: l.value ? \"bold\" : \"inherit\",\n paddingLeft: e.store.getIndent(e.colIndex, (b = e.store.display[e.rowIndex]) == null ? void 0 : b.indent)\n };\n }), x = k(() => ({\n \"sticky-column\": e.pinned,\n \"cell-modified\": l.value\n })), v = () => {\n const { left: b, bottom: S, width: re, height: _ } = ze(o);\n r.mask, r.modalComponent && e.store.$patch((M) => {\n M.modal.visible = !0, M.modal.colIndex = e.colIndex, M.modal.rowIndex = e.rowIndex, M.modal.left = b, M.modal.bottom = S, M.modal.width = re, M.modal.height = _, typeof r.modalComponent == \"function\" ? M.modal.component = r.modalComponent({ table: M.table, row: d, column: r }) : M.modal.component = r.modalComponent, M.modal.componentProps = r.modalComponentExtraProps;\n });\n };\n if (e.addNavigation) {\n let b = {\n ...ye,\n \"keydown.f2\": v,\n \"keydown.alt.up\": v,\n \"keydown.alt.down\": v,\n \"keydown.alt.left\": v,\n \"keydown.alt.right\": v\n };\n typeof e.addNavigation == \"object\" && (b = {\n ...b,\n ...e.addNavigation\n }), be([\n {\n selectors: o,\n handlers: b\n }\n ]);\n }\n const p = () => {\n o.value && (i.value = o.value.textContent);\n }, E = (b) => {\n const S = b.target;\n S.textContent !== i.value && (n(\"cellInput\", e.colIndex, e.rowIndex, S.textContent, i.value), i.value = S.textContent, r.format ? (l.value = S.textContent !== e.store.getFormattedValue(e.colIndex, e.rowIndex, a), e.store.setCellText(e.colIndex, e.rowIndex, S.textContent)) : (l.value = S.textContent !== a, e.store.setCellData(e.colIndex, e.rowIndex, S.textContent)));\n };\n return (b, S) => (C(), I(\"td\", {\n ref: \"cell\",\n \"data-colindex\": b.colIndex,\n \"data-rowindex\": b.rowIndex,\n \"data-editable\": g(r).edit,\n contenteditable: g(r).edit,\n tabindex: b.tabIndex,\n spellcheck: !1,\n style: z(m.value),\n onFocus: p,\n onPaste: E,\n onInput: E,\n onClick: v,\n class: F([\"atable-cell\", x.value])\n }, [\n g(r).cellComponent ? (C(), te(De(g(r).cellComponent), me({\n key: 0,\n value: u.value\n }, g(r).cellComponentProps), null, 16, [\"value\"])) : f.value ? (C(), I(\"span\", {\n key: 1,\n innerHTML: u.value\n }, null, 8, Tt)) : (C(), I(\"span\", Mt, Y(u.value), 1))\n ], 46, St));\n }\n}), Rt = [\"tabindex\"], Ot = [\"tabindex\"], Lt = [\"colspan\"], Pt = /* @__PURE__ */ V({\n __name: \"AExpansionRow\",\n props: {\n rowIndex: {},\n store: {},\n tabIndex: { default: () => -1 },\n addNavigation: { type: [Boolean, Object] }\n },\n setup(e) {\n const t = J(\"rowEl\"), n = k(() => e.store.display[e.rowIndex].expanded ? \"▼\" : \"►\");\n if (e.addNavigation) {\n const o = {\n \"keydown.control.g\": (a) => {\n a.stopPropagation(), a.preventDefault(), e.store.toggleRowExpand(e.rowIndex);\n }\n };\n typeof e.addNavigation == \"object\" && Object.assign(o, e.addNavigation), be([\n {\n selectors: t,\n handlers: o\n }\n ]);\n }\n return (o, a) => (C(), I(oe, null, [\n P(\"tr\", me(o.$attrs, {\n ref: \"rowEl\",\n tabindex: o.tabIndex,\n class: \"expandable-row\"\n }), [\n P(\"td\", {\n tabIndex: -1,\n onClick: a[0] || (a[0] = (i) => o.store.toggleRowExpand(o.rowIndex)),\n class: \"row-index\"\n }, Y(n.value), 1),\n R(o.$slots, \"row\", {}, void 0, !0)\n ], 16, Rt),\n o.store.display[o.rowIndex].expanded ? (C(), I(\"tr\", {\n key: 0,\n ref: \"rowExpanded\",\n tabindex: o.tabIndex,\n class: \"expanded-row\"\n }, [\n P(\"td\", {\n tabIndex: -1,\n colspan: o.store.columns.length + 1,\n class: \"expanded-row-content\"\n }, [\n R(o.$slots, \"content\", {}, void 0, !0)\n ], 8, Lt)\n ], 8, Ot)) : U(\"\", !0)\n ], 64));\n }\n}), K = (e, t) => {\n const n = e.__vccOpts || e;\n for (const [o, a] of t)\n n[o] = a;\n return n;\n}, Wt = /* @__PURE__ */ K(Pt, [[\"__scopeId\", \"data-v-60affd71\"]]), Dt = [\"tabindex\"], Ht = /* @__PURE__ */ V({\n __name: \"ARow\",\n props: {\n rowIndex: {},\n store: {},\n tabIndex: { default: () => -1 },\n addNavigation: { type: [Boolean, Object], default: !1 }\n },\n setup(e) {\n const t = J(\"rowEl\"), n = k(() => e.store.isRowVisible(e.rowIndex)), o = k(() => e.store.getRowExpandSymbol(e.rowIndex));\n if (e.addNavigation) {\n let a = ye;\n typeof e.addNavigation == \"object\" && (a = {\n ...a,\n ...e.addNavigation\n }), be([\n {\n selectors: t,\n handlers: a\n }\n ]);\n }\n return (a, i) => ie((C(), I(\"tr\", {\n ref: \"rowEl\",\n tabindex: a.tabIndex,\n class: \"atable-row\"\n }, [\n a.store.config.view !== \"uncounted\" ? R(a.$slots, \"index\", { key: 0 }, () => [\n a.store.config.view === \"list\" ? (C(), I(\"td\", {\n key: 0,\n tabIndex: -1,\n class: F([\"list-index\", a.store.hasPinnedColumns ? \"sticky-index\" : \"\"])\n }, Y(a.rowIndex + 1), 3)) : a.store.config.view === \"tree\" ? (C(), I(\"td\", {\n key: 1,\n tabIndex: -1,\n class: F([\"tree-index\", a.store.hasPinnedColumns ? \"sticky-index\" : \"\"]),\n onClick: i[0] || (i[0] = (l) => a.store.toggleRowExpand(a.rowIndex))\n }, Y(o.value), 3)) : U(\"\", !0)\n ], !0) : U(\"\", !0),\n R(a.$slots, \"default\", {}, void 0, !0)\n ], 8, Dt)), [\n [He, n.value]\n ]);\n }\n}), Ye = /* @__PURE__ */ K(Ht, [[\"__scopeId\", \"data-v-e02365ea\"]]), Ue = xe ? window : void 0;\nfunction B(e) {\n var t;\n const n = O(e);\n return (t = n == null ? void 0 : n.$el) != null ? t : n;\n}\nfunction ne(...e) {\n let t, n, o, a;\n if (typeof e[0] == \"string\" || Array.isArray(e[0]) ? ([n, o, a] = e, t = Ue) : [t, n, o, a] = e, !t)\n return H;\n Array.isArray(n) || (n = [n]), Array.isArray(o) || (o = [o]);\n const i = [], l = () => {\n i.forEach((c) => c()), i.length = 0;\n }, r = (c, u, f, m) => (c.addEventListener(u, f, m), () => c.removeEventListener(u, f, m)), d = L(\n () => [B(t), O(a)],\n ([c, u]) => {\n if (l(), !c)\n return;\n const f = Ve(u) ? { ...u } : u;\n i.push(\n ...n.flatMap((m) => o.map((x) => r(c, m, x, f)))\n );\n },\n { immediate: !0, flush: \"post\" }\n ), s = () => {\n d(), l();\n };\n return Z(s), s;\n}\nlet Re = !1;\nfunction Oe(e, t, n = {}) {\n const { window: o = Ue, ignore: a = [], capture: i = !0, detectIframe: l = !1 } = n;\n if (!o)\n return H;\n ue && !Re && (Re = !0, Array.from(o.document.body.children).forEach((v) => v.addEventListener(\"click\", H)), o.document.documentElement.addEventListener(\"click\", H));\n let r = !0;\n const d = (v) => O(a).some((p) => {\n if (typeof p == \"string\")\n return Array.from(o.document.querySelectorAll(p)).some((E) => E === v.target || v.composedPath().includes(E));\n {\n const E = B(p);\n return E && (v.target === E || v.composedPath().includes(E));\n }\n });\n function s(v) {\n const p = O(v);\n return p && p.$.subTree.shapeFlag === 16;\n }\n function c(v, p) {\n const E = O(v), b = E.$.subTree && E.$.subTree.children;\n return b == null || !Array.isArray(b) ? !1 : b.some((S) => S.el === p.target || p.composedPath().includes(S.el));\n }\n const u = (v) => {\n const p = B(e);\n if (v.target != null && !(!(p instanceof Element) && s(e) && c(e, v)) && !(!p || p === v.target || v.composedPath().includes(p))) {\n if (v.detail === 0 && (r = !d(v)), !r) {\n r = !0;\n return;\n }\n t(v);\n }\n };\n let f = !1;\n const m = [\n ne(o, \"click\", (v) => {\n f || (f = !0, setTimeout(() => {\n f = !1;\n }, 0), u(v));\n }, { passive: !0, capture: i }),\n ne(o, \"pointerdown\", (v) => {\n const p = B(e);\n r = !d(v) && !!(p && !v.composedPath().includes(p));\n }, { passive: !0 }),\n l && ne(o, \"blur\", (v) => {\n setTimeout(() => {\n var p;\n const E = B(e);\n ((p = o.document.activeElement) == null ? void 0 : p.tagName) === \"IFRAME\" && !(E != null && E.contains(o.document.activeElement)) && t(v);\n }, 0);\n })\n ].filter(Boolean);\n return () => m.forEach((v) => v());\n}\nconst Nt = {\n mounted(e, t) {\n const n = !t.modifiers.bubble;\n if (typeof t.value == \"function\")\n e.__onClickOutside_stop = Oe(e, t.value, { capture: n });\n else {\n const [o, a] = t.value;\n e.__onClickOutside_stop = Oe(e, o, Object.assign({ capture: n }, a));\n }\n },\n unmounted(e) {\n e.__onClickOutside_stop();\n }\n};\nfunction se(e) {\n return typeof Window < \"u\" && e instanceof Window ? e.document.documentElement : typeof Document < \"u\" && e instanceof Document ? e.documentElement : e;\n}\nfunction Xe(e) {\n const t = window.getComputedStyle(e);\n if (t.overflowX === \"scroll\" || t.overflowY === \"scroll\" || t.overflowX === \"auto\" && e.clientWidth < e.scrollWidth || t.overflowY === \"auto\" && e.clientHeight < e.scrollHeight)\n return !0;\n {\n const n = e.parentNode;\n return !n || n.tagName === \"BODY\" ? !1 : Xe(n);\n }\n}\nfunction Vt(e) {\n const t = e || window.event, n = t.target;\n return Xe(n) ? !1 : t.touches.length > 1 ? !0 : (t.preventDefault && t.preventDefault(), !1);\n}\nconst ae = /* @__PURE__ */ new WeakMap();\nfunction jt(e, t = !1) {\n const n = y(t);\n let o = null, a = \"\";\n L(xt(e), (r) => {\n const d = se(O(r));\n if (d) {\n const s = d;\n if (ae.get(s) || ae.set(s, s.style.overflow), s.style.overflow !== \"hidden\" && (a = s.style.overflow), s.style.overflow === \"hidden\")\n return n.value = !0;\n if (n.value)\n return s.style.overflow = \"hidden\";\n }\n }, {\n immediate: !0\n });\n const i = () => {\n const r = se(O(e));\n !r || n.value || (ue && (o = ne(\n r,\n \"touchmove\",\n (d) => {\n Vt(d);\n },\n { passive: !1 }\n )), r.style.overflow = \"hidden\", n.value = !0);\n }, l = () => {\n const r = se(O(e));\n !r || !n.value || (ue && (o == null || o()), r.style.overflow = a, ae.delete(r), n.value = !1);\n };\n return Z(l), k({\n get() {\n return n.value;\n },\n set(r) {\n r ? i() : l();\n }\n });\n}\nfunction Bt() {\n let e = !1;\n const t = y(!1);\n return (n, o) => {\n if (t.value = o.value, e)\n return;\n e = !0;\n const a = jt(n, o.value);\n L(t, (i) => a.value = i);\n };\n}\nBt();\nconst zt = {\n key: 0,\n id: \"resizable\"\n}, Ft = {\n class: \"atable-header-row\",\n tabindex: \"-1\"\n}, qe = /* @__PURE__ */ V({\n __name: \"ATableHeader\",\n props: {\n columns: {},\n store: {}\n },\n setup(e) {\n return (t, n) => t.columns.length ? (C(), I(\"thead\", zt, [\n P(\"tr\", Ft, [\n t.store.zeroColumn ? (C(), I(\"th\", {\n key: 0,\n id: \"header-index\",\n class: F([[\n t.store.hasPinnedColumns ? \"sticky-index\" : \"\",\n t.store.config.view === \"tree\" ? \"tree-index\" : \"\",\n t.store.config.view === \"list-expansion\" ? \"list-expansion-index\" : \"\"\n ], \"list-index\"])\n }, null, 2)) : U(\"\", !0),\n (C(!0), I(oe, null, ce(t.columns, (o, a) => (C(), I(\"th\", {\n key: o.name,\n tabindex: \"-1\",\n style: z(t.store.getHeaderCellStyle(o)),\n class: F(o.pinned ? \"sticky-column\" : \"\")\n }, [\n R(t.$slots, \"default\", {}, () => [\n _e(Y(o.label || String.fromCharCode(a + 97).toUpperCase()), 1)\n ])\n ], 6))), 128))\n ])\n ])) : U(\"\", !0);\n }\n}), Ge = /* @__PURE__ */ V({\n __name: \"ATableModal\",\n props: {\n store: {}\n },\n setup(e) {\n const t = J(\"amodal\"), { width: n, height: o } = ze(t), { y: a } = At(), i = k(() => {\n if (!(e.store.modal.height && e.store.modal.width && e.store.modal.left && e.store.modal.bottom)) return;\n const r = document.body, d = document.documentElement, s = Math.max(\n r.scrollHeight,\n r.offsetHeight,\n d.clientHeight,\n d.scrollHeight,\n d.offsetHeight\n ), c = Math.max(r.scrollWidth, r.offsetWidth, d.clientWidth, d.scrollWidth, d.offsetWidth), u = e.store.modal.bottom + o.value + a.value <= s ? e.store.modal.bottom : e.store.modal.bottom - o.value - e.store.modal.height;\n return {\n left: `${e.store.modal.left + n.value <= c ? e.store.modal.left : e.store.modal.left - (n.value - e.store.modal.width)}px`,\n top: `${u}px`\n };\n }), l = (r) => {\n r.stopPropagation();\n };\n return (r, d) => (C(), I(\"div\", {\n class: \"amodal\",\n ref: \"amodal\",\n tabindex: \"-1\",\n onClick: l,\n onInput: l,\n style: z(i.value)\n }, [\n R(r.$slots, \"default\")\n ], 36));\n }\n}), Yt = (e) => {\n const t = e.id || $t();\n return et(`table-${t}`, () => {\n const o = () => {\n const h = {};\n for (const [w, A] of i.value.entries())\n for (const [$, T] of l.value.entries())\n h[`${w}:${$}`] = T[A.name];\n return h;\n }, a = (h) => {\n const w = [Object.assign({}, { rowModified: !1 })];\n if (h && \"0:0\" in h)\n return h;\n const A = /* @__PURE__ */ new Set();\n for (let $ = l.value.length - 1; $ >= 0; $--) {\n const T = l.value[$];\n T.parent && A.add(T.parent), w[$] = {\n childrenOpen: !1,\n expanded: !1,\n indent: T.indent || 0,\n isParent: A.has($),\n isRoot: T.parent === null || T.parent === void 0,\n rowModified: !1,\n open: T.parent === null || T.parent === void 0,\n parent: T.parent\n };\n }\n return w;\n }, i = y(e.columns), l = y(e.rows), r = y(e.config || {}), d = y(e.table || o()), s = y(a(e.display)), c = y(e.modal || { visible: !1 }), u = y({}), f = k(() => i.value.some((h) => h.pinned)), m = k(() => `${Math.ceil(l.value.length / 100 + 1)}ch`), x = k(\n () => r.value.view ? [\"list\", \"tree\", \"list-expansion\"].includes(r.value.view) : !1\n ), v = (h, w) => d.value[`${h}:${w}`], p = (h, w, A) => {\n const $ = `${h}:${w}`, T = i.value[h];\n d.value[$] !== A && (s.value[w].rowModified = !0), d.value[$] = A, l.value[w][T.name] = A;\n }, E = (h, w, A) => {\n const $ = `${h}:${w}`;\n d.value[$] !== A && (s.value[w].rowModified = !0, u.value[$] = A);\n }, b = (h) => ({\n minWidth: h.width || \"40ch\",\n textAlign: h.align || \"center\",\n width: r.value.fullWidth ? \"auto\" : void 0\n }), S = (h) => r.value.view !== \"tree\" || s.value[h].isRoot || s.value[h].open, re = (h) => r.value.view !== \"tree\" ? \"\" : s.value[h].isRoot || s.value[h].isParent ? s.value[h].childrenOpen ? \"-\" : \"+\" : \"\", _ = (h) => {\n if (r.value.view === \"tree\") {\n s.value[h].childrenOpen = !s.value[h].childrenOpen;\n for (let w = l.value.length - 1; w >= 0; w--)\n s.value[w].parent === h && (s.value[w].open = !s.value[w].open, s.value[w].childrenOpen && _(w));\n } else r.value.view === \"list-expansion\" && (s.value[h].expanded = !s.value[h].expanded);\n }, M = (h, w) => {\n const A = v(h, w);\n return Ee(h, w, A);\n }, Ee = (h, w, A) => {\n const $ = i.value[h], T = l.value[w], j = $.format;\n return j ? typeof j == \"function\" ? j(A, { table: d.value, row: T, column: $ }) : typeof j == \"string\" ? Function(`\"use strict\";return (${j})`)()(A, { table: d.value, row: T, column: $ }) : A : A;\n };\n return {\n // state\n columns: i,\n config: r,\n display: s,\n modal: c,\n rows: l,\n table: d,\n updates: u,\n // getters\n hasPinnedColumns: f,\n numberedRowWidth: m,\n zeroColumn: x,\n // actions\n closeModal: (h) => {\n var w;\n h.target instanceof Node && (w = c.value.parent) != null && w.contains(h.target) || c.value.visible && (c.value.visible = !1);\n },\n getCellData: v,\n getCellDisplayValue: M,\n getFormattedValue: Ee,\n getHeaderCellStyle: b,\n getIndent: (h, w) => w && h === 0 && w > 0 ? `${w}ch` : \"inherit\",\n getRowExpandSymbol: re,\n isRowVisible: S,\n setCellData: p,\n setCellText: E,\n toggleRowExpand: _\n };\n })();\n}, Ut = /* @__PURE__ */ V({\n __name: \"ATable\",\n props: {\n id: {},\n modelValue: {},\n columns: {},\n rows: { default: () => [] },\n config: { default: () => new Object() }\n },\n emits: [\"update:modelValue\", \"cellUpdate\"],\n setup(e, { expose: t, emit: n }) {\n const o = n, a = J(\"table\"), i = e.modelValue ? e.modelValue : e.rows, l = Yt({ columns: e.columns, rows: i, id: e.id, config: e.config });\n l.$onAction(({ name: s, store: c, args: u, after: f }) => {\n if (s === \"setCellData\") {\n const [m, x, v] = u, p = c.getCellData(m, x);\n f(() => {\n o(\"cellUpdate\", m, x, v, p);\n });\n }\n }), L(\n () => l.rows,\n (s) => {\n o(\"update:modelValue\", s);\n },\n { deep: !0 }\n ), G(() => {\n e.columns.some((s) => s.pinned) && (d(), l.config.view === \"tree\" && Be(a, d, { childList: !0, subtree: !0 }));\n });\n const r = (s, c, u, f) => {\n o(\"cellUpdate\", s, c, u, f);\n }, d = () => {\n const s = a.value, c = s == null ? void 0 : s.rows[0], u = s == null ? void 0 : s.rows[1], f = c ? Array.from(c.cells) : [];\n for (const [m, x] of f.entries()) {\n const v = u == null ? void 0 : u.cells[m];\n v && (x.style.width = `${v.offsetWidth}px`);\n }\n for (const m of (s == null ? void 0 : s.rows) || []) {\n let x = 0;\n const v = [];\n for (const p of m.cells)\n (p.classList.contains(\"sticky-column\") || p.classList.contains(\"sticky-index\")) && (p.style.left = `${x}px`, x += p.offsetWidth, v.push(p));\n v.length > 0 && v[v.length - 1].classList.add(\"sticky-column-edge\");\n }\n };\n return window.addEventListener(\"keydown\", (s) => {\n if (s.key === \"Escape\" && l.modal.visible) {\n l.modal.visible = !1;\n const c = l.modal.parent;\n c && We().then(() => {\n c.focus();\n });\n }\n }), t({ store: l }), (s, c) => ie((C(), I(\"table\", {\n ref: \"table\",\n class: \"atable\",\n style: z({ width: g(l).config.fullWidth ? \"100%\" : \"auto\" })\n }, [\n R(s.$slots, \"header\", { data: g(l) }, () => [\n Ce(qe, {\n columns: g(l).columns,\n store: g(l)\n }, null, 8, [\"columns\", \"store\"])\n ], !0),\n P(\"tbody\", null, [\n R(s.$slots, \"body\", { data: g(l) }, () => [\n (C(!0), I(oe, null, ce(g(l).rows, (u, f) => (C(), te(Ye, {\n key: u.id,\n row: u,\n rowIndex: f,\n store: g(l)\n }, {\n default: ke(() => [\n (C(!0), I(oe, null, ce(g(l).columns, (m, x) => (C(), te(Fe, {\n key: m.name,\n store: g(l),\n col: m,\n spellcheck: \"false\",\n pinned: m.pinned,\n rowIndex: f,\n colIndex: x,\n component: m.cellComponent,\n style: z({\n textAlign: (m == null ? void 0 : m.align) || \"center\",\n minWidth: (m == null ? void 0 : m.width) || \"40ch\",\n width: g(l).config.fullWidth ? \"auto\" : null\n }),\n onCellInput: r\n }, null, 8, [\"store\", \"col\", \"pinned\", \"rowIndex\", \"colIndex\", \"component\", \"style\"]))), 128))\n ]),\n _: 2\n }, 1032, [\"row\", \"rowIndex\", \"store\"]))), 128))\n ], !0)\n ]),\n R(s.$slots, \"footer\", { data: g(l) }, void 0, !0),\n R(s.$slots, \"modal\", { data: g(l) }, () => [\n ie(Ce(Ge, { store: g(l) }, {\n default: ke(() => [\n (C(), te(De(g(l).modal.component), me({\n key: `${g(l).modal.rowIndex}:${g(l).modal.colIndex}`,\n colIndex: g(l).modal.colIndex,\n rowIndex: g(l).modal.rowIndex,\n store: g(l)\n }, g(l).modal.componentProps), null, 16, [\"colIndex\", \"rowIndex\", \"store\"]))\n ]),\n _: 1\n }, 8, [\"store\"]), [\n [He, g(l).modal.visible]\n ])\n ], !0)\n ], 4)), [\n [g(Nt), g(l).closeModal]\n ]);\n }\n}), Xt = /* @__PURE__ */ K(Ut, [[\"__scopeId\", \"data-v-bd5101d3\"]]), qt = {}, Gt = { class: \"aloading\" }, Jt = { class: \"aloading-header\" };\nfunction Qt(e, t) {\n return C(), I(\"div\", Gt, [\n P(\"h2\", Jt, [\n R(e.$slots, \"default\", {}, void 0, !0)\n ]),\n t[0] || (t[0] = P(\"div\", { class: \"aloading-bar\" }, null, -1))\n ]);\n}\nconst Zt = /* @__PURE__ */ K(qt, [[\"render\", Qt], [\"__scopeId\", \"data-v-a930a25b\"]]), Kt = {}, _t = { class: \"aloading\" }, en = { class: \"aloading-header\" };\nfunction tn(e, t) {\n return C(), I(\"div\", _t, [\n P(\"h2\", en, [\n R(e.$slots, \"default\", {}, void 0, !0)\n ]),\n t[0] || (t[0] = P(\"div\", { class: \"aloading-bar\" }, null, -1))\n ]);\n}\nconst nn = /* @__PURE__ */ K(Kt, [[\"render\", tn], [\"__scopeId\", \"data-v-e1165876\"]]);\nfunction cn(e) {\n e.component(\"ACell\", Fe), e.component(\"AExpansionRow\", Wt), e.component(\"ARow\", Ye), e.component(\"ATable\", Xt), e.component(\"ATableHeader\", qe), e.component(\"ATableLoading\", Zt), e.component(\"ATableLoadingBar\", nn), e.component(\"ATableModal\", Ge);\n}\nexport {\n Fe as ACell,\n Wt as AExpansionRow,\n Ye as ARow,\n Xt as ATable,\n qe as ATableHeader,\n Zt as ATableLoading,\n nn as ATableLoadingBar,\n Ge as ATableModal,\n Yt as createTableStore,\n cn 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, useTemplateRef } from 'vue'\n\nconst { breadcrumbs = [] } = defineProps<{ breadcrumbs?: { title: string; to: string }[] }>()\n\nconst breadcrumbsVisibile = ref(true)\nconst searchVisibile = ref(false)\nconst searchText = ref('')\nconst inputRef = useTemplateRef<HTMLInputElement>('searchinput')\n\nconst rotateHideTabIcon = computed(() => {\n\treturn breadcrumbsVisibile.value ? 'unrotated' : 'rotated'\n})\n\nconst toggleBreadcrumbs = () => {\n\tbreadcrumbsVisibile.value = !breadcrumbsVisibile.value\n}\n\nconst toggleSearch = async () => {\n\tsearchVisibile.value = !searchVisibile.value\n\tawait nextTick(() => {\n\t\tinputRef.value.focus()\n\t})\n}\n\nconst handleSearchInput = (event: Event | MouseEvent) => {\n\tevent.preventDefault()\n\tevent.stopPropagation()\n}\n\nconst handleSearch = async (event: FocusEvent | KeyboardEvent) => {\n\tevent.preventDefault()\n\tevent.stopPropagation()\n\tawait toggleSearch()\n}\n\nconst navigateHome = (/* event: MouseEvent | KeyboardEvent */) => {\n\t// navigate home\n}\n</script>\n\n<style scoped>\nfooter {\n\tposition: fixed;\n\tbottom: 0px;\n\twidth: 100%;\n\tbackground-color: transparent;\n\theight: 2rem;\n\tz-index: 100;\n\ttext-align: left;\n\tfont-size: 100%;\n\tdisplay: flex;\n\tjustify-content: right;\n\tpadding-bottom: 0.2rem;\n}\nul {\n\tdisplay: flex;\n\tflex-direction: row-reverse;\n}\n\n.tabs li {\n\t/* Makes a horizontal row */\n\tfloat: left;\n\tlist-style-type: none;\n\t/* So the psueudo elements can be\n abs. positioned inside */\n\tposition: relative;\n\tmargin-left: -1px;\n}\n.tabs a {\n\tfloat: left;\n\tpadding: 1ch 4ch 4ch 4ch;\n\ttext-decoration: none;\n\tcolor: black;\n\tbackground: #aaa;\n\toutline: 2px solid inherit;\n\toutline-offset: -2px;\n\n\t/* Only round the top corners */\n\t-webkit-border-top-left-radius: 15px;\n\t-webkit-border-top-right-radius: 15px;\n\t-moz-border-radius-topleft: 15px;\n\t-moz-border-radius-topright: 15px;\n\tborder-top-left-radius: 15px;\n\tborder-top-right-radius: 15px;\n\n\tborder: 1px solid #ccc;\n}\n.tabs .router-link-active {\n\t/* Highest, active tab is on top */\n\tz-index: 3;\n}\n.router-link-active {\n\t/* Colors when tab is active */\n\tbackground: #827553;\n\tcolor: black;\n\tbox-shadow: #999;\n}\n.tabs li:before,\n.tabs li:after,\n.tabs li a:before,\n.tabs li a:after {\n\t/* All pseudo elements are\n abs. positioned and on bottom */\n\tposition: absolute;\n\tbottom: 0;\n}\n/* Only the first, last, and active\n tabs need pseudo elements at all */\n.tabs li:last-child:after,\n.tabs li:last-child a:after,\n.tabs li:first-child:before,\n.tabs li:first-child a:before,\n.tabs .router-link-active:after,\n.tabs .router-link-active:before,\n.tabs .router-link-active a:after,\n.tabs .router-link-active a:before {\n\tcontent: '';\n}\n.tabs .router-link-active:before,\n.tabs .router-link-active:after {\n\tbackground: transparent;\n\n\t/* Squares below circles */\n\tz-index: 1;\n}\n/* Squares */\n.tabs li:before,\n.tabs li:after {\n\tbackground: transparent;\n\twidth: 10px;\n\theight: 10px;\n}\n.tabs li:before {\n\tleft: -10px;\n}\n.tabs li:after {\n\tright: -10px;\n}\n/* Circles */\n.tabs li a:after,\n.tabs li a:before {\n\twidth: 20px;\n\theight: 20px;\n\t/* Circles are circular */\n\t-webkit-border-radius: 10px;\n\t-moz-border-radius: 10px;\n\tborder-radius: 10px;\n\tbackground: transparent;\n\n\t/* Circles over squares */\n\tz-index: 2;\n}\n.tabs .router-link-active a:after,\n.tabs .router-link-active a:before {\n\tbackground: transparent;\n}\n/* First and last tabs have different\n outside color needs */\n.tabs li:first-child.router-link-active a:before,\n.tabs li:last-child.router-link-active a:after {\n\tbackground: transparent;\n}\n.tabs li a:before {\n\tleft: -20px;\n}\n.tabs li a:after {\n\tright: -20px;\n}\n.hidebreadcrumbs a {\n\twidth: 1ch;\n\tmin-width: calc(66px - 4ch);\n\tbackground-color: #ffffff;\n\tpadding-left: 2ch;\n\tpadding-right: 2ch;\n\tpadding-top: 3px;\n\tfont-size: 150%;\n\ttext-align: center;\n}\n.rotated {\n\t/* border: 1px solid red; */\n\ttransform: rotate(45deg);\n\t-webkit-transform: rotate(45deg);\n\t-moz-transform: rotate(45deg);\n\t-ms-transform: rotate(45deg);\n\t-o-transform: rotate(45deg);\n\ttransition: transform 250ms;\n}\n.unrotated {\n\t/* border: 1px solid red; */\n\ttransform: rotate(0deg);\n\t-webkit-transform: rotate(0deg);\n\t-moz-transform: rotate(0deg);\n\t-ms-transform: rotate(0deg);\n\t-o-transform: rotate(0deg);\n\ttransition: transform 250ms;\n}\nli:active,\nli:hover,\nli:focus,\nli > a:active,\nli > a:hover,\nli > a:focus {\n\tz-index: 3;\n}\n\na:active,\na:hover,\na:focus {\n\toutline: 2px solid black;\n\tz-index: 3;\n}\n.hometab a {\n\twidth: 1ch;\n\tmin-width: calc(66px - 4ch);\n\tbackground-color: #ffffff;\n\tpadding-left: 2ch;\n\tpadding-right: 2ch;\n\tpadding-top: 6px;\n\ttext-align: center;\n}\n.hometab svg {\n\theight: 14pt;\n\twidth: 14pt;\n}\n.searchtab a {\n\t/* width: 100%; */\n\tmin-width: calc(66px - 4ch);\n\tbackground-color: #ffffff;\n\tpadding-left: 2ch;\n\tpadding-right: 2ch;\n\tpadding-top: 11px;\n\tfont-size: 150%;\n\talign-items: center;\n}\n.searchtab svg {\n\tpadding-left: 0.25ch;\n}\n.searchtab input {\n\tmargin-top: -4px;\n\toutline: none;\n\tborder: none;\n\tborder-bottom: 1.5px solid black;\n\tbackground-color: transparent;\n\ttext-align: right;\n\tfont-size: 11pt;\n}\n</style>\n","import { App, type Plugin } from 'vue'\n\nimport ActionSet from '../components/ActionSet.vue'\nimport CommandPalette from '../components/CommandPalette.vue'\nimport Doctype from '../components/Doctype.vue'\nimport Records from '../components/Records.vue'\nimport SheetNav from '../components/SheetNav.vue'\n\n/**\n * This is the main plugin that will be used to register all the desktop components.\n * @public\n */\nconst plugin: Plugin = {\n\tinstall: (app: App) => {\n\t\tapp.component('ActionSet', ActionSet)\n\t\tapp.component('CommandPalette', CommandPalette)\n\t\tapp.component('Doctype', Doctype)\n\t\tapp.component('Records', Records)\n\t\tapp.component('SheetNav', SheetNav)\n\t},\n}\n\nexport default plugin\n"],"names":["_elements","ref","__props","isOpen","timeout","hover","closeClicked","onMounted","closeDropdowns","element","onHover","onHoverLeave","toggleDropdown","index","showDropdown","_cache","S","l","le","Ae","De","V","C","se","at","rt","W","ee","ut","ct","Fe","Ee","He","y","Ce","q","X","a","s","c","r","m","p","u","P","w","i","Q","Te","vt","Z","ht","T","gt","zt","Xt","M","g","b","U","N","te","Ue","Ne","$e","Ct","Lt","ge","H","n","o","me","Ze","Ft","et","Ht","Jt","Gt","B","ve","Wt","Qt","tt","nt","Yt","Se","st","ot","qt","Kt","_","Oe","it","Zt","en","tn","k","nn","rn","ne","on","sn","an","cn","re","L","un","oe","ln","Y","fn","lt","we","At","A","je","dn","pn","qe","G","ft","dt","Ve","Bt","xt","x","hn","Re","fe","ye","gn","mn","I","Be","xe","Le","Ke","_e","f","E","R","v","$t","Tt","ae","ce","Dt","O","Mt","z","K","Me","Rt","D","ue","vn","jt","Xe","Vt","yn","Tr","Ut","J","_n","j","pt","bn","Ie","de","wn","En","Sn","On","In","Nn","Pn","kn","$n","Tn","Dn","Mn","$","ie","Cn","mt","Pe","Ln","An","jn","Vn","Rn","Bn","xn","yt","Un","Fn","Hn","Jn","Gn","Wn","zn","Qn","Yn","qn","_t","bt","Xn","Kn","Zn","er","wt","tr","nr","rr","or","sr","ir","ke","ar","cr","ur","lr","fr","dr","pr","hr","Et","gr","t","mr","Je","We","Ge","St","vr","yr","ze","_r","br","wr","Er","F","Ot","It","Nt","Pt","Qe","Sr","Ye","pe","he","Or","Ir","Nr","kt","stonecrop","isReady","useStonecrop","schema","watch","newSchema","item","fieldValue","isVue2","set","target","key","val","del","activePinia","setActivePinia","pinia","piniaSymbol","isPlainObject","MutationType","IS_CLIENT","patchObject","newState","oldState","subPatch","targetValue","isRef","isReactive","noop","addSubscription","subscriptions","callback","detached","onCleanup","removeSubscription","idx","getCurrentScope","onScopeDispose","triggerSubscriptions","args","fallbackRunWithContext","ACTION_MARKER","ACTION_NAME","mergeReactiveObjects","patchToApply","value","skipHydrateSymbol","shouldHydrate","obj","assign","isComputed","createOptionsStore","id","options","hot","state","actions","getters","initialState","store","setup","localState","toRefs","computedGetters","name","markRaw","computed","createSetupStore","$id","isOptionsStore","scope","optionsForPlugin","$subscribeOptions","event","isListening","debuggerEvents","isSyncListening","actionSubscriptions","hotState","activeListener","$patch","partialStateOrMutator","subscriptionMutation","myListenerId","nextTick","$reset","$state","$dispose","action","wrappedAction","afterCallbackList","onErrorCallbackList","after","onError","ret","error","_hmrPayload","partialStore","stopWatcher","reactive","setupStore","effectScope","prop","toRef","actionValue","toRaw","newStore","stateKey","newStateTarget","oldStateSource","actionName","actionFn","getterName","getter","getterValue","nonEnumerable","extender","extensions","defineStore","idOrOptions","setupOptions","isSetupStore","useStore","hasContext","hasInjectionContext","inject","hotId","currentInstance","getCurrentInstance","vm","cache","d","be","config","breadcrumbsVisibile","searchVisibile","searchText","inputRef","useTemplateRef","rotateHideTabIcon","toggleBreadcrumbs","toggleSearch","handleSearchInput","handleSearch","navigateHome","plugin","app","ActionSet","CommandPalette","Doctype","Records","SheetNav"],"mappings":"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","x_google_ignoreList":[5,6]}
|