@sbb-esta/lyne-elements 4.0.0-next.3 → 4.0.0-next.4

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 (600) hide show
  1. package/accordion/accordion.component.d.ts.map +1 -1
  2. package/accordion/accordion.component.js +29 -27
  3. package/action-group/action-group.component.js +1 -1
  4. package/alert/alert/alert.component.js +7 -7
  5. package/alert/alert-group/alert-group.component.d.ts +1 -1
  6. package/alert/alert-group/alert-group.component.d.ts.map +1 -1
  7. package/alert/alert-group/alert-group.component.js +23 -23
  8. package/autocomplete/autocomplete-base-element.d.ts +1 -0
  9. package/autocomplete/autocomplete-base-element.d.ts.map +1 -1
  10. package/autocomplete/autocomplete-base-element.js +58 -56
  11. package/autocomplete/autocomplete.component.d.ts.map +1 -1
  12. package/autocomplete/autocomplete.component.js +12 -12
  13. package/breadcrumb/breadcrumb/breadcrumb.component.js +5 -5
  14. package/breadcrumb/breadcrumb-group/breadcrumb-group.component.d.ts +2 -3
  15. package/breadcrumb/breadcrumb-group/breadcrumb-group.component.d.ts.map +1 -1
  16. package/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +53 -47
  17. package/button/common/button-common.d.ts.map +1 -1
  18. package/button/common/button-common.js +40 -42
  19. package/button/common.js +1 -1
  20. package/button.js +1 -1
  21. package/calendar/calendar.component.d.ts +4 -4
  22. package/calendar/calendar.component.d.ts.map +1 -1
  23. package/calendar/calendar.component.js +183 -183
  24. package/card/card/card.component.d.ts +3 -6
  25. package/card/card/card.component.d.ts.map +1 -1
  26. package/card/card/card.component.js +32 -47
  27. package/card/card-badge/card-badge.component.d.ts +0 -2
  28. package/card/card-badge/card-badge.component.d.ts.map +1 -1
  29. package/card/card-badge/card-badge.component.js +29 -36
  30. package/card/common/card-action-common.d.ts.map +1 -1
  31. package/card/common/card-action-common.js +36 -24
  32. package/checkbox/checkbox/checkbox.component.d.ts +1 -1
  33. package/checkbox/checkbox/checkbox.component.js +1 -1
  34. package/checkbox/checkbox-group/checkbox-group.component.d.ts +1 -2
  35. package/checkbox/checkbox-group/checkbox-group.component.d.ts.map +1 -1
  36. package/checkbox/checkbox-group/checkbox-group.component.js +39 -38
  37. package/checkbox/checkbox-panel/checkbox-panel.component.d.ts +1 -14
  38. package/checkbox/checkbox-panel/checkbox-panel.component.d.ts.map +1 -1
  39. package/checkbox/checkbox-panel/checkbox-panel.component.js +35 -55
  40. package/checkbox/common.js +1 -1
  41. package/checkbox-common-t04WeA36.js +5 -0
  42. package/checkbox.js +1 -1
  43. package/chip/chip-group/chip-group.component.d.ts +1 -0
  44. package/chip/chip-group/chip-group.component.d.ts.map +1 -1
  45. package/chip/chip-group/chip-group.component.js +23 -23
  46. package/clock/clock.component.d.ts +3 -1
  47. package/clock/clock.component.d.ts.map +1 -1
  48. package/clock/clock.component.js +40 -39
  49. package/container/container/container.component.d.ts.map +1 -1
  50. package/container/container/container.component.js +27 -24
  51. package/container/sticky-bar/sticky-bar.component.d.ts +3 -1
  52. package/container/sticky-bar/sticky-bar.component.d.ts.map +1 -1
  53. package/container/sticky-bar/sticky-bar.component.js +41 -41
  54. package/core/a11y/focus-visible-within-controller.d.ts +2 -1
  55. package/core/a11y/focus-visible-within-controller.d.ts.map +1 -1
  56. package/core/a11y/focus-visible-within-controller.js +8 -7
  57. package/core/base-elements/action-base-element.d.ts +1 -0
  58. package/core/base-elements/action-base-element.d.ts.map +1 -1
  59. package/core/base-elements/action-base-element.js +37 -45
  60. package/core/base-elements/button-base-element.d.ts +1 -1
  61. package/core/base-elements/button-base-element.d.ts.map +1 -1
  62. package/core/base-elements/button-base-element.js +55 -56
  63. package/core/base-elements/link-base-element.d.ts.map +1 -1
  64. package/core/base-elements/link-base-element.js +62 -64
  65. package/core/base-elements/open-close-base-element.d.ts +2 -1
  66. package/core/base-elements/open-close-base-element.d.ts.map +1 -1
  67. package/core/base-elements/open-close-base-element.js +8 -8
  68. package/core/controllers/media-matchers-controller.d.ts +4 -1
  69. package/core/controllers/media-matchers-controller.d.ts.map +1 -1
  70. package/core/controllers/media-matchers-controller.js +30 -26
  71. package/core/controllers/overlay-position-controller.d.ts +3 -2
  72. package/core/controllers/overlay-position-controller.d.ts.map +1 -1
  73. package/core/controllers/overlay-position-controller.js +35 -35
  74. package/core/controllers/property-watcher-controller.d.ts +16 -0
  75. package/core/controllers/property-watcher-controller.d.ts.map +1 -0
  76. package/core/controllers/property-watcher-controller.js +58 -0
  77. package/core/controllers.d.ts +1 -1
  78. package/core/controllers.js +21 -18
  79. package/core/datetime/date-adapter.d.ts +1 -3
  80. package/core/datetime/date-adapter.d.ts.map +1 -1
  81. package/core/dom/animation.d.ts.map +1 -1
  82. package/core/dom/animation.js +2 -2
  83. package/core/dom/set-or-remove-attribute.d.ts +0 -14
  84. package/core/dom/set-or-remove-attribute.d.ts.map +1 -1
  85. package/core/dom/set-or-remove-attribute.js +3 -11
  86. package/core/dom.d.ts +0 -2
  87. package/core/dom.d.ts.map +1 -1
  88. package/core/dom.js +25 -33
  89. package/core/i18n/i18n.d.ts +0 -2
  90. package/core/i18n/i18n.d.ts.map +1 -1
  91. package/core/i18n/i18n.js +60 -66
  92. package/core/i18n.js +53 -54
  93. package/core/interfaces/types.d.ts +0 -14
  94. package/core/interfaces/types.d.ts.map +1 -1
  95. package/core/mixins/element-internals-mixin.d.ts +14 -1
  96. package/core/mixins/element-internals-mixin.d.ts.map +1 -1
  97. package/core/mixins/element-internals-mixin.js +102 -75
  98. package/core/mixins/form-associated-mixin.js +1 -1
  99. package/core/mixins/form-associated-radio-button-mixin.js +16 -16
  100. package/core/mixins/panel-mixin.d.ts +10 -2
  101. package/core/mixins/panel-mixin.d.ts.map +1 -1
  102. package/core/mixins/panel-mixin.js +51 -37
  103. package/core/mixins/selection-panel-mixin.d.ts +5 -11
  104. package/core/mixins/selection-panel-mixin.d.ts.map +1 -1
  105. package/core/mixins/selection-panel-mixin.js +35 -83
  106. package/core/mixins.js +28 -27
  107. package/core/overlay/overlay-option-panel.d.ts +2 -1
  108. package/core/overlay/overlay-option-panel.d.ts.map +1 -1
  109. package/core/overlay/overlay-option-panel.js +9 -6
  110. package/core/styles/core.scss +32 -11
  111. package/core/styles/mixins/card.scss +71 -55
  112. package/core/testing/wait-for-render.d.ts +1 -1
  113. package/core.css +151 -26
  114. package/custom-elements.json +8452 -8203
  115. package/date-input/date-input.component.d.ts +0 -5
  116. package/date-input/date-input.component.d.ts.map +1 -1
  117. package/date-input/date-input.component.js +0 -7
  118. package/development/accordion/accordion.component.d.ts.map +1 -1
  119. package/development/accordion/accordion.component.js +5 -4
  120. package/development/action-group/action-group.component.js +2 -2
  121. package/development/alert/alert/alert.component.js +5 -5
  122. package/development/alert/alert-group/alert-group.component.d.ts +1 -1
  123. package/development/alert/alert-group/alert-group.component.d.ts.map +1 -1
  124. package/development/alert/alert-group/alert-group.component.js +5 -5
  125. package/development/autocomplete/autocomplete-base-element.d.ts +1 -0
  126. package/development/autocomplete/autocomplete-base-element.d.ts.map +1 -1
  127. package/development/autocomplete/autocomplete-base-element.js +28 -32
  128. package/development/autocomplete/autocomplete.component.d.ts.map +1 -1
  129. package/development/autocomplete/autocomplete.component.js +2 -3
  130. package/development/breadcrumb/breadcrumb/breadcrumb.component.js +1 -1
  131. package/development/breadcrumb/breadcrumb-group/breadcrumb-group.component.d.ts +2 -3
  132. package/development/breadcrumb/breadcrumb-group/breadcrumb-group.component.d.ts.map +1 -1
  133. package/development/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +33 -24
  134. package/development/button/common/button-common.d.ts.map +1 -1
  135. package/development/button/common/button-common.js +8 -17
  136. package/development/button/common.js +1 -1
  137. package/development/button.js +1 -1
  138. package/development/calendar/calendar.component.d.ts +4 -4
  139. package/development/calendar/calendar.component.d.ts.map +1 -1
  140. package/development/calendar/calendar.component.js +11 -11
  141. package/development/card/card/card.component.d.ts +3 -6
  142. package/development/card/card/card.component.d.ts.map +1 -1
  143. package/development/card/card/card.component.js +91 -146
  144. package/development/card/card-badge/card-badge.component.d.ts +0 -2
  145. package/development/card/card-badge/card-badge.component.d.ts.map +1 -1
  146. package/development/card/card-badge/card-badge.component.js +34 -71
  147. package/development/card/common/card-action-common.d.ts.map +1 -1
  148. package/development/card/common/card-action-common.js +21 -10
  149. package/development/checkbox/checkbox/checkbox.component.d.ts +1 -1
  150. package/development/checkbox/checkbox/checkbox.component.js +2 -2
  151. package/development/checkbox/checkbox-group/checkbox-group.component.d.ts +1 -2
  152. package/development/checkbox/checkbox-group/checkbox-group.component.d.ts.map +1 -1
  153. package/development/checkbox/checkbox-group/checkbox-group.component.js +13 -15
  154. package/development/checkbox/checkbox-panel/checkbox-panel.component.d.ts +1 -14
  155. package/development/checkbox/checkbox-panel/checkbox-panel.component.d.ts.map +1 -1
  156. package/development/checkbox/checkbox-panel/checkbox-panel.component.js +6 -41
  157. package/development/checkbox/common.js +1 -1
  158. package/development/{checkbox-common-CX17vF7q.js → checkbox-common-D2-QcV8n.js} +4 -1
  159. package/development/checkbox.js +1 -1
  160. package/development/chip/chip-group/chip-group.component.d.ts +1 -0
  161. package/development/chip/chip-group/chip-group.component.d.ts.map +1 -1
  162. package/development/chip/chip-group/chip-group.component.js +11 -5
  163. package/development/clock/clock.component.d.ts +3 -1
  164. package/development/clock/clock.component.d.ts.map +1 -1
  165. package/development/clock/clock.component.js +5 -4
  166. package/development/container/container/container.component.d.ts.map +1 -1
  167. package/development/container/container/container.component.js +4 -3
  168. package/development/container/sticky-bar/sticky-bar.component.d.ts +3 -1
  169. package/development/container/sticky-bar/sticky-bar.component.d.ts.map +1 -1
  170. package/development/container/sticky-bar/sticky-bar.component.js +40 -34
  171. package/development/core/a11y/focus-visible-within-controller.d.ts +2 -1
  172. package/development/core/a11y/focus-visible-within-controller.d.ts.map +1 -1
  173. package/development/core/a11y/focus-visible-within-controller.js +4 -3
  174. package/development/core/a11y/interactivity-checker.js +1 -1
  175. package/development/core/base-elements/action-base-element.d.ts +1 -0
  176. package/development/core/base-elements/action-base-element.d.ts.map +1 -1
  177. package/development/core/base-elements/action-base-element.js +41 -56
  178. package/development/core/base-elements/button-base-element.d.ts +1 -1
  179. package/development/core/base-elements/button-base-element.d.ts.map +1 -1
  180. package/development/core/base-elements/button-base-element.js +7 -7
  181. package/development/core/base-elements/link-base-element.d.ts.map +1 -1
  182. package/development/core/base-elements/link-base-element.js +6 -15
  183. package/development/core/base-elements/open-close-base-element.d.ts +2 -1
  184. package/development/core/base-elements/open-close-base-element.d.ts.map +1 -1
  185. package/development/core/base-elements/open-close-base-element.js +12 -6
  186. package/development/core/controllers/media-matchers-controller.d.ts +4 -1
  187. package/development/core/controllers/media-matchers-controller.d.ts.map +1 -1
  188. package/development/core/controllers/media-matchers-controller.js +12 -5
  189. package/development/core/controllers/overlay-position-controller.d.ts +3 -2
  190. package/development/core/controllers/overlay-position-controller.d.ts.map +1 -1
  191. package/development/core/controllers/overlay-position-controller.js +3 -3
  192. package/development/core/controllers/property-watcher-controller.d.ts +16 -0
  193. package/development/core/controllers/property-watcher-controller.d.ts.map +1 -0
  194. package/development/core/controllers/property-watcher-controller.js +101 -0
  195. package/development/core/controllers.d.ts +1 -1
  196. package/development/core/controllers.js +6 -3
  197. package/development/core/datetime/date-adapter.d.ts +1 -3
  198. package/development/core/datetime/date-adapter.d.ts.map +1 -1
  199. package/development/core/datetime/date-adapter.js +1 -1
  200. package/development/core/dom/animation.d.ts.map +1 -1
  201. package/development/core/dom/animation.js +2 -2
  202. package/development/core/dom/set-or-remove-attribute.d.ts +0 -14
  203. package/development/core/dom/set-or-remove-attribute.d.ts.map +1 -1
  204. package/development/core/dom/set-or-remove-attribute.js +1 -9
  205. package/development/core/dom.d.ts +0 -2
  206. package/development/core/dom.d.ts.map +1 -1
  207. package/development/core/dom.js +2 -10
  208. package/development/core/i18n/i18n.d.ts +0 -2
  209. package/development/core/i18n/i18n.d.ts.map +1 -1
  210. package/development/core/i18n/i18n.js +1 -8
  211. package/development/core/i18n.js +1 -2
  212. package/development/core/interfaces/types.d.ts +0 -14
  213. package/development/core/interfaces/types.d.ts.map +1 -1
  214. package/development/core/mixins/element-internals-mixin.d.ts +14 -1
  215. package/development/core/mixins/element-internals-mixin.d.ts.map +1 -1
  216. package/development/core/mixins/element-internals-mixin.js +58 -10
  217. package/development/core/mixins/form-associated-input-mixin.js +1 -1
  218. package/development/core/mixins/form-associated-mixin.js +2 -2
  219. package/development/core/mixins/form-associated-radio-button-mixin.js +2 -2
  220. package/development/core/mixins/panel-mixin.d.ts +10 -2
  221. package/development/core/mixins/panel-mixin.d.ts.map +1 -1
  222. package/development/core/mixins/panel-mixin.js +24 -6
  223. package/development/core/mixins/selection-panel-mixin.d.ts +5 -11
  224. package/development/core/mixins/selection-panel-mixin.d.ts.map +1 -1
  225. package/development/core/mixins/selection-panel-mixin.js +47 -111
  226. package/development/core/mixins.js +18 -9
  227. package/development/core/overlay/overlay-option-panel.d.ts +2 -1
  228. package/development/core/overlay/overlay-option-panel.d.ts.map +1 -1
  229. package/development/core/overlay/overlay-option-panel.js +10 -2
  230. package/development/core/overlay/position.js +1 -1
  231. package/development/core/testing/wait-for-render.d.ts +1 -1
  232. package/development/core/testing/wait-for-render.js +1 -1
  233. package/development/date-input/date-input.component.d.ts +0 -5
  234. package/development/date-input/date-input.component.d.ts.map +1 -1
  235. package/development/date-input/date-input.component.js +1 -8
  236. package/development/dialog/dialog/dialog.component.js +7 -7
  237. package/development/expansion-panel/expansion-panel/expansion-panel.component.d.ts +4 -6
  238. package/development/expansion-panel/expansion-panel/expansion-panel.component.d.ts.map +1 -1
  239. package/development/expansion-panel/expansion-panel/expansion-panel.component.js +30 -33
  240. package/development/expansion-panel/expansion-panel-content/expansion-panel-content.component.d.ts +2 -0
  241. package/development/expansion-panel/expansion-panel-content/expansion-panel-content.component.d.ts.map +1 -1
  242. package/development/expansion-panel/expansion-panel-content/expansion-panel-content.component.js +17 -2
  243. package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.d.ts +1 -0
  244. package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.d.ts.map +1 -1
  245. package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +17 -6
  246. package/development/file-selector/common/file-selector-common.d.ts.map +1 -1
  247. package/development/file-selector/common/file-selector-common.js +5 -5
  248. package/development/flip-card/flip-card/flip-card.component.d.ts +2 -1
  249. package/development/flip-card/flip-card/flip-card.component.d.ts.map +1 -1
  250. package/development/flip-card/flip-card/flip-card.component.js +25 -14
  251. package/development/flip-card/flip-card-details/flip-card-details.component.d.ts +3 -1
  252. package/development/flip-card/flip-card-details/flip-card-details.component.d.ts.map +1 -1
  253. package/development/flip-card/flip-card-details/flip-card-details.component.js +7 -6
  254. package/development/flip-card/flip-card-summary/flip-card-summary.component.d.ts +1 -2
  255. package/development/flip-card/flip-card-summary/flip-card-summary.component.d.ts.map +1 -1
  256. package/development/flip-card/flip-card-summary/flip-card-summary.component.js +1 -7
  257. package/development/form-field/error/error.component.js +2 -2
  258. package/development/form-field/form-field/form-field.component.d.ts +1 -1
  259. package/development/form-field/form-field/form-field.component.d.ts.map +1 -1
  260. package/development/form-field/form-field/form-field.component.js +2 -2
  261. package/development/form-field/form-field-clear/form-field-clear.component.js +2 -2
  262. package/development/header/common/header-action-common.js +5 -5
  263. package/development/header/header/header.component.d.ts +1 -1
  264. package/development/header/header/header.component.d.ts.map +1 -1
  265. package/development/header/header/header.component.js +14 -14
  266. package/development/header/header-environment/header-environment.component.d.ts +1 -0
  267. package/development/header/header-environment/header-environment.component.d.ts.map +1 -1
  268. package/development/header/header-environment/header-environment.component.js +8 -5
  269. package/development/icon/icon-base.d.ts +1 -0
  270. package/development/icon/icon-base.d.ts.map +1 -1
  271. package/development/icon/icon-base.js +21 -25
  272. package/development/icon/icon-validate.js +2 -2
  273. package/development/{icon-sidebar-button-common-C6QChtaa.js → icon-sidebar-button-common-DR6eQvkq.js} +4 -4
  274. package/development/image/image.component.d.ts +5 -3
  275. package/development/image/image.component.d.ts.map +1 -1
  276. package/development/image/image.component.js +10 -9
  277. package/development/link/common/block-link-common.js +1 -1
  278. package/development/link/common/inline-link-common.js +1 -1
  279. package/development/link/common/link-common.d.ts.map +1 -1
  280. package/development/link/common/link-common.js +2 -3
  281. package/development/link/common.js +1 -1
  282. package/development/{link-common-DYZHRSSJ.js → link-common-CYr3PeRf.js} +9 -16
  283. package/development/link-list/link-list-anchor/link-list-anchor.component.js +6 -6
  284. package/development/link.js +1 -1
  285. package/development/map-container/map-container.component.d.ts +3 -1
  286. package/development/map-container/map-container.component.d.ts.map +1 -1
  287. package/development/map-container/map-container.component.js +5 -4
  288. package/development/menu/common/menu-action-common.js +2 -2
  289. package/development/menu/menu/menu.component.d.ts +1 -1
  290. package/development/menu/menu/menu.component.d.ts.map +1 -1
  291. package/development/menu/menu/menu.component.js +29 -23
  292. package/development/{mini-button-common-TSDaMUCP.js → mini-button-common-CWTMR_Lu.js} +15 -15
  293. package/development/mini-calendar/mini-calendar/mini-calendar.component.d.ts.map +1 -1
  294. package/development/mini-calendar/mini-calendar/mini-calendar.component.js +7 -6
  295. package/development/mini-calendar/mini-calendar-month/mini-calendar-month.component.js +4 -4
  296. package/development/navigation/common/navigation-action-common.js +7 -7
  297. package/development/navigation/navigation/navigation.component.d.ts +0 -1
  298. package/development/navigation/navigation/navigation.component.d.ts.map +1 -1
  299. package/development/navigation/navigation/navigation.component.js +26 -38
  300. package/development/navigation/navigation-marker/navigation-marker.component.d.ts +1 -1
  301. package/development/navigation/navigation-marker/navigation-marker.component.d.ts.map +1 -1
  302. package/development/navigation/navigation-marker/navigation-marker.component.js +8 -8
  303. package/development/navigation/navigation-section/navigation-section.component.d.ts +8 -7
  304. package/development/navigation/navigation-section/navigation-section.component.d.ts.map +1 -1
  305. package/development/navigation/navigation-section/navigation-section.component.js +48 -45
  306. package/development/notification/notification.component.d.ts +3 -2
  307. package/development/notification/notification.component.d.ts.map +1 -1
  308. package/development/notification/notification.component.js +22 -19
  309. package/development/option/optgroup/optgroup-base-element.d.ts +0 -3
  310. package/development/option/optgroup/optgroup-base-element.d.ts.map +1 -1
  311. package/development/option/optgroup/optgroup-base-element.js +6 -32
  312. package/development/option/optgroup/optgroup.component.d.ts +2 -2
  313. package/development/option/optgroup/optgroup.component.d.ts.map +1 -1
  314. package/development/option/optgroup/optgroup.component.js +21 -13
  315. package/development/option/option/option-base-element.d.ts +0 -5
  316. package/development/option/option/option-base-element.d.ts.map +1 -1
  317. package/development/option/option/option-base-element.js +8 -41
  318. package/development/option/option/option.component.d.ts +5 -4
  319. package/development/option/option/option.component.d.ts.map +1 -1
  320. package/development/option/option/option.component.js +52 -39
  321. package/development/overlay/overlay-base-element.d.ts +1 -1
  322. package/development/overlay/overlay-base-element.js +2 -2
  323. package/development/overlay/overlay.component.js +7 -7
  324. package/development/paginator/common/paginator-common.d.ts +0 -1
  325. package/development/paginator/common/paginator-common.d.ts.map +1 -1
  326. package/development/paginator/common/paginator-common.js +1 -1
  327. package/development/paginator/paginator/paginator.component.d.ts +1 -1
  328. package/development/paginator/paginator/paginator.component.d.ts.map +1 -1
  329. package/development/paginator/paginator/paginator.component.js +8 -14
  330. package/development/popover/{popover/popover.component.d.ts → popover.component.d.ts} +2 -2
  331. package/development/popover/popover.component.d.ts.map +1 -0
  332. package/development/popover/popover.component.js +720 -0
  333. package/development/popover.d.ts +1 -1
  334. package/development/popover.d.ts.map +1 -1
  335. package/development/popover.js +1 -1
  336. package/development/radio-button/common.js +1 -1
  337. package/development/radio-button/radio-button/radio-button.component.d.ts +0 -1
  338. package/development/radio-button/radio-button/radio-button.component.d.ts.map +1 -1
  339. package/development/radio-button/radio-button/radio-button.component.js +1 -2
  340. package/development/radio-button/radio-button-group/radio-button-group.component.d.ts +0 -1
  341. package/development/radio-button/radio-button-group/radio-button-group.component.d.ts.map +1 -1
  342. package/development/radio-button/radio-button-group/radio-button-group.component.js +28 -43
  343. package/development/radio-button/radio-button-panel/radio-button-panel.component.d.ts +0 -12
  344. package/development/radio-button/radio-button-panel/radio-button-panel.component.d.ts.map +1 -1
  345. package/development/radio-button/radio-button-panel/radio-button-panel.component.js +5 -37
  346. package/development/{radio-button-common-BPrInmpg.js → radio-button-common-B3kVD7QV.js} +19 -42
  347. package/development/radio-button.js +1 -1
  348. package/development/{sbb-tokens-DZrHvErO.js → sbb-tokens-CZCt5L4q.js} +9 -9
  349. package/development/select/select.component.d.ts +1 -1
  350. package/development/select/select.component.d.ts.map +1 -1
  351. package/development/select/select.component.js +31 -36
  352. package/development/selection-action-panel/selection-action-panel.component.d.ts +0 -1
  353. package/development/selection-action-panel/selection-action-panel.component.d.ts.map +1 -1
  354. package/development/selection-action-panel/selection-action-panel.component.js +22 -9
  355. package/development/selection-expansion-panel/selection-expansion-panel.component.d.ts +5 -6
  356. package/development/selection-expansion-panel/selection-expansion-panel.component.d.ts.map +1 -1
  357. package/development/selection-expansion-panel/selection-expansion-panel.component.js +35 -30
  358. package/development/sidebar/common.js +1 -1
  359. package/development/sidebar/sidebar/sidebar.component.d.ts.map +1 -1
  360. package/development/sidebar/sidebar/sidebar.component.js +13 -14
  361. package/development/sidebar/sidebar-container/sidebar-container.component.d.ts.map +1 -1
  362. package/development/sidebar/sidebar-container/sidebar-container.component.js +10 -8
  363. package/development/sidebar.js +1 -1
  364. package/development/skiplink-list/skiplink-list.component.js +1 -1
  365. package/development/stepper/step/step.component.d.ts +3 -1
  366. package/development/stepper/step/step.component.d.ts.map +1 -1
  367. package/development/stepper/step/step.component.js +25 -12
  368. package/development/stepper/step-label/step-label.component.d.ts +4 -1
  369. package/development/stepper/step-label/step-label.component.d.ts.map +1 -1
  370. package/development/stepper/step-label/step-label.component.js +40 -17
  371. package/development/stepper/stepper/stepper.component.d.ts +2 -2
  372. package/development/stepper/stepper/stepper.component.d.ts.map +1 -1
  373. package/development/stepper/stepper/stepper.component.js +21 -22
  374. package/development/tabs/tab/tab.component.d.ts +0 -5
  375. package/development/tabs/tab/tab.component.d.ts.map +1 -1
  376. package/development/tabs/tab/tab.component.js +3 -9
  377. package/development/tabs/tab-group/tab-group.component.d.ts +1 -25
  378. package/development/tabs/tab-group/tab-group.component.d.ts.map +1 -1
  379. package/development/tabs/tab-group/tab-group.component.js +19 -23
  380. package/development/tabs/tab-label/tab-label.component.d.ts +1 -0
  381. package/development/tabs/tab-label/tab-label.component.d.ts.map +1 -1
  382. package/development/tabs/tab-label/tab-label.component.js +20 -7
  383. package/development/tag/tag/tag.component.js +9 -9
  384. package/development/teaser/teaser.component.js +2 -2
  385. package/development/teaser-product/common.js +1 -1
  386. package/development/teaser-product/teaser-product/teaser-product.component.js +2 -2
  387. package/development/{teaser-product-common-v3BvyFdH.js → teaser-product-common-CJfmvweQ.js} +2 -2
  388. package/development/teaser-product.js +1 -1
  389. package/development/time-input/time-input.component.d.ts +0 -5
  390. package/development/time-input/time-input.component.d.ts.map +1 -1
  391. package/development/time-input/time-input.component.js +1 -8
  392. package/development/toast/toast.component.js +5 -5
  393. package/development/toggle/toggle/toggle.component.js +4 -4
  394. package/development/toggle/toggle-option/toggle-option.component.d.ts.map +1 -1
  395. package/development/toggle/toggle-option/toggle-option.component.js +2 -3
  396. package/development/toggle-check/toggle-check.component.js +4 -4
  397. package/development/tooltip/tooltip.component.d.ts.map +1 -1
  398. package/development/tooltip/tooltip.component.js +7 -7
  399. package/development/visual-checkbox/visual-checkbox.component.js +8 -4
  400. package/dialog/dialog/dialog.component.js +20 -20
  401. package/expansion-panel/expansion-panel/expansion-panel.component.d.ts +4 -6
  402. package/expansion-panel/expansion-panel/expansion-panel.component.d.ts.map +1 -1
  403. package/expansion-panel/expansion-panel/expansion-panel.component.js +51 -56
  404. package/expansion-panel/expansion-panel-content/expansion-panel-content.component.d.ts +2 -0
  405. package/expansion-panel/expansion-panel-content/expansion-panel-content.component.d.ts.map +1 -1
  406. package/expansion-panel/expansion-panel-content/expansion-panel-content.component.js +21 -13
  407. package/expansion-panel/expansion-panel-header/expansion-panel-header.component.d.ts +1 -0
  408. package/expansion-panel/expansion-panel-header/expansion-panel-header.component.d.ts.map +1 -1
  409. package/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +24 -20
  410. package/file-selector/common/file-selector-common.d.ts.map +1 -1
  411. package/file-selector/common/file-selector-common.js +28 -28
  412. package/flip-card/flip-card/flip-card.component.d.ts +2 -1
  413. package/flip-card/flip-card/flip-card.component.d.ts.map +1 -1
  414. package/flip-card/flip-card/flip-card.component.js +44 -40
  415. package/flip-card/flip-card-details/flip-card-details.component.d.ts +3 -1
  416. package/flip-card/flip-card-details/flip-card-details.component.d.ts.map +1 -1
  417. package/flip-card/flip-card-details/flip-card-details.component.js +15 -14
  418. package/flip-card/flip-card-summary/flip-card-summary.component.d.ts +1 -2
  419. package/flip-card/flip-card-summary/flip-card-summary.component.d.ts.map +1 -1
  420. package/flip-card/flip-card-summary/flip-card-summary.component.js +23 -26
  421. package/form-field/error/error.component.js +3 -3
  422. package/form-field/form-field/form-field.component.d.ts +1 -1
  423. package/form-field/form-field/form-field.component.d.ts.map +1 -1
  424. package/form-field/form-field/form-field.component.js +1 -1
  425. package/form-field/form-field-clear/form-field-clear.component.js +7 -7
  426. package/header/common/header-action-common.js +14 -14
  427. package/header/header/header.component.d.ts +1 -1
  428. package/header/header/header.component.d.ts.map +1 -1
  429. package/header/header/header.component.js +40 -40
  430. package/header/header-environment/header-environment.component.d.ts +1 -0
  431. package/header/header-environment/header-environment.component.d.ts.map +1 -1
  432. package/header/header-environment/header-environment.component.js +8 -9
  433. package/icon/icon-base.d.ts +1 -0
  434. package/icon/icon-base.d.ts.map +1 -1
  435. package/icon/icon-base.js +45 -48
  436. package/icon/icon-validate.js +3 -3
  437. package/{icon-sidebar-button-common-W6GYJbVt.js → icon-sidebar-button-common-ffAscVDk.js} +1 -1
  438. package/image/image.component.d.ts +5 -3
  439. package/image/image.component.d.ts.map +1 -1
  440. package/image/image.component.js +31 -30
  441. package/index.d.ts +1 -1
  442. package/index.js +1 -1
  443. package/link/common/block-link-common.js +1 -1
  444. package/link/common/inline-link-common.js +1 -1
  445. package/link/common/link-common.d.ts.map +1 -1
  446. package/link/common/link-common.js +2 -3
  447. package/link/common.js +1 -1
  448. package/link-common-D9TmX32v.js +45 -0
  449. package/link-list/link-list-anchor/link-list-anchor.component.js +9 -9
  450. package/link.js +1 -1
  451. package/map-container/map-container.component.d.ts +3 -1
  452. package/map-container/map-container.component.d.ts.map +1 -1
  453. package/map-container/map-container.component.js +18 -17
  454. package/menu/common/menu-action-common.js +5 -5
  455. package/menu/menu/menu.component.d.ts +1 -1
  456. package/menu/menu/menu.component.d.ts.map +1 -1
  457. package/menu/menu/menu.component.js +29 -28
  458. package/mini-button-common-Bb4ri3Rn.js +10 -0
  459. package/mini-calendar/mini-calendar/mini-calendar.component.d.ts.map +1 -1
  460. package/mini-calendar/mini-calendar/mini-calendar.component.js +22 -21
  461. package/navigation/common/navigation-action-common.js +10 -10
  462. package/navigation/navigation/navigation.component.d.ts +0 -1
  463. package/navigation/navigation/navigation.component.d.ts.map +1 -1
  464. package/navigation/navigation/navigation.component.js +46 -55
  465. package/navigation/navigation-marker/navigation-marker.component.d.ts +1 -1
  466. package/navigation/navigation-marker/navigation-marker.component.d.ts.map +1 -1
  467. package/navigation/navigation-marker/navigation-marker.component.js +20 -20
  468. package/navigation/navigation-section/navigation-section.component.d.ts +8 -7
  469. package/navigation/navigation-section/navigation-section.component.d.ts.map +1 -1
  470. package/navigation/navigation-section/navigation-section.component.js +65 -65
  471. package/notification/notification.component.d.ts +3 -2
  472. package/notification/notification.component.d.ts.map +1 -1
  473. package/notification/notification.component.js +22 -25
  474. package/off-brand-theme.css +151 -26
  475. package/option/optgroup/optgroup-base-element.d.ts +0 -3
  476. package/option/optgroup/optgroup-base-element.d.ts.map +1 -1
  477. package/option/optgroup/optgroup-base-element.js +45 -64
  478. package/option/optgroup/optgroup.component.d.ts +2 -2
  479. package/option/optgroup/optgroup.component.d.ts.map +1 -1
  480. package/option/optgroup/optgroup.component.js +27 -19
  481. package/option/option/option-base-element.d.ts +0 -5
  482. package/option/option/option-base-element.d.ts.map +1 -1
  483. package/option/option/option-base-element.js +58 -74
  484. package/option/option/option.component.d.ts +5 -4
  485. package/option/option/option.component.d.ts.map +1 -1
  486. package/option/option/option.component.js +40 -36
  487. package/overlay/overlay-base-element.d.ts +1 -1
  488. package/overlay/overlay-base-element.js +1 -1
  489. package/overlay/overlay.component.js +28 -28
  490. package/package.json +1 -6
  491. package/paginator/common/paginator-common.d.ts +0 -1
  492. package/paginator/common/paginator-common.d.ts.map +1 -1
  493. package/paginator/paginator/paginator.component.d.ts +1 -1
  494. package/paginator/paginator/paginator.component.d.ts.map +1 -1
  495. package/paginator/paginator/paginator.component.js +17 -20
  496. package/popover/{popover/popover.component.d.ts → popover.component.d.ts} +2 -2
  497. package/popover/popover.component.d.ts.map +1 -0
  498. package/popover/popover.component.js +316 -0
  499. package/popover.d.ts +1 -1
  500. package/popover.d.ts.map +1 -1
  501. package/popover.js +1 -1
  502. package/radio-button/common.js +1 -1
  503. package/radio-button/radio-button/radio-button.component.d.ts +0 -1
  504. package/radio-button/radio-button/radio-button.component.d.ts.map +1 -1
  505. package/radio-button/radio-button/radio-button.component.js +4 -5
  506. package/radio-button/radio-button-group/radio-button-group.component.d.ts +0 -1
  507. package/radio-button/radio-button-group/radio-button-group.component.d.ts.map +1 -1
  508. package/radio-button/radio-button-group/radio-button-group.component.js +45 -46
  509. package/radio-button/radio-button-panel/radio-button-panel.component.d.ts +0 -12
  510. package/radio-button/radio-button-panel/radio-button-panel.component.d.ts.map +1 -1
  511. package/radio-button/radio-button-panel/radio-button-panel.component.js +36 -54
  512. package/radio-button-common-1Yg7p8dc.js +5 -0
  513. package/radio-button.js +1 -1
  514. package/safety-theme.css +151 -26
  515. package/{sbb-tokens-BNWpZrLn.js → sbb-tokens-DruExozg.js} +8 -8
  516. package/select/select.component.d.ts +1 -1
  517. package/select/select.component.d.ts.map +1 -1
  518. package/select/select.component.js +52 -52
  519. package/selection-action-panel/selection-action-panel.component.d.ts +0 -1
  520. package/selection-action-panel/selection-action-panel.component.d.ts.map +1 -1
  521. package/selection-action-panel/selection-action-panel.component.js +9 -13
  522. package/selection-expansion-panel/selection-expansion-panel.component.d.ts +5 -6
  523. package/selection-expansion-panel/selection-expansion-panel.component.d.ts.map +1 -1
  524. package/selection-expansion-panel/selection-expansion-panel.component.js +49 -55
  525. package/sidebar/common.js +1 -1
  526. package/sidebar/sidebar/sidebar.component.d.ts.map +1 -1
  527. package/sidebar/sidebar/sidebar.component.js +26 -32
  528. package/sidebar/sidebar-container/sidebar-container.component.d.ts.map +1 -1
  529. package/sidebar/sidebar-container/sidebar-container.component.js +33 -32
  530. package/sidebar.js +1 -1
  531. package/skiplink-list/skiplink-list.component.js +1 -1
  532. package/standard-theme.css +151 -26
  533. package/stepper/step/step.component.d.ts +3 -1
  534. package/stepper/step/step.component.d.ts.map +1 -1
  535. package/stepper/step/step.component.js +28 -20
  536. package/stepper/step-label/step-label.component.d.ts +4 -1
  537. package/stepper/step-label/step-label.component.d.ts.map +1 -1
  538. package/stepper/step-label/step-label.component.js +35 -23
  539. package/stepper/stepper/stepper.component.d.ts +2 -2
  540. package/stepper/stepper/stepper.component.d.ts.map +1 -1
  541. package/stepper/stepper/stepper.component.js +49 -48
  542. package/tabs/tab/tab.component.d.ts +0 -5
  543. package/tabs/tab/tab.component.d.ts.map +1 -1
  544. package/tabs/tab/tab.component.js +12 -18
  545. package/tabs/tab-group/tab-group.component.d.ts +1 -25
  546. package/tabs/tab-group/tab-group.component.d.ts.map +1 -1
  547. package/tabs/tab-group/tab-group.component.js +48 -50
  548. package/tabs/tab-label/tab-label.component.d.ts +1 -0
  549. package/tabs/tab-label/tab-label.component.d.ts.map +1 -1
  550. package/tabs/tab-label/tab-label.component.js +34 -29
  551. package/tag/tag/tag.component.js +12 -12
  552. package/teaser/teaser.component.js +1 -1
  553. package/teaser-product/common.js +1 -1
  554. package/teaser-product/teaser-product/teaser-product.component.js +1 -1
  555. package/teaser-product-common-DwaWdQEh.js +5 -0
  556. package/teaser-product.js +1 -1
  557. package/time-input/time-input.component.d.ts +0 -5
  558. package/time-input/time-input.component.d.ts.map +1 -1
  559. package/time-input/time-input.component.js +3 -10
  560. package/toast/toast.component.js +23 -23
  561. package/toggle/toggle/toggle.component.js +13 -13
  562. package/toggle/toggle-option/toggle-option.component.d.ts.map +1 -1
  563. package/toggle/toggle-option/toggle-option.component.js +20 -21
  564. package/toggle-check/toggle-check.component.js +8 -8
  565. package/tooltip/tooltip.component.d.ts.map +1 -1
  566. package/tooltip/tooltip.component.js +39 -39
  567. package/visual-checkbox/visual-checkbox.component.js +15 -15
  568. package/checkbox-common-DK5WsQPi.js +0 -5
  569. package/core/controllers/ancestor-watcher-controller.d.ts +0 -14
  570. package/core/controllers/ancestor-watcher-controller.d.ts.map +0 -1
  571. package/core/controllers/ancestor-watcher-controller.js +0 -51
  572. package/core/dom/breakpoint.d.ts +0 -16
  573. package/core/dom/breakpoint.d.ts.map +0 -1
  574. package/core/dom/breakpoint.js +0 -12
  575. package/core/dom/host-context.d.ts +0 -11
  576. package/core/dom/host-context.d.ts.map +0 -1
  577. package/core/dom/host-context.js +0 -17
  578. package/development/core/controllers/ancestor-watcher-controller.d.ts +0 -14
  579. package/development/core/controllers/ancestor-watcher-controller.d.ts.map +0 -1
  580. package/development/core/controllers/ancestor-watcher-controller.js +0 -87
  581. package/development/core/dom/breakpoint.d.ts +0 -16
  582. package/development/core/dom/breakpoint.d.ts.map +0 -1
  583. package/development/core/dom/breakpoint.js +0 -19
  584. package/development/core/dom/host-context.d.ts +0 -11
  585. package/development/core/dom/host-context.d.ts.map +0 -1
  586. package/development/core/dom/host-context.js +0 -21
  587. package/development/popover/popover/popover.component.d.ts.map +0 -1
  588. package/development/popover/popover/popover.component.js +0 -722
  589. package/development/popover/popover.d.ts +0 -5
  590. package/development/popover/popover.d.ts.map +0 -1
  591. package/development/popover/popover.js +0 -6
  592. package/link-common-CdQBSga7.js +0 -46
  593. package/mini-button-common-C3-aFB4L.js +0 -10
  594. package/popover/popover/popover.component.d.ts.map +0 -1
  595. package/popover/popover/popover.component.js +0 -321
  596. package/popover/popover.d.ts +0 -5
  597. package/popover/popover.d.ts.map +0 -1
  598. package/popover/popover.js +0 -5
  599. package/radio-button-common-chJrmIBn.js +0 -5
  600. package/teaser-product-common-a4NenpSA.js +0 -5
