@aurodesignsystem-dev/auro-formkit 0.0.0-pr1594.2 → 0.0.0-pr1595.1

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 (83) hide show
  1. package/components/bibtemplate/dist/auro-bibtemplate.d.ts +11 -0
  2. package/components/bibtemplate/dist/index.js +13 -0
  3. package/components/bibtemplate/dist/registered.js +13 -0
  4. package/components/checkbox/demo/api.md +17 -11
  5. package/components/checkbox/demo/customize.min.js +23 -6
  6. package/components/checkbox/demo/getting-started.min.js +23 -6
  7. package/components/checkbox/demo/index.min.js +23 -6
  8. package/components/checkbox/dist/auro-checkbox-group.d.ts +8 -0
  9. package/components/checkbox/dist/auro-checkbox.d.ts +4 -0
  10. package/components/checkbox/dist/index.js +23 -6
  11. package/components/checkbox/dist/registered.js +23 -6
  12. package/components/combobox/demo/api.md +26 -18
  13. package/components/combobox/demo/customize.min.js +426 -126
  14. package/components/combobox/demo/getting-started.min.js +426 -126
  15. package/components/combobox/demo/index.min.js +426 -126
  16. package/components/combobox/dist/auro-combobox.d.ts +38 -21
  17. package/components/combobox/dist/index.js +338 -111
  18. package/components/combobox/dist/registered.js +338 -111
  19. package/components/counter/demo/api.md +34 -16
  20. package/components/counter/demo/customize.min.js +204 -64
  21. package/components/counter/demo/index.min.js +204 -64
  22. package/components/counter/dist/auro-counter-button.d.ts +4 -0
  23. package/components/counter/dist/auro-counter-group.d.ts +27 -4
  24. package/components/counter/dist/auro-counter.d.ts +7 -0
  25. package/components/counter/dist/index.js +204 -64
  26. package/components/counter/dist/registered.js +204 -64
  27. package/components/datepicker/demo/api.md +55 -49
  28. package/components/datepicker/demo/customize.min.js +515 -134
  29. package/components/datepicker/demo/index.min.js +515 -134
  30. package/components/datepicker/dist/auro-calendar-cell.d.ts +58 -4
  31. package/components/datepicker/dist/auro-calendar-month.d.ts +10 -4
  32. package/components/datepicker/dist/auro-calendar.d.ts +25 -6
  33. package/components/datepicker/dist/auro-datepicker.d.ts +70 -22
  34. package/components/datepicker/dist/index.js +515 -134
  35. package/components/datepicker/dist/registered.js +515 -134
  36. package/components/dropdown/demo/api.md +25 -22
  37. package/components/dropdown/demo/customize.min.js +107 -37
  38. package/components/dropdown/demo/getting-started.min.js +245 -82
  39. package/components/dropdown/demo/index.min.js +107 -37
  40. package/components/dropdown/dist/auro-dropdown.d.ts +34 -8
  41. package/components/dropdown/dist/auro-dropdownBib.d.ts +17 -5
  42. package/components/dropdown/dist/index.js +107 -37
  43. package/components/dropdown/dist/registered.js +107 -37
  44. package/components/form/demo/customize.min.js +1518 -466
  45. package/components/form/demo/getting-started.min.js +1518 -466
  46. package/components/form/demo/index.min.js +1518 -466
  47. package/components/form/demo/registerDemoDeps.min.js +1518 -466
  48. package/components/helptext/dist/auro-helptext.d.ts +8 -7
  49. package/components/helptext/dist/index.js +7 -2
  50. package/components/helptext/dist/registered.js +7 -2
  51. package/components/input/demo/api.md +30 -30
  52. package/components/input/demo/customize.min.js +138 -45
  53. package/components/input/demo/getting-started.min.js +138 -45
  54. package/components/input/demo/index.min.js +138 -45
  55. package/components/input/dist/base-input.d.ts +79 -25
  56. package/components/input/dist/index.js +138 -45
  57. package/components/input/dist/registered.js +138 -45
  58. package/components/layoutElement/dist/auroElement.d.ts +10 -17
  59. package/components/layoutElement/dist/index.js +20 -20
  60. package/components/layoutElement/dist/registered.js +20 -20
  61. package/components/menu/demo/api.md +31 -27
  62. package/components/menu/demo/index.min.js +108 -35
  63. package/components/menu/dist/auro-menu.d.ts +26 -21
  64. package/components/menu/dist/auro-menuoption.d.ts +27 -1
  65. package/components/menu/dist/index.js +108 -35
  66. package/components/menu/dist/registered.js +108 -35
  67. package/components/radio/demo/api.md +8 -7
  68. package/components/radio/demo/customize.min.js +21 -7
  69. package/components/radio/demo/getting-started.min.js +21 -7
  70. package/components/radio/demo/index.min.js +21 -7
  71. package/components/radio/dist/auro-radio-group.d.ts +8 -3
  72. package/components/radio/dist/auro-radio.d.ts +1 -0
  73. package/components/radio/dist/index.js +21 -7
  74. package/components/radio/dist/registered.js +21 -7
  75. package/components/select/demo/api.md +18 -15
  76. package/components/select/demo/customize.min.js +259 -79
  77. package/components/select/demo/getting-started.min.js +259 -79
  78. package/components/select/demo/index.min.js +259 -79
  79. package/components/select/dist/auro-select.d.ts +17 -0
  80. package/components/select/dist/index.js +171 -64
  81. package/components/select/dist/registered.js +171 -64
  82. package/custom-elements.json +1189 -1336
  83. package/package.json +1 -1
@@ -4403,8 +4403,11 @@ const DESIGN_TOKEN_BREAKPOINT_OPTIONS = [
4403
4403
  ];
4404
4404
 
4405
4405
  /**
4406
+ * The `auro-dropdownbib` element renders the dropdown's bib as a dialog/popover container and manages its fullscreen and modal display.
4406
4407
  * @prop { String } fullscreenBreakpoint - Defines the screen size breakpoint (`lg`, `md`, `sm`, or `xs`) at which the dropdown switches to fullscreen mode on mobile. When expanded, the dropdown will automatically display in fullscreen mode if the screen size is equal to or smaller than the selected breakpoint.
4407
4408
  * @csspart bibContainer - Apply css to the bib container.
4409
+ * @event auro-dropdownbib-connected - Notifies that the dropdown bib has connected to the DOM, passing a reference to the element in the event detail.
4410
+ * @event auro-bib-cancel - Notifies that the bib was cancelled (e.g. via the ESC key) so parent components can close it.
4408
4411
  */
4409
4412
 
