@stonecrop/aform 0.2.11 → 0.2.13
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/package.json +5 -5
- package/src/components/form/ADate.vue +74 -257
- package/src/components/form/ADatePicker.vue +160 -0
- package/src/histoire.setup.ts +4 -0
- package/src/index.ts +3 -1
- package/src/theme/adate.css +49 -0
- package/dist/aform.js +0 -869
- package/dist/aform.js.map +0 -1
- package/dist/aform.umd.cjs +0 -2
- package/dist/aform.umd.cjs.map +0 -1
- package/dist/style.css +0 -1
package/dist/aform.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"aform.js","sources":["../src/components/form/ACheckbox.vue","../../utilities/dist/utilities.js","../src/components/form/ADate.vue","../src/components/form/ADropdown.vue","../src/components/AForm.vue","../src/components/form/AFieldset.vue","../src/components/form/ANumericInput.vue","../src/directives/mask.ts","../src/components/form/ATextInput.vue","../src/index.ts"],"sourcesContent":["<template>\n\t<div>\n\t\t<label id=\"checkbox-container\">\n\t\t\t<input v-model=\"checkbox\" type=\"checkbox\" :id=\"uuid\" class=\"checkbox\" :readonly=\"readOnly\" :required=\"required\" />\n\t\t\t<span id=\"custom-checkbox\">{{ checkbox }}</span>\n\t\t</label>\n\t\t<label :for=\"uuid\" id=\"checkbox-label\">{{ label }}</label>\n\t\t<p v-show=\"validation.errorMessage\" v-html=\"validation.errorMessage\"></p>\n\t</div>\n</template>\n\n<script setup lang=\"ts\">\nimport { InputHTMLAttributes } from 'vue'\n\nwithDefaults(\n\tdefineProps<{\n\t\tlabel?: string\n\t\trequired?: boolean\n\t\treadOnly?: boolean\n\t\tuuid?: string\n\t\tvalidation?: Record<string, any>\n\t}>(),\n\t{\n\t\tvalidation: () => ({ errorMessage: ' ' }),\n\t}\n)\n\nconst checkbox = defineModel<InputHTMLAttributes['checked']>()\n</script>\n\n<style scoped>\ndiv {\n\tdisplay: inline-block;\n\tmin-width: 40ch;\n\tborder: 1px solid transparent;\n\tpadding: 0rem;\n\tmargin: 0rem;\n\tmargin-right: 1ch;\n}\n\np,\nlabel {\n\tcolor: var(--input-label-color);\n\tdisplay: block;\n\tmin-height: 1.15rem;\n\tpadding: 0rem;\n\tmargin: 0rem;\n\tborder: 1px solid transparent;\n\tmargin-bottom: 0.25rem;\n}\n\np {\n\twidth: 100%;\n\tcolor: red;\n\tfont-size: 85%;\n}\n\n.checkbox {\n\tvisibility: hidden;\n}\n\n.checkbox + #custom-checkbox:after {\n\tcontent: '⬡';\n\tpadding: 1ch 0 0.5ch 0;\n\tfont-size: 120%;\n\tcursor: pointer;\n\tposition: relative;\n\tleft: -18px;\n}\n\n.checkbox:checked + #custom-checkbox:after {\n\tcontent: '⬣';\n\tpadding: 1ch 0 0.5ch 0;\n\tfont-size: 120%;\n\tcursor: pointer;\n\tposition: relative;\n\tleft: -18px;\n}\n\n#custom-checkbox {\n\tdisplay: inline-block;\n}\n\n#checkbox-container {\n\tdisplay: inline-block;\n\tmin-width: calc(100% - 1ch);\n\toutline: 1px solid transparent;\n\tborder: 1px solid var(--input-border-color);\n\tpadding: 1ch 0.5ch 0.5ch 1ch;\n\tmargin: calc(1.15rem / 2) 0 0 0;\n\theight: 1.15rem;\n\tborder-radius: 0.25rem;\n}\n\n#checkbox-container:hover {\n\tborder: 1px solid var(--input-active-border-color);\n}\n\n#checkbox-container:hover + label {\n\tcolor: var(--input-active-label-color);\n}\n\n#checkbox-label {\n\tz-index: 2;\n\tfont-size: 80%;\n\tposition: absolute;\n\tbackground: white;\n\tmargin: calc(-1.5rem - calc(2.15rem / 2)) 0 0 1ch;\n\tpadding: 0 0.25ch 0 0.25ch;\n}\n</style>\n","import { unref as Q, getCurrentScope as U, onScopeDispose as K, ref as B, watch as D, onMounted as W, onBeforeUnmount as V } from \"vue\";\nvar v;\nconst M = typeof window < \"u\", F = (e) => typeof e == \"string\", j = () => {\n};\nM && ((v = window == null ? void 0 : window.navigator) != null && v.userAgent) && /iP(ad|hone|od)/.test(window.navigator.userAgent);\nfunction H(e) {\n return typeof e == \"function\" ? e() : Q(e);\n}\nfunction q(e) {\n return e;\n}\nfunction G(e) {\n return U() ? (K(e), !0) : !1;\n}\nfunction y(e) {\n var t;\n const r = H(e);\n return (t = r == null ? void 0 : r.$el) != null ? t : r;\n}\nconst N = M ? window : void 0;\nfunction z(...e) {\n let t, r, n, o;\n if (F(e[0]) || Array.isArray(e[0]) ? ([r, n, o] = e, t = N) : [t, r, n, o] = e, !t)\n return j;\n Array.isArray(r) || (r = [r]), Array.isArray(n) || (n = [n]);\n const l = [], s = () => {\n l.forEach((c) => c()), l.length = 0;\n }, a = (c, g, p, i) => (c.addEventListener(g, p, i), () => c.removeEventListener(g, p, i)), C = D(() => [y(t), H(o)], ([c, g]) => {\n s(), c && l.push(...r.flatMap((p) => n.map((i) => a(c, p, i, g))));\n }, { immediate: !0, flush: \"post\" }), d = () => {\n C(), s();\n };\n return G(d), d;\n}\nconst O = typeof globalThis < \"u\" ? globalThis : typeof window < \"u\" ? window : typeof global < \"u\" ? global : typeof self < \"u\" ? self : {}, T = \"__vueuse_ssr_handlers__\";\nO[T] = O[T] || {};\nfunction J(e, { window: t = N, scrollTarget: r } = {}) {\n const n = B(!1), o = () => {\n if (!t)\n return;\n const l = t.document, s = y(e);\n if (!s)\n n.value = !1;\n else {\n const a = s.getBoundingClientRect();\n n.value = a.top <= (t.innerHeight || l.documentElement.clientHeight) && a.left <= (t.innerWidth || l.documentElement.clientWidth) && a.bottom >= 0 && a.right >= 0;\n }\n };\n return D(() => y(e), () => o(), { immediate: !0, flush: \"post\" }), t && z(r || t, \"scroll\", o, {\n capture: !1,\n passive: !0\n }), n;\n}\nvar P;\n(function(e) {\n e.UP = \"UP\", e.RIGHT = \"RIGHT\", e.DOWN = \"DOWN\", e.LEFT = \"LEFT\", e.NONE = \"NONE\";\n})(P || (P = {}));\nvar X = Object.defineProperty, I = Object.getOwnPropertySymbols, Y = Object.prototype.hasOwnProperty, Z = Object.prototype.propertyIsEnumerable, _ = (e, t, r) => t in e ? X(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, ee = (e, t) => {\n for (var r in t || (t = {}))\n Y.call(t, r) && _(e, r, t[r]);\n if (I)\n for (var r of I(t))\n Z.call(t, r) && _(e, r, t[r]);\n return e;\n};\nconst te = {\n easeInSine: [0.12, 0, 0.39, 0],\n easeOutSine: [0.61, 1, 0.88, 1],\n easeInOutSine: [0.37, 0, 0.63, 1],\n easeInQuad: [0.11, 0, 0.5, 0],\n easeOutQuad: [0.5, 1, 0.89, 1],\n easeInOutQuad: [0.45, 0, 0.55, 1],\n easeInCubic: [0.32, 0, 0.67, 0],\n easeOutCubic: [0.33, 1, 0.68, 1],\n easeInOutCubic: [0.65, 0, 0.35, 1],\n easeInQuart: [0.5, 0, 0.75, 0],\n easeOutQuart: [0.25, 1, 0.5, 1],\n easeInOutQuart: [0.76, 0, 0.24, 1],\n easeInQuint: [0.64, 0, 0.78, 0],\n easeOutQuint: [0.22, 1, 0.36, 1],\n easeInOutQuint: [0.83, 0, 0.17, 1],\n easeInExpo: [0.7, 0, 0.84, 0],\n easeOutExpo: [0.16, 1, 0.3, 1],\n easeInOutExpo: [0.87, 0, 0.13, 1],\n easeInCirc: [0.55, 0, 1, 0.45],\n easeOutCirc: [0, 0.55, 0.45, 1],\n easeInOutCirc: [0.85, 0, 0.15, 1],\n easeInBack: [0.36, 0, 0.66, -0.56],\n easeOutBack: [0.34, 1.56, 0.64, 1],\n easeInOutBack: [0.68, -0.6, 0.32, 1.6]\n};\nee({\n linear: q\n}, te);\nconst f = (e) => {\n let t = J(e).value;\n return t = t && e.offsetHeight > 0, t;\n}, u = (e) => e.tabIndex >= 0, A = (e) => {\n const t = e.target;\n return E(t);\n}, E = (e) => {\n var r;\n let t;\n if (e instanceof HTMLTableCellElement) {\n const n = (r = e.parentElement) == null ? void 0 : r.previousElementSibling;\n if (n) {\n const l = Array.from(n.children)[e.cellIndex];\n l && (t = l);\n }\n } else if (e instanceof HTMLTableRowElement) {\n const n = e.previousElementSibling;\n n && (t = n);\n }\n return t && (!u(t) || !f(t)) ? E(t) : t;\n}, ne = (e) => {\n var n;\n const t = e.target;\n let r;\n if (t instanceof HTMLTableCellElement) {\n const o = (n = t.parentElement) == null ? void 0 : n.parentElement;\n if (o) {\n const s = o.firstElementChild.children[t.cellIndex];\n s && (r = s);\n }\n } else if (t instanceof HTMLTableRowElement) {\n const o = t.parentElement;\n if (o) {\n const l = o.firstElementChild;\n l && (r = l);\n }\n }\n return r && (!u(r) || !f(r)) ? w(r) : r;\n}, x = (e) => {\n const t = e.target;\n return w(t);\n}, w = (e) => {\n var r;\n let t;\n if (e instanceof HTMLTableCellElement) {\n const n = (r = e.parentElement) == null ? void 0 : r.nextElementSibling;\n if (n) {\n const l = Array.from(n.children)[e.cellIndex];\n l && (t = l);\n }\n } else if (e instanceof HTMLTableRowElement) {\n const n = e.nextElementSibling;\n n && (t = n);\n }\n return t && (!u(t) || !f(t)) ? w(t) : t;\n}, re = (e) => {\n var n;\n const t = e.target;\n let r;\n if (t instanceof HTMLTableCellElement) {\n const o = (n = t.parentElement) == null ? void 0 : n.parentElement;\n if (o) {\n const s = o.lastElementChild.children[t.cellIndex];\n s && (r = s);\n }\n } else if (t instanceof HTMLTableRowElement) {\n const o = t.parentElement;\n if (o) {\n const l = o.lastElementChild;\n l && (r = l);\n }\n }\n return r && (!u(r) || !f(r)) ? E(r) : r;\n}, k = (e) => {\n const t = e.target;\n return h(t);\n}, h = (e) => {\n var r;\n let t;\n if (e.previousElementSibling)\n t = e.previousElementSibling;\n else {\n const n = (r = e.parentElement) == null ? void 0 : r.previousElementSibling;\n t = n == null ? void 0 : n.lastElementChild;\n }\n return t && (!u(t) || !f(t)) ? h(t) : t;\n}, S = (e) => {\n const t = e.target;\n return b(t);\n}, b = (e) => {\n var r;\n let t;\n if (e.nextElementSibling)\n t = e.nextElementSibling;\n else {\n const n = (r = e.parentElement) == null ? void 0 : r.nextElementSibling;\n t = n == null ? void 0 : n.firstElementChild;\n }\n return t && (!u(t) || !f(t)) ? b(t) : t;\n}, L = (e) => {\n const n = e.target.parentElement.firstElementChild;\n return n && (!u(n) || !f(n)) ? b(n) : n;\n}, R = (e) => {\n const n = e.target.parentElement.lastElementChild;\n return n && (!u(n) || !f(n)) ? h(n) : n;\n}, m = [\"alt\", \"control\", \"shift\", \"meta\"], oe = {\n ArrowUp: \"up\",\n ArrowDown: \"down\",\n ArrowLeft: \"left\",\n ArrowRight: \"right\"\n}, le = {\n \"keydown.up\": (e) => {\n const t = A(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.down\": (e) => {\n const t = x(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.left\": (e) => {\n const t = k(e);\n e.preventDefault(), e.stopPropagation(), t && t.focus();\n },\n \"keydown.right\": (e) => {\n const t = S(e);\n e.preventDefault(), e.stopPropagation(), t && t.focus();\n },\n \"keydown.control.up\": (e) => {\n const t = ne(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.control.down\": (e) => {\n const t = re(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.control.left\": (e) => {\n const t = L(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.control.right\": (e) => {\n const t = R(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.end\": (e) => {\n const t = R(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 r = x(e);\n r && r.focus();\n }\n },\n \"keydown.shift.enter\": (e) => {\n if (e.target instanceof HTMLTableCellElement) {\n e.preventDefault(), e.stopPropagation();\n const r = A(e);\n r && r.focus();\n }\n },\n \"keydown.home\": (e) => {\n const t = L(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.tab\": (e) => {\n const t = S(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.shift.tab\": (e) => {\n const t = k(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n }\n};\nfunction ie(e) {\n const t = (n) => {\n let o = null;\n n.parent && (typeof n.parent == \"string\" ? o = document.querySelector(n.parent) : n.parent instanceof Element ? o = n.parent : o = n.parent.value);\n let l = [];\n if (n.selectors)\n if (typeof n.selectors == \"string\")\n l = o ? Array.from(o.querySelectorAll(n.selectors)) : Array.from(document.querySelectorAll(n.selectors));\n else if (n.selectors instanceof Element)\n l.push(n.selectors);\n else if (Array.isArray(n.selectors.value))\n for (const s of n.selectors.value)\n s instanceof Element ? l.push(s) : l.push(s.$el);\n else\n l.push(n.selectors.value);\n else\n l = Array.from(o.children).filter((a) => u(a) && f(a));\n return l;\n }, r = (n) => (o) => {\n const l = oe[o.key] || o.key.toLowerCase();\n if (m.includes(l))\n return;\n const s = n.handlers || le;\n for (const a of Object.keys(s)) {\n const [C, ...d] = a.split(\".\");\n if (C === \"keydown\" && d.includes(l)) {\n const c = s[a], g = d.filter((i) => m.includes(i)), p = m.some((i) => {\n const $ = i.charAt(0).toUpperCase() + i.slice(1);\n return o.getModifierState($);\n });\n if (g.length > 0) {\n if (p) {\n for (const i of m)\n if (d.includes(i)) {\n const $ = i.charAt(0).toUpperCase() + i.slice(1);\n o.getModifierState($) && c(o);\n }\n }\n } else\n p || c(o);\n }\n }\n };\n W(() => {\n for (const n of e) {\n const o = t(n);\n for (const l of o)\n l.addEventListener(\"keydown\", r(n));\n }\n }), V(() => {\n for (const n of e) {\n const o = t(n);\n for (const l of o)\n l.removeEventListener(\"keydown\", r(n));\n }\n });\n}\nfunction ae(e) {\n}\nexport {\n le as defaultKeypressHandlers,\n ae as install,\n ie as useKeyboardNav\n};\n//# sourceMappingURL=utilities.js.map\n","<template>\n\t<div\n\t\tv-if=\"!readonly\"\n\t\t:event=\"event\"\n\t\t:colIndex=\"colIndex\"\n\t\t:rowIndex=\"rowIndex\"\n\t\t:tableid=\"tableid\"\n\t\tclass=\"adate\"\n\t\ttabindex=\"0\"\n\t\tref=\"adatepicker\">\n\t\t<table>\n\t\t\t<tr>\n\t\t\t\t<td @click=\"previousMonth\" :tabindex=\"-1\"><</td>\n\t\t\t\t<th colspan=\"5\">{{ monthAndYear }}</th>\n\t\t\t\t<td @click=\"nextMonth\" :tabindex=\"-1\">></td>\n\t\t\t</tr>\n\t\t\t<tr v-for=\"rowNo in numberOfRows\" :key=\"rowNo\">\n\t\t\t\t<!-- TODO: (style) remove inline styling and replace with theme package -->\n\t\t\t\t<td\n\t\t\t\t\tv-for=\"colNo in numberOfColumns\"\n\t\t\t\t\t:key=\"(rowNo - 1) * numberOfColumns + colNo\"\n\t\t\t\t\t:contenteditable=\"false\"\n\t\t\t\t\t:spellcheck=\"false\"\n\t\t\t\t\t:tabindex=\"0\"\n\t\t\t\t\t:style=\"{\n\t\t\t\t\t\tborder: isSelectedDate(currentDates[(rowNo - 1) * numberOfColumns + colNo])\n\t\t\t\t\t\t\t? '2px solid var(--focus-cell-outline)'\n\t\t\t\t\t\t\t: 'none',\n\t\t\t\t\t\tborderBottomColor: isTodaysDate(currentDates[(rowNo - 1) * numberOfColumns + colNo])\n\t\t\t\t\t\t\t? 'var(--focus-cell-outline)'\n\t\t\t\t\t\t\t: 'none',\n\t\t\t\t\t}\"\n\t\t\t\t\t@click.prevent.stop=\"selectDate($event, (rowNo - 1) * numberOfColumns + colNo)\"\n\t\t\t\t\t:class=\"{\n\t\t\t\t\t\ttodaysdate: isTodaysDate(currentDates[(rowNo - 1) * numberOfColumns + colNo]),\n\t\t\t\t\t\tselecteddate: isSelectedDate(currentDates[(rowNo - 1) * numberOfColumns + colNo]),\n\t\t\t\t\t}\">\n\t\t\t\t\t{{ new Date(currentDates[(rowNo - 1) * numberOfColumns + colNo]).getDate() }}\n\t\t\t\t</td>\n\t\t\t</tr>\n\t\t</table>\n\t</div>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, inject, nextTick, onMounted, ref, watch } from 'vue'\n\nimport { TableDataStore } from '@stonecrop/atable'\nimport { defaultKeypressHandlers, useKeyboardNav } from '@stonecrop/utilities'\n\nconst props = defineProps<{\n\tcolIndex?: number\n\trowIndex?: number\n\ttableid?: string\n\tevent?: Event\n\tindent?: number\n\treadonly?: boolean\n}>()\n\nconst tableData = inject<TableDataStore>(props.tableid)\n\nconst numberOfRows = 6\nconst numberOfColumns = 7\nconst todaysDate = new Date()\n\nconst selectedDate = ref<Date>()\nconst currentMonth = ref<number>()\nconst currentYear = ref<number>()\nconst currentDates = ref<number[]>([])\n// const width = ref('')\n\nonMounted(async () => {\n\tlet cellDate = tableData.cellData<string | number | Date>(props.colIndex, props.rowIndex)\n\tif (cellDate) {\n\t\tif (!(cellDate instanceof Date)) {\n\t\t\tcellDate = new Date(cellDate)\n\t\t}\n\n\t\tselectedDate.value = cellDate\n\t\tcurrentMonth.value = selectedDate.value.getMonth()\n\t\tcurrentYear.value = selectedDate.value.getFullYear()\n\t} else {\n\t\tcurrentMonth.value = todaysDate.getMonth()\n\t\tcurrentYear.value = todaysDate.getFullYear()\n\t}\n\n\trenderMonth()\n\tawait nextTick()\n\n\tconst $selectedDate = document.getElementsByClassName('selecteddate')\n\tif ($selectedDate.length > 0) {\n\t\t;($selectedDate[0] as HTMLElement).focus()\n\t} else {\n\t\tconst $todaysDate = document.getElementsByClassName('todaysdate')\n\t\tif ($todaysDate.length > 0) {\n\t\t\t;($todaysDate[0] as HTMLElement).focus()\n\t\t}\n\t}\n})\n\nwatch([currentMonth, currentYear], () => {\n\trenderMonth()\n})\n\nconst renderMonth = () => {\n\tcurrentDates.value = []\n\tconst firstOfMonth = new Date(currentYear.value, currentMonth.value, 1)\n\tconst monthStartWeekday = firstOfMonth.getDay()\n\tconst calendarStartDay = firstOfMonth.setDate(firstOfMonth.getDate() - monthStartWeekday)\n\tfor (let dayIndex of Array(43).keys()) {\n\t\tcurrentDates.value.push(calendarStartDay + dayIndex * 86400000)\n\t}\n}\n\nconst previousYear = () => {\n\tcurrentYear.value -= 1\n}\n\nconst nextYear = () => {\n\tcurrentYear.value += 1\n}\n\nconst previousMonth = () => {\n\tif (currentMonth.value == 0) {\n\t\tcurrentMonth.value = 11\n\t\tpreviousYear()\n\t} else {\n\t\tcurrentMonth.value -= 1\n\t}\n}\n\nconst nextMonth = () => {\n\tif (currentMonth.value == 11) {\n\t\tcurrentMonth.value = 0\n\t\tnextYear()\n\t} else {\n\t\tcurrentMonth.value += 1\n\t}\n}\n\nconst isTodaysDate = (day: string | number | Date) => {\n\tif (currentMonth.value !== todaysDate.getMonth()) {\n\t\treturn\n\t}\n\treturn todaysDate.toDateString() === new Date(day).toDateString()\n}\n\nconst isSelectedDate = (day: string | number | Date) => {\n\treturn new Date(day).toDateString() === new Date(selectedDate.value).toDateString()\n}\n\nconst selectDate = (event: Event, currentIndex: number) => {\n\tselectedDate.value = new Date(currentDates.value[currentIndex])\n\tupdateData()\n\t// TODO: (typing) figure out a way to close datepicker\n\t// context.refs.adatepicker.destroy()\n}\n\nconst updateData = () => {\n\t// TODO: check proper date format to feed back (assuming number for now)\n\ttableData.setCellData(props.rowIndex, props.colIndex, selectedDate.value.getTime())\n}\n\n// const dayWidth = computed(() => {\n// \tconst widthValue = Number(width.value.replace('px', ''))\n// \treturn `${widthValue / (numberOfColumns - 1)}px`\n// })\n\nconst monthAndYear = computed(() => {\n\treturn new Date(currentYear.value, currentMonth.value, 1).toLocaleDateString(undefined, {\n\t\tyear: 'numeric',\n\t\tmonth: 'long',\n\t})\n})\n\n// setup keyboard navigation\nuseKeyboardNav([\n\t{\n\t\tparent: 'table.adate',\n\t\tselectors: 'td',\n\t\thandlers: {\n\t\t\t...defaultKeypressHandlers,\n\t\t\t...{\n\t\t\t\t'keydown.pageup': previousMonth,\n\t\t\t\t'keydown.shift.pageup': previousYear,\n\t\t\t\t'keydown.pagedown': nextMonth,\n\t\t\t\t'keydown.shift.pagedown': nextYear,\n\t\t\t},\n\t\t},\n\t},\n])\n</script>\n\n<style scoped>\n@import '@/theme/aform.css';\n\n.adate {\n\tborder: 2px solid var(--focus-cell-outline);\n\tposition: absolute;\n\tz-index: 100;\n\tfont-size: var(--table-font-size);\n\tdisplay: inline-table;\n\tbackground-color: var(--row-color-zebra-light);\n\tcolor: var(--cell-text-color);\n\toutline: none;\n\twidth: calc(100% - 4px);\n}\n\n.adate tr {\n\theight: 1.15rem;\n\ttext-align: center;\n\tvertical-align: middle;\n}\n\n.adate td {\n\tborder: 2px solid transparent;\n\tmin-width: 2.25ch; /* this doesn't zoom correctly */\n}\n\n.adate td:hover {\n\tborder: 2px solid var(--focus-cell-outline);\n}\n\n.adate td {\n\tborder: 1px;\n\tborder-style: solid;\n\tborder-color: var(--cell-border-color);\n\tborder-radius: 0px;\n\tbox-sizing: border-box;\n\tmargin: 0px;\n\toutline: none;\n\tbox-shadow: none;\n\tcolor: var(--cell-text-color);\n\ttext-overflow: ellipsis;\n\toverflow: hidden;\n\tpadding-left: 0.5ch;\n\tpadding-right: 0.5ch;\n}\n\n.adate td:focus,\n.adate td:focus-within {\n\tbackground-color: var(--focus-cell-background);\n\toutline-width: 2px;\n\toutline-style: solid;\n\toutline-color: var(--focus-cell-outline);\n\tbox-shadow: none;\n\toverflow: hidden;\n\tmin-height: 1.15em;\n\tmax-height: 1.15em;\n\toverflow: hidden;\n}\n\nbutton {\n\tbackground-color: var(--row-color-zebra-light);\n\tborder: none;\n\tpadding: 0px;\n\tmargin: 0px;\n\tcolor: var(--cell-text-color);\n\toutline: none;\n\tfont-size: var(--table-font-size);\n}\n\n.dateheader {\n\tfont-weight: 700;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: space-between;\n}\n\n.adate .todaysdate {\n\tborder-bottom-color: var(--focus-cell-outline);\n}\n\n.adate .selecteddate {\n\tborder: 2px solid var(--focus-cell-outline);\n}\n</style>\n","<template>\n\t<div class=\"autocomplete\" :class=\"{ isOpen: isOpen }\">\n\t\t<div class=\"input-wrapper\">\n\t\t\t<input\n\t\t\t\tref=\"mopInput\"\n\t\t\t\ttype=\"text\"\n\t\t\t\t@input=\"onChange\"\n\t\t\t\t@focus=\"onChange\"\n\t\t\t\tv-model=\"search\"\n\t\t\t\t@keydown.down=\"onArrowDown\"\n\t\t\t\t@keydown.up=\"onArrowUp\"\n\t\t\t\t@keydown.enter=\"onEnter\" />\n\t\t\t<ul id=\"autocomplete-results\" v-show=\"isOpen\" class=\"autocomplete-results\">\n\t\t\t\t<li class=\"loading autocomplete-result\" v-if=\"isLoading\">Loading results...</li>\n\t\t\t\t<li\n\t\t\t\t\tv-else\n\t\t\t\t\tv-for=\"(result, i) in results\"\n\t\t\t\t\t:key=\"i\"\n\t\t\t\t\t@click=\"setResult(result)\"\n\t\t\t\t\tclass=\"autocomplete-result\"\n\t\t\t\t\t:class=\"{ 'is-active': i === arrowCounter }\">\n\t\t\t\t\t{{ result }}\n\t\t\t\t</li>\n\t\t\t</ul>\n\t\t\t<label>{{ label }}</label>\n\t\t</div>\n\t</div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent } from 'vue'\nexport default defineComponent({\n\tname: 'ADropdown',\n\tprops: {\n\t\tmodelValue: {\n\t\t\ttype: String,\n\t\t\trequired: false,\n\t\t\tdefault: '',\n\t\t},\n\t\tlabel: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tvalue: String,\n\t\titems: {\n\t\t\ttype: Array,\n\t\t\trequired: false,\n\t\t\tdefault: () => [],\n\t\t},\n\t\tisAsync: {\n\t\t\ttype: Boolean,\n\t\t\trequired: false,\n\t\t\tdefault: false,\n\t\t},\n\t},\n\temits: ['update:modelValue', 'filterChanged'],\n\tdata() {\n\t\treturn {\n\t\t\tresults: [],\n\t\t\tsearch: this.modelValue,\n\t\t\tisLoading: false,\n\t\t\tarrowCounter: 0,\n\t\t\tisOpen: false,\n\t\t}\n\t},\n\twatch: {\n\t\titems: function (value, oldValue) {\n\t\t\tthis.isLoading = false\n\t\t\tthis.results = value\n\t\t},\n\t},\n\tmounted() {\n\t\tdocument.addEventListener('click', this.handleClickOutside)\n\t\tthis.filterResults()\n\t},\n\tdestroyed() {\n\t\tdocument.removeEventListener('click', this.handleClickOutside)\n\t},\n\tmethods: {\n\t\tsetResult(result) {\n\t\t\tthis.search = result\n\t\t\tthis.closeResults()\n\t\t},\n\t\tfilterResults() {\n\t\t\tthis.results = this.items.filter(item => {\n\t\t\t\treturn item.toLowerCase().indexOf(this.search.toLowerCase()) > -1\n\t\t\t})\n\t\t},\n\t\tonChange() {\n\t\t\tthis.isOpen = true\n\t\t\tif (this.isAsync) {\n\t\t\t\tthis.isLoading = true\n\t\t\t\tthis.$emit('filterChanged', this.search)\n\t\t\t} else {\n\t\t\t\tthis.filterResults()\n\t\t\t}\n\t\t},\n\t\thandleClickOutside(event) {\n\t\t\tif (!this.$el.contains(event.target)) {\n\t\t\t\tthis.closeResults()\n\t\t\t\tthis.arrowCounter = 0\n\t\t\t}\n\t\t},\n\t\tcloseResults() {\n\t\t\tthis.isOpen = false\n\n\t\t\tif (!this.items.includes(this.search)) {\n\t\t\t\tthis.search = ''\n\t\t\t}\n\n\t\t\tthis.$emit('update:modelValue', this.search)\n\t\t},\n\t\tonArrowDown() {\n\t\t\tif (this.arrowCounter < this.results.length) {\n\t\t\t\tthis.arrowCounter = this.arrowCounter + 1\n\t\t\t}\n\t\t},\n\t\tonArrowUp() {\n\t\t\tif (this.arrowCounter > 0) {\n\t\t\t\tthis.arrowCounter = this.arrowCounter - 1\n\t\t\t}\n\t\t},\n\t\tonEnter() {\n\t\t\tthis.search = this.results[this.arrowCounter]\n\t\t\tthis.closeResults()\n\t\t\tthis.arrowCounter = 0\n\t\t},\n\t\topenWithSearch() {\n\t\t\tthis.search = ''\n\t\t\tthis.onChange()\n\t\t\tthis.$refs.mopInput.focus()\n\t\t},\n\t},\n})\n</script>\n\n<style>\n/* variables taken from here: https://github.com/frappe/frappe/blob/version-13/frappe/public/scss/common/awesomeplete.scss */\n.autocomplete {\n\tposition: relative;\n}\n\n.input-wrapper {\n\tmin-width: 40ch;\n\tborder: 1px solid transparent;\n\tpadding: 0rem;\n\tmargin: 0rem;\n\tmargin-right: 1ch;\n}\n\ninput {\n\twidth: calc(100% - 1ch);\n\toutline: 1px solid transparent;\n\tborder: 1px solid var(--input-border-color);\n\tpadding: 1ch 0.5ch 0.5ch 1ch;\n\tmargin: calc(1.15rem / 2) 0 0 0;\n\tmin-height: 1.15rem;\n\tborder-radius: 0.25rem;\n}\n\ninput:focus {\n\tborder: 1px solid var(--input-active-border-color);\n\tborder-radius: 0.25rem 0.25rem 0 0;\n\tborder-bottom: none;\n}\n\nlabel {\n\tdisplay: block;\n\tmin-height: 1.15rem;\n\tpadding: 0rem;\n\tmargin: 0rem;\n\tborder: 1px solid transparent;\n\tmargin-bottom: 0.25rem;\n\tz-index: 2;\n\tfont-size: 80%;\n\tposition: absolute;\n\tbackground: white;\n\tmargin: calc(-1.5rem - calc(2.15rem / 2)) 0 0 1ch;\n\tpadding: 0 0.25ch 0 0.25ch;\n}\n\n.autocomplete-results {\n\tposition: absolute;\n\twidth: calc(100% - 1ch + 1.5px);\n\tz-index: 1;\n\tpadding: 0;\n\tmargin: 0;\n\tcolor: #000000;\n\tborder: 1px solid var(--input-active-border-color);\n\tborder-radius: 0 0 0.25rem 0.25rem;\n\tborder-top: none;\n}\n\n.autocomplete-result {\n\tlist-style: none;\n\ttext-align: left;\n\tpadding: 4px 6px;\n\tcursor: pointer;\n}\n\n.autocomplete-result.is-active,\n.autocomplete-result:hover {\n\tbackground-color: var(--row-color-zebra-light);\n\tcolor: #000000;\n}\n</style>\n","<template>\n\t<form>\n\t\t<component\n\t\t\tv-for=\"(componentObj, key) in modelValue\"\n\t\t\t:is=\"componentObj.component\"\n\t\t\t:key=\"key\"\n\t\t\t:schema=\"componentObj\"\n\t\t\tv-model=\"childModels[key].value\"\n\t\t\t:data=\"formData[componentObj.fieldname]\"\n\t\t\t:readonly=\"readonly\"\n\t\t\tv-bind=\"componentProps(componentObj)\">\n\t\t</component>\n\t</form>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, computed } from 'vue'\n\nimport { SchemaTypes } from 'types'\n\nconst props = defineProps<{\n\tmodelValue: SchemaTypes[]\n\tdata: Record<string, any>\n\treadonly?: boolean\n}>()\n\nconst emit = defineEmits(['update:modelValue'])\n\nconst formData = ref(props.data || {})\n\nconst componentProps = (componentObj: SchemaTypes) => {\n\tlet propsToPass = {}\n\tfor (const [key, value] of Object.entries(componentObj)) {\n\t\tif (!['component', 'fieldtype'].includes(key)) {\n\t\t\tpropsToPass[key] = value\n\t\t}\n\n\t\t// handle ATable data formats in case the table is nested under an AFormm;\n\t\t// TODO: there's probably a better way to do this\n\t\tif (key === 'rows') {\n\t\t\tif (value && (value as any[]).length === 0) {\n\t\t\t\tpropsToPass['rows'] = formData.value[componentObj.fieldname]\n\t\t\t}\n\t\t}\n\t}\n\treturn propsToPass\n}\n\nconst childModels = computed({\n\tget: () => {\n\t\treturn props.modelValue.map((val, i) => {\n\t\t\treturn computed({\n\t\t\t\tget() {\n\t\t\t\t\treturn val.value\n\t\t\t\t},\n\t\t\t\tset: newValue => {\n\t\t\t\t\t// Find the component in modelValue and update it\n\t\t\t\t\tprops.modelValue[i].value = newValue\n\t\t\t\t\temit('update:modelValue', props.modelValue)\n\t\t\t\t},\n\t\t\t})\n\t\t})\n\t},\n\tset: (/* newValue */) => {\n\t\t//emit('update:modelValue', '')\n\t},\n})\n</script>\n\n<style scoped>\nform {\n\tdisplay: flex;\n\tflex-direction: row;\n\tflex-wrap: wrap;\n\tjustify-content: flex-start;\n\talign-items: baseline;\n}\n</style>\n","<template>\n\t<fieldset>\n\t\t<legend @click=\"toggleCollapse\" @submit=\"toggleCollapse\">\n\t\t\t{{ label }}\n\t\t\t<CollapseButton v-if=\"collapsible\" :collapsed=\"collapsed\" />\n\t\t</legend>\n\t\t<slot :collapsed=\"collapsed\">\n\t\t\t<AForm v-show=\"!collapsed\" v-model=\"formSchema\" :data=\"formData\" />\n\t\t</slot>\n\t</fieldset>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref } from 'vue'\n\nimport CollapseButton from '@/components/base/CollapseButton.vue'\nimport AForm from '@/components/AForm.vue'\nimport { SchemaTypes } from 'types/index'\n\nconst props = defineProps<{\n\tschema: SchemaTypes[]\n\tlabel: string\n\tcollapsible?: boolean\n\tdata?: any\n}>()\n\nconst formData = ref(props.data || [])\nlet collapsed = ref(false)\nlet collapsible = ref(props.collapsible)\n\nconst formSchema = ref(props.schema)\nfunction toggleCollapse(event: Event) {\n\tevent.preventDefault()\n\tif (!collapsible.value) {\n\t\treturn\n\t}\n\tcollapsed.value = !collapsed.value\n}\n</script>\n\n<style scoped>\nfieldset {\n\tmax-width: 100%;\n\twidth: 100%;\n\tmargin-right: 2ch;\n\tborder: 1px solid transparent;\n\tborder-bottom: 1px solid var(--gray-50);\n}\n\nlegend {\n\twidth: 100%;\n\theight: 1.15rem;\n\tborder: 1px solid transparent;\n\tpadding-bottom: 0.5rem;\n\tfont-size: 110%;\n\tfont-weight: 600;\n\tuser-select: none;\n}\n\n.collapse-button {\n\tfloat: right;\n}\n</style>\n","<template>\n\t<div>\n\t\t<input v-model=\"inputNumber\" type=\"number\" :id=\"uuid\" :disabled=\"readonly\" :required=\"required\" />\n\t\t<label :for=\"uuid\">{{ label }}</label>\n\t\t<p v-show=\"validation.errorMessage\" v-html=\"validation.errorMessage\"></p>\n\t</div>\n</template>\n\n<script setup lang=\"ts\">\nwithDefaults(\n\tdefineProps<{\n\t\tlabel: string\n\t\trequired?: boolean\n\t\treadonly?: boolean\n\t\tuuid?: string\n\t\tvalidation?: Record<string, any>\n\t}>(),\n\t{\n\t\tvalidation: () => ({ errorMessage: ' ' }),\n\t}\n)\n\nconst inputNumber = defineModel<number>()\n</script>\n\n<style scoped>\ndiv {\n\tmin-width: 40ch;\n\tborder: 1px solid transparent;\n\tpadding: 0rem;\n\tmargin: 0rem;\n\tmargin-right: 1ch;\n}\n\ninput {\n\twidth: calc(100% - 1ch);\n\toutline: 1px solid transparent;\n\tborder: 1px solid var(--input-border-color);\n\tpadding: 1ch 0.5ch 0.5ch 1ch;\n\tmargin: calc(1.15rem / 2) 0 0 0;\n\tmin-height: 1.15rem;\n\tborder-radius: 0.25rem;\n}\n\np,\nlabel {\n\tcolor: var(--input-label-color);\n\tdisplay: block;\n\tmin-height: 1.15rem;\n\tpadding: 0rem;\n\tmargin: 0rem;\n\tborder: 1px solid transparent;\n\tmargin-bottom: 0.25rem;\n}\n\np {\n\twidth: 100%;\n\tcolor: red;\n\tfont-size: 85%;\n}\n\nlabel {\n\tz-index: 2;\n\tfont-size: 80%;\n\tposition: absolute;\n\tbackground: white;\n\tmargin: calc(-1.5rem - calc(2.15rem / 2)) 0 0 1ch;\n\tpadding: 0 0.25ch 0 0.25ch;\n}\n\ninput:focus {\n\tborder: 1px solid var(--input-active-border-color);\n}\n\ninput:focus + label {\n\tcolor: var(--input-active-label-color);\n}\n</style>\n","import type { FormSchema } from 'types'\nimport { DirectiveBinding } from 'vue'\n\nconst NAMED_MASKS = {\n\tdate: '##/##/####',\n\tdatetime: '####/##/## ##:##',\n\ttime: '##:##',\n\tfulltime: '##:##:##',\n\tphone: '(###) ### - ####',\n\tcard: '#### #### #### ####',\n}\n\nfunction extractMaskFn(mask: string): ((args: any) => string) | void {\n\ttry {\n\t\t// eslint-disable-next-line @typescript-eslint/no-implied-eval\n\t\treturn Function(`\"use strict\";return (${mask})`)()\n\t} catch (error) {\n\t\tif (error instanceof ReferenceError) {\n\t\t\t// assume mask is a string\n\t\t}\n\t}\n}\n\nfunction getMask(binding: DirectiveBinding<string>) {\n\tlet mask = binding.value\n\n\tif (mask) {\n\t\tconst maskFn = extractMaskFn(mask)\n\t\tif (maskFn) {\n\t\t\t// TODO: (state) replace with state management;\n\t\t\t// pass the entire form/table data to the function\n\t\t\tconst locale = binding.instance['locale']\n\t\t\tmask = maskFn(locale)\n\t\t}\n\t} else {\n\t\t// TODO: (state) handle using state management\n\t\tconst schema: FormSchema = binding.instance['schema']\n\t\tconst fieldType: string | undefined = schema.fieldtype?.toLowerCase()\n\t\tif (fieldType && NAMED_MASKS[fieldType]) {\n\t\t\tmask = NAMED_MASKS[fieldType]\n\t\t}\n\t}\n\n\treturn mask\n}\n\nfunction unmaskInput(input: string, maskToken?: string) {\n\tif (!maskToken) {\n\t\tmaskToken = '#'\n\t}\n\n\tlet unmaskedInput = input\n\tconst maskChars = [maskToken, '/', '-', '(', ')', ' ']\n\n\tfor (const char of maskChars) {\n\t\tunmaskedInput = unmaskedInput.replaceAll(char, '')\n\t}\n\n\treturn unmaskedInput\n}\n\nfunction fillMask(input: string, mask: string, maskToken?: string) {\n\tif (!maskToken) {\n\t\tmaskToken = '#'\n\t}\n\n\tlet replacement = mask\n\tfor (const inputChar of input) {\n\t\tconst replaceIndex = replacement.indexOf(maskToken)\n\t\tif (replaceIndex !== -1) {\n\t\t\tconst prefix = replacement.substring(0, replaceIndex)\n\t\t\tconst suffix = replacement.substring(replaceIndex + 1)\n\t\t\treplacement = prefix + inputChar + suffix\n\t\t}\n\t}\n\n\treturn replacement.slice(0, mask.length)\n}\n\nexport function useStringMask(el: HTMLInputElement, binding: DirectiveBinding<string>) {\n\tconst mask = getMask(binding)\n\tif (!mask) return\n\n\tconst maskToken = '#'\n\tconst inputText = el.value\n\n\t// process input value with mask\n\tconst unmaskedInput = unmaskInput(inputText, maskToken)\n\tif (unmaskedInput) {\n\t\tconst replacement = fillMask(unmaskedInput, mask, maskToken)\n\n\t\t// TODO: (state) this is very opinionated;\n\t\t// most likely fixed with state management;\n\t\t// a better way could be to emit back to instance;\n\n\t\tif (binding.instance['maskFilled']) {\n\t\t\tbinding.instance['maskFilled'] = !replacement.includes(maskToken)\n\t\t}\n\n\t\tel.value = replacement\n\t} else {\n\t\tel.value = mask\n\t}\n}\n","<template>\n\t<div>\n\t\t<input\n\t\t\tv-model=\"inputText\"\n\t\t\t:id=\"uuid\"\n\t\t\t:disabled=\"readonly\"\n\t\t\t:maxlength=\"mask ? maskFilled && mask.length : undefined\"\n\t\t\t:required=\"required\"\n\t\t\tv-mask=\"mask\" />\n\t\t<label :for=\"uuid\">{{ label }} </label>\n\t\t<p v-show=\"validation.errorMessage\" v-html=\"validation.errorMessage\"></p>\n\t</div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, inject, PropType, ref, computed } from 'vue'\n\nimport { FormSchema } from 'types'\nimport { useStringMask } from '@/directives/mask'\n\n// TODO: when moving to composition API, figure out how to provide mask\n// as a custom directive\nexport default defineComponent({\n\tname: 'ATextInput',\n\tprops: {\n\t\tschema: {\n\t\t\ttype: Object as PropType<FormSchema>,\n\t\t\trequired: true,\n\t\t},\n\t\tlabel: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tmodelValue: {\n\t\t\ttype: null as unknown as PropType<string | number>,\n\t\t},\n\t\tmask: {\n\t\t\ttype: String,\n\t\t},\n\t\trequired: {\n\t\t\ttype: Boolean,\n\t\t},\n\t\treadonly: {\n\t\t\ttype: Boolean,\n\t\t},\n\t\tuuid: {\n\t\t\ttype: String,\n\t\t},\n\t\tvalidation: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => ({ errorMessage: ' ' }),\n\t\t},\n\t},\n\tsetup(props, context) {\n\t\tconst maskFilled = ref(false)\n\n\t\t// TODO: (state) replace with state management\n\t\tconst locale = inject<string>('locale', '')\n\n\t\tconst inputText = computed({\n\t\t\tget() {\n\t\t\t\treturn props.modelValue\n\t\t\t},\n\t\t\tset(newValue) {\n\t\t\t\tcontext.emit('update:modelValue', newValue)\n\t\t\t},\n\t\t})\n\n\t\treturn { inputText, locale, maskFilled }\n\t},\n\tdirectives: {\n\t\tmask: useStringMask,\n\t},\n})\n</script>\n\n<style scoped>\ndiv {\n\tmin-width: 40ch;\n\tborder: 1px solid transparent;\n\tpadding: 0rem;\n\tmargin: 0rem;\n\tmargin-right: 1ch;\n}\n\ninput {\n\twidth: calc(100% - 1ch);\n\toutline: 1px solid transparent;\n\tborder: 1px solid var(--input-border-color);\n\tpadding: 1ch 0.5ch 0.5ch 1ch;\n\tmargin: calc(1.15rem / 2) 0 0 0;\n\tmin-height: 1.15rem;\n\tborder-radius: 0.25rem;\n}\n\np,\nlabel {\n\tcolor: var(--input-label-color);\n\tdisplay: block;\n\tmin-height: 1.15rem;\n\tpadding: 0rem;\n\tmargin: 0rem;\n\tborder: 1px solid transparent;\n\tmargin-bottom: 0.25rem;\n}\n\np {\n\twidth: 100%;\n\tcolor: red;\n\tfont-size: 85%;\n}\n\nlabel {\n\tz-index: 2;\n\tfont-size: 80%;\n\tposition: absolute;\n\tbackground: white;\n\tmargin: calc(-1.5rem - calc(2.15rem / 2)) 0 0 1ch;\n\tpadding: 0 0.25ch 0 0.25ch;\n}\n\ninput:focus {\n\tborder: 1px solid var(--input-active-border-color);\n}\n\ninput:focus + label {\n\tcolor: var(--input-active-label-color);\n}\n</style>\n","import { App } from 'vue'\n\nimport ACheckbox from '@/components/form/ACheckbox.vue'\nimport AComboBox from '@/components/form/AComboBox.vue'\nimport ADate from '@/components/form/ADate.vue'\nimport ADropdown from '@/components/form/ADropdown.vue'\nimport AFieldset from '@/components/form/AFieldset.vue'\nimport AForm from '@/components/AForm.vue'\nimport ANumericInput from '@/components/form/ANumericInput.vue'\nimport ATextInput from '@/components/form/ATextInput.vue'\n// import { ACurrency } from '@/components/form/ACurrency.vue'\n// import { AQuantity } from '@/components/form/AQuantity.vue'\n\nfunction install(app: App /* options */) {\n\tapp.component('ACheckbox', ACheckbox)\n\tapp.component('ACombobox', AComboBox)\n\tapp.component('ADate', ADate)\n\tapp.component('ADropdown', ADropdown)\n\tapp.component('AFieldset', AFieldset)\n\tapp.component('AForm', AForm)\n\tapp.component('ANumericInput', ANumericInput)\n\tapp.component('ATextInput', ATextInput)\n\t// app.component('ACurrency', ACurrency)\n\t// app.component('AQuantity', AQuantity)\n}\n\nexport { ACheckbox, AComboBox, ADate, ADropdown, AFieldset, AForm, ANumericInput, ATextInput, install }\n"],"names":["checkbox","_useModel","__props","v","M","F","j","H","Q","q","G","U","K","y","r","N","z","n","o","l","s","c","a","p","i","C","D","d","O","T","J","B","P","X","I","Y","Z","_","ee","te","f","u","A","E","t","ne","w","x","re","k","h","S","b","L","R","m","oe","le","ie","$","W","V","numberOfRows","numberOfColumns","props","tableData","inject","todaysDate","selectedDate","ref","currentMonth","currentYear","currentDates","onMounted","cellDate","renderMonth","nextTick","$selectedDate","$todaysDate","watch","firstOfMonth","monthStartWeekday","calendarStartDay","dayIndex","previousYear","nextYear","previousMonth","nextMonth","isTodaysDate","day","isSelectedDate","selectDate","event","currentIndex","updateData","monthAndYear","computed","useKeyboardNav","defaultKeypressHandlers","_sfc_main$5","defineComponent","value","oldValue","result","item","_hoisted_1","_hoisted_2","_hoisted_3","_sfc_render","_ctx","_cache","$props","$setup","$data","isOpen","_normalizeClass","_createElementVNode","_withDirectives","search","args","$event","_withKeys","_vModelText","_openBlock","_createElementBlock","_Fragment","_renderList","setResult","_vShow","emit","__emit","formData","componentProps","componentObj","propsToPass","key","childModels","val","newValue","collapsed","collapsible","formSchema","toggleCollapse","inputNumber","NAMED_MASKS","extractMaskFn","mask","getMask","binding","maskFn","locale","fieldType","_a","unmaskInput","input","maskToken","unmaskedInput","maskChars","char","fillMask","replacement","inputChar","replaceIndex","prefix","suffix","useStringMask","el","inputText","_sfc_main","context","maskFilled","_resolveDirective","required","_directive_mask","validation","_toDisplayString","install","app","ACheckbox","AComboBox","ADate","ADropdown","AFieldset","AForm","ANumericInput","ATextInput"],"mappings":"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"}
|
package/dist/aform.umd.cjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
(function(m,n){typeof exports=="object"&&typeof module<"u"?n(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],n):(m=typeof globalThis<"u"?globalThis:m||self,n(m["@stonecrop/aform"]={},m.Vue))})(this,function(m,n){"use strict";const ne={id:"checkbox-container"},oe=["id","readonly","required"],le={id:"custom-checkbox"},ae=["for"],re=["innerHTML"],se=n.defineComponent({__name:"ACheckbox",props:n.mergeModels({label:{},required:{type:Boolean},readOnly:{type:Boolean},uuid:{},validation:{default:()=>({errorMessage:" "})}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(e){const t=n.useModel(e,"modelValue");return(o,l)=>(n.openBlock(),n.createElementBlock("div",null,[n.createElementVNode("label",ne,[n.withDirectives(n.createElementVNode("input",{"onUpdate:modelValue":l[0]||(l[0]=a=>t.value=a),type:"checkbox",id:o.uuid,class:"checkbox",readonly:o.readOnly,required:o.required},null,8,oe),[[n.vModelCheckbox,t.value]]),n.createElementVNode("span",le,n.toDisplayString(t.value),1)]),n.createElementVNode("label",{for:o.uuid,id:"checkbox-label"},n.toDisplayString(o.label),9,ae),n.withDirectives(n.createElementVNode("p",{innerHTML:o.validation.errorMessage},null,8,re),[[n.vShow,o.validation.errorMessage]])]))}}),E=(e,t)=>{const o=e.__vccOpts||e;for(const[l,a]of t)o[l]=a;return o},$=E(se,[["__scopeId","data-v-5093f1cb"]]),ie=n.createElementVNode("div",null,[n.createElementVNode("input",{type:"text"}),n.createElementVNode("input",{type:"text"}),n.createElementVNode("input",{type:"text"})],-1),O=n.defineComponent({__name:"AComboBox",props:["event","cellData","tableID"],setup(e){return(t,o)=>{const l=n.resolveComponent("ATableModal");return n.openBlock(),n.createBlock(l,{event:e.event,cellData:e.cellData,class:"amodal"},{default:n.withCtx(()=>[ie]),_:1},8,["event","cellData"])}}});var L;const v=typeof window<"u",ce=e=>typeof e=="string",de=()=>{};v&&(L=window==null?void 0:window.navigator)!=null&&L.userAgent&&/iP(ad|hone|od)/.test(window.navigator.userAgent);function N(e){return typeof e=="function"?e():n.unref(e)}function ue(e){return e}function pe(e){return n.getCurrentScope()?(n.onScopeDispose(e),!0):!1}function I(e){var t;const o=N(e);return(t=o==null?void 0:o.$el)!=null?t:o}const F=v?window:void 0;function fe(...e){let t,o,l,a;if(ce(e[0])||Array.isArray(e[0])?([o,l,a]=e,t=F):[t,o,l,a]=e,!t)return de;Array.isArray(o)||(o=[o]),Array.isArray(l)||(l=[l]);const r=[],s=()=>{r.forEach(d=>d()),r.length=0},i=(d,y,g,f)=>(d.addEventListener(y,g,f),()=>d.removeEventListener(y,g,f)),p=n.watch(()=>[I(t),N(a)],([d,y])=>{s(),d&&r.push(...o.flatMap(g=>l.map(f=>i(d,g,f,y))))},{immediate:!0,flush:"post"}),c=()=>{p(),s()};return pe(c),c}const P=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},q="__vueuse_ssr_handlers__";P[q]=P[q]||{};function me(e,{window:t=F,scrollTarget:o}={}){const l=n.ref(!1),a=()=>{if(!t)return;const r=t.document,s=I(e);if(!s)l.value=!1;else{const i=s.getBoundingClientRect();l.value=i.top<=(t.innerHeight||r.documentElement.clientHeight)&&i.left<=(t.innerWidth||r.documentElement.clientWidth)&&i.bottom>=0&&i.right>=0}};return n.watch(()=>I(e),()=>a(),{immediate:!0,flush:"post"}),t&&fe(o||t,"scroll",a,{capture:!1,passive:!0}),l}var x;(function(e){e.UP="UP",e.RIGHT="RIGHT",e.DOWN="DOWN",e.LEFT="LEFT",e.NONE="NONE"})(x||(x={}));var he=Object.defineProperty,H=Object.getOwnPropertySymbols,ye=Object.prototype.hasOwnProperty,ge=Object.prototype.propertyIsEnumerable,R=(e,t,o)=>t in e?he(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o,we=(e,t)=>{for(var o in t||(t={}))ye.call(t,o)&&R(e,o,t[o]);if(H)for(var o of H(t))ge.call(t,o)&&R(e,o,t[o]);return e};we({linear:ue},{easeInSine:[.12,0,.39,0],easeOutSine:[.61,1,.88,1],easeInOutSine:[.37,0,.63,1],easeInQuad:[.11,0,.5,0],easeOutQuad:[.5,1,.89,1],easeInOutQuad:[.45,0,.55,1],easeInCubic:[.32,0,.67,0],easeOutCubic:[.33,1,.68,1],easeInOutCubic:[.65,0,.35,1],easeInQuart:[.5,0,.75,0],easeOutQuart:[.25,1,.5,1],easeInOutQuart:[.76,0,.24,1],easeInQuint:[.64,0,.78,0],easeOutQuint:[.22,1,.36,1],easeInOutQuint:[.83,0,.17,1],easeInExpo:[.7,0,.84,0],easeOutExpo:[.16,1,.3,1],easeInOutExpo:[.87,0,.13,1],easeInCirc:[.55,0,1,.45],easeOutCirc:[0,.55,.45,1],easeInOutCirc:[.85,0,.15,1],easeInBack:[.36,0,.66,-.56],easeOutBack:[.34,1.56,.64,1],easeInOutBack:[.68,-.6,.32,1.6]});const w=e=>{let t=me(e).value;return t=t&&e.offsetHeight>0,t},b=e=>e.tabIndex>=0,U=e=>{const t=e.target;return M(t)},M=e=>{var t;let o;if(e instanceof HTMLTableCellElement){const l=(t=e.parentElement)==null?void 0:t.previousElementSibling;if(l){const a=Array.from(l.children)[e.cellIndex];a&&(o=a)}}else if(e instanceof HTMLTableRowElement){const l=e.previousElementSibling;l&&(o=l)}return o&&(!b(o)||!w(o))?M(o):o},be=e=>{var t;const o=e.target;let l;if(o instanceof HTMLTableCellElement){const a=(t=o.parentElement)==null?void 0:t.parentElement;if(a){const r=a.firstElementChild.children[o.cellIndex];r&&(l=r)}}else if(o instanceof HTMLTableRowElement){const a=o.parentElement;if(a){const r=a.firstElementChild;r&&(l=r)}}return l&&(!b(l)||!w(l))?S(l):l},j=e=>{const t=e.target;return S(t)},S=e=>{var t;let o;if(e instanceof HTMLTableCellElement){const l=(t=e.parentElement)==null?void 0:t.nextElementSibling;if(l){const a=Array.from(l.children)[e.cellIndex];a&&(o=a)}}else if(e instanceof HTMLTableRowElement){const l=e.nextElementSibling;l&&(o=l)}return o&&(!b(o)||!w(o))?S(o):o},ke=e=>{var t;const o=e.target;let l;if(o instanceof HTMLTableCellElement){const a=(t=o.parentElement)==null?void 0:t.parentElement;if(a){const r=a.lastElementChild.children[o.cellIndex];r&&(l=r)}}else if(o instanceof HTMLTableRowElement){const a=o.parentElement;if(a){const r=a.lastElementChild;r&&(l=r)}}return l&&(!b(l)||!w(l))?M(l):l},Q=e=>{const t=e.target;return B(t)},B=e=>{var t;let o;if(e.previousElementSibling)o=e.previousElementSibling;else{const l=(t=e.parentElement)==null?void 0:t.previousElementSibling;o=l==null?void 0:l.lastElementChild}return o&&(!b(o)||!w(o))?B(o):o},Y=e=>{const t=e.target;return _(t)},_=e=>{var t;let o;if(e.nextElementSibling)o=e.nextElementSibling;else{const l=(t=e.parentElement)==null?void 0:t.nextElementSibling;o=l==null?void 0:l.firstElementChild}return o&&(!b(o)||!w(o))?_(o):o},z=e=>{const t=e.target.parentElement.firstElementChild;return t&&(!b(t)||!w(t))?_(t):t},W=e=>{const t=e.target.parentElement.lastElementChild;return t&&(!b(t)||!w(t))?B(t):t},V=["alt","control","shift","meta"],Ee={ArrowUp:"up",ArrowDown:"down",ArrowLeft:"left",ArrowRight:"right"},K={"keydown.up":e=>{const t=U(e);t&&(e.preventDefault(),e.stopPropagation(),t.focus())},"keydown.down":e=>{const t=j(e);t&&(e.preventDefault(),e.stopPropagation(),t.focus())},"keydown.left":e=>{const t=Q(e);e.preventDefault(),e.stopPropagation(),t&&t.focus()},"keydown.right":e=>{const t=Y(e);e.preventDefault(),e.stopPropagation(),t&&t.focus()},"keydown.control.up":e=>{const t=be(e);t&&(e.preventDefault(),e.stopPropagation(),t.focus())},"keydown.control.down":e=>{const t=ke(e);t&&(e.preventDefault(),e.stopPropagation(),t.focus())},"keydown.control.left":e=>{const t=z(e);t&&(e.preventDefault(),e.stopPropagation(),t.focus())},"keydown.control.right":e=>{const t=W(e);t&&(e.preventDefault(),e.stopPropagation(),t.focus())},"keydown.end":e=>{const t=W(e);t&&(e.preventDefault(),e.stopPropagation(),t.focus())},"keydown.enter":e=>{if(e.target instanceof HTMLTableCellElement){e.preventDefault(),e.stopPropagation();const t=j(e);t&&t.focus()}},"keydown.shift.enter":e=>{if(e.target instanceof HTMLTableCellElement){e.preventDefault(),e.stopPropagation();const t=U(e);t&&t.focus()}},"keydown.home":e=>{const t=z(e);t&&(e.preventDefault(),e.stopPropagation(),t.focus())},"keydown.tab":e=>{const t=Y(e);t&&(e.preventDefault(),e.stopPropagation(),t.focus())},"keydown.shift.tab":e=>{const t=Q(e);t&&(e.preventDefault(),e.stopPropagation(),t.focus())}};function Ce(e){const t=l=>{let a=null;l.parent&&(typeof l.parent=="string"?a=document.querySelector(l.parent):l.parent instanceof Element?a=l.parent:a=l.parent.value);let r=[];if(l.selectors)if(typeof l.selectors=="string")r=a?Array.from(a.querySelectorAll(l.selectors)):Array.from(document.querySelectorAll(l.selectors));else if(l.selectors instanceof Element)r.push(l.selectors);else if(Array.isArray(l.selectors.value))for(const s of l.selectors.value)s instanceof Element?r.push(s):r.push(s.$el);else r.push(l.selectors.value);else r=Array.from(a.children).filter(s=>b(s)&&w(s));return r},o=l=>a=>{const r=Ee[a.key]||a.key.toLowerCase();if(V.includes(r))return;const s=l.handlers||K;for(const i of Object.keys(s)){const[p,...c]=i.split(".");if(p==="keydown"&&c.includes(r)){const d=s[i],y=c.filter(f=>V.includes(f)),g=V.some(f=>{const A=f.charAt(0).toUpperCase()+f.slice(1);return a.getModifierState(A)});if(y.length>0){if(g){for(const f of V)if(c.includes(f)){const A=f.charAt(0).toUpperCase()+f.slice(1);a.getModifierState(A)&&d(a)}}}else g||d(a)}}};n.onMounted(()=>{for(const l of e){const a=t(l);for(const r of a)r.addEventListener("keydown",o(l))}}),n.onBeforeUnmount(()=>{for(const l of e){const a=t(l);for(const r of a)r.removeEventListener("keydown",o(l))}})}const De=["event","colIndex","rowIndex","tableid"],Ae={colspan:"5"},Ve=["onClick"],Ie=6,C=7,G=E(n.defineComponent({__name:"ADate",props:{colIndex:{},rowIndex:{},tableid:{},event:{},indent:{},readonly:{type:Boolean}},setup(e){const t=e,o=n.inject(t.tableid),l=new Date,a=n.ref(),r=n.ref(),s=n.ref(),i=n.ref([]);n.onMounted(async()=>{let u=o.cellData(t.colIndex,t.rowIndex);u?(u instanceof Date||(u=new Date(u)),a.value=u,r.value=a.value.getMonth(),s.value=a.value.getFullYear()):(r.value=l.getMonth(),s.value=l.getFullYear()),p(),await n.nextTick();const D=document.getElementsByClassName("selecteddate");if(D.length>0)D[0].focus();else{const h=document.getElementsByClassName("todaysdate");h.length>0&&h[0].focus()}}),n.watch([r,s],()=>{p()});const p=()=>{i.value=[];const u=new Date(s.value,r.value,1),D=u.getDay(),h=u.setDate(u.getDate()-D);for(let k of Array(43).keys())i.value.push(h+k*864e5)},c=()=>{s.value-=1},d=()=>{s.value+=1},y=()=>{r.value==0?(r.value=11,c()):r.value-=1},g=()=>{r.value==11?(r.value=0,d()):r.value+=1},f=u=>{if(r.value===l.getMonth())return l.toDateString()===new Date(u).toDateString()},A=u=>new Date(u).toDateString()===new Date(a.value).toDateString(),We=(u,D)=>{a.value=new Date(i.value[D]),Ke()},Ke=()=>{o.setCellData(t.rowIndex,t.colIndex,a.value.getTime())},Ge=n.computed(()=>new Date(s.value,r.value,1).toLocaleDateString(void 0,{year:"numeric",month:"long"}));return Ce([{parent:"table.adate",selectors:"td",handlers:{...K,"keydown.pageup":y,"keydown.shift.pageup":c,"keydown.pagedown":g,"keydown.shift.pagedown":d}}]),(u,D)=>u.readonly?n.createCommentVNode("",!0):(n.openBlock(),n.createElementBlock("div",{key:0,event:u.event,colIndex:u.colIndex,rowIndex:u.rowIndex,tableid:u.tableid,class:"adate",tabindex:"0",ref:"adatepicker"},[n.createElementVNode("table",null,[n.createElementVNode("tr",null,[n.createElementVNode("td",{onClick:y,tabindex:-1},"<"),n.createElementVNode("th",Ae,n.toDisplayString(Ge.value),1),n.createElementVNode("td",{onClick:g,tabindex:-1},">")]),(n.openBlock(),n.createElementBlock(n.Fragment,null,n.renderList(Ie,h=>n.createElementVNode("tr",{key:h},[(n.openBlock(),n.createElementBlock(n.Fragment,null,n.renderList(C,k=>n.createElementVNode("td",{key:(h-1)*C+k,contenteditable:!1,spellcheck:!1,tabindex:0,style:n.normalizeStyle({border:A(i.value[(h-1)*C+k])?"2px solid var(--focus-cell-outline)":"none",borderBottomColor:f(i.value[(h-1)*C+k])?"var(--focus-cell-outline)":"none"}),onClick:n.withModifiers(Je=>We(Je,(h-1)*C+k),["prevent","stop"]),class:n.normalizeClass({todaysdate:f(i.value[(h-1)*C+k]),selecteddate:A(i.value[(h-1)*C+k])})},n.toDisplayString(new Date(i.value[(h-1)*C+k]).getDate()),15,Ve)),64))])),64))])],8,De))}}),[["__scopeId","data-v-169f1184"]]),Me=n.defineComponent({name:"ADropdown",props:{modelValue:{type:String,required:!1,default:""},label:{type:String,required:!0},value:String,items:{type:Array,required:!1,default:()=>[]},isAsync:{type:Boolean,required:!1,default:!1}},emits:["update:modelValue","filterChanged"],data(){return{results:[],search:this.modelValue,isLoading:!1,arrowCounter:0,isOpen:!1}},watch:{items:function(e,t){this.isLoading=!1,this.results=e}},mounted(){document.addEventListener("click",this.handleClickOutside),this.filterResults()},destroyed(){document.removeEventListener("click",this.handleClickOutside)},methods:{setResult(e){this.search=e,this.closeResults()},filterResults(){this.results=this.items.filter(e=>e.toLowerCase().indexOf(this.search.toLowerCase())>-1)},onChange(){this.isOpen=!0,this.isAsync?(this.isLoading=!0,this.$emit("filterChanged",this.search)):this.filterResults()},handleClickOutside(e){this.$el.contains(e.target)||(this.closeResults(),this.arrowCounter=0)},closeResults(){this.isOpen=!1,this.items.includes(this.search)||(this.search=""),this.$emit("update:modelValue",this.search)},onArrowDown(){this.arrowCounter<this.results.length&&(this.arrowCounter=this.arrowCounter+1)},onArrowUp(){this.arrowCounter>0&&(this.arrowCounter=this.arrowCounter-1)},onEnter(){this.search=this.results[this.arrowCounter],this.closeResults(),this.arrowCounter=0},openWithSearch(){this.search="",this.onChange(),this.$refs.mopInput.focus()}}}),Se={class:"input-wrapper"},Be={id:"autocomplete-results",class:"autocomplete-results"},_e={key:0,class:"loading autocomplete-result"},Te=["onClick"];function $e(e,t,o,l,a,r){return n.openBlock(),n.createElementBlock("div",{class:n.normalizeClass(["autocomplete",{isOpen:e.isOpen}])},[n.createElementVNode("div",Se,[n.withDirectives(n.createElementVNode("input",{ref:"mopInput",type:"text",onInput:t[0]||(t[0]=(...s)=>e.onChange&&e.onChange(...s)),onFocus:t[1]||(t[1]=(...s)=>e.onChange&&e.onChange(...s)),"onUpdate:modelValue":t[2]||(t[2]=s=>e.search=s),onKeydown:[t[3]||(t[3]=n.withKeys((...s)=>e.onArrowDown&&e.onArrowDown(...s),["down"])),t[4]||(t[4]=n.withKeys((...s)=>e.onArrowUp&&e.onArrowUp(...s),["up"])),t[5]||(t[5]=n.withKeys((...s)=>e.onEnter&&e.onEnter(...s),["enter"]))]},null,544),[[n.vModelText,e.search]]),n.withDirectives(n.createElementVNode("ul",Be,[e.isLoading?(n.openBlock(),n.createElementBlock("li",_e,"Loading results...")):(n.openBlock(!0),n.createElementBlock(n.Fragment,{key:1},n.renderList(e.results,(s,i)=>(n.openBlock(),n.createElementBlock("li",{key:i,onClick:p=>e.setResult(s),class:n.normalizeClass(["autocomplete-result",{"is-active":i===e.arrowCounter}])},n.toDisplayString(s),11,Te))),128))],512),[[n.vShow,e.isOpen]]),n.createElementVNode("label",null,n.toDisplayString(e.label),1)])],2)}const J=E(Me,[["render",$e]]),Oe=E(n.defineComponent({__name:"CollapseButton",props:{collapsed:{type:Boolean}},setup(e){return(t,o)=>(n.openBlock(),n.createElementBlock("button",{class:n.normalizeClass(["collapse-button",t.collapsed?"rotated":"unrotated"])},"×",2))}}),[["__scopeId","data-v-6f1c1b45"]]),T=E(n.defineComponent({__name:"AForm",props:{modelValue:{},data:{},readonly:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:t}){const o=e,l=t,a=n.ref(o.data||{}),r=i=>{let p={};for(const[c,d]of Object.entries(i))["component","fieldtype"].includes(c)||(p[c]=d),c==="rows"&&d&&d.length===0&&(p.rows=a.value[i.fieldname]);return p},s=n.computed({get:()=>o.modelValue.map((i,p)=>n.computed({get(){return i.value},set:c=>{o.modelValue[p].value=c,l("update:modelValue",o.modelValue)}})),set:()=>{}});return(i,p)=>(n.openBlock(),n.createElementBlock("form",null,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(i.modelValue,(c,d)=>(n.openBlock(),n.createBlock(n.resolveDynamicComponent(c.component),n.mergeProps({key:d,schema:c,modelValue:s.value[d].value,"onUpdate:modelValue":y=>s.value[d].value=y,data:a.value[c.fieldname],readonly:i.readonly},r(c)),null,16,["schema","modelValue","onUpdate:modelValue","data","readonly"]))),128))]))}}),[["__scopeId","data-v-74d66cf2"]]),X=E(n.defineComponent({__name:"AFieldset",props:{schema:{},label:{},collapsible:{type:Boolean},data:{}},setup(e){const t=e,o=n.ref(t.data||[]);let l=n.ref(!1),a=n.ref(t.collapsible);const r=n.ref(t.schema);function s(i){i.preventDefault(),a.value&&(l.value=!l.value)}return(i,p)=>(n.openBlock(),n.createElementBlock("fieldset",null,[n.createElementVNode("legend",{onClick:s,onSubmit:s},[n.createTextVNode(n.toDisplayString(i.label)+" ",1),n.unref(a)?(n.openBlock(),n.createBlock(Oe,{key:0,collapsed:n.unref(l)},null,8,["collapsed"])):n.createCommentVNode("",!0)],32),n.renderSlot(i.$slots,"default",{collapsed:n.unref(l)},()=>[n.withDirectives(n.createVNode(T,{modelValue:r.value,"onUpdate:modelValue":p[0]||(p[0]=c=>r.value=c),data:o.value},null,8,["modelValue","data"]),[[n.vShow,!n.unref(l)]])],!0)]))}}),[["__scopeId","data-v-cad9b578"]]),Le=["id","disabled","required"],ve=["for"],Ne=["innerHTML"],Z=E(n.defineComponent({__name:"ANumericInput",props:n.mergeModels({label:{},required:{type:Boolean},readonly:{type:Boolean},uuid:{},validation:{default:()=>({errorMessage:" "})}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(e){const t=n.useModel(e,"modelValue");return(o,l)=>(n.openBlock(),n.createElementBlock("div",null,[n.withDirectives(n.createElementVNode("input",{"onUpdate:modelValue":l[0]||(l[0]=a=>t.value=a),type:"number",id:o.uuid,disabled:o.readonly,required:o.required},null,8,Le),[[n.vModelText,t.value]]),n.createElementVNode("label",{for:o.uuid},n.toDisplayString(o.label),9,ve),n.withDirectives(n.createElementVNode("p",{innerHTML:o.validation.errorMessage},null,8,Ne),[[n.vShow,o.validation.errorMessage]])]))}}),[["__scopeId","data-v-02907cd6"]]),ee={date:"##/##/####",datetime:"####/##/## ##:##",time:"##:##",fulltime:"##:##:##",phone:"(###) ### - ####",card:"#### #### #### ####"};function Fe(e){try{return Function(`"use strict";return (${e})`)()}catch{}}function Pe(e){var o;let t=e.value;if(t){const l=Fe(t);if(l){const a=e.instance.locale;t=l(a)}}else{const a=(o=e.instance.schema.fieldtype)==null?void 0:o.toLowerCase();a&&ee[a]&&(t=ee[a])}return t}function qe(e,t){t||(t="#");let o=e;const l=[t,"/","-","(",")"," "];for(const a of l)o=o.replaceAll(a,"");return o}function xe(e,t,o){o||(o="#");let l=t;for(const a of e){const r=l.indexOf(o);if(r!==-1){const s=l.substring(0,r),i=l.substring(r+1);l=s+a+i}}return l.slice(0,t.length)}function He(e,t){const o=Pe(t);if(!o)return;const l="#",a=e.value,r=qe(a,l);if(r){const s=xe(r,o,l);t.instance.maskFilled&&(t.instance.maskFilled=!s.includes(l)),e.value=s}else e.value=o}const Re=n.defineComponent({name:"ATextInput",props:{schema:{type:Object,required:!0},label:{type:String,required:!0},modelValue:{type:null},mask:{type:String},required:{type:Boolean},readonly:{type:Boolean},uuid:{type:String},validation:{type:Object,default:()=>({errorMessage:" "})}},setup(e,t){const o=n.ref(!1),l=n.inject("locale","");return{inputText:n.computed({get(){return e.modelValue},set(r){t.emit("update:modelValue",r)}}),locale:l,maskFilled:o}},directives:{mask:He}}),Ue=["id","disabled","maxlength","required"],je=["for"],Qe=["innerHTML"];function Ye(e,t,o,l,a,r){const s=n.resolveDirective("mask");return n.openBlock(),n.createElementBlock("div",null,[n.withDirectives(n.createElementVNode("input",{"onUpdate:modelValue":t[0]||(t[0]=i=>e.inputText=i),id:e.uuid,disabled:e.readonly,maxlength:e.mask?e.maskFilled&&e.mask.length:void 0,required:e.required},null,8,Ue),[[n.vModelText,e.inputText],[s,e.mask]]),n.createElementVNode("label",{for:e.uuid},n.toDisplayString(e.label),9,je),n.withDirectives(n.createElementVNode("p",{innerHTML:e.validation.errorMessage},null,8,Qe),[[n.vShow,e.validation.errorMessage]])])}const te=E(Re,[["render",Ye],["__scopeId","data-v-76dba9b8"]]);function ze(e){e.component("ACheckbox",$),e.component("ACombobox",O),e.component("ADate",G),e.component("ADropdown",J),e.component("AFieldset",X),e.component("AForm",T),e.component("ANumericInput",Z),e.component("ATextInput",te)}m.ACheckbox=$,m.AComboBox=O,m.ADate=G,m.ADropdown=J,m.AFieldset=X,m.AForm=T,m.ANumericInput=Z,m.ATextInput=te,m.install=ze,Object.defineProperty(m,Symbol.toStringTag,{value:"Module"})});
|
|
2
|
-
//# sourceMappingURL=aform.umd.cjs.map
|
package/dist/aform.umd.cjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"aform.umd.cjs","sources":["../src/components/form/ACheckbox.vue","../../utilities/dist/utilities.js","../src/components/form/ADate.vue","../src/components/form/ADropdown.vue","../src/components/AForm.vue","../src/components/form/AFieldset.vue","../src/components/form/ANumericInput.vue","../src/directives/mask.ts","../src/components/form/ATextInput.vue","../src/index.ts"],"sourcesContent":["<template>\n\t<div>\n\t\t<label id=\"checkbox-container\">\n\t\t\t<input v-model=\"checkbox\" type=\"checkbox\" :id=\"uuid\" class=\"checkbox\" :readonly=\"readOnly\" :required=\"required\" />\n\t\t\t<span id=\"custom-checkbox\">{{ checkbox }}</span>\n\t\t</label>\n\t\t<label :for=\"uuid\" id=\"checkbox-label\">{{ label }}</label>\n\t\t<p v-show=\"validation.errorMessage\" v-html=\"validation.errorMessage\"></p>\n\t</div>\n</template>\n\n<script setup lang=\"ts\">\nimport { InputHTMLAttributes } from 'vue'\n\nwithDefaults(\n\tdefineProps<{\n\t\tlabel?: string\n\t\trequired?: boolean\n\t\treadOnly?: boolean\n\t\tuuid?: string\n\t\tvalidation?: Record<string, any>\n\t}>(),\n\t{\n\t\tvalidation: () => ({ errorMessage: ' ' }),\n\t}\n)\n\nconst checkbox = defineModel<InputHTMLAttributes['checked']>()\n</script>\n\n<style scoped>\ndiv {\n\tdisplay: inline-block;\n\tmin-width: 40ch;\n\tborder: 1px solid transparent;\n\tpadding: 0rem;\n\tmargin: 0rem;\n\tmargin-right: 1ch;\n}\n\np,\nlabel {\n\tcolor: var(--input-label-color);\n\tdisplay: block;\n\tmin-height: 1.15rem;\n\tpadding: 0rem;\n\tmargin: 0rem;\n\tborder: 1px solid transparent;\n\tmargin-bottom: 0.25rem;\n}\n\np {\n\twidth: 100%;\n\tcolor: red;\n\tfont-size: 85%;\n}\n\n.checkbox {\n\tvisibility: hidden;\n}\n\n.checkbox + #custom-checkbox:after {\n\tcontent: '⬡';\n\tpadding: 1ch 0 0.5ch 0;\n\tfont-size: 120%;\n\tcursor: pointer;\n\tposition: relative;\n\tleft: -18px;\n}\n\n.checkbox:checked + #custom-checkbox:after {\n\tcontent: '⬣';\n\tpadding: 1ch 0 0.5ch 0;\n\tfont-size: 120%;\n\tcursor: pointer;\n\tposition: relative;\n\tleft: -18px;\n}\n\n#custom-checkbox {\n\tdisplay: inline-block;\n}\n\n#checkbox-container {\n\tdisplay: inline-block;\n\tmin-width: calc(100% - 1ch);\n\toutline: 1px solid transparent;\n\tborder: 1px solid var(--input-border-color);\n\tpadding: 1ch 0.5ch 0.5ch 1ch;\n\tmargin: calc(1.15rem / 2) 0 0 0;\n\theight: 1.15rem;\n\tborder-radius: 0.25rem;\n}\n\n#checkbox-container:hover {\n\tborder: 1px solid var(--input-active-border-color);\n}\n\n#checkbox-container:hover + label {\n\tcolor: var(--input-active-label-color);\n}\n\n#checkbox-label {\n\tz-index: 2;\n\tfont-size: 80%;\n\tposition: absolute;\n\tbackground: white;\n\tmargin: calc(-1.5rem - calc(2.15rem / 2)) 0 0 1ch;\n\tpadding: 0 0.25ch 0 0.25ch;\n}\n</style>\n","import { unref as Q, getCurrentScope as U, onScopeDispose as K, ref as B, watch as D, onMounted as W, onBeforeUnmount as V } from \"vue\";\nvar v;\nconst M = typeof window < \"u\", F = (e) => typeof e == \"string\", j = () => {\n};\nM && ((v = window == null ? void 0 : window.navigator) != null && v.userAgent) && /iP(ad|hone|od)/.test(window.navigator.userAgent);\nfunction H(e) {\n return typeof e == \"function\" ? e() : Q(e);\n}\nfunction q(e) {\n return e;\n}\nfunction G(e) {\n return U() ? (K(e), !0) : !1;\n}\nfunction y(e) {\n var t;\n const r = H(e);\n return (t = r == null ? void 0 : r.$el) != null ? t : r;\n}\nconst N = M ? window : void 0;\nfunction z(...e) {\n let t, r, n, o;\n if (F(e[0]) || Array.isArray(e[0]) ? ([r, n, o] = e, t = N) : [t, r, n, o] = e, !t)\n return j;\n Array.isArray(r) || (r = [r]), Array.isArray(n) || (n = [n]);\n const l = [], s = () => {\n l.forEach((c) => c()), l.length = 0;\n }, a = (c, g, p, i) => (c.addEventListener(g, p, i), () => c.removeEventListener(g, p, i)), C = D(() => [y(t), H(o)], ([c, g]) => {\n s(), c && l.push(...r.flatMap((p) => n.map((i) => a(c, p, i, g))));\n }, { immediate: !0, flush: \"post\" }), d = () => {\n C(), s();\n };\n return G(d), d;\n}\nconst O = typeof globalThis < \"u\" ? globalThis : typeof window < \"u\" ? window : typeof global < \"u\" ? global : typeof self < \"u\" ? self : {}, T = \"__vueuse_ssr_handlers__\";\nO[T] = O[T] || {};\nfunction J(e, { window: t = N, scrollTarget: r } = {}) {\n const n = B(!1), o = () => {\n if (!t)\n return;\n const l = t.document, s = y(e);\n if (!s)\n n.value = !1;\n else {\n const a = s.getBoundingClientRect();\n n.value = a.top <= (t.innerHeight || l.documentElement.clientHeight) && a.left <= (t.innerWidth || l.documentElement.clientWidth) && a.bottom >= 0 && a.right >= 0;\n }\n };\n return D(() => y(e), () => o(), { immediate: !0, flush: \"post\" }), t && z(r || t, \"scroll\", o, {\n capture: !1,\n passive: !0\n }), n;\n}\nvar P;\n(function(e) {\n e.UP = \"UP\", e.RIGHT = \"RIGHT\", e.DOWN = \"DOWN\", e.LEFT = \"LEFT\", e.NONE = \"NONE\";\n})(P || (P = {}));\nvar X = Object.defineProperty, I = Object.getOwnPropertySymbols, Y = Object.prototype.hasOwnProperty, Z = Object.prototype.propertyIsEnumerable, _ = (e, t, r) => t in e ? X(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, ee = (e, t) => {\n for (var r in t || (t = {}))\n Y.call(t, r) && _(e, r, t[r]);\n if (I)\n for (var r of I(t))\n Z.call(t, r) && _(e, r, t[r]);\n return e;\n};\nconst te = {\n easeInSine: [0.12, 0, 0.39, 0],\n easeOutSine: [0.61, 1, 0.88, 1],\n easeInOutSine: [0.37, 0, 0.63, 1],\n easeInQuad: [0.11, 0, 0.5, 0],\n easeOutQuad: [0.5, 1, 0.89, 1],\n easeInOutQuad: [0.45, 0, 0.55, 1],\n easeInCubic: [0.32, 0, 0.67, 0],\n easeOutCubic: [0.33, 1, 0.68, 1],\n easeInOutCubic: [0.65, 0, 0.35, 1],\n easeInQuart: [0.5, 0, 0.75, 0],\n easeOutQuart: [0.25, 1, 0.5, 1],\n easeInOutQuart: [0.76, 0, 0.24, 1],\n easeInQuint: [0.64, 0, 0.78, 0],\n easeOutQuint: [0.22, 1, 0.36, 1],\n easeInOutQuint: [0.83, 0, 0.17, 1],\n easeInExpo: [0.7, 0, 0.84, 0],\n easeOutExpo: [0.16, 1, 0.3, 1],\n easeInOutExpo: [0.87, 0, 0.13, 1],\n easeInCirc: [0.55, 0, 1, 0.45],\n easeOutCirc: [0, 0.55, 0.45, 1],\n easeInOutCirc: [0.85, 0, 0.15, 1],\n easeInBack: [0.36, 0, 0.66, -0.56],\n easeOutBack: [0.34, 1.56, 0.64, 1],\n easeInOutBack: [0.68, -0.6, 0.32, 1.6]\n};\nee({\n linear: q\n}, te);\nconst f = (e) => {\n let t = J(e).value;\n return t = t && e.offsetHeight > 0, t;\n}, u = (e) => e.tabIndex >= 0, A = (e) => {\n const t = e.target;\n return E(t);\n}, E = (e) => {\n var r;\n let t;\n if (e instanceof HTMLTableCellElement) {\n const n = (r = e.parentElement) == null ? void 0 : r.previousElementSibling;\n if (n) {\n const l = Array.from(n.children)[e.cellIndex];\n l && (t = l);\n }\n } else if (e instanceof HTMLTableRowElement) {\n const n = e.previousElementSibling;\n n && (t = n);\n }\n return t && (!u(t) || !f(t)) ? E(t) : t;\n}, ne = (e) => {\n var n;\n const t = e.target;\n let r;\n if (t instanceof HTMLTableCellElement) {\n const o = (n = t.parentElement) == null ? void 0 : n.parentElement;\n if (o) {\n const s = o.firstElementChild.children[t.cellIndex];\n s && (r = s);\n }\n } else if (t instanceof HTMLTableRowElement) {\n const o = t.parentElement;\n if (o) {\n const l = o.firstElementChild;\n l && (r = l);\n }\n }\n return r && (!u(r) || !f(r)) ? w(r) : r;\n}, x = (e) => {\n const t = e.target;\n return w(t);\n}, w = (e) => {\n var r;\n let t;\n if (e instanceof HTMLTableCellElement) {\n const n = (r = e.parentElement) == null ? void 0 : r.nextElementSibling;\n if (n) {\n const l = Array.from(n.children)[e.cellIndex];\n l && (t = l);\n }\n } else if (e instanceof HTMLTableRowElement) {\n const n = e.nextElementSibling;\n n && (t = n);\n }\n return t && (!u(t) || !f(t)) ? w(t) : t;\n}, re = (e) => {\n var n;\n const t = e.target;\n let r;\n if (t instanceof HTMLTableCellElement) {\n const o = (n = t.parentElement) == null ? void 0 : n.parentElement;\n if (o) {\n const s = o.lastElementChild.children[t.cellIndex];\n s && (r = s);\n }\n } else if (t instanceof HTMLTableRowElement) {\n const o = t.parentElement;\n if (o) {\n const l = o.lastElementChild;\n l && (r = l);\n }\n }\n return r && (!u(r) || !f(r)) ? E(r) : r;\n}, k = (e) => {\n const t = e.target;\n return h(t);\n}, h = (e) => {\n var r;\n let t;\n if (e.previousElementSibling)\n t = e.previousElementSibling;\n else {\n const n = (r = e.parentElement) == null ? void 0 : r.previousElementSibling;\n t = n == null ? void 0 : n.lastElementChild;\n }\n return t && (!u(t) || !f(t)) ? h(t) : t;\n}, S = (e) => {\n const t = e.target;\n return b(t);\n}, b = (e) => {\n var r;\n let t;\n if (e.nextElementSibling)\n t = e.nextElementSibling;\n else {\n const n = (r = e.parentElement) == null ? void 0 : r.nextElementSibling;\n t = n == null ? void 0 : n.firstElementChild;\n }\n return t && (!u(t) || !f(t)) ? b(t) : t;\n}, L = (e) => {\n const n = e.target.parentElement.firstElementChild;\n return n && (!u(n) || !f(n)) ? b(n) : n;\n}, R = (e) => {\n const n = e.target.parentElement.lastElementChild;\n return n && (!u(n) || !f(n)) ? h(n) : n;\n}, m = [\"alt\", \"control\", \"shift\", \"meta\"], oe = {\n ArrowUp: \"up\",\n ArrowDown: \"down\",\n ArrowLeft: \"left\",\n ArrowRight: \"right\"\n}, le = {\n \"keydown.up\": (e) => {\n const t = A(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.down\": (e) => {\n const t = x(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.left\": (e) => {\n const t = k(e);\n e.preventDefault(), e.stopPropagation(), t && t.focus();\n },\n \"keydown.right\": (e) => {\n const t = S(e);\n e.preventDefault(), e.stopPropagation(), t && t.focus();\n },\n \"keydown.control.up\": (e) => {\n const t = ne(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.control.down\": (e) => {\n const t = re(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.control.left\": (e) => {\n const t = L(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.control.right\": (e) => {\n const t = R(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.end\": (e) => {\n const t = R(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 r = x(e);\n r && r.focus();\n }\n },\n \"keydown.shift.enter\": (e) => {\n if (e.target instanceof HTMLTableCellElement) {\n e.preventDefault(), e.stopPropagation();\n const r = A(e);\n r && r.focus();\n }\n },\n \"keydown.home\": (e) => {\n const t = L(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.tab\": (e) => {\n const t = S(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n },\n \"keydown.shift.tab\": (e) => {\n const t = k(e);\n t && (e.preventDefault(), e.stopPropagation(), t.focus());\n }\n};\nfunction ie(e) {\n const t = (n) => {\n let o = null;\n n.parent && (typeof n.parent == \"string\" ? o = document.querySelector(n.parent) : n.parent instanceof Element ? o = n.parent : o = n.parent.value);\n let l = [];\n if (n.selectors)\n if (typeof n.selectors == \"string\")\n l = o ? Array.from(o.querySelectorAll(n.selectors)) : Array.from(document.querySelectorAll(n.selectors));\n else if (n.selectors instanceof Element)\n l.push(n.selectors);\n else if (Array.isArray(n.selectors.value))\n for (const s of n.selectors.value)\n s instanceof Element ? l.push(s) : l.push(s.$el);\n else\n l.push(n.selectors.value);\n else\n l = Array.from(o.children).filter((a) => u(a) && f(a));\n return l;\n }, r = (n) => (o) => {\n const l = oe[o.key] || o.key.toLowerCase();\n if (m.includes(l))\n return;\n const s = n.handlers || le;\n for (const a of Object.keys(s)) {\n const [C, ...d] = a.split(\".\");\n if (C === \"keydown\" && d.includes(l)) {\n const c = s[a], g = d.filter((i) => m.includes(i)), p = m.some((i) => {\n const $ = i.charAt(0).toUpperCase() + i.slice(1);\n return o.getModifierState($);\n });\n if (g.length > 0) {\n if (p) {\n for (const i of m)\n if (d.includes(i)) {\n const $ = i.charAt(0).toUpperCase() + i.slice(1);\n o.getModifierState($) && c(o);\n }\n }\n } else\n p || c(o);\n }\n }\n };\n W(() => {\n for (const n of e) {\n const o = t(n);\n for (const l of o)\n l.addEventListener(\"keydown\", r(n));\n }\n }), V(() => {\n for (const n of e) {\n const o = t(n);\n for (const l of o)\n l.removeEventListener(\"keydown\", r(n));\n }\n });\n}\nfunction ae(e) {\n}\nexport {\n le as defaultKeypressHandlers,\n ae as install,\n ie as useKeyboardNav\n};\n//# sourceMappingURL=utilities.js.map\n","<template>\n\t<div\n\t\tv-if=\"!readonly\"\n\t\t:event=\"event\"\n\t\t:colIndex=\"colIndex\"\n\t\t:rowIndex=\"rowIndex\"\n\t\t:tableid=\"tableid\"\n\t\tclass=\"adate\"\n\t\ttabindex=\"0\"\n\t\tref=\"adatepicker\">\n\t\t<table>\n\t\t\t<tr>\n\t\t\t\t<td @click=\"previousMonth\" :tabindex=\"-1\"><</td>\n\t\t\t\t<th colspan=\"5\">{{ monthAndYear }}</th>\n\t\t\t\t<td @click=\"nextMonth\" :tabindex=\"-1\">></td>\n\t\t\t</tr>\n\t\t\t<tr v-for=\"rowNo in numberOfRows\" :key=\"rowNo\">\n\t\t\t\t<!-- TODO: (style) remove inline styling and replace with theme package -->\n\t\t\t\t<td\n\t\t\t\t\tv-for=\"colNo in numberOfColumns\"\n\t\t\t\t\t:key=\"(rowNo - 1) * numberOfColumns + colNo\"\n\t\t\t\t\t:contenteditable=\"false\"\n\t\t\t\t\t:spellcheck=\"false\"\n\t\t\t\t\t:tabindex=\"0\"\n\t\t\t\t\t:style=\"{\n\t\t\t\t\t\tborder: isSelectedDate(currentDates[(rowNo - 1) * numberOfColumns + colNo])\n\t\t\t\t\t\t\t? '2px solid var(--focus-cell-outline)'\n\t\t\t\t\t\t\t: 'none',\n\t\t\t\t\t\tborderBottomColor: isTodaysDate(currentDates[(rowNo - 1) * numberOfColumns + colNo])\n\t\t\t\t\t\t\t? 'var(--focus-cell-outline)'\n\t\t\t\t\t\t\t: 'none',\n\t\t\t\t\t}\"\n\t\t\t\t\t@click.prevent.stop=\"selectDate($event, (rowNo - 1) * numberOfColumns + colNo)\"\n\t\t\t\t\t:class=\"{\n\t\t\t\t\t\ttodaysdate: isTodaysDate(currentDates[(rowNo - 1) * numberOfColumns + colNo]),\n\t\t\t\t\t\tselecteddate: isSelectedDate(currentDates[(rowNo - 1) * numberOfColumns + colNo]),\n\t\t\t\t\t}\">\n\t\t\t\t\t{{ new Date(currentDates[(rowNo - 1) * numberOfColumns + colNo]).getDate() }}\n\t\t\t\t</td>\n\t\t\t</tr>\n\t\t</table>\n\t</div>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, inject, nextTick, onMounted, ref, watch } from 'vue'\n\nimport { TableDataStore } from '@stonecrop/atable'\nimport { defaultKeypressHandlers, useKeyboardNav } from '@stonecrop/utilities'\n\nconst props = defineProps<{\n\tcolIndex?: number\n\trowIndex?: number\n\ttableid?: string\n\tevent?: Event\n\tindent?: number\n\treadonly?: boolean\n}>()\n\nconst tableData = inject<TableDataStore>(props.tableid)\n\nconst numberOfRows = 6\nconst numberOfColumns = 7\nconst todaysDate = new Date()\n\nconst selectedDate = ref<Date>()\nconst currentMonth = ref<number>()\nconst currentYear = ref<number>()\nconst currentDates = ref<number[]>([])\n// const width = ref('')\n\nonMounted(async () => {\n\tlet cellDate = tableData.cellData<string | number | Date>(props.colIndex, props.rowIndex)\n\tif (cellDate) {\n\t\tif (!(cellDate instanceof Date)) {\n\t\t\tcellDate = new Date(cellDate)\n\t\t}\n\n\t\tselectedDate.value = cellDate\n\t\tcurrentMonth.value = selectedDate.value.getMonth()\n\t\tcurrentYear.value = selectedDate.value.getFullYear()\n\t} else {\n\t\tcurrentMonth.value = todaysDate.getMonth()\n\t\tcurrentYear.value = todaysDate.getFullYear()\n\t}\n\n\trenderMonth()\n\tawait nextTick()\n\n\tconst $selectedDate = document.getElementsByClassName('selecteddate')\n\tif ($selectedDate.length > 0) {\n\t\t;($selectedDate[0] as HTMLElement).focus()\n\t} else {\n\t\tconst $todaysDate = document.getElementsByClassName('todaysdate')\n\t\tif ($todaysDate.length > 0) {\n\t\t\t;($todaysDate[0] as HTMLElement).focus()\n\t\t}\n\t}\n})\n\nwatch([currentMonth, currentYear], () => {\n\trenderMonth()\n})\n\nconst renderMonth = () => {\n\tcurrentDates.value = []\n\tconst firstOfMonth = new Date(currentYear.value, currentMonth.value, 1)\n\tconst monthStartWeekday = firstOfMonth.getDay()\n\tconst calendarStartDay = firstOfMonth.setDate(firstOfMonth.getDate() - monthStartWeekday)\n\tfor (let dayIndex of Array(43).keys()) {\n\t\tcurrentDates.value.push(calendarStartDay + dayIndex * 86400000)\n\t}\n}\n\nconst previousYear = () => {\n\tcurrentYear.value -= 1\n}\n\nconst nextYear = () => {\n\tcurrentYear.value += 1\n}\n\nconst previousMonth = () => {\n\tif (currentMonth.value == 0) {\n\t\tcurrentMonth.value = 11\n\t\tpreviousYear()\n\t} else {\n\t\tcurrentMonth.value -= 1\n\t}\n}\n\nconst nextMonth = () => {\n\tif (currentMonth.value == 11) {\n\t\tcurrentMonth.value = 0\n\t\tnextYear()\n\t} else {\n\t\tcurrentMonth.value += 1\n\t}\n}\n\nconst isTodaysDate = (day: string | number | Date) => {\n\tif (currentMonth.value !== todaysDate.getMonth()) {\n\t\treturn\n\t}\n\treturn todaysDate.toDateString() === new Date(day).toDateString()\n}\n\nconst isSelectedDate = (day: string | number | Date) => {\n\treturn new Date(day).toDateString() === new Date(selectedDate.value).toDateString()\n}\n\nconst selectDate = (event: Event, currentIndex: number) => {\n\tselectedDate.value = new Date(currentDates.value[currentIndex])\n\tupdateData()\n\t// TODO: (typing) figure out a way to close datepicker\n\t// context.refs.adatepicker.destroy()\n}\n\nconst updateData = () => {\n\t// TODO: check proper date format to feed back (assuming number for now)\n\ttableData.setCellData(props.rowIndex, props.colIndex, selectedDate.value.getTime())\n}\n\n// const dayWidth = computed(() => {\n// \tconst widthValue = Number(width.value.replace('px', ''))\n// \treturn `${widthValue / (numberOfColumns - 1)}px`\n// })\n\nconst monthAndYear = computed(() => {\n\treturn new Date(currentYear.value, currentMonth.value, 1).toLocaleDateString(undefined, {\n\t\tyear: 'numeric',\n\t\tmonth: 'long',\n\t})\n})\n\n// setup keyboard navigation\nuseKeyboardNav([\n\t{\n\t\tparent: 'table.adate',\n\t\tselectors: 'td',\n\t\thandlers: {\n\t\t\t...defaultKeypressHandlers,\n\t\t\t...{\n\t\t\t\t'keydown.pageup': previousMonth,\n\t\t\t\t'keydown.shift.pageup': previousYear,\n\t\t\t\t'keydown.pagedown': nextMonth,\n\t\t\t\t'keydown.shift.pagedown': nextYear,\n\t\t\t},\n\t\t},\n\t},\n])\n</script>\n\n<style scoped>\n@import '@/theme/aform.css';\n\n.adate {\n\tborder: 2px solid var(--focus-cell-outline);\n\tposition: absolute;\n\tz-index: 100;\n\tfont-size: var(--table-font-size);\n\tdisplay: inline-table;\n\tbackground-color: var(--row-color-zebra-light);\n\tcolor: var(--cell-text-color);\n\toutline: none;\n\twidth: calc(100% - 4px);\n}\n\n.adate tr {\n\theight: 1.15rem;\n\ttext-align: center;\n\tvertical-align: middle;\n}\n\n.adate td {\n\tborder: 2px solid transparent;\n\tmin-width: 2.25ch; /* this doesn't zoom correctly */\n}\n\n.adate td:hover {\n\tborder: 2px solid var(--focus-cell-outline);\n}\n\n.adate td {\n\tborder: 1px;\n\tborder-style: solid;\n\tborder-color: var(--cell-border-color);\n\tborder-radius: 0px;\n\tbox-sizing: border-box;\n\tmargin: 0px;\n\toutline: none;\n\tbox-shadow: none;\n\tcolor: var(--cell-text-color);\n\ttext-overflow: ellipsis;\n\toverflow: hidden;\n\tpadding-left: 0.5ch;\n\tpadding-right: 0.5ch;\n}\n\n.adate td:focus,\n.adate td:focus-within {\n\tbackground-color: var(--focus-cell-background);\n\toutline-width: 2px;\n\toutline-style: solid;\n\toutline-color: var(--focus-cell-outline);\n\tbox-shadow: none;\n\toverflow: hidden;\n\tmin-height: 1.15em;\n\tmax-height: 1.15em;\n\toverflow: hidden;\n}\n\nbutton {\n\tbackground-color: var(--row-color-zebra-light);\n\tborder: none;\n\tpadding: 0px;\n\tmargin: 0px;\n\tcolor: var(--cell-text-color);\n\toutline: none;\n\tfont-size: var(--table-font-size);\n}\n\n.dateheader {\n\tfont-weight: 700;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: space-between;\n}\n\n.adate .todaysdate {\n\tborder-bottom-color: var(--focus-cell-outline);\n}\n\n.adate .selecteddate {\n\tborder: 2px solid var(--focus-cell-outline);\n}\n</style>\n","<template>\n\t<div class=\"autocomplete\" :class=\"{ isOpen: isOpen }\">\n\t\t<div class=\"input-wrapper\">\n\t\t\t<input\n\t\t\t\tref=\"mopInput\"\n\t\t\t\ttype=\"text\"\n\t\t\t\t@input=\"onChange\"\n\t\t\t\t@focus=\"onChange\"\n\t\t\t\tv-model=\"search\"\n\t\t\t\t@keydown.down=\"onArrowDown\"\n\t\t\t\t@keydown.up=\"onArrowUp\"\n\t\t\t\t@keydown.enter=\"onEnter\" />\n\t\t\t<ul id=\"autocomplete-results\" v-show=\"isOpen\" class=\"autocomplete-results\">\n\t\t\t\t<li class=\"loading autocomplete-result\" v-if=\"isLoading\">Loading results...</li>\n\t\t\t\t<li\n\t\t\t\t\tv-else\n\t\t\t\t\tv-for=\"(result, i) in results\"\n\t\t\t\t\t:key=\"i\"\n\t\t\t\t\t@click=\"setResult(result)\"\n\t\t\t\t\tclass=\"autocomplete-result\"\n\t\t\t\t\t:class=\"{ 'is-active': i === arrowCounter }\">\n\t\t\t\t\t{{ result }}\n\t\t\t\t</li>\n\t\t\t</ul>\n\t\t\t<label>{{ label }}</label>\n\t\t</div>\n\t</div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent } from 'vue'\nexport default defineComponent({\n\tname: 'ADropdown',\n\tprops: {\n\t\tmodelValue: {\n\t\t\ttype: String,\n\t\t\trequired: false,\n\t\t\tdefault: '',\n\t\t},\n\t\tlabel: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tvalue: String,\n\t\titems: {\n\t\t\ttype: Array,\n\t\t\trequired: false,\n\t\t\tdefault: () => [],\n\t\t},\n\t\tisAsync: {\n\t\t\ttype: Boolean,\n\t\t\trequired: false,\n\t\t\tdefault: false,\n\t\t},\n\t},\n\temits: ['update:modelValue', 'filterChanged'],\n\tdata() {\n\t\treturn {\n\t\t\tresults: [],\n\t\t\tsearch: this.modelValue,\n\t\t\tisLoading: false,\n\t\t\tarrowCounter: 0,\n\t\t\tisOpen: false,\n\t\t}\n\t},\n\twatch: {\n\t\titems: function (value, oldValue) {\n\t\t\tthis.isLoading = false\n\t\t\tthis.results = value\n\t\t},\n\t},\n\tmounted() {\n\t\tdocument.addEventListener('click', this.handleClickOutside)\n\t\tthis.filterResults()\n\t},\n\tdestroyed() {\n\t\tdocument.removeEventListener('click', this.handleClickOutside)\n\t},\n\tmethods: {\n\t\tsetResult(result) {\n\t\t\tthis.search = result\n\t\t\tthis.closeResults()\n\t\t},\n\t\tfilterResults() {\n\t\t\tthis.results = this.items.filter(item => {\n\t\t\t\treturn item.toLowerCase().indexOf(this.search.toLowerCase()) > -1\n\t\t\t})\n\t\t},\n\t\tonChange() {\n\t\t\tthis.isOpen = true\n\t\t\tif (this.isAsync) {\n\t\t\t\tthis.isLoading = true\n\t\t\t\tthis.$emit('filterChanged', this.search)\n\t\t\t} else {\n\t\t\t\tthis.filterResults()\n\t\t\t}\n\t\t},\n\t\thandleClickOutside(event) {\n\t\t\tif (!this.$el.contains(event.target)) {\n\t\t\t\tthis.closeResults()\n\t\t\t\tthis.arrowCounter = 0\n\t\t\t}\n\t\t},\n\t\tcloseResults() {\n\t\t\tthis.isOpen = false\n\n\t\t\tif (!this.items.includes(this.search)) {\n\t\t\t\tthis.search = ''\n\t\t\t}\n\n\t\t\tthis.$emit('update:modelValue', this.search)\n\t\t},\n\t\tonArrowDown() {\n\t\t\tif (this.arrowCounter < this.results.length) {\n\t\t\t\tthis.arrowCounter = this.arrowCounter + 1\n\t\t\t}\n\t\t},\n\t\tonArrowUp() {\n\t\t\tif (this.arrowCounter > 0) {\n\t\t\t\tthis.arrowCounter = this.arrowCounter - 1\n\t\t\t}\n\t\t},\n\t\tonEnter() {\n\t\t\tthis.search = this.results[this.arrowCounter]\n\t\t\tthis.closeResults()\n\t\t\tthis.arrowCounter = 0\n\t\t},\n\t\topenWithSearch() {\n\t\t\tthis.search = ''\n\t\t\tthis.onChange()\n\t\t\tthis.$refs.mopInput.focus()\n\t\t},\n\t},\n})\n</script>\n\n<style>\n/* variables taken from here: https://github.com/frappe/frappe/blob/version-13/frappe/public/scss/common/awesomeplete.scss */\n.autocomplete {\n\tposition: relative;\n}\n\n.input-wrapper {\n\tmin-width: 40ch;\n\tborder: 1px solid transparent;\n\tpadding: 0rem;\n\tmargin: 0rem;\n\tmargin-right: 1ch;\n}\n\ninput {\n\twidth: calc(100% - 1ch);\n\toutline: 1px solid transparent;\n\tborder: 1px solid var(--input-border-color);\n\tpadding: 1ch 0.5ch 0.5ch 1ch;\n\tmargin: calc(1.15rem / 2) 0 0 0;\n\tmin-height: 1.15rem;\n\tborder-radius: 0.25rem;\n}\n\ninput:focus {\n\tborder: 1px solid var(--input-active-border-color);\n\tborder-radius: 0.25rem 0.25rem 0 0;\n\tborder-bottom: none;\n}\n\nlabel {\n\tdisplay: block;\n\tmin-height: 1.15rem;\n\tpadding: 0rem;\n\tmargin: 0rem;\n\tborder: 1px solid transparent;\n\tmargin-bottom: 0.25rem;\n\tz-index: 2;\n\tfont-size: 80%;\n\tposition: absolute;\n\tbackground: white;\n\tmargin: calc(-1.5rem - calc(2.15rem / 2)) 0 0 1ch;\n\tpadding: 0 0.25ch 0 0.25ch;\n}\n\n.autocomplete-results {\n\tposition: absolute;\n\twidth: calc(100% - 1ch + 1.5px);\n\tz-index: 1;\n\tpadding: 0;\n\tmargin: 0;\n\tcolor: #000000;\n\tborder: 1px solid var(--input-active-border-color);\n\tborder-radius: 0 0 0.25rem 0.25rem;\n\tborder-top: none;\n}\n\n.autocomplete-result {\n\tlist-style: none;\n\ttext-align: left;\n\tpadding: 4px 6px;\n\tcursor: pointer;\n}\n\n.autocomplete-result.is-active,\n.autocomplete-result:hover {\n\tbackground-color: var(--row-color-zebra-light);\n\tcolor: #000000;\n}\n</style>\n","<template>\n\t<form>\n\t\t<component\n\t\t\tv-for=\"(componentObj, key) in modelValue\"\n\t\t\t:is=\"componentObj.component\"\n\t\t\t:key=\"key\"\n\t\t\t:schema=\"componentObj\"\n\t\t\tv-model=\"childModels[key].value\"\n\t\t\t:data=\"formData[componentObj.fieldname]\"\n\t\t\t:readonly=\"readonly\"\n\t\t\tv-bind=\"componentProps(componentObj)\">\n\t\t</component>\n\t</form>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, computed } from 'vue'\n\nimport { SchemaTypes } from 'types'\n\nconst props = defineProps<{\n\tmodelValue: SchemaTypes[]\n\tdata: Record<string, any>\n\treadonly?: boolean\n}>()\n\nconst emit = defineEmits(['update:modelValue'])\n\nconst formData = ref(props.data || {})\n\nconst componentProps = (componentObj: SchemaTypes) => {\n\tlet propsToPass = {}\n\tfor (const [key, value] of Object.entries(componentObj)) {\n\t\tif (!['component', 'fieldtype'].includes(key)) {\n\t\t\tpropsToPass[key] = value\n\t\t}\n\n\t\t// handle ATable data formats in case the table is nested under an AFormm;\n\t\t// TODO: there's probably a better way to do this\n\t\tif (key === 'rows') {\n\t\t\tif (value && (value as any[]).length === 0) {\n\t\t\t\tpropsToPass['rows'] = formData.value[componentObj.fieldname]\n\t\t\t}\n\t\t}\n\t}\n\treturn propsToPass\n}\n\nconst childModels = computed({\n\tget: () => {\n\t\treturn props.modelValue.map((val, i) => {\n\t\t\treturn computed({\n\t\t\t\tget() {\n\t\t\t\t\treturn val.value\n\t\t\t\t},\n\t\t\t\tset: newValue => {\n\t\t\t\t\t// Find the component in modelValue and update it\n\t\t\t\t\tprops.modelValue[i].value = newValue\n\t\t\t\t\temit('update:modelValue', props.modelValue)\n\t\t\t\t},\n\t\t\t})\n\t\t})\n\t},\n\tset: (/* newValue */) => {\n\t\t//emit('update:modelValue', '')\n\t},\n})\n</script>\n\n<style scoped>\nform {\n\tdisplay: flex;\n\tflex-direction: row;\n\tflex-wrap: wrap;\n\tjustify-content: flex-start;\n\talign-items: baseline;\n}\n</style>\n","<template>\n\t<fieldset>\n\t\t<legend @click=\"toggleCollapse\" @submit=\"toggleCollapse\">\n\t\t\t{{ label }}\n\t\t\t<CollapseButton v-if=\"collapsible\" :collapsed=\"collapsed\" />\n\t\t</legend>\n\t\t<slot :collapsed=\"collapsed\">\n\t\t\t<AForm v-show=\"!collapsed\" v-model=\"formSchema\" :data=\"formData\" />\n\t\t</slot>\n\t</fieldset>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref } from 'vue'\n\nimport CollapseButton from '@/components/base/CollapseButton.vue'\nimport AForm from '@/components/AForm.vue'\nimport { SchemaTypes } from 'types/index'\n\nconst props = defineProps<{\n\tschema: SchemaTypes[]\n\tlabel: string\n\tcollapsible?: boolean\n\tdata?: any\n}>()\n\nconst formData = ref(props.data || [])\nlet collapsed = ref(false)\nlet collapsible = ref(props.collapsible)\n\nconst formSchema = ref(props.schema)\nfunction toggleCollapse(event: Event) {\n\tevent.preventDefault()\n\tif (!collapsible.value) {\n\t\treturn\n\t}\n\tcollapsed.value = !collapsed.value\n}\n</script>\n\n<style scoped>\nfieldset {\n\tmax-width: 100%;\n\twidth: 100%;\n\tmargin-right: 2ch;\n\tborder: 1px solid transparent;\n\tborder-bottom: 1px solid var(--gray-50);\n}\n\nlegend {\n\twidth: 100%;\n\theight: 1.15rem;\n\tborder: 1px solid transparent;\n\tpadding-bottom: 0.5rem;\n\tfont-size: 110%;\n\tfont-weight: 600;\n\tuser-select: none;\n}\n\n.collapse-button {\n\tfloat: right;\n}\n</style>\n","<template>\n\t<div>\n\t\t<input v-model=\"inputNumber\" type=\"number\" :id=\"uuid\" :disabled=\"readonly\" :required=\"required\" />\n\t\t<label :for=\"uuid\">{{ label }}</label>\n\t\t<p v-show=\"validation.errorMessage\" v-html=\"validation.errorMessage\"></p>\n\t</div>\n</template>\n\n<script setup lang=\"ts\">\nwithDefaults(\n\tdefineProps<{\n\t\tlabel: string\n\t\trequired?: boolean\n\t\treadonly?: boolean\n\t\tuuid?: string\n\t\tvalidation?: Record<string, any>\n\t}>(),\n\t{\n\t\tvalidation: () => ({ errorMessage: ' ' }),\n\t}\n)\n\nconst inputNumber = defineModel<number>()\n</script>\n\n<style scoped>\ndiv {\n\tmin-width: 40ch;\n\tborder: 1px solid transparent;\n\tpadding: 0rem;\n\tmargin: 0rem;\n\tmargin-right: 1ch;\n}\n\ninput {\n\twidth: calc(100% - 1ch);\n\toutline: 1px solid transparent;\n\tborder: 1px solid var(--input-border-color);\n\tpadding: 1ch 0.5ch 0.5ch 1ch;\n\tmargin: calc(1.15rem / 2) 0 0 0;\n\tmin-height: 1.15rem;\n\tborder-radius: 0.25rem;\n}\n\np,\nlabel {\n\tcolor: var(--input-label-color);\n\tdisplay: block;\n\tmin-height: 1.15rem;\n\tpadding: 0rem;\n\tmargin: 0rem;\n\tborder: 1px solid transparent;\n\tmargin-bottom: 0.25rem;\n}\n\np {\n\twidth: 100%;\n\tcolor: red;\n\tfont-size: 85%;\n}\n\nlabel {\n\tz-index: 2;\n\tfont-size: 80%;\n\tposition: absolute;\n\tbackground: white;\n\tmargin: calc(-1.5rem - calc(2.15rem / 2)) 0 0 1ch;\n\tpadding: 0 0.25ch 0 0.25ch;\n}\n\ninput:focus {\n\tborder: 1px solid var(--input-active-border-color);\n}\n\ninput:focus + label {\n\tcolor: var(--input-active-label-color);\n}\n</style>\n","import type { FormSchema } from 'types'\nimport { DirectiveBinding } from 'vue'\n\nconst NAMED_MASKS = {\n\tdate: '##/##/####',\n\tdatetime: '####/##/## ##:##',\n\ttime: '##:##',\n\tfulltime: '##:##:##',\n\tphone: '(###) ### - ####',\n\tcard: '#### #### #### ####',\n}\n\nfunction extractMaskFn(mask: string): ((args: any) => string) | void {\n\ttry {\n\t\t// eslint-disable-next-line @typescript-eslint/no-implied-eval\n\t\treturn Function(`\"use strict\";return (${mask})`)()\n\t} catch (error) {\n\t\tif (error instanceof ReferenceError) {\n\t\t\t// assume mask is a string\n\t\t}\n\t}\n}\n\nfunction getMask(binding: DirectiveBinding<string>) {\n\tlet mask = binding.value\n\n\tif (mask) {\n\t\tconst maskFn = extractMaskFn(mask)\n\t\tif (maskFn) {\n\t\t\t// TODO: (state) replace with state management;\n\t\t\t// pass the entire form/table data to the function\n\t\t\tconst locale = binding.instance['locale']\n\t\t\tmask = maskFn(locale)\n\t\t}\n\t} else {\n\t\t// TODO: (state) handle using state management\n\t\tconst schema: FormSchema = binding.instance['schema']\n\t\tconst fieldType: string | undefined = schema.fieldtype?.toLowerCase()\n\t\tif (fieldType && NAMED_MASKS[fieldType]) {\n\t\t\tmask = NAMED_MASKS[fieldType]\n\t\t}\n\t}\n\n\treturn mask\n}\n\nfunction unmaskInput(input: string, maskToken?: string) {\n\tif (!maskToken) {\n\t\tmaskToken = '#'\n\t}\n\n\tlet unmaskedInput = input\n\tconst maskChars = [maskToken, '/', '-', '(', ')', ' ']\n\n\tfor (const char of maskChars) {\n\t\tunmaskedInput = unmaskedInput.replaceAll(char, '')\n\t}\n\n\treturn unmaskedInput\n}\n\nfunction fillMask(input: string, mask: string, maskToken?: string) {\n\tif (!maskToken) {\n\t\tmaskToken = '#'\n\t}\n\n\tlet replacement = mask\n\tfor (const inputChar of input) {\n\t\tconst replaceIndex = replacement.indexOf(maskToken)\n\t\tif (replaceIndex !== -1) {\n\t\t\tconst prefix = replacement.substring(0, replaceIndex)\n\t\t\tconst suffix = replacement.substring(replaceIndex + 1)\n\t\t\treplacement = prefix + inputChar + suffix\n\t\t}\n\t}\n\n\treturn replacement.slice(0, mask.length)\n}\n\nexport function useStringMask(el: HTMLInputElement, binding: DirectiveBinding<string>) {\n\tconst mask = getMask(binding)\n\tif (!mask) return\n\n\tconst maskToken = '#'\n\tconst inputText = el.value\n\n\t// process input value with mask\n\tconst unmaskedInput = unmaskInput(inputText, maskToken)\n\tif (unmaskedInput) {\n\t\tconst replacement = fillMask(unmaskedInput, mask, maskToken)\n\n\t\t// TODO: (state) this is very opinionated;\n\t\t// most likely fixed with state management;\n\t\t// a better way could be to emit back to instance;\n\n\t\tif (binding.instance['maskFilled']) {\n\t\t\tbinding.instance['maskFilled'] = !replacement.includes(maskToken)\n\t\t}\n\n\t\tel.value = replacement\n\t} else {\n\t\tel.value = mask\n\t}\n}\n","<template>\n\t<div>\n\t\t<input\n\t\t\tv-model=\"inputText\"\n\t\t\t:id=\"uuid\"\n\t\t\t:disabled=\"readonly\"\n\t\t\t:maxlength=\"mask ? maskFilled && mask.length : undefined\"\n\t\t\t:required=\"required\"\n\t\t\tv-mask=\"mask\" />\n\t\t<label :for=\"uuid\">{{ label }} </label>\n\t\t<p v-show=\"validation.errorMessage\" v-html=\"validation.errorMessage\"></p>\n\t</div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, inject, PropType, ref, computed } from 'vue'\n\nimport { FormSchema } from 'types'\nimport { useStringMask } from '@/directives/mask'\n\n// TODO: when moving to composition API, figure out how to provide mask\n// as a custom directive\nexport default defineComponent({\n\tname: 'ATextInput',\n\tprops: {\n\t\tschema: {\n\t\t\ttype: Object as PropType<FormSchema>,\n\t\t\trequired: true,\n\t\t},\n\t\tlabel: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tmodelValue: {\n\t\t\ttype: null as unknown as PropType<string | number>,\n\t\t},\n\t\tmask: {\n\t\t\ttype: String,\n\t\t},\n\t\trequired: {\n\t\t\ttype: Boolean,\n\t\t},\n\t\treadonly: {\n\t\t\ttype: Boolean,\n\t\t},\n\t\tuuid: {\n\t\t\ttype: String,\n\t\t},\n\t\tvalidation: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => ({ errorMessage: ' ' }),\n\t\t},\n\t},\n\tsetup(props, context) {\n\t\tconst maskFilled = ref(false)\n\n\t\t// TODO: (state) replace with state management\n\t\tconst locale = inject<string>('locale', '')\n\n\t\tconst inputText = computed({\n\t\t\tget() {\n\t\t\t\treturn props.modelValue\n\t\t\t},\n\t\t\tset(newValue) {\n\t\t\t\tcontext.emit('update:modelValue', newValue)\n\t\t\t},\n\t\t})\n\n\t\treturn { inputText, locale, maskFilled }\n\t},\n\tdirectives: {\n\t\tmask: useStringMask,\n\t},\n})\n</script>\n\n<style scoped>\ndiv {\n\tmin-width: 40ch;\n\tborder: 1px solid transparent;\n\tpadding: 0rem;\n\tmargin: 0rem;\n\tmargin-right: 1ch;\n}\n\ninput {\n\twidth: calc(100% - 1ch);\n\toutline: 1px solid transparent;\n\tborder: 1px solid var(--input-border-color);\n\tpadding: 1ch 0.5ch 0.5ch 1ch;\n\tmargin: calc(1.15rem / 2) 0 0 0;\n\tmin-height: 1.15rem;\n\tborder-radius: 0.25rem;\n}\n\np,\nlabel {\n\tcolor: var(--input-label-color);\n\tdisplay: block;\n\tmin-height: 1.15rem;\n\tpadding: 0rem;\n\tmargin: 0rem;\n\tborder: 1px solid transparent;\n\tmargin-bottom: 0.25rem;\n}\n\np {\n\twidth: 100%;\n\tcolor: red;\n\tfont-size: 85%;\n}\n\nlabel {\n\tz-index: 2;\n\tfont-size: 80%;\n\tposition: absolute;\n\tbackground: white;\n\tmargin: calc(-1.5rem - calc(2.15rem / 2)) 0 0 1ch;\n\tpadding: 0 0.25ch 0 0.25ch;\n}\n\ninput:focus {\n\tborder: 1px solid var(--input-active-border-color);\n}\n\ninput:focus + label {\n\tcolor: var(--input-active-label-color);\n}\n</style>\n","import { App } from 'vue'\n\nimport ACheckbox from '@/components/form/ACheckbox.vue'\nimport AComboBox from '@/components/form/AComboBox.vue'\nimport ADate from '@/components/form/ADate.vue'\nimport ADropdown from '@/components/form/ADropdown.vue'\nimport AFieldset from '@/components/form/AFieldset.vue'\nimport AForm from '@/components/AForm.vue'\nimport ANumericInput from '@/components/form/ANumericInput.vue'\nimport ATextInput from '@/components/form/ATextInput.vue'\n// import { ACurrency } from '@/components/form/ACurrency.vue'\n// import { AQuantity } from '@/components/form/AQuantity.vue'\n\nfunction install(app: App /* options */) {\n\tapp.component('ACheckbox', ACheckbox)\n\tapp.component('ACombobox', AComboBox)\n\tapp.component('ADate', ADate)\n\tapp.component('ADropdown', ADropdown)\n\tapp.component('AFieldset', AFieldset)\n\tapp.component('AForm', AForm)\n\tapp.component('ANumericInput', ANumericInput)\n\tapp.component('ATextInput', ATextInput)\n\t// app.component('ACurrency', ACurrency)\n\t// app.component('AQuantity', AQuantity)\n}\n\nexport { ACheckbox, AComboBox, ADate, ADropdown, AFieldset, AForm, ANumericInput, ATextInput, install }\n"],"names":["checkbox","_useModel","__props","v","M","F","j","H","Q","q","G","U","K","y","r","N","z","n","o","l","c","a","g","p","i","C","D","d","O","T","J","B","P","X","I","Y","Z","_","ee","f","u","A","E","t","ne","s","w","x","re","k","h","S","b","L","R","m","oe","le","ie","$","W","V","numberOfRows","numberOfColumns","props","tableData","inject","todaysDate","selectedDate","ref","currentMonth","currentYear","currentDates","onMounted","cellDate","renderMonth","nextTick","$selectedDate","$todaysDate","watch","firstOfMonth","monthStartWeekday","calendarStartDay","dayIndex","previousYear","nextYear","previousMonth","nextMonth","isTodaysDate","day","isSelectedDate","selectDate","event","currentIndex","updateData","monthAndYear","computed","useKeyboardNav","defaultKeypressHandlers","_sfc_main$5","defineComponent","value","oldValue","result","item","_hoisted_1","_hoisted_2","_hoisted_3","_sfc_render","_ctx","_cache","$props","$setup","$data","isOpen","_normalizeClass","_createElementVNode","_withDirectives","search","args","$event","_withKeys","_vModelText","_openBlock","_createElementBlock","_Fragment","_renderList","setResult","_vShow","emit","__emit","formData","componentProps","componentObj","propsToPass","key","childModels","val","newValue","collapsed","collapsible","formSchema","toggleCollapse","inputNumber","NAMED_MASKS","extractMaskFn","mask","getMask","binding","maskFn","locale","fieldType","_a","unmaskInput","input","maskToken","unmaskedInput","maskChars","char","fillMask","replacement","inputChar","replaceIndex","prefix","suffix","useStringMask","el","inputText","_sfc_main","context","maskFilled","_resolveDirective","required","_directive_mask","validation","_toDisplayString","install","app","ACheckbox","AComboBox","ADate","ADropdown","AFieldset","AForm","ANumericInput","ATextInput"],"mappings":"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"}
|
package/dist/style.css
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
@import"https://fonts.googleapis.com/css2?family=Arimo:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&display=swap";@import"https://fonts.googleapis.com/css2?family=Arimo:ital,wght@0,400..700;1,400..700&display=swap";div[data-v-5093f1cb]{display:inline-block;min-width:40ch;border:1px solid transparent;padding:0rem;margin:0rem;margin-right:1ch}p[data-v-5093f1cb],label[data-v-5093f1cb]{color:var(--input-label-color);display:block;min-height:1.15rem;padding:0rem;margin:0rem 0rem .25rem;border:1px solid transparent}p[data-v-5093f1cb]{width:100%;color:red;font-size:85%}.checkbox[data-v-5093f1cb]{visibility:hidden}.checkbox+#custom-checkbox[data-v-5093f1cb]:after{content:"⬡";padding:1ch 0 .5ch;font-size:120%;cursor:pointer;position:relative;left:-18px}.checkbox:checked+#custom-checkbox[data-v-5093f1cb]:after{content:"⬣";padding:1ch 0 .5ch;font-size:120%;cursor:pointer;position:relative;left:-18px}#custom-checkbox[data-v-5093f1cb]{display:inline-block}#checkbox-container[data-v-5093f1cb]{display:inline-block;min-width:calc(100% - 1ch);outline:1px solid transparent;border:1px solid var(--input-border-color);padding:1ch .5ch .5ch 1ch;margin:.575rem 0 0;height:1.15rem;border-radius:.25rem}#checkbox-container[data-v-5093f1cb]:hover{border:1px solid var(--input-active-border-color)}#checkbox-container:hover+label[data-v-5093f1cb]{color:var(--input-active-label-color)}#checkbox-label[data-v-5093f1cb]{z-index:2;font-size:80%;position:absolute;background:#fff;margin:-2.575rem 0 0 1ch;padding:0 .25ch}[data-v-169f1184]:root{--primary-color: #0098c9;--primary-text-color: #ffffff;--brand-color: #202a44;--gray-5: #f2f2f2;--gray-10: #e6e6e6;--gray-20: #cccccc;--gray-50: #808080;--gray-60: #666666;--gray-80: #333333;--brand-danger: #e63c28;--brand-success: #155724;--row-color-zebra-light: #eeeeee;--row-color-zebra-dark: #dddddd;--focus-cell-background: #ffffff;--focus-cell-outline: #000000;--cell-border-color: #ffffff;--cell-text-color: #3a3c41;--active-cell-background: #ffffff;--active-cell-outline: #e6a92d;--row-border-color: var(--gray-20);--header-border-color: #ffffff;--header-text-color: var(--gray-20);--row-number-background-color: #ffffff;--input-border-color: var(--gray-20);--input-label-color: var(--gray-80);--input-active-border-color: #000000;--input-active-label-color: #000000;--required-border: #e63c28;--font-size: 11pt;--font-family: Arimo, Arial, sans-serif;--table-font-size: 11pt;--atable-font-family: "Arimo", sans-serif;--atable-row-padding: 0px;--atable-row-height: 1.5em;--btn-color: white;--btn-border: #cccccc;--btn-hover: #f2f2f2;--btn-label-color: black}[data-v-169f1184]:root{font-family:var(--font-family)}.aform-primary-action[data-v-169f1184]{font-size:100%;text-align:center;min-height:2em;padding:.25rem 1rem;border:1px solid var(--primary-color);color:var(--primary-text-color);background-color:var(--primary-color);outline:2px solid var(--primary-text-color);transition:outline-offset .2s ease;font-size:var(--font-size);margin:.5ch}.aform-primary-action[data-v-169f1184]:hover,.aform-primary-action[data-v-169f1184]:active{outline:2px solid var(--primary-text-color);outline-offset:-4px;transition:outline-offset .2s ease}.adate[data-v-169f1184]{border:2px solid var(--focus-cell-outline);position:absolute;z-index:100;font-size:var(--table-font-size);display:inline-table;background-color:var(--row-color-zebra-light);color:var(--cell-text-color);outline:none;width:calc(100% - 4px)}.adate tr[data-v-169f1184]{height:1.15rem;text-align:center;vertical-align:middle}.adate td[data-v-169f1184]{border:2px solid transparent;min-width:2.25ch}.adate td[data-v-169f1184]:hover{border:2px solid var(--focus-cell-outline)}.adate td[data-v-169f1184]{border:1px;border-style:solid;border-color:var(--cell-border-color);border-radius:0;box-sizing:border-box;margin:0;outline:none;box-shadow:none;color:var(--cell-text-color);text-overflow:ellipsis;overflow:hidden;padding-left:.5ch;padding-right:.5ch}.adate td[data-v-169f1184]:focus,.adate td[data-v-169f1184]:focus-within{background-color:var(--focus-cell-background);outline-width:2px;outline-style:solid;outline-color:var(--focus-cell-outline);box-shadow:none;min-height:1.15em;max-height:1.15em;overflow:hidden}button[data-v-169f1184]{background-color:var(--row-color-zebra-light);border:none;padding:0;margin:0;color:var(--cell-text-color);outline:none;font-size:var(--table-font-size)}.dateheader[data-v-169f1184]{font-weight:700;display:flex;align-items:center;justify-content:space-between}.adate .todaysdate[data-v-169f1184]{border-bottom-color:var(--focus-cell-outline)}.adate .selecteddate[data-v-169f1184]{border:2px solid var(--focus-cell-outline)}.autocomplete{position:relative}.input-wrapper{min-width:40ch;border:1px solid transparent;padding:0rem;margin:0rem;margin-right:1ch}input{width:calc(100% - 1ch);outline:1px solid transparent;border:1px solid var(--input-border-color);padding:1ch .5ch .5ch 1ch;margin:.575rem 0 0;min-height:1.15rem;border-radius:.25rem}input:focus{border:1px solid var(--input-active-border-color);border-radius:.25rem .25rem 0 0;border-bottom:none}label{display:block;min-height:1.15rem;padding:0rem;margin:0rem 0rem .25rem;border:1px solid transparent;z-index:2;font-size:80%;position:absolute;background:#fff;margin:-2.575rem 0 0 1ch;padding:0 .25ch}.autocomplete-results{position:absolute;width:calc(100% - 1ch + 1.5px);z-index:1;padding:0;margin:0;color:#000;border:1px solid var(--input-active-border-color);border-radius:0 0 .25rem .25rem;border-top:none}.autocomplete-result{list-style:none;text-align:left;padding:4px 6px;cursor:pointer}.autocomplete-result.is-active,.autocomplete-result:hover{background-color:var(--row-color-zebra-light);color:#000}.collapse-button[data-v-6f1c1b45]{width:2ch;min-width:calc(66px - 4ch);background-color:transparent;font-size:150%;text-align:center;border:none;margin-top:-.5rem}.rotated[data-v-6f1c1b45]{transform:rotate(45deg);-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg);transition:transform .25s;transform-origin:center center}.unrotated[data-v-6f1c1b45]{transform:rotate(0);-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-ms-transform:rotate(0deg);-o-transform:rotate(0deg);transition:transform .25s}form[data-v-74d66cf2]{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;align-items:baseline}fieldset[data-v-cad9b578]{max-width:100%;width:100%;margin-right:2ch;border:1px solid transparent;border-bottom:1px solid var(--gray-50)}legend[data-v-cad9b578]{width:100%;height:1.15rem;border:1px solid transparent;padding-bottom:.5rem;font-size:110%;font-weight:600;-webkit-user-select:none;user-select:none}.collapse-button[data-v-cad9b578]{float:right}div[data-v-02907cd6]{min-width:40ch;border:1px solid transparent;padding:0rem;margin:0rem;margin-right:1ch}input[data-v-02907cd6]{width:calc(100% - 1ch);outline:1px solid transparent;border:1px solid var(--input-border-color);padding:1ch .5ch .5ch 1ch;margin:.575rem 0 0;min-height:1.15rem;border-radius:.25rem}p[data-v-02907cd6],label[data-v-02907cd6]{color:var(--input-label-color);display:block;min-height:1.15rem;padding:0rem;margin:0rem 0rem .25rem;border:1px solid transparent}p[data-v-02907cd6]{width:100%;color:red;font-size:85%}label[data-v-02907cd6]{z-index:2;font-size:80%;position:absolute;background:#fff;margin:-2.575rem 0 0 1ch;padding:0 .25ch}input[data-v-02907cd6]:focus{border:1px solid var(--input-active-border-color)}input:focus+label[data-v-02907cd6]{color:var(--input-active-label-color)}div[data-v-76dba9b8]{min-width:40ch;border:1px solid transparent;padding:0rem;margin:0rem;margin-right:1ch}input[data-v-76dba9b8]{width:calc(100% - 1ch);outline:1px solid transparent;border:1px solid var(--input-border-color);padding:1ch .5ch .5ch 1ch;margin:.575rem 0 0;min-height:1.15rem;border-radius:.25rem}p[data-v-76dba9b8],label[data-v-76dba9b8]{color:var(--input-label-color);display:block;min-height:1.15rem;padding:0rem;margin:0rem 0rem .25rem;border:1px solid transparent}p[data-v-76dba9b8]{width:100%;color:red;font-size:85%}label[data-v-76dba9b8]{z-index:2;font-size:80%;position:absolute;background:#fff;margin:-2.575rem 0 0 1ch;padding:0 .25ch}input[data-v-76dba9b8]:focus{border:1px solid var(--input-active-border-color)}input:focus+label[data-v-76dba9b8]{color:var(--input-active-label-color)}
|