@@ -1,6 +1,7 @@
1
1
  import { __esDecorate, __runInitializers } from "tslib";
2
2
  import { css, LitElement, isServer, html } from "lit";
3
3
  import { customElement } from "lit/decorators.js";
4
+ import { ɵstateController as _stateController } from "../../core/mixins.js";
4
5
  import { boxSizingStyles } from "../../core/styles.js";
5
6
  import { sidebarContainerCommonStyle } from "../common.js";
6
7
  const style = css`:host {
@@ -102,23 +103,24 @@ let SbbSidebarContainerElement = (() => {
102
103
  return;
103
104
  }
104
105
  const sidebars = this.sidebars;
105
- const hasForcedClosedParentContainer = parentSidebars.some((sidebar) => sidebar.hasAttribute("data-mode-over-forced")) ?? false;
106
+ const hasForcedClosedParentContainer = parentSidebars.some((sidebar) => sidebar.matches(":is(:state(mode-over-forced),[state--mode-over-forced])")) ?? false;
106
107
  const sumOfAllRelevantSidebarWidths = sidebars.filter((sidebar) => sidebar.mode === "side").reduce((accumulator, currentValue) => accumulator + (currentValue.offsetWidth ?? 0), 0);
107
108
  const isMinimumSpace = width - sumOfAllRelevantSidebarWidths < MIN_WIDTH_BEFORE_COLLAPSE;
108
109
  for (const sidebar of sidebars) {
109
- const wasMinimum = sidebar.hasAttribute("data-mode-over-forced");
110
- sidebar.toggleAttribute("data-mode-over-forced", isMinimumSpace);
110
+ const wasMinimum = sidebar.matches(":is(:state(mode-over-forced),[state--mode-over-forced])");
111
+ const controller = _stateController(sidebar);
112
+ controller.toggle("mode-over-forced", isMinimumSpace);
111
113
  if (sidebar.mode !== "side") {
112
114
  continue;
113
115
  }
114
116
  if ((isMinimumSpace || hasForcedClosedParentContainer) && sidebar.opened && !wasMinimum) {
115
- if (sidebar.isOpen && !sidebar.hasAttribute("data-skip-animation")) {
116
- sidebar.toggleAttribute("data-mode-over-forced-closing", true);
117
+ if (sidebar.isOpen && !sidebar.matches(":is(:state(skip-animation),[state--skip-animation])")) {
118
+ controller.add("mode-over-forced-closing");
117
119
  }
118
120
  sidebar.opened = false;
119
121
  this._forcedClosedSidebars.add(sidebar);
120
- if (sidebar.hasAttribute("data-mode-over-forced-closing")) {
121
- sidebar.updateComplete.then(() => sidebar.animationComplete).then(() => sidebar.removeAttribute("data-mode-over-forced-closing"));
122
+ if (sidebar.matches(":is(:state(mode-over-forced-closing),[state--mode-over-forced-closing])")) {
123
+ sidebar.updateComplete.then(() => sidebar.animationComplete).then(() => controller.delete("mode-over-forced-closing"));
122
124
  }
123
125
  } else if (
124
126
  // We have to open the sidebar when the remaining width of the sidebar and the parent container
@@ -154,4 +156,4 @@ let SbbSidebarContainerElement = (() => {
154
156
  export {
155
157
  SbbSidebarContainerElement
156
158
  };
157
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZWJhci1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvc2lkZWJhci9zaWRlYmFyLWNvbnRhaW5lci9zaWRlYmFyLWNvbnRhaW5lci5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgaHRtbCxcbiAgaXNTZXJ2ZXIsXG4gIExpdEVsZW1lbnQsXG4gIHR5cGUgUHJvcGVydHlWYWx1ZXMsXG4gIHR5cGUgVGVtcGxhdGVSZXN1bHQsXG59IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBib3hTaXppbmdTdHlsZXMgfSBmcm9tICcuLi8uLi9jb3JlL3N0eWxlcy50cyc7XG5pbXBvcnQgeyBzaWRlYmFyQ29udGFpbmVyQ29tbW9uU3R5bGUgfSBmcm9tICcuLi9jb21tb24udHMnO1xuaW1wb3J0IHR5cGUgeyBTYmJTaWRlYmFyRWxlbWVudCB9IGZyb20gJy4uL3NpZGViYXIudHMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9zaWRlYmFyLWNvbnRhaW5lci5zY3NzP2xpdCZpbmxpbmUnO1xuXG5jb25zdCBzaWRlYmFyQ29udGFpbmVyUmVnaXN0cnkgPSBuZXcgU2V0PFNiYlNpZGViYXJDb250YWluZXJFbGVtZW50PigpO1xubGV0IHNpZGViYXJDb250YWluZXJSZXNpemVPYnNlcnZlcjogUmVzaXplT2JzZXJ2ZXIgfCB1bmRlZmluZWQ7XG5cbmNvbnN0IE1JTl9XSURUSF9CRUZPUkVfQ09MTEFQU0UgPSAzMjA7XG5cbi8qKlxuICogVGhpcyBpcyB0aGUgcGFyZW50IGNvbXBvbmVudCB0byBvbmUgb3IgdHdvIGA8c2JiLXNpZGViYXI+YHMgdGhhdCB2YWxpZGF0ZXMgdGhlIHN0YXRlIGludGVybmFsbHlcbiAqIGFuZCBjb29yZGluYXRlcyB0aGUgYmFja2Ryb3AgYW5kIGNvbnRlbnQgc3R5bGluZy5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBgc2JiLXNpZGViYXJgIGFuZCBgc2JiLXNpZGViYXItY29udGVudGAgZWxlbWVudHMuXG4gKi9cbmV4cG9ydFxuQGN1c3RvbUVsZW1lbnQoJ3NiYi1zaWRlYmFyLWNvbnRhaW5lcicpXG5jbGFzcyBTYmJTaWRlYmFyQ29udGFpbmVyRWxlbWVudCBleHRlbmRzIExpdEVsZW1lbnQge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbXG4gICAgYm94U2l6aW5nU3R5bGVzLFxuICAgIHNpZGViYXJDb250YWluZXJDb21tb25TdHlsZSxcbiAgICBzdHlsZSxcbiAgXTtcblxuICAvKiogVGhlIHNpZGViYXIgY2hpbGRyZW4uICovXG4gIHB1YmxpYyBnZXQgc2lkZWJhcnMoKTogU2JiU2lkZWJhckVsZW1lbnRbXSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5xdWVyeVNlbGVjdG9yQWxsPy48U2JiU2lkZWJhckVsZW1lbnQ+KGA6c2NvcGUgPiBzYmItc2lkZWJhcmApID8/IFtdKTtcbiAgfVxuXG4gIC8qKiBUaGUgc2lkZWJhciBjaGlsZCB3aXRoIHRoZSBgc3RhcnRgIHBvc2l0aW9uLiAqL1xuICBwdWJsaWMgZ2V0IHN0YXJ0KCk6IFNiYlNpZGViYXJFbGVtZW50IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMucXVlcnlTZWxlY3Rvcj8uPFNiYlNpZGViYXJFbGVtZW50PihgOnNjb3BlID4gc2JiLXNpZGViYXI6bm90KFtwb3NpdGlvbj0nZW5kJ10pYCk7XG4gIH1cblxuICAvKiogVGhlIHNpZGViYXIgY2hpbGQgd2l0aCB0aGUgYGVuZGAgcG9zaXRpb24uICovXG4gIHB1YmxpYyBnZXQgZW5kKCk6IFNiYlNpZGViYXJFbGVtZW50IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMucXVlcnlTZWxlY3Rvcj8uPFNiYlNpZGViYXJFbGVtZW50PihgOnNjb3BlID4gc2JiLXNpZGViYXJbcG9zaXRpb249J2VuZCddYCk7XG4gIH1cblxuICBwcml2YXRlIF9mb3JjZWRDbG9zZWRTaWRlYmFycyA9IG5ldyBXZWFrU2V0PFNiYlNpZGViYXJFbGVtZW50PigpO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuXG4gICAgc2lkZWJhckNvbnRhaW5lclJlc2l6ZU9ic2VydmVyID8/PVxuICAgICAgIWlzU2VydmVyICYmIG5ldyBSZXNpemVPYnNlcnZlcigoKSA9PiB0aGlzLl9oYW5kbGVXaWR0aENoYW5nZSgpKTtcblxuICAgIGlmICghaXNTZXJ2ZXIgJiYgc2lkZWJhckNvbnRhaW5lclJlZ2lzdHJ5LnNpemUgPT09IDApIHtcbiAgICAgIHNpZGViYXJDb250YWluZXJSZXNpemVPYnNlcnZlci5vYnNlcnZlKGRvY3VtZW50Py5kb2N1bWVudEVsZW1lbnQpO1xuICAgIH1cblxuICAgIHNpZGViYXJDb250YWluZXJSZWdpc3RyeS5hZGQodGhpcyk7XG5cbiAgICB0aGlzLl9oYW5kbGVXaWR0aENoYW5nZSgpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCk7XG5cbiAgICBzaWRlYmFyQ29udGFpbmVyUmVnaXN0cnkuZGVsZXRlKHRoaXMpO1xuXG4gICAgaWYgKHNpZGViYXJDb250YWluZXJSZWdpc3RyeS5zaXplID09PSAwKSB7XG4gICAgICBzaWRlYmFyQ29udGFpbmVyUmVzaXplT2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICB0aGlzLl9oYW5kbGVXaWR0aENoYW5nZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlV2lkdGhDaGFuZ2UoKTogdm9pZCB7XG4gICAgQXJyYXkuZnJvbShzaWRlYmFyQ29udGFpbmVyUmVnaXN0cnkpXG4gICAgICAuc29ydCgoYzEsIGMyKSA9PiBjMS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihjMikgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lORylcbiAgICAgIC5mb3JFYWNoKChjKSA9PiBjLl9jYWxjdWxhdGVTcGFjZVN0YXRlKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENsb3NlcyBhbmQgb3BlbnMgc2lkZWJhcnMgZGVwZW5kaW5nIG9uIGF2YWlsYWJsZSB3aWR0aFxuICAgKiBvZiB0aGUgY29udGFpbmVyIGFuZCBpdHMgcGFyZW50IGNvbnRhaW5lci5cbiAgICovXG4gIHByaXZhdGUgYXN5bmMgX2NhbGN1bGF0ZVNwYWNlU3RhdGUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKGlzU2VydmVyKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcGFyZW50U2lkZWJhckNvbnRhaW5lciA9XG4gICAgICB0aGlzLnBhcmVudEVsZW1lbnQ/LmNsb3Nlc3Q/LjxTYmJTaWRlYmFyQ29udGFpbmVyRWxlbWVudD4oJ3NiYi1zaWRlYmFyLWNvbnRhaW5lcicpO1xuXG4gICAgY29uc3QgcGFyZW50U2lkZWJhcnMgPSBwYXJlbnRTaWRlYmFyQ29udGFpbmVyPy5zaWRlYmFycyA/PyBbXTtcblxuICAgIGZvciAoY29uc3Qgc2lkZWJhciBvZiBwYXJlbnRTaWRlYmFycykge1xuICAgICAgLy8gVXNpbmcgUHJvbWlzZS5hbGwgZGlkIGNyZWF0ZSBzb21lIGNvbmZ1c2luZyBwcm9ibGVtcywgc28gd2UgZGVjaWRlZCB0byBhd2FpdCBpdCBzZXF1ZW50aWFsbHkuXG4gICAgICBhd2FpdCBzaWRlYmFyLnVwZGF0ZUNvbXBsZXRlLnRoZW4oKCkgPT4gc2lkZWJhci5hbmltYXRpb25Db21wbGV0ZSk7XG4gICAgfVxuXG4gICAgY29uc3Qgd2lkdGggPSB0aGlzLm9mZnNldFdpZHRoID8/IDA7XG4gICAgaWYgKHdpZHRoID09PSAwKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgc2lkZWJhcnMgPSB0aGlzLnNpZGViYXJzO1xuICAgIGNvbnN0IGhhc0ZvcmNlZENsb3NlZFBhcmVudENvbnRhaW5lciA9XG4gICAgICBwYXJlbnRTaWRlYmFycy5zb21lKChzaWRlYmFyKSA9PiBzaWRlYmFyLmhhc0F0dHJpYnV0ZSgnZGF0YS1tb2RlLW92ZXItZm9yY2VkJykpID8/IGZhbHNlO1xuICAgIGNvbnN0IHN1bU9mQWxsUmVsZXZhbnRTaWRlYmFyV2lkdGhzID0gc2lkZWJhcnNcbiAgICAgIC5maWx0ZXIoKHNpZGViYXIpID0+IHNpZGViYXIubW9kZSA9PT0gJ3NpZGUnKVxuICAgICAgLnJlZHVjZSgoYWNjdW11bGF0b3IsIGN1cnJlbnRWYWx1ZSkgPT4gYWNjdW11bGF0b3IgKyAoY3VycmVudFZhbHVlLm9mZnNldFdpZHRoID8/IDApLCAwKTtcbiAgICBjb25zdCBpc01pbmltdW1TcGFjZSA9IHdpZHRoIC0gc3VtT2ZBbGxSZWxldmFudFNpZGViYXJXaWR0aHMgPCBNSU5fV0lEVEhfQkVGT1JFX0NPTExBUFNFO1xuXG4gICAgZm9yIChjb25zdCBzaWRlYmFyIG9mIHNpZGViYXJzKSB7XG4gICAgICBjb25zdCB3YXNNaW5pbXVtID0gc2lkZWJhci5oYXNBdHRyaWJ1dGUoJ2RhdGEtbW9kZS1vdmVyLWZvcmNlZCcpO1xuICAgICAgc2lkZWJhci50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtbW9kZS1vdmVyLWZvcmNlZCcsIGlzTWluaW11bVNwYWNlKTtcblxuICAgICAgaWYgKHNpZGViYXIubW9kZSAhPT0gJ3NpZGUnKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICBpZiAoKGlzTWluaW11bVNwYWNlIHx8IGhhc0ZvcmNlZENsb3NlZFBhcmVudENvbnRhaW5lcikgJiYgc2lkZWJhci5vcGVuZWQgJiYgIXdhc01pbmltdW0pIHtcbiAgICAgICAgLy8gV2UgaGF2ZSB0byBjbG9zZSB0aGUgc2lkZWJhciB3aGVuIHRoZSByZW1haW5pbmcgd2lkdGggaXMgYmVsb3cgdGhlIG1pbmltdW0gb3IgdGhlIHBhcmVudCBjb250YWluZXIgcnVucyBvdXQgb2Ygc3BhY2UuXG5cbiAgICAgICAgaWYgKHNpZGViYXIuaXNPcGVuICYmICFzaWRlYmFyLmhhc0F0dHJpYnV0ZSgnZGF0YS1za2lwLWFuaW1hdGlvbicpKSB7XG4gICAgICAgICAgLy8gSWYgdGhlIHNpZGViYXIgaXMgb3BlbmVkIHZpc3VhbGx5LCBhZGQgYSBzcGVjaWFsIGRhdGEgYXR0cmlidXRlIHRoYXQgY29udHJvbHMgdGhlIHotaW5kZXguXG4gICAgICAgICAgLy8gV2l0aG91dCB0aGlzIHNvbHV0aW9uLCB3aGVuIHRoZSBzaWRlYmFyIGlzIGNsb3NlZCwgaXQgd291bGQgYXBwZWFyIHZpc3VhbGx5IGFzIGlmIGl0IHdlcmUgaW4gJ292ZXInIG1vZGUuXG4gICAgICAgICAgc2lkZWJhci50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtbW9kZS1vdmVyLWZvcmNlZC1jbG9zaW5nJywgdHJ1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICBzaWRlYmFyLm9wZW5lZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLl9mb3JjZWRDbG9zZWRTaWRlYmFycy5hZGQoc2lkZWJhcik7XG5cbiAgICAgICAgaWYgKHNpZGViYXIuaGFzQXR0cmlidXRlKCdkYXRhLW1vZGUtb3Zlci1mb3JjZWQtY2xvc2luZycpKSB7XG4gICAgICAgICAgc2lkZWJhci51cGRhdGVDb21wbGV0ZVxuICAgICAgICAgICAgLnRoZW4oKCkgPT4gc2lkZWJhci5hbmltYXRpb25Db21wbGV0ZSlcbiAgICAgICAgICAgIC50aGVuKCgpID0+IHNpZGViYXIucmVtb3ZlQXR0cmlidXRlKCdkYXRhLW1vZGUtb3Zlci1mb3JjZWQtY2xvc2luZycpKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgLy8gV2UgaGF2ZSB0byBvcGVuIHRoZSBzaWRlYmFyIHdoZW4gdGhlIHJlbWFpbmluZyB3aWR0aCBvZiB0aGUgc2lkZWJhciBhbmQgdGhlIHBhcmVudCBjb250YWluZXJcbiAgICAgICAgLy8gaXMgYWJvdmUgdGhlIG1pbmltdW0uXG4gICAgICAgIC8vIFdlIG9ubHkgcHJvZ3JhbW1hdGljYWxseSBvcGVuIHRoZSBzaWRlYmFyIHdoZW4gdGhlIGNhdXNlIG9mIGNsb3Npbmcgd2FzIHRoaXMgbG9naWMuXG4gICAgICAgICFpc01pbmltdW1TcGFjZSAmJlxuICAgICAgICAhaGFzRm9yY2VkQ2xvc2VkUGFyZW50Q29udGFpbmVyICYmXG4gICAgICAgIHRoaXMuX2ZvcmNlZENsb3NlZFNpZGViYXJzLmhhcyhzaWRlYmFyKVxuICAgICAgKSB7XG4gICAgICAgIC8vIElmIHRoZSBzaWRlYmFyIHdhcyBtYW51YWxseSBvcGVuZWQgKGluIGZvcmNlZCBvdmVyIG1vZGUpXG4gICAgICAgIC8vIGFuZCB0aGUgc2lkZWJhciBiZWNvbWVzIGVub3VnaCBzcGFjZSBhdmFpbGFibGUsIGl0IHN0YXlzIG9wZW4sIGJ1dCB3ZSBuZWVkIHRvIGVuc3VyZSB0aGF0XG4gICAgICAgIC8vIHRoZSBmb2N1cyB0cmFwIGlzIHJlc2V0LlxuICAgICAgICBzaWRlYmFyWydjZWRlRm9jdXMnXSgpO1xuICAgICAgICBzaWRlYmFyLm9wZW5lZCA9IHRydWU7XG4gICAgICAgIHRoaXMuX2ZvcmNlZENsb3NlZFNpZGViYXJzLmRlbGV0ZShzaWRlYmFyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGA8ZGl2XG4gICAgICAgIGNsYXNzPVwic2JiLXNpZGViYXItY29udGFpbmVyLWJhY2tkcm9wXCJcbiAgICAgICAgQGNsaWNrPSR7KCkgPT4gdGhpcy5zaWRlYmFycy5mb3JFYWNoKChzKSA9PiBzLmNsb3NlKCkpfVxuICAgICAgPjwvZGl2PlxuICAgICAgPHNsb3QgQHNsb3RjaGFuZ2U9JHsoKSA9PiB0aGlzLl9oYW5kbGVXaWR0aENoYW5nZSgpfT48L3Nsb3Q+YDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLXNpZGViYXItY29udGFpbmVyJzogU2JiU2lkZWJhckNvbnRhaW5lckVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFnQkEsTUFBTSwrQ0FBK0IsSUFBQTtBQUNyQyxJQUFJO0FBRUosTUFBTSw0QkFBNEI7SUFVNUIsOEJBQTBCLE1BQUE7OzBCQUQvQixjQUFjLHVCQUF1QixDQUFDOzs7O29CQUNFO0FBQVIsRUFBQSxtQkFBUSxZQUFVO0FBQUE7O0FBc0J6QyxXQUFBLDRDQUE0QixRQUFBO0FBQUEsSUF5SHRDO0FBQUE7QUFBQSxJQXZJRSxJQUFXLFdBQVE7QUFDakIsYUFBTyxNQUFNLEtBQUssS0FBSyxtQkFBc0Msc0JBQXNCLEtBQUssRUFBRTtBQUFBLElBQzVGO0FBQUE7QUFBQSxJQUdBLElBQVcsUUFBSztBQUNkLGFBQU8sS0FBSyxnQkFBbUMsNENBQTRDO0FBQUEsSUFDN0Y7QUFBQTtBQUFBLElBR0EsSUFBVyxNQUFHO0FBQ1osYUFBTyxLQUFLLGdCQUFtQyxzQ0FBc0M7QUFBQSxJQUN2RjtBQUFBLElBSWdCLG9CQUFpQjtBQUMvQixZQUFNLGtCQUFBO0FBRU4seUNBQ0UsQ0FBQyxZQUFZLElBQUksZUFBZSxNQUFNLEtBQUssb0JBQW9CO0FBRWpFLFVBQUksQ0FBQyxZQUFZ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
159
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZWJhci1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvc2lkZWJhci9zaWRlYmFyLWNvbnRhaW5lci9zaWRlYmFyLWNvbnRhaW5lci5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgaHRtbCxcbiAgaXNTZXJ2ZXIsXG4gIExpdEVsZW1lbnQsXG4gIHR5cGUgUHJvcGVydHlWYWx1ZXMsXG4gIHR5cGUgVGVtcGxhdGVSZXN1bHQsXG59IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyDJtXN0YXRlQ29udHJvbGxlciB9IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLnRzJztcbmltcG9ydCB7IGJveFNpemluZ1N0eWxlcyB9IGZyb20gJy4uLy4uL2NvcmUvc3R5bGVzLnRzJztcbmltcG9ydCB7IHNpZGViYXJDb250YWluZXJDb21tb25TdHlsZSB9IGZyb20gJy4uL2NvbW1vbi50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYlNpZGViYXJFbGVtZW50IH0gZnJvbSAnLi4vc2lkZWJhci50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL3NpZGViYXItY29udGFpbmVyLnNjc3M/bGl0JmlubGluZSc7XG5cbmNvbnN0IHNpZGViYXJDb250YWluZXJSZWdpc3RyeSA9IG5ldyBTZXQ8U2JiU2lkZWJhckNvbnRhaW5lckVsZW1lbnQ+KCk7XG5sZXQgc2lkZWJhckNvbnRhaW5lclJlc2l6ZU9ic2VydmVyOiBSZXNpemVPYnNlcnZlciB8IHVuZGVmaW5lZDtcblxuY29uc3QgTUlOX1dJRFRIX0JFRk9SRV9DT0xMQVBTRSA9IDMyMDtcblxuLyoqXG4gKiBUaGlzIGlzIHRoZSBwYXJlbnQgY29tcG9uZW50IHRvIG9uZSBvciB0d28gYDxzYmItc2lkZWJhcj5gcyB0aGF0IHZhbGlkYXRlcyB0aGUgc3RhdGUgaW50ZXJuYWxseVxuICogYW5kIGNvb3JkaW5hdGVzIHRoZSBiYWNrZHJvcCBhbmQgY29udGVudCBzdHlsaW5nLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGBzYmItc2lkZWJhcmAgYW5kIGBzYmItc2lkZWJhci1jb250ZW50YCBlbGVtZW50cy5cbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLXNpZGViYXItY29udGFpbmVyJylcbmNsYXNzIFNiYlNpZGViYXJDb250YWluZXJFbGVtZW50IGV4dGVuZHMgTGl0RWxlbWVudCB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IFtcbiAgICBib3hTaXppbmdTdHlsZXMsXG4gICAgc2lkZWJhckNvbnRhaW5lckNvbW1vblN0eWxlLFxuICAgIHN0eWxlLFxuICBdO1xuXG4gIC8qKiBUaGUgc2lkZWJhciBjaGlsZHJlbi4gKi9cbiAgcHVibGljIGdldCBzaWRlYmFycygpOiBTYmJTaWRlYmFyRWxlbWVudFtdIHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLnF1ZXJ5U2VsZWN0b3JBbGw/LjxTYmJTaWRlYmFyRWxlbWVudD4oYDpzY29wZSA+IHNiYi1zaWRlYmFyYCkgPz8gW10pO1xuICB9XG5cbiAgLyoqIFRoZSBzaWRlYmFyIGNoaWxkIHdpdGggdGhlIGBzdGFydGAgcG9zaXRpb24uICovXG4gIHB1YmxpYyBnZXQgc3RhcnQoKTogU2JiU2lkZWJhckVsZW1lbnQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5xdWVyeVNlbGVjdG9yPy48U2JiU2lkZWJhckVsZW1lbnQ+KGA6c2NvcGUgPiBzYmItc2lkZWJhcjpub3QoW3Bvc2l0aW9uPSdlbmQnXSlgKTtcbiAgfVxuXG4gIC8qKiBUaGUgc2lkZWJhciBjaGlsZCB3aXRoIHRoZSBgZW5kYCBwb3NpdGlvbi4gKi9cbiAgcHVibGljIGdldCBlbmQoKTogU2JiU2lkZWJhckVsZW1lbnQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5xdWVyeVNlbGVjdG9yPy48U2JiU2lkZWJhckVsZW1lbnQ+KGA6c2NvcGUgPiBzYmItc2lkZWJhcltwb3NpdGlvbj0nZW5kJ11gKTtcbiAgfVxuXG4gIHByaXZhdGUgX2ZvcmNlZENsb3NlZFNpZGViYXJzID0gbmV3IFdlYWtTZXQ8U2JiU2lkZWJhckVsZW1lbnQ+KCk7XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG5cbiAgICBzaWRlYmFyQ29udGFpbmVyUmVzaXplT2JzZXJ2ZXIgPz89XG4gICAgICAhaXNTZXJ2ZXIgJiYgbmV3IFJlc2l6ZU9ic2VydmVyKCgpID0+IHRoaXMuX2hhbmRsZVdpZHRoQ2hhbmdlKCkpO1xuXG4gICAgaWYgKCFpc1NlcnZlciAmJiBzaWRlYmFyQ29udGFpbmVyUmVnaXN0cnkuc2l6ZSA9PT0gMCkge1xuICAgICAgc2lkZWJhckNvbnRhaW5lclJlc2l6ZU9ic2VydmVyLm9ic2VydmUoZG9jdW1lbnQ/LmRvY3VtZW50RWxlbWVudCk7XG4gICAgfVxuXG4gICAgc2lkZWJhckNvbnRhaW5lclJlZ2lzdHJ5LmFkZCh0aGlzKTtcblxuICAgIHRoaXMuX2hhbmRsZVdpZHRoQ2hhbmdlKCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZGlzY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKTtcblxuICAgIHNpZGViYXJDb250YWluZXJSZWdpc3RyeS5kZWxldGUodGhpcyk7XG5cbiAgICBpZiAoc2lkZWJhckNvbnRhaW5lclJlZ2lzdHJ5LnNpemUgPT09IDApIHtcbiAgICAgIHNpZGViYXJDb250YWluZXJSZXNpemVPYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBmaXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIuZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIHRoaXMuX2hhbmRsZVdpZHRoQ2hhbmdlKCk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVXaWR0aENoYW5nZSgpOiB2b2lkIHtcbiAgICBBcnJheS5mcm9tKHNpZGViYXJDb250YWluZXJSZWdpc3RyeSlcbiAgICAgIC5zb3J0KChjMSwgYzIpID0+IGMxLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGMyKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HKVxuICAgICAgLmZvckVhY2goKGMpID0+IGMuX2NhbGN1bGF0ZVNwYWNlU3RhdGUoKSk7XG4gIH1cblxuICAvKipcbiAgICogQ2xvc2VzIGFuZCBvcGVucyBzaWRlYmFycyBkZXBlbmRpbmcgb24gYXZhaWxhYmxlIHdpZHRoXG4gICAqIG9mIHRoZSBjb250YWluZXIgYW5kIGl0cyBwYXJlbnQgY29udGFpbmVyLlxuICAgKi9cbiAgcHJpdmF0ZSBhc3luYyBfY2FsY3VsYXRlU3BhY2VTdGF0ZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoaXNTZXJ2ZXIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBwYXJlbnRTaWRlYmFyQ29udGFpbmVyID1cbiAgICAgIHRoaXMucGFyZW50RWxlbWVudD8uY2xvc2VzdD8uPFNiYlNpZGViYXJDb250YWluZXJFbGVtZW50Pignc2JiLXNpZGViYXItY29udGFpbmVyJyk7XG5cbiAgICBjb25zdCBwYXJlbnRTaWRlYmFycyA9IHBhcmVudFNpZGViYXJDb250YWluZXI/LnNpZGViYXJzID8/IFtdO1xuXG4gICAgZm9yIChjb25zdCBzaWRlYmFyIG9mIHBhcmVudFNpZGViYXJzKSB7XG4gICAgICAvLyBVc2luZyBQcm9taXNlLmFsbCBkaWQgY3JlYXRlIHNvbWUgY29uZnVzaW5nIHByb2JsZW1zLCBzbyB3ZSBkZWNpZGVkIHRvIGF3YWl0IGl0IHNlcXVlbnRpYWxseS5cbiAgICAgIGF3YWl0IHNpZGViYXIudXBkYXRlQ29tcGxldGUudGhlbigoKSA9PiBzaWRlYmFyLmFuaW1hdGlvbkNvbXBsZXRlKTtcbiAgICB9XG5cbiAgICBjb25zdCB3aWR0aCA9IHRoaXMub2Zmc2V0V2lkdGggPz8gMDtcbiAgICBpZiAod2lkdGggPT09IDApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBzaWRlYmFycyA9IHRoaXMuc2lkZWJhcnM7XG4gICAgY29uc3QgaGFzRm9yY2VkQ2xvc2VkUGFyZW50Q29udGFpbmVyID1cbiAgICAgIHBhcmVudFNpZGViYXJzLnNvbWUoKHNpZGViYXIpID0+IHNpZGViYXIubWF0Y2hlcygnOnN0YXRlKG1vZGUtb3Zlci1mb3JjZWQpJykpID8/IGZhbHNlO1xuICAgIGNvbnN0IHN1bU9mQWxsUmVsZXZhbnRTaWRlYmFyV2lkdGhzID0gc2lkZWJhcnNcbiAgICAgIC5maWx0ZXIoKHNpZGViYXIpID0+IHNpZGViYXIubW9kZSA9PT0gJ3NpZGUnKVxuICAgICAgLnJlZHVjZSgoYWNjdW11bGF0b3IsIGN1cnJlbnRWYWx1ZSkgPT4gYWNjdW11bGF0b3IgKyAoY3VycmVudFZhbHVlLm9mZnNldFdpZHRoID8/IDApLCAwKTtcbiAgICBjb25zdCBpc01pbmltdW1TcGFjZSA9IHdpZHRoIC0gc3VtT2ZBbGxSZWxldmFudFNpZGViYXJXaWR0aHMgPCBNSU5fV0lEVEhfQkVGT1JFX0NPTExBUFNFO1xuXG4gICAgZm9yIChjb25zdCBzaWRlYmFyIG9mIHNpZGViYXJzKSB7XG4gICAgICBjb25zdCB3YXNNaW5pbXVtID0gc2lkZWJhci5tYXRjaGVzKCc6c3RhdGUobW9kZS1vdmVyLWZvcmNlZCknKTtcbiAgICAgIGNvbnN0IGNvbnRyb2xsZXIgPSDJtXN0YXRlQ29udHJvbGxlcihzaWRlYmFyKTtcbiAgICAgIGNvbnRyb2xsZXIudG9nZ2xlKCdtb2RlLW92ZXItZm9yY2VkJywgaXNNaW5pbXVtU3BhY2UpO1xuXG4gICAgICBpZiAoc2lkZWJhci5tb2RlICE9PSAnc2lkZScpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIGlmICgoaXNNaW5pbXVtU3BhY2UgfHwgaGFzRm9yY2VkQ2xvc2VkUGFyZW50Q29udGFpbmVyKSAmJiBzaWRlYmFyLm9wZW5lZCAmJiAhd2FzTWluaW11bSkge1xuICAgICAgICAvLyBXZSBoYXZlIHRvIGNsb3NlIHRoZSBzaWRlYmFyIHdoZW4gdGhlIHJlbWFpbmluZyB3aWR0aCBpcyBiZWxvdyB0aGUgbWluaW11bSBvciB0aGUgcGFyZW50IGNvbnRhaW5lciBydW5zIG91dCBvZiBzcGFjZS5cblxuICAgICAgICBpZiAoc2lkZWJhci5pc09wZW4gJiYgIXNpZGViYXIubWF0Y2hlcygnOnN0YXRlKHNraXAtYW5pbWF0aW9uKScpKSB7XG4gICAgICAgICAgLy8gSWYgdGhlIHNpZGViYXIgaXMgb3BlbmVkIHZpc3VhbGx5LCBhZGQgYSBzcGVjaWFsIGRhdGEgYXR0cmlidXRlIHRoYXQgY29udHJvbHMgdGhlIHotaW5kZXguXG4gICAgICAgICAgLy8gV2l0aG91dCB0aGlzIHNvbHV0aW9uLCB3aGVuIHRoZSBzaWRlYmFyIGlzIGNsb3NlZCwgaXQgd291bGQgYXBwZWFyIHZpc3VhbGx5IGFzIGlmIGl0IHdlcmUgaW4gJ292ZXInIG1vZGUuXG4gICAgICAgICAgY29udHJvbGxlci5hZGQoJ21vZGUtb3Zlci1mb3JjZWQtY2xvc2luZycpO1xuICAgICAgICB9XG5cbiAgICAgICAgc2lkZWJhci5vcGVuZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5fZm9yY2VkQ2xvc2VkU2lkZWJhcnMuYWRkKHNpZGViYXIpO1xuXG4gICAgICAgIGlmIChzaWRlYmFyLm1hdGNoZXMoJzpzdGF0ZShtb2RlLW92ZXItZm9yY2VkLWNsb3NpbmcpJykpIHtcbiAgICAgICAgICBzaWRlYmFyLnVwZGF0ZUNvbXBsZXRlXG4gICAgICAgICAgICAudGhlbigoKSA9PiBzaWRlYmFyLmFuaW1hdGlvbkNvbXBsZXRlKVxuICAgICAgICAgICAgLnRoZW4oKCkgPT4gY29udHJvbGxlci5kZWxldGUoJ21vZGUtb3Zlci1mb3JjZWQtY2xvc2luZycpKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgLy8gV2UgaGF2ZSB0byBvcGVuIHRoZSBzaWRlYmFyIHdoZW4gdGhlIHJlbWFpbmluZyB3aWR0aCBvZiB0aGUgc2lkZWJhciBhbmQgdGhlIHBhcmVudCBjb250YWluZXJcbiAgICAgICAgLy8gaXMgYWJvdmUgdGhlIG1pbmltdW0uXG4gICAgICAgIC8vIFdlIG9ubHkgcHJvZ3JhbW1hdGljYWxseSBvcGVuIHRoZSBzaWRlYmFyIHdoZW4gdGhlIGNhdXNlIG9mIGNsb3Npbmcgd2FzIHRoaXMgbG9naWMuXG4gICAgICAgICFpc01pbmltdW1TcGFjZSAmJlxuICAgICAgICAhaGFzRm9yY2VkQ2xvc2VkUGFyZW50Q29udGFpbmVyICYmXG4gICAgICAgIHRoaXMuX2ZvcmNlZENsb3NlZFNpZGViYXJzLmhhcyhzaWRlYmFyKVxuICAgICAgKSB7XG4gICAgICAgIC8vIElmIHRoZSBzaWRlYmFyIHdhcyBtYW51YWxseSBvcGVuZWQgKGluIGZvcmNlZCBvdmVyIG1vZGUpXG4gICAgICAgIC8vIGFuZCB0aGUgc2lkZWJhciBiZWNvbWVzIGVub3VnaCBzcGFjZSBhdmFpbGFibGUsIGl0IHN0YXlzIG9wZW4sIGJ1dCB3ZSBuZWVkIHRvIGVuc3VyZSB0aGF0XG4gICAgICAgIC8vIHRoZSBmb2N1cyB0cmFwIGlzIHJlc2V0LlxuICAgICAgICBzaWRlYmFyWydjZWRlRm9jdXMnXSgpO1xuICAgICAgICBzaWRlYmFyLm9wZW5lZCA9IHRydWU7XG4gICAgICAgIHRoaXMuX2ZvcmNlZENsb3NlZFNpZGViYXJzLmRlbGV0ZShzaWRlYmFyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGA8ZGl2XG4gICAgICAgIGNsYXNzPVwic2JiLXNpZGViYXItY29udGFpbmVyLWJhY2tkcm9wXCJcbiAgICAgICAgQGNsaWNrPSR7KCkgPT4gdGhpcy5zaWRlYmFycy5mb3JFYWNoKChzKSA9PiBzLmNsb3NlKCkpfVxuICAgICAgPjwvZGl2PlxuICAgICAgPHNsb3QgQHNsb3RjaGFuZ2U9JHsoKSA9PiB0aGlzLl9oYW5kbGVXaWR0aENoYW5nZSgpfT48L3Nsb3Q+YDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLXNpZGViYXItY29udGFpbmVyJzogU2JiU2lkZWJhckNvbnRhaW5lckVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyLJtXN0YXRlQ29udHJvbGxlciJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWlCQSxNQUFNLCtDQUErQixJQUFBO0FBQ3JDLElBQUk7QUFFSixNQUFNLDRCQUE0QjtJQVU1Qiw4QkFBMEIsTUFBQTs7MEJBRC9CLGNBQWMsdUJBQXVCLENBQUM7Ozs7b0JBQ0U7QUFBUixFQUFBLG1CQUFRLFlBQVU7QUFBQTs7QUFzQnpDLFdBQUEsNENBQTRCLFFBQUE7QUFBQSxJQTBIdEM7QUFBQTtBQUFBLElBeElFLElBQVcsV0FBUTtBQUNqQixhQUFPLE1BQU0sS0FBSyxLQUFLLG1CQUFzQyxzQkFBc0IsS0FBSyxFQUFFO0FBQUEsSUFDNUY7QUFBQTtBQUFBLElBR0EsSUFBVyxRQUFLO0FBQ2QsYUFBTyxLQUFLLGdCQUFtQyw0Q0FBNEM7QUFBQSxJQUM3RjtBQUFBO0FBQUEsSUFHQSxJQUFXLE1BQUc7QUFDWixhQUFPLEtBQUssZ0JBQW1DLHNDQUFzQztBQUFBLElBQ3ZGO0FBQUEsSUFJZ0Isb0JBQWlCO0FB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
@@ -1,4 +1,4 @@
1
- import { i, s, a } from "./icon-sidebar-button-common-C6QChtaa.js";
1
+ import { i, s, a } from "./icon-sidebar-button-common-DR6eQvkq.js";
2
2
  import { SbbSidebarElement } from "./sidebar/sidebar/sidebar.component.js";
3
3
  import { SbbSidebarCloseButtonElement } from "./sidebar/sidebar-close-button/sidebar-close-button.component.js";
4
4
  import { SbbSidebarContainerElement } from "./sidebar/sidebar-container/sidebar-container.component.js";
@@ -65,7 +65,7 @@ const style = css`:host {
65
65
  var(--sbb-border-color-1-inverted);
66
66
  }
