@aurodesignsystem-dev/auro-formkit 0.0.0-pr1448.0 → 0.0.0-pr1451.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 (163) hide show
  1. package/components/checkbox/demo/api.md +201 -221
  2. package/components/checkbox/demo/api.min.js +1 -1
  3. package/components/checkbox/demo/index.md +21 -23
  4. package/components/checkbox/demo/index.min.js +1 -1
  5. package/components/checkbox/demo/keyboard-behavior.md +39 -0
  6. package/components/checkbox/demo/readme.md +23 -35
  7. package/components/checkbox/dist/auro-checkbox-group.d.ts +6 -6
  8. package/components/checkbox/dist/auro-checkbox.d.ts +8 -8
  9. package/components/checkbox/dist/index.js +1 -1
  10. package/components/checkbox/dist/registered.js +1 -1
  11. package/components/combobox/README.md +13 -3
  12. package/components/combobox/demo/accessibility.html +57 -0
  13. package/components/combobox/demo/accessibility.md +77 -0
  14. package/components/combobox/demo/api.html +24 -0
  15. package/components/combobox/demo/api.md +1613 -1685
  16. package/components/combobox/demo/api.min.js +15 -21
  17. package/components/combobox/demo/design.html +83 -0
  18. package/components/combobox/demo/design.md +283 -0
  19. package/components/combobox/demo/index.html +49 -16
  20. package/components/combobox/demo/index.js +3 -2
  21. package/components/combobox/demo/index.md +861 -185
  22. package/components/combobox/demo/index.min.js +41 -22
  23. package/components/combobox/demo/install.html +84 -0
  24. package/components/combobox/demo/install.js +24 -0
  25. package/components/combobox/demo/install.md +100 -0
  26. package/components/combobox/demo/install.min.js +17991 -0
  27. package/components/combobox/demo/{keyboardBehavior.html → keyboard-behavior.html} +2 -1
  28. package/components/combobox/demo/keyboard-behavior.md +276 -0
  29. package/components/combobox/demo/layout.md +112 -0
  30. package/components/combobox/demo/readme.html +25 -1
  31. package/components/combobox/demo/readme.md +50 -52
  32. package/components/combobox/demo/styles.css +141 -0
  33. package/components/combobox/demo/voiceover.html +66 -0
  34. package/components/combobox/demo/voiceover.md +118 -0
  35. package/components/combobox/dist/auro-combobox.d.ts +36 -36
  36. package/components/combobox/dist/index.js +12 -17
  37. package/components/combobox/dist/registered.js +12 -17
  38. package/components/counter/demo/api.md +751 -819
  39. package/components/counter/demo/api.min.js +2 -2
  40. package/components/counter/demo/index.md +35 -39
  41. package/components/counter/demo/index.min.js +2 -2
  42. package/components/counter/demo/keyboard-behavior.md +127 -0
  43. package/components/counter/demo/readme.md +39 -51
  44. package/components/counter/dist/auro-counter-group.d.ts +2 -2
  45. package/components/counter/dist/auro-counter.d.ts +10 -10
  46. package/components/counter/dist/index.js +2 -2
  47. package/components/counter/dist/registered.js +2 -2
  48. package/components/datepicker/demo/api.md +827 -931
  49. package/components/datepicker/demo/api.min.js +4 -4
  50. package/components/datepicker/demo/index.md +79 -87
  51. package/components/datepicker/demo/index.min.js +4 -4
  52. package/components/datepicker/demo/keyboard-behavior.md +19 -0
  53. package/components/datepicker/demo/readme.md +19 -31
  54. package/components/datepicker/dist/index.js +4 -4
  55. package/components/datepicker/dist/registered.js +4 -4
  56. package/components/datepicker/dist/{auro-calendar-cell.d.ts → src/auro-calendar-cell.d.ts} +2 -2
  57. package/components/datepicker/dist/{auro-datepicker.d.ts → src/auro-datepicker.d.ts} +13 -13
  58. package/components/datepicker/dist/{utilities.d.ts → src/utilities.d.ts} +4 -4
  59. package/components/datepicker/dist/{utilitiesCalendar.d.ts → src/utilitiesCalendar.d.ts} +3 -3
  60. package/components/datepicker/dist/{vendor → src/vendor}/wc-range-datepicker/range-datepicker-calendar.d.ts +2 -2
  61. package/components/datepicker/dist/{vendor → src/vendor}/wc-range-datepicker/range-datepicker.d.ts +1 -1
  62. package/components/dropdown/demo/api.md +795 -851
  63. package/components/dropdown/demo/api.min.js +1 -1
  64. package/components/dropdown/demo/index.md +145 -155
  65. package/components/dropdown/demo/index.min.js +1 -1
  66. package/components/dropdown/demo/keyboard-behavior.md +72 -0
  67. package/components/dropdown/demo/readme.md +39 -51
  68. package/components/dropdown/dist/auro-dropdown.d.ts +22 -22
  69. package/components/dropdown/dist/auro-dropdownBib.d.ts +3 -3
  70. package/components/dropdown/dist/dropdownBibKeyboardStrategy.d.ts +1 -1
  71. package/components/dropdown/dist/index.js +1 -1
  72. package/components/dropdown/dist/registered.js +1 -1
  73. package/components/form/demo/api.md +173 -179
  74. package/components/form/demo/api.min.js +27 -33
  75. package/components/form/demo/index.md +27 -33
  76. package/components/form/demo/index.min.js +27 -33
  77. package/components/form/demo/keyboard-behavior.md +38 -0
  78. package/components/form/demo/readme.md +14 -28
  79. package/components/input/demo/api.md +572 -664
  80. package/components/input/demo/api.min.js +2 -2
  81. package/components/input/demo/index.md +93 -99
  82. package/components/input/demo/index.min.js +2 -2
  83. package/components/input/demo/keyboard-behavior.md +25 -0
  84. package/components/input/demo/readme.md +17 -29
  85. package/components/input/dist/auro-input.d.ts +1 -1
  86. package/components/input/dist/base-input.d.ts +29 -29
  87. package/components/input/dist/index.js +2 -2
  88. package/components/input/dist/registered.js +2 -2
  89. package/components/menu/demo/api.md +745 -789
  90. package/components/menu/demo/api.min.js +3 -4
  91. package/components/menu/demo/index.md +35 -37
  92. package/components/menu/demo/index.min.js +3 -4
  93. package/components/menu/demo/keyboard-behavior.md +18 -0
  94. package/components/menu/demo/readme.md +23 -35
  95. package/components/menu/dist/auro-menu-utils.d.ts +1 -1
  96. package/components/menu/dist/auro-menu.context.d.ts +3 -3
  97. package/components/menu/dist/auro-menu.d.ts +5 -5
  98. package/components/menu/dist/auro-menuoption.d.ts +6 -6
  99. package/components/menu/dist/index.js +3 -4
  100. package/components/menu/dist/registered.js +3 -4
  101. package/components/radio/demo/api.md +318 -350
  102. package/components/radio/demo/api.min.js +1 -1
  103. package/components/radio/demo/index.md +25 -29
  104. package/components/radio/demo/index.min.js +1 -1
  105. package/components/radio/demo/keyboard-behavior.md +72 -0
  106. package/components/radio/demo/readme.md +21 -33
  107. package/components/radio/dist/auro-radio-group.d.ts +9 -9
  108. package/components/radio/dist/auro-radio.d.ts +8 -8
  109. package/components/radio/dist/index.js +1 -1
  110. package/components/radio/dist/registered.js +1 -1
  111. package/components/select/README.md +12 -1
  112. package/components/select/demo/accessibility.html +65 -0
  113. package/components/select/demo/accessibility.md +76 -0
  114. package/components/select/demo/api.md +1713 -1793
  115. package/components/select/demo/api.min.js +5 -6
  116. package/components/select/demo/index.html +247 -37
  117. package/components/select/demo/index.md +225 -345
  118. package/components/select/demo/index.min.js +5 -6
  119. package/components/select/demo/keyboard-behavior.md +39 -0
  120. package/components/select/demo/layout.html +59 -0
  121. package/components/select/demo/layout.md +299 -0
  122. package/components/select/demo/readme.md +45 -46
  123. package/components/select/demo/voiceover.html +65 -0
  124. package/components/select/demo/voiceover.md +183 -0
  125. package/components/select/dist/auro-select.d.ts +11 -11
  126. package/components/select/dist/index.js +2 -2
  127. package/components/select/dist/registered.js +2 -2
  128. package/custom-elements.json +13 -11
  129. package/package.json +26 -26
  130. package/components/checkbox/demo/keyboardBehavior.md +0 -0
  131. package/components/combobox/demo/keyboardBehavior.md +0 -281
  132. package/components/counter/demo/keyboardBehavior.md +0 -127
  133. package/components/datepicker/demo/keyboardBehavior.md +0 -19
  134. package/components/dropdown/demo/keyboardBehavior.md +0 -77
  135. package/components/form/demo/keyboardBehavior.md +0 -0
  136. package/components/input/demo/keyboardBehavior.md +0 -0
  137. package/components/menu/demo/keyboardBehavior.md +0 -0
  138. package/components/radio/demo/keyboardBehavior.md +0 -0
  139. package/components/select/demo/keyboardBehavior.md +0 -245
  140. /package/components/datepicker/dist/{auro-calendar-month.d.ts → src/auro-calendar-month.d.ts} +0 -0
  141. /package/components/datepicker/dist/{auro-calendar.d.ts → src/auro-calendar.d.ts} +0 -0
  142. /package/components/datepicker/dist/{buttonVersion.d.ts → src/buttonVersion.d.ts} +0 -0
  143. /package/components/datepicker/dist/{datepickerKeyboardStrategy.d.ts → src/datepickerKeyboardStrategy.d.ts} +0 -0
  144. /package/components/datepicker/dist/{iconVersion.d.ts → src/iconVersion.d.ts} +0 -0
  145. /package/components/datepicker/dist/{index.d.ts → src/index.d.ts} +0 -0
  146. /package/components/datepicker/dist/{popoverVersion.d.ts → src/popoverVersion.d.ts} +0 -0
  147. /package/components/datepicker/dist/{styles → src/styles}/classic/color-css.d.ts +0 -0
  148. /package/components/datepicker/dist/{styles → src/styles}/classic/style-css.d.ts +0 -0
  149. /package/components/datepicker/dist/{styles → src/styles}/color-calendar-css.d.ts +0 -0
  150. /package/components/datepicker/dist/{styles → src/styles}/color-cell-css.d.ts +0 -0
  151. /package/components/datepicker/dist/{styles → src/styles}/color-css.d.ts +0 -0
  152. /package/components/datepicker/dist/{styles → src/styles}/color-month-css.d.ts +0 -0
  153. /package/components/datepicker/dist/{styles → src/styles}/shapeSize-css.d.ts +0 -0
  154. /package/components/datepicker/dist/{styles → src/styles}/snowflake/color-css.d.ts +0 -0
  155. /package/components/datepicker/dist/{styles → src/styles}/snowflake/style-css.d.ts +0 -0
  156. /package/components/datepicker/dist/{styles → src/styles}/style-auro-calendar-cell-css.d.ts +0 -0
  157. /package/components/datepicker/dist/{styles → src/styles}/style-auro-calendar-css.d.ts +0 -0
  158. /package/components/datepicker/dist/{styles → src/styles}/style-auro-calendar-month-css.d.ts +0 -0
  159. /package/components/datepicker/dist/{styles → src/styles}/style-css.d.ts +0 -0
  160. /package/components/datepicker/dist/{styles → src/styles}/tokens-css.d.ts +0 -0
  161. /package/components/datepicker/dist/{utilitiesCalendarRender.d.ts → src/utilitiesCalendarRender.d.ts} +0 -0
  162. /package/components/datepicker/dist/{vendor → src/vendor}/wc-range-datepicker/day.d.ts +0 -0
  163. /package/components/datepicker/dist/{vendor → src/vendor}/wc-range-datepicker/range-datepicker-cell.d.ts +0 -0
