@sbb-esta/lyne-elements 1.16.0 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (675) hide show
  1. package/accordion/accordion.d.ts +4 -1
  2. package/accordion/accordion.d.ts.map +1 -1
  3. package/accordion.js +31 -22
  4. package/action-group/action-group.d.ts +6 -4
  5. package/action-group/action-group.d.ts.map +1 -1
  6. package/action-group.js +20 -17
  7. package/alert/alert/alert.d.ts +7 -23
  8. package/alert/alert/alert.d.ts.map +1 -1
  9. package/alert/alert-group/alert-group.d.ts +0 -4
  10. package/alert/alert-group/alert-group.d.ts.map +1 -1
  11. package/alert/alert-group.js +46 -47
  12. package/alert/alert.js +74 -132
  13. package/animation.css +4 -8
  14. package/autocomplete/autocomplete-base-element.d.ts +7 -6
  15. package/autocomplete/autocomplete-base-element.d.ts.map +1 -1
  16. package/autocomplete/autocomplete.d.ts +0 -1
  17. package/autocomplete/autocomplete.d.ts.map +1 -1
  18. package/autocomplete-grid/autocomplete-grid/autocomplete-grid.d.ts +0 -1
  19. package/autocomplete-grid/autocomplete-grid/autocomplete-grid.d.ts.map +1 -1
  20. package/autocomplete-grid/autocomplete-grid-button.js +11 -11
  21. package/autocomplete-grid/autocomplete-grid.js +0 -3
  22. package/autocomplete.js +68 -67
  23. package/button/accent-button/accent-button.d.ts +19 -0
  24. package/button/accent-button/accent-button.d.ts.map +1 -0
  25. package/button/accent-button-link/accent-button-link.d.ts +19 -0
  26. package/button/accent-button-link/accent-button-link.d.ts.map +1 -0
  27. package/button/accent-button-link.d.ts +2 -0
  28. package/button/accent-button-link.d.ts.map +1 -0
  29. package/button/accent-button-link.js +17 -0
  30. package/button/accent-button-static/accent-button-static.d.ts +19 -0
  31. package/button/accent-button-static/accent-button-static.d.ts.map +1 -0
  32. package/button/accent-button-static.d.ts +2 -0
  33. package/button/accent-button-static.d.ts.map +1 -0
  34. package/button/accent-button-static.js +17 -0
  35. package/button/accent-button.d.ts +2 -0
  36. package/button/accent-button.d.ts.map +1 -0
  37. package/button/accent-button.js +17 -0
  38. package/button/common/button-common.d.ts.map +1 -1
  39. package/button/common.d.ts.map +1 -1
  40. package/button/common.js +20 -16
  41. package/button/mini-button/mini-button.d.ts +4 -3
  42. package/button/mini-button/mini-button.d.ts.map +1 -1
  43. package/button/mini-button-group/mini-button-group.d.ts +4 -1
  44. package/button/mini-button-group/mini-button-group.d.ts.map +1 -1
  45. package/button/mini-button-group.js +12 -8
  46. package/button/mini-button.d.ts +0 -1
  47. package/button/mini-button.d.ts.map +1 -1
  48. package/button/mini-button.js +10 -20
  49. package/button.d.ts +3 -3
  50. package/button.d.ts.map +1 -1
  51. package/button.js +3 -3
  52. package/calendar.js +25 -25
  53. package/card/card/card.d.ts +4 -1
  54. package/card/card/card.d.ts.map +1 -1
  55. package/card/card.js +10 -6
  56. package/checkbox/checkbox/checkbox.d.ts +4 -6
  57. package/checkbox/checkbox/checkbox.d.ts.map +1 -1
  58. package/checkbox/checkbox-group/checkbox-group.d.ts +4 -1
  59. package/checkbox/checkbox-group/checkbox-group.d.ts.map +1 -1
  60. package/checkbox/checkbox-group.js +14 -10
  61. package/checkbox/checkbox-panel/checkbox-panel.d.ts +4 -4
  62. package/checkbox/checkbox-panel/checkbox-panel.d.ts.map +1 -1
  63. package/checkbox/checkbox-panel.js +21 -18
  64. package/checkbox/checkbox.js +28 -26
  65. package/{chip/chip.d.ts → chip-label/chip-label.d.ts} +4 -4
  66. package/chip-label/chip-label.d.ts.map +1 -0
  67. package/chip-label.d.ts +2 -0
  68. package/chip-label.d.ts.map +1 -0
  69. package/chip-label.js +54 -0
  70. package/clock.js +1 -1
  71. package/container/container.js +21 -21
  72. package/container/sticky-bar/sticky-bar.d.ts +1 -0
  73. package/container/sticky-bar/sticky-bar.d.ts.map +1 -1
  74. package/container/sticky-bar.js +20 -12
  75. package/core/base-elements/button-base-element.d.ts +27 -18
  76. package/core/base-elements/button-base-element.d.ts.map +1 -1
  77. package/core/base-elements/open-close-base-element.d.ts.map +1 -1
  78. package/core/base-elements.js +135 -138
  79. package/core/datetime/date-adapter.d.ts +2 -1
  80. package/core/datetime/date-adapter.d.ts.map +1 -1
  81. package/core/datetime/native-date-adapter.d.ts +1 -1
  82. package/core/datetime/native-date-adapter.d.ts.map +1 -1
  83. package/core/datetime.js +29 -28
  84. package/core/dom/animation.d.ts +2 -0
  85. package/core/dom/animation.d.ts.map +1 -0
  86. package/core/dom/lean-context.d.ts +5 -0
  87. package/core/dom/lean-context.d.ts.map +1 -0
  88. package/core/dom.d.ts +2 -2
  89. package/core/dom.d.ts.map +1 -1
  90. package/core/dom.js +50 -55
  91. package/core/eventing/form-element-handlers.d.ts +0 -7
  92. package/core/eventing/form-element-handlers.d.ts.map +1 -1
  93. package/core/eventing.d.ts +0 -1
  94. package/core/eventing.d.ts.map +1 -1
  95. package/core/eventing.js +28 -49
  96. package/core/i18n/i18n.d.ts +4 -2
  97. package/core/i18n/i18n.d.ts.map +1 -1
  98. package/core/i18n.js +147 -140
  99. package/core/mixins/disabled-mixin.d.ts +2 -7
  100. package/core/mixins/disabled-mixin.d.ts.map +1 -1
  101. package/core/mixins/form-associated-checkbox-mixin.d.ts.map +1 -1
  102. package/core/mixins/form-associated-radio-button-mixin.d.ts +35 -0
  103. package/core/mixins/form-associated-radio-button-mixin.d.ts.map +1 -0
  104. package/core/mixins.d.ts +1 -0
  105. package/core/mixins.d.ts.map +1 -1
  106. package/core/mixins.js +347 -220
  107. package/core/styles/_index.scss +1 -0
  108. package/core/styles/core.scss +150 -0
  109. package/core/styles/image.scss +66 -0
  110. package/core/styles/mixins/animation.scss +2 -4
  111. package/core/styles/mixins/buttons.scss +7 -4
  112. package/core/styles/mixins/card.scss +1 -1
  113. package/core/styles/mixins/chip.scss +35 -35
  114. package/core/styles/mixins/image.scss +34 -0
  115. package/core/styles/mixins/overlay.scss +1 -1
  116. package/core/styles/mixins/panel.scss +1 -1
  117. package/core/styles/standard-theme.scss +1 -0
  118. package/core/styles/table.scss +4 -0
  119. package/core/testing/event-spy.d.ts +2 -1
  120. package/core/testing/event-spy.d.ts.map +1 -1
  121. package/core/testing.d.ts +0 -1
  122. package/core/testing.d.ts.map +1 -1
  123. package/core/testing.js +48 -57
  124. package/core.css +113 -0
  125. package/custom-elements.json +25946 -21671
  126. package/datepicker/common/datepicker-button.d.ts +3 -5
  127. package/datepicker/common/datepicker-button.d.ts.map +1 -1
  128. package/datepicker/common.js +30 -29
  129. package/datepicker/datepicker/datepicker.d.ts +25 -72
  130. package/datepicker/datepicker/datepicker.d.ts.map +1 -1
  131. package/datepicker/datepicker-next-day/datepicker-next-day.d.ts +1 -3
  132. package/datepicker/datepicker-next-day/datepicker-next-day.d.ts.map +1 -1
  133. package/datepicker/datepicker-next-day.js +10 -12
  134. package/datepicker/datepicker-previous-day/datepicker-previous-day.d.ts +1 -3
  135. package/datepicker/datepicker-previous-day/datepicker-previous-day.d.ts.map +1 -1
  136. package/datepicker/datepicker-previous-day.js +11 -13
  137. package/datepicker/datepicker.js +129 -157
  138. package/development/accordion/accordion.d.ts +4 -1
  139. package/development/accordion/accordion.d.ts.map +1 -1
  140. package/development/accordion.js +16 -5
  141. package/development/action-group/action-group.d.ts +6 -4
  142. package/development/action-group/action-group.d.ts.map +1 -1
  143. package/development/action-group.js +10 -7
  144. package/development/alert/alert/alert.d.ts +7 -23
  145. package/development/alert/alert/alert.d.ts.map +1 -1
  146. package/development/alert/alert-group/alert-group.d.ts +0 -4
  147. package/development/alert/alert-group/alert-group.d.ts.map +1 -1
  148. package/development/alert/alert-group.js +10 -12
  149. package/development/alert/alert.js +38 -122
  150. package/development/autocomplete/autocomplete-base-element.d.ts +7 -6
  151. package/development/autocomplete/autocomplete-base-element.d.ts.map +1 -1
  152. package/development/autocomplete/autocomplete.d.ts +0 -1
  153. package/development/autocomplete/autocomplete.d.ts.map +1 -1
  154. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.d.ts +0 -1
  155. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.d.ts.map +1 -1
  156. package/development/autocomplete-grid/autocomplete-grid-button.js +6 -6
  157. package/development/autocomplete-grid/autocomplete-grid.js +1 -7
  158. package/development/autocomplete.js +23 -19
  159. package/development/button/accent-button/accent-button.d.ts +19 -0
  160. package/development/button/accent-button/accent-button.d.ts.map +1 -0
  161. package/development/button/accent-button-link/accent-button-link.d.ts +19 -0
  162. package/development/button/accent-button-link/accent-button-link.d.ts.map +1 -0
  163. package/development/button/accent-button-link.d.ts +2 -0
  164. package/development/button/accent-button-link.d.ts.map +1 -0
  165. package/development/button/accent-button-link.js +25 -0
  166. package/development/button/accent-button-static/accent-button-static.d.ts +19 -0
  167. package/development/button/accent-button-static/accent-button-static.d.ts.map +1 -0
  168. package/development/button/accent-button-static.d.ts +2 -0
  169. package/development/button/accent-button-static.d.ts.map +1 -0
  170. package/development/button/accent-button-static.js +25 -0
  171. package/development/button/accent-button.d.ts +2 -0
  172. package/development/button/accent-button.d.ts.map +1 -0
  173. package/development/button/accent-button.js +25 -0
  174. package/development/button/common/button-common.d.ts.map +1 -1
  175. package/development/button/common.d.ts.map +1 -1
  176. package/development/button/common.js +20 -16
  177. package/development/button/mini-button/mini-button.d.ts +4 -3
  178. package/development/button/mini-button/mini-button.d.ts.map +1 -1
  179. package/development/button/mini-button-group/mini-button-group.d.ts +4 -1
  180. package/development/button/mini-button-group/mini-button-group.d.ts.map +1 -1
  181. package/development/button/mini-button-group.js +7 -3
  182. package/development/button/mini-button.d.ts +0 -1
  183. package/development/button/mini-button.d.ts.map +1 -1
  184. package/development/button/mini-button.js +14 -32
  185. package/development/button.d.ts +3 -3
  186. package/development/button.d.ts.map +1 -1
  187. package/development/button.js +3 -3
  188. package/development/calendar.js +1 -1
  189. package/development/card/card/card.d.ts +4 -1
  190. package/development/card/card/card.d.ts.map +1 -1
  191. package/development/card/card.js +8 -4
  192. package/development/checkbox/checkbox/checkbox.d.ts +4 -6
  193. package/development/checkbox/checkbox/checkbox.d.ts.map +1 -1
  194. package/development/checkbox/checkbox-group/checkbox-group.d.ts +4 -1
  195. package/development/checkbox/checkbox-group/checkbox-group.d.ts.map +1 -1
  196. package/development/checkbox/checkbox-group.js +7 -3
  197. package/development/checkbox/checkbox-panel/checkbox-panel.d.ts +4 -4
  198. package/development/checkbox/checkbox-panel/checkbox-panel.d.ts.map +1 -1
  199. package/development/checkbox/checkbox-panel.js +7 -4
  200. package/development/checkbox/checkbox.js +8 -6
  201. package/development/{chip/chip.d.ts → chip-label/chip-label.d.ts} +4 -4
  202. package/development/chip-label/chip-label.d.ts.map +1 -0
  203. package/development/chip-label.d.ts +2 -0
  204. package/development/chip-label.d.ts.map +1 -0
  205. package/development/{chip.js → chip-label.js} +26 -26
  206. package/development/clock.js +1 -1
  207. package/development/container/container.js +8 -12
  208. package/development/container/sticky-bar/sticky-bar.d.ts +1 -0
  209. package/development/container/sticky-bar/sticky-bar.d.ts.map +1 -1
  210. package/development/container/sticky-bar.js +18 -10
  211. package/development/core/base-elements/button-base-element.d.ts +27 -18
  212. package/development/core/base-elements/button-base-element.d.ts.map +1 -1
  213. package/development/core/base-elements/open-close-base-element.d.ts.map +1 -1
  214. package/development/core/base-elements.js +66 -74
  215. package/development/core/datetime/date-adapter.d.ts +2 -1
  216. package/development/core/datetime/date-adapter.d.ts.map +1 -1
  217. package/development/core/datetime/native-date-adapter.d.ts +1 -1
  218. package/development/core/datetime/native-date-adapter.d.ts.map +1 -1
  219. package/development/core/datetime.js +4 -3
  220. package/development/core/dom/animation.d.ts +2 -0
  221. package/development/core/dom/animation.d.ts.map +1 -0
  222. package/development/core/dom/lean-context.d.ts +5 -0
  223. package/development/core/dom/lean-context.d.ts.map +1 -0
  224. package/development/core/dom.d.ts +2 -2
  225. package/development/core/dom.d.ts.map +1 -1
  226. package/development/core/dom.js +13 -21
  227. package/development/core/eventing/form-element-handlers.d.ts +0 -7
  228. package/development/core/eventing/form-element-handlers.d.ts.map +1 -1
  229. package/development/core/eventing.d.ts +0 -1
  230. package/development/core/eventing.d.ts.map +1 -1
  231. package/development/core/eventing.js +1 -25
  232. package/development/core/i18n/i18n.d.ts +4 -2
  233. package/development/core/i18n/i18n.d.ts.map +1 -1
  234. package/development/core/i18n.js +27 -23
  235. package/development/core/mixins/disabled-mixin.d.ts +2 -7
  236. package/development/core/mixins/disabled-mixin.d.ts.map +1 -1
  237. package/development/core/mixins/form-associated-checkbox-mixin.d.ts.map +1 -1
  238. package/development/core/mixins/form-associated-radio-button-mixin.d.ts +35 -0
  239. package/development/core/mixins/form-associated-radio-button-mixin.d.ts.map +1 -0
  240. package/development/core/mixins.d.ts +1 -0
  241. package/development/core/mixins.d.ts.map +1 -1
  242. package/development/core/mixins.js +221 -30
  243. package/development/core/testing/event-spy.d.ts +2 -1
  244. package/development/core/testing/event-spy.d.ts.map +1 -1
  245. package/development/core/testing.d.ts +0 -1
  246. package/development/core/testing.d.ts.map +1 -1
  247. package/development/core/testing.js +4 -15
  248. package/development/datepicker/common/datepicker-button.d.ts +3 -5
  249. package/development/datepicker/common/datepicker-button.d.ts.map +1 -1
  250. package/development/datepicker/common.js +13 -12
  251. package/development/datepicker/datepicker/datepicker.d.ts +25 -72
  252. package/development/datepicker/datepicker/datepicker.d.ts.map +1 -1
  253. package/development/datepicker/datepicker-next-day/datepicker-next-day.d.ts +1 -3
  254. package/development/datepicker/datepicker-next-day/datepicker-next-day.d.ts.map +1 -1
  255. package/development/datepicker/datepicker-next-day.js +9 -15
  256. package/development/datepicker/datepicker-previous-day/datepicker-previous-day.d.ts +1 -3
  257. package/development/datepicker/datepicker-previous-day/datepicker-previous-day.d.ts.map +1 -1
  258. package/development/datepicker/datepicker-previous-day.js +9 -15
  259. package/development/datepicker/datepicker.js +74 -115
  260. package/development/dialog/dialog/dialog.d.ts +3 -0
  261. package/development/dialog/dialog/dialog.d.ts.map +1 -1
  262. package/development/dialog/dialog-title.js +2 -1
  263. package/development/dialog/dialog.js +46 -39
  264. package/development/expansion-panel/expansion-panel/expansion-panel.d.ts +7 -1
  265. package/development/expansion-panel/expansion-panel/expansion-panel.d.ts.map +1 -1
  266. package/development/expansion-panel/expansion-panel-header.js +3 -3
  267. package/development/expansion-panel/expansion-panel.js +32 -17
  268. package/development/file-selector/common/file-selector-common.d.ts +23 -0
  269. package/development/file-selector/common/file-selector-common.d.ts.map +1 -0
  270. package/development/file-selector/common.d.ts +2 -0
  271. package/development/file-selector/common.d.ts.map +1 -0
  272. package/development/file-selector/common.js +382 -0
  273. package/development/file-selector/file-selector/file-selector.d.ts +24 -0
  274. package/development/file-selector/file-selector/file-selector.d.ts.map +1 -0
  275. package/development/file-selector/file-selector-dropzone/file-selector-dropzone.d.ts +33 -0
  276. package/development/file-selector/file-selector-dropzone/file-selector-dropzone.d.ts.map +1 -0
  277. package/development/file-selector/file-selector-dropzone.d.ts +2 -0
  278. package/development/file-selector/file-selector-dropzone.d.ts.map +1 -0
  279. package/development/file-selector/file-selector-dropzone.js +181 -0
  280. package/development/file-selector/file-selector.d.ts +1 -87
  281. package/development/file-selector/file-selector.d.ts.map +1 -1
  282. package/development/file-selector/file-selector.js +52 -0
  283. package/development/file-selector.d.ts +2 -0
  284. package/development/file-selector.d.ts.map +1 -1
  285. package/development/file-selector.js +4 -552
  286. package/development/flip-card/flip-card-details.js +1 -1
  287. package/development/flip-card/flip-card-summary.js +3 -11
  288. package/development/flip-card/flip-card.js +6 -6
  289. package/development/form-field/form-field/form-field.d.ts +5 -10
  290. package/development/form-field/form-field/form-field.d.ts.map +1 -1
  291. package/development/form-field/form-field-clear.js +6 -6
  292. package/development/form-field/form-field.js +32 -40
  293. package/development/header/common.js +2 -2
  294. package/development/header/header/header.d.ts +5 -3
  295. package/development/header/header/header.d.ts.map +1 -1
  296. package/development/header/header.js +15 -20
  297. package/development/image/image.d.ts +0 -30
  298. package/development/image/image.d.ts.map +1 -1
  299. package/development/image.js +62 -273
  300. package/development/journey-header/journey-header.d.ts +4 -1
  301. package/development/journey-header/journey-header.d.ts.map +1 -1
  302. package/development/journey-header.js +7 -3
  303. package/development/lead-container.js +2 -10
  304. package/development/link/common/link-common.d.ts.map +1 -1
  305. package/development/link/common.js +9 -8
  306. package/development/link-list/common/link-list-base.d.ts +1 -0
  307. package/development/link-list/common/link-list-base.d.ts.map +1 -1
  308. package/development/link-list/common.js +4 -2
  309. package/development/link-list/link-list-anchor.js +4 -4
  310. package/development/loading-indicator/loading-indicator.d.ts +1 -3
  311. package/development/loading-indicator/loading-indicator.d.ts.map +1 -1
  312. package/development/loading-indicator-circle/loading-indicator-circle.d.ts +16 -0
  313. package/development/loading-indicator-circle/loading-indicator-circle.d.ts.map +1 -0
  314. package/development/loading-indicator-circle.d.ts +2 -0
  315. package/development/loading-indicator-circle.d.ts.map +1 -0
  316. package/development/loading-indicator-circle.js +146 -0
  317. package/development/loading-indicator.js +81 -182
  318. package/development/map-container/map-container.d.ts.map +1 -1
  319. package/development/map-container.js +5 -5
  320. package/development/menu/common.js +5 -5
  321. package/development/menu/menu/menu.d.ts +3 -0
  322. package/development/menu/menu/menu.d.ts.map +1 -1
  323. package/development/menu/menu.js +39 -24
  324. package/development/message.js +4 -2
  325. package/development/navigation/common/navigation-action-common.d.ts.map +1 -1
  326. package/development/navigation/common.js +9 -5
  327. package/development/navigation/navigation/navigation.d.ts +3 -0
  328. package/development/navigation/navigation/navigation.d.ts.map +1 -1
  329. package/development/navigation/navigation-list/navigation-list.d.ts.map +1 -1
  330. package/development/navigation/navigation-list.js +3 -2
  331. package/development/navigation/navigation-marker/navigation-marker.d.ts +2 -1
  332. package/development/navigation/navigation-marker/navigation-marker.d.ts.map +1 -1
  333. package/development/navigation/navigation-marker.js +6 -4
  334. package/development/navigation/navigation-section/navigation-section.d.ts +3 -0
  335. package/development/navigation/navigation-section/navigation-section.d.ts.map +1 -1
  336. package/development/navigation/navigation-section.js +38 -22
  337. package/development/navigation/navigation.js +42 -27
  338. package/development/notification/notification.d.ts +6 -2
  339. package/development/notification/notification.d.ts.map +1 -1
  340. package/development/notification.js +27 -21
  341. package/development/option/option/option-base-element.d.ts +0 -7
  342. package/development/option/option/option-base-element.d.ts.map +1 -1
  343. package/development/option/option.js +5 -26
  344. package/development/overlay/overlay-base-element.d.ts +2 -0
  345. package/development/overlay/overlay-base-element.d.ts.map +1 -1
  346. package/development/overlay/overlay.d.ts +3 -0
  347. package/development/overlay/overlay.d.ts.map +1 -1
  348. package/development/overlay.js +43 -31
  349. package/development/paginator/common/paginator-common.d.ts.map +1 -1
  350. package/development/paginator/common.js +7 -3
  351. package/development/paginator/paginator.js +1 -1
  352. package/development/popover/popover/popover.d.ts +3 -0
  353. package/development/popover/popover/popover.d.ts.map +1 -1
  354. package/development/popover/popover-trigger.js +9 -9
  355. package/development/popover/popover.js +41 -26
  356. package/development/radio-button/common/radio-button-common.d.ts +3 -10
  357. package/development/radio-button/common/radio-button-common.d.ts.map +1 -1
  358. package/development/radio-button/common.js +44 -121
  359. package/development/radio-button/radio-button/radio-button.d.ts +9 -1
  360. package/development/radio-button/radio-button/radio-button.d.ts.map +1 -1
  361. package/development/radio-button/radio-button-group/radio-button-group.d.ts +19 -26
  362. package/development/radio-button/radio-button-group/radio-button-group.d.ts.map +1 -1
  363. package/development/radio-button/radio-button-group.js +87 -123
  364. package/development/radio-button/radio-button-panel/radio-button-panel.d.ts +19 -1
  365. package/development/radio-button/radio-button-panel/radio-button-panel.d.ts.map +1 -1
  366. package/development/radio-button/radio-button-panel.js +35 -15
  367. package/development/radio-button/radio-button.js +11 -15
  368. package/development/select/select.d.ts +3 -9
  369. package/development/select/select.d.ts.map +1 -1
  370. package/development/select.js +27 -25
  371. package/development/selection-expansion-panel/selection-expansion-panel.d.ts +4 -1
  372. package/development/selection-expansion-panel/selection-expansion-panel.d.ts.map +1 -1
  373. package/development/selection-expansion-panel.js +28 -16
  374. package/development/skiplink-list/skiplink-list.d.ts.map +1 -1
  375. package/development/skiplink-list.js +3 -2
  376. package/development/slider/slider.d.ts +0 -1
  377. package/development/slider/slider.d.ts.map +1 -1
  378. package/development/slider.js +2 -2
  379. package/development/stepper/step-label/step-label.d.ts +0 -2
  380. package/development/stepper/step-label/step-label.d.ts.map +1 -1
  381. package/development/stepper/step-label.js +10 -11
  382. package/development/stepper/step.js +1 -1
  383. package/development/stepper/stepper/stepper.d.ts +4 -1
  384. package/development/stepper/stepper/stepper.d.ts.map +1 -1
  385. package/development/stepper/stepper.js +9 -7
  386. package/development/tabs/tab-group/tab-group.d.ts +4 -1
  387. package/development/tabs/tab-group/tab-group.d.ts.map +1 -1
  388. package/development/tabs/tab-group.js +8 -4
  389. package/development/tabs/tab-label.js +1 -1
  390. package/development/tag/tag/tag.d.ts +4 -1
  391. package/development/tag/tag/tag.d.ts.map +1 -1
  392. package/development/tag/tag-group/tag-group.d.ts +5 -2
  393. package/development/tag/tag-group/tag-group.d.ts.map +1 -1
  394. package/development/tag/tag-group.js +7 -4
  395. package/development/tag/tag.js +16 -12
  396. package/development/teaser/teaser.d.ts +2 -2
  397. package/development/teaser/teaser.d.ts.map +1 -1
  398. package/development/teaser-hero/teaser-hero.d.ts +2 -6
  399. package/development/teaser-hero/teaser-hero.d.ts.map +1 -1
  400. package/development/teaser-hero.js +9 -60
  401. package/development/teaser-product/common.js +7 -14
  402. package/development/teaser-product/teaser-product.js +1 -21
  403. package/development/teaser.js +14 -32
  404. package/development/time-input/time-input.d.ts +3 -6
  405. package/development/time-input/time-input.d.ts.map +1 -1
  406. package/development/time-input.js +33 -27
  407. package/development/toast/toast.d.ts +3 -0
  408. package/development/toast/toast.d.ts.map +1 -1
  409. package/development/toast.js +27 -13
  410. package/development/toggle/toggle/toggle.d.ts +4 -8
  411. package/development/toggle/toggle/toggle.d.ts.map +1 -1
  412. package/development/toggle/toggle.js +9 -12
  413. package/development/toggle-check/toggle-check.d.ts +4 -6
  414. package/development/toggle-check/toggle-check.d.ts.map +1 -1
  415. package/development/toggle-check.js +9 -7
  416. package/development/train/train/train.d.ts.map +1 -1
  417. package/development/train/train-blocked-passage.js +2 -2
  418. package/development/train/train-formation/train-formation.d.ts +3 -11
  419. package/development/train/train-formation/train-formation.d.ts.map +1 -1
  420. package/development/train/train-formation.js +43 -74
  421. package/development/train/train-wagon/train-wagon.d.ts +11 -8
  422. package/development/train/train-wagon/train-wagon.d.ts.map +1 -1
  423. package/development/train/train-wagon.js +149 -124
  424. package/development/train/train.js +35 -112
  425. package/development/visual-checkbox/visual-checkbox.d.ts +4 -1
  426. package/development/visual-checkbox/visual-checkbox.d.ts.map +1 -1
  427. package/development/visual-checkbox.js +7 -3
  428. package/dialog/dialog/dialog.d.ts +3 -0
  429. package/dialog/dialog/dialog.d.ts.map +1 -1
  430. package/dialog/dialog-title.js +9 -9
  431. package/dialog/dialog.js +56 -51
  432. package/expansion-panel/expansion-panel/expansion-panel.d.ts +7 -1
  433. package/expansion-panel/expansion-panel/expansion-panel.d.ts.map +1 -1
  434. package/expansion-panel/expansion-panel-header.js +1 -1
  435. package/expansion-panel/expansion-panel.js +41 -28
  436. package/file-selector/common/file-selector-common.d.ts +23 -0
  437. package/file-selector/common/file-selector-common.d.ts.map +1 -0
  438. package/file-selector/common.d.ts +2 -0
  439. package/file-selector/common.d.ts.map +1 -0
  440. package/file-selector/common.js +210 -0
  441. package/file-selector/file-selector/file-selector.d.ts +24 -0
  442. package/file-selector/file-selector/file-selector.d.ts.map +1 -0
  443. package/file-selector/file-selector-dropzone/file-selector-dropzone.d.ts +33 -0
  444. package/file-selector/file-selector-dropzone/file-selector-dropzone.d.ts.map +1 -0
  445. package/file-selector/file-selector-dropzone.d.ts +2 -0
  446. package/file-selector/file-selector-dropzone.d.ts.map +1 -0
  447. package/file-selector/file-selector-dropzone.js +97 -0
  448. package/file-selector/file-selector.d.ts +1 -87
  449. package/file-selector/file-selector.d.ts.map +1 -1
  450. package/file-selector/file-selector.js +44 -0
  451. package/file-selector.d.ts +2 -0
  452. package/file-selector.d.ts.map +1 -1
  453. package/file-selector.js +3 -301
  454. package/flip-card/flip-card-details.js +5 -5
  455. package/flip-card/flip-card-summary.js +7 -7
  456. package/flip-card/flip-card.js +9 -9
  457. package/form-field/form-field/form-field.d.ts +5 -10
  458. package/form-field/form-field/form-field.d.ts.map +1 -1
  459. package/form-field/form-field-clear.js +12 -12
  460. package/form-field/form-field.js +143 -141
  461. package/header/common.js +10 -10
  462. package/header/header/header.d.ts +5 -3
  463. package/header/header/header.d.ts.map +1 -1
  464. package/header/header.js +28 -31
  465. package/image/image.d.ts +0 -30
  466. package/image/image.d.ts.map +1 -1
  467. package/image.js +187 -281
  468. package/index.d.ts +13 -9
  469. package/index.js +13 -9
  470. package/journey-header/journey-header.d.ts +4 -1
  471. package/journey-header/journey-header.d.ts.map +1 -1
  472. package/journey-header.js +29 -25
  473. package/lead-container.js +5 -5
  474. package/link/common/link-common.d.ts.map +1 -1
  475. package/link/common.js +18 -16
  476. package/link-list/common/link-list-base.d.ts +1 -0
  477. package/link-list/common/link-list-base.d.ts.map +1 -1
  478. package/link-list/common.js +11 -9
  479. package/link-list/link-list-anchor.js +8 -8
  480. package/loading-indicator/loading-indicator.d.ts +1 -3
  481. package/loading-indicator/loading-indicator.d.ts.map +1 -1
  482. package/loading-indicator-circle/loading-indicator-circle.d.ts +16 -0
  483. package/loading-indicator-circle/loading-indicator-circle.d.ts.map +1 -0
  484. package/loading-indicator-circle.d.ts +2 -0
  485. package/loading-indicator-circle.d.ts.map +1 -0
  486. package/loading-indicator-circle.js +46 -0
  487. package/loading-indicator.js +41 -51
  488. package/map-container/map-container.d.ts.map +1 -1
  489. package/map-container.js +7 -7
  490. package/menu/common.js +8 -8
  491. package/menu/menu/menu.d.ts +3 -0
  492. package/menu/menu/menu.d.ts.map +1 -1
  493. package/menu/menu.js +52 -43
  494. package/message.js +12 -12
  495. package/navigation/common/navigation-action-common.d.ts.map +1 -1
  496. package/navigation/common.js +10 -6
  497. package/navigation/navigation/navigation.d.ts +3 -0
  498. package/navigation/navigation/navigation.d.ts.map +1 -1
  499. package/navigation/navigation-list/navigation-list.d.ts.map +1 -1
  500. package/navigation/navigation-list.js +17 -16
  501. package/navigation/navigation-marker/navigation-marker.d.ts +2 -1
  502. package/navigation/navigation-marker/navigation-marker.d.ts.map +1 -1
  503. package/navigation/navigation-marker.js +12 -10
  504. package/navigation/navigation-section/navigation-section.d.ts +3 -0
  505. package/navigation/navigation-section/navigation-section.d.ts.map +1 -1
  506. package/navigation/navigation-section.js +46 -37
  507. package/navigation/navigation.js +30 -21
  508. package/notification/notification.d.ts +6 -2
  509. package/notification/notification.d.ts.map +1 -1
  510. package/notification.js +55 -51
  511. package/option/option/option-base-element.d.ts +0 -7
  512. package/option/option/option-base-element.d.ts.map +1 -1
  513. package/option/option.js +110 -125
  514. package/overlay/overlay-base-element.d.ts +2 -0
  515. package/overlay/overlay-base-element.d.ts.map +1 -1
  516. package/overlay/overlay.d.ts +3 -0
  517. package/overlay/overlay.d.ts.map +1 -1
  518. package/overlay.js +83 -77
  519. package/package.json +40 -25
  520. package/paginator/common/paginator-common.d.ts.map +1 -1
  521. package/paginator/common.js +21 -17
  522. package/paginator/paginator.js +1 -1
  523. package/popover/popover/popover.d.ts +3 -0
  524. package/popover/popover/popover.d.ts.map +1 -1
  525. package/popover/popover-trigger.js +6 -6
  526. package/popover/popover.js +114 -109
  527. package/radio-button/common/radio-button-common.d.ts +3 -10
  528. package/radio-button/common/radio-button-common.d.ts.map +1 -1
  529. package/radio-button/common.js +43 -90
  530. package/radio-button/radio-button/radio-button.d.ts +9 -1
  531. package/radio-button/radio-button/radio-button.d.ts.map +1 -1
  532. package/radio-button/radio-button-group/radio-button-group.d.ts +19 -26
  533. package/radio-button/radio-button-group/radio-button-group.d.ts.map +1 -1
  534. package/radio-button/radio-button-group.js +112 -131
  535. package/radio-button/radio-button-panel/radio-button-panel.d.ts +19 -1
  536. package/radio-button/radio-button-panel/radio-button-panel.d.ts.map +1 -1
  537. package/radio-button/radio-button-panel.js +56 -44
  538. package/radio-button/radio-button.js +34 -38
  539. package/select/select.d.ts +3 -9
  540. package/select/select.d.ts.map +1 -1
  541. package/select.js +65 -66
  542. package/selection-expansion-panel/selection-expansion-panel.d.ts +4 -1
  543. package/selection-expansion-panel/selection-expansion-panel.d.ts.map +1 -1
  544. package/selection-expansion-panel.js +41 -31
  545. package/skiplink-list/skiplink-list.d.ts.map +1 -1
  546. package/skiplink-list.js +14 -13
  547. package/slider/slider.d.ts +0 -1
  548. package/slider/slider.d.ts.map +1 -1
  549. package/slider.js +1 -1
  550. package/standard-theme.css +238 -8
  551. package/stepper/step-label/step-label.d.ts +0 -2
  552. package/stepper/step-label/step-label.d.ts.map +1 -1
  553. package/stepper/step-label.js +6 -6
  554. package/stepper/step.js +4 -4
  555. package/stepper/stepper/stepper.d.ts +4 -1
  556. package/stepper/stepper/stepper.d.ts.map +1 -1
  557. package/stepper/stepper.js +22 -19
  558. package/table.css +15 -0
  559. package/tabs/tab-group/tab-group.d.ts +4 -1
  560. package/tabs/tab-group/tab-group.d.ts.map +1 -1
  561. package/tabs/tab-group.js +24 -20
  562. package/tabs/tab-label.js +1 -1
  563. package/tag/tag/tag.d.ts +4 -1
  564. package/tag/tag/tag.d.ts.map +1 -1
  565. package/tag/tag-group/tag-group.d.ts +5 -2
  566. package/tag/tag-group/tag-group.d.ts.map +1 -1
  567. package/tag/tag-group.js +13 -10
  568. package/tag/tag.js +25 -21
  569. package/teaser/teaser.d.ts +2 -2
  570. package/teaser/teaser.d.ts.map +1 -1
  571. package/teaser-hero/teaser-hero.d.ts +2 -6
  572. package/teaser-hero/teaser-hero.d.ts.map +1 -1
  573. package/teaser-hero.js +32 -57
  574. package/teaser-product/common.js +1 -1
  575. package/teaser-product/teaser-product.js +13 -13
  576. package/teaser.js +28 -28
  577. package/time-input/time-input.d.ts +3 -6
  578. package/time-input/time-input.d.ts.map +1 -1
  579. package/time-input.js +56 -55
  580. package/toast/toast.d.ts +3 -0
  581. package/toast/toast.d.ts.map +1 -1
  582. package/toast.js +51 -42
  583. package/toggle/toggle/toggle.d.ts +4 -8
  584. package/toggle/toggle/toggle.d.ts.map +1 -1
  585. package/toggle/toggle.js +48 -48
  586. package/toggle-check/toggle-check.d.ts +4 -6
  587. package/toggle-check/toggle-check.d.ts.map +1 -1
  588. package/toggle-check.js +23 -21
  589. package/train/train/train.d.ts.map +1 -1
  590. package/train/train-blocked-passage.js +1 -1
  591. package/train/train-formation/train-formation.d.ts +3 -11
  592. package/train/train-formation/train-formation.d.ts.map +1 -1
  593. package/train/train-formation.js +47 -65
  594. package/train/train-wagon/train-wagon.d.ts +11 -8
  595. package/train/train-wagon/train-wagon.d.ts.map +1 -1
  596. package/train/train-wagon.js +123 -134
  597. package/train/train.js +74 -78
  598. package/visual-checkbox/visual-checkbox.d.ts +4 -1
  599. package/visual-checkbox/visual-checkbox.d.ts.map +1 -1
  600. package/visual-checkbox.js +21 -17
  601. package/button/mini-button/mini-button-base-element.d.ts +0 -8
  602. package/button/mini-button/mini-button-base-element.d.ts.map +0 -1
  603. package/button/tertiary-button/tertiary-button.d.ts +0 -19
  604. package/button/tertiary-button/tertiary-button.d.ts.map +0 -1
  605. package/button/tertiary-button-link/tertiary-button-link.d.ts +0 -19
  606. package/button/tertiary-button-link/tertiary-button-link.d.ts.map +0 -1
  607. package/button/tertiary-button-link.d.ts +0 -2
  608. package/button/tertiary-button-link.d.ts.map +0 -1
  609. package/button/tertiary-button-link.js +0 -17
  610. package/button/tertiary-button-static/tertiary-button-static.d.ts +0 -19
  611. package/button/tertiary-button-static/tertiary-button-static.d.ts.map +0 -1
  612. package/button/tertiary-button-static.d.ts +0 -2
  613. package/button/tertiary-button-static.d.ts.map +0 -1
  614. package/button/tertiary-button-static.js +0 -17
  615. package/button/tertiary-button.d.ts +0 -2
  616. package/button/tertiary-button.d.ts.map +0 -1
  617. package/button/tertiary-button.js +0 -17
  618. package/chip/chip.d.ts.map +0 -1
  619. package/chip.d.ts +0 -2
  620. package/chip.d.ts.map +0 -1
  621. package/chip.js +0 -54
  622. package/core/dom/get-document-writing-mode.d.ts +0 -5
  623. package/core/dom/get-document-writing-mode.d.ts.map +0 -1
  624. package/core/dom/ssr.d.ts +0 -13
  625. package/core/dom/ssr.d.ts.map +0 -1
  626. package/core/eventing/handler-repository.d.ts +0 -28
  627. package/core/eventing/handler-repository.d.ts.map +0 -1
  628. package/core/observers/intersection-observer.d.ts +0 -20
  629. package/core/observers/intersection-observer.d.ts.map +0 -1
  630. package/core/observers/mutation-observer.d.ts +0 -13
  631. package/core/observers/mutation-observer.d.ts.map +0 -1
  632. package/core/observers/resize-observer.d.ts +0 -16
  633. package/core/observers/resize-observer.d.ts.map +0 -1
  634. package/core/observers.d.ts +0 -4
  635. package/core/observers.d.ts.map +0 -1
  636. package/core/observers.js +0 -38
  637. package/core/testing/wait-for-event.d.ts +0 -2
  638. package/core/testing/wait-for-event.d.ts.map +0 -1
  639. package/development/button/mini-button/mini-button-base-element.d.ts +0 -8
  640. package/development/button/mini-button/mini-button-base-element.d.ts.map +0 -1
  641. package/development/button/tertiary-button/tertiary-button.d.ts +0 -19
  642. package/development/button/tertiary-button/tertiary-button.d.ts.map +0 -1
  643. package/development/button/tertiary-button-link/tertiary-button-link.d.ts +0 -19
  644. package/development/button/tertiary-button-link/tertiary-button-link.d.ts.map +0 -1
  645. package/development/button/tertiary-button-link.d.ts +0 -2
  646. package/development/button/tertiary-button-link.d.ts.map +0 -1
  647. package/development/button/tertiary-button-link.js +0 -25
  648. package/development/button/tertiary-button-static/tertiary-button-static.d.ts +0 -19
  649. package/development/button/tertiary-button-static/tertiary-button-static.d.ts.map +0 -1
  650. package/development/button/tertiary-button-static.d.ts +0 -2
  651. package/development/button/tertiary-button-static.d.ts.map +0 -1
  652. package/development/button/tertiary-button-static.js +0 -25
  653. package/development/button/tertiary-button.d.ts +0 -2
  654. package/development/button/tertiary-button.d.ts.map +0 -1
  655. package/development/button/tertiary-button.js +0 -25
  656. package/development/chip/chip.d.ts.map +0 -1
  657. package/development/chip.d.ts +0 -2
  658. package/development/chip.d.ts.map +0 -1
  659. package/development/core/dom/get-document-writing-mode.d.ts +0 -5
  660. package/development/core/dom/get-document-writing-mode.d.ts.map +0 -1
  661. package/development/core/dom/ssr.d.ts +0 -13
  662. package/development/core/dom/ssr.d.ts.map +0 -1
  663. package/development/core/eventing/handler-repository.d.ts +0 -28
  664. package/development/core/eventing/handler-repository.d.ts.map +0 -1
  665. package/development/core/observers/intersection-observer.d.ts +0 -20
  666. package/development/core/observers/intersection-observer.d.ts.map +0 -1
  667. package/development/core/observers/mutation-observer.d.ts +0 -13
  668. package/development/core/observers/mutation-observer.d.ts.map +0 -1
  669. package/development/core/observers/resize-observer.d.ts +0 -16
  670. package/development/core/observers/resize-observer.d.ts.map +0 -1
  671. package/development/core/observers.d.ts +0 -4
  672. package/development/core/observers.d.ts.map +0 -1
  673. package/development/core/observers.js +0 -39
  674. package/development/core/testing/wait-for-event.d.ts +0 -2
  675. package/development/core/testing/wait-for-event.d.ts.map +0 -1
