@sbb-esta/lyne-elements-dev 4.7.0-dev.1773648082 → 4.7.0-dev.1773648656

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 (1406) hide show
  1. package/accordion/accordion.component.js +2 -98
  2. package/accordion.component-DmaGQH3Q.js +127 -0
  3. package/accordion.js +5 -4
  4. package/accordion.pure.js +2 -4
  5. package/action-group/action-group.component.js +2 -107
  6. package/action-group.component-KWugkMGf.js +158 -0
  7. package/action-group.js +5 -4
  8. package/action-group.pure.js +2 -4
  9. package/alert/alert/alert.component.js +2 -143
  10. package/alert/alert-group/alert-group.component.js +2 -103
  11. package/alert/alert-group.js +4 -7
  12. package/alert/alert.js +4 -7
  13. package/alert-group.component-RV1M1OKy.js +141 -0
  14. package/alert.component-PPR7hfTi.js +165 -0
  15. package/alert.js +6 -8
  16. package/alert.pure.js +3 -6
  17. package/autocomplete/autocomplete-base-element.js +2 -373
  18. package/autocomplete/autocomplete.component.js +51 -50
  19. package/autocomplete-base-element-DVFCZ4lt.js +425 -0
  20. package/autocomplete.js +7 -7
  21. package/autocomplete.pure.js +3 -6
  22. package/block-link-common-D4aizuV-.js +63 -0
  23. package/breadcrumb/breadcrumb/breadcrumb.component.js +2 -20
  24. package/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +2 -135
  25. package/breadcrumb/breadcrumb-group.js +4 -7
  26. package/breadcrumb/breadcrumb.js +4 -7
  27. package/breadcrumb-group.component-BA8KK3Om.js +145 -0
  28. package/breadcrumb.component-DjkZzGJD.js +24 -0
  29. package/breadcrumb.js +6 -8
  30. package/breadcrumb.pure.js +3 -6
  31. package/button/accent-button/accent-button.component.js +18 -14
  32. package/button/accent-button-link/accent-button-link.component.js +18 -14
  33. package/button/accent-button-link.js +4 -4
  34. package/button/accent-button-static/accent-button-static.component.js +17 -13
  35. package/button/accent-button-static.js +4 -4
  36. package/button/accent-button.js +4 -4
  37. package/button/button/button.component.js +18 -14
  38. package/button/button-link/button-link.component.js +18 -14
  39. package/button/button-link.js +4 -4
  40. package/button/button-static/button-static.component.js +18 -14
  41. package/button/button-static.js +4 -4
  42. package/button/button.js +4 -4
  43. package/button/common/button-common.js +81 -67
  44. package/button/common.js +3 -12
  45. package/button/mini-button/mini-button.component.js +22 -18
  46. package/button/mini-button-group/mini-button-group.component.js +2 -68
  47. package/button/mini-button-group.js +6 -6
  48. package/button/mini-button-link/mini-button-link.component.js +2 -27
  49. package/button/mini-button-link.js +6 -6
  50. package/button/mini-button.js +4 -4
  51. package/button/secondary-button/secondary-button.component.js +18 -14
  52. package/button/secondary-button-link/secondary-button-link.component.js +18 -14
  53. package/button/secondary-button-link.js +6 -6
  54. package/button/secondary-button-static/secondary-button-static.component.js +18 -14
  55. package/button/secondary-button-static.js +4 -4
  56. package/button/secondary-button.js +6 -6
  57. package/button/transparent-button/transparent-button.component.js +18 -14
  58. package/button/transparent-button-link/transparent-button-link.component.js +18 -14
  59. package/button/transparent-button-link.js +6 -6
  60. package/button/transparent-button-static/transparent-button-static.component.js +18 -14
  61. package/button/transparent-button-static.js +4 -4
  62. package/button/transparent-button.js +4 -4
  63. package/button.js +20 -56
  64. package/button.pure.js +18 -42
  65. package/calendar/calendar/calendar.component.js +2 -1227
  66. package/calendar/calendar-day/calendar-day.component.js +2 -98
  67. package/calendar/calendar-day.js +4 -7
  68. package/calendar/calendar.js +4 -9
  69. package/calendar-day.component-DqAXvoP3.js +113 -0
  70. package/calendar.component-BgZDy-rX.js +1246 -0
  71. package/calendar.js +6 -10
  72. package/calendar.pure.js +3 -7
  73. package/card/card/card.component.js +2 -48
  74. package/card/card-badge/card-badge.component.js +2 -48
  75. package/card/card-badge.js +4 -7
  76. package/card/card-button/card-button.component.js +11 -10
  77. package/card/card-button.js +3 -6
  78. package/card/card-link/card-link.component.js +11 -10
  79. package/card/card-link.js +3 -6
  80. package/card/card.js +4 -7
  81. package/card/common/card-action-common.js +2 -63
  82. package/card/common.js +5 -6
  83. package/card-action-common-GpkaNYtV.js +88 -0
  84. package/card-badge.component-D_PI9Ega.js +65 -0
  85. package/card.component-Dt2YFmd3.js +62 -0
  86. package/card.js +9 -16
  87. package/card.pure.js +5 -11
  88. package/carousel/carousel/carousel.component.js +2 -88
  89. package/carousel/carousel-item/carousel-item.component.js +2 -18
  90. package/carousel/carousel-item.js +4 -7
  91. package/carousel/carousel-list/carousel-list.component.js +2 -90
  92. package/carousel/carousel-list.js +4 -7
  93. package/carousel/carousel.js +4 -7
  94. package/carousel-item.component-kv3rY8B-.js +25 -0
  95. package/carousel-list.component-DMMk66SP.js +91 -0
  96. package/carousel.component-Bd0iGUbf.js +97 -0
  97. package/carousel.js +7 -11
  98. package/carousel.pure.js +4 -8
  99. package/checkbox/checkbox-group.js +2 -3
  100. package/checkbox/checkbox-panel.js +2 -3
  101. package/checkbox/checkbox.component.js +3 -91
  102. package/checkbox/checkbox.js +5 -7
  103. package/checkbox/common/checkbox-common.js +2 -57
  104. package/checkbox/common.js +5 -7
  105. package/checkbox-common-D9htxWLZ.js +68 -0
  106. package/checkbox-group/checkbox-group.component.js +2 -101
  107. package/checkbox-group.component-CNAwwaS0.js +146 -0
  108. package/checkbox-group.js +5 -4
  109. package/checkbox-group.pure.js +2 -4
  110. package/checkbox-panel/checkbox-panel.component.js +63 -48
  111. package/checkbox-panel.js +4 -3
  112. package/checkbox-panel.pure.js +2 -4
  113. package/checkbox.component-CJcC5JnN.js +125 -0
  114. package/checkbox.js +10 -14
  115. package/checkbox.pure.js +3 -7
  116. package/chip/chip/chip.component.js +2 -73
  117. package/chip/chip-group/chip-group.component.js +2 -267
  118. package/chip/chip-group.js +4 -9
  119. package/chip/chip.js +4 -7
  120. package/chip-group.component-D2AZqL3m.js +290 -0
  121. package/chip-label/chip-label.component.js +2 -56
  122. package/chip-label.component-DBN4jfW7.js +80 -0
  123. package/chip-label.js +5 -4
  124. package/chip-label.pure.js +2 -4
  125. package/chip.component-BNOs8T6O.js +94 -0
  126. package/chip.js +6 -10
  127. package/chip.pure.js +3 -7
  128. package/clock/clock.component.js +2 -153
  129. package/clock.component-DDaWbXHW.js +148 -0
  130. package/clock.js +5 -4
  131. package/clock.pure.js +2 -4
  132. package/common-CI_BB6sF.js +5 -0
  133. package/compact-paginator.component-BxSy5YXY.js +45 -0
  134. package/container/container/container.component.js +2 -76
  135. package/container/container.js +4 -7
  136. package/container/sticky-bar/sticky-bar.component.js +2 -122
  137. package/container/sticky-bar.js +4 -7
  138. package/container.component-DXFIvseq.js +117 -0
  139. package/container.js +6 -8
  140. package/container.pure.js +3 -6
  141. package/core/a11y/arrow-navigation.js +45 -33
  142. package/core/a11y/fake-event-detection.js +8 -9
  143. package/core/a11y/focus-trap-controller.js +69 -91
  144. package/core/a11y/focus-visible-within-controller.js +18 -18
  145. package/core/a11y/focus.js +13 -13
  146. package/core/a11y/input-modality-detector.js +42 -47
  147. package/core/a11y/interactivity-checker.js +61 -96
  148. package/core/a11y/live-announcer.js +29 -40
  149. package/core/a11y.js +9 -26
  150. package/core/base-elements/action-base-element.js +29 -37
  151. package/core/base-elements/button-base-element.js +165 -145
  152. package/core/base-elements/element.js +28 -63
  153. package/core/base-elements/link-base-element.js +186 -119
  154. package/core/base-elements/open-close-base-element.js +40 -42
  155. package/core/base-elements.js +6 -13
  156. package/core/config/config.js +8 -9
  157. package/core/config.js +2 -5
  158. package/core/controllers/escapable-overlay-controller.js +23 -25
  159. package/core/controllers/id-reference-controller.js +50 -59
  160. package/core/controllers/inert-controller.js +55 -57
  161. package/core/controllers/language-controller.js +53 -38
  162. package/core/controllers/media-matchers-controller.js +82 -96
  163. package/core/controllers/overlay-position-controller.js +215 -222
  164. package/core/controllers/property-watcher-controller.js +55 -59
  165. package/core/controllers/slot-state-controller.js +34 -36
  166. package/core/controllers.js +7 -28
  167. package/core/datetime/date-adapter.js +61 -135
  168. package/core/datetime/native-date-adapter.js +91 -140
  169. package/core/datetime/temporal-date-adapter.js +108 -144
  170. package/core/datetime.js +4 -16
  171. package/core/decorators/base.js +0 -1
  172. package/core/decorators/force-type.js +12 -16
  173. package/core/decorators/get-override.js +10 -13
  174. package/core/decorators/handle-distinct-change.js +12 -15
  175. package/core/decorators/host-attributes.js +15 -16
  176. package/core/decorators/id-reference.js +65 -75
  177. package/core/decorators/omit-empty-converter.js +7 -9
  178. package/core/decorators/plain-date.js +21 -25
  179. package/core/decorators.js +8 -17
  180. package/core/dom/animation.js +8 -9
  181. package/core/dom/contains-pierce-shadow-dom.js +10 -11
  182. package/core/dom/lean-context.js +4 -4
  183. package/core/dom/platform.js +8 -18
  184. package/core/dom/queue-dom-content-loaded.js +6 -6
  185. package/core/dom/scroll.js +14 -16
  186. package/core/dom/set-or-remove-attribute.js +5 -5
  187. package/core/dom.js +6 -25
  188. package/core/eventing/composed-path-has-attribute.js +6 -7
  189. package/core/eventing/event-target.js +5 -5
  190. package/core/eventing/form-element-handlers.js +5 -5
  191. package/core/eventing/forward-event.js +6 -6
  192. package/core/eventing/is-event-prevented.js +5 -5
  193. package/core/eventing/throttle.js +10 -10
  194. package/core/eventing.js +7 -14
  195. package/core/i18n/i18n.js +634 -738
  196. package/core/i18n.js +2 -104
  197. package/core/images.js +14 -14
  198. package/core/interfaces.js +0 -1
  199. package/core/mixins/animation-complete-mixin.js +34 -42
  200. package/core/mixins/constructor.js +0 -1
  201. package/core/mixins/disabled-mixin.js +91 -74
  202. package/core/mixins/element-internals-mixin.js +149 -155
  203. package/core/mixins/form-associated-checkbox-mixin.js +106 -93
  204. package/core/mixins/form-associated-input-mixin.js +202 -193
  205. package/core/mixins/form-associated-mixin.js +168 -226
  206. package/core/mixins/form-associated-radio-button-mixin.js +152 -168
  207. package/core/mixins/hydration-mixin.js +27 -37
  208. package/core/mixins/named-slot-list-mixin.js +77 -95
  209. package/core/mixins/negative-mixin.js +45 -33
  210. package/core/mixins/panel-mixin.js +109 -70
  211. package/core/mixins/readonly-mixin.js +40 -34
  212. package/core/mixins/required-mixin.js +48 -35
  213. package/core/mixins/selection-panel-mixin.js +36 -39
  214. package/core/mixins/update-scheduler-mixin.js +20 -21
  215. package/core/mixins.js +21 -41
  216. package/core/overlay/overlay-option-panel.js +15 -16
  217. package/core/overlay/overlay-outside-pointer-event-listener.js +34 -37
  218. package/core/overlay/overlay-trigger-attributes.js +11 -14
  219. package/core/overlay/overlay.js +6 -6
  220. package/core/overlay/position.js +53 -49
  221. package/core/overlay.js +6 -19
  222. package/core/styles.js +5 -5
  223. package/core/testing/event-spy.js +46 -50
  224. package/core/testing/mocha-extensions.js +7 -10
  225. package/core/testing/wait-for-condition.js +10 -12
  226. package/core/testing/wait-for-image-ready.js +15 -16
  227. package/core/testing/wait-for-render.js +12 -13
  228. package/core/testing.js +6 -14
  229. package/custom-elements.json +746 -746
  230. package/date-input/date-input.component.js +2 -166
  231. package/date-input.component-zZtnd9Og.js +205 -0
  232. package/date-input.js +5 -4
  233. package/date-input.pure.js +2 -4
  234. package/datepicker/common/datepicker-button.js +2 -102
  235. package/datepicker/common.js +5 -8
  236. package/datepicker/datepicker/datepicker.component.js +2 -120
  237. package/datepicker/datepicker-next-day/datepicker-next-day.component.js +27 -23
  238. package/datepicker/datepicker-next-day.js +3 -6
  239. package/datepicker/datepicker-previous-day/datepicker-previous-day.component.js +27 -23
  240. package/datepicker/datepicker-previous-day.js +3 -6
  241. package/datepicker/datepicker-toggle/datepicker-toggle.component.js +66 -51
  242. package/datepicker/datepicker-toggle.js +3 -6
  243. package/datepicker/datepicker.js +4 -7
  244. package/datepicker-button-C1TrzFl-.js +109 -0
  245. package/datepicker.component-cmdnlVgf.js +156 -0
  246. package/datepicker.js +9 -18
  247. package/datepicker.pure.js +5 -13
  248. package/development/accordion/accordion.component.js +2 -132
  249. package/development/accordion.component-BIFcgIa0.js +172 -0
  250. package/development/accordion.js +8 -5
  251. package/development/accordion.pure.js +2 -5
  252. package/development/action-group/action-group.component.js +2 -305
  253. package/development/action-group.component-CuhO6yb9.js +379 -0
  254. package/development/action-group.js +8 -5
  255. package/development/action-group.pure.js +2 -5
  256. package/development/alert/alert/alert.component.js +2 -385
  257. package/development/alert/alert-group/alert-group.component.js +2 -166
  258. package/development/alert/alert-group.js +7 -5
  259. package/development/alert/alert.js +7 -5
  260. package/development/alert-group.component-BlrlsRB8.js +219 -0
  261. package/development/alert.component-CJ2yLyOY.js +411 -0
  262. package/development/alert.js +9 -7
  263. package/development/alert.pure.js +3 -7
  264. package/development/autocomplete/autocomplete-base-element.js +2 -897
  265. package/development/autocomplete/autocomplete.component.js +82 -72
  266. package/development/autocomplete-base-element-DCfmuVY6.js +960 -0
  267. package/development/autocomplete.js +8 -6
  268. package/development/autocomplete.pure.js +2 -6
  269. package/development/block-link-common-FvD8So7p.js +145 -0
  270. package/development/breadcrumb/breadcrumb/breadcrumb.component.js +2 -77
  271. package/development/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +2 -263
  272. package/development/breadcrumb/breadcrumb-group.js +7 -5
  273. package/development/breadcrumb/breadcrumb.js +7 -5
  274. package/development/breadcrumb-group.component-DjsoMTPI.js +278 -0
  275. package/development/breadcrumb.component-DvOf-PiO.js +89 -0
  276. package/development/breadcrumb.js +9 -7
  277. package/development/breadcrumb.pure.js +3 -7
  278. package/development/button/accent-button/accent-button.component.js +24 -13
  279. package/development/button/accent-button-link/accent-button-link.component.js +24 -13
  280. package/development/button/accent-button-link.js +9 -7
  281. package/development/button/accent-button-static/accent-button-static.component.js +24 -13
  282. package/development/button/accent-button-static.js +9 -7
  283. package/development/button/accent-button.js +9 -7
  284. package/development/button/button/button.component.js +23 -12
  285. package/development/button/button-link/button-link.component.js +23 -12
  286. package/development/button/button-link.js +9 -7
  287. package/development/button/button-static/button-static.component.js +23 -12
  288. package/development/button/button-static.js +9 -7
  289. package/development/button/button.js +9 -7
  290. package/development/button/common/button-common.js +104 -85
  291. package/development/button/common.js +2 -12
  292. package/development/button/mini-button/mini-button.component.js +28 -17
  293. package/development/button/mini-button-group/mini-button-group.component.js +2 -141
  294. package/development/button/mini-button-group.js +9 -7
  295. package/development/button/mini-button-link/mini-button-link.component.js +2 -34
  296. package/development/button/mini-button-link.js +9 -7
  297. package/development/button/mini-button.js +9 -7
  298. package/development/button/secondary-button/secondary-button.component.js +23 -12
  299. package/development/button/secondary-button-link/secondary-button-link.component.js +23 -12
  300. package/development/button/secondary-button-link.js +9 -7
  301. package/development/button/secondary-button-static/secondary-button-static.component.js +23 -12
  302. package/development/button/secondary-button-static.js +9 -7
  303. package/development/button/secondary-button.js +9 -7
  304. package/development/button/transparent-button/transparent-button.component.js +23 -12
  305. package/development/button/transparent-button-link/transparent-button-link.component.js +23 -12
  306. package/development/button/transparent-button-link.js +9 -7
  307. package/development/button/transparent-button-static/transparent-button-static.component.js +23 -12
  308. package/development/button/transparent-button-static.js +9 -7
  309. package/development/button/transparent-button.js +9 -7
  310. package/development/button.js +10 -29
  311. package/development/button.pure.js +4 -29
  312. package/development/calendar/calendar/calendar.component.js +2 -1984
  313. package/development/calendar/calendar-day/calendar-day.component.js +2 -248
  314. package/development/calendar/calendar-day.js +7 -5
  315. package/development/calendar/calendar.js +7 -7
  316. package/development/calendar-day.component-De9Xn3-q.js +283 -0
  317. package/development/calendar.component-PHpgLc0z.js +2458 -0
  318. package/development/calendar.js +9 -9
  319. package/development/calendar.pure.js +3 -8
  320. package/development/card/card/card.component.js +2 -233
  321. package/development/card/card-badge/card-badge.component.js +2 -119
  322. package/development/card/card-badge.js +7 -5
  323. package/development/card/card-button/card-button.component.js +19 -11
  324. package/development/card/card-button.js +6 -4
  325. package/development/card/card-link/card-link.component.js +19 -11
  326. package/development/card/card-link.js +6 -4
  327. package/development/card/card.js +7 -5
  328. package/development/card/common/card-action-common.js +2 -121
  329. package/development/card/common.js +6 -5
  330. package/development/card-action-common-DqBn3bPy.js +147 -0
  331. package/development/card-badge.component-Cs4dow18.js +146 -0
  332. package/development/card.component-CeOZXXWU.js +258 -0
  333. package/development/card.js +10 -11
  334. package/development/card.pure.js +4 -11
  335. package/development/carousel/carousel/carousel.component.js +2 -160
  336. package/development/carousel/carousel-item/carousel-item.component.js +2 -32
  337. package/development/carousel/carousel-item.js +7 -5
  338. package/development/carousel/carousel-list/carousel-list.component.js +2 -157
  339. package/development/carousel/carousel-list.js +7 -5
  340. package/development/carousel/carousel.js +7 -5
  341. package/development/carousel-item.component-DOIXA2QK.js +47 -0
  342. package/development/carousel-list.component-7Z3dYtAF.js +160 -0
  343. package/development/carousel.component-b4C-hxkj.js +169 -0
  344. package/development/carousel.js +10 -9
  345. package/development/carousel.pure.js +4 -9
  346. package/development/checkbox/checkbox-group.js +5 -1
  347. package/development/checkbox/checkbox-panel.js +5 -1
  348. package/development/checkbox/checkbox.component.js +3 -141
  349. package/development/checkbox/checkbox.js +8 -5
  350. package/development/checkbox/common/checkbox-common.js +2 -137
  351. package/development/checkbox/common.js +6 -6
  352. package/development/checkbox-common-DD7r8g0_.js +147 -0
  353. package/development/checkbox-group/checkbox-group.component.js +2 -212
  354. package/development/checkbox-group.component-CRZO7CEc.js +265 -0
  355. package/development/checkbox-group.js +8 -5
  356. package/development/checkbox-group.pure.js +2 -5
  357. package/development/checkbox-panel/checkbox-panel.component.js +81 -54
  358. package/development/checkbox-panel.js +7 -4
  359. package/development/checkbox-panel.pure.js +1 -4
  360. package/development/checkbox.component-B43Akyck.js +193 -0
  361. package/development/checkbox.js +12 -11
  362. package/development/checkbox.pure.js +3 -8
  363. package/development/chip/chip/chip.component.js +2 -164
  364. package/development/chip/chip-group/chip-group.component.js +2 -464
  365. package/development/chip/chip-group.js +7 -7
  366. package/development/chip/chip.js +7 -5
  367. package/development/chip-group.component-DzCCcoOw.js +506 -0
  368. package/development/chip-label/chip-label.component.js +2 -131
  369. package/development/chip-label.component-jN_Fulv_.js +165 -0
  370. package/development/chip-label.js +8 -5
  371. package/development/chip-label.pure.js +2 -5
  372. package/development/chip.component-Bn7ffNEr.js +191 -0
  373. package/development/chip.js +9 -9
  374. package/development/chip.pure.js +3 -8
  375. package/development/clock/clock.component.js +2 -362
  376. package/development/clock.component-btjeVAaa.js +392 -0
  377. package/development/clock.js +8 -5
  378. package/development/clock.pure.js +2 -5
  379. package/development/common-Da_cep8M.js +565 -0
  380. package/development/compact-paginator.component-CCDP0TMd.js +96 -0
  381. package/development/container/container/container.component.js +2 -182
  382. package/development/container/container.js +7 -5
  383. package/development/container/sticky-bar/sticky-bar.component.js +2 -357
  384. package/development/container/sticky-bar.js +7 -5
  385. package/development/container.component-CVm8-HZ4.js +238 -0
  386. package/development/container.js +9 -7
  387. package/development/container.pure.js +3 -7
  388. package/development/core/a11y/arrow-navigation.js +67 -28
  389. package/development/core/a11y/fake-event-detection.js +10 -8
  390. package/development/core/a11y/focus-trap-controller.js +104 -120
  391. package/development/core/a11y/focus-visible-within-controller.js +25 -24
  392. package/development/core/a11y/focus.js +14 -13
  393. package/development/core/a11y/input-modality-detector.js +128 -75
  394. package/development/core/a11y/interactivity-checker.js +115 -108
  395. package/development/core/a11y/live-announcer.js +76 -80
  396. package/development/core/a11y.js +3 -21
  397. package/development/core/base-elements/action-base-element.js +37 -42
  398. package/development/core/base-elements/button-base-element.js +247 -205
  399. package/development/core/base-elements/element.js +69 -67
  400. package/development/core/base-elements/link-base-element.js +226 -150
  401. package/development/core/base-elements/open-close-base-element.js +54 -49
  402. package/development/core/base-elements.js +2 -10
  403. package/development/core/config/config.js +9 -11
  404. package/development/core/config.js +1 -5
  405. package/development/core/controllers/escapable-overlay-controller.js +34 -36
  406. package/development/core/controllers/id-reference-controller.js +76 -81
  407. package/development/core/controllers/inert-controller.js +99 -105
  408. package/development/core/controllers/language-controller.js +76 -66
  409. package/development/core/controllers/media-matchers-controller.js +145 -138
  410. package/development/core/controllers/overlay-position-controller.js +297 -283
  411. package/development/core/controllers/property-watcher-controller.js +94 -119
  412. package/development/core/controllers/slot-state-controller.js +75 -63
  413. package/development/core/controllers.js +1 -23
  414. package/development/core/datetime/date-adapter.js +143 -166
  415. package/development/core/datetime/native-date-adapter.js +142 -148
  416. package/development/core/datetime/temporal-date-adapter.js +162 -149
  417. package/development/core/datetime.js +1 -14
  418. package/development/core/decorators/base.js +0 -2
  419. package/development/core/decorators/force-type.js +24 -27
  420. package/development/core/decorators/get-override.js +17 -17
  421. package/development/core/decorators/handle-distinct-change.js +20 -21
  422. package/development/core/decorators/host-attributes.js +37 -26
  423. package/development/core/decorators/id-reference.js +115 -114
  424. package/development/core/decorators/omit-empty-converter.js +13 -9
  425. package/development/core/decorators/plain-date.js +36 -31
  426. package/development/core/decorators.js +1 -11
  427. package/development/core/dom/animation.js +8 -9
  428. package/development/core/dom/contains-pierce-shadow-dom.js +12 -12
  429. package/development/core/dom/lean-context.js +9 -5
  430. package/development/core/dom/platform.js +35 -28
  431. package/development/core/dom/queue-dom-content-loaded.js +11 -10
  432. package/development/core/dom/scroll.js +34 -34
  433. package/development/core/dom/set-or-remove-attribute.js +13 -9
  434. package/development/core/dom.js +1 -21
  435. package/development/core/eventing/composed-path-has-attribute.js +17 -10
  436. package/development/core/eventing/event-target.js +7 -5
  437. package/development/core/eventing/form-element-handlers.js +10 -7
  438. package/development/core/eventing/forward-event.js +12 -7
  439. package/development/core/eventing/is-event-prevented.js +8 -6
  440. package/development/core/eventing/throttle.js +16 -17
  441. package/development/core/eventing.js +1 -9
  442. package/development/core/i18n/i18n.js +770 -875
  443. package/development/core/i18n.js +1 -104
  444. package/development/core/images.js +20 -15
  445. package/development/core/interfaces.js +0 -2
  446. package/development/core/mixins/animation-complete-mixin.js +55 -51
  447. package/development/core/mixins/constructor.js +0 -2
  448. package/development/core/mixins/disabled-mixin.js +124 -101
  449. package/development/core/mixins/element-internals-mixin.js +212 -225
  450. package/development/core/mixins/form-associated-checkbox-mixin.js +160 -141
  451. package/development/core/mixins/form-associated-input-mixin.js +334 -314
  452. package/development/core/mixins/form-associated-mixin.js +287 -279
  453. package/development/core/mixins/form-associated-radio-button-mixin.js +260 -247
  454. package/development/core/mixins/hydration-mixin.js +58 -55
  455. package/development/core/mixins/named-slot-list-mixin.js +116 -114
  456. package/development/core/mixins/negative-mixin.js +56 -41
  457. package/development/core/mixins/panel-mixin.js +142 -93
  458. package/development/core/mixins/readonly-mixin.js +54 -43
  459. package/development/core/mixins/required-mixin.js +65 -46
  460. package/development/core/mixins/selection-panel-mixin.js +50 -55
  461. package/development/core/mixins/update-scheduler-mixin.js +30 -25
  462. package/development/core/mixins.js +10 -29
  463. package/development/core/overlay/overlay-option-panel.js +34 -26
  464. package/development/core/overlay/overlay-outside-pointer-event-listener.js +64 -60
  465. package/development/core/overlay/overlay-trigger-attributes.js +42 -39
  466. package/development/core/overlay/overlay.js +10 -5
  467. package/development/core/overlay/position.js +143 -117
  468. package/development/core/overlay.js +2 -16
  469. package/development/core/styles.js +6 -5
  470. package/development/core/testing/event-spy.js +66 -67
  471. package/development/core/testing/mocha-extensions.js +15 -13
  472. package/development/core/testing/wait-for-condition.js +14 -17
  473. package/development/core/testing/wait-for-image-ready.js +20 -27
  474. package/development/core/testing/wait-for-render.js +30 -18
  475. package/development/core/testing.js +1 -10
  476. package/development/date-input/date-input.component.js +2 -278
  477. package/development/date-input.component-CqsEOZfb.js +338 -0
  478. package/development/date-input.js +8 -5
  479. package/development/date-input.pure.js +2 -5
  480. package/development/datepicker/common/datepicker-button.js +2 -155
  481. package/development/datepicker/common.js +6 -7
  482. package/development/datepicker/datepicker/datepicker.component.js +2 -180
  483. package/development/datepicker/datepicker-next-day/datepicker-next-day.component.js +35 -30
  484. package/development/datepicker/datepicker-next-day.js +6 -4
  485. package/development/datepicker/datepicker-previous-day/datepicker-previous-day.component.js +35 -30
  486. package/development/datepicker/datepicker-previous-day.js +6 -4
  487. package/development/datepicker/datepicker-toggle/datepicker-toggle.component.js +79 -67
  488. package/development/datepicker/datepicker-toggle.js +6 -4
  489. package/development/datepicker/datepicker.js +7 -5
  490. package/development/datepicker-button-BORzfDaA.js +167 -0
  491. package/development/datepicker.component-CuFtPZg9.js +223 -0
  492. package/development/datepicker.js +9 -12
  493. package/development/datepicker.pure.js +3 -12
  494. package/development/dialog/dialog/dialog.component.js +2 -383
  495. package/development/dialog/dialog-actions/dialog-actions.component.js +2 -42
  496. package/development/dialog/dialog-actions.js +7 -5
  497. package/development/dialog/dialog-close-button/dialog-close-button.component.js +2 -36
  498. package/development/dialog/dialog-close-button.js +7 -5
  499. package/development/dialog/dialog-content/dialog-content.component.js +2 -31
  500. package/development/dialog/dialog-content.js +7 -5
  501. package/development/dialog/dialog-title/dialog-title.component.js +2 -39
  502. package/development/dialog/dialog-title.js +7 -5
  503. package/development/dialog/dialog.js +7 -8
  504. package/development/dialog-actions.component-Mbx-Bs3t.js +55 -0
  505. package/development/dialog-close-button.component-B1dPHPy2.js +48 -0
  506. package/development/dialog-content.component-qP09Yo_N.js +42 -0
  507. package/development/dialog-title.component-B4u2w8h5.js +50 -0
  508. package/development/dialog.component-DaM1FSHB.js +403 -0
  509. package/development/dialog.js +12 -16
  510. package/development/dialog.pure.js +6 -16
  511. package/development/divider/divider.component.js +2 -73
  512. package/development/divider.component-Ddzlu6Fw.js +95 -0
  513. package/development/divider.js +8 -5
  514. package/development/divider.pure.js +2 -5
  515. package/development/error.component-C76eZnXo.js +93 -0
  516. package/development/expansion-panel/expansion-panel/expansion-panel.component.js +2 -417
  517. package/development/expansion-panel/expansion-panel-content/expansion-panel-content.component.js +2 -70
  518. package/development/expansion-panel/expansion-panel-content.js +7 -5
  519. package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +2 -170
  520. package/development/expansion-panel/expansion-panel-header.js +7 -5
  521. package/development/expansion-panel/expansion-panel.js +7 -5
  522. package/development/expansion-panel-content.component-DTZk3ZKL.js +77 -0
  523. package/development/expansion-panel-header.component-C7ymZCux.js +175 -0
  524. package/development/expansion-panel.component-xUWTKeaC.js +489 -0
  525. package/development/expansion-panel.js +10 -9
  526. package/development/expansion-panel.pure.js +4 -9
  527. package/development/file-selector/common/file-selector-common.js +2 -431
  528. package/development/file-selector/common.js +6 -6
  529. package/development/file-selector/file-selector/file-selector.component.js +27 -18
  530. package/development/file-selector/file-selector-dropzone/file-selector-dropzone.component.js +2 -126
  531. package/development/file-selector/file-selector-dropzone.js +7 -5
  532. package/development/file-selector/file-selector.js +6 -4
  533. package/development/file-selector-common-qMfAccOd.js +512 -0
  534. package/development/file-selector-dropzone.component-HDUIUSQI.js +154 -0
  535. package/development/file-selector.js +9 -9
  536. package/development/file-selector.pure.js +3 -9
  537. package/development/flip-card/flip-card/flip-card.component.js +2 -306
  538. package/development/flip-card/flip-card-details/flip-card-details.component.js +2 -69
  539. package/development/flip-card/flip-card-details.js +7 -5
  540. package/development/flip-card/flip-card-summary/flip-card-summary.component.js +2 -124
  541. package/development/flip-card/flip-card-summary.js +7 -5
  542. package/development/flip-card/flip-card.js +7 -5
  543. package/development/flip-card-details.component-BilGh5Yb.js +85 -0
  544. package/development/flip-card-summary.component-DDDnvs_c.js +151 -0
  545. package/development/flip-card.component-CdRzb7IT.js +334 -0
  546. package/development/flip-card.js +10 -9
  547. package/development/flip-card.pure.js +4 -9
  548. package/development/footer/footer.component.js +2 -251
  549. package/development/footer.component-C057PwF1.js +310 -0
  550. package/development/footer.js +8 -5
  551. package/development/footer.pure.js +2 -5
  552. package/development/form-field/error/error.component.js +2 -83
  553. package/development/form-field/error.js +7 -5
  554. package/development/form-field/form-field/form-field.component.js +2 -892
  555. package/development/form-field/form-field-clear/form-field-clear.component.js +49 -41
  556. package/development/form-field/form-field-clear.js +6 -4
  557. package/development/form-field/form-field.js +7 -7
  558. package/development/form-field.component-D4dQ8sCh.js +1009 -0
  559. package/development/form-field.js +9 -10
  560. package/development/form-field.pure.js +3 -9
  561. package/development/header/common/header-action-common.js +2 -329
  562. package/development/header/common.js +6 -5
  563. package/development/header/header/header.component.js +2 -385
  564. package/development/header/header-button/header-button.component.js +15 -7
  565. package/development/header/header-button.js +6 -4
  566. package/development/header/header-environment/header-environment.component.js +2 -88
  567. package/development/header/header-environment.js +7 -5
  568. package/development/header/header-link/header-link.component.js +15 -7
  569. package/development/header/header-link.js +6 -4
  570. package/development/header/header.js +7 -5
  571. package/development/header-action-common-Dff8K0RB.js +346 -0
  572. package/development/header-environment.component-DYnJkxCZ.js +101 -0
  573. package/development/header.component-DYls7wGO.js +446 -0
  574. package/development/header.js +10 -11
  575. package/development/header.pure.js +4 -11
  576. package/development/icon/icon-base.js +2 -174
  577. package/development/icon/icon-name-mixin.js +75 -59
  578. package/development/icon/icon-request.js +31 -38
  579. package/development/icon/icon-validate.js +36 -45
  580. package/development/icon/icon.component.js +119 -94
  581. package/development/icon-base-CcQCgmqX.js +206 -0
  582. package/development/icon-sidebar/icon-sidebar/icon-sidebar.component.js +2 -74
  583. package/development/icon-sidebar/icon-sidebar-button/icon-sidebar-button.component.js +25 -15
  584. package/development/icon-sidebar/icon-sidebar-button.js +6 -4
  585. package/development/icon-sidebar/icon-sidebar-container/icon-sidebar-container.component.js +2 -30
  586. package/development/icon-sidebar/icon-sidebar-container.js +7 -5
  587. package/development/icon-sidebar/icon-sidebar-content/icon-sidebar-content.component.js +2 -22
  588. package/development/icon-sidebar/icon-sidebar-content.js +7 -5
  589. package/development/icon-sidebar/icon-sidebar-link/icon-sidebar-link.component.js +25 -15
  590. package/development/icon-sidebar/icon-sidebar-link.js +6 -4
  591. package/development/icon-sidebar/icon-sidebar.js +7 -5
  592. package/development/icon-sidebar-container.component-BJHjpF-Q.js +41 -0
  593. package/development/icon-sidebar-content.component-C2wreczL.js +33 -0
  594. package/development/icon-sidebar.component-PcmjRlDp.js +100 -0
  595. package/development/icon-sidebar.js +10 -11
  596. package/development/icon-sidebar.pure.js +4 -11
  597. package/development/icon.js +10 -12
  598. package/development/icon.pure.js +4 -12
  599. package/development/image/image.component.js +2 -648
  600. package/development/image.component-fvsSR3Df.js +820 -0
  601. package/development/image.js +8 -5
  602. package/development/image.pure.js +2 -5
  603. package/development/inline-link-common-CyTcO5MN.js +52 -0
  604. package/development/journey-header/journey-header.component.js +2 -158
  605. package/development/journey-header.component-BB8WYOqH.js +217 -0
  606. package/development/journey-header.js +8 -5
  607. package/development/journey-header.pure.js +2 -5
  608. package/development/lead-container/lead-container.component.js +2 -108
  609. package/development/lead-container.component-BGf8oqw7.js +122 -0
  610. package/development/lead-container.js +8 -5
  611. package/development/lead-container.pure.js +2 -5
  612. package/development/link/block-link/block-link.component.js +15 -7
  613. package/development/link/block-link-button/block-link-button.component.js +15 -7
  614. package/development/link/block-link-button.js +9 -7
  615. package/development/link/block-link-static/block-link-static.component.js +15 -7
  616. package/development/link/block-link-static.js +9 -7
  617. package/development/link/block-link.js +9 -7
  618. package/development/link/common/block-link-common.js +3 -124
  619. package/development/link/common/inline-link-common.js +3 -44
  620. package/development/link/common/link-common.js +2 -10
  621. package/development/link/common.js +4 -9
  622. package/development/link/link/link.component.js +14 -7
  623. package/development/link/link-button/link-button.component.js +14 -7
  624. package/development/link/link-button.js +9 -7
  625. package/development/link/link-static/link-static.component.js +14 -7
  626. package/development/link/link-static.js +9 -7
  627. package/development/link/link.js +9 -7
  628. package/development/link-common-5ob2nFyv.js +124 -0
  629. package/development/link-list/common/link-list-base.js +2 -131
  630. package/development/link-list/common.js +6 -6
  631. package/development/link-list/link-list-anchor.js +8 -5
  632. package/development/link-list/link-list.component.js +3 -152
  633. package/development/link-list/link-list.js +8 -5
  634. package/development/link-list-anchor/link-list-anchor.component.js +2 -61
  635. package/development/link-list-anchor.component-rAMp5_jH.js +77 -0
  636. package/development/link-list-anchor.js +8 -5
  637. package/development/link-list-anchor.pure.js +2 -5
  638. package/development/link-list-base-DxYNcAX7.js +172 -0
  639. package/development/link-list.component-DD6UjlwD.js +194 -0
  640. package/development/link-list.js +11 -9
  641. package/development/link-list.pure.js +3 -8
  642. package/development/link.js +10 -15
  643. package/development/link.pure.js +5 -15
  644. package/development/loading-indicator/loading-indicator.component.js +2 -243
  645. package/development/loading-indicator-circle/loading-indicator-circle.component.js +2 -120
  646. package/development/loading-indicator-circle.component-CS32gPvE.js +144 -0
  647. package/development/loading-indicator-circle.js +8 -5
  648. package/development/loading-indicator-circle.pure.js +2 -5
  649. package/development/loading-indicator.component-CTRZkUdX.js +278 -0
  650. package/development/loading-indicator.js +8 -5
  651. package/development/loading-indicator.pure.js +2 -5
  652. package/development/logo/logo.component.js +2 -129
  653. package/development/logo.component-Cp-EyVpA.js +166 -0
  654. package/development/logo.js +8 -5
  655. package/development/logo.pure.js +2 -5
  656. package/development/map-container/map-container.component.js +2 -264
  657. package/development/map-container.component-BEAIuo5H.js +307 -0
  658. package/development/map-container.js +8 -5
  659. package/development/map-container.pure.js +2 -5
  660. package/development/menu/common/menu-action-common.js +2 -144
  661. package/development/menu/common.js +6 -5
  662. package/development/menu/menu/menu.component.js +2 -683
  663. package/development/menu/menu-button/menu-button.component.js +20 -8
  664. package/development/menu/menu-button.js +6 -4
  665. package/development/menu/menu-link/menu-link.component.js +21 -11
  666. package/development/menu/menu-link.js +6 -4
  667. package/development/menu/menu.js +7 -5
  668. package/development/menu-action-common-CyBv0NwR.js +148 -0
  669. package/development/menu.component-GHJHhE9D.js +638 -0
  670. package/development/menu.js +9 -9
  671. package/development/menu.pure.js +3 -9
  672. package/development/message/message.component.js +2 -67
  673. package/development/message.component-uv9eI2gl.js +82 -0
  674. package/development/message.js +8 -5
  675. package/development/message.pure.js +2 -5
  676. package/development/mini-button-group.component-ytJZBjmr.js +174 -0
  677. package/development/mini-button-link.component-DZOOdeZt.js +47 -0
  678. package/development/mini-calendar/mini-calendar/mini-calendar.component.js +2 -188
  679. package/development/mini-calendar/mini-calendar-day/mini-calendar-day.component.js +2 -166
  680. package/development/mini-calendar/mini-calendar-day.js +7 -5
  681. package/development/mini-calendar/mini-calendar-month/mini-calendar-month.component.js +2 -135
  682. package/development/mini-calendar/mini-calendar-month.js +7 -5
  683. package/development/mini-calendar/mini-calendar.js +7 -5
  684. package/development/mini-calendar-day.component-DLP7Pa6R.js +213 -0
  685. package/development/mini-calendar-month.component-C1jsGlJ2.js +150 -0
  686. package/development/mini-calendar.component-BzqjMchx.js +192 -0
  687. package/development/mini-calendar.js +10 -9
  688. package/development/mini-calendar.pure.js +4 -9
  689. package/development/navigation/common/navigation-action-common.js +2 -165
  690. package/development/navigation/common.js +6 -5
  691. package/development/navigation/navigation/navigation.component.js +2 -571
  692. package/development/navigation/navigation-button/navigation-button.component.js +14 -7
  693. package/development/navigation/navigation-button.js +6 -4
  694. package/development/navigation/navigation-link/navigation-link.component.js +14 -7
  695. package/development/navigation/navigation-link.js +6 -4
  696. package/development/navigation/navigation-list/navigation-list.component.js +2 -102
  697. package/development/navigation/navigation-list.js +7 -5
  698. package/development/navigation/navigation-marker/navigation-marker.component.js +2 -199
  699. package/development/navigation/navigation-marker.js +7 -5
  700. package/development/navigation/navigation-section/navigation-section.component.js +2 -588
  701. package/development/navigation/navigation-section.js +7 -5
  702. package/development/navigation/navigation.js +7 -5
  703. package/development/navigation-action-common-saGbvoji.js +178 -0
  704. package/development/navigation-list.component-AFM4omXQ.js +124 -0
  705. package/development/navigation-marker.component-BvC73IoI.js +207 -0
  706. package/development/navigation-section.component-B-6XU2X5.js +600 -0
  707. package/development/navigation.component-_gUhpPyO.js +585 -0
  708. package/development/navigation.js +12 -15
  709. package/development/navigation.pure.js +6 -15
  710. package/development/notification/notification.component.js +2 -496
  711. package/development/notification.component-B5EBKKf8.js +530 -0
  712. package/development/notification.js +8 -5
  713. package/development/notification.pure.js +2 -5
  714. package/development/optgroup-base-element-CjwAXrC5.js +181 -0
  715. package/development/option/optgroup/optgroup-base-element.js +2 -159
  716. package/development/option/optgroup/optgroup.component.js +40 -37
  717. package/development/option/optgroup.js +7 -6
  718. package/development/option/option/option-base-element.js +349 -276
  719. package/development/option/option/option.component.js +2 -241
  720. package/development/option/option-hint/option-hint.component.js +2 -44
  721. package/development/option/option-hint.js +7 -5
  722. package/development/option/option.js +7 -6
  723. package/development/option-hint.component-CHS5Z_sK.js +55 -0
  724. package/development/option.component-BvOsW8Gn.js +248 -0
  725. package/development/option.js +10 -11
  726. package/development/option.pure.js +4 -11
  727. package/development/overlay/overlay-base-element.js +238 -247
  728. package/development/overlay/overlay.component.js +2 -374
  729. package/development/overlay.component-RS_v3xaA.js +411 -0
  730. package/development/overlay.js +8 -9
  731. package/development/overlay.pure.js +2 -9
  732. package/development/paginator/common/paginator-common.js +376 -272
  733. package/development/paginator/common.js +5 -4
  734. package/development/paginator/compact-paginator/compact-paginator.component.js +2 -87
  735. package/development/paginator/compact-paginator.js +7 -5
  736. package/development/paginator/paginator/paginator.component.js +2 -444
  737. package/development/paginator/paginator.js +7 -5
  738. package/development/paginator.component-cRqJW9bc.js +492 -0
  739. package/development/paginator.js +9 -8
  740. package/development/paginator.pure.js +3 -8
  741. package/development/popover/popover.component.js +2 -718
  742. package/development/popover.component-BTfbUEzF.js +745 -0
  743. package/development/popover.js +8 -7
  744. package/development/popover.pure.js +2 -6
  745. package/development/radio-button/common/radio-button-common.js +2 -203
  746. package/development/radio-button/common.js +6 -6
  747. package/development/radio-button/radio-button-group.js +5 -1
  748. package/development/radio-button/radio-button-panel.js +5 -1
  749. package/development/radio-button/radio-button.component.js +3 -97
  750. package/development/radio-button/radio-button.js +8 -5
  751. package/development/radio-button-common-CjbP9yKf.js +231 -0
  752. package/development/radio-button-group/radio-button-group.component.js +2 -308
  753. package/development/radio-button-group.component-5jDkRqSJ.js +404 -0
  754. package/development/radio-button-group.js +8 -5
  755. package/development/radio-button-group.pure.js +2 -5
  756. package/development/radio-button-panel/radio-button-panel.component.js +106 -82
  757. package/development/radio-button-panel.js +7 -4
  758. package/development/radio-button-panel.pure.js +1 -4
  759. package/development/radio-button.component-CVATlwTb.js +137 -0
  760. package/development/radio-button.js +12 -11
  761. package/development/radio-button.pure.js +3 -8
  762. package/development/sbb-tokens-Dajio3u-.js +13 -0
  763. package/development/screen-reader-only/screen-reader-only.component.js +2 -25
  764. package/development/screen-reader-only.component-D-KOAjrF.js +36 -0
  765. package/development/screen-reader-only.js +8 -5
  766. package/development/screen-reader-only.pure.js +2 -5
  767. package/development/select/select.component.js +2 -1087
  768. package/development/select.component-DyF5Tw3J.js +1084 -0
  769. package/development/select.js +8 -5
  770. package/development/select.pure.js +2 -5
  771. package/development/selection-action-panel/selection-action-panel.component.js +2 -125
  772. package/development/selection-action-panel.component-elyz1Xsb.js +134 -0
  773. package/development/selection-action-panel.js +8 -5
  774. package/development/selection-action-panel.pure.js +2 -5
  775. package/development/selection-expansion-panel/selection-expansion-panel.component.js +2 -306
  776. package/development/selection-expansion-panel.component-hL2jyaAT.js +326 -0
  777. package/development/selection-expansion-panel.js +8 -5
  778. package/development/selection-expansion-panel.pure.js +2 -5
  779. package/development/sidebar/common/styles.js +2 -7
  780. package/development/sidebar/common.js +6 -7
  781. package/development/sidebar/sidebar/sidebar.component.js +2 -473
  782. package/development/sidebar/sidebar-close-button/sidebar-close-button.component.js +2 -36
  783. package/development/sidebar/sidebar-close-button.js +7 -5
  784. package/development/sidebar/sidebar-container/sidebar-container.component.js +2 -147
  785. package/development/sidebar/sidebar-container.js +7 -5
  786. package/development/sidebar/sidebar-content/sidebar-content.component.js +2 -25
  787. package/development/sidebar/sidebar-content.js +7 -5
  788. package/development/sidebar/sidebar-title/sidebar-title.component.js +2 -53
  789. package/development/sidebar/sidebar-title.js +7 -5
  790. package/development/sidebar/sidebar.js +7 -5
  791. package/development/sidebar-close-button.component-j4wY_hAt.js +48 -0
  792. package/development/sidebar-container.component-CToGMqKH.js +136 -0
  793. package/development/sidebar-content.component-s3GsQtNv.js +37 -0
  794. package/development/sidebar-title.component-Htm_hqKX.js +76 -0
  795. package/development/sidebar.component-Ct6TAsph.js +506 -0
  796. package/development/sidebar.js +12 -13
  797. package/development/sidebar.pure.js +6 -13
  798. package/development/signet/signet.component.js +2 -151
  799. package/development/signet.component-COqrcZqk.js +188 -0
  800. package/development/signet.js +8 -5
  801. package/development/signet.pure.js +2 -5
  802. package/development/skiplink-list/skiplink-list.component.js +2 -160
  803. package/development/skiplink-list.component-_SDkIoHp.js +198 -0
  804. package/development/skiplink-list.js +8 -5
  805. package/development/skiplink-list.pure.js +2 -5
  806. package/development/slider/slider.component.js +2 -399
  807. package/development/slider.component-B7EFECZk.js +479 -0
  808. package/development/slider.js +8 -5
  809. package/development/slider.pure.js +2 -5
  810. package/development/status/status.component.js +2 -144
  811. package/development/status.component-CE3e9OIO.js +171 -0
  812. package/development/status.js +8 -5
  813. package/development/status.pure.js +2 -5
  814. package/development/step-label.component-BH28AI5Z.js +298 -0
  815. package/development/step.component-WY7qdrR8.js +220 -0
  816. package/development/stepper/step/step.component.js +2 -216
  817. package/development/stepper/step-label/step-label.component.js +2 -298
  818. package/development/stepper/step-label.js +7 -5
  819. package/development/stepper/step.js +7 -5
  820. package/development/stepper/stepper/stepper.component.js +2 -465
  821. package/development/stepper/stepper.js +7 -7
  822. package/development/stepper.component-D1tAcpWs.js +508 -0
  823. package/development/stepper.js +10 -11
  824. package/development/stepper.pure.js +4 -10
  825. package/development/sticky-bar.component-BlgfxSRo.js +382 -0
  826. package/development/styles-CIZBf9Yc.js +173 -0
  827. package/development/styles-CYlzu-f2.js +96 -0
  828. package/development/tab-group.component-DZPKWjI7.js +292 -0
  829. package/development/tab-label.component-BJgr4u6Z.js +420 -0
  830. package/development/tab-nav-bar.component-rNmuMIsv.js +123 -0
  831. package/development/tab.component-C8jaB2_O.js +101 -0
  832. package/development/table/table-wrapper/table-wrapper.component.js +2 -120
  833. package/development/table/table-wrapper.js +7 -5
  834. package/development/table-wrapper.component-6WtB_fHq.js +133 -0
  835. package/development/table.js +8 -5
  836. package/development/table.pure.js +2 -5
  837. package/development/tabs/common/styles.js +2 -6
  838. package/development/tabs/common.js +6 -6
  839. package/development/tabs/tab/tab.component.js +2 -87
  840. package/development/tabs/tab-group/tab-group.component.js +2 -236
  841. package/development/tabs/tab-group.js +7 -5
  842. package/development/tabs/tab-label/tab-label.component.js +2 -369
  843. package/development/tabs/tab-label.js +7 -5
  844. package/development/tabs/tab-nav-bar/tab-nav-bar.component.js +2 -99
  845. package/development/tabs/tab-nav-bar.js +7 -5
  846. package/development/tabs/tab.js +7 -5
  847. package/development/tabs.js +12 -14
  848. package/development/tabs.pure.js +6 -14
  849. package/development/tag/tag/tag.component.js +2 -351
  850. package/development/tag/tag-group/tag-group.component.js +2 -179
  851. package/development/tag/tag-group.js +7 -5
  852. package/development/tag/tag.js +7 -5
  853. package/development/tag-group.component-C-EXr8Rq.js +219 -0
  854. package/development/tag.component-B7RY4cfx.js +419 -0
  855. package/development/tag.js +9 -7
  856. package/development/tag.pure.js +3 -7
  857. package/development/teaser/teaser.component.js +2 -224
  858. package/development/teaser-hero/teaser-hero.component.js +2 -172
  859. package/development/teaser-hero.component-5vVIZZ9L.js +202 -0
  860. package/development/teaser-hero.js +8 -5
  861. package/development/teaser-hero.pure.js +2 -5
  862. package/development/teaser-product/common/teaser-product-common.js +2 -210
  863. package/development/teaser-product/common.js +6 -6
  864. package/development/teaser-product/teaser-product/teaser-product.component.js +2 -63
  865. package/development/teaser-product/teaser-product-static/teaser-product-static.component.js +21 -8
  866. package/development/teaser-product/teaser-product-static.js +6 -4
  867. package/development/teaser-product/teaser-product.js +7 -5
  868. package/development/teaser-product-common-DgnRgO6O.js +223 -0
  869. package/development/teaser-product.component-BsdU2W2T.js +75 -0
  870. package/development/teaser-product.js +9 -9
  871. package/development/teaser-product.pure.js +3 -9
  872. package/development/teaser.component-KRkFbP9-.js +243 -0
  873. package/development/teaser.js +8 -5
  874. package/development/teaser.pure.js +2 -5
  875. package/development/time-input/time-input.component.js +2 -213
  876. package/development/time-input.component-Cf6cXrIN.js +222 -0
  877. package/development/time-input.js +8 -5
  878. package/development/time-input.pure.js +2 -5
  879. package/development/timetable-form/timetable-form/timetable-form.component.js +2 -22
  880. package/development/timetable-form/timetable-form-details/timetable-form-details.component.js +2 -39
  881. package/development/timetable-form/timetable-form-details.js +7 -5
  882. package/development/timetable-form/timetable-form-field/timetable-form-field.component.js +2 -112
  883. package/development/timetable-form/timetable-form-field.js +7 -5
  884. package/development/timetable-form/timetable-form-swap-button/timetable-form-swap-button.component.js +2 -63
  885. package/development/timetable-form/timetable-form-swap-button.js +7 -5
  886. package/development/timetable-form/timetable-form.js +7 -5
  887. package/development/timetable-form-details.component-B--aGycf.js +50 -0
  888. package/development/timetable-form-field.component-9jwIZzIm.js +119 -0
  889. package/development/timetable-form-swap-button.component-Ne1-XwSf.js +74 -0
  890. package/development/timetable-form.component-BYHhDRXE.js +34 -0
  891. package/development/timetable-form.js +11 -11
  892. package/development/timetable-form.pure.js +5 -11
  893. package/development/timetable-occupancy/timetable-occupancy.component.js +2 -140
  894. package/development/timetable-occupancy-icon/timetable-occupancy-icon.component.js +2 -89
  895. package/development/timetable-occupancy-icon.component-BbW73Fqd.js +101 -0
  896. package/development/timetable-occupancy-icon.js +8 -5
  897. package/development/timetable-occupancy-icon.pure.js +2 -5
  898. package/development/timetable-occupancy.component-C3nWG5Vg.js +172 -0
  899. package/development/timetable-occupancy.js +8 -5
  900. package/development/timetable-occupancy.pure.js +2 -5
  901. package/development/title/title-base.js +2 -109
  902. package/development/title/title.component.js +3 -89
  903. package/development/title-base-BUQgNaUI.js +142 -0
  904. package/development/title.component-DgFvxLIt.js +115 -0
  905. package/development/title.js +9 -7
  906. package/development/title.pure.js +3 -7
  907. package/development/toast/toast.component.js +2 -401
  908. package/development/toast.component-Csifrfnq.js +430 -0
  909. package/development/toast.js +8 -5
  910. package/development/toast.pure.js +2 -5
  911. package/development/toggle/toggle/toggle.component.js +2 -331
  912. package/development/toggle/toggle-option/toggle-option.component.js +2 -179
  913. package/development/toggle/toggle-option.js +7 -5
  914. package/development/toggle/toggle.js +7 -5
  915. package/development/toggle-check/toggle-check.component.js +2 -274
  916. package/development/toggle-check.component-CEYmGCDZ.js +326 -0
  917. package/development/toggle-check.js +8 -5
  918. package/development/toggle-check.pure.js +2 -5
  919. package/development/toggle-option.component--wHdeFI6.js +216 -0
  920. package/development/toggle.component-CGNDEU9B.js +367 -0
  921. package/development/toggle.js +9 -7
  922. package/development/toggle.pure.js +3 -7
  923. package/development/tooltip/tooltip.component.js +2 -440
  924. package/development/tooltip.component-bVPXm6Pu.js +480 -0
  925. package/development/tooltip.js +8 -5
  926. package/development/tooltip.pure.js +2 -5
  927. package/development/train/train/train.component.js +2 -229
  928. package/development/train/train-blocked-passage/train-blocked-passage.component.js +2 -70
  929. package/development/train/train-blocked-passage.js +7 -5
  930. package/development/train/train-formation/train-formation.component.js +2 -274
  931. package/development/train/train-formation.js +7 -5
  932. package/development/train/train-wagon/train-wagon.component.js +2 -387
  933. package/development/train/train-wagon.js +7 -5
  934. package/development/train/train.js +7 -5
  935. package/development/train-blocked-passage.component-CYnTeq7k.js +79 -0
  936. package/development/train-formation.component-QmoA0u6E.js +303 -0
  937. package/development/train-wagon.component-CWlRDq-Z.js +485 -0
  938. package/development/train.component-DcMyi7HP.js +294 -0
  939. package/development/train.js +11 -11
  940. package/development/train.pure.js +5 -11
  941. package/development/visual-checkbox/visual-checkbox.component.js +2 -164
  942. package/development/visual-checkbox.component-DtEIq9rH.js +213 -0
  943. package/development/visual-checkbox.js +8 -5
  944. package/development/visual-checkbox.pure.js +2 -5
  945. package/dialog/dialog/dialog.component.js +2 -148
  946. package/dialog/dialog-actions/dialog-actions.component.js +2 -13
  947. package/dialog/dialog-actions.js +4 -7
  948. package/dialog/dialog-close-button/dialog-close-button.component.js +2 -23
  949. package/dialog/dialog-close-button.js +4 -7
  950. package/dialog/dialog-content/dialog-content.component.js +2 -15
  951. package/dialog/dialog-content.js +4 -7
  952. package/dialog/dialog-title/dialog-title.component.js +2 -13
  953. package/dialog/dialog-title.js +4 -7
  954. package/dialog/dialog.js +4 -10
  955. package/dialog-actions.component-B4JYi2Ym.js +17 -0
  956. package/dialog-close-button.component-BtxXASCn.js +27 -0
  957. package/dialog-content.component-CNhoC-NZ.js +19 -0
  958. package/dialog-title.component-C8Jsbuqt.js +17 -0
  959. package/dialog.component-BHsekf9B.js +170 -0
  960. package/dialog.js +9 -20
  961. package/dialog.pure.js +6 -15
  962. package/divider/divider.component.js +2 -44
  963. package/divider.component-DFw-P_dA.js +61 -0
  964. package/divider.js +5 -4
  965. package/divider.pure.js +2 -4
  966. package/error.component-DL9hm4i9.js +44 -0
  967. package/expansion-panel/expansion-panel/expansion-panel.component.js +2 -156
  968. package/expansion-panel/expansion-panel-content/expansion-panel-content.component.js +2 -24
  969. package/expansion-panel/expansion-panel-content.js +4 -7
  970. package/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +2 -57
  971. package/expansion-panel/expansion-panel-header.js +4 -7
  972. package/expansion-panel/expansion-panel.js +4 -7
  973. package/expansion-panel-content.component-CbWIxgH4.js +29 -0
  974. package/expansion-panel-header.component-CxLeXeGi.js +56 -0
  975. package/expansion-panel.component-Bs4icI9T.js +226 -0
  976. package/expansion-panel.js +7 -11
  977. package/expansion-panel.pure.js +4 -8
  978. package/file-selector/common/file-selector-common.js +2 -245
  979. package/file-selector/common.js +5 -7
  980. package/file-selector/file-selector/file-selector.component.js +25 -20
  981. package/file-selector/file-selector-dropzone/file-selector-dropzone.component.js +2 -75
  982. package/file-selector/file-selector-dropzone.js +4 -7
  983. package/file-selector/file-selector.js +3 -6
  984. package/file-selector-common-C-gZH55c.js +313 -0
  985. package/file-selector-dropzone.component-LHNtOZPr.js +94 -0
  986. package/file-selector.js +7 -11
  987. package/file-selector.pure.js +4 -9
  988. package/flip-card/flip-card/flip-card.component.js +2 -120
  989. package/flip-card/flip-card-details/flip-card-details.component.js +2 -36
  990. package/flip-card/flip-card-details.js +4 -7
  991. package/flip-card/flip-card-summary/flip-card-summary.component.js +2 -48
  992. package/flip-card/flip-card-summary.js +4 -7
  993. package/flip-card/flip-card.js +4 -7
  994. package/flip-card-details.component-CiiCNjd2.js +45 -0
  995. package/flip-card-summary.component-nO7zKRiB.js +65 -0
  996. package/flip-card.component-uSdokrC9.js +138 -0
  997. package/flip-card.js +7 -11
  998. package/flip-card.pure.js +4 -8
  999. package/footer/footer.component.js +2 -89
  1000. package/footer.component-Cdsiwn4D.js +129 -0
  1001. package/footer.js +5 -4
  1002. package/footer.pure.js +2 -4
  1003. package/form-field/error/error.component.js +2 -42
  1004. package/form-field/error.js +4 -7
  1005. package/form-field/form-field/form-field.component.js +2 -344
  1006. package/form-field/form-field-clear/form-field-clear.component.js +35 -28
  1007. package/form-field/form-field-clear.js +3 -6
  1008. package/form-field/form-field.js +4 -9
  1009. package/form-field.component-CZzQYOSP.js +447 -0
  1010. package/form-field.js +7 -13
  1011. package/form-field.pure.js +4 -9
  1012. package/header/common/header-action-common.js +2 -51
  1013. package/header/common.js +5 -6
  1014. package/header/header/header.component.js +2 -154
  1015. package/header/header-button/header-button.component.js +9 -8
  1016. package/header/header-button.js +3 -6
  1017. package/header/header-environment/header-environment.component.js +2 -29
  1018. package/header/header-environment.js +4 -7
  1019. package/header/header-link/header-link.component.js +9 -8
  1020. package/header/header-link.js +3 -6
  1021. package/header/header.js +4 -7
  1022. package/header-action-common-C2YPvOxq.js +62 -0
  1023. package/header-environment.component-KqUmsOPQ.js +36 -0
  1024. package/header.component-BssLZ6b7.js +203 -0
  1025. package/header.js +9 -16
  1026. package/header.pure.js +6 -12
  1027. package/icon/icon-base.js +2 -105
  1028. package/icon/icon-name-mixin.js +59 -50
  1029. package/icon/icon-request.js +23 -29
  1030. package/icon/icon-validate.js +19 -25
  1031. package/icon/icon.component.js +88 -76
  1032. package/icon-base-BYJzaEDb.js +127 -0
  1033. package/icon-sidebar/icon-sidebar/icon-sidebar.component.js +2 -46
  1034. package/icon-sidebar/icon-sidebar-button/icon-sidebar-button.component.js +19 -15
  1035. package/icon-sidebar/icon-sidebar-button.js +3 -6
  1036. package/icon-sidebar/icon-sidebar-container/icon-sidebar-container.component.js +2 -25
  1037. package/icon-sidebar/icon-sidebar-container.js +4 -7
  1038. package/icon-sidebar/icon-sidebar-content/icon-sidebar-content.component.js +2 -16
  1039. package/icon-sidebar/icon-sidebar-content.js +4 -7
  1040. package/icon-sidebar/icon-sidebar-link/icon-sidebar-link.component.js +19 -15
  1041. package/icon-sidebar/icon-sidebar-link.js +3 -6
  1042. package/icon-sidebar/icon-sidebar.js +4 -7
  1043. package/icon-sidebar-container.component-BcoT4uhN.js +26 -0
  1044. package/icon-sidebar-content.component-toRpXgxi.js +20 -0
  1045. package/icon-sidebar.component-B5xCvDvj.js +62 -0
  1046. package/icon-sidebar.js +8 -16
  1047. package/icon-sidebar.pure.js +6 -12
  1048. package/icon.js +10 -14
  1049. package/icon.pure.js +6 -13
  1050. package/image/image.component.js +2 -455
  1051. package/image.component-Cq2t-XZu.js +413 -0
  1052. package/image.js +5 -4
  1053. package/image.pure.js +2 -4
  1054. package/inline-link-common-Dgdi7qpI.js +18 -0
  1055. package/journey-header/journey-header.component.js +2 -95
  1056. package/journey-header.component-CR8AO0b2.js +143 -0
  1057. package/journey-header.js +5 -4
  1058. package/journey-header.pure.js +2 -4
  1059. package/lead-container/lead-container.component.js +2 -23
  1060. package/lead-container.component-CXKHfBiS.js +27 -0
  1061. package/lead-container.js +5 -4
  1062. package/lead-container.pure.js +2 -4
  1063. package/link/block-link/block-link.component.js +9 -8
  1064. package/link/block-link-button/block-link-button.component.js +10 -9
  1065. package/link/block-link-button.js +6 -6
  1066. package/link/block-link-static/block-link-static.component.js +10 -9
  1067. package/link/block-link-static.js +4 -4
  1068. package/link/block-link.js +6 -6
  1069. package/link/common/block-link-common.js +3 -44
  1070. package/link/common/inline-link-common.js +3 -13
  1071. package/link/common/link-common.js +2 -9
  1072. package/link/common.js +4 -8
  1073. package/link/link/link.component.js +10 -9
  1074. package/link/link-button/link-button.component.js +10 -9
  1075. package/link/link-button.js +4 -4
  1076. package/link/link-static/link-static.component.js +10 -9
  1077. package/link/link-static.js +4 -4
  1078. package/link/link.js +6 -6
  1079. package/link-common-CYxyP4XZ.js +52 -0
  1080. package/link-list/common/link-list-base.js +2 -90
  1081. package/link-list/common.js +5 -7
  1082. package/link-list/link-list-anchor.js +6 -8
  1083. package/link-list/link-list.component.js +3 -47
  1084. package/link-list/link-list.js +5 -7
  1085. package/link-list-anchor/link-list-anchor.component.js +2 -10
  1086. package/link-list-anchor.component--u5j_aqv.js +18 -0
  1087. package/link-list-anchor.js +5 -4
  1088. package/link-list-anchor.pure.js +2 -4
  1089. package/link-list-base-CzFYpTOG.js +115 -0
  1090. package/link-list.component-9ndHNGPS.js +78 -0
  1091. package/link-list.js +8 -10
  1092. package/link-list.pure.js +3 -7
  1093. package/link.js +12 -25
  1094. package/link.pure.js +11 -20
  1095. package/loading-indicator/loading-indicator.component.js +2 -65
  1096. package/loading-indicator-circle/loading-indicator-circle.component.js +2 -45
  1097. package/loading-indicator-circle.component-CfbXpYX6.js +62 -0
  1098. package/loading-indicator-circle.js +5 -4
  1099. package/loading-indicator-circle.pure.js +2 -4
  1100. package/loading-indicator.component-CoU9mwN8.js +92 -0
  1101. package/loading-indicator.js +5 -4
  1102. package/loading-indicator.pure.js +2 -4
  1103. package/logo/logo.component.js +2 -67
  1104. package/logo.component-nxragzaC.js +94 -0
  1105. package/logo.js +5 -4
  1106. package/logo.pure.js +2 -4
  1107. package/map-container/map-container.component.js +2 -108
  1108. package/map-container.component-C2W_7Xiw.js +128 -0
  1109. package/map-container.js +5 -4
  1110. package/map-container.pure.js +2 -4
  1111. package/menu/common/menu-action-common.js +2 -28
  1112. package/menu/common.js +5 -6
  1113. package/menu/menu/menu.component.js +2 -274
  1114. package/menu/menu-button/menu-button.component.js +13 -9
  1115. package/menu/menu-button.js +3 -6
  1116. package/menu/menu-link/menu-link.component.js +13 -12
  1117. package/menu/menu-link.js +3 -6
  1118. package/menu/menu.js +4 -7
  1119. package/menu-action-common-BcB_Tyvl.js +29 -0
  1120. package/menu.component-BdqUbvww.js +252 -0
  1121. package/menu.js +7 -12
  1122. package/menu.pure.js +5 -10
  1123. package/message/message.component.js +2 -23
  1124. package/message.component-DbmXg6DI.js +27 -0
  1125. package/message.js +5 -4
  1126. package/message.pure.js +2 -4
  1127. package/mini-button-group.component-D5Dph1Z7.js +89 -0
  1128. package/mini-button-link.component-BYK_EUud.js +31 -0
  1129. package/mini-calendar/mini-calendar/mini-calendar.component.js +2 -131
  1130. package/mini-calendar/mini-calendar-day/mini-calendar-day.component.js +2 -66
  1131. package/mini-calendar/mini-calendar-day.js +4 -7
  1132. package/mini-calendar/mini-calendar-month/mini-calendar-month.component.js +2 -63
  1133. package/mini-calendar/mini-calendar-month.js +4 -7
  1134. package/mini-calendar/mini-calendar.js +4 -7
  1135. package/mini-calendar-day.component-cAawa9Gr.js +106 -0
  1136. package/mini-calendar-month.component-DiYSVb-Y.js +74 -0
  1137. package/mini-calendar.component-DpPMb47Y.js +144 -0
  1138. package/mini-calendar.js +7 -11
  1139. package/mini-calendar.pure.js +4 -8
  1140. package/navigation/common/navigation-action-common.js +2 -57
  1141. package/navigation/common.js +5 -6
  1142. package/navigation/navigation/navigation.component.js +2 -188
  1143. package/navigation/navigation-button/navigation-button.component.js +9 -8
  1144. package/navigation/navigation-button.js +3 -6
  1145. package/navigation/navigation-link/navigation-link.component.js +9 -8
  1146. package/navigation/navigation-link.js +3 -6
  1147. package/navigation/navigation-list/navigation-list.component.js +2 -59
  1148. package/navigation/navigation-list.js +4 -7
  1149. package/navigation/navigation-marker/navigation-marker.component.js +2 -82
  1150. package/navigation/navigation-marker.js +4 -7
  1151. package/navigation/navigation-section/navigation-section.component.js +2 -224
  1152. package/navigation/navigation-section.js +4 -7
  1153. package/navigation/navigation.js +4 -7
  1154. package/navigation-action-common-Dcb95pqU.js +64 -0
  1155. package/navigation-list.component-BhV-uAfU.js +71 -0
  1156. package/navigation-marker.component-CIUu5VVZ.js +88 -0
  1157. package/navigation-section.component-DwEXj603.js +237 -0
  1158. package/navigation.component-BYqJ9Cqt.js +208 -0
  1159. package/navigation.js +11 -22
  1160. package/navigation.pure.js +8 -16
  1161. package/notification/notification.component.js +2 -165
  1162. package/notification.component-DZS8z1oa.js +197 -0
  1163. package/notification.js +5 -4
  1164. package/notification.pure.js +2 -4
  1165. package/optgroup-base-element-DWKHCat8.js +107 -0
  1166. package/option/optgroup/optgroup-base-element.js +2 -83
  1167. package/option/optgroup/optgroup.component.js +29 -30
  1168. package/option/optgroup.js +5 -9
  1169. package/option/option/option-base-element.js +257 -201
  1170. package/option/option/option.component.js +2 -87
  1171. package/option/option-hint/option-hint.component.js +2 -19
  1172. package/option/option-hint.js +4 -7
  1173. package/option/option.js +5 -9
  1174. package/option-hint.component-Goyhv5ss.js +23 -0
  1175. package/option.component-uzmmREt4.js +98 -0
  1176. package/option.js +9 -15
  1177. package/option.pure.js +6 -12
  1178. package/overlay/overlay-base-element.js +154 -149
  1179. package/overlay/overlay.component.js +2 -138
  1180. package/overlay.component-r0Rp_b-3.js +163 -0
  1181. package/overlay.js +7 -10
  1182. package/overlay.pure.js +3 -9
  1183. package/package.json +2 -2
  1184. package/paginator/common/paginator-common.js +268 -201
  1185. package/paginator/common.js +5 -6
  1186. package/paginator/compact-paginator/compact-paginator.component.js +2 -40
  1187. package/paginator/compact-paginator.js +4 -7
  1188. package/paginator/paginator/paginator.component.js +2 -175
  1189. package/paginator/paginator.js +4 -7
  1190. package/paginator.component-D_fV260x.js +206 -0
  1191. package/paginator.js +7 -10
  1192. package/paginator.pure.js +3 -7
  1193. package/popover/popover.component.js +2 -316
  1194. package/popover.component-Dh9vbuDG.js +353 -0
  1195. package/popover.js +5 -6
  1196. package/popover.pure.js +2 -5
  1197. package/radio-button/common/radio-button-common.js +2 -63
  1198. package/radio-button/common.js +5 -7
  1199. package/radio-button/radio-button-group.js +2 -3
  1200. package/radio-button/radio-button-panel.js +2 -3
  1201. package/radio-button/radio-button.component.js +3 -71
  1202. package/radio-button/radio-button.js +5 -7
  1203. package/radio-button-common-CCQ3bJPI.js +77 -0
  1204. package/radio-button-group/radio-button-group.component.js +2 -167
  1205. package/radio-button-group.component-Cf8r6Whf.js +232 -0
  1206. package/radio-button-group.js +6 -5
  1207. package/radio-button-group.pure.js +2 -4
  1208. package/radio-button-panel/radio-button-panel.component.js +78 -68
  1209. package/radio-button-panel.js +4 -3
  1210. package/radio-button-panel.pure.js +2 -4
  1211. package/radio-button.component-B5b5OhBw.js +93 -0
  1212. package/radio-button.js +9 -13
  1213. package/radio-button.pure.js +3 -7
  1214. package/sbb-tokens-BJzKBCf8.js +4 -0
  1215. package/screen-reader-only/screen-reader-only.component.js +2 -12
  1216. package/screen-reader-only.component-B06hVxPg.js +16 -0
  1217. package/screen-reader-only.js +5 -4
  1218. package/screen-reader-only.pure.js +2 -4
  1219. package/select/select.component.js +2 -498
  1220. package/select.component-BZbDGrv8.js +522 -0
  1221. package/select.js +5 -4
  1222. package/select.pure.js +2 -4
  1223. package/selection-action-panel/selection-action-panel.component.js +2 -33
  1224. package/selection-action-panel.component-_kh6l2sj.js +35 -0
  1225. package/selection-action-panel.js +5 -4
  1226. package/selection-action-panel.pure.js +2 -4
  1227. package/selection-expansion-panel/selection-expansion-panel.component.js +2 -116
  1228. package/selection-expansion-panel.component-ChMYCw38.js +144 -0
  1229. package/selection-expansion-panel.js +5 -4
  1230. package/selection-expansion-panel.pure.js +2 -4
  1231. package/sidebar/common/styles.js +2 -6
  1232. package/sidebar/common.js +5 -8
  1233. package/sidebar/sidebar/sidebar.component.js +2 -182
  1234. package/sidebar/sidebar-close-button/sidebar-close-button.component.js +2 -26
  1235. package/sidebar/sidebar-close-button.js +4 -7
  1236. package/sidebar/sidebar-container/sidebar-container.component.js +2 -76
  1237. package/sidebar/sidebar-container.js +4 -7
  1238. package/sidebar/sidebar-content/sidebar-content.component.js +2 -16
  1239. package/sidebar/sidebar-content.js +4 -7
  1240. package/sidebar/sidebar-title/sidebar-title.component.js +2 -39
  1241. package/sidebar/sidebar-title.js +4 -7
  1242. package/sidebar/sidebar.js +4 -7
  1243. package/sidebar-close-button.component-B9QGnQLs.js +30 -0
  1244. package/sidebar-container.component-BW24Ap9F.js +63 -0
  1245. package/sidebar-content.component-DSTp9Iu6.js +20 -0
  1246. package/sidebar-title.component-COjEsAkk.js +53 -0
  1247. package/sidebar.component-C2YYQj-Q.js +238 -0
  1248. package/sidebar.js +9 -17
  1249. package/sidebar.pure.js +6 -12
  1250. package/signet/signet.component.js +2 -74
  1251. package/signet.component-CixiIpLj.js +101 -0
  1252. package/signet.js +5 -4
  1253. package/signet.pure.js +2 -4
  1254. package/skiplink-list/skiplink-list.component.js +2 -77
  1255. package/skiplink-list.component-CINJgt_l.js +102 -0
  1256. package/skiplink-list.js +5 -4
  1257. package/skiplink-list.pure.js +2 -4
  1258. package/slider/slider.component.js +2 -200
  1259. package/slider.component-BhtuB-8p.js +249 -0
  1260. package/slider.js +5 -4
  1261. package/slider.pure.js +2 -4
  1262. package/status/status.component.js +2 -69
  1263. package/status.component-BZ8zajOL.js +83 -0
  1264. package/status.js +5 -4
  1265. package/status.pure.js +2 -4
  1266. package/step-label.component-COJYo-MI.js +82 -0
  1267. package/step.component-BIOQdZVR.js +94 -0
  1268. package/stepper/step/step.component.js +2 -111
  1269. package/stepper/step-label/step-label.component.js +2 -96
  1270. package/stepper/step-label.js +4 -7
  1271. package/stepper/step.js +4 -7
  1272. package/stepper/stepper/stepper.component.js +2 -236
  1273. package/stepper/stepper.js +4 -9
  1274. package/stepper.component-D2vhtDCy.js +286 -0
  1275. package/stepper.js +7 -13
  1276. package/stepper.pure.js +4 -9
  1277. package/sticky-bar.component-CYCOEGz7.js +141 -0
  1278. package/styles-DpIXFSVm.js +5 -0
  1279. package/styles-uZGSPqgK.js +5 -0
  1280. package/tab-group.component-nprcnwFB.js +185 -0
  1281. package/tab-label.component-BeLuYRBg.js +165 -0
  1282. package/tab-nav-bar.component-Du1JyNtu.js +81 -0
  1283. package/tab.component-D8Rz05Fo.js +48 -0
  1284. package/table/table-wrapper/table-wrapper.component.js +2 -70
  1285. package/table/table-wrapper.js +4 -7
  1286. package/table-wrapper.component-DkaL4T5V.js +83 -0
  1287. package/table.js +5 -4
  1288. package/table.pure.js +2 -4
  1289. package/tabs/common/styles.js +2 -5
  1290. package/tabs/common.js +5 -7
  1291. package/tabs/tab/tab.component.js +2 -46
  1292. package/tabs/tab-group/tab-group.component.js +2 -167
  1293. package/tabs/tab-group.js +4 -7
  1294. package/tabs/tab-label/tab-label.component.js +2 -128
  1295. package/tabs/tab-label.js +4 -7
  1296. package/tabs/tab-nav-bar/tab-nav-bar.component.js +2 -67
  1297. package/tabs/tab-nav-bar.js +4 -7
  1298. package/tabs/tab.js +4 -7
  1299. package/tabs.js +9 -17
  1300. package/tabs.pure.js +6 -13
  1301. package/tag/tag/tag.component.js +2 -128
  1302. package/tag/tag-group/tag-group.component.js +2 -119
  1303. package/tag/tag-group.js +4 -7
  1304. package/tag/tag.js +4 -7
  1305. package/tag-group.component-CW6Z9-P6.js +143 -0
  1306. package/tag.component-CvZpvIuw.js +170 -0
  1307. package/tag.js +6 -8
  1308. package/tag.pure.js +3 -6
  1309. package/teaser/teaser.component.js +2 -80
  1310. package/teaser-hero/teaser-hero.component.js +2 -62
  1311. package/teaser-hero.component-Dolg4-Yz.js +80 -0
  1312. package/teaser-hero.js +5 -4
  1313. package/teaser-hero.pure.js +2 -4
  1314. package/teaser-product/common/teaser-product-common.js +2 -54
  1315. package/teaser-product/common.js +5 -7
  1316. package/teaser-product/teaser-product/teaser-product.component.js +2 -28
  1317. package/teaser-product/teaser-product-static/teaser-product-static.component.js +13 -9
  1318. package/teaser-product/teaser-product-static.js +3 -6
  1319. package/teaser-product/teaser-product.js +4 -7
  1320. package/teaser-product-common-q2IZHbkr.js +62 -0
  1321. package/teaser-product.component-DVdyKe6h.js +29 -0
  1322. package/teaser-product.js +7 -11
  1323. package/teaser-product.pure.js +4 -9
  1324. package/teaser.component-DPvDVG6b.js +91 -0
  1325. package/teaser.js +5 -4
  1326. package/teaser.pure.js +2 -4
  1327. package/time-input/time-input.component.js +2 -128
  1328. package/time-input.component-ChWhDF5l.js +141 -0
  1329. package/time-input.js +5 -4
  1330. package/time-input.pure.js +2 -4
  1331. package/timetable-form/timetable-form/timetable-form.component.js +2 -12
  1332. package/timetable-form/timetable-form-details/timetable-form-details.component.js +2 -12
  1333. package/timetable-form/timetable-form-details.js +4 -7
  1334. package/timetable-form/timetable-form-field/timetable-form-field.component.js +2 -26
  1335. package/timetable-form/timetable-form-field.js +4 -7
  1336. package/timetable-form/timetable-form-swap-button/timetable-form-swap-button.component.js +2 -33
  1337. package/timetable-form/timetable-form-swap-button.js +4 -7
  1338. package/timetable-form/timetable-form.js +4 -7
  1339. package/timetable-form-details.component-Du6WPn3y.js +16 -0
  1340. package/timetable-form-field.component-Cb3FYKL7.js +32 -0
  1341. package/timetable-form-swap-button.component-ByQDf7oy.js +37 -0
  1342. package/timetable-form.component-BqokC_4S.js +16 -0
  1343. package/timetable-form.js +8 -14
  1344. package/timetable-form.pure.js +5 -10
  1345. package/timetable-occupancy/timetable-occupancy.component.js +2 -77
  1346. package/timetable-occupancy-icon/timetable-occupancy-icon.component.js +2 -61
  1347. package/timetable-occupancy-icon.component-BhXQSFZR.js +72 -0
  1348. package/timetable-occupancy-icon.js +5 -4
  1349. package/timetable-occupancy-icon.pure.js +2 -4
  1350. package/timetable-occupancy.component-DnaQ0TIW.js +101 -0
  1351. package/timetable-occupancy.js +5 -4
  1352. package/timetable-occupancy.pure.js +2 -4
  1353. package/title/title-base.js +2 -53
  1354. package/title/title.component.js +3 -37
  1355. package/title-base-D4nE41tH.js +80 -0
  1356. package/title.component-DNBy2mIm.js +54 -0
  1357. package/title.js +7 -7
  1358. package/title.pure.js +3 -6
  1359. package/toast/toast.component.js +2 -180
  1360. package/toast.component-B9Gm8Kls.js +189 -0
  1361. package/toast.js +5 -4
  1362. package/toast.pure.js +2 -4
  1363. package/toggle/toggle/toggle.component.js +2 -147
  1364. package/toggle/toggle-option/toggle-option.component.js +2 -90
  1365. package/toggle/toggle-option.js +4 -7
  1366. package/toggle/toggle.js +4 -7
  1367. package/toggle-check/toggle-check.component.js +2 -85
  1368. package/toggle-check.component-BcxMe5Zi.js +119 -0
  1369. package/toggle-check.js +5 -4
  1370. package/toggle-check.pure.js +2 -4
  1371. package/toggle-option.component-DvdEjT2c.js +123 -0
  1372. package/toggle.component-Lnj5TugJ.js +161 -0
  1373. package/toggle.js +6 -8
  1374. package/toggle.pure.js +3 -6
  1375. package/tooltip/tooltip.component.js +2 -197
  1376. package/tooltip.component-B5fKuZdI.js +228 -0
  1377. package/tooltip.js +5 -4
  1378. package/tooltip.pure.js +2 -4
  1379. package/train/train/train.component.js +2 -123
  1380. package/train/train-blocked-passage/train-blocked-passage.component.js +2 -19
  1381. package/train/train-blocked-passage.js +4 -7
  1382. package/train/train-formation/train-formation.component.js +2 -93
  1383. package/train/train-formation.js +4 -7
  1384. package/train/train-wagon/train-wagon.component.js +2 -174
  1385. package/train/train-wagon.js +4 -7
  1386. package/train/train.js +4 -7
  1387. package/train-blocked-passage.component-Dz7lD_V1.js +23 -0
  1388. package/train-formation.component-CGTqQgp7.js +121 -0
  1389. package/train-wagon.component-BW-JxcK6.js +259 -0
  1390. package/train.component-B_Nlu8Kh.js +176 -0
  1391. package/train.js +8 -14
  1392. package/train.pure.js +5 -10
  1393. package/visual-checkbox/visual-checkbox.component.js +2 -81
  1394. package/visual-checkbox.component-bB_pG0vn.js +118 -0
  1395. package/visual-checkbox.js +5 -4
  1396. package/visual-checkbox.pure.js +2 -4
  1397. package/development/icon-sidebar-button-common-DR6eQvkq.js +0 -93
  1398. package/development/link-common-d27fHmQw.js +0 -111
  1399. package/development/mini-button-label-common-BaMSfSTe.js +0 -558
  1400. package/development/sbb-tokens-DQT_xEIZ.js +0 -19
  1401. package/development/tab-label-common-Mfl36Rsa.js +0 -171
  1402. package/icon-sidebar-button-common-ffAscVDk.js +0 -7
  1403. package/link-common-7IiqjmPD.js +0 -45
  1404. package/mini-button-label-common-Dx9JhmQ6.js +0 -11
  1405. package/sbb-tokens-HiNSQasB.js +0 -11
  1406. package/tab-label-common-D6k40yRU.js +0 -6
