@aurodesignsystem-dev/auro-formkit 0.0.0-pr1510.0 → 0.0.0-pr1510.2
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.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.min.js +3 -3
- package/components/combobox/demo/getting-started.min.js +3 -3
- package/components/combobox/demo/index.min.js +3 -3
- package/components/combobox/dist/index.js +3 -3
- package/components/combobox/dist/registered.js +3 -3
- package/components/counter/demo/customize.min.js +2 -2
- package/components/counter/demo/index.min.js +2 -2
- package/components/counter/dist/index.js +2 -2
- package/components/counter/dist/registered.js +2 -2
- package/components/datepicker/demo/accessibility.md +1 -1
- package/components/datepicker/demo/api.md +2 -2
- package/components/datepicker/demo/customize.min.js +179 -72
- package/components/datepicker/demo/index.min.js +179 -72
- package/components/datepicker/dist/{src/auro-calendar.d.ts → auro-calendar.d.ts} +3 -1
- package/components/datepicker/dist/{src/auro-datepicker.d.ts → auro-datepicker.d.ts} +5 -2
- package/components/datepicker/dist/blackoutUtils.d.ts +43 -0
- package/components/datepicker/dist/index.js +179 -72
- package/components/datepicker/dist/registered.js +179 -72
- package/components/dropdown/demo/customize.min.js +1 -1
- package/components/dropdown/demo/getting-started.min.js +1 -1
- package/components/dropdown/demo/index.min.js +1 -1
- package/components/dropdown/dist/index.js +1 -1
- package/components/dropdown/dist/registered.js +1 -1
- package/components/form/demo/customize.min.js +189 -82
- package/components/form/demo/getting-started.min.js +189 -82
- package/components/form/demo/index.min.js +189 -82
- package/components/form/demo/registerDemoDeps.min.js +189 -82
- package/components/input/demo/customize.min.js +1 -1
- package/components/input/demo/getting-started.min.js +1 -1
- package/components/input/demo/index.min.js +1 -1
- package/components/input/dist/index.js +1 -1
- package/components/input/dist/registered.js +1 -1
- 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.min.js +2 -2
- package/components/select/demo/getting-started.min.js +2 -2
- package/components/select/demo/index.min.js +2 -2
- package/components/select/dist/index.js +2 -2
- package/components/select/dist/registered.js +2 -2
- package/custom-elements.json +453 -343
- package/package.json +5 -2
- 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 -17
- 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 -28
- 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/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/datepicker/dist/{src/auro-calendar-cell.d.ts → auro-calendar-cell.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
|
@@ -11550,6 +11550,102 @@ class s{registerComponent(e,t){customElements.get(e)||customElements.define(e,cl
|
|
|
11550
11550
|
|
|
11551
11551
|
var popoverVersion = '6.0.1';
|
|
11552
11552
|
|
|
11553
|
+
/**
|
|
11554
|
+
* Single source of truth for parsing and matching blackout dates across the
|
|
11555
|
+
* datepicker. Both `auro-calendar` (memoized Set + `isDateBlackout`) and the
|
|
11556
|
+
* pre-`firstUpdated` fallback inside `auro-calendar-cell` route through these
|
|
11557
|
+
* helpers so the YYYY-MM-DD → seconds conversion and the merge-with-legacy
|
|
11558
|
+
* `disabledDays` rules are defined exactly once.
|
|
11559
|
+
*/
|
|
11560
|
+
|
|
11561
|
+
/**
|
|
11562
|
+
* Converts a `YYYY-MM-DD` ISO date string to a Unix timestamp (seconds)
|
|
11563
|
+
* representing local midnight on that calendar day. Returns `null` for
|
|
11564
|
+
* inputs that don't parse to a finite timestamp.
|
|
11565
|
+
*
|
|
11566
|
+
* Uses the `new Date(year, monthIndex, day)` constructor (NOT
|
|
11567
|
+
* `new Date(isoStr)`) so the result is local-midnight rather than UTC
|
|
11568
|
+
* midnight — required to keep the calendar grid aligned with the user's
|
|
11569
|
+
* local calendar day in negative-offset timezones.
|
|
11570
|
+
*
|
|
11571
|
+
* @param {string} isoStr - Date string in `YYYY-MM-DD` format.
|
|
11572
|
+
* @returns {number|null} Local-midnight Unix timestamp (seconds), or null.
|
|
11573
|
+
*/
|
|
11574
|
+
function parseIsoToTimestamp(isoStr) {
|
|
11575
|
+
if (typeof isoStr !== 'string') {
|
|
11576
|
+
return null;
|
|
11577
|
+
}
|
|
11578
|
+
const parts = isoStr.split('-');
|
|
11579
|
+
if (parts.length !== 3) {
|
|
11580
|
+
return null;
|
|
11581
|
+
}
|
|
11582
|
+
const year = parseInt(parts[0], 10);
|
|
11583
|
+
const month = parseInt(parts[1], 10);
|
|
11584
|
+
const day = parseInt(parts[2], 10);
|
|
11585
|
+
if (!Number.isFinite(year) || !Number.isFinite(month) || !Number.isFinite(day)) {
|
|
11586
|
+
return null;
|
|
11587
|
+
}
|
|
11588
|
+
// Reject overflow values like "2024-13-40" — JS `new Date(year, month, day)`
|
|
11589
|
+
// silently normalizes those to a different calendar day, which would
|
|
11590
|
+
// disable the wrong date if we let the result through.
|
|
11591
|
+
if (month < 1 || month > 12 || day < 1 || day > 31) {
|
|
11592
|
+
return null;
|
|
11593
|
+
}
|
|
11594
|
+
const date = new Date(year, month - 1, day);
|
|
11595
|
+
// Guard the residual case where JS still rolls a value (e.g. Feb 30 → Mar 2).
|
|
11596
|
+
// After construction, getFullYear/getMonth/getDate should match the inputs.
|
|
11597
|
+
if (date.getFullYear() !== year || date.getMonth() !== month - 1 || date.getDate() !== day) {
|
|
11598
|
+
return null;
|
|
11599
|
+
}
|
|
11600
|
+
const ts = Math.floor(date.getTime() / 1000);
|
|
11601
|
+
return Number.isFinite(ts) ? ts : null;
|
|
11602
|
+
}
|
|
11603
|
+
|
|
11604
|
+
/**
|
|
11605
|
+
* Builds a `Set<number>` of seconds-since-epoch timestamps covering both the
|
|
11606
|
+
* legacy `disabledDays` (already-numeric) array and the ISO `blackoutDates`
|
|
11607
|
+
* array. Use this for O(1) membership checks in hot paths.
|
|
11608
|
+
*
|
|
11609
|
+
* @param {Array<string|number>|undefined} disabledDays - Legacy timestamp array.
|
|
11610
|
+
* @param {Array<string>|undefined} blackoutDates - ISO `YYYY-MM-DD` array.
|
|
11611
|
+
* @returns {Set<number>}
|
|
11612
|
+
*/
|
|
11613
|
+
function buildBlackoutSet(disabledDays, blackoutDates) {
|
|
11614
|
+
const set = new Set();
|
|
11615
|
+
if (Array.isArray(disabledDays)) {
|
|
11616
|
+
for (const day of disabledDays) {
|
|
11617
|
+
const ts = parseInt(day, 10);
|
|
11618
|
+
if (Number.isFinite(ts)) {
|
|
11619
|
+
set.add(ts);
|
|
11620
|
+
}
|
|
11621
|
+
}
|
|
11622
|
+
}
|
|
11623
|
+
if (Array.isArray(blackoutDates)) {
|
|
11624
|
+
for (const isoStr of blackoutDates) {
|
|
11625
|
+
const ts = parseIsoToTimestamp(isoStr);
|
|
11626
|
+
if (ts !== null) {
|
|
11627
|
+
set.add(ts);
|
|
11628
|
+
}
|
|
11629
|
+
}
|
|
11630
|
+
}
|
|
11631
|
+
return set;
|
|
11632
|
+
}
|
|
11633
|
+
|
|
11634
|
+
/**
|
|
11635
|
+
* One-shot membership test for a single timestamp against both blackout
|
|
11636
|
+
* sources. Allocates a Set on each call; only use this in cold paths
|
|
11637
|
+
* (e.g. the pre-`firstUpdated` cell fallback). Hot paths should hold the
|
|
11638
|
+
* Set returned from `buildBlackoutSet` and `.has(ts)` directly.
|
|
11639
|
+
*
|
|
11640
|
+
* @param {number} dateTs - Unix timestamp (seconds) to test.
|
|
11641
|
+
* @param {Array<string|number>|undefined} disabledDays - Legacy timestamp array.
|
|
11642
|
+
* @param {Array<string>|undefined} blackoutDates - ISO `YYYY-MM-DD` array.
|
|
11643
|
+
* @returns {boolean}
|
|
11644
|
+
*/
|
|
11645
|
+
function isBlackoutTimestamp(dateTs, disabledDays, blackoutDates) {
|
|
11646
|
+
return buildBlackoutSet(disabledDays, blackoutDates).has(dateTs);
|
|
11647
|
+
}
|
|
11648
|
+
|
|
11553
11649
|
/* eslint-disable curly, max-lines, no-underscore-dangle, no-magic-numbers, no-underscore-dangle, max-params, no-extra-parens, arrow-parens, max-lines, line-comment-position, no-inline-comments, lit/binding-positions, lit/no-invalid-html */
|
|
11554
11650
|
|
|
11555
11651
|
class AuroCalendarCell extends LitElement {
|
|
@@ -11748,8 +11844,10 @@ class AuroCalendarCell extends LitElement {
|
|
|
11748
11844
|
// consumer or test mutated cell.disabledDays directly), the Set does
|
|
11749
11845
|
// not reflect that addition — fall through to the per-cell scan only
|
|
11750
11846
|
// when the reference no longer matches. Production data flow keeps
|
|
11751
|
-
// these identical, so this branch stays cold.
|
|
11752
|
-
|
|
11847
|
+
// these identical, so this branch stays cold. Guarded with
|
|
11848
|
+
// Array.isArray to match `_getBlackoutSet`'s contract: non-array
|
|
11849
|
+
// values are treated as empty rather than crashing on `.findIndex`.
|
|
11850
|
+
if (Array.isArray(this.disabledDays) && this.disabledDays !== this.calendar.disabledDays && this.disabledDays.length > 0) {
|
|
11753
11851
|
if (this.disabledDays.findIndex((dd) => parseInt(dd, 10) === this.day.date) !== -1) {
|
|
11754
11852
|
return true;
|
|
11755
11853
|
}
|
|
@@ -11758,25 +11856,9 @@ class AuroCalendarCell extends LitElement {
|
|
|
11758
11856
|
}
|
|
11759
11857
|
|
|
11760
11858
|
// Pre-firstUpdated fallback — the cell may render once before the
|
|
11761
|
-
// ancestor calendar is wired up.
|
|
11762
|
-
//
|
|
11763
|
-
|
|
11764
|
-
(this.disabledDays.findIndex(dd => parseInt(dd, 10) === this.day.date) !== -1)) {
|
|
11765
|
-
return true;
|
|
11766
|
-
}
|
|
11767
|
-
|
|
11768
|
-
const blackoutDates = this.datepicker?.blackoutDates;
|
|
11769
|
-
if (Array.isArray(blackoutDates) && blackoutDates.length > 0) {
|
|
11770
|
-
const date = new Date(this.day.date * 1000);
|
|
11771
|
-
const yyyy = date.getFullYear();
|
|
11772
|
-
const mm = String(date.getMonth() + 1).padStart(2, '0');
|
|
11773
|
-
const dd = String(date.getDate()).padStart(2, '0');
|
|
11774
|
-
if (blackoutDates.includes(`${yyyy}-${mm}-${dd}`)) {
|
|
11775
|
-
return true;
|
|
11776
|
-
}
|
|
11777
|
-
}
|
|
11778
|
-
|
|
11779
|
-
return false;
|
|
11859
|
+
// ancestor calendar is wired up. Routes through the shared
|
|
11860
|
+
// blackoutUtils helper so the parsing rules stay in one place.
|
|
11861
|
+
return isBlackoutTimestamp(this.day.date, this.disabledDays, this.datepicker?.blackoutDates);
|
|
11780
11862
|
}
|
|
11781
11863
|
|
|
11782
11864
|
/**
|
|
@@ -12176,9 +12258,14 @@ class AuroCalendarCell extends LitElement {
|
|
|
12176
12258
|
|
|
12177
12259
|
const outOfRange = this.isOutOfRange(this.day, this.min, this.max);
|
|
12178
12260
|
if (outOfRange) {
|
|
12261
|
+
// Strip every aria attribute the in-range branch may have set on a
|
|
12262
|
+
// previous render — if a cell flips from in-range to out-of-range
|
|
12263
|
+
// (calendar shifts months, minDate/maxDate change, etc.).
|
|
12179
12264
|
this.removeAttribute('role');
|
|
12180
12265
|
this.removeAttribute('aria-label');
|
|
12181
12266
|
this.removeAttribute('aria-current');
|
|
12267
|
+
this.removeAttribute('aria-selected');
|
|
12268
|
+
this.removeAttribute('aria-disabled');
|
|
12182
12269
|
return;
|
|
12183
12270
|
}
|
|
12184
12271
|
|
|
@@ -13427,7 +13514,7 @@ class AuroBibtemplate extends LitElement {
|
|
|
13427
13514
|
}
|
|
13428
13515
|
}
|
|
13429
13516
|
|
|
13430
|
-
var formkitVersion$2 = '
|
|
13517
|
+
var formkitVersion$2 = '202606252132';
|
|
13431
13518
|
|
|
13432
13519
|
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=literal`${unsafeStatic(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$1 = 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$1=css`: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}
|
|
13433
13520
|
`,u$4=css`.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}}
|
|
@@ -14115,35 +14202,28 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
14115
14202
|
* @returns {Set<Number>}
|
|
14116
14203
|
*/
|
|
14117
14204
|
_getBlackoutSet() {
|
|
14118
|
-
|
|
14205
|
+
// Normalize non-array values to a stable `null` sentinel rather than a
|
|
14206
|
+
// fresh `[]` per call — otherwise the reference-identity cache key
|
|
14207
|
+
// (`_cachedBlackoutDisabledDays === disabledDays`) never matches on
|
|
14208
|
+
// subsequent calls and the Set rebuilds every time. `buildBlackoutSet`
|
|
14209
|
+
// already treats null/non-array as "no legacy disabledDays" via its
|
|
14210
|
+
// own Array.isArray gate.
|
|
14211
|
+
const disabledDays = Array.isArray(this.disabledDays) ? this.disabledDays : null;
|
|
14119
14212
|
const blackoutDates = this.datepicker?.blackoutDates;
|
|
14120
|
-
if (this._blackoutSet
|
|
14121
|
-
|
|
14122
|
-
|
|
14213
|
+
if (this._blackoutSet &&
|
|
14214
|
+
this._cachedBlackoutDisabledDays === disabledDays &&
|
|
14215
|
+
this._cachedBlackoutDates === blackoutDates) {
|
|
14123
14216
|
return this._blackoutSet;
|
|
14124
14217
|
}
|
|
14125
14218
|
|
|
14126
|
-
if (disabledDays.length > 0) {
|
|
14219
|
+
if (disabledDays && disabledDays.length > 0) {
|
|
14127
14220
|
this._warnDisabledDaysDeprecated();
|
|
14128
14221
|
}
|
|
14129
14222
|
|
|
14130
|
-
|
|
14131
|
-
|
|
14132
|
-
// Parse YYYY-MM-DD as local date to avoid UTC shift issues.
|
|
14133
|
-
if (Array.isArray(blackoutDates)) {
|
|
14134
|
-
for (const isoStr of blackoutDates) {
|
|
14135
|
-
const parts = isoStr.split('-');
|
|
14136
|
-
const ts = Math.floor(new Date(parseInt(parts[0], 10), parseInt(parts[1], 10) - 1, parseInt(parts[2], 10)).getTime() / 1000);
|
|
14137
|
-
if (Number.isFinite(ts)) {
|
|
14138
|
-
set.add(ts);
|
|
14139
|
-
}
|
|
14140
|
-
}
|
|
14141
|
-
}
|
|
14142
|
-
|
|
14143
|
-
this._blackoutSet = set;
|
|
14223
|
+
this._blackoutSet = buildBlackoutSet(disabledDays, blackoutDates);
|
|
14144
14224
|
this._cachedBlackoutDisabledDays = disabledDays;
|
|
14145
14225
|
this._cachedBlackoutDates = blackoutDates;
|
|
14146
|
-
return
|
|
14226
|
+
return this._blackoutSet;
|
|
14147
14227
|
}
|
|
14148
14228
|
|
|
14149
14229
|
/**
|
|
@@ -14792,32 +14872,15 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
14792
14872
|
}
|
|
14793
14873
|
|
|
14794
14874
|
/**
|
|
14795
|
-
* Checks whether a given date is a blackout date.
|
|
14875
|
+
* Checks whether a given date is a blackout date. Delegates to the
|
|
14876
|
+
* memoized `_getBlackoutSet` so the YYYY-MM-DD parsing and the
|
|
14877
|
+
* legacy/ISO merge rules live in exactly one place (see `blackoutUtils.js`).
|
|
14796
14878
|
* @private
|
|
14797
14879
|
* @param {Number} dateTs - Unix timestamp (seconds).
|
|
14798
14880
|
* @returns {Boolean} True if the date is blacked out.
|
|
14799
14881
|
*/
|
|
14800
14882
|
isDateBlackout(dateTs) {
|
|
14801
|
-
|
|
14802
|
-
if (Array.isArray(this.disabledDays) && this.disabledDays.length > 0) {
|
|
14803
|
-
if (this.disabledDays.findIndex((day) => parseInt(day, 10) === dateTs) !== -1) {
|
|
14804
|
-
return true;
|
|
14805
|
-
}
|
|
14806
|
-
}
|
|
14807
|
-
|
|
14808
|
-
// Check ISO blackoutDates.
|
|
14809
|
-
const blackoutDates = this.datepicker?.blackoutDates;
|
|
14810
|
-
if (Array.isArray(blackoutDates) && blackoutDates.length > 0) {
|
|
14811
|
-
const date = new Date(dateTs * 1000);
|
|
14812
|
-
const yyyy = date.getFullYear();
|
|
14813
|
-
const mm = String(date.getMonth() + 1).padStart(2, '0');
|
|
14814
|
-
const dd = String(date.getDate()).padStart(2, '0');
|
|
14815
|
-
if (blackoutDates.includes(`${yyyy}-${mm}-${dd}`)) {
|
|
14816
|
-
return true;
|
|
14817
|
-
}
|
|
14818
|
-
}
|
|
14819
|
-
|
|
14820
|
-
return false;
|
|
14883
|
+
return this._getBlackoutSet().has(dateTs);
|
|
14821
14884
|
}
|
|
14822
14885
|
|
|
14823
14886
|
/**
|
|
@@ -19082,7 +19145,7 @@ let AuroHelpText$2 = class AuroHelpText extends LitElement {
|
|
|
19082
19145
|
}
|
|
19083
19146
|
};
|
|
19084
19147
|
|
|
19085
|
-
var formkitVersion$1 = '
|
|
19148
|
+
var formkitVersion$1 = '202606252132';
|
|
19086
19149
|
|
|
19087
19150
|
let AuroElement$2 = class AuroElement extends LitElement {
|
|
19088
19151
|
static get properties() {
|
|
@@ -32675,7 +32738,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
|
|
|
32675
32738
|
}
|
|
32676
32739
|
};
|
|
32677
32740
|
|
|
32678
|
-
var formkitVersion = '
|
|
32741
|
+
var formkitVersion = '202606252132';
|
|
32679
32742
|
|
|
32680
32743
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
32681
32744
|
// See LICENSE in the project root for license information.
|
|
@@ -34583,7 +34646,10 @@ class AuroDatePicker extends AuroElement {
|
|
|
34583
34646
|
},
|
|
34584
34647
|
|
|
34585
34648
|
/**
|
|
34586
|
-
* Label announced for cells after
|
|
34649
|
+
* Label announced for cells after a fully selected range (both
|
|
34650
|
+
* `dateFrom` and `dateTo` are set). While a range is still being
|
|
34651
|
+
* picked (`dateFrom` set, `dateTo` unset), focused cells past the
|
|
34652
|
+
* start use `rangeLabelEndPreview` instead.
|
|
34587
34653
|
* @default 'after range'
|
|
34588
34654
|
*/
|
|
34589
34655
|
rangeLabelAfterRange: {
|
|
@@ -34639,7 +34705,7 @@ class AuroDatePicker extends AuroElement {
|
|
|
34639
34705
|
},
|
|
34640
34706
|
|
|
34641
34707
|
/**
|
|
34642
|
-
* Dates that the user should have for reference as part of their decision
|
|
34708
|
+
* Dates that the user should have for reference as part of their decision-making when selecting a date.
|
|
34643
34709
|
* This should be a JSON string array of ISO date strings (`YYYY-MM-DD`).
|
|
34644
34710
|
*/
|
|
34645
34711
|
referenceDates: {
|
|
@@ -35378,12 +35444,23 @@ class AuroDatePicker extends AuroElement {
|
|
|
35378
35444
|
const { signal } = this._listenerAbortController;
|
|
35379
35445
|
|
|
35380
35446
|
this.calendar.addEventListener('auroCalendar-dateSelected', () => {
|
|
35381
|
-
|
|
35382
|
-
|
|
35447
|
+
// Compare the input's ISO value against the *converted* calendar
|
|
35448
|
+
// timestamp (the vendor's `dateFrom`/`dateTo` are Unix-seconds
|
|
35449
|
+
// strings — comparing the input ISO directly against them would
|
|
35450
|
+
// never match, so the write would fire on every event and emit
|
|
35451
|
+
// redundant input/change activity).
|
|
35452
|
+
if (this.calendar.dateFrom !== undefined) {
|
|
35453
|
+
const fromIso = this.convertWcTimeToDate(this.calendar.dateFrom);
|
|
35454
|
+
if (this.inputList[0].value !== fromIso) {
|
|
35455
|
+
this.inputList[0].value = fromIso;
|
|
35456
|
+
}
|
|
35383
35457
|
}
|
|
35384
35458
|
|
|
35385
|
-
if (this.inputList[1] && this.calendar.dateTo
|
|
35386
|
-
|
|
35459
|
+
if (this.inputList[1] && this.calendar.dateTo) {
|
|
35460
|
+
const toIso = this.convertWcTimeToDate(this.calendar.dateTo);
|
|
35461
|
+
if (this.inputList[1].value !== toIso) {
|
|
35462
|
+
this.inputList[1].value = toIso;
|
|
35463
|
+
}
|
|
35387
35464
|
}
|
|
35388
35465
|
}, { signal });
|
|
35389
35466
|
|
|
@@ -35648,7 +35725,12 @@ class AuroDatePicker extends AuroElement {
|
|
|
35648
35725
|
* @returns {void}
|
|
35649
35726
|
*/
|
|
35650
35727
|
_warnInvalidLocale(badLocale) {
|
|
35651
|
-
|
|
35728
|
+
// Stringify without coalescing — `String(undefined)` / `String(null)`
|
|
35729
|
+
// surface the actual offending value in the log, instead of the
|
|
35730
|
+
// ambiguous `Locale ""` that `String(badLocale ?? '')` would produce.
|
|
35731
|
+
// Dedup still works correctly because each unique stringification
|
|
35732
|
+
// becomes its own Set entry.
|
|
35733
|
+
const key = String(badLocale);
|
|
35652
35734
|
const seen = AuroDatePicker._warnedInvalidLocales;
|
|
35653
35735
|
if (seen.has(key)) {
|
|
35654
35736
|
return;
|
|
@@ -35966,6 +36048,15 @@ class AuroDatePicker extends AuroElement {
|
|
|
35966
36048
|
// Add the tag name as an attribute if it is different than the component name
|
|
35967
36049
|
this.runtimeUtils.handleComponentTagRename(this, 'auro-datepicker');
|
|
35968
36050
|
|
|
36051
|
+
// If the element was disconnected before this first render finished,
|
|
36052
|
+
// disconnectedCallback's microtask already aborted the controller. The
|
|
36053
|
+
// connectedCallback reinit guard skips that case because `hasUpdated`
|
|
36054
|
+
// is still false. Mint a fresh controller here so configure* registers
|
|
36055
|
+
// listeners against a live signal.
|
|
36056
|
+
if (this._listenerAbortController.signal.aborted) {
|
|
36057
|
+
this._listenerAbortController = new AbortController();
|
|
36058
|
+
}
|
|
36059
|
+
|
|
35969
36060
|
this.configureDropdown();
|
|
35970
36061
|
this.configureInput();
|
|
35971
36062
|
this.configureCalendar();
|
|
@@ -35977,6 +36068,22 @@ class AuroDatePicker extends AuroElement {
|
|
|
35977
36068
|
connectedCallback() {
|
|
35978
36069
|
super.connectedCallback();
|
|
35979
36070
|
|
|
36071
|
+
// True reconnect after `disconnectedCallback` aborted our controller:
|
|
36072
|
+
// the existing signal is dead, so listeners registered against it
|
|
36073
|
+
// would never fire. Create a fresh controller and re-run the
|
|
36074
|
+
// configure* wiring (each method is idempotent — it just re-caches
|
|
36075
|
+
// child refs and re-registers listeners against the new signal).
|
|
36076
|
+
// `hasUpdated` gates this so the *first* connect (which precedes
|
|
36077
|
+
// firstUpdated) still falls through to firstUpdated's initial wiring.
|
|
36078
|
+
if (this.hasUpdated && this._listenerAbortController.signal.aborted) {
|
|
36079
|
+
this._listenerAbortController = new AbortController();
|
|
36080
|
+
this.configureDropdown();
|
|
36081
|
+
this.configureInput();
|
|
36082
|
+
this.configureCalendar();
|
|
36083
|
+
this.configureDatepicker();
|
|
36084
|
+
this.configureClickHandler();
|
|
36085
|
+
}
|
|
36086
|
+
|
|
35980
36087
|
this.locale = this.domHandler.getLocale(this);
|
|
35981
36088
|
}
|
|
35982
36089
|
|