@sbb-esta/lyne-elements 4.7.0 → 4.8.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 (2467) hide show
  1. package/accordion/accordion.component.js +2 -97
  2. package/accordion.component-DmaGQH3Q.js +127 -0
  3. package/accordion.js +6 -4
  4. package/accordion.pure.js +2 -0
  5. package/action-group/action-group.component.js +2 -106
  6. package/action-group.component-KWugkMGf.js +158 -0
  7. package/action-group.js +6 -4
  8. package/action-group.pure.js +2 -0
  9. package/alert/alert/alert.component.js +2 -143
  10. package/alert/alert-group/alert-group.component.js +2 -103
  11. package/alert/alert-group.js +4 -4
  12. package/alert/alert.js +4 -4
  13. package/alert-group.component-RV1M1OKy.js +141 -0
  14. package/alert.component-PPR7hfTi.js +165 -0
  15. package/alert.js +6 -6
  16. package/alert.pure.js +3 -0
  17. package/autocomplete/autocomplete-base-element.js +2 -371
  18. package/autocomplete/autocomplete.component.js +51 -58
  19. package/autocomplete-base-element-DVFCZ4lt.js +425 -0
  20. package/autocomplete.js +6 -5
  21. package/autocomplete.pure.js +3 -0
  22. package/block-link-common-BMTrbSfi.js +63 -0
  23. package/breadcrumb/breadcrumb/breadcrumb.component.js +2 -29
  24. package/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +2 -134
  25. package/breadcrumb/breadcrumb-group.js +4 -4
  26. package/breadcrumb/breadcrumb.js +4 -4
  27. package/breadcrumb-group.component-CfUyO1sI.js +145 -0
  28. package/breadcrumb.component-DjkZzGJD.js +24 -0
  29. package/breadcrumb.js +6 -6
  30. package/breadcrumb.pure.js +3 -0
  31. package/button/accent-button/accent-button.component.js +18 -21
  32. package/button/accent-button-link/accent-button-link.component.js +18 -21
  33. package/button/accent-button-link.js +6 -4
  34. package/button/accent-button-static/accent-button-static.component.js +18 -21
  35. package/button/accent-button-static.js +6 -4
  36. package/button/accent-button.js +6 -4
  37. package/button/button/button.component.js +18 -21
  38. package/button/button-link/button-link.component.js +18 -21
  39. package/button/button-link.js +6 -4
  40. package/button/button-static/button-static.component.js +18 -21
  41. package/button/button-static.js +6 -4
  42. package/button/button.js +6 -4
  43. package/button/common/button-common.js +81 -67
  44. package/button/common.js +3 -12
  45. package/button/mini-button/mini-button.component.js +23 -26
  46. package/button/mini-button-group/mini-button-group.component.js +2 -67
  47. package/button/mini-button-group.js +6 -4
  48. package/button/mini-button-link/mini-button-link.component.js +2 -35
  49. package/button/mini-button-link.js +6 -4
  50. package/button/mini-button.js +6 -4
  51. package/button/secondary-button/secondary-button.component.js +18 -21
  52. package/button/secondary-button-link/secondary-button-link.component.js +18 -21
  53. package/button/secondary-button-link.js +6 -4
  54. package/button/secondary-button-static/secondary-button-static.component.js +18 -21
  55. package/button/secondary-button-static.js +6 -4
  56. package/button/secondary-button.js +6 -4
  57. package/button/transparent-button/transparent-button.component.js +18 -21
  58. package/button/transparent-button-link/transparent-button-link.component.js +18 -21
  59. package/button/transparent-button-link.js +5 -3
  60. package/button/transparent-button-static/transparent-button-static.component.js +18 -21
  61. package/button/transparent-button-static.js +6 -4
  62. package/button/transparent-button.js +6 -4
  63. package/button.js +21 -42
  64. package/button.pure.js +18 -0
  65. package/calendar/calendar/calendar.component.js +2 -1226
  66. package/calendar/calendar-day/calendar-day.component.js +2 -98
  67. package/calendar/calendar-day.js +4 -4
  68. package/calendar/calendar-month/calendar-month.component.js +84 -0
  69. package/calendar/calendar-month.js +4 -0
  70. package/calendar/calendar-weekday/calendar-weekday.component.js +54 -0
  71. package/calendar/calendar-weekday.js +4 -0
  72. package/calendar/calendar-weeknumber/calendar-weeknumber.component.js +56 -0
  73. package/calendar/calendar-weeknumber.js +4 -0
  74. package/calendar/calendar-year/calendar-year.component.js +80 -0
  75. package/calendar/calendar-year.js +4 -0
  76. package/calendar/calendar.js +4 -5
  77. package/calendar/common/calendar-cell-base-element.js +23 -0
  78. package/calendar/common.js +6 -0
  79. package/calendar-day.component-Iewo-vBR.js +109 -0
  80. package/calendar.component-Cz-OGQu6.js +1162 -0
  81. package/calendar.js +10 -7
  82. package/calendar.pure.js +7 -0
  83. package/card/card/card.component.js +2 -48
  84. package/card/card-badge/card-badge.component.js +2 -48
  85. package/card/card-badge.js +4 -4
  86. package/card/card-button/card-button.component.js +12 -18
  87. package/card/card-button.js +4 -4
  88. package/card/card-link/card-link.component.js +12 -18
  89. package/card/card-link.js +4 -4
  90. package/card/card.js +4 -4
  91. package/card/common/card-action-common.js +2 -63
  92. package/card/common.js +5 -4
  93. package/card-action-common-GpkaNYtV.js +88 -0
  94. package/card-badge.component-D_PI9Ega.js +65 -0
  95. package/card.component-Dt2YFmd3.js +62 -0
  96. package/card.js +9 -12
  97. package/card.pure.js +6 -0
  98. package/carousel/carousel/carousel.component.js +2 -88
  99. package/carousel/carousel-item/carousel-item.component.js +2 -26
  100. package/carousel/carousel-item.js +4 -4
  101. package/carousel/carousel-list/carousel-list.component.js +2 -98
  102. package/carousel/carousel-list.js +4 -4
  103. package/carousel/carousel.js +4 -4
  104. package/carousel-item.component-kv3rY8B-.js +25 -0
  105. package/carousel-list.component-DMMk66SP.js +91 -0
  106. package/carousel.component-BA0V2JHI.js +97 -0
  107. package/carousel.js +7 -8
  108. package/carousel.pure.js +4 -0
  109. package/checkbox/checkbox-group.js +4 -4
  110. package/checkbox/checkbox-panel.js +4 -4
  111. package/checkbox/checkbox.component.js +3 -0
  112. package/checkbox/checkbox.js +5 -4
  113. package/checkbox/common/checkbox-common.js +2 -54
  114. package/checkbox/common.js +5 -6
  115. package/checkbox-common-J-7Y966k.js +68 -0
  116. package/checkbox-group/checkbox-group.component.js +20 -0
  117. package/checkbox-group.js +6 -0
  118. package/checkbox-group.pure.js +2 -0
  119. package/checkbox-panel/checkbox-panel.component.js +91 -0
  120. package/checkbox-panel.js +6 -0
  121. package/checkbox-panel.pure.js +2 -0
  122. package/checkbox.component-Bazdxs9R.js +125 -0
  123. package/checkbox.js +10 -12
  124. package/checkbox.pure.js +3 -0
  125. package/chip/chip/chip.component.js +2 -72
  126. package/chip/chip-group/chip-group.component.js +2 -252
  127. package/chip/chip-group.js +4 -4
  128. package/chip/chip.js +4 -4
  129. package/chip-group.component-CbruCoHR.js +290 -0
  130. package/chip-label/chip-label.component.js +2 -55
  131. package/chip-label.component-D9AZdMSJ.js +80 -0
  132. package/chip-label.js +6 -4
  133. package/chip-label.pure.js +2 -0
  134. package/chip.component-DMB36gvC.js +94 -0
  135. package/chip.js +6 -6
  136. package/chip.pure.js +3 -0
  137. package/clock/clock.component.js +2 -153
  138. package/clock.component-gZJy4AU4.js +148 -0
  139. package/clock.js +6 -4
  140. package/clock.pure.js +2 -0
  141. package/common-CI_BB6sF.js +5 -0
  142. package/compact-paginator.component-BK7xj9tc.js +45 -0
  143. package/container/container/container.component.js +2 -75
  144. package/container/container.js +4 -4
  145. package/container/sticky-bar/sticky-bar.component.js +2 -121
  146. package/container/sticky-bar.js +4 -4
  147. package/container.component-C-jpJN2k.js +117 -0
  148. package/container.js +6 -6
  149. package/container.pure.js +3 -0
  150. package/core/a11y/arrow-navigation.js +45 -33
  151. package/core/a11y/fake-event-detection.js +8 -9
  152. package/core/a11y/focus-trap-controller.js +69 -91
  153. package/core/a11y/focus-visible-within-controller.js +18 -18
  154. package/core/a11y/focus.js +13 -13
  155. package/core/a11y/input-modality-detector.js +42 -47
  156. package/core/a11y/interactivity-checker.js +61 -96
  157. package/core/a11y/live-announcer.js +29 -40
  158. package/core/a11y.js +9 -26
  159. package/core/base-elements/action-base-element.js +30 -38
  160. package/core/base-elements/button-base-element.js +165 -145
  161. package/core/base-elements/element.js +29 -0
  162. package/core/base-elements/link-base-element.js +186 -118
  163. package/core/base-elements/open-close-base-element.js +40 -43
  164. package/core/base-elements/selection-group-base-element.js +2 -0
  165. package/core/base-elements.js +7 -11
  166. package/core/config/config.js +8 -9
  167. package/core/config.js +2 -5
  168. package/core/controllers/escapable-overlay-controller.js +23 -25
  169. package/core/controllers/id-reference-controller.js +50 -59
  170. package/core/controllers/inert-controller.js +55 -57
  171. package/core/controllers/language-controller.js +53 -38
  172. package/core/controllers/media-matchers-controller.js +82 -96
  173. package/core/controllers/overlay-position-controller.js +215 -222
  174. package/core/controllers/property-watcher-controller.js +55 -59
  175. package/core/controllers/slot-state-controller.js +34 -36
  176. package/core/controllers.js +7 -28
  177. package/core/datetime/date-adapter.js +61 -135
  178. package/core/datetime/native-date-adapter.js +91 -140
  179. package/core/datetime/temporal-date-adapter.js +108 -144
  180. package/core/datetime.js +4 -16
  181. package/core/decorators/base.js +0 -1
  182. package/core/decorators/force-type.js +12 -16
  183. package/core/decorators/get-override.js +10 -13
  184. package/core/decorators/handle-distinct-change.js +12 -15
  185. package/core/decorators/host-attributes.js +15 -16
  186. package/core/decorators/id-reference.js +65 -75
  187. package/core/decorators/omit-empty-converter.js +7 -9
  188. package/core/decorators/plain-date.js +21 -25
  189. package/core/decorators.js +8 -17
  190. package/core/dom/animation.js +8 -9
  191. package/core/dom/contains-pierce-shadow-dom.js +10 -11
  192. package/core/dom/lean-context.js +4 -4
  193. package/core/dom/platform.js +8 -18
  194. package/core/dom/queue-dom-content-loaded.js +6 -6
  195. package/core/dom/scroll.js +14 -16
  196. package/core/dom/set-or-remove-attribute.js +5 -5
  197. package/core/dom.js +6 -25
  198. package/core/eventing/composed-path-has-attribute.js +6 -7
  199. package/core/eventing/event-target.js +5 -5
  200. package/core/eventing/form-element-handlers.js +5 -5
  201. package/core/eventing/forward-event.js +6 -6
  202. package/core/eventing/is-event-prevented.js +5 -5
  203. package/core/eventing/throttle.js +10 -10
  204. package/core/eventing.js +7 -14
  205. package/core/i18n/i18n.js +634 -738
  206. package/core/i18n.js +2 -104
  207. package/core/images.js +14 -14
  208. package/core/interfaces.js +0 -1
  209. package/core/mixins/animation-complete-mixin.js +34 -42
  210. package/core/mixins/constructor.js +0 -1
  211. package/core/mixins/disabled-mixin.js +91 -74
  212. package/core/mixins/element-internals-mixin.js +149 -155
  213. package/core/mixins/form-associated-checkbox-mixin.js +106 -90
  214. package/core/mixins/form-associated-input-mixin.js +202 -190
  215. package/core/mixins/form-associated-mixin.js +168 -226
  216. package/core/mixins/form-associated-radio-button-mixin.js +152 -165
  217. package/core/mixins/hydration-mixin.js +27 -37
  218. package/core/mixins/named-slot-list-mixin.js +75 -90
  219. package/core/mixins/negative-mixin.js +45 -33
  220. package/core/mixins/panel-mixin.js +109 -70
  221. package/core/mixins/readonly-mixin.js +40 -34
  222. package/core/mixins/required-mixin.js +48 -35
  223. package/core/mixins/selection-panel-mixin.js +36 -38
  224. package/core/mixins/update-scheduler-mixin.js +20 -21
  225. package/core/mixins.js +21 -41
  226. package/core/overlay/overlay-option-panel.js +15 -16
  227. package/core/overlay/overlay-outside-pointer-event-listener.js +34 -37
  228. package/core/overlay/overlay-trigger-attributes.js +11 -14
  229. package/core/overlay/overlay.js +6 -6
  230. package/core/overlay/position.js +53 -49
  231. package/core/overlay.js +6 -19
  232. package/core/styles/core.scss +114 -221
  233. package/core/styles.js +5 -5
  234. package/core/testing/event-spy.js +46 -50
  235. package/core/testing/mocha-extensions.js +7 -10
  236. package/core/testing/wait-for-condition.js +10 -12
  237. package/core/testing/wait-for-image-ready.js +15 -16
  238. package/core/testing/wait-for-render.js +12 -13
  239. package/core/testing.js +6 -14
  240. package/core.css +324 -241
  241. package/custom-elements.json +56123 -36439
  242. package/date-input/date-input.component.js +2 -165
  243. package/date-input.component-Da-aS3jt.js +205 -0
  244. package/date-input.js +6 -4
  245. package/date-input.pure.js +2 -0
  246. package/datepicker/common/datepicker-button.js +2 -100
  247. package/datepicker/common.js +5 -7
  248. package/datepicker/datepicker/datepicker.component.js +2 -120
  249. package/datepicker/datepicker-next-day/datepicker-next-day.component.js +28 -31
  250. package/datepicker/datepicker-next-day.js +4 -4
  251. package/datepicker/datepicker-previous-day/datepicker-previous-day.component.js +28 -31
  252. package/datepicker/datepicker-previous-day.js +4 -4
  253. package/datepicker/datepicker-toggle/datepicker-toggle.component.js +66 -51
  254. package/datepicker/datepicker-toggle.js +4 -4
  255. package/datepicker/datepicker.js +4 -4
  256. package/datepicker-button-Dk2UQkPN.js +109 -0
  257. package/datepicker.component-DUVgoAGU.js +156 -0
  258. package/datepicker.js +9 -15
  259. package/datepicker.pure.js +6 -0
  260. package/development/accordion/accordion.component.d.ts +4 -4
  261. package/development/accordion/accordion.component.d.ts.map +1 -1
  262. package/development/accordion/accordion.component.js +2 -138
  263. package/development/accordion.component-BIFcgIa0.js +172 -0
  264. package/development/accordion.d.ts +1 -4
  265. package/development/accordion.d.ts.map +1 -1
  266. package/development/accordion.js +9 -5
  267. package/development/accordion.pure.d.ts +3 -0
  268. package/development/accordion.pure.d.ts.map +1 -0
  269. package/development/accordion.pure.js +2 -0
  270. package/development/action-group/action-group.component.d.ts +5 -3
  271. package/development/action-group/action-group.component.d.ts.map +1 -1
  272. package/development/action-group/action-group.component.js +2 -311
  273. package/development/action-group.component-CuhO6yb9.js +379 -0
  274. package/development/action-group.d.ts +1 -4
  275. package/development/action-group.d.ts.map +1 -1
  276. package/development/action-group.js +9 -5
  277. package/development/action-group.pure.d.ts +3 -0
  278. package/development/action-group.pure.d.ts.map +1 -0
  279. package/development/action-group.pure.js +2 -0
  280. package/development/alert/alert/alert.component.d.ts +1 -0
  281. package/development/alert/alert/alert.component.d.ts.map +1 -1
  282. package/development/alert/alert/alert.component.js +2 -392
  283. package/development/alert/alert-group/alert-group.component.d.ts +4 -4
  284. package/development/alert/alert-group/alert-group.component.d.ts.map +1 -1
  285. package/development/alert/alert-group/alert-group.component.js +2 -173
  286. package/development/alert/alert-group.d.ts +0 -3
  287. package/development/alert/alert-group.d.ts.map +1 -1
  288. package/development/alert/alert-group.js +10 -5
  289. package/development/alert/alert.d.ts +0 -3
  290. package/development/alert/alert.d.ts.map +1 -1
  291. package/development/alert/alert.js +10 -5
  292. package/development/alert-group.component-BlrlsRB8.js +219 -0
  293. package/development/alert.component-CJ2yLyOY.js +411 -0
  294. package/development/alert.d.ts +1 -5
  295. package/development/alert.d.ts.map +1 -1
  296. package/development/alert.js +11 -7
  297. package/development/alert.pure.d.ts +4 -0
  298. package/development/alert.pure.d.ts.map +1 -0
  299. package/development/alert.pure.js +3 -0
  300. package/development/autocomplete/autocomplete-base-element.d.ts +1 -1
  301. package/development/autocomplete/autocomplete-base-element.d.ts.map +1 -1
  302. package/development/autocomplete/autocomplete-base-element.js +2 -894
  303. package/development/autocomplete/autocomplete.component.d.ts +1 -0
  304. package/development/autocomplete/autocomplete.component.d.ts.map +1 -1
  305. package/development/autocomplete/autocomplete.component.js +82 -85
  306. package/development/autocomplete-base-element-DCfmuVY6.js +960 -0
  307. package/development/autocomplete.d.ts +1 -5
  308. package/development/autocomplete.d.ts.map +1 -1
  309. package/development/autocomplete.js +9 -6
  310. package/development/autocomplete.pure.d.ts +4 -0
  311. package/development/autocomplete.pure.d.ts.map +1 -0
  312. package/development/autocomplete.pure.js +3 -0
  313. package/development/block-link-common-CjBLu4BU.js +145 -0
  314. package/development/breadcrumb/breadcrumb/breadcrumb.component.d.ts +2 -1
  315. package/development/breadcrumb/breadcrumb/breadcrumb.component.d.ts.map +1 -1
  316. package/development/breadcrumb/breadcrumb/breadcrumb.component.js +2 -91
  317. package/development/breadcrumb/breadcrumb-group/breadcrumb-group.component.d.ts +5 -3
  318. package/development/breadcrumb/breadcrumb-group/breadcrumb-group.component.d.ts.map +1 -1
  319. package/development/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +2 -269
  320. package/development/breadcrumb/breadcrumb-group.d.ts +0 -3
  321. package/development/breadcrumb/breadcrumb-group.d.ts.map +1 -1
  322. package/development/breadcrumb/breadcrumb-group.js +10 -5
  323. package/development/breadcrumb/breadcrumb.d.ts +0 -3
  324. package/development/breadcrumb/breadcrumb.d.ts.map +1 -1
  325. package/development/breadcrumb/breadcrumb.js +10 -5
  326. package/development/breadcrumb-group.component-zU06d9ni.js +279 -0
  327. package/development/breadcrumb.component-DvOf-PiO.js +89 -0
  328. package/development/breadcrumb.d.ts +1 -5
  329. package/development/breadcrumb.d.ts.map +1 -1
  330. package/development/breadcrumb.js +11 -7
  331. package/development/breadcrumb.pure.d.ts +4 -0
  332. package/development/breadcrumb.pure.d.ts.map +1 -0
  333. package/development/breadcrumb.pure.js +3 -0
  334. package/development/button/accent-button/accent-button.component.d.ts +1 -0
  335. package/development/button/accent-button/accent-button.component.d.ts.map +1 -1
  336. package/development/button/accent-button/accent-button.component.js +24 -26
  337. package/development/button/accent-button-link/accent-button-link.component.d.ts +1 -0
  338. package/development/button/accent-button-link/accent-button-link.component.d.ts.map +1 -1
  339. package/development/button/accent-button-link/accent-button-link.component.js +24 -26
  340. package/development/button/accent-button-link.d.ts +0 -3
  341. package/development/button/accent-button-link.d.ts.map +1 -1
  342. package/development/button/accent-button-link.js +8 -4
  343. package/development/button/accent-button-static/accent-button-static.component.d.ts +1 -0
  344. package/development/button/accent-button-static/accent-button-static.component.d.ts.map +1 -1
  345. package/development/button/accent-button-static/accent-button-static.component.js +24 -26
  346. package/development/button/accent-button-static.d.ts +0 -3
  347. package/development/button/accent-button-static.d.ts.map +1 -1
  348. package/development/button/accent-button-static.js +8 -4
  349. package/development/button/accent-button.d.ts +0 -3
  350. package/development/button/accent-button.d.ts.map +1 -1
  351. package/development/button/accent-button.js +8 -4
  352. package/development/button/button/button.component.d.ts +1 -0
  353. package/development/button/button/button.component.d.ts.map +1 -1
  354. package/development/button/button/button.component.js +23 -25
  355. package/development/button/button-link/button-link.component.d.ts +1 -0
  356. package/development/button/button-link/button-link.component.d.ts.map +1 -1
  357. package/development/button/button-link/button-link.component.js +23 -25
  358. package/development/button/button-link.d.ts +0 -3
  359. package/development/button/button-link.d.ts.map +1 -1
  360. package/development/button/button-link.js +8 -4
  361. package/development/button/button-static/button-static.component.d.ts +1 -0
  362. package/development/button/button-static/button-static.component.d.ts.map +1 -1
  363. package/development/button/button-static/button-static.component.js +23 -25
  364. package/development/button/button-static.d.ts +0 -3
  365. package/development/button/button-static.d.ts.map +1 -1
  366. package/development/button/button-static.js +8 -4
  367. package/development/button/button.d.ts +0 -3
  368. package/development/button/button.d.ts.map +1 -1
  369. package/development/button/button.js +8 -4
  370. package/development/button/common/button-common.js +104 -85
  371. package/development/button/common.d.ts +1 -3
  372. package/development/button/common.d.ts.map +1 -1
  373. package/development/button/common.js +2 -12
  374. package/development/button/mini-button/mini-button.component.d.ts +1 -0
  375. package/development/button/mini-button/mini-button.component.d.ts.map +1 -1
  376. package/development/button/mini-button/mini-button.component.js +28 -30
  377. package/development/button/mini-button-group/mini-button-group.component.d.ts +4 -2
  378. package/development/button/mini-button-group/mini-button-group.component.d.ts.map +1 -1
  379. package/development/button/mini-button-group/mini-button-group.component.js +2 -147
  380. package/development/button/mini-button-group.d.ts +0 -3
  381. package/development/button/mini-button-group.d.ts.map +1 -1
  382. package/development/button/mini-button-group.js +9 -5
  383. package/development/button/mini-button-link/mini-button-link.component.d.ts +1 -0
  384. package/development/button/mini-button-link/mini-button-link.component.d.ts.map +1 -1
  385. package/development/button/mini-button-link/mini-button-link.component.js +2 -47
  386. package/development/button/mini-button-link.d.ts +0 -3
  387. package/development/button/mini-button-link.d.ts.map +1 -1
  388. package/development/button/mini-button-link.js +9 -5
  389. package/development/button/mini-button.d.ts +0 -3
  390. package/development/button/mini-button.d.ts.map +1 -1
  391. package/development/button/mini-button.js +8 -4
  392. package/development/button/secondary-button/secondary-button.component.d.ts +1 -0
  393. package/development/button/secondary-button/secondary-button.component.d.ts.map +1 -1
  394. package/development/button/secondary-button/secondary-button.component.js +23 -25
  395. package/development/button/secondary-button-link/secondary-button-link.component.d.ts +1 -0
  396. package/development/button/secondary-button-link/secondary-button-link.component.d.ts.map +1 -1
  397. package/development/button/secondary-button-link/secondary-button-link.component.js +23 -25
  398. package/development/button/secondary-button-link.d.ts +0 -3
  399. package/development/button/secondary-button-link.d.ts.map +1 -1
  400. package/development/button/secondary-button-link.js +8 -4
  401. package/development/button/secondary-button-static/secondary-button-static.component.d.ts +1 -0
  402. package/development/button/secondary-button-static/secondary-button-static.component.d.ts.map +1 -1
  403. package/development/button/secondary-button-static/secondary-button-static.component.js +23 -25
  404. package/development/button/secondary-button-static.d.ts +0 -3
  405. package/development/button/secondary-button-static.d.ts.map +1 -1
  406. package/development/button/secondary-button-static.js +8 -4
  407. package/development/button/secondary-button.d.ts +0 -3
  408. package/development/button/secondary-button.d.ts.map +1 -1
  409. package/development/button/secondary-button.js +8 -4
  410. package/development/button/transparent-button/transparent-button.component.d.ts +1 -0
  411. package/development/button/transparent-button/transparent-button.component.d.ts.map +1 -1
  412. package/development/button/transparent-button/transparent-button.component.js +23 -25
  413. package/development/button/transparent-button-link/transparent-button-link.component.d.ts +1 -0
  414. package/development/button/transparent-button-link/transparent-button-link.component.d.ts.map +1 -1
  415. package/development/button/transparent-button-link/transparent-button-link.component.js +23 -25
  416. package/development/button/transparent-button-link.d.ts +0 -3
  417. package/development/button/transparent-button-link.d.ts.map +1 -1
  418. package/development/button/transparent-button-link.js +8 -4
  419. package/development/button/transparent-button-static/transparent-button-static.component.d.ts +1 -0
  420. package/development/button/transparent-button-static/transparent-button-static.component.d.ts.map +1 -1
  421. package/development/button/transparent-button-static/transparent-button-static.component.js +23 -25
  422. package/development/button/transparent-button-static.d.ts +0 -3
  423. package/development/button/transparent-button-static.d.ts.map +1 -1
  424. package/development/button/transparent-button-static.js +8 -4
  425. package/development/button/transparent-button.d.ts +0 -3
  426. package/development/button/transparent-button.d.ts.map +1 -1
  427. package/development/button/transparent-button.js +8 -4
  428. package/development/button.d.ts +1 -19
  429. package/development/button.d.ts.map +1 -1
  430. package/development/button.js +25 -29
  431. package/development/button.pure.d.ts +18 -0
  432. package/development/button.pure.d.ts.map +1 -0
  433. package/development/button.pure.js +18 -0
  434. package/development/calendar/calendar/calendar.component.d.ts +11 -13
  435. package/development/calendar/calendar/calendar.component.d.ts.map +1 -1
  436. package/development/calendar/calendar/calendar.component.js +2 -1990
  437. package/development/calendar/calendar-day/calendar-day.component.d.ts +8 -21
  438. package/development/calendar/calendar-day/calendar-day.component.d.ts.map +1 -1
  439. package/development/calendar/calendar-day/calendar-day.component.js +2 -255
  440. package/development/calendar/calendar-day.d.ts +0 -3
  441. package/development/calendar/calendar-day.d.ts.map +1 -1
  442. package/development/calendar/calendar-day.js +10 -5
  443. package/development/calendar/calendar-month/calendar-month.component.d.ts +33 -0
  444. package/development/calendar/calendar-month/calendar-month.component.d.ts.map +1 -0
  445. package/development/calendar/calendar-month/calendar-month.component.js +112 -0
  446. package/development/calendar/calendar-month.d.ts +2 -0
  447. package/development/calendar/calendar-month.d.ts.map +1 -0
  448. package/development/calendar/calendar-month.js +10 -0
  449. package/development/calendar/calendar-weekday/calendar-weekday.component.d.ts +23 -0
  450. package/development/calendar/calendar-weekday/calendar-weekday.component.d.ts.map +1 -0
  451. package/development/calendar/calendar-weekday/calendar-weekday.component.js +67 -0
  452. package/development/calendar/calendar-weekday.d.ts +2 -0
  453. package/development/calendar/calendar-weekday.d.ts.map +1 -0
  454. package/development/calendar/calendar-weekday.js +10 -0
  455. package/development/calendar/calendar-weeknumber/calendar-weeknumber.component.d.ts +23 -0
  456. package/development/calendar/calendar-weeknumber/calendar-weeknumber.component.d.ts.map +1 -0
  457. package/development/calendar/calendar-weeknumber/calendar-weeknumber.component.js +70 -0
  458. package/development/calendar/calendar-weeknumber.d.ts +2 -0
  459. package/development/calendar/calendar-weeknumber.d.ts.map +1 -0
  460. package/development/calendar/calendar-weeknumber.js +10 -0
  461. package/development/calendar/calendar-year/calendar-year.component.d.ts +28 -0
  462. package/development/calendar/calendar-year/calendar-year.component.d.ts.map +1 -0
  463. package/development/calendar/calendar-year/calendar-year.component.js +103 -0
  464. package/development/calendar/calendar-year.d.ts +2 -0
  465. package/development/calendar/calendar-year.d.ts.map +1 -0
  466. package/development/calendar/calendar-year.js +10 -0
  467. package/development/calendar/calendar.d.ts +0 -3
  468. package/development/calendar/calendar.d.ts.map +1 -1
  469. package/development/calendar/calendar.js +10 -6
  470. package/development/calendar/common/calendar-cell-base-element.d.ts +24 -0
  471. package/development/calendar/common/calendar-cell-base-element.d.ts.map +1 -0
  472. package/development/calendar/common/calendar-cell-base-element.js +35 -0
  473. package/development/calendar/common.d.ts +3 -0
  474. package/development/calendar/common.d.ts.map +1 -0
  475. package/development/calendar/common.js +120 -0
  476. package/development/calendar-day.component-Brz0Wyai.js +178 -0
  477. package/development/calendar.component-0Pl7qEXL.js +2222 -0
  478. package/development/calendar.d.ts +1 -5
  479. package/development/calendar.d.ts.map +1 -1
  480. package/development/calendar.js +19 -8
  481. package/development/calendar.pure.d.ts +8 -0
  482. package/development/calendar.pure.d.ts.map +1 -0
  483. package/development/calendar.pure.js +7 -0
  484. package/development/card/card/card.component.d.ts +4 -4
  485. package/development/card/card/card.component.d.ts.map +1 -1
  486. package/development/card/card/card.component.js +2 -240
  487. package/development/card/card-badge/card-badge.component.d.ts +4 -4
  488. package/development/card/card-badge/card-badge.component.d.ts.map +1 -1
  489. package/development/card/card-badge/card-badge.component.js +2 -126
  490. package/development/card/card-badge.d.ts +0 -3
  491. package/development/card/card-badge.d.ts.map +1 -1
  492. package/development/card/card-badge.js +10 -5
  493. package/development/card/card-button/card-button.component.d.ts +2 -1
  494. package/development/card/card-button/card-button.component.d.ts.map +1 -1
  495. package/development/card/card-button/card-button.component.js +20 -27
  496. package/development/card/card-button.d.ts +0 -3
  497. package/development/card/card-button.d.ts.map +1 -1
  498. package/development/card/card-button.js +9 -4
  499. package/development/card/card-link/card-link.component.d.ts +2 -1
  500. package/development/card/card-link/card-link.component.d.ts.map +1 -1
  501. package/development/card/card-link/card-link.component.js +20 -27
  502. package/development/card/card-link.d.ts +0 -3
  503. package/development/card/card-link.d.ts.map +1 -1
  504. package/development/card/card-link.js +9 -4
  505. package/development/card/card.d.ts +0 -3
  506. package/development/card/card.d.ts.map +1 -1
  507. package/development/card/card.js +10 -5
  508. package/development/card/common/card-action-common.js +2 -121
  509. package/development/card/common.d.ts +1 -3
  510. package/development/card/common.d.ts.map +1 -1
  511. package/development/card/common.js +8 -5
  512. package/development/card-action-common-DqBn3bPy.js +147 -0
  513. package/development/card-badge.component-Cs4dow18.js +146 -0
  514. package/development/card.component-CeOZXXWU.js +258 -0
  515. package/development/card.d.ts +1 -8
  516. package/development/card.d.ts.map +1 -1
  517. package/development/card.js +14 -11
  518. package/development/card.pure.d.ts +7 -0
  519. package/development/card.pure.d.ts.map +1 -0
  520. package/development/card.pure.js +6 -0
  521. package/development/carousel/carousel/carousel.component.d.ts +4 -4
  522. package/development/carousel/carousel/carousel.component.d.ts.map +1 -1
  523. package/development/carousel/carousel/carousel.component.js +2 -167
  524. package/development/carousel/carousel-item/carousel-item.component.d.ts +6 -6
  525. package/development/carousel/carousel-item/carousel-item.component.d.ts.map +1 -1
  526. package/development/carousel/carousel-item/carousel-item.component.js +2 -44
  527. package/development/carousel/carousel-item.d.ts +0 -3
  528. package/development/carousel/carousel-item.d.ts.map +1 -1
  529. package/development/carousel/carousel-item.js +10 -5
  530. package/development/carousel/carousel-list/carousel-list.component.d.ts +4 -4
  531. package/development/carousel/carousel-list/carousel-list.component.d.ts.map +1 -1
  532. package/development/carousel/carousel-list/carousel-list.component.js +2 -170
  533. package/development/carousel/carousel-list.d.ts +0 -3
  534. package/development/carousel/carousel-list.d.ts.map +1 -1
  535. package/development/carousel/carousel-list.js +10 -5
  536. package/development/carousel/carousel.d.ts +0 -3
  537. package/development/carousel/carousel.d.ts.map +1 -1
  538. package/development/carousel/carousel.js +10 -5
  539. package/development/carousel-item.component-DOIXA2QK.js +47 -0
  540. package/development/carousel-list.component-7Z3dYtAF.js +160 -0
  541. package/development/carousel.component-Cs0gWroH.js +169 -0
  542. package/development/carousel.d.ts +1 -6
  543. package/development/carousel.d.ts.map +1 -1
  544. package/development/carousel.js +13 -9
  545. package/development/carousel.pure.d.ts +5 -0
  546. package/development/carousel.pure.d.ts.map +1 -0
  547. package/development/carousel.pure.js +4 -0
  548. package/development/checkbox/checkbox-group.d.ts +1 -4
  549. package/development/checkbox/checkbox-group.d.ts.map +1 -1
  550. package/development/checkbox/checkbox-group.js +10 -5
  551. package/development/checkbox/checkbox-panel.d.ts +1 -4
  552. package/development/checkbox/checkbox-panel.d.ts.map +1 -1
  553. package/development/checkbox/checkbox-panel.js +10 -5
  554. package/development/checkbox/{checkbox/checkbox.component.d.ts → checkbox.component.d.ts} +6 -4
  555. package/development/checkbox/checkbox.component.d.ts.map +1 -0
  556. package/development/checkbox/checkbox.component.js +3 -0
  557. package/development/checkbox/checkbox.d.ts +1 -4
  558. package/development/checkbox/checkbox.d.ts.map +1 -1
  559. package/development/checkbox/checkbox.js +11 -5
  560. package/development/checkbox/common/checkbox-common.d.ts +4 -5
  561. package/development/checkbox/common/checkbox-common.d.ts.map +1 -1
  562. package/development/checkbox/common/checkbox-common.js +2 -73
  563. package/development/checkbox/common.d.ts +1 -3
  564. package/development/checkbox/common.d.ts.map +1 -1
  565. package/development/checkbox/common.js +8 -7
  566. package/development/checkbox-common-DOS4FkuG.js +147 -0
  567. package/development/checkbox-group/checkbox-group.component.d.ts +25 -0
  568. package/development/checkbox-group/checkbox-group.component.d.ts.map +1 -0
  569. package/development/checkbox-group/checkbox-group.component.js +34 -0
  570. package/development/checkbox-group.d.ts +2 -0
  571. package/development/checkbox-group.d.ts.map +1 -0
  572. package/development/checkbox-group.js +9 -0
  573. package/development/checkbox-group.pure.d.ts +3 -0
  574. package/development/checkbox-group.pure.d.ts.map +1 -0
  575. package/development/checkbox-group.pure.js +2 -0
  576. package/development/{checkbox/checkbox-panel → checkbox-panel}/checkbox-panel.component.d.ts +4 -2
  577. package/development/checkbox-panel/checkbox-panel.component.d.ts.map +1 -0
  578. package/development/checkbox-panel/checkbox-panel.component.js +115 -0
  579. package/development/checkbox-panel.d.ts +2 -0
  580. package/development/checkbox-panel.d.ts.map +1 -0
  581. package/development/checkbox-panel.js +9 -0
  582. package/development/checkbox-panel.pure.d.ts +3 -0
  583. package/development/checkbox-panel.pure.d.ts.map +1 -0
  584. package/development/checkbox-panel.pure.js +2 -0
  585. package/development/checkbox.component-DBtj7z07.js +193 -0
  586. package/development/checkbox.d.ts +3 -7
  587. package/development/checkbox.d.ts.map +1 -1
  588. package/development/checkbox.js +16 -13
  589. package/development/checkbox.pure.d.ts +4 -0
  590. package/development/checkbox.pure.d.ts.map +1 -0
  591. package/development/checkbox.pure.js +3 -0
  592. package/development/chip/chip/chip.component.d.ts +4 -2
  593. package/development/chip/chip/chip.component.d.ts.map +1 -1
  594. package/development/chip/chip/chip.component.js +2 -170
  595. package/development/chip/chip-group/chip-group.component.d.ts +29 -6
  596. package/development/chip/chip-group/chip-group.component.d.ts.map +1 -1
  597. package/development/chip/chip-group/chip-group.component.js +2 -453
  598. package/development/chip/chip-group.d.ts +0 -3
  599. package/development/chip/chip-group.d.ts.map +1 -1
  600. package/development/chip/chip-group.js +10 -5
  601. package/development/chip/chip.d.ts +0 -3
  602. package/development/chip/chip.d.ts.map +1 -1
  603. package/development/chip/chip.js +10 -5
  604. package/development/chip-group.component-BIJlU5Dp.js +506 -0
  605. package/development/chip-label/chip-label.component.d.ts +4 -2
  606. package/development/chip-label/chip-label.component.d.ts.map +1 -1
  607. package/development/chip-label/chip-label.component.js +2 -137
  608. package/development/chip-label.component-DOCHCxBi.js +165 -0
  609. package/development/chip-label.d.ts +1 -4
  610. package/development/chip-label.d.ts.map +1 -1
  611. package/development/chip-label.js +9 -5
  612. package/development/chip-label.pure.d.ts +3 -0
  613. package/development/chip-label.pure.d.ts.map +1 -0
  614. package/development/chip-label.pure.js +2 -0
  615. package/development/chip.component-D6OL8r_Q.js +191 -0
  616. package/development/chip.d.ts +1 -5
  617. package/development/chip.d.ts.map +1 -1
  618. package/development/chip.js +11 -7
  619. package/development/chip.pure.d.ts +4 -0
  620. package/development/chip.pure.d.ts.map +1 -0
  621. package/development/chip.pure.js +3 -0
  622. package/development/clock/clock.component.d.ts +4 -4
  623. package/development/clock/clock.component.d.ts.map +1 -1
  624. package/development/clock/clock.component.js +2 -369
  625. package/development/clock.component-DPIVt4d3.js +392 -0
  626. package/development/clock.d.ts +1 -4
  627. package/development/clock.d.ts.map +1 -1
  628. package/development/clock.js +9 -5
  629. package/development/clock.pure.d.ts +3 -0
  630. package/development/clock.pure.d.ts.map +1 -0
  631. package/development/clock.pure.js +2 -0
  632. package/development/common-Da_cep8M.js +565 -0
  633. package/development/compact-paginator.component-BSTPWGJx.js +96 -0
  634. package/development/container/container/container.component.d.ts +4 -4
  635. package/development/container/container/container.component.d.ts.map +1 -1
  636. package/development/container/container/container.component.js +2 -188
  637. package/development/container/container.d.ts +0 -3
  638. package/development/container/container.d.ts.map +1 -1
  639. package/development/container/container.js +10 -5
  640. package/development/container/sticky-bar/sticky-bar.component.d.ts +4 -2
  641. package/development/container/sticky-bar/sticky-bar.component.d.ts.map +1 -1
  642. package/development/container/sticky-bar/sticky-bar.component.js +2 -363
  643. package/development/container/sticky-bar.d.ts +0 -3
  644. package/development/container/sticky-bar.d.ts.map +1 -1
  645. package/development/container/sticky-bar.js +10 -5
  646. package/development/container.component-Co2L3KBb.js +238 -0
  647. package/development/container.d.ts +1 -5
  648. package/development/container.d.ts.map +1 -1
  649. package/development/container.js +11 -7
  650. package/development/container.pure.d.ts +4 -0
  651. package/development/container.pure.d.ts.map +1 -0
  652. package/development/container.pure.js +3 -0
  653. package/development/core/a11y/arrow-navigation.js +67 -28
  654. package/development/core/a11y/fake-event-detection.js +10 -8
  655. package/development/core/a11y/focus-trap-controller.js +104 -120
  656. package/development/core/a11y/focus-visible-within-controller.js +25 -24
  657. package/development/core/a11y/focus.js +14 -13
  658. package/development/core/a11y/input-modality-detector.js +128 -75
  659. package/development/core/a11y/interactivity-checker.js +115 -108
  660. package/development/core/a11y/live-announcer.js +76 -80
  661. package/development/core/a11y.d.ts +1 -3
  662. package/development/core/a11y.d.ts.map +1 -1
  663. package/development/core/a11y.js +3 -21
  664. package/development/core/base-elements/action-base-element.d.ts +3 -4
  665. package/development/core/base-elements/action-base-element.d.ts.map +1 -1
  666. package/development/core/base-elements/action-base-element.js +38 -43
  667. package/development/core/base-elements/button-base-element.js +247 -205
  668. package/development/core/base-elements/element.d.ts +59 -0
  669. package/development/core/base-elements/element.d.ts.map +1 -0
  670. package/development/core/base-elements/element.js +73 -0
  671. package/development/core/base-elements/link-base-element.d.ts.map +1 -1
  672. package/development/core/base-elements/link-base-element.js +230 -153
  673. package/development/core/base-elements/open-close-base-element.d.ts +2 -4
  674. package/development/core/base-elements/open-close-base-element.d.ts.map +1 -1
  675. package/development/core/base-elements/open-close-base-element.js +55 -51
  676. package/development/core/base-elements/selection-group-base-element.d.ts +35 -0
  677. package/development/core/base-elements/selection-group-base-element.d.ts.map +1 -0
  678. package/development/core/base-elements/selection-group-base-element.js +2 -0
  679. package/development/core/base-elements.d.ts +3 -3
  680. package/development/core/base-elements.d.ts.map +1 -1
  681. package/development/core/base-elements.js +3 -8
  682. package/development/core/config/config.js +9 -11
  683. package/development/core/config.d.ts +1 -3
  684. package/development/core/config.d.ts.map +1 -1
  685. package/development/core/config.js +1 -5
  686. package/development/core/controllers/escapable-overlay-controller.js +34 -36
  687. package/development/core/controllers/id-reference-controller.js +76 -81
  688. package/development/core/controllers/inert-controller.js +99 -105
  689. package/development/core/controllers/language-controller.js +76 -66
  690. package/development/core/controllers/media-matchers-controller.js +145 -138
  691. package/development/core/controllers/overlay-position-controller.js +297 -283
  692. package/development/core/controllers/property-watcher-controller.js +94 -119
  693. package/development/core/controllers/slot-state-controller.js +75 -63
  694. package/development/core/controllers.d.ts +1 -3
  695. package/development/core/controllers.d.ts.map +1 -1
  696. package/development/core/controllers.js +1 -23
  697. package/development/core/datetime/date-adapter.js +143 -166
  698. package/development/core/datetime/native-date-adapter.js +142 -148
  699. package/development/core/datetime/temporal-date-adapter.js +162 -149
  700. package/development/core/datetime.d.ts +1 -3
  701. package/development/core/datetime.d.ts.map +1 -1
  702. package/development/core/datetime.js +1 -14
  703. package/development/core/decorators/base.d.ts +2 -2
  704. package/development/core/decorators/base.d.ts.map +1 -1
  705. package/development/core/decorators/base.js +0 -2
  706. package/development/core/decorators/force-type.js +24 -27
  707. package/development/core/decorators/get-override.js +17 -17
  708. package/development/core/decorators/handle-distinct-change.js +20 -21
  709. package/development/core/decorators/host-attributes.d.ts +1 -0
  710. package/development/core/decorators/host-attributes.d.ts.map +1 -1
  711. package/development/core/decorators/host-attributes.js +37 -26
  712. package/development/core/decorators/id-reference.js +115 -114
  713. package/development/core/decorators/omit-empty-converter.js +13 -9
  714. package/development/core/decorators/plain-date.js +36 -31
  715. package/development/core/decorators.d.ts +1 -3
  716. package/development/core/decorators.d.ts.map +1 -1
  717. package/development/core/decorators.js +1 -11
  718. package/development/core/dom/animation.js +8 -9
  719. package/development/core/dom/contains-pierce-shadow-dom.js +12 -12
  720. package/development/core/dom/lean-context.js +9 -5
  721. package/development/core/dom/platform.js +35 -28
  722. package/development/core/dom/queue-dom-content-loaded.js +11 -10
  723. package/development/core/dom/scroll.js +34 -34
  724. package/development/core/dom/set-or-remove-attribute.js +13 -9
  725. package/development/core/dom.d.ts +1 -3
  726. package/development/core/dom.d.ts.map +1 -1
  727. package/development/core/dom.js +1 -21
  728. package/development/core/eventing/composed-path-has-attribute.js +17 -10
  729. package/development/core/eventing/event-target.js +7 -5
  730. package/development/core/eventing/form-element-handlers.js +10 -7
  731. package/development/core/eventing/forward-event.js +12 -7
  732. package/development/core/eventing/is-event-prevented.js +8 -6
  733. package/development/core/eventing/throttle.js +16 -17
  734. package/development/core/eventing.d.ts +1 -3
  735. package/development/core/eventing.d.ts.map +1 -1
  736. package/development/core/eventing.js +1 -9
  737. package/development/core/i18n/i18n.js +770 -875
  738. package/development/core/i18n.d.ts +1 -3
  739. package/development/core/i18n.d.ts.map +1 -1
  740. package/development/core/i18n.js +1 -104
  741. package/development/core/images.js +20 -15
  742. package/development/core/interfaces/overlay-close-details.d.ts +2 -2
  743. package/development/core/interfaces/overlay-close-details.d.ts.map +1 -1
  744. package/development/core/interfaces/paginator-page.d.ts +2 -2
  745. package/development/core/interfaces/paginator-page.d.ts.map +1 -1
  746. package/development/core/interfaces.d.ts +1 -3
  747. package/development/core/interfaces.d.ts.map +1 -1
  748. package/development/core/interfaces.js +0 -2
  749. package/development/core/mixins/animation-complete-mixin.js +55 -51
  750. package/development/core/mixins/constructor.js +0 -2
  751. package/development/core/mixins/disabled-mixin.js +124 -101
  752. package/development/core/mixins/element-internals-mixin.js +212 -225
  753. package/development/core/mixins/form-associated-checkbox-mixin.d.ts +2 -1
  754. package/development/core/mixins/form-associated-checkbox-mixin.d.ts.map +1 -1
  755. package/development/core/mixins/form-associated-checkbox-mixin.js +160 -140
  756. package/development/core/mixins/form-associated-input-mixin.d.ts +2 -1
  757. package/development/core/mixins/form-associated-input-mixin.d.ts.map +1 -1
  758. package/development/core/mixins/form-associated-input-mixin.js +334 -313
  759. package/development/core/mixins/form-associated-mixin.js +287 -279
  760. package/development/core/mixins/form-associated-radio-button-mixin.d.ts +2 -1
  761. package/development/core/mixins/form-associated-radio-button-mixin.d.ts.map +1 -1
  762. package/development/core/mixins/form-associated-radio-button-mixin.js +260 -246
  763. package/development/core/mixins/hydration-mixin.js +58 -55
  764. package/development/core/mixins/named-slot-list-mixin.d.ts +2 -2
  765. package/development/core/mixins/named-slot-list-mixin.d.ts.map +1 -1
  766. package/development/core/mixins/named-slot-list-mixin.js +116 -113
  767. package/development/core/mixins/negative-mixin.js +56 -41
  768. package/development/core/mixins/panel-mixin.d.ts +2 -2
  769. package/development/core/mixins/panel-mixin.d.ts.map +1 -1
  770. package/development/core/mixins/panel-mixin.js +142 -93
  771. package/development/core/mixins/readonly-mixin.js +54 -43
  772. package/development/core/mixins/required-mixin.js +65 -46
  773. package/development/core/mixins/selection-panel-mixin.d.ts +4 -4
  774. package/development/core/mixins/selection-panel-mixin.d.ts.map +1 -1
  775. package/development/core/mixins/selection-panel-mixin.js +50 -54
  776. package/development/core/mixins/update-scheduler-mixin.js +30 -25
  777. package/development/core/mixins.d.ts +1 -3
  778. package/development/core/mixins.d.ts.map +1 -1
  779. package/development/core/mixins.js +10 -29
  780. package/development/core/overlay/overlay-option-panel.js +34 -26
  781. package/development/core/overlay/overlay-outside-pointer-event-listener.js +64 -60
  782. package/development/core/overlay/overlay-trigger-attributes.js +42 -39
  783. package/development/core/overlay/overlay.js +10 -5
  784. package/development/core/overlay/position.js +143 -117
  785. package/development/core/overlay.d.ts +1 -3
  786. package/development/core/overlay.d.ts.map +1 -1
  787. package/development/core/overlay.js +2 -16
  788. package/development/core/styles.d.ts +1 -3
  789. package/development/core/styles.d.ts.map +1 -1
  790. package/development/core/styles.js +6 -5
  791. package/development/core/testing/event-spy.js +66 -67
  792. package/development/core/testing/mocha-extensions.js +15 -13
  793. package/development/core/testing/wait-for-condition.js +14 -17
  794. package/development/core/testing/wait-for-image-ready.js +20 -27
  795. package/development/core/testing/wait-for-render.js +30 -18
  796. package/development/core/testing.d.ts +1 -3
  797. package/development/core/testing.d.ts.map +1 -1
  798. package/development/core/testing.js +1 -10
  799. package/development/date-input/date-input.component.d.ts +4 -2
  800. package/development/date-input/date-input.component.d.ts.map +1 -1
  801. package/development/date-input/date-input.component.js +2 -284
  802. package/development/date-input.component-D6__znuy.js +338 -0
  803. package/development/date-input.d.ts +1 -4
  804. package/development/date-input.d.ts.map +1 -1
  805. package/development/date-input.js +9 -5
  806. package/development/date-input.pure.d.ts +3 -0
  807. package/development/date-input.pure.d.ts.map +1 -0
  808. package/development/date-input.pure.js +2 -0
  809. package/development/datepicker/common/datepicker-button.d.ts +0 -1
  810. package/development/datepicker/common/datepicker-button.d.ts.map +1 -1
  811. package/development/datepicker/common/datepicker-button.js +2 -150
  812. package/development/datepicker/common.d.ts +1 -3
  813. package/development/datepicker/common.d.ts.map +1 -1
  814. package/development/datepicker/common.js +8 -8
  815. package/development/datepicker/datepicker/datepicker.component.d.ts +1 -0
  816. package/development/datepicker/datepicker/datepicker.component.d.ts.map +1 -1
  817. package/development/datepicker/datepicker/datepicker.component.js +2 -187
  818. package/development/datepicker/datepicker-next-day/datepicker-next-day.component.d.ts +2 -1
  819. package/development/datepicker/datepicker-next-day/datepicker-next-day.component.d.ts.map +1 -1
  820. package/development/datepicker/datepicker-next-day/datepicker-next-day.component.js +36 -44
  821. package/development/datepicker/datepicker-next-day.d.ts +0 -3
  822. package/development/datepicker/datepicker-next-day.d.ts.map +1 -1
  823. package/development/datepicker/datepicker-next-day.js +9 -4
  824. package/development/datepicker/datepicker-previous-day/datepicker-previous-day.component.d.ts +2 -1
  825. package/development/datepicker/datepicker-previous-day/datepicker-previous-day.component.d.ts.map +1 -1
  826. package/development/datepicker/datepicker-previous-day/datepicker-previous-day.component.js +36 -44
  827. package/development/datepicker/datepicker-previous-day.d.ts +0 -3
  828. package/development/datepicker/datepicker-previous-day.d.ts.map +1 -1
  829. package/development/datepicker/datepicker-previous-day.js +9 -4
  830. package/development/datepicker/datepicker-toggle/datepicker-toggle.component.d.ts +3 -2
  831. package/development/datepicker/datepicker-toggle/datepicker-toggle.component.d.ts.map +1 -1
  832. package/development/datepicker/datepicker-toggle/datepicker-toggle.component.js +81 -76
  833. package/development/datepicker/datepicker-toggle.d.ts +0 -3
  834. package/development/datepicker/datepicker-toggle.d.ts.map +1 -1
  835. package/development/datepicker/datepicker-toggle.js +9 -4
  836. package/development/datepicker/datepicker.d.ts +0 -3
  837. package/development/datepicker/datepicker.d.ts.map +1 -1
  838. package/development/datepicker/datepicker.js +10 -5
  839. package/development/datepicker-button-vHP0D4yV.js +167 -0
  840. package/development/datepicker.component-DW6eq3pC.js +223 -0
  841. package/development/datepicker.d.ts +1 -8
  842. package/development/datepicker.d.ts.map +1 -1
  843. package/development/datepicker.js +13 -13
  844. package/development/datepicker.pure.d.ts +7 -0
  845. package/development/datepicker.pure.d.ts.map +1 -0
  846. package/development/datepicker.pure.js +6 -0
  847. package/development/dialog/dialog/dialog.component.d.ts +1 -0
  848. package/development/dialog/dialog/dialog.component.d.ts.map +1 -1
  849. package/development/dialog/dialog/dialog.component.js +2 -390
  850. package/development/dialog/dialog-actions/dialog-actions.component.d.ts +1 -0
  851. package/development/dialog/dialog-actions/dialog-actions.component.d.ts.map +1 -1
  852. package/development/dialog/dialog-actions/dialog-actions.component.js +2 -55
  853. package/development/dialog/dialog-actions.d.ts +0 -3
  854. package/development/dialog/dialog-actions.d.ts.map +1 -1
  855. package/development/dialog/dialog-actions.js +10 -5
  856. package/development/dialog/dialog-close-button/dialog-close-button.component.d.ts +1 -0
  857. package/development/dialog/dialog-close-button/dialog-close-button.component.d.ts.map +1 -1
  858. package/development/dialog/dialog-close-button/dialog-close-button.component.js +2 -49
  859. package/development/dialog/dialog-close-button.d.ts +0 -3
  860. package/development/dialog/dialog-close-button.d.ts.map +1 -1
  861. package/development/dialog/dialog-close-button.js +10 -5
  862. package/development/dialog/dialog-content/dialog-content.component.d.ts +4 -2
  863. package/development/dialog/dialog-content/dialog-content.component.d.ts.map +1 -1
  864. package/development/dialog/dialog-content/dialog-content.component.js +2 -43
  865. package/development/dialog/dialog-content.d.ts +0 -3
  866. package/development/dialog/dialog-content.d.ts.map +1 -1
  867. package/development/dialog/dialog-content.js +10 -5
  868. package/development/dialog/dialog-title/dialog-title.component.d.ts +1 -0
  869. package/development/dialog/dialog-title/dialog-title.component.d.ts.map +1 -1
  870. package/development/dialog/dialog-title/dialog-title.component.js +2 -52
  871. package/development/dialog/dialog-title.d.ts +0 -3
  872. package/development/dialog/dialog-title.d.ts.map +1 -1
  873. package/development/dialog/dialog-title.js +10 -5
  874. package/development/dialog/dialog.d.ts +0 -3
  875. package/development/dialog/dialog.d.ts.map +1 -1
  876. package/development/dialog/dialog.js +10 -8
  877. package/development/dialog-actions.component-TcOhbHSS.js +55 -0
  878. package/development/dialog-close-button.component-Yi7NNtQe.js +48 -0
  879. package/development/dialog-content.component-CzwHSsCD.js +42 -0
  880. package/development/dialog-title.component-BjJxddme.js +50 -0
  881. package/development/dialog.component-CjR644v5.js +403 -0
  882. package/development/dialog.d.ts +1 -8
  883. package/development/dialog.d.ts.map +1 -1
  884. package/development/dialog.js +17 -16
  885. package/development/dialog.pure.d.ts +7 -0
  886. package/development/dialog.pure.d.ts.map +1 -0
  887. package/development/dialog.pure.js +6 -0
  888. package/development/divider/divider.component.d.ts +4 -2
  889. package/development/divider/divider.component.d.ts.map +1 -1
  890. package/development/divider/divider.component.js +2 -79
  891. package/development/divider.component-D04zdHFf.js +95 -0
  892. package/development/divider.d.ts +1 -4
  893. package/development/divider.d.ts.map +1 -1
  894. package/development/divider.js +9 -5
  895. package/development/divider.pure.d.ts +3 -0
  896. package/development/divider.pure.d.ts.map +1 -0
  897. package/development/divider.pure.js +2 -0
  898. package/development/error.component-DCeTb_sQ.js +93 -0
  899. package/development/expansion-panel/expansion-panel/expansion-panel.component.d.ts +4 -4
  900. package/development/expansion-panel/expansion-panel/expansion-panel.component.d.ts.map +1 -1
  901. package/development/expansion-panel/expansion-panel/expansion-panel.component.js +2 -423
  902. package/development/expansion-panel/expansion-panel-content/expansion-panel-content.component.d.ts +4 -4
  903. package/development/expansion-panel/expansion-panel-content/expansion-panel-content.component.d.ts.map +1 -1
  904. package/development/expansion-panel/expansion-panel-content/expansion-panel-content.component.js +2 -82
  905. package/development/expansion-panel/expansion-panel-content.d.ts +0 -3
  906. package/development/expansion-panel/expansion-panel-content.d.ts.map +1 -1
  907. package/development/expansion-panel/expansion-panel-content.js +10 -5
  908. package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.d.ts +1 -0
  909. package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.d.ts.map +1 -1
  910. package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +2 -182
  911. package/development/expansion-panel/expansion-panel-header.d.ts +0 -3
  912. package/development/expansion-panel/expansion-panel-header.d.ts.map +1 -1
  913. package/development/expansion-panel/expansion-panel-header.js +10 -5
  914. package/development/expansion-panel/expansion-panel.d.ts +0 -3
  915. package/development/expansion-panel/expansion-panel.d.ts.map +1 -1
  916. package/development/expansion-panel/expansion-panel.js +10 -5
  917. package/development/expansion-panel-content.component-P1BVKaUQ.js +77 -0
  918. package/development/expansion-panel-header.component-BQaFPmqq.js +175 -0
  919. package/development/expansion-panel.component-sNQCAll-.js +489 -0
  920. package/development/expansion-panel.d.ts +1 -6
  921. package/development/expansion-panel.d.ts.map +1 -1
  922. package/development/expansion-panel.js +13 -9
  923. package/development/expansion-panel.pure.d.ts +5 -0
  924. package/development/expansion-panel.pure.d.ts.map +1 -0
  925. package/development/expansion-panel.pure.js +4 -0
  926. package/development/file-selector/common/file-selector-common.d.ts +4 -4
  927. package/development/file-selector/common/file-selector-common.d.ts.map +1 -1
  928. package/development/file-selector/common/file-selector-common.js +2 -332
  929. package/development/file-selector/common.d.ts +1 -3
  930. package/development/file-selector/common.d.ts.map +1 -1
  931. package/development/file-selector/common.js +8 -7
  932. package/development/file-selector/file-selector/file-selector.component.d.ts +4 -2
  933. package/development/file-selector/file-selector/file-selector.component.d.ts.map +1 -1
  934. package/development/file-selector/file-selector/file-selector.component.js +30 -32
  935. package/development/file-selector/file-selector-dropzone/file-selector-dropzone.component.d.ts +4 -2
  936. package/development/file-selector/file-selector-dropzone/file-selector-dropzone.component.d.ts.map +1 -1
  937. package/development/file-selector/file-selector-dropzone/file-selector-dropzone.component.js +2 -132
  938. package/development/file-selector/file-selector-dropzone.d.ts +0 -3
  939. package/development/file-selector/file-selector-dropzone.d.ts.map +1 -1
  940. package/development/file-selector/file-selector-dropzone.js +10 -5
  941. package/development/file-selector/file-selector.d.ts +0 -3
  942. package/development/file-selector/file-selector.d.ts.map +1 -1
  943. package/development/file-selector/file-selector.js +9 -4
  944. package/development/file-selector-common-4VE7Af0W.js +512 -0
  945. package/development/file-selector-dropzone.component-COoDZxcq.js +154 -0
  946. package/development/file-selector.d.ts +1 -6
  947. package/development/file-selector.d.ts.map +1 -1
  948. package/development/file-selector.js +11 -10
  949. package/development/file-selector.pure.d.ts +5 -0
  950. package/development/file-selector.pure.d.ts.map +1 -0
  951. package/development/file-selector.pure.js +4 -0
  952. package/development/flip-card/flip-card/flip-card.component.d.ts +6 -6
  953. package/development/flip-card/flip-card/flip-card.component.d.ts.map +1 -1
  954. package/development/flip-card/flip-card/flip-card.component.js +2 -322
  955. package/development/flip-card/flip-card-details/flip-card-details.component.d.ts +4 -4
  956. package/development/flip-card/flip-card-details/flip-card-details.component.d.ts.map +1 -1
  957. package/development/flip-card/flip-card-details/flip-card-details.component.js +2 -88
  958. package/development/flip-card/flip-card-details.d.ts +0 -3
  959. package/development/flip-card/flip-card-details.d.ts.map +1 -1
  960. package/development/flip-card/flip-card-details.js +10 -5
  961. package/development/flip-card/flip-card-summary/flip-card-summary.component.d.ts +4 -2
  962. package/development/flip-card/flip-card-summary/flip-card-summary.component.d.ts.map +1 -1
  963. package/development/flip-card/flip-card-summary/flip-card-summary.component.js +2 -137
  964. package/development/flip-card/flip-card-summary.d.ts +0 -3
  965. package/development/flip-card/flip-card-summary.d.ts.map +1 -1
  966. package/development/flip-card/flip-card-summary.js +10 -5
  967. package/development/flip-card/flip-card.d.ts +0 -3
  968. package/development/flip-card/flip-card.d.ts.map +1 -1
  969. package/development/flip-card/flip-card.js +10 -5
  970. package/development/flip-card-details.component-DZqd1icn.js +85 -0
  971. package/development/flip-card-summary.component-CTvT-hNh.js +151 -0
  972. package/development/flip-card.component-CUQYeHRg.js +334 -0
  973. package/development/flip-card.d.ts +1 -6
  974. package/development/flip-card.d.ts.map +1 -1
  975. package/development/flip-card.js +13 -9
  976. package/development/flip-card.pure.d.ts +5 -0
  977. package/development/flip-card.pure.d.ts.map +1 -0
  978. package/development/flip-card.pure.js +4 -0
  979. package/development/footer/footer.component.d.ts +4 -2
  980. package/development/footer/footer.component.d.ts.map +1 -1
  981. package/development/footer/footer.component.js +2 -257
  982. package/development/footer.component-CLU7iVUY.js +310 -0
  983. package/development/footer.d.ts +1 -4
  984. package/development/footer.d.ts.map +1 -1
  985. package/development/footer.js +9 -5
  986. package/development/footer.pure.d.ts +3 -0
  987. package/development/footer.pure.d.ts.map +1 -0
  988. package/development/footer.pure.js +2 -0
  989. package/development/form-field/error/error.component.d.ts +4 -2
  990. package/development/form-field/error/error.component.d.ts.map +1 -1
  991. package/development/form-field/error/error.component.js +2 -101
  992. package/development/form-field/error.d.ts +0 -3
  993. package/development/form-field/error.d.ts.map +1 -1
  994. package/development/form-field/error.js +10 -5
  995. package/development/form-field/form-field/form-field.component.d.ts +4 -2
  996. package/development/form-field/form-field/form-field.component.d.ts.map +1 -1
  997. package/development/form-field/form-field/form-field.component.js +2 -925
  998. package/development/form-field/form-field-clear/form-field-clear.component.d.ts +1 -0
  999. package/development/form-field/form-field-clear/form-field-clear.component.d.ts.map +1 -1
  1000. package/development/form-field/form-field-clear/form-field-clear.component.js +49 -54
  1001. package/development/form-field/form-field-clear.d.ts +0 -3
  1002. package/development/form-field/form-field-clear.d.ts.map +1 -1
  1003. package/development/form-field/form-field-clear.js +9 -4
  1004. package/development/form-field/form-field.d.ts +0 -3
  1005. package/development/form-field/form-field.d.ts.map +1 -1
  1006. package/development/form-field/form-field.js +10 -6
  1007. package/development/form-field.component-DoPHu1Yf.js +1009 -0
  1008. package/development/form-field.d.ts +1 -6
  1009. package/development/form-field.d.ts.map +1 -1
  1010. package/development/form-field.js +12 -9
  1011. package/development/form-field.pure.d.ts +5 -0
  1012. package/development/form-field.pure.d.ts.map +1 -0
  1013. package/development/form-field.pure.js +4 -0
  1014. package/development/header/common/header-action-common.js +2 -350
  1015. package/development/header/common.d.ts +1 -3
  1016. package/development/header/common.d.ts.map +1 -1
  1017. package/development/header/common.js +8 -5
  1018. package/development/header/header/header.component.d.ts +4 -4
  1019. package/development/header/header/header.component.d.ts.map +1 -1
  1020. package/development/header/header/header.component.js +2 -392
  1021. package/development/header/header-button/header-button.component.d.ts +2 -1
  1022. package/development/header/header-button/header-button.component.d.ts.map +1 -1
  1023. package/development/header/header-button/header-button.component.js +16 -23
  1024. package/development/header/header-button.d.ts +0 -3
  1025. package/development/header/header-button.d.ts.map +1 -1
  1026. package/development/header/header-button.js +9 -4
  1027. package/development/header/header-environment/header-environment.component.d.ts +4 -4
  1028. package/development/header/header-environment/header-environment.component.d.ts.map +1 -1
  1029. package/development/header/header-environment/header-environment.component.js +2 -109
  1030. package/development/header/header-environment.d.ts +0 -3
  1031. package/development/header/header-environment.d.ts.map +1 -1
  1032. package/development/header/header-environment.js +10 -5
  1033. package/development/header/header-link/header-link.component.d.ts +2 -1
  1034. package/development/header/header-link/header-link.component.d.ts.map +1 -1
  1035. package/development/header/header-link/header-link.component.js +16 -23
  1036. package/development/header/header-link.d.ts +0 -3
  1037. package/development/header/header-link.d.ts.map +1 -1
  1038. package/development/header/header-link.js +9 -4
  1039. package/development/header/header.d.ts +0 -3
  1040. package/development/header/header.d.ts.map +1 -1
  1041. package/development/header/header.js +10 -5
  1042. package/development/header-action-common-BPwn9nFN.js +346 -0
  1043. package/development/header-environment.component-JltjpGKu.js +101 -0
  1044. package/development/header.component-DEw_zC-n.js +446 -0
  1045. package/development/header.d.ts +1 -7
  1046. package/development/header.d.ts.map +1 -1
  1047. package/development/header.js +14 -9
  1048. package/development/header.pure.d.ts +7 -0
  1049. package/development/header.pure.d.ts.map +1 -0
  1050. package/development/header.pure.js +6 -0
  1051. package/development/icon/icon-base.d.ts +3 -4
  1052. package/development/icon/icon-base.d.ts.map +1 -1
  1053. package/development/icon/icon-base.js +2 -174
  1054. package/development/icon/icon-name-mixin.d.ts +3 -2
  1055. package/development/icon/icon-name-mixin.d.ts.map +1 -1
  1056. package/development/icon/icon-name-mixin.js +75 -59
  1057. package/development/icon/icon-request.js +31 -38
  1058. package/development/icon/icon-validate.js +36 -45
  1059. package/development/icon/icon.component.d.ts +1 -0
  1060. package/development/icon/icon.component.d.ts.map +1 -1
  1061. package/development/icon/icon.component.js +120 -103
  1062. package/development/icon-base-DaK86P0U.js +206 -0
  1063. package/development/icon-sidebar/icon-sidebar/icon-sidebar.component.d.ts +5 -5
  1064. package/development/icon-sidebar/icon-sidebar/icon-sidebar.component.d.ts.map +1 -1
  1065. package/development/icon-sidebar/icon-sidebar/icon-sidebar.component.js +2 -78
  1066. package/development/icon-sidebar/icon-sidebar-button/icon-sidebar-button.component.d.ts +1 -0
  1067. package/development/icon-sidebar/icon-sidebar-button/icon-sidebar-button.component.d.ts.map +1 -1
  1068. package/development/icon-sidebar/icon-sidebar-button/icon-sidebar-button.component.js +26 -29
  1069. package/development/icon-sidebar/icon-sidebar-button.d.ts +0 -3
  1070. package/development/icon-sidebar/icon-sidebar-button.d.ts.map +1 -1
  1071. package/development/icon-sidebar/icon-sidebar-button.js +9 -4
  1072. package/development/icon-sidebar/icon-sidebar-container/icon-sidebar-container.component.d.ts +5 -3
  1073. package/development/icon-sidebar/icon-sidebar-container/icon-sidebar-container.component.d.ts.map +1 -1
  1074. package/development/icon-sidebar/icon-sidebar-container/icon-sidebar-container.component.js +2 -42
  1075. package/development/icon-sidebar/icon-sidebar-container.d.ts +0 -3
  1076. package/development/icon-sidebar/icon-sidebar-container.d.ts.map +1 -1
  1077. package/development/icon-sidebar/icon-sidebar-container.js +10 -5
  1078. package/development/icon-sidebar/icon-sidebar-content/icon-sidebar-content.component.d.ts +4 -2
  1079. package/development/icon-sidebar/icon-sidebar-content/icon-sidebar-content.component.d.ts.map +1 -1
  1080. package/development/icon-sidebar/icon-sidebar-content/icon-sidebar-content.component.js +2 -34
  1081. package/development/icon-sidebar/icon-sidebar-content.d.ts +0 -3
  1082. package/development/icon-sidebar/icon-sidebar-content.d.ts.map +1 -1
  1083. package/development/icon-sidebar/icon-sidebar-content.js +10 -5
  1084. package/development/icon-sidebar/icon-sidebar-link/icon-sidebar-link.component.d.ts +1 -0
  1085. package/development/icon-sidebar/icon-sidebar-link/icon-sidebar-link.component.d.ts.map +1 -1
  1086. package/development/icon-sidebar/icon-sidebar-link/icon-sidebar-link.component.js +26 -29
  1087. package/development/icon-sidebar/icon-sidebar-link.d.ts +0 -3
  1088. package/development/icon-sidebar/icon-sidebar-link.d.ts.map +1 -1
  1089. package/development/icon-sidebar/icon-sidebar-link.js +9 -4
  1090. package/development/icon-sidebar/icon-sidebar.d.ts +0 -3
  1091. package/development/icon-sidebar/icon-sidebar.d.ts.map +1 -1
  1092. package/development/icon-sidebar/icon-sidebar.js +10 -5
  1093. package/development/icon-sidebar-container.component-6k5VwVGK.js +41 -0
  1094. package/development/icon-sidebar-content.component-ISXOClFX.js +33 -0
  1095. package/development/icon-sidebar.component-DFDKX2cD.js +100 -0
  1096. package/development/icon-sidebar.d.ts +1 -8
  1097. package/development/icon-sidebar.d.ts.map +1 -1
  1098. package/development/icon-sidebar.js +15 -11
  1099. package/development/icon-sidebar.pure.d.ts +7 -0
  1100. package/development/icon-sidebar.pure.d.ts.map +1 -0
  1101. package/development/icon-sidebar.pure.js +6 -0
  1102. package/development/icon.d.ts +1 -8
  1103. package/development/icon.d.ts.map +1 -1
  1104. package/development/icon.js +11 -12
  1105. package/development/icon.pure.d.ts +7 -0
  1106. package/development/icon.pure.d.ts.map +1 -0
  1107. package/development/icon.pure.js +6 -0
  1108. package/development/image/image.component.d.ts +5 -5
  1109. package/development/image/image.component.d.ts.map +1 -1
  1110. package/development/image/image.component.js +2 -655
  1111. package/development/image.component-BSJf5qRL.js +820 -0
  1112. package/development/image.d.ts +1 -4
  1113. package/development/image.d.ts.map +1 -1
  1114. package/development/image.js +9 -5
  1115. package/development/image.pure.d.ts +3 -0
  1116. package/development/image.pure.d.ts.map +1 -0
  1117. package/development/image.pure.js +2 -0
  1118. package/development/inline-link-common-FwpAjkCL.js +52 -0
  1119. package/development/journey-header/journey-header.component.d.ts +1 -0
  1120. package/development/journey-header/journey-header.component.d.ts.map +1 -1
  1121. package/development/journey-header/journey-header.component.js +2 -162
  1122. package/development/journey-header.component-D1iaZBcw.js +217 -0
  1123. package/development/journey-header.d.ts +1 -4
  1124. package/development/journey-header.d.ts.map +1 -1
  1125. package/development/journey-header.js +9 -5
  1126. package/development/journey-header.pure.d.ts +3 -0
  1127. package/development/journey-header.pure.d.ts.map +1 -0
  1128. package/development/journey-header.pure.js +2 -0
  1129. package/development/lead-container/lead-container.component.d.ts +4 -4
  1130. package/development/lead-container/lead-container.component.d.ts.map +1 -1
  1131. package/development/lead-container/lead-container.component.js +2 -140
  1132. package/development/lead-container.component-BPGSdIND.js +122 -0
  1133. package/development/lead-container.d.ts +1 -4
  1134. package/development/lead-container.d.ts.map +1 -1
  1135. package/development/lead-container.js +9 -5
  1136. package/development/lead-container.pure.d.ts +3 -0
  1137. package/development/lead-container.pure.d.ts.map +1 -0
  1138. package/development/lead-container.pure.js +2 -0
  1139. package/development/link/block-link/block-link.component.d.ts +1 -0
  1140. package/development/link/block-link/block-link.component.d.ts.map +1 -1
  1141. package/development/link/block-link/block-link.component.js +15 -22
  1142. package/development/link/block-link-button/block-link-button.component.d.ts +1 -0
  1143. package/development/link/block-link-button/block-link-button.component.d.ts.map +1 -1
  1144. package/development/link/block-link-button/block-link-button.component.js +15 -22
  1145. package/development/link/block-link-button.d.ts +0 -3
  1146. package/development/link/block-link-button.d.ts.map +1 -1
  1147. package/development/link/block-link-button.js +8 -4
  1148. package/development/link/block-link-static/block-link-static.component.d.ts +1 -0
  1149. package/development/link/block-link-static/block-link-static.component.d.ts.map +1 -1
  1150. package/development/link/block-link-static/block-link-static.component.js +15 -22
  1151. package/development/link/block-link-static.d.ts +0 -3
  1152. package/development/link/block-link-static.d.ts.map +1 -1
  1153. package/development/link/block-link-static.js +8 -4
  1154. package/development/link/block-link.d.ts +0 -3
  1155. package/development/link/block-link.d.ts.map +1 -1
  1156. package/development/link/block-link.js +8 -4
  1157. package/development/link/common/block-link-common.js +3 -135
  1158. package/development/link/common/inline-link-common.js +3 -44
  1159. package/development/link/common/link-common.js +2 -10
  1160. package/development/link/common.d.ts +1 -3
  1161. package/development/link/common.d.ts.map +1 -1
  1162. package/development/link/common.js +4 -9
  1163. package/development/link/link/link.component.d.ts +1 -0
  1164. package/development/link/link/link.component.d.ts.map +1 -1
  1165. package/development/link/link/link.component.js +14 -22
  1166. package/development/link/link-button/link-button.component.d.ts +1 -0
  1167. package/development/link/link-button/link-button.component.d.ts.map +1 -1
  1168. package/development/link/link-button/link-button.component.js +14 -22
  1169. package/development/link/link-button.d.ts +0 -3
  1170. package/development/link/link-button.d.ts.map +1 -1
  1171. package/development/link/link-button.js +8 -4
  1172. package/development/link/link-static/link-static.component.d.ts +1 -0
  1173. package/development/link/link-static/link-static.component.d.ts.map +1 -1
  1174. package/development/link/link-static/link-static.component.js +14 -22
  1175. package/development/link/link-static.d.ts +0 -3
  1176. package/development/link/link-static.d.ts.map +1 -1
  1177. package/development/link/link-static.js +8 -4
  1178. package/development/link/link.d.ts +0 -3
  1179. package/development/link/link.d.ts.map +1 -1
  1180. package/development/link/link.js +8 -4
  1181. package/development/link-common-CrLiKO3x.js +124 -0
  1182. package/development/link-list/common/link-list-base.d.ts +3 -3
  1183. package/development/link-list/common/link-list-base.d.ts.map +1 -1
  1184. package/development/link-list/common/link-list-base.js +2 -113
  1185. package/development/link-list/common.d.ts +1 -3
  1186. package/development/link-list/common.d.ts.map +1 -1
  1187. package/development/link-list/common.js +8 -7
  1188. package/development/link-list/link-list-anchor.d.ts +2 -4
  1189. package/development/link-list/link-list-anchor.d.ts.map +1 -1
  1190. package/development/link-list/link-list-anchor.js +13 -5
  1191. package/development/link-list/{link-list/link-list.component.d.ts → link-list.component.d.ts} +3 -2
  1192. package/development/link-list/link-list.component.d.ts.map +1 -0
  1193. package/development/link-list/link-list.component.js +3 -0
  1194. package/development/link-list/link-list.d.ts +1 -4
  1195. package/development/link-list/link-list.d.ts.map +1 -1
  1196. package/development/link-list/link-list.js +11 -5
  1197. package/development/{link-list/link-list-anchor → link-list-anchor}/link-list-anchor.component.d.ts +2 -1
  1198. package/development/link-list-anchor/link-list-anchor.component.d.ts.map +1 -0
  1199. package/development/link-list-anchor/link-list-anchor.component.js +2 -0
  1200. package/development/link-list-anchor.component-CMwxD7at.js +77 -0
  1201. package/development/link-list-anchor.d.ts +2 -0
  1202. package/development/link-list-anchor.d.ts.map +1 -0
  1203. package/development/link-list-anchor.js +9 -0
  1204. package/development/link-list-anchor.pure.d.ts +3 -0
  1205. package/development/link-list-anchor.pure.d.ts.map +1 -0
  1206. package/development/link-list-anchor.pure.js +2 -0
  1207. package/development/link-list-base-BchLGP8G.js +172 -0
  1208. package/development/link-list.component-B3l5PRJl.js +194 -0
  1209. package/development/link-list.d.ts +1 -6
  1210. package/development/link-list.d.ts.map +1 -1
  1211. package/development/link-list.js +13 -11
  1212. package/development/link-list.pure.d.ts +4 -0
  1213. package/development/link-list.pure.d.ts.map +1 -0
  1214. package/development/link-list.pure.js +3 -0
  1215. package/development/link.d.ts +1 -10
  1216. package/development/link.d.ts.map +1 -1
  1217. package/development/link.js +16 -15
  1218. package/development/link.pure.d.ts +9 -0
  1219. package/development/link.pure.d.ts.map +1 -0
  1220. package/development/link.pure.js +11 -0
  1221. package/development/loading-indicator/loading-indicator.component.d.ts +4 -4
  1222. package/development/loading-indicator/loading-indicator.component.d.ts.map +1 -1
  1223. package/development/loading-indicator/loading-indicator.component.js +2 -255
  1224. package/development/loading-indicator-circle/loading-indicator-circle.component.d.ts +4 -4
  1225. package/development/loading-indicator-circle/loading-indicator-circle.component.d.ts.map +1 -1
  1226. package/development/loading-indicator-circle/loading-indicator-circle.component.js +2 -142
  1227. package/development/loading-indicator-circle.component-BJRSfYOI.js +144 -0
  1228. package/development/loading-indicator-circle.d.ts +1 -4
  1229. package/development/loading-indicator-circle.d.ts.map +1 -1
  1230. package/development/loading-indicator-circle.js +9 -5
  1231. package/development/loading-indicator-circle.pure.d.ts +3 -0
  1232. package/development/loading-indicator-circle.pure.d.ts.map +1 -0
  1233. package/development/loading-indicator-circle.pure.js +2 -0
  1234. package/development/loading-indicator.component-DolzcY0K.js +278 -0
  1235. package/development/loading-indicator.d.ts +1 -4
  1236. package/development/loading-indicator.d.ts.map +1 -1
  1237. package/development/loading-indicator.js +9 -5
  1238. package/development/loading-indicator.pure.d.ts +3 -0
  1239. package/development/loading-indicator.pure.d.ts.map +1 -0
  1240. package/development/loading-indicator.pure.js +2 -0
  1241. package/development/logo/logo.component.d.ts +4 -2
  1242. package/development/logo/logo.component.d.ts.map +1 -1
  1243. package/development/logo/logo.component.js +2 -152
  1244. package/development/logo.component-iu5iL8wQ.js +166 -0
  1245. package/development/logo.d.ts +1 -4
  1246. package/development/logo.d.ts.map +1 -1
  1247. package/development/logo.js +9 -5
  1248. package/development/logo.pure.d.ts +3 -0
  1249. package/development/logo.pure.d.ts.map +1 -0
  1250. package/development/logo.pure.js +2 -0
  1251. package/development/map-container/map-container.component.d.ts +4 -4
  1252. package/development/map-container/map-container.component.d.ts.map +1 -1
  1253. package/development/map-container/map-container.component.js +2 -288
  1254. package/development/map-container.component-DMF2oulu.js +307 -0
  1255. package/development/map-container.d.ts +1 -4
  1256. package/development/map-container.d.ts.map +1 -1
  1257. package/development/map-container.js +9 -5
  1258. package/development/map-container.pure.d.ts +3 -0
  1259. package/development/map-container.pure.d.ts.map +1 -0
  1260. package/development/map-container.pure.js +2 -0
  1261. package/development/menu/common/menu-action-common.js +2 -144
  1262. package/development/menu/common.d.ts +1 -3
  1263. package/development/menu/common.d.ts.map +1 -1
  1264. package/development/menu/common.js +8 -5
  1265. package/development/menu/menu/menu.component.d.ts +1 -0
  1266. package/development/menu/menu/menu.component.d.ts.map +1 -1
  1267. package/development/menu/menu/menu.component.js +2 -689
  1268. package/development/menu/menu-button/menu-button.component.d.ts +2 -1
  1269. package/development/menu/menu-button/menu-button.component.d.ts.map +1 -1
  1270. package/development/menu/menu-button/menu-button.component.js +21 -22
  1271. package/development/menu/menu-button.d.ts +0 -3
  1272. package/development/menu/menu-button.d.ts.map +1 -1
  1273. package/development/menu/menu-button.js +9 -4
  1274. package/development/menu/menu-link/menu-link.component.d.ts +2 -1
  1275. package/development/menu/menu-link/menu-link.component.d.ts.map +1 -1
  1276. package/development/menu/menu-link/menu-link.component.js +22 -27
  1277. package/development/menu/menu-link.d.ts +0 -3
  1278. package/development/menu/menu-link.d.ts.map +1 -1
  1279. package/development/menu/menu-link.js +9 -4
  1280. package/development/menu/menu.d.ts +0 -3
  1281. package/development/menu/menu.d.ts.map +1 -1
  1282. package/development/menu/menu.js +10 -5
  1283. package/development/menu-action-common-CE1gySL_.js +140 -0
  1284. package/development/menu.component-D4nt6M9b.js +620 -0
  1285. package/development/menu.d.ts +1 -7
  1286. package/development/menu.d.ts.map +1 -1
  1287. package/development/menu.js +12 -9
  1288. package/development/menu.pure.d.ts +6 -0
  1289. package/development/menu.pure.d.ts.map +1 -0
  1290. package/development/menu.pure.js +5 -0
  1291. package/development/message/message.component.d.ts +4 -2
  1292. package/development/message/message.component.d.ts.map +1 -1
  1293. package/development/message/message.component.js +2 -94
  1294. package/development/message.component-cyOtXMuM.js +82 -0
  1295. package/development/message.d.ts +1 -4
  1296. package/development/message.d.ts.map +1 -1
  1297. package/development/message.js +9 -5
  1298. package/development/message.pure.d.ts +3 -0
  1299. package/development/message.pure.d.ts.map +1 -0
  1300. package/development/message.pure.js +2 -0
  1301. package/development/mini-button-group.component-ytJZBjmr.js +174 -0
  1302. package/development/mini-button-link.component-DZOOdeZt.js +47 -0
  1303. package/development/mini-calendar/mini-calendar/mini-calendar.component.d.ts +4 -2
  1304. package/development/mini-calendar/mini-calendar/mini-calendar.component.d.ts.map +1 -1
  1305. package/development/mini-calendar/mini-calendar/mini-calendar.component.js +2 -194
  1306. package/development/mini-calendar/mini-calendar-day/mini-calendar-day.component.d.ts +1 -0
  1307. package/development/mini-calendar/mini-calendar-day/mini-calendar-day.component.d.ts.map +1 -1
  1308. package/development/mini-calendar/mini-calendar-day/mini-calendar-day.component.js +2 -175
  1309. package/development/mini-calendar/mini-calendar-day.d.ts +0 -3
  1310. package/development/mini-calendar/mini-calendar-day.d.ts.map +1 -1
  1311. package/development/mini-calendar/mini-calendar-day.js +10 -5
  1312. package/development/mini-calendar/mini-calendar-month/mini-calendar-month.component.d.ts +6 -4
  1313. package/development/mini-calendar/mini-calendar-month/mini-calendar-month.component.d.ts.map +1 -1
  1314. package/development/mini-calendar/mini-calendar-month/mini-calendar-month.component.js +2 -118
  1315. package/development/mini-calendar/mini-calendar-month.d.ts +0 -3
  1316. package/development/mini-calendar/mini-calendar-month.d.ts.map +1 -1
  1317. package/development/mini-calendar/mini-calendar-month.js +10 -5
  1318. package/development/mini-calendar/mini-calendar.d.ts +0 -3
  1319. package/development/mini-calendar/mini-calendar.d.ts.map +1 -1
  1320. package/development/mini-calendar/mini-calendar.js +10 -5
  1321. package/development/mini-calendar-day.component-B5SWuVZl.js +213 -0
  1322. package/development/mini-calendar-month.component-Diq4my2u.js +150 -0
  1323. package/development/mini-calendar.component-O44l8sfI.js +192 -0
  1324. package/development/mini-calendar.d.ts +1 -6
  1325. package/development/mini-calendar.d.ts.map +1 -1
  1326. package/development/mini-calendar.js +13 -9
  1327. package/development/mini-calendar.pure.d.ts +5 -0
  1328. package/development/mini-calendar.pure.d.ts.map +1 -0
  1329. package/development/mini-calendar.pure.js +4 -0
  1330. package/development/navigation/common/navigation-action-common.d.ts +2 -2
  1331. package/development/navigation/common/navigation-action-common.d.ts.map +1 -1
  1332. package/development/navigation/common/navigation-action-common.js +2 -165
  1333. package/development/navigation/common.d.ts +1 -3
  1334. package/development/navigation/common.d.ts.map +1 -1
  1335. package/development/navigation/common.js +8 -5
  1336. package/development/navigation/navigation/navigation.component.d.ts +2 -1
  1337. package/development/navigation/navigation/navigation.component.d.ts.map +1 -1
  1338. package/development/navigation/navigation/navigation.component.js +2 -578
  1339. package/development/navigation/navigation-button/navigation-button.component.d.ts +2 -1
  1340. package/development/navigation/navigation-button/navigation-button.component.d.ts.map +1 -1
  1341. package/development/navigation/navigation-button/navigation-button.component.js +15 -23
  1342. package/development/navigation/navigation-button.d.ts +0 -3
  1343. package/development/navigation/navigation-button.d.ts.map +1 -1
  1344. package/development/navigation/navigation-button.js +9 -4
  1345. package/development/navigation/navigation-link/navigation-link.component.d.ts +2 -1
  1346. package/development/navigation/navigation-link/navigation-link.component.d.ts.map +1 -1
  1347. package/development/navigation/navigation-link/navigation-link.component.js +15 -23
  1348. package/development/navigation/navigation-link.d.ts +0 -3
  1349. package/development/navigation/navigation-link.d.ts.map +1 -1
  1350. package/development/navigation/navigation-link.js +9 -4
  1351. package/development/navigation/navigation-list/navigation-list.component.d.ts +6 -4
  1352. package/development/navigation/navigation-list/navigation-list.component.d.ts.map +1 -1
  1353. package/development/navigation/navigation-list/navigation-list.component.js +2 -108
  1354. package/development/navigation/navigation-list.d.ts +0 -3
  1355. package/development/navigation/navigation-list.d.ts.map +1 -1
  1356. package/development/navigation/navigation-list.js +10 -5
  1357. package/development/navigation/navigation-marker/navigation-marker.component.d.ts +6 -4
  1358. package/development/navigation/navigation-marker/navigation-marker.component.d.ts.map +1 -1
  1359. package/development/navigation/navigation-marker/navigation-marker.component.js +2 -205
  1360. package/development/navigation/navigation-marker.d.ts +0 -3
  1361. package/development/navigation/navigation-marker.d.ts.map +1 -1
  1362. package/development/navigation/navigation-marker.js +10 -5
  1363. package/development/navigation/navigation-section/navigation-section.component.d.ts +1 -0
  1364. package/development/navigation/navigation-section/navigation-section.component.d.ts.map +1 -1
  1365. package/development/navigation/navigation-section/navigation-section.component.js +2 -595
  1366. package/development/navigation/navigation-section.d.ts +0 -3
  1367. package/development/navigation/navigation-section.d.ts.map +1 -1
  1368. package/development/navigation/navigation-section.js +10 -5
  1369. package/development/navigation/navigation.d.ts +0 -3
  1370. package/development/navigation/navigation.d.ts.map +1 -1
  1371. package/development/navigation/navigation.js +10 -5
  1372. package/development/navigation-action-common-CA2aDyJ4.js +178 -0
  1373. package/development/navigation-list.component-Dz0JLuKb.js +124 -0
  1374. package/development/navigation-marker.component-DzRg3INl.js +207 -0
  1375. package/development/navigation-section.component-DnSkQA4r.js +600 -0
  1376. package/development/navigation.component-DZ3EQfeI.js +585 -0
  1377. package/development/navigation.d.ts +1 -10
  1378. package/development/navigation.d.ts.map +1 -1
  1379. package/development/navigation.js +18 -15
  1380. package/development/navigation.pure.d.ts +9 -0
  1381. package/development/navigation.pure.d.ts.map +1 -0
  1382. package/development/navigation.pure.js +8 -0
  1383. package/development/notification/notification.component.d.ts +4 -2
  1384. package/development/notification/notification.component.d.ts.map +1 -1
  1385. package/development/notification/notification.component.js +2 -502
  1386. package/development/notification.component-D1xrOQdE.js +525 -0
  1387. package/development/notification.d.ts +1 -4
  1388. package/development/notification.d.ts.map +1 -1
  1389. package/development/notification.js +9 -5
  1390. package/development/notification.pure.d.ts +3 -0
  1391. package/development/notification.pure.d.ts.map +1 -0
  1392. package/development/notification.pure.js +2 -0
  1393. package/development/optgroup-base-element-DVLTejtg.js +181 -0
  1394. package/development/option/optgroup/optgroup-base-element.d.ts +4 -3
  1395. package/development/option/optgroup/optgroup-base-element.d.ts.map +1 -1
  1396. package/development/option/optgroup/optgroup-base-element.js +2 -158
  1397. package/development/option/optgroup/optgroup.component.d.ts +2 -1
  1398. package/development/option/optgroup/optgroup.component.d.ts.map +1 -1
  1399. package/development/option/optgroup/optgroup.component.js +40 -52
  1400. package/development/option/optgroup.d.ts +0 -3
  1401. package/development/option/optgroup.d.ts.map +1 -1
  1402. package/development/option/optgroup.js +10 -6
  1403. package/development/option/option/option-base-element.d.ts +3 -2
  1404. package/development/option/option/option-base-element.d.ts.map +1 -1
  1405. package/development/option/option/option-base-element.js +352 -278
  1406. package/development/option/option/option.component.d.ts +1 -0
  1407. package/development/option/option/option.component.d.ts.map +1 -1
  1408. package/development/option/option/option.component.js +2 -252
  1409. package/development/option/option-hint/option-hint.component.d.ts +4 -2
  1410. package/development/option/option-hint/option-hint.component.d.ts.map +1 -1
  1411. package/development/option/option-hint/option-hint.component.js +2 -56
  1412. package/development/option/option-hint.d.ts +0 -3
  1413. package/development/option/option-hint.d.ts.map +1 -1
  1414. package/development/option/option-hint.js +10 -5
  1415. package/development/option/option.d.ts +0 -3
  1416. package/development/option/option.d.ts.map +1 -1
  1417. package/development/option/option.js +10 -6
  1418. package/development/option-hint.component-w-UQdEdu.js +55 -0
  1419. package/development/option.component-BPN2WTiI.js +248 -0
  1420. package/development/option.d.ts +1 -6
  1421. package/development/option.d.ts.map +1 -1
  1422. package/development/option.js +13 -11
  1423. package/development/option.pure.d.ts +7 -0
  1424. package/development/option.pure.d.ts.map +1 -0
  1425. package/development/option.pure.js +6 -0
  1426. package/development/overlay/overlay-base-element.js +238 -247
  1427. package/development/overlay/overlay.component.d.ts +1 -0
  1428. package/development/overlay/overlay.component.d.ts.map +1 -1
  1429. package/development/overlay/overlay.component.js +2 -381
  1430. package/development/overlay.component-Btd42clm.js +411 -0
  1431. package/development/overlay.d.ts +1 -5
  1432. package/development/overlay.d.ts.map +1 -1
  1433. package/development/overlay.js +9 -9
  1434. package/development/overlay.pure.d.ts +4 -0
  1435. package/development/overlay.pure.d.ts.map +1 -0
  1436. package/development/overlay.pure.js +3 -0
  1437. package/development/paginator/common/paginator-common.d.ts +4 -3
  1438. package/development/paginator/common/paginator-common.d.ts.map +1 -1
  1439. package/development/paginator/common/paginator-common.js +377 -272
  1440. package/development/paginator/common.d.ts +1 -3
  1441. package/development/paginator/common.d.ts.map +1 -1
  1442. package/development/paginator/common.js +7 -4
  1443. package/development/paginator/compact-paginator/compact-paginator.component.d.ts +4 -2
  1444. package/development/paginator/compact-paginator/compact-paginator.component.d.ts.map +1 -1
  1445. package/development/paginator/compact-paginator/compact-paginator.component.js +2 -98
  1446. package/development/paginator/compact-paginator.d.ts +0 -3
  1447. package/development/paginator/compact-paginator.d.ts.map +1 -1
  1448. package/development/paginator/compact-paginator.js +10 -5
  1449. package/development/paginator/paginator/paginator.component.d.ts +4 -2
  1450. package/development/paginator/paginator/paginator.component.d.ts.map +1 -1
  1451. package/development/paginator/paginator/paginator.component.js +2 -450
  1452. package/development/paginator/paginator.d.ts +0 -3
  1453. package/development/paginator/paginator.d.ts.map +1 -1
  1454. package/development/paginator/paginator.js +10 -5
  1455. package/development/paginator.component-DT-sZuFS.js +492 -0
  1456. package/development/paginator.d.ts +1 -6
  1457. package/development/paginator.d.ts.map +1 -1
  1458. package/development/paginator.js +11 -8
  1459. package/development/paginator.pure.d.ts +5 -0
  1460. package/development/paginator.pure.d.ts.map +1 -0
  1461. package/development/paginator.pure.js +4 -0
  1462. package/development/popover/popover.component.d.ts +2 -3
  1463. package/development/popover/popover.component.d.ts.map +1 -1
  1464. package/development/popover/popover.component.js +2 -726
  1465. package/development/popover.component-CLwOes_-.js +746 -0
  1466. package/development/popover.d.ts +1 -4
  1467. package/development/popover.d.ts.map +1 -1
  1468. package/development/popover.js +9 -6
  1469. package/development/popover.pure.d.ts +3 -0
  1470. package/development/popover.pure.d.ts.map +1 -0
  1471. package/development/popover.pure.js +2 -0
  1472. package/development/radio-button/common/radio-button-common.d.ts +4 -5
  1473. package/development/radio-button/common/radio-button-common.d.ts.map +1 -1
  1474. package/development/radio-button/common/radio-button-common.js +2 -89
  1475. package/development/radio-button/common.d.ts +1 -3
  1476. package/development/radio-button/common.d.ts.map +1 -1
  1477. package/development/radio-button/common.js +8 -7
  1478. package/development/radio-button/radio-button-group.d.ts +1 -4
  1479. package/development/radio-button/radio-button-group.d.ts.map +1 -1
  1480. package/development/radio-button/radio-button-group.js +10 -5
  1481. package/development/radio-button/radio-button-panel.d.ts +1 -4
  1482. package/development/radio-button/radio-button-panel.d.ts.map +1 -1
  1483. package/development/radio-button/radio-button-panel.js +10 -5
  1484. package/development/radio-button/{radio-button/radio-button.component.d.ts → radio-button.component.d.ts} +5 -3
  1485. package/development/radio-button/radio-button.component.d.ts.map +1 -0
  1486. package/development/radio-button/radio-button.component.js +3 -0
  1487. package/development/radio-button/radio-button.d.ts +1 -4
  1488. package/development/radio-button/radio-button.d.ts.map +1 -1
  1489. package/development/radio-button/radio-button.js +11 -5
  1490. package/development/radio-button-common-CsjMvmAn.js +231 -0
  1491. package/development/{radio-button/radio-button-group → radio-button-group}/radio-button-group.component.d.ts +12 -31
  1492. package/development/radio-button-group/radio-button-group.component.d.ts.map +1 -0
  1493. package/development/radio-button-group/radio-button-group.component.js +186 -0
  1494. package/development/radio-button-group.d.ts +2 -0
  1495. package/development/radio-button-group.d.ts.map +1 -0
  1496. package/development/radio-button-group.js +9 -0
  1497. package/development/radio-button-group.pure.d.ts +3 -0
  1498. package/development/radio-button-group.pure.d.ts.map +1 -0
  1499. package/development/radio-button-group.pure.js +2 -0
  1500. package/development/{radio-button/radio-button-panel → radio-button-panel}/radio-button-panel.component.d.ts +4 -3
  1501. package/development/radio-button-panel/radio-button-panel.component.d.ts.map +1 -0
  1502. package/development/radio-button-panel/radio-button-panel.component.js +126 -0
  1503. package/development/radio-button-panel.d.ts +2 -0
  1504. package/development/radio-button-panel.d.ts.map +1 -0
  1505. package/development/radio-button-panel.js +9 -0
  1506. package/development/radio-button-panel.pure.d.ts +3 -0
  1507. package/development/radio-button-panel.pure.d.ts.map +1 -0
  1508. package/development/radio-button-panel.pure.js +2 -0
  1509. package/development/radio-button.component-BTnHGixs.js +137 -0
  1510. package/development/radio-button.d.ts +3 -7
  1511. package/development/radio-button.d.ts.map +1 -1
  1512. package/development/radio-button.js +16 -13
  1513. package/development/radio-button.pure.d.ts +4 -0
  1514. package/development/radio-button.pure.d.ts.map +1 -0
  1515. package/development/radio-button.pure.js +3 -0
  1516. package/development/sbb-tokens-Lrm4nvNH.js +13 -0
  1517. package/development/screen-reader-only/screen-reader-only.component.d.ts +4 -2
  1518. package/development/screen-reader-only/screen-reader-only.component.d.ts.map +1 -1
  1519. package/development/screen-reader-only/screen-reader-only.component.js +2 -37
  1520. package/development/screen-reader-only.component-Btj8mc2x.js +36 -0
  1521. package/development/screen-reader-only.d.ts +1 -4
  1522. package/development/screen-reader-only.d.ts.map +1 -1
  1523. package/development/screen-reader-only.js +9 -5
  1524. package/development/screen-reader-only.pure.d.ts +3 -0
  1525. package/development/screen-reader-only.pure.d.ts.map +1 -0
  1526. package/development/screen-reader-only.pure.js +2 -0
  1527. package/development/select/select.component.d.ts +2 -1
  1528. package/development/select/select.component.d.ts.map +1 -1
  1529. package/development/select/select.component.js +2 -1094
  1530. package/development/select.component-DJV8Tjcw.js +1084 -0
  1531. package/development/select.d.ts +1 -4
  1532. package/development/select.d.ts.map +1 -1
  1533. package/development/select.js +9 -5
  1534. package/development/select.pure.d.ts +3 -0
  1535. package/development/select.pure.d.ts.map +1 -0
  1536. package/development/select.pure.js +2 -0
  1537. package/development/selection-action-panel/selection-action-panel.component.d.ts +4 -2
  1538. package/development/selection-action-panel/selection-action-panel.component.d.ts.map +1 -1
  1539. package/development/selection-action-panel/selection-action-panel.component.js +2 -137
  1540. package/development/selection-action-panel.component-B3pNvpeD.js +134 -0
  1541. package/development/selection-action-panel.d.ts +1 -4
  1542. package/development/selection-action-panel.d.ts.map +1 -1
  1543. package/development/selection-action-panel.js +9 -5
  1544. package/development/selection-action-panel.pure.d.ts +3 -0
  1545. package/development/selection-action-panel.pure.d.ts.map +1 -0
  1546. package/development/selection-action-panel.pure.js +2 -0
  1547. package/development/selection-expansion-panel/selection-expansion-panel.component.d.ts +4 -2
  1548. package/development/selection-expansion-panel/selection-expansion-panel.component.d.ts.map +1 -1
  1549. package/development/selection-expansion-panel/selection-expansion-panel.component.js +2 -312
  1550. package/development/selection-expansion-panel.component-B9v1yqif.js +326 -0
  1551. package/development/selection-expansion-panel.d.ts +1 -4
  1552. package/development/selection-expansion-panel.d.ts.map +1 -1
  1553. package/development/selection-expansion-panel.js +9 -5
  1554. package/development/selection-expansion-panel.pure.d.ts +3 -0
  1555. package/development/selection-expansion-panel.pure.d.ts.map +1 -0
  1556. package/development/selection-expansion-panel.pure.js +2 -0
  1557. package/development/selection-group-base-element-DrTO_80I.js +220 -0
  1558. package/development/sidebar/common/styles.d.ts +1 -0
  1559. package/development/sidebar/common/styles.d.ts.map +1 -0
  1560. package/development/sidebar/common/styles.js +2 -0
  1561. package/development/sidebar/common.d.ts +2 -3
  1562. package/development/sidebar/common.d.ts.map +1 -1
  1563. package/development/sidebar/common.js +8 -7
  1564. package/development/sidebar/sidebar/sidebar.component.d.ts +2 -1
  1565. package/development/sidebar/sidebar/sidebar.component.d.ts.map +1 -1
  1566. package/development/sidebar/sidebar/sidebar.component.js +2 -480
  1567. package/development/sidebar/sidebar-close-button/sidebar-close-button.component.d.ts +1 -0
  1568. package/development/sidebar/sidebar-close-button/sidebar-close-button.component.d.ts.map +1 -1
  1569. package/development/sidebar/sidebar-close-button/sidebar-close-button.component.js +2 -49
  1570. package/development/sidebar/sidebar-close-button.d.ts +0 -3
  1571. package/development/sidebar/sidebar-close-button.d.ts.map +1 -1
  1572. package/development/sidebar/sidebar-close-button.js +10 -5
  1573. package/development/sidebar/sidebar-container/sidebar-container.component.d.ts +5 -3
  1574. package/development/sidebar/sidebar-container/sidebar-container.component.d.ts.map +1 -1
  1575. package/development/sidebar/sidebar-container/sidebar-container.component.js +2 -159
  1576. package/development/sidebar/sidebar-container.d.ts +0 -3
  1577. package/development/sidebar/sidebar-container.d.ts.map +1 -1
  1578. package/development/sidebar/sidebar-container.js +10 -5
  1579. package/development/sidebar/sidebar-content/sidebar-content.component.d.ts +4 -2
  1580. package/development/sidebar/sidebar-content/sidebar-content.component.d.ts.map +1 -1
  1581. package/development/sidebar/sidebar-content/sidebar-content.component.js +2 -37
  1582. package/development/sidebar/sidebar-content.d.ts +0 -3
  1583. package/development/sidebar/sidebar-content.d.ts.map +1 -1
  1584. package/development/sidebar/sidebar-content.js +10 -5
  1585. package/development/sidebar/sidebar-title/sidebar-title.component.d.ts +1 -0
  1586. package/development/sidebar/sidebar-title/sidebar-title.component.d.ts.map +1 -1
  1587. package/development/sidebar/sidebar-title/sidebar-title.component.js +2 -60
  1588. package/development/sidebar/sidebar-title.d.ts +0 -3
  1589. package/development/sidebar/sidebar-title.d.ts.map +1 -1
  1590. package/development/sidebar/sidebar-title.js +10 -5
  1591. package/development/sidebar/sidebar.d.ts +0 -3
  1592. package/development/sidebar/sidebar.d.ts.map +1 -1
  1593. package/development/sidebar/sidebar.js +10 -5
  1594. package/development/sidebar-close-button.component-DYl0czc_.js +48 -0
  1595. package/development/sidebar-container.component-f4gR6uPU.js +136 -0
  1596. package/development/sidebar-content.component-B70pf9tH.js +37 -0
  1597. package/development/sidebar-title.component-RStE_x3R.js +76 -0
  1598. package/development/sidebar.component-BDUew-xS.js +506 -0
  1599. package/development/sidebar.d.ts +1 -9
  1600. package/development/sidebar.d.ts.map +1 -1
  1601. package/development/sidebar.js +17 -17
  1602. package/development/sidebar.pure.d.ts +7 -0
  1603. package/development/sidebar.pure.d.ts.map +1 -0
  1604. package/development/sidebar.pure.js +6 -0
  1605. package/development/signet/signet.component.d.ts +4 -2
  1606. package/development/signet/signet.component.d.ts.map +1 -1
  1607. package/development/signet/signet.component.js +2 -157
  1608. package/development/signet.component-B9nY5tTL.js +188 -0
  1609. package/development/signet.d.ts +1 -4
  1610. package/development/signet.d.ts.map +1 -1
  1611. package/development/signet.js +9 -5
  1612. package/development/signet.pure.d.ts +3 -0
  1613. package/development/signet.pure.d.ts.map +1 -0
  1614. package/development/signet.pure.js +2 -0
  1615. package/development/skiplink-list/skiplink-list.component.d.ts +4 -2
  1616. package/development/skiplink-list/skiplink-list.component.d.ts.map +1 -1
  1617. package/development/skiplink-list/skiplink-list.component.js +2 -166
  1618. package/development/skiplink-list.component-BvbnZ24-.js +198 -0
  1619. package/development/skiplink-list.d.ts +1 -4
  1620. package/development/skiplink-list.d.ts.map +1 -1
  1621. package/development/skiplink-list.js +9 -5
  1622. package/development/skiplink-list.pure.d.ts +3 -0
  1623. package/development/skiplink-list.pure.d.ts.map +1 -0
  1624. package/development/skiplink-list.pure.js +2 -0
  1625. package/development/slider/slider.component.d.ts +4 -2
  1626. package/development/slider/slider.component.d.ts.map +1 -1
  1627. package/development/slider/slider.component.js +2 -398
  1628. package/development/slider.component-w_WtVNx-.js +479 -0
  1629. package/development/slider.d.ts +1 -4
  1630. package/development/slider.d.ts.map +1 -1
  1631. package/development/slider.js +9 -5
  1632. package/development/slider.pure.d.ts +3 -0
  1633. package/development/slider.pure.d.ts.map +1 -0
  1634. package/development/slider.pure.js +2 -0
  1635. package/development/status/status.component.d.ts +4 -2
  1636. package/development/status/status.component.d.ts.map +1 -1
  1637. package/development/status/status.component.js +2 -151
  1638. package/development/status.component-CD4RXPEj.js +171 -0
  1639. package/development/status.d.ts +1 -4
  1640. package/development/status.d.ts.map +1 -1
  1641. package/development/status.js +9 -5
  1642. package/development/status.pure.d.ts +3 -0
  1643. package/development/status.pure.d.ts.map +1 -0
  1644. package/development/status.pure.js +2 -0
  1645. package/development/step-label.component-DbdXrY05.js +298 -0
  1646. package/development/step.component-BZ8GnSvF.js +220 -0
  1647. package/development/stepper/step/step.component.d.ts +8 -8
  1648. package/development/stepper/step/step.component.d.ts.map +1 -1
  1649. package/development/stepper/step/step.component.js +2 -226
  1650. package/development/stepper/step-label/step-label.component.d.ts +3 -2
  1651. package/development/stepper/step-label/step-label.component.d.ts.map +1 -1
  1652. package/development/stepper/step-label/step-label.component.js +2 -310
  1653. package/development/stepper/step-label.d.ts +0 -3
  1654. package/development/stepper/step-label.d.ts.map +1 -1
  1655. package/development/stepper/step-label.js +10 -5
  1656. package/development/stepper/step.d.ts +0 -3
  1657. package/development/stepper/step.d.ts.map +1 -1
  1658. package/development/stepper/step.js +10 -5
  1659. package/development/stepper/stepper/stepper.component.d.ts +5 -5
  1660. package/development/stepper/stepper/stepper.component.d.ts.map +1 -1
  1661. package/development/stepper/stepper/stepper.component.js +2 -472
  1662. package/development/stepper/stepper.d.ts +0 -3
  1663. package/development/stepper/stepper.d.ts.map +1 -1
  1664. package/development/stepper/stepper.js +10 -6
  1665. package/development/stepper.component-C20566P1.js +508 -0
  1666. package/development/stepper.d.ts +1 -6
  1667. package/development/stepper.d.ts.map +1 -1
  1668. package/development/stepper.js +13 -10
  1669. package/development/stepper.pure.d.ts +5 -0
  1670. package/development/stepper.pure.d.ts.map +1 -0
  1671. package/development/stepper.pure.js +4 -0
  1672. package/development/sticky-bar.component-DxDHpEgX.js +382 -0
  1673. package/development/styles-BlQUk9lF.js +96 -0
  1674. package/development/styles-TKvcDQkA.js +173 -0
  1675. package/development/tab-group.component-C6jlhxvZ.js +292 -0
  1676. package/development/tab-label.component-C0qpk3p_.js +420 -0
  1677. package/development/tab-nav-bar.component-CbZKhBxs.js +123 -0
  1678. package/development/tab.component-DvEZBqQ6.js +101 -0
  1679. package/development/table/table-wrapper/table-wrapper.component.d.ts +4 -2
  1680. package/development/table/table-wrapper/table-wrapper.component.d.ts.map +1 -1
  1681. package/development/table/table-wrapper/table-wrapper.component.js +2 -126
  1682. package/development/table/table-wrapper.d.ts +0 -3
  1683. package/development/table/table-wrapper.d.ts.map +1 -1
  1684. package/development/table/table-wrapper.js +10 -5
  1685. package/development/table-wrapper.component-lmWguT_t.js +133 -0
  1686. package/development/table.d.ts +1 -4
  1687. package/development/table.d.ts.map +1 -1
  1688. package/development/table.js +9 -5
  1689. package/development/table.pure.d.ts +3 -0
  1690. package/development/table.pure.d.ts.map +1 -0
  1691. package/development/table.pure.js +2 -0
  1692. package/development/tabs/common/styles.d.ts +1 -0
  1693. package/development/tabs/common/styles.d.ts.map +1 -0
  1694. package/development/tabs/common/styles.js +2 -0
  1695. package/development/tabs/common.d.ts +2 -3
  1696. package/development/tabs/common.d.ts.map +1 -1
  1697. package/development/tabs/common.js +8 -171
  1698. package/development/tabs/tab/tab.component.d.ts +5 -5
  1699. package/development/tabs/tab/tab.component.d.ts.map +1 -1
  1700. package/development/tabs/tab/tab.component.js +2 -98
  1701. package/development/tabs/tab-group/tab-group.component.d.ts +8 -8
  1702. package/development/tabs/tab-group/tab-group.component.d.ts.map +1 -1
  1703. package/development/tabs/tab-group/tab-group.component.js +2 -242
  1704. package/development/tabs/tab-group.d.ts +0 -3
  1705. package/development/tabs/tab-group.d.ts.map +1 -1
  1706. package/development/tabs/tab-group.js +10 -5
  1707. package/development/tabs/tab-label/tab-label.component.d.ts +6 -4
  1708. package/development/tabs/tab-label/tab-label.component.d.ts.map +1 -1
  1709. package/development/tabs/tab-label/tab-label.component.js +2 -375
  1710. package/development/tabs/tab-label.d.ts +0 -3
  1711. package/development/tabs/tab-label.d.ts.map +1 -1
  1712. package/development/tabs/tab-label.js +10 -5
  1713. package/development/tabs/tab-nav-bar/tab-nav-bar.component.d.ts +4 -2
  1714. package/development/tabs/tab-nav-bar/tab-nav-bar.component.d.ts.map +1 -1
  1715. package/development/tabs/tab-nav-bar/tab-nav-bar.component.js +2 -105
  1716. package/development/tabs/tab-nav-bar.d.ts +0 -3
  1717. package/development/tabs/tab-nav-bar.d.ts.map +1 -1
  1718. package/development/tabs/tab-nav-bar.js +10 -5
  1719. package/development/tabs/tab.d.ts +0 -3
  1720. package/development/tabs/tab.d.ts.map +1 -1
  1721. package/development/tabs/tab.js +10 -5
  1722. package/development/tabs.d.ts +1 -7
  1723. package/development/tabs.d.ts.map +1 -1
  1724. package/development/tabs.js +16 -11
  1725. package/development/tabs.pure.d.ts +7 -0
  1726. package/development/tabs.pure.d.ts.map +1 -0
  1727. package/development/tabs.pure.js +6 -0
  1728. package/development/tag/tag/tag.component.d.ts +1 -0
  1729. package/development/tag/tag/tag.component.d.ts.map +1 -1
  1730. package/development/tag/tag/tag.component.js +2 -358
  1731. package/development/tag/tag-group/tag-group.component.d.ts +5 -3
  1732. package/development/tag/tag-group/tag-group.component.d.ts.map +1 -1
  1733. package/development/tag/tag-group/tag-group.component.js +2 -185
  1734. package/development/tag/tag-group.d.ts +0 -3
  1735. package/development/tag/tag-group.d.ts.map +1 -1
  1736. package/development/tag/tag-group.js +10 -5
  1737. package/development/tag/tag.d.ts +0 -3
  1738. package/development/tag/tag.d.ts.map +1 -1
  1739. package/development/tag/tag.js +10 -5
  1740. package/development/tag-group.component-BW1vj2rN.js +219 -0
  1741. package/development/tag.component-Cfx7YNV5.js +419 -0
  1742. package/development/tag.d.ts +1 -5
  1743. package/development/tag.d.ts.map +1 -1
  1744. package/development/tag.js +11 -7
  1745. package/development/tag.pure.d.ts +4 -0
  1746. package/development/tag.pure.d.ts.map +1 -0
  1747. package/development/tag.pure.js +3 -0
  1748. package/development/teaser/teaser.component.d.ts +1 -0
  1749. package/development/teaser/teaser.component.d.ts.map +1 -1
  1750. package/development/teaser/teaser.component.js +2 -231
  1751. package/development/teaser-hero/teaser-hero.component.d.ts +1 -0
  1752. package/development/teaser-hero/teaser-hero.component.d.ts.map +1 -1
  1753. package/development/teaser-hero/teaser-hero.component.js +2 -179
  1754. package/development/teaser-hero.component-sUhYQXkN.js +202 -0
  1755. package/development/teaser-hero.d.ts +1 -4
  1756. package/development/teaser-hero.d.ts.map +1 -1
  1757. package/development/teaser-hero.js +9 -5
  1758. package/development/teaser-hero.pure.d.ts +3 -0
  1759. package/development/teaser-hero.pure.d.ts.map +1 -0
  1760. package/development/teaser-hero.pure.js +2 -0
  1761. package/development/teaser-product/common/teaser-product-common.d.ts +0 -1
  1762. package/development/teaser-product/common/teaser-product-common.d.ts.map +1 -1
  1763. package/development/teaser-product/common/teaser-product-common.js +2 -64
  1764. package/development/teaser-product/common.d.ts +1 -3
  1765. package/development/teaser-product/common.d.ts.map +1 -1
  1766. package/development/teaser-product/common.js +8 -7
  1767. package/development/teaser-product/teaser-product/teaser-product.component.d.ts +2 -1
  1768. package/development/teaser-product/teaser-product/teaser-product.component.d.ts.map +1 -1
  1769. package/development/teaser-product/teaser-product/teaser-product.component.js +2 -76
  1770. package/development/teaser-product/teaser-product-static/teaser-product-static.component.d.ts +2 -1
  1771. package/development/teaser-product/teaser-product-static/teaser-product-static.component.d.ts.map +1 -1
  1772. package/development/teaser-product/teaser-product-static/teaser-product-static.component.js +22 -22
  1773. package/development/teaser-product/teaser-product-static.d.ts +0 -3
  1774. package/development/teaser-product/teaser-product-static.d.ts.map +1 -1
  1775. package/development/teaser-product/teaser-product-static.js +9 -4
  1776. package/development/teaser-product/teaser-product.d.ts +0 -3
  1777. package/development/teaser-product/teaser-product.d.ts.map +1 -1
  1778. package/development/teaser-product/teaser-product.js +10 -5
  1779. package/development/teaser-product-common-zgX2CF41.js +223 -0
  1780. package/development/teaser-product.component-w8Vjh-RN.js +75 -0
  1781. package/development/teaser-product.d.ts +1 -6
  1782. package/development/teaser-product.d.ts.map +1 -1
  1783. package/development/teaser-product.js +11 -10
  1784. package/development/teaser-product.pure.d.ts +5 -0
  1785. package/development/teaser-product.pure.d.ts.map +1 -0
  1786. package/development/teaser-product.pure.js +4 -0
  1787. package/development/teaser.component-BI1diIhL.js +246 -0
  1788. package/development/teaser.d.ts +1 -4
  1789. package/development/teaser.d.ts.map +1 -1
  1790. package/development/teaser.js +9 -5
  1791. package/development/teaser.pure.d.ts +3 -0
  1792. package/development/teaser.pure.d.ts.map +1 -0
  1793. package/development/teaser.pure.js +2 -0
  1794. package/development/time-input/time-input.component.d.ts +4 -2
  1795. package/development/time-input/time-input.component.d.ts.map +1 -1
  1796. package/development/time-input/time-input.component.js +2 -219
  1797. package/development/time-input.component-B15eaxBr.js +222 -0
  1798. package/development/time-input.d.ts +1 -4
  1799. package/development/time-input.d.ts.map +1 -1
  1800. package/development/time-input.js +9 -5
  1801. package/development/time-input.pure.d.ts +3 -0
  1802. package/development/time-input.pure.d.ts.map +1 -0
  1803. package/development/time-input.pure.js +2 -0
  1804. package/development/timetable-form/timetable-form/timetable-form.component.d.ts +4 -2
  1805. package/development/timetable-form/timetable-form/timetable-form.component.d.ts.map +1 -1
  1806. package/development/timetable-form/timetable-form/timetable-form.component.js +2 -34
  1807. package/development/timetable-form/timetable-form-details/timetable-form-details.component.d.ts +4 -2
  1808. package/development/timetable-form/timetable-form-details/timetable-form-details.component.d.ts.map +1 -1
  1809. package/development/timetable-form/timetable-form-details/timetable-form-details.component.js +2 -51
  1810. package/development/timetable-form/timetable-form-details.d.ts +0 -3
  1811. package/development/timetable-form/timetable-form-details.d.ts.map +1 -1
  1812. package/development/timetable-form/timetable-form-details.js +10 -5
  1813. package/development/timetable-form/timetable-form-field/timetable-form-field.component.d.ts +2 -1
  1814. package/development/timetable-form/timetable-form-field/timetable-form-field.component.d.ts.map +1 -1
  1815. package/development/timetable-form/timetable-form-field/timetable-form-field.component.js +2 -124
  1816. package/development/timetable-form/timetable-form-field.d.ts +0 -3
  1817. package/development/timetable-form/timetable-form-field.d.ts.map +1 -1
  1818. package/development/timetable-form/timetable-form-field.js +10 -5
  1819. package/development/timetable-form/timetable-form-swap-button/timetable-form-swap-button.component.d.ts +1 -0
  1820. package/development/timetable-form/timetable-form-swap-button/timetable-form-swap-button.component.d.ts.map +1 -1
  1821. package/development/timetable-form/timetable-form-swap-button/timetable-form-swap-button.component.js +2 -76
  1822. package/development/timetable-form/timetable-form-swap-button.d.ts +0 -3
  1823. package/development/timetable-form/timetable-form-swap-button.d.ts.map +1 -1
  1824. package/development/timetable-form/timetable-form-swap-button.js +10 -5
  1825. package/development/timetable-form/timetable-form.d.ts +0 -3
  1826. package/development/timetable-form/timetable-form.d.ts.map +1 -1
  1827. package/development/timetable-form/timetable-form.js +10 -5
  1828. package/development/timetable-form-details.component-Bz6nsJEp.js +50 -0
  1829. package/development/timetable-form-field.component-BQHwNBP_.js +119 -0
  1830. package/development/timetable-form-swap-button.component-C111nH5V.js +74 -0
  1831. package/development/timetable-form.component-BwcJd7mP.js +34 -0
  1832. package/development/timetable-form.d.ts +1 -7
  1833. package/development/timetable-form.d.ts.map +1 -1
  1834. package/development/timetable-form.js +15 -11
  1835. package/development/timetable-form.pure.d.ts +6 -0
  1836. package/development/timetable-form.pure.d.ts.map +1 -0
  1837. package/development/timetable-form.pure.js +5 -0
  1838. package/development/timetable-occupancy/timetable-occupancy.component.d.ts +4 -2
  1839. package/development/timetable-occupancy/timetable-occupancy.component.d.ts.map +1 -1
  1840. package/development/timetable-occupancy/timetable-occupancy.component.js +2 -146
  1841. package/development/timetable-occupancy-icon/timetable-occupancy-icon.component.d.ts +1 -0
  1842. package/development/timetable-occupancy-icon/timetable-occupancy-icon.component.d.ts.map +1 -1
  1843. package/development/timetable-occupancy-icon/timetable-occupancy-icon.component.js +2 -96
  1844. package/development/timetable-occupancy-icon.component-BbPiOTqO.js +101 -0
  1845. package/development/timetable-occupancy-icon.d.ts +1 -4
  1846. package/development/timetable-occupancy-icon.d.ts.map +1 -1
  1847. package/development/timetable-occupancy-icon.js +9 -5
  1848. package/development/timetable-occupancy-icon.pure.d.ts +3 -0
  1849. package/development/timetable-occupancy-icon.pure.d.ts.map +1 -0
  1850. package/development/timetable-occupancy-icon.pure.js +2 -0
  1851. package/development/timetable-occupancy.component-COJQPJ-O.js +172 -0
  1852. package/development/timetable-occupancy.d.ts +1 -4
  1853. package/development/timetable-occupancy.d.ts.map +1 -1
  1854. package/development/timetable-occupancy.js +9 -5
  1855. package/development/timetable-occupancy.pure.d.ts +3 -0
  1856. package/development/timetable-occupancy.pure.d.ts.map +1 -0
  1857. package/development/timetable-occupancy.pure.js +2 -0
  1858. package/development/title/title-base.d.ts +3 -4
  1859. package/development/title/title-base.d.ts.map +1 -1
  1860. package/development/title/title-base.js +2 -109
  1861. package/development/title/title.component.d.ts +1 -0
  1862. package/development/title/title.component.d.ts.map +1 -1
  1863. package/development/title/title.component.js +3 -96
  1864. package/development/title-base-DNSaV9Ar.js +142 -0
  1865. package/development/title.component-BY1lm4Z7.js +115 -0
  1866. package/development/title.d.ts +1 -5
  1867. package/development/title.d.ts.map +1 -1
  1868. package/development/title.js +10 -7
  1869. package/development/title.pure.d.ts +4 -0
  1870. package/development/title.pure.d.ts.map +1 -0
  1871. package/development/title.pure.js +3 -0
  1872. package/development/toast/toast.component.d.ts +2 -1
  1873. package/development/toast/toast.component.d.ts.map +1 -1
  1874. package/development/toast/toast.component.js +2 -408
  1875. package/development/toast.component-TMMY3vo-.js +430 -0
  1876. package/development/toast.d.ts +1 -4
  1877. package/development/toast.d.ts.map +1 -1
  1878. package/development/toast.js +9 -5
  1879. package/development/toast.pure.d.ts +3 -0
  1880. package/development/toast.pure.d.ts.map +1 -0
  1881. package/development/toast.pure.js +2 -0
  1882. package/development/toggle/toggle/toggle.component.d.ts +5 -3
  1883. package/development/toggle/toggle/toggle.component.d.ts.map +1 -1
  1884. package/development/toggle/toggle/toggle.component.js +2 -338
  1885. package/development/toggle/toggle-option/toggle-option.component.d.ts +4 -2
  1886. package/development/toggle/toggle-option/toggle-option.component.d.ts.map +1 -1
  1887. package/development/toggle/toggle-option/toggle-option.component.js +2 -185
  1888. package/development/toggle/toggle-option.d.ts +0 -3
  1889. package/development/toggle/toggle-option.d.ts.map +1 -1
  1890. package/development/toggle/toggle-option.js +10 -5
  1891. package/development/toggle/toggle.d.ts +0 -3
  1892. package/development/toggle/toggle.d.ts.map +1 -1
  1893. package/development/toggle/toggle.js +10 -5
  1894. package/development/toggle-check/toggle-check.component.d.ts +4 -2
  1895. package/development/toggle-check/toggle-check.component.d.ts.map +1 -1
  1896. package/development/toggle-check/toggle-check.component.js +2 -280
  1897. package/development/toggle-check.component-eyni_u24.js +326 -0
  1898. package/development/toggle-check.d.ts +1 -4
  1899. package/development/toggle-check.d.ts.map +1 -1
  1900. package/development/toggle-check.js +9 -5
  1901. package/development/toggle-check.pure.d.ts +3 -0
  1902. package/development/toggle-check.pure.d.ts.map +1 -0
  1903. package/development/toggle-check.pure.js +2 -0
  1904. package/development/toggle-option.component-Cerp56FA.js +216 -0
  1905. package/development/toggle.component-9bozw9C0.js +367 -0
  1906. package/development/toggle.d.ts +1 -5
  1907. package/development/toggle.d.ts.map +1 -1
  1908. package/development/toggle.js +11 -7
  1909. package/development/toggle.pure.d.ts +4 -0
  1910. package/development/toggle.pure.d.ts.map +1 -0
  1911. package/development/toggle.pure.js +3 -0
  1912. package/development/tooltip/tooltip.component.d.ts +2 -1
  1913. package/development/tooltip/tooltip.component.d.ts.map +1 -1
  1914. package/development/tooltip/tooltip.component.js +2 -447
  1915. package/development/tooltip.component-DpeuOb4p.js +480 -0
  1916. package/development/tooltip.d.ts +1 -4
  1917. package/development/tooltip.d.ts.map +1 -1
  1918. package/development/tooltip.js +9 -5
  1919. package/development/tooltip.pure.d.ts +3 -0
  1920. package/development/tooltip.pure.d.ts.map +1 -0
  1921. package/development/tooltip.pure.js +2 -0
  1922. package/development/train/train/train.component.d.ts +6 -4
  1923. package/development/train/train/train.component.d.ts.map +1 -1
  1924. package/development/train/train/train.component.js +2 -235
  1925. package/development/train/train-blocked-passage/train-blocked-passage.component.d.ts +4 -2
  1926. package/development/train/train-blocked-passage/train-blocked-passage.component.d.ts.map +1 -1
  1927. package/development/train/train-blocked-passage/train-blocked-passage.component.js +2 -82
  1928. package/development/train/train-blocked-passage.d.ts +0 -3
  1929. package/development/train/train-blocked-passage.d.ts.map +1 -1
  1930. package/development/train/train-blocked-passage.js +10 -5
  1931. package/development/train/train-formation/train-formation.component.d.ts +5 -3
  1932. package/development/train/train-formation/train-formation.component.d.ts.map +1 -1
  1933. package/development/train/train-formation/train-formation.component.js +2 -280
  1934. package/development/train/train-formation.d.ts +0 -3
  1935. package/development/train/train-formation.d.ts.map +1 -1
  1936. package/development/train/train-formation.js +10 -5
  1937. package/development/train/train-wagon/train-wagon.component.d.ts +4 -2
  1938. package/development/train/train-wagon/train-wagon.component.d.ts.map +1 -1
  1939. package/development/train/train-wagon/train-wagon.component.js +2 -393
  1940. package/development/train/train-wagon.d.ts +0 -3
  1941. package/development/train/train-wagon.d.ts.map +1 -1
  1942. package/development/train/train-wagon.js +10 -5
  1943. package/development/train/train.d.ts +0 -3
  1944. package/development/train/train.d.ts.map +1 -1
  1945. package/development/train/train.js +10 -5
  1946. package/development/train-blocked-passage.component-YA9rV23T.js +79 -0
  1947. package/development/train-formation.component-Bh2Cx4if.js +303 -0
  1948. package/development/train-wagon.component-DQ12gCZf.js +485 -0
  1949. package/development/train.component-DW4vZtEt.js +294 -0
  1950. package/development/train.d.ts +1 -7
  1951. package/development/train.d.ts.map +1 -1
  1952. package/development/train.js +15 -11
  1953. package/development/train.pure.d.ts +6 -0
  1954. package/development/train.pure.d.ts.map +1 -0
  1955. package/development/train.pure.js +5 -0
  1956. package/development/visual-checkbox/visual-checkbox.component.d.ts +5 -3
  1957. package/development/visual-checkbox/visual-checkbox.component.d.ts.map +1 -1
  1958. package/development/visual-checkbox/visual-checkbox.component.js +2 -170
  1959. package/development/visual-checkbox.component-CA6AKLbO.js +213 -0
  1960. package/development/visual-checkbox.d.ts +1 -4
  1961. package/development/visual-checkbox.d.ts.map +1 -1
  1962. package/development/visual-checkbox.js +9 -5
  1963. package/development/visual-checkbox.pure.d.ts +3 -0
  1964. package/development/visual-checkbox.pure.d.ts.map +1 -0
  1965. package/development/visual-checkbox.pure.js +2 -0
  1966. package/dialog/dialog/dialog.component.js +2 -148
  1967. package/dialog/dialog-actions/dialog-actions.component.js +2 -21
  1968. package/dialog/dialog-actions.js +4 -4
  1969. package/dialog/dialog-close-button/dialog-close-button.component.js +2 -31
  1970. package/dialog/dialog-close-button.js +4 -4
  1971. package/dialog/dialog-content/dialog-content.component.js +2 -22
  1972. package/dialog/dialog-content.js +4 -4
  1973. package/dialog/dialog-title/dialog-title.component.js +2 -21
  1974. package/dialog/dialog-title.js +4 -4
  1975. package/dialog/dialog.js +4 -7
  1976. package/dialog-actions.component-QvbasYxg.js +17 -0
  1977. package/dialog-close-button.component-CeZrvBtz.js +27 -0
  1978. package/dialog-content.component-bHJNAgKn.js +19 -0
  1979. package/dialog-title.component-BDHYjDn0.js +17 -0
  1980. package/dialog.component-CIPresmM.js +170 -0
  1981. package/dialog.js +9 -15
  1982. package/dialog.pure.js +6 -0
  1983. package/divider/divider.component.js +2 -43
  1984. package/divider.component-B99DkxCv.js +61 -0
  1985. package/divider.js +6 -4
  1986. package/divider.pure.js +2 -0
  1987. package/error.component-DTYppqRY.js +44 -0
  1988. package/expansion-panel/expansion-panel/expansion-panel.component.js +2 -155
  1989. package/expansion-panel/expansion-panel-content/expansion-panel-content.component.js +2 -32
  1990. package/expansion-panel/expansion-panel-content.js +4 -4
  1991. package/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +2 -65
  1992. package/expansion-panel/expansion-panel-header.js +4 -4
  1993. package/expansion-panel/expansion-panel.js +4 -4
  1994. package/expansion-panel-content.component-DCl4nQ8V.js +29 -0
  1995. package/expansion-panel-header.component-jc1Ty5jz.js +56 -0
  1996. package/expansion-panel.component-CGss5cPS.js +226 -0
  1997. package/expansion-panel.js +7 -8
  1998. package/expansion-panel.pure.js +4 -0
  1999. package/file-selector/common/file-selector-common.js +2 -243
  2000. package/file-selector/common.js +5 -6
  2001. package/file-selector/file-selector/file-selector.component.js +26 -27
  2002. package/file-selector/file-selector-dropzone/file-selector-dropzone.component.js +2 -74
  2003. package/file-selector/file-selector-dropzone.js +4 -4
  2004. package/file-selector/file-selector.js +4 -4
  2005. package/file-selector-common-C--h0Yj2.js +313 -0
  2006. package/file-selector-dropzone.component-BFlkqlsq.js +94 -0
  2007. package/file-selector.js +7 -10
  2008. package/file-selector.pure.js +4 -0
  2009. package/flip-card/flip-card/flip-card.component.js +2 -119
  2010. package/flip-card/flip-card-details/flip-card-details.component.js +2 -46
  2011. package/flip-card/flip-card-details.js +4 -4
  2012. package/flip-card/flip-card-summary/flip-card-summary.component.js +2 -49
  2013. package/flip-card/flip-card-summary.js +4 -4
  2014. package/flip-card/flip-card.js +4 -4
  2015. package/flip-card-details.component-BOVK7F1U.js +45 -0
  2016. package/flip-card-summary.component-DVa7wF7x.js +65 -0
  2017. package/flip-card.component-5pxuwGAv.js +138 -0
  2018. package/flip-card.js +7 -8
  2019. package/flip-card.pure.js +4 -0
  2020. package/footer/footer.component.js +2 -88
  2021. package/footer.component-C-mSrCud.js +129 -0
  2022. package/footer.js +6 -4
  2023. package/footer.pure.js +2 -0
  2024. package/form-field/error/error.component.js +2 -47
  2025. package/form-field/error.js +4 -4
  2026. package/form-field/form-field/form-field.component.js +2 -343
  2027. package/form-field/form-field-clear/form-field-clear.component.js +36 -36
  2028. package/form-field/form-field-clear.js +4 -4
  2029. package/form-field/form-field.js +4 -5
  2030. package/form-field.component-CWj6jfYZ.js +447 -0
  2031. package/form-field.js +7 -9
  2032. package/form-field.pure.js +4 -0
  2033. package/header/common/header-action-common.js +2 -51
  2034. package/header/common.js +5 -4
  2035. package/header/header/header.component.js +2 -154
  2036. package/header/header-button/header-button.component.js +9 -15
  2037. package/header/header-button.js +4 -4
  2038. package/header/header-environment/header-environment.component.js +2 -37
  2039. package/header/header-environment.js +4 -4
  2040. package/header/header-link/header-link.component.js +9 -15
  2041. package/header/header-link.js +4 -4
  2042. package/header/header.js +4 -4
  2043. package/header-action-common-W_j0KPr-.js +62 -0
  2044. package/header-environment.component-DduyZo6W.js +36 -0
  2045. package/header.component-DW23EnaO.js +203 -0
  2046. package/header.js +9 -10
  2047. package/header.pure.js +6 -0
  2048. package/icon/icon-base.js +2 -105
  2049. package/icon/icon-name-mixin.js +59 -50
  2050. package/icon/icon-request.js +23 -29
  2051. package/icon/icon-validate.js +19 -25
  2052. package/icon/icon.component.js +88 -76
  2053. package/icon-base-C2VxpriZ.js +127 -0
  2054. package/icon-sidebar/icon-sidebar/icon-sidebar.component.js +2 -46
  2055. package/icon-sidebar/icon-sidebar-button/icon-sidebar-button.component.js +20 -23
  2056. package/icon-sidebar/icon-sidebar-button.js +4 -4
  2057. package/icon-sidebar/icon-sidebar-container/icon-sidebar-container.component.js +2 -32
  2058. package/icon-sidebar/icon-sidebar-container.js +4 -4
  2059. package/icon-sidebar/icon-sidebar-content/icon-sidebar-content.component.js +2 -23
  2060. package/icon-sidebar/icon-sidebar-content.js +4 -4
  2061. package/icon-sidebar/icon-sidebar-link/icon-sidebar-link.component.js +20 -23
  2062. package/icon-sidebar/icon-sidebar-link.js +4 -4
  2063. package/icon-sidebar/icon-sidebar.js +4 -4
  2064. package/icon-sidebar-container.component-BGhKzy4e.js +26 -0
  2065. package/icon-sidebar-content.component-Ck5kHeMx.js +20 -0
  2066. package/icon-sidebar.component-D3vOnYrs.js +62 -0
  2067. package/icon-sidebar.js +9 -12
  2068. package/icon-sidebar.pure.js +6 -0
  2069. package/icon.js +10 -13
  2070. package/icon.pure.js +6 -0
  2071. package/image/image.component.js +2 -455
  2072. package/image.component-BcOwT7-U.js +413 -0
  2073. package/image.js +6 -4
  2074. package/image.pure.js +2 -0
  2075. package/index.d.ts +83 -158
  2076. package/index.js +83 -158
  2077. package/inline-link-common-DANB-hT-.js +18 -0
  2078. package/journey-header/journey-header.component.js +2 -95
  2079. package/journey-header.component-CjXBxEor.js +143 -0
  2080. package/journey-header.js +6 -4
  2081. package/journey-header.pure.js +2 -0
  2082. package/lead-container/lead-container.component.js +2 -33
  2083. package/lead-container.component-D9VzZCQa.js +27 -0
  2084. package/lead-container.js +6 -4
  2085. package/lead-container.pure.js +2 -0
  2086. package/link/block-link/block-link.component.js +10 -16
  2087. package/link/block-link-button/block-link-button.component.js +10 -16
  2088. package/link/block-link-button.js +5 -3
  2089. package/link/block-link-static/block-link-static.component.js +10 -16
  2090. package/link/block-link-static.js +6 -4
  2091. package/link/block-link.js +6 -4
  2092. package/link/common/block-link-common.js +3 -44
  2093. package/link/common/inline-link-common.js +3 -13
  2094. package/link/common/link-common.js +2 -9
  2095. package/link/common.js +4 -8
  2096. package/link/link/link.component.js +10 -16
  2097. package/link/link-button/link-button.component.js +10 -16
  2098. package/link/link-button.js +6 -4
  2099. package/link/link-static/link-static.component.js +10 -16
  2100. package/link/link-static.js +6 -4
  2101. package/link/link.js +6 -4
  2102. package/link-common-akQv_-UR.js +52 -0
  2103. package/link-list/common/link-list-base.js +2 -87
  2104. package/link-list/common.js +5 -6
  2105. package/link-list/link-list-anchor.js +7 -4
  2106. package/link-list/link-list.component.js +3 -0
  2107. package/link-list/link-list.js +5 -4
  2108. package/link-list-anchor/link-list-anchor.component.js +2 -0
  2109. package/link-list-anchor.component-Qm7h2mHK.js +18 -0
  2110. package/link-list-anchor.js +6 -0
  2111. package/link-list-anchor.pure.js +2 -0
  2112. package/link-list-base-CrpC5D4u.js +115 -0
  2113. package/link-list.component-C8zrqHYc.js +78 -0
  2114. package/link-list.js +8 -10
  2115. package/link-list.pure.js +3 -0
  2116. package/link.js +13 -20
  2117. package/link.pure.js +11 -0
  2118. package/loading-indicator/loading-indicator.component.js +2 -67
  2119. package/loading-indicator-circle/loading-indicator-circle.component.js +2 -47
  2120. package/loading-indicator-circle.component-DfjVqe7n.js +62 -0
  2121. package/loading-indicator-circle.js +6 -4
  2122. package/loading-indicator-circle.pure.js +2 -0
  2123. package/loading-indicator.component-DkYs30Nf.js +92 -0
  2124. package/loading-indicator.js +6 -4
  2125. package/loading-indicator.pure.js +2 -0
  2126. package/logo/logo.component.js +2 -68
  2127. package/logo.component-CdZe8lrB.js +94 -0
  2128. package/logo.js +6 -4
  2129. package/logo.pure.js +2 -0
  2130. package/map-container/map-container.component.js +2 -110
  2131. package/map-container.component-C_wbi6WL.js +128 -0
  2132. package/map-container.js +6 -4
  2133. package/map-container.pure.js +2 -0
  2134. package/menu/common/menu-action-common.js +2 -28
  2135. package/menu/common.js +5 -4
  2136. package/menu/menu/menu.component.js +2 -272
  2137. package/menu/menu-button/menu-button.component.js +13 -16
  2138. package/menu/menu-button.js +4 -4
  2139. package/menu/menu-link/menu-link.component.js +13 -19
  2140. package/menu/menu-link.js +4 -4
  2141. package/menu/menu.js +4 -4
  2142. package/menu-action-common-vt9j6nkG.js +29 -0
  2143. package/menu.component-elxRPsQz.js +252 -0
  2144. package/menu.js +8 -10
  2145. package/menu.pure.js +5 -0
  2146. package/message/message.component.js +2 -32
  2147. package/message.component-DDMr1IXM.js +27 -0
  2148. package/message.js +6 -4
  2149. package/message.pure.js +2 -0
  2150. package/mini-button-group.component-D5Dph1Z7.js +89 -0
  2151. package/mini-button-link.component-BYK_EUud.js +31 -0
  2152. package/mini-calendar/mini-calendar/mini-calendar.component.js +2 -130
  2153. package/mini-calendar/mini-calendar-day/mini-calendar-day.component.js +2 -66
  2154. package/mini-calendar/mini-calendar-day.js +4 -4
  2155. package/mini-calendar/mini-calendar-month/mini-calendar-month.component.js +2 -60
  2156. package/mini-calendar/mini-calendar-month.js +4 -4
  2157. package/mini-calendar/mini-calendar.js +4 -4
  2158. package/mini-calendar-day.component-Tj7wlWj7.js +106 -0
  2159. package/mini-calendar-month.component-DTod_RRs.js +74 -0
  2160. package/mini-calendar.component-BCDHUUZG.js +144 -0
  2161. package/mini-calendar.js +7 -8
  2162. package/mini-calendar.pure.js +4 -0
  2163. package/navigation/common/navigation-action-common.js +2 -57
  2164. package/navigation/common.js +5 -4
  2165. package/navigation/navigation/navigation.component.js +2 -188
  2166. package/navigation/navigation-button/navigation-button.component.js +9 -15
  2167. package/navigation/navigation-button.js +3 -3
  2168. package/navigation/navigation-link/navigation-link.component.js +9 -15
  2169. package/navigation/navigation-link.js +4 -4
  2170. package/navigation/navigation-list/navigation-list.component.js +2 -58
  2171. package/navigation/navigation-list.js +4 -4
  2172. package/navigation/navigation-marker/navigation-marker.component.js +2 -81
  2173. package/navigation/navigation-marker.js +4 -4
  2174. package/navigation/navigation-section/navigation-section.component.js +2 -224
  2175. package/navigation/navigation-section.js +4 -4
  2176. package/navigation/navigation.js +4 -4
  2177. package/navigation-action-common-D_-gGOYm.js +64 -0
  2178. package/navigation-list.component-DnB7FrKG.js +71 -0
  2179. package/navigation-marker.component-B7hmb9iS.js +88 -0
  2180. package/navigation-section.component-C86pkDLG.js +237 -0
  2181. package/navigation.component-BzgTWUiD.js +208 -0
  2182. package/navigation.js +11 -16
  2183. package/navigation.pure.js +8 -0
  2184. package/notification/notification.component.js +2 -164
  2185. package/notification.component-Cor1vQGU.js +197 -0
  2186. package/notification.js +6 -4
  2187. package/notification.pure.js +2 -0
  2188. package/off-brand-theme.css +324 -241
  2189. package/optgroup-base-element-C8LeifgF.js +107 -0
  2190. package/option/optgroup/optgroup-base-element.js +2 -82
  2191. package/option/optgroup/optgroup.component.js +29 -37
  2192. package/option/optgroup.js +5 -6
  2193. package/option/option/option-base-element.js +257 -200
  2194. package/option/option/option.component.js +2 -95
  2195. package/option/option-hint/option-hint.component.js +2 -26
  2196. package/option/option-hint.js +4 -4
  2197. package/option/option.js +5 -6
  2198. package/option-hint.component-kPdwK61Z.js +23 -0
  2199. package/option.component-DF9ZTj12.js +98 -0
  2200. package/option.js +9 -12
  2201. package/option.pure.js +6 -0
  2202. package/overlay/overlay-base-element.js +154 -149
  2203. package/overlay/overlay.component.js +2 -138
  2204. package/overlay.component-CAN3BK7B.js +163 -0
  2205. package/overlay.js +7 -9
  2206. package/overlay.pure.js +3 -0
  2207. package/package.json +436 -1
  2208. package/paginator/common/paginator-common.js +269 -201
  2209. package/paginator/common.js +5 -4
  2210. package/paginator/compact-paginator/compact-paginator.component.js +2 -47
  2211. package/paginator/compact-paginator.js +4 -4
  2212. package/paginator/paginator/paginator.component.js +2 -174
  2213. package/paginator/paginator.js +4 -4
  2214. package/paginator.component-CsSs5q4D.js +206 -0
  2215. package/paginator.js +6 -7
  2216. package/paginator.pure.js +4 -0
  2217. package/popover/popover.component.js +2 -316
  2218. package/popover.component-eBpmXakQ.js +354 -0
  2219. package/popover.js +6 -5
  2220. package/popover.pure.js +2 -0
  2221. package/radio-button/common/radio-button-common.js +2 -60
  2222. package/radio-button/common.js +5 -6
  2223. package/radio-button/radio-button-group.js +4 -4
  2224. package/radio-button/radio-button-panel.js +4 -4
  2225. package/radio-button/radio-button.component.js +3 -0
  2226. package/radio-button/radio-button.js +5 -4
  2227. package/radio-button-common-QHPueQrm.js +77 -0
  2228. package/radio-button-group/radio-button-group.component.js +126 -0
  2229. package/radio-button-group.js +6 -0
  2230. package/radio-button-group.pure.js +2 -0
  2231. package/radio-button-panel/radio-button-panel.component.js +93 -0
  2232. package/radio-button-panel.js +6 -0
  2233. package/radio-button-panel.pure.js +2 -0
  2234. package/radio-button.component-CVPy3eQi.js +93 -0
  2235. package/radio-button.js +10 -12
  2236. package/radio-button.pure.js +3 -0
  2237. package/safety-theme.css +324 -241
  2238. package/sbb-tokens-BtASsKhQ.js +4 -0
  2239. package/screen-reader-only/screen-reader-only.component.js +2 -19
  2240. package/screen-reader-only.component-DEOirlKo.js +16 -0
  2241. package/screen-reader-only.js +6 -4
  2242. package/screen-reader-only.pure.js +2 -0
  2243. package/select/select.component.js +2 -498
  2244. package/select.component-CsIiislt.js +522 -0
  2245. package/select.js +6 -4
  2246. package/select.pure.js +2 -0
  2247. package/selection-action-panel/selection-action-panel.component.js +2 -40
  2248. package/selection-action-panel.component-QfR2kPeM.js +35 -0
  2249. package/selection-action-panel.js +6 -4
  2250. package/selection-action-panel.pure.js +2 -0
  2251. package/selection-expansion-panel/selection-expansion-panel.component.js +2 -115
  2252. package/selection-expansion-panel.component-BQw9icBM.js +144 -0
  2253. package/selection-expansion-panel.js +6 -4
  2254. package/selection-expansion-panel.pure.js +2 -0
  2255. package/selection-group-base-element-Bd6na8dT.js +113 -0
  2256. package/sidebar/common/styles.js +2 -0
  2257. package/sidebar/common.js +5 -6
  2258. package/sidebar/sidebar/sidebar.component.js +2 -182
  2259. package/sidebar/sidebar-close-button/sidebar-close-button.component.js +2 -34
  2260. package/sidebar/sidebar-close-button.js +4 -4
  2261. package/sidebar/sidebar-container/sidebar-container.component.js +2 -83
  2262. package/sidebar/sidebar-container.js +4 -4
  2263. package/sidebar/sidebar-content/sidebar-content.component.js +2 -23
  2264. package/sidebar/sidebar-content.js +4 -4
  2265. package/sidebar/sidebar-title/sidebar-title.component.js +2 -39
  2266. package/sidebar/sidebar-title.js +4 -4
  2267. package/sidebar/sidebar.js +4 -4
  2268. package/sidebar-close-button.component-D0JS2p5L.js +30 -0
  2269. package/sidebar-container.component-BFxFShTF.js +63 -0
  2270. package/sidebar-content.component-M7FGd8SF.js +20 -0
  2271. package/sidebar-title.component-BfjxBPpH.js +53 -0
  2272. package/sidebar.component-zRpWDGKR.js +238 -0
  2273. package/sidebar.js +9 -16
  2274. package/sidebar.pure.js +6 -0
  2275. package/signet/signet.component.js +2 -73
  2276. package/signet.component-Kwdy4Uor.js +101 -0
  2277. package/signet.js +6 -4
  2278. package/signet.pure.js +2 -0
  2279. package/skiplink-list/skiplink-list.component.js +2 -76
  2280. package/skiplink-list.component-BRJk6HvC.js +102 -0
  2281. package/skiplink-list.js +6 -4
  2282. package/skiplink-list.pure.js +2 -0
  2283. package/slider/slider.component.js +2 -199
  2284. package/slider.component-CLNsu212.js +249 -0
  2285. package/slider.js +6 -4
  2286. package/slider.pure.js +2 -0
  2287. package/standard-theme.css +324 -241
  2288. package/status/status.component.js +2 -69
  2289. package/status.component-CmLdUn37.js +83 -0
  2290. package/status.js +6 -4
  2291. package/status.pure.js +2 -0
  2292. package/step-label.component-DTkviH8Q.js +82 -0
  2293. package/step.component-eKVtXlT4.js +94 -0
  2294. package/stepper/step/step.component.js +2 -116
  2295. package/stepper/step-label/step-label.component.js +2 -102
  2296. package/stepper/step-label.js +4 -4
  2297. package/stepper/step.js +4 -4
  2298. package/stepper/stepper/stepper.component.js +2 -236
  2299. package/stepper/stepper.js +4 -5
  2300. package/stepper.component-yWCQtYWc.js +286 -0
  2301. package/stepper.js +7 -9
  2302. package/stepper.pure.js +4 -0
  2303. package/sticky-bar.component-BqZVKHc7.js +141 -0
  2304. package/styles-CsBiCI23.js +5 -0
  2305. package/styles-DYZWSKeo.js +5 -0
  2306. package/tab-group.component-DE4H3_H4.js +185 -0
  2307. package/tab-label.component-BnxPGws1.js +165 -0
  2308. package/tab-nav-bar.component-n5TiTWxE.js +81 -0
  2309. package/tab.component-BrIEFDxk.js +48 -0
  2310. package/table/table-wrapper/table-wrapper.component.js +2 -69
  2311. package/table/table-wrapper.js +4 -4
  2312. package/table-wrapper.component-CoqozurQ.js +83 -0
  2313. package/table.js +6 -4
  2314. package/table.pure.js +2 -0
  2315. package/tabs/common/styles.js +2 -0
  2316. package/tabs/common.js +5 -6
  2317. package/tabs/tab/tab.component.js +2 -52
  2318. package/tabs/tab-group/tab-group.component.js +2 -166
  2319. package/tabs/tab-group.js +4 -4
  2320. package/tabs/tab-label/tab-label.component.js +2 -127
  2321. package/tabs/tab-label.js +4 -4
  2322. package/tabs/tab-nav-bar/tab-nav-bar.component.js +2 -66
  2323. package/tabs/tab-nav-bar.js +4 -4
  2324. package/tabs/tab.js +4 -4
  2325. package/tabs.js +9 -10
  2326. package/tabs.pure.js +6 -0
  2327. package/tag/tag/tag.component.js +2 -128
  2328. package/tag/tag-group/tag-group.component.js +2 -118
  2329. package/tag/tag-group.js +4 -4
  2330. package/tag/tag.js +4 -4
  2331. package/tag-group.component-DiIp6zS1.js +143 -0
  2332. package/tag.component-CfK6JwsO.js +170 -0
  2333. package/tag.js +6 -6
  2334. package/tag.pure.js +3 -0
  2335. package/teaser/teaser.component.js +2 -80
  2336. package/teaser-hero/teaser-hero.component.js +2 -62
  2337. package/teaser-hero.component-DjodzcX_.js +80 -0
  2338. package/teaser-hero.js +6 -4
  2339. package/teaser-hero.pure.js +2 -0
  2340. package/teaser-product/common/teaser-product-common.js +2 -53
  2341. package/teaser-product/common.js +5 -6
  2342. package/teaser-product/teaser-product/teaser-product.component.js +2 -36
  2343. package/teaser-product/teaser-product-static/teaser-product-static.component.js +13 -16
  2344. package/teaser-product/teaser-product-static.js +4 -4
  2345. package/teaser-product/teaser-product.js +4 -4
  2346. package/teaser-product-common-DkumwiRA.js +62 -0
  2347. package/teaser-product.component-DiOhM_rU.js +29 -0
  2348. package/teaser-product.js +7 -10
  2349. package/teaser-product.pure.js +4 -0
  2350. package/teaser.component-C7sJLVMk.js +91 -0
  2351. package/teaser.js +6 -4
  2352. package/teaser.pure.js +2 -0
  2353. package/time-input/time-input.component.js +2 -127
  2354. package/time-input.component-DT1BOC8m.js +141 -0
  2355. package/time-input.js +6 -4
  2356. package/time-input.pure.js +2 -0
  2357. package/timetable-form/timetable-form/timetable-form.component.js +2 -19
  2358. package/timetable-form/timetable-form-details/timetable-form-details.component.js +2 -19
  2359. package/timetable-form/timetable-form-details.js +4 -4
  2360. package/timetable-form/timetable-form-field/timetable-form-field.component.js +2 -32
  2361. package/timetable-form/timetable-form-field.js +4 -4
  2362. package/timetable-form/timetable-form-swap-button/timetable-form-swap-button.component.js +2 -41
  2363. package/timetable-form/timetable-form-swap-button.js +4 -4
  2364. package/timetable-form/timetable-form.js +4 -4
  2365. package/timetable-form-details.component-DI5Mr8-O.js +16 -0
  2366. package/timetable-form-field.component-2kEWygEC.js +32 -0
  2367. package/timetable-form-swap-button.component-BGP-OsHD.js +37 -0
  2368. package/timetable-form.component-BqdKekNM.js +16 -0
  2369. package/timetable-form.js +8 -10
  2370. package/timetable-form.pure.js +5 -0
  2371. package/timetable-occupancy/timetable-occupancy.component.js +2 -76
  2372. package/timetable-occupancy-icon/timetable-occupancy-icon.component.js +2 -61
  2373. package/timetable-occupancy-icon.component-ZrzpXaeV.js +72 -0
  2374. package/timetable-occupancy-icon.js +6 -4
  2375. package/timetable-occupancy-icon.pure.js +2 -0
  2376. package/timetable-occupancy.component-DMztYVmj.js +101 -0
  2377. package/timetable-occupancy.js +6 -4
  2378. package/timetable-occupancy.pure.js +2 -0
  2379. package/title/title-base.js +2 -53
  2380. package/title/title.component.js +3 -37
  2381. package/title-base-BDYkc8fG.js +80 -0
  2382. package/title.component-DafVwymI.js +54 -0
  2383. package/title.js +7 -6
  2384. package/title.pure.js +3 -0
  2385. package/toast/toast.component.js +2 -180
  2386. package/toast.component-DbILctK5.js +189 -0
  2387. package/toast.js +6 -4
  2388. package/toast.pure.js +2 -0
  2389. package/toggle/toggle/toggle.component.js +2 -147
  2390. package/toggle/toggle-option/toggle-option.component.js +2 -89
  2391. package/toggle/toggle-option.js +4 -4
  2392. package/toggle/toggle.js +4 -4
  2393. package/toggle-check/toggle-check.component.js +2 -84
  2394. package/toggle-check.component-CPewUjOg.js +119 -0
  2395. package/toggle-check.js +6 -4
  2396. package/toggle-check.pure.js +2 -0
  2397. package/toggle-option.component-NMfqwd12.js +123 -0
  2398. package/toggle.component-D1n5S5ev.js +161 -0
  2399. package/toggle.js +6 -6
  2400. package/toggle.pure.js +3 -0
  2401. package/tooltip/tooltip.component.js +2 -197
  2402. package/tooltip.component-X45T6iQH.js +228 -0
  2403. package/tooltip.js +6 -4
  2404. package/tooltip.pure.js +2 -0
  2405. package/train/train/train.component.js +2 -122
  2406. package/train/train-blocked-passage/train-blocked-passage.component.js +2 -26
  2407. package/train/train-blocked-passage.js +4 -4
  2408. package/train/train-formation/train-formation.component.js +2 -92
  2409. package/train/train-formation.js +4 -4
  2410. package/train/train-wagon/train-wagon.component.js +2 -173
  2411. package/train/train-wagon.js +4 -4
  2412. package/train/train.js +4 -4
  2413. package/train-blocked-passage.component-RIMoX91U.js +23 -0
  2414. package/train-formation.component-B17tc6cx.js +121 -0
  2415. package/train-wagon.component-bGA2a-0M.js +259 -0
  2416. package/train.component-V6FLqC82.js +176 -0
  2417. package/train.js +8 -10
  2418. package/train.pure.js +5 -0
  2419. package/visual-checkbox/visual-checkbox.component.js +2 -80
  2420. package/visual-checkbox.component-eajUDpKu.js +118 -0
  2421. package/visual-checkbox.js +6 -4
  2422. package/visual-checkbox.pure.js +2 -0
  2423. package/checkbox/checkbox/checkbox.component.js +0 -90
  2424. package/checkbox/checkbox-group/checkbox-group.component.js +0 -100
  2425. package/checkbox/checkbox-panel/checkbox-panel.component.js +0 -75
  2426. package/checkbox-common-t04WeA36.js +0 -5
  2427. package/datepicker-button-Debzp_As.js +0 -5
  2428. package/development/checkbox/checkbox/checkbox.component.d.ts.map +0 -1
  2429. package/development/checkbox/checkbox/checkbox.component.js +0 -147
  2430. package/development/checkbox/checkbox-group/checkbox-group.component.d.ts +0 -39
  2431. package/development/checkbox/checkbox-group/checkbox-group.component.d.ts.map +0 -1
  2432. package/development/checkbox/checkbox-group/checkbox-group.component.js +0 -218
  2433. package/development/checkbox/checkbox-panel/checkbox-panel.component.d.ts.map +0 -1
  2434. package/development/checkbox/checkbox-panel/checkbox-panel.component.js +0 -94
  2435. package/development/checkbox-common-D2-QcV8n.js +0 -66
  2436. package/development/datepicker-button-BDlxIp9r.js +0 -9
  2437. package/development/file-selector-common-B-9Eiig3.js +0 -102
  2438. package/development/icon-sidebar-button-common-DR6eQvkq.js +0 -93
  2439. package/development/link-common-d27fHmQw.js +0 -111
  2440. package/development/link-list/link-list/link-list.component.d.ts.map +0 -1
  2441. package/development/link-list/link-list/link-list.component.js +0 -159
  2442. package/development/link-list/link-list-anchor/link-list-anchor.component.d.ts.map +0 -1
  2443. package/development/link-list/link-list-anchor/link-list-anchor.component.js +0 -74
  2444. package/development/link-list-base-CJJ3qdD7.js +0 -21
  2445. package/development/mini-button-label-common-BaMSfSTe.js +0 -558
  2446. package/development/radio-button/radio-button/radio-button.component.d.ts.map +0 -1
  2447. package/development/radio-button/radio-button/radio-button.component.js +0 -103
  2448. package/development/radio-button/radio-button-group/radio-button-group.component.d.ts.map +0 -1
  2449. package/development/radio-button/radio-button-group/radio-button-group.component.js +0 -314
  2450. package/development/radio-button/radio-button-panel/radio-button-panel.component.d.ts.map +0 -1
  2451. package/development/radio-button/radio-button-panel/radio-button-panel.component.js +0 -108
  2452. package/development/radio-button-common-4_yg7r8b.js +0 -116
  2453. package/development/sbb-tokens-DQT_xEIZ.js +0 -19
  2454. package/development/teaser-product-common-CJfmvweQ.js +0 -150
  2455. package/file-selector-common-DbYkpr-x.js +0 -5
  2456. package/icon-sidebar-button-common-ffAscVDk.js +0 -7
  2457. package/link-common-7IiqjmPD.js +0 -45
  2458. package/link-list/link-list/link-list.component.js +0 -47
  2459. package/link-list/link-list-anchor/link-list-anchor.component.js +0 -18
  2460. package/link-list-base-3v7CHEei.js +0 -5
  2461. package/mini-button-label-common-Dx9JhmQ6.js +0 -11
  2462. package/radio-button/radio-button/radio-button.component.js +0 -70
  2463. package/radio-button/radio-button-group/radio-button-group.component.js +0 -166
  2464. package/radio-button/radio-button-panel/radio-button-panel.component.js +0 -82
  2465. package/radio-button-common-Bf2b18jm.js +0 -5
  2466. package/sbb-tokens-HiNSQasB.js +0 -11
  2467. package/teaser-product-common-DwaWdQEh.js +0 -5