@@ -12,6 +12,7 @@ import { customElement, property } from "lit/decorators.js";
12
12
  import { interactivityChecker, isArrowKeyPressed, getNextElementIndex } from "../core/a11y.js";
13
13
  import { SbbConnectedAbortController } from "../core/controllers.js";
14
14
  import { hostAttributes, forceType, handleDistinctChange } from "../core/decorators.js";
15
+ import { isLean } from "../core/dom.js";
15
16
  import { EventEmitter } from "../core/eventing.js";
16
17
  const style = css`*,
17
18
  ::before,
@@ -28,7 +29,7 @@ const style = css`*,
28
29
  --sbb-toggle-selected-option-border-color: var(--sbb-color-smoke);
29
30
  --sbb-toggle-padding-inline: var(--sbb-spacing-responsive-xxxs);
30
31
  --sbb-toggle-animation-duration: var(
31
- --sbb-disable-animation-zero-time,
32
+ --sbb-disable-animation-duration,
32
33
  var(--sbb-animation-duration-6x)
33
34
  );
34
35
  --sbb-toggle-height: 1.75rem;
@@ -77,8 +78,7 @@ const style = css`*,
77
78
  }
78
79
 
79
80
  :host([data-disable-animation-on-resizing]) {
80
- --sbb-disable-animation-time: 0.1ms;
81
- --sbb-disable-animation-zero-time: 0s;
81
+ --sbb-disable-animation-duration: 0s;
82
82
  }
83
83
 
84
84
  .sbb-toggle {
@@ -150,7 +150,7 @@ let SbbToggleElement = (() => {
150
150
  __privateAdd(this, _size_accessor_storage);
151
151
  __privateSet(this, _disabled_accessor_storage, (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _disabled_initializers, false)));
152
152
  __privateSet(this, _even_accessor_storage, (__runInitializers(this, _disabled_extraInitializers), __runInitializers(this, _even_initializers, false)));
153
- __privateSet(this, _size_accessor_storage, (__runInitializers(this, _even_extraInitializers), __runInitializers(this, _size_initializers, "m")));
153
+ __privateSet(this, _size_accessor_storage, (__runInitializers(this, _even_extraInitializers), __runInitializers(this, _size_initializers, isLean() ? "s" : "m")));
154
154
  this._value = (__runInitializers(this, _size_extraInitializers), null);
155
155
  this._loaded = false;
156
156
  this._toggleResizeObserver = new ResizeController(this, {
@@ -158,10 +158,6 @@ let SbbToggleElement = (() => {
158
158
  skipInitial: true,
159
159
  callback: () => this.updatePillPosition(true)
160
160
  });
161
- this._didChange = new EventEmitter(this, SbbToggleElement2.events.didChange, {
162
- bubbles: true,
163
- composed: true
164
- });
165
161
  this._change = new EventEmitter(this, SbbToggleElement2.events.change, {
166
162
  bubbles: true,
167
163
  composed: true
@@ -185,7 +181,10 @@ let SbbToggleElement = (() => {
185
181
  set even(value) {
186
182
  __privateSet(this, _even_accessor_storage, value);
187
183
  }
188
- /** Size variant, either m or s. */
184
+ /**
185
+ * Size variant, either m or s.
186
+ * @default 'm' / 's' (lean)
187
+ */
189
188
  get size() {
190
189
  return __privateGet(this, _size_accessor_storage);
191
190
  }
@@ -271,7 +270,6 @@ let SbbToggleElement = (() => {
271
270
  _handleInput() {
272
271
  this.updatePillPosition(false);
273
272
  this._change.emit();
274
- this._didChange.emit();
275
273
  }
276
274
  _handleKeyDown(evt) {
277
275
  const enabledToggleOptions = this.options.filter((t) => !t.disabled && interactivityChecker.isVisible(t));
@@ -319,7 +317,6 @@ let SbbToggleElement = (() => {
319
317
  SbbToggleElement2 = _classThis = _classDescriptor.value;
320
318
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
321
319
  })(), _a.styles = style, _a.events = {
322
- didChange: "didChange",
323
320
  change: "change"
324
321
  }, __runInitializers(_classThis, _classExtraInitializers), _a);
325
322
  return SbbToggleElement2 = _classThis;
@@ -327,4 +324,4 @@ let SbbToggleElement = (() => {
327
324
  export {
328
325
  SbbToggleElement
329
326
  };
330
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvdG9nZ2xlL3RvZ2dsZS90b2dnbGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVzaXplQ29udHJvbGxlciB9IGZyb20gJ0BsaXQtbGFicy9vYnNlcnZlcnMvcmVzaXplLWNvbnRyb2xsZXIuanMnO1xuaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgaHRtbCxcbiAgaXNTZXJ2ZXIsXG4gIExpdEVsZW1lbnQsXG4gIHR5cGUgUHJvcGVydHlWYWx1ZXMsXG4gIHR5cGUgVGVtcGxhdGVSZXN1bHQsXG59IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgZ2V0TmV4dEVsZW1lbnRJbmRleCwgaW50ZXJhY3Rpdml0eUNoZWNrZXIsIGlzQXJyb3dLZXlQcmVzc2VkIH0gZnJvbSAnLi4vLi4vY29yZS9hMTF5LmpzJztcbmltcG9ydCB7IFNiYkNvbm5lY3RlZEFib3J0Q29udHJvbGxlciB9IGZyb20gJy4uLy4uL2NvcmUvY29udHJvbGxlcnMuanMnO1xuaW1wb3J0IHsgZm9yY2VUeXBlLCBoYW5kbGVEaXN0aW5jdENoYW5nZSwgaG9zdEF0dHJpYnV0ZXMgfSBmcm9tICcuLi8uLi9jb3JlL2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgRXZlbnRFbWl0dGVyIH0gZnJvbSAnLi4vLi4vY29yZS9ldmVudGluZy5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYlRvZ2dsZU9wdGlvbkVsZW1lbnQgfSBmcm9tICcuLi90b2dnbGUtb3B0aW9uLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vdG9nZ2xlLnNjc3M/bGl0JmlubGluZSc7XG5cbi8qKlxuICogSXQgY2FuIGJlIHVzZWQgYXMgYSBjb250YWluZXIgZm9yIHR3byBgc2JiLXRvZ2dsZS1vcHRpb25gLCBhY3RpbmcgYXMgYSB0b2dnbGUgYnV0dG9uLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGA8c2JiLXRvZ2dsZS1vcHRpb24+YCBlbGVtZW50cyB0byB0aGUgdG9nZ2xlLlxuICogQGV2ZW50IHtDdXN0b21FdmVudDx2b2lkPn0gZGlkQ2hhbmdlIC0gRGVwcmVjYXRlZC4gdXNlZCBmb3IgUmVhY3QuIFdpbGwgcHJvYmFibHkgYmUgcmVtb3ZlZCBvbmNlIFJlYWN0IDE5IGlzIGF2YWlsYWJsZS5cbiAqIEBldmVudCB7Q3VzdG9tRXZlbnQ8dm9pZD59IGNoYW5nZSAtIEVtaXRzIHdoZW5ldmVyIHRoZSB0b2dnbGUgdmFsdWUgY2hhbmdlcy5cbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLXRvZ2dsZScpXG5AaG9zdEF0dHJpYnV0ZXMoe1xuICByb2xlOiAncmFkaW9ncm91cCcsXG59KVxuY2xhc3MgU2JiVG9nZ2xlRWxlbWVudCBleHRlbmRzIExpdEVsZW1lbnQge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBldmVudHMgPSB7XG4gICAgZGlkQ2hhbmdlOiAnZGlkQ2hhbmdlJyxcbiAgICBjaGFuZ2U6ICdjaGFuZ2UnLFxuICB9IGFzIGNvbnN0O1xuXG4gIC8qKiBXaGV0aGVyIHRoZSB0b2dnbGUgaXMgZGlzYWJsZWQuICovXG4gIEBmb3JjZVR5cGUoKVxuICBAaGFuZGxlRGlzdGluY3RDaGFuZ2UoKGUpID0+IGUuX3VwZGF0ZURpc2FibGVkKCkpXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUsIHR5cGU6IEJvb2xlYW4gfSlcbiAgcHVibGljIGFjY2Vzc29yIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIElmIHRydWUsIHNldCB0aGUgd2lkdGggb2YgdGhlIGNvbXBvbmVudCBmaXhlZDsgaWYgZmFsc2UsXG4gICAqIHRoZSB3aWR0aCBpcyBkeW5hbWljIGJhc2VkIG9uIHRoZSBsYWJlbCBvZiB0aGUgc2JiLXRvZ2dsZS1vcHRpb24uXG4gICAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSwgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgYWNjZXNzb3IgZXZlbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBTaXplIHZhcmlhbnQsIGVpdGhlciBtIG9yIHMuICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIGFjY2Vzc29yIHNpemU6ICdzJyB8ICdtJyA9ICdtJztcblxuICAvKipcbiAgICogVGhlIHZhbHVlIG9mIHRoZSB0b2dnbGUuIEl0IG5lZWRzIHRvIGJlIG11dGFibGUgc2luY2UgaXQgaXMgdXBkYXRlZCB3aGVuZXZlclxuICAgKiBhIG5ldyBvcHRpb24gaXMgc2VsZWN0ZWQgKHNlZSB0aGUgYG9uVG9nZ2xlT3B0aW9uU2VsZWN0KClgIG1ldGhvZCkuXG4gICAqL1xuICBAcHJvcGVydHkoKVxuICBwdWJsaWMgc2V0IHZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICBpZiAoaXNTZXJ2ZXIpIHtcbiAgICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX3ZhbHVlQ2hhbmdlZCh2YWx1ZSk7XG4gICAgfVxuICB9XG4gIHB1YmxpYyBnZXQgdmFsdWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gaXNTZXJ2ZXJcbiAgICAgID8gKHRoaXMuX3ZhbHVlID8/ICcnKVxuICAgICAgOiAodGhpcy5vcHRpb25zLmZpbmQoKG8pID0+IG8uY2hlY2tlZCk/LnZhbHVlID8/IHRoaXMub3B0aW9uc1swXT8udmFsdWUgPz8gJycpO1xuICB9XG4gIHByaXZhdGUgX3ZhbHVlOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICAvKiogVGhlIGNoaWxkIGluc3RhbmNlcyBvZiBzYmItdG9nZ2xlLW9wdGlvbiBhcyBhbiBhcnJheS4gKi9cbiAgcHVibGljIGdldCBvcHRpb25zKCk6IFNiYlRvZ2dsZU9wdGlvbkVsZW1lbnRbXSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5xdWVyeVNlbGVjdG9yQWxsPy4oJ3NiYi10b2dnbGUtb3B0aW9uJykgPz8gW10pO1xuICB9XG5cbiAgcHJpdmF0ZSBfbG9hZGVkOiBib29sZWFuID0gZmFsc2U7XG4gIHByaXZhdGUgX3RvZ2dsZVJlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZUNvbnRyb2xsZXIodGhpcywge1xuICAgIHRhcmdldDogbnVsbCxcbiAgICBza2lwSW5pdGlhbDogdHJ1ZSxcbiAgICBjYWxsYmFjazogKCkgPT4gdGhpcy51cGRhdGVQaWxsUG9zaXRpb24odHJ1ZSksXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBvbmx5IHVzZWQgZm9yIFJlYWN0LiBXaWxsIHByb2JhYmx5IGJlIHJlbW92ZWQgb25jZSBSZWFjdCAxOSBpcyBhdmFpbGFibGUuXG4gICAqIEVtaXRzIHdoZW5ldmVyIHRoZSB0b2dnbGUgdmFsdWUgY2hhbmdlcy5cbiAgICovXG4gIHByaXZhdGUgX2RpZENoYW5nZTogRXZlbnRFbWl0dGVyID0gbmV3IEV2ZW50RW1pdHRlcih0aGlzLCBTYmJUb2dnbGVFbGVtZW50LmV2ZW50cy5kaWRDaGFuZ2UsIHtcbiAgICBidWJibGVzOiB0cnVlLFxuICAgIGNvbXBvc2VkOiB0cnVlLFxuICB9KTtcblxuICAvKiogRW1pdHMgd2hlbmV2ZXIgdGhlIHRvZ2dsZSB2YWx1ZSBjaGFuZ2VzLiAqL1xuICBwcml2YXRlIF9jaGFuZ2U6IEV2ZW50RW1pdHRlciA9IG5ldyBFdmVudEVtaXR0ZXIodGhpcywgU2JiVG9nZ2xlRWxlbWVudC5ldmVudHMuY2hhbmdlLCB7XG4gICAgYnViYmxlczogdHJ1ZSxcbiAgICBjb21wb3NlZDogdHJ1ZSxcbiAgfSk7XG5cbiAgcHJpdmF0ZSBfYWJvcnQgPSBuZXcgU2JiQ29ubmVjdGVkQWJvcnRDb250cm9sbGVyKHRoaXMpO1xuXG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgcHVibGljIHVwZGF0ZVBpbGxQb3NpdGlvbihyZXNpemluZzogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmICghdGhpcy5fbG9hZGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMub3B0aW9ucztcbiAgICBjb25zdCB0b2dnbGVFbGVtZW50ID0gdGhpcy5zaGFkb3dSb290IS5xdWVyeVNlbGVjdG9yPEhUTUxEaXZFbGVtZW50PignLnNiYi10b2dnbGUnKTtcblxuICAgIGlmIChcbiAgICAgIG9wdGlvbnMuZXZlcnkoKG8pID0+ICFvLmNoZWNrZWQpIHx8XG4gICAgICBvcHRpb25zLmV2ZXJ5KChvKSA9PiAhby5jbGllbnRXaWR0aCkgfHxcbiAgICAgICF0b2dnbGVFbGVtZW50XG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtZGlzYWJsZS1hbmltYXRpb24tb24tcmVzaXppbmcnLCByZXNpemluZyk7XG5cbiAgICBjb25zdCBmaXJzdE9wdGlvbiA9IG9wdGlvbnNbMF07XG4gICAgY29uc3QgaXNGaXJzdENoZWNrZWQgPSBmaXJzdE9wdGlvbi5jaGVja2VkO1xuICAgIGNvbnN0IHBpbGxMZWZ0ID0gZmlyc3RPcHRpb24uY2hlY2tlZCA/ICcwcHgnIDogYCR7Zmlyc3RPcHRpb24uY2xpZW50V2lkdGh9cHhgO1xuICAgIGNvbnN0IHBpbGxSaWdodCA9IGlzRmlyc3RDaGVja2VkXG4gICAgICA/IGAke3RvZ2dsZUVsZW1lbnQuY2xpZW50V2lkdGggLSBmaXJzdE9wdGlvbi5jbGllbnRXaWR0aH1weGBcbiAgICAgIDogJzBweCc7XG5cbiAgICB0aGlzLnN0eWxlPy5zZXRQcm9wZXJ0eSgnLS1zYmItdG9nZ2xlLW9wdGlvbi1sZWZ0JywgcGlsbExlZnQpO1xuICAgIHRoaXMuc3R5bGU/LnNldFByb3BlcnR5KCctLXNiYi10b2dnbGUtb3B0aW9uLXJpZ2h0JywgcGlsbFJpZ2h0KTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIGNvbnN0IHNpZ25hbCA9IHRoaXMuX2Fib3J0LnNpZ25hbDtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoJ2lucHV0JywgKCkgPT4gdGhpcy5faGFuZGxlSW5wdXQoKSwgeyBzaWduYWwsIHBhc3NpdmU6IHRydWUgfSk7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgKGUpID0+IHRoaXMuX2hhbmRsZUtleURvd24oZSksIHsgc2lnbmFsIH0pO1xuICAgIHRoaXMub3B0aW9ucy5mb3JFYWNoKChvcHRpb24pID0+IHRoaXMuX3RvZ2dsZVJlc2l6ZU9ic2VydmVyLm9ic2VydmUob3B0aW9uKSk7XG4gICAgdGhpcy5fdXBkYXRlVG9nZ2xlKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgYXN5bmMgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IFByb21pc2U8dm9pZD4ge1xuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBhd2FpdCB0aGlzLnVwZGF0ZUNvbXBsZXRlO1xuICAgIHRoaXMuX2xvYWRlZCA9IHRydWU7XG4gICAgdGhpcy51cGRhdGVQaWxsUG9zaXRpb24oZmFsc2UpO1xuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlVG9nZ2xlKCk6IHZvaWQge1xuICAgIHRoaXMuX3ZhbHVlQ2hhbmdlZCh0aGlzLnZhbHVlKTtcbiAgICB0aGlzLl91cGRhdGVEaXNhYmxlZCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfdmFsdWVDaGFuZ2VkKHZhbHVlOiBhbnkgfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICBjb25zdCBvcHRpb25zID0gdGhpcy5vcHRpb25zO1xuICAgIC8vIElmIG9wdGlvbnMgYXJlIG5vdCB5ZXQgZGVmaW5lZCB3ZWIgY29tcG9uZW50cywgd2UgY2FuIGNoZWNrIGlmIGF0dHJpYnV0ZSBpcyBhbHJlYWR5IHNldCBhcyBhIGZhbGxiYWNrLlxuICAgIC8vIFdlIGRvIHRoaXMgYnkgY2hlY2tpbmcgd2hldGhlciB2YWx1ZSBwcm9wZXJ0eSBpcyBhdmFpbGFibGUgKGRlZmluZWQgY29tcG9uZW50KS5cbiAgICBjb25zdCBzZWxlY3RlZE9wdGlvbiA9XG4gICAgICBvcHRpb25zLmZpbmQoXG4gICAgICAgIChvKSA9PiB2YWx1ZSA9PT0gKCd2YWx1ZScgaW4gbyA/IG8udmFsdWUgOiAobyBhcyBIVE1MRWxlbWVudCkuZ2V0QXR0cmlidXRlKCd2YWx1ZScpKSxcbiAgICAgICkgPz9cbiAgICAgIG9wdGlvbnMuZmluZCgobykgPT4gby5jaGVja2VkKSA/P1xuICAgICAgb3B0aW9uc1swXTtcblxuICAgIGlmICghc2VsZWN0ZWRPcHRpb24pIHtcbiAgICAgIGlmIChpbXBvcnQubWV0YS5lbnYuREVWICYmICFpc1NlcnZlcikge1xuICAgICAgICBjb25zb2xlLndhcm4oYHNiYi10b2dnbGU6IE5vIGF2YWlsYWJsZSBvcHRpb25zISAoJHt0aGlzLmlkIHx8ICdObyBpZCd9KWApO1xuICAgICAgfVxuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoIXNlbGVjdGVkT3B0aW9uLmNoZWNrZWQpIHtcbiAgICAgIHNlbGVjdGVkT3B0aW9uLmNoZWNrZWQgPSB0cnVlO1xuICAgIH1cbiAgICB0aGlzLnVwZGF0ZVBpbGxQb3NpdGlvbihmYWxzZSk7XG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVEaXNhYmxlZCgpOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IHRvZ2dsZU9wdGlvbiBvZiB0aGlzLm9wdGlvbnMpIHtcbiAgICAgIHRvZ2dsZU9wdGlvbi5kaXNhYmxlZCA9IHRoaXMuZGlzYWJsZWQ7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlSW5wdXQoKTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVQaWxsUG9zaXRpb24oZmFsc2UpO1xuICAgIHRoaXMuX2NoYW5nZS5lbWl0KCk7XG4gICAgdGhpcy5fZGlkQ2hhbmdlLmVtaXQoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZUtleURvd24oZXZ0OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgZW5hYmxlZFRvZ2dsZU9wdGlvbnMgPSB0aGlzLm9wdGlvbnMuZmlsdGVyKFxuICAgICAgKHQpID0+ICF0LmRpc2FibGVkICYmIGludGVyYWN0aXZpdHlDaGVja2VyLmlzVmlzaWJsZSh0KSxcbiAgICApO1xuXG4gICAgaWYgKFxuICAgICAgIWVuYWJsZWRUb2dnbGVPcHRpb25zIHx8XG4gICAgICAvLyBkb24ndCB0cmFwIG5lc3RlZCBoYW5kbGluZ1xuICAgICAgKChldnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KSAhPT0gdGhpcyAmJiAoZXZ0LnRhcmdldCBhcyBIVE1MRWxlbWVudCkucGFyZW50RWxlbWVudCAhPT0gdGhpcylcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoaXNBcnJvd0tleVByZXNzZWQoZXZ0KSkge1xuICAgICAgY29uc3QgY2hlY2tlZDogbnVtYmVyID0gZW5hYmxlZFRvZ2dsZU9wdGlvbnMuZmluZEluZGV4KFxuICAgICAgICAodG9nZ2xlT3B0aW9uOiBTYmJUb2dnbGVPcHRpb25FbGVtZW50KSA9PiB0b2dnbGVPcHRpb24uY2hlY2tlZCxcbiAgICAgICk7XG4gICAgICBjb25zdCBuZXh0SW5kZXg6IG51bWJlciA9IGdldE5leHRFbGVtZW50SW5kZXgoZXZ0LCBjaGVja2VkLCBlbmFibGVkVG9nZ2xlT3B0aW9ucy5sZW5ndGgpO1xuICAgICAgaWYgKCFlbmFibGVkVG9nZ2xlT3B0aW9uc1tuZXh0SW5kZXhdLmNoZWNrZWQpIHtcbiAgICAgICAgZW5hYmxlZFRvZ2dsZU9wdGlvbnNbbmV4dEluZGV4XS5jaGVja2VkID0gdHJ1ZTtcbiAgICAgICAgZW5hYmxlZFRvZ2dsZU9wdGlvbnNbbmV4dEluZGV4XS5mb2N1cygpO1xuICAgICAgICBlbmFibGVkVG9nZ2xlT3B0aW9uc1tuZXh0SW5kZXhdLmRpc3BhdGNoRXZlbnQoXG4gICAgICAgICAgbmV3IElucHV0RXZlbnQoJ2lucHV0JywgeyBidWJibGVzOiB0cnVlLCBjb21wb3NlZDogdHJ1ZSB9KSxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi10b2dnbGVcIj5cbiAgICAgICAgPHNsb3QgQHNsb3RjaGFuZ2U9JHt0aGlzLl91cGRhdGVUb2dnbGV9Pjwvc2xvdD5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi10b2dnbGUnOiBTYmJUb2dnbGVFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOlsiU2JiVG9nZ2xlRWxlbWVudCIsIl9hIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBK0JNLG9CQUFnQixNQUFBOztBQUpyQixNQUFBLG1CQUFBLENBQUEsY0FBYyxZQUFZLEdBQzFCLGVBQWU7QUFBQSxJQUNkLE1BQU07QUFBQSxFQUFBLENBQ1AsQ0FBQzs7OztvQkFDNkI7Ozs7Ozs7Ozs7OztBQUFSQSxNQUFBQSxxQkFBQSxtQkFBUSxZQUFVO0FB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
327
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvdG9nZ2xlL3RvZ2dsZS90b2dnbGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVzaXplQ29udHJvbGxlciB9IGZyb20gJ0BsaXQtbGFicy9vYnNlcnZlcnMvcmVzaXplLWNvbnRyb2xsZXIuanMnO1xuaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgaHRtbCxcbiAgaXNTZXJ2ZXIsXG4gIExpdEVsZW1lbnQsXG4gIHR5cGUgUHJvcGVydHlWYWx1ZXMsXG4gIHR5cGUgVGVtcGxhdGVSZXN1bHQsXG59IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgZ2V0TmV4dEVsZW1lbnRJbmRleCwgaW50ZXJhY3Rpdml0eUNoZWNrZXIsIGlzQXJyb3dLZXlQcmVzc2VkIH0gZnJvbSAnLi4vLi4vY29yZS9hMTF5LmpzJztcbmltcG9ydCB7IFNiYkNvbm5lY3RlZEFib3J0Q29udHJvbGxlciB9IGZyb20gJy4uLy4uL2NvcmUvY29udHJvbGxlcnMuanMnO1xuaW1wb3J0IHsgZm9yY2VUeXBlLCBoYW5kbGVEaXN0aW5jdENoYW5nZSwgaG9zdEF0dHJpYnV0ZXMgfSBmcm9tICcuLi8uLi9jb3JlL2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgaXNMZWFuIH0gZnJvbSAnLi4vLi4vY29yZS9kb20uanMnO1xuaW1wb3J0IHsgRXZlbnRFbWl0dGVyIH0gZnJvbSAnLi4vLi4vY29yZS9ldmVudGluZy5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYlRvZ2dsZU9wdGlvbkVsZW1lbnQgfSBmcm9tICcuLi90b2dnbGUtb3B0aW9uLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vdG9nZ2xlLnNjc3M/bGl0JmlubGluZSc7XG5cbi8qKlxuICogSXQgY2FuIGJlIHVzZWQgYXMgYSBjb250YWluZXIgZm9yIHR3byBgc2JiLXRvZ2dsZS1vcHRpb25gLCBhY3RpbmcgYXMgYSB0b2dnbGUgYnV0dG9uLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGA8c2JiLXRvZ2dsZS1vcHRpb24+YCBlbGVtZW50cyB0byB0aGUgdG9nZ2xlLlxuICogQGV2ZW50IHtDdXN0b21FdmVudDx2b2lkPn0gY2hhbmdlIC0gRW1pdHMgd2hlbmV2ZXIgdGhlIHRvZ2dsZSB2YWx1ZSBjaGFuZ2VzLlxuICovXG5leHBvcnRcbkBjdXN0b21FbGVtZW50KCdzYmItdG9nZ2xlJylcbkBob3N0QXR0cmlidXRlcyh7XG4gIHJvbGU6ICdyYWRpb2dyb3VwJyxcbn0pXG5jbGFzcyBTYmJUb2dnbGVFbGVtZW50IGV4dGVuZHMgTGl0RWxlbWVudCB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50cyA9IHtcbiAgICBjaGFuZ2U6ICdjaGFuZ2UnLFxuICB9IGFzIGNvbnN0O1xuXG4gIC8qKiBXaGV0aGVyIHRoZSB0b2dnbGUgaXMgZGlzYWJsZWQuICovXG4gIEBmb3JjZVR5cGUoKVxuICBAaGFuZGxlRGlzdGluY3RDaGFuZ2UoKGUpID0+IGUuX3VwZGF0ZURpc2FibGVkKCkpXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUsIHR5cGU6IEJvb2xlYW4gfSlcbiAgcHVibGljIGFjY2Vzc29yIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIElmIHRydWUsIHNldCB0aGUgd2lkdGggb2YgdGhlIGNvbXBvbmVudCBmaXhlZDsgaWYgZmFsc2UsXG4gICAqIHRoZSB3aWR0aCBpcyBkeW5hbWljIGJhc2VkIG9uIHRoZSBsYWJlbCBvZiB0aGUgc2JiLXRvZ2dsZS1vcHRpb24uXG4gICAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSwgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgYWNjZXNzb3IgZXZlbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBTaXplIHZhcmlhbnQsIGVpdGhlciBtIG9yIHMuXG4gICAqIEBkZWZhdWx0ICdtJyAvICdzJyAobGVhbilcbiAgICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIGFjY2Vzc29yIHNpemU6ICdzJyB8ICdtJyA9IGlzTGVhbigpID8gJ3MnIDogJ20nO1xuXG4gIC8qKlxuICAgKiBUaGUgdmFsdWUgb2YgdGhlIHRvZ2dsZS4gSXQgbmVlZHMgdG8gYmUgbXV0YWJsZSBzaW5jZSBpdCBpcyB1cGRhdGVkIHdoZW5ldmVyXG4gICAqIGEgbmV3IG9wdGlvbiBpcyBzZWxlY3RlZCAoc2VlIHRoZSBgb25Ub2dnbGVPcHRpb25TZWxlY3QoKWAgbWV0aG9kKS5cbiAgICovXG4gIEBwcm9wZXJ0eSgpXG4gIHB1YmxpYyBzZXQgdmFsdWUodmFsdWU6IHN0cmluZykge1xuICAgIGlmIChpc1NlcnZlcikge1xuICAgICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fdmFsdWVDaGFuZ2VkKHZhbHVlKTtcbiAgICB9XG4gIH1cbiAgcHVibGljIGdldCB2YWx1ZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBpc1NlcnZlclxuICAgICAgPyAodGhpcy5fdmFsdWUgPz8gJycpXG4gICAgICA6ICh0aGlzLm9wdGlvbnMuZmluZCgobykgPT4gby5jaGVja2VkKT8udmFsdWUgPz8gdGhpcy5vcHRpb25zWzBdPy52YWx1ZSA/PyAnJyk7XG4gIH1cbiAgcHJpdmF0ZSBfdmFsdWU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gIC8qKiBUaGUgY2hpbGQgaW5zdGFuY2VzIG9mIHNiYi10b2dnbGUtb3B0aW9uIGFzIGFuIGFycmF5LiAqL1xuICBwdWJsaWMgZ2V0IG9wdGlvbnMoKTogU2JiVG9nZ2xlT3B0aW9uRWxlbWVudFtdIHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLnF1ZXJ5U2VsZWN0b3JBbGw/Lignc2JiLXRvZ2dsZS1vcHRpb24nKSA/PyBbXSk7XG4gIH1cblxuICBwcml2YXRlIF9sb2FkZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBfdG9nZ2xlUmVzaXplT2JzZXJ2ZXIgPSBuZXcgUmVzaXplQ29udHJvbGxlcih0aGlzLCB7XG4gICAgdGFyZ2V0OiBudWxsLFxuICAgIHNraXBJbml0aWFsOiB0cnVlLFxuICAgIGNhbGxiYWNrOiAoKSA9PiB0aGlzLnVwZGF0ZVBpbGxQb3NpdGlvbih0cnVlKSxcbiAgfSk7XG5cbiAgLyoqIEVtaXRzIHdoZW5ldmVyIHRoZSB0b2dnbGUgdmFsdWUgY2hhbmdlcy4gKi9cbiAgcHJpdmF0ZSBfY2hhbmdlOiBFdmVudEVtaXR0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyKHRoaXMsIFNiYlRvZ2dsZUVsZW1lbnQuZXZlbnRzLmNoYW5nZSwge1xuICAgIGJ1YmJsZXM6IHRydWUsXG4gICAgY29tcG9zZWQ6IHRydWUsXG4gIH0pO1xuXG4gIHByaXZhdGUgX2Fib3J0ID0gbmV3IFNiYkNvbm5lY3RlZEFib3J0Q29udHJvbGxlcih0aGlzKTtcblxuICAvKiogQGludGVybmFsICovXG4gIHB1YmxpYyB1cGRhdGVQaWxsUG9zaXRpb24ocmVzaXppbmc6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX2xvYWRlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLm9wdGlvbnM7XG4gICAgY29uc3QgdG9nZ2xlRWxlbWVudCA9IHRoaXMuc2hhZG93Um9vdCEucXVlcnlTZWxlY3RvcjxIVE1MRGl2RWxlbWVudD4oJy5zYmItdG9nZ2xlJyk7XG5cbiAgICBpZiAoXG4gICAgICBvcHRpb25zLmV2ZXJ5KChvKSA9PiAhby5jaGVja2VkKSB8fFxuICAgICAgb3B0aW9ucy5ldmVyeSgobykgPT4gIW8uY2xpZW50V2lkdGgpIHx8XG4gICAgICAhdG9nZ2xlRWxlbWVudFxuICAgICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkYXRhLWRpc2FibGUtYW5pbWF0aW9uLW9uLXJlc2l6aW5nJywgcmVzaXppbmcpO1xuXG4gICAgY29uc3QgZmlyc3RPcHRpb24gPSBvcHRpb25zWzBdO1xuICAgIGNvbnN0IGlzRmlyc3RDaGVja2VkID0gZmlyc3RPcHRpb24uY2hlY2tlZDtcbiAgICBjb25zdCBwaWxsTGVmdCA9IGZpcnN0T3B0aW9uLmNoZWNrZWQgPyAnMHB4JyA6IGAke2ZpcnN0T3B0aW9uLmNsaWVudFdpZHRofXB4YDtcbiAgICBjb25zdCBwaWxsUmlnaHQgPSBpc0ZpcnN0Q2hlY2tlZFxuICAgICAgPyBgJHt0b2dnbGVFbGVtZW50LmNsaWVudFdpZHRoIC0gZmlyc3RPcHRpb24uY2xpZW50V2lkdGh9cHhgXG4gICAgICA6ICcwcHgnO1xuXG4gICAgdGhpcy5zdHlsZT8uc2V0UHJvcGVydHkoJy0tc2JiLXRvZ2dsZS1vcHRpb24tbGVmdCcsIHBpbGxMZWZ0KTtcbiAgICB0aGlzLnN0eWxlPy5zZXRQcm9wZXJ0eSgnLS1zYmItdG9nZ2xlLW9wdGlvbi1yaWdodCcsIHBpbGxSaWdodCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICBjb25zdCBzaWduYWwgPSB0aGlzLl9hYm9ydC5zaWduYWw7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyKCdpbnB1dCcsICgpID0+IHRoaXMuX2hhbmRsZUlucHV0KCksIHsgc2lnbmFsLCBwYXNzaXZlOiB0cnVlIH0pO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIChlKSA9PiB0aGlzLl9oYW5kbGVLZXlEb3duKGUpLCB7IHNpZ25hbCB9KTtcbiAgICB0aGlzLm9wdGlvbnMuZm9yRWFjaCgob3B0aW9uKSA9PiB0aGlzLl90b2dnbGVSZXNpemVPYnNlcnZlci5vYnNlcnZlKG9wdGlvbikpO1xuICAgIHRoaXMuX3VwZGF0ZVRvZ2dsZSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGFzeW5jIGZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBzdXBlci5maXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgYXdhaXQgdGhpcy51cGRhdGVDb21wbGV0ZTtcbiAgICB0aGlzLl9sb2FkZWQgPSB0cnVlO1xuICAgIHRoaXMudXBkYXRlUGlsbFBvc2l0aW9uKGZhbHNlKTtcbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZVRvZ2dsZSgpOiB2b2lkIHtcbiAgICB0aGlzLl92YWx1ZUNoYW5nZWQodGhpcy52YWx1ZSk7XG4gICAgdGhpcy5fdXBkYXRlRGlzYWJsZWQoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3ZhbHVlQ2hhbmdlZCh2YWx1ZTogYW55IHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMub3B0aW9ucztcbiAgICAvLyBJZiBvcHRpb25zIGFyZSBub3QgeWV0IGRlZmluZWQgd2ViIGNvbXBvbmVudHMsIHdlIGNhbiBjaGVjayBpZiBhdHRyaWJ1dGUgaXMgYWxyZWFkeSBzZXQgYXMgYSBmYWxsYmFjay5cbiAgICAvLyBXZSBkbyB0aGlzIGJ5IGNoZWNraW5nIHdoZXRoZXIgdmFsdWUgcHJvcGVydHkgaXMgYXZhaWxhYmxlIChkZWZpbmVkIGNvbXBvbmVudCkuXG4gICAgY29uc3Qgc2VsZWN0ZWRPcHRpb24gPVxuICAgICAgb3B0aW9ucy5maW5kKFxuICAgICAgICAobykgPT4gdmFsdWUgPT09ICgndmFsdWUnIGluIG8gPyBvLnZhbHVlIDogKG8gYXMgSFRNTEVsZW1lbnQpLmdldEF0dHJpYnV0ZSgndmFsdWUnKSksXG4gICAgICApID8/XG4gICAgICBvcHRpb25zLmZpbmQoKG8pID0+IG8uY2hlY2tlZCkgPz9cbiAgICAgIG9wdGlvbnNbMF07XG5cbiAgICBpZiAoIXNlbGVjdGVkT3B0aW9uKSB7XG4gICAgICBpZiAoaW1wb3J0Lm1ldGEuZW52LkRFViAmJiAhaXNTZXJ2ZXIpIHtcbiAgICAgICAgY29uc29sZS53YXJuKGBzYmItdG9nZ2xlOiBObyBhdmFpbGFibGUgb3B0aW9ucyEgKCR7dGhpcy5pZCB8fCAnTm8gaWQnfSlgKTtcbiAgICAgIH1cbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKCFzZWxlY3RlZE9wdGlvbi5jaGVja2VkKSB7XG4gICAgICBzZWxlY3RlZE9wdGlvbi5jaGVja2VkID0gdHJ1ZTtcbiAgICB9XG4gICAgdGhpcy51cGRhdGVQaWxsUG9zaXRpb24oZmFsc2UpO1xuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlRGlzYWJsZWQoKTogdm9pZCB7XG4gICAgZm9yIChjb25zdCB0b2dnbGVPcHRpb24gb2YgdGhpcy5vcHRpb25zKSB7XG4gICAgICB0b2dnbGVPcHRpb24uZGlzYWJsZWQgPSB0aGlzLmRpc2FibGVkO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZUlucHV0KCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlUGlsbFBvc2l0aW9uKGZhbHNlKTtcbiAgICB0aGlzLl9jaGFuZ2UuZW1pdCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlS2V5RG93bihldnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBlbmFibGVkVG9nZ2xlT3B0aW9ucyA9IHRoaXMub3B0aW9ucy5maWx0ZXIoXG4gICAgICAodCkgPT4gIXQuZGlzYWJsZWQgJiYgaW50ZXJhY3Rpdml0eUNoZWNrZXIuaXNWaXNpYmxlKHQpLFxuICAgICk7XG5cbiAgICBpZiAoXG4gICAgICAhZW5hYmxlZFRvZ2dsZU9wdGlvbnMgfHxcbiAgICAgIC8vIGRvbid0IHRyYXAgbmVzdGVkIGhhbmRsaW5nXG4gICAgICAoKGV2dC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpICE9PSB0aGlzICYmIChldnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5wYXJlbnRFbGVtZW50ICE9PSB0aGlzKVxuICAgICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChpc0Fycm93S2V5UHJlc3NlZChldnQpKSB7XG4gICAgICBjb25zdCBjaGVja2VkOiBudW1iZXIgPSBlbmFibGVkVG9nZ2xlT3B0aW9ucy5maW5kSW5kZXgoXG4gICAgICAgICh0b2dnbGVPcHRpb246IFNiYlRvZ2dsZU9wdGlvbkVsZW1lbnQpID0+IHRvZ2dsZU9wdGlvbi5jaGVja2VkLFxuICAgICAgKTtcbiAgICAgIGNvbnN0IG5leHRJbmRleDogbnVtYmVyID0gZ2V0TmV4dEVsZW1lbnRJbmRleChldnQsIGNoZWNrZWQsIGVuYWJsZWRUb2dnbGVPcHRpb25zLmxlbmd0aCk7XG4gICAgICBpZiAoIWVuYWJsZWRUb2dnbGVPcHRpb25zW25leHRJbmRleF0uY2hlY2tlZCkge1xuICAgICAgICBlbmFibGVkVG9nZ2xlT3B0aW9uc1tuZXh0SW5kZXhdLmNoZWNrZWQgPSB0cnVlO1xuICAgICAgICBlbmFibGVkVG9nZ2xlT3B0aW9uc1tuZXh0SW5kZXhdLmZvY3VzKCk7XG4gICAgICAgIGVuYWJsZWRUb2dnbGVPcHRpb25zW25leHRJbmRleF0uZGlzcGF0Y2hFdmVudChcbiAgICAgICAgICBuZXcgSW5wdXRFdmVudCgnaW5wdXQnLCB7IGJ1YmJsZXM6IHRydWUsIGNvbXBvc2VkOiB0cnVlIH0pLFxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLXRvZ2dsZVwiPlxuICAgICAgICA8c2xvdCBAc2xvdGNoYW5nZT0ke3RoaXMuX3VwZGF0ZVRvZ2dsZX0+PC9zbG90PlxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLXRvZ2dsZSc6IFNiYlRvZ2dsZUVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJTYmJUb2dnbGVFbGVtZW50IiwiX2EiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUErQk0sb0JBQWdCLE1BQUE7O0FBSnJCLE1BQUEsbUJBQUEsQ0FBQSxjQUFjLFlBQVksR0FDMUIsZUFBZTtBQUFBLElBQ2QsTUFBTTtBQUFBLEVBQUEsQ0FDUCxDQUFDOzs7O29CQUM2Qjs7Ozs7Ozs7Ozs7O0FBQVJBLE1BQUFBLHFCQUFBLG1CQUFRLFlBQVU7QUFBQTs7QUFVdkM7QUFRQTtBQU02QjtBQXhCekIseUJBQUEsNkJBQUEsa0JBQUEsTUFBQSwwQkFBQSxHQVVnQyxrQkFBQSxNQUFBLHdCQUFBLEtBQUs7QUFRekIseUJBQUEseUJBQUEsa0JBQUEsTUFBQSwyQkFBQSxHQUFBLGtCQUFBLE1BQUEsb0JBQWdCLEtBQUs7QUFNMEIseUJBQUEseUJBQUEsa0JBQUEsTUFBQSx1QkFBQSxHQUFBLGtCQUFBLE1BQUEsb0JBQUEsT0FBQSxJQUFXLE1BQU0sR0FBRztBQW1CM0UsV0FBTSxVQUFBLGtCQUFBLE1BQUEsdUJBQUEsR0FBa0I7QUFPeEIsV0FBTyxVQUFZO0FBQ25CLFdBQUEsd0JBQXdCLElBQUksaUJBQWlCLE1BQU07QUFBQSxRQUN6RCxRQUFRO0FBQUEsUUFDUixhQUFhO0FBQUEsUUFDYixVQUFVLE1BQU0sS0FBSyxtQkFBbUIs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
@@ -5,17 +5,15 @@ declare const SbbToggleCheckElement_base: import('../core/mixins.js').Constructo
5
5
  *
6
6
  * @slot - Use the unnamed slot to add content to the toggle label.
7
7
  * @slot icon - Use this slot to provide an icon. If `icon-name` is set, a sbb-icon will be used.
8
- * @event {CustomEvent<void>} didChange - Deprecated. used for React. Will probably be removed once React 19 is available.
9
8
  * @event {Event} change - Event fired on change.
10
9
  * @event {InputEvent} input - Event fired on input.
11
- * @overrideType value - string | null
12
10
  */
13
11
  export declare class SbbToggleCheckElement extends SbbToggleCheckElement_base {
14
12
  static styles: CSSResultGroup;
15
- static readonly events: {
16
- readonly didChange: "didChange";
17
- };
18
- /** Size variant, either m, s or xs. */
13
+ /**
14
+ * Size variant, either m, s or xs.
15
+ * @default 's' / 'xs' (lean)
16
+ */
19
17
  accessor size: 'xs' | 's' | 'm';
20
18
  /** The svg name for the true state - default -> 'tick-small' */
21
19
  accessor iconName: string;
@@ -1 +1 @@
1
- {"version":3,"file":"toggle-check.d.ts","sourceRoot":"","sources":["../../../../src/elements/toggle-check/toggle-check.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1E,OAAO,EAAQ,UAAU,EAAE,MAAM,KAAK,CAAC;;AASvC;;;;;;;;;GASG;AACH,qBAGM,qBAAsB,SAAQ,0BAA4D;IAC9F,OAAuB,MAAM,EAAE,cAAc,CAAS;IACtD,gBAAuB,MAAM;;MAElB;IAEX,uCAAuC;IACvC,SAA6C,IAAI,EAAE,IAAI,GAAG,GAAG,GAAG,GAAG,CAAO;IAE1E,gEAAgE;IAChE,SAEyB,QAAQ,EAAE,MAAM,CAAgB;IAEzD,qEAAqE;IACrE,SACgB,aAAa,EAAE,QAAQ,GAAG,OAAO,CAAW;cAEzC,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;cASzD,MAAM,IAAI,cAAc;CAgB5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,kBAAkB,EAAE,qBAAqB,CAAC;KAC3C;CACF"}
1
+ {"version":3,"file":"toggle-check.d.ts","sourceRoot":"","sources":["../../../../src/elements/toggle-check/toggle-check.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1E,OAAO,EAAQ,UAAU,EAAE,MAAM,KAAK,CAAC;;AAUvC;;;;;;;GAOG;AACH,qBAGM,qBAAsB,SAAQ,0BAA4D;IAC9F,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD;;;OAGG;IACH,SAA6C,IAAI,EAAE,IAAI,GAAG,GAAG,GAAG,GAAG,CAAyB;IAE5F,gEAAgE;IAChE,SAEyB,QAAQ,EAAE,MAAM,CAAgB;IAEzD,qEAAqE;IACrE,SACgB,aAAa,EAAE,QAAQ,GAAG,OAAO,CAAW;cAEzC,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;cASzD,MAAM,IAAI,cAAc;CAgB5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,kBAAkB,EAAE,qBAAqB,CAAC;KAC3C;CACF"}
@@ -9,6 +9,7 @@ import { __esDecorate, __runInitializers } from "tslib";
9
9
  import { css, LitElement, html } from "lit";
10
10
  import { customElement, property } from "lit/decorators.js";
11
11
  import { slotState, forceType } from "./core/decorators.js";
12
+ import { isLean } from "./core/dom.js";
12
13
  import { SbbFormAssociatedCheckboxMixin } from "./core/mixins.js";
13
14
  import { SbbIconNameMixin } from "./icon.js";
14
15
  const style = css`@charset "UTF-8";
