@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
|
@@ -8084,19 +8084,6 @@ class AuroCalendarCell extends i$1 {
|
|
|
8084
8084
|
}
|
|
8085
8085
|
}
|
|
8086
8086
|
|
|
8087
|
-
/**
|
|
8088
|
-
* Handles Enter/Space key on the cell button.
|
|
8089
|
-
* @private
|
|
8090
|
-
* @param {KeyboardEvent} event - The keyboard event.
|
|
8091
|
-
* @returns {void}
|
|
8092
|
-
*/
|
|
8093
|
-
handleKeyDown(event) {
|
|
8094
|
-
if (event.key === 'Enter' || event.key === ' ') {
|
|
8095
|
-
event.preventDefault();
|
|
8096
|
-
this.handleTap();
|
|
8097
|
-
}
|
|
8098
|
-
}
|
|
8099
|
-
|
|
8100
8087
|
/**
|
|
8101
8088
|
* Handles user hover events and dispatches a custom event.
|
|
8102
8089
|
* @private
|
|
@@ -8139,6 +8126,13 @@ class AuroCalendarCell extends i$1 {
|
|
|
8139
8126
|
return false;
|
|
8140
8127
|
}
|
|
8141
8128
|
|
|
8129
|
+
// Check against disabledDays timestamps (legacy path)
|
|
8130
|
+
if (Array.isArray(this.disabledDays) && this.disabledDays.length > 0) {
|
|
8131
|
+
if (this.disabledDays.findIndex(d => parseInt(d, 10) === this.day.date) !== -1) {
|
|
8132
|
+
return true;
|
|
8133
|
+
}
|
|
8134
|
+
}
|
|
8135
|
+
|
|
8142
8136
|
// Check against blackoutDates (ISO format YYYY-MM-DD) on the datepicker
|
|
8143
8137
|
const blackoutDates = this.datepicker?.blackoutDates;
|
|
8144
8138
|
|
|
@@ -8157,8 +8151,10 @@ class AuroCalendarCell extends i$1 {
|
|
|
8157
8151
|
}
|
|
8158
8152
|
|
|
8159
8153
|
/**
|
|
8160
|
-
* Checks if the current date is
|
|
8161
|
-
* Sets the disabled attribute
|
|
8154
|
+
* Checks if the current date is disabled based on min/max range or the
|
|
8155
|
+
* legacy disabledDays timestamp list. Sets the `disabled` attribute on the
|
|
8156
|
+
* host when the date falls outside the allowed range or appears in
|
|
8157
|
+
* disabledDays. Note: blackout dates are handled separately by `isBlackout()`.
|
|
8162
8158
|
* @private
|
|
8163
8159
|
* @param {Object} day - An object containing the dateFrom and day of month values.
|
|
8164
8160
|
* @param {Number} min - The minimum date value.
|
|
@@ -8203,8 +8199,9 @@ class AuroCalendarCell extends i$1 {
|
|
|
8203
8199
|
|
|
8204
8200
|
const date = new Date(this.day.date * 1000);
|
|
8205
8201
|
|
|
8206
|
-
// Generate localized full date string
|
|
8207
|
-
const
|
|
8202
|
+
// Generate localized full date string using the configured locale
|
|
8203
|
+
const localeCode = this.locale?.code || undefined;
|
|
8204
|
+
const dateFormatter = new Intl.DateTimeFormat(localeCode, {
|
|
8208
8205
|
weekday: 'long',
|
|
8209
8206
|
year: 'numeric',
|
|
8210
8207
|
month: 'long',
|
|
@@ -8213,7 +8210,7 @@ class AuroCalendarCell extends i$1 {
|
|
|
8213
8210
|
|
|
8214
8211
|
let label = dateFormatter.format(date);
|
|
8215
8212
|
|
|
8216
|
-
// appending popover content here so that it
|
|
8213
|
+
// appending popover content here so that it gets read in a logical order with the other date content.
|
|
8217
8214
|
if (this.hasPopoverContent) {
|
|
8218
8215
|
label += `, ${this.querySelector(`[slot="popover_${this.dateStr}"]`).innerText.trim()}`;
|
|
8219
8216
|
}
|
|
@@ -8445,10 +8442,22 @@ class AuroCalendarCell extends i$1 {
|
|
|
8445
8442
|
this.handleSlotContent();
|
|
8446
8443
|
});
|
|
8447
8444
|
|
|
8445
|
+
this.calendarMonth = calendarMonth;
|
|
8446
|
+
this.configurePopover();
|
|
8447
|
+
}
|
|
8448
|
+
|
|
8449
|
+
/**
|
|
8450
|
+
* Configures the popover instance with the calendar month boundary.
|
|
8451
|
+
* Called from firstUpdated and updated because the popover element is only
|
|
8452
|
+
* rendered after hasPopoverContent becomes true (set by handleSlotContent).
|
|
8453
|
+
* @private
|
|
8454
|
+
* @returns {void}
|
|
8455
|
+
*/
|
|
8456
|
+
configurePopover() {
|
|
8448
8457
|
this.auroPopover = this.shadowRoot.querySelector(this.popoverTag._$litStatic$);
|
|
8449
8458
|
|
|
8450
|
-
if (this.auroPopover) {
|
|
8451
|
-
this.auroPopover.boundary = calendarMonth;
|
|
8459
|
+
if (this.auroPopover && this.calendarMonth) {
|
|
8460
|
+
this.auroPopover.boundary = this.calendarMonth;
|
|
8452
8461
|
}
|
|
8453
8462
|
}
|
|
8454
8463
|
|
|
@@ -8461,6 +8470,11 @@ class AuroCalendarCell extends i$1 {
|
|
|
8461
8470
|
this.setDateSlotName();
|
|
8462
8471
|
this.handleSlotContent();
|
|
8463
8472
|
}
|
|
8473
|
+
|
|
8474
|
+
// Configure popover when it first becomes rendered
|
|
8475
|
+
if (properties.has('hasPopoverContent') && this.hasPopoverContent) {
|
|
8476
|
+
this.updateComplete.then(() => this.configurePopover());
|
|
8477
|
+
}
|
|
8464
8478
|
}
|
|
8465
8479
|
|
|
8466
8480
|
/**
|
|
@@ -8717,8 +8731,12 @@ class AuroCalendarMonth extends RangeDatepickerCalendar {
|
|
|
8717
8731
|
}
|
|
8718
8732
|
} else if (key === 'ArrowDown' || key === 'ArrowUp') {
|
|
8719
8733
|
// Find the target day (same day-of-week, +/- 7 days)
|
|
8734
|
+
// Use Date arithmetic instead of fixed seconds to handle DST correctly
|
|
8720
8735
|
const increment = key === 'ArrowDown' ? 7 : -7;
|
|
8721
|
-
const
|
|
8736
|
+
const currentDate = new Date(activeCell.day.date * 1000);
|
|
8737
|
+
currentDate.setDate(currentDate.getDate() + increment);
|
|
8738
|
+
currentDate.setHours(0, 0, 0, 0);
|
|
8739
|
+
const targetDate = Math.floor(currentDate.getTime() / 1000);
|
|
8722
8740
|
|
|
8723
8741
|
// Look for the target date in this month's focusable cells
|
|
8724
8742
|
targetCell = focusableCells.find(cell => cell.day.date === targetDate);
|
|
@@ -8782,7 +8800,7 @@ class AuroCalendarMonth extends RangeDatepickerCalendar {
|
|
|
8782
8800
|
var _a, _b;
|
|
8783
8801
|
|
|
8784
8802
|
return b$5 `
|
|
8785
|
-
<div aria-labelledby="${this.getHeadingId()}"
|
|
8803
|
+
<div aria-labelledby="${this.getHeadingId()}">
|
|
8786
8804
|
<div class="header">
|
|
8787
8805
|
${this.renderPrevButton()}
|
|
8788
8806
|
<div class="headerTitle heading-xs" id="${this.getHeadingId()}" aria-live="polite" aria-atomic="true">
|
|
@@ -8797,7 +8815,7 @@ class AuroCalendarMonth extends RangeDatepickerCalendar {
|
|
|
8797
8815
|
${this.renderNextButton()}
|
|
8798
8816
|
</div>
|
|
8799
8817
|
|
|
8800
|
-
<div class="table" role="grid" aria-labelledby="${this.getHeadingId()}">
|
|
8818
|
+
<div class="table" role="grid" aria-labelledby="${this.getHeadingId()}" @keydown="${this.handleGridKeyDown}">
|
|
8801
8819
|
<div class="thead" role="rowgroup">
|
|
8802
8820
|
<div class="tr" role="row">
|
|
8803
8821
|
${(_a = this.dayNamesOfTheWeek) === null || _a === void 0 ? void 0 : _a.map((dayNameOfWeek, index) => this.renderDayOfWeek(dayNameOfWeek, index))}
|
|
@@ -9621,7 +9639,7 @@ class AuroBibtemplate extends i$1 {
|
|
|
9621
9639
|
}
|
|
9622
9640
|
}
|
|
9623
9641
|
|
|
9624
|
-
var formkitVersion$2 = '
|
|
9642
|
+
var formkitVersion$2 = '202605190056';
|
|
9625
9643
|
|
|
9626
9644
|
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}
|
|
9627
9645
|
`,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}}
|
|
@@ -9911,7 +9929,8 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
9911
9929
|
*/
|
|
9912
9930
|
announceMonthChange() {
|
|
9913
9931
|
const date = new Date(this.centralDate);
|
|
9914
|
-
const
|
|
9932
|
+
const localeCode = this.locale?.code || undefined;
|
|
9933
|
+
const formatter = new Intl.DateTimeFormat(localeCode, { month: 'long', year: 'numeric' });
|
|
9915
9934
|
this.announceSelection(formatter.format(date));
|
|
9916
9935
|
}
|
|
9917
9936
|
|
|
@@ -10091,9 +10110,19 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
10091
10110
|
* @returns {Number|undefined} Unix timestamp (seconds) of the date to activate, or undefined.
|
|
10092
10111
|
*/
|
|
10093
10112
|
computeActiveDate() {
|
|
10094
|
-
const ONE_DAY = 86400; // seconds
|
|
10095
10113
|
const MAX_SCAN_DAYS = 366; // scan at most ~1 year in each direction
|
|
10096
10114
|
|
|
10115
|
+
/**
|
|
10116
|
+
* Adds days to a timestamp using Date arithmetic to handle DST correctly.
|
|
10117
|
+
* Returns a local-midnight-aligned timestamp in seconds.
|
|
10118
|
+
*/
|
|
10119
|
+
const addDays = (ts, days) => {
|
|
10120
|
+
const d = new Date(ts * 1000);
|
|
10121
|
+
d.setDate(d.getDate() + days);
|
|
10122
|
+
d.setHours(0, 0, 0, 0);
|
|
10123
|
+
return Math.floor(d.getTime() / 1000);
|
|
10124
|
+
};
|
|
10125
|
+
|
|
10097
10126
|
const rawMin = Number(this.min);
|
|
10098
10127
|
const rawMax = Number(this.max);
|
|
10099
10128
|
|
|
@@ -10106,11 +10135,13 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
10106
10135
|
(this.disabledDays || []).map(d => parseInt(d, 10))
|
|
10107
10136
|
);
|
|
10108
10137
|
|
|
10109
|
-
// Also include ISO-format blackoutDates from the datepicker if available
|
|
10138
|
+
// Also include ISO-format blackoutDates from the datepicker if available.
|
|
10139
|
+
// Parse YYYY-MM-DD as local date to avoid UTC shift issues.
|
|
10110
10140
|
const isoBlackouts = this.datepicker?.blackoutDates;
|
|
10111
10141
|
if (Array.isArray(isoBlackouts)) {
|
|
10112
10142
|
for (const isoStr of isoBlackouts) {
|
|
10113
|
-
const
|
|
10143
|
+
const parts = isoStr.split('-');
|
|
10144
|
+
const ts = Math.floor(new Date(parseInt(parts[0], 10), parseInt(parts[1], 10) - 1, parseInt(parts[2], 10)).getTime() / 1000);
|
|
10114
10145
|
if (Number.isFinite(ts)) blackoutSet.add(ts);
|
|
10115
10146
|
}
|
|
10116
10147
|
}
|
|
@@ -10139,31 +10170,43 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
10139
10170
|
if (isEnabled(now)) return now;
|
|
10140
10171
|
|
|
10141
10172
|
// 3. First future enabled date (scan forward from tomorrow, capped by max and MAX_SCAN_DAYS).
|
|
10142
|
-
|
|
10143
|
-
|
|
10144
|
-
|
|
10145
|
-
|
|
10146
|
-
for (let ts = now + ONE_DAY; ts <= scanMax; ts += ONE_DAY) {
|
|
10173
|
+
for (let idx = 1; idx <= MAX_SCAN_DAYS; idx++) {
|
|
10174
|
+
const ts = addDays(now, idx);
|
|
10175
|
+
if (Number.isFinite(maxTs) && ts > maxTs) break;
|
|
10147
10176
|
if (isEnabled(ts)) return ts;
|
|
10148
10177
|
}
|
|
10149
10178
|
|
|
10150
10179
|
// 4. First previous enabled date (scan backward from yesterday, capped by min and MAX_SCAN_DAYS).
|
|
10151
|
-
|
|
10152
|
-
|
|
10153
|
-
|
|
10154
|
-
|
|
10155
|
-
for (let ts = now - ONE_DAY; ts >= scanMin; ts -= ONE_DAY) {
|
|
10180
|
+
for (let idx = 1; idx <= MAX_SCAN_DAYS; idx++) {
|
|
10181
|
+
const ts = addDays(now, -idx);
|
|
10182
|
+
if (Number.isFinite(minTs) && ts < minTs) break;
|
|
10156
10183
|
if (isEnabled(ts)) return ts;
|
|
10157
10184
|
}
|
|
10158
10185
|
|
|
10159
10186
|
// 5. If scans missed (e.g. min/max range is far from today), fall back to
|
|
10160
10187
|
// the first enabled date in the [min, max] range.
|
|
10161
10188
|
if (Number.isFinite(minTs) && Number.isFinite(maxTs)) {
|
|
10162
|
-
|
|
10189
|
+
let ts = minTs;
|
|
10190
|
+
for (let idx = 0; ts <= maxTs; idx++) {
|
|
10163
10191
|
if (isEnabled(ts)) return ts;
|
|
10192
|
+
ts = addDays(minTs, idx + 1);
|
|
10164
10193
|
}
|
|
10165
10194
|
}
|
|
10166
10195
|
|
|
10196
|
+
// 5b. Unbounded min with a finite max far in the past (e.g. birth-date picker):
|
|
10197
|
+
// scan backward from max for up to MAX_SCAN_DAYS.
|
|
10198
|
+
if (!Number.isFinite(minTs) && Number.isFinite(maxTs)) {
|
|
10199
|
+
for (let idx = 0; idx <= MAX_SCAN_DAYS; idx++) {
|
|
10200
|
+
const ts = addDays(maxTs, -idx);
|
|
10201
|
+
if (isEnabled(ts)) return ts;
|
|
10202
|
+
}
|
|
10203
|
+
}
|
|
10204
|
+
|
|
10205
|
+
// 6. All dates are blackout — fall back to the first in-range date so focus
|
|
10206
|
+
// still lands on a focusable (but not selectable) cell.
|
|
10207
|
+
if (Number.isFinite(minTs) && isInRange(minTs)) return minTs;
|
|
10208
|
+
if (isInRange(now)) return now;
|
|
10209
|
+
|
|
10167
10210
|
return undefined;
|
|
10168
10211
|
}
|
|
10169
10212
|
|
|
@@ -10222,8 +10265,12 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
10222
10265
|
}
|
|
10223
10266
|
} else if (key === 'ArrowDown' || key === 'ArrowUp') {
|
|
10224
10267
|
// Vertical navigation: find same day-of-week +/- 7 days
|
|
10268
|
+
// Use Date arithmetic instead of fixed seconds to handle DST correctly
|
|
10225
10269
|
const increment = key === 'ArrowDown' ? 7 : -7;
|
|
10226
|
-
const
|
|
10270
|
+
const currentDate = new Date(fromDate * 1000);
|
|
10271
|
+
currentDate.setDate(currentDate.getDate() + increment);
|
|
10272
|
+
currentDate.setHours(0, 0, 0, 0);
|
|
10273
|
+
const targetDate = Math.floor(currentDate.getTime() / 1000);
|
|
10227
10274
|
|
|
10228
10275
|
const allCells = this.getAllFocusableCells();
|
|
10229
10276
|
let targetCell = allCells.find(cell => cell.day && cell.day.date === targetDate);
|
|
@@ -10318,7 +10365,8 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
10318
10365
|
*/
|
|
10319
10366
|
formatAnnouncementDate(timestamp) {
|
|
10320
10367
|
const date = new Date(parseInt(timestamp, 10) * 1000);
|
|
10321
|
-
const
|
|
10368
|
+
const localeCode = this.locale?.code || undefined;
|
|
10369
|
+
const formatter = new Intl.DateTimeFormat(localeCode, {
|
|
10322
10370
|
weekday: 'long', year: 'numeric', month: 'long', day: 'numeric'
|
|
10323
10371
|
});
|
|
10324
10372
|
return formatter.format(date);
|
|
@@ -14356,7 +14404,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$1 {
|
|
|
14356
14404
|
}
|
|
14357
14405
|
};
|
|
14358
14406
|
|
|
14359
|
-
var formkitVersion$1 = '
|
|
14407
|
+
var formkitVersion$1 = '202605190056';
|
|
14360
14408
|
|
|
14361
14409
|
let AuroElement$2 = class AuroElement extends i$1 {
|
|
14362
14410
|
static get properties() {
|
|
@@ -15077,6 +15125,17 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
15077
15125
|
this._clearPageInert();
|
|
15078
15126
|
}
|
|
15079
15127
|
}
|
|
15128
|
+
|
|
15129
|
+
// Handle desktopModal toggled while the dropdown is already open.
|
|
15130
|
+
// Re-initialize focus trapping and page inert state to match the new mode.
|
|
15131
|
+
if (changedProperties.has('desktopModal') && this.isPopoverVisible && !this.isBibFullscreen) {
|
|
15132
|
+
this.updateFocusTrap();
|
|
15133
|
+
if (this.desktopModal) {
|
|
15134
|
+
this._setPageInert();
|
|
15135
|
+
} else {
|
|
15136
|
+
this._clearPageInert();
|
|
15137
|
+
}
|
|
15138
|
+
}
|
|
15080
15139
|
}
|
|
15081
15140
|
|
|
15082
15141
|
/**
|
|
@@ -15277,6 +15336,14 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
15277
15336
|
}
|
|
15278
15337
|
};
|
|
15279
15338
|
this.addEventListener('keydown', this._bibTabHandler);
|
|
15339
|
+
|
|
15340
|
+
// Move initial focus into the bib content, matching FocusTrap behavior
|
|
15341
|
+
requestAnimationFrame(() => {
|
|
15342
|
+
const focusables = getFocusableElements(this.bibContent);
|
|
15343
|
+
if (focusables.length) {
|
|
15344
|
+
focusables[0].focus();
|
|
15345
|
+
}
|
|
15346
|
+
});
|
|
15280
15347
|
} else {
|
|
15281
15348
|
// Normal desktop: use FocusTrap on the bib element
|
|
15282
15349
|
this.focusTrap = new FocusTrap(this.bibContent);
|
|
@@ -22297,7 +22364,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$1 {
|
|
|
22297
22364
|
}
|
|
22298
22365
|
};
|
|
22299
22366
|
|
|
22300
|
-
var formkitVersion = '
|
|
22367
|
+
var formkitVersion = '202605190056';
|
|
22301
22368
|
|
|
22302
22369
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
22303
22370
|
// See LICENSE in the project root for license information.
|
|
@@ -23579,8 +23646,11 @@ const datepickerKeyboardStrategy = {
|
|
|
23579
23646
|
return;
|
|
23580
23647
|
}
|
|
23581
23648
|
|
|
23582
|
-
// Only open from the trigger input, not the clear button or other elements
|
|
23583
|
-
|
|
23649
|
+
// Only open from the trigger input, not the clear button or other internal elements.
|
|
23650
|
+
// evt.target is retargeted to the host in shadow DOM, so use composedPath()
|
|
23651
|
+
// to find the real origin. The clear button is rendered with class "clearBtn".
|
|
23652
|
+
const path = evt.composedPath();
|
|
23653
|
+
if (path.some(el => el.classList?.contains('clearBtn'))) {
|
|
23584
23654
|
return;
|
|
23585
23655
|
}
|
|
23586
23656
|
|
|
@@ -23594,8 +23664,11 @@ const datepickerKeyboardStrategy = {
|
|
|
23594
23664
|
return;
|
|
23595
23665
|
}
|
|
23596
23666
|
|
|
23597
|
-
// Only open from the trigger input, not the clear button or other elements
|
|
23598
|
-
|
|
23667
|
+
// Only open from the trigger input, not the clear button or other internal elements.
|
|
23668
|
+
// evt.target is retargeted to the host in shadow DOM, so use composedPath()
|
|
23669
|
+
// to find the real origin. The clear button is rendered with class "clearBtn".
|
|
23670
|
+
const path = evt.composedPath();
|
|
23671
|
+
if (path.some(el => el.classList?.contains('clearBtn'))) {
|
|
23599
23672
|
return;
|
|
23600
23673
|
}
|
|
23601
23674
|
|
|
@@ -24659,7 +24732,7 @@ class AuroDatePicker extends AuroElement {
|
|
|
24659
24732
|
bibEl.close();
|
|
24660
24733
|
bibEl.open(true);
|
|
24661
24734
|
doubleRaf(() => {
|
|
24662
|
-
this.
|
|
24735
|
+
this.focusActiveCellWhenReady();
|
|
24663
24736
|
});
|
|
24664
24737
|
}
|
|
24665
24738
|
});
|
|
@@ -25035,9 +25108,13 @@ class AuroDatePicker extends AuroElement {
|
|
|
25035
25108
|
}
|
|
25036
25109
|
|
|
25037
25110
|
if (changedProperties.has('blackoutDates')) {
|
|
25038
|
-
// Force calendar cells to re-render with updated blackout state
|
|
25111
|
+
// Force calendar cells to re-render with updated blackout state.
|
|
25112
|
+
// requestUpdate on the calendar alone is insufficient because cells
|
|
25113
|
+
// don't receive blackoutDates as a bound property. Dispatching the
|
|
25114
|
+
// slot content event triggers handleSlotContent → requestUpdate on each cell.
|
|
25039
25115
|
if (this.calendar) {
|
|
25040
25116
|
this.calendar.requestUpdate();
|
|
25117
|
+
this.dispatchEvent(new CustomEvent('auroDatePicker-newSlotContent'));
|
|
25041
25118
|
}
|
|
25042
25119
|
}
|
|
25043
25120
|
|
|
@@ -25745,7 +25822,7 @@ function blackoutLabelExample() {
|
|
|
25745
25822
|
const isSoldOut = dayOfMonth % 3 === 0;
|
|
25746
25823
|
|
|
25747
25824
|
if (isSoldOut) {
|
|
25748
|
-
blackoutDates.push(
|
|
25825
|
+
blackoutDates.push(`${yyyy}-${mm}-${dd}`);
|
|
25749
25826
|
|
|
25750
25827
|
const popover = document.createElement('span');
|
|
25751
25828
|
popover.setAttribute('slot', `popover_${slotDateStr}`);
|
|
@@ -25775,7 +25852,10 @@ function initExamples(initCount) {
|
|
|
25775
25852
|
initCount = initCount || 0;
|
|
25776
25853
|
|
|
25777
25854
|
try {
|
|
25778
|
-
|
|
25855
|
+
// Only run when the demo element exists on the current page
|
|
25856
|
+
if (document.querySelector('#blackoutLabelExample')) {
|
|
25857
|
+
blackoutLabelExample();
|
|
25858
|
+
}
|
|
25779
25859
|
} catch {
|
|
25780
25860
|
if (initCount <= 20) {
|
|
25781
25861
|
// setTimeout handles issue where content is sometimes loaded after the functions get called
|