@@ -1,319 +1,340 @@
1
- import { __esDecorate, __runInitializers } from "tslib";
2
- import { isServer, html } from "lit";
3
- import { property, eventOptions } from "lit/decorators.js";
4
- import { sbbInputModalityDetector } from "../a11y.js";
5
- import { SbbLanguageController, SbbMediaQueryPointerCoarse } from "../controllers.js";
6
- import { isWebkit, isBlink } from "../dom.js";
7
- import { i18nInputRequired } from "../i18n.js";
8
1
  import { SbbDisabledMixin } from "./disabled-mixin.js";
9
2
  import { SbbElementInternalsMixin } from "./element-internals-mixin.js";
10
3
  import { SbbFormAssociatedMixin } from "./form-associated-mixin.js";
11
- import { SbbReadonlyMixin } from "./readonly-mixin.js";
12
4
  import { SbbRequiredMixin } from "./required-mixin.js";
13
- const checkPlaintextOnlySupport = () => {
14
- if (isServer) {
15
- return false;
16
- }
17
- const div = document.createElement("div");
18
- div.setAttribute("contenteditable", "PLAINTEXT-ONLY");
19
- return div.contentEditable === "plaintext-only";
20
- };
21
- const plaintextOnlySupported = checkPlaintextOnlySupport();
22
- const SbbFormAssociatedInputMixin = (superClass) => {
23
- let SbbFormAssociatedInputElement = (() => {
24
- var _a;
25
- let _classSuper = SbbReadonlyMixin(SbbDisabledMixin(SbbRequiredMixin(SbbFormAssociatedMixin(SbbElementInternalsMixin(superClass)))));
26
- let _instanceExtraInitializers = [];
27
- let _set_value_decorators;
28
- let _set_placeholder_decorators;
29
- let __cleanChildren_decorators;
30
- return _a = class extends _classSuper {
31
- /**
32
- * Form type of element.
33
- * @default 'text'
34
- */
35
- get type() {
36
- return "text";
37
- }
38
- /**
39
- * The value of the input. Reflects the current text value of this input.
40
- */
41
- set value(value) {
42
- this._value = this._cleanText(value);
43
- if (this.hasUpdated) {
44
- this._assignValue(this._value);
45
- }
46
- this.dispatchEvent(new Event("displayvaluechange", { bubbles: true, composed: true }));
47
- }
48
- get value() {
49
- return this._value ?? "";
50
- }
51
- set placeholder(value) {
52
- if (value) {
53
- this.setAttribute("placeholder", value);
54
- } else {
55
- this.removeAttribute("placeholder");
56
- }
57
- this.internals.ariaPlaceholder = value ? value : null;
58
- }
59
- get placeholder() {
60
- return this.getAttribute("placeholder") ?? "";
61
- }
62
- constructor() {
63
- super();
64
- this._shouldEmitChange = (__runInitializers(this, _instanceExtraInitializers), false);
65
- this._shouldTriggerSubmit = false;
66
- this.language = new SbbLanguageController(this);
67
- this._value = "";
68
- this.addEventListener?.("input", () => {
69
- const oldValue = this._value;
70
- this._value = this._cleanText(this.textContent ?? "");
71
- this.requestUpdate("value", oldValue);
72
- this.internals.states.add("interacted");
73
- this._shouldEmitChange = true;
74
- }, { capture: true });
75
- this.addEventListener?.("change", () => this._shouldEmitChange = false, { capture: true });
76
- this.addEventListener?.("keydown", (event) => {
77
- if (this._requiresEmptyPatch()) {
78
- this._assignValue("");
79
- }
80
- if ((event.key === "Enter" || event.key === "\n") && event.isTrusted) {
81
- event.preventDefault();
82
- event.stopImmediatePropagation();
83
- this._shouldTriggerSubmit = this.dispatchEvent(new KeyboardEvent("keydown", event));
84
- } else if (isWebkit && this.value && (event.key === "Backspace" || event.key === "Delete") && event.isTrusted) {
85
- event.preventDefault();
86
- event.stopImmediatePropagation();
87
- if (!this.dispatchEvent(new KeyboardEvent("keydown", event))) {
88
- return;
89
- }
90
- const selectedRange = window.getSelection()?.getRangeAt(0);
91
- if (!selectedRange) {
92
- return;
93
- }
94
- if (selectedRange.startOffset !== selectedRange.endOffset) {
95
- selectedRange.deleteContents();
96
- this._dispatchInputEvent();
97
- } else if (event.key === "Backspace" && selectedRange.startOffset > 0) {
98
- selectedRange.setStart(selectedRange.startContainer, selectedRange.startOffset - 1);
99
- selectedRange.deleteContents();
100
- this._dispatchInputEvent();
101
- } else if (event.key === "Delete" && selectedRange.endOffset < this.value.length) {
102
- selectedRange.setEnd(selectedRange.endContainer, selectedRange.endOffset + 1);
103
- selectedRange.deleteContents();
104
- this._dispatchInputEvent();
105
- }
106
- }
107
- }, { capture: true });
108
- this.addEventListener?.("keyup", (event) => {
109
- if (event.key === "Enter" || event.key === "\n") {
110
- this._emitChangeIfNecessary();
111
- if (this._shouldTriggerSubmit) {
112
- this._shouldTriggerSubmit = false;
113
- this.form?.requestSubmit();
114
- }
115
- } else if (this._requiresEmptyPatch()) {
116
- this._setCursorAt(0);
117
- }
118
- }, { capture: true });
119
- this.addEventListener?.("paste", (e) => {
120
- e.preventDefault();
121
- if (this._requiresEmptyPatch()) {
122
- this._assignValue("");
123
- }
124
- const text = this._cleanText(e.clipboardData?.getData("text/plain") ?? "");
125
- const selectedRange = window.getSelection()?.getRangeAt(0);
126
- if (!selectedRange || !text) {
127
- return;
128
- }
129
- selectedRange.deleteContents();
130
- selectedRange.insertNode(document.createTextNode(this.preparePastedText(text)));
131
- selectedRange.setStart(selectedRange.endContainer, selectedRange.endOffset);
132
- this._dispatchInputEvent();
133
- });
134
- this.addEventListener?.("focus", () => {
135
- if (sbbInputModalityDetector.mostRecentModality === "keyboard") {
136
- window.getSelection()?.selectAllChildren(this);
137
- }
138
- });
139
- this.addEventListener?.("touchend", () => {
140
- if (this._requiresEmptyPatch()) {
141
- this._assignValue("&nbsp;");
142
- this._setCursorAt(0);
143
- }
144
- });
145
- this.addEventListener?.("click", () => {
146
- if (this._requiresEmptyPatch() && sbbInputModalityDetector.mostRecentModality === "touch") {
147
- this._setCursorAt(0);
148
- }
149
- });
150
- this.addEventListener?.("blur", () => {
151
- window.getSelection()?.removeAllRanges();
152
- if (this.value === "") {
153
- this._assignValue("");
154
- }
155
- this._emitChangeIfNecessary();
156
- this.scrollLeft = 0;
157
- }, { capture: true });
158
- }
159
- isDisabledExternally() {
160
- return this.formDisabled;
161
- }
162
- connectedCallback() {
163
- super.connectedCallback();
164
- this.internals.ariaMultiLine = "false";
165
- this._updateContenteditable();
166
- this._assignValue(this.value);
167
- }
168
- focus(options) {
169
- super.focus(options);
170
- if (this._canSelect()) {
171
- const selection = window.getSelection();
172
- if (!selection) {
173
- return;
174
- }
175
- const range = selection.rangeCount > 0 ? selection.getRangeAt(0) : null;
176
- if (range && range.startOffset !== 0) {
177
- return;
178
- }
179
- this._setCursorAt(this.textContent.length);
180
- }
181
- }
182
- attributeChangedCallback(name, old, value) {
183
- if (name !== "value" || !this.internals.states.has("interacted")) {
184
- super.attributeChangedCallback(name, old, value);
185
- }
186
- }
187
- /**
188
- * Is called whenever the form is being reset.
189
- *
190
- * @internal
191
- */
192
- formResetCallback() {
193
- this.internals.states.delete("interacted");
194
- this.value = this.getAttribute("value") ?? "";
195
- }
196
- /**
197
- * Called when the browser is trying to restore element’s state to state in which case
198
- * reason is "restore", or when the browser is trying to fulfill autofill on behalf of
199
- * user in which case reason is "autocomplete".
200
- * In the case of "restore", state is a string, File, or FormData object
201
- * previously set as the second argument to setFormValue.
202
- *
203
- * @internal
204
- */
205
- formStateRestoreCallback(state, _reason) {
206
- if (state && typeof state === "string") {
207
- this.value = state;
208
- }
209
- }
210
- /**
211
- * Makes the selection equal to the current object.
212
- *
213
- * @link https://developer.mozilla.org/docs/Web/API/HTMLInputElement/select
214
- */
215
- select() {
216
- window.getSelection()?.selectAllChildren(this);
217
- }
218
- firstUpdated(changedProperties) {
219
- super.firstUpdated(changedProperties);
220
- if (this.value && !this.innerHTML.length) {
221
- this._assignValue(this.value);
222
- }
223
- }
224
- requestUpdate(name, oldValue, options) {
225
- super.requestUpdate(name, oldValue, options);
226
- if (this.isConnected && (name === "disabled" || name === "formDisabled" || name === "readOnly")) {
227
- this._updateContenteditable();
228
- }
229
- }
230
- shouldValidate(name) {
231
- return super.shouldValidate(name) || name === "value" || name === "required";
232
- }
233
- validate() {
234
- super.validate();
235
- if (this.required && !this.value) {
236
- this.setValidityFlag("valueMissing", i18nInputRequired[this.language.current]);
237
- } else {
238
- this.removeValidityFlag("valueMissing");
239
- }
240
- }
241
- preparePastedText(text) {
242
- return text;
243
- }
244
- _requiresEmptyPatch() {
245
- return isServer ? false : isBlink && this.value === "" && window.matchMedia(SbbMediaQueryPointerCoarse).matches;
246
- }
247
- _assignValue(value) {
248
- this.innerHTML = value;
249
- }
250
- _setCursorAt(position) {
251
- const selection = window.getSelection();
252
- if (!selection) {
253
- return;
254
- }
255
- const range = document.createRange();
256
- range.setStart(this.firstChild, position);
257
- range.collapse(true);
258
- selection.removeAllRanges();
259
- selection.addRange(range);
260
- }
261
- _cleanText(value) {
262
- return value === null ? "" : `${value}`.replace(/[\n\r]+/g, "");
263
- }
264
- _dispatchInputEvent() {
265
- this.dispatchEvent(new InputEvent("input", { bubbles: true, composed: true }));
266
- }
267
- _cleanChildren() {
268
- if (this.childElementCount) {
269
- for (const element of this.children) {
270
- element.remove();
271
- }
272
- }
273
- }
274
- _updateContenteditable() {
275
- if (!isServer && this.isConnected) {
276
- this.internals.ariaReadOnly = this.readOnly ? "true" : null;
277
- this.internals.ariaDisabled = this.disabled ? "true" : null;
278
- const value = this.disabled || this.readOnly ? "false" : plaintextOnlySupported ? "plaintext-only" : "true";
279
- this.setAttribute("contenteditable", value);
280
- if (this.readOnly) {
281
- this.setAttribute("tabindex", "0");
282
- } else {
283
- this.removeAttribute("tabindex");
284
- }
285
- }
286
- }
287
- _emitChangeIfNecessary() {
288
- if (this._shouldEmitChange) {
289
- this._shouldEmitChange = false;
290
- this.dispatchEvent(new Event("change", { bubbles: true }));
291
- }
292
- }
293
- _canSelect() {
294
- return !isServer && !this.disabled && !this.readOnly && !!this.value;
295
- }
296
- render() {
297
- return html`<slot @slotchange=${this._cleanChildren}></slot>`;
298
- }
299
- }, (() => {
300
- const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
301
- _set_value_decorators = [property()];
302
- _set_placeholder_decorators = [property({ attribute: false })];
303
- __cleanChildren_decorators = [eventOptions({ passive: true })];
304
- __esDecorate(_a, null, _set_value_decorators, { kind: "setter", name: "value", static: false, private: false, access: { has: (obj) => "value" in obj, set: (obj, value) => {
305
- obj.value = value;
306
- } }, metadata: _metadata }, null, _instanceExtraInitializers);
307
- __esDecorate(_a, null, _set_placeholder_decorators, { kind: "setter", name: "placeholder", static: false, private: false, access: { has: (obj) => "placeholder" in obj, set: (obj, value) => {
308
- obj.placeholder = value;
309
- } }, metadata: _metadata }, null, _instanceExtraInitializers);
310
- __esDecorate(_a, null, __cleanChildren_decorators, { kind: "method", name: "_cleanChildren", static: false, private: false, access: { has: (obj) => "_cleanChildren" in obj, get: (obj) => obj._cleanChildren }, metadata: _metadata }, null, _instanceExtraInitializers);
311
- if (_metadata) Object.defineProperty(_a, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
312
- })(), _a.role = "textbox", _a.formFieldAssociated = true, _a;
313
- })();
314
- return SbbFormAssociatedInputElement;
5
+ import { SbbReadonlyMixin } from "./readonly-mixin.js";
6
+ import { __esDecorate, __runInitializers } from "tslib";
7
+ import { html, isServer } from "lit";
8
+ import { eventOptions, property } from "lit/decorators.js";
9
+ import { isBlink, isWebkit } from "../dom.js";
10
+ import { SbbLanguageController, SbbMediaQueryPointerCoarse } from "../controllers.js";
11
+ import { i18nInputRequired } from "../i18n.js";
12
+ import { sbbInputModalityDetector } from "../a11y.js";
13
+ //#region src/elements/core/mixins/form-associated-input-mixin.ts
14
+ var checkPlaintextOnlySupport = () => {
15
+ if (isServer) return false;
16
+ const div = document.createElement("div");
17
+ div.setAttribute("contenteditable", "PLAINTEXT-ONLY");
18
+ return div.contentEditable === "plaintext-only";
315
19
  };
316
- export {
317
- SbbFormAssociatedInputMixin
20
+ var plaintextOnlySupported = checkPlaintextOnlySupport();
21
+ /**
22
+ * The SbbFormAssociatedInputMixin enables native form support for text input controls.
23
+ */
24
+ var SbbFormAssociatedInputMixin = (superClass) => {
25
+ const conditionalSuperClass = superClass["_$sbbElement$"] ? superClass : SbbElementInternalsMixin(superClass);
26
+ return (() => {
27
+ let _classSuper = SbbReadonlyMixin(SbbDisabledMixin(SbbRequiredMixin(SbbFormAssociatedMixin(conditionalSuperClass))));
28
+ let _instanceExtraInitializers = [];
29
+ let _set_value_decorators;
30
+ let _set_placeholder_decorators;
31
+ let __cleanChildren_decorators;
32
+ return class SbbFormAssociatedInputElement extends _classSuper {
33
+ static {
34
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
35
+ _set_value_decorators = [property()];
36
+ _set_placeholder_decorators = [property({ attribute: false })];
37
+ __cleanChildren_decorators = [eventOptions({ passive: true })];
38
+ __esDecorate(this, null, _set_value_decorators, {
39
+ kind: "setter",
40
+ name: "value",
41
+ static: false,
42
+ private: false,
43
+ access: {
44
+ has: (obj) => "value" in obj,
45
+ set: (obj, value) => {
46
+ obj.value = value;
47
+ }
48
+ },
49
+ metadata: _metadata
50
+ }, null, _instanceExtraInitializers);
51
+ __esDecorate(this, null, _set_placeholder_decorators, {
52
+ kind: "setter",
53
+ name: "placeholder",
54
+ static: false,
55
+ private: false,
56
+ access: {
57
+ has: (obj) => "placeholder" in obj,
58
+ set: (obj, value) => {
59
+ obj.placeholder = value;
60
+ }
61
+ },
62
+ metadata: _metadata
63
+ }, null, _instanceExtraInitializers);
64
+ __esDecorate(this, null, __cleanChildren_decorators, {
65
+ kind: "method",
66
+ name: "_cleanChildren",
67
+ static: false,
68
+ private: false,
69
+ access: {
70
+ has: (obj) => "_cleanChildren" in obj,
71
+ get: (obj) => obj._cleanChildren
72
+ },
73
+ metadata: _metadata
74
+ }, null, _instanceExtraInitializers);
75
+ if (_metadata) Object.defineProperty(this, Symbol.metadata, {
76
+ enumerable: true,
77
+ configurable: true,
78
+ writable: true,
79
+ value: _metadata
80
+ });
81
+ }
82
+ static {
83
+ this.role = "textbox";
84
+ }
85
+ static {
86
+ this.formFieldAssociated = true;
87
+ }
88
+ /**
89
+ * Form type of element.
90
+ * @default 'text'
91
+ */
92
+ get type() {
93
+ return "text";
94
+ }
95
+ /**
96
+ * The value of the input. Reflects the current text value of this input.
97
+ */
98
+ set value(value) {
99
+ this._value = this._cleanText(value);
100
+ if (this.hasUpdated) this._assignValue(this._value);
101
+ /** @internal */
102
+ this.dispatchEvent(new Event("displayvaluechange", {
103
+ bubbles: true,
104
+ composed: true
105
+ }));
106
+ }
107
+ get value() {
108
+ return this._value ?? "";
109
+ }
110
+ set placeholder(value) {
111
+ if (value) this.setAttribute("placeholder", value);
112
+ else this.removeAttribute("placeholder");
113
+ this.internals.ariaPlaceholder = value ? value : null;
114
+ }
115
+ get placeholder() {
116
+ return this.getAttribute("placeholder") ?? "";
117
+ }
118
+ constructor() {
119
+ super();
120
+ /**
121
+ * An element with contenteditable will not emit a change event. To achieve parity
122
+ * with a native text input, we need to track whether a change event should be
123
+ * emitted.
124
+ */
125
+ this._shouldEmitChange = (__runInitializers(this, _instanceExtraInitializers), false);
126
+ /**
127
+ * A native text input attempts to submit the form when pressing Enter.
128
+ * This can be prevented by calling preventDefault on the keydown event.
129
+ * We track whether to request submit, which should occur before the keyup
130
+ * event.
131
+ */
132
+ this._shouldTriggerSubmit = false;
133
+ this.language = new SbbLanguageController(this);
134
+ this._value = "";
135
+ this.addEventListener?.("input", () => {
136
+ const oldValue = this._value;
137
+ this._value = this._cleanText(this.textContent ?? "");
138
+ this.requestUpdate("value", oldValue);
139
+ this.internals.states.add("interacted");
140
+ this._shouldEmitChange = true;
141
+ }, { capture: true });
142
+ this.addEventListener?.("change", () => this._shouldEmitChange = false, { capture: true });
143
+ this.addEventListener?.("keydown", (event) => {
144
+ if (this._requiresEmptyPatch()) this._assignValue("");
145
+ if ((event.key === "Enter" || event.key === "\n") && event.isTrusted) {
146
+ event.preventDefault();
147
+ event.stopImmediatePropagation();
148
+ this._shouldTriggerSubmit = this.dispatchEvent(new KeyboardEvent("keydown", event));
149
+ } else if (isWebkit && this.value && (event.key === "Backspace" || event.key === "Delete") && event.isTrusted) {
150
+ event.preventDefault();
151
+ event.stopImmediatePropagation();
152
+ if (!this.dispatchEvent(new KeyboardEvent("keydown", event))) return;
153
+ const selectedRange = window.getSelection()?.getRangeAt(0);
154
+ if (!selectedRange) return;
155
+ if (selectedRange.startOffset !== selectedRange.endOffset) {
156
+ selectedRange.deleteContents();
157
+ this._dispatchInputEvent();
158
+ } else if (event.key === "Backspace" && selectedRange.startOffset > 0) {
159
+ selectedRange.setStart(selectedRange.startContainer, selectedRange.startOffset - 1);
160
+ selectedRange.deleteContents();
161
+ this._dispatchInputEvent();
162
+ } else if (event.key === "Delete" && selectedRange.endOffset < this.value.length) {
163
+ selectedRange.setEnd(selectedRange.endContainer, selectedRange.endOffset + 1);
164
+ selectedRange.deleteContents();
165
+ this._dispatchInputEvent();
166
+ }
167
+ }
168
+ }, { capture: true });
169
+ this.addEventListener?.("keyup", (event) => {
170
+ if (event.key === "Enter" || event.key === "\n") {
171
+ this._emitChangeIfNecessary();
172
+ if (this._shouldTriggerSubmit) {
173
+ this._shouldTriggerSubmit = false;
174
+ this.form?.requestSubmit();
175
+ }
176
+ } else if (this._requiresEmptyPatch()) this._setCursorAt(0);
177
+ }, { capture: true });
178
+ this.addEventListener?.("paste", (e) => {
179
+ e.preventDefault();
180
+ if (this._requiresEmptyPatch()) this._assignValue("");
181
+ const text = this._cleanText(e.clipboardData?.getData("text/plain") ?? "");
182
+ const selectedRange = window.getSelection()?.getRangeAt(0);
183
+ if (!selectedRange || !text) return;
184
+ selectedRange.deleteContents();
185
+ selectedRange.insertNode(document.createTextNode(this.preparePastedText(text)));
186
+ selectedRange.setStart(selectedRange.endContainer, selectedRange.endOffset);
187
+ this._dispatchInputEvent();
188
+ });
189
+ this.addEventListener?.("focus", () => {
190
+ if (sbbInputModalityDetector.mostRecentModality === "keyboard") window.getSelection()?.selectAllChildren(this);
191
+ });
192
+ this.addEventListener?.("touchend", () => {
193
+ if (this._requiresEmptyPatch()) {
194
+ this._assignValue("&nbsp;");
195
+ this._setCursorAt(0);
196
+ }
197
+ });
198
+ this.addEventListener?.("click", () => {
199
+ if (this._requiresEmptyPatch() && sbbInputModalityDetector.mostRecentModality === "touch") this._setCursorAt(0);
200
+ });
201
+ this.addEventListener?.("blur", () => {
202
+ window.getSelection()?.removeAllRanges();
203
+ if (this.value === "") this._assignValue("");
204
+ this._emitChangeIfNecessary();
205
+ this.scrollLeft = 0;
206
+ }, { capture: true });
207
+ }
208
+ isDisabledExternally() {
209
+ return this.formDisabled;
210
+ }
211
+ connectedCallback() {
212
+ super.connectedCallback();
213
+ this.internals.ariaMultiLine = "false";
214
+ this._updateContenteditable();
215
+ this._assignValue(this.value);
216
+ }
217
+ focus(options) {
218
+ super.focus(options);
219
+ if (this._canSelect()) {
220
+ const selection = window.getSelection();
221
+ if (!selection) return;
222
+ const range = selection.rangeCount > 0 ? selection.getRangeAt(0) : null;
223
+ if (range && range.startOffset !== 0) return;
224
+ this._setCursorAt(this.textContent.length);
225
+ }
226
+ }
227
+ attributeChangedCallback(name, old, value) {
228
+ /**
229
+ * The native text input changes the value property when the value attribute is
230
+ * changed under the condition that no input event has occurred since creation
231
+ * or the last form reset.
232
+ */
233
+ if (name !== "value" || !this.internals.states.has("interacted")) super.attributeChangedCallback(name, old, value);
234
+ }
235
+ /**
236
+ * Is called whenever the form is being reset.
237
+ *
238
+ * @internal
239
+ */
240
+ formResetCallback() {
241
+ this.internals.states.delete("interacted");
242
+ this.value = this.getAttribute("value") ?? "";
243
+ }
244
+ /**
245
+ * Called when the browser is trying to restore element’s state to state in which case
246
+ * reason is "restore", or when the browser is trying to fulfill autofill on behalf of
247
+ * user in which case reason is "autocomplete".
248
+ * In the case of "restore", state is a string, File, or FormData object
249
+ * previously set as the second argument to setFormValue.
250
+ *
251
+ * @internal
252
+ */
253
+ formStateRestoreCallback(state, _reason) {
254
+ if (state && typeof state === "string") this.value = state;
255
+ }
256
+ /**
257
+ * Makes the selection equal to the current object.
258
+ *
259
+ * @link https://developer.mozilla.org/docs/Web/API/HTMLInputElement/select
260
+ */
261
+ select() {
262
+ window.getSelection()?.selectAllChildren(this);
263
+ }
264
+ firstUpdated(changedProperties) {
265
+ super.firstUpdated(changedProperties);
266
+ if (this.value && !this.innerHTML.length) this._assignValue(this.value);
267
+ }
268
+ requestUpdate(name, oldValue, options) {
269
+ super.requestUpdate(name, oldValue, options);
270
+ if (this.isConnected && (name === "disabled" || name === "formDisabled" || name === "readOnly")) this._updateContenteditable();
271
+ }
272
+ shouldValidate(name) {
273
+ return super.shouldValidate(name) || name === "value" || name === "required";
274
+ }
275
+ validate() {
276
+ super.validate();
277
+ if (this.required && !this.value) this.setValidityFlag("valueMissing", i18nInputRequired[this.language.current]);
278
+ else this.removeValidityFlag("valueMissing");
279
+ }
280
+ preparePastedText(text) {
281
+ return text;
282
+ }
283
+ _requiresEmptyPatch() {
284
+ return isServer ? false : isBlink && this.value === "" && window.matchMedia(SbbMediaQueryPointerCoarse).matches;
285
+ }
286
+ _assignValue(value) {
287
+ this.innerHTML = value;
288
+ }
289
+ _setCursorAt(position) {
290
+ const selection = window.getSelection();
291
+ if (!selection) return;
292
+ const range = document.createRange();
293
+ range.setStart(this.firstChild, position);
294
+ range.collapse(true);
295
+ selection.removeAllRanges();
296
+ selection.addRange(range);
297
+ }
298
+ _cleanText(value) {
299
+ return value === null ? "" : `${value}`.replace(/[\n\r]+/g, "");
300
+ }
301
+ _dispatchInputEvent() {
302
+ /** The input event fires when the value has been changed as a direct result of a user action. */
303
+ this.dispatchEvent(new InputEvent("input", {
304
+ bubbles: true,
305
+ composed: true
306
+ }));
307
+ }
308
+ _cleanChildren() {
309
+ if (this.childElementCount) for (const element of this.children) element.remove();
310
+ }
311
+ _updateContenteditable() {
312
+ if (!isServer && this.isConnected) {
313
+ this.internals.ariaReadOnly = this.readOnly ? "true" : null;
314
+ this.internals.ariaDisabled = this.disabled ? "true" : null;
315
+ const value = this.disabled || this.readOnly ? "false" : plaintextOnlySupported ? "plaintext-only" : "true";
316
+ this.setAttribute("contenteditable", value);
317
+ if (this.readOnly) this.setAttribute("tabindex", "0");
318
+ else this.removeAttribute("tabindex");
319
+ }
320
+ }
321
+ _emitChangeIfNecessary() {
322
+ if (this._shouldEmitChange) {
323
+ this._shouldEmitChange = false;
324
+ /** The change event is fired when the user modifies the element's value. Unlike the input event, the change event is not necessarily fired for each alteration to an element's value. */
325
+ this.dispatchEvent(new Event("change", { bubbles: true }));
326
+ }
327
+ }
328
+ _canSelect() {
329
+ return !isServer && !this.disabled && !this.readOnly && !!this.value;
330
+ }
331
+ render() {
332
+ return html`<slot @slotchange=${this._cleanChildren}></slot>`;
333
+ }
334
+ };
335
+ })();
318
336
  };
319
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1hc3NvY2lhdGVkLWlucHV0LW1peGluLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9taXhpbnMvZm9ybS1hc3NvY2lhdGVkLWlucHV0LW1peGluLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGh0bWwsXG4gIGlzU2VydmVyLFxuICB0eXBlIExpdEVsZW1lbnQsXG4gIHR5cGUgUHJvcGVydHlEZWNsYXJhdGlvbixcbiAgdHlwZSBQcm9wZXJ0eVZhbHVlcyxcbn0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGV2ZW50T3B0aW9ucywgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IHNiYklucHV0TW9kYWxpdHlEZXRlY3RvciB9IGZyb20gJy4uL2ExMXkudHMnO1xuaW1wb3J0IHsgU2JiTGFuZ3VhZ2VDb250cm9sbGVyLCBTYmJNZWRpYVF1ZXJ5UG9pbnRlckNvYXJzZSB9IGZyb20gJy4uL2NvbnRyb2xsZXJzLnRzJztcbmltcG9ydCB7IGlzQmxpbmssIGlzV2Via2l0IH0gZnJvbSAnLi4vZG9tLnRzJztcbmltcG9ydCB7IGkxOG5JbnB1dFJlcXVpcmVkIH0gZnJvbSAnLi4vaTE4bi50cyc7XG5cbmltcG9ydCB0eXBlIHsgQWJzdHJhY3RDb25zdHJ1Y3RvciB9IGZyb20gJy4vY29uc3RydWN0b3IudHMnO1xuaW1wb3J0IHsgU2JiRGlzYWJsZWRNaXhpbiB9IGZyb20gJy4vZGlzYWJsZWQtbWl4aW4udHMnO1xuaW1wb3J0IHsgU2JiRWxlbWVudEludGVybmFsc01peGluIH0gZnJvbSAnLi9lbGVtZW50LWludGVybmFscy1taXhpbi50cyc7XG5pbXBvcnQge1xuICB0eXBlIEZvcm1SZXN0b3JlUmVhc29uLFxuICB0eXBlIEZvcm1SZXN0b3JlU3RhdGUsXG4gIFNiYkZvcm1Bc3NvY2lhdGVkTWl4aW4sXG59IGZyb20gJy4vZm9ybS1hc3NvY2lhdGVkLW1peGluLnRzJztcbmltcG9ydCB7IFNiYlJlYWRvbmx5TWl4aW4gfSBmcm9tICcuL3JlYWRvbmx5LW1peGluLnRzJztcbmltcG9ydCB7IFNiYlJlcXVpcmVkTWl4aW4gfSBmcm9tICcuL3JlcXVpcmVkLW1peGluLnRzJztcblxuZXhwb3J0IGRlY2xhcmUgYWJzdHJhY3QgY2xhc3MgU2JiRm9ybUFzc29jaWF0ZWRJbnB1dE1peGluVHlwZSBleHRlbmRzIFNiYlJlcXVpcmVkTWl4aW4oXG4gIFNiYkZvcm1Bc3NvY2lhdGVkTWl4aW4oU2JiRWxlbWVudEludGVybmFsc01peGluKExpdEVsZW1lbnQpKSxcbikge1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGZvcm1GaWVsZEFzc29jaWF0ZWQgPSB0cnVlO1xuXG4gIHB1YmxpYyBzZXQgdmFsdWUodmFsdWU6IHN0cmluZyk7XG4gIHB1YmxpYyBnZXQgdmFsdWUoKTogc3RyaW5nO1xuXG4gIHB1YmxpYyBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pO1xuICBwdWJsaWMgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW47XG5cbiAgcHVibGljIHNldCByZWFkT25seSh2YWx1ZTogYm9vbGVhbik7XG4gIHB1YmxpYyBnZXQgcmVhZE9ubHkoKTogYm9vbGVhbjtcblxuICBwdWJsaWMgc2V0IHBsYWNlaG9sZGVyKHZhbHVlOiBzdHJpbmcpO1xuICBwdWJsaWMgZ2V0IHBsYWNlaG9sZGVyKCk6IHN0cmluZztcblxuICAvKipcbiAgICogTWFrZXMgdGhlIHNlbGVjdGlvbiBlcXVhbCB0byB0aGUgY3VycmVudCBvYmplY3QuXG4gICAqXG4gICAqIFtNRE4gUmVmZXJlbmNlXShodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9kb2NzL1dlYi9BUEkvSFRNTElucHV0RWxlbWVudC9zZWxlY3QpXG4gICAqL1xuICBwdWJsaWMgc2VsZWN0KCk6IHZvaWQ7XG5cbiAgcHVibGljIGZvcm1SZXNldENhbGxiYWNrKCk6IHZvaWQ7XG4gIHB1YmxpYyBmb3JtU3RhdGVSZXN0b3JlQ2FsbGJhY2soc3RhdGU6IEZvcm1SZXN0b3JlU3RhdGUgfCBudWxsLCByZWFzb246IEZvcm1SZXN0b3JlUmVhc29uKTogdm9pZDtcblxuICBwcm90ZWN0ZWQgcHJlcGFyZVBhc3RlZFRleHQodGV4dDogc3RyaW5nKTogc3RyaW5nO1xuICBwcm90ZWN0ZWQgbGFuZ3VhZ2U6IFNiYkxhbmd1YWdlQ29udHJvbGxlcjtcbn1cblxuY29uc3QgY2hlY2tQbGFpbnRleHRPbmx5U3VwcG9ydCA9ICgpOiBib29sZWFuID0+IHtcbiAgaWYgKGlzU2VydmVyKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgY29uc3QgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gIGRpdi5zZXRBdHRyaWJ1dGUoJ2NvbnRlbnRlZGl0YWJsZScsICdQTEFJTlRFWFQtT05MWScpO1xuXG4gIC8vIElmIHBsYWludGV4dC1vbmx5IGlzIHN1cHBvcnRlZCwgdGhlIGF0dHJpYnV0ZSB2YWx1ZSBpc1xuICAvLyByZXR1cm5lZCBhcyBsb3dlci1jYXNlIGZyb20gdGhlIHByb3BlcnR5IGFjY2Vzcy5cbiAgcmV0dXJuIGRpdi5jb250ZW50RWRpdGFibGUgPT09ICdwbGFpbnRleHQtb25seSc7XG59O1xuY29uc3QgcGxhaW50ZXh0T25seVN1cHBvcnRlZCA9IGNoZWNrUGxhaW50ZXh0T25seVN1cHBvcnQoKTtcblxuLyoqXG4gKiBUaGUgU2JiRm9ybUFzc29jaWF0ZWRJbnB1dE1peGluIGVuYWJsZXMgbmF0aXZlIGZvcm0gc3VwcG9ydCBmb3IgdGV4dCBpbnB1dCBjb250cm9scy5cbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuZXhwb3J0IGNvbnN0IFNiYkZvcm1Bc3NvY2lhdGVkSW5wdXRNaXhpbiA9IDxUIGV4dGVuZHMgQWJzdHJhY3RDb25zdHJ1Y3RvcjxMaXRFbGVtZW50Pj4oXG4gIHN1cGVyQ2xhc3M6IFQsXG4pOiBBYnN0cmFjdENvbnN0cnVjdG9yPFNiYkZvcm1Bc3NvY2lhdGVkSW5wdXRNaXhpblR5cGU+ICYgVCA9PiB7XG4gIGFic3RyYWN0IGNsYXNzIFNiYkZvcm1Bc3NvY2lhdGVkSW5wdXRFbGVtZW50XG4gICAgZXh0ZW5kcyBTYmJSZWFkb25seU1peGluKFxuICAgICAgU2JiRGlzYWJsZWRNaXhpbihcbiAgICAgICAgU2JiUmVxdWlyZWRNaXhpbihTYmJGb3JtQXNzb2NpYXRlZE1peGluKFNiYkVsZW1lbnRJbnRlcm5hbHNNaXhpbihzdXBlckNsYXNzKSkpLFxuICAgICAgKSxcbiAgICApXG4gICAgaW1wbGVtZW50cyBQYXJ0aWFsPFNiYkZvcm1Bc3NvY2lhdGVkSW5wdXRNaXhpblR5cGU+XG4gIHtcbiAgICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IHJvbGUgPSAndGV4dGJveCc7XG4gICAgcHVibGljIHN0YXRpYyByZWFkb25seSBmb3JtRmllbGRBc3NvY2lhdGVkID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIEFuIGVsZW1lbnQgd2l0aCBjb250ZW50ZWRpdGFibGUgd2lsbCBub3QgZW1pdCBhIGNoYW5nZSBldmVudC4gVG8gYWNoaWV2ZSBwYXJpdHlcbiAgICAgKiB3aXRoIGEgbmF0aXZlIHRleHQgaW5wdXQsIHdlIG5lZWQgdG8gdHJhY2sgd2hldGhlciBhIGNoYW5nZSBldmVudCBzaG91bGQgYmVcbiAgICAgKiBlbWl0dGVkLlxuICAgICAqL1xuICAgIHByaXZhdGUgX3Nob3VsZEVtaXRDaGFuZ2UgPSBmYWxzZTtcbiAgICAvKipcbiAgICAgKiBBIG5hdGl2ZSB0ZXh0IGlucHV0IGF0dGVtcHRzIHRvIHN1Ym1pdCB0aGUgZm9ybSB3aGVuIHByZXNzaW5nIEVudGVyLlxuICAgICAqIFRoaXMgY2FuIGJlIHByZXZlbnRlZCBieSBjYWxsaW5nIHByZXZlbnREZWZhdWx0IG9uIHRoZSBrZXlkb3duIGV2ZW50LlxuICAgICAqIFdlIHRyYWNrIHdoZXRoZXIgdG8gcmVxdWVzdCBzdWJtaXQsIHdoaWNoIHNob3VsZCBvY2N1ciBiZWZvcmUgdGhlIGtleXVwXG4gICAgICogZXZlbnQuXG4gICAgICovXG4gICAgcHJpdmF0ZSBfc2hvdWxkVHJpZ2dlclN1Ym1pdCA9IGZhbHNlO1xuXG4gICAgcHJvdGVjdGVkIGxhbmd1YWdlID0gbmV3IFNiYkxhbmd1YWdlQ29udHJvbGxlcih0aGlzKTtcblxuICAgIC8qKlxuICAgICAqIEZvcm0gdHlwZSBvZiBlbGVtZW50LlxuICAgICAqIEBkZWZhdWx0ICd0ZXh0J1xuICAgICAqL1xuICAgIHB1YmxpYyBvdmVycmlkZSBnZXQgdHlwZSgpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuICd0ZXh0JztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgdmFsdWUgb2YgdGhlIGlucHV0LiBSZWZsZWN0cyB0aGUgY3VycmVudCB0ZXh0IHZhbHVlIG9mIHRoaXMgaW5wdXQuXG4gICAgICovXG4gICAgQHByb3BlcnR5KClcbiAgICBwdWJsaWMgc2V0IHZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgIHRoaXMuX3ZhbHVlID0gdGhpcy5fY2xlYW5UZXh0KHZhbHVlKTtcbiAgICAgIGlmICh0aGlzLmhhc1VwZGF0ZWQpIHtcbiAgICAgICAgdGhpcy5fYXNzaWduVmFsdWUodGhpcy5fdmFsdWUpO1xuICAgICAgfVxuICAgICAgLyoqIEBpbnRlcm5hbCAqL1xuICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnZGlzcGxheXZhbHVlY2hhbmdlJywgeyBidWJibGVzOiB0cnVlLCBjb21wb3NlZDogdHJ1ZSB9KSk7XG4gICAgfVxuICAgIHB1YmxpYyBnZXQgdmFsdWUoKTogc3RyaW5nIHtcbiAgICAgIHJldHVybiB0aGlzLl92YWx1ZSA/PyAnJztcbiAgICB9XG4gICAgcHJpdmF0ZSBfdmFsdWU6IHN0cmluZyA9ICcnO1xuXG4gICAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiBmYWxzZSB9KVxuICAgIHB1YmxpYyBzZXQgcGxhY2Vob2xkZXIodmFsdWU6IHN0cmluZykge1xuICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgIHRoaXMuc2V0QXR0cmlidXRlKCdwbGFjZWhvbGRlcicsIHZhbHVlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMucmVtb3ZlQXR0cmlidXRlKCdwbGFjZWhvbGRlcicpO1xuICAgICAgfVxuICAgICAgdGhpcy5pbnRlcm5hbHMuYXJpYVBsYWNlaG9sZGVyID0gdmFsdWUgPyB2YWx1ZSA6IG51bGw7XG4gICAgfVxuICAgIHB1YmxpYyBnZXQgcGxhY2Vob2xkZXIoKTogc3RyaW5nIHtcbiAgICAgIHJldHVybiB0aGlzLmdldEF0dHJpYnV0ZSgncGxhY2Vob2xkZXInKSA/PyAnJztcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoKSB7XG4gICAgICBzdXBlcigpO1xuICAgICAgLy8gV2UgcHJpbWFyaWx5IHVzZSBjYXB0dXJlIGV2ZW50IGxpc3RlbmVycywgYXMgd2Ugd2FudFxuICAgICAgLy8gb3VyIGxpc3RlbmVycyB0byBvY2N1ciBiZWZvcmUgY29uc3VtZXIgZXZlbnQgbGlzdGVuZXJzLlxuICAgICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oXG4gICAgICAgICdpbnB1dCcsXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICBjb25zdCBvbGRWYWx1ZSA9IHRoaXMuX3ZhbHVlO1xuICAgICAgICAgIHRoaXMuX3ZhbHVlID0gdGhpcy5fY2xlYW5UZXh0KHRoaXMudGV4dENvbnRlbnQgPz8gJycpO1xuICAgICAgICAgIHRoaXMucmVxdWVzdFVwZGF0ZSgndmFsdWUnLCBvbGRWYWx1ZSk7XG4gICAgICAgICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmFkZCgnaW50ZXJhY3RlZCcpO1xuICAgICAgICAgIHRoaXMuX3Nob3VsZEVtaXRDaGFuZ2UgPSB0cnVlO1xuICAgICAgICB9LFxuICAgICAgICB7IGNhcHR1cmU6IHRydWUgfSxcbiAgICAgICk7XG4gICAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LignY2hhbmdlJywgKCkgPT4gKHRoaXMuX3Nob3VsZEVtaXRDaGFuZ2UgPSBmYWxzZSksIHsgY2FwdHVyZTogdHJ1ZSB9KTtcbiAgICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKFxuICAgICAgICAna2V5ZG93bicsXG4gICAgICAgIChldmVudCkgPT4ge1xuICAgICAgICAgIGlmICh0aGlzLl9yZXF1aXJlc0VtcHR5UGF0Y2goKSkge1xuICAgICAgICAgICAgdGhpcy5fYXNzaWduVmFsdWUoJycpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAvLyBXZSBwcmV2ZW50IHJlY3Vyc2l2ZSBldmVudHMgYnkgY2hlY2tpbmcgdGhlIG9yaWdpbmFsIGV2ZW50IGZvciBpc1RydXN0ZWRcbiAgICAgICAgICAvLyB3aGljaCBpcyBmYWxzZSBmb3IgbWFudWFsbHkgZGlzcGF0Y2hlZCBldmVudHMgKHdoaWNoIHdlIGRpc3BhdGNoIGJlbG93KS5cbiAgICAgICAgICBpZiAoKGV2ZW50LmtleSA9PT0gJ0VudGVyJyB8fCBldmVudC5rZXkgPT09ICdcXG4nKSAmJiBldmVudC5pc1RydXN0ZWQpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgIHRoaXMuX3Nob3VsZFRyaWdnZXJTdWJtaXQgPSB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEtleWJvYXJkRXZlbnQoJ2tleWRvd24nLCBldmVudCkpO1xuICAgICAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgICAgICBpc1dlYmtpdCAmJlxuICAgICAgICAgICAgdGhpcy52YWx1ZSAmJlxuICAgICAgICAgICAgKGV2ZW50LmtleSA9PT0gJ0JhY2tzcGFjZScgfHwgZXZlbnQua2V5ID09PSAnRGVsZXRlJykgJiZcbiAgICAgICAgICAgIGV2ZW50LmlzVHJ1c3RlZFxuICAgICAgICAgICkge1xuICAgICAgICAgICAgLy8gSW4gV2Via2l0IHByZXNzaW5nIEJhY2tzcGFjZSBvciBEZWxldGUgY29tcGxldGVseSByZW1vdmVzIGFsbCB0aGUgY29udGVudFxuICAgICAgICAgICAgLy8gaWYgY29udGVudGVkaXRhYmxlIGlzIHNldCBvbiBhIHdlYiBjb21wb25lbnQgaG9zdC5cbiAgICAgICAgICAgIC8vIFdlIGhhdmUgdG8gcmVwbGljYXRlIHRoZSBub3JtYWwgZGVsZXRlIGJlaGF2aW9yLlxuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuXG4gICAgICAgICAgICBpZiAoIXRoaXMuZGlzcGF0Y2hFdmVudChuZXcgS2V5Ym9hcmRFdmVudCgna2V5ZG93bicsIGV2ZW50KSkpIHtcbiAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBzZWxlY3RlZFJhbmdlID0gd2luZG93LmdldFNlbGVjdGlvbigpPy5nZXRSYW5nZUF0KDApO1xuICAgICAgICAgICAgaWYgKCFzZWxlY3RlZFJhbmdlKSB7XG4gICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHNlbGVjdGVkUmFuZ2Uuc3RhcnRPZmZzZXQgIT09IHNlbGVjdGVkUmFuZ2UuZW5kT2Zmc2V0KSB7XG4gICAgICAgICAgICAgIC8vIElmIGEgdGV4dCByYW5nZSBpcyBzZWxlY3RlZCwgdGhlbiBkZWxldGUgdGhpcyByYW5nZVxuICAgICAgICAgICAgICBzZWxlY3RlZFJhbmdlLmRlbGV0ZUNvbnRlbnRzKCk7XG4gICAgICAgICAgICAgIHRoaXMuX2Rpc3BhdGNoSW5wdXRFdmVudCgpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChldmVudC5rZXkgPT09ICdCYWNrc3BhY2UnICYmIHNlbGVjdGVkUmFuZ2Uuc3RhcnRPZmZzZXQgPiAwKSB7XG4gICAgICAgICAgICAgIC8vIFdoZW4gcHJlc3NpbmcgQmFja3NwYWNlLCB3ZSBzZWxlY3QgdGhlIHByZXZpb3VzIGNoYXJhY3RlciBmcm9tXG4gICAgICAgICAgICAgIC8vIHRoZSBjdXJyZW50IGN1cnNvciBwb3NpdGlvbiBhbmQgZGVsZXRlIGl0LlxuICAgICAgICAgICAgICBzZWxlY3RlZFJhbmdlLnNldFN0YXJ0KHNlbGVjdGVkUmFuZ2Uuc3RhcnRDb250YWluZXIsIHNlbGVjdGVkUmFuZ2Uuc3RhcnRPZmZzZXQgLSAxKTtcbiAgICAgICAgICAgICAgc2VsZWN0ZWRSYW5nZS5kZWxldGVDb250ZW50cygpO1xuICAgICAgICAgICAgICB0aGlzLl9kaXNwYXRjaElucHV0RXZlbnQoKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5ID09PSAnRGVsZXRlJyAmJiBzZWxlY3RlZFJhbmdlLmVuZE9mZnNldCA8IHRoaXMudmFsdWUubGVuZ3RoKSB7XG4gICAgICAgICAgICAgIC8vIFdoZW4gcHJlc3NpbmcgRGVsZXRlLCB3ZSBzZWxlY3QgdGhlIG5leHQgY2hhcmFjdGVyIGZyb21cbiAgICAgICAgICAgICAgLy8gdGhlIGN1cnJlbnQgY3Vyc29yIHBvc2l0aW9uIGFuZCBkZWxldGUgaXQuXG4gICAgICAgICAgICAgIHNlbGVjdGVkUmFuZ2Uuc2V0RW5kKHNlbGVjdGVkUmFuZ2UuZW5kQ29udGFpbmVyLCBzZWxlY3RlZFJhbmdlLmVuZE9mZnNldCArIDEpO1xuICAgICAgICAgICAgICBzZWxlY3RlZFJhbmdlLmRlbGV0ZUNvbnRlbnRzKCk7XG4gICAgICAgICAgICAgIHRoaXMuX2Rpc3BhdGNoSW5wdXRFdmVudCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgeyBjYXB0dXJlOiB0cnVlIH0sXG4gICAgICApO1xuICAgICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oXG4gICAgICAgICdrZXl1cCcsXG4gICAgICAgIChldmVudCkgPT4ge1xuICAgICAgICAgIGlmIChldmVudC5rZXkgPT09ICdFbnRlcicgfHwgZXZlbnQua2V5ID09PSAnXFxuJykge1xuICAgICAgICAgICAgdGhpcy5fZW1pdENoYW5nZUlmTmVjZXNzYXJ5KCk7XG4gICAgICAgICAgICBpZiAodGhpcy5fc2hvdWxkVHJpZ2dlclN1Ym1pdCkge1xuICAgICAgICAgICAgICB0aGlzLl9zaG91bGRUcmlnZ2VyU3VibWl0ID0gZmFsc2U7XG4gICAgICAgICAgICAgIHRoaXMuZm9ybT8ucmVxdWVzdFN1Ym1pdCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5fcmVxdWlyZXNFbXB0eVBhdGNoKCkpIHtcbiAgICAgICAgICAgIHRoaXMuX3NldEN1cnNvckF0KDApO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgeyBjYXB0dXJlOiB0cnVlIH0sXG4gICAgICApO1xuICAgICAgLy8gY29udGVudGVkaXRhYmxlIGFsbG93cyBwYXN0aW5nIHJpY2ggY29udGVudCBpbnRvIGl0cyBob3N0LlxuICAgICAgLy8gV2UgcHJldmVudCB0aGlzIGJ5IGxpc3RlbmluZyB0byB0aGUgcGFzdGUgZXZlbnQgYW5kXG4gICAgICAvLyBleHRyYWN0aW5nIHRoZSBwbGFpbiB0ZXh0IGZyb20gdGhlIHBhc3RlZCBjb250ZW50XG4gICAgICAvLyBhbmQgaW5zZXJ0aW5nIGl0IGludG8gdGhlIHNlbGVjdGVkIHJhbmdlIChjdXJzb3IgcG9zaXRpb25cbiAgICAgIC8vIG9yIHNlbGVjdGlvbikuXG4gICAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LigncGFzdGUnLCAoZSkgPT4ge1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGlmICh0aGlzLl9yZXF1aXJlc0VtcHR5UGF0Y2goKSkge1xuICAgICAgICAgIHRoaXMuX2Fzc2lnblZhbHVlKCcnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHRleHQgPSB0aGlzLl9jbGVhblRleHQoZS5jbGlwYm9hcmREYXRhPy5nZXREYXRhKCd0ZXh0L3BsYWluJykgPz8gJycpO1xuICAgICAgICBjb25zdCBzZWxlY3RlZFJhbmdlID0gd2luZG93LmdldFNlbGVjdGlvbigpPy5nZXRSYW5nZUF0KDApO1xuICAgICAgICBpZiAoIXNlbGVjdGVkUmFuZ2UgfHwgIXRleHQpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBzZWxlY3RlZFJhbmdlLmRlbGV0ZUNvbnRlbnRzKCk7XG4gICAgICAgIHNlbGVjdGVkUmFuZ2UuaW5zZXJ0Tm9kZShkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSh0aGlzLnByZXBhcmVQYXN0ZWRUZXh0KHRleHQpKSk7XG4gICAgICAgIHNlbGVjdGVkUmFuZ2Uuc2V0U3RhcnQoc2VsZWN0ZWRSYW5nZS5lbmRDb250YWluZXIsIHNlbGVjdGVkUmFuZ2UuZW5kT2Zmc2V0KTtcbiAgICAgICAgdGhpcy5fZGlzcGF0Y2hJbnB1dEV2ZW50KCk7XG4gICAgICB9KTtcbiAgICAgIC8vIFdoZW4gZm9jdXNpbmcgYSB0ZXh0IGlucHV0IHZpYSBrZXlib2FyZCwgdGhlIHRleHQgY29udGVudCBzaG91bGQgYmUgc2VsZWN0ZWQuXG4gICAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LignZm9jdXMnLCAoKSA9PiB7XG4gICAgICAgIGlmIChzYmJJbnB1dE1vZGFsaXR5RGV0ZWN0b3IubW9zdFJlY2VudE1vZGFsaXR5ID09PSAna2V5Ym9hcmQnKSB7XG4gICAgICAgICAgLy8gVE9ETzogVGhpcyBkb2VzIG5vdCBzZWVtIHRvIHdvcmsgaW4gRmlyZWZveCB3aXRoIHJlYWRvbmx5LlxuICAgICAgICAgIHdpbmRvdy5nZXRTZWxlY3Rpb24oKT8uc2VsZWN0QWxsQ2hpbGRyZW4odGhpcyk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ3RvdWNoZW5kJywgKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5fcmVxdWlyZXNFbXB0eVBhdGNoKCkpIHtcbiAgICAgICAgICB0aGlzLl9hc3NpZ25WYWx1ZSgnJm5ic3A7Jyk7XG4gICAgICAgICAgdGhpcy5fc2V0Q3Vyc29yQXQoMCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ2NsaWNrJywgKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5fcmVxdWlyZXNFbXB0eVBhdGNoKCkgJiYgc2JiSW5wdXRNb2RhbGl0eURldGVjdG9yLm1vc3RSZWNlbnRNb2RhbGl0eSA9PT0gJ3RvdWNoJykge1xuICAgICAgICAgIHRoaXMuX3NldEN1cnNvckF0KDApO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgLy8gT24gYmx1ciB0aGUgbmF0aXZlIHRleHQgaW5wdXQgc2Nyb2xscyB0aGUgdGV4dCB0byB0aGUgc3RhcnQgb2YgdGhlIHRleHQuXG4gICAgICAvLyBXZSBtaW1pYyB0aGF0IGJ5IHJlc2V0dGluZyB0aGUgc2Nyb2xsIHBvc2l0aW9uLlxuICAgICAgLy8gV2UgYWxzbyB1bnNldCBhbnkgc2VsZWN0aW9uIHRvIGFsaWduIHdpdGggdGhlIG5hdGl2ZSB0ZXh0IGlucHV0LlxuICAgICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oXG4gICAgICAgICdibHVyJyxcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIHdpbmRvdy5nZXRTZWxlY3Rpb24oKT8ucmVtb3ZlQWxsUmFuZ2VzKCk7XG4gICAgICAgICAgaWYgKHRoaXMudmFsdWUgPT09ICcnKSB7XG4gICAgICAgICAgICB0aGlzLl9hc3NpZ25WYWx1ZSgnJyk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMuX2VtaXRDaGFuZ2VJZk5lY2Vzc2FyeSgpO1xuICAgICAgICAgIHRoaXMuc2Nyb2xsTGVmdCA9IDA7XG4gICAgICAgIH0sXG4gICAgICAgIHsgY2FwdHVyZTogdHJ1ZSB9LFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgaXNEaXNhYmxlZEV4dGVybmFsbHkoKTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gdGhpcy5mb3JtRGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFNdWx0aUxpbmUgPSAnZmFsc2UnO1xuICAgICAgdGhpcy5fdXBkYXRlQ29udGVudGVkaXRhYmxlKCk7XG5cbiAgICAgIC8vIFdlIHdhbnQgdG8gcmVwbGFjZSBhbnkgY29udGVudCBieSBqdXN0IHRoZSB0ZXh0IGNvbnRlbnQuXG4gICAgICB0aGlzLl9hc3NpZ25WYWx1ZSh0aGlzLnZhbHVlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb3ZlcnJpZGUgZm9jdXMob3B0aW9ucz86IEZvY3VzT3B0aW9ucyk6IHZvaWQge1xuICAgICAgc3VwZXIuZm9jdXMob3B0aW9ucyk7XG4gICAgICAvLyBCeSBkZWZhdWx0LCB3aGVuIGNhbGxpbmcgZm9jdXMgb24gYW4gaW5wdXQgZWxlbWVudCwgdGhlIGN1cnNvciBpcyBwbGFjZWRcbiAgICAgIC8vIGF0IHRoZSBlbmQgb2YgdGhlIGlucHV0IHRleHQuIEhvd2V2ZXIsIHdpdGggY29udGVudGVkaXRhYmxlLCB0aGUgY3Vyc29yXG4gICAgICAvLyBpcyBwbGFjZWQgYXQgdGhlIGJlZ2lubmluZywgc28gd2UgbW92ZSBpdCB0byB0aGUgZW5kLCBpZiB0aGF0IGlzIHRoZSBjYXNlLlxuICAgICAgaWYgKHRoaXMuX2NhblNlbGVjdCgpKSB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGlvbiA9IHdpbmRvdy5nZXRTZWxlY3Rpb24oKTtcbiAgICAgICAgaWYgKCFzZWxlY3Rpb24pIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcmFuZ2UgPSBzZWxlY3Rpb24ucmFuZ2VDb3VudCA+IDAgPyBzZWxlY3Rpb24uZ2V0UmFuZ2VBdCgwKSA6IG51bGw7XG4gICAgICAgIGlmIChyYW5nZSAmJiByYW5nZS5zdGFydE9mZnNldCAhPT0gMCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX3NldEN1cnNvckF0KHRoaXMudGV4dENvbnRlbnQhLmxlbmd0aCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIG92ZXJyaWRlIGF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayhcbiAgICAgIG5hbWU6IHN0cmluZyxcbiAgICAgIG9sZDogc3RyaW5nIHwgbnVsbCxcbiAgICAgIHZhbHVlOiBzdHJpbmcgfCBudWxsLFxuICAgICk6IHZvaWQge1xuICAgICAgLyoqXG4gICAgICAgKiBUaGUgbmF0aXZlIHRleHQgaW5wdXQgY2hhbmdlcyB0aGUgdmFsdWUgcHJvcGVydHkgd2hlbiB0aGUgdmFsdWUgYXR0cmlidXRlIGlzXG4gICAgICAgKiBjaGFuZ2VkIHVuZGVyIHRoZSBjb25kaXRpb24gdGhhdCBubyBpbnB1dCBldmVudCBoYXMgb2NjdXJyZWQgc2luY2UgY3JlYXRpb25cbiAgICAgICAqIG9yIHRoZSBsYXN0IGZvcm0gcmVzZXQuXG4gICAgICAgKi9cbiAgICAgIGlmIChuYW1lICE9PSAndmFsdWUnIHx8ICF0aGlzLmludGVybmFscy5zdGF0ZXMuaGFzKCdpbnRlcmFjdGVkJykpIHtcbiAgICAgICAgc3VwZXIuYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrKG5hbWUsIG9sZCwgdmFsdWUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIElzIGNhbGxlZCB3aGVuZXZlciB0aGUgZm9ybSBpcyBiZWluZyByZXNldC5cbiAgICAgKlxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHB1YmxpYyBvdmVycmlkZSBmb3JtUmVzZXRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5kZWxldGUoJ2ludGVyYWN0ZWQnKTtcbiAgICAgIHRoaXMudmFsdWUgPSB0aGlzLmdldEF0dHJpYnV0ZSgndmFsdWUnKSA/PyAnJztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAgQ2FsbGVkIHdoZW4gdGhlIGJyb3dzZXIgaXMgdHJ5aW5nIHRvIHJlc3RvcmUgZWxlbWVudOKAmXMgc3RhdGUgdG8gc3RhdGUgaW4gd2hpY2ggY2FzZVxuICAgICAqICByZWFzb24gaXMgXCJyZXN0b3JlXCIsIG9yIHdoZW4gdGhlIGJyb3dzZXIgaXMgdHJ5aW5nIHRvIGZ1bGZpbGwgYXV0b2ZpbGwgb24gYmVoYWxmIG9mXG4gICAgICogIHVzZXIgaW4gd2hpY2ggY2FzZSByZWFzb24gaXMgXCJhdXRvY29tcGxldGVcIi5cbiAgICAgKiAgSW4gdGhlIGNhc2Ugb2YgXCJyZXN0b3JlXCIsIHN0YXRlIGlzIGEgc3RyaW5nLCBGaWxlLCBvciBGb3JtRGF0YSBvYmplY3RcbiAgICAgKiAgcHJldmlvdXNseSBzZXQgYXMgdGhlIHNlY29uZCBhcmd1bWVudCB0byBzZXRGb3JtVmFsdWUuXG4gICAgICpcbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwdWJsaWMgb3ZlcnJpZGUgZm9ybVN0YXRlUmVzdG9yZUNhbGxiYWNrKFxuICAgICAgc3RhdGU6IEZvcm1SZXN0b3JlU3RhdGUgfCBudWxsLFxuICAgICAgX3JlYXNvbjogRm9ybVJlc3RvcmVSZWFzb24sXG4gICAgKTogdm9pZCB7XG4gICAgICBpZiAoc3RhdGUgJiYgdHlwZW9mIHN0YXRlID09PSAnc3RyaW5nJykge1xuICAgICAgICB0aGlzLnZhbHVlID0gc3RhdGU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTWFrZXMgdGhlIHNlbGVjdGlvbiBlcXVhbCB0byB0aGUgY3VycmVudCBvYmplY3QuXG4gICAgICpcbiAgICAgKiBAbGluayBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9kb2NzL1dlYi9BUEkvSFRNTElucHV0RWxlbWVudC9zZWxlY3RcbiAgICAgKi9cbiAgICBwdWJsaWMgc2VsZWN0KCk6IHZvaWQge1xuICAgICAgd2luZG93LmdldFNlbGVjdGlvbigpPy5zZWxlY3RBbGxDaGlsZHJlbih0aGlzKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgICAgc3VwZXIuZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgICAgLy8gSWYgdGhlIHZhbHVlIHdhcyBhc3NpZ25lZCBiZWZvcmUgZmlyc3RVcGRhdGUsIHdlIGhhdmUgdG9cbiAgICAgIC8vIHdyaXRlIGl0IHRoZSBkb2N1bWVudCB0byBiZSB2aXN1YWxseSBzZWVuXG4gICAgICBpZiAodGhpcy52YWx1ZSAmJiAhdGhpcy5pbm5lckhUTUwubGVuZ3RoKSB7XG4gICAgICAgIHRoaXMuX2Fzc2lnblZhbHVlKHRoaXMudmFsdWUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBvdmVycmlkZSByZXF1ZXN0VXBkYXRlKFxuICAgICAgbmFtZT86IFByb3BlcnR5S2V5LFxuICAgICAgb2xkVmFsdWU/OiB1bmtub3duLFxuICAgICAgb3B0aW9ucz86IFByb3BlcnR5RGVjbGFyYXRpb24sXG4gICAgKTogdm9pZCB7XG4gICAgICBzdXBlci5yZXF1ZXN0VXBkYXRlKG5hbWUsIG9sZFZhbHVlLCBvcHRpb25zKTtcbiAgICAgIGlmIChcbiAgICAgICAgdGhpcy5pc0Nvbm5lY3RlZCAmJlxuICAgICAgICAobmFtZSA9PT0gJ2Rpc2FibGVkJyB8fCBuYW1lID09PSAnZm9ybURpc2FibGVkJyB8fCBuYW1lID09PSAncmVhZE9ubHknKVxuICAgICAgKSB7XG4gICAgICAgIHRoaXMuX3VwZGF0ZUNvbnRlbnRlZGl0YWJsZSgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBvdmVycmlkZSBzaG91bGRWYWxpZGF0ZShuYW1lOiBQcm9wZXJ0eUtleSB8IHVuZGVmaW5lZCk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIHN1cGVyLnNob3VsZFZhbGlkYXRlKG5hbWUpIHx8IG5hbWUgPT09ICd2YWx1ZScgfHwgbmFtZSA9PT0gJ3JlcXVpcmVkJztcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgdmFsaWRhdGUoKTogdm9pZCB7XG4gICAgICBzdXBlci52YWxpZGF0ZSgpO1xuICAgICAgaWYgKHRoaXMucmVxdWlyZWQgJiYgIXRoaXMudmFsdWUpIHtcbiAgICAgICAgdGhpcy5zZXRWYWxpZGl0eUZsYWcoJ3ZhbHVlTWlzc2luZycsIGkxOG5JbnB1dFJlcXVpcmVkW3RoaXMubGFuZ3VhZ2UuY3VycmVudF0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5yZW1vdmVWYWxpZGl0eUZsYWcoJ3ZhbHVlTWlzc2luZycpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBwcmVwYXJlUGFzdGVkVGV4dCh0ZXh0OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuIHRleHQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfcmVxdWlyZXNFbXB0eVBhdGNoKCk6IGJvb2xlYW4ge1xuICAgICAgLy8gSW4gQmxpbmssIGEgY29udGVudGVkaXRhYmxlIGVsZW1lbnQgd2l0aCBlbXB0eSBjb250ZW50IHdpbGwgY3Jhc2hcbiAgICAgIC8vIHVwb24gcmVjZWl2aW5nIGZvY3VzLCB3aGVuIGluIE1vYmlsZSBtb2RlLlxuICAgICAgLy8gVG8gcHJldmVudCB0aGlzLCB3ZSBwYXRjaCB0aGUgZW1wdHkgc3RhdGUgYnkgaW5zZXJ0aW5nIGEgbm9uLWJyZWFraW5nIHNwYWNlLlxuICAgICAgcmV0dXJuIGlzU2VydmVyXG4gICAgICAgID8gZmFsc2VcbiAgICAgICAgOiBpc0JsaW5rICYmIHRoaXMudmFsdWUgPT09ICcnICYmIHdpbmRvdy5tYXRjaE1lZGlhKFNiYk1lZGlhUXVlcnlQb2ludGVyQ29hcnNlKS5tYXRjaGVzO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2Fzc2lnblZhbHVlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgIHRoaXMuaW5uZXJIVE1MID0gdmFsdWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfc2V0Q3Vyc29yQXQocG9zaXRpb246IG51bWJlcik6IHZvaWQge1xuICAgICAgY29uc3Qgc2VsZWN0aW9uID0gd2luZG93LmdldFNlbGVjdGlvbigpO1xuICAgICAgaWYgKCFzZWxlY3Rpb24pIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBjb25zdCByYW5nZSA9IGRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7XG4gICAgICByYW5nZS5zZXRTdGFydCh0aGlzLmZpcnN0Q2hpbGQhLCBwb3NpdGlvbik7XG4gICAgICByYW5nZS5jb2xsYXBzZSh0cnVlKTtcbiAgICAgIHNlbGVjdGlvbi5yZW1vdmVBbGxSYW5nZXMoKTtcbiAgICAgIHNlbGVjdGlvbi5hZGRSYW5nZShyYW5nZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfY2xlYW5UZXh0KHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgLy8gVGhlIG5hdGl2ZSB0ZXh0IGlucHV0IHJlbW92ZXMgYWxsIG5ld2xpbmUgY2hhcmFjdGVycyBpZiBwYXNzZWQgdG8gdGhlIHZhbHVlIHByb3BlcnR5XG4gICAgICByZXR1cm4gdmFsdWUgPT09IG51bGwgPyAnJyA6IGAke3ZhbHVlfWAucmVwbGFjZSgvW1xcblxccl0rL2csICcnKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9kaXNwYXRjaElucHV0RXZlbnQoKTogdm9pZCB7XG4gICAgICAvKiogVGhlIGlucHV0IGV2ZW50IGZpcmVzIHdoZW4gdGhlIHZhbHVlIGhhcyBiZWVuIGNoYW5nZWQgYXMgYSBkaXJlY3QgcmVzdWx0IG9mIGEgdXNlciBhY3Rpb24uICovXG4gICAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IElucHV0RXZlbnQoJ2lucHV0JywgeyBidWJibGVzOiB0cnVlLCBjb21wb3NlZDogdHJ1ZSB9KSk7XG4gICAgfVxuXG4gICAgQGV2ZW50T3B0aW9ucyh7IHBhc3NpdmU6IHRydWUgfSlcbiAgICBwcml2YXRlIF9jbGVhbkNoaWxkcmVuKCk6IHZvaWQge1xuICAgICAgaWYgKHRoaXMuY2hpbGRFbGVtZW50Q291bnQpIHtcbiAgICAgICAgZm9yIChjb25zdCBlbGVtZW50IG9mIHRoaXMuY2hpbGRyZW4pIHtcbiAgICAgICAgICBlbGVtZW50LnJlbW92ZSgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfdXBkYXRlQ29udGVudGVkaXRhYmxlKCk6IHZvaWQge1xuICAgICAgaWYgKCFpc1NlcnZlciAmJiB0aGlzLmlzQ29ubmVjdGVkKSB7XG4gICAgICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFSZWFkT25seSA9IHRoaXMucmVhZE9ubHkgPyAndHJ1ZScgOiBudWxsO1xuICAgICAgICB0aGlzLmludGVybmFscy5hcmlhRGlzYWJsZWQgPSB0aGlzLmRpc2FibGVkID8gJ3RydWUnIDogbnVsbDtcbiAgICAgICAgLy8gVE9ETygyMDI2KTogRmlyZWZveCBzdXBwb3J0cyBwbGFpbnRleHQtb25seSBzaW5jZSB2ZXJzaW9uIDEzNiAoTWFyY2ggMjAyNSkuXG4gICAgICAgIC8vIFVudGlsIHRoaXMgaXMgcGFydCBvZiBvdXIgYmFzZWxpbmUsIHdlIHNob3VsZCBmZWF0dXJlIGNoZWNrIHRvIGVuYWJsZSBpdC5cbiAgICAgICAgY29uc3QgdmFsdWUgPVxuICAgICAgICAgIHRoaXMuZGlzYWJsZWQgfHwgdGhpcy5yZWFkT25seVxuICAgICAgICAgICAgPyAnZmFsc2UnXG4gICAgICAgICAgICA6IHBsYWludGV4dE9ubHlTdXBwb3J0ZWRcbiAgICAgICAgICAgICAgPyAncGxhaW50ZXh0LW9ubHknXG4gICAgICAgICAgICAgIDogJ3RydWUnO1xuICAgICAgICB0aGlzLnNldEF0dHJpYnV0ZSgnY29udGVudGVkaXRhYmxlJywgdmFsdWUpO1xuICAgICAgICAvLyBJbiB0aGUgcmVhZG9ubHkgY2FzZSwgd2UgZGlzYWJsZSBjb250ZW50ZWRpdGFibGUsIGJ1dCBpdCBzdGlsbFxuICAgICAgICAvLyBuZWVkcyB0byBiZSBmb2N1c2FibGUuIFdlIGFjaGlldmUgdGhpcyBieSBzZXR0aW5nIHRhYmluZGV4IGluIHRoYXQgY2FzZS5cbiAgICAgICAgaWYgKHRoaXMucmVhZE9ubHkpIHtcbiAgICAgICAgICB0aGlzLnNldEF0dHJpYnV0ZSgndGFiaW5kZXgnLCAnMCcpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMucmVtb3ZlQXR0cmlidXRlKCd0YWJpbmRleCcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZW1pdENoYW5nZUlmTmVjZXNzYXJ5KCk6IHZvaWQge1xuICAgICAgaWYgKHRoaXMuX3Nob3VsZEVtaXRDaGFuZ2UpIHtcbiAgICAgICAgdGhpcy5fc2hvdWxkRW1pdENoYW5nZSA9IGZhbHNlO1xuICAgICAgICAvKiogVGhlIGNoYW5nZSBldmVudCBpcyBmaXJlZCB3aGVuIHRoZSB1c2VyIG1vZGlmaWVzIHRoZSBlbGVtZW50J3MgdmFsdWUuIFVubGlrZSB0aGUgaW5wdXQgZXZlbnQsIHRoZSBjaGFuZ2UgZXZlbnQgaXMgbm90IG5lY2Vzc2FyaWx5IGZpcmVkIGZvciBlYWNoIGFsdGVyYXRpb24gdG8gYW4gZWxlbWVudCdzIHZhbHVlLiAqL1xuICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdjaGFuZ2UnLCB7IGJ1YmJsZXM6IHRydWUgfSkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX2NhblNlbGVjdCgpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiAhaXNTZXJ2ZXIgJiYgIXRoaXMuZGlzYWJsZWQgJiYgIXRoaXMucmVhZE9ubHkgJiYgISF0aGlzLnZhbHVlO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogdW5rbm93biB7XG4gICAgICByZXR1cm4gaHRtbGA8c2xvdCBAc2xvdGNoYW5nZT0ke3RoaXMuX2NsZWFuQ2hpbGRyZW59Pjwvc2xvdD5gO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBTYmJGb3JtQXNzb2NpYXRlZElucHV0RWxlbWVudCBhcyB1bmtub3duIGFzIEFic3RyYWN0Q29uc3RydWN0b3I8U2JiRm9ybUFzc29jaWF0ZWRJbnB1dE1peGluVHlwZT4gJlxuICAgIFQ7XG59O1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQXdEQSxNQUFNLDRCQUE0QixNQUFjO0FBQzlDLE1BQUksVUFBVTtBQUNaLFdBQU87QUFBQSxFQUNUO0FBRUEsUUFBTSxNQUFNLFNBQVMsY0FBYyxLQUFLO0FBQ3hDLE1BQUksYUFBYSxtQkFBbUIsZ0JBQWdCO0FBSXBELFNBQU8sSUFBSSxvQkFBb0I7QUFDakM7QUFDQSxNQUFNLHlCQUF5QiwwQkFBQTtBQU14QixNQUFNLDhCQUE4QixDQUN6QyxlQUM0RDtNQUM3QyxpQ0FBNkIsTUFBQTs7QUFDbEMsUUFBQSxjQUFBLGlCQUNOLGlCQUNFLGlCQUFpQix1QkFBdUIseUJBQXlCLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FDL0U7Ozs7O0FBSlUsV0FBQSxtQkFDTCxZQUlQO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxNQTBCRCxJQUFvQixPQUFJO0FBQ3RCLGVBQU87QUFBQSxNQUNUO0FBQUE7QUFBQTtBQUFBO0FBQUEsTUFNQSxJQUFXLE1BQU0sT0FBYTtBQUM1QixhQUFLLFNBQVMsS0FBSyxXQUFXLEtBQUs7QUFDbkMsWUFBSSxLQUFLLFlBQVk7QUFDbkIsZUFBSyxhQUFhLEtBQUssTUFBTTtBQUFBLFFBQy9CO0FBRUEsYUFBSyxjQUFjLElBQUksTUFBTSxzQkFBc0IsRUFBRSxTQUFTLE1BQU0sVUFBVSxLQUFBLENBQU0sQ0FBQztBQUFBLE1BQ3ZGO0FBQUEsTUFDQSxJQUFXLFFBQUs7QUFDZCxlQUFPLEtBQUssVUFBVTtBQUFBLE1BQ3hCO0FBQUEsTUFJQSxJQUFXLFlBQVksT0FBYTtBQUNsQyxZQUFJLE9BQU87QUFDVCxlQUFLLGFBQWEsZUFBZSxLQUFLO0FBQUEsUUFDeEMsT0FBTztBQUNMLGVBQUssZ0JBQWdCLGFBQWE7QUFBQSxRQUNwQztBQUNB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
337
+ //#endregion
338
+ export { SbbFormAssociatedInputMixin };
339
+
340
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1hc3NvY2lhdGVkLWlucHV0LW1peGluLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL21peGlucy9mb3JtLWFzc29jaWF0ZWQtaW5wdXQtbWl4aW4udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgaHRtbCxcbiAgaXNTZXJ2ZXIsXG4gIHR5cGUgTGl0RWxlbWVudCxcbiAgdHlwZSBQcm9wZXJ0eURlY2xhcmF0aW9uLFxuICB0eXBlIFByb3BlcnR5VmFsdWVzLFxufSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgZXZlbnRPcHRpb25zLCBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgc2JiSW5wdXRNb2RhbGl0eURldGVjdG9yIH0gZnJvbSAnLi4vYTExeS50cyc7XG5pbXBvcnQgeyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIsIFNiYk1lZGlhUXVlcnlQb2ludGVyQ29hcnNlIH0gZnJvbSAnLi4vY29udHJvbGxlcnMudHMnO1xuaW1wb3J0IHsgaXNCbGluaywgaXNXZWJraXQgfSBmcm9tICcuLi9kb20udHMnO1xuaW1wb3J0IHsgaTE4bklucHV0UmVxdWlyZWQgfSBmcm9tICcuLi9pMThuLnRzJztcblxuaW1wb3J0IHR5cGUgeyBBYnN0cmFjdENvbnN0cnVjdG9yIH0gZnJvbSAnLi9jb25zdHJ1Y3Rvci50cyc7XG5pbXBvcnQgeyBTYmJEaXNhYmxlZE1peGluIH0gZnJvbSAnLi9kaXNhYmxlZC1taXhpbi50cyc7XG5pbXBvcnQge1xuICBTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW4sXG4gIHR5cGUgU2JiRWxlbWVudEludGVybmFsc01peGluVHlwZSxcbiAgdHlwZSBTYmJFbGVtZW50SW50ZXJuYWxzQ29uc3RydWN0b3IsXG59IGZyb20gJy4vZWxlbWVudC1pbnRlcm5hbHMtbWl4aW4udHMnO1xuaW1wb3J0IHtcbiAgdHlwZSBGb3JtUmVzdG9yZVJlYXNvbixcbiAgdHlwZSBGb3JtUmVzdG9yZVN0YXRlLFxuICBTYmJGb3JtQXNzb2NpYXRlZE1peGluLFxufSBmcm9tICcuL2Zvcm0tYXNzb2NpYXRlZC1taXhpbi50cyc7XG5pbXBvcnQgeyBTYmJSZWFkb25seU1peGluIH0gZnJvbSAnLi9yZWFkb25seS1taXhpbi50cyc7XG5pbXBvcnQgeyBTYmJSZXF1aXJlZE1peGluIH0gZnJvbSAnLi9yZXF1aXJlZC1taXhpbi50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGFic3RyYWN0IGNsYXNzIFNiYkZvcm1Bc3NvY2lhdGVkSW5wdXRNaXhpblR5cGUgZXh0ZW5kcyBTYmJSZXF1aXJlZE1peGluKFxuICBTYmJGb3JtQXNzb2NpYXRlZE1peGluKFNiYkVsZW1lbnRJbnRlcm5hbHNNaXhpbihMaXRFbGVtZW50KSksXG4pIHtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBmb3JtRmllbGRBc3NvY2lhdGVkID0gdHJ1ZTtcblxuICBwdWJsaWMgc2V0IHZhbHVlKHZhbHVlOiBzdHJpbmcpO1xuICBwdWJsaWMgZ2V0IHZhbHVlKCk6IHN0cmluZztcblxuICBwdWJsaWMgc2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuKTtcbiAgcHVibGljIGdldCBkaXNhYmxlZCgpOiBib29sZWFuO1xuXG4gIHB1YmxpYyBzZXQgcmVhZE9ubHkodmFsdWU6IGJvb2xlYW4pO1xuICBwdWJsaWMgZ2V0IHJlYWRPbmx5KCk6IGJvb2xlYW47XG5cbiAgcHVibGljIHNldCBwbGFjZWhvbGRlcih2YWx1ZTogc3RyaW5nKTtcbiAgcHVibGljIGdldCBwbGFjZWhvbGRlcigpOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE1ha2VzIHRoZSBzZWxlY3Rpb24gZXF1YWwgdG8gdGhlIGN1cnJlbnQgb2JqZWN0LlxuICAgKlxuICAgKiBbTUROIFJlZmVyZW5jZV0oaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZG9jcy9XZWIvQVBJL0hUTUxJbnB1dEVsZW1lbnQvc2VsZWN0KVxuICAgKi9cbiAgcHVibGljIHNlbGVjdCgpOiB2b2lkO1xuXG4gIHB1YmxpYyBmb3JtUmVzZXRDYWxsYmFjaygpOiB2b2lkO1xuICBwdWJsaWMgZm9ybVN0YXRlUmVzdG9yZUNhbGxiYWNrKHN0YXRlOiBGb3JtUmVzdG9yZVN0YXRlIHwgbnVsbCwgcmVhc29uOiBGb3JtUmVzdG9yZVJlYXNvbik6IHZvaWQ7XG5cbiAgcHJvdGVjdGVkIHByZXBhcmVQYXN0ZWRUZXh0KHRleHQ6IHN0cmluZyk6IHN0cmluZztcbiAgcHJvdGVjdGVkIGxhbmd1YWdlOiBTYmJMYW5ndWFnZUNvbnRyb2xsZXI7XG59XG5cbmNvbnN0IGNoZWNrUGxhaW50ZXh0T25seVN1cHBvcnQgPSAoKTogYm9vbGVhbiA9PiB7XG4gIGlmIChpc1NlcnZlcikge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNvbnN0IGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICBkaXYuc2V0QXR0cmlidXRlKCdjb250ZW50ZWRpdGFibGUnLCAnUExBSU5URVhULU9OTFknKTtcblxuICAvLyBJZiBwbGFpbnRleHQtb25seSBpcyBzdXBwb3J0ZWQsIHRoZSBhdHRyaWJ1dGUgdmFsdWUgaXNcbiAgLy8gcmV0dXJuZWQgYXMgbG93ZXItY2FzZSBmcm9tIHRoZSBwcm9wZXJ0eSBhY2Nlc3MuXG4gIHJldHVybiBkaXYuY29udGVudEVkaXRhYmxlID09PSAncGxhaW50ZXh0LW9ubHknO1xufTtcbmNvbnN0IHBsYWludGV4dE9ubHlTdXBwb3J0ZWQgPSBjaGVja1BsYWludGV4dE9ubHlTdXBwb3J0KCk7XG5cbi8qKlxuICogVGhlIFNiYkZvcm1Bc3NvY2lhdGVkSW5wdXRNaXhpbiBlbmFibGVzIG5hdGl2ZSBmb3JtIHN1cHBvcnQgZm9yIHRleHQgaW5wdXQgY29udHJvbHMuXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbmV4cG9ydCBjb25zdCBTYmJGb3JtQXNzb2NpYXRlZElucHV0TWl4aW4gPSA8VCBleHRlbmRzIEFic3RyYWN0Q29uc3RydWN0b3I8TGl0RWxlbWVudD4+KFxuICBzdXBlckNsYXNzOiBULFxuKTogQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJGb3JtQXNzb2NpYXRlZElucHV0TWl4aW5UeXBlPiAmIFQgPT4ge1xuICAvLyBUT0RPKGJyZWFraW5nLWNoYW5nZSk6IFJlbW92ZSBTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW4gYW5kIGRlcGVuZCBvbiBTYmJFbGVtZW50IGFzIGJhc2UgY2xhc3MgaW5zdGVhZCBvZiBMaXRFbGVtZW50XG4gIGNvbnN0IGNvbmRpdGlvbmFsU3VwZXJDbGFzcyA9IChzdXBlckNsYXNzIGFzIHVua25vd24gYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pWydfJHNiYkVsZW1lbnQkJ11cbiAgICA/IChzdXBlckNsYXNzIGFzIHVua25vd24gYXMgQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW5UeXBlPiAmXG4gICAgICAgIFQgJlxuICAgICAgICBTYmJFbGVtZW50SW50ZXJuYWxzQ29uc3RydWN0b3IpXG4gICAgOiBTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW4oc3VwZXJDbGFzcyk7XG5cbiAgYWJzdHJhY3QgY2xhc3MgU2JiRm9ybUFzc29jaWF0ZWRJbnB1dEVsZW1lbnRcbiAgICBleHRlbmRzIFNiYlJlYWRvbmx5TWl4aW4oXG4gICAgICBTYmJEaXNhYmxlZE1peGluKFNiYlJlcXVpcmVkTWl4aW4oU2JiRm9ybUFzc29jaWF0ZWRNaXhpbihjb25kaXRpb25hbFN1cGVyQ2xhc3MpKSksXG4gICAgKVxuICAgIGltcGxlbWVudHMgUGFydGlhbDxTYmJGb3JtQXNzb2NpYXRlZElucHV0TWl4aW5UeXBlPlxuICB7XG4gICAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSByb2xlID0gJ3RleHRib3gnO1xuICAgIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgZm9ybUZpZWxkQXNzb2NpYXRlZCA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiBBbiBlbGVtZW50IHdpdGggY29udGVudGVkaXRhYmxlIHdpbGwgbm90IGVtaXQgYSBjaGFuZ2UgZXZlbnQuIFRvIGFjaGlldmUgcGFyaXR5XG4gICAgICogd2l0aCBhIG5hdGl2ZSB0ZXh0IGlucHV0LCB3ZSBuZWVkIHRvIHRyYWNrIHdoZXRoZXIgYSBjaGFuZ2UgZXZlbnQgc2hvdWxkIGJlXG4gICAgICogZW1pdHRlZC5cbiAgICAgKi9cbiAgICBwcml2YXRlIF9zaG91bGRFbWl0Q2hhbmdlID0gZmFsc2U7XG4gICAgLyoqXG4gICAgICogQSBuYXRpdmUgdGV4dCBpbnB1dCBhdHRlbXB0cyB0byBzdWJtaXQgdGhlIGZvcm0gd2hlbiBwcmVzc2luZyBFbnRlci5cbiAgICAgKiBUaGlzIGNhbiBiZSBwcmV2ZW50ZWQgYnkgY2FsbGluZyBwcmV2ZW50RGVmYXVsdCBvbiB0aGUga2V5ZG93biBldmVudC5cbiAgICAgKiBXZSB0cmFjayB3aGV0aGVyIHRvIHJlcXVlc3Qgc3VibWl0LCB3aGljaCBzaG91bGQgb2NjdXIgYmVmb3JlIHRoZSBrZXl1cFxuICAgICAqIGV2ZW50LlxuICAgICAqL1xuICAgIHByaXZhdGUgX3Nob3VsZFRyaWdnZXJTdWJtaXQgPSBmYWxzZTtcblxuICAgIHByb3RlY3RlZCBsYW5ndWFnZSA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG5cbiAgICAvKipcbiAgICAgKiBGb3JtIHR5cGUgb2YgZWxlbWVudC5cbiAgICAgKiBAZGVmYXVsdCAndGV4dCdcbiAgICAgKi9cbiAgICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IHR5cGUoKTogc3RyaW5nIHtcbiAgICAgIHJldHVybiAndGV4dCc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIHZhbHVlIG9mIHRoZSBpbnB1dC4gUmVmbGVjdHMgdGhlIGN1cnJlbnQgdGV4dCB2YWx1ZSBvZiB0aGlzIGlucHV0LlxuICAgICAqL1xuICAgIEBwcm9wZXJ0eSgpXG4gICAgcHVibGljIHNldCB2YWx1ZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICB0aGlzLl92YWx1ZSA9IHRoaXMuX2NsZWFuVGV4dCh2YWx1ZSk7XG4gICAgICBpZiAodGhpcy5oYXNVcGRhdGVkKSB7XG4gICAgICAgIHRoaXMuX2Fzc2lnblZhbHVlKHRoaXMuX3ZhbHVlKTtcbiAgICAgIH1cbiAgICAgIC8qKiBAaW50ZXJuYWwgKi9cbiAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ2Rpc3BsYXl2YWx1ZWNoYW5nZScsIHsgYnViYmxlczogdHJ1ZSwgY29tcG9zZWQ6IHRydWUgfSkpO1xuICAgIH1cbiAgICBwdWJsaWMgZ2V0IHZhbHVlKCk6IHN0cmluZyB7XG4gICAgICByZXR1cm4gdGhpcy5fdmFsdWUgPz8gJyc7XG4gICAgfVxuICAgIHByaXZhdGUgX3ZhbHVlOiBzdHJpbmcgPSAnJztcblxuICAgIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogZmFsc2UgfSlcbiAgICBwdWJsaWMgc2V0IHBsYWNlaG9sZGVyKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICB0aGlzLnNldEF0dHJpYnV0ZSgncGxhY2Vob2xkZXInLCB2YWx1ZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnJlbW92ZUF0dHJpYnV0ZSgncGxhY2Vob2xkZXInKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFQbGFjZWhvbGRlciA9IHZhbHVlID8gdmFsdWUgOiBudWxsO1xuICAgIH1cbiAgICBwdWJsaWMgZ2V0IHBsYWNlaG9sZGVyKCk6IHN0cmluZyB7XG4gICAgICByZXR1cm4gdGhpcy5nZXRBdHRyaWJ1dGUoJ3BsYWNlaG9sZGVyJykgPz8gJyc7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKCkge1xuICAgICAgc3VwZXIoKTtcbiAgICAgIC8vIFdlIHByaW1hcmlseSB1c2UgY2FwdHVyZSBldmVudCBsaXN0ZW5lcnMsIGFzIHdlIHdhbnRcbiAgICAgIC8vIG91ciBsaXN0ZW5lcnMgdG8gb2NjdXIgYmVmb3JlIGNvbnN1bWVyIGV2ZW50IGxpc3RlbmVycy5cbiAgICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKFxuICAgICAgICAnaW5wdXQnLFxuICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgY29uc3Qgb2xkVmFsdWUgPSB0aGlzLl92YWx1ZTtcbiAgICAgICAgICB0aGlzLl92YWx1ZSA9IHRoaXMuX2NsZWFuVGV4dCh0aGlzLnRleHRDb250ZW50ID8/ICcnKTtcbiAgICAgICAgICB0aGlzLnJlcXVlc3RVcGRhdGUoJ3ZhbHVlJywgb2xkVmFsdWUpO1xuICAgICAgICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5hZGQoJ2ludGVyYWN0ZWQnKTtcbiAgICAgICAgICB0aGlzLl9zaG91bGRFbWl0Q2hhbmdlID0gdHJ1ZTtcbiAgICAgICAgfSxcbiAgICAgICAgeyBjYXB0dXJlOiB0cnVlIH0sXG4gICAgICApO1xuICAgICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ2NoYW5nZScsICgpID0+ICh0aGlzLl9zaG91bGRFbWl0Q2hhbmdlID0gZmFsc2UpLCB7IGNhcHR1cmU6IHRydWUgfSk7XG4gICAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LihcbiAgICAgICAgJ2tleWRvd24nLFxuICAgICAgICAoZXZlbnQpID0+IHtcbiAgICAgICAgICBpZiAodGhpcy5fcmVxdWlyZXNFbXB0eVBhdGNoKCkpIHtcbiAgICAgICAgICAgIHRoaXMuX2Fzc2lnblZhbHVlKCcnKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLy8gV2UgcHJldmVudCByZWN1cnNpdmUgZXZlbnRzIGJ5IGNoZWNraW5nIHRoZSBvcmlnaW5hbCBldmVudCBmb3IgaXNUcnVzdGVkXG4gICAgICAgICAgLy8gd2hpY2ggaXMgZmFsc2UgZm9yIG1hbnVhbGx5IGRpc3BhdGNoZWQgZXZlbnRzICh3aGljaCB3ZSBkaXNwYXRjaCBiZWxvdykuXG4gICAgICAgICAgaWYgKChldmVudC5rZXkgPT09ICdFbnRlcicgfHwgZXZlbnQua2V5ID09PSAnXFxuJykgJiYgZXZlbnQuaXNUcnVzdGVkKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICB0aGlzLl9zaG91bGRUcmlnZ2VyU3VibWl0ID0gdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBLZXlib2FyZEV2ZW50KCdrZXlkb3duJywgZXZlbnQpKTtcbiAgICAgICAgICB9IGVsc2UgaWYgKFxuICAgICAgICAgICAgaXNXZWJraXQgJiZcbiAgICAgICAgICAgIHRoaXMudmFsdWUgJiZcbiAgICAgICAgICAgIChldmVudC5rZXkgPT09ICdCYWNrc3BhY2UnIHx8IGV2ZW50LmtleSA9PT0gJ0RlbGV0ZScpICYmXG4gICAgICAgICAgICBldmVudC5pc1RydXN0ZWRcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIC8vIEluIFdlYmtpdCBwcmVzc2luZyBCYWNrc3BhY2Ugb3IgRGVsZXRlIGNvbXBsZXRlbHkgcmVtb3ZlcyBhbGwgdGhlIGNvbnRlbnRcbiAgICAgICAgICAgIC8vIGlmIGNvbnRlbnRlZGl0YWJsZSBpcyBzZXQgb24gYSB3ZWIgY29tcG9uZW50IGhvc3QuXG4gICAgICAgICAgICAvLyBXZSBoYXZlIHRvIHJlcGxpY2F0ZSB0aGUgbm9ybWFsIGRlbGV0ZSBiZWhhdmlvci5cbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcblxuICAgICAgICAgICAgaWYgKCF0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEtleWJvYXJkRXZlbnQoJ2tleWRvd24nLCBldmVudCkpKSB7XG4gICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWRSYW5nZSA9IHdpbmRvdy5nZXRTZWxlY3Rpb24oKT8uZ2V0UmFuZ2VBdCgwKTtcbiAgICAgICAgICAgIGlmICghc2VsZWN0ZWRSYW5nZSkge1xuICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChzZWxlY3RlZFJhbmdlLnN0YXJ0T2Zmc2V0ICE9PSBzZWxlY3RlZFJhbmdlLmVuZE9mZnNldCkge1xuICAgICAgICAgICAgICAvLyBJZiBhIHRleHQgcmFuZ2UgaXMgc2VsZWN0ZWQsIHRoZW4gZGVsZXRlIHRoaXMgcmFuZ2VcbiAgICAgICAgICAgICAgc2VsZWN0ZWRSYW5nZS5kZWxldGVDb250ZW50cygpO1xuICAgICAgICAgICAgICB0aGlzLl9kaXNwYXRjaElucHV0RXZlbnQoKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5ID09PSAnQmFja3NwYWNlJyAmJiBzZWxlY3RlZFJhbmdlLnN0YXJ0T2Zmc2V0ID4gMCkge1xuICAgICAgICAgICAgICAvLyBXaGVuIHByZXNzaW5nIEJhY2tzcGFjZSwgd2Ugc2VsZWN0IHRoZSBwcmV2aW91cyBjaGFyYWN0ZXIgZnJvbVxuICAgICAgICAgICAgICAvLyB0aGUgY3VycmVudCBjdXJzb3IgcG9zaXRpb24gYW5kIGRlbGV0ZSBpdC5cbiAgICAgICAgICAgICAgc2VsZWN0ZWRSYW5nZS5zZXRTdGFydChzZWxlY3RlZFJhbmdlLnN0YXJ0Q29udGFpbmVyLCBzZWxlY3RlZFJhbmdlLnN0YXJ0T2Zmc2V0IC0gMSk7XG4gICAgICAgICAgICAgIHNlbGVjdGVkUmFuZ2UuZGVsZXRlQ29udGVudHMoKTtcbiAgICAgICAgICAgICAgdGhpcy5fZGlzcGF0Y2hJbnB1dEV2ZW50KCk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGV2ZW50LmtleSA9PT0gJ0RlbGV0ZScgJiYgc2VsZWN0ZWRSYW5nZS5lbmRPZmZzZXQgPCB0aGlzLnZhbHVlLmxlbmd0aCkge1xuICAgICAgICAgICAgICAvLyBXaGVuIHByZXNzaW5nIERlbGV0ZSwgd2Ugc2VsZWN0IHRoZSBuZXh0IGNoYXJhY3RlciBmcm9tXG4gICAgICAgICAgICAgIC8vIHRoZSBjdXJyZW50IGN1cnNvciBwb3NpdGlvbiBhbmQgZGVsZXRlIGl0LlxuICAgICAgICAgICAgICBzZWxlY3RlZFJhbmdlLnNldEVuZChzZWxlY3RlZFJhbmdlLmVuZENvbnRhaW5lciwgc2VsZWN0ZWRSYW5nZS5lbmRPZmZzZXQgKyAxKTtcbiAgICAgICAgICAgICAgc2VsZWN0ZWRSYW5nZS5kZWxldGVDb250ZW50cygpO1xuICAgICAgICAgICAgICB0aGlzLl9kaXNwYXRjaElucHV0RXZlbnQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHsgY2FwdHVyZTogdHJ1ZSB9LFxuICAgICAgKTtcbiAgICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKFxuICAgICAgICAna2V5dXAnLFxuICAgICAgICAoZXZlbnQpID0+IHtcbiAgICAgICAgICBpZiAoZXZlbnQua2V5ID09PSAnRW50ZXInIHx8IGV2ZW50LmtleSA9PT0gJ1xcbicpIHtcbiAgICAgICAgICAgIHRoaXMuX2VtaXRDaGFuZ2VJZk5lY2Vzc2FyeSgpO1xuICAgICAgICAgICAgaWYgKHRoaXMuX3Nob3VsZFRyaWdnZXJTdWJtaXQpIHtcbiAgICAgICAgICAgICAgdGhpcy5fc2hvdWxkVHJpZ2dlclN1Ym1pdCA9IGZhbHNlO1xuICAgICAgICAgICAgICB0aGlzLmZvcm0/LnJlcXVlc3RTdWJtaXQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuX3JlcXVpcmVzRW1wdHlQYXRjaCgpKSB7XG4gICAgICAgICAgICB0aGlzLl9zZXRDdXJzb3JBdCgwKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHsgY2FwdHVyZTogdHJ1ZSB9LFxuICAgICAgKTtcbiAgICAgIC8vIGNvbnRlbnRlZGl0YWJsZSBhbGxvd3MgcGFzdGluZyByaWNoIGNvbnRlbnQgaW50byBpdHMgaG9zdC5cbiAgICAgIC8vIFdlIHByZXZlbnQgdGhpcyBieSBsaXN0ZW5pbmcgdG8gdGhlIHBhc3RlIGV2ZW50IGFuZFxuICAgICAgLy8gZXh0cmFjdGluZyB0aGUgcGxhaW4gdGV4dCBmcm9tIHRoZSBwYXN0ZWQgY29udGVudFxuICAgICAgLy8gYW5kIGluc2VydGluZyBpdCBpbnRvIHRoZSBzZWxlY3RlZCByYW5nZSAoY3Vyc29yIHBvc2l0aW9uXG4gICAgICAvLyBvciBzZWxlY3Rpb24pLlxuICAgICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ3Bhc3RlJywgKGUpID0+IHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBpZiAodGhpcy5fcmVxdWlyZXNFbXB0eVBhdGNoKCkpIHtcbiAgICAgICAgICB0aGlzLl9hc3NpZ25WYWx1ZSgnJyk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB0ZXh0ID0gdGhpcy5fY2xlYW5UZXh0KGUuY2xpcGJvYXJkRGF0YT8uZ2V0RGF0YSgndGV4dC9wbGFpbicpID8/ICcnKTtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRSYW5nZSA9IHdpbmRvdy5nZXRTZWxlY3Rpb24oKT8uZ2V0UmFuZ2VBdCgwKTtcbiAgICAgICAgaWYgKCFzZWxlY3RlZFJhbmdlIHx8ICF0ZXh0KSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgc2VsZWN0ZWRSYW5nZS5kZWxldGVDb250ZW50cygpO1xuICAgICAgICBzZWxlY3RlZFJhbmdlLmluc2VydE5vZGUoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUodGhpcy5wcmVwYXJlUGFzdGVkVGV4dCh0ZXh0KSkpO1xuICAgICAgICBzZWxlY3RlZFJhbmdlLnNldFN0YXJ0KHNlbGVjdGVkUmFuZ2UuZW5kQ29udGFpbmVyLCBzZWxlY3RlZFJhbmdlLmVuZE9mZnNldCk7XG4gICAgICAgIHRoaXMuX2Rpc3BhdGNoSW5wdXRFdmVudCgpO1xuICAgICAgfSk7XG4gICAgICAvLyBXaGVuIGZvY3VzaW5nIGEgdGV4dCBpbnB1dCB2aWEga2V5Ym9hcmQsIHRoZSB0ZXh0IGNvbnRlbnQgc2hvdWxkIGJlIHNlbGVjdGVkLlxuICAgICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ2ZvY3VzJywgKCkgPT4ge1xuICAgICAgICBpZiAoc2JiSW5wdXRNb2RhbGl0eURldGVjdG9yLm1vc3RSZWNlbnRNb2RhbGl0eSA9PT0gJ2tleWJvYXJkJykge1xuICAgICAgICAgIC8vIFRPRE86IFRoaXMgZG9lcyBub3Qgc2VlbSB0byB3b3JrIGluIEZpcmVmb3ggd2l0aCByZWFkb25seS5cbiAgICAgICAgICB3aW5kb3cuZ2V0U2VsZWN0aW9uKCk/LnNlbGVjdEFsbENoaWxkcmVuKHRoaXMpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCd0b3VjaGVuZCcsICgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuX3JlcXVpcmVzRW1wdHlQYXRjaCgpKSB7XG4gICAgICAgICAgdGhpcy5fYXNzaWduVmFsdWUoJyZuYnNwOycpO1xuICAgICAgICAgIHRoaXMuX3NldEN1cnNvckF0KDApO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdjbGljaycsICgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuX3JlcXVpcmVzRW1wdHlQYXRjaCgpICYmIHNiYklucHV0TW9kYWxpdHlEZXRlY3Rvci5tb3N0UmVjZW50TW9kYWxpdHkgPT09ICd0b3VjaCcpIHtcbiAgICAgICAgICB0aGlzLl9zZXRDdXJzb3JBdCgwKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIC8vIE9uIGJsdXIgdGhlIG5hdGl2ZSB0ZXh0IGlucHV0IHNjcm9sbHMgdGhlIHRleHQgdG8gdGhlIHN0YXJ0IG9mIHRoZSB0ZXh0LlxuICAgICAgLy8gV2UgbWltaWMgdGhhdCBieSByZXNldHRpbmcgdGhlIHNjcm9sbCBwb3NpdGlvbi5cbiAgICAgIC8vIFdlIGFsc28gdW5zZXQgYW55IHNlbGVjdGlvbiB0byBhbGlnbiB3aXRoIHRoZSBuYXRpdmUgdGV4dCBpbnB1dC5cbiAgICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKFxuICAgICAgICAnYmx1cicsXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICB3aW5kb3cuZ2V0U2VsZWN0aW9uKCk/LnJlbW92ZUFsbFJhbmdlcygpO1xuICAgICAgICAgIGlmICh0aGlzLnZhbHVlID09PSAnJykge1xuICAgICAgICAgICAgdGhpcy5fYXNzaWduVmFsdWUoJycpO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLl9lbWl0Q2hhbmdlSWZOZWNlc3NhcnkoKTtcbiAgICAgICAgICB0aGlzLnNjcm9sbExlZnQgPSAwO1xuICAgICAgICB9LFxuICAgICAgICB7IGNhcHR1cmU6IHRydWUgfSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIGlzRGlzYWJsZWRFeHRlcm5hbGx5KCk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIHRoaXMuZm9ybURpc2FibGVkO1xuICAgIH1cblxuICAgIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgICB0aGlzLmludGVybmFscy5hcmlhTXVsdGlMaW5lID0gJ2ZhbHNlJztcbiAgICAgIHRoaXMuX3VwZGF0ZUNvbnRlbnRlZGl0YWJsZSgpO1xuXG4gICAgICAvLyBXZSB3YW50IHRvIHJlcGxhY2UgYW55IGNvbnRlbnQgYnkganVzdCB0aGUgdGV4dCBjb250ZW50LlxuICAgICAgdGhpcy5fYXNzaWduVmFsdWUodGhpcy52YWx1ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIG92ZXJyaWRlIGZvY3VzKG9wdGlvbnM/OiBGb2N1c09wdGlvbnMpOiB2b2lkIHtcbiAgICAgIHN1cGVyLmZvY3VzKG9wdGlvbnMpO1xuICAgICAgLy8gQnkgZGVmYXVsdCwgd2hlbiBjYWxsaW5nIGZvY3VzIG9uIGFuIGlucHV0IGVsZW1lbnQsIHRoZSBjdXJzb3IgaXMgcGxhY2VkXG4gICAgICAvLyBhdCB0aGUgZW5kIG9mIHRoZSBpbnB1dCB0ZXh0LiBIb3dldmVyLCB3aXRoIGNvbnRlbnRlZGl0YWJsZSwgdGhlIGN1cnNvclxuICAgICAgLy8gaXMgcGxhY2VkIGF0IHRoZSBiZWdpbm5pbmcsIHNvIHdlIG1vdmUgaXQgdG8gdGhlIGVuZCwgaWYgdGhhdCBpcyB0aGUgY2FzZS5cbiAgICAgIGlmICh0aGlzLl9jYW5TZWxlY3QoKSkge1xuICAgICAgICBjb25zdCBzZWxlY3Rpb24gPSB3aW5kb3cuZ2V0U2VsZWN0aW9uKCk7XG4gICAgICAgIGlmICghc2VsZWN0aW9uKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHJhbmdlID0gc2VsZWN0aW9uLnJhbmdlQ291bnQgPiAwID8gc2VsZWN0aW9uLmdldFJhbmdlQXQoMCkgOiBudWxsO1xuICAgICAgICBpZiAocmFuZ2UgJiYgcmFuZ2Uuc3RhcnRPZmZzZXQgIT09IDApIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9zZXRDdXJzb3JBdCh0aGlzLnRleHRDb250ZW50IS5sZW5ndGgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBvdmVycmlkZSBhdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2soXG4gICAgICBuYW1lOiBzdHJpbmcsXG4gICAgICBvbGQ6IHN0cmluZyB8IG51bGwsXG4gICAgICB2YWx1ZTogc3RyaW5nIHwgbnVsbCxcbiAgICApOiB2b2lkIHtcbiAgICAgIC8qKlxuICAgICAgICogVGhlIG5hdGl2ZSB0ZXh0IGlucHV0IGNoYW5nZXMgdGhlIHZhbHVlIHByb3BlcnR5IHdoZW4gdGhlIHZhbHVlIGF0dHJpYnV0ZSBpc1xuICAgICAgICogY2hhbmdlZCB1bmRlciB0aGUgY29uZGl0aW9uIHRoYXQgbm8gaW5wdXQgZXZlbnQgaGFzIG9jY3VycmVkIHNpbmNlIGNyZWF0aW9uXG4gICAgICAgKiBvciB0aGUgbGFzdCBmb3JtIHJlc2V0LlxuICAgICAgICovXG4gICAgICBpZiAobmFtZSAhPT0gJ3ZhbHVlJyB8fCAhdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmhhcygnaW50ZXJhY3RlZCcpKSB7XG4gICAgICAgIHN1cGVyLmF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayhuYW1lLCBvbGQsIHZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJcyBjYWxsZWQgd2hlbmV2ZXIgdGhlIGZvcm0gaXMgYmVpbmcgcmVzZXQuXG4gICAgICpcbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwdWJsaWMgb3ZlcnJpZGUgZm9ybVJlc2V0Q2FsbGJhY2soKTogdm9pZCB7XG4gICAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuZGVsZXRlKCdpbnRlcmFjdGVkJyk7XG4gICAgICB0aGlzLnZhbHVlID0gdGhpcy5nZXRBdHRyaWJ1dGUoJ3ZhbHVlJykgPz8gJyc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogIENhbGxlZCB3aGVuIHRoZSBicm93c2VyIGlzIHRyeWluZyB0byByZXN0b3JlIGVsZW1lbnTigJlzIHN0YXRlIHRvIHN0YXRlIGluIHdoaWNoIGNhc2VcbiAgICAgKiAgcmVhc29uIGlzIFwicmVzdG9yZVwiLCBvciB3aGVuIHRoZSBicm93c2VyIGlzIHRyeWluZyB0byBmdWxmaWxsIGF1dG9maWxsIG9uIGJlaGFsZiBvZlxuICAgICAqICB1c2VyIGluIHdoaWNoIGNhc2UgcmVhc29uIGlzIFwiYXV0b2NvbXBsZXRlXCIuXG4gICAgICogIEluIHRoZSBjYXNlIG9mIFwicmVzdG9yZVwiLCBzdGF0ZSBpcyBhIHN0cmluZywgRmlsZSwgb3IgRm9ybURhdGEgb2JqZWN0XG4gICAgICogIHByZXZpb3VzbHkgc2V0IGFzIHRoZSBzZWNvbmQgYXJndW1lbnQgdG8gc2V0Rm9ybVZhbHVlLlxuICAgICAqXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgcHVibGljIG92ZXJyaWRlIGZvcm1TdGF0ZVJlc3RvcmVDYWxsYmFjayhcbiAgICAgIHN0YXRlOiBGb3JtUmVzdG9yZVN0YXRlIHwgbnVsbCxcbiAgICAgIF9yZWFzb246IEZvcm1SZXN0b3JlUmVhc29uLFxuICAgICk6IHZvaWQge1xuICAgICAgaWYgKHN0YXRlICYmIHR5cGVvZiBzdGF0ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHN0YXRlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE1ha2VzIHRoZSBzZWxlY3Rpb24gZXF1YWwgdG8gdGhlIGN1cnJlbnQgb2JqZWN0LlxuICAgICAqXG4gICAgICogQGxpbmsgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZG9jcy9XZWIvQVBJL0hUTUxJbnB1dEVsZW1lbnQvc2VsZWN0XG4gICAgICovXG4gICAgcHVibGljIHNlbGVjdCgpOiB2b2lkIHtcbiAgICAgIHdpbmRvdy5nZXRTZWxlY3Rpb24oKT8uc2VsZWN0QWxsQ2hpbGRyZW4odGhpcyk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIGZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICAgIC8vIElmIHRoZSB2YWx1ZSB3YXMgYXNzaWduZWQgYmVmb3JlIGZpcnN0VXBkYXRlLCB3ZSBoYXZlIHRvXG4gICAgICAvLyB3cml0ZSBpdCB0aGUgZG9jdW1lbnQgdG8gYmUgdmlzdWFsbHkgc2VlblxuICAgICAgaWYgKHRoaXMudmFsdWUgJiYgIXRoaXMuaW5uZXJIVE1MLmxlbmd0aCkge1xuICAgICAgICB0aGlzLl9hc3NpZ25WYWx1ZSh0aGlzLnZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgb3ZlcnJpZGUgcmVxdWVzdFVwZGF0ZShcbiAgICAgIG5hbWU/OiBQcm9wZXJ0eUtleSxcbiAgICAgIG9sZFZhbHVlPzogdW5rbm93bixcbiAgICAgIG9wdGlvbnM/OiBQcm9wZXJ0eURlY2xhcmF0aW9uLFxuICAgICk6IHZvaWQge1xuICAgICAgc3VwZXIucmVxdWVzdFVwZGF0ZShuYW1lLCBvbGRWYWx1ZSwgb3B0aW9ucyk7XG4gICAgICBpZiAoXG4gICAgICAgIHRoaXMuaXNDb25uZWN0ZWQgJiZcbiAgICAgICAgKG5hbWUgPT09ICdkaXNhYmxlZCcgfHwgbmFtZSA9PT0gJ2Zvcm1EaXNhYmxlZCcgfHwgbmFtZSA9PT0gJ3JlYWRPbmx5JylcbiAgICAgICkge1xuICAgICAgICB0aGlzLl91cGRhdGVDb250ZW50ZWRpdGFibGUoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgc2hvdWxkVmFsaWRhdGUobmFtZTogUHJvcGVydHlLZXkgfCB1bmRlZmluZWQpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiBzdXBlci5zaG91bGRWYWxpZGF0ZShuYW1lKSB8fCBuYW1lID09PSAndmFsdWUnIHx8IG5hbWUgPT09ICdyZXF1aXJlZCc7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIHZhbGlkYXRlKCk6IHZvaWQge1xuICAgICAgc3VwZXIudmFsaWRhdGUoKTtcbiAgICAgIGlmICh0aGlzLnJlcXVpcmVkICYmICF0aGlzLnZhbHVlKSB7XG4gICAgICAgIHRoaXMuc2V0VmFsaWRpdHlGbGFnKCd2YWx1ZU1pc3NpbmcnLCBpMThuSW5wdXRSZXF1aXJlZFt0aGlzLmxhbmd1YWdlLmN1cnJlbnRdKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMucmVtb3ZlVmFsaWRpdHlGbGFnKCd2YWx1ZU1pc3NpbmcnKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgcHJlcGFyZVBhc3RlZFRleHQodGV4dDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgIHJldHVybiB0ZXh0O1xuICAgIH1cblxuICAgIHByaXZhdGUgX3JlcXVpcmVzRW1wdHlQYXRjaCgpOiBib29sZWFuIHtcbiAgICAgIC8vIEluIEJsaW5rLCBhIGNvbnRlbnRlZGl0YWJsZSBlbGVtZW50IHdpdGggZW1wdHkgY29udGVudCB3aWxsIGNyYXNoXG4gICAgICAvLyB1cG9uIHJlY2VpdmluZyBmb2N1cywgd2hlbiBpbiBNb2JpbGUgbW9kZS5cbiAgICAgIC8vIFRvIHByZXZlbnQgdGhpcywgd2UgcGF0Y2ggdGhlIGVtcHR5IHN0YXRlIGJ5IGluc2VydGluZyBhIG5vbi1icmVha2luZyBzcGFjZS5cbiAgICAgIHJldHVybiBpc1NlcnZlclxuICAgICAgICA/IGZhbHNlXG4gICAgICAgIDogaXNCbGluayAmJiB0aGlzLnZhbHVlID09PSAnJyAmJiB3aW5kb3cubWF0Y2hNZWRpYShTYmJNZWRpYVF1ZXJ5UG9pbnRlckNvYXJzZSkubWF0Y2hlcztcbiAgICB9XG5cbiAgICBwcml2YXRlIF9hc3NpZ25WYWx1ZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICB0aGlzLmlubmVySFRNTCA9IHZhbHVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3NldEN1cnNvckF0KHBvc2l0aW9uOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgIGNvbnN0IHNlbGVjdGlvbiA9IHdpbmRvdy5nZXRTZWxlY3Rpb24oKTtcbiAgICAgIGlmICghc2VsZWN0aW9uKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgcmFuZ2UgPSBkb2N1bWVudC5jcmVhdGVSYW5nZSgpO1xuICAgICAgcmFuZ2Uuc2V0U3RhcnQodGhpcy5maXJzdENoaWxkISwgcG9zaXRpb24pO1xuICAgICAgcmFuZ2UuY29sbGFwc2UodHJ1ZSk7XG4gICAgICBzZWxlY3Rpb24ucmVtb3ZlQWxsUmFuZ2VzKCk7XG4gICAgICBzZWxlY3Rpb24uYWRkUmFuZ2UocmFuZ2UpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2NsZWFuVGV4dCh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgIC8vIFRoZSBuYXRpdmUgdGV4dCBpbnB1dCByZW1vdmVzIGFsbCBuZXdsaW5lIGNoYXJhY3RlcnMgaWYgcGFzc2VkIHRvIHRoZSB2YWx1ZSBwcm9wZXJ0eVxuICAgICAgcmV0dXJuIHZhbHVlID09PSBudWxsID8gJycgOiBgJHt2YWx1ZX1gLnJlcGxhY2UoL1tcXG5cXHJdKy9nLCAnJyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZGlzcGF0Y2hJbnB1dEV2ZW50KCk6IHZvaWQge1xuICAgICAgLyoqIFRoZSBpbnB1dCBldmVudCBmaXJlcyB3aGVuIHRoZSB2YWx1ZSBoYXMgYmVlbiBjaGFuZ2VkIGFzIGEgZGlyZWN0IHJlc3VsdCBvZiBhIHVzZXIgYWN0aW9uLiAqL1xuICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBJbnB1dEV2ZW50KCdpbnB1dCcsIHsgYnViYmxlczogdHJ1ZSwgY29tcG9zZWQ6IHRydWUgfSkpO1xuICAgIH1cblxuICAgIEBldmVudE9wdGlvbnMoeyBwYXNzaXZlOiB0cnVlIH0pXG4gICAgcHJpdmF0ZSBfY2xlYW5DaGlsZHJlbigpOiB2b2lkIHtcbiAgICAgIGlmICh0aGlzLmNoaWxkRWxlbWVudENvdW50KSB7XG4gICAgICAgIGZvciAoY29uc3QgZWxlbWVudCBvZiB0aGlzLmNoaWxkcmVuKSB7XG4gICAgICAgICAgZWxlbWVudC5yZW1vdmUoKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX3VwZGF0ZUNvbnRlbnRlZGl0YWJsZSgpOiB2b2lkIHtcbiAgICAgIGlmICghaXNTZXJ2ZXIgJiYgdGhpcy5pc0Nvbm5lY3RlZCkge1xuICAgICAgICB0aGlzLmludGVybmFscy5hcmlhUmVhZE9ubHkgPSB0aGlzLnJlYWRPbmx5ID8gJ3RydWUnIDogbnVsbDtcbiAgICAgICAgdGhpcy5pbnRlcm5hbHMuYXJpYURpc2FibGVkID0gdGhpcy5kaXNhYmxlZCA/ICd0cnVlJyA6IG51bGw7XG4gICAgICAgIC8vIFRPRE8oMjAyNik6IEZpcmVmb3ggc3VwcG9ydHMgcGxhaW50ZXh0LW9ubHkgc2luY2UgdmVyc2lvbiAxMzYgKE1hcmNoIDIwMjUpLlxuICAgICAgICAvLyBVbnRpbCB0aGlzIGlzIHBhcnQgb2Ygb3VyIGJhc2VsaW5lLCB3ZSBzaG91bGQgZmVhdHVyZSBjaGVjayB0byBlbmFibGUgaXQuXG4gICAgICAgIGNvbnN0IHZhbHVlID1cbiAgICAgICAgICB0aGlzLmRpc2FibGVkIHx8IHRoaXMucmVhZE9ubHlcbiAgICAgICAgICAgID8gJ2ZhbHNlJ1xuICAgICAgICAgICAgOiBwbGFpbnRleHRPbmx5U3VwcG9ydGVkXG4gICAgICAgICAgICAgID8gJ3BsYWludGV4dC1vbmx5J1xuICAgICAgICAgICAgICA6ICd0cnVlJztcbiAgICAgICAgdGhpcy5zZXRBdHRyaWJ1dGUoJ2NvbnRlbnRlZGl0YWJsZScsIHZhbHVlKTtcbiAgICAgICAgLy8gSW4gdGhlIHJlYWRvbmx5IGNhc2UsIHdlIGRpc2FibGUgY29udGVudGVkaXRhYmxlLCBidXQgaXQgc3RpbGxcbiAgICAgICAgLy8gbmVlZHMgdG8gYmUgZm9jdXNhYmxlLiBXZSBhY2hpZXZlIHRoaXMgYnkgc2V0dGluZyB0YWJpbmRleCBpbiB0aGF0IGNhc2UuXG4gICAgICAgIGlmICh0aGlzLnJlYWRPbmx5KSB7XG4gICAgICAgICAgdGhpcy5zZXRBdHRyaWJ1dGUoJ3RhYmluZGV4JywgJzAnKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLnJlbW92ZUF0dHJpYnV0ZSgndGFiaW5kZXgnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX2VtaXRDaGFuZ2VJZk5lY2Vzc2FyeSgpOiB2b2lkIHtcbiAgICAgIGlmICh0aGlzLl9zaG91bGRFbWl0Q2hhbmdlKSB7XG4gICAgICAgIHRoaXMuX3Nob3VsZEVtaXRDaGFuZ2UgPSBmYWxzZTtcbiAgICAgICAgLyoqIFRoZSBjaGFuZ2UgZXZlbnQgaXMgZmlyZWQgd2hlbiB0aGUgdXNlciBtb2RpZmllcyB0aGUgZWxlbWVudCdzIHZhbHVlLiBVbmxpa2UgdGhlIGlucHV0IGV2ZW50LCB0aGUgY2hhbmdlIGV2ZW50IGlzIG5vdCBuZWNlc3NhcmlseSBmaXJlZCBmb3IgZWFjaCBhbHRlcmF0aW9uIHRvIGFuIGVsZW1lbnQncyB2YWx1ZS4gKi9cbiAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnY2hhbmdlJywgeyBidWJibGVzOiB0cnVlIH0pKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIF9jYW5TZWxlY3QoKTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gIWlzU2VydmVyICYmICF0aGlzLmRpc2FibGVkICYmICF0aGlzLnJlYWRPbmx5ICYmICEhdGhpcy52YWx1ZTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IHVua25vd24ge1xuICAgICAgcmV0dXJuIGh0bWxgPHNsb3QgQHNsb3RjaGFuZ2U9JHt0aGlzLl9jbGVhbkNoaWxkcmVufT48L3Nsb3Q+YDtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gU2JiRm9ybUFzc29jaWF0ZWRJbnB1dEVsZW1lbnQgYXMgdW5rbm93biBhcyBBYnN0cmFjdENvbnN0cnVjdG9yPFNiYkZvcm1Bc3NvY2lhdGVkSW5wdXRNaXhpblR5cGU+ICZcbiAgICBUO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQTREQSxJQUFNLGtDQUEwQztBQUM5QyxLQUFJLFNBQ0YsUUFBTztDQUdULE1BQU0sTUFBTSxTQUFTLGNBQWMsTUFBTTtBQUN6QyxLQUFJLGFBQWEsbUJBQW1CLGlCQUFpQjtBQUlyRCxRQUFPLElBQUksb0JBQW9COztBQUVqQyxJQUFNLHlCQUF5QiwyQkFBMkI7Ozs7QUFNMUQsSUFBYSwrQkFDWCxlQUM0RDtDQUU1RCxNQUFNLHdCQUF5QixXQUFrRCxtQkFDNUUsYUFHRCx5QkFBeUIsV0FBVztBQWtheEMsZUFoYTRDO29CQUNsQyxpQkFDTixpQkFBaUIsaUJBQWlCLHVCQUF1QixzQkFBc0IsQ0FBQyxDQUFDLENBQ2xGOzs7OztlQUhZ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