@@ -37,7 +38,7 @@ const style = css`@charset "UTF-8";
37
38
  --sbb-toggle-check-flex-direction: row-reverse;
38
39
  --sbb-toggle-check-gap: var(--sbb-spacing-fixed-3x);
39
40
  --sbb-toggle-check-animation-duration: var(
40
- --sbb-disable-animation-zero-time,
41
+ --sbb-disable-animation-duration,
41
42
  var(--sbb-animation-duration-6x)
42
43
  );
43
44
  }
@@ -205,12 +206,15 @@ let SbbToggleCheckElement = (() => {
205
206
  _a = class extends _classSuper {
206
207
  constructor() {
207
208
  super(...arguments);
208
- __privateAdd(this, _size_accessor_storage, __runInitializers(this, _size_initializers, "s"));
209
+ __privateAdd(this, _size_accessor_storage, __runInitializers(this, _size_initializers, isLean() ? "xs" : "s"));
209
210
  __privateAdd(this, _iconName_accessor_storage, (__runInitializers(this, _size_extraInitializers), __runInitializers(this, _iconName_initializers, "tick-small")));
210
211
  __privateAdd(this, _labelPosition_accessor_storage, (__runInitializers(this, _iconName_extraInitializers), __runInitializers(this, _labelPosition_initializers, "after")));
211
212
  __runInitializers(this, _labelPosition_extraInitializers);
212
213
  }
213
- /** Size variant, either m, s or xs. */
214
+ /**
215
+ * Size variant, either m, s or xs.
216
+ * @default 's' / 'xs' (lean)
217
+ */
214
218
  get size() {
215
219
  return __privateGet(this, _size_accessor_storage);
216
220
  }
@@ -271,12 +275,10 @@ let SbbToggleCheckElement = (() => {
271
275
  __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
272
276
  _classThis = _classDescriptor.value;
273
277
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
274
- })(), _a.styles = style, _a.events = {
275
- didChange: "didChange"
276
- }, __runInitializers(_classThis, _classExtraInitializers), _a;
278
+ })(), _a.styles = style, __runInitializers(_classThis, _classExtraInitializers), _a;
277
279
  return _classThis;
278
280
  })();
279
281
  export {
280
282
  SbbToggleCheckElement
281
283
  };
282
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLWNoZWNrLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvdG9nZ2xlLWNoZWNrL3RvZ2dsZS1jaGVjay50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENTU1Jlc3VsdEdyb3VwLCBQcm9wZXJ0eVZhbHVlcywgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgaHRtbCwgTGl0RWxlbWVudCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgZm9yY2VUeXBlLCBzbG90U3RhdGUgfSBmcm9tICcuLi9jb3JlL2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgU2JiRm9ybUFzc29jaWF0ZWRDaGVja2JveE1peGluIH0gZnJvbSAnLi4vY29yZS9taXhpbnMuanMnO1xuaW1wb3J0IHsgU2JiSWNvbk5hbWVNaXhpbiB9IGZyb20gJy4uL2ljb24uanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi90b2dnbGUtY2hlY2suc2Nzcz9saXQmaW5saW5lJztcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBhIHRvZ2dsZSBjaGVja2JveC5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBjb250ZW50IHRvIHRoZSB0b2dnbGUgbGFiZWwuXG4gKiBAc2xvdCBpY29uIC0gVXNlIHRoaXMgc2xvdCB0byBwcm92aWRlIGFuIGljb24uIElmIGBpY29uLW5hbWVgIGlzIHNldCwgYSBzYmItaWNvbiB3aWxsIGJlIHVzZWQuXG4gKiBAZXZlbnQge0N1c3RvbUV2ZW50PHZvaWQ+fSBkaWRDaGFuZ2UgLSBEZXByZWNhdGVkLiB1c2VkIGZvciBSZWFjdC4gV2lsbCBwcm9iYWJseSBiZSByZW1vdmVkIG9uY2UgUmVhY3QgMTkgaXMgYXZhaWxhYmxlLlxuICogQGV2ZW50IHtFdmVudH0gY2hhbmdlIC0gRXZlbnQgZmlyZWQgb24gY2hhbmdlLlxuICogQGV2ZW50IHtJbnB1dEV2ZW50fSBpbnB1dCAtIEV2ZW50IGZpcmVkIG9uIGlucHV0LlxuICogQG92ZXJyaWRlVHlwZSB2YWx1ZSAtIHN0cmluZyB8IG51bGxcbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLXRvZ2dsZS1jaGVjaycpXG5Ac2xvdFN0YXRlKClcbmNsYXNzIFNiYlRvZ2dsZUNoZWNrRWxlbWVudCBleHRlbmRzIFNiYkZvcm1Bc3NvY2lhdGVkQ2hlY2tib3hNaXhpbihTYmJJY29uTmFtZU1peGluKExpdEVsZW1lbnQpKSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50cyA9IHtcbiAgICBkaWRDaGFuZ2U6ICdkaWRDaGFuZ2UnLFxuICB9IGFzIGNvbnN0O1xuXG4gIC8qKiBTaXplIHZhcmlhbnQsIGVpdGhlciBtLCBzIG9yIHhzLiAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyBhY2Nlc3NvciBzaXplOiAneHMnIHwgJ3MnIHwgJ20nID0gJ3MnO1xuXG4gIC8qKiBUaGUgc3ZnIG5hbWUgZm9yIHRoZSB0cnVlIHN0YXRlIC0gZGVmYXVsdCAtPiAndGljay1zbWFsbCcgKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2ljb24tbmFtZScgfSlcbiAgcHVibGljIG92ZXJyaWRlIGFjY2Vzc29yIGljb25OYW1lOiBzdHJpbmcgPSAndGljay1zbWFsbCc7XG5cbiAgLyoqIFRoZSBsYWJlbCBwb3NpdGlvbiByZWxhdGl2ZSB0byB0aGUgdG9nZ2xlLiBEZWZhdWx0cyB0byAnYWZ0ZXInICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2xhYmVsLXBvc2l0aW9uJywgcmVmbGVjdDogdHJ1ZSB9KVxuICBwdWJsaWMgYWNjZXNzb3IgbGFiZWxQb3NpdGlvbjogJ2JlZm9yZScgfCAnYWZ0ZXInID0gJ2FmdGVyJztcblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgd2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci53aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ2NoZWNrZWQnKSkge1xuICAgICAgdGhpcy5pbnRlcm5hbHMuYXJpYUNoZWNrZWQgPSBgJHt0aGlzLmNoZWNrZWR9YDtcbiAgICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkYXRhLWNoZWNrZWQnLCB0aGlzLmNoZWNrZWQpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPHNwYW4gY2xhc3M9XCJzYmItdG9nZ2xlLWNoZWNrXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLXRvZ2dsZS1jaGVja19fY29udGFpbmVyXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItdG9nZ2xlLWNoZWNrX19sYWJlbFwiPlxuICAgICAgICAgICAgPHNsb3Q+PC9zbG90PlxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi10b2dnbGUtY2hlY2tfX3RyYWNrXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi10b2dnbGUtY2hlY2tfX2NpcmNsZVwiPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi10b2dnbGUtY2hlY2tfX2ljb25cIj4gJHt0aGlzLnJlbmRlckljb25TbG90KCl9IDwvc3Bhbj5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvc3Bhbj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItdG9nZ2xlLWNoZWNrJzogU2JiVG9nZ2xlQ2hlY2tFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUF1Qk0seUJBQXFCLE1BQUE7O0FBRjFCLE1BQUEsbUJBQUEsQ0FBQSxjQUFjLGtCQUFrQixHQUNoQyxXQUFXOzs7O0FBQ3dCLE1BQUEsY0FBQSwrQkFBK0IsaUJBQWlCLFVBQVUsQ0FBQzs7Ozs7Ozs7OztBQUFuRSxFQUFBLG1CQUFRLFlBQTREO0FBQUE7O0FBT2pFLGlEQUFBLGtCQUFBLE1BQUEsb0JBQXlDLEdBQUc7QUFLekUsc0RBQUEsa0JBQUEsTUFBQSx1QkFBQSxHQUFBLGtCQUFBLE1BQUEsd0JBQTRDLFlBQVk7QUFJeEQsMkRBQUEsa0JBQUEsTUFBQSwyQkFBQSxHQUFBLGtCQUFBLE1BQUEsNkJBQW9ELE9BQU87Ozs7SUFUOUIsSUFBZ0IsT0FBNkI7QUFBQSxhQUFBLG1CQUFBO0FBQUEsSUFBQTtBQUFBLElBQTdDLElBQWdCLEtBQTZCLE9BQUE7QUFBQSx5QkFBQSx3QkFBQTtBQUFBLElBQUE7QUFBQTtBQUFBLElBSzFFLElBQXlCLFdBQWdDO0FBQUEsYUFBQSxtQkFBQTtBQUFBLElBQUE7QUFBQSxJQUF6RCxJQUF5QixTQUFnQyxPQUFBO0FBQUEseUJBQUEsNEJBQUE7QUFBQSxJQUFBO0FBQUE7QUFBQSxJQUl6RCxJQUFnQixnQkFBNEM7QUFBQSxhQUFBLG1CQUFBO0FBQUEsSUFBQTtBQUFBLElBQTVELElBQWdCLGNBQTRDLE9BQUE7QUFBQSx5QkFBQSxpQ0FBQTtBQUFBLElBQUE7QUFBQSxJQUV6QyxXQUFXLG1CQUF1QztBQUNuRSxZQUFNLFdBQVcsaUJBQWlCO0FBRTlCLFVBQUEsa0JBQWtCLElBQUksU0FBUyxHQUFHO0FBQ3BDLGFBQUssVUFBVSxjQUFjLEdBQUcsS0FBSyxPQUFPO0FBQ3ZDLGFBQUEsZ0JBQWdCLGdCQUFnQixLQUFLLE9BQU87QUFBQSxNQUFBO0FBQUEsSUFDbkQ7QUFBQSxJQUdpQixTQUFNO0FBQ2hCLGFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLHNEQVEyQyxLQUFLLGdCQUFnQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxJQUFBO0FBQUEsS0E3QjVDLHdDQUs3Qiw0Q0FJQTs7QUFUQyx1QkFBQSxDQUFBLFNBQVMsRUFBRSxTQUFTLEtBQU0sQ0FBQSxDQUFDOzRCQUczQixhQUNBLFNBQVMsRUFBRSxXQUFXLFlBQUEsQ0FBYSxDQUFDO2lDQUlwQyxTQUFTLEVBQUUsV0FBVyxrQkFBa0IsU0FBUyxLQUFBLENBQU0sQ0FBQztBQVJaLGlCQUFBLElBQUEsTUFBQSxrQkFBQSxFQUFBLE1BQUEsWUFBQSxNQUFBLFFBQUEsUUFBQSxPQUFBLFNBQUEsT0FBQSxRQUFBLEVBQUEsS0FBQSxDQUFBLFFBQUEsVUFBQSxLQUFBLEtBQUEsQ0FBQSxRQUFBLElBQUEsTUFBQSxLQUFBLENBQUEsS0FBQSxVQUFBO0FBQUEsVUFBQSxPQUE2QjtBQUFBLFNBQUEsVUFBQSxhQUFBLG9CQUFBLHVCQUFBO0FBS2pELGlCQUFBLElBQUEsTUFBQSxzQkFBQSxFQUFBLE1BQUEsWUFBQSxNQUFBLFlBQUEsUUFBQSxPQUFBLFNBQUEsT0FBQSxRQUFBLEVBQUEsS0FBQSxDQUFBLFFBQUEsY0FBQSxLQUFBLEtBQUEsQ0FBQSxRQUFBLElBQUEsVUFBQSxLQUFBLENBQUEsS0FBQSxVQUFBO0FBQUEsVUFBQSxXQUFnQztBQUFBLFNBQUEsVUFBQSxhQUFBLHdCQUFBLDJCQUFBO0FBSXpDLGlCQUFBLElBQUEsTUFBQSwyQkFBQSxFQUFBLE1BQUEsWUFBQSxNQUFBLGlCQUFBLFFBQUEsT0FBQSxTQUFBLE9BQUEsUUFBQSxFQUFBLEtBQUEsQ0FBQSxRQUFBLG1CQUFBLEtBQUEsS0FBQSxDQUFBLFFBQUEsSUFBQSxlQUFBLEtBQUEsQ0FBQSxLQUFBLFVBQUE7QUFBQSxVQUFBLGdCQUE0QztBQUFBLFNBQUEsVUFBQSxhQUFBLDZCQUFBLGdDQUFBO0FBaEI5RCxpQkEyQ0MsTUFBQSxtQkFBQSxFQUFBLE9BQUEsV0FBQSxHQUFBLGtCQUFBLEVBQUEsTUFBQSxTQUFBLE1BQUEsV0FBQSxNQUFBLFVBQUEsVUFBQSxHQUFBLE1BQUEsdUJBQUE7OztRQTFDd0IsR0FBTSxTQUFtQixPQUN6QixHQUFBLFNBQVM7QUFBQSxJQUM5QixXQUFXO0FBQUEsRUFDSCxHQUpOLGtCQUFxQixZQUFBLHVCQUFBLEdBQUM7OzsifQ==
284
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLWNoZWNrLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvdG9nZ2xlLWNoZWNrL3RvZ2dsZS1jaGVjay50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENTU1Jlc3VsdEdyb3VwLCBQcm9wZXJ0eVZhbHVlcywgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgaHRtbCwgTGl0RWxlbWVudCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgZm9yY2VUeXBlLCBzbG90U3RhdGUgfSBmcm9tICcuLi9jb3JlL2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgaXNMZWFuIH0gZnJvbSAnLi4vY29yZS9kb20uanMnO1xuaW1wb3J0IHsgU2JiRm9ybUFzc29jaWF0ZWRDaGVja2JveE1peGluIH0gZnJvbSAnLi4vY29yZS9taXhpbnMuanMnO1xuaW1wb3J0IHsgU2JiSWNvbk5hbWVNaXhpbiB9IGZyb20gJy4uL2ljb24uanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi90b2dnbGUtY2hlY2suc2Nzcz9saXQmaW5saW5lJztcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBhIHRvZ2dsZSBjaGVja2JveC5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBjb250ZW50IHRvIHRoZSB0b2dnbGUgbGFiZWwuXG4gKiBAc2xvdCBpY29uIC0gVXNlIHRoaXMgc2xvdCB0byBwcm92aWRlIGFuIGljb24uIElmIGBpY29uLW5hbWVgIGlzIHNldCwgYSBzYmItaWNvbiB3aWxsIGJlIHVzZWQuXG4gKiBAZXZlbnQge0V2ZW50fSBjaGFuZ2UgLSBFdmVudCBmaXJlZCBvbiBjaGFuZ2UuXG4gKiBAZXZlbnQge0lucHV0RXZlbnR9IGlucHV0IC0gRXZlbnQgZmlyZWQgb24gaW5wdXQuXG4gKi9cbmV4cG9ydFxuQGN1c3RvbUVsZW1lbnQoJ3NiYi10b2dnbGUtY2hlY2snKVxuQHNsb3RTdGF0ZSgpXG5jbGFzcyBTYmJUb2dnbGVDaGVja0VsZW1lbnQgZXh0ZW5kcyBTYmJGb3JtQXNzb2NpYXRlZENoZWNrYm94TWl4aW4oU2JiSWNvbk5hbWVNaXhpbihMaXRFbGVtZW50KSkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcblxuICAvKipcbiAgICogU2l6ZSB2YXJpYW50LCBlaXRoZXIgbSwgcyBvciB4cy5cbiAgICogQGRlZmF1bHQgJ3MnIC8gJ3hzJyAobGVhbilcbiAgICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIGFjY2Vzc29yIHNpemU6ICd4cycgfCAncycgfCAnbScgPSBpc0xlYW4oKSA/ICd4cycgOiAncyc7XG5cbiAgLyoqIFRoZSBzdmcgbmFtZSBmb3IgdGhlIHRydWUgc3RhdGUgLSBkZWZhdWx0IC0+ICd0aWNrLXNtYWxsJyAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnaWNvbi1uYW1lJyB9KVxuICBwdWJsaWMgb3ZlcnJpZGUgYWNjZXNzb3IgaWNvbk5hbWU6IHN0cmluZyA9ICd0aWNrLXNtYWxsJztcblxuICAvKiogVGhlIGxhYmVsIHBvc2l0aW9uIHJlbGF0aXZlIHRvIHRoZSB0b2dnbGUuIERlZmF1bHRzIHRvICdhZnRlcicgKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnbGFiZWwtcG9zaXRpb24nLCByZWZsZWN0OiB0cnVlIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBsYWJlbFBvc2l0aW9uOiAnYmVmb3JlJyB8ICdhZnRlcicgPSAnYWZ0ZXInO1xuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnY2hlY2tlZCcpKSB7XG4gICAgICB0aGlzLmludGVybmFscy5hcmlhQ2hlY2tlZCA9IGAke3RoaXMuY2hlY2tlZH1gO1xuICAgICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtY2hlY2tlZCcsIHRoaXMuY2hlY2tlZCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8c3BhbiBjbGFzcz1cInNiYi10b2dnbGUtY2hlY2tcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItdG9nZ2xlLWNoZWNrX19jb250YWluZXJcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi10b2dnbGUtY2hlY2tfX2xhYmVsXCI+XG4gICAgICAgICAgICA8c2xvdD48L3Nsb3Q+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLXRvZ2dsZS1jaGVja19fdHJhY2tcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLXRvZ2dsZS1jaGVja19fY2lyY2xlXCI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLXRvZ2dsZS1jaGVja19faWNvblwiPiAke3RoaXMucmVuZGVySWNvblNsb3QoKX0gPC9zcGFuPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9zcGFuPlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi10b2dnbGUtY2hlY2snOiBTYmJUb2dnbGVDaGVj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
@@ -1 +1 @@
1
- {"version":3,"file":"train.d.ts","sourceRoot":"","sources":["../../../../../src/elements/train/train/train.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EACnB,UAAU,EAEV,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAQb,OAAO,EAAyB,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACpF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AACjF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAI9D,OAAO,eAAe,CAAC;;AAEvB;;;;GAIG;AACH,qBAEM,eAAgB,SAAQ,oBAGjB;IACX,OAAuB,MAAM,EAAE,cAAc,CAAS;IACtD,gBAAuB,MAAM;;MAElB;IACX,mBAA4B,mBAAmB,WAG7C;IAEF,6CAA6C;IAC7C,SAEgB,cAAc,EAAE,MAAM,CAAM;IAE5C,qEAAqE;IACrE,SACgB,mBAAmB,EAAE,aAAa,CAAO;IAEzD,sDAAsD;IACtD,SAEgB,OAAO,EAAE,MAAM,CAAM;IAErC,mGAAmG;IACnG,SAEgB,kBAAkB,EAAE,MAAM,CAAM;IAEhD,0FAA0F;IAC1F,SAA6C,SAAS,EAAE,MAAM,GAAG,OAAO,CAAU;IAElF,OAAO,CAAC,SAAS,CAAmC;IAEpD;;;OAGG;IACH,OAAO,CAAC,gBAAgB,CAOtB;IAEF;;OAEG;IACH,OAAO,CAAC,sBAAsB;cAcX,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI;cAQ3E,MAAM,IAAI,cAAc;CAuC5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,WAAW,EAAE,eAAe,CAAC;KAC9B;CACF"}
1
+ {"version":3,"file":"train.d.ts","sourceRoot":"","sources":["../../../../../src/elements/train/train/train.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EACnB,UAAU,EAEV,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAQb,OAAO,EAAyB,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACpF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AACjF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAI9D,OAAO,eAAe,CAAC;;AAEvB;;;;GAIG;AACH,qBAEM,eAAgB,SAAQ,oBAGjB;IACX,OAAuB,MAAM,EAAE,cAAc,CAAS;IACtD,gBAAuB,MAAM;;MAElB;IACX,mBAA4B,mBAAmB,WAG7C;IAEF,6CAA6C;IAC7C,SAEgB,cAAc,EAAE,MAAM,CAAM;IAE5C,qEAAqE;IACrE,SACgB,mBAAmB,EAAE,aAAa,CAAO;IAEzD,sDAAsD;IACtD,SAEgB,OAAO,EAAE,MAAM,CAAM;IAErC,mGAAmG;IACnG,SAEgB,kBAAkB,EAAE,MAAM,CAAM;IAEhD,0FAA0F;IAC1F,SAA6C,SAAS,EAAE,MAAM,GAAG,OAAO,CAAU;IAElF,OAAO,CAAC,SAAS,CAAmC;IAEpD;;;OAGG;IACH,OAAO,CAAC,gBAAgB,CAOtB;IAEF;;OAEG;IACH,OAAO,CAAC,sBAAsB;cAcX,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI;cAQ3E,MAAM,IAAI,cAAc;CAmC5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,WAAW,EAAE,eAAe,CAAC;KAC9B;CACF"}
@@ -10,7 +10,7 @@ const style = css`*,
10
10
  :host {
11
11
  display: block;
12
12
  --sbb-train-blocked-passage-height: var(--sbb-train-formation-wagon-height);
13
- --sbb-train-blocked-passage-background-color: var(--sbb-color-red);
13
+ --sbb-train-blocked-passage-background-color: var(--sbb-color-red125);
14
14
  --sbb-train-blocked-passage-bar-color: var(--sbb-color-white);
15
15
  --sbb-train-blocked-passage-icon-dimension: 1rem;
16
16
  --sbb-train-blocked-passage-icon-bar-width: 0.625rem;
@@ -27,7 +27,7 @@ const style = css`*,
27
27
  .sbb-train-blocked-passage::before {
28
28
  content: "";
29
29
  display: var(--sbb-train-formation-wagon-label-display, block);
30
- height: calc(var(--sbb-font-size-text-s) * var(--sbb-typo-line-height-body-text));
30
+ height: calc(var(--sbb-font-size-text-xxs) * var(--sbb-typo-line-height-body-text));
31
31
  }
32
32
 
33
33
  .sbb-train-blocked-passage__wrapper {
@@ -6,26 +6,18 @@ declare const SbbTrainFormationElement_base: import('../../core/mixins.js').Abst
6
6
  * It displays a train composition, acting as a container for one or more `sbb-train` component.
7
7
  *
8
8
  * @slot - Use the unnamed slot to add 'sbb-train' elements to the `sbb-train-formation`.
9
+ * @cssprop [--sbb-train-formation-padding-inline=0px] - Defines the inline padding inside the horizontal scrolling area.
9
10
  */
10
11
  export declare class SbbTrainFormationElement extends SbbTrainFormationElement_base {
11
12
  static styles: CSSResultGroup;
12
13
  protected readonly listChildLocalNames: string[];
13
- /** Option to hide all wagon labels. */
14
- accessor hideWagonLabel: boolean;
14
+ /** Whether the view of the wagons is from side or top perspective. */
15
+ accessor view: 'side' | 'top';
15
16
  private accessor _sectors;
16
- /** Element that defines the visible content width. */
17
- private _formationDiv?;
18
- private _contentResizeObserver;
19
17
  private _abort;
20
18
  private _language;
21
19
  connectedCallback(): void;
22
- /**
23
- * Apply width of the scrollable space of the formation as a css variable. This will be used from
24
- * every slotted sbb-train for the direction-label
25
- */
26
- private _applyCssWidth;
27
20
  private _readSectors;
28
- private _updateFormationDiv;
29
21
  protected willUpdate(changedProperties: PropertyValues<WithListChildren<this>>): void;
30
22
  protected render(): TemplateResult;
31
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"train-formation.d.ts","sourceRoot":"","sources":["../../../../../src/elements/train/train-formation/train-formation.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,cAAc,EAEnB,UAAU,EAEV,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAOb,OAAO,EAAyB,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAGpF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;;AAUnD;;;;GAIG;AACH,qBAEM,wBAAyB,SAAQ,6BAEtC;IACC,OAAuB,MAAM,EAAE,cAAc,CAAS;IACtD,mBAA4B,mBAAmB,WAAiB;IAEhE,uCAAuC;IACvC,SAEgB,cAAc,EAAE,OAAO,CAAS;IAEvC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA0B;IAE5D,sDAAsD;IACtD,OAAO,CAAC,aAAa,CAAC,CAAiB;IACvC,OAAO,CAAC,sBAAsB,CAI3B;IACH,OAAO,CAAC,MAAM,CAAyC;IACvD,OAAO,CAAC,SAAS,CAAmC;IAEpC,iBAAiB,IAAI,IAAI;IAOzC;;;OAGG;IACH,OAAO,CAAC,cAAc;IAKtB,OAAO,CAAC,YAAY;YA0CN,mBAAmB;cAgBd,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI;cAQ3E,MAAM,IAAI,cAAc;CAkC5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,qBAAqB,EAAE,wBAAwB,CAAC;KACjD;CACF"}
1
+ {"version":3,"file":"train-formation.d.ts","sourceRoot":"","sources":["../../../../../src/elements/train/train-formation/train-formation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EAEnB,UAAU,EAEV,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAKb,OAAO,EAAyB,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAGpF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;;AAUnD;;;;;GAKG;AACH,qBAEM,wBAAyB,SAAQ,6BAEtC;IACC,OAAuB,MAAM,EAAE,cAAc,CAAS;IACtD,mBAA4B,mBAAmB,WAAiB;IAEhE,sEAAsE;IACtE,SAA6C,IAAI,EAAE,MAAM,GAAG,KAAK,CAAU;IAElE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA0B;IAE5D,OAAO,CAAC,MAAM,CAAyC;IACvD,OAAO,CAAC,SAAS,CAAmC;IAEpC,iBAAiB,IAAI,IAAI;IAOzC,OAAO,CAAC,YAAY;cA0CD,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI;cAQ3E,MAAM,IAAI,cAAc;CAkC5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,qBAAqB,EAAE,wBAAwB,CAAC;KACjD;CACF"}
@@ -6,12 +6,9 @@ var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read fr
6
6
  var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
7
7
  var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
8
8
  import { __runInitializers, __esDecorate } from "tslib";
9
- import { ResizeController } from "@lit-labs/observers/resize-controller.js";
10
9
  import { css, LitElement, html, nothing } from "lit";
11
10
  import { customElement, property, state } from "lit/decorators.js";
12
- import { ref } from "lit/directives/ref.js";
13
11
  import { SbbConnectedAbortController, SbbLanguageController } from "../core/controllers.js";
14
- import { forceType } from "../core/decorators.js";
15
12
  import { i18nSectorShort, i18nSector, i18nTrains } from "../core/i18n.js";
16
13
  import { SbbNamedSlotListMixin } from "../core/mixins.js";
17
14
  const style = css`*,
@@ -22,11 +19,11 @@ const style = css`*,
22
19
 
23
20
  :host {
24
21
  display: block;
25
- --sbb-train-formation-inline-padding: var(--sbb-spacing-fixed-4x);
26
- --sbb-train-formation-background-color: var(--sbb-color-white);
27
- --sbb-train-formation-sector-label-color: var(--sbb-color-metal);
28
- --sbb-train-formation-sector-line-color: var(--sbb-color-smoke);
22
+ --sbb-train-formation-sector-line-color: var(--sbb-color-cement);
23
+ --sbb-train-formation-sector-line-width: var(--sbb-border-width-1x);
29
24
  --sbb-train-formation-blocked-passage-width: 1rem;
25
+ --sbb-train-formation-text-color: var(--sbb-color-charcoal);
26
+ --sbb-train-formation-vertical-gap: var(--sbb-spacing-fixed-2x);
30
27
  }
31
28
  @media (forced-colors: active) {
32
29
  :host {
@@ -34,10 +31,6 @@ const style = css`*,
34
31
  }
