@sbb-esta/lyne-elements 5.0.0-next.2 → 5.0.0-next.3

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 (919) hide show
  1. package/accordion/accordion.component.js +1 -1
  2. package/{accordion.component-DN0x35kD.js → accordion.component-DbuSYzV1.js} +20 -19
  3. package/accordion.js +1 -1
  4. package/accordion.pure.js +1 -1
  5. package/alert/alert/alert.component.js +1 -1
  6. package/{alert.component-D8NT9YJ-.js → alert.component-DN7sW2NC.js} +17 -17
  7. package/alert.js +1 -1
  8. package/alert.pure.js +1 -1
  9. package/autocomplete/autocomplete-base-element.js +1 -1
  10. package/autocomplete/autocomplete.component.js +1 -1
  11. package/{autocomplete-base-element-BuCAxBy3.js → autocomplete-base-element-DRGjFF9_.js} +25 -28
  12. package/autocomplete.js +1 -1
  13. package/autocomplete.pure.js +1 -1
  14. package/{block-link-common-aUfrxxDp.js → block-link-common-B1E38xKe.js} +14 -15
  15. package/button/common/button-common.js +1 -1
  16. package/button/mini-button-group/mini-button-group.component.js +1 -1
  17. package/{button-common-BMpS65Zf.js → button-common-BQdNXKwl.js} +18 -18
  18. package/button.js +2 -2
  19. package/button.pure.js +2 -2
  20. package/checkbox/checkbox.component.js +1 -1
  21. package/checkbox-panel/checkbox-panel.component.js +1 -1
  22. package/{checkbox.component-ChQmCxal.js → checkbox.component-DWmjiv_c.js} +8 -8
  23. package/checkbox.js +1 -1
  24. package/checkbox.pure.js +1 -1
  25. package/chip/chip-group/chip-group.component.js +1 -1
  26. package/{chip-group.component-BMpczIZH.js → chip-group.component-DJORKUef.js} +19 -19
  27. package/chip.js +1 -1
  28. package/chip.pure.js +1 -1
  29. package/{compact-paginator.component-sRHapku-.js → compact-paginator.component-BAuShgQE.js} +4 -6
  30. package/container/sticky-bar/sticky-bar.component.js +1 -1
  31. package/container.js +1 -1
  32. package/container.pure.js +1 -1
  33. package/core/base-elements/selection-group-base-element.js +1 -1
  34. package/core/mixins/panel-mixin.js +1 -1
  35. package/core/mixins/selection-panel-mixin.js +1 -1
  36. package/core/overlay/overlay-option-panel.js +6 -5
  37. package/core/styles/_index.scss +0 -1
  38. package/core/styles/core.scss +8 -2
  39. package/core/styles/lean-off-brand-theme.scss +3 -0
  40. package/core/styles/lean-safety-theme.scss +3 -0
  41. package/core/styles/option-panel-common.global.scss +11 -0
  42. package/core/styles/option-panel-common.scss +157 -0
  43. package/core/styles/styles.js +2 -2
  44. package/core.css +88 -71
  45. package/core.js +31 -33
  46. package/custom-elements.json +72135 -71892
  47. package/development/accordion/accordion.component.d.ts +5 -7
  48. package/development/accordion/accordion.component.d.ts.map +1 -1
  49. package/development/accordion/accordion.component.js +1 -1
  50. package/development/accordion.component-xx7XabDY.js +165 -0
  51. package/development/accordion.js +1 -1
  52. package/development/accordion.pure.js +1 -1
  53. package/development/action-group/action-group.component.d.ts +8 -6
  54. package/development/action-group/action-group.component.d.ts.map +1 -1
  55. package/development/action-group/action-group.component.js +1 -1
  56. package/development/{action-group.component-DZkXqIbQ.js → action-group.component-wgXPpkQe.js} +3 -1
  57. package/development/action-group.js +1 -1
  58. package/development/action-group.pure.js +1 -1
  59. package/development/alert/alert/alert.component.d.ts +2 -3
  60. package/development/alert/alert/alert.component.d.ts.map +1 -1
  61. package/development/alert/alert/alert.component.js +1 -1
  62. package/development/alert/alert-group/alert-group.component.d.ts +2 -3
  63. package/development/alert/alert-group/alert-group.component.d.ts.map +1 -1
  64. package/development/alert-group.component-w5PbU_4C.js +1 -1
  65. package/development/{alert.component-DxzF0FOi.js → alert.component-Dzm5z0jh.js} +5 -6
  66. package/development/alert.js +1 -1
  67. package/development/alert.pure.js +1 -1
  68. package/development/autocomplete/autocomplete-base-element.d.ts +3 -4
  69. package/development/autocomplete/autocomplete-base-element.d.ts.map +1 -1
  70. package/development/autocomplete/autocomplete-base-element.js +1 -1
  71. package/development/autocomplete/autocomplete.component.js +2 -2
  72. package/development/autocomplete-base-element-DQiZ6hhk.js +683 -0
  73. package/development/autocomplete.js +1 -1
  74. package/development/autocomplete.pure.js +1 -1
  75. package/development/{block-link-common-CoZgcEBY.js → block-link-common-DNvRfeay.js} +3 -5
  76. package/development/breadcrumb-group.component-BUBfl6LV.js +1 -1
  77. package/development/breadcrumb.component-D6Cd2FPo.js +1 -1
  78. package/development/button/accent-button/accent-button.component.js +1 -1
  79. package/development/button/accent-button-link/accent-button-link.component.js +1 -1
  80. package/development/button/accent-button-static/accent-button-static.component.js +1 -1
  81. package/development/button/button/button.component.js +1 -1
  82. package/development/button/button-link/button-link.component.js +1 -1
  83. package/development/button/button-static/button-static.component.js +1 -1
  84. package/development/button/common/button-common.d.ts +1 -2
  85. package/development/button/common/button-common.d.ts.map +1 -1
  86. package/development/button/common/button-common.js +1 -1
  87. package/development/button/mini-button/mini-button.component.js +1 -1
  88. package/development/button/mini-button-group/mini-button-group.component.d.ts +2 -4
  89. package/development/button/mini-button-group/mini-button-group.component.d.ts.map +1 -1
  90. package/development/button/mini-button-group/mini-button-group.component.js +1 -1
  91. package/development/button/secondary-button/secondary-button.component.js +1 -1
  92. package/development/button/secondary-button-link/secondary-button-link.component.js +1 -1
  93. package/development/button/secondary-button-static/secondary-button-static.component.js +1 -1
  94. package/development/button/transparent-button/transparent-button.component.js +1 -1
  95. package/development/button/transparent-button-link/transparent-button-link.component.js +1 -1
  96. package/development/button/transparent-button-static/transparent-button-static.component.js +1 -1
  97. package/development/{button-common-DZUBRwwD.js → button-common-C-A7Dulr.js} +5 -6
  98. package/development/button.js +2 -2
  99. package/development/button.pure.js +2 -2
  100. package/development/calendar/calendar/calendar.component.d.ts +3 -4
  101. package/development/calendar/calendar/calendar.component.d.ts.map +1 -1
  102. package/development/calendar/calendar-month/calendar-month.component.js +1 -1
  103. package/development/calendar/calendar-weekday/calendar-weekday.component.js +1 -1
  104. package/development/calendar/calendar-weeknumber/calendar-weeknumber.component.js +1 -1
  105. package/development/calendar/calendar-year/calendar-year.component.js +1 -1
  106. package/development/calendar/common/calendar-cell-base-element.d.ts.map +1 -1
  107. package/development/calendar-cell-base-element-mWRSDeWc.js +1 -1
  108. package/development/calendar-day.component-BHvdRxll.js +1 -1
  109. package/development/calendar.component-CjlcDyS5.js +1 -1
  110. package/development/card/card-button/card-button.component.js +1 -1
  111. package/development/card/card-link/card-link.component.js +1 -1
  112. package/development/card-action-common-zS5iNz23.js +1 -1
  113. package/development/card-badge.component-CEfJdJBs.js +1 -1
  114. package/development/card.component-CL2gHoyP.js +1 -1
  115. package/development/carousel-item.component-B_0wdIAu.js +1 -1
  116. package/development/carousel-list.component-DpDh5tqB.js +1 -1
  117. package/development/carousel.component-ClWvnZ8s.js +1 -1
  118. package/development/checkbox/checkbox.component.d.ts +4 -6
  119. package/development/checkbox/checkbox.component.d.ts.map +1 -1
  120. package/development/checkbox/checkbox.component.js +1 -1
  121. package/development/checkbox/common/checkbox-common.d.ts +0 -1
  122. package/development/checkbox/common/checkbox-common.d.ts.map +1 -1
  123. package/development/checkbox-common-C3Ekixul.js +1 -1
  124. package/development/checkbox-group/checkbox-group.component.js +1 -1
  125. package/development/checkbox-panel/checkbox-panel.component.js +2 -2
  126. package/development/{checkbox.component-D6BR8e7w.js → checkbox.component-UbxCpZmi.js} +6 -7
  127. package/development/checkbox.js +1 -1
  128. package/development/checkbox.pure.js +1 -1
  129. package/development/chip/chip-group/chip-group.component.d.ts +1 -1
  130. package/development/chip/chip-group/chip-group.component.d.ts.map +1 -1
  131. package/development/chip/chip-group/chip-group.component.js +1 -1
  132. package/development/chip-group.component-Sgmi-kSy.js +403 -0
  133. package/development/chip-label.component-DHHNtvTt.js +1 -1
  134. package/development/chip.component-Uuf3tGFz.js +1 -1
  135. package/development/chip.js +1 -1
  136. package/development/chip.pure.js +1 -1
  137. package/development/clock/clock.component.d.ts +2 -2
  138. package/development/clock/clock.component.d.ts.map +1 -1
  139. package/development/clock.component-DcM1WFTN.js +1 -1
  140. package/development/compact-paginator.component-BgkpxaaD.js +49 -0
  141. package/development/container/sticky-bar/sticky-bar.component.d.ts +2 -3
  142. package/development/container/sticky-bar/sticky-bar.component.d.ts.map +1 -1
  143. package/development/container/sticky-bar/sticky-bar.component.js +1 -1
  144. package/development/container.component-D1Qgp4HW.js +1 -1
  145. package/development/container.js +1 -1
  146. package/development/container.pure.js +1 -1
  147. package/development/core/a11y/arrow-navigation.js +1 -1
  148. package/development/core/a11y/fake-event-detection.js +1 -1
  149. package/development/core/a11y/focus-trap-controller.js +1 -1
  150. package/development/core/a11y/focus-visible-within-controller.js +1 -1
  151. package/development/core/a11y/input-modality-detector.js +1 -1
  152. package/development/core/a11y/interactivity-checker.js +1 -1
  153. package/development/core/a11y/live-announcer.js +1 -1
  154. package/development/core/base-elements/action-base-element.js +1 -1
  155. package/development/core/base-elements/button-base-element.d.ts +2 -4
  156. package/development/core/base-elements/button-base-element.d.ts.map +1 -1
  157. package/development/core/base-elements/button-base-element.js +1 -1
  158. package/development/core/base-elements/link-base-element.d.ts +1 -3
  159. package/development/core/base-elements/link-base-element.d.ts.map +1 -1
  160. package/development/core/base-elements/link-base-element.js +1 -1
  161. package/development/core/base-elements/open-close-base-element.d.ts +1 -1
  162. package/development/core/base-elements/open-close-base-element.d.ts.map +1 -1
  163. package/development/core/base-elements/open-close-base-element.js +1 -1
  164. package/development/core/base-elements/selection-group-base-element.d.ts +4 -5
  165. package/development/core/base-elements/selection-group-base-element.d.ts.map +1 -1
  166. package/development/core/base-elements/selection-group-base-element.js +1 -1
  167. package/development/core/config/config.js +1 -1
  168. package/development/core/controllers/escapable-overlay-controller.js +1 -1
  169. package/development/core/controllers/id-reference-controller.js +1 -1
  170. package/development/core/controllers/inert-controller.js +1 -1
  171. package/development/core/controllers/language-controller.js +1 -1
  172. package/development/core/controllers/media-matchers-controller.js +1 -1
  173. package/development/core/controllers/overlay-position-controller.js +1 -1
  174. package/development/core/controllers/property-watcher-controller.js +1 -1
  175. package/development/core/datetime/date-adapter.js +1 -1
  176. package/development/core/datetime/native-date-adapter.js +1 -1
  177. package/development/core/datetime/temporal-date-adapter.js +1 -1
  178. package/development/core/decorators/force-type.js +1 -1
  179. package/development/core/decorators/get-override.js +1 -1
  180. package/development/core/decorators/handle-distinct-change.js +1 -1
  181. package/development/core/decorators/host-attributes.js +1 -1
  182. package/development/core/decorators/id-reference.js +1 -1
  183. package/development/core/decorators/omit-empty-converter.js +1 -1
  184. package/development/core/decorators/plain-date.js +1 -1
  185. package/development/core/dom/animation.js +1 -1
  186. package/development/core/dom/contains-pierce-shadow-dom.js +1 -1
  187. package/development/core/dom/platform.js +1 -1
  188. package/development/core/dom/queue-dom-content-loaded.js +1 -1
  189. package/development/core/dom/scroll.js +1 -1
  190. package/development/core/dom/set-or-remove-attribute.js +1 -1
  191. package/development/core/eventing/composed-path-has-attribute.js +1 -1
  192. package/development/core/eventing/event-target.js +1 -1
  193. package/development/core/eventing/form-element-handlers.js +1 -1
  194. package/development/core/eventing/forward-event.js +1 -1
  195. package/development/core/eventing/is-event-prevented.js +1 -1
  196. package/development/core/eventing/throttle.js +1 -1
  197. package/development/core/i18n/i18n.d.ts +2 -2
  198. package/development/core/i18n/i18n.d.ts.map +1 -1
  199. package/development/core/i18n/i18n.js +1 -1
  200. package/development/core/interfaces/types.d.ts +1 -6
  201. package/development/core/interfaces/types.d.ts.map +1 -1
  202. package/development/core/mixins/animation-complete-mixin.js +1 -1
  203. package/development/core/mixins/disabled-mixin.js +1 -1
  204. package/development/core/mixins/form-associated-checkbox-mixin.js +1 -1
  205. package/development/core/mixins/form-associated-input-mixin.js +1 -1
  206. package/development/core/mixins/form-associated-mixin.js +1 -1
  207. package/development/core/mixins/form-associated-radio-button-mixin.js +1 -1
  208. package/development/core/mixins/named-slot-list-mixin.js +1 -1
  209. package/development/core/mixins/negative-mixin.js +1 -1
  210. package/development/core/mixins/panel-mixin.d.ts +3 -3
  211. package/development/core/mixins/panel-mixin.d.ts.map +1 -1
  212. package/development/core/mixins/panel-mixin.js +1 -1
  213. package/development/core/mixins/readonly-mixin.js +1 -1
  214. package/development/core/mixins/required-mixin.js +1 -1
  215. package/development/core/mixins/selection-panel-mixin.js +2 -1
  216. package/development/core/mixins/update-scheduler-mixin.js +1 -1
  217. package/development/core/overlay/overlay-option-panel.d.ts +1 -1
  218. package/development/core/overlay/overlay-option-panel.d.ts.map +1 -1
  219. package/development/core/overlay/overlay-option-panel.js +5 -2
  220. package/development/core/overlay/overlay-outside-pointer-event-listener.js +1 -1
  221. package/development/core/overlay/overlay-trigger-attributes.js +1 -1
  222. package/development/core/overlay/position.js +1 -1
  223. package/development/core/styles/styles.d.ts +1 -0
  224. package/development/core/styles/styles.d.ts.map +1 -1
  225. package/development/core/styles/styles.js +2 -2
  226. package/development/core/testing/event-spy.js +1 -1
  227. package/development/core/testing/mocha-extensions.js +1 -1
  228. package/development/core/testing/wait-for-condition.js +1 -1
  229. package/development/core/testing/wait-for-image-ready.js +1 -1
  230. package/development/core/testing/wait-for-render.js +1 -1
  231. package/development/core.d.ts +0 -2
  232. package/development/core.d.ts.map +1 -1
  233. package/development/core.js +4 -6
  234. package/development/date-input.component-HxRyCudr.js +1 -1
  235. package/development/datepicker/datepicker/datepicker.component.d.ts +2 -2
  236. package/development/datepicker/datepicker/datepicker.component.d.ts.map +1 -1
  237. package/development/datepicker/datepicker/datepicker.component.js +1 -1
  238. package/development/datepicker/datepicker-next-day/datepicker-next-day.component.js +1 -1
  239. package/development/datepicker/datepicker-previous-day/datepicker-previous-day.component.js +1 -1
  240. package/development/datepicker/datepicker-toggle/datepicker-toggle.component.js +1 -1
  241. package/development/datepicker-button-BAT1ebzJ.js +1 -1
  242. package/development/dialog-actions.component-e0ZTTUin.js +1 -1
  243. package/development/dialog-close-button.component-Idc00dB9.js +1 -1
  244. package/development/dialog-content.component-CThU7Z8A.js +1 -1
  245. package/development/dialog-title.component-0uNsUR2C.js +1 -1
  246. package/development/dialog.component-AItB8ixG.js +1 -1
  247. package/development/divider/divider.component.d.ts +2 -2
  248. package/development/divider/divider.component.d.ts.map +1 -1
  249. package/development/divider.component-Ck_0vISe.js +1 -1
  250. package/development/element-BAsBayf5.js +1 -1
  251. package/development/error.component-WCkiwM7_.js +1 -1
  252. package/development/expansion-panel/expansion-panel/expansion-panel.component.d.ts +4 -6
  253. package/development/expansion-panel/expansion-panel/expansion-panel.component.d.ts.map +1 -1
  254. package/development/expansion-panel/expansion-panel/expansion-panel.component.js +1 -1
  255. package/development/expansion-panel/expansion-panel-content/expansion-panel-content.component.d.ts +1 -1
  256. package/development/expansion-panel/expansion-panel-content/expansion-panel-content.component.d.ts.map +1 -1
  257. package/development/expansion-panel/expansion-panel-content/expansion-panel-content.component.js +1 -1
  258. package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.d.ts +1 -1
  259. package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.d.ts.map +1 -1
  260. package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +1 -1
  261. package/development/{expansion-panel-content.component-BUbiseFP.js → expansion-panel-content.component-Bs0pYNJO.js} +2 -1
  262. package/development/{expansion-panel-header.component-CQFSwrqu.js → expansion-panel-header.component-gg5A_7Pz.js} +2 -1
  263. package/development/expansion-panel.component-DptYMbwV.js +317 -0
  264. package/development/expansion-panel.js +3 -3
  265. package/development/expansion-panel.pure.js +3 -3
  266. package/development/file-selector/common/file-selector-common.d.ts +1 -1
  267. package/development/file-selector/common/file-selector-common.d.ts.map +1 -1
  268. package/development/file-selector/common/file-selector-common.js +1 -1
  269. package/development/file-selector/file-selector/file-selector.component.d.ts.map +1 -1
  270. package/development/file-selector/file-selector/file-selector.component.js +5 -4
  271. package/development/file-selector/file-selector-dropzone/file-selector-dropzone.component.d.ts.map +1 -1
  272. package/development/file-selector/file-selector-dropzone/file-selector-dropzone.component.js +1 -1
  273. package/development/file-selector-common-CGL95Rnw.js +412 -0
  274. package/development/file-selector-dropzone.component-B84OL4Xd.js +106 -0
  275. package/development/file-selector.js +2 -2
  276. package/development/file-selector.pure.js +2 -2
  277. package/development/flip-card/flip-card-summary/flip-card-summary.component.d.ts +1 -2
  278. package/development/flip-card/flip-card-summary/flip-card-summary.component.d.ts.map +1 -1
  279. package/development/flip-card/flip-card-summary/flip-card-summary.component.js +1 -1
  280. package/development/flip-card-details.component-BYv_W66a.js +1 -1
  281. package/development/{flip-card-summary.component-C-US77Nw.js → flip-card-summary.component-jLNjJUNl.js} +2 -2
  282. package/development/flip-card.component-DujrPKzU.js +1 -1
  283. package/development/flip-card.js +1 -1
  284. package/development/flip-card.pure.js +1 -1
  285. package/development/footer/footer.component.d.ts +2 -3
  286. package/development/footer/footer.component.d.ts.map +1 -1
  287. package/development/footer.component-K2bWizjw.js +1 -1
  288. package/development/form-field/form-field/form-field.component.d.ts +2 -3
  289. package/development/form-field/form-field/form-field.component.d.ts.map +1 -1
  290. package/development/form-field/form-field/form-field.component.js +1 -1
  291. package/development/form-field/form-field-clear/form-field-clear.component.js +1 -1
  292. package/development/form-field/form-field-text-counter/form-field-text-counter.component.js +1 -1
  293. package/development/form-field.component-CPWBCHer.js +702 -0
  294. package/development/form-field.js +1 -1
  295. package/development/form-field.pure.js +1 -1
  296. package/development/header/common/header-action-common.d.ts.map +1 -1
  297. package/development/header/common/header-action-common.js +1 -1
  298. package/development/header/header/header.component.d.ts +2 -3
  299. package/development/header/header/header.component.d.ts.map +1 -1
  300. package/development/header/header/header.component.js +1 -1
  301. package/development/header/header-button/header-button.component.js +1 -1
  302. package/development/header/header-link/header-link.component.js +1 -1
  303. package/development/header-action-common-Be0XQge2.js +86 -0
  304. package/development/header-environment.component-CIyxQwkQ.js +1 -1
  305. package/development/header.component-C4e7CNql.js +334 -0
  306. package/development/header.js +2 -2
  307. package/development/header.pure.js +2 -2
  308. package/development/hint.component-BB9QLGGx.js +1 -1
  309. package/development/icon/icon-name-mixin.js +1 -1
  310. package/development/icon/icon-request.js +1 -1
  311. package/development/icon/icon-validate.js +1 -1
  312. package/development/icon/icon.component.js +1 -1
  313. package/development/icon-base-DrBHy9BT.js +1 -1
  314. package/development/icon-sidebar/icon-sidebar-button/icon-sidebar-button.component.js +1 -1
  315. package/development/icon-sidebar/icon-sidebar-link/icon-sidebar-link.component.js +1 -1
  316. package/development/icon-sidebar-container.component-CM94Spwy.js +1 -1
  317. package/development/icon-sidebar-content.component-BP9W5ZxR.js +1 -1
  318. package/development/icon-sidebar.component-B68P2aNh.js +1 -1
  319. package/development/image.component-EfSMgHI_.js +1 -1
  320. package/development/inline-link-common-gmt6yz3v.js +1 -1
  321. package/development/journey-header.component-CA4juz9x.js +1 -1
  322. package/development/lead-container.component-C_mFeq1B.js +1 -1
  323. package/development/link/block-link/block-link.component.js +1 -1
  324. package/development/link/block-link-button/block-link-button.component.js +1 -1
  325. package/development/link/block-link-static/block-link-static.component.js +1 -1
  326. package/development/link/common/block-link-common.d.ts +3 -4
  327. package/development/link/common/block-link-common.d.ts.map +1 -1
  328. package/development/link/common/block-link-common.js +1 -1
  329. package/development/link/link/link.component.js +1 -1
  330. package/development/link/link-button/link-button.component.js +1 -1
  331. package/development/link/link-static/link-static.component.js +1 -1
  332. package/development/link-common-2RGn9Qz_.js +1 -1
  333. package/development/link-list/common/link-list-base.d.ts +5 -7
  334. package/development/link-list/common/link-list-base.d.ts.map +1 -1
  335. package/development/link-list/common/link-list-base.js +1 -1
  336. package/development/link-list/link-list.component.d.ts +2 -2
  337. package/development/link-list/link-list.component.d.ts.map +1 -1
  338. package/development/link-list/link-list.component.js +1 -1
  339. package/development/link-list-anchor.component-Csb-FOQL.js +1 -1
  340. package/development/{link-list-base-QADBTZCN.js → link-list-base-CKT3c8yW.js} +4 -5
  341. package/development/{link-list.component-CKVU3Gsr.js → link-list.component-B90qHOUD.js} +2 -2
  342. package/development/link-list.js +2 -2
  343. package/development/link-list.pure.js +2 -2
  344. package/development/link.js +1 -1
  345. package/development/link.pure.js +1 -1
  346. package/development/loading-indicator-circle.component-Cfjw5vyz.js +1 -1
  347. package/development/loading-indicator.component-By2VaLCf.js +1 -1
  348. package/development/logo/logo.component.d.ts +2 -2
  349. package/development/logo/logo.component.d.ts.map +1 -1
  350. package/development/logo.component-DYKgAgq0.js +1 -1
  351. package/development/map-container.component-D0UVTolK.js +1 -1
  352. package/development/menu/menu-button/menu-button.component.js +1 -1
  353. package/development/menu/menu-link/menu-link.component.js +1 -1
  354. package/development/menu-action-common-DRXQc85Y.js +1 -1
  355. package/development/menu.component-Cv9wRj4H.js +1 -1
  356. package/development/message.component-CdO5GyE2.js +1 -1
  357. package/development/mini-button-group.component-VYKZf1rq.js +115 -0
  358. package/development/mini-button-link.component-kpRsi8I2.js +1 -1
  359. package/development/mini-calendar/mini-calendar/mini-calendar.component.d.ts +2 -2
  360. package/development/mini-calendar/mini-calendar/mini-calendar.component.d.ts.map +1 -1
  361. package/development/mini-calendar/mini-calendar-month/mini-calendar-month.component.d.ts.map +1 -1
  362. package/development/mini-calendar-day.component-BLkJ12Bw.js +1 -1
  363. package/development/mini-calendar-month.component-D8XjjLmN.js +1 -1
  364. package/development/mini-calendar.component-BOk8JovO.js +1 -1
  365. package/development/navigation/common/navigation-action-common.d.ts +0 -2
  366. package/development/navigation/common/navigation-action-common.d.ts.map +1 -1
  367. package/development/navigation/common/navigation-action-common.js +1 -1
  368. package/development/navigation/navigation-button/navigation-button.component.js +1 -1
  369. package/development/navigation/navigation-link/navigation-link.component.js +1 -1
  370. package/development/navigation/navigation-list/navigation-list.component.d.ts +2 -3
  371. package/development/navigation/navigation-list/navigation-list.component.d.ts.map +1 -1
  372. package/development/navigation/navigation-list/navigation-list.component.js +1 -1
  373. package/development/navigation/navigation-marker/navigation-marker.component.d.ts +1 -1
  374. package/development/navigation/navigation-marker/navigation-marker.component.d.ts.map +1 -1
  375. package/development/navigation/navigation-marker/navigation-marker.component.js +1 -1
  376. package/development/navigation-action-common-fkYNyX19.js +56 -0
  377. package/development/{navigation-list.component-DrdbtDRs.js → navigation-list.component-Dvv-bZ2V.js} +1 -5
  378. package/development/{navigation-marker.component-fB05cjtE.js → navigation-marker.component-DMqe-VlY.js} +3 -4
  379. package/development/navigation-section.component-iaypc6yQ.js +1 -1
  380. package/development/navigation.component-CqNkBvEs.js +1 -1
  381. package/development/navigation.js +3 -3
  382. package/development/navigation.pure.js +3 -3
  383. package/development/notification/notification.component.d.ts +2 -5
  384. package/development/notification/notification.component.d.ts.map +1 -1
  385. package/development/notification/notification.component.js +1 -1
  386. package/development/notification.component-BiJSo7Pl.js +259 -0
  387. package/development/notification.js +1 -1
  388. package/development/notification.pure.js +1 -1
  389. package/development/optgroup-base-element-CLfE6pmz.js +147 -0
  390. package/development/option/optgroup/optgroup-base-element.d.ts +2 -1
  391. package/development/option/optgroup/optgroup-base-element.d.ts.map +1 -1
  392. package/development/option/optgroup/optgroup-base-element.js +1 -1
  393. package/development/option/optgroup/optgroup.component.js +2 -2
  394. package/development/option/option/option-base-element.d.ts +2 -1
  395. package/development/option/option/option-base-element.d.ts.map +1 -1
  396. package/development/option/option/option-base-element.js +9 -3
  397. package/development/option/option/option.component.d.ts +0 -1
  398. package/development/option/option/option.component.d.ts.map +1 -1
  399. package/development/option/option/option.component.js +1 -1
  400. package/development/option/option-hint/option-hint.component.d.ts +2 -0
  401. package/development/option/option-hint/option-hint.component.d.ts.map +1 -1
  402. package/development/option/option-hint/option-hint.component.js +1 -1
  403. package/development/option-hint.component-DPfgcpVn.js +40 -0
  404. package/development/option.component-CV6cZnJe.js +131 -0
  405. package/development/option.js +3 -3
  406. package/development/option.pure.js +3 -3
  407. package/development/overlay/overlay-base-element.js +1 -1
  408. package/development/overlay.component-rFmitc_r.js +1 -1
  409. package/development/paginator/common/paginator-common.d.ts +1 -1
  410. package/development/paginator/common/paginator-common.d.ts.map +1 -1
  411. package/development/paginator/common/paginator-common.js +1 -407
  412. package/development/paginator/compact-paginator/compact-paginator.component.d.ts.map +1 -1
  413. package/development/paginator/compact-paginator/compact-paginator.component.js +1 -1
  414. package/development/paginator/paginator/paginator.component.js +1 -1
  415. package/development/paginator-common-BCeNUko_.js +410 -0
  416. package/development/paginator.component-BwLUSpDj.js +261 -0
  417. package/development/paginator.js +3 -3
  418. package/development/paginator.pure.js +3 -3
  419. package/development/{panel-mixin-CFz9-K_8.js → panel-mixin-DPybe45K.js} +3 -5
  420. package/development/popover/popover.component.d.ts.map +1 -1
  421. package/development/popover/popover.component.js +1 -1
  422. package/development/{popover.component-Bvbf4NyI.js → popover.component-BmTfHMFw.js} +1 -1
  423. package/development/popover.js +1 -1
  424. package/development/popover.pure.js +1 -1
  425. package/development/radio-button/common/radio-button-common.d.ts +0 -1
  426. package/development/radio-button/common/radio-button-common.d.ts.map +1 -1
  427. package/development/radio-button/common/radio-button-common.js +1 -1
  428. package/development/radio-button/radio-button.component.d.ts +2 -3
  429. package/development/radio-button/radio-button.component.d.ts.map +1 -1
  430. package/development/radio-button/radio-button.component.js +1 -1
  431. package/development/{radio-button-common-tC_l-WdB.js → radio-button-common-G0jLFo41.js} +1 -1
  432. package/development/radio-button-group/radio-button-group.component.js +1 -1
  433. package/development/radio-button-panel/radio-button-panel.component.js +1 -1
  434. package/development/{radio-button.component-3BV31Fkc.js → radio-button.component-DnErH-1J.js} +5 -5
  435. package/development/radio-button.js +2 -2
  436. package/development/radio-button.pure.js +2 -2
  437. package/development/select/select.component.d.ts +4 -5
  438. package/development/select/select.component.d.ts.map +1 -1
  439. package/development/select/select.component.js +1 -1
  440. package/development/select.component-CUjF11sq.js +807 -0
  441. package/development/select.js +1 -1
  442. package/development/select.pure.js +1 -1
  443. package/development/selection-action-panel/selection-action-panel.component.js +1 -1
  444. package/development/{selection-action-panel.component-ClpKsc-Z.js → selection-action-panel.component-BT0HmTja.js} +1 -1
  445. package/development/selection-action-panel.js +1 -1
  446. package/development/selection-action-panel.pure.js +1 -1
  447. package/development/selection-expansion-panel/selection-expansion-panel.component.js +1 -1
  448. package/development/{selection-expansion-panel.component-CTCVJiug.js → selection-expansion-panel.component-BT78Qhbf.js} +1 -1
  449. package/development/selection-expansion-panel.js +1 -1
  450. package/development/selection-expansion-panel.pure.js +1 -1
  451. package/development/{selection-group-base-element-RafKyWXP.js → selection-group-base-element-DRT3Ctp2.js} +3 -5
  452. package/development/sidebar/sidebar/sidebar.component.js +1 -1
  453. package/development/sidebar/sidebar-close-button/sidebar-close-button.component.js +1 -1
  454. package/development/sidebar/sidebar-container/sidebar-container.component.js +1 -1
  455. package/development/sidebar/sidebar-content/sidebar-content.component.js +1 -1
  456. package/development/sidebar/sidebar-title/sidebar-title.component.d.ts +3 -2
  457. package/development/sidebar/sidebar-title/sidebar-title.component.d.ts.map +1 -1
  458. package/development/sidebar/sidebar-title/sidebar-title.component.js +1 -1
  459. package/development/{sidebar-close-button.component-D_grme_h.js → sidebar-close-button.component-CXnf-P5H.js} +1 -1
  460. package/development/{sidebar-container.component-C_cu3Vfy.js → sidebar-container.component-CxwDKxv9.js} +1 -1
  461. package/development/{sidebar-content.component-CbYPeaaz.js → sidebar-content.component-DbcREBUa.js} +1 -1
  462. package/development/{sidebar-title.component-BFqfnG6B.js → sidebar-title.component-BW04otyD.js} +1 -1
  463. package/development/{sidebar.component-DcVKyd9R.js → sidebar.component-mfXnE6WQ.js} +1 -1
  464. package/development/sidebar.js +5 -5
  465. package/development/sidebar.pure.js +5 -5
  466. package/development/signet/signet.component.d.ts +2 -3
  467. package/development/signet/signet.component.d.ts.map +1 -1
  468. package/development/signet/signet.component.js +1 -1
  469. package/development/{signet.component-NdFqUZK9.js → signet.component-k14RJ8FA.js} +1 -1
  470. package/development/signet.js +1 -1
  471. package/development/signet.pure.js +1 -1
  472. package/development/skiplink-list/skiplink-list.component.d.ts +2 -3
  473. package/development/skiplink-list/skiplink-list.component.d.ts.map +1 -1
  474. package/development/skiplink-list/skiplink-list.component.js +1 -1
  475. package/development/{skiplink-list.component-ppyytKn2.js → skiplink-list.component-m7xm-pns.js} +3 -3
  476. package/development/skiplink-list.js +1 -1
  477. package/development/skiplink-list.pure.js +1 -1
  478. package/development/slider/slider.component.js +1 -1
  479. package/development/{slider.component-k8g6G0j9.js → slider.component-D_nLTlRF.js} +1 -1
  480. package/development/slider.js +1 -1
  481. package/development/slider.pure.js +1 -1
  482. package/development/status/status.component.d.ts +1 -2
  483. package/development/status/status.component.d.ts.map +1 -1
  484. package/development/status/status.component.js +1 -1
  485. package/development/{status.component-CtTNDvLl.js → status.component-B9en2l26.js} +1 -1
  486. package/development/status.js +1 -1
  487. package/development/status.pure.js +1 -1
  488. package/development/step-label.component-Bo7Z0w7N.js +127 -0
  489. package/development/{step.component-Di2fT-VG.js → step.component-CcjtUFyR.js} +11 -2
  490. package/development/stepper/step/step.component.d.ts +1 -0
  491. package/development/stepper/step/step.component.d.ts.map +1 -1
  492. package/development/stepper/step/step.component.js +1 -1
  493. package/development/stepper/step-label/step-label.component.d.ts +1 -1
  494. package/development/stepper/step-label/step-label.component.d.ts.map +1 -1
  495. package/development/stepper/step-label/step-label.component.js +1 -1
  496. package/development/stepper/stepper/stepper.component.d.ts +4 -5
  497. package/development/stepper/stepper/stepper.component.d.ts.map +1 -1
  498. package/development/stepper/stepper/stepper.component.js +1 -1
  499. package/development/stepper.component-80S-oXrH.js +422 -0
  500. package/development/stepper.js +3 -3
  501. package/development/stepper.pure.js +3 -3
  502. package/development/{sticky-bar.component-BrSBKlh-.js → sticky-bar.component-BJLtRvcd.js} +4 -5
  503. package/development/styles-Cctez2BS.js +22 -0
  504. package/development/{styles-Jlhoev1S.js → styles-WppEBrlW.js} +1 -1
  505. package/development/tab-group.component-D4fvd6Uu.js +265 -0
  506. package/development/{tab-label.component-CPaKKeox.js → tab-label.component-CNX8bsJL.js} +2 -2
  507. package/development/tab-nav-bar.component-B_mi8GGR.js +109 -0
  508. package/development/{tab.component-DxZtEaTP.js → tab.component-BVhYPy5Y.js} +1 -1
  509. package/development/table/table-wrapper/table-wrapper.component.js +1 -1
  510. package/development/{table-wrapper.component-Ba6NpQu1.js → table-wrapper.component-By59zmcU.js} +1 -1
  511. package/development/table.js +1 -1
  512. package/development/table.pure.js +1 -1
  513. package/development/tabs/common/styles.js +1 -1
  514. package/development/tabs/tab/tab.component.js +1 -1
  515. package/development/tabs/tab-group/tab-group.component.d.ts +2 -3
  516. package/development/tabs/tab-group/tab-group.component.d.ts.map +1 -1
  517. package/development/tabs/tab-group/tab-group.component.js +1 -1
  518. package/development/tabs/tab-label/tab-label.component.d.ts +2 -3
  519. package/development/tabs/tab-label/tab-label.component.d.ts.map +1 -1
  520. package/development/tabs/tab-label/tab-label.component.js +1 -1
  521. package/development/tabs/tab-nav-bar/tab-nav-bar.component.d.ts +2 -3
  522. package/development/tabs/tab-nav-bar/tab-nav-bar.component.d.ts.map +1 -1
  523. package/development/tabs/tab-nav-bar/tab-nav-bar.component.js +1 -1
  524. package/development/tabs.js +5 -5
  525. package/development/tabs.pure.js +5 -5
  526. package/development/tag/tag/tag.component.d.ts +4 -7
  527. package/development/tag/tag/tag.component.d.ts.map +1 -1
  528. package/development/tag/tag/tag.component.js +1 -1
  529. package/development/tag/tag-group/tag-group.component.d.ts +3 -4
  530. package/development/tag/tag-group/tag-group.component.d.ts.map +1 -1
  531. package/development/tag/tag-group/tag-group.component.js +1 -1
  532. package/development/{tag-group.component-CYL62Umh.js → tag-group.component-Db8prSBL.js} +5 -7
  533. package/development/tag.component-DG1uxD28.js +238 -0
  534. package/development/tag.js +2 -2
  535. package/development/tag.pure.js +2 -2
  536. package/development/teaser/teaser.component.d.ts.map +1 -1
  537. package/development/teaser/teaser.component.js +1 -1
  538. package/development/teaser-hero/teaser-hero.component.js +1 -1
  539. package/development/{teaser-hero.component-DrdkFx5X.js → teaser-hero.component-BHMcPmdh.js} +1 -1
  540. package/development/teaser-hero.js +1 -1
  541. package/development/teaser-hero.pure.js +1 -1
  542. package/development/teaser-panel/teaser-panel.component.js +1 -1
  543. package/development/{teaser-panel.component-WSXbBzCq.js → teaser-panel.component-BRfbvmkb.js} +1 -1
  544. package/development/teaser-panel.js +1 -1
  545. package/development/teaser-panel.pure.js +1 -1
  546. package/development/teaser-product/common/teaser-product-common.js +1 -1
  547. package/development/teaser-product/teaser-product/teaser-product.component.d.ts.map +1 -1
  548. package/development/teaser-product/teaser-product/teaser-product.component.js +1 -1
  549. package/development/teaser-product/teaser-product-static/teaser-product-static.component.js +1 -1
  550. package/development/{teaser-product-common-B8a-KHTi.js → teaser-product-common-DOyLdTks.js} +1 -1
  551. package/development/{teaser-product.component-gHjSaG6c.js → teaser-product.component-DMyuB-cH.js} +3 -3
  552. package/development/teaser-product.js +2 -2
  553. package/development/teaser-product.pure.js +2 -2
  554. package/development/{teaser.component-B8kQNF6g.js → teaser.component-CF_NUbwJ.js} +3 -3
  555. package/development/teaser.js +1 -1
  556. package/development/teaser.pure.js +1 -1
  557. package/development/time-input/time-input.component.js +1 -1
  558. package/development/{time-input.component-Bc4Sfu-1.js → time-input.component-XxzRoupm.js} +1 -1
  559. package/development/time-input.js +1 -1
  560. package/development/time-input.pure.js +1 -1
  561. package/development/timetable-form/timetable-form/timetable-form.component.js +1 -1
  562. package/development/timetable-form/timetable-form-details/timetable-form-details.component.js +1 -1
  563. package/development/timetable-form/timetable-form-field/timetable-form-field.component.d.ts.map +1 -1
  564. package/development/timetable-form/timetable-form-field/timetable-form-field.component.js +1 -1
  565. package/development/timetable-form/timetable-form-swap-button/timetable-form-swap-button.component.js +1 -1
  566. package/development/{timetable-form-details.component-DacESFsP.js → timetable-form-details.component-BeuAZUQe.js} +1 -1
  567. package/development/{timetable-form-field.component-DWCb4SY0.js → timetable-form-field.component-DC2z1Cwf.js} +4 -1
  568. package/development/{timetable-form-swap-button.component-DGCpV2_y.js → timetable-form-swap-button.component-CnbVc8Ok.js} +1 -1
  569. package/development/{timetable-form.component-CtRlKR7e.js → timetable-form.component-C8DfPePn.js} +1 -1
  570. package/development/timetable-form.js +4 -4
  571. package/development/timetable-form.pure.js +4 -4
  572. package/development/timetable-occupancy/timetable-occupancy.component.js +1 -1
  573. package/development/timetable-occupancy-icon/timetable-occupancy-icon.component.js +1 -1
  574. package/development/{timetable-occupancy-icon.component-uaabLEC5.js → timetable-occupancy-icon.component-UBmyZsTO.js} +1 -1
  575. package/development/timetable-occupancy-icon.js +1 -1
  576. package/development/timetable-occupancy-icon.pure.js +1 -1
  577. package/development/{timetable-occupancy.component-DKWki5pG.js → timetable-occupancy.component-DMm242Fr.js} +1 -1
  578. package/development/timetable-occupancy.js +1 -1
  579. package/development/timetable-occupancy.pure.js +1 -1
  580. package/development/title/title-base.d.ts +3 -4
  581. package/development/title/title-base.d.ts.map +1 -1
  582. package/development/title/title-base.js +1 -1
  583. package/development/title/title.component.d.ts +3 -2
  584. package/development/title/title.component.d.ts.map +1 -1
  585. package/development/title/title.component.js +1 -1
  586. package/development/{title-base-fg03gSOD.js → title-base-D_Rjyk_j.js} +1 -1
  587. package/development/{title.component-B1Uq-Ctr.js → title.component-CMxYhTfw.js} +2 -2
  588. package/development/title.js +2 -2
  589. package/development/title.pure.js +2 -2
  590. package/development/toast/toast.component.js +1 -1
  591. package/development/{toast.component-DeQSxWdf.js → toast.component-DonS3uQm.js} +1 -1
  592. package/development/toast.js +1 -1
  593. package/development/toast.pure.js +1 -1
  594. package/development/toggle/toggle/toggle.component.d.ts +2 -3
  595. package/development/toggle/toggle/toggle.component.d.ts.map +1 -1
  596. package/development/toggle/toggle/toggle.component.js +1 -1
  597. package/development/toggle/toggle-option/toggle-option.component.js +1 -1
  598. package/development/toggle-check/toggle-check.component.d.ts +2 -3
  599. package/development/toggle-check/toggle-check.component.d.ts.map +1 -1
  600. package/development/toggle-check/toggle-check.component.js +1 -1
  601. package/development/{toggle-check.component-BUYj49gP.js → toggle-check.component-BIV7jFIc.js} +4 -5
  602. package/development/toggle-check.js +1 -1
  603. package/development/toggle-check.pure.js +1 -1
  604. package/development/{toggle-option.component-heU6pMCB.js → toggle-option.component-DRxwLSKU.js} +1 -1
  605. package/development/toggle.component-B03k5qc1.js +243 -0
  606. package/development/toggle.js +2 -2
  607. package/development/toggle.pure.js +2 -2
  608. package/development/tooltip/tooltip.component.js +1 -1
  609. package/development/{tooltip.component-BjOgv29e.js → tooltip.component-D8zik3p4.js} +1 -1
  610. package/development/tooltip.js +1 -1
  611. package/development/tooltip.pure.js +1 -1
  612. package/development/train/train/train.component.d.ts +2 -3
  613. package/development/train/train/train.component.d.ts.map +1 -1
  614. package/development/train/train/train.component.js +1 -1
  615. package/development/train/train-blocked-passage/train-blocked-passage.component.js +1 -1
  616. package/development/train/train-formation/train-formation.component.d.ts +2 -2
  617. package/development/train/train-formation/train-formation.component.d.ts.map +1 -1
  618. package/development/train/train-formation/train-formation.component.js +1 -1
  619. package/development/train/train-formation-orientation-mixin.d.ts +1 -2
  620. package/development/train/train-formation-orientation-mixin.d.ts.map +1 -1
  621. package/development/train/train-formation-orientation-mixin.js +1 -1
  622. package/development/train/train-wagon/train-wagon.component.js +1 -1
  623. package/development/train/train-wagon-button/train-wagon-button.component.js +1 -1
  624. package/development/train/train-wagon-common.js +1 -1
  625. package/development/train/train-wagon-link/train-wagon-link.component.js +1 -1
  626. package/development/{train-blocked-passage.component-2TuSqbDg.js → train-blocked-passage.component-Cxd7dBDC.js} +1 -1
  627. package/development/{train-formation.component-BYB03zX5.js → train-formation.component-BEg6OPib.js} +1 -1
  628. package/development/{train-wagon-common-C-0fI1r2.js → train-wagon-common-Dg-BjUtC.js} +1 -1
  629. package/development/{train.component-BDG8SlCc.js → train.component-dECIGw2x.js} +1 -1
  630. package/development/train.js +5 -5
  631. package/development/train.pure.js +4 -4
  632. package/development/visual-checkbox/visual-checkbox.component.d.ts +3 -4
  633. package/development/visual-checkbox/visual-checkbox.component.d.ts.map +1 -1
  634. package/development/visual-checkbox/visual-checkbox.component.js +1 -1
  635. package/development/{visual-checkbox.component-Dzdm0TH-.js → visual-checkbox.component-Dm8DNhH2.js} +4 -5
  636. package/development/visual-checkbox.js +1 -1
  637. package/development/visual-checkbox.pure.js +1 -1
  638. package/expansion-panel/expansion-panel/expansion-panel.component.js +1 -1
  639. package/expansion-panel/expansion-panel-content/expansion-panel-content.component.js +1 -1
  640. package/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +1 -1
  641. package/{expansion-panel-content.component-Cf1CWu5_.js → expansion-panel-content.component-WG1cwhjd.js} +1 -1
  642. package/{expansion-panel-header.component-DloOF4eC.js → expansion-panel-header.component-CnUqRql_.js} +1 -1
  643. package/expansion-panel.component-DvZogUuX.js +222 -0
  644. package/expansion-panel.js +3 -3
  645. package/expansion-panel.pure.js +3 -3
  646. package/file-selector/common/file-selector-common.js +1 -1
  647. package/file-selector/file-selector/file-selector.component.js +14 -13
  648. package/file-selector/file-selector-dropzone/file-selector-dropzone.component.js +1 -1
  649. package/{file-selector-common-CmbsJ64j.js → file-selector-common-BE780nIa.js} +34 -34
  650. package/{file-selector-dropzone.component-74fipV3m.js → file-selector-dropzone.component-CGo6odhC.js} +23 -23
  651. package/file-selector.js +2 -2
  652. package/file-selector.pure.js +2 -2
  653. package/flip-card/flip-card-summary/flip-card-summary.component.js +1 -1
  654. package/{flip-card-summary.component-CuMMdJ-B.js → flip-card-summary.component-D5cKgj47.js} +1 -1
  655. package/flip-card.js +1 -1
  656. package/flip-card.pure.js +1 -1
  657. package/form-field/form-field/form-field.component.js +1 -1
  658. package/{form-field.component-Dg-a3lS5.js → form-field.component-BdfK6r2v.js} +13 -13
  659. package/form-field.js +1 -1
  660. package/form-field.pure.js +1 -1
  661. package/header/common/header-action-common.js +1 -1
  662. package/header/header/header.component.js +1 -1
  663. package/header-action-common-DuPx0U2o.js +64 -0
  664. package/{header.component-Bj7phY1B.js → header.component-TU3e89pY.js} +18 -18
  665. package/header.js +2 -2
  666. package/header.pure.js +2 -2
  667. package/lean-off-brand-theme.css +3755 -0
  668. package/lean-safety-theme.css +3755 -0
  669. package/lean-theme.css +3755 -0
  670. package/link/common/block-link-common.js +1 -1
  671. package/link-list/common/link-list-base.js +1 -1
  672. package/link-list/link-list.component.js +1 -1
  673. package/{link-list-base-CEEw1SMd.js → link-list-base-C12PTC8e.js} +16 -16
  674. package/{link-list.component-CS4KuMkQ.js → link-list.component-BNVd0a8U.js} +1 -1
  675. package/link-list.js +2 -2
  676. package/link-list.pure.js +2 -2
  677. package/link.js +1 -1
  678. package/link.pure.js +1 -1
  679. package/mini-button-group.component-DQBU0BDm.js +85 -0
  680. package/navigation/common/navigation-action-common.js +1 -1
  681. package/navigation/navigation-list/navigation-list.component.js +1 -1
  682. package/navigation/navigation-marker/navigation-marker.component.js +1 -1
  683. package/navigation-action-common-x7PMfho0.js +38 -0
  684. package/{navigation-list.component-NQZA2mui.js → navigation-list.component-Cezo1tC-.js} +0 -3
  685. package/{navigation-marker.component-D1p9TkWH.js → navigation-marker.component-CNsMaqpH.js} +2 -3
  686. package/navigation.js +3 -3
  687. package/navigation.pure.js +3 -3
  688. package/notification/notification.component.js +1 -1
  689. package/notification.component-CDGtGwRv.js +188 -0
  690. package/notification.js +1 -1
  691. package/notification.pure.js +1 -1
  692. package/off-brand-theme.css +100 -86
  693. package/optgroup-base-element-Cxe8SIQh.js +108 -0
  694. package/option/optgroup/optgroup-base-element.js +1 -1
  695. package/option/optgroup/optgroup.component.js +1 -1
  696. package/option/option/option-base-element.js +27 -25
  697. package/option/option/option.component.js +1 -1
  698. package/option/option-hint/option-hint.component.js +1 -1
  699. package/option-hint.component-NSxCKXEy.js +26 -0
  700. package/option.component-BeorlZT0.js +100 -0
  701. package/option.js +3 -3
  702. package/option.pure.js +3 -3
  703. package/package.json +13 -1
  704. package/paginator/common/paginator-common.js +2 -294
  705. package/paginator/compact-paginator/compact-paginator.component.js +1 -1
  706. package/paginator/paginator/paginator.component.js +1 -1
  707. package/paginator-common-uoCIcl4X.js +294 -0
  708. package/{paginator.component-3ra04AQU.js → paginator.component-DB8l-B6J.js} +1 -1
  709. package/paginator.js +3 -3
  710. package/paginator.pure.js +3 -3
  711. package/{panel-mixin-CcbyRemy.js → panel-mixin-XQXElTGt.js} +18 -19
  712. package/popover/popover.component.js +1 -1
  713. package/popover.js +1 -1
  714. package/popover.pure.js +1 -1
  715. package/radio-button/common/radio-button-common.js +1 -1
  716. package/radio-button/radio-button.component.js +1 -1
  717. package/{radio-button.component-DedTTka_.js → radio-button.component-CZ273yAb.js} +14 -14
  718. package/radio-button.js +2 -2
  719. package/radio-button.pure.js +2 -2
  720. package/safety-theme.css +100 -86
  721. package/select/select.component.js +1 -1
  722. package/{select.component-PLjAiAA3.js → select.component-CLPLpFDz.js} +36 -36
  723. package/select.js +1 -1
  724. package/select.pure.js +1 -1
  725. package/selection-action-panel/selection-action-panel.component.js +1 -1
  726. package/selection-action-panel.js +1 -1
  727. package/selection-action-panel.pure.js +1 -1
  728. package/selection-expansion-panel/selection-expansion-panel.component.js +1 -1
  729. package/selection-expansion-panel.js +1 -1
  730. package/selection-expansion-panel.pure.js +1 -1
  731. package/{selection-group-base-element-BCEzcnya.js → selection-group-base-element-COFsU6Ur.js} +17 -18
  732. package/sidebar/sidebar/sidebar.component.js +1 -1
  733. package/sidebar/sidebar-close-button/sidebar-close-button.component.js +1 -1
  734. package/sidebar/sidebar-container/sidebar-container.component.js +1 -1
  735. package/sidebar/sidebar-content/sidebar-content.component.js +1 -1
  736. package/sidebar/sidebar-title/sidebar-title.component.js +1 -1
  737. package/sidebar.js +5 -5
  738. package/sidebar.pure.js +5 -5
  739. package/signet/signet.component.js +1 -1
  740. package/signet.js +1 -1
  741. package/signet.pure.js +1 -1
  742. package/skiplink-list/skiplink-list.component.js +1 -1
  743. package/{skiplink-list.component-Dsg-qVWZ.js → skiplink-list.component-BXaqYpsI.js} +18 -18
  744. package/skiplink-list.js +1 -1
  745. package/skiplink-list.pure.js +1 -1
  746. package/slider/slider.component.js +1 -1
  747. package/slider.js +1 -1
  748. package/slider.pure.js +1 -1
  749. package/standard-theme.css +100 -86
  750. package/status/status.component.js +1 -1
  751. package/status.js +1 -1
  752. package/status.pure.js +1 -1
  753. package/step-label.component-BGSaHafq.js +77 -0
  754. package/{step.component-KiTfzfTj.js → step.component-BY6_2Wh2.js} +6 -2
  755. package/stepper/step/step.component.js +1 -1
  756. package/stepper/step-label/step-label.component.js +1 -1
  757. package/stepper/stepper/stepper.component.js +1 -1
  758. package/{stepper.component-BX3gSLpt.js → stepper.component-lh0YSbT1.js} +22 -22
  759. package/stepper.js +3 -3
  760. package/stepper.pure.js +3 -3
  761. package/{sticky-bar.component-CmB6U3iY.js → sticky-bar.component-dmlGAZLW.js} +13 -13
  762. package/styles-DAMaYe4p.js +5 -0
  763. package/{tab-group.component-BGDY-hvA.js → tab-group.component-t4eeCNf-.js} +20 -20
  764. package/{tab-label.component-CMbmEoNe.js → tab-label.component-DvvSohaG.js} +1 -1
  765. package/{tab-nav-bar.component-Cwrqhb-2.js → tab-nav-bar.component-FT2W0urU.js} +13 -13
  766. package/table/table-wrapper/table-wrapper.component.js +1 -1
  767. package/table.css +12 -15
  768. package/table.js +1 -1
  769. package/table.pure.js +1 -1
  770. package/tabs/common/styles.js +1 -1
  771. package/tabs/tab/tab.component.js +1 -1
  772. package/tabs/tab-group/tab-group.component.js +1 -1
  773. package/tabs/tab-label/tab-label.component.js +1 -1
  774. package/tabs/tab-nav-bar/tab-nav-bar.component.js +1 -1
  775. package/tabs.js +5 -5
  776. package/tabs.pure.js +5 -5
  777. package/tag/tag/tag.component.js +1 -1
  778. package/tag/tag-group/tag-group.component.js +1 -1
  779. package/{tag-group.component-DyXEgvbN.js → tag-group.component-9UfHHJ79.js} +14 -14
  780. package/{tag.component-C74wsPOB.js → tag.component-BKuxfdDi.js} +28 -26
  781. package/tag.js +2 -2
  782. package/tag.pure.js +2 -2
  783. package/teaser/teaser.component.js +1 -1
  784. package/teaser-hero/teaser-hero.component.js +1 -1
  785. package/teaser-hero.js +1 -1
  786. package/teaser-hero.pure.js +1 -1
  787. package/teaser-panel/teaser-panel.component.js +1 -1
  788. package/teaser-panel.js +1 -1
  789. package/teaser-panel.pure.js +1 -1
  790. package/teaser-product/common/teaser-product-common.js +1 -1
  791. package/teaser-product/teaser-product/teaser-product.component.js +1 -1
  792. package/{teaser-product.component-Dzclz3Sg.js → teaser-product.component-BcleFVcu.js} +8 -8
  793. package/teaser-product.js +2 -2
  794. package/teaser-product.pure.js +2 -2
  795. package/{teaser.component-BSpcEI3Z.js → teaser.component-BOqCERR7.js} +15 -15
  796. package/teaser.js +1 -1
  797. package/teaser.pure.js +1 -1
  798. package/time-input/time-input.component.js +1 -1
  799. package/time-input.js +1 -1
  800. package/time-input.pure.js +1 -1
  801. package/timetable-form/timetable-form/timetable-form.component.js +1 -1
  802. package/timetable-form/timetable-form-details/timetable-form-details.component.js +1 -1
  803. package/timetable-form/timetable-form-field/timetable-form-field.component.js +1 -1
  804. package/timetable-form/timetable-form-swap-button/timetable-form-swap-button.component.js +1 -1
  805. package/timetable-form.js +4 -4
  806. package/timetable-form.pure.js +4 -4
  807. package/timetable-occupancy/timetable-occupancy.component.js +1 -1
  808. package/timetable-occupancy-icon/timetable-occupancy-icon.component.js +1 -1
  809. package/timetable-occupancy-icon.js +1 -1
  810. package/timetable-occupancy-icon.pure.js +1 -1
  811. package/timetable-occupancy.js +1 -1
  812. package/timetable-occupancy.pure.js +1 -1
  813. package/title/title-base.js +1 -1
  814. package/title/title.component.js +1 -1
  815. package/{title.component-DO67K8g1.js → title.component-VnTeqomb.js} +1 -1
  816. package/title.js +2 -2
  817. package/title.pure.js +2 -2
  818. package/toast/toast.component.js +1 -1
  819. package/toast.js +1 -1
  820. package/toast.pure.js +1 -1
  821. package/toggle/toggle/toggle.component.js +1 -1
  822. package/toggle/toggle-option/toggle-option.component.js +1 -1
  823. package/toggle-check/toggle-check.component.js +1 -1
  824. package/{toggle-check.component-YWr3IHEL.js → toggle-check.component-BcQ5ht0O.js} +17 -17
  825. package/toggle-check.js +1 -1
  826. package/toggle-check.pure.js +1 -1
  827. package/{toggle.component-BFsrJ98d.js → toggle.component-DARkqJol.js} +13 -13
  828. package/toggle.js +2 -2
  829. package/toggle.pure.js +2 -2
  830. package/tooltip/tooltip.component.js +1 -1
  831. package/tooltip.js +1 -1
  832. package/tooltip.pure.js +1 -1
  833. package/train/train/train.component.js +1 -1
  834. package/train/train-blocked-passage/train-blocked-passage.component.js +1 -1
  835. package/train/train-formation/train-formation.component.js +1 -1
  836. package/train/train-wagon-common.js +1 -1
  837. package/train.js +4 -4
  838. package/train.pure.js +4 -4
  839. package/visual-checkbox/visual-checkbox.component.js +1 -1
  840. package/{visual-checkbox.component-R9bYxeNp.js → visual-checkbox.component-YhX5Qk3j.js} +17 -17
  841. package/visual-checkbox.js +1 -1
  842. package/visual-checkbox.pure.js +1 -1
  843. package/core/dom/lean-context.js +0 -7
  844. package/core/overlay/overlay.js +0 -14
  845. package/core/styles/mixins/overlay.scss +0 -175
  846. package/development/accordion.component-Bvx-b38W.js +0 -165
  847. package/development/autocomplete-base-element-CG5m0PpY.js +0 -686
  848. package/development/chip-group.component-DThvmmnh.js +0 -402
  849. package/development/compact-paginator.component-Dyj5CulS.js +0 -51
  850. package/development/core/dom/lean-context.d.ts +0 -5
  851. package/development/core/dom/lean-context.d.ts.map +0 -1
  852. package/development/core/dom/lean-context.js +0 -12
  853. package/development/core/overlay/overlay.d.ts +0 -7
  854. package/development/core/overlay/overlay.d.ts.map +0 -1
  855. package/development/core/overlay/overlay.js +0 -20
  856. package/development/expansion-panel.component-BVdylpqi.js +0 -318
  857. package/development/file-selector-common-Da0KNfDP.js +0 -413
  858. package/development/file-selector-dropzone.component-Bdcau18t.js +0 -106
  859. package/development/form-field.component-_lnIpJF5.js +0 -703
  860. package/development/header-action-common-CQ1CaaBd.js +0 -79
  861. package/development/header.component-BX1rKPa_.js +0 -335
  862. package/development/mini-button-group.component-Bg-etiu1.js +0 -116
  863. package/development/navigation-action-common-CGy4K8q-.js +0 -91
  864. package/development/notification.component-D0rkSF3p.js +0 -271
  865. package/development/optgroup-base-element-BEG1P4gK.js +0 -140
  866. package/development/option-hint.component-CcSUSwjN.js +0 -31
  867. package/development/option.component-BEbIEh5o.js +0 -132
  868. package/development/paginator.component-DIuiY7It.js +0 -261
  869. package/development/select.component-B8_tnz6D.js +0 -806
  870. package/development/step-label.component-BpuNDWKl.js +0 -126
  871. package/development/stepper.component-BnCUoYv6.js +0 -423
  872. package/development/styles-BzEbxmCd.js +0 -18
  873. package/development/tab-group.component-o1F-M_-2.js +0 -266
  874. package/development/tab-nav-bar.component-3uXgOman.js +0 -110
  875. package/development/tag.component-D5DYXQ3i.js +0 -241
  876. package/development/toggle.component-DndGyA1x.js +0 -244
  877. package/expansion-panel.component-5heRRQ0C.js +0 -222
  878. package/header-action-common-B1jGzY-U.js +0 -61
  879. package/mini-button-group.component-BOJNsLrh.js +0 -85
  880. package/navigation-action-common-HG5kdQJR.js +0 -65
  881. package/notification.component-DpC6ulTx.js +0 -195
  882. package/optgroup-base-element-C6KwbQ0N.js +0 -106
  883. package/option-hint.component-Bayihbh1.js +0 -21
  884. package/option.component-C-GGTcqF.js +0 -100
  885. package/step-label.component-BkiOyF7s.js +0 -77
  886. package/styles-OHFAsnJq.js +0 -5
  887. /package/{popover.component-C66BxhNQ.js → popover.component-DJruKzY-.js} +0 -0
  888. /package/{radio-button-common-BDGoskeZ.js → radio-button-common-CrIRn10q.js} +0 -0
  889. /package/{selection-action-panel.component-B7OtT_t2.js → selection-action-panel.component-DCGJQ3Mx.js} +0 -0
  890. /package/{selection-expansion-panel.component-NXfxG9uN.js → selection-expansion-panel.component-Cu1egfTY.js} +0 -0
  891. /package/{sidebar-close-button.component-D5gxiJ_e.js → sidebar-close-button.component-8owwjvk3.js} +0 -0
  892. /package/{sidebar-container.component-BI2Jm-cJ.js → sidebar-container.component-Dcke-Uhr.js} +0 -0
  893. /package/{sidebar-content.component-C44ixSgf.js → sidebar-content.component-CYupfsq_.js} +0 -0
  894. /package/{sidebar-title.component-ByroIWTZ.js → sidebar-title.component-Cf64lCJx.js} +0 -0
  895. /package/{sidebar.component-B2IfBEhW.js → sidebar.component-LaqQzMo2.js} +0 -0
  896. /package/{signet.component-xkCj9Bel.js → signet.component-3Xfke8uk.js} +0 -0
  897. /package/{slider.component-DX8K9GWl.js → slider.component-BlUWAWJU.js} +0 -0
  898. /package/{status.component-BkBUOZC5.js → status.component-mel7wA1j.js} +0 -0
  899. /package/{styles-BNu0Fjw5.js → styles-DisU4TWi.js} +0 -0
  900. /package/{tab.component-BtN993ye.js → tab.component-D6hfhlZw.js} +0 -0
  901. /package/{table-wrapper.component-CQ76PAQl.js → table-wrapper.component-C83EYuZP.js} +0 -0
  902. /package/{teaser-hero.component-mT8miROU.js → teaser-hero.component-mv6HL4vm.js} +0 -0
  903. /package/{teaser-panel.component-DWdMzyoI.js → teaser-panel.component-qRmy2lbz.js} +0 -0
  904. /package/{teaser-product-common-DOQ6f2B7.js → teaser-product-common-J1KZ2Hlw.js} +0 -0
  905. /package/{time-input.component-BRJerke6.js → time-input.component-Dw8pPYDK.js} +0 -0
  906. /package/{timetable-form-details.component-Wmad9usT.js → timetable-form-details.component-0c6h6shd.js} +0 -0
  907. /package/{timetable-form-field.component-D3P3lV86.js → timetable-form-field.component-Cya8n2Ms.js} +0 -0
  908. /package/{timetable-form-swap-button.component-B8yPDfMq.js → timetable-form-swap-button.component-rI_0UYJw.js} +0 -0
  909. /package/{timetable-form.component-CJKyHMZk.js → timetable-form.component-DVps6baq.js} +0 -0
  910. /package/{timetable-occupancy-icon.component-DA9NTQJn.js → timetable-occupancy-icon.component-ABh1bz-X.js} +0 -0
  911. /package/{timetable-occupancy.component-B0OJi-B1.js → timetable-occupancy.component-DGQ20zH1.js} +0 -0
  912. /package/{title-base-B70qaksx.js → title-base-JBhKD3ur.js} +0 -0
  913. /package/{toast.component-DVaz-D5o.js → toast.component-BMN90Ouu.js} +0 -0
  914. /package/{toggle-option.component-BP9QEwh9.js → toggle-option.component-DQcPDXyl.js} +0 -0
  915. /package/{tooltip.component-BrXCWlQB.js → tooltip.component-NfyDxfw7.js} +0 -0
  916. /package/{train-blocked-passage.component-DxqSh9I8.js → train-blocked-passage.component-B601YYJl.js} +0 -0
  917. /package/{train-formation.component-HM0M0FHW.js → train-formation.component-DVxNBPIB.js} +0 -0
  918. /package/{train-wagon-common-BH9bSebN.js → train-wagon-common-CDCsWVgi.js} +0 -0
  919. /package/{train.component-BZ3jtqQ4.js → train.component-DxadS7O8.js} +0 -0
