@aurodesignsystem-dev/auro-formkit 0.0.0-pr1483.5 → 0.0.0-pr1483.6

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.
Files changed (46) hide show
  1. package/components/checkbox/demo/customize.min.js +1 -1
  2. package/components/checkbox/demo/getting-started.min.js +1 -1
  3. package/components/checkbox/demo/index.min.js +1 -1
  4. package/components/checkbox/dist/index.js +1 -1
  5. package/components/checkbox/dist/registered.js +1 -1
  6. package/components/combobox/demo/customize.min.js +3 -3
  7. package/components/combobox/demo/getting-started.min.js +3 -3
  8. package/components/combobox/demo/index.min.js +3 -3
  9. package/components/combobox/dist/index.js +3 -3
  10. package/components/combobox/dist/registered.js +3 -3
  11. package/components/counter/demo/customize.min.js +2 -2
  12. package/components/counter/demo/index.min.js +2 -2
  13. package/components/counter/dist/index.js +1 -1
  14. package/components/counter/dist/registered.js +1 -1
  15. package/components/datepicker/demo/api.md +52 -52
  16. package/components/datepicker/demo/index.min.js +138 -61
  17. package/components/datepicker/dist/index.js +138 -61
  18. package/components/datepicker/dist/registered.js +138 -61
  19. package/components/datepicker/dist/src/auro-calendar-cell.d.ts +3 -1
  20. package/components/datepicker/dist/src/auro-calendar-month.d.ts +23 -0
  21. package/components/datepicker/dist/src/auro-calendar.d.ts +13 -0
  22. package/components/datepicker/dist/src/auro-datepicker.d.ts +11 -3
  23. package/components/dropdown/demo/customize.min.js +1 -1
  24. package/components/dropdown/demo/getting-started.min.js +1 -1
  25. package/components/dropdown/demo/index.min.js +1 -1
  26. package/components/dropdown/dist/index.js +1 -1
  27. package/components/dropdown/dist/registered.js +1 -1
  28. package/components/form/demo/customize.min.js +154 -77
  29. package/components/form/demo/getting-started.min.js +154 -77
  30. package/components/form/demo/index.min.js +154 -77
  31. package/components/form/demo/registerDemoDeps.min.js +154 -77
  32. package/components/input/demo/customize.min.js +1 -1
  33. package/components/input/demo/getting-started.min.js +1 -1
  34. package/components/input/demo/index.min.js +1 -1
  35. package/components/input/dist/index.js +1 -1
  36. package/components/input/dist/registered.js +1 -1
  37. package/components/radio/demo/index.min.js +1 -1
  38. package/components/radio/dist/index.js +1 -1
  39. package/components/radio/dist/registered.js +1 -1
  40. package/components/select/demo/customize.min.js +2 -2
  41. package/components/select/demo/getting-started.min.js +2 -2
  42. package/components/select/demo/index.min.js +2 -2
  43. package/components/select/dist/index.js +2 -2
  44. package/components/select/dist/registered.js +2 -2
  45. package/custom-elements.json +403 -332
  46. package/package.json +1 -1