35
32
  }
36
33
 
37
- :host([hide-wagon-label]) {
38
- --sbb-train-formation-wagon-label-display: none;
39
- }
40
-
41
34
  .sbb-train-formation {
42
35
  --sbb-scrollbar-thumb-width: 0.125rem;
43
36
  --sbb-scrollbar-thumb-width-hover: 0.25rem;
@@ -79,13 +72,14 @@ const style = css`*,
79
72
  grid-template: "start sectors end" auto "start trains end" auto/auto 1fr auto;
80
73
  position: relative;
81
74
  overflow-x: auto;
82
- background-color: var(--sbb-train-formation-background-color);
75
+ row-gap: calc(var(--sbb-train-formation-show-sectors-gap, 0) * var(--sbb-train-formation-vertical-gap));
76
+ padding-block-end: var(--sbb-train-formation-vertical-gap);
77
+ color: var(--sbb-train-formation-text-color);
83
78
  }
84
79
  .sbb-train-formation::before, .sbb-train-formation::after {
85
80
  content: "";
86
81
  display: block;
87
- width: var(--sbb-train-formation-inline-padding);
88
- background-color: var(--sbb-train-formation-background-color);
82
+ width: var(--sbb-train-formation-padding-inline);
89
83
  }
90
84
  .sbb-train-formation::before {
91
85
  grid-area: start;
@@ -109,30 +103,18 @@ const style = css`*,
109
103
  );