4410
4413
  class AuroDropdownBib extends i$3 {
@@ -4419,9 +4422,17 @@ class AuroDropdownBib extends i$3 {
4419
4422
 
4420
4423
  AuroLibraryRuntimeUtils$1$2.prototype.handleComponentTagRename(this, 'auro-dropdownbib');
4421
4424
 
4422
- this.shape = "rounded";
4423
4425
  this.matchWidth = false;
4424
4426
  this.hasActiveDescendant = false;
4427
+
4428
+ this.initializeArchitectureDefaults();
4429
+ }
4430
+
4431
+ // The `shape` default is set in a helper (not the constructor body) so the CEM
4432
+ // analyzer keeps its `@type` union instead of inferring `string` from a
4433
+ // constructor-literal assignment. See AlaskaAirlines/discussions#653.
4434
+ initializeArchitectureDefaults() {
4435
+ this.shape = "rounded";
4425
4436
  }
4426
4437
 
4427
4438
  static get styles() {
@@ -4440,6 +4451,7 @@ class AuroDropdownBib extends i$3 {
4440
4451
  */
4441
4452
  isFullscreen: {
4442
4453
  type: Boolean,
4454
+ attribute: 'isfullscreen',
4443
4455
  reflect: true
4444
4456
  },
4445
4457
 
@@ -4465,6 +4477,7 @@ class AuroDropdownBib extends i$3 {
4465
4477
  */
4466
4478
  matchWidth: {
4467
4479
  type: Boolean,
4480
+ attribute: 'matchwidth',
4468
4481
  reflect: true
4469
4482
  },
4470
4483
 
@@ -4480,11 +4493,18 @@ class AuroDropdownBib extends i$3 {
4480
4493
  * A reference to the associated bib template element.
4481
4494
  */
4482
4495
  bibTemplate: {
4483
- type: Object
4496
+ type: Object,
4497
+ attribute: 'bibtemplate'
4484
4498
  },
4485
4499
 
4500
+ /**
4501
+ * Sets the shape of the dropdown bib.
4502
+ * @type {'box' | 'classic' | 'pill' | 'rounded' | 'snowflake'}
4503
+ * @default 'rounded'
4504
+ */
4486
4505
  shape: {
4487
4506
  type: String,
4507
+ attribute: "shape",
4488
4508
  reflect: true
4489
4509
  },
4490
4510
 
@@ -4496,7 +4516,8 @@ class AuroDropdownBib extends i$3 {
4496
4516
  * @private
4497
4517
  */
4498
4518
  dialogLabel: {
4499
- type: String
4519
+ type: String,
4520
+ attribute: 'dialoglabel'
4500
4521
  },
4501
4522
 
4502
4523
  /**
@@ -4507,7 +4528,8 @@ class AuroDropdownBib extends i$3 {
4507
4528
  * @private
4508
4529
  */
4509
4530
  dialogRole: {
4510
- type: String
4531
+ type: String,
4532
+ attribute: 'dialogrole'
4511
4533
  },
4512
4534
 
4513
4535
  /**
@@ -4515,7 +4537,8 @@ class AuroDropdownBib extends i$3 {
4515
4537
  * @private
4516
4538
  */
4517
4539
  hasActiveDescendant: {
4518
- type: Boolean
4540
+ type: Boolean,
4541
+ attribute: 'hasactivedescendant'
4519
4542
  }
4520
4543
  };
4521
4544
  }
@@ -4866,6 +4889,8 @@ let AuroHelpText$2 = class AuroHelpText extends i$3 {
4866
4889
  super();
4867
4890
 
4868
4891
  this.error = false;
4892
+
4893
+ /** @type {'default' | 'inverse'} */
4869
4894
  this.appearance = "default";
4870
4895
  this.onDark = false;
4871
4896
  this.hasTextContent = false;
@@ -4886,8 +4911,8 @@ let AuroHelpText$2 = class AuroHelpText extends i$3 {
4886
4911
  return {
4887
4912
 
4888
4913
  /**
4889
- * Defines whether the component will be on lighter or darker backgrounds.
4890
- * @property {'default', 'inverse'} - The appearance of the help text, either default (for light backgrounds) or inverse (for dark backgrounds).
4914
+ * The appearance of the help text, either default (for light backgrounds) or inverse (for dark backgrounds).
4915
+ * @type {'default' | 'inverse'}
4891
4916
  * @default 'default'
4892
4917
  */
4893
4918
  appearance: {
@@ -4900,6 +4925,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$3 {
4900
4925
  */
4901
4926
  slotNodes: {
4902
4927
  type: Boolean,
4928
+ attribute: 'slotnodes',
4903
4929
  },
4904
4930
 
4905
4931
  /**
@@ -4907,6 +4933,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$3 {
4907
4933
  */
4908
4934
  hasTextContent: {
4909
4935
  type: Boolean,
4936
+ attribute: 'hastextcontent',
4910
4937
  },
4911
4938
 
4912
4939
  /**
@@ -4922,6 +4949,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$3 {
4922
4949
  */
4923
4950
  onDark: {
4924
4951
  type: Boolean,
4952
+ attribute: 'ondark',
4925
4953
  reflect: true
4926
4954
  }
4927
4955
  };
@@ -4992,39 +5020,39 @@ let AuroHelpText$2 = class AuroHelpText extends i$3 {
4992
5020
  }
4993
5021
  };
4994
5022
 
4995
- var formkitVersion$2 = '202608261850';
5023
+ var formkitVersion$2 = '202608300032';
4996
5024
 
5025
+ /**
5026
+ * AuroElement is the shared base class for layout-aware Auro form components.
5027
+ *
5028
+ * It defines the common `layout`, `shape`, `size`, and `ondark` reactive
5029
+ * properties and the architecture helpers (`renderLayout`, `resetShapeClasses`,
5030
+ * `resetLayoutClasses`) that subclasses use to render a chosen layout and apply
5031
+ * the matching `shape-*` / `layout-*` wrapper classes. Subclasses supply their
5032
+ * own default and valid value set for `layout`, `shape`, and `size`.
5033
+ */
4997
5034
  let AuroElement$2 = class AuroElement extends i$3 {
4998
5035
  static get properties() {
4999
5036
  return {
5000
5037
 
5001
5038
  /**
5002
- * Defines the language of an element.
5003
- * @default {'default'}
5039
+ * When true, renders the component styled for use on a dark background.
5004
5040
  */
5005
- layout: {
5006
- type: String,
5007
- attribute: "layout",
5008
- reflect: true
5009
- },
5010
-
5011
- shape: {
5012
- type: String,
5013
- attribute: "shape",
5014
- reflect: true
5015
- },
5016
-
5017
- size: {
5018
- type: String,
5019
- attribute: "size",
5020
- reflect: true
5021
- },
5022
-
5023
5041
  onDark: {
5024
5042
  type: Boolean,
5025
5043
  attribute: "ondark",
5026
5044
  reflect: true
5027
5045
  }
5046
+
5047
+ // NOTE: `layout`, `shape`, and `size` are intentionally NOT declared here.
5048
+ // Their valid value sets differ per component, and the CEM analyzer roots
5049
+ // an inherited property's `type` in the class that declares it — a base
5050
+ // declaration would force every subclass's `@type` to be discarded and
5051
+ // emitted as plain `string`. Each subclass declares its own `layout` /
5052
+ // `shape` / `size` with an exact `@type` union instead. AuroElement still
5053
+ // consumes `this.layout` / `this.shape` / `this.size` in its render and
5054
+ // architecture helpers below (subclasses guarantee the reactive props).
5055
+ // See AlaskaAirlines/discussions#653.
5028
5056
  };
5029
5057
  }
5030
5058
 
@@ -5110,6 +5138,7 @@ let AuroElement$2 = class AuroElement extends i$3 {
5110
5138
  * @slot helpText - Defines the content of the helpText.
5111
5139
  * @slot trigger - Defines the content of the trigger.
5112
5140
  * @csspart trigger - The trigger content container.
5141
+ * @csspart wrapper - The trigger wrapper element surrounding the trigger content and chevron.
5113
5142
  * @csspart chevron - The collapsed/expanded state icon container.
5114
5143
  * @csspart size - The size of the dropdown bib. (height, width, maxHeight, maxWidth only)
5115
5144
  * @csspart helpText - The helpText content container.
@@ -5134,7 +5163,7 @@ class AuroDropdown extends AuroElement$2 {
5134
5163
 
5135
5164
  /**
5136
5165
  * When true, the dropdown skips its generic focus restoration on close.
5137
- * Set by consumers (e.g. combobox) that manage their own focus routing
5166
+ * Set by consumers (for example combobox) that manage their own focus routing
5138
5167
  * via setClearBtnFocus / setInputFocus / keyboard strategy.
5139
5168
  * Separate from noHideOnThisFocusLoss (which controls auto-close behavior).
5140
5169
  * @private
@@ -5303,7 +5332,7 @@ class AuroDropdown extends AuroElement$2 {
5303
5332
  /**
5304
5333
  * Focus the trigger content. When the trigger wrapper itself is focusable
5305
5334
  * (has tabindex), focus it directly. Otherwise, focus the first focusable
5306
- * element slotted into the trigger slot (e.g. the auro-input).
5335
+ * element slotted into the trigger slot (for example the auro-input).
5307
5336
  * @private
5308
5337
  */
5309
5338
  focusTrigger() {
@@ -5400,6 +5429,7 @@ class AuroDropdown extends AuroElement$2 {
5400
5429
  */
5401
5430
  autoPlacement: {
5402
5431
  type: Boolean,
5432
+ attribute: 'autoplacement',
5403
5433
  reflect: true
5404
5434
  },
5405
5435
 
@@ -5408,6 +5438,7 @@ class AuroDropdown extends AuroElement$2 {
5408
5438
  */
5409
5439
  desktopModal: {
5410
5440
  type: Boolean,
5441
+ attribute: 'desktopmodal',
5411
5442
  reflect: true
5412
5443
  },
5413
5444
 
@@ -5416,6 +5447,7 @@ class AuroDropdown extends AuroElement$2 {
5416
5447
  */
5417
5448
  disableEventShow: {
5418
5449
  type: Boolean,
5450
+ attribute: 'disableeventshow',
5419
5451
  reflect: true
5420
5452
  },
5421
5453
 
@@ -5449,14 +5481,16 @@ class AuroDropdown extends AuroElement$2 {
5449
5481
  */
5450
5482
  disableKeyboardHandling: {
5451
5483
  type: Boolean,
5484
+ attribute: 'disablekeyboardhandling',
5452
5485
  reflect: true
5453
5486
  },
5454
5487
 
5455
5488
  /**
5456
- * @private
5489
+ * Sets the width of the dropdown bib in pixels.
5457
5490
  */
5458
5491
  dropdownWidth: {
5459
- type: Number
5492
+ type: Number,
5493
+ attribute: 'dropdownwidth'
5460
5494
  },
5461
5495
 
5462
5496
  /**
@@ -5481,7 +5515,8 @@ class AuroDropdown extends AuroElement$2 {
5481
5515
  * Contains the help text message for the current validity error.
5482
5516
  */
5483
5517
  errorMessage: {
5484
- type: String
5518
+ type: String,
5519
+ attribute: 'errormessage'
5485
5520
  },
5486
5521
 
5487
5522
  /**
@@ -5489,6 +5524,7 @@ class AuroDropdown extends AuroElement$2 {
5489
5524
  */
5490
5525
  focusShow: {
5491
5526
  type: Boolean,
5527
+ attribute: 'focusshow',
5492
5528
  reflect: true
5493
5529
  },
5494
5530
 
@@ -5506,6 +5542,7 @@ class AuroDropdown extends AuroElement$2 {
5506
5542
  */
5507
5543
  isBibFullscreen: {
5508
5544
  type: Boolean,
5545
+ attribute: 'isbibfullscreen',
5509
5546
  reflect: true
5510
5547
  },
5511
5548
 
@@ -5514,6 +5551,7 @@ class AuroDropdown extends AuroElement$2 {
5514
5551
  */
5515
5552
  hoverToggle: {
5516
5553
  type: Boolean,
5554
+ attribute: 'hovertoggle',
5517
5555
  reflect: true
5518
5556
  },
5519
5557
 
@@ -5521,7 +5559,8 @@ class AuroDropdown extends AuroElement$2 {
5521
5559
  * @private
5522
5560
  */
5523
5561
  hasTriggerContent: {
5524
- type: Boolean
5562
+ type: Boolean,
5563
+ attribute: false
5525
5564
  },
5526
5565
 
5527
5566
  /**
@@ -5534,6 +5573,7 @@ class AuroDropdown extends AuroElement$2 {
5534
5573
  */
5535
5574
  fullscreenBreakpoint: {
5536
5575
  type: String,
5576
+ attribute: "fullscreenbreakpoint",
5537
5577
  reflect: true
5538
5578
  },
5539
5579
 
@@ -5544,6 +5584,27 @@ class AuroDropdown extends AuroElement$2 {
5544
5584
  */
5545
5585
  layout: {
5546
5586
  type: String,
5587
+ attribute: "layout",
5588
+ reflect: true
5589
+ },
5590
+
5591
+ /**
5592
+ * Sets the shape of the dropdown.
5593
+ * @type {'box' | 'classic' | 'pill' | 'pill-left' | 'pill-right' | 'rounded' | 'snowflake'}
5594
+ */
5595
+ shape: {
5596
+ type: String,
5597
+ attribute: "shape",
5598
+ reflect: true
5599
+ },
5600
+
5601
+ /**
5602
+ * Sets the size of the dropdown.
5603
+ * @type {'xs' | 'sm' | 'md' | 'lg' | 'xl'}
5604
+ */
5605
+ size: {
5606
+ type: String,
5607
+ attribute: "size",
5547
5608
  reflect: true
5548
5609
  },
5549
5610
 
@@ -5553,6 +5614,7 @@ class AuroDropdown extends AuroElement$2 {
5553
5614
  */
5554
5615
  parentBorder: {
5555
5616
  type: Boolean,
5617
+ attribute: 'parentborder',
5556
5618
  reflect: true
5557
5619
  },
5558
5620
 
@@ -5561,6 +5623,7 @@ class AuroDropdown extends AuroElement$2 {
5561
5623
  */
5562
5624
  matchWidth: {
5563
5625
  type: Boolean,
5626
+ attribute: 'matchwidth',
5564
5627
  reflect: true
5565
5628
  },
5566
5629
 
@@ -5570,6 +5633,7 @@ class AuroDropdown extends AuroElement$2 {
5570
5633
  */
5571
5634
  noFlip: {
5572
5635
  type: Boolean,
5636
+ attribute: 'noflip',
5573
5637
  reflect: true
5574
5638
  },
5575
5639
 
@@ -5586,6 +5650,7 @@ class AuroDropdown extends AuroElement$2 {
5586
5650
  */
5587
5651
  noHideOnThisFocusLoss: {
5588
5652
  type: Boolean,
5653
+ attribute: 'nohideonthisfocusloss',
5589
5654
  reflect: true
5590
5655
  },
5591
5656
 
@@ -5594,6 +5659,7 @@ class AuroDropdown extends AuroElement$2 {
5594
5659
  */
5595
5660
  noToggle: {
5596
5661
  type: Boolean,
5662
+ attribute: 'notoggle',
5597
5663
  reflect: true
5598
5664
  },
5599
5665
 
@@ -5611,14 +5677,17 @@ class AuroDropdown extends AuroElement$2 {
5611
5677
  */
5612
5678
  onDark: {
5613
5679
  type: Boolean,
5680
+ attribute: 'ondark',
5614
5681
  reflect: true
5615
5682
  },
5616
5683
 
5617
5684
  /**
5618
5685
  * If declared, and a function is set, that function will execute when the slot content is updated.
5686
+ * @type {() => void}
5619
5687
  */
5620
5688
  onSlotChange: {
5621
5689
  type: Function,
5690
+ attribute: 'onslotchange',
5622
5691
  reflect: false
5623
5692
  },
5624
5693
 
@@ -5633,10 +5702,11 @@ class AuroDropdown extends AuroElement$2 {
5633
5702
  },
5634
5703
 
5635
5704
  /**
5636
- * @private
5705
+ * Sets the tabindex applied to the dropdown trigger for keyboard focus order.
5637
5706
  */
5638
5707
  tabIndex: {
5639
- type: Number
5708
+ type: Number,
5709
+ attribute: 'tabindex'
5640
5710
  },
5641
5711
 
5642
5712
  /**
@@ -5860,7 +5930,7 @@ class AuroDropdown extends AuroElement$2 {
5860
5930
  /**
5861
5931
  * @description Let subscribers know that the dropdown ID ha been generated and added.
5862
5932
  * @event auroDropdown-idAdded
5863
- * @type {Object<key: 'id', value: string>} - The ID of the dropdown bib element.
5933
+ * @type {CustomEvent<{ id: string }>} - Detail carries the generated ID of the dropdown bib element.
5864
5934
  */
5865
5935
  this.dispatchEvent(new CustomEvent('auroDropdown-idAdded', {detail: {id: this.floater.element.id}}));
5866
5936
 
@@ -11009,37 +11079,37 @@ class AuroFormValidation {
11009
11079
  }
11010
11080
  }
11011
11081
 
11082
+ /**
11083
+ * AuroElement is the shared base class for layout-aware Auro form components.
11084
+ *
11085
+ * It defines the common `layout`, `shape`, `size`, and `ondark` reactive
11086
+ * properties and the architecture helpers (`renderLayout`, `resetShapeClasses`,
11087
+ * `resetLayoutClasses`) that subclasses use to render a chosen layout and apply
11088
+ * the matching `shape-*` / `layout-*` wrapper classes. Subclasses supply their
11089
+ * own default and valid value set for `layout`, `shape`, and `size`.
11090
+ */
11012
11091
  let AuroElement$1 = class AuroElement extends i$3 {
11013
11092
  static get properties() {
11014
11093
  return {
11015
11094
 
11016
11095
  /**
11017
- * Defines the language of an element.
11018
- * @default {'default'}
11096
+ * When true, renders the component styled for use on a dark background.
11019
11097
  */
11020
- layout: {
11021
- type: String,
11022
- attribute: "layout",
11023
- reflect: true
11024
- },
11025
-
11026
- shape: {
11027
- type: String,
11028
- attribute: "shape",
11029
- reflect: true
11030
- },
11031
-
11032
- size: {
11033
- type: String,
11034
- attribute: "size",
11035
- reflect: true
11036
- },
11037
-
11038
11098
  onDark: {
11039
11099
  type: Boolean,
11040
11100
  attribute: "ondark",
11041
11101
  reflect: true
11042
11102
  }
11103
+
11104
+ // NOTE: `layout`, `shape`, and `size` are intentionally NOT declared here.
11105
+ // Their valid value sets differ per component, and the CEM analyzer roots
11106
+ // an inherited property's `type` in the class that declares it — a base
11107
+ // declaration would force every subclass's `@type` to be discarded and
11108
+ // emitted as plain `string`. Each subclass declares its own `layout` /
11109
+ // `shape` / `size` with an exact `@type` union instead. AuroElement still
11110
+ // consumes `this.layout` / `this.shape` / `this.size` in its render and
11111
+ // architecture helpers below (subclasses guarantee the reactive props).
11112
+ // See AlaskaAirlines/discussions#653.
11043
11113
  };
11044
11114
  }
11045
11115
 
@@ -17006,6 +17076,7 @@ class DomHandler {
17006
17076
  * Base class for auro-input component that provides core input functionality.
17007
17077
  * @event input - Event fires when the value of an `auro-input` has been changed.
17008
17078
  * @event auroFormElement-validated - Notifies that the `validity` and `errorMessage` value has changed.
17079
+ * @event auroInput-validityChange - Notifies that the `validity` state of the input has changed.
17009
17080
  */
17010
17081
  class BaseInput extends AuroElement$1 {
17011
17082
 
@@ -17036,7 +17107,10 @@ class BaseInput extends AuroElement$1 {
17036
17107
  // during its own update cycle sees a populated util instance.
17037
17108
  this.activeLabel = false;
17038
17109
 
17039
- /** @private */
17110
+ /**
17111
+ * @private
17112
+ * @type {string[]}
17113
+ */
17040
17114
  this.allowedInputTypes = [
17041
17115
  "text",
17042
17116
  "number",
@@ -17045,9 +17119,14 @@ class BaseInput extends AuroElement$1 {
17045
17119
  "credit-card",
17046
17120
  "tel"
17047
17121
  ];
17122
+
17123
+ /** @type {'default' | 'inverse'} */
17048
17124
  this.appearance = "default";
17049
17125
 
17050
- /** @private */
17126
+ /**
17127
+ * @private
17128
+ * @type {Record<string, string>}
17129
+ */
17051
17130
  this.dateFormatMap = {
17052
17131
  'mm/dd/yyyy': 'dateMMDDYYYY',
17053
17132
  'dd/mm/yyyy': 'dateDDMMYYYY',
@@ -17078,7 +17157,6 @@ class BaseInput extends AuroElement$1 {
17078
17157
 
17079
17158
  /** @private */
17080
17159
  this.label = 'Input label is undefined';
17081
- this.layout = 'classic';
17082
17160
  this.locale = 'en-US';
17083
17161
  this._format = undefined;
17084
17162
 
@@ -17094,17 +17172,18 @@ class BaseInput extends AuroElement$1 {
17094
17172
  this.setCustomValidityForType = undefined;
17095
17173
  // Credit Card is intentionally excluded — its mask manages the cursor
17096
17174
  // itself, and listing it here caused cursor placement issues in Safari.
17097
- /** @private */
17175
+ /**
17176
+ * @private
17177
+ * @type {string[]}
17178
+ */
17098
17179
  this.setSelectionInputTypes = [
17099
17180
  "text",
17100
17181
  "password",
17101
17182
  "email"
17102
17183
  ];
17103
- this.shape = 'classic';
17104
17184
 
17105
17185
  /** @private */
17106
17186
  this.showPassword = false;
17107
- this.size = 'lg';
17108
17187
  this.touched = false;
17109
17188
 
17110
17189
  /** @private */
@@ -17122,6 +17201,24 @@ class BaseInput extends AuroElement$1 {
17122
17201
  /** @private */
17123
17202
  this.validationCCLength = undefined;
17124
17203
  this.value = undefined;
17204
+
17205
+ this.initializeArchitectureDefaults();
17206
+ }
17207
+
17208
+ /**
17209
+ * Sets the default `layout`, `shape`, and `size` values.
17210
+ *
17211
+ * These are assigned in a helper method rather than the constructor body so
17212
+ * the CEM analyzer keeps their `@type` string-literal unions (a literal
17213
+ * assignment in the constructor would make the analyzer infer `string` and
17214
+ * override the union — see AlaskaAirlines/discussions#653, gotcha 1).
17215
+ * @private
17216
+ * @returns {void}
17217
+ */
17218
+ initializeArchitectureDefaults() {
17219
+ this.layout = 'classic';
17220
+ this.shape = 'classic';
17221
+ this.size = 'lg';
17125
17222
  }
17126
17223
 
17127
17224
  // function to define props used within the scope of this component
@@ -17129,11 +17226,45 @@ class BaseInput extends AuroElement$1 {
17129
17226
  return {
17130
17227
  ...super.properties,
17131
17228
 
17229
+ /**
17230
+ * Sets the layout variant of the input.
17231
+ * @type {'classic' | 'emphasized' | 'emphasized-left' | 'emphasized-right' | 'snowflake' | 'snowflake-left' | 'snowflake-right'}
17232
+ * @default 'classic'
17233
+ */
17234
+ layout: {
17235
+ type: String,
17236
+ attribute: "layout",
17237
+ reflect: true
17238
+ },
17239
+
17240
+ /**
17241
+ * Sets the shape of the input.
17242
+ * @type {'box' | 'classic' | 'pill' | 'pill-left' | 'pill-right' | 'rounded' | 'snowflake'}
17243
+ * @default 'classic'
17244
+ */
17245
+ shape: {
17246
+ type: String,
17247
+ attribute: "shape",
17248
+ reflect: true
17249
+ },
17250
+
17251
+ /**
17252
+ * Sets the size of the input.
17253
+ * @type {'xs' | 'sm' | 'md' | 'lg' | 'xl'}
17254
+ * @default 'lg'
17255
+ */
17256
+ size: {
17257
+ type: String,
17258
+ attribute: "size",
17259
+ reflect: true
17260
+ },
17261
+
17132
17262
  /**
17133
17263
  * The value for the role attribute.
17134
17264
  */
17135
17265
  a11yRole: {
17136
17266
  type: String,
17267
+ attribute: 'a11yrole',
17137
17268
  reflect: true
17138
17269
  },
17139
17270
 
@@ -17142,6 +17273,7 @@ class BaseInput extends AuroElement$1 {
17142
17273
  */
17143
17274
  a11yControls: {
17144
17275
  type: String,
17276
+ attribute: 'a11ycontrols',
17145
17277
  reflect: true
17146
17278
  },
17147
17279
 
@@ -17150,6 +17282,7 @@ class BaseInput extends AuroElement$1 {
17150
17282
  */
17151
17283
  a11yExpanded: {
17152
17284
  type: Boolean,
17285
+ attribute: 'a11yexpanded',
17153
17286
  reflect: true
17154
17287
  },
17155
17288
 
@@ -17159,6 +17292,7 @@ class BaseInput extends AuroElement$1 {
17159
17292
  */
17160
17293
  a11yActivedescendant: {
17161
17294
  type: String,
17295
+ attribute: 'a11yactivedescendant',
17162
17296
  reflect: true
17163
17297
  },
17164
17298
 
@@ -17169,6 +17303,7 @@ class BaseInput extends AuroElement$1 {
17169
17303
  */
17170
17304
  activeLabel: {
17171
17305
  type: Boolean,
17306
+ attribute: 'activelabel',
17172
17307
  reflect: true
17173
17308
  },
17174
17309
 
@@ -17183,7 +17318,8 @@ class BaseInput extends AuroElement$1 {
17183
17318
  },
17184
17319
 
17185
17320
  /**
17186
- * An enumerated attribute that controls whether and how text input is automatically capitalized as it is entered/edited by the user. [off/none, on/sentences, words, characters].
17321
+ * An enumerated attribute that controls whether and how text input is automatically capitalized as it is entered/edited by the user.
17322
+ * @type {'off' | 'none' | 'on' | 'sentences' | 'words' | 'characters'}
17187
17323
  */
17188
17324
  autocapitalize: {
17189
17325
  type: String,
@@ -17200,6 +17336,7 @@ class BaseInput extends AuroElement$1 {
17200
17336
 
17201
17337
  /**
17202
17338
  * When set to `off`, stops iOS from auto-correcting words when typed into a text box.
17339
+ * @type {'on' | 'off'}
17203
17340
  */
17204
17341
  autocorrect: {
17205
17342
  type: String,
@@ -17210,7 +17347,8 @@ class BaseInput extends AuroElement$1 {
17210
17347
  * Custom help text message for email type validity.
17211
17348
  */
17212
17349
  customValidityTypeEmail: {
17213
- type: String
17350
+ type: String,
17351
+ attribute: 'customvaliditytypeemail'
17214
17352
  },
17215
17353
 
17216
17354
  /**
@@ -17226,6 +17364,7 @@ class BaseInput extends AuroElement$1 {
17226
17364
  */
17227
17365
  dvInputOnly: {
17228
17366
  type: Boolean,
17367
+ attribute: 'dvinputonly',
17229
17368
  reflect: true
17230
17369
  },
17231
17370
 
@@ -17241,7 +17380,8 @@ class BaseInput extends AuroElement$1 {
17241
17380
  * Contains the help text message for the current validity error.
17242
17381
  */
17243
17382
  errorMessage: {
17244
- type: String
17383
+ type: String,
17384
+ attribute: 'errormessage'
17245
17385
  },
17246
17386
 
17247
17387
  /**
@@ -17277,6 +17417,7 @@ class BaseInput extends AuroElement$1 {
17277
17417
  */
17278
17418
  hideLabelVisually: {
17279
17419
  type: Boolean,
17420
+ attribute: 'hidelabelvisually',
17280
17421
  reflect: true
17281
17422
  },
17282
17423
 
@@ -17343,6 +17484,7 @@ class BaseInput extends AuroElement$1 {
17343
17484
  */
17344
17485
  maxLength: {
17345
17486
  type: Number,
17487
+ attribute: 'maxlength',
17346
17488
  reflect: true
17347
17489
  },
17348
17490
 
@@ -17358,6 +17500,7 @@ class BaseInput extends AuroElement$1 {
17358
17500
  */
17359
17501
  minLength: {
17360
17502
  type: Number,
17503
+ attribute: 'minlength',
17361
17504
  reflect: true
17362
17505
  },
17363
17506
 
@@ -17383,6 +17526,7 @@ class BaseInput extends AuroElement$1 {
17383
17526
  */
17384
17527
  noValidate: {
17385
17528
  type: Boolean,
17529
+ attribute: 'novalidate',
17386
17530
  reflect: true
17387
17531
  },
17388
17532
 
@@ -17391,6 +17535,7 @@ class BaseInput extends AuroElement$1 {
17391
17535
  */
17392
17536
  onDark: {
17393
17537
  type: Boolean,
17538
+ attribute: 'ondark',
17394
17539
  reflect: true
17395
17540
  },
17396
17541
 
@@ -17430,77 +17575,88 @@ class BaseInput extends AuroElement$1 {
17430
17575
  * Sets a custom help text message to display for all validityStates.
17431
17576
  */
17432
17577
  setCustomValidity: {
17433
- type: String
17578
+ type: String,
17579
+ attribute: 'setcustomvalidity'
17434
17580
  },
17435
17581
 
17436
17582
  /**
17437
17583
  * Custom help text message to display when validity = `badInput`.
17438
17584
  */
17439
17585
  setCustomValidityBadInput: {
17440
- type: String
17586
+ type: String,
17587
+ attribute: 'setcustomvaliditybadinput'
17441
17588
  },
17442
17589
 
17443
17590
  /**
17444
17591
  * Custom help text message to display when validity = `customError`.
17445
17592
  */
17446
17593
  setCustomValidityCustomError: {
17447
- type: String
17594
+ type: String,
17595
+ attribute: 'setcustomvaliditycustomerror'
17448
17596
  },
17449
17597
 
17450
17598
  /**
17451
17599
  * Custom help text message to display for the declared element `type` and type validity fails.
17452
17600
  */
17453
17601
  setCustomValidityForType: {
17454
- type: String
17602
+ type: String,
17603
+ attribute: 'setcustomvalidityfortype'
17455
17604
  },
17456
17605
 
17457
17606
  /**
17458
17607
  * Custom help text message to display when validity = `patternMismatch`.
17459
17608
  */
17460
17609
  setCustomValidityPatternMismatch: {
17461
- type: String
17610
+ type: String,
17611
+ attribute: 'setcustomvaliditypatternmismatch'
17462
17612
  },
17463
17613
 
17464
17614
  /**
17465
17615
  * Custom help text message to display when validity = `rangeOverflow`.
17466
17616
  */
17467
17617
  setCustomValidityRangeOverflow: {
17468
- type: String
17618
+ type: String,
17619
+ attribute: 'setcustomvalidityrangeoverflow'
17469
17620
  },
17470
17621
 
17471
17622
  /**
17472
17623
  * Custom help text message to display when validity = `rangeUnderflow`.
17473
17624
  */
17474
17625
  setCustomValidityRangeUnderflow: {
17475
- type: String
17626
+ type: String,
17627
+ attribute: 'setcustomvalidityrangeunderflow'
17476
17628
  },
17477
17629
 
17478
17630
  /**
17479
17631
  * Custom help text message to display when validity = `tooLong`.
17480
17632
  */
17481
17633
  setCustomValidityTooLong: {
17482
- type: String
17634
+ type: String,
17635
+ attribute: 'setcustomvaliditytoolong'
17483
17636
  },
17484
17637
 
17485
17638
  /**
17486
17639
  * Custom help text message to display when validity = `tooShort`.
17487
17640
  */
17488
17641
  setCustomValidityTooShort: {
17489
- type: String
17642
+ type: String,
17643
+ attribute: 'setcustomvaliditytooshort'
17490
17644
  },
17491
17645
 
17492
17646
  /**
17493
17647
  * Custom help text message to display when validity = `valueMissing`.
17494
17648
  */
17495
17649
  setCustomValidityValueMissing: {
17496
- type: String
17650
+ type: String,
17651
+ attribute: 'setcustomvalidityvaluemissing'
17497
17652
  },
17498
17653
 
17499
17654
  /**
17500
17655
  * @ignore
17501
17656
  */
17502
17657
  showPassword: {
17503
- state: true
17658
+ state: true,
17659
+ attribute: false
17504
17660
  },
17505
17661
 
17506
17662
  /**
@@ -17512,7 +17668,8 @@ class BaseInput extends AuroElement$1 {
17512
17668
  },
17513
17669
 
17514
17670
  /**
17515
- * An enumerated attribute defines whether the element may be checked for spelling errors. [true, false]. When set to `false` the attribute `autocorrect` is set to `off` and `autocapitalize` is set to `none`.
17671
+ * An enumerated attribute defines whether the element may be checked for spelling errors. When set to `false` the attribute `autocorrect` is set to `off` and `autocapitalize` is set to `none`.
17672
+ * @type {'true' | 'false'}
17516
17673
  */
17517
17674
  spellcheck: {
17518
17675
  type: String,
@@ -17543,7 +17700,8 @@ class BaseInput extends AuroElement$1 {
17543
17700
  * Sets validation mode to re-eval with each input.
17544
17701
  */
17545
17702
  validateOnInput: {
17546
- type: Boolean
17703
+ type: Boolean,
17704
+ attribute: 'validateoninput'
17547
17705
  },
17548
17706
 
17549
17707
  /**
@@ -18597,6 +18755,8 @@ let AuroHelpText$1 = class AuroHelpText extends i$3 {
18597
18755
  super();
18598
18756
 
18599
18757
  this.error = false;
18758
+
18759
+ /** @type {'default' | 'inverse'} */
18600
18760
  this.appearance = "default";
18601
18761
  this.onDark = false;
18602
18762
  this.hasTextContent = false;
@@ -18617,8 +18777,8 @@ let AuroHelpText$1 = class AuroHelpText extends i$3 {
18617
18777
  return {
18618
18778
 
18619
18779
  /**
18620
- * Defines whether the component will be on lighter or darker backgrounds.
18621
- * @property {'default', 'inverse'} - The appearance of the help text, either default (for light backgrounds) or inverse (for dark backgrounds).
18780
+ * The appearance of the help text, either default (for light backgrounds) or inverse (for dark backgrounds).
18781
+ * @type {'default' | 'inverse'}
18622
18782
  * @default 'default'
18623
18783
  */
18624
18784
  appearance: {
@@ -18631,6 +18791,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$3 {
18631
18791
  */
18632
18792
  slotNodes: {
18633
18793
  type: Boolean,
18794
+ attribute: 'slotnodes',
18634
18795
  },
18635
18796
 
18636
18797
  /**
@@ -18638,6 +18799,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$3 {
18638
18799
  */
18639
18800
  hasTextContent: {
18640
18801
  type: Boolean,
18802
+ attribute: 'hastextcontent',
18641
18803
  },
18642
18804
 
18643
18805
  /**
@@ -18653,6 +18815,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$3 {
18653
18815
  */
18654
18816
  onDark: {
18655
18817
  type: Boolean,
18818
+ attribute: 'ondark',
18656
18819
  reflect: true
18657
18820
  }
18658
18821
  };
@@ -18723,7 +18886,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$3 {
18723
18886
  }
18724
18887
  };
18725
18888
 
18726
- var formkitVersion$1 = '202608261850';
18889
+ var formkitVersion$1 = '202608300032';
18727
18890
 
18728
18891
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
18729
18892
  // See LICENSE in the project root for license information.
@@ -19737,6 +19900,9 @@ var headerVersion = '5.0.1';
19737
19900
  * @slot subheader - Slot for the subheader content.
19738
19901
  * @slot footer - Slot for the footer content.
19739
19902
  * @slot ariaLabel.close - Slot for the close button aria-label.
19903
+ * @csspart bibtemplate - The outermost bibtemplate container element.
19904
+ * @event close-click - Notifies when the close button is clicked.
19905
+ * @event auro-bibtemplate-connected - Notifies that the bibtemplate has connected to the DOM, passing a reference to the element in the event detail.
19740
19906
  */
19741
19907
  class AuroBibtemplate extends i$3 {
19742
19908
 
@@ -19776,10 +19942,19 @@ class AuroBibtemplate extends i$3 {
19776
19942
  // function to define props used within the scope of this component
19777
19943
  static get properties() {
19778
19944
  return {
19945
+
19946
+ /**
19947
+ * If declared, the bibtemplate renders in fullscreen mode, exposing the header, subheader, and footer regions.
19948
+ */
19779
19949
  isFullscreen: {
19780
19950
  type: Boolean,
19951
+ attribute: 'isfullscreen',
19781
19952
  reflect: true
19782
19953
  },
19954
+
19955
+ /**
19956
+ * If declared, the fullscreen headline renders using the larger display heading style.
19957
+ */
19783
19958
  large: {
19784
19959
  type: Boolean,
19785
19960
  reflect: true
@@ -19790,6 +19965,7 @@ class AuroBibtemplate extends i$3 {
19790
19965
  */
19791
19966
  showFooter: {
19792
19967
  type: Boolean,
19968
+ attribute: 'showfooter',
19793
19969
  reflect: true
19794
19970
  }
19795
19971
  };
@@ -19902,7 +20078,7 @@ class AuroBibtemplate extends i$3 {
19902
20078
  }
19903
20079
  }
19904
20080
 
19905
- var formkitVersion = '202608261850';
20081
+ var formkitVersion = '202608300032';
19906
20082
 
19907
20083
  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}`;
19908
20084
 
@@ -19910,37 +20086,37 @@ var styleEmphasizedCss = i$6`:host([layout*=emphasized][shape*=pill]) [auro-inpu
19910
20086
 
19911
20087
  var styleSnowflakeCss = i$6`:host([layout*=snowflake][shape*=snowflake]) [auro-input]{width:100%}:host([layout*=snowflake][shape*=snowflake]) [auro-input]::part(inputHelpText){display:none}:host([layout*=snowflake][shape*=snowflake])::part(helpText){text-align:center}`;
19912
20088
 
20089
+ /**
20090
+ * AuroElement is the shared base class for layout-aware Auro form components.
20091
+ *
20092
+ * It defines the common `layout`, `shape`, `size`, and `ondark` reactive
20093
+ * properties and the architecture helpers (`renderLayout`, `resetShapeClasses`,
20094
+ * `resetLayoutClasses`) that subclasses use to render a chosen layout and apply
20095
+ * the matching `shape-*` / `layout-*` wrapper classes. Subclasses supply their
20096
+ * own default and valid value set for `layout`, `shape`, and `size`.
20097
+ */
19913
20098
  class AuroElement extends i$3 {
19914
20099
  static get properties() {
19915
20100
  return {
19916
20101
 
19917
20102
  /**
19918
- * Defines the language of an element.
19919
- * @default {'default'}
20103
+ * When true, renders the component styled for use on a dark background.
19920
20104
  */
19921
- layout: {
19922
- type: String,
19923
- attribute: "layout",
19924
- reflect: true
19925
- },
19926
-
19927
- shape: {
19928
- type: String,
19929
- attribute: "shape",
19930
- reflect: true
19931
- },
19932
-
19933
- size: {
19934
- type: String,
19935
- attribute: "size",
19936
- reflect: true
19937
- },
19938
-
19939
20105
  onDark: {
19940
20106
  type: Boolean,
19941
20107
  attribute: "ondark",
19942
20108
  reflect: true
19943
20109
  }
20110
+
20111
+ // NOTE: `layout`, `shape`, and `size` are intentionally NOT declared here.
20112
+ // Their valid value sets differ per component, and the CEM analyzer roots
20113
+ // an inherited property's `type` in the class that declares it — a base
20114
+ // declaration would force every subclass's `@type` to be discarded and
20115
+ // emitted as plain `string`. Each subclass declares its own `layout` /
20116
+ // `shape` / `size` with an exact `@type` union instead. AuroElement still
20117
+ // consumes `this.layout` / `this.shape` / `this.size` in its render and
20118
+ // architecture helpers below (subclasses guarantee the reactive props).
20119
+ // See AlaskaAirlines/discussions#653.
19944
20120
  };
19945
20121
  }
19946
20122
 
@@ -20116,6 +20292,8 @@ class AuroHelpText extends i$3 {
20116
20292
  super();
20117
20293
 
20118
20294
  this.error = false;
20295
+
20296
+ /** @type {'default' | 'inverse'} */
20119
20297
  this.appearance = "default";
20120
20298
  this.onDark = false;
20121
20299
  this.hasTextContent = false;
@@ -20136,8 +20314,8 @@ class AuroHelpText extends i$3 {
20136
20314
  return {
20137
20315
 
20138
20316
  /**
20139
- * Defines whether the component will be on lighter or darker backgrounds.
20140
- * @property {'default', 'inverse'} - The appearance of the help text, either default (for light backgrounds) or inverse (for dark backgrounds).
20317
+ * The appearance of the help text, either default (for light backgrounds) or inverse (for dark backgrounds).
20318
+ * @type {'default' | 'inverse'}
20141
20319
  * @default 'default'
20142
20320
  */
20143
20321
  appearance: {
@@ -20150,6 +20328,7 @@ class AuroHelpText extends i$3 {
20150
20328
  */
20151
20329
  slotNodes: {
20152
20330
  type: Boolean,
20331
+ attribute: 'slotnodes',
20153
20332
  },
20154
20333
 
20155
20334
  /**
@@ -20157,6 +20336,7 @@ class AuroHelpText extends i$3 {
20157
20336
  */
20158
20337
  hasTextContent: {
20159
20338
  type: Boolean,
20339
+ attribute: 'hastextcontent',
20160
20340
  },
20161
20341
 
20162
20342
  /**
@@ -20172,6 +20352,7 @@ class AuroHelpText extends i$3 {
20172
20352
  */
20173
20353
  onDark: {
20174
20354
  type: Boolean,
20355
+ attribute: 'ondark',
20175
20356
  reflect: true
20176
20357
  }
20177
20358
  };
@@ -20302,6 +20483,7 @@ function getOptionLabel(option) {
20302
20483
  * @slot label - Defines the content of the label.
20303
20484
  * @slot helpText - Defines the content of the helpText.
20304
20485
  * @slot displayValue - Allows custom HTML content to display the selected value when the combobox is not focused. Only works with `snowflake` and `emphasized` layouts.
20486
+ * @csspart helpText - The help text and error message content container.
20305
20487
  * @event auroCombobox-valueSet - (Deprecated) Notifies that the component has a new value set.
20306
20488
  * @event input - Notifies that the component has a new value set.
20307
20489
  * @event inputValue - Notifies that the components internal HTML5 input value has changed.
@@ -20321,6 +20503,7 @@ class AuroCombobox extends AuroElement {
20321
20503
  */
20322
20504
  _initializeDefaults() {
20323
20505
  // Defaults that effect the combobox behavior and state
20506
+ /** @type {'default' | 'inverse'} */
20324
20507
  this.appearance = "default";
20325
20508
  this.disabled = false;
20326
20509
  this.msgSelectionMissing = 'Please select an option.';
@@ -20406,7 +20589,7 @@ class AuroCombobox extends AuroElement {
20406
20589
 
20407
20590
  /**
20408
20591
  * Defines whether the component will be on lighter or darker backgrounds.
20409
- * @property {'default' | 'inverse'} appearance - The visual appearance of the component.
20592
+ * @type {'default' | 'inverse'}
20410
20593
  * @default 'default'
20411
20594
  */
20412
20595
  appearance: {
@@ -20427,6 +20610,7 @@ class AuroCombobox extends AuroElement {
20427
20610
  */
20428
20611
  autoPlacement: {
20429
20612
  type: Boolean,
20613
+ attribute: 'autoplacement',
20430
20614
  reflect: true
20431
20615
  },
20432
20616
 
@@ -20434,9 +20618,11 @@ class AuroCombobox extends AuroElement {
20434
20618
  * Array of available options to display in the dropdown.
20435
20619
  * This array contains all non-hidden options (e.g., hidden by filtering on input value).
20436
20620
  * @private
20621
+ * @type {HTMLElement[]}
20437
20622
  */
20438
20623
  availableOptions: {
20439
20624
  state: true,
20625
+ attribute: false,
20440
20626
  type: Array,
20441
20627
  reflect: false,
20442
20628
  hasChanged(newVal, oldVal) {
@@ -20506,6 +20692,7 @@ class AuroCombobox extends AuroElement {
20506
20692
  */
20507
20693
  dvInputOnly: {
20508
20694
  type: Boolean,
20695
+ attribute: 'dvinputonly',
20509
20696
  reflect: true
20510
20697
  },
20511
20698
 
@@ -20539,6 +20726,29 @@ class AuroCombobox extends AuroElement {
20539
20726
  */
20540
20727
  layout: {
20541
20728
  type: String,
20729
+ attribute: "layout",
20730
+ reflect: true
20731
+ },
20732
+
20733
+ /**
20734
+ * Sets the shape of the combobox.
20735
+ * @type {'box' | 'classic' | 'pill' | 'pill-left' | 'pill-right' | 'rounded' | 'snowflake'}
20736
+ * @default 'classic'
20737
+ */
20738
+ shape: {
20739
+ type: String,
20740
+ attribute: "shape",
20741
+ reflect: true
20742
+ },
20743
+
20744
+ /**
20745
+ * Sets the size of the combobox.
20746
+ * @type {'xs' | 'sm' | 'md' | 'lg' | 'xl'}
20747
+ * @default 'xl'
20748
+ */
20749
+ size: {
20750
+ type: String,
20751
+ attribute: "size",
20542
20752
  reflect: true
20543
20753
  },
20544
20754
 
@@ -20548,6 +20758,7 @@ class AuroCombobox extends AuroElement {
20548
20758
  */
20549
20759
  matchWidth: {
20550
20760
  type: Boolean,
20761
+ attribute: 'matchwidth',
20551
20762
  reflect: true
20552
20763
  },
20553
20764
 
@@ -20556,6 +20767,7 @@ class AuroCombobox extends AuroElement {
20556
20767
  */
20557
20768
  noFilter: {
20558
20769
  type: Boolean,
20770
+ attribute: 'nofilter',
20559
20771
  reflect: true
20560
20772
  },
20561
20773
 
@@ -20565,6 +20777,7 @@ class AuroCombobox extends AuroElement {
20565
20777
  */
20566
20778
  noFlip: {
20567
20779
  type: Boolean,
20780
+ attribute: 'noflip',
20568
20781
  reflect: true
20569
20782
  },
20570
20783
 
@@ -20581,6 +20794,7 @@ class AuroCombobox extends AuroElement {
20581
20794
  */
20582
20795
  noValidate: {
20583
20796
  type: Boolean,
20797
+ attribute: 'novalidate',
20584
20798
  reflect: true
20585
20799
  },
20586
20800
 
@@ -20598,6 +20812,7 @@ class AuroCombobox extends AuroElement {
20598
20812
  */
20599
20813
  onDark: {
20600
20814
  type: Boolean,
20815
+ attribute: 'ondark',
20601
20816
  reflect: true
20602
20817
  },
20603
20818
 
@@ -20606,7 +20821,8 @@ class AuroCombobox extends AuroElement {
20606
20821
  * @type {HTMLElement}
20607
20822
  */
20608
20823
  optionSelected: {
20609
- type: Object
20824
+ type: Object,
20825
+ attribute: 'optionselected'
20610
20826
  },
20611
20827
 
20612
20828
  /**
@@ -20616,6 +20832,7 @@ class AuroCombobox extends AuroElement {
20616
20832
  */
20617
20833
  persistInput: {
20618
20834
  type: Boolean,
20835
+ attribute: 'persistinput',
20619
20836
  reflect: true
20620
20837
  },
20621
20838
 
@@ -20649,28 +20866,32 @@ class AuroCombobox extends AuroElement {
20649
20866
  * Sets a custom help text message to display for all validityStates.
20650
20867
  */
20651
20868
  setCustomValidity: {
20652
- type: String
20869
+ type: String,
20870
+ attribute: 'setcustomvalidity'
20653
20871
  },
20654
20872
 
20655
20873
  /**
20656
20874
  * Custom help text message to display when validity = `customError`.
20657
20875
  */
20658
20876
  setCustomValidityCustomError: {
20659
- type: String
20877
+ type: String,
20878
+ attribute: 'setcustomvaliditycustomerror'
20660
20879
  },
20661
20880
 
20662
20881
  /**
20663
20882
  * Custom help text message to display when validity = `valueMissing`.
20664
20883
  */
20665
20884
  setCustomValidityValueMissing: {
20666
- type: String
20885
+ type: String,
20886
+ attribute: 'setcustomvalidityvaluemissing'
20667
20887
  },
20668
20888
 
20669
20889
  /**
20670
20890
  * Custom help text message to display when validity = `valueMissing` due to the user not choosing a menu option when behavior = "filter".
20671
20891
  */
20672
20892
  setCustomValidityValueMissingFilter: {
20673
- type: String
20893
+ type: String,
20894
+ attribute: 'setcustomvalidityvaluemissingfilter'
20674
20895
  },
20675
20896
 
20676
20897
  /**
@@ -20690,11 +20911,13 @@ class AuroCombobox extends AuroElement {
20690
20911
  */
20691
20912
  triggerIcon: {
20692
20913
  type: Boolean,
20914
+ attribute: 'triggericon',
20693
20915
  reflect: true
20694
20916
  },
20695
20917
 
20696
20918
  /**
20697
20919
  * Applies the defined value as the type attribute on `auro-input`.
20920
+ * @type {'text' | 'password' | 'email' | 'credit-card' | 'tel' | 'number' | 'date'}
20698
20921
  */
20699
20922
  type: {
20700
20923
  type: String,
@@ -20706,6 +20929,7 @@ class AuroCombobox extends AuroElement {
20706
20929
  */
20707
20930
  typedValue: {
20708
20931
  type: String,
20932
+ attribute: 'typedvalue',
20709
20933
  reflect: true
20710
20934
  },
20711
20935
 
@@ -20731,6 +20955,7 @@ class AuroCombobox extends AuroElement {
20731
20955
  */
20732
20956
  largeFullscreenHeadline: {
20733
20957
  type: Boolean,
20958
+ attribute: 'largefullscreenheadline',
20734
20959
  reflect: true
20735
20960
  },
20736
20961
  /* eslint-enable jsdoc/require-description-complete-sentence */
@@ -20745,12 +20970,14 @@ class AuroCombobox extends AuroElement {
20745
20970
  */
20746
20971
  fullscreenBreakpoint: {
20747
20972
  type: String,
20973
+ attribute: "fullscreenbreakpoint",
20748
20974
  reflect: true
20749
20975
  },
20750
20976
 
20751
20977
  /**
20752
20978
  * Specifies the currently active option.
20753
20979
  * @private
20980
+ * @type {HTMLElement}
20754
20981
  */
20755
20982
  optionActive: {
20756
20983
  type: Object,
@@ -22521,6 +22748,7 @@ let menuInstanceIdCounter = 0;
22521
22748
  * @event {CustomEvent<Element>} auroMenu-activatedOption - Notifies that a menuoption has been made `active`.
22522
22749
  * @event {CustomEvent<any>} auroMenu-customEventFired - Notifies that a custom event has been fired.
22523
22750
  * @event {CustomEvent<{ loading: boolean; hasLoadingPlaceholder: boolean; }>} auroMenu-loadingChange - Notifies when the loading attribute is changed.
22751
+ * @event {CustomEvent<{ options: Array<HTMLElement> }>} auroMenu-optionsChange - Notifies that the set of available menu options has changed.
22524
22752
  * @event {CustomEvent<any>} auroMenu-selectValueFailure - Notifies that an attempt to select a menuoption by matching a value has failed.
22525
22753
  * @event {CustomEvent<any>} auroMenu-selectValueReset - Notifies that the component value has been reset.
22526
22754
  * @event {CustomEvent<any>} auroMenu-selectedOption - Notifies that a new menuoption selection has been made.
@@ -22535,15 +22763,7 @@ class AuroMenu extends AuroElement {
22535
22763
 
22536
22764
  // State properties (reactive)
22537
22765
 
22538
- /**
22539
- * @private
22540
- */
22541
- this.shape = "box";
22542
-
22543
- /**
22544
- * @private
22545
- */
22546
- this.size = "sm";
22766
+ this.initializeArchitectureDefaults();
22547
22767
 
22548
22768
  // Value of the selected options
22549
22769
  this.value = undefined;
@@ -22584,8 +22804,6 @@ class AuroMenu extends AuroElement {
22584
22804
 
22585
22805
  // Instance properties (non-reactive)
22586
22806
 
22587
- menuInstanceIdCounter += 1;
22588
-
22589
22807
  Object.assign(this, {
22590
22808
  // Root-level menu (true) or a nested submenu (false)
22591
22809
  rootMenu: true,
@@ -22597,7 +22815,7 @@ class AuroMenu extends AuroElement {
22597
22815
  loadingSlots: null,
22598
22816
  // Unique id for this menu instance; prefixes every auto-generated option
22599
22817
  // key so keys never collide across menus in the same document.
22600
- _menuInstanceId: `menu-${menuInstanceIdCounter}`,
22818
+ _menuInstanceId: `menu-${menuInstanceIdCounter += 1}`,
22601
22819
  // Monotonically increasing counter for option key generation. Never
22602
22820
  // resets, so a key is never reused within this instance's lifetime.
22603
22821
  _optionKeyCounter: 0,
@@ -22613,10 +22831,50 @@ class AuroMenu extends AuroElement {
22613
22831
  });
22614
22832
  }
22615
22833
 
22834
+ // Defaults for the layout/shape/size architecture props are set in a helper
22835
+ // (not the constructor body) so the CEM analyzer keeps their `@type` unions
22836
+ // instead of inferring `string` from a constructor-literal assignment.
22837
+ // See AlaskaAirlines/discussions#653.
22838
+ initializeArchitectureDefaults() {
22839
+ this.shape = "box";
22840
+ this.size = "sm";
22841
+ }
22842
+
22616
22843
  static get properties() {
22617
22844
  return {
22618
22845
  ...super.properties,
22619
22846
 
22847
+ /**
22848
+ * Applies a named layout variant to the menu. Free-form string consumed by the shared architecture helpers; menu defines no closed value set.
22849
+ */
22850
+ layout: {
22851
+ type: String,
22852
+ attribute: "layout",
22853
+ reflect: true
22854
+ },
22855
+
22856
+ /**
22857
+ * Sets the shape of the menu options.
22858
+ * @type {'box' | 'pill' | 'snowflake'}
22859
+ * @default 'box'
22860
+ */
22861
+ shape: {
22862
+ type: String,
22863
+ attribute: "shape",
22864
+ reflect: true
22865
+ },
22866
+
22867
+ /**
22868
+ * Sets the size of the menu options.
22869
+ * @type {'xs' | 'sm' | 'md' | 'lg' | 'xl'}
22870
+ * @default 'sm'
22871
+ */
22872
+ size: {
22873
+ type: String,
22874
+ attribute: "size",
22875
+ reflect: true
22876
+ },
22877
+
22620
22878
  /**
22621
22879
  * When true, the entire menu and all options are disabled.
22622
22880
  */
@@ -22672,6 +22930,7 @@ class AuroMenu extends AuroElement {
22672
22930
  /**
22673
22931
  * Specifies the current active menuOption.
22674
22932
  * @readonly
22933
+ * @type {HTMLElement}
22675
22934
  */
22676
22935
  optionActive: {
22677
22936
  type: Object,
@@ -22681,6 +22940,7 @@ class AuroMenu extends AuroElement {
22681
22940
  /**
22682
22941
  * The currently selected menu option(s). In single-select mode this is a single `HTMLElement` (or `undefined` when nothing is selected). In multi-select mode this is an array of `HTMLElement`s.
22683
22942
  * @readonly
22943
+ * @type {HTMLElement | HTMLElement[]}
22684
22944
  */
22685
22945
  optionSelected: {
22686
22946
  // Allow HTMLElement, HTMLElement[] arrays and undefined
@@ -23898,9 +24158,36 @@ class AuroMenuOption extends AuroElement {
23898
24158
  static get properties() {
23899
24159
  return {
23900
24160
  ...super.properties,
24161
+
24162
+ /**
24163
+ * Sets the shape of the option. When unset, it inherits the shape of the parent `auro-menu`.
24164
+ * @type {'box' | 'pill' | 'snowflake'}
24165
+ * @default 'box'
24166
+ */
24167
+ shape: {
24168
+ type: String,
24169
+ attribute: "shape",
24170
+ reflect: true
24171
+ },
24172
+
24173
+ /**
24174
+ * Sets the size of the option. When unset, it inherits the size of the parent `auro-menu`.
24175
+ * @type {'xs' | 'sm' | 'md' | 'lg' | 'xl'}
24176
+ * @default 'sm'
24177
+ */
24178
+ size: {
24179
+ type: String,
24180
+ attribute: "size",
24181
+ reflect: true
24182
+ },
24183
+
24184
+ /**
24185
+ * When true, this option will not show the checkmark when selected.
24186
+ */
23901
24187
  noCheckmark: {
23902
24188
  type: Boolean,
23903
- reflect: true
24189
+ reflect: true,
24190
+ attribute: 'nocheckmark'
23904
24191
  },
23905
24192
 
23906
24193
  /**
@@ -23912,21 +24199,34 @@ class AuroMenuOption extends AuroElement {
23912
24199
  type: Boolean,
23913
24200
  reflect: true
23914
24201
  },
24202
+
24203
+ /**
24204
+ * When true, the option is disabled and cannot be selected.
24205
+ */
23915
24206
  disabled: {
23916
24207
  type: Boolean,
23917
24208
  reflect: true
23918
24209
  },
24210
+
24211
+ /**
24212
+ * The value associated with this menu option.
24213
+ */
23919
24214
  value: {
23920
24215
  type: String,
23921
24216
  reflect: true
23922
24217
  },
24218
+
24219
+ /**
24220
+ * Sets the tab order of the menu option.
24221
+ */
23923
24222
  tabIndex: {
23924
24223
  type: Number,
23925
- reflect: true
24224
+ reflect: true,
24225
+ attribute: 'tabindex'
23926
24226
  },
23927
24227
 
23928
24228
  /**
23929
- * @private
24229
+ * When set, selecting this option dispatches a custom event of the given name from the parent `auro-menu` (and an `auroMenu-customEventFired` event) instead of selecting the option.
23930
24230
  */
23931
24231
  event: {
23932
24232
  type: String,