@sbb-esta/lyne-elements-experimental-dev 0.0.0 → 4.5.1-dev.1771849274

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 (249) hide show
  1. package/README.md +55 -0
  2. package/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js +86 -0
  3. package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js +54 -0
  4. package/autocomplete-grid/autocomplete-grid-button.js +4 -0
  5. package/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.js +25 -0
  6. package/autocomplete-grid/autocomplete-grid-cell.js +4 -0
  7. package/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.js +29 -0
  8. package/autocomplete-grid/autocomplete-grid-optgroup.js +4 -0
  9. package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +41 -0
  10. package/autocomplete-grid/autocomplete-grid-option.js +5 -0
  11. package/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +28 -0
  12. package/autocomplete-grid/autocomplete-grid-row.js +4 -0
  13. package/autocomplete-grid/autocomplete-grid.js +4 -0
  14. package/autocomplete-grid.js +15 -0
  15. package/core/datetime/date-helper.js +191 -0
  16. package/core/datetime.js +5 -0
  17. package/core/timetable/access-leg-helper.js +91 -0
  18. package/core/timetable/timetable-helper.js +12 -0
  19. package/core/timetable/timetable-properties.js +1 -0
  20. package/core/timetable.js +8 -0
  21. package/custom-elements.json +8211 -0
  22. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.d.ts +39 -0
  23. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.d.ts.map +1 -0
  24. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js +141 -0
  25. package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.d.ts +31 -0
  26. package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.d.ts.map +1 -0
  27. package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js +82 -0
  28. package/development/autocomplete-grid/autocomplete-grid-button.d.ts +5 -0
  29. package/development/autocomplete-grid/autocomplete-grid-button.d.ts.map +1 -0
  30. package/development/autocomplete-grid/autocomplete-grid-button.js +5 -0
  31. package/development/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.d.ts +19 -0
  32. package/development/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.d.ts.map +1 -0
  33. package/development/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.js +40 -0
  34. package/development/autocomplete-grid/autocomplete-grid-cell.d.ts +5 -0
  35. package/development/autocomplete-grid/autocomplete-grid-cell.d.ts.map +1 -0
  36. package/development/autocomplete-grid/autocomplete-grid-cell.js +5 -0
  37. package/development/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.d.ts +19 -0
  38. package/development/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.d.ts.map +1 -0
  39. package/development/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.js +40 -0
  40. package/development/autocomplete-grid/autocomplete-grid-optgroup.d.ts +5 -0
  41. package/development/autocomplete-grid/autocomplete-grid-optgroup.d.ts.map +1 -0
  42. package/development/autocomplete-grid/autocomplete-grid-optgroup.js +5 -0
  43. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.d.ts +26 -0
  44. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.d.ts.map +1 -0
  45. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +134 -0
  46. package/development/autocomplete-grid/autocomplete-grid-option.d.ts +5 -0
  47. package/development/autocomplete-grid/autocomplete-grid-option.d.ts.map +1 -0
  48. package/development/autocomplete-grid/autocomplete-grid-option.js +6 -0
  49. package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.d.ts +20 -0
  50. package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.d.ts.map +1 -0
  51. package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +115 -0
  52. package/development/autocomplete-grid/autocomplete-grid-row.d.ts +5 -0
  53. package/development/autocomplete-grid/autocomplete-grid-row.d.ts.map +1 -0
  54. package/development/autocomplete-grid/autocomplete-grid-row.js +5 -0
  55. package/development/autocomplete-grid/autocomplete-grid.d.ts +5 -0
  56. package/development/autocomplete-grid/autocomplete-grid.d.ts.map +1 -0
  57. package/development/autocomplete-grid/autocomplete-grid.js +5 -0
  58. package/development/autocomplete-grid.d.ts +10 -0
  59. package/development/autocomplete-grid.d.ts.map +1 -0
  60. package/development/autocomplete-grid.js +16 -0
  61. package/development/core/datetime/date-helper.d.ts +27 -0
  62. package/development/core/datetime/date-helper.d.ts.map +1 -0
  63. package/development/core/datetime/date-helper.js +285 -0
  64. package/development/core/datetime.d.ts +5 -0
  65. package/development/core/datetime.d.ts.map +1 -0
  66. package/development/core/datetime.js +6 -0
  67. package/development/core/timetable/access-leg-helper.d.ts +26 -0
  68. package/development/core/timetable/access-leg-helper.d.ts.map +1 -0
  69. package/development/core/timetable/access-leg-helper.js +125 -0
  70. package/development/core/timetable/timetable-helper.d.ts +12 -0
  71. package/development/core/timetable/timetable-helper.d.ts.map +1 -0
  72. package/development/core/timetable/timetable-helper.js +20 -0
  73. package/development/core/timetable/timetable-properties.d.ts +308 -0
  74. package/development/core/timetable/timetable-properties.d.ts.map +1 -0
  75. package/development/core/timetable/timetable-properties.js +2 -0
  76. package/development/core/timetable.d.ts +7 -0
  77. package/development/core/timetable.d.ts.map +1 -0
  78. package/development/core/timetable.js +9 -0
  79. package/development/differenceInMinutes-B0dawX-5.js +26 -0
  80. package/development/format-BMkeaqaF.js +1433 -0
  81. package/development/isValid-BYRch7pV.js +53 -0
  82. package/development/journey-summary/journey-summary.component.d.ts +65 -0
  83. package/development/journey-summary/journey-summary.component.d.ts.map +1 -0
  84. package/development/journey-summary/journey-summary.component.js +294 -0
  85. package/development/journey-summary.d.ts +5 -0
  86. package/development/journey-summary.d.ts.map +1 -0
  87. package/development/journey-summary.js +5 -0
  88. package/development/pearl-chain/pearl-chain.component.d.ts +42 -0
  89. package/development/pearl-chain/pearl-chain.component.d.ts.map +1 -0
  90. package/development/pearl-chain/pearl-chain.component.js +639 -0
  91. package/development/pearl-chain-time/pearl-chain-time.component.d.ts +47 -0
  92. package/development/pearl-chain-time/pearl-chain-time.component.d.ts.map +1 -0
  93. package/development/pearl-chain-time/pearl-chain-time.component.js +312 -0
  94. package/development/pearl-chain-time.d.ts +5 -0
  95. package/development/pearl-chain-time.d.ts.map +1 -0
  96. package/development/pearl-chain-time.js +5 -0
  97. package/development/pearl-chain-vertical/pearl-chain-vertical.component.d.ts +16 -0
  98. package/development/pearl-chain-vertical/pearl-chain-vertical.component.d.ts.map +1 -0
  99. package/development/pearl-chain-vertical/pearl-chain-vertical.component.js +40 -0
  100. package/development/pearl-chain-vertical-item/pearl-chain-vertical-item.component.d.ts +34 -0
  101. package/development/pearl-chain-vertical-item/pearl-chain-vertical-item.component.d.ts.map +1 -0
  102. package/development/pearl-chain-vertical-item/pearl-chain-vertical-item.component.js +398 -0
  103. package/development/pearl-chain-vertical-item.d.ts +5 -0
  104. package/development/pearl-chain-vertical-item.d.ts.map +1 -0
  105. package/development/pearl-chain-vertical-item.js +5 -0
  106. package/development/pearl-chain-vertical.d.ts +5 -0
  107. package/development/pearl-chain-vertical.d.ts.map +1 -0
  108. package/development/pearl-chain-vertical.js +5 -0
  109. package/development/pearl-chain.d.ts +5 -0
  110. package/development/pearl-chain.d.ts.map +1 -0
  111. package/development/pearl-chain.js +5 -0
  112. package/development/seat-reservation/common/mapper/icon-mapper.d.ts +106 -0
  113. package/development/seat-reservation/common/mapper/icon-mapper.d.ts.map +1 -0
  114. package/development/seat-reservation/common/mapper/icon-mapper.js +72 -0
  115. package/development/seat-reservation/common/mapper/mapper.d.ts +34 -0
  116. package/development/seat-reservation/common/mapper/mapper.d.ts.map +1 -0
  117. package/development/seat-reservation/common/mapper/mapper.js +129 -0
  118. package/development/seat-reservation/common/mapper/seat-reservation-sample-data.d.ts +372 -0
  119. package/development/seat-reservation/common/mapper/seat-reservation-sample-data.d.ts.map +1 -0
  120. package/development/seat-reservation/common/mapper/seat-reservation-sample-data.js +31673 -0
  121. package/development/seat-reservation/common/mapper.d.ts +3 -0
  122. package/development/seat-reservation/common/mapper.d.ts.map +1 -0
  123. package/development/seat-reservation/common/mapper.js +10 -0
  124. package/development/seat-reservation/common/svgs.d.ts +24 -0
  125. package/development/seat-reservation/common/svgs.d.ts.map +1 -0
  126. package/development/seat-reservation/common/svgs.js +46 -0
  127. package/development/seat-reservation/common/translations/i18n.d.ts +28 -0
  128. package/development/seat-reservation/common/translations/i18n.d.ts.map +1 -0
  129. package/development/seat-reservation/common/translations/i18n.js +871 -0
  130. package/development/seat-reservation/common/translations.d.ts +2 -0
  131. package/development/seat-reservation/common/translations.d.ts.map +1 -0
  132. package/development/seat-reservation/common/translations.js +5 -0
  133. package/development/seat-reservation/common/types.d.ts +97 -0
  134. package/development/seat-reservation/common/types.d.ts.map +1 -0
  135. package/development/seat-reservation/common/types.js +2 -0
  136. package/development/seat-reservation/common.d.ts +8 -0
  137. package/development/seat-reservation/common.d.ts.map +1 -0
  138. package/development/seat-reservation/common.js +14 -0
  139. package/development/seat-reservation/seat-reservation/seat-reservation-base-element.d.ts +273 -0
  140. package/development/seat-reservation/seat-reservation/seat-reservation-base-element.d.ts.map +1 -0
  141. package/development/seat-reservation/seat-reservation/seat-reservation-base-element.js +1171 -0
  142. package/development/seat-reservation/seat-reservation/seat-reservation.component.d.ts +75 -0
  143. package/development/seat-reservation/seat-reservation/seat-reservation.component.d.ts.map +1 -0
  144. package/development/seat-reservation/seat-reservation/seat-reservation.component.js +832 -0
  145. package/development/seat-reservation/seat-reservation-area/seat-reservation-area.component.d.ts +18 -0
  146. package/development/seat-reservation/seat-reservation-area/seat-reservation-area.component.d.ts.map +1 -0
  147. package/development/seat-reservation/seat-reservation-area/seat-reservation-area.component.js +112 -0
  148. package/development/seat-reservation/seat-reservation-area.d.ts +5 -0
  149. package/development/seat-reservation/seat-reservation-area.d.ts.map +1 -0
  150. package/development/seat-reservation/seat-reservation-area.js +5 -0
  151. package/development/seat-reservation/seat-reservation-graphic/seat-reservation-assets.d.ts +9 -0
  152. package/development/seat-reservation/seat-reservation-graphic/seat-reservation-assets.d.ts.map +1 -0
  153. package/development/seat-reservation/seat-reservation-graphic/seat-reservation-assets.js +303 -0
  154. package/development/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.d.ts +20 -0
  155. package/development/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.d.ts.map +1 -0
  156. package/development/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.js +167 -0
  157. package/development/seat-reservation/seat-reservation-graphic.d.ts +5 -0
  158. package/development/seat-reservation/seat-reservation-graphic.d.ts.map +1 -0
  159. package/development/seat-reservation/seat-reservation-graphic.js +5 -0
  160. package/development/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.d.ts +65 -0
  161. package/development/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.d.ts.map +1 -0
  162. package/development/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.js +798 -0
  163. package/development/seat-reservation/seat-reservation-navigation-coach.d.ts +5 -0
  164. package/development/seat-reservation/seat-reservation-navigation-coach.d.ts.map +1 -0
  165. package/development/seat-reservation/seat-reservation-navigation-coach.js +5 -0
  166. package/development/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.d.ts +21 -0
  167. package/development/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.d.ts.map +1 -0
  168. package/development/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.js +120 -0
  169. package/development/seat-reservation/seat-reservation-navigation-services.d.ts +5 -0
  170. package/development/seat-reservation/seat-reservation-navigation-services.d.ts.map +1 -0
  171. package/development/seat-reservation/seat-reservation-navigation-services.js +5 -0
  172. package/development/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.d.ts +42 -0
  173. package/development/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.d.ts.map +1 -0
  174. package/development/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.js +462 -0
  175. package/development/seat-reservation/seat-reservation-place-control.d.ts +5 -0
  176. package/development/seat-reservation/seat-reservation-place-control.d.ts.map +1 -0
  177. package/development/seat-reservation/seat-reservation-place-control.js +5 -0
  178. package/development/seat-reservation/seat-reservation-scoped/seat-reservation-scoped.component.d.ts +14 -0
  179. package/development/seat-reservation/seat-reservation-scoped/seat-reservation-scoped.component.d.ts.map +1 -0
  180. package/development/seat-reservation/seat-reservation-scoped/seat-reservation-scoped.component.js +34 -0
  181. package/development/seat-reservation/seat-reservation-scoped.d.ts +5 -0
  182. package/development/seat-reservation/seat-reservation-scoped.d.ts.map +1 -0
  183. package/development/seat-reservation/seat-reservation-scoped.js +5 -0
  184. package/development/seat-reservation/seat-reservation.d.ts +6 -0
  185. package/development/seat-reservation/seat-reservation.d.ts.map +1 -0
  186. package/development/seat-reservation/seat-reservation.js +7 -0
  187. package/development/seat-reservation.d.ts +12 -0
  188. package/development/seat-reservation.d.ts.map +1 -0
  189. package/development/seat-reservation.js +30 -0
  190. package/development/timetable-duration/timetable-duration.component.d.ts +22 -0
  191. package/development/timetable-duration/timetable-duration.component.d.ts.map +1 -0
  192. package/development/timetable-duration/timetable-duration.component.js +114 -0
  193. package/development/timetable-duration.d.ts +5 -0
  194. package/development/timetable-duration.d.ts.map +1 -0
  195. package/development/timetable-duration.js +5 -0
  196. package/development/timetable-row/timetable-row.component.d.ts +87 -0
  197. package/development/timetable-row/timetable-row.component.d.ts.map +1 -0
  198. package/development/timetable-row/timetable-row.component.js +787 -0
  199. package/development/timetable-row.d.ts +5 -0
  200. package/development/timetable-row.d.ts.map +1 -0
  201. package/development/timetable-row.js +12 -0
  202. package/development/toDate-BWb6Z1JD.js +24 -0
  203. package/differenceInMinutes-COvvdYsJ.js +23 -0
  204. package/format-CmKROkbc.js +1186 -0
  205. package/index.d.ts +44 -0
  206. package/index.js +43 -0
  207. package/isValid-m3_OsPaB.js +45 -0
  208. package/journey-summary/journey-summary.component.js +193 -0
  209. package/journey-summary.js +4 -0
  210. package/package.json +161 -1
  211. package/pearl-chain/pearl-chain.component.js +164 -0
  212. package/pearl-chain-time/pearl-chain-time.component.js +156 -0
  213. package/pearl-chain-time.js +4 -0
  214. package/pearl-chain-vertical/pearl-chain-vertical.component.js +24 -0
  215. package/pearl-chain-vertical-item/pearl-chain-vertical-item.component.js +76 -0
  216. package/pearl-chain-vertical-item.js +4 -0
  217. package/pearl-chain-vertical.js +4 -0
  218. package/pearl-chain.js +4 -0
  219. package/seat-reservation/common/mapper/icon-mapper.js +71 -0
  220. package/seat-reservation/common/mapper/mapper.js +89 -0
  221. package/seat-reservation/common/mapper/seat-reservation-sample-data.js +31668 -0
  222. package/seat-reservation/common/mapper.js +9 -0
  223. package/seat-reservation/common/svgs.js +243 -0
  224. package/seat-reservation/common/translations/i18n.js +861 -0
  225. package/seat-reservation/common/translations.js +4 -0
  226. package/seat-reservation/common/types.js +1 -0
  227. package/seat-reservation/common.js +13 -0
  228. package/seat-reservation/seat-reservation/seat-reservation-base-element.js +756 -0
  229. package/seat-reservation/seat-reservation/seat-reservation.component.js +410 -0
  230. package/seat-reservation/seat-reservation-area/seat-reservation-area.component.js +50 -0
  231. package/seat-reservation/seat-reservation-area.js +4 -0
  232. package/seat-reservation/seat-reservation-graphic/seat-reservation-assets.js +292 -0
  233. package/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.js +73 -0
  234. package/seat-reservation/seat-reservation-graphic.js +4 -0
  235. package/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.js +277 -0
  236. package/seat-reservation/seat-reservation-navigation-coach.js +4 -0
  237. package/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.js +73 -0
  238. package/seat-reservation/seat-reservation-navigation-services.js +4 -0
  239. package/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.js +167 -0
  240. package/seat-reservation/seat-reservation-place-control.js +4 -0
  241. package/seat-reservation/seat-reservation-scoped/seat-reservation-scoped.component.js +20 -0
  242. package/seat-reservation/seat-reservation-scoped.js +4 -0
  243. package/seat-reservation/seat-reservation.js +6 -0
  244. package/seat-reservation.js +29 -0
  245. package/timetable-duration/timetable-duration.component.js +56 -0
  246. package/timetable-duration.js +4 -0
  247. package/timetable-row/timetable-row.component.js +426 -0
  248. package/timetable-row.js +11 -0
  249. package/toDate-Bw2KTWeq.js +15 -0
@@ -0,0 +1,39 @@
1
+ import { SbbAutocompleteBaseElement } from '@sbb-esta/lyne-elements/autocomplete.js';
2
+ import { SbbAutocompleteGridOptionElement } from '../autocomplete-grid-option.ts';
3
+ /**
4
+ * Combined with a native input, it displays a panel with a list of available options with connected buttons.
5
+ *
6
+ * @slot - Use the unnamed slot to add `sbb-autocomplete-grid-row` or `sbb-autocomplete-grid-optgroup` elements to the `sbb-autocomplete-grid`.
7
+ * @cssprop [--sbb-autocomplete-z-index=var(--sbb-overlay-default-z-index)] - To specify a custom stack order,
8
+ * the `z-index` can be overridden by defining this CSS variable. The default `z-index` of the
9
+ * component is set to `var(--sbb-overlay-default-z-index)` with a value of `1000`.
10
+ * @cssprop [--sbb-options-panel-max-height] - Maximum height of the options panel.
11
+ * If the calculated remaining space is smaller, the value gets ignored.
12
+ */
13
+ export declare class SbbAutocompleteGridElement<T = string> extends SbbAutocompleteBaseElement<T> {
14
+ static readonly role: string | null;
15
+ protected overlayId: string;
16
+ protected panelRole: string;
17
+ private _activeColumnIndex;
18
+ protected get options(): SbbAutocompleteGridOptionElement<T>[];
19
+ protected syncNegative(): void;
20
+ protected openedPanelKeyboardInteraction(event: KeyboardEvent): void;
21
+ /**
22
+ * Select an element on 'Enter' keypress.
23
+ *
24
+ * Due to keyboard navigation code, the `_activeColumnIndex` is zero when an option is 'focused'
25
+ * and greater than zero when a button is 'focused', so asking for `querySelectorAll(...)[this._activeColumnIndex]`
26
+ * would always return a `SbbAutocompleteGridButtonElement`.
27
+ */
28
+ protected selectByKeyboard(event: KeyboardEvent): void;
29
+ protected setNextActiveOption(event?: KeyboardEvent): void;
30
+ private _setNextHorizontalActiveElement;
31
+ protected resetActiveElement(): void;
32
+ protected setTriggerAttributes(element: HTMLInputElement): void;
33
+ }
34
+ declare global {
35
+ interface HTMLElementTagNameMap {
36
+ 'sbb-autocomplete-grid': SbbAutocompleteGridElement;
37
+ }
38
+ }
39
+ //# sourceMappingURL=autocomplete-grid.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"autocomplete-grid.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements-experimental/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AAUrF,OAAO,EAAE,gCAAgC,EAAE,MAAM,gCAAgC,CAAC;AAUlF;;;;;;;;;GASG;AACH,qBAEM,0BAA0B,CAAC,CAAC,GAAG,MAAM,CAAE,SAAQ,0BAA0B,CAAC,CAAC,CAAC;IAChF,gBAAgC,IAAI,gBAAkC;IACtE,SAAS,CAAC,SAAS,SAAuC;IAC1D,SAAS,CAAC,SAAS,SAAU;IAC7B,OAAO,CAAC,kBAAkB,CAAK;IAE/B,SAAS,KAAK,OAAO,IAAI,gCAAgC,CAAC,CAAC,CAAC,EAAE,CAM7D;IAED,SAAS,CAAC,YAAY,IAAI,IAAI;IAY9B,SAAS,CAAC,8BAA8B,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAqBpE;;;;;;OAMG;IACH,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAmBtD,SAAS,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,aAAa,GAAG,IAAI;IAsC1D,OAAO,CAAC,+BAA+B;IAqCvC,SAAS,CAAC,kBAAkB,IAAI,IAAI;IAapC,SAAS,CAAC,oBAAoB,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;CAGhE;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,uBAAuB,EAAE,0BAA0B,CAAC;KACrD;CACF"}
@@ -0,0 +1,141 @@
1
+ import { __esDecorate, __runInitializers } from "tslib";
2
+ import { SbbAutocompleteBaseElement } from "@sbb-esta/lyne-elements/autocomplete.js";
3
+ import { getNextElementIndex } from "@sbb-esta/lyne-elements/core/a11y.js";
4
+ import { isSafari } from "@sbb-esta/lyne-elements/core/dom.js";
5
+ import { ɵstateController as _stateController } from "@sbb-esta/lyne-elements/core/mixins.js";
6
+ import { setAriaComboBoxAttributes } from "@sbb-esta/lyne-elements/core/overlay.js";
7
+ import { customElement } from "lit/decorators.js";
8
+ import { SbbAutocompleteGridOptionElement } from "../autocomplete-grid-option.js";
9
+ let nextId = 0;
10
+ const ariaRoleOnHost = isSafari;
11
+ let SbbAutocompleteGridElement = (() => {
12
+ var _a;
13
+ let _classDecorators = [customElement("sbb-autocomplete-grid")];
14
+ let _classDescriptor;
15
+ let _classExtraInitializers = [];
16
+ let _classThis;
17
+ let _classSuper = SbbAutocompleteBaseElement;
18
+ _a = class extends _classSuper {
19
+ constructor() {
20
+ super(...arguments);
21
+ this.overlayId = `sbb-autocomplete-grid-${++nextId}`;
22
+ this.panelRole = "grid";
23
+ this._activeColumnIndex = 0;
24
+ }
25
+ get options() {
26
+ return Array.from(this.querySelectorAll?.("sbb-autocomplete-grid-option") ?? []);
27
+ }
28
+ syncNegative() {
29
+ this.querySelectorAll?.("sbb-divider, sbb-autocomplete-grid-button, sbb-option-hint").forEach((e) => e.negative = this.negative);
30
+ this.querySelectorAll?.("sbb-autocomplete-grid-row, sbb-autocomplete-grid-option, sbb-autocomplete-grid-optgroup").forEach((element) => _stateController(element).toggle("negative", this.negative));
31
+ }
32
+ openedPanelKeyboardInteraction(event) {
33
+ if (!this.isOpen) {
34
+ return;
35
+ }
36
+ switch (event.key) {
37
+ case "Enter":
38
+ this.selectByKeyboard(event);
39
+ break;
40
+ case "ArrowDown":
41
+ case "ArrowUp":
42
+ this.setNextActiveOption(event);
43
+ break;
44
+ case "ArrowRight":
45
+ case "ArrowLeft":
46
+ this._setNextHorizontalActiveElement(event);
47
+ break;
48
+ }
49
+ }
50
+ /**
51
+ * Select an element on 'Enter' keypress.
52
+ *
53
+ * Due to keyboard navigation code, the `_activeColumnIndex` is zero when an option is 'focused'
54
+ * and greater than zero when a button is 'focused', so asking for `querySelectorAll(...)[this._activeColumnIndex]`
55
+ * would always return a `SbbAutocompleteGridButtonElement`.
56
+ */
57
+ selectByKeyboard(event) {
58
+ if (this.activeOption) {
59
+ event.preventDefault();
60
+ if (this._activeColumnIndex !== 0) {
61
+ this.activeOption.closest("sbb-autocomplete-grid-row")?.querySelectorAll("sbb-autocomplete-grid-button")[
62
+ // We ignore the option in the selector. Therefore, we have to shift the activeColumnIndex by one.
63
+ this._activeColumnIndex - 1
64
+ ]?.click();
65
+ } else {
66
+ this.activeOption["selectViaUserInteraction"](true);
67
+ }
68
+ }
69
+ }
70
+ setNextActiveOption(event) {
71
+ const enabledOptions = this.options.filter((opt) => !opt.matches(":is(:state(disabled),[state--disabled])"));
72
+ this.activeOption?.setActive(false);
73
+ this.triggerElement?.removeAttribute("aria-activedescendant");
74
+ Array.from(this.querySelectorAll?.("sbb-autocomplete-grid-row :is(:state(focus-visible),[state--focus-visible])") ?? []).forEach((row) => _stateController(row).delete("focus-visible"));
75
+ this._activeColumnIndex = 0;
76
+ if (!enabledOptions.length) {
77
+ this.activeOption = null;
78
+ return;
79
+ }
80
+ const activeItemIndex = this.activeOption ? enabledOptions.indexOf(this.activeOption) : -1;
81
+ const next = getNextElementIndex(event, activeItemIndex, enabledOptions.length);
82
+ this.activeOption = enabledOptions[next];
83
+ this.activeOption.setActive(true);
84
+ this.triggerElement?.setAttribute("aria-activedescendant", this.activeOption.id);
85
+ this.activeOption.scrollIntoView({ block: "nearest" });
86
+ if (event) {
87
+ event.preventDefault();
88
+ }
89
+ if (this.autoSelectActiveOption && event) {
90
+ this.setPendingSelection(this.activeOption);
91
+ }
92
+ }
93
+ _setNextHorizontalActiveElement(event) {
94
+ if (!this.activeOption) {
95
+ return;
96
+ }
97
+ const elementsInRow = Array.from(this.activeOption?.closest("sbb-autocomplete-grid-row")?.querySelectorAll("sbb-autocomplete-grid-option, sbb-autocomplete-grid-button") ?? [])?.filter((el) => !el.matches(":is(:state(disabled),[state--disabled])"));
98
+ if (!elementsInRow.length) {
99
+ return;
100
+ }
101
+ const next = getNextElementIndex(event, this._activeColumnIndex, elementsInRow.length);
102
+ const nextElement = elementsInRow[next];
103
+ if (nextElement instanceof SbbAutocompleteGridOptionElement) {
104
+ nextElement.setActive(true);
105
+ } else {
106
+ _stateController(nextElement).add("focus-visible");
107
+ }
108
+ const lastActiveElement = elementsInRow[this._activeColumnIndex];
109
+ if (lastActiveElement instanceof SbbAutocompleteGridOptionElement) {
110
+ lastActiveElement.setActive(false);
111
+ } else {
112
+ _stateController(lastActiveElement).delete("focus-visible");
113
+ }
114
+ this.triggerElement?.setAttribute("aria-activedescendant", nextElement.id);
115
+ nextElement.scrollIntoView({ block: "nearest" });
116
+ this._activeColumnIndex = next;
117
+ }
118
+ resetActiveElement() {
119
+ if (this._activeColumnIndex !== 0) {
120
+ this.activeOption?.closest("sbb-autocomplete-grid-row")?.querySelectorAll("sbb-autocomplete-grid-button").forEach((e) => _stateController(e).delete("focus-visible"));
121
+ }
122
+ this.activeOption?.setActive(false);
123
+ this.activeOption = null;
124
+ this._activeColumnIndex = 0;
125
+ this.triggerElement?.removeAttribute("aria-activedescendant");
126
+ }
127
+ setTriggerAttributes(element) {
128
+ setAriaComboBoxAttributes(element, ariaRoleOnHost ? this.id : this.overlayId, false, "grid");
129
+ }
130
+ }, _classThis = _a, (() => {
131
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
132
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
133
+ _classThis = _classDescriptor.value;
134
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
135
+ })(), _a.role = ariaRoleOnHost ? "grid" : null, __runInitializers(_classThis, _classExtraInitializers), _a;
136
+ return _classThis;
137
+ })();
138
+ export {
139
+ SbbAutocompleteGridElement
140
+ };
141
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLWdyaWQuY29tcG9uZW50LmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMtZXhwZXJpbWVudGFsL2F1dG9jb21wbGV0ZS1ncmlkL2F1dG9jb21wbGV0ZS1ncmlkL2F1dG9jb21wbGV0ZS1ncmlkLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTYmJBdXRvY29tcGxldGVCYXNlRWxlbWVudCB9IGZyb20gJ0BzYmItZXN0YS9seW5lLWVsZW1lbnRzL2F1dG9jb21wbGV0ZS5qcyc7XG5pbXBvcnQgeyBnZXROZXh0RWxlbWVudEluZGV4IH0gZnJvbSAnQHNiYi1lc3RhL2x5bmUtZWxlbWVudHMvY29yZS9hMTF5LmpzJztcbmltcG9ydCB7IGlzU2FmYXJpIH0gZnJvbSAnQHNiYi1lc3RhL2x5bmUtZWxlbWVudHMvY29yZS9kb20uanMnO1xuaW1wb3J0IHsgybVzdGF0ZUNvbnRyb2xsZXIgfSBmcm9tICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9jb3JlL21peGlucy5qcyc7XG5pbXBvcnQgeyBzZXRBcmlhQ29tYm9Cb3hBdHRyaWJ1dGVzIH0gZnJvbSAnQHNiYi1lc3RhL2x5bmUtZWxlbWVudHMvY29yZS9vdmVybGF5LmpzJztcbmltcG9ydCB0eXBlIHsgU2JiRGl2aWRlckVsZW1lbnQgfSBmcm9tICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9kaXZpZGVyLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiT3B0R3JvdXBFbGVtZW50LCBTYmJPcHRpb25IaW50RWxlbWVudCB9IGZyb20gJ0BzYmItZXN0YS9seW5lLWVsZW1lbnRzL29wdGlvbi5qcyc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgdHlwZSB7IFNiYkF1dG9jb21wbGV0ZUdyaWRCdXR0b25FbGVtZW50IH0gZnJvbSAnLi4vYXV0b2NvbXBsZXRlLWdyaWQtYnV0dG9uLnRzJztcbmltcG9ydCB7IFNiYkF1dG9jb21wbGV0ZUdyaWRPcHRpb25FbGVtZW50IH0gZnJvbSAnLi4vYXV0b2NvbXBsZXRlLWdyaWQtb3B0aW9uLnRzJztcblxubGV0IG5leHRJZCA9IDA7XG5cbi8qKlxuICogT24gU2FmYXJpLCB0aGUgYXJpYSByb2xlICdsaXN0Ym94JyBtdXN0IGJlIG9uIHRoZSBob3N0IGVsZW1lbnQsIG9yIGVsc2UgVm9pY2VPdmVyIHdvbid0IHdvcmsgYXQgYWxsLlxuICogT24gdGhlIG90aGVyIGhhbmQsIEpBV1MgYW5kIE5WREEgbmVlZCB0aGUgcm9sZSB0byBiZSBcImNsb3NlclwiIHRvIHRoZSBvcHRpb25zLCBvciBlbHNlIG9wdGdyb3VwcyB3b24ndCB3b3JrLlxuICovXG5jb25zdCBhcmlhUm9sZU9uSG9zdCA9IGlzU2FmYXJpO1xuXG4vKipcbiAqIENvbWJpbmVkIHdpdGggYSBuYXRpdmUgaW5wdXQsIGl0IGRpc3BsYXlzIGEgcGFuZWwgd2l0aCBhIGxpc3Qgb2YgYXZhaWxhYmxlIG9wdGlvbnMgd2l0aCBjb25uZWN0ZWQgYnV0dG9ucy5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBgc2JiLWF1dG9jb21wbGV0ZS1ncmlkLXJvd2Agb3IgYHNiYi1hdXRvY29tcGxldGUtZ3JpZC1vcHRncm91cGAgZWxlbWVudHMgdG8gdGhlIGBzYmItYXV0b2NvbXBsZXRlLWdyaWRgLlxuICogQGNzc3Byb3AgWy0tc2JiLWF1dG9jb21wbGV0ZS16LWluZGV4PXZhcigtLXNiYi1vdmVybGF5LWRlZmF1bHQtei1pbmRleCldIC0gVG8gc3BlY2lmeSBhIGN1c3RvbSBzdGFjayBvcmRlcixcbiAqIHRoZSBgei1pbmRleGAgY2FuIGJlIG92ZXJyaWRkZW4gYnkgZGVmaW5pbmcgdGhpcyBDU1MgdmFyaWFibGUuIFRoZSBkZWZhdWx0IGB6LWluZGV4YCBvZiB0aGVcbiAqIGNvbXBvbmVudCBpcyBzZXQgdG8gYHZhcigtLXNiYi1vdmVybGF5LWRlZmF1bHQtei1pbmRleClgIHdpdGggYSB2YWx1ZSBvZiBgMTAwMGAuXG4gKiBAY3NzcHJvcCBbLS1zYmItb3B0aW9ucy1wYW5lbC1tYXgtaGVpZ2h0XSAtIE1heGltdW0gaGVpZ2h0IG9mIHRoZSBvcHRpb25zIHBhbmVsLlxuICogSWYgdGhlIGNhbGN1bGF0ZWQgcmVtYWluaW5nIHNwYWNlIGlzIHNtYWxsZXIsIHRoZSB2YWx1ZSBnZXRzIGlnbm9yZWQuXG4gKi9cbmV4cG9ydFxuQGN1c3RvbUVsZW1lbnQoJ3NiYi1hdXRvY29tcGxldGUtZ3JpZCcpXG5jbGFzcyBTYmJBdXRvY29tcGxldGVHcmlkRWxlbWVudDxUID0gc3RyaW5nPiBleHRlbmRzIFNiYkF1dG9jb21wbGV0ZUJhc2VFbGVtZW50PFQ+IHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSByb2xlID0gYXJpYVJvbGVPbkhvc3QgPyAnZ3JpZCcgOiBudWxsO1xuICBwcm90ZWN0ZWQgb3ZlcmxheUlkID0gYHNiYi1hdXRvY29tcGxldGUtZ3JpZC0keysrbmV4dElkfWA7XG4gIHByb3RlY3RlZCBwYW5lbFJvbGUgPSAnZ3JpZCc7XG4gIHByaXZhdGUgX2FjdGl2ZUNvbHVtbkluZGV4ID0gMDtcblxuICBwcm90ZWN0ZWQgZ2V0IG9wdGlvbnMoKTogU2JiQXV0b2NvbXBsZXRlR3JpZE9wdGlvbkVsZW1lbnQ8VD5bXSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20oXG4gICAgICB0aGlzLnF1ZXJ5U2VsZWN0b3JBbGw/LjxTYmJBdXRvY29tcGxldGVHcmlkT3B0aW9uRWxlbWVudDxUPj4oXG4gICAgICAgICdzYmItYXV0b2NvbXBsZXRlLWdyaWQtb3B0aW9uJyxcbiAgICAgICkgPz8gW10sXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzeW5jTmVnYXRpdmUoKTogdm9pZCB7XG4gICAgdGhpcy5xdWVyeVNlbGVjdG9yQWxsPy48XG4gICAgICBTYmJEaXZpZGVyRWxlbWVudCB8IFNiYkF1dG9jb21wbGV0ZUdyaWRCdXR0b25FbGVtZW50IHwgU2JiT3B0aW9uSGludEVsZW1lbnRcbiAgICA+KCdzYmItZGl2aWRlciwgc2JiLWF1dG9jb21wbGV0ZS1ncmlkLWJ1dHRvbiwgc2JiLW9wdGlvbi1oaW50JykuZm9yRWFjaChcbiAgICAgIChlKSA9PiAoZS5uZWdhdGl2ZSA9IHRoaXMubmVnYXRpdmUpLFxuICAgICk7XG5cbiAgICB0aGlzLnF1ZXJ5U2VsZWN0b3JBbGw/LjxTYmJBdXRvY29tcGxldGVHcmlkT3B0aW9uRWxlbWVudDxUPiB8IFNiYk9wdEdyb3VwRWxlbWVudD4oXG4gICAgICAnc2JiLWF1dG9jb21wbGV0ZS1ncmlkLXJvdywgc2JiLWF1dG9jb21wbGV0ZS1ncmlkLW9wdGlvbiwgc2JiLWF1dG9jb21wbGV0ZS1ncmlkLW9wdGdyb3VwJyxcbiAgICApLmZvckVhY2goKGVsZW1lbnQpID0+IMm1c3RhdGVDb250cm9sbGVyKGVsZW1lbnQpLnRvZ2dsZSgnbmVnYXRpdmUnLCB0aGlzLm5lZ2F0aXZlKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3BlbmVkUGFuZWxLZXlib2FyZEludGVyYWN0aW9uKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmlzT3Blbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBzd2l0Y2ggKGV2ZW50LmtleSkge1xuICAgICAgY2FzZSAnRW50ZXInOlxuICAgICAgICB0aGlzLnNlbGVjdEJ5S2V5Ym9hcmQoZXZlbnQpO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAnQXJyb3dEb3duJzpcbiAgICAgIGNhc2UgJ0Fycm93VXAnOlxuICAgICAgICB0aGlzLnNldE5leHRBY3RpdmVPcHRpb24oZXZlbnQpO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAnQXJyb3dSaWdodCc6XG4gICAgICBjYXNlICdBcnJvd0xlZnQnOlxuICAgICAgICB0aGlzLl9zZXROZXh0SG9yaXpvbnRhbEFjdGl2ZUVsZW1lbnQoZXZlbnQpO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2VsZWN0IGFuIGVsZW1lbnQgb24gJ0VudGVyJyBrZXlwcmVzcy5cbiAgICpcbiAgICogRHVlIHRvIGtleWJvYXJkIG5hdmlnYXRpb24gY29kZSwgdGhlIGBfYWN0aXZlQ29sdW1uSW5kZXhgIGlzIHplcm8gd2hlbiBhbiBvcHRpb24gaXMgJ2ZvY3VzZWQnXG4gICAqIGFuZCBncmVhdGVyIHRoYW4gemVybyB3aGVuIGEgYnV0dG9uIGlzICdmb2N1c2VkJywgc28gYXNraW5nIGZvciBgcXVlcnlTZWxlY3RvckFsbCguLi4pW3RoaXMuX2FjdGl2ZUNvbHVtbkluZGV4XWBcbiAgICogd291bGQgYWx3YXlzIHJldHVybiBhIGBTYmJBdXRvY29tcGxldGVHcmlkQnV0dG9uRWxlbWVudGAuXG4gICAqL1xuICBwcm90ZWN0ZWQgc2VsZWN0QnlLZXlib2FyZChldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmFjdGl2ZU9wdGlvbikge1xuICAgICAgLy8gV2UgYXJlIGN1cnJlbnRseSBzZWxlY3RpbmcgYW4gb3B0aW9uIGFuZCB0aGVyZWZvcmUgdGhlIEVudGVyIHByZXNzIHNob3VsZG4ndCB0cmlnZ2VyIGEgZm9ybSBzdWJtaXRcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgIGlmICh0aGlzLl9hY3RpdmVDb2x1bW5JbmRleCAhPT0gMCkge1xuICAgICAgICB0aGlzLmFjdGl2ZU9wdGlvblxuICAgICAgICAgIC5jbG9zZXN0KCdzYmItYXV0b2NvbXBsZXRlLWdyaWQtcm93JylcbiAgICAgICAgICA/LnF1ZXJ5U2VsZWN0b3JBbGwoJ3NiYi1hdXRvY29tcGxldGUtZ3JpZC1idXR0b24nKVxuICAgICAgICAgIFtcbiAgICAgICAgICAgIC8vIFdlIGlnbm9yZSB0aGUgb3B0aW9uIGluIHRoZSBzZWxlY3Rvci4gVGhlcmVmb3JlLCB3ZSBoYXZlIHRvIHNoaWZ0IHRoZSBhY3RpdmVDb2x1bW5JbmRleCBieSBvbmUuXG4gICAgICAgICAgICB0aGlzLl9hY3RpdmVDb2x1bW5JbmRleCAtIDFcbiAgICAgICAgICBdPy5jbGljaygpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5hY3RpdmVPcHRpb25bJ3NlbGVjdFZpYVVzZXJJbnRlcmFjdGlvbiddKHRydWUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBzZXROZXh0QWN0aXZlT3B0aW9uKGV2ZW50PzogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGVuYWJsZWRPcHRpb25zID0gdGhpcy5vcHRpb25zLmZpbHRlcigob3B0KSA9PiAhb3B0Lm1hdGNoZXMoJzpzdGF0ZShkaXNhYmxlZCknKSk7XG5cbiAgICAvLyBSZXNldCBwb3RlbnRpYWxseSBhY3RpdmUgb3B0aW9uXG4gICAgdGhpcy5hY3RpdmVPcHRpb24/LnNldEFjdGl2ZShmYWxzZSk7XG4gICAgdGhpcy50cmlnZ2VyRWxlbWVudD8ucmVtb3ZlQXR0cmlidXRlKCdhcmlhLWFjdGl2ZWRlc2NlbmRhbnQnKTtcbiAgICBBcnJheS5mcm9tKFxuICAgICAgdGhpcy5xdWVyeVNlbGVjdG9yQWxsPy4oJ3NiYi1hdXRvY29tcGxldGUtZ3JpZC1yb3cgOnN0YXRlKGZvY3VzLXZpc2libGUpJykgPz8gW10sXG4gICAgKS5mb3JFYWNoKChyb3cpID0+IMm1c3RhdGVDb250cm9sbGVyKHJvdykuZGVsZXRlKCdmb2N1cy12aXNpYmxlJykpO1xuICAgIHRoaXMuX2FjdGl2ZUNvbHVtbkluZGV4ID0gMDtcblxuICAgIGlmICghZW5hYmxlZE9wdGlvbnMubGVuZ3RoKSB7XG4gICAgICB0aGlzLmFjdGl2ZU9wdGlvbiA9IG51bGw7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgYWN0aXZlSXRlbUluZGV4ID0gdGhpcy5hY3RpdmVPcHRpb25cbiAgICAgID8gZW5hYmxlZE9wdGlvbnMuaW5kZXhPZih0aGlzLmFjdGl2ZU9wdGlvbiBhcyBTYmJBdXRvY29tcGxldGVHcmlkT3B0aW9uRWxlbWVudDxUPilcbiAgICAgIDogLTE7XG5cbiAgICAvLyBHZXQgYW5kIGFjdGl2YXRlIHRoZSBuZXh0IGFjdGl2ZSBvcHRpb25cbiAgICBjb25zdCBuZXh0ID0gZ2V0TmV4dEVsZW1lbnRJbmRleChldmVudCwgYWN0aXZlSXRlbUluZGV4LCBlbmFibGVkT3B0aW9ucy5sZW5ndGgpO1xuICAgIHRoaXMuYWN0aXZlT3B0aW9uID0gZW5hYmxlZE9wdGlvbnNbbmV4dF07XG4gICAgdGhpcy5hY3RpdmVPcHRpb24uc2V0QWN0aXZlKHRydWUpO1xuICAgIHRoaXMudHJpZ2dlckVsZW1lbnQ/LnNldEF0dHJpYnV0ZSgnYXJpYS1hY3RpdmVkZXNjZW5kYW50JywgdGhpcy5hY3RpdmVPcHRpb24uaWQpO1xuICAgIHRoaXMuYWN0aXZlT3B0aW9uLnNjcm9sbEludG9WaWV3KHsgYmxvY2s6ICduZWFyZXN0JyB9KTtcblxuICAgIC8vIE1vdmluZyB0aGUgYWN0aXZlIG9wdGlvbiBzaG91bGQgbm90IG1vdmUgdGhlIGlucHV0IGN1cnNvciAoY2FyZXQpXG4gICAgaWYgKGV2ZW50KSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cblxuICAgIC8vIElmICdhdXRvU2VsZWN0QWN0aXZlT3B0aW9uJyBhbmQgaXMgdHJpZ2dlcmVkIGZyb20gYSBrZXlib2FyZCBldmVudFxuICAgIGlmICh0aGlzLmF1dG9TZWxlY3RBY3RpdmVPcHRpb24gJiYgZXZlbnQpIHtcbiAgICAgIHRoaXMuc2V0UGVuZGluZ1NlbGVjdGlvbih0aGlzLmFjdGl2ZU9wdGlvbik7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfc2V0TmV4dEhvcml6b250YWxBY3RpdmVFbGVtZW50KGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmFjdGl2ZU9wdGlvbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGVsZW1lbnRzSW5Sb3cgPSBBcnJheS5mcm9tKFxuICAgICAgdGhpcy5hY3RpdmVPcHRpb25cbiAgICAgICAgPy5jbG9zZXN0KCdzYmItYXV0b2NvbXBsZXRlLWdyaWQtcm93JylcbiAgICAgICAgPy5xdWVyeVNlbGVjdG9yQWxsPFxuICAgICAgICAgIFNiYkF1dG9jb21wbGV0ZUdyaWRPcHRpb25FbGVtZW50PFQ+IHwgU2JiQXV0b2NvbXBsZXRlR3JpZEJ1dHRvbkVsZW1lbnRcbiAgICAgICAgPignc2JiLWF1dG9jb21wbGV0ZS1ncmlkLW9wdGlvbiwgc2JiLWF1dG9jb21wbGV0ZS1ncmlkLWJ1dHRvbicpID8/IFtdLFxuICAgICk/LmZpbHRlcigoZWwpID0+ICFlbC5tYXRjaGVzKCc6c3RhdGUoZGlzYWJsZWQpJykpO1xuXG4gICAgaWYgKCFlbGVtZW50c0luUm93Lmxlbmd0aCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG5leHQ6IG51bWJlciA9IGdldE5leHRFbGVtZW50SW5kZXgoZXZlbnQsIHRoaXMuX2FjdGl2ZUNvbHVtbkluZGV4LCBlbGVtZW50c0luUm93Lmxlbmd0aCk7XG4gICAgY29uc3QgbmV4dEVsZW1lbnQ6IFNiYkF1dG9jb21wbGV0ZUdyaWRPcHRpb25FbGVtZW50PFQ+IHwgU2JiQXV0b2NvbXBsZXRlR3JpZEJ1dHRvbkVsZW1lbnQgPVxuICAgICAgZWxlbWVudHNJblJvd1tuZXh0XTtcbiAgICBpZiAobmV4dEVsZW1lbnQgaW5zdGFuY2VvZiBTYmJBdXRvY29tcGxldGVHcmlkT3B0aW9uRWxlbWVudCkge1xuICAgICAgbmV4dEVsZW1lbnQuc2V0QWN0aXZlKHRydWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICDJtXN0YXRlQ29udHJvbGxlcihuZXh0RWxlbWVudCkuYWRkKCdmb2N1cy12aXNpYmxlJyk7XG4gICAgfVxuXG4gICAgY29uc3QgbGFzdEFjdGl2ZUVsZW1lbnQgPSBlbGVtZW50c0luUm93W3RoaXMuX2FjdGl2ZUNvbHVtbkluZGV4XTtcbiAgICBpZiAobGFzdEFjdGl2ZUVsZW1lbnQgaW5zdGFuY2VvZiBTYmJBdXRvY29tcGxldGVHcmlkT3B0aW9uRWxlbWVudCkge1xuICAgICAgbGFzdEFjdGl2ZUVsZW1lbnQuc2V0QWN0aXZlKGZhbHNlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgybVzdGF0ZUNvbnRyb2xsZXIobGFzdEFjdGl2ZUVsZW1lbnQpLmRlbGV0ZSgnZm9jdXMtdmlzaWJsZScpO1xuICAgIH1cbiAgICB0aGlzLnRyaWdnZXJFbGVtZW50Py5zZXRBdHRyaWJ1dGUoJ2FyaWEtYWN0aXZlZGVzY2VuZGFudCcsIG5leHRFbGVtZW50LmlkKTtcbiAgICBuZXh0RWxlbWVudC5zY3JvbGxJbnRvVmlldyh7IGJsb2NrOiAnbmVhcmVzdCcgfSk7XG4gICAgdGhpcy5fYWN0aXZlQ29sdW1uSW5kZXggPSBuZXh0O1xuICB9XG5cbiAgcHJvdGVjdGVkIHJlc2V0QWN0aXZlRWxlbWVudCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fYWN0aXZlQ29sdW1uSW5kZXggIT09IDApIHtcbiAgICAgIHRoaXMuYWN0aXZlT3B0aW9uXG4gICAgICAgID8uY2xvc2VzdCgnc2JiLWF1dG9jb21wbGV0ZS1ncmlkLXJvdycpXG4gICAgICAgID8ucXVlcnlTZWxlY3RvckFsbCgnc2JiLWF1dG9jb21wbGV0ZS1ncmlkLWJ1dHRvbicpXG4gICAgICAgIC5mb3JFYWNoKChlKSA9PiDJtXN0YXRlQ29udHJvbGxlcihlKS5kZWxldGUoJ2ZvY3VzLXZpc2libGUnKSk7XG4gICAgfVxuICAgIHRoaXMuYWN0aXZlT3B0aW9uPy5zZXRBY3RpdmUoZmFsc2UpO1xuICAgIHRoaXMuYWN0aXZlT3B0aW9uID0gbnVsbDtcbiAgICB0aGlzLl9hY3RpdmVDb2x1bW5JbmRleCA9IDA7XG4gICAgdGhpcy50cmlnZ2VyRWxlbWVudD8ucmVtb3ZlQXR0cmlidXRlKCdhcmlhLWFjdGl2ZWRlc2NlbmRhbnQnKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZXRUcmlnZ2VyQXR0cmlidXRlcyhlbGVtZW50OiBIVE1MSW5wdXRFbGVtZW50KTogdm9pZCB7XG4gICAgc2V0QXJpYUNvbWJvQm94QXR0cmlidXRlcyhlbGVtZW50LCBhcmlhUm9sZU9uSG9zdCA/IHRoaXMuaWQgOiB0aGlzLm92ZXJsYXlJZCwgZmFsc2UsICdncmlkJyk7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1hdXRvY29tcGxldGUtZ3JpZCc6IFNiYkF1dG9jb21wbGV0ZUdyaWRFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOlsiybVzdGF0ZUNvbnRyb2xsZXIiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBWUEsSUFBSSxTQUFTO0FBTWIsTUFBTSxpQkFBaUI7SUFjakIsOEJBQTBCLE1BQUE7OzBCQUQvQixjQUFjLHVCQUF1QixDQUFDOzs7O29CQUNjO0FBQVIsRUFBQSxtQkFBUSxZQUE2QjtBQUFBOztBQUV0RSxXQUFBLFlBQVkseUJBQXlCLEVBQUUsTUFBTTtBQUM3QyxXQUFBLFlBQVk7QUFDZCxXQUFBLHFCQUFxQjtBQUFBLElBZ0svQjtBQUFBLElBOUpFLElBQWMsVUFBTztBQUNuQixhQUFPLE1BQU0sS0FDWCxLQUFLLG1CQUNILDhCQUE4QixLQUMzQixFQUFFO0FBQUEsSUFFWDtBQUFBLElBRVUsZUFBWTtBQUNwQixXQUFLLG1CQUVILDREQUE0RCxFQUFFLFFBQzlELENBQUMsTUFBTyxFQUFFLFdBQVcsS0FBSyxRQUFTO0FBR3JDLFdBQUssbUJBQ0gseUZBQXlGLEVBQ3pGLFFBQVEsQ0FBQyxZQUFZQSxpQkFBaUIsT0FBTyxFQUFFLE9BQU8sWUFBWSxLQUFLLFFBQVEsQ0FBQztBQUFBLElBQ3BGO0FBQUEsSUFFVSwrQkFBK0IsT0FBb0I7QUFDM0QsVUFBSSxDQUFDLEtBQUssUUFBUTtBQUNoQjtBQUFBLE1BQ0Y7QUFDQSxjQUFRLE1BQU0sS0FBQTtBQUFBLFFBQ1osS0FBSztBQUNILGVBQUssaUJB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
@@ -0,0 +1,31 @@
1
+ import { SbbActionBaseElement } from '@sbb-esta/lyne-elements/core/base-elements.js';
2
+ import { CSSResultGroup, PropertyValues, TemplateResult } from 'lit';
3
+ import { SbbAutocompleteGridOptgroupElement } from '../autocomplete-grid-optgroup.ts';
4
+ import { SbbAutocompleteGridOptionElement } from '../autocomplete-grid-option.ts';
5
+ declare const SbbAutocompleteGridButtonElement_base: import('@sbb-esta/lyne-elements/core/mixins.js').AbstractConstructor<import('@sbb-esta/lyne-elements/core/mixins.js').SbbDisabledMixinType> & import('@sbb-esta/lyne-elements/core/mixins.js').AbstractConstructor<import('@sbb-esta/lyne-elements/core/mixins.js').SbbNegativeMixinType> & import('@sbb-esta/lyne-elements/core/mixins.js').AbstractConstructor<import('@sbb-esta/lyne-elements/icon.js').SbbIconNameMixinType> & typeof SbbActionBaseElement;
6
+ /**
7
+ * It displays an icon-only button that can be used in `sbb-autocomplete-grid`.
8
+ *
9
+ * @slot icon - Slot used to display the icon, if one is set
10
+ */
11
+ export declare class SbbAutocompleteGridButtonElement extends SbbAutocompleteGridButtonElement_base {
12
+ static readonly role = "button";
13
+ static styles: CSSResultGroup;
14
+ /** Gets the SbbAutocompleteGridOptionElement on the same row of the button. */
15
+ get option(): SbbAutocompleteGridOptionElement | null;
16
+ get optgroup(): SbbAutocompleteGridOptgroupElement | null;
17
+ constructor();
18
+ protected isDisabledExternally(): boolean;
19
+ protected renderTemplate(): TemplateResult;
20
+ connectedCallback(): void;
21
+ protected willUpdate(changedProperties: PropertyValues<this>): void;
22
+ private _updateInternals;
23
+ private _handleButtonClick;
24
+ }
25
+ declare global {
26
+ interface HTMLElementTagNameMap {
27
+ 'sbb-autocomplete-grid-button': SbbAutocompleteGridButtonElement;
28
+ }
29
+ }
30
+ export {};
31
+ //# sourceMappingURL=autocomplete-grid-button.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"autocomplete-grid-button.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements-experimental/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,+CAA+C,CAAC;AAOrF,OAAO,EAAE,KAAK,cAAc,EAAY,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAG9F,OAAO,KAAK,EAAE,kCAAkC,EAAE,MAAM,kCAAkC,CAAC;AAC3F,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,gCAAgC,CAAC;;AAIvF;;;;GAIG;AACH,qBAKM,gCAAiC,SAAQ,qCAE9C;IACC,gBAAgC,IAAI,YAAY;IAChD,OAAuB,MAAM,EAAE,cAAc,CAAsC;IAEnF,+EAA+E;IAC/E,IAAW,MAAM,IAAI,gCAAgC,GAAG,IAAI,CAK3D;IAED,IAAW,QAAQ,IAAI,kCAAkC,GAAG,IAAI,CAE/D;;cAoBkB,oBAAoB,IAAI,OAAO;cAI/B,cAAc,IAAI,cAAc;IAInC,iBAAiB,IAAI,IAAI;cAKtB,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAO5E,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,kBAAkB,CAIxB;CACH;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,8BAA8B,EAAE,gCAAgC,CAAC;KAClE;CACF"}
@@ -0,0 +1,82 @@
1
+ import { __esDecorate, __runInitializers } from "tslib";
2
+ import { miniButtonStyle } from "@sbb-esta/lyne-elements/button/common.js";
3
+ import { SbbActionBaseElement } from "@sbb-esta/lyne-elements/core/base-elements.js";
4
+ import { SbbPropertyWatcherController } from "@sbb-esta/lyne-elements/core/controllers.js";
5
+ import { hostAttributes } from "@sbb-esta/lyne-elements/core/decorators.js";
6
+ import { isEventPrevented } from "@sbb-esta/lyne-elements/core/eventing.js";
7
+ import { SbbDisabledMixin, SbbNegativeMixin } from "@sbb-esta/lyne-elements/core/mixins.js";
8
+ import { boxSizingStyles } from "@sbb-esta/lyne-elements/core/styles.js";
9
+ import { SbbIconNameMixin } from "@sbb-esta/lyne-elements/icon.js";
10
+ import { isServer } from "lit";
11
+ import { customElement } from "lit/decorators.js";
12
+ let autocompleteButtonNextId = 0;
13
+ let SbbAutocompleteGridButtonElement = (() => {
14
+ var _a;
15
+ let _classDecorators = [customElement("sbb-autocomplete-grid-button"), hostAttributes({
16
+ tabindex: null
17
+ })];
18
+ let _classDescriptor;
19
+ let _classExtraInitializers = [];
20
+ let _classThis;
21
+ let _classSuper = SbbDisabledMixin(SbbNegativeMixin(SbbIconNameMixin(SbbActionBaseElement)));
22
+ _a = class extends _classSuper {
23
+ /** Gets the SbbAutocompleteGridOptionElement on the same row of the button. */
24
+ get option() {
25
+ return this.closest("sbb-autocomplete-grid-row")?.querySelector("sbb-autocomplete-grid-option") || null;
26
+ }
27
+ get optgroup() {
28
+ return this.closest("sbb-autocomplete-grid-optgroup");
29
+ }
30
+ constructor() {
31
+ super();
32
+ this._handleButtonClick = async (event) => {
33
+ if (await isEventPrevented(event) || !this.closest("form")) {
34
+ return;
35
+ }
36
+ };
37
+ this.internals.states.add("button");
38
+ if (!isServer) {
39
+ this.setupBaseEventHandlers();
40
+ this.addEventListener("click", this._handleButtonClick);
41
+ this.addController(new SbbPropertyWatcherController(this, () => this.closest("sbb-autocomplete-grid-optgroup"), {
42
+ disabled: () => this._updateInternals()
43
+ }));
44
+ }
45
+ }
46
+ isDisabledExternally() {
47
+ return this.optgroup?.disabled ?? false;
48
+ }
49
+ renderTemplate() {
50
+ return super.renderIconSlot();
51
+ }
52
+ connectedCallback() {
53
+ super.connectedCallback();
54
+ this.id ||= `sbb-autocomplete-grid-button-${++autocompleteButtonNextId}`;
55
+ }
56
+ willUpdate(changedProperties) {
57
+ super.willUpdate(changedProperties);
58
+ if (changedProperties.has("disabled")) {
59
+ this._updateInternals();
60
+ }
61
+ }
62
+ _updateInternals() {
63
+ if (this.disabled || this.optgroup?.disabled) {
64
+ this.internals.states.add("disabled");
65
+ this.internals.ariaDisabled = "true";
66
+ } else {
67
+ this.internals.states.delete("disabled");
68
+ this.internals.ariaDisabled = null;
69
+ }
70
+ }
71
+ }, _classThis = _a, (() => {
72
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
73
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
74
+ _classThis = _classDescriptor.value;
75
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
76
+ })(), _a.role = "button", _a.styles = [boxSizingStyles, miniButtonStyle], __runInitializers(_classThis, _classExtraInitializers), _a;
77
+ return _classThis;
78
+ })();
79
+ export {
80
+ SbbAutocompleteGridButtonElement
81
+ };
82
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLWdyaWQtYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzLWV4cGVyaW1lbnRhbC9hdXRvY29tcGxldGUtZ3JpZC9hdXRvY29tcGxldGUtZ3JpZC1idXR0b24vYXV0b2NvbXBsZXRlLWdyaWQtYnV0dG9uLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBtaW5pQnV0dG9uU3R5bGUgfSBmcm9tICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9idXR0b24vY29tbW9uLmpzJztcbmltcG9ydCB7IFNiYkFjdGlvbkJhc2VFbGVtZW50IH0gZnJvbSAnQHNiYi1lc3RhL2x5bmUtZWxlbWVudHMvY29yZS9iYXNlLWVsZW1lbnRzLmpzJztcbmltcG9ydCB7IFNiYlByb3BlcnR5V2F0Y2hlckNvbnRyb2xsZXIgfSBmcm9tICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9jb3JlL2NvbnRyb2xsZXJzLmpzJztcbmltcG9ydCB7IGhvc3RBdHRyaWJ1dGVzIH0gZnJvbSAnQHNiYi1lc3RhL2x5bmUtZWxlbWVudHMvY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGlzRXZlbnRQcmV2ZW50ZWQgfSBmcm9tICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9jb3JlL2V2ZW50aW5nLmpzJztcbmltcG9ydCB7IFNiYkRpc2FibGVkTWl4aW4sIFNiYk5lZ2F0aXZlTWl4aW4gfSBmcm9tICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9jb3JlL21peGlucy5qcyc7XG5pbXBvcnQgeyBib3hTaXppbmdTdHlsZXMgfSBmcm9tICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9jb3JlL3N0eWxlcy5qcyc7XG5pbXBvcnQgeyBTYmJJY29uTmFtZU1peGluIH0gZnJvbSAnQHNiYi1lc3RhL2x5bmUtZWxlbWVudHMvaWNvbi5qcyc7XG5pbXBvcnQgeyB0eXBlIENTU1Jlc3VsdEdyb3VwLCBpc1NlcnZlciwgdHlwZSBQcm9wZXJ0eVZhbHVlcywgdHlwZSBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgdHlwZSB7IFNiYkF1dG9jb21wbGV0ZUdyaWRPcHRncm91cEVsZW1lbnQgfSBmcm9tICcuLi9hdXRvY29tcGxldGUtZ3JpZC1vcHRncm91cC50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYkF1dG9jb21wbGV0ZUdyaWRPcHRpb25FbGVtZW50IH0gZnJvbSAnLi4vYXV0b2NvbXBsZXRlLWdyaWQtb3B0aW9uLnRzJztcblxubGV0IGF1dG9jb21wbGV0ZUJ1dHRvbk5leHRJZCA9IDA7XG5cbi8qKlxuICogSXQgZGlzcGxheXMgYW4gaWNvbi1vbmx5IGJ1dHRvbiB0aGF0IGNhbiBiZSB1c2VkIGluIGBzYmItYXV0b2NvbXBsZXRlLWdyaWRgLlxuICpcbiAqIEBzbG90IGljb24gLSBTbG90IHVzZWQgdG8gZGlzcGxheSB0aGUgaWNvbiwgaWYgb25lIGlzIHNldFxuICovXG5leHBvcnRcbkBjdXN0b21FbGVtZW50KCdzYmItYXV0b2NvbXBsZXRlLWdyaWQtYnV0dG9uJylcbkBob3N0QXR0cmlidXRlcyh7XG4gIHRhYmluZGV4OiBudWxsLFxufSlcbmNsYXNzIFNiYkF1dG9jb21wbGV0ZUdyaWRCdXR0b25FbGVtZW50IGV4dGVuZHMgU2JiRGlzYWJsZWRNaXhpbihcbiAgU2JiTmVnYXRpdmVNaXhpbihTYmJJY29uTmFtZU1peGluKFNiYkFjdGlvbkJhc2VFbGVtZW50KSksXG4pIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSByb2xlID0gJ2J1dHRvbic7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IFtib3hTaXppbmdTdHlsZXMsIG1pbmlCdXR0b25TdHlsZV07XG5cbiAgLyoqIEdldHMgdGhlIFNiYkF1dG9jb21wbGV0ZUdyaWRPcHRpb25FbGVtZW50IG9uIHRoZSBzYW1lIHJvdyBvZiB0aGUgYnV0dG9uLiAqL1xuICBwdWJsaWMgZ2V0IG9wdGlvbigpOiBTYmJBdXRvY29tcGxldGVHcmlkT3B0aW9uRWxlbWVudCB8IG51bGwge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmNsb3Nlc3QoJ3NiYi1hdXRvY29tcGxldGUtZ3JpZC1yb3cnKT8ucXVlcnlTZWxlY3Rvcignc2JiLWF1dG9jb21wbGV0ZS1ncmlkLW9wdGlvbicpIHx8XG4gICAgICBudWxsXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgb3B0Z3JvdXAoKTogU2JiQXV0b2NvbXBsZXRlR3JpZE9wdGdyb3VwRWxlbWVudCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmNsb3Nlc3QoJ3NiYi1hdXRvY29tcGxldGUtZ3JpZC1vcHRncm91cCcpO1xuICB9XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmFkZCgnYnV0dG9uJyk7XG4gICAgaWYgKCFpc1NlcnZlcikge1xuICAgICAgdGhpcy5zZXR1cEJhc2VFdmVudEhhbmRsZXJzKCk7XG4gICAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5faGFuZGxlQnV0dG9uQ2xpY2spO1xuICAgICAgdGhpcy5hZGRDb250cm9sbGVyKFxuICAgICAgICBuZXcgU2JiUHJvcGVydHlXYXRjaGVyQ29udHJvbGxlcihcbiAgICAgICAgICB0aGlzLFxuICAgICAgICAgICgpID0+IHRoaXMuY2xvc2VzdCgnc2JiLWF1dG9jb21wbGV0ZS1ncmlkLW9wdGdyb3VwJyksXG4gICAgICAgICAge1xuICAgICAgICAgICAgZGlzYWJsZWQ6ICgpID0+IHRoaXMuX3VwZGF0ZUludGVybmFscygpLFxuICAgICAgICAgIH0sXG4gICAgICAgICksXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBpc0Rpc2FibGVkRXh0ZXJuYWxseSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5vcHRncm91cD8uZGlzYWJsZWQgPz8gZmFsc2U7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyVGVtcGxhdGUoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBzdXBlci5yZW5kZXJJY29uU2xvdCgpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5pZCB8fD0gYHNiYi1hdXRvY29tcGxldGUtZ3JpZC1idXR0b24tJHsrK2F1dG9jb21wbGV0ZUJ1dHRvbk5leHRJZH1gO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnZGlzYWJsZWQnKSkge1xuICAgICAgdGhpcy5fdXBkYXRlSW50ZXJuYWxzKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlSW50ZXJuYWxzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRpc2FibGVkIHx8IHRoaXMub3B0Z3JvdXA/LmRpc2FibGVkKSB7XG4gICAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuYWRkKCdkaXNhYmxlZCcpO1xuICAgICAgdGhpcy5pbnRlcm5hbHMuYXJpYURpc2FibGVkID0gJ3RydWUnO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuZGVsZXRlKCdkaXNhYmxlZCcpO1xuICAgICAgdGhpcy5pbnRlcm5hbHMuYXJpYURpc2FibGVkID0gbnVsbDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVCdXR0b25DbGljayA9IGFzeW5jIChldmVudDogTW91c2VFdmVudCk6IFByb21pc2U8dm9pZD4gPT4ge1xuICAgIGlmICgoYXdhaXQgaXNFdmVudFByZXZlbnRlZChldmVudCkpIHx8ICF0aGlzLmNsb3Nlc3QoJ2Zvcm0nKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfTtcbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1hdXRvY29tcGxldGUtZ3JpZC1idXR0b24nOiBTYmJBdXRvY29tcGxldGVHcmlkQnV0dG9uRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBY0EsSUFBSSwyQkFBMkI7SUFZekIsb0NBQWdDLE1BQUE7O0FBSnJDLE1BQUEsbUJBQUEsQ0FBQSxjQUFjLDhCQUE4QixHQUM1QyxlQUFlO0FBQUEsSUFDZCxVQUFVO0FBQUEsRUFBQSxDQUNYLENBQUM7Ozs7b0JBQzZDLGlCQUM3QyxpQkFBaUIsaUJBQWlCLG9CQUFvQixDQUFDLENBQUM7QUFEbkIsRUFBQSxtQkFBUSxZQUU5QztBQUFBO0FBQUEsSUFLQyxJQUFXLFNBQU07QUFDZixhQUNFLEtBQUssUUFBUSwyQkFBMkIsR0FBRyxjQUFjLDhCQUE4QixLQUN2RjtBQUFBLElBRUo7QUFBQSxJQUVBLElBQVcsV0FBUTtBQUNqQixhQUFPLEtBQUssUUFBUSxnQ0FBZ0M7QUFBQSxJQUN0RDtBQUFBLElBRUEsY0FBQTtBQUNFLFlBQUE7QUErQ00sV0FBQSxxQkFBcUIsT0FBTyxVQUFvQztBQUN0RSxZQUFLLE1BQU0saUJBQWlCLEtBQUssS0FBTSxDQUFDLEtBQUssUUFBUSxNQUFNLEdBQUc7QUFDNUQ7QUFBQSxRQUNGO0FBQUEsTUFDRjtBQWxERSxXQUFLLFVBQVUsT0FBTyxJQUFJLFFBQVE7QUFDbEMsVUFBSSxDQUFDLFVBQVU7QUFDYixhQUFLLHVCQUFBO0FBQ0wsYUFBSyxpQkFBaUIsU0FBUyxLQUFLLGtCQUFrQjtBQUN0RCxhQUFLLGNBQ0gsSUFBSSw2QkFDRixNQUNBLE1BQU0sS0FBSyxRQUFRLGdDQUFnQyxHQUNuRDtBQUFBLFVBQ0UsVUFBVSxNQUFNLEtBQUssaUJBQUE7QUFBQSxRQUFnQixDQUN0QyxDQUNGO0FBQUEsTUFFTDtBQUFBLElBQ0Y7QUFBQSxJQUVtQix1QkFBb0I7QUFDckMsYUFBTyxLQUFLLFVBQVUsWUFBWTtBQUFBLElBQ3BDO0FBQUEsSUFFbUIsaUJBQWM7QUFDL0IsYUFBTyxNQUFNLGVBQUE7QUFBQSxJQUNmO0FBQUEsSUFFZ0Isb0JBQWlCO0FBQy9CLFlBQU0sa0JBQUE7QUFDTixXQUFLLE9BQU8sZ0NBQWdDLEVBQUUsd0JBQXdCO0FBQUEsSUFDeEU7QUFBQSxJQUVtQixXQUFXLG1CQUF1QztBQUNuRSxZQUFNLFdBQVcsaUJBQWlCO0FBQ2xDLFVBQUksa0JBQWtCLElBQUksVUFBVSxHQUFHO0FBQ3JDLGFBQUssaUJBQUE7QUFBQSxNQUNQO0FBQUEsSUFDRjtBQUFBLElBRVEsbUJBQWdCO0FBQ3RCLFVBQUksS0FBSyxZQUFZLEtBQUssVUFBVSxVQUFVO0FBQzVDLGFBQUssVUFBVSxPQUFPLElBQUksVUFBVTtBQUNwQyxhQUFLLFVBQVUsZUFBZTtBQUFBLE1BQ2hDLE9BQU87QUFDTCxhQUFLLFVBQVUsT0FBTyxPQUFPLFVBQVU7QUFDdkMsYUFBSyxVQUFVLGVBQWU7QUFBQSxNQUNoQztBQUFBLElBQ0Y7QUFBQTs7QUFoRUYsaUJBQUEsTUFBQSxtQkFBQSxFQUFBLE9BQUEsV0FBQSxHQUFBLGtCQUFBLEVBQUEsTUFBQSxTQUFBLE1BQUEsV0FBQSxNQUFBLFVBQUEsVUFBQSxHQUFBLE1BQUEsdUJBQUE7OztRQUdrQyxHQUFBLE9BQU8sVUFDaEIsR0FBQSxTQUF5QixDQUFDLGlCQUFpQixlQUFlLEdBSjdFLGtCQUFBLFlBQUEsdUJBQUEsR0FBaUM7OzsifQ==
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @entrypoint
3
+ */
4
+ export * from './autocomplete-grid-button/autocomplete-grid-button.component.ts';
5
+ //# sourceMappingURL=autocomplete-grid-button.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"autocomplete-grid-button.d.ts","sourceRoot":"","sources":["../../../../src/elements-experimental/autocomplete-grid/autocomplete-grid-button.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,kEAAkE,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { SbbAutocompleteGridButtonElement } from "./autocomplete-grid-button/autocomplete-grid-button.component.js";
2
+ export {
3
+ SbbAutocompleteGridButtonElement
4
+ };
5
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLWdyaWQtYnV0dG9uLmpzIiwic291cmNlcyI6W10sInNvdXJjZXNDb250ZW50IjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjsifQ==
@@ -0,0 +1,19 @@
1
+ import { CSSResultGroup, LitElement, TemplateResult } from 'lit';
2
+ declare const SbbAutocompleteGridCellElement_base: import('@sbb-esta/lyne-elements/core/mixins.js').AbstractConstructor<import('@sbb-esta/lyne-elements/core/mixins.js').SbbElementInternalsMixinType> & typeof LitElement & import('@sbb-esta/lyne-elements/core/mixins.js').SbbElementInternalsConstructor;
3
+ /**
4
+ * A wrapper component for autocomplete-grid action button.
5
+ *
6
+ * @slot - Use the unnamed slot to add a `sbb-autocomplete-grid-button` element.
7
+ */
8
+ export declare class SbbAutocompleteGridCellElement extends SbbAutocompleteGridCellElement_base {
9
+ static readonly role = "gridcell";
10
+ static styles: CSSResultGroup;
11
+ protected render(): TemplateResult;
12
+ }
13
+ declare global {
14
+ interface HTMLElementTagNameMap {
15
+ 'sbb-autocomplete-grid-cell': SbbAutocompleteGridCellElement;
16
+ }
17
+ }
18
+ export {};
19
+ //# sourceMappingURL=autocomplete-grid-cell.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"autocomplete-grid-cell.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements-experimental/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,cAAc,EAAQ,UAAU,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;;AAKjF;;;;GAIG;AACH,qBAEM,8BAA+B,SAAQ,mCAAoC;IAC/E,gBAAgC,IAAI,cAAc;IAClD,OAAuB,MAAM,EAAE,cAAc,CAA4B;cAEtD,MAAM,IAAI,cAAc;CAO5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,4BAA4B,EAAE,8BAA8B,CAAC;KAC9D;CACF"}
@@ -0,0 +1,40 @@
1
+ import { __esDecorate, __runInitializers } from "tslib";
2
+ import { SbbElementInternalsMixin } from "@sbb-esta/lyne-elements/core/mixins.js";
3
+ import { boxSizingStyles } from "@sbb-esta/lyne-elements/core/styles.js";
4
+ import { css, LitElement, html } from "lit";
5
+ import { customElement } from "lit/decorators.js";
6
+ const style = css`:host {
7
+ display: block;
8
+ }
9
+
10
+ .sbb-autocomplete-grid-cell {
11
+ display: flex;
12
+ column-gap: var(--sbb-spacing-fixed-6x);
13
+ }`;
14
+ let SbbAutocompleteGridCellElement = (() => {
15
+ var _a;
16
+ let _classDecorators = [customElement("sbb-autocomplete-grid-cell")];
17
+ let _classDescriptor;
18
+ let _classExtraInitializers = [];
19
+ let _classThis;
20
+ let _classSuper = SbbElementInternalsMixin(LitElement);
21
+ _a = class extends _classSuper {
22
+ render() {
23
+ return html`
24
+ <span class="sbb-autocomplete-grid-cell">
25
+ <slot></slot>
26
+ </span>
27
+ `;
28
+ }
29
+ }, _classThis = _a, (() => {
30
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
31
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
32
+ _classThis = _classDescriptor.value;
33
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
34
+ })(), _a.role = "gridcell", _a.styles = [boxSizingStyles, style], __runInitializers(_classThis, _classExtraInitializers), _a;
35
+ return _classThis;
36
+ })();
37
+ export {
38
+ SbbAutocompleteGridCellElement
39
+ };
40
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLWdyaWQtY2VsbC5jb21wb25lbnQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy1leHBlcmltZW50YWwvYXV0b2NvbXBsZXRlLWdyaWQvYXV0b2NvbXBsZXRlLWdyaWQtY2VsbC9hdXRvY29tcGxldGUtZ3JpZC1jZWxsLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW4gfSBmcm9tICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9jb3JlL21peGlucy5qcyc7XG5pbXBvcnQgeyBib3hTaXppbmdTdHlsZXMgfSBmcm9tICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9jb3JlL3N0eWxlcy5qcyc7XG5pbXBvcnQgeyB0eXBlIENTU1Jlc3VsdEdyb3VwLCBodG1sLCBMaXRFbGVtZW50LCB0eXBlIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL2F1dG9jb21wbGV0ZS1ncmlkLWNlbGwuc2Nzcz9saXQmaW5saW5lJztcblxuLyoqXG4gKiBBIHdyYXBwZXIgY29tcG9uZW50IGZvciBhdXRvY29tcGxldGUtZ3JpZCBhY3Rpb24gYnV0dG9uLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGEgYHNiYi1hdXRvY29tcGxldGUtZ3JpZC1idXR0b25gIGVsZW1lbnQuXG4gKi9cbmV4cG9ydFxuQGN1c3RvbUVsZW1lbnQoJ3NiYi1hdXRvY29tcGxldGUtZ3JpZC1jZWxsJylcbmNsYXNzIFNiYkF1dG9jb21wbGV0ZUdyaWRDZWxsRWxlbWVudCBleHRlbmRzIFNiYkVsZW1lbnRJbnRlcm5hbHNNaXhpbihMaXRFbGVtZW50KSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgcm9sZSA9ICdncmlkY2VsbCc7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IFtib3hTaXppbmdTdHlsZXMsIHN0eWxlXTtcblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxzcGFuIGNsYXNzPVwic2JiLWF1dG9jb21wbGV0ZS1ncmlkLWNlbGxcIj5cbiAgICAgICAgPHNsb3Q+PC9zbG90PlxuICAgICAgPC9zcGFuPlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1hdXRvY29tcGxldGUtZ3JpZC1jZWxsJzogU2JiQXV0b2NvbXBsZXRlR3JpZENlbGxFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztJQWNNLGtDQUE4QixNQUFBOzswQkFEbkMsY0FBYyw0QkFBNEIsQ0FBQzs7OztvQkFDQyx5QkFBeUIsVUFBVTtBQUEzQyxFQUFBLG1CQUFRLFlBQW9DO0FBQUEsSUFJNUQsU0FBTTtBQUN2QixhQUFPO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxJQUtUO0FBQUE7O0FBVkYsaUJBQUEsTUFBQSxtQkFBQSxFQUFBLE9BQUEsV0FBQSxHQUFBLGtCQUFBLEVBQUEsTUFBQSxTQUFBLE1BQUEsV0FBQSxNQUFBLFVBQUEsVUFBQSxHQUFBLE1BQUEsdUJBQUE7OztRQUNrQyxHQUFBLE9BQU8sWUFDaEIsR0FBQSxTQUF5QixDQUFDLGlCQUFpQixLQUFLLEdBRm5FLGtCQUFBLFlBQUEsdUJBQUEsR0FBK0I7OzsifQ==
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @entrypoint
3
+ */
4
+ export * from './autocomplete-grid-cell/autocomplete-grid-cell.component.ts';
5
+ //# sourceMappingURL=autocomplete-grid-cell.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"autocomplete-grid-cell.d.ts","sourceRoot":"","sources":["../../../../src/elements-experimental/autocomplete-grid/autocomplete-grid-cell.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,8DAA8D,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { SbbAutocompleteGridCellElement } from "./autocomplete-grid-cell/autocomplete-grid-cell.component.js";
2
+ export {
3
+ SbbAutocompleteGridCellElement
4
+ };
5
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLWdyaWQtY2VsbC5qcyIsInNvdXJjZXMiOltdLCJzb3VyY2VzQ29udGVudCI6W10sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7In0=
@@ -0,0 +1,19 @@
1
+ import { SbbAutocompleteBaseElement } from '@sbb-esta/lyne-elements/autocomplete.js';
2
+ import { SbbOptgroupBaseElement } from '@sbb-esta/lyne-elements/option/optgroup.js';
3
+ import { SbbAutocompleteGridOptionElement } from '../autocomplete-grid-option.ts';
4
+ /**
5
+ * It can be used as a container for one or more `sbb-autocomplete-grid-option`.
6
+ *
7
+ * @slot - Use the unnamed slot to add `sbb-autocomplete-grid-option` elements to the `sbb-autocomplete-grid-optgroup`.
8
+ */
9
+ export declare class SbbAutocompleteGridOptgroupElement extends SbbOptgroupBaseElement {
10
+ protected get options(): SbbAutocompleteGridOptionElement[];
11
+ constructor();
12
+ protected getAutocompleteParent(): SbbAutocompleteBaseElement | null;
13
+ }
14
+ declare global {
15
+ interface HTMLElementTagNameMap {
16
+ 'sbb-autocomplete-grid-optgroup': SbbAutocompleteGridOptgroupElement;
17
+ }
18
+ }
19
+ //# sourceMappingURL=autocomplete-grid-optgroup.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"autocomplete-grid-optgroup.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements-experimental/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AAE1F,OAAO,EAAE,sBAAsB,EAAE,MAAM,4CAA4C,CAAC;AAGpF,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,gCAAgC,CAAC;AAEvF;;;;GAIG;AACH,qBAEM,kCAAmC,SAAQ,sBAAsB;IACrE,SAAS,KAAK,OAAO,IAAI,gCAAgC,EAAE,CAI1D;;IAiBD,SAAS,CAAC,qBAAqB,IAAI,0BAA0B,GAAG,IAAI;CAGrE;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,gCAAgC,EAAE,kCAAkC,CAAC;KACtE;CACF"}
@@ -0,0 +1,40 @@
1
+ import { __esDecorate, __runInitializers } from "tslib";
2
+ import { SbbPropertyWatcherController } from "@sbb-esta/lyne-elements/core/controllers.js";
3
+ import { SbbOptgroupBaseElement } from "@sbb-esta/lyne-elements/option/optgroup.js";
4
+ import { customElement } from "lit/decorators.js";
5
+ let SbbAutocompleteGridOptgroupElement = (() => {
6
+ var _a;
7
+ let _classDecorators = [customElement("sbb-autocomplete-grid-optgroup")];
8
+ let _classDescriptor;
9
+ let _classExtraInitializers = [];
10
+ let _classThis;
11
+ let _classSuper = SbbOptgroupBaseElement;
12
+ _a = class extends _classSuper {
13
+ get options() {
14
+ return Array.from(this.querySelectorAll?.("sbb-autocomplete-grid-option") ?? []);
15
+ }
16
+ constructor() {
17
+ super();
18
+ this.addController(new SbbPropertyWatcherController(this, () => this.closest("sbb-autocomplete-grid"), {
19
+ negative: (e) => {
20
+ this.toggleState("negative", e.negative);
21
+ this.requestUpdate();
22
+ }
23
+ }));
24
+ }
25
+ getAutocompleteParent() {
26
+ return this.closest?.("sbb-autocomplete-grid") || null;
27
+ }
28
+ }, _classThis = _a, (() => {
29
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
30
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
31
+ _classThis = _classDescriptor.value;
32
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
33
+ __runInitializers(_classThis, _classExtraInitializers);
34
+ })(), _a;
35
+ return _classThis;
36
+ })();
37
+ export {
38
+ SbbAutocompleteGridOptgroupElement
39
+ };
40
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLWdyaWQtb3B0Z3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMtZXhwZXJpbWVudGFsL2F1dG9jb21wbGV0ZS1ncmlkL2F1dG9jb21wbGV0ZS1ncmlkLW9wdGdyb3VwL2F1dG9jb21wbGV0ZS1ncmlkLW9wdGdyb3VwLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFNiYkF1dG9jb21wbGV0ZUJhc2VFbGVtZW50IH0gZnJvbSAnQHNiYi1lc3RhL2x5bmUtZWxlbWVudHMvYXV0b2NvbXBsZXRlLmpzJztcbmltcG9ydCB7IFNiYlByb3BlcnR5V2F0Y2hlckNvbnRyb2xsZXIgfSBmcm9tICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9jb3JlL2NvbnRyb2xsZXJzLmpzJztcbmltcG9ydCB7IFNiYk9wdGdyb3VwQmFzZUVsZW1lbnQgfSBmcm9tICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9vcHRpb24vb3B0Z3JvdXAuanMnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHR5cGUgeyBTYmJBdXRvY29tcGxldGVHcmlkT3B0aW9uRWxlbWVudCB9IGZyb20gJy4uL2F1dG9jb21wbGV0ZS1ncmlkLW9wdGlvbi50cyc7XG5cbi8qKlxuICogSXQgY2FuIGJlIHVzZWQgYXMgYSBjb250YWluZXIgZm9yIG9uZSBvciBtb3JlIGBzYmItYXV0b2NvbXBsZXRlLWdyaWQtb3B0aW9uYC5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBgc2JiLWF1dG9jb21wbGV0ZS1ncmlkLW9wdGlvbmAgZWxlbWVudHMgdG8gdGhlIGBzYmItYXV0b2NvbXBsZXRlLWdyaWQtb3B0Z3JvdXBgLlxuICovXG5leHBvcnRcbkBjdXN0b21FbGVtZW50KCdzYmItYXV0b2NvbXBsZXRlLWdyaWQtb3B0Z3JvdXAnKVxuY2xhc3MgU2JiQXV0b2NvbXBsZXRlR3JpZE9wdGdyb3VwRWxlbWVudCBleHRlbmRzIFNiYk9wdGdyb3VwQmFzZUVsZW1lbnQge1xuICBwcm90ZWN0ZWQgZ2V0IG9wdGlvbnMoKTogU2JiQXV0b2NvbXBsZXRlR3JpZE9wdGlvbkVsZW1lbnRbXSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20oXG4gICAgICB0aGlzLnF1ZXJ5U2VsZWN0b3JBbGw/Lignc2JiLWF1dG9jb21wbGV0ZS1ncmlkLW9wdGlvbicpID8/IFtdLFxuICAgICkgYXMgU2JiQXV0b2NvbXBsZXRlR3JpZE9wdGlvbkVsZW1lbnRbXTtcbiAgfVxuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuXG4gICAgdGhpcy5hZGRDb250cm9sbGVyKFxuICAgICAgbmV3IFNiYlByb3BlcnR5V2F0Y2hlckNvbnRyb2xsZXIodGhpcywgKCkgPT4gdGhpcy5jbG9zZXN0KCdzYmItYXV0b2NvbXBsZXRlLWdyaWQnKSwge1xuICAgICAgICBuZWdhdGl2ZTogKGUpID0+IHtcbiAgICAgICAgICB0aGlzLnRvZ2dsZVN0YXRlKCduZWdhdGl2ZScsIGUubmVnYXRpdmUpO1xuXG4gICAgICAgICAgLy8gVG8gdXBkYXRlIHRoZSBzYmItZGl2aWRlciB3ZSBuZWVkIGEgcmVxdWVzdFVwZGF0ZSgpIGhlcmVcbiAgICAgICAgICB0aGlzLnJlcXVlc3RVcGRhdGUoKTtcbiAgICAgICAgfSxcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0QXV0b2NvbXBsZXRlUGFyZW50KCk6IFNiYkF1dG9jb21wbGV0ZUJhc2VFbGVtZW50IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuY2xvc2VzdD8uPFNiYkF1dG9jb21wbGV0ZUJhc2VFbGVtZW50Pignc2JiLWF1dG9jb21wbGV0ZS1ncmlkJykgfHwgbnVsbDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWF1dG9jb21wbGV0ZS1ncmlkLW9wdGdyb3VwJzogU2JiQXV0b2NvbXBsZXRlR3JpZE9wdGdyb3VwRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7SUFjTSxzQ0FBa0MsTUFBQTs7MEJBRHZDLGNBQWMsZ0NBQWdDLENBQUM7Ozs7b0JBQ0M7QUFBUixFQUFBLG1CQUFRLFlBQXNCO0FBQUEsSUFDckUsSUFBYyxVQUFPO0FBQ25CLGFBQU8sTUFBTSxLQUNYLEtBQUssbUJBQW1CLDhCQUE4QixLQUFLLEVBQUU7QUFBQSxJQUVqRTtBQUFBLElBRUEsY0FBQTtBQUNFLFlBQUE7QUFFQSxXQUFLLGNBQ0gsSUFBSSw2QkFBNkIsTUFBTSxNQUFNLEtBQUssUUFBUSx1QkFBdUIsR0FBRztBQUFBLFFBQ2xGLFVBQVUsQ0FBQyxNQUFLO0FBQ2QsZUFBSyxZQUFZLFlBQVksRUFBRSxRQUFRO0FBR3ZDLGVBQUssY0FBQTtBQUFBLFFBQ1A7QUFBQSxNQUFBLENBQ0QsQ0FBQztBQUFBLElBRU47QUFBQSxJQUVVLHdCQUFxQjtBQUM3QixhQUFPLEtBQUssVUFBc0MsdUJBQXVCLEtBQUs7QUFBQSxJQUNoRjtBQUFBLEVBQUE7O0FBeEJGLGlCQUFBLE1BQUEsbUJBQUEsRUFBQSxPQUFBLFdBQUEsR0FBQSxrQkFBQSxFQUFBLE1BQUEsU0FBQSxNQUFBLFdBQUEsTUFBQSxVQUFBLFVBQUEsR0FBQSxNQUFBLHVCQUFBOzs7QUFBTSxzQkFBQSxZQUFBLHVCQUFBO0FBQUEsRUFBQSxNQUFtQzs7OyJ9
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @entrypoint
3
+ */
4
+ export * from './autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.ts';
5
+ //# sourceMappingURL=autocomplete-grid-optgroup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"autocomplete-grid-optgroup.d.ts","sourceRoot":"","sources":["../../../../src/elements-experimental/autocomplete-grid/autocomplete-grid-optgroup.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,sEAAsE,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { SbbAutocompleteGridOptgroupElement } from "./autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.js";
2
+ export {
3
+ SbbAutocompleteGridOptgroupElement
4
+ };
5
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLWdyaWQtb3B0Z3JvdXAuanMiLCJzb3VyY2VzIjpbXSwic291cmNlc0NvbnRlbnQiOltdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOyJ9
@@ -0,0 +1,26 @@
1
+ import { SbbOptionBaseElement } from '@sbb-esta/lyne-elements/option.js';
2
+ import { CSSResultGroup, PropertyValues } from 'lit';
3
+ export declare const autocompleteGridOptionId: string;
4
+ /**
5
+ * It displays an option item which can be used in `sbb-autocomplete-grid`.
6
+ *
7
+ * @slot - Use the unnamed slot to add content to the option label.
8
+ * @slot icon - Use this slot to provide an icon. If `icon-name` is set, a sbb-icon will be used.
9
+ * @cssprop [--sbb-option-icon-container-display=none] - Can be used to reserve space even
10
+ * when preserve-icon-space on autocomplete is not set or iconName is not set.
11
+ * @overrideType value - T = string
12
+ */
13
+ export declare class SbbAutocompleteGridOptionElement<T = string> extends SbbOptionBaseElement<T> {
14
+ static readonly role = "gridcell";
15
+ static styles: CSSResultGroup;
16
+ protected optionId: string;
17
+ constructor();
18
+ protected willUpdate(changedProperties: PropertyValues<this>): void;
19
+ protected selectByClick(event: MouseEvent): void;
20
+ }
21
+ declare global {
22
+ interface HTMLElementTagNameMap {
23
+ 'sbb-autocomplete-grid-option': SbbAutocompleteGridOptionElement;
24
+ }
25
+ }
26
+ //# sourceMappingURL=autocomplete-grid-option.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"autocomplete-grid-option.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements-experimental/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAK1D,eAAO,MAAM,wBAAwB,EAAE,MAAuC,CAAC;AAE/E;;;;;;;;GAQG;AACH,qBAEM,gCAAgC,CAAC,CAAC,GAAG,MAAM,CAAE,SAAQ,oBAAoB,CAAC,CAAC,CAAC;IAChF,gBAAgC,IAAI,cAAc;IAClD,OAAuB,MAAM,EAAE,cAAc,CAA4B;IAEzE,SAAS,CAAC,QAAQ,SAA4B;;cAyB3B,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAW5E,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;CAQjD;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,8BAA8B,EAAE,gCAAgC,CAAC;KAClE;CACF"}