@sbb-esta/lyne-elements 1.13.0 → 1.14.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 (887) hide show
  1. package/accordion/accordion.d.ts +4 -8
  2. package/accordion/accordion.d.ts.map +1 -1
  3. package/accordion.js +90 -81
  4. package/action-group/action-group.d.ts +5 -5
  5. package/action-group/action-group.d.ts.map +1 -1
  6. package/action-group.js +100 -50
  7. package/alert/alert/alert.d.ts +11 -11
  8. package/alert/alert/alert.d.ts.map +1 -1
  9. package/alert/alert-group/alert-group.d.ts +4 -4
  10. package/alert/alert-group/alert-group.d.ts.map +1 -1
  11. package/alert/alert-group.js +101 -69
  12. package/alert/alert.js +191 -104
  13. package/autocomplete/autocomplete-base-element.d.ts +3 -7
  14. package/autocomplete/autocomplete-base-element.d.ts.map +1 -1
  15. package/autocomplete/autocomplete.d.ts.map +1 -1
  16. package/autocomplete-grid/autocomplete-grid/autocomplete-grid.d.ts.map +1 -1
  17. package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.d.ts +1 -0
  18. package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.d.ts.map +1 -1
  19. package/autocomplete-grid/autocomplete-grid-button.js +53 -60
  20. package/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.d.ts.map +1 -1
  21. package/autocomplete-grid/autocomplete-grid-cell.js +20 -22
  22. package/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.d.ts.map +1 -1
  23. package/autocomplete-grid/autocomplete-grid-optgroup.js +31 -35
  24. package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.d.ts.map +1 -1
  25. package/autocomplete-grid/autocomplete-grid-option.js +45 -63
  26. package/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.d.ts.map +1 -1
  27. package/autocomplete-grid/autocomplete-grid-row.js +23 -25
  28. package/autocomplete-grid/autocomplete-grid.js +112 -133
  29. package/autocomplete.js +283 -295
  30. package/breadcrumb/breadcrumb/breadcrumb.d.ts +1 -1
  31. package/breadcrumb/breadcrumb/breadcrumb.d.ts.map +1 -1
  32. package/breadcrumb/breadcrumb-group/breadcrumb-group.d.ts.map +1 -1
  33. package/breadcrumb/breadcrumb-group.js +107 -114
  34. package/breadcrumb/breadcrumb.js +44 -35
  35. package/button/button/button.d.ts.map +1 -1
  36. package/button/button-link/button-link.d.ts.map +1 -1
  37. package/button/button-link.js +15 -18
  38. package/button/button-static/button-static.d.ts.map +1 -1
  39. package/button/button-static.js +15 -18
  40. package/button/button.js +15 -18
  41. package/button/common/button-common.d.ts +4 -4
  42. package/button/common/button-common.d.ts.map +1 -1
  43. package/button/common.js +41 -30
  44. package/button/mini-button/mini-button-base-element.d.ts.map +1 -1
  45. package/button/mini-button/mini-button.d.ts.map +1 -1
  46. package/button/mini-button-group/mini-button-group.d.ts +2 -2
  47. package/button/mini-button-group/mini-button-group.d.ts.map +1 -1
  48. package/button/mini-button-group.js +55 -43
  49. package/button/mini-button.js +30 -34
  50. package/button/secondary-button/secondary-button.d.ts.map +1 -1
  51. package/button/secondary-button-link/secondary-button-link.d.ts.map +1 -1
  52. package/button/secondary-button-link.js +15 -18
  53. package/button/secondary-button-static/secondary-button-static.d.ts.map +1 -1
  54. package/button/secondary-button-static.js +15 -18
  55. package/button/secondary-button.js +15 -18
  56. package/button/tertiary-button/tertiary-button.d.ts.map +1 -1
  57. package/button/tertiary-button-link/tertiary-button-link.d.ts.map +1 -1
  58. package/button/tertiary-button-link.js +15 -18
  59. package/button/tertiary-button-static/tertiary-button-static.d.ts.map +1 -1
  60. package/button/tertiary-button-static.js +15 -18
  61. package/button/tertiary-button.js +15 -18
  62. package/button/transparent-button/transparent-button.d.ts.map +1 -1
  63. package/button/transparent-button-link/transparent-button-link.d.ts.map +1 -1
  64. package/button/transparent-button-link.js +15 -18
  65. package/button/transparent-button-static/transparent-button-static.d.ts.map +1 -1
  66. package/button/transparent-button-static.js +15 -18
  67. package/button/transparent-button.js +15 -18
  68. package/calendar/calendar.d.ts +7 -7
  69. package/calendar/calendar.d.ts.map +1 -1
  70. package/calendar.js +638 -692
  71. package/card/card/card.d.ts +2 -2
  72. package/card/card/card.d.ts.map +1 -1
  73. package/card/card-badge/card-badge.d.ts +1 -1
  74. package/card/card-badge/card-badge.d.ts.map +1 -1
  75. package/card/card-badge.js +45 -34
  76. package/card/card-button/card-button.d.ts.map +1 -1
  77. package/card/card-button.js +16 -16
  78. package/card/card-link/card-link.d.ts.map +1 -1
  79. package/card/card-link.js +17 -17
  80. package/card/card.js +55 -36
  81. package/card/common/card-action-common.d.ts +1 -1
  82. package/card/common/card-action-common.d.ts.map +1 -1
  83. package/card/common.js +27 -33
  84. package/checkbox/checkbox/checkbox.d.ts +3 -4
  85. package/checkbox/checkbox/checkbox.d.ts.map +1 -1
  86. package/checkbox/checkbox-group/checkbox-group.d.ts +4 -4
  87. package/checkbox/checkbox-group/checkbox-group.d.ts.map +1 -1
  88. package/checkbox/checkbox-group.js +99 -76
  89. package/checkbox/checkbox-panel/checkbox-panel.d.ts +2 -3
  90. package/checkbox/checkbox-panel/checkbox-panel.d.ts.map +1 -1
  91. package/checkbox/checkbox-panel.js +51 -50
  92. package/checkbox/checkbox.js +54 -43
  93. package/checkbox/common/checkbox-common.d.ts +1 -1
  94. package/checkbox/common/checkbox-common.d.ts.map +1 -1
  95. package/checkbox/common.js +39 -24
  96. package/chip/chip.d.ts +2 -2
  97. package/chip/chip.d.ts.map +1 -1
  98. package/chip.js +45 -26
  99. package/clock/clock.d.ts +1 -1
  100. package/clock/clock.d.ts.map +1 -1
  101. package/clock.js +136 -144
  102. package/container/container/container.d.ts +3 -3
  103. package/container/container/container.d.ts.map +1 -1
  104. package/container/container.js +60 -35
  105. package/container/sticky-bar/sticky-bar.d.ts +1 -1
  106. package/container/sticky-bar/sticky-bar.d.ts.map +1 -1
  107. package/container/sticky-bar.js +55 -47
  108. package/core/a11y.js +29 -51
  109. package/core/base-elements/action-base-element.d.ts.map +1 -1
  110. package/core/base-elements/button-base-element.d.ts +2 -2
  111. package/core/base-elements/button-base-element.d.ts.map +1 -1
  112. package/core/base-elements/link-base-element.d.ts +5 -5
  113. package/core/base-elements/link-base-element.d.ts.map +1 -1
  114. package/core/base-elements.js +243 -196
  115. package/core/controllers.js +8 -13
  116. package/core/decorators/base.d.ts +14 -0
  117. package/core/decorators/base.d.ts.map +1 -0
  118. package/core/decorators/force-type.d.ts +8 -0
  119. package/core/decorators/force-type.d.ts.map +1 -0
  120. package/core/decorators/get-override.d.ts +7 -0
  121. package/core/decorators/get-override.d.ts.map +1 -0
  122. package/core/decorators/handle-distinct-change.d.ts +8 -0
  123. package/core/decorators/handle-distinct-change.d.ts.map +1 -0
  124. package/core/decorators/omit-empty-converter.d.ts +8 -0
  125. package/core/decorators/omit-empty-converter.d.ts.map +1 -0
  126. package/core/decorators.d.ts +4 -0
  127. package/core/decorators.d.ts.map +1 -1
  128. package/core/decorators.js +59 -15
  129. package/core/dom.js +1 -5
  130. package/core/eventing.js +1 -4
  131. package/core/interfaces/paginator-page.d.ts +7 -0
  132. package/core/interfaces/paginator-page.d.ts.map +1 -0
  133. package/core/interfaces.d.ts +1 -0
  134. package/core/interfaces.d.ts.map +1 -1
  135. package/core/mixins/disabled-mixin.d.ts +2 -3
  136. package/core/mixins/disabled-mixin.d.ts.map +1 -1
  137. package/core/mixins/named-slot-list-mixin.d.ts +1 -1
  138. package/core/mixins/named-slot-list-mixin.d.ts.map +1 -1
  139. package/core/mixins/negative-mixin.d.ts +1 -1
  140. package/core/mixins/negative-mixin.d.ts.map +1 -1
  141. package/core/mixins/panel-mixin.d.ts +3 -3
  142. package/core/mixins/panel-mixin.d.ts.map +1 -1
  143. package/core/mixins/required-mixin.d.ts +1 -2
  144. package/core/mixins/required-mixin.d.ts.map +1 -1
  145. package/core/mixins.js +290 -237
  146. package/core/testing/private.d.ts +1 -0
  147. package/core/testing/private.d.ts.map +1 -1
  148. package/core/testing.js +7 -13
  149. package/custom-elements.json +26385 -25594
  150. package/datepicker/common/datepicker-button.d.ts +2 -2
  151. package/datepicker/common/datepicker-button.d.ts.map +1 -1
  152. package/datepicker/common.js +110 -116
  153. package/datepicker/datepicker/datepicker.d.ts +6 -6
  154. package/datepicker/datepicker/datepicker.d.ts.map +1 -1
  155. package/datepicker/datepicker-next-day/datepicker-next-day.d.ts.map +1 -1
  156. package/datepicker/datepicker-next-day.js +24 -26
  157. package/datepicker/datepicker-previous-day/datepicker-previous-day.d.ts.map +1 -1
  158. package/datepicker/datepicker-previous-day.js +25 -27
  159. package/datepicker/datepicker-toggle/datepicker-toggle.d.ts +6 -6
  160. package/datepicker/datepicker-toggle/datepicker-toggle.d.ts.map +1 -1
  161. package/datepicker/datepicker-toggle.js +154 -136
  162. package/datepicker/datepicker.js +248 -213
  163. package/development/accordion/accordion.d.ts +4 -8
  164. package/development/accordion/accordion.d.ts.map +1 -1
  165. package/development/accordion.js +118 -93
  166. package/development/action-group/action-group.d.ts +5 -5
  167. package/development/action-group/action-group.d.ts.map +1 -1
  168. package/development/action-group.js +138 -64
  169. package/development/alert/alert/alert.d.ts +11 -11
  170. package/development/alert/alert/alert.d.ts.map +1 -1
  171. package/development/alert/alert-group/alert-group.d.ts +4 -4
  172. package/development/alert/alert-group/alert-group.d.ts.map +1 -1
  173. package/development/alert/alert-group.js +135 -79
  174. package/development/alert/alert.js +259 -109
  175. package/development/autocomplete/autocomplete-base-element.d.ts +3 -7
  176. package/development/autocomplete/autocomplete-base-element.d.ts.map +1 -1
  177. package/development/autocomplete/autocomplete.d.ts.map +1 -1
  178. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.d.ts.map +1 -1
  179. package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.d.ts +1 -0
  180. package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.d.ts.map +1 -1
  181. package/development/autocomplete-grid/autocomplete-grid-button.js +74 -75
  182. package/development/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.d.ts.map +1 -1
  183. package/development/autocomplete-grid/autocomplete-grid-cell.js +24 -24
  184. package/development/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.d.ts.map +1 -1
  185. package/development/autocomplete-grid/autocomplete-grid-optgroup.js +38 -39
  186. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.d.ts.map +1 -1
  187. package/development/autocomplete-grid/autocomplete-grid-option.js +57 -73
  188. package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.d.ts.map +1 -1
  189. package/development/autocomplete-grid/autocomplete-grid-row.js +28 -28
  190. package/development/autocomplete-grid/autocomplete-grid.js +142 -160
  191. package/development/autocomplete.js +394 -393
  192. package/development/breadcrumb/breadcrumb/breadcrumb.d.ts +1 -1
  193. package/development/breadcrumb/breadcrumb/breadcrumb.d.ts.map +1 -1
  194. package/development/breadcrumb/breadcrumb-group/breadcrumb-group.d.ts.map +1 -1
  195. package/development/breadcrumb/breadcrumb-group.js +130 -130
  196. package/development/breadcrumb/breadcrumb.js +53 -36
  197. package/development/button/button/button.d.ts.map +1 -1
  198. package/development/button/button-link/button-link.d.ts.map +1 -1
  199. package/development/button/button-link.js +18 -19
  200. package/development/button/button-static/button-static.d.ts.map +1 -1
  201. package/development/button/button-static.js +18 -19
  202. package/development/button/button.js +18 -19
  203. package/development/button/common/button-common.d.ts +4 -4
  204. package/development/button/common/button-common.d.ts.map +1 -1
  205. package/development/button/common.js +50 -29
  206. package/development/button/mini-button/mini-button-base-element.d.ts.map +1 -1
  207. package/development/button/mini-button/mini-button.d.ts.map +1 -1
  208. package/development/button/mini-button-group/mini-button-group.d.ts +2 -2
  209. package/development/button/mini-button-group/mini-button-group.d.ts.map +1 -1
  210. package/development/button/mini-button-group.js +77 -50
  211. package/development/button/mini-button.js +38 -37
  212. package/development/button/secondary-button/secondary-button.d.ts.map +1 -1
  213. package/development/button/secondary-button-link/secondary-button-link.d.ts.map +1 -1
  214. package/development/button/secondary-button-link.js +18 -19
  215. package/development/button/secondary-button-static/secondary-button-static.d.ts.map +1 -1
  216. package/development/button/secondary-button-static.js +18 -19
  217. package/development/button/secondary-button.js +18 -19
  218. package/development/button/tertiary-button/tertiary-button.d.ts.map +1 -1
  219. package/development/button/tertiary-button-link/tertiary-button-link.d.ts.map +1 -1
  220. package/development/button/tertiary-button-link.js +18 -19
  221. package/development/button/tertiary-button-static/tertiary-button-static.d.ts.map +1 -1
  222. package/development/button/tertiary-button-static.js +18 -19
  223. package/development/button/tertiary-button.js +18 -19
  224. package/development/button/transparent-button/transparent-button.d.ts.map +1 -1
  225. package/development/button/transparent-button-link/transparent-button-link.d.ts.map +1 -1
  226. package/development/button/transparent-button-link.js +18 -19
  227. package/development/button/transparent-button-static/transparent-button-static.d.ts.map +1 -1
  228. package/development/button/transparent-button-static.js +18 -19
  229. package/development/button/transparent-button.js +18 -19
  230. package/development/calendar/calendar.d.ts +7 -7
  231. package/development/calendar/calendar.d.ts.map +1 -1
  232. package/development/calendar.js +768 -766
  233. package/development/card/card/card.d.ts +2 -2
  234. package/development/card/card/card.d.ts.map +1 -1
  235. package/development/card/card-badge/card-badge.d.ts +1 -1
  236. package/development/card/card-badge/card-badge.d.ts.map +1 -1
  237. package/development/card/card-badge.js +65 -45
  238. package/development/card/card-button/card-button.d.ts.map +1 -1
  239. package/development/card/card-button.js +23 -20
  240. package/development/card/card-link/card-link.d.ts.map +1 -1
  241. package/development/card/card-link.js +23 -20
  242. package/development/card/card.js +72 -41
  243. package/development/card/common/card-action-common.d.ts +1 -1
  244. package/development/card/common/card-action-common.d.ts.map +1 -1
  245. package/development/card/common.js +74 -73
  246. package/development/checkbox/checkbox/checkbox.d.ts +3 -4
  247. package/development/checkbox/checkbox/checkbox.d.ts.map +1 -1
  248. package/development/checkbox/checkbox-group/checkbox-group.d.ts +4 -4
  249. package/development/checkbox/checkbox-group/checkbox-group.d.ts.map +1 -1
  250. package/development/checkbox/checkbox-group.js +139 -92
  251. package/development/checkbox/checkbox-panel/checkbox-panel.d.ts +2 -3
  252. package/development/checkbox/checkbox-panel/checkbox-panel.d.ts.map +1 -1
  253. package/development/checkbox/checkbox-panel.js +68 -60
  254. package/development/checkbox/checkbox.js +69 -46
  255. package/development/checkbox/common/checkbox-common.d.ts +1 -1
  256. package/development/checkbox/common/checkbox-common.d.ts.map +1 -1
  257. package/development/checkbox/common.js +65 -46
  258. package/development/chip/chip.d.ts +2 -2
  259. package/development/chip/chip.d.ts.map +1 -1
  260. package/development/chip.js +64 -33
  261. package/development/clock/clock.d.ts +1 -1
  262. package/development/clock/clock.d.ts.map +1 -1
  263. package/development/clock.js +203 -201
  264. package/development/container/container/container.d.ts +3 -3
  265. package/development/container/container/container.d.ts.map +1 -1
  266. package/development/container/container.js +86 -45
  267. package/development/container/sticky-bar/sticky-bar.d.ts +1 -1
  268. package/development/container/sticky-bar/sticky-bar.d.ts.map +1 -1
  269. package/development/container/sticky-bar.js +76 -58
  270. package/development/core/a11y.js +40 -62
  271. package/development/core/base-elements/action-base-element.d.ts.map +1 -1
  272. package/development/core/base-elements/button-base-element.d.ts +2 -2
  273. package/development/core/base-elements/button-base-element.d.ts.map +1 -1
  274. package/development/core/base-elements/link-base-element.d.ts +5 -5
  275. package/development/core/base-elements/link-base-element.d.ts.map +1 -1
  276. package/development/core/base-elements.js +329 -226
  277. package/development/core/config.js +1 -1
  278. package/development/core/controllers.js +13 -21
  279. package/development/core/datetime.js +1 -1
  280. package/development/core/decorators/base.d.ts +14 -0
  281. package/development/core/decorators/base.d.ts.map +1 -0
  282. package/development/core/decorators/force-type.d.ts +8 -0
  283. package/development/core/decorators/force-type.d.ts.map +1 -0
  284. package/development/core/decorators/get-override.d.ts +7 -0
  285. package/development/core/decorators/get-override.d.ts.map +1 -0
  286. package/development/core/decorators/handle-distinct-change.d.ts +8 -0
  287. package/development/core/decorators/handle-distinct-change.d.ts.map +1 -0
  288. package/development/core/decorators/omit-empty-converter.d.ts +8 -0
  289. package/development/core/decorators/omit-empty-converter.d.ts.map +1 -0
  290. package/development/core/decorators.d.ts +4 -0
  291. package/development/core/decorators.d.ts.map +1 -1
  292. package/development/core/decorators.js +69 -5
  293. package/development/core/dom.js +2 -6
  294. package/development/core/eventing.js +2 -5
  295. package/development/core/i18n.js +1 -1
  296. package/development/core/interfaces/paginator-page.d.ts +7 -0
  297. package/development/core/interfaces/paginator-page.d.ts.map +1 -0
  298. package/development/core/interfaces.d.ts +1 -0
  299. package/development/core/interfaces.d.ts.map +1 -1
  300. package/development/core/mixins/disabled-mixin.d.ts +2 -3
  301. package/development/core/mixins/disabled-mixin.d.ts.map +1 -1
  302. package/development/core/mixins/named-slot-list-mixin.d.ts +1 -1
  303. package/development/core/mixins/named-slot-list-mixin.d.ts.map +1 -1
  304. package/development/core/mixins/negative-mixin.d.ts +1 -1
  305. package/development/core/mixins/negative-mixin.d.ts.map +1 -1
  306. package/development/core/mixins/panel-mixin.d.ts +3 -3
  307. package/development/core/mixins/panel-mixin.d.ts.map +1 -1
  308. package/development/core/mixins/required-mixin.d.ts +1 -2
  309. package/development/core/mixins/required-mixin.d.ts.map +1 -1
  310. package/development/core/mixins.js +573 -475
  311. package/development/core/observers.js +1 -1
  312. package/development/core/overlay.js +1 -1
  313. package/development/core/testing/private.d.ts +1 -0
  314. package/development/core/testing/private.d.ts.map +1 -1
  315. package/development/core/testing.js +16 -22
  316. package/development/datepicker/common/datepicker-button.d.ts +2 -2
  317. package/development/datepicker/common/datepicker-button.d.ts.map +1 -1
  318. package/development/datepicker/common.js +144 -142
  319. package/development/datepicker/datepicker/datepicker.d.ts +6 -6
  320. package/development/datepicker/datepicker/datepicker.d.ts.map +1 -1
  321. package/development/datepicker/datepicker-next-day/datepicker-next-day.d.ts.map +1 -1
  322. package/development/datepicker/datepicker-next-day.js +32 -32
  323. package/development/datepicker/datepicker-previous-day/datepicker-previous-day.d.ts.map +1 -1
  324. package/development/datepicker/datepicker-previous-day.js +32 -32
  325. package/development/datepicker/datepicker-toggle/datepicker-toggle.d.ts +6 -6
  326. package/development/datepicker/datepicker-toggle/datepicker-toggle.d.ts.map +1 -1
  327. package/development/datepicker/datepicker-toggle.js +227 -174
  328. package/development/datepicker/datepicker.js +327 -249
  329. package/development/dialog/dialog/dialog.d.ts +1 -1
  330. package/development/dialog/dialog/dialog.d.ts.map +1 -1
  331. package/development/dialog/dialog-actions/dialog-actions.d.ts.map +1 -1
  332. package/development/dialog/dialog-actions.js +21 -20
  333. package/development/dialog/dialog-content/dialog-content.d.ts.map +1 -1
  334. package/development/dialog/dialog-content.js +22 -21
  335. package/development/dialog/dialog-title/dialog-title.d.ts +3 -3
  336. package/development/dialog/dialog-title/dialog-title.d.ts.map +1 -1
  337. package/development/dialog/dialog-title.js +121 -66
  338. package/development/dialog/dialog.js +205 -191
  339. package/development/divider/divider.d.ts +1 -1
  340. package/development/divider/divider.d.ts.map +1 -1
  341. package/development/divider.js +55 -36
  342. package/development/expansion-panel/expansion-panel/expansion-panel.d.ts +4 -4
  343. package/development/expansion-panel/expansion-panel/expansion-panel.d.ts.map +1 -1
  344. package/development/expansion-panel/expansion-panel-content/expansion-panel-content.d.ts.map +1 -1
  345. package/development/expansion-panel/expansion-panel-content.js +25 -25
  346. package/development/expansion-panel/expansion-panel-header/expansion-panel-header.d.ts.map +1 -1
  347. package/development/expansion-panel/expansion-panel-header.js +56 -63
  348. package/development/expansion-panel/expansion-panel.js +227 -182
  349. package/development/file-selector/file-selector.d.ts +8 -7
  350. package/development/file-selector/file-selector.d.ts.map +1 -1
  351. package/development/file-selector.js +295 -198
  352. package/development/flip-card/flip-card/flip-card.d.ts +2 -2
  353. package/development/flip-card/flip-card/flip-card.d.ts.map +1 -1
  354. package/development/flip-card/flip-card-details/flip-card-details.d.ts.map +1 -1
  355. package/development/flip-card/flip-card-details.js +39 -39
  356. package/development/flip-card/flip-card-summary/flip-card-summary.d.ts +1 -1
  357. package/development/flip-card/flip-card-summary/flip-card-summary.d.ts.map +1 -1
  358. package/development/flip-card/flip-card-summary.js +57 -38
  359. package/development/flip-card/flip-card.js +110 -78
  360. package/development/footer/footer.d.ts +4 -4
  361. package/development/footer/footer.d.ts.map +1 -1
  362. package/development/footer.js +103 -41
  363. package/development/form-error/form-error.d.ts.map +1 -1
  364. package/development/form-error.js +29 -28
  365. package/development/form-field/form-field/form-field.d.ts +10 -10
  366. package/development/form-field/form-field/form-field.d.ts.map +1 -1
  367. package/development/form-field/form-field-clear/form-field-clear.d.ts.map +1 -1
  368. package/development/form-field/form-field-clear.js +50 -50
  369. package/development/form-field/form-field.js +439 -328
  370. package/development/header/common/header-action-common.d.ts +2 -2
  371. package/development/header/common/header-action-common.d.ts.map +1 -1
  372. package/development/header/common.js +44 -24
  373. package/development/header/header/header.d.ts +4 -4
  374. package/development/header/header/header.d.ts.map +1 -1
  375. package/development/header/header-button/header-button.d.ts.map +1 -1
  376. package/development/header/header-button.js +19 -18
  377. package/development/header/header-link/header-link.d.ts.map +1 -1
  378. package/development/header/header-link.js +19 -16
  379. package/development/header/header.js +198 -140
  380. package/development/icon/icon-base.d.ts +3 -4
  381. package/development/icon/icon-base.d.ts.map +1 -1
  382. package/development/icon/icon-name-mixin.d.ts +1 -1
  383. package/development/icon/icon-name-mixin.d.ts.map +1 -1
  384. package/development/icon/icon.d.ts +2 -2
  385. package/development/icon/icon.d.ts.map +1 -1
  386. package/development/icon.js +258 -157
  387. package/development/image/image.d.ts +17 -17
  388. package/development/image/image.d.ts.map +1 -1
  389. package/development/image.js +584 -216
  390. package/development/journey-header/journey-header.d.ts +5 -5
  391. package/development/journey-header/journey-header.d.ts.map +1 -1
  392. package/development/journey-header.js +115 -43
  393. package/development/lead-container/lead-container.d.ts.map +1 -1
  394. package/development/lead-container.js +22 -21
  395. package/development/link/block-link/block-link.d.ts.map +1 -1
  396. package/development/link/block-link-button/block-link-button.d.ts.map +1 -1
  397. package/development/link/block-link-button.js +19 -18
  398. package/development/link/block-link-static/block-link-static.d.ts.map +1 -1
  399. package/development/link/block-link-static.js +19 -18
  400. package/development/link/block-link.js +19 -18
  401. package/development/link/common/block-link-common.d.ts +4 -3
  402. package/development/link/common/block-link-common.d.ts.map +1 -1
  403. package/development/link/common/link-common.d.ts +1 -1
  404. package/development/link/common/link-common.d.ts.map +1 -1
  405. package/development/link/common.js +81 -51
  406. package/development/link/link/link.d.ts.map +1 -1
  407. package/development/link/link-button/link-button.d.ts.map +1 -1
  408. package/development/link/link-button.js +19 -18
  409. package/development/link/link-static/link-static.d.ts.map +1 -1
  410. package/development/link/link-static.js +19 -18
  411. package/development/link/link.js +19 -18
  412. package/development/link-list/common/link-list-base.d.ts +3 -3
  413. package/development/link-list/common/link-list-base.d.ts.map +1 -1
  414. package/development/link-list/common.js +97 -48
  415. package/development/link-list/link-list/link-list.d.ts +2 -2
  416. package/development/link-list/link-list/link-list.d.ts.map +1 -1
  417. package/development/link-list/link-list-anchor/link-list-anchor.d.ts.map +1 -1
  418. package/development/link-list/link-list-anchor.js +18 -17
  419. package/development/link-list/link-list.js +60 -28
  420. package/development/loading-indicator/loading-indicator.d.ts +3 -3
  421. package/development/loading-indicator/loading-indicator.d.ts.map +1 -1
  422. package/development/loading-indicator.js +82 -40
  423. package/development/logo/logo.d.ts +2 -2
  424. package/development/logo/logo.d.ts.map +1 -1
  425. package/development/logo.js +64 -32
  426. package/development/map-container/map-container.d.ts +2 -2
  427. package/development/map-container/map-container.d.ts.map +1 -1
  428. package/development/map-container.js +107 -75
  429. package/development/menu/common/menu-action-common.d.ts +2 -2
  430. package/development/menu/common/menu-action-common.d.ts.map +1 -1
  431. package/development/menu/common.js +41 -20
  432. package/development/menu/menu/menu.d.ts +1 -1
  433. package/development/menu/menu/menu.d.ts.map +1 -1
  434. package/development/menu/menu-button/menu-button.d.ts.map +1 -1
  435. package/development/menu/menu-button.js +19 -18
  436. package/development/menu/menu-link/menu-link.d.ts.map +1 -1
  437. package/development/menu/menu-link.js +19 -18
  438. package/development/menu/menu.js +261 -241
  439. package/development/message/message.d.ts +2 -2
  440. package/development/message/message.d.ts.map +1 -1
  441. package/development/message.js +65 -32
  442. package/development/navigation/common/navigation-action-common.d.ts +1 -1
  443. package/development/navigation/common/navigation-action-common.d.ts.map +1 -1
  444. package/development/navigation/common.js +63 -52
  445. package/development/navigation/navigation/navigation.d.ts +2 -2
  446. package/development/navigation/navigation/navigation.d.ts.map +1 -1
  447. package/development/navigation/navigation-button/navigation-button.d.ts.map +1 -1
  448. package/development/navigation/navigation-button.js +19 -18
  449. package/development/navigation/navigation-link/navigation-link.d.ts.map +1 -1
  450. package/development/navigation/navigation-link.js +19 -18
  451. package/development/navigation/navigation-list/navigation-list.d.ts +1 -1
  452. package/development/navigation/navigation-list/navigation-list.d.ts.map +1 -1
  453. package/development/navigation/navigation-list.js +64 -41
  454. package/development/navigation/navigation-marker/navigation-marker.d.ts +1 -1
  455. package/development/navigation/navigation-marker/navigation-marker.d.ts.map +1 -1
  456. package/development/navigation/navigation-marker.js +108 -91
  457. package/development/navigation/navigation-section/navigation-section.d.ts +3 -3
  458. package/development/navigation/navigation-section/navigation-section.d.ts.map +1 -1
  459. package/development/navigation/navigation-section.js +282 -236
  460. package/development/navigation/navigation.js +278 -254
  461. package/development/notification/notification.d.ts +6 -6
  462. package/development/notification/notification.d.ts.map +1 -1
  463. package/development/notification.js +212 -146
  464. package/development/option/optgroup/optgroup-base-element.d.ts +3 -3
  465. package/development/option/optgroup/optgroup-base-element.d.ts.map +1 -1
  466. package/development/option/optgroup/optgroup.d.ts.map +1 -1
  467. package/development/option/optgroup.js +187 -142
  468. package/development/option/option/option-base-element.d.ts +7 -7
  469. package/development/option/option/option-base-element.d.ts.map +1 -1
  470. package/development/option/option/option.d.ts.map +1 -1
  471. package/development/option/option.js +392 -296
  472. package/development/overlay/overlay-base-element.d.ts +1 -1
  473. package/development/overlay/overlay-base-element.d.ts.map +1 -1
  474. package/development/overlay/overlay.d.ts +4 -4
  475. package/development/overlay/overlay.d.ts.map +1 -1
  476. package/development/overlay.js +260 -207
  477. package/development/paginator/common/paginator-common.d.ts +26 -0
  478. package/development/paginator/common/paginator-common.d.ts.map +1 -0
  479. package/development/paginator/common.d.ts +2 -0
  480. package/development/paginator/common.d.ts.map +1 -0
  481. package/development/paginator/common.js +189 -0
  482. package/development/paginator/compact-paginator/compact-paginator.d.ts +20 -0
  483. package/development/paginator/compact-paginator/compact-paginator.d.ts.map +1 -0
  484. package/development/paginator/compact-paginator.d.ts +2 -0
  485. package/development/paginator/compact-paginator.d.ts.map +1 -0
  486. package/development/paginator/compact-paginator.js +96 -0
  487. package/development/paginator/paginator/paginator.d.ts +51 -0
  488. package/development/paginator/paginator/paginator.d.ts.map +1 -0
  489. package/development/paginator/paginator.d.ts +1 -90
  490. package/development/paginator/paginator.d.ts.map +1 -1
  491. package/development/paginator/paginator.js +449 -0
  492. package/development/paginator.d.ts +2 -0
  493. package/development/paginator.d.ts.map +1 -1
  494. package/development/paginator.js +4 -541
  495. package/development/popover/popover/popover.d.ts +6 -7
  496. package/development/popover/popover/popover.d.ts.map +1 -1
  497. package/development/popover/popover-trigger/popover-trigger.d.ts.map +1 -1
  498. package/development/popover/popover-trigger.js +28 -29
  499. package/development/popover/popover.js +358 -303
  500. package/development/radio-button/common/radio-button-common.d.ts +1 -1
  501. package/development/radio-button/common/radio-button-common.d.ts.map +1 -1
  502. package/development/radio-button/common.js +170 -127
  503. package/development/radio-button/radio-button/radio-button.d.ts +2 -6
  504. package/development/radio-button/radio-button/radio-button.d.ts.map +1 -1
  505. package/development/radio-button/radio-button-group/radio-button-group.d.ts +6 -6
  506. package/development/radio-button/radio-button-group/radio-button-group.d.ts.map +1 -1
  507. package/development/radio-button/radio-button-group.js +269 -199
  508. package/development/radio-button/radio-button-panel/radio-button-panel.d.ts +2 -6
  509. package/development/radio-button/radio-button-panel/radio-button-panel.d.ts.map +1 -1
  510. package/development/radio-button/radio-button-panel.js +60 -48
  511. package/development/radio-button/radio-button.js +54 -40
  512. package/development/screen-reader-only/screen-reader-only.d.ts.map +1 -1
  513. package/development/screen-reader-only.js +22 -21
  514. package/development/select/select.d.ts +5 -4
  515. package/development/select/select.d.ts.map +1 -1
  516. package/development/select.js +555 -555
  517. package/development/selection-expansion-panel/selection-expansion-panel.d.ts +3 -3
  518. package/development/selection-expansion-panel/selection-expansion-panel.d.ts.map +1 -1
  519. package/development/selection-expansion-panel.js +223 -193
  520. package/development/signet/signet.d.ts +2 -2
  521. package/development/signet/signet.d.ts.map +1 -1
  522. package/development/signet.js +65 -33
  523. package/development/skiplink-list/skiplink-list.d.ts +2 -2
  524. package/development/skiplink-list/skiplink-list.d.ts.map +1 -1
  525. package/development/skiplink-list.js +74 -41
  526. package/development/slider/slider.d.ts +5 -4
  527. package/development/slider/slider.d.ts.map +1 -1
  528. package/development/slider.js +260 -184
  529. package/development/status/status.d.ts +3 -3
  530. package/development/status/status.d.ts.map +1 -1
  531. package/development/status.js +96 -51
  532. package/development/stepper/step/step.d.ts.map +1 -1
  533. package/development/stepper/step-label/step-label.d.ts.map +1 -1
  534. package/development/stepper/step-label.js +86 -90
  535. package/development/stepper/step.js +122 -126
  536. package/development/stepper/stepper/stepper.d.ts +3 -3
  537. package/development/stepper/stepper/stepper.d.ts.map +1 -1
  538. package/development/stepper/stepper.js +291 -241
  539. package/development/table/table-wrapper/table-wrapper.d.ts.map +1 -1
  540. package/development/table/table-wrapper.js +37 -39
  541. package/development/tabs/tab/tab.d.ts.map +1 -1
  542. package/development/tabs/tab-group/tab-group.d.ts +2 -2
  543. package/development/tabs/tab-group/tab-group.d.ts.map +1 -1
  544. package/development/tabs/tab-group.js +296 -279
  545. package/development/tabs/tab-label/tab-label.d.ts +3 -3
  546. package/development/tabs/tab-label/tab-label.d.ts.map +1 -1
  547. package/development/tabs/tab-label.js +83 -37
  548. package/development/tabs/tab.js +40 -39
  549. package/development/tag/tag/tag.d.ts +3 -5
  550. package/development/tag/tag/tag.d.ts.map +1 -1
  551. package/development/tag/tag-group/tag-group.d.ts +3 -3
  552. package/development/tag/tag-group/tag-group.d.ts.map +1 -1
  553. package/development/tag/tag-group.js +143 -88
  554. package/development/tag/tag.js +126 -89
  555. package/development/teaser/teaser.d.ts +4 -4
  556. package/development/teaser/teaser.d.ts.map +1 -1
  557. package/development/teaser-hero/teaser-hero.d.ts +3 -3
  558. package/development/teaser-hero/teaser-hero.d.ts.map +1 -1
  559. package/development/teaser-hero.js +83 -36
  560. package/development/teaser-product/common/teaser-product-common.d.ts +1 -1
  561. package/development/teaser-product/common/teaser-product-common.d.ts.map +1 -1
  562. package/development/teaser-product/common.js +51 -26
  563. package/development/teaser-product/teaser-product/teaser-product.d.ts.map +1 -1
  564. package/development/teaser-product/teaser-product-static/teaser-product-static.d.ts.map +1 -1
  565. package/development/teaser-product/teaser-product-static.js +18 -19
  566. package/development/teaser-product/teaser-product.js +18 -19
  567. package/development/teaser.js +94 -40
  568. package/development/time-input/time-input.d.ts +1 -1
  569. package/development/time-input/time-input.d.ts.map +1 -1
  570. package/development/time-input.js +225 -219
  571. package/development/timetable-occupancy/timetable-occupancy.d.ts +2 -2
  572. package/development/timetable-occupancy/timetable-occupancy.d.ts.map +1 -1
  573. package/development/timetable-occupancy-icon/timetable-occupancy-icon.d.ts +1 -1
  574. package/development/timetable-occupancy-icon/timetable-occupancy-icon.d.ts.map +1 -1
  575. package/development/timetable-occupancy-icon.js +78 -57
  576. package/development/timetable-occupancy.js +67 -35
  577. package/development/title/title-base.d.ts +3 -3
  578. package/development/title/title-base.d.ts.map +1 -1
  579. package/development/title/title.d.ts.map +1 -1
  580. package/development/title.js +106 -58
  581. package/development/toast/toast.d.ts +4 -4
  582. package/development/toast/toast.d.ts.map +1 -1
  583. package/development/toast.js +204 -146
  584. package/development/toggle/toggle/toggle.d.ts +3 -5
  585. package/development/toggle/toggle/toggle.d.ts.map +1 -1
  586. package/development/toggle/toggle-option/toggle-option.d.ts +2 -2
  587. package/development/toggle/toggle-option/toggle-option.d.ts.map +1 -1
  588. package/development/toggle/toggle-option.js +127 -93
  589. package/development/toggle/toggle.js +200 -163
  590. package/development/toggle-check/toggle-check.d.ts +4 -3
  591. package/development/toggle-check/toggle-check.d.ts.map +1 -1
  592. package/development/toggle-check.js +87 -49
  593. package/development/train/train/train.d.ts +5 -5
  594. package/development/train/train/train.d.ts.map +1 -1
  595. package/development/train/train-blocked-passage/train-blocked-passage.d.ts.map +1 -1
  596. package/development/train/train-blocked-passage.js +22 -21
  597. package/development/train/train-formation/train-formation.d.ts +2 -2
  598. package/development/train/train-formation/train-formation.d.ts.map +1 -1
  599. package/development/train/train-formation.js +113 -90
  600. package/development/train/train-wagon/train-wagon.d.ts +7 -9
  601. package/development/train/train-wagon/train-wagon.d.ts.map +1 -1
  602. package/development/train/train-wagon.js +166 -87
  603. package/development/train/train.js +142 -75
  604. package/development/visual-checkbox/visual-checkbox.d.ts +3 -3
  605. package/development/visual-checkbox/visual-checkbox.d.ts.map +1 -1
  606. package/development/visual-checkbox.js +79 -36
  607. package/dialog/dialog/dialog.d.ts +1 -1
  608. package/dialog/dialog/dialog.d.ts.map +1 -1
  609. package/dialog/dialog-actions/dialog-actions.d.ts.map +1 -1
  610. package/dialog/dialog-actions.js +18 -19
  611. package/dialog/dialog-content/dialog-content.d.ts.map +1 -1
  612. package/dialog/dialog-content.js +17 -18
  613. package/dialog/dialog-title/dialog-title.d.ts +3 -3
  614. package/dialog/dialog-title/dialog-title.d.ts.map +1 -1
  615. package/dialog/dialog-title.js +98 -66
  616. package/dialog/dialog.js +120 -114
  617. package/divider/divider.d.ts +1 -1
  618. package/divider/divider.d.ts.map +1 -1
  619. package/divider.js +41 -30
  620. package/expansion-panel/expansion-panel/expansion-panel.d.ts +4 -4
  621. package/expansion-panel/expansion-panel/expansion-panel.d.ts.map +1 -1
  622. package/expansion-panel/expansion-panel-content/expansion-panel-content.d.ts.map +1 -1
  623. package/expansion-panel/expansion-panel-content.js +20 -22
  624. package/expansion-panel/expansion-panel-header/expansion-panel-header.d.ts.map +1 -1
  625. package/expansion-panel/expansion-panel-header.js +53 -61
  626. package/expansion-panel/expansion-panel.js +145 -130
  627. package/file-selector/file-selector.d.ts +8 -7
  628. package/file-selector/file-selector.d.ts.map +1 -1
  629. package/file-selector.js +224 -174
  630. package/flip-card/flip-card/flip-card.d.ts +2 -2
  631. package/flip-card/flip-card/flip-card.d.ts.map +1 -1
  632. package/flip-card/flip-card-details/flip-card-details.d.ts.map +1 -1
  633. package/flip-card/flip-card-details.js +36 -38
  634. package/flip-card/flip-card-summary/flip-card-summary.d.ts +1 -1
  635. package/flip-card/flip-card-summary/flip-card-summary.d.ts.map +1 -1
  636. package/flip-card/flip-card-summary.js +42 -31
  637. package/flip-card/flip-card.js +88 -69
  638. package/footer/footer.d.ts +4 -4
  639. package/footer/footer.d.ts.map +1 -1
  640. package/footer.js +78 -37
  641. package/form-error/form-error.d.ts.map +1 -1
  642. package/form-error.js +24 -25
  643. package/form-field/form-field/form-field.d.ts +10 -10
  644. package/form-field/form-field/form-field.d.ts.map +1 -1
  645. package/form-field/form-field-clear/form-field-clear.d.ts.map +1 -1
  646. package/form-field/form-field-clear.js +39 -41
  647. package/form-field/form-field.js +295 -239
  648. package/header/common/header-action-common.d.ts +2 -2
  649. package/header/common/header-action-common.d.ts.map +1 -1
  650. package/header/common.js +36 -21
  651. package/header/header/header.d.ts +4 -4
  652. package/header/header/header.d.ts.map +1 -1
  653. package/header/header-button/header-button.d.ts.map +1 -1
  654. package/header/header-button.js +14 -16
  655. package/header/header-link/header-link.d.ts.map +1 -1
  656. package/header/header-link.js +14 -14
  657. package/header/header.js +138 -109
  658. package/icon/icon-base.d.ts +3 -4
  659. package/icon/icon-base.d.ts.map +1 -1
  660. package/icon/icon-name-mixin.d.ts +1 -1
  661. package/icon/icon-name-mixin.d.ts.map +1 -1
  662. package/icon/icon.d.ts +2 -2
  663. package/icon/icon.d.ts.map +1 -1
  664. package/icon.js +230 -165
  665. package/image/image.d.ts +17 -17
  666. package/image/image.d.ts.map +1 -1
  667. package/image.js +465 -195
  668. package/index.d.ts +3 -1
  669. package/index.js +3 -1
  670. package/journey-header/journey-header.d.ts +5 -5
  671. package/journey-header/journey-header.d.ts.map +1 -1
  672. package/journey-header.js +89 -49
  673. package/lead-container/lead-container.d.ts.map +1 -1
  674. package/lead-container.js +17 -18
  675. package/link/block-link/block-link.d.ts.map +1 -1
  676. package/link/block-link-button/block-link-button.d.ts.map +1 -1
  677. package/link/block-link-button.js +15 -17
  678. package/link/block-link-static/block-link-static.d.ts.map +1 -1
  679. package/link/block-link-static.js +14 -16
  680. package/link/block-link.js +15 -17
  681. package/link/common/block-link-common.d.ts +4 -3
  682. package/link/common/block-link-common.d.ts.map +1 -1
  683. package/link/common/link-common.d.ts +1 -1
  684. package/link/common/link-common.d.ts.map +1 -1
  685. package/link/common.js +64 -46
  686. package/link/link/link.d.ts.map +1 -1
  687. package/link/link-button/link-button.d.ts.map +1 -1
  688. package/link/link-button.js +15 -17
  689. package/link/link-static/link-static.d.ts.map +1 -1
  690. package/link/link-static.js +15 -17
  691. package/link/link.js +15 -17
  692. package/link-list/common/link-list-base.d.ts +3 -3
  693. package/link-list/common/link-list-base.d.ts.map +1 -1
  694. package/link-list/common.js +72 -44
  695. package/link-list/link-list/link-list.d.ts +2 -2
  696. package/link-list/link-list/link-list.d.ts.map +1 -1
  697. package/link-list/link-list-anchor/link-list-anchor.d.ts.map +1 -1
  698. package/link-list/link-list-anchor.js +15 -16
  699. package/link-list/link-list.js +43 -24
  700. package/loading-indicator/loading-indicator.d.ts +3 -3
  701. package/loading-indicator/loading-indicator.d.ts.map +1 -1
  702. package/loading-indicator.js +61 -36
  703. package/logo/logo.d.ts +2 -2
  704. package/logo/logo.d.ts.map +1 -1
  705. package/logo.js +47 -27
  706. package/map-container/map-container.d.ts +2 -2
  707. package/map-container/map-container.d.ts.map +1 -1
  708. package/map-container.js +84 -65
  709. package/menu/common/menu-action-common.d.ts +2 -2
  710. package/menu/common/menu-action-common.d.ts.map +1 -1
  711. package/menu/common.js +37 -22
  712. package/menu/menu/menu.d.ts +1 -1
  713. package/menu/menu/menu.d.ts.map +1 -1
  714. package/menu/menu-button/menu-button.d.ts.map +1 -1
  715. package/menu/menu-button.js +14 -16
  716. package/menu/menu-link/menu-link.d.ts.map +1 -1
  717. package/menu/menu-link.js +15 -17
  718. package/menu/menu.js +175 -170
  719. package/message/message.d.ts +2 -2
  720. package/message/message.d.ts.map +1 -1
  721. package/message.js +47 -27
  722. package/navigation/common/navigation-action-common.d.ts +1 -1
  723. package/navigation/common/navigation-action-common.d.ts.map +1 -1
  724. package/navigation/common.js +38 -33
  725. package/navigation/navigation/navigation.d.ts +2 -2
  726. package/navigation/navigation/navigation.d.ts.map +1 -1
  727. package/navigation/navigation-button/navigation-button.d.ts.map +1 -1
  728. package/navigation/navigation-button.js +14 -16
  729. package/navigation/navigation-link/navigation-link.d.ts.map +1 -1
  730. package/navigation/navigation-link.js +14 -16
  731. package/navigation/navigation-list/navigation-list.d.ts +1 -1
  732. package/navigation/navigation-list/navigation-list.d.ts.map +1 -1
  733. package/navigation/navigation-list.js +48 -35
  734. package/navigation/navigation-marker/navigation-marker.d.ts +1 -1
  735. package/navigation/navigation-marker/navigation-marker.d.ts.map +1 -1
  736. package/navigation/navigation-marker.js +77 -69
  737. package/navigation/navigation-section/navigation-section.d.ts +3 -3
  738. package/navigation/navigation-section/navigation-section.d.ts.map +1 -1
  739. package/navigation/navigation-section.js +192 -171
  740. package/navigation/navigation.js +185 -181
  741. package/notification/notification.d.ts +6 -6
  742. package/notification/notification.d.ts.map +1 -1
  743. package/notification.js +147 -116
  744. package/option/optgroup/optgroup-base-element.d.ts +3 -3
  745. package/option/optgroup/optgroup-base-element.d.ts.map +1 -1
  746. package/option/optgroup/optgroup.d.ts.map +1 -1
  747. package/option/optgroup.js +131 -112
  748. package/option/option/option-base-element.d.ts +7 -7
  749. package/option/option/option-base-element.d.ts.map +1 -1
  750. package/option/option/option.d.ts.map +1 -1
  751. package/option/option.js +295 -252
  752. package/overlay/overlay-base-element.d.ts +1 -1
  753. package/overlay/overlay-base-element.d.ts.map +1 -1
  754. package/overlay/overlay.d.ts +4 -4
  755. package/overlay/overlay.d.ts.map +1 -1
  756. package/overlay.js +194 -165
  757. package/package.json +18 -2
  758. package/paginator/common/paginator-common.d.ts +26 -0
  759. package/paginator/common/paginator-common.d.ts.map +1 -0
  760. package/paginator/common.d.ts +2 -0
  761. package/paginator/common.d.ts.map +1 -0
  762. package/paginator/common.js +145 -0
  763. package/paginator/compact-paginator/compact-paginator.d.ts +20 -0
  764. package/paginator/compact-paginator/compact-paginator.d.ts.map +1 -0
  765. package/paginator/compact-paginator.d.ts +2 -0
  766. package/paginator/compact-paginator.d.ts.map +1 -0
  767. package/paginator/compact-paginator.js +40 -0
  768. package/paginator/paginator/paginator.d.ts +51 -0
  769. package/paginator/paginator/paginator.d.ts.map +1 -0
  770. package/paginator/paginator.d.ts +1 -90
  771. package/paginator/paginator.d.ts.map +1 -1
  772. package/paginator/paginator.js +171 -0
  773. package/paginator.d.ts +2 -0
  774. package/paginator.d.ts.map +1 -1
  775. package/paginator.js +3 -265
  776. package/popover/popover/popover.d.ts +6 -7
  777. package/popover/popover/popover.d.ts.map +1 -1
  778. package/popover/popover-trigger/popover-trigger.d.ts.map +1 -1
  779. package/popover/popover-trigger.js +26 -29
  780. package/popover/popover.js +230 -208
  781. package/radio-button/common/radio-button-common.d.ts +1 -1
  782. package/radio-button/common/radio-button-common.d.ts.map +1 -1
  783. package/radio-button/common.js +67 -43
  784. package/radio-button/radio-button/radio-button.d.ts +2 -6
  785. package/radio-button/radio-button/radio-button.d.ts.map +1 -1
  786. package/radio-button/radio-button-group/radio-button-group.d.ts +6 -6
  787. package/radio-button/radio-button-group/radio-button-group.d.ts.map +1 -1
  788. package/radio-button/radio-button-group.js +192 -156
  789. package/radio-button/radio-button-panel/radio-button-panel.d.ts +2 -6
  790. package/radio-button/radio-button-panel/radio-button-panel.d.ts.map +1 -1
  791. package/radio-button/radio-button-panel.js +49 -45
  792. package/radio-button/radio-button.js +43 -37
  793. package/screen-reader-only/screen-reader-only.d.ts.map +1 -1
  794. package/screen-reader-only.js +17 -18
  795. package/select/select.d.ts +5 -4
  796. package/select/select.d.ts.map +1 -1
  797. package/select.js +377 -401
  798. package/selection-expansion-panel/selection-expansion-panel.d.ts +3 -3
  799. package/selection-expansion-panel/selection-expansion-panel.d.ts.map +1 -1
  800. package/selection-expansion-panel.js +157 -148
  801. package/signet/signet.d.ts +2 -2
  802. package/signet/signet.d.ts.map +1 -1
  803. package/signet.js +48 -28
  804. package/skiplink-list/skiplink-list.d.ts +2 -2
  805. package/skiplink-list/skiplink-list.d.ts.map +1 -1
  806. package/skiplink-list.js +54 -36
  807. package/slider/slider.d.ts +5 -4
  808. package/slider/slider.d.ts.map +1 -1
  809. package/slider.js +197 -158
  810. package/status/status.d.ts +3 -3
  811. package/status/status.d.ts.map +1 -1
  812. package/status.js +71 -46
  813. package/stepper/step/step.d.ts.map +1 -1
  814. package/stepper/step-label/step-label.d.ts.map +1 -1
  815. package/stepper/step-label.js +69 -75
  816. package/stepper/step.js +99 -104
  817. package/stepper/stepper/stepper.d.ts +3 -3
  818. package/stepper/stepper/stepper.d.ts.map +1 -1
  819. package/stepper/stepper.js +208 -188
  820. package/table/table-wrapper/table-wrapper.d.ts.map +1 -1
  821. package/table/table-wrapper.js +32 -36
  822. package/tabs/tab/tab.d.ts.map +1 -1
  823. package/tabs/tab-group/tab-group.d.ts +2 -2
  824. package/tabs/tab-group/tab-group.d.ts.map +1 -1
  825. package/tabs/tab-group.js +200 -193
  826. package/tabs/tab-label/tab-label.d.ts +3 -3
  827. package/tabs/tab-label/tab-label.d.ts.map +1 -1
  828. package/tabs/tab-label.js +65 -37
  829. package/tabs/tab.js +34 -35
  830. package/tag/tag/tag.d.ts +3 -5
  831. package/tag/tag/tag.d.ts.map +1 -1
  832. package/tag/tag-group/tag-group.d.ts +3 -3
  833. package/tag/tag-group/tag-group.d.ts.map +1 -1
  834. package/tag/tag-group.js +107 -75
  835. package/tag/tag.js +92 -73
  836. package/teaser/teaser.d.ts +4 -4
  837. package/teaser/teaser.d.ts.map +1 -1
  838. package/teaser-hero/teaser-hero.d.ts +3 -3
  839. package/teaser-hero/teaser-hero.d.ts.map +1 -1
  840. package/teaser-hero.js +66 -38
  841. package/teaser-product/common/teaser-product-common.d.ts +1 -1
  842. package/teaser-product/common/teaser-product-common.d.ts.map +1 -1
  843. package/teaser-product/common.js +36 -21
  844. package/teaser-product/teaser-product/teaser-product.d.ts.map +1 -1
  845. package/teaser-product/teaser-product-static/teaser-product-static.d.ts.map +1 -1
  846. package/teaser-product/teaser-product-static.js +14 -17
  847. package/teaser-product/teaser-product.js +14 -17
  848. package/teaser.js +69 -37
  849. package/time-input/time-input.d.ts +1 -1
  850. package/time-input/time-input.d.ts.map +1 -1
  851. package/time-input.js +160 -166
  852. package/timetable-occupancy/timetable-occupancy.d.ts +2 -2
  853. package/timetable-occupancy/timetable-occupancy.d.ts.map +1 -1
  854. package/timetable-occupancy-icon/timetable-occupancy-icon.d.ts +1 -1
  855. package/timetable-occupancy-icon/timetable-occupancy-icon.d.ts.map +1 -1
  856. package/timetable-occupancy-icon.js +60 -48
  857. package/timetable-occupancy.js +55 -38
  858. package/title/title-base.d.ts +3 -3
  859. package/title/title-base.d.ts.map +1 -1
  860. package/title/title.d.ts.map +1 -1
  861. package/title.js +81 -53
  862. package/toast/toast.d.ts +4 -4
  863. package/toast/toast.d.ts.map +1 -1
  864. package/toast.js +156 -123
  865. package/toggle/toggle/toggle.d.ts +3 -5
  866. package/toggle/toggle/toggle.d.ts.map +1 -1
  867. package/toggle/toggle-option/toggle-option.d.ts +2 -2
  868. package/toggle/toggle-option/toggle-option.d.ts.map +1 -1
  869. package/toggle/toggle-option.js +89 -72
  870. package/toggle/toggle.js +139 -122
  871. package/toggle-check/toggle-check.d.ts +4 -3
  872. package/toggle-check/toggle-check.d.ts.map +1 -1
  873. package/toggle-check.js +63 -41
  874. package/train/train/train.d.ts +5 -5
  875. package/train/train/train.d.ts.map +1 -1
  876. package/train/train-blocked-passage/train-blocked-passage.d.ts.map +1 -1
  877. package/train/train-blocked-passage.js +17 -18
  878. package/train/train-formation/train-formation.d.ts +2 -2
  879. package/train/train-formation/train-formation.d.ts.map +1 -1
  880. package/train/train-formation.js +96 -87
  881. package/train/train-wagon/train-wagon.d.ts +7 -9
  882. package/train/train-wagon/train-wagon.d.ts.map +1 -1
  883. package/train/train-wagon.js +150 -110
  884. package/train/train.js +108 -71
  885. package/visual-checkbox/visual-checkbox.d.ts +3 -3
  886. package/visual-checkbox/visual-checkbox.d.ts.map +1 -1
  887. package/visual-checkbox.js +59 -32