110
104
  --_gap-sum: calc((var(--_total-count) - 1) * var(--sbb-train-formation-wagon-gap));
111
105
  --_sector-width: calc(var(--_wagon-sum) + var(--_blocked-passage-sum) + var(--_gap-sum));
112
- --sbb-text-font-size: var(--sbb-font-size-text-s);
106
+ --sbb-text-font-size: var(--sbb-font-size-text-xs);
113
107
  font-family: var(--sbb-typo-font-family);
114
108
  font-weight: normal;
115
109
  line-height: var(--sbb-typo-line-height-body-text);
116
110
  letter-spacing: var(--sbb-typo-letter-spacing-body-text);
117
111
  font-size: var(--sbb-text-font-size);
118
112
  flex: 0 0 var(--_sector-width);
119
- color: var(--sbb-train-formation-sector-label-color);
120
113
  text-align: center;
121
- position: relative;
122
- display: inline-block;
123
- margin-block-end: var(--sbb-spacing-fixed-4x);
124
- max-width: var(--_sector-width);
125
- }
126
- .sbb-train-formation__sector::before {
127
- content: "";
128
- position: absolute;
129
- inset: 50% 0;
130
- height: 1px;
131
- background-color: var(--sbb-train-formation-sector-line-color);
114
+ overflow-x: clip;
132
115
  }
