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