@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
|
@@ -7,7 +7,7 @@ import { createRef, ref } from 'lit/directives/ref.js';
|
|
|
7
7
|
|
|
8
8
|
var shapeSizeCss = css`.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}`;
|
|
9
9
|
|
|
10
|
-
var styleCss$1 = css`.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}`;
|
|
10
|
+
var styleCss$1 = css`.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}`;
|
|
11
11
|
|
|
12
12
|
var styleDefaultCss = css`.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}`;
|
|
13
13
|
|
|
@@ -4285,8 +4285,21 @@ class AuroFormValidation {
|
|
|
4285
4285
|
return;
|
|
4286
4286
|
}
|
|
4287
4287
|
|
|
4288
|
-
// Validate that the date passed was the correct format and is a valid date
|
|
4288
|
+
// Validate that the date passed was the correct format and is a valid date.
|
|
4289
|
+
// For partial date formats, valueObject is never populated; validate them directly.
|
|
4289
4290
|
if (elem.value && !elem.valueObject) {
|
|
4291
|
+
const isPartialDateFormat = elem.util && !elem.util.isFullDateFormat(elem.type, elem.format);
|
|
4292
|
+
|
|
4293
|
+
if (isPartialDateFormat) {
|
|
4294
|
+
if (!elem.util.isValidPartialDate(elem.value, elem.format)) {
|
|
4295
|
+
elem.validity = 'patternMismatch';
|
|
4296
|
+
elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
|
|
4297
|
+
}
|
|
4298
|
+
// Partial date format — validate directly and skip max/min checks since valueObject is undefined.
|
|
4299
|
+
return;
|
|
4300
|
+
}
|
|
4301
|
+
|
|
4302
|
+
// Full date format with no valueObject means the value is not a valid calendar date.
|
|
4290
4303
|
elem.validity = 'patternMismatch';
|
|
4291
4304
|
elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
|
|
4292
4305
|
return;
|
|
@@ -4383,15 +4396,17 @@ class AuroFormValidation {
|
|
|
4383
4396
|
);
|
|
4384
4397
|
}
|
|
4385
4398
|
|
|
4386
|
-
|
|
4387
|
-
|
|
4388
|
-
|
|
4399
|
+
const isCombobox = this.runtimeUtils.elementMatch(elem, 'auro-combobox');
|
|
4400
|
+
|
|
4401
|
+
// If there is a second input in the elem and that value is undefined or an empty string set hasValue to false.
|
|
4402
|
+
// Skip for combobox: its second auro-input is the fullscreen-bib mirror of the same value, not an independent
|
|
4403
|
+
// field (datepicker is the intended consumer — start/end are independently required).
|
|
4404
|
+
if (this.auroInputElements?.length === 2 && !isCombobox) {
|
|
4405
|
+
if (!this.auroInputElements[1].value || this.auroInputElements[1].value.length === 0) {
|
|
4389
4406
|
hasValue = false;
|
|
4390
4407
|
}
|
|
4391
4408
|
}
|
|
4392
4409
|
|
|
4393
|
-
const isCombobox = this.runtimeUtils.elementMatch(elem, 'auro-combobox');
|
|
4394
|
-
|
|
4395
4410
|
if (isCombobox) {
|
|
4396
4411
|
|
|
4397
4412
|
if (!elem.persistInput || elem.behavior === "filter") {
|
|
@@ -4490,7 +4505,7 @@ class AuroFormValidation {
|
|
|
4490
4505
|
} else if (this.runtimeUtils.elementMatch(elem, 'auro-input') && elem.errorMessage === '') {
|
|
4491
4506
|
const input = elem.renderRoot.querySelector('input');
|
|
4492
4507
|
|
|
4493
|
-
if (input.validationMessage.length > 0) {
|
|
4508
|
+
if (input && input.validationMessage.length > 0) {
|
|
4494
4509
|
elem.errorMessage = input.validationMessage;
|
|
4495
4510
|
}
|
|
4496
4511
|
} else if (this.runtimeUtils.elementMatch(elem, 'auro-combobox') && elem.errorMessage === '') {
|
|
@@ -10072,8 +10087,6 @@ function cleanEscapedString(input) {
|
|
|
10072
10087
|
return input.match(escapedStringRegExp)[1].replace(doubleQuoteRegExp, "'");
|
|
10073
10088
|
}
|
|
10074
10089
|
|
|
10075
|
-
/* eslint-disable max-lines */
|
|
10076
|
-
|
|
10077
10090
|
class AuroInputUtilities {
|
|
10078
10091
|
|
|
10079
10092
|
/**
|
|
@@ -10116,7 +10129,7 @@ class AuroInputUtilities {
|
|
|
10116
10129
|
/**
|
|
10117
10130
|
* Converts an IMask-style date mask to a date-fns compatible format string.
|
|
10118
10131
|
* @param {string} mask - IMask date mask (e.g. "MM/DD/YYYY").
|
|
10119
|
-
* @returns {string} date-fns format string (e.g. "MM/dd/yyyy").
|
|
10132
|
+
* @returns {string} A date-fns format string (e.g. "MM/dd/yyyy").
|
|
10120
10133
|
*/
|
|
10121
10134
|
toDateFnsMask(mask) {
|
|
10122
10135
|
return mask
|
|
@@ -10216,10 +10229,11 @@ class AuroInputUtilities {
|
|
|
10216
10229
|
const dateFormat = format$1 || this.overrideFormat || pattern || 'mm/dd/yyyy';
|
|
10217
10230
|
|
|
10218
10231
|
if (dateFormat === 'dd' || dateFormat === 'yy' || dateFormat === 'yyyy') {
|
|
10219
|
-
const
|
|
10232
|
+
const fromValue = dateFormat === 'yyyy' ? 1900 : (dateFormat === 'yy' ? 0 : 1);
|
|
10233
|
+
const maxValue = dateFormat === 'dd' ? 31 : (dateFormat === 'yy' ? 99 : 2100);
|
|
10220
10234
|
return {
|
|
10221
10235
|
mask: IMask.MaskedRange,
|
|
10222
|
-
from:
|
|
10236
|
+
from: fromValue,
|
|
10223
10237
|
to: maxValue,
|
|
10224
10238
|
lazy: true,
|
|
10225
10239
|
placeholderChar: '',
|
|
@@ -10227,7 +10241,8 @@ class AuroInputUtilities {
|
|
|
10227
10241
|
return value.toString().padStart(dateFormat.length, '0');
|
|
10228
10242
|
},
|
|
10229
10243
|
parse(str) {
|
|
10230
|
-
|
|
10244
|
+
const num = parseInt(str, 10);
|
|
10245
|
+
return isNaN(num) ? null : num;
|
|
10231
10246
|
}
|
|
10232
10247
|
};
|
|
10233
10248
|
}
|
|
@@ -10291,6 +10306,49 @@ class AuroInputUtilities {
|
|
|
10291
10306
|
return type === 'date' && normalizedFormat.includes('yy') && normalizedFormat.includes('mm') && normalizedFormat.includes('dd');
|
|
10292
10307
|
}
|
|
10293
10308
|
|
|
10309
|
+
/**
|
|
10310
|
+
* Validates a value against a partial date format (one that lacks yy/mm/dd all three).
|
|
10311
|
+
* Day- and year-only formats (dd/yy/yyyy) are checked as integer ranges; other partial formats use
|
|
10312
|
+
* a date-fns parse + round-trip to confirm both validity and exact formatting.
|
|
10313
|
+
* @param {string} value - The user-facing display value.
|
|
10314
|
+
* @param {string} format - The partial date format string (e.g. "mm/yyyy", "yyyy", "dd").
|
|
10315
|
+
* @returns {boolean}
|
|
10316
|
+
*/
|
|
10317
|
+
isValidPartialDate(value, format$1) {
|
|
10318
|
+
if (!value || !format$1) {
|
|
10319
|
+
return false;
|
|
10320
|
+
}
|
|
10321
|
+
const normalizedFormat = format$1.toLowerCase();
|
|
10322
|
+
|
|
10323
|
+
if (normalizedFormat === 'dd') {
|
|
10324
|
+
const num = Number(value);
|
|
10325
|
+
return (/^\d{2}$/u).test(value) && num >= 1 && num <= 31;
|
|
10326
|
+
}
|
|
10327
|
+
if (normalizedFormat === 'yy') {
|
|
10328
|
+
const num = Number(value);
|
|
10329
|
+
return (/^\d{2}$/u).test(value) && num >= 0 && num <= 99;
|
|
10330
|
+
}
|
|
10331
|
+
if (normalizedFormat === 'yyyy') {
|
|
10332
|
+
const num = Number(value);
|
|
10333
|
+
return (/^\d{4}$/u).test(value) && num >= 1900 && num <= 2100;
|
|
10334
|
+
}
|
|
10335
|
+
|
|
10336
|
+
const dateFnsMask = this.toDateFnsMask(normalizedFormat);
|
|
10337
|
+
// Use the 1st of the current month as the reference so that formats
|
|
10338
|
+
// omitting a day (e.g. MM/yyyy) never roll over on days 29–31.
|
|
10339
|
+
const referenceDate = new Date();
|
|
10340
|
+
referenceDate.setDate(1);
|
|
10341
|
+
const parsed = parse(value, dateFnsMask, referenceDate);
|
|
10342
|
+
if (!isValid(parsed) || format(parsed, dateFnsMask) !== value) {
|
|
10343
|
+
return false;
|
|
10344
|
+
}
|
|
10345
|
+
if (normalizedFormat.includes('yyyy')) {
|
|
10346
|
+
const year = parsed.getFullYear();
|
|
10347
|
+
return year >= 1900 && year <= 2100;
|
|
10348
|
+
}
|
|
10349
|
+
return true;
|
|
10350
|
+
}
|
|
10351
|
+
|
|
10294
10352
|
/**
|
|
10295
10353
|
* Converts a display string to its model value.
|
|
10296
10354
|
* For full date formats, converts the display string to an ISO date string.
|
|
@@ -10327,6 +10385,13 @@ class AuroInputUtilities {
|
|
|
10327
10385
|
* @returns {string | undefined}
|
|
10328
10386
|
*/
|
|
10329
10387
|
toFormattedValue(valueObject, format) {
|
|
10388
|
+
// Exposed publicly via `AuroInputUtil.toFormattedValue`, so a missing
|
|
10389
|
+
// `format` argument has to fail gracefully rather than throw on
|
|
10390
|
+
// `format.toLowerCase()`. Treat any falsy value (undefined, null, '')
|
|
10391
|
+
// as "no format → no display value".
|
|
10392
|
+
if (!format) {
|
|
10393
|
+
return undefined;
|
|
10394
|
+
}
|
|
10330
10395
|
const normalizedFormat = format.toLowerCase();
|
|
10331
10396
|
const maskOptions = this.getMaskOptions('date', normalizedFormat);
|
|
10332
10397
|
|
|
@@ -10465,9 +10530,10 @@ class DomHandler {
|
|
|
10465
10530
|
class BaseInput extends AuroElement {
|
|
10466
10531
|
|
|
10467
10532
|
// Delegate focus to the native <input> inside the shadow root so that
|
|
10468
|
-
//
|
|
10469
|
-
//
|
|
10470
|
-
//
|
|
10533
|
+
// clicking anywhere on the input wrapper focuses the native input, and
|
|
10534
|
+
// programmatic .focus() calls on elements in the shadow DOM work correctly.
|
|
10535
|
+
// The initial-load focus theft was caused by the static `autofocus`
|
|
10536
|
+
// attribute on the bib input (now conditional), not by delegatesFocus.
|
|
10471
10537
|
static get shadowRootOptions() {
|
|
10472
10538
|
return {
|
|
10473
10539
|
...AuroElement.shadowRootOptions,
|
|
@@ -10478,79 +10544,19 @@ class BaseInput extends AuroElement {
|
|
|
10478
10544
|
constructor() {
|
|
10479
10545
|
super();
|
|
10480
10546
|
|
|
10481
|
-
|
|
10482
|
-
|
|
10483
|
-
|
|
10484
|
-
|
|
10485
|
-
|
|
10486
|
-
|
|
10487
|
-
|
|
10488
|
-
|
|
10489
|
-
|
|
10490
|
-
|
|
10491
|
-
this.required = false;
|
|
10492
|
-
this.onDark = false;
|
|
10493
|
-
this.setCustomValidityForType = undefined;
|
|
10494
|
-
this.size = 'lg';
|
|
10495
|
-
this.shape = 'classic';
|
|
10496
|
-
this.value = undefined;
|
|
10497
|
-
this._valueObject = undefined;
|
|
10498
|
-
|
|
10499
|
-
this._initializePrivateDefaults();
|
|
10500
|
-
}
|
|
10501
|
-
|
|
10502
|
-
/**
|
|
10503
|
-
* Internal Defaults.
|
|
10504
|
-
* @private
|
|
10505
|
-
* @returns {void}
|
|
10506
|
-
*/
|
|
10507
|
-
_initializePrivateDefaults() {
|
|
10547
|
+
// Single-source initialization. Alphabetized so duplicate or stale
|
|
10548
|
+
// defaults are immediately obvious on a diff. Every field is assigned
|
|
10549
|
+
// exactly once here (previously the constructor + the old
|
|
10550
|
+
// `_initializePrivateDefaults` overlapped — both wrote ~14 of the same
|
|
10551
|
+
// fields and double-allocated `util` and `validation`, discarding the
|
|
10552
|
+
// first instance). `validation` is now allocated exactly once; `util`
|
|
10553
|
+
// is seeded here with an en-US default and then rebuilt in
|
|
10554
|
+
// `connectedCallback` once the consumer-resolved locale is available,
|
|
10555
|
+
// so a parent (datepicker/combobox) calling `validate()` synchronously
|
|
10556
|
+
// during its own update cycle sees a populated util instance.
|
|
10508
10557
|
this.activeLabel = false;
|
|
10509
|
-
this.appearance = "default";
|
|
10510
|
-
this.icon = false;
|
|
10511
|
-
this.disabled = false;
|
|
10512
|
-
this.dvInputOnly = false;
|
|
10513
|
-
this.hideLabelVisually = false;
|
|
10514
|
-
this.max = undefined;
|
|
10515
|
-
this.maxLength = undefined;
|
|
10516
|
-
this.min = undefined;
|
|
10517
|
-
this.minLength = undefined;
|
|
10518
|
-
this.noValidate = false;
|
|
10519
|
-
this.onDark = false;
|
|
10520
|
-
this.required = false;
|
|
10521
|
-
this.setCustomValidityForType = undefined;
|
|
10522
|
-
|
|
10523
|
-
// Used for storing raw values returned from input mask.
|
|
10524
|
-
this._rawMaskValue = undefined;
|
|
10525
|
-
|
|
10526
|
-
/**
|
|
10527
|
-
* @private
|
|
10528
|
-
*/
|
|
10529
|
-
this.layout = 'classic';
|
|
10530
|
-
|
|
10531
|
-
/**
|
|
10532
|
-
* @private
|
|
10533
|
-
*/
|
|
10534
|
-
this.shape = 'classic';
|
|
10535
|
-
|
|
10536
|
-
/**
|
|
10537
|
-
* @private
|
|
10538
|
-
*/
|
|
10539
|
-
this.size = 'lg';
|
|
10540
|
-
|
|
10541
|
-
this.touched = false;
|
|
10542
|
-
this.util = new AuroInputUtilities({
|
|
10543
|
-
locale: "en-US",
|
|
10544
|
-
format: this.format
|
|
10545
|
-
});
|
|
10546
|
-
this.validation = new AuroFormValidation();
|
|
10547
|
-
this.inputIconName = undefined;
|
|
10548
|
-
this.showPassword = false;
|
|
10549
|
-
this.validationCCLength = undefined;
|
|
10550
|
-
this.hasValue = false;
|
|
10551
|
-
this.label = 'Input label is undefined';
|
|
10552
|
-
|
|
10553
10558
|
|
|
10559
|
+
/** @private */
|
|
10554
10560
|
this.allowedInputTypes = [
|
|
10555
10561
|
"text",
|
|
10556
10562
|
"number",
|
|
@@ -10559,7 +10565,9 @@ class BaseInput extends AuroElement {
|
|
|
10559
10565
|
"credit-card",
|
|
10560
10566
|
"tel"
|
|
10561
10567
|
];
|
|
10562
|
-
this.
|
|
10568
|
+
this.appearance = "default";
|
|
10569
|
+
|
|
10570
|
+
/** @private */
|
|
10563
10571
|
this.dateFormatMap = {
|
|
10564
10572
|
'mm/dd/yyyy': 'dateMMDDYYYY',
|
|
10565
10573
|
'dd/mm/yyyy': 'dateDDMMYYYY',
|
|
@@ -10576,27 +10584,64 @@ class BaseInput extends AuroElement {
|
|
|
10576
10584
|
'dd/mm': 'dateDDMM',
|
|
10577
10585
|
'mm/dd': 'dateMMDD'
|
|
10578
10586
|
};
|
|
10587
|
+
this.disabled = false;
|
|
10588
|
+
|
|
10589
|
+
/** @private */
|
|
10579
10590
|
this.domHandler = new DomHandler();
|
|
10580
10591
|
this.dvInputOnly = false;
|
|
10581
10592
|
this.hasValue = false;
|
|
10593
|
+
this.hideLabelVisually = false;
|
|
10594
|
+
this.icon = false;
|
|
10595
|
+
|
|
10596
|
+
/** @private */
|
|
10582
10597
|
this.inputIconName = undefined;
|
|
10598
|
+
|
|
10599
|
+
/** @private */
|
|
10583
10600
|
this.label = 'Input label is undefined';
|
|
10601
|
+
this.layout = 'classic';
|
|
10602
|
+
this.locale = 'en-US';
|
|
10603
|
+
this._format = undefined;
|
|
10604
|
+
|
|
10605
|
+
/** @private */
|
|
10606
|
+
this._userSetFormat = false;
|
|
10607
|
+
this.max = undefined;
|
|
10608
|
+
this.maxLength = undefined;
|
|
10609
|
+
this.min = undefined;
|
|
10610
|
+
this.minLength = undefined;
|
|
10584
10611
|
this.noValidate = false;
|
|
10585
|
-
this.
|
|
10612
|
+
this.onDark = false;
|
|
10613
|
+
this.required = false;
|
|
10614
|
+
this.setCustomValidityForType = undefined;
|
|
10615
|
+
// Credit Card is intentionally excluded — its mask manages the cursor
|
|
10616
|
+
// itself, and listing it here caused cursor placement issues in Safari.
|
|
10617
|
+
/** @private */
|
|
10586
10618
|
this.setSelectionInputTypes = [
|
|
10587
10619
|
"text",
|
|
10588
10620
|
"password",
|
|
10589
10621
|
"email"
|
|
10590
|
-
];
|
|
10622
|
+
];
|
|
10623
|
+
this.shape = 'classic';
|
|
10624
|
+
|
|
10625
|
+
/** @private */
|
|
10591
10626
|
this.showPassword = false;
|
|
10627
|
+
this.size = 'lg';
|
|
10592
10628
|
this.touched = false;
|
|
10629
|
+
|
|
10630
|
+
/** @private */
|
|
10593
10631
|
this.uniqueId = new UniqueId().create();
|
|
10632
|
+
|
|
10633
|
+
/** @private */
|
|
10594
10634
|
this.util = new AuroInputUtilities({
|
|
10595
10635
|
locale: this.locale,
|
|
10596
10636
|
format: this.format
|
|
10597
10637
|
});
|
|
10638
|
+
|
|
10639
|
+
/** @private */
|
|
10598
10640
|
this.validation = new AuroFormValidation();
|
|
10641
|
+
|
|
10642
|
+
/** @private */
|
|
10599
10643
|
this.validationCCLength = undefined;
|
|
10644
|
+
this.value = undefined;
|
|
10600
10645
|
}
|
|
10601
10646
|
|
|
10602
10647
|
// function to define props used within the scope of this component
|
|
@@ -10722,7 +10767,8 @@ class BaseInput extends AuroElement {
|
|
|
10722
10767
|
*/
|
|
10723
10768
|
format: {
|
|
10724
10769
|
type: String,
|
|
10725
|
-
reflect: true
|
|
10770
|
+
reflect: true,
|
|
10771
|
+
noAccessor: true
|
|
10726
10772
|
},
|
|
10727
10773
|
|
|
10728
10774
|
/**
|
|
@@ -10926,6 +10972,13 @@ class BaseInput extends AuroElement {
|
|
|
10926
10972
|
type: String
|
|
10927
10973
|
},
|
|
10928
10974
|
|
|
10975
|
+
/**
|
|
10976
|
+
* Custom help text message to display when validity = `patternMismatch`.
|
|
10977
|
+
*/
|
|
10978
|
+
setCustomValidityPatternMismatch: {
|
|
10979
|
+
type: String
|
|
10980
|
+
},
|
|
10981
|
+
|
|
10929
10982
|
/**
|
|
10930
10983
|
* Custom help text message to display when validity = `rangeOverflow`.
|
|
10931
10984
|
*/
|
|
@@ -10996,7 +11049,7 @@ class BaseInput extends AuroElement {
|
|
|
10996
11049
|
|
|
10997
11050
|
/**
|
|
10998
11051
|
* Populates the `type` attribute on the input.
|
|
10999
|
-
* @type {'text' | 'password' | 'email' | 'credit-card' | 'tel' | 'number'}
|
|
11052
|
+
* @type {'text' | 'password' | 'email' | 'credit-card' | 'tel' | 'number' | 'date'}
|
|
11000
11053
|
* @default 'text'
|
|
11001
11054
|
*/
|
|
11002
11055
|
type: {
|
|
@@ -11021,7 +11074,7 @@ class BaseInput extends AuroElement {
|
|
|
11021
11074
|
|
|
11022
11075
|
/**
|
|
11023
11076
|
* Populates the `value` attribute on the input. Can also be read to retrieve the current value of the input.
|
|
11024
|
-
*
|
|
11077
|
+
* 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.
|
|
11025
11078
|
*/
|
|
11026
11079
|
value: {
|
|
11027
11080
|
type: String
|
|
@@ -11034,7 +11087,7 @@ class BaseInput extends AuroElement {
|
|
|
11034
11087
|
* @returns {Date|undefined}
|
|
11035
11088
|
*/
|
|
11036
11089
|
get valueObject() {
|
|
11037
|
-
return this.
|
|
11090
|
+
return this.value && dateFormatter.isValidDate(this.value) ? dateFormatter.stringToDateInstance(this.value) : undefined;
|
|
11038
11091
|
}
|
|
11039
11092
|
|
|
11040
11093
|
/**
|
|
@@ -11042,7 +11095,7 @@ class BaseInput extends AuroElement {
|
|
|
11042
11095
|
* @returns {Date|undefined}
|
|
11043
11096
|
*/
|
|
11044
11097
|
get minObject() {
|
|
11045
|
-
return this.
|
|
11098
|
+
return this.min && dateFormatter.isValidDate(this.min) ? dateFormatter.stringToDateInstance(this.min) : undefined;
|
|
11046
11099
|
}
|
|
11047
11100
|
|
|
11048
11101
|
/**
|
|
@@ -11050,33 +11103,63 @@ class BaseInput extends AuroElement {
|
|
|
11050
11103
|
* @returns {Date|undefined}
|
|
11051
11104
|
*/
|
|
11052
11105
|
get maxObject() {
|
|
11053
|
-
return this.
|
|
11106
|
+
return this.max && dateFormatter.isValidDate(this.max) ? dateFormatter.stringToDateInstance(this.max) : undefined;
|
|
11107
|
+
}
|
|
11108
|
+
|
|
11109
|
+
get format() {
|
|
11110
|
+
return this._format;
|
|
11054
11111
|
}
|
|
11055
11112
|
|
|
11056
11113
|
/**
|
|
11057
|
-
*
|
|
11058
|
-
*
|
|
11059
|
-
*
|
|
11060
|
-
* @param {Date|undefined} propertyValue - Value to assign.
|
|
11061
|
-
* @returns {void}
|
|
11114
|
+
* Overrides LitElement's generated accessor so we can track whether the
|
|
11115
|
+
* consumer explicitly set `format`. Locale-derived updates use
|
|
11116
|
+
* `_setFormatFromLocale` instead, which skips this flag.
|
|
11062
11117
|
*/
|
|
11063
|
-
|
|
11064
|
-
const
|
|
11065
|
-
|
|
11066
|
-
|
|
11067
|
-
|
|
11068
|
-
|
|
11069
|
-
}
|
|
11118
|
+
set format(value) {
|
|
11119
|
+
const oldValue = this._format;
|
|
11120
|
+
this._format = value ? value.toLowerCase() : value;
|
|
11121
|
+
this._userSetFormat = Boolean(value);
|
|
11122
|
+
this.requestUpdate('format', oldValue);
|
|
11123
|
+
}
|
|
11070
11124
|
|
|
11071
|
-
|
|
11072
|
-
|
|
11125
|
+
/**
|
|
11126
|
+
* Sets format without marking it as user-set. Used by locale auto-derive
|
|
11127
|
+
* so that a subsequent locale change can still update the format.
|
|
11128
|
+
* @private
|
|
11129
|
+
* @param {string} value
|
|
11130
|
+
*/
|
|
11131
|
+
_setFormatFromLocale(value) {
|
|
11132
|
+
const oldValue = this._format;
|
|
11133
|
+
this._format = value ? value.toLowerCase() : value;
|
|
11134
|
+
this.requestUpdate('format', oldValue);
|
|
11073
11135
|
}
|
|
11074
11136
|
|
|
11075
11137
|
connectedCallback() {
|
|
11076
11138
|
super.connectedCallback();
|
|
11077
11139
|
|
|
11140
|
+
// Mark for query selectors when registered under a versioned tag (e.g. inside
|
|
11141
|
+
// a datepicker/combobox). Must run before parent components call validate() on
|
|
11142
|
+
// their inner inputs — the validation framework matches via tag-or-attribute,
|
|
11143
|
+
// and parents trigger validation during their own updated() cycle, which can
|
|
11144
|
+
// precede this input's firstUpdated().
|
|
11145
|
+
if (this.tagName.toLowerCase() !== 'auro-input' && !this.hasAttribute('auro-input')) {
|
|
11146
|
+
this.setAttribute('auro-input', '');
|
|
11147
|
+
}
|
|
11148
|
+
|
|
11078
11149
|
this.locale = this.domHandler.getLocale(this);
|
|
11079
11150
|
notifyOnLangChange(this);
|
|
11151
|
+
|
|
11152
|
+
// Pre-compute lengthForType and date-object fields so a parent (e.g. datepicker)
|
|
11153
|
+
// calling our validate() synchronously during its own updated() cycle sees
|
|
11154
|
+
// populated values. Without this, range validation silently no-ops because
|
|
11155
|
+
// `max.length === lengthForType` fails when lengthForType is still undefined.
|
|
11156
|
+
// Rebuild util here (constructor seeded with en-US default) so configureDataForType's
|
|
11157
|
+
// locale-derived format lookup uses the actual locale just resolved above.
|
|
11158
|
+
this.util = new AuroInputUtilities({
|
|
11159
|
+
locale: this.locale,
|
|
11160
|
+
format: this.format
|
|
11161
|
+
});
|
|
11162
|
+
this.configureDataForType();
|
|
11080
11163
|
}
|
|
11081
11164
|
|
|
11082
11165
|
disconnectedCallback() {
|
|
@@ -11096,10 +11179,6 @@ class BaseInput extends AuroElement {
|
|
|
11096
11179
|
this.wrapperElement.addEventListener('click', this.handleClick);
|
|
11097
11180
|
}
|
|
11098
11181
|
|
|
11099
|
-
// add attribute for query selectors when auro-input is registered under a custom name
|
|
11100
|
-
if (this.tagName.toLowerCase() !== 'auro-input') {
|
|
11101
|
-
this.setAttribute('auro-input', true);
|
|
11102
|
-
}
|
|
11103
11182
|
this.inputId = this.id ? `${this.id}-input` : window.crypto.randomUUID();
|
|
11104
11183
|
|
|
11105
11184
|
// use validity message override if declared when initializing the component
|
|
@@ -11110,7 +11189,6 @@ class BaseInput extends AuroElement {
|
|
|
11110
11189
|
this.setCustomHelpTextMessage();
|
|
11111
11190
|
this.configureAutoFormatting();
|
|
11112
11191
|
this.configureDataForType();
|
|
11113
|
-
this.syncDateValues();
|
|
11114
11192
|
}
|
|
11115
11193
|
|
|
11116
11194
|
/**
|
|
@@ -11146,6 +11224,12 @@ class BaseInput extends AuroElement {
|
|
|
11146
11224
|
return;
|
|
11147
11225
|
}
|
|
11148
11226
|
|
|
11227
|
+
// While configureAutoFormatting is running, imask's internal updateControl
|
|
11228
|
+
// writes el.value to align display with the masked value. A synthetic input
|
|
11229
|
+
// event from that write would re-enter handleInput → processCreditCard mid-setup
|
|
11230
|
+
// and clobber a Lit value that was just pushed by the parent combobox.
|
|
11231
|
+
if (component._configuringMask) return;
|
|
11232
|
+
|
|
11149
11233
|
// If all guard clauses are passed, dispatch the event
|
|
11150
11234
|
const inputEvent = new InputEvent('input', {
|
|
11151
11235
|
bubbles: true,
|
|
@@ -11162,7 +11246,7 @@ class BaseInput extends AuroElement {
|
|
|
11162
11246
|
|
|
11163
11247
|
/**
|
|
11164
11248
|
* @private
|
|
11165
|
-
* @deprecated https://dev.azure.com/itsals/E_Retain_Content/_workitems/edit/1557296
|
|
11249
|
+
* @deprecated See https://dev.azure.com/itsals/E_Retain_Content/_workitems/edit/1557296.
|
|
11166
11250
|
* @returns {void} Sets the default help text for the input.
|
|
11167
11251
|
*/
|
|
11168
11252
|
setCustomHelpTextMessage() {
|
|
@@ -11180,6 +11264,13 @@ class BaseInput extends AuroElement {
|
|
|
11180
11264
|
|
|
11181
11265
|
if (typeToI18n.includes(this.type)) {
|
|
11182
11266
|
this.setCustomValidityForType = i18n(this.lang, this.type);
|
|
11267
|
+
// COVERAGE: this `else if` branch is unreachable in WTR. connectedCallback
|
|
11268
|
+
// (L682) calls configureDataForType, which at L1266-1268 assigns
|
|
11269
|
+
// `this.format = this.util.getDateMaskFromLocale().toLowerCase()` for any
|
|
11270
|
+
// type=date input whose `format` attribute is unset. That runs before
|
|
11271
|
+
// firstUpdated invokes setCustomHelpTextMessage, so `!this.format` is
|
|
11272
|
+
// always false here. Retained as a defensive fallback; the whole function
|
|
11273
|
+
// is @deprecated per AB#1557296 and slated for removal.
|
|
11183
11274
|
} else if (!this.format && this.type === 'date') {
|
|
11184
11275
|
this.setCustomValidityForType = i18n(this.lang, 'dateMMDDYYYY');
|
|
11185
11276
|
} else if (this.dateFormatMap[this.format]) {
|
|
@@ -11196,12 +11287,10 @@ class BaseInput extends AuroElement {
|
|
|
11196
11287
|
updated(changedProperties) {
|
|
11197
11288
|
super.updated(changedProperties);
|
|
11198
11289
|
|
|
11199
|
-
// When locale changes
|
|
11200
|
-
// Only runs if the current format is still the previous locale's default (not user-overridden).
|
|
11290
|
+
// When locale changes, auto-derive format unless the consumer explicitly set one.
|
|
11201
11291
|
if (changedProperties.has('locale') && !changedProperties.has('format') && this.type === 'date') {
|
|
11202
|
-
|
|
11203
|
-
|
|
11204
|
-
this.format = getDateFormatFromLocale(this.locale);
|
|
11292
|
+
if (!this._userSetFormat) {
|
|
11293
|
+
this._setFormatFromLocale(getDateFormatFromLocale(this.locale));
|
|
11205
11294
|
}
|
|
11206
11295
|
}
|
|
11207
11296
|
|
|
@@ -11241,8 +11330,6 @@ class BaseInput extends AuroElement {
|
|
|
11241
11330
|
this.configureDataForType();
|
|
11242
11331
|
}
|
|
11243
11332
|
|
|
11244
|
-
this.syncDateValues(changedProperties);
|
|
11245
|
-
|
|
11246
11333
|
if (changedProperties.has('value')) {
|
|
11247
11334
|
if (this.value && this.value.length > 0) {
|
|
11248
11335
|
this.hasValue = true;
|
|
@@ -11264,7 +11351,16 @@ class BaseInput extends AuroElement {
|
|
|
11264
11351
|
|
|
11265
11352
|
if (formattedValue !== this.inputElement.value) {
|
|
11266
11353
|
this.skipNextProgrammaticInputEvent = true;
|
|
11267
|
-
if (
|
|
11354
|
+
if (this.maskInstance && this.type !== 'date') {
|
|
11355
|
+
// Route through the mask so its _value and el.value stay in lock-step
|
|
11356
|
+
// (set value calls updateControl which writes el.value = displayValue).
|
|
11357
|
+
// Writing el.value directly leaves the mask thinking displayValue is
|
|
11358
|
+
// stale; _saveSelection on the next focus/click then warns. Date is
|
|
11359
|
+
// excluded because its formattedValue can be raw ISO when the calendar
|
|
11360
|
+
// is invalid, and re-masking through mm/dd/yyyy would truncate it and
|
|
11361
|
+
// flip validity from patternMismatch to tooShort.
|
|
11362
|
+
this.maskInstance.value = formattedValue || '';
|
|
11363
|
+
} else if (formattedValue) {
|
|
11268
11364
|
this.inputElement.value = formattedValue;
|
|
11269
11365
|
} else {
|
|
11270
11366
|
this.inputElement.value = '';
|
|
@@ -11304,127 +11400,85 @@ class BaseInput extends AuroElement {
|
|
|
11304
11400
|
}));
|
|
11305
11401
|
}
|
|
11306
11402
|
|
|
11307
|
-
|
|
11308
|
-
/**
|
|
11309
|
-
* Synchronizes the ISO string values and Date object representations for date-related properties.
|
|
11310
|
-
* This keeps the model and display values aligned when either side changes.
|
|
11311
|
-
*
|
|
11312
|
-
* When a full date format is in use, this method updates `value`, `min`, and `max` from their corresponding
|
|
11313
|
-
* Date objects or vice versa, based on which properties have changed. It only runs when the current configuration
|
|
11314
|
-
* represents a full year/month/day date format.
|
|
11315
|
-
*
|
|
11316
|
-
* @param {Map<string, unknown>|undefined} [changedProperties=undefined] - Optional map of changed properties used to limit which values are synchronized.
|
|
11317
|
-
* @returns {void}
|
|
11318
|
-
* @private
|
|
11319
|
-
*/
|
|
11320
|
-
syncDateValues(changedProperties = undefined) {
|
|
11321
|
-
if (!this.util.isFullDateFormat(this.type, this.format)) {
|
|
11322
|
-
return;
|
|
11323
|
-
}
|
|
11324
|
-
|
|
11325
|
-
this.syncSingleDateValue(changedProperties, 'valueObject', 'value');
|
|
11326
|
-
this.syncSingleDateValue(changedProperties, 'minObject', 'min');
|
|
11327
|
-
this.syncSingleDateValue(changedProperties, 'maxObject', 'max');
|
|
11328
|
-
}
|
|
11329
|
-
|
|
11330
|
-
/**
|
|
11331
|
-
* Synchronizes one date object/string property pair.
|
|
11332
|
-
* @private
|
|
11333
|
-
* @param {Map<string, unknown>|undefined} changedProperties - Map of changed properties from Lit.
|
|
11334
|
-
* @param {string} objectProperty - Date object property name.
|
|
11335
|
-
* @param {string} valueProperty - ISO string property name.
|
|
11336
|
-
* @returns {void}
|
|
11337
|
-
*/
|
|
11338
|
-
syncSingleDateValue(changedProperties, objectProperty, valueProperty) {
|
|
11339
|
-
const objectPropertyChanged = !changedProperties || changedProperties.has(objectProperty);
|
|
11340
|
-
|
|
11341
|
-
// objectProperty wins over valueProperty when both changed
|
|
11342
|
-
if (objectPropertyChanged && this[objectProperty]) {
|
|
11343
|
-
this[valueProperty] = dateFormatter.toISOFormatString(this[objectProperty]);
|
|
11344
|
-
return;
|
|
11345
|
-
}
|
|
11346
|
-
|
|
11347
|
-
const valuePropertyChanged = !changedProperties || changedProperties.has(valueProperty);
|
|
11348
|
-
if (!valuePropertyChanged) {
|
|
11349
|
-
return;
|
|
11350
|
-
}
|
|
11351
|
-
|
|
11352
|
-
// 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)
|
|
11353
|
-
if (
|
|
11354
|
-
changedProperties &&
|
|
11355
|
-
valueProperty === 'value' &&
|
|
11356
|
-
changedProperties.get('value') === undefined &&
|
|
11357
|
-
this[objectProperty] instanceof Date &&
|
|
11358
|
-
this[valueProperty] === dateFormatter.toISOFormatString(this[objectProperty])
|
|
11359
|
-
) {
|
|
11360
|
-
return;
|
|
11361
|
-
}
|
|
11362
|
-
|
|
11363
|
-
if (dateFormatter.isValidDate(this[valueProperty])) {
|
|
11364
|
-
this.setDateObjectProperty(objectProperty, dateFormatter.stringToDateInstance(this[valueProperty]));
|
|
11365
|
-
} else {
|
|
11366
|
-
this.setDateObjectProperty(objectProperty, undefined);
|
|
11367
|
-
}
|
|
11368
|
-
}
|
|
11369
|
-
|
|
11370
11403
|
/**
|
|
11371
11404
|
* Sets up IMasks and logic based on auto-formatting requirements.
|
|
11372
11405
|
* @private
|
|
11373
11406
|
* @returns {void}
|
|
11374
11407
|
*/
|
|
11375
11408
|
configureAutoFormatting() {
|
|
11376
|
-
|
|
11377
|
-
|
|
11378
|
-
|
|
11379
|
-
|
|
11380
|
-
|
|
11381
|
-
this.
|
|
11409
|
+
// _configuringMask gates two things: external re-entry into this method
|
|
11410
|
+
// while setup is mid-flight (from property changes that call back here),
|
|
11411
|
+
// and the accept/complete listeners below — both need to ignore the mask
|
|
11412
|
+
// events fired by our own value-restore step.
|
|
11413
|
+
if (this._configuringMask) return;
|
|
11414
|
+
this._configuringMask = true;
|
|
11415
|
+
try {
|
|
11416
|
+
// Destroy any prior mask so IMask can attach fresh under the new format.
|
|
11417
|
+
// Null the reference too — if the new maskOptions.mask is falsy (e.g.
|
|
11418
|
+
// type switched from credit-card to text) the IMask() reassignment
|
|
11419
|
+
// below is skipped, and downstream writes at line ~823 would otherwise
|
|
11420
|
+
// route through the destroyed instance.
|
|
11421
|
+
if (this.maskInstance) {
|
|
11422
|
+
this.maskInstance.destroy();
|
|
11423
|
+
this.maskInstance = null;
|
|
11424
|
+
}
|
|
11382
11425
|
|
|
11383
|
-
|
|
11426
|
+
this.util.updateFormat(this.format);
|
|
11384
11427
|
|
|
11385
|
-
|
|
11428
|
+
const maskOptions = this.util.getMaskOptions(this.type, this.format);
|
|
11429
|
+
|
|
11430
|
+
if (this.inputElement && maskOptions.mask) {
|
|
11431
|
+
// Capture the current display so it can be re-applied after IMask
|
|
11432
|
+
// attaches. The restore at the bottom goes through maskInstance.value
|
|
11433
|
+
// (not inputElement.value directly) so the mask's internal state and
|
|
11434
|
+
// the input's displayed text stay in lock-step.
|
|
11435
|
+
let existingValue = this.inputElement.value;
|
|
11436
|
+
|
|
11437
|
+
// Format-change case (e.g. locale switch): existingValue is the OLD
|
|
11438
|
+
// mask's display string and may not parse under the new mask. When
|
|
11439
|
+
// we have a valid date model, rebuild the display from valueObject
|
|
11440
|
+
// (the canonical source) using the new mask's format function.
|
|
11441
|
+
if (
|
|
11442
|
+
this.util.isFullDateFormat(this.type, this.format) &&
|
|
11443
|
+
this.value &&
|
|
11444
|
+
this.valueObject &&
|
|
11445
|
+
typeof maskOptions.format === 'function'
|
|
11446
|
+
) {
|
|
11447
|
+
existingValue = maskOptions.format(this.valueObject);
|
|
11448
|
+
}
|
|
11386
11449
|
|
|
11387
|
-
|
|
11388
|
-
|
|
11389
|
-
|
|
11390
|
-
|
|
11391
|
-
|
|
11392
|
-
// re-using the old display string, which may be invalid in the new mask.
|
|
11393
|
-
let existingValue = this.inputElement.value;
|
|
11394
|
-
if (
|
|
11395
|
-
this.util.isFullDateFormat(this.type, this.format) &&
|
|
11396
|
-
this.value &&
|
|
11397
|
-
dateFormatter.isValidDate(this.value) &&
|
|
11398
|
-
this.valueObject instanceof Date &&
|
|
11399
|
-
!Number.isNaN(this.valueObject.getTime()) &&
|
|
11400
|
-
typeof maskOptions.format === 'function'
|
|
11401
|
-
) {
|
|
11402
|
-
existingValue = maskOptions.format(this.valueObject);
|
|
11403
|
-
}
|
|
11450
|
+
// Clear before IMask attaches so the constructor seeds an empty
|
|
11451
|
+
// internal value. Otherwise IMask reads the stale unmasked string
|
|
11452
|
+
// and emits a spurious 'accept' before the restore below runs.
|
|
11453
|
+
this.skipNextProgrammaticInputEvent = true;
|
|
11454
|
+
this.inputElement.value = '';
|
|
11404
11455
|
|
|
11405
|
-
|
|
11406
|
-
this.inputElement.value = '';
|
|
11456
|
+
this.maskInstance = IMask(this.inputElement, maskOptions);
|
|
11407
11457
|
|
|
11408
|
-
|
|
11458
|
+
// Mask fires 'accept' on every value change, including the restore
|
|
11459
|
+
// step below. Skip events fired during configureAutoFormatting so
|
|
11460
|
+
// we don't overwrite a value the parent just pushed.
|
|
11461
|
+
this.maskInstance.on('accept', () => {
|
|
11462
|
+
if (this._configuringMask) return;
|
|
11463
|
+
this.value = this.util.toModelValue(this.maskInstance.value, this.format);
|
|
11464
|
+
});
|
|
11409
11465
|
|
|
11410
|
-
|
|
11411
|
-
|
|
11412
|
-
|
|
11413
|
-
this.
|
|
11414
|
-
|
|
11415
|
-
|
|
11466
|
+
// Mask fires 'complete' on the restore step below for any value that
|
|
11467
|
+
// happens to be a complete match. Same setup-suppression as 'accept'.
|
|
11468
|
+
this.maskInstance.on('complete', () => {
|
|
11469
|
+
if (this._configuringMask) return;
|
|
11470
|
+
this.value = this.util.toModelValue(this.maskInstance.value, this.format);
|
|
11471
|
+
});
|
|
11416
11472
|
|
|
11417
|
-
|
|
11418
|
-
|
|
11419
|
-
|
|
11420
|
-
|
|
11473
|
+
// Write existingValue through the mask (not the input directly) so
|
|
11474
|
+
// the mask reformats it under the new rules and keeps its internal
|
|
11475
|
+
// _value aligned with the input's displayed text.
|
|
11476
|
+
if (existingValue) {
|
|
11477
|
+
this.maskInstance.value = existingValue;
|
|
11421
11478
|
}
|
|
11422
|
-
});
|
|
11423
|
-
|
|
11424
|
-
// Restore the stashed value through IMask so it's properly masked
|
|
11425
|
-
if (existingValue) {
|
|
11426
|
-
this.maskInstance.value = existingValue;
|
|
11427
11479
|
}
|
|
11480
|
+
} finally {
|
|
11481
|
+
this._configuringMask = false;
|
|
11428
11482
|
}
|
|
11429
11483
|
}
|
|
11430
11484
|
|
|
@@ -11434,14 +11488,17 @@ class BaseInput extends AuroElement {
|
|
|
11434
11488
|
* @returns {void}
|
|
11435
11489
|
*/
|
|
11436
11490
|
notifyValueChanged() {
|
|
11437
|
-
|
|
11438
|
-
|
|
11439
|
-
|
|
11491
|
+
// This echoes Lit's reactive value update (and handleClickClear's
|
|
11492
|
+
// programmatic clear) — it is NOT a fresh user-input event. Mark it
|
|
11493
|
+
// `isProgrammatic` so consumers (e.g. auro-combobox) can distinguish
|
|
11494
|
+
// it from genuine user typing and skip clobbering their own
|
|
11495
|
+
// programmatic state during init-time renders.
|
|
11496
|
+
const inputEvent = new Event('input', {
|
|
11440
11497
|
bubbles: true,
|
|
11441
11498
|
composed: true,
|
|
11442
11499
|
});
|
|
11500
|
+
inputEvent.isProgrammatic = true;
|
|
11443
11501
|
|
|
11444
|
-
// Dispatched event to alert outside shadow DOM context of event firing.
|
|
11445
11502
|
this.dispatchEvent(inputEvent);
|
|
11446
11503
|
}
|
|
11447
11504
|
|
|
@@ -11498,6 +11555,38 @@ class BaseInput extends AuroElement {
|
|
|
11498
11555
|
this.touched = true;
|
|
11499
11556
|
this.validation.validate(this);
|
|
11500
11557
|
}
|
|
11558
|
+
|
|
11559
|
+
// Prevents cursor jumping in Safari. Setting `this.value` triggers a Lit
|
|
11560
|
+
// update that can re-render the input and reset the native cursor; we
|
|
11561
|
+
// capture the caret position before that update commits and restore it
|
|
11562
|
+
// via `setSelectionRange` once the update has flushed. Gated on
|
|
11563
|
+
// `setSelectionInputTypes` so credit-card (and other masked types whose
|
|
11564
|
+
// formatter manages the cursor itself) doesn't get a competing write.
|
|
11565
|
+
// Capture the caret position INSIDE the gate — reading `selectionStart`
|
|
11566
|
+
// on input types that don't support text selection (number, email in
|
|
11567
|
+
// some browsers) throws InvalidStateError, which would crash all input
|
|
11568
|
+
// handling. Wrap the read in try/catch belt-and-suspenders even though
|
|
11569
|
+
// the gated types currently support it, since the list is a public
|
|
11570
|
+
// property a consumer could mutate.
|
|
11571
|
+
if (this.setSelectionInputTypes.includes(this.type)) {
|
|
11572
|
+
let selectionStart = null;
|
|
11573
|
+
try {
|
|
11574
|
+
({ selectionStart } = this.inputElement);
|
|
11575
|
+
} catch {
|
|
11576
|
+
return;
|
|
11577
|
+
}
|
|
11578
|
+
if (typeof selectionStart !== 'number') {
|
|
11579
|
+
return;
|
|
11580
|
+
}
|
|
11581
|
+
this.updateComplete.then(() => {
|
|
11582
|
+
try {
|
|
11583
|
+
this.inputElement.setSelectionRange(selectionStart, selectionStart);
|
|
11584
|
+
} catch {
|
|
11585
|
+
// Some input types (number/email in certain UAs) throw on
|
|
11586
|
+
// setSelectionRange; swallow and let the native cursor stand.
|
|
11587
|
+
}
|
|
11588
|
+
});
|
|
11589
|
+
}
|
|
11501
11590
|
}
|
|
11502
11591
|
|
|
11503
11592
|
/**
|
|
@@ -11586,7 +11675,6 @@ class BaseInput extends AuroElement {
|
|
|
11586
11675
|
*/
|
|
11587
11676
|
reset() {
|
|
11588
11677
|
this.value = undefined;
|
|
11589
|
-
this.setDateObjectProperty('valueObject', undefined);
|
|
11590
11678
|
this.validation.reset(this);
|
|
11591
11679
|
}
|
|
11592
11680
|
|
|
@@ -11595,7 +11683,6 @@ class BaseInput extends AuroElement {
|
|
|
11595
11683
|
*/
|
|
11596
11684
|
clear() {
|
|
11597
11685
|
this.value = undefined;
|
|
11598
|
-
this.setDateObjectProperty('valueObject', undefined);
|
|
11599
11686
|
}
|
|
11600
11687
|
|
|
11601
11688
|
/**
|
|
@@ -11620,8 +11707,7 @@ class BaseInput extends AuroElement {
|
|
|
11620
11707
|
|
|
11621
11708
|
// Set default date format if type=date and no format is defined
|
|
11622
11709
|
if (this.type === "date" && !this.format) {
|
|
11623
|
-
|
|
11624
|
-
this.format = this.util.getDateMaskFromLocale().toLowerCase();
|
|
11710
|
+
this._setFormatFromLocale(this.util.getDateMaskFromLocale().toLowerCase());
|
|
11625
11711
|
this.util.updateFormat(this.format);
|
|
11626
11712
|
}
|
|
11627
11713
|
}
|
|
@@ -11633,7 +11719,7 @@ class BaseInput extends AuroElement {
|
|
|
11633
11719
|
*/
|
|
11634
11720
|
get placeholderStr() {
|
|
11635
11721
|
if (!this.placeholder && this.type === 'date') {
|
|
11636
|
-
return this.format
|
|
11722
|
+
return this.format.toUpperCase();
|
|
11637
11723
|
}
|
|
11638
11724
|
return this.placeholder || "";
|
|
11639
11725
|
}
|
|
@@ -11650,7 +11736,7 @@ class BaseInput extends AuroElement {
|
|
|
11650
11736
|
const creditCard = this.matchInputValueToCreditCard();
|
|
11651
11737
|
const previousFormat = this.format;
|
|
11652
11738
|
|
|
11653
|
-
this.
|
|
11739
|
+
this._setFormatFromLocale(creditCard.maskFormat);
|
|
11654
11740
|
|
|
11655
11741
|
this.maxLength = creditCard.formatLength;
|
|
11656
11742
|
this.minLength = creditCard.formatMinLength;
|
|
@@ -11670,7 +11756,7 @@ class BaseInput extends AuroElement {
|
|
|
11670
11756
|
/**
|
|
11671
11757
|
* Function to support credit-card feature type.
|
|
11672
11758
|
* @private
|
|
11673
|
-
* @deprecated https://dev.azure.com/itsals/E_Retain_Content/_workitems/edit/1557296
|
|
11759
|
+
* @deprecated See https://dev.azure.com/itsals/E_Retain_Content/_workitems/edit/1557296.
|
|
11674
11760
|
* @returns {object} JSON with data for credit card formatting.
|
|
11675
11761
|
*/
|
|
11676
11762
|
matchInputValueToCreditCard() {
|
|
@@ -11711,10 +11797,10 @@ class BaseInput extends AuroElement {
|
|
|
11711
11797
|
},
|
|
11712
11798
|
{
|
|
11713
11799
|
name: 'Diners club',
|
|
11714
|
-
regex: /^(?<num>36|38)\d{0}/u,
|
|
11800
|
+
regex: /^(?<num>30[0-5]|36|38)\d{0}/u,
|
|
11715
11801
|
formatLength: 16,
|
|
11716
11802
|
errorMessage: CreditCardValidationMessage,
|
|
11717
|
-
cardIcon: '
|
|
11803
|
+
cardIcon: 'cc-dinersclub',
|
|
11718
11804
|
maskFormat: "0000 000000 0000"
|
|
11719
11805
|
},
|
|
11720
11806
|
{
|
|
@@ -12124,7 +12210,7 @@ class AuroHelpText extends LitElement {
|
|
|
12124
12210
|
}
|
|
12125
12211
|
}
|
|
12126
12212
|
|
|
12127
|
-
var formkitVersion = '
|
|
12213
|
+
var formkitVersion = '202607221815';
|
|
12128
12214
|
|
|
12129
12215
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
12130
12216
|
// See LICENSE in the project root for license information.
|
|
@@ -12410,20 +12496,50 @@ class AuroInput extends BaseInput {
|
|
|
12410
12496
|
* @returns {void}
|
|
12411
12497
|
*/
|
|
12412
12498
|
checkDisplayValueSlotChange() {
|
|
12413
|
-
|
|
12414
|
-
|
|
12415
|
-
|
|
12416
|
-
|
|
12417
|
-
|
|
12499
|
+
const slot = this.shadowRoot?.querySelector('slot[name="displayValue"]');
|
|
12500
|
+
if (!slot) {
|
|
12501
|
+
// Shadow slot not yet rendered — fall back to checking light-DOM
|
|
12502
|
+
// children so hasDisplayValueContent isn't stuck false when called
|
|
12503
|
+
// before firstUpdated (e.g. from auro-combobox during mount).
|
|
12504
|
+
// Check for any element (including custom elements like <auro-icon>
|
|
12505
|
+
// that render via shadow DOM with no text content).
|
|
12506
|
+
const lightDomNodes = Array.from(this.querySelectorAll('[slot="displayValue"]:not(slot)'));
|
|
12507
|
+
const hasContent = lightDomNodes.some((node) => (
|
|
12508
|
+
node.textContent.trim().length > 0 ||
|
|
12509
|
+
node.children.length > 0 ||
|
|
12510
|
+
node.shadowRoot !== null
|
|
12511
|
+
));
|
|
12512
|
+
if (this.hasDisplayValueContent !== hasContent) {
|
|
12513
|
+
this.hasDisplayValueContent = hasContent;
|
|
12514
|
+
this.requestUpdate();
|
|
12515
|
+
}
|
|
12516
|
+
return;
|
|
12418
12517
|
}
|
|
12419
|
-
|
|
12420
|
-
|
|
12421
|
-
|
|
12422
|
-
|
|
12423
|
-
|
|
12518
|
+
const nodes = slot.assignedNodes({ flatten: true });
|
|
12519
|
+
|
|
12520
|
+
// Check for actual visible content, not just node existence.
|
|
12521
|
+
// An empty <span slot="displayValue"></span> forwarded from the
|
|
12522
|
+
// consumer should not be treated as "has content" — it causes the
|
|
12523
|
+
// displayValue wrapper to render (with hasContent class) but show
|
|
12524
|
+
// nothing, blocking the combobox's synthetic displayValue from
|
|
12525
|
+
// being visible on preset/deeplink load.
|
|
12526
|
+
// Custom elements (e.g. <auro-icon>) that render via shadow DOM are
|
|
12527
|
+
// treated as content even when they have no text or light-DOM children.
|
|
12528
|
+
const hasContent = nodes.some((node) => {
|
|
12529
|
+
if (node.nodeType === Node.TEXT_NODE) {
|
|
12530
|
+
return node.textContent.trim().length > 0;
|
|
12531
|
+
}
|
|
12532
|
+
if (node.nodeType === Node.ELEMENT_NODE) {
|
|
12533
|
+
return node.textContent.trim().length > 0 ||
|
|
12534
|
+
node.children.length > 0 ||
|
|
12535
|
+
node.shadowRoot !== null;
|
|
12536
|
+
}
|
|
12537
|
+
return false;
|
|
12538
|
+
});
|
|
12539
|
+
if (this.hasDisplayValueContent !== hasContent) {
|
|
12540
|
+
this.hasDisplayValueContent = hasContent;
|
|
12541
|
+
this.requestUpdate();
|
|
12424
12542
|
}
|
|
12425
|
-
|
|
12426
|
-
this.hasDisplayValueContent = hasContent;
|
|
12427
12543
|
}
|
|
12428
12544
|
|
|
12429
12545
|
firstUpdated() {
|
|
@@ -12447,7 +12563,7 @@ class AuroInput extends BaseInput {
|
|
|
12447
12563
|
/**
|
|
12448
12564
|
* Determines default help text string.
|
|
12449
12565
|
* @private
|
|
12450
|
-
* @deprecated https://dev.azure.com/itsals/E_Retain_Content/_workitems/edit/1557296
|
|
12566
|
+
* @deprecated See https://dev.azure.com/itsals/E_Retain_Content/_workitems/edit/1557296.
|
|
12451
12567
|
* @returns {string} Evaluates pre-determined help text.
|
|
12452
12568
|
*/
|
|
12453
12569
|
getHelpText() {
|
|
@@ -12627,6 +12743,7 @@ class AuroInput extends BaseInput {
|
|
|
12627
12743
|
<${this.buttonTag}
|
|
12628
12744
|
@click="${this.handleClickShowPassword}"
|
|
12629
12745
|
appearance="${this.onDark ? 'inverse' : this.appearance}"
|
|
12746
|
+
aria-pressed="${this.showPassword ? 'true' : 'false'}"
|
|
12630
12747
|
class="notificationBtn passwordBtn"
|
|
12631
12748
|
shape="circle"
|
|
12632
12749
|
size="sm"
|
|
@@ -12700,25 +12817,29 @@ class AuroInput extends BaseInput {
|
|
|
12700
12817
|
* @returns {html} - Returns HTML for the help text and error message.
|
|
12701
12818
|
*/
|
|
12702
12819
|
renderHtmlHelpText() {
|
|
12820
|
+
// Single `<p>` with stable identity across validity transitions —
|
|
12821
|
+
// previously two distinct templates (valid vs invalid) caused Lit to
|
|
12822
|
+
// replace the node entirely on a flip, and VoiceOver wouldn't
|
|
12823
|
+
// re-announce because the live-region element it was watching had been
|
|
12824
|
+
// removed and a new one inserted. Keeping one node means the `role`,
|
|
12825
|
+
// `aria-live`, and text content all change in-place, which AT does
|
|
12826
|
+
// observe and announce.
|
|
12827
|
+
const isError = this.validity && this.validity !== 'valid';
|
|
12703
12828
|
return html$1`
|
|
12704
|
-
|
|
12705
|
-
?
|
|
12706
|
-
|
|
12707
|
-
|
|
12708
|
-
|
|
12709
|
-
|
|
12710
|
-
|
|
12711
|
-
|
|
12712
|
-
|
|
12713
|
-
|
|
12714
|
-
|
|
12715
|
-
appearance="${this.onDark ? 'inverse' : this.appearance}">
|
|
12716
|
-
<p id="${this.uniqueId}" role="alert" aria-live="assertive" part="helpText">
|
|
12717
|
-
${this.errorMessage}
|
|
12718
|
-
</p>
|
|
12719
|
-
</${this.helpTextTag}>
|
|
12720
|
-
`
|
|
12829
|
+
<${this.helpTextTag}
|
|
12830
|
+
appearance="${this.onDark ? 'inverse' : this.appearance}"
|
|
12831
|
+
?error=${isError}>
|
|
12832
|
+
<p
|
|
12833
|
+
id="${this.uniqueId}"
|
|
12834
|
+
part="helpText"
|
|
12835
|
+
role="${ifDefined(isError ? 'alert' : undefined)}"
|
|
12836
|
+
aria-live="${ifDefined(isError ? 'assertive' : undefined)}">
|
|
12837
|
+
${isError
|
|
12838
|
+
? this.errorMessage
|
|
12839
|
+
: html$1`<slot name="helpText">${this.getHelpText()}</slot>`
|
|
12721
12840
|
}
|
|
12841
|
+
</p>
|
|
12842
|
+
</${this.helpTextTag}>
|
|
12722
12843
|
`;
|
|
12723
12844
|
}
|
|
12724
12845
|
|