@sbb-esta/lyne-elements 4.8.1 → 4.10.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 (1639) hide show
  1. package/accordion/accordion.component.js +1 -1
  2. package/{accordion.component-DmaGQH3Q.js → accordion.component-Bos7Gwof.js} +17 -17
  3. package/accordion.js +1 -1
  4. package/accordion.pure.js +1 -1
  5. package/action-group/action-group.component.js +1 -1
  6. package/action-group.component-BYif_gBd.js +158 -0
  7. package/action-group.js +1 -1
  8. package/action-group.pure.js +1 -1
  9. package/alert/alert/alert.component.js +1 -1
  10. package/alert/alert-group/alert-group.component.js +1 -1
  11. package/alert/alert-group.js +1 -1
  12. package/alert/alert.js +1 -1
  13. package/{alert-group.component-RV1M1OKy.js → alert-group.component-Es6bBiff.js} +18 -18
  14. package/alert.component-BiAbeeYd.js +169 -0
  15. package/alert.js +2 -2
  16. package/alert.pure.js +2 -2
  17. package/autocomplete/autocomplete-base-element.js +1 -1
  18. package/autocomplete/autocomplete.component.js +1 -1
  19. package/{autocomplete-base-element-DVFCZ4lt.js → autocomplete-base-element-DarHnnYC.js} +35 -35
  20. package/autocomplete.js +1 -1
  21. package/autocomplete.pure.js +1 -1
  22. package/block-link-common-DzGY49Xc.js +57 -0
  23. package/breadcrumb/breadcrumb/breadcrumb.component.js +1 -1
  24. package/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +1 -1
  25. package/breadcrumb/breadcrumb-group.js +1 -1
  26. package/breadcrumb/breadcrumb.js +1 -1
  27. package/{breadcrumb-group.component-CfUyO1sI.js → breadcrumb-group.component-Cc6CHbVy.js} +14 -14
  28. package/breadcrumb.component-C1xO7cgt.js +24 -0
  29. package/breadcrumb.js +2 -2
  30. package/breadcrumb.pure.js +2 -2
  31. package/button/accent-button/accent-button.component.js +1 -1
  32. package/button/accent-button-link/accent-button-link.component.js +1 -1
  33. package/button/accent-button-link.js +1 -2
  34. package/button/accent-button-static/accent-button-static.component.js +1 -1
  35. package/button/accent-button-static.js +1 -2
  36. package/button/accent-button.js +1 -2
  37. package/button/button/button.component.js +1 -1
  38. package/button/button-link/button-link.component.js +1 -1
  39. package/button/button-link.js +1 -2
  40. package/button/button-static/button-static.component.js +1 -1
  41. package/button/button-static.js +1 -2
  42. package/button/button.js +1 -2
  43. package/button/common/button-common.js +2 -87
  44. package/button/common.js +5 -3
  45. package/button/mini-button/mini-button.component.js +1 -1
  46. package/button/mini-button-group/mini-button-group.component.js +1 -1
  47. package/button/mini-button-group.js +2 -3
  48. package/button/mini-button-link/mini-button-link.component.js +1 -1
  49. package/button/mini-button-link.js +2 -3
  50. package/button/mini-button.js +1 -2
  51. package/button/secondary-button/secondary-button.component.js +1 -1
  52. package/button/secondary-button-link/secondary-button-link.component.js +1 -1
  53. package/button/secondary-button-link.js +1 -2
  54. package/button/secondary-button-static/secondary-button-static.component.js +1 -1
  55. package/button/secondary-button-static.js +1 -2
  56. package/button/secondary-button.js +1 -2
  57. package/button/transparent-button/transparent-button.component.js +1 -1
  58. package/button/transparent-button-link/transparent-button-link.component.js +1 -1
  59. package/button/transparent-button-link.js +1 -2
  60. package/button/transparent-button-static/transparent-button-static.component.js +1 -1
  61. package/button/transparent-button-static.js +1 -2
  62. package/button/transparent-button.js +1 -2
  63. package/button-common-yFVzAoGy.js +87 -0
  64. package/button.js +4 -5
  65. package/button.pure.js +4 -5
  66. package/calendar/calendar/calendar.component.js +1 -1
  67. package/calendar/calendar-day/calendar-day.component.js +1 -1
  68. package/calendar/calendar-day.js +1 -1
  69. package/calendar/calendar.js +1 -1
  70. package/calendar/common/calendar-cell-base-element.js +2 -23
  71. package/calendar/common.js +2 -6
  72. package/calendar-cell-base-element-CBaanSU3.js +25 -0
  73. package/{calendar-day.component-Iewo-vBR.js → calendar-day.component-BBszRsGw.js} +12 -12
  74. package/{calendar.component-Cz-OGQu6.js → calendar.component-DhmaJt2k.js} +138 -236
  75. package/calendar.js +2 -2
  76. package/calendar.pure.js +2 -2
  77. package/card/card/card.component.js +1 -1
  78. package/card/card-badge/card-badge.component.js +1 -1
  79. package/card/card-badge.js +1 -1
  80. package/card/card.js +1 -1
  81. package/card/common/card-action-common.js +1 -1
  82. package/card/common.js +1 -1
  83. package/{card-action-common-GpkaNYtV.js → card-action-common-Ct0e9dtO.js} +11 -11
  84. package/card-badge.component-BSOEYrN4.js +65 -0
  85. package/card.component-D14GBu6y.js +62 -0
  86. package/card.js +3 -3
  87. package/card.pure.js +3 -3
  88. package/carousel/carousel/carousel.component.js +1 -1
  89. package/carousel/carousel-item/carousel-item.component.js +1 -1
  90. package/carousel/carousel-item.js +1 -1
  91. package/carousel/carousel-list/carousel-list.component.js +1 -1
  92. package/carousel/carousel-list.js +1 -1
  93. package/carousel/carousel.js +1 -1
  94. package/{carousel-item.component-kv3rY8B-.js → carousel-item.component-DUII_cjr.js} +5 -5
  95. package/{carousel-list.component-DMMk66SP.js → carousel-list.component-C0i7aHTM.js} +5 -5
  96. package/{carousel.component-BA0V2JHI.js → carousel.component-BxKrGk84.js} +12 -12
  97. package/carousel.js +3 -3
  98. package/carousel.pure.js +3 -3
  99. package/checkbox/checkbox.component.js +1 -2
  100. package/checkbox/checkbox.js +1 -2
  101. package/checkbox/common/checkbox-common.js +1 -1
  102. package/checkbox/common.js +1 -1
  103. package/{checkbox-common-J-7Y966k.js → checkbox-common-DdieysTG.js} +4 -3
  104. package/{checkbox.component-Bazdxs9R.js → checkbox.component-ROzxEnPh.js} +18 -18
  105. package/checkbox.js +2 -2
  106. package/checkbox.pure.js +2 -2
  107. package/chip/chip/chip.component.js +1 -1
  108. package/chip/chip-group/chip-group.component.js +1 -1
  109. package/chip/chip-group.js +1 -1
  110. package/chip/chip.js +1 -1
  111. package/{chip-group.component-CbruCoHR.js → chip-group.component-DJzUToem.js} +17 -17
  112. package/chip-label/chip-label.component.js +1 -1
  113. package/chip-label.component-B76PdOCg.js +80 -0
  114. package/chip-label.js +1 -1
  115. package/chip-label.pure.js +1 -1
  116. package/chip.component-Cu5guQs8.js +98 -0
  117. package/chip.js +2 -2
  118. package/chip.pure.js +2 -2
  119. package/clock/clock.component.js +1 -1
  120. package/{clock.component-gZJy4AU4.js → clock.component-DHFuoi2A.js} +12 -12
  121. package/clock.js +1 -1
  122. package/clock.pure.js +1 -1
  123. package/compact-paginator.component-Cyi-t_YD.js +43 -0
  124. package/container/container/container.component.js +1 -1
  125. package/container/container.js +1 -1
  126. package/container/sticky-bar/sticky-bar.component.js +1 -1
  127. package/container/sticky-bar.js +1 -1
  128. package/container.component-CkYADvvc.js +117 -0
  129. package/container.js +2 -2
  130. package/container.pure.js +2 -2
  131. package/core/a11y/focus-trap-controller.js +2 -2
  132. package/core/base-elements/element.js +2 -1
  133. package/core/base-elements/selection-group-base-element.js +1 -1
  134. package/core/base-elements.js +1 -1
  135. package/core/controllers/media-matchers-controller.js +1 -1
  136. package/core/datetime/date-adapter.js +13 -13
  137. package/core/datetime.js +4 -4
  138. package/core/i18n/i18n.js +6 -1
  139. package/core/i18n.js +2 -2
  140. package/core/mixins/panel-mixin.js +2 -110
  141. package/core/mixins.js +4 -9
  142. package/core/styles/core.scss +65 -82
  143. package/core/styles/layout.private.scss +36 -0
  144. package/core/styles/mixins/table.scss +40 -29
  145. package/core/styles/node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables.scss +371 -0
  146. package/core/styles/scrollbar.private.scss +15 -0
  147. package/core/styles/styles.js +2 -0
  148. package/core/styles/table.scss +34 -0
  149. package/core/styles/typography.private.scss +9 -0
  150. package/core/styles.js +2 -5
  151. package/core.css +203 -43
  152. package/core.js +82 -0
  153. package/custom-elements.json +2451 -1455
  154. package/date-input/date-input.component.js +1 -1
  155. package/{date-input.component-Da-aS3jt.js → date-input.component-B3f_GThS.js} +17 -17
  156. package/date-input.js +1 -1
  157. package/date-input.pure.js +1 -1
  158. package/datepicker/common/datepicker-button.js +1 -1
  159. package/datepicker/common.js +1 -1
  160. package/datepicker/datepicker/datepicker.component.js +1 -1
  161. package/datepicker/datepicker-next-day/datepicker-next-day.component.js +4 -4
  162. package/datepicker/datepicker-previous-day/datepicker-previous-day.component.js +4 -4
  163. package/datepicker/datepicker-toggle/datepicker-toggle.component.js +5 -5
  164. package/datepicker/datepicker.js +1 -1
  165. package/{datepicker-button-Dk2UQkPN.js → datepicker-button-B91ISxhE.js} +8 -7
  166. package/{datepicker.component-DUVgoAGU.js → datepicker.component-DJ_9VBnC.js} +15 -15
  167. package/datepicker.js +2 -2
  168. package/datepicker.pure.js +2 -2
  169. package/development/accordion/accordion.component.d.ts.map +1 -1
  170. package/development/accordion/accordion.component.js +1 -1
  171. package/development/accordion.component-CGTwcntz.js +170 -0
  172. package/development/accordion.js +1 -1
  173. package/development/accordion.pure.js +1 -1
  174. package/development/action-group/action-group.component.d.ts.map +1 -1
  175. package/development/action-group/action-group.component.js +1 -1
  176. package/development/action-group.component-DQ7_kjB9.js +215 -0
  177. package/development/action-group.js +1 -1
  178. package/development/action-group.pure.js +1 -1
  179. package/development/alert/alert/alert.component.d.ts.map +1 -1
  180. package/development/alert/alert/alert.component.js +1 -1
  181. package/development/alert/alert-group/alert-group.component.d.ts.map +1 -1
  182. package/development/alert/alert-group/alert-group.component.js +1 -1
  183. package/development/alert/alert-group.js +1 -1
  184. package/development/alert/alert.js +1 -1
  185. package/development/alert-group.component-DnnPrv5I.js +191 -0
  186. package/development/alert.component-CYb1vnDZ.js +217 -0
  187. package/development/alert.js +2 -2
  188. package/development/alert.pure.js +2 -2
  189. package/development/autocomplete/autocomplete-base-element.d.ts.map +1 -1
  190. package/development/autocomplete/autocomplete-base-element.js +1 -1
  191. package/development/autocomplete/autocomplete.component.js +1 -1
  192. package/development/autocomplete-base-element-YwfObJzm.js +678 -0
  193. package/development/autocomplete.js +1 -1
  194. package/development/autocomplete.pure.js +1 -1
  195. package/development/block-link-common-GckvjULA.js +71 -0
  196. package/development/breadcrumb/breadcrumb/breadcrumb.component.d.ts +1 -1
  197. package/development/breadcrumb/breadcrumb/breadcrumb.component.d.ts.map +1 -1
  198. package/development/breadcrumb/breadcrumb/breadcrumb.component.js +1 -1
  199. package/development/breadcrumb/breadcrumb-group/breadcrumb-group.component.d.ts.map +1 -1
  200. package/development/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +1 -1
  201. package/development/breadcrumb/breadcrumb-group.js +1 -1
  202. package/development/breadcrumb/breadcrumb.js +1 -1
  203. package/development/breadcrumb-group.component-B3Shlng3.js +195 -0
  204. package/development/breadcrumb.component-DxSUxLZO.js +35 -0
  205. package/development/breadcrumb.js +2 -2
  206. package/development/breadcrumb.pure.js +2 -2
  207. package/development/button/accent-button/accent-button.component.d.ts +1 -1
  208. package/development/button/accent-button/accent-button.component.d.ts.map +1 -1
  209. package/development/button/accent-button/accent-button.component.js +2 -2
  210. package/development/button/accent-button-link/accent-button-link.component.d.ts +1 -1
  211. package/development/button/accent-button-link/accent-button-link.component.d.ts.map +1 -1
  212. package/development/button/accent-button-link/accent-button-link.component.js +2 -2
  213. package/development/button/accent-button-link.js +3 -1
  214. package/development/button/accent-button-static/accent-button-static.component.d.ts +1 -1
  215. package/development/button/accent-button-static/accent-button-static.component.d.ts.map +1 -1
  216. package/development/button/accent-button-static/accent-button-static.component.js +2 -2
  217. package/development/button/accent-button-static.js +3 -1
  218. package/development/button/accent-button.js +3 -1
  219. package/development/button/button/button.component.d.ts +1 -1
  220. package/development/button/button/button.component.d.ts.map +1 -1
  221. package/development/button/button/button.component.js +2 -2
  222. package/development/button/button-link/button-link.component.d.ts +1 -1
  223. package/development/button/button-link/button-link.component.d.ts.map +1 -1
  224. package/development/button/button-link/button-link.component.js +2 -2
  225. package/development/button/button-link.js +3 -1
  226. package/development/button/button-static/button-static.component.d.ts +1 -1
  227. package/development/button/button-static/button-static.component.d.ts.map +1 -1
  228. package/development/button/button-static/button-static.component.js +2 -2
  229. package/development/button/button-static.js +3 -1
  230. package/development/button/button.js +3 -1
  231. package/development/button/common/button-common.d.ts +7 -0
  232. package/development/button/common/button-common.d.ts.map +1 -1
  233. package/development/button/common/button-common.js +2 -117
  234. package/development/button/common.d.ts.map +1 -1
  235. package/development/button/common.js +8 -3
  236. package/development/button/mini-button/mini-button.component.js +2 -2
  237. package/development/button/mini-button-group/mini-button-group.component.d.ts.map +1 -1
  238. package/development/button/mini-button-group/mini-button-group.component.js +1 -1
  239. package/development/button/mini-button-group.js +4 -2
  240. package/development/button/mini-button-link/mini-button-link.component.d.ts.map +1 -1
  241. package/development/button/mini-button-link/mini-button-link.component.js +1 -1
  242. package/development/button/mini-button-link.js +4 -2
  243. package/development/button/mini-button.js +3 -1
  244. package/development/button/secondary-button/secondary-button.component.d.ts +1 -1
  245. package/development/button/secondary-button/secondary-button.component.d.ts.map +1 -1
  246. package/development/button/secondary-button/secondary-button.component.js +2 -2
  247. package/development/button/secondary-button-link/secondary-button-link.component.d.ts +1 -1
  248. package/development/button/secondary-button-link/secondary-button-link.component.d.ts.map +1 -1
  249. package/development/button/secondary-button-link/secondary-button-link.component.js +2 -2
  250. package/development/button/secondary-button-link.js +3 -1
  251. package/development/button/secondary-button-static/secondary-button-static.component.d.ts +1 -1
  252. package/development/button/secondary-button-static/secondary-button-static.component.d.ts.map +1 -1
  253. package/development/button/secondary-button-static/secondary-button-static.component.js +2 -2
  254. package/development/button/secondary-button-static.js +3 -1
  255. package/development/button/secondary-button.js +3 -1
  256. package/development/button/transparent-button/transparent-button.component.d.ts +1 -1
  257. package/development/button/transparent-button/transparent-button.component.js +2 -2
  258. package/development/button/transparent-button-link/transparent-button-link.component.d.ts +1 -1
  259. package/development/button/transparent-button-link/transparent-button-link.component.js +2 -2
  260. package/development/button/transparent-button-link.js +3 -1
  261. package/development/button/transparent-button-static/transparent-button-static.component.d.ts +1 -1
  262. package/development/button/transparent-button-static/transparent-button-static.component.js +2 -2
  263. package/development/button/transparent-button-static.js +3 -1
  264. package/development/button/transparent-button.js +3 -1
  265. package/development/button-common-CAu09Yim.js +145 -0
  266. package/development/button.js +5 -6
  267. package/development/button.pure.d.ts +1 -1
  268. package/development/button.pure.d.ts.map +1 -1
  269. package/development/button.pure.js +4 -5
  270. package/development/calendar/calendar/calendar.component.d.ts +1 -12
  271. package/development/calendar/calendar/calendar.component.d.ts.map +1 -1
  272. package/development/calendar/calendar/calendar.component.js +1 -1
  273. package/development/calendar/calendar-day/calendar-day.component.d.ts.map +1 -1
  274. package/development/calendar/calendar-day/calendar-day.component.js +1 -1
  275. package/development/calendar/calendar-day.js +1 -1
  276. package/development/calendar/calendar-month/calendar-month.component.d.ts.map +1 -1
  277. package/development/calendar/calendar-month/calendar-month.component.js +1 -1
  278. package/development/calendar/calendar-weekday/calendar-weekday.component.d.ts.map +1 -1
  279. package/development/calendar/calendar-weekday/calendar-weekday.component.js +1 -1
  280. package/development/calendar/calendar-weeknumber/calendar-weeknumber.component.d.ts.map +1 -1
  281. package/development/calendar/calendar-weeknumber/calendar-weeknumber.component.js +1 -1
  282. package/development/calendar/calendar.js +1 -1
  283. package/development/calendar/common/calendar-cell-base-element.d.ts +2 -1
  284. package/development/calendar/common/calendar-cell-base-element.d.ts.map +1 -1
  285. package/development/calendar/common/calendar-cell-base-element.js +2 -35
  286. package/development/calendar/common.d.ts.map +1 -1
  287. package/development/calendar/common.js +2 -120
  288. package/development/calendar-cell-base-element-BXohfDSl.js +38 -0
  289. package/development/calendar-day.component-DFvRrp2O.js +144 -0
  290. package/development/calendar.component-6p9vsp-V.js +1452 -0
  291. package/development/calendar.js +2 -2
  292. package/development/calendar.pure.js +2 -2
  293. package/development/card/card/card.component.d.ts.map +1 -1
  294. package/development/card/card/card.component.js +1 -1
  295. package/development/card/card-badge/card-badge.component.d.ts.map +1 -1
  296. package/development/card/card-badge/card-badge.component.js +1 -1
  297. package/development/card/card-badge.js +1 -1
  298. package/development/card/card-button/card-button.component.d.ts +1 -1
  299. package/development/card/card-link/card-link.component.d.ts +1 -1
  300. package/development/card/card.js +1 -1
  301. package/development/card/common/card-action-common.js +1 -1
  302. package/development/card/common.js +1 -1
  303. package/development/card-action-common-1FDHbfeR.js +117 -0
  304. package/development/card-badge.component-D4Mes-Gw.js +84 -0
  305. package/development/card.component-DsqIZC_u.js +81 -0
  306. package/development/card.js +3 -3
  307. package/development/card.pure.js +3 -3
  308. package/development/carousel/carousel/carousel.component.d.ts.map +1 -1
  309. package/development/carousel/carousel/carousel.component.js +1 -1
  310. package/development/carousel/carousel-item/carousel-item.component.d.ts.map +1 -1
  311. package/development/carousel/carousel-item/carousel-item.component.js +1 -1
  312. package/development/carousel/carousel-item.js +1 -1
  313. package/development/carousel/carousel-list/carousel-list.component.d.ts.map +1 -1
  314. package/development/carousel/carousel-list/carousel-list.component.js +1 -1
  315. package/development/carousel/carousel-list.js +1 -1
  316. package/development/carousel/carousel.js +1 -1
  317. package/development/carousel-item.component-CIgUJtDJ.js +39 -0
  318. package/development/carousel-list.component-L-nYpHcN.js +136 -0
  319. package/development/carousel.component-Dl48ROSf.js +144 -0
  320. package/development/carousel.js +3 -3
  321. package/development/carousel.pure.js +3 -3
  322. package/development/checkbox/checkbox.component.d.ts +1 -1
  323. package/development/checkbox/checkbox.component.d.ts.map +1 -1
  324. package/development/checkbox/checkbox.component.js +1 -2
  325. package/development/checkbox/checkbox.js +2 -3
  326. package/development/checkbox/common/checkbox-common.d.ts +2 -0
  327. package/development/checkbox/common/checkbox-common.d.ts.map +1 -1
  328. package/development/checkbox/common/checkbox-common.js +2 -2
  329. package/development/checkbox/common.js +2 -2
  330. package/development/checkbox-common-DiTlHvFJ.js +86 -0
  331. package/development/checkbox.component-D3_FFSys.js +161 -0
  332. package/development/checkbox.js +3 -3
  333. package/development/checkbox.pure.js +3 -3
  334. package/development/chip/chip/chip.component.d.ts.map +1 -1
  335. package/development/chip/chip/chip.component.js +1 -1
  336. package/development/chip/chip-group/chip-group.component.d.ts.map +1 -1
  337. package/development/chip/chip-group/chip-group.component.js +1 -1
  338. package/development/chip/chip-group.js +1 -1
  339. package/development/chip/chip.js +1 -1
  340. package/development/chip-group.component-CvpUdzu1.js +409 -0
  341. package/development/chip-label/chip-label.component.d.ts.map +1 -1
  342. package/development/chip-label/chip-label.component.js +1 -1
  343. package/development/chip-label.component-DU8s-hfA.js +103 -0
  344. package/development/chip-label.js +1 -1
  345. package/development/chip-label.pure.js +1 -1
  346. package/development/chip.component-C6v1-PLX.js +118 -0
  347. package/development/chip.js +2 -2
  348. package/development/chip.pure.js +2 -2
  349. package/development/clock/clock.component.d.ts.map +1 -1
  350. package/development/clock/clock.component.js +1 -1
  351. package/development/clock.component-CVPv4mCp.js +290 -0
  352. package/development/clock.js +1 -1
  353. package/development/clock.pure.js +1 -1
  354. package/development/compact-paginator.component-TfDVt_ST.js +51 -0
  355. package/development/container/container/container.component.d.ts.map +1 -1
  356. package/development/container/container/container.component.js +1 -1
  357. package/development/container/container.js +1 -1
  358. package/development/container/sticky-bar/sticky-bar.component.d.ts.map +1 -1
  359. package/development/container/sticky-bar/sticky-bar.component.js +1 -1
  360. package/development/container/sticky-bar.js +1 -1
  361. package/development/container.component-CG_i65Op.js +151 -0
  362. package/development/container.js +2 -2
  363. package/development/container.pure.js +2 -2
  364. package/development/core/a11y/focus-trap-controller.js +3 -3
  365. package/development/core/base-elements/element.d.ts.map +1 -1
  366. package/development/core/base-elements/element.js +6 -2
  367. package/development/core/base-elements/selection-group-base-element.d.ts.map +1 -1
  368. package/development/core/base-elements/selection-group-base-element.js +1 -1
  369. package/development/core/base-elements.js +1 -1
  370. package/development/core/controllers/media-matchers-controller.js +1 -1
  371. package/development/core/datetime/date-adapter.d.ts +9 -2
  372. package/development/core/datetime/date-adapter.d.ts.map +1 -1
  373. package/development/core/datetime/date-adapter.js +11 -4
  374. package/development/core/datetime.js +2 -2
  375. package/development/core/i18n/i18n.d.ts +1 -0
  376. package/development/core/i18n/i18n.d.ts.map +1 -1
  377. package/development/core/i18n/i18n.js +8 -2
  378. package/development/core/i18n.js +2 -2
  379. package/development/core/mixins/panel-mixin.d.ts +1 -0
  380. package/development/core/mixins/panel-mixin.d.ts.map +1 -1
  381. package/development/core/mixins/panel-mixin.js +2 -147
  382. package/development/core/mixins.d.ts.map +1 -1
  383. package/development/core/mixins.js +2 -115
  384. package/development/core/styles/styles.d.ts +2 -0
  385. package/development/core/styles/styles.d.ts.map +1 -0
  386. package/development/core/styles/styles.js +2 -0
  387. package/development/core/styles.d.ts +1 -0
  388. package/development/core/styles.d.ts.map +1 -1
  389. package/development/core/styles.js +2 -11
  390. package/development/core.d.ts +15 -0
  391. package/development/core.d.ts.map +1 -0
  392. package/development/core.js +82 -0
  393. package/development/date-input/date-input.component.d.ts.map +1 -1
  394. package/development/date-input/date-input.component.js +1 -1
  395. package/development/date-input.component-UP1afzgy.js +307 -0
  396. package/development/date-input.js +1 -1
  397. package/development/date-input.pure.js +1 -1
  398. package/development/datepicker/common/datepicker-button.d.ts +2 -0
  399. package/development/datepicker/common/datepicker-button.d.ts.map +1 -1
  400. package/development/datepicker/common/datepicker-button.js +2 -2
  401. package/development/datepicker/common.js +2 -2
  402. package/development/datepicker/datepicker/datepicker.component.d.ts.map +1 -1
  403. package/development/datepicker/datepicker/datepicker.component.js +1 -1
  404. package/development/datepicker/datepicker-next-day/datepicker-next-day.component.js +2 -2
  405. package/development/datepicker/datepicker-previous-day/datepicker-previous-day.component.js +2 -2
  406. package/development/datepicker/datepicker-toggle/datepicker-toggle.component.js +2 -2
  407. package/development/datepicker/datepicker.js +1 -1
  408. package/development/datepicker-button-CANzGO5m.js +163 -0
  409. package/development/datepicker.component-C8XQVo45.js +213 -0
  410. package/development/datepicker.js +3 -3
  411. package/development/datepicker.pure.js +3 -3
  412. package/development/dialog/dialog/dialog.component.d.ts.map +1 -1
  413. package/development/dialog/dialog/dialog.component.js +1 -1
  414. package/development/dialog/dialog-actions/dialog-actions.component.d.ts.map +1 -1
  415. package/development/dialog/dialog-actions/dialog-actions.component.js +1 -1
  416. package/development/dialog/dialog-actions.js +1 -1
  417. package/development/dialog/dialog-close-button/dialog-close-button.component.d.ts +1 -1
  418. package/development/dialog/dialog-close-button/dialog-close-button.component.d.ts.map +1 -1
  419. package/development/dialog/dialog-close-button/dialog-close-button.component.js +1 -1
  420. package/development/dialog/dialog-close-button.js +1 -1
  421. package/development/dialog/dialog-content/dialog-content.component.d.ts.map +1 -1
  422. package/development/dialog/dialog-content/dialog-content.component.js +1 -1
  423. package/development/dialog/dialog-content.js +1 -1
  424. package/development/dialog/dialog-title/dialog-title.component.d.ts.map +1 -1
  425. package/development/dialog/dialog-title/dialog-title.component.js +1 -1
  426. package/development/dialog/dialog-title.js +1 -1
  427. package/development/dialog/dialog.js +1 -1
  428. package/development/dialog-actions.component-CegGvLGp.js +31 -0
  429. package/development/dialog-close-button.component-C4P-8J8j.js +42 -0
  430. package/development/dialog-content.component-bm8piC0O.js +30 -0
  431. package/development/dialog-title.component-CUAbFzCr.js +29 -0
  432. package/development/dialog.component-TBiL0Sdq.js +237 -0
  433. package/development/dialog.js +5 -5
  434. package/development/dialog.pure.js +5 -5
  435. package/development/divider/divider.component.d.ts.map +1 -1
  436. package/development/divider/divider.component.js +1 -1
  437. package/development/divider.component-Bisnf286.js +77 -0
  438. package/development/divider.js +1 -1
  439. package/development/divider.pure.js +1 -1
  440. package/development/error.component-xD_c9IBA.js +55 -0
  441. package/development/expansion-panel/expansion-panel/expansion-panel.component.d.ts.map +1 -1
  442. package/development/expansion-panel/expansion-panel/expansion-panel.component.js +1 -1
  443. package/development/expansion-panel/expansion-panel-content/expansion-panel-content.component.d.ts.map +1 -1
  444. package/development/expansion-panel/expansion-panel-content/expansion-panel-content.component.js +1 -1
  445. package/development/expansion-panel/expansion-panel-content.js +1 -1
  446. package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.d.ts.map +1 -1
  447. package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +1 -1
  448. package/development/expansion-panel/expansion-panel-header.js +1 -1
  449. package/development/expansion-panel/expansion-panel.js +1 -1
  450. package/development/expansion-panel-content.component-XIsKm8JD.js +43 -0
  451. package/development/expansion-panel-header.component-Bw4uROTe.js +85 -0
  452. package/development/expansion-panel.component-PDUmZe7w.js +322 -0
  453. package/development/expansion-panel.js +3 -3
  454. package/development/expansion-panel.pure.js +3 -3
  455. package/development/file-selector/common/file-selector-common.d.ts +3 -1
  456. package/development/file-selector/common/file-selector-common.d.ts.map +1 -1
  457. package/development/file-selector/common/file-selector-common.js +2 -2
  458. package/development/file-selector/common.js +2 -2
  459. package/development/file-selector/file-selector/file-selector.component.d.ts +1 -1
  460. package/development/file-selector/file-selector/file-selector.component.d.ts.map +1 -1
  461. package/development/file-selector/file-selector/file-selector.component.js +5 -5
  462. package/development/file-selector/file-selector-dropzone/file-selector-dropzone.component.d.ts +1 -1
  463. package/development/file-selector/file-selector-dropzone/file-selector-dropzone.component.d.ts.map +1 -1
  464. package/development/file-selector/file-selector-dropzone/file-selector-dropzone.component.js +1 -1
  465. package/development/file-selector/file-selector-dropzone.js +1 -1
  466. package/development/file-selector-common-C82QR3zb.js +418 -0
  467. package/development/file-selector-dropzone.component-B-cBO4bf.js +112 -0
  468. package/development/file-selector.js +3 -3
  469. package/development/file-selector.pure.js +3 -3
  470. package/development/flip-card/flip-card/flip-card.component.d.ts.map +1 -1
  471. package/development/flip-card/flip-card/flip-card.component.js +1 -1
  472. package/development/flip-card/flip-card-details/flip-card-details.component.d.ts.map +1 -1
  473. package/development/flip-card/flip-card-details/flip-card-details.component.js +1 -1
  474. package/development/flip-card/flip-card-details.js +1 -1
  475. package/development/flip-card/flip-card-summary/flip-card-summary.component.d.ts.map +1 -1
  476. package/development/flip-card/flip-card-summary/flip-card-summary.component.js +1 -1
  477. package/development/flip-card/flip-card-summary.js +1 -1
  478. package/development/flip-card/flip-card.js +1 -1
  479. package/development/flip-card-details.component-iMm7NrgQ.js +57 -0
  480. package/development/flip-card-summary.component-HQ_VAn2j.js +84 -0
  481. package/development/flip-card.component-CJanLtkJ.js +190 -0
  482. package/development/flip-card.js +3 -3
  483. package/development/flip-card.pure.js +3 -3
  484. package/development/footer/footer.component.d.ts.map +1 -1
  485. package/development/footer/footer.component.js +1 -1
  486. package/development/footer.component-BblB5218.js +172 -0
  487. package/development/footer.js +1 -1
  488. package/development/footer.pure.js +1 -1
  489. package/development/form-field/error/error.component.d.ts.map +1 -1
  490. package/development/form-field/error/error.component.js +1 -1
  491. package/development/form-field/error.js +1 -1
  492. package/development/form-field/form-field/form-field.component.d.ts +13 -3
  493. package/development/form-field/form-field/form-field.component.d.ts.map +1 -1
  494. package/development/form-field/form-field/form-field.component.js +1 -1
  495. package/development/form-field/form-field-clear/form-field-clear.component.d.ts.map +1 -1
  496. package/development/form-field/form-field-clear/form-field-clear.component.js +2 -2
  497. package/development/form-field/form-field-text-counter/form-field-text-counter.component.d.ts +27 -0
  498. package/development/form-field/form-field-text-counter/form-field-text-counter.component.d.ts.map +1 -0
  499. package/development/form-field/form-field-text-counter/form-field-text-counter.component.js +113 -0
  500. package/development/form-field/form-field.js +1 -1
  501. package/development/form-field/hint/hint.component.d.ts +23 -0
  502. package/development/form-field/hint/hint.component.d.ts.map +1 -0
  503. package/development/form-field/hint/hint.component.js +2 -0
  504. package/development/form-field.component-BEXX0OcL.js +702 -0
  505. package/development/form-field.d.ts.map +1 -1
  506. package/development/form-field.js +9 -5
  507. package/development/form-field.pure.d.ts +3 -1
  508. package/development/form-field.pure.d.ts.map +1 -1
  509. package/development/form-field.pure.js +5 -3
  510. package/development/header/common/header-action-common.js +1 -1
  511. package/development/header/common.js +1 -1
  512. package/development/header/header/header.component.d.ts +7 -0
  513. package/development/header/header/header.component.d.ts.map +1 -1
  514. package/development/header/header/header.component.js +1 -1
  515. package/development/header/header-button/header-button.component.d.ts +1 -1
  516. package/development/header/header-environment/header-environment.component.d.ts.map +1 -1
  517. package/development/header/header-environment/header-environment.component.js +1 -1
  518. package/development/header/header-environment.js +1 -1
  519. package/development/header/header-link/header-link.component.d.ts +1 -1
  520. package/development/header/header.js +1 -1
  521. package/development/header-action-common-MTYV0dqA.js +80 -0
  522. package/development/header-environment.component-DHqoX_lg.js +53 -0
  523. package/development/header.component-Cg0ZcA1s.js +340 -0
  524. package/development/header.js +3 -3
  525. package/development/header.pure.js +3 -3
  526. package/development/hint.component-BsIzdUOV.js +38 -0
  527. package/development/icon/icon-base.d.ts.map +1 -1
  528. package/development/icon/icon-base.js +1 -1
  529. package/development/icon/icon-name-mixin.js +1 -2
  530. package/development/icon/icon-request.d.ts.map +1 -1
  531. package/development/icon/icon-request.js +3 -2
  532. package/development/icon/icon.component.js +1 -1
  533. package/development/icon-base-DHN9pz2I.js +165 -0
  534. package/development/icon-sidebar/icon-sidebar/icon-sidebar.component.d.ts.map +1 -1
  535. package/development/icon-sidebar/icon-sidebar/icon-sidebar.component.js +1 -1
  536. package/development/icon-sidebar/icon-sidebar-button/icon-sidebar-button.component.d.ts +1 -1
  537. package/development/icon-sidebar/icon-sidebar-container/icon-sidebar-container.component.d.ts.map +1 -1
  538. package/development/icon-sidebar/icon-sidebar-container/icon-sidebar-container.component.js +1 -1
  539. package/development/icon-sidebar/icon-sidebar-container.js +1 -1
  540. package/development/icon-sidebar/icon-sidebar-content/icon-sidebar-content.component.d.ts.map +1 -1
  541. package/development/icon-sidebar/icon-sidebar-content/icon-sidebar-content.component.js +1 -1
  542. package/development/icon-sidebar/icon-sidebar-content.js +1 -1
  543. package/development/icon-sidebar/icon-sidebar-link/icon-sidebar-link.component.d.ts +1 -1
  544. package/development/icon-sidebar/icon-sidebar.js +1 -1
  545. package/development/icon-sidebar-container.component-BH_R88Rf.js +39 -0
  546. package/development/icon-sidebar-content.component-yoF6FjkW.js +31 -0
  547. package/development/icon-sidebar.component-BGEkfXVs.js +81 -0
  548. package/development/icon-sidebar.js +3 -3
  549. package/development/icon-sidebar.pure.js +3 -3
  550. package/development/icon.js +1 -1
  551. package/development/icon.pure.js +1 -1
  552. package/development/image/image.component.d.ts.map +1 -1
  553. package/development/image/image.component.js +1 -1
  554. package/development/image.component-BD0jc-u-.js +774 -0
  555. package/development/image.js +1 -1
  556. package/development/image.pure.js +1 -1
  557. package/development/inline-link-common-CgTIwFAI.js +18 -0
  558. package/development/journey-header/journey-header.component.d.ts +1 -0
  559. package/development/journey-header/journey-header.component.d.ts.map +1 -1
  560. package/development/journey-header/journey-header.component.js +1 -1
  561. package/development/journey-header.component-BwVODlXk.js +189 -0
  562. package/development/journey-header.js +1 -1
  563. package/development/journey-header.pure.js +1 -1
  564. package/development/lead-container/lead-container.component.d.ts.map +1 -1
  565. package/development/lead-container/lead-container.component.js +1 -1
  566. package/development/lead-container.component-CGVdBWJr.js +40 -0
  567. package/development/lead-container.js +1 -1
  568. package/development/lead-container.pure.js +1 -1
  569. package/development/link/block-link/block-link.component.d.ts +1 -1
  570. package/development/link/block-link/block-link.component.js +2 -2
  571. package/development/link/block-link-button/block-link-button.component.d.ts +1 -1
  572. package/development/link/block-link-button/block-link-button.component.js +2 -2
  573. package/development/link/block-link-button.js +3 -1
  574. package/development/link/block-link-static/block-link-static.component.d.ts +1 -1
  575. package/development/link/block-link-static/block-link-static.component.js +2 -2
  576. package/development/link/block-link-static.js +3 -1
  577. package/development/link/block-link.js +3 -1
  578. package/development/link/common/block-link-common.d.ts +1 -1
  579. package/development/link/common/block-link-common.d.ts.map +1 -1
  580. package/development/link/common/block-link-common.js +1 -2
  581. package/development/link/common/inline-link-common.d.ts +1 -1
  582. package/development/link/common/inline-link-common.d.ts.map +1 -1
  583. package/development/link/common/inline-link-common.js +1 -2
  584. package/development/link/common/link-common.d.ts +5 -1
  585. package/development/link/common/link-common.d.ts.map +1 -1
  586. package/development/link/common/link-common.js +1 -1
  587. package/development/link/common.js +9 -3
  588. package/development/link/link/link.component.d.ts +1 -1
  589. package/development/link/link/link.component.js +2 -2
  590. package/development/link/link-button/link-button.component.d.ts +1 -1
  591. package/development/link/link-button/link-button.component.js +2 -2
  592. package/development/link/link-button.js +3 -1
  593. package/development/link/link-static/link-static.component.d.ts +1 -1
  594. package/development/link/link-static/link-static.component.js +2 -2
  595. package/development/link/link-static.js +3 -1
  596. package/development/link/link.js +3 -1
  597. package/development/link-common-DJ2FfG_Q.js +72 -0
  598. package/development/link-list/common/link-list-base.d.ts +2 -0
  599. package/development/link-list/common/link-list-base.d.ts.map +1 -1
  600. package/development/link-list/common/link-list-base.js +2 -2
  601. package/development/link-list/common.js +2 -2
  602. package/development/link-list/link-list-anchor.js +2 -3
  603. package/development/link-list/link-list.component.d.ts.map +1 -1
  604. package/development/link-list/link-list.component.js +1 -2
  605. package/development/link-list/link-list.js +2 -3
  606. package/development/link-list-anchor/link-list-anchor.component.d.ts.map +1 -1
  607. package/development/link-list-anchor/link-list-anchor.component.js +1 -1
  608. package/development/link-list-anchor.component-Du7kfDZ-.js +29 -0
  609. package/development/link-list-anchor.js +1 -1
  610. package/development/link-list-anchor.pure.js +1 -1
  611. package/development/{link-list-base-BchLGP8G.js → link-list-base-CKMNz30d.js} +4 -20
  612. package/development/link-list.component-DQMg8MdQ.js +102 -0
  613. package/development/link-list.js +4 -4
  614. package/development/link-list.pure.js +3 -3
  615. package/development/link.js +3 -3
  616. package/development/link.pure.d.ts +3 -1
  617. package/development/link.pure.d.ts.map +1 -1
  618. package/development/link.pure.js +3 -4
  619. package/development/loading-indicator/loading-indicator.component.d.ts.map +1 -1
  620. package/development/loading-indicator/loading-indicator.component.js +1 -1
  621. package/development/loading-indicator-circle/loading-indicator-circle.component.d.ts.map +1 -1
  622. package/development/loading-indicator-circle/loading-indicator-circle.component.js +1 -1
  623. package/development/loading-indicator-circle.component-np96Tu5S.js +78 -0
  624. package/development/loading-indicator-circle.js +1 -1
  625. package/development/loading-indicator-circle.pure.js +1 -1
  626. package/development/loading-indicator.component-CgHYNMxB.js +114 -0
  627. package/development/loading-indicator.js +1 -1
  628. package/development/loading-indicator.pure.js +1 -1
  629. package/development/logo/logo.component.d.ts.map +1 -1
  630. package/development/logo/logo.component.js +1 -1
  631. package/development/logo.component-I0yP2SKr.js +117 -0
  632. package/development/logo.js +1 -1
  633. package/development/logo.pure.js +1 -1
  634. package/development/map-container/map-container.component.d.ts.map +1 -1
  635. package/development/map-container/map-container.component.js +1 -1
  636. package/development/map-container.component-D9NWw-wA.js +177 -0
  637. package/development/map-container.js +1 -1
  638. package/development/map-container.pure.js +1 -1
  639. package/development/menu/common/menu-action-common.d.ts.map +1 -1
  640. package/development/menu/common/menu-action-common.js +1 -1
  641. package/development/menu/common.js +1 -1
  642. package/development/menu/menu/menu.component.d.ts.map +1 -1
  643. package/development/menu/menu/menu.component.js +1 -1
  644. package/development/menu/menu.js +1 -1
  645. package/development/menu-action-common-CBZCra6n.js +33 -0
  646. package/development/menu.component-Lh3JbVow.js +374 -0
  647. package/development/menu.js +2 -2
  648. package/development/menu.pure.js +2 -2
  649. package/development/message/message.component.d.ts.map +1 -1
  650. package/development/message/message.component.js +1 -1
  651. package/development/message.component-CeJhYXSC.js +44 -0
  652. package/development/message.js +1 -1
  653. package/development/message.pure.js +1 -1
  654. package/development/mini-button-group.component-B3CA9KG0.js +120 -0
  655. package/development/mini-button-link.component-I3VpWeNU.js +42 -0
  656. package/development/mini-calendar/mini-calendar/mini-calendar.component.d.ts.map +1 -1
  657. package/development/mini-calendar/mini-calendar/mini-calendar.component.js +1 -1
  658. package/development/mini-calendar/mini-calendar-day/mini-calendar-day.component.d.ts.map +1 -1
  659. package/development/mini-calendar/mini-calendar-day/mini-calendar-day.component.js +1 -1
  660. package/development/mini-calendar/mini-calendar-day.js +1 -1
  661. package/development/mini-calendar/mini-calendar-month/mini-calendar-month.component.d.ts.map +1 -1
  662. package/development/mini-calendar/mini-calendar-month/mini-calendar-month.component.js +1 -1
  663. package/development/mini-calendar/mini-calendar-month.js +1 -1
  664. package/development/mini-calendar/mini-calendar.js +1 -1
  665. package/development/mini-calendar-day.component-BUNVO4ZU.js +138 -0
  666. package/development/mini-calendar-month.component-DZXvAhc3.js +104 -0
  667. package/development/mini-calendar.component-BufzKw74.js +188 -0
  668. package/development/mini-calendar.js +3 -3
  669. package/development/mini-calendar.pure.js +3 -3
  670. package/development/navigation/common/navigation-action-common.js +1 -1
  671. package/development/navigation/common.js +1 -1
  672. package/development/navigation/navigation/navigation.component.d.ts.map +1 -1
  673. package/development/navigation/navigation/navigation.component.js +1 -1
  674. package/development/navigation/navigation-button/navigation-button.component.d.ts +1 -1
  675. package/development/navigation/navigation-link/navigation-link.component.d.ts +1 -1
  676. package/development/navigation/navigation-list/navigation-list.component.d.ts.map +1 -1
  677. package/development/navigation/navigation-list/navigation-list.component.js +1 -1
  678. package/development/navigation/navigation-list.js +1 -1
  679. package/development/navigation/navigation-marker/navigation-marker.component.d.ts.map +1 -1
  680. package/development/navigation/navigation-marker/navigation-marker.component.js +1 -1
  681. package/development/navigation/navigation-marker.js +1 -1
  682. package/development/navigation/navigation-section/navigation-section.component.d.ts.map +1 -1
  683. package/development/navigation/navigation-section/navigation-section.component.js +1 -1
  684. package/development/navigation/navigation-section.js +1 -1
  685. package/development/navigation/navigation.js +1 -1
  686. package/development/navigation-action-common-DpBp7-eZ.js +91 -0
  687. package/development/navigation-list.component-DqITJqFx.js +94 -0
  688. package/development/navigation-marker.component-BpZdT4xz.js +125 -0
  689. package/development/navigation-section.component-CtZtuacK.js +356 -0
  690. package/development/navigation.component-CTNQ1dix.js +324 -0
  691. package/development/navigation.js +5 -5
  692. package/development/navigation.pure.js +5 -5
  693. package/development/notification/notification.component.d.ts.map +1 -1
  694. package/development/notification/notification.component.js +1 -1
  695. package/development/notification.component-Co9QChXc.js +274 -0
  696. package/development/notification.js +1 -1
  697. package/development/notification.pure.js +1 -1
  698. package/development/optgroup-base-element-BaG2W_AP.js +141 -0
  699. package/development/option/optgroup/optgroup-base-element.d.ts.map +1 -1
  700. package/development/option/optgroup/optgroup-base-element.js +1 -1
  701. package/development/option/optgroup/optgroup.component.js +1 -1
  702. package/development/option/optgroup.js +1 -1
  703. package/development/option/option/option.component.d.ts +1 -1
  704. package/development/option/option/option.component.d.ts.map +1 -1
  705. package/development/option/option/option.component.js +1 -1
  706. package/development/option/option-hint/option-hint.component.d.ts.map +1 -1
  707. package/development/option/option-hint/option-hint.component.js +1 -1
  708. package/development/option/option-hint.js +1 -1
  709. package/development/option/option.js +1 -1
  710. package/development/option-hint.component-BH8dP1fM.js +33 -0
  711. package/development/option.component-CdL7fdzZ.js +130 -0
  712. package/development/option.js +3 -3
  713. package/development/option.pure.js +3 -3
  714. package/development/overlay/overlay-base-element.js +2 -2
  715. package/development/overlay/overlay.component.d.ts.map +1 -1
  716. package/development/overlay/overlay.component.js +1 -1
  717. package/development/overlay.component-M0JuSq4C.js +216 -0
  718. package/development/overlay.js +1 -1
  719. package/development/overlay.pure.js +1 -1
  720. package/development/paginator/common/paginator-common.d.ts.map +1 -1
  721. package/development/paginator/common/paginator-common.js +4 -3
  722. package/development/paginator/compact-paginator/compact-paginator.component.d.ts +1 -1
  723. package/development/paginator/compact-paginator/compact-paginator.component.d.ts.map +1 -1
  724. package/development/paginator/compact-paginator/compact-paginator.component.js +1 -1
  725. package/development/paginator/compact-paginator.js +1 -1
  726. package/development/paginator/paginator/paginator.component.d.ts +1 -1
  727. package/development/paginator/paginator/paginator.component.d.ts.map +1 -1
  728. package/development/paginator/paginator/paginator.component.js +1 -1
  729. package/development/paginator/paginator.js +1 -1
  730. package/development/paginator.component-DAdS2mMm.js +259 -0
  731. package/development/paginator.js +2 -2
  732. package/development/paginator.pure.js +2 -2
  733. package/development/panel-mixin-Dj_rsgL9.js +150 -0
  734. package/development/popover/popover.component.d.ts.map +1 -1
  735. package/development/popover/popover.component.js +1 -1
  736. package/development/popover.component-BCMdJBUR.js +537 -0
  737. package/development/popover.js +1 -1
  738. package/development/popover.pure.js +1 -1
  739. package/development/radio-button/common/radio-button-common.d.ts +2 -0
  740. package/development/radio-button/common/radio-button-common.d.ts.map +1 -1
  741. package/development/radio-button/common/radio-button-common.js +2 -2
  742. package/development/radio-button/common.js +2 -2
  743. package/development/radio-button/radio-button.component.d.ts +1 -1
  744. package/development/radio-button/radio-button.component.d.ts.map +1 -1
  745. package/development/radio-button/radio-button.component.js +1 -2
  746. package/development/radio-button/radio-button.js +2 -3
  747. package/development/radio-button-common-C3-xuY78.js +126 -0
  748. package/development/radio-button-group/radio-button-group.component.d.ts.map +1 -1
  749. package/development/radio-button-group/radio-button-group.component.js +2 -1
  750. package/development/radio-button.component-BrQF2FfA.js +124 -0
  751. package/development/radio-button.js +3 -3
  752. package/development/radio-button.pure.js +3 -3
  753. package/development/{sbb-tokens-Lrm4nvNH.js → sbb-tokens-Cr3wVegh.js} +1 -1
  754. package/development/screen-reader-only/screen-reader-only.component.d.ts.map +1 -1
  755. package/development/screen-reader-only/screen-reader-only.component.js +1 -1
  756. package/development/screen-reader-only.component-B77UuVCI.js +26 -0
  757. package/development/screen-reader-only.js +1 -1
  758. package/development/screen-reader-only.pure.js +1 -1
  759. package/development/select/select.component.d.ts +2 -0
  760. package/development/select/select.component.d.ts.map +1 -1
  761. package/development/select/select.component.js +1 -1
  762. package/development/select.component-CGNEhqzl.js +812 -0
  763. package/development/select.js +1 -1
  764. package/development/select.pure.js +1 -1
  765. package/development/selection-action-panel/selection-action-panel.component.d.ts.map +1 -1
  766. package/development/selection-action-panel/selection-action-panel.component.js +1 -1
  767. package/development/selection-action-panel.component-D6I5wdEL.js +49 -0
  768. package/development/selection-action-panel.js +1 -1
  769. package/development/selection-action-panel.pure.js +1 -1
  770. package/development/selection-expansion-panel/selection-expansion-panel.component.d.ts.map +1 -1
  771. package/development/selection-expansion-panel/selection-expansion-panel.component.js +1 -1
  772. package/development/selection-expansion-panel.component-eO7b_EQF.js +189 -0
  773. package/development/selection-expansion-panel.js +1 -1
  774. package/development/selection-expansion-panel.pure.js +1 -1
  775. package/development/selection-group-base-element-DvDpwhPl.js +154 -0
  776. package/development/sidebar/common/styles.d.ts +3 -0
  777. package/development/sidebar/common/styles.d.ts.map +1 -1
  778. package/development/sidebar/common/styles.js +2 -2
  779. package/development/sidebar/common.js +2 -2
  780. package/development/sidebar/sidebar/sidebar.component.d.ts.map +1 -1
  781. package/development/sidebar/sidebar/sidebar.component.js +1 -1
  782. package/development/sidebar/sidebar-close-button/sidebar-close-button.component.d.ts +1 -1
  783. package/development/sidebar/sidebar-close-button/sidebar-close-button.component.d.ts.map +1 -1
  784. package/development/sidebar/sidebar-close-button/sidebar-close-button.component.js +1 -1
  785. package/development/sidebar/sidebar-close-button.js +1 -1
  786. package/development/sidebar/sidebar-container/sidebar-container.component.d.ts.map +1 -1
  787. package/development/sidebar/sidebar-container/sidebar-container.component.js +1 -1
  788. package/development/sidebar/sidebar-container.js +1 -1
  789. package/development/sidebar/sidebar-content/sidebar-content.component.d.ts.map +1 -1
  790. package/development/sidebar/sidebar-content/sidebar-content.component.js +1 -1
  791. package/development/sidebar/sidebar-content.js +1 -1
  792. package/development/sidebar/sidebar-title/sidebar-title.component.d.ts.map +1 -1
  793. package/development/sidebar/sidebar-title/sidebar-title.component.js +1 -1
  794. package/development/sidebar/sidebar-title.js +1 -1
  795. package/development/sidebar/sidebar.js +1 -1
  796. package/development/sidebar-close-button.component-CYWv39Mu.js +46 -0
  797. package/development/sidebar-container.component-BDSoDAym.js +106 -0
  798. package/development/sidebar-content.component-JcVKpKbK.js +32 -0
  799. package/development/sidebar-title.component-BA_j-Igh.js +72 -0
  800. package/development/sidebar.component-DvRTyNry.js +348 -0
  801. package/development/sidebar.js +5 -5
  802. package/development/sidebar.pure.js +5 -5
  803. package/development/signet/signet.component.d.ts.map +1 -1
  804. package/development/signet/signet.component.js +1 -1
  805. package/development/signet.component-3D2ZsajP.js +122 -0
  806. package/development/signet.js +1 -1
  807. package/development/signet.pure.js +1 -1
  808. package/development/skiplink-list/skiplink-list.component.d.ts.map +1 -1
  809. package/development/skiplink-list/skiplink-list.component.js +1 -1
  810. package/development/skiplink-list.component-EDPOitEB.js +134 -0
  811. package/development/skiplink-list.js +1 -1
  812. package/development/skiplink-list.pure.js +1 -1
  813. package/development/slider/slider.component.d.ts.map +1 -1
  814. package/development/slider/slider.component.js +1 -1
  815. package/development/slider.component-BjfLnUvP.js +346 -0
  816. package/development/slider.js +1 -1
  817. package/development/slider.pure.js +1 -1
  818. package/development/status/status.component.d.ts +1 -1
  819. package/development/status/status.component.d.ts.map +1 -1
  820. package/development/status/status.component.js +1 -1
  821. package/development/status.component-CHC2pBa-.js +111 -0
  822. package/development/status.js +1 -1
  823. package/development/status.pure.js +1 -1
  824. package/development/step-label.component-CJFPHIZa.js +131 -0
  825. package/development/step.component-B-n26urC.js +153 -0
  826. package/development/stepper/step/step.component.d.ts.map +1 -1
  827. package/development/stepper/step/step.component.js +1 -1
  828. package/development/stepper/step-label/step-label.component.d.ts.map +1 -1
  829. package/development/stepper/step-label/step-label.component.js +1 -1
  830. package/development/stepper/step-label.js +1 -1
  831. package/development/stepper/step.js +1 -1
  832. package/development/stepper/stepper/stepper.component.d.ts.map +1 -1
  833. package/development/stepper/stepper/stepper.component.js +1 -1
  834. package/development/stepper/stepper.js +1 -1
  835. package/development/stepper.component-CxOBayI1.js +428 -0
  836. package/development/stepper.js +3 -3
  837. package/development/stepper.pure.js +3 -3
  838. package/development/sticky-bar.component-Dzrdsnxu.js +206 -0
  839. package/development/styles-D2RLaAYK.js +18 -0
  840. package/development/styles-D8-q-irv.js +9 -0
  841. package/development/styles-DCQBzC2C.js +14 -0
  842. package/development/tab-group.component-DRipdAyc.js +272 -0
  843. package/development/tab-label.component-14j2eh4Z.js +243 -0
  844. package/development/tab-nav-bar.component-CgYwCSVY.js +114 -0
  845. package/development/tab.component-DThKG7-a.js +70 -0
  846. package/development/table/table-wrapper/table-wrapper.component.d.ts.map +1 -1
  847. package/development/table/table-wrapper/table-wrapper.component.js +1 -1
  848. package/development/table/table-wrapper.js +1 -1
  849. package/development/table-wrapper.component-D1p7kqCB.js +121 -0
  850. package/development/table.js +1 -1
  851. package/development/table.pure.js +1 -1
  852. package/development/tabs/common/styles.d.ts +2 -0
  853. package/development/tabs/common/styles.d.ts.map +1 -1
  854. package/development/tabs/common/styles.js +2 -2
  855. package/development/tabs/common.js +2 -2
  856. package/development/tabs/tab/tab.component.d.ts.map +1 -1
  857. package/development/tabs/tab/tab.component.js +1 -1
  858. package/development/tabs/tab-group/tab-group.component.d.ts.map +1 -1
  859. package/development/tabs/tab-group/tab-group.component.js +1 -1
  860. package/development/tabs/tab-group.js +1 -1
  861. package/development/tabs/tab-label/tab-label.component.d.ts.map +1 -1
  862. package/development/tabs/tab-label/tab-label.component.js +1 -1
  863. package/development/tabs/tab-label.js +1 -1
  864. package/development/tabs/tab-nav-bar/tab-nav-bar.component.d.ts.map +1 -1
  865. package/development/tabs/tab-nav-bar/tab-nav-bar.component.js +1 -1
  866. package/development/tabs/tab-nav-bar.js +1 -1
  867. package/development/tabs/tab.js +1 -1
  868. package/development/tabs.js +6 -6
  869. package/development/tabs.pure.js +6 -6
  870. package/development/tag/tag/tag.component.d.ts.map +1 -1
  871. package/development/tag/tag/tag.component.js +1 -1
  872. package/development/tag/tag-group/tag-group.component.d.ts.map +1 -1
  873. package/development/tag/tag-group/tag-group.component.js +1 -1
  874. package/development/tag/tag-group.js +1 -1
  875. package/development/tag/tag.js +1 -1
  876. package/development/tag-group.component-Cw46bt0E.js +200 -0
  877. package/development/tag.component-CnNPL6aI.js +245 -0
  878. package/development/tag.js +2 -2
  879. package/development/tag.pure.js +2 -2
  880. package/development/teaser/teaser.component.d.ts.map +1 -1
  881. package/development/teaser/teaser.component.js +1 -1
  882. package/development/teaser-hero/teaser-hero.component.d.ts.map +1 -1
  883. package/development/teaser-hero/teaser-hero.component.js +1 -1
  884. package/development/teaser-hero.component-DNlc8Tbl.js +101 -0
  885. package/development/teaser-hero.js +1 -1
  886. package/development/teaser-hero.pure.js +1 -1
  887. package/development/teaser-product/common/teaser-product-common.d.ts +2 -0
  888. package/development/teaser-product/common/teaser-product-common.d.ts.map +1 -1
  889. package/development/teaser-product/common/teaser-product-common.js +2 -2
  890. package/development/teaser-product/common.js +2 -2
  891. package/development/teaser-product/teaser-product/teaser-product.component.d.ts +1 -1
  892. package/development/teaser-product/teaser-product/teaser-product.component.d.ts.map +1 -1
  893. package/development/teaser-product/teaser-product/teaser-product.component.js +1 -1
  894. package/development/teaser-product/teaser-product-static/teaser-product-static.component.d.ts +1 -1
  895. package/development/teaser-product/teaser-product.js +1 -1
  896. package/development/teaser-product-common-DYX370pm.js +78 -0
  897. package/development/teaser-product.component-CSArA8bH.js +43 -0
  898. package/development/teaser-product.js +3 -3
  899. package/development/teaser-product.pure.js +3 -3
  900. package/development/teaser.component-Cky6kKU0.js +118 -0
  901. package/development/teaser.js +1 -1
  902. package/development/teaser.pure.js +1 -1
  903. package/development/time-input/time-input.component.d.ts.map +1 -1
  904. package/development/time-input/time-input.component.js +1 -1
  905. package/development/time-input.component-BtdSR8kB.js +191 -0
  906. package/development/time-input.js +1 -1
  907. package/development/time-input.pure.js +1 -1
  908. package/development/timetable-form/timetable-form/timetable-form.component.d.ts.map +1 -1
  909. package/development/timetable-form/timetable-form/timetable-form.component.js +1 -1
  910. package/development/timetable-form/timetable-form-details/timetable-form-details.component.d.ts.map +1 -1
  911. package/development/timetable-form/timetable-form-details/timetable-form-details.component.js +1 -1
  912. package/development/timetable-form/timetable-form-details.js +1 -1
  913. package/development/timetable-form/timetable-form-field/timetable-form-field.component.d.ts.map +1 -1
  914. package/development/timetable-form/timetable-form-field/timetable-form-field.component.js +1 -1
  915. package/development/timetable-form/timetable-form-field.js +1 -1
  916. package/development/timetable-form/timetable-form-swap-button/timetable-form-swap-button.component.d.ts +1 -1
  917. package/development/timetable-form/timetable-form-swap-button/timetable-form-swap-button.component.d.ts.map +1 -1
  918. package/development/timetable-form/timetable-form-swap-button/timetable-form-swap-button.component.js +1 -1
  919. package/development/timetable-form/timetable-form-swap-button.js +1 -1
  920. package/development/timetable-form/timetable-form.js +1 -1
  921. package/development/timetable-form-details.component-C8awcdP5.js +26 -0
  922. package/development/timetable-form-field.component-BI24VjkC.js +44 -0
  923. package/development/timetable-form-swap-button.component-BUKUjrpl.js +61 -0
  924. package/development/timetable-form.component-CUG86CSN.js +27 -0
  925. package/development/timetable-form.js +4 -4
  926. package/development/timetable-form.pure.js +4 -4
  927. package/development/timetable-occupancy/timetable-occupancy.component.d.ts.map +1 -1
  928. package/development/timetable-occupancy/timetable-occupancy.component.js +1 -1
  929. package/development/timetable-occupancy-icon/timetable-occupancy-icon.component.d.ts.map +1 -1
  930. package/development/timetable-occupancy-icon/timetable-occupancy-icon.component.js +1 -1
  931. package/development/timetable-occupancy-icon.component-lI7__-G5.js +97 -0
  932. package/development/timetable-occupancy-icon.js +1 -1
  933. package/development/timetable-occupancy-icon.pure.js +1 -1
  934. package/development/timetable-occupancy.component-D_PXXvI9.js +124 -0
  935. package/development/timetable-occupancy.js +1 -1
  936. package/development/timetable-occupancy.pure.js +1 -1
  937. package/development/title/title-base.d.ts.map +1 -1
  938. package/development/title/title-base.js +1 -1
  939. package/development/title/title.component.d.ts.map +1 -1
  940. package/development/title/title.component.js +1 -2
  941. package/development/title-base-CBE_2Hkb.js +102 -0
  942. package/development/title.component-Dk23JVct.js +71 -0
  943. package/development/title.js +2 -2
  944. package/development/title.pure.js +2 -2
  945. package/development/toast/toast.component.d.ts.map +1 -1
  946. package/development/toast/toast.component.js +1 -1
  947. package/development/toast.component-BnbpuU9L.js +274 -0
  948. package/development/toast.js +1 -1
  949. package/development/toast.pure.js +1 -1
  950. package/development/toggle/toggle/toggle.component.d.ts.map +1 -1
  951. package/development/toggle/toggle/toggle.component.js +1 -1
  952. package/development/toggle/toggle-option/toggle-option.component.d.ts.map +1 -1
  953. package/development/toggle/toggle-option/toggle-option.component.js +1 -1
  954. package/development/toggle/toggle-option.js +1 -1
  955. package/development/toggle/toggle.js +1 -1
  956. package/development/toggle-check/toggle-check.component.d.ts.map +1 -1
  957. package/development/toggle-check/toggle-check.component.js +1 -1
  958. package/development/toggle-check.component-BG4w_sE8.js +159 -0
  959. package/development/toggle-check.js +1 -1
  960. package/development/toggle-check.pure.js +1 -1
  961. package/development/toggle-option.component-D-F7Fh7i.js +168 -0
  962. package/development/toggle.component-BFYLRN8o.js +254 -0
  963. package/development/toggle.js +2 -2
  964. package/development/toggle.pure.js +2 -2
  965. package/development/tooltip/tooltip.component.d.ts.map +1 -1
  966. package/development/tooltip/tooltip.component.js +1 -1
  967. package/development/tooltip.component-DzSd9VjW.js +378 -0
  968. package/development/tooltip.js +1 -1
  969. package/development/tooltip.pure.js +1 -1
  970. package/development/train/train/train.component.d.ts.map +1 -1
  971. package/development/train/train/train.component.js +1 -1
  972. package/development/train/train-blocked-passage/train-blocked-passage.component.d.ts.map +1 -1
  973. package/development/train/train-blocked-passage/train-blocked-passage.component.js +1 -1
  974. package/development/train/train-blocked-passage.js +1 -1
  975. package/development/train/train-formation/train-formation.component.d.ts.map +1 -1
  976. package/development/train/train-formation/train-formation.component.js +1 -1
  977. package/development/train/train-formation.js +1 -1
  978. package/development/train/train-wagon/train-wagon.component.d.ts.map +1 -1
  979. package/development/train/train-wagon/train-wagon.component.js +1 -1
  980. package/development/train/train-wagon.js +1 -1
  981. package/development/train/train.js +1 -1
  982. package/development/train-blocked-passage.component-BrUJK0gf.js +31 -0
  983. package/development/train-formation.component-vt-nYQXA.js +153 -0
  984. package/development/train-wagon.component-BzA8-S_6.js +336 -0
  985. package/development/train.component-BgpmEDx-.js +231 -0
  986. package/development/train.js +4 -4
  987. package/development/train.pure.js +4 -4
  988. package/development/visual-checkbox/visual-checkbox.component.d.ts.map +1 -1
  989. package/development/visual-checkbox/visual-checkbox.component.js +1 -1
  990. package/development/visual-checkbox.component-rdeoQN40.js +148 -0
  991. package/development/visual-checkbox.js +1 -1
  992. package/development/visual-checkbox.pure.js +1 -1
  993. package/dialog/dialog/dialog.component.js +1 -1
  994. package/dialog/dialog-actions/dialog-actions.component.js +1 -1
  995. package/dialog/dialog-actions.js +1 -1
  996. package/dialog/dialog-close-button/dialog-close-button.component.js +1 -1
  997. package/dialog/dialog-close-button.js +1 -1
  998. package/dialog/dialog-content/dialog-content.component.js +1 -1
  999. package/dialog/dialog-content.js +1 -1
  1000. package/dialog/dialog-title/dialog-title.component.js +1 -1
  1001. package/dialog/dialog-title.js +1 -1
  1002. package/dialog/dialog.js +1 -1
  1003. package/dialog-actions.component-Cp2cISc5.js +17 -0
  1004. package/dialog-close-button.component-CQfIeflt.js +31 -0
  1005. package/dialog-content.component-BTAZtlGb.js +19 -0
  1006. package/dialog-title.component-PVHbhrCM.js +17 -0
  1007. package/{dialog.component-CIPresmM.js → dialog.component-B3oQbMki.js} +12 -12
  1008. package/dialog.js +5 -5
  1009. package/dialog.pure.js +5 -5
  1010. package/divider/divider.component.js +1 -1
  1011. package/{divider.component-B99DkxCv.js → divider.component-D4C31FWl.js} +12 -12
  1012. package/divider.js +1 -1
  1013. package/divider.pure.js +1 -1
  1014. package/error.component-B_D8WUP5.js +44 -0
  1015. package/expansion-panel/expansion-panel/expansion-panel.component.js +1 -1
  1016. package/expansion-panel/expansion-panel-content/expansion-panel-content.component.js +1 -1
  1017. package/expansion-panel/expansion-panel-content.js +1 -1
  1018. package/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +1 -1
  1019. package/expansion-panel/expansion-panel-header.js +1 -1
  1020. package/expansion-panel/expansion-panel.js +1 -1
  1021. package/expansion-panel-content.component--OJYAiBh.js +29 -0
  1022. package/expansion-panel-header.component-B_dQ3ZWT.js +56 -0
  1023. package/expansion-panel.component-BJCjwcoj.js +226 -0
  1024. package/expansion-panel.js +3 -3
  1025. package/expansion-panel.pure.js +3 -3
  1026. package/file-selector/common/file-selector-common.js +1 -1
  1027. package/file-selector/common.js +1 -1
  1028. package/file-selector/file-selector/file-selector.component.js +8 -8
  1029. package/file-selector/file-selector-dropzone/file-selector-dropzone.component.js +1 -1
  1030. package/file-selector/file-selector-dropzone.js +1 -1
  1031. package/{file-selector-common-C--h0Yj2.js → file-selector-common-DN4vHMpP.js} +26 -22
  1032. package/file-selector-dropzone.component-CBKsZsC2.js +98 -0
  1033. package/file-selector.js +2 -2
  1034. package/file-selector.pure.js +2 -2
  1035. package/flip-card/flip-card/flip-card.component.js +1 -1
  1036. package/flip-card/flip-card-details/flip-card-details.component.js +1 -1
  1037. package/flip-card/flip-card-details.js +1 -1
  1038. package/flip-card/flip-card-summary/flip-card-summary.component.js +1 -1
  1039. package/flip-card/flip-card-summary.js +1 -1
  1040. package/flip-card/flip-card.js +1 -1
  1041. package/flip-card-details.component-CUaLeEKc.js +45 -0
  1042. package/flip-card-summary.component-T2UMG_YI.js +65 -0
  1043. package/flip-card.component-D7HNqWXz.js +142 -0
  1044. package/flip-card.js +3 -3
  1045. package/flip-card.pure.js +3 -3
  1046. package/footer/footer.component.js +1 -1
  1047. package/footer.component-BM91Utiz.js +129 -0
  1048. package/footer.js +1 -1
  1049. package/footer.pure.js +1 -1
  1050. package/form-field/error/error.component.js +1 -1
  1051. package/form-field/error.js +1 -1
  1052. package/form-field/form-field/form-field.component.js +1 -1
  1053. package/form-field/form-field-clear/form-field-clear.component.js +6 -6
  1054. package/form-field/form-field-text-counter/form-field-text-counter.component.js +82 -0
  1055. package/form-field/form-field.js +1 -1
  1056. package/form-field/hint/hint.component.js +2 -0
  1057. package/form-field.component-D50q1wC0.js +478 -0
  1058. package/form-field.js +7 -5
  1059. package/form-field.pure.js +6 -4
  1060. package/header/common/header-action-common.js +1 -1
  1061. package/header/common.js +1 -1
  1062. package/header/header/header.component.js +1 -1
  1063. package/header/header-environment/header-environment.component.js +1 -1
  1064. package/header/header-environment.js +1 -1
  1065. package/header/header.js +1 -1
  1066. package/header-action-common-DSx5QDWI.js +62 -0
  1067. package/header-environment.component-rUR1XhR5.js +36 -0
  1068. package/header.component-hZqs06Yh.js +232 -0
  1069. package/header.js +3 -3
  1070. package/header.pure.js +3 -3
  1071. package/hint.component-BVUUrSSu.js +24 -0
  1072. package/icon/icon-base.js +1 -1
  1073. package/icon/icon-name-mixin.js +0 -1
  1074. package/icon/icon-request.js +1 -3
  1075. package/icon/icon.component.js +1 -1
  1076. package/{icon-base-C2VxpriZ.js → icon-base-ChhGqAkg.js} +18 -18
  1077. package/icon-sidebar/icon-sidebar/icon-sidebar.component.js +1 -1
  1078. package/icon-sidebar/icon-sidebar-container/icon-sidebar-container.component.js +1 -1
  1079. package/icon-sidebar/icon-sidebar-container.js +1 -1
  1080. package/icon-sidebar/icon-sidebar-content/icon-sidebar-content.component.js +1 -1
  1081. package/icon-sidebar/icon-sidebar-content.js +1 -1
  1082. package/icon-sidebar/icon-sidebar.js +1 -1
  1083. package/{icon-sidebar-container.component-BGhKzy4e.js → icon-sidebar-container.component-BrBnPZP_.js} +5 -5
  1084. package/{icon-sidebar-content.component-Ck5kHeMx.js → icon-sidebar-content.component-DXoyBsGO.js} +5 -5
  1085. package/{icon-sidebar.component-D3vOnYrs.js → icon-sidebar.component-CSUM1GjR.js} +12 -12
  1086. package/icon-sidebar.js +3 -3
  1087. package/icon-sidebar.pure.js +3 -3
  1088. package/icon.js +1 -1
  1089. package/icon.pure.js +1 -1
  1090. package/image/image.component.js +1 -1
  1091. package/{image.component-BcOwT7-U.js → image.component-9ttsTuRh.js} +31 -31
  1092. package/image.js +1 -1
  1093. package/image.pure.js +1 -1
  1094. package/index.d.ts +3 -1
  1095. package/index.js +3 -1
  1096. package/inline-link-common-B5AHg8oa.js +13 -0
  1097. package/journey-header/journey-header.component.js +1 -1
  1098. package/{journey-header.component-CjXBxEor.js → journey-header.component-BBRryMN8.js} +15 -15
  1099. package/journey-header.js +1 -1
  1100. package/journey-header.pure.js +1 -1
  1101. package/lead-container/lead-container.component.js +1 -1
  1102. package/lead-container.component-D9Wotyyl.js +27 -0
  1103. package/lead-container.js +1 -1
  1104. package/lead-container.pure.js +1 -1
  1105. package/link/block-link/block-link.component.js +1 -1
  1106. package/link/block-link-button/block-link-button.component.js +1 -1
  1107. package/link/block-link-button.js +1 -2
  1108. package/link/block-link-static/block-link-static.component.js +1 -1
  1109. package/link/block-link-static.js +1 -2
  1110. package/link/block-link.js +1 -2
  1111. package/link/common/block-link-common.js +1 -2
  1112. package/link/common/inline-link-common.js +1 -2
  1113. package/link/common/link-common.js +1 -1
  1114. package/link/common.js +6 -3
  1115. package/link/link/link.component.js +1 -1
  1116. package/link/link-button/link-button.component.js +1 -1
  1117. package/link/link-button.js +1 -2
  1118. package/link/link-static/link-static.component.js +1 -1
  1119. package/link/link-static.js +1 -2
  1120. package/link/link.js +1 -2
  1121. package/link-common-C-LzCFHg.js +53 -0
  1122. package/link-list/common/link-list-base.js +1 -1
  1123. package/link-list/common.js +1 -1
  1124. package/link-list/link-list-anchor.js +1 -2
  1125. package/link-list/link-list.component.js +1 -2
  1126. package/link-list/link-list.js +1 -2
  1127. package/link-list-anchor/link-list-anchor.component.js +1 -1
  1128. package/link-list-anchor.component-B1hvFA17.js +18 -0
  1129. package/link-list-anchor.js +1 -1
  1130. package/link-list-anchor.pure.js +1 -1
  1131. package/{link-list-base-CrpC5D4u.js → link-list-base-COzF-Lbi.js} +9 -8
  1132. package/link-list.component-AiEJJGPT.js +78 -0
  1133. package/link-list.js +3 -3
  1134. package/link-list.pure.js +2 -2
  1135. package/link.js +3 -3
  1136. package/link.pure.js +3 -4
  1137. package/loading-indicator/loading-indicator.component.js +1 -1
  1138. package/loading-indicator-circle/loading-indicator-circle.component.js +1 -1
  1139. package/loading-indicator-circle.component-BSVoTtX4.js +62 -0
  1140. package/loading-indicator-circle.js +1 -1
  1141. package/loading-indicator-circle.pure.js +1 -1
  1142. package/loading-indicator.component-B85wTVDM.js +92 -0
  1143. package/loading-indicator.js +1 -1
  1144. package/loading-indicator.pure.js +1 -1
  1145. package/logo/logo.component.js +1 -1
  1146. package/{logo.component-CdZe8lrB.js → logo.component-COL1QTWW.js} +15 -15
  1147. package/logo.js +1 -1
  1148. package/logo.pure.js +1 -1
  1149. package/map-container/map-container.component.js +1 -1
  1150. package/map-container.component-CEyz8sfi.js +132 -0
  1151. package/map-container.js +1 -1
  1152. package/map-container.pure.js +1 -1
  1153. package/menu/common/menu-action-common.js +1 -1
  1154. package/menu/common.js +1 -1
  1155. package/menu/menu/menu.component.js +1 -1
  1156. package/menu/menu.js +1 -1
  1157. package/menu-action-common-p5YGaq2r.js +28 -0
  1158. package/{menu.component-elxRPsQz.js → menu.component-DohFZw2N.js} +12 -12
  1159. package/menu.js +2 -2
  1160. package/menu.pure.js +2 -2
  1161. package/message/message.component.js +1 -1
  1162. package/{message.component-DDMr1IXM.js → message.component-BQjnZ5Z3.js} +5 -5
  1163. package/message.js +1 -1
  1164. package/message.pure.js +1 -1
  1165. package/mini-button-group.component-DmxOnls1.js +89 -0
  1166. package/mini-button-link.component-l5MIlgEB.js +30 -0
  1167. package/mini-calendar/mini-calendar/mini-calendar.component.js +1 -1
  1168. package/mini-calendar/mini-calendar-day/mini-calendar-day.component.js +1 -1
  1169. package/mini-calendar/mini-calendar-day.js +1 -1
  1170. package/mini-calendar/mini-calendar-month/mini-calendar-month.component.js +1 -1
  1171. package/mini-calendar/mini-calendar-month.js +1 -1
  1172. package/mini-calendar/mini-calendar.js +1 -1
  1173. package/mini-calendar-day.component-DOMxLDsW.js +106 -0
  1174. package/{mini-calendar-month.component-DTod_RRs.js → mini-calendar-month.component-BAN0k3N6.js} +11 -11
  1175. package/{mini-calendar.component-BCDHUUZG.js → mini-calendar.component-DJfOT7ir.js} +11 -11
  1176. package/mini-calendar.js +3 -3
  1177. package/mini-calendar.pure.js +3 -3
  1178. package/navigation/common/navigation-action-common.js +1 -1
  1179. package/navigation/common.js +1 -1
  1180. package/navigation/navigation/navigation.component.js +1 -1
  1181. package/navigation/navigation-list/navigation-list.component.js +1 -1
  1182. package/navigation/navigation-list.js +1 -1
  1183. package/navigation/navigation-marker/navigation-marker.component.js +1 -1
  1184. package/navigation/navigation-marker.js +1 -1
  1185. package/navigation/navigation-section/navigation-section.component.js +1 -1
  1186. package/navigation/navigation-section.js +1 -1
  1187. package/navigation/navigation.js +1 -1
  1188. package/navigation-action-common-2ix0xrBs.js +64 -0
  1189. package/{navigation-list.component-DnB7FrKG.js → navigation-list.component-BIl68kYy.js} +12 -12
  1190. package/navigation-marker.component-DKxK16IU.js +88 -0
  1191. package/navigation-section.component-CvjXVn5r.js +241 -0
  1192. package/navigation.component-D3xUqPZB.js +212 -0
  1193. package/navigation.js +5 -5
  1194. package/navigation.pure.js +5 -5
  1195. package/notification/notification.component.js +1 -1
  1196. package/notification.component-DjXJFh1G.js +201 -0
  1197. package/notification.js +1 -1
  1198. package/notification.pure.js +1 -1
  1199. package/off-brand-theme.css +267 -81
  1200. package/{optgroup-base-element-C8LeifgF.js → optgroup-base-element-B2WJv9gb.js} +16 -16
  1201. package/option/optgroup/optgroup-base-element.js +1 -1
  1202. package/option/optgroup/optgroup.component.js +1 -1
  1203. package/option/optgroup.js +1 -1
  1204. package/option/option/option.component.js +1 -1
  1205. package/option/option-hint/option-hint.component.js +1 -1
  1206. package/option/option-hint.js +1 -1
  1207. package/option/option.js +1 -1
  1208. package/option-hint.component-CZH1i3mN.js +23 -0
  1209. package/option.component-M-V_tdSC.js +98 -0
  1210. package/option.js +3 -3
  1211. package/option.pure.js +3 -3
  1212. package/overlay/overlay-base-element.js +1 -1
  1213. package/overlay/overlay.component.js +1 -1
  1214. package/overlay.component-CbvHE6Lw.js +164 -0
  1215. package/overlay.js +1 -1
  1216. package/overlay.pure.js +1 -1
  1217. package/package.json +11 -1
  1218. package/paginator/common/paginator-common.js +16 -17
  1219. package/paginator/compact-paginator/compact-paginator.component.js +1 -1
  1220. package/paginator/compact-paginator.js +1 -1
  1221. package/paginator/paginator/paginator.component.js +1 -1
  1222. package/paginator/paginator.js +1 -1
  1223. package/paginator.component-CZt7Epaf.js +206 -0
  1224. package/paginator.js +2 -2
  1225. package/paginator.pure.js +2 -2
  1226. package/panel-mixin-B6dEo538.js +112 -0
  1227. package/popover/popover.component.js +1 -1
  1228. package/{popover.component-CiOGSWOz.js → popover.component-DWNuW4wM.js} +55 -51
  1229. package/popover.js +1 -1
  1230. package/popover.pure.js +1 -1
  1231. package/radio-button/common/radio-button-common.js +1 -1
  1232. package/radio-button/common.js +1 -1
  1233. package/radio-button/radio-button.component.js +1 -2
  1234. package/radio-button/radio-button.js +1 -2
  1235. package/radio-button-common-DP4Izwwf.js +81 -0
  1236. package/radio-button-group/radio-button-group.component.js +1 -1
  1237. package/{radio-button.component-CVPy3eQi.js → radio-button.component-BiGeOI5L.js} +15 -15
  1238. package/radio-button.js +2 -2
  1239. package/radio-button.pure.js +2 -2
  1240. package/safety-theme.css +267 -81
  1241. package/screen-reader-only/screen-reader-only.component.js +1 -1
  1242. package/screen-reader-only.component-Dxj7rAnR.js +16 -0
  1243. package/screen-reader-only.js +1 -1
  1244. package/screen-reader-only.pure.js +1 -1
  1245. package/select/select.component.js +1 -1
  1246. package/{select.component-CsIiislt.js → select.component-DWLdApt_.js} +97 -76
  1247. package/select.js +1 -1
  1248. package/select.pure.js +1 -1
  1249. package/selection-action-panel/selection-action-panel.component.js +1 -1
  1250. package/selection-action-panel.component-C3g4OJY9.js +35 -0
  1251. package/selection-action-panel.js +1 -1
  1252. package/selection-action-panel.pure.js +1 -1
  1253. package/selection-expansion-panel/selection-expansion-panel.component.js +1 -1
  1254. package/selection-expansion-panel.component-CGSkSA6y.js +144 -0
  1255. package/selection-expansion-panel.js +1 -1
  1256. package/selection-expansion-panel.pure.js +1 -1
  1257. package/selection-group-base-element-B2VHp5_l.js +113 -0
  1258. package/sidebar/common/styles.js +2 -2
  1259. package/sidebar/common.js +2 -2
  1260. package/sidebar/sidebar/sidebar.component.js +1 -1
  1261. package/sidebar/sidebar-close-button/sidebar-close-button.component.js +1 -1
  1262. package/sidebar/sidebar-close-button.js +1 -1
  1263. package/sidebar/sidebar-container/sidebar-container.component.js +1 -1
  1264. package/sidebar/sidebar-container.js +1 -1
  1265. package/sidebar/sidebar-content/sidebar-content.component.js +1 -1
  1266. package/sidebar/sidebar-content.js +1 -1
  1267. package/sidebar/sidebar-title/sidebar-title.component.js +1 -1
  1268. package/sidebar/sidebar-title.js +1 -1
  1269. package/sidebar/sidebar.js +1 -1
  1270. package/sidebar-close-button.component-BEYnX3Hk.js +34 -0
  1271. package/{sidebar-container.component-BFxFShTF.js → sidebar-container.component-BGh7mxq4.js} +10 -10
  1272. package/sidebar-content.component-BEI3kpFh.js +20 -0
  1273. package/{sidebar-title.component-BfjxBPpH.js → sidebar-title.component-CvKixoOS.js} +11 -11
  1274. package/{sidebar.component-zRpWDGKR.js → sidebar.component-DxOx02l6.js} +22 -22
  1275. package/sidebar.js +5 -5
  1276. package/sidebar.pure.js +5 -5
  1277. package/signet/signet.component.js +1 -1
  1278. package/signet.component-ImdnCMXV.js +99 -0
  1279. package/signet.js +1 -1
  1280. package/signet.pure.js +1 -1
  1281. package/skiplink-list/skiplink-list.component.js +1 -1
  1282. package/skiplink-list.component-hqQIOxQD.js +100 -0
  1283. package/skiplink-list.js +1 -1
  1284. package/skiplink-list.pure.js +1 -1
  1285. package/slider/slider.component.js +1 -1
  1286. package/{slider.component-CLNsu212.js → slider.component-CoqCppCq.js} +26 -26
  1287. package/slider.js +1 -1
  1288. package/slider.pure.js +1 -1
  1289. package/standard-theme.css +267 -81
  1290. package/status/status.component.js +1 -1
  1291. package/{status.component-CmLdUn37.js → status.component-BFyXTFXH.js} +11 -11
  1292. package/status.js +1 -1
  1293. package/status.pure.js +1 -1
  1294. package/step-label.component-DnQBwnL8.js +80 -0
  1295. package/{step.component-eKVtXlT4.js → step.component-uBZl9yiJ.js} +5 -5
  1296. package/stepper/step/step.component.js +1 -1
  1297. package/stepper/step-label/step-label.component.js +1 -1
  1298. package/stepper/step-label.js +1 -1
  1299. package/stepper/step.js +1 -1
  1300. package/stepper/stepper/stepper.component.js +1 -1
  1301. package/stepper/stepper.js +1 -1
  1302. package/{stepper.component-yWCQtYWc.js → stepper.component-CYLW1eRI.js} +24 -26
  1303. package/stepper.js +3 -3
  1304. package/stepper.pure.js +3 -3
  1305. package/sticky-bar.component-DDBq8uXU.js +141 -0
  1306. package/styles-BUpK1iP2.js +5 -0
  1307. package/styles-CMI5maF5.js +6 -0
  1308. package/styles-Dqjgvm-Y.js +5 -0
  1309. package/{tab-group.component-DE4H3_H4.js → tab-group.component-Doy39cEh.js} +16 -16
  1310. package/tab-label.component-CD56RH1Z.js +165 -0
  1311. package/{tab-nav-bar.component-n5TiTWxE.js → tab-nav-bar.component-7mG-Dk6g.js} +10 -10
  1312. package/{tab.component-BrIEFDxk.js → tab.component-rEJAbgtn.js} +5 -5
  1313. package/table/table-wrapper/table-wrapper.component.js +1 -1
  1314. package/table/table-wrapper.js +1 -1
  1315. package/{table-wrapper.component-CoqozurQ.js → table-wrapper.component-BpMpU8um.js} +14 -14
  1316. package/table.css +64 -38
  1317. package/table.js +1 -1
  1318. package/table.pure.js +1 -1
  1319. package/tabs/common/styles.js +2 -2
  1320. package/tabs/common.js +2 -2
  1321. package/tabs/tab/tab.component.js +1 -1
  1322. package/tabs/tab-group/tab-group.component.js +1 -1
  1323. package/tabs/tab-group.js +1 -1
  1324. package/tabs/tab-label/tab-label.component.js +1 -1
  1325. package/tabs/tab-label.js +1 -1
  1326. package/tabs/tab-nav-bar/tab-nav-bar.component.js +1 -1
  1327. package/tabs/tab-nav-bar.js +1 -1
  1328. package/tabs/tab.js +1 -1
  1329. package/tabs.js +6 -6
  1330. package/tabs.pure.js +6 -6
  1331. package/tag/tag/tag.component.js +1 -1
  1332. package/tag/tag-group/tag-group.component.js +1 -1
  1333. package/tag/tag-group.js +1 -1
  1334. package/tag/tag.js +1 -1
  1335. package/{tag-group.component-DiIp6zS1.js → tag-group.component-DkQVBbQY.js} +17 -19
  1336. package/tag.component-CzYJZuFT.js +170 -0
  1337. package/tag.js +2 -2
  1338. package/tag.pure.js +2 -2
  1339. package/teaser/teaser.component.js +1 -1
  1340. package/teaser-hero/teaser-hero.component.js +1 -1
  1341. package/teaser-hero.component-CHy82SKQ.js +84 -0
  1342. package/teaser-hero.js +1 -1
  1343. package/teaser-hero.pure.js +1 -1
  1344. package/teaser-product/common/teaser-product-common.js +1 -1
  1345. package/teaser-product/common.js +1 -1
  1346. package/teaser-product/teaser-product/teaser-product.component.js +1 -1
  1347. package/teaser-product/teaser-product.js +1 -1
  1348. package/teaser-product-common-Ct19HzVX.js +63 -0
  1349. package/teaser-product.component-Csj9pAne.js +29 -0
  1350. package/teaser-product.js +2 -2
  1351. package/teaser-product.pure.js +2 -2
  1352. package/teaser.component-WZL0vAo9.js +91 -0
  1353. package/teaser.js +1 -1
  1354. package/teaser.pure.js +1 -1
  1355. package/time-input/time-input.component.js +1 -1
  1356. package/{time-input.component-DT1BOC8m.js → time-input.component-CuQ-3YEM.js} +11 -11
  1357. package/time-input.js +1 -1
  1358. package/time-input.pure.js +1 -1
  1359. package/timetable-form/timetable-form/timetable-form.component.js +1 -1
  1360. package/timetable-form/timetable-form-details/timetable-form-details.component.js +1 -1
  1361. package/timetable-form/timetable-form-details.js +1 -1
  1362. package/timetable-form/timetable-form-field/timetable-form-field.component.js +1 -1
  1363. package/timetable-form/timetable-form-field.js +1 -1
  1364. package/timetable-form/timetable-form-swap-button/timetable-form-swap-button.component.js +1 -1
  1365. package/timetable-form/timetable-form-swap-button.js +1 -1
  1366. package/timetable-form/timetable-form.js +1 -1
  1367. package/timetable-form-details.component-CBZ7QSAx.js +16 -0
  1368. package/timetable-form-field.component-BKxQQqt7.js +32 -0
  1369. package/timetable-form-swap-button.component-C71eoTQH.js +41 -0
  1370. package/timetable-form.component-CU1FXAZH.js +16 -0
  1371. package/timetable-form.js +4 -4
  1372. package/timetable-form.pure.js +4 -4
  1373. package/timetable-occupancy/timetable-occupancy.component.js +1 -1
  1374. package/timetable-occupancy-icon/timetable-occupancy-icon.component.js +1 -1
  1375. package/{timetable-occupancy-icon.component-ZrzpXaeV.js → timetable-occupancy-icon.component-Ck0VCzxz.js} +10 -10
  1376. package/timetable-occupancy-icon.js +1 -1
  1377. package/timetable-occupancy-icon.pure.js +1 -1
  1378. package/{timetable-occupancy.component-DMztYVmj.js → timetable-occupancy.component-Db9SfiyD.js} +14 -14
  1379. package/timetable-occupancy.js +1 -1
  1380. package/timetable-occupancy.pure.js +1 -1
  1381. package/title/title-base.js +1 -1
  1382. package/title/title.component.js +1 -2
  1383. package/title-base-D72Xo2SW.js +80 -0
  1384. package/title.component-CoMa84Sz.js +54 -0
  1385. package/title.js +2 -2
  1386. package/title.pure.js +2 -2
  1387. package/toast/toast.component.js +1 -1
  1388. package/toast.component-BDE1vYLS.js +193 -0
  1389. package/toast.js +1 -1
  1390. package/toast.pure.js +1 -1
  1391. package/toggle/toggle/toggle.component.js +1 -1
  1392. package/toggle/toggle-option/toggle-option.component.js +1 -1
  1393. package/toggle/toggle-option.js +1 -1
  1394. package/toggle/toggle.js +1 -1
  1395. package/toggle-check/toggle-check.component.js +1 -1
  1396. package/toggle-check.component-B6Ww5pLD.js +119 -0
  1397. package/toggle-check.js +1 -1
  1398. package/toggle-check.pure.js +1 -1
  1399. package/{toggle-option.component-NMfqwd12.js → toggle-option.component-Bw-GXUQK.js} +13 -13
  1400. package/{toggle.component-D1n5S5ev.js → toggle.component-BPpsMMPG.js} +16 -16
  1401. package/toggle.js +2 -2
  1402. package/toggle.pure.js +2 -2
  1403. package/tooltip/tooltip.component.js +1 -1
  1404. package/{tooltip.component-X45T6iQH.js → tooltip.component-BY9mV5Sw.js} +19 -19
  1405. package/tooltip.js +1 -1
  1406. package/tooltip.pure.js +1 -1
  1407. package/train/train/train.component.js +1 -1
  1408. package/train/train-blocked-passage/train-blocked-passage.component.js +1 -1
  1409. package/train/train-blocked-passage.js +1 -1
  1410. package/train/train-formation/train-formation.component.js +1 -1
  1411. package/train/train-formation.js +1 -1
  1412. package/train/train-wagon/train-wagon.component.js +1 -1
  1413. package/train/train-wagon.js +1 -1
  1414. package/train/train.js +1 -1
  1415. package/train-blocked-passage.component-C-ltrsRr.js +23 -0
  1416. package/train-formation.component-y0TGSIGR.js +121 -0
  1417. package/{train-wagon.component-bGA2a-0M.js → train-wagon.component-BwCcF4GD.js} +30 -30
  1418. package/{train.component-V6FLqC82.js → train.component-NTimqCpY.js} +18 -18
  1419. package/train.js +4 -4
  1420. package/train.pure.js +4 -4
  1421. package/visual-checkbox/visual-checkbox.component.js +1 -1
  1422. package/visual-checkbox.component-CJWm74Zi.js +118 -0
  1423. package/visual-checkbox.js +1 -1
  1424. package/visual-checkbox.pure.js +1 -1
  1425. package/action-group.component-KWugkMGf.js +0 -158
  1426. package/alert.component-PPR7hfTi.js +0 -165
  1427. package/block-link-common-BMTrbSfi.js +0 -63
  1428. package/breadcrumb.component-DjkZzGJD.js +0 -24
  1429. package/card-badge.component-D_PI9Ega.js +0 -65
  1430. package/card.component-Dt2YFmd3.js +0 -62
  1431. package/chip-label.component-D9AZdMSJ.js +0 -80
  1432. package/chip.component-DMB36gvC.js +0 -94
  1433. package/common-CI_BB6sF.js +0 -5
  1434. package/compact-paginator.component-BK7xj9tc.js +0 -45
  1435. package/container.component-C-jpJN2k.js +0 -117
  1436. package/development/accordion.component-BIFcgIa0.js +0 -172
  1437. package/development/action-group.component-CuhO6yb9.js +0 -379
  1438. package/development/alert-group.component-BlrlsRB8.js +0 -219
  1439. package/development/alert.component-CJ2yLyOY.js +0 -411
  1440. package/development/autocomplete-base-element-DCfmuVY6.js +0 -960
  1441. package/development/block-link-common-CjBLu4BU.js +0 -145
  1442. package/development/breadcrumb-group.component-zU06d9ni.js +0 -279
  1443. package/development/breadcrumb.component-DvOf-PiO.js +0 -89
  1444. package/development/calendar-day.component-Brz0Wyai.js +0 -178
  1445. package/development/calendar.component-0Pl7qEXL.js +0 -2222
  1446. package/development/card-action-common-DqBn3bPy.js +0 -147
  1447. package/development/card-badge.component-Cs4dow18.js +0 -146
  1448. package/development/card.component-CeOZXXWU.js +0 -258
  1449. package/development/carousel-item.component-DOIXA2QK.js +0 -47
  1450. package/development/carousel-list.component-7Z3dYtAF.js +0 -160
  1451. package/development/carousel.component-Cs0gWroH.js +0 -169
  1452. package/development/checkbox-common-DOS4FkuG.js +0 -147
  1453. package/development/checkbox.component-DBtj7z07.js +0 -193
  1454. package/development/chip-group.component-BIJlU5Dp.js +0 -506
  1455. package/development/chip-label.component-DOCHCxBi.js +0 -165
  1456. package/development/chip.component-D6OL8r_Q.js +0 -191
  1457. package/development/clock.component-DPIVt4d3.js +0 -392
  1458. package/development/common-Da_cep8M.js +0 -565
  1459. package/development/compact-paginator.component-BSTPWGJx.js +0 -96
  1460. package/development/container.component-Co2L3KBb.js +0 -238
  1461. package/development/date-input.component-D6__znuy.js +0 -338
  1462. package/development/datepicker-button-vHP0D4yV.js +0 -167
  1463. package/development/datepicker.component-DW6eq3pC.js +0 -223
  1464. package/development/dialog-actions.component-TcOhbHSS.js +0 -55
  1465. package/development/dialog-close-button.component-Yi7NNtQe.js +0 -48
  1466. package/development/dialog-content.component-CzwHSsCD.js +0 -42
  1467. package/development/dialog-title.component-BjJxddme.js +0 -50
  1468. package/development/dialog.component-CjR644v5.js +0 -403
  1469. package/development/divider.component-D04zdHFf.js +0 -95
  1470. package/development/error.component-DCeTb_sQ.js +0 -93
  1471. package/development/expansion-panel-content.component-P1BVKaUQ.js +0 -77
  1472. package/development/expansion-panel-header.component-BQaFPmqq.js +0 -175
  1473. package/development/expansion-panel.component-sNQCAll-.js +0 -489
  1474. package/development/file-selector-common-4VE7Af0W.js +0 -512
  1475. package/development/file-selector-dropzone.component-COoDZxcq.js +0 -154
  1476. package/development/flip-card-details.component-DZqd1icn.js +0 -85
  1477. package/development/flip-card-summary.component-CTvT-hNh.js +0 -151
  1478. package/development/flip-card.component-CUQYeHRg.js +0 -334
  1479. package/development/footer.component-CLU7iVUY.js +0 -310
  1480. package/development/form-field.component-DoPHu1Yf.js +0 -1009
  1481. package/development/header-action-common-BPwn9nFN.js +0 -346
  1482. package/development/header-environment.component-JltjpGKu.js +0 -101
  1483. package/development/header.component-DEw_zC-n.js +0 -446
  1484. package/development/icon-base-DaK86P0U.js +0 -206
  1485. package/development/icon-sidebar-container.component-6k5VwVGK.js +0 -41
  1486. package/development/icon-sidebar-content.component-ISXOClFX.js +0 -33
  1487. package/development/icon-sidebar.component-DFDKX2cD.js +0 -100
  1488. package/development/image.component-BSJf5qRL.js +0 -820
  1489. package/development/inline-link-common-FwpAjkCL.js +0 -52
  1490. package/development/journey-header.component-D1iaZBcw.js +0 -217
  1491. package/development/lead-container.component-BPGSdIND.js +0 -122
  1492. package/development/link-common-CrLiKO3x.js +0 -124
  1493. package/development/link-list-anchor.component-CMwxD7at.js +0 -77
  1494. package/development/link-list.component-B3l5PRJl.js +0 -194
  1495. package/development/loading-indicator-circle.component-BJRSfYOI.js +0 -144
  1496. package/development/loading-indicator.component-DolzcY0K.js +0 -278
  1497. package/development/logo.component-iu5iL8wQ.js +0 -166
  1498. package/development/map-container.component-DMF2oulu.js +0 -307
  1499. package/development/menu-action-common-CE1gySL_.js +0 -140
  1500. package/development/menu.component-D4nt6M9b.js +0 -620
  1501. package/development/message.component-cyOtXMuM.js +0 -82
  1502. package/development/mini-button-group.component-ytJZBjmr.js +0 -174
  1503. package/development/mini-button-link.component-DZOOdeZt.js +0 -47
  1504. package/development/mini-calendar-day.component-B5SWuVZl.js +0 -213
  1505. package/development/mini-calendar-month.component-Diq4my2u.js +0 -150
  1506. package/development/mini-calendar.component-O44l8sfI.js +0 -192
  1507. package/development/navigation-action-common-CA2aDyJ4.js +0 -178
  1508. package/development/navigation-list.component-Dz0JLuKb.js +0 -124
  1509. package/development/navigation-marker.component-DzRg3INl.js +0 -207
  1510. package/development/navigation-section.component-DnSkQA4r.js +0 -600
  1511. package/development/navigation.component-DZ3EQfeI.js +0 -585
  1512. package/development/notification.component-D1xrOQdE.js +0 -525
  1513. package/development/optgroup-base-element-DVLTejtg.js +0 -181
  1514. package/development/option-hint.component-w-UQdEdu.js +0 -55
  1515. package/development/option.component-BPN2WTiI.js +0 -248
  1516. package/development/overlay.component-Btd42clm.js +0 -411
  1517. package/development/paginator.component-DT-sZuFS.js +0 -492
  1518. package/development/popover.component-DCJdrVsB.js +0 -746
  1519. package/development/radio-button-common-CsjMvmAn.js +0 -231
  1520. package/development/radio-button.component-BTnHGixs.js +0 -137
  1521. package/development/screen-reader-only.component-Btj8mc2x.js +0 -36
  1522. package/development/select.component-DJV8Tjcw.js +0 -1084
  1523. package/development/selection-action-panel.component-B3pNvpeD.js +0 -134
  1524. package/development/selection-expansion-panel.component-B9v1yqif.js +0 -326
  1525. package/development/selection-group-base-element-DrTO_80I.js +0 -220
  1526. package/development/sidebar-close-button.component-DYl0czc_.js +0 -48
  1527. package/development/sidebar-container.component-f4gR6uPU.js +0 -136
  1528. package/development/sidebar-content.component-B70pf9tH.js +0 -37
  1529. package/development/sidebar-title.component-RStE_x3R.js +0 -76
  1530. package/development/sidebar.component-BDUew-xS.js +0 -506
  1531. package/development/signet.component-B9nY5tTL.js +0 -188
  1532. package/development/skiplink-list.component-BvbnZ24-.js +0 -198
  1533. package/development/slider.component-w_WtVNx-.js +0 -479
  1534. package/development/status.component-CD4RXPEj.js +0 -171
  1535. package/development/step-label.component-DbdXrY05.js +0 -298
  1536. package/development/step.component-BZ8GnSvF.js +0 -220
  1537. package/development/stepper.component-C20566P1.js +0 -508
  1538. package/development/sticky-bar.component-DxDHpEgX.js +0 -382
  1539. package/development/styles-BlQUk9lF.js +0 -96
  1540. package/development/styles-TKvcDQkA.js +0 -173
  1541. package/development/tab-group.component-C6jlhxvZ.js +0 -292
  1542. package/development/tab-label.component-C0qpk3p_.js +0 -420
  1543. package/development/tab-nav-bar.component-CbZKhBxs.js +0 -123
  1544. package/development/tab.component-DvEZBqQ6.js +0 -101
  1545. package/development/table-wrapper.component-lmWguT_t.js +0 -133
  1546. package/development/tag-group.component-BW1vj2rN.js +0 -219
  1547. package/development/tag.component-Cfx7YNV5.js +0 -419
  1548. package/development/teaser-hero.component-sUhYQXkN.js +0 -202
  1549. package/development/teaser-product-common-zgX2CF41.js +0 -223
  1550. package/development/teaser-product.component-w8Vjh-RN.js +0 -75
  1551. package/development/teaser.component-BI1diIhL.js +0 -246
  1552. package/development/time-input.component-B15eaxBr.js +0 -222
  1553. package/development/timetable-form-details.component-Bz6nsJEp.js +0 -50
  1554. package/development/timetable-form-field.component-BQHwNBP_.js +0 -119
  1555. package/development/timetable-form-swap-button.component-C111nH5V.js +0 -74
  1556. package/development/timetable-form.component-BwcJd7mP.js +0 -34
  1557. package/development/timetable-occupancy-icon.component-BbPiOTqO.js +0 -101
  1558. package/development/timetable-occupancy.component-COJQPJ-O.js +0 -172
  1559. package/development/title-base-DNSaV9Ar.js +0 -142
  1560. package/development/title.component-BY1lm4Z7.js +0 -115
  1561. package/development/toast.component-TMMY3vo-.js +0 -430
  1562. package/development/toggle-check.component-eyni_u24.js +0 -326
  1563. package/development/toggle-option.component-Cerp56FA.js +0 -216
  1564. package/development/toggle.component-9bozw9C0.js +0 -367
  1565. package/development/tooltip.component-DpeuOb4p.js +0 -480
  1566. package/development/train-blocked-passage.component-YA9rV23T.js +0 -79
  1567. package/development/train-formation.component-Bh2Cx4if.js +0 -303
  1568. package/development/train-wagon.component-DQ12gCZf.js +0 -485
  1569. package/development/train.component-DW4vZtEt.js +0 -294
  1570. package/development/visual-checkbox.component-CA6AKLbO.js +0 -213
  1571. package/dialog-actions.component-QvbasYxg.js +0 -17
  1572. package/dialog-close-button.component-CeZrvBtz.js +0 -27
  1573. package/dialog-content.component-bHJNAgKn.js +0 -19
  1574. package/dialog-title.component-BDHYjDn0.js +0 -17
  1575. package/error.component-DTYppqRY.js +0 -44
  1576. package/expansion-panel-content.component-DCl4nQ8V.js +0 -29
  1577. package/expansion-panel-header.component-jc1Ty5jz.js +0 -56
  1578. package/expansion-panel.component-CGss5cPS.js +0 -226
  1579. package/file-selector-dropzone.component-BFlkqlsq.js +0 -94
  1580. package/flip-card-details.component-BOVK7F1U.js +0 -45
  1581. package/flip-card-summary.component-DVa7wF7x.js +0 -65
  1582. package/flip-card.component-5pxuwGAv.js +0 -138
  1583. package/footer.component-C-mSrCud.js +0 -129
  1584. package/form-field.component-CWj6jfYZ.js +0 -447
  1585. package/header-action-common-W_j0KPr-.js +0 -62
  1586. package/header-environment.component-DduyZo6W.js +0 -36
  1587. package/header.component-DW23EnaO.js +0 -203
  1588. package/inline-link-common-DANB-hT-.js +0 -18
  1589. package/lead-container.component-D9VzZCQa.js +0 -27
  1590. package/link-common-akQv_-UR.js +0 -52
  1591. package/link-list-anchor.component-Qm7h2mHK.js +0 -18
  1592. package/link-list.component-C8zrqHYc.js +0 -78
  1593. package/loading-indicator-circle.component-DfjVqe7n.js +0 -62
  1594. package/loading-indicator.component-DkYs30Nf.js +0 -92
  1595. package/map-container.component-C_wbi6WL.js +0 -128
  1596. package/menu-action-common-vt9j6nkG.js +0 -29
  1597. package/mini-button-group.component-D5Dph1Z7.js +0 -89
  1598. package/mini-button-link.component-BYK_EUud.js +0 -31
  1599. package/mini-calendar-day.component-Tj7wlWj7.js +0 -106
  1600. package/navigation-action-common-D_-gGOYm.js +0 -64
  1601. package/navigation-marker.component-B7hmb9iS.js +0 -88
  1602. package/navigation-section.component-C86pkDLG.js +0 -237
  1603. package/navigation.component-BzgTWUiD.js +0 -208
  1604. package/notification.component-Cor1vQGU.js +0 -197
  1605. package/option-hint.component-kPdwK61Z.js +0 -23
  1606. package/option.component-DF9ZTj12.js +0 -98
  1607. package/overlay.component-CAN3BK7B.js +0 -163
  1608. package/paginator.component-CsSs5q4D.js +0 -206
  1609. package/radio-button-common-QHPueQrm.js +0 -77
  1610. package/screen-reader-only.component-DEOirlKo.js +0 -16
  1611. package/selection-action-panel.component-QfR2kPeM.js +0 -35
  1612. package/selection-expansion-panel.component-BQw9icBM.js +0 -144
  1613. package/selection-group-base-element-Bd6na8dT.js +0 -113
  1614. package/sidebar-close-button.component-D0JS2p5L.js +0 -30
  1615. package/sidebar-content.component-M7FGd8SF.js +0 -20
  1616. package/signet.component-Kwdy4Uor.js +0 -101
  1617. package/skiplink-list.component-BRJk6HvC.js +0 -102
  1618. package/step-label.component-DTkviH8Q.js +0 -82
  1619. package/sticky-bar.component-BqZVKHc7.js +0 -141
  1620. package/styles-CsBiCI23.js +0 -5
  1621. package/styles-DYZWSKeo.js +0 -5
  1622. package/tab-label.component-BnxPGws1.js +0 -165
  1623. package/tag.component-CfK6JwsO.js +0 -170
  1624. package/teaser-hero.component-DjodzcX_.js +0 -80
  1625. package/teaser-product-common-DkumwiRA.js +0 -62
  1626. package/teaser-product.component-DiOhM_rU.js +0 -29
  1627. package/teaser.component-C7sJLVMk.js +0 -91
  1628. package/timetable-form-details.component-DI5Mr8-O.js +0 -16
  1629. package/timetable-form-field.component-2kEWygEC.js +0 -32
  1630. package/timetable-form-swap-button.component-BGP-OsHD.js +0 -37
  1631. package/timetable-form.component-BqdKekNM.js +0 -16
  1632. package/title-base-BDYkc8fG.js +0 -80
  1633. package/title.component-DafVwymI.js +0 -54
  1634. package/toast.component-DbILctK5.js +0 -189
  1635. package/toggle-check.component-CPewUjOg.js +0 -119
  1636. package/train-blocked-passage.component-RIMoX91U.js +0 -23
  1637. package/train-formation.component-B17tc6cx.js +0 -121
  1638. package/visual-checkbox.component-eajUDpKu.js +0 -118
  1639. /package/{sbb-tokens-BtASsKhQ.js → sbb-tokens-CWYlBuxJ.js} +0 -0