@@ -5228,7 +5228,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$4 {
5228
5228
  }
5229
5229
  };
5230
5230
 
5231
- var formkitVersion$2 = '202604231640';
5231
+ var formkitVersion$2 = '202604232250';
5232
5232
 
5233
5233
  let AuroElement$2 = class AuroElement extends i$4 {
5234
5234
  static get properties() {
@@ -6377,7 +6377,7 @@ var styleCss$1$1 = i$7`.util_displayInline{display:inline}.util_displayInlineBlo
6377
6377
 
6378
6378
  var styleDefaultCss = i$7`.layoutDefault .typeIcon,:host(:not([layout])) .typeIcon{display:flex;flex-direction:row;align-items:center}.layoutDefault .typeIcon [auro-icon],:host(:not([layout])) .typeIcon [auro-icon]{--ds-auro-icon-size: var(--ds-size-300, 1.5rem);height:var(--ds-size-300, 1.5rem);margin-right:var(--ds-size-100, 0.5rem)}.layoutDefault .notificationIcons,:host(:not([layout])) .notificationIcons{display:flex;flex-direction:row;padding-right:var(--ds-size-100, 0.5rem)}:host([class=layoutDefault][bordered]) .typeIcon,:host(:not([layout])[bordered]) .typeIcon{padding-left:var(--ds-size-100, 0.5rem)}:host([class=layoutDefault][bordered]) .notificationIcons,:host(:not([layout])[bordered]) .notificationIcons{align-items:center}:host([class=layoutDefault][bordered]) .notification:not(:first-of-type),:host(:not([layout])[bordered]) .notification:not(:first-of-type){margin-left:var(--ds-size-100, 0.5rem)}:host([class=layoutDefault][bordered]) .alertNotification,:host(:not([layout])[bordered]) .alertNotification{width:calc(var(--ds-size-300, 1.5rem) + var(--ds-size-25, 0.125rem));height:calc(var(--ds-size-300, 1.5rem) + var(--ds-size-25, 0.125rem))}:host([class=layoutDefault][bordered]) .passwordBtn,:host(:not([layout])[bordered]) .passwordBtn{width:calc(var(--ds-size-300, 1.5rem));height:calc(var(--ds-size-300, 1.5rem))}:host([class=layoutDefault][bordered]) .notificationBtn,:host(:not([layout])[bordered]) .notificationBtn{display:block;width:var(--ds-size-300, 1.5rem);height:var(--ds-size-300, 1.5rem);padding:0;border:0;background:unset;cursor:pointer}:host([class=layoutDefault][bordered]) .notificationBtn [auro-icon],:host(:not([layout])[bordered]) .notificationBtn [auro-icon]{display:block;height:var(--ds-size-300, 1.5rem);--ds-auro-icon-size: var(--ds-size-300, 1.5rem)}:host([class=layoutDefault][bordered]) .notificationBtn [auro-icon][hidden],:host(:not([layout])[bordered]) .notificationBtn [auro-icon][hidden]{display:none}:host([class=layoutDefault]:not([bordered])) .typeIcon,:host([class=layoutDefault]:not([bordered])) .notificationIcons,:host(:not([layout]):not([bordered])) .typeIcon,:host(:not([layout]):not([bordered])) .notificationIcons{align-items:flex-end;padding-bottom:var(--ds-size-50, 0.25rem)}:host([class=layoutDefault]:not([bordered])) .clearBtn,:host(:not([layout]):not([bordered])) .clearBtn{transition:all .3s cubic-bezier(0.215, 0.61, 0.355, 1);overflow:hidden;width:0;opacity:0}.layoutDefault .wrapper:hover .clearBtn,.layoutDefault .wrapper:focus-within .clearBtn,:host(:not([layout])) .wrapper:hover .clearBtn,:host(:not([layout])) .wrapper:focus-within .clearBtn{width:calc(var(--ds-size-200, 1rem) + var(--ds-size-25, 0.125rem));height:calc(var(--ds-size-200, 1rem) + var(--ds-size-25, 0.125rem));opacity:1}:host([class=layoutDefault]:focus-within[type=password]) .notificationIcons[hasValue] .alertNotification,:host(:not([layout]):focus-within[type=password]) .notificationIcons[hasValue] .alertNotification{overflow:hidden;width:0;height:0;padding:0;margin:0;visibility:hidden}.layoutDefault input,:host(:not([layout])) input{border:unset}.layoutDefault .wrapper,:host(:not([layout])) .wrapper{position:relative;overflow:hidden;border-style:solid}:host([class=layoutDefault]:not([bordered],[borderless])) .wrapper,:host(:not([layout]):not([bordered],[borderless])) .wrapper{border-width:1px 0}:host([class=layoutDefault][bordered]) .wrapper,:host(:not([layout])[bordered]) .wrapper{border-width:1px;border-radius:var(--ds-border-radius, 0.375rem)}:host([class=layoutDefault]:not([borderless])) .wrapper:focus-within:before,:host(:not([layout]):not([borderless])) .wrapper:focus-within:before{position:absolute;display:block;border-bottom-width:1px;border-bottom-style:solid;content:"";inset:0;pointer-events:none}:host([class=layoutDefault][validity]:not([validity=valid])) .wrapper:before,:host(:not([layout])[validity]:not([validity=valid])) .wrapper:before{border-bottom:0}:focus:not(:focus-visible){outline:3px solid transparent}.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock,:host{display:block}.util_displayFlex{display:flex}.util_displayHidden,:host([hidden]:not(:focus):not(:active)){display:none}.util_displayHiddenVisually,:host([hiddenVisually]:not(:focus):not(:active)){position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}:host{text-align:left}.layoutDefault :host,:host(:not([layout])) :host{position:relative;display:block}.layoutDefault .wrapper,:host(:not([layout])) .wrapper{display:flex;flex-direction:row}.layoutDefault .main,:host(:not([layout])) .main{display:flex;flex-direction:row;position:relative;flex:1}`;
6379
6379
 
6380
- var colorBaseCss = i$7`.wrapper{border-color:var(--ds-auro-input-border-color);background-color:var(--ds-auro-input-container-color);color:var(--ds-auro-input-text-color)}.wrapper label{color:var(--ds-auro-input-label-text-color)}.wrapper input{caret-color:var(--ds-auro-input-caret-color);color:var(--ds-auro-input-text-color)}.wrapper input::placeholder{color:var(--ds-auro-input-placeholder-text-color)}.wrapper input:focus::placeholder{color:var(--ds-auro-input-placeholder-text-color)}:host(:not([ondark])) .wrapper:focus-within,:host(:not([appearance=inverse])) .wrapper:focus-within{--ds-auro-input-border-color: var(--ds-basic-color-border-brand, #00274a)}:host([ondark]) .wrapper:focus-within,:host([appearance=inverse]) .wrapper:focus-within{--ds-auro-input-border-color: var(--ds-basic-color-border-inverse, #ffffff)}:host(:is([validity]:not([validity=valid]))) .wrapper{--ds-auro-input-border-color: var(--ds-basic-color-status-error, #e31f26)}:host([ondark]:is([validity]:not([validity=valid]))) .wrapper,:host([appearance=inverse]:is([validity]:not([validity=valid]))) .wrapper{--ds-auro-input-border-color: var(--ds-advanced-color-state-error-inverse, #f9a4a8)}:host(:not([ondark])[disabled]),:host(:not([appearance=inverse])[disabled]){--ds-auro-input-border-color: var(--ds-basic-color-border-subtle, #dddddd);--ds-auro-input-label-text-color: var(--ds-basic-color-texticon-disabled, #d0d0d0);--ds-auro-input-text-color: var(--ds-basic-color-texticon-disabled, #d0d0d0);--ds-auro-input-placeholder-text-color: var(--ds-basic-color-texticon-disabled, #d0d0d0)}:host([ondark][disabled]),:host([appearance=inverse][disabled]){--ds-auro-input-border-color: var(--ds-advanced-color-button-primary-border-inverse-disabled, rgba(255, 255, 255, 0.75));--ds-auro-input-label-text-color: var(--ds-basic-color-texticon-inverse-disabled, #7e8894);--ds-auro-input-text-color: var(--ds-basic-color-texticon-inverse-disabled, #7e8894);--ds-auro-input-placeholder-text-color: var(--ds-basic-color-texticon-inverse-disabled, #7e8894)}`;
6380
+ var colorBaseCss = i$7`.wrapper{border-color:red;background-color:var(--ds-auro-input-container-color);color:var(--ds-auro-input-text-color)}.wrapper label{color:var(--ds-auro-input-label-text-color)}.wrapper input{caret-color:var(--ds-auro-input-caret-color);color:var(--ds-auro-input-text-color)}.wrapper input::placeholder{color:var(--ds-auro-input-placeholder-text-color)}.wrapper input:focus::placeholder{color:var(--ds-auro-input-placeholder-text-color)}:host(:not([ondark])) .wrapper:focus-within,:host(:not([appearance=inverse])) .wrapper:focus-within{--ds-auro-input-border-color: var(--ds-basic-color-border-brand, #00274a)}:host([ondark]) .wrapper:focus-within,:host([appearance=inverse]) .wrapper:focus-within{--ds-auro-input-border-color: var(--ds-basic-color-border-inverse, #ffffff)}:host(:is([validity]:not([validity=valid]))) .wrapper{--ds-auro-input-border-color: var(--ds-basic-color-status-error, #e31f26)}:host([ondark]:is([validity]:not([validity=valid]))) .wrapper,:host([appearance=inverse]:is([validity]:not([validity=valid]))) .wrapper{--ds-auro-input-border-color: var(--ds-advanced-color-state-error-inverse, #f9a4a8)}:host(:not([ondark])[disabled]),:host(:not([appearance=inverse])[disabled]){--ds-auro-input-border-color: var(--ds-basic-color-border-subtle, #dddddd);--ds-auro-input-label-text-color: var(--ds-basic-color-texticon-disabled, #d0d0d0);--ds-auro-input-text-color: var(--ds-basic-color-texticon-disabled, #d0d0d0);--ds-auro-input-placeholder-text-color: var(--ds-basic-color-texticon-disabled, #d0d0d0)}:host([ondark][disabled]),:host([appearance=inverse][disabled]){--ds-auro-input-border-color: var(--ds-advanced-color-button-primary-border-inverse-disabled, rgba(255, 255, 255, 0.75));--ds-auro-input-label-text-color: var(--ds-basic-color-texticon-inverse-disabled, #7e8894);--ds-auro-input-text-color: var(--ds-basic-color-texticon-inverse-disabled, #7e8894);--ds-auro-input-placeholder-text-color: var(--ds-basic-color-texticon-inverse-disabled, #7e8894)}`;
6381
6381
 
6382
6382
  var tokensCss$1$1 = i$7`:host(:not([ondark])),:host(:not([appearance=inverse])){--ds-auro-input-border-color: var(--ds-basic-color-border-bold, #585e67);--ds-auro-input-container-color: var(--ds-basic-color-surface-default, #ffffff);--ds-auro-input-caret-color: var(--ds-advanced-color-state-focused, #01426a);--ds-auro-input-label-text-color: var(--ds-basic-color-texticon-muted, #676767);--ds-auro-input-placeholder-text-color: var(--ds-basic-color-texticon-default, #2a2a2a);--ds-auro-input-text-color: var(--ds-basic-color-texticon-default, #2a2a2a);--ds-auro-input-error-icon-color: var(--ds-basic-color-status-error, #e31f26);--ds-auro-input-outline-color: transparent}:host([ondark]),:host([appearance=inverse]){--ds-auro-input-border-color: var(--ds-basic-color-border-inverse, #ffffff);--ds-auro-input-container-color: var(--ds-advanced-color-shared-background-inverse, rgba(255, 255, 255, 0.15));--ds-auro-input-caret-color: var(--ds-advanced-color-state-focused-inverse, #ffffff);--ds-auro-input-label-text-color: var(--ds-basic-color-texticon-inverse-muted, #ccd2db);--ds-auro-input-placeholder-text-color: var(--ds-basic-color-texticon-inverse, #ffffff);--ds-auro-input-text-color: var(--ds-basic-color-texticon-inverse, #ffffff);--ds-auro-input-error-icon-color: var(--ds-advanced-color-state-error-inverse, #f9a4a8);--ds-auro-input-outline-color: transparent}`;
6383
6383
 
@@ -12980,7 +12980,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$4 {
12980
12980
  }
12981
12981
  };
12982
12982
 
12983
- var formkitVersion$1 = '202604231640';
12983
+ var formkitVersion$1 = '202604232250';
12984
12984
 
12985
12985
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
12986
12986
  // See LICENSE in the project root for license information.
@@ -14045,7 +14045,7 @@ class AuroBibtemplate extends i$4 {
14045
14045
  }
14046
14046
  }
14047
14047
 
14048
- var formkitVersion = '202604231640';
14048
+ var formkitVersion = '202604232250';
14049
14049
 
14050
14050
  var styleCss$3 = i$7`.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}`;
14051
14051
 
@@ -14442,6 +14442,7 @@ class AuroCombobox extends AuroElement {
14442
14442
  this.optionActive = null;
14443
14443
  this.persistInput = false;
14444
14444
  this.required = false;
14445
+ this.value = undefined;
14445
14446
  this.typedValue = undefined;
14446
14447
  this.behavior = "suggestion";
14447
14448
  this.clearBtnFocused = false;
@@ -15054,10 +15055,6 @@ class AuroCombobox extends AuroElement {
15054
15055
  });
15055
15056
 
15056
15057
  if (this.value && this.input.value && !this.menu.value) {
15057
- if (this.behavior === 'suggestion' && this.menu.options && this.menu.options.some((opt) => opt.value === this.value)) {
15058
- this.setMenuValue(this.value);
15059
- }
15060
-
15061
15058
  this.syncValuesAndStates();
15062
15059
  }
15063
15060
 
@@ -15668,6 +15665,10 @@ class AuroCombobox extends AuroElement {
15668
15665
  this.configureCombobox();
15669
15666
  this.configureMenu();
15670
15667
 
15668
+ // Set the initial value in auro-menu if defined
15669
+ if (this.hasAttribute('value') && this.getAttribute('value').length > 0) {
15670
+ this.menu.value = this.value;
15671
+ }
15671
15672
  }
15672
15673
 
15673
15674
  /**
@@ -15748,16 +15749,10 @@ class AuroCombobox extends AuroElement {
15748
15749
  this.input.value = this.value;
15749
15750
  }
15750
15751
 
15751
- if (this.menu && this.hasValue && this.menu.options) {
15752
- this.menu.options.forEach((opt) => {
15753
- if (!opt.hasAttribute('static')) {
15754
- opt.removeAttribute('hidden');
15755
- }
15756
- });
15757
- }
15758
-
15759
15752
  if (this.behavior === 'suggestion') {
15760
- if (!this.menu.options || this.menu.options.length === 0) ; else if (this.menu.options.filter((opt) => opt.value === this.value).length > 0) {
15753
+ // if menu has an option that has matched value, then select it,
15754
+ // otherwise clear the menu value since the input value doesn't match any option
15755
+ if (this.menu.options && this.menu.options.filter((opt) => opt.value === this.value).length > 0) {
15761
15756
  this.setMenuValue(this.value);
15762
15757
  } else {
15763
15758
  this.menu.value = undefined;
@@ -16987,13 +16982,10 @@ class MenuService {
16987
16982
  }
16988
16983
 
16989
16984
  const optionsSet = new Set(optionsToDeselect);
16990
- const previousCount = this.selectedOptions.length;
16991
16985
  this.selectedOptions = (this.selectedOptions || [])
16992
16986
  .filter(opt => !optionsSet.has(opt));
16993
16987
 
16994
- if (this.selectedOptions.length < previousCount) {
16995
- this.stageUpdate();
16996
- }
16988
+ this.stageUpdate();
16997
16989
  }
16998
16990
 
16999
16991
  /**
@@ -17413,6 +17405,8 @@ class AuroMenu extends AuroElement {
17413
17405
  */
17414
17406
  this.size = "sm";
17415
17407
 
17408
+ // Value of the selected options
17409
+ this.value = undefined;
17416
17410
  // Currently selected option
17417
17411
  this.optionSelected = undefined;
17418
17412
  // String used for highlighting/filtering
@@ -0,0 +1,83 @@
1
+ <!--
2
+ Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
3
+ See LICENSE in the project root for license information.
4
+
5
+ HTML in this document is standardized and NOT to be edited.
6
+ All demo code should be added/edited in ./demo/design.md
7
+
8
+ With the exception of adding custom elements if needed for the demo.
9
+
10
+ ----------------------- DO NOT EDIT -----------------------------
11
+
12
+ -->
13
+
14
+ <!DOCTYPE html>
15
+ <html lang="en">
16
+ <head>
17
+ <meta charset="UTF-8" />
18
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
19
+ <title>Auro Web Component Demo | auro-combobox | Design</title>
20
+
21
+ <!-- Prism.js Stylesheet -->
22
+ <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/prismjs@1.24.1/themes/prism.css"/>
23
+
24
+ <!-- Legacy reference is still needed to support auro-combobox's use of legacy token values at this time -->
25
+ <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/@aurodesignsystem/design-tokens@latest/dist/legacy/auro-classic/CSSCustomProperties.css"/>
26
+
27
+ <!-- Design Token Alaska Theme -->
28
+ <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/@aurodesignsystem/design-tokens@latest/dist/themes/alaska/CSSCustomProperties--alaska.min.css"/>
29
+
30
+ <!-- Webcore Stylesheet Alaska Theme -->
31
+ <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/@aurodesignsystem/webcorestylesheets@latest/dist/bundled/themes/alaska.global.min.css" />
32
+
33
+ <!-- Demo Specific Styles -->
34
+ <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/@aurodesignsystem/webcorestylesheets@latest/dist/demoWrapper.css" />
35
+ <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/@aurodesignsystem/webcorestylesheets@latest/dist/elementDemoStyles.css" />
36
+ <link rel="stylesheet" type="text/css" href="./styles.css" />
37
+ </head>
38
+ <body class="auro-markdown">
39
+ <main></main>
40
+
41
+ <script type="module">
42
+ import 'https://cdn.jsdelivr.net/npm/marked@latest/marked.min.js';
43
+ import 'https://cdn.jsdelivr.net/npm/prismjs@latest/prism.js';
44
+ fetch('./design.md')
45
+ .then((response) => response.text())
46
+ .then((text) => {
47
+ const rawHtml = marked.parse(text);
48
+ document.querySelector('main').innerHTML = rawHtml;
49
+ Prism.highlightAll();
50
+ addCopyButtons();
51
+ });
52
+
53
+ function addCopyButtons() {
54
+ document.querySelectorAll('auro-accordion pre[class*="language-"]').forEach((pre) => {
55
+ const wrapper = document.createElement('div');
56
+ wrapper.className = 'pre-wrapper';
57
+ pre.parentNode.insertBefore(wrapper, pre);
58
+ wrapper.appendChild(pre);
59
+ const btn = document.createElement('button');
60
+ btn.className = 'copy-btn';
61
+ btn.textContent = 'Copy';
62
+ btn.addEventListener('click', () => {
63
+ const code = pre.querySelector('code');
64
+ const raw = code ? code.textContent : pre.textContent;
65
+ const text = raw.replace(/\u200B/g, '').replace(/^\n+/, '').replace(/\n+$/, '\n');
66
+ navigator.clipboard.writeText(text).then(() => {
67
+ btn.textContent = 'Copied!';
68
+ setTimeout(() => { btn.textContent = 'Copy'; }, 1500);
69
+ });
70
+ });
71
+ wrapper.appendChild(btn);
72
+ });
73
+ }
74
+ </script>
75
+
76
+ <!-- If additional elements are needed for the demo, add them here. -->
77
+ <script src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-accordion@latest/+esm" type="module"></script>
78
+ <script src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-icon@latest/+esm" type="module"></script>
79
+ <script src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-header@latest/+esm" type="module"></script>
80
+
81
+ <script src="./index.min.js" data-demo-script="true" type="module"></script>
82
+ </body>
83
+ </html>
@@ -0,0 +1,283 @@
1
+ <auro-header level="1" id="overview">Combobox - Design</auro-header>
2
+ <div class="contentWrapper">
3
+ <div class="mainContent">
4
+ <div class="scrollWrapper">
5
+ <auro-header level="3" id="anatomy">Component Anatomy</auro-header>
6
+ <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../docs/partials/layout.md) -->
7
+ <!-- The below content is automatically added from ./../docs/partials/layout.md -->
8
+ <p>The component consists of the following elements:</p>
9
+ <ul>
10
+ <li>
11
+ <strong>trigger:</strong> shows the component label, current value and will render to reflect state of the component (e.g. <code>focus</code>, <code>hover</code>, <code>disabled</code>, <code>valid</code>, <code>invalid</code>), and a flag marking instances that are required. The trigger includes a text input that allows the user to type and filter the available options.
12
+ </li>
13
+ <li>
14
+ <strong>options list:</strong> a list of options that may be selected which are rendered in an element which can be expanded/collapsed by interacting with the trigger. The list is filtered based on user input.
15
+ </li>
16
+ <li>
17
+ <strong>help text:</strong> descriptive text rendered below the trigger intended to help clarify the intended use of the component instance and any current validation error with instructions to resolve those errors.
18
+ </li>
19
+ </ul>
20
+ <auro-header level="4" id="trigger">Trigger</auro-header>
21
+ <p>The trigger includes the component label, a flag marking the component optional/required and the current value. This label is required in order to ensure correct behavior when a guest is using accessibility tools such as screen readers and VoiceOver utilities. The invalid state will also announce to accessibility tools when applied.</p>
22
+ <p>The optional/required flag content may be customized.</p>
23
+ <p>When rendering the value of a selected option, the text content of the option will render in the input field.</p>
24
+ <p>The trigger is a focusable element and will visually respond to common UI states - <strong>Hover</strong> <em>(:hover)</em>, <strong>Focus</strong> <em>(:focus / :focus-visible)</em>, <strong>Disabled</strong> <em>(:disabled)</em>. The component does not have a visual response to the <strong>Active</strong> <em>(:active)</em> state.</p>
25
+ <auro-header level="4" id="options">List Options</auro-header>
26
+ <p>The component will render a list of options that may be selected. Options are filtered as the user types in the input. Each option may be in one of the following states when rendered:</p>
27
+ <ul>
28
+ <li>
29
+ <code>selected</code> - One option may be selected at a time and identifies the current value of the component.
30
+ </li>
31
+ <li>
32
+ <code>active</code> - One option may be active at a time. The active option indicates the item that will become selected if the user chooses.
33
+ </li>
34
+ <li>
35
+ <code>disabled</code> - One or more options may be disabled. Disabled options are not interactive and cannot be marked as active or selected.
36
+ </li>
37
+ </ul>
38
+ <auro-header level="4" id="helpText">Help Text</auro-header>
39
+ <p>Help text is not required. However, consideration should be given to how users will understand the full context of the component instance, particularly users reliant on accessibility tools like screen readers. In certain cases, a component label alone may be confusing.</p>
40
+ <p>If the component fails validation, the help text will change to show a validation help message instead of the default help text.</p>
41
+ <auro-header level="3" id="helpText">Colors</auro-header>
42
+ <auro-header level="4" id="defaultColor">Default Color</auro-header>
43
+ <p>When the component is used on a light background.</p>
44
+ <div class="exampleWrapper">
45
+ <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../apiExamples/basic.html) -->
46
+ <!-- The below content is automatically added from ./../apiExamples/basic.html -->
47
+ <auro-combobox>
48
+ <span slot="ariaLabel.bib.close">Close combobox</span>
49
+ <span slot="ariaLabel.input.clear">Clear All</span>
50
+ <span slot="bib.fullscreen.headline">Bib Header</span>
51
+ <span slot="label">Name</span>
52
+ <auro-menu>
53
+ <auro-menuoption value="Apples" id="option-0">Apples</auro-menuoption>
54
+ <auro-menuoption value="Oranges" id="option-1">Oranges</auro-menuoption>
55
+ <auro-menuoption value="Peaches" id="option-2">Peaches</auro-menuoption>
56
+ <auro-menuoption value="Grapes" id="option-3">Grapes</auro-menuoption>
57
+ <auro-menuoption value="Cherries" id="option-4">Cherries</auro-menuoption>
58
+ <auro-menuoption static nomatch>No matching option</auro-menuoption>
59
+ </auro-menu>
60
+ </auro-combobox>
61
+ <!-- AURO-GENERATED-CONTENT:END -->
62
+ </div>
63
+ <auro-accordion alignRight>
64
+ <span slot="trigger">See code</span>
65
+ <!-- AURO-GENERATED-CONTENT:START (CODE:src=./../apiExamples/basic.html) -->
66
+ <!-- The below code snippet is automatically added from ./../apiExamples/basic.html -->
67
+ <pre class="language-html"><code class="language-html">&lt;auro-combobox&gt;
68
+ &lt;span slot="ariaLabel.bib.close"&gt;Close combobox&lt;/span&gt;
69
+ &lt;span slot="ariaLabel.input.clear"&gt;Clear All&lt;/span&gt;
70
+ &lt;span slot="bib.fullscreen.headline"&gt;Bib Header&lt;/span&gt;
71
+ &lt;span slot="label"&gt;Name&lt;/span&gt;
72
+ &lt;auro-menu&gt;
73
+ &lt;auro-menuoption value="Apples" id="option-0"&gt;Apples&lt;/auro-menuoption&gt;
74
+ &lt;auro-menuoption value="Oranges" id="option-1"&gt;Oranges&lt;/auro-menuoption&gt;
75
+ &lt;auro-menuoption value="Peaches" id="option-2"&gt;Peaches&lt;/auro-menuoption&gt;
76
+ &lt;auro-menuoption value="Grapes" id="option-3"&gt;Grapes&lt;/auro-menuoption&gt;
77
+ &lt;auro-menuoption value="Cherries" id="option-4"&gt;Cherries&lt;/auro-menuoption&gt;
78
+ &lt;auro-menuoption static nomatch&gt;No matching option&lt;/auro-menuoption&gt;
79
+ &lt;/auro-menu&gt;
80
+ &lt;/auro-combobox&gt;</code></pre>
81
+ <!-- AURO-GENERATED-CONTENT:END -->
82
+ </auro-accordion>
83
+ <auro-header level="4" id="inverseColor">Inverse Color</auro-header>
84
+ <p>When the component is used on a darker background, set `appearance="inverse"` to invert the component colors for proper contrast and visibility.</p>
85
+ <div class="exampleWrapper--ondark">
86
+ <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../apiExamples/appearance-inverse.html) -->
87
+ <!-- The below content is automatically added from ./../apiExamples/appearance-inverse.html -->
88
+ <auro-combobox appearance="inverse">
89
+ <span slot="bib.fullscreen.headline">Bib Header</span>
90
+ <span slot="label">Name</span>
91
+ <auro-menu>
92
+ <auro-menuoption value="Apples" id="option-0">Apples</auro-menuoption>
93
+ <auro-menuoption value="Oranges" id="option-1">Oranges</auro-menuoption>
94
+ <auro-menuoption value="Peaches" id="option-2">Peaches</auro-menuoption>
95
+ <auro-menuoption value="Grapes" id="option-3">Grapes</auro-menuoption>
96
+ <auro-menuoption value="Cherries" id="option-4">Cherries</auro-menuoption>
97
+ <auro-menuoption static nomatch>No matching option</auro-menuoption>
98
+ </auro-menu>
99
+ </auro-combobox>
100
+ <!-- AURO-GENERATED-CONTENT:END -->
101
+ </div>
102
+ <auro-accordion alignRight>
103
+ <span slot="trigger">See code</span>
104
+ <!-- AURO-GENERATED-CONTENT:START (CODE:src=./../apiExamples/appearance-inverse.html) -->
105
+ <!-- The below code snippet is automatically added from ./../apiExamples/appearance-inverse.html -->
106
+ <pre class="language-html"><code class="language-html">&lt;auro-combobox appearance="inverse"&gt;
107
+ &lt;span slot="bib.fullscreen.headline"&gt;Bib Header&lt;/span&gt;
108
+ &lt;span slot="label"&gt;Name&lt;/span&gt;
109
+ &lt;auro-menu&gt;
110
+ &lt;auro-menuoption value="Apples" id="option-0"&gt;Apples&lt;/auro-menuoption&gt;
111
+ &lt;auro-menuoption value="Oranges" id="option-1"&gt;Oranges&lt;/auro-menuoption&gt;
112
+ &lt;auro-menuoption value="Peaches" id="option-2"&gt;Peaches&lt;/auro-menuoption&gt;
113
+ &lt;auro-menuoption value="Grapes" id="option-3"&gt;Grapes&lt;/auro-menuoption&gt;
114
+ &lt;auro-menuoption value="Cherries" id="option-4"&gt;Cherries&lt;/auro-menuoption&gt;
115
+ &lt;auro-menuoption static nomatch&gt;No matching option&lt;/auro-menuoption&gt;
116
+ &lt;/auro-menu&gt;
117
+ &lt;/auro-combobox&gt;</code></pre>
118
+ <!-- AURO-GENERATED-CONTENT:END -->
119
+ </auro-accordion>
120
+ <!-- AURO-GENERATED-CONTENT:END -->
121
+ <auro-header level="3" id="shapeSizeLayout">Shape | Size | Layout Support</auro-header>
122
+ <p>The `auro-combobox` component supports the `shape`, `size` and `layout` feature set. The component defaults to the `layout="classic"`, `shape="classic"` and `size="lg"`.</p>
123
+ <auro-header level="4" id="classicLayout">Classic Layout</auro-header>
124
+ <p>The `classic` layout is default for `auro-combobox`. No customization is needed to achieve this look.</p>
125
+ <div class="exampleWrapper">
126
+ <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../apiExamples/basic.html) -->
127
+ <!-- The below content is automatically added from ./../apiExamples/basic.html -->
128
+ <auro-combobox>
129
+ <span slot="ariaLabel.bib.close">Close combobox</span>
130
+ <span slot="ariaLabel.input.clear">Clear All</span>
131
+ <span slot="bib.fullscreen.headline">Bib Header</span>
132
+ <span slot="label">Name</span>
133
+ <auro-menu>
134
+ <auro-menuoption value="Apples" id="option-0">Apples</auro-menuoption>
135
+ <auro-menuoption value="Oranges" id="option-1">Oranges</auro-menuoption>
136
+ <auro-menuoption value="Peaches" id="option-2">Peaches</auro-menuoption>
137
+ <auro-menuoption value="Grapes" id="option-3">Grapes</auro-menuoption>
138
+ <auro-menuoption value="Cherries" id="option-4">Cherries</auro-menuoption>
139
+ <auro-menuoption static nomatch>No matching option</auro-menuoption>
140
+ </auro-menu>
141
+ </auro-combobox>
142
+ <!-- AURO-GENERATED-CONTENT:END -->
143
+ </div>
144
+ <auro-accordion alignRight>
145
+ <span slot="trigger">See code</span>
146
+ <!-- AURO-GENERATED-CONTENT:START (CODE:src=./../apiExamples/basic.html) -->
147
+ <!-- The below code snippet is automatically added from ./../apiExamples/basic.html -->
148
+ <pre class="language-html"><code class="language-html">&lt;auro-combobox&gt;
149
+ &lt;span slot="ariaLabel.bib.close"&gt;Close combobox&lt;/span&gt;
150
+ &lt;span slot="ariaLabel.input.clear"&gt;Clear All&lt;/span&gt;
151
+ &lt;span slot="bib.fullscreen.headline"&gt;Bib Header&lt;/span&gt;
152
+ &lt;span slot="label"&gt;Name&lt;/span&gt;
153
+ &lt;auro-menu&gt;
154
+ &lt;auro-menuoption value="Apples" id="option-0"&gt;Apples&lt;/auro-menuoption&gt;
155
+ &lt;auro-menuoption value="Oranges" id="option-1"&gt;Oranges&lt;/auro-menuoption&gt;
156
+ &lt;auro-menuoption value="Peaches" id="option-2"&gt;Peaches&lt;/auro-menuoption&gt;
157
+ &lt;auro-menuoption value="Grapes" id="option-3"&gt;Grapes&lt;/auro-menuoption&gt;
158
+ &lt;auro-menuoption value="Cherries" id="option-4"&gt;Cherries&lt;/auro-menuoption&gt;
159
+ &lt;auro-menuoption static nomatch&gt;No matching option&lt;/auro-menuoption&gt;
160
+ &lt;/auro-menu&gt;
161
+ &lt;/auro-combobox&gt;</code></pre>
162
+ <!-- AURO-GENERATED-CONTENT:END -->
163
+ </auro-accordion>
164
+ <auro-header level="4" id="emphasizedLayout">Emphasized Layout</auro-header>
165
+ <p>The `emphasized` layout is only supported on light backgrounds.</p>
166
+ <p>The <code>emphasized</code> layout supports the following shapes:</p>
167
+ <ul>
168
+ <li><code>pill</code></li>
169
+ <li><code>pill-left</code></li>
170
+ <li><code>pill-right</code></li>
171
+ </ul>
172
+ <p>The <code>emphasized</code> layout supports the following sizes:</p>
173
+ <ul>
174
+ <li><code>xl</code></li>
175
+ </ul>
176
+ <div class="exampleWrapper">
177
+ <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../apiExamples/emphasized/basic.html) -->
178
+ <!-- The below content is automatically added from ./../apiExamples/emphasized/basic.html -->
179
+ <auro-combobox layout="emphasized" value="Oranges" shape="pill" size="xl" placeholder="Placeholder content" required style="width: 249px;">
180
+ <span slot="ariaLabel.bib.close">Close combobox</span>
181
+ <span slot="ariaLabel.input.clear">Clear All</span>
182
+ <span slot="bib.fullscreen.headline">Bib Header</span>
183
+ <span slot="label">Name</span>
184
+ <auro-menu>
185
+ <auro-menuoption value="Apples" id="option-0">Apples</auro-menuoption>
186
+ <auro-menuoption value="Oranges" id="option-1">Oranges</auro-menuoption>
187
+ <auro-menuoption value="Peaches" id="option-2">Peaches</auro-menuoption>
188
+ <auro-menuoption value="Grapes" id="option-3">Grapes</auro-menuoption>
189
+ <auro-menuoption value="Cherries" id="option-4">Cherries</auro-menuoption>
190
+ <auro-menuoption static nomatch>No matching option</auro-menuoption>
191
+ </auro-menu>
192
+ <span slot="helpText">
193
+ Help text - Lorem ipsum solar lorem ipsum solar
194
+ </span>
195
+ <span slot="displayValue">
196
+ <div>
197
+ <div class="mainText">Apples</div>
198
+ <div class="subText">Fruit</div>
199
+ </div>
200
+ </span>
201
+ </auro-combobox>
202
+ <!-- AURO-GENERATED-CONTENT:END -->
203
+ </div>
204
+ <auro-accordion alignRight>
205
+ <span slot="trigger">See code</span>
206
+ <!-- AURO-GENERATED-CONTENT:START (CODE:src=./../apiExamples/emphasized/basic.html) -->
207
+ <!-- The below code snippet is automatically added from ./../apiExamples/emphasized/basic.html -->
208
+ <pre class="language-html"><code class="language-html">&lt;auro-combobox layout="emphasized" value="Oranges" shape="pill" size="xl" placeholder="Placeholder content" required style="width: 249px;"&gt;
209
+ &lt;span slot="ariaLabel.bib.close"&gt;Close combobox&lt;/span&gt;
210
+ &lt;span slot="ariaLabel.input.clear"&gt;Clear All&lt;/span&gt;
211
+ &lt;span slot="bib.fullscreen.headline"&gt;Bib Header&lt;/span&gt;
212
+ &lt;span slot="label"&gt;Name&lt;/span&gt;
213
+ &lt;auro-menu&gt;
214
+ &lt;auro-menuoption value="Apples" id="option-0"&gt;Apples&lt;/auro-menuoption&gt;
215
+ &lt;auro-menuoption value="Oranges" id="option-1"&gt;Oranges&lt;/auro-menuoption&gt;
216
+ &lt;auro-menuoption value="Peaches" id="option-2"&gt;Peaches&lt;/auro-menuoption&gt;
217
+ &lt;auro-menuoption value="Grapes" id="option-3"&gt;Grapes&lt;/auro-menuoption&gt;
218
+ &lt;auro-menuoption value="Cherries" id="option-4"&gt;Cherries&lt;/auro-menuoption&gt;
219
+ &lt;auro-menuoption static nomatch&gt;No matching option&lt;/auro-menuoption&gt;
220
+ &lt;/auro-menu&gt;
221
+ &lt;span slot="helpText"&gt;
222
+ Help text - Lorem ipsum solar lorem ipsum solar
223
+ &lt;/span&gt;
224
+ &lt;span slot="displayValue"&gt;
225
+ &lt;div&gt;
226
+ &lt;div class="mainText"&gt;Apples&lt;/div&gt;
227
+ &lt;div class="subText"&gt;Fruit&lt;/div&gt;
228
+ &lt;/div&gt;
229
+ &lt;/span&gt;
230
+ &lt;/auro-combobox&gt;</code></pre>
231
+ <!-- AURO-GENERATED-CONTENT:END -->
232
+ </auro-accordion>
233
+ <auro-header level="4" id="snowflakeLayout">Snowflake Layout</auro-header>
234
+ <p>The `snowflake` layout is a unique, one off layout that does not follow the normal pattern. There is only one way to use snowflake as shown in the following example.</p>
235
+ <p>The `snowflake` layout is only expected to be used on dark backgrounds, in conjunction with `appearance="inverse"`.</p>
236
+ <div class="exampleWrapper--ondark">
237
+ <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../apiExamples/snowflake/basic.html) -->
238
+ <!-- The below content is automatically added from ./../apiExamples/snowflake/basic.html -->
239
+ <auro-combobox layout="snowflake" shape="snowflake" size="lg" placeholder="Placeholder content" required appearance="inverse" style="width: 249px;">
240
+ <span slot="ariaLabel.bib.close">Close combobox</span>
241
+ <span slot="ariaLabel.input.clear">Clear All</span>
242
+ <span slot="bib.fullscreen.headline">Bib Header</span>
243
+ <span slot="label">Name</span>
244
+ <auro-menu>
245
+ <auro-menuoption value="Apples" id="option-0">Apples</auro-menuoption>
246
+ <auro-menuoption value="Oranges" id="option-1">Oranges</auro-menuoption>
247
+ <auro-menuoption value="Peaches" id="option-2">Peaches</auro-menuoption>
248
+ <auro-menuoption value="Grapes" id="option-3">Grapes</auro-menuoption>
249
+ <auro-menuoption value="Cherries" id="option-4">Cherries</auro-menuoption>
250
+ <auro-menuoption static nomatch>No matching option</auro-menuoption>
251
+ </auro-menu>
252
+ <span slot="helpText">
253
+ Help text - Lorem ipsum solar lorem ipsum solar
254
+ </span>
255
+ </auro-combobox>
256
+ <!-- AURO-GENERATED-CONTENT:END -->
257
+ </div>
258
+ <auro-accordion alignRight>
259
+ <span slot="trigger">See code</span>
260
+ <!-- AURO-GENERATED-CONTENT:START (CODE:src=./../apiExamples/snowflake/basic.html) -->
261
+ <!-- The below code snippet is automatically added from ./../apiExamples/snowflake/basic.html -->
262
+ <pre class="language-html"><code class="language-html">&lt;auro-combobox layout="snowflake" shape="snowflake" size="lg" placeholder="Placeholder content" required appearance="inverse" style="width: 249px;"&gt;
263
+ &lt;span slot="ariaLabel.bib.close"&gt;Close combobox&lt;/span&gt;
264
+ &lt;span slot="ariaLabel.input.clear"&gt;Clear All&lt;/span&gt;
265
+ &lt;span slot="bib.fullscreen.headline"&gt;Bib Header&lt;/span&gt;
266
+ &lt;span slot="label"&gt;Name&lt;/span&gt;
267
+ &lt;auro-menu&gt;
268
+ &lt;auro-menuoption value="Apples" id="option-0"&gt;Apples&lt;/auro-menuoption&gt;
269
+ &lt;auro-menuoption value="Oranges" id="option-1"&gt;Oranges&lt;/auro-menuoption&gt;
270
+ &lt;auro-menuoption value="Peaches" id="option-2"&gt;Peaches&lt;/auro-menuoption&gt;
271
+ &lt;auro-menuoption value="Grapes" id="option-3"&gt;Grapes&lt;/auro-menuoption&gt;
272
+ &lt;auro-menuoption value="Cherries" id="option-4"&gt;Cherries&lt;/auro-menuoption&gt;
273
+ &lt;auro-menuoption static nomatch&gt;No matching option&lt;/auro-menuoption&gt;
274
+ &lt;/auro-menu&gt;
275
+ &lt;span slot="helpText"&gt;
276
+ Help text - Lorem ipsum solar lorem ipsum solar
277
+ &lt;/span&gt;
278
+ &lt;/auro-combobox&gt;</code></pre>
279
+ <!-- AURO-GENERATED-CONTENT:END -->
280
+ </auro-accordion>
281
+ </div>
282
+ </div>
283
+ </div>
@@ -3,7 +3,7 @@
3
3
  See LICENSE in the project root for license information.
