@sbb-esta/lyne-elements 4.8.1 → 4.9.0

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 (601) hide show
  1. package/action-group/action-group.component.js +1 -1
  2. package/action-group.component-OZNshH7G.js +158 -0
  3. package/action-group.js +1 -1
  4. package/action-group.pure.js +1 -1
  5. package/alert/alert/alert.component.js +1 -1
  6. package/alert/alert-group/alert-group.component.js +1 -1
  7. package/alert/alert-group.js +1 -1
  8. package/alert/alert.js +1 -1
  9. package/{alert-group.component-RV1M1OKy.js → alert-group.component-DnYg4aPB.js} +1 -1
  10. package/{alert.component-PPR7hfTi.js → alert.component-B94SoaHI.js} +1 -1
  11. package/alert.js +2 -2
  12. package/alert.pure.js +2 -2
  13. package/autocomplete/autocomplete-base-element.js +1 -1
  14. package/autocomplete/autocomplete.component.js +1 -1
  15. package/{autocomplete-base-element-DVFCZ4lt.js → autocomplete-base-element-BQj0oiHC.js} +1 -1
  16. package/autocomplete.js +1 -1
  17. package/autocomplete.pure.js +1 -1
  18. package/block-link-common-ClyAETjl.js +63 -0
  19. package/breadcrumb/breadcrumb/breadcrumb.component.js +1 -1
  20. package/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +1 -1
  21. package/breadcrumb/breadcrumb-group.js +1 -1
  22. package/breadcrumb/breadcrumb.js +1 -1
  23. package/{breadcrumb-group.component-CfUyO1sI.js → breadcrumb-group.component-ioEaxcGE.js} +1 -1
  24. package/breadcrumb.component-CDs1jq2d.js +24 -0
  25. package/breadcrumb.js +2 -2
  26. package/breadcrumb.pure.js +2 -2
  27. package/button/common.js +1 -1
  28. package/button/mini-button-group/mini-button-group.component.js +1 -1
  29. package/button/mini-button-group.js +1 -1
  30. package/button/mini-button-link/mini-button-link.component.js +1 -1
  31. package/button/mini-button-link.js +1 -1
  32. package/button.js +3 -3
  33. package/button.pure.js +3 -3
  34. package/calendar/calendar/calendar.component.js +1 -1
  35. package/calendar/calendar-day/calendar-day.component.js +1 -1
  36. package/calendar/calendar-day.js +1 -1
  37. package/calendar/calendar.js +1 -1
  38. package/calendar/common.js +1 -1
  39. package/{calendar-day.component-Iewo-vBR.js → calendar-day.component-BZxPrp22.js} +1 -1
  40. package/{calendar.component-Cz-OGQu6.js → calendar.component-DtdBj_D-.js} +1 -1
  41. package/calendar.js +2 -2
  42. package/calendar.pure.js +2 -2
  43. package/card/card/card.component.js +1 -1
  44. package/card/card-badge/card-badge.component.js +1 -1
  45. package/card/card-badge.js +1 -1
  46. package/card/card.js +1 -1
  47. package/card/common/card-action-common.js +1 -1
  48. package/card/common.js +1 -1
  49. package/{card-action-common-GpkaNYtV.js → card-action-common-BNe4LRHp.js} +1 -1
  50. package/card-badge.component-CtpSWL9S.js +65 -0
  51. package/card.component-Bd-2-dP3.js +62 -0
  52. package/card.js +3 -3
  53. package/card.pure.js +3 -3
  54. package/carousel/carousel/carousel.component.js +1 -1
  55. package/carousel/carousel-item/carousel-item.component.js +1 -1
  56. package/carousel/carousel-item.js +1 -1
  57. package/carousel/carousel-list/carousel-list.component.js +1 -1
  58. package/carousel/carousel-list.js +1 -1
  59. package/carousel/carousel.js +1 -1
  60. package/{carousel-item.component-kv3rY8B-.js → carousel-item.component-BdW4Fe7j.js} +1 -1
  61. package/{carousel-list.component-DMMk66SP.js → carousel-list.component-CXKdk4dv.js} +1 -1
  62. package/{carousel.component-BA0V2JHI.js → carousel.component-D9By2rDH.js} +1 -1
  63. package/carousel.js +3 -3
  64. package/carousel.pure.js +3 -3
  65. package/checkbox/checkbox.component.js +2 -2
  66. package/checkbox/checkbox.js +2 -2
  67. package/checkbox/common/checkbox-common.js +1 -1
  68. package/checkbox/common.js +1 -1
  69. package/{checkbox-common-J-7Y966k.js → checkbox-common-CPIIGgkG.js} +1 -1
  70. package/{checkbox.component-Bazdxs9R.js → checkbox.component-Cax24yN1.js} +2 -2
  71. package/checkbox.js +2 -2
  72. package/checkbox.pure.js +2 -2
  73. package/chip/chip/chip.component.js +1 -1
  74. package/chip/chip-group/chip-group.component.js +1 -1
  75. package/chip/chip-group.js +1 -1
  76. package/chip/chip.js +1 -1
  77. package/{chip-group.component-CbruCoHR.js → chip-group.component-CpXuOisx.js} +1 -1
  78. package/chip-label/chip-label.component.js +1 -1
  79. package/{chip-label.component-D9AZdMSJ.js → chip-label.component-CFDlJJZv.js} +1 -1
  80. package/chip-label.js +1 -1
  81. package/chip-label.pure.js +1 -1
  82. package/chip.component-vKOg_uFQ.js +94 -0
  83. package/chip.js +2 -2
  84. package/chip.pure.js +2 -2
  85. package/clock/clock.component.js +1 -1
  86. package/{clock.component-gZJy4AU4.js → clock.component-CZq8NuSw.js} +1 -1
  87. package/clock.js +1 -1
  88. package/clock.pure.js +1 -1
  89. package/common-BdjLJuBp.js +5 -0
  90. package/{compact-paginator.component-BK7xj9tc.js → compact-paginator.component-JM9tD9ys.js} +1 -1
  91. package/container/container/container.component.js +1 -1
  92. package/container/container.js +1 -1
  93. package/container/sticky-bar/sticky-bar.component.js +1 -1
  94. package/container/sticky-bar.js +1 -1
  95. package/{container.component-C-jpJN2k.js → container.component-mgU80iW0.js} +1 -1
  96. package/container.js +2 -2
  97. package/container.pure.js +2 -2
  98. package/core/a11y/focus-trap-controller.js +2 -2
  99. package/core/base-elements/selection-group-base-element.js +1 -1
  100. package/core/base-elements.js +1 -1
  101. package/core/mixins.js +1 -1
  102. package/core/styles/core.scss +9 -0
  103. package/core.css +13 -0
  104. package/custom-elements.json +83 -0
  105. package/date-input/date-input.component.js +1 -1
  106. package/{date-input.component-Da-aS3jt.js → date-input.component-lInRTqua.js} +1 -1
  107. package/date-input.js +1 -1
  108. package/date-input.pure.js +1 -1
  109. package/datepicker/common/datepicker-button.js +1 -1
  110. package/datepicker/common.js +1 -1
  111. package/datepicker/datepicker/datepicker.component.js +1 -1
  112. package/datepicker/datepicker.js +1 -1
  113. package/{datepicker-button-Dk2UQkPN.js → datepicker-button--Bz_ztGR.js} +1 -1
  114. package/{datepicker.component-DUVgoAGU.js → datepicker.component-B64-Fip5.js} +1 -1
  115. package/datepicker.js +2 -2
  116. package/datepicker.pure.js +2 -2
  117. package/development/core/a11y/focus-trap-controller.js +3 -3
  118. package/development/core/mixins.js +2 -1
  119. package/development/header/header/header.component.d.ts +7 -0
  120. package/development/header/header/header.component.d.ts.map +1 -1
  121. package/development/header/header/header.component.js +1 -1
  122. package/development/header/header.js +1 -1
  123. package/development/header.component-C9JGj-z6.js +489 -0
  124. package/development/header.js +1 -1
  125. package/development/header.pure.js +1 -1
  126. package/development/popover/popover.component.js +1 -1
  127. package/development/popover.component-dRXm7_Mv.js +736 -0
  128. package/development/popover.js +1 -1
  129. package/development/popover.pure.js +1 -1
  130. package/development/radio-button/common/radio-button-common.d.ts.map +1 -1
  131. package/development/radio-button/common/radio-button-common.js +1 -1
  132. package/development/radio-button/common.js +1 -1
  133. package/development/radio-button/radio-button.component.js +2 -2
  134. package/development/radio-button/radio-button.js +2 -2
  135. package/development/{radio-button-common-CsjMvmAn.js → radio-button-common-CCrvhOPQ.js} +7 -1
  136. package/development/radio-button-group/radio-button-group.component.d.ts.map +1 -1
  137. package/development/radio-button-group/radio-button-group.component.js +2 -1
  138. package/development/{radio-button.component-BTnHGixs.js → radio-button.component-DYD1hVIZ.js} +2 -2
  139. package/development/radio-button.js +2 -2
  140. package/development/radio-button.pure.js +2 -2
  141. package/development/signet/signet.component.d.ts.map +1 -1
  142. package/development/signet/signet.component.js +1 -1
  143. package/development/signet.component-9afq0BQh.js +164 -0
  144. package/development/signet.js +1 -1
  145. package/development/signet.pure.js +1 -1
  146. package/development/skiplink-list/skiplink-list.component.d.ts.map +1 -1
  147. package/development/skiplink-list/skiplink-list.component.js +1 -1
  148. package/development/{skiplink-list.component-BvbnZ24-.js → skiplink-list.component--EzDilpP.js} +12 -22
  149. package/development/skiplink-list.js +1 -1
  150. package/development/skiplink-list.pure.js +1 -1
  151. package/dialog/dialog/dialog.component.js +1 -1
  152. package/dialog/dialog-actions/dialog-actions.component.js +1 -1
  153. package/dialog/dialog-actions.js +1 -1
  154. package/dialog/dialog-close-button/dialog-close-button.component.js +1 -1
  155. package/dialog/dialog-close-button.js +1 -1
  156. package/dialog/dialog-content/dialog-content.component.js +1 -1
  157. package/dialog/dialog-content.js +1 -1
  158. package/dialog/dialog-title/dialog-title.component.js +1 -1
  159. package/dialog/dialog-title.js +1 -1
  160. package/dialog/dialog.js +1 -1
  161. package/dialog-actions.component-C6m1odAP.js +17 -0
  162. package/{dialog-close-button.component-CeZrvBtz.js → dialog-close-button.component-DsNnE7BE.js} +1 -1
  163. package/{dialog-content.component-bHJNAgKn.js → dialog-content.component-DIKknjUX.js} +1 -1
  164. package/dialog-title.component-DSq0esCH.js +17 -0
  165. package/{dialog.component-CIPresmM.js → dialog.component-BuIFpeUd.js} +1 -1
  166. package/dialog.js +5 -5
  167. package/dialog.pure.js +5 -5
  168. package/divider/divider.component.js +1 -1
  169. package/{divider.component-B99DkxCv.js → divider.component-DwDhJGac.js} +1 -1
  170. package/divider.js +1 -1
  171. package/divider.pure.js +1 -1
  172. package/{error.component-DTYppqRY.js → error.component-DpUkVwHl.js} +1 -1
  173. package/expansion-panel/expansion-panel/expansion-panel.component.js +1 -1
  174. package/expansion-panel/expansion-panel-content/expansion-panel-content.component.js +1 -1
  175. package/expansion-panel/expansion-panel-content.js +1 -1
  176. package/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +1 -1
  177. package/expansion-panel/expansion-panel-header.js +1 -1
  178. package/expansion-panel/expansion-panel.js +1 -1
  179. package/expansion-panel-content.component-2C7bavY5.js +29 -0
  180. package/expansion-panel-header.component-B5ulwstr.js +56 -0
  181. package/{expansion-panel.component-CGss5cPS.js → expansion-panel.component-DxEqf6H1.js} +1 -1
  182. package/expansion-panel.js +3 -3
  183. package/expansion-panel.pure.js +3 -3
  184. package/file-selector/common/file-selector-common.js +1 -1
  185. package/file-selector/common.js +1 -1
  186. package/file-selector/file-selector-dropzone/file-selector-dropzone.component.js +1 -1
  187. package/file-selector/file-selector-dropzone.js +1 -1
  188. package/{file-selector-common-C--h0Yj2.js → file-selector-common-Bk07ovZm.js} +1 -1
  189. package/{file-selector-dropzone.component-BFlkqlsq.js → file-selector-dropzone.component-DhPsfRQk.js} +1 -1
  190. package/file-selector.js +2 -2
  191. package/file-selector.pure.js +2 -2
  192. package/flip-card/flip-card/flip-card.component.js +1 -1
  193. package/flip-card/flip-card-details/flip-card-details.component.js +1 -1
  194. package/flip-card/flip-card-details.js +1 -1
  195. package/flip-card/flip-card-summary/flip-card-summary.component.js +1 -1
  196. package/flip-card/flip-card-summary.js +1 -1
  197. package/flip-card/flip-card.js +1 -1
  198. package/{flip-card-details.component-BOVK7F1U.js → flip-card-details.component-Dd9w2AaO.js} +1 -1
  199. package/flip-card-summary.component-DN08GsS9.js +65 -0
  200. package/{flip-card.component-5pxuwGAv.js → flip-card.component-CrUlzxck.js} +1 -1
  201. package/flip-card.js +3 -3
  202. package/flip-card.pure.js +3 -3
  203. package/footer/footer.component.js +1 -1
  204. package/footer.component-C8s7qhZs.js +129 -0
  205. package/footer.js +1 -1
  206. package/footer.pure.js +1 -1
  207. package/form-field/error/error.component.js +1 -1
  208. package/form-field/error.js +1 -1
  209. package/form-field/form-field/form-field.component.js +1 -1
  210. package/form-field/form-field.js +1 -1
  211. package/{form-field.component-CWj6jfYZ.js → form-field.component-Dc0CkOvA.js} +1 -1
  212. package/form-field.js +2 -2
  213. package/form-field.pure.js +2 -2
  214. package/header/common/header-action-common.js +1 -1
  215. package/header/common.js +1 -1
  216. package/header/header/header.component.js +1 -1
  217. package/header/header-environment/header-environment.component.js +1 -1
  218. package/header/header-environment.js +1 -1
  219. package/header/header.js +1 -1
  220. package/header-action-common-D9CO0Jax.js +62 -0
  221. package/header-environment.component-DDZ9fcZd.js +36 -0
  222. package/header.component-BPkEKqnQ.js +232 -0
  223. package/header.js +3 -3
  224. package/header.pure.js +3 -3
  225. package/icon/icon-base.js +1 -1
  226. package/icon/icon-name-mixin.js +1 -1
  227. package/icon/icon.component.js +1 -1
  228. package/{icon-base-C2VxpriZ.js → icon-base-BkDvJr2l.js} +1 -1
  229. package/icon-sidebar/icon-sidebar/icon-sidebar.component.js +1 -1
  230. package/icon-sidebar/icon-sidebar.js +1 -1
  231. package/{icon-sidebar.component-D3vOnYrs.js → icon-sidebar.component-CQ6KLiCN.js} +1 -1
  232. package/icon-sidebar.js +1 -1
  233. package/icon-sidebar.pure.js +1 -1
  234. package/icon.js +1 -1
  235. package/icon.pure.js +1 -1
  236. package/image/image.component.js +1 -1
  237. package/{image.component-BcOwT7-U.js → image.component-BSWcI8r3.js} +1 -1
  238. package/image.js +1 -1
  239. package/image.pure.js +1 -1
  240. package/inline-link-common-B7MnXE80.js +18 -0
  241. package/journey-header/journey-header.component.js +1 -1
  242. package/{journey-header.component-CjXBxEor.js → journey-header.component-mIbM-KVg.js} +1 -1
  243. package/journey-header.js +1 -1
  244. package/journey-header.pure.js +1 -1
  245. package/lead-container/lead-container.component.js +1 -1
  246. package/lead-container.component-w3zhibLj.js +27 -0
  247. package/lead-container.js +1 -1
  248. package/lead-container.pure.js +1 -1
  249. package/link/common/block-link-common.js +2 -2
  250. package/link/common/inline-link-common.js +2 -2
  251. package/link/common/link-common.js +1 -1
  252. package/link/common.js +3 -3
  253. package/link-common-DqIfaliQ.js +52 -0
  254. package/link-list/common/link-list-base.js +1 -1
  255. package/link-list/common.js +1 -1
  256. package/link-list/link-list-anchor.js +2 -2
  257. package/link-list/link-list.component.js +2 -2
  258. package/link-list/link-list.js +2 -2
  259. package/link-list-anchor/link-list-anchor.component.js +1 -1
  260. package/link-list-anchor.component-CwmljGqM.js +18 -0
  261. package/link-list-anchor.js +1 -1
  262. package/link-list-anchor.pure.js +1 -1
  263. package/{link-list-base-CrpC5D4u.js → link-list-base-DwOmdG3N.js} +1 -1
  264. package/link-list.component-e-UmSwDi.js +78 -0
  265. package/link-list.js +3 -3
  266. package/link-list.pure.js +2 -2
  267. package/link.js +3 -3
  268. package/link.pure.js +3 -3
  269. package/loading-indicator/loading-indicator.component.js +1 -1
  270. package/loading-indicator-circle/loading-indicator-circle.component.js +1 -1
  271. package/loading-indicator-circle.component-5o-TFlzV.js +62 -0
  272. package/loading-indicator-circle.js +1 -1
  273. package/loading-indicator-circle.pure.js +1 -1
  274. package/loading-indicator.component-8XIZYm8V.js +92 -0
  275. package/loading-indicator.js +1 -1
  276. package/loading-indicator.pure.js +1 -1
  277. package/logo/logo.component.js +1 -1
  278. package/{logo.component-CdZe8lrB.js → logo.component-D0-6sm1j.js} +1 -1
  279. package/logo.js +1 -1
  280. package/logo.pure.js +1 -1
  281. package/map-container/map-container.component.js +1 -1
  282. package/map-container.component-CnErYagX.js +128 -0
  283. package/map-container.js +1 -1
  284. package/map-container.pure.js +1 -1
  285. package/menu/common/menu-action-common.js +1 -1
  286. package/menu/common.js +1 -1
  287. package/menu/menu/menu.component.js +1 -1
  288. package/menu/menu.js +1 -1
  289. package/menu-action-common-Br3mThg1.js +29 -0
  290. package/{menu.component-elxRPsQz.js → menu.component-D5u2hL8X.js} +1 -1
  291. package/menu.js +2 -2
  292. package/menu.pure.js +2 -2
  293. package/message/message.component.js +1 -1
  294. package/{message.component-DDMr1IXM.js → message.component-CnIfjJj8.js} +1 -1
  295. package/message.js +1 -1
  296. package/message.pure.js +1 -1
  297. package/{mini-button-group.component-D5Dph1Z7.js → mini-button-group.component-CDXkOnq4.js} +1 -1
  298. package/{mini-button-link.component-BYK_EUud.js → mini-button-link.component-BlPfUvvp.js} +1 -1
  299. package/mini-calendar/mini-calendar/mini-calendar.component.js +1 -1
  300. package/mini-calendar/mini-calendar-day/mini-calendar-day.component.js +1 -1
  301. package/mini-calendar/mini-calendar-day.js +1 -1
  302. package/mini-calendar/mini-calendar-month/mini-calendar-month.component.js +1 -1
  303. package/mini-calendar/mini-calendar-month.js +1 -1
  304. package/mini-calendar/mini-calendar.js +1 -1
  305. package/{mini-calendar-day.component-Tj7wlWj7.js → mini-calendar-day.component-CM1dgWp6.js} +1 -1
  306. package/{mini-calendar-month.component-DTod_RRs.js → mini-calendar-month.component-DZ45IgFZ.js} +1 -1
  307. package/{mini-calendar.component-BCDHUUZG.js → mini-calendar.component-CKR-WJWW.js} +1 -1
  308. package/mini-calendar.js +3 -3
  309. package/mini-calendar.pure.js +3 -3
  310. package/navigation/common/navigation-action-common.js +1 -1
  311. package/navigation/common.js +1 -1
  312. package/navigation/navigation/navigation.component.js +1 -1
  313. package/navigation/navigation-list/navigation-list.component.js +1 -1
  314. package/navigation/navigation-list.js +1 -1
  315. package/navigation/navigation-marker/navigation-marker.component.js +1 -1
  316. package/navigation/navigation-marker.js +1 -1
  317. package/navigation/navigation-section/navigation-section.component.js +1 -1
  318. package/navigation/navigation-section.js +1 -1
  319. package/navigation/navigation.js +1 -1
  320. package/navigation-action-common-Cme_2GEs.js +64 -0
  321. package/{navigation-list.component-DnB7FrKG.js → navigation-list.component-DiyAt5hV.js} +1 -1
  322. package/{navigation-marker.component-B7hmb9iS.js → navigation-marker.component-D_U3Nd-_.js} +1 -1
  323. package/{navigation-section.component-C86pkDLG.js → navigation-section.component-DqFRimuS.js} +1 -1
  324. package/{navigation.component-BzgTWUiD.js → navigation.component-BAgxKoOU.js} +1 -1
  325. package/navigation.js +5 -5
  326. package/navigation.pure.js +5 -5
  327. package/notification/notification.component.js +1 -1
  328. package/notification.component-BYm_I7Df.js +197 -0
  329. package/notification.js +1 -1
  330. package/notification.pure.js +1 -1
  331. package/off-brand-theme.css +13 -0
  332. package/{optgroup-base-element-C8LeifgF.js → optgroup-base-element-D0ebmnMV.js} +1 -1
  333. package/option/optgroup/optgroup-base-element.js +1 -1
  334. package/option/optgroup/optgroup.component.js +1 -1
  335. package/option/optgroup.js +1 -1
  336. package/option/option/option.component.js +1 -1
  337. package/option/option-hint/option-hint.component.js +1 -1
  338. package/option/option-hint.js +1 -1
  339. package/option/option.js +1 -1
  340. package/option-hint.component-5KZ_UDB6.js +23 -0
  341. package/option.component-DJO5o_Ig.js +98 -0
  342. package/option.js +3 -3
  343. package/option.pure.js +3 -3
  344. package/overlay/overlay.component.js +1 -1
  345. package/{overlay.component-CAN3BK7B.js → overlay.component-CaBxt4sb.js} +1 -1
  346. package/overlay.js +1 -1
  347. package/overlay.pure.js +1 -1
  348. package/package.json +1 -1
  349. package/paginator/compact-paginator/compact-paginator.component.js +1 -1
  350. package/paginator/compact-paginator.js +1 -1
  351. package/paginator/paginator/paginator.component.js +1 -1
  352. package/paginator/paginator.js +1 -1
  353. package/paginator.component-nXF_Zbze.js +206 -0
  354. package/paginator.js +2 -2
  355. package/paginator.pure.js +2 -2
  356. package/popover/popover.component.js +1 -1
  357. package/{popover.component-CiOGSWOz.js → popover.component-H1g1e1o9.js} +2 -2
  358. package/popover.js +1 -1
  359. package/popover.pure.js +1 -1
  360. package/radio-button/common/radio-button-common.js +1 -1
  361. package/radio-button/common.js +1 -1
  362. package/radio-button/radio-button.component.js +2 -2
  363. package/radio-button/radio-button.js +2 -2
  364. package/radio-button-common-Ch3i83Qb.js +80 -0
  365. package/radio-button-group/radio-button-group.component.js +1 -1
  366. package/{radio-button.component-CVPy3eQi.js → radio-button.component-BGIJJyFd.js} +2 -2
  367. package/radio-button.js +2 -2
  368. package/radio-button.pure.js +2 -2
  369. package/safety-theme.css +13 -0
  370. package/screen-reader-only/screen-reader-only.component.js +1 -1
  371. package/{screen-reader-only.component-DEOirlKo.js → screen-reader-only.component-DxVn8U9m.js} +1 -1
  372. package/screen-reader-only.js +1 -1
  373. package/screen-reader-only.pure.js +1 -1
  374. package/select/select.component.js +1 -1
  375. package/{select.component-CsIiislt.js → select.component-Bo7kkaOF.js} +1 -1
  376. package/select.js +1 -1
  377. package/select.pure.js +1 -1
  378. package/selection-action-panel/selection-action-panel.component.js +1 -1
  379. package/selection-action-panel.component-DsXSIUJY.js +35 -0
  380. package/selection-action-panel.js +1 -1
  381. package/selection-action-panel.pure.js +1 -1
  382. package/selection-expansion-panel/selection-expansion-panel.component.js +1 -1
  383. package/{selection-expansion-panel.component-BQw9icBM.js → selection-expansion-panel.component-DdUCJdYH.js} +1 -1
  384. package/selection-expansion-panel.js +1 -1
  385. package/selection-expansion-panel.pure.js +1 -1
  386. package/{selection-group-base-element-Bd6na8dT.js → selection-group-base-element-CBG8qr2t.js} +1 -1
  387. package/sidebar/common/styles.js +1 -1
  388. package/sidebar/common.js +1 -1
  389. package/sidebar/sidebar/sidebar.component.js +1 -1
  390. package/sidebar/sidebar-close-button/sidebar-close-button.component.js +1 -1
  391. package/sidebar/sidebar-close-button.js +1 -1
  392. package/sidebar/sidebar-container/sidebar-container.component.js +1 -1
  393. package/sidebar/sidebar-container.js +1 -1
  394. package/sidebar/sidebar-content/sidebar-content.component.js +1 -1
  395. package/sidebar/sidebar-content.js +1 -1
  396. package/sidebar/sidebar-title/sidebar-title.component.js +1 -1
  397. package/sidebar/sidebar-title.js +1 -1
  398. package/sidebar/sidebar.js +1 -1
  399. package/{sidebar-close-button.component-D0JS2p5L.js → sidebar-close-button.component-BTrt_KtJ.js} +1 -1
  400. package/{sidebar-container.component-BFxFShTF.js → sidebar-container.component-5s-OUp0W.js} +1 -1
  401. package/{sidebar-content.component-M7FGd8SF.js → sidebar-content.component-cZMzji92.js} +1 -1
  402. package/{sidebar-title.component-BfjxBPpH.js → sidebar-title.component-DYd-60nF.js} +1 -1
  403. package/{sidebar.component-zRpWDGKR.js → sidebar.component-BcgVWM8W.js} +1 -1
  404. package/sidebar.js +5 -5
  405. package/sidebar.pure.js +5 -5
  406. package/signet/signet.component.js +1 -1
  407. package/signet.component-CobWzWhG.js +99 -0
  408. package/signet.js +1 -1
  409. package/signet.pure.js +1 -1
  410. package/skiplink-list/skiplink-list.component.js +1 -1
  411. package/{skiplink-list.component-BRJk6HvC.js → skiplink-list.component-DHOXaPS-.js} +8 -10
  412. package/skiplink-list.js +1 -1
  413. package/skiplink-list.pure.js +1 -1
  414. package/slider/slider.component.js +1 -1
  415. package/{slider.component-CLNsu212.js → slider.component-MdvM78XU.js} +1 -1
  416. package/slider.js +1 -1
  417. package/slider.pure.js +1 -1
  418. package/standard-theme.css +13 -0
  419. package/status/status.component.js +1 -1
  420. package/{status.component-CmLdUn37.js → status.component-C3Wx4Gvn.js} +1 -1
  421. package/status.js +1 -1
  422. package/status.pure.js +1 -1
  423. package/step-label.component-zeKJCNqa.js +82 -0
  424. package/{step.component-eKVtXlT4.js → step.component-DluGAXNI.js} +1 -1
  425. package/stepper/step/step.component.js +1 -1
  426. package/stepper/step-label/step-label.component.js +1 -1
  427. package/stepper/step-label.js +1 -1
  428. package/stepper/step.js +1 -1
  429. package/stepper/stepper/stepper.component.js +1 -1
  430. package/stepper/stepper.js +1 -1
  431. package/{stepper.component-yWCQtYWc.js → stepper.component-BIFuIy3T.js} +1 -1
  432. package/stepper.js +3 -3
  433. package/stepper.pure.js +3 -3
  434. package/sticky-bar.component-DnPfDrKx.js +141 -0
  435. package/styles-BhYx61ZB.js +5 -0
  436. package/styles-DjLiBgML.js +5 -0
  437. package/{tab-group.component-DE4H3_H4.js → tab-group.component-BTwC9WKX.js} +1 -1
  438. package/tab-label.component-CsT_0RH7.js +165 -0
  439. package/{tab-nav-bar.component-n5TiTWxE.js → tab-nav-bar.component-UOqFJjhe.js} +1 -1
  440. package/{tab.component-BrIEFDxk.js → tab.component-BpUsS18w.js} +1 -1
  441. package/table/table-wrapper/table-wrapper.component.js +1 -1
  442. package/table/table-wrapper.js +1 -1
  443. package/{table-wrapper.component-CoqozurQ.js → table-wrapper.component-DPUvpfK4.js} +1 -1
  444. package/table.js +1 -1
  445. package/table.pure.js +1 -1
  446. package/tabs/common/styles.js +1 -1
  447. package/tabs/common.js +1 -1
  448. package/tabs/tab/tab.component.js +1 -1
  449. package/tabs/tab-group/tab-group.component.js +1 -1
  450. package/tabs/tab-group.js +1 -1
  451. package/tabs/tab-label/tab-label.component.js +1 -1
  452. package/tabs/tab-label.js +1 -1
  453. package/tabs/tab-nav-bar/tab-nav-bar.component.js +1 -1
  454. package/tabs/tab-nav-bar.js +1 -1
  455. package/tabs/tab.js +1 -1
  456. package/tabs.js +5 -5
  457. package/tabs.pure.js +5 -5
  458. package/tag/tag/tag.component.js +1 -1
  459. package/tag/tag-group/tag-group.component.js +1 -1
  460. package/tag/tag-group.js +1 -1
  461. package/tag/tag.js +1 -1
  462. package/{tag-group.component-DiIp6zS1.js → tag-group.component-CoChkHtw.js} +1 -1
  463. package/tag.component-ClZ-ZKFC.js +170 -0
  464. package/tag.js +2 -2
  465. package/tag.pure.js +2 -2
  466. package/teaser/teaser.component.js +1 -1
  467. package/teaser-hero/teaser-hero.component.js +1 -1
  468. package/teaser-hero.component-dKZsY0fS.js +80 -0
  469. package/teaser-hero.js +1 -1
  470. package/teaser-hero.pure.js +1 -1
  471. package/teaser-product/common/teaser-product-common.js +1 -1
  472. package/teaser-product/common.js +1 -1
  473. package/teaser-product/teaser-product/teaser-product.component.js +1 -1
  474. package/teaser-product/teaser-product.js +1 -1
  475. package/teaser-product-common-CFCb5Rsx.js +62 -0
  476. package/{teaser-product.component-DiOhM_rU.js → teaser-product.component-C3Zi8Pdd.js} +1 -1
  477. package/teaser-product.js +2 -2
  478. package/teaser-product.pure.js +2 -2
  479. package/teaser.component-CUUvAAZ7.js +91 -0
  480. package/teaser.js +1 -1
  481. package/teaser.pure.js +1 -1
  482. package/time-input/time-input.component.js +1 -1
  483. package/{time-input.component-DT1BOC8m.js → time-input.component-BDkxBiPM.js} +1 -1
  484. package/time-input.js +1 -1
  485. package/time-input.pure.js +1 -1
  486. package/timetable-form/timetable-form/timetable-form.component.js +1 -1
  487. package/timetable-form/timetable-form-details/timetable-form-details.component.js +1 -1
  488. package/timetable-form/timetable-form-details.js +1 -1
  489. package/timetable-form/timetable-form-field/timetable-form-field.component.js +1 -1
  490. package/timetable-form/timetable-form-field.js +1 -1
  491. package/timetable-form/timetable-form-swap-button/timetable-form-swap-button.component.js +1 -1
  492. package/timetable-form/timetable-form-swap-button.js +1 -1
  493. package/timetable-form/timetable-form.js +1 -1
  494. package/timetable-form-details.component-CfpM_Kse.js +16 -0
  495. package/timetable-form-field.component-DJ9FZ9vI.js +32 -0
  496. package/{timetable-form-swap-button.component-BGP-OsHD.js → timetable-form-swap-button.component-BXQ-ukkk.js} +1 -1
  497. package/{timetable-form.component-BqdKekNM.js → timetable-form.component-BeopwQmE.js} +1 -1
  498. package/timetable-form.js +4 -4
  499. package/timetable-form.pure.js +4 -4
  500. package/timetable-occupancy/timetable-occupancy.component.js +1 -1
  501. package/timetable-occupancy-icon/timetable-occupancy-icon.component.js +1 -1
  502. package/{timetable-occupancy-icon.component-ZrzpXaeV.js → timetable-occupancy-icon.component-LLMT_897.js} +1 -1
  503. package/timetable-occupancy-icon.js +1 -1
  504. package/timetable-occupancy-icon.pure.js +1 -1
  505. package/{timetable-occupancy.component-DMztYVmj.js → timetable-occupancy.component-CuI4uxPK.js} +1 -1
  506. package/timetable-occupancy.js +1 -1
  507. package/timetable-occupancy.pure.js +1 -1
  508. package/title/title-base.js +1 -1
  509. package/title/title.component.js +2 -2
  510. package/{title-base-BDYkc8fG.js → title-base-DRgSZMaU.js} +1 -1
  511. package/{title.component-DafVwymI.js → title.component-1oKmMeCz.js} +2 -2
  512. package/title.js +2 -2
  513. package/title.pure.js +2 -2
  514. package/toast/toast.component.js +1 -1
  515. package/{toast.component-DbILctK5.js → toast.component-BGevO6ad.js} +1 -1
  516. package/toast.js +1 -1
  517. package/toast.pure.js +1 -1
  518. package/toggle/toggle/toggle.component.js +1 -1
  519. package/toggle/toggle-option/toggle-option.component.js +1 -1
  520. package/toggle/toggle-option.js +1 -1
  521. package/toggle/toggle.js +1 -1
  522. package/toggle-check/toggle-check.component.js +1 -1
  523. package/toggle-check.component-C2Ejl7a_.js +119 -0
  524. package/toggle-check.js +1 -1
  525. package/toggle-check.pure.js +1 -1
  526. package/{toggle-option.component-NMfqwd12.js → toggle-option.component-Lm0irQKj.js} +1 -1
  527. package/{toggle.component-D1n5S5ev.js → toggle.component-D8rRkRAo.js} +1 -1
  528. package/toggle.js +2 -2
  529. package/toggle.pure.js +2 -2
  530. package/tooltip/tooltip.component.js +1 -1
  531. package/{tooltip.component-X45T6iQH.js → tooltip.component-Bwp_yTA8.js} +1 -1
  532. package/tooltip.js +1 -1
  533. package/tooltip.pure.js +1 -1
  534. package/train/train/train.component.js +1 -1
  535. package/train/train-blocked-passage/train-blocked-passage.component.js +1 -1
  536. package/train/train-blocked-passage.js +1 -1
  537. package/train/train-formation/train-formation.component.js +1 -1
  538. package/train/train-formation.js +1 -1
  539. package/train/train-wagon/train-wagon.component.js +1 -1
  540. package/train/train-wagon.js +1 -1
  541. package/train/train.js +1 -1
  542. package/train-blocked-passage.component-D3mbnoQ4.js +23 -0
  543. package/train-formation.component-DoNKUil3.js +121 -0
  544. package/{train-wagon.component-bGA2a-0M.js → train-wagon.component-CLrqgGwH.js} +1 -1
  545. package/{train.component-V6FLqC82.js → train.component-COPys5v7.js} +1 -1
  546. package/train.js +4 -4
  547. package/train.pure.js +4 -4
  548. package/visual-checkbox/visual-checkbox.component.js +1 -1
  549. package/{visual-checkbox.component-eajUDpKu.js → visual-checkbox.component-CiAaB_Yc.js} +1 -1
  550. package/visual-checkbox.js +1 -1
  551. package/visual-checkbox.pure.js +1 -1
  552. package/action-group.component-KWugkMGf.js +0 -158
  553. package/block-link-common-BMTrbSfi.js +0 -63
  554. package/breadcrumb.component-DjkZzGJD.js +0 -24
  555. package/card-badge.component-D_PI9Ega.js +0 -65
  556. package/card.component-Dt2YFmd3.js +0 -62
  557. package/chip.component-DMB36gvC.js +0 -94
  558. package/common-CI_BB6sF.js +0 -5
  559. package/development/header.component-DEw_zC-n.js +0 -446
  560. package/development/popover.component-DCJdrVsB.js +0 -746
  561. package/development/signet.component-B9nY5tTL.js +0 -188
  562. package/dialog-actions.component-QvbasYxg.js +0 -17
  563. package/dialog-title.component-BDHYjDn0.js +0 -17
  564. package/expansion-panel-content.component-DCl4nQ8V.js +0 -29
  565. package/expansion-panel-header.component-jc1Ty5jz.js +0 -56
  566. package/flip-card-summary.component-DVa7wF7x.js +0 -65
  567. package/footer.component-C-mSrCud.js +0 -129
  568. package/header-action-common-W_j0KPr-.js +0 -62
  569. package/header-environment.component-DduyZo6W.js +0 -36
  570. package/header.component-DW23EnaO.js +0 -203
  571. package/inline-link-common-DANB-hT-.js +0 -18
  572. package/lead-container.component-D9VzZCQa.js +0 -27
  573. package/link-common-akQv_-UR.js +0 -52
  574. package/link-list-anchor.component-Qm7h2mHK.js +0 -18
  575. package/link-list.component-C8zrqHYc.js +0 -78
  576. package/loading-indicator-circle.component-DfjVqe7n.js +0 -62
  577. package/loading-indicator.component-DkYs30Nf.js +0 -92
  578. package/map-container.component-C_wbi6WL.js +0 -128
  579. package/menu-action-common-vt9j6nkG.js +0 -29
  580. package/navigation-action-common-D_-gGOYm.js +0 -64
  581. package/notification.component-Cor1vQGU.js +0 -197
  582. package/option-hint.component-kPdwK61Z.js +0 -23
  583. package/option.component-DF9ZTj12.js +0 -98
  584. package/paginator.component-CsSs5q4D.js +0 -206
  585. package/radio-button-common-QHPueQrm.js +0 -77
  586. package/selection-action-panel.component-QfR2kPeM.js +0 -35
  587. package/signet.component-Kwdy4Uor.js +0 -101
  588. package/step-label.component-DTkviH8Q.js +0 -82
  589. package/sticky-bar.component-BqZVKHc7.js +0 -141
  590. package/styles-CsBiCI23.js +0 -5
  591. package/styles-DYZWSKeo.js +0 -5
  592. package/tab-label.component-BnxPGws1.js +0 -165
  593. package/tag.component-CfK6JwsO.js +0 -170
  594. package/teaser-hero.component-DjodzcX_.js +0 -80
  595. package/teaser-product-common-DkumwiRA.js +0 -62
  596. package/teaser.component-C7sJLVMk.js +0 -91
  597. package/timetable-form-details.component-DI5Mr8-O.js +0 -16
  598. package/timetable-form-field.component-2kEWygEC.js +0 -32
  599. package/toggle-check.component-CPewUjOg.js +0 -119
  600. package/train-blocked-passage.component-RIMoX91U.js +0 -23
  601. package/train-formation.component-B17tc6cx.js +0 -121