133
116
 
134
117
  .sbb-train-formation__sector-sticky-wrapper {
135
- background-color: var(--sbb-train-formation-background-color);
136
118
  position: sticky;
137
119
  inset: auto 0;
138
120
  padding: 0 var(--sbb-spacing-fixed-1x);
@@ -140,6 +122,19 @@ const style = css`*,
140
122
  overflow: hidden;
141
123
  white-space: nowrap;
142
124
  }
125
+ .sbb-train-formation__sector-sticky-wrapper::before, .sbb-train-formation__sector-sticky-wrapper::after {
126
+ content: "";
127
+ position: absolute;
128
+ inset-block: calc(50% - var(--sbb-train-formation-sector-line-width) / 2);
129
+ border-block-end: var(--sbb-train-formation-sector-line-width) solid var(--sbb-train-formation-sector-line-color);
130
+ width: calc(0.5 * var(--_sector-width));
131
+ }
132
+ .sbb-train-formation__sector-sticky-wrapper::before {
133
+ inset-inline-end: 100%;
134
+ }
135
+ .sbb-train-formation__sector-sticky-wrapper::after {
136
+ inset-inline-start: 100%;
137
+ }
143
138
 
144
139
  .sbb-train-formation__trains {
145
140
  grid-area: trains;
@@ -158,41 +153,35 @@ const style = css`*,
158
153
  display: inline-flex;
159
154
  }`;
160
155
  let SbbTrainFormationElement = (() => {
161
- var _hideWagonLabel_accessor_storage, __sectors_accessor_storage, _a;
156
+ var _view_accessor_storage, __sectors_accessor_storage, _a;
162
157
  let _classDecorators = [customElement("sbb-train-formation")];
163
158
  let _classDescriptor;
164
159
  let _classExtraInitializers = [];
165
160
  let _classThis;
166
161
  let _classSuper = SbbNamedSlotListMixin(LitElement);
167
- let _hideWagonLabel_decorators;
168
- let _hideWagonLabel_initializers = [];
169
- let _hideWagonLabel_extraInitializers = [];
162
+ let _view_decorators;
163
+ let _view_initializers = [];
164
+ let _view_extraInitializers = [];
170
165
  let __sectors_decorators;
171
166
  let __sectors_initializers = [];
172
167
  let __sectors_extraInitializers = [];
173
168
  _a = class extends _classSuper {
174
169
  constructor() {
175
170
  super(...arguments);
176
- __privateAdd(this, _hideWagonLabel_accessor_storage);
171
+ __privateAdd(this, _view_accessor_storage);
177
172
  __privateAdd(this, __sectors_accessor_storage);
178
173
  this.listChildLocalNames = ["sbb-train"];
179
- __privateSet(this, _hideWagonLabel_accessor_storage, __runInitializers(this, _hideWagonLabel_initializers, false));
180
- __privateSet(this, __sectors_accessor_storage, (__runInitializers(this, _hideWagonLabel_extraInitializers), __runInitializers(this, __sectors_initializers, [])));
181
- this._formationDiv = __runInitializers(this, __sectors_extraInitializers);
182
- this._contentResizeObserver = new ResizeController(this, {
183
- target: null,
184
- skipInitial: true,
185
- callback: () => this._applyCssWidth()
186
- });
187
- this._abort = new SbbConnectedAbortController(this);
174
+ __privateSet(this, _view_accessor_storage, __runInitializers(this, _view_initializers, "side"));
175
+ __privateSet(this, __sectors_accessor_storage, (__runInitializers(this, _view_extraInitializers), __runInitializers(this, __sectors_initializers, [])));
176
+ this._abort = (__runInitializers(this, __sectors_extraInitializers), new SbbConnectedAbortController(this));
188
177
  this._language = new SbbLanguageController(this);
189
178
  }
190
- /** Option to hide all wagon labels. */
191
- get hideWagonLabel() {
192
- return __privateGet(this, _hideWagonLabel_accessor_storage);
179
+ /** Whether the view of the wagons is from side or top perspective. */
180
+ get view() {
181
+ return __privateGet(this, _view_accessor_storage);
193
182
  }
194
- set hideWagonLabel(value) {
195
- __privateSet(this, _hideWagonLabel_accessor_storage, value);
183
+ set view(value) {
184
+ __privateSet(this, _view_accessor_storage, value);
196
185
  }
197
186
  get _sectors() {
198
187
  return __privateGet(this, __sectors_accessor_storage);
@@ -206,14 +195,6 @@ let SbbTrainFormationElement = (() => {
206
195
  this.addEventListener("trainSlotChange", (e) => this._readSectors(e), { signal });
207
196
  this.addEventListener("sectorChange", (e) => this._readSectors(e), { signal });
208
197
  }
209
- /**
210
- * Apply width of the scrollable space of the formation as a css variable. This will be used from
211
- * every slotted sbb-train for the direction-label
212
- */
213
- _applyCssWidth() {
214
- const contentWidth = this._formationDiv.getBoundingClientRect().width;
215
- this._formationDiv.style.setProperty("--sbb-train-direction-width", `${contentWidth}px`);
216
- }
217
198
  _readSectors(event) {
218
199
  var _a2;
219
200
  event == null ? void 0 : event.stopPropagation();
@@ -239,18 +220,6 @@ let SbbTrainFormationElement = (() => {
239
220
  return aggregatedSectors;
240
221
  }, [{ wagonCount: 0, blockedPassageCount: 0 }]);
241
222
  }
242
- async _updateFormationDiv(el) {
243
- if (!el) {
244
- return;
245
- }
246
- if (this._formationDiv) {
247
- this._contentResizeObserver.unobserve(this._formationDiv);
248
- }
249
- this._formationDiv = el;
250
- this._contentResizeObserver.observe(this._formationDiv);
251
- await this.updateComplete;
252
- this._applyCssWidth();
253
- }
254
223
  willUpdate(changedProperties) {
255
224
  super.willUpdate(changedProperties);
256
225
  if (changedProperties.has("listChildren")) {
@@ -259,7 +228,7 @@ let SbbTrainFormationElement = (() => {
259
228
  }
260
229
  render() {
261
230
  return html`