4
4
 
5
5
  HTML in this document is standardized and NOT to be edited.
6
- All demo code should be added/edited in ./demo/demo.md
6
+ All demo code should be added/edited in ./demo/index.md
7
7
 
8
8
  With the exception of adding custom elements if needed for the demo.
9
9
 
@@ -26,35 +26,68 @@
26
26
 
27
27
  <!-- Design Token Alaska Theme -->
28
28
  <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/@aurodesignsystem/design-tokens@latest/dist/themes/alaska/CSSCustomProperties--alaska.min.css"/>
29
-
29
+
30
30
  <!-- Webcore Stylesheet Alaska Theme -->
31
31
  <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/@aurodesignsystem/webcorestylesheets@latest/dist/bundled/themes/alaska.global.min.css" />
32
-
32
+
33
33
  <!-- Demo Specific Styles -->
34
34
  <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/@aurodesignsystem/webcorestylesheets@latest/dist/demoWrapper.css" />
35
35
  <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/@aurodesignsystem/webcorestylesheets@latest/dist/elementDemoStyles.css" />
36
- </head>
36
+ <link rel="stylesheet" type="text/css" href="./styles.css" />
37
+ </head>
37
38
  <body class="auro-markdown">
38
39
  <main></main>
39
40
 
41
+ <!-- If additional elements are needed for the demo, add them here. -->
42
+ <script src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-accordion@latest/+esm" type="module"></script>
43
+ <script src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-button@latest/+esm" type="module"></script>
44
+ <script src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-nav@latest/+esm" type="module"></script>
45
+ <script src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-header@latest/+esm" type="module"></script>
46
+ <script src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-hyperlink@latest/+esm" type="module"></script>
47
+ <script src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-icon@latest/+esm" type="module"></script>
48
+
40
49
  <script type="module">