67
67
 
68
- ::slotted([data-sbb-link]) {
68
+ ::slotted(:is(:state(sbb-link),[state--sbb-link])) {
69
69
  --sbb-focus-outline-color: transparent;
70
70
  --sbb-link-padding: var(--sbb-spacing-fixed-2x) var(--sbb-spacing-responsive-xxs);
71
71
  }
@@ -1,5 +1,6 @@
1
1
  import { CSSResultGroup, LitElement, PropertyValues, TemplateResult } from 'lit';
2
2
  import { SbbStepLabelElement } from '../step-label.ts';
3
+ import { SbbStepperElement } from '../stepper.ts';
3
4
  export type SbbStepValidateEventDetails = {
4
5
  currentIndex: number | null;
5
6
  currentStep: SbbStepElement | null;
@@ -19,11 +20,12 @@ export declare class SbbStepElement extends SbbStepElement_base {
19
20
  readonly validate: "validate";
20
21
  readonly resizechange: "resizechange";
21
22
  };
22
- private _stepper;
23
23
  private _stepResizeObserver;
24
24
  /** The label of the step. */
25
25
  get label(): SbbStepLabelElement | null;
26
26
  private _label;
27
+ get stepper(): SbbStepperElement | null;
28
+ private _previousOrientation?;
27
29
  constructor();
28
30
  /**
29
31
  * Selects and configures the step.
@@ -1 +1 @@
1
- {"version":3,"file":"step.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/stepper/step/step.component.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,cAAc,EAEnB,UAAU,EACV,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AASb,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAO5D,MAAM,MAAM,2BAA2B,GAAG;IACxC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,EAAE,cAAc,GAAG,IAAI,CAAC;IACnC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,cAAc,GAAG,IAAI,CAAC;CACjC,CAAC;;AAEF;;;;GAIG;AACH,qBAEM,cAAe,SAAQ,mBAAoC;IAC/D,gBAAgC,IAAI,cAAc;IAClD,OAAuB,MAAM,EAAE,cAAc,CAA4B;IACzE,gBAAuB,MAAM;;;MAGlB;IAEX,OAAO,CAAC,QAAQ,CAAkC;IAMlD,OAAO,CAAC,mBAAmB,CAIxB;IAEH,6BAA6B;IAC7B,IAAW,KAAK,IAAI,mBAAmB,GAAG,IAAI,CAE7C;IACD,OAAO,CAAC,MAAM,CAAoC;;IAOlD;;;OAGG;IACI,MAAM,IAAI,IAAI;IAQrB;;;OAGG;IACI,QAAQ,IAAI,IAAI;IAQvB;;;OAGG;IACI,QAAQ,CAAC,SAAS,EAAE,2BAA2B,GAAG,OAAO;IAehE;;;OAGG;IACI,SAAS,CAAC,aAAa,EAAE,OAAO,GAAG,IAAI;IAM9C,iGAAiG;IACjG,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,oBAAoB;IAYZ,iBAAiB,IAAI,IAAI;cAQtB,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAO9E,OAAO,CAAC,YAAY;cAkBD,MAAM,IAAI,cAAc;CAS5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,UAAU,EAAE,cAAc,CAAC;KAC5B;CACF;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,2BAA2B;QACnC,YAAY,EAAE,KAAK,CAAC;KACrB;CACF"}
1
+ {"version":3,"file":"step.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/stepper/step/step.component.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,cAAc,EAEnB,UAAU,EACV,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAUb,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAMvD,MAAM,MAAM,2BAA2B,GAAG;IACxC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,EAAE,cAAc,GAAG,IAAI,CAAC;IACnC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,cAAc,GAAG,IAAI,CAAC;CACjC,CAAC;;AAEF;;;;GAIG;AACH,qBAEM,cAAe,SAAQ,mBAAoC;IAC/D,gBAAgC,IAAI,cAAc;IAClD,OAAuB,MAAM,EAAE,cAAc,CAA4B;IACzE,gBAAuB,MAAM;;;MAGlB;IAMX,OAAO,CAAC,mBAAmB,CAIxB;IAEH,6BAA6B;IAC7B,IAAW,KAAK,IAAI,mBAAmB,GAAG,IAAI,CAE7C;IACD,OAAO,CAAC,MAAM,CAAoC;IAElD,IAAW,OAAO,IAAI,iBAAiB,GAAG,IAAI,CAE7C;IAED,OAAO,CAAC,oBAAoB,CAAC,CAAS;;IAoBtC;;;OAGG;IACI,MAAM,IAAI,IAAI;IAQrB;;;OAGG;IACI,QAAQ,IAAI,IAAI;IAQvB;;;OAGG;IACI,QAAQ,CAAC,SAAS,EAAE,2BAA2B,GAAG,OAAO;IAehE;;;OAGG;IACI,SAAS,CAAC,aAAa,EAAE,OAAO,GAAG,IAAI;IAM9C,iGAAiG;IACjG,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,oBAAoB;IAYZ,iBAAiB,IAAI,IAAI;cAOtB,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAO9E,OAAO,CAAC,YAAY;cAkBD,MAAM,IAAI,cAAc;CAS5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,UAAU,EAAE,cAAc,CAAC;KAC5B;CACF;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,2BAA2B;QACnC,YAAY,EAAE,KAAK,CAAC;KACrB;CACF"}
@@ -2,6 +2,7 @@ import { __esDecorate, __runInitializers } from "tslib";
2
2
  import { ResizeController } from "@lit-labs/observers/resize-controller.js";
3
3
  import { css, LitElement, html } from "lit";
4
4
  import { customElement } from "lit/decorators.js";
5
+ import { SbbPropertyWatcherController } from "../../core/controllers.js";
5
6
  import { SbbElementInternalsMixin, removeAriaElements, appendAriaElements } from "../../core/mixins.js";
6
7
  import { boxSizingStyles } from "../../core/styles.js";
7
8
  const style = css`:host {
@@ -18,7 +19,7 @@ const style = css`:host {
18
19
  display: contents;
19
20
  }
20
21
 
21
- :host([data-selected]) {
22
+ :host(:is(:state(selected),[state--selected])) {
22
23
  --sbb-step-opacity: 1;
23
24
  --sbb-step-display: block;
24
25
  --sbb-step-height: fit-content;
@@ -29,19 +30,19 @@ const style = css`:host {
29
30
  --sbb-step-animation-delay: var(--sbb-step-animation-duration);
30
31
  }
31
32
 
32
- :host([data-orientation=horizontal]) {
33
+ :host(:is(:state(orientation-horizontal),[state--orientation-horizontal])) {
33
34
  --sbb-step-position: absolute;
34
35
  --sbb-step-inset-block-start: 0;
35
36
  }
36
37
 
37
- :host([data-orientation=vertical]) .sbb-step--wrapper {
38
+ :host(:is(:state(orientation-vertical),[state--orientation-vertical])) .sbb-step--wrapper {
38
39
  margin-inline-start: var(--sbb-spacing-fixed-4x);
39
40
  opacity: 0;
40
41
  height: 0;
41
42
  transition: display var(--sbb-step-animation-duration) var(--sbb-animation-easing), height var(--sbb-stepper-animation-duration) var(--sbb-animation-easing), opacity var(--sbb-step-animation-duration) var(--sbb-animation-easing);
42
43
  transition-behavior: allow-discrete;
43
44
  }
44
- :host([data-selected][data-orientation=vertical]) .sbb-step--wrapper {
45
+ :host(:is(:state(selected),[state--selected]):is(:state(orientation-vertical),[state--orientation-vertical])) .sbb-step--wrapper {
45
46
  opacity: 1;
46
47
  height: var(--sbb-stepper-content-height);
47
48
  transition: display var(--sbb-step-animation-duration) var(--sbb-animation-easing), height var(--sbb-stepper-animation-duration) var(--sbb-animation-easing), opacity var(--sbb-step-animation-duration) var(--sbb-stepper-animation-duration) var(--sbb-animation-easing);
@@ -85,9 +86,11 @@ let SbbStepElement = (() => {
85
86
  get label() {
86
87
  return this._label;
87
88
  }
89
+ get stepper() {
90
+ return this.closest("sbb-stepper");
91
+ }
88
92
  constructor() {
89
93
  super();
90
- this._stepper = null;
91
94
  this._stepResizeObserver = new ResizeController(this, {
92
95
  target: null,
93
96
  skipInitial: true,
@@ -95,6 +98,17 @@ let SbbStepElement = (() => {
95
98
  });
96
99
  this._label = null;
97
100
  this.addEventListener?.("click", (e) => this._handleClick(e));
101
+ this.addController(new SbbPropertyWatcherController(this, () => this.stepper, {
102
+ orientation: (s) => {
103
+ if (this._previousOrientation) {
104
+ this.internals.states.delete(`orientation-${this._previousOrientation}`);
105
+ }
106
+ this._previousOrientation = s.orientation;
107
+ if (this._previousOrientation) {
108
+ this.internals.states.add(`orientation-${this._previousOrientation}`);
109
+ }
110
+ }
111
+ }));
98
112
  }
99
113
  /**
100
114
  * Selects and configures the step.
@@ -104,7 +118,7 @@ let SbbStepElement = (() => {
104
118
  if (!this.hasUpdated || !this.label) {
105
119
  return;
106
120
  }
107
- this.toggleAttribute("data-selected", true);
121
+ this.internals.states.add("selected");
108
122
  this.label.select();
109
123
  }
110
124
  /**
@@ -115,7 +129,7 @@ let SbbStepElement = (() => {
115
129
  if (!this.label) {
116
130
  return;
117
131
  }
118
- this.toggleAttribute("data-selected", false);
132
+ this.internals.states.delete("selected");
119
133
  this.label.deselect();
120
134
  }
121
135
  /**
@@ -143,9 +157,9 @@ let SbbStepElement = (() => {
143
157
  _handleClick(event) {
144
158
  const composedPathElements = event.composedPath().filter((el) => el instanceof window.HTMLElement);
145
159
  if (composedPathElements.some((el) => this._isGoNextElement(el))) {
146
- this._stepper?.next();
160
+ this.stepper?.next();
147
161
  } else if (composedPathElements.some((el) => this._isGoPreviousElement(el))) {
148
- this._stepper?.previous();
162
+ this.stepper?.previous();
149
163
  }
150
164
  }
151
165
  _isGoNextElement(element) {
@@ -155,7 +169,7 @@ let SbbStepElement = (() => {
155
169
  return element.hasAttribute("sbb-stepper-previous") && !element.hasAttribute("disabled");
156
170
  }
157
171
  _onStepElementResize() {
158
- if (!this.hasAttribute("data-selected")) {
172
+ if (!this.matches(":is(:state(selected),[state--selected])")) {
159
173
  return;
160
174
  }
161
175
  this.dispatchEvent(new Event("resizechange", { bubbles: true }));
@@ -164,7 +178,6 @@ let SbbStepElement = (() => {
164
178
  super.connectedCallback();
165
179
  this.id ||= `sbb-step-${nextId++}`;
166
180
  this.slot ||= "step";
167
- this._stepper = this.closest("sbb-stepper");
168
181
  this._assignLabel();
169
182
  }
170
183
  firstUpdated(changedProperties) {
@@ -206,4 +219,4 @@ let SbbStepElement = (() => {
206
219
  export {
207
220
  SbbStepElement
208
221
  };
209
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcC5jb21wb25lbnQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9zdGVwcGVyL3N0ZXAvc3RlcC5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVzaXplQ29udHJvbGxlciB9IGZyb20gJ0BsaXQtbGFicy9vYnNlcnZlcnMvcmVzaXplLWNvbnRyb2xsZXIuanMnO1xuaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgaHRtbCxcbiAgTGl0RWxlbWVudCxcbiAgdHlwZSBQcm9wZXJ0eVZhbHVlcyxcbiAgdHlwZSBUZW1wbGF0ZVJlc3VsdCxcbn0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7XG4gIGFwcGVuZEFyaWFFbGVtZW50cyxcbiAgcmVtb3ZlQXJpYUVsZW1lbnRzLFxuICBTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW4sXG59IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLnRzJztcbmltcG9ydCB7IGJveFNpemluZ1N0eWxlcyB9IGZyb20gJy4uLy4uL2NvcmUvc3R5bGVzLnRzJztcbmltcG9ydCB0eXBlIHsgU2JiU3RlcExhYmVsRWxlbWVudCB9IGZyb20gJy4uL3N0ZXAtbGFiZWwudHMnO1xuaW1wb3J0IHR5cGUgeyBTYmJTdGVwcGVyRWxlbWVudCB9IGZyb20gJy4uL3N0ZXBwZXIudHMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9zdGVwLnNjc3M/bGl0JmlubGluZSc7XG5cbmxldCBuZXh0SWQgPSAwO1xuXG5leHBvcnQgdHlwZSBTYmJTdGVwVmFsaWRhdGVFdmVudERldGFpbHMgPSB7XG4gIGN1cnJlbnRJbmRleDogbnVtYmVyIHwgbnVsbDtcbiAgY3VycmVudFN0ZXA6IFNiYlN0ZXBFbGVtZW50IHwgbnVsbDtcbiAgbmV4dEluZGV4OiBudW1iZXIgfCBudWxsO1xuICBuZXh0U3RlcDogU2JiU3RlcEVsZW1lbnQgfCBudWxsO1xufTtcblxuLyoqXG4gKiBDb21iaW5lZCB3aXRoIGEgYHNiYi1zdGVwcGVyYCwgaXQgZGlzcGxheXMgYSBzdGVwJ3MgY29udGVudC5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIHByb3ZpZGUgY29udGVudC5cbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLXN0ZXAnKVxuY2xhc3MgU2JiU3RlcEVsZW1lbnQgZXh0ZW5kcyBTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW4oTGl0RWxlbWVudCkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IHJvbGUgPSAndGFicGFuZWwnO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbYm94U2l6aW5nU3R5bGVzLCBzdHlsZV07XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgZXZlbnRzID0ge1xuICAgIHZhbGlkYXRlOiAndmFsaWRhdGUnLFxuICAgIHJlc2l6ZWNoYW5nZTogJ3Jlc2l6ZWNoYW5nZScsXG4gIH0gYXMgY29uc3Q7XG5cbiAgcHJpdmF0ZSBfc3RlcHBlcjogU2JiU3RlcHBlckVsZW1lbnQgfCBudWxsID0gbnVsbDtcblxuICAvLyBXZSB1c2UgYSB0aW1lb3V0IGFzIGEgd29ya2Fyb3VuZCB0byB0aGUgXCJSZXNpemVPYnNlcnZlciBsb29wIGNvbXBsZXRlZCB3aXRoIHVuZGVsaXZlcmVkIG5vdGlmaWNhdGlvbnNcIiBlcnJvci5cbiAgLy8gRm9yIG1vcmUgZGV0YWlsczpcbiAgLy8gLSBodHRwczovL2dpdGh1Yi5jb20vV0lDRy9yZXNpemUtb2JzZXJ2ZXIvaXNzdWVzLzM4I2lzc3VlY29tbWVudC00MjIxMjYwMDZcbiAgLy8gLSBodHRwczovL2dpdGh1Yi5jb20vanVnZ2xlL3Jlc2l6ZS1vYnNlcnZlci9pc3N1ZXMvMTAzI2lzc3VlY29tbWVudC0xNzExMTQ4Mjg1XG4gIHByaXZhdGUgX3N0ZXBSZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVDb250cm9sbGVyKHRoaXMsIHtcbiAgICB0YXJnZXQ6IG51bGwsXG4gICAgc2tpcEluaXRpYWw6IHRydWUsXG4gICAgY2FsbGJhY2s6ICgpID0+IHNldFRpbWVvdXQoKCkgPT4gdGhpcy5fb25TdGVwRWxlbWVudFJlc2l6ZSgpKSxcbiAgfSk7XG5cbiAgLyoqIFRoZSBsYWJlbCBvZiB0aGUgc3RlcC4gKi9cbiAgcHVibGljIGdldCBsYWJlbCgpOiBTYmJTdGVwTGFiZWxFbGVtZW50IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX2xhYmVsO1xuICB9XG4gIHByaXZhdGUgX2xhYmVsOiBTYmJTdGVwTGFiZWxFbGVtZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ2NsaWNrJywgKGUpID0+IHRoaXMuX2hhbmRsZUNsaWNrKGUpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZWxlY3RzIGFuZCBjb25maWd1cmVzIHRoZSBzdGVwLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBzZWxlY3QoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmhhc1VwZGF0ZWQgfHwgIXRoaXMubGFiZWwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtc2VsZWN0ZWQnLCB0cnVlKTtcbiAgICB0aGlzLmxhYmVsLnNlbGVjdCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIERlc2VsZWN0cyBhbmQgY29uZmlndXJlcyB0aGUgc3RlcC5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgZGVzZWxlY3QoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmxhYmVsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkYXRhLXNlbGVjdGVkJywgZmFsc2UpO1xuICAgIHRoaXMubGFiZWwuZGVzZWxlY3QoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbWl0cyBhIHZhbGlkYXRlIGV2ZW50IHdoZW5ldmVyIHN0ZXAgc3dpdGNoIGlzIHRyaWdnZXJlZC5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgdmFsaWRhdGUoZXZlbnREYXRhOiBTYmJTdGVwVmFsaWRhdGVFdmVudERldGFpbHMpOiBib29sZWFuIHtcbiAgICAvKipcbiAgICAgKiBAdHlwZSB7Q3VzdG9tRXZlbnQ8U2JiU3RlcFZhbGlkYXRlRXZlbnREZXRhaWxzPn1cbiAgICAgKiBUaGUgdmFsaWRhdGUgZXZlbnQgaXMgZGlzcGF0Y2hlZCB3aGVuIGEgc3RlcCBjaGFuZ2UgaXMgdHJpZ2dlcmVkLiBDYW4gYmUgY2FuY2VsZWQgdG8gYWJvcnQgdGhlIHN0ZXAgY2hhbmdlLlxuICAgICAqL1xuICAgIHJldHVybiB0aGlzLmRpc3BhdGNoRXZlbnQoXG4gICAgICBuZXcgQ3VzdG9tRXZlbnQ8U2JiU3RlcFZhbGlkYXRlRXZlbnREZXRhaWxzPigndmFsaWRhdGUnLCB7XG4gICAgICAgIGJ1YmJsZXM6IHRydWUsXG4gICAgICAgIGNvbXBvc2VkOiB0cnVlLFxuICAgICAgICBjYW5jZWxhYmxlOiB0cnVlLFxuICAgICAgICBkZXRhaWw6IGV2ZW50RGF0YSxcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ29uZmlndXJlcyB0aGUgc3RlcC5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgY29uZmlndXJlKHN0ZXBwZXJMb2FkZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBpZiAoc3RlcHBlckxvYWRlZCkge1xuICAgICAgdGhpcy5fYXNzaWduTGFiZWwoKTtcbiAgICB9XG4gIH1cblxuICAvKiogV2F0Y2hlcyBmb3IgY2xpY2tlZCBlbGVtZW50cyB3aXRoIGBzYmItc3RlcHBlci1uZXh0YCBvciBgc2JiLXN0ZXBwZXItcHJldmlvdXNgIGF0dHJpYnV0ZXMuICovXG4gIHByaXZhdGUgX2hhbmRsZUNsaWNrKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGNvbXBvc2VkUGF0aEVsZW1lbnRzID0gZXZlbnRcbiAgICAgIC5jb21wb3NlZFBhdGgoKVxuICAgICAgLmZpbHRlcigoZWwpID0+IGVsIGluc3RhbmNlb2Ygd2luZG93LkhUTUxFbGVtZW50KTtcbiAgICBpZiAoY29tcG9zZWRQYXRoRWxlbWVudHMuc29tZSgoZWwpID0+IHRoaXMuX2lzR29OZXh0RWxlbWVudChlbCBhcyBIVE1MRWxlbWVudCkpKSB7XG4gICAgICB0aGlzLl9zdGVwcGVyPy5uZXh0KCk7XG4gICAgfSBlbHNlIGlmIChjb21wb3NlZFBhdGhFbGVtZW50cy5zb21lKChlbCkgPT4gdGhpcy5faXNHb1ByZXZpb3VzRWxlbWVudChlbCBhcyBIVE1MRWxlbWVudCkpKSB7XG4gICAgICB0aGlzLl9zdGVwcGVyPy5wcmV2aW91cygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2lzR29OZXh0RWxlbWVudChlbGVtZW50OiBIVE1MRWxlbWVudCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBlbGVtZW50Lmhhc0F0dHJpYnV0ZSgnc2JiLXN0ZXBwZXItbmV4dCcpICYmICFlbGVtZW50Lmhhc0F0dHJpYnV0ZSgnZGlzYWJsZWQnKTtcbiAgfVxuXG4gIHByaXZhdGUgX2lzR29QcmV2aW91c0VsZW1lbnQoZWxlbWVudDogSFRNTEVsZW1lbnQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZWxlbWVudC5oYXNBdHRyaWJ1dGUoJ3NiYi1zdGVwcGVyLXByZXZpb3VzJykgJiYgIWVsZW1lbnQuaGFzQXR0cmlidXRlKCdkaXNhYmxlZCcpO1xuICB9XG5cbiAgcHJpdmF0ZSBfb25TdGVwRWxlbWVudFJlc2l6ZSgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaGFzQXR0cmlidXRlKCdkYXRhLXNlbGVjdGVkJykpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKiBFbWl0cyB3aGVuIGEgcmVzaXplIGhhcHBlbnMsIHVzZWQgdG8gYXZvaWQgc2V0dGluZyB0aGUgaGVpZ2h0IG9mIHRoZSBzdGVwcGVyIGZyb20gdGhlIHN0ZXAgY29tcG9uZW50LlxuICAgICAqL1xuICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ3Jlc2l6ZWNoYW5nZScsIHsgYnViYmxlczogdHJ1ZSB9KSk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLmlkIHx8PSBgc2JiLXN0ZXAtJHtuZXh0SWQrK31gO1xuICAgIHRoaXMuc2xvdCB8fD0gJ3N0ZXAnO1xuICAgIHRoaXMuX3N0ZXBwZXIgPSB0aGlzLmNsb3Nlc3QoJ3NiYi1zdGVwcGVyJyk7XG4gICAgdGhpcy5fYXNzaWduTGFiZWwoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBmaXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIuZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcbiAgICB0aGlzLnVwZGF0ZUNvbXBsZXRlLnRoZW4oKCkgPT4ge1xuICAgICAgdGhpcy5fc3RlcFJlc2l6ZU9ic2VydmVyLm9ic2VydmUodGhpcy5zaGFkb3dSb290IS5xdWVyeVNlbGVjdG9yKCcuc2JiLXN0ZXAnKSBhcyBIVE1MRWxlbWVudCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9hc3NpZ25MYWJlbCgpOiB2b2lkIHtcbiAgICBsZXQgcHJldmlvdXNTaWJsaW5nID0gdGhpcy5wcmV2aW91c0VsZW1lbnRTaWJsaW5nO1xuICAgIHdoaWxlIChwcmV2aW91c1NpYmxpbmcgJiYgcHJldmlvdXNTaWJsaW5nLmxvY2FsTmFtZSAhPT0gJ3NiYi1zdGVwLWxhYmVsJykge1xuICAgICAgcHJldmlvdXNTaWJsaW5nID0gcHJldmlvdXNTaWJsaW5nLnByZXZpb3VzRWxlbWVudFNpYmxpbmc7XG4gICAgfVxuICAgIGNvbnN0IHZhbHVlID0gcHJldmlvdXNTaWJsaW5nIGFzIFNiYlN0ZXBMYWJlbEVsZW1lbnQgfCBudWxsO1xuXG4gICAgdGhpcy5pbnRlcm5hbHMuYXJpYUxhYmVsbGVkQnlFbGVtZW50cyA9IHJlbW92ZUFyaWFFbGVtZW50cyhcbiAgICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFMYWJlbGxlZEJ5RWxlbWVudHMsXG4gICAgICB0aGlzLl9sYWJlbCxcbiAgICApO1xuICAgIHRoaXMuX2xhYmVsID0gdmFsdWUgaW5zdGFuY2VvZiBFbGVtZW50ID8gdmFsdWUgOiBudWxsO1xuICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFMYWJlbGxlZEJ5RWxlbWVudHMgPSBhcHBlbmRBcmlhRWxlbWVudHMoXG4gICAgICB0aGlzLmludGVybmFscy5hcmlhTGFiZWxsZWRCeUVsZW1lbnRzLFxuICAgICAgdGhpcy5fbGFiZWwsXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1zdGVwLS13cmFwcGVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzYmItc3RlcFwiPlxuICAgICAgICAgIDxzbG90Pjwvc2xvdD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItc3RlcCc6IFNiYlN0ZXBFbGVtZW50O1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEdsb2JhbEV2ZW50SGFuZGxlcnNFdmVudE1hcCB7XG4gICAg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
222
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcC5jb21wb25lbnQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9zdGVwcGVyL3N0ZXAvc3RlcC5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVzaXplQ29udHJvbGxlciB9IGZyb20gJ0BsaXQtbGFicy9vYnNlcnZlcnMvcmVzaXplLWNvbnRyb2xsZXIuanMnO1xuaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgaHRtbCxcbiAgTGl0RWxlbWVudCxcbiAgdHlwZSBQcm9wZXJ0eVZhbHVlcyxcbiAgdHlwZSBUZW1wbGF0ZVJlc3VsdCxcbn0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IFNiYlByb3BlcnR5V2F0Y2hlckNvbnRyb2xsZXIgfSBmcm9tICcuLi8uLi9jb3JlL2NvbnRyb2xsZXJzLnRzJztcbmltcG9ydCB7XG4gIGFwcGVuZEFyaWFFbGVtZW50cyxcbiAgcmVtb3ZlQXJpYUVsZW1lbnRzLFxuICBTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW4sXG59IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLnRzJztcbmltcG9ydCB7IGJveFNpemluZ1N0eWxlcyB9IGZyb20gJy4uLy4uL2NvcmUvc3R5bGVzLnRzJztcbmltcG9ydCB0eXBlIHsgU2JiU3RlcExhYmVsRWxlbWVudCB9IGZyb20gJy4uL3N0ZXAtbGFiZWwudHMnO1xuaW1wb3J0IHR5cGUgeyBTYmJTdGVwcGVyRWxlbWVudCB9IGZyb20gJy4uL3N0ZXBwZXIudHMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9zdGVwLnNjc3M/bGl0JmlubGluZSc7XG5cbmxldCBuZXh0SWQgPSAwO1xuXG5leHBvcnQgdHlwZSBTYmJTdGVwVmFsaWRhdGVFdmVudERldGFpbHMgPSB7XG4gIGN1cnJlbnRJbmRleDogbnVtYmVyIHwgbnVsbDtcbiAgY3VycmVudFN0ZXA6IFNiYlN0ZXBFbGVtZW50IHwgbnVsbDtcbiAgbmV4dEluZGV4OiBudW1iZXIgfCBudWxsO1xuICBuZXh0U3RlcDogU2JiU3RlcEVsZW1lbnQgfCBudWxsO1xufTtcblxuLyoqXG4gKiBDb21iaW5lZCB3aXRoIGEgYHNiYi1zdGVwcGVyYCwgaXQgZGlzcGxheXMgYSBzdGVwJ3MgY29udGVudC5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIHByb3ZpZGUgY29udGVudC5cbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLXN0ZXAnKVxuY2xhc3MgU2JiU3RlcEVsZW1lbnQgZXh0ZW5kcyBTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW4oTGl0RWxlbWVudCkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IHJvbGUgPSAndGFicGFuZWwnO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbYm94U2l6aW5nU3R5bGVzLCBzdHlsZV07XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgZXZlbnRzID0ge1xuICAgIHZhbGlkYXRlOiAndmFsaWRhdGUnLFxuICAgIHJlc2l6ZWNoYW5nZTogJ3Jlc2l6ZWNoYW5nZScsXG4gIH0gYXMgY29uc3Q7XG5cbiAgLy8gV2UgdXNlIGEgdGltZW91dCBhcyBhIHdvcmthcm91bmQgdG8gdGhlIFwiUmVzaXplT2JzZXJ2ZXIgbG9vcCBjb21wbGV0ZWQgd2l0aCB1bmRlbGl2ZXJlZCBub3RpZmljYXRpb25zXCIgZXJyb3IuXG4gIC8vIEZvciBtb3JlIGRldGFpbHM6XG4gIC8vIC0gaHR0cHM6Ly9naXRodWIuY29tL1dJQ0cvcmVzaXplLW9ic2VydmVyL2lzc3Vlcy8zOCNpc3N1ZWNvbW1lbnQtNDIyMTI2MDA2XG4gIC8vIC0gaHR0cHM6Ly9naXRodWIuY29tL2p1Z2dsZS9yZXNpemUtb2JzZXJ2ZXIvaXNzdWVzLzEwMyNpc3N1ZWNvbW1lbnQtMTcxMTE0ODI4NVxuICBwcml2YXRlIF9zdGVwUmVzaXplT2JzZXJ2ZXIgPSBuZXcgUmVzaXplQ29udHJvbGxlcih0aGlzLCB7XG4gICAgdGFyZ2V0OiBudWxsLFxuICAgIHNraXBJbml0aWFsOiB0cnVlLFxuICAgIGNhbGxiYWNrOiAoKSA9PiBzZXRUaW1lb3V0KCgpID0+IHRoaXMuX29uU3RlcEVsZW1lbnRSZXNpemUoKSksXG4gIH0pO1xuXG4gIC8qKiBUaGUgbGFiZWwgb2YgdGhlIHN0ZXAuICovXG4gIHB1YmxpYyBnZXQgbGFiZWwoKTogU2JiU3RlcExhYmVsRWxlbWVudCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLl9sYWJlbDtcbiAgfVxuICBwcml2YXRlIF9sYWJlbDogU2JiU3RlcExhYmVsRWxlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gIHB1YmxpYyBnZXQgc3RlcHBlcigpOiBTYmJTdGVwcGVyRWxlbWVudCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmNsb3Nlc3QoJ3NiYi1zdGVwcGVyJyk7XG4gIH1cblxuICBwcml2YXRlIF9wcmV2aW91c09yaWVudGF0aW9uPzogc3RyaW5nO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdjbGljaycsIChlKSA9PiB0aGlzLl9oYW5kbGVDbGljayhlKSk7XG4gICAgdGhpcy5hZGRDb250cm9sbGVyKFxuICAgICAgbmV3IFNiYlByb3BlcnR5V2F0Y2hlckNvbnRyb2xsZXIodGhpcywgKCkgPT4gdGhpcy5zdGVwcGVyLCB7XG4gICAgICAgIG9yaWVudGF0aW9uOiAocykgPT4ge1xuICAgICAgICAgIGlmICh0aGlzLl9wcmV2aW91c09yaWVudGF0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuZGVsZXRlKGBvcmllbnRhdGlvbi0ke3RoaXMuX3ByZXZpb3VzT3JpZW50YXRpb259YCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMuX3ByZXZpb3VzT3JpZW50YXRpb24gPSBzLm9yaWVudGF0aW9uO1xuICAgICAgICAgIGlmICh0aGlzLl9wcmV2aW91c09yaWVudGF0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuYWRkKGBvcmllbnRhdGlvbi0ke3RoaXMuX3ByZXZpb3VzT3JpZW50YXRpb259YCk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZWxlY3RzIGFuZCBjb25maWd1cmVzIHRoZSBzdGVwLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBzZWxlY3QoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmhhc1VwZGF0ZWQgfHwgIXRoaXMubGFiZWwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmFkZCgnc2VsZWN0ZWQnKTtcbiAgICB0aGlzLmxhYmVsLnNlbGVjdCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIERlc2VsZWN0cyBhbmQgY29uZmlndXJlcyB0aGUgc3RlcC5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgZGVzZWxlY3QoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmxhYmVsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5kZWxldGUoJ3NlbGVjdGVkJyk7XG4gICAgdGhpcy5sYWJlbC5kZXNlbGVjdCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEVtaXRzIGEgdmFsaWRhdGUgZXZlbnQgd2hlbmV2ZXIgc3RlcCBzd2l0Y2ggaXMgdHJpZ2dlcmVkLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyB2YWxpZGF0ZShldmVudERhdGE6IFNiYlN0ZXBWYWxpZGF0ZUV2ZW50RGV0YWlscyk6IGJvb2xlYW4ge1xuICAgIC8qKlxuICAgICAqIEB0eXBlIHtDdXN0b21FdmVudDxTYmJTdGVwVmFsaWRhdGVFdmVudERldGFpbHM+fVxuICAgICAqIFRoZSB2YWxpZGF0ZSBldmVudCBpcyBkaXNwYXRjaGVkIHdoZW4gYSBzdGVwIGNoYW5nZSBpcyB0cmlnZ2VyZWQuIENhbiBiZSBjYW5jZWxlZCB0byBhYm9ydCB0aGUgc3RlcCBjaGFuZ2UuXG4gICAgICovXG4gICAgcmV0dXJuIHRoaXMuZGlzcGF0Y2hFdmVudChcbiAgICAgIG5ldyBDdXN0b21FdmVudDxTYmJTdGVwVmFsaWRhdGVFdmVudERldGFpbHM+KCd2YWxpZGF0ZScsIHtcbiAgICAgICAgYnViYmxlczogdHJ1ZSxcbiAgICAgICAgY29tcG9zZWQ6IHRydWUsXG4gICAgICAgIGNhbmNlbGFibGU6IHRydWUsXG4gICAgICAgIGRldGFpbDogZXZlbnREYXRhLFxuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb25maWd1cmVzIHRoZSBzdGVwLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBjb25maWd1cmUoc3RlcHBlckxvYWRlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmIChzdGVwcGVyTG9hZGVkKSB7XG4gICAgICB0aGlzLl9hc3NpZ25MYWJlbCgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBXYXRjaGVzIGZvciBjbGlja2VkIGVsZW1lbnRzIHdpdGggYHNiYi1zdGVwcGVyLW5leHRgIG9yIGBzYmItc3RlcHBlci1wcmV2aW91c2AgYXR0cmlidXRlcy4gKi9cbiAgcHJpdmF0ZSBfaGFuZGxlQ2xpY2soZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgY29tcG9zZWRQYXRoRWxlbWVudHMgPSBldmVudFxuICAgICAgLmNvbXBvc2VkUGF0aCgpXG4gICAgICAuZmlsdGVyKChlbCkgPT4gZWwgaW5zdGFuY2VvZiB3aW5kb3cuSFRNTEVsZW1lbnQpO1xuICAgIGlmIChjb21wb3NlZFBhdGhFbGVtZW50cy5zb21lKChlbCkgPT4gdGhpcy5faXNHb05leHRFbGVtZW50KGVsIGFzIEhUTUxFbGVtZW50KSkpIHtcbiAgICAgIHRoaXMuc3RlcHBlcj8ubmV4dCgpO1xuICAgIH0gZWxzZSBpZiAoY29tcG9zZWRQYXRoRWxlbWVudHMuc29tZSgoZWwpID0+IHRoaXMuX2lzR29QcmV2aW91c0VsZW1lbnQoZWwgYXMgSFRNTEVsZW1lbnQpKSkge1xuICAgICAgdGhpcy5zdGVwcGVyPy5wcmV2aW91cygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2lzR29OZXh0RWxlbWVudChlbGVtZW50OiBIVE1MRWxlbWVudCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBlbGVtZW50Lmhhc0F0dHJpYnV0ZSgnc2JiLXN0ZXBwZXItbmV4dCcpICYmICFlbGVtZW50Lmhhc0F0dHJpYnV0ZSgnZGlzYWJsZWQnKTtcbiAgfVxuXG4gIHByaXZhdGUgX2lzR29QcmV2aW91c0VsZW1lbnQoZWxlbWVudDogSFRNTEVsZW1lbnQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZWxlbWVudC5oYXNBdHRyaWJ1dGUoJ3NiYi1zdGVwcGVyLXByZXZpb3VzJykgJiYgIWVsZW1lbnQuaGFzQXR0cmlidXRlKCdkaXNhYmxlZCcpO1xuICB9XG5cbiAgcHJpdmF0ZSBfb25TdGVwRWxlbWVudFJlc2l6ZSgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMubWF0Y2hlcygnOnN0YXRlKHNlbGVjdGVkKScpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGludGVybmFsXG4gICAgICogRW1pdHMgd2hlbiBhIHJlc2l6ZSBoYXBwZW5zLCB1c2VkIHRvIGF2b2lkIHNldHRpbmcgdGhlIGhlaWdodCBvZiB0aGUgc3RlcHBlciBmcm9tIHRoZSBzdGVwIGNvbXBvbmVudC5cbiAgICAgKi9cbiAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdyZXNpemVjaGFuZ2UnLCB7IGJ1YmJsZXM6IHRydWUgfSkpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5pZCB8fD0gYHNiYi1zdGVwLSR7bmV4dElkKyt9YDtcbiAgICB0aGlzLnNsb3QgfHw9ICdzdGVwJztcbiAgICB0aGlzLl9hc3NpZ25MYWJlbCgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci5maXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpO1xuICAgIHRoaXMudXBkYXRlQ29tcGxldGUudGhlbigoKSA9PiB7XG4gICAgICB0aGlzLl9zdGVwUmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLnNoYWRvd1Jvb3QhLnF1ZXJ5U2VsZWN0b3IoJy5zYmItc3RlcCcpIGFzIEhUTUxFbGVtZW50KTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2Fzc2lnbkxhYmVsKCk6IHZvaWQge1xuICAgIGxldCBwcmV2aW91c1NpYmxpbmcgPSB0aGlzLnByZXZpb3VzRWxlbWVudFNpYmxpbmc7XG4gICAgd2hpbGUgKHByZXZpb3VzU2libGluZyAmJiBwcmV2aW91c1NpYmxpbmcubG9jYWxOYW1lICE9PSAnc2JiLXN0ZXAtbGFiZWwnKSB7XG4gICAgICBwcmV2aW91c1NpYmxpbmcgPSBwcmV2aW91c1NpYmxpbmcucHJldmlvdXNFbGVtZW50U2libGluZztcbiAgICB9XG4gICAgY29uc3QgdmFsdWUgPSBwcmV2aW91c1NpYmxpbmcgYXMgU2JiU3RlcExhYmVsRWxlbWVudCB8IG51bGw7XG5cbiAgICB0aGlzLmludGVybmFscy5hcmlhTGFiZWxsZWRCeUVsZW1lbnRzID0gcmVtb3ZlQXJpYUVsZW1lbnRzKFxuICAgICAgdGhpcy5pbnRlcm5hbHMuYXJpYUxhYmVsbGVkQnlFbGVtZW50cyxcbiAgICAgIHRoaXMuX2xhYmVsLFxuICAgICk7XG4gICAgdGhpcy5fbGFiZWwgPSB2YWx1ZSBpbnN0YW5jZW9mIEVsZW1lbnQgPyB2YWx1ZSA6IG51bGw7XG4gICAgdGhpcy5pbnRlcm5hbHMuYXJpYUxhYmVsbGVkQnlFbGVtZW50cyA9IGFwcGVuZEFyaWFFbGVtZW50cyhcbiAgICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFMYWJlbGxlZEJ5RWxlbWVudHMsXG4gICAgICB0aGlzLl9sYWJlbCxcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLXN0ZXAtLXdyYXBwZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1zdGVwXCI+XG4gICAgICAgICAgPHNsb3Q+PC9zbG90PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1zdGVwJzogU2JiU3RlcEVsZW1lbnQ7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgR2xvYmFsRXZlbnRIYW5kbGVyc0V2ZW50TWFwIHtcbiAgICByZXNpemVjaGFuZ2U6IEV2ZW50O1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBc0JBLElBQUksU0FBUztJQWdCUCxrQkFBYyxNQUFBOzswQkFEbkIsY0FBYyxVQUFVLENBQUM7Ozs7b0JBQ0cseUJBQXlCLFVBQVU7QUFBM0MsRUFBQSxtQkFBUSxZQUFvQztBQUFBO0FBQUEsSUFtQi9ELElBQVcsUUFBSztBQUNkLGFBQU8sS0FBSztBQUFBLElBQ2Q7QUFBQSxJQUdBLElBQVcsVUFBTztBQUNo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
@@ -1,6 +1,7 @@
1
1
  import { CSSResultGroup, TemplateResult } from 'lit';
2
2
  import { SbbButtonBaseElement } from '../../core/base-elements.ts';
3
3
  import { SbbStepElement } from '../step.ts';
4
+ import { SbbStepperElement } from '../stepper.ts';
4
5
  declare const SbbStepLabelElement_base: import('../../core/mixins.ts').AbstractConstructor<import('../../icon.ts').SbbIconNameMixinType> & import('../../core/mixins.ts').AbstractConstructor<import('../../core/mixins.ts').SbbDisabledMixinType> & typeof SbbButtonBaseElement;
5
6
  /**
6
7
  * Combined with a `sbb-stepper`, it displays a step's label.
@@ -14,7 +15,9 @@ export declare class SbbStepLabelElement extends SbbStepLabelElement_base {
14
15
  /** The step controlled by the label. */
15
16
  get step(): SbbStepElement | null;
16
17
  private _step;
17
- private _stepper;
18
+ get stepper(): SbbStepperElement | null;
19
+ private _previousOrientation?;
20
+ private _previousSize?;
18
21
  constructor();
19
22
  connectedCallback(): void;
20
23
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"step-label.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/stepper/step-label/step-label.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAQ,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAGrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAInE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;;AAOjD;;;;;GAKG;AACH,qBAEM,mBAAoB,SAAQ,wBAAwD;IACxF,gBAAgC,IAAI,SAAS;IAC7C,OAAuB,MAAM,EAAE,cAAc,CAA4B;IAEzE,wCAAwC;IACxC,IAAW,IAAI,IAAI,cAAc,GAAG,IAAI,CAEvC;IACD,OAAO,CAAC,KAAK,CAA+B;IAE5C,OAAO,CAAC,QAAQ,CAAkC;;IAWlC,iBAAiB,IAAI,IAAI;IAazC;;;OAGG;IACI,MAAM,IAAI,IAAI;IAMrB;;;OAGG;IACI,QAAQ,IAAI,IAAI;IAMvB;;;OAGG;IACI,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,GAAG,IAAI;IAQjF,OAAO,CAAC,WAAW;cAkBA,MAAM,IAAI,cAAc;CAQ5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,gBAAgB,EAAE,mBAAmB,CAAC;KACvC;CACF"}
1
+ {"version":3,"file":"step-label.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/stepper/step-label/step-label.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAQ,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAGrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAKnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;;AAMvD;;;;;GAKG;AACH,qBAEM,mBAAoB,SAAQ,wBAAwD;IACxF,gBAAgC,IAAI,SAAS;IAC7C,OAAuB,MAAM,EAAE,cAAc,CAA4B;IAEzE,wCAAwC;IACxC,IAAW,IAAI,IAAI,cAAc,GAAG,IAAI,CAEvC;IACD,OAAO,CAAC,KAAK,CAA+B;IAE5C,IAAW,OAAO,IAAI,iBAAiB,GAAG,IAAI,CAE7C;IAED,OAAO,CAAC,oBAAoB,CAAC,CAAS;IACtC,OAAO,CAAC,aAAa,CAAC,CAAS;;IAkCf,iBAAiB,IAAI,IAAI;IAYzC;;;OAGG;IACI,MAAM,IAAI,IAAI;IAMrB;;;OAGG;IACI,QAAQ,IAAI,IAAI;IAMvB;;;OAGG;IACI,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,GAAG,IAAI;IAQjF,OAAO,CAAC,WAAW;cAkBA,MAAM,IAAI,cAAc;CAQ5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,gBAAgB,EAAE,mBAAmB,CAAC;KACvC;CACF"}
@@ -2,6 +2,7 @@ import { __esDecorate, __runInitializers } from "tslib";
2
2
  import { css, html } from "lit";
3
3
  import { customElement } from "lit/decorators.js";
4
4
  import { SbbButtonBaseElement } from "../../core/base-elements.js";
5
+ import { SbbPropertyWatcherController } from "../../core/controllers.js";
5
6
  import { SbbDisabledMixin, removeAriaElements, appendAriaElements } from "../../core/mixins.js";
6
7
  import { boxSizingStyles } from "../../core/styles.js";
7
8
  import { SbbIconNameMixin } from "../../icon.js";
@@ -47,7 +48,7 @@ const style = css`:host {
47
48
  }
48
49
  }
49
50
 
50
- :host([data-selected]) {
51
+ :host(:is(:state(selected),[state--selected])) {
51
52
  --sbb-text-font-size: var(--sbb-text-font-size-xxs);
52
53
  font-family: var(--sbb-typo-font-family);
53
54
  font-weight: normal;
@@ -58,16 +59,16 @@ const style = css`:host {
58
59
  --sbb-step-label-color: var(--sbb-color-3);
59
60
  }
60
61
  @media (forced-colors: active) {
61
- :host([data-selected]) {
62
+ :host(:is(:state(selected),[state--selected])) {
62
63
  --sbb-step-label-color: Highlight !important;
63
64
  }
64
65
  }
65
66
 
66
- :host([data-size=s]) {
67
+ :host(:is(:state(size-s),[state--size-s])) {
67
68
  --sbb-step-label-gap: var(--sbb-spacing-fixed-3x);
68
69
  --sbb-step-label-prefix-size: var(--sbb-size-element-xxxs);
69
70
  }
70
- :host([data-size=s])::before {
71
+ :host(:is(:state(size-s),[state--size-s]))::before {
71
72
  inset-block-start: calc(var(--sbb-text-font-size-m) * var(--sbb-typo-line-height-text) / 2 + var(--sbb-border-width-1x) / 2);
72
73
  }
73
74
 
@@ -97,15 +98,15 @@ const style = css`:host {
97
98
  border-radius: var(--sbb-border-radius-1x);
98
99
  }
99
100
 
100
- :host([data-orientation=vertical]) {
101
+ :host(:is(:state(orientation-vertical),[state--orientation-vertical])) {
101
102
  transition: margin var(--sbb-stepper-animation-duration) var(--sbb-animation-easing);
102
103
  }
103
104
 
104
- :host([data-orientation=vertical]:not(:first-of-type)) {
105
+ :host(:is(:state(orientation-vertical),[state--orientation-vertical]):not(:first-of-type)) {
105
106
  margin-block-start: var(--sbb-spacing-fixed-6x);
106
107
  }
107
108
 
108
- :host([data-selected][data-orientation=vertical]) {
109
+ :host(:is(:state(selected),[state--selected]):is(:state(orientation-vertical),[state--orientation-vertical])) {
109
110
  margin-block-end: var(--sbb-spacing-fixed-8x);
110
111
  }
111
112
 
@@ -123,7 +124,7 @@ const style = css`:host {
123
124
  gap: var(--sbb-step-label-gap);
124
125
  color: var(--sbb-step-label-color);
125
126
  }
126
- :host([data-size=s]) .sbb-step-label {
127
+ :host(:is(:state(size-s),[state--size-s])) .sbb-step-label {
127
128
  --sbb-text-font-size: var(--sbb-text-font-size-m);
128
129
  font-family: var(--sbb-typo-font-family);
129
130
  font-weight: normal;
@@ -155,7 +156,7 @@ const style = css`:host {
155
156
  transition-property: background-color, inset;
156
157
  }
157
158
 
158
- :host([data-orientation=horizontal]) .sbb-step-label__text {
159
+ :host(:is(:state(orientation-horizontal),[state--orientation-horizontal])) .sbb-step-label__text {
159
160
  overflow: hidden;
160
161
  white-space: nowrap;
161
162
  text-overflow: ellipsis;
@@ -184,15 +185,38 @@ let SbbStepLabelElement = (() => {
184
185
  get step() {
185
186
  return this._step;
186
187
  }
188
+ get stepper() {
189
+ return this.closest("sbb-stepper");
190
+ }
187
191
  constructor() {
188
192
  super();
189
193
  this._step = null;
190
- this._stepper = null;
191
194
  this.addEventListener?.("click", () => {
192
- if (this._stepper && this.step) {
193
- this._stepper.selected = this.step;
195
+ const stepper = this.stepper;
196
+ if (stepper && this.step) {
197
+ stepper.selected = this.step;
194
198
  }
195
199
  });
200
+ this.addController(new SbbPropertyWatcherController(this, () => this.stepper, {
201
+ orientation: (s) => {
202
+ if (this._previousOrientation) {
203
+ this.internals.states.delete(`orientation-${this._previousOrientation}`);
204
+ }
205
+ this._previousOrientation = s.orientation;
206
+ if (this._previousOrientation) {
207
+ this.internals.states.add(`orientation-${this._previousOrientation}`);
208
+ }
209
+ },
210
+ size: (s) => {
211
+ if (this._previousSize) {
212
+ this.internals.states.delete(`size-${this._previousSize}`);
213
+ }
214
+ this._previousSize = s.size;
215
+ if (this._previousSize) {
216
+ this.internals.states.add(`size-${this._previousSize}`);
217
+ }
218
+ }
219
+ }));
196
220
  }
197
221
  connectedCallback() {
198
222
  super.connectedCallback();
@@ -200,9 +224,8 @@ let SbbStepLabelElement = (() => {
200
224
  this.slot ||= "step-label";
201
225
  this.internals.ariaSelected = "false";
202
226
  this.tabIndex = -1;
203
- this._stepper = this.closest("sbb-stepper");
204
227
  this._assignStep();
205
- this.toggleAttribute("data-disabled", this.hasAttribute("disabled"));
228
+ this.toggleState("disabled", this.hasAttribute("disabled"));
206
229
  }
207
230
  /**
208
231
  * Selects and configures the step label.
@@ -211,7 +234,7 @@ let SbbStepLabelElement = (() => {
211
234
  select() {
212
235
  this.tabIndex = 0;
213
236
  this.internals.ariaSelected = "true";
214
- this.toggleAttribute("data-selected", true);
237
+ this.internals.states.add("selected");
215
238
  }
216
239
  /**
217
240
  * Deselects and configures the step label.
@@ -220,7 +243,7 @@ let SbbStepLabelElement = (() => {
220
243
  deselect() {
221
244
  this.tabIndex = -1;
222
245
  this.internals.ariaSelected = "false";
223
- this.toggleAttribute("data-selected", false);
246
+ this.internals.states.delete("selected");
224
247
  }
225
248
  /**
226
249
  * Configures the step label.
@@ -262,4 +285,4 @@ let SbbStepLabelElement = (() => {
262
285
  export {
263
286
  SbbStepLabelElement
264
287
  };
265
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcC1sYWJlbC5jb21wb25lbnQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9zdGVwcGVyL3N0ZXAtbGFiZWwvc3RlcC1sYWJlbC5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBDU1NSZXN1bHRHcm91cCwgaHRtbCwgdHlwZSBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBTYmJCdXR0b25CYXNlRWxlbWVudCB9IGZyb20gJy4uLy4uL2NvcmUvYmFzZS1lbGVtZW50cy50cyc7XG5pbXBvcnQgeyBhcHBlbmRBcmlhRWxlbWVudHMsIHJlbW92ZUFyaWFFbGVtZW50cywgU2JiRGlzYWJsZWRNaXhpbiB9IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLnRzJztcbmltcG9ydCB7IGJveFNpemluZ1N0eWxlcyB9IGZyb20gJy4uLy4uL2NvcmUvc3R5bGVzLnRzJztcbmltcG9ydCB7IFNiYkljb25OYW1lTWl4aW4gfSBmcm9tICcuLi8uLi9pY29uLnRzJztcbmltcG9ydCB0eXBlIHsgU2JiU3RlcEVsZW1lbnQgfSBmcm9tICcuLi9zdGVwLnRzJztcbmltcG9ydCB0eXBlIHsgU2JiU3RlcHBlckVsZW1lbnQgfSBmcm9tICcuLi9zdGVwcGVyLnRzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vc3RlcC1sYWJlbC5zY3NzP2xpdCZpbmxpbmUnO1xuXG5sZXQgbmV4dElkID0gMDtcblxuLyoqXG4gKiBDb21iaW5lZCB3aXRoIGEgYHNiYi1zdGVwcGVyYCwgaXQgZGlzcGxheXMgYSBzdGVwJ3MgbGFiZWwuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBwcm92aWRlIGEgbGFiZWwuXG4gKiBAc2xvdCBpY29uIC0gVXNlIHRoaXMgdG8gZGlzcGxheSBhbiBpY29uIGluIHRoZSBsYWJlbCBidWJibGUuXG4gKi9cbmV4cG9ydFxuQGN1c3RvbUVsZW1lbnQoJ3NiYi1zdGVwLWxhYmVsJylcbmNsYXNzIFNiYlN0ZXBMYWJlbEVsZW1lbnQgZXh0ZW5kcyBTYmJJY29uTmFtZU1peGluKFNiYkRpc2FibGVkTWl4aW4oU2JiQnV0dG9uQmFzZUVsZW1lbnQpKSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgcm9sZSA9ICd0YWInO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbYm94U2l6aW5nU3R5bGVzLCBzdHlsZV07XG5cbiAgLyoqIFRoZSBzdGVwIGNvbnRyb2xsZWQgYnkgdGhlIGxhYmVsLiAqL1xuICBwdWJsaWMgZ2V0IHN0ZXAoKTogU2JiU3RlcEVsZW1lbnQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fc3RlcDtcbiAgfVxuICBwcml2YXRlIF9zdGVwOiBTYmJTdGVwRWxlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgX3N0ZXBwZXI6IFNiYlN0ZXBwZXJFbGVtZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ2NsaWNrJywgKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuX3N0ZXBwZXIgJiYgdGhpcy5zdGVwKSB7XG4gICAgICAgIHRoaXMuX3N0ZXBwZXIuc2VsZWN0ZWQgPSB0aGlzLnN0ZXA7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLmlkIHx8PSBgc2JiLXN0ZXAtbGFiZWwtJHtuZXh0SWQrK31gO1xuICAgIHRoaXMuc2xvdCB8fD0gJ3N0ZXAtbGFiZWwnO1xuICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFTZWxlY3RlZCA9ICdmYWxzZSc7XG4gICAgdGhpcy50YWJJbmRleCA9IC0xO1xuICAgIHRoaXMuX3N0ZXBwZXIgPSB0aGlzLmNsb3Nlc3QoJ3NiYi1zdGVwcGVyJyk7XG4gICAgdGhpcy5fYXNzaWduU3RlcCgpO1xuICAgIC8vIFRoZSBgZGF0YS1kaXNhYmxlZGAgYXR0cmlidXRlIGlzIHVzZWQgdG8gcHJlc2VydmUgdGhlIGluaXRpYWwgZGlzYWJsZWQgc3RhdGUgb2ZcbiAgICAvLyBzdGVwIGxhYmVscyBpbiBjYXNlIG9mIHN3aXRjaGluZyBmcm9tIGxpbmVhciB0byBub24tbGluZWFyIG1vZGUuXG4gICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtZGlzYWJsZWQnLCB0aGlzLmhhc0F0dHJpYnV0ZSgnZGlzYWJsZWQnKSk7XG4gIH1cblxuICAvKipcbiAgICogU2VsZWN0cyBhbmQgY29uZmlndXJlcyB0aGUgc3RlcCBsYWJlbC5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgc2VsZWN0KCk6IHZvaWQge1xuICAgIHRoaXMudGFiSW5kZXggPSAwO1xuICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFTZWxlY3RlZCA9ICd0cnVlJztcbiAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1zZWxlY3RlZCcsIHRydWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIERlc2VsZWN0cyBhbmQgY29uZmlndXJlcyB0aGUgc3RlcCBsYWJlbC5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgZGVzZWxlY3QoKTogdm9pZCB7XG4gICAgdGhpcy50YWJJbmRleCA9IC0xO1xuICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFTZWxlY3RlZCA9ICdmYWxzZSc7XG4gICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtc2VsZWN0ZWQnLCBmYWxzZSk7XG4gIH1cblxuICAvKipcbiAgICogQ29uZmlndXJlcyB0aGUgc3RlcCBsYWJlbC5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgY29uZmlndXJlKHBvc0luU2V0OiBudW1iZXIsIHNldFNpemU6IG51bWJlciwgc3RlcHBlckxvYWRlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmIChzdGVwcGVyTG9hZGVkKSB7XG4gICAgICB0aGlzLl9hc3NpZ25TdGVwKCk7XG4gICAgfVxuICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFQb3NJblNldCA9IGAke3Bvc0luU2V0fWA7XG4gICAgdGhpcy5pbnRlcm5hbHMuYXJpYVNldFNpemUgPSBgJHtzZXRTaXplfWA7XG4gIH1cblxuICBwcml2YXRlIF9hc3NpZ25TdGVwKCk6IHZvaWQge1xuICAgIGxldCBuZXh0U2libGluZyA9IHRoaXMubmV4dEVsZW1lbnRTaWJsaW5nO1xuICAgIHdoaWxlIChuZXh0U2libGluZyAmJiBuZXh0U2libGluZy5sb2NhbE5hbWUgIT09ICdzYmItc3RlcCcpIHtcbiAgICAgIG5leHRTaWJsaW5nID0gbmV4dFNpYmxpbmcubmV4dEVsZW1lbnRTaWJsaW5nO1xuICAgIH1cblxuICAgIGNvbnN0IHZhbHVlID0gbmV4dFNpYmxpbmcgYXMgU2JiU3RlcEVsZW1lbnQgfCBudWxsO1xuICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFDb250cm9sc0VsZW1lbnRzID0gcmVtb3ZlQXJpYUVsZW1lbnRzKFxuICAgICAgdGhpcy5pbnRlcm5hbHMuYXJpYUNvbnRyb2xzRWxlbWVudHMsXG4gICAgICB0aGlzLl9zdGVwLFxuICAgICk7XG4gICAgdGhpcy5fc3RlcCA9IHZhbHVlIGluc3RhbmNlb2YgRWxlbWVudCA/IHZhbHVlIDogbnVsbDtcbiAgICB0aGlzLmludGVybmFscy5hcmlhQ29udHJvbHNFbGVtZW50cyA9IGFwcGVuZEFyaWFFbGVtZW50cyhcbiAgICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFDb250cm9sc0VsZW1lbnRzLFxuICAgICAgdGhpcy5fc3RlcCxcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLXN0ZXAtbGFiZWxcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItc3RlcC1sYWJlbF9fcHJlZml4XCI+JHt0aGlzLnJlbmRlckljb25TbG90KCl9PC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi1zdGVwLWxhYmVsX190ZXh0XCI+PHNsb3Q+PC9zbG90Pjwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1zdGVwLWxhYmVsJzogU2JiU3RlcExhYmVsRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBWUEsSUFBSSxTQUFTO0lBVVAsdUJBQW1CLE1BQUE7OzBCQUR4QixjQUFjLGdCQUFnQixDQUFDOzs7O0FBQ0UsTUFBQSxjQUFBLGlCQUFpQixpQkFBaUIsb0JBQW9CLENBQUM7QUFBL0QsRUFBQSxtQkFBUSxZQUF3RDtBQUFBO0FBQUEsSUFLeEYsSUFBVyxPQUFJO0FBQ2IsYUFBTyxLQUFLO0FBQUEsSUFDZDtBQUFBLElBS0EsY0FBQTtBQUNFLFlBQUE7QUFMTSxXQUFBLFFBQStCO0FBRS9CLFdBQUEsV0FBcUM7QUFJM0MsV0FBSyxtQkFBbUIsU0FBUyxNQUFLO0FBQ3BDLFlBQUksS0FBSyxZQUFZLEtBQUssTUFBTTtBQUM5QixlQUFLLFNBQVMsV0FBVyxLQUFLO0FBQUEsUUFDaEM7QUFBQSxNQUNGLENBQUM7QUFBQSxJQUNIO0FBQUEsSUFFZ0Isb0JBQWlCO0FBQy9CLFlBQU0sa0JBQUE7QUFDTixXQUFLLE9BQU8sa0JBQWtCLFFBQVE7QUFDdEMsV0FBSyxTQUFTO0FBQ2QsV0FBSyxVQUFVLGVBQWU7QUFDOUIsV0FBSyxXQUFXO0FBQ2hCLFdBQUssV0FBVyxLQUFLLFFBQVEsYUFBYTtBQUMxQyxXQUFLLFlBQUE7QUFHTCxXQUFLLGdCQUFnQixpQkFBaUIsS0FBSyxhQUFhLFVBQVUsQ0FBQztBQUFBLElBQ3JFO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxJQU1PLFNBQU07QUFDWCxXQUFLLFdBQVc7QUFDaEIsV0FBSyxVQUFVLGVBQWU7QUFDOUIsV0FBSyxnQkFBZ0IsaUJBQWlCLElBQUk7QUFBQSxJQUM1QztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsSUFNTyxXQUFRO0FBQ2IsV0FBSyxXQUFXO0FBQ2hCLFdBQUssVUFBVSxlQUFlO0FBQzlCLFdBQUssZ0JBQWdCLGlCQUFpQixLQUFLO0FBQUEsSUFDN0M7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLElBTU8sVUFBVSxVQUFrQixTQUFpQixlQUFzQjtBQUN4RSxVQUFJLGVBQWU7QUFDakIsYUFBSyxZQUFBO0FBQUEsTUFDUDtBQUNBLFdBQUssVUFBVSxlQUFlLEdBQUcsUUFBUTtBQUN6QyxXQUFLLFVBQVUsY0FBYyxHQUFHLE9BQU87QUFBQSxJQUN6QztBQUFBLElBRVEsY0FBVztBQUNqQixVQUFJLGNBQWMsS0FBSztBQUN2QixhQUFPLGVBQWUsWUFBWSxjQUFjLFlBQVk7QUFDMUQsc0JBQWMsWUFBWTtBQUFBLE1BQzVCO0FBRUEsWUFBTSxRQUFRO0FBQ2QsV0FBSyxVQUFVLHVCQUF1QixtQkFDcEMsS0FBSyxVQUFVLHNCQUNmLEtBQUssS0FBSztBQUVaLFdBQUssUUFBUSxpQkFBaUIsVUFBVSxRQUFRO0FBQ2hELFdBQUssVUFBVSx1QkFBdUIsbUJBQ3BDLEtBQUssVUFBVSxzQkFDZixLQUFLLEtBQUs7QUFBQSxJQUVkO0FBQUEsSUFFbUIsU0FBTTtBQUN2QixhQUFPO0FBQUE7QUFBQSwrQ0FFb0MsS0FBSyxnQkFBZ0I7QUFBQTtBQUFBO0FBQUE7QUFBQSxJQUlsRTtBQUFBOztBQTNGRixpQkFBQSxNQUFBLG1CQUFBLEVBQUEsT0FBQSxXQUFBLEdBQUEsa0JBQUEsRUFBQSxNQUFBLFNBQUEsTUFBQSxXQUFBLE1BQUEsVUFBQSxVQUFBLEdBQUEsTUFBQSx1QkFBQTs7O1FBQ2tDLEdBQUEsT0FBTyxPQUNoQixHQUFBLFNBQXlCLENBQUMsaUJBQWlCLEtBQUssR0FGbkUsa0JBQUEsWUFBQSx1QkFBQSxHQUFvQjs7OyJ9
288
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcC1sYWJlbC5jb21wb25lbnQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9zdGVwcGVyL3N0ZXAtbGFiZWwvc3RlcC1sYWJlbC5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBDU1NSZXN1bHRHcm91cCwgaHRtbCwgdHlwZSBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBTYmJCdXR0b25CYXNlRWxlbWVudCB9IGZyb20gJy4uLy4uL2NvcmUvYmFzZS1lbGVtZW50cy50cyc7XG5pbXBvcnQgeyBTYmJQcm9wZXJ0eVdhdGNoZXJDb250cm9sbGVyIH0gZnJvbSAnLi4vLi4vY29yZS9jb250cm9sbGVycy50cyc7XG5pbXBvcnQgeyBhcHBlbmRBcmlhRWxlbWVudHMsIHJlbW92ZUFyaWFFbGVtZW50cywgU2JiRGlzYWJsZWRNaXhpbiB9IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLnRzJztcbmltcG9ydCB7IGJveFNpemluZ1N0eWxlcyB9IGZyb20gJy4uLy4uL2NvcmUvc3R5bGVzLnRzJztcbmltcG9ydCB7IFNiYkljb25OYW1lTWl4aW4gfSBmcm9tICcuLi8uLi9pY29uLnRzJztcbmltcG9ydCB0eXBlIHsgU2JiU3RlcEVsZW1lbnQgfSBmcm9tICcuLi9zdGVwLnRzJztcbmltcG9ydCB0eXBlIHsgU2JiU3RlcHBlckVsZW1lbnQgfSBmcm9tICcuLi9zdGVwcGVyLnRzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vc3RlcC1sYWJlbC5zY3NzP2xpdCZpbmxpbmUnO1xuXG5sZXQgbmV4dElkID0gMDtcblxuLyoqXG4gKiBDb21iaW5lZCB3aXRoIGEgYHNiYi1zdGVwcGVyYCwgaXQgZGlzcGxheXMgYSBzdGVwJ3MgbGFiZWwuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBwcm92aWRlIGEgbGFiZWwuXG4gKiBAc2xvdCBpY29uIC0gVXNlIHRoaXMgdG8gZGlzcGxheSBhbiBpY29uIGluIHRoZSBsYWJlbCBidWJibGUuXG4gKi9cbmV4cG9ydFxuQGN1c3RvbUVsZW1lbnQoJ3NiYi1zdGVwLWxhYmVsJylcbmNsYXNzIFNiYlN0ZXBMYWJlbEVsZW1lbnQgZXh0ZW5kcyBTYmJJY29uTmFtZU1peGluKFNiYkRpc2FibGVkTWl4aW4oU2JiQnV0dG9uQmFzZUVsZW1lbnQpKSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgcm9sZSA9ICd0YWInO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbYm94U2l6aW5nU3R5bGVzLCBzdHlsZV07XG5cbiAgLyoqIFRoZSBzdGVwIGNvbnRyb2xsZWQgYnkgdGhlIGxhYmVsLiAqL1xuICBwdWJsaWMgZ2V0IHN0ZXAoKTogU2JiU3RlcEVsZW1lbnQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fc3RlcDtcbiAgfVxuICBwcml2YXRlIF9zdGVwOiBTYmJTdGVwRWxlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gIHB1YmxpYyBnZXQgc3RlcHBlcigpOiBTYmJTdGVwcGVyRWxlbWVudCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmNsb3Nlc3QoJ3NiYi1zdGVwcGVyJyk7XG4gIH1cblxuICBwcml2YXRlIF9wcmV2aW91c09yaWVudGF0aW9uPzogc3RyaW5nO1xuICBwcml2YXRlIF9wcmV2aW91c1NpemU/OiBzdHJpbmc7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ2NsaWNrJywgKCkgPT4ge1xuICAgICAgY29uc3Qgc3RlcHBlciA9IHRoaXMuc3RlcHBlcjtcbiAgICAgIGlmIChzdGVwcGVyICYmIHRoaXMuc3RlcCkge1xuICAgICAgICBzdGVwcGVyLnNlbGVjdGVkID0gdGhpcy5zdGVwO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMuYWRkQ29udHJvbGxlcihcbiAgICAgIG5ldyBTYmJQcm9wZXJ0eVdhdGNoZXJDb250cm9sbGVyKHRoaXMsICgpID0+IHRoaXMuc3RlcHBlciwge1xuICAgICAgICBvcmllbnRhdGlvbjogKHMpID0+IHtcbiAgICAgICAgICBpZiAodGhpcy5fcHJldmlvdXNPcmllbnRhdGlvbikge1xuICAgICAgICAgICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmRlbGV0ZShgb3JpZW50YXRpb24tJHt0aGlzLl9wcmV2aW91c09yaWVudGF0aW9ufWApO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLl9wcmV2aW91c09yaWVudGF0aW9uID0gcy5vcmllbnRhdGlvbjtcbiAgICAgICAgICBpZiAodGhpcy5fcHJldmlvdXNPcmllbnRhdGlvbikge1xuICAgICAgICAgICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmFkZChgb3JpZW50YXRpb24tJHt0aGlzLl9wcmV2aW91c09yaWVudGF0aW9ufWApO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgc2l6ZTogKHMpID0+IHtcbiAgICAgICAgICBpZiAodGhpcy5fcHJldmlvdXNTaXplKSB7XG4gICAgICAgICAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuZGVsZXRlKGBzaXplLSR7dGhpcy5fcHJldmlvdXNTaXplfWApO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLl9wcmV2aW91c1NpemUgPSBzLnNpemU7XG4gICAgICAgICAgaWYgKHRoaXMuX3ByZXZpb3VzU2l6ZSkge1xuICAgICAgICAgICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmFkZChgc2l6ZS0ke3RoaXMuX3ByZXZpb3VzU2l6ZX1gKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5pZCB8fD0gYHNiYi1zdGVwLWxhYmVsLSR7bmV4dElkKyt9YDtcbiAgICB0aGlzLnNsb3QgfHw9ICdzdGVwLWxhYmVsJztcbiAgICB0aGlzLmludGVybmFscy5hcmlhU2VsZWN0ZWQgPSAnZmFsc2UnO1xuICAgIHRoaXMudGFiSW5kZXggPSAtMTtcbiAgICB0aGlzLl9hc3NpZ25TdGVwKCk7XG4gICAgLy8gVGhlIGBkaXNhYmxlZGAgc3RhdGUgaXMgdXNlZCB0byBwcmVzZXJ2ZSB0aGUgaW5pdGlhbCBkaXNhYmxlZCBzdGF0ZSBvZlxuICAgIC8vIHN0ZXAgbGFiZWxzIGluIGNhc2Ugb2Ygc3dpdGNoaW5nIGZyb20gbGluZWFyIHRvIG5vbi1saW5lYXIgbW9kZS5cbiAgICB0aGlzLnRvZ2dsZVN0YXRlKCdkaXNhYmxlZCcsIHRoaXMuaGFzQXR0cmlidXRlKCdkaXNhYmxlZCcpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZWxlY3RzIGFuZCBjb25maWd1cmVzIHRoZSBzdGVwIGxhYmVsLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBzZWxlY3QoKTogdm9pZCB7XG4gICAgdGhpcy50YWJJbmRleCA9IDA7XG4gICAgdGhpcy5pbnRlcm5hbHMuYXJpYVNlbGVjdGVkID0gJ3RydWUnO1xuICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5hZGQoJ3NlbGVjdGVkJyk7XG4gIH1cblxuICAvKipcbiAgICogRGVzZWxlY3RzIGFuZCBjb25maWd1cmVzIHRoZSBzdGVwIGxhYmVsLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBkZXNlbGVjdCgpOiB2b2lkIHtcbiAgICB0aGlzLnRhYkluZGV4ID0gLTE7XG4gICAgdGhpcy5pbnRlcm5hbHMuYXJpYVNlbGVjdGVkID0gJ2ZhbHNlJztcbiAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuZGVsZXRlKCdzZWxlY3RlZCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbmZpZ3VyZXMgdGhlIHN0ZXAgbGFiZWwuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIGNvbmZpZ3VyZShwb3NJblNldDogbnVtYmVyLCBzZXRTaXplOiBudW1iZXIsIHN0ZXBwZXJMb2FkZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBpZiAoc3RlcHBlckxvYWRlZCkge1xuICAgICAgdGhpcy5fYXNzaWduU3RlcCgpO1xuICAgIH1cbiAgICB0aGlzLmludGVybmFscy5hcmlhUG9zSW5TZXQgPSBgJHtwb3NJblNldH1gO1xuICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFTZXRTaXplID0gYCR7c2V0U2l6ZX1gO1xuICB9XG5cbiAgcHJpdmF0ZSBfYXNzaWduU3RlcCgpOiB2b2lkIHtcbiAgICBsZXQgbmV4dFNpYmxpbmcgPSB0aGlzLm5leHRFbGVtZW50U2libGluZztcbiAgICB3aGlsZSAobmV4dFNpYmxpbmcgJiYgbmV4dFNpYmxpbmcubG9jYWxOYW1lICE9PSAnc2JiLXN0ZXAnKSB7XG4gICAgICBuZXh0U2libGluZyA9IG5leHRTaWJsaW5nLm5leHRFbGVtZW50U2libGluZztcbiAgICB9XG5cbiAgICBjb25zdCB2YWx1ZSA9IG5leHRTaWJsaW5nIGFzIFNiYlN0ZXBFbGVtZW50IHwgbnVsbDtcbiAgICB0aGlzLmludGVybmFscy5hcmlhQ29udHJvbHNFbGVtZW50cyA9IHJlbW92ZUFyaWFFbGVtZW50cyhcbiAgICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFDb250cm9sc0VsZW1lbnRzLFxuICAgICAgdGhpcy5fc3RlcCxcbiAgICApO1xuICAgIHRoaXMuX3N0ZXAgPSB2YWx1ZSBpbnN0YW5jZW9mIEVsZW1lbnQgPyB2YWx1ZSA6IG51bGw7XG4gICAgdGhpcy5pbnRlcm5hbHMuYXJpYUNvbnRyb2xzRWxlbWVudHMgPSBhcHBlbmRBcmlhRWxlbWVudHMoXG4gICAgICB0aGlzLmludGVybmFscy5hcmlhQ29udHJvbHNFbGVtZW50cyxcbiAgICAgIHRoaXMuX3N0ZXAsXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1zdGVwLWxhYmVsXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLXN0ZXAtbGFiZWxfX3ByZWZpeFwiPiR7dGhpcy5yZW5kZXJJY29uU2xvdCgpfTwvc3Bhbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItc3RlcC1sYWJlbF9fdGV4dFwiPjxzbG90Pjwvc2xvdD48L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItc3RlcC1sYWJlbCc6IFNiYlN0ZXBMYWJlbEVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFhQSxJQUFJLFNBQVM7SUFVUCx1QkFBbUIsTUFBQTs7MEJBRHhCLGNBQWMsZ0JBQWdCLENBQUM7Ozs7QUFDRSxNQUFBLGNBQUEsaUJBQWlCLGlCQUFpQixvQkFBb0IsQ0FBQztBQUEvRCxFQUFBLG1CQUFRLFlBQXdEO0FBQUE7QUFBQSxJQUt4RixJQUFXLE9BQUk7QUFDYixhQUFPLEtBQUs7QUFBQSxJQUNkO0FBQUEsSUFHQSxJQUFXLFVBQU87QUFDaEIsYUFBTyxLQUFLLFFBQVEsYUFBYTtBQUFBLElBQ25DO0FBQUEsSUFLQSxjQUFB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
@@ -1,7 +1,7 @@
1
1
  import { CSSResultGroup, LitElement, TemplateResult, PropertyValues } from 'lit';
2
2
  import { SbbHorizontalFrom, SbbOrientation } from '../../core/interfaces.ts';
3
3
  import { SbbStepElement } from '../step.ts';
4
- declare const SbbStepperElement_base: import('../../core/mixins.ts').AbstractConstructor<import('../../core/mixins.ts').SbbHydrationMixinType> & typeof LitElement;
4
+ declare const SbbStepperElement_base: import('../../core/mixins.ts').AbstractConstructor<import('../../core/mixins.ts').SbbHydrationMixinType> & import('../../core/mixins.ts').AbstractConstructor<import('../../core/mixins.ts').SbbElementInternalsMixinType> & typeof LitElement & import('../../core/mixins.ts').SbbElementInternalsConstructor;
5
5
  /**
6
6
  * Provides a structured, step-by-step workflow for user interactions.
7
7
  * @slot - Provide a `sbb-expansion-panel-header` and a `sbb-expansion-panel-content` to the stepper.
@@ -41,6 +41,7 @@ export declare class SbbStepperElement extends SbbStepperElement_base {
41
41
  private get _enabledSteps();
42
42
  private _loaded;
43
43
  private _resizeObserverTimeout;
44
+ private _mediaMatcher;
44
45
  constructor();
45
46
  /** Selects the next step. */
46
47
  next(): void;
@@ -66,7 +67,6 @@ export declare class SbbStepperElement extends SbbStepperElement_base {
66
67
  disconnectedCallback(): void;
67
68
  protected firstUpdated(changedProperties: PropertyValues<this>): void;
68
69
  protected willUpdate(changedProperties: PropertyValues<this>): void;
69
- private _proxySize;
70
70
  private _handleKeyDown;
71
71
  protected render(): TemplateResult;
72
72
  }
@@ -1 +1 @@
1
- {"version":3,"file":"stepper.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/stepper/stepper/stepper.component.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,cAAc,EAEnB,UAAU,EACV,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAMb,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAGlF,OAAO,KAAK,EAAE,cAAc,EAA+B,MAAM,YAAY,CAAC;;AAM9E;;;;;GAKG;AACH,qBAEM,iBAAkB,SAAQ,sBAA6B;IAC3D,OAAuB,MAAM,EAAE,cAAc,CAA4B;IAEzE;;;;;OAKG;IACH,OAAO,CAAC,SAAS,CAUd;IAEH,wFAAwF;IACxF,SAEgB,MAAM,EAAE,OAAO,CAAS;IAExC,yDAAyD;IACzD,IACW,cAAc,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI,EAKxD;IACD,IAAW,cAAc,IAAI,iBAAiB,GAAG,IAAI,CAEpD;IACD,OAAO,CAAC,eAAe,CAAkC;IAEzD,wDAAwD;IACxD,SACgB,WAAW,EAAE,cAAc,CAAgB;IAE3D;;;OAGG;IACH,SAA6C,IAAI,EAAE,GAAG,GAAG,GAAG,CAAwB;IAEpF,mCAAmC;IACnC,IACW,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,EAI9C;IACD,IAAW,QAAQ,IAAI,cAAc,GAAG,IAAI,CAE3C;IAED,yCAAyC;IACzC,IACW,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAI5C;IACD,IAAW,aAAa,IAAI,MAAM,GAAG,IAAI,CAExC;IAED,gCAAgC;IAChC,IAAW,KAAK,IAAI,cAAc,EAAE,CAEnC;IAED,OAAO,KAAK,aAAa,GAExB;IAED,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,sBAAsB,CAA8C;;IAQ5E,6BAA6B;IACtB,IAAI,IAAI,IAAI;IAMnB,iCAAiC;IAC1B,QAAQ,IAAI,IAAI;IAMvB,yFAAyF;IAClF,KAAK,IAAI,IAAI;IAcpB,OAAO,CAAC,YAAY;IAiBpB,OAAO,CAAC,OAAO;IAyBf,OAAO,CAAC,cAAc;IAiBtB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,wBAAwB;IAoBhC,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,UAAU;IAalB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,gBAAgB,CAWtB;IAEF,OAAO,CAAC,oBAAoB;IAUZ,iBAAiB,IAAI,IAAI;IAQzB,oBAAoB,IAAI,IAAI;cAKzB,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;cAY3D,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAgB5E,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,cAAc;cAmBH,MAAM,IAAI,cAAc;CAY5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,aAAa,EAAE,iBAAiB,CAAC;KAClC;CACF"}
1
+ {"version":3,"file":"stepper.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/stepper/stepper/stepper.component.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,cAAc,EAEnB,UAAU,EACV,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAab,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAGlF,OAAO,KAAK,EAAE,cAAc,EAA+B,MAAM,YAAY,CAAC;;AAY9E;;;;;GAKG;AACH,qBAEM,iBAAkB,SAAQ,sBAAuD;IACrF,OAAuB,MAAM,EAAE,cAAc,CAA4B;IAEzE;;;;;OAKG;IACH,OAAO,CAAC,SAAS,CAUd;IAEH,wFAAwF;IACxF,SAEgB,MAAM,EAAE,OAAO,CAAS;IAExC,yDAAyD;IACzD,IACW,cAAc,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI,EAKxD;IACD,IAAW,cAAc,IAAI,iBAAiB,GAAG,IAAI,CAEpD;IACD,OAAO,CAAC,eAAe,CAAkC;IAEzD,wDAAwD;IACxD,SACgB,WAAW,EAAE,cAAc,CAAgB;IAE3D;;;OAGG;IACH,SAA6C,IAAI,EAAE,GAAG,GAAG,GAAG,CAAwB;IAEpF,mCAAmC;IACnC,IACW,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,EAI9C;IACD,IAAW,QAAQ,IAAI,cAAc,GAAG,IAAI,CAE3C;IAED,yCAAyC;IACzC,IACW,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAI5C;IACD,IAAW,aAAa,IAAI,MAAM,GAAG,IAAI,CAExC;IAED,gCAAgC;IAChC,IAAW,KAAK,IAAI,cAAc,EAAE,CAEnC;IAED,OAAO,KAAK,aAAa,GAExB;IAED,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,sBAAsB,CAA8C;IAC5E,OAAO,CAAC,aAAa,CAA2C;;IAQhE,6BAA6B;IACtB,IAAI,IAAI,IAAI;IAMnB,iCAAiC;IAC1B,QAAQ,IAAI,IAAI;IAMvB,yFAAyF;IAClF,KAAK,IAAI,IAAI;IAcpB,OAAO,CAAC,YAAY;IAiBpB,OAAO,CAAC,OAAO;IAyBf,OAAO,CAAC,cAAc;IAiBtB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,wBAAwB;IAoBhC,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,UAAU;IAYlB,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,gBAAgB,CAWtB;IAEF,OAAO,CAAC,oBAAoB;IAUZ,iBAAiB,IAAI,IAAI;IAQzB,oBAAoB,IAAI,IAAI;cAKzB,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;cAY3D,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAe5E,OAAO,CAAC,cAAc;cAmBH,MAAM,IAAI,cAAc;CAY5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,aAAa,EAAE,iBAAiB,CAAC;KAClC;CACF"}