@sbb-esta/lyne-elements 1.3.0 → 1.5.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 (305) hide show
  1. package/autocomplete/autocomplete-base-element.d.ts +93 -0
  2. package/autocomplete/autocomplete-base-element.d.ts.map +1 -0
  3. package/autocomplete/autocomplete.d.ts +13 -86
  4. package/autocomplete/autocomplete.d.ts.map +1 -1
  5. package/autocomplete-grid/autocomplete-grid/autocomplete-grid.d.ts +45 -0
  6. package/autocomplete-grid/autocomplete-grid/autocomplete-grid.d.ts.map +1 -0
  7. package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.d.ts +33 -0
  8. package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.d.ts.map +1 -0
  9. package/autocomplete-grid/autocomplete-grid-button.d.ts +2 -0
  10. package/autocomplete-grid/autocomplete-grid-button.d.ts.map +1 -0
  11. package/autocomplete-grid/autocomplete-grid-button.js +66 -0
  12. package/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.d.ts +17 -0
  13. package/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.d.ts.map +1 -0
  14. package/autocomplete-grid/autocomplete-grid-cell.d.ts +2 -0
  15. package/autocomplete-grid/autocomplete-grid-cell.d.ts.map +1 -0
  16. package/autocomplete-grid/autocomplete-grid-cell.js +28 -0
  17. package/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.d.ts +21 -0
  18. package/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.d.ts.map +1 -0
  19. package/autocomplete-grid/autocomplete-grid-optgroup/index.d.ts +2 -0
  20. package/autocomplete-grid/autocomplete-grid-optgroup/index.d.ts.map +1 -0
  21. package/autocomplete-grid/autocomplete-grid-optgroup.d.ts +2 -0
  22. package/autocomplete-grid/autocomplete-grid-optgroup.d.ts.map +1 -0
  23. package/autocomplete-grid/autocomplete-grid-optgroup.js +37 -0
  24. package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.d.ts +40 -0
  25. package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.d.ts.map +1 -0
  26. package/autocomplete-grid/autocomplete-grid-option.d.ts +2 -0
  27. package/autocomplete-grid/autocomplete-grid-option.d.ts.map +1 -0
  28. package/autocomplete-grid/autocomplete-grid-option.js +67 -0
  29. package/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.d.ts +18 -0
  30. package/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.d.ts.map +1 -0
  31. package/autocomplete-grid/autocomplete-grid-row.d.ts +2 -0
  32. package/autocomplete-grid/autocomplete-grid-row.d.ts.map +1 -0
  33. package/autocomplete-grid/autocomplete-grid-row.js +31 -0
  34. package/autocomplete-grid/autocomplete-grid.d.ts +2 -0
  35. package/autocomplete-grid/autocomplete-grid.d.ts.map +1 -0
  36. package/autocomplete-grid/autocomplete-grid.js +139 -0
  37. package/autocomplete-grid.d.ts +7 -0
  38. package/autocomplete-grid.d.ts.map +1 -0
  39. package/autocomplete-grid.js +6 -0
  40. package/autocomplete.d.ts +1 -0
  41. package/autocomplete.d.ts.map +1 -1
  42. package/autocomplete.js +162 -145
  43. package/breadcrumb/breadcrumb-group/breadcrumb-group.d.ts.map +1 -1
  44. package/button/mini-button/mini-button-base-element.d.ts +9 -0
  45. package/button/mini-button/mini-button-base-element.d.ts.map +1 -0
  46. package/button/mini-button/mini-button.d.ts +3 -4
  47. package/button/mini-button/mini-button.d.ts.map +1 -1
  48. package/button/mini-button.d.ts +1 -0
  49. package/button/mini-button.d.ts.map +1 -1
  50. package/button/mini-button.js +23 -13
  51. package/checkbox/checkbox/checkbox.d.ts +5 -0
  52. package/checkbox/checkbox/checkbox.d.ts.map +1 -1
  53. package/checkbox/checkbox-panel/checkbox-panel.d.ts +5 -0
  54. package/checkbox/checkbox-panel/checkbox-panel.d.ts.map +1 -1
  55. package/checkbox/checkbox-panel.js +28 -18
  56. package/checkbox/checkbox.js +30 -19
  57. package/checkbox/common/checkbox-common.d.ts +1 -3
  58. package/checkbox/common/checkbox-common.d.ts.map +1 -1
  59. package/checkbox/common.js +16 -25
  60. package/container/container.js +3 -3
  61. package/core/i18n/i18n.d.ts +2 -0
  62. package/core/i18n/i18n.d.ts.map +1 -1
  63. package/core/i18n.js +61 -49
  64. package/core/mixins/form-associated-mixin.d.ts.map +1 -1
  65. package/core/mixins/panel-mixin.d.ts +1 -0
  66. package/core/mixins/panel-mixin.d.ts.map +1 -1
  67. package/core/mixins.js +3 -1
  68. package/core/overlay/overlay-trigger-attributes.d.ts +1 -1
  69. package/core/overlay/overlay-trigger-attributes.d.ts.map +1 -1
  70. package/core/overlay.js +2 -2
  71. package/core/styles/core.scss +1 -0
  72. package/core/styles/mixins/buttons.scss +13 -8
  73. package/core/styles/mixins/helpers.scss +1 -0
  74. package/core/styles/mixins/pearl-chain-bullet.scss +1 -1
  75. package/core/styles/node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables.scss +1 -0
  76. package/core/styles/node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables_css--mixin.scss +2 -1
  77. package/core.css +3 -1
  78. package/custom-elements.json +14325 -9229
  79. package/datepicker/datepicker-next-day.js +12 -12
  80. package/datepicker/datepicker-previous-day.js +1 -1
  81. package/development/autocomplete/autocomplete-base-element.d.ts +93 -0
  82. package/development/autocomplete/autocomplete-base-element.d.ts.map +1 -0
  83. package/development/autocomplete/autocomplete.d.ts +13 -86
  84. package/development/autocomplete/autocomplete.d.ts.map +1 -1
  85. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.d.ts +45 -0
  86. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.d.ts.map +1 -0
  87. package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.d.ts +33 -0
  88. package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.d.ts.map +1 -0
  89. package/development/autocomplete-grid/autocomplete-grid-button.d.ts +2 -0
  90. package/development/autocomplete-grid/autocomplete-grid-button.d.ts.map +1 -0
  91. package/development/autocomplete-grid/autocomplete-grid-button.js +224 -0
  92. package/development/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.d.ts +17 -0
  93. package/development/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.d.ts.map +1 -0
  94. package/development/autocomplete-grid/autocomplete-grid-cell.d.ts +2 -0
  95. package/development/autocomplete-grid/autocomplete-grid-cell.d.ts.map +1 -0
  96. package/development/autocomplete-grid/autocomplete-grid-cell.js +67 -0
  97. package/development/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.d.ts +21 -0
  98. package/development/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.d.ts.map +1 -0
  99. package/development/autocomplete-grid/autocomplete-grid-optgroup/index.d.ts +2 -0
  100. package/development/autocomplete-grid/autocomplete-grid-optgroup/index.d.ts.map +1 -0
  101. package/development/autocomplete-grid/autocomplete-grid-optgroup.d.ts +2 -0
  102. package/development/autocomplete-grid/autocomplete-grid-optgroup.d.ts.map +1 -0
  103. package/development/autocomplete-grid/autocomplete-grid-optgroup.js +45 -0
  104. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.d.ts +40 -0
  105. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.d.ts.map +1 -0
  106. package/development/autocomplete-grid/autocomplete-grid-option.d.ts +2 -0
  107. package/development/autocomplete-grid/autocomplete-grid-option.d.ts.map +1 -0
  108. package/development/autocomplete-grid/autocomplete-grid-option.js +174 -0
  109. package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.d.ts +18 -0
  110. package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.d.ts.map +1 -0
  111. package/development/autocomplete-grid/autocomplete-grid-row.d.ts +2 -0
  112. package/development/autocomplete-grid/autocomplete-grid-row.d.ts.map +1 -0
  113. package/development/autocomplete-grid/autocomplete-grid-row.js +143 -0
  114. package/development/autocomplete-grid/autocomplete-grid.d.ts +2 -0
  115. package/development/autocomplete-grid/autocomplete-grid.d.ts.map +1 -0
  116. package/development/autocomplete-grid/autocomplete-grid.js +185 -0
  117. package/development/autocomplete-grid.d.ts +7 -0
  118. package/development/autocomplete-grid.d.ts.map +1 -0
  119. package/development/autocomplete-grid.js +7 -0
  120. package/development/autocomplete.d.ts +1 -0
  121. package/development/autocomplete.d.ts.map +1 -1
  122. package/development/autocomplete.js +168 -143
  123. package/development/breadcrumb/breadcrumb-group/breadcrumb-group.d.ts.map +1 -1
  124. package/development/breadcrumb/breadcrumb-group.js +1 -1
  125. package/development/button/mini-button/mini-button-base-element.d.ts +9 -0
  126. package/development/button/mini-button/mini-button-base-element.d.ts.map +1 -0
  127. package/development/button/mini-button/mini-button.d.ts +3 -4
  128. package/development/button/mini-button/mini-button.d.ts.map +1 -1
  129. package/development/button/mini-button.d.ts +1 -0
  130. package/development/button/mini-button.d.ts.map +1 -1
  131. package/development/button/mini-button.js +32 -16
  132. package/development/checkbox/checkbox/checkbox.d.ts +5 -0
  133. package/development/checkbox/checkbox/checkbox.d.ts.map +1 -1
  134. package/development/checkbox/checkbox-panel/checkbox-panel.d.ts +5 -0
  135. package/development/checkbox/checkbox-panel/checkbox-panel.d.ts.map +1 -1
  136. package/development/checkbox/checkbox-panel.js +13 -2
  137. package/development/checkbox/checkbox.js +19 -1
  138. package/development/checkbox/common/checkbox-common.d.ts +1 -3
  139. package/development/checkbox/common/checkbox-common.d.ts.map +1 -1
  140. package/development/checkbox/common.js +13 -19
  141. package/development/container/container.js +2 -1
  142. package/development/core/i18n/i18n.d.ts +2 -0
  143. package/development/core/i18n/i18n.d.ts.map +1 -1
  144. package/development/core/i18n.js +15 -1
  145. package/development/core/mixins/form-associated-mixin.d.ts.map +1 -1
  146. package/development/core/mixins/panel-mixin.d.ts +1 -0
  147. package/development/core/mixins/panel-mixin.d.ts.map +1 -1
  148. package/development/core/mixins.js +4 -2
  149. package/development/core/overlay/overlay-trigger-attributes.d.ts +1 -1
  150. package/development/core/overlay/overlay-trigger-attributes.d.ts.map +1 -1
  151. package/development/core/overlay.js +3 -3
  152. package/development/datepicker/datepicker-next-day.js +8 -7
  153. package/development/datepicker/datepicker-previous-day.js +8 -7
  154. package/development/flip-card/flip-card/flip-card.d.ts +32 -0
  155. package/development/flip-card/flip-card/flip-card.d.ts.map +1 -0
  156. package/development/flip-card/flip-card/index.d.ts +2 -0
  157. package/development/flip-card/flip-card/index.d.ts.map +1 -0
  158. package/development/flip-card/flip-card-details/flip-card-details.d.ts +22 -0
  159. package/development/flip-card/flip-card-details/flip-card-details.d.ts.map +1 -0
  160. package/development/flip-card/flip-card-details/index.d.ts +2 -0
  161. package/development/flip-card/flip-card-details/index.d.ts.map +1 -0
  162. package/development/flip-card/flip-card-details.d.ts +2 -0
  163. package/development/flip-card/flip-card-details.d.ts.map +1 -0
  164. package/development/flip-card/flip-card-details.js +105 -0
  165. package/development/flip-card/flip-card-summary/flip-card-summary.d.ts +22 -0
  166. package/development/flip-card/flip-card-summary/flip-card-summary.d.ts.map +1 -0
  167. package/development/flip-card/flip-card-summary/index.d.ts +2 -0
  168. package/development/flip-card/flip-card-summary/index.d.ts.map +1 -0
  169. package/development/flip-card/flip-card-summary.d.ts +2 -0
  170. package/development/flip-card/flip-card-summary.d.ts.map +1 -0
  171. package/development/flip-card/flip-card-summary.js +151 -0
  172. package/development/flip-card/flip-card.d.ts +2 -0
  173. package/development/flip-card/flip-card.d.ts.map +1 -0
  174. package/development/flip-card/flip-card.js +187 -0
  175. package/development/flip-card.d.ts +4 -0
  176. package/development/flip-card.d.ts.map +1 -0
  177. package/development/flip-card.js +4 -0
  178. package/development/form-field/form-field-clear/form-field-clear.d.ts.map +1 -1
  179. package/development/form-field/form-field-clear.js +8 -7
  180. package/development/form-field/form-field.js +3 -3
  181. package/development/icon/icon-base.d.ts.map +1 -1
  182. package/development/icon/icon.d.ts.map +1 -1
  183. package/development/icon.js +1 -1
  184. package/development/image/image.d.ts +1 -0
  185. package/development/image/image.d.ts.map +1 -1
  186. package/development/image.js +10 -4
  187. package/development/map-container.js +12 -14
  188. package/development/navigation/navigation-marker/navigation-marker.d.ts.map +1 -1
  189. package/development/navigation/navigation-marker.js +1 -1
  190. package/development/option/optgroup/optgroup-base-element.d.ts +28 -0
  191. package/development/option/optgroup/optgroup-base-element.d.ts.map +1 -0
  192. package/development/option/optgroup/optgroup.d.ts +7 -20
  193. package/development/option/optgroup/optgroup.d.ts.map +1 -1
  194. package/development/option/optgroup.d.ts +1 -0
  195. package/development/option/optgroup.d.ts.map +1 -1
  196. package/development/option/optgroup.js +74 -49
  197. package/development/option/option/option-base-element.d.ts +69 -0
  198. package/development/option/option/option-base-element.d.ts.map +1 -0
  199. package/development/option/option/option.d.ts +14 -57
  200. package/development/option/option/option.d.ts.map +1 -1
  201. package/development/option/option.d.ts +1 -0
  202. package/development/option/option.d.ts.map +1 -1
  203. package/development/option/option.js +267 -220
  204. package/development/radio-button/common/radio-button-common.d.ts +1 -1
  205. package/development/radio-button/common/radio-button-common.d.ts.map +1 -1
  206. package/development/radio-button/common.js +13 -12
  207. package/development/radio-button/radio-button/radio-button.d.ts +7 -0
  208. package/development/radio-button/radio-button/radio-button.d.ts.map +1 -1
  209. package/development/radio-button/radio-button-group/radio-button-group.d.ts +1 -1
  210. package/development/radio-button/radio-button-group/radio-button-group.d.ts.map +1 -1
  211. package/development/radio-button/radio-button-group.js +1 -1
  212. package/development/radio-button/radio-button-panel/radio-button-panel.d.ts +7 -0
  213. package/development/radio-button/radio-button-panel/radio-button-panel.d.ts.map +1 -1
  214. package/development/radio-button/radio-button-panel.js +16 -2
  215. package/development/radio-button/radio-button.js +16 -2
  216. package/development/skiplink-list/skiplink-list.d.ts +1 -0
  217. package/development/skiplink-list/skiplink-list.d.ts.map +1 -1
  218. package/development/skiplink-list.js +1 -1
  219. package/development/status/status.d.ts +1 -1
  220. package/development/status/status.d.ts.map +1 -1
  221. package/development/status.js +39 -2
  222. package/development/tabs/tab-group.js +2 -9
  223. package/development/tabs/tab.js +10 -2
  224. package/development/tag/tag-group.js +1 -1
  225. package/development/timetable-occupancy-icon/timetable-occupancy-icon.d.ts.map +1 -1
  226. package/development/timetable-occupancy-icon.js +3 -6
  227. package/development/toggle/toggle.js +1 -1
  228. package/development/visual-checkbox/visual-checkbox.d.ts +3 -0
  229. package/development/visual-checkbox/visual-checkbox.d.ts.map +1 -1
  230. package/development/visual-checkbox.js +11 -3
  231. package/flip-card/flip-card/flip-card.d.ts +32 -0
  232. package/flip-card/flip-card/flip-card.d.ts.map +1 -0
  233. package/flip-card/flip-card/index.d.ts +2 -0
  234. package/flip-card/flip-card/index.d.ts.map +1 -0
  235. package/flip-card/flip-card-details/flip-card-details.d.ts +22 -0
  236. package/flip-card/flip-card-details/flip-card-details.d.ts.map +1 -0
  237. package/flip-card/flip-card-details/index.d.ts +2 -0
  238. package/flip-card/flip-card-details/index.d.ts.map +1 -0
  239. package/flip-card/flip-card-details.d.ts +2 -0
  240. package/flip-card/flip-card-details.d.ts.map +1 -0
  241. package/flip-card/flip-card-details.js +52 -0
  242. package/flip-card/flip-card-summary/flip-card-summary.d.ts +22 -0
  243. package/flip-card/flip-card-summary/flip-card-summary.d.ts.map +1 -0
  244. package/flip-card/flip-card-summary/index.d.ts +2 -0
  245. package/flip-card/flip-card-summary/index.d.ts.map +1 -0
  246. package/flip-card/flip-card-summary.d.ts +2 -0
  247. package/flip-card/flip-card-summary.d.ts.map +1 -0
  248. package/flip-card/flip-card-summary.js +41 -0
  249. package/flip-card/flip-card.d.ts +2 -0
  250. package/flip-card/flip-card.d.ts.map +1 -0
  251. package/flip-card/flip-card.js +58 -0
  252. package/flip-card.d.ts +4 -0
  253. package/flip-card.d.ts.map +1 -0
  254. package/flip-card.js +3 -0
  255. package/form-field/form-field-clear/form-field-clear.d.ts.map +1 -1
  256. package/form-field/form-field-clear.js +11 -11
  257. package/form-field/form-field.js +2 -2
  258. package/icon/icon-base.d.ts.map +1 -1
  259. package/icon/icon.d.ts.map +1 -1
  260. package/image/image.d.ts +1 -0
  261. package/image/image.d.ts.map +1 -1
  262. package/image.js +24 -24
  263. package/index.d.ts +18 -0
  264. package/index.js +18 -0
  265. package/map-container.js +8 -8
  266. package/navigation/navigation-marker/navigation-marker.d.ts.map +1 -1
  267. package/option/optgroup/optgroup-base-element.d.ts +28 -0
  268. package/option/optgroup/optgroup-base-element.d.ts.map +1 -0
  269. package/option/optgroup/optgroup.d.ts +7 -20
  270. package/option/optgroup/optgroup.d.ts.map +1 -1
  271. package/option/optgroup.d.ts +1 -0
  272. package/option/optgroup.d.ts.map +1 -1
  273. package/option/optgroup.js +80 -60
  274. package/option/option/option-base-element.d.ts +69 -0
  275. package/option/option/option-base-element.d.ts.map +1 -0
  276. package/option/option/option.d.ts +14 -57
  277. package/option/option/option.d.ts.map +1 -1
  278. package/option/option.d.ts +1 -0
  279. package/option/option.d.ts.map +1 -1
  280. package/option/option.js +186 -145
  281. package/package.json +56 -1
  282. package/radio-button/common/radio-button-common.d.ts +1 -1
  283. package/radio-button/common/radio-button-common.d.ts.map +1 -1
  284. package/radio-button/common.js +6 -15
  285. package/radio-button/radio-button/radio-button.d.ts +7 -0
  286. package/radio-button/radio-button/radio-button.d.ts.map +1 -1
  287. package/radio-button/radio-button-group/radio-button-group.d.ts +1 -1
  288. package/radio-button/radio-button-group/radio-button-group.d.ts.map +1 -1
  289. package/radio-button/radio-button-panel/radio-button-panel.d.ts +7 -0
  290. package/radio-button/radio-button-panel/radio-button-panel.d.ts.map +1 -1
  291. package/radio-button/radio-button-panel.js +35 -22
  292. package/radio-button/radio-button.js +32 -19
  293. package/skiplink-list/skiplink-list.d.ts +1 -0
  294. package/skiplink-list/skiplink-list.d.ts.map +1 -1
  295. package/standard-theme.css +3 -1
  296. package/status/status.d.ts +1 -1
  297. package/status/status.d.ts.map +1 -1
  298. package/status.js +17 -13
  299. package/tabs/tab-group.js +19 -19
  300. package/tabs/tab.js +10 -10
  301. package/timetable-occupancy-icon/timetable-occupancy-icon.d.ts.map +1 -1
  302. package/timetable-occupancy-icon.js +22 -24
  303. package/visual-checkbox/visual-checkbox.d.ts +3 -0
  304. package/visual-checkbox/visual-checkbox.d.ts.map +1 -1
  305. package/visual-checkbox.js +23 -20
