@aurodesignsystem-dev/auro-formkit 0.0.0-pr1507.0 → 0.0.0-pr1508.0
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/checkbox/demo/customize.html +1 -2
- package/components/checkbox/demo/customize.min.js +1 -1
- package/components/checkbox/demo/getting-started.min.js +1 -1
- package/components/checkbox/demo/index.min.js +1 -1
- package/components/checkbox/dist/index.js +1 -1
- package/components/checkbox/dist/registered.js +1 -1
- package/components/combobox/demo/customize.html +1 -2
- package/components/combobox/demo/customize.md +108 -132
- package/components/combobox/demo/customize.min.js +150 -293
- package/components/combobox/demo/getting-started.min.js +150 -293
- package/components/combobox/demo/index.min.js +150 -293
- package/components/combobox/dist/auro-combobox.d.ts +9 -0
- package/components/combobox/dist/index.js +150 -293
- package/components/combobox/dist/registered.js +150 -293
- package/components/counter/demo/customize.min.js +10 -2
- package/components/counter/demo/index.min.js +10 -2
- package/components/counter/dist/index.js +10 -2
- package/components/counter/dist/registered.js +10 -2
- package/components/datepicker/demo/api.md +2 -0
- package/components/datepicker/demo/customize.js +0 -2
- package/components/datepicker/demo/customize.md +138 -38
- package/components/datepicker/demo/customize.min.js +59 -168
- package/components/datepicker/demo/index.min.js +59 -150
- package/components/datepicker/dist/index.js +59 -150
- package/components/datepicker/dist/registered.js +59 -150
- package/components/datepicker/dist/src/auro-datepicker.d.ts +2 -0
- package/components/dropdown/demo/customize.min.js +9 -1
- package/components/dropdown/demo/getting-started.min.js +9 -1
- package/components/dropdown/demo/index.min.js +9 -1
- package/components/dropdown/dist/auro-dropdown.d.ts +1 -0
- package/components/dropdown/dist/index.js +9 -1
- package/components/dropdown/dist/registered.js +9 -1
- package/components/form/demo/customize.html +6 -6
- package/components/form/demo/customize.js +19 -0
- package/components/form/demo/customize.md +203 -51
- package/components/form/demo/customize.min.js +707 -633
- package/components/form/demo/getting-started.min.js +635 -633
- package/components/form/demo/index.min.js +635 -633
- package/components/form/demo/registerDemoDeps.min.js +272 -596
- package/components/form/dist/auro-form.d.ts +122 -4
- package/components/form/dist/index.js +363 -37
- package/components/form/dist/registered.js +363 -37
- package/components/input/demo/customize.html +1 -2
- package/components/input/demo/customize.md +54 -53
- package/components/input/demo/customize.min.js +41 -147
- package/components/input/demo/getting-started.min.js +41 -147
- package/components/input/demo/index.min.js +41 -147
- package/components/input/dist/base-input.d.ts +1 -49
- package/components/input/dist/index.js +41 -147
- package/components/input/dist/registered.js +41 -147
- package/components/radio/demo/customize.min.js +1 -1
- package/components/radio/demo/getting-started.min.js +1 -1
- package/components/radio/demo/index.min.js +1 -1
- package/components/radio/dist/index.js +1 -1
- package/components/radio/dist/registered.js +1 -1
- package/components/select/demo/customize.html +1 -2
- package/components/select/demo/customize.min.js +10 -2
- package/components/select/demo/getting-started.min.js +10 -2
- package/components/select/demo/index.min.js +10 -2
- package/components/select/dist/index.js +10 -2
- package/components/select/dist/registered.js +10 -2
- package/custom-elements.json +1592 -1707
- package/package.json +1 -1
|
@@ -10528,6 +10528,7 @@ let AuroInputUtilities$1 = class AuroInputUtilities {
|
|
|
10528
10528
|
const maskOptions = this.getMaskOptions('date', normalizedFormat);
|
|
10529
10529
|
|
|
10530
10530
|
if (!(valueObject instanceof Date) || Number.isNaN(valueObject.getTime()) || !maskOptions || typeof maskOptions.format !== 'function') {
|
|
10531
|
+
console.debug('Invalid date object or mask options for formatting', { valueObject, maskOptions }); // eslint-disable-line no-console
|
|
10531
10532
|
return undefined;
|
|
10532
10533
|
}
|
|
10533
10534
|
|
|
@@ -13439,7 +13440,7 @@ class AuroBibtemplate extends i$1 {
|
|
|
13439
13440
|
}
|
|
13440
13441
|
}
|
|
13441
13442
|
|
|
13442
|
-
var formkitVersion$2 = '
|
|
13443
|
+
var formkitVersion$2 = '202606231948';
|
|
13443
13444
|
|
|
13444
13445
|
let l$1 = class l{generateElementName(t,e){let o=t;return o+="-",o+=e.replace(/[.]/g,"_"),o}generateTag(o,s,a){const r=this.generateElementName(o,s),i=i$5`${s$5(r)}`;return customElements.get(r)||customElements.define(r,class extends a{}),i}};let d$1 = class d{registerComponent(t,e){customElements.get(t)||customElements.define(t,class extends e{});}closestElement(t,e=this,o=(e,s=e&&e.closest(t))=>e&&e!==document&&e!==window?s||o(e.getRootNode().host):null){return o(e)}handleComponentTagRename(t,e){const o=e.toLowerCase();t.tagName.toLowerCase()!==o&&t.setAttribute(o,true);}elementMatch(t,e){const o=e.toLowerCase();return t.tagName.toLowerCase()===o||t.hasAttribute(o)}getSlotText(t,e){const o=t.shadowRoot?.querySelector(`slot[name="${e}"]`),s=(o?.assignedNodes({flatten:true})||[]).map(t=>t.textContent?.trim()).join(" ").trim();return s||null}};let h$4 = class h{registerComponent(t,e){customElements.get(t)||customElements.define(t,class extends e{});}closestElement(t,e=this,o=(e,s=e&&e.closest(t))=>e&&e!==document&&e!==window?s||o(e.getRootNode().host):null){return o(e)}handleComponentTagRename(t,e){const o=e.toLowerCase();t.tagName.toLowerCase()!==o&&t.setAttribute(o,true);}elementMatch(t,e){const o=e.toLowerCase();return t.tagName.toLowerCase()===o||t.hasAttribute(o)}};var c$3=i$3`:host{color:var(--ds-auro-loader-color)}:host>span{background-color:var(--ds-auro-loader-background-color);border-color:var(--ds-auro-loader-border-color)}:host([onlight]),:host([appearance=brand]){--ds-auro-loader-color: var(--ds-basic-color-brand-primary, #01426a)}:host([ondark]),:host([appearance=inverse]){--ds-auro-loader-color: var(--ds-basic-color-texticon-inverse, #ffffff)}:host([orbit])>span{--ds-auro-loader-background-color: transparent}:host([orbit])>span:nth-child(1){--ds-auro-loader-border-color: currentcolor;opacity:.25}:host([orbit])>span:nth-child(2){--ds-auro-loader-border-color: currentcolor;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}
|
|
13445
13446
|
`,u$6=i$3`.body-default{font-size:var(--wcss-body-default-font-size, 1rem);line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default,.body-lg{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-lg{font-size:var(--wcss-body-lg-font-size, 1.125rem);line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-sm{font-size:var(--wcss-body-sm-font-size, .875rem);line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm,.body-xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-xs{font-size:var(--wcss-body-xs-font-size, .75rem);line-height:var(--wcss-body-xs-line-height, 1rem)}.body-2xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:var(--wcss-body-2xs-font-size, .625rem);font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0);line-height:var(--wcss-body-2xs-line-height, .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, 450);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, 450);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, .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, .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, .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, .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, .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, .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(.875rem, 1.1666666667vw, .875rem));font-weight:var(--wcss-accent-2xs-weight, 450);letter-spacing:var(--wcss-accent-2xs-letter-spacing, .1em);line-height:var(--wcss-accent-2xs-line-height, 1.3);text-transform:uppercase}:focus:not(:focus-visible){outline:3px solid transparent}:host,:host>span{position:relative}:host{width:2rem;height:2rem;display:inline-block;font-size:0}:host>span{position:absolute;display:inline-block;float:none;top:0;left:0;width:2rem;height:2rem;border-radius:100%;border-style:solid;border-width:0;box-sizing:border-box}:host([xs]),:host([xs])>span{width:1.2rem;height:1.2rem}:host([sm]),:host([sm])>span{width:3rem;height:3rem}:host([md]),:host([md])>span{width:5rem;height:5rem}:host([lg]),:host([lg])>span{width:8rem;height:8rem}:host{--margin: .375rem;--margin-xs: .2rem;--margin-sm: .5rem;--margin-md: .75rem;--margin-lg: 1rem}:host([pulse]),:host([pulse])>span{position:relative}:host([pulse]){width:calc(3rem + var(--margin) * 6);height:calc(1rem + var(--margin) * 2)}:host([pulse])>span{width:1rem;height:1rem;margin:var(--margin);animation:pulse 1.5s ease infinite}:host([pulse][xs]){width:calc(1.95rem + var(--margin-xs) * 6);height:calc(.65rem + var(--margin-xs) * 2)}:host([pulse][xs])>span{margin:var(--margin-xs);width:.65rem;height:.65rem}:host([pulse][sm]){width:calc(6rem + var(--margin-sm) * 6);height:calc(2rem + var(--margin-sm) * 2)}:host([pulse][sm])>span{margin:var(--margin-sm);width:2rem;height:2rem}:host([pulse][md]){width:calc(9rem + var(--margin-md) * 6);height:calc(3rem + var(--margin-md) * 2)}:host([pulse][md])>span{margin:var(--margin-md);width:3rem;height:3rem}:host([pulse][lg]){width:calc(15rem + var(--margin-lg) * 6);height:calc(5rem + var(--margin-lg) * 2)}:host([pulse][lg])>span{margin:var(--margin-lg);width:5rem;height:5rem}:host([pulse])>span:nth-child(1){animation-delay:-.4s}:host([pulse])>span:nth-child(2){animation-delay:-.2s}:host([pulse])>span:nth-child(3){animation-delay:0ms}@keyframes pulse{0%,to{opacity:.1;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}:host([orbit]),:host([orbit])>span{opacity:1}:host([orbit])>span{border-width:5px}:host([orbit])>span:nth-child(2){animation:orbit 2s linear infinite}:host([orbit][sm])>span{border-width:8px}:host([orbit][md])>span{border-width:13px}:host([orbit][lg])>span{border-width:21px}@keyframes orbit{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:host([ringworm])>svg{animation:rotate 2s linear infinite;height:100%;width:100%;stroke:currentcolor;stroke-width:8}:host([ringworm]) .path{stroke-dashoffset:0;animation:ringworm 1.5s ease-in-out infinite;stroke-linecap:round}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes ringworm{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}to{stroke-dasharray:89,200;stroke-dashoffset:-124px}}:host([laser]){position:static;width:100%;display:block;height:0;overflow:hidden;font-size:unset}:host([laser])>span{position:fixed;width:100%;height:.25rem;border-radius:0;z-index:100}:host([laser])>span:nth-child(1){border-color:currentcolor;opacity:.25}:host([laser])>span:nth-child(2){border-color:currentcolor;animation:laser 2s linear infinite;opacity:1;width:50%}:host([laser][sm])>span:nth-child(2){width:20%}:host([laser][md])>span:nth-child(2){width:30%}:host([laser][lg])>span:nth-child(2){width:50%;animation-duration:1.5s}:host([laser][xl])>span:nth-child(2){width:80%;animation-duration:1.5s}@keyframes laser{0%{left:-100%}to{left:110%}}:host>.no-animation{display:none}@media (prefers-reduced-motion: reduce){:host{display:flex;align-items:center;justify-content:center}:host>span{opacity:1}:host>.loader{display:none}:host>svg{display:none}:host>.no-animation{display:block}}
|
|
@@ -18974,7 +18975,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$1 {
|
|
|
18974
18975
|
}
|
|
18975
18976
|
};
|
|
18976
18977
|
|
|
18977
|
-
var formkitVersion$1 = '
|
|
18978
|
+
var formkitVersion$1 = '202606231948';
|
|
18978
18979
|
|
|
18979
18980
|
let AuroElement$2 = class AuroElement extends i$1 {
|
|
18980
18981
|
static get properties() {
|
|
@@ -19925,6 +19926,14 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
19925
19926
|
};
|
|
19926
19927
|
this.addEventListener('keydown', this._bibTabHandler);
|
|
19927
19928
|
|
|
19929
|
+
// Suppress AuroFloatingUI's auto-hide-on-focus-loss while the
|
|
19930
|
+
// desktopModal trap owns focus management. Without this, the very
|
|
19931
|
+
// first focus move into the bib (from the RAF below) triggers
|
|
19932
|
+
// handleFocusLoss → hideBib, tearing down the trap before the
|
|
19933
|
+
// user can press Tab.
|
|
19934
|
+
this._priorNoHideOnFocusLoss = this.noHideOnThisFocusLoss;
|
|
19935
|
+
this.noHideOnThisFocusLoss = true;
|
|
19936
|
+
|
|
19928
19937
|
// Move initial focus into the bib content, matching FocusTrap behavior
|
|
19929
19938
|
requestAnimationFrame(() => {
|
|
19930
19939
|
const focusables = getFocusableElements(this.bibContent);
|
|
@@ -30695,6 +30704,7 @@ class AuroInputUtilities {
|
|
|
30695
30704
|
const maskOptions = this.getMaskOptions('date', normalizedFormat);
|
|
30696
30705
|
|
|
30697
30706
|
if (!(valueObject instanceof Date) || Number.isNaN(valueObject.getTime()) || !maskOptions || typeof maskOptions.format !== 'function') {
|
|
30707
|
+
console.debug('Invalid date object or mask options for formatting', { valueObject, maskOptions }); // eslint-disable-line no-console
|
|
30698
30708
|
return undefined;
|
|
30699
30709
|
}
|
|
30700
30710
|
|
|
@@ -30846,10 +30856,8 @@ class BaseInput extends AuroElement$1 {
|
|
|
30846
30856
|
this.layout = 'classic';
|
|
30847
30857
|
this.locale = 'en-US';
|
|
30848
30858
|
this.max = undefined;
|
|
30849
|
-
this._maxObject = undefined;
|
|
30850
30859
|
this.maxLength = undefined;
|
|
30851
30860
|
this.min = undefined;
|
|
30852
|
-
this._minObject = undefined;
|
|
30853
30861
|
this.minLength = undefined;
|
|
30854
30862
|
this.required = false;
|
|
30855
30863
|
this.onDark = false;
|
|
@@ -30857,7 +30865,6 @@ class BaseInput extends AuroElement$1 {
|
|
|
30857
30865
|
this.size = 'lg';
|
|
30858
30866
|
this.shape = 'classic';
|
|
30859
30867
|
this.value = undefined;
|
|
30860
|
-
this._valueObject = undefined;
|
|
30861
30868
|
|
|
30862
30869
|
this._initializePrivateDefaults();
|
|
30863
30870
|
}
|
|
@@ -31397,7 +31404,7 @@ class BaseInput extends AuroElement$1 {
|
|
|
31397
31404
|
* @returns {Date|undefined}
|
|
31398
31405
|
*/
|
|
31399
31406
|
get valueObject() {
|
|
31400
|
-
return this.
|
|
31407
|
+
return this.value && dateFormatter.isValidDate(this.value) ? dateFormatter.stringToDateInstance(this.value) : undefined;
|
|
31401
31408
|
}
|
|
31402
31409
|
|
|
31403
31410
|
/**
|
|
@@ -31405,7 +31412,7 @@ class BaseInput extends AuroElement$1 {
|
|
|
31405
31412
|
* @returns {Date|undefined}
|
|
31406
31413
|
*/
|
|
31407
31414
|
get minObject() {
|
|
31408
|
-
return this.
|
|
31415
|
+
return this.min && dateFormatter.isValidDate(this.min) ? dateFormatter.stringToDateInstance(this.min) : undefined;
|
|
31409
31416
|
}
|
|
31410
31417
|
|
|
31411
31418
|
/**
|
|
@@ -31413,50 +31420,7 @@ class BaseInput extends AuroElement$1 {
|
|
|
31413
31420
|
* @returns {Date|undefined}
|
|
31414
31421
|
*/
|
|
31415
31422
|
get maxObject() {
|
|
31416
|
-
return this.
|
|
31417
|
-
}
|
|
31418
|
-
|
|
31419
|
-
/**
|
|
31420
|
-
* Parses a date string into a Date object when the corresponding `_*Object`
|
|
31421
|
-
* field hasn't been synced yet by `updated()`. Returns undefined when the
|
|
31422
|
-
* input type/format isn't a full date or the string is not a valid date.
|
|
31423
|
-
*
|
|
31424
|
-
* Why this exists: a parent (datepicker) can call `inputN.validate()` from
|
|
31425
|
-
* inside its own `updated()` before this input's `updated()` has run
|
|
31426
|
-
* `syncDateValues()` — so `_valueObject`/`_maxObject` are still `undefined`
|
|
31427
|
-
* and range checks would otherwise silently no-op (flipping the result to
|
|
31428
|
-
* `valid` or `patternMismatch`).
|
|
31429
|
-
* @private
|
|
31430
|
-
* @param {string|undefined} dateStr - ISO date string from `value`/`min`/`max`.
|
|
31431
|
-
* @returns {Date|undefined}
|
|
31432
|
-
*/
|
|
31433
|
-
_computeDateObjectFallback(dateStr) {
|
|
31434
|
-
if (!dateStr || !this.util || !this.util.isFullDateFormat(this.type, this.format)) {
|
|
31435
|
-
return undefined;
|
|
31436
|
-
}
|
|
31437
|
-
if (!dateFormatter.isValidDate(dateStr)) {
|
|
31438
|
-
return undefined;
|
|
31439
|
-
}
|
|
31440
|
-
return dateFormatter.stringToDateInstance(dateStr);
|
|
31441
|
-
}
|
|
31442
|
-
|
|
31443
|
-
/**
|
|
31444
|
-
* Internal setter for readonly date object properties.
|
|
31445
|
-
* @private
|
|
31446
|
-
* @param {'valueObject'|'minObject'|'maxObject'} propertyName - Public object property name.
|
|
31447
|
-
* @param {Date|undefined} propertyValue - Value to assign.
|
|
31448
|
-
* @returns {void}
|
|
31449
|
-
*/
|
|
31450
|
-
setDateObjectProperty(propertyName, propertyValue) {
|
|
31451
|
-
const internalPropertyName = `_${propertyName}`;
|
|
31452
|
-
const previousValue = this[internalPropertyName];
|
|
31453
|
-
|
|
31454
|
-
if (previousValue === propertyValue) {
|
|
31455
|
-
return;
|
|
31456
|
-
}
|
|
31457
|
-
|
|
31458
|
-
this[internalPropertyName] = propertyValue;
|
|
31459
|
-
this.requestUpdate(propertyName, previousValue);
|
|
31423
|
+
return this.max && dateFormatter.isValidDate(this.max) ? dateFormatter.stringToDateInstance(this.max) : undefined;
|
|
31460
31424
|
}
|
|
31461
31425
|
|
|
31462
31426
|
connectedCallback() {
|
|
@@ -31485,7 +31449,6 @@ class BaseInput extends AuroElement$1 {
|
|
|
31485
31449
|
format: this.format
|
|
31486
31450
|
});
|
|
31487
31451
|
this.configureDataForType();
|
|
31488
|
-
this.syncDateValues();
|
|
31489
31452
|
}
|
|
31490
31453
|
|
|
31491
31454
|
disconnectedCallback() {
|
|
@@ -31505,10 +31468,6 @@ class BaseInput extends AuroElement$1 {
|
|
|
31505
31468
|
this.wrapperElement.addEventListener('click', this.handleClick);
|
|
31506
31469
|
}
|
|
31507
31470
|
|
|
31508
|
-
// add attribute for query selectors when auro-input is registered under a custom name
|
|
31509
|
-
if (this.tagName.toLowerCase() !== 'auro-input' && !this.hasAttribute('auro-input')) {
|
|
31510
|
-
this.setAttribute('auro-input', '');
|
|
31511
|
-
}
|
|
31512
31471
|
this.inputId = this.id ? `${this.id}-input` : window.crypto.randomUUID();
|
|
31513
31472
|
|
|
31514
31473
|
// use validity message override if declared when initializing the component
|
|
@@ -31519,7 +31478,6 @@ class BaseInput extends AuroElement$1 {
|
|
|
31519
31478
|
this.setCustomHelpTextMessage();
|
|
31520
31479
|
this.configureAutoFormatting();
|
|
31521
31480
|
this.configureDataForType();
|
|
31522
|
-
this.syncDateValues();
|
|
31523
31481
|
}
|
|
31524
31482
|
|
|
31525
31483
|
/**
|
|
@@ -31656,8 +31614,6 @@ class BaseInput extends AuroElement$1 {
|
|
|
31656
31614
|
this.configureDataForType();
|
|
31657
31615
|
}
|
|
31658
31616
|
|
|
31659
|
-
this.syncDateValues(changedProperties);
|
|
31660
|
-
|
|
31661
31617
|
if (changedProperties.has('value')) {
|
|
31662
31618
|
if (this.value && this.value.length > 0) {
|
|
31663
31619
|
this.hasValue = true;
|
|
@@ -31679,14 +31635,14 @@ class BaseInput extends AuroElement$1 {
|
|
|
31679
31635
|
|
|
31680
31636
|
if (formattedValue !== this.inputElement.value) {
|
|
31681
31637
|
this.skipNextProgrammaticInputEvent = true;
|
|
31682
|
-
if (this.maskInstance && this.type
|
|
31638
|
+
if (this.maskInstance && this.type !== 'date') {
|
|
31683
31639
|
// Route through the mask so its _value and el.value stay in lock-step
|
|
31684
31640
|
// (set value calls updateControl which writes el.value = displayValue).
|
|
31685
31641
|
// Writing el.value directly leaves the mask thinking displayValue is
|
|
31686
|
-
// stale; _saveSelection on the next focus/click then warns.
|
|
31687
|
-
//
|
|
31688
|
-
//
|
|
31689
|
-
//
|
|
31642
|
+
// stale; _saveSelection on the next focus/click then warns. Date is
|
|
31643
|
+
// excluded because its formattedValue can be raw ISO when the calendar
|
|
31644
|
+
// is invalid, and re-masking through mm/dd/yyyy would truncate it and
|
|
31645
|
+
// flip validity from patternMismatch to tooShort.
|
|
31690
31646
|
this.maskInstance.value = formattedValue || '';
|
|
31691
31647
|
} else if (formattedValue) {
|
|
31692
31648
|
this.inputElement.value = formattedValue;
|
|
@@ -31728,120 +31684,65 @@ class BaseInput extends AuroElement$1 {
|
|
|
31728
31684
|
}));
|
|
31729
31685
|
}
|
|
31730
31686
|
|
|
31731
|
-
|
|
31732
|
-
/**
|
|
31733
|
-
* Synchronizes the ISO string values and Date object representations for date-related properties.
|
|
31734
|
-
* This keeps the model and display values aligned when either side changes.
|
|
31735
|
-
*
|
|
31736
|
-
* When a full date format is in use, this method updates `value`, `min`, and `max` from their corresponding
|
|
31737
|
-
* Date objects or vice versa, based on which properties have changed. It only runs when the current configuration
|
|
31738
|
-
* represents a full year/month/day date format.
|
|
31739
|
-
*
|
|
31740
|
-
* @param {Map<string, unknown>|undefined} [changedProperties=undefined] - Optional map of changed properties used to limit which values are synchronized.
|
|
31741
|
-
* @returns {void}
|
|
31742
|
-
* @private
|
|
31743
|
-
*/
|
|
31744
|
-
syncDateValues(changedProperties = undefined) {
|
|
31745
|
-
if (!this.util.isFullDateFormat(this.type, this.format)) {
|
|
31746
|
-
return;
|
|
31747
|
-
}
|
|
31748
|
-
|
|
31749
|
-
this.syncSingleDateValue(changedProperties, 'valueObject', 'value');
|
|
31750
|
-
this.syncSingleDateValue(changedProperties, 'minObject', 'min');
|
|
31751
|
-
this.syncSingleDateValue(changedProperties, 'maxObject', 'max');
|
|
31752
|
-
}
|
|
31753
|
-
|
|
31754
|
-
/**
|
|
31755
|
-
* Synchronizes one date object/string property pair.
|
|
31756
|
-
* @private
|
|
31757
|
-
* @param {Map<string, unknown>|undefined} changedProperties - Map of changed properties from Lit.
|
|
31758
|
-
* @param {string} objectProperty - Date object property name.
|
|
31759
|
-
* @param {string} valueProperty - ISO string property name.
|
|
31760
|
-
* @returns {void}
|
|
31761
|
-
*/
|
|
31762
|
-
syncSingleDateValue(changedProperties, objectProperty, valueProperty) {
|
|
31763
|
-
const objectPropertyChanged = !changedProperties || changedProperties.has(objectProperty);
|
|
31764
|
-
|
|
31765
|
-
// objectProperty wins over valueProperty when both changed
|
|
31766
|
-
if (objectPropertyChanged && this[objectProperty]) {
|
|
31767
|
-
this[valueProperty] = dateFormatter.toISOFormatString(this[objectProperty]);
|
|
31768
|
-
return;
|
|
31769
|
-
}
|
|
31770
|
-
|
|
31771
|
-
const valuePropertyChanged = !changedProperties || changedProperties.has(valueProperty);
|
|
31772
|
-
if (!valuePropertyChanged) {
|
|
31773
|
-
return;
|
|
31774
|
-
}
|
|
31775
|
-
|
|
31776
|
-
// 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)
|
|
31777
|
-
if (
|
|
31778
|
-
changedProperties &&
|
|
31779
|
-
valueProperty === 'value' &&
|
|
31780
|
-
changedProperties.get('value') === undefined &&
|
|
31781
|
-
this[objectProperty] instanceof Date &&
|
|
31782
|
-
this[valueProperty] === dateFormatter.toISOFormatString(this[objectProperty])
|
|
31783
|
-
) {
|
|
31784
|
-
return;
|
|
31785
|
-
}
|
|
31786
|
-
|
|
31787
|
-
if (dateFormatter.isValidDate(this[valueProperty])) {
|
|
31788
|
-
this.setDateObjectProperty(objectProperty, dateFormatter.stringToDateInstance(this[valueProperty]));
|
|
31789
|
-
} else {
|
|
31790
|
-
this.setDateObjectProperty(objectProperty, undefined);
|
|
31791
|
-
}
|
|
31792
|
-
}
|
|
31793
|
-
|
|
31794
31687
|
/**
|
|
31795
31688
|
* Sets up IMasks and logic based on auto-formatting requirements.
|
|
31796
31689
|
* @private
|
|
31797
31690
|
* @returns {void}
|
|
31798
31691
|
*/
|
|
31799
31692
|
configureAutoFormatting() {
|
|
31800
|
-
//
|
|
31801
|
-
//
|
|
31802
|
-
//
|
|
31803
|
-
//
|
|
31693
|
+
// _configuringMask gates two things: external re-entry into this method
|
|
31694
|
+
// while setup is mid-flight (from property changes that call back here),
|
|
31695
|
+
// and the accept/complete listeners below — both need to ignore the mask
|
|
31696
|
+
// events fired by our own value-restore step.
|
|
31804
31697
|
if (this._configuringMask) return;
|
|
31805
31698
|
this._configuringMask = true;
|
|
31806
31699
|
try {
|
|
31700
|
+
// Destroy any prior mask so IMask can attach fresh under the new format.
|
|
31701
|
+
// Null the reference too — if the new maskOptions.mask is falsy (e.g.
|
|
31702
|
+
// type switched from credit-card to text) the IMask() reassignment
|
|
31703
|
+
// below is skipped, and downstream writes at line ~823 would otherwise
|
|
31704
|
+
// route through the destroyed instance.
|
|
31807
31705
|
if (this.maskInstance) {
|
|
31808
31706
|
this.maskInstance.destroy();
|
|
31707
|
+
this.maskInstance = null;
|
|
31809
31708
|
}
|
|
31810
31709
|
|
|
31811
|
-
// Pass new format to util
|
|
31812
31710
|
this.util.updateFormat(this.format);
|
|
31813
31711
|
|
|
31814
31712
|
const maskOptions = this.util.getMaskOptions(this.type, this.format);
|
|
31815
31713
|
|
|
31816
31714
|
if (this.inputElement && maskOptions.mask) {
|
|
31817
|
-
|
|
31818
|
-
//
|
|
31819
|
-
//
|
|
31820
|
-
//
|
|
31821
|
-
// When the format changes (e.g. locale switch) and we have a valid ISO
|
|
31822
|
-
// model value, compute the display string for the NEW format instead of
|
|
31823
|
-
// re-using the old display string, which may be invalid in the new mask.
|
|
31715
|
+
// Capture the current display so it can be re-applied after IMask
|
|
31716
|
+
// attaches. The restore at the bottom goes through maskInstance.value
|
|
31717
|
+
// (not inputElement.value directly) so the mask's internal state and
|
|
31718
|
+
// the input's displayed text stay in lock-step.
|
|
31824
31719
|
let existingValue = this.inputElement.value;
|
|
31720
|
+
|
|
31721
|
+
// Format-change case (e.g. locale switch): existingValue is the OLD
|
|
31722
|
+
// mask's display string and may not parse under the new mask. When
|
|
31723
|
+
// we have a valid date model, rebuild the display from valueObject
|
|
31724
|
+
// (the canonical source) using the new mask's format function.
|
|
31825
31725
|
if (
|
|
31826
31726
|
this.util.isFullDateFormat(this.type, this.format) &&
|
|
31827
31727
|
this.value &&
|
|
31828
|
-
|
|
31829
|
-
this.valueObject instanceof Date &&
|
|
31830
|
-
!Number.isNaN(this.valueObject.getTime()) &&
|
|
31728
|
+
this.valueObject &&
|
|
31831
31729
|
typeof maskOptions.format === 'function'
|
|
31832
31730
|
) {
|
|
31833
31731
|
existingValue = maskOptions.format(this.valueObject);
|
|
31834
31732
|
}
|
|
31835
31733
|
|
|
31734
|
+
// Clear before IMask attaches so the constructor seeds an empty
|
|
31735
|
+
// internal value. Otherwise IMask reads the stale unmasked string
|
|
31736
|
+
// and emits a spurious 'accept' before the restore below runs.
|
|
31836
31737
|
this.skipNextProgrammaticInputEvent = true;
|
|
31837
31738
|
this.inputElement.value = '';
|
|
31838
31739
|
|
|
31839
31740
|
this.maskInstance = IMask(this.inputElement, maskOptions);
|
|
31840
31741
|
|
|
31742
|
+
// Mask fires 'accept' on every value change, including the restore
|
|
31743
|
+
// step below. Skip events fired during configureAutoFormatting so
|
|
31744
|
+
// we don't overwrite a value the parent just pushed.
|
|
31841
31745
|
this.maskInstance.on('accept', () => {
|
|
31842
|
-
// Suppress propagation during configureAutoFormatting's own value-restoration
|
|
31843
|
-
// (line below) — the mask emits 'accept' on every value-set, including ours,
|
|
31844
|
-
// and we don't want to overwrite a value the parent just pushed.
|
|
31845
31746
|
if (this._configuringMask) return;
|
|
31846
31747
|
this.value = this.util.toModelValue(this.maskInstance.value, this.format);
|
|
31847
31748
|
if (this.type === "date") {
|
|
@@ -31849,6 +31750,8 @@ class BaseInput extends AuroElement$1 {
|
|
|
31849
31750
|
}
|
|
31850
31751
|
});
|
|
31851
31752
|
|
|
31753
|
+
// Mask fires 'complete' on the restore step below for any value that
|
|
31754
|
+
// happens to be a complete match. Same setup-suppression as 'accept'.
|
|
31852
31755
|
this.maskInstance.on('complete', () => {
|
|
31853
31756
|
if (this._configuringMask) return;
|
|
31854
31757
|
this.value = this.util.toModelValue(this.maskInstance.value, this.format);
|
|
@@ -31857,7 +31760,9 @@ class BaseInput extends AuroElement$1 {
|
|
|
31857
31760
|
}
|
|
31858
31761
|
});
|
|
31859
31762
|
|
|
31860
|
-
//
|
|
31763
|
+
// Write existingValue through the mask (not the input directly) so
|
|
31764
|
+
// the mask reformats it under the new rules and keeps its internal
|
|
31765
|
+
// _value aligned with the input's displayed text.
|
|
31861
31766
|
if (existingValue) {
|
|
31862
31767
|
this.maskInstance.value = existingValue;
|
|
31863
31768
|
}
|
|
@@ -32025,7 +31930,6 @@ class BaseInput extends AuroElement$1 {
|
|
|
32025
31930
|
*/
|
|
32026
31931
|
reset() {
|
|
32027
31932
|
this.value = undefined;
|
|
32028
|
-
this.setDateObjectProperty('valueObject', undefined);
|
|
32029
31933
|
this.validation.reset(this);
|
|
32030
31934
|
}
|
|
32031
31935
|
|
|
@@ -32034,7 +31938,6 @@ class BaseInput extends AuroElement$1 {
|
|
|
32034
31938
|
*/
|
|
32035
31939
|
clear() {
|
|
32036
31940
|
this.value = undefined;
|
|
32037
|
-
this.setDateObjectProperty('valueObject', undefined);
|
|
32038
31941
|
}
|
|
32039
31942
|
|
|
32040
31943
|
/**
|
|
@@ -32563,7 +32466,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$1 {
|
|
|
32563
32466
|
}
|
|
32564
32467
|
};
|
|
32565
32468
|
|
|
32566
|
-
var formkitVersion = '
|
|
32469
|
+
var formkitVersion = '202606231948';
|
|
32567
32470
|
|
|
32568
32471
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
32569
32472
|
// See LICENSE in the project root for license information.
|
|
@@ -33983,6 +33886,8 @@ const datepickerKeyboardStrategy = {
|
|
|
33983
33886
|
* @slot label - Defines the label content for the entire datepicker when `layout="snowflake"`.
|
|
33984
33887
|
* @slot toLabel - Defines the label content for the second input when the `range` attribute is used.
|
|
33985
33888
|
* @slot fromLabel - Defines the label content for the first input.
|
|
33889
|
+
* @slot optionalFromLabel - Overrides the "(optional)" text rendered next to the first input's label when the datepicker is not `required`.
|
|
33890
|
+
* @slot optionalToLabel - Overrides the "(optional)" text rendered next to the second input's label when `range` is set and the datepicker is not `required`.
|
|
33986
33891
|
* @slot date_YYYY_MM_DD - Defines the content to display in the auro-calendar-cell for the specified date. The content text is colored using the success state token when the `highlight` attribute is applied to the slot.
|
|
33987
33892
|
* @slot popover_YYYY_MM_DD - Defines the content to display in the auro-calendar-cell popover for the specified date.
|
|
33988
33893
|
* @csspart dropdown - Use for customizing the style of the dropdown.
|
|
@@ -35578,7 +35483,9 @@ class AuroDatePicker extends AuroElement {
|
|
|
35578
35483
|
// update the calendar
|
|
35579
35484
|
if (this.valueEndObject) {
|
|
35580
35485
|
this.calendar.dateTo = this.convertToWcValidTime(this.valueEndObject);
|
|
35581
|
-
|
|
35486
|
+
if (!this.wasCellClick) {
|
|
35487
|
+
this.calendarRenderUtil.updateCentralDate(this, this.valueEndObject);
|
|
35488
|
+
}
|
|
35582
35489
|
} else {
|
|
35583
35490
|
if (this.inputList[1].value !== this.valueEnd) {
|
|
35584
35491
|
this.inputList[1].value = this.valueEnd || '';
|
|
@@ -35973,6 +35880,7 @@ class AuroDatePicker extends AuroElement {
|
|
|
35973
35880
|
}
|
|
35974
35881
|
<span slot="ariaLabel.clear">${this.runtimeUtils.getSlotText(this, 'ariaLabel.input.clear') || i18n(this.lang, 'clearInput')}</span>
|
|
35975
35882
|
<span slot="label"><slot name="fromLabel"></slot></span>
|
|
35883
|
+
<slot name="optionalFromLabel" slot="optionalLabel"> (optional)</slot>
|
|
35976
35884
|
</${this.inputTag}>
|
|
35977
35885
|
</div>
|
|
35978
35886
|
|
|
@@ -36017,6 +35925,7 @@ class AuroDatePicker extends AuroElement {
|
|
|
36017
35925
|
}
|
|
36018
35926
|
<span slot="ariaLabel.clear">${this.runtimeUtils.getSlotText(this, 'ariaLabel.input.clear') || this.runtimeUtils.getSlotText(this, 'ariaLabel.input.clear') || i18n(this.lang, 'clearInput')}</span>
|
|
36019
35927
|
<span slot="label"><slot name="toLabel"></slot></span>
|
|
35928
|
+
<slot name="optionalToLabel" slot="optionalLabel"> (optional)</slot>
|
|
36020
35929
|
</${this.inputTag}>
|
|
36021
35930
|
</div>
|
|
36022
35931
|
` : undefined}
|