@sbb-esta/lyne-elements-dev 4.7.0-dev.1773388991 → 4.7.0-dev.1773396165

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