@@ -1,126 +0,0 @@
1
- import { html, unsafeCSS } from "lit";
2
- import { SbbButtonBaseElement, SbbDisabledMixin, SbbPropertyWatcherController, appendAriaElements, removeAriaElements } from "./core.js";
3
- import { SbbIconNameMixin } from "./icon.pure.js";
4
- //#region src/elements/stepper/step-label/step-label.scss?inline
5
- var step_label_default = ":host {\n --sbb-step-label-animation-duration: var(\n --sbb-disable-animation-duration,\n var(--sbb-animation-duration-2x)\n );\n --_sbb-step-label-inset-block-start: var(--sbb-step-label-inset-block-start-size-m);\n --_sbb-step-label-inset-inline-start: calc(var(--sbb-step-label-prefix-size) / 2);\n --_sbb-step-label-translate-y: calc(\n -50% + var(--sbb-step-label-translate-y-content-hover, 0rem)\n );\n --_sbb-step-label-prefix-inset-block-start: calc(\n 1em * (var(--sbb-typo-line-height-text) / 2) + (var(--sbb-border-width-1x) / 2) -\n (var(--sbb-step-label-prefix-size) / 2)\n );\n position: relative;\n display: flex;\n min-width: 0;\n max-width: fit-content;\n gap: var(--sbb-step-label-gap);\n cursor: var(--sbb-step-label-cursor);\n color: var(--sbb-step-label-color);\n font-size: var(--sbb-step-label-font-size);\n letter-spacing: var(--sbb-typo-letter-spacing-text);\n line-height: var(--sbb-typo-line-height-text);\n}\n:host::before {\n position: absolute;\n top: 50%;\n left: 50%;\n translate: -50% -50%;\n font-size: var(--sbb-text-font-size-xxs);\n font-weight: var(--sbb-step-label-font-weight-selected, normal);\n inset-block-start: var(--_sbb-step-label-inset-block-start);\n inset-inline-start: var(--_sbb-step-label-inset-inline-start);\n line-height: 1;\n z-index: 1;\n translate: -50% var(--_sbb-step-label-translate-y);\n transition: translate var(--sbb-step-label-animation-duration) var(--sbb-animation-easing);\n}\n\n:host(:is(:state(selected),[state--selected])) {\n --sbb-step-label-color: var(--sbb-color-3);\n --sbb-step-label-font-weight-selected: bold;\n}\n@media (forced-colors: active) {\n :host(:is(:state(selected),[state--selected])) {\n --sbb-step-label-color: Highlight !important;\n }\n}\n\n:host(:is(:state(size-s),[state--size-s])) {\n --sbb-step-label-gap: var(--sbb-spacing-fixed-3x);\n --sbb-step-label-prefix-size: var(--sbb-size-element-xxxs);\n --sbb-step-label-font-size: var(--sbb-text-font-size-m);\n --_sbb-step-label-inset-block-start: var(--sbb-step-label-inset-block-start-size-s);\n}\n\n:host(:disabled) {\n --sbb-step-label-color: var(--sbb-color-granite);\n --sbb-step-label-color: light-dark(var(--sbb-color-granite), var(--sbb-color-graphite));\n --sbb-step-label-prefix-border-style: dashed;\n}\n@media (forced-colors: active) {\n :host(:disabled) {\n --sbb-step-label-color: GrayText !important;\n }\n}\n\n@media (any-hover: hover) {\n :host(:hover:not(:disabled)) {\n --sbb-step-label-cursor: var(--sbb-cursor-pointer);\n --sbb-step-label-prefix-background-color: var(--sbb-background-color-3);\n --sbb-step-label-translate-y-content-hover: -0.0625rem;\n --sbb-step-label-prefix-size-grow-hover: calc(var(--sbb-border-width-2x) * -1);\n }\n}\n\n:host(:focus-visible) {\n outline-offset: var(--sbb-focus-outline-offset);\n outline: var(--sbb-focus-outline-color) var(--sbb-focus-outline-style, solid) var(--sbb-focus-outline-width);\n border-radius: var(--sbb-border-radius-1x);\n}\n\n:host(:is(:state(orientation-vertical),[state--orientation-vertical])) {\n transition: margin var(--sbb-stepper-animation-duration) var(--sbb-animation-easing);\n}\n\n:host(:is(:state(orientation-vertical),[state--orientation-vertical]):not(:first-of-type)) {\n margin-block-start: var(--sbb-spacing-fixed-6x);\n}\n\n:host(:is(:state(selected),[state--selected]):is(:state(orientation-vertical),[state--orientation-vertical])) {\n margin-block-end: var(--sbb-spacing-fixed-8x);\n}\n\n.sbb-step-label__prefix {\n position: relative;\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n width: var(--sbb-step-label-prefix-size);\n height: var(--sbb-step-label-prefix-size);\n inset-block-start: var(--_sbb-step-label-prefix-inset-block-start);\n}\n.sbb-step-label__prefix::before {\n content: \"\";\n position: absolute;\n inset: calc(var(--sbb-step-label-prefix-size-grow-hover, 0rem));\n border-radius: var(--sbb-border-radius-infinity);\n border: var(--sbb-border-width-1x) var(--sbb-step-label-prefix-border-style) var(--sbb-step-label-prefix-border-color);\n background-color: var(--sbb-step-label-prefix-background-color);\n transition-duration: var(--sbb-step-label-animation-duration);\n transition-timing-function: var(--sbb-animation-easing);\n transition-property: background-color, inset;\n}\n\n.sbb-step-label__text {\n font-weight: bold;\n}\n:host(:is(:state(orientation-horizontal),[state--orientation-horizontal])) .sbb-step-label__text {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n\n::slotted(sbb-icon),\nsbb-icon {\n z-index: 1;\n background-color: var(--sbb-step-label-prefix-background-color);\n border-radius: var(--sbb-border-radius-infinity);\n translate: 0 var(--sbb-step-label-translate-y-content-hover, 0rem);\n transition-duration: var(--sbb-step-label-animation-duration);\n transition-timing-function: var(--sbb-animation-easing);\n transition-property: background-color, translate;\n}";
6
- //#endregion
7
- //#region src/elements/stepper/step-label/step-label.component.ts
8
- /**
9
- * Combined with a `sbb-stepper`, it displays a step's label.
10
- *
11
- * @slot - Use the unnamed slot to provide a label.
12
- * @slot icon - Use this to display an icon in the label bubble.
13
- */
14
- var SbbStepLabelElement = class extends SbbIconNameMixin(SbbDisabledMixin(SbbButtonBaseElement)) {
15
- static {
16
- this.elementName = "sbb-step-label";
17
- }
18
- static {
19
- this.role = "tab";
20
- }
21
- static {
22
- this.styles = [unsafeCSS(step_label_default)];
23
- }
24
- /** The step controlled by the label. */
25
- get step() {
26
- return this._step;
27
- }
28
- get stepper() {
29
- return this.closest("sbb-stepper");
30
- }
31
- set disabled(value) {
32
- super.disabled = value;
33
- this.toggleState("user-disabled", value);
34
- }
35
- get disabled() {
36
- return super.disabled;
37
- }
38
- constructor() {
39
- super();
40
- this._step = null;
41
- this.addEventListener?.("click", () => {
42
- const stepper = this.stepper;
43
- if (stepper && this.step && this._isNotDeactivatedByLinearMode(this.step)) stepper.selected = this.step;
44
- });
45
- this.addController(new SbbPropertyWatcherController(this, () => this.stepper, {
46
- orientation: (s) => {
47
- if (this._previousOrientation) this.internals.states.delete(`orientation-${this._previousOrientation}`);
48
- this._previousOrientation = s.orientation;
49
- if (this._previousOrientation) this.internals.states.add(`orientation-${this._previousOrientation}`);
50
- },
51
- size: (s) => {
52
- if (this._previousSize) this.internals.states.delete(`size-${this._previousSize}`);
53
- this._previousSize = s.size;
54
- if (this._previousSize) this.internals.states.add(`size-${this._previousSize}`);
55
- }
56
- }));
57
- }
58
- _isNotDeactivatedByLinearMode(step) {
59
- const stepper = this.stepper;
60
- if (stepper?.linear && stepper.selectedIndex !== null) {
61
- const index = stepper.steps.indexOf(step);
62
- return index < stepper.selectedIndex || index === stepper.selectedIndex + 1;
63
- }
64
- return true;
65
- }
66
- connectedCallback() {
67
- super.connectedCallback();
68
- this.slot ||= "step-label";
69
- this.internals.ariaSelected = "false";
70
- this.tabIndex = -1;
71
- this._assignStep();
72
- }
73
- /**
74
- * Selects and configures the step label.
75
- * @internal
76
- */
77
- select() {
78
- this.tabIndex = 0;
79
- this.internals.ariaSelected = "true";
80
- this.internals.states.add("selected");
81
- }
82
- /**
83
- * Deselects and configures the step label.
84
- * @internal
85
- */
86
- deselect() {
87
- this.tabIndex = -1;
88
- this.internals.ariaSelected = "false";
89
- this.internals.states.delete("selected");
90
- }
91
- /**
92
- * Configures the step label.
93
- * @internal
94
- */
95
- configure(posInSet, setSize, stepperLoaded) {
96
- if (stepperLoaded) this._assignStep();
97
- this.internals.ariaPosInSet = `${posInSet}`;
98
- this.internals.ariaSetSize = `${setSize}`;
99
- }
100
- _assignStep() {
101
- let nextSibling = this.nextElementSibling;
102
- while (nextSibling && nextSibling.localName !== "sbb-step") nextSibling = nextSibling.nextElementSibling;
103
- const value = nextSibling;
104
- this.internals.ariaControlsElements = removeAriaElements(this.internals.ariaControlsElements, this._step);
105
- this._step = value instanceof Element ? value : null;
106
- this.internals.ariaControlsElements = appendAriaElements(this.internals.ariaControlsElements, this._step);
107
- }
108
- /**
109
- * @internal
110
- * Disables the step label and avoids setting the `disabled` state to preserve the initial
111
- * disabled state in case of switching between linear and non-linear mode.
112
- */
113
- disable(value) {
114
- super.disabled = value;
115
- }
116
- render() {
117
- return html`
118
- <span class="sbb-step-label__prefix">${this.renderIconSlot()}</span>
119
- <span class="sbb-step-label__text"><slot></slot></span>
120
- `;
121
- }
122
- };
123
- //#endregion
124
- export { SbbStepLabelElement as t };
125
-
126
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcC1sYWJlbC5jb21wb25lbnQtQnB1TkRXS2wuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3N0ZXBwZXIvc3RlcC1sYWJlbC9zdGVwLWxhYmVsLnNjc3M/aW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3N0ZXBwZXIvc3RlcC1sYWJlbC9zdGVwLWxhYmVsLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICcuLi8uLi9jb3JlL3N0eWxlcycgYXMgc2JiO1xuXG46aG9zdCB7XG4gIC0tc2JiLXN0ZXAtbGFiZWwtYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoXG4gICAgLS1zYmItZGlzYWJsZS1hbmltYXRpb24tZHVyYXRpb24sXG4gICAgdmFyKC0tc2JiLWFuaW1hdGlvbi1kdXJhdGlvbi0yeClcbiAgKTtcbiAgLS1fc2JiLXN0ZXAtbGFiZWwtaW5zZXQtYmxvY2stc3RhcnQ6IHZhcigtLXNiYi1zdGVwLWxhYmVsLWluc2V0LWJsb2NrLXN0YXJ0LXNpemUtbSk7XG4gIC0tX3NiYi1zdGVwLWxhYmVsLWluc2V0LWlubGluZS1zdGFydDogY2FsYyh2YXIoLS1zYmItc3RlcC1sYWJlbC1wcmVmaXgtc2l6ZSkgLyAyKTtcbiAgLS1fc2JiLXN0ZXAtbGFiZWwtdHJhbnNsYXRlLXk6IGNhbGMoXG4gICAgLTUwJSArIHZhcigtLXNiYi1zdGVwLWxhYmVsLXRyYW5zbGF0ZS15LWNvbnRlbnQtaG92ZXIsICN7c2JiLnB4LXRvLXJlbS1idWlsZCgwKX0pXG4gICk7XG4gIC0tX3NiYi1zdGVwLWxhYmVsLXByZWZpeC1pbnNldC1ibG9jay1zdGFydDogY2FsYyhcbiAgICAxZW0gKiAodmFyKC0tc2JiLXR5cG8tbGluZS1oZWlnaHQtdGV4dCkgLyAyKSArICh2YXIoLS1zYmItYm9yZGVyLXdpZHRoLTF4KSAvIDIpIC1cbiAgICAgICh2YXIoLS1zYmItc3RlcC1sYWJlbC1wcmVmaXgtc2l6ZSkgLyAyKVxuICApO1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgbWluLXdpZHRoOiAwO1xuICBtYXgtd2lkdGg6IGZpdC1jb250ZW50O1xuICBnYXA6IHZhcigtLXNiYi1zdGVwLWxhYmVsLWdhcCk7XG4gIGN1cnNvcjogdmFyKC0tc2JiLXN0ZXAtbGFiZWwtY3Vyc29yKTtcbiAgY29sb3I6IHZhcigtLXNiYi1zdGVwLWxhYmVsLWNvbG9yKTtcbiAgZm9udC1zaXplOiB2YXIoLS1zYmItc3RlcC1sYWJlbC1mb250LXNpemUpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tc2JiLXR5cG8tbGV0dGVyLXNwYWNpbmctdGV4dCk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1zYmItdHlwby1saW5lLWhlaWdodC10ZXh0KTtcblxuICAmOjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIHNiYi5hYnNvbHV0ZS1jZW50ZXIteC15O1xuXG4gICAgZm9udC1zaXplOiB2YXIoLS1zYmItdGV4dC1mb250LXNpemUteHhzKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tc2JiLXN0ZXAtbGFiZWwtZm9udC13ZWlnaHQtc2VsZWN0ZWQsIG5vcm1hbCk7XG4gICAgaW5zZXQtYmxvY2stc3RhcnQ6IHZhcigtLV9zYmItc3RlcC1sYWJlbC1pbnNldC1ibG9jay1zdGFydCk7XG4gICAgaW5zZXQtaW5saW5lLXN0YXJ0OiB2YXIoLS1fc2JiLXN0ZXAtbGFiZWwtaW5zZXQtaW5saW5lLXN0YXJ0KTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB6LWluZGV4OiAxO1xuICAgIHRyYW5zbGF0ZTogLTUwJSB2YXIoLS1fc2JiLXN0ZXAtbGFiZWwtdHJhbnNsYXRlLXkpO1xuICAgIHRyYW5zaXRpb246IHRyYW5zbGF0ZSB2YXIoLS1zYmItc3RlcC1sYWJlbC1hbmltYXRpb24tZHVyYXRpb24pIHZhcigtLXNiYi1hbmltYXRpb24tZWFzaW5nKTtcbiAgfVxufVxuXG46aG9zdCg6c3RhdGUoc2VsZWN0ZWQpKSB7XG4gIC0tc2JiLXN0ZXAtbGFiZWwtY29sb3I6IHZhcigtLXNiYi1jb2xvci0zKTtcbiAgLS1zYmItc3RlcC1sYWJlbC1mb250LXdlaWdodC1zZWxlY3RlZDogYm9sZDtcblxuICBAaW5jbHVkZSBzYmIuaWYtZm9yY2VkLWNvbG9ycyB7XG4gICAgLS1zYmItc3RlcC1sYWJlbC1jb2xvcjogSGlnaGxpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuOmhvc3QoOnN0YXRlKHNpemUtcykpIHtcbiAgLS1zYmItc3RlcC1sYWJlbC1nYXA6IHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTN4KTtcbiAgLS1zYmItc3RlcC1sYWJlbC1wcmVmaXgtc2l6ZTogdmFyKC0tc2JiLXNpemUtZWxlbWVudC14eHhzKTtcbiAgLS1zYmItc3RlcC1sYWJlbC1mb250LXNpemU6IHZhcigtLXNiYi10ZXh0LWZvbnQtc2l6ZS1tKTtcbiAgLS1fc2JiLXN0ZXAtbGFiZWwtaW5zZXQtYmxvY2stc3RhcnQ6IHZhcigtLXNiYi1zdGVwLWxhYmVsLWluc2V0LWJsb2NrLXN0YXJ0LXNpemUtcyk7XG59XG5cbjpob3N0KDpkaXNhYmxlZCkge1xuICAtLXNiYi1zdGVwLWxhYmVsLWNvbG9yOiBsaWdodC1kYXJrKHZhcigtLXNiYi1jb2xvci1ncmFuaXRlKSwgdmFyKC0tc2JiLWNvbG9yLWdyYXBoaXRlKSk7XG4gIC0tc2JiLXN0ZXAtbGFiZWwtcHJlZml4LWJvcmRlci1zdHlsZTogZGFzaGVkO1xuXG4gIEBpbmNsdWRlIHNiYi5pZi1mb3JjZWQtY29sb3JzIHtcbiAgICAtLXNiYi1zdGVwLWxhYmVsLWNvbG9yOiBHcmF5VGV4dCAhaW1wb3J0YW50O1xuICB9XG59XG5cbjpob3N0KDpob3Zlcjpub3QoOmRpc2FibGVkKSkge1xuICBAaW5jbHVkZSBzYmIuaG92ZXItbXEoJGhvdmVyOiB0cnVlKSB7XG4gICAgLS1zYmItc3RlcC1sYWJlbC1jdXJzb3I6IHZhcigtLXNiYi1jdXJzb3ItcG9pbnRlcik7XG4gICAgLS1zYmItc3RlcC1sYWJlbC1wcmVmaXgtYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLWJhY2tncm91bmQtY29sb3ItMyk7XG4gICAgLS1zYmItc3RlcC1sYWJlbC10cmFuc2xhdGUteS1jb250ZW50LWhvdmVyOiAje3NiYi5weC10by1yZW0tYnVpbGQoLTEpfTtcbiAgICAtLXNiYi1zdGVwLWxhYmVsLXByZWZpeC1zaXplLWdyb3ctaG92ZXI6IGNhbGModmFyKC0tc2JiLWJvcmRlci13aWR0aC0yeCkgKiAtMSk7XG4gIH1cbn1cblxuOmhvc3QoOmZvY3VzLXZpc2libGUpIHtcbiAgQGluY2x1ZGUgc2JiLmZvY3VzLW91dGxpbmU7XG5cbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tc2JiLWJvcmRlci1yYWRpdXMtMXgpO1xufVxuXG46aG9zdCg6c3RhdGUob3JpZW50YXRpb24tdmVydGljYWwpKSB7XG4gIHRyYW5zaXRpb246IG1hcmdpbiB2YXIoLS1zYmItc3RlcHBlci1hbmltYXRpb24tZHVyYXRpb24pIHZhcigtLXNiYi1hbmltYXRpb24tZWFzaW5nKTtcbn1cblxuOmhvc3QoOnN0YXRlKG9yaWVudGF0aW9uLXZlcnRpY2FsKTpub3QoOmZpcnN0LW9mLXR5cGUpKSB7XG4gIG1hcmdpbi1ibG9jay1zdGFydDogdmFyKC0tc2JiLXNwYWNpbmctZml4ZWQtNngpO1xufVxuXG46aG9zdCg6c3RhdGUoc2VsZWN0ZWQpOnN0YXRlKG9yaWVudGF0aW9uLXZlcnRpY2FsKSkge1xuICBtYXJnaW4tYmxvY2stZW5kOiB2YXIoLS1zYmItc3BhY2luZy1maXhlZC04eCk7XG59XG5cbi5zYmItc3RlcC1sYWJlbF9fcHJlZml4IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXNocmluazogMDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiB2YXIoLS1zYmItc3RlcC1sYWJlbC1wcmVmaXgtc2l6ZSk7XG4gIGhlaWdodDogdmFyKC0tc2JiLXN0ZXAtbGFiZWwtcHJlZml4LXNpemUpO1xuICBpbnNldC1ibG9jay1zdGFydDogdmFyKC0tX3NiYi1zdGVwLWxhYmVsLXByZWZpeC1pbnNldC1ibG9jay1zdGFydCk7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQ6IGNhbGModmFyKC0tc2JiLXN0ZXAtbGFiZWwtcHJlZml4LXNpemUtZ3Jvdy1ob3ZlciwgI3tzYmIucHgtdG8tcmVtLWJ1aWxkKDApfSkpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXNiYi1ib3JkZXItcmFkaXVzLWluZmluaXR5KTtcbiAgICBib3JkZXI6IHZhcigtLXNiYi1ib3JkZXItd2lkdGgtMXgpIHZhcigtLXNiYi1zdGVwLWxhYmVsLXByZWZpeC1ib3JkZXItc3R5bGUpXG4gICAgICB2YXIoLS1zYmItc3RlcC1sYWJlbC1wcmVmaXgtYm9yZGVyLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItc3RlcC1sYWJlbC1wcmVmaXgtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgdHJhbnNpdGlvbjoge1xuICAgICAgZHVyYXRpb246IHZhcigtLXNiYi1zdGVwLWxhYmVsLWFuaW1hdGlvbi1kdXJhdGlvbik7XG4gICAgICB0aW1pbmctZnVuY3Rpb246IHZhcigtLXNiYi1hbmltYXRpb24tZWFzaW5nKTtcbiAgICAgIHByb3BlcnR5OiBiYWNrZ3JvdW5kLWNvbG9yLCBpbnNldDtcbiAgICB9XG4gIH1cbn1cblxuLnNiYi1zdGVwLWxhYmVsX190ZXh0IHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG5cbiAgOmhvc3QoOnN0YXRlKG9yaWVudGF0aW9uLWhvcml6b250YWwpKSAmIHtcbiAgICBAaW5jbHVkZSBzYmIuZWxsaXBzaXM7XG4gIH1cbn1cblxuOjpzbG90dGVkKHNiYi1pY29uKSxcbnNiYi1pY29uIHtcbiAgei1pbmRleDogMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLXN0ZXAtbGFiZWwtcHJlZml4LWJhY2tncm91bmQtY29sb3IpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1zYmItYm9yZGVyLXJhZGl1cy1pbmZpbml0eSk7XG4gIHRyYW5zbGF0ZTogMCB2YXIoLS1zYmItc3RlcC1sYWJlbC10cmFuc2xhdGUteS1jb250ZW50LWhvdmVyLCAje3NiYi5weC10by1yZW0tYnVpbGQoMCl9KTtcbiAgdHJhbnNpdGlvbjoge1xuICAgIGR1cmF0aW9uOiB2YXIoLS1zYmItc3RlcC1sYWJlbC1hbmltYXRpb24tZHVyYXRpb24pO1xuICAgIHRpbWluZy1mdW5jdGlvbjogdmFyKC0tc2JiLWFuaW1hdGlvbi1lYXNpbmcpO1xuICAgIHByb3BlcnR5OiBiYWNrZ3JvdW5kLWNvbG9yLCB0cmFuc2xhdGU7XG4gIH1cbn1cbiIsImltcG9ydCB7IHR5cGUgQ1NTUmVzdWx0R3JvdXAsIGh0bWwsIHR5cGUgVGVtcGxhdGVSZXN1bHQsIHVuc2FmZUNTUyB9IGZyb20gJ2xpdCc7XG5cbmltcG9ydCB7XG4gIGFwcGVuZEFyaWFFbGVtZW50cyxcbiAgcmVtb3ZlQXJpYUVsZW1lbnRzLFxuICBTYmJCdXR0b25CYXNlRWxlbWVudCxcbiAgU2JiRGlzYWJsZWRNaXhpbixcbiAgU2JiUHJvcGVydHlXYXRjaGVyQ29udHJvbGxlcixcbn0gZnJvbSAnLi4vLi4vY29yZS50cyc7XG5pbXBvcnQgeyBTYmJJY29uTmFtZU1peGluIH0gZnJvbSAnLi4vLi4vaWNvbi5wdXJlLnRzJztcbmltcG9ydCB0eXBlIHsgU2JiU3RlcEVsZW1lbnQgfSBmcm9tICcuLi9zdGVwL3N0ZXAuY29tcG9uZW50LnRzJztcbmltcG9ydCB0eXBlIHsgU2JiU3RlcHBlckVsZW1lbnQgfSBmcm9tICcuLi9zdGVwcGVyL3N0ZXBwZXIuY29tcG9uZW50LnRzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vc3RlcC1sYWJlbC5zY3NzP2lubGluZSc7XG5cbi8qKlxuICogQ29tYmluZWQgd2l0aCBhIGBzYmItc3RlcHBlcmAsIGl0IGRpc3BsYXlzIGEgc3RlcCdzIGxhYmVsLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gcHJvdmlkZSBhIGxhYmVsLlxuICogQHNsb3QgaWNvbiAtIFVzZSB0aGlzIHRvIGRpc3BsYXkgYW4gaWNvbiBpbiB0aGUgbGFiZWwgYnViYmxlLlxuICovXG5leHBvcnQgY2xhc3MgU2JiU3RlcExhYmVsRWxlbWVudCBleHRlbmRzIFNiYkljb25OYW1lTWl4aW4oU2JiRGlzYWJsZWRNaXhpbihTYmJCdXR0b25CYXNlRWxlbWVudCkpIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSBlbGVtZW50TmFtZTogc3RyaW5nID0gJ3NiYi1zdGVwLWxhYmVsJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSByb2xlID0gJ3RhYic7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IFt1bnNhZmVDU1Moc3R5bGUpXTtcblxuICAvKiogVGhlIHN0ZXAgY29udHJvbGxlZCBieSB0aGUgbGFiZWwuICovXG4gIHB1YmxpYyBnZXQgc3RlcCgpOiBTYmJTdGVwRWxlbWVudCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLl9zdGVwO1xuICB9XG4gIHByaXZhdGUgX3N0ZXA6IFNiYlN0ZXBFbGVtZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgcHVibGljIGdldCBzdGVwcGVyKCk6IFNiYlN0ZXBwZXJFbGVtZW50IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuY2xvc2VzdCgnc2JiLXN0ZXBwZXInKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBzdXBlci5kaXNhYmxlZCA9IHZhbHVlO1xuXG4gICAgLy8gV2UgYWRkaXRpb25hbGx5IGtlZXAgdHJhY2sgb2YgdGhlIGBkaXNhYmxlZGAgc3RhdGUgdG8gcHJlc2VydmUgdGhlIHVzZXIgY29uZmlndXJlZCBkaXNhYmxlZCBzdGF0ZVxuICAgIC8vIG9mIHN0ZXAgbGFiZWxzIGluIGNhc2Ugb2Ygc3dpdGNoaW5nIGJldHdlZW4gbGluZWFyIGFuZCBub24tbGluZWFyIG1vZGUuXG4gICAgdGhpcy50b2dnbGVTdGF0ZSgndXNlci1kaXNhYmxlZCcsIHZhbHVlKTtcbiAgfVxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBzdXBlci5kaXNhYmxlZDtcbiAgfVxuXG4gIHByaXZhdGUgX3ByZXZpb3VzT3JpZW50YXRpb24/OiBzdHJpbmc7XG4gIHByaXZhdGUgX3ByZXZpb3VzU2l6ZT86IHN0cmluZztcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdjbGljaycsICgpID0+IHtcbiAgICAgIGNvbnN0IHN0ZXBwZXIgPSB0aGlzLnN0ZXBwZXI7XG4gICAgICBpZiAoc3RlcHBlciAmJiB0aGlzLnN0ZXAgJiYgdGhpcy5faXNOb3REZWFjdGl2YXRlZEJ5TGluZWFyTW9kZSh0aGlzLnN0ZXApKSB7XG4gICAgICAgIHN0ZXBwZXIuc2VsZWN0ZWQgPSB0aGlzLnN0ZXA7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5hZGRDb250cm9sbGVyKFxuICAgICAgbmV3IFNiYlByb3BlcnR5V2F0Y2hlckNvbnRyb2xsZXIodGhpcywgKCkgPT4gdGhpcy5zdGVwcGVyLCB7XG4gICAgICAgIG9yaWVudGF0aW9uOiAocykgPT4ge1xuICAgICAgICAgIGlmICh0aGlzLl9wcmV2aW91c09yaWVudGF0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuZGVsZXRlKGBvcmllbnRhdGlvbi0ke3RoaXMuX3ByZXZpb3VzT3JpZW50YXRpb259YCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMuX3ByZXZpb3VzT3JpZW50YXRpb24gPSBzLm9yaWVudGF0aW9uO1xuICAgICAgICAgIGlmICh0aGlzLl9wcmV2aW91c09yaWVudGF0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuYWRkKGBvcmllbnRhdGlvbi0ke3RoaXMuX3ByZXZpb3VzT3JpZW50YXRpb259YCk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBzaXplOiAocykgPT4ge1xuICAgICAgICAgIGlmICh0aGlzLl9wcmV2aW91c1NpemUpIHtcbiAgICAgICAgICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5kZWxldGUoYHNpemUtJHt0aGlzLl9wcmV2aW91c1NpemV9YCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMuX3ByZXZpb3VzU2l6ZSA9IHMuc2l6ZTtcbiAgICAgICAgICBpZiAodGhpcy5fcHJldmlvdXNTaXplKSB7XG4gICAgICAgICAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuYWRkKGBzaXplLSR7dGhpcy5fcHJldmlvdXNTaXplfWApO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9pc05vdERlYWN0aXZhdGVkQnlMaW5lYXJNb2RlKHN0ZXA6IFNiYlN0ZXBFbGVtZW50KTogYm9vbGVhbiB7XG4gICAgY29uc3Qgc3RlcHBlciA9IHRoaXMuc3RlcHBlcjtcbiAgICBpZiAoc3RlcHBlcj8ubGluZWFyICYmIHN0ZXBwZXIuc2VsZWN0ZWRJbmRleCAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgaW5kZXggPSBzdGVwcGVyLnN0ZXBzLmluZGV4T2Yoc3RlcCk7XG4gICAgICByZXR1cm4gaW5kZXggPCBzdGVwcGVyLnNlbGVjdGVkSW5kZXggfHwgaW5kZXggPT09IHN0ZXBwZXIuc2VsZWN0ZWRJbmRleCArIDE7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5zbG90IHx8PSAnc3RlcC1sYWJlbCc7XG4gICAgdGhpcy5pbnRlcm5hbHMuYXJpYVNlbGVjdGVkID0gJ2ZhbHNlJztcbiAgICB0aGlzLnRhYkluZGV4ID0gLTE7XG4gICAgdGhpcy5fYXNzaWduU3RlcCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlbGVjdHMgYW5kIGNvbmZpZ3VyZXMgdGhlIHN0ZXAgbGFiZWwuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIHNlbGVjdCgpOiB2b2lkIHtcbiAgICB0aGlzLnRhYkluZGV4ID0gMDtcbiAgICB0aGlzLmludGVybmFscy5hcmlhU2VsZWN0ZWQgPSAndHJ1ZSc7XG4gICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmFkZCgnc2VsZWN0ZWQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXNlbGVjdHMgYW5kIGNvbmZpZ3VyZXMgdGhlIHN0ZXAgbGFiZWwuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIGRlc2VsZWN0KCk6IHZvaWQge1xuICAgIHRoaXMudGFiSW5kZXggPSAtMTtcbiAgICB0aGlzLmludGVybmFscy5hcmlhU2VsZWN0ZWQgPSAnZmFsc2UnO1xuICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5kZWxldGUoJ3NlbGVjdGVkJyk7XG4gIH1cblxuICAvKipcbiAgICogQ29uZmlndXJlcyB0aGUgc3RlcCBsYWJlbC5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgY29uZmlndXJlKHBvc0luU2V0OiBudW1iZXIsIHNldFNpemU6IG51bWJlciwgc3RlcHBlckxvYWRlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmIChzdGVwcGVyTG9hZGVkKSB7XG4gICAgICB0aGlzLl9hc3NpZ25TdGVwKCk7XG4gICAgfVxuICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFQb3NJblNldCA9IGAke3Bvc0luU2V0fWA7XG4gICAgdGhpcy5pbnRlcm5hbHMuYXJpYVNldFNpemUgPSBgJHtzZXRTaXplfWA7XG4gIH1cblxuICBwcml2YXRlIF9hc3NpZ25TdGVwKCk6IHZvaWQge1xuICAgIGxldCBuZXh0U2libGluZyA9IHRoaXMubmV4dEVsZW1lbnRTaWJsaW5nO1xuICAgIHdoaWxlIChuZXh0U2libGluZyAmJiBuZXh0U2libGluZy5sb2NhbE5hbWUgIT09ICdzYmItc3RlcCcpIHtcbiAgICAgIG5leHRTaWJsaW5nID0gbmV4dFNpYmxpbmcubmV4dEVsZW1lbnRTaWJsaW5nO1xuICAgIH1cblxuICAgIGNvbnN0IHZhbHVlID0gbmV4dFNpYmxpbmcgYXMgU2JiU3RlcEVsZW1lbnQgfCBudWxsO1xuICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFDb250cm9sc0VsZW1lbnRzID0gcmVtb3ZlQXJpYUVsZW1lbnRzKFxuICAgICAgdGhpcy5pbnRlcm5hbHMuYXJpYUNvbnRyb2xzRWxlbWVudHMsXG4gICAgICB0aGlzLl9zdGVwLFxuICAgICk7XG4gICAgdGhpcy5fc3RlcCA9IHZhbHVlIGluc3RhbmNlb2YgRWxlbWVudCA/IHZhbHVlIDogbnVsbDtcbiAgICB0aGlzLmludGVybmFscy5hcmlhQ29udHJvbHNFbGVtZW50cyA9IGFwcGVuZEFyaWFFbGVtZW50cyhcbiAgICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFDb250cm9sc0VsZW1lbnRzLFxuICAgICAgdGhpcy5fc3RlcCxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKiBEaXNhYmxlcyB0aGUgc3RlcCBsYWJlbCBhbmQgYXZvaWRzIHNldHRpbmcgdGhlIGBkaXNhYmxlZGAgc3RhdGUgdG8gcHJlc2VydmUgdGhlIGluaXRpYWxcbiAgICogZGlzYWJsZWQgc3RhdGUgaW4gY2FzZSBvZiBzd2l0Y2hpbmcgYmV0d2VlbiBsaW5lYXIgYW5kIG5vbi1saW5lYXIgbW9kZS5cbiAgICovXG4gIHB1YmxpYyBkaXNhYmxlKHZhbHVlOiBib29sZWFuKTogdm9pZCB7XG4gICAgc3VwZXIuZGlzYWJsZWQgPSB2YWx1ZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPHNwYW4gY2xhc3M9XCJzYmItc3RlcC1sYWJlbF9fcHJlZml4XCI+JHt0aGlzLnJlbmRlckljb25TbG90KCl9PC9zcGFuPlxuICAgICAgPHNwYW4gY2xhc3M9XCJzYmItc3RlcC1sYWJlbF9fdGV4dFwiPjxzbG90Pjwvc2xvdD48L3NwYW4+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLXN0ZXAtbGFiZWwnOiBTYmJTdGVwTGFiZWxFbGVtZW50O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUNxQkEsSUFBYSxzQkFBYixjQUF5QyxpQkFBaUIsaUJBQWlCLHFCQUFxQixDQUFDLENBQUE7O0FBQy9ELE9BQUEsY0FBc0I7OztBQUN0QixPQUFBLE9BQU87OztBQUNoQixPQUFBLFNBQXlCLENBQUMsVUFBVSxtQkFBTSxDQUFDOzs7Q0FHbEUsSUFBVyxPQUFJO0FBQ2IsU0FBTyxLQUFLOztDQUlkLElBQVcsVUFBTztBQUNoQixTQUFPLEtBQUssUUFBUSxjQUFjOztDQUdwQyxJQUFvQixTQUFTLE9BQWM7QUFDekMsUUFBTSxXQUFXO0FBSWpCLE9BQUssWUFBWSxpQkFBaUIsTUFBTTs7Q0FFMUMsSUFBb0IsV0FBUTtBQUMxQixTQUFPLE1BQU07O0NBTWYsY0FBQTtBQUNFLFNBQU87QUFyQkQsT0FBQSxRQUErQjtBQXVCckMsT0FBSyxtQkFBbUIsZUFBYztHQUNwQyxNQUFNLFVBQVUsS0FBSztBQUNyQixPQUFJLFdBQVcsS0FBSyxRQUFRLEtBQUssOEJBQThCLEtBQUssS0FBSyxDQUN2RSxTQUFRLFdBQVcsS0FBSztJQUUxQjtBQUNGLE9BQUssY0FDSCxJQUFJLDZCQUE2QixZQUFZLEtBQUssU0FBUztHQUN6RCxjQUFjLE1BQUs7QUFDakIsUUFBSSxLQUFLLHFCQUNQLE1BQUssVUFBVSxPQUFPLE9BQU8sZUFBZSxLQUFLLHVCQUF1QjtBQUUxRSxTQUFLLHVCQUF1QixFQUFFO0FBQzlCLFFBQUksS0FBSyxxQkFDUCxNQUFLLFVBQVUsT0FBTyxJQUFJLGVBQWUsS0FBSyx1QkFBdUI7O0dBR3pFLE9BQU8sTUFBSztBQUNWLFFBQUksS0FBSyxjQUNQLE1BQUssVUFBVSxPQUFPLE9BQU8sUUFBUSxLQUFLLGdCQUFnQjtBQUU1RCxTQUFLLGdCQUFnQixFQUFFO0FBQ3ZCLFFBQUksS0FBSyxjQUNQLE1BQUssVUFBVSxPQUFPLElBQUksUUFBUSxLQUFLLGdCQUFnQjs7R0FHNUQsQ0FBQyxDQUNIOztDQUdLLDhCQUE4QixNQUFvQjtFQUN4RCxNQUFNLFVBQVUsS0FBSztBQUNyQixNQUFJLFNBQVMsVUFBVSxRQUFRLGtCQUFrQixNQUFNO0dBQ3JELE1BQU0sUUFBUSxRQUFRLE1BQU0sUUFBUSxLQUFLO0FBQ3pDLFVBQU8sUUFBUSxRQUFRLGlCQUFpQixVQUFVLFFBQVEsZ0JBQWdCOztBQUU1RSxTQUFPOztDQUdPLG9CQUFpQjtBQUMvQixRQUFNLG1CQUFtQjtBQUN6QixPQUFLLFNBQVM7QUFDZCxPQUFLLFVBQVUsZUFBZTtBQUM5QixPQUFLLFdBQVc7QUFDaEIsT0FBSyxhQUFhOzs7Ozs7Q0FPYixTQUFNO0FBQ1gsT0FBSyxXQUFXO0FBQ2hCLE9BQUssVUFBVSxlQUFlO0FBQzlCLE9BQUssVUFBVSxPQUFPLElBQUksV0FBVzs7Ozs7O0NBT2hDLFdBQVE7QUFDYixPQUFLLFdBQVc7QUFDaEIsT0FBSyxVQUFVLGVBQWU7QUFDOUIsT0FBSyxVQUFVLE9BQU8sT0FBTyxXQUFXOzs7Ozs7Q0FPbkMsVUFBVSxVQUFrQixTQUFpQixlQUFzQjtBQUN4RSxNQUFJLGNBQ0YsTUFBSyxhQUFhO0FBRXBCLE9BQUssVUFBVSxlQUFlLEdBQUc7QUFDakMsT0FBSyxVQUFVLGNBQWMsR0FBRzs7Q0FHMUIsY0FBVztFQUNqQixJQUFJLGNBQWMsS0FBSztBQUN2QixTQUFPLGVBQWUsWUFBWSxjQUFjLFdBQzlDLGVBQWMsWUFBWTtFQUc1QixNQUFNLFFBQVE7QUFDZCxPQUFLLFVBQVUsdUJBQXVCLG1CQUNwQyxLQUFLLFVBQVUsc0JBQ2YsS0FBSyxNQUNOO0FBQ0QsT0FBSyxRQUFRLGlCQUFpQixVQUFVLFFBQVE7QUFDaEQsT0FBSyxVQUFVLHVCQUF1QixtQkFDcEMsS0FBSyxVQUFVLHNCQUNmLEtBQUssTUFDTjs7Ozs7OztDQVFJLFFBQVEsT0FBYztBQUMzQixRQUFNLFdBQVc7O0NBR0EsU0FBTTtBQUN2QixTQUFPLElBQUk7NkNBQzhCLEtBQUssZ0JBQWdCLENBQUEifQ==
@@ -1,423 +0,0 @@
1
- import { __esDecorate, __runInitializers } from "tslib";
2
- import { html, unsafeCSS } from "lit";
3
- import { property } from "lit/decorators.js";
4
- import { SbbElement, SbbMediaMatcherController, SbbMediaQueryBreakpointLargeAndAbove, SbbMediaQueryBreakpointSmallAndAbove, SbbMediaQueryBreakpointUltraAndAbove, SbbMediaQueryBreakpointZeroAndAbove, forceType, getNextElementIndex, isArrowKeyPressed, isLean } from "./core.js";
5
- import { IntersectionController } from "@lit-labs/observers/intersection-controller.js";
6
- //#region src/elements/stepper/stepper/stepper.scss?inline
7
- var stepper_default = ":host {\n --sbb-stepper-animation-duration: var(\n --sbb-disable-animation-duration,\n var(--sbb-animation-duration-6x)\n );\n display: block;\n position: relative;\n counter-reset: step-label;\n}\n@media (forced-colors: active) {\n :host {\n --sbb-stepper-marker-color: ButtonText;\n }\n}\n\n:host(:is(:state(disable-animation),[state--disable-animation])) {\n --sbb-disable-animation-duration: 0s;\n}\n\n:host([orientation=vertical]) {\n --sbb-stepper-orientation: column;\n}\n\n.sbb-stepper__labels {\n display: flex;\n flex-direction: var(--sbb-stepper-orientation);\n position: relative;\n justify-content: start;\n margin-block-end: var(--sbb-spacing-responsive-m);\n}\n.sbb-stepper__labels::before {\n content: \"\";\n position: absolute;\n inset-inline-start: calc(var(--sbb-stepper-border-width) * -1);\n background-color: var(--sbb-stepper-marker-color);\n}\n:host([orientation=horizontal]) .sbb-stepper__labels {\n gap: var(--sbb-spacing-responsive-m);\n padding-block-end: var(--sbb-spacing-fixed-4x);\n border-block-end: var(--sbb-stepper-border-width) solid var(--sbb-border-color-4-inverted);\n}\n:host([orientation=horizontal]) .sbb-stepper__labels::before {\n inset-block-end: calc(var(--sbb-stepper-border-width) * -1);\n height: var(--sbb-stepper-marker-width);\n width: var(--sbb-stepper-marker-size, 0);\n transition: width var(--sbb-stepper-animation-duration) var(--sbb-animation-easing);\n}\n:host([orientation=vertical]) .sbb-stepper__labels {\n padding-inline-start: var(--sbb-spacing-fixed-4x);\n border-inline-start: var(--sbb-stepper-border-width) solid var(--sbb-border-color-4-inverted);\n}\n:host([orientation=vertical]) .sbb-stepper__labels::before {\n inset-block-start: 0;\n width: var(--sbb-stepper-marker-width);\n height: var(--sbb-stepper-marker-size, 0);\n transition: height var(--sbb-stepper-animation-duration) var(--sbb-animation-easing);\n}\n\n.sbb-stepper__steps {\n position: relative;\n}\n:host([orientation=horizontal]) .sbb-stepper__steps {\n height: var(--sbb-stepper-content-height);\n transition: height var(--sbb-stepper-animation-duration) var(--sbb-animation-easing);\n}\n\n::slotted(sbb-step-label)::before {\n content: counter(step-label);\n counter-increment: step-label;\n}";
8
- //#endregion
9
- //#region src/elements/stepper/stepper/stepper.component.ts
10
- var DEBOUNCE_TIME = 150;
11
- var breakpointMap = {
12
- zero: SbbMediaQueryBreakpointZeroAndAbove,
13
- small: SbbMediaQueryBreakpointSmallAndAbove,
14
- large: SbbMediaQueryBreakpointLargeAndAbove,
15
- ultra: SbbMediaQueryBreakpointUltraAndAbove
16
- };
17
- var SbbStepChangeEvent = class extends Event {
18
- constructor(selectedIndex, previousIndex, selectedStep, previousStep) {
19
- super("stepchange", {
20
- bubbles: true,
21
- composed: true
22
- });
23
- this.selectedIndex = selectedIndex;
24
- this.previousIndex = previousIndex;
25
- this.selectedStep = selectedStep;
26
- this.previousStep = previousStep;
27
- }
28
- };
29
- /**
30
- * Provides a structured, step-by-step workflow for user interactions.
31
- * @slot - Provide a `sbb-expansion-panel-header` and a `sbb-expansion-panel-content` to the stepper.
32
- * @slot step-label - Use this slot to provide an `sbb-step-label`.
33
- * @slot step - Use this slot to provide an `sbb-step`.
34
- * @event {SbbStepChangeEvent} stepchange - Emits whenever a step was changed.
35
- */
36
- var SbbStepperElement = (() => {
37
- let _classSuper = SbbElement;
38
- let _instanceExtraInitializers = [];
39
- let _linear_decorators;
40
- let _linear_initializers = [];
41
- let _linear_extraInitializers = [];
42
- let _set_horizontalFrom_decorators;
43
- let _orientation_decorators;
44
- let _orientation_initializers = [];
45
- let _orientation_extraInitializers = [];
46
- let _size_decorators;
47
- let _size_initializers = [];
48
- let _size_extraInitializers = [];
49
- let _set_selected_decorators;
50
- let _set_selectedIndex_decorators;
51
- return class SbbStepperElement extends _classSuper {
52
- static {
53
- const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
54
- _linear_decorators = [forceType(), property({ type: Boolean })];
55
- _set_horizontalFrom_decorators = [property({
56
- attribute: "horizontal-from",
57
- reflect: true
58
- })];
59
- _orientation_decorators = [property({ reflect: true })];
60
- _size_decorators = [property({ reflect: true })];
61
- _set_selected_decorators = [property({ attribute: false })];
62
- _set_selectedIndex_decorators = [property({
63
- attribute: "selected-index",
64
- type: Number
65
- })];
66
- __esDecorate(this, null, _linear_decorators, {
67
- kind: "accessor",
68
- name: "linear",
69
- static: false,
70
- private: false,
71
- access: {
72
- has: (obj) => "linear" in obj,
73
- get: (obj) => obj.linear,
74
- set: (obj, value) => {
75
- obj.linear = value;
76
- }
77
- },
78
- metadata: _metadata
79
- }, _linear_initializers, _linear_extraInitializers);
80
- __esDecorate(this, null, _set_horizontalFrom_decorators, {
81
- kind: "setter",
82
- name: "horizontalFrom",
83
- static: false,
84
- private: false,
85
- access: {
86
- has: (obj) => "horizontalFrom" in obj,
87
- set: (obj, value) => {
88
- obj.horizontalFrom = value;
89
- }
90
- },
91
- metadata: _metadata
92
- }, null, _instanceExtraInitializers);
93
- __esDecorate(this, null, _orientation_decorators, {
94
- kind: "accessor",
95
- name: "orientation",
96
- static: false,
97
- private: false,
98
- access: {
99
- has: (obj) => "orientation" in obj,
100
- get: (obj) => obj.orientation,
101
- set: (obj, value) => {
102
- obj.orientation = value;
103
- }
104
- },
105
- metadata: _metadata
106
- }, _orientation_initializers, _orientation_extraInitializers);
107
- __esDecorate(this, null, _size_decorators, {
108
- kind: "accessor",
109
- name: "size",
110
- static: false,
111
- private: false,
112
- access: {
113
- has: (obj) => "size" in obj,
114
- get: (obj) => obj.size,
115
- set: (obj, value) => {
116
- obj.size = value;
117
- }
118
- },
119
- metadata: _metadata
120
- }, _size_initializers, _size_extraInitializers);
121
- __esDecorate(this, null, _set_selected_decorators, {
122
- kind: "setter",
123
- name: "selected",
124
- static: false,
125
- private: false,
126
- access: {
127
- has: (obj) => "selected" in obj,
128
- set: (obj, value) => {
129
- obj.selected = value;
130
- }
131
- },
132
- metadata: _metadata
133
- }, null, _instanceExtraInitializers);
134
- __esDecorate(this, null, _set_selectedIndex_decorators, {
135
- kind: "setter",
136
- name: "selectedIndex",
137
- static: false,
138
- private: false,
139
- access: {
140
- has: (obj) => "selectedIndex" in obj,
141
- set: (obj, value) => {
142
- obj.selectedIndex = value;
143
- }
144
- },
145
- metadata: _metadata
146
- }, null, _instanceExtraInitializers);
147
- if (_metadata) Object.defineProperty(this, Symbol.metadata, {
148
- enumerable: true,
149
- configurable: true,
150
- writable: true,
151
- value: _metadata
152
- });
153
- }
154
- static {
155
- this.elementName = "sbb-stepper";
156
- }
157
- static {
158
- this.styles = [unsafeCSS(stepper_default)];
159
- }
160
- static {
161
- this.events = { stepchange: "stepchange" };
162
- }
163
- #linear_accessor_storage;
164
- /** If set to true, only the current and previous labels can be clicked and selected. */
165
- get linear() {
166
- return this.#linear_accessor_storage;
167
- }
168
- set linear(value) {
169
- this.#linear_accessor_storage = value;
170
- }
171
- /** Overrides the behavior of `orientation` property. */
172
- set horizontalFrom(value) {
173
- this._horizontalFrom = value && breakpointMap[value] ? value : null;
174
- if (this._horizontalFrom && this._loaded) this._checkOrientation();
175
- }
176
- get horizontalFrom() {
177
- return this._horizontalFrom;
178
- }
179
- #orientation_accessor_storage;
180
- /** Steps orientation, either horizontal or vertical. */
181
- get orientation() {
182
- return this.#orientation_accessor_storage;
183
- }
184
- set orientation(value) {
185
- this.#orientation_accessor_storage = value;
186
- }
187
- #size_accessor_storage;
188
- /**
189
- * Size variant, either s or m.
190
- * @default 'm' / 's' (lean)
191
- */
192
- get size() {
193
- return this.#size_accessor_storage;
194
- }
195
- set size(value) {
196
- this.#size_accessor_storage = value;
197
- }
198
- /** The currently selected step. */
199
- set selected(step) {
200
- if (this._loaded) this._select(step);
201
- this._requestedSelected = step;
202
- }
203
- get selected() {
204
- return this.querySelector?.("sbb-step:is(:state(selected),[state--selected])") ?? null;
205
- }
206
- /** The currently selected step index. */
207
- set selectedIndex(index) {
208
- if (this._loaded && index !== null) this._select(this.steps[index]);
209
- this._requestedSelectedIndex = index;
210
- }
211
- get selectedIndex() {
212
- return this.selected ? this.steps.indexOf(this.selected) : null;
213
- }
214
- /** The steps of the stepper. */
215
- get steps() {
216
- const steps = [];
217
- this.querySelectorAll?.("sbb-step").forEach((step) => {
218
- customElements.upgrade(step);
219
- steps.push(step);
220
- });
221
- return steps;
222
- }
223
- get _enabledSteps() {
224
- return this.steps.filter((s) => {
225
- if (s.label) {
226
- customElements.upgrade(s.label);
227
- return !s.label.disabled;
228
- }
229
- return false;
230
- });
231
- }
232
- constructor() {
233
- super();
234
- /**
235
- * If the sbb-stepper is used in a sbb-dialog, the marker on the selected element will not appear,
236
- * because the calculations are done when the dialog is closed, so the marker has a width of 0;
237
- * the same happens for the stepper height.
238
- * We need to recalculate it when the element becomes visible.
239
- */
240
- this._observer = (__runInitializers(this, _instanceExtraInitializers), new IntersectionController(this, {
241
- target: null,
242
- callback: (entries) => {
243
- entries.forEach((e) => {
244
- if (e.intersectionRatio > 0) {
245
- this._setStepperHeight(this.selected);
246
- this._setMarkerSize();
247
- }
248
- });
249
- }
250
- }));
251
- this.#linear_accessor_storage = __runInitializers(this, _linear_initializers, false);
252
- this._horizontalFrom = (__runInitializers(this, _linear_extraInitializers), null);
253
- this.#orientation_accessor_storage = __runInitializers(this, _orientation_initializers, "horizontal");
254
- this.#size_accessor_storage = (__runInitializers(this, _orientation_extraInitializers), __runInitializers(this, _size_initializers, isLean() ? "s" : "m"));
255
- this._requestedSelected = (__runInitializers(this, _size_extraInitializers), null);
256
- this._requestedSelectedIndex = null;
257
- this._loaded = false;
258
- this._resizeObserverTimeout = null;
259
- this._mediaMatcher = new SbbMediaMatcherController(this, {});
260
- this._onStepperResize = () => {
261
- this._checkOrientation();
262
- this._setStepperHeight(this.selected);
263
- clearTimeout(this._resizeObserverTimeout);
264
- this.internals.states.add("disable-animation");
265
- this._resizeObserverTimeout = setTimeout(() => this.internals.states.delete("disable-animation"), DEBOUNCE_TIME);
266
- };
267
- this.addEventListener?.("keydown", (e) => this._handleKeyDown(e));
268
- this.addEventListener?.("resizechange", (e) => this._onSelectedStepResize(e));
269
- }
270
- /** Selects the next step. */
271
- next() {
272
- if (this.selectedIndex !== null) this._select(this.steps[this.selectedIndex + 1]);
273
- }
274
- /** Selects the previous step. */
275
- previous() {
276
- if (this.selectedIndex !== null) this._select(this.steps[this.selectedIndex - 1]);
277
- }
278
- /** Resets the form in which the stepper is nested or every form of each step, if any. */
279
- reset() {
280
- const closestForm = this.closest("form");
281
- if (closestForm) closestForm.reset();
282
- else this.querySelectorAll("form").forEach((form) => form.reset());
283
- this.selectedIndex = 0;
284
- if (document.activeElement?.closest("sbb-stepper") === this) this.selected?.label?.focus();
285
- }
286
- _isSelectable(step) {
287
- if (step) {
288
- customElements.upgrade(step);
289
- if (step.label) {
290
- customElements.upgrade(step.label);
291
- if (!this.linear && step.label.disabled) return false;
292
- }
293
- return true;
294
- } else return false;
295
- }
296
- _select(step) {
297
- if (!this._isSelectable(step) || step === this.selected) return;
298
- const currentIndex = this.selectedIndex;
299
- const currentStep = this.selected;
300
- const validatePayload = {
301
- currentIndex,
302
- currentStep,
303
- nextIndex: this.selectedIndex !== null ? this.selectedIndex + 1 : null,
304
- nextStep: this.selectedIndex !== null ? this.steps[this.selectedIndex + 1] : null
305
- };
306
- if (this.selected && !this.selected.validate(validatePayload)) return;
307
- this.selected?.deselect();
308
- step.select();
309
- /** @internal only to provide double entry in docs. It is a public event! */
310
- this.dispatchEvent(new SbbStepChangeEvent(this.selectedIndex, currentIndex, this.selected, currentStep));
311
- this._setMarkerSize();
312
- this._setStepperHeight(step);
313
- this._configureLinearMode();
314
- if (document.activeElement?.closest("sbb-stepper") === this) this.selected?.label?.focus();
315
- }
316
- _setMarkerSize() {
317
- if (!this._loaded || !this.selected || this.selectedIndex === void 0 || !this.selected.label) return;
318
- const offset = this.orientation === "horizontal" ? this.selected.label.offsetLeft + this.selected.label.offsetWidth : this._calculateLabelOffsetTop();
319
- this.style.setProperty("--sbb-stepper-marker-size", `${offset}px`);
320
- }
321
- /**
322
- * Sets the stepper height based on the height of the provided step.
323
- */
324
- _setStepperHeight(step) {
325
- if (step && step.shadowRoot) {
326
- const innerElement = step.shadowRoot.querySelector(".sbb-step");
327
- if (innerElement) this.style?.setProperty("--sbb-stepper-content-height", `${innerElement.offsetHeight}px`);
328
- }
329
- }
330
- _calculateLabelOffsetTop() {
331
- if (this.selectedIndex === null) return;
332
- let offset = 0;
333
- for (const step of this.steps) {
334
- if (step === this.selected) break;
335
- offset = step.label.offsetHeight + offset;
336
- }
337
- return offset + this.selected.label.offsetHeight + parseFloat(getComputedStyle(this).getPropertyValue("--sbb-spacing-fixed-6x")) * 16 * this.selectedIndex;
338
- }
339
- _onSelectedStepResize(e) {
340
- this._setStepperHeight(e.target);
341
- }
342
- _configure() {
343
- this.steps.forEach((step, i, array) => {
344
- step.configure(this._loaded);
345
- step.label?.configure(i + 1, array.length, this._loaded);
346
- });
347
- this._select(this.selected || this._enabledSteps[0]);
348
- }
349
- _updateLabels() {
350
- this.steps.forEach((step) => {
351
- step.slot = this.orientation === "horizontal" ? "step" : "step-label";
352
- });
353
- }
354
- _checkOrientation() {
355
- if (this.horizontalFrom) {
356
- this.orientation = this._mediaMatcher.matches(breakpointMap[this.horizontalFrom]) ? "horizontal" : "vertical";
357
- this._updateLabels();
358
- }
359
- setTimeout(() => this._setMarkerSize(), 0);
360
- }
361
- _configureLinearMode() {
362
- this.steps.forEach((step, index) => {
363
- if (!step.label) return;
364
- customElements.upgrade(step.label);
365
- step.label.disable(this.linear && index > this.selectedIndex || !this.linear && step.label.matches(":is(:state(user-disabled),[state--user-disabled])"));
366
- });
367
- }
368
- connectedCallback() {
369
- super.connectedCallback();
370
- window.addEventListener("resize", this._onStepperResize, { passive: true });
371
- this.toggleState("disable-animation", !this._loaded);
372
- }
373
- disconnectedCallback() {
374
- super.disconnectedCallback();
375
- window.removeEventListener("resize", this._onStepperResize);
376
- }
377
- firstUpdated(changedProperties) {
378
- super.firstUpdated(changedProperties);
379
- this.updateComplete.then(() => {
380
- this._loaded = true;
381
- this._configure();
382
- if (this._requestedSelected && this.steps.indexOf(this._requestedSelected) !== -1) this.selectedIndex = this.steps.indexOf(this._requestedSelected);
383
- else if (this._requestedSelectedIndex) this.selectedIndex = this._requestedSelectedIndex;
384
- else this.selectedIndex = 0;
385
- this._observer.observe(this);
386
- this._checkOrientation();
387
- setTimeout(() => this.internals.states.delete("disable-animation"), DEBOUNCE_TIME);
388
- });
389
- }
390
- willUpdate(changedProperties) {
391
- super.willUpdate(changedProperties);
392
- if (changedProperties.has("orientation") && !this.horizontalFrom) {
393
- this._updateLabels();
394
- this._setMarkerSize();
395
- }
396
- if (changedProperties.has("linear") && this._loaded) this._configureLinearMode();
397
- if (changedProperties.has("size")) this._setMarkerSize();
398
- }
399
- _handleKeyDown(evt) {
400
- const enabledSteps = this._enabledSteps;
401
- if (!enabledSteps || evt.target !== this && evt.target.parentElement !== this) return;
402
- if (isArrowKeyPressed(evt)) {
403
- const nextIndex = getNextElementIndex(evt, enabledSteps.indexOf(this.selected), enabledSteps.length);
404
- this._select(enabledSteps[nextIndex]);
405
- evt.preventDefault();
406
- }
407
- }
408
- render() {
409
- return html`
410
- <div class="sbb-stepper__labels" role="tablist">
411
- <slot name="step-label" @slotchange=${this._configure}></slot>
412
- </div>
413
- <div class="sbb-stepper__steps">
414
- <slot name="step" @slotchange=${this._configure}></slot>
415
- </div>
416
- `;
417
- }
418
- };
419
- })();
420
- //#endregion
421
- export { SbbStepperElement as n, SbbStepChangeEvent as t };
422
-
423
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHBlci5jb21wb25lbnQtQm5DVW9ZdjYuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3N0ZXBwZXIvc3RlcHBlci9zdGVwcGVyLnNjc3M/aW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3N0ZXBwZXIvc3RlcHBlci9zdGVwcGVyLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICcuLi8uLi9jb3JlL3N0eWxlcycgYXMgc2JiO1xuXG46aG9zdCB7XG4gIC0tc2JiLXN0ZXBwZXItYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoXG4gICAgLS1zYmItZGlzYWJsZS1hbmltYXRpb24tZHVyYXRpb24sXG4gICAgdmFyKC0tc2JiLWFuaW1hdGlvbi1kdXJhdGlvbi02eClcbiAgKTtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjb3VudGVyLXJlc2V0OiBzdGVwLWxhYmVsO1xuXG4gIEBpbmNsdWRlIHNiYi5pZi1mb3JjZWQtY29sb3JzIHtcbiAgICAtLXNiYi1zdGVwcGVyLW1hcmtlci1jb2xvcjogQnV0dG9uVGV4dDtcbiAgfVxufVxuXG46aG9zdCg6c3RhdGUoZGlzYWJsZS1hbmltYXRpb24pKSB7XG4gIEBpbmNsdWRlIHNiYi5kaXNhYmxlLWFuaW1hdGlvbjtcbn1cblxuOmhvc3QoW29yaWVudGF0aW9uPSd2ZXJ0aWNhbCddKSB7XG4gIC0tc2JiLXN0ZXBwZXItb3JpZW50YXRpb246IGNvbHVtbjtcbn1cblxuLnNiYi1zdGVwcGVyX19sYWJlbHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogdmFyKC0tc2JiLXN0ZXBwZXItb3JpZW50YXRpb24pO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGp1c3RpZnktY29udGVudDogc3RhcnQ7XG4gIG1hcmdpbi1ibG9jay1lbmQ6IHZhcigtLXNiYi1zcGFjaW5nLXJlc3BvbnNpdmUtbSk7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQtaW5saW5lLXN0YXJ0OiBjYWxjKHZhcigtLXNiYi1zdGVwcGVyLWJvcmRlci13aWR0aCkgKiAtMSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLXN0ZXBwZXItbWFya2VyLWNvbG9yKTtcbiAgfVxuXG4gIDpob3N0KFtvcmllbnRhdGlvbj0naG9yaXpvbnRhbCddKSAmIHtcbiAgICBnYXA6IHZhcigtLXNiYi1zcGFjaW5nLXJlc3BvbnNpdmUtbSk7XG4gICAgcGFkZGluZy1ibG9jay1lbmQ6IHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTR4KTtcbiAgICBib3JkZXItYmxvY2stZW5kOiB2YXIoLS1zYmItc3RlcHBlci1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLXNiYi1ib3JkZXItY29sb3ItNC1pbnZlcnRlZCk7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgaW5zZXQtYmxvY2stZW5kOiBjYWxjKHZhcigtLXNiYi1zdGVwcGVyLWJvcmRlci13aWR0aCkgKiAtMSk7XG4gICAgICBoZWlnaHQ6IHZhcigtLXNiYi1zdGVwcGVyLW1hcmtlci13aWR0aCk7XG4gICAgICB3aWR0aDogdmFyKC0tc2JiLXN0ZXBwZXItbWFya2VyLXNpemUsIDApO1xuICAgICAgdHJhbnNpdGlvbjogd2lkdGggdmFyKC0tc2JiLXN0ZXBwZXItYW5pbWF0aW9uLWR1cmF0aW9uKSB2YXIoLS1zYmItYW5pbWF0aW9uLWVhc2luZyk7XG4gICAgfVxuICB9XG5cbiAgOmhvc3QoW29yaWVudGF0aW9uPSd2ZXJ0aWNhbCddKSAmIHtcbiAgICBwYWRkaW5nLWlubGluZS1zdGFydDogdmFyKC0tc2JiLXNwYWNpbmctZml4ZWQtNHgpO1xuICAgIGJvcmRlci1pbmxpbmUtc3RhcnQ6IHZhcigtLXNiYi1zdGVwcGVyLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tc2JiLWJvcmRlci1jb2xvci00LWludmVydGVkKTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBpbnNldC1ibG9jay1zdGFydDogMDtcbiAgICAgIHdpZHRoOiB2YXIoLS1zYmItc3RlcHBlci1tYXJrZXItd2lkdGgpO1xuICAgICAgaGVpZ2h0OiB2YXIoLS1zYmItc3RlcHBlci1tYXJrZXItc2l6ZSwgMCk7XG4gICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgdmFyKC0tc2JiLXN0ZXBwZXItYW5pbWF0aW9uLWR1cmF0aW9uKSB2YXIoLS1zYmItYW5pbWF0aW9uLWVhc2luZyk7XG4gICAgfVxuICB9XG59XG5cbi5zYmItc3RlcHBlcl9fc3RlcHMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgOmhvc3QoW29yaWVudGF0aW9uPSdob3Jpem9udGFsJ10pICYge1xuICAgIGhlaWdodDogdmFyKC0tc2JiLXN0ZXBwZXItY29udGVudC1oZWlnaHQpO1xuICAgIHRyYW5zaXRpb246IGhlaWdodCB2YXIoLS1zYmItc3RlcHBlci1hbmltYXRpb24tZHVyYXRpb24pIHZhcigtLXNiYi1hbmltYXRpb24tZWFzaW5nKTtcbiAgfVxufVxuXG46OnNsb3R0ZWQoc2JiLXN0ZXAtbGFiZWwpOjpiZWZvcmUge1xuICBjb250ZW50OiBjb3VudGVyKHN0ZXAtbGFiZWwpO1xuICBjb3VudGVyLWluY3JlbWVudDogc3RlcC1sYWJlbDtcbn1cbiIsImltcG9ydCB7IEludGVyc2VjdGlvbkNvbnRyb2xsZXIgfSBmcm9tICdAbGl0LWxhYnMvb2JzZXJ2ZXJzL2ludGVyc2VjdGlvbi1jb250cm9sbGVyLmpzJztcbmltcG9ydCB7XG4gIHR5cGUgQ1NTUmVzdWx0R3JvdXAsXG4gIGh0bWwsXG4gIHR5cGUgUHJvcGVydHlWYWx1ZXMsXG4gIHR5cGUgVGVtcGxhdGVSZXN1bHQsXG4gIHVuc2FmZUNTUyxcbn0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgdHlwZSB7IFNiYkhvcml6b250YWxGcm9tLCBTYmJPcmllbnRhdGlvbiB9IGZyb20gJy4uLy4uL2NvcmUudHMnO1xuaW1wb3J0IHtcbiAgZm9yY2VUeXBlLFxuICBnZXROZXh0RWxlbWVudEluZGV4LFxuICBpc0Fycm93S2V5UHJlc3NlZCxcbiAgaXNMZWFuLFxuICBTYmJFbGVtZW50LFxuICBTYmJNZWRpYU1hdGNoZXJDb250cm9sbGVyLFxuICBTYmJNZWRpYVF1ZXJ5QnJlYWtwb2ludExhcmdlQW5kQWJvdmUsXG4gIFNiYk1lZGlhUXVlcnlCcmVha3BvaW50U21hbGxBbmRBYm92ZSxcbiAgU2JiTWVkaWFRdWVyeUJyZWFrcG9pbnRVbHRyYUFuZEFib3ZlLFxuICBTYmJNZWRpYVF1ZXJ5QnJlYWtwb2ludFplcm9BbmRBYm92ZSxcbn0gZnJvbSAnLi4vLi4vY29yZS50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYlN0ZXBFbGVtZW50LCBTYmJTdGVwVmFsaWRhdGVFdmVudERldGFpbHMgfSBmcm9tICcuLi9zdGVwL3N0ZXAuY29tcG9uZW50LnRzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vc3RlcHBlci5zY3NzP2lubGluZSc7XG5cbmNvbnN0IERFQk9VTkNFX1RJTUUgPSAxNTA7XG5cbmNvbnN0IGJyZWFrcG9pbnRNYXA6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIHplcm86IFNiYk1lZGlhUXVlcnlCcmVha3BvaW50WmVyb0FuZEFib3ZlLFxuICBzbWFsbDogU2JiTWVkaWFRdWVyeUJyZWFrcG9pbnRTbWFsbEFuZEFib3ZlLFxuICBsYXJnZTogU2JiTWVkaWFRdWVyeUJyZWFrcG9pbnRMYXJnZUFuZEFib3ZlLFxuICB1bHRyYTogU2JiTWVkaWFRdWVyeUJyZWFrcG9pbnRVbHRyYUFuZEFib3ZlLFxufTtcblxuZXhwb3J0IGNsYXNzIFNiYlN0ZXBDaGFuZ2VFdmVudCBleHRlbmRzIEV2ZW50IHtcbiAgLyoqIFRoZSBpbmRleCBvZiB0aGUgbmV3bHkgc2VsZWN0ZWQgc3RlcC4gKi9cbiAgcHVibGljIHJlYWRvbmx5IHNlbGVjdGVkSW5kZXg6IG51bWJlciB8IG51bGw7XG5cbiAgLyoqIFRoZSBpbmRleCBvZiB0aGUgcHJldmlvdXNseSBzZWxlY3RlZCBzdGVwLiAqL1xuICBwdWJsaWMgcmVhZG9ubHkgcHJldmlvdXNJbmRleDogbnVtYmVyIHwgbnVsbDtcblxuICAvKiogVGhlIG5ld2x5IHNlbGVjdGVkIHN0ZXAgZWxlbWVudC4gKi9cbiAgcHVibGljIHJlYWRvbmx5IHNlbGVjdGVkU3RlcDogU2JiU3RlcEVsZW1lbnQgfCBudWxsO1xuXG4gIC8qKiBUaGUgcHJldmlvdXNseSBzZWxlY3RlZCBzdGVwIGVsZW1lbnQuICovXG4gIHB1YmxpYyByZWFkb25seSBwcmV2aW91c1N0ZXA6IFNiYlN0ZXBFbGVtZW50IHwgbnVsbDtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgc2VsZWN0ZWRJbmRleDogbnVtYmVyIHwgbnVsbCxcbiAgICBwcmV2aW91c0luZGV4OiBudW1iZXIgfCBudWxsLFxuICAgIHNlbGVjdGVkU3RlcDogU2JiU3RlcEVsZW1lbnQgfCBudWxsLFxuICAgIHByZXZpb3VzU3RlcDogU2JiU3RlcEVsZW1lbnQgfCBudWxsLFxuICApIHtcbiAgICBzdXBlcignc3RlcGNoYW5nZScsIHsgYnViYmxlczogdHJ1ZSwgY29tcG9zZWQ6IHRydWUgfSk7XG4gICAgdGhpcy5zZWxlY3RlZEluZGV4ID0gc2VsZWN0ZWRJbmRleDtcbiAgICB0aGlzLnByZXZpb3VzSW5kZXggPSBwcmV2aW91c0luZGV4O1xuICAgIHRoaXMuc2VsZWN0ZWRTdGVwID0gc2VsZWN0ZWRTdGVwO1xuICAgIHRoaXMucHJldmlvdXNTdGVwID0gcHJldmlvdXNTdGVwO1xuICB9XG59XG4vKipcbiAqIFByb3ZpZGVzIGEgc3RydWN0dXJlZCwgc3RlcC1ieS1zdGVwIHdvcmtmbG93IGZvciB1c2VyIGludGVyYWN0aW9ucy5cbiAqIEBzbG90IC0gUHJvdmlkZSBhIGBzYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlcmAgYW5kIGEgYHNiYi1leHBhbnNpb24tcGFuZWwtY29udGVudGAgdG8gdGhlIHN0ZXBwZXIuXG4gKiBAc2xvdCBzdGVwLWxhYmVsIC0gVXNlIHRoaXMgc2xvdCB0byBwcm92aWRlIGFuIGBzYmItc3RlcC1sYWJlbGAuXG4gKiBAc2xvdCBzdGVwIC0gVXNlIHRoaXMgc2xvdCB0byBwcm92aWRlIGFuIGBzYmItc3RlcGAuXG4gKiBAZXZlbnQge1NiYlN0ZXBDaGFuZ2VFdmVudH0gc3RlcGNoYW5nZSAtIEVtaXRzIHdoZW5ldmVyIGEgc3RlcCB3YXMgY2hhbmdlZC5cbiAqL1xuZXhwb3J0IGNsYXNzIFNiYlN0ZXBwZXJFbGVtZW50IGV4dGVuZHMgU2JiRWxlbWVudCB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItc3RlcHBlcic7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IFt1bnNhZmVDU1Moc3R5bGUpXTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBldmVudHMgPSB7XG4gICAgc3RlcGNoYW5nZTogJ3N0ZXBjaGFuZ2UnLFxuICB9IGFzIGNvbnN0O1xuXG4gIC8qKlxuICAgKiBJZiB0aGUgc2JiLXN0ZXBwZXIgaXMgdXNlZCBpbiBhIHNiYi1kaWFsb2csIHRoZSBtYXJrZXIgb24gdGhlIHNlbGVjdGVkIGVsZW1lbnQgd2lsbCBub3QgYXBwZWFyLFxuICAgKiBiZWNhdXNlIHRoZSBjYWxjdWxhdGlvbnMgYXJlIGRvbmUgd2hlbiB0aGUgZGlhbG9nIGlzIGNsb3NlZCwgc28gdGhlIG1hcmtlciBoYXMgYSB3aWR0aCBvZiAwO1xuICAgKiB0aGUgc2FtZSBoYXBwZW5zIGZvciB0aGUgc3RlcHBlciBoZWlnaHQuXG4gICAqIFdlIG5lZWQgdG8gcmVjYWxjdWxhdGUgaXQgd2hlbiB0aGUgZWxlbWVudCBiZWNvbWVzIHZpc2libGUuXG4gICAqL1xuICBwcml2YXRlIF9vYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25Db250cm9sbGVyKHRoaXMsIHtcbiAgICB0YXJnZXQ6IG51bGwsXG4gICAgY2FsbGJhY2s6IChlbnRyaWVzKSA9PiB7XG4gICAgICBlbnRyaWVzLmZvckVhY2goKGUpID0+IHtcbiAgICAgICAgaWYgKGUuaW50ZXJzZWN0aW9uUmF0aW8gPiAwKSB7XG4gICAgICAgICAgdGhpcy5fc2V0U3RlcHBlckhlaWdodCh0aGlzLnNlbGVjdGVkKTtcbiAgICAgICAgICB0aGlzLl9zZXRNYXJrZXJTaXplKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0sXG4gIH0pO1xuXG4gIC8qKiBJZiBzZXQgdG8gdHJ1ZSwgb25seSB0aGUgY3VycmVudCBhbmQgcHJldmlvdXMgbGFiZWxzIGNhbiBiZSBjbGlja2VkIGFuZCBzZWxlY3RlZC4gKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IHR5cGU6IEJvb2xlYW4gfSlcbiAgcHVibGljIGFjY2Vzc29yIGxpbmVhcjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBPdmVycmlkZXMgdGhlIGJlaGF2aW9yIG9mIGBvcmllbnRhdGlvbmAgcHJvcGVydHkuICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2hvcml6b250YWwtZnJvbScsIHJlZmxlY3Q6IHRydWUgfSlcbiAgcHVibGljIHNldCBob3Jpem9udGFsRnJvbSh2YWx1ZTogU2JiSG9yaXpvbnRhbEZyb20gfCBudWxsKSB7XG4gICAgdGhpcy5faG9yaXpvbnRhbEZyb20gPSB2YWx1ZSAmJiBicmVha3BvaW50TWFwW3ZhbHVlXSA/IHZhbHVlIDogbnVsbDtcbiAgICBpZiAodGhpcy5faG9yaXpvbnRhbEZyb20gJiYgdGhpcy5fbG9hZGVkKSB7XG4gICAgICB0aGlzLl9jaGVja09yaWVudGF0aW9uKCk7XG4gICAgfVxuICB9XG4gIHB1YmxpYyBnZXQgaG9yaXpvbnRhbEZyb20oKTogU2JiSG9yaXpvbnRhbEZyb20gfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5faG9yaXpvbnRhbEZyb207XG4gIH1cbiAgcHJpdmF0ZSBfaG9yaXpvbnRhbEZyb206IFNiYkhvcml6b250YWxGcm9tIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqIFN0ZXBzIG9yaWVudGF0aW9uLCBlaXRoZXIgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbC4gKi9cbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSB9KVxuICBwdWJsaWMgYWNjZXNzb3Igb3JpZW50YXRpb246IFNiYk9yaWVudGF0aW9uID0gJ2hvcml6b250YWwnO1xuXG4gIC8qKlxuICAgKiBTaXplIHZhcmlhbnQsIGVpdGhlciBzIG9yIG0uXG4gICAqIEBkZWZhdWx0ICdtJyAvICdzJyAobGVhbilcbiAgICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIGFjY2Vzc29yIHNpemU6ICdzJyB8ICdtJyA9IGlzTGVhbigpID8gJ3MnIDogJ20nO1xuXG4gIC8qKiBUaGUgY3VycmVudGx5IHNlbGVjdGVkIHN0ZXAuICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogZmFsc2UgfSlcbiAgcHVibGljIHNldCBzZWxlY3RlZChzdGVwOiBTYmJTdGVwRWxlbWVudCB8IG51bGwpIHtcbiAgICBpZiAodGhpcy5fbG9hZGVkKSB7XG4gICAgICB0aGlzLl9zZWxlY3Qoc3RlcCk7XG4gICAgfVxuICAgIHRoaXMuX3JlcXVlc3RlZFNlbGVjdGVkID0gc3RlcDtcbiAgfVxuICBwdWJsaWMgZ2V0IHNlbGVjdGVkKCk6IFNiYlN0ZXBFbGVtZW50IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMucXVlcnlTZWxlY3Rvcj8uPFNiYlN0ZXBFbGVtZW50Pignc2JiLXN0ZXA6c3RhdGUoc2VsZWN0ZWQpJykgPz8gbnVsbDtcbiAgfVxuICBwcml2YXRlIF9yZXF1ZXN0ZWRTZWxlY3RlZDogU2JiU3RlcEVsZW1lbnQgfCBudWxsID0gbnVsbDtcblxuICAvKiogVGhlIGN1cnJlbnRseSBzZWxlY3RlZCBzdGVwIGluZGV4LiAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdzZWxlY3RlZC1pbmRleCcsIHR5cGU6IE51bWJlciB9KVxuICBwdWJsaWMgc2V0IHNlbGVjdGVkSW5kZXgoaW5kZXg6IG51bWJlciB8IG51bGwpIHtcbiAgICBpZiAodGhpcy5fbG9hZGVkICYmIGluZGV4ICE9PSBudWxsKSB7XG4gICAgICB0aGlzLl9zZWxlY3QodGhpcy5zdGVwc1tpbmRleF0pO1xuICAgIH1cbiAgICB0aGlzLl9yZXF1ZXN0ZWRTZWxlY3RlZEluZGV4ID0gaW5kZXg7XG4gIH1cbiAgcHVibGljIGdldCBzZWxlY3RlZEluZGV4KCk6IG51bWJlciB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkID8gdGhpcy5zdGVwcy5pbmRleE9mKHRoaXMuc2VsZWN0ZWQpIDogbnVsbDtcbiAgfVxuICBwcml2YXRlIF9yZXF1ZXN0ZWRTZWxlY3RlZEluZGV4OiBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICAvKiogVGhlIHN0ZXBzIG9mIHRoZSBzdGVwcGVyLiAqL1xuICBwdWJsaWMgZ2V0IHN0ZXBzKCk6IFNiYlN0ZXBFbGVtZW50W10ge1xuICAgIGNvbnN0IHN0ZXBzOiBTYmJTdGVwRWxlbWVudFtdID0gW107XG4gICAgdGhpcy5xdWVyeVNlbGVjdG9yQWxsPy4oJ3NiYi1zdGVwJykuZm9yRWFjaCgoc3RlcCkgPT4ge1xuICAgICAgY3VzdG9tRWxlbWVudHMudXBncmFkZShzdGVwKTtcbiAgICAgIHN0ZXBzLnB1c2goc3RlcCk7XG4gICAgfSk7XG4gICAgcmV0dXJuIHN0ZXBzO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgX2VuYWJsZWRTdGVwcygpOiBTYmJTdGVwRWxlbWVudFtdIHtcbiAgICByZXR1cm4gdGhpcy5zdGVwcy5maWx0ZXIoKHMpID0+IHtcbiAgICAgIGlmIChzLmxhYmVsKSB7XG4gICAgICAgIGN1c3RvbUVsZW1lbnRzLnVwZ3JhZGUocy5sYWJlbCk7XG4gICAgICAgIHJldHVybiAhcy5sYWJlbC5kaXNhYmxlZDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2xvYWRlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBwcml2YXRlIF9yZXNpemVPYnNlcnZlclRpbWVvdXQ6IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+IHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgX21lZGlhTWF0Y2hlciA9IG5ldyBTYmJNZWRpYU1hdGNoZXJDb250cm9sbGVyKHRoaXMsIHt9KTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/Ligna2V5ZG93bicsIChlKSA9PiB0aGlzLl9oYW5kbGVLZXlEb3duKGUpKTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LigncmVzaXplY2hhbmdlJywgKGU6IEV2ZW50KSA9PiB0aGlzLl9vblNlbGVjdGVkU3RlcFJlc2l6ZShlKSk7XG4gIH1cblxuICAvKiogU2VsZWN0cyB0aGUgbmV4dCBzdGVwLiAqL1xuICBwdWJsaWMgbmV4dCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zZWxlY3RlZEluZGV4ICE9PSBudWxsKSB7XG4gICAgICB0aGlzLl9zZWxlY3QodGhpcy5zdGVwc1t0aGlzLnNlbGVjdGVkSW5kZXggKyAxXSk7XG4gICAgfVxuICB9XG5cbiAgLyoqIFNlbGVjdHMgdGhlIHByZXZpb3VzIHN0ZXAuICovXG4gIHB1YmxpYyBwcmV2aW91cygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zZWxlY3RlZEluZGV4ICE9PSBudWxsKSB7XG4gICAgICB0aGlzLl9zZWxlY3QodGhpcy5zdGVwc1t0aGlzLnNlbGVjdGVkSW5kZXggLSAxXSk7XG4gICAgfVxuICB9XG5cbiAgLyoqIFJlc2V0cyB0aGUgZm9ybSBpbiB3aGljaCB0aGUgc3RlcHBlciBpcyBuZXN0ZWQgb3IgZXZlcnkgZm9ybSBvZiBlYWNoIHN0ZXAsIGlmIGFueS4gKi9cbiAgcHVibGljIHJlc2V0KCk6IHZvaWQge1xuICAgIGNvbnN0IGNsb3Nlc3RGb3JtID0gdGhpcy5jbG9zZXN0KCdmb3JtJyk7XG4gICAgaWYgKGNsb3Nlc3RGb3JtKSB7XG4gICAgICBjbG9zZXN0Rm9ybS5yZXNldCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnF1ZXJ5U2VsZWN0b3JBbGwoJ2Zvcm0nKS5mb3JFYWNoKChmb3JtKSA9PiBmb3JtLnJlc2V0KCkpO1xuICAgIH1cbiAgICB0aGlzLnNlbGVjdGVkSW5kZXggPSAwO1xuICAgIC8vIEluIGNhc2UgdGhlIGZvY3VzIGlzIGN1cnJlbnRseSBpbnNpZGUgdGhlIHN0ZXBwZXIsIHdlIHJlc2V0IHRoZSBmb2N1cyB0byB0aGUgZmlyc3Qvc2VsZWN0ZWQgc3RlcCBsYWJlbC5cbiAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudD8uY2xvc2VzdCgnc2JiLXN0ZXBwZXInKSA9PT0gdGhpcykge1xuICAgICAgdGhpcy5zZWxlY3RlZD8ubGFiZWw/LmZvY3VzKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaXNTZWxlY3RhYmxlKHN0ZXA6IFNiYlN0ZXBFbGVtZW50IHwgbnVsbCk6IHN0ZXAgaXMgU2JiU3RlcEVsZW1lbnQge1xuICAgIGlmIChzdGVwKSB7XG4gICAgICBjdXN0b21FbGVtZW50cy51cGdyYWRlKHN0ZXApO1xuICAgICAgaWYgKHN0ZXAubGFiZWwpIHtcbiAgICAgICAgY3VzdG9tRWxlbWVudHMudXBncmFkZShzdGVwLmxhYmVsKTtcbiAgICAgICAgaWYgKCF0aGlzLmxpbmVhciAmJiBzdGVwLmxhYmVsLmRpc2FibGVkKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3NlbGVjdChzdGVwOiBTYmJTdGVwRWxlbWVudCB8IG51bGwpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX2lzU2VsZWN0YWJsZShzdGVwKSB8fCBzdGVwID09PSB0aGlzLnNlbGVjdGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGN1cnJlbnRJbmRleCA9IHRoaXMuc2VsZWN0ZWRJbmRleDtcbiAgICBjb25zdCBjdXJyZW50U3RlcCA9IHRoaXMuc2VsZWN0ZWQ7XG4gICAgY29uc3QgdmFsaWRhdGVQYXlsb2FkOiBTYmJTdGVwVmFsaWRhdGVFdmVudERldGFpbHMgPSB7XG4gICAgICBjdXJyZW50SW5kZXgsXG4gICAgICBjdXJyZW50U3RlcCxcbiAgICAgIG5leHRJbmRleDogdGhpcy5zZWxlY3RlZEluZGV4ICE9PSBudWxsID8gdGhpcy5zZWxlY3RlZEluZGV4ICsgMSA6IG51bGwsXG4gICAgICBuZXh0U3RlcDogdGhpcy5zZWxlY3RlZEluZGV4ICE9PSBudWxsID8gdGhpcy5zdGVwc1t0aGlzLnNlbGVjdGVkSW5kZXggKyAxXSA6IG51bGwsXG4gICAgfTtcblxuICAgIGlmICh0aGlzLnNlbGVjdGVkICYmICF0aGlzLnNlbGVjdGVkLnZhbGlkYXRlKHZhbGlkYXRlUGF5bG9hZCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBjdXJyZW50ID0gdGhpcy5zZWxlY3RlZDtcbiAgICBjdXJyZW50Py5kZXNlbGVjdCgpO1xuICAgIHN0ZXAuc2VsZWN0KCk7XG5cbiAgICAvKiogQGludGVybmFsIG9ubHkgdG8gcHJvdmlkZSBkb3VibGUgZW50cnkgaW4gZG9jcy4gSXQgaXMgYSBwdWJsaWMgZXZlbnQhICovXG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50KFxuICAgICAgbmV3IFNiYlN0ZXBDaGFuZ2VFdmVudCh0aGlzLnNlbGVjdGVkSW5kZXgsIGN1cnJlbnRJbmRleCwgdGhpcy5zZWxlY3RlZCwgY3VycmVudFN0ZXApLFxuICAgICk7XG5cbiAgICB0aGlzLl9zZXRNYXJrZXJTaXplKCk7XG4gICAgdGhpcy5fc2V0U3RlcHBlckhlaWdodChzdGVwKTtcbiAgICB0aGlzLl9jb25maWd1cmVMaW5lYXJNb2RlKCk7XG4gICAgLy8gSW4gY2FzZSB0aGUgZm9jdXMgaXMgY3VycmVudGx5IGluc2lkZSB0aGUgc3RlcHBlciwgd2UgZm9jdXMgdGhlIHNlbGVjdGVkIHN0ZXAgbGFiZWwuXG4gICAgaWYgKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ/LmNsb3Nlc3QoJ3NiYi1zdGVwcGVyJykgPT09IHRoaXMpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWQ/LmxhYmVsPy5mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3NldE1hcmtlclNpemUoKTogdm9pZCB7XG4gICAgaWYgKFxuICAgICAgIXRoaXMuX2xvYWRlZCB8fFxuICAgICAgIXRoaXMuc2VsZWN0ZWQgfHxcbiAgICAgIHRoaXMuc2VsZWN0ZWRJbmRleCA9PT0gdW5kZWZpbmVkIHx8XG4gICAgICAhdGhpcy5zZWxlY3RlZC5sYWJlbFxuICAgICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBvZmZzZXQgPVxuICAgICAgdGhpcy5vcmllbnRhdGlvbiA9PT0gJ2hvcml6b250YWwnXG4gICAgICAgID8gdGhpcy5zZWxlY3RlZC5sYWJlbC5vZmZzZXRMZWZ0ICsgdGhpcy5zZWxlY3RlZC5sYWJlbC5vZmZzZXRXaWR0aFxuICAgICAgICA6IHRoaXMuX2NhbGN1bGF0ZUxhYmVsT2Zmc2V0VG9wKCk7XG5cbiAgICB0aGlzLnN0eWxlLnNldFByb3BlcnR5KCctLXNiYi1zdGVwcGVyLW1hcmtlci1zaXplJywgYCR7b2Zmc2V0fXB4YCk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgc3RlcHBlciBoZWlnaHQgYmFzZWQgb24gdGhlIGhlaWdodCBvZiB0aGUgcHJvdmlkZWQgc3RlcC5cbiAgICovXG4gIHByaXZhdGUgX3NldFN0ZXBwZXJIZWlnaHQoc3RlcDogU2JiU3RlcEVsZW1lbnQgfCBudWxsKTogdm9pZCB7XG4gICAgaWYgKHN0ZXAgJiYgc3RlcC5zaGFkb3dSb290KSB7XG4gICAgICBjb25zdCBpbm5lckVsZW1lbnQ6IFNiYlN0ZXBFbGVtZW50IHwgbnVsbCA9IHN0ZXAuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCcuc2JiLXN0ZXAnKTtcbiAgICAgIGlmIChpbm5lckVsZW1lbnQpIHtcbiAgICAgICAgdGhpcy5zdHlsZT8uc2V0UHJvcGVydHkoJy0tc2JiLXN0ZXBwZXItY29udGVudC1oZWlnaHQnLCBgJHtpbm5lckVsZW1lbnQub2Zmc2V0SGVpZ2h0fXB4YCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfY2FsY3VsYXRlTGFiZWxPZmZzZXRUb3AoKTogbnVtYmVyIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAodGhpcy5zZWxlY3RlZEluZGV4ID09PSBudWxsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGxldCBvZmZzZXQgPSAwO1xuICAgIGZvciAoY29uc3Qgc3RlcCBvZiB0aGlzLnN0ZXBzKSB7XG4gICAgICBpZiAoc3RlcCA9PT0gdGhpcy5zZWxlY3RlZCkge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIG9mZnNldCA9IHN0ZXAubGFiZWwhLm9mZnNldEhlaWdodCArIG9mZnNldDtcbiAgICB9XG4gICAgcmV0dXJuIChcbiAgICAgIG9mZnNldCArXG4gICAgICB0aGlzLnNlbGVjdGVkIS5sYWJlbCEub2Zmc2V0SGVpZ2h0ISArXG4gICAgICBwYXJzZUZsb2F0KGdldENvbXB1dGVkU3R5bGUodGhpcykuZ2V0UHJvcGVydHlWYWx1ZSgnLS1zYmItc3BhY2luZy1maXhlZC02eCcpKSAqXG4gICAgICAgIDE2ICpcbiAgICAgICAgdGhpcy5zZWxlY3RlZEluZGV4XG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX29uU2VsZWN0ZWRTdGVwUmVzaXplKGU6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5fc2V0U3RlcHBlckhlaWdodChlLnRhcmdldCBhcyBTYmJTdGVwRWxlbWVudCk7XG4gIH1cblxuICBwcml2YXRlIF9jb25maWd1cmUoKTogdm9pZCB7XG4gICAgdGhpcy5zdGVwcy5mb3JFYWNoKChzdGVwLCBpLCBhcnJheSkgPT4ge1xuICAgICAgc3RlcC5jb25maWd1cmUodGhpcy5fbG9hZGVkKTtcbiAgICAgIHN0ZXAubGFiZWw/LmNvbmZpZ3VyZShpICsgMSwgYXJyYXkubGVuZ3RoLCB0aGlzLl9sb2FkZWQpO1xuICAgIH0pO1xuICAgIHRoaXMuX3NlbGVjdCh0aGlzLnNlbGVjdGVkIHx8IHRoaXMuX2VuYWJsZWRTdGVwc1swXSk7XG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVMYWJlbHMoKTogdm9pZCB7XG4gICAgdGhpcy5zdGVwcy5mb3JFYWNoKChzdGVwKSA9PiB7XG4gICAgICBzdGVwLnNsb3QgPSB0aGlzLm9yaWVudGF0aW9uID09PSAnaG9yaXpvbnRhbCcgPyAnc3RlcCcgOiAnc3RlcC1sYWJlbCc7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9jaGVja09yaWVudGF0aW9uKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmhvcml6b250YWxGcm9tKSB7XG4gICAgICB0aGlzLm9yaWVudGF0aW9uID0gdGhpcy5fbWVkaWFNYXRjaGVyLm1hdGNoZXMoYnJlYWtwb2ludE1hcFt0aGlzLmhvcml6b250YWxGcm9tXSlcbiAgICAgICAgPyAnaG9yaXpvbnRhbCdcbiAgICAgICAgOiAndmVydGljYWwnO1xuICAgICAgdGhpcy5fdXBkYXRlTGFiZWxzKCk7XG4gICAgfVxuICAgIC8vIFRoZSB0aW1lb3V0IGlzIG5lZWRlZCB0byBtYWtlIHN1cmUgdGhhdCB0aGUgbWFya2VyIHRha2VzIHRoZSBjb3JyZWN0IHN0ZXAtbGFiZWwgc2l6ZS5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuX3NldE1hcmtlclNpemUoKSwgMCk7XG4gIH1cblxuICBwcml2YXRlIF9vblN0ZXBwZXJSZXNpemUgPSAoKTogdm9pZCA9PiB7XG4gICAgdGhpcy5fY2hlY2tPcmllbnRhdGlvbigpO1xuICAgIHRoaXMuX3NldFN0ZXBwZXJIZWlnaHQodGhpcy5zZWxlY3RlZCk7XG4gICAgY2xlYXJUaW1lb3V0KHRoaXMuX3Jlc2l6ZU9ic2VydmVyVGltZW91dCEpO1xuICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5hZGQoJ2Rpc2FibGUtYW5pbWF0aW9uJyk7XG5cbiAgICAvLyBEaXNhYmxlIHRoZSBhbmltYXRpb24gd2hlbiByZXNpemluZyB0byBhdm9pZCBzdHJhbmdlIHRyYW5zaXRpb24gZWZmZWN0cy5cbiAgICB0aGlzLl9yZXNpemVPYnNlcnZlclRpbWVvdXQgPSBzZXRUaW1lb3V0KFxuICAgICAgKCkgPT4gdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmRlbGV0ZSgnZGlzYWJsZS1hbmltYXRpb24nKSxcbiAgICAgIERFQk9VTkNFX1RJTUUsXG4gICAgKTtcbiAgfTtcblxuICBwcml2YXRlIF9jb25maWd1cmVMaW5lYXJNb2RlKCk6IHZvaWQge1xuICAgIHRoaXMuc3RlcHMuZm9yRWFjaCgoc3RlcCwgaW5kZXgpID0+IHtcbiAgICAgIGlmICghc3RlcC5sYWJlbCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBjdXN0b21FbGVtZW50cy51cGdyYWRlKHN0ZXAubGFiZWwpO1xuXG4gICAgICBzdGVwLmxhYmVsLmRpc2FibGUoXG4gICAgICAgICh0aGlzLmxpbmVhciAmJiBpbmRleCA+IHRoaXMuc2VsZWN0ZWRJbmRleCEpIHx8XG4gICAgICAgICAgKCF0aGlzLmxpbmVhciAmJiBzdGVwLmxhYmVsLm1hdGNoZXMoJzpzdGF0ZSh1c2VyLWRpc2FibGVkKScpKSxcbiAgICAgICk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdGhpcy5fb25TdGVwcGVyUmVzaXplLCB7XG4gICAgICBwYXNzaXZlOiB0cnVlLFxuICAgIH0pO1xuICAgIHRoaXMudG9nZ2xlU3RhdGUoJ2Rpc2FibGUtYW5pbWF0aW9uJywgIXRoaXMuX2xvYWRlZCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZGlzY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdGhpcy5fb25TdGVwcGVyUmVzaXplKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBmaXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIuZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcbiAgICB0aGlzLnVwZGF0ZUNvbXBsZXRlLnRoZW4oKCkgPT4ge1xuICAgICAgdGhpcy5fbG9hZGVkID0gdHJ1ZTtcbiAgICAgIHRoaXMuX2NvbmZpZ3VyZSgpO1xuXG4gICAgICBpZiAodGhpcy5fcmVxdWVzdGVkU2VsZWN0ZWQgJiYgdGhpcy5zdGVwcy5pbmRleE9mKHRoaXMuX3JlcXVlc3RlZFNlbGVjdGVkKSAhPT0gLTEpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEluZGV4ID0gdGhpcy5zdGVwcy5pbmRleE9mKHRoaXMuX3JlcXVlc3RlZFNlbGVjdGVkKTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5fcmVxdWVzdGVkU2VsZWN0ZWRJbmRleCkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkSW5kZXggPSB0aGlzLl9yZXF1ZXN0ZWRTZWxlY3RlZEluZGV4O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEluZGV4ID0gMDtcbiAgICAgIH1cblxuICAgICAgdGhpcy5fb2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzKTtcbiAgICAgIHRoaXMuX2NoZWNrT3JpZW50YXRpb24oKTtcbiAgICAgIC8vIFJlbW92ZSBkaXNhYmxlLWFuaW1hdGlvbiBzdGF0ZSBhZnRlciBjb21wb25lbnQgaW5pdFxuICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmludGVybmFscy5zdGF0ZXMuZGVsZXRlKCdkaXNhYmxlLWFuaW1hdGlvbicpLCBERUJPVU5DRV9USU1FKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ29yaWVudGF0aW9uJykgJiYgIXRoaXMuaG9yaXpvbnRhbEZyb20pIHtcbiAgICAgIHRoaXMuX3VwZGF0ZUxhYmVscygpO1xuICAgICAgdGhpcy5fc2V0TWFya2VyU2l6ZSgpO1xuICAgIH1cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdsaW5lYXInKSAmJiB0aGlzLl9sb2FkZWQpIHtcbiAgICAgIHRoaXMuX2NvbmZpZ3VyZUxpbmVhck1vZGUoKTtcbiAgICB9XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdzaXplJykpIHtcbiAgICAgIHRoaXMuX3NldE1hcmtlclNpemUoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVLZXlEb3duKGV2dDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGVuYWJsZWRTdGVwczogU2JiU3RlcEVsZW1lbnRbXSA9IHRoaXMuX2VuYWJsZWRTdGVwcztcblxuICAgIGlmIChcbiAgICAgICFlbmFibGVkU3RlcHMgfHxcbiAgICAgIC8vIGRvbid0IHRyYXAgbmVzdGVkIGhhbmRsaW5nXG4gICAgICAoKGV2dC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpICE9PSB0aGlzICYmIChldnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5wYXJlbnRFbGVtZW50ICE9PSB0aGlzKVxuICAgICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChpc0Fycm93S2V5UHJlc3NlZChldnQpKSB7XG4gICAgICBjb25zdCBjdXJyZW50OiBudW1iZXIgPSBlbmFibGVkU3RlcHMuaW5kZXhPZih0aGlzLnNlbGVjdGVkISk7XG4gICAgICBjb25zdCBuZXh0SW5kZXg6IG51bWJlciA9IGdldE5leHRFbGVtZW50SW5kZXgoZXZ0LCBjdXJyZW50LCBlbmFibGVkU3RlcHMubGVuZ3RoKTtcbiAgICAgIHRoaXMuX3NlbGVjdChlbmFibGVkU3RlcHNbbmV4dEluZGV4XSk7XG4gICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItc3RlcHBlcl9fbGFiZWxzXCIgcm9sZT1cInRhYmxpc3RcIj5cbiAgICAgICAgPHNsb3QgbmFtZT1cInN0ZXAtbGFiZWxcIiBAc2xvdGNoYW5nZT0ke3RoaXMuX2NvbmZpZ3VyZX0+PC9zbG90PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLXN0ZXBwZXJfX3N0ZXBzXCI+XG4gICAgICAgIDxzbG90IG5hbWU9XCJzdGVwXCIgQHNsb3RjaGFuZ2U9JHt0aGlzLl9jb25maWd1cmV9Pjwvc2xvdD5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1zdGVwcGVyJzogU2JiU3RlcHBlckVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FDMkJBLElBQU0sZ0JBQWdCO0FBRXRCLElBQU0sZ0JBQXdDO0NBQzVDLE1BQU07Q0FDTixPQUFPO0NBQ1AsT0FBTztDQUNQLE9BQU87Q0FDUjtBQUVELElBQWEscUJBQWIsY0FBd0MsTUFBSztDQWEzQyxZQUNFLGVBQ0EsZUFDQSxjQUNBLGNBQW1DO0FBRW5DLFFBQU0sY0FBYztHQUFFLFNBQVM7R0FBTSxVQUFVO0dBQU0sQ0FBQztBQUN0RCxPQUFLLGdCQUFnQjtBQUNyQixPQUFLLGdCQUFnQjtBQUNyQixPQUFLLGVBQWU7QUFDcEIsT0FBSyxlQUFlOzs7Ozs7Ozs7O0lBVVgsMkJBQWlCO21CQUFTOzs7Ozs7Ozs7Ozs7OztjQUExQiwwQkFBMEIsWUFBVTs7O3lCQTBCOUMsV0FBVyxFQUNYLFNBQVMsRUFBRSxNQUFNLFNBQVMsQ0FBQyxDQUFBO3FDQUkzQixTQUFTO0lBQUUsV0FBVztJQUFtQixTQUFTO0lBQU0sQ0FBQyxDQUFBOzhCQWF6RCxTQUFTLEVBQUUsU0FBUyxNQUFNLENBQUMsQ0FBQTt1QkFPM0IsU0FBUyxFQUFFLFNBQVMsTUFBTSxDQUFDLENBQUE7K0JBRzNCLFNBQVMsRUFBRSxXQUFXLE9BQU8sQ0FBQyxDQUFBO29DQWE5QixTQUFTO0lBQUUsV0FBVztJQUFrQixNQUFNO0lBQVEsQ0FBQyxDQUFBO0FBdkN4RCxnQkFBQSxNQUFBLE1BQUEsb0JBQUE7SUFBQSxNQUFBO0lBQUEsTUFBQTtJQUFBLFFBQUE7SUFBQSxTQUFBO0lBQUEsUUFBQTtLQUFBLE1BQUEsUUFBQSxZQUFBO0tBQUEsTUFBQSxRQUFBLElBQWdCO0tBQU0sTUFBQSxLQUFBLFVBQUE7QUFBQSxVQUFOLFNBQU07O0tBQUE7SUFBQSxVQUFBO0lBQUEsRUFBQSxzQkFBQSwwQkFBQTtBQUl0QixnQkFBQSxNQUFBLE1BQUEsZ0NBQUE7SUFBQSxNQUFBO0lBQUEsTUFBQTtJQUFBLFFBQUE7SUFBQSxTQUFBO0lBQUEsUUFBQTtLQUFBLE1BQUEsUUFBQSxvQkFBQTtLQUFBLE1BQUEsS0FBQSxVQUFBO0FBQUEsVUFBVyxpQkFBYzs7S0FBQTtJQUFBLFVBQUE7SUFBQSxFQUFBLE1BQUEsMkJBQUE7QUFhekIsZ0JBQUEsTUFBQSxNQUFBLHlCQUFBO0lBQUEsTUFBQTtJQUFBLE1BQUE7SUFBQSxRQUFBO0lBQUEsU0FBQTtJQUFBLFFBQUE7S0FBQSxNQUFBLFFBQUEsaUJBQUE7S0FBQSxNQUFBLFFBQUEsSUFBZ0I7S0FBVyxNQUFBLEtBQUEsVUFBQTtBQUFBLFVBQVgsY0FBVzs7S0FBQTtJQUFBLFVBQUE7SUFBQSxFQUFBLDJCQUFBLCtCQUFBO0FBTUUsZ0JBQUEsTUFBQSxNQUFBLGtCQUFBO0lBQUEsTUFBQTtJQUFBLE1BQUE7SUFBQSxRQUFBO0lBQUEsU0FBQTtJQUFBLFFBQUE7S0FBQSxNQUFBLFFBQUEsVUFBQTtLQUFBLE1BQUEsUUFBQSxJQUFnQjtLQUFJLE1BQUEsS0FBQSxVQUFBO0FBQUEsVUFBSixPQUFJOztLQUFBO0lBQUEsVUFBQTtJQUFBLEVBQUEsb0JBQUEsd0JBQUE7QUFJakQsZ0JBQUEsTUFBQSxNQUFBLDBCQUFBO0lBQUEsTUFBQTtJQUFBLE1BQUE7SUFBQSxRQUFBO0lBQUEsU0FBQTtJQUFBLFFBQUE7S0FBQSxNQUFBLFFBQUEsY0FBQTtLQUFBLE1BQUEsS0FBQSxVQUFBO0FBQUEsVUFBVyxXQUFROztLQUFBO0lBQUEsVUFBQTtJQUFBLEVBQUEsTUFBQSwyQkFBQTtBQWFuQixnQkFBQSxNQUFBLE1BQUEsK0JBQUE7SUFBQSxNQUFBO0lBQUEsTUFBQTtJQUFBLFFBQUE7SUFBQSxTQUFBO0lBQUEsUUFBQTtLQUFBLE1BQUEsUUFBQSxtQkFBQTtLQUFBLE1BQUEsS0FBQSxVQUFBO0FBQUEsVUFBVyxnQkFBYTs7S0FBQTtJQUFBLFVBQUE7SUFBQSxFQUFBLE1BQUEsMkJBQUE7Ozs7Ozs7OztBQW5FUSxRQUFBLGNBQXNCOzs7QUFDL0IsUUFBQSxTQUF5QixDQUFDLFVBQVUsZ0JBQU0sQ0FBQzs7O0FBQzNDLFFBQUEsU0FBUyxFQUM5QixZQUFZLGNBQ0o7O0VBdUJWOztFQUFBLElBQWdCLFNBQU07QUFBQSxVQUFBLE1BQUE7O0VBQXRCLElBQWdCLE9BQU0sT0FBQTtBQUFBLFNBQUEsMEJBQUE7OztFQUl0QixJQUFXLGVBQWUsT0FBK0I7QUFDdkQsUUFBSyxrQkFBa0IsU0FBUyxjQUFjLFNBQVMsUUFBUTtBQUMvRCxPQUFJLEtBQUssbUJBQW1CLEtBQUssUUFDL0IsTUFBSyxtQkFBbUI7O0VBRzVCLElBQVcsaUJBQWM7QUFDdkIsVUFBTyxLQUFLOztFQU1kOztFQUFBLElBQWdCLGNBQVc7QUFBQSxVQUFBLE1BQUE7O0VBQTNCLElBQWdCLFlBQVcsT0FBQTtBQUFBLFNBQUEsK0JBQUE7O0VBTUU7Ozs7O0VBQUEsSUFBZ0IsT0FBSTtBQUFBLFVBQUEsTUFBQTs7RUFBcEIsSUFBZ0IsS0FBSSxPQUFBO0FBQUEsU0FBQSx3QkFBQTs7O0VBSWpELElBQVcsU0FBUyxNQUEyQjtBQUM3QyxPQUFJLEtBQUssUUFDUCxNQUFLLFFBQVEsS0FBSztBQUVwQixRQUFLLHFCQUFxQjs7RUFFNUIsSUFBVyxXQUFRO0FBQ2pCLFVBQU8sS0FBSyxnQkFBZ0Msa0RBQTJCLElBQUk7OztFQU03RSxJQUFXLGNBQWMsT0FBb0I7QUFDM0MsT0FBSSxLQUFLLFdBQVcsVUFBVSxLQUM1QixNQUFLLFFBQVEsS0FBSyxNQUFNLE9BQU87QUFFakMsUUFBSywwQkFBMEI7O0VBRWpDLElBQVcsZ0JBQWE7QUFDdEIsVUFBTyxLQUFLLFdBQVcsS0FBSyxNQUFNLFFBQVEsS0FBSyxTQUFTLEdBQUc7OztFQUs3RCxJQUFXLFFBQUs7R0FDZCxNQUFNLFFBQTBCLEVBQUU7QUFDbEMsUUFBSyxtQkFBbUIsV0FBVyxDQUFDLFNBQVMsU0FBUTtBQUNuRCxtQkFBZSxRQUFRLEtBQUs7QUFDNUIsVUFBTSxLQUFLLEtBQUs7S0FDaEI7QUFDRixVQUFPOztFQUdULElBQVksZ0JBQWE7QUFDdkIsVUFBTyxLQUFLLE1BQU0sUUFBUSxNQUFLO0FBQzdCLFFBQUksRUFBRSxPQUFPO0FBQ1gsb0JBQWUsUUFBUSxFQUFFLE1BQU07QUFDL0IsWUFBTyxDQUFDLEVBQUUsTUFBTTs7QUFFbEIsV0FBTztLQUNQOztFQU9KLGNBQUE7QUFDRSxVQUFPOzs7Ozs7O0FBM0ZELFFBQUEsYUFiRyxrQkFBQSxNQUFBLDJCQUFpQixFQWFSLElBQUksdUJBQXVCLE1BQU07SUFDbkQsUUFBUTtJQUNSLFdBQVcsWUFBVztBQUNwQixhQUFRLFNBQVMsTUFBSztBQUNwQixVQUFJLEVBQUUsb0JBQW9CLEdBQUc7QUFDM0IsWUFBSyxrQkFBa0IsS0FBSyxTQUFTO0FBQ3JDLFlBQUssZ0JBQWdCOztPQUV2Qjs7SUFFTCxDQUFDO0FBS2MsU0FBQSwwQkFBQSxrQkFBQSxNQUFBLHNCQUFrQixNQUFLO0FBYS9CLFFBQUEsbUJBQWUsa0JBQUEsTUFBQSwwQkFBQSxFQUE2QjtBQUlwQyxTQUFBLCtCQUFBLGtCQUFBLE1BQUEsMkJBQThCLGFBQVk7QUFNYixTQUFBLHlCQUFBLGtCQUFBLE1BQUEsK0JBQUEsRUFBQSxrQkFBQSxNQUFBLG9CQUFrQixRQUFRLEdBQUcsTUFBTSxJQUFHO0FBYTNFLFFBQUEsc0JBQWtCLGtCQUFBLE1BQUEsd0JBQUEsRUFBMEI7QUFhNUMsUUFBQSwwQkFBeUM7QUFzQnpDLFFBQUEsVUFBbUI7QUFDbkIsUUFBQSx5QkFBK0Q7QUFDL0QsUUFBQSxnQkFBZ0IsSUFBSSwwQkFBMEIsTUFBTSxFQUFFLENBQUM7QUFxS3ZELFFBQUEseUJBQThCO0FBQ3BDLFNBQUssbUJBQW1CO0FBQ3hCLFNBQUssa0JBQWtCLEtBQUssU0FBUztBQUNyQyxpQkFBYSxLQUFLLHVCQUF3QjtBQUMxQyxTQUFLLFVBQVUsT0FBTyxJQUFJLG9CQUFvQjtBQUc5QyxTQUFLLHlCQUF5QixpQkFDdEIsS0FBSyxVQUFVLE9BQU8sT0FBTyxvQkFBb0IsRUFDdkQsY0FDRDs7QUEzS0QsUUFBSyxtQkFBbUIsWUFBWSxNQUFNLEtBQUssZUFBZSxFQUFFLENBQUM7QUFDakUsUUFBSyxtQkFBbUIsaUJBQWlCLE1BQWEsS0FBSyxzQkFBc0IsRUFBRSxDQUFDOzs7RUFJL0UsT0FBSTtBQUNULE9BQUksS0FBSyxrQkFBa0IsS0FDekIsTUFBSyxRQUFRLEtBQUssTUFBTSxLQUFLLGdCQUFnQixHQUFHOzs7RUFLN0MsV0FBUTtBQUNiLE9BQUksS0FBSyxrQkFBa0IsS0FDekIsTUFBSyxRQUFRLEtBQUssTUFBTSxLQUFLLGdCQUFnQixHQUFHOzs7RUFLN0MsUUFBSztHQUNWLE1BQU0sY0FBYyxLQUFLLFFBQVEsT0FBTztBQUN4QyxPQUFJLFlBQ0YsYUFBWSxPQUFPO09BRW5CLE1BQUssaUJBQWlCLE9BQU8sQ0FBQyxTQUFTLFNBQVMsS0FBSyxPQUFPLENBQUM7QUFFL0QsUUFBSyxnQkFBZ0I7QUFFckIsT0FBSSxTQUFTLGVBQWUsUUFBUSxjQUFjLEtBQUssS0FDckQsTUFBSyxVQUFVLE9BQU8sT0FBTzs7RUFJekIsY0FBYyxNQUEyQjtBQUMvQyxPQUFJLE1BQU07QUFDUixtQkFBZSxRQUFRLEtBQUs7QUFDNUIsUUFBSSxLQUFLLE9BQU87QUFDZCxvQkFBZSxRQUFRLEtBQUssTUFBTTtBQUNsQyxTQUFJLENBQUMsS0FBSyxVQUFVLEtBQUssTUFBTSxTQUM3QixRQUFPOztBQUdYLFdBQU87U0FFUCxRQUFPOztFQUlILFFBQVEsTUFBMkI7QUFDekMsT0FBSSxDQUFDLEtBQUssY0FBYyxLQUFLLElBQUksU0FBUyxLQUFLLFNBQzdDO0dBRUYsTUFBTSxlQUFlLEtBQUs7R0FDMUIsTUFBTSxjQUFjLEtBQUs7R0FDekIsTUFBTSxrQkFBK0M7SUFDbkQ7SUFDQTtJQUNBLFdBQVcsS0FBSyxrQkFBa0IsT0FBTyxLQUFLLGdCQUFnQixJQUFJO0lBQ2xFLFVBQVUsS0FBSyxrQkFBa0IsT0FBTyxLQUFLLE1BQU0sS0FBSyxnQkFBZ0IsS0FBSztJQUM5RTtBQUVELE9BQUksS0FBSyxZQUFZLENBQUMsS0FBSyxTQUFTLFNBQVMsZ0JBQWdCLENBQzNEO0FBR2MsUUFBSyxVQUNaLFVBQVU7QUFDbkIsUUFBSyxRQUFROztBQUdiLFFBQUssY0FDSCxJQUFJLG1CQUFtQixLQUFLLGVBQWUsY0FBYyxLQUFLLFVBQVUsWUFBWSxDQUNyRjtBQUVELFFBQUssZ0JBQWdCO0FBQ3JCLFFBQUssa0JBQWtCLEtBQUs7QUFDNUIsUUFBSyxzQkFBc0I7QUFFM0IsT0FBSSxTQUFTLGVBQWUsUUFBUSxjQUFjLEtBQUssS0FDckQsTUFBSyxVQUFVLE9BQU8sT0FBTzs7RUFJekIsaUJBQWM7QUFDcEIsT0FDRSxDQUFDLEtBQUssV0FDTixDQUFDLEtBQUssWUFDTixLQUFLLGtCQUFrQixLQUFBLEtBQ3ZCLENBQUMsS0FBSyxTQUFTLE1BRWY7R0FFRixNQUFNLFNBQ0osS0FBSyxnQkFBZ0IsZUFDakIsS0FBSyxTQUFTLE1BQU0sYUFBYSxLQUFLLFNBQVMsTUFBTSxjQUNyRCxLQUFLLDBCQUEwQjtBQUVyQyxRQUFLLE1BQU0sWUFBWSw2QkFBNkIsR0FBRyxPQUFNLElBQUs7Ozs7O0VBTTVELGtCQUFrQixNQUEyQjtBQUNuRCxPQUFJLFFBQVEsS0FBSyxZQUFZO0lBQzNCLE1BQU0sZUFBc0MsS0FBSyxXQUFXLGNBQWMsWUFBWTtBQUN0RixRQUFJLGFBQ0YsTUFBSyxPQUFPLFlBQVksZ0NBQWdDLEdBQUcsYUFBYSxhQUFZLElBQUs7OztFQUt2RiwyQkFBd0I7QUFDOUIsT0FBSSxLQUFLLGtCQUFrQixLQUN6QjtHQUVGLElBQUksU0FBUztBQUNiLFFBQUssTUFBTSxRQUFRLEtBQUssT0FBTztBQUM3QixRQUFJLFNBQVMsS0FBSyxTQUNoQjtBQUVGLGFBQVMsS0FBSyxNQUFPLGVBQWU7O0FBRXRDLFVBQ0UsU0FDQSxLQUFLLFNBQVUsTUFBTyxlQUN0QixXQUFXLGlCQUFpQixLQUFLLENBQUMsaUJBQWlCLHlCQUF5QixDQUFDLEdBQzNFLEtBQ0EsS0FBSzs7RUFJSCxzQkFBc0IsR0FBUTtBQUNwQyxRQUFLLGtCQUFrQixFQUFFLE9BQXlCOztFQUc1QyxhQUFVO0FBQ2hCLFFBQUssTUFBTSxTQUFTLE1BQU0sR0FBRyxVQUFTO0FBQ3BDLFNBQUssVUFBVSxLQUFLLFFBQVE7QUFDNUIsU0FBSyxPQUFPLFVBQVUsSUFBSSxHQUFHLE1BQU0sUUFBUSxLQUFLLFFBQVE7S0FDeEQ7QUFDRixRQUFLLFFBQVEsS0FBSyxZQUFZLEtBQUssY0FBYyxHQUFHOztFQUc5QyxnQkFBYTtBQUNuQixRQUFLLE1BQU0sU0FBUyxTQUFRO0FBQzFCLFNBQUssT0FBTyxLQUFLLGdCQUFnQixlQUFlLFNBQVM7S0FDekQ7O0VBR0ksb0JBQWlCO0FBQ3ZCLE9BQUksS0FBSyxnQkFBZ0I7QUFDdkIsU0FBSyxjQUFjLEtBQUssY0FBYyxRQUFRLGNBQWMsS0FBSyxnQkFBZ0IsR0FDN0UsZUFDQTtBQUNKLFNBQUssZUFBZTs7QUFHdEIsb0JBQWlCLEtBQUssZ0JBQWdCLEVBQUUsRUFBRTs7RUFnQnBDLHVCQUFvQjtBQUMxQixRQUFLLE1BQU0sU0FBUyxNQUFNLFVBQVM7QUFDakMsUUFBSSxDQUFDLEtBQUssTUFDUjtBQUVGLG1CQUFlLFFBQVEsS0FBSyxNQUFNO0FBRWxDLFNBQUssTUFBTSxRQUNSLEtBQUssVUFBVSxRQUFRLEtBQUssaUJBQzFCLENBQUMsS0FBSyxVQUFVLEtBQUssTUFBTSxRQUFRLG9EQUF3QixDQUMvRDtLQUNEOztFQUdZLG9CQUFpQjtBQUMvQixTQUFNLG1CQUFtQjtBQUN6QixVQUFPLGlCQUFpQixVQUFVLEtBQUssa0JBQWtCLEVBQ3ZELFNBQVMsTUFDVixDQUFDO0FBQ0YsUUFBSyxZQUFZLHFCQUFxQixDQUFDLEtBQUssUUFBUTs7RUFHdEMsdUJBQW9CO0FBQ2xDLFNBQU0sc0JBQXNCO0FBQzVCLFVBQU8sb0JBQW9CLFVBQVUsS0FBSyxpQkFBaUI7O0VBRzFDLGFBQWEsbUJBQXVDO0FBQ3JFLFNBQU0sYUFBYSxrQkFBa0I7QUFDckMsUUFBSyxlQUFlLFdBQVU7QUFDNUIsU0FBSyxVQUFVO0FBQ2YsU0FBSyxZQUFZO0FBRWpCLFFBQUksS0FBSyxzQkFBc0IsS0FBSyxNQUFNLFFBQVEsS0FBSyxtQkFBbUIsS0FBSyxHQUM3RSxNQUFLLGdCQUFnQixLQUFLLE1BQU0sUUFBUSxLQUFLLG1CQUFtQjthQUN2RCxLQUFLLHdCQUNkLE1BQUssZ0JBQWdCLEtBQUs7UUFFMUIsTUFBSyxnQkFBZ0I7QUFHdkIsU0FBSyxVQUFVLFFBQVEsS0FBSztBQUM1QixTQUFLLG1CQUFtQjtBQUV4QixxQkFBaUIsS0FBSyxVQUFVLE9BQU8sT0FBTyxvQkFBb0IsRUFBRSxjQUFjO0tBQ2xGOztFQUdlLFdBQVcsbUJBQXVDO0FBQ25FLFNBQU0sV0FBVyxrQkFBa0I7QUFDbkMsT0FBSSxrQkFBa0IsSUFBSSxjQUFjLElBQUksQ0FBQyxLQUFLLGdCQUFnQjtBQUNoRSxTQUFLLGVBQWU7QUFDcEIsU0FBSyxnQkFBZ0I7O0FBRXZCLE9BQUksa0JBQWtCLElBQUksU0FBUyxJQUFJLEtBQUssUUFDMUMsTUFBSyxzQkFBc0I7QUFHN0IsT0FBSSxrQkFBa0IsSUFBSSxPQUFPLENBQy9CLE1BQUssZ0JBQWdCOztFQUlqQixlQUFlLEtBQWtCO0dBQ3ZDLE1BQU0sZUFBaUMsS0FBSztBQUU1QyxPQUNFLENBQUMsZ0JBRUMsSUFBSSxXQUEyQixRQUFTLElBQUksT0FBdUIsa0JBQWtCLEtBRXZGO0FBR0YsT0FBSSxrQkFBa0IsSUFBSSxFQUFFO0lBRTFCLE1BQU0sWUFBb0Isb0JBQW9CLEtBRHRCLGFBQWEsUUFBUSxLQUFLLFNBQ0MsRUFBUyxhQUFhLE9BQU87QUFDaEYsU0FBSyxRQUFRLGFBQWEsV0FBVztBQUNyQyxRQUFJLGdCQUFnQjs7O0VBSUwsU0FBTTtBQUN2QixVQUFPLElBQUk7OzhDQUUrQixLQUFLLFdBQVU7Ozt3Q0FHckIsS0FBSyxXQUFVIn0=