@aurodesignsystem-dev/auro-formkit 0.0.0-pr624.2 → 0.0.0-pr624.21

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 (108) hide show
  1. package/components/bibtemplate/dist/auro-bibtemplate.d.ts +13 -2
  2. package/components/bibtemplate/dist/buttonVersion.d.ts +2 -0
  3. package/components/bibtemplate/dist/iconVersion.d.ts +1 -1
  4. package/components/bibtemplate/dist/index.js +1292 -79
  5. package/components/bibtemplate/dist/registered.js +1292 -79
  6. package/components/checkbox/README.md +1 -1
  7. package/components/checkbox/demo/api.md +8 -9
  8. package/components/checkbox/demo/api.min.js +30 -24
  9. package/components/checkbox/demo/index.md +2 -2
  10. package/components/checkbox/demo/index.min.js +30 -24
  11. package/components/checkbox/demo/readme.md +1 -1
  12. package/components/checkbox/dist/auro-checkbox.d.ts +3 -3
  13. package/components/checkbox/dist/index.js +30 -24
  14. package/components/checkbox/dist/registered.js +30 -24
  15. package/components/combobox/demo/api.md +53 -0
  16. package/components/combobox/demo/api.min.js +2898 -753
  17. package/components/combobox/demo/index.md +6 -0
  18. package/components/combobox/demo/index.min.js +2898 -753
  19. package/components/combobox/dist/auro-combobox.d.ts +12 -12
  20. package/components/combobox/dist/index.js +2646 -642
  21. package/components/combobox/dist/registered.js +2646 -642
  22. package/components/counter/demo/api.md +21 -19
  23. package/components/counter/demo/api.min.js +3648 -929
  24. package/components/counter/demo/index.md +99 -34
  25. package/components/counter/demo/index.min.js +3648 -929
  26. package/components/counter/dist/auro-counter-button.d.ts +2 -0
  27. package/components/counter/dist/auro-counter-group.d.ts +105 -6
  28. package/components/counter/dist/auro-counter.d.ts +6 -0
  29. package/components/counter/dist/helptextVersion.d.ts +2 -0
  30. package/components/counter/dist/iconVersion.d.ts +1 -1
  31. package/components/counter/dist/index.js +3648 -929
  32. package/components/counter/dist/registered.js +3648 -929
  33. package/components/datepicker/demo/api.md +36 -19
  34. package/components/datepicker/demo/api.min.js +11437 -7744
  35. package/components/datepicker/demo/index.md +80 -0
  36. package/components/datepicker/demo/index.min.js +11437 -7744
  37. package/components/datepicker/dist/auro-datepicker.d.ts +71 -3
  38. package/components/datepicker/dist/buttonVersion.d.ts +1 -1
  39. package/components/datepicker/dist/iconVersion.d.ts +2 -0
  40. package/components/datepicker/dist/index.js +13847 -10154
  41. package/components/datepicker/dist/popoverVersion.d.ts +1 -1
  42. package/components/datepicker/dist/registered.js +13847 -10154
  43. package/components/dropdown/demo/api.md +6 -7
  44. package/components/dropdown/demo/api.min.js +238 -144
  45. package/components/dropdown/demo/index.md +57 -9
  46. package/components/dropdown/demo/index.min.js +238 -144
  47. package/components/dropdown/dist/auro-dropdown.d.ts +10 -9
  48. package/components/dropdown/dist/auro-dropdownBib.d.ts +22 -0
  49. package/components/dropdown/dist/index.js +238 -144
  50. package/components/dropdown/dist/registered.js +238 -144
  51. package/components/form/demo/api.min.js +1 -1
  52. package/components/form/demo/index.min.js +1 -1
  53. package/components/form/dist/index.js +1 -1
  54. package/components/form/dist/registered.js +1 -1
  55. package/components/helptext/dist/index.js +2 -2
  56. package/components/helptext/dist/registered.js +2 -2
  57. package/components/input/demo/api.md +63 -56
  58. package/components/input/demo/api.min.js +983 -269
  59. package/components/input/demo/index.min.js +982 -268
  60. package/components/input/dist/auro-input.d.ts +202 -14
  61. package/components/input/dist/base-input.d.ts +30 -7
  62. package/components/input/dist/buttonVersion.d.ts +1 -1
  63. package/components/input/dist/iconVersion.d.ts +1 -1
  64. package/components/input/dist/index.js +982 -268
  65. package/components/input/dist/registered.js +982 -268
  66. package/components/layoutElement/dist/index.js +13 -10
  67. package/components/menu/demo/api.html +38 -0
  68. package/components/menu/demo/api.md +68 -7
  69. package/components/menu/demo/api.min.js +278 -42
  70. package/components/menu/demo/index.min.js +278 -42
  71. package/components/menu/dist/auro-menu.d.ts +28 -5
  72. package/components/menu/dist/auro-menuoption.d.ts +15 -3
  73. package/components/menu/dist/iconVersion.d.ts +1 -1
  74. package/components/menu/dist/index.js +278 -42
  75. package/components/menu/dist/registered.js +278 -42
  76. package/components/menu/dist/styles/default/color-menuoption-css.d.ts +2 -0
  77. package/components/menu/dist/styles/default/style-menu-css.d.ts +2 -0
  78. package/components/menu/dist/styles/default/style-menuoption-css.d.ts +2 -0
  79. package/components/menu/dist/styles/default/tokens-css.d.ts +2 -0
  80. package/components/radio/demo/api.md +2 -2
  81. package/components/radio/demo/api.min.js +10 -7
  82. package/components/radio/demo/index.min.js +10 -7
  83. package/components/radio/dist/auro-radio.d.ts +1 -1
  84. package/components/radio/dist/index.js +10 -7
  85. package/components/radio/dist/registered.js +10 -7
  86. package/components/select/demo/api.js +2 -0
  87. package/components/select/demo/api.md +78 -12
  88. package/components/select/demo/api.min.js +2797 -538
  89. package/components/select/demo/index.html +1 -0
  90. package/components/select/demo/index.md +325 -763
  91. package/components/select/demo/index.min.js +2790 -543
  92. package/components/select/dist/auro-select.d.ts +111 -11
  93. package/components/select/dist/helptextVersion.d.ts +2 -0
  94. package/components/select/dist/index.js +2533 -427
  95. package/components/select/dist/registered.js +2533 -427
  96. package/components/select/dist/styles/shapeSize-css.d.ts +2 -0
  97. package/components/select/dist/styles/tokens-css.d.ts +2 -0
  98. package/package.json +6 -4
  99. /package/components/{dropdown/dist/styles/default/bibColors-css.d.ts → counter/dist/styles/shapeSize-css.d.ts} +0 -0
  100. /package/components/{dropdown → datepicker}/dist/styles/default/color-css.d.ts +0 -0
  101. /package/components/{dropdown/dist/styles/default/bibStyles-css.d.ts → datepicker/dist/styles/shapeSize-css.d.ts} +0 -0
  102. /package/components/{dropdown/dist/styles/default/style-css.d.ts → datepicker/dist/styles/snowflake/color-css.d.ts} +0 -0
  103. /package/components/{dropdown/dist/styles → datepicker/dist/styles/snowflake}/style-css.d.ts +0 -0
  104. /package/components/{menu/dist/styles/color-menu-css.d.ts → dropdown/dist/styles/classic/bibColors-css.d.ts} +0 -0
  105. /package/components/{menu/dist/styles/color-menuoption-css.d.ts → dropdown/dist/styles/classic/bibStyles-css.d.ts} +0 -0
  106. /package/components/{menu/dist/styles/style-menu-css.d.ts → dropdown/dist/styles/classic/color-css.d.ts} +0 -0
  107. /package/components/{menu/dist/styles/style-menuoption-css.d.ts → dropdown/dist/styles/classic/style-css.d.ts} +0 -0
  108. /package/components/menu/dist/styles/{tokens-css.d.ts → default/color-menu-css.d.ts} +0 -0