41
50
  import 'https://cdn.jsdelivr.net/npm/marked@latest/marked.min.js';
42
51
  import 'https://cdn.jsdelivr.net/npm/prismjs@latest/prism.js';
43
- fetch('./index.md')
44
- .then((response) => response.text())
45
- .then((text) => {
46
- const rawHtml = marked.parse(text);
47
- document.querySelector('main').innerHTML = rawHtml;
48
- Prism.highlightAll();
49
- });
50
- </script>
51
52
 
52
- <!-- If additional elements are needed for the demo, add them here. -->
53
- <script src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-accordion@latest/+esm" type="module"></script>
53
+ function addCopyButtons() {
54
+ document.querySelectorAll('auro-accordion pre[class*="language-"]').forEach((pre) => {
55
+ const wrapper = document.createElement('div');
56
+ wrapper.className = 'pre-wrapper';
57
+ pre.parentNode.insertBefore(wrapper, pre);
58
+ wrapper.appendChild(pre);
59
+ const btn = document.createElement('button');
60
+ btn.className = 'copy-btn';
61
+ btn.textContent = 'Copy';
62
+ btn.addEventListener('click', () => {
63
+ const code = pre.querySelector('code');
64
+ const raw = code ? code.textContent : pre.textContent;
65
+ const text = raw.replace(/\u200B/g, '').replace(/^\n+/, '').replace(/\n+$/, '\n');
66
+ navigator.clipboard.writeText(text).then(() => {
67
+ btn.textContent = 'Copied!';
68
+ setTimeout(() => { btn.textContent = 'Copy'; }, 1500);
69
+ });
70
+ });
71
+ wrapper.appendChild(btn);
72
+ });
73
+ }
54
74
 
