@stonecrop/aform 0.2.32 → 0.2.34

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,12 @@
1
1
  import ATable from '@stonecrop/atable';
2
+ export type ComponentProps = {
3
+ label?: string;
4
+ mask?: string;
5
+ required?: boolean;
6
+ readonly?: boolean;
7
+ uuid?: string;
8
+ validation?: Record<string, any>;
9
+ };
2
10
  export type BasicSchema = {
3
11
  component: string;
4
12
  fieldname: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,mBAAmB,CAAA;AAEtC,MAAM,MAAM,WAAW,GAAG;IACzB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,GAAG,CAAA;CACV,CAAA;AAED,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG;IACtC,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,OAAO,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG;IACvC,OAAO,EAAE,MAAM,CAAC,WAAW,EAAE,CAAA;IAC7B,MAAM,EAAE,MAAM,CAAC,WAAW,CAAA;IAC1B,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG;IAC1C,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,CAAC,UAAU,GAAG,WAAW,CAAC,EAAE,CAAA;IACpC,WAAW,CAAC,EAAE,OAAO,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,WAAW,GAAG,cAAc,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,mBAAmB,CAAA;AAEtC,MAAM,MAAM,cAAc,GAAG;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAChC,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACzB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,GAAG,CAAA;CACV,CAAA;AAED,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG;IACtC,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,OAAO,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG;IACvC,OAAO,EAAE,MAAM,CAAC,WAAW,EAAE,CAAA;IAC7B,MAAM,EAAE,MAAM,CAAC,WAAW,CAAA;IAC1B,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG;IAC1C,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,CAAC,UAAU,GAAG,WAAW,CAAC,EAAE,CAAA;IACpC,WAAW,CAAC,EAAE,OAAO,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,WAAW,GAAG,cAAc,CAAA"}
package/dist/style.css CHANGED
@@ -1 +1 @@
1
- @import"https://fonts.googleapis.com/css2?family=Arimo:ital,wght@0,400..700;1,400..700&display=swap";@import"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200";div[data-v-69d0f23d]{min-width:40ch;border:1px solid transparent;padding:0rem;margin:0rem;margin-right:1ch}input[data-v-69d0f23d]{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-69d0f23d],label[data-v-69d0f23d]{color:var(--input-label-color);display:block;min-height:1.15rem;padding:0rem;margin:0rem 0rem .25rem;border:1px solid transparent}p[data-v-69d0f23d]{width:100%;color:red;font-size:85%}label[data-v-69d0f23d]{z-index:2;font-size:80%;position:absolute;background:#fff;margin:-2.575rem 0 0 1ch;padding:0 .25ch}input[data-v-69d0f23d]:focus{border:1px solid var(--input-active-border-color)}input:focus+label[data-v-69d0f23d]{color:var(--input-active-label-color)}.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}.list-index{color:var(--header-text-color);font-weight:700;padding-left:var(--atable-row-padding);padding-right:1em;text-align:center;-webkit-user-select:none;user-select:none;width:var(--8d411922);max-width:var(--8d411922)}.atable #header-index{width:var(--8d411922);max-width:var(--8d411922)}.adatepicker{font-size:var(--table-font-size);display:inline-table;color:var(--cell-text-color);outline:none;border-collapse:collapse}.adatepicker tr{height:1.15rem;text-align:center;vertical-align:middle}.adatepicker td{border:2px solid transparent;outline:2px solid transparent;min-width:3ch;max-width:3ch}.adatepicker td:focus,.adatepicker td:focus-within{outline:1px dashed black;box-shadow:none;min-height:1.15em;max-height:1.15em;overflow:hidden}.adatepicker .selectedDate{outline:1px solid black;background:var(--gray-20);font-weight:bolder}.adatepicker .todaysDate{font-weight:bolder;text-decoration:underline;color:#000}.days-header>td{font-weight:700}.prev-date{color:var(--gray-20)}.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}[data-v-dc1a868d]: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-60);--input-active-border-color: #000000;--input-active-label-color: #000000;--required-border: #e63c28;--font-size: 10px;--font-family: Arimo, Arial, sans-serif;--table-font-size: 16px;--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}.aform[data-v-dc1a868d]{display:flex;flex-wrap:wrap;gap:1rem;padding:1rem;border:1px solid var(--gray-5);border-left:4px solid var(--gray-5);margin-bottom:1rem;max-width:100%}@media screen and (max-width:400px){.aform[data-v-dc1a868d]{flex-direction:column}}.aform__form-element[data-v-dc1a868d]{border:1px solid transparent;padding:0;margin:0;position:relative;box-sizing:border-box;flex-grow:1;min-width:100px}.aform__input-field[data-v-dc1a868d]{outline:1px solid transparent;border:1px solid var(--input-border-color);font-size:1rem;padding:.5rem .25rem .25rem .5rem;margin:0;border-radius:0;box-sizing:border-box;width:100%;position:relative;color:var(--cell-text-color)}.aform__field-label[data-v-dc1a868d]{color:var(--input-label-color);display:inline-block;position:absolute;padding:0 .25rem;margin:0rem;z-index:2;font-size:.7rem;font-weight:300;letter-spacing:.05rem;width:auto;box-sizing:border-box;background:#fff;margin:0;border:1px solid var(--input-border-color);grid-row:1;top:0;left:10px;border:none;transform:translateY(-50%)}p.error[data-v-dc1a868d]{display:block;display:inline-block;display:none;padding:0rem 0rem 0rem .5rem;margin:.5rem 0 .25rem 0rem;border:1px solid transparent;width:100%;width:auto;color:var(--brand-danger);font-size:.8rem;position:absolute;right:0;top:0;background:#fff;padding:.25rem;transform:translate(-1rem,-50%);margin:0}.aform__input-field[data-v-dc1a868d]:focus{border:1px solid var(--input-active-border-color)}.aform__input-field:focus+.aform__field-label[data-v-dc1a868d]{color:var(--input-active-label-color)}.aform__checkbox[data-v-dc1a868d]{cursor:pointer;width:auto;margin-top:0;display:block}.aform__checkbox[data-v-dc1a868d]:checked{accent-color:var(--primary-color);border:1px solid black}.aform__checkbox-container[data-v-dc1a868d]{width:100%;display:inline-block;text-align:left}.aform__checkbox-container input[data-v-dc1a868d]{width:auto}.aform__checkbox-container:hover+.aform__field-label[data-v-dc1a868d]{color:var(--input-active-label-color)}.aform-primary-action[data-v-dc1a868d]{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-dc1a868d]:hover,.aform-primary-action[data-v-dc1a868d]:active{outline:2px solid var(--primary-text-color);outline-offset:-4px;transition:outline-offset .2s ease}tr[data-v-dc1a868d]:focus{background-color:#add8e6;outline:auto}.aform__form-btn[data-v-dc1a868d]{padding:.5rem 2rem;width:auto;border:1px solid var(--input-border-color);color:var(--input-label-color);cursor:pointer;background-color:#fff}.aform__form-btn[data-v-dc1a868d]:disabled{background-color:var(--gray-5)}.aform__file-attach[data-v-dc1a868d]{padding:1rem;display:flex;flex-wrap:wrap;gap:1rem;flex-direction:row;justify-content:center;align-items:center;border:1px dashed var(--input-border-color);width:100%}@media screen and (max-width:400px){.aform__file-attach>.aform__form-btn[data-v-dc1a868d]{width:100%}}.aform__file-attach-feedback[data-v-dc1a868d]{color:var(--input-label-color);width:100%;padding:.5rem;text-align:center;align-self:center}.aform__file-attach-feedback[data-v-dc1a868d]>li[data-v-dc1a868d]{list-style:none;font-style:italic}.aform__file-attach-feedback[data-v-dc1a868d]>p[data-v-dc1a868d]{margin-top:0}.atable[data-v-dc1a868d]{font-family:var(--atable-font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:var(--table-font-size);border-collapse:collapse}.row-index[data-v-dc1a868d]{color:var(--header-text-color);font-weight:700;text-align:center;-webkit-user-select:none;user-select:none;width:2ch}.expandable-row[data-v-dc1a868d]{border-top:1px solid var(--row-border-color);height:var(--atable-row-height);border-left:4px solid var(--row-border-color)}.expanded-row[data-v-dc1a868d]{border-bottom:1px solid var(--row-border-color);border-top:1px solid var(--row-border-color)}.expanded-row-content[data-v-dc1a868d]{border-bottom:1px solid var(--row-border-color);border-top:1px solid var(--row-border-color);padding:1.5rem}.atable__cell[data-v-dc1a868d]{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!important;padding-right:.5ch;padding-top:var(--atable-row-padding);padding-bottom:var(--atable-row-padding);border-spacing:0px;border-collapse:collapse}.atable__cell[data-v-dc1a868d]:focus,.atable__cell[data-v-dc1a868d]: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}.table-row[data-v-dc1a868d]{border-top:1px solid var(--row-border-color);height:var(--atable-row-height)}.list-index[data-v-dc1a868d]{color:var(--header-text-color);font-weight:700;padding-left:var(--atable-row-padding);padding-right:1em;text-align:center;-webkit-user-select:none;user-select:none;width:var(--41022003);max-width:var(--41022003)}.tree-index[data-v-dc1a868d]{color:var(--header-text-color);font-weight:700;text-align:center;-webkit-user-select:none;user-select:none;width:2ch}.atable #header-index[data-v-dc1a868d]{width:var(--41022003);max-width:var(--41022003)}.atable th[data-v-dc1a868d]{border-width:0px;border-style:solid;border-radius:0;padding-left:.5ch;padding-right:.5ch;padding-top:var(--atable-row-padding);padding-bottom:var(--atable-row-padding);color:var(--gray-60);height:var(--atable-row-height);font-weight:300;letter-spacing:.05rem}.atable th[data-v-dc1a868d]:focus{outline:none}.amodal[data-v-dc1a868d]{z-index:100;position:absolute;background-color:var(--row-color-zebra-dark)}.login-container[data-v-dc1a868d]{width:100%;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:var(--font-family)}.account-container[data-v-dc1a868d]{width:100%;margin-left:auto;margin-top:.5rem;margin-right:auto;display:flex;flex-direction:column;justify-content:center}.account-header[data-v-dc1a868d]{display:flex;flex-direction:column;text-align:center;margin-top:.5rem}#account-title[data-v-dc1a868d]{font-size:1.5rem;line-height:2rem;font-weight:600;letter-spacing:-.025em;margin:0}#account-subtitle[data-v-dc1a868d]{font-size:.875rem;line-height:1.25rem;margin:1rem}.login-form-container[data-v-dc1a868d]{display:grid;gap:.5rem}.login-form-element[data-v-dc1a868d]{display:grid;margin:.5rem 0;position:relative}.login-field[data-v-dc1a868d]{padding:.5rem .25rem .25rem .5rem;outline:1px solid transparent;border:1px solid var(--input-border-color);border-radius:.25rem}.login-field[data-v-dc1a868d][data-v-dc1a868d]:focus{border:1px solid black}.btn[data-v-dc1a868d]{background-color:var(--btn-color);color:var(--btn-label-color);border:1px solid var(--btn-border);margin:.5rem 0;padding:.25rem;position:relative;cursor:pointer}.btn[data-v-dc1a868d][data-v-dc1a868d]:hover{background-color:var(--btn-hover)}.btn[data-v-dc1a868d][data-v-dc1a868d]:disabled{background-color:light-dark(rgba(239,239,239,.3),rgba(59,59,59,.3));color:light-dark(rgb(84,84,84),rgb(170,170,170))}.disabled[data-v-dc1a868d]{opacity:.5}.loading-icon[data-v-dc1a868d]{animation:spin-dc1a868d 1s linear infinite forwards;display:inline-block;margin-right:.2rem;line-height:0;font-size:1rem;position:relative;top:.2rem}@keyframes spin-dc1a868d{0%{transform:rotate(0)}to{transform:rotate(360deg)}}fieldset[data-v-b89db0c0]{max-width:100%;width:100%;margin-right:2ch;border:1px solid transparent;border-bottom:1px solid var(--gray-50)}legend[data-v-b89db0c0]{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-b89db0c0]{float:right}: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-60);--input-active-border-color: #000000;--input-active-label-color: #000000;--required-border: #e63c28;--font-size: 10px;--font-family: Arimo, Arial, sans-serif;--table-font-size: 16px;--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}.aform{display:flex;flex-wrap:wrap;gap:1rem;padding:1rem;border:1px solid var(--gray-5);border-left:4px solid var(--gray-5);margin-bottom:1rem;max-width:100%}@media screen and (max-width:400px){.aform{flex-direction:column}}.aform__form-element{border:1px solid transparent;padding:0;margin:0;position:relative;box-sizing:border-box;flex-grow:1;min-width:100px}.aform__input-field{outline:1px solid transparent;border:1px solid var(--input-border-color);font-size:1rem;padding:.5rem .25rem .25rem .5rem;margin:0;border-radius:0;box-sizing:border-box;width:100%;position:relative;color:var(--cell-text-color)}.aform__field-label{color:var(--input-label-color);display:inline-block;position:absolute;padding:0 .25rem;margin:0rem;z-index:2;font-size:.7rem;font-weight:300;letter-spacing:.05rem;width:auto;box-sizing:border-box;background:#fff;margin:0;border:1px solid var(--input-border-color);grid-row:1;top:0;left:10px;border:none;transform:translateY(-50%)}p.error{display:block;display:inline-block;display:none;padding:0rem 0rem 0rem .5rem;margin:.5rem 0 .25rem 0rem;border:1px solid transparent;width:100%;width:auto;color:var(--brand-danger);font-size:.8rem;position:absolute;right:0;top:0;background:#fff;padding:.25rem;transform:translate(-1rem,-50%);margin:0}.aform__input-field:focus{border:1px solid var(--input-active-border-color)}.aform__input-field:focus+.aform__field-label{color:var(--input-active-label-color)}.aform__checkbox{cursor:pointer;width:auto;margin-top:0;display:block}.aform__checkbox:checked{accent-color:var(--primary-color);border:1px solid black}.aform__checkbox-container{width:100%;display:inline-block;text-align:left}.aform__checkbox-container input{width:auto}.aform__checkbox-container:hover+.aform__field-label{color:var(--input-active-label-color)}.aform-primary-action{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:hover,.aform-primary-action:active{outline:2px solid var(--primary-text-color);outline-offset:-4px;transition:outline-offset .2s ease}tr:focus{background-color:#add8e6;outline:auto}.aform__form-btn{padding:.5rem 2rem;width:auto;border:1px solid var(--input-border-color);color:var(--input-label-color);cursor:pointer;background-color:#fff}.aform__form-btn:disabled{background-color:var(--gray-5)}.aform__file-attach{padding:1rem;display:flex;flex-wrap:wrap;gap:1rem;flex-direction:row;justify-content:center;align-items:center;border:1px dashed var(--input-border-color);width:100%}@media screen and (max-width:400px){.aform__file-attach>.aform__form-btn{width:100%}}.aform__file-attach-feedback{color:var(--input-label-color);width:100%;padding:.5rem;text-align:center;align-self:center}.aform__file-attach-feedback>li{list-style:none;font-style:italic}.aform__file-attach-feedback>p{margin-top:0}.atable{font-family:var(--atable-font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:var(--table-font-size);border-collapse:collapse}.row-index{color:var(--header-text-color);font-weight:700;text-align:center;-webkit-user-select:none;user-select:none;width:2ch}.expandable-row{border-top:1px solid var(--row-border-color);height:var(--atable-row-height);border-left:4px solid var(--row-border-color)}.expanded-row{border-bottom:1px solid var(--row-border-color);border-top:1px solid var(--row-border-color)}.expanded-row-content{border-bottom:1px solid var(--row-border-color);border-top:1px solid var(--row-border-color);padding:1.5rem}.atable__cell{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!important;padding-right:.5ch;padding-top:var(--atable-row-padding);padding-bottom:var(--atable-row-padding);border-spacing:0px;border-collapse:collapse}.atable__cell:focus,.atable__cell: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}.table-row{border-top:1px solid var(--row-border-color);height:var(--atable-row-height)}.list-index{color:var(--header-text-color);font-weight:700;padding-left:var(--atable-row-padding);padding-right:1em;text-align:center;-webkit-user-select:none;user-select:none;width:var(--57c024e9);max-width:var(--57c024e9)}.tree-index{color:var(--header-text-color);font-weight:700;text-align:center;-webkit-user-select:none;user-select:none;width:2ch}.atable #header-index{width:var(--57c024e9);max-width:var(--57c024e9)}.atable th{border-width:0px;border-style:solid;border-radius:0;padding-left:.5ch;padding-right:.5ch;padding-top:var(--atable-row-padding);padding-bottom:var(--atable-row-padding);color:var(--gray-60);height:var(--atable-row-height);font-weight:300;letter-spacing:.05rem}.atable th:focus{outline:none}.amodal{z-index:100;position:absolute;background-color:var(--row-color-zebra-dark)}.login-container{width:100%;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:var(--font-family)}.account-container{width:100%;margin-left:auto;margin-top:.5rem;margin-right:auto;display:flex;flex-direction:column;justify-content:center}.account-header{display:flex;flex-direction:column;text-align:center;margin-top:.5rem}#account-title{font-size:1.5rem;line-height:2rem;font-weight:600;letter-spacing:-.025em;margin:0}#account-subtitle{font-size:.875rem;line-height:1.25rem;margin:1rem}.login-form-container{display:grid;gap:.5rem}.login-form-element{display:grid;margin:.5rem 0;position:relative}.login-field{padding:.5rem .25rem .25rem .5rem;outline:1px solid transparent;border:1px solid var(--input-border-color);border-radius:.25rem}.login-field:focus{border:1px solid black}.btn{background-color:var(--btn-color);color:var(--btn-label-color);border:1px solid var(--btn-border);margin:.5rem 0;padding:.25rem;position:relative;cursor:pointer}.btn:hover{background-color:var(--btn-hover)}.btn:disabled{background-color:light-dark(rgba(239,239,239,.3),rgba(59,59,59,.3));color:light-dark(rgb(84,84,84),rgb(170,170,170))}.disabled{opacity:.5}.loading-icon{animation:spin 1s linear infinite forwards;display:inline-block;margin-right:.2rem;line-height:0;font-size:1rem;position:relative;top:.2rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
1
+ @import"https://fonts.googleapis.com/css2?family=Arimo:ital,wght@0,400..700;1,400..700&display=swap";@import"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200";div[data-v-6a48e3a6]{min-width:40ch;border:1px solid transparent;padding:0rem;margin:0rem;margin-right:1ch}input[data-v-6a48e3a6]{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-6a48e3a6],label[data-v-6a48e3a6]{color:var(--input-label-color);display:block;min-height:1.15rem;padding:0rem;margin:0rem 0rem .25rem;border:1px solid transparent}p[data-v-6a48e3a6]{width:100%;color:red;font-size:85%}label[data-v-6a48e3a6]{z-index:2;font-size:80%;position:absolute;background:#fff;margin:-2.575rem 0 0 1ch;padding:0 .25ch}input[data-v-6a48e3a6]:focus{border:1px solid var(--input-active-border-color)}input:focus+label[data-v-6a48e3a6]{color:var(--input-active-label-color)}.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}.list-index{color:var(--header-text-color);font-weight:700;padding-left:var(--atable-row-padding);padding-right:1em;text-align:center;-webkit-user-select:none;user-select:none;width:var(--ffc64020);max-width:var(--ffc64020)}.atable #header-index{width:var(--ffc64020);max-width:var(--ffc64020)}.adatepicker{font-size:var(--table-font-size);display:inline-table;color:var(--cell-text-color);outline:none;border-collapse:collapse}.adatepicker tr{height:1.15rem;text-align:center;vertical-align:middle}.adatepicker td{border:2px solid transparent;outline:2px solid transparent;min-width:3ch;max-width:3ch}.adatepicker td:focus,.adatepicker td:focus-within{outline:1px dashed black;box-shadow:none;min-height:1.15em;max-height:1.15em;overflow:hidden}.adatepicker .selectedDate{outline:1px solid black;background:var(--gray-20);font-weight:bolder}.adatepicker .todaysDate{font-weight:bolder;text-decoration:underline;color:#000}.days-header>td{font-weight:700}.prev-date{color:var(--gray-20)}.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}[data-v-15ed36be]: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-60);--input-active-border-color: #000000;--input-active-label-color: #000000;--required-border: #e63c28;--font-size: 10px;--font-family: Arimo, Arial, sans-serif;--table-font-size: 16px;--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}.aform[data-v-15ed36be]{display:flex;flex-wrap:wrap;gap:1rem;padding:1rem;border:1px solid var(--gray-5);border-left:4px solid var(--gray-5);margin-bottom:1rem;max-width:100%}@media screen and (max-width:400px){.aform[data-v-15ed36be]{flex-direction:column}}.aform__form-element[data-v-15ed36be]{border:1px solid transparent;padding:0;margin:0;position:relative;box-sizing:border-box;flex-grow:1;min-width:100px}.aform__input-field[data-v-15ed36be]{outline:1px solid transparent;border:1px solid var(--input-border-color);font-size:1rem;padding:.5rem .25rem .25rem .5rem;margin:0;border-radius:0;box-sizing:border-box;width:100%;position:relative;color:var(--cell-text-color)}.aform__field-label[data-v-15ed36be]{color:var(--input-label-color);display:inline-block;position:absolute;padding:0 .25rem;margin:0rem;z-index:2;font-size:.7rem;font-weight:300;letter-spacing:.05rem;width:auto;box-sizing:border-box;background:#fff;margin:0;border:1px solid var(--input-border-color);grid-row:1;top:0;left:10px;border:none;transform:translateY(-50%)}p.error[data-v-15ed36be]{display:block;display:inline-block;display:none;padding:0rem 0rem 0rem .5rem;margin:.5rem 0 .25rem 0rem;border:1px solid transparent;width:100%;width:auto;color:var(--brand-danger);font-size:.8rem;position:absolute;right:0;top:0;background:#fff;padding:.25rem;transform:translate(-1rem,-50%);margin:0}.aform__input-field[data-v-15ed36be]:focus{border:1px solid var(--input-active-border-color)}.aform__input-field:focus+.aform__field-label[data-v-15ed36be]{color:var(--input-active-label-color)}.aform__checkbox[data-v-15ed36be]{cursor:pointer;width:auto;margin-top:0;display:block}.aform__checkbox[data-v-15ed36be]:checked{accent-color:var(--primary-color);border:1px solid black}.aform__checkbox-container[data-v-15ed36be]{width:100%;display:inline-block;text-align:left}.aform__checkbox-container input[data-v-15ed36be]{width:auto}.aform__checkbox-container:hover+.aform__field-label[data-v-15ed36be]{color:var(--input-active-label-color)}.aform-primary-action[data-v-15ed36be]{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-15ed36be]:hover,.aform-primary-action[data-v-15ed36be]:active{outline:2px solid var(--primary-text-color);outline-offset:-4px;transition:outline-offset .2s ease}tr[data-v-15ed36be]:focus{background-color:#add8e6;outline:auto}.aform__form-btn[data-v-15ed36be]{padding:.5rem 2rem;width:auto;border:1px solid var(--input-border-color);color:var(--input-label-color);cursor:pointer;background-color:#fff}.aform__form-btn[data-v-15ed36be]:disabled{background-color:var(--gray-5)}.aform__file-attach[data-v-15ed36be]{padding:1rem;display:flex;flex-wrap:wrap;gap:1rem;flex-direction:row;justify-content:center;align-items:center;border:1px dashed var(--input-border-color);width:100%}@media screen and (max-width:400px){.aform__file-attach>.aform__form-btn[data-v-15ed36be]{width:100%}}.aform__file-attach-feedback[data-v-15ed36be]{color:var(--input-label-color);width:100%;padding:.5rem;text-align:center;align-self:center}.aform__file-attach-feedback>li[data-v-15ed36be]{list-style:none;font-style:italic}.aform__file-attach-feedback>p[data-v-15ed36be]{margin-top:0}.atable[data-v-15ed36be]{font-family:var(--atable-font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:var(--table-font-size);border-collapse:collapse}.row-index[data-v-15ed36be]{color:var(--header-text-color);font-weight:700;text-align:center;-webkit-user-select:none;user-select:none;width:2ch}.expandable-row[data-v-15ed36be]{border-top:1px solid var(--row-border-color);height:var(--atable-row-height);border-left:4px solid var(--row-border-color)}.expanded-row[data-v-15ed36be]{border-bottom:1px solid var(--row-border-color);border-top:1px solid var(--row-border-color)}.expanded-row-content[data-v-15ed36be]{border-bottom:1px solid var(--row-border-color);border-top:1px solid var(--row-border-color);padding:1.5rem}.atable__cell[data-v-15ed36be]{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!important;padding-right:.5ch;padding-top:var(--atable-row-padding);padding-bottom:var(--atable-row-padding);border-spacing:0px;border-collapse:collapse}.atable__cell[data-v-15ed36be]:focus,.atable__cell[data-v-15ed36be]: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}.table-row[data-v-15ed36be]{border-top:1px solid var(--row-border-color);height:var(--atable-row-height)}.list-index[data-v-15ed36be]{color:var(--header-text-color);font-weight:700;padding-left:var(--atable-row-padding);padding-right:1em;text-align:center;-webkit-user-select:none;user-select:none;width:var(--3b2daff3);max-width:var(--3b2daff3)}.tree-index[data-v-15ed36be]{color:var(--header-text-color);font-weight:700;text-align:center;-webkit-user-select:none;user-select:none;width:2ch}.atable #header-index[data-v-15ed36be]{width:var(--3b2daff3);max-width:var(--3b2daff3)}.atable th[data-v-15ed36be]{border-width:0px;border-style:solid;border-radius:0;padding-left:.5ch;padding-right:.5ch;padding-top:var(--atable-row-padding);padding-bottom:var(--atable-row-padding);color:var(--gray-60);height:var(--atable-row-height);font-weight:300;letter-spacing:.05rem}.atable th[data-v-15ed36be]:focus{outline:none}.amodal[data-v-15ed36be]{z-index:100;position:absolute;background-color:var(--row-color-zebra-dark)}.login-container[data-v-15ed36be]{width:100%;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:var(--font-family)}.account-container[data-v-15ed36be]{width:100%;margin-left:auto;margin-top:.5rem;margin-right:auto;display:flex;flex-direction:column;justify-content:center}.account-header[data-v-15ed36be]{display:flex;flex-direction:column;text-align:center;margin-top:.5rem}#account-title[data-v-15ed36be]{font-size:1.5rem;line-height:2rem;font-weight:600;letter-spacing:-.025em;margin:0}#account-subtitle[data-v-15ed36be]{font-size:.875rem;line-height:1.25rem;margin:1rem}.login-form-container[data-v-15ed36be]{display:grid;gap:.5rem}.login-form-element[data-v-15ed36be]{display:grid;margin:.5rem 0;position:relative}.login-field[data-v-15ed36be]{padding:.5rem .25rem .25rem .5rem;outline:1px solid transparent;border:1px solid var(--input-border-color);border-radius:.25rem}.login-field[data-v-15ed36be]:focus{border:1px solid black}.btn[data-v-15ed36be]{background-color:var(--btn-color);color:var(--btn-label-color);border:1px solid var(--btn-border);margin:.5rem 0;padding:.25rem;position:relative;cursor:pointer}.btn[data-v-15ed36be]:hover{background-color:var(--btn-hover)}.btn[data-v-15ed36be]:disabled{background-color:light-dark(rgba(239,239,239,.3),rgba(59,59,59,.3));color:light-dark(rgb(84,84,84),rgb(170,170,170))}.disabled[data-v-15ed36be]{opacity:.5}.loading-icon[data-v-15ed36be]{animation:spin-15ed36be 1s linear infinite forwards;display:inline-block;margin-right:.2rem;line-height:0;font-size:1rem;position:relative;top:.2rem}@keyframes spin-15ed36be{0%{transform:rotate(0)}to{transform:rotate(360deg)}}fieldset[data-v-620f821b]{max-width:100%;width:100%;margin-right:2ch;border:1px solid transparent;border-bottom:1px solid var(--gray-50)}legend[data-v-620f821b]{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-620f821b]{float:right}: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-60);--input-active-border-color: #000000;--input-active-label-color: #000000;--required-border: #e63c28;--font-size: 10px;--font-family: Arimo, Arial, sans-serif;--table-font-size: 16px;--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}.aform{display:flex;flex-wrap:wrap;gap:1rem;padding:1rem;border:1px solid var(--gray-5);border-left:4px solid var(--gray-5);margin-bottom:1rem;max-width:100%}@media screen and (max-width:400px){.aform{flex-direction:column}}.aform__form-element{border:1px solid transparent;padding:0;margin:0;position:relative;box-sizing:border-box;flex-grow:1;min-width:100px}.aform__input-field{outline:1px solid transparent;border:1px solid var(--input-border-color);font-size:1rem;padding:.5rem .25rem .25rem .5rem;margin:0;border-radius:0;box-sizing:border-box;width:100%;position:relative;color:var(--cell-text-color)}.aform__field-label{color:var(--input-label-color);display:inline-block;position:absolute;padding:0 .25rem;margin:0rem;z-index:2;font-size:.7rem;font-weight:300;letter-spacing:.05rem;width:auto;box-sizing:border-box;background:#fff;margin:0;border:1px solid var(--input-border-color);grid-row:1;top:0;left:10px;border:none;transform:translateY(-50%)}p.error{display:block;display:inline-block;display:none;padding:0rem 0rem 0rem .5rem;margin:.5rem 0 .25rem 0rem;border:1px solid transparent;width:100%;width:auto;color:var(--brand-danger);font-size:.8rem;position:absolute;right:0;top:0;background:#fff;padding:.25rem;transform:translate(-1rem,-50%);margin:0}.aform__input-field:focus{border:1px solid var(--input-active-border-color)}.aform__input-field:focus+.aform__field-label{color:var(--input-active-label-color)}.aform__checkbox{cursor:pointer;width:auto;margin-top:0;display:block}.aform__checkbox:checked{accent-color:var(--primary-color);border:1px solid black}.aform__checkbox-container{width:100%;display:inline-block;text-align:left}.aform__checkbox-container input{width:auto}.aform__checkbox-container:hover+.aform__field-label{color:var(--input-active-label-color)}.aform-primary-action{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:hover,.aform-primary-action:active{outline:2px solid var(--primary-text-color);outline-offset:-4px;transition:outline-offset .2s ease}tr:focus{background-color:#add8e6;outline:auto}.aform__form-btn{padding:.5rem 2rem;width:auto;border:1px solid var(--input-border-color);color:var(--input-label-color);cursor:pointer;background-color:#fff}.aform__form-btn:disabled{background-color:var(--gray-5)}.aform__file-attach{padding:1rem;display:flex;flex-wrap:wrap;gap:1rem;flex-direction:row;justify-content:center;align-items:center;border:1px dashed var(--input-border-color);width:100%}@media screen and (max-width:400px){.aform__file-attach>.aform__form-btn{width:100%}}.aform__file-attach-feedback{color:var(--input-label-color);width:100%;padding:.5rem;text-align:center;align-self:center}.aform__file-attach-feedback>li{list-style:none;font-style:italic}.aform__file-attach-feedback>p{margin-top:0}.atable{font-family:var(--atable-font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:var(--table-font-size);border-collapse:collapse}.row-index{color:var(--header-text-color);font-weight:700;text-align:center;-webkit-user-select:none;user-select:none;width:2ch}.expandable-row{border-top:1px solid var(--row-border-color);height:var(--atable-row-height);border-left:4px solid var(--row-border-color)}.expanded-row{border-bottom:1px solid var(--row-border-color);border-top:1px solid var(--row-border-color)}.expanded-row-content{border-bottom:1px solid var(--row-border-color);border-top:1px solid var(--row-border-color);padding:1.5rem}.atable__cell{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!important;padding-right:.5ch;padding-top:var(--atable-row-padding);padding-bottom:var(--atable-row-padding);border-spacing:0px;border-collapse:collapse}.atable__cell:focus,.atable__cell: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}.table-row{border-top:1px solid var(--row-border-color);height:var(--atable-row-height)}.list-index{color:var(--header-text-color);font-weight:700;padding-left:var(--atable-row-padding);padding-right:1em;text-align:center;-webkit-user-select:none;user-select:none;width:var(--f6c1daec);max-width:var(--f6c1daec)}.tree-index{color:var(--header-text-color);font-weight:700;text-align:center;-webkit-user-select:none;user-select:none;width:2ch}.atable #header-index{width:var(--f6c1daec);max-width:var(--f6c1daec)}.atable th{border-width:0px;border-style:solid;border-radius:0;padding-left:.5ch;padding-right:.5ch;padding-top:var(--atable-row-padding);padding-bottom:var(--atable-row-padding);color:var(--gray-60);height:var(--atable-row-height);font-weight:300;letter-spacing:.05rem}.atable th:focus{outline:none}.amodal{z-index:100;position:absolute;background-color:var(--row-color-zebra-dark)}.login-container{width:100%;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:var(--font-family)}.account-container{width:100%;margin-left:auto;margin-top:.5rem;margin-right:auto;display:flex;flex-direction:column;justify-content:center}.account-header{display:flex;flex-direction:column;text-align:center;margin-top:.5rem}#account-title{font-size:1.5rem;line-height:2rem;font-weight:600;letter-spacing:-.025em;margin:0}#account-subtitle{font-size:.875rem;line-height:1.25rem;margin:1rem}.login-form-container{display:grid;gap:.5rem}.login-form-element{display:grid;margin:.5rem 0;position:relative}.login-field{padding:.5rem .25rem .25rem .5rem;outline:1px solid transparent;border:1px solid var(--input-border-color);border-radius:.25rem}.login-field:focus{border:1px solid black}.btn{background-color:var(--btn-color);color:var(--btn-label-color);border:1px solid var(--btn-border);margin:.5rem 0;padding:.25rem;position:relative;cursor:pointer}.btn:hover{background-color:var(--btn-hover)}.btn:disabled{background-color:light-dark(rgba(239,239,239,.3),rgba(59,59,59,.3));color:light-dark(rgb(84,84,84),rgb(170,170,170))}.disabled{opacity:.5}.loading-icon{animation:spin 1s linear infinite forwards;display:inline-block;margin-right:.2rem;line-height:0;font-size:1rem;position:relative;top:.2rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stonecrop/aform",
3
- "version": "0.2.32",
3
+ "version": "0.2.34",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "author": {
@@ -31,17 +31,17 @@
31
31
  "src/*"
32
32
  ],
33
33
  "dependencies": {
34
- "@vueuse/core": "^10.11.0",
35
- "vue": "^3.4.31",
36
- "@stonecrop/themes": "0.2.32",
37
- "@stonecrop/utilities": "0.2.32"
34
+ "@vueuse/core": "^11.1.0",
35
+ "vue": "^3.5.6",
36
+ "@stonecrop/themes": "0.2.34",
37
+ "@stonecrop/utilities": "0.2.34"
38
38
  },
39
39
  "devDependencies": {
40
40
  "@microsoft/api-documenter": "^7.25.3",
41
- "@rushstack/heft": "^0.66.18",
41
+ "@rushstack/heft": "^0.67.2",
42
42
  "@typescript-eslint/eslint-plugin": "^7.14.1",
43
43
  "@typescript-eslint/parser": "^7.14.1",
44
- "@vitejs/plugin-vue": "^5.0.5",
44
+ "@vitejs/plugin-vue": "^5.1.3",
45
45
  "@vitest/coverage-istanbul": "^2.1.1",
46
46
  "@vitest/ui": "^2.1.1",
47
47
  "@vue/test-utils": "^2.4.6",
@@ -51,14 +51,14 @@
51
51
  "eslint": "^8.40.0",
52
52
  "jsdom": "^25.0.0",
53
53
  "typescript": "^5.5.2",
54
- "vite": "^5.3.2",
54
+ "vite": "^5.4.5",
55
55
  "vitest": "^2.1.1",
56
56
  "vue-router": "^4.4.0",
57
- "@stonecrop/atable": "0.2.32",
58
- "stonecrop-rig": "0.2.22"
57
+ "stonecrop-rig": "0.2.22",
58
+ "@stonecrop/atable": "0.2.34"
59
59
  },
60
60
  "peerDependencies": {
61
- "@stonecrop/atable": "0.2.32"
61
+ "@stonecrop/atable": "0.2.34"
62
62
  },
63
63
  "publishConfig": {
64
64
  "access": "public"
@@ -18,15 +18,14 @@ import { ref, computed } from 'vue'
18
18
 
19
19
  import type { SchemaTypes } from '@/types'
20
20
 
21
- const props = defineProps<{
21
+ const emit = defineEmits(['update:modelValue'])
22
+ const { modelValue, data, readonly } = defineProps<{
22
23
  modelValue: SchemaTypes[]
23
24
  data: Record<string, any>
24
25
  readonly?: boolean
25
26
  }>()
26
27
 
27
- const emit = defineEmits(['update:modelValue'])
28
-
29
- const formData = ref(props.data || {})
28
+ const formData = ref(data || {})
30
29
 
31
30
  const componentProps = (componentObj: SchemaTypes) => {
32
31
  let propsToPass = {}
@@ -48,7 +47,7 @@ const componentProps = (componentObj: SchemaTypes) => {
48
47
 
49
48
  const childModels = computed({
50
49
  get: () => {
51
- return props.modelValue.map((val, i) => {
50
+ return modelValue.map((val, i) => {
52
51
  return computed({
53
52
  get() {
54
53
  return val.value
@@ -56,8 +55,8 @@ const childModels = computed({
56
55
  set: newValue => {
57
56
  // Find the component in modelValue and update it
58
57
  // eslint-disable-next-line vue/no-mutating-props
59
- props.modelValue[i].value = newValue
60
- emit('update:modelValue', props.modelValue)
58
+ modelValue[i].value = newValue
59
+ emit('update:modelValue', modelValue)
61
60
  },
62
61
  })
63
62
  })
@@ -7,7 +7,7 @@
7
7
  type="checkbox"
8
8
  :id="uuid"
9
9
  class="aform__checkbox"
10
- :readonly="readOnly"
10
+ :readonly="readonly"
11
11
  :required="required" />
12
12
  </span>
13
13
  <p class="error" v-show="validation.errorMessage" v-html="validation.errorMessage"></p>
@@ -17,18 +17,8 @@
17
17
  <script setup lang="ts">
18
18
  import { InputHTMLAttributes } from 'vue'
19
19
 
20
- withDefaults(
21
- defineProps<{
22
- label?: string
23
- required?: boolean
24
- readOnly?: boolean
25
- uuid?: string
26
- validation?: Record<string, any>
27
- }>(),
28
- {
29
- validation: () => ({ errorMessage: '&nbsp;' }),
30
- }
31
- )
20
+ import { ComponentProps } from '@/types'
32
21
 
22
+ const { label, required, readonly, uuid, validation = { errorMessage: '&nbsp;' } } = defineProps<ComponentProps>()
33
23
  const checkbox = defineModel<InputHTMLAttributes['checked']>()
34
24
  </script>
@@ -1,7 +1,7 @@
1
1
  <template>
2
2
  <div>
3
3
  <input
4
- ref="dateRef"
4
+ ref="date"
5
5
  type="date"
6
6
  :id="uuid"
7
7
  :disabled="readonly"
@@ -14,24 +14,20 @@
14
14
  </template>
15
15
 
16
16
  <script setup lang="ts">
17
- import { ref } from 'vue'
17
+ import { useTemplateRef } from 'vue'
18
18
 
19
- withDefaults(
20
- defineProps<{
21
- label?: string
22
- required?: boolean
23
- readonly?: boolean
24
- uuid?: string
25
- validation?: Record<string, any>
26
- }>(),
27
- {
28
- label: 'Date',
29
- validation: () => ({ errorMessage: '&nbsp;' }),
30
- }
31
- )
19
+ import { ComponentProps } from '@/types'
20
+
21
+ const {
22
+ label = 'Date',
23
+ required,
24
+ readonly,
25
+ uuid,
26
+ validation = { errorMessage: '&nbsp;' },
27
+ } = defineProps<ComponentProps>()
32
28
 
33
29
  const inputDate = defineModel<string | number | Date>()
34
- const dateRef = ref<HTMLInputElement | null>(null)
30
+ const dateRef = useTemplateRef<HTMLInputElement>('date')
35
31
 
36
32
  const showPicker = () => {
37
33
  if (dateRef.value) {
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <div class="adatepicker" tabindex="0" ref="adatepicker">
2
+ <div class="adatepicker" tabindex="0" ref="datepicker">
3
3
  <table>
4
4
  <tr>
5
5
  <td id="previous-month-btn" @click="previousMonth" :tabindex="-1">&lt;</td>
@@ -16,6 +16,7 @@
16
16
  <td>S</td>
17
17
  </tr>
18
18
  <tr v-for="rowNo in numberOfRows" :key="rowNo">
19
+ <!-- the 'ref' key is currently only used for test references -->
19
20
  <td
20
21
  v-for="colNo in numberOfColumns"
21
22
  ref="celldate"
@@ -38,7 +39,7 @@
38
39
 
39
40
  <script setup lang="ts">
40
41
  import { defaultKeypressHandlers, useKeyboardNav } from '@stonecrop/utilities'
41
- import { computed, nextTick, onMounted, ref, watch } from 'vue'
42
+ import { computed, nextTick, onMounted, ref, useTemplateRef, watch } from 'vue'
42
43
 
43
44
  const numberOfRows = 6
44
45
  const numberOfColumns = 7
@@ -48,7 +49,7 @@ const selectedDate = ref(new Date(date.value))
48
49
  const currentMonth = ref<number>(selectedDate.value.getMonth())
49
50
  const currentYear = ref<number>(selectedDate.value.getFullYear())
50
51
  const currentDates = ref<number[]>([])
51
- const adatepicker = ref<HTMLElement | null>(null)
52
+ const datepickerRef = useTemplateRef<HTMLDivElement>('datepicker')
52
53
 
53
54
  onMounted(async () => {
54
55
  populateMonth()
@@ -135,7 +136,7 @@ const monthAndYear = computed(() => {
135
136
  // setup keyboard navigation
136
137
  useKeyboardNav([
137
138
  {
138
- parent: adatepicker,
139
+ parent: datepickerRef,
139
140
  selectors: 'td',
140
141
  handlers: {
141
142
  ...defaultKeypressHandlers,
@@ -29,9 +29,9 @@
29
29
  </template>
30
30
 
31
31
  <script setup lang="ts">
32
- import { onMounted, onUnmounted, ref } from 'vue'
32
+ import { onMounted, onUnmounted, ref /* useTemplateRef */ } from 'vue'
33
33
 
34
- const props = defineProps<{
34
+ const { label, items, isAsync } = defineProps<{
35
35
  label: string
36
36
  items?: string[]
37
37
  isAsync?: boolean
@@ -39,12 +39,12 @@ const props = defineProps<{
39
39
 
40
40
  const emit = defineEmits(['filterChanged'])
41
41
 
42
- const results = ref(props.items)
42
+ const results = ref(items)
43
43
  const search = defineModel<string>()
44
44
  const isLoading = ref(false)
45
45
  const arrowCounter = ref(0)
46
46
  const isOpen = ref(false)
47
- const mopInput = ref(null)
47
+ // const mopInput = useTemplateRef<HTMLInputElement>('mopInput')
48
48
 
49
49
  onMounted(() => {
50
50
  document.addEventListener('click', handleClickOutside)
@@ -62,9 +62,9 @@ const setResult = result => {
62
62
 
63
63
  const filterResults = () => {
64
64
  if (!search.value) {
65
- results.value = props.items
65
+ results.value = items
66
66
  } else {
67
- results.value = props.items.filter(item => {
67
+ results.value = items.filter(item => {
68
68
  return item.toLowerCase().indexOf(search.value.toLowerCase()) > -1
69
69
  })
70
70
  }
@@ -72,7 +72,7 @@ const filterResults = () => {
72
72
 
73
73
  const onChange = () => {
74
74
  isOpen.value = true
75
- if (props.isAsync) {
75
+ if (isAsync) {
76
76
  isLoading.value = true
77
77
  emit('filterChanged', search.value)
78
78
  } else {
@@ -89,7 +89,7 @@ const closeResults = () => {
89
89
  isOpen.value = false
90
90
 
91
91
  // TODO: (test) when would this occur? how should this be tested?
92
- if (!props.items.includes(search.value)) {
92
+ if (!items.includes(search.value)) {
93
93
  search.value = ''
94
94
  }
95
95
  }
@@ -17,24 +17,22 @@ import CollapseButton from '@/components/base/CollapseButton.vue'
17
17
  import AForm from '@/components/AForm.vue'
18
18
  import { SchemaTypes } from '@/types'
19
19
 
20
- const props = defineProps<{
20
+ const { schema, label, collapsible, data } = defineProps<{
21
21
  schema: SchemaTypes[]
22
22
  label: string
23
23
  collapsible?: boolean
24
24
  data?: any
25
25
  }>()
26
26
 
27
- const formData = ref(props.data || [])
28
27
  const collapsed = ref(false)
29
- const collapsible = ref(props.collapsible)
28
+ const formData = ref(data || [])
29
+ const formSchema = ref(schema)
30
30
 
31
- const formSchema = ref(props.schema)
32
- function toggleCollapse(event: Event) {
31
+ const toggleCollapse = (event: Event) => {
33
32
  event.preventDefault()
34
- if (!collapsible.value) {
35
- return
33
+ if (collapsible) {
34
+ collapsed.value = !collapsed.value
36
35
  }
37
- collapsed.value = !collapsed.value
38
36
  }
39
37
  </script>
40
38
 
@@ -1,19 +1,18 @@
1
1
  <template>
2
2
  <div class="aform__form-element aform__file-attach aform__grid--full">
3
-
4
-
5
3
  <template v-if="files">
6
4
  <div class="aform__file-attach-feedback">
7
5
  <p>
8
- You have selected: <b>{{ `${files.length} ${files.length === 1 ? 'file' : 'files'}` }}</b>
6
+ You have selected: <b>{{ fileLengthText }}</b>
9
7
  </p>
10
8
  <li v-for="file of files" :key="file.name">
11
9
  {{ file.name }}
12
10
  </li>
13
11
  </div>
14
12
  </template>
13
+
15
14
  <button type="button" @click="open()" class="aform__form-btn">
16
- {{ props.label }}
15
+ {{ label }}
17
16
  </button>
18
17
  <button type="button" :disabled="!files" @click="reset()" class="aform__form-btn">Reset</button>
19
18
  </div>
@@ -21,18 +20,14 @@
21
20
 
22
21
  <script setup lang="ts">
23
22
  import { useFileDialog } from '@vueuse/core'
24
- import { SchemaTypes } from 'types/index'
25
-
26
- const props = defineProps<{
27
- schema: SchemaTypes[]
28
- label: string
29
- collapsible?: boolean
30
- data?: any
31
- }>()
23
+ import { computed } from 'vue'
32
24
 
25
+ const { label } = defineProps<{ label: string }>()
33
26
  const { files, open, reset, onChange } = useFileDialog()
34
27
 
35
- onChange(files => {
36
- return files
28
+ const fileLengthText = computed(() => {
29
+ return `${files.value.length} ${files.value.length === 1 ? 'file' : 'files'}`
37
30
  })
31
+
32
+ onChange(files => files)
38
33
  </script>
@@ -13,18 +13,8 @@
13
13
  </template>
14
14
 
15
15
  <script setup lang="ts">
16
- withDefaults(
17
- defineProps<{
18
- label: string
19
- required?: boolean
20
- readonly?: boolean
21
- uuid?: string
22
- validation?: Record<string, any>
23
- }>(),
24
- {
25
- validation: () => ({ errorMessage: '&nbsp;' }),
26
- }
27
- )
16
+ import { ComponentProps } from '@/types'
28
17
 
18
+ const { label, required, readonly, uuid, validation = { errorMessage: '&nbsp;' } } = defineProps<ComponentProps>()
29
19
  const inputNumber = defineModel<number>()
30
20
  </script>
@@ -17,22 +17,9 @@
17
17
  import { /* inject, */ ref } from 'vue'
18
18
 
19
19
  import { useStringMask as vMask } from '@/directives/mask'
20
- import type { FormSchema } from '@/types'
20
+ import { ComponentProps } from '@/types'
21
21
 
22
- withDefaults(
23
- defineProps<{
24
- schema: FormSchema
25
- label: string
26
- mask?: string
27
- required?: boolean
28
- readonly?: boolean
29
- uuid?: string
30
- validation?: { errorMessage: string }
31
- }>(),
32
- {
33
- validation: () => ({ errorMessage: '&nbsp;' }),
34
- }
35
- )
22
+ const { label, mask, required, readonly, uuid, validation = { errorMessage: '&nbsp;' } } = defineProps<ComponentProps>()
36
23
 
37
24
  // TODO: setup maskFilled as a computed property
38
25
  const maskFilled = ref(true)
@@ -53,16 +53,10 @@
53
53
  <script setup lang="ts">
54
54
  import { ref } from 'vue'
55
55
 
56
- withDefaults(
57
- defineProps<{
58
- headerTitle?: string
59
- headerSubtitle?: string
60
- }>(),
61
- {
62
- headerTitle: 'Login',
63
- headerSubtitle: 'Enter your email and password to login',
64
- }
65
- )
56
+ const { headerTitle = 'Login', headerSubtitle = 'Enter your email and password to login' } = defineProps<{
57
+ headerTitle?: string
58
+ headerSubtitle?: string
59
+ }>()
66
60
 
67
61
  const emit = defineEmits(['loginFailed', 'loginSuccess'])
68
62
 
@@ -1,5 +1,14 @@
1
1
  import ATable from '@stonecrop/atable'
2
2
 
3
+ export type ComponentProps = {
4
+ label?: string
5
+ mask?: string
6
+ required?: boolean
7
+ readonly?: boolean
8
+ uuid?: string
9
+ validation?: Record<string, any>
10
+ }
11
+
3
12
  export type BasicSchema = {
4
13
  component: string
5
14
  fieldname: string