@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.
- package/dist/aform/src/tsdoc-metadata.json +1 -1
- package/dist/aform.js +468 -472
- package/dist/aform.js.map +1 -1
- package/dist/aform.umd.cjs +1 -1
- package/dist/aform.umd.cjs.map +1 -1
- package/dist/src/types/index.d.ts +8 -0
- package/dist/src/types/index.d.ts.map +1 -1
- package/dist/style.css +1 -1
- package/package.json +11 -11
- package/src/components/AForm.vue +6 -7
- package/src/components/form/ACheckbox.vue +3 -13
- package/src/components/form/ADate.vue +12 -16
- package/src/components/form/ADatePicker.vue +5 -4
- package/src/components/form/ADropdown.vue +8 -8
- package/src/components/form/AFieldset.vue +6 -8
- package/src/components/form/AFileAttach.vue +9 -14
- package/src/components/form/ANumericInput.vue +2 -12
- package/src/components/form/ATextInput.vue +2 -15
- package/src/components/utilities/Login.vue +4 -10
- package/src/types/index.ts +9 -0
|
@@ -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.
|
|
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": "^
|
|
35
|
-
"vue": "^3.
|
|
36
|
-
"@stonecrop/themes": "0.2.
|
|
37
|
-
"@stonecrop/utilities": "0.2.
|
|
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.
|
|
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.
|
|
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.
|
|
54
|
+
"vite": "^5.4.5",
|
|
55
55
|
"vitest": "^2.1.1",
|
|
56
56
|
"vue-router": "^4.4.0",
|
|
57
|
-
"
|
|
58
|
-
"stonecrop
|
|
57
|
+
"stonecrop-rig": "0.2.22",
|
|
58
|
+
"@stonecrop/atable": "0.2.34"
|
|
59
59
|
},
|
|
60
60
|
"peerDependencies": {
|
|
61
|
-
"@stonecrop/atable": "0.2.
|
|
61
|
+
"@stonecrop/atable": "0.2.34"
|
|
62
62
|
},
|
|
63
63
|
"publishConfig": {
|
|
64
64
|
"access": "public"
|
package/src/components/AForm.vue
CHANGED
|
@@ -18,15 +18,14 @@ import { ref, computed } from 'vue'
|
|
|
18
18
|
|
|
19
19
|
import type { SchemaTypes } from '@/types'
|
|
20
20
|
|
|
21
|
-
const
|
|
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
|
|
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
|
|
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
|
-
|
|
60
|
-
emit('update: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="
|
|
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
|
-
|
|
21
|
-
defineProps<{
|
|
22
|
-
label?: string
|
|
23
|
-
required?: boolean
|
|
24
|
-
readOnly?: boolean
|
|
25
|
-
uuid?: string
|
|
26
|
-
validation?: Record<string, any>
|
|
27
|
-
}>(),
|
|
28
|
-
{
|
|
29
|
-
validation: () => ({ errorMessage: ' ' }),
|
|
30
|
-
}
|
|
31
|
-
)
|
|
20
|
+
import { ComponentProps } from '@/types'
|
|
32
21
|
|
|
22
|
+
const { label, required, readonly, uuid, validation = { errorMessage: ' ' } } = 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="
|
|
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 {
|
|
17
|
+
import { useTemplateRef } from 'vue'
|
|
18
18
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
label: 'Date',
|
|
29
|
-
validation: () => ({ errorMessage: ' ' }),
|
|
30
|
-
}
|
|
31
|
-
)
|
|
19
|
+
import { ComponentProps } from '@/types'
|
|
20
|
+
|
|
21
|
+
const {
|
|
22
|
+
label = 'Date',
|
|
23
|
+
required,
|
|
24
|
+
readonly,
|
|
25
|
+
uuid,
|
|
26
|
+
validation = { errorMessage: ' ' },
|
|
27
|
+
} = defineProps<ComponentProps>()
|
|
32
28
|
|
|
33
29
|
const inputDate = defineModel<string | number | Date>()
|
|
34
|
-
const dateRef =
|
|
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="
|
|
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"><</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
|
|
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:
|
|
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
|
|
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(
|
|
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 =
|
|
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 =
|
|
65
|
+
results.value = items
|
|
66
66
|
} else {
|
|
67
|
-
results.value =
|
|
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 (
|
|
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 (!
|
|
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
|
|
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
|
|
28
|
+
const formData = ref(data || [])
|
|
29
|
+
const formSchema = ref(schema)
|
|
30
30
|
|
|
31
|
-
const
|
|
32
|
-
function toggleCollapse(event: Event) {
|
|
31
|
+
const toggleCollapse = (event: Event) => {
|
|
33
32
|
event.preventDefault()
|
|
34
|
-
if (
|
|
35
|
-
|
|
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>{{
|
|
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
|
-
{{
|
|
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 {
|
|
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
|
-
|
|
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
|
-
|
|
17
|
-
defineProps<{
|
|
18
|
-
label: string
|
|
19
|
-
required?: boolean
|
|
20
|
-
readonly?: boolean
|
|
21
|
-
uuid?: string
|
|
22
|
-
validation?: Record<string, any>
|
|
23
|
-
}>(),
|
|
24
|
-
{
|
|
25
|
-
validation: () => ({ errorMessage: ' ' }),
|
|
26
|
-
}
|
|
27
|
-
)
|
|
16
|
+
import { ComponentProps } from '@/types'
|
|
28
17
|
|
|
18
|
+
const { label, required, readonly, uuid, validation = { errorMessage: ' ' } } = 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
|
|
20
|
+
import { ComponentProps } from '@/types'
|
|
21
21
|
|
|
22
|
-
|
|
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: ' ' }),
|
|
34
|
-
}
|
|
35
|
-
)
|
|
22
|
+
const { label, mask, required, readonly, uuid, validation = { errorMessage: ' ' } } = 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
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
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
|
|
package/src/types/index.ts
CHANGED
|
@@ -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
|