@@ -1,157 +1,2 @@
1
- import { IntersectionController } from "@lit-labs/observers/intersection-controller.js";
2
- import { ResizeController } from "@lit-labs/observers/resize-controller.js";
3
- import { css, html } from "lit";
4
- import { isArrowKeyPressed } from "../../core/a11y.js";
5
- import { SbbElement } from "../../core/base-elements.js";
6
- import { SbbLanguageController } from "../../core/controllers.js";
7
- import { i18nCarouselItemAriaLabel } from "../../core/i18n.js";
8
- const style = css`:host {
9
- --sbb-carousel-list-border-radius: var(--sbb-border-radius-4x);
10
- display: flex;
11
- height: var(--sbb-carousel-list-height);
12
- width: var(--sbb-carousel-list-width, 0);
13
- overflow-x: auto;
14
- scroll-snap-type: x mandatory;
15
- scroll-behavior: smooth;
16
- scrollbar-width: none;
17
- outline: none;
18
- border-radius: var(--sbb-carousel-inherit-border-radius);
19
- }
20
-
21
- :host(:focus-visible)::before {
22
- outline-offset: var(--sbb-focus-outline-offset);
23
- outline: var(--sbb-focus-outline-color) var(--sbb-focus-outline-style, solid) var(--sbb-focus-outline-width);
24
- content: "";
25
- position: absolute;
26
- height: inherit;
27
- width: inherit;
28
- border-start-start-radius: var(--sbb-carousel-list-border-radius);
29
- border-start-end-radius: var(--sbb-carousel-list-border-radius);
30
- border-end-start-radius: var(--sbb-carousel-inherit-border-radius);
31
- border-end-end-radius: var(--sbb-carousel-inherit-border-radius);
32
- }`;
33
- const _SbbCarouselListElement = class _SbbCarouselListElement extends SbbElement {
34
- constructor() {
35
- super();
36
- this._currentIndex = 0;
37
- this._language = new SbbLanguageController(this);
38
- this._observedCarouselItems = [];
39
- this._beforeShowObserver = new IntersectionController(this, {
40
- target: null,
41
- callback: (entry) => {
42
- const item = entry.filter((e) => e.isIntersecting && e.target !== this);
43
- item.forEach((e) => {
44
- const target = e.target;
45
- target.dispatchEvent(new CustomEvent("beforeshow", {
46
- detail: { index: this._carouselItems().findIndex((e2) => e2 === target) },
47
- bubbles: true,
48
- composed: true
49
- }));
50
- });
51
- },
52
- config: { threshold: 0.01, root: this, rootMargin: "100% 0% 100% 0%" }
53
- });
54
- this._showObserver = new IntersectionController(this, {
55
- target: null,
56
- callback: (entryArr) => {
57
- for (const entry of entryArr) {
58
- if (entry.target === this) {
59
- continue;
60
- }
61
- const target = entry.target;
62
- if (entry.isIntersecting) {
63
- target.ariaHidden = null;
64
- this._currentIndex = this._carouselItems().findIndex((el) => el === target);
65
- target.dispatchEvent(new CustomEvent("show", {
66
- detail: { index: this._currentIndex },
67
- bubbles: true,
68
- composed: true
69
- }));
70
- } else {
71
- target.ariaHidden = "true";
72
- }
73
- }
74
- },
75
- config: { threshold: 0.99, root: this, rootMargin: "100% 0% 100% 0%" }
76
- });
77
- this._resizeObserverController = new ResizeController(this, {
78
- skipInitial: true,
79
- callback: () => this._readDimensions()
80
- });
81
- this.addEventListener?.("keydown", (e) => this._onKeyDown(e));
82
- }
83
- /** Gets the slotted items. */
84
- _carouselItems() {
85
- return Array.from(this.querySelectorAll?.("sbb-carousel-item") ?? []);
86
- }
87
- _handleSlotchange() {
88
- this._observedCarouselItems.forEach((item) => {
89
- this._beforeShowObserver.unobserve(item);
90
- this._showObserver.unobserve(item);
91
- });
92
- const carouselItems = this._carouselItems();
93
- carouselItems.forEach((item, index) => {
94
- item.ariaLabel ||= i18nCarouselItemAriaLabel(index + 1, carouselItems.length)[this._language.current];
95
- item.ariaHidden = index === this._currentIndex ? null : "true";
96
- });
97
- this._readDimensions();
98
- }
99
- /**
100
- * Reads the dimensions of the first carousel item and sets the CSS properties accordingly.
101
- * Should set the dimensions only once, when the first item becomes visible and if the value is non-zero.
102
- */
103
- _readDimensions() {
104
- const carouselItems = this._carouselItems();
105
- if (carouselItems.length === 0) {
106
- return;
107
- }
108
- const firstItem = carouselItems[0];
109
- if (firstItem.clientHeight > 0) {
110
- this.style.setProperty("--sbb-carousel-list-height", `${firstItem.clientHeight}px`);
111
- }
112
- if (firstItem.clientWidth > 0) {
113
- this.style.setProperty("--sbb-carousel-list-width", `${firstItem.clientWidth}px`);
114
- carouselItems.forEach((item) => {
115
- this._beforeShowObserver.observe(item);
116
- this._showObserver.observe(item);
117
- });
118
- this._observedCarouselItems = carouselItems;
119
- this._resizeObserverController.unobserve(this);
120
- }
121
- }
122
- _onKeyDown(evt) {
123
- if (!isArrowKeyPressed(evt)) {
124
- return;
125
- }
126
- evt.preventDefault();
127
- let newIndex = this._currentIndex;
128
- const isPrev = evt.key === "ArrowUp" || evt.key === "ArrowLeft";
129
- const isNext = evt.key === "ArrowDown" || evt.key === "ArrowRight";
130
- if (isPrev) {
131
- newIndex = Math.max(0, this._currentIndex - 1);
132
- } else if (isNext) {
133
- newIndex = Math.min(this._carouselItems().length - 1, this._currentIndex + 1);
134
- }
135
- if (newIndex !== this._currentIndex) {
136
- this._currentIndex = newIndex;
137
- this.scrollTo({
138
- left: this._carouselItems()[this._currentIndex].offsetLeft - this.offsetLeft
139
- });
140
- }
141
- }
142
- connectedCallback() {
143
- super.connectedCallback();
144
- this.internals.ariaLive = "polite";
145
- this.internals.ariaAtomic = "true";
146
- }
147
- render() {
148
- return html`<slot @slotchange=${this._handleSlotchange}></slot>`;
149
- }
150
- };
151
- _SbbCarouselListElement.elementName = "sbb-carousel-list";
152
- _SbbCarouselListElement.styles = style;
153
- let SbbCarouselListElement = _SbbCarouselListElement;
154
- export {
155
- SbbCarouselListElement
156
- };
157
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jYXJvdXNlbC9jYXJvdXNlbC1saXN0L2Nhcm91c2VsLWxpc3QuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEludGVyc2VjdGlvbkNvbnRyb2xsZXIgfSBmcm9tICdAbGl0LWxhYnMvb2JzZXJ2ZXJzL2ludGVyc2VjdGlvbi1jb250cm9sbGVyLmpzJztcbmltcG9ydCB7IFJlc2l6ZUNvbnRyb2xsZXIgfSBmcm9tICdAbGl0LWxhYnMvb2JzZXJ2ZXJzL3Jlc2l6ZS1jb250cm9sbGVyLmpzJztcbmltcG9ydCB7IHR5cGUgQ1NTUmVzdWx0R3JvdXAsIGh0bWwsIHR5cGUgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuXG5pbXBvcnQgeyBpc0Fycm93S2V5UHJlc3NlZCB9IGZyb20gJy4uLy4uL2NvcmUvYTExeS50cyc7XG5pbXBvcnQgeyBTYmJFbGVtZW50IH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlLWVsZW1lbnRzLnRzJztcbmltcG9ydCB7IFNiYkxhbmd1YWdlQ29udHJvbGxlciB9IGZyb20gJy4uLy4uL2NvcmUvY29udHJvbGxlcnMudHMnO1xuaW1wb3J0IHsgaTE4bkNhcm91c2VsSXRlbUFyaWFMYWJlbCB9IGZyb20gJy4uLy4uL2NvcmUvaTE4bi50cyc7XG5pbXBvcnQgdHlwZSB7XG4gIFNiYkNhcm91c2VsSXRlbUVsZW1lbnQsXG4gIFNiYkNhcm91c2VsSXRlbUV2ZW50RGV0YWlsLFxufSBmcm9tICcuLi9jYXJvdXNlbC1pdGVtL2Nhcm91c2VsLWl0ZW0uY29tcG9uZW50LnRzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vY2Fyb3VzZWwtbGlzdC5zY3NzP2xpdCZpbmxpbmUnO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGEgbGlzdCBvZiBgc2JiLWNhcm91c2VsLWl0ZW1gIGNvbXBvbmVudHMuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgYHNiYi1jYXJvdXNlbC1pdGVtYCBlbGVtZW50cy5cbiAqL1xuZXhwb3J0IGNsYXNzIFNiYkNhcm91c2VsTGlzdEVsZW1lbnQgZXh0ZW5kcyBTYmJFbGVtZW50IHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSBlbGVtZW50TmFtZTogc3RyaW5nID0gJ3NiYi1jYXJvdXNlbC1saXN0JztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gc3R5bGU7XG5cbiAgcHJpdmF0ZSBfY3VycmVudEluZGV4ID0gMDtcbiAgcHJpdmF0ZSBfbGFuZ3VhZ2UgPSBuZXcgU2JiTGFuZ3VhZ2VDb250cm9sbGVyKHRoaXMpO1xuICBwcml2YXRlIF9vYnNlcnZlZENhcm91c2VsSXRlbXM6IFNiYkNhcm91c2VsSXRlbUVsZW1lbnRbXSA9IFtdO1xuXG4gIHByaXZhdGUgX2JlZm9yZVNob3dPYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25Db250cm9sbGVyKHRoaXMsIHtcbiAgICB0YXJnZXQ6IG51bGwsXG4gICAgY2FsbGJhY2s6IChlbnRyeSkgPT4ge1xuICAgICAgY29uc3QgaXRlbSA9IGVudHJ5LmZpbHRlcigoZSkgPT4gZS5pc0ludGVyc2VjdGluZyAmJiBlLnRhcmdldCAhPT0gdGhpcyk7XG4gICAgICBpdGVtLmZvckVhY2goKGUpID0+IHtcbiAgICAgICAgY29uc3QgdGFyZ2V0ID0gZS50YXJnZXQgYXMgU2JiQ2Fyb3VzZWxJdGVtRWxlbWVudDtcbiAgICAgICAgdGFyZ2V0LmRpc3BhdGNoRXZlbnQoXG4gICAgICAgICAgbmV3IEN1c3RvbUV2ZW50PFNiYkNhcm91c2VsSXRlbUV2ZW50RGV0YWlsPignYmVmb3Jlc2hvdycsIHtcbiAgICAgICAgICAgIGRldGFpbDogeyBpbmRleDogdGhpcy5fY2Fyb3VzZWxJdGVtcygpLmZpbmRJbmRleCgoZSkgPT4gZSA9PT0gdGFyZ2V0KSB9LFxuICAgICAgICAgICAgYnViYmxlczogdHJ1ZSxcbiAgICAgICAgICAgIGNvbXBvc2VkOiB0cnVlLFxuICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgICAgfSk7XG4gICAgfSxcbiAgICBjb25maWc6IHsgdGhyZXNob2xkOiAwLjAxLCByb290OiB0aGlzLCByb290TWFyZ2luOiAnMTAwJSAwJSAxMDAlIDAlJyB9LFxuICB9KTtcblxuICBwcml2YXRlIF9zaG93T2JzZXJ2ZXIgPSBuZXcgSW50ZXJzZWN0aW9uQ29udHJvbGxlcih0aGlzLCB7XG4gICAgdGFyZ2V0OiBudWxsLFxuICAgIGNhbGxiYWNrOiAoZW50cnlBcnIpID0+IHtcbiAgICAgIGZvciAoY29uc3QgZW50cnkgb2YgZW50cnlBcnIpIHtcbiAgICAgICAgaWYgKGVudHJ5LnRhcmdldCA9PT0gdGhpcykge1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHRhcmdldCA9IGVudHJ5LnRhcmdldCBhcyBTYmJDYXJvdXNlbEl0ZW1FbGVtZW50O1xuICAgICAgICBpZiAoZW50cnkuaXNJbnRlcnNlY3RpbmcpIHtcbiAgICAgICAgICB0YXJnZXQuYXJpYUhpZGRlbiA9IG51bGw7XG4gICAgICAgICAgdGhpcy5fY3VycmVudEluZGV4ID0gdGhpcy5fY2Fyb3VzZWxJdGVtcygpLmZpbmRJbmRleCgoZWwpID0+IGVsID09PSB0YXJnZXQpO1xuICAgICAgICAgIHRhcmdldC5kaXNwYXRjaEV2ZW50KFxuICAgICAgICAgICAgbmV3IEN1c3RvbUV2ZW50PFNiYkNhcm91c2VsSXRlbUV2ZW50RGV0YWlsPignc2hvdycsIHtcbiAgICAgICAgICAgICAgZGV0YWlsOiB7IGluZGV4OiB0aGlzLl9jdXJyZW50SW5kZXggfSxcbiAgICAgICAgICAgICAgYnViYmxlczogdHJ1ZSxcbiAgICAgICAgICAgICAgY29tcG9zZWQ6IHRydWUsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRhcmdldC5hcmlhSGlkZGVuID0gJ3RydWUnO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgICBjb25maWc6IHsgdGhyZXNob2xkOiAwLjk5LCByb290OiB0aGlzLCByb290TWFyZ2luOiAnMTAwJSAwJSAxMDAlIDAlJyB9LFxuICB9KTtcblxuICBwcml2YXRlIF9yZXNpemVPYnNlcnZlckNvbnRyb2xsZXIgPSBuZXcgUmVzaXplQ29udHJvbGxlcih0aGlzLCB7XG4gICAgc2tpcEluaXRpYWw6IHRydWUsXG4gICAgY2FsbGJhY2s6ICgpID0+IHRoaXMuX3JlYWREaW1lbnNpb25zKCksXG4gIH0pO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuXG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ2tleWRvd24nLCAoZSkgPT4gdGhpcy5fb25LZXlEb3duKGUpKTtcbiAgfVxuXG4gIC8qKiBHZXRzIHRoZSBzbG90dGVkIGl0ZW1zLiAqL1xuICBwcml2YXRlIF9jYXJvdXNlbEl0ZW1zKCk6IFNiYkNhcm91c2VsSXRlbUVsZW1lbnRbXSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5xdWVyeVNlbGVjdG9yQWxsPy4oJ3NiYi1jYXJvdXNlbC1pdGVtJykgPz8gW10pO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlU2xvdGNoYW5nZSgpOiB2b2lkIHtcbiAgICAvLyBJbiBjYXNlIG9mIHJlbW92ZWQgY2Fyb3VzZWwgaXRlbXMsIHdlIG5lZWQgdG8gdW5vYnNlcnZlIHRoZSBjdXJyZW50IG9ic2VydmVycy5cbiAgICB0aGlzLl9vYnNlcnZlZENhcm91c2VsSXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgdGhpcy5fYmVmb3JlU2hvd09ic2VydmVyLnVub2JzZXJ2ZShpdGVtKTtcbiAgICAgIHRoaXMuX3Nob3dPYnNlcnZlci51bm9ic2VydmUoaXRlbSk7XG4gICAgfSk7XG5cbiAgICBjb25zdCBjYXJvdXNlbEl0ZW1zID0gdGhpcy5fY2Fyb3VzZWxJdGVtcygpO1xuXG4gICAgLy8gU2V0IHRoZSBhcmlhLWxhYmVsIGlmIG5vdCBwcm92aWRlZFxuICAgIGNhcm91c2VsSXRlbXMuZm9yRWFjaCgoaXRlbSwgaW5kZXgpID0+IHtcbiAgICAgIGl0ZW0uYXJpYUxhYmVsIHx8PSBpMThuQ2Fyb3VzZWxJdGVtQXJpYUxhYmVsKGluZGV4ICsgMSwgY2Fyb3VzZWxJdGVtcy5sZW5ndGgpW1xuICAgICAgICB0aGlzLl9sYW5ndWFnZS5jdXJyZW50XG4gICAgICBdO1xuICAgICAgaXRlbS5hcmlhSGlkZGVuID0gaW5kZXggPT09IHRoaXMuX2N1cnJlbnRJbmRleCA/IG51bGwgOiAndHJ1ZSc7XG4gICAgfSk7XG5cbiAgICB0aGlzLl9yZWFkRGltZW5zaW9ucygpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlYWRzIHRoZSBkaW1lbnNpb25zIG9mIHRoZSBmaXJzdCBjYXJvdXNlbCBpdGVtIGFuZCBzZXRzIHRoZSBDU1MgcHJvcGVydGllcyBhY2NvcmRpbmdseS5cbiAgICogU2hvdWxkIHNldCB0aGUgZGltZW5zaW9ucyBvbmx5IG9uY2UsIHdoZW4gdGhlIGZpcnN0IGl0ZW0gYmVjb21lcyB2aXNpYmxlIGFuZCBpZiB0aGUgdmFsdWUgaXMgbm9uLXplcm8uXG4gICAqL1xuICBwcml2YXRlIF9yZWFkRGltZW5zaW9ucygpOiB2b2lkIHtcbiAgICBjb25zdCBjYXJvdXNlbEl0ZW1zID0gdGhpcy5fY2Fyb3VzZWxJdGVtcygpO1xuICAgIGlmIChjYXJvdXNlbEl0ZW1zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGZpcnN0SXRlbSA9IGNhcm91c2VsSXRlbXNbMF07XG5cbiAgICBpZiAoZmlyc3RJdGVtLmNsaWVudEhlaWdodCA+IDApIHtcbiAgICAgIHRoaXMuc3R5bGUuc2V0UHJvcGVydHkoJy0tc2JiLWNhcm91c2VsLWxpc3QtaGVpZ2h0JywgYCR7Zmlyc3RJdGVtLmNsaWVudEhlaWdodH1weGApO1xuICAgIH1cblxuICAgIGlmIChmaXJzdEl0ZW0uY2xpZW50V2lkdGggPiAwKSB7XG4gICAgICB0aGlzLnN0eWxlLnNldFByb3BlcnR5KCctLXNiYi1jYXJvdXNlbC1saXN0LXdpZHRoJywgYCR7Zmlyc3RJdGVtLmNsaWVudFdpZHRofXB4YCk7XG5cbiAgICAgIC8vIFdlIHNob3VsZCBvbmx5IG9ic2VydmUgdGhlIGl0ZW1zIGlmIHRoZXkgaGF2ZSBhIG5vbi16ZXJvIHdpZHRoLiBPdGhlcndpc2UsIGFuIHVud2FudGVkIHNjcm9sbGluZyBjYW4gaGFwcGVuLlxuICAgICAgY2Fyb3VzZWxJdGVtcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgIHRoaXMuX2JlZm9yZVNob3dPYnNlcnZlci5vYnNlcnZlKGl0ZW0pO1xuICAgICAgICB0aGlzLl9zaG93T2JzZXJ2ZXIub2JzZXJ2ZShpdGVtKTtcbiAgICAgIH0pO1xuICAgICAgdGhpcy5fb2JzZXJ2ZWRDYXJvdXNlbEl0ZW1zID0gY2Fyb3VzZWxJdGVtcztcbiAgICAgIHRoaXMuX3Jlc2l6ZU9ic2VydmVyQ29udHJvbGxlci51bm9ic2VydmUodGhpcyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfb25LZXlEb3duKGV2dDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGlmICghaXNBcnJvd0tleVByZXNzZWQoZXZ0KSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBldnQucHJldmVudERlZmF1bHQoKTtcblxuICAgIGxldCBuZXdJbmRleCA9IHRoaXMuX2N1cnJlbnRJbmRleDtcbiAgICBjb25zdCBpc1ByZXYgPSBldnQua2V5ID09PSAnQXJyb3dVcCcgfHwgZXZ0LmtleSA9PT0gJ0Fycm93TGVmdCc7XG4gICAgY29uc3QgaXNOZXh0ID0gZXZ0LmtleSA9PT0gJ0Fycm93RG93bicgfHwgZXZ0LmtleSA9PT0gJ0Fycm93UmlnaHQnO1xuXG4gICAgaWYgKGlzUHJldikge1xuICAgICAgbmV3SW5kZXggPSBNYXRoLm1heCgwLCB0aGlzLl9jdXJyZW50SW5kZXggLSAxKTtcbiAgICB9IGVsc2UgaWYgKGlzTmV4dCkge1xuICAgICAgbmV3SW5kZXggPSBNYXRoLm1pbih0aGlzLl9jYXJvdXNlbEl0ZW1zKCkubGVuZ3RoIC0gMSwgdGhpcy5fY3VycmVudEluZGV4ICsgMSk7XG4gICAgfVxuXG4gICAgaWYgKG5ld0luZGV4ICE9PSB0aGlzLl9jdXJyZW50SW5kZXgpIHtcbiAgICAgIHRoaXMuX2N1cnJlbnRJbmRleCA9IG5ld0luZGV4O1xuICAgICAgdGhpcy5zY3JvbGxUbyh7XG4gICAgICAgIGxlZnQ6IHRoaXMuX2Nhcm91c2VsSXRlbXMoKVt0aGlzLl9jdXJyZW50SW5kZXhdLm9mZnNldExlZnQgLSB0aGlzLm9mZnNldExlZnQsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcblxuICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFMaXZlID0gJ3BvbGl0ZSc7XG4gICAgdGhpcy5pbnRlcm5hbHMuYXJpYUF0b21pYyA9ICd0cnVlJztcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYDxzbG90IEBzbG90Y2hhbmdlPSR7dGhpcy5faGFuZGxlU2xvdGNoYW5nZX0+PC9zbG90PmA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1jYXJvdXNlbC1saXN0JzogU2JiQ2Fyb3VzZWxMaXN0RWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbImUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBb0JNLE1BQU8sMEJBQVAsTUFBTyxnQ0FBK0IsV0FBVTtBQUFBLEVBeURwRCxjQUFBO0FBQ0UsVUFBQTtBQXRETSxTQUFBLGdCQUFnQjtBQUNoQixTQUFBLFlBQVksSUFBSSxzQkFBc0IsSUFBSTtBQUMxQyxTQUFBLHlCQUFtRCxDQUFBO0FBRW5ELFNBQUEsc0JBQXNCLElBQUksdUJBQXVCLE1BQU07QUFBQSxNQUM3RCxRQUFRO0FBQUEsTUFDUixVQUFVLENBQUMsVUFBUztBQUNsQixjQUFNLE9BQU8sTUFBTSxPQUFPLENBQUMsTUFBTSxFQUFFLGtCQUFrQixFQUFFLFdBQVcsSUFBSTtBQUN0RSxhQUFLLFFBQVEsQ0FBQyxNQUFLO0FBQ2pCLGdCQUFNLFNBQVMsRUFBRTtBQUNqQixpQkFBTyxjQUNMLElBQUksWUFBd0MsY0FBYztBQUFBLFlBQ3hELFFBQVEsRUFBRSxPQUFPLEtBQUssZUFBQSxFQUFpQixVQUFVLENBQUNBLE9BQU1BLE9BQU0sTUFBTSxFQUFBO0FBQUEsWUFDcEUsU0FBUztBQUFBLFlBQ1QsVUFBVTtBQUFBLFVBQUEsQ0FDWCxDQUFDO0FBQUEsUUFFTixDQUFDO0FBQUEsTUFDSDtBQUFBLE1BQ0EsUUFBUSxFQUFFLFdBQVcsTUFBTSxNQUFNLE1BQU0sWUFBWSxrQkFBQTtBQUFBLElBQWlCLENBQ3JFO0FBRU8sU0FBQSxnQkFBZ0IsSUFBSSx1QkFBdUIsTUFBTTtBQUFBLE1BQ3ZELFFBQVE7QUFBQSxNQUNSLFVBQVUsQ0FBQyxhQUFZO0FBQ3JCLG1CQUFXLFNBQVMsVUFBVTtBQUM1QixjQUFJLE1BQU0sV0FBVyxNQUFNO0FBQ3pCO0FBQUEsVUFDRjtBQUNBLGdCQUFNLFNBQVMsTUFBTTtBQUNyQixjQUFJLE1BQU0sZ0JBQWdCO0FBQ3hCLG1CQUFPLGFBQWE7QUFDcEIsaUJBQUssZ0JBQWdCLEtBQUssZUFBQSxFQUFpQixVQUFVLENBQUMsT0FBTyxPQUFPLE1BQU07QUFDMUUsbUJBQU8sY0FDTCxJQUFJLFlBQXdDLFFBQVE7QUFBQSxjQUNsRCxRQUFRLEVBQUUsT0FBTyxLQUFLLGNBQUE7QUFBQSxjQUN0QixTQUFTO0FBQUEsY0FDVCxVQUFVO0FBQUEsWUFBQSxDQUNYLENBQUM7QUFBQSxVQUVOLE9BQU87QUFDTCxtQkFBTyxhQUFhO0FBQUEsVUFDdEI7QUFBQSxRQUNGO0FBQUEsTUFDRjtBQUFBLE1BQ0EsUUFBUSxFQUFFLFdBQVcsTUFBTSxNQUFNLE1BQU0sWUFBWSxrQkFBQTtBQUFBLElBQWlCLENBQ3JFO0FBRU8sU0FBQSw0QkFBNEIsSUFBSSxpQkFBaUIsTUFBTTtBQUFBLE1BQzdELGFBQWE7QUFBQSxNQUNiLFVBQVUsTUFBTSxLQUFLLGdCQUFBO0FBQUEsSUFBZSxDQUNyQztBQUtDLFNBQUssbUJBQW1CLFdBQVcsQ0FBQyxNQUFNLEtBQUssV0FBVyxDQUFDLENBQUM7QUFBQSxFQUM5RDtBQUFBO0FBQUEsRUFHUSxpQkFBYztBQUNwQixXQUFPLE1BQU0sS0FBSyxLQUFLLG1CQUFtQixtQkFBbUIsS0FBSyxFQUFFO0FBQUEsRUFDdEU7QUFBQSxFQUVRLG9CQUFpQjtBQUV2QixTQUFLLHVCQUF1QixRQUFRLENBQUMsU0FBUTtBQUMzQyxXQUFLLG9CQUFvQixVQUFVLElBQUk7QUFDdkMsV0FBSyxjQUFjLFVBQVUsSUFBSTtBQUFBLElBQ25DLENBQUM7QUFFRCxVQUFNLGdCQUFnQixLQUFLLGVBQUE7QUFHM0Isa0JBQWMsUUFBUSxDQUFDLE1BQU0sVUFBUztBQUNwQyxXQUFLLGNBQWMsMEJBQTBCLFFBQVEsR0FBRyxjQUFjLE1BQU0sRUFDMUUsS0FBSyxVQUFVLE9BQU87QUFFeEIsV0FBSyxhQUFhLFVBQVUsS0FBSyxnQkFBZ0IsT0FBTztBQUFBLElBQzFELENBQUM7QUFFRCxTQUFLLGdCQUFBO0FBQUEsRUFDUDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFNUSxrQkFBZTtBQUNyQixVQUFNLGdCQUFnQixLQUFLLGVBQUE7QUFDM0IsUUFBSSxjQUFjLFdBQVcsR0FBRztBQUM5QjtBQUFBLElBQ0Y7QUFFQSxVQUFNLFlBQVksY0FBYyxDQUFDO0FBRWpDLFFBQUksVUFBVSxlQUFlLEdBQUc7QUFDOUIsV0FBSyxNQUFNLFlBQVksOEJBQThCLEdBQUcsVUFBVSxZQUFZLElBQUk7QUFBQSxJQUNwRjtBQUVBLFFBQUksVUFBVSxjQUFjLEdBQUc7QUFDN0IsV0FBSyxNQUFNLFlBQVksNkJBQTZCLEdBQUcsVUFBVSxXQUFXLElBQUk7QUFHaEYsb0JBQWMsUUFBUSxDQUFDLFNBQVE7QUFDN0IsYUFBSyxvQkFBb0IsUUFBUSxJQUFJO0FBQ3JDLGFBQUssY0FBYyxRQUFRLElBQUk7QUFBQSxNQUNqQyxDQUFDO0FBQ0QsV0FBSyx5QkFBeUI7QUFDOUIsV0FBSywwQkFBMEIsVUFBVSxJQUFJO0FBQUEsSUFDL0M7QUFBQSxFQUNGO0FBQUEsRUFFUSxXQUFXLEtBQWtCO0FBQ25DLFFBQUksQ0FBQyxrQkFBa0IsR0FBRyxHQUFHO0FBQzNCO0FBQUEsSUFDRjtBQUNBLFFBQUksZUFBQTtBQUVKLFFBQUksV0FBVyxLQUFLO0FBQ3BCLFVBQU0sU0FBUyxJQUFJLFFBQVEsYUFBYSxJQUFJLFFBQVE7QUFDcEQsVUFBTSxTQUFTLElBQUksUUFBUSxlQUFlLElBQUksUUFBUTtBQUV0RCxRQUFJLFFBQVE7QUFDVixpQkFBVyxLQUFLLElBQUksR0FBRyxLQUFLLGdCQUFnQixDQUFDO0FBQUEsSUFDL0MsV0FBVyxRQUFRO0FBQ2pCLGlCQUFXLEtBQUssSUFBSSxLQUFLLGVBQUEsRUFBaUIsU0FBUyxHQUFHLEtBQUssZ0JBQWdCLENBQUM7QUFBQSxJQUM5RTtBQUVBLFFBQUksYUFBYSxLQUFLLGVBQWU7QUFDbkMsV0FBSyxnQkFBZ0I7QUFDckIsV0FBSyxTQUFTO0FBQUEsUUFDWixNQUFNLEtBQUssZUFBQSxFQUFpQixLQUFLLGFBQWEsRUFBRSxhQUFhLEtBQUs7QUFBQSxNQUFBLENBQ25FO0FBQUEsSUFDSDtBQUFBLEVBQ0Y7QUFBQSxFQUVnQixvQkFBaUI7QUFDL0IsVUFBTSxrQkFBQTtBQUVOLFNBQUssVUFBVSxXQUFXO0FBQzFCLFNBQUssVUFBVSxhQUFhO0FBQUEsRUFDOUI7QUFBQSxFQUVtQixTQUFNO0FBQ3ZCLFdBQU8seUJBQXlCLEtBQUssaUJBQWlCO0FBQUEsRUFDeEQ7O0FBckpnQyx3QkFBQSxjQUFzQjtBQUMvQix3QkFBQSxTQUF5QjtBQUY1QyxJQUFPLHlCQUFQOyJ9
1
+ import { t as SbbCarouselListElement } from "../../carousel-list.component-7Z3dYtAF.js";
2
+ export { SbbCarouselListElement };
@@ -1,8 +1,10 @@
1
- import { SbbCarouselListElement } from "./carousel-list/carousel-list.component.js";
1
+ import { t as SbbCarouselListElement } from "../carousel-list.component-7Z3dYtAF.js";
2
+ //#region src/elements/carousel/carousel-list.ts
3
+ /** @entrypoint */
2
4
  SbbCarouselListElement.define();