@@ -0,0 +1,489 @@
1
+ import { __esDecorate, __runInitializers } from "tslib";
2
+ import { css, html, isServer } from "lit";
3
+ import { property, state } from "lit/decorators.js";
4
+ import { SbbElement } from "./core/base-elements.js";
5
+ import { forceType, idReference } from "./core/decorators.js";
6
+ import { isLean, queueDomContentLoaded } from "./core/dom.js";
7
+ import { boxSizingStyles } from "./core/styles.js";
8
+ import { SbbFocusVisibleWithinController } from "./core/a11y.js";
9
+ //#region src/elements/header/header/header.scss?lit&inline
10
+ var header_default = css`:host {
11
+ --sbb-logo-height: 1rem;
12
+ --sbb-signet-height: 1rem;
13
+ --sbb-header-transition-duration: var(
14
+ --sbb-disable-animation-duration,
15
+ var(--sbb-animation-duration-6x)
16
+ );
17
+ }
18
+ @media (min-width: calc(64rem)) {
19
+ :host {
20
+ --sbb-logo-height: 1.25rem;
21
+ --sbb-signet-height: 1.25rem;
22
+ }
23
+ }
24
+ :host {
25
+ display: block;
26
+ height: var(--sbb-header-height);
27
+ }
28
+
29
+ :host([size=s]) ::slotted(:is(sbb-header-button, sbb-header-link)) {
30
+ --sbb-header-action-min-height: var(--sbb-size-element-xs);
31
+ --sbb-header-action-padding-inline: var(--sbb-spacing-fixed-4x);
32
+ }
33
+
34
+ :host([hide-on-scroll]) {
35
+ --sbb-header-position: absolute;
36
+ }
37
+
38
+ :host([hide-on-scroll]:is(:state(fixed),[state--fixed])) {
39
+ --sbb-header-position: fixed;
40
+ --sbb-header-animation-name: hide;
41
+ --sbb-header-transform: translate3d(0, -100%, 0);
42
+ --sbb-header-inset-inline-end: var(--sbb-scrollbar-width, 0);
43
+ }
44
+
45
+ :host([hide-on-scroll]:is(:state(fixed),[state--fixed]):is(:state(animated),[state--animated])) {
46
+ --sbb-header-transition-timing: cubic-bezier(0.4, 0, 1, 1);
47
+ }
48
+
49
+ :host([hide-on-scroll]:is(:state(fixed),[state--fixed]):is(:state(visible),[state--visible])) {
50
+ --sbb-header-animation-name: show;
51
+ --sbb-header-transform: translate3d(0, 0, 0);
52
+ --sbb-header-transition-timing: cubic-bezier(0, 0, 0.2, 1);
53
+ }
54
+
55
+ :host([hide-on-scroll]:is(:state(fixed),[state--fixed]):is(:state(has-visible-focus-within),[state--has-visible-focus-within])) {
56
+ --sbb-header-transition-duration: 0;
57
+ --sbb-header-transform: translate3d(0, 0, 0);
58
+ }
59
+
60
+ .sbb-header {
61
+ position: var(--sbb-header-position);
62
+ inset: 0 var(--sbb-header-inset-inline-end) auto 0;
63
+ background: var(--sbb-header-background);
64
+ z-index: var(--sbb-header-z-index, 10);
65
+ transform: var(--sbb-header-transform);
66
+ transition-property: box-shadow;
67
+ transition-duration: var(--sbb-header-transition-duration);
68
+ transition-timing-function: var(--sbb-header-transition-timing);
69
+ animation-name: var(--sbb-header-animation-name);
70
+ animation-duration: var(--sbb-header-transition-duration);
71
+ animation-timing-function: var(--sbb-header-transition-timing);
72
+ }
73
+ :host(:is(:is(:state(shadow),[state--shadow]), :is(:state(has-visible-focus-within),[state--has-visible-focus-within]):is(:state(fixed),[state--fixed]))) .sbb-header {
74
+ box-shadow: var(--sbb-header-box-shadow);
75
+ }
76
+ @media (forced-colors: active) {
77
+ .sbb-header {
78
+ border-block-end: var(--sbb-border-width-1x) solid CanvasText;
79
+ }
80
+ }
81
+
82
+ .sbb-header__wrapper {
83
+ display: flex;
84
+ align-items: center;
85
+ justify-content: flex-start;
86
+ height: var(--sbb-header-height);
87
+ }
88
+ :host(:not([expanded])) .sbb-header__wrapper {
89
+ padding-inline: var(--sbb-page-spacing-padding, var(--sbb-layout-base-offset-responsive));
90
+ margin-inline: auto;
91
+ width: 100%;
92
+ }
93
+ @media (min-width: calc(90rem)) {
94
+ :host(:not([expanded])) .sbb-header__wrapper {
95
+ max-width: var(--sbb-spacing-max-width, calc(var(--sbb-layout-base-page-max-width) + 2 * var(--sbb-layout-base-offset-responsive)));
96
+ }
97
+ }
98
+ :host([expanded]) .sbb-header__wrapper {
99
+ padding-inline: var(--sbb-page-spacing-padding, var(--sbb-spacing-responsive-xxs));
100
+ }
101
+
102
+ ::slotted(:is(sbb-header-button, sbb-header-link):first-child) {
103
+ margin-inline-start: var(--sbb-header-first-item-margin-inline-start);
104
+ }
105
+
106
+ ::slotted(*) {
107
+ flex: 0 0 auto;
108
+ }
109
+
110
+ ::slotted(.sbb-header-shrinkable) {
111
+ flex-shrink: 1;
112
+ min-width: 0;
113
+ }
114
+
115
+ ::slotted(.sbb-header-spacer) {
116
+ flex-grow: 1;
117
+ }
118
+
119
+ ::slotted(.sbb-header-logo) {
120
+ margin-inline-start: var(--sbb-spacing-responsive-s);
121
+ }
122
+
123
+ ::slotted(a.sbb-header-logo) {
124
+ display: block;
125
+ padding-block: var(--sbb-spacing-fixed-3x);
126
+ position: relative;
127
+ outline: none !important;
128
+ }
129
+
130
+ ::slotted(a.sbb-header-logo)::before {
131
+ content: "";
132
+ display: block;
133
+ position: absolute;
134
+ inset: var(--sbb-spacing-fixed-3x) 0;
135
+ }
136
+
137
+ ::slotted(a.sbb-header-logo:focus-visible)::before {
138
+ outline-offset: var(--sbb-focus-outline-offset);
139
+ outline: var(--sbb-focus-outline-color) var(--sbb-focus-outline-style, solid) var(--sbb-focus-outline-width);
140
+ outline-offset: var(--sbb-spacing-fixed-3x);
141
+ border-radius: 1px;
142
+ }
143
+
144
+ @keyframes show {
145
+ from {
146
+ transform: translate3d(0, -100%, 0);
147
+ }
148
+ to {
149
+ transform: translate3d(0, 0, 0);
150
+ }
151
+ }
152
+ @keyframes hide {
153
+ from {
154
+ transform: translate3d(0, 0, 0);
155
+ }
156
+ to {
157
+ transform: translate3d(0, -100%, 0);
158
+ }
159
+ }`;
160
+ //#endregion
161
+ //#region src/elements/header/header/header.component.ts
162
+ var IS_MENU_OPENED_QUERY = "[aria-controls][aria-expanded='true']";
163
+ /**
164
+ * It displays a header section for the page.
165
+ *
166
+ * @slot - Use the unnamed slot to add actions, content and logo to the header.
167
+ * @cssprop [--sbb-header-z-index=10] - Can be used to modify the z-index of the header.
168
+ * @cssprop [--sbb-header-height=zero-small:var(--sbb-spacing-fixed-14x);large-ultra:var(--sbb-spacing-fixed-24x)] - Can be used to modify height of the header.
169
+ */
170
+ var SbbHeaderElement = (() => {
171
+ let _classSuper = SbbElement;
172
+ let _expanded_decorators;
173
+ let _expanded_initializers = [];
174
+ let _expanded_extraInitializers = [];
175
+ let _scrollOrigin_decorators;
176
+ let _scrollOrigin_initializers = [];
177
+ let _scrollOrigin_extraInitializers = [];
178
+ let _hideOnScroll_decorators;
179
+ let _hideOnScroll_initializers = [];
180
+ let _hideOnScroll_extraInitializers = [];
181
+ let _size_decorators;
182
+ let _size_initializers = [];
183
+ let _size_extraInitializers = [];
184
+ let __headerOnTop_decorators;
185
+ let __headerOnTop_initializers = [];
186
+ let __headerOnTop_extraInitializers = [];
187
+ return class SbbHeaderElement extends _classSuper {
188
+ static {
189
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
190
+ _expanded_decorators = [forceType(), property({
191
+ reflect: true,
192
+ type: Boolean
193
+ })];
194
+ _scrollOrigin_decorators = [idReference(), property({ attribute: "scroll-origin" })];
195
+ _hideOnScroll_decorators = [forceType(), property({
196
+ attribute: "hide-on-scroll",
197
+ reflect: true,
198
+ type: Boolean
199
+ })];
200
+ _size_decorators = [property({ reflect: true })];
201
+ __headerOnTop_decorators = [state()];
202
+ __esDecorate(this, null, _expanded_decorators, {
203
+ kind: "accessor",
204
+ name: "expanded",
205
+ static: false,
206
+ private: false,
207
+ access: {
208
+ has: (obj) => "expanded" in obj,
209
+ get: (obj) => obj.expanded,
210
+ set: (obj, value) => {
211
+ obj.expanded = value;
212
+ }
213
+ },
214
+ metadata: _metadata
215
+ }, _expanded_initializers, _expanded_extraInitializers);
216
+ __esDecorate(this, null, _scrollOrigin_decorators, {
217
+ kind: "accessor",
218
+ name: "scrollOrigin",
219
+ static: false,
220
+ private: false,
221
+ access: {
222
+ has: (obj) => "scrollOrigin" in obj,
223
+ get: (obj) => obj.scrollOrigin,
224
+ set: (obj, value) => {
225
+ obj.scrollOrigin = value;
226
+ }
227
+ },
228
+ metadata: _metadata
229
+ }, _scrollOrigin_initializers, _scrollOrigin_extraInitializers);
230
+ __esDecorate(this, null, _hideOnScroll_decorators, {
231
+ kind: "accessor",
232
+ name: "hideOnScroll",
233
+ static: false,
234
+ private: false,
235
+ access: {
236
+ has: (obj) => "hideOnScroll" in obj,
237
+ get: (obj) => obj.hideOnScroll,
238
+ set: (obj, value) => {
239
+ obj.hideOnScroll = value;
240
+ }
241
+ },
242
+ metadata: _metadata
243
+ }, _hideOnScroll_initializers, _hideOnScroll_extraInitializers);
244
+ __esDecorate(this, null, _size_decorators, {
245
+ kind: "accessor",
246
+ name: "size",
247
+ static: false,
248
+ private: false,
249
+ access: {
250
+ has: (obj) => "size" in obj,
251
+ get: (obj) => obj.size,
252
+ set: (obj, value) => {
253
+ obj.size = value;
254
+ }
255
+ },
256
+ metadata: _metadata
257
+ }, _size_initializers, _size_extraInitializers);
258
+ __esDecorate(this, null, __headerOnTop_decorators, {
259
+ kind: "accessor",
260
+ name: "_headerOnTop",
261
+ static: false,
262
+ private: false,
263
+ access: {
264
+ has: (obj) => "_headerOnTop" in obj,
265
+ get: (obj) => obj._headerOnTop,
266
+ set: (obj, value) => {
267
+ obj._headerOnTop = value;
268
+ }
269
+ },
270
+ metadata: _metadata
271
+ }, __headerOnTop_initializers, __headerOnTop_extraInitializers);
272
+ if (_metadata) Object.defineProperty(this, Symbol.metadata, {
273
+ enumerable: true,
274
+ configurable: true,
275
+ writable: true,
276
+ value: _metadata
277
+ });
278
+ }
279
+ static {
280
+ this.elementName = "sbb-header";
281
+ }
282
+ static {
283
+ this.styles = [boxSizingStyles, header_default];
284
+ }
285
+ static {
286
+ this._headerScrollOrigins = /* @__PURE__ */ new Set();
287
+ }
288
+ static {
289
+ this._headerElements = /* @__PURE__ */ new Set();
290
+ }
291
+ static {
292
+ if (!isServer) queueDomContentLoaded(() => this._initializeScrollOriginObserver());
293
+ }
294
+ #expanded_accessor_storage;
295
+ /**
296
+ * Whether to allow the header content to stretch to full width.
297
+ * By default, the content has the appropriate page size.
298
+ */
299
+ get expanded() {
300
+ return this.#expanded_accessor_storage;
301
+ }
302
+ set expanded(value) {
303
+ this.#expanded_accessor_storage = value;
304
+ }
305
+ #scrollOrigin_accessor_storage;
306
+ /**
307
+ * The element's id or the element on which the scroll listener is attached.
308
+ *
309
+ * For attribute usage, provide an id reference.
310
+ */
311
+ get scrollOrigin() {
312
+ return this.#scrollOrigin_accessor_storage;
313
+ }
314
+ set scrollOrigin(value) {
315
+ this.#scrollOrigin_accessor_storage = value;
316
+ }
317
+ #hideOnScroll_accessor_storage;
318
+ /** Whether the header should hide and show on scroll. */
319
+ get hideOnScroll() {
320
+ return this.#hideOnScroll_accessor_storage;
321
+ }
322
+ set hideOnScroll(value) {
323
+ this.#hideOnScroll_accessor_storage = value;
324
+ }
325
+ #size_accessor_storage;
326
+ /**
327
+ * Size of the header, either m or s.
328
+ * @default 'm' / 's' (lean)
329
+ */
330
+ get size() {
331
+ return this.#size_accessor_storage;
332
+ }
333
+ set size(value) {
334
+ this.#size_accessor_storage = value;
335
+ }
336
+ #_headerOnTop_accessor_storage;
337
+ get _headerOnTop() {
338
+ return this.#_headerOnTop_accessor_storage;
339
+ }
340
+ set _headerOnTop(value) {
341
+ this.#_headerOnTop_accessor_storage = value;
342
+ }
343
+ constructor() {
344
+ super();
345
+ this.#expanded_accessor_storage = __runInitializers(this, _expanded_initializers, false);
346
+ this.#scrollOrigin_accessor_storage = (__runInitializers(this, _expanded_extraInitializers), __runInitializers(this, _scrollOrigin_initializers, null));
347
+ this.#hideOnScroll_accessor_storage = (__runInitializers(this, _scrollOrigin_extraInitializers), __runInitializers(this, _hideOnScroll_initializers, false));
348
+ this.#size_accessor_storage = (__runInitializers(this, _hideOnScroll_extraInitializers), __runInitializers(this, _size_initializers, isLean() ? "s" : "m"));
349
+ this.#_headerOnTop_accessor_storage = (__runInitializers(this, _size_extraInitializers), __runInitializers(this, __headerOnTop_initializers, true));
350
+ this._scrollElement = __runInitializers(this, __headerOnTop_extraInitializers);
351
+ this._lastScroll = 0;
352
+ this._scrollOriginFromObserver = null;
353
+ this.addController(new SbbFocusVisibleWithinController(this));
354
+ }
355
+ static _initializeScrollOriginObserver() {
356
+ new MutationObserver((mutations) => {
357
+ for (const mutation of mutations) if (mutation.type === "attributes") this._handleScrollOriginElement(mutation.target);
358
+ else if (mutation.type === "childList") for (const node of [...mutation.addedNodes, ...mutation.removedNodes].filter((n) => n.nodeType === n.ELEMENT_NODE)) {
359
+ this._handleScrollOriginElement(node);
360
+ this._findAndHandleScrollOrigins(node);
361
+ }
362
+ this._updateHeaderElements();
363
+ }).observe(document.documentElement, {
364
+ attributeFilter: ["sbb-header-scroll-origin"],
365
+ childList: true,
366
+ subtree: true
367
+ });
368
+ this._findAndHandleScrollOrigins(document.body);
369
+ this._updateHeaderElements();
370
+ }
371
+ static _findAndHandleScrollOrigins(root) {
372
+ root.querySelectorAll("[sbb-header-scroll-origin]").forEach((e) => this._handleScrollOriginElement(e));
373
+ }
374
+ static _handleScrollOriginElement(element) {
375
+ if (element.isConnected && element.hasAttribute("sbb-header-scroll-origin")) this._headerScrollOrigins.add(element);
376
+ else this._headerScrollOrigins.delete(element);
377
+ }
378
+ static _updateHeaderElements() {
379
+ for (const header of this._headerElements) {
380
+ if (this._headerScrollOrigins.size === 0) header._scrollOriginFromObserver = null;
381
+ else if (this._headerScrollOrigins.size === 1) header._scrollOriginFromObserver = this._headerScrollOrigins.values().next().value ?? null;
382
+ else header._scrollOriginFromObserver = Array.from(this._headerScrollOrigins).sort((c1, c2) => c1.compareDocumentPosition(c2) & Node.DOCUMENT_POSITION_CONTAINS).at(-1) ?? null;
383
+ header._updateScrollListener();
384
+ }
385
+ }
386
+ /** If `hideOnScroll` is set, checks the element to hook the listener on, and possibly add it.*/
387
+ connectedCallback() {
388
+ super.connectedCallback();
389
+ SbbHeaderElement._headerElements.add(this);
390
+ if (this.hasUpdated) this._updateScrollListener();
391
+ }
392
+ /** Removes the scroll listener, if previously attached. */
393
+ disconnectedCallback() {
394
+ super.disconnectedCallback();
395
+ this._scrollElement = null;
396
+ this._scrollEventsController?.abort();
397
+ SbbHeaderElement._headerElements.delete(this);
398
+ }
399
+ requestUpdate(name, oldValue, options) {
400
+ super.requestUpdate(name, oldValue, options);
401
+ if (!isServer && (!name || name === "scrollOrigin") && this.hasUpdated) this._updateScrollListener();
402
+ }
403
+ firstUpdated(changedProperties) {
404
+ super.firstUpdated(changedProperties);
405
+ this._updateScrollListener();
406
+ }
407
+ _updateScrollListener() {
408
+ const scrollElement = this.scrollOrigin ?? this._scrollOriginFromObserver ?? document;
409
+ if (scrollElement === this._scrollElement) return;
410
+ this._scrollEventsController?.abort();
411
+ this._scrollElement = scrollElement;
412
+ if (!this._scrollElement) return;
413
+ this._scrollEventsController = new AbortController();
414
+ this._scrollFunction = this._getScrollFunction.bind(this);
415
+ this._scrollElement.addEventListener("scroll", this._scrollFunction, {
416
+ passive: true,
417
+ signal: this._scrollEventsController.signal
418
+ });
419
+ const currentScroll = this._getCurrentScrollProperty("scrollTop");
420
+ this._lastScroll = currentScroll <= 0 ? 0 : currentScroll;
421
+ }
422
+ /** Returns the correct function to attach on scroll. */
423
+ _getScrollFunction() {
424
+ return this.hideOnScroll ? this._scrollListener() : this._scrollShadowListener();
425
+ }
426
+ /** Returns the requested property of the scrollContext. */
427
+ _getCurrentScrollProperty(property) {
428
+ if (this._scrollElement instanceof Document) return this._scrollElement.documentElement[property] || this._scrollElement.body[property];
429
+ return this._scrollElement?.[property] || 0;
430
+ }
431
+ /**
432
+ * Sets the correct value for `scrollTop`, then:
433
+ * - apply the shadow if the element/document has been scrolled down;
434
+ * - hides the header, remove the shadow and possibly close any open menu on the header if it is not visible anymore;
435
+ * - shows the header and re-apply the shadow if the element/document has been scrolled up.
436
+ */
437
+ _scrollListener() {
438
+ const currentScroll = this._getCurrentScrollProperty("scrollTop");
439
+ if (this._getCurrentScrollProperty("scrollHeight") - window.innerHeight - currentScroll <= 0) return;
440
+ this.toggleState("shadow", currentScroll !== 0);
441
+ if (currentScroll > this.offsetHeight && currentScroll > 0 && this._lastScroll < currentScroll) this._closeOpenOverlays();
442
+ if (currentScroll > this.offsetHeight * 2) {
443
+ this._headerOnTop = false;
444
+ if (currentScroll > 0 && this._lastScroll < currentScroll) ["shadow", "visible"].forEach((name) => this.internals.states.delete(name));
445
+ else [
446
+ "fixed",
447
+ "shadow",
448
+ "animated",
449
+ "visible"
450
+ ].forEach((name) => this.internals.states.add(name));
451
+ } else {
452
+ if (currentScroll === 0) this._headerOnTop = true;
453
+ if (this._headerOnTop) [
454
+ "shadow",
455
+ "animated",
456
+ "fixed",
457
+ "visible"
458
+ ].forEach((name) => this.internals.states.delete(name));
459
+ }
460
+ this._lastScroll = currentScroll <= 0 ? 0 : currentScroll;
461
+ }
462
+ /** Apply the shadow if the element/document has been scrolled down. */
463
+ _scrollShadowListener() {
464
+ this.toggleState("shadow", this._getCurrentScrollProperty("scrollTop") !== 0);
465
+ }
466
+ _closeOpenOverlays() {
467
+ if (this.matches(":is(:state(has-visible-focus-within),[state--has-visible-focus-within])")) return;
468
+ const overlayTriggers = Array.from(this.querySelectorAll(IS_MENU_OPENED_QUERY));
469
+ for (const overlayTrigger of overlayTriggers) {
470
+ const overlayId = overlayTrigger.getAttribute("aria-controls");
471
+ const overlay = document.getElementById(overlayId);
472
+ if (typeof overlay?.close === "function") overlay.close();
473
+ }
474
+ }
475
+ render() {
476
+ return html`
477
+ <header class="sbb-header">
478
+ <div class="sbb-header__wrapper">
479
+ <slot></slot>
480
+ </div>
481
+ </header>
482
+ `;
483
+ }
484
+ };
485
+ })();
486
+ //#endregion
487
+ export { SbbHeaderElement as t };
488
+
489
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmNvbXBvbmVudC1DOUpHai16Ni5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvaGVhZGVyL2hlYWRlci9oZWFkZXIuc2Nzcz9saXQmaW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2hlYWRlci9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICcuLi8uLi9jb3JlL3N0eWxlcycgYXMgc2JiO1xuXG46aG9zdCB7XG4gIC0tc2JiLWxvZ28taGVpZ2h0OiAje3NiYi5weC10by1yZW0tYnVpbGQoMTYpfTtcbiAgLS1zYmItc2lnbmV0LWhlaWdodDogI3tzYmIucHgtdG8tcmVtLWJ1aWxkKDE2KX07XG4gIC0tc2JiLWhlYWRlci10cmFuc2l0aW9uLWR1cmF0aW9uOiB2YXIoXG4gICAgLS1zYmItZGlzYWJsZS1hbmltYXRpb24tZHVyYXRpb24sXG4gICAgdmFyKC0tc2JiLWFuaW1hdGlvbi1kdXJhdGlvbi02eClcbiAgKTtcblxuICBAaW5jbHVkZSBzYmIubXEoJGZyb206IGxhcmdlKSB7XG4gICAgLS1zYmItbG9nby1oZWlnaHQ6ICN7c2JiLnB4LXRvLXJlbS1idWlsZCgyMCl9O1xuICAgIC0tc2JiLXNpZ25ldC1oZWlnaHQ6ICN7c2JiLnB4LXRvLXJlbS1idWlsZCgyMCl9O1xuICB9XG5cbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgLy8gU2V0dGluZyB0aGUgaGVpZ2h0IGhlcmUgcmVzZXJ2ZXMgdGhlIHNwYWNlIGZvciB0aGUgaGVhZGVyIHdoaWNoIHdpbGwgZWxzZSBiZSBsb3N0IHdpdGggZml4ZWQgcG9zaXRpb24uXG4gIGhlaWdodDogdmFyKC0tc2JiLWhlYWRlci1oZWlnaHQpO1xufVxuXG46aG9zdChbc2l6ZT0ncyddKSB7XG4gIDo6c2xvdHRlZCg6aXMoc2JiLWhlYWRlci1idXR0b24sIHNiYi1oZWFkZXItbGluaykpIHtcbiAgICAtLXNiYi1oZWFkZXItYWN0aW9uLW1pbi1oZWlnaHQ6IHZhcigtLXNiYi1zaXplLWVsZW1lbnQteHMpO1xuICAgIC0tc2JiLWhlYWRlci1hY3Rpb24tcGFkZGluZy1pbmxpbmU6IHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTR4KTtcbiAgfVxufVxuXG46aG9zdChbaGlkZS1vbi1zY3JvbGxdKSB7XG4gIC0tc2JiLWhlYWRlci1wb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cbjpob3N0KFtoaWRlLW9uLXNjcm9sbF06c3RhdGUoZml4ZWQpKSB7XG4gIC0tc2JiLWhlYWRlci1wb3NpdGlvbjogZml4ZWQ7XG4gIC0tc2JiLWhlYWRlci1hbmltYXRpb24tbmFtZTogaGlkZTtcbiAgLS1zYmItaGVhZGVyLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAtLXNiYi1oZWFkZXItaW5zZXQtaW5saW5lLWVuZDogdmFyKC0tc2JiLXNjcm9sbGJhci13aWR0aCwgMCk7XG59XG5cbjpob3N0KFtoaWRlLW9uLXNjcm9sbF06c3RhdGUoZml4ZWQpOnN0YXRlKGFuaW1hdGVkKSkge1xuICAvLyBIaWRlIHRyYW5zaXRpb25cbiAgLS1zYmItaGVhZGVyLXRyYW5zaXRpb24tdGltaW5nOiBjdWJpYy1iZXppZXIoMC40LCAwLCAxLCAxKTtcbn1cblxuOmhvc3QoW2hpZGUtb24tc2Nyb2xsXTpzdGF0ZShmaXhlZCk6c3RhdGUodmlzaWJsZSkpIHtcbiAgLS1zYmItaGVhZGVyLWFuaW1hdGlvbi1uYW1lOiBzaG93O1xuICAtLXNiYi1oZWFkZXItdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcblxuICAvLyBTaG93IHRyYW5zaXRpb25cbiAgLS1zYmItaGVhZGVyLXRyYW5zaXRpb24tdGltaW5nOiBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTtcbn1cblxuOmhvc3QoW2hpZGUtb24tc2Nyb2xsXTpzdGF0ZShmaXhlZCk6c3RhdGUoaGFzLXZpc2libGUtZm9jdXMtd2l0aGluKSkge1xuICAtLXNiYi1oZWFkZXItdHJhbnNpdGlvbi1kdXJhdGlvbjogMDtcbiAgLS1zYmItaGVhZGVyLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG59XG5cbi5zYmItaGVhZGVyIHtcbiAgcG9zaXRpb246IHZhcigtLXNiYi1oZWFkZXItcG9zaXRpb24pO1xuICBpbnNldDogMCB2YXIoLS1zYmItaGVhZGVyLWluc2V0LWlubGluZS1lbmQpIGF1dG8gMDtcbiAgYmFja2dyb3VuZDogdmFyKC0tc2JiLWhlYWRlci1iYWNrZ3JvdW5kKTtcbiAgei1pbmRleDogdmFyKC0tc2JiLWhlYWRlci16LWluZGV4LCAxMCk7XG4gIHRyYW5zZm9ybTogdmFyKC0tc2JiLWhlYWRlci10cmFuc2Zvcm0pO1xuICB0cmFuc2l0aW9uOiB7XG4gICAgcHJvcGVydHk6IGJveC1zaGFkb3c7XG4gICAgZHVyYXRpb246IHZhcigtLXNiYi1oZWFkZXItdHJhbnNpdGlvbi1kdXJhdGlvbik7XG4gICAgdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1zYmItaGVhZGVyLXRyYW5zaXRpb24tdGltaW5nKTtcbiAgfVxuICBhbmltYXRpb246IHtcbiAgICBuYW1lOiB2YXIoLS1zYmItaGVhZGVyLWFuaW1hdGlvbi1uYW1lKTtcbiAgICBkdXJhdGlvbjogdmFyKC0tc2JiLWhlYWRlci10cmFuc2l0aW9uLWR1cmF0aW9uKTtcbiAgICB0aW1pbmctZnVuY3Rpb246IHZhcigtLXNiYi1oZWFkZXItdHJhbnNpdGlvbi10aW1pbmcpO1xuICB9XG5cbiAgOmhvc3QoOmlzKDpzdGF0ZShzaGFkb3cpLCA6c3RhdGUoaGFzLXZpc2libGUtZm9jdXMtd2l0aGluKTpzdGF0ZShmaXhlZCkpKSAmIHtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1zYmItaGVhZGVyLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgQGluY2x1ZGUgc2JiLmlmLWZvcmNlZC1jb2xvcnMge1xuICAgIGJvcmRlci1ibG9jay1lbmQ6IHZhcigtLXNiYi1ib3JkZXItd2lkdGgtMXgpIHNvbGlkIENhbnZhc1RleHQ7XG4gIH1cbn1cblxuLnNiYi1oZWFkZXJfX3dyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGhlaWdodDogdmFyKC0tc2JiLWhlYWRlci1oZWlnaHQpO1xuXG4gIDpob3N0KDpub3QoW2V4cGFuZGVkXSkpICYge1xuICAgIEBpbmNsdWRlIHNiYi5wYWdlLXNwYWNpbmc7XG4gIH1cblxuICA6aG9zdChbZXhwYW5kZWRdKSAmIHtcbiAgICBAaW5jbHVkZSBzYmIucGFnZS1zcGFjaW5nLWV4cGFuZGVkO1xuICB9XG59XG5cbi8vIEZpeCBsZWZ0IG9mZnNldCBpZiBmaXJzdCBlbGVtZW50IG9mIHRoZSBoZWFkZXIgaXMgYSBzYmItaGVhZGVyLWJ1dHRvbi9zYmItaGVhZGVyLWxpbmsuXG4vLyBUaGUgdmFsdWUgb2YgdGhlIG9mZnNldCBpcyBjYWxjdWxhdGVkIGluc2lkZSBzYmItaGVhZGVyLWJ1dHRvbi9zYmItaGVhZGVyLWxpbmsgc3R5bGVzLlxuOjpzbG90dGVkKDppcyhzYmItaGVhZGVyLWJ1dHRvbiwgc2JiLWhlYWRlci1saW5rKTpmaXJzdC1jaGlsZCkge1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiB2YXIoLS1zYmItaGVhZGVyLWZpcnN0LWl0ZW0tbWFyZ2luLWlubGluZS1zdGFydCk7XG59XG5cbjo6c2xvdHRlZCgqKSB7XG4gIGZsZXg6IDAgMCBhdXRvO1xufVxuXG46OnNsb3R0ZWQoLnNiYi1oZWFkZXItc2hyaW5rYWJsZSkge1xuICBmbGV4LXNocmluazogMTtcbiAgbWluLXdpZHRoOiAwO1xufVxuXG46OnNsb3R0ZWQoLnNiYi1oZWFkZXItc3BhY2VyKSB7XG4gIGZsZXgtZ3JvdzogMTtcbn1cblxuOjpzbG90dGVkKC5zYmItaGVhZGVyLWxvZ28pIHtcbiAgbWFyZ2luLWlubGluZS1zdGFydDogdmFyKC0tc2JiLXNwYWNpbmctcmVzcG9uc2l2ZS1zKTtcbn1cblxuLy8gQXBwbHkgcGFkZGluZyBhbmQgb3V0bGluZSB0byBwb3NzaWJsZSBzbG90dGVkIGxpbmsgaW4gbG9nbyBzbG90XG46OnNsb3R0ZWQoYS5zYmItaGVhZGVyLWxvZ28pIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctYmxvY2s6IHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTN4KTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC8vIFVzZSAhaW1wb3J0YW50IGhlcmUgdG8gbm90IGludGVyZmVyZSB3aXRoIEZpcmVmb3ggZm9jdXMgcmluZyBkZWZpbml0aW9uXG4gIC8vIHdoaWNoIGFwcGVhcnMgaW4gbm9ybWFsaXplIENTUyBvZiBzZXZlcmFsIGZyYW1ld29ya3MuXG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLy8gVG8gc2hvdyB0aGUgY29ycmVjdCBvdXRsaW5lLCB3ZSBuZWVkIHRvIHNwYW4gYSBoaWRkZW4gZWxlbWVudCBmaWxsaW5nIHRoZSBsaW5rIGJ1dCB3aXRob3V0IHRoZSBvdXRsaW5lLW9mZnNldC5cbjo6c2xvdHRlZChhLnNiYi1oZWFkZXItbG9nbyk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldDogdmFyKC0tc2JiLXNwYWNpbmctZml4ZWQtM3gpIDA7XG59XG5cbjo6c2xvdHRlZChhLnNiYi1oZWFkZXItbG9nbzpmb2N1cy12aXNpYmxlKTo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgc2JiLmZvY3VzLW91dGxpbmU7XG5cbiAgb3V0bGluZS1vZmZzZXQ6IHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTN4KTtcblxuICAvLyBBcyBpZiB0aGUgb3V0bGluZSBoYXMgYW4gb2Zmc2V0LCB0aGUgYm9yZGVyIHJhZGl1cyBpbmNyZWFzZXMsIHdlIHNldCBpdCB0byB0aGUgc21hbGxlc3QgcG9zc2libGUgYm9yZGVyLXJhZGl1cy5cbiAgYm9yZGVyLXJhZGl1czogMXB4O1xufVxuXG5Aa2V5ZnJhbWVzIHNob3cge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgaGlkZSB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gIH1cbn1cbiIsImltcG9ydCB7XG4gIHR5cGUgQ1NTUmVzdWx0R3JvdXAsXG4gIGh0bWwsXG4gIGlzU2VydmVyLFxuICB0eXBlIFByb3BlcnR5RGVjbGFyYXRpb24sXG4gIHR5cGUgUHJvcGVydHlWYWx1ZXMsXG4gIHR5cGUgVGVtcGxhdGVSZXN1bHQsXG59IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBwcm9wZXJ0eSwgc3RhdGUgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IFNiYkZvY3VzVmlzaWJsZVdpdGhpbkNvbnRyb2xsZXIgfSBmcm9tICcuLi8uLi9jb3JlL2ExMXkudHMnO1xuaW1wb3J0IHsgU2JiRWxlbWVudCB9IGZyb20gJy4uLy4uL2NvcmUvYmFzZS1lbGVtZW50cy50cyc7XG5pbXBvcnQgeyBmb3JjZVR5cGUsIGlkUmVmZXJlbmNlIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzLnRzJztcbmltcG9ydCB7IGlzTGVhbiwgcXVldWVEb21Db250ZW50TG9hZGVkIH0gZnJvbSAnLi4vLi4vY29yZS9kb20udHMnO1xuaW1wb3J0IHsgYm94U2l6aW5nU3R5bGVzIH0gZnJvbSAnLi4vLi4vY29yZS9zdHlsZXMudHMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9oZWFkZXIuc2Nzcz9saXQmaW5saW5lJztcblxuY29uc3QgSVNfTUVOVV9PUEVORURfUVVFUlkgPSBcIlthcmlhLWNvbnRyb2xzXVthcmlhLWV4cGFuZGVkPSd0cnVlJ11cIjtcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBhIGhlYWRlciBzZWN0aW9uIGZvciB0aGUgcGFnZS5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBhY3Rpb25zLCBjb250ZW50IGFuZCBsb2dvIHRvIHRoZSBoZWFkZXIuXG4gKiBAY3NzcHJvcCBbLS1zYmItaGVhZGVyLXotaW5kZXg9MTBdIC0gQ2FuIGJlIHVzZWQgdG8gbW9kaWZ5IHRoZSB6LWluZGV4IG9mIHRoZSBoZWFkZXIuXG4gKiBAY3NzcHJvcCBbLS1zYmItaGVhZGVyLWhlaWdodD16ZXJvLXNtYWxsOnZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTE0eCk7bGFyZ2UtdWx0cmE6dmFyKC0tc2JiLXNwYWNpbmctZml4ZWQtMjR4KV0gLSBDYW4gYmUgdXNlZCB0byBtb2RpZnkgaGVpZ2h0IG9mIHRoZSBoZWFkZXIuXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJIZWFkZXJFbGVtZW50IGV4dGVuZHMgU2JiRWxlbWVudCB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItaGVhZGVyJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW2JveFNpemluZ1N0eWxlcywgc3R5bGVdO1xuXG4gIHByaXZhdGUgc3RhdGljIF9oZWFkZXJTY3JvbGxPcmlnaW5zID0gbmV3IFNldDxIVE1MRWxlbWVudD4oKTtcbiAgcHJpdmF0ZSBzdGF0aWMgX2hlYWRlckVsZW1lbnRzID0gbmV3IFNldDxTYmJIZWFkZXJFbGVtZW50PigpO1xuXG4gIHN0YXRpYyB7XG4gICAgaWYgKCFpc1NlcnZlcikge1xuICAgICAgLy8gV2UgZG9uJ3Qgd2FudCB0byBibG9jayBleGVjdXRpb24gZm9yIGluaXRpYWxpemF0aW9uLFxuICAgICAgLy8gc28gd2UgZGVmZXIgaXQgdW50aWwgdGhlIERPTSBjb250ZW50IGlzIGxvYWRlZC5cbiAgICAgIHF1ZXVlRG9tQ29udGVudExvYWRlZCgoKSA9PiB0aGlzLl9pbml0aWFsaXplU2Nyb2xsT3JpZ2luT2JzZXJ2ZXIoKSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gYWxsb3cgdGhlIGhlYWRlciBjb250ZW50IHRvIHN0cmV0Y2ggdG8gZnVsbCB3aWR0aC5cbiAgICogQnkgZGVmYXVsdCwgdGhlIGNvbnRlbnQgaGFzIHRoZSBhcHByb3ByaWF0ZSBwYWdlIHNpemUuXG4gICAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSwgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgYWNjZXNzb3IgZXhwYW5kZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogVGhlIGVsZW1lbnQncyBpZCBvciB0aGUgZWxlbWVudCBvbiB3aGljaCB0aGUgc2Nyb2xsIGxpc3RlbmVyIGlzIGF0dGFjaGVkLlxuICAgKlxuICAgKiBGb3IgYXR0cmlidXRlIHVzYWdlLCBwcm92aWRlIGFuIGlkIHJlZmVyZW5jZS5cbiAgICovXG4gIEBpZFJlZmVyZW5jZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ3Njcm9sbC1vcmlnaW4nIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBzY3JvbGxPcmlnaW46IEhUTUxFbGVtZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGhlYWRlciBzaG91bGQgaGlkZSBhbmQgc2hvdyBvbiBzY3JvbGwuICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdoaWRlLW9uLXNjcm9sbCcsIHJlZmxlY3Q6IHRydWUsIHR5cGU6IEJvb2xlYW4gfSlcbiAgcHVibGljIGFjY2Vzc29yIGhpZGVPblNjcm9sbDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBTaXplIG9mIHRoZSBoZWFkZXIsIGVpdGhlciBtIG9yIHMuXG4gICAqIEBkZWZhdWx0ICdtJyAvICdzJyAobGVhbilcbiAgICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIGFjY2Vzc29yIHNpemU6ICdtJyB8ICdzJyA9IGlzTGVhbigpID8gJ3MnIDogJ20nO1xuXG4gIEBzdGF0ZSgpIHByaXZhdGUgYWNjZXNzb3IgX2hlYWRlck9uVG9wID0gdHJ1ZTtcblxuICBwcml2YXRlIF9zY3JvbGxFbGVtZW50OiBIVE1MRWxlbWVudCB8IERvY3VtZW50IHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgcHJpdmF0ZSBfc2Nyb2xsRXZlbnRzQ29udHJvbGxlciE6IEFib3J0Q29udHJvbGxlcjtcbiAgcHJpdmF0ZSBfc2Nyb2xsRnVuY3Rpb246ICgoKSA9PiB2b2lkKSB8IHVuZGVmaW5lZDtcbiAgcHJpdmF0ZSBfbGFzdFNjcm9sbCA9IDA7XG4gIHByaXZhdGUgX3Njcm9sbE9yaWdpbkZyb21PYnNlcnZlcjogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmFkZENvbnRyb2xsZXIobmV3IFNiYkZvY3VzVmlzaWJsZVdpdGhpbkNvbnRyb2xsZXIodGhpcykpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgX2luaXRpYWxpemVTY3JvbGxPcmlnaW5PYnNlcnZlcigpOiB2b2lkIHtcbiAgICAvLyBXZSBhcmUgdXNpbmcgTXV0YXRpb25PYnNlcnZlciBkaXJlY3RseSBoZXJlLCBhcyBpdCB3aWxsIG9ubHkgYmUgY2FsbGVkIG9uIGNsaWVudCBzaWRlLFxuICAgIC8vIGFuZCB3ZSBkbyBub3QgbmVlZCB0byBkaXNjb25uZWN0IGl0LCBhcyB3ZSB3YW50IGl0IHRvIHdvcmsgZHVyaW5nIHRoZSBmdWxsIGxpZmV0aW1lXG4gICAgLy8gb2YgdGhlIHBhZ2UuXG4gICAgbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKG11dGF0aW9ucykgPT4ge1xuICAgICAgZm9yIChjb25zdCBtdXRhdGlvbiBvZiBtdXRhdGlvbnMpIHtcbiAgICAgICAgaWYgKG11dGF0aW9uLnR5cGUgPT09ICdhdHRyaWJ1dGVzJykge1xuICAgICAgICAgIHRoaXMuX2hhbmRsZVNjcm9sbE9yaWdpbkVsZW1lbnQobXV0YXRpb24udGFyZ2V0IGFzIEhUTUxFbGVtZW50KTtcbiAgICAgICAgfSBlbHNlIGlmIChtdXRhdGlvbi50eXBlID09PSAnY2hpbGRMaXN0Jykge1xuICAgICAgICAgIGZvciAoY29uc3Qgbm9kZSBvZiBbLi4ubXV0YXRpb24uYWRkZWROb2RlcywgLi4ubXV0YXRpb24ucmVtb3ZlZE5vZGVzXS5maWx0ZXIoXG4gICAgICAgICAgICAobik6IG4gaXMgSFRNTEVsZW1lbnQgPT4gbi5ub2RlVHlwZSA9PT0gbi5FTEVNRU5UX05PREUsXG4gICAgICAgICAgKSkge1xuICAgICAgICAgICAgdGhpcy5faGFuZGxlU2Nyb2xsT3JpZ2luRWxlbWVudChub2RlKTtcbiAgICAgICAgICAgIHRoaXMuX2ZpbmRBbmRIYW5kbGVTY3JvbGxPcmlnaW5zKG5vZGUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdGhpcy5fdXBkYXRlSGVhZGVyRWxlbWVudHMoKTtcbiAgICB9KS5vYnNlcnZlKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCwge1xuICAgICAgYXR0cmlidXRlRmlsdGVyOiBbJ3NiYi1oZWFkZXItc2Nyb2xsLW9yaWdpbiddLFxuICAgICAgY2hpbGRMaXN0OiB0cnVlLFxuICAgICAgc3VidHJlZTogdHJ1ZSxcbiAgICB9KTtcbiAgICB0aGlzLl9maW5kQW5kSGFuZGxlU2Nyb2xsT3JpZ2lucyhkb2N1bWVudC5ib2R5KTtcbiAgICB0aGlzLl91cGRhdGVIZWFkZXJFbGVtZW50cygpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgX2ZpbmRBbmRIYW5kbGVTY3JvbGxPcmlnaW5zKHJvb3Q6IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgcm9vdFxuICAgICAgLnF1ZXJ5U2VsZWN0b3JBbGw8SFRNTEVsZW1lbnQ+KCdbc2JiLWhlYWRlci1zY3JvbGwtb3JpZ2luXScpXG4gICAgICAuZm9yRWFjaCgoZSkgPT4gdGhpcy5faGFuZGxlU2Nyb2xsT3JpZ2luRWxlbWVudChlKSk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBfaGFuZGxlU2Nyb2xsT3JpZ2luRWxlbWVudChlbGVtZW50OiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgIGlmIChlbGVtZW50LmlzQ29ubmVjdGVkICYmIGVsZW1lbnQuaGFzQXR0cmlidXRlKCdzYmItaGVhZGVyLXNjcm9sbC1vcmlnaW4nKSkge1xuICAgICAgdGhpcy5faGVhZGVyU2Nyb2xsT3JpZ2lucy5hZGQoZWxlbWVudCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2hlYWRlclNjcm9sbE9yaWdpbnMuZGVsZXRlKGVsZW1lbnQpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIF91cGRhdGVIZWFkZXJFbGVtZW50cygpOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IGhlYWRlciBvZiB0aGlzLl9oZWFkZXJFbGVtZW50cykge1xuICAgICAgaWYgKHRoaXMuX2hlYWRlclNjcm9sbE9yaWdpbnMuc2l6ZSA9PT0gMCkge1xuICAgICAgICBoZWFkZXIuX3Njcm9sbE9yaWdpbkZyb21PYnNlcnZlciA9IG51bGw7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuX2hlYWRlclNjcm9sbE9yaWdpbnMuc2l6ZSA9PT0gMSkge1xuICAgICAgICBoZWFkZXIuX3Njcm9sbE9yaWdpbkZyb21PYnNlcnZlciA9IHRoaXMuX2hlYWRlclNjcm9sbE9yaWdpbnMudmFsdWVzKCkubmV4dCgpLnZhbHVlID8/IG51bGw7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBoZWFkZXIuX3Njcm9sbE9yaWdpbkZyb21PYnNlcnZlciA9XG4gICAgICAgICAgQXJyYXkuZnJvbSh0aGlzLl9oZWFkZXJTY3JvbGxPcmlnaW5zKVxuICAgICAgICAgICAgLnNvcnQoKGMxLCBjMikgPT4gYzEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYzIpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9DT05UQUlOUylcbiAgICAgICAgICAgIC5hdCgtMSkgPz8gbnVsbDtcbiAgICAgIH1cbiAgICAgIGhlYWRlci5fdXBkYXRlU2Nyb2xsTGlzdGVuZXIoKTtcbiAgICB9XG4gIH1cblxuICAvKiogSWYgYGhpZGVPblNjcm9sbGAgaXMgc2V0LCBjaGVja3MgdGhlIGVsZW1lbnQgdG8gaG9vayB0aGUgbGlzdGVuZXIgb24sIGFuZCBwb3NzaWJseSBhZGQgaXQuKi9cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgU2JiSGVhZGVyRWxlbWVudC5faGVhZGVyRWxlbWVudHMuYWRkKHRoaXMpO1xuICAgIGlmICh0aGlzLmhhc1VwZGF0ZWQpIHtcbiAgICAgIHRoaXMuX3VwZGF0ZVNjcm9sbExpc3RlbmVyKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIFJlbW92ZXMgdGhlIHNjcm9sbCBsaXN0ZW5lciwgaWYgcHJldmlvdXNseSBhdHRhY2hlZC4gKi9cbiAgcHVibGljIG92ZXJyaWRlIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5fc2Nyb2xsRWxlbWVudCA9IG51bGw7XG4gICAgdGhpcy5fc2Nyb2xsRXZlbnRzQ29udHJvbGxlcj8uYWJvcnQoKTtcbiAgICBTYmJIZWFkZXJFbGVtZW50Ll9oZWFkZXJFbGVtZW50cy5kZWxldGUodGhpcyk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgcmVxdWVzdFVwZGF0ZShcbiAgICBuYW1lPzogUHJvcGVydHlLZXksXG4gICAgb2xkVmFsdWU/OiB1bmtub3duLFxuICAgIG9wdGlvbnM/OiBQcm9wZXJ0eURlY2xhcmF0aW9uLFxuICApOiB2b2lkIHtcbiAgICBzdXBlci5yZXF1ZXN0VXBkYXRlKG5hbWUsIG9sZFZhbHVlLCBvcHRpb25zKTtcblxuICAgIGlmICghaXNTZXJ2ZXIgJiYgKCFuYW1lIHx8IG5hbWUgPT09ICdzY3JvbGxPcmlnaW4nKSAmJiB0aGlzLmhhc1VwZGF0ZWQpIHtcbiAgICAgIHRoaXMuX3VwZGF0ZVNjcm9sbExpc3RlbmVyKCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci5maXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpO1xuICAgIHRoaXMuX3VwZGF0ZVNjcm9sbExpc3RlbmVyKCk7XG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVTY3JvbGxMaXN0ZW5lcigpOiB2b2lkIHtcbiAgICBjb25zdCBzY3JvbGxFbGVtZW50ID0gdGhpcy5zY3JvbGxPcmlnaW4gPz8gdGhpcy5fc2Nyb2xsT3JpZ2luRnJvbU9ic2VydmVyID8/IGRvY3VtZW50O1xuICAgIGlmIChzY3JvbGxFbGVtZW50ID09PSB0aGlzLl9zY3JvbGxFbGVtZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fc2Nyb2xsRXZlbnRzQ29udHJvbGxlcj8uYWJvcnQoKTtcbiAgICB0aGlzLl9zY3JvbGxFbGVtZW50ID0gc2Nyb2xsRWxlbWVudDtcbiAgICBpZiAoIXRoaXMuX3Njcm9sbEVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5fc2Nyb2xsRXZlbnRzQ29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcbiAgICB0aGlzLl9zY3JvbGxGdW5jdGlvbiA9IHRoaXMuX2dldFNjcm9sbEZ1bmN0aW9uLmJpbmQodGhpcyk7XG4gICAgdGhpcy5fc2Nyb2xsRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCB0aGlzLl9zY3JvbGxGdW5jdGlvbiwge1xuICAgICAgcGFzc2l2ZTogdHJ1ZSxcbiAgICAgIHNpZ25hbDogdGhpcy5fc2Nyb2xsRXZlbnRzQ29udHJvbGxlci5zaWduYWwsXG4gICAgfSk7XG5cbiAgICBjb25zdCBjdXJyZW50U2Nyb2xsID0gdGhpcy5fZ2V0Q3VycmVudFNjcm9sbFByb3BlcnR5KCdzY3JvbGxUb3AnKTtcbiAgICAvLyBgY3VycmVudFNjcm9sbGAgY2FuIGJlIG5lZ2F0aXZlLCBlLmcuIG9uIG1vYmlsZTsgdGhpcyBpcyBub3QgYWxsb3dlZC5cbiAgICB0aGlzLl9sYXN0U2Nyb2xsID0gY3VycmVudFNjcm9sbCA8PSAwID8gMCA6IGN1cnJlbnRTY3JvbGw7XG4gIH1cblxuICAvKiogUmV0dXJucyB0aGUgY29ycmVjdCBmdW5jdGlvbiB0byBhdHRhY2ggb24gc2Nyb2xsLiAqL1xuICBwcml2YXRlIF9nZXRTY3JvbGxGdW5jdGlvbigpOiB2b2lkIHtcbiAgICByZXR1cm4gdGhpcy5oaWRlT25TY3JvbGwgPyB0aGlzLl9zY3JvbGxMaXN0ZW5lcigpIDogdGhpcy5fc2Nyb2xsU2hhZG93TGlzdGVuZXIoKTtcbiAgfVxuXG4gIC8qKiBSZXR1cm5zIHRoZSByZXF1ZXN0ZWQgcHJvcGVydHkgb2YgdGhlIHNjcm9sbENvbnRleHQuICovXG4gIHByaXZhdGUgX2dldEN1cnJlbnRTY3JvbGxQcm9wZXJ0eShwcm9wZXJ0eTogJ3Njcm9sbFRvcCcgfCAnc2Nyb2xsSGVpZ2h0Jyk6IG51bWJlciB7XG4gICAgaWYgKHRoaXMuX3Njcm9sbEVsZW1lbnQgaW5zdGFuY2VvZiBEb2N1bWVudCkge1xuICAgICAgcmV0dXJuIHRoaXMuX3Njcm9sbEVsZW1lbnQuZG9jdW1lbnRFbGVtZW50W3Byb3BlcnR5XSB8fCB0aGlzLl9zY3JvbGxFbGVtZW50LmJvZHlbcHJvcGVydHldO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fc2Nyb2xsRWxlbWVudD8uW3Byb3BlcnR5XSB8fCAwO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGNvcnJlY3QgdmFsdWUgZm9yIGBzY3JvbGxUb3BgLCB0aGVuOlxuICAgKiAtIGFwcGx5IHRoZSBzaGFkb3cgaWYgdGhlIGVsZW1lbnQvZG9jdW1lbnQgaGFzIGJlZW4gc2Nyb2xsZWQgZG93bjtcbiAgICogLSBoaWRlcyB0aGUgaGVhZGVyLCByZW1vdmUgdGhlIHNoYWRvdyBhbmQgcG9zc2libHkgY2xvc2UgYW55IG9wZW4gbWVudSBvbiB0aGUgaGVhZGVyIGlmIGl0IGlzIG5vdCB2aXNpYmxlIGFueW1vcmU7XG4gICAqIC0gc2hvd3MgdGhlIGhlYWRlciBhbmQgcmUtYXBwbHkgdGhlIHNoYWRvdyBpZiB0aGUgZWxlbWVudC9kb2N1bWVudCBoYXMgYmVlbiBzY3JvbGxlZCB1cC5cbiAgICovXG4gIHByaXZhdGUgX3Njcm9sbExpc3RlbmVyKCk6IHZvaWQge1xuICAgIGNvbnN0IGN1cnJlbnRTY3JvbGwgPSB0aGlzLl9nZXRDdXJyZW50U2Nyb2xsUHJvcGVydHkoJ3Njcm9sbFRvcCcpO1xuXG4gICAgLy8gV2hldGhlciB0aGUgc2Nyb2xsIHZpZXcgaXMgYm91bmNpbmcgcGFzdCB0aGUgZWRnZSBvZiBjb250ZW50IGFuZCBiYWNrIGFnYWluLlxuICAgIGlmICh0aGlzLl9nZXRDdXJyZW50U2Nyb2xsUHJvcGVydHkoJ3Njcm9sbEhlaWdodCcpIC0gd2luZG93LmlubmVySGVpZ2h0IC0gY3VycmVudFNjcm9sbCA8PSAwKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy50b2dnbGVTdGF0ZSgnc2hhZG93JywgY3VycmVudFNjcm9sbCAhPT0gMCk7XG5cbiAgICAvLyBDbG9zZSBvcGVuIG92ZXJsYXlzIHdoZW4gc2Nyb2xsaW5nIGRvd24gaWYgdGhlIGhlYWRlciBpcyBzY3JvbGxlZCBvdXQgb2Ygc2lnaHQuXG4gICAgaWYgKFxuICAgICAgY3VycmVudFNjcm9sbCA+IHRoaXMub2Zmc2V0SGVpZ2h0ICYmXG4gICAgICBjdXJyZW50U2Nyb2xsID4gMCAmJlxuICAgICAgdGhpcy5fbGFzdFNjcm9sbCA8IGN1cnJlbnRTY3JvbGxcbiAgICApIHtcbiAgICAgIHRoaXMuX2Nsb3NlT3Blbk92ZXJsYXlzKCk7XG4gICAgfVxuICAgIC8vIENoZWNrIGlmIHRoZSBoZWFkZXIgaXMgc2Nyb2xsZWQgb3V0IG9mIHNpZ2h0LCBzY3JvbGwgcG9zaXRpb24gPiBoZWFkZXIgaGVpZ2h0ICogMi5cbiAgICBpZiAoY3VycmVudFNjcm9sbCA+IHRoaXMub2Zmc2V0SGVpZ2h0ICogMikge1xuICAgICAgdGhpcy5faGVhZGVyT25Ub3AgPSBmYWxzZTtcbiAgICAgIGlmIChjdXJyZW50U2Nyb2xsID4gMCAmJiB0aGlzLl9sYXN0U2Nyb2xsIDwgY3VycmVudFNjcm9sbCkge1xuICAgICAgICAvLyBTY3JvbGxpbmcgZG93blxuICAgICAgICBbJ3NoYWRvdycsICd2aXNpYmxlJ10uZm9yRWFjaCgobmFtZSkgPT4gdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmRlbGV0ZShuYW1lKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBTY3JvbGxpbmcgdXBcbiAgICAgICAgWydmaXhlZCcsICdzaGFkb3cnLCAnYW5pbWF0ZWQnLCAndmlzaWJsZSddLmZvckVhY2goKG5hbWUpID0+XG4gICAgICAgICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmFkZChuYW1lKSxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gQ2hlY2sgaWYgaGVhZGVyIGluIGl0cyBvcmlnaW5hbCBwb3NpdGlvbiwgc2Nyb2xsIHBvc2l0aW9uIDwgaGVhZGVyIGhlaWdodC5cbiAgICAgIC8vIFJlc2V0IGhlYWRlciBiZWhhdmlvciB3aGVuIHNjcm9sbCBoaXRzIHRvcCBvZiB0aGUgcGFnZSwgb24gc2Nyb2xsIHBvc2l0aW9uID0gMC5cbiAgICAgIGlmIChjdXJyZW50U2Nyb2xsID09PSAwKSB7XG4gICAgICAgIHRoaXMuX2hlYWRlck9uVG9wID0gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLl9oZWFkZXJPblRvcCkge1xuICAgICAgICBbJ3NoYWRvdycsICdhbmltYXRlZCcsICdmaXhlZCcsICd2aXNpYmxlJ10uZm9yRWFjaCgobmFtZSkgPT5cbiAgICAgICAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuZGVsZXRlKG5hbWUpLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgICAvLyBgY3VycmVudFNjcm9sbGAgY2FuIGJlIG5lZ2F0aXZlLCBlLmcuIG9uIG1vYmlsZTsgdGhpcyBpcyBub3QgYWxsb3dlZC5cbiAgICB0aGlzLl9sYXN0U2Nyb2xsID0gY3VycmVudFNjcm9sbCA8PSAwID8gMCA6IGN1cnJlbnRTY3JvbGw7XG4gIH1cblxuICAvKiogQXBwbHkgdGhlIHNoYWRvdyBpZiB0aGUgZWxlbWVudC9kb2N1bWVudCBoYXMgYmVlbiBzY3JvbGxlZCBkb3duLiAqL1xuICBwcml2YXRlIF9zY3JvbGxTaGFkb3dMaXN0ZW5lcigpOiB2b2lkIHtcbiAgICB0aGlzLnRvZ2dsZVN0YXRlKCdzaGFkb3cnLCB0aGlzLl9nZXRDdXJyZW50U2Nyb2xsUHJvcGVydHkoJ3Njcm9sbFRvcCcpICE9PSAwKTtcbiAgfVxuXG4gIHByaXZhdGUgX2Nsb3NlT3Blbk92ZXJsYXlzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm1hdGNoZXMoJzpzdGF0ZShoYXMtdmlzaWJsZS1mb2N1cy13aXRoaW4pJykpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3Qgb3ZlcmxheVRyaWdnZXJzOiBIVE1MRWxlbWVudFtdID0gQXJyYXkuZnJvbShcbiAgICAgIHRoaXMucXVlcnlTZWxlY3RvckFsbChJU19NRU5VX09QRU5FRF9RVUVSWSkgYXMgTm9kZUxpc3RPZjxIVE1MRWxlbWVudD4sXG4gICAgKTtcbiAgICBmb3IgKGNvbnN0IG92ZXJsYXlUcmlnZ2VyIG9mIG92ZXJsYXlUcmlnZ2Vycykge1xuICAgICAgY29uc3Qgb3ZlcmxheUlkOiBzdHJpbmcgPSBvdmVybGF5VHJpZ2dlci5nZXRBdHRyaWJ1dGUoJ2FyaWEtY29udHJvbHMnKSE7XG4gICAgICBjb25zdCBvdmVybGF5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQob3ZlcmxheUlkKSBhcyBIVE1MRWxlbWVudCAmIHsgY2xvc2U6ICgpID0+IHZvaWQgfTtcbiAgICAgIGlmICh0eXBlb2Ygb3ZlcmxheT8uY2xvc2UgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgb3ZlcmxheS5jbG9zZSgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGhlYWRlciBjbGFzcz1cInNiYi1oZWFkZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1oZWFkZXJfX3dyYXBwZXJcIj5cbiAgICAgICAgICA8c2xvdD48L3Nsb3Q+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9oZWFkZXI+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWhlYWRlcic6IFNiYkhlYWRlckVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUNrQkEsSUFBTSx1QkFBdUI7Ozs7Ozs7O0lBU2hCLDBCQUFnQjttQkFBUzs7Ozs7Ozs7Ozs7Ozs7OztjQUF6Qix5QkFBeUIsWUFBVTs7OzJCQW1CN0MsV0FBVyxFQUNYLFNBQVM7SUFBRSxTQUFTO0lBQU0sTUFBTTtJQUFTLENBQUMsQ0FBQTsrQkFRMUMsYUFBYSxFQUNiLFNBQVMsRUFBRSxXQUFXLGlCQUFpQixDQUFDLENBQUE7K0JBSXhDLFdBQVcsRUFDWCxTQUFTO0lBQUUsV0FBVztJQUFrQixTQUFTO0lBQU0sTUFBTTtJQUFTLENBQUMsQ0FBQTt1QkFPdkUsU0FBUyxFQUFFLFNBQVMsTUFBTSxDQUFDLENBQUE7K0JBRTNCLE9BQU8sQ0FBQTtBQXRCUixnQkFBQSxNQUFBLE1BQUEsc0JBQUE7SUFBQSxNQUFBO0lBQUEsTUFBQTtJQUFBLFFBQUE7SUFBQSxTQUFBO0lBQUEsUUFBQTtLQUFBLE1BQUEsUUFBQSxjQUFBO0tBQUEsTUFBQSxRQUFBLElBQWdCO0tBQVEsTUFBQSxLQUFBLFVBQUE7QUFBQSxVQUFSLFdBQVE7O0tBQUE7SUFBQSxVQUFBO0lBQUEsRUFBQSx3QkFBQSw0QkFBQTtBQVN4QixnQkFBQSxNQUFBLE1BQUEsMEJBQUE7SUFBQSxNQUFBO0lBQUEsTUFBQTtJQUFBLFFBQUE7SUFBQSxTQUFBO0lBQUEsUUFBQTtLQUFBLE1BQUEsUUFBQSxrQkFBQTtLQUFBLE1BQUEsUUFBQSxJQUFnQjtLQUFZLE1BQUEsS0FBQSxVQUFBO0FBQUEsVUFBWixlQUFZOztLQUFBO0lBQUEsVUFBQTtJQUFBLEVBQUEsNEJBQUEsZ0NBQUE7QUFLNUIsZ0JBQUEsTUFBQSxNQUFBLDBCQUFBO0lBQUEsTUFBQTtJQUFBLE1BQUE7SUFBQSxRQUFBO0lBQUEsU0FBQTtJQUFBLFFBQUE7S0FBQSxNQUFBLFFBQUEsa0JBQUE7S0FBQSxNQUFBLFFBQUEsSUFBZ0I7S0FBWSxNQUFBLEtBQUEsVUFBQTtBQUFBLFVBQVosZUFBWTs7S0FBQTtJQUFBLFVBQUE7SUFBQSxFQUFBLDRCQUFBLGdDQUFBO0FBTUMsZ0JBQUEsTUFBQSxNQUFBLGtCQUFBO0lBQUEsTUFBQTtJQUFBLE1BQUE7SUFBQSxRQUFBO0lBQUEsU0FBQTtJQUFBLFFBQUE7S0FBQSxNQUFBLFFBQUEsVUFBQTtLQUFBLE1BQUEsUUFBQSxJQUFnQjtLQUFJLE1BQUEsS0FBQSxVQUFBO0FBQUEsVUFBSixPQUFJOztLQUFBO0lBQUEsVUFBQTtJQUFBLEVBQUEsb0JBQUEsd0JBQUE7QUFFeEMsZ0JBQUEsTUFBQSxNQUFBLDBCQUFBO0lBQUEsTUFBQTtJQUFBLE1BQUE7SUFBQSxRQUFBO0lBQUEsU0FBQTtJQUFBLFFBQUE7S0FBQSxNQUFBLFFBQUEsa0JBQUE7S0FBQSxNQUFBLFFBQUEsSUFBaUI7S0FBWSxNQUFBLEtBQUEsVUFBQTtBQUFBLFVBQVosZUFBWTs7S0FBQTtJQUFBLFVBQUE7SUFBQSxFQUFBLDRCQUFBLGdDQUFBOzs7Ozs7Ozs7QUExQ04sUUFBQSxjQUFzQjs7O0FBQy9CLFFBQUEsU0FBeUIsQ0FBQyxpQkFBaUIsZUFBTTs7O0FBRXpELFFBQUEsdUNBQXVCLElBQUksS0FBa0I7OztBQUM3QyxRQUFBLGtDQUFrQixJQUFJLEtBQXVCOztFQUU1RDtBQUNFLE9BQUksQ0FBQyxTQUdILDZCQUE0QixLQUFLLGlDQUFpQyxDQUFDOztFQVV2RTs7Ozs7RUFBQSxJQUFnQixXQUFRO0FBQUEsVUFBQSxNQUFBOztFQUF4QixJQUFnQixTQUFRLE9BQUE7QUFBQSxTQUFBLDRCQUFBOztFQVN4Qjs7Ozs7O0VBQUEsSUFBZ0IsZUFBWTtBQUFBLFVBQUEsTUFBQTs7RUFBNUIsSUFBZ0IsYUFBWSxPQUFBO0FBQUEsU0FBQSxnQ0FBQTs7RUFLNUI7O0VBQUEsSUFBZ0IsZUFBWTtBQUFBLFVBQUEsTUFBQTs7RUFBNUIsSUFBZ0IsYUFBWSxPQUFBO0FBQUEsU0FBQSxnQ0FBQTs7RUFNQzs7Ozs7RUFBQSxJQUFnQixPQUFJO0FBQUEsVUFBQSxNQUFBOztFQUFwQixJQUFnQixLQUFJLE9BQUE7QUFBQSxTQUFBLHdCQUFBOztFQUV4QztFQUFBLElBQWlCLGVBQVk7QUFBQSxVQUFBLE1BQUE7O0VBQTdCLElBQWlCLGFBQVksT0FBQTtBQUFBLFNBQUEsZ0NBQUE7O0VBUXRDLGNBQUE7QUFDRSxVQUFPO0FBL0JPLFNBQUEsNEJBQUEsa0JBQUEsTUFBQSx3QkFBb0IsTUFBSztBQVN6QixTQUFBLGlDQUFBLGtCQUFBLE1BQUEsNEJBQUEsRUFBQSxrQkFBQSxNQUFBLDRCQUFtQyxLQUFJO0FBS3ZDLFNBQUEsaUNBQUEsa0JBQUEsTUFBQSxnQ0FBQSxFQUFBLGtCQUFBLE1BQUEsNEJBQXdCLE1BQUs7QUFNQSxTQUFBLHlCQUFBLGtCQUFBLE1BQUEsZ0NBQUEsRUFBQSxrQkFBQSxNQUFBLG9CQUFrQixRQUFRLEdBQUcsTUFBTSxJQUFHO0FBRXpELFNBQUEsaUNBQUEsa0JBQUEsTUFBQSx3QkFBQSxFQUFBLGtCQUFBLE1BQUEsNEJBQWUsS0FBSTtBQUVyQyxRQUFBLGlCQUFjLGtCQUFBLE1BQUEsZ0NBQUE7QUFHZCxRQUFBLGNBQWM7QUFDZCxRQUFBLDRCQUFnRDtBQUl0RCxRQUFLLGNBQWMsSUFBSSxnQ0FBZ0MsS0FBSyxDQUFDOztFQUd2RCxPQUFPLGtDQUErQjtBQUk1QyxPQUFJLGtCQUFrQixjQUFhO0FBQ2pDLFNBQUssTUFBTSxZQUFZLFVBQ3JCLEtBQUksU0FBUyxTQUFTLGFBQ3BCLE1BQUssMkJBQTJCLFNBQVMsT0FBc0I7YUFDdEQsU0FBUyxTQUFTLFlBQzNCLE1BQUssTUFBTSxRQUFRLENBQUMsR0FBRyxTQUFTLFlBQVksR0FBRyxTQUFTLGFBQWEsQ0FBQyxRQUNuRSxNQUF3QixFQUFFLGFBQWEsRUFBRSxhQUMzQyxFQUFFO0FBQ0QsVUFBSywyQkFBMkIsS0FBSztBQUNyQyxVQUFLLDRCQUE0QixLQUFLOztBQUk1QyxTQUFLLHVCQUF1QjtLQUM1QixDQUFDLFFBQVEsU0FBUyxpQkFBaUI7SUFDbkMsaUJBQWlCLENBQUMsMkJBQTJCO0lBQzdDLFdBQVc7SUFDWCxTQUFTO0lBQ1YsQ0FBQztBQUNGLFFBQUssNEJBQTRCLFNBQVMsS0FBSztBQUMvQyxRQUFLLHVCQUF1Qjs7RUFHdEIsT0FBTyw0QkFBNEIsTUFBaUI7QUFDMUQsUUFDRyxpQkFBOEIsNkJBQTZCLENBQzNELFNBQVMsTUFBTSxLQUFLLDJCQUEyQixFQUFFLENBQUM7O0VBRy9DLE9BQU8sMkJBQTJCLFNBQW9CO0FBQzVELE9BQUksUUFBUSxlQUFlLFFBQVEsYUFBYSwyQkFBMkIsQ0FDekUsTUFBSyxxQkFBcUIsSUFBSSxRQUFRO09BRXRDLE1BQUsscUJBQXFCLE9BQU8sUUFBUTs7RUFJckMsT0FBTyx3QkFBcUI7QUFDbEMsUUFBSyxNQUFNLFVBQVUsS0FBSyxpQkFBaUI7QUFDekMsUUFBSSxLQUFLLHFCQUFxQixTQUFTLEVBQ3JDLFFBQU8sNEJBQTRCO2FBQzFCLEtBQUsscUJBQXFCLFNBQVMsRUFDNUMsUUFBTyw0QkFBNEIsS0FBSyxxQkFBcUIsUUFBUSxDQUFDLE1BQU0sQ0FBQyxTQUFTO1FBRXRGLFFBQU8sNEJBQ0wsTUFBTSxLQUFLLEtBQUsscUJBQXFCLENBQ2xDLE1BQU0sSUFBSSxPQUFPLEdBQUcsd0JBQXdCLEdBQUcsR0FBRyxLQUFLLDJCQUEyQixDQUNsRixHQUFHLEdBQUcsSUFBSTtBQUVqQixXQUFPLHVCQUF1Qjs7OztFQUtsQixvQkFBaUI7QUFDL0IsU0FBTSxtQkFBbUI7QUFDekIsb0JBQWlCLGdCQUFnQixJQUFJLEtBQUs7QUFDMUMsT0FBSSxLQUFLLFdBQ1AsTUFBSyx1QkFBdUI7OztFQUtoQix1QkFBb0I7QUFDbEMsU0FBTSxzQkFBc0I7QUFDNUIsUUFBSyxpQkFBaUI7QUFDdEIsUUFBSyx5QkFBeUIsT0FBTztBQUNyQyxvQkFBaUIsZ0JBQWdCLE9BQU8sS0FBSzs7RUFHL0IsY0FDZCxNQUNBLFVBQ0EsU0FBNkI7QUFFN0IsU0FBTSxjQUFjLE1BQU0sVUFBVSxRQUFRO0FBRTVDLE9BQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxTQUFTLG1CQUFtQixLQUFLLFdBQzFELE1BQUssdUJBQXVCOztFQUliLGFBQWEsbUJBQXVDO0FBQ3JFLFNBQU0sYUFBYSxrQkFBa0I7QUFDckMsUUFBSyx1QkFBdUI7O0VBR3RCLHdCQUFxQjtHQUMzQixNQUFNLGdCQUFnQixLQUFLLGdCQUFnQixLQUFLLDZCQUE2QjtBQUM3RSxPQUFJLGtCQUFrQixLQUFLLGVBQ3pCO0FBR0YsUUFBSyx5QkFBeUIsT0FBTztBQUNyQyxRQUFLLGlCQUFpQjtBQUN0QixPQUFJLENBQUMsS0FBSyxlQUNSO0FBRUYsUUFBSywwQkFBMEIsSUFBSSxpQkFBaUI7QUFDcEQsUUFBSyxrQkFBa0IsS0FBSyxtQkFBbUIsS0FBSyxLQUFLO0FBQ3pELFFBQUssZUFBZSxpQkFBaUIsVUFBVSxLQUFLLGlCQUFpQjtJQUNuRSxTQUFTO0lBQ1QsUUFBUSxLQUFLLHdCQUF3QjtJQUN0QyxDQUFDO0dBRUYsTUFBTSxnQkFBZ0IsS0FBSywwQkFBMEIsWUFBWTtBQUVqRSxRQUFLLGNBQWMsaUJBQWlCLElBQUksSUFBSTs7O0VBSXRDLHFCQUFrQjtBQUN4QixVQUFPLEtBQUssZUFBZSxLQUFLLGlCQUFpQixHQUFHLEtBQUssdUJBQXVCOzs7RUFJMUUsMEJBQTBCLFVBQXNDO0FBQ3RFLE9BQUksS0FBSywwQkFBMEIsU0FDakMsUUFBTyxLQUFLLGVBQWUsZ0JBQWdCLGFBQWEsS0FBSyxlQUFlLEtBQUs7QUFFbkYsVUFBTyxLQUFLLGlCQUFpQixhQUFhOzs7Ozs7OztFQVNwQyxrQkFBZTtHQUNyQixNQUFNLGdCQUFnQixLQUFLLDBCQUEwQixZQUFZO0FBR2pFLE9BQUksS0FBSywwQkFBMEIsZUFBZSxHQUFHLE9BQU8sY0FBYyxpQkFBaUIsRUFDekY7QUFHRixRQUFLLFlBQVksVUFBVSxrQkFBa0IsRUFBRTtBQUcvQyxPQUNFLGdCQUFnQixLQUFLLGdCQUNyQixnQkFBZ0IsS0FDaEIsS0FBSyxjQUFjLGNBRW5CLE1BQUssb0JBQW9CO0FBRzNCLE9BQUksZ0JBQWdCLEtBQUssZUFBZSxHQUFHO0FBQ3pDLFNBQUssZUFBZTtBQUNwQixRQUFJLGdCQUFnQixLQUFLLEtBQUssY0FBYyxjQUUxQyxFQUFDLFVBQVUsVUFBVSxDQUFDLFNBQVMsU0FBUyxLQUFLLFVBQVUsT0FBTyxPQUFPLEtBQUssQ0FBQztRQUczRTtLQUFDO0tBQVM7S0FBVTtLQUFZO0tBQVUsQ0FBQyxTQUFTLFNBQ2xELEtBQUssVUFBVSxPQUFPLElBQUksS0FBSyxDQUNoQztVQUVFO0FBR0wsUUFBSSxrQkFBa0IsRUFDcEIsTUFBSyxlQUFlO0FBRXRCLFFBQUksS0FBSyxhQUNQO0tBQUM7S0FBVTtLQUFZO0tBQVM7S0FBVSxDQUFDLFNBQVMsU0FDbEQsS0FBSyxVQUFVLE9BQU8sT0FBTyxLQUFLLENBQ25DOztBQUlMLFFBQUssY0FBYyxpQkFBaUIsSUFBSSxJQUFJOzs7RUFJdEMsd0JBQXFCO0FBQzNCLFFBQUssWUFBWSxVQUFVLEtBQUssMEJBQTBCLFlBQVksS0FBSyxFQUFFOztFQUd2RSxxQkFBa0I7QUFDeEIsT0FBSSxLQUFLLFFBQVEsMEVBQW1DLENBQ2xEO0dBRUYsTUFBTSxrQkFBaUMsTUFBTSxLQUMzQyxLQUFLLGlCQUFpQixxQkFBZ0QsQ0FDdkU7QUFDRCxRQUFLLE1BQU0sa0JBQWtCLGlCQUFpQjtJQUM1QyxNQUFNLFlBQW9CLGVBQWUsYUFBYSxnQkFBaUI7SUFDdkUsTUFBTSxVQUFVLFNBQVMsZUFBZSxVQUFpRDtBQUN6RixRQUFJLE9BQU8sU0FBUyxVQUFVLFdBQzVCLFNBQVEsT0FBTzs7O0VBS0YsU0FBTTtBQUN2QixVQUFPLElBQUkifQ==
@@ -2,7 +2,7 @@ import { t as SbbHeaderActionCommonElementMixin } from "./header-action-common-B
2
2
  import { SbbHeaderButtonElement } from "./header/header-button/header-button.component.js";