262
- <div class="sbb-train-formation" ${ref(this._updateFormationDiv)}>
231
+ <div class="sbb-train-formation">
263
232
  ${this._sectors.length && this._sectors[0].label !== void 0 ? html`<div class="sbb-train-formation__sectors" aria-hidden="true">
264
233
  ${this._sectors.map((aggregatedSector) => html`<span
265
234
  class="sbb-train-formation__sector"
@@ -282,13 +251,13 @@ let SbbTrainFormationElement = (() => {
282
251
  </div>
283
252
  `;
284
253
  }
285
- }, _hideWagonLabel_accessor_storage = new WeakMap(), __sectors_accessor_storage = new WeakMap(), _classThis = _a, (() => {
254
+ }, _view_accessor_storage = new WeakMap(), __sectors_accessor_storage = new WeakMap(), _classThis = _a, (() => {
286
255
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
287
- _hideWagonLabel_decorators = [forceType(), property({ attribute: "hide-wagon-label", reflect: true, type: Boolean })];
256
+ _view_decorators = [property({ reflect: true })];
288
257
  __sectors_decorators = [state()];
289
- __esDecorate(_a, null, _hideWagonLabel_decorators, { kind: "accessor", name: "hideWagonLabel", static: false, private: false, access: { has: (obj) => "hideWagonLabel" in obj, get: (obj) => obj.hideWagonLabel, set: (obj, value) => {
290
- obj.hideWagonLabel = value;
291
- } }, metadata: _metadata }, _hideWagonLabel_initializers, _hideWagonLabel_extraInitializers);
258
+ __esDecorate(_a, null, _view_decorators, { kind: "accessor", name: "view", static: false, private: false, access: { has: (obj) => "view" in obj, get: (obj) => obj.view, set: (obj, value) => {
259
+ obj.view = value;
260
+ } }, metadata: _metadata }, _view_initializers, _view_extraInitializers);
292
261
  __esDecorate(_a, null, __sectors_decorators, { kind: "accessor", name: "_sectors", static: false, private: false, access: { has: (obj) => "_sectors" in obj, get: (obj) => obj._sectors, set: (obj, value) => {
293
262
  obj._sectors = value;
294
263
  } }, metadata: _metadata }, __sectors_initializers, __sectors_extraInitializers);
@@ -301,4 +270,4 @@ let SbbTrainFormationElement = (() => {
301
270
  export {
302
271
  SbbTrainFormationElement
303
272
  };
304
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhaW4tZm9ybWF0aW9uLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvdHJhaW4vdHJhaW4tZm9ybWF0aW9uL3RyYWluLWZvcm1hdGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZXNpemVDb250cm9sbGVyIH0gZnJvbSAnQGxpdC1sYWJzL29ic2VydmVycy9yZXNpemUtY29udHJvbGxlci5qcyc7XG5pbXBvcnQge1xuICB0eXBlIENTU1Jlc3VsdEdyb3VwLFxuICBodG1sLFxuICBMaXRFbGVtZW50LFxuICBub3RoaW5nLFxuICB0eXBlIFByb3BlcnR5VmFsdWVzLFxuICB0eXBlIFRlbXBsYXRlUmVzdWx0LFxufSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgcHJvcGVydHksIHN0YXRlIH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgcmVmIH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvcmVmLmpzJztcblxuaW1wb3J0IHsgU2JiQ29ubmVjdGVkQWJvcnRDb250cm9sbGVyLCBTYmJMYW5ndWFnZUNvbnRyb2xsZXIgfSBmcm9tICcuLi8uLi9jb3JlL2NvbnRyb2xsZXJzLmpzJztcbmltcG9ydCB7IGZvcmNlVHlwZSB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBpMThuU2VjdG9yLCBpMThuU2VjdG9yU2hvcnQsIGkxOG5UcmFpbnMgfSBmcm9tICcuLi8uLi9jb3JlL2kxOG4uanMnO1xuaW1wb3J0IHsgU2JiTmFtZWRTbG90TGlzdE1peGluLCB0eXBlIFdpdGhMaXN0Q2hpbGRyZW4gfSBmcm9tICcuLi8uLi9jb3JlL21peGlucy5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYlRyYWluQmxvY2tlZFBhc3NhZ2VFbGVtZW50IH0gZnJvbSAnLi4vdHJhaW4tYmxvY2tlZC1wYXNzYWdlLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiVHJhaW5XYWdvbkVsZW1lbnQgfSBmcm9tICcuLi90cmFpbi13YWdvbi5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYlRyYWluRWxlbWVudCB9IGZyb20gJy4uL3RyYWluLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vdHJhaW4tZm9ybWF0aW9uLnNjc3M/bGl0JmlubGluZSc7XG5cbmludGVyZmFjZSBBZ2dyZWdhdGVkU2VjdG9yIHtcbiAgbGFiZWw6IHN0cmluZztcbiAgd2Fnb25Db3VudDogbnVtYmVyO1xuICBibG9ja2VkUGFzc2FnZUNvdW50OiBudW1iZXI7XG59XG5cbi8qKlxuICogSXQgZGlzcGxheXMgYSB0cmFpbiBjb21wb3NpdGlvbiwgYWN0aW5nIGFzIGEgY29udGFpbmVyIGZvciBvbmUgb3IgbW9yZSBgc2JiLXRyYWluYCBjb21wb25lbnQuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgJ3NiYi10cmFpbicgZWxlbWVudHMgdG8gdGhlIGBzYmItdHJhaW4tZm9ybWF0aW9uYC5cbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLXRyYWluLWZvcm1hdGlvbicpXG5jbGFzcyBTYmJUcmFpbkZvcm1hdGlvbkVsZW1lbnQgZXh0ZW5kcyBTYmJOYW1lZFNsb3RMaXN0TWl4aW48U2JiVHJhaW5FbGVtZW50LCB0eXBlb2YgTGl0RWxlbWVudD4oXG4gIExpdEVsZW1lbnQsXG4pIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gc3R5bGU7XG4gIHByb3RlY3RlZCBvdmVycmlkZSByZWFkb25seSBsaXN0Q2hpbGRMb2NhbE5hbWVzID0gWydzYmItdHJhaW4nXTtcblxuICAvKiogT3B0aW9uIHRvIGhpZGUgYWxsIHdhZ29uIGxhYmVscy4gKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2hpZGUtd2Fnb24tbGFiZWwnLCByZWZsZWN0OiB0cnVlLCB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBoaWRlV2Fnb25MYWJlbDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBzdGF0ZSgpIHByaXZhdGUgYWNjZXNzb3IgX3NlY3RvcnM6IEFnZ3JlZ2F0ZWRTZWN0b3JbXSA9IFtdO1xuXG4gIC8qKiBFbGVtZW50IHRoYXQgZGVmaW5lcyB0aGUgdmlzaWJsZSBjb250ZW50IHdpZHRoLiAqL1xuICBwcml2YXRlIF9mb3JtYXRpb25EaXY/OiBIVE1MRGl2RWxlbWVudDtcbiAgcHJpdmF0ZSBfY29udGVudFJlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZUNvbnRyb2xsZXIodGhpcywge1xuICAgIHRhcmdldDogbnVsbCxcbiAgICBza2lwSW5pdGlhbDogdHJ1ZSxcbiAgICBjYWxsYmFjazogKCkgPT4gdGhpcy5fYXBwbHlDc3NXaWR0aCgpLFxuICB9KTtcbiAgcHJpdmF0ZSBfYWJvcnQgPSBuZXcgU2JiQ29ubmVjdGVkQWJvcnRDb250cm9sbGVyKHRoaXMpO1xuICBwcml2YXRlIF9sYW5ndWFnZSA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgY29uc3Qgc2lnbmFsID0gdGhpcy5fYWJvcnQuc2lnbmFsO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcigndHJhaW5TbG90Q2hhbmdlJywgKGUpID0+IHRoaXMuX3JlYWRTZWN0b3JzKGUpLCB7IHNpZ25hbCB9KTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoJ3NlY3RvckNoYW5nZScsIChlKSA9PiB0aGlzLl9yZWFkU2VjdG9ycyhlKSwgeyBzaWduYWwgfSk7XG4gIH1cblxuICAvKipcbiAgICogQXBwbHkgd2lkdGggb2YgdGhlIHNjcm9sbGFibGUgc3BhY2Ugb2YgdGhlIGZvcm1hdGlvbiBhcyBhIGNzcyB2YXJpYWJsZS4gVGhpcyB3aWxsIGJlIHVzZWQgZnJvbVxuICAgKiBldmVyeSBzbG90dGVkIHNiYi10cmFpbiBmb3IgdGhlIGRpcmVjdGlvbi1sYWJlbFxuICAgKi9cbiAgcHJpdmF0ZSBfYXBwbHlDc3NXaWR0aCgpOiB2b2lkIHtcbiAgICBjb25zdCBjb250ZW50V2lkdGggPSB0aGlzLl9mb3JtYXRpb25EaXYhLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoO1xuICAgIHRoaXMuX2Zvcm1hdGlvbkRpdiEuc3R5bGUuc2V0UHJvcGVydHkoJy0tc2JiLXRyYWluLWRpcmVjdGlvbi13aWR0aCcsIGAke2NvbnRlbnRXaWR0aH1weGApO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVhZFNlY3RvcnMoZXZlbnQ/OiBFdmVudCk6IHZvaWQge1xuICAgIC8vIEtlZXAgdGhlIGV2ZW50IGludGVybmFsLlxuICAgIGV2ZW50Py5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgIHRoaXMuX3NlY3RvcnMgPSBBcnJheS5mcm9tKFxuICAgICAgdGhpcy5xdWVyeVNlbGVjdG9yQWxsPy48U2JiVHJhaW5XYWdvbkVsZW1lbnQgfCBTYmJUcmFpbkJsb2NrZWRQYXNzYWdlRWxlbWVudD4oXG4gICAgICAgICdzYmItdHJhaW4td2Fnb24sc2JiLXRyYWluLWJsb2NrZWQtcGFzc2FnZScsXG4gICAgICApID8/IFtdLFxuICAgICkucmVkdWNlKFxuICAgICAgKFxuICAgICAgICBhZ2dyZWdhdGVkU2VjdG9yczogQWdncmVnYXRlZFNlY3RvcltdLFxuICAgICAgICBpdGVtOiBTYmJUcmFpbldhZ29uRWxlbWVudCB8IFNiYlRyYWluQmxvY2tlZFBhc3NhZ2VFbGVtZW50LFxuICAgICAgKSA9PiB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRBZ2dyZWdhdGVkU2VjdG9yID0gYWdncmVnYXRlZFNlY3RvcnNbYWdncmVnYXRlZFNlY3RvcnMubGVuZ3RoIC0gMV07XG5cbiAgICAgICAgaWYgKGl0ZW0ubG9jYWxOYW1lID09PSAnc2JiLXRyYWluLXdhZ29uJykge1xuICAgICAgICAgIGNvbnN0IHNlY3RvckF0dHJpYnV0ZSA9XG4gICAgICAgICAgICAoaXRlbSBhcyBTYmJUcmFpbldhZ29uRWxlbWVudCkuc2VjdG9yID8/IGl0ZW0uZ2V0QXR0cmlidXRlKCdzZWN0b3InKTtcblxuICAgICAgICAgIGlmICghY3VycmVudEFnZ3JlZ2F0ZWRTZWN0b3IubGFiZWwgJiYgc2VjdG9yQXR0cmlidXRlKSB7XG4gICAgICAgICAgICBjdXJyZW50QWdncmVnYXRlZFNlY3Rvci5sYWJlbCA9IHNlY3RvckF0dHJpYnV0ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoIXNlY3RvckF0dHJpYnV0ZSB8fCBjdXJyZW50QWdncmVnYXRlZFNlY3Rvci5sYWJlbCA9PT0gc2VjdG9yQXR0cmlidXRlKSB7XG4gICAgICAgICAgICBjdXJyZW50QWdncmVnYXRlZFNlY3Rvci53YWdvbkNvdW50Kys7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGFnZ3JlZ2F0ZWRTZWN0b3JzLnB1c2goe1xuICAgICAgICAgICAgICBsYWJlbDogc2VjdG9yQXR0cmlidXRlLFxuICAgICAgICAgICAgICB3YWdvbkNvdW50OiAxLFxuICAgICAgICAgICAgICBibG9ja2VkUGFzc2FnZUNvdW50OiAwLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKGl0ZW0ubG9jYWxOYW1lID09PSAnc2JiLXRyYWluLWJsb2NrZWQtcGFzc2FnZScpIHtcbiAgICAgICAgICBjdXJyZW50QWdncmVnYXRlZFNlY3Rvci5ibG9ja2VkUGFzc2FnZUNvdW50Kys7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYWdncmVnYXRlZFNlY3RvcnM7XG4gICAgICB9LFxuICAgICAgW3sgd2Fnb25Db3VudDogMCwgYmxvY2tlZFBhc3NhZ2VDb3VudDogMCB9IGFzIEFnZ3JlZ2F0ZWRTZWN0b3JdLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIF91cGRhdGVGb3JtYXRpb25EaXYoZWw6IEVsZW1lbnQgfCB1bmRlZmluZWQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoIWVsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh0aGlzLl9mb3JtYXRpb25EaXYpIHtcbiAgICAgIHRoaXMuX2NvbnRlbnRSZXNpemVPYnNlcnZlci51bm9ic2VydmUodGhpcy5fZm9ybWF0aW9uRGl2KTtcbiAgICB9XG4gICAgdGhpcy5fZm9ybWF0aW9uRGl2ID0gZWwgYXMgSFRNTERpdkVsZW1lbnQ7XG4gICAgdGhpcy5fY29udGVudFJlc2l6ZU9ic2VydmVyLm9ic2VydmUodGhpcy5fZm9ybWF0aW9uRGl2KTtcbiAgICAvLyBUaGVyZSBzZWVtcyB0byBiZSBhIHNsaWdodCBkaWZmZXJlbmNlIGJldHdlZW4gYnJvd3NlciwgaW4gaG93IHRoZVxuICAgIC8vIG9ic2VydmVyIGlzIGNhbGxlZC4gSW4gb3JkZXIgdG8gYmUgY29uc2lzdGVudCBhY3Jvc3MgYnJvd3NlcnNcbiAgICAvLyB3ZSBzZXQgdGhlIHdpZHRoIG1hbnVhbGx5IG9uY2UgdGhlIGNvbXBvbmVudCB1cGRhdGUgaXMgY29tcGxldGUuXG4gICAgYXdhaXQgdGhpcy51cGRhdGVDb21wbGV0ZTtcbiAgICB0aGlzLl9hcHBseUNzc1dpZHRoKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgd2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8V2l0aExpc3RDaGlsZHJlbjx0aGlzPj4pOiB2b2lkIHtcbiAgICBzdXBlci53aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ2xpc3RDaGlsZHJlbicpKSB7XG4gICAgICB0aGlzLl9yZWFkU2VjdG9ycygpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi10cmFpbi1mb3JtYXRpb25cIiAke3JlZih0aGlzLl91cGRhdGVGb3JtYXRpb25EaXYpfT5cbiAgICAgICAgJHt0aGlzLl9zZWN0b3JzLmxlbmd0aCAmJiB0aGlzLl9zZWN0b3JzWzBdLmxhYmVsICE9PSB1bmRlZmluZWRcbiAgICAgICAgICA/IGh0bWxgPGRpdiBjbGFzcz1cInNiYi10cmFpbi1mb3JtYXRpb25fX3NlY3RvcnNcIiBhcmlhLWhpZGRlbj1cInRydWVcIj5cbiAgICAgICAgICAgICAgJHt0aGlzLl9zZWN0b3JzLm1hcChcbiAgICAgICAgICAgICAgICAoYWdncmVnYXRlZFNlY3RvcikgPT5cbiAgICAgICAgICAgICAgICAgIGh0bWxgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzYmItdHJhaW4tZm9ybWF0aW9uX19zZWN0b3JcIlxuICAgICAgICAgICAgICAgICAgICBzdHlsZT1cIlxuICAgICAgICAgICAgICAgIC0tc2JiLXRyYWluLWZvcm1hdGlvbi13YWdvbi1jb3VudDogJHthZ2dyZWdhdGVkU2VjdG9yLndhZ29uQ291bnR9O1xuICAgICAgICAgICAgICAgIC0tc2JiLXRyYWluLWZvcm1hdGlvbi13YWdvbi1ibG9ja2VkLXBhc3NhZ2UtY291bnQ6ICR7YWdncmVnYXRlZFNlY3Rvci5ibG9ja2VkUGFzc2FnZUNvdW50fVwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLXRyYWluLWZvcm1hdGlvbl9fc2VjdG9yLXN0aWNreS13cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgJHtgJHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFnZ3JlZ2F0ZWRTZWN0b3Iud2Fnb25Db3VudCA9PT0gMSAmJiBhZ2dyZWdhdGVkU2VjdG9yLmxhYmVsXG4gICAgICAgICAgICAgICAgICAgICAgICAgID8gaTE4blNlY3RvclNob3J0W3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDogaTE4blNlY3Rvclt0aGlzLl9sYW5ndWFnZS5jdXJyZW50XVxuICAgICAgICAgICAgICAgICAgICAgIH0gJHthZ2dyZWdhdGVkU2VjdG9yLmxhYmVsID8gYWdncmVnYXRlZFNlY3Rvci5sYWJlbCA6ICcnfWB9XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5gLFxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9kaXY+YFxuICAgICAgICAgIDogbm90aGluZ31cblxuICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLXRyYWluLWZvcm1hdGlvbl9fdHJhaW5zXCI+XG4gICAgICAgICAgJHt0aGlzLnJlbmRlckxpc3Qoe1xuICAgICAgICAgICAgY2xhc3M6ICdzYmItdHJhaW4tZm9ybWF0aW9uX190cmFpbi1saXN0JyxcbiAgICAgICAgICAgIGFyaWFMYWJlbDogaTE4blRyYWluc1t0aGlzLl9sYW5ndWFnZS5jdXJyZW50XSxcbiAgICAgICAgICB9KX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItdHJhaW4tZm9ybWF0aW9uJzogU2JiVHJhaW5Gb3JtYXRpb25FbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOlsiX2EiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQW1DTSw0QkFBd0IsTUFBQTs7MEJBRDdCLGNB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
273
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhaW4tZm9ybWF0aW9uLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvdHJhaW4vdHJhaW4tZm9ybWF0aW9uL3RyYWluLWZvcm1hdGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICB0eXBlIENTU1Jlc3VsdEdyb3VwLFxuICBodG1sLFxuICBMaXRFbGVtZW50LFxuICBub3RoaW5nLFxuICB0eXBlIFByb3BlcnR5VmFsdWVzLFxuICB0eXBlIFRlbXBsYXRlUmVzdWx0LFxufSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgcHJvcGVydHksIHN0YXRlIH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBTYmJDb25uZWN0ZWRBYm9ydENvbnRyb2xsZXIsIFNiYkxhbmd1YWdlQ29udHJvbGxlciB9IGZyb20gJy4uLy4uL2NvcmUvY29udHJvbGxlcnMuanMnO1xuaW1wb3J0IHsgaTE4blNlY3RvciwgaTE4blNlY3RvclNob3J0LCBpMThuVHJhaW5zIH0gZnJvbSAnLi4vLi4vY29yZS9pMThuLmpzJztcbmltcG9ydCB7IFNiYk5hbWVkU2xvdExpc3RNaXhpbiwgdHlwZSBXaXRoTGlzdENoaWxkcmVuIH0gZnJvbSAnLi4vLi4vY29yZS9taXhpbnMuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJUcmFpbkJsb2NrZWRQYXNzYWdlRWxlbWVudCB9IGZyb20gJy4uL3RyYWluLWJsb2NrZWQtcGFzc2FnZS5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYlRyYWluV2Fnb25FbGVtZW50IH0gZnJvbSAnLi4vdHJhaW4td2Fnb24uanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJUcmFpbkVsZW1lbnQgfSBmcm9tICcuLi90cmFpbi5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL3RyYWluLWZvcm1hdGlvbi5zY3NzP2xpdCZpbmxpbmUnO1xuXG5pbnRlcmZhY2UgQWdncmVnYXRlZFNlY3RvciB7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIHdhZ29uQ291bnQ6IG51bWJlcjtcbiAgYmxvY2tlZFBhc3NhZ2VDb3VudDogbnVtYmVyO1xufVxuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGEgdHJhaW4gY29tcG9zaXRpb24sIGFjdGluZyBhcyBhIGNvbnRhaW5lciBmb3Igb25lIG9yIG1vcmUgYHNiYi10cmFpbmAgY29tcG9uZW50LlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkICdzYmItdHJhaW4nIGVsZW1lbnRzIHRvIHRoZSBgc2JiLXRyYWluLWZvcm1hdGlvbmAuXG4gKiBAY3NzcHJvcCBbLS1zYmItdHJhaW4tZm9ybWF0aW9uLXBhZGRpbmctaW5saW5lPTBweF0gLSBEZWZpbmVzIHRoZSBpbmxpbmUgcGFkZGluZyBpbnNpZGUgdGhlIGhvcml6b250YWwgc2Nyb2xsaW5nIGFyZWEuXG4gKi9cbmV4cG9ydFxuQGN1c3RvbUVsZW1lbnQoJ3NiYi10cmFpbi1mb3JtYXRpb24nKVxuY2xhc3MgU2JiVHJhaW5Gb3JtYXRpb25FbGVtZW50IGV4dGVuZHMgU2JiTmFtZWRTbG90TGlzdE1peGluPFNiYlRyYWluRWxlbWVudCwgdHlwZW9mIExpdEVsZW1lbnQ+KFxuICBMaXRFbGVtZW50LFxuKSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVhZG9ubHkgbGlzdENoaWxkTG9jYWxOYW1lcyA9IFsnc2JiLXRyYWluJ107XG5cbiAgLyoqIFdoZXRoZXIgdGhlIHZpZXcgb2YgdGhlIHdhZ29ucyBpcyBmcm9tIHNpZGUgb3IgdG9wIHBlcnNwZWN0aXZlLiAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyBhY2Nlc3NvciB2aWV3OiAnc2lkZScgfCAndG9wJyA9ICdzaWRlJztcblxuICBAc3RhdGUoKSBwcml2YXRlIGFjY2Vzc29yIF9zZWN0b3JzOiBBZ2dyZWdhdGVkU2VjdG9yW10gPSBbXTtcblxuICBwcml2YXRlIF9hYm9ydCA9IG5ldyBTYmJDb25uZWN0ZWRBYm9ydENvbnRyb2xsZXIodGhpcyk7XG4gIHByaXZhdGUgX2xhbmd1YWdlID0gbmV3IFNiYkxhbmd1YWdlQ29udHJvbGxlcih0aGlzKTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICBjb25zdCBzaWduYWwgPSB0aGlzLl9hYm9ydC5zaWduYWw7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyKCd0cmFpblNsb3RDaGFuZ2UnLCAoZSkgPT4gdGhpcy5fcmVhZFNlY3RvcnMoZSksIHsgc2lnbmFsIH0pO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcignc2VjdG9yQ2hhbmdlJywgKGUpID0+IHRoaXMuX3JlYWRTZWN0b3JzKGUpLCB7IHNpZ25hbCB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlYWRTZWN0b3JzKGV2ZW50PzogRXZlbnQpOiB2b2lkIHtcbiAgICAvLyBLZWVwIHRoZSBldmVudCBpbnRlcm5hbC5cbiAgICBldmVudD8uc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICB0aGlzLl9zZWN0b3JzID0gQXJyYXkuZnJvbShcbiAgICAgIHRoaXMucXVlcnlTZWxlY3RvckFsbD8uPFNiYlRyYWluV2Fnb25FbGVtZW50IHwgU2JiVHJhaW5CbG9ja2VkUGFzc2FnZUVsZW1lbnQ+KFxuICAgICAgICAnc2JiLXRyYWluLXdhZ29uLHNiYi10cmFpbi1ibG9ja2VkLXBhc3NhZ2UnLFxuICAgICAgKSA/PyBbXSxcbiAgICApLnJlZHVjZShcbiAgICAgIChcbiAgICAgICAgYWdncmVnYXRlZFNlY3RvcnM6IEFnZ3JlZ2F0ZWRTZWN0b3JbXSxcbiAgICAgICAgaXRlbTogU2JiVHJhaW5XYWdvbkVsZW1lbnQgfCBTYmJUcmFpbkJsb2NrZWRQYXNzYWdlRWxlbWVudCxcbiAgICAgICkgPT4ge1xuICAgICAgICBjb25zdCBjdXJyZW50QWdncmVnYXRlZFNlY3RvciA9IGFnZ3JlZ2F0ZWRTZWN0b3JzW2FnZ3JlZ2F0ZWRTZWN0b3JzLmxlbmd0aCAtIDFdO1xuXG4gICAgICAgIGlmIChpdGVtLmxvY2FsTmFtZSA9PT0gJ3NiYi10cmFpbi13YWdvbicpIHtcbiAgICAgICAgICBjb25zdCBzZWN0b3JBdHRyaWJ1dGUgPVxuICAgICAgICAgICAgKGl0ZW0gYXMgU2JiVHJhaW5XYWdvbkVsZW1lbnQpLnNlY3RvciA/PyBpdGVtLmdldEF0dHJpYnV0ZSgnc2VjdG9yJyk7XG5cbiAgICAgICAgICBpZiAoIWN1cnJlbnRBZ2dyZWdhdGVkU2VjdG9yLmxhYmVsICYmIHNlY3RvckF0dHJpYnV0ZSkge1xuICAgICAgICAgICAgY3VycmVudEFnZ3JlZ2F0ZWRTZWN0b3IubGFiZWwgPSBzZWN0b3JBdHRyaWJ1dGU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKCFzZWN0b3JBdHRyaWJ1dGUgfHwgY3VycmVudEFnZ3JlZ2F0ZWRTZWN0b3IubGFiZWwgPT09IHNlY3RvckF0dHJpYnV0ZSkge1xuICAgICAgICAgICAgY3VycmVudEFnZ3JlZ2F0ZWRTZWN0b3Iud2Fnb25Db3VudCsrO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBhZ2dyZWdhdGVkU2VjdG9ycy5wdXNoKHtcbiAgICAgICAgICAgICAgbGFiZWw6IHNlY3RvckF0dHJpYnV0ZSxcbiAgICAgICAgICAgICAgd2Fnb25Db3VudDogMSxcbiAgICAgICAgICAgICAgYmxvY2tlZFBhc3NhZ2VDb3VudDogMCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChpdGVtLmxvY2FsTmFtZSA9PT0gJ3NiYi10cmFpbi1ibG9ja2VkLXBhc3NhZ2UnKSB7XG4gICAgICAgICAgY3VycmVudEFnZ3JlZ2F0ZWRTZWN0b3IuYmxvY2tlZFBhc3NhZ2VDb3VudCsrO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGFnZ3JlZ2F0ZWRTZWN0b3JzO1xuICAgICAgfSxcbiAgICAgIFt7IHdhZ29uQ291bnQ6IDAsIGJsb2NrZWRQYXNzYWdlQ291bnQ6IDAgfSBhcyBBZ2dyZWdhdGVkU2VjdG9yXSxcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPFdpdGhMaXN0Q2hpbGRyZW48dGhpcz4+KTogdm9pZCB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdsaXN0Q2hpbGRyZW4nKSkge1xuICAgICAgdGhpcy5fcmVhZFNlY3RvcnMoKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItdHJhaW4tZm9ybWF0aW9uXCI+XG4gICAgICAgICR7dGhpcy5fc2VjdG9ycy5sZW5ndGggJiYgdGhpcy5fc2VjdG9yc1swXS5sYWJlbCAhPT0gdW5kZWZpbmVkXG4gICAgICAgICAgPyBodG1sYDxkaXYgY2xhc3M9XCJzYmItdHJhaW4tZm9ybWF0aW9uX19zZWN0b3JzXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICR7dGhpcy5fc2VjdG9ycy5tYXAoXG4gICAgICAgICAgICAgICAgKGFnZ3JlZ2F0ZWRTZWN0b3IpID0+XG4gICAgICAgICAgICAgICAgICBodG1sYDxzcGFuXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2JiLXRyYWluLWZvcm1hdGlvbl9fc2VjdG9yXCJcbiAgICAgICAgICAgICAgICAgICAgc3R5bGU9XCJcbiAgICAgICAgICAgICAgICAtLXNiYi10cmFpbi1mb3JtYXRpb24td2Fnb24tY291bnQ6ICR7YWdncmVnYXRlZFNlY3Rvci53YWdvbkNvdW50fTtcbiAgICAgICAgICAgICAgICAtLXNiYi10cmFpbi1mb3JtYXRpb24td2Fnb24tYmxvY2tlZC1wYXNzYWdlLWNvdW50OiAke2FnZ3JlZ2F0ZWRTZWN0b3IuYmxvY2tlZFBhc3NhZ2VDb3VudH1cIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi10cmFpbi1mb3JtYXRpb25fX3NlY3Rvci1zdGlja3ktd3JhcHBlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICR7YCR7XG4gICAgICAgICAgICAgICAgICAgICAgICBhZ2dyZWdhdGVkU2VjdG9yLndhZ29uQ291bnQgPT09IDEgJiYgYWdncmVnYXRlZFNlY3Rvci5sYWJlbFxuICAgICAgICAgICAgICAgICAgICAgICAgICA/IGkxOG5TZWN0b3JTaG9ydFt0aGlzLl9sYW5ndWFnZS5jdXJyZW50XVxuICAgICAgICAgICAgICAgICAgICAgICAgICA6IGkxOG5TZWN0b3JbdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF1cbiAgICAgICAgICAgICAgICAgICAgICB9ICR7YWdncmVnYXRlZFNlY3Rvci5sYWJlbCA/IGFnZ3JlZ2F0ZWRTZWN0b3IubGFiZWwgOiAnJ31gfVxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8L3NwYW4+YCxcbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvZGl2PmBcbiAgICAgICAgICA6IG5vdGhpbmd9XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNiYi10cmFpbi1mb3JtYXRpb25fX3RyYWluc1wiPlxuICAgICAgICAgICR7dGhpcy5yZW5kZXJMaXN0KHtcbiAgICAgICAgICAgIGNsYXNzOiAnc2JiLXRyYWluLWZvcm1hdGlvbl9fdHJhaW4tbGlzdCcsXG4gICAgICAgICAgICBhcmlhTGFiZWw6IGkxOG5UcmFpbnNbdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF0sXG4gICAgICAgICAgfSl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLXRyYWluLWZvcm1hdGlvbic6IFNiYlRyYWluRm9ybWF0aW9uRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIl9hIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBaUNNLDRCQUF3QixNQUFBOzswQkFEN0IsY0FBYyxxQkFBcUIsQ0FBQzs7OztvQkFDRSxzQkFDckMsVUFBVTs7Ozs7OztBQURtQixFQUFBLG1CQUFRLFlBRXRDO0FBQUE7O0FBSzhCO0FBRXBCO0FBTG1CLFdBQUEsc0JBQXNCLENBQUMsV0FBVztBQUdqQix5QkFBQSx3QkFBQSxrQkFBQSxNQUFBLG9CQUF1QixNQUFNO0FBRWhELHlCQUFBLDZCQUFBLGtCQUFBLE1BQUEsdUJBQUEsR0FBQSxrQkFBQSxNQUFBLHdCQUErQixDQUFBLENBQUU7QUFFbkQsV0FBQSxnRUFBUyxJQUFJLDRCQUE0QixJQUFJO0FBQzdDLFdBQUEsWUFBWSxJQUFJLHNCQUFzQixJQUFJO0FBQUEsSUFBQTtBQUFBO0FBQUEsSUFMckIsSUFBZ0IsT0FBOEI7QUFBQSxhQUFBLG1CQUFBO0FBQUEsSUFBQTtBQUFBLElBQTlDLElBQWdCLEtBQThCLE9BQUE7QUFBQSx5QkFBQSx3QkFBQTtBQUFBLElBQUE7QUFBQSxJQUVsRSxJQUFpQixXQUFrQztBQUFBLGFBQUEsbUJBQUE7QUFBQSxJQUFBO0FBQUEsSUFBbkQsSUFBaUIsU0FBa0MsT0FBQTtBQUFBLHlC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