@aurodesignsystem-dev/auro-formkit 0.0.0-pr1503.4 → 0.0.0-pr1503.5
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/components/bibtemplate/dist/index.js +1 -1
- package/components/bibtemplate/dist/registered.js +1 -1
- package/components/checkbox/demo/accessibility.md +1 -1
- package/components/checkbox/demo/customize.html +1 -2
- package/components/checkbox/demo/customize.min.js +23 -8
- package/components/checkbox/demo/getting-started.min.js +23 -8
- package/components/checkbox/demo/index.min.js +23 -8
- package/components/checkbox/dist/index.js +23 -8
- package/components/checkbox/dist/registered.js +23 -8
- package/components/combobox/README.md +1 -1
- package/components/combobox/demo/accessibility.md +1 -1
- package/components/combobox/demo/api.md +2 -2
- package/components/combobox/demo/customize.html +1 -2
- package/components/combobox/demo/customize.md +166 -142
- package/components/combobox/demo/customize.min.js +2515 -2316
- package/components/combobox/demo/getting-started.min.js +2515 -2312
- package/components/combobox/demo/index.md +2 -1
- package/components/combobox/demo/index.min.js +2515 -2312
- package/components/combobox/demo/keyboard-behavior.md +3 -146
- package/components/combobox/demo/readme.md +1 -1
- package/components/combobox/demo/why-combobox.md +2 -2
- package/components/combobox/dist/auro-combobox.d.ts +49 -15
- package/components/combobox/dist/index.js +1462 -753
- package/components/combobox/dist/registered.js +1462 -753
- package/components/counter/demo/customize.min.js +188 -244
- package/components/counter/demo/index.min.js +188 -244
- package/components/counter/dist/auro-counter.d.ts +0 -8
- package/components/counter/dist/index.js +188 -244
- package/components/counter/dist/registered.js +188 -244
- package/components/datepicker/demo/accessibility.md +20 -10
- package/components/datepicker/demo/api.md +65 -62
- package/components/datepicker/demo/customize.md +180 -40
- package/components/datepicker/demo/customize.min.js +1690 -777
- package/components/datepicker/demo/getting-started.md +118 -2
- package/components/datepicker/demo/index.min.js +1690 -759
- package/components/datepicker/demo/keyboard-behavior.md +3 -3
- package/components/datepicker/demo/voiceover.md +4 -4
- package/components/datepicker/demo/why-datepicker.md +2 -2
- package/components/datepicker/dist/{src/auro-calendar-cell.d.ts → auro-calendar-cell.d.ts} +48 -3
- package/components/datepicker/dist/{src/auro-calendar.d.ts → auro-calendar.d.ts} +188 -10
- package/components/datepicker/dist/{src/auro-datepicker.d.ts → auro-datepicker.d.ts} +89 -6
- package/components/datepicker/dist/blackoutUtils.d.ts +43 -0
- package/components/datepicker/dist/index.js +1690 -759
- package/components/datepicker/dist/registered.js +1690 -759
- package/components/dropdown/demo/customize.html +3 -0
- package/components/dropdown/demo/customize.min.js +142 -208
- package/components/dropdown/demo/getting-started.min.js +131 -207
- package/components/dropdown/demo/index.min.js +131 -207
- package/components/dropdown/dist/auro-dropdown.d.ts +17 -1
- package/components/dropdown/dist/index.js +131 -207
- package/components/dropdown/dist/registered.js +131 -207
- package/components/form/demo/api.md +3 -3
- package/components/form/demo/customize.html +6 -6
- package/components/form/demo/customize.md +535 -135
- package/components/form/demo/customize.min.js +6307 -4378
- package/components/form/demo/getting-started.md +344 -96
- package/components/form/demo/getting-started.min.js +6255 -4378
- package/components/form/demo/index.min.js +6206 -4378
- package/components/form/demo/registerDemoDeps.min.js +5827 -4333
- package/components/form/dist/auro-form.d.ts +128 -10
- package/components/form/dist/index.js +377 -43
- package/components/form/dist/registered.js +377 -43
- package/components/input/demo/accessibility.md +1 -1
- package/components/input/demo/api.md +58 -57
- package/components/input/demo/customize.html +1 -2
- package/components/input/demo/customize.md +62 -61
- package/components/input/demo/customize.min.js +396 -275
- package/components/input/demo/getting-started.min.js +396 -275
- package/components/input/demo/index.min.js +396 -275
- package/components/input/dist/auro-input.d.ts +1 -1
- package/components/input/dist/base-input.d.ts +60 -81
- package/components/input/dist/index.js +409 -276
- package/components/input/dist/registered.js +396 -275
- package/components/input/dist/utilities.d.ts +10 -1
- package/components/menu/demo/accessibility.md +9 -4
- package/components/menu/demo/api.md +48 -45
- package/components/menu/demo/css-only.md +26 -19
- package/components/menu/demo/customize.md +307 -75
- package/components/menu/demo/design.md +1 -1
- package/components/menu/demo/getting-started.md +144 -7
- package/components/menu/demo/index.min.js +961 -1341
- package/components/menu/demo/keyboard-behavior.md +83 -4
- package/components/menu/demo/voiceover.md +21 -14
- package/components/menu/demo/why-menu.md +8 -9
- package/components/menu/dist/auro-menu-utils.d.ts +19 -0
- package/components/menu/dist/auro-menu.d.ts +97 -116
- package/components/menu/dist/auro-menuoption.d.ts +39 -133
- package/components/menu/dist/index.js +823 -1309
- package/components/menu/dist/registered.js +835 -1309
- package/components/radio/demo/accessibility.md +1 -1
- package/components/radio/demo/customize.min.js +23 -8
- package/components/radio/demo/getting-started.min.js +23 -8
- package/components/radio/demo/index.min.js +23 -8
- package/components/radio/dist/index.js +23 -8
- package/components/radio/dist/registered.js +23 -8
- package/components/select/demo/accessibility.md +6 -1
- package/components/select/demo/api.md +3 -2
- package/components/select/demo/customize.html +1 -2
- package/components/select/demo/customize.md +210 -5
- package/components/select/demo/customize.min.js +1613 -1854
- package/components/select/demo/design.md +10 -10
- package/components/select/demo/getting-started.md +1 -1
- package/components/select/demo/getting-started.min.js +1617 -1903
- package/components/select/demo/index.md +2 -2
- package/components/select/demo/index.min.js +1613 -1854
- package/components/select/demo/keyboard-behavior.md +81 -54
- package/components/select/demo/voiceover.md +28 -15
- package/components/select/dist/auro-select.d.ts +70 -12
- package/components/select/dist/index.js +580 -315
- package/components/select/dist/registered.js +580 -315
- package/components/select/dist/selectUtils.d.ts +24 -0
- package/custom-elements.json +8071 -7919
- package/package.json +7 -3
- package/components/checkbox/demo/customize.js +0 -22
- package/components/checkbox/demo/demo-support.js +0 -1
- package/components/checkbox/demo/getting-started.js +0 -22
- package/components/checkbox/demo/index.js +0 -8
- package/components/checkbox/demo/styles.scss +0 -1
- package/components/combobox/demo/customize.js +0 -24
- package/components/combobox/demo/demo-support.js +0 -1
- package/components/combobox/demo/getting-started.js +0 -21
- package/components/combobox/demo/index.js +0 -23
- package/components/combobox/demo/styles.scss +0 -1
- package/components/counter/demo/customize.js +0 -21
- package/components/counter/demo/demo-support.js +0 -1
- package/components/counter/demo/index.js +0 -21
- package/components/counter/demo/styles.scss +0 -1
- package/components/datepicker/demo/customize.js +0 -19
- package/components/datepicker/demo/demo-support.js +0 -1
- package/components/datepicker/demo/index.js +0 -23
- package/components/datepicker/demo/styles.scss +0 -1
- package/components/dropdown/demo/customize.js +0 -9
- package/components/dropdown/demo/demo-support.js +0 -1
- package/components/dropdown/demo/getting-started.js +0 -9
- package/components/dropdown/demo/index.js +0 -16
- package/components/dropdown/demo/styles.scss +0 -1
- package/components/form/demo/customize.js +0 -9
- package/components/form/demo/demo-support.js +0 -1
- package/components/form/demo/getting-started.js +0 -9
- package/components/form/demo/index.js +0 -5
- package/components/form/demo/registerDemoDeps.js +0 -23
- package/components/form/demo/styles.scss +0 -1
- package/components/input/demo/customize.js +0 -25
- package/components/input/demo/demo-support.js +0 -1
- package/components/input/demo/getting-started.js +0 -8
- package/components/input/demo/index.js +0 -8
- package/components/input/demo/styles.css +0 -974
- package/components/input/demo/styles.scss +0 -1
- package/components/menu/demo/demo-support.js +0 -1
- package/components/menu/demo/index.js +0 -25
- package/components/menu/demo/styles.scss +0 -1
- package/components/menu/dist/auro-menu.context.d.ts +0 -238
- package/components/radio/demo/customize.js +0 -22
- package/components/radio/demo/demo-support.js +0 -1
- package/components/radio/demo/getting-started.js +0 -24
- package/components/radio/demo/index.js +0 -8
- package/components/radio/demo/styles.scss +0 -1
- package/components/select/demo/customize.js +0 -11
- package/components/select/demo/demo-support.js +0 -1
- package/components/select/demo/getting-started.js +0 -26
- package/components/select/demo/index.js +0 -11
- package/components/select/demo/styles.scss +0 -1
- /package/components/counter/dist/styles/{counter-wrapper-color-css.d.ts → counter-group-color-css.d.ts} +0 -0
- /package/components/datepicker/dist/{src/auro-calendar-month.d.ts → auro-calendar-month.d.ts} +0 -0
- /package/components/datepicker/dist/{src/buttonVersion.d.ts → buttonVersion.d.ts} +0 -0
- /package/components/datepicker/dist/{src/datepickerKeyboardStrategy.d.ts → datepickerKeyboardStrategy.d.ts} +0 -0
- /package/components/datepicker/dist/{src/iconVersion.d.ts → iconVersion.d.ts} +0 -0
- /package/components/datepicker/dist/{src/index.d.ts → index.d.ts} +0 -0
- /package/components/datepicker/dist/{src/popoverVersion.d.ts → popoverVersion.d.ts} +0 -0
- /package/components/datepicker/dist/{src/styles → styles}/classic/color-css.d.ts +0 -0
- /package/components/datepicker/dist/{src/styles → styles}/classic/style-css.d.ts +0 -0
- /package/components/datepicker/dist/{src/styles → styles}/color-calendar-css.d.ts +0 -0
- /package/components/datepicker/dist/{src/styles → styles}/color-cell-css.d.ts +0 -0
- /package/components/datepicker/dist/{src/styles → styles}/color-css.d.ts +0 -0
- /package/components/datepicker/dist/{src/styles → styles}/color-month-css.d.ts +0 -0
- /package/components/datepicker/dist/{src/styles → styles}/shapeSize-css.d.ts +0 -0
- /package/components/datepicker/dist/{src/styles → styles}/snowflake/color-css.d.ts +0 -0
- /package/components/datepicker/dist/{src/styles → styles}/snowflake/style-css.d.ts +0 -0
- /package/components/datepicker/dist/{src/styles → styles}/style-auro-calendar-cell-css.d.ts +0 -0
- /package/components/datepicker/dist/{src/styles → styles}/style-auro-calendar-css.d.ts +0 -0
- /package/components/datepicker/dist/{src/styles → styles}/style-auro-calendar-month-css.d.ts +0 -0
- /package/components/datepicker/dist/{src/styles → styles}/style-css.d.ts +0 -0
- /package/components/datepicker/dist/{src/styles → styles}/tokens-css.d.ts +0 -0
- /package/components/datepicker/dist/{src/utilities.d.ts → utilities.d.ts} +0 -0
- /package/components/datepicker/dist/{src/utilitiesCalendar.d.ts → utilitiesCalendar.d.ts} +0 -0
- /package/components/datepicker/dist/{src/utilitiesCalendarRender.d.ts → utilitiesCalendarRender.d.ts} +0 -0
- /package/components/datepicker/dist/{src/vendor → vendor}/wc-range-datepicker/day.d.ts +0 -0
- /package/components/datepicker/dist/{src/vendor → vendor}/wc-range-datepicker/range-datepicker-calendar.d.ts +0 -0
- /package/components/datepicker/dist/{src/vendor → vendor}/wc-range-datepicker/range-datepicker-cell.d.ts +0 -0
- /package/components/datepicker/dist/{src/vendor → vendor}/wc-range-datepicker/range-datepicker.d.ts +0 -0
|
@@ -26,7 +26,7 @@ const t$2=globalThis,i$4=t=>t,s$4=t$2.trustedTypes,e$3=s$4?s$4.createPolicy("lit
|
|
|
26
26
|
|
|
27
27
|
var shapeSizeCss = i$6`.shape-classic-xl,.shape-classic-lg,.shape-classic-md,.shape-classic-sm,.shape-classic-xs{min-height:56px;max-height:56px;border-style:solid;border-width:1px;border-radius:var(--ds-border-radius, 0.375rem)}.shape-classic-xl.simple,.shape-classic-lg.simple,.shape-classic-md.simple,.shape-classic-sm.simple,.shape-classic-xs.simple{border-width:0px;min-height:58px;max-height:58px;background-color:unset;box-shadow:none}.shape-classic-xl.thin,.shape-classic-lg.thin,.shape-classic-md.thin,.shape-classic-sm.thin,.shape-classic-xs.thin{border-width:1px;min-height:56px;max-height:56px;background-color:unset}.shape-classic-xl.parentBorder,.shape-classic-lg.parentBorder,.shape-classic-md.parentBorder,.shape-classic-sm.parentBorder,.shape-classic-xs.parentBorder{border:0;box-shadow:unset;min-height:54px;max-height:54px}.shape-snowflake-xl,.shape-snowflake-lg,.shape-snowflake-md,.shape-snowflake-sm,.shape-snowflake-xs{min-height:56px;max-height:56px;border-style:solid;border-width:2px;border-color:transparent;border-radius:30px}.shape-snowflake-xl.simple,.shape-snowflake-lg.simple,.shape-snowflake-md.simple,.shape-snowflake-sm.simple,.shape-snowflake-xs.simple{border-width:0px;min-height:60px;max-height:60px;background-color:unset;box-shadow:none}.shape-snowflake-xl.thin,.shape-snowflake-lg.thin,.shape-snowflake-md.thin,.shape-snowflake-sm.thin,.shape-snowflake-xs.thin{border-width:1px;min-height:58px;max-height:58px;background-color:unset}.shape-snowflake-xl.parentBorder,.shape-snowflake-lg.parentBorder,.shape-snowflake-md.parentBorder,.shape-snowflake-sm.parentBorder,.shape-snowflake-xs.parentBorder{border:0;box-shadow:unset;min-height:56px;max-height:56px}.shape-box-xl{min-height:68px;max-height:68px;border-style:solid;border-width:2px;border-color:transparent}.shape-box-xl.simple{border-width:0px;min-height:72px;max-height:72px;background-color:unset;box-shadow:none}.shape-box-xl.thin{border-width:1px;min-height:70px;max-height:70px;background-color:unset}.shape-box-xl.parentBorder{border:0;box-shadow:unset;min-height:68px;max-height:68px}.shape-box-lg{min-height:52px;max-height:52px;border-style:solid;border-width:2px;border-color:transparent}.shape-box-lg.simple{border-width:0px;min-height:56px;max-height:56px;background-color:unset;box-shadow:none}.shape-box-lg.thin{border-width:1px;min-height:54px;max-height:54px;background-color:unset}.shape-box-lg.parentBorder{border:0;box-shadow:unset;min-height:52px;max-height:52px}.shape-box-md{min-height:44px;max-height:44px;border-style:solid;border-width:2px;border-color:transparent}.shape-box-md.simple{border-width:0px;min-height:48px;max-height:48px;background-color:unset;box-shadow:none}.shape-box-md.thin{border-width:1px;min-height:46px;max-height:46px;background-color:unset}.shape-box-md.parentBorder{border:0;box-shadow:unset;min-height:44px;max-height:44px}.shape-box-sm{min-height:32px;max-height:32px;border-style:solid;border-width:2px;border-color:transparent}.shape-box-sm.simple{border-width:0px;min-height:36px;max-height:36px;background-color:unset;box-shadow:none}.shape-box-sm.thin{border-width:1px;min-height:34px;max-height:34px;background-color:unset}.shape-box-sm.parentBorder{border:0;box-shadow:unset;min-height:32px;max-height:32px}.shape-box-xs{min-height:20px;max-height:20px;border-style:solid;border-width:2px;border-color:transparent}.shape-box-xs.simple{border-width:0px;min-height:24px;max-height:24px;background-color:unset;box-shadow:none}.shape-box-xs.thin{border-width:1px;min-height:22px;max-height:22px;background-color:unset}.shape-box-xs.parentBorder{border:0;box-shadow:unset;min-height:20px;max-height:20px}.shape-rounded-lg{min-height:56px;max-height:56px;border-style:solid;border-width:2px;border-color:transparent;border-radius:6px}.shape-rounded-lg.simple{border-width:0px;min-height:56px;max-height:56px;background-color:unset;box-shadow:none}.shape-rounded-lg.thin{border-width:1px;min-height:54px;max-height:54px;background-color:unset}.shape-rounded-lg.parentBorder{border:0;box-shadow:unset;min-height:52px;max-height:52px}.shape-pill-xl{min-height:68px;max-height:68px;border-style:solid;border-width:2px;border-color:transparent;border-radius:36px}.shape-pill-xl.simple{border-width:0px;min-height:72px;max-height:72px;background-color:unset;box-shadow:none}.shape-pill-xl.thin{border-width:1px;min-height:70px;max-height:70px;background-color:unset}.shape-pill-xl.parentBorder{border:0;box-shadow:unset;min-height:68px;max-height:68px}.shape-pill-left-xl{min-height:68px;max-height:68px;border-style:solid;border-width:2px;border-color:transparent;border-radius:36px 0 0 36px}.shape-pill-left-xl.simple{border-width:0px;min-height:72px;max-height:72px;background-color:unset;box-shadow:none}.shape-pill-left-xl.thin{border-width:1px;min-height:70px;max-height:70px;background-color:unset}.shape-pill-left-xl.parentBorder{border:0;box-shadow:unset;min-height:68px;max-height:68px}.shape-pill-right-xl{min-height:68px;max-height:68px;border-style:solid;border-width:2px;border-color:transparent;border-radius:0 36px 36px 0}.shape-pill-right-xl.simple{border-width:0px;min-height:72px;max-height:72px;background-color:unset;box-shadow:none}.shape-pill-right-xl.thin{border-width:1px;min-height:70px;max-height:70px;background-color:unset}.shape-pill-right-xl.parentBorder{border:0;box-shadow:unset;min-height:68px;max-height:68px}.shape-pill-md{min-height:44px;max-height:44px;border-style:solid;border-width:2px;border-color:transparent;border-radius:36px}.shape-pill-md.simple{border-width:0px;min-height:48px;max-height:48px;background-color:unset;box-shadow:none}.shape-pill-md.thin{border-width:1px;min-height:46px;max-height:46px;background-color:unset}.shape-pill-md.parentBorder{border:0;box-shadow:unset;min-height:44px;max-height:44px}.shape-pill-left-md{min-height:44px;max-height:44px;border-style:solid;border-width:2px;border-color:transparent;border-radius:36px 0 0 36px}.shape-pill-left-md.simple{border-width:0px;min-height:48px;max-height:48px;background-color:unset;box-shadow:none}.shape-pill-left-md.thin{border-width:1px;min-height:46px;max-height:46px;background-color:unset}.shape-pill-left-md.parentBorder{border:0;box-shadow:unset;min-height:44px;max-height:44px}.shape-pill-right-md{min-height:44px;max-height:44px;border-style:solid;border-width:2px;border-color:transparent;border-radius:0 36px 36px 0}.shape-pill-right-md.simple{border-width:0px;min-height:48px;max-height:48px;background-color:unset;box-shadow:none}.shape-pill-right-md.thin{border-width:1px;min-height:46px;max-height:46px;background-color:unset}.shape-pill-right-md.parentBorder{border:0;box-shadow:unset;min-height:44px;max-height:44px}`;
|
|
28
28
|
|
|
29
|
-
var styleCss$1 = i$6`.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock{display:block}.util_displayFlex{display:flex}.util_displayHidden{display:none}.util_displayHiddenVisually{position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}.body-default{font-size:var(--wcss-body-default-font-size, 1rem);font-weight:var(--wcss-body-default-weight, );line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default,.body-default-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-default-emphasized{font-size:var(--wcss-body-default-emphasized-font-size, 1rem);font-weight:var(--wcss-body-default-emphasized-weight, );line-height:var(--wcss-body-default-emphasized-line-height, 1.5rem)}.body-lg{font-size:var(--wcss-body-lg-font-size, 1.125rem);font-weight:var(--wcss-body-lg-weight, );line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-lg,.body-lg-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-lg-emphasized{font-size:var(--wcss-body-lg-emphasized-font-size, 1.125rem);font-weight:var(--wcss-body-lg-emphasized-weight, );line-height:var(--wcss-body-lg-emphasized-line-height, 1.625rem)}.body-sm{font-size:var(--wcss-body-sm-font-size, 0.875rem);font-weight:var(--wcss-body-sm-weight, );line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm,.body-sm-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-sm-emphasized{font-size:var(--wcss-body-sm-emphasized-font-size, 0.875rem);font-weight:var(--wcss-body-sm-emphasized-weight, );line-height:var(--wcss-body-sm-emphasized-line-height, 1.25rem)}.body-xs{font-size:var(--wcss-body-xs-font-size, 0.75rem);font-weight:var(--wcss-body-xs-weight, );line-height:var(--wcss-body-xs-line-height, 1rem)}.body-xs,.body-xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-xs-emphasized{font-size:var(--wcss-body-xs-emphasized-font-size, 0.75rem);font-weight:var(--wcss-body-xs-emphasized-weight, );line-height:var(--wcss-body-xs-emphasized-line-height, 1rem)}.body-2xs{font-size:var(--wcss-body-2xs-font-size, 0.625rem);font-weight:var(--wcss-body-2xs-weight, );line-height:var(--wcss-body-2xs-line-height, 0.875rem)}.body-2xs,.body-2xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-2xs-emphasized{font-size:var(--wcss-body-2xs-emphasized-font-size, 0.625rem);font-weight:var(--wcss-body-2xs-emphasized-weight, );line-height:var(--wcss-body-2xs-emphasized-line-height, 0.875rem)}.display-2xl{font-family:var(--wcss-display-2xl-family, "AS Circular"),var(--wcss-display-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem));font-weight:var(--wcss-display-2xl-weight, 300);letter-spacing:var(--wcss-display-2xl-letter-spacing, 0);line-height:var(--wcss-display-2xl-line-height, 1.3)}.display-xl{font-family:var(--wcss-display-xl-family, "AS Circular"),var(--wcss-display-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem));font-weight:var(--wcss-display-xl-weight, 300);letter-spacing:var(--wcss-display-xl-letter-spacing, 0);line-height:var(--wcss-display-xl-line-height, 1.3)}.display-lg{font-family:var(--wcss-display-lg-family, "AS Circular"),var(--wcss-display-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem));font-weight:var(--wcss-display-lg-weight, 300);letter-spacing:var(--wcss-display-lg-letter-spacing, 0);line-height:var(--wcss-display-lg-line-height, 1.3)}.display-md{font-family:var(--wcss-display-md-family, "AS Circular"),var(--wcss-display-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem));font-weight:var(--wcss-display-md-weight, 300);letter-spacing:var(--wcss-display-md-letter-spacing, 0);line-height:var(--wcss-display-md-line-height, 1.3)}.display-sm{font-family:var(--wcss-display-sm-family, "AS Circular"),var(--wcss-display-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem));font-weight:var(--wcss-display-sm-weight, 300);letter-spacing:var(--wcss-display-sm-letter-spacing, 0);line-height:var(--wcss-display-sm-line-height, 1.3)}.display-xs{font-family:var(--wcss-display-xs-family, "AS Circular"),var(--wcss-display-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem));font-weight:var(--wcss-display-xs-weight, 300);letter-spacing:var(--wcss-display-xs-letter-spacing, 0);line-height:var(--wcss-display-xs-line-height, 1.3)}.heading-xl{font-family:var(--wcss-heading-xl-family, "AS Circular"),var(--wcss-heading-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem));font-weight:var(--wcss-heading-xl-weight, 300);letter-spacing:var(--wcss-heading-xl-letter-spacing, 0);line-height:var(--wcss-heading-xl-line-height, 1.3)}.heading-lg{font-family:var(--wcss-heading-lg-family, "AS Circular"),var(--wcss-heading-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem));font-weight:var(--wcss-heading-lg-weight, 300);letter-spacing:var(--wcss-heading-lg-letter-spacing, 0);line-height:var(--wcss-heading-lg-line-height, 1.3)}.heading-md{font-family:var(--wcss-heading-md-family, "AS Circular"),var(--wcss-heading-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem));font-weight:var(--wcss-heading-md-weight, 300);letter-spacing:var(--wcss-heading-md-letter-spacing, 0);line-height:var(--wcss-heading-md-line-height, 1.3)}.heading-sm{font-family:var(--wcss-heading-sm-family, "AS Circular"),var(--wcss-heading-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem));font-weight:var(--wcss-heading-sm-weight, 300);letter-spacing:var(--wcss-heading-sm-letter-spacing, 0);line-height:var(--wcss-heading-sm-line-height, 1.3)}.heading-xs{font-family:var(--wcss-heading-xs-family, "AS Circular"),var(--wcss-heading-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem));font-weight:var(--wcss-heading-xs-weight, 300);letter-spacing:var(--wcss-heading-xs-letter-spacing, 0);line-height:var(--wcss-heading-xs-line-height, 1.3)}.heading-2xs{font-family:var(--wcss-heading-2xs-family, "AS Circular"),var(--wcss-heading-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem));font-weight:var(--wcss-heading-2xs-weight, 300);letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0);line-height:var(--wcss-heading-2xs-line-height, 1.3)}.accent-2xl{font-family:var(--wcss-accent-2xl-family, "Good OT"),var(--wcss-accent-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));font-weight:var(--wcss-accent-2xl-weight, 450);letter-spacing:var(--wcss-accent-2xl-letter-spacing, 0.05em);line-height:var(--wcss-accent-2xl-line-height, 1)}.accent-2xl,.accent-xl{text-transform:uppercase}.accent-xl{font-family:var(--wcss-accent-xl-family, "Good OT"),var(--wcss-accent-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));font-weight:var(--wcss-accent-xl-weight, 450);letter-spacing:var(--wcss-accent-xl-letter-spacing, 0.05em);line-height:var(--wcss-accent-xl-line-height, 1.3)}.accent-lg{font-family:var(--wcss-accent-lg-family, "Good OT"),var(--wcss-accent-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));font-weight:var(--wcss-accent-lg-weight, 450);letter-spacing:var(--wcss-accent-lg-letter-spacing, 0.05em);line-height:var(--wcss-accent-lg-line-height, 1.3)}.accent-lg,.accent-md{text-transform:uppercase}.accent-md{font-family:var(--wcss-accent-md-family, "Good OT"),var(--wcss-accent-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));font-weight:var(--wcss-accent-md-weight, 500);letter-spacing:var(--wcss-accent-md-letter-spacing, 0.05em);line-height:var(--wcss-accent-md-line-height, 1.3)}.accent-sm{font-family:var(--wcss-accent-sm-family, "Good OT"),var(--wcss-accent-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));font-weight:var(--wcss-accent-sm-weight, 500);letter-spacing:var(--wcss-accent-sm-letter-spacing, 0.05em);line-height:var(--wcss-accent-sm-line-height, 1.3)}.accent-sm,.accent-xs{text-transform:uppercase}.accent-xs{font-family:var(--wcss-accent-xs-family, "Good OT"),var(--wcss-accent-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));font-weight:var(--wcss-accent-xs-weight, 500);letter-spacing:var(--wcss-accent-xs-letter-spacing, 0.1em);line-height:var(--wcss-accent-xs-line-height, 1.3)}.accent-2xs{font-family:var(--wcss-accent-2xs-family, "Good OT"),var(--wcss-accent-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xs-font-size, clamp(0.875rem, 1.1666666667vw, 0.875rem));font-weight:var(--wcss-accent-2xs-weight, 450);letter-spacing:var(--wcss-accent-2xs-letter-spacing, 0.1em);line-height:var(--wcss-accent-2xs-line-height, 1.3);text-transform:uppercase}:host{display:block}.wrapper:has(:enabled){cursor:text}.wrapper:has(:enabled) label{cursor:text}.helpTextClasses{cursor:default}input{overflow:clip !important;width:100%;padding:0;border:0;background:unset;outline:none;overflow-clip-margin:0 !important;text-overflow:ellipsis}input::-webkit-inner-spin-button{margin:0;-webkit-appearance:none}.displayValue{display:none}.displayValue.hasContent:is(.withValue):not(.hasFocus){display:flex;align-items:center}.accents:not(.util_displayHidden){display:flex;flex-direction:row;align-items:center;justify-content:center;gap:8px}.wrapper:not(:focus-within):not(:hover) .notificationBtn.passwordBtn,.wrapper:not(:focus-within):not(:hover) .notification.clear{display:none}.notification{display:flex;align-items:center;justify-content:center}`;
|
|
29
|
+
var styleCss$1 = i$6`.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock{display:block}.util_displayFlex{display:flex}.util_displayHidden{display:none}.util_displayHiddenVisually{position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}.body-default{font-size:var(--wcss-body-default-font-size, 1rem);font-weight:var(--wcss-body-default-weight, );line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default,.body-default-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-default-emphasized{font-size:var(--wcss-body-default-emphasized-font-size, 1rem);font-weight:var(--wcss-body-default-emphasized-weight, );line-height:var(--wcss-body-default-emphasized-line-height, 1.5rem)}.body-lg{font-size:var(--wcss-body-lg-font-size, 1.125rem);font-weight:var(--wcss-body-lg-weight, );line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-lg,.body-lg-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-lg-emphasized{font-size:var(--wcss-body-lg-emphasized-font-size, 1.125rem);font-weight:var(--wcss-body-lg-emphasized-weight, );line-height:var(--wcss-body-lg-emphasized-line-height, 1.625rem)}.body-sm{font-size:var(--wcss-body-sm-font-size, 0.875rem);font-weight:var(--wcss-body-sm-weight, );line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm,.body-sm-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-sm-emphasized{font-size:var(--wcss-body-sm-emphasized-font-size, 0.875rem);font-weight:var(--wcss-body-sm-emphasized-weight, );line-height:var(--wcss-body-sm-emphasized-line-height, 1.25rem)}.body-xs{font-size:var(--wcss-body-xs-font-size, 0.75rem);font-weight:var(--wcss-body-xs-weight, );line-height:var(--wcss-body-xs-line-height, 1rem)}.body-xs,.body-xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-xs-emphasized{font-size:var(--wcss-body-xs-emphasized-font-size, 0.75rem);font-weight:var(--wcss-body-xs-emphasized-weight, );line-height:var(--wcss-body-xs-emphasized-line-height, 1rem)}.body-2xs{font-size:var(--wcss-body-2xs-font-size, 0.625rem);font-weight:var(--wcss-body-2xs-weight, );line-height:var(--wcss-body-2xs-line-height, 0.875rem)}.body-2xs,.body-2xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-2xs-emphasized{font-size:var(--wcss-body-2xs-emphasized-font-size, 0.625rem);font-weight:var(--wcss-body-2xs-emphasized-weight, );line-height:var(--wcss-body-2xs-emphasized-line-height, 0.875rem)}.display-2xl{font-family:var(--wcss-display-2xl-family, "AS Circular"),var(--wcss-display-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem));font-weight:var(--wcss-display-2xl-weight, 300);letter-spacing:var(--wcss-display-2xl-letter-spacing, 0);line-height:var(--wcss-display-2xl-line-height, 1.3)}.display-xl{font-family:var(--wcss-display-xl-family, "AS Circular"),var(--wcss-display-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem));font-weight:var(--wcss-display-xl-weight, 300);letter-spacing:var(--wcss-display-xl-letter-spacing, 0);line-height:var(--wcss-display-xl-line-height, 1.3)}.display-lg{font-family:var(--wcss-display-lg-family, "AS Circular"),var(--wcss-display-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem));font-weight:var(--wcss-display-lg-weight, 300);letter-spacing:var(--wcss-display-lg-letter-spacing, 0);line-height:var(--wcss-display-lg-line-height, 1.3)}.display-md{font-family:var(--wcss-display-md-family, "AS Circular"),var(--wcss-display-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem));font-weight:var(--wcss-display-md-weight, 300);letter-spacing:var(--wcss-display-md-letter-spacing, 0);line-height:var(--wcss-display-md-line-height, 1.3)}.display-sm{font-family:var(--wcss-display-sm-family, "AS Circular"),var(--wcss-display-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem));font-weight:var(--wcss-display-sm-weight, 300);letter-spacing:var(--wcss-display-sm-letter-spacing, 0);line-height:var(--wcss-display-sm-line-height, 1.3)}.display-xs{font-family:var(--wcss-display-xs-family, "AS Circular"),var(--wcss-display-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem));font-weight:var(--wcss-display-xs-weight, 300);letter-spacing:var(--wcss-display-xs-letter-spacing, 0);line-height:var(--wcss-display-xs-line-height, 1.3)}.heading-xl{font-family:var(--wcss-heading-xl-family, "AS Circular"),var(--wcss-heading-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem));font-weight:var(--wcss-heading-xl-weight, 300);letter-spacing:var(--wcss-heading-xl-letter-spacing, 0);line-height:var(--wcss-heading-xl-line-height, 1.3)}.heading-lg{font-family:var(--wcss-heading-lg-family, "AS Circular"),var(--wcss-heading-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem));font-weight:var(--wcss-heading-lg-weight, 300);letter-spacing:var(--wcss-heading-lg-letter-spacing, 0);line-height:var(--wcss-heading-lg-line-height, 1.3)}.heading-md{font-family:var(--wcss-heading-md-family, "AS Circular"),var(--wcss-heading-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem));font-weight:var(--wcss-heading-md-weight, 300);letter-spacing:var(--wcss-heading-md-letter-spacing, 0);line-height:var(--wcss-heading-md-line-height, 1.3)}.heading-sm{font-family:var(--wcss-heading-sm-family, "AS Circular"),var(--wcss-heading-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem));font-weight:var(--wcss-heading-sm-weight, 300);letter-spacing:var(--wcss-heading-sm-letter-spacing, 0);line-height:var(--wcss-heading-sm-line-height, 1.3)}.heading-xs{font-family:var(--wcss-heading-xs-family, "AS Circular"),var(--wcss-heading-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem));font-weight:var(--wcss-heading-xs-weight, 300);letter-spacing:var(--wcss-heading-xs-letter-spacing, 0);line-height:var(--wcss-heading-xs-line-height, 1.3)}.heading-2xs{font-family:var(--wcss-heading-2xs-family, "AS Circular"),var(--wcss-heading-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem));font-weight:var(--wcss-heading-2xs-weight, 300);letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0);line-height:var(--wcss-heading-2xs-line-height, 1.3)}.accent-2xl{font-family:var(--wcss-accent-2xl-family, "Good OT"),var(--wcss-accent-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));font-weight:var(--wcss-accent-2xl-weight, 450);letter-spacing:var(--wcss-accent-2xl-letter-spacing, 0.05em);line-height:var(--wcss-accent-2xl-line-height, 1)}.accent-2xl,.accent-xl{text-transform:uppercase}.accent-xl{font-family:var(--wcss-accent-xl-family, "Good OT"),var(--wcss-accent-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));font-weight:var(--wcss-accent-xl-weight, 450);letter-spacing:var(--wcss-accent-xl-letter-spacing, 0.05em);line-height:var(--wcss-accent-xl-line-height, 1.3)}.accent-lg{font-family:var(--wcss-accent-lg-family, "Good OT"),var(--wcss-accent-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));font-weight:var(--wcss-accent-lg-weight, 450);letter-spacing:var(--wcss-accent-lg-letter-spacing, 0.05em);line-height:var(--wcss-accent-lg-line-height, 1.3)}.accent-lg,.accent-md{text-transform:uppercase}.accent-md{font-family:var(--wcss-accent-md-family, "Good OT"),var(--wcss-accent-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));font-weight:var(--wcss-accent-md-weight, 500);letter-spacing:var(--wcss-accent-md-letter-spacing, 0.05em);line-height:var(--wcss-accent-md-line-height, 1.3)}.accent-sm{font-family:var(--wcss-accent-sm-family, "Good OT"),var(--wcss-accent-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));font-weight:var(--wcss-accent-sm-weight, 500);letter-spacing:var(--wcss-accent-sm-letter-spacing, 0.05em);line-height:var(--wcss-accent-sm-line-height, 1.3)}.accent-sm,.accent-xs{text-transform:uppercase}.accent-xs{font-family:var(--wcss-accent-xs-family, "Good OT"),var(--wcss-accent-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));font-weight:var(--wcss-accent-xs-weight, 500);letter-spacing:var(--wcss-accent-xs-letter-spacing, 0.1em);line-height:var(--wcss-accent-xs-line-height, 1.3)}.accent-2xs{font-family:var(--wcss-accent-2xs-family, "Good OT"),var(--wcss-accent-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xs-font-size, clamp(0.875rem, 1.1666666667vw, 0.875rem));font-weight:var(--wcss-accent-2xs-weight, 450);letter-spacing:var(--wcss-accent-2xs-letter-spacing, 0.1em);line-height:var(--wcss-accent-2xs-line-height, 1.3);text-transform:uppercase}:host{display:block}.wrapper:has(:enabled){cursor:text}.wrapper:has(:enabled) label{cursor:text}.helpTextClasses{cursor:default}input{overflow:clip !important;width:100%;padding:0;border:0;background:unset;outline:none;overflow-clip-margin:0 !important;text-overflow:ellipsis}input[type=number]{appearance:textfield}input::-webkit-inner-spin-button{margin:0;-webkit-appearance:none}.displayValue{display:none}.displayValue.hasContent:is(.withValue):not(.hasFocus){display:flex;align-items:center}.accents:not(.util_displayHidden){display:flex;flex-direction:row;align-items:center;justify-content:center;gap:8px}.wrapper:not(:focus-within):not(:hover) .notificationBtn.passwordBtn,.wrapper:not(:focus-within):not(:hover) .notification.clear{display:none}.notification{display:flex;align-items:center;justify-content:center}`;
|
|
30
30
|
|
|
31
31
|
var styleDefaultCss = i$6`.layoutDefault .typeIcon,:host(:not([layout])) .typeIcon{display:flex;flex-direction:row;align-items:center}.layoutDefault .typeIcon [auro-icon],:host(:not([layout])) .typeIcon [auro-icon]{--ds-auro-icon-size: var(--ds-size-300, 1.5rem);height:var(--ds-size-300, 1.5rem);margin-right:var(--ds-size-100, 0.5rem)}.layoutDefault .notificationIcons,:host(:not([layout])) .notificationIcons{display:flex;flex-direction:row;padding-right:var(--ds-size-100, 0.5rem)}:host([class=layoutDefault][bordered]) .typeIcon,:host(:not([layout])[bordered]) .typeIcon{padding-left:var(--ds-size-100, 0.5rem)}:host([class=layoutDefault][bordered]) .notificationIcons,:host(:not([layout])[bordered]) .notificationIcons{align-items:center}:host([class=layoutDefault][bordered]) .notification:not(:first-of-type),:host(:not([layout])[bordered]) .notification:not(:first-of-type){margin-left:var(--ds-size-100, 0.5rem)}:host([class=layoutDefault][bordered]) .alertNotification,:host(:not([layout])[bordered]) .alertNotification{width:calc(var(--ds-size-300, 1.5rem) + var(--ds-size-25, 0.125rem));height:calc(var(--ds-size-300, 1.5rem) + var(--ds-size-25, 0.125rem))}:host([class=layoutDefault][bordered]) .passwordBtn,:host(:not([layout])[bordered]) .passwordBtn{width:calc(var(--ds-size-300, 1.5rem));height:calc(var(--ds-size-300, 1.5rem))}:host([class=layoutDefault][bordered]) .notificationBtn,:host(:not([layout])[bordered]) .notificationBtn{display:block;width:var(--ds-size-300, 1.5rem);height:var(--ds-size-300, 1.5rem);padding:0;border:0;background:unset;cursor:pointer}:host([class=layoutDefault][bordered]) .notificationBtn [auro-icon],:host(:not([layout])[bordered]) .notificationBtn [auro-icon]{display:block;height:var(--ds-size-300, 1.5rem);--ds-auro-icon-size: var(--ds-size-300, 1.5rem)}:host([class=layoutDefault][bordered]) .notificationBtn [auro-icon][hidden],:host(:not([layout])[bordered]) .notificationBtn [auro-icon][hidden]{display:none}:host([class=layoutDefault]:not([bordered])) .typeIcon,:host([class=layoutDefault]:not([bordered])) .notificationIcons,:host(:not([layout]):not([bordered])) .typeIcon,:host(:not([layout]):not([bordered])) .notificationIcons{align-items:flex-end;padding-bottom:var(--ds-size-50, 0.25rem)}:host([class=layoutDefault]:not([bordered])) .clearBtn,:host(:not([layout]):not([bordered])) .clearBtn{transition:all .3s cubic-bezier(0.215, 0.61, 0.355, 1);overflow:hidden;width:0;opacity:0}.layoutDefault .wrapper:hover .clearBtn,.layoutDefault .wrapper:focus-within .clearBtn,:host(:not([layout])) .wrapper:hover .clearBtn,:host(:not([layout])) .wrapper:focus-within .clearBtn{width:calc(var(--ds-size-200, 1rem) + var(--ds-size-25, 0.125rem));height:calc(var(--ds-size-200, 1rem) + var(--ds-size-25, 0.125rem));opacity:1}:host([class=layoutDefault]:focus-within[type=password]) .notificationIcons[hasValue] .alertNotification,:host(:not([layout]):focus-within[type=password]) .notificationIcons[hasValue] .alertNotification{overflow:hidden;width:0;height:0;padding:0;margin:0;visibility:hidden}.layoutDefault input,:host(:not([layout])) input{border:unset}.layoutDefault .wrapper,:host(:not([layout])) .wrapper{position:relative;overflow:hidden;border-style:solid}:host([class=layoutDefault]:not([bordered],[borderless])) .wrapper,:host(:not([layout]):not([bordered],[borderless])) .wrapper{border-width:1px 0}:host([class=layoutDefault][bordered]) .wrapper,:host(:not([layout])[bordered]) .wrapper{border-width:1px;border-radius:var(--ds-border-radius, 0.375rem)}:host([class=layoutDefault]:not([borderless])) .wrapper:focus-within:before,:host(:not([layout]):not([borderless])) .wrapper:focus-within:before{position:absolute;display:block;border-bottom-width:1px;border-bottom-style:solid;content:"";inset:0;pointer-events:none}:host([class=layoutDefault][validity]:not([validity=valid])) .wrapper:before,:host(:not([layout])[validity]:not([validity=valid])) .wrapper:before{border-bottom:0}:focus:not(:focus-visible){outline:3px solid transparent}.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock,:host{display:block}.util_displayFlex{display:flex}.util_displayHidden,:host([hidden]:not(:focus):not(:active)){display:none}.util_displayHiddenVisually,:host([hiddenVisually]:not(:focus):not(:active)){position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}:host{text-align:left}.layoutDefault :host,:host(:not([layout])) :host{position:relative;display:block}.layoutDefault .wrapper,:host(:not([layout])) .wrapper{display:flex;flex-direction:row}.layoutDefault .main,:host(:not([layout])) .main{display:flex;flex-direction:row;position:relative;flex:1}`;
|
|
32
32
|
|
|
@@ -4343,8 +4343,21 @@ class AuroFormValidation {
|
|
|
4343
4343
|
return;
|
|
4344
4344
|
}
|
|
4345
4345
|
|
|
4346
|
-
// Validate that the date passed was the correct format and is a valid date
|
|
4346
|
+
// Validate that the date passed was the correct format and is a valid date.
|
|
4347
|
+
// For partial date formats, valueObject is never populated; validate them directly.
|
|
4347
4348
|
if (elem.value && !elem.valueObject) {
|
|
4349
|
+
const isPartialDateFormat = elem.util && !elem.util.isFullDateFormat(elem.type, elem.format);
|
|
4350
|
+
|
|
4351
|
+
if (isPartialDateFormat) {
|
|
4352
|
+
if (!elem.util.isValidPartialDate(elem.value, elem.format)) {
|
|
4353
|
+
elem.validity = 'patternMismatch';
|
|
4354
|
+
elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
|
|
4355
|
+
}
|
|
4356
|
+
// Partial date format — validate directly and skip max/min checks since valueObject is undefined.
|
|
4357
|
+
return;
|
|
4358
|
+
}
|
|
4359
|
+
|
|
4360
|
+
// Full date format with no valueObject means the value is not a valid calendar date.
|
|
4348
4361
|
elem.validity = 'patternMismatch';
|
|
4349
4362
|
elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
|
|
4350
4363
|
return;
|
|
@@ -4441,15 +4454,17 @@ class AuroFormValidation {
|
|
|
4441
4454
|
);
|
|
4442
4455
|
}
|
|
4443
4456
|
|
|
4444
|
-
|
|
4445
|
-
|
|
4446
|
-
|
|
4457
|
+
const isCombobox = this.runtimeUtils.elementMatch(elem, 'auro-combobox');
|
|
4458
|
+
|
|
4459
|
+
// If there is a second input in the elem and that value is undefined or an empty string set hasValue to false.
|
|
4460
|
+
// Skip for combobox: its second auro-input is the fullscreen-bib mirror of the same value, not an independent
|
|
4461
|
+
// field (datepicker is the intended consumer — start/end are independently required).
|
|
4462
|
+
if (this.auroInputElements?.length === 2 && !isCombobox) {
|
|
4463
|
+
if (!this.auroInputElements[1].value || this.auroInputElements[1].value.length === 0) {
|
|
4447
4464
|
hasValue = false;
|
|
4448
4465
|
}
|
|
4449
4466
|
}
|
|
4450
4467
|
|
|
4451
|
-
const isCombobox = this.runtimeUtils.elementMatch(elem, 'auro-combobox');
|
|
4452
|
-
|
|
4453
4468
|
if (isCombobox) {
|
|
4454
4469
|
|
|
4455
4470
|
if (!elem.persistInput || elem.behavior === "filter") {
|
|
@@ -4548,7 +4563,7 @@ class AuroFormValidation {
|
|
|
4548
4563
|
} else if (this.runtimeUtils.elementMatch(elem, 'auro-input') && elem.errorMessage === '') {
|
|
4549
4564
|
const input = elem.renderRoot.querySelector('input');
|
|
4550
4565
|
|
|
4551
|
-
if (input.validationMessage.length > 0) {
|
|
4566
|
+
if (input && input.validationMessage.length > 0) {
|
|
4552
4567
|
elem.errorMessage = input.validationMessage;
|
|
4553
4568
|
}
|
|
4554
4569
|
} else if (this.runtimeUtils.elementMatch(elem, 'auro-combobox') && elem.errorMessage === '') {
|
|
@@ -10130,8 +10145,6 @@ function cleanEscapedString(input) {
|
|
|
10130
10145
|
return input.match(escapedStringRegExp)[1].replace(doubleQuoteRegExp, "'");
|
|
10131
10146
|
}
|
|
10132
10147
|
|
|
10133
|
-
/* eslint-disable max-lines */
|
|
10134
|
-
|
|
10135
10148
|
class AuroInputUtilities {
|
|
10136
10149
|
|
|
10137
10150
|
/**
|
|
@@ -10174,7 +10187,7 @@ class AuroInputUtilities {
|
|
|
10174
10187
|
/**
|
|
10175
10188
|
* Converts an IMask-style date mask to a date-fns compatible format string.
|
|
10176
10189
|
* @param {string} mask - IMask date mask (e.g. "MM/DD/YYYY").
|
|
10177
|
-
* @returns {string} date-fns format string (e.g. "MM/dd/yyyy").
|
|
10190
|
+
* @returns {string} A date-fns format string (e.g. "MM/dd/yyyy").
|
|
10178
10191
|
*/
|
|
10179
10192
|
toDateFnsMask(mask) {
|
|
10180
10193
|
return mask
|
|
@@ -10274,10 +10287,11 @@ class AuroInputUtilities {
|
|
|
10274
10287
|
const dateFormat = format$1 || this.overrideFormat || pattern || 'mm/dd/yyyy';
|
|
10275
10288
|
|
|
10276
10289
|
if (dateFormat === 'dd' || dateFormat === 'yy' || dateFormat === 'yyyy') {
|
|
10277
|
-
const
|
|
10290
|
+
const fromValue = dateFormat === 'yyyy' ? 1900 : (dateFormat === 'yy' ? 0 : 1);
|
|
10291
|
+
const maxValue = dateFormat === 'dd' ? 31 : (dateFormat === 'yy' ? 99 : 2100);
|
|
10278
10292
|
return {
|
|
10279
10293
|
mask: IMask.MaskedRange,
|
|
10280
|
-
from:
|
|
10294
|
+
from: fromValue,
|
|
10281
10295
|
to: maxValue,
|
|
10282
10296
|
lazy: true,
|
|
10283
10297
|
placeholderChar: '',
|
|
@@ -10285,7 +10299,8 @@ class AuroInputUtilities {
|
|
|
10285
10299
|
return value.toString().padStart(dateFormat.length, '0');
|
|
10286
10300
|
},
|
|
10287
10301
|
parse(str) {
|
|
10288
|
-
|
|
10302
|
+
const num = parseInt(str, 10);
|
|
10303
|
+
return isNaN(num) ? null : num;
|
|
10289
10304
|
}
|
|
10290
10305
|
};
|
|
10291
10306
|
}
|
|
@@ -10349,6 +10364,49 @@ class AuroInputUtilities {
|
|
|
10349
10364
|
return type === 'date' && normalizedFormat.includes('yy') && normalizedFormat.includes('mm') && normalizedFormat.includes('dd');
|
|
10350
10365
|
}
|
|
10351
10366
|
|
|
10367
|
+
/**
|
|
10368
|
+
* Validates a value against a partial date format (one that lacks yy/mm/dd all three).
|
|
10369
|
+
* Day- and year-only formats (dd/yy/yyyy) are checked as integer ranges; other partial formats use
|
|
10370
|
+
* a date-fns parse + round-trip to confirm both validity and exact formatting.
|
|
10371
|
+
* @param {string} value - The user-facing display value.
|
|
10372
|
+
* @param {string} format - The partial date format string (e.g. "mm/yyyy", "yyyy", "dd").
|
|
10373
|
+
* @returns {boolean}
|
|
10374
|
+
*/
|
|
10375
|
+
isValidPartialDate(value, format$1) {
|
|
10376
|
+
if (!value || !format$1) {
|
|
10377
|
+
return false;
|
|
10378
|
+
}
|
|
10379
|
+
const normalizedFormat = format$1.toLowerCase();
|
|
10380
|
+
|
|
10381
|
+
if (normalizedFormat === 'dd') {
|
|
10382
|
+
const num = Number(value);
|
|
10383
|
+
return (/^\d{2}$/u).test(value) && num >= 1 && num <= 31;
|
|
10384
|
+
}
|
|
10385
|
+
if (normalizedFormat === 'yy') {
|
|
10386
|
+
const num = Number(value);
|
|
10387
|
+
return (/^\d{2}$/u).test(value) && num >= 0 && num <= 99;
|
|
10388
|
+
}
|
|
10389
|
+
if (normalizedFormat === 'yyyy') {
|
|
10390
|
+
const num = Number(value);
|
|
10391
|
+
return (/^\d{4}$/u).test(value) && num >= 1900 && num <= 2100;
|
|
10392
|
+
}
|
|
10393
|
+
|
|
10394
|
+
const dateFnsMask = this.toDateFnsMask(normalizedFormat);
|
|
10395
|
+
// Use the 1st of the current month as the reference so that formats
|
|
10396
|
+
// omitting a day (e.g. MM/yyyy) never roll over on days 29–31.
|
|
10397
|
+
const referenceDate = new Date();
|
|
10398
|
+
referenceDate.setDate(1);
|
|
10399
|
+
const parsed = parse(value, dateFnsMask, referenceDate);
|
|
10400
|
+
if (!isValid(parsed) || format(parsed, dateFnsMask) !== value) {
|
|
10401
|
+
return false;
|
|
10402
|
+
}
|
|
10403
|
+
if (normalizedFormat.includes('yyyy')) {
|
|
10404
|
+
const year = parsed.getFullYear();
|
|
10405
|
+
return year >= 1900 && year <= 2100;
|
|
10406
|
+
}
|
|
10407
|
+
return true;
|
|
10408
|
+
}
|
|
10409
|
+
|
|
10352
10410
|
/**
|
|
10353
10411
|
* Converts a display string to its model value.
|
|
10354
10412
|
* For full date formats, converts the display string to an ISO date string.
|
|
@@ -10385,6 +10443,13 @@ class AuroInputUtilities {
|
|
|
10385
10443
|
* @returns {string | undefined}
|
|
10386
10444
|
*/
|
|
10387
10445
|
toFormattedValue(valueObject, format) {
|
|
10446
|
+
// Exposed publicly via `AuroInputUtil.toFormattedValue`, so a missing
|
|
10447
|
+
// `format` argument has to fail gracefully rather than throw on
|
|
10448
|
+
// `format.toLowerCase()`. Treat any falsy value (undefined, null, '')
|
|
10449
|
+
// as "no format → no display value".
|
|
10450
|
+
if (!format) {
|
|
10451
|
+
return undefined;
|
|
10452
|
+
}
|
|
10388
10453
|
const normalizedFormat = format.toLowerCase();
|
|
10389
10454
|
const maskOptions = this.getMaskOptions('date', normalizedFormat);
|
|
10390
10455
|
|
|
@@ -10523,9 +10588,10 @@ class DomHandler {
|
|
|
10523
10588
|
class BaseInput extends AuroElement {
|
|
10524
10589
|
|
|
10525
10590
|
// Delegate focus to the native <input> inside the shadow root so that
|
|
10526
|
-
//
|
|
10527
|
-
//
|
|
10528
|
-
//
|
|
10591
|
+
// clicking anywhere on the input wrapper focuses the native input, and
|
|
10592
|
+
// programmatic .focus() calls on elements in the shadow DOM work correctly.
|
|
10593
|
+
// The initial-load focus theft was caused by the static `autofocus`
|
|
10594
|
+
// attribute on the bib input (now conditional), not by delegatesFocus.
|
|
10529
10595
|
static get shadowRootOptions() {
|
|
10530
10596
|
return {
|
|
10531
10597
|
...AuroElement.shadowRootOptions,
|
|
@@ -10536,79 +10602,19 @@ class BaseInput extends AuroElement {
|
|
|
10536
10602
|
constructor() {
|
|
10537
10603
|
super();
|
|
10538
10604
|
|
|
10539
|
-
|
|
10540
|
-
|
|
10541
|
-
|
|
10542
|
-
|
|
10543
|
-
|
|
10544
|
-
|
|
10545
|
-
|
|
10546
|
-
|
|
10547
|
-
|
|
10548
|
-
|
|
10549
|
-
this.required = false;
|
|
10550
|
-
this.onDark = false;
|
|
10551
|
-
this.setCustomValidityForType = undefined;
|
|
10552
|
-
this.size = 'lg';
|
|
10553
|
-
this.shape = 'classic';
|
|
10554
|
-
this.value = undefined;
|
|
10555
|
-
this._valueObject = undefined;
|
|
10556
|
-
|
|
10557
|
-
this._initializePrivateDefaults();
|
|
10558
|
-
}
|
|
10559
|
-
|
|
10560
|
-
/**
|
|
10561
|
-
* Internal Defaults.
|
|
10562
|
-
* @private
|
|
10563
|
-
* @returns {void}
|
|
10564
|
-
*/
|
|
10565
|
-
_initializePrivateDefaults() {
|
|
10605
|
+
// Single-source initialization. Alphabetized so duplicate or stale
|
|
10606
|
+
// defaults are immediately obvious on a diff. Every field is assigned
|
|
10607
|
+
// exactly once here (previously the constructor + the old
|
|
10608
|
+
// `_initializePrivateDefaults` overlapped — both wrote ~14 of the same
|
|
10609
|
+
// fields and double-allocated `util` and `validation`, discarding the
|
|
10610
|
+
// first instance). `validation` is now allocated exactly once; `util`
|
|
10611
|
+
// is seeded here with an en-US default and then rebuilt in
|
|
10612
|
+
// `connectedCallback` once the consumer-resolved locale is available,
|
|
10613
|
+
// so a parent (datepicker/combobox) calling `validate()` synchronously
|
|
10614
|
+
// during its own update cycle sees a populated util instance.
|
|
10566
10615
|
this.activeLabel = false;
|
|
10567
|
-
this.appearance = "default";
|
|
10568
|
-
this.icon = false;
|
|
10569
|
-
this.disabled = false;
|
|
10570
|
-
this.dvInputOnly = false;
|
|
10571
|
-
this.hideLabelVisually = false;
|
|
10572
|
-
this.max = undefined;
|
|
10573
|
-
this.maxLength = undefined;
|
|
10574
|
-
this.min = undefined;
|
|
10575
|
-
this.minLength = undefined;
|
|
10576
|
-
this.noValidate = false;
|
|
10577
|
-
this.onDark = false;
|
|
10578
|
-
this.required = false;
|
|
10579
|
-
this.setCustomValidityForType = undefined;
|
|
10580
|
-
|
|
10581
|
-
// Used for storing raw values returned from input mask.
|
|
10582
|
-
this._rawMaskValue = undefined;
|
|
10583
|
-
|
|
10584
|
-
/**
|
|
10585
|
-
* @private
|
|
10586
|
-
*/
|
|
10587
|
-
this.layout = 'classic';
|
|
10588
|
-
|
|
10589
|
-
/**
|
|
10590
|
-
* @private
|
|
10591
|
-
*/
|
|
10592
|
-
this.shape = 'classic';
|
|
10593
|
-
|
|
10594
|
-
/**
|
|
10595
|
-
* @private
|
|
10596
|
-
*/
|
|
10597
|
-
this.size = 'lg';
|
|
10598
|
-
|
|
10599
|
-
this.touched = false;
|
|
10600
|
-
this.util = new AuroInputUtilities({
|
|
10601
|
-
locale: "en-US",
|
|
10602
|
-
format: this.format
|
|
10603
|
-
});
|
|
10604
|
-
this.validation = new AuroFormValidation();
|
|
10605
|
-
this.inputIconName = undefined;
|
|
10606
|
-
this.showPassword = false;
|
|
10607
|
-
this.validationCCLength = undefined;
|
|
10608
|
-
this.hasValue = false;
|
|
10609
|
-
this.label = 'Input label is undefined';
|
|
10610
|
-
|
|
10611
10616
|
|
|
10617
|
+
/** @private */
|
|
10612
10618
|
this.allowedInputTypes = [
|
|
10613
10619
|
"text",
|
|
10614
10620
|
"number",
|
|
@@ -10617,7 +10623,9 @@ class BaseInput extends AuroElement {
|
|
|
10617
10623
|
"credit-card",
|
|
10618
10624
|
"tel"
|
|
10619
10625
|
];
|
|
10620
|
-
this.
|
|
10626
|
+
this.appearance = "default";
|
|
10627
|
+
|
|
10628
|
+
/** @private */
|
|
10621
10629
|
this.dateFormatMap = {
|
|
10622
10630
|
'mm/dd/yyyy': 'dateMMDDYYYY',
|
|
10623
10631
|
'dd/mm/yyyy': 'dateDDMMYYYY',
|
|
@@ -10634,27 +10642,64 @@ class BaseInput extends AuroElement {
|
|
|
10634
10642
|
'dd/mm': 'dateDDMM',
|
|
10635
10643
|
'mm/dd': 'dateMMDD'
|
|
10636
10644
|
};
|
|
10645
|
+
this.disabled = false;
|
|
10646
|
+
|
|
10647
|
+
/** @private */
|
|
10637
10648
|
this.domHandler = new DomHandler();
|
|
10638
10649
|
this.dvInputOnly = false;
|
|
10639
10650
|
this.hasValue = false;
|
|
10651
|
+
this.hideLabelVisually = false;
|
|
10652
|
+
this.icon = false;
|
|
10653
|
+
|
|
10654
|
+
/** @private */
|
|
10640
10655
|
this.inputIconName = undefined;
|
|
10656
|
+
|
|
10657
|
+
/** @private */
|
|
10641
10658
|
this.label = 'Input label is undefined';
|
|
10659
|
+
this.layout = 'classic';
|
|
10660
|
+
this.locale = 'en-US';
|
|
10661
|
+
this._format = undefined;
|
|
10662
|
+
|
|
10663
|
+
/** @private */
|
|
10664
|
+
this._userSetFormat = false;
|
|
10665
|
+
this.max = undefined;
|
|
10666
|
+
this.maxLength = undefined;
|
|
10667
|
+
this.min = undefined;
|
|
10668
|
+
this.minLength = undefined;
|
|
10642
10669
|
this.noValidate = false;
|
|
10643
|
-
this.
|
|
10670
|
+
this.onDark = false;
|
|
10671
|
+
this.required = false;
|
|
10672
|
+
this.setCustomValidityForType = undefined;
|
|
10673
|
+
// Credit Card is intentionally excluded — its mask manages the cursor
|
|
10674
|
+
// itself, and listing it here caused cursor placement issues in Safari.
|
|
10675
|
+
/** @private */
|
|
10644
10676
|
this.setSelectionInputTypes = [
|
|
10645
10677
|
"text",
|
|
10646
10678
|
"password",
|
|
10647
10679
|
"email"
|
|
10648
|
-
];
|
|
10680
|
+
];
|
|
10681
|
+
this.shape = 'classic';
|
|
10682
|
+
|
|
10683
|
+
/** @private */
|
|
10649
10684
|
this.showPassword = false;
|
|
10685
|
+
this.size = 'lg';
|
|
10650
10686
|
this.touched = false;
|
|
10687
|
+
|
|
10688
|
+
/** @private */
|
|
10651
10689
|
this.uniqueId = new UniqueId().create();
|
|
10690
|
+
|
|
10691
|
+
/** @private */
|
|
10652
10692
|
this.util = new AuroInputUtilities({
|
|
10653
10693
|
locale: this.locale,
|
|
10654
10694
|
format: this.format
|
|
10655
10695
|
});
|
|
10696
|
+
|
|
10697
|
+
/** @private */
|
|
10656
10698
|
this.validation = new AuroFormValidation();
|
|
10699
|
+
|
|
10700
|
+
/** @private */
|
|
10657
10701
|
this.validationCCLength = undefined;
|
|
10702
|
+
this.value = undefined;
|
|
10658
10703
|
}
|
|
10659
10704
|
|
|
10660
10705
|
// function to define props used within the scope of this component
|
|
@@ -10780,7 +10825,8 @@ class BaseInput extends AuroElement {
|
|
|
10780
10825
|
*/
|
|
10781
10826
|
format: {
|
|
10782
10827
|
type: String,
|
|
10783
|
-
reflect: true
|
|
10828
|
+
reflect: true,
|
|
10829
|
+
noAccessor: true
|
|
10784
10830
|
},
|
|
10785
10831
|
|
|
10786
10832
|
/**
|
|
@@ -10984,6 +11030,13 @@ class BaseInput extends AuroElement {
|
|
|
10984
11030
|
type: String
|
|
10985
11031
|
},
|
|
10986
11032
|
|
|
11033
|
+
/**
|
|
11034
|
+
* Custom help text message to display when validity = `patternMismatch`.
|
|
11035
|
+
*/
|
|
11036
|
+
setCustomValidityPatternMismatch: {
|
|
11037
|
+
type: String
|
|
11038
|
+
},
|
|
11039
|
+
|
|
10987
11040
|
/**
|
|
10988
11041
|
* Custom help text message to display when validity = `rangeOverflow`.
|
|
10989
11042
|
*/
|
|
@@ -11054,7 +11107,7 @@ class BaseInput extends AuroElement {
|
|
|
11054
11107
|
|
|
11055
11108
|
/**
|
|
11056
11109
|
* Populates the `type` attribute on the input.
|
|
11057
|
-
* @type {'text' | 'password' | 'email' | 'credit-card' | 'tel' | 'number'}
|
|
11110
|
+
* @type {'text' | 'password' | 'email' | 'credit-card' | 'tel' | 'number' | 'date'}
|
|
11058
11111
|
* @default 'text'
|
|
11059
11112
|
*/
|
|
11060
11113
|
type: {
|
|
@@ -11079,7 +11132,7 @@ class BaseInput extends AuroElement {
|
|
|
11079
11132
|
|
|
11080
11133
|
/**
|
|
11081
11134
|
* Populates the `value` attribute on the input. Can also be read to retrieve the current value of the input.
|
|
11082
|
-
*
|
|
11135
|
+
* For `date` type inputs using a full date format (year/month/day), the `value` should be ISO (YYYY-MM-DD). Partial date formats use the display format.
|
|
11083
11136
|
*/
|
|
11084
11137
|
value: {
|
|
11085
11138
|
type: String
|
|
@@ -11092,7 +11145,7 @@ class BaseInput extends AuroElement {
|
|
|
11092
11145
|
* @returns {Date|undefined}
|
|
11093
11146
|
*/
|
|
11094
11147
|
get valueObject() {
|
|
11095
|
-
return this.
|
|
11148
|
+
return this.value && dateFormatter.isValidDate(this.value) ? dateFormatter.stringToDateInstance(this.value) : undefined;
|
|
11096
11149
|
}
|
|
11097
11150
|
|
|
11098
11151
|
/**
|
|
@@ -11100,7 +11153,7 @@ class BaseInput extends AuroElement {
|
|
|
11100
11153
|
* @returns {Date|undefined}
|
|
11101
11154
|
*/
|
|
11102
11155
|
get minObject() {
|
|
11103
|
-
return this.
|
|
11156
|
+
return this.min && dateFormatter.isValidDate(this.min) ? dateFormatter.stringToDateInstance(this.min) : undefined;
|
|
11104
11157
|
}
|
|
11105
11158
|
|
|
11106
11159
|
/**
|
|
@@ -11108,33 +11161,63 @@ class BaseInput extends AuroElement {
|
|
|
11108
11161
|
* @returns {Date|undefined}
|
|
11109
11162
|
*/
|
|
11110
11163
|
get maxObject() {
|
|
11111
|
-
return this.
|
|
11164
|
+
return this.max && dateFormatter.isValidDate(this.max) ? dateFormatter.stringToDateInstance(this.max) : undefined;
|
|
11165
|
+
}
|
|
11166
|
+
|
|
11167
|
+
get format() {
|
|
11168
|
+
return this._format;
|
|
11112
11169
|
}
|
|
11113
11170
|
|
|
11114
11171
|
/**
|
|
11115
|
-
*
|
|
11116
|
-
*
|
|
11117
|
-
*
|
|
11118
|
-
* @param {Date|undefined} propertyValue - Value to assign.
|
|
11119
|
-
* @returns {void}
|
|
11172
|
+
* Overrides LitElement's generated accessor so we can track whether the
|
|
11173
|
+
* consumer explicitly set `format`. Locale-derived updates use
|
|
11174
|
+
* `_setFormatFromLocale` instead, which skips this flag.
|
|
11120
11175
|
*/
|
|
11121
|
-
|
|
11122
|
-
const
|
|
11123
|
-
|
|
11124
|
-
|
|
11125
|
-
|
|
11126
|
-
|
|
11127
|
-
}
|
|
11176
|
+
set format(value) {
|
|
11177
|
+
const oldValue = this._format;
|
|
11178
|
+
this._format = value ? value.toLowerCase() : value;
|
|
11179
|
+
this._userSetFormat = Boolean(value);
|
|
11180
|
+
this.requestUpdate('format', oldValue);
|
|
11181
|
+
}
|
|
11128
11182
|
|
|
11129
|
-
|
|
11130
|
-
|
|
11183
|
+
/**
|
|
11184
|
+
* Sets format without marking it as user-set. Used by locale auto-derive
|
|
11185
|
+
* so that a subsequent locale change can still update the format.
|
|
11186
|
+
* @private
|
|
11187
|
+
* @param {string} value
|
|
11188
|
+
*/
|
|
11189
|
+
_setFormatFromLocale(value) {
|
|
11190
|
+
const oldValue = this._format;
|
|
11191
|
+
this._format = value ? value.toLowerCase() : value;
|
|
11192
|
+
this.requestUpdate('format', oldValue);
|
|
11131
11193
|
}
|
|
11132
11194
|
|
|
11133
11195
|
connectedCallback() {
|
|
11134
11196
|
super.connectedCallback();
|
|
11135
11197
|
|
|
11198
|
+
// Mark for query selectors when registered under a versioned tag (e.g. inside
|
|
11199
|
+
// a datepicker/combobox). Must run before parent components call validate() on
|
|
11200
|
+
// their inner inputs — the validation framework matches via tag-or-attribute,
|
|
11201
|
+
// and parents trigger validation during their own updated() cycle, which can
|
|
11202
|
+
// precede this input's firstUpdated().
|
|
11203
|
+
if (this.tagName.toLowerCase() !== 'auro-input' && !this.hasAttribute('auro-input')) {
|
|
11204
|
+
this.setAttribute('auro-input', '');
|
|
11205
|
+
}
|
|
11206
|
+
|
|
11136
11207
|
this.locale = this.domHandler.getLocale(this);
|
|
11137
11208
|
notifyOnLangChange(this);
|
|
11209
|
+
|
|
11210
|
+
// Pre-compute lengthForType and date-object fields so a parent (e.g. datepicker)
|
|
11211
|
+
// calling our validate() synchronously during its own updated() cycle sees
|
|
11212
|
+
// populated values. Without this, range validation silently no-ops because
|
|
11213
|
+
// `max.length === lengthForType` fails when lengthForType is still undefined.
|
|
11214
|
+
// Rebuild util here (constructor seeded with en-US default) so configureDataForType's
|
|
11215
|
+
// locale-derived format lookup uses the actual locale just resolved above.
|
|
11216
|
+
this.util = new AuroInputUtilities({
|
|
11217
|
+
locale: this.locale,
|
|
11218
|
+
format: this.format
|
|
11219
|
+
});
|
|
11220
|
+
this.configureDataForType();
|
|
11138
11221
|
}
|
|
11139
11222
|
|
|
11140
11223
|
disconnectedCallback() {
|
|
@@ -11154,10 +11237,6 @@ class BaseInput extends AuroElement {
|
|
|
11154
11237
|
this.wrapperElement.addEventListener('click', this.handleClick);
|
|
11155
11238
|
}
|
|
11156
11239
|
|
|
11157
|
-
// add attribute for query selectors when auro-input is registered under a custom name
|
|
11158
|
-
if (this.tagName.toLowerCase() !== 'auro-input') {
|
|
11159
|
-
this.setAttribute('auro-input', true);
|
|
11160
|
-
}
|
|
11161
11240
|
this.inputId = this.id ? `${this.id}-input` : window.crypto.randomUUID();
|
|
11162
11241
|
|
|
11163
11242
|
// use validity message override if declared when initializing the component
|
|
@@ -11168,7 +11247,6 @@ class BaseInput extends AuroElement {
|
|
|
11168
11247
|
this.setCustomHelpTextMessage();
|
|
11169
11248
|
this.configureAutoFormatting();
|
|
11170
11249
|
this.configureDataForType();
|
|
11171
|
-
this.syncDateValues();
|
|
11172
11250
|
}
|
|
11173
11251
|
|
|
11174
11252
|
/**
|
|
@@ -11204,6 +11282,12 @@ class BaseInput extends AuroElement {
|
|
|
11204
11282
|
return;
|
|
11205
11283
|
}
|
|
11206
11284
|
|
|
11285
|
+
// While configureAutoFormatting is running, imask's internal updateControl
|
|
11286
|
+
// writes el.value to align display with the masked value. A synthetic input
|
|
11287
|
+
// event from that write would re-enter handleInput → processCreditCard mid-setup
|
|
11288
|
+
// and clobber a Lit value that was just pushed by the parent combobox.
|
|
11289
|
+
if (component._configuringMask) return;
|
|
11290
|
+
|
|
11207
11291
|
// If all guard clauses are passed, dispatch the event
|
|
11208
11292
|
const inputEvent = new InputEvent('input', {
|
|
11209
11293
|
bubbles: true,
|
|
@@ -11220,7 +11304,7 @@ class BaseInput extends AuroElement {
|
|
|
11220
11304
|
|
|
11221
11305
|
/**
|
|
11222
11306
|
* @private
|
|
11223
|
-
* @deprecated https://dev.azure.com/itsals/E_Retain_Content/_workitems/edit/1557296
|
|
11307
|
+
* @deprecated See https://dev.azure.com/itsals/E_Retain_Content/_workitems/edit/1557296.
|
|
11224
11308
|
* @returns {void} Sets the default help text for the input.
|
|
11225
11309
|
*/
|
|
11226
11310
|
setCustomHelpTextMessage() {
|
|
@@ -11238,6 +11322,13 @@ class BaseInput extends AuroElement {
|
|
|
11238
11322
|
|
|
11239
11323
|
if (typeToI18n.includes(this.type)) {
|
|
11240
11324
|
this.setCustomValidityForType = i18n(this.lang, this.type);
|
|
11325
|
+
// COVERAGE: this `else if` branch is unreachable in WTR. connectedCallback
|
|
11326
|
+
// (L682) calls configureDataForType, which at L1266-1268 assigns
|
|
11327
|
+
// `this.format = this.util.getDateMaskFromLocale().toLowerCase()` for any
|
|
11328
|
+
// type=date input whose `format` attribute is unset. That runs before
|
|
11329
|
+
// firstUpdated invokes setCustomHelpTextMessage, so `!this.format` is
|
|
11330
|
+
// always false here. Retained as a defensive fallback; the whole function
|
|
11331
|
+
// is @deprecated per AB#1557296 and slated for removal.
|
|
11241
11332
|
} else if (!this.format && this.type === 'date') {
|
|
11242
11333
|
this.setCustomValidityForType = i18n(this.lang, 'dateMMDDYYYY');
|
|
11243
11334
|
} else if (this.dateFormatMap[this.format]) {
|
|
@@ -11254,12 +11345,10 @@ class BaseInput extends AuroElement {
|
|
|
11254
11345
|
updated(changedProperties) {
|
|
11255
11346
|
super.updated(changedProperties);
|
|
11256
11347
|
|
|
11257
|
-
// When locale changes
|
|
11258
|
-
// Only runs if the current format is still the previous locale's default (not user-overridden).
|
|
11348
|
+
// When locale changes, auto-derive format unless the consumer explicitly set one.
|
|
11259
11349
|
if (changedProperties.has('locale') && !changedProperties.has('format') && this.type === 'date') {
|
|
11260
|
-
|
|
11261
|
-
|
|
11262
|
-
this.format = getDateFormatFromLocale(this.locale);
|
|
11350
|
+
if (!this._userSetFormat) {
|
|
11351
|
+
this._setFormatFromLocale(getDateFormatFromLocale(this.locale));
|
|
11263
11352
|
}
|
|
11264
11353
|
}
|
|
11265
11354
|
|
|
@@ -11299,8 +11388,6 @@ class BaseInput extends AuroElement {
|
|
|
11299
11388
|
this.configureDataForType();
|
|
11300
11389
|
}
|
|
11301
11390
|
|
|
11302
|
-
this.syncDateValues(changedProperties);
|
|
11303
|
-
|
|
11304
11391
|
if (changedProperties.has('value')) {
|
|
11305
11392
|
if (this.value && this.value.length > 0) {
|
|
11306
11393
|
this.hasValue = true;
|
|
@@ -11322,7 +11409,16 @@ class BaseInput extends AuroElement {
|
|
|
11322
11409
|
|
|
11323
11410
|
if (formattedValue !== this.inputElement.value) {
|
|
11324
11411
|
this.skipNextProgrammaticInputEvent = true;
|
|
11325
|
-
if (
|
|
11412
|
+
if (this.maskInstance && this.type !== 'date') {
|
|
11413
|
+
// Route through the mask so its _value and el.value stay in lock-step
|
|
11414
|
+
// (set value calls updateControl which writes el.value = displayValue).
|
|
11415
|
+
// Writing el.value directly leaves the mask thinking displayValue is
|
|
11416
|
+
// stale; _saveSelection on the next focus/click then warns. Date is
|
|
11417
|
+
// excluded because its formattedValue can be raw ISO when the calendar
|
|
11418
|
+
// is invalid, and re-masking through mm/dd/yyyy would truncate it and
|
|
11419
|
+
// flip validity from patternMismatch to tooShort.
|
|
11420
|
+
this.maskInstance.value = formattedValue || '';
|
|
11421
|
+
} else if (formattedValue) {
|
|
11326
11422
|
this.inputElement.value = formattedValue;
|
|
11327
11423
|
} else {
|
|
11328
11424
|
this.inputElement.value = '';
|
|
@@ -11362,127 +11458,85 @@ class BaseInput extends AuroElement {
|
|
|
11362
11458
|
}));
|
|
11363
11459
|
}
|
|
11364
11460
|
|
|
11365
|
-
|
|
11366
|
-
/**
|
|
11367
|
-
* Synchronizes the ISO string values and Date object representations for date-related properties.
|
|
11368
|
-
* This keeps the model and display values aligned when either side changes.
|
|
11369
|
-
*
|
|
11370
|
-
* When a full date format is in use, this method updates `value`, `min`, and `max` from their corresponding
|
|
11371
|
-
* Date objects or vice versa, based on which properties have changed. It only runs when the current configuration
|
|
11372
|
-
* represents a full year/month/day date format.
|
|
11373
|
-
*
|
|
11374
|
-
* @param {Map<string, unknown>|undefined} [changedProperties=undefined] - Optional map of changed properties used to limit which values are synchronized.
|
|
11375
|
-
* @returns {void}
|
|
11376
|
-
* @private
|
|
11377
|
-
*/
|
|
11378
|
-
syncDateValues(changedProperties = undefined) {
|
|
11379
|
-
if (!this.util.isFullDateFormat(this.type, this.format)) {
|
|
11380
|
-
return;
|
|
11381
|
-
}
|
|
11382
|
-
|
|
11383
|
-
this.syncSingleDateValue(changedProperties, 'valueObject', 'value');
|
|
11384
|
-
this.syncSingleDateValue(changedProperties, 'minObject', 'min');
|
|
11385
|
-
this.syncSingleDateValue(changedProperties, 'maxObject', 'max');
|
|
11386
|
-
}
|
|
11387
|
-
|
|
11388
|
-
/**
|
|
11389
|
-
* Synchronizes one date object/string property pair.
|
|
11390
|
-
* @private
|
|
11391
|
-
* @param {Map<string, unknown>|undefined} changedProperties - Map of changed properties from Lit.
|
|
11392
|
-
* @param {string} objectProperty - Date object property name.
|
|
11393
|
-
* @param {string} valueProperty - ISO string property name.
|
|
11394
|
-
* @returns {void}
|
|
11395
|
-
*/
|
|
11396
|
-
syncSingleDateValue(changedProperties, objectProperty, valueProperty) {
|
|
11397
|
-
const objectPropertyChanged = !changedProperties || changedProperties.has(objectProperty);
|
|
11398
|
-
|
|
11399
|
-
// objectProperty wins over valueProperty when both changed
|
|
11400
|
-
if (objectPropertyChanged && this[objectProperty]) {
|
|
11401
|
-
this[valueProperty] = dateFormatter.toISOFormatString(this[objectProperty]);
|
|
11402
|
-
return;
|
|
11403
|
-
}
|
|
11404
|
-
|
|
11405
|
-
const valuePropertyChanged = !changedProperties || changedProperties.has(valueProperty);
|
|
11406
|
-
if (!valuePropertyChanged) {
|
|
11407
|
-
return;
|
|
11408
|
-
}
|
|
11409
|
-
|
|
11410
|
-
// when value is newly set to the same ISO string that corresponds to the existing Date object, do not clear the Date object (avoid unnecessary updates)
|
|
11411
|
-
if (
|
|
11412
|
-
changedProperties &&
|
|
11413
|
-
valueProperty === 'value' &&
|
|
11414
|
-
changedProperties.get('value') === undefined &&
|
|
11415
|
-
this[objectProperty] instanceof Date &&
|
|
11416
|
-
this[valueProperty] === dateFormatter.toISOFormatString(this[objectProperty])
|
|
11417
|
-
) {
|
|
11418
|
-
return;
|
|
11419
|
-
}
|
|
11420
|
-
|
|
11421
|
-
if (dateFormatter.isValidDate(this[valueProperty])) {
|
|
11422
|
-
this.setDateObjectProperty(objectProperty, dateFormatter.stringToDateInstance(this[valueProperty]));
|
|
11423
|
-
} else {
|
|
11424
|
-
this.setDateObjectProperty(objectProperty, undefined);
|
|
11425
|
-
}
|
|
11426
|
-
}
|
|
11427
|
-
|
|
11428
11461
|
/**
|
|
11429
11462
|
* Sets up IMasks and logic based on auto-formatting requirements.
|
|
11430
11463
|
* @private
|
|
11431
11464
|
* @returns {void}
|
|
11432
11465
|
*/
|
|
11433
11466
|
configureAutoFormatting() {
|
|
11434
|
-
|
|
11435
|
-
|
|
11436
|
-
|
|
11437
|
-
|
|
11438
|
-
|
|
11439
|
-
this.
|
|
11467
|
+
// _configuringMask gates two things: external re-entry into this method
|
|
11468
|
+
// while setup is mid-flight (from property changes that call back here),
|
|
11469
|
+
// and the accept/complete listeners below — both need to ignore the mask
|
|
11470
|
+
// events fired by our own value-restore step.
|
|
11471
|
+
if (this._configuringMask) return;
|
|
11472
|
+
this._configuringMask = true;
|
|
11473
|
+
try {
|
|
11474
|
+
// Destroy any prior mask so IMask can attach fresh under the new format.
|
|
11475
|
+
// Null the reference too — if the new maskOptions.mask is falsy (e.g.
|
|
11476
|
+
// type switched from credit-card to text) the IMask() reassignment
|
|
11477
|
+
// below is skipped, and downstream writes at line ~823 would otherwise
|
|
11478
|
+
// route through the destroyed instance.
|
|
11479
|
+
if (this.maskInstance) {
|
|
11480
|
+
this.maskInstance.destroy();
|
|
11481
|
+
this.maskInstance = null;
|
|
11482
|
+
}
|
|
11440
11483
|
|
|
11441
|
-
|
|
11484
|
+
this.util.updateFormat(this.format);
|
|
11442
11485
|
|
|
11443
|
-
|
|
11486
|
+
const maskOptions = this.util.getMaskOptions(this.type, this.format);
|
|
11487
|
+
|
|
11488
|
+
if (this.inputElement && maskOptions.mask) {
|
|
11489
|
+
// Capture the current display so it can be re-applied after IMask
|
|
11490
|
+
// attaches. The restore at the bottom goes through maskInstance.value
|
|
11491
|
+
// (not inputElement.value directly) so the mask's internal state and
|
|
11492
|
+
// the input's displayed text stay in lock-step.
|
|
11493
|
+
let existingValue = this.inputElement.value;
|
|
11494
|
+
|
|
11495
|
+
// Format-change case (e.g. locale switch): existingValue is the OLD
|
|
11496
|
+
// mask's display string and may not parse under the new mask. When
|
|
11497
|
+
// we have a valid date model, rebuild the display from valueObject
|
|
11498
|
+
// (the canonical source) using the new mask's format function.
|
|
11499
|
+
if (
|
|
11500
|
+
this.util.isFullDateFormat(this.type, this.format) &&
|
|
11501
|
+
this.value &&
|
|
11502
|
+
this.valueObject &&
|
|
11503
|
+
typeof maskOptions.format === 'function'
|
|
11504
|
+
) {
|
|
11505
|
+
existingValue = maskOptions.format(this.valueObject);
|
|
11506
|
+
}
|
|
11444
11507
|
|
|
11445
|
-
|
|
11446
|
-
|
|
11447
|
-
|
|
11448
|
-
|
|
11449
|
-
|
|
11450
|
-
// re-using the old display string, which may be invalid in the new mask.
|
|
11451
|
-
let existingValue = this.inputElement.value;
|
|
11452
|
-
if (
|
|
11453
|
-
this.util.isFullDateFormat(this.type, this.format) &&
|
|
11454
|
-
this.value &&
|
|
11455
|
-
dateFormatter.isValidDate(this.value) &&
|
|
11456
|
-
this.valueObject instanceof Date &&
|
|
11457
|
-
!Number.isNaN(this.valueObject.getTime()) &&
|
|
11458
|
-
typeof maskOptions.format === 'function'
|
|
11459
|
-
) {
|
|
11460
|
-
existingValue = maskOptions.format(this.valueObject);
|
|
11461
|
-
}
|
|
11508
|
+
// Clear before IMask attaches so the constructor seeds an empty
|
|
11509
|
+
// internal value. Otherwise IMask reads the stale unmasked string
|
|
11510
|
+
// and emits a spurious 'accept' before the restore below runs.
|
|
11511
|
+
this.skipNextProgrammaticInputEvent = true;
|
|
11512
|
+
this.inputElement.value = '';
|
|
11462
11513
|
|
|
11463
|
-
|
|
11464
|
-
this.inputElement.value = '';
|
|
11514
|
+
this.maskInstance = IMask(this.inputElement, maskOptions);
|
|
11465
11515
|
|
|
11466
|
-
|
|
11516
|
+
// Mask fires 'accept' on every value change, including the restore
|
|
11517
|
+
// step below. Skip events fired during configureAutoFormatting so
|
|
11518
|
+
// we don't overwrite a value the parent just pushed.
|
|
11519
|
+
this.maskInstance.on('accept', () => {
|
|
11520
|
+
if (this._configuringMask) return;
|
|
11521
|
+
this.value = this.util.toModelValue(this.maskInstance.value, this.format);
|
|
11522
|
+
});
|
|
11467
11523
|
|
|
11468
|
-
|
|
11469
|
-
|
|
11470
|
-
|
|
11471
|
-
this.
|
|
11472
|
-
|
|
11473
|
-
|
|
11524
|
+
// Mask fires 'complete' on the restore step below for any value that
|
|
11525
|
+
// happens to be a complete match. Same setup-suppression as 'accept'.
|
|
11526
|
+
this.maskInstance.on('complete', () => {
|
|
11527
|
+
if (this._configuringMask) return;
|
|
11528
|
+
this.value = this.util.toModelValue(this.maskInstance.value, this.format);
|
|
11529
|
+
});
|
|
11474
11530
|
|
|
11475
|
-
|
|
11476
|
-
|
|
11477
|
-
|
|
11478
|
-
|
|
11531
|
+
// Write existingValue through the mask (not the input directly) so
|
|
11532
|
+
// the mask reformats it under the new rules and keeps its internal
|
|
11533
|
+
// _value aligned with the input's displayed text.
|
|
11534
|
+
if (existingValue) {
|
|
11535
|
+
this.maskInstance.value = existingValue;
|
|
11479
11536
|
}
|
|
11480
|
-
});
|
|
11481
|
-
|
|
11482
|
-
// Restore the stashed value through IMask so it's properly masked
|
|
11483
|
-
if (existingValue) {
|
|
11484
|
-
this.maskInstance.value = existingValue;
|
|
11485
11537
|
}
|
|
11538
|
+
} finally {
|
|
11539
|
+
this._configuringMask = false;
|
|
11486
11540
|
}
|
|
11487
11541
|
}
|
|
11488
11542
|
|
|
@@ -11492,14 +11546,17 @@ class BaseInput extends AuroElement {
|
|
|
11492
11546
|
* @returns {void}
|
|
11493
11547
|
*/
|
|
11494
11548
|
notifyValueChanged() {
|
|
11495
|
-
|
|
11496
|
-
|
|
11497
|
-
|
|
11549
|
+
// This echoes Lit's reactive value update (and handleClickClear's
|
|
11550
|
+
// programmatic clear) — it is NOT a fresh user-input event. Mark it
|
|
11551
|
+
// `isProgrammatic` so consumers (e.g. auro-combobox) can distinguish
|
|
11552
|
+
// it from genuine user typing and skip clobbering their own
|
|
11553
|
+
// programmatic state during init-time renders.
|
|
11554
|
+
const inputEvent = new Event('input', {
|
|
11498
11555
|
bubbles: true,
|
|
11499
11556
|
composed: true,
|
|
11500
11557
|
});
|
|
11558
|
+
inputEvent.isProgrammatic = true;
|
|
11501
11559
|
|
|
11502
|
-
// Dispatched event to alert outside shadow DOM context of event firing.
|
|
11503
11560
|
this.dispatchEvent(inputEvent);
|
|
11504
11561
|
}
|
|
11505
11562
|
|
|
@@ -11556,6 +11613,38 @@ class BaseInput extends AuroElement {
|
|
|
11556
11613
|
this.touched = true;
|
|
11557
11614
|
this.validation.validate(this);
|
|
11558
11615
|
}
|
|
11616
|
+
|
|
11617
|
+
// Prevents cursor jumping in Safari. Setting `this.value` triggers a Lit
|
|
11618
|
+
// update that can re-render the input and reset the native cursor; we
|
|
11619
|
+
// capture the caret position before that update commits and restore it
|
|
11620
|
+
// via `setSelectionRange` once the update has flushed. Gated on
|
|
11621
|
+
// `setSelectionInputTypes` so credit-card (and other masked types whose
|
|
11622
|
+
// formatter manages the cursor itself) doesn't get a competing write.
|
|
11623
|
+
// Capture the caret position INSIDE the gate — reading `selectionStart`
|
|
11624
|
+
// on input types that don't support text selection (number, email in
|
|
11625
|
+
// some browsers) throws InvalidStateError, which would crash all input
|
|
11626
|
+
// handling. Wrap the read in try/catch belt-and-suspenders even though
|
|
11627
|
+
// the gated types currently support it, since the list is a public
|
|
11628
|
+
// property a consumer could mutate.
|
|
11629
|
+
if (this.setSelectionInputTypes.includes(this.type)) {
|
|
11630
|
+
let selectionStart = null;
|
|
11631
|
+
try {
|
|
11632
|
+
({ selectionStart } = this.inputElement);
|
|
11633
|
+
} catch {
|
|
11634
|
+
return;
|
|
11635
|
+
}
|
|
11636
|
+
if (typeof selectionStart !== 'number') {
|
|
11637
|
+
return;
|
|
11638
|
+
}
|
|
11639
|
+
this.updateComplete.then(() => {
|
|
11640
|
+
try {
|
|
11641
|
+
this.inputElement.setSelectionRange(selectionStart, selectionStart);
|
|
11642
|
+
} catch {
|
|
11643
|
+
// Some input types (number/email in certain UAs) throw on
|
|
11644
|
+
// setSelectionRange; swallow and let the native cursor stand.
|
|
11645
|
+
}
|
|
11646
|
+
});
|
|
11647
|
+
}
|
|
11559
11648
|
}
|
|
11560
11649
|
|
|
11561
11650
|
/**
|
|
@@ -11644,7 +11733,6 @@ class BaseInput extends AuroElement {
|
|
|
11644
11733
|
*/
|
|
11645
11734
|
reset() {
|
|
11646
11735
|
this.value = undefined;
|
|
11647
|
-
this.setDateObjectProperty('valueObject', undefined);
|
|
11648
11736
|
this.validation.reset(this);
|
|
11649
11737
|
}
|
|
11650
11738
|
|
|
@@ -11653,7 +11741,6 @@ class BaseInput extends AuroElement {
|
|
|
11653
11741
|
*/
|
|
11654
11742
|
clear() {
|
|
11655
11743
|
this.value = undefined;
|
|
11656
|
-
this.setDateObjectProperty('valueObject', undefined);
|
|
11657
11744
|
}
|
|
11658
11745
|
|
|
11659
11746
|
/**
|
|
@@ -11678,8 +11765,7 @@ class BaseInput extends AuroElement {
|
|
|
11678
11765
|
|
|
11679
11766
|
// Set default date format if type=date and no format is defined
|
|
11680
11767
|
if (this.type === "date" && !this.format) {
|
|
11681
|
-
|
|
11682
|
-
this.format = this.util.getDateMaskFromLocale().toLowerCase();
|
|
11768
|
+
this._setFormatFromLocale(this.util.getDateMaskFromLocale().toLowerCase());
|
|
11683
11769
|
this.util.updateFormat(this.format);
|
|
11684
11770
|
}
|
|
11685
11771
|
}
|
|
@@ -11691,7 +11777,7 @@ class BaseInput extends AuroElement {
|
|
|
11691
11777
|
*/
|
|
11692
11778
|
get placeholderStr() {
|
|
11693
11779
|
if (!this.placeholder && this.type === 'date') {
|
|
11694
|
-
return this.format
|
|
11780
|
+
return this.format.toUpperCase();
|
|
11695
11781
|
}
|
|
11696
11782
|
return this.placeholder || "";
|
|
11697
11783
|
}
|
|
@@ -11708,7 +11794,7 @@ class BaseInput extends AuroElement {
|
|
|
11708
11794
|
const creditCard = this.matchInputValueToCreditCard();
|
|
11709
11795
|
const previousFormat = this.format;
|
|
11710
11796
|
|
|
11711
|
-
this.
|
|
11797
|
+
this._setFormatFromLocale(creditCard.maskFormat);
|
|
11712
11798
|
|
|
11713
11799
|
this.maxLength = creditCard.formatLength;
|
|
11714
11800
|
this.minLength = creditCard.formatMinLength;
|
|
@@ -11728,7 +11814,7 @@ class BaseInput extends AuroElement {
|
|
|
11728
11814
|
/**
|
|
11729
11815
|
* Function to support credit-card feature type.
|
|
11730
11816
|
* @private
|
|
11731
|
-
* @deprecated https://dev.azure.com/itsals/E_Retain_Content/_workitems/edit/1557296
|
|
11817
|
+
* @deprecated See https://dev.azure.com/itsals/E_Retain_Content/_workitems/edit/1557296.
|
|
11732
11818
|
* @returns {object} JSON with data for credit card formatting.
|
|
11733
11819
|
*/
|
|
11734
11820
|
matchInputValueToCreditCard() {
|
|
@@ -11769,10 +11855,10 @@ class BaseInput extends AuroElement {
|
|
|
11769
11855
|
},
|
|
11770
11856
|
{
|
|
11771
11857
|
name: 'Diners club',
|
|
11772
|
-
regex: /^(?<num>36|38)\d{0}/u,
|
|
11858
|
+
regex: /^(?<num>30[0-5]|36|38)\d{0}/u,
|
|
11773
11859
|
formatLength: 16,
|
|
11774
11860
|
errorMessage: CreditCardValidationMessage,
|
|
11775
|
-
cardIcon: '
|
|
11861
|
+
cardIcon: 'cc-dinersclub',
|
|
11776
11862
|
maskFormat: "0000 000000 0000"
|
|
11777
11863
|
},
|
|
11778
11864
|
{
|
|
@@ -12182,7 +12268,7 @@ class AuroHelpText extends i$3 {
|
|
|
12182
12268
|
}
|
|
12183
12269
|
}
|
|
12184
12270
|
|
|
12185
|
-
var formkitVersion = '
|
|
12271
|
+
var formkitVersion = '202607221815';
|
|
12186
12272
|
|
|
12187
12273
|
/**
|
|
12188
12274
|
* @license
|
|
@@ -12480,20 +12566,50 @@ class AuroInput extends BaseInput {
|
|
|
12480
12566
|
* @returns {void}
|
|
12481
12567
|
*/
|
|
12482
12568
|
checkDisplayValueSlotChange() {
|
|
12483
|
-
|
|
12484
|
-
|
|
12485
|
-
|
|
12486
|
-
|
|
12487
|
-
|
|
12569
|
+
const slot = this.shadowRoot?.querySelector('slot[name="displayValue"]');
|
|
12570
|
+
if (!slot) {
|
|
12571
|
+
// Shadow slot not yet rendered — fall back to checking light-DOM
|
|
12572
|
+
// children so hasDisplayValueContent isn't stuck false when called
|
|
12573
|
+
// before firstUpdated (e.g. from auro-combobox during mount).
|
|
12574
|
+
// Check for any element (including custom elements like <auro-icon>
|
|
12575
|
+
// that render via shadow DOM with no text content).
|
|
12576
|
+
const lightDomNodes = Array.from(this.querySelectorAll('[slot="displayValue"]:not(slot)'));
|
|
12577
|
+
const hasContent = lightDomNodes.some((node) => (
|
|
12578
|
+
node.textContent.trim().length > 0 ||
|
|
12579
|
+
node.children.length > 0 ||
|
|
12580
|
+
node.shadowRoot !== null
|
|
12581
|
+
));
|
|
12582
|
+
if (this.hasDisplayValueContent !== hasContent) {
|
|
12583
|
+
this.hasDisplayValueContent = hasContent;
|
|
12584
|
+
this.requestUpdate();
|
|
12585
|
+
}
|
|
12586
|
+
return;
|
|
12488
12587
|
}
|
|
12489
|
-
|
|
12490
|
-
|
|
12491
|
-
|
|
12492
|
-
|
|
12493
|
-
|
|
12588
|
+
const nodes = slot.assignedNodes({ flatten: true });
|
|
12589
|
+
|
|
12590
|
+
// Check for actual visible content, not just node existence.
|
|
12591
|
+
// An empty <span slot="displayValue"></span> forwarded from the
|
|
12592
|
+
// consumer should not be treated as "has content" — it causes the
|
|
12593
|
+
// displayValue wrapper to render (with hasContent class) but show
|
|
12594
|
+
// nothing, blocking the combobox's synthetic displayValue from
|
|
12595
|
+
// being visible on preset/deeplink load.
|
|
12596
|
+
// Custom elements (e.g. <auro-icon>) that render via shadow DOM are
|
|
12597
|
+
// treated as content even when they have no text or light-DOM children.
|
|
12598
|
+
const hasContent = nodes.some((node) => {
|
|
12599
|
+
if (node.nodeType === Node.TEXT_NODE) {
|
|
12600
|
+
return node.textContent.trim().length > 0;
|
|
12601
|
+
}
|
|
12602
|
+
if (node.nodeType === Node.ELEMENT_NODE) {
|
|
12603
|
+
return node.textContent.trim().length > 0 ||
|
|
12604
|
+
node.children.length > 0 ||
|
|
12605
|
+
node.shadowRoot !== null;
|
|
12606
|
+
}
|
|
12607
|
+
return false;
|
|
12608
|
+
});
|
|
12609
|
+
if (this.hasDisplayValueContent !== hasContent) {
|
|
12610
|
+
this.hasDisplayValueContent = hasContent;
|
|
12611
|
+
this.requestUpdate();
|
|
12494
12612
|
}
|
|
12495
|
-
|
|
12496
|
-
this.hasDisplayValueContent = hasContent;
|
|
12497
12613
|
}
|
|
12498
12614
|
|
|
12499
12615
|
firstUpdated() {
|
|
@@ -12517,7 +12633,7 @@ class AuroInput extends BaseInput {
|
|
|
12517
12633
|
/**
|
|
12518
12634
|
* Determines default help text string.
|
|
12519
12635
|
* @private
|
|
12520
|
-
* @deprecated https://dev.azure.com/itsals/E_Retain_Content/_workitems/edit/1557296
|
|
12636
|
+
* @deprecated See https://dev.azure.com/itsals/E_Retain_Content/_workitems/edit/1557296.
|
|
12521
12637
|
* @returns {string} Evaluates pre-determined help text.
|
|
12522
12638
|
*/
|
|
12523
12639
|
getHelpText() {
|
|
@@ -12697,6 +12813,7 @@ class AuroInput extends BaseInput {
|
|
|
12697
12813
|
<${this.buttonTag}
|
|
12698
12814
|
@click="${this.handleClickShowPassword}"
|
|
12699
12815
|
appearance="${this.onDark ? 'inverse' : this.appearance}"
|
|
12816
|
+
aria-pressed="${this.showPassword ? 'true' : 'false'}"
|
|
12700
12817
|
class="notificationBtn passwordBtn"
|
|
12701
12818
|
shape="circle"
|
|
12702
12819
|
size="sm"
|
|
@@ -12770,25 +12887,29 @@ class AuroInput extends BaseInput {
|
|
|
12770
12887
|
* @returns {html} - Returns HTML for the help text and error message.
|
|
12771
12888
|
*/
|
|
12772
12889
|
renderHtmlHelpText() {
|
|
12890
|
+
// Single `<p>` with stable identity across validity transitions —
|
|
12891
|
+
// previously two distinct templates (valid vs invalid) caused Lit to
|
|
12892
|
+
// replace the node entirely on a flip, and VoiceOver wouldn't
|
|
12893
|
+
// re-announce because the live-region element it was watching had been
|
|
12894
|
+
// removed and a new one inserted. Keeping one node means the `role`,
|
|
12895
|
+
// `aria-live`, and text content all change in-place, which AT does
|
|
12896
|
+
// observe and announce.
|
|
12897
|
+
const isError = this.validity && this.validity !== 'valid';
|
|
12773
12898
|
return u$4`
|
|
12774
|
-
|
|
12775
|
-
?
|
|
12776
|
-
|
|
12777
|
-
|
|
12778
|
-
|
|
12779
|
-
|
|
12780
|
-
|
|
12781
|
-
|
|
12782
|
-
|
|
12783
|
-
|
|
12784
|
-
|
|
12785
|
-
appearance="${this.onDark ? 'inverse' : this.appearance}">
|
|
12786
|
-
<p id="${this.uniqueId}" role="alert" aria-live="assertive" part="helpText">
|
|
12787
|
-
${this.errorMessage}
|
|
12788
|
-
</p>
|
|
12789
|
-
</${this.helpTextTag}>
|
|
12790
|
-
`
|
|
12899
|
+
<${this.helpTextTag}
|
|
12900
|
+
appearance="${this.onDark ? 'inverse' : this.appearance}"
|
|
12901
|
+
?error=${isError}>
|
|
12902
|
+
<p
|
|
12903
|
+
id="${this.uniqueId}"
|
|
12904
|
+
part="helpText"
|
|
12905
|
+
role="${o$2(isError ? 'alert' : undefined)}"
|
|
12906
|
+
aria-live="${o$2(isError ? 'assertive' : undefined)}">
|
|
12907
|
+
${isError
|
|
12908
|
+
? this.errorMessage
|
|
12909
|
+
: u$4`<slot name="helpText">${this.getHelpText()}</slot>`
|
|
12791
12910
|
}
|
|
12911
|
+
</p>
|
|
12912
|
+
</${this.helpTextTag}>
|
|
12792
12913
|
`;
|
|
12793
12914
|
}
|
|
12794
12915
|
|