3
3
  import { t as SbbHeaderEnvironmentElement } from "./header-environment.component-JltjpGKu.js";
4
4
  import { SbbHeaderLinkElement } from "./header/header-link/header-link.component.js";
5
- import { t as SbbHeaderElement } from "./header.component-DEw_zC-n.js";
5
+ import { t as SbbHeaderElement } from "./header.component-C9JGj-z6.js";
6
6
  import "./header.pure.js";
7
7
  //#region src/elements/header.ts
8
8
  /** @entrypoint */
@@ -2,5 +2,5 @@ import { t as SbbHeaderActionCommonElementMixin } from "./header-action-common-B
2
2
  import { SbbHeaderButtonElement } from "./header/header-button/header-button.component.js";
3
3
  import { t as SbbHeaderEnvironmentElement } from "./header-environment.component-JltjpGKu.js";
4
4
  import { SbbHeaderLinkElement } from "./header/header-link/header-link.component.js";
5
- import { t as SbbHeaderElement } from "./header.component-DEw_zC-n.js";
5
+ import { t as SbbHeaderElement } from "./header.component-C9JGj-z6.js";
6
6
  export { SbbHeaderActionCommonElementMixin, SbbHeaderButtonElement, SbbHeaderElement, SbbHeaderEnvironmentElement, SbbHeaderLinkElement };
@@ -1,2 +1,2 @@
1
- import { n as SbbPopoverElement, t as SbbPopoverBaseElement } from "../popover.component-DCJdrVsB.js";
1
+ import { n as SbbPopoverElement, t as SbbPopoverBaseElement } from "../popover.component-dRXm7_Mv.js";
2
2
  export { SbbPopoverBaseElement, SbbPopoverElement };