@@ -8,13 +8,13 @@ declare const SbbDatepickerToggleElement_base: import('../../core/mixins.js').Ab
8
8
  export declare class SbbDatepickerToggleElement<T = Date> extends SbbDatepickerToggleElement_base {
9
9
  static styles: CSSResultGroup;
10
10
  /** Datepicker reference. */
11
- datePicker?: string | SbbDatepickerElement;
11
+ accessor datePicker: string | SbbDatepickerElement | null;
12
12
  /** The initial view of calendar which should be displayed on opening. */
13
- view: CalendarView;
14
- private _disabled;
15
- private _min;
16
- private _max;
17
- private _renderCalendar;
13
+ accessor view: CalendarView;
14
+ private accessor _disabled;
15
+ private accessor _min;
16
+ private accessor _max;
17
+ private accessor _renderCalendar;
18
18
  private _datePickerElement;
19
19
  private _calendarElement;
20
20
  private _triggerElement;
@@ -1 +1 @@
1
- {"version":3,"file":"datepicker-toggle.d.ts","sourceRoot":"","sources":["../../../../../src/elements/datepicker/datepicker-toggle/datepicker-toggle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1E,OAAO,EAAkB,UAAU,EAAW,MAAM,KAAK,CAAC;AAK1D,OAAO,KAAK,EAAE,YAAY,EAAsB,MAAM,mBAAmB,CAAC;AAO1E,OAAO,KAAK,EAAE,oBAAoB,EAAuB,MAAM,kBAAkB,CAAC;AAKlF,OAAO,mBAAmB,CAAC;AAC3B,OAAO,0BAA0B,CAAC;AAClC,OAAO,6BAA6B,CAAC;;AAErC;;GAEG;AACH,qBAIa,0BAA0B,CAAC,CAAC,GAAG,IAAI,CAAE,SAAQ,+BAEzD;IACC,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD,4BAA4B;IACmB,UAAU,CAAC,EAAE,MAAM,GAAG,oBAAoB,CAAC;IAE1F,yEAAyE;IACtD,IAAI,EAAE,YAAY,CAAS;IAErC,OAAO,CAAC,SAAS,CAAS;IAE1B,OAAO,CAAC,IAAI,CAA4C;IAExD,OAAO,CAAC,IAAI,CAA4C;IAExD,OAAO,CAAC,eAAe,CAAS;IAEzC,OAAO,CAAC,kBAAkB,CAA6C;IACvE,OAAO,CAAC,gBAAgB,CAAyB;IACjD,OAAO,CAAC,eAAe,CAAwB;IAC/C,OAAO,CAAC,eAAe,CAAqB;IAC5C,OAAO,CAAC,qBAAqB,CAAmB;IAChD,OAAO,CAAC,SAAS,CAAmC;IACpD,OAAO,CAAC,MAAM,CAAyC;;IASvD;;OAEG;IACI,IAAI,IAAI,IAAI;IAOH,iBAAiB,IAAI,IAAI;IAsBzB,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAQzD,oBAAoB,IAAI,IAAI;IAK5C,OAAO,CAAC,KAAK;IAyCb,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,kBAAkB;IAO1B,OAAO,CAAC,eAAe;cAgBJ,OAAO,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAMzE,OAAO,CAAC,eAAe;cAIJ,MAAM,IAAI,cAAc;CA2C5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,uBAAuB,EAAE,0BAA0B,CAAC;KACrD;CACF"}
1
+ {"version":3,"file":"datepicker-toggle.d.ts","sourceRoot":"","sources":["../../../../../src/elements/datepicker/datepicker-toggle/datepicker-toggle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1E,OAAO,EAAkB,UAAU,EAAW,MAAM,KAAK,CAAC;AAK1D,OAAO,KAAK,EAAE,YAAY,EAAsB,MAAM,mBAAmB,CAAC;AAO1E,OAAO,KAAK,EAAE,oBAAoB,EAAuB,MAAM,kBAAkB,CAAC;AAKlF,OAAO,mBAAmB,CAAC;AAC3B,OAAO,0BAA0B,CAAC;AAClC,OAAO,6BAA6B,CAAC;;AAErC;;GAEG;AACH,qBAKM,0BAA0B,CAAC,CAAC,GAAG,IAAI,CAAE,SAAQ,+BAA+C;IAChG,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD,4BAA4B;IAC5B,SAAwD,UAAU,EAC9D,MAAM,GACN,oBAAoB,GACpB,IAAI,CAAQ;IAEhB,yEAAyE;IACzE,SAA4B,IAAI,EAAE,YAAY,CAAS;IAE9C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IAEnC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA4C;IAEjE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA4C;IAEjE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IAElD,OAAO,CAAC,kBAAkB,CAA6C;IACvE,OAAO,CAAC,gBAAgB,CAAyB;IACjD,OAAO,CAAC,eAAe,CAAwB;IAC/C,OAAO,CAAC,eAAe,CAAqB;IAC5C,OAAO,CAAC,qBAAqB,CAAmB;IAChD,OAAO,CAAC,SAAS,CAAmC;IACpD,OAAO,CAAC,MAAM,CAAyC;;IASvD;;OAEG;IACI,IAAI,IAAI,IAAI;IAOH,iBAAiB,IAAI,IAAI;IAsBzB,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAQzD,oBAAoB,IAAI,IAAI;IAK5C,OAAO,CAAC,KAAK;IAyCb,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,kBAAkB;IAO1B,OAAO,CAAC,eAAe;cAgBJ,OAAO,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAMzE,OAAO,CAAC,eAAe;cAIJ,MAAM,IAAI,cAAc;CA2C5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,uBAAuB,EAAE,0BAA0B,CAAC;KACrD;CACF"}
@@ -1,5 +1,13 @@
1
+ var __typeError = (msg) => {
2
+ throw TypeError(msg);
3
+ };
4
+ var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
5
+ var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
6
+ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
7
+ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
8
+ import { __esDecorate, __runInitializers } from "tslib";
1
9
  import { css, LitElement, isServer, html, nothing } from "lit";
2
- import { property, state, customElement } from "lit/decorators.js";
10
+ import { customElement, property, state } from "lit/decorators.js";
3
11
  import { ref } from "lit/directives/ref.js";
4
12
  import { sbbInputModalityDetector } from "../core/a11y.js";
5
13
  import { SbbLanguageController, SbbConnectedAbortController } from "../core/controllers.js";
@@ -30,147 +38,188 @@ const style = css`*,
30
38
  sbb-icon {
31
39
  color: var(--sbb-color-graphite);
32
40
  }`;
33
- var __defProp = Object.defineProperty;
34
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
35
- var __decorateClass = (decorators, target, key, kind) => {
36
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
37
- for (var i = decorators.length - 1, decorator; i >= 0; i--)
38
- if (decorator = decorators[i])
39
- result = (kind ? decorator(target, key, result) : decorator(result)) || result;
40
- if (kind && result) __defProp(target, key, result);
41
- return result;
42
- };
43
- let SbbDatepickerToggleElement = class extends SbbNegativeMixin(
44
- SbbHydrationMixin(LitElement)
45
- ) {
46
- constructor() {
47
- super();
48
- this.view = "day";
49
- this._disabled = false;
50
- this._min = null;
51
- this._max = null;
52
- this._renderCalendar = false;
53
- this._language = new SbbLanguageController(this);
54
- this._abort = new SbbConnectedAbortController(this);
55
- if (!isServer) {
56
- this.hydrationComplete.then(() => this._renderCalendar = true);
57
- }
58
- }
59
- /**
60
- * Opens the calendar.
61
- */
62
- open() {
63
- if (!this._triggerElement) {
64
- this._triggerElement = this.shadowRoot.querySelector("sbb-mini-button");
65
- }
66
- this._triggerElement.click();
67
- }
68
- connectedCallback() {
69
- var _a, _b;
70
- super.connectedCallback();
71
- if (!this.datePicker) {
72
- this._init();
73
- }
74
- const formField = ((_a = this.closest) == null ? void 0 : _a.call(this, "sbb-form-field")) ?? ((_b = this.closest) == null ? void 0 : _b.call(this, "[data-form-field]"));
75
- if (formField) {
76
- this.negative = formField.hasAttribute("negative");
77
- }
78
- this.addEventListener(
79
- "click",
80
- (event) => {
41
+ let SbbDatepickerToggleElement = (() => {
42
+ var _datePicker_accessor_storage, _view_accessor_storage, __disabled_accessor_storage, __min_accessor_storage, __max_accessor_storage, __renderCalendar_accessor_storage, _a;
43
+ let _classDecorators = [customElement("sbb-datepicker-toggle"), hostAttributes({
44
+ slot: "prefix"
45
+ })];
46
+ let _classDescriptor;
47
+ let _classExtraInitializers = [];
48
+ let _classThis;
49
+ let _classSuper = SbbNegativeMixin(SbbHydrationMixin(LitElement));
50
+ let _datePicker_decorators;
51
+ let _datePicker_initializers = [];
52
+ let _datePicker_extraInitializers = [];
53
+ let _view_decorators;
54
+ let _view_initializers = [];
55
+ let _view_extraInitializers = [];
56
+ let __disabled_decorators;
57
+ let __disabled_initializers = [];
58
+ let __disabled_extraInitializers = [];
59
+ let __min_decorators;
60
+ let __min_initializers = [];
61
+ let __min_extraInitializers = [];
62
+ let __max_decorators;
63
+ let __max_initializers = [];
64
+ let __max_extraInitializers = [];
65
+ let __renderCalendar_decorators;
66
+ let __renderCalendar_initializers = [];
67
+ let __renderCalendar_extraInitializers = [];
68
+ _a = class extends _classSuper {
69
+ constructor() {
70
+ super();
71
+ __privateAdd(this, _datePicker_accessor_storage);
72
+ __privateAdd(this, _view_accessor_storage);
73
+ __privateAdd(this, __disabled_accessor_storage);
74
+ __privateAdd(this, __min_accessor_storage);
75
+ __privateAdd(this, __max_accessor_storage);
76
+ __privateAdd(this, __renderCalendar_accessor_storage);
77
+ __privateSet(this, _datePicker_accessor_storage, __runInitializers(this, _datePicker_initializers, null));
78
+ __privateSet(this, _view_accessor_storage, (__runInitializers(this, _datePicker_extraInitializers), __runInitializers(this, _view_initializers, "day")));
79
+ __privateSet(this, __disabled_accessor_storage, (__runInitializers(this, _view_extraInitializers), __runInitializers(this, __disabled_initializers, false)));
80
+ __privateSet(this, __min_accessor_storage, (__runInitializers(this, __disabled_extraInitializers), __runInitializers(this, __min_initializers, null)));
81
+ __privateSet(this, __max_accessor_storage, (__runInitializers(this, __min_extraInitializers), __runInitializers(this, __max_initializers, null)));
82
+ __privateSet(this, __renderCalendar_accessor_storage, (__runInitializers(this, __max_extraInitializers), __runInitializers(this, __renderCalendar_initializers, false)));
83
+ this._datePickerElement = __runInitializers(this, __renderCalendar_extraInitializers);
84
+ this._language = new SbbLanguageController(this);
85
+ this._abort = new SbbConnectedAbortController(this);
86
+ if (!isServer) {
87
+ this.hydrationComplete.then(() => this._renderCalendar = true);
88
+ }
89
+ }
90
+ /** Datepicker reference. */
91
+ get datePicker() {
92
+ return __privateGet(this, _datePicker_accessor_storage);
93
+ }
94
+ set datePicker(value) {
95
+ __privateSet(this, _datePicker_accessor_storage, value);
96
+ }
97
+ /** The initial view of calendar which should be displayed on opening. */
98
+ get view() {
99
+ return __privateGet(this, _view_accessor_storage);
100
+ }
101
+ set view(value) {
102
+ __privateSet(this, _view_accessor_storage, value);
103
+ }
104
+ get _disabled() {
105
+ return __privateGet(this, __disabled_accessor_storage);
106
+ }
107
+ set _disabled(value) {
108
+ __privateSet(this, __disabled_accessor_storage, value);
109
+ }
110
+ get _min() {
111
+ return __privateGet(this, __min_accessor_storage);
112
+ }
113
+ set _min(value) {
114
+ __privateSet(this, __min_accessor_storage, value);
115
+ }
116
+ get _max() {
117
+ return __privateGet(this, __max_accessor_storage);
118
+ }
119
+ set _max(value) {
120
+ __privateSet(this, __max_accessor_storage, value);
121
+ }
122
+ get _renderCalendar() {
123
+ return __privateGet(this, __renderCalendar_accessor_storage);
124
+ }
125
+ set _renderCalendar(value) {
126
+ __privateSet(this, __renderCalendar_accessor_storage, value);
127
+ }
128
+ /**
129
+ * Opens the calendar.
130
+ */
131
+ open() {
132
+ if (!this._triggerElement) {
133
+ this._triggerElement = this.shadowRoot.querySelector("sbb-mini-button");
134
+ }
135
+ this._triggerElement.click();
136
+ }
137
+ connectedCallback() {
138
+ var _a2, _b;
139
+ super.connectedCallback();
140
+ if (!this.datePicker) {
141
+ this._init();
142
+ }
143
+ const formField = ((_a2 = this.closest) == null ? void 0 : _a2.call(this, "sbb-form-field")) ?? ((_b = this.closest) == null ? void 0 : _b.call(this, "[data-form-field]"));
144
+ if (formField) {
145
+ this.negative = formField.hasAttribute("negative");
146
+ }
147
+ this.addEventListener("click", (event) => {
81
148
  if (event.composedPath()[0] === this) {
82
149
  this.open();
83
150
  }
84
- },
85
- { signal: this._abort.signal }
86
- );
87
- }
88
- willUpdate(changedProperties) {
89
- super.willUpdate(changedProperties);
90
- if (changedProperties.has("datePicker")) {
91
- this._init(this.datePicker);
92
- }
93
- }
94
- disconnectedCallback() {
95
- var _a;
96
- super.disconnectedCallback();
97
- (_a = this._datePickerController) == null ? void 0 : _a.abort();
98
- }
99
- _init(datePicker) {
100
- var _a, _b, _c, _d, _e;
101
- (_a = this._datePickerController) == null ? void 0 : _a.abort();
102
- this._datePickerController = new AbortController();
103
- this._datePickerElement = getDatePicker(this, datePicker);
104
- if (!this._datePickerElement) {
105
- (_b = this.parentElement) == null ? void 0 : _b.addEventListener(
106
- "inputUpdated",
107
- (e) => this._init(e.target),
108
- { once: true, signal: this._datePickerController.signal }
109
- );
110
- return;
111
- }
112
- (_c = this._datePickerElement) == null ? void 0 : _c.addEventListener(
113
- "inputUpdated",
114
- (event) => {
151
+ }, { signal: this._abort.signal });
152
+ }
153
+ willUpdate(changedProperties) {
154
+ super.willUpdate(changedProperties);
155
+ if (changedProperties.has("datePicker")) {
156
+ this._init(this.datePicker);
157
+ }
158
+ }
159
+ disconnectedCallback() {
160
+ var _a2;
161
+ super.disconnectedCallback();
162
+ (_a2 = this._datePickerController) == null ? void 0 : _a2.abort();
163
+ }
164
+ _init(datePicker) {
165
+ var _a2, _b, _c, _d, _e;
166
+ (_a2 = this._datePickerController) == null ? void 0 : _a2.abort();
167
+ this._datePickerController = new AbortController();
168
+ this._datePickerElement = getDatePicker(this, datePicker);
169
+ if (!this._datePickerElement) {
170
+ (_b = this.parentElement) == null ? void 0 : _b.addEventListener("inputUpdated", (e) => this._init(e.target), { once: true, signal: this._datePickerController.signal });
171
+ return;
172
+ }
173
+ (_c = this._datePickerElement) == null ? void 0 : _c.addEventListener("inputUpdated", (event) => {
115
174
  this._datePickerElement = event.target;
116
175
  this._disabled = !!(event.detail.disabled || event.detail.readonly);
117
176
  this._min = event.detail.min;
118
177
  this._max = event.detail.max;
119
- },
120
- { signal: this._datePickerController.signal }
121
- );
122
- (_d = this._datePickerElement) == null ? void 0 : _d.addEventListener(
123
- "change",
124
- (event) => this._datePickerChanged(event),
125
- {
178
+ }, { signal: this._datePickerController.signal });
179
+ (_d = this._datePickerElement) == null ? void 0 : _d.addEventListener("change", (event) => this._datePickerChanged(event), {
126
180
  signal: this._datePickerController.signal
181
+ });
182
+ (_e = this._datePickerElement) == null ? void 0 : _e.addEventListener("datePickerUpdated", (event) => this._configureCalendar(this._calendarElement, event.target), { signal: this._datePickerController.signal });
183
+ this._datePickerElement.dispatchEvent(datepickerControlRegisteredEventFactory());
184
+ }
185
+ _configureCalendar(calendar, datepicker) {
186
+ if (!calendar || !datepicker) {
187
+ return;
188
+ }
189
+ calendar.wide = datepicker.wide;
190
+ calendar.now = this._nowOrUndefined();
191
+ calendar.dateFilter = datepicker.dateFilter;
192
+ }
193
+ _datePickerChanged(event) {
194
+ this._datePickerElement = event.target;
195
+ if (this._calendarElement) {
196
+ this._calendarElement.selected = this._datePickerElement.valueAsDate || void 0;
197
+ }
198
+ }
199
+ _assignCalendar(calendar) {
200
+ var _a2;
201
+ if (this._calendarElement && this._calendarElement === calendar) {
202
+ return;
203
+ }
204
+ this._calendarElement = calendar;
205
+ if (!("valueAsDate" in (this._datePickerElement ?? {})) || !((_a2 = this._calendarElement) == null ? void 0 : _a2.resetPosition)) {
206
+ return;
127
207
  }
128
- );
129
- (_e = this._datePickerElement) == null ? void 0 : _e.addEventListener(
130
- "datePickerUpdated",
131
- (event) => this._configureCalendar(this._calendarElement, event.target),
132
- { signal: this._datePickerController.signal }
133
- );
134
- this._datePickerElement.dispatchEvent(datepickerControlRegisteredEventFactory());
135
- }
136
- _configureCalendar(calendar, datepicker) {
137
- if (!calendar || !datepicker) {
138
- return;
139
- }
140
- calendar.wide = datepicker.wide;
141
- calendar.now = this._nowOrUndefined();
142
- calendar.dateFilter = datepicker.dateFilter;
143
- }
144
- _datePickerChanged(event) {
145
- this._datePickerElement = event.target;
146
- if (this._calendarElement) {
147
- this._calendarElement.selected = this._datePickerElement.valueAsDate || void 0;
148
- }
149
- }
150
- _assignCalendar(calendar) {
151
- var _a;
152
- if (this._calendarElement && this._calendarElement === calendar) {
153
- return;
154
- }
155
- this._calendarElement = calendar;
156
- if (!("valueAsDate" in (this._datePickerElement ?? {})) || !((_a = this._calendarElement) == null ? void 0 : _a.resetPosition)) {
157
- return;
158
- }
159
- this._calendarElement.selected = this._datePickerElement.valueAsDate ?? void 0;
160
- this._configureCalendar(this._calendarElement, this._datePickerElement);
161
- this._calendarElement.resetPosition();
162
- }
163
- updated(changedProperties) {
164
- super.updated(changedProperties);
165
- this._popoverElement.trigger = this._triggerElement;
166
- }
167
- _nowOrUndefined() {
168
- var _a;
169
- return ((_a = this._datePickerElement) == null ? void 0 : _a.hasCustomNow()) ? this._datePickerElement.now : void 0;
170
- }
171
- render() {
172
- var _a, _b;
173
- return html`
208
+ this._calendarElement.selected = this._datePickerElement.valueAsDate ?? void 0;
209
+ this._configureCalendar(this._calendarElement, this._datePickerElement);
210
+ this._calendarElement.resetPosition();
211
+ }
212
+ updated(changedProperties) {
213
+ super.updated(changedProperties);
214
+ this._popoverElement.trigger = this._triggerElement;
215
+ }
216
+ _nowOrUndefined() {
217
+ var _a2;
218
+ return ((_a2 = this._datePickerElement) == null ? void 0 : _a2.hasCustomNow()) ? this._datePickerElement.now : void 0;
219
+ }
220
+ render() {
221
+ var _a2, _b;
222
+ return html`
174
223
  <sbb-mini-button
175
224
  class="sbb-datepicker-toggle__trigger"
176
225
  icon-name="calendar-small"
@@ -182,10 +231,10 @@ let SbbDatepickerToggleElement = class extends SbbNegativeMixin(
182
231
  <sbb-popover
183
232
  @willOpen=${() => this._calendarElement.resetPosition()}
184
233
  @didOpen=${() => {
185
- if (sbbInputModalityDetector.mostRecentModality === "keyboard") {
186
- this._calendarElement.focus();
187
- }
188
- }}
234
+ if (sbbInputModalityDetector.mostRecentModality === "keyboard") {
235
+ this._calendarElement.focus();
236
+ }
237
+ }}
189
238
  .trigger=${this._triggerElement}
190
239
  hide-close-button
191
240
  ${ref((el) => this._popoverElement = el)}
@@ -195,48 +244,52 @@ let SbbDatepickerToggleElement = class extends SbbNegativeMixin(
195
244
  .min=${this._min}
196
245
  .max=${this._max}
197
246
  .now=${this._nowOrUndefined()}
198
- ?wide=${(_a = this._datePickerElement) == null ? void 0 : _a.wide}
247
+ ?wide=${(_a2 = this._datePickerElement) == null ? void 0 : _a2.wide}
199
248
  .dateFilter=${(_b = this._datePickerElement) == null ? void 0 : _b.dateFilter}
200
249
  @dateSelected=${(d) => {
201
- this._calendarElement.selected = d.detail;
202
- if (this._datePickerElement) {
203
- this._datePickerElement.valueAsDate = d.detail;
204
- }
205
- }}
206
- ${ref(
207
- (calendar) => this._assignCalendar(calendar)
208
- )}
250
+ this._calendarElement.selected = d.detail;
251
+ if (this._datePickerElement) {
252
+ this._datePickerElement.valueAsDate = d.detail;
253
+ }
254
+ }}
255
+ ${ref((calendar) => this._assignCalendar(calendar))}
209
256
  ></sbb-calendar>` : nothing}
210
257
  </sbb-popover>
211
258
  `;
212
- }
213
- };
214
- SbbDatepickerToggleElement.styles = style;
215
- __decorateClass([
216
- property({ attribute: "date-picker" })
217
- ], SbbDatepickerToggleElement.prototype, "datePicker", 2);
218
- __decorateClass([
219
- property()
220
- ], SbbDatepickerToggleElement.prototype, "view", 2);
221
- __decorateClass([
222
- state()
223
- ], SbbDatepickerToggleElement.prototype, "_disabled", 2);
224
- __decorateClass([
225
- state()
226
- ], SbbDatepickerToggleElement.prototype, "_min", 2);
227
- __decorateClass([
228
- state()
229
- ], SbbDatepickerToggleElement.prototype, "_max", 2);
230
- __decorateClass([
231
- state()
232
- ], SbbDatepickerToggleElement.prototype, "_renderCalendar", 2);
233
- SbbDatepickerToggleElement = __decorateClass([
234
- customElement("sbb-datepicker-toggle"),
235
- hostAttributes({
236
- slot: "prefix"
237
- })
238
- ], SbbDatepickerToggleElement);
259
+ }
260
+ }, _datePicker_accessor_storage = new WeakMap(), _view_accessor_storage = new WeakMap(), __disabled_accessor_storage = new WeakMap(), __min_accessor_storage = new WeakMap(), __max_accessor_storage = new WeakMap(), __renderCalendar_accessor_storage = new WeakMap(), _classThis = _a, (() => {
261
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
262
+ _datePicker_decorators = [property({ attribute: "date-picker" })];
263
+ _view_decorators = [property()];
264
+ __disabled_decorators = [state()];
265
+ __min_decorators = [state()];
266
+ __max_decorators = [state()];
267
+ __renderCalendar_decorators = [state()];
268
+ __esDecorate(_a, null, _datePicker_decorators, { kind: "accessor", name: "datePicker", static: false, private: false, access: { has: (obj) => "datePicker" in obj, get: (obj) => obj.datePicker, set: (obj, value) => {
269
+ obj.datePicker = value;
270
+ } }, metadata: _metadata }, _datePicker_initializers, _datePicker_extraInitializers);
271
+ __esDecorate(_a, null, _view_decorators, { kind: "accessor", name: "view", static: false, private: false, access: { has: (obj) => "view" in obj, get: (obj) => obj.view, set: (obj, value) => {
272
+ obj.view = value;
273
+ } }, metadata: _metadata }, _view_initializers, _view_extraInitializers);
274
+ __esDecorate(_a, null, __disabled_decorators, { kind: "accessor", name: "_disabled", static: false, private: false, access: { has: (obj) => "_disabled" in obj, get: (obj) => obj._disabled, set: (obj, value) => {
275
+ obj._disabled = value;
276
+ } }, metadata: _metadata }, __disabled_initializers, __disabled_extraInitializers);
277
+ __esDecorate(_a, null, __min_decorators, { kind: "accessor", name: "_min", static: false, private: false, access: { has: (obj) => "_min" in obj, get: (obj) => obj._min, set: (obj, value) => {
278
+ obj._min = value;
279
+ } }, metadata: _metadata }, __min_initializers, __min_extraInitializers);
280
+ __esDecorate(_a, null, __max_decorators, { kind: "accessor", name: "_max", static: false, private: false, access: { has: (obj) => "_max" in obj, get: (obj) => obj._max, set: (obj, value) => {
281
+ obj._max = value;
282
+ } }, metadata: _metadata }, __max_initializers, __max_extraInitializers);
283
+ __esDecorate(_a, null, __renderCalendar_decorators, { kind: "accessor", name: "_renderCalendar", static: false, private: false, access: { has: (obj) => "_renderCalendar" in obj, get: (obj) => obj._renderCalendar, set: (obj, value) => {
284
+ obj._renderCalendar = value;
285
+ } }, metadata: _metadata }, __renderCalendar_initializers, __renderCalendar_extraInitializers);
286
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
287
+ _classThis = _classDescriptor.value;
288
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
289
+ })(), _a.styles = style, __runInitializers(_classThis, _classExtraInitializers), _a;
290
+ return _classThis;
291
+ })();
239
292
  export {
240
293
  SbbDatepickerToggleElement
241
294
  };
242
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci10b2dnbGUuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9kYXRlcGlja2VyL2RhdGVwaWNrZXItdG9nZ2xlL2RhdGVwaWNrZXItdG9nZ2xlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ1NTUmVzdWx0R3JvdXAsIFByb3BlcnR5VmFsdWVzLCBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBodG1sLCBpc1NlcnZlciwgTGl0RWxlbWVudCwgbm90aGluZyB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBwcm9wZXJ0eSwgc3RhdGUgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyByZWYgfSBmcm9tICdsaXQvZGlyZWN0aXZlcy9yZWYuanMnO1xuXG5pbXBvcnQgdHlwZSB7IFNiYk1pbmlCdXR0b25FbGVtZW50IH0gZnJvbSAnLi4vLi4vYnV0dG9uL21pbmktYnV0dG9uLmpzJztcbmltcG9ydCB0eXBlIHsgQ2FsZW5kYXJWaWV3LCBTYmJDYWxlbmRhckVsZW1lbnQgfSBmcm9tICcuLi8uLi9jYWxlbmRhci5qcyc7XG5pbXBvcnQgeyBzYmJJbnB1dE1vZGFsaXR5RGV0ZWN0b3IgfSBmcm9tICcuLi8uLi9jb3JlL2ExMXkuanMnO1xuaW1wb3J0IHsgU2JiQ29ubmVjdGVkQWJvcnRDb250cm9sbGVyLCBTYmJMYW5ndWFnZUNvbnRyb2xsZXIgfSBmcm9tICcuLi8uLi9jb3JlL2NvbnRyb2xsZXJzLmpzJztcbmltcG9ydCB7IGhvc3RBdHRyaWJ1dGVzIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGkxOG5TaG93Q2FsZW5kYXIgfSBmcm9tICcuLi8uLi9jb3JlL2kxOG4uanMnO1xuaW1wb3J0IHsgU2JiSHlkcmF0aW9uTWl4aW4sIFNiYk5lZ2F0aXZlTWl4aW4gfSBmcm9tICcuLi8uLi9jb3JlL21peGlucy5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYlBvcG92ZXJFbGVtZW50IH0gZnJvbSAnLi4vLi4vcG9wb3Zlci9wb3BvdmVyLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiRGF0ZXBpY2tlckVsZW1lbnQsIFNiYklucHV0VXBkYXRlRXZlbnQgfSBmcm9tICcuLi9kYXRlcGlja2VyLmpzJztcbmltcG9ydCB7IGRhdGVwaWNrZXJDb250cm9sUmVnaXN0ZXJlZEV2ZW50RmFjdG9yeSwgZ2V0RGF0ZVBpY2tlciB9IGZyb20gJy4uL2RhdGVwaWNrZXIuanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9kYXRlcGlja2VyLXRvZ2dsZS5zY3NzP2xpdCZpbmxpbmUnO1xuXG5pbXBvcnQgJy4uLy4uL2NhbGVuZGFyLmpzJztcbmltcG9ydCAnLi4vLi4vcG9wb3Zlci9wb3BvdmVyLmpzJztcbmltcG9ydCAnLi4vLi4vYnV0dG9uL21pbmktYnV0dG9uLmpzJztcblxuLyoqXG4gKiBDb21iaW5lZCB3aXRoIGEgYHNiYi1kYXRlcGlja2VyYCwgaXQgY2FuIGJlIHVzZWQgdG8gc2VsZWN0IGEgZGF0ZSBmcm9tIGEgYHNiYi1jYWxlbmRhcmAuXG4gKi9cbkBjdXN0b21FbGVtZW50KCdzYmItZGF0ZXBpY2tlci10b2dnbGUnKVxuQGhvc3RBdHRyaWJ1dGVzKHtcbiAgc2xvdDogJ3ByZWZpeCcsXG59KVxuZXhwb3J0IGNsYXNzIFNiYkRhdGVwaWNrZXJUb2dnbGVFbGVtZW50PFQgPSBEYXRlPiBleHRlbmRzIFNiYk5lZ2F0aXZlTWl4aW4oXG4gIFNiYkh5ZHJhdGlvbk1peGluKExpdEVsZW1lbnQpLFxuKSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuXG4gIC8qKiBEYXRlcGlja2VyIHJlZmVyZW5jZS4gKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnZGF0ZS1waWNrZXInIH0pIHB1YmxpYyBkYXRlUGlja2VyPzogc3RyaW5nIHwgU2JiRGF0ZXBpY2tlckVsZW1lbnQ7XG5cbiAgLyoqIFRoZSBpbml0aWFsIHZpZXcgb2YgY2FsZW5kYXIgd2hpY2ggc2hvdWxkIGJlIGRpc3BsYXllZCBvbiBvcGVuaW5nLiAqL1xuICBAcHJvcGVydHkoKSBwdWJsaWMgdmlldzogQ2FsZW5kYXJWaWV3ID0gJ2RheSc7XG5cbiAgQHN0YXRlKCkgcHJpdmF0ZSBfZGlzYWJsZWQgPSBmYWxzZTtcblxuICBAc3RhdGUoKSBwcml2YXRlIF9taW46IHN0cmluZyB8IG51bWJlciB8IG51bGwgfCB1bmRlZmluZWQgPSBudWxsO1xuXG4gIEBzdGF0ZSgpIHByaXZhdGUgX21heDogc3RyaW5nIHwgbnVtYmVyIHwgbnVsbCB8IHVuZGVmaW5lZCA9IG51bGw7XG5cbiAgQHN0YXRlKCkgcHJpdmF0ZSBfcmVuZGVyQ2FsZW5kYXIgPSBmYWxzZTtcblxuICBwcml2YXRlIF9kYXRlUGlja2VyRWxlbWVudDogU2JiRGF0ZXBpY2tlckVsZW1lbnQ8VD4gfCBudWxsIHwgdW5kZWZpbmVkO1xuICBwcml2YXRlIF9jYWxlbmRhckVsZW1lbnQhOiBTYmJDYWxlbmRhckVsZW1lbnQ8VD47XG4gIHByaXZhdGUgX3RyaWdnZXJFbGVtZW50ITogU2JiTWluaUJ1dHRvbkVsZW1lbnQ7XG4gIHByaXZhdGUgX3BvcG92ZXJFbGVtZW50ITogU2JiUG9wb3ZlckVsZW1lbnQ7XG4gIHByaXZhdGUgX2RhdGVQaWNrZXJDb250cm9sbGVyITogQWJvcnRDb250cm9sbGVyO1xuICBwcml2YXRlIF9sYW5ndWFnZSA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG4gIHByaXZhdGUgX2Fib3J0ID0gbmV3IFNiYkNvbm5lY3RlZEFib3J0Q29udHJvbGxlcih0aGlzKTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICBpZiAoIWlzU2VydmVyKSB7XG4gICAgICB0aGlzLmh5ZHJhdGlvbkNvbXBsZXRlLnRoZW4oKCkgPT4gKHRoaXMuX3JlbmRlckNhbGVuZGFyID0gdHJ1ZSkpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBPcGVucyB0aGUgY2FsZW5kYXIuXG4gICAqL1xuICBwdWJsaWMgb3BlbigpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX3RyaWdnZXJFbGVtZW50KSB7XG4gICAgICB0aGlzLl90cmlnZ2VyRWxlbWVudCA9IHRoaXMuc2hhZG93Um9vdCEucXVlcnlTZWxlY3Rvcignc2JiLW1pbmktYnV0dG9uJykhO1xuICAgIH1cbiAgICB0aGlzLl90cmlnZ2VyRWxlbWVudC5jbGljaygpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgaWYgKCF0aGlzLmRhdGVQaWNrZXIpIHtcbiAgICAgIHRoaXMuX2luaXQoKTtcbiAgICB9XG5cbiAgICBjb25zdCBmb3JtRmllbGQgPSB0aGlzLmNsb3Nlc3Q/Lignc2JiLWZvcm0tZmllbGQnKSA/PyB0aGlzLmNsb3Nlc3Q/LignW2RhdGEtZm9ybS1maWVsZF0nKTtcbiAgICBpZiAoZm9ybUZpZWxkKSB7XG4gICAgICB0aGlzLm5lZ2F0aXZlID0gZm9ybUZpZWxkLmhhc0F0dHJpYnV0ZSgnbmVnYXRpdmUnKTtcbiAgICB9XG5cbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAnY2xpY2snLFxuICAgICAgKGV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChldmVudC5jb21wb3NlZFBhdGgoKVswXSA9PT0gdGhpcykge1xuICAgICAgICAgIHRoaXMub3BlbigpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgeyBzaWduYWw6IHRoaXMuX2Fib3J0LnNpZ25hbCB9LFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgd2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci53aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ2RhdGVQaWNrZXInKSkge1xuICAgICAgdGhpcy5faW5pdCh0aGlzLmRhdGVQaWNrZXIpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBkaXNjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuX2RhdGVQaWNrZXJDb250cm9sbGVyPy5hYm9ydCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaW5pdChkYXRlUGlja2VyPzogc3RyaW5nIHwgU2JiRGF0ZXBpY2tlckVsZW1lbnQpOiB2b2lkIHtcbiAgICB0aGlzLl9kYXRlUGlja2VyQ29udHJvbGxlcj8uYWJvcnQoKTtcbiAgICB0aGlzLl9kYXRlUGlja2VyQ29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcbiAgICB0aGlzLl9kYXRlUGlja2VyRWxlbWVudCA9IGdldERhdGVQaWNrZXI8VD4odGhpcywgZGF0ZVBpY2tlcik7XG4gICAgaWYgKCF0aGlzLl9kYXRlUGlja2VyRWxlbWVudCkge1xuICAgICAgLy8gSWYgdGhlIGNvbXBvbmVudCBpcyBhdHRhY2hlZCB0byB0aGUgRE9NIGJlZm9yZSB0aGUgZGF0ZXBpY2tlciwgaXQgaGFzIHRvIGxpc3RlbiBmb3IgdGhlIGRhdGVwaWNrZXIgaW5pdCxcbiAgICAgIC8vIGFzc3VtaW5nIHRoYXQgdGhlIHR3byBjb21wb25lbnRzIHNoYXJlIHRoZSBzYW1lIHBhcmVudCBlbGVtZW50LlxuICAgICAgdGhpcy5wYXJlbnRFbGVtZW50Py5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgICAnaW5wdXRVcGRhdGVkJyxcbiAgICAgICAgKGU6IEV2ZW50KSA9PiB0aGlzLl9pbml0KGUudGFyZ2V0IGFzIFNiYkRhdGVwaWNrZXJFbGVtZW50KSxcbiAgICAgICAgeyBvbmNlOiB0cnVlLCBzaWduYWw6IHRoaXMuX2RhdGVQaWNrZXJDb250cm9sbGVyLnNpZ25hbCB9LFxuICAgICAgKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9kYXRlUGlja2VyRWxlbWVudD8uYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICdpbnB1dFVwZGF0ZWQnLFxuICAgICAgKGV2ZW50OiBDdXN0b21FdmVudDxTYmJJbnB1dFVwZGF0ZUV2ZW50PikgPT4ge1xuICAgICAgICB0aGlzLl9kYXRlUGlja2VyRWxlbWVudCA9IGV2ZW50LnRhcmdldCBhcyBTYmJEYXRlcGlja2VyRWxlbWVudDxUPjtcbiAgICAgICAgdGhpcy5fZGlzYWJsZWQgPSAhIShldmVudC5kZXRhaWwuZGlzYWJsZWQgfHwgZXZlbnQuZGV0YWlsLnJlYWRvbmx5KTtcbiAgICAgICAgdGhpcy5fbWluID0gZXZlbnQuZGV0YWlsLm1pbjtcbiAgICAgICAgdGhpcy5fbWF4ID0gZXZlbnQuZGV0YWlsLm1heDtcbiAgICAgIH0sXG4gICAgICB7IHNpZ25hbDogdGhpcy5fZGF0ZVBpY2tlckNvbnRyb2xsZXIuc2lnbmFsIH0sXG4gICAgKTtcbiAgICB0aGlzLl9kYXRlUGlja2VyRWxlbWVudD8uYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICdjaGFuZ2UnLFxuICAgICAgKGV2ZW50OiBFdmVudCkgPT4gdGhpcy5fZGF0ZVBpY2tlckNoYW5nZWQoZXZlbnQpLFxuICAgICAge1xuICAgICAgICBzaWduYWw6IHRoaXMuX2RhdGVQaWNrZXJDb250cm9sbGVyLnNpZ25hbCxcbiAgICAgIH0sXG4gICAgKTtcbiAgICB0aGlzLl9kYXRlUGlja2VyRWxlbWVudD8uYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICdkYXRlUGlja2VyVXBkYXRlZCcsXG4gICAgICAoZXZlbnQ6IEV2ZW50KSA9PlxuICAgICAgICB0aGlzLl9jb25maWd1cmVDYWxlbmRhcih0aGlzLl9jYWxlbmRhckVsZW1lbnQsIGV2ZW50LnRhcmdldCBhcyBTYmJEYXRlcGlja2VyRWxlbWVudDxUPiksXG4gICAgICB7IHNpZ25hbDogdGhpcy5fZGF0ZVBpY2tlckNvbnRyb2xsZXIuc2lnbmFsIH0sXG4gICAgKTtcbiAgICB0aGlzLl9kYXRlUGlja2VyRWxlbWVudC5kaXNwYXRjaEV2ZW50KGRhdGVwaWNrZXJDb250cm9sUmVnaXN0ZXJlZEV2ZW50RmFjdG9yeSgpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NvbmZpZ3VyZUNhbGVuZGFyKFxuICAgIGNhbGVuZGFyOiBTYmJDYWxlbmRhckVsZW1lbnQ8VD4sXG4gICAgZGF0ZXBpY2tlcjogU2JiRGF0ZXBpY2tlckVsZW1lbnQ8VD4sXG4gICk6IHZvaWQge1xuICAgIGlmICghY2FsZW5kYXIgfHwgIWRhdGVwaWNrZXIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY2FsZW5kYXIud2lkZSA9IGRhdGVwaWNrZXIud2lkZTtcbiAgICBjYWxlbmRhci5ub3cgPSB0aGlzLl9ub3dPclVuZGVmaW5lZCgpO1xuICAgIGNhbGVuZGFyLmRhdGVGaWx0ZXIgPSBkYXRlcGlja2VyLmRhdGVGaWx0ZXI7XG4gIH1cblxuICBwcml2YXRlIF9kYXRlUGlja2VyQ2hhbmdlZChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLl9kYXRlUGlja2VyRWxlbWVudCA9IGV2ZW50LnRhcmdldCBhcyBTYmJEYXRlcGlja2VyRWxlbWVudDxUPjtcbiAgICBpZiAodGhpcy5fY2FsZW5kYXJFbGVtZW50KSB7XG4gICAgICB0aGlzLl9jYWxlbmRhckVsZW1lbnQuc2VsZWN0ZWQgPSB0aGlzLl9kYXRlUGlja2VyRWxlbWVudC52YWx1ZUFzRGF0ZSB8fCB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfYXNzaWduQ2FsZW5kYXIoY2FsZW5kYXI6IFNiYkNhbGVuZGFyRWxlbWVudDxUPik6IHZvaWQge1xuICAgIGlmICh0aGlzLl9jYWxlbmRhckVsZW1lbnQgJiYgdGhpcy5fY2FsZW5kYXJFbGVtZW50ID09PSBjYWxlbmRhcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLl9jYWxlbmRhckVsZW1lbnQgPSBjYWxlbmRhcjtcbiAgICBpZiAoXG4gICAgICAhKCd2YWx1ZUFzRGF0ZScgaW4gKHRoaXMuX2RhdGVQaWNrZXJFbGVtZW50ID8/IHt9KSkgfHxcbiAgICAgICF0aGlzLl9jYWxlbmRhckVsZW1lbnQ/LnJlc2V0UG9zaXRpb25cbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5fY2FsZW5kYXJFbGVtZW50LnNlbGVjdGVkID0gdGhpcy5fZGF0ZVBpY2tlckVsZW1lbnQhLnZhbHVlQXNEYXRlID8/IHVuZGVmaW5lZDtcbiAgICB0aGlzLl9jb25maWd1cmVDYWxlbmRhcih0aGlzLl9jYWxlbmRhckVsZW1lbnQsIHRoaXMuX2RhdGVQaWNrZXJFbGVtZW50ISk7XG4gICAgdGhpcy5fY2FsZW5kYXJFbGVtZW50LnJlc2V0UG9zaXRpb24oKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB1cGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLnVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgdGhpcy5fcG9wb3ZlckVsZW1lbnQudHJpZ2dlciA9IHRoaXMuX3RyaWdnZXJFbGVtZW50O1xuICB9XG5cbiAgcHJpdmF0ZSBfbm93T3JVbmRlZmluZWQoKTogVCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX2RhdGVQaWNrZXJFbGVtZW50Py5oYXNDdXN0b21Ob3coKSA/IHRoaXMuX2RhdGVQaWNrZXJFbGVtZW50Lm5vdyA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPHNiYi1taW5pLWJ1dHRvblxuICAgICAgICBjbGFzcz1cInNiYi1kYXRlcGlja2VyLXRvZ2dsZV9fdHJpZ2dlclwiXG4gICAgICAgIGljb24tbmFtZT1cImNhbGVuZGFyLXNtYWxsXCJcbiAgICAgICAgYXJpYS1sYWJlbD0ke2kxOG5TaG93Q2FsZW5kYXJbdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF19XG4gICAgICAgID9kaXNhYmxlZD0keyFpc1NlcnZlciAmJiAoIXRoaXMuX2RhdGVQaWNrZXJFbGVtZW50IHx8IHRoaXMuX2Rpc2FibGVkKX1cbiAgICAgICAgP25lZ2F0aXZlPSR7dGhpcy5uZWdhdGl2ZX1cbiAgICAgICAgJHtyZWYoKGVsPzogRWxlbWVudCkgPT4gKHRoaXMuX3RyaWdnZXJFbGVtZW50ID0gZWwgYXMgU2JiTWluaUJ1dHRvbkVsZW1lbnQpKX1cbiAgICAgID48L3NiYi1taW5pLWJ1dHRvbj5cbiAgICAgIDxzYmItcG9wb3ZlclxuICAgICAgICBAd2lsbE9wZW49JHsoKSA9PiB0aGlzLl9jYWxlbmRhckVsZW1lbnQucmVzZXRQb3NpdGlvbigpfVxuICAgICAgICBAZGlkT3Blbj0keygpID0+IHtcbiAgICAgICAgICBpZiAoc2JiSW5wdXRNb2RhbGl0eURldGVjdG9yLm1vc3RSZWNlbnRNb2RhbGl0eSA9PT0gJ2tleWJvYXJkJykge1xuICAgICAgICAgICAgdGhpcy5fY2FsZW5kYXJFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9fVxuICAgICAgICAudHJpZ2dlcj0ke3RoaXMuX3RyaWdnZXJFbGVtZW50fVxuICAgICAgICBoaWRlLWNsb3NlLWJ1dHRvblxuICAgICAgICAke3JlZigoZWw/OiBFbGVtZW50KSA9PiAodGhpcy5fcG9wb3ZlckVsZW1lbnQgPSBlbCBhcyBTYmJQb3BvdmVyRWxlbWVudCkpfVxuICAgICAgPlxuICAgICAgICAke3RoaXMuX3JlbmRlckNhbGVuZGFyXG4gICAgICAgICAgPyBodG1sYDxzYmItY2FsZW5kYXJcbiAgICAgICAgICAgICAgLnZpZXc9JHt0aGlzLnZpZXd9XG4gICAgICAgICAgICAgIC5taW49JHt0aGlzLl9taW59XG4gICAgICAgICAgICAgIC5tYXg9JHt0aGlzLl9tYXh9XG4gICAgICAgICAgICAgIC5ub3c9JHt0aGlzLl9ub3dPclVuZGVmaW5lZCgpfVxuICAgICAgICAgICAgICA/d2lkZT0ke3RoaXMuX2RhdGVQaWNrZXJFbGVtZW50Py53aWRlfVxuICAgICAgICAgICAgICAuZGF0ZUZpbHRlcj0ke3RoaXMuX2RhdGVQaWNrZXJFbGVtZW50Py5kYXRlRmlsdGVyfVxuICAgICAgICAgICAgICBAZGF0ZVNlbGVjdGVkPSR7KGQ6IEN1c3RvbUV2ZW50PFQ+KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fY2FsZW5kYXJFbGVtZW50LnNlbGVjdGVkID0gZC5kZXRhaWw7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuX2RhdGVQaWNrZXJFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgICB0aGlzLl9kYXRlUGlja2VyRWxlbWVudC52YWx1ZUFzRGF0ZSA9IGQuZGV0YWlsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgJHtyZWYoKGNhbGVuZGFyPzogRWxlbWVudCkgPT5cbiAgICAgICAgICAgICAgICB0aGlzLl9hc3NpZ25DYWxlbmRhcihjYWxlbmRhciBhcyBTYmJDYWxlbmRhckVsZW1lbnQ8VD4pLFxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPjwvc2JiLWNhbGVuZGFyPmBcbiAgICAgICAgICA6IG5vdGhpbmd9XG4gICAgICA8L3NiYi1wb3BvdmVyPlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1kYXRlcGlja2VyLXRvZ2dsZSc6IFNiYkRhdGVwaWNrZXJUb2dnbGVFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBNkJPLElBQU0s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
295
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci10b2dnbGUuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9kYXRlcGlja2VyL2RhdGVwaWNrZXItdG9nZ2xlL2RhdGVwaWNrZXItdG9nZ2xlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ1NTUmVzdWx0R3JvdXAsIFByb3BlcnR5VmFsdWVzLCBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBodG1sLCBpc1NlcnZlciwgTGl0RWxlbWVudCwgbm90aGluZyB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBwcm9wZXJ0eSwgc3RhdGUgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyByZWYgfSBmcm9tICdsaXQvZGlyZWN0aXZlcy9yZWYuanMnO1xuXG5pbXBvcnQgdHlwZSB7IFNiYk1pbmlCdXR0b25FbGVtZW50IH0gZnJvbSAnLi4vLi4vYnV0dG9uL21pbmktYnV0dG9uLmpzJztcbmltcG9ydCB0eXBlIHsgQ2FsZW5kYXJWaWV3LCBTYmJDYWxlbmRhckVsZW1lbnQgfSBmcm9tICcuLi8uLi9jYWxlbmRhci5qcyc7XG5pbXBvcnQgeyBzYmJJbnB1dE1vZGFsaXR5RGV0ZWN0b3IgfSBmcm9tICcuLi8uLi9jb3JlL2ExMXkuanMnO1xuaW1wb3J0IHsgU2JiQ29ubmVjdGVkQWJvcnRDb250cm9sbGVyLCBTYmJMYW5ndWFnZUNvbnRyb2xsZXIgfSBmcm9tICcuLi8uLi9jb3JlL2NvbnRyb2xsZXJzLmpzJztcbmltcG9ydCB7IGhvc3RBdHRyaWJ1dGVzIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGkxOG5TaG93Q2FsZW5kYXIgfSBmcm9tICcuLi8uLi9jb3JlL2kxOG4uanMnO1xuaW1wb3J0IHsgU2JiSHlkcmF0aW9uTWl4aW4sIFNiYk5lZ2F0aXZlTWl4aW4gfSBmcm9tICcuLi8uLi9jb3JlL21peGlucy5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYlBvcG92ZXJFbGVtZW50IH0gZnJvbSAnLi4vLi4vcG9wb3Zlci9wb3BvdmVyLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiRGF0ZXBpY2tlckVsZW1lbnQsIFNiYklucHV0VXBkYXRlRXZlbnQgfSBmcm9tICcuLi9kYXRlcGlja2VyLmpzJztcbmltcG9ydCB7IGRhdGVwaWNrZXJDb250cm9sUmVnaXN0ZXJlZEV2ZW50RmFjdG9yeSwgZ2V0RGF0ZVBpY2tlciB9IGZyb20gJy4uL2RhdGVwaWNrZXIuanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9kYXRlcGlja2VyLXRvZ2dsZS5zY3NzP2xpdCZpbmxpbmUnO1xuXG5pbXBvcnQgJy4uLy4uL2NhbGVuZGFyLmpzJztcbmltcG9ydCAnLi4vLi4vcG9wb3Zlci9wb3BvdmVyLmpzJztcbmltcG9ydCAnLi4vLi4vYnV0dG9uL21pbmktYnV0dG9uLmpzJztcblxuLyoqXG4gKiBDb21iaW5lZCB3aXRoIGEgYHNiYi1kYXRlcGlja2VyYCwgaXQgY2FuIGJlIHVzZWQgdG8gc2VsZWN0IGEgZGF0ZSBmcm9tIGEgYHNiYi1jYWxlbmRhcmAuXG4gKi9cbmV4cG9ydFxuQGN1c3RvbUVsZW1lbnQoJ3NiYi1kYXRlcGlja2VyLXRvZ2dsZScpXG5AaG9zdEF0dHJpYnV0ZXMoe1xuICBzbG90OiAncHJlZml4Jyxcbn0pXG5jbGFzcyBTYmJEYXRlcGlja2VyVG9nZ2xlRWxlbWVudDxUID0gRGF0ZT4gZXh0ZW5kcyBTYmJOZWdhdGl2ZU1peGluKFNiYkh5ZHJhdGlvbk1peGluKExpdEVsZW1lbnQpKSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuXG4gIC8qKiBEYXRlcGlja2VyIHJlZmVyZW5jZS4gKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnZGF0ZS1waWNrZXInIH0pIHB1YmxpYyBhY2Nlc3NvciBkYXRlUGlja2VyOlxuICAgIHwgc3RyaW5nXG4gICAgfCBTYmJEYXRlcGlja2VyRWxlbWVudFxuICAgIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqIFRoZSBpbml0aWFsIHZpZXcgb2YgY2FsZW5kYXIgd2hpY2ggc2hvdWxkIGJlIGRpc3BsYXllZCBvbiBvcGVuaW5nLiAqL1xuICBAcHJvcGVydHkoKSBwdWJsaWMgYWNjZXNzb3IgdmlldzogQ2FsZW5kYXJWaWV3ID0gJ2RheSc7XG5cbiAgQHN0YXRlKCkgcHJpdmF0ZSBhY2Nlc3NvciBfZGlzYWJsZWQgPSBmYWxzZTtcblxuICBAc3RhdGUoKSBwcml2YXRlIGFjY2Vzc29yIF9taW46IHN0cmluZyB8IG51bWJlciB8IG51bGwgfCB1bmRlZmluZWQgPSBudWxsO1xuXG4gIEBzdGF0ZSgpIHByaXZhdGUgYWNjZXNzb3IgX21heDogc3RyaW5nIHwgbnVtYmVyIHwgbnVsbCB8IHVuZGVmaW5lZCA9IG51bGw7XG5cbiAgQHN0YXRlKCkgcHJpdmF0ZSBhY2Nlc3NvciBfcmVuZGVyQ2FsZW5kYXIgPSBmYWxzZTtcblxuICBwcml2YXRlIF9kYXRlUGlja2VyRWxlbWVudDogU2JiRGF0ZXBpY2tlckVsZW1lbnQ8VD4gfCBudWxsIHwgdW5kZWZpbmVkO1xuICBwcml2YXRlIF9jYWxlbmRhckVsZW1lbnQhOiBTYmJDYWxlbmRhckVsZW1lbnQ8VD47XG4gIHByaXZhdGUgX3RyaWdnZXJFbGVtZW50ITogU2JiTWluaUJ1dHRvbkVsZW1lbnQ7XG4gIHByaXZhdGUgX3BvcG92ZXJFbGVtZW50ITogU2JiUG9wb3ZlckVsZW1lbnQ7XG4gIHByaXZhdGUgX2RhdGVQaWNrZXJDb250cm9sbGVyITogQWJvcnRDb250cm9sbGVyO1xuICBwcml2YXRlIF9sYW5ndWFnZSA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG4gIHByaXZhdGUgX2Fib3J0ID0gbmV3IFNiYkNvbm5lY3RlZEFib3J0Q29udHJvbGxlcih0aGlzKTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICBpZiAoIWlzU2VydmVyKSB7XG4gICAgICB0aGlzLmh5ZHJhdGlvbkNvbXBsZXRlLnRoZW4oKCkgPT4gKHRoaXMuX3JlbmRlckNhbGVuZGFyID0gdHJ1ZSkpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBPcGVucyB0aGUgY2FsZW5kYXIuXG4gICAqL1xuICBwdWJsaWMgb3BlbigpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX3RyaWdnZXJFbGVtZW50KSB7XG4gICAgICB0aGlzLl90cmlnZ2VyRWxlbWVudCA9IHRoaXMuc2hhZG93Um9vdCEucXVlcnlTZWxlY3Rvcignc2JiLW1pbmktYnV0dG9uJykhO1xuICAgIH1cbiAgICB0aGlzLl90cmlnZ2VyRWxlbWVudC5jbGljaygpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgaWYgKCF0aGlzLmRhdGVQaWNrZXIpIHtcbiAgICAgIHRoaXMuX2luaXQoKTtcbiAgICB9XG5cbiAgICBjb25zdCBmb3JtRmllbGQgPSB0aGlzLmNsb3Nlc3Q/Lignc2JiLWZvcm0tZmllbGQnKSA/PyB0aGlzLmNsb3Nlc3Q/LignW2RhdGEtZm9ybS1maWVsZF0nKTtcbiAgICBpZiAoZm9ybUZpZWxkKSB7XG4gICAgICB0aGlzLm5lZ2F0aXZlID0gZm9ybUZpZWxkLmhhc0F0dHJpYnV0ZSgnbmVnYXRpdmUnKTtcbiAgICB9XG5cbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAnY2xpY2snLFxuICAgICAgKGV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChldmVudC5jb21wb3NlZFBhdGgoKVswXSA9PT0gdGhpcykge1xuICAgICAgICAgIHRoaXMub3BlbigpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgeyBzaWduYWw6IHRoaXMuX2Fib3J0LnNpZ25hbCB9LFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgd2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci53aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ2RhdGVQaWNrZXInKSkge1xuICAgICAgdGhpcy5faW5pdCh0aGlzLmRhdGVQaWNrZXIhKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZGlzY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLl9kYXRlUGlja2VyQ29udHJvbGxlcj8uYWJvcnQoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2luaXQoZGF0ZVBpY2tlcj86IHN0cmluZyB8IFNiYkRhdGVwaWNrZXJFbGVtZW50KTogdm9pZCB7XG4gICAgdGhpcy5fZGF0ZVBpY2tlckNvbnRyb2xsZXI/LmFib3J0KCk7XG4gICAgdGhpcy5fZGF0ZVBpY2tlckNvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG4gICAgdGhpcy5fZGF0ZVBpY2tlckVsZW1lbnQgPSBnZXREYXRlUGlja2VyPFQ+KHRoaXMsIGRhdGVQaWNrZXIpO1xuICAgIGlmICghdGhpcy5fZGF0ZVBpY2tlckVsZW1lbnQpIHtcbiAgICAgIC8vIElmIHRoZSBjb21wb25lbnQgaXMgYXR0YWNoZWQgdG8gdGhlIERPTSBiZWZvcmUgdGhlIGRhdGVwaWNrZXIsIGl0IGhhcyB0byBsaXN0ZW4gZm9yIHRoZSBkYXRlcGlja2VyIGluaXQsXG4gICAgICAvLyBhc3N1bWluZyB0aGF0IHRoZSB0d28gY29tcG9uZW50cyBzaGFyZSB0aGUgc2FtZSBwYXJlbnQgZWxlbWVudC5cbiAgICAgIHRoaXMucGFyZW50RWxlbWVudD8uYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICAgJ2lucHV0VXBkYXRlZCcsXG4gICAgICAgIChlOiBFdmVudCkgPT4gdGhpcy5faW5pdChlLnRhcmdldCBhcyBTYmJEYXRlcGlja2VyRWxlbWVudCksXG4gICAgICAgIHsgb25jZTogdHJ1ZSwgc2lnbmFsOiB0aGlzLl9kYXRlUGlja2VyQ29udHJvbGxlci5zaWduYWwgfSxcbiAgICAgICk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fZGF0ZVBpY2tlckVsZW1lbnQ/LmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAnaW5wdXRVcGRhdGVkJyxcbiAgICAgIChldmVudDogQ3VzdG9tRXZlbnQ8U2JiSW5wdXRVcGRhdGVFdmVudD4pID0+IHtcbiAgICAgICAgdGhpcy5fZGF0ZVBpY2tlckVsZW1lbnQgPSBldmVudC50YXJnZXQgYXMgU2JiRGF0ZXBpY2tlckVsZW1lbnQ8VD47XG4gICAgICAgIHRoaXMuX2Rpc2FibGVkID0gISEoZXZlbnQuZGV0YWlsLmRpc2FibGVkIHx8IGV2ZW50LmRldGFpbC5yZWFkb25seSk7XG4gICAgICAgIHRoaXMuX21pbiA9IGV2ZW50LmRldGFpbC5taW47XG4gICAgICAgIHRoaXMuX21heCA9IGV2ZW50LmRldGFpbC5tYXg7XG4gICAgICB9LFxuICAgICAgeyBzaWduYWw6IHRoaXMuX2RhdGVQaWNrZXJDb250cm9sbGVyLnNpZ25hbCB9LFxuICAgICk7XG4gICAgdGhpcy5fZGF0ZVBpY2tlckVsZW1lbnQ/LmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAnY2hhbmdlJyxcbiAgICAgIChldmVudDogRXZlbnQpID0+IHRoaXMuX2RhdGVQaWNrZXJDaGFuZ2VkKGV2ZW50KSxcbiAgICAgIHtcbiAgICAgICAgc2lnbmFsOiB0aGlzLl9kYXRlUGlja2VyQ29udHJvbGxlci5zaWduYWwsXG4gICAgICB9LFxuICAgICk7XG4gICAgdGhpcy5fZGF0ZVBpY2tlckVsZW1lbnQ/LmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAnZGF0ZVBpY2tlclVwZGF0ZWQnLFxuICAgICAgKGV2ZW50OiBFdmVudCkgPT5cbiAgICAgICAgdGhpcy5fY29uZmlndXJlQ2FsZW5kYXIodGhpcy5fY2FsZW5kYXJFbGVtZW50LCBldmVudC50YXJnZXQgYXMgU2JiRGF0ZXBpY2tlckVsZW1lbnQ8VD4pLFxuICAgICAgeyBzaWduYWw6IHRoaXMuX2RhdGVQaWNrZXJDb250cm9sbGVyLnNpZ25hbCB9LFxuICAgICk7XG4gICAgdGhpcy5fZGF0ZVBpY2tlckVsZW1lbnQuZGlzcGF0Y2hFdmVudChkYXRlcGlja2VyQ29udHJvbFJlZ2lzdGVyZWRFdmVudEZhY3RvcnkoKSk7XG4gIH1cblxuICBwcml2YXRlIF9jb25maWd1cmVDYWxlbmRhcihcbiAgICBjYWxlbmRhcjogU2JiQ2FsZW5kYXJFbGVtZW50PFQ+LFxuICAgIGRhdGVwaWNrZXI6IFNiYkRhdGVwaWNrZXJFbGVtZW50PFQ+LFxuICApOiB2b2lkIHtcbiAgICBpZiAoIWNhbGVuZGFyIHx8ICFkYXRlcGlja2VyKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNhbGVuZGFyLndpZGUgPSBkYXRlcGlja2VyLndpZGU7XG4gICAgY2FsZW5kYXIubm93ID0gdGhpcy5fbm93T3JVbmRlZmluZWQoKTtcbiAgICBjYWxlbmRhci5kYXRlRmlsdGVyID0gZGF0ZXBpY2tlci5kYXRlRmlsdGVyO1xuICB9XG5cbiAgcHJpdmF0ZSBfZGF0ZVBpY2tlckNoYW5nZWQoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5fZGF0ZVBpY2tlckVsZW1lbnQgPSBldmVudC50YXJnZXQgYXMgU2JiRGF0ZXBpY2tlckVsZW1lbnQ8VD47XG4gICAgaWYgKHRoaXMuX2NhbGVuZGFyRWxlbWVudCkge1xuICAgICAgdGhpcy5fY2FsZW5kYXJFbGVtZW50LnNlbGVjdGVkID0gdGhpcy5fZGF0ZVBpY2tlckVsZW1lbnQudmFsdWVBc0RhdGUgfHwgdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2Fzc2lnbkNhbGVuZGFyKGNhbGVuZGFyOiBTYmJDYWxlbmRhckVsZW1lbnQ8VD4pOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fY2FsZW5kYXJFbGVtZW50ICYmIHRoaXMuX2NhbGVuZGFyRWxlbWVudCA9PT0gY2FsZW5kYXIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5fY2FsZW5kYXJFbGVtZW50ID0gY2FsZW5kYXI7XG4gICAgaWYgKFxuICAgICAgISgndmFsdWVBc0RhdGUnIGluICh0aGlzLl9kYXRlUGlja2VyRWxlbWVudCA/PyB7fSkpIHx8XG4gICAgICAhdGhpcy5fY2FsZW5kYXJFbGVtZW50Py5yZXNldFBvc2l0aW9uXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuX2NhbGVuZGFyRWxlbWVudC5zZWxlY3RlZCA9IHRoaXMuX2RhdGVQaWNrZXJFbGVtZW50IS52YWx1ZUFzRGF0ZSA/PyB1bmRlZmluZWQ7XG4gICAgdGhpcy5fY29uZmlndXJlQ2FsZW5kYXIodGhpcy5fY2FsZW5kYXJFbGVtZW50LCB0aGlzLl9kYXRlUGlja2VyRWxlbWVudCEpO1xuICAgIHRoaXMuX2NhbGVuZGFyRWxlbWVudC5yZXNldFBvc2l0aW9uKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgdXBkYXRlZChjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci51cGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIHRoaXMuX3BvcG92ZXJFbGVtZW50LnRyaWdnZXIgPSB0aGlzLl90cmlnZ2VyRWxlbWVudDtcbiAgfVxuXG4gIHByaXZhdGUgX25vd09yVW5kZWZpbmVkKCk6IFQgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9kYXRlUGlja2VyRWxlbWVudD8uaGFzQ3VzdG9tTm93KCkgPyB0aGlzLl9kYXRlUGlja2VyRWxlbWVudC5ub3cgOiB1bmRlZmluZWQ7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxzYmItbWluaS1idXR0b25cbiAgICAgICAgY2xhc3M9XCJzYmItZGF0ZXBpY2tlci10b2dnbGVfX3RyaWdnZXJcIlxuICAgICAgICBpY29uLW5hbWU9XCJjYWxlbmRhci1zbWFsbFwiXG4gICAgICAgIGFyaWEtbGFiZWw9JHtpMThuU2hvd0NhbGVuZGFyW3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdfVxuICAgICAgICA/ZGlzYWJsZWQ9JHshaXNTZXJ2ZXIgJiYgKCF0aGlzLl9kYXRlUGlja2VyRWxlbWVudCB8fCB0aGlzLl9kaXNhYmxlZCl9XG4gICAgICAgID9uZWdhdGl2ZT0ke3RoaXMubmVnYXRpdmV9XG4gICAgICAgICR7cmVmKChlbD86IEVsZW1lbnQpID0+ICh0aGlzLl90cmlnZ2VyRWxlbWVudCA9IGVsIGFzIFNiYk1pbmlCdXR0b25FbGVtZW50KSl9XG4gICAgICA+PC9zYmItbWluaS1idXR0b24+XG4gICAgICA8c2JiLXBvcG92ZXJcbiAgICAgICAgQHdpbGxPcGVuPSR7KCkgPT4gdGhpcy5fY2FsZW5kYXJFbGVtZW50LnJlc2V0UG9zaXRpb24oKX1cbiAgICAgICAgQGRpZE9wZW49JHsoKSA9PiB7XG4gICAgICAgICAgaWYgKHNiYklucHV0TW9kYWxpdHlEZXRlY3Rvci5tb3N0UmVjZW50TW9kYWxpdHkgPT09ICdrZXlib2FyZCcpIHtcbiAgICAgICAgICAgIHRoaXMuX2NhbGVuZGFyRWxlbWVudC5mb2N1cygpO1xuICAgICAgICAgIH1cbiAgICAgICAgfX1cbiAgICAgICAgLnRyaWdnZXI9JHt0aGlzLl90cmlnZ2VyRWxlbWVudH1cbiAgICAgICAgaGlkZS1jbG9zZS1idXR0b25cbiAgICAgICAgJHtyZWYoKGVsPzogRWxlbWVudCkgPT4gKHRoaXMuX3BvcG92ZXJFbGVtZW50ID0gZWwgYXMgU2JiUG9wb3ZlckVsZW1lbnQpKX1cbiAgICAgID5cbiAgICAgICAgJHt0aGlzLl9yZW5kZXJDYWxlbmRhclxuICAgICAgICAgID8gaHRtbGA8c2JiLWNhbGVuZGFyXG4gICAgICAgICAgICAgIC52aWV3PSR7dGhpcy52aWV3fVxuICAgICAgICAgICAgICAubWluPSR7dGhpcy5fbWlufVxuICAgICAgICAgICAgICAubWF4PSR7dGhpcy5fbWF4fVxuICAgICAgICAgICAgICAubm93PSR7dGhpcy5fbm93T3JVbmRlZmluZWQoKX1cbiAgICAgICAgICAgICAgP3dpZGU9JHt0aGlzLl9kYXRlUGlja2VyRWxlbWVudD8ud2lkZX1cbiAgICAgICAgICAgICAgLmRhdGVGaWx0ZXI9JHt0aGlzLl9kYXRlUGlja2VyRWxlbWVudD8uZGF0ZUZpbHRlcn1cbiAgICAgICAgICAgICAgQGRhdGVTZWxlY3RlZD0keyhkOiBDdXN0b21FdmVudDxUPikgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX2NhbGVuZGFyRWxlbWVudC5zZWxlY3RlZCA9IGQuZGV0YWlsO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLl9kYXRlUGlja2VyRWxlbWVudCkge1xuICAgICAgICAgICAgICAgICAgdGhpcy5fZGF0ZVBpY2tlckVsZW1lbnQudmFsdWVBc0RhdGUgPSBkLmRldGFpbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICR7cmVmKChjYWxlbmRhcj86IEVsZW1lbnQpID0+XG4gICAgICAgICAgICAgICAgdGhpcy5fYXNzaWduQ2FsZW5kYXIoY2FsZW5kYXIgYXMgU2JiQ2FsZW5kYXJFbGVtZW50PFQ+KSxcbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgID48L3NiYi1jYWxlbmRhcj5gXG4gICAgICAgICAgOiBub3RoaW5nfVxuICAgICAgPC9zYmItcG9wb3Zlcj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItZGF0ZXBpY2tlci10b2dnbGUnOiBTYmJEYXRlcGlja2VyVG9nZ2xlRWxlbWVudDtcbiAgfVxufVxu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