55
- <script type="module" data-demo-script="true">
56
- import { initExamples } from "./index.min.js";
75
+ function loadMd(path) {
76
+ fetch(path)
77
+ .then((response) => response.text())
78
+ .then((text) => {
79
+ const rawHtml = marked.parse(text);
80
+ document.querySelector('main').innerHTML = rawHtml;
81
+ Prism.highlightAll();
82
+ addCopyButtons();
83
+ });
84
+ }
57
85
 
86
+ loadMd('./index.md');
87
+ </script>
88
+ <script src="./index.min.js" data-demo-script="true" type="module"></script>
89
+ <script type="module" data-demo-script="true">
90
+ import { initExamples } from "./index.min.js"
58
91
  initExamples();
59
92
  </script>
60
93
  </body>
@@ -1,16 +1,17 @@
1
1
  /* eslint-disable jsdoc/require-jsdoc, no-magic-numbers, no-param-reassign */
2
2
 
3
+ import { swapValueExample } from '../apiExamples/swap-value';
4
+
3
5
  import { AuroCombobox } from '../src/auro-combobox.js';
4
6
  import '../../menu/src/registered.js';
5
7
 
6
8
  AuroCombobox.register();
7
- AuroCombobox.register('custom-combobox');
8
9
 
9
10
  export function initExamples(initCount) {
10
11
  initCount = initCount || 0;
11
12
 
12
13
  try {
13
- // example();
14
+ swapValueExample();
14
15
  } catch {
15
16
  if (initCount <= 20) {
16
17
  // setTimeout handles issue where content is sometimes loaded after the functions get called