@aurodesignsystem-dev/auro-formkit 0.0.0-pr1475.2 → 0.0.0-pr1475.3
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 +11 -3
- package/components/combobox/demo/getting-started.min.js +11 -3
- package/components/combobox/demo/index.min.js +11 -3
- package/components/combobox/dist/index.js +11 -3
- package/components/combobox/dist/registered.js +11 -3
- package/components/counter/demo/customize.min.js +10 -2
- package/components/counter/demo/index.min.js +10 -2
- package/components/counter/dist/index.js +1 -1
- package/components/counter/dist/registered.js +1 -1
- package/components/datepicker/demo/customize.min.js +99 -33
- package/components/datepicker/demo/index.md +2 -2
- package/components/datepicker/demo/index.min.js +100 -34
- package/components/datepicker/dist/index.js +99 -33
- package/components/datepicker/dist/registered.js +99 -33
- package/components/datepicker/dist/src/auro-calendar-cell.d.ts +9 -0
- package/components/dropdown/demo/customize.min.js +9 -1
- package/components/dropdown/demo/getting-started.min.js +9 -1
- package/components/dropdown/demo/index.min.js +9 -1
- package/components/dropdown/dist/index.js +9 -1
- package/components/dropdown/dist/registered.js +9 -1
- package/components/form/demo/customize.min.js +133 -43
- package/components/form/demo/getting-started.min.js +133 -43
- package/components/form/demo/index.min.js +133 -43
- package/components/form/demo/registerDemoDeps.min.js +133 -43
- 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 +10 -2
- package/components/select/demo/getting-started.min.js +10 -2
- package/components/select/demo/index.min.js +10 -2
- package/components/select/dist/index.js +10 -2
- package/components/select/dist/registered.js +10 -2
- package/custom-elements.json +1496 -1485
- package/package.json +1 -1
|
@@ -8139,6 +8139,13 @@ class AuroCalendarCell extends i$1 {
|
|
|
8139
8139
|
return false;
|
|
8140
8140
|
}
|
|
8141
8141
|
|
|
8142
|
+
// Check against disabledDays timestamps (legacy path)
|
|
8143
|
+
if (Array.isArray(this.disabledDays) && this.disabledDays.length > 0) {
|
|
8144
|
+
if (this.disabledDays.findIndex(d => parseInt(d, 10) === this.day.date) !== -1) {
|
|
8145
|
+
return true;
|
|
8146
|
+
}
|
|
8147
|
+
}
|
|
8148
|
+
|
|
8142
8149
|
// Check against blackoutDates (ISO format YYYY-MM-DD) on the datepicker
|
|
8143
8150
|
const blackoutDates = this.datepicker?.blackoutDates;
|
|
8144
8151
|
|
|
@@ -8203,8 +8210,9 @@ class AuroCalendarCell extends i$1 {
|
|
|
8203
8210
|
|
|
8204
8211
|
const date = new Date(this.day.date * 1000);
|
|
8205
8212
|
|
|
8206
|
-
// Generate localized full date string
|
|
8207
|
-
const
|
|
8213
|
+
// Generate localized full date string using the configured locale
|
|
8214
|
+
const localeCode = this.locale?.code || undefined;
|
|
8215
|
+
const dateFormatter = new Intl.DateTimeFormat(localeCode, {
|
|
8208
8216
|
weekday: 'long',
|
|
8209
8217
|
year: 'numeric',
|
|
8210
8218
|
month: 'long',
|
|
@@ -8213,7 +8221,7 @@ class AuroCalendarCell extends i$1 {
|
|
|
8213
8221
|
|
|
8214
8222
|
let label = dateFormatter.format(date);
|
|
8215
8223
|
|
|
8216
|
-
// appending popover content here so that it
|
|
8224
|
+
// appending popover content here so that it gets read in a logical order with the other date content.
|
|
8217
8225
|
if (this.hasPopoverContent) {
|
|
8218
8226
|
label += `, ${this.querySelector(`[slot="popover_${this.dateStr}"]`).innerText.trim()}`;
|
|
8219
8227
|
}
|
|
@@ -8445,10 +8453,22 @@ class AuroCalendarCell extends i$1 {
|
|
|
8445
8453
|
this.handleSlotContent();
|
|
8446
8454
|
});
|
|
8447
8455
|
|
|
8456
|
+
this.calendarMonth = calendarMonth;
|
|
8457
|
+
this.configurePopover();
|
|
8458
|
+
}
|
|
8459
|
+
|
|
8460
|
+
/**
|
|
8461
|
+
* Configures the popover instance with the calendar month boundary.
|
|
8462
|
+
* Called from firstUpdated and updated because the popover element is only
|
|
8463
|
+
* rendered after hasPopoverContent becomes true (set by handleSlotContent).
|
|
8464
|
+
* @private
|
|
8465
|
+
* @returns {void}
|
|
8466
|
+
*/
|
|
8467
|
+
configurePopover() {
|
|
8448
8468
|
this.auroPopover = this.shadowRoot.querySelector(this.popoverTag._$litStatic$);
|
|
8449
8469
|
|
|
8450
|
-
if (this.auroPopover) {
|
|
8451
|
-
this.auroPopover.boundary = calendarMonth;
|
|
8470
|
+
if (this.auroPopover && this.calendarMonth) {
|
|
8471
|
+
this.auroPopover.boundary = this.calendarMonth;
|
|
8452
8472
|
}
|
|
8453
8473
|
}
|
|
8454
8474
|
|
|
@@ -8461,6 +8481,11 @@ class AuroCalendarCell extends i$1 {
|
|
|
8461
8481
|
this.setDateSlotName();
|
|
8462
8482
|
this.handleSlotContent();
|
|
8463
8483
|
}
|
|
8484
|
+
|
|
8485
|
+
// Configure popover when it first becomes rendered
|
|
8486
|
+
if (properties.has('hasPopoverContent') && this.hasPopoverContent) {
|
|
8487
|
+
this.updateComplete.then(() => this.configurePopover());
|
|
8488
|
+
}
|
|
8464
8489
|
}
|
|
8465
8490
|
|
|
8466
8491
|
/**
|
|
@@ -8717,8 +8742,12 @@ class AuroCalendarMonth extends RangeDatepickerCalendar {
|
|
|
8717
8742
|
}
|
|
8718
8743
|
} else if (key === 'ArrowDown' || key === 'ArrowUp') {
|
|
8719
8744
|
// Find the target day (same day-of-week, +/- 7 days)
|
|
8745
|
+
// Use Date arithmetic instead of fixed seconds to handle DST correctly
|
|
8720
8746
|
const increment = key === 'ArrowDown' ? 7 : -7;
|
|
8721
|
-
const
|
|
8747
|
+
const currentDate = new Date(activeCell.day.date * 1000);
|
|
8748
|
+
currentDate.setDate(currentDate.getDate() + increment);
|
|
8749
|
+
currentDate.setHours(0, 0, 0, 0);
|
|
8750
|
+
const targetDate = Math.floor(currentDate.getTime() / 1000);
|
|
8722
8751
|
|
|
8723
8752
|
// Look for the target date in this month's focusable cells
|
|
8724
8753
|
targetCell = focusableCells.find(cell => cell.day.date === targetDate);
|
|
@@ -8782,7 +8811,7 @@ class AuroCalendarMonth extends RangeDatepickerCalendar {
|
|
|
8782
8811
|
var _a, _b;
|
|
8783
8812
|
|
|
8784
8813
|
return b$5 `
|
|
8785
|
-
<div aria-labelledby="${this.getHeadingId()}"
|
|
8814
|
+
<div aria-labelledby="${this.getHeadingId()}">
|
|
8786
8815
|
<div class="header">
|
|
8787
8816
|
${this.renderPrevButton()}
|
|
8788
8817
|
<div class="headerTitle heading-xs" id="${this.getHeadingId()}" aria-live="polite" aria-atomic="true">
|
|
@@ -8797,7 +8826,7 @@ class AuroCalendarMonth extends RangeDatepickerCalendar {
|
|
|
8797
8826
|
${this.renderNextButton()}
|
|
8798
8827
|
</div>
|
|
8799
8828
|
|
|
8800
|
-
<div class="table" role="grid" aria-labelledby="${this.getHeadingId()}">
|
|
8829
|
+
<div class="table" role="grid" aria-labelledby="${this.getHeadingId()}" @keydown="${this.handleGridKeyDown}">
|
|
8801
8830
|
<div class="thead" role="rowgroup">
|
|
8802
8831
|
<div class="tr" role="row">
|
|
8803
8832
|
${(_a = this.dayNamesOfTheWeek) === null || _a === void 0 ? void 0 : _a.map((dayNameOfWeek, index) => this.renderDayOfWeek(dayNameOfWeek, index))}
|
|
@@ -9621,7 +9650,7 @@ class AuroBibtemplate extends i$1 {
|
|
|
9621
9650
|
}
|
|
9622
9651
|
}
|
|
9623
9652
|
|
|
9624
|
-
var formkitVersion$2 = '
|
|
9653
|
+
var formkitVersion$2 = '202605182353';
|
|
9625
9654
|
|
|
9626
9655
|
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
9656
|
`,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 +9940,8 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
9911
9940
|
*/
|
|
9912
9941
|
announceMonthChange() {
|
|
9913
9942
|
const date = new Date(this.centralDate);
|
|
9914
|
-
const
|
|
9943
|
+
const localeCode = this.locale?.code || undefined;
|
|
9944
|
+
const formatter = new Intl.DateTimeFormat(localeCode, { month: 'long', year: 'numeric' });
|
|
9915
9945
|
this.announceSelection(formatter.format(date));
|
|
9916
9946
|
}
|
|
9917
9947
|
|
|
@@ -10091,9 +10121,19 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
10091
10121
|
* @returns {Number|undefined} Unix timestamp (seconds) of the date to activate, or undefined.
|
|
10092
10122
|
*/
|
|
10093
10123
|
computeActiveDate() {
|
|
10094
|
-
const ONE_DAY = 86400; // seconds
|
|
10095
10124
|
const MAX_SCAN_DAYS = 366; // scan at most ~1 year in each direction
|
|
10096
10125
|
|
|
10126
|
+
/**
|
|
10127
|
+
* Adds days to a timestamp using Date arithmetic to handle DST correctly.
|
|
10128
|
+
* Returns a local-midnight-aligned timestamp in seconds.
|
|
10129
|
+
*/
|
|
10130
|
+
const addDays = (ts, days) => {
|
|
10131
|
+
const d = new Date(ts * 1000);
|
|
10132
|
+
d.setDate(d.getDate() + days);
|
|
10133
|
+
d.setHours(0, 0, 0, 0);
|
|
10134
|
+
return Math.floor(d.getTime() / 1000);
|
|
10135
|
+
};
|
|
10136
|
+
|
|
10097
10137
|
const rawMin = Number(this.min);
|
|
10098
10138
|
const rawMax = Number(this.max);
|
|
10099
10139
|
|
|
@@ -10106,11 +10146,13 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
10106
10146
|
(this.disabledDays || []).map(d => parseInt(d, 10))
|
|
10107
10147
|
);
|
|
10108
10148
|
|
|
10109
|
-
// Also include ISO-format blackoutDates from the datepicker if available
|
|
10149
|
+
// Also include ISO-format blackoutDates from the datepicker if available.
|
|
10150
|
+
// Parse YYYY-MM-DD as local date to avoid UTC shift issues.
|
|
10110
10151
|
const isoBlackouts = this.datepicker?.blackoutDates;
|
|
10111
10152
|
if (Array.isArray(isoBlackouts)) {
|
|
10112
10153
|
for (const isoStr of isoBlackouts) {
|
|
10113
|
-
const
|
|
10154
|
+
const parts = isoStr.split('-');
|
|
10155
|
+
const ts = Math.floor(new Date(parseInt(parts[0], 10), parseInt(parts[1], 10) - 1, parseInt(parts[2], 10)).getTime() / 1000);
|
|
10114
10156
|
if (Number.isFinite(ts)) blackoutSet.add(ts);
|
|
10115
10157
|
}
|
|
10116
10158
|
}
|
|
@@ -10139,31 +10181,34 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
10139
10181
|
if (isEnabled(now)) return now;
|
|
10140
10182
|
|
|
10141
10183
|
// 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) {
|
|
10184
|
+
for (let idx = 1; idx <= MAX_SCAN_DAYS; idx++) {
|
|
10185
|
+
const ts = addDays(now, idx);
|
|
10186
|
+
if (Number.isFinite(maxTs) && ts > maxTs) break;
|
|
10147
10187
|
if (isEnabled(ts)) return ts;
|
|
10148
10188
|
}
|
|
10149
10189
|
|
|
10150
10190
|
// 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) {
|
|
10191
|
+
for (let idx = 1; idx <= MAX_SCAN_DAYS; idx++) {
|
|
10192
|
+
const ts = addDays(now, -idx);
|
|
10193
|
+
if (Number.isFinite(minTs) && ts < minTs) break;
|
|
10156
10194
|
if (isEnabled(ts)) return ts;
|
|
10157
10195
|
}
|
|
10158
10196
|
|
|
10159
10197
|
// 5. If scans missed (e.g. min/max range is far from today), fall back to
|
|
10160
10198
|
// the first enabled date in the [min, max] range.
|
|
10161
10199
|
if (Number.isFinite(minTs) && Number.isFinite(maxTs)) {
|
|
10162
|
-
|
|
10200
|
+
let ts = minTs;
|
|
10201
|
+
for (let idx = 0; ts <= maxTs; idx++) {
|
|
10163
10202
|
if (isEnabled(ts)) return ts;
|
|
10203
|
+
ts = addDays(minTs, idx + 1);
|
|
10164
10204
|
}
|
|
10165
10205
|
}
|
|
10166
10206
|
|
|
10207
|
+
// 6. All dates are blackout — fall back to the first in-range date so focus
|
|
10208
|
+
// still lands on a focusable (but not selectable) cell.
|
|
10209
|
+
if (Number.isFinite(minTs) && isInRange(minTs)) return minTs;
|
|
10210
|
+
if (isInRange(now)) return now;
|
|
10211
|
+
|
|
10167
10212
|
return undefined;
|
|
10168
10213
|
}
|
|
10169
10214
|
|
|
@@ -10222,8 +10267,12 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
10222
10267
|
}
|
|
10223
10268
|
} else if (key === 'ArrowDown' || key === 'ArrowUp') {
|
|
10224
10269
|
// Vertical navigation: find same day-of-week +/- 7 days
|
|
10270
|
+
// Use Date arithmetic instead of fixed seconds to handle DST correctly
|
|
10225
10271
|
const increment = key === 'ArrowDown' ? 7 : -7;
|
|
10226
|
-
const
|
|
10272
|
+
const currentDate = new Date(fromDate * 1000);
|
|
10273
|
+
currentDate.setDate(currentDate.getDate() + increment);
|
|
10274
|
+
currentDate.setHours(0, 0, 0, 0);
|
|
10275
|
+
const targetDate = Math.floor(currentDate.getTime() / 1000);
|
|
10227
10276
|
|
|
10228
10277
|
const allCells = this.getAllFocusableCells();
|
|
10229
10278
|
let targetCell = allCells.find(cell => cell.day && cell.day.date === targetDate);
|
|
@@ -10318,7 +10367,8 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
10318
10367
|
*/
|
|
10319
10368
|
formatAnnouncementDate(timestamp) {
|
|
10320
10369
|
const date = new Date(parseInt(timestamp, 10) * 1000);
|
|
10321
|
-
const
|
|
10370
|
+
const localeCode = this.locale?.code || undefined;
|
|
10371
|
+
const formatter = new Intl.DateTimeFormat(localeCode, {
|
|
10322
10372
|
weekday: 'long', year: 'numeric', month: 'long', day: 'numeric'
|
|
10323
10373
|
});
|
|
10324
10374
|
return formatter.format(date);
|
|
@@ -14356,7 +14406,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$1 {
|
|
|
14356
14406
|
}
|
|
14357
14407
|
};
|
|
14358
14408
|
|
|
14359
|
-
var formkitVersion$1 = '
|
|
14409
|
+
var formkitVersion$1 = '202605182353';
|
|
14360
14410
|
|
|
14361
14411
|
let AuroElement$2 = class AuroElement extends i$1 {
|
|
14362
14412
|
static get properties() {
|
|
@@ -15277,6 +15327,14 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
15277
15327
|
}
|
|
15278
15328
|
};
|
|
15279
15329
|
this.addEventListener('keydown', this._bibTabHandler);
|
|
15330
|
+
|
|
15331
|
+
// Move initial focus into the bib content, matching FocusTrap behavior
|
|
15332
|
+
requestAnimationFrame(() => {
|
|
15333
|
+
const focusables = getFocusableElements(this.bibContent);
|
|
15334
|
+
if (focusables.length) {
|
|
15335
|
+
focusables[0].focus();
|
|
15336
|
+
}
|
|
15337
|
+
});
|
|
15280
15338
|
} else {
|
|
15281
15339
|
// Normal desktop: use FocusTrap on the bib element
|
|
15282
15340
|
this.focusTrap = new FocusTrap(this.bibContent);
|
|
@@ -22297,7 +22355,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$1 {
|
|
|
22297
22355
|
}
|
|
22298
22356
|
};
|
|
22299
22357
|
|
|
22300
|
-
var formkitVersion = '
|
|
22358
|
+
var formkitVersion = '202605182353';
|
|
22301
22359
|
|
|
22302
22360
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
22303
22361
|
// See LICENSE in the project root for license information.
|
|
@@ -23579,8 +23637,10 @@ const datepickerKeyboardStrategy = {
|
|
|
23579
23637
|
return;
|
|
23580
23638
|
}
|
|
23581
23639
|
|
|
23582
|
-
// Only open from the trigger input, not the clear button or other elements
|
|
23583
|
-
|
|
23640
|
+
// Only open from the trigger input, not the clear button or other slotted elements.
|
|
23641
|
+
// evt.target is retargeted to the host in shadow DOM, so use composedPath() to find the real origin.
|
|
23642
|
+
const path = evt.composedPath();
|
|
23643
|
+
if (path.some(el => el.getAttribute?.('slot')?.includes('clear'))) {
|
|
23584
23644
|
return;
|
|
23585
23645
|
}
|
|
23586
23646
|
|
|
@@ -23594,8 +23654,10 @@ const datepickerKeyboardStrategy = {
|
|
|
23594
23654
|
return;
|
|
23595
23655
|
}
|
|
23596
23656
|
|
|
23597
|
-
// Only open from the trigger input, not the clear button or other elements
|
|
23598
|
-
|
|
23657
|
+
// Only open from the trigger input, not the clear button or other slotted elements.
|
|
23658
|
+
// evt.target is retargeted to the host in shadow DOM, so use composedPath() to find the real origin.
|
|
23659
|
+
const path = evt.composedPath();
|
|
23660
|
+
if (path.some(el => el.getAttribute?.('slot')?.includes('clear'))) {
|
|
23599
23661
|
return;
|
|
23600
23662
|
}
|
|
23601
23663
|
|
|
@@ -25035,9 +25097,13 @@ class AuroDatePicker extends AuroElement {
|
|
|
25035
25097
|
}
|
|
25036
25098
|
|
|
25037
25099
|
if (changedProperties.has('blackoutDates')) {
|
|
25038
|
-
// Force calendar cells to re-render with updated blackout state
|
|
25100
|
+
// Force calendar cells to re-render with updated blackout state.
|
|
25101
|
+
// requestUpdate on the calendar alone is insufficient because cells
|
|
25102
|
+
// don't receive blackoutDates as a bound property. Dispatching the
|
|
25103
|
+
// slot content event triggers handleSlotContent → requestUpdate on each cell.
|
|
25039
25104
|
if (this.calendar) {
|
|
25040
25105
|
this.calendar.requestUpdate();
|
|
25106
|
+
this.dispatchEvent(new CustomEvent('auroDatePicker-newSlotContent'));
|
|
25041
25107
|
}
|
|
25042
25108
|
}
|
|
25043
25109
|
|
|
@@ -180,7 +180,7 @@
|
|
|
180
180
|
<div class="exampleWrapper">
|
|
181
181
|
<!-- AURO-GENERATED-CONTENT:START (FILE:src=./../apiExamples/popover-slot.html) -->
|
|
182
182
|
<!-- The below content is automatically added from ./../apiExamples/popover-slot.html -->
|
|
183
|
-
<auro-datepicker centralDate="12/03/2023" minDate="12/04/2023" maxDate="12/09/2023">
|
|
183
|
+
<auro-datepicker centralDate="12/03/2023" calendarStartDate="12/01/2023" calendarEndDate="12/31/2023" minDate="12/04/2023" maxDate="12/09/2023">
|
|
184
184
|
<span slot="bib.fullscreen.headline">Popover Slot Example</span>
|
|
185
185
|
<span slot="fromLabel">Choose a date</span>
|
|
186
186
|
<span slot="bib.fullscreen.fromLabel">Choose a date</span>
|
|
@@ -205,7 +205,7 @@
|
|
|
205
205
|
<span slot="trigger">See code</span>
|
|
206
206
|
<!-- AURO-GENERATED-CONTENT:START (CODE:src=./../apiExamples/popover-slot.html) -->
|
|
207
207
|
<!-- The below code snippet is automatically added from ./../apiExamples/popover-slot.html -->
|
|
208
|
-
<pre class="language-html"><code class="language-html"><auro-datepicker centralDate="12/03/2023" minDate="12/04/2023" maxDate="12/09/2023">
|
|
208
|
+
<pre class="language-html"><code class="language-html"><auro-datepicker centralDate="12/03/2023" calendarStartDate="12/01/2023" calendarEndDate="12/31/2023" minDate="12/04/2023" maxDate="12/09/2023">
|
|
209
209
|
<span slot="bib.fullscreen.headline">Popover Slot Example</span>
|
|
210
210
|
<span slot="fromLabel">Choose a date</span>
|
|
211
211
|
<span slot="bib.fullscreen.fromLabel">Choose a date</span>
|