@aurodesignsystem-dev/auro-formkit 0.0.0-pr1475.2 → 0.0.0-pr1475.4
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 +22 -3
- package/components/combobox/demo/getting-started.min.js +22 -3
- package/components/combobox/demo/index.min.js +22 -3
- package/components/combobox/dist/index.js +22 -3
- package/components/combobox/dist/registered.js +22 -3
- package/components/counter/demo/customize.min.js +21 -2
- package/components/counter/demo/index.min.js +21 -2
- package/components/counter/dist/index.js +45 -441
- package/components/counter/dist/registered.js +1 -1
- package/components/datepicker/demo/customize.min.js +126 -49
- package/components/datepicker/demo/index.js +4 -1
- package/components/datepicker/demo/index.md +2 -2
- package/components/datepicker/demo/index.min.js +131 -51
- package/components/datepicker/dist/index.js +126 -49
- package/components/datepicker/dist/registered.js +126 -49
- package/components/datepicker/dist/src/auro-calendar-cell.d.ts +13 -9
- package/components/dropdown/demo/customize.min.js +20 -1
- package/components/dropdown/demo/getting-started.min.js +20 -1
- package/components/dropdown/demo/index.min.js +20 -1
- package/components/dropdown/dist/index.js +20 -1
- package/components/dropdown/dist/registered.js +20 -1
- package/components/form/demo/customize.min.js +1042 -908
- package/components/form/demo/getting-started.min.js +1042 -908
- package/components/form/demo/index.min.js +1042 -908
- package/components/form/demo/registerDemoDeps.min.js +1037 -903
- 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 +21 -2
- package/components/select/demo/getting-started.min.js +21 -2
- package/components/select/demo/index.min.js +21 -2
- package/components/select/dist/index.js +21 -2
- package/components/select/dist/registered.js +21 -2
- package/custom-elements.json +13 -22
- package/package.json +1 -1
|
@@ -8042,19 +8042,6 @@ class AuroCalendarCell extends LitElement {
|
|
|
8042
8042
|
}
|
|
8043
8043
|
}
|
|
8044
8044
|
|
|
8045
|
-
/**
|
|
8046
|
-
* Handles Enter/Space key on the cell button.
|
|
8047
|
-
* @private
|
|
8048
|
-
* @param {KeyboardEvent} event - The keyboard event.
|
|
8049
|
-
* @returns {void}
|
|
8050
|
-
*/
|
|
8051
|
-
handleKeyDown(event) {
|
|
8052
|
-
if (event.key === 'Enter' || event.key === ' ') {
|
|
8053
|
-
event.preventDefault();
|
|
8054
|
-
this.handleTap();
|
|
8055
|
-
}
|
|
8056
|
-
}
|
|
8057
|
-
|
|
8058
8045
|
/**
|
|
8059
8046
|
* Handles user hover events and dispatches a custom event.
|
|
8060
8047
|
* @private
|
|
@@ -8097,6 +8084,13 @@ class AuroCalendarCell extends LitElement {
|
|
|
8097
8084
|
return false;
|
|
8098
8085
|
}
|
|
8099
8086
|
|
|
8087
|
+
// Check against disabledDays timestamps (legacy path)
|
|
8088
|
+
if (Array.isArray(this.disabledDays) && this.disabledDays.length > 0) {
|
|
8089
|
+
if (this.disabledDays.findIndex(d => parseInt(d, 10) === this.day.date) !== -1) {
|
|
8090
|
+
return true;
|
|
8091
|
+
}
|
|
8092
|
+
}
|
|
8093
|
+
|
|
8100
8094
|
// Check against blackoutDates (ISO format YYYY-MM-DD) on the datepicker
|
|
8101
8095
|
const blackoutDates = this.datepicker?.blackoutDates;
|
|
8102
8096
|
|
|
@@ -8115,8 +8109,10 @@ class AuroCalendarCell extends LitElement {
|
|
|
8115
8109
|
}
|
|
8116
8110
|
|
|
8117
8111
|
/**
|
|
8118
|
-
* Checks if the current date is
|
|
8119
|
-
* Sets the disabled attribute
|
|
8112
|
+
* Checks if the current date is disabled based on min/max range or the
|
|
8113
|
+
* legacy disabledDays timestamp list. Sets the `disabled` attribute on the
|
|
8114
|
+
* host when the date falls outside the allowed range or appears in
|
|
8115
|
+
* disabledDays. Note: blackout dates are handled separately by `isBlackout()`.
|
|
8120
8116
|
* @private
|
|
8121
8117
|
* @param {Object} day - An object containing the dateFrom and day of month values.
|
|
8122
8118
|
* @param {Number} min - The minimum date value.
|
|
@@ -8161,8 +8157,9 @@ class AuroCalendarCell extends LitElement {
|
|
|
8161
8157
|
|
|
8162
8158
|
const date = new Date(this.day.date * 1000);
|
|
8163
8159
|
|
|
8164
|
-
// Generate localized full date string
|
|
8165
|
-
const
|
|
8160
|
+
// Generate localized full date string using the configured locale
|
|
8161
|
+
const localeCode = this.locale?.code || undefined;
|
|
8162
|
+
const dateFormatter = new Intl.DateTimeFormat(localeCode, {
|
|
8166
8163
|
weekday: 'long',
|
|
8167
8164
|
year: 'numeric',
|
|
8168
8165
|
month: 'long',
|
|
@@ -8171,7 +8168,7 @@ class AuroCalendarCell extends LitElement {
|
|
|
8171
8168
|
|
|
8172
8169
|
let label = dateFormatter.format(date);
|
|
8173
8170
|
|
|
8174
|
-
// appending popover content here so that it
|
|
8171
|
+
// appending popover content here so that it gets read in a logical order with the other date content.
|
|
8175
8172
|
if (this.hasPopoverContent) {
|
|
8176
8173
|
label += `, ${this.querySelector(`[slot="popover_${this.dateStr}"]`).innerText.trim()}`;
|
|
8177
8174
|
}
|
|
@@ -8403,10 +8400,22 @@ class AuroCalendarCell extends LitElement {
|
|
|
8403
8400
|
this.handleSlotContent();
|
|
8404
8401
|
});
|
|
8405
8402
|
|
|
8403
|
+
this.calendarMonth = calendarMonth;
|
|
8404
|
+
this.configurePopover();
|
|
8405
|
+
}
|
|
8406
|
+
|
|
8407
|
+
/**
|
|
8408
|
+
* Configures the popover instance with the calendar month boundary.
|
|
8409
|
+
* Called from firstUpdated and updated because the popover element is only
|
|
8410
|
+
* rendered after hasPopoverContent becomes true (set by handleSlotContent).
|
|
8411
|
+
* @private
|
|
8412
|
+
* @returns {void}
|
|
8413
|
+
*/
|
|
8414
|
+
configurePopover() {
|
|
8406
8415
|
this.auroPopover = this.shadowRoot.querySelector(this.popoverTag._$litStatic$);
|
|
8407
8416
|
|
|
8408
|
-
if (this.auroPopover) {
|
|
8409
|
-
this.auroPopover.boundary = calendarMonth;
|
|
8417
|
+
if (this.auroPopover && this.calendarMonth) {
|
|
8418
|
+
this.auroPopover.boundary = this.calendarMonth;
|
|
8410
8419
|
}
|
|
8411
8420
|
}
|
|
8412
8421
|
|
|
@@ -8419,6 +8428,11 @@ class AuroCalendarCell extends LitElement {
|
|
|
8419
8428
|
this.setDateSlotName();
|
|
8420
8429
|
this.handleSlotContent();
|
|
8421
8430
|
}
|
|
8431
|
+
|
|
8432
|
+
// Configure popover when it first becomes rendered
|
|
8433
|
+
if (properties.has('hasPopoverContent') && this.hasPopoverContent) {
|
|
8434
|
+
this.updateComplete.then(() => this.configurePopover());
|
|
8435
|
+
}
|
|
8422
8436
|
}
|
|
8423
8437
|
|
|
8424
8438
|
/**
|
|
@@ -8675,8 +8689,12 @@ class AuroCalendarMonth extends RangeDatepickerCalendar {
|
|
|
8675
8689
|
}
|
|
8676
8690
|
} else if (key === 'ArrowDown' || key === 'ArrowUp') {
|
|
8677
8691
|
// Find the target day (same day-of-week, +/- 7 days)
|
|
8692
|
+
// Use Date arithmetic instead of fixed seconds to handle DST correctly
|
|
8678
8693
|
const increment = key === 'ArrowDown' ? 7 : -7;
|
|
8679
|
-
const
|
|
8694
|
+
const currentDate = new Date(activeCell.day.date * 1000);
|
|
8695
|
+
currentDate.setDate(currentDate.getDate() + increment);
|
|
8696
|
+
currentDate.setHours(0, 0, 0, 0);
|
|
8697
|
+
const targetDate = Math.floor(currentDate.getTime() / 1000);
|
|
8680
8698
|
|
|
8681
8699
|
// Look for the target date in this month's focusable cells
|
|
8682
8700
|
targetCell = focusableCells.find(cell => cell.day.date === targetDate);
|
|
@@ -8740,7 +8758,7 @@ class AuroCalendarMonth extends RangeDatepickerCalendar {
|
|
|
8740
8758
|
var _a, _b;
|
|
8741
8759
|
|
|
8742
8760
|
return html `
|
|
8743
|
-
<div aria-labelledby="${this.getHeadingId()}"
|
|
8761
|
+
<div aria-labelledby="${this.getHeadingId()}">
|
|
8744
8762
|
<div class="header">
|
|
8745
8763
|
${this.renderPrevButton()}
|
|
8746
8764
|
<div class="headerTitle heading-xs" id="${this.getHeadingId()}" aria-live="polite" aria-atomic="true">
|
|
@@ -8755,7 +8773,7 @@ class AuroCalendarMonth extends RangeDatepickerCalendar {
|
|
|
8755
8773
|
${this.renderNextButton()}
|
|
8756
8774
|
</div>
|
|
8757
8775
|
|
|
8758
|
-
<div class="table" role="grid" aria-labelledby="${this.getHeadingId()}">
|
|
8776
|
+
<div class="table" role="grid" aria-labelledby="${this.getHeadingId()}" @keydown="${this.handleGridKeyDown}">
|
|
8759
8777
|
<div class="thead" role="rowgroup">
|
|
8760
8778
|
<div class="tr" role="row">
|
|
8761
8779
|
${(_a = this.dayNamesOfTheWeek) === null || _a === void 0 ? void 0 : _a.map((dayNameOfWeek, index) => this.renderDayOfWeek(dayNameOfWeek, index))}
|
|
@@ -9573,7 +9591,7 @@ class AuroBibtemplate extends LitElement {
|
|
|
9573
9591
|
}
|
|
9574
9592
|
}
|
|
9575
9593
|
|
|
9576
|
-
var formkitVersion$2 = '
|
|
9594
|
+
var formkitVersion$2 = '202605190056';
|
|
9577
9595
|
|
|
9578
9596
|
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}
|
|
9579
9597
|
`,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}}
|
|
@@ -9863,7 +9881,8 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
9863
9881
|
*/
|
|
9864
9882
|
announceMonthChange() {
|
|
9865
9883
|
const date = new Date(this.centralDate);
|
|
9866
|
-
const
|
|
9884
|
+
const localeCode = this.locale?.code || undefined;
|
|
9885
|
+
const formatter = new Intl.DateTimeFormat(localeCode, { month: 'long', year: 'numeric' });
|
|
9867
9886
|
this.announceSelection(formatter.format(date));
|
|
9868
9887
|
}
|
|
9869
9888
|
|
|
@@ -10043,9 +10062,19 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
10043
10062
|
* @returns {Number|undefined} Unix timestamp (seconds) of the date to activate, or undefined.
|
|
10044
10063
|
*/
|
|
10045
10064
|
computeActiveDate() {
|
|
10046
|
-
const ONE_DAY = 86400; // seconds
|
|
10047
10065
|
const MAX_SCAN_DAYS = 366; // scan at most ~1 year in each direction
|
|
10048
10066
|
|
|
10067
|
+
/**
|
|
10068
|
+
* Adds days to a timestamp using Date arithmetic to handle DST correctly.
|
|
10069
|
+
* Returns a local-midnight-aligned timestamp in seconds.
|
|
10070
|
+
*/
|
|
10071
|
+
const addDays = (ts, days) => {
|
|
10072
|
+
const d = new Date(ts * 1000);
|
|
10073
|
+
d.setDate(d.getDate() + days);
|
|
10074
|
+
d.setHours(0, 0, 0, 0);
|
|
10075
|
+
return Math.floor(d.getTime() / 1000);
|
|
10076
|
+
};
|
|
10077
|
+
|
|
10049
10078
|
const rawMin = Number(this.min);
|
|
10050
10079
|
const rawMax = Number(this.max);
|
|
10051
10080
|
|
|
@@ -10058,11 +10087,13 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
10058
10087
|
(this.disabledDays || []).map(d => parseInt(d, 10))
|
|
10059
10088
|
);
|
|
10060
10089
|
|
|
10061
|
-
// Also include ISO-format blackoutDates from the datepicker if available
|
|
10090
|
+
// Also include ISO-format blackoutDates from the datepicker if available.
|
|
10091
|
+
// Parse YYYY-MM-DD as local date to avoid UTC shift issues.
|
|
10062
10092
|
const isoBlackouts = this.datepicker?.blackoutDates;
|
|
10063
10093
|
if (Array.isArray(isoBlackouts)) {
|
|
10064
10094
|
for (const isoStr of isoBlackouts) {
|
|
10065
|
-
const
|
|
10095
|
+
const parts = isoStr.split('-');
|
|
10096
|
+
const ts = Math.floor(new Date(parseInt(parts[0], 10), parseInt(parts[1], 10) - 1, parseInt(parts[2], 10)).getTime() / 1000);
|
|
10066
10097
|
if (Number.isFinite(ts)) blackoutSet.add(ts);
|
|
10067
10098
|
}
|
|
10068
10099
|
}
|
|
@@ -10091,31 +10122,43 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
10091
10122
|
if (isEnabled(now)) return now;
|
|
10092
10123
|
|
|
10093
10124
|
// 3. First future enabled date (scan forward from tomorrow, capped by max and MAX_SCAN_DAYS).
|
|
10094
|
-
|
|
10095
|
-
|
|
10096
|
-
|
|
10097
|
-
|
|
10098
|
-
for (let ts = now + ONE_DAY; ts <= scanMax; ts += ONE_DAY) {
|
|
10125
|
+
for (let idx = 1; idx <= MAX_SCAN_DAYS; idx++) {
|
|
10126
|
+
const ts = addDays(now, idx);
|
|
10127
|
+
if (Number.isFinite(maxTs) && ts > maxTs) break;
|
|
10099
10128
|
if (isEnabled(ts)) return ts;
|
|
10100
10129
|
}
|
|
10101
10130
|
|
|
10102
10131
|
// 4. First previous enabled date (scan backward from yesterday, capped by min and MAX_SCAN_DAYS).
|
|
10103
|
-
|
|
10104
|
-
|
|
10105
|
-
|
|
10106
|
-
|
|
10107
|
-
for (let ts = now - ONE_DAY; ts >= scanMin; ts -= ONE_DAY) {
|
|
10132
|
+
for (let idx = 1; idx <= MAX_SCAN_DAYS; idx++) {
|
|
10133
|
+
const ts = addDays(now, -idx);
|
|
10134
|
+
if (Number.isFinite(minTs) && ts < minTs) break;
|
|
10108
10135
|
if (isEnabled(ts)) return ts;
|
|
10109
10136
|
}
|
|
10110
10137
|
|
|
10111
10138
|
// 5. If scans missed (e.g. min/max range is far from today), fall back to
|
|
10112
10139
|
// the first enabled date in the [min, max] range.
|
|
10113
10140
|
if (Number.isFinite(minTs) && Number.isFinite(maxTs)) {
|
|
10114
|
-
|
|
10141
|
+
let ts = minTs;
|
|
10142
|
+
for (let idx = 0; ts <= maxTs; idx++) {
|
|
10115
10143
|
if (isEnabled(ts)) return ts;
|
|
10144
|
+
ts = addDays(minTs, idx + 1);
|
|
10116
10145
|
}
|
|
10117
10146
|
}
|
|
10118
10147
|
|
|
10148
|
+
// 5b. Unbounded min with a finite max far in the past (e.g. birth-date picker):
|
|
10149
|
+
// scan backward from max for up to MAX_SCAN_DAYS.
|
|
10150
|
+
if (!Number.isFinite(minTs) && Number.isFinite(maxTs)) {
|
|
10151
|
+
for (let idx = 0; idx <= MAX_SCAN_DAYS; idx++) {
|
|
10152
|
+
const ts = addDays(maxTs, -idx);
|
|
10153
|
+
if (isEnabled(ts)) return ts;
|
|
10154
|
+
}
|
|
10155
|
+
}
|
|
10156
|
+
|
|
10157
|
+
// 6. All dates are blackout — fall back to the first in-range date so focus
|
|
10158
|
+
// still lands on a focusable (but not selectable) cell.
|
|
10159
|
+
if (Number.isFinite(minTs) && isInRange(minTs)) return minTs;
|
|
10160
|
+
if (isInRange(now)) return now;
|
|
10161
|
+
|
|
10119
10162
|
return undefined;
|
|
10120
10163
|
}
|
|
10121
10164
|
|
|
@@ -10174,8 +10217,12 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
10174
10217
|
}
|
|
10175
10218
|
} else if (key === 'ArrowDown' || key === 'ArrowUp') {
|
|
10176
10219
|
// Vertical navigation: find same day-of-week +/- 7 days
|
|
10220
|
+
// Use Date arithmetic instead of fixed seconds to handle DST correctly
|
|
10177
10221
|
const increment = key === 'ArrowDown' ? 7 : -7;
|
|
10178
|
-
const
|
|
10222
|
+
const currentDate = new Date(fromDate * 1000);
|
|
10223
|
+
currentDate.setDate(currentDate.getDate() + increment);
|
|
10224
|
+
currentDate.setHours(0, 0, 0, 0);
|
|
10225
|
+
const targetDate = Math.floor(currentDate.getTime() / 1000);
|
|
10179
10226
|
|
|
10180
10227
|
const allCells = this.getAllFocusableCells();
|
|
10181
10228
|
let targetCell = allCells.find(cell => cell.day && cell.day.date === targetDate);
|
|
@@ -10270,7 +10317,8 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
10270
10317
|
*/
|
|
10271
10318
|
formatAnnouncementDate(timestamp) {
|
|
10272
10319
|
const date = new Date(parseInt(timestamp, 10) * 1000);
|
|
10273
|
-
const
|
|
10320
|
+
const localeCode = this.locale?.code || undefined;
|
|
10321
|
+
const formatter = new Intl.DateTimeFormat(localeCode, {
|
|
10274
10322
|
weekday: 'long', year: 'numeric', month: 'long', day: 'numeric'
|
|
10275
10323
|
});
|
|
10276
10324
|
return formatter.format(date);
|
|
@@ -14284,7 +14332,7 @@ let AuroHelpText$2 = class AuroHelpText extends LitElement {
|
|
|
14284
14332
|
}
|
|
14285
14333
|
};
|
|
14286
14334
|
|
|
14287
|
-
var formkitVersion$1 = '
|
|
14335
|
+
var formkitVersion$1 = '202605190056';
|
|
14288
14336
|
|
|
14289
14337
|
let AuroElement$2 = class AuroElement extends LitElement {
|
|
14290
14338
|
static get properties() {
|
|
@@ -15005,6 +15053,17 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
15005
15053
|
this._clearPageInert();
|
|
15006
15054
|
}
|
|
15007
15055
|
}
|
|
15056
|
+
|
|
15057
|
+
// Handle desktopModal toggled while the dropdown is already open.
|
|
15058
|
+
// Re-initialize focus trapping and page inert state to match the new mode.
|
|
15059
|
+
if (changedProperties.has('desktopModal') && this.isPopoverVisible && !this.isBibFullscreen) {
|
|
15060
|
+
this.updateFocusTrap();
|
|
15061
|
+
if (this.desktopModal) {
|
|
15062
|
+
this._setPageInert();
|
|
15063
|
+
} else {
|
|
15064
|
+
this._clearPageInert();
|
|
15065
|
+
}
|
|
15066
|
+
}
|
|
15008
15067
|
}
|
|
15009
15068
|
|
|
15010
15069
|
/**
|
|
@@ -15205,6 +15264,14 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
15205
15264
|
}
|
|
15206
15265
|
};
|
|
15207
15266
|
this.addEventListener('keydown', this._bibTabHandler);
|
|
15267
|
+
|
|
15268
|
+
// Move initial focus into the bib content, matching FocusTrap behavior
|
|
15269
|
+
requestAnimationFrame(() => {
|
|
15270
|
+
const focusables = getFocusableElements(this.bibContent);
|
|
15271
|
+
if (focusables.length) {
|
|
15272
|
+
focusables[0].focus();
|
|
15273
|
+
}
|
|
15274
|
+
});
|
|
15208
15275
|
} else {
|
|
15209
15276
|
// Normal desktop: use FocusTrap on the bib element
|
|
15210
15277
|
this.focusTrap = new FocusTrap(this.bibContent);
|
|
@@ -22218,7 +22285,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
|
|
|
22218
22285
|
}
|
|
22219
22286
|
};
|
|
22220
22287
|
|
|
22221
|
-
var formkitVersion = '
|
|
22288
|
+
var formkitVersion = '202605190056';
|
|
22222
22289
|
|
|
22223
22290
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
22224
22291
|
// See LICENSE in the project root for license information.
|
|
@@ -23500,8 +23567,11 @@ const datepickerKeyboardStrategy = {
|
|
|
23500
23567
|
return;
|
|
23501
23568
|
}
|
|
23502
23569
|
|
|
23503
|
-
// Only open from the trigger input, not the clear button or other elements
|
|
23504
|
-
|
|
23570
|
+
// Only open from the trigger input, not the clear button or other internal elements.
|
|
23571
|
+
// evt.target is retargeted to the host in shadow DOM, so use composedPath()
|
|
23572
|
+
// to find the real origin. The clear button is rendered with class "clearBtn".
|
|
23573
|
+
const path = evt.composedPath();
|
|
23574
|
+
if (path.some(el => el.classList?.contains('clearBtn'))) {
|
|
23505
23575
|
return;
|
|
23506
23576
|
}
|
|
23507
23577
|
|
|
@@ -23515,8 +23585,11 @@ const datepickerKeyboardStrategy = {
|
|
|
23515
23585
|
return;
|
|
23516
23586
|
}
|
|
23517
23587
|
|
|
23518
|
-
// Only open from the trigger input, not the clear button or other elements
|
|
23519
|
-
|
|
23588
|
+
// Only open from the trigger input, not the clear button or other internal elements.
|
|
23589
|
+
// evt.target is retargeted to the host in shadow DOM, so use composedPath()
|
|
23590
|
+
// to find the real origin. The clear button is rendered with class "clearBtn".
|
|
23591
|
+
const path = evt.composedPath();
|
|
23592
|
+
if (path.some(el => el.classList?.contains('clearBtn'))) {
|
|
23520
23593
|
return;
|
|
23521
23594
|
}
|
|
23522
23595
|
|
|
@@ -24580,7 +24653,7 @@ class AuroDatePicker extends AuroElement {
|
|
|
24580
24653
|
bibEl.close();
|
|
24581
24654
|
bibEl.open(true);
|
|
24582
24655
|
doubleRaf(() => {
|
|
24583
|
-
this.
|
|
24656
|
+
this.focusActiveCellWhenReady();
|
|
24584
24657
|
});
|
|
24585
24658
|
}
|
|
24586
24659
|
});
|
|
@@ -24956,9 +25029,13 @@ class AuroDatePicker extends AuroElement {
|
|
|
24956
25029
|
}
|
|
24957
25030
|
|
|
24958
25031
|
if (changedProperties.has('blackoutDates')) {
|
|
24959
|
-
// Force calendar cells to re-render with updated blackout state
|
|
25032
|
+
// Force calendar cells to re-render with updated blackout state.
|
|
25033
|
+
// requestUpdate on the calendar alone is insufficient because cells
|
|
25034
|
+
// don't receive blackoutDates as a bound property. Dispatching the
|
|
25035
|
+
// slot content event triggers handleSlotContent → requestUpdate on each cell.
|
|
24960
25036
|
if (this.calendar) {
|
|
24961
25037
|
this.calendar.requestUpdate();
|
|
25038
|
+
this.dispatchEvent(new CustomEvent('auroDatePicker-newSlotContent'));
|
|
24962
25039
|
}
|
|
24963
25040
|
}
|
|
24964
25041
|
|
|
@@ -92,13 +92,6 @@ export class AuroCalendarCell extends LitElement {
|
|
|
92
92
|
* @returns {void}
|
|
93
93
|
*/
|
|
94
94
|
private handleTap;
|
|
95
|
-
/**
|
|
96
|
-
* Handles Enter/Space key on the cell button.
|
|
97
|
-
* @private
|
|
98
|
-
* @param {KeyboardEvent} event - The keyboard event.
|
|
99
|
-
* @returns {void}
|
|
100
|
-
*/
|
|
101
|
-
private handleKeyDown;
|
|
102
95
|
/**
|
|
103
96
|
* Handles user hover events and dispatches a custom event.
|
|
104
97
|
* @private
|
|
@@ -123,8 +116,10 @@ export class AuroCalendarCell extends LitElement {
|
|
|
123
116
|
*/
|
|
124
117
|
private isBlackout;
|
|
125
118
|
/**
|
|
126
|
-
* Checks if the current date is
|
|
127
|
-
* Sets the disabled attribute
|
|
119
|
+
* Checks if the current date is disabled based on min/max range or the
|
|
120
|
+
* legacy disabledDays timestamp list. Sets the `disabled` attribute on the
|
|
121
|
+
* host when the date falls outside the allowed range or appears in
|
|
122
|
+
* disabledDays. Note: blackout dates are handled separately by `isBlackout()`.
|
|
128
123
|
* @private
|
|
129
124
|
* @param {Object} day - An object containing the dateFrom and day of month values.
|
|
130
125
|
* @param {Number} min - The minimum date value.
|
|
@@ -215,6 +210,15 @@ export class AuroCalendarCell extends LitElement {
|
|
|
215
210
|
private handleSlotContent;
|
|
216
211
|
firstUpdated(): void;
|
|
217
212
|
datepicker: any;
|
|
213
|
+
calendarMonth: any;
|
|
214
|
+
/**
|
|
215
|
+
* Configures the popover instance with the calendar month boundary.
|
|
216
|
+
* Called from firstUpdated and updated because the popover element is only
|
|
217
|
+
* rendered after hasPopoverContent becomes true (set by handleSlotContent).
|
|
218
|
+
* @private
|
|
219
|
+
* @returns {void}
|
|
220
|
+
*/
|
|
221
|
+
private configurePopover;
|
|
218
222
|
auroPopover: any;
|
|
219
223
|
updated(properties: any): void;
|
|
220
224
|
/**
|
|
@@ -3942,7 +3942,7 @@ class AuroHelpText extends i {
|
|
|
3942
3942
|
}
|
|
3943
3943
|
}
|
|
3944
3944
|
|
|
3945
|
-
var formkitVersion = '
|
|
3945
|
+
var formkitVersion = '202605190056';
|
|
3946
3946
|
|
|
3947
3947
|
class AuroElement extends i {
|
|
3948
3948
|
static get properties() {
|
|
@@ -4663,6 +4663,17 @@ class AuroDropdown extends AuroElement {
|
|
|
4663
4663
|
this._clearPageInert();
|
|
4664
4664
|
}
|
|
4665
4665
|
}
|
|
4666
|
+
|
|
4667
|
+
// Handle desktopModal toggled while the dropdown is already open.
|
|
4668
|
+
// Re-initialize focus trapping and page inert state to match the new mode.
|
|
4669
|
+
if (changedProperties.has('desktopModal') && this.isPopoverVisible && !this.isBibFullscreen) {
|
|
4670
|
+
this.updateFocusTrap();
|
|
4671
|
+
if (this.desktopModal) {
|
|
4672
|
+
this._setPageInert();
|
|
4673
|
+
} else {
|
|
4674
|
+
this._clearPageInert();
|
|
4675
|
+
}
|
|
4676
|
+
}
|
|
4666
4677
|
}
|
|
4667
4678
|
|
|
4668
4679
|
/**
|
|
@@ -4863,6 +4874,14 @@ class AuroDropdown extends AuroElement {
|
|
|
4863
4874
|
}
|
|
4864
4875
|
};
|
|
4865
4876
|
this.addEventListener('keydown', this._bibTabHandler);
|
|
4877
|
+
|
|
4878
|
+
// Move initial focus into the bib content, matching FocusTrap behavior
|
|
4879
|
+
requestAnimationFrame(() => {
|
|
4880
|
+
const focusables = getFocusableElements(this.bibContent);
|
|
4881
|
+
if (focusables.length) {
|
|
4882
|
+
focusables[0].focus();
|
|
4883
|
+
}
|
|
4884
|
+
});
|
|
4866
4885
|
} else {
|
|
4867
4886
|
// Normal desktop: use FocusTrap on the bib element
|
|
4868
4887
|
this.focusTrap = new FocusTrap(this.bibContent);
|
|
@@ -3942,7 +3942,7 @@ class AuroHelpText extends i {
|
|
|
3942
3942
|
}
|
|
3943
3943
|
}
|
|
3944
3944
|
|
|
3945
|
-
var formkitVersion = '
|
|
3945
|
+
var formkitVersion = '202605190056';
|
|
3946
3946
|
|
|
3947
3947
|
class AuroElement extends i {
|
|
3948
3948
|
static get properties() {
|
|
@@ -4663,6 +4663,17 @@ class AuroDropdown extends AuroElement {
|
|
|
4663
4663
|
this._clearPageInert();
|
|
4664
4664
|
}
|
|
4665
4665
|
}
|
|
4666
|
+
|
|
4667
|
+
// Handle desktopModal toggled while the dropdown is already open.
|
|
4668
|
+
// Re-initialize focus trapping and page inert state to match the new mode.
|
|
4669
|
+
if (changedProperties.has('desktopModal') && this.isPopoverVisible && !this.isBibFullscreen) {
|
|
4670
|
+
this.updateFocusTrap();
|
|
4671
|
+
if (this.desktopModal) {
|
|
4672
|
+
this._setPageInert();
|
|
4673
|
+
} else {
|
|
4674
|
+
this._clearPageInert();
|
|
4675
|
+
}
|
|
4676
|
+
}
|
|
4666
4677
|
}
|
|
4667
4678
|
|
|
4668
4679
|
/**
|
|
@@ -4863,6 +4874,14 @@ class AuroDropdown extends AuroElement {
|
|
|
4863
4874
|
}
|
|
4864
4875
|
};
|
|
4865
4876
|
this.addEventListener('keydown', this._bibTabHandler);
|
|
4877
|
+
|
|
4878
|
+
// Move initial focus into the bib content, matching FocusTrap behavior
|
|
4879
|
+
requestAnimationFrame(() => {
|
|
4880
|
+
const focusables = getFocusableElements(this.bibContent);
|
|
4881
|
+
if (focusables.length) {
|
|
4882
|
+
focusables[0].focus();
|
|
4883
|
+
}
|
|
4884
|
+
});
|
|
4866
4885
|
} else {
|
|
4867
4886
|
// Normal desktop: use FocusTrap on the bib element
|
|
4868
4887
|
this.focusTrap = new FocusTrap(this.bibContent);
|
|
@@ -3969,7 +3969,7 @@ class AuroHelpText extends i {
|
|
|
3969
3969
|
}
|
|
3970
3970
|
}
|
|
3971
3971
|
|
|
3972
|
-
var formkitVersion = '
|
|
3972
|
+
var formkitVersion = '202605190056';
|
|
3973
3973
|
|
|
3974
3974
|
class AuroElement extends i {
|
|
3975
3975
|
static get properties() {
|
|
@@ -4690,6 +4690,17 @@ class AuroDropdown extends AuroElement {
|
|
|
4690
4690
|
this._clearPageInert();
|
|
4691
4691
|
}
|
|
4692
4692
|
}
|
|
4693
|
+
|
|
4694
|
+
// Handle desktopModal toggled while the dropdown is already open.
|
|
4695
|
+
// Re-initialize focus trapping and page inert state to match the new mode.
|
|
4696
|
+
if (changedProperties.has('desktopModal') && this.isPopoverVisible && !this.isBibFullscreen) {
|
|
4697
|
+
this.updateFocusTrap();
|
|
4698
|
+
if (this.desktopModal) {
|
|
4699
|
+
this._setPageInert();
|
|
4700
|
+
} else {
|
|
4701
|
+
this._clearPageInert();
|
|
4702
|
+
}
|
|
4703
|
+
}
|
|
4693
4704
|
}
|
|
4694
4705
|
|
|
4695
4706
|
/**
|
|
@@ -4890,6 +4901,14 @@ class AuroDropdown extends AuroElement {
|
|
|
4890
4901
|
}
|
|
4891
4902
|
};
|
|
4892
4903
|
this.addEventListener('keydown', this._bibTabHandler);
|
|
4904
|
+
|
|
4905
|
+
// Move initial focus into the bib content, matching FocusTrap behavior
|
|
4906
|
+
requestAnimationFrame(() => {
|
|
4907
|
+
const focusables = getFocusableElements(this.bibContent);
|
|
4908
|
+
if (focusables.length) {
|
|
4909
|
+
focusables[0].focus();
|
|
4910
|
+
}
|
|
4911
|
+
});
|
|
4893
4912
|
} else {
|
|
4894
4913
|
// Normal desktop: use FocusTrap on the bib element
|
|
4895
4914
|
this.focusTrap = new FocusTrap(this.bibContent);
|
|
@@ -3874,7 +3874,7 @@ class AuroHelpText extends LitElement {
|
|
|
3874
3874
|
}
|
|
3875
3875
|
}
|
|
3876
3876
|
|
|
3877
|
-
var formkitVersion = '
|
|
3877
|
+
var formkitVersion = '202605190056';
|
|
3878
3878
|
|
|
3879
3879
|
class AuroElement extends LitElement {
|
|
3880
3880
|
static get properties() {
|
|
@@ -4595,6 +4595,17 @@ class AuroDropdown extends AuroElement {
|
|
|
4595
4595
|
this._clearPageInert();
|
|
4596
4596
|
}
|
|
4597
4597
|
}
|
|
4598
|
+
|
|
4599
|
+
// Handle desktopModal toggled while the dropdown is already open.
|
|
4600
|
+
// Re-initialize focus trapping and page inert state to match the new mode.
|
|
4601
|
+
if (changedProperties.has('desktopModal') && this.isPopoverVisible && !this.isBibFullscreen) {
|
|
4602
|
+
this.updateFocusTrap();
|
|
4603
|
+
if (this.desktopModal) {
|
|
4604
|
+
this._setPageInert();
|
|
4605
|
+
} else {
|
|
4606
|
+
this._clearPageInert();
|
|
4607
|
+
}
|
|
4608
|
+
}
|
|
4598
4609
|
}
|
|
4599
4610
|
|
|
4600
4611
|
/**
|
|
@@ -4795,6 +4806,14 @@ class AuroDropdown extends AuroElement {
|
|
|
4795
4806
|
}
|
|
4796
4807
|
};
|
|
4797
4808
|
this.addEventListener('keydown', this._bibTabHandler);
|
|
4809
|
+
|
|
4810
|
+
// Move initial focus into the bib content, matching FocusTrap behavior
|
|
4811
|
+
requestAnimationFrame(() => {
|
|
4812
|
+
const focusables = getFocusableElements(this.bibContent);
|
|
4813
|
+
if (focusables.length) {
|
|
4814
|
+
focusables[0].focus();
|
|
4815
|
+
}
|
|
4816
|
+
});
|
|
4798
4817
|
} else {
|
|
4799
4818
|
// Normal desktop: use FocusTrap on the bib element
|
|
4800
4819
|
this.focusTrap = new FocusTrap(this.bibContent);
|
|
@@ -3874,7 +3874,7 @@ class AuroHelpText extends LitElement {
|
|
|
3874
3874
|
}
|
|
3875
3875
|
}
|
|
3876
3876
|
|
|
3877
|
-
var formkitVersion = '
|
|
3877
|
+
var formkitVersion = '202605190056';
|
|
3878
3878
|
|
|
3879
3879
|
class AuroElement extends LitElement {
|
|
3880
3880
|
static get properties() {
|
|
@@ -4595,6 +4595,17 @@ class AuroDropdown extends AuroElement {
|
|
|
4595
4595
|
this._clearPageInert();
|
|
4596
4596
|
}
|
|
4597
4597
|
}
|
|
4598
|
+
|
|
4599
|
+
// Handle desktopModal toggled while the dropdown is already open.
|
|
4600
|
+
// Re-initialize focus trapping and page inert state to match the new mode.
|
|
4601
|
+
if (changedProperties.has('desktopModal') && this.isPopoverVisible && !this.isBibFullscreen) {
|
|
4602
|
+
this.updateFocusTrap();
|
|
4603
|
+
if (this.desktopModal) {
|
|
4604
|
+
this._setPageInert();
|
|
4605
|
+
} else {
|
|
4606
|
+
this._clearPageInert();
|
|
4607
|
+
}
|
|
4608
|
+
}
|
|
4598
4609
|
}
|
|
4599
4610
|
|
|
4600
4611
|
/**
|
|
@@ -4795,6 +4806,14 @@ class AuroDropdown extends AuroElement {
|
|
|
4795
4806
|
}
|
|
4796
4807
|
};
|
|
4797
4808
|
this.addEventListener('keydown', this._bibTabHandler);
|
|
4809
|
+
|
|
4810
|
+
// Move initial focus into the bib content, matching FocusTrap behavior
|
|
4811
|
+
requestAnimationFrame(() => {
|
|
4812
|
+
const focusables = getFocusableElements(this.bibContent);
|
|
4813
|
+
if (focusables.length) {
|
|
4814
|
+
focusables[0].focus();
|
|
4815
|
+
}
|
|
4816
|
+
});
|
|
4798
4817
|
} else {
|
|
4799
4818
|
// Normal desktop: use FocusTrap on the bib element
|
|
4800
4819
|
this.focusTrap = new FocusTrap(this.bibContent);
|