3
5
  console.warn(`The entrypoint '@sbb-esta/elements/carousel/carousel-list.js' has been deprecated.
4
6
  Use either '@sbb-esta/elements/carousel.js' or '@sbb-esta/elements/carousel.pure.js' instead.`);
5
- export {
6
- SbbCarouselListElement
7
- };
8
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwtbGlzdC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2Nhcm91c2VsL2Nhcm91c2VsLWxpc3QudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIEBlbnRyeXBvaW50ICovXG5pbXBvcnQgeyBTYmJDYXJvdXNlbExpc3RFbGVtZW50IH0gZnJvbSAnLi9jYXJvdXNlbC1saXN0L2Nhcm91c2VsLWxpc3QuY29tcG9uZW50LnRzJztcblxuZXhwb3J0ICogZnJvbSAnLi9jYXJvdXNlbC1saXN0L2Nhcm91c2VsLWxpc3QuY29tcG9uZW50LnRzJztcblxuU2JiQ2Fyb3VzZWxMaXN0RWxlbWVudC5kZWZpbmUoKTtcblxuY29uc29sZS53YXJuKGBUaGUgZW50cnlwb2ludCAnQHNiYi1lc3RhL2VsZW1lbnRzL2Nhcm91c2VsL2Nhcm91c2VsLWxpc3QuanMnIGhhcyBiZWVuIGRlcHJlY2F0ZWQuXG5Vc2UgZWl0aGVyICdAc2JiLWVzdGEvZWxlbWVudHMvY2Fyb3VzZWwuanMnIG9yICdAc2JiLWVzdGEvZWxlbWVudHMvY2Fyb3VzZWwucHVyZS5qcycgaW5zdGVhZC5gKTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBS0EsdUJBQXVCLE9BQUE7QUFFdkIsUUFBUSxLQUFLO0FBQUEsOEZBQ2lGOyJ9
7
+ //#endregion
8
+ export { SbbCarouselListElement };
9
+
10
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwtbGlzdC5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY2Fyb3VzZWwvY2Fyb3VzZWwtbGlzdC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogQGVudHJ5cG9pbnQgKi9cbmltcG9ydCB7IFNiYkNhcm91c2VsTGlzdEVsZW1lbnQgfSBmcm9tICcuL2Nhcm91c2VsLWxpc3QvY2Fyb3VzZWwtbGlzdC5jb21wb25lbnQudHMnO1xuXG5leHBvcnQgKiBmcm9tICcuL2Nhcm91c2VsLWxpc3QvY2Fyb3VzZWwtbGlzdC5jb21wb25lbnQudHMnO1xuXG5TYmJDYXJvdXNlbExpc3RFbGVtZW50LmRlZmluZSgpO1xuXG5jb25zb2xlLndhcm4oYFRoZSBlbnRyeXBvaW50ICdAc2JiLWVzdGEvZWxlbWVudHMvY2Fyb3VzZWwvY2Fyb3VzZWwtbGlzdC5qcycgaGFzIGJlZW4gZGVwcmVjYXRlZC5cblVzZSBlaXRoZXIgJ0BzYmItZXN0YS9lbGVtZW50cy9jYXJvdXNlbC5qcycgb3IgJ0BzYmItZXN0YS9lbGVtZW50cy9jYXJvdXNlbC5wdXJlLmpzJyBpbnN0ZWFkLmApO1xuIl0sIm1hcHBpbmdzIjoiOzs7QUFLQSx1QkFBdUIsUUFBUTtBQUUvQixRQUFRLEtBQUs7K0ZBQ2tGIn0=
@@ -1,8 +1,10 @@
1
- import { SbbCarouselElement } from "./carousel/carousel.component.js";
1
+ import { t as SbbCarouselElement } from "../carousel.component-b4C-hxkj.js";
2
+ //#region src/elements/carousel/carousel.ts
3
+ /** @entrypoint */
2
4
  SbbCarouselElement.define();