@@ -1373,7 +1373,7 @@ function normalizeDates$1(context, ...dates) {
1373
1373
  * const result = startOfDay(new Date(2014, 8, 2, 11, 55, 0))
1374
1374
  * //=> Tue Sep 02 2014 00:00:00
1375
1375
  */
1376
- function startOfDay$1(date, options) {
1376
+ function startOfDay$2(date, options) {
1377
1377
  const _date = toDate$1(date, options?.in);
1378
1378
  _date.setHours(0, 0, 0, 0);
1379
1379
  return _date;
@@ -1421,8 +1421,8 @@ function differenceInCalendarDays$1(laterDate, earlierDate, options) {
1421
1421
  earlierDate,
1422
1422
  );
1423
1423
 
1424
- const laterStartOfDay = startOfDay$1(laterDate_);
1425
- const earlierStartOfDay = startOfDay$1(earlierDate_);
1424
+ const laterStartOfDay = startOfDay$2(laterDate_);
1425
+ const earlierStartOfDay = startOfDay$2(earlierDate_);
1426
1426
 
1427
1427
  const laterTimestamp =
1428
1428
  +laterStartOfDay - getTimezoneOffsetInMilliseconds$1(laterStartOfDay);
@@ -10816,6 +10816,7 @@ class UtilitiesCalendarRender {
10816
10816
  .dateTo="${elem.dateTo}"
10817
10817
  .dateFrom="${elem.dateFrom}"
10818
10818
  .locale="${elem.locale}"
10819
+ .localeCode="${elem.localeCode}"
10819
10820
  .monthNames="${elem.monthNames}"
10820
10821
  month="${month}"
10821
10822
  year="${year}"
@@ -10946,8 +10947,8 @@ class RangeDatepickerCell extends i$1 {
10946
10947
  const parsedDateFrom = parseInt(dateFrom, 10);
10947
10948
  const parsedDateTo = parseInt(dateTo, 10);
10948
10949
  if (day) {
10949
- if (getTime(startOfDay$1(parsedDateTo * 1000)) / 1000 === day.date ||
10950
- getTime(startOfDay$1(parsedDateFrom * 1000)) / 1000 === day.date) {
10950
+ if (getTime(startOfDay$2(parsedDateTo * 1000)) / 1000 === day.date ||
10951
+ getTime(startOfDay$2(parsedDateFrom * 1000)) / 1000 === day.date) {
10951
10952
  this.selected = true;
10952
10953
  }
10953
10954
  if (((hoveredDate === day.date || day.date < hoveredDate) &&
@@ -11135,7 +11136,7 @@ class RangeDatepickerCalendar extends i$1 {
11135
11136
  this.dayNamesOfTheWeek = [];
11136
11137
  this.daysOfMonth = [];
11137
11138
  this._locale = null;
11138
- this.currentDate = parseInt(format$1(startOfDay$1(Date.now()), 't'), 10);
11139
+ this.currentDate = parseInt(format$1(startOfDay$2(Date.now()), 't'), 10);
11139
11140
  this.localeChanged();
11140
11141
  this.yearAndMonthChanged(this.year, this.month);
11141
11142
  }
@@ -11629,6 +11630,12 @@ let s$2 = class s{registerComponent(e,t){customElements.get(e)||customElements.d
11629
11630
 
11630
11631
  var popoverVersion = '6.0.1';
11631
11632
 
11633
+ const startOfDay$1 = (ms) => {
11634
+ const date = new Date(ms);
11635
+ date.setHours(0, 0, 0, 0);
11636
+ return date.getTime();
11637
+ };
11638
+
11632
11639
  /* eslint-disable curly, max-lines, no-underscore-dangle, no-magic-numbers, no-underscore-dangle, max-params, no-void, init-declarations, no-extra-parens, arrow-parens, max-lines, line-comment-position, no-inline-comments, lit/binding-positions, lit/no-invalid-html */
11633
11640
 
11634
11641
  class AuroCalendarCell extends i$1 {
@@ -11681,14 +11688,14 @@ class AuroCalendarCell extends i$1 {
11681
11688
  disabledDays: { type: Array },
11682
11689
  hoveredDate: { type: String },
11683
11690
  isCurrentDate: { type: Boolean },
11684
- locale: { type: Object },
11691
+ locale: { type: String },
11685
11692
  dateStr: { type: String },
11686
11693
  renderForDateSlot: { type: Boolean }
11687
11694
  };
11688
11695
  }
11689
11696
 
11690
11697
  get locale() {
11691
- return this._locale ? this._locale : enUS$1;
11698
+ return this._locale || 'en-US';
11692
11699
  }
11693
11700
 
11694
11701
  set locale(value) {
@@ -11882,9 +11889,16 @@ class AuroCalendarCell extends i$1 {
11882
11889
  if (date === undefined) {
11883
11890
  return '';
11884
11891
  }
11885
- return format$1(date * 1000, 'PPPP', {
11886
- locale: this.locale,
11887
- });
11892
+ if (!this._titleFormatter || this._titleFormatterLocale !== this.locale) {
11893
+ this._titleFormatter = new Intl.DateTimeFormat(this.locale, {
11894
+ weekday: 'long',
11895
+ year: 'numeric',
11896
+ month: 'long',
11897
+ day: 'numeric'
11898
+ });
11899
+ this._titleFormatterLocale = this.locale;
11900
+ }
11901
+ return this._titleFormatter.format(new Date(date * 1000));
11888
11902
  }
11889
11903
 
11890
11904
  /**
@@ -12027,10 +12041,43 @@ if (!customElements.get('auro-formkit-calendar-cell')) {
12027
12041
  customElements.define('auro-formkit-calendar-cell', AuroCalendarCell);
12028
12042
  }
12029
12043
 
12044
+ /* eslint-disable no-underscore-dangle */
12045
+
12030
12046
  // See https://git.io/JJ6SJ for "How to document your components using JSDoc"
12031
12047
 
12032
12048
  /* eslint-disable no-magic-numbers, dot-location */
12033
12049
 
12050
+
12051
+ const getMonthNamesFromLocale = (locale) => {
12052
+ const fmt = new Intl.DateTimeFormat(locale, {
12053
+ month: 'long',
12054
+ timeZone: 'UTC'
12055
+ });
12056
+ // eslint-disable-next-line id-length
12057
+ return Array.from({ length: 12 }, (_, i) => fmt.format(Date.UTC(2000, i, 1)));
12058
+ };
12059
+
12060
+ /**
12061
+ * Generates the localized narrow names for each day of the week, starting from Sunday.
12062
+ * Uses UTC dates to avoid DST-related day drift across timezones.
12063
+ * @private
12064
+ * @param {String} locale - The BCP 47 language tag for localization (e.g. "en-US").
12065
+ * @returns {Array} An array of seven localized narrow weekday names, starting from Sunday.
12066
+ */
12067
+ const getWeekdayNames = (locale) => {
12068
+ const fmt = new Intl.DateTimeFormat(locale, {
12069
+ weekday: 'narrow',
12070
+ timeZone: 'UTC'
12071
+ });
12072
+ // Jan 5 2025 is a known Sunday; use Date.UTC to avoid DST-related day drift
12073
+ const allDays = [];
12074
+ for (let day = 0; day < 7; day += 1) {
12075
+ allDays.push(fmt.format(Date.UTC(2025, 0, 5 + day)));
12076
+ }
12077
+ return allDays;
12078
+ };
12079
+
12080
+
12034
12081
  class AuroCalendarMonth extends RangeDatepickerCalendar {
12035
12082
  static get styles() {
12036
12083
  return [
@@ -12050,6 +12097,21 @@ class AuroCalendarMonth extends RangeDatepickerCalendar {
12050
12097
  monthFirst: {
12051
12098
  type: Boolean,
12052
12099
  reflect: true
12100
+ },
12101
+
12102
+ /**
12103
+ * BCP 47 locale tag (such as `en-US`) for calendar localization.
12104
+ * as wc-range-datepicker expects a `locale` prop, we use `localeCode` to avoid conflicts.
12105
+ */
12106
+ localeCode: {
12107
+ type: String
12108
+ },
12109
+
12110
+ /**
12111
+ * Names of all 12 months. When omitted, names are derived from `localeCode`.
12112
+ */
12113
+ monthNames: {
12114
+ type: Array
12053
12115
  }
12054
12116
  };
12055
12117
  }
@@ -12083,29 +12145,33 @@ class AuroCalendarMonth extends RangeDatepickerCalendar {
12083
12145
  * @returns {String} The name of the month.
12084
12146
  */
12085
12147
  computeCurrentMonthName(month) {
12086
- return this.monthNames[month - 1];
12148
+ if (this.monthNames?.[month - 1]) {
12149
+ return this.monthNames[month - 1];
12150
+ }
12151
+ if (!this._cachedMonthNames || this._cachedMonthNamesLocale !== this.localeCode) {
12152
+ this._cachedMonthNames = getMonthNamesFromLocale(this.localeCode);
12153
+ this._cachedMonthNamesLocale = this.localeCode;
12154
+ }
12155
+ return this._cachedMonthNames[month - 1] || '';
12087
12156
  }
12088
12157
 
12089
12158
  /**
12090
12159
  * Determines the current month name based on locale.
12091
12160
  * This is a rewrite of the function used in the class RangeDatepickerCalendar and should not be removed from here.
12092
12161
  * @private
12162
+ * @param {Object} changedProperties - The properties that have changed since the last update.
12093
12163
  * @returns {void}
12094
12164
  */
12095
- localeChanged() {
12096
- const dayNamesOfTheWeek = [];
12097
- for (let int = 0; int < 7; int += 1) {
12098
- dayNamesOfTheWeek.push(this.locale.localize.day(int, { width: 'narrow' }));
12165
+ updated(changedProperties) {
12166
+ super.updated(changedProperties);
12167
+ if (changedProperties.has('localeCode')) {
12168
+ this.localeChanged();
12099
12169
  }
12100
- const firstDayOfWeek = this.locale.options.weekStartsOn
12101
- ? this.locale.options.weekStartsOn
12102
- : 0;
12103
- const tmp = dayNamesOfTheWeek.slice().splice(0, firstDayOfWeek);
12104
- const newDayNamesOfTheWeek = dayNamesOfTheWeek
12105
- .slice()
12106
- .splice(firstDayOfWeek, dayNamesOfTheWeek.length)
12107
- .concat(tmp);
12108
- this.dayNamesOfTheWeek = newDayNamesOfTheWeek;
12170
+ }
12171
+
12172
+ localeChanged() {
12173
+ // Week always starts on Sunday; use Intl-derived names directly without rotation
12174
+ this.dayNamesOfTheWeek = getWeekdayNames(this.localeCode);
12109
12175
  }
12110
12176
 
12111
12177
  renderDay(day) {
@@ -12121,7 +12187,7 @@ class AuroCalendarMonth extends RangeDatepickerCalendar {
12121
12187
  .hoveredDate="${this.hoveredDate}"
12122
12188
  .dateTo="${this.dateTo}"
12123
12189
  .dateFrom="${this.dateFrom}"
12124
- .locale="${this.locale}"
12190
+ .locale="${this.localeCode}"
12125
12191
  .day="${day}"
12126
12192
  ?isCurrentDate="${this.isCurrentDate(day)}"
12127
12193
  @date-is-selected="${this.handleDateSelected}"
@@ -12976,7 +13042,7 @@ class AuroBibtemplate extends i$1 {
12976
13042
  }
12977
13043
  }
12978
13044
 
12979
- var formkitVersion$2 = '202606031858';
13045
+ var formkitVersion$2 = '202606041922';
12980
13046
 
12981
13047
  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}
12982
13048
  `,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}}
@@ -13231,6 +13297,21 @@ class AuroCalendar extends RangeDatepicker {
13231
13297
  visible: {
13232
13298
  type: Boolean,
13233
13299
  reflect: false
13300
+ },
13301
+
13302
+ /**
13303
+ * BCP 47 locale tag (such as `en-US`) for calendar localization.
13304
+ * as wc-range-datepicker expects a `locale` prop, we use `localeCode` to avoid conflicts and pass the locale down to calendar-month elements.
13305
+ */
13306
+ localeCode: {
13307
+ type: String
13308
+ },
13309
+
13310
+ /**
13311
+ * Names of all 12 months. When omitted, names are derived from `localeCode`.
13312
+ */
13313
+ monthNames: {
13314
+ type: Array
13234
13315
  }
13235
13316
  };
13236
13317
  }
@@ -17364,7 +17445,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$1 {
17364
17445
  }
17365
17446
  };
17366
17447
 
17367
- var formkitVersion$1 = '202606031858';
17448
+ var formkitVersion$1 = '202606041922';
17368
17449
 
17369
17450
  let AuroElement$2 = class AuroElement extends i$1 {
17370
17451
  static get properties() {
@@ -30622,7 +30703,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$1 {
30622
30703
  }
30623
30704
  };
30624
30705
 
30625
- var formkitVersion = '202606031858';
30706
+ var formkitVersion = '202606041922';
30626
30707
 
30627
30708
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
30628
30709
  // See LICENSE in the project root for license information.
@@ -32069,21 +32150,7 @@ class AuroDatePicker extends AuroElement {
32069
32150
  this.calendarEndDate = undefined;
32070
32151
  this.calendarFocusDate = this.value;
32071
32152
  this.fullscreenBreakpoint = 'sm';
32072
- this.monthNames = [
32073
- 'January',
32074
- 'February',
32075
- 'March',
32076
- 'April',
32077
- 'May',
32078
- 'June',
32079
- 'July',
32080
- 'August',
32081
- 'September',
32082
- 'October',
32083
- 'November',
32084
- 'December'
32085
- ];
32086
-
32153
+ this._validLocale = 'en-US';
32087
32154
  // floaterConfig
32088
32155
  this.placement = 'bottom-start';
32089
32156
  this.offset = 0;
@@ -32354,7 +32421,8 @@ class AuroDatePicker extends AuroElement {
32354
32421
  },
32355
32422
 
32356
32423
  /**
32357
- * Names of all 12 months to render in the calendar, used for localization of date string in mobile layout.
32424
+ * Names of all 12 months to render in the calendar.
32425
+ * When omitted, month names will be automatically populated from the active `locale` (falling back to `en-US`).
32358
32426
  */
32359
32427
  monthNames: {
32360
32428
  type: Array
@@ -33211,16 +33279,32 @@ class AuroDatePicker extends AuroElement {
33211
33279
  return this.validity !== undefined && this.validity !== 'valid';
33212
33280
  }
33213
33281
 
33214
- updated(changedProperties) {
33282
+ /**
33283
+ * lifecycle method to check if the locale is valid.
33284
+ * @ignore
33285
+ * @param {Map} changedProperties - The map of properties that have changed since the last update.
33286
+ * @returns {void}
33287
+ */
33288
+ willUpdate(changedProperties) {
33215
33289
  if (changedProperties.has('locale')) {
33216
- if (!changedProperties.has('format')) {
33217
- const previousLocaleFormat = getDateFormatFromLocale$1(changedProperties.get('locale'));
33218
- if (!this.format || this.format.toLowerCase() === previousLocaleFormat) {
33219
- this.format = getDateFormatFromLocale$1(this.locale);
33220
- }
33290
+ try {
33291
+ // eslint-disable-next-line no-new
33292
+ new Intl.DateTimeFormat(this.locale);
33293
+ this._validLocale = this.locale;
33294
+ } catch {
33295
+ this._validLocale = 'en-US';
33296
+ }
33297
+
33298
+ // if there was not an explicit format set, or the format set matches the previous locale's default format,
33299
+ // update to the new locale's default format
33300
+ const previousLocaleFormat = getDateFormatFromLocale$1(changedProperties.get('locale'));
33301
+ if (!changedProperties.has('format') && (!this.format || this.format.toLowerCase() === previousLocaleFormat)) {
33302
+ this.format = getDateFormatFromLocale$1(this._validLocale);
33221
33303
  }
33222
33304
  }
33305
+ }
33223
33306
 
33307
+ updated(changedProperties) {
33224
33308
  if (changedProperties.has('disabled')) {
33225
33309
  if (this.disabled) {
33226
33310
  this.previousTabIndex = this.getAttribute('tabindex');
@@ -33464,14 +33548,6 @@ class AuroDatePicker extends AuroElement {
33464
33548
  super.connectedCallback();
33465
33549
 
33466
33550
  this.locale = this.domHandler.getLocale(this);
33467
-
33468
- // Derive format eagerly so the first render has a valid format.
33469
- // updated() handles locale changes after the initial render, but runs
33470
- // after render(), so without this a preset value would briefly display
33471
- // as a raw ISO string in the fullscreen bib.
33472
- if (!this.format) {
33473
- this.format = getDateFormatFromLocale$1(this.locale);
33474
- }
33475
33551
  }
33476
33552
 
33477
33553
  // layout render methods
@@ -33651,7 +33727,7 @@ class AuroDatePicker extends AuroElement {
33651
33727
  ?required="${this.required}"
33652
33728
  ?hideLabelVisually="${this.layout !== 'classic'}"
33653
33729
  format="${this.format}"
33654
- locale="${this.locale}"
33730
+ locale="${this._validLocale}"
33655
33731
  .max="${this.maxDate}"
33656
33732
  .min="${this.minDate}"
33657
33733
  .placeholder="${this.placeholder}"
@@ -33696,7 +33772,7 @@ class AuroDatePicker extends AuroElement {
33696
33772
  ?required="${this.required}"
33697
33773
  ?hideLabelVisually="${this.layout !== 'classic'}"
33698
33774
  .format="${this.format}"
33699
- locale="${this.locale}"
33775
+ locale="${this._validLocale}"
33700
33776
  .max="${this.maxDate}"
33701
33777
  .min="${this.minDate}"
33702
33778
  .placeholder="${this.placeholderEndDate || this.placeholder}"
@@ -33863,6 +33939,7 @@ class AuroDatePicker extends AuroElement {
33863
33939
  .maxDate="${this.maxDate}"
33864
33940
  .minDate="${this.minDate}"
33865
33941
  .monthNames="${this.monthNames}"
33942
+ .localeCode="${this._validLocale}"
33866
33943
  .mobileBreakpoint="${this.mobileBreakpoint}"
33867
33944
  part="calendar"
33868
33945
  >