@@ -1,620 +0,0 @@
1
- import { __esDecorate, __runInitializers } from "tslib";
2
- import { css, html, isServer } from "lit";
3
- import { property } from "lit/decorators.js";
4
- import { SbbOpenCloseBaseElement } from "./core/base-elements.js";
5
- import { idReference } from "./core/decorators.js";
6
- import { SbbScrollHandler, isZeroAnimationDuration } from "./core/dom.js";
7
- import { forwardEvent } from "./core/eventing.js";
8
- import { ɵstateController } from "./core/mixins.js";
9
- import { boxSizingStyles } from "./core/styles.js";
10
- import { SbbDarkModeController, SbbEscapableOverlayController, SbbInertController, SbbLanguageController, SbbMediaMatcherController, SbbMediaQueryBreakpointSmallAndBelow } from "./core/controllers.js";
11
- import "./divider.js";
12
- import { ref } from "lit/directives/ref.js";
13
- import { getElementPosition, getElementPositionHorizontal, isEventOnElement, removeAriaOverlayTriggerAttributes, setAriaOverlayTriggerAttributes } from "./core/overlay.js";
14
- import { SbbFocusTrapController, getNextElementIndex, interactivityChecker, isArrowKeyOrPageKeysPressed } from "./core/a11y.js";
15
- import { i18nGoBack } from "./core/i18n/i18n.js";
16
- import { SbbMenuButtonElement } from "./menu/menu-button/menu-button.component.js";
17
- //#region src/elements/menu/menu/menu.scss?lit&inline
18
- var menu_default = css`:host {
19
- display: contents;
20
- --sbb-menu-animation-duration: var(
21
- --sbb-disable-animation-duration,
22
- var(--sbb-animation-duration-6x)
23
- );
24
- --sbb-focus-outline-color: var(--sbb-focus-outline-color-dark);
25
- --_sbb-menu-inset: 0 auto auto 0;
26
- --sbb-scrollbar-thumb-width: 0.125rem;
27
- --sbb-scrollbar-thumb-width-hover: 0.25rem;
28
- --sbb-scrollbar-width-firefox: thin;
29
- --sbb-scrollbar-color: color-mix(in srgb, var(--sbb-color-white) 30%, transparent);
30
- --sbb-scrollbar-color-hover: color-mix(in srgb, var(--sbb-color-white) 60%, transparent);
31
- --sbb-scrollbar-track-color: transparent;
32
- }
33
- @media (min-width: calc(64rem)) {
34
- :host {
35
- --sbb-menu-back-button-display: none;
36
- }
37
- }
38
-
39
- :host(:is(:is(:state(state-opened),[state--state-opened]), :is(:state(state-opening),[state--state-opening]))) {
40
- --sbb-menu-visibility: visible;
41
- --sbb-menu-backdrop-color: color-mix(in srgb, var(--sbb-color-black) 20%, transparent);
42
- }
43
- @media (min-width: calc(64rem)) {
44
- :host(:is(:is(:state(state-opened),[state--state-opened]), :is(:state(state-opening),[state--state-opening]))) {
45
- --sbb-menu-backdrop-color: transparent;
46
- }
47
- }
48
-
49
- :host(:not(:is(:state(nested),[state--nested]))) {
50
- --sbb-menu-back-button-display: none;
51
- }
52
-
53
- :host(:not(:is(:state(state-closed),[state--state-closed]))) {
54
- --_sbb-menu-inset: 0;
55
- }
56
-
57
- :host(:is(:state(dark),[state--dark])) {
58
- --sbb-focus-outline-color: var(--sbb-focus-outline-color-default);
59
- --sbb-scrollbar-color: color-mix(in srgb, var(--sbb-color-black) 30%, transparent);
60
- --sbb-scrollbar-color-hover: color-mix(in srgb, var(--sbb-color-black) 60%, transparent);
61
- }
62
-
63
- @media (max-width: calc(63.9375rem)) {
64
- :host(:is(:state(skip-animation),[state--skip-animation])) {
65
- --sbb-menu-animation-duration: 0ms;
66
- }
67
- :host(:is(:state(nested-child),[state--nested-child])) {
68
- --sbb-menu-transform-x: -100%;
69
- }
70
- :host(:is(:state(nested),[state--nested]):is(:is(:state(state-opening),[state--state-opening]), :is(:state(state-opened),[state--state-opened]), :is(:state(state-closing),[state--state-closing]))) {
71
- --sbb-menu-open-animation-name: open-sideways;
72
- }
73
- :host(:is(:state(state-closing),[state--state-closing]):is(:state(nested),[state--nested]):not(:is(:state(close-all),[state--close-all]))) {
74
- --sbb-menu-close-animation-name: close-sideways;
75
- }
76
- }
77
- ::slotted(:not(sbb-menu-button, sbb-menu-link, sbb-divider)) {
78
- display: block;
79
- padding-inline: var(--sbb-spacing-fixed-5x);
80
- }
81
-
82
- sbb-divider,
83
- ::slotted(sbb-divider) {
84
- --sbb-divider-color: var(--sbb-background-color-4-inverted);
85
- margin-block: var(--sbb-spacing-fixed-2x);
86
- }
87
-
88
- sbb-divider,
89
- #sbb-menu__back-button {
90
- display: var(--sbb-menu-back-button-display, block);
91
- }
92
-
93
- .sbb-menu__container {
94
- position: fixed;
95
- pointer-events: none;
96
- inset: var(--_sbb-menu-inset);
97
- height: var(--sbb-menu-container-height);
98
- z-index: var(--sbb-menu-z-index, var(--sbb-overlay-default-z-index));
99
- }
100
- .sbb-menu__container::before {
101
- content: "";
102
- visibility: var(--sbb-menu-visibility, hidden);
103
- pointer-events: all;
104
- position: fixed;
105
- inset: var(--_sbb-menu-inset);
106
- height: var(--sbb-menu-container-height);
107
- background-color: var(--sbb-menu-backdrop-color, transparent);
108
- transition-duration: var(--sbb-menu-animation-duration);
109
- transition-timing-function: var(--sbb-menu-animation-easing);
110
- transition-property: background-color, visibility;
111
- }
112
- :host(:is(:state(nested),[state--nested])) .sbb-menu__container::before {
113
- display: none;
114
- }
115
-
116
- .sbb-menu {
117
- display: none;
118
- opacity: 0;
119
- pointer-events: none;
120
- max-width: var(--sbb-menu-max-width);
121
- min-width: var(--sbb-menu-min-width);
122
- text-align: start;
123
- position: absolute;
124
- inset-inline-start: 0;
125
- inset-block-start: unset;
126
- inset-block-end: 0;
127
- inset-inline-end: unset;
128
- color: var(--sbb-menu-color);
129
- border: none;
130
- border-radius: var(--sbb-menu-border-radius) var(--sbb-menu-border-radius) 0 0;
131
- background-color: var(--sbb-menu-background-color);
132
- padding: 0;
133
- overflow: hidden;
134
- translate: var(--sbb-menu-transform-x, 0) 0;
135
- transition: translate var(--sbb-menu-animation-duration);
136
- }
137
- :host(:is(:is(:state(state-opening),[state--state-opening]), :is(:state(state-opened),[state--state-opened]), :is(:state(state-closing),[state--state-closing]))) .sbb-menu {
138
- display: block;
139
- opacity: 1;
140
- pointer-events: all;
141
- animation-name: var(--sbb-menu-open-animation-name, open);
142
- animation-duration: var(--sbb-menu-animation-duration);
143
- animation-timing-function: var(--sbb-menu-animation-easing);
144
- }
145
- :host(:is(:state(state-closing),[state--state-closing])) .sbb-menu {
146
- pointer-events: none;
147
- animation-name: var(--sbb-menu-close-animation-name, close);
148
- }
149
- @media (forced-colors: active) {
150
- .sbb-menu {
151
- outline: var(--sbb-border-width-1x) solid CanvasText;
152
- }
153
- }
154
- @media (min-width: calc(64rem)) {
155
- .sbb-menu {
156
- top: 0;
157
- bottom: unset;
158
- left: 0;
159
- right: unset;
160
- max-height: fit-content;
161
- border-radius: var(--sbb-menu-border-radius);
162
- }
163
- :host(:not(:is(:state(state-closed),[state--state-closed]))) .sbb-menu {
164
- top: var(--sbb-menu-position-y, 0);
165
- left: var(--sbb-menu-position-x, 0);
166
- max-height: var(--sbb-menu-max-height);
167
- min-height: var(--sbb-menu-min-height);
168
- }
169
- }
170
-
171
- .sbb-menu__content {
172
- --sbb-scrollbar-width: var(--sbb-spacing-fixed-3x);
173
- }
174
- .sbb-menu__content::-webkit-scrollbar {
175
- width: var(--sbb-scrollbar-width);
176
- height: var(--sbb-scrollbar-width);
177
- background-color: var(--sbb-scrollbar-track-color, transparent);
178
- }
179
- .sbb-menu__content::-webkit-scrollbar-corner {
180
- background-color: var(--sbb-scrollbar-track-color, transparent);
181
- }
182
- .sbb-menu__content::-webkit-scrollbar-thumb {
183
- background-color: var(--sbb-scrollbar-color, currentcolor);
184
- border: calc(0.5 * (var(--sbb-scrollbar-width) - var(--sbb-scrollbar-thumb-width))) solid transparent;
185
- border-radius: var(--sbb-border-radius-4x);
186
- background-clip: padding-box;
187
- }
188
- .sbb-menu__content::-webkit-scrollbar-thumb:hover {
189
- background-color: var(--sbb-scrollbar-color-hover, currentcolor);
190
- border-width: calc(0.5 * (var(--sbb-scrollbar-width) - var(--sbb-scrollbar-thumb-width-hover)));
191
- }
192
- .sbb-menu__content::-webkit-scrollbar-button, .sbb-menu__content::-webkit-scrollbar-corner {
193
- display: none;
194
- }
195
- @supports not selector(::-webkit-scrollbar) {
196
- .sbb-menu__content {
197
- scrollbar-width: var(--sbb-scrollbar-width-firefox);
198
- scrollbar-color: var(--sbb-scrollbar-color, currentcolor) var(--sbb-scrollbar-track-color, transparent);
199
- }
200
- }
201
- .sbb-menu__content {
202
- max-height: var(--sbb-menu-max-height);
203
- padding-block: var(--sbb-spacing-fixed-1x);
204
- overflow: auto;
205
- outline: none;
206
- }
207
- .sbb-menu__content::after {
208
- content: "";
209
- display: block;
210
- height: var(--sbb-spacing-fixed-8x);
211
- }
212
- @media (min-width: calc(64rem)) {
213
- .sbb-menu__content {
214
- max-height: fit-content;
215
- }
216
- :host(:not(:is(:state(state-closed),[state--state-closed]))) .sbb-menu__content {
217
- max-height: var(--sbb-menu-max-height);
218
- min-height: var(--sbb-menu-min-height);
219
- }
220
- .sbb-menu__content::after {
221
- display: none;
222
- }
223
- }
224
-
225
- ::slotted(:is(:is(:state(sbb-link),[state--sbb-link]), :is(:state(sbb-button),[state--sbb-button]))) {
226
- color-scheme: only light;
227
- }
228
-
229
- @keyframes open {
230
- from {
231
- opacity: 0;
232
- translate: 0 var(--sbb-menu-transform-y, 100%);
233
- }
234
- to {
235
- opacity: 1;
236
- translate: 0 0;
237
- }
238
- }
239
- @keyframes close {
240
- from {
241
- opacity: 1;
242
- translate: 0 0;
243
- }
244
- to {
245
- opacity: 0;
246
- translate: 0 var(--sbb-menu-transform-y, 100%);
247
- }
248
- }
249
- @keyframes open-sideways {
250
- from {
251
- translate: 100% 0;
252
- }
253
- to {
254
- translate: 0 0;
255
- }
256
- }
257
- @keyframes close-sideways {
258
- from {
259
- translate: 0 0;
260
- }
261
- to {
262
- translate: 100% 0;
263
- }
264
- }`;
265
- //#endregion
266
- //#region src/elements/menu/menu/menu.component.ts
267
- SbbMenuButtonElement.define();
268
- var MENU_OFFSET = 8;
269
- var NESTED_MENU_OFFSET = -4;
270
- var INTERACTIVE_ELEMENTS = [
271
- "A",
272
- "BUTTON",
273
- "SBB-BUTTON",
274
- "SBB-BUTTON-LINK",
275
- "SBB-LINK",
276
- "SBB-BLOCK-LINK",
277
- "SBB-LINK-BUTTON",
278
- "SBB-BLOCK-LINK-BUTTON",
279
- "SBB-MENU-BUTTON",
280
- "SBB-MENU-LINK"
281
- ];
282
- var nextId = 0;
283
- /**
284
- * It displays a contextual menu with one or more action element.
285
- *
286
- * @slot - Use the unnamed slot to add `sbb-menu-button`/`sbb-menu-link` or other elements to the menu.
287
- * @cssprop [--sbb-menu-z-index=var(--sbb-overlay-default-z-index)] - To specify a custom stack order,
288
- * the `z-index` can be overridden by defining this CSS variable. The default `z-index` of the
289
- * component is set to `var(--sbb-overlay-default-z-index)` with a value of `1000`.
290
- */
291
- var SbbMenuElement = (() => {
292
- let _classSuper = SbbOpenCloseBaseElement;
293
- let _trigger_decorators;
294
- let _trigger_initializers = [];
295
- let _trigger_extraInitializers = [];
296
- return class SbbMenuElement extends _classSuper {
297
- static {
298
- const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
299
- _trigger_decorators = [idReference(), property()];
300
- __esDecorate(this, null, _trigger_decorators, {
301
- kind: "accessor",
302
- name: "trigger",
303
- static: false,
304
- private: false,
305
- access: {
306
- has: (obj) => "trigger" in obj,
307
- get: (obj) => obj.trigger,
308
- set: (obj, value) => {
309
- obj.trigger = value;
310
- }
311
- },
312
- metadata: _metadata
313
- }, _trigger_initializers, _trigger_extraInitializers);
314
- if (_metadata) Object.defineProperty(this, Symbol.metadata, {
315
- enumerable: true,
316
- configurable: true,
317
- writable: true,
318
- value: _metadata
319
- });
320
- }
321
- static {
322
- this.elementName = "sbb-menu";
323
- }
324
- static {
325
- this.styles = [boxSizingStyles, menu_default];
326
- }
327
- static {
328
- this.role = "menu";
329
- }
330
- #trigger_accessor_storage;
331
- /**
332
- * The element that will trigger the menu overlay.
333
- *
334
- * For attribute usage, provide an id reference.
335
- */
336
- get trigger() {
337
- return this.#trigger_accessor_storage;
338
- }
339
- set trigger(value) {
340
- this.#trigger_accessor_storage = value;
341
- }
342
- constructor() {
343
- super();
344
- this.#trigger_accessor_storage = __runInitializers(this, _trigger_initializers, null);
345
- this._menu = __runInitializers(this, _trigger_extraInitializers);
346
- this._triggerElement = null;
347
- this._isPointerDownEventOnMenu = false;
348
- this._escapableOverlayController = new SbbEscapableOverlayController(this);
349
- this._focusTrapController = new SbbFocusTrapController(this);
350
- this._scrollHandler = new SbbScrollHandler();
351
- this._inertController = new SbbInertController(this);
352
- this._mobileBreakpoint = SbbMediaQueryBreakpointSmallAndBelow;
353
- this._mediaMatcher = new SbbMediaMatcherController(this, { [this._mobileBreakpoint]: (matches) => {
354
- if (matches && (this.state === "opening" || this.state === "opened")) this._scrollHandler.disableScroll();
355
- else this._scrollHandler.enableScroll();
356
- } });
357
- this._darkModeController = new SbbDarkModeController(this, () => this._syncNegative());
358
- this._language = new SbbLanguageController(this);
359
- this._nestedMenu = null;
360
- this._pointerDownListener = (event) => {
361
- const menu = event.target.closest("sbb-menu");
362
- this._isPointerDownEventOnMenu = isEventOnElement(this._menu, event) || this._nestedMenus().some((el) => menu === el);
363
- };
364
- this._closeOnBackdropClick = (event) => {
365
- const target = event.target;
366
- if (!this._isPointerDownEventOnMenu && !isEventOnElement(this._menu, event) && !this._nestedMenus().some((el) => el === target)) this.closeAll();
367
- };
368
- this.addEventListener?.("keydown", (e) => this._handleKeyDown(e));
369
- }
370
- firstUpdated(changedProperties) {
371
- super.firstUpdated(changedProperties);
372
- this._configureTrigger();
373
- }
374
- escapeStrategy() {
375
- this.closeAll();
376
- }
377
- /**
378
- * Opens the menu on trigger click.
379
- */
380
- open() {
381
- if (this.state === "closing" || this.state === "opened" || !this._menu || !this.dispatchBeforeOpenEvent()) return;
382
- if (this._isNested()) {
383
- const parentMenu = this._parentMenu();
384
- parentMenu.internals.states.add("nested-child");
385
- if (parentMenu._nestedMenu !== this) parentMenu._nestedMenu?.close();
386
- parentMenu._nestedMenu = this;
387
- }
388
- this.showPopover?.();
389
- this.state = "opening";
390
- this._setMenuPosition();
391
- this._triggerElement?.setAttribute("aria-expanded", "true");
392
- if (this._isMobile()) this._scrollHandler.disableScroll();
393
- if (this._isZeroAnimationDuration()) this._handleOpening();
394
- }
395
- /** Closes the menu and all its nested menus. */
396
- close() {
397
- this._close();
398
- }
399
- /** Closes the menu and all related menus (nested and parent menus). */
400
- closeAll() {
401
- this._mainMenu()._close(true);
402
- }
403
- /** @param [closeAll='false'] - If true, it ensures animations are correct by toggling some states when closing all related menus at once. */
404
- _close(closeAll = false) {
405
- if (this.state === "opening" && !this._isNested() || !this.dispatchBeforeCloseEvent()) return;
406
- this._nestedMenu?._close(closeAll);
407
- if (this._isNested()) {
408
- const parentMenu = this._parentMenu();
409
- if (closeAll) {
410
- this.internals.states.add("close-all");
411
- parentMenu.internals.states.add("skip-animation");
412
- } else {
413
- this.internals.states.delete("close-all");
414
- parentMenu.internals.states.delete("skip-animation");
415
- }
416
- parentMenu.internals.states.delete("nested-child");
417
- parentMenu._nestedMenu = null;
418
- }
419
- this.state = "closing";
420
- this._triggerElement?.setAttribute("aria-expanded", "false");
421
- if (this._isZeroAnimationDuration()) this._handleClosing();
422
- }
423
- _isZeroAnimationDuration() {
424
- return isZeroAnimationDuration(this, "--sbb-menu-animation-duration");
425
- }
426
- _handleOpening() {
427
- this.state = "opened";
428
- if (!this._isNested()) this._inertController.activate();
429
- else this._updateNestedInert();
430
- this._escapableOverlayController.connect();
431
- this._focusTrapController.focusInitialElement();
432
- this._focusTrapController.enabled = true;
433
- this._attachWindowEvents();
434
- this.dispatchOpenEvent();
435
- }
436
- _handleClosing() {
437
- this.state = "closed";
438
- this.internals.states.delete("skip-animation");
439
- this.internals.states.delete("close-all");
440
- this.hidePopover?.();
441
- this._menu?.firstElementChild?.scrollTo(0, 0);
442
- if (!this._isNested()) this._inertController.deactivate();
443
- else this._updateNestedInert();
444
- this._triggerElement?.focus({ preventScroll: ["sbb-header-button", "sbb-header-link"].includes(this._triggerElement.localName) });
445
- this._escapableOverlayController.disconnect();
446
- this.dispatchCloseEvent();
447
- this._windowEventsController?.abort();
448
- this._focusTrapController.enabled = false;
449
- this._scrollHandler.enableScroll();
450
- }
451
- _handleKeyDown(evt) {
452
- if (!isArrowKeyOrPageKeysPressed(evt)) return;
453
- evt.preventDefault();
454
- const enabledActions = Array.from(this.querySelectorAll("sbb-menu-button, sbb-menu-link")).concat(this.shadowRoot.querySelector("sbb-menu-button")).filter((el) => (!el.disabled || el.disabledInteractive) && interactivityChecker.isVisible(el));
455
- const current = enabledActions.findIndex((e) => e === evt.target);
456
- let nextIndex;
457
- switch (evt.key) {
458
- case "ArrowUp":
459
- case "ArrowDown":
460
- nextIndex = getNextElementIndex(evt, current, enabledActions.length);
461
- break;
462
- case "ArrowLeft":
463
- if (this._isNested()) this.close();
464
- break;
465
- case "ArrowRight":
466
- if (evt.target.matches(":is(:state(sbb-menu-trigger),[state--sbb-menu-trigger])")) evt.target.click();
467
- break;
468
- case "PageUp":
469
- case "Home":
470
- nextIndex = 0;
471
- break;
472
- case "End":
473
- case "PageDown":
474
- nextIndex = enabledActions.length - 1;
475
- break;
476
- }
477
- if (nextIndex !== void 0) enabledActions[nextIndex].focus();
478
- }
479
- createRenderRoot() {
480
- const renderRoot = super.createRenderRoot();
481
- this.shadowRoot?.addEventListener("slotchange", () => this._syncNegative(), { capture: true });
482
- return renderRoot;
483
- }
484
- connectedCallback() {
485
- this.popover = "manual";
486
- super.connectedCallback();
487
- this.id ||= `sbb-menu-${nextId++}`;
488
- if (this.hasUpdated) this._configureTrigger();
489
- }
490
- disconnectedCallback() {
491
- super.disconnectedCallback();
492
- this._triggerElement = null;
493
- this._triggerAbortController?.abort();
494
- this._windowEventsController?.abort();
495
- this._scrollHandler.enableScroll();
496
- }
497
- requestUpdate(name, oldValue, options) {
498
- super.requestUpdate(name, oldValue, options);
499
- if (!isServer && (!name || name === "trigger") && this.hasUpdated) this._configureTrigger();
500
- }
501
- _configureTrigger() {
502
- if (this.trigger === this._triggerElement) return;
503
- this._triggerAbortController?.abort();
504
- removeAriaOverlayTriggerAttributes(this._triggerElement);
505
- this._triggerElement = this.trigger;
506
- if (!this._triggerElement) return;
507
- setAriaOverlayTriggerAttributes(this._triggerElement, "menu", this.id, this.state);
508
- this._triggerAbortController = new AbortController();
509
- this._triggerElement.addEventListener("click", () => this.open(), { signal: this._triggerAbortController.signal });
510
- this.toggleState("nested", ["sbb-menu-button", "sbb-menu-link"].includes(this._triggerElement.localName));
511
- ɵstateController(this._triggerElement).add("sbb-menu-trigger");
512
- }
513
- _attachWindowEvents() {
514
- this._windowEventsController = new AbortController();
515
- document.addEventListener("scroll", () => this._setMenuPosition(), {
516
- passive: true,
517
- signal: this._windowEventsController.signal,
518
- capture: true
519
- });
520
- window.addEventListener("resize", () => this._setMenuPosition(), {
521
- passive: true,
522
- signal: this._windowEventsController.signal
523
- });
524
- if (!this._isNested()) {
525
- window.addEventListener("pointerdown", this._pointerDownListener, { signal: this._windowEventsController.signal });
526
- window.addEventListener("pointerup", this._closeOnBackdropClick, { signal: this._windowEventsController.signal });
527
- }
528
- }
529
- _interactiveElementClick(event) {
530
- const target = event.target;
531
- if (INTERACTIVE_ELEMENTS.includes(target.nodeName) && !target.hasAttribute("disabled") && !target.matches(":is(:state(sbb-menu-trigger),[state--sbb-menu-trigger])") && target.id !== "sbb-menu__back-button") this.closeAll();
532
- }
533
- /** Converts the linked list into an array of SbbMenuElement. */
534
- _nestedMenus() {
535
- const menus = [];
536
- let current = this._nestedMenu;
537
- while (current) {
538
- menus.push(current);
539
- current = current._nestedMenu;
540
- }
541
- return menus;
542
- }
543
- _parentMenu() {
544
- return this._triggerElement?.closest("sbb-menu") ?? null;
545
- }
546
- /** The outermost menu. */
547
- _mainMenu() {
548
- return this._isNested() ? this._parentMenu()?._mainMenu() ?? this : this;
549
- }
550
- _isNested() {
551
- return !!this._parentMenu();
552
- }
553
- _updateNestedInert() {
554
- this._inertController.restoreAllExempted();
555
- this._mainMenu()._nestedMenus().forEach((menu) => this._inertController.exempt(menu));
556
- }
557
- _handleMouseOver(event) {
558
- const element = event.target;
559
- const isMobile = this._isMobile();
560
- if (!isMobile && this._nestedMenu && !element.classList.contains("sbb-menu__content") && !(element.getAttribute("aria-expanded") === "true")) this._nestedMenu.close();
561
- if (element.matches(":is(:state(sbb-menu-trigger),[state--sbb-menu-trigger])") && !isMobile) element.click();
562
- }
563
- _onMenuAnimationEnd(event) {
564
- if ((event.animationName === "open" || event.animationName === "open-sideways") && this.state === "opening") this._handleOpening();
565
- else if ((event.animationName === "close" || event.animationName === "close-sideways") && this.state === "closing") this._handleClosing();
566
- }
567
- _setMenuPosition() {
568
- if (this._isMobile() || !this._menu || !this._triggerElement || this.state === "closing") return;
569
- const menuPosition = !this._isNested() ? getElementPosition(this.shadowRoot.querySelector(".sbb-menu__content"), this._triggerElement, this.shadowRoot.querySelector(".sbb-menu__container"), { verticalOffset: MENU_OFFSET }) : getElementPositionHorizontal(this.shadowRoot.querySelector(".sbb-menu__content"), this._triggerElement, this.shadowRoot.querySelector(".sbb-menu__container"), {
570
- horizontalOffset: MENU_OFFSET,
571
- verticalOffset: NESTED_MENU_OFFSET,
572
- contentSelector: ".sbb-menu__content"
573
- });
574
- this.style.setProperty("--sbb-menu-position-x", `${menuPosition.left}px`);
575
- this.style.setProperty("--sbb-menu-position-y", `${menuPosition.top}px`);
576
- this.style.setProperty("--sbb-menu-max-height", menuPosition.maxHeight);
577
- }
578
- _syncNegative() {
579
- this.querySelectorAll(":is(:state(sbb-link),[state--sbb-link]), :is(:state(sbb-button),[state--sbb-button])")?.forEach((el) => {
580
- customElements.upgrade(el);
581
- el.negative = !this._darkModeController.matches();
582
- });
583
- }
584
- _isMobile() {
585
- return this._mediaMatcher.matches(this._mobileBreakpoint) ?? true;
586
- }
587
- render() {
588
- return html`
589
- <div class="sbb-menu__container">
590
- <div
591
- @animationend=${this._onMenuAnimationEnd}
592
- @mouseover=${(e) => this._handleMouseOver(e)}
593
- class="sbb-menu"
594
- ${ref((el) => this._menu = el)}
595
- >
596
- <div
597
- @click=${(event) => this._interactiveElementClick(event)}
598
- @scroll=${(e) => forwardEvent(e, document)}
599
- class="sbb-menu__content"
600
- >
601
- <slot></slot>
602
- <sbb-divider></sbb-divider>
603
- <sbb-menu-button
604
- id="sbb-menu__back-button"
605
- @click=${() => this.close()}
606
- icon-name="chevron-small-left-small"
607
- >
608
- ${i18nGoBack[this._language.current]}
609
- </sbb-menu-button>
610
- </div>
611
- </div>
612
- </div>
613
- `;
614
- }
615
- };
616
- })();
617
- //#endregion
618
- export { SbbMenuElement as t };
619
-
620
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQtRDRudDZNOWIuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL21lbnUvbWVudS9tZW51LnNjc3M/bGl0JmlubGluZSIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9tZW51L21lbnUvbWVudS5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnLi4vLi4vY29yZS9zdHlsZXMnIGFzIHNiYjtcblxuOmhvc3Qge1xuICAvLyBXZSB1c2UgdGhpcyBydWxlIHRvIG1ha2UgdGhlIGlubmVyIGNvbnRhaW5lciBlbGVtZW50IHRvIGFwcGVhciBhcyBpZiBpdCB3ZXJlIGFcbiAgLy8gZGlyZWN0IGNoaWxkIG9mIHRoZSBob3N0J3MgcGFyZW50IGVsZW1lbnQuIFRoaXMgaXMgdXNlZnVsIGJlY2F1c2UgdGhlIGhvc3RcbiAgLy8gc2hvdWxkIGJlIGlnbm9yZWQgd2hlbiB1c2luZyBDU1MgZ3JpZCBvciBzaW1pbGFyIGxheW91dCB0ZWNobmlxdWVzLlxuICBkaXNwbGF5OiBjb250ZW50cztcblxuICAtLXNiYi1tZW51LWFuaW1hdGlvbi1kdXJhdGlvbjogdmFyKFxuICAgIC0tc2JiLWRpc2FibGUtYW5pbWF0aW9uLWR1cmF0aW9uLFxuICAgIHZhcigtLXNiYi1hbmltYXRpb24tZHVyYXRpb24tNngpXG4gICk7XG4gIC0tc2JiLWZvY3VzLW91dGxpbmUtY29sb3I6IHZhcigtLXNiYi1mb2N1cy1vdXRsaW5lLWNvbG9yLWRhcmspO1xuICAtLV9zYmItbWVudS1pbnNldDogMCBhdXRvIGF1dG8gMDtcblxuICBAaW5jbHVkZSBzYmIuc2Nyb2xsYmFyLXZhcmlhYmxlcygkbmVnYXRpdmU6IHRydWUpO1xuXG4gIEBpbmNsdWRlIHNiYi5tcSgkZnJvbTogbGFyZ2UpIHtcbiAgICAtLXNiYi1tZW51LWJhY2stYnV0dG9uLWRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuOmhvc3QoOmlzKDpzdGF0ZShzdGF0ZS1vcGVuZWQpLCA6c3RhdGUoc3RhdGUtb3BlbmluZykpKSB7XG4gIC0tc2JiLW1lbnUtdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgLS1zYmItbWVudS1iYWNrZHJvcC1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLXNiYi1jb2xvci1ibGFjaykgMjAlLCB0cmFuc3BhcmVudCk7XG5cbiAgQGluY2x1ZGUgc2JiLm1xKCRmcm9tOiBsYXJnZSkge1xuICAgIC0tc2JiLW1lbnUtYmFja2Ryb3AtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbjpob3N0KDpub3QoOnN0YXRlKG5lc3RlZCkpKSB7XG4gIC0tc2JiLW1lbnUtYmFjay1idXR0b24tZGlzcGxheTogbm9uZTtcbn1cblxuOmhvc3QoOm5vdCg6c3RhdGUoc3RhdGUtY2xvc2VkKSkpIHtcbiAgLS1fc2JiLW1lbnUtaW5zZXQ6IDA7XG59XG5cbjpob3N0KDpzdGF0ZShkYXJrKSkge1xuICAtLXNiYi1mb2N1cy1vdXRsaW5lLWNvbG9yOiB2YXIoLS1zYmItZm9jdXMtb3V0bGluZS1jb2xvci1kZWZhdWx0KTtcblxuICAvLyBXZSBoYXZlIHRvIGVuc3VyZSB0aGF0IHRoZSBzY3JvbGxiYXIgaXMgdmlzaWJsZSBpbiBkYXJrIG1vZGUgd2l0aCBub24tZGFyayBtb2RlIHZhbHVlcy5cbiAgLS1zYmItc2Nyb2xsYmFyLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tc2JiLWNvbG9yLWJsYWNrKSAzMCUsIHRyYW5zcGFyZW50KTtcbiAgLS1zYmItc2Nyb2xsYmFyLWNvbG9yLWhvdmVyOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tc2JiLWNvbG9yLWJsYWNrKSA2MCUsIHRyYW5zcGFyZW50KTtcbn1cblxuQGluY2x1ZGUgc2JiLm1xKCR0bzogbGFyZ2UpIHtcbiAgOmhvc3QoOnN0YXRlKHNraXAtYW5pbWF0aW9uKSkge1xuICAgIC0tc2JiLW1lbnUtYW5pbWF0aW9uLWR1cmF0aW9uOiAwbXM7XG4gIH1cblxuICA6aG9zdCg6c3RhdGUobmVzdGVkLWNoaWxkKSkge1xuICAgIC0tc2JiLW1lbnUtdHJhbnNmb3JtLXg6IC0xMDAlO1xuICB9XG5cbiAgOmhvc3QoOnN0YXRlKG5lc3RlZCk6aXMoOnN0YXRlKHN0YXRlLW9wZW5pbmcpLCA6c3RhdGUoc3RhdGUtb3BlbmVkKSwgOnN0YXRlKHN0YXRlLWNsb3NpbmcpKSkge1xuICAgIC0tc2JiLW1lbnUtb3Blbi1hbmltYXRpb24tbmFtZTogb3Blbi1zaWRld2F5cztcbiAgfVxuXG4gIDpob3N0KDpzdGF0ZShzdGF0ZS1jbG9zaW5nKTpzdGF0ZShuZXN0ZWQpOm5vdCg6c3RhdGUoY2xvc2UtYWxsKSkpIHtcbiAgICAtLXNiYi1tZW51LWNsb3NlLWFuaW1hdGlvbi1uYW1lOiBjbG9zZS1zaWRld2F5cztcbiAgfVxufVxuXG46OnNsb3R0ZWQoOm5vdChzYmItbWVudS1idXR0b24sIHNiYi1tZW51LWxpbmssIHNiYi1kaXZpZGVyKSkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy1pbmxpbmU6IHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTV4KTtcbn1cblxuc2JiLWRpdmlkZXIsXG46OnNsb3R0ZWQoc2JiLWRpdmlkZXIpIHtcbiAgLS1zYmItZGl2aWRlci1jb2xvcjogdmFyKC0tc2JiLWJhY2tncm91bmQtY29sb3ItNC1pbnZlcnRlZCk7XG5cbiAgbWFyZ2luLWJsb2NrOiB2YXIoLS1zYmItc3BhY2luZy1maXhlZC0yeCk7XG59XG5cbnNiYi1kaXZpZGVyLFxuI3NiYi1tZW51X19iYWNrLWJ1dHRvbiB7XG4gIGRpc3BsYXk6IHZhcigtLXNiYi1tZW51LWJhY2stYnV0dG9uLWRpc3BsYXksIGJsb2NrKTtcbn1cblxuLnNiYi1tZW51X19jb250YWluZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBpbnNldDogdmFyKC0tX3NiYi1tZW51LWluc2V0KTtcbiAgaGVpZ2h0OiB2YXIoLS1zYmItbWVudS1jb250YWluZXItaGVpZ2h0KTtcbiAgei1pbmRleDogdmFyKC0tc2JiLW1lbnUtei1pbmRleCwgdmFyKC0tc2JiLW92ZXJsYXktZGVmYXVsdC16LWluZGV4KSk7XG5cbiAgLy8gTWVudSBiYWNrZHJvcCAob25seSB2aXNpYmxlIG9uIG1vYmlsZSlcbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICB2aXNpYmlsaXR5OiB2YXIoLS1zYmItbWVudS12aXNpYmlsaXR5LCBoaWRkZW4pO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGluc2V0OiB2YXIoLS1fc2JiLW1lbnUtaW5zZXQpO1xuICAgIGhlaWdodDogdmFyKC0tc2JiLW1lbnUtY29udGFpbmVyLWhlaWdodCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLW1lbnUtYmFja2Ryb3AtY29sb3IsIHRyYW5zcGFyZW50KTtcbiAgICB0cmFuc2l0aW9uOiB7XG4gICAgICBkdXJhdGlvbjogdmFyKC0tc2JiLW1lbnUtYW5pbWF0aW9uLWR1cmF0aW9uKTtcbiAgICAgIHRpbWluZy1mdW5jdGlvbjogdmFyKC0tc2JiLW1lbnUtYW5pbWF0aW9uLWVhc2luZyk7XG4gICAgICBwcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciwgdmlzaWJpbGl0eTtcbiAgICB9XG5cbiAgICAvLyBIaWRlIHRoZSBiYWNrZHJvcCB3aGVuIGluIG5lc3RlZCBzdGF0ZVxuICAgIDpob3N0KDpzdGF0ZShuZXN0ZWQpKSAmIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi5zYmItbWVudSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG9wYWNpdHk6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBtYXgtd2lkdGg6IHZhcigtLXNiYi1tZW51LW1heC13aWR0aCk7XG4gIG1pbi13aWR0aDogdmFyKC0tc2JiLW1lbnUtbWluLXdpZHRoKTtcbiAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQtaW5saW5lLXN0YXJ0OiAwO1xuICBpbnNldC1ibG9jay1zdGFydDogdW5zZXQ7XG4gIGluc2V0LWJsb2NrLWVuZDogMDtcbiAgaW5zZXQtaW5saW5lLWVuZDogdW5zZXQ7XG4gIGNvbG9yOiB2YXIoLS1zYmItbWVudS1jb2xvcik7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tc2JiLW1lbnUtYm9yZGVyLXJhZGl1cykgdmFyKC0tc2JiLW1lbnUtYm9yZGVyLXJhZGl1cykgMCAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItbWVudS1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNsYXRlOiB2YXIoLS1zYmItbWVudS10cmFuc2Zvcm0teCwgMCkgMDtcblxuICAvLyBVc2VkIHdoZW4gbmF2aWdhdGluZyBiYWNrIGZyb20gbmVzdGVkIG1lbnUgaW4gbW9iaWxlIHZpZXdcbiAgdHJhbnNpdGlvbjogdHJhbnNsYXRlIHZhcigtLXNiYi1tZW51LWFuaW1hdGlvbi1kdXJhdGlvbik7XG5cbiAgOmhvc3QoOmlzKDpzdGF0ZShzdGF0ZS1vcGVuaW5nKSwgOnN0YXRlKHN0YXRlLW9wZW5lZCksIDpzdGF0ZShzdGF0ZS1jbG9zaW5nKSkpICYge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgcG9pbnRlci1ldmVudHM6IGFsbDtcblxuICAgIGFuaW1hdGlvbjoge1xuICAgICAgbmFtZTogdmFyKC0tc2JiLW1lbnUtb3Blbi1hbmltYXRpb24tbmFtZSwgb3Blbik7XG4gICAgICBkdXJhdGlvbjogdmFyKC0tc2JiLW1lbnUtYW5pbWF0aW9uLWR1cmF0aW9uKTtcbiAgICAgIHRpbWluZy1mdW5jdGlvbjogdmFyKC0tc2JiLW1lbnUtYW5pbWF0aW9uLWVhc2luZyk7XG4gICAgfVxuICB9XG5cbiAgOmhvc3QoOnN0YXRlKHN0YXRlLWNsb3NpbmcpKSAmIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBhbmltYXRpb24tbmFtZTogdmFyKC0tc2JiLW1lbnUtY2xvc2UtYW5pbWF0aW9uLW5hbWUsIGNsb3NlKTtcbiAgfVxuXG4gIEBpbmNsdWRlIHNiYi5pZi1mb3JjZWQtY29sb3JzIHtcbiAgICBvdXRsaW5lOiB2YXIoLS1zYmItYm9yZGVyLXdpZHRoLTF4KSBzb2xpZCBDYW52YXNUZXh0O1xuICB9XG5cbiAgQGluY2x1ZGUgc2JiLm1xKCRmcm9tOiBsYXJnZSkge1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IHVuc2V0O1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IHVuc2V0O1xuICAgIG1heC1oZWlnaHQ6IGZpdC1jb250ZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXNiYi1tZW51LWJvcmRlci1yYWRpdXMpO1xuXG4gICAgOmhvc3QoOm5vdCg6c3RhdGUoc3RhdGUtY2xvc2VkKSkpICYge1xuICAgICAgdG9wOiB2YXIoLS1zYmItbWVudS1wb3NpdGlvbi15LCAwKTtcbiAgICAgIGxlZnQ6IHZhcigtLXNiYi1tZW51LXBvc2l0aW9uLXgsIDApO1xuICAgICAgbWF4LWhlaWdodDogdmFyKC0tc2JiLW1lbnUtbWF4LWhlaWdodCk7XG4gICAgICBtaW4taGVpZ2h0OiB2YXIoLS1zYmItbWVudS1taW4taGVpZ2h0KTtcbiAgICB9XG4gIH1cbn1cblxuLnNiYi1tZW51X19jb250ZW50IHtcbiAgQGluY2x1ZGUgc2JiLnNjcm9sbGJhci1ydWxlcztcblxuICBtYXgtaGVpZ2h0OiB2YXIoLS1zYmItbWVudS1tYXgtaGVpZ2h0KTtcbiAgcGFkZGluZy1ibG9jazogdmFyKC0tc2JiLXNwYWNpbmctZml4ZWQtMXgpO1xuICBvdmVyZmxvdzogYXV0bztcbiAgb3V0bGluZTogbm9uZTtcblxuICAvLyBNYXJnaW4gYm90dG9tIGluIG1vYmlsZSB2YXJpYW50XG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTh4KTtcbiAgfVxuXG4gIEBpbmNsdWRlIHNiYi5tcSgkZnJvbTogbGFyZ2UpIHtcbiAgICBtYXgtaGVpZ2h0OiBmaXQtY29udGVudDtcblxuICAgIDpob3N0KDpub3QoOnN0YXRlKHN0YXRlLWNsb3NlZCkpKSAmIHtcbiAgICAgIG1heC1oZWlnaHQ6IHZhcigtLXNiYi1tZW51LW1heC1oZWlnaHQpO1xuICAgICAgbWluLWhlaWdodDogdmFyKC0tc2JiLW1lbnUtbWluLWhlaWdodCk7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuOjpzbG90dGVkKDppcyg6c3RhdGUoc2JiLWxpbmspLCA6c3RhdGUoc2JiLWJ1dHRvbikpKSB7XG4gIC8vIEFzIHRoZSBiYWNrZ3JvdW5kIHR1cm5zIHdoaXRlLCB3ZSBuZWVkIHRvIGVuc3VyZSB0aGF0IGJ1dHRvbnMgYW5kIGxpbmtzIGFyZSBkaXNwbGF5ZWQgaW4gcG9zaXRpdmUuXG4gIGNvbG9yLXNjaGVtZTogb25seSBsaWdodDtcbn1cblxuQGtleWZyYW1lcyBvcGVuIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2xhdGU6IDAgdmFyKC0tc2JiLW1lbnUtdHJhbnNmb3JtLXksIDEwMCUpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNsYXRlOiAwIDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBjbG9zZSB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNsYXRlOiAwIDA7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2xhdGU6IDAgdmFyKC0tc2JiLW1lbnUtdHJhbnNmb3JtLXksIDEwMCUpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgb3Blbi1zaWRld2F5cyB7XG4gIGZyb20ge1xuICAgIHRyYW5zbGF0ZTogMTAwJSAwO1xuICB9XG5cbiAgdG8ge1xuICAgIHRyYW5zbGF0ZTogMCAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgY2xvc2Utc2lkZXdheXMge1xuICBmcm9tIHtcbiAgICB0cmFuc2xhdGU6IDAgMDtcbiAgfVxuXG4gIHRvIHtcbiAgICB0cmFuc2xhdGU6IDEwMCUgMDtcbiAgfVxufVxuIiwiaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgaHRtbCxcbiAgaXNTZXJ2ZXIsXG4gIHR5cGUgUHJvcGVydHlEZWNsYXJhdGlvbixcbiAgdHlwZSBQcm9wZXJ0eVZhbHVlcyxcbiAgdHlwZSBUZW1wbGF0ZVJlc3VsdCxcbn0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgcmVmIH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvcmVmLmpzJztcblxuaW1wb3J0IHtcbiAgZ2V0TmV4dEVsZW1lbnRJbmRleCxcbiAgaW50ZXJhY3Rpdml0eUNoZWNrZXIsXG4gIGlzQXJyb3dLZXlPclBhZ2VLZXlzUHJlc3NlZCxcbiAgU2JiRm9jdXNUcmFwQ29udHJvbGxlcixcbn0gZnJvbSAnLi4vLi4vY29yZS9hMTF5LnRzJztcbmltcG9ydCB7IFNiYk9wZW5DbG9zZUJhc2VFbGVtZW50IH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlLWVsZW1lbnRzLnRzJztcbmltcG9ydCB7XG4gIFNiYkRhcmtNb2RlQ29udHJvbGxlcixcbiAgU2JiRXNjYXBhYmxlT3ZlcmxheUNvbnRyb2xsZXIsXG4gIFNiYkluZXJ0Q29udHJvbGxlcixcbiAgU2JiTGFuZ3VhZ2VDb250cm9sbGVyLFxuICBTYmJNZWRpYU1hdGNoZXJDb250cm9sbGVyLFxuICBTYmJNZWRpYVF1ZXJ5QnJlYWtwb2ludFNtYWxsQW5kQmVsb3csXG59IGZyb20gJy4uLy4uL2NvcmUvY29udHJvbGxlcnMudHMnO1xuaW1wb3J0IHsgaWRSZWZlcmVuY2UgfSBmcm9tICcuLi8uLi9jb3JlL2RlY29yYXRvcnMudHMnO1xuaW1wb3J0IHsgaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24sIFNiYlNjcm9sbEhhbmRsZXIgfSBmcm9tICcuLi8uLi9jb3JlL2RvbS50cyc7XG5pbXBvcnQgeyBmb3J3YXJkRXZlbnQgfSBmcm9tICcuLi8uLi9jb3JlL2V2ZW50aW5nLnRzJztcbmltcG9ydCB7IGkxOG5Hb0JhY2sgfSBmcm9tICcuLi8uLi9jb3JlL2kxOG4vaTE4bi50cyc7XG5pbXBvcnQgeyDJtXN0YXRlQ29udHJvbGxlciwgdHlwZSBTYmJOZWdhdGl2ZU1peGluVHlwZSB9IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLnRzJztcbmltcG9ydCB7XG4gIGdldEVsZW1lbnRQb3NpdGlvbixcbiAgZ2V0RWxlbWVudFBvc2l0aW9uSG9yaXpvbnRhbCxcbiAgaXNFdmVudE9uRWxlbWVudCxcbiAgcmVtb3ZlQXJpYU92ZXJsYXlUcmlnZ2VyQXR0cmlidXRlcyxcbiAgc2V0QXJpYU92ZXJsYXlUcmlnZ2VyQXR0cmlidXRlcyxcbn0gZnJvbSAnLi4vLi4vY29yZS9vdmVybGF5LnRzJztcbmltcG9ydCB7IGJveFNpemluZ1N0eWxlcyB9IGZyb20gJy4uLy4uL2NvcmUvc3R5bGVzLnRzJztcbmltcG9ydCB7IFNiYk1lbnVCdXR0b25FbGVtZW50IH0gZnJvbSAnLi4vbWVudS1idXR0b24vbWVudS1idXR0b24uY29tcG9uZW50LnRzJztcbmltcG9ydCB0eXBlIHsgU2JiTWVudUxpbmtFbGVtZW50IH0gZnJvbSAnLi4vbWVudS1saW5rL21lbnUtbGluay5jb21wb25lbnQudHMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9tZW51LnNjc3M/bGl0JmlubGluZSc7XG5cbmltcG9ydCAnLi4vLi4vZGl2aWRlci50cyc7XG5cblNiYk1lbnVCdXR0b25FbGVtZW50LmRlZmluZSgpO1xuXG5jb25zdCBNRU5VX09GRlNFVCA9IDg7XG5jb25zdCBORVNURURfTUVOVV9PRkZTRVQgPSAtNDtcbmNvbnN0IElOVEVSQUNUSVZFX0VMRU1FTlRTID0gW1xuICAnQScsXG4gICdCVVRUT04nLFxuICAnU0JCLUJVVFRPTicsXG4gICdTQkItQlVUVE9OLUxJTksnLFxuICAnU0JCLUxJTksnLFxuICAnU0JCLUJMT0NLLUxJTksnLFxuICAnU0JCLUxJTkstQlVUVE9OJyxcbiAgJ1NCQi1CTE9DSy1MSU5LLUJVVFRPTicsXG4gICdTQkItTUVOVS1CVVRUT04nLFxuICAnU0JCLU1FTlUtTElOSycsXG5dO1xuXG5sZXQgbmV4dElkID0gMDtcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBhIGNvbnRleHR1YWwgbWVudSB3aXRoIG9uZSBvciBtb3JlIGFjdGlvbiBlbGVtZW50LlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGBzYmItbWVudS1idXR0b25gL2BzYmItbWVudS1saW5rYCBvciBvdGhlciBlbGVtZW50cyB0byB0aGUgbWVudS5cbiAqIEBjc3Nwcm9wIFstLXNiYi1tZW51LXotaW5kZXg9dmFyKC0tc2JiLW92ZXJsYXktZGVmYXVsdC16LWluZGV4KV0gLSBUbyBzcGVjaWZ5IGEgY3VzdG9tIHN0YWNrIG9yZGVyLFxuICogdGhlIGB6LWluZGV4YCBjYW4gYmUgb3ZlcnJpZGRlbiBieSBkZWZpbmluZyB0aGlzIENTUyB2YXJpYWJsZS4gVGhlIGRlZmF1bHQgYHotaW5kZXhgIG9mIHRoZVxuICogY29tcG9uZW50IGlzIHNldCB0byBgdmFyKC0tc2JiLW92ZXJsYXktZGVmYXVsdC16LWluZGV4KWAgd2l0aCBhIHZhbHVlIG9mIGAxMDAwYC5cbiAqL1xuZXhwb3J0IGNsYXNzIFNiYk1lbnVFbGVtZW50IGV4dGVuZHMgU2JiT3BlbkNsb3NlQmFzZUVsZW1lbnQge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IGVsZW1lbnROYW1lOiBzdHJpbmcgPSAnc2JiLW1lbnUnO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbYm94U2l6aW5nU3R5bGVzLCBzdHlsZV07XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgcm9sZSA9ICdtZW51JztcblxuICAvKipcbiAgICogVGhlIGVsZW1lbnQgdGhhdCB3aWxsIHRyaWdnZXIgdGhlIG1lbnUgb3ZlcmxheS5cbiAgICpcbiAgICogRm9yIGF0dHJpYnV0ZSB1c2FnZSwgcHJvdmlkZSBhbiBpZCByZWZlcmVuY2UuXG4gICAqL1xuICBAaWRSZWZlcmVuY2UoKVxuICBAcHJvcGVydHkoKVxuICBwdWJsaWMgYWNjZXNzb3IgdHJpZ2dlcjogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcblxuICBwcml2YXRlIF9tZW51ITogSFRNTERpdkVsZW1lbnQ7XG4gIHByaXZhdGUgX3RyaWdnZXJFbGVtZW50OiBIVE1MRWxlbWVudCB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF90cmlnZ2VyQWJvcnRDb250cm9sbGVyITogQWJvcnRDb250cm9sbGVyO1xuICBwcml2YXRlIF9pc1BvaW50ZXJEb3duRXZlbnRPbk1lbnU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBfd2luZG93RXZlbnRzQ29udHJvbGxlciE6IEFib3J0Q29udHJvbGxlcjtcbiAgcHJpdmF0ZSBfZXNjYXBhYmxlT3ZlcmxheUNvbnRyb2xsZXIgPSBuZXcgU2JiRXNjYXBhYmxlT3ZlcmxheUNvbnRyb2xsZXIodGhpcyk7XG4gIHByaXZhdGUgX2ZvY3VzVHJhcENvbnRyb2xsZXIgPSBuZXcgU2JiRm9jdXNUcmFwQ29udHJvbGxlcih0aGlzKTtcbiAgcHJpdmF0ZSBfc2Nyb2xsSGFuZGxlciA9IG5ldyBTYmJTY3JvbGxIYW5kbGVyKCk7XG4gIHByaXZhdGUgX2luZXJ0Q29udHJvbGxlciA9IG5ldyBTYmJJbmVydENvbnRyb2xsZXIodGhpcyk7XG4gIHByaXZhdGUgX21vYmlsZUJyZWFrcG9pbnQgPSBTYmJNZWRpYVF1ZXJ5QnJlYWtwb2ludFNtYWxsQW5kQmVsb3c7XG4gIHByaXZhdGUgX21lZGlhTWF0Y2hlciA9IG5ldyBTYmJNZWRpYU1hdGNoZXJDb250cm9sbGVyKHRoaXMsIHtcbiAgICBbdGhpcy5fbW9iaWxlQnJlYWtwb2ludF06IChtYXRjaGVzKSA9PiB7XG4gICAgICBpZiAobWF0Y2hlcyAmJiAodGhpcy5zdGF0ZSA9PT0gJ29wZW5pbmcnIHx8IHRoaXMuc3RhdGUgPT09ICdvcGVuZWQnKSkge1xuICAgICAgICB0aGlzLl9zY3JvbGxIYW5kbGVyLmRpc2FibGVTY3JvbGwoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuX3Njcm9sbEhhbmRsZXIuZW5hYmxlU2Nyb2xsKCk7XG4gICAgICB9XG4gICAgfSxcbiAgfSk7XG4gIHByaXZhdGUgX2RhcmtNb2RlQ29udHJvbGxlciA9IG5ldyBTYmJEYXJrTW9kZUNvbnRyb2xsZXIodGhpcywgKCkgPT4gdGhpcy5fc3luY05lZ2F0aXZlKCkpO1xuICBwcml2YXRlIF9sYW5ndWFnZSA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG4gIHByaXZhdGUgX25lc3RlZE1lbnU6IFNiYk1lbnVFbGVtZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ2tleWRvd24nLCAoZSkgPT4gdGhpcy5faGFuZGxlS2V5RG93bihlKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICB0aGlzLl9jb25maWd1cmVUcmlnZ2VyKCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZXNjYXBlU3RyYXRlZ3koKTogdm9pZCB7XG4gICAgdGhpcy5jbG9zZUFsbCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIE9wZW5zIHRoZSBtZW51IG9uIHRyaWdnZXIgY2xpY2suXG4gICAqL1xuICBwdWJsaWMgb3BlbigpOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICB0aGlzLnN0YXRlID09PSAnY2xvc2luZycgfHxcbiAgICAgIHRoaXMuc3RhdGUgPT09ICdvcGVuZWQnIHx8XG4gICAgICAhdGhpcy5fbWVudSB8fFxuICAgICAgIXRoaXMuZGlzcGF0Y2hCZWZvcmVPcGVuRXZlbnQoKVxuICAgICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl9pc05lc3RlZCgpKSB7XG4gICAgICBjb25zdCBwYXJlbnRNZW51ID0gdGhpcy5fcGFyZW50TWVudSgpITtcbiAgICAgIHBhcmVudE1lbnUuaW50ZXJuYWxzLnN0YXRlcy5hZGQoJ25lc3RlZC1jaGlsZCcpO1xuXG4gICAgICAvLyBJbiBjYXNlIHdlIGNoYW5nZSBiZXR3ZWVuIGFycm93IGtleSBuYXZpZ2F0aW9uIGFuZCBtb3VzZSBuYXZpZ2F0aW9uLCBpdCBjYW4gYmUgdGhhdCBhbm90aGVyXG4gICAgICAvLyBuZXN0ZWQgcGFyZW50IG1lbnUgaXMgc3RpbGwgb3Blbi4gV2UgaGF2ZSB0byBjbG9zZSBpdC5cbiAgICAgIGlmIChwYXJlbnRNZW51Ll9uZXN0ZWRNZW51ICE9PSB0aGlzKSB7XG4gICAgICAgIHBhcmVudE1lbnUuX25lc3RlZE1lbnU/LmNsb3NlKCk7XG4gICAgICB9XG4gICAgICBwYXJlbnRNZW51Ll9uZXN0ZWRNZW51ID0gdGhpcztcbiAgICB9XG5cbiAgICB0aGlzLnNob3dQb3BvdmVyPy4oKTtcbiAgICB0aGlzLnN0YXRlID0gJ29wZW5pbmcnO1xuICAgIHRoaXMuX3NldE1lbnVQb3NpdGlvbigpO1xuICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50Py5zZXRBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnLCAndHJ1ZScpO1xuXG4gICAgLy8gRnJvbSB6ZXJvIHRvIGxhcmdlLCBkaXNhYmxlIHNjcm9sbFxuICAgIGlmICh0aGlzLl9pc01vYmlsZSgpKSB7XG4gICAgICB0aGlzLl9zY3JvbGxIYW5kbGVyLmRpc2FibGVTY3JvbGwoKTtcbiAgICB9XG5cbiAgICAvLyBJZiB0aGUgYW5pbWF0aW9uIGR1cmF0aW9uIGlzIHplcm8sIHRoZSBhbmltYXRpb25lbmQgZXZlbnQgaXMgbm90IGFsd2F5cyBmaXJlZCByZWxpYWJseS5cbiAgICAvLyBJbiB0aGlzIGNhc2Ugd2UgZGlyZWN0bHkgc2V0IHRoZSBgb3BlbmVkYCBzdGF0ZS5cbiAgICBpZiAodGhpcy5faXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKSkge1xuICAgICAgdGhpcy5faGFuZGxlT3BlbmluZygpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBDbG9zZXMgdGhlIG1lbnUgYW5kIGFsbCBpdHMgbmVzdGVkIG1lbnVzLiAqL1xuICBwdWJsaWMgY2xvc2UoKTogdm9pZCB7XG4gICAgdGhpcy5fY2xvc2UoKTtcbiAgfVxuXG4gIC8qKiBDbG9zZXMgdGhlIG1lbnUgYW5kIGFsbCByZWxhdGVkIG1lbnVzIChuZXN0ZWQgYW5kIHBhcmVudCBtZW51cykuICovXG4gIHB1YmxpYyBjbG9zZUFsbCgpOiB2b2lkIHtcbiAgICB0aGlzLl9tYWluTWVudSgpLl9jbG9zZSh0cnVlKTtcbiAgfVxuXG4gIC8qKiBAcGFyYW0gW2Nsb3NlQWxsPSdmYWxzZSddIC0gSWYgdHJ1ZSwgaXQgZW5zdXJlcyBhbmltYXRpb25zIGFyZSBjb3JyZWN0IGJ5IHRvZ2dsaW5nIHNvbWUgc3RhdGVzIHdoZW4gY2xvc2luZyBhbGwgcmVsYXRlZCBtZW51cyBhdCBvbmNlLiAqL1xuICBwcml2YXRlIF9jbG9zZShjbG9zZUFsbCA9IGZhbHNlKTogdm9pZCB7XG4gICAgaWYgKCh0aGlzLnN0YXRlID09PSAnb3BlbmluZycgJiYgIXRoaXMuX2lzTmVzdGVkKCkpIHx8ICF0aGlzLmRpc3BhdGNoQmVmb3JlQ2xvc2VFdmVudCgpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gQ2xvc2UgbmVzdGVkIG1lbnVzIGZpcnN0XG4gICAgdGhpcy5fbmVzdGVkTWVudT8uX2Nsb3NlKGNsb3NlQWxsKTtcblxuICAgIGlmICh0aGlzLl9pc05lc3RlZCgpKSB7XG4gICAgICBjb25zdCBwYXJlbnRNZW51ID0gdGhpcy5fcGFyZW50TWVudSgpITtcbiAgICAgIGlmIChjbG9zZUFsbCkge1xuICAgICAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuYWRkKCdjbG9zZS1hbGwnKTtcbiAgICAgICAgcGFyZW50TWVudS5pbnRlcm5hbHMuc3RhdGVzLmFkZCgnc2tpcC1hbmltYXRpb24nKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5kZWxldGUoJ2Nsb3NlLWFsbCcpO1xuICAgICAgICBwYXJlbnRNZW51LmludGVybmFscy5zdGF0ZXMuZGVsZXRlKCdza2lwLWFuaW1hdGlvbicpO1xuICAgICAgfVxuICAgICAgcGFyZW50TWVudS5pbnRlcm5hbHMuc3RhdGVzLmRlbGV0ZSgnbmVzdGVkLWNoaWxkJyk7XG4gICAgICBwYXJlbnRNZW51Ll9uZXN0ZWRNZW51ID0gbnVsbDtcbiAgICB9XG5cbiAgICB0aGlzLnN0YXRlID0gJ2Nsb3NpbmcnO1xuICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50Py5zZXRBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnLCAnZmFsc2UnKTtcblxuICAgIC8vIElmIHRoZSBhbmltYXRpb24gZHVyYXRpb24gaXMgemVybywgdGhlIGFuaW1hdGlvbmVuZCBldmVudCBpcyBub3QgYWx3YXlzIGZpcmVkIHJlbGlhYmx5LlxuICAgIC8vIEluIHRoaXMgY2FzZSB3ZSBkaXJlY3RseSBzZXQgdGhlIGBjbG9zZWRgIHN0YXRlLlxuICAgIGlmICh0aGlzLl9pc1plcm9BbmltYXRpb25EdXJhdGlvbigpKSB7XG4gICAgICB0aGlzLl9oYW5kbGVDbG9zaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKHRoaXMsICctLXNiYi1tZW51LWFuaW1hdGlvbi1kdXJhdGlvbicpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlT3BlbmluZygpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlID0gJ29wZW5lZCc7XG5cbiAgICBpZiAoIXRoaXMuX2lzTmVzdGVkKCkpIHtcbiAgICAgIHRoaXMuX2luZXJ0Q29udHJvbGxlci5hY3RpdmF0ZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl91cGRhdGVOZXN0ZWRJbmVydCgpO1xuICAgIH1cbiAgICB0aGlzLl9lc2NhcGFibGVPdmVybGF5Q29udHJvbGxlci5jb25uZWN0KCk7XG4gICAgdGhpcy5fZm9jdXNUcmFwQ29udHJvbGxlci5mb2N1c0luaXRpYWxFbGVtZW50KCk7XG4gICAgdGhpcy5fZm9jdXNUcmFwQ29udHJvbGxlci5lbmFibGVkID0gdHJ1ZTtcbiAgICB0aGlzLl9hdHRhY2hXaW5kb3dFdmVudHMoKTtcbiAgICB0aGlzLmRpc3BhdGNoT3BlbkV2ZW50KCk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVDbG9zaW5nKCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGUgPSAnY2xvc2VkJztcbiAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuZGVsZXRlKCdza2lwLWFuaW1hdGlvbicpO1xuICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5kZWxldGUoJ2Nsb3NlLWFsbCcpO1xuICAgIHRoaXMuaGlkZVBvcG92ZXI/LigpO1xuXG4gICAgdGhpcy5fbWVudT8uZmlyc3RFbGVtZW50Q2hpbGQ/LnNjcm9sbFRvKDAsIDApO1xuICAgIGlmICghdGhpcy5faXNOZXN0ZWQoKSkge1xuICAgICAgdGhpcy5faW5lcnRDb250cm9sbGVyLmRlYWN0aXZhdGUoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fdXBkYXRlTmVzdGVkSW5lcnQoKTtcbiAgICB9XG4gICAgLy8gTWFudWFsbHkgZm9jdXMgbGFzdCBmb2N1c2VkIGVsZW1lbnRcbiAgICB0aGlzLl90cmlnZ2VyRWxlbWVudD8uZm9jdXMoe1xuICAgICAgLy8gV2hlbiBpbnNpZGUgdGhlIHNiYi1oZWFkZXIsIHdlIHByZXZlbnQgdGhlIHNjcm9sbCB0byBhdm9pZCB0aGUgc25hcHBpbmcgdG8gdGhlIHRvcCBvZiB0aGUgcGFnZVxuICAgICAgcHJldmVudFNjcm9sbDogWydzYmItaGVhZGVyLWJ1dHRvbicsICdzYmItaGVhZGVyLWxpbmsnXS5pbmNsdWRlcyhcbiAgICAgICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQubG9jYWxOYW1lLFxuICAgICAgKSxcbiAgICB9KTtcbiAgICB0aGlzLl9lc2NhcGFibGVPdmVybGF5Q29udHJvbGxlci5kaXNjb25uZWN0KCk7XG4gICAgdGhpcy5kaXNwYXRjaENsb3NlRXZlbnQoKTtcbiAgICB0aGlzLl93aW5kb3dFdmVudHNDb250cm9sbGVyPy5hYm9ydCgpO1xuICAgIHRoaXMuX2ZvY3VzVHJhcENvbnRyb2xsZXIuZW5hYmxlZCA9IGZhbHNlO1xuXG4gICAgLy8gU3RhcnRpbmcgZnJvbSBicmVha3BvaW50IGxhcmdlLCBlbmFibGUgc2Nyb2xsXG4gICAgdGhpcy5fc2Nyb2xsSGFuZGxlci5lbmFibGVTY3JvbGwoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZUtleURvd24oZXZ0OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKCFpc0Fycm93S2V5T3JQYWdlS2V5c1ByZXNzZWQoZXZ0KSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBldnQucHJldmVudERlZmF1bHQoKTtcblxuICAgIGNvbnN0IGVuYWJsZWRBY3Rpb25zOiBFbGVtZW50W10gPSBBcnJheS5mcm9tKFxuICAgICAgdGhpcy5xdWVyeVNlbGVjdG9yQWxsPFNiYk1lbnVCdXR0b25FbGVtZW50IHwgU2JiTWVudUxpbmtFbGVtZW50PihcbiAgICAgICAgJ3NiYi1tZW51LWJ1dHRvbiwgc2JiLW1lbnUtbGluaycsXG4gICAgICApLFxuICAgIClcbiAgICAgIC5jb25jYXQodGhpcy5zaGFkb3dSb290IS5xdWVyeVNlbGVjdG9yKCdzYmItbWVudS1idXR0b24nKSEpXG4gICAgICAuZmlsdGVyKFxuICAgICAgICAoZWwpID0+ICghZWwuZGlzYWJsZWQgfHwgZWwuZGlzYWJsZWRJbnRlcmFjdGl2ZSkgJiYgaW50ZXJhY3Rpdml0eUNoZWNrZXIuaXNWaXNpYmxlKGVsKSxcbiAgICAgICk7XG4gICAgY29uc3QgY3VycmVudCA9IGVuYWJsZWRBY3Rpb25zLmZpbmRJbmRleCgoZTogRWxlbWVudCkgPT4gZSA9PT0gZXZ0LnRhcmdldCk7XG5cbiAgICBsZXQgbmV4dEluZGV4O1xuICAgIHN3aXRjaCAoZXZ0LmtleSkge1xuICAgICAgY2FzZSAnQXJyb3dVcCc6XG4gICAgICBjYXNlICdBcnJvd0Rvd24nOlxuICAgICAgICBuZXh0SW5kZXggPSBnZXROZXh0RWxlbWVudEluZGV4KGV2dCwgY3VycmVudCwgZW5hYmxlZEFjdGlvbnMubGVuZ3RoKTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgJ0Fycm93TGVmdCc6XG4gICAgICAgIGlmICh0aGlzLl9pc05lc3RlZCgpKSB7XG4gICAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICdBcnJvd1JpZ2h0JzpcbiAgICAgICAgaWYgKChldnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5tYXRjaGVzKCc6c3RhdGUoc2JiLW1lbnUtdHJpZ2dlciknKSkge1xuICAgICAgICAgIChldnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5jbGljaygpO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICdQYWdlVXAnOlxuICAgICAgY2FzZSAnSG9tZSc6XG4gICAgICAgIG5leHRJbmRleCA9IDA7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICdFbmQnOlxuICAgICAgY2FzZSAnUGFnZURvd24nOlxuICAgICAgICBuZXh0SW5kZXggPSBlbmFibGVkQWN0aW9ucy5sZW5ndGggLSAxO1xuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICBpZiAobmV4dEluZGV4ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIChlbmFibGVkQWN0aW9uc1tuZXh0SW5kZXhdIGFzIEhUTUxFbGVtZW50KS5mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlbW92ZXMgdHJpZ2dlciBjbGljayBsaXN0ZW5lciBvbiB0cmlnZ2VyIGNoYW5nZS5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGNyZWF0ZVJlbmRlclJvb3QoKTogSFRNTEVsZW1lbnQgfCBEb2N1bWVudEZyYWdtZW50IHtcbiAgICBjb25zdCByZW5kZXJSb290ID0gc3VwZXIuY3JlYXRlUmVuZGVyUm9vdCgpO1xuICAgIC8vIER1ZSB0byB0aGUgZmFjdCB0aGF0IG1lbnUgY2FuIGJvdGggYmUgYSBsaXN0IGFuZCBqdXN0IGEgY29udGFpbmVyLCB3ZSBuZWVkIHRvIGNoZWNrIGl0c1xuICAgIC8vIHN0YXRlIGJlZm9yZSB0aGUgU2JiTmFtZWRTbG90TGlzdE1peGluIGhhbmRsZXMgdGhlIHNsb3RjaGFuZ2UgZXZlbnQsIGluIG9yZGVyIHRvIGF2b2lkXG4gICAgLy8gaXQgaW50ZXJwcmV0aW5nIHRoZSBub24gbGlzdCBjYXNlIGFzIGEgbGlzdC5cbiAgICB0aGlzLnNoYWRvd1Jvb3Q/LmFkZEV2ZW50TGlzdGVuZXIoJ3Nsb3RjaGFuZ2UnLCAoKSA9PiB0aGlzLl9zeW5jTmVnYXRpdmUoKSwgeyBjYXB0dXJlOiB0cnVlIH0pO1xuICAgIHJldHVybiByZW5kZXJSb290O1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHRoaXMucG9wb3ZlciA9ICdtYW51YWwnO1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5pZCB8fD0gYHNiYi1tZW51LSR7bmV4dElkKyt9YDtcbiAgICBpZiAodGhpcy5oYXNVcGRhdGVkKSB7XG4gICAgICB0aGlzLl9jb25maWd1cmVUcmlnZ2VyKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQgPSBudWxsO1xuICAgIHRoaXMuX3RyaWdnZXJBYm9ydENvbnRyb2xsZXI/LmFib3J0KCk7XG4gICAgdGhpcy5fd2luZG93RXZlbnRzQ29udHJvbGxlcj8uYWJvcnQoKTtcbiAgICB0aGlzLl9zY3JvbGxIYW5kbGVyLmVuYWJsZVNjcm9sbCgpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIHJlcXVlc3RVcGRhdGUoXG4gICAgbmFtZT86IFByb3BlcnR5S2V5LFxuICAgIG9sZFZhbHVlPzogdW5rbm93bixcbiAgICBvcHRpb25zPzogUHJvcGVydHlEZWNsYXJhdGlvbixcbiAgKTogdm9pZCB7XG4gICAgc3VwZXIucmVxdWVzdFVwZGF0ZShuYW1lLCBvbGRWYWx1ZSwgb3B0aW9ucyk7XG5cbiAgICBpZiAoIWlzU2VydmVyICYmICghbmFtZSB8fCBuYW1lID09PSAndHJpZ2dlcicpICYmIHRoaXMuaGFzVXBkYXRlZCkge1xuICAgICAgdGhpcy5fY29uZmlndXJlVHJpZ2dlcigpO1xuICAgIH1cbiAgfVxuXG4gIC8vIENoZWNrIGlmIHRoZSB0cmlnZ2VyIGlzIHZhbGlkIGFuZCBhdHRhY2ggY2xpY2sgZXZlbnQgbGlzdGVuZXJzLlxuICBwcml2YXRlIF9jb25maWd1cmVUcmlnZ2VyKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnRyaWdnZXIgPT09IHRoaXMuX3RyaWdnZXJFbGVtZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fdHJpZ2dlckFib3J0Q29udHJvbGxlcj8uYWJvcnQoKTtcbiAgICByZW1vdmVBcmlhT3ZlcmxheVRyaWdnZXJBdHRyaWJ1dGVzKHRoaXMuX3RyaWdnZXJFbGVtZW50KTtcbiAgICB0aGlzLl90cmlnZ2VyRWxlbWVudCA9IHRoaXMudHJpZ2dlcjtcblxuICAgIGlmICghdGhpcy5fdHJpZ2dlckVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBzZXRBcmlhT3ZlcmxheVRyaWdnZXJBdHRyaWJ1dGVzKHRoaXMuX3RyaWdnZXJFbGVtZW50LCAnbWVudScsIHRoaXMuaWQsIHRoaXMuc3RhdGUpO1xuICAgIHRoaXMuX3RyaWdnZXJBYm9ydENvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG4gICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB0aGlzLm9wZW4oKSwge1xuICAgICAgc2lnbmFsOiB0aGlzLl90cmlnZ2VyQWJvcnRDb250cm9sbGVyLnNpZ25hbCxcbiAgICB9KTtcblxuICAgIC8vIENvbnNpZGVyIHRoZSBtZW51IGFzIG5lc3RlZCBpZiB0aGUgdHJpZ2dlciBpcyBhIG1lbnUgYnV0dG9uIG9yIG1lbnUgbGluay5cbiAgICB0aGlzLnRvZ2dsZVN0YXRlKFxuICAgICAgJ25lc3RlZCcsXG4gICAgICBbJ3NiYi1tZW51LWJ1dHRvbicsICdzYmItbWVudS1saW5rJ10uaW5jbHVkZXModGhpcy5fdHJpZ2dlckVsZW1lbnQubG9jYWxOYW1lKSxcbiAgICApO1xuICAgIMm1c3RhdGVDb250cm9sbGVyKHRoaXMuX3RyaWdnZXJFbGVtZW50KS5hZGQoJ3NiYi1tZW51LXRyaWdnZXInKTtcbiAgfVxuXG4gIHByaXZhdGUgX2F0dGFjaFdpbmRvd0V2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLl93aW5kb3dFdmVudHNDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsICgpID0+IHRoaXMuX3NldE1lbnVQb3NpdGlvbigpLCB7XG4gICAgICBwYXNzaXZlOiB0cnVlLFxuICAgICAgc2lnbmFsOiB0aGlzLl93aW5kb3dFdmVudHNDb250cm9sbGVyLnNpZ25hbCxcbiAgICAgIC8vIFdpdGhvdXQgY2FwdHVyZSwgb3RoZXIgc2Nyb2xsIGNvbnRleHRzIHdvdWxkIG5vdCBidWJibGUgdG8gdGhpcyBldmVudCBsaXN0ZW5lci5cbiAgICAgIC8vIENhcHR1cmUgYWxsb3dzIHVzIHRvIHJlYWN0IHRvIGFsbCBzY3JvbGwgY29udGV4dHMgaW4gdGhpcyBET00uXG4gICAgICBjYXB0dXJlOiB0cnVlLFxuICAgIH0pO1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCAoKSA9PiB0aGlzLl9zZXRNZW51UG9zaXRpb24oKSwge1xuICAgICAgcGFzc2l2ZTogdHJ1ZSxcbiAgICAgIHNpZ25hbDogdGhpcy5fd2luZG93RXZlbnRzQ29udHJvbGxlci5zaWduYWwsXG4gICAgfSk7XG5cbiAgICAvLyBPbmx5IHRoZSBvdXRlcm1vc3QgbWVudSBuZWVkcyB0byBsaXN0ZW4gdG8gdGhlIGJhY2tkcm9wIGNsaWNrc1xuICAgIGlmICghdGhpcy5faXNOZXN0ZWQoKSkge1xuICAgICAgLy8gQ2xvc2UgbWVudSBvbiBiYWNrZHJvcCBjbGlja1xuICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJkb3duJywgdGhpcy5fcG9pbnRlckRvd25MaXN0ZW5lciwge1xuICAgICAgICBzaWduYWw6IHRoaXMuX3dpbmRvd0V2ZW50c0NvbnRyb2xsZXIuc2lnbmFsLFxuICAgICAgfSk7XG4gICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncG9pbnRlcnVwJywgdGhpcy5fY2xvc2VPbkJhY2tkcm9wQ2xpY2ssIHtcbiAgICAgICAgc2lnbmFsOiB0aGlzLl93aW5kb3dFdmVudHNDb250cm9sbGVyLnNpZ25hbCxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8vIENsb3NlIG1lbnUgYXQgYW55IGNsaWNrIG9uIGFuIGludGVyYWN0aXZlIGVsZW1lbnQgaW5zaWRlIHRoZSA8c2JiLW1lbnU+IHRoYXQgYnViYmxlcyB0byB0aGUgY29udGFpbmVyLlxuICBwcml2YXRlIF9pbnRlcmFjdGl2ZUVsZW1lbnRDbGljayhldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XG5cbiAgICBpZiAoXG4gICAgICBJTlRFUkFDVElWRV9FTEVNRU5UUy5pbmNsdWRlcyh0YXJnZXQubm9kZU5hbWUpICYmXG4gICAgICAhdGFyZ2V0Lmhhc0F0dHJpYnV0ZSgnZGlzYWJsZWQnKSAmJlxuICAgICAgIXRhcmdldC5tYXRjaGVzKCc6c3RhdGUoc2JiLW1lbnUtdHJpZ2dlciknKSAmJlxuICAgICAgdGFyZ2V0LmlkICE9PSAnc2JiLW1lbnVfX2JhY2stYnV0dG9uJ1xuICAgICkge1xuICAgICAgdGhpcy5jbG9zZUFsbCgpO1xuICAgIH1cbiAgfVxuXG4gIC8vIENoZWNrIGlmIHRoZSBwb2ludGVyZG93biBldmVudCB0YXJnZXQgaXMgdHJpZ2dlcmVkIG9uIHRoZSBtZW51LlxuICBwcml2YXRlIF9wb2ludGVyRG93bkxpc3RlbmVyID0gKGV2ZW50OiBQb2ludGVyRXZlbnQpOiB2b2lkID0+IHtcbiAgICBjb25zdCBtZW51ID0gKGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCkuY2xvc2VzdCgnc2JiLW1lbnUnKTtcblxuICAgIC8vIFRoZSBwb2ludGVyIGRvd24gaXMgb24gdGhlIG1lbnUgb3Igb25lIG9mIGl0cyBuZXN0ZWQgbWVudXMuXG4gICAgdGhpcy5faXNQb2ludGVyRG93bkV2ZW50T25NZW51ID1cbiAgICAgIGlzRXZlbnRPbkVsZW1lbnQodGhpcy5fbWVudSwgZXZlbnQpIHx8IHRoaXMuX25lc3RlZE1lbnVzKCkuc29tZSgoZWwpID0+IG1lbnUgPT09IGVsKTtcbiAgfTtcblxuICAvLyBDbG9zZSBtZW51IG9uIGJhY2tkcm9wIGNsaWNrLlxuICBwcml2YXRlIF9jbG9zZU9uQmFja2Ryb3BDbGljayA9IChldmVudDogUG9pbnRlckV2ZW50KTogdm9pZCA9PiB7XG4gICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xuXG4gICAgLy8gVGhlIGJhY2tkcm9wIGlzIG9ubHkgbGlzdGVuZWQgb24gdGhlIG1haW4gbWVudSAob3V0ZXJtb3N0IG1lbnUpLlxuICAgIC8vIFRvIGNsb3NlLlxuICAgIC8vIC0gVGhlIHBvaW50ZXIgZG93biBhbmQgdXAgbmVlZCB0byBiZSBvdXRzaWRlIHRoZSBtZW51LlxuICAgIC8vIC0gVGhlIHRhcmdldCBzaG91bGQgYmUgbm90IG9uIGEgbmVzdGVkIG1lbnVcbiAgICBpZiAoXG4gICAgICAhdGhpcy5faXNQb2ludGVyRG93bkV2ZW50T25NZW51ICYmXG4gICAgICAhaXNFdmVudE9uRWxlbWVudCh0aGlzLl9tZW51LCBldmVudCkgJiZcbiAgICAgICF0aGlzLl9uZXN0ZWRNZW51cygpLnNvbWUoKGVsKSA9PiBlbCA9PT0gdGFyZ2V0KVxuICAgICkge1xuICAgICAgdGhpcy5jbG9zZUFsbCgpO1xuICAgIH1cbiAgfTtcblxuICAvKiogQ29udmVydHMgdGhlIGxpbmtlZCBsaXN0IGludG8gYW4gYXJyYXkgb2YgU2JiTWVudUVsZW1lbnQuICovXG4gIHByaXZhdGUgX25lc3RlZE1lbnVzKCk6IFNiYk1lbnVFbGVtZW50W10ge1xuICAgIGNvbnN0IG1lbnVzOiBTYmJNZW51RWxlbWVudFtdID0gW107XG4gICAgbGV0IGN1cnJlbnQgPSB0aGlzLl9uZXN0ZWRNZW51O1xuXG4gICAgd2hpbGUgKGN1cnJlbnQpIHtcbiAgICAgIG1lbnVzLnB1c2goY3VycmVudCk7XG4gICAgICBjdXJyZW50ID0gY3VycmVudC5fbmVzdGVkTWVudTtcbiAgICB9XG5cbiAgICByZXR1cm4gbWVudXM7XG4gIH1cblxuICBwcml2YXRlIF9wYXJlbnRNZW51KCk6IFNiYk1lbnVFbGVtZW50IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX3RyaWdnZXJFbGVtZW50Py5jbG9zZXN0KCdzYmItbWVudScpID8/IG51bGw7XG4gIH1cblxuICAvKiogVGhlIG91dGVybW9zdCBtZW51LiAqL1xuICBwcml2YXRlIF9tYWluTWVudSgpOiBTYmJNZW51RWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuX2lzTmVzdGVkKCkgPyAodGhpcy5fcGFyZW50TWVudSgpPy5fbWFpbk1lbnUoKSA/PyB0aGlzKSA6IHRoaXM7XG4gIH1cblxuICBwcml2YXRlIF9pc05lc3RlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLl9wYXJlbnRNZW51KCk7XG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVOZXN0ZWRJbmVydCgpOiB2b2lkIHtcbiAgICB0aGlzLl9pbmVydENvbnRyb2xsZXIucmVzdG9yZUFsbEV4ZW1wdGVkKCk7XG4gICAgdGhpcy5fbWFpbk1lbnUoKVxuICAgICAgLl9uZXN0ZWRNZW51cygpXG4gICAgICAuZm9yRWFjaCgobWVudSkgPT4gdGhpcy5faW5lcnRDb250cm9sbGVyLmV4ZW1wdChtZW51KSk7XG4gIH1cblxuICAvLyBDaGVjayBpZiBuZXN0ZWQgbWVudSBzaG91bGQgYmUgY2xvc2VkLlxuICBwcml2YXRlIF9oYW5kbGVNb3VzZU92ZXIoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBlbGVtZW50ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xuICAgIGNvbnN0IGlzTW9iaWxlID0gdGhpcy5faXNNb2JpbGUoKTtcblxuICAgIC8vIEFsbCBuZXN0ZWQgbWVudXMgc2hvdWxkIGNsb3NlIGluIGRlc2t0b3AgbW9kZSBpZiB0aGUgY3Vyc29yIGxhbmRlZCBvblxuICAgIC8vIGFueXRoaW5nIG90aGVyIHRoYW4gdGhlIGNvbnRhaW5lciwgdGhlIGNvbnRhaW5lcidzIHNjcm9sbGJhciBvciB0aGUgdHJpZ2dlciBpdHNlbGZcbiAgICBpZiAoXG4gICAgICAhaXNNb2JpbGUgJiZcbiAgICAgIHRoaXMuX25lc3RlZE1lbnUgJiZcbiAgICAgICFlbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygnc2JiLW1lbnVfX2NvbnRlbnQnKSAmJlxuICAgICAgIShlbGVtZW50LmdldEF0dHJpYnV0ZSgnYXJpYS1leHBhbmRlZCcpID09PSAndHJ1ZScpXG4gICAgKSB7XG4gICAgICB0aGlzLl9uZXN0ZWRNZW51LmNsb3NlKCk7XG4gICAgfVxuXG4gICAgaWYgKGVsZW1lbnQubWF0Y2hlcygnOnN0YXRlKHNiYi1tZW51LXRyaWdnZXIpJykgJiYgIWlzTW9iaWxlKSB7XG4gICAgICBlbGVtZW50LmNsaWNrKCk7XG4gICAgfVxuICB9XG5cbiAgLy8gU2V0IG1lbnUgcG9zaXRpb24gKHgsIHkpIHRvICcwJyBvbmNlIHRoZSBtZW51IGlzIGNsb3NlZCBhbmQgdGhlIHRyYW5zaXRpb24gZW5kZWQgdG8gcHJldmVudCB0aGVcbiAgLy8gdmlld3BvcnQgZnJvbSBvdmVyZmxvd2luZy4gQW5kIHNldCB0aGUgZm9jdXMgdG8gdGhlIGZpcnN0IGZvY3VzYWJsZSBlbGVtZW50IG9uY2UgdGhlIG1lbnUgaXMgb3Blbi5cbiAgLy8gSW4gcmFyZSBjYXNlcyBpdCBjYW4gYmUgdGhhdCB0aGUgYW5pbWF0aW9uRW5kIGV2ZW50IGlzIHRyaWdnZXJlZCB0d2ljZS5cbiAgLy8gVG8gYXZvaWQgZW50ZXJpbmcgYSBjb3JydXB0IHN0YXRlLCBleGl0IHdoZW4gc3RhdGUgaXMgbm90IGV4cGVjdGVkLlxuICBwcml2YXRlIF9vbk1lbnVBbmltYXRpb25FbmQoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KTogdm9pZCB7XG4gICAgaWYgKFxuICAgICAgKGV2ZW50LmFuaW1hdGlvbk5hbWUgPT09ICdvcGVuJyB8fCBldmVudC5hbmltYXRpb25OYW1lID09PSAnb3Blbi1zaWRld2F5cycpICYmXG4gICAgICB0aGlzLnN0YXRlID09PSAnb3BlbmluZydcbiAgICApIHtcbiAgICAgIHRoaXMuX2hhbmRsZU9wZW5pbmcoKTtcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgKGV2ZW50LmFuaW1hdGlvbk5hbWUgPT09ICdjbG9zZScgfHwgZXZlbnQuYW5pbWF0aW9uTmFtZSA9PT0gJ2Nsb3NlLXNpZGV3YXlzJykgJiZcbiAgICAgIHRoaXMuc3RhdGUgPT09ICdjbG9zaW5nJ1xuICAgICkge1xuICAgICAgdGhpcy5faGFuZGxlQ2xvc2luZygpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNldCBtZW51IHBvc2l0aW9uIGFuZCBtYXggaGVpZ2h0IGlmIHRoZSBicmVha3BvaW50IGlzIGxhcmdlLXVsdHJhLlxuICBwcml2YXRlIF9zZXRNZW51UG9zaXRpb24oKTogdm9pZCB7XG4gICAgLy8gU3RhcnRpbmcgZnJvbSBicmVha3BvaW50IGxhcmdlXG4gICAgaWYgKHRoaXMuX2lzTW9iaWxlKCkgfHwgIXRoaXMuX21lbnUgfHwgIXRoaXMuX3RyaWdnZXJFbGVtZW50IHx8IHRoaXMuc3RhdGUgPT09ICdjbG9zaW5nJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG1lbnVQb3NpdGlvbiA9ICF0aGlzLl9pc05lc3RlZCgpXG4gICAgICA/IGdldEVsZW1lbnRQb3NpdGlvbihcbiAgICAgICAgICB0aGlzLnNoYWRvd1Jvb3QhLnF1ZXJ5U2VsZWN0b3IoJy5zYmItbWVudV9fY29udGVudCcpISxcbiAgICAgICAgICB0aGlzLl90cmlnZ2VyRWxlbWVudCxcbiAgICAgICAgICB0aGlzLnNoYWRvd1Jvb3QhLnF1ZXJ5U2VsZWN0b3IoJy5zYmItbWVudV9fY29udGFpbmVyJykhLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHZlcnRpY2FsT2Zmc2V0OiBNRU5VX09GRlNFVCxcbiAgICAgICAgICB9LFxuICAgICAgICApXG4gICAgICA6IGdldEVsZW1lbnRQb3NpdGlvbkhvcml6b250YWwoXG4gICAgICAgICAgdGhpcy5zaGFkb3dSb290IS5xdWVyeVNlbGVjdG9yKCcuc2JiLW1lbnVfX2NvbnRlbnQnKSEsXG4gICAgICAgICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQsXG4gICAgICAgICAgdGhpcy5zaGFkb3dSb290IS5xdWVyeVNlbGVjdG9yKCcuc2JiLW1lbnVfX2NvbnRhaW5lcicpISxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBob3Jpem9udGFsT2Zmc2V0OiBNRU5VX09GRlNFVCxcbiAgICAgICAgICAgIHZlcnRpY2FsT2Zmc2V0OiBORVNURURfTUVOVV9PRkZTRVQsXG4gICAgICAgICAgICBjb250ZW50U2VsZWN0b3I6ICcuc2JiLW1lbnVfX2NvbnRlbnQnLFxuICAgICAgICAgIH0sXG4gICAgICAgICk7XG5cbiAgICB0aGlzLnN0eWxlLnNldFByb3BlcnR5KCctLXNiYi1tZW51LXBvc2l0aW9uLXgnLCBgJHttZW51UG9zaXRpb24ubGVmdH1weGApO1xuICAgIHRoaXMuc3R5bGUuc2V0UHJvcGVydHkoJy0tc2JiLW1lbnUtcG9zaXRpb24teScsIGAke21lbnVQb3NpdGlvbi50b3B9cHhgKTtcbiAgICB0aGlzLnN0eWxlLnNldFByb3BlcnR5KCctLXNiYi1tZW51LW1heC1oZWlnaHQnLCBtZW51UG9zaXRpb24ubWF4SGVpZ2h0KTtcbiAgfVxuXG4gIHByaXZhdGUgX3N5bmNOZWdhdGl2ZSgpOiB2b2lkIHtcbiAgICAvLyBMaW5rcyBhbmQgYnV0dG9ucyBhcmUgdGhlIG1vc3QgZXhwZWN0ZWQgY29udGVudHMgd2hpY2ggaGF2ZSBhIG5lZ2F0aXZlIHByb3BlcnR5XG4gICAgdGhpcy5xdWVyeVNlbGVjdG9yQWxsKCc6c3RhdGUoc2JiLWxpbmspLCA6c3RhdGUoc2JiLWJ1dHRvbiknKT8uZm9yRWFjaCgoZWw6IEVsZW1lbnQpID0+IHtcbiAgICAgIGN1c3RvbUVsZW1lbnRzLnVwZ3JhZGUoZWwpO1xuICAgICAgKGVsIGFzIEVsZW1lbnQgJiBTYmJOZWdhdGl2ZU1peGluVHlwZSkubmVnYXRpdmUgPSAhdGhpcy5fZGFya01vZGVDb250cm9sbGVyLm1hdGNoZXMoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2lzTW9iaWxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9tZWRpYU1hdGNoZXIubWF0Y2hlcyh0aGlzLl9tb2JpbGVCcmVha3BvaW50KSA/PyB0cnVlO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLW1lbnVfX2NvbnRhaW5lclwiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgQGFuaW1hdGlvbmVuZD0ke3RoaXMuX29uTWVudUFuaW1hdGlvbkVuZH1cbiAgICAgICAgICBAbW91c2VvdmVyPSR7KGU6IE1vdXNlRXZlbnQpID0+IHRoaXMuX2hhbmRsZU1vdXNlT3ZlcihlKX1cbiAgICAgICAgICBjbGFzcz1cInNiYi1tZW51XCJcbiAgICAgICAgICAke3JlZigoZWw/OiBFbGVtZW50KSA9PiAodGhpcy5fbWVudSA9IGVsIGFzIEhUTUxEaXZFbGVtZW50KSl9XG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBAY2xpY2s9JHsoZXZlbnQ6IEV2ZW50KSA9PiB0aGlzLl9pbnRlcmFjdGl2ZUVsZW1lbnRDbGljayhldmVudCl9XG4gICAgICAgICAgICBAc2Nyb2xsPSR7KGU6IEV2ZW50KSA9PiBmb3J3YXJkRXZlbnQoZSwgZG9jdW1lbnQpfVxuICAgICAgICAgICAgY2xhc3M9XCJzYmItbWVudV9fY29udGVudFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHNsb3Q+PC9zbG90PlxuICAgICAgICAgICAgPHNiYi1kaXZpZGVyPjwvc2JiLWRpdmlkZXI+XG4gICAgICAgICAgICA8c2JiLW1lbnUtYnV0dG9uXG4gICAgICAgICAgICAgIGlkPVwic2JiLW1lbnVfX2JhY2stYnV0dG9uXCJcbiAgICAgICAgICAgICAgQGNsaWNrPSR7KCkgPT4gdGhpcy5jbG9zZSgpfVxuICAgICAgICAgICAgICBpY29uLW5hbWU9XCJjaGV2cm9uLXNtYWxsLWxlZnQtc21hbGxcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAke2kxOG5Hb0JhY2tbdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF19XG4gICAgICAgICAgICA8L3NiYi1tZW51LWJ1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItbWVudSc6IFNiYk1lbnVFbGVtZW50O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDOENBLHFCQUFxQixRQUFRO0FBRTdCLElBQU0sY0FBYztBQUNwQixJQUFNLHFCQUFxQjtBQUMzQixJQUFNLHVCQUF1QjtDQUMzQjtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNEO0FBRUQsSUFBSSxTQUFTOzs7Ozs7Ozs7SUFVQSx3QkFBYzttQkFBUzs7OztjQUF2Qix1QkFBdUIsWUFBdUI7OzswQkFVeEQsYUFBYSxFQUNiLFVBQVUsQ0FBQTtBQUNYLGdCQUFBLE1BQUEsTUFBQSxxQkFBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLGFBQUE7S0FBQSxNQUFBLFFBQUEsSUFBZ0I7S0FBTyxNQUFBLEtBQUEsVUFBQTtBQUFBLFVBQVAsVUFBTzs7S0FBQTtJQUFBLFVBQUE7SUFBQSxFQUFBLHVCQUFBLDJCQUFBOzs7Ozs7Ozs7QUFYUyxRQUFBLGNBQXNCOzs7QUFD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