@aurodesignsystem-dev/auro-formkit 0.0.0-pr1594.2 → 0.0.0-pr1595.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 (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 +24 -16
  13. package/components/combobox/demo/customize.min.js +405 -121
  14. package/components/combobox/demo/getting-started.min.js +405 -121
  15. package/components/combobox/demo/index.min.js +405 -121
  16. package/components/combobox/dist/auro-combobox.d.ts +29 -0
  17. package/components/combobox/dist/index.js +320 -107
  18. package/components/combobox/dist/registered.js +320 -107
  19. package/components/counter/demo/api.md +33 -15
  20. package/components/counter/demo/customize.min.js +201 -64
  21. package/components/counter/demo/index.min.js +201 -64
  22. package/components/counter/dist/auro-counter-button.d.ts +4 -0
  23. package/components/counter/dist/auro-counter-group.d.ts +23 -0
  24. package/components/counter/dist/auro-counter.d.ts +7 -0
  25. package/components/counter/dist/index.js +201 -64
  26. package/components/counter/dist/registered.js +201 -64
  27. package/components/datepicker/demo/api.md +55 -49
  28. package/components/datepicker/demo/customize.min.js +483 -131
  29. package/components/datepicker/demo/index.min.js +483 -131
  30. package/components/datepicker/dist/auro-calendar-cell.d.ts +55 -0
  31. package/components/datepicker/dist/auro-calendar-month.d.ts +9 -1
  32. package/components/datepicker/dist/auro-calendar.d.ts +16 -0
  33. package/components/datepicker/dist/auro-datepicker.d.ts +63 -10
  34. package/components/datepicker/dist/index.js +483 -131
  35. package/components/datepicker/dist/registered.js +483 -131
  36. package/components/dropdown/demo/api.md +25 -22
  37. package/components/dropdown/demo/customize.min.js +106 -37
  38. package/components/dropdown/demo/getting-started.min.js +232 -79
  39. package/components/dropdown/demo/index.min.js +106 -37
  40. package/components/dropdown/dist/auro-dropdown.d.ts +33 -4
  41. package/components/dropdown/dist/auro-dropdownBib.d.ts +17 -5
  42. package/components/dropdown/dist/index.js +106 -37
  43. package/components/dropdown/dist/registered.js +106 -37
  44. package/components/form/demo/customize.min.js +1448 -455
  45. package/components/form/demo/getting-started.min.js +1448 -455
  46. package/components/form/demo/index.min.js +1448 -455
  47. package/components/form/demo/registerDemoDeps.min.js +1448 -455
  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 +126 -42
  53. package/components/input/demo/getting-started.min.js +126 -42
  54. package/components/input/demo/index.min.js +126 -42
  55. package/components/input/dist/base-input.d.ts +67 -22
  56. package/components/input/dist/index.js +126 -42
  57. package/components/input/dist/registered.js +126 -42
  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 +30 -27
  62. package/components/menu/demo/index.min.js +105 -34
  63. package/components/menu/dist/auro-menu.d.ts +24 -13
  64. package/components/menu/dist/auro-menuoption.d.ts +26 -0
  65. package/components/menu/dist/index.js +105 -34
  66. package/components/menu/dist/registered.js +105 -34
  67. package/components/radio/demo/api.md +8 -7
  68. package/components/radio/demo/customize.min.js +20 -7
  69. package/components/radio/demo/getting-started.min.js +20 -7
  70. package/components/radio/demo/index.min.js +20 -7
  71. package/components/radio/dist/auro-radio-group.d.ts +7 -0
  72. package/components/radio/dist/auro-radio.d.ts +1 -0
  73. package/components/radio/dist/index.js +20 -7
  74. package/components/radio/dist/registered.js +20 -7
  75. package/components/select/demo/api.md +18 -15
  76. package/components/select/demo/customize.min.js +255 -78
  77. package/components/select/demo/getting-started.min.js +255 -78
  78. package/components/select/demo/index.min.js +255 -78
  79. package/components/select/dist/auro-select.d.ts +17 -0
  80. package/components/select/dist/index.js +170 -64
  81. package/components/select/dist/registered.js +170 -64
  82. package/custom-elements.json +2573 -2680
  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 = '202608291822';
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: 'hastriggercontent'
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,6 +5677,7 @@ 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
 
@@ -5619,6 +5686,7 @@ class AuroDropdown extends AuroElement$2 {
5619
5686
  */
5620
5687
  onSlotChange: {
5621
5688
  type: Function,
5689
+ attribute: 'onslotchange',
5622
5690
  reflect: false
5623
5691
  },
5624
5692
 
@@ -5633,10 +5701,11 @@ class AuroDropdown extends AuroElement$2 {
5633
5701
  },
5634
5702
 
5635
5703
  /**
5636
- * @private
5704
+ * Sets the tabindex applied to the dropdown trigger for keyboard focus order.
5637
5705
  */
5638
5706
  tabIndex: {
5639
- type: Number
5707
+ type: Number,
5708
+ attribute: 'tabindex'
5640
5709
  },
5641
5710
 
5642
5711
  /**
@@ -5860,7 +5929,7 @@ class AuroDropdown extends AuroElement$2 {
5860
5929
  /**
5861
5930
  * @description Let subscribers know that the dropdown ID ha been generated and added.
5862
5931
  * @event auroDropdown-idAdded
5863
- * @type {Object<key: 'id', value: string>} - The ID of the dropdown bib element.
5932
+ * @type {CustomEvent<{ id: string }>} - Detail carries the generated ID of the dropdown bib element.
5864
5933
  */
5865
5934
  this.dispatchEvent(new CustomEvent('auroDropdown-idAdded', {detail: {id: this.floater.element.id}}));
5866
5935
 
@@ -11009,37 +11078,37 @@ class AuroFormValidation {
11009
11078
  }
11010
11079
  }
11011
11080
 
11081
+ /**
11082
+ * AuroElement is the shared base class for layout-aware Auro form components.
11083
+ *
11084
+ * It defines the common `layout`, `shape`, `size`, and `ondark` reactive
11085
+ * properties and the architecture helpers (`renderLayout`, `resetShapeClasses`,
11086
+ * `resetLayoutClasses`) that subclasses use to render a chosen layout and apply
11087
+ * the matching `shape-*` / `layout-*` wrapper classes. Subclasses supply their
11088
+ * own default and valid value set for `layout`, `shape`, and `size`.
11089
+ */
11012
11090
  let AuroElement$1 = class AuroElement extends i$3 {
11013
11091
  static get properties() {
11014
11092
  return {
11015
11093
 
11016
11094
  /**
11017
- * Defines the language of an element.
11018
- * @default {'default'}
11095
+ * When true, renders the component styled for use on a dark background.
11019
11096
  */
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
11097
  onDark: {
11039
11098
  type: Boolean,
11040
11099
  attribute: "ondark",
11041
11100
  reflect: true
11042
11101
  }
11102
+
11103
+ // NOTE: `layout`, `shape`, and `size` are intentionally NOT declared here.
11104
+ // Their valid value sets differ per component, and the CEM analyzer roots
11105
+ // an inherited property's `type` in the class that declares it — a base
11106
+ // declaration would force every subclass's `@type` to be discarded and
11107
+ // emitted as plain `string`. Each subclass declares its own `layout` /
11108
+ // `shape` / `size` with an exact `@type` union instead. AuroElement still
11109
+ // consumes `this.layout` / `this.shape` / `this.size` in its render and
11110
+ // architecture helpers below (subclasses guarantee the reactive props).
11111
+ // See AlaskaAirlines/discussions#653.
11043
11112
  };
11044
11113
  }
11045
11114
 
@@ -17006,6 +17075,7 @@ class DomHandler {
17006
17075
  * Base class for auro-input component that provides core input functionality.
17007
17076
  * @event input - Event fires when the value of an `auro-input` has been changed.
17008
17077
  * @event auroFormElement-validated - Notifies that the `validity` and `errorMessage` value has changed.
17078
+ * @event auroInput-validityChange - Notifies that the `validity` state of the input has changed.
17009
17079
  */
17010
17080
  class BaseInput extends AuroElement$1 {
17011
17081
 
@@ -17045,6 +17115,8 @@ class BaseInput extends AuroElement$1 {
17045
17115
  "credit-card",
17046
17116
  "tel"
17047
17117
  ];
17118
+
17119
+ /** @type {'default' | 'inverse'} */
17048
17120
  this.appearance = "default";
17049
17121
 
17050
17122
  /** @private */
@@ -17078,7 +17150,6 @@ class BaseInput extends AuroElement$1 {
17078
17150
 
17079
17151
  /** @private */
17080
17152
  this.label = 'Input label is undefined';
17081
- this.layout = 'classic';
17082
17153
  this.locale = 'en-US';
17083
17154
  this._format = undefined;
17084
17155
 
@@ -17100,11 +17171,9 @@ class BaseInput extends AuroElement$1 {
17100
17171
  "password",
17101
17172
  "email"
17102
17173
  ];
17103
- this.shape = 'classic';
17104
17174
 
17105
17175
  /** @private */
17106
17176
  this.showPassword = false;
17107
- this.size = 'lg';
17108
17177
  this.touched = false;
17109
17178
 
17110
17179
  /** @private */
@@ -17122,6 +17191,24 @@ class BaseInput extends AuroElement$1 {
17122
17191
  /** @private */
17123
17192
  this.validationCCLength = undefined;
17124
17193
  this.value = undefined;
17194
+
17195
+ this.initializeArchitectureDefaults();
17196
+ }
17197
+
17198
+ /**
17199
+ * Sets the default `layout`, `shape`, and `size` values.
17200
+ *
17201
+ * These are assigned in a helper method rather than the constructor body so
17202
+ * the CEM analyzer keeps their `@type` string-literal unions (a literal
17203
+ * assignment in the constructor would make the analyzer infer `string` and
17204
+ * override the union — see AlaskaAirlines/discussions#653, gotcha 1).
17205
+ * @private
17206
+ * @returns {void}
17207
+ */
17208
+ initializeArchitectureDefaults() {
17209
+ this.layout = 'classic';
17210
+ this.shape = 'classic';
17211
+ this.size = 'lg';
17125
17212
  }
17126
17213
 
17127
17214
  // function to define props used within the scope of this component
@@ -17129,11 +17216,45 @@ class BaseInput extends AuroElement$1 {
17129
17216
  return {
17130
17217
  ...super.properties,
17131
17218
 
17219
+ /**
17220
+ * Sets the layout variant of the input.
17221
+ * @type {'classic' | 'emphasized' | 'emphasized-left' | 'emphasized-right' | 'snowflake' | 'snowflake-left' | 'snowflake-right'}
17222
+ * @default 'classic'
17223
+ */
17224
+ layout: {
17225
+ type: String,
17226
+ attribute: "layout",
17227
+ reflect: true
17228
+ },
17229
+
17230
+ /**
17231
+ * Sets the shape of the input.
17232
+ * @type {'box' | 'classic' | 'pill' | 'pill-left' | 'pill-right' | 'rounded' | 'snowflake'}
17233
+ * @default 'classic'
17234
+ */
17235
+ shape: {
17236
+ type: String,
17237
+ attribute: "shape",
17238
+ reflect: true
17239
+ },
17240
+
17241
+ /**
17242
+ * Sets the size of the input.
17243
+ * @type {'xs' | 'sm' | 'md' | 'lg' | 'xl'}
17244
+ * @default 'lg'
17245
+ */
17246
+ size: {
17247
+ type: String,
17248
+ attribute: "size",
17249
+ reflect: true
17250
+ },
17251
+
17132
17252
  /**
17133
17253
  * The value for the role attribute.
17134
17254
  */
17135
17255
  a11yRole: {
17136
17256
  type: String,
17257
+ attribute: 'a11yrole',
17137
17258
  reflect: true
17138
17259
  },
17139
17260
 
@@ -17142,6 +17263,7 @@ class BaseInput extends AuroElement$1 {
17142
17263
  */
17143
17264
  a11yControls: {
17144
17265
  type: String,
17266
+ attribute: 'a11ycontrols',
17145
17267
  reflect: true
17146
17268
  },
17147
17269
 
@@ -17150,6 +17272,7 @@ class BaseInput extends AuroElement$1 {
17150
17272
  */
17151
17273
  a11yExpanded: {
17152
17274
  type: Boolean,
17275
+ attribute: 'a11yexpanded',
17153
17276
  reflect: true
17154
17277
  },
17155
17278
 
@@ -17159,6 +17282,7 @@ class BaseInput extends AuroElement$1 {
17159
17282
  */
17160
17283
  a11yActivedescendant: {
17161
17284
  type: String,
17285
+ attribute: 'a11yactivedescendant',
17162
17286
  reflect: true
17163
17287
  },
17164
17288
 
@@ -17169,6 +17293,7 @@ class BaseInput extends AuroElement$1 {
17169
17293
  */
17170
17294
  activeLabel: {
17171
17295
  type: Boolean,
17296
+ attribute: 'activelabel',
17172
17297
  reflect: true
17173
17298
  },
17174
17299
 
@@ -17183,7 +17308,8 @@ class BaseInput extends AuroElement$1 {
17183
17308
  },
17184
17309
 
17185
17310
  /**
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].
17311
+ * An enumerated attribute that controls whether and how text input is automatically capitalized as it is entered/edited by the user.
17312
+ * @type {'off' | 'none' | 'on' | 'sentences' | 'words' | 'characters'}
17187
17313
  */
17188
17314
  autocapitalize: {
17189
17315
  type: String,
@@ -17200,6 +17326,7 @@ class BaseInput extends AuroElement$1 {
17200
17326
 
17201
17327
  /**
17202
17328
  * When set to `off`, stops iOS from auto-correcting words when typed into a text box.
17329
+ * @type {'on' | 'off'}
17203
17330
  */
17204
17331
  autocorrect: {
17205
17332
  type: String,
@@ -17210,7 +17337,8 @@ class BaseInput extends AuroElement$1 {
17210
17337
  * Custom help text message for email type validity.
17211
17338
  */
17212
17339
  customValidityTypeEmail: {
17213
- type: String
17340
+ type: String,
17341
+ attribute: 'customvaliditytypeemail'
17214
17342
  },
17215
17343
 
17216
17344
  /**
@@ -17226,6 +17354,7 @@ class BaseInput extends AuroElement$1 {
17226
17354
  */
17227
17355
  dvInputOnly: {
17228
17356
  type: Boolean,
17357
+ attribute: 'dvinputonly',
17229
17358
  reflect: true
17230
17359
  },
17231
17360
 
@@ -17241,7 +17370,8 @@ class BaseInput extends AuroElement$1 {
17241
17370
  * Contains the help text message for the current validity error.
17242
17371
  */
17243
17372
  errorMessage: {
17244
- type: String
17373
+ type: String,
17374
+ attribute: 'errormessage'
17245
17375
  },
17246
17376
 
17247
17377
  /**
@@ -17277,6 +17407,7 @@ class BaseInput extends AuroElement$1 {
17277
17407
  */
17278
17408
  hideLabelVisually: {
17279
17409
  type: Boolean,
17410
+ attribute: 'hidelabelvisually',
17280
17411
  reflect: true
17281
17412
  },
17282
17413
 
@@ -17343,6 +17474,7 @@ class BaseInput extends AuroElement$1 {
17343
17474
  */
17344
17475
  maxLength: {
17345
17476
  type: Number,
17477
+ attribute: 'maxlength',
17346
17478
  reflect: true
17347
17479
  },
17348
17480
 
@@ -17358,6 +17490,7 @@ class BaseInput extends AuroElement$1 {
17358
17490
  */
17359
17491
  minLength: {
17360
17492
  type: Number,
17493
+ attribute: 'minlength',
17361
17494
  reflect: true
17362
17495
  },
17363
17496
 
@@ -17383,6 +17516,7 @@ class BaseInput extends AuroElement$1 {
17383
17516
  */
17384
17517
  noValidate: {
17385
17518
  type: Boolean,
17519
+ attribute: 'novalidate',
17386
17520
  reflect: true
17387
17521
  },
17388
17522
 
@@ -17391,6 +17525,7 @@ class BaseInput extends AuroElement$1 {
17391
17525
  */
17392
17526
  onDark: {
17393
17527
  type: Boolean,
17528
+ attribute: 'ondark',
17394
17529
  reflect: true
17395
17530
  },
17396
17531
 
@@ -17430,77 +17565,88 @@ class BaseInput extends AuroElement$1 {
17430
17565
  * Sets a custom help text message to display for all validityStates.
17431
17566
  */
17432
17567
  setCustomValidity: {
17433
- type: String
17568
+ type: String,
17569
+ attribute: 'setcustomvalidity'
17434
17570
  },
17435
17571
 
17436
17572
  /**
17437
17573
  * Custom help text message to display when validity = `badInput`.
17438
17574
  */
17439
17575
  setCustomValidityBadInput: {
17440
- type: String
17576
+ type: String,
17577
+ attribute: 'setcustomvaliditybadinput'
17441
17578
  },
17442
17579
 
17443
17580
  /**
17444
17581
  * Custom help text message to display when validity = `customError`.
17445
17582
  */
17446
17583
  setCustomValidityCustomError: {
17447
- type: String
17584
+ type: String,
17585
+ attribute: 'setcustomvaliditycustomerror'
17448
17586
  },
17449
17587
 
17450
17588
  /**
17451
17589
  * Custom help text message to display for the declared element `type` and type validity fails.
17452
17590
  */
17453
17591
  setCustomValidityForType: {
17454
- type: String
17592
+ type: String,
17593
+ attribute: 'setcustomvalidityfortype'
17455
17594
  },
17456
17595
 
17457
17596
  /**
17458
17597
  * Custom help text message to display when validity = `patternMismatch`.
17459
17598
  */
17460
17599
  setCustomValidityPatternMismatch: {
17461
- type: String
17600
+ type: String,
17601
+ attribute: 'setcustomvaliditypatternmismatch'
17462
17602
  },
17463
17603
 
17464
17604
  /**
17465
17605
  * Custom help text message to display when validity = `rangeOverflow`.
17466
17606
  */
17467
17607
  setCustomValidityRangeOverflow: {
17468
- type: String
17608
+ type: String,
17609
+ attribute: 'setcustomvalidityrangeoverflow'
17469
17610
  },
17470
17611
 
17471
17612
  /**
17472
17613
  * Custom help text message to display when validity = `rangeUnderflow`.
17473
17614
  */
17474
17615
  setCustomValidityRangeUnderflow: {
17475
- type: String
17616
+ type: String,
17617
+ attribute: 'setcustomvalidityrangeunderflow'
17476
17618
  },
17477
17619
 
17478
17620
  /**
17479
17621
  * Custom help text message to display when validity = `tooLong`.
17480
17622
  */
17481
17623
  setCustomValidityTooLong: {
17482
- type: String
17624
+ type: String,
17625
+ attribute: 'setcustomvaliditytoolong'
17483
17626
  },
17484
17627
 
17485
17628
  /**
17486
17629
  * Custom help text message to display when validity = `tooShort`.
17487
17630
  */
17488
17631
  setCustomValidityTooShort: {
17489
- type: String
17632
+ type: String,
17633
+ attribute: 'setcustomvaliditytooshort'
17490
17634
  },
17491
17635
 
17492
17636
  /**
17493
17637
  * Custom help text message to display when validity = `valueMissing`.
17494
17638
  */
17495
17639
  setCustomValidityValueMissing: {
17496
- type: String
17640
+ type: String,
17641
+ attribute: 'setcustomvalidityvaluemissing'
17497
17642
  },
17498
17643
 
17499
17644
  /**
17500
17645
  * @ignore
17501
17646
  */
17502
17647
  showPassword: {
17503
- state: true
17648
+ state: true,
17649
+ attribute: false
17504
17650
  },
17505
17651
 
17506
17652
  /**
@@ -17512,7 +17658,8 @@ class BaseInput extends AuroElement$1 {
17512
17658
  },
17513
17659
 
17514
17660
  /**
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`.
17661
+ * 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`.
17662
+ * @type {'true' | 'false'}
17516
17663
  */
17517
17664
  spellcheck: {
17518
17665
  type: String,
@@ -17543,7 +17690,8 @@ class BaseInput extends AuroElement$1 {
17543
17690
  * Sets validation mode to re-eval with each input.
17544
17691
  */
17545
17692
  validateOnInput: {
17546
- type: Boolean
17693
+ type: Boolean,
17694
+ attribute: 'validateoninput'
17547
17695
  },
17548
17696
 
17549
17697
  /**
@@ -18597,6 +18745,8 @@ let AuroHelpText$1 = class AuroHelpText extends i$3 {
18597
18745
  super();
18598
18746
 
18599
18747
  this.error = false;
18748
+
18749
+ /** @type {'default' | 'inverse'} */
18600
18750
  this.appearance = "default";
18601
18751
  this.onDark = false;
18602
18752
  this.hasTextContent = false;
@@ -18617,8 +18767,8 @@ let AuroHelpText$1 = class AuroHelpText extends i$3 {
18617
18767
  return {
18618
18768
 
18619
18769
  /**
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).
18770
+ * The appearance of the help text, either default (for light backgrounds) or inverse (for dark backgrounds).
18771
+ * @type {'default' | 'inverse'}
18622
18772
  * @default 'default'
18623
18773
  */
18624
18774
  appearance: {
@@ -18631,6 +18781,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$3 {
18631
18781
  */
18632
18782
  slotNodes: {
18633
18783
  type: Boolean,
18784
+ attribute: 'slotnodes',
18634
18785
  },
18635
18786
 
18636
18787
  /**
@@ -18638,6 +18789,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$3 {
18638
18789
  */
18639
18790
  hasTextContent: {
18640
18791
  type: Boolean,
18792
+ attribute: 'hastextcontent',
18641
18793
  },
18642
18794
 
18643
18795
  /**
@@ -18653,6 +18805,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$3 {
18653
18805
  */
18654
18806
  onDark: {
18655
18807
  type: Boolean,
18808
+ attribute: 'ondark',
18656
18809
  reflect: true
18657
18810
  }
18658
18811
  };
@@ -18723,7 +18876,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$3 {
18723
18876
  }
18724
18877
  };
18725
18878
 
18726
- var formkitVersion$1 = '202608261850';
18879
+ var formkitVersion$1 = '202608291822';
18727
18880
 
18728
18881
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
18729
18882
  // See LICENSE in the project root for license information.
@@ -19737,6 +19890,9 @@ var headerVersion = '5.0.1';
19737
19890
  * @slot subheader - Slot for the subheader content.
19738
19891
  * @slot footer - Slot for the footer content.
19739
19892
  * @slot ariaLabel.close - Slot for the close button aria-label.
19893
+ * @csspart bibtemplate - The outermost bibtemplate container element.
19894
+ * @event close-click - Notifies when the close button is clicked.
19895
+ * @event auro-bibtemplate-connected - Notifies that the bibtemplate has connected to the DOM, passing a reference to the element in the event detail.
19740
19896
  */
19741
19897
  class AuroBibtemplate extends i$3 {
19742
19898
 
@@ -19776,10 +19932,19 @@ class AuroBibtemplate extends i$3 {
19776
19932
  // function to define props used within the scope of this component
19777
19933
  static get properties() {
19778
19934
  return {
19935
+
19936
+ /**
19937
+ * If declared, the bibtemplate renders in fullscreen mode, exposing the header, subheader, and footer regions.
19938
+ */
19779
19939
  isFullscreen: {
19780
19940
  type: Boolean,
19941
+ attribute: 'isfullscreen',
19781
19942
  reflect: true
19782
19943
  },
19944
+
19945
+ /**
19946
+ * If declared, the fullscreen headline renders using the larger display heading style.
19947
+ */
19783
19948
  large: {
19784
19949
  type: Boolean,
19785
19950
  reflect: true
@@ -19790,6 +19955,7 @@ class AuroBibtemplate extends i$3 {
19790
19955
  */
19791
19956
  showFooter: {
19792
19957
  type: Boolean,
19958
+ attribute: 'showfooter',
19793
19959
  reflect: true
19794
19960
  }
19795
19961
  };
@@ -19902,7 +20068,7 @@ class AuroBibtemplate extends i$3 {
19902
20068
  }
19903
20069
  }
19904
20070
 
19905
- var formkitVersion = '202608261850';
20071
+ var formkitVersion = '202608291822';
19906
20072
 
19907
20073
  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
20074
 
@@ -19910,37 +20076,37 @@ var styleEmphasizedCss = i$6`:host([layout*=emphasized][shape*=pill]) [auro-inpu
19910
20076
 
19911
20077
  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
20078
 
20079
+ /**
20080
+ * AuroElement is the shared base class for layout-aware Auro form components.
20081
+ *
20082
+ * It defines the common `layout`, `shape`, `size`, and `ondark` reactive
20083
+ * properties and the architecture helpers (`renderLayout`, `resetShapeClasses`,
20084
+ * `resetLayoutClasses`) that subclasses use to render a chosen layout and apply
20085
+ * the matching `shape-*` / `layout-*` wrapper classes. Subclasses supply their
20086
+ * own default and valid value set for `layout`, `shape`, and `size`.
20087
+ */
19913
20088
  class AuroElement extends i$3 {
19914
20089
  static get properties() {
19915
20090
  return {
19916
20091
 
19917
20092
  /**
19918
- * Defines the language of an element.
19919
- * @default {'default'}
20093
+ * When true, renders the component styled for use on a dark background.
19920
20094
  */
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
20095
  onDark: {
19940
20096
  type: Boolean,
19941
20097
  attribute: "ondark",
19942
20098
  reflect: true
19943
20099
  }
20100
+
20101
+ // NOTE: `layout`, `shape`, and `size` are intentionally NOT declared here.
20102
+ // Their valid value sets differ per component, and the CEM analyzer roots
20103
+ // an inherited property's `type` in the class that declares it — a base
20104
+ // declaration would force every subclass's `@type` to be discarded and
20105
+ // emitted as plain `string`. Each subclass declares its own `layout` /
20106
+ // `shape` / `size` with an exact `@type` union instead. AuroElement still
20107
+ // consumes `this.layout` / `this.shape` / `this.size` in its render and
20108
+ // architecture helpers below (subclasses guarantee the reactive props).
20109
+ // See AlaskaAirlines/discussions#653.
19944
20110
  };
19945
20111
  }
19946
20112
 
@@ -20116,6 +20282,8 @@ class AuroHelpText extends i$3 {
20116
20282
  super();
20117
20283
 
20118
20284
  this.error = false;
20285
+
20286
+ /** @type {'default' | 'inverse'} */
20119
20287
  this.appearance = "default";
20120
20288
  this.onDark = false;
20121
20289
  this.hasTextContent = false;
@@ -20136,8 +20304,8 @@ class AuroHelpText extends i$3 {
20136
20304
  return {
20137
20305
 
20138
20306
  /**
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).
20307
+ * The appearance of the help text, either default (for light backgrounds) or inverse (for dark backgrounds).
20308
+ * @type {'default' | 'inverse'}
20141
20309
  * @default 'default'
20142
20310
  */
20143
20311
  appearance: {
@@ -20150,6 +20318,7 @@ class AuroHelpText extends i$3 {
20150
20318
  */
20151
20319
  slotNodes: {
20152
20320
  type: Boolean,
20321
+ attribute: 'slotnodes',
20153
20322
  },
20154
20323
 
20155
20324
  /**
@@ -20157,6 +20326,7 @@ class AuroHelpText extends i$3 {
20157
20326
  */
20158
20327
  hasTextContent: {
20159
20328
  type: Boolean,
20329
+ attribute: 'hastextcontent',
20160
20330
  },
20161
20331
 
20162
20332
  /**
@@ -20172,6 +20342,7 @@ class AuroHelpText extends i$3 {
20172
20342
  */
20173
20343
  onDark: {
20174
20344
  type: Boolean,
20345
+ attribute: 'ondark',
20175
20346
  reflect: true
20176
20347
  }
20177
20348
  };
@@ -20302,6 +20473,7 @@ function getOptionLabel(option) {
20302
20473
  * @slot label - Defines the content of the label.
20303
20474
  * @slot helpText - Defines the content of the helpText.
20304
20475
  * @slot displayValue - Allows custom HTML content to display the selected value when the combobox is not focused. Only works with `snowflake` and `emphasized` layouts.
20476
+ * @csspart helpText - The help text and error message content container.
20305
20477
  * @event auroCombobox-valueSet - (Deprecated) Notifies that the component has a new value set.
20306
20478
  * @event input - Notifies that the component has a new value set.
20307
20479
  * @event inputValue - Notifies that the components internal HTML5 input value has changed.
@@ -20427,6 +20599,7 @@ class AuroCombobox extends AuroElement {
20427
20599
  */
20428
20600
  autoPlacement: {
20429
20601
  type: Boolean,
20602
+ attribute: 'autoplacement',
20430
20603
  reflect: true
20431
20604
  },
20432
20605
 
@@ -20437,6 +20610,7 @@ class AuroCombobox extends AuroElement {
20437
20610
  */
20438
20611
  availableOptions: {
20439
20612
  state: true,
20613
+ attribute: false,
20440
20614
  type: Array,
20441
20615
  reflect: false,
20442
20616
  hasChanged(newVal, oldVal) {
@@ -20506,6 +20680,7 @@ class AuroCombobox extends AuroElement {
20506
20680
  */
20507
20681
  dvInputOnly: {
20508
20682
  type: Boolean,
20683
+ attribute: 'dvinputonly',
20509
20684
  reflect: true
20510
20685
  },
20511
20686
 
@@ -20539,6 +20714,29 @@ class AuroCombobox extends AuroElement {
20539
20714
  */
20540
20715
  layout: {
20541
20716
  type: String,
20717
+ attribute: "layout",
20718
+ reflect: true
20719
+ },
20720
+
20721
+ /**
20722
+ * Sets the shape of the combobox.
20723
+ * @type {'box' | 'classic' | 'pill' | 'pill-left' | 'pill-right' | 'rounded' | 'snowflake'}
20724
+ * @default 'classic'
20725
+ */
20726
+ shape: {
20727
+ type: String,
20728
+ attribute: "shape",
20729
+ reflect: true
20730
+ },
20731
+
20732
+ /**
20733
+ * Sets the size of the combobox.
20734
+ * @type {'xs' | 'sm' | 'md' | 'lg' | 'xl'}
20735
+ * @default 'xl'
20736
+ */
20737
+ size: {
20738
+ type: String,
20739
+ attribute: "size",
20542
20740
  reflect: true
20543
20741
  },
20544
20742
 
@@ -20548,6 +20746,7 @@ class AuroCombobox extends AuroElement {
20548
20746
  */
20549
20747
  matchWidth: {
20550
20748
  type: Boolean,
20749
+ attribute: 'matchwidth',
20551
20750
  reflect: true
20552
20751
  },
20553
20752
 
@@ -20556,6 +20755,7 @@ class AuroCombobox extends AuroElement {
20556
20755
  */
20557
20756
  noFilter: {
20558
20757
  type: Boolean,
20758
+ attribute: 'nofilter',
20559
20759
  reflect: true
20560
20760
  },
20561
20761
 
@@ -20565,6 +20765,7 @@ class AuroCombobox extends AuroElement {
20565
20765
  */
20566
20766
  noFlip: {
20567
20767
  type: Boolean,
20768
+ attribute: 'noflip',
20568
20769
  reflect: true
20569
20770
  },
20570
20771
 
@@ -20581,6 +20782,7 @@ class AuroCombobox extends AuroElement {
20581
20782
  */
20582
20783
  noValidate: {
20583
20784
  type: Boolean,
20785
+ attribute: 'novalidate',
20584
20786
  reflect: true
20585
20787
  },
20586
20788
 
@@ -20598,6 +20800,7 @@ class AuroCombobox extends AuroElement {
20598
20800
  */
20599
20801
  onDark: {
20600
20802
  type: Boolean,
20803
+ attribute: 'ondark',
20601
20804
  reflect: true
20602
20805
  },
20603
20806
 
@@ -20606,7 +20809,8 @@ class AuroCombobox extends AuroElement {
20606
20809
  * @type {HTMLElement}
20607
20810
  */
20608
20811
  optionSelected: {
20609
- type: Object
20812
+ type: Object,
20813
+ attribute: 'optionselected'
20610
20814
  },
20611
20815
 
20612
20816
  /**
@@ -20616,6 +20820,7 @@ class AuroCombobox extends AuroElement {
20616
20820
  */
20617
20821
  persistInput: {
20618
20822
  type: Boolean,
20823
+ attribute: 'persistinput',
20619
20824
  reflect: true
20620
20825
  },
20621
20826
 
@@ -20649,28 +20854,32 @@ class AuroCombobox extends AuroElement {
20649
20854
  * Sets a custom help text message to display for all validityStates.
20650
20855
  */
20651
20856
  setCustomValidity: {
20652
- type: String
20857
+ type: String,
20858
+ attribute: 'setcustomvalidity'
20653
20859
  },
20654
20860
 
20655
20861
  /**
20656
20862
  * Custom help text message to display when validity = `customError`.
20657
20863
  */
20658
20864
  setCustomValidityCustomError: {
20659
- type: String
20865
+ type: String,
20866
+ attribute: 'setcustomvaliditycustomerror'
20660
20867
  },
20661
20868
 
20662
20869
  /**
20663
20870
  * Custom help text message to display when validity = `valueMissing`.
20664
20871
  */
20665
20872
  setCustomValidityValueMissing: {
20666
- type: String
20873
+ type: String,
20874
+ attribute: 'setcustomvalidityvaluemissing'
20667
20875
  },
20668
20876
 
20669
20877
  /**
20670
20878
  * Custom help text message to display when validity = `valueMissing` due to the user not choosing a menu option when behavior = "filter".
20671
20879
  */
20672
20880
  setCustomValidityValueMissingFilter: {
20673
- type: String
20881
+ type: String,
20882
+ attribute: 'setcustomvalidityvaluemissingfilter'
20674
20883
  },
20675
20884
 
20676
20885
  /**
@@ -20690,6 +20899,7 @@ class AuroCombobox extends AuroElement {
20690
20899
  */
20691
20900
  triggerIcon: {
20692
20901
  type: Boolean,
20902
+ attribute: 'triggericon',
20693
20903
  reflect: true
20694
20904
  },
20695
20905
 
@@ -20706,6 +20916,7 @@ class AuroCombobox extends AuroElement {
20706
20916
  */
20707
20917
  typedValue: {
20708
20918
  type: String,
20919
+ attribute: 'typedvalue',
20709
20920
  reflect: true
20710
20921
  },
20711
20922
 
@@ -20731,6 +20942,7 @@ class AuroCombobox extends AuroElement {
20731
20942
  */
20732
20943
  largeFullscreenHeadline: {
20733
20944
  type: Boolean,
20945
+ attribute: 'largefullscreenheadline',
20734
20946
  reflect: true
20735
20947
  },
20736
20948
  /* eslint-enable jsdoc/require-description-complete-sentence */
@@ -20745,6 +20957,7 @@ class AuroCombobox extends AuroElement {
20745
20957
  */
20746
20958
  fullscreenBreakpoint: {
20747
20959
  type: String,
20960
+ attribute: "fullscreenbreakpoint",
20748
20961
  reflect: true
20749
20962
  },
20750
20963
 
@@ -22521,6 +22734,7 @@ let menuInstanceIdCounter = 0;
22521
22734
  * @event {CustomEvent<Element>} auroMenu-activatedOption - Notifies that a menuoption has been made `active`.
22522
22735
  * @event {CustomEvent<any>} auroMenu-customEventFired - Notifies that a custom event has been fired.
22523
22736
  * @event {CustomEvent<{ loading: boolean; hasLoadingPlaceholder: boolean; }>} auroMenu-loadingChange - Notifies when the loading attribute is changed.
22737
+ * @event {CustomEvent<{ options: Array }>} auroMenu-optionsChange - Notifies that the set of available menu options has changed.
22524
22738
  * @event {CustomEvent<any>} auroMenu-selectValueFailure - Notifies that an attempt to select a menuoption by matching a value has failed.
22525
22739
  * @event {CustomEvent<any>} auroMenu-selectValueReset - Notifies that the component value has been reset.
22526
22740
  * @event {CustomEvent<any>} auroMenu-selectedOption - Notifies that a new menuoption selection has been made.
@@ -22535,15 +22749,7 @@ class AuroMenu extends AuroElement {
22535
22749
 
22536
22750
  // State properties (reactive)
22537
22751
 
22538
- /**
22539
- * @private
22540
- */
22541
- this.shape = "box";
22542
-
22543
- /**
22544
- * @private
22545
- */
22546
- this.size = "sm";
22752
+ this.initializeArchitectureDefaults();
22547
22753
 
22548
22754
  // Value of the selected options
22549
22755
  this.value = undefined;
@@ -22584,8 +22790,6 @@ class AuroMenu extends AuroElement {
22584
22790
 
22585
22791
  // Instance properties (non-reactive)
22586
22792
 
22587
- menuInstanceIdCounter += 1;
22588
-
22589
22793
  Object.assign(this, {
22590
22794
  // Root-level menu (true) or a nested submenu (false)
22591
22795
  rootMenu: true,
@@ -22597,7 +22801,7 @@ class AuroMenu extends AuroElement {
22597
22801
  loadingSlots: null,
22598
22802
  // Unique id for this menu instance; prefixes every auto-generated option
22599
22803
  // key so keys never collide across menus in the same document.
22600
- _menuInstanceId: `menu-${menuInstanceIdCounter}`,
22804
+ _menuInstanceId: `menu-${menuInstanceIdCounter += 1}`,
22601
22805
  // Monotonically increasing counter for option key generation. Never
22602
22806
  // resets, so a key is never reused within this instance's lifetime.
22603
22807
  _optionKeyCounter: 0,
@@ -22613,10 +22817,50 @@ class AuroMenu extends AuroElement {
22613
22817
  });
22614
22818
  }
22615
22819
 
22820
+ // Defaults for the layout/shape/size architecture props are set in a helper
22821
+ // (not the constructor body) so the CEM analyzer keeps their `@type` unions
22822
+ // instead of inferring `string` from a constructor-literal assignment.
22823
+ // See AlaskaAirlines/discussions#653.
22824
+ initializeArchitectureDefaults() {
22825
+ this.shape = "box";
22826
+ this.size = "sm";
22827
+ }
22828
+
22616
22829
  static get properties() {
22617
22830
  return {
22618
22831
  ...super.properties,
22619
22832
 
22833
+ /**
22834
+ * Applies a named layout variant to the menu. Free-form string consumed by the shared architecture helpers; menu defines no closed value set.
22835
+ */
22836
+ layout: {
22837
+ type: String,
22838
+ attribute: "layout",
22839
+ reflect: true
22840
+ },
22841
+
22842
+ /**
22843
+ * Sets the shape of the menu options.
22844
+ * @type {'box' | 'pill' | 'snowflake'}
22845
+ * @default 'box'
22846
+ */
22847
+ shape: {
22848
+ type: String,
22849
+ attribute: "shape",
22850
+ reflect: true
22851
+ },
22852
+
22853
+ /**
22854
+ * Sets the size of the menu options.
22855
+ * @type {'xs' | 'sm' | 'md' | 'lg' | 'xl'}
22856
+ * @default 'sm'
22857
+ */
22858
+ size: {
22859
+ type: String,
22860
+ attribute: "size",
22861
+ reflect: true
22862
+ },
22863
+
22620
22864
  /**
22621
22865
  * When true, the entire menu and all options are disabled.
22622
22866
  */
@@ -23898,9 +24142,36 @@ class AuroMenuOption extends AuroElement {
23898
24142
  static get properties() {
23899
24143
  return {
23900
24144
  ...super.properties,
24145
+
24146
+ /**
24147
+ * Sets the shape of the option. When unset, it inherits the shape of the parent `auro-menu`.
24148
+ * @type {'box' | 'pill' | 'snowflake'}
24149
+ * @default 'box'
24150
+ */
24151
+ shape: {
24152
+ type: String,
24153
+ attribute: "shape",
24154
+ reflect: true
24155
+ },
24156
+
24157
+ /**
24158
+ * Sets the size of the option. When unset, it inherits the size of the parent `auro-menu`.
24159
+ * @type {'xs' | 'sm' | 'md' | 'lg' | 'xl'}
24160
+ * @default 'sm'
24161
+ */
24162
+ size: {
24163
+ type: String,
24164
+ attribute: "size",
24165
+ reflect: true
24166
+ },
24167
+
24168
+ /**
24169
+ * When true, this option will not show the checkmark when selected.
24170
+ */
23901
24171
  noCheckmark: {
23902
24172
  type: Boolean,
23903
- reflect: true
24173
+ reflect: true,
24174
+ attribute: 'nocheckmark'
23904
24175
  },
23905
24176
 
23906
24177
  /**
@@ -23912,17 +24183,30 @@ class AuroMenuOption extends AuroElement {
23912
24183
  type: Boolean,
23913
24184
  reflect: true
23914
24185
  },
24186
+
24187
+ /**
24188
+ * When true, the option is disabled and cannot be selected.
24189
+ */
23915
24190
  disabled: {
23916
24191
  type: Boolean,
23917
24192
  reflect: true
23918
24193
  },
24194
+
24195
+ /**
24196
+ * The value associated with this menu option.
24197
+ */
23919
24198
  value: {
23920
24199
  type: String,
23921
24200
  reflect: true
23922
24201
  },
24202
+
24203
+ /**
24204
+ * Sets the tab order of the menu option.
24205
+ */
23923
24206
  tabIndex: {
23924
24207
  type: Number,
23925
- reflect: true
24208
+ reflect: true,
24209
+ attribute: 'tabindex'
23926
24210
  },
23927
24211
 
23928
24212
  /**