@@ -0,0 +1,67 @@
1
+ import { customElement as l } from "lit/decorators.js";
2
+ import { hostAttributes as d } from "../core/decorators.js";
3
+ import { EventEmitter as r } from "../core/eventing.js";
4
+ import { SbbOptionBaseElement as p } from "../option.js";
5
+ import { css as c } from "lit";
6
+ const h = c`*,:before,:after{box-sizing:border-box}:host{--sbb-option-color: var(--sbb-color-charcoal);--sbb-option-column-gap: var(--sbb-spacing-responsive-xxxs);--sbb-option-icon-color: var(--sbb-color-metal);--sbb-option-border-radius: var(--sbb-border-radius-4x);--sbb-option-padding-inline: var(--sbb-spacing-responsive-xxxs);--sbb-option-padding-block: calc(var(--sbb-spacing-fixed-2x) + var(--sbb-border-width-2x));display:block}:host([active]){--sbb-focus-outline-offset: calc(-1 * var(--sbb-spacing-fixed-1x))}:host([data-negative]){--sbb-option-color: var(--sbb-color-milk);--sbb-option-icon-color: var(--sbb-color-smoke)}:host(:not([data-disable-highlight])) .sbb-option__label slot{display:none}.sbb-option{--sbb-text-font-size: var(--sbb-font-size-text-s);font-family:var(--sbb-typo-font-family);font-weight:400;line-height:var(--sbb-typo-line-height-body-text);letter-spacing:var(--sbb-typo-letter-spacing-body-text);font-size:var(--sbb-text-font-size);display:flex;align-items:center;column-gap:var(--sbb-option-column-gap);justify-content:start;padding-block:var(--sbb-option-padding-block);padding-inline:var(--sbb-option-padding-inline);color:var(--sbb-option-color)}:host([active]) .sbb-option{outline-offset:var(--sbb-focus-outline-offset);outline:var(--sbb-focus-outline-color) solid var(--sbb-focus-outline-width);border-radius:var(--sbb-option-border-radius)}:host(:not(:is([disabled],[data-group-disabled]))) .sbb-option__label--highlight{font-weight:700}@media (forced-colors: active){:host(:not(:is([disabled],[data-group-disabled]))) .sbb-option__label--highlight{color:Highlight}}.sbb-option__icon{display:flex;min-width:var(--sbb-size-icon-ui-small);min-height:var(--sbb-size-icon-ui-small);color:var(--sbb-option-icon-color)}:host(:not([data-slot-names~=icon],[icon-name])) .sbb-option__icon{display:var(--sbb-option-icon-container-display, none)}`;
7
+ var g = Object.defineProperty, u = Object.getOwnPropertyDescriptor, m = (o, t, e, b) => {
8
+ for (var i = b > 1 ? void 0 : b ? u(t, e) : t, a = o.length - 1, n; a >= 0; a--)
9
+ (n = o[a]) && (i = (b ? n(t, e, i) : n(i)) || i);
10
+ return b && i && g(t, e, i), i;
11
+ };
12
+ const v = "sbb-autocomplete-grid-option";
13
+ let s = class extends p {
14
+ constructor() {
15
+ super(...arguments), this.optionId = v, this.selectionChange = new r(
16
+ this,
17
+ s.events.selectionChange
18
+ ), this.optionSelected = new r(
19
+ this,
20
+ s.events.optionSelected
21
+ );
22
+ }
23
+ onOptionAttributesChange(o) {
24
+ var t, e;
25
+ super.onOptionAttributesChange(o), (e = (t = this.closest) == null ? void 0 : t.call(this, "sbb-autocomplete-grid-row")) == null || e.toggleAttribute(
26
+ "data-disabled",
27
+ this.disabled || this.disabledFromGroup
28
+ );
29
+ }
30
+ willUpdate(o) {
31
+ var t, e;
32
+ super.willUpdate(o), o.has("disabled") && ((e = (t = this.closest) == null ? void 0 : t.call(this, "sbb-autocomplete-grid-row")) == null || e.toggleAttribute(
33
+ "data-disabled",
34
+ this.disabled || this.disabledFromGroup
35
+ ), this.updateAriaDisabled());
36
+ }
37
+ setAttributeFromParent() {
38
+ var t;
39
+ const o = this.closest("sbb-autocomplete-grid-optgroup");
40
+ o && (this.disabledFromGroup = o.disabled, this.updateAriaDisabled()), (t = this.closest("sbb-autocomplete-grid-row")) == null || t.toggleAttribute(
41
+ "data-disabled",
42
+ this.disabled || this.disabledFromGroup
43
+ ), this.negative = !!this.closest(":is(sbb-autocomplete-grid[negative],sbb-form-field[negative])"), this.toggleAttribute("data-negative", this.negative);
44
+ }
45
+ selectByClick(o) {
46
+ if (this.disabled || this.disabledFromGroup) {
47
+ o.stopPropagation();
48
+ return;
49
+ }
50
+ this.setSelectedViaUserInteraction(!0);
51
+ }
52
+ };
53
+ s.styles = h;
54
+ s.events = {
55
+ selectionChange: "autocompleteOptionSelectionChange",
56
+ optionSelected: "autocompleteOptionSelected"
57
+ };
58
+ s = m([
59
+ l("sbb-autocomplete-grid-option"),
60
+ d({
61
+ role: "gridcell"
62
+ })
63
+ ], s);
64
+ export {
65
+ s as SbbAutocompleteGridOptionElement,
66
+ v as autocompleteGridOptionId
67
+ };
@@ -0,0 +1,18 @@
1
+ import { CSSResultGroup, LitElement, TemplateResult } from 'lit';
2
+
3
+ /**
4
+ * The component is used as a wrapper for options and action buttons.
5
+ *
6
+ * @slot - Use the unnamed slot to add a `sbb-autocomplete-grid-option` and a `sbb-autocomplete-grid-cell` with one or more `sbb-autocomplete-grid-button`.
7
+ */
8
+ export declare class SbbAutocompleteGridRowElement extends LitElement {
9
+ static styles: CSSResultGroup;
10
+ connectedCallback(): void;
11
+ protected render(): TemplateResult;
12
+ }
13
+ declare global {
14
+ interface HTMLElementTagNameMap {
15
+ 'sbb-autocomplete-grid-row': SbbAutocompleteGridRowElement;
16
+ }
17
+ }
18
+ //# sourceMappingURL=autocomplete-grid-row.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"autocomplete-grid-row.d.ts","sourceRoot":"","sources":["../../../../src/elements/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAQ,UAAU,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AASjF;;;;GAIG;AACH,qBAIa,6BAA8B,SAAQ,UAAU;IAC3D,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtC,iBAAiB,IAAI,IAAI;cAKtB,MAAM,IAAI,cAAc;CAO5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,2BAA2B,EAAE,6BAA6B,CAAC;KAC5D;CACF"}
@@ -0,0 +1,2 @@
1
+ export * from './autocomplete-grid-row/autocomplete-grid-row.js';
2
+ //# sourceMappingURL=autocomplete-grid-row.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"autocomplete-grid-row.d.ts","sourceRoot":"","sources":["../../../src/elements/autocomplete-grid/autocomplete-grid-row.ts"],"names":[],"mappings":"AAAA,cAAc,kDAAkD,CAAC"}
@@ -0,0 +1,31 @@
1
+ import { css as s, LitElement as d, html as i } from "lit";
2
+ import { customElement as u } from "lit/decorators.js";
3
+ import { hostAttributes as n } from "../core/decorators.js";
4
+ const p = s`*,:before,:after{box-sizing:border-box}:host{--sbb-autocomplete-grid-row-color: var(--sbb-color-charcoal);--sbb-autocomplete-grid-row-background-color: inherit;--sbb-autocomplete-grid-row-background-color-hover: var(--sbb-color-milk);--sbb-autocomplete-grid-row-background-color-active: var(--sbb-color-cloud);--sbb-autocomplete-grid-row-disabled-border-color: var(--sbb-color-graphite);--sbb-autocomplete-grid-row-disabled-background-color: var(--sbb-color-milk);--sbb-autocomplete-grid-row-padding-inline-end: var(--sbb-spacing-responsive-xxxs);--sbb-autocomplete-grid-row-justify-content: space-between;--sbb-autocomplete-grid-row-min-height: var(--sbb-size-button-m-min-height);--sbb-autocomplete-grid-row-cursor: pointer;--sbb-autocomplete-grid-row-border-radius: var(--sbb-border-radius-4x);--sbb-autocomplete-grid-row-icon-color: var(--sbb-color-metal);display:block}:host([data-negative]){--sbb-autocomplete-grid-row-color: var(--sbb-color-milk);--sbb-autocomplete-grid-row-icon-color: var(--sbb-color-smoke);--sbb-autocomplete-grid-row-background-color-hover: var(--sbb-color-charcoal);--sbb-autocomplete-grid-row-background-color-active: var(--sbb-color-iron);--sbb-autocomplete-grid-row-disabled-border-color: var(--sbb-color-smoke);--sbb-autocomplete-grid-row-disabled-background-color: var(--sbb-color-charcoal);--sbb-focus-outline-color: var(--sbb-focus-outline-color-dark)}@media (any-hover: hover){:host(:hover:not([data-disabled])){--sbb-autocomplete-grid-row-background-color: var( --sbb-autocomplete-grid-row-background-color-hover )}}:host([data-disabled]){--sbb-autocomplete-grid-row-cursor: default}@media (forced-colors: active){:host([data-disabled]){--sbb-autocomplete-grid-row-color: GrayText}}::slotted(sbb-autocomplete-grid-option){flex:1 1 auto;margin-right:calc(-1 * var(--sbb-spacing-fixed-2x))}.sbb-autocomplete-grid-row{display:flex;align-items:center;padding-inline-end:var(--sbb-autocomplete-grid-row-padding-inline-end);justify-content:var(--sbb-autocomplete-grid-row-justify-content);gap:var(--sbb-spacing-fixed-6x);color:var(--sbb-autocomplete-grid-row-color);background-color:var(--sbb-autocomplete-grid-row-background-color);cursor:var(--sbb-autocomplete-grid-row-cursor);-webkit-tap-highlight-color:transparent;-webkit-text-fill-color:var(--sbb-autocomplete-grid-row-color)}:host([data-disabled]) .sbb-autocomplete-grid-row{position:relative;z-index:0}:host([data-disabled]) .sbb-autocomplete-grid-row:before{content:"";display:block;position:absolute;top:.375rem;right:.375rem;bottom:.375rem;left:.375rem;border:var(--sbb-border-width-1x) dashed var(--sbb-autocomplete-grid-row-disabled-border-color);border-radius:var(--sbb-border-radius-2x);background-color:var(--sbb-autocomplete-grid-row-disabled-background-color);z-index:-1}@media (forced-colors: active){:host([data-disabled]) .sbb-autocomplete-grid-row:before{border-color:GrayText}}`;
5
+ var m = Object.defineProperty, g = Object.getOwnPropertyDescriptor, v = (c, r, t, e) => {
6
+ for (var o = e > 1 ? void 0 : e ? g(r, t) : r, b = c.length - 1, a; b >= 0; b--)
7
+ (a = c[b]) && (o = (e ? a(r, t, o) : a(o)) || o);
8
+ return e && o && m(r, t, o), o;
9
+ };
10
+ let w = 0, l = class extends d {
11
+ connectedCallback() {
12
+ super.connectedCallback(), this.id || (this.id = `sbb-autocomplete-grid-row-${++w}`);
13
+ }
14
+ render() {
15
+ return i`
16
+ <span class="sbb-autocomplete-grid-row">
17
+ <slot></slot>
18
+ </span>
19
+ `;
20
+ }
21
+ };
22
+ l.styles = p;
23
+ l = v([
24
+ u("sbb-autocomplete-grid-row"),
25
+ n({
26
+ role: "row"
27
+ })
28
+ ], l);
29
+ export {
30
+ l as SbbAutocompleteGridRowElement
31
+ };
@@ -0,0 +1,2 @@
1
+ export * from './autocomplete-grid/autocomplete-grid.js';
2
+ //# sourceMappingURL=autocomplete-grid.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"autocomplete-grid.d.ts","sourceRoot":"","sources":["../../../src/elements/autocomplete-grid/autocomplete-grid.ts"],"names":[],"mappings":"AAAA,cAAc,0CAA0C,CAAC"}
@@ -0,0 +1,139 @@
1
+ import { customElement as b } from "lit/decorators.js";
2
+ import { SbbAutocompleteBaseElement as u } from "../autocomplete.js";
3
+ import { getNextElementIndex as n } from "../core/a11y.js";
4
+ import { hostAttributes as m } from "../core/decorators.js";
5
+ import { getDocumentWritingMode as h, isSafari as p } from "../core/dom.js";
6
+ import { setAriaComboBoxAttributes as g } from "../core/overlay.js";
7
+ import { SbbAutocompleteGridOptionElement as l } from "./autocomplete-grid-option.js";
8
+ var v = Object.defineProperty, f = Object.getOwnPropertyDescriptor, I = (t, e, i, o) => {
9
+ for (var r = o > 1 ? void 0 : o ? f(e, i) : e, s = t.length - 1, a; s >= 0; s--)
10
+ (a = t[s]) && (r = (o ? a(e, i, r) : a(r)) || r);
11
+ return o && r && v(e, i, r), r;
12
+ };
13
+ let A = 0;
14
+ const d = p;
15
+ let c = class extends u {
16
+ constructor() {
17
+ super(...arguments), this.overlayId = `sbb-autocomplete-grid-${++A}`, this.panelRole = "grid", this._activeItemIndex = -1, this._activeColumnIndex = 0;
18
+ }
19
+ get options() {
20
+ var t;
21
+ return Array.from(((t = this.querySelectorAll) == null ? void 0 : t.call(this, "sbb-autocomplete-grid-option")) ?? []);
22
+ }
23
+ get _row() {
24
+ var t;
25
+ return Array.from((t = this.querySelectorAll) == null ? void 0 : t.call(this, "sbb-autocomplete-grid-row")).filter(
26
+ (e) => !e.hasAttribute("data-disabled")
27
+ ) ?? [];
28
+ }
29
+ onOptionClick(t) {
30
+ t.target.localName !== "sbb-autocomplete-grid-option" || t.target.disabled || this.close();
31
+ }
32
+ connectedCallback() {
33
+ super.connectedCallback();
34
+ const t = this.abort.signal;
35
+ this.addEventListener(
36
+ "autocompleteOptionSelectionChange",
37
+ (e) => this.onOptionSelected(e),
38
+ { signal: t }
39
+ );
40
+ }
41
+ syncNegative() {
42
+ var t, e;
43
+ (t = this.querySelectorAll) == null || t.call(
44
+ this,
45
+ "sbb-divider, sbb-autocomplete-grid-button"
46
+ ).forEach((i) => i.negative = this.negative), (e = this.querySelectorAll) == null || e.call(
47
+ this,
48
+ "sbb-autocomplete-grid-row, sbb-autocomplete-grid-option, sbb-autocomplete-grid-optgroup"
49
+ ).forEach((i) => i.toggleAttribute("data-negative", this.negative));
50
+ }
51
+ openedPanelKeyboardInteraction(t) {
52
+ if (this.state === "opened")
53
+ switch (t.key) {
54
+ case "Escape":
55
+ case "Tab":
56
+ this.close();
57
+ break;
58
+ case "Enter":
59
+ this.selectByKeyboard();
60
+ break;
61
+ case "ArrowDown":
62
+ case "ArrowUp":
63
+ this.setNextActiveOption(t);
64
+ break;
65
+ case "ArrowRight":
66
+ case "ArrowLeft":
67
+ this._setNextHorizontalActiveElement(t);
68
+ break;
69
+ }
70
+ }
71
+ /**
72
+ * Select an element on 'Enter' keypress.
73
+ *
74
+ * Due to keyboard navigation code, the `_activeColumnIndex` is zero when an option is 'focused'
75
+ * and greater than zero when a button is 'focused', so asking for `querySelectorAll(...)[this._activeColumnIndex]`
76
+ * would always return a `SbbAutocompleteGridButtonElement`.
77
+ */
78
+ selectByKeyboard() {
79
+ var t;
80
+ this._activeColumnIndex !== 0 ? this._row[this._activeItemIndex].querySelectorAll(
81
+ "sbb-autocomplete-grid-option, sbb-autocomplete-grid-button"
82
+ )[this._activeColumnIndex].click() : (t = this.options[this._activeItemIndex]) == null || t.setSelectedViaUserInteraction(!0);
83
+ }
84
+ setNextActiveOption(t) {
85
+ var r;
86
+ const e = this.options.filter(
87
+ (s) => !s.disabled && !s.hasAttribute("data-group-disabled")
88
+ ), i = n(t, this._activeItemIndex, e.length);
89
+ if (isNaN(i))
90
+ return;
91
+ const o = e[i];
92
+ if (o.active = !0, (r = this.triggerElement) == null || r.setAttribute("aria-activedescendant", o.id), o.scrollIntoView({ block: "nearest" }), this._activeColumnIndex !== 0)
93
+ this._row[this._activeItemIndex].querySelectorAll("sbb-autocomplete-grid-button").forEach((s) => s.toggleAttribute("data-focus-visible", !1));
94
+ else {
95
+ const s = e[this._activeItemIndex];
96
+ s && (s.active = !1);
97
+ }
98
+ this._activeItemIndex = i, this._activeColumnIndex = 0;
99
+ }
100
+ _setNextHorizontalActiveElement(t) {
101
+ var s;
102
+ if (this._activeItemIndex < 0)
103
+ return;
104
+ const e = Array.from(
105
+ this._row[this._activeItemIndex].querySelectorAll("sbb-autocomplete-grid-option, sbb-autocomplete-grid-button")
106
+ ).filter((a) => !a.disabled && !a.hasAttribute("data-group-disabled")), i = n(t, this._activeColumnIndex, e.length);
107
+ if (isNaN(i))
108
+ return;
109
+ const o = e[i];
110
+ o instanceof l ? o.active = !0 : o.toggleAttribute("data-focus-visible", !0);
111
+ const r = e[this._activeColumnIndex];
112
+ r instanceof l ? r.active = !1 : r.toggleAttribute("data-focus-visible", !1), (s = this.triggerElement) == null || s.setAttribute("aria-activedescendant", o.id), o.scrollIntoView({ block: "nearest" }), this._activeColumnIndex = i;
113
+ }
114
+ resetActiveElement() {
115
+ var t;
116
+ if (this._activeColumnIndex !== 0)
117
+ this._row[this._activeItemIndex].querySelectorAll("sbb-autocomplete-grid-button").forEach((e) => e.toggleAttribute("data-focus-visible", !1));
118
+ else {
119
+ const e = this.options.filter(
120
+ (i) => !i.disabled && !i.hasAttribute("data-group-disabled")
121
+ )[this._activeItemIndex];
122
+ e && (e.active = !1);
123
+ }
124
+ this._activeItemIndex = -1, this._activeColumnIndex = 0, (t = this.triggerElement) == null || t.removeAttribute("aria-activedescendant");
125
+ }
126
+ setTriggerAttributes(t) {
127
+ g(t, d ? this.id : this.overlayId, !1, "grid");
128
+ }
129
+ };
130
+ c = I([
131
+ b("sbb-autocomplete-grid"),
132
+ m({
133
+ dir: h(),
134
+ role: d ? "grid" : null
135
+ })
136
+ ], c);
137
+ export {
138
+ c as SbbAutocompleteGridElement
139
+ };
@@ -0,0 +1,7 @@
1
+ export * from './autocomplete-grid/autocomplete-grid.js';
2
+ export * from './autocomplete-grid/autocomplete-grid-button.js';
3
+ export * from './autocomplete-grid/autocomplete-grid-cell.js';
4
+ export * from './autocomplete-grid/autocomplete-grid-optgroup.js';
5
+ export * from './autocomplete-grid/autocomplete-grid-option.js';
6
+ export * from './autocomplete-grid/autocomplete-grid-row.js';
7
+ //# sourceMappingURL=autocomplete-grid.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"autocomplete-grid.d.ts","sourceRoot":"","sources":["../../src/elements/autocomplete-grid.ts"],"names":[],"mappings":"AAAA,cAAc,0CAA0C,CAAC;AACzD,cAAc,iDAAiD,CAAC;AAChE,cAAc,+CAA+C,CAAC;AAC9D,cAAc,mDAAmD,CAAC;AAClE,cAAc,iDAAiD,CAAC;AAChE,cAAc,8CAA8C,CAAC"}
@@ -0,0 +1,6 @@
1
+ export * from "./autocomplete-grid/autocomplete-grid.js";
2
+ export * from "./autocomplete-grid/autocomplete-grid-button.js";
3
+ export * from "./autocomplete-grid/autocomplete-grid-cell.js";
4
+ export * from "./autocomplete-grid/autocomplete-grid-optgroup.js";
5
+ export * from "./autocomplete-grid/autocomplete-grid-option.js";
6
+ export * from "./autocomplete-grid/autocomplete-grid-row.js";
package/autocomplete.d.ts CHANGED
@@ -1,2 +1,3 @@
1
1
  export * from './autocomplete/autocomplete.js';
2
+ export * from './autocomplete/autocomplete-base-element.js';
2
3
  //# sourceMappingURL=autocomplete.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"autocomplete.d.ts","sourceRoot":"","sources":["../../src/elements/autocomplete.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAC"}
1
+ {"version":3,"file":"autocomplete.d.ts","sourceRoot":"","sources":["../../src/elements/autocomplete.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6CAA6C,CAAC"}