@@ -64,11 +64,106 @@ const t$1=globalThis,i$3=t$1.trustedTypes,s$2=i$3?i$3.createPolicy("lit-html",{c
64
64
  * SPDX-License-Identifier: BSD-3-Clause
65
65
  */const s$1=globalThis;let i$2 = class i extends y$1{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0;}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const r=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=B(r,this.renderRoot,this.renderOptions);}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(true);}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(false);}render(){return T}};i$2._$litElement$=true,i$2["finalized"]=true,s$1.litElementHydrateSupport?.({LitElement:i$2});const o$2=s$1.litElementPolyfillSupport;o$2?.({LitElement:i$2});(s$1.litElementVersions??=[]).push("4.2.0");
66
66
 
67
- var styleCss$2 = i$5`:focus:not(:focus-visible){outline:3px solid transparent}:host{display:inline-block;width:100%;margin:0;padding:0;vertical-align:middle}:host ::slotted(auro-menuoption),:host ::slotted([auro-menuoption]),:host auro-menuoption[loadingplaceholder]{padding-left:calc(var(--ds-size-150, 0.75rem) + 24px + var(--ds-size-100, 0.5rem))}:host ::slotted([selected]){padding-left:0}:host ::slotted(hr){box-sizing:content-box !important;height:0 !important;overflow:visible !important;margin:var(--ds-size-100, 0.5rem) 0 !important;border-width:0 !important;border-top-width:1px !important;border-top-style:solid !important}:host([nocheckmark]) ::slotted(auro-menuoption),:host([nocheckmark]) auro-menuoption[loadingplaceholder]{padding-left:var(--ds-size-200, 1rem)}:host([root]){overflow-y:auto}[loadingplaceholder].empty{opacity:0;position:absolute}[loadingplaceholder] slot[name=loadingIcon]{vertical-align:middle;line-height:1;display:inline-block}[loadingplaceholder] slot[name=loadingIcon]::slotted(*){margin-right:var(--ds-size-150, 0.75rem)}`;
67
+ var styleCss$2 = i$5`:focus:not(:focus-visible){outline:3px solid transparent}:host{display:block;vertical-align:middle}:host .wrapper{box-sizing:border-box;display:inline-block;width:100%;margin:0;padding:0}:host ::slotted(hr){box-sizing:content-box !important;height:0 !important;overflow:visible !important;margin:var(--ds-size-100, 0.5rem) 0 !important;border-width:0 !important;border-top-width:1px !important;border-top-style:solid !important}:host [loadingplaceholder].empty{opacity:0;position:absolute}:host [loadingplaceholder] slot[name=loadingIcon]{vertical-align:middle;line-height:1;display:inline-block}:host [loadingplaceholder] slot[name=loadingIcon]::slotted(*){margin-right:var(--ds-size-150, 0.75rem)}:host([root]){overflow-y:auto}:host([root]) .wrapper[class*=-lg]{padding:var(--ds-size-150, 0.75rem)}:host([root]) .wrapper[class*=-xl]{padding:var(--ds-size-200, 1rem)}`;
68
68
 
