@aurodesignsystem-dev/auro-formkit 0.0.0-pr1519.1 → 0.0.0-pr1520.0

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 (47) hide show
  1. package/components/checkbox/demo/customize.min.js +2 -15
  2. package/components/checkbox/demo/getting-started.min.js +2 -15
  3. package/components/checkbox/demo/index.min.js +2 -15
  4. package/components/checkbox/dist/index.js +2 -15
  5. package/components/checkbox/dist/registered.js +2 -15
  6. package/components/combobox/demo/customize.min.js +10 -105
  7. package/components/combobox/demo/getting-started.min.js +10 -105
  8. package/components/combobox/demo/index.min.js +10 -105
  9. package/components/combobox/dist/index.js +10 -105
  10. package/components/combobox/dist/registered.js +10 -105
  11. package/components/counter/demo/customize.min.js +3 -33
  12. package/components/counter/demo/index.min.js +3 -33
  13. package/components/counter/dist/index.js +3 -33
  14. package/components/counter/dist/registered.js +3 -33
  15. package/components/datepicker/demo/customize.min.js +13 -153
  16. package/components/datepicker/demo/index.min.js +13 -153
  17. package/components/datepicker/dist/index.js +13 -153
  18. package/components/datepicker/dist/registered.js +13 -153
  19. package/components/dropdown/demo/customize.min.js +1 -18
  20. package/components/dropdown/demo/getting-started.min.js +1 -18
  21. package/components/dropdown/demo/index.min.js +1 -18
  22. package/components/dropdown/dist/index.js +1 -18
  23. package/components/dropdown/dist/registered.js +1 -18
  24. package/components/form/demo/customize.min.js +40 -426
  25. package/components/form/demo/getting-started.min.js +40 -426
  26. package/components/form/demo/index.min.js +40 -426
  27. package/components/form/demo/registerDemoDeps.min.js +40 -426
  28. package/components/input/demo/api.md +57 -58
  29. package/components/input/demo/customize.min.js +7 -72
  30. package/components/input/demo/getting-started.min.js +7 -72
  31. package/components/input/demo/index.min.js +7 -72
  32. package/components/input/dist/base-input.d.ts +3 -9
  33. package/components/input/dist/index.js +7 -72
  34. package/components/input/dist/registered.js +7 -72
  35. package/components/input/dist/utilities.d.ts +0 -9
  36. package/components/radio/demo/customize.min.js +2 -15
  37. package/components/radio/demo/getting-started.min.js +2 -15
  38. package/components/radio/demo/index.min.js +2 -15
  39. package/components/radio/dist/index.js +2 -15
  40. package/components/radio/dist/registered.js +2 -15
  41. package/components/select/demo/customize.min.js +3 -33
  42. package/components/select/demo/getting-started.min.js +3 -33
  43. package/components/select/demo/index.min.js +3 -33
  44. package/components/select/dist/index.js +3 -33
  45. package/components/select/dist/registered.js +3 -33
  46. package/custom-elements.json +8 -78
  47. package/package.json +1 -1
@@ -402,21 +402,8 @@ let AuroFormValidation$1 = class AuroFormValidation {
402
402
  return;
403
403
  }
404
404
 
405
- // Validate that the date passed was the correct format and is a valid date.
406
- // For partial date formats, valueObject is never populated; validate them directly.
405
+ // Validate that the date passed was the correct format and is a valid date
407
406
  if (elem.value && !elem.valueObject) {
408
- const isPartialDateFormat = elem.util && !elem.util.isFullDateFormat(elem.type, elem.format);
409
-
410
- if (isPartialDateFormat) {
411
- if (!elem.util.isValidPartialDate(elem.value, elem.format)) {
412
- elem.validity = 'patternMismatch';
413
- elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
414
- }
415
- // Partial date format — validate directly and skip max/min checks since valueObject is undefined.
416
- return;
417
- }
418
-
419
- // Full date format with no valueObject means the value is not a valid calendar date.
420
407
  elem.validity = 'patternMismatch';
421
408
  elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
422
409
  return;
@@ -4894,7 +4881,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$3 {
4894
4881
  }
4895
4882
  };
4896
4883
 
4897
- var formkitVersion$2 = '202607011914';
4884
+ var formkitVersion$2 = '202607011727';
4898
4885
 
4899
4886
  let AuroElement$2 = class AuroElement extends i$3 {
4900
4887
  static get properties() {
@@ -5646,23 +5633,6 @@ class AuroDropdown extends AuroElement$2 {
5646
5633
  if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
5647
5634
  this.trigger.focus();
5648
5635
  }
5649
-
5650
-
5651
- if (!this.isPopoverVisible) {
5652
- // wait til the bib gets fully closed and rendered
5653
- setTimeout(() => {
5654
- // Skip if the bib re-opened, or if focus moved intentionally outside the dropdown (not to body).
5655
- // Restore focus to trigger when focus is still inside the bib (:focus-within) or fell to body.
5656
- if (this.isPopoverVisible ||
5657
- // eslint-disable-next-line no-extra-parens
5658
- (!this.bibContent?.matches(':focus-within') &&
5659
- document.activeElement !== document.body)) {
5660
- return;
5661
- }
5662
- // Restore focus to the trigger.
5663
- this.trigger.focus();
5664
- });
5665
- }
5666
5636
  }
5667
5637
 
5668
5638
  firstUpdated() {
@@ -10595,21 +10565,8 @@ class AuroFormValidation {
10595
10565
  return;
10596
10566
  }
10597
10567
 
10598
- // Validate that the date passed was the correct format and is a valid date.
10599
- // For partial date formats, valueObject is never populated; validate them directly.
10568
+ // Validate that the date passed was the correct format and is a valid date
10600
10569
  if (elem.value && !elem.valueObject) {
10601
- const isPartialDateFormat = elem.util && !elem.util.isFullDateFormat(elem.type, elem.format);
10602
-
10603
- if (isPartialDateFormat) {
10604
- if (!elem.util.isValidPartialDate(elem.value, elem.format)) {
10605
- elem.validity = 'patternMismatch';
10606
- elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
10607
- }
10608
- // Partial date format — validate directly and skip max/min checks since valueObject is undefined.
10609
- return;
10610
- }
10611
-
10612
- // Full date format with no valueObject means the value is not a valid calendar date.
10613
10570
  elem.validity = 'patternMismatch';
10614
10571
  elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
10615
10572
  return;
@@ -16539,11 +16496,10 @@ class AuroInputUtilities {
16539
16496
  const dateFormat = format$1 || this.overrideFormat || pattern || 'mm/dd/yyyy';
16540
16497
 
16541
16498
  if (dateFormat === 'dd' || dateFormat === 'yy' || dateFormat === 'yyyy') {
16542
- const fromValue = dateFormat === 'yyyy' ? 1900 : (dateFormat === 'yy' ? 0 : 1);
16543
- const maxValue = dateFormat === 'dd' ? 31 : (dateFormat === 'yy' ? 99 : 2100);
16499
+ const maxValue = dateFormat === 'dd' ? 31 : (dateFormat === 'yy' ? 99 : 9999);
16544
16500
  return {
16545
16501
  mask: IMask.MaskedRange,
16546
- from: fromValue,
16502
+ from: 1,
16547
16503
  to: maxValue,
16548
16504
  lazy: true,
16549
16505
  placeholderChar: '',
@@ -16551,8 +16507,7 @@ class AuroInputUtilities {
16551
16507
  return value.toString().padStart(dateFormat.length, '0');
16552
16508
  },
16553
16509
  parse(str) {
16554
- const num = parseInt(str, 10);
16555
- return isNaN(num) ? null : num;
16510
+ return parseInt(str) || null;
16556
16511
  }
16557
16512
  };
16558
16513
  }
@@ -16616,49 +16571,6 @@ class AuroInputUtilities {
16616
16571
  return type === 'date' && normalizedFormat.includes('yy') && normalizedFormat.includes('mm') && normalizedFormat.includes('dd');
16617
16572
  }
16618
16573
 
16619
- /**
16620
- * Validates a value against a partial date format (one that lacks yy/mm/dd all three).
16621
- * Day- and year-only formats (dd/yy/yyyy) are checked as integer ranges; other partial formats use
16622
- * a date-fns parse + round-trip to confirm both validity and exact formatting.
16623
- * @param {string} value - The user-facing display value.
16624
- * @param {string} format - The partial date format string (e.g. "mm/yyyy", "yyyy", "dd").
16625
- * @returns {boolean}
16626
- */
16627
- isValidPartialDate(value, format$1) {
16628
- if (!value || !format$1) {
16629
- return false;
16630
- }
16631
- const normalizedFormat = format$1.toLowerCase();
16632
-
16633
- if (normalizedFormat === 'dd') {
16634
- const num = Number(value);
16635
- return (/^\d{2}$/u).test(value) && num >= 1 && num <= 31;
16636
- }
16637
- if (normalizedFormat === 'yy') {
16638
- const num = Number(value);
16639
- return (/^\d{2}$/u).test(value) && num >= 0 && num <= 99;
16640
- }
16641
- if (normalizedFormat === 'yyyy') {
16642
- const num = Number(value);
16643
- return (/^\d{4}$/u).test(value) && num >= 1900 && num <= 2100;
16644
- }
16645
-
16646
- const dateFnsMask = this.toDateFnsMask(normalizedFormat);
16647
- // Use the 1st of the current month as the reference so that formats
16648
- // omitting a day (e.g. MM/yyyy) never roll over on days 29–31.
16649
- const referenceDate = new Date();
16650
- referenceDate.setDate(1);
16651
- const parsed = parse(value, dateFnsMask, referenceDate);
16652
- if (!isValid(parsed) || format(parsed, dateFnsMask) !== value) {
16653
- return false;
16654
- }
16655
- if (normalizedFormat.includes('yyyy')) {
16656
- const year = parsed.getFullYear();
16657
- return year >= 1900 && year <= 2100;
16658
- }
16659
- return true;
16660
- }
16661
-
16662
16574
  /**
16663
16575
  * Converts a display string to its model value.
16664
16576
  * For full date formats, converts the display string to an ISO date string.
@@ -17278,13 +17190,6 @@ class BaseInput extends AuroElement$1 {
17278
17190
  type: String
17279
17191
  },
17280
17192
 
17281
- /**
17282
- * Custom help text message to display when validity = `patternMismatch`.
17283
- */
17284
- setCustomValidityPatternMismatch: {
17285
- type: String
17286
- },
17287
-
17288
17193
  /**
17289
17194
  * Custom help text message to display when validity = `rangeOverflow`.
17290
17195
  */
@@ -17355,7 +17260,7 @@ class BaseInput extends AuroElement$1 {
17355
17260
 
17356
17261
  /**
17357
17262
  * Populates the `type` attribute on the input.
17358
- * @type {'text' | 'password' | 'email' | 'credit-card' | 'tel' | 'number' | 'date'}
17263
+ * @type {'text' | 'password' | 'email' | 'credit-card' | 'tel' | 'number'}
17359
17264
  * @default 'text'
17360
17265
  */
17361
17266
  type: {
@@ -17380,7 +17285,7 @@ class BaseInput extends AuroElement$1 {
17380
17285
 
17381
17286
  /**
17382
17287
  * Populates the `value` attribute on the input. Can also be read to retrieve the current value of the input.
17383
- * For `date` type inputs using a full date format (year/month/day), the `value` should be ISO (YYYY-MM-DD). Partial date formats use the display format.
17288
+ * The format for this property should be ISO for `date` type inputs.
17384
17289
  */
17385
17290
  value: {
17386
17291
  type: String
@@ -18503,7 +18408,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$3 {
18503
18408
  }
18504
18409
  };
18505
18410
 
18506
- var formkitVersion$1 = '202607011914';
18411
+ var formkitVersion$1 = '202607011727';
18507
18412
 
18508
18413
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
18509
18414
  // See LICENSE in the project root for license information.
@@ -19629,7 +19534,7 @@ class AuroBibtemplate extends i$3 {
19629
19534
  }
19630
19535
  }
19631
19536
 
19632
- var formkitVersion = '202607011914';
19537
+ var formkitVersion = '202607011727';
19633
19538
 
19634
19539
  var styleCss$3 = i$6`.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock{display:block}.util_displayFlex{display:flex}.util_displayHidden{display:none}.util_displayHiddenVisually{position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}:host{display:block;text-align:left}:host [auro-dropdown]{--ds-auro-dropdown-trigger-background-color: transparent}:host #inputInBib::part(wrapper){box-shadow:none}:host #inputInBib::part(accent-left){display:none}:host([layout*=classic]) [auro-input]{width:100%}:host([layout*=classic]) [auro-input]::part(helpText){display:none}:host([layout*=classic]) #slotHolder{display:none}`;
19635
19540
 
@@ -350,21 +350,8 @@ let AuroFormValidation$1 = class AuroFormValidation {
350
350
  return;
351
351
  }
352
352
 
353
- // Validate that the date passed was the correct format and is a valid date.
354
- // For partial date formats, valueObject is never populated; validate them directly.
353
+ // Validate that the date passed was the correct format and is a valid date
355
354
  if (elem.value && !elem.valueObject) {
356
- const isPartialDateFormat = elem.util && !elem.util.isFullDateFormat(elem.type, elem.format);
357
-
358
- if (isPartialDateFormat) {
359
- if (!elem.util.isValidPartialDate(elem.value, elem.format)) {
360
- elem.validity = 'patternMismatch';
361
- elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
362
- }
363
- // Partial date format — validate directly and skip max/min checks since valueObject is undefined.
364
- return;
365
- }
366
-
367
- // Full date format with no valueObject means the value is not a valid calendar date.
368
355
  elem.validity = 'patternMismatch';
369
356
  elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
370
357
  return;
@@ -4812,7 +4799,7 @@ let AuroHelpText$2 = class AuroHelpText extends LitElement {
4812
4799
  }
4813
4800
  };
4814
4801
 
4815
- var formkitVersion$2 = '202607011914';
4802
+ var formkitVersion$2 = '202607011727';
4816
4803
 
4817
4804
  let AuroElement$2 = class AuroElement extends LitElement {
4818
4805
  static get properties() {
@@ -5564,23 +5551,6 @@ class AuroDropdown extends AuroElement$2 {
5564
5551
  if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
5565
5552
  this.trigger.focus();
5566
5553
  }
5567
-
5568
-
5569
- if (!this.isPopoverVisible) {
5570
- // wait til the bib gets fully closed and rendered
5571
- setTimeout(() => {
5572
- // Skip if the bib re-opened, or if focus moved intentionally outside the dropdown (not to body).
5573
- // Restore focus to trigger when focus is still inside the bib (:focus-within) or fell to body.
5574
- if (this.isPopoverVisible ||
5575
- // eslint-disable-next-line no-extra-parens
5576
- (!this.bibContent?.matches(':focus-within') &&
5577
- document.activeElement !== document.body)) {
5578
- return;
5579
- }
5580
- // Restore focus to the trigger.
5581
- this.trigger.focus();
5582
- });
5583
- }
5584
5554
  }
5585
5555
 
5586
5556
  firstUpdated() {
@@ -10506,21 +10476,8 @@ class AuroFormValidation {
10506
10476
  return;
10507
10477
  }
10508
10478
 
10509
- // Validate that the date passed was the correct format and is a valid date.
10510
- // For partial date formats, valueObject is never populated; validate them directly.
10479
+ // Validate that the date passed was the correct format and is a valid date
10511
10480
  if (elem.value && !elem.valueObject) {
10512
- const isPartialDateFormat = elem.util && !elem.util.isFullDateFormat(elem.type, elem.format);
10513
-
10514
- if (isPartialDateFormat) {
10515
- if (!elem.util.isValidPartialDate(elem.value, elem.format)) {
10516
- elem.validity = 'patternMismatch';
10517
- elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
10518
- }
10519
- // Partial date format — validate directly and skip max/min checks since valueObject is undefined.
10520
- return;
10521
- }
10522
-
10523
- // Full date format with no valueObject means the value is not a valid calendar date.
10524
10481
  elem.validity = 'patternMismatch';
10525
10482
  elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
10526
10483
  return;
@@ -16450,11 +16407,10 @@ class AuroInputUtilities {
16450
16407
  const dateFormat = format$1 || this.overrideFormat || pattern || 'mm/dd/yyyy';
16451
16408
 
16452
16409
  if (dateFormat === 'dd' || dateFormat === 'yy' || dateFormat === 'yyyy') {
16453
- const fromValue = dateFormat === 'yyyy' ? 1900 : (dateFormat === 'yy' ? 0 : 1);
16454
- const maxValue = dateFormat === 'dd' ? 31 : (dateFormat === 'yy' ? 99 : 2100);
16410
+ const maxValue = dateFormat === 'dd' ? 31 : (dateFormat === 'yy' ? 99 : 9999);
16455
16411
  return {
16456
16412
  mask: IMask.MaskedRange,
16457
- from: fromValue,
16413
+ from: 1,
16458
16414
  to: maxValue,
16459
16415
  lazy: true,
16460
16416
  placeholderChar: '',
@@ -16462,8 +16418,7 @@ class AuroInputUtilities {
16462
16418
  return value.toString().padStart(dateFormat.length, '0');
16463
16419
  },
16464
16420
  parse(str) {
16465
- const num = parseInt(str, 10);
16466
- return isNaN(num) ? null : num;
16421
+ return parseInt(str) || null;
16467
16422
  }
16468
16423
  };
16469
16424
  }
@@ -16527,49 +16482,6 @@ class AuroInputUtilities {
16527
16482
  return type === 'date' && normalizedFormat.includes('yy') && normalizedFormat.includes('mm') && normalizedFormat.includes('dd');
16528
16483
  }
16529
16484
 
16530
- /**
16531
- * Validates a value against a partial date format (one that lacks yy/mm/dd all three).
16532
- * Day- and year-only formats (dd/yy/yyyy) are checked as integer ranges; other partial formats use
16533
- * a date-fns parse + round-trip to confirm both validity and exact formatting.
16534
- * @param {string} value - The user-facing display value.
16535
- * @param {string} format - The partial date format string (e.g. "mm/yyyy", "yyyy", "dd").
16536
- * @returns {boolean}
16537
- */
16538
- isValidPartialDate(value, format$1) {
16539
- if (!value || !format$1) {
16540
- return false;
16541
- }
16542
- const normalizedFormat = format$1.toLowerCase();
16543
-
16544
- if (normalizedFormat === 'dd') {
16545
- const num = Number(value);
16546
- return (/^\d{2}$/u).test(value) && num >= 1 && num <= 31;
16547
- }
16548
- if (normalizedFormat === 'yy') {
16549
- const num = Number(value);
16550
- return (/^\d{2}$/u).test(value) && num >= 0 && num <= 99;
16551
- }
16552
- if (normalizedFormat === 'yyyy') {
16553
- const num = Number(value);
16554
- return (/^\d{4}$/u).test(value) && num >= 1900 && num <= 2100;
16555
- }
16556
-
16557
- const dateFnsMask = this.toDateFnsMask(normalizedFormat);
16558
- // Use the 1st of the current month as the reference so that formats
16559
- // omitting a day (e.g. MM/yyyy) never roll over on days 29–31.
16560
- const referenceDate = new Date();
16561
- referenceDate.setDate(1);
16562
- const parsed = parse(value, dateFnsMask, referenceDate);
16563
- if (!isValid(parsed) || format(parsed, dateFnsMask) !== value) {
16564
- return false;
16565
- }
16566
- if (normalizedFormat.includes('yyyy')) {
16567
- const year = parsed.getFullYear();
16568
- return year >= 1900 && year <= 2100;
16569
- }
16570
- return true;
16571
- }
16572
-
16573
16485
  /**
16574
16486
  * Converts a display string to its model value.
16575
16487
  * For full date formats, converts the display string to an ISO date string.
@@ -17189,13 +17101,6 @@ class BaseInput extends AuroElement$1 {
17189
17101
  type: String
17190
17102
  },
17191
17103
 
17192
- /**
17193
- * Custom help text message to display when validity = `patternMismatch`.
17194
- */
17195
- setCustomValidityPatternMismatch: {
17196
- type: String
17197
- },
17198
-
17199
17104
  /**
17200
17105
  * Custom help text message to display when validity = `rangeOverflow`.
17201
17106
  */
@@ -17266,7 +17171,7 @@ class BaseInput extends AuroElement$1 {
17266
17171
 
17267
17172
  /**
17268
17173
  * Populates the `type` attribute on the input.
17269
- * @type {'text' | 'password' | 'email' | 'credit-card' | 'tel' | 'number' | 'date'}
17174
+ * @type {'text' | 'password' | 'email' | 'credit-card' | 'tel' | 'number'}
17270
17175
  * @default 'text'
17271
17176
  */
17272
17177
  type: {
@@ -17291,7 +17196,7 @@ class BaseInput extends AuroElement$1 {
17291
17196
 
17292
17197
  /**
17293
17198
  * Populates the `value` attribute on the input. Can also be read to retrieve the current value of the input.
17294
- * For `date` type inputs using a full date format (year/month/day), the `value` should be ISO (YYYY-MM-DD). Partial date formats use the display format.
17199
+ * The format for this property should be ISO for `date` type inputs.
17295
17200
  */
17296
17201
  value: {
17297
17202
  type: String
@@ -18414,7 +18319,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
18414
18319
  }
18415
18320
  };
18416
18321
 
18417
- var formkitVersion$1 = '202607011914';
18322
+ var formkitVersion$1 = '202607011727';
18418
18323
 
18419
18324
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
18420
18325
  // See LICENSE in the project root for license information.
@@ -19540,7 +19445,7 @@ class AuroBibtemplate extends LitElement {
19540
19445
  }
19541
19446
  }
19542
19447
 
19543
- var formkitVersion = '202607011914';
19448
+ var formkitVersion = '202607011727';
19544
19449
 
19545
19450
  var styleCss$1 = css`.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock{display:block}.util_displayFlex{display:flex}.util_displayHidden{display:none}.util_displayHiddenVisually{position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}:host{display:block;text-align:left}:host [auro-dropdown]{--ds-auro-dropdown-trigger-background-color: transparent}:host #inputInBib::part(wrapper){box-shadow:none}:host #inputInBib::part(accent-left){display:none}:host([layout*=classic]) [auro-input]{width:100%}:host([layout*=classic]) [auro-input]::part(helpText){display:none}:host([layout*=classic]) #slotHolder{display:none}`;
19546
19451
 
@@ -350,21 +350,8 @@ let AuroFormValidation$1 = class AuroFormValidation {
350
350
  return;
351
351
  }
352
352
 
353
- // Validate that the date passed was the correct format and is a valid date.
354
- // For partial date formats, valueObject is never populated; validate them directly.
353
+ // Validate that the date passed was the correct format and is a valid date
355
354
  if (elem.value && !elem.valueObject) {
356
- const isPartialDateFormat = elem.util && !elem.util.isFullDateFormat(elem.type, elem.format);
357
-
358
- if (isPartialDateFormat) {
359
- if (!elem.util.isValidPartialDate(elem.value, elem.format)) {
360
- elem.validity = 'patternMismatch';
361
- elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
362
- }
363
- // Partial date format — validate directly and skip max/min checks since valueObject is undefined.
364
- return;
365
- }
366
-
367
- // Full date format with no valueObject means the value is not a valid calendar date.
368
355
  elem.validity = 'patternMismatch';
369
356
  elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
370
357
  return;
@@ -4812,7 +4799,7 @@ let AuroHelpText$2 = class AuroHelpText extends LitElement {
4812
4799
  }
4813
4800
  };
4814
4801
 
4815
- var formkitVersion$2 = '202607011914';
4802
+ var formkitVersion$2 = '202607011727';
4816
4803
 
4817
4804
  let AuroElement$2 = class AuroElement extends LitElement {
4818
4805
  static get properties() {
@@ -5564,23 +5551,6 @@ class AuroDropdown extends AuroElement$2 {
5564
5551
  if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
5565
5552
  this.trigger.focus();
5566
5553
  }
5567
-
5568
-
5569
- if (!this.isPopoverVisible) {
5570
- // wait til the bib gets fully closed and rendered
5571
- setTimeout(() => {
5572
- // Skip if the bib re-opened, or if focus moved intentionally outside the dropdown (not to body).
5573
- // Restore focus to trigger when focus is still inside the bib (:focus-within) or fell to body.
5574
- if (this.isPopoverVisible ||
5575
- // eslint-disable-next-line no-extra-parens
5576
- (!this.bibContent?.matches(':focus-within') &&
5577
- document.activeElement !== document.body)) {
5578
- return;
5579
- }
5580
- // Restore focus to the trigger.
5581
- this.trigger.focus();
5582
- });
5583
- }
5584
5554
  }
5585
5555
 
5586
5556
  firstUpdated() {
@@ -10506,21 +10476,8 @@ class AuroFormValidation {
10506
10476
  return;
10507
10477
  }
10508
10478
 
10509
- // Validate that the date passed was the correct format and is a valid date.
10510
- // For partial date formats, valueObject is never populated; validate them directly.
10479
+ // Validate that the date passed was the correct format and is a valid date
10511
10480
  if (elem.value && !elem.valueObject) {
10512
- const isPartialDateFormat = elem.util && !elem.util.isFullDateFormat(elem.type, elem.format);
10513
-
10514
- if (isPartialDateFormat) {
10515
- if (!elem.util.isValidPartialDate(elem.value, elem.format)) {
10516
- elem.validity = 'patternMismatch';
10517
- elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
10518
- }
10519
- // Partial date format — validate directly and skip max/min checks since valueObject is undefined.
10520
- return;
10521
- }
10522
-
10523
- // Full date format with no valueObject means the value is not a valid calendar date.
10524
10481
  elem.validity = 'patternMismatch';
10525
10482
  elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
10526
10483
  return;
@@ -16450,11 +16407,10 @@ class AuroInputUtilities {
16450
16407
  const dateFormat = format$1 || this.overrideFormat || pattern || 'mm/dd/yyyy';
16451
16408
 
16452
16409
  if (dateFormat === 'dd' || dateFormat === 'yy' || dateFormat === 'yyyy') {
16453
- const fromValue = dateFormat === 'yyyy' ? 1900 : (dateFormat === 'yy' ? 0 : 1);
16454
- const maxValue = dateFormat === 'dd' ? 31 : (dateFormat === 'yy' ? 99 : 2100);
16410
+ const maxValue = dateFormat === 'dd' ? 31 : (dateFormat === 'yy' ? 99 : 9999);
16455
16411
  return {
16456
16412
  mask: IMask.MaskedRange,
16457
- from: fromValue,
16413
+ from: 1,
16458
16414
  to: maxValue,
16459
16415
  lazy: true,
16460
16416
  placeholderChar: '',
@@ -16462,8 +16418,7 @@ class AuroInputUtilities {
16462
16418
  return value.toString().padStart(dateFormat.length, '0');
16463
16419
  },
16464
16420
  parse(str) {
16465
- const num = parseInt(str, 10);
16466
- return isNaN(num) ? null : num;
16421
+ return parseInt(str) || null;
16467
16422
  }
16468
16423
  };
16469
16424
  }
@@ -16527,49 +16482,6 @@ class AuroInputUtilities {
16527
16482
  return type === 'date' && normalizedFormat.includes('yy') && normalizedFormat.includes('mm') && normalizedFormat.includes('dd');
16528
16483
  }
16529
16484
 
16530
- /**
16531
- * Validates a value against a partial date format (one that lacks yy/mm/dd all three).
16532
- * Day- and year-only formats (dd/yy/yyyy) are checked as integer ranges; other partial formats use
16533
- * a date-fns parse + round-trip to confirm both validity and exact formatting.
16534
- * @param {string} value - The user-facing display value.
16535
- * @param {string} format - The partial date format string (e.g. "mm/yyyy", "yyyy", "dd").
16536
- * @returns {boolean}
16537
- */
16538
- isValidPartialDate(value, format$1) {
16539
- if (!value || !format$1) {
16540
- return false;
16541
- }
16542
- const normalizedFormat = format$1.toLowerCase();
16543
-
16544
- if (normalizedFormat === 'dd') {
16545
- const num = Number(value);
16546
- return (/^\d{2}$/u).test(value) && num >= 1 && num <= 31;
16547
- }
16548
- if (normalizedFormat === 'yy') {
16549
- const num = Number(value);
16550
- return (/^\d{2}$/u).test(value) && num >= 0 && num <= 99;
16551
- }
16552
- if (normalizedFormat === 'yyyy') {
16553
- const num = Number(value);
16554
- return (/^\d{4}$/u).test(value) && num >= 1900 && num <= 2100;
16555
- }
16556
-
16557
- const dateFnsMask = this.toDateFnsMask(normalizedFormat);
16558
- // Use the 1st of the current month as the reference so that formats
16559
- // omitting a day (e.g. MM/yyyy) never roll over on days 29–31.
16560
- const referenceDate = new Date();
16561
- referenceDate.setDate(1);
16562
- const parsed = parse(value, dateFnsMask, referenceDate);
16563
- if (!isValid(parsed) || format(parsed, dateFnsMask) !== value) {
16564
- return false;
16565
- }
16566
- if (normalizedFormat.includes('yyyy')) {
16567
- const year = parsed.getFullYear();
16568
- return year >= 1900 && year <= 2100;
16569
- }
16570
- return true;
16571
- }
16572
-
16573
16485
  /**
16574
16486
  * Converts a display string to its model value.
16575
16487
  * For full date formats, converts the display string to an ISO date string.
@@ -17189,13 +17101,6 @@ class BaseInput extends AuroElement$1 {
17189
17101
  type: String
17190
17102
  },
17191
17103
 
17192
- /**
17193
- * Custom help text message to display when validity = `patternMismatch`.
17194
- */
17195
- setCustomValidityPatternMismatch: {
17196
- type: String
17197
- },
17198
-
17199
17104
  /**
17200
17105
  * Custom help text message to display when validity = `rangeOverflow`.
17201
17106
  */
@@ -17266,7 +17171,7 @@ class BaseInput extends AuroElement$1 {
17266
17171
 
17267
17172
  /**
17268
17173
  * Populates the `type` attribute on the input.
17269
- * @type {'text' | 'password' | 'email' | 'credit-card' | 'tel' | 'number' | 'date'}
17174
+ * @type {'text' | 'password' | 'email' | 'credit-card' | 'tel' | 'number'}
17270
17175
  * @default 'text'
17271
17176
  */
17272
17177
  type: {
@@ -17291,7 +17196,7 @@ class BaseInput extends AuroElement$1 {
17291
17196
 
17292
17197
  /**
17293
17198
  * Populates the `value` attribute on the input. Can also be read to retrieve the current value of the input.
17294
- * For `date` type inputs using a full date format (year/month/day), the `value` should be ISO (YYYY-MM-DD). Partial date formats use the display format.
17199
+ * The format for this property should be ISO for `date` type inputs.
17295
17200
  */
17296
17201
  value: {
17297
17202
  type: String
@@ -18414,7 +18319,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
18414
18319
  }
18415
18320
  };
18416
18321
 
18417
- var formkitVersion$1 = '202607011914';
18322
+ var formkitVersion$1 = '202607011727';
18418
18323
 
18419
18324
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
18420
18325
  // See LICENSE in the project root for license information.
@@ -19540,7 +19445,7 @@ class AuroBibtemplate extends LitElement {
19540
19445
  }
19541
19446
  }
19542
19447
 
19543
- var formkitVersion = '202607011914';
19448
+ var formkitVersion = '202607011727';
19544
19449
 
19545
19450
  var styleCss$1 = css`.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock{display:block}.util_displayFlex{display:flex}.util_displayHidden{display:none}.util_displayHiddenVisually{position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}:host{display:block;text-align:left}:host [auro-dropdown]{--ds-auro-dropdown-trigger-background-color: transparent}:host #inputInBib::part(wrapper){box-shadow:none}:host #inputInBib::part(accent-left){display:none}:host([layout*=classic]) [auro-input]{width:100%}:host([layout*=classic]) [auro-input]::part(helpText){display:none}:host([layout*=classic]) #slotHolder{display:none}`;
19546
19451
 
@@ -522,21 +522,8 @@ class AuroFormValidation {
522
522
  return;
523
523
  }
524
524
 
525
- // Validate that the date passed was the correct format and is a valid date.
526
- // For partial date formats, valueObject is never populated; validate them directly.
525
+ // Validate that the date passed was the correct format and is a valid date
527
526
  if (elem.value && !elem.valueObject) {
528
- const isPartialDateFormat = elem.util && !elem.util.isFullDateFormat(elem.type, elem.format);
529
-
530
- if (isPartialDateFormat) {
531
- if (!elem.util.isValidPartialDate(elem.value, elem.format)) {
532
- elem.validity = 'patternMismatch';
533
- elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
534
- }
535
- // Partial date format — validate directly and skip max/min checks since valueObject is undefined.
536
- return;
537
- }
538
-
539
- // Full date format with no valueObject means the value is not a valid calendar date.
540
527
  elem.validity = 'patternMismatch';
541
528
  elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
542
529
  return;
@@ -1114,7 +1101,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$2 {
1114
1101
  }
1115
1102
  };
1116
1103
 
1117
- var formkitVersion$1 = '202607011914';
1104
+ var formkitVersion$1 = '202607011727';
1118
1105
 
1119
1106
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
1120
1107
  // See LICENSE in the project root for license information.
@@ -5460,7 +5447,7 @@ class AuroHelpText extends i$2 {
5460
5447
  }
5461
5448
  }
5462
5449
 
5463
- var formkitVersion = '202607011914';
5450
+ var formkitVersion = '202607011727';
5464
5451
 
5465
5452
  let AuroElement$1 = class AuroElement extends i$2 {
5466
5453
  static get properties() {
@@ -6212,23 +6199,6 @@ class AuroDropdown extends AuroElement$1 {
6212
6199
  if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
6213
6200
  this.trigger.focus();
6214
6201
  }
6215
-
6216
-
6217
- if (!this.isPopoverVisible) {
6218
- // wait til the bib gets fully closed and rendered
6219
- setTimeout(() => {
6220
- // Skip if the bib re-opened, or if focus moved intentionally outside the dropdown (not to body).
6221
- // Restore focus to trigger when focus is still inside the bib (:focus-within) or fell to body.
6222
- if (this.isPopoverVisible ||
6223
- // eslint-disable-next-line no-extra-parens
6224
- (!this.bibContent?.matches(':focus-within') &&
6225
- document.activeElement !== document.body)) {
6226
- return;
6227
- }
6228
- // Restore focus to the trigger.
6229
- this.trigger.focus();
6230
- });
6231
- }
6232
6202
  }
6233
6203
 
6234
6204
  firstUpdated() {