3
5
  console.warn(`The entrypoint '@sbb-esta/elements/carousel/carousel.js' has been deprecated.
4
6
  Use either '@sbb-esta/elements/carousel.js' or '@sbb-esta/elements/carousel.pure.js' instead.`);
5
- export {
6
- SbbCarouselElement
7
- };
8
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jYXJvdXNlbC9jYXJvdXNlbC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogQGVudHJ5cG9pbnQgKi9cbmltcG9ydCB7IFNiYkNhcm91c2VsRWxlbWVudCB9IGZyb20gJy4vY2Fyb3VzZWwvY2Fyb3VzZWwuY29tcG9uZW50LnRzJztcblxuZXhwb3J0ICogZnJvbSAnLi9jYXJvdXNlbC9jYXJvdXNlbC5jb21wb25lbnQudHMnO1xuXG5TYmJDYXJvdXNlbEVsZW1lbnQuZGVmaW5lKCk7XG5cbmNvbnNvbGUud2FybihgVGhlIGVudHJ5cG9pbnQgJ0BzYmItZXN0YS9lbGVtZW50cy9jYXJvdXNlbC9jYXJvdXNlbC5qcycgaGFzIGJlZW4gZGVwcmVjYXRlZC5cblVzZSBlaXRoZXIgJ0BzYmItZXN0YS9lbGVtZW50cy9jYXJvdXNlbC5qcycgb3IgJ0BzYmItZXN0YS9lbGVtZW50cy9jYXJvdXNlbC5wdXJlLmpzJyBpbnN0ZWFkLmApO1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFLQSxtQkFBbUIsT0FBQTtBQUVuQixRQUFRLEtBQUs7QUFBQSw4RkFDaUY7In0=
7
+ //#endregion
8
+ export { SbbCarouselElement };
9
+
10
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2Nhcm91c2VsL2Nhcm91c2VsLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBAZW50cnlwb2ludCAqL1xuaW1wb3J0IHsgU2JiQ2Fyb3VzZWxFbGVtZW50IH0gZnJvbSAnLi9jYXJvdXNlbC9jYXJvdXNlbC5jb21wb25lbnQudHMnO1xuXG5leHBvcnQgKiBmcm9tICcuL2Nhcm91c2VsL2Nhcm91c2VsLmNvbXBvbmVudC50cyc7XG5cblNiYkNhcm91c2VsRWxlbWVudC5kZWZpbmUoKTtcblxuY29uc29sZS53YXJuKGBUaGUgZW50cnlwb2ludCAnQHNiYi1lc3RhL2VsZW1lbnRzL2Nhcm91c2VsL2Nhcm91c2VsLmpzJyBoYXMgYmVlbiBkZXByZWNhdGVkLlxuVXNlIGVpdGhlciAnQHNiYi1lc3RhL2VsZW1lbnRzL2Nhcm91c2VsLmpzJyBvciAnQHNiYi1lc3RhL2VsZW1lbnRzL2Nhcm91c2VsLnB1cmUuanMnIGluc3RlYWQuYCk7XG4iXSwibWFwcGluZ3MiOiI7OztBQUtBLG1CQUFtQixRQUFRO0FBRTNCLFFBQVEsS0FBSzsrRkFDa0YifQ==
@@ -0,0 +1,47 @@
1
+ import { css, html } from "lit";
2
+ import { SbbElement } from "./core/base-elements.js";
3
+ //#region src/elements/carousel/carousel-item/carousel-item.scss?lit&inline
4
+ var carousel_item_default = css`:host {
5
+ display: flex;
6
+ scroll-snap-align: start;
7
+ flex-shrink: 0;
8
+ }
9
+
10
+ ::slotted(sbb-image) {
11
+ border-radius: unset;
12
+ }`;
13
+ //#endregion
14
+ //#region src/elements/carousel/carousel-item/carousel-item.component.ts
15
+ /**
16
+ * It displays an item contained into the `sbb-carousel` component.
17
+ *
18
+ * @slot - Use the unnamed slot to add images for the carousel, as <img>, <sbb-image>, <picture>, ...
19
+ * @event {CustomEvent<SbbCarouselItemEventDetail>} beforeshow - Event emitted when the item is starting scrolling.
20
+ * @event {CustomEvent<SbbCarouselItemEventDetail>} show - Event emitted when the item is full visible after scrolling.
21
+ */
22
+ var SbbCarouselItemElement = class extends SbbElement {
23
+ static {
24
+ this.elementName = "sbb-carousel-item";
25
+ }
26
+ static {
27
+ this.styles = carousel_item_default;
28
+ }
29
+ static {
30
+ this.events = {
31
+ beforeshow: "beforeshow",
32
+ show: "show"
33
+ };
34
+ }
35
+ connectedCallback() {
36
+ super.connectedCallback();
37
+ this.internals.role = "group";
38
+ this.internals.ariaRoleDescription = "slide";
39
+ }
40
+ render() {
41
+ return html`<slot></slot>`;
42
+ }
43
+ };
44
+ //#endregion
45
+ export { SbbCarouselItemElement as t };
46
+
47
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwtaXRlbS5jb21wb25lbnQtRE9JWEEyUUsuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2Nhcm91c2VsL2Nhcm91c2VsLWl0ZW0vY2Fyb3VzZWwtaXRlbS5zY3NzP2xpdCZpbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvY2Fyb3VzZWwvY2Fyb3VzZWwtaXRlbS9jYXJvdXNlbC1pdGVtLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICcuLi8uLi9jb3JlL3N0eWxlcycgYXMgc2JiO1xuXG46aG9zdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHNjcm9sbC1zbmFwLWFsaWduOiBzdGFydDtcbiAgZmxleC1zaHJpbms6IDA7XG59XG5cbjo6c2xvdHRlZChzYmItaW1hZ2UpIHtcbiAgYm9yZGVyLXJhZGl1czogdW5zZXQ7XG59XG4iLCJpbXBvcnQgdHlwZSB7IENTU1Jlc3VsdEdyb3VwLCBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBodG1sIH0gZnJvbSAnbGl0JztcblxuaW1wb3J0IHsgU2JiRWxlbWVudCB9IGZyb20gJy4uLy4uL2NvcmUvYmFzZS1lbGVtZW50cy50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL2Nhcm91c2VsLWl0ZW0uc2Nzcz9saXQmaW5saW5lJztcblxuZXhwb3J0IGludGVyZmFjZSBTYmJDYXJvdXNlbEl0ZW1FdmVudERldGFpbCB7XG4gIGluZGV4OiBudW1iZXI7XG59XG5cbi8qKlxuICogSXQgZGlzcGxheXMgYW4gaXRlbSBjb250YWluZWQgaW50byB0aGUgYHNiYi1jYXJvdXNlbGAgY29tcG9uZW50LlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGltYWdlcyBmb3IgdGhlIGNhcm91c2VsLCBhcyA8aW1nPiwgPHNiYi1pbWFnZT4sIDxwaWN0dXJlPiwgLi4uXG4gKiBAZXZlbnQge0N1c3RvbUV2ZW50PFNiYkNhcm91c2VsSXRlbUV2ZW50RGV0YWlsPn0gYmVmb3Jlc2hvdyAtIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgaXRlbSBpcyBzdGFydGluZyBzY3JvbGxpbmcuXG4gKiBAZXZlbnQge0N1c3RvbUV2ZW50PFNiYkNhcm91c2VsSXRlbUV2ZW50RGV0YWlsPn0gc2hvdyAtIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgaXRlbSBpcyBmdWxsIHZpc2libGUgYWZ0ZXIgc2Nyb2xsaW5nLlxuICovXG5leHBvcnQgY2xhc3MgU2JiQ2Fyb3VzZWxJdGVtRWxlbWVudCBleHRlbmRzIFNiYkVsZW1lbnQge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IGVsZW1lbnROYW1lOiBzdHJpbmcgPSAnc2JiLWNhcm91c2VsLWl0ZW0nO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBldmVudHM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAgYmVmb3Jlc2hvdzogJ2JlZm9yZXNob3cnLFxuICAgIHNob3c6ICdzaG93JyxcbiAgfSBhcyBjb25zdDtcblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcblxuICAgIHRoaXMuaW50ZXJuYWxzLnJvbGUgPSAnZ3JvdXAnO1xuICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFSb2xlRGVzY3JpcHRpb24gPSAnc2xpZGUnO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgPHNsb3Q+PC9zbG90PmA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1jYXJvdXNlbC1pdGVtJzogU2JiQ2Fyb3VzZWxJdGVtRWxlbWVudDtcbiAgfVxuXG4gIGludGVyZmFjZSBHbG9iYWxFdmVudEhhbmRsZXJzRXZlbnRNYXAge1xuICAgIGJlZm9yZXNob3c6IEN1c3RvbUV2ZW50PFNiYkNhcm91c2VsSXRlbUV2ZW50RGV0YWlsPjtcbiAgICBzaG93OiBDdXN0b21FdmVudDxTYmJDYXJvdXNlbEl0ZW1FdmVudERldGFpbD47XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDa0JBLElBQWEseUJBQWIsY0FBNEMsV0FBVTs7QUFDcEIsT0FBQSxjQUFzQjs7O0FBQy9CLE9BQUEsU0FBeUI7OztBQUN6QixPQUFBLFNBQWlDO0dBQ3RELFlBQVk7R0FDWixNQUFNO0dBQ0U7O0NBRU0sb0JBQWlCO0FBQy9CLFFBQU0sbUJBQW1CO0FBRXpCLE9BQUssVUFBVSxPQUFPO0FBQ3RCLE9BQUssVUFBVSxzQkFBc0I7O0NBR3BCLFNBQU07QUFDdkIsU0FBTyxJQUFJIn0=
@@ -0,0 +1,160 @@
1
+ import { css, html } from "lit";
2
+ import { SbbElement } from "./core/base-elements.js";
3
+ import { SbbLanguageController } from "./core/controllers.js";
4
+ import { i18nCarouselItemAriaLabel } from "./core/i18n.js";
5
+ import { ResizeController } from "@lit-labs/observers/resize-controller.js";
6
+ import { isArrowKeyPressed } from "./core/a11y.js";
7
+ import { IntersectionController } from "@lit-labs/observers/intersection-controller.js";
8
+ //#region src/elements/carousel/carousel-list/carousel-list.scss?lit&inline
9
+ var carousel_list_default = css`:host {
10
+ --sbb-carousel-list-border-radius: var(--sbb-border-radius-4x);
11
+ display: flex;
12
+ height: var(--sbb-carousel-list-height);
13
+ width: var(--sbb-carousel-list-width, 0);
14
+ overflow-x: auto;
15
+ scroll-snap-type: x mandatory;
16
+ scroll-behavior: smooth;
17
+ scrollbar-width: none;
18
+ outline: none;
19
+ border-radius: var(--sbb-carousel-inherit-border-radius);
20
+ }
21
+
22
+ :host(:focus-visible)::before {
23
+ outline-offset: var(--sbb-focus-outline-offset);
24
+ outline: var(--sbb-focus-outline-color) var(--sbb-focus-outline-style, solid) var(--sbb-focus-outline-width);
25
+ content: "";
26
+ position: absolute;
27
+ height: inherit;
28
+ width: inherit;
29
+ border-start-start-radius: var(--sbb-carousel-list-border-radius);
30
+ border-start-end-radius: var(--sbb-carousel-list-border-radius);
31
+ border-end-start-radius: var(--sbb-carousel-inherit-border-radius);
32
+ border-end-end-radius: var(--sbb-carousel-inherit-border-radius);
33
+ }`;
34
+ //#endregion
35
+ //#region src/elements/carousel/carousel-list/carousel-list.component.ts
36
+ /**
37
+ * It displays a list of `sbb-carousel-item` components.
38
+ *
39
+ * @slot - Use the unnamed slot to add `sbb-carousel-item` elements.
40
+ */
41
+ var SbbCarouselListElement = class extends SbbElement {
42
+ static {
43
+ this.elementName = "sbb-carousel-list";
44
+ }
45
+ static {
46
+ this.styles = carousel_list_default;
47
+ }
48
+ constructor() {
49
+ super();
50
+ this._currentIndex = 0;
51
+ this._language = new SbbLanguageController(this);
52
+ this._observedCarouselItems = [];
53
+ this._beforeShowObserver = new IntersectionController(this, {
54
+ target: null,
55
+ callback: (entry) => {
56
+ entry.filter((e) => e.isIntersecting && e.target !== this).forEach((e) => {
57
+ const target = e.target;
58
+ target.dispatchEvent(new CustomEvent("beforeshow", {
59
+ detail: { index: this._carouselItems().findIndex((e) => e === target) },
60
+ bubbles: true,
61
+ composed: true
62
+ }));
63
+ });
64
+ },
65
+ config: {
66
+ threshold: .01,
67
+ root: this,
68
+ rootMargin: "100% 0% 100% 0%"
69
+ }
70
+ });
71
+ this._showObserver = new IntersectionController(this, {
72
+ target: null,
73
+ callback: (entryArr) => {
74
+ for (const entry of entryArr) {
75
+ if (entry.target === this) continue;
76
+ const target = entry.target;
77
+ if (entry.isIntersecting) {
78
+ target.ariaHidden = null;
79
+ this._currentIndex = this._carouselItems().findIndex((el) => el === target);
80
+ target.dispatchEvent(new CustomEvent("show", {
81
+ detail: { index: this._currentIndex },
82
+ bubbles: true,
83
+ composed: true
84
+ }));
85
+ } else target.ariaHidden = "true";
86
+ }
87
+ },
88
+ config: {
89
+ threshold: .99,
90
+ root: this,
91
+ rootMargin: "100% 0% 100% 0%"
92
+ }
93
+ });
94
+ this._resizeObserverController = new ResizeController(this, {
95
+ skipInitial: true,
96
+ callback: () => this._readDimensions()
97
+ });
98
+ this.addEventListener?.("keydown", (e) => this._onKeyDown(e));
99
+ }
100
+ /** Gets the slotted items. */
101
+ _carouselItems() {
102
+ return Array.from(this.querySelectorAll?.("sbb-carousel-item") ?? []);
103
+ }
104
+ _handleSlotchange() {
105
+ this._observedCarouselItems.forEach((item) => {
106
+ this._beforeShowObserver.unobserve(item);
107
+ this._showObserver.unobserve(item);
108
+ });
109
+ const carouselItems = this._carouselItems();
110
+ carouselItems.forEach((item, index) => {
111
+ item.ariaLabel ||= i18nCarouselItemAriaLabel(index + 1, carouselItems.length)[this._language.current];
112
+ item.ariaHidden = index === this._currentIndex ? null : "true";
113
+ });
114
+ this._readDimensions();
115
+ }
116
+ /**
117
+ * Reads the dimensions of the first carousel item and sets the CSS properties accordingly.
118
+ * Should set the dimensions only once, when the first item becomes visible and if the value is non-zero.
119
+ */
120
+ _readDimensions() {
121
+ const carouselItems = this._carouselItems();
122
+ if (carouselItems.length === 0) return;
123
+ const firstItem = carouselItems[0];
124
+ if (firstItem.clientHeight > 0) this.style.setProperty("--sbb-carousel-list-height", `${firstItem.clientHeight}px`);
125
+ if (firstItem.clientWidth > 0) {
126
+ this.style.setProperty("--sbb-carousel-list-width", `${firstItem.clientWidth}px`);
127
+ carouselItems.forEach((item) => {
128
+ this._beforeShowObserver.observe(item);
129
+ this._showObserver.observe(item);
130
+ });
131
+ this._observedCarouselItems = carouselItems;
132
+ this._resizeObserverController.unobserve(this);
133
+ }
134
+ }
135
+ _onKeyDown(evt) {
136
+ if (!isArrowKeyPressed(evt)) return;
137
+ evt.preventDefault();
138
+ let newIndex = this._currentIndex;
139
+ const isPrev = evt.key === "ArrowUp" || evt.key === "ArrowLeft";
140
+ const isNext = evt.key === "ArrowDown" || evt.key === "ArrowRight";
141
+ if (isPrev) newIndex = Math.max(0, this._currentIndex - 1);
142
+ else if (isNext) newIndex = Math.min(this._carouselItems().length - 1, this._currentIndex + 1);
143
+ if (newIndex !== this._currentIndex) {
144
+ this._currentIndex = newIndex;
145
+ this.scrollTo({ left: this._carouselItems()[this._currentIndex].offsetLeft - this.offsetLeft });
146
+ }
147
+ }
148
+ connectedCallback() {
149
+ super.connectedCallback();
150
+ this.internals.ariaLive = "polite";
151
+ this.internals.ariaAtomic = "true";
152
+ }
153
+ render() {
154
+ return html`<slot @slotchange=${this._handleSlotchange}></slot>`;
155
+ }
156
+ };
157
+ //#endregion
158
+ export { SbbCarouselListElement as t };
159
+
160
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwtbGlzdC5jb21wb25lbnQtN1ozZFl0QUYuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2Nhcm91c2VsL2Nhcm91c2VsLWxpc3QvY2Fyb3VzZWwtbGlzdC5zY3NzP2xpdCZpbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvY2Fyb3VzZWwvY2Fyb3VzZWwtbGlzdC9jYXJvdXNlbC1saXN0LmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICcuLi8uLi9jb3JlL3N0eWxlcycgYXMgc2JiO1xuXG46aG9zdCB7XG4gIC0tc2JiLWNhcm91c2VsLWxpc3QtYm9yZGVyLXJhZGl1czogdmFyKC0tc2JiLWJvcmRlci1yYWRpdXMtNHgpO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogdmFyKC0tc2JiLWNhcm91c2VsLWxpc3QtaGVpZ2h0KTtcblxuICAvLyBTZXR0aW5nIDBweCBhcyBmYWxsYmFjayB0byBhdm9pZCBpbnN0YW50IHNjcm9sbGluZyBvbiBTYWZhcmkgd2hlbiBsb2FkaW5nIHRoZSBwYWdlXG4gIHdpZHRoOiB2YXIoLS1zYmItY2Fyb3VzZWwtbGlzdC13aWR0aCwgMCk7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIHNjcm9sbC1zbmFwLXR5cGU6IHggbWFuZGF0b3J5O1xuICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbiAgc2Nyb2xsYmFyLXdpZHRoOiBub25lO1xuICBvdXRsaW5lOiBub25lO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1zYmItY2Fyb3VzZWwtaW5oZXJpdC1ib3JkZXItcmFkaXVzKTtcbn1cblxuOmhvc3QoOmZvY3VzLXZpc2libGUpIHtcbiAgJjo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBzYmIuZm9jdXMtb3V0bGluZTtcblxuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBoZWlnaHQ6IGluaGVyaXQ7XG4gICAgd2lkdGg6IGluaGVyaXQ7XG4gICAgYm9yZGVyLXN0YXJ0LXN0YXJ0LXJhZGl1czogdmFyKC0tc2JiLWNhcm91c2VsLWxpc3QtYm9yZGVyLXJhZGl1cyk7XG4gICAgYm9yZGVyLXN0YXJ0LWVuZC1yYWRpdXM6IHZhcigtLXNiYi1jYXJvdXNlbC1saXN0LWJvcmRlci1yYWRpdXMpO1xuICAgIGJvcmRlci1lbmQtc3RhcnQtcmFkaXVzOiB2YXIoLS1zYmItY2Fyb3VzZWwtaW5oZXJpdC1ib3JkZXItcmFkaXVzKTtcbiAgICBib3JkZXItZW5kLWVuZC1yYWRpdXM6IHZhcigtLXNiYi1jYXJvdXNlbC1pbmhlcml0LWJvcmRlci1yYWRpdXMpO1xuICB9XG59XG4iLCJpbXBvcnQgeyBJbnRlcnNlY3Rpb25Db250cm9sbGVyIH0gZnJvbSAnQGxpdC1sYWJzL29ic2VydmVycy9pbnRlcnNlY3Rpb24tY29udHJvbGxlci5qcyc7XG5pbXBvcnQgeyBSZXNpemVDb250cm9sbGVyIH0gZnJvbSAnQGxpdC1sYWJzL29ic2VydmVycy9yZXNpemUtY29udHJvbGxlci5qcyc7XG5pbXBvcnQgeyB0eXBlIENTU1Jlc3VsdEdyb3VwLCBodG1sLCB0eXBlIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcblxuaW1wb3J0IHsgaXNBcnJvd0tleVByZXNzZWQgfSBmcm9tICcuLi8uLi9jb3JlL2ExMXkudHMnO1xuaW1wb3J0IHsgU2JiRWxlbWVudCB9IGZyb20gJy4uLy4uL2NvcmUvYmFzZS1lbGVtZW50cy50cyc7XG5pbXBvcnQgeyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIgfSBmcm9tICcuLi8uLi9jb3JlL2NvbnRyb2xsZXJzLnRzJztcbmltcG9ydCB7IGkxOG5DYXJvdXNlbEl0ZW1BcmlhTGFiZWwgfSBmcm9tICcuLi8uLi9jb3JlL2kxOG4udHMnO1xuaW1wb3J0IHR5cGUge1xuICBTYmJDYXJvdXNlbEl0ZW1FbGVtZW50LFxuICBTYmJDYXJvdXNlbEl0ZW1FdmVudERldGFpbCxcbn0gZnJvbSAnLi4vY2Fyb3VzZWwtaXRlbS9jYXJvdXNlbC1pdGVtLmNvbXBvbmVudC50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL2Nhcm91c2VsLWxpc3Quc2Nzcz9saXQmaW5saW5lJztcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBhIGxpc3Qgb2YgYHNiYi1jYXJvdXNlbC1pdGVtYCBjb21wb25lbnRzLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGBzYmItY2Fyb3VzZWwtaXRlbWAgZWxlbWVudHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJDYXJvdXNlbExpc3RFbGVtZW50IGV4dGVuZHMgU2JiRWxlbWVudCB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItY2Fyb3VzZWwtbGlzdCc7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuXG4gIHByaXZhdGUgX2N1cnJlbnRJbmRleCA9IDA7XG4gIHByaXZhdGUgX2xhbmd1YWdlID0gbmV3IFNiYkxhbmd1YWdlQ29udHJvbGxlcih0aGlzKTtcbiAgcHJpdmF0ZSBfb2JzZXJ2ZWRDYXJvdXNlbEl0ZW1zOiBTYmJDYXJvdXNlbEl0ZW1FbGVtZW50W10gPSBbXTtcblxuICBwcml2YXRlIF9iZWZvcmVTaG93T2JzZXJ2ZXIgPSBuZXcgSW50ZXJzZWN0aW9uQ29udHJvbGxlcih0aGlzLCB7XG4gICAgdGFyZ2V0OiBudWxsLFxuICAgIGNhbGxiYWNrOiAoZW50cnkpID0+IHtcbiAgICAgIGNvbnN0IGl0ZW0gPSBlbnRyeS5maWx0ZXIoKGUpID0+IGUuaXNJbnRlcnNlY3RpbmcgJiYgZS50YXJnZXQgIT09IHRoaXMpO1xuICAgICAgaXRlbS5mb3JFYWNoKChlKSA9PiB7XG4gICAgICAgIGNvbnN0IHRhcmdldCA9IGUudGFyZ2V0IGFzIFNiYkNhcm91c2VsSXRlbUVsZW1lbnQ7XG4gICAgICAgIHRhcmdldC5kaXNwYXRjaEV2ZW50KFxuICAgICAgICAgIG5ldyBDdXN0b21FdmVudDxTYmJDYXJvdXNlbEl0ZW1FdmVudERldGFpbD4oJ2JlZm9yZXNob3cnLCB7XG4gICAgICAgICAgICBkZXRhaWw6IHsgaW5kZXg6IHRoaXMuX2Nhcm91c2VsSXRlbXMoKS5maW5kSW5kZXgoKGUpID0+IGUgPT09IHRhcmdldCkgfSxcbiAgICAgICAgICAgIGJ1YmJsZXM6IHRydWUsXG4gICAgICAgICAgICBjb21wb3NlZDogdHJ1ZSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgKTtcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgY29uZmlnOiB7IHRocmVzaG9sZDogMC4wMSwgcm9vdDogdGhpcywgcm9vdE1hcmdpbjogJzEwMCUgMCUgMTAwJSAwJScgfSxcbiAgfSk7XG5cbiAgcHJpdmF0ZSBfc2hvd09ic2VydmVyID0gbmV3IEludGVyc2VjdGlvbkNvbnRyb2xsZXIodGhpcywge1xuICAgIHRhcmdldDogbnVsbCxcbiAgICBjYWxsYmFjazogKGVudHJ5QXJyKSA9PiB7XG4gICAgICBmb3IgKGNvbnN0IGVudHJ5IG9mIGVudHJ5QXJyKSB7XG4gICAgICAgIGlmIChlbnRyeS50YXJnZXQgPT09IHRoaXMpIHtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB0YXJnZXQgPSBlbnRyeS50YXJnZXQgYXMgU2JiQ2Fyb3VzZWxJdGVtRWxlbWVudDtcbiAgICAgICAgaWYgKGVudHJ5LmlzSW50ZXJzZWN0aW5nKSB7XG4gICAgICAgICAgdGFyZ2V0LmFyaWFIaWRkZW4gPSBudWxsO1xuICAgICAgICAgIHRoaXMuX2N1cnJlbnRJbmRleCA9IHRoaXMuX2Nhcm91c2VsSXRlbXMoKS5maW5kSW5kZXgoKGVsKSA9PiBlbCA9PT0gdGFyZ2V0KTtcbiAgICAgICAgICB0YXJnZXQuZGlzcGF0Y2hFdmVudChcbiAgICAgICAgICAgIG5ldyBDdXN0b21FdmVudDxTYmJDYXJvdXNlbEl0ZW1FdmVudERldGFpbD4oJ3Nob3cnLCB7XG4gICAgICAgICAgICAgIGRldGFpbDogeyBpbmRleDogdGhpcy5fY3VycmVudEluZGV4IH0sXG4gICAgICAgICAgICAgIGJ1YmJsZXM6IHRydWUsXG4gICAgICAgICAgICAgIGNvbXBvc2VkOiB0cnVlLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0YXJnZXQuYXJpYUhpZGRlbiA9ICd0cnVlJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sXG4gICAgY29uZmlnOiB7IHRocmVzaG9sZDogMC45OSwgcm9vdDogdGhpcywgcm9vdE1hcmdpbjogJzEwMCUgMCUgMTAwJSAwJScgfSxcbiAgfSk7XG5cbiAgcHJpdmF0ZSBfcmVzaXplT2JzZXJ2ZXJDb250cm9sbGVyID0gbmV3IFJlc2l6ZUNvbnRyb2xsZXIodGhpcywge1xuICAgIHNraXBJbml0aWFsOiB0cnVlLFxuICAgIGNhbGxiYWNrOiAoKSA9PiB0aGlzLl9yZWFkRGltZW5zaW9ucygpLFxuICB9KTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdrZXlkb3duJywgKGUpID0+IHRoaXMuX29uS2V5RG93bihlKSk7XG4gIH1cblxuICAvKiogR2V0cyB0aGUgc2xvdHRlZCBpdGVtcy4gKi9cbiAgcHJpdmF0ZSBfY2Fyb3VzZWxJdGVtcygpOiBTYmJDYXJvdXNlbEl0ZW1FbGVtZW50W10ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMucXVlcnlTZWxlY3RvckFsbD8uKCdzYmItY2Fyb3VzZWwtaXRlbScpID8/IFtdKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZVNsb3RjaGFuZ2UoKTogdm9pZCB7XG4gICAgLy8gSW4gY2FzZSBvZiByZW1vdmVkIGNhcm91c2VsIGl0ZW1zLCB3ZSBuZWVkIHRvIHVub2JzZXJ2ZSB0aGUgY3VycmVudCBvYnNlcnZlcnMuXG4gICAgdGhpcy5fb2JzZXJ2ZWRDYXJvdXNlbEl0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgIHRoaXMuX2JlZm9yZVNob3dPYnNlcnZlci51bm9ic2VydmUoaXRlbSk7XG4gICAgICB0aGlzLl9zaG93T2JzZXJ2ZXIudW5vYnNlcnZlKGl0ZW0pO1xuICAgIH0pO1xuXG4gICAgY29uc3QgY2Fyb3VzZWxJdGVtcyA9IHRoaXMuX2Nhcm91c2VsSXRlbXMoKTtcblxuICAgIC8vIFNldCB0aGUgYXJpYS1sYWJlbCBpZiBub3QgcHJvdmlkZWRcbiAgICBjYXJvdXNlbEl0ZW1zLmZvckVhY2goKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICBpdGVtLmFyaWFMYWJlbCB8fD0gaTE4bkNhcm91c2VsSXRlbUFyaWFMYWJlbChpbmRleCArIDEsIGNhcm91c2VsSXRlbXMubGVuZ3RoKVtcbiAgICAgICAgdGhpcy5fbGFuZ3VhZ2UuY3VycmVudFxuICAgICAgXTtcbiAgICAgIGl0ZW0uYXJpYUhpZGRlbiA9IGluZGV4ID09PSB0aGlzLl9jdXJyZW50SW5kZXggPyBudWxsIDogJ3RydWUnO1xuICAgIH0pO1xuXG4gICAgdGhpcy5fcmVhZERpbWVuc2lvbnMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWFkcyB0aGUgZGltZW5zaW9ucyBvZiB0aGUgZmlyc3QgY2Fyb3VzZWwgaXRlbSBhbmQgc2V0cyB0aGUgQ1NTIHByb3BlcnRpZXMgYWNjb3JkaW5nbHkuXG4gICAqIFNob3VsZCBzZXQgdGhlIGRpbWVuc2lvbnMgb25seSBvbmNlLCB3aGVuIHRoZSBmaXJzdCBpdGVtIGJlY29tZXMgdmlzaWJsZSBhbmQgaWYgdGhlIHZhbHVlIGlzIG5vbi16ZXJvLlxuICAgKi9cbiAgcHJpdmF0ZSBfcmVhZERpbWVuc2lvbnMoKTogdm9pZCB7XG4gICAgY29uc3QgY2Fyb3VzZWxJdGVtcyA9IHRoaXMuX2Nhcm91c2VsSXRlbXMoKTtcbiAgICBpZiAoY2Fyb3VzZWxJdGVtcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBmaXJzdEl0ZW0gPSBjYXJvdXNlbEl0ZW1zWzBdO1xuXG4gICAgaWYgKGZpcnN0SXRlbS5jbGllbnRIZWlnaHQgPiAwKSB7XG4gICAgICB0aGlzLnN0eWxlLnNldFByb3BlcnR5KCctLXNiYi1jYXJvdXNlbC1saXN0LWhlaWdodCcsIGAke2ZpcnN0SXRlbS5jbGllbnRIZWlnaHR9cHhgKTtcbiAgICB9XG5cbiAgICBpZiAoZmlyc3RJdGVtLmNsaWVudFdpZHRoID4gMCkge1xuICAgICAgdGhpcy5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1zYmItY2Fyb3VzZWwtbGlzdC13aWR0aCcsIGAke2ZpcnN0SXRlbS5jbGllbnRXaWR0aH1weGApO1xuXG4gICAgICAvLyBXZSBzaG91bGQgb25seSBvYnNlcnZlIHRoZSBpdGVtcyBpZiB0aGV5IGhhdmUgYSBub24temVybyB3aWR0aC4gT3RoZXJ3aXNlLCBhbiB1bndhbnRlZCBzY3JvbGxpbmcgY2FuIGhhcHBlbi5cbiAgICAgIGNhcm91c2VsSXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICB0aGlzLl9iZWZvcmVTaG93T2JzZXJ2ZXIub2JzZXJ2ZShpdGVtKTtcbiAgICAgICAgdGhpcy5fc2hvd09ic2VydmVyLm9ic2VydmUoaXRlbSk7XG4gICAgICB9KTtcbiAgICAgIHRoaXMuX29ic2VydmVkQ2Fyb3VzZWxJdGVtcyA9IGNhcm91c2VsSXRlbXM7XG4gICAgICB0aGlzLl9yZXNpemVPYnNlcnZlckNvbnRyb2xsZXIudW5vYnNlcnZlKHRoaXMpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX29uS2V5RG93bihldnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoIWlzQXJyb3dLZXlQcmVzc2VkKGV2dCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICBsZXQgbmV3SW5kZXggPSB0aGlzLl9jdXJyZW50SW5kZXg7XG4gICAgY29uc3QgaXNQcmV2ID0gZXZ0LmtleSA9PT0gJ0Fycm93VXAnIHx8IGV2dC5rZXkgPT09ICdBcnJvd0xlZnQnO1xuICAgIGNvbnN0IGlzTmV4dCA9IGV2dC5rZXkgPT09ICdBcnJvd0Rvd24nIHx8IGV2dC5rZXkgPT09ICdBcnJvd1JpZ2h0JztcblxuICAgIGlmIChpc1ByZXYpIHtcbiAgICAgIG5ld0luZGV4ID0gTWF0aC5tYXgoMCwgdGhpcy5fY3VycmVudEluZGV4IC0gMSk7XG4gICAgfSBlbHNlIGlmIChpc05leHQpIHtcbiAgICAgIG5ld0luZGV4ID0gTWF0aC5taW4odGhpcy5fY2Fyb3VzZWxJdGVtcygpLmxlbmd0aCAtIDEsIHRoaXMuX2N1cnJlbnRJbmRleCArIDEpO1xuICAgIH1cblxuICAgIGlmIChuZXdJbmRleCAhPT0gdGhpcy5fY3VycmVudEluZGV4KSB7XG4gICAgICB0aGlzLl9jdXJyZW50SW5kZXggPSBuZXdJbmRleDtcbiAgICAgIHRoaXMuc2Nyb2xsVG8oe1xuICAgICAgICBsZWZ0OiB0aGlzLl9jYXJvdXNlbEl0ZW1zKClbdGhpcy5fY3VycmVudEluZGV4XS5vZmZzZXRMZWZ0IC0gdGhpcy5vZmZzZXRMZWZ0LFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG5cbiAgICB0aGlzLmludGVybmFscy5hcmlhTGl2ZSA9ICdwb2xpdGUnO1xuICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFBdG9taWMgPSAndHJ1ZSc7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGA8c2xvdCBAc2xvdGNoYW5nZT0ke3RoaXMuX2hhbmRsZVNsb3RjaGFuZ2V9Pjwvc2xvdD5gO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItY2Fyb3VzZWwtbGlzdCc6IFNiYkNhcm91c2VsTGlzdEVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQ29CQSxJQUFhLHlCQUFiLGNBQTRDLFdBQVU7O0FBQ3BCLE9BQUEsY0FBc0I7OztBQUMvQixPQUFBLFNBQXlCOztDQXVEaEQsY0FBQTtBQUNFLFNBQU87QUF0REQsT0FBQSxnQkFBZ0I7QUFDaEIsT0FBQSxZQUFZLElBQUksc0JBQXNCLEtBQUs7QUFDM0MsT0FBQSx5QkFBbUQsRUFBRTtBQUVyRCxPQUFBLHNCQUFzQixJQUFJLHVCQUF1QixNQUFNO0dBQzdELFFBQVE7R0FDUixXQUFXLFVBQVM7QUFDTCxVQUFNLFFBQVEsTUFBTSxFQUFFLGtCQUFrQixFQUFFLFdBQVcsS0FBSyxDQUNsRSxTQUFTLE1BQUs7S0FDakIsTUFBTSxTQUFTLEVBQUU7QUFDakIsWUFBTyxjQUNMLElBQUksWUFBd0MsY0FBYztNQUN4RCxRQUFRLEVBQUUsT0FBTyxLQUFLLGdCQUFnQixDQUFDLFdBQVcsTUFBTSxNQUFNLE9BQU8sRUFBRTtNQUN2RSxTQUFTO01BQ1QsVUFBVTtNQUNYLENBQUMsQ0FDSDtNQUNEOztHQUVKLFFBQVE7SUFBRSxXQUFXO0lBQU0sTUFBTTtJQUFNLFlBQVk7O0dBQ3BELENBQUM7QUFFTSxPQUFBLGdCQUFnQixJQUFJLHVCQUF1QixNQUFNO0dBQ3ZELFFBQVE7R0FDUixXQUFXLGFBQVk7QUFDckIsU0FBSyxNQUFNLFNBQVMsVUFBVTtBQUM1QixTQUFJLE1BQU0sV0FBVyxLQUNuQjtLQUVGLE1BQU0sU0FBUyxNQUFNO0FBQ3JCLFNBQUksTUFBTSxnQkFBZ0I7QUFDeEIsYUFBTyxhQUFhO0FBQ3BCLFdBQUssZ0JBQWdCLEtBQUssZ0JBQWdCLENBQUMsV0FBVyxPQUFPLE9BQU8sT0FBTztBQUMzRSxhQUFPLGNBQ0wsSUFBSSxZQUF3QyxRQUFRO09BQ2xELFFBQVEsRUFBRSxPQUFPLEtBQUssZUFBZTtPQUNyQyxTQUFTO09BQ1QsVUFBVTtPQUNYLENBQUMsQ0FDSDtXQUVELFFBQU8sYUFBYTs7O0dBSTFCLFFBQVE7SUFBRSxXQUFXO0lBQU0sTUFBTTtJQUFNLFlBQVk7O0dBQ3BELENBQUM7QUFFTSxPQUFBLDRCQUE0QixJQUFJLGlCQUFpQixNQUFNO0dBQzdELGFBQWE7R0FDYixnQkFBZ0IsS0FBSyxpQkFBQTtHQUN0QixDQUFDO0FBS0EsT0FBSyxtQkFBbUIsWUFBWSxNQUFNLEtBQUssV0FBVyxFQUFFLENBQUM7OztDQUl2RCxpQkFBYztBQUNwQixTQUFPLE1BQU0sS0FBSyxLQUFLLG1CQUFtQixvQkFBb0IsSUFBSSxFQUFFLENBQUM7O0NBRy9ELG9CQUFpQjtBQUV2QixPQUFLLHVCQUF1QixTQUFTLFNBQVE7QUFDM0MsUUFBSyxvQkFBb0IsVUFBVSxLQUFLO0FBQ3hDLFFBQUssY0FBYyxVQUFVLEtBQUs7SUFDbEM7RUFFRixNQUFNLGdCQUFnQixLQUFLLGdCQUFnQjtBQUczQyxnQkFBYyxTQUFTLE1BQU0sVUFBUztBQUNwQyxRQUFLLGNBQWMsMEJBQTBCLFFBQVEsR0FBRyxjQUFjLE9BQU8sQ0FDM0UsS0FBSyxVQUFVO0FBRWpCLFFBQUssYUFBYSxVQUFVLEtBQUssZ0JBQWdCLE9BQU87SUFDeEQ7QUFFRixPQUFLLGlCQUFpQjs7Ozs7O0NBT2hCLGtCQUFlO0VBQ3JCLE1BQU0sZ0JBQWdCLEtBQUssZ0JBQWdCO0FBQzNDLE1BQUksY0FBYyxXQUFXLEVBQzNCO0VBR0YsTUFBTSxZQUFZLGNBQWM7QUFFaEMsTUFBSSxVQUFVLGVBQWUsRUFDM0IsTUFBSyxNQUFNLFlBQVksOEJBQThCLEdBQUcsVUFBVSxhQUFZLElBQUs7QUFHckYsTUFBSSxVQUFVLGNBQWMsR0FBRztBQUM3QixRQUFLLE1BQU0sWUFBWSw2QkFBNkIsR0FBRyxVQUFVLFlBQVcsSUFBSztBQUdqRixpQkFBYyxTQUFTLFNBQVE7QUFDN0IsU0FBSyxvQkFBb0IsUUFBUSxLQUFLO0FBQ3RDLFNBQUssY0FBYyxRQUFRLEtBQUs7S0FDaEM7QUFDRixRQUFLLHlCQUF5QjtBQUM5QixRQUFLLDBCQUEwQixVQUFVLEtBQUs7OztDQUkxQyxXQUFXLEtBQWtCO0FBQ25DLE1BQUksQ0FBQyxrQkFBa0IsSUFBSSxDQUN6QjtBQUVGLE1BQUksZ0JBQWdCO0VBRXBCLElBQUksV0FBVyxLQUFLO0VBQ3BCLE1BQU0sU0FBUyxJQUFJLFFBQVEsYUFBYSxJQUFJLFFBQVE7RUFDcEQsTUFBTSxTQUFTLElBQUksUUFBUSxlQUFlLElBQUksUUFBUTtBQUV0RCxNQUFJLE9BQ0YsWUFBVyxLQUFLLElBQUksR0FBRyxLQUFLLGdCQUFnQixFQUFFO1dBQ3JDLE9BQ1QsWUFBVyxLQUFLLElBQUksS0FBSyxnQkFBZ0IsQ0FBQyxTQUFTLEdBQUcsS0FBSyxnQkFBZ0IsRUFBRTtBQUcvRSxNQUFJLGFBQWEsS0FBSyxlQUFlO0FBQ25DLFFBQUssZ0JBQWdCO0FBQ3JCLFFBQUssU0FBUyxFQUNaLE1BQU0sS0FBSyxnQkFBZ0IsQ0FBQyxLQUFLLGVBQWUsYUFBYSxLQUFLLFlBQ25FLENBQUM7OztDQUlVLG9CQUFpQjtBQUMvQixRQUFNLG1CQUFtQjtBQUV6QixPQUFLLFVBQVUsV0FBVztBQUMxQixPQUFLLFVBQVUsYUFBYTs7Q0FHWCxTQUFNO0FBQ3ZCLFNBQU8sSUFBSSxxQkFBcUIsS0FBSyxrQkFBaUIifQ==
@@ -0,0 +1,169 @@
1
+ import { __esDecorate, __runInitializers } from "tslib";
2
+ import { css, html } from "lit";
3
+ import { property } from "lit/decorators.js";
4
+ import { SbbElement } from "./core/base-elements.js";
5
+ import { forceType } from "./core/decorators.js";
6
+ import { boxSizingStyles } from "./core/styles.js";
7
+ import "./screen-reader-only.js";
8
+ import { SbbLanguageController } from "./core/controllers/language-controller.js";
9
+ import { i18nCarouselArrowsNavigationHint, i18nNextSlide, i18nPreviousSlide, i18nSlide } from "./core/i18n/i18n.js";
10
+ //#region src/elements/carousel/carousel/carousel.scss?lit&inline
11
+ var carousel_default = css`:host {
12
+ display: inline-block;
13
+ overflow: hidden;
14
+ border-radius: var(--sbb-carousel-border-radius) var(--sbb-carousel-border-radius) 0 0;
15
+ }
16
+
17
+ :host([shadow]) {
18
+ box-shadow: var(--sbb-carousel-box-shadow);
19
+ border-radius: var(--sbb-carousel-border-radius);
20
+ }
21
+
22
+ :host(:not([shadow])) ::slotted(sbb-carousel-list) {
23
+ --sbb-carousel-inherit-border-radius: var(--sbb-carousel-border-radius);
24
+ }
25
+
26
+ .sbb-carousel {
27
+ display: flex;
28
+ flex-direction: column;
29
+ justify-content: center;
30
+ align-items: center;
31
+ background-color: var(--sbb-carousel-background-color);
32
+ }
33
+
34
+ ::slotted(sbb-compact-paginator) {
35
+ padding: var(--sbb-carousel-paginator-padding);
36
+ }`;
37
+ //#endregion
38
+ //#region src/elements/carousel/carousel/carousel.component.ts
39
+ /**
40
+ * It displays a carousel component.
41
+ *
42
+ * @slot - Use the unnamed slot to add the `sbb-carousel-list` for content and a `sbb-paginator` for controls.
43
+ */
44
+ var SbbCarouselElement = (() => {
45
+ let _classSuper = SbbElement;
46
+ let _shadow_decorators;
47
+ let _shadow_initializers = [];
48
+ let _shadow_extraInitializers = [];
49
+ return class SbbCarouselElement extends _classSuper {
50
+ static {
51
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
52
+ _shadow_decorators = [forceType(), property({
53
+ reflect: true,
54
+ type: Boolean
55
+ })];
56
+ __esDecorate(this, null, _shadow_decorators, {
57
+ kind: "accessor",
58
+ name: "shadow",
59
+ static: false,
60
+ private: false,
61
+ access: {
62
+ has: (obj) => "shadow" in obj,
63
+ get: (obj) => obj.shadow,
64
+ set: (obj, value) => {
65
+ obj.shadow = value;
66
+ }
67
+ },
68
+ metadata: _metadata
69
+ }, _shadow_initializers, _shadow_extraInitializers);
70
+ if (_metadata) Object.defineProperty(this, Symbol.metadata, {
71
+ enumerable: true,
72
+ configurable: true,
73
+ writable: true,
74
+ value: _metadata
75
+ });
76
+ }
77
+ static {
78
+ this.elementName = "sbb-carousel";
79
+ }
80
+ static {
81
+ this.styles = [boxSizingStyles, carousel_default];
82
+ }
83
+ #shadow_accessor_storage;
84
+ /**
85
+ * Used to display a box-shadow around the component.
86
+ */
87
+ get shadow() {
88
+ return this.#shadow_accessor_storage;
89
+ }
90
+ set shadow(value) {
91
+ this.#shadow_accessor_storage = value;
92
+ }
93
+ constructor() {
94
+ super();
95
+ this.#shadow_accessor_storage = __runInitializers(this, _shadow_initializers, false);
96
+ this._paginator = (__runInitializers(this, _shadow_extraInitializers), null);
97
+ this._abortController = null;
98
+ this._language = new SbbLanguageController(this);
99
+ this._requestedPageIndexByPaginator = -1;
100
+ this.addEventListener?.("show", (e) => {
101
+ if (this._requestedPageIndexByPaginator !== -1 && this._requestedPageIndexByPaginator !== e.detail.index) return;
102
+ if (this._paginator) {
103
+ if (e.detail.index !== this._paginator.pageIndex) this._paginator.pageIndex = e.detail.index;
104
+ }
105
+ this._requestedPageIndexByPaginator = -1;
106
+ });
107
+ }
108
+ connectedCallback() {
109
+ super.connectedCallback();
110
+ this.internals.role = "region";
111
+ this.internals.ariaLabel = "carousel";
112
+ this._setupPaginator();
113
+ }
114
+ firstUpdated(_changedProperties) {
115
+ super.firstUpdated(_changedProperties);
116
+ this.internals.ariaDescribedByElements = [this.shadowRoot.querySelector("#sbb-carousel-arrows-navigation-hint")];
117
+ }
118
+ disconnectedCallback() {
119
+ super.disconnectedCallback();
120
+ this._abortController?.abort();
121
+ }
122
+ _handleSlotchange() {
123
+ const paginator = Array.from(this.children).find((el) => el.localName === "sbb-compact-paginator");
124
+ const list = Array.from(this.children).find((el) => el.localName === "sbb-carousel-list");
125
+ if (!paginator || !list) return;
126
+ const items = list.querySelectorAll("sbb-carousel-item");
127
+ if (items && items.length > 0) {
128
+ paginator.length = items.length;
129
+ paginator.pageSize = 1;
130
+ }
131
+ paginator.accessibilityNextPageLabel ||= i18nNextSlide[this._language.current];
132
+ paginator.accessibilityPreviousPageLabel ||= i18nPreviousSlide[this._language.current];
133
+ paginator.accessibilityPageLabel ||= i18nSlide[this._language.current];
134
+ if (paginator !== this._paginator) {
135
+ this._paginator = paginator;
136
+ this._setupPaginator();
137
+ }
138
+ }
139
+ _setupPaginator() {
140
+ this._abortController?.abort();
141
+ if (!this._paginator) return;
142
+ this._abortController = new AbortController();
143
+ this._paginator.addEventListener("click", () => this._scrollAtPaginatorChange(), { signal: this._abortController.signal });
144
+ }
145
+ _scrollAtPaginatorChange() {
146
+ if (!this._paginator) return;
147
+ this._requestedPageIndexByPaginator = this._paginator.pageIndex;
148
+ const list = this.querySelector("sbb-carousel-list");
149
+ if (list) {
150
+ const offsetLeft = list.querySelectorAll("sbb-carousel-item")[this._paginator.pageIndex].offsetLeft - this.offsetLeft;
151
+ if (list.clientWidth <= 100 || Math.abs(list.scrollLeft - offsetLeft) > 50) list.scrollTo({ left: offsetLeft });
152
+ }
153
+ }
154
+ render() {
155
+ return html`
156
+ <div class="sbb-carousel">
157
+ <sbb-screen-reader-only id="sbb-carousel-arrows-navigation-hint"
158
+ >${i18nCarouselArrowsNavigationHint[this._language.current]}</sbb-screen-reader-only
159
+ >
160
+ <slot @slotchange=${this._handleSlotchange}></slot>
161
+ </div>
162
+ `;
163
+ }
164
+ };
165
+ })();
166
+ //#endregion
167
+ export { SbbCarouselElement as t };
168
+
169
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwuY29tcG9uZW50LWI0Qy1oeGtqLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9jYXJvdXNlbC9jYXJvdXNlbC9jYXJvdXNlbC5zY3NzP2xpdCZpbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvY2Fyb3VzZWwvY2Fyb3VzZWwvY2Fyb3VzZWwuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJy4uLy4uL2NvcmUvc3R5bGVzJyBhcyBzYmI7XG5cbjpob3N0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1zYmItY2Fyb3VzZWwtYm9yZGVyLXJhZGl1cykgdmFyKC0tc2JiLWNhcm91c2VsLWJvcmRlci1yYWRpdXMpIDAgMDtcbn1cblxuOmhvc3QoW3NoYWRvd10pIHtcbiAgYm94LXNoYWRvdzogdmFyKC0tc2JiLWNhcm91c2VsLWJveC1zaGFkb3cpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1zYmItY2Fyb3VzZWwtYm9yZGVyLXJhZGl1cyk7XG59XG5cbjpob3N0KDpub3QoW3NoYWRvd10pKSA6OnNsb3R0ZWQoc2JiLWNhcm91c2VsLWxpc3QpIHtcbiAgLS1zYmItY2Fyb3VzZWwtaW5oZXJpdC1ib3JkZXItcmFkaXVzOiB2YXIoLS1zYmItY2Fyb3VzZWwtYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5zYmItY2Fyb3VzZWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLWNhcm91c2VsLWJhY2tncm91bmQtY29sb3IpO1xufVxuXG46OnNsb3R0ZWQoc2JiLWNvbXBhY3QtcGFnaW5hdG9yKSB7XG4gIHBhZGRpbmc6IHZhcigtLXNiYi1jYXJvdXNlbC1wYWdpbmF0b3ItcGFkZGluZyk7XG59XG4iLCJpbXBvcnQgdHlwZSB7IFByb3BlcnR5VmFsdWVzIH0gZnJvbSAnQGxpdC9yZWFjdGl2ZS1lbGVtZW50JztcbmltcG9ydCB0eXBlIHsgQ1NTUmVzdWx0R3JvdXAsIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGh0bWwgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IFNiYkVsZW1lbnQgfSBmcm9tICcuLi8uLi9jb3JlL2Jhc2UtZWxlbWVudHMudHMnO1xuaW1wb3J0IHsgU2JiTGFuZ3VhZ2VDb250cm9sbGVyIH0gZnJvbSAnLi4vLi4vY29yZS9jb250cm9sbGVycy9sYW5ndWFnZS1jb250cm9sbGVyLnRzJztcbmltcG9ydCB7IGZvcmNlVHlwZSB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycy50cyc7XG5pbXBvcnQge1xuICBpMThuQ2Fyb3VzZWxBcnJvd3NOYXZpZ2F0aW9uSGludCxcbiAgaTE4bk5leHRTbGlkZSxcbiAgaTE4blByZXZpb3VzU2xpZGUsXG4gIGkxOG5TbGlkZSxcbn0gZnJvbSAnLi4vLi4vY29yZS9pMThuL2kxOG4udHMnO1xuaW1wb3J0IHsgYm94U2l6aW5nU3R5bGVzIH0gZnJvbSAnLi4vLi4vY29yZS9zdHlsZXMudHMnO1xuaW1wb3J0IHR5cGUgeyBTYmJDb21wYWN0UGFnaW5hdG9yRWxlbWVudCB9IGZyb20gJy4uLy4uL3BhZ2luYXRvci9jb21wYWN0LXBhZ2luYXRvci9jb21wYWN0LXBhZ2luYXRvci5jb21wb25lbnQudHMnO1xuaW1wb3J0IHR5cGUge1xuICBTYmJDYXJvdXNlbEl0ZW1FbGVtZW50LFxuICBTYmJDYXJvdXNlbEl0ZW1FdmVudERldGFpbCxcbn0gZnJvbSAnLi4vY2Fyb3VzZWwtaXRlbS9jYXJvdXNlbC1pdGVtLmNvbXBvbmVudC50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYkNhcm91c2VsTGlzdEVsZW1lbnQgfSBmcm9tICcuLi9jYXJvdXNlbC1saXN0L2Nhcm91c2VsLWxpc3QuY29tcG9uZW50LnRzJztcblxuaW1wb3J0ICcuLi8uLi9zY3JlZW4tcmVhZGVyLW9ubHkudHMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9jYXJvdXNlbC5zY3NzP2xpdCZpbmxpbmUnO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGEgY2Fyb3VzZWwgY29tcG9uZW50LlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIHRoZSBgc2JiLWNhcm91c2VsLWxpc3RgIGZvciBjb250ZW50IGFuZCBhIGBzYmItcGFnaW5hdG9yYCBmb3IgY29udHJvbHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJDYXJvdXNlbEVsZW1lbnQgZXh0ZW5kcyBTYmJFbGVtZW50IHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSBlbGVtZW50TmFtZTogc3RyaW5nID0gJ3NiYi1jYXJvdXNlbCc7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IFtib3hTaXppbmdTdHlsZXMsIHN0eWxlXTtcblxuICAvKipcbiAgICogVXNlZCB0byBkaXNwbGF5IGEgYm94LXNoYWRvdyBhcm91bmQgdGhlIGNvbXBvbmVudC5cbiAgICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlLCB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBzaGFkb3c6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwcml2YXRlIF9wYWdpbmF0b3I6IFNiYkNvbXBhY3RQYWdpbmF0b3JFbGVtZW50IHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgX2Fib3J0Q29udHJvbGxlcjogQWJvcnRDb250cm9sbGVyIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgX2xhbmd1YWdlID0gbmV3IFNiYkxhbmd1YWdlQ29udHJvbGxlcih0aGlzKTtcbiAgcHJpdmF0ZSBfcmVxdWVzdGVkUGFnZUluZGV4QnlQYWdpbmF0b3IgPSAtMTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIC8vIElmIHRoZSBsaXN0IGlzIHNjcm9sbGVkIHVzaW5nIG1vdXNlL2tleWJvYXJkLCBpdCBrZWVwcyB0aGUgcGFnaW5hdG9yIHVwZGF0ZWQuXG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ3Nob3cnLCAoZTogQ3VzdG9tRXZlbnQ8U2JiQ2Fyb3VzZWxJdGVtRXZlbnREZXRhaWw+KSA9PiB7XG4gICAgICAvLyBXZSBoYXZlIHRvIGdpdmUgcHJpb3JpdHkgdG8gdGhlIHBhZ2luYXRvciBmb3IgdGhlIGNhc2UsXG4gICAgICAvLyBpZiBkdXJpbmcgYW4gYW5pbWF0aW9uIHRoZSBuZXh0IHBhZ2UgaXMgY2FsbGVkIGZyb20gdGhlIHBhZ2luYXRvciwgdGhlIHBhZ2luYXRvciBpcyByZXNldC5cbiAgICAgIGlmIChcbiAgICAgICAgdGhpcy5fcmVxdWVzdGVkUGFnZUluZGV4QnlQYWdpbmF0b3IgIT09IC0xICYmXG4gICAgICAgIHRoaXMuX3JlcXVlc3RlZFBhZ2VJbmRleEJ5UGFnaW5hdG9yICE9PSBlLmRldGFpbC5pbmRleFxuICAgICAgKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLl9wYWdpbmF0b3IpIHtcbiAgICAgICAgaWYgKGUuZGV0YWlsLmluZGV4ICE9PSB0aGlzLl9wYWdpbmF0b3IucGFnZUluZGV4KSB7XG4gICAgICAgICAgdGhpcy5fcGFnaW5hdG9yLnBhZ2VJbmRleCA9IGUuZGV0YWlsLmluZGV4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICB0aGlzLl9yZXF1ZXN0ZWRQYWdlSW5kZXhCeVBhZ2luYXRvciA9IC0xO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG5cbiAgICB0aGlzLmludGVybmFscy5yb2xlID0gJ3JlZ2lvbic7XG4gICAgdGhpcy5pbnRlcm5hbHMuYXJpYUxhYmVsID0gJ2Nhcm91c2VsJztcblxuICAgIHRoaXMuX3NldHVwUGFnaW5hdG9yKCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZmlyc3RVcGRhdGVkKF9jaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXMpOiB2b2lkIHtcbiAgICBzdXBlci5maXJzdFVwZGF0ZWQoX2NoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFEZXNjcmliZWRCeUVsZW1lbnRzID0gW1xuICAgICAgdGhpcy5zaGFkb3dSb290IS5xdWVyeVNlbGVjdG9yKCcjc2JiLWNhcm91c2VsLWFycm93cy1uYXZpZ2F0aW9uLWhpbnQnKSEsXG4gICAgXTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBkaXNjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuX2Fib3J0Q29udHJvbGxlcj8uYWJvcnQoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZVNsb3RjaGFuZ2UoKTogdm9pZCB7XG4gICAgY29uc3QgcGFnaW5hdG9yOiBTYmJDb21wYWN0UGFnaW5hdG9yRWxlbWVudCA9IEFycmF5LmZyb20odGhpcy5jaGlsZHJlbikuZmluZChcbiAgICAgIChlbCkgPT4gZWwubG9jYWxOYW1lID09PSAnc2JiLWNvbXBhY3QtcGFnaW5hdG9yJyxcbiAgICApIGFzIFNiYkNvbXBhY3RQYWdpbmF0b3JFbGVtZW50O1xuICAgIGNvbnN0IGxpc3Q6IFNiYkNhcm91c2VsTGlzdEVsZW1lbnQgPSBBcnJheS5mcm9tKHRoaXMuY2hpbGRyZW4pLmZpbmQoXG4gICAgICAoZWwpID0+IGVsLmxvY2FsTmFtZSA9PT0gJ3NiYi1jYXJvdXNlbC1saXN0JyxcbiAgICApIGFzIFNiYkNhcm91c2VsTGlzdEVsZW1lbnQ7XG4gICAgaWYgKCFwYWdpbmF0b3IgfHwgIWxpc3QpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgaXRlbXMgPSBsaXN0LnF1ZXJ5U2VsZWN0b3JBbGw8U2JiQ2Fyb3VzZWxJdGVtRWxlbWVudD4oJ3NiYi1jYXJvdXNlbC1pdGVtJyk7XG4gICAgaWYgKGl0ZW1zICYmIGl0ZW1zLmxlbmd0aCA+IDApIHtcbiAgICAgIHBhZ2luYXRvci5sZW5ndGggPSBpdGVtcy5sZW5ndGg7XG4gICAgICBwYWdpbmF0b3IucGFnZVNpemUgPSAxO1xuICAgIH1cbiAgICBwYWdpbmF0b3IuYWNjZXNzaWJpbGl0eU5leHRQYWdlTGFiZWwgfHw9IGkxOG5OZXh0U2xpZGVbdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF07XG4gICAgcGFnaW5hdG9yLmFjY2Vzc2liaWxpdHlQcmV2aW91c1BhZ2VMYWJlbCB8fD0gaTE4blByZXZpb3VzU2xpZGVbdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF07XG4gICAgcGFnaW5hdG9yLmFjY2Vzc2liaWxpdHlQYWdlTGFiZWwgfHw9IGkxOG5TbGlkZVt0aGlzLl9sYW5ndWFnZS5jdXJyZW50XTtcblxuICAgIGlmIChwYWdpbmF0b3IgIT09IHRoaXMuX3BhZ2luYXRvcikge1xuICAgICAgdGhpcy5fcGFnaW5hdG9yID0gcGFnaW5hdG9yO1xuICAgICAgdGhpcy5fc2V0dXBQYWdpbmF0b3IoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9zZXR1cFBhZ2luYXRvcigpOiB2b2lkIHtcbiAgICB0aGlzLl9hYm9ydENvbnRyb2xsZXI/LmFib3J0KCk7XG5cbiAgICBpZiAoIXRoaXMuX3BhZ2luYXRvcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLl9hYm9ydENvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG5cbiAgICAvLyBCeSBsaXN0ZW5pbmcgdG8gdGhlIGNsaWNrIGV2ZW50IG9uIHRoZSBwYWdpbmF0b3IsIHdlIGNhbiBlbnN1cmUgdGhhdCB0aGUgY2hhbmdlIHdhcyB1c2VyIHRyaWdnZXJlZC5cbiAgICAvLyBJZiB3ZSBpbnN0ZWFkIHVzZSB0aGUgcGFnZSBldmVudCwgd2Ugd291bGQgYWxzbyBjYXRjaCBwcm9ncmFtbWF0aWMgY2hhbmdlcyB0byB0aGUgcGFnaW5hdG9yXG4gICAgLy8gd2hpY2ggY2FuIGNhdXNlIGEgbG9vcCBhbmQgd3JvbmcgdGltaW5nIGFzIHdlIGFsc28gbGlzdGVuIHRvIHRoZSBzaG93IGV2ZW50LlxuICAgIHRoaXMuX3BhZ2luYXRvci5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHRoaXMuX3Njcm9sbEF0UGFnaW5hdG9yQ2hhbmdlKCksIHtcbiAgICAgIHNpZ25hbDogdGhpcy5fYWJvcnRDb250cm9sbGVyLnNpZ25hbCxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX3Njcm9sbEF0UGFnaW5hdG9yQ2hhbmdlKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5fcGFnaW5hdG9yKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuX3JlcXVlc3RlZFBhZ2VJbmRleEJ5UGFnaW5hdG9yID0gdGhpcy5fcGFnaW5hdG9yLnBhZ2VJbmRleDtcblxuICAgIGNvbnN0IGxpc3QgPSB0aGlzLnF1ZXJ5U2VsZWN0b3I8U2JiQ2Fyb3VzZWxMaXN0RWxlbWVudD4oJ3NiYi1jYXJvdXNlbC1saXN0Jyk7XG5cbiAgICBpZiAobGlzdCkge1xuICAgICAgY29uc3QgaXRlbXMgPSBsaXN0LnF1ZXJ5U2VsZWN0b3JBbGw8U2JiQ2Fyb3VzZWxJdGVtRWxlbWVudD4oJ3NiYi1jYXJvdXNlbC1pdGVtJyk7XG5cbiAgICAgIC8vIEFzIHRoZSBvZmZzZXRMZWZ0IGlzIGFsd2F5cyByZW5kZXJlZCBmcm9tIHRoZSB2aWV3cG9ydCBib3VuZGFyaWVzLCB3ZSBuZWVkIHRvIHN1YnRyYWN0IHRoZSBvZmZzZXRMZWZ0XG4gICAgICAvLyBmcm9tIHRoZSBjYXJvdXNlbCB0byBnZXQgdGhlIG9mZnNldCBpbnNpZGUgdGhlIHNjcm9sbCBhcmVhLlxuICAgICAgY29uc3Qgb2Zmc2V0TGVmdCA9IGl0ZW1zW3RoaXMuX3BhZ2luYXRvci5wYWdlSW5kZXhdLm9mZnNldExlZnQgLSB0aGlzLm9mZnNldExlZnQ7XG5cbiAgICAgIC8vIFByZXZlbnRzIHJlZHVuZGFudCBzY3JvbGxpbmcgd2hlbiB0aGUgcGFnaW5hdG9yIHVwZGF0ZXMgYWZ0ZXIgYSBzY3JvbGwgZXZlbnRcbiAgICAgIC8vIGJ5IGNoZWNraW5nIHRoZSBkaXN0YW5jZSBiZXR3ZWVuIHRoZSBjdXJyZW50IGFuZCB0YXJnZXQgc2Nyb2xsIHBvc2l0aW9ucy5cbiAgICAgIC8vIChzaG93IGV2ZW50IGlzIHRyaWdnZXJlZCBzbGlnaHRseSBiZWZvcmUgZnVsbHkgc2Nyb2xsZWQpLlxuICAgICAgaWYgKGxpc3QuY2xpZW50V2lkdGggPD0gMTAwIHx8IE1hdGguYWJzKGxpc3Quc2Nyb2xsTGVmdCAtIG9mZnNldExlZnQpID4gNTApIHtcbiAgICAgICAgbGlzdC5zY3JvbGxUbyh7IGxlZnQ6IG9mZnNldExlZnQgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLWNhcm91c2VsXCI+XG4gICAgICAgIDxzYmItc2NyZWVuLXJlYWRlci1vbmx5IGlkPVwic2JiLWNhcm91c2VsLWFycm93cy1uYXZpZ2F0aW9uLWhpbnRcIlxuICAgICAgICAgID4ke2kxOG5DYXJvdXNlbEFycm93c05hdmlnYXRpb25IaW50W3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdfTwvc2JiLXNjcmVlbi1yZWFkZXItb25seVxuICAgICAgICA+XG4gICAgICAgIDxzbG90IEBzbG90Y2hhbmdlPSR7dGhpcy5faGFuZGxlU2xvdGNoYW5nZX0+PC9zbG90PlxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWNhcm91c2VsJzogU2JiQ2Fyb3VzZWxFbGVtZW50O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUMrQmEsNEJBQWtCO21CQUFTOzs7O2NBQTNCLDJCQUEyQixZQUFVOzs7eUJBTy9DLFdBQVcsRUFDWCxTQUFTO0lBQUUsU0FBUztJQUFNLE1BQU07SUFBUyxDQUFDLENBQUE7QUFDM0MsZ0JBQUEsTUFBQSxNQUFBLG9CQUFBO0lBQUEsTUFBQTtJQUFBLE1BQUE7SUFBQSxRQUFBO0lBQUEsU0FBQTtJQUFBLFFBQUE7S0FBQSxNQUFBLFFBQUEsWUFBQTtLQUFBLE1BQUEsUUFBQSxJQUFnQjtLQUFNLE1BQUEsS0FBQSxVQUFBO0FBQUEsVUFBTixTQUFNOztLQUFBO0lBQUEsVUFBQTtJQUFBLEVBQUEsc0JBQUEsMEJBQUE7Ozs7Ozs7OztBQVJVLFFBQUEsY0FBc0I7OztBQUMvQixRQUFBLFNBQXlCLENBQUMsaUJBQWlCLGlCQUFNOztFQU94RTs7OztFQUFBLElBQWdCLFNBQU07QUFBQSxVQUFBLE1BQUE7O0VBQXRCLElBQWdCLE9BQU0sT0FBQTtBQUFBLFNBQUEsMEJBQUE7O0VBT3RCLGNBQUE7QUFDRSxVQUFPO0FBUk8sU0FBQSwwQkFBQSxrQkFBQSxNQUFBLHNCQUFrQixNQUFLO0FBRS9CLFFBQUEsY0FBVSxrQkFBQSxNQUFBLDBCQUFBLEVBQXNDO0FBQ2hELFFBQUEsbUJBQTJDO0FBQzNDLFFBQUEsWUFBWSxJQUFJLHNCQUFzQixLQUFLO0FBQzNDLFFBQUEsaUNBQWlDO0FBTXZDLFFBQUssbUJBQW1CLFNBQVMsTUFBOEM7QUFHN0UsUUFDRSxLQUFLLG1DQUFtQyxNQUN4QyxLQUFLLG1DQUFtQyxFQUFFLE9BQU8sTUFFakQ7QUFFRixRQUFJLEtBQUs7U0FDSCxFQUFFLE9BQU8sVUFBVSxLQUFLLFdBQVcsVUFDckMsTUFBSyxXQUFXLFlBQVksRUFBRSxPQUFPOztBQUd6QyxTQUFLLGlDQUFpQztLQUN0Qzs7RUFHWSxvQkFBaUI7QUFDL0IsU0FBTSxtQkFBbUI7QUFFekIsUUFBSyxVQUFVLE9BQU87QUFDdEIsUUFBSyxVQUFVLFlBQVk7QUFFM0IsUUFBSyxpQkFBaUI7O0VBR1IsYUFBYSxvQkFBa0M7QUFDN0QsU0FBTSxhQUFhLG1CQUFtQjtBQUV0QyxRQUFLLFVBQVUsMEJBQTBCLENBQ3ZDLEtBQUssV0FBWSxjQUFjLHVDQUF3QyxDQUN4RTs7RUFHYSx1QkFBb0I7QUFDbEMsU0FBTSxzQkFBc0I7QUFDNUIsUUFBSyxrQkFBa0IsT0FBTzs7RUFHeEIsb0JBQWlCO0dBQ3ZCLE1BQU0sWUFBd0MsTUFBTSxLQUFLLEtBQUssU0FBUyxDQUFDLE1BQ3JFLE9BQU8sR0FBRyxjQUFjLHdCQUNJO0dBQy9CLE1BQU0sT0FBK0IsTUFBTSxLQUFLLEtBQUssU0FBUyxDQUFDLE1BQzVELE9BQU8sR0FBRyxjQUFjLG9CQUNBO0FBQzNCLE9BQUksQ0FBQyxhQUFhLENBQUMsS0FDakI7R0FFRixNQUFNLFFBQVEsS0FBSyxpQkFBeUMsb0JBQW9CO0FBQ2hGLE9BQUksU0FBUyxNQUFNLFNBQVMsR0FBRztBQUM3QixjQUFVLFNBQVMsTUFBTTtBQUN6QixjQUFVLFdBQVc7O0FBRXZCLGFBQVUsK0JBQStCLGNBQWMsS0FBSyxVQUFVO0FBQ3RFLGFBQVUsbUNBQW1DLGtCQUFrQixLQUFLLFVBQVU7QUFDOUUsYUFBVSwyQkFBMkIsVUFBVSxLQUFLLFVBQVU7QUFFOUQsT0FBSSxjQUFjLEtBQUssWUFBWTtBQUNqQyxTQUFLLGFBQWE7QUFDbEIsU0FBSyxpQkFBaUI7OztFQUlsQixrQkFBZTtBQUNyQixRQUFLLGtCQUFrQixPQUFPO0FBRTlCLE9BQUksQ0FBQyxLQUFLLFdBQ1I7QUFFRixRQUFLLG1CQUFtQixJQUFJLGlCQUFpQjtBQUs3QyxRQUFLLFdBQVcsaUJBQWlCLGVBQWUsS0FBSywwQkFBMEIsRUFBRSxFQUMvRSxRQUFRLEtBQUssaUJBQWlCLFFBQy9CLENBQUM7O0VBR0ksMkJBQXdCO0FBQzlCLE9BQUksQ0FBQyxLQUFLLFdBQ1I7QUFFRixRQUFLLGlDQUFpQyxLQUFLLFdBQVc7R0FFdEQsTUFBTSxPQUFPLEtBQUssY0FBc0Msb0JBQW9CO0FBRTVFLE9BQUksTUFBTTtJQUtSLE1BQU0sYUFKUSxLQUFLLGlCQUF5QyxvQkFBb0IsQ0FJdkQsS0FBSyxXQUFXLFdBQVcsYUFBYSxLQUFLO0FBS3RFLFFBQUksS0FBSyxlQUFlLE9BQU8sS0FBSyxJQUFJLEtBQUssYUFBYSxXQUFXLEdBQUcsR0FDdEUsTUFBSyxTQUFTLEVBQUUsTUFBTSxZQUFZLENBQUM7OztFQUt0QixTQUFNO0FBQ3ZCLFVBQU8sSUFBSTs7O2FBR0YsaUNBQWlDLEtBQUssVUFBVSxTQUFROzs0QkFFekMsS0FBSyxrQkFBaUIifQ==