69
69
  var colorCss$2 = i$5`:host ::slotted(hr){border-top-color:var(--ds-auro-menu-divider-color)}[loadingplaceholder] slot[name=loadingIcon]{color:var(--ds-auro-menu-loader-color)}[loadingplaceholder] slot[name=loadingText]{color:var(--ds-auro-menu-loader-text-color)}`;
70
70
 
71
- var tokensCss$1 = i$5`:host{--ds-auro-menu-divider-color: var(--ds-basic-color-border-divider, rgba(0, 0, 0, 0.15));--ds-auro-menu-loader-color: var(--ds-basic-color-brand-primary, #01426a);--ds-auro-menu-loader-text-color: var(--ds-basic-color-texticon-default, #2a2a2a);--ds-auro-menuoption-container-color: transparent;--ds-auro-menuoption-icon-color: transparent;--ds-auro-menuoption-text-color: var(--ds-basic-color-texticon-default, #2a2a2a)}`;
71
+ var tokensCss$1 = i$5`:host{--ds-auro-menu-divider-color: var(--ds-basic-color-border-divider, rgba(0, 0, 0, 0.15));--ds-auro-menu-loader-color: var(--ds-basic-color-brand-primary, #01426a);--ds-auro-menu-loader-text-color: var(--ds-basic-color-texticon-default, #2a2a2a);--ds-auro-menuoption-container-color: transparent;--ds-auro-menuoption-container-border-color: var(--ds-auro-menuoption-container-color);--ds-auro-menuoption-icon-color: transparent;--ds-auro-menuoption-text-color: var(--ds-basic-color-texticon-default, #2a2a2a)}`;
72
+
73
+ let AuroElement$1 = class AuroElement extends i$2 {
74
+ static get properties() {
75
+ return {
76
+
77
+ /**
78
+ * Defines the language of an element.
79
+ * @default {'default'}
80
+ */
81
+ layout: {
82
+ type: String,
83
+ attribute: "layout",
84
+ reflect: true
85
+ },
86
+
87
+ shape: {
88
+ type: String,
89
+ attribute: "shape",
90
+ reflect: true
91
+ },
92
+
93
+ size: {
94
+ type: String,
95
+ attribute: "size",
96
+ reflect: true
97
+ },
98
+
99
+ onDark: {
100
+ type: Boolean,
101
+ attribute: "ondark",
102
+ reflect: true
103
+ }
104
+ };
105
+ }
106
+
107
+ resetShapeClasses() {
108
+ const wrapper = this.shadowRoot.querySelector('.wrapper');
109
+
110
+ if (wrapper) {
111
+ wrapper.classList.forEach((className) => {
112
+ if (className.startsWith('shape-')) {
113
+ wrapper.classList.remove(className);
114
+ }
115
+ });
116
+
117
+ }
118
+
119
+ if (this.shape && this.size) {
120
+ wrapper.classList.add(`shape-${this.shape.toLowerCase()}-${this.size.toLowerCase()}`);
121
+ } else {
122
+ wrapper.classList.add('shape-none');
123
+ }
124
+ }
125
+
126
+ resetLayoutClasses() {
127
+ if (this.layout) {
128
+ const wrapper = this.shadowRoot.querySelector('.wrapper');
129
+
130
+ if (wrapper) {
131
+ wrapper.classList.forEach((className) => {
132
+ if (className.startsWith('layout-')) {
133
+ wrapper.classList.remove(className);
134
+ }
135
+ });
136
+
137
+ wrapper.classList.add(`layout-${this.layout.toLowerCase()}`);
138
+ }
139
+ }
140
+ }
141
+
142
+ updateComponentArchitecture() {
143
+ this.resetLayoutClasses();
144
+ this.resetShapeClasses();
145
+ }
146
+
147
+ updated(changedProperties) {
148
+ if (changedProperties.has('layout') || changedProperties.has('shape') || changedProperties.has('size')) {
149
+ this.updateComponentArchitecture();
150
+ }
151
+ }
152
+
153
+ // Try to render the defined `this.layout` layout. If that fails, fall back to the default layout.
154
+ // This will catch if an invalid layout value is passed in and render the default layout if so.
155
+ render() {
156
+ try {
157
+ return this.renderLayout();
158
+ } catch (error) {
159
+ // failed to get the defined layout
160
+ console.error('Failed to get the defined layout - using the default layout', error); // eslint-disable-line no-console
161
+
162
+ // fallback to the default layout
163
+ return this.getLayout('default');
164
+ }
165
+ }
166
+ };
72
167
 
73
168
  // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
74
169
  // See LICENSE in the project root for license information.
@@ -77,7 +172,7 @@ var tokensCss$1 = i$5`:host{--ds-auro-menu-divider-color: var(--ds-basic-color-b
77
172
 
78
173
  /* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
79
174
 
80
- class AuroLibraryRuntimeUtils {
175
+ let AuroLibraryRuntimeUtils$1 = class AuroLibraryRuntimeUtils {
81
176
 
82
177
  /* eslint-disable jsdoc/require-param */
83
178
 
@@ -138,7 +233,7 @@ class AuroLibraryRuntimeUtils {
138
233
 
139
234
  return elemTag === tag || elem.hasAttribute(tag);
140
235
  }
141
- }
236
+ };
142
237
 
143
238
  // Copyright (c) 2021 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
144
239
  // See LICENSE in the project root for license information.
@@ -204,14 +299,17 @@ function dispatchMenuEvent(element, eventName, detail = null) {
204
299
  * @slot - Slot for insertion of menu options.
205
300
  */
206
301
 
207
- /* eslint-disable no-magic-numbers, max-lines, no-extra-parens */
302
+ /* eslint-disable no-magic-numbers, max-lines, no-extra-parens, no-inline-comments, line-comment-position */
208
303
 
209
- class AuroMenu extends i$2 {
304
+ class AuroMenu extends AuroElement$1 {
210
305
  constructor() {
211
306
  super();
212
307
 
213
308
  // State properties (reactive)
214
309
 
310
+ this.shape = ""; // box, rounded, pill
311
+ this.size = ""; // md, lg, xl
312
+
215
313
  // Value of the selected options
216
314
  this.value = undefined;
217
315
  // Currently selected option
@@ -270,6 +368,7 @@ class AuroMenu extends i$2 {
270
368
 
271
369
  static get properties() {
272
370
  return {
371
+ ...super.properties,
273
372
  noCheckmark: {
274
373
  type: Boolean,
275
374
  reflect: true,
@@ -303,6 +402,16 @@ class AuroMenu extends i$2 {
303
402
  value: {
304
403
  // Allow string, string[] arrays and undefined
305
404
  type: Object
405
+ },
406
+
407
+ /**
408
+ * Indent level for submenus.
409
+ * @private
410
+ */
411
+ level: {
412
+ type: Number,
413
+ reflect: false,
414
+ attribute: false
306
415
  }
307
416
  };
308
417
  }
@@ -324,7 +433,7 @@ class AuroMenu extends i$2 {
324
433
  *
325
434
  */
326
435
  static register(name = "auro-menu") {
327
- AuroLibraryRuntimeUtils.prototype.registerComponent(name, AuroMenu);
436
+ AuroLibraryRuntimeUtils$1.prototype.registerComponent(name, AuroMenu);
328
437
  }
329
438
 
330
439
  // Lifecycle Methods
@@ -336,6 +445,7 @@ class AuroMenu extends i$2 {
336
445
  this.addEventListener('mousedown', this.handleMouseSelect);
337
446
  this.addEventListener('auroMenuOption-mouseover', this.handleOptionHover);
338
447
  this.addEventListener('slotchange', this.handleSlotChange);
448
+ this.setTagAttribute("auro-menu");
339
449
  }
340
450
 
341
451
  disconnectedCallback() {
@@ -348,19 +458,33 @@ class AuroMenu extends i$2 {
348
458
  }
349
459
 
350
460
  firstUpdated() {
351
- AuroLibraryRuntimeUtils.prototype.handleComponentTagRename(this, 'auro-menu');
461
+ AuroLibraryRuntimeUtils$1.prototype.handleComponentTagRename(this, 'auro-menu');
352
462
 
353
463
  this.loadingSlots = this.querySelectorAll("[slot='loadingText'], [slot='loadingIcon']");
354
464
  this.initializeMenu();
355
465
  }
356
466
 
467
+ /**
468
+ * Sets an attribute that matches the default tag name if the tag name is not the default.
469
+ * @param {string} tagName - The tag name to set as an attribute.
470
+ * @private
471
+ */
472
+ setTagAttribute(tagName) {
473
+ if (this.tagName.toLowerCase() !== tagName) {
474
+ this.setAttribute(tagName, true);
475
+ }
476
+ }
477
+
357
478
  updated(changedProperties) {
479
+ super.updated(changedProperties);
480
+
358
481
  if (changedProperties.has('multiSelect')) {
359
482
  // Reset selection if multiSelect mode changes
360
483
  this.clearSelection();
361
484
  }
362
485
 
363
- if (changedProperties.has('value')) {
486
+
487
+ if (changedProperties.has("value")) {
364
488
  // Handle null/undefined case
365
489
  if (this.value === undefined || this.value === null) {
366
490
  this.optionSelected = undefined;
@@ -428,6 +552,19 @@ class AuroMenu extends i$2 {
428
552
  this.querySelectorAll('auro-menu, [auro-menu], auro-menuoption, [auro-menuoption]').forEach((element) => element.setAttribute('noCheckmark', ''));
429
553
  }
430
554
 
555
+ // Handle layout propagation to all menus and options
556
+ const propagationTargets = this.querySelectorAll('auro-menu, [auro-menu], auro-menuoption, [auro-menuoption]');
557
+ [
558
+ 'size',
559
+ 'shape'
560
+ ].forEach((prop) => {
561
+ if (changedProperties.has(prop)) {
562
+ propagationTargets.forEach((el) => {
563
+ el.setAttribute(prop, this[prop]);
564
+ });
565
+ }
566
+ });
567
+
431
568
  // Regex for matchWord if needed
432
569
  let regexWord = null;
433
570
 
@@ -624,21 +761,20 @@ class AuroMenu extends i$2 {
624
761
  * @param {HTMLElement} menu - Root menu element.
625
762
  */
626
763
  handleNestedMenus(menu) {
627
- const nestedMenus = menu.querySelectorAll('auro-menu, [auro-menu]');
764
+ menu.level = menu.parentElement.level >= 0 ? menu.parentElement.level + 1 : 0;
628
765
 
629
- nestedMenus.forEach((nestedMenu) => {
630
- // role="listbox" only allows "role=group" for children.
631
- nestedMenu.setAttribute('role', 'group');
632
- if (!nestedMenu.hasAttribute('aria-label')) {
633
- nestedMenu.setAttribute('aria-label', 'submenu');
766
+ if (menu.level > 0) {
767
+ menu.setAttribute('role', 'group');
768
+ menu.removeAttribute("root");
769
+ if (!menu.hasAttribute('aria-label')) {
770
+ menu.setAttribute('aria-label', 'submenu');
634
771
  }
772
+ }
635
773
 
636
- const options = nestedMenu.querySelectorAll(':scope > auro-menuoption, :scope > [auro-menuoption]');
637
- options.forEach((option) => {
638
- option.innerHTML = this.nestingSpacer + option.innerHTML;
639
- });
640
-
641
- this.handleNestedMenus(nestedMenu);
774
+ const options = menu.querySelectorAll(':scope > auro-menuoption, :scope > [auro-menuoption]');
775
+ options.forEach((option) => {
776
+ const regex = new RegExp(this.nestingSpacer, "gu");
777
+ option.innerHTML = this.nestingSpacer.repeat(menu.level) + option.innerHTML.replace(regex, '');
642
778
  });
643
779
  }
644
780
 
@@ -880,22 +1016,33 @@ class AuroMenu extends i$2 {
880
1016
  }
881
1017
 
882
1018
  /**
883
- * Renders the component.
884
- * @returns {boolean} - True if loading slots are present and non-empty.
1019
+ * Logic to determine the layout of the component.
1020
+ * @protected
1021
+ * @returns {void}
885
1022
  */
886
- render() {
1023
+ renderLayout() {
887
1024
  if (this.loading) {
888
1025
  return x`
889
- <auro-menuoption disabled loadingplaceholder class="${this.hasLoadingPlaceholder ? '' : 'empty'}">
890
- <div>
891
- <slot name="loadingIcon"></slot>
892
- <slot name="loadingText"></slot>
893
- </div>
894
- </auro-menuoption>
1026
+ <div class="wrapper">
1027
+ <auro-menuoption
1028
+ disabled
1029
+ loadingplaceholder
1030
+ class="${this.hasLoadingPlaceholder ? "" : "empty"}"
1031
+ >
1032
+ <div>
1033
+ <slot name="loadingIcon"></slot>
1034
+ <slot name="loadingText"></slot>
1035
+ </div>
1036
+ </auro-menuoption>
1037
+ </div>
895
1038
  `;
896
1039
  }
897
1040
 
898
- return x`<slot @slotchange=${this.handleSlotChange}></slot>`;
1041
+ return x`
1042
+ <div class="wrapper">
1043
+ <slot @slotchange=${this.handleSlotChange}></slot>
1044
+ </div>
1045
+ `;
899
1046
  }
900
1047
  }
901
1048
 
@@ -906,9 +1053,9 @@ class AuroMenu extends i$2 {
906
1053
  */
907
1054
  const a=Symbol.for(""),o$1=t=>{if(t?.r===a)return t?._$litStatic$},s=t=>({_$litStatic$:t,r:a}),i$1=(t,...r)=>({_$litStatic$:r.reduce(((r,e,a)=>r+(t=>{if(void 0!==t._$litStatic$)return t._$litStatic$;throw Error(`Value passed to 'literal' function must be a 'literal' result: ${t}. Use 'unsafeStatic' to pass non-literal values, but\n take care to ensure page security.`)})(e)+t[a+1]),t[0]),r:a}),l=new Map,n=t=>(r,...e)=>{const a=e.length;let s,i;const n=[],u=[];let c,$=0,f=false;for(;$<a;){for(c=r[$];$<a&&void 0!==(i=e[$],s=o$1(i));)c+=s+r[++$],f=true;$!==a&&u.push(i),n.push(c),$++;}if($===a&&n.push(r[a]),f){const t=n.join("$$lit$$");void 0===(r=l.get(t))&&(n.raw=n,l.set(t,r=n)),e=u;}return t(r,...e)},u=n(x);
908
1055
 
909
- var styleCss$1 = i$5`:host{display:flex;align-items:center;padding:var(--ds-size-50, 0.25rem) var(--ds-size-200, 1rem) var(--ds-size-50, 0.25rem) 0;cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent}:host slot{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}:host [auro-icon]{--ds-auro-icon-size: var(--ds-size-300, 1.5rem);margin-right:var(--ds-size-150, 0.75rem);margin-left:var(--ds-size-100, 0.5rem)}:host ::slotted(.nestingSpacer){display:inline-block;width:var(--ds-size-300, 1.5rem)}:host ::slotted(strong){font-weight:700}:host([hidden]){display:none}:host([static]){pointer-events:none}:host([disabled]:hover){cursor:auto}:host([disabled]){user-select:none;pointer-events:none}`;
1056
+ var styleCss$1 = i$5`:host{cursor:pointer;user-select:none}:host .wrapper{display:flex;align-items:center;padding-right:var(--ds-size-200, 1rem);padding-left:calc(var(--ds-size-150, 0.75rem) + 24px + var(--ds-size-100, 0.5rem));padding-top:var(--ds-size-50, 0.25rem);padding-bottom:var(--ds-size-50, 0.25rem);-webkit-tap-highlight-color:transparent}:host .wrapper[class*=shape-box],:host .wrapper[class*=shape-snowflake]{border-radius:unset}:host .wrapper[class*=shape-pill]{border-radius:30px}:host .wrapper[class*=-lg]{font-size:var(--ds-text-body-size-lg, 1.125rem);line-height:var(--ds-text-body-height-lg, 1.625rem);padding-top:var(--ds-size-75, 0.375rem);padding-bottom:var(--ds-size-75, 0.375rem);padding-right:var(--ds-size-150, 0.75rem);margin-bottom:var(--ds-size-50, 0.25rem)}:host .wrapper[class*=-xl]{font-size:var(--ds-text-body-size-lg, 1.125rem);line-height:var(--ds-text-body-height-lg, 1.625rem);padding-top:var(--ds-size-100, 0.5rem);padding-bottom:var(--ds-size-100, 0.5rem);padding-right:var(--ds-size-200, 1rem);margin-bottom:var(--ds-size-100, 0.5rem)}:host slot{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}:host [auro-icon]{--ds-auro-icon-size: var(--ds-size-300, 1.5rem);margin-right:var(--ds-size-150, 0.75rem);margin-left:var(--ds-size-100, 0.5rem)}:host ::slotted(.nestingSpacer){display:inline-block;width:var(--ds-size-300, 1.5rem)}:host ::slotted(strong){font-weight:700}:host([loadingplaceholder]) .wrapper{padding-left:calc(var(--ds-size-150, 0.75rem) + 24px + var(--ds-size-100, 0.5rem))}:host([selected]) .wrapper{padding-left:0}:host([nocheckmark]) .wrapper{padding-left:var(--ds-size-150, 0.75rem)}:host([nocheckmark]) .wrapper[class*=-lg]{padding-left:var(--ds-size-150, 0.75rem)}:host([nocheckmark]) .wrapper[class*=-xl]{padding-left:var(--ds-size-200, 1rem)}:host([hidden]){display:none}:host([static]){pointer-events:none}:host([disabled]:hover){cursor:auto}:host([disabled]){user-select:none;pointer-events:none}`;
910
1057
 
911
- var colorCss$1 = i$5`:host{background-color:var(--ds-auro-menuoption-container-color);color:var(--ds-auro-menuoption-text-color)}:host svg{fill:var(--ds-auro-menuoption-icon-color)}:host([disabled]){--ds-auro-menuoption-text-color: var(--ds-basic-color-texticon-disabled, #d0d0d0)}:host(:hover),:host(.active){--ds-auro-menuoption-container-color: var(--ds-basic-color-surface-neutral-subtle, #f7f7f7)}:host([selected]){--ds-auro-menuoption-container-color: var(--ds-advanced-color-state-selected, #01426a);--ds-auro-menuoption-text-color: var(--ds-basic-color-texticon-inverse, #ffffff);--ds-auro-menuoption-icon-color: var(--ds-basic-color-texticon-inverse, #ffffff)}:host([selected]):host(:hover),:host([selected]):host(.active){--ds-auro-menuoption-container-color: var(--ds-advanced-color-state-selected-hover, #00274a)}`;
1058
+ var colorCss$1 = i$5`:host .wrapper{border:1px solid var(--ds-auro-menuoption-container-border-color);background-color:var(--ds-auro-menuoption-container-color);color:var(--ds-auro-menuoption-text-color)}:host svg{fill:var(--ds-auro-menuoption-icon-color)}:host([disabled]){--ds-auro-menuoption-text-color: var(--ds-basic-color-texticon-disabled, #d0d0d0)}:host(:hover),:host(.active){--ds-auro-menuoption-container-color: var(--ds-basic-color-surface-neutral-subtle, #f7f7f7)}:host([selected]){--ds-auro-menuoption-container-color: var(--ds-advanced-color-state-selected, #01426a);--ds-auro-menuoption-text-color: var(--ds-basic-color-texticon-inverse, #ffffff);--ds-auro-menuoption-icon-color: var(--ds-basic-color-texticon-inverse, #ffffff)}:host([selected]):host(:hover),:host([selected]):host(.active){--ds-auro-menuoption-container-color: var(--ds-advanced-color-state-selected-hover, #00274a)}`;
912
1059
 
913
1060
  // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
914
1061
  // See LICENSE in the project root for license information.
@@ -1123,6 +1270,76 @@ var tokensCss = i$5`:host{--ds-auro-icon-color:var(--ds-basic-color-texticon-def
1123
1270
 
1124
1271
  var colorCss = i$5`:host{color:var(--ds-auro-icon-color)}:host([customColor]){color:inherit}:host(:not([onDark])[variant=accent1]){--ds-auro-icon-color:var(--ds-basic-color-texticon-accent1, #265688)}:host(:not([onDark])[variant=disabled]){--ds-auro-icon-color:var(--ds-basic-color-texticon-disabled, #d0d0d0)}:host(:not([onDark])[variant=muted]){--ds-auro-icon-color:var(--ds-basic-color-texticon-muted, #676767)}:host(:not([onDark])[variant=statusDefault]){--ds-auro-icon-color:var(--ds-basic-color-status-default, #afb9c6)}:host(:not([onDark])[variant=statusInfo]){--ds-auro-icon-color:var(--ds-basic-color-status-info, #01426a)}:host(:not([onDark])[variant=statusSuccess]){--ds-auro-icon-color:var(--ds-basic-color-status-success, #447a1f)}:host(:not([onDark])[variant=statusWarning]){--ds-auro-icon-color:var(--ds-basic-color-status-warning, #fac200)}:host(:not([onDark])[variant=statusError]){--ds-auro-icon-color:var(--ds-basic-color-status-error, #e31f26)}:host(:not([onDark])[variant=statusInfoSubtle]){--ds-auro-icon-color:var(--ds-basic-color-status-info-subtle, #ebf3f9)}:host(:not([onDark])[variant=statusSuccessSubtle]){--ds-auro-icon-color:var(--ds-basic-color-status-success-subtle, #d6eac7)}:host(:not([onDark])[variant=statusWarningSubtle]){--ds-auro-icon-color:var(--ds-basic-color-status-warning-subtle, #fff0b2)}:host(:not([onDark])[variant=statusErrorSubtle]){--ds-auro-icon-color:var(--ds-basic-color-status-error-subtle, #fbc6c6)}:host(:not([onDark])[variant=fareBasicEconomy]){--ds-auro-icon-color:var(--ds-basic-color-fare-basiceconomy, #97eaf8)}:host(:not([onDark])[variant=fareBusiness]){--ds-auro-icon-color:var(--ds-basic-color-fare-business, #01426a)}:host(:not([onDark])[variant=fareEconomy]){--ds-auro-icon-color:var(--ds-basic-color-fare-economy, #0074ca)}:host(:not([onDark])[variant=fareFirst]){--ds-auro-icon-color:var(--ds-basic-color-fare-first, #00274a)}:host(:not([onDark])[variant=farePremiumEconomy]){--ds-auro-icon-color:var(--ds-basic-color-fare-premiumeconomy, #005154)}:host(:not([onDark])[variant=tierOneWorldEmerald]){--ds-auro-icon-color:var(--ds-basic-color-tier-program-oneworld-emerald, #139142)}:host(:not([onDark])[variant=tierOneWorldSapphire]){--ds-auro-icon-color:var(--ds-basic-color-tier-program-oneworld-sapphire, #015daa)}:host(:not([onDark])[variant=tierOneWorldRuby]){--ds-auro-icon-color:var(--ds-basic-color-tier-program-oneworld-ruby, #a41d4a)}:host([onDark]){--ds-auro-icon-color:var(--ds-basic-color-texticon-inverse, #ffffff)}:host([onDark][variant=disabled]){--ds-auro-icon-color:var(--ds-basic-color-texticon-inverse-disabled, #7e8894)}:host([onDark][variant=muted]){--ds-auro-icon-color:var(--ds-basic-color-texticon-inverse-muted, #ccd2db)}:host([onDark][variant=statusError]){--ds-auro-icon-color:var(--ds-advanced-color-state-error-inverse, #f9a4a8)}`;
1125
1272
 
1273
+ // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
1274
+ // See LICENSE in the project root for license information.
1275
+
1276
+ // ---------------------------------------------------------------------
1277
+
1278
+ /* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
1279
+
1280
+ class AuroLibraryRuntimeUtils {
1281
+
1282
+ /* eslint-disable jsdoc/require-param */
1283
+
1284
+ /**
1285
+ * This will register a new custom element with the browser.
1286
+ * @param {String} name - The name of the custom element.
1287
+ * @param {Object} componentClass - The class to register as a custom element.
1288
+ * @returns {void}
1289
+ */
1290
+ registerComponent(name, componentClass) {
1291
+ if (!customElements.get(name)) {
1292
+ customElements.define(name, class extends componentClass {});
1293
+ }
1294
+ }
1295
+
1296
+ /**
1297
+ * Finds and returns the closest HTML Element based on a selector.
1298
+ * @returns {void}
1299
+ */
1300
+ closestElement(
1301
+ selector, // selector like in .closest()
1302
+ base = this, // extra functionality to skip a parent
1303
+ __Closest = (el, found = el && el.closest(selector)) =>
1304
+ !el || el === document || el === window
1305
+ ? null // standard .closest() returns null for non-found selectors also
1306
+ : found
1307
+ ? found // found a selector INside this element
1308
+ : __Closest(el.getRootNode().host) // recursion!! break out to parent DOM
1309
+ ) {
1310
+ return __Closest(base);
1311
+ }
1312
+ /* eslint-enable jsdoc/require-param */
1313
+
1314
+ /**
1315
+ * If the element passed is registered with a different tag name than what is passed in, the tag name is added as an attribute to the element.
1316
+ * @param {Object} elem - The element to check.
1317
+ * @param {String} tagName - The name of the Auro component to check for or add as an attribute.
1318
+ * @returns {void}
1319
+ */
1320
+ handleComponentTagRename(elem, tagName) {
1321
+ const tag = tagName.toLowerCase();
1322
+ const elemTag = elem.tagName.toLowerCase();
1323
+
1324
+ if (elemTag !== tag) {
1325
+ elem.setAttribute(tag, true);
1326
+ }
1327
+ }
1328
+
1329
+ /**
1330
+ * Validates if an element is a specific Auro component.
1331
+ * @param {Object} elem - The element to validate.
1332
+ * @param {String} tagName - The name of the Auro component to check against.
1333
+ * @returns {Boolean} - Returns true if the element is the specified Auro component.
1334
+ */
1335
+ elementMatch(elem, tagName) {
1336
+ const tag = tagName.toLowerCase();
1337
+ const elemTag = elem.tagName.toLowerCase();
1338
+
1339
+ return elemTag === tag || elem.hasAttribute(tag);
1340
+ }
1341
+ }
1342
+
1126
1343
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
1127
1344
  // See LICENSE in the project root for license information.
1128
1345
 
@@ -1245,8 +1462,12 @@ class AuroIcon extends BaseIcon {
1245
1462
  async firstUpdated() {
1246
1463
  await super.firstUpdated();
1247
1464
 
1248
- // Removes the SVG description for screenreader if ariaHidden is set to true
1249
- if (!this.hasAttribute('ariaHidden') && this.svg) {
1465
+ /**
1466
+ * icons provide a description for screen readers. Icon only instances Auro-button
1467
+ * depend on this description to provide context for the user using a screen reader.
1468
+ * Removes the SVG description for screen reader if ariaHidden is set to true.
1469
+ */
1470
+ if (this.hasAttribute('ariaHidden') && this.svg) {
1250
1471
  const svgDesc = this.svg.querySelector('desc');
1251
1472
 
1252
1473
  if (svgDesc) {
@@ -1290,7 +1511,7 @@ class AuroIcon extends BaseIcon {
1290
1511
  }
1291
1512
  }
1292
1513
 
1293
- var iconVersion = '8.0.3';
1514
+ var iconVersion = '8.0.4';
1294
1515
 
1295
1516
  var checkmarkIcon = {"svg":"<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" aria-labelledby=\"checkmark-sm__desc\" class=\"ico_squareLarge\" role=\"img\" style=\"min-width:var(--auro-size-lg, var(--ds-size-300, 1.5rem));height:var(--auro-size-lg, var(--ds-size-300, 1.5rem));fill:currentColor\" viewBox=\"0 0 24 24\" part=\"svg\"><title/><desc id=\"checkmark-sm__desc\">a small check mark.</desc><path d=\"M8.461 11.84a.625.625 0 1 0-.922.844l2.504 2.738c.247.27.674.27.922 0l5.496-6a.625.625 0 1 0-.922-.844l-5.035 5.496z\"/></svg>"};
1296
1517
 
@@ -1308,10 +1529,13 @@ var checkmarkIcon = {"svg":"<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlin
1308
1529
  * @event auroMenuOption-mouseover - Notifies that this option has been hovered over.
1309
1530
  * @slot - Specifies text for an option, but is not the value.
1310
1531
  */
1311
- class AuroMenuOption extends i$2 {
1532
+ class AuroMenuOption extends AuroElement$1 {
1312
1533
  constructor() {
1313
1534
  super();
1314
1535
 
1536
+ this.size = ""; // md, lg, xl
1537
+ this.shape = ""; // box, rounded, pill
1538
+
1315
1539
  /**
1316
1540
  * Generate unique names for dependency components.
1317
1541
  */
@@ -1330,11 +1554,12 @@ class AuroMenuOption extends i$2 {
1330
1554
  /**
1331
1555
  * @private
1332
1556
  */
1333
- this.runtimeUtils = new AuroLibraryRuntimeUtils();
1557
+ this.runtimeUtils = new AuroLibraryRuntimeUtils$1();
1334
1558
  }
1335
1559
 
1336
1560
  static get properties() {
1337
1561
  return {
1562
+ ...super.properties,
1338
1563
  nocheckmark: {
1339
1564
  type: Boolean,
1340
1565
  reflect: true
@@ -1374,7 +1599,7 @@ class AuroMenuOption extends i$2 {
1374
1599
  *
1375
1600
  */
1376
1601
  static register(name = "auro-menuoption") {
1377
- AuroLibraryRuntimeUtils.prototype.registerComponent(name, AuroMenuOption);
1602
+ AuroLibraryRuntimeUtils$1.prototype.registerComponent(name, AuroMenuOption);
1378
1603
  }
1379
1604
 
1380
1605
  firstUpdated() {
@@ -1396,6 +1621,8 @@ class AuroMenuOption extends i$2 {
1396
1621
 
1397
1622
  // observer for selected property changes
1398
1623
  updated(changedProperties) {
1624
+ super.updated(changedProperties);
1625
+
1399
1626
  if (changedProperties.has('selected')) {
1400
1627
  this.setAttribute('aria-selected', this.selected.toString());
1401
1628
  }
@@ -1417,10 +1644,19 @@ class AuroMenuOption extends i$2 {
1417
1644
  return u`<${this.iconTag} customColor customSvg slot="icon">${svg}</${this.iconTag}>`;
1418
1645
  }
1419
1646
 
1420
- render() {
1647
+ /**
1648
+ * Logic to determine the layout of the component.
1649
+ * @protected
1650
+ * @returns {void}
1651
+ */
1652
+ renderLayout() {
1421
1653
  return u`
1422
- ${this.selected && !this.nocheckmark ? this.generateIconHtml(checkmarkIcon.svg) : undefined}
1423
- <slot></slot>
1654
+ <div class="wrapper">
1655
+ ${this.selected && !this.nocheckmark
1656
+ ? this.generateIconHtml(checkmarkIcon.svg)
1657
+ : undefined}
1658
+ <slot></slot>
1659
+ </div>
1424
1660
  `;
1425
1661
  }
1426
1662
  }