@sbb-esta/lyne-elements 1.16.0 → 2.0.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 (677) hide show
  1. package/accordion/accordion.d.ts +4 -1
  2. package/accordion/accordion.d.ts.map +1 -1
  3. package/accordion.js +31 -22
  4. package/action-group/action-group.d.ts +6 -4
  5. package/action-group/action-group.d.ts.map +1 -1
  6. package/action-group.js +20 -17
  7. package/alert/alert/alert.d.ts +7 -23
  8. package/alert/alert/alert.d.ts.map +1 -1
  9. package/alert/alert-group/alert-group.d.ts +0 -4
  10. package/alert/alert-group/alert-group.d.ts.map +1 -1
  11. package/alert/alert-group.js +46 -47
  12. package/alert/alert.js +74 -132
  13. package/animation.css +4 -8
  14. package/autocomplete/autocomplete-base-element.d.ts +7 -6
  15. package/autocomplete/autocomplete-base-element.d.ts.map +1 -1
  16. package/autocomplete/autocomplete.d.ts +0 -1
  17. package/autocomplete/autocomplete.d.ts.map +1 -1
  18. package/autocomplete-grid/autocomplete-grid/autocomplete-grid.d.ts +0 -1
  19. package/autocomplete-grid/autocomplete-grid/autocomplete-grid.d.ts.map +1 -1
  20. package/autocomplete-grid/autocomplete-grid-button.js +11 -11
  21. package/autocomplete-grid/autocomplete-grid.js +0 -3
  22. package/autocomplete.js +68 -67
  23. package/button/accent-button/accent-button.d.ts +19 -0
  24. package/button/accent-button/accent-button.d.ts.map +1 -0
  25. package/button/accent-button-link/accent-button-link.d.ts +19 -0
  26. package/button/accent-button-link/accent-button-link.d.ts.map +1 -0
  27. package/button/accent-button-link.d.ts +2 -0
  28. package/button/accent-button-link.d.ts.map +1 -0
  29. package/button/accent-button-link.js +17 -0
  30. package/button/accent-button-static/accent-button-static.d.ts +19 -0
  31. package/button/accent-button-static/accent-button-static.d.ts.map +1 -0
  32. package/button/accent-button-static.d.ts +2 -0
  33. package/button/accent-button-static.d.ts.map +1 -0
  34. package/button/accent-button-static.js +17 -0
  35. package/button/accent-button.d.ts +2 -0
  36. package/button/accent-button.d.ts.map +1 -0
  37. package/button/accent-button.js +17 -0
  38. package/button/common/button-common.d.ts.map +1 -1
  39. package/button/common.d.ts.map +1 -1
  40. package/button/common.js +20 -16
  41. package/button/mini-button/mini-button.d.ts +4 -3
  42. package/button/mini-button/mini-button.d.ts.map +1 -1
  43. package/button/mini-button-group/mini-button-group.d.ts +4 -1
  44. package/button/mini-button-group/mini-button-group.d.ts.map +1 -1
  45. package/button/mini-button-group.js +12 -8
  46. package/button/mini-button.d.ts +0 -1
  47. package/button/mini-button.d.ts.map +1 -1
  48. package/button/mini-button.js +10 -20
  49. package/button.d.ts +3 -3
  50. package/button.d.ts.map +1 -1
  51. package/button.js +3 -3
  52. package/calendar.js +25 -25
  53. package/card/card/card.d.ts +4 -1
  54. package/card/card/card.d.ts.map +1 -1
  55. package/card/card.js +10 -6
  56. package/checkbox/checkbox/checkbox.d.ts +4 -6
  57. package/checkbox/checkbox/checkbox.d.ts.map +1 -1
  58. package/checkbox/checkbox-group/checkbox-group.d.ts +4 -1
  59. package/checkbox/checkbox-group/checkbox-group.d.ts.map +1 -1
  60. package/checkbox/checkbox-group.js +14 -10
  61. package/checkbox/checkbox-panel/checkbox-panel.d.ts +4 -4
  62. package/checkbox/checkbox-panel/checkbox-panel.d.ts.map +1 -1
  63. package/checkbox/checkbox-panel.js +21 -18
  64. package/checkbox/checkbox.js +28 -26
  65. package/{chip/chip.d.ts → chip-label/chip-label.d.ts} +4 -4
  66. package/chip-label/chip-label.d.ts.map +1 -0
  67. package/chip-label.d.ts +2 -0
  68. package/chip-label.d.ts.map +1 -0
  69. package/chip-label.js +54 -0
  70. package/clock.js +1 -1
  71. package/container/container.js +21 -21
  72. package/container/sticky-bar/sticky-bar.d.ts +1 -0
  73. package/container/sticky-bar/sticky-bar.d.ts.map +1 -1
  74. package/container/sticky-bar.js +20 -12
  75. package/core/base-elements/button-base-element.d.ts +27 -18
  76. package/core/base-elements/button-base-element.d.ts.map +1 -1
  77. package/core/base-elements/open-close-base-element.d.ts.map +1 -1
  78. package/core/base-elements.js +135 -138
  79. package/core/datetime/date-adapter.d.ts +2 -1
  80. package/core/datetime/date-adapter.d.ts.map +1 -1
  81. package/core/datetime/native-date-adapter.d.ts +1 -1
  82. package/core/datetime/native-date-adapter.d.ts.map +1 -1
  83. package/core/datetime.js +29 -28
  84. package/core/dom/animation.d.ts +2 -0
  85. package/core/dom/animation.d.ts.map +1 -0
  86. package/core/dom/lean-context.d.ts +5 -0
  87. package/core/dom/lean-context.d.ts.map +1 -0
  88. package/core/dom.d.ts +2 -2
  89. package/core/dom.d.ts.map +1 -1
  90. package/core/dom.js +50 -55
  91. package/core/eventing/form-element-handlers.d.ts +0 -7
  92. package/core/eventing/form-element-handlers.d.ts.map +1 -1
  93. package/core/eventing.d.ts +0 -1
  94. package/core/eventing.d.ts.map +1 -1
  95. package/core/eventing.js +28 -49
  96. package/core/i18n/i18n.d.ts +4 -2
  97. package/core/i18n/i18n.d.ts.map +1 -1
  98. package/core/i18n.js +147 -140
  99. package/core/mixins/disabled-mixin.d.ts +2 -7
  100. package/core/mixins/disabled-mixin.d.ts.map +1 -1
  101. package/core/mixins/form-associated-checkbox-mixin.d.ts.map +1 -1
  102. package/core/mixins/form-associated-mixin.d.ts +1 -1
  103. package/core/mixins/form-associated-mixin.d.ts.map +1 -1
  104. package/core/mixins/form-associated-radio-button-mixin.d.ts +35 -0
  105. package/core/mixins/form-associated-radio-button-mixin.d.ts.map +1 -0
  106. package/core/mixins.d.ts +1 -0
  107. package/core/mixins.d.ts.map +1 -1
  108. package/core/mixins.js +347 -220
  109. package/core/styles/_index.scss +1 -0
  110. package/core/styles/core.scss +148 -0
  111. package/core/styles/image.scss +66 -0
  112. package/core/styles/mixins/animation.scss +2 -4
  113. package/core/styles/mixins/buttons.scss +7 -4
  114. package/core/styles/mixins/card.scss +1 -1
  115. package/core/styles/mixins/chip.scss +35 -35
  116. package/core/styles/mixins/image.scss +34 -0
  117. package/core/styles/mixins/overlay.scss +1 -1
  118. package/core/styles/mixins/panel.scss +1 -1
  119. package/core/styles/standard-theme.scss +1 -0
  120. package/core/styles/table.scss +4 -0
  121. package/core/testing/event-spy.d.ts +2 -1
  122. package/core/testing/event-spy.d.ts.map +1 -1
  123. package/core/testing.d.ts +0 -1
  124. package/core/testing.d.ts.map +1 -1
  125. package/core/testing.js +48 -57
  126. package/core.css +112 -0
  127. package/custom-elements.json +25950 -21681
  128. package/datepicker/common/datepicker-button.d.ts +3 -5
  129. package/datepicker/common/datepicker-button.d.ts.map +1 -1
  130. package/datepicker/common.js +30 -29
  131. package/datepicker/datepicker/datepicker.d.ts +25 -72
  132. package/datepicker/datepicker/datepicker.d.ts.map +1 -1
  133. package/datepicker/datepicker-next-day/datepicker-next-day.d.ts +1 -3
  134. package/datepicker/datepicker-next-day/datepicker-next-day.d.ts.map +1 -1
  135. package/datepicker/datepicker-next-day.js +10 -12
  136. package/datepicker/datepicker-previous-day/datepicker-previous-day.d.ts +1 -3
  137. package/datepicker/datepicker-previous-day/datepicker-previous-day.d.ts.map +1 -1
  138. package/datepicker/datepicker-previous-day.js +11 -13
  139. package/datepicker/datepicker.js +129 -157
  140. package/development/accordion/accordion.d.ts +4 -1
  141. package/development/accordion/accordion.d.ts.map +1 -1
  142. package/development/accordion.js +16 -5
  143. package/development/action-group/action-group.d.ts +6 -4
  144. package/development/action-group/action-group.d.ts.map +1 -1
  145. package/development/action-group.js +10 -7
  146. package/development/alert/alert/alert.d.ts +7 -23
  147. package/development/alert/alert/alert.d.ts.map +1 -1
  148. package/development/alert/alert-group/alert-group.d.ts +0 -4
  149. package/development/alert/alert-group/alert-group.d.ts.map +1 -1
  150. package/development/alert/alert-group.js +10 -12
  151. package/development/alert/alert.js +38 -122
  152. package/development/autocomplete/autocomplete-base-element.d.ts +7 -6
  153. package/development/autocomplete/autocomplete-base-element.d.ts.map +1 -1
  154. package/development/autocomplete/autocomplete.d.ts +0 -1
  155. package/development/autocomplete/autocomplete.d.ts.map +1 -1
  156. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.d.ts +0 -1
  157. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.d.ts.map +1 -1
  158. package/development/autocomplete-grid/autocomplete-grid-button.js +6 -6
  159. package/development/autocomplete-grid/autocomplete-grid.js +1 -7
  160. package/development/autocomplete.js +23 -19
  161. package/development/button/accent-button/accent-button.d.ts +19 -0
  162. package/development/button/accent-button/accent-button.d.ts.map +1 -0
  163. package/development/button/accent-button-link/accent-button-link.d.ts +19 -0
  164. package/development/button/accent-button-link/accent-button-link.d.ts.map +1 -0
  165. package/development/button/accent-button-link.d.ts +2 -0
  166. package/development/button/accent-button-link.d.ts.map +1 -0
  167. package/development/button/accent-button-link.js +25 -0
  168. package/development/button/accent-button-static/accent-button-static.d.ts +19 -0
  169. package/development/button/accent-button-static/accent-button-static.d.ts.map +1 -0
  170. package/development/button/accent-button-static.d.ts +2 -0
  171. package/development/button/accent-button-static.d.ts.map +1 -0
  172. package/development/button/accent-button-static.js +25 -0
  173. package/development/button/accent-button.d.ts +2 -0
  174. package/development/button/accent-button.d.ts.map +1 -0
  175. package/development/button/accent-button.js +25 -0
  176. package/development/button/common/button-common.d.ts.map +1 -1
  177. package/development/button/common.d.ts.map +1 -1
  178. package/development/button/common.js +20 -16
  179. package/development/button/mini-button/mini-button.d.ts +4 -3
  180. package/development/button/mini-button/mini-button.d.ts.map +1 -1
  181. package/development/button/mini-button-group/mini-button-group.d.ts +4 -1
  182. package/development/button/mini-button-group/mini-button-group.d.ts.map +1 -1
  183. package/development/button/mini-button-group.js +7 -3
  184. package/development/button/mini-button.d.ts +0 -1
  185. package/development/button/mini-button.d.ts.map +1 -1
  186. package/development/button/mini-button.js +14 -32
  187. package/development/button.d.ts +3 -3
  188. package/development/button.d.ts.map +1 -1
  189. package/development/button.js +3 -3
  190. package/development/calendar.js +1 -1
  191. package/development/card/card/card.d.ts +4 -1
  192. package/development/card/card/card.d.ts.map +1 -1
  193. package/development/card/card.js +8 -4
  194. package/development/checkbox/checkbox/checkbox.d.ts +4 -6
  195. package/development/checkbox/checkbox/checkbox.d.ts.map +1 -1
  196. package/development/checkbox/checkbox-group/checkbox-group.d.ts +4 -1
  197. package/development/checkbox/checkbox-group/checkbox-group.d.ts.map +1 -1
  198. package/development/checkbox/checkbox-group.js +7 -3
  199. package/development/checkbox/checkbox-panel/checkbox-panel.d.ts +4 -4
  200. package/development/checkbox/checkbox-panel/checkbox-panel.d.ts.map +1 -1
  201. package/development/checkbox/checkbox-panel.js +7 -4
  202. package/development/checkbox/checkbox.js +8 -6
  203. package/development/{chip/chip.d.ts → chip-label/chip-label.d.ts} +4 -4
  204. package/development/chip-label/chip-label.d.ts.map +1 -0
  205. package/development/chip-label.d.ts +2 -0
  206. package/development/chip-label.d.ts.map +1 -0
  207. package/development/{chip.js → chip-label.js} +26 -26
  208. package/development/clock.js +1 -1
  209. package/development/container/container.js +8 -12
  210. package/development/container/sticky-bar/sticky-bar.d.ts +1 -0
  211. package/development/container/sticky-bar/sticky-bar.d.ts.map +1 -1
  212. package/development/container/sticky-bar.js +18 -10
  213. package/development/core/base-elements/button-base-element.d.ts +27 -18
  214. package/development/core/base-elements/button-base-element.d.ts.map +1 -1
  215. package/development/core/base-elements/open-close-base-element.d.ts.map +1 -1
  216. package/development/core/base-elements.js +66 -74
  217. package/development/core/datetime/date-adapter.d.ts +2 -1
  218. package/development/core/datetime/date-adapter.d.ts.map +1 -1
  219. package/development/core/datetime/native-date-adapter.d.ts +1 -1
  220. package/development/core/datetime/native-date-adapter.d.ts.map +1 -1
  221. package/development/core/datetime.js +4 -3
  222. package/development/core/dom/animation.d.ts +2 -0
  223. package/development/core/dom/animation.d.ts.map +1 -0
  224. package/development/core/dom/lean-context.d.ts +5 -0
  225. package/development/core/dom/lean-context.d.ts.map +1 -0
  226. package/development/core/dom.d.ts +2 -2
  227. package/development/core/dom.d.ts.map +1 -1
  228. package/development/core/dom.js +13 -21
  229. package/development/core/eventing/form-element-handlers.d.ts +0 -7
  230. package/development/core/eventing/form-element-handlers.d.ts.map +1 -1
  231. package/development/core/eventing.d.ts +0 -1
  232. package/development/core/eventing.d.ts.map +1 -1
  233. package/development/core/eventing.js +1 -25
  234. package/development/core/i18n/i18n.d.ts +4 -2
  235. package/development/core/i18n/i18n.d.ts.map +1 -1
  236. package/development/core/i18n.js +27 -23
  237. package/development/core/mixins/disabled-mixin.d.ts +2 -7
  238. package/development/core/mixins/disabled-mixin.d.ts.map +1 -1
  239. package/development/core/mixins/form-associated-checkbox-mixin.d.ts.map +1 -1
  240. package/development/core/mixins/form-associated-mixin.d.ts +1 -1
  241. package/development/core/mixins/form-associated-mixin.d.ts.map +1 -1
  242. package/development/core/mixins/form-associated-radio-button-mixin.d.ts +35 -0
  243. package/development/core/mixins/form-associated-radio-button-mixin.d.ts.map +1 -0
  244. package/development/core/mixins.d.ts +1 -0
  245. package/development/core/mixins.d.ts.map +1 -1
  246. package/development/core/mixins.js +221 -30
  247. package/development/core/testing/event-spy.d.ts +2 -1
  248. package/development/core/testing/event-spy.d.ts.map +1 -1
  249. package/development/core/testing.d.ts +0 -1
  250. package/development/core/testing.d.ts.map +1 -1
  251. package/development/core/testing.js +4 -15
  252. package/development/datepicker/common/datepicker-button.d.ts +3 -5
  253. package/development/datepicker/common/datepicker-button.d.ts.map +1 -1
  254. package/development/datepicker/common.js +13 -12
  255. package/development/datepicker/datepicker/datepicker.d.ts +25 -72
  256. package/development/datepicker/datepicker/datepicker.d.ts.map +1 -1
  257. package/development/datepicker/datepicker-next-day/datepicker-next-day.d.ts +1 -3
  258. package/development/datepicker/datepicker-next-day/datepicker-next-day.d.ts.map +1 -1
  259. package/development/datepicker/datepicker-next-day.js +9 -15
  260. package/development/datepicker/datepicker-previous-day/datepicker-previous-day.d.ts +1 -3
  261. package/development/datepicker/datepicker-previous-day/datepicker-previous-day.d.ts.map +1 -1
  262. package/development/datepicker/datepicker-previous-day.js +9 -15
  263. package/development/datepicker/datepicker.js +74 -115
  264. package/development/dialog/dialog/dialog.d.ts +3 -0
  265. package/development/dialog/dialog/dialog.d.ts.map +1 -1
  266. package/development/dialog/dialog-title.js +2 -1
  267. package/development/dialog/dialog.js +46 -39
  268. package/development/expansion-panel/expansion-panel/expansion-panel.d.ts +7 -1
  269. package/development/expansion-panel/expansion-panel/expansion-panel.d.ts.map +1 -1
  270. package/development/expansion-panel/expansion-panel-header.js +3 -3
  271. package/development/expansion-panel/expansion-panel.js +32 -17
  272. package/development/file-selector/common/file-selector-common.d.ts +23 -0
  273. package/development/file-selector/common/file-selector-common.d.ts.map +1 -0
  274. package/development/file-selector/common.d.ts +2 -0
  275. package/development/file-selector/common.d.ts.map +1 -0
  276. package/development/file-selector/common.js +382 -0
  277. package/development/file-selector/file-selector/file-selector.d.ts +24 -0
  278. package/development/file-selector/file-selector/file-selector.d.ts.map +1 -0
  279. package/development/file-selector/file-selector-dropzone/file-selector-dropzone.d.ts +33 -0
  280. package/development/file-selector/file-selector-dropzone/file-selector-dropzone.d.ts.map +1 -0
  281. package/development/file-selector/file-selector-dropzone.d.ts +2 -0
  282. package/development/file-selector/file-selector-dropzone.d.ts.map +1 -0
  283. package/development/file-selector/file-selector-dropzone.js +181 -0
  284. package/development/file-selector/file-selector.d.ts +1 -87
  285. package/development/file-selector/file-selector.d.ts.map +1 -1
  286. package/development/file-selector/file-selector.js +52 -0
  287. package/development/file-selector.d.ts +2 -0
  288. package/development/file-selector.d.ts.map +1 -1
  289. package/development/file-selector.js +4 -552
  290. package/development/flip-card/flip-card-details.js +1 -1
  291. package/development/flip-card/flip-card-summary.js +3 -11
  292. package/development/flip-card/flip-card.js +6 -6
  293. package/development/form-field/form-field/form-field.d.ts +5 -10
  294. package/development/form-field/form-field/form-field.d.ts.map +1 -1
  295. package/development/form-field/form-field-clear.js +6 -6
  296. package/development/form-field/form-field.js +32 -40
  297. package/development/header/common.js +2 -2
  298. package/development/header/header/header.d.ts +5 -3
  299. package/development/header/header/header.d.ts.map +1 -1
  300. package/development/header/header.js +15 -20
  301. package/development/image/image.d.ts +0 -30
  302. package/development/image/image.d.ts.map +1 -1
  303. package/development/image.js +62 -273
  304. package/development/journey-header/journey-header.d.ts +4 -1
  305. package/development/journey-header/journey-header.d.ts.map +1 -1
  306. package/development/journey-header.js +7 -3
  307. package/development/lead-container.js +2 -10
  308. package/development/link/common/link-common.d.ts.map +1 -1
  309. package/development/link/common.js +9 -8
  310. package/development/link-list/common/link-list-base.d.ts +1 -0
  311. package/development/link-list/common/link-list-base.d.ts.map +1 -1
  312. package/development/link-list/common.js +4 -2
  313. package/development/link-list/link-list-anchor.js +4 -4
  314. package/development/loading-indicator/loading-indicator.d.ts +1 -3
  315. package/development/loading-indicator/loading-indicator.d.ts.map +1 -1
  316. package/development/loading-indicator-circle/loading-indicator-circle.d.ts +16 -0
  317. package/development/loading-indicator-circle/loading-indicator-circle.d.ts.map +1 -0
  318. package/development/loading-indicator-circle.d.ts +2 -0
  319. package/development/loading-indicator-circle.d.ts.map +1 -0
  320. package/development/loading-indicator-circle.js +146 -0
  321. package/development/loading-indicator.js +81 -182
  322. package/development/map-container/map-container.d.ts.map +1 -1
  323. package/development/map-container.js +5 -5
  324. package/development/menu/common.js +5 -5
  325. package/development/menu/menu/menu.d.ts +3 -0
  326. package/development/menu/menu/menu.d.ts.map +1 -1
  327. package/development/menu/menu.js +39 -24
  328. package/development/navigation/common/navigation-action-common.d.ts.map +1 -1
  329. package/development/navigation/common.js +9 -5
  330. package/development/navigation/navigation/navigation.d.ts +3 -0
  331. package/development/navigation/navigation/navigation.d.ts.map +1 -1
  332. package/development/navigation/navigation-list/navigation-list.d.ts.map +1 -1
  333. package/development/navigation/navigation-list.js +3 -2
  334. package/development/navigation/navigation-marker/navigation-marker.d.ts +2 -1
  335. package/development/navigation/navigation-marker/navigation-marker.d.ts.map +1 -1
  336. package/development/navigation/navigation-marker.js +6 -4
  337. package/development/navigation/navigation-section/navigation-section.d.ts +3 -0
  338. package/development/navigation/navigation-section/navigation-section.d.ts.map +1 -1
  339. package/development/navigation/navigation-section.js +38 -22
  340. package/development/navigation/navigation.js +42 -27
  341. package/development/notification/notification.d.ts +6 -2
  342. package/development/notification/notification.d.ts.map +1 -1
  343. package/development/notification.js +27 -21
  344. package/development/option/option/option-base-element.d.ts +0 -7
  345. package/development/option/option/option-base-element.d.ts.map +1 -1
  346. package/development/option/option.js +5 -26
  347. package/development/overlay/overlay-base-element.d.ts +2 -0
  348. package/development/overlay/overlay-base-element.d.ts.map +1 -1
  349. package/development/overlay/overlay.d.ts +3 -0
  350. package/development/overlay/overlay.d.ts.map +1 -1
  351. package/development/overlay.js +43 -31
  352. package/development/paginator/common/paginator-common.d.ts.map +1 -1
  353. package/development/paginator/common.js +7 -3
  354. package/development/paginator/paginator.js +1 -1
  355. package/development/popover/popover/popover.d.ts +3 -0
  356. package/development/popover/popover/popover.d.ts.map +1 -1
  357. package/development/popover/popover-trigger.js +9 -9
  358. package/development/popover/popover.js +41 -26
  359. package/development/radio-button/common/radio-button-common.d.ts +3 -10
  360. package/development/radio-button/common/radio-button-common.d.ts.map +1 -1
  361. package/development/radio-button/common.js +44 -121
  362. package/development/radio-button/radio-button/radio-button.d.ts +9 -1
  363. package/development/radio-button/radio-button/radio-button.d.ts.map +1 -1
  364. package/development/radio-button/radio-button-group/radio-button-group.d.ts +19 -26
  365. package/development/radio-button/radio-button-group/radio-button-group.d.ts.map +1 -1
  366. package/development/radio-button/radio-button-group.js +87 -123
  367. package/development/radio-button/radio-button-panel/radio-button-panel.d.ts +20 -2
  368. package/development/radio-button/radio-button-panel/radio-button-panel.d.ts.map +1 -1
  369. package/development/radio-button/radio-button-panel.js +35 -15
  370. package/development/radio-button/radio-button.js +11 -15
  371. package/development/select/select.d.ts +3 -9
  372. package/development/select/select.d.ts.map +1 -1
  373. package/development/select.js +27 -25
  374. package/development/selection-expansion-panel/selection-expansion-panel.d.ts +4 -1
  375. package/development/selection-expansion-panel/selection-expansion-panel.d.ts.map +1 -1
  376. package/development/selection-expansion-panel.js +28 -16
  377. package/development/skiplink-list/skiplink-list.d.ts.map +1 -1
  378. package/development/skiplink-list.js +3 -2
  379. package/development/slider/slider.d.ts +0 -1
  380. package/development/slider/slider.d.ts.map +1 -1
  381. package/development/slider.js +2 -2
  382. package/development/stepper/step-label/step-label.d.ts +0 -2
  383. package/development/stepper/step-label/step-label.d.ts.map +1 -1
  384. package/development/stepper/step-label.js +10 -11
  385. package/development/stepper/step.js +1 -1
  386. package/development/stepper/stepper/stepper.d.ts +4 -1
  387. package/development/stepper/stepper/stepper.d.ts.map +1 -1
  388. package/development/stepper/stepper.js +9 -7
  389. package/development/tabs/tab-group/tab-group.d.ts +4 -1
  390. package/development/tabs/tab-group/tab-group.d.ts.map +1 -1
  391. package/development/tabs/tab-group.js +8 -4
  392. package/development/tabs/tab-label.js +1 -1
  393. package/development/tag/tag/tag.d.ts +4 -1
  394. package/development/tag/tag/tag.d.ts.map +1 -1
  395. package/development/tag/tag-group/tag-group.d.ts +5 -2
  396. package/development/tag/tag-group/tag-group.d.ts.map +1 -1
  397. package/development/tag/tag-group.js +7 -4
  398. package/development/tag/tag.js +16 -12
  399. package/development/teaser/teaser.d.ts +2 -2
  400. package/development/teaser/teaser.d.ts.map +1 -1
  401. package/development/teaser-hero/teaser-hero.d.ts +2 -6
  402. package/development/teaser-hero/teaser-hero.d.ts.map +1 -1
  403. package/development/teaser-hero.js +9 -60
  404. package/development/teaser-product/common.js +7 -14
  405. package/development/teaser-product/teaser-product.js +1 -21
  406. package/development/teaser.js +12 -31
  407. package/development/time-input/time-input.d.ts +3 -6
  408. package/development/time-input/time-input.d.ts.map +1 -1
  409. package/development/time-input.js +33 -27
  410. package/development/toast/toast.d.ts +3 -0
  411. package/development/toast/toast.d.ts.map +1 -1
  412. package/development/toast.js +27 -13
  413. package/development/toggle/toggle/toggle.d.ts +4 -8
  414. package/development/toggle/toggle/toggle.d.ts.map +1 -1
  415. package/development/toggle/toggle.js +9 -12
  416. package/development/toggle-check/toggle-check.d.ts +4 -6
  417. package/development/toggle-check/toggle-check.d.ts.map +1 -1
  418. package/development/toggle-check.js +9 -7
  419. package/development/train/train/train.d.ts.map +1 -1
  420. package/development/train/train-blocked-passage.js +2 -2
  421. package/development/train/train-formation/train-formation.d.ts +3 -11
  422. package/development/train/train-formation/train-formation.d.ts.map +1 -1
  423. package/development/train/train-formation.js +43 -74
  424. package/development/train/train-wagon/train-wagon.d.ts +11 -8
  425. package/development/train/train-wagon/train-wagon.d.ts.map +1 -1
  426. package/development/train/train-wagon.js +149 -124
  427. package/development/train/train.js +35 -112
  428. package/development/visual-checkbox/visual-checkbox.d.ts +4 -1
  429. package/development/visual-checkbox/visual-checkbox.d.ts.map +1 -1
  430. package/development/visual-checkbox.js +7 -3
  431. package/dialog/dialog/dialog.d.ts +3 -0
  432. package/dialog/dialog/dialog.d.ts.map +1 -1
  433. package/dialog/dialog-title.js +9 -9
  434. package/dialog/dialog.js +56 -51
  435. package/expansion-panel/expansion-panel/expansion-panel.d.ts +7 -1
  436. package/expansion-panel/expansion-panel/expansion-panel.d.ts.map +1 -1
  437. package/expansion-panel/expansion-panel-header.js +1 -1
  438. package/expansion-panel/expansion-panel.js +41 -28
  439. package/file-selector/common/file-selector-common.d.ts +23 -0
  440. package/file-selector/common/file-selector-common.d.ts.map +1 -0
  441. package/file-selector/common.d.ts +2 -0
  442. package/file-selector/common.d.ts.map +1 -0
  443. package/file-selector/common.js +210 -0
  444. package/file-selector/file-selector/file-selector.d.ts +24 -0
  445. package/file-selector/file-selector/file-selector.d.ts.map +1 -0
  446. package/file-selector/file-selector-dropzone/file-selector-dropzone.d.ts +33 -0
  447. package/file-selector/file-selector-dropzone/file-selector-dropzone.d.ts.map +1 -0
  448. package/file-selector/file-selector-dropzone.d.ts +2 -0
  449. package/file-selector/file-selector-dropzone.d.ts.map +1 -0
  450. package/file-selector/file-selector-dropzone.js +97 -0
  451. package/file-selector/file-selector.d.ts +1 -87
  452. package/file-selector/file-selector.d.ts.map +1 -1
  453. package/file-selector/file-selector.js +44 -0
  454. package/file-selector.d.ts +2 -0
  455. package/file-selector.d.ts.map +1 -1
  456. package/file-selector.js +3 -301
  457. package/flip-card/flip-card-details.js +5 -5
  458. package/flip-card/flip-card-summary.js +7 -7
  459. package/flip-card/flip-card.js +9 -9
  460. package/form-field/form-field/form-field.d.ts +5 -10
  461. package/form-field/form-field/form-field.d.ts.map +1 -1
  462. package/form-field/form-field-clear.js +12 -12
  463. package/form-field/form-field.js +143 -141
  464. package/header/common.js +10 -10
  465. package/header/header/header.d.ts +5 -3
  466. package/header/header/header.d.ts.map +1 -1
  467. package/header/header.js +28 -31
  468. package/image/image.d.ts +0 -30
  469. package/image/image.d.ts.map +1 -1
  470. package/image.js +187 -281
  471. package/index.d.ts +13 -9
  472. package/index.js +13 -9
  473. package/journey-header/journey-header.d.ts +4 -1
  474. package/journey-header/journey-header.d.ts.map +1 -1
  475. package/journey-header.js +29 -25
  476. package/lead-container.js +5 -5
  477. package/link/common/link-common.d.ts.map +1 -1
  478. package/link/common.js +18 -16
  479. package/link-list/common/link-list-base.d.ts +1 -0
  480. package/link-list/common/link-list-base.d.ts.map +1 -1
  481. package/link-list/common.js +11 -9
  482. package/link-list/link-list-anchor.js +8 -8
  483. package/loading-indicator/loading-indicator.d.ts +1 -3
  484. package/loading-indicator/loading-indicator.d.ts.map +1 -1
  485. package/loading-indicator-circle/loading-indicator-circle.d.ts +16 -0
  486. package/loading-indicator-circle/loading-indicator-circle.d.ts.map +1 -0
  487. package/loading-indicator-circle.d.ts +2 -0
  488. package/loading-indicator-circle.d.ts.map +1 -0
  489. package/loading-indicator-circle.js +46 -0
  490. package/loading-indicator.js +41 -51
  491. package/map-container/map-container.d.ts.map +1 -1
  492. package/map-container.js +7 -7
  493. package/menu/common.js +8 -8
  494. package/menu/menu/menu.d.ts +3 -0
  495. package/menu/menu/menu.d.ts.map +1 -1
  496. package/menu/menu.js +52 -43
  497. package/navigation/common/navigation-action-common.d.ts.map +1 -1
  498. package/navigation/common.js +10 -6
  499. package/navigation/navigation/navigation.d.ts +3 -0
  500. package/navigation/navigation/navigation.d.ts.map +1 -1
  501. package/navigation/navigation-list/navigation-list.d.ts.map +1 -1
  502. package/navigation/navigation-list.js +17 -16
  503. package/navigation/navigation-marker/navigation-marker.d.ts +2 -1
  504. package/navigation/navigation-marker/navigation-marker.d.ts.map +1 -1
  505. package/navigation/navigation-marker.js +12 -10
  506. package/navigation/navigation-section/navigation-section.d.ts +3 -0
  507. package/navigation/navigation-section/navigation-section.d.ts.map +1 -1
  508. package/navigation/navigation-section.js +46 -37
  509. package/navigation/navigation.js +30 -21
  510. package/notification/notification.d.ts +6 -2
  511. package/notification/notification.d.ts.map +1 -1
  512. package/notification.js +55 -51
  513. package/option/option/option-base-element.d.ts +0 -7
  514. package/option/option/option-base-element.d.ts.map +1 -1
  515. package/option/option.js +110 -125
  516. package/overlay/overlay-base-element.d.ts +2 -0
  517. package/overlay/overlay-base-element.d.ts.map +1 -1
  518. package/overlay/overlay.d.ts +3 -0
  519. package/overlay/overlay.d.ts.map +1 -1
  520. package/overlay.js +83 -77
  521. package/package.json +40 -25
  522. package/paginator/common/paginator-common.d.ts.map +1 -1
  523. package/paginator/common.js +21 -17
  524. package/paginator/paginator.js +1 -1
  525. package/popover/popover/popover.d.ts +3 -0
  526. package/popover/popover/popover.d.ts.map +1 -1
  527. package/popover/popover-trigger.js +6 -6
  528. package/popover/popover.js +114 -109
  529. package/radio-button/common/radio-button-common.d.ts +3 -10
  530. package/radio-button/common/radio-button-common.d.ts.map +1 -1
  531. package/radio-button/common.js +43 -90
  532. package/radio-button/radio-button/radio-button.d.ts +9 -1
  533. package/radio-button/radio-button/radio-button.d.ts.map +1 -1
  534. package/radio-button/radio-button-group/radio-button-group.d.ts +19 -26
  535. package/radio-button/radio-button-group/radio-button-group.d.ts.map +1 -1
  536. package/radio-button/radio-button-group.js +112 -131
  537. package/radio-button/radio-button-panel/radio-button-panel.d.ts +20 -2
  538. package/radio-button/radio-button-panel/radio-button-panel.d.ts.map +1 -1
  539. package/radio-button/radio-button-panel.js +56 -44
  540. package/radio-button/radio-button.js +34 -38
  541. package/select/select.d.ts +3 -9
  542. package/select/select.d.ts.map +1 -1
  543. package/select.js +65 -66
  544. package/selection-expansion-panel/selection-expansion-panel.d.ts +4 -1
  545. package/selection-expansion-panel/selection-expansion-panel.d.ts.map +1 -1
  546. package/selection-expansion-panel.js +41 -31
  547. package/skiplink-list/skiplink-list.d.ts.map +1 -1
  548. package/skiplink-list.js +14 -13
  549. package/slider/slider.d.ts +0 -1
  550. package/slider/slider.d.ts.map +1 -1
  551. package/slider.js +1 -1
  552. package/standard-theme.css +237 -8
  553. package/stepper/step-label/step-label.d.ts +0 -2
  554. package/stepper/step-label/step-label.d.ts.map +1 -1
  555. package/stepper/step-label.js +6 -6
  556. package/stepper/step.js +4 -4
  557. package/stepper/stepper/stepper.d.ts +4 -1
  558. package/stepper/stepper/stepper.d.ts.map +1 -1
  559. package/stepper/stepper.js +22 -19
  560. package/table.css +15 -0
  561. package/tabs/tab-group/tab-group.d.ts +4 -1
  562. package/tabs/tab-group/tab-group.d.ts.map +1 -1
  563. package/tabs/tab-group.js +24 -20
  564. package/tabs/tab-label.js +1 -1
  565. package/tag/tag/tag.d.ts +4 -1
  566. package/tag/tag/tag.d.ts.map +1 -1
  567. package/tag/tag-group/tag-group.d.ts +5 -2
  568. package/tag/tag-group/tag-group.d.ts.map +1 -1
  569. package/tag/tag-group.js +13 -10
  570. package/tag/tag.js +25 -21
  571. package/teaser/teaser.d.ts +2 -2
  572. package/teaser/teaser.d.ts.map +1 -1
  573. package/teaser-hero/teaser-hero.d.ts +2 -6
  574. package/teaser-hero/teaser-hero.d.ts.map +1 -1
  575. package/teaser-hero.js +32 -57
  576. package/teaser-product/common.js +1 -1
  577. package/teaser-product/teaser-product.js +13 -13
  578. package/teaser.js +28 -28
  579. package/time-input/time-input.d.ts +3 -6
  580. package/time-input/time-input.d.ts.map +1 -1
  581. package/time-input.js +56 -55
  582. package/toast/toast.d.ts +3 -0
  583. package/toast/toast.d.ts.map +1 -1
  584. package/toast.js +51 -42
  585. package/toggle/toggle/toggle.d.ts +4 -8
  586. package/toggle/toggle/toggle.d.ts.map +1 -1
  587. package/toggle/toggle.js +48 -48
  588. package/toggle-check/toggle-check.d.ts +4 -6
  589. package/toggle-check/toggle-check.d.ts.map +1 -1
  590. package/toggle-check.js +23 -21
  591. package/train/train/train.d.ts.map +1 -1
  592. package/train/train-blocked-passage.js +1 -1
  593. package/train/train-formation/train-formation.d.ts +3 -11
  594. package/train/train-formation/train-formation.d.ts.map +1 -1
  595. package/train/train-formation.js +47 -65
  596. package/train/train-wagon/train-wagon.d.ts +11 -8
  597. package/train/train-wagon/train-wagon.d.ts.map +1 -1
  598. package/train/train-wagon.js +123 -134
  599. package/train/train.js +74 -78
  600. package/visual-checkbox/visual-checkbox.d.ts +4 -1
  601. package/visual-checkbox/visual-checkbox.d.ts.map +1 -1
  602. package/visual-checkbox.js +21 -17
  603. package/button/mini-button/mini-button-base-element.d.ts +0 -8
  604. package/button/mini-button/mini-button-base-element.d.ts.map +0 -1
  605. package/button/tertiary-button/tertiary-button.d.ts +0 -19
  606. package/button/tertiary-button/tertiary-button.d.ts.map +0 -1
  607. package/button/tertiary-button-link/tertiary-button-link.d.ts +0 -19
  608. package/button/tertiary-button-link/tertiary-button-link.d.ts.map +0 -1
  609. package/button/tertiary-button-link.d.ts +0 -2
  610. package/button/tertiary-button-link.d.ts.map +0 -1
  611. package/button/tertiary-button-link.js +0 -17
  612. package/button/tertiary-button-static/tertiary-button-static.d.ts +0 -19
  613. package/button/tertiary-button-static/tertiary-button-static.d.ts.map +0 -1
  614. package/button/tertiary-button-static.d.ts +0 -2
  615. package/button/tertiary-button-static.d.ts.map +0 -1
  616. package/button/tertiary-button-static.js +0 -17
  617. package/button/tertiary-button.d.ts +0 -2
  618. package/button/tertiary-button.d.ts.map +0 -1
  619. package/button/tertiary-button.js +0 -17
  620. package/chip/chip.d.ts.map +0 -1
  621. package/chip.d.ts +0 -2
  622. package/chip.d.ts.map +0 -1
  623. package/chip.js +0 -54
  624. package/core/dom/get-document-writing-mode.d.ts +0 -5
  625. package/core/dom/get-document-writing-mode.d.ts.map +0 -1
  626. package/core/dom/ssr.d.ts +0 -13
  627. package/core/dom/ssr.d.ts.map +0 -1
  628. package/core/eventing/handler-repository.d.ts +0 -28
  629. package/core/eventing/handler-repository.d.ts.map +0 -1
  630. package/core/observers/intersection-observer.d.ts +0 -20
  631. package/core/observers/intersection-observer.d.ts.map +0 -1
  632. package/core/observers/mutation-observer.d.ts +0 -13
  633. package/core/observers/mutation-observer.d.ts.map +0 -1
  634. package/core/observers/resize-observer.d.ts +0 -16
  635. package/core/observers/resize-observer.d.ts.map +0 -1
  636. package/core/observers.d.ts +0 -4
  637. package/core/observers.d.ts.map +0 -1
  638. package/core/observers.js +0 -38
  639. package/core/testing/wait-for-event.d.ts +0 -2
  640. package/core/testing/wait-for-event.d.ts.map +0 -1
  641. package/development/button/mini-button/mini-button-base-element.d.ts +0 -8
  642. package/development/button/mini-button/mini-button-base-element.d.ts.map +0 -1
  643. package/development/button/tertiary-button/tertiary-button.d.ts +0 -19
  644. package/development/button/tertiary-button/tertiary-button.d.ts.map +0 -1
  645. package/development/button/tertiary-button-link/tertiary-button-link.d.ts +0 -19
  646. package/development/button/tertiary-button-link/tertiary-button-link.d.ts.map +0 -1
  647. package/development/button/tertiary-button-link.d.ts +0 -2
  648. package/development/button/tertiary-button-link.d.ts.map +0 -1
  649. package/development/button/tertiary-button-link.js +0 -25
  650. package/development/button/tertiary-button-static/tertiary-button-static.d.ts +0 -19
  651. package/development/button/tertiary-button-static/tertiary-button-static.d.ts.map +0 -1
  652. package/development/button/tertiary-button-static.d.ts +0 -2
  653. package/development/button/tertiary-button-static.d.ts.map +0 -1
  654. package/development/button/tertiary-button-static.js +0 -25
  655. package/development/button/tertiary-button.d.ts +0 -2
  656. package/development/button/tertiary-button.d.ts.map +0 -1
  657. package/development/button/tertiary-button.js +0 -25
  658. package/development/chip/chip.d.ts.map +0 -1
  659. package/development/chip.d.ts +0 -2
  660. package/development/chip.d.ts.map +0 -1
  661. package/development/core/dom/get-document-writing-mode.d.ts +0 -5
  662. package/development/core/dom/get-document-writing-mode.d.ts.map +0 -1
  663. package/development/core/dom/ssr.d.ts +0 -13
  664. package/development/core/dom/ssr.d.ts.map +0 -1
  665. package/development/core/eventing/handler-repository.d.ts +0 -28
  666. package/development/core/eventing/handler-repository.d.ts.map +0 -1
  667. package/development/core/observers/intersection-observer.d.ts +0 -20
  668. package/development/core/observers/intersection-observer.d.ts.map +0 -1
  669. package/development/core/observers/mutation-observer.d.ts +0 -13
  670. package/development/core/observers/mutation-observer.d.ts.map +0 -1
  671. package/development/core/observers/resize-observer.d.ts +0 -16
  672. package/development/core/observers/resize-observer.d.ts.map +0 -1
  673. package/development/core/observers.d.ts +0 -4
  674. package/development/core/observers.d.ts.map +0 -1
  675. package/development/core/observers.js +0 -39
  676. package/development/core/testing/wait-for-event.d.ts +0 -2
  677. package/development/core/testing/wait-for-event.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"time-input.d.ts","sourceRoot":"","sources":["../../../../src/elements/time-input/time-input.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1D,OAAO,EAAQ,UAAU,EAAE,MAAM,KAAK,CAAC;AAQvC,OAAO,KAAK,EAAE,WAAW,EAA4B,MAAM,uBAAuB,CAAC;AAanF;;;;;GAKG;AACH,qBAEM,mBAAoB,SAAQ,UAAU;IAC1C,OAAuB,MAAM,EAAE,cAAc,CAAS;IACtD,gBAAuB,MAAM;;;MAGlB;IAEX,iEAAiE;IACjE,IACW,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,EAG3C;IACD,IAAW,KAAK,IAAI,MAAM,GAAG,WAAW,GAAG,IAAI,CAE9C;IACD,OAAO,CAAC,MAAM,CAAqC;IAE1C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAiC;IAExE;;OAEG;IACH,OAAO,CAAC,UAAU,CAGf;IAEH,4DAA4D;IAC5D,OAAO,CAAC,iBAAiB,CAOvB;IAEF,OAAO,CAAC,gBAAgB,CAAwB;IAChD,OAAO,CAAC,gBAAgB,CAAyB;IACjD,OAAO,CAAC,SAAS,CAAmC;IAEpC,iBAAiB,IAAI,IAAI;IASzB,oBAAoB,IAAI,IAAI;IAK5C,yDAAyD;IAElD,cAAc,IAAI,IAAI,GAAG,IAAI;IAIpC,4DAA4D;IACrD,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IAgB9C,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,qBAAqB;IAqC7B,wEAAwE;IACxE,OAAO,CAAC,yBAAyB;IAMjC;;;OAGG;IACH,OAAO,CAAC,YAAY;IAuBpB,8BAA8B;IAC9B,OAAO,CAAC,WAAW;IAKnB,yDAAyD;IACzD,OAAO,CAAC,YAAY;IAMpB;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAQ1B,uFAAuF;IACvF,OAAO,CAAC,YAAY;IAIpB,kDAAkD;IAClD,OAAO,CAAC,WAAW;IAoBnB,qDAAqD;IACrD,OAAO,CAAC,kBAAkB;IA6B1B,OAAO,CAAC,2BAA2B;cAWhB,MAAM,IAAI,cAAc;CAQ5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,gBAAgB,EAAE,mBAAmB,CAAC;KACvC;CACF"}
1
+ {"version":3,"file":"time-input.d.ts","sourceRoot":"","sources":["../../../../src/elements/time-input/time-input.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1D,OAAO,EAAQ,UAAU,EAAE,MAAM,KAAK,CAAC;AAQvC,OAAO,KAAK,EAAE,WAAW,EAA4B,MAAM,uBAAuB,CAAC;AAanF;;;;;GAKG;AACH,qBAEM,mBAAoB,SAAQ,UAAU;IAC1C,OAAuB,MAAM,EAAE,cAAc,CAAS;IACtD,gBAAuB,MAAM;;;MAGlB;IAEX,iEAAiE;IACjE,IACW,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,EAG3C;IACD,IAAW,KAAK,IAAI,MAAM,GAAG,WAAW,GAAG,IAAI,CAE9C;IACD,OAAO,CAAC,MAAM,CAAqC;IAE1C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAiC;IAExE,iDAAiD;IACjD,IACW,WAAW,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,EAc9C;IACD,IAAW,WAAW,IAAI,IAAI,GAAG,IAAI,CAEpC;IAED;;OAEG;IACH,OAAO,CAAC,UAAU,CAGf;IAEH,4DAA4D;IAC5D,OAAO,CAAC,iBAAiB,CAOvB;IAEF,OAAO,CAAC,gBAAgB,CAAwB;IAChD,OAAO,CAAC,gBAAgB,CAAyB;IACjD,OAAO,CAAC,SAAS,CAAmC;IAEpC,iBAAiB,IAAI,IAAI;IASzB,oBAAoB,IAAI,IAAI;IAK5C,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,qBAAqB;IAgD7B;;;OAGG;IACH,OAAO,CAAC,YAAY;IA4BpB,8BAA8B;IAC9B,OAAO,CAAC,WAAW;IAKnB,yDAAyD;IACzD,OAAO,CAAC,YAAY;IAMpB;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAQ1B,uFAAuF;IACvF,OAAO,CAAC,YAAY;IAIpB,kDAAkD;IAClD,OAAO,CAAC,WAAW;IAoBnB,qDAAqD;IACrD,OAAO,CAAC,kBAAkB;IA6B1B,OAAO,CAAC,2BAA2B;cAWhB,MAAM,IAAI,cAAc;CAQ5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,gBAAgB,EAAE,mBAAmB,CAAC;KACvC;CACF"}
@@ -40,6 +40,7 @@ let SbbTimeInputElement = (() => {
40
40
  let __inputElement_decorators;
41
41
  let __inputElement_initializers = [];
42
42
  let __inputElement_extraInitializers = [];
43
+ let _set_valueAsDate_decorators;
43
44
  var SbbTimeInputElement2 = (_a = class extends _classSuper {
44
45
  constructor() {
45
46
  super(...arguments);
@@ -71,6 +72,22 @@ let SbbTimeInputElement = (() => {
71
72
  set _inputElement(value) {
72
73
  __privateSet(this, __inputElement_accessor_storage, value);
73
74
  }
75
+ /** Formats the current input's value as date. */
76
+ set valueAsDate(date) {
77
+ if (!date || !this._inputElement) {
78
+ return;
79
+ }
80
+ const dateObj = date instanceof Date ? date : new Date(date);
81
+ this._inputElement.value = this._formatValue({
82
+ hours: dateObj.getHours(),
83
+ minutes: dateObj.getMinutes()
84
+ });
85
+ this._inputElement.dispatchEvent(new FocusEvent("blur", { composed: true }));
86
+ }
87
+ get valueAsDate() {
88
+ var _a2;
89
+ return this._formatValueAsDate(this._parseInput((_a2 = this._inputElement) == null ? void 0 : _a2.value)) ?? null;
90
+ }
74
91
  connectedCallback() {
75
92
  super.connectedCallback();
76
93
  this._findInputElement();
@@ -83,24 +100,6 @@ let SbbTimeInputElement = (() => {
83
100
  super.disconnectedCallback();
84
101
  (_a2 = this._abortController) == null ? void 0 : _a2.abort();
85
102
  }
86
- /** Gets the input value with the correct date format. */
87
- // TODO: refactor this to be a get/set
88
- getValueAsDate() {
89
- var _a2;
90
- return this._formatValueAsDate(this._parseInput((_a2 = this._inputElement) == null ? void 0 : _a2.value));
91
- }
92
- /** Set the input value to the correctly formatted value. */
93
- setValueAsDate(date) {
94
- if (!date || !this._inputElement) {
95
- return;
96
- }
97
- const dateObj = date instanceof Date ? date : new Date(date);
98
- this._inputElement.value = this._formatValue({
99
- hours: dateObj.getHours(),
100
- minutes: dateObj.getMinutes()
101
- });
102
- this._inputElement.dispatchEvent(new FocusEvent("blur", { composed: true }));
103
- }
104
103
  _findInputElement() {
105
104
  const oldInput = this._inputElement;
106
105
  this._inputElement = findInput(this, this.input);
@@ -124,16 +123,17 @@ let SbbTimeInputElement = (() => {
124
123
  }
125
124
  this._inputElement.addEventListener("input", (event) => forwardEventToHost(event, this), { signal: this._abortController.signal });
126
125
  this._inputElement.addEventListener("keydown", (event) => this._preventCharInsert(event), { signal: this._abortController.signal });
127
- this._inputElement.addEventListener("change", (event) => this._updateValueAndEmitChange(event), {
126
+ this._inputElement.addEventListener("change", (event) => this._updateValue(event.target.value), {
127
+ signal: this._abortController.signal,
128
+ capture: true
129
+ });
130
+ this._inputElement.addEventListener("change", (event) => {
131
+ this._emitChange(event);
132
+ this._updateAccessibilityMessage();
133
+ }, {
128
134
  signal: this._abortController.signal
129
135
  });
130
136
  }
131
- /** Applies the correct format to values and triggers event dispatch. */
132
- _updateValueAndEmitChange(event) {
133
- this._updateValue(event.target.value);
134
- this._emitChange(event);
135
- this._updateAccessibilityMessage();
136
- }
137
137
  /**
138
138
  * Updates `value` and `valueAsDate`. The direct update on the `_inputElement` is required
139
139
  * to force the input change when the typed value is the same of the current one.
@@ -149,7 +149,9 @@ let SbbTimeInputElement = (() => {
149
149
  const isTimeValid = !!time && this._isTimeValid(time);
150
150
  const isEmptyOrValid = !value || value.trim() === "" || isTimeValid;
151
151
  if (isEmptyOrValid && time) {
152
- this._inputElement.value = this._formatValue(time);
152
+ const setValue = Object.getOwnPropertyDescriptor(HTMLInputElement.prototype, "value").set;
153
+ setValue.call(this._inputElement, this._formatValue(time));
154
+ this._inputElement.dispatchEvent(new InputEvent("input", { bubbles: true, composed: true }));
153
155
  }
154
156
  const wasValid = !this._inputElement.hasAttribute("data-sbb-invalid");
155
157
  this._inputElement.toggleAttribute("data-sbb-invalid", !isEmptyOrValid);
@@ -240,12 +242,16 @@ let SbbTimeInputElement = (() => {
240
242
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
241
243
  _set_input_decorators = [property()];
242
244
  __inputElement_decorators = [state()];
245
+ _set_valueAsDate_decorators = [property({ attribute: false })];
243
246
  __esDecorate(_a, null, _set_input_decorators, { kind: "setter", name: "input", static: false, private: false, access: { has: (obj) => "input" in obj, set: (obj, value) => {
244
247
  obj.input = value;
245
248
  } }, metadata: _metadata }, null, _instanceExtraInitializers);
246
249
  __esDecorate(_a, null, __inputElement_decorators, { kind: "accessor", name: "_inputElement", static: false, private: false, access: { has: (obj) => "_inputElement" in obj, get: (obj) => obj._inputElement, set: (obj, value) => {
247
250
  obj._inputElement = value;
248
251
  } }, metadata: _metadata }, __inputElement_initializers, __inputElement_extraInitializers);
252
+ __esDecorate(_a, null, _set_valueAsDate_decorators, { kind: "setter", name: "valueAsDate", static: false, private: false, access: { has: (obj) => "valueAsDate" in obj, set: (obj, value) => {
253
+ obj.valueAsDate = value;
254
+ } }, metadata: _metadata }, null, _instanceExtraInitializers);
249
255
  __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
250
256
  SbbTimeInputElement2 = _classThis = _classDescriptor.value;
251
257
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
@@ -258,4 +264,4 @@ let SbbTimeInputElement = (() => {
258
264
  export {
259
265
  SbbTimeInputElement
260
266
  };
261
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1pbnB1dC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3RpbWUtaW5wdXQvdGltZS1pbnB1dC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENTU1Jlc3VsdEdyb3VwLCBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBodG1sLCBMaXRFbGVtZW50IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQsIHByb3BlcnR5LCBzdGF0ZSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IHJlZiB9IGZyb20gJ2xpdC9kaXJlY3RpdmVzL3JlZi5qcyc7XG5cbmltcG9ydCB7IFNiYkxhbmd1YWdlQ29udHJvbGxlciB9IGZyb20gJy4uL2NvcmUvY29udHJvbGxlcnMuanMnO1xuaW1wb3J0IHsgZmluZElucHV0IH0gZnJvbSAnLi4vY29yZS9kb20uanMnO1xuaW1wb3J0IHsgRXZlbnRFbWl0dGVyLCBmb3J3YXJkRXZlbnRUb0hvc3QgfSBmcm9tICcuLi9jb3JlL2V2ZW50aW5nLmpzJztcbmltcG9ydCB7IGkxOG5UaW1lSW5wdXRDaGFuZ2UgfSBmcm9tICcuLi9jb3JlL2kxOG4uanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJEYXRlTGlrZSwgU2JiVmFsaWRhdGlvbkNoYW5nZUV2ZW50IH0gZnJvbSAnLi4vY29yZS9pbnRlcmZhY2VzLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vdGltZS1pbnB1dC5zY3NzP2xpdCZpbmxpbmUnO1xuXG5jb25zdCBSRUdFWF9BTExPV0VEX0NIQVJBQ1RFUlMgPSAvWzAtOS46LFxcLTtfaEhdLztcbmNvbnN0IFJFR0VYX0dST1VQU19XSVRIT1VUX0NPTE9OID0gL14oWzAtOV17MSwyfSkoWzAtOV17Mn0pJC87XG5jb25zdCBSRUdFWF9HUk9VUFNfV0lUSF9DT0xPTiA9IC9eKFswLTldezEsMn0pP1suOixcXC07X2hIXT8oWzAtOV17MSwyfSk/JC87XG5cbmludGVyZmFjZSBUaW1lIHtcbiAgaG91cnM6IG51bWJlcjtcbiAgbWludXRlczogbnVtYmVyO1xufVxuXG4vKipcbiAqICogQ29tYmluZWQgd2l0aCBhIG5hdGl2ZSBpbnB1dCwgaXQgZGlzcGxheXMgdGhlIGlucHV0J3MgdmFsdWUgYXMgYSBmb3JtYXR0ZWQgdGltZS5cbiAqXG4gKiBAZXZlbnQge0N1c3RvbUV2ZW50PHZvaWQ+fSBkaWRDaGFuZ2UgLSBEZXByZWNhdGVkLiB1c2VkIGZvciBSZWFjdC4gV2lsbCBwcm9iYWJseSBiZSByZW1vdmVkIG9uY2UgUmVhY3QgMTkgaXMgYXZhaWxhYmxlLlxuICogQGV2ZW50IHtDdXN0b21FdmVudDxTYmJWYWxpZGF0aW9uQ2hhbmdlRXZlbnQ+fSB2YWxpZGF0aW9uQ2hhbmdlIC0gRW1pdHMgd2hlbmV2ZXIgdGhlIGludGVybmFsIHZhbGlkYXRpb24gc3RhdGUgY2hhbmdlcy5cbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLXRpbWUtaW5wdXQnKVxuY2xhc3MgU2JiVGltZUlucHV0RWxlbWVudCBleHRlbmRzIExpdEVsZW1lbnQge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBldmVudHMgPSB7XG4gICAgZGlkQ2hhbmdlOiAnZGlkQ2hhbmdlJyxcbiAgICB2YWxpZGF0aW9uQ2hhbmdlOiAndmFsaWRhdGlvbkNoYW5nZScsXG4gIH0gYXMgY29uc3Q7XG5cbiAgLyoqIFJlZmVyZW5jZSBvZiB0aGUgbmF0aXZlIGlucHV0IGNvbm5lY3RlZCB0byB0aGUgZGF0ZXBpY2tlci4gKi9cbiAgQHByb3BlcnR5KClcbiAgcHVibGljIHNldCBpbnB1dCh2YWx1ZTogc3RyaW5nIHwgSFRNTEVsZW1lbnQpIHtcbiAgICB0aGlzLl9pbnB1dCA9IHZhbHVlO1xuICAgIHRoaXMuX2ZpbmRJbnB1dEVsZW1lbnQoKTtcbiAgfVxuICBwdWJsaWMgZ2V0IGlucHV0KCk6IHN0cmluZyB8IEhUTUxFbGVtZW50IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX2lucHV0O1xuICB9XG4gIHByaXZhdGUgX2lucHV0OiBzdHJpbmcgfCBIVE1MRWxlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gIEBzdGF0ZSgpIHByaXZhdGUgYWNjZXNzb3IgX2lucHV0RWxlbWVudDogSFRNTElucHV0RWxlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBvbmx5IHVzZWQgZm9yIFJlYWN0LiBXaWxsIHByb2JhYmx5IGJlIHJlbW92ZWQgb25jZSBSZWFjdCAxOSBpcyBhdmFpbGFibGUuXG4gICAqL1xuICBwcml2YXRlIF9kaWRDaGFuZ2U6IEV2ZW50RW1pdHRlciA9IG5ldyBFdmVudEVtaXR0ZXIodGhpcywgU2JiVGltZUlucHV0RWxlbWVudC5ldmVudHMuZGlkQ2hhbmdlLCB7XG4gICAgYnViYmxlczogdHJ1ZSxcbiAgICBjYW5jZWxhYmxlOiB0cnVlLFxuICB9KTtcblxuICAvKiogRW1pdHMgd2hlbmV2ZXIgdGhlIGludGVybmFsIHZhbGlkYXRpb24gc3RhdGUgY2hhbmdlcy4gKi9cbiAgcHJpdmF0ZSBfdmFsaWRhdGlvbkNoYW5nZTogRXZlbnRFbWl0dGVyPFNiYlZhbGlkYXRpb25DaGFuZ2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKFxuICAgIHRoaXMsXG4gICAgU2JiVGltZUlucHV0RWxlbWVudC5ldmVudHMudmFsaWRhdGlvbkNoYW5nZSxcbiAgICB7XG4gICAgICBidWJibGVzOiB0cnVlLFxuICAgICAgY29tcG9zZWQ6IGZhbHNlLFxuICAgIH0sXG4gICk7XG5cbiAgcHJpdmF0ZSBfc3RhdHVzQ29udGFpbmVyITogSFRNTFBhcmFncmFwaEVsZW1lbnQ7XG4gIHByaXZhdGUgX2Fib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcbiAgcHJpdmF0ZSBfbGFuZ3VhZ2UgPSBuZXcgU2JiTGFuZ3VhZ2VDb250cm9sbGVyKHRoaXMpO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuXG4gICAgdGhpcy5fZmluZElucHV0RWxlbWVudCgpO1xuICAgIGlmICh0aGlzLl9pbnB1dEVsZW1lbnQpIHtcbiAgICAgIHRoaXMuX3VwZGF0ZVZhbHVlKHRoaXMuX2lucHV0RWxlbWVudC52YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5fYWJvcnRDb250cm9sbGVyPy5hYm9ydCgpO1xuICB9XG5cbiAgLyoqIEdldHMgdGhlIGlucHV0IHZhbHVlIHdpdGggdGhlIGNvcnJlY3QgZGF0ZSBmb3JtYXQuICovXG4gIC8vIFRPRE86IHJlZmFjdG9yIHRoaXMgdG8gYmUgYSBnZXQvc2V0XG4gIHB1YmxpYyBnZXRWYWx1ZUFzRGF0ZSgpOiBEYXRlIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX2Zvcm1hdFZhbHVlQXNEYXRlKHRoaXMuX3BhcnNlSW5wdXQodGhpcy5faW5wdXRFbGVtZW50Py52YWx1ZSkpO1xuICB9XG5cbiAgLyoqIFNldCB0aGUgaW5wdXQgdmFsdWUgdG8gdGhlIGNvcnJlY3RseSBmb3JtYXR0ZWQgdmFsdWUuICovXG4gIHB1YmxpYyBzZXRWYWx1ZUFzRGF0ZShkYXRlOiBTYmJEYXRlTGlrZSk6IHZvaWQge1xuICAgIGlmICghZGF0ZSB8fCAhdGhpcy5faW5wdXRFbGVtZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGRhdGVPYmogPSBkYXRlIGluc3RhbmNlb2YgRGF0ZSA/IGRhdGUgOiBuZXcgRGF0ZShkYXRlKTtcblxuICAgIHRoaXMuX2lucHV0RWxlbWVudC52YWx1ZSA9IHRoaXMuX2Zvcm1hdFZhbHVlKHtcbiAgICAgIGhvdXJzOiBkYXRlT2JqLmdldEhvdXJzKCksXG4gICAgICBtaW51dGVzOiBkYXRlT2JqLmdldE1pbnV0ZXMoKSxcbiAgICB9KTtcblxuICAgIC8vIEVtaXQgYmx1ciBldmVudCB3aGVuIHZhbHVlIGlzIGNoYW5nZWQgcHJvZ3JhbW1hdGljYWxseSB0byBub3RpZnlcbiAgICAvLyBmcmFtZXdvcmtzIHRoYXQgcmVseSBvbiB0aGF0IGV2ZW50IHRvIHVwZGF0ZSBmb3JtIHN0YXR1cy5cbiAgICB0aGlzLl9pbnB1dEVsZW1lbnQuZGlzcGF0Y2hFdmVudChuZXcgRm9jdXNFdmVudCgnYmx1cicsIHsgY29tcG9zZWQ6IHRydWUgfSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZmluZElucHV0RWxlbWVudCgpOiB2b2lkIHtcbiAgICBjb25zdCBvbGRJbnB1dCA9IHRoaXMuX2lucHV0RWxlbWVudDtcbiAgICB0aGlzLl9pbnB1dEVsZW1lbnQgPSBmaW5kSW5wdXQodGhpcywgdGhpcy5pbnB1dCk7XG5cbiAgICBpZiAob2xkSW5wdXQgIT09IHRoaXMuX2lucHV0RWxlbWVudCkge1xuICAgICAgdGhpcy5fcmVnaXN0ZXJJbnB1dEVsZW1lbnQoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9yZWdpc3RlcklucHV0RWxlbWVudCgpOiB2b2lkIHtcbiAgICB0aGlzLl9hYm9ydENvbnRyb2xsZXI/LmFib3J0KCk7XG5cbiAgICBpZiAoIXRoaXMuX2lucHV0RWxlbWVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX2Fib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcblxuICAgIC8vIENvbmZpZ3VyZSBpbnB1dFxuICAgIHRoaXMuX2lucHV0RWxlbWVudC50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtc2JiLXRpbWUtaW5wdXQnLCB0cnVlKTtcbiAgICB0aGlzLl9pbnB1dEVsZW1lbnQudHlwZSA9ICd0ZXh0JztcbiAgICB0aGlzLl9pbnB1dEVsZW1lbnQuaW5wdXRNb2RlID0gJ251bWVyaWMnO1xuICAgIHRoaXMuX2lucHV0RWxlbWVudC5tYXhMZW5ndGggPSA1O1xuICAgIGlmICghdGhpcy5faW5wdXRFbGVtZW50LnBsYWNlaG9sZGVyKSB7XG4gICAgICB0aGlzLl9pbnB1dEVsZW1lbnQucGxhY2Vob2xkZXIgPSAnSEg6TU0nO1xuICAgIH1cblxuICAgIHRoaXMuX2lucHV0RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgJ2lucHV0JyxcbiAgICAgIChldmVudDogRXZlbnQpID0+IGZvcndhcmRFdmVudFRvSG9zdChldmVudCwgdGhpcyksXG4gICAgICB7IHNpZ25hbDogdGhpcy5fYWJvcnRDb250cm9sbGVyLnNpZ25hbCB9LFxuICAgICk7XG4gICAgdGhpcy5faW5wdXRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAna2V5ZG93bicsXG4gICAgICAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IHRoaXMuX3ByZXZlbnRDaGFySW5zZXJ0KGV2ZW50KSxcbiAgICAgIHsgc2lnbmFsOiB0aGlzLl9hYm9ydENvbnRyb2xsZXIuc2lnbmFsIH0sXG4gICAgKTtcbiAgICB0aGlzLl9pbnB1dEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICdjaGFuZ2UnLFxuICAgICAgKGV2ZW50OiBFdmVudCkgPT4gdGhpcy5fdXBkYXRlVmFsdWVBbmRFbWl0Q2hhbmdlKGV2ZW50KSxcbiAgICAgIHtcbiAgICAgICAgc2lnbmFsOiB0aGlzLl9hYm9ydENvbnRyb2xsZXIuc2lnbmFsLFxuICAgICAgfSxcbiAgICApO1xuICB9XG5cbiAgLyoqIEFwcGxpZXMgdGhlIGNvcnJlY3QgZm9ybWF0IHRvIHZhbHVlcyBhbmQgdHJpZ2dlcnMgZXZlbnQgZGlzcGF0Y2guICovXG4gIHByaXZhdGUgX3VwZGF0ZVZhbHVlQW5kRW1pdENoYW5nZShldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLl91cGRhdGVWYWx1ZSgoZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnZhbHVlKTtcbiAgICB0aGlzLl9lbWl0Q2hhbmdlKGV2ZW50KTtcbiAgICB0aGlzLl91cGRhdGVBY2Nlc3NpYmlsaXR5TWVzc2FnZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZXMgYHZhbHVlYCBhbmQgYHZhbHVlQXNEYXRlYC4gVGhlIGRpcmVjdCB1cGRhdGUgb24gdGhlIGBfaW5wdXRFbGVtZW50YCBpcyByZXF1aXJlZFxuICAgKiB0byBmb3JjZSB0aGUgaW5wdXQgY2hhbmdlIHdoZW4gdGhlIHR5cGVkIHZhbHVlIGlzIHRoZSBzYW1lIG9mIHRoZSBjdXJyZW50IG9uZS5cbiAgICovXG4gIHByaXZhdGUgX3VwZGF0ZVZhbHVlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAvLyBSZXNldCBhY2Nlc3NpYmlsaXR5IG1lc3NhZ2VcbiAgICBpZiAodGhpcy5fc3RhdHVzQ29udGFpbmVyKSB7XG4gICAgICB0aGlzLl9zdGF0dXNDb250YWluZXIuaW5uZXJUZXh0ID0gJyc7XG4gICAgfVxuICAgIGlmICghdGhpcy5faW5wdXRFbGVtZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgdGltZSA9IHRoaXMuX3BhcnNlSW5wdXQodmFsdWUpO1xuICAgIGNvbnN0IGlzVGltZVZhbGlkID0gISF0aW1lICYmIHRoaXMuX2lzVGltZVZhbGlkKHRpbWUpO1xuICAgIGNvbnN0IGlzRW1wdHlPclZhbGlkID0gIXZhbHVlIHx8IHZhbHVlLnRyaW0oKSA9PT0gJycgfHwgaXNUaW1lVmFsaWQ7XG4gICAgaWYgKGlzRW1wdHlPclZhbGlkICYmIHRpbWUpIHtcbiAgICAgIHRoaXMuX2lucHV0RWxlbWVudC52YWx1ZSA9IHRoaXMuX2Zvcm1hdFZhbHVlKHRpbWUpO1xuICAgIH1cblxuICAgIGNvbnN0IHdhc1ZhbGlkID0gIXRoaXMuX2lucHV0RWxlbWVudC5oYXNBdHRyaWJ1dGUoJ2RhdGEtc2JiLWludmFsaWQnKTtcbiAgICB0aGlzLl9pbnB1dEVsZW1lbnQudG9nZ2xlQXR0cmlidXRlKCdkYXRhLXNiYi1pbnZhbGlkJywgIWlzRW1wdHlPclZhbGlkKTtcbiAgICBpZiAod2FzVmFsaWQgIT09IGlzRW1wdHlPclZhbGlkKSB7XG4gICAgICB0aGlzLl92YWxpZGF0aW9uQ2hhbmdlLmVtaXQoeyB2YWxpZDogaXNFbXB0eU9yVmFsaWQgfSk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEVtaXRzIHRoZSBjaGFuZ2UgZXZlbnQuICovXG4gIHByaXZhdGUgX2VtaXRDaGFuZ2UoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgZm9yd2FyZEV2ZW50VG9Ib3N0KGV2ZW50LCB0aGlzKTtcbiAgICB0aGlzLl9kaWRDaGFuZ2UuZW1pdCgpO1xuICB9XG5cbiAgLyoqIFJldHVybnMgdGhlIHJpZ2h0IGZvcm1hdCBmb3IgdGhlIGB2YWx1ZWAgcHJvcGVydHkuICovXG4gIHByaXZhdGUgX2Zvcm1hdFZhbHVlKHRpbWU6IFRpbWUpOiBzdHJpbmcge1xuICAgIGNvbnN0IGhvdXJzID0gU3RyaW5nKHRpbWUuaG91cnMpLnBhZFN0YXJ0KDIsICcwJyk7XG4gICAgY29uc3QgbWludXRlcyA9IFN0cmluZyh0aW1lLm1pbnV0ZXMpLnBhZFN0YXJ0KDIsICcwJyk7XG4gICAgcmV0dXJuIGAke2hvdXJzfToke21pbnV0ZXN9YDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSByaWdodCBmb3JtYXQgZm9yIHRoZSBgdmFsdWVBc0RhdGVgIHByb3BlcnR5OlxuICAgKiBzZXRzIHRoZSBzdGFydCBkYXRlIGF0IDAxLjAxLjE5NzAsIHRoZW4gYWRkcyB0aGUgdHlwZWQgaG91cnMvbWludXRlcy5cbiAgICovXG4gIHByaXZhdGUgX2Zvcm1hdFZhbHVlQXNEYXRlKHRpbWU6IFRpbWUgfCBudWxsIHwgdW5kZWZpbmVkKTogRGF0ZSB8IG51bGwge1xuICAgIGlmICghdGltZSB8fCAhdGhpcy5faXNUaW1lVmFsaWQodGltZSkpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiBuZXcgRGF0ZShuZXcgRGF0ZSgwKS5zZXRIb3Vycyh0aW1lLmhvdXJzLCB0aW1lLm1pbnV0ZXMsIDAsIDApKTtcbiAgfVxuXG4gIC8qKiBDaGVja3MgaWYgdmFsdWVzIG9mIGhvdXJzIGFuZCBtaW51dGVzIGFyZSBwb3NzaWJsZSwgdG8gYXZvaWQgbm9uLWV4aXN0ZW50IHRpbWVzLiAqL1xuICBwcml2YXRlIF9pc1RpbWVWYWxpZCh0aW1lOiBUaW1lKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRpbWUuaG91cnMgPCAyNCAmJiB0aW1lLm1pbnV0ZXMgPCA2MDtcbiAgfVxuXG4gIC8qKiBWYWxpZGF0ZSBpbnB1dCBhZ2FpbnN0IHRoZSBkZWZpbmVkIFJlZ0V4cHMuICovXG4gIHByaXZhdGUgX3BhcnNlSW5wdXQodmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCk6IFRpbWUgfCBudWxsIHtcbiAgICBjb25zdCB0cmltbWVkVmFsdWUgPSB2YWx1ZT8udHJpbSgpO1xuICAgIGlmICghdHJpbW1lZFZhbHVlKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICAvLyBTcGVjaWFsIGNhc2U6IHRoZSBpbnB1dCBpcyAzIG9yIDQgZGlnaXRzOyBzcGxpdCBsaWtlOiBBQj86Q0RcbiAgICBjb25zdCBtYXRjaCA9IHRyaW1tZWRWYWx1ZS5tYXRjaChSRUdFWF9HUk9VUFNfV0lUSE9VVF9DT0xPTik7XG4gICAgaWYgKG1hdGNoKSB7XG4gICAgICByZXR1cm4geyBob3VyczogK21hdGNoWzFdIHx8IDAsIG1pbnV0ZXM6ICttYXRjaFsyXSB8fCAwIH07XG4gICAgfVxuXG4gICAgY29uc3QgbWF0Y2hDb2xvbiA9IHRyaW1tZWRWYWx1ZS5tYXRjaChSRUdFWF9HUk9VUFNfV0lUSF9DT0xPTik7XG4gICAgaWYgKG1hdGNoQ29sb24pIHtcbiAgICAgIHJldHVybiB7IGhvdXJzOiArbWF0Y2hDb2xvblsxXSB8fCAwLCBtaW51dGVzOiArbWF0Y2hDb2xvblsyXSB8fCAwIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICAvKiogIE9ubHkgYWxsb3cgdHlwaW5nIG51bWJlcnMgYW5kIHNlcGFyYXRvciBrZXlzLiAqL1xuICBwcml2YXRlIF9wcmV2ZW50Q2hhckluc2VydChldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGFsd2F5c0FsbG93ZWQgPSBbXG4gICAgICAnQmFja3NwYWNlJyxcbiAgICAgICdUYWInLFxuICAgICAgJ0VudGVyJyxcbiAgICAgICdBcnJvd1VwJyxcbiAgICAgICdBcnJvd0Rvd24nLFxuICAgICAgJ0Fycm93TGVmdCcsXG4gICAgICAnQXJyb3dSaWdodCcsXG4gICAgICAnSG9tZScsXG4gICAgICAnRW5kJyxcbiAgICAgICdQYWdlVXAnLFxuICAgICAgJ1BhZ2VEb3duJyxcbiAgICAgICdEZWxldGUnLFxuICAgIF07XG5cbiAgICBpZiAoXG4gICAgICAhZXZlbnQuY3RybEtleSAmJlxuICAgICAgIWV2ZW50LmFsdEtleSAmJlxuICAgICAgIWV2ZW50Lm1ldGFLZXkgJiZcbiAgICAgICFhbHdheXNBbGxvd2VkLmluY2x1ZGVzKGV2ZW50LmtleSkgJiZcbiAgICAgICFSRUdFWF9BTExPV0VEX0NIQVJBQ1RFUlMudGVzdChldmVudC5rZXkpXG4gICAgKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFdlIHVzZSBhIHByb2dyYW1tYXRpYyBhcHByb2FjaCB0byBhdm9pZCBpbml0aWFsIHNldHRpbmcgdGhlIG1lc3NhZ2VcbiAgLy8gYW5kIHRvIG5vdCBpbW1lZGlhdGVseSBjaGFuZ2Ugb3V0cHV0IGlmIGxhbmd1YWdlIHNob3VsZCBjaGFuZ2UgKG5vIHJlYXNvbiB0byByZWFkIG91dCBtZXNzYWdlKS5cbiAgcHJpdmF0ZSBfdXBkYXRlQWNjZXNzaWJpbGl0eU1lc3NhZ2UoKTogdm9pZCB7XG4gICAgY29uc3QgdmFsaWQgPSAhdGhpcy5faW5wdXRFbGVtZW50IS5oYXNBdHRyaWJ1dGUoJ2RhdGEtc2JiLWludmFsaWQnKTtcbiAgICBpZiAoIXZhbGlkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fc3RhdHVzQ29udGFpbmVyLmlubmVyVGV4dCA9IGAke2kxOG5UaW1lSW5wdXRDaGFuZ2VbdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF19ICR7XG4gICAgICB0aGlzLl9pbnB1dEVsZW1lbnQ/LnZhbHVlXG4gICAgfS5gO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8cFxuICAgICAgICByb2xlPVwic3RhdHVzXCJcbiAgICAgICAgJHtyZWYoKGVsPzogRWxlbWVudCkgPT4gKHRoaXMuX3N0YXR1c0NvbnRhaW5lciA9IGVsIGFzIEhUTUxQYXJhZ3JhcGhFbGVtZW50KSl9XG4gICAgICA+PC9wPlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi10aW1lLWlucHV0JzogU2JiVGltZUlucHV0RWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIlNiYlRpbWVJbnB1dEVsZW1lbnQiLCJfYSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBYUEsTUFBTSwyQkFBMkI7QUFDakMsTUFBTSw2QkFBNkI7QUFDbkMsTUFBTSwwQkFBMEI7SUFlMUIsdUJBQW1CLE1BQUE7OzBCQUR4QixjQUFjLGdCQUFnQixDQUFDOzs7O29CQUNFOzs7Ozs7QUFBUkEsTUFBQUEsd0JBQUEsbUJBQVEsWUFBVTtBQUFBOztBQWtCakM7QUFGRCxXQUFBLFVBaEJKLGtCQUFBLE1BQUEsMEJBQUEsR0FnQjBDO0FBRXBCLHlCQUFBLGlDQUFBLGtCQUFBLE1BQUEsNkJBQXlDLElBQUk7QUFLckQsV0FBQSxj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
267
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1pbnB1dC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3RpbWUtaW5wdXQvdGltZS1pbnB1dC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENTU1Jlc3VsdEdyb3VwLCBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBodG1sLCBMaXRFbGVtZW50IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQsIHByb3BlcnR5LCBzdGF0ZSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IHJlZiB9IGZyb20gJ2xpdC9kaXJlY3RpdmVzL3JlZi5qcyc7XG5cbmltcG9ydCB7IFNiYkxhbmd1YWdlQ29udHJvbGxlciB9IGZyb20gJy4uL2NvcmUvY29udHJvbGxlcnMuanMnO1xuaW1wb3J0IHsgZmluZElucHV0IH0gZnJvbSAnLi4vY29yZS9kb20uanMnO1xuaW1wb3J0IHsgRXZlbnRFbWl0dGVyLCBmb3J3YXJkRXZlbnRUb0hvc3QgfSBmcm9tICcuLi9jb3JlL2V2ZW50aW5nLmpzJztcbmltcG9ydCB7IGkxOG5UaW1lSW5wdXRDaGFuZ2UgfSBmcm9tICcuLi9jb3JlL2kxOG4uanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJEYXRlTGlrZSwgU2JiVmFsaWRhdGlvbkNoYW5nZUV2ZW50IH0gZnJvbSAnLi4vY29yZS9pbnRlcmZhY2VzLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vdGltZS1pbnB1dC5zY3NzP2xpdCZpbmxpbmUnO1xuXG5jb25zdCBSRUdFWF9BTExPV0VEX0NIQVJBQ1RFUlMgPSAvWzAtOS46LFxcLTtfaEhdLztcbmNvbnN0IFJFR0VYX0dST1VQU19XSVRIT1VUX0NPTE9OID0gL14oWzAtOV17MSwyfSkoWzAtOV17Mn0pJC87XG5jb25zdCBSRUdFWF9HUk9VUFNfV0lUSF9DT0xPTiA9IC9eKFswLTldezEsMn0pP1suOixcXC07X2hIXT8oWzAtOV17MSwyfSk/JC87XG5cbmludGVyZmFjZSBUaW1lIHtcbiAgaG91cnM6IG51bWJlcjtcbiAgbWludXRlczogbnVtYmVyO1xufVxuXG4vKipcbiAqICogQ29tYmluZWQgd2l0aCBhIG5hdGl2ZSBpbnB1dCwgaXQgZGlzcGxheXMgdGhlIGlucHV0J3MgdmFsdWUgYXMgYSBmb3JtYXR0ZWQgdGltZS5cbiAqXG4gKiBAZXZlbnQge0N1c3RvbUV2ZW50PHZvaWQ+fSBkaWRDaGFuZ2UgLSBEZXByZWNhdGVkLiB1c2VkIGZvciBSZWFjdC4gV2lsbCBwcm9iYWJseSBiZSByZW1vdmVkIG9uY2UgUmVhY3QgMTkgaXMgYXZhaWxhYmxlLlxuICogQGV2ZW50IHtDdXN0b21FdmVudDxTYmJWYWxpZGF0aW9uQ2hhbmdlRXZlbnQ+fSB2YWxpZGF0aW9uQ2hhbmdlIC0gRW1pdHMgd2hlbmV2ZXIgdGhlIGludGVybmFsIHZhbGlkYXRpb24gc3RhdGUgY2hhbmdlcy5cbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLXRpbWUtaW5wdXQnKVxuY2xhc3MgU2JiVGltZUlucHV0RWxlbWVudCBleHRlbmRzIExpdEVsZW1lbnQge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBldmVudHMgPSB7XG4gICAgZGlkQ2hhbmdlOiAnZGlkQ2hhbmdlJyxcbiAgICB2YWxpZGF0aW9uQ2hhbmdlOiAndmFsaWRhdGlvbkNoYW5nZScsXG4gIH0gYXMgY29uc3Q7XG5cbiAgLyoqIFJlZmVyZW5jZSBvZiB0aGUgbmF0aXZlIGlucHV0IGNvbm5lY3RlZCB0byB0aGUgZGF0ZXBpY2tlci4gKi9cbiAgQHByb3BlcnR5KClcbiAgcHVibGljIHNldCBpbnB1dCh2YWx1ZTogc3RyaW5nIHwgSFRNTEVsZW1lbnQpIHtcbiAgICB0aGlzLl9pbnB1dCA9IHZhbHVlO1xuICAgIHRoaXMuX2ZpbmRJbnB1dEVsZW1lbnQoKTtcbiAgfVxuICBwdWJsaWMgZ2V0IGlucHV0KCk6IHN0cmluZyB8IEhUTUxFbGVtZW50IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX2lucHV0O1xuICB9XG4gIHByaXZhdGUgX2lucHV0OiBzdHJpbmcgfCBIVE1MRWxlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gIEBzdGF0ZSgpIHByaXZhdGUgYWNjZXNzb3IgX2lucHV0RWxlbWVudDogSFRNTElucHV0RWxlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gIC8qKiBGb3JtYXRzIHRoZSBjdXJyZW50IGlucHV0J3MgdmFsdWUgYXMgZGF0ZS4gKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiBmYWxzZSB9KVxuICBwdWJsaWMgc2V0IHZhbHVlQXNEYXRlKGRhdGU6IFNiYkRhdGVMaWtlIHwgbnVsbCkge1xuICAgIGlmICghZGF0ZSB8fCAhdGhpcy5faW5wdXRFbGVtZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGRhdGVPYmogPSBkYXRlIGluc3RhbmNlb2YgRGF0ZSA/IGRhdGUgOiBuZXcgRGF0ZShkYXRlKTtcblxuICAgIHRoaXMuX2lucHV0RWxlbWVudC52YWx1ZSA9IHRoaXMuX2Zvcm1hdFZhbHVlKHtcbiAgICAgIGhvdXJzOiBkYXRlT2JqLmdldEhvdXJzKCksXG4gICAgICBtaW51dGVzOiBkYXRlT2JqLmdldE1pbnV0ZXMoKSxcbiAgICB9KTtcblxuICAgIC8vIEVtaXQgYmx1ciBldmVudCB3aGVuIHZhbHVlIGlzIGNoYW5nZWQgcHJvZ3JhbW1hdGljYWxseSB0byBub3RpZnlcbiAgICAvLyBmcmFtZXdvcmtzIHRoYXQgcmVseSBvbiB0aGF0IGV2ZW50IHRvIHVwZGF0ZSBmb3JtIHN0YXR1cy5cbiAgICB0aGlzLl9pbnB1dEVsZW1lbnQuZGlzcGF0Y2hFdmVudChuZXcgRm9jdXNFdmVudCgnYmx1cicsIHsgY29tcG9zZWQ6IHRydWUgfSkpO1xuICB9XG4gIHB1YmxpYyBnZXQgdmFsdWVBc0RhdGUoKTogRGF0ZSB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLl9mb3JtYXRWYWx1ZUFzRGF0ZSh0aGlzLl9wYXJzZUlucHV0KHRoaXMuX2lucHV0RWxlbWVudD8udmFsdWUpKSA/PyBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIG9ubHkgdXNlZCBmb3IgUmVhY3QuIFdpbGwgcHJvYmFibHkgYmUgcmVtb3ZlZCBvbmNlIFJlYWN0IDE5IGlzIGF2YWlsYWJsZS5cbiAgICovXG4gIHByaXZhdGUgX2RpZENoYW5nZTogRXZlbnRFbWl0dGVyID0gbmV3IEV2ZW50RW1pdHRlcih0aGlzLCBTYmJUaW1lSW5wdXRFbGVtZW50LmV2ZW50cy5kaWRDaGFuZ2UsIHtcbiAgICBidWJibGVzOiB0cnVlLFxuICAgIGNhbmNlbGFibGU6IHRydWUsXG4gIH0pO1xuXG4gIC8qKiBFbWl0cyB3aGVuZXZlciB0aGUgaW50ZXJuYWwgdmFsaWRhdGlvbiBzdGF0ZSBjaGFuZ2VzLiAqL1xuICBwcml2YXRlIF92YWxpZGF0aW9uQ2hhbmdlOiBFdmVudEVtaXR0ZXI8U2JiVmFsaWRhdGlvbkNoYW5nZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIoXG4gICAgdGhpcyxcbiAgICBTYmJUaW1lSW5wdXRFbGVtZW50LmV2ZW50cy52YWxpZGF0aW9uQ2hhbmdlLFxuICAgIHtcbiAgICAgIGJ1YmJsZXM6IHRydWUsXG4gICAgICBjb21wb3NlZDogZmFsc2UsXG4gICAgfSxcbiAgKTtcblxuICBwcml2YXRlIF9zdGF0dXNDb250YWluZXIhOiBIVE1MUGFyYWdyYXBoRWxlbWVudDtcbiAgcHJpdmF0ZSBfYWJvcnRDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICBwcml2YXRlIF9sYW5ndWFnZSA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG5cbiAgICB0aGlzLl9maW5kSW5wdXRFbGVtZW50KCk7XG4gICAgaWYgKHRoaXMuX2lucHV0RWxlbWVudCkge1xuICAgICAgdGhpcy5fdXBkYXRlVmFsdWUodGhpcy5faW5wdXRFbGVtZW50LnZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZGlzY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLl9hYm9ydENvbnRyb2xsZXI/LmFib3J0KCk7XG4gIH1cblxuICBwcml2YXRlIF9maW5kSW5wdXRFbGVtZW50KCk6IHZvaWQge1xuICAgIGNvbnN0IG9sZElucHV0ID0gdGhpcy5faW5wdXRFbGVtZW50O1xuICAgIHRoaXMuX2lucHV0RWxlbWVudCA9IGZpbmRJbnB1dCh0aGlzLCB0aGlzLmlucHV0KTtcblxuICAgIGlmIChvbGRJbnB1dCAhPT0gdGhpcy5faW5wdXRFbGVtZW50KSB7XG4gICAgICB0aGlzLl9yZWdpc3RlcklucHV0RWxlbWVudCgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3JlZ2lzdGVySW5wdXRFbGVtZW50KCk6IHZvaWQge1xuICAgIHRoaXMuX2Fib3J0Q29udHJvbGxlcj8uYWJvcnQoKTtcblxuICAgIGlmICghdGhpcy5faW5wdXRFbGVtZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fYWJvcnRDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuXG4gICAgLy8gQ29uZmlndXJlIGlucHV0XG4gICAgdGhpcy5faW5wdXRFbGVtZW50LnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1zYmItdGltZS1pbnB1dCcsIHRydWUpO1xuICAgIHRoaXMuX2lucHV0RWxlbWVudC50eXBlID0gJ3RleHQnO1xuICAgIHRoaXMuX2lucHV0RWxlbWVudC5pbnB1dE1vZGUgPSAnbnVtZXJpYyc7XG4gICAgdGhpcy5faW5wdXRFbGVtZW50Lm1heExlbmd0aCA9IDU7XG4gICAgaWYgKCF0aGlzLl9pbnB1dEVsZW1lbnQucGxhY2Vob2xkZXIpIHtcbiAgICAgIHRoaXMuX2lucHV0RWxlbWVudC5wbGFjZWhvbGRlciA9ICdISDpNTSc7XG4gICAgfVxuXG4gICAgdGhpcy5faW5wdXRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAnaW5wdXQnLFxuICAgICAgKGV2ZW50OiBFdmVudCkgPT4gZm9yd2FyZEV2ZW50VG9Ib3N0KGV2ZW50LCB0aGlzKSxcbiAgICAgIHsgc2lnbmFsOiB0aGlzLl9hYm9ydENvbnRyb2xsZXIuc2lnbmFsIH0sXG4gICAgKTtcbiAgICB0aGlzLl9pbnB1dEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICdrZXlkb3duJyxcbiAgICAgIChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4gdGhpcy5fcHJldmVudENoYXJJbnNlcnQoZXZlbnQpLFxuICAgICAgeyBzaWduYWw6IHRoaXMuX2Fib3J0Q29udHJvbGxlci5zaWduYWwgfSxcbiAgICApO1xuICAgIHRoaXMuX2lucHV0RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgJ2NoYW5nZScsXG4gICAgICAoZXZlbnQ6IEV2ZW50KSA9PiB0aGlzLl91cGRhdGVWYWx1ZSgoZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnZhbHVlKSxcbiAgICAgIHtcbiAgICAgICAgc2lnbmFsOiB0aGlzLl9hYm9ydENvbnRyb2xsZXIuc2lnbmFsLFxuICAgICAgICBjYXB0dXJlOiB0cnVlLFxuICAgICAgfSxcbiAgICApO1xuICAgIHRoaXMuX2lucHV0RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgJ2NoYW5nZScsXG4gICAgICAoZXZlbnQ6IEV2ZW50KSA9PiB7XG4gICAgICAgIHRoaXMuX2VtaXRDaGFuZ2UoZXZlbnQpO1xuICAgICAgICB0aGlzLl91cGRhdGVBY2Nlc3NpYmlsaXR5TWVzc2FnZSgpO1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgc2lnbmFsOiB0aGlzLl9hYm9ydENvbnRyb2xsZXIuc2lnbmFsLFxuICAgICAgfSxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZXMgYHZhbHVlYCBhbmQgYHZhbHVlQXNEYXRlYC4gVGhlIGRpcmVjdCB1cGRhdGUgb24gdGhlIGBfaW5wdXRFbGVtZW50YCBpcyByZXF1aXJlZFxuICAgKiB0byBmb3JjZSB0aGUgaW5wdXQgY2hhbmdlIHdoZW4gdGhlIHR5cGVkIHZhbHVlIGlzIHRoZSBzYW1lIG9mIHRoZSBjdXJyZW50IG9uZS5cbiAgICovXG4gIHByaXZhdGUgX3VwZGF0ZVZhbHVlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAvLyBSZXNldCBhY2Nlc3NpYmlsaXR5IG1lc3NhZ2VcbiAgICBpZiAodGhpcy5fc3RhdHVzQ29udGFpbmVyKSB7XG4gICAgICB0aGlzLl9zdGF0dXNDb250YWluZXIuaW5uZXJUZXh0ID0gJyc7XG4gICAgfVxuICAgIGlmICghdGhpcy5faW5wdXRFbGVtZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgdGltZSA9IHRoaXMuX3BhcnNlSW5wdXQodmFsdWUpO1xuICAgIGNvbnN0IGlzVGltZVZhbGlkID0gISF0aW1lICYmIHRoaXMuX2lzVGltZVZhbGlkKHRpbWUpO1xuICAgIGNvbnN0IGlzRW1wdHlPclZhbGlkID0gIXZhbHVlIHx8IHZhbHVlLnRyaW0oKSA9PT0gJycgfHwgaXNUaW1lVmFsaWQ7XG4gICAgaWYgKGlzRW1wdHlPclZhbGlkICYmIHRpbWUpIHtcbiAgICAgIC8vIEluIG9yZGVyIHRvIHN1cHBvcnQgUmVhY3Qgb25DaGFuZ2UgZXZlbnQsIHdlIGhhdmUgdG8gZ2V0IHRoZSBzZXR0ZXIgYW5kIGNhbGwgaXQuXG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzExNjAwI2lzc3VlY29tbWVudC0zNDU4MTMxMzBcbiAgICAgIGNvbnN0IHNldFZhbHVlID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihIVE1MSW5wdXRFbGVtZW50LnByb3RvdHlwZSwgJ3ZhbHVlJykhLnNldCE7XG4gICAgICBzZXRWYWx1ZS5jYWxsKHRoaXMuX2lucHV0RWxlbWVudCwgdGhpcy5fZm9ybWF0VmFsdWUodGltZSkpO1xuXG4gICAgICB0aGlzLl9pbnB1dEVsZW1lbnQuZGlzcGF0Y2hFdmVudChuZXcgSW5wdXRFdmVudCgnaW5wdXQnLCB7IGJ1YmJsZXM6IHRydWUsIGNvbXBvc2VkOiB0cnVlIH0pKTtcbiAgICB9XG5cbiAgICBjb25zdCB3YXNWYWxpZCA9ICF0aGlzLl9pbnB1dEVsZW1lbnQuaGFzQXR0cmlidXRlKCdkYXRhLXNiYi1pbnZhbGlkJyk7XG4gICAgdGhpcy5faW5wdXRFbGVtZW50LnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1zYmItaW52YWxpZCcsICFpc0VtcHR5T3JWYWxpZCk7XG4gICAgaWYgKHdhc1ZhbGlkICE9PSBpc0VtcHR5T3JWYWxpZCkge1xuICAgICAgdGhpcy5fdmFsaWRhdGlvbkNoYW5nZS5lbWl0KHsgdmFsaWQ6IGlzRW1wdHlPclZhbGlkIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBFbWl0cyB0aGUgY2hhbmdlIGV2ZW50LiAqL1xuICBwcml2YXRlIF9lbWl0Q2hhbmdlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGZvcndhcmRFdmVudFRvSG9zdChldmVudCwgdGhpcyk7XG4gICAgdGhpcy5fZGlkQ2hhbmdlLmVtaXQoKTtcbiAgfVxuXG4gIC8qKiBSZXR1cm5zIHRoZSByaWdodCBmb3JtYXQgZm9yIHRoZSBgdmFsdWVgIHByb3BlcnR5LiAqL1xuICBwcml2YXRlIF9mb3JtYXRWYWx1ZSh0aW1lOiBUaW1lKTogc3RyaW5nIHtcbiAgICBjb25zdCBob3VycyA9IFN0cmluZyh0aW1lLmhvdXJzKS5wYWRTdGFydCgyLCAnMCcpO1xuICAgIGNvbnN0IG1pbnV0ZXMgPSBTdHJpbmcodGltZS5taW51dGVzKS5wYWRTdGFydCgyLCAnMCcpO1xuICAgIHJldHVybiBgJHtob3Vyc306JHttaW51dGVzfWA7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgcmlnaHQgZm9ybWF0IGZvciB0aGUgYHZhbHVlQXNEYXRlYCBwcm9wZXJ0eTpcbiAgICogc2V0cyB0aGUgc3RhcnQgZGF0ZSBhdCAwMS4wMS4xOTcwLCB0aGVuIGFkZHMgdGhlIHR5cGVkIGhvdXJzL21pbnV0ZXMuXG4gICAqL1xuICBwcml2YXRlIF9mb3JtYXRWYWx1ZUFzRGF0ZSh0aW1lOiBUaW1lIHwgbnVsbCB8IHVuZGVmaW5lZCk6IERhdGUgfCBudWxsIHtcbiAgICBpZiAoIXRpbWUgfHwgIXRoaXMuX2lzVGltZVZhbGlkKHRpbWUpKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IERhdGUobmV3IERhdGUoMCkuc2V0SG91cnModGltZS5ob3VycywgdGltZS5taW51dGVzLCAwLCAwKSk7XG4gIH1cblxuICAvKiogQ2hlY2tzIGlmIHZhbHVlcyBvZiBob3VycyBhbmQgbWludXRlcyBhcmUgcG9zc2libGUsIHRvIGF2b2lkIG5vbi1leGlzdGVudCB0aW1lcy4gKi9cbiAgcHJpdmF0ZSBfaXNUaW1lVmFsaWQodGltZTogVGltZSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aW1lLmhvdXJzIDwgMjQgJiYgdGltZS5taW51dGVzIDwgNjA7XG4gIH1cblxuICAvKiogVmFsaWRhdGUgaW5wdXQgYWdhaW5zdCB0aGUgZGVmaW5lZCBSZWdFeHBzLiAqL1xuICBwcml2YXRlIF9wYXJzZUlucHV0KHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpOiBUaW1lIHwgbnVsbCB7XG4gICAgY29uc3QgdHJpbW1lZFZhbHVlID0gdmFsdWU/LnRyaW0oKTtcbiAgICBpZiAoIXRyaW1tZWRWYWx1ZSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgLy8gU3BlY2lhbCBjYXNlOiB0aGUgaW5wdXQgaXMgMyBvciA0IGRpZ2l0czsgc3BsaXQgbGlrZTogQUI/OkNEXG4gICAgY29uc3QgbWF0Y2ggPSB0cmltbWVkVmFsdWUubWF0Y2goUkVHRVhfR1JPVVBTX1dJVEhPVVRfQ09MT04pO1xuICAgIGlmIChtYXRjaCkge1xuICAgICAgcmV0dXJuIHsgaG91cnM6ICttYXRjaFsxXSB8fCAwLCBtaW51dGVzOiArbWF0Y2hbMl0gfHwgMCB9O1xuICAgIH1cblxuICAgIGNvbnN0IG1hdGNoQ29sb24gPSB0cmltbWVkVmFsdWUubWF0Y2goUkVHRVhfR1JPVVBTX1dJVEhfQ09MT04pO1xuICAgIGlmIChtYXRjaENvbG9uKSB7XG4gICAgICByZXR1cm4geyBob3VyczogK21hdGNoQ29sb25bMV0gfHwgMCwgbWludXRlczogK21hdGNoQ29sb25bMl0gfHwgMCB9O1xuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgLyoqICBPbmx5IGFsbG93IHR5cGluZyBudW1iZXJzIGFuZCBzZXBhcmF0b3Iga2V5cy4gKi9cbiAgcHJpdmF0ZSBfcHJldmVudENoYXJJbnNlcnQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBhbHdheXNBbGxvd2VkID0gW1xuICAgICAgJ0JhY2tzcGFjZScsXG4gICAgICAnVGFiJyxcbiAgICAgICdFbnRlcicsXG4gICAgICAnQXJyb3dVcCcsXG4gICAgICAnQXJyb3dEb3duJyxcbiAgICAgICdBcnJvd0xlZnQnLFxuICAgICAgJ0Fycm93UmlnaHQnLFxuICAgICAgJ0hvbWUnLFxuICAgICAgJ0VuZCcsXG4gICAgICAnUGFnZVVwJyxcbiAgICAgICdQYWdlRG93bicsXG4gICAgICAnRGVsZXRlJyxcbiAgICBdO1xuXG4gICAgaWYgKFxuICAgICAgIWV2ZW50LmN0cmxLZXkgJiZcbiAgICAgICFldmVudC5hbHRLZXkgJiZcbiAgICAgICFldmVudC5tZXRhS2V5ICYmXG4gICAgICAhYWx3YXlzQWxsb3dlZC5pbmNsdWRlcyhldmVudC5rZXkpICYmXG4gICAgICAhUkVHRVhfQUxMT1dFRF9DSEFSQUNURVJTLnRlc3QoZXZlbnQua2V5KVxuICAgICkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG4gIH1cblxuICAvLyBXZSB1c2UgYSBwcm9ncmFtbWF0aWMgYXBwcm9hY2ggdG8gYXZvaWQgaW5pdGlhbCBzZXR0aW5nIHRoZSBtZXNzYWdlXG4gIC8vIGFuZCB0byBub3QgaW1tZWRpYXRlbHkgY2hhbmdlIG91dHB1dCBpZiBsYW5ndWFnZSBzaG91bGQgY2hhbmdlIChubyByZWFzb24gdG8gcmVhZCBvdXQgbWVzc2FnZSkuXG4gIHByaXZhdGUgX3VwZGF0ZUFjY2Vzc2liaWxpdHlNZXNzYWdlKCk6IHZvaWQge1xuICAgIGNvbnN0IHZhbGlkID0gIXRoaXMuX2lucHV0RWxlbWVudCEuaGFzQXR0cmlidXRlKCdkYXRhLXNiYi1pbnZhbGlkJyk7XG4gICAgaWYgKCF2YWxpZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX3N0YXR1c0NvbnRhaW5lci5pbm5lclRleHQgPSBgJHtpMThuVGltZUlucHV0Q2hhbmdlW3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdfSAke1xuICAgICAgdGhpcy5faW5wdXRFbGVtZW50Py52YWx1ZVxuICAgIH0uYDtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPHBcbiAgICAgICAgcm9sZT1cInN0YXR1c1wiXG4gICAgICAgICR7cmVmKChlbD86IEVsZW1lbnQpID0+ICh0aGlzLl9zdGF0dXNDb250YWluZXIgPSBlbCBhcyBIVE1MUGFyYWdyYXBoRWxlbWVudCkpfVxuICAgICAgPjwvcD5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItdGltZS1pbnB1dCc6IFNiYlRpbWVJbnB1dEVsZW1lbnQ7XG4gIH1c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
@@ -47,10 +47,13 @@ export declare class SbbToastElement extends SbbToastElement_base {
47
47
  * If there are other opened toasts in the page, close them first.
48
48
  */
49
49
  open(): void;
50
+ private _isZeroAnimationDuration;
50
51
  /**
51
52
  * Close the toast.
52
53
  */
53
54
  close(): void;
55
+ private _handleClosing;
56
+ private _handleOpening;
54
57
  private _onClick;
55
58
  connectedCallback(): void;
56
59
  disconnectedCallback(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"toast.d.ts","sourceRoot":"","sources":["../../../../src/elements/toast/toast.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAK1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAYnE,OAAO,iCAAiC,CAAC;AAEzC,KAAK,wBAAwB,GAAG,KAAK,GAAG,QAAQ,CAAC;AACjD,KAAK,0BAA0B,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,KAAK,CAAC;AAChF,MAAM,MAAM,gBAAgB,GAAG,GAAG,wBAAwB,IAAI,0BAA0B,EAAE,CAAC;;AAK3F;;;;;;;;;;;;;GAaG;AACH,qBAGM,eAAgB,SAAQ,oBAA4D;IACxF,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD;;;OAGG;IACH,SAEgB,OAAO,EAAE,MAAM,CAAQ;IAEvC,6CAA6C;IAC7C,SAA6C,QAAQ,EAAE,gBAAgB,CAAmB;IAE1F,4CAA4C;IAC5C,SAEgB,WAAW,EAAE,OAAO,CAAS;IAE7C;;;OAGG;IACH,SAA4B,UAAU,EAAE,QAAQ,GAAG,WAAW,GAAG,KAAK,CAAY;IAElF,OAAO,CAAC,aAAa,CAAC,CAAgC;IACtD,OAAO,CAAC,MAAM,CAAyC;IACvD,OAAO,CAAC,SAAS,CAAmC;IAEpD;;;OAGG;IACH,OAAO,KAAK,KAAK,GAUhB;IAED;;;OAGG;IACI,IAAI,IAAI,IAAI;IAYnB;;OAEG;IACI,KAAK,IAAI,IAAI;IAapB,OAAO,CAAC,QAAQ;IAQA,iBAAiB,IAAI,IAAI;IAUzB,oBAAoB,IAAI,IAAI;IAQ5C;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAU5B,OAAO,CAAC,mBAAmB;IAyB3B,OAAO,CAAC,oBAAoB;IAmB5B;;OAEG;IACH,OAAO,CAAC,iBAAiB;cAQN,MAAM,IAAI,cAAc;CAiC5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,WAAW,EAAE,eAAe,CAAC;KAC9B;CACF"}
1
+ {"version":3,"file":"toast.d.ts","sourceRoot":"","sources":["../../../../src/elements/toast/toast.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAK1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAYnE,OAAO,iCAAiC,CAAC;AAEzC,KAAK,wBAAwB,GAAG,KAAK,GAAG,QAAQ,CAAC;AACjD,KAAK,0BAA0B,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,KAAK,CAAC;AAChF,MAAM,MAAM,gBAAgB,GAAG,GAAG,wBAAwB,IAAI,0BAA0B,EAAE,CAAC;;AAK3F;;;;;;;;;;;;;GAaG;AACH,qBAGM,eAAgB,SAAQ,oBAA4D;IACxF,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD;;;OAGG;IACH,SAEgB,OAAO,EAAE,MAAM,CAAQ;IAEvC,6CAA6C;IAC7C,SAA6C,QAAQ,EAAE,gBAAgB,CAAmB;IAE1F,4CAA4C;IAC5C,SAEgB,WAAW,EAAE,OAAO,CAAS;IAE7C;;;OAGG;IACH,SAA4B,UAAU,EAAE,QAAQ,GAAG,WAAW,GAAG,KAAK,CAAY;IAElF,OAAO,CAAC,aAAa,CAAC,CAAgC;IACtD,OAAO,CAAC,MAAM,CAAyC;IACvD,OAAO,CAAC,SAAS,CAAmC;IAEpD;;;OAGG;IACH,OAAO,KAAK,KAAK,GAUhB;IAED;;;OAGG;IACI,IAAI,IAAI,IAAI;IAkBnB,OAAO,CAAC,wBAAwB;IAIhC;;OAEG;IACI,KAAK,IAAI,IAAI;IAkBpB,OAAO,CAAC,cAAc;IAKtB,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,QAAQ;IAQA,iBAAiB,IAAI,IAAI;IAUzB,oBAAoB,IAAI,IAAI;IAQ5C;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAU5B,OAAO,CAAC,mBAAmB;IAyB3B,OAAO,CAAC,oBAAoB;IAS5B;;OAEG;IACH,OAAO,CAAC,iBAAiB;cAQN,MAAM,IAAI,cAAc;CAiC5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,WAAW,EAAE,eAAe,CAAC;KAC9B;CACF"}
@@ -11,7 +11,7 @@ import { customElement, property } from "lit/decorators.js";
11
11
  import { SbbOpenCloseBaseElement } from "./core/base-elements.js";
12
12
  import { SbbConnectedAbortController, SbbLanguageController } from "./core/controllers.js";
13
13
  import { slotState, forceType } from "./core/decorators.js";
14
- import { isFirefox } from "./core/dom.js";
14
+ import { isFirefox, isZeroAnimationDuration, isLean } from "./core/dom.js";
15
15
  import { composedPathHasAttribute } from "./core/eventing.js";
16
16
  import { i18nCloseAlert } from "./core/i18n.js";
17
17
  import { SbbHydrationMixin } from "./core/mixins.js";
@@ -26,7 +26,7 @@ const style = css`*,
26
26
  :host {
27
27
  --sbb-toast-max-width: 25rem;
28
28
  --sbb-toast-animation-duration: var(
29
- --sbb-disable-animation-zero-time,
29
+ --sbb-disable-animation-duration,
30
30
  var(--sbb-animation-duration-6x)
31
31
  );
32
32
  --sbb-toast-animation-timing-function: ease;
@@ -280,6 +280,12 @@ let SbbToastElement = (() => {
280
280
  }
281
281
  this.state = "opening";
282
282
  this._closeOtherToasts();
283
+ if (this._isZeroAnimationDuration()) {
284
+ this._handleOpening();
285
+ }
286
+ }
287
+ _isZeroAnimationDuration() {
288
+ return isZeroAnimationDuration(this, "--sbb-toast-animation-duration");
283
289
  }
284
290
  /**
285
291
  * Close the toast.
@@ -293,6 +299,20 @@ let SbbToastElement = (() => {
293
299
  }
294
300
  clearTimeout(this._closeTimeout);
295
301
  this.state = "closing";
302
+ if (this._isZeroAnimationDuration()) {
303
+ this._handleClosing();
304
+ }
305
+ }
306
+ _handleClosing() {
307
+ this.state = "closed";
308
+ this.didClose.emit();
309
+ }
310
+ _handleOpening() {
311
+ this.state = "opened";
312
+ this.didOpen.emit();
313
+ if (this.timeout) {
314
+ this._closeTimeout = setTimeout(() => this.close(), this.timeout);
315
+ }
296
316
  }
297
317
  // Close the toast on click of any element that has the 'sbb-toast-close' attribute.
298
318
  _onClick(event) {
@@ -330,7 +350,7 @@ let SbbToastElement = (() => {
330
350
  const buttons = slotNodes.filter((el) => el.nodeName === "SBB-TRANSPARENT-BUTTON" || el.nodeName === "SBB-TRANSPARENT-BUTTON-LINK");
331
351
  buttons.forEach((btn) => {
332
352
  btn.negative = true;
333
- btn.size = "m";
353
+ btn.size = isLean() ? "s" : "m";
334
354
  });
335
355
  const links = slotNodes.filter((el) => ["SBB-LINK", "SBB-LINK-BUTTON", "SBB-LINK-STATIC"].includes(el.nodeName));
336
356
  links.forEach((link) => {
@@ -341,15 +361,9 @@ let SbbToastElement = (() => {
341
361
  // To avoid entering a corrupt state, exit when state is not expected.
342
362
  _onToastAnimationEnd(event) {
343
363
  if (event.animationName === "open" && this.state === "opening") {
344
- this.state = "opened";
345
- this.didOpen.emit();
346
- if (this.timeout) {
347
- this._closeTimeout = setTimeout(() => this.close(), this.timeout);
348
- }
349
- }
350
- if (event.animationName === "close" && this.state === "closing") {
351
- this.state = "closed";
352
- this.didClose.emit();
364
+ this._handleOpening();
365
+ } else if (event.animationName === "close" && this.state === "closing") {
366
+ this._handleClosing();
353
367
  }
354
368
  }
355
369
  /**
@@ -421,4 +435,4 @@ let SbbToastElement = (() => {
421
435
  export {
422
436
  SbbToastElement
423
437
  };
424
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy90b2FzdC90b2FzdC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENTU1Jlc3VsdEdyb3VwLCBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBodG1sLCBub3RoaW5nIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQsIHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgdHlwZSB7IFNiYlRyYW5zcGFyZW50QnV0dG9uRWxlbWVudCwgU2JiVHJhbnNwYXJlbnRCdXR0b25MaW5rRWxlbWVudCB9IGZyb20gJy4uL2J1dHRvbi5qcyc7XG5pbXBvcnQgeyBTYmJPcGVuQ2xvc2VCYXNlRWxlbWVudCB9IGZyb20gJy4uL2NvcmUvYmFzZS1lbGVtZW50cy5qcyc7XG5pbXBvcnQgeyBTYmJDb25uZWN0ZWRBYm9ydENvbnRyb2xsZXIsIFNiYkxhbmd1YWdlQ29udHJvbGxlciB9IGZyb20gJy4uL2NvcmUvY29udHJvbGxlcnMuanMnO1xuaW1wb3J0IHsgZm9yY2VUeXBlLCBzbG90U3RhdGUgfSBmcm9tICcuLi9jb3JlL2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgaXNGaXJlZm94IH0gZnJvbSAnLi4vY29yZS9kb20uanMnO1xuaW1wb3J0IHsgY29tcG9zZWRQYXRoSGFzQXR0cmlidXRlIH0gZnJvbSAnLi4vY29yZS9ldmVudGluZy5qcyc7XG5pbXBvcnQgeyBpMThuQ2xvc2VBbGVydCB9IGZyb20gJy4uL2NvcmUvaTE4bi5qcyc7XG5pbXBvcnQgeyBTYmJIeWRyYXRpb25NaXhpbiB9IGZyb20gJy4uL2NvcmUvbWl4aW5zLmpzJztcbmltcG9ydCB7IFNiYkljb25OYW1lTWl4aW4gfSBmcm9tICcuLi9pY29uLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiTGlua0J1dHRvbkVsZW1lbnQsIFNiYkxpbmtFbGVtZW50LCBTYmJMaW5rU3RhdGljRWxlbWVudCB9IGZyb20gJy4uL2xpbmsuanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi90b2FzdC5zY3NzP2xpdCZpbmxpbmUnO1xuXG5pbXBvcnQgJy4uL2J1dHRvbi90cmFuc3BhcmVudC1idXR0b24uanMnO1xuXG50eXBlIFNiYlRvYXN0UG9zaXRpb25WZXJ0aWNhbCA9ICd0b3AnIHwgJ2JvdHRvbSc7XG50eXBlIFNiYlRvYXN0UG9zaXRpb25Ib3Jpem9udGFsID0gJ2xlZnQnIHwgJ3N0YXJ0JyB8ICdjZW50ZXInIHwgJ3JpZ2h0JyB8ICdlbmQnO1xuZXhwb3J0IHR5cGUgU2JiVG9hc3RQb3NpdGlvbiA9IGAke1NiYlRvYXN0UG9zaXRpb25WZXJ0aWNhbH0tJHtTYmJUb2FzdFBvc2l0aW9uSG9yaXpvbnRhbH1gO1xuXG4vLyBBIGdsb2JhbCBjb2xsZWN0aW9uIG9mIGV4aXN0aW5nIHRvYXN0c1xuY29uc3QgdG9hc3RSZWZzID0gbmV3IFNldDxTYmJUb2FzdEVsZW1lbnQ+KCk7XG5cbi8qKlxuICogSXQgZGlzcGxheXMgYSB0b2FzdCBub3RpZmljYXRpb24uXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgY29udGVudCB0byB0aGUgYHNiYi10b2FzdGAuXG4gKiBAc2xvdCBpY29uIC0gQXNzaWduIGEgY3VzdG9tIGljb24gdmlhIHNsb3QuXG4gKiBAc2xvdCBhY3Rpb24gLSBQcm92aWRlIGEgY3VzdG9tIGFjdGlvbiBmb3IgdGhpcyB0b2FzdC5cbiAqIEBldmVudCB7Q3VzdG9tRXZlbnQ8dm9pZD59IHdpbGxPcGVuIC0gRW1pdHMgd2hlbmV2ZXIgdGhlIGBzYmItdG9hc3RgIHN0YXJ0cyB0aGUgb3BlbmluZyB0cmFuc2l0aW9uLiBDYW4gYmUgY2FuY2VsZWQuXG4gKiBAZXZlbnQge0N1c3RvbUV2ZW50PHZvaWQ+fSBkaWRPcGVuIC0gRW1pdHMgd2hlbmV2ZXIgdGhlIGBzYmItdG9hc3RgIGlzIG9wZW5lZC5cbiAqIEBldmVudCB7Q3VzdG9tRXZlbnQ8dm9pZD59IHdpbGxDbG9zZSAtIEVtaXRzIHdoZW5ldmVyIHRoZSBgc2JiLXRvYXN0YCBiZWdpbnMgdGhlIGNsb3NpbmcgdHJhbnNpdGlvbi4gQ2FuIGJlIGNhbmNlbGVkLlxuICogQGV2ZW50IHtDdXN0b21FdmVudDx2b2lkPn0gZGlkQ2xvc2UgLSBFbWl0cyB3aGVuZXZlciB0aGUgYHNiYi10b2FzdGAgaXMgY2xvc2VkLlxuICogQGNzc3Byb3AgWy0tc2JiLXRvYXN0LXotaW5kZXg9dmFyKC0tc2JiLW92ZXJsYXktZGVmYXVsdC16LWluZGV4KV0gLSBUbyBzcGVjaWZ5IGEgY3VzdG9tIHN0YWNrIG9yZGVyLFxuICogdGhlIGB6LWluZGV4YCBjYW4gYmUgb3ZlcnJpZGRlbiBieSBkZWZpbmluZyB0aGlzIENTUyB2YXJpYWJsZS4gVGhlIGRlZmF1bHQgYHotaW5kZXhgIG9mIHRoZVxuICogY29tcG9uZW50IGlzIHNldCB0byBgdmFyKC0tc2JiLW92ZXJsYXktZGVmYXVsdC16LWluZGV4KWAgd2l0aCBhIHZhbHVlIG9mIGAxMDAwYC5cbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLXRvYXN0JylcbkBzbG90U3RhdGUoKVxuY2xhc3MgU2JiVG9hc3RFbGVtZW50IGV4dGVuZHMgU2JiSWNvbk5hbWVNaXhpbihTYmJIeWRyYXRpb25NaXhpbihTYmJPcGVuQ2xvc2VCYXNlRWxlbWVudCkpIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gc3R5bGU7XG5cbiAgLyoqXG4gICAqIFRoZSBsZW5ndGggb2YgdGltZSBpbiBtaWxsaXNlY29uZHMgdG8gd2FpdCBiZWZvcmUgYXV0b21hdGljYWxseSBkaXNtaXNzaW5nIHRoZSB0b2FzdC5cbiAgICogSWYgMCwgaXQgc3RheXMgb3BlbiBpbmRlZmluaXRlbHkuXG4gICAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgdHlwZTogTnVtYmVyIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciB0aW1lb3V0OiBudW1iZXIgPSA2MDAwO1xuXG4gIC8qKiBUaGUgcG9zaXRpb24gd2hlcmUgdG8gcGxhY2UgdGhlIHRvYXN0LiAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyBhY2Nlc3NvciBwb3NpdGlvbjogU2JiVG9hc3RQb3NpdGlvbiA9ICdib3R0b20tY2VudGVyJztcblxuICAvKiogV2hldGhlciB0aGUgdG9hc3QgaGFzIGEgY2xvc2UgYnV0dG9uLiAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgdHlwZTogQm9vbGVhbiwgcmVmbGVjdDogdHJ1ZSB9KVxuICBwdWJsaWMgYWNjZXNzb3IgZGlzbWlzc2libGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogVGhlIEFSSUEgcG9saXRlbmVzcyBsZXZlbC5cbiAgICogQ2hlY2sgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQWNjZXNzaWJpbGl0eS9BUklBL0FSSUFfTGl2ZV9SZWdpb25zI2xpdmVfcmVnaW9ucyBmb3IgZnVydGhlciBpbmZvXG4gICAqL1xuICBAcHJvcGVydHkoKSBwdWJsaWMgYWNjZXNzb3IgcG9saXRlbmVzczogJ3BvbGl0ZScgfCAnYXNzZXJ0aXZlJyB8ICdvZmYnID0gJ3BvbGl0ZSc7XG5cbiAgcHJpdmF0ZSBfY2xvc2VUaW1lb3V0PzogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD47XG4gIHByaXZhdGUgX2Fib3J0ID0gbmV3IFNiYkNvbm5lY3RlZEFib3J0Q29udHJvbGxlcih0aGlzKTtcbiAgcHJpdmF0ZSBfbGFuZ3VhZ2UgPSBuZXcgU2JiTGFuZ3VhZ2VDb250cm9sbGVyKHRoaXMpO1xuXG4gIC8qKlxuICAgKiBSb2xlIG9mIHRoZSBsaXZlIHJlZ2lvbi4gVGhpcyBpcyBvbmx5IGZvciBGaXJlZm94IGFzIHRoZXJlIGlzIGEga25vd24gaXNzdWUgd2hlcmUgRmlyZWZveCArXG4gICAqIEpBV1MgZG9lcyBub3QgcmVhZCBvdXQgYXJpYS1saXZlIG1lc3NhZ2UuXG4gICAqL1xuICBwcml2YXRlIGdldCBfcm9sZSgpOiAnc3RhdHVzJyB8ICdhbGVydCcgfCB1bmRlZmluZWQge1xuICAgIGlmICghaXNGaXJlZm94KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMucG9saXRlbmVzcyA9PT0gJ3BvbGl0ZScpIHtcbiAgICAgIHJldHVybiAnc3RhdHVzJztcbiAgICB9IGVsc2UgaWYgKHRoaXMucG9saXRlbmVzcyA9PT0gJ2Fzc2VydGl2ZScpIHtcbiAgICAgIHJldHVybiAnYWxlcnQnO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBPcGVuIHRoZSB0b2FzdC5cbiAgICogSWYgdGhlcmUgYXJlIG90aGVyIG9wZW5lZCB0b2FzdHMgaW4gdGhlIHBhZ2UsIGNsb3NlIHRoZW0gZmlyc3QuXG4gICAqL1xuICBwdWJsaWMgb3BlbigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdGF0ZSAhPT0gJ2Nsb3NlZCcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMud2lsbE9wZW4uZW1pdCgpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuc3RhdGUgPSAnb3BlbmluZyc7XG4gICAgdGhpcy5fY2xvc2VPdGhlclRvYXN0cygpO1xuICB9XG5cbiAgLyoqXG4gICAqIENsb3NlIHRoZSB0b2FzdC5cbiAgICovXG4gIHB1YmxpYyBjbG9zZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdGF0ZSAhPT0gJ29wZW5lZCcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMud2lsbENsb3NlLmVtaXQoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjbGVhclRpbWVvdXQodGhpcy5fY2xvc2VUaW1lb3V0KTtcbiAgICB0aGlzLnN0YXRlID0gJ2Nsb3NpbmcnO1xuICB9XG5cbiAgLy8gQ2xvc2UgdGhlIHRvYXN0IG9uIGNsaWNrIG9mIGFueSBlbGVtZW50IHRoYXQgaGFzIHRoZSAnc2JiLXRvYXN0LWNsb3NlJyBhdHRyaWJ1dGUuXG4gIHByaXZhdGUgX29uQ2xpY2soZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgY2xvc2VFbGVtZW50ID0gY29tcG9zZWRQYXRoSGFzQXR0cmlidXRlKGV2ZW50LCAnc2JiLXRvYXN0LWNsb3NlJywgdGhpcyk7XG5cbiAgICBpZiAoY2xvc2VFbGVtZW50ICYmICFjbG9zZUVsZW1lbnQuaGFzQXR0cmlidXRlKCdkaXNhYmxlZCcpKSB7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG5cbiAgICBjb25zdCBzaWduYWwgPSB0aGlzLl9hYm9ydC5zaWduYWw7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIChlKSA9PiB0aGlzLl9vbkNsaWNrKGUpLCB7IHNpZ25hbCB9KTtcblxuICAgIC8vIEFkZCB0aGlzIHRvYXN0IHRvIHRoZSBnbG9iYWwgY29sbGVjdGlvblxuICAgIHRvYXN0UmVmcy5hZGQodGhpcyk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZGlzY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICBjbGVhclRpbWVvdXQodGhpcy5fY2xvc2VUaW1lb3V0KTtcblxuICAgIC8vIFJlbW92ZSB0aGlzIGluc3RhbmNlXG4gICAgdG9hc3RSZWZzLmRlbGV0ZSh0aGlzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTbG90dGVkIHRleHQgbm9kZXMgYXJlIG5vdCByZWFkIGNvcnJlY3RseSBieSBzY3JlZW4gcmVhZGVycyBvbiBDaHJvbWUuXG4gICAqIFRvIGFkZHJlc3MgdGhlIHByb2JsZW0sIGlmIHRoZXJlIGlzIGF0IGxlYXN0IGEgcm9vdCB0ZXh0IG5vZGUsXG4gICAqIHdlIHdyYXAgdGhlIHdob2xlIGNvbnRlbnQgaW4gYSA8c3Bhbj4gdGFnXG4gICAqL1xuICBwcml2YXRlIF9vbkNvbnRlbnRTbG90Q2hhbmdlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IHNsb3ROb2RlcyA9IChldmVudC50YXJnZXQgYXMgSFRNTFNsb3RFbGVtZW50KS5hc3NpZ25lZE5vZGVzKCk7XG5cbiAgICBpZiAoc2xvdE5vZGVzLnNvbWUoKGVsKSA9PiBlbC5ub2RlVHlwZSA9PT0gTm9kZS5URVhUX05PREUpKSB7XG4gICAgICBjb25zdCBzcGFuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xuICAgICAgdGhpcy5hcHBlbmRDaGlsZChzcGFuKTtcbiAgICAgIHNwYW4uYXBwZW5kKC4uLnNsb3ROb2Rlcyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfb25BY3Rpb25TbG90Q2hhbmdlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IHNsb3ROb2RlcyA9IChldmVudC50YXJnZXQgYXMgSFRNTFNsb3RFbGVtZW50KS5hc3NpZ25lZE5vZGVzKCk7XG5cbiAgICAvLyBGb3JjZSB0aGUgdmlzdWFsIHN0YXRlIG9uIHNsb3R0ZWQgYnV0dG9uc1xuICAgIGNvbnN0IGJ1dHRvbnM6IChTYmJUcmFuc3BhcmVudEJ1dHRvbkVsZW1lbnQgfCBTYmJUcmFuc3BhcmVudEJ1dHRvbkxpbmtFbGVtZW50KVtdID1cbiAgICAgIHNsb3ROb2Rlcy5maWx0ZXIoXG4gICAgICAgIChlbCkgPT5cbiAgICAgICAgICBlbC5ub2RlTmFtZSA9PT0gJ1NCQi1UUkFOU1BBUkVOVC1CVVRUT04nIHx8IGVsLm5vZGVOYW1lID09PSAnU0JCLVRSQU5TUEFSRU5ULUJVVFRPTi1MSU5LJyxcbiAgICAgICkgYXMgKFNiYlRyYW5zcGFyZW50QnV0dG9uRWxlbWVudCB8IFNiYlRyYW5zcGFyZW50QnV0dG9uTGlua0VsZW1lbnQpW107XG4gICAgYnV0dG9ucy5mb3JFYWNoKChidG46IFNiYlRyYW5zcGFyZW50QnV0dG9uRWxlbWVudCB8IFNiYlRyYW5zcGFyZW50QnV0dG9uTGlua0VsZW1lbnQpID0+IHtcbiAgICAgIGJ0bi5uZWdhdGl2ZSA9IHRydWU7XG4gICAgICBidG4uc2l6ZSA9ICdtJztcbiAgICB9KTtcblxuICAgIC8vIEZvcmNlIG5lZ2F0aXZlIG9uIGlubGluZSBzbG90dGVkIGxpbmtzXG4gICAgY29uc3QgbGlua3MgPSBzbG90Tm9kZXMuZmlsdGVyKChlbCkgPT5cbiAgICAgIFsnU0JCLUxJTksnLCAnU0JCLUxJTkstQlVUVE9OJywgJ1NCQi1MSU5LLVNUQVRJQyddLmluY2x1ZGVzKGVsLm5vZGVOYW1lKSxcbiAgICApIGFzIChTYmJMaW5rRWxlbWVudCB8IFNiYkxpbmtCdXR0b25FbGVtZW50IHwgU2JiTGlua1N0YXRpY0VsZW1lbnQpW107XG4gICAgbGlua3MuZm9yRWFjaCgobGluaykgPT4ge1xuICAgICAgbGluay5uZWdhdGl2ZSA9IHRydWU7XG4gICAgfSk7XG4gIH1cblxuICAvLyBJbiByYXJlIGNhc2VzIGl0IGNhbiBiZSB0aGF0IHRoZSBhbmltYXRpb25FbmQgZXZlbnQgaXMgdHJpZ2dlcmVkIHR3aWNlLlxuICAvLyBUbyBhdm9pZCBlbnRlcmluZyBhIGNvcnJ1cHQgc3RhdGUsIGV4aXQgd2hlbiBzdGF0ZSBpcyBub3QgZXhwZWN0ZWQuXG4gIHByaXZhdGUgX29uVG9hc3RBbmltYXRpb25FbmQoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KTogdm9pZCB7XG4gICAgLy8gT24gdG9hc3Qgb3BlbmVkXG4gICAgaWYgKGV2ZW50LmFuaW1hdGlvbk5hbWUgPT09ICdvcGVuJyAmJiB0aGlzLnN0YXRlID09PSAnb3BlbmluZycpIHtcbiAgICAgIHRoaXMuc3RhdGUgPSAnb3BlbmVkJztcbiAgICAgIHRoaXMuZGlkT3Blbi5lbWl0KCk7XG5cbiAgICAgIC8vIFN0YXJ0IHRoZSBjb3VudGRvd24gdG8gY2xvc2UgaXRcbiAgICAgIGlmICh0aGlzLnRpbWVvdXQpIHtcbiAgICAgICAgdGhpcy5fY2xvc2VUaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB0aGlzLmNsb3NlKCksIHRoaXMudGltZW91dCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gT24gdG9hc3QgY2xvc2VkXG4gICAgaWYgKGV2ZW50LmFuaW1hdGlvbk5hbWUgPT09ICdjbG9zZScgJiYgdGhpcy5zdGF0ZSA9PT0gJ2Nsb3NpbmcnKSB7XG4gICAgICB0aGlzLnN0YXRlID0gJ2Nsb3NlZCc7XG4gICAgICB0aGlzLmRpZENsb3NlLmVtaXQoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2luY2Ugd2UgZG8gbm90IHN0YWNrIHRvYXN0cywgd2UgZm9yY2UgdGhlIGNsb3Npbmcgb24gb3RoZXIgZXhpc3Rpbmcgb3BlbmVkIG9uZXNcbiAgICovXG4gIHByaXZhdGUgX2Nsb3NlT3RoZXJUb2FzdHMoKTogdm9pZCB7XG4gICAgdG9hc3RSZWZzLmZvckVhY2goKHQpID0+IHtcbiAgICAgIGlmICh0LmdldEF0dHJpYnV0ZSgnZGF0YS1zdGF0ZScpID09PSAnb3BlbmVkJykge1xuICAgICAgICB0LmNsb3NlKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItdG9hc3RfX292ZXJsYXktY29udGFpbmVyXCI+XG4gICAgICAgICR7LyogRmlyZWZveCBuZWVkcyAncm9sZScgdG8gZW5hYmxlIHNjcmVlbiByZWFkZXJzICovICcnfVxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJzYmItdG9hc3RcIlxuICAgICAgICAgIHJvbGU9JHt0aGlzLl9yb2xlID8/IG5vdGhpbmd9XG4gICAgICAgICAgQGFuaW1hdGlvbmVuZD0ke3RoaXMuX29uVG9hc3RBbmltYXRpb25FbmR9XG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLXRvYXN0X19pY29uXCI+JHt0aGlzLnJlbmRlckljb25TbG90KCl9PC9kaXY+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLXRvYXN0X19jb250ZW50XCIgYXJpYS1saXZlPSR7dGhpcy5wb2xpdGVuZXNzfT5cbiAgICAgICAgICAgIDxzbG90IEBzbG90Y2hhbmdlPSR7dGhpcy5fb25Db250ZW50U2xvdENoYW5nZX0+PC9zbG90PlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNiYi10b2FzdF9fYWN0aW9uXCI+XG4gICAgICAgICAgICA8c2xvdCBuYW1lPVwiYWN0aW9uXCIgQHNsb3RjaGFuZ2U9JHt0aGlzLl9vbkFjdGlvblNsb3RDaGFuZ2V9PlxuICAgICAgICAgICAgICAke3RoaXMuZGlzbWlzc2libGVcbiAgICAgICAgICAgICAgICA/IGh0bWxgIDxzYmItdHJhbnNwYXJlbnQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2JiLXRvYXN0X19hY3Rpb24tYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgaWNvbi1uYW1lPVwiY3Jvc3Mtc21hbGxcIlxuICAgICAgICAgICAgICAgICAgICBuZWdhdGl2ZVxuICAgICAgICAgICAgICAgICAgICBzaXplPVwibVwiXG4gICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9JHtpMThuQ2xvc2VBbGVydFt0aGlzLl9sYW5ndWFnZS5jdXJyZW50XX1cbiAgICAgICAgICAgICAgICAgICAgc2JiLXRvYXN0LWNsb3NlXG4gICAgICAgICAgICAgICAgICA+PC9zYmItdHJhbnNwYXJlbnQtYnV0dG9uPmBcbiAgICAgICAgICAgICAgICA6IG5vdGhpbmd9XG4gICAgICAgICAgICA8L3Nsb3Q+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLXRvYXN0JzogU2JiVG9hc3RFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBd0JBLE1BQU0sZ0NBQWdCO0lBbUJoQixtQkFBZSxNQUFBOztBQUZwQixNQUFBLG1CQUFBLENBQUEsY0FBYyxXQUFXLEdBQ3pCLFdBQVc7Ozs7QUFDa0IsTUFBQSxjQUFBLGlCQUFpQixrQkFBa0IsdUJBQXVCLENBQUM7Ozs7Ozs7Ozs7Ozs7QUFBbkUsRUFBQSxtQkFBUSxZQUE0RDtBQUFBOztBQVN4RjtBQUc2QjtBQUs3QjtBQU1ZO0FBZEkseUJBQUEsMkJBQUEsa0JBQUEsTUFBQSx1QkFBa0IsR0FBSTtBQUdPLHlCQUFBLDZCQUFBLGtCQUFBLE1BQUEsMEJBQUEsR0FBQSxrQkFBQSxNQUFBLHdCQUE2QixlQUFlO0FBS3pFLHlCQUFBLGdDQUFBLGtCQUFBLE1BQUEsMkJBQUEsR0FBQSxrQkFBQSxNQUFBLDJCQUF1QixLQUFLO0FBTWhCLHlCQUFBLCtCQUFBLGtCQUFBLE1BQUEsOEJBQUEsR0FBQSxrQkFBQSxNQUFBLDBCQUE2QyxRQUFRO0FBRXpFLFdBQUEsZ0JBQThDLGtCQUFBLE1BQUEsNkJBQUE7QUFDOUMsV0FBQSxTQUFTLElBQUksNEJBQTRCLElBQUk7QUFDN0MsV0FBQSxZQUFZLElBQUksc0JBQXNCLElBQUk7QUFBQSxJQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxJQWxCbEQsSUFBZ0IsVUFBdUI7QUFBQSxh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
438
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy90b2FzdC90b2FzdC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENTU1Jlc3VsdEdyb3VwLCBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBodG1sLCBub3RoaW5nIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQsIHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgdHlwZSB7IFNiYlRyYW5zcGFyZW50QnV0dG9uRWxlbWVudCwgU2JiVHJhbnNwYXJlbnRCdXR0b25MaW5rRWxlbWVudCB9IGZyb20gJy4uL2J1dHRvbi5qcyc7XG5pbXBvcnQgeyBTYmJPcGVuQ2xvc2VCYXNlRWxlbWVudCB9IGZyb20gJy4uL2NvcmUvYmFzZS1lbGVtZW50cy5qcyc7XG5pbXBvcnQgeyBTYmJDb25uZWN0ZWRBYm9ydENvbnRyb2xsZXIsIFNiYkxhbmd1YWdlQ29udHJvbGxlciB9IGZyb20gJy4uL2NvcmUvY29udHJvbGxlcnMuanMnO1xuaW1wb3J0IHsgZm9yY2VUeXBlLCBzbG90U3RhdGUgfSBmcm9tICcuLi9jb3JlL2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgaXNGaXJlZm94LCBpc0xlYW4sIGlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uIH0gZnJvbSAnLi4vY29yZS9kb20uanMnO1xuaW1wb3J0IHsgY29tcG9zZWRQYXRoSGFzQXR0cmlidXRlIH0gZnJvbSAnLi4vY29yZS9ldmVudGluZy5qcyc7XG5pbXBvcnQgeyBpMThuQ2xvc2VBbGVydCB9IGZyb20gJy4uL2NvcmUvaTE4bi5qcyc7XG5pbXBvcnQgeyBTYmJIeWRyYXRpb25NaXhpbiB9IGZyb20gJy4uL2NvcmUvbWl4aW5zLmpzJztcbmltcG9ydCB7IFNiYkljb25OYW1lTWl4aW4gfSBmcm9tICcuLi9pY29uLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiTGlua0J1dHRvbkVsZW1lbnQsIFNiYkxpbmtFbGVtZW50LCBTYmJMaW5rU3RhdGljRWxlbWVudCB9IGZyb20gJy4uL2xpbmsuanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi90b2FzdC5zY3NzP2xpdCZpbmxpbmUnO1xuXG5pbXBvcnQgJy4uL2J1dHRvbi90cmFuc3BhcmVudC1idXR0b24uanMnO1xuXG50eXBlIFNiYlRvYXN0UG9zaXRpb25WZXJ0aWNhbCA9ICd0b3AnIHwgJ2JvdHRvbSc7XG50eXBlIFNiYlRvYXN0UG9zaXRpb25Ib3Jpem9udGFsID0gJ2xlZnQnIHwgJ3N0YXJ0JyB8ICdjZW50ZXInIHwgJ3JpZ2h0JyB8ICdlbmQnO1xuZXhwb3J0IHR5cGUgU2JiVG9hc3RQb3NpdGlvbiA9IGAke1NiYlRvYXN0UG9zaXRpb25WZXJ0aWNhbH0tJHtTYmJUb2FzdFBvc2l0aW9uSG9yaXpvbnRhbH1gO1xuXG4vLyBBIGdsb2JhbCBjb2xsZWN0aW9uIG9mIGV4aXN0aW5nIHRvYXN0c1xuY29uc3QgdG9hc3RSZWZzID0gbmV3IFNldDxTYmJUb2FzdEVsZW1lbnQ+KCk7XG5cbi8qKlxuICogSXQgZGlzcGxheXMgYSB0b2FzdCBub3RpZmljYXRpb24uXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgY29udGVudCB0byB0aGUgYHNiYi10b2FzdGAuXG4gKiBAc2xvdCBpY29uIC0gQXNzaWduIGEgY3VzdG9tIGljb24gdmlhIHNsb3QuXG4gKiBAc2xvdCBhY3Rpb24gLSBQcm92aWRlIGEgY3VzdG9tIGFjdGlvbiBmb3IgdGhpcyB0b2FzdC5cbiAqIEBldmVudCB7Q3VzdG9tRXZlbnQ8dm9pZD59IHdpbGxPcGVuIC0gRW1pdHMgd2hlbmV2ZXIgdGhlIGBzYmItdG9hc3RgIHN0YXJ0cyB0aGUgb3BlbmluZyB0cmFuc2l0aW9uLiBDYW4gYmUgY2FuY2VsZWQuXG4gKiBAZXZlbnQge0N1c3RvbUV2ZW50PHZvaWQ+fSBkaWRPcGVuIC0gRW1pdHMgd2hlbmV2ZXIgdGhlIGBzYmItdG9hc3RgIGlzIG9wZW5lZC5cbiAqIEBldmVudCB7Q3VzdG9tRXZlbnQ8dm9pZD59IHdpbGxDbG9zZSAtIEVtaXRzIHdoZW5ldmVyIHRoZSBgc2JiLXRvYXN0YCBiZWdpbnMgdGhlIGNsb3NpbmcgdHJhbnNpdGlvbi4gQ2FuIGJlIGNhbmNlbGVkLlxuICogQGV2ZW50IHtDdXN0b21FdmVudDx2b2lkPn0gZGlkQ2xvc2UgLSBFbWl0cyB3aGVuZXZlciB0aGUgYHNiYi10b2FzdGAgaXMgY2xvc2VkLlxuICogQGNzc3Byb3AgWy0tc2JiLXRvYXN0LXotaW5kZXg9dmFyKC0tc2JiLW92ZXJsYXktZGVmYXVsdC16LWluZGV4KV0gLSBUbyBzcGVjaWZ5IGEgY3VzdG9tIHN0YWNrIG9yZGVyLFxuICogdGhlIGB6LWluZGV4YCBjYW4gYmUgb3ZlcnJpZGRlbiBieSBkZWZpbmluZyB0aGlzIENTUyB2YXJpYWJsZS4gVGhlIGRlZmF1bHQgYHotaW5kZXhgIG9mIHRoZVxuICogY29tcG9uZW50IGlzIHNldCB0byBgdmFyKC0tc2JiLW92ZXJsYXktZGVmYXVsdC16LWluZGV4KWAgd2l0aCBhIHZhbHVlIG9mIGAxMDAwYC5cbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLXRvYXN0JylcbkBzbG90U3RhdGUoKVxuY2xhc3MgU2JiVG9hc3RFbGVtZW50IGV4dGVuZHMgU2JiSWNvbk5hbWVNaXhpbihTYmJIeWRyYXRpb25NaXhpbihTYmJPcGVuQ2xvc2VCYXNlRWxlbWVudCkpIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gc3R5bGU7XG5cbiAgLyoqXG4gICAqIFRoZSBsZW5ndGggb2YgdGltZSBpbiBtaWxsaXNlY29uZHMgdG8gd2FpdCBiZWZvcmUgYXV0b21hdGljYWxseSBkaXNtaXNzaW5nIHRoZSB0b2FzdC5cbiAgICogSWYgMCwgaXQgc3RheXMgb3BlbiBpbmRlZmluaXRlbHkuXG4gICAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgdHlwZTogTnVtYmVyIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciB0aW1lb3V0OiBudW1iZXIgPSA2MDAwO1xuXG4gIC8qKiBUaGUgcG9zaXRpb24gd2hlcmUgdG8gcGxhY2UgdGhlIHRvYXN0LiAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyBhY2Nlc3NvciBwb3NpdGlvbjogU2JiVG9hc3RQb3NpdGlvbiA9ICdib3R0b20tY2VudGVyJztcblxuICAvKiogV2hldGhlciB0aGUgdG9hc3QgaGFzIGEgY2xvc2UgYnV0dG9uLiAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgdHlwZTogQm9vbGVhbiwgcmVmbGVjdDogdHJ1ZSB9KVxuICBwdWJsaWMgYWNjZXNzb3IgZGlzbWlzc2libGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogVGhlIEFSSUEgcG9saXRlbmVzcyBsZXZlbC5cbiAgICogQ2hlY2sgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQWNjZXNzaWJpbGl0eS9BUklBL0FSSUFfTGl2ZV9SZWdpb25zI2xpdmVfcmVnaW9ucyBmb3IgZnVydGhlciBpbmZvXG4gICAqL1xuICBAcHJvcGVydHkoKSBwdWJsaWMgYWNjZXNzb3IgcG9saXRlbmVzczogJ3BvbGl0ZScgfCAnYXNzZXJ0aXZlJyB8ICdvZmYnID0gJ3BvbGl0ZSc7XG5cbiAgcHJpdmF0ZSBfY2xvc2VUaW1lb3V0PzogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD47XG4gIHByaXZhdGUgX2Fib3J0ID0gbmV3IFNiYkNvbm5lY3RlZEFib3J0Q29udHJvbGxlcih0aGlzKTtcbiAgcHJpdmF0ZSBfbGFuZ3VhZ2UgPSBuZXcgU2JiTGFuZ3VhZ2VDb250cm9sbGVyKHRoaXMpO1xuXG4gIC8qKlxuICAgKiBSb2xlIG9mIHRoZSBsaXZlIHJlZ2lvbi4gVGhpcyBpcyBvbmx5IGZvciBGaXJlZm94IGFzIHRoZXJlIGlzIGEga25vd24gaXNzdWUgd2hlcmUgRmlyZWZveCArXG4gICAqIEpBV1MgZG9lcyBub3QgcmVhZCBvdXQgYXJpYS1saXZlIG1lc3NhZ2UuXG4gICAqL1xuICBwcml2YXRlIGdldCBfcm9sZSgpOiAnc3RhdHVzJyB8ICdhbGVydCcgfCB1bmRlZmluZWQge1xuICAgIGlmICghaXNGaXJlZm94KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMucG9saXRlbmVzcyA9PT0gJ3BvbGl0ZScpIHtcbiAgICAgIHJldHVybiAnc3RhdHVzJztcbiAgICB9IGVsc2UgaWYgKHRoaXMucG9saXRlbmVzcyA9PT0gJ2Fzc2VydGl2ZScpIHtcbiAgICAgIHJldHVybiAnYWxlcnQnO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBPcGVuIHRoZSB0b2FzdC5cbiAgICogSWYgdGhlcmUgYXJlIG90aGVyIG9wZW5lZCB0b2FzdHMgaW4gdGhlIHBhZ2UsIGNsb3NlIHRoZW0gZmlyc3QuXG4gICAqL1xuICBwdWJsaWMgb3BlbigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdGF0ZSAhPT0gJ2Nsb3NlZCcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMud2lsbE9wZW4uZW1pdCgpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuc3RhdGUgPSAnb3BlbmluZyc7XG4gICAgdGhpcy5fY2xvc2VPdGhlclRvYXN0cygpO1xuXG4gICAgLy8gSWYgdGhlIGFuaW1hdGlvbiBkdXJhdGlvbiBpcyB6ZXJvLCB0aGUgYW5pbWF0aW9uZW5kIGV2ZW50IGlzIG5vdCBhbHdheXMgZmlyZWQgcmVsaWFibHkuXG4gICAgLy8gSW4gdGhpcyBjYXNlIHdlIGRpcmVjdGx5IHNldCB0aGUgYG9wZW5lZGAgc3RhdGUuXG4gICAgaWYgKHRoaXMuX2lzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKCkpIHtcbiAgICAgIHRoaXMuX2hhbmRsZU9wZW5pbmcoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9pc1plcm9BbmltYXRpb25EdXJhdGlvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24odGhpcywgJy0tc2JiLXRvYXN0LWFuaW1hdGlvbi1kdXJhdGlvbicpO1xuICB9XG5cbiAgLyoqXG4gICAqIENsb3NlIHRoZSB0b2FzdC5cbiAgICovXG4gIHB1YmxpYyBjbG9zZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdGF0ZSAhPT0gJ29wZW5lZCcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMud2lsbENsb3NlLmVtaXQoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjbGVhclRpbWVvdXQodGhpcy5fY2xvc2VUaW1lb3V0KTtcbiAgICB0aGlzLnN0YXRlID0gJ2Nsb3NpbmcnO1xuXG4gICAgLy8gSWYgdGhlIGFuaW1hdGlvbiBkdXJhdGlvbiBpcyB6ZXJvLCB0aGUgYW5pbWF0aW9uZW5kIGV2ZW50IGlzIG5vdCBhbHdheXMgZmlyZWQgcmVsaWFibHkuXG4gICAgLy8gSW4gdGhpcyBjYXNlIHdlIGRpcmVjdGx5IHNldCB0aGUgYGNsb3NlZGAgc3RhdGUuXG4gICAgaWYgKHRoaXMuX2lzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKCkpIHtcbiAgICAgIHRoaXMuX2hhbmRsZUNsb3NpbmcoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVDbG9zaW5nKCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGUgPSAnY2xvc2VkJztcbiAgICB0aGlzLmRpZENsb3NlLmVtaXQoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZU9wZW5pbmcoKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZSA9ICdvcGVuZWQnO1xuICAgIHRoaXMuZGlkT3Blbi5lbWl0KCk7XG5cbiAgICAvLyBTdGFydCB0aGUgY291bnRkb3duIHRvIGNsb3NlIGl0XG4gICAgaWYgKHRoaXMudGltZW91dCkge1xuICAgICAgdGhpcy5fY2xvc2VUaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB0aGlzLmNsb3NlKCksIHRoaXMudGltZW91dCk7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2xvc2UgdGhlIHRvYXN0IG9uIGNsaWNrIG9mIGFueSBlbGVtZW50IHRoYXQgaGFzIHRoZSAnc2JiLXRvYXN0LWNsb3NlJyBhdHRyaWJ1dGUuXG4gIHByaXZhdGUgX29uQ2xpY2soZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgY2xvc2VFbGVtZW50ID0gY29tcG9zZWRQYXRoSGFzQXR0cmlidXRlKGV2ZW50LCAnc2JiLXRvYXN0LWNsb3NlJywgdGhpcyk7XG5cbiAgICBpZiAoY2xvc2VFbGVtZW50ICYmICFjbG9zZUVsZW1lbnQuaGFzQXR0cmlidXRlKCdkaXNhYmxlZCcpKSB7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG5cbiAgICBjb25zdCBzaWduYWwgPSB0aGlzLl9hYm9ydC5zaWduYWw7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIChlKSA9PiB0aGlzLl9vbkNsaWNrKGUpLCB7IHNpZ25hbCB9KTtcblxuICAgIC8vIEFkZCB0aGlzIHRvYXN0IHRvIHRoZSBnbG9iYWwgY29sbGVjdGlvblxuICAgIHRvYXN0UmVmcy5hZGQodGhpcyk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZGlzY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICBjbGVhclRpbWVvdXQodGhpcy5fY2xvc2VUaW1lb3V0KTtcblxuICAgIC8vIFJlbW92ZSB0aGlzIGluc3RhbmNlXG4gICAgdG9hc3RSZWZzLmRlbGV0ZSh0aGlzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTbG90dGVkIHRleHQgbm9kZXMgYXJlIG5vdCByZWFkIGNvcnJlY3RseSBieSBzY3JlZW4gcmVhZGVycyBvbiBDaHJvbWUuXG4gICAqIFRvIGFkZHJlc3MgdGhlIHByb2JsZW0sIGlmIHRoZXJlIGlzIGF0IGxlYXN0IGEgcm9vdCB0ZXh0IG5vZGUsXG4gICAqIHdlIHdyYXAgdGhlIHdob2xlIGNvbnRlbnQgaW4gYSA8c3Bhbj4gdGFnXG4gICAqL1xuICBwcml2YXRlIF9vbkNvbnRlbnRTbG90Q2hhbmdlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IHNsb3ROb2RlcyA9IChldmVudC50YXJnZXQgYXMgSFRNTFNsb3RFbGVtZW50KS5hc3NpZ25lZE5vZGVzKCk7XG5cbiAgICBpZiAoc2xvdE5vZGVzLnNvbWUoKGVsKSA9PiBlbC5ub2RlVHlwZSA9PT0gTm9kZS5URVhUX05PREUpKSB7XG4gICAgICBjb25zdCBzcGFuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xuICAgICAgdGhpcy5hcHBlbmRDaGlsZChzcGFuKTtcbiAgICAgIHNwYW4uYXBwZW5kKC4uLnNsb3ROb2Rlcyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfb25BY3Rpb25TbG90Q2hhbmdlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IHNsb3ROb2RlcyA9IChldmVudC50YXJnZXQgYXMgSFRNTFNsb3RFbGVtZW50KS5hc3NpZ25lZE5vZGVzKCk7XG5cbiAgICAvLyBGb3JjZSB0aGUgdmlzdWFsIHN0YXRlIG9uIHNsb3R0ZWQgYnV0dG9uc1xuICAgIGNvbnN0IGJ1dHRvbnM6IChTYmJUcmFuc3BhcmVudEJ1dHRvbkVsZW1lbnQgfCBTYmJUcmFuc3BhcmVudEJ1dHRvbkxpbmtFbGVtZW50KVtdID1cbiAgICAgIHNsb3ROb2Rlcy5maWx0ZXIoXG4gICAgICAgIChlbCkgPT5cbiAgICAgICAgICBlbC5ub2RlTmFtZSA9PT0gJ1NCQi1UUkFOU1BBUkVOVC1CVVRUT04nIHx8IGVsLm5vZGVOYW1lID09PSAnU0JCLVRSQU5TUEFSRU5ULUJVVFRPTi1MSU5LJyxcbiAgICAgICkgYXMgKFNiYlRyYW5zcGFyZW50QnV0dG9uRWxlbWVudCB8IFNiYlRyYW5zcGFyZW50QnV0dG9uTGlua0VsZW1lbnQpW107XG4gICAgYnV0dG9ucy5mb3JFYWNoKChidG46IFNiYlRyYW5zcGFyZW50QnV0dG9uRWxlbWVudCB8IFNiYlRyYW5zcGFyZW50QnV0dG9uTGlua0VsZW1lbnQpID0+IHtcbiAgICAgIGJ0bi5uZWdhdGl2ZSA9IHRydWU7XG4gICAgICBidG4uc2l6ZSA9IGlzTGVhbigpID8gJ3MnIDogJ20nO1xuICAgIH0pO1xuXG4gICAgLy8gRm9yY2UgbmVnYXRpdmUgb24gaW5saW5lIHNsb3R0ZWQgbGlua3NcbiAgICBjb25zdCBsaW5rcyA9IHNsb3ROb2Rlcy5maWx0ZXIoKGVsKSA9PlxuICAgICAgWydTQkItTElOSycsICdTQkItTElOSy1CVVRUT04nLCAnU0JCLUxJTkstU1RBVElDJ10uaW5jbHVkZXMoZWwubm9kZU5hbWUpLFxuICAgICkgYXMgKFNiYkxpbmtFbGVtZW50IHwgU2JiTGlua0J1dHRvbkVsZW1lbnQgfCBTYmJMaW5rU3RhdGljRWxlbWVudClbXTtcbiAgICBsaW5rcy5mb3JFYWNoKChsaW5rKSA9PiB7XG4gICAgICBsaW5rLm5lZ2F0aXZlID0gdHJ1ZTtcbiAgICB9KTtcbiAgfVxuXG4gIC8vIEluIHJhcmUgY2FzZXMgaXQgY2FuIGJlIHRoYXQgdGhlIGFuaW1hdGlvbkVuZCBldmVudCBpcyB0cmlnZ2VyZWQgdHdpY2UuXG4gIC8vIFRvIGF2b2lkIGVudGVyaW5nIGEgY29ycnVwdCBzdGF0ZSwgZXhpdCB3aGVuIHN0YXRlIGlzIG5vdCBleHBlY3RlZC5cbiAgcHJpdmF0ZSBfb25Ub2FzdEFuaW1hdGlvbkVuZChldmVudDogQW5pbWF0aW9uRXZlbnQpOiB2b2lkIHtcbiAgICAvLyBPbiB0b2FzdCBvcGVuZWRcbiAgICBpZiAoZXZlbnQuYW5pbWF0aW9uTmFtZSA9PT0gJ29wZW4nICYmIHRoaXMuc3RhdGUgPT09ICdvcGVuaW5nJykge1xuICAgICAgdGhpcy5faGFuZGxlT3BlbmluZygpO1xuICAgIH0gZWxzZSBpZiAoZXZlbnQuYW5pbWF0aW9uTmFtZSA9PT0gJ2Nsb3NlJyAmJiB0aGlzLnN0YXRlID09PSAnY2xvc2luZycpIHtcbiAgICAgIHRoaXMuX2hhbmRsZUNsb3NpbmcoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2luY2Ugd2UgZG8gbm90IHN0YWNrIHRvYXN0cywgd2UgZm9yY2UgdGhlIGNsb3Npbmcgb24gb3RoZXIgZXhpc3Rpbmcgb3BlbmVkIG9uZXNcbiAgICovXG4gIHByaXZhdGUgX2Nsb3NlT3RoZXJUb2FzdHMoKTogdm9pZCB7XG4gICAgdG9hc3RSZWZzLmZvckVhY2goKHQpID0+IHtcbiAgICAgIGlmICh0LmdldEF0dHJpYnV0ZSgnZGF0YS1zdGF0ZScpID09PSAnb3BlbmVkJykge1xuICAgICAgICB0LmNsb3NlKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItdG9hc3RfX292ZXJsYXktY29udGFpbmVyXCI+XG4gICAgICAgICR7LyogRmlyZWZveCBuZWVkcyAncm9sZScgdG8gZW5hYmxlIHNjcmVlbiByZWFkZXJzICovICcnfVxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJzYmItdG9hc3RcIlxuICAgICAgICAgIHJvbGU9JHt0aGlzLl9yb2xlID8/IG5vdGhpbmd9XG4gICAgICAgICAgQGFuaW1hdGlvbmVuZD0ke3RoaXMuX29uVG9hc3RBbmltYXRpb25FbmR9XG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLXRvYXN0X19pY29uXCI+JHt0aGlzLnJlbmRlckljb25TbG90KCl9PC9kaXY+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLXRvYXN0X19jb250ZW50XCIgYXJpYS1saXZlPSR7dGhpcy5wb2xpdGVuZXNzfT5cbiAgICAgICAgICAgIDxzbG90IEBzbG90Y2hhbmdlPSR7dGhpcy5fb25Db250ZW50U2xvdENoYW5nZX0+PC9zbG90PlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNiYi10b2FzdF9fYWN0aW9uXCI+XG4gICAgICAgICAgICA8c2xvdCBuYW1lPVwiYWN0aW9uXCIgQHNsb3RjaGFuZ2U9JHt0aGlzLl9vbkFjdGlvblNsb3RDaGFuZ2V9PlxuICAgICAgICAgICAgICAke3RoaXMuZGlzbWlzc2libGVcbiAgICAgICAgICAgICAgICA/IGh0bWxgIDxzYmItdHJhbnNwYXJlbnQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2JiLXRvYXN0X19hY3Rpb24tYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgaWNvbi1uYW1lPVwiY3Jvc3Mtc21hbGxcIlxuICAgICAgICAgICAgICAgICAgICBuZWdhdGl2ZVxuICAgICAgICAgICAgICAgICAgICBzaXplPVwibVwiXG4gICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9JHtpMThuQ2xvc2VBbGVydFt0aGlzLl9sYW5ndWFnZS5jdXJyZW50XX1cbiAgICAgICAgICAgICAgICAgICAgc2JiLXRvYXN0LWNsb3NlXG4gICAgICAgICAgICAgICAgICA+PC9zYmItdHJhbnNwYXJlbnQtYnV0dG9uPmBcbiAgICAgICAgICAgICAgICA6IG5vdGhpbmd9XG4gICAgICAgICAgICA8L3Nsb3Q+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLXRvYXN0JzogU2JiVG9hc3RFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7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
@@ -4,13 +4,11 @@ import { SbbToggleOptionElement } from '../toggle-option.js';
4
4
  * It can be used as a container for two `sbb-toggle-option`, acting as a toggle button.
5
5
  *
6
6
  * @slot - Use the unnamed slot to add `<sbb-toggle-option>` elements to the toggle.
7
- * @event {CustomEvent<void>} didChange - Deprecated. used for React. Will probably be removed once React 19 is available.
8
7
  * @event {CustomEvent<void>} change - Emits whenever the toggle value changes.
9
8
  */
10
9
  export declare class SbbToggleElement extends LitElement {
11
10
  static styles: CSSResultGroup;
12
11
  static readonly events: {
13
- readonly didChange: "didChange";
14
12
  readonly change: "change";
15
13
  };
16
14
  /** Whether the toggle is disabled. */
@@ -20,7 +18,10 @@ export declare class SbbToggleElement extends LitElement {
20
18
  * the width is dynamic based on the label of the sbb-toggle-option.
21
19
  */
22
20
  accessor even: boolean;
23
- /** Size variant, either m or s. */
21
+ /**
22
+ * Size variant, either m or s.
23
+ * @default 'm' / 's' (lean)
24
+ */
24
25
  accessor size: 's' | 'm';
25
26
  /**
26
27
  * The value of the toggle. It needs to be mutable since it is updated whenever
@@ -33,11 +34,6 @@ export declare class SbbToggleElement extends LitElement {
33
34
  get options(): SbbToggleOptionElement[];
34
35
  private _loaded;
35
36
  private _toggleResizeObserver;
36
- /**
37
- * @deprecated only used for React. Will probably be removed once React 19 is available.
38
- * Emits whenever the toggle value changes.
39
- */
40
- private _didChange;
41
37
  /** Emits whenever the toggle value changes. */
42
38
  private _change;
43
39
  private _abort;
@@ -1 +1 @@
1
- {"version":3,"file":"toggle.d.ts","sourceRoot":"","sources":["../../../../../src/elements/toggle/toggle/toggle.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,cAAc,EAGnB,UAAU,EACV,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAOb,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAIlE;;;;;;GAMG;AACH,qBAKM,gBAAiB,SAAQ,UAAU;IACvC,OAAuB,MAAM,EAAE,cAAc,CAAS;IACtD,gBAAuB,MAAM;;;MAGlB;IAEX,sCAAsC;IACtC,SAGgB,QAAQ,EAAE,OAAO,CAAS;IAE1C;;;OAGG;IACH,SAEgB,IAAI,EAAE,OAAO,CAAS;IAEtC,mCAAmC;IACnC,SAA6C,IAAI,EAAE,GAAG,GAAG,GAAG,CAAO;IAEnE;;;OAGG;IACH,IACW,KAAK,CAAC,KAAK,EAAE,MAAM,EAM7B;IACD,IAAW,KAAK,IAAI,MAAM,CAIzB;IACD,OAAO,CAAC,MAAM,CAAuB;IAErC,4DAA4D;IAC5D,IAAW,OAAO,IAAI,sBAAsB,EAAE,CAE7C;IAED,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,qBAAqB,CAI1B;IAEH;;;OAGG;IACH,OAAO,CAAC,UAAU,CAGf;IAEH,+CAA+C;IAC/C,OAAO,CAAC,OAAO,CAGZ;IAEH,OAAO,CAAC,MAAM,CAAyC;IAEvD,gBAAgB;IACT,kBAAkB,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI;IA6BlC,iBAAiB,IAAI,IAAI;cAShB,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ7F,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,aAAa;IAuBrB,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,cAAc;cA6BH,MAAM,IAAI,cAAc;CAO5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,YAAY,EAAE,gBAAgB,CAAC;KAChC;CACF"}
1
+ {"version":3,"file":"toggle.d.ts","sourceRoot":"","sources":["../../../../../src/elements/toggle/toggle/toggle.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,cAAc,EAGnB,UAAU,EACV,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAQb,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAIlE;;;;;GAKG;AACH,qBAKM,gBAAiB,SAAQ,UAAU;IACvC,OAAuB,MAAM,EAAE,cAAc,CAAS;IACtD,gBAAuB,MAAM;;MAElB;IAEX,sCAAsC;IACtC,SAGgB,QAAQ,EAAE,OAAO,CAAS;IAE1C;;;OAGG;IACH,SAEgB,IAAI,EAAE,OAAO,CAAS;IAEtC;;;OAGG;IACH,SAA6C,IAAI,EAAE,GAAG,GAAG,GAAG,CAAwB;IAEpF;;;OAGG;IACH,IACW,KAAK,CAAC,KAAK,EAAE,MAAM,EAM7B;IACD,IAAW,KAAK,IAAI,MAAM,CAIzB;IACD,OAAO,CAAC,MAAM,CAAuB;IAErC,4DAA4D;IAC5D,IAAW,OAAO,IAAI,sBAAsB,EAAE,CAE7C;IAED,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,qBAAqB,CAI1B;IAEH,+CAA+C;IAC/C,OAAO,CAAC,OAAO,CAGZ;IAEH,OAAO,CAAC,MAAM,CAAyC;IAEvD,gBAAgB;IACT,kBAAkB,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI;IA6BlC,iBAAiB,IAAI,IAAI;cAShB,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ7F,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,aAAa;IAuBrB,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,cAAc;cA6BH,MAAM,IAAI,cAAc;CAO5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,YAAY,EAAE,gBAAgB,CAAC;KAChC;CACF"}
@@ -12,6 +12,7 @@ import { customElement, property } from "lit/decorators.js";
12
12
  import { interactivityChecker, isArrowKeyPressed, getNextElementIndex } from "../core/a11y.js";
13
13
  import { SbbConnectedAbortController } from "../core/controllers.js";
14
14
  import { hostAttributes, forceType, handleDistinctChange } from "../core/decorators.js";
15
+ import { isLean } from "../core/dom.js";
15
16
  import { EventEmitter } from "../core/eventing.js";
16
17
  const style = css`*,
17
18
  ::before,
@@ -28,7 +29,7 @@ const style = css`*,
28
29
  --sbb-toggle-selected-option-border-color: var(--sbb-color-smoke);
29
30
  --sbb-toggle-padding-inline: var(--sbb-spacing-responsive-xxxs);
30
31
  --sbb-toggle-animation-duration: var(
31
- --sbb-disable-animation-zero-time,
32
+ --sbb-disable-animation-duration,
32
33
  var(--sbb-animation-duration-6x)
33
34
  );
34
35
  --sbb-toggle-height: 1.75rem;
@@ -77,8 +78,7 @@ const style = css`*,
77
78
  }
78
79
 
79
80
  :host([data-disable-animation-on-resizing]) {
80
- --sbb-disable-animation-time: 0.1ms;
81
- --sbb-disable-animation-zero-time: 0s;
81
+ --sbb-disable-animation-duration: 0s;
82
82
  }
83
83
 
84
84
  .sbb-toggle {
@@ -150,7 +150,7 @@ let SbbToggleElement = (() => {
150
150
  __privateAdd(this, _size_accessor_storage);
151
151
  __privateSet(this, _disabled_accessor_storage, (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _disabled_initializers, false)));
152
152
  __privateSet(this, _even_accessor_storage, (__runInitializers(this, _disabled_extraInitializers), __runInitializers(this, _even_initializers, false)));
153
- __privateSet(this, _size_accessor_storage, (__runInitializers(this, _even_extraInitializers), __runInitializers(this, _size_initializers, "m")));
153
+ __privateSet(this, _size_accessor_storage, (__runInitializers(this, _even_extraInitializers), __runInitializers(this, _size_initializers, isLean() ? "s" : "m")));
154
154
  this._value = (__runInitializers(this, _size_extraInitializers), null);
155
155
  this._loaded = false;
156
156
  this._toggleResizeObserver = new ResizeController(this, {
@@ -158,10 +158,6 @@ let SbbToggleElement = (() => {
158
158
  skipInitial: true,
159
159
  callback: () => this.updatePillPosition(true)
160
160
  });
161
- this._didChange = new EventEmitter(this, SbbToggleElement2.events.didChange, {
162
- bubbles: true,
163
- composed: true
164
- });
165
161
  this._change = new EventEmitter(this, SbbToggleElement2.events.change, {
166
162
  bubbles: true,
167
163
  composed: true
@@ -185,7 +181,10 @@ let SbbToggleElement = (() => {
185
181
  set even(value) {
186
182
  __privateSet(this, _even_accessor_storage, value);
187
183
  }
188
- /** Size variant, either m or s. */
184
+ /**
185
+ * Size variant, either m or s.
186
+ * @default 'm' / 's' (lean)
187
+ */
189
188
  get size() {
190
189
  return __privateGet(this, _size_accessor_storage);
191
190
  }
@@ -271,7 +270,6 @@ let SbbToggleElement = (() => {
271
270
  _handleInput() {
272
271
  this.updatePillPosition(false);
273
272
  this._change.emit();
274
- this._didChange.emit();
275
273
  }
276
274
  _handleKeyDown(evt) {
277
275
  const enabledToggleOptions = this.options.filter((t) => !t.disabled && interactivityChecker.isVisible(t));
@@ -319,7 +317,6 @@ let SbbToggleElement = (() => {
319
317
  SbbToggleElement2 = _classThis = _classDescriptor.value;
320
318
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
321
319
  })(), _a.styles = style, _a.events = {
322
- didChange: "didChange",
323
320
  change: "change"
324
321
  }, __runInitializers(_classThis, _classExtraInitializers), _a);
325
322
  return SbbToggleElement2 = _classThis;
@@ -327,4 +324,4 @@ let SbbToggleElement = (() => {
327
324
  export {
328
325
  SbbToggleElement
329
326
  };
330
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvdG9nZ2xlL3RvZ2dsZS90b2dnbGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVzaXplQ29udHJvbGxlciB9IGZyb20gJ0BsaXQtbGFicy9vYnNlcnZlcnMvcmVzaXplLWNvbnRyb2xsZXIuanMnO1xuaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgaHRtbCxcbiAgaXNTZXJ2ZXIsXG4gIExpdEVsZW1lbnQsXG4gIHR5cGUgUHJvcGVydHlWYWx1ZXMsXG4gIHR5cGUgVGVtcGxhdGVSZXN1bHQsXG59IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgZ2V0TmV4dEVsZW1lbnRJbmRleCwgaW50ZXJhY3Rpdml0eUNoZWNrZXIsIGlzQXJyb3dLZXlQcmVzc2VkIH0gZnJvbSAnLi4vLi4vY29yZS9hMTF5LmpzJztcbmltcG9ydCB7IFNiYkNvbm5lY3RlZEFib3J0Q29udHJvbGxlciB9IGZyb20gJy4uLy4uL2NvcmUvY29udHJvbGxlcnMuanMnO1xuaW1wb3J0IHsgZm9yY2VUeXBlLCBoYW5kbGVEaXN0aW5jdENoYW5nZSwgaG9zdEF0dHJpYnV0ZXMgfSBmcm9tICcuLi8uLi9jb3JlL2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgRXZlbnRFbWl0dGVyIH0gZnJvbSAnLi4vLi4vY29yZS9ldmVudGluZy5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYlRvZ2dsZU9wdGlvbkVsZW1lbnQgfSBmcm9tICcuLi90b2dnbGUtb3B0aW9uLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vdG9nZ2xlLnNjc3M/bGl0JmlubGluZSc7XG5cbi8qKlxuICogSXQgY2FuIGJlIHVzZWQgYXMgYSBjb250YWluZXIgZm9yIHR3byBgc2JiLXRvZ2dsZS1vcHRpb25gLCBhY3RpbmcgYXMgYSB0b2dnbGUgYnV0dG9uLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGA8c2JiLXRvZ2dsZS1vcHRpb24+YCBlbGVtZW50cyB0byB0aGUgdG9nZ2xlLlxuICogQGV2ZW50IHtDdXN0b21FdmVudDx2b2lkPn0gZGlkQ2hhbmdlIC0gRGVwcmVjYXRlZC4gdXNlZCBmb3IgUmVhY3QuIFdpbGwgcHJvYmFibHkgYmUgcmVtb3ZlZCBvbmNlIFJlYWN0IDE5IGlzIGF2YWlsYWJsZS5cbiAqIEBldmVudCB7Q3VzdG9tRXZlbnQ8dm9pZD59IGNoYW5nZSAtIEVtaXRzIHdoZW5ldmVyIHRoZSB0b2dnbGUgdmFsdWUgY2hhbmdlcy5cbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLXRvZ2dsZScpXG5AaG9zdEF0dHJpYnV0ZXMoe1xuICByb2xlOiAncmFkaW9ncm91cCcsXG59KVxuY2xhc3MgU2JiVG9nZ2xlRWxlbWVudCBleHRlbmRzIExpdEVsZW1lbnQge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBldmVudHMgPSB7XG4gICAgZGlkQ2hhbmdlOiAnZGlkQ2hhbmdlJyxcbiAgICBjaGFuZ2U6ICdjaGFuZ2UnLFxuICB9IGFzIGNvbnN0O1xuXG4gIC8qKiBXaGV0aGVyIHRoZSB0b2dnbGUgaXMgZGlzYWJsZWQuICovXG4gIEBmb3JjZVR5cGUoKVxuICBAaGFuZGxlRGlzdGluY3RDaGFuZ2UoKGUpID0+IGUuX3VwZGF0ZURpc2FibGVkKCkpXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUsIHR5cGU6IEJvb2xlYW4gfSlcbiAgcHVibGljIGFjY2Vzc29yIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIElmIHRydWUsIHNldCB0aGUgd2lkdGggb2YgdGhlIGNvbXBvbmVudCBmaXhlZDsgaWYgZmFsc2UsXG4gICAqIHRoZSB3aWR0aCBpcyBkeW5hbWljIGJhc2VkIG9uIHRoZSBsYWJlbCBvZiB0aGUgc2JiLXRvZ2dsZS1vcHRpb24uXG4gICAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSwgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgYWNjZXNzb3IgZXZlbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBTaXplIHZhcmlhbnQsIGVpdGhlciBtIG9yIHMuICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIGFjY2Vzc29yIHNpemU6ICdzJyB8ICdtJyA9ICdtJztcblxuICAvKipcbiAgICogVGhlIHZhbHVlIG9mIHRoZSB0b2dnbGUuIEl0IG5lZWRzIHRvIGJlIG11dGFibGUgc2luY2UgaXQgaXMgdXBkYXRlZCB3aGVuZXZlclxuICAgKiBhIG5ldyBvcHRpb24gaXMgc2VsZWN0ZWQgKHNlZSB0aGUgYG9uVG9nZ2xlT3B0aW9uU2VsZWN0KClgIG1ldGhvZCkuXG4gICAqL1xuICBAcHJvcGVydHkoKVxuICBwdWJsaWMgc2V0IHZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICBpZiAoaXNTZXJ2ZXIpIHtcbiAgICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX3ZhbHVlQ2hhbmdlZCh2YWx1ZSk7XG4gICAgfVxuICB9XG4gIHB1YmxpYyBnZXQgdmFsdWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gaXNTZXJ2ZXJcbiAgICAgID8gKHRoaXMuX3ZhbHVlID8/ICcnKVxuICAgICAgOiAodGhpcy5vcHRpb25zLmZpbmQoKG8pID0+IG8uY2hlY2tlZCk/LnZhbHVlID8/IHRoaXMub3B0aW9uc1swXT8udmFsdWUgPz8gJycpO1xuICB9XG4gIHByaXZhdGUgX3ZhbHVlOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICAvKiogVGhlIGNoaWxkIGluc3RhbmNlcyBvZiBzYmItdG9nZ2xlLW9wdGlvbiBhcyBhbiBhcnJheS4gKi9cbiAgcHVibGljIGdldCBvcHRpb25zKCk6IFNiYlRvZ2dsZU9wdGlvbkVsZW1lbnRbXSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5xdWVyeVNlbGVjdG9yQWxsPy4oJ3NiYi10b2dnbGUtb3B0aW9uJykgPz8gW10pO1xuICB9XG5cbiAgcHJpdmF0ZSBfbG9hZGVkOiBib29sZWFuID0gZmFsc2U7XG4gIHByaXZhdGUgX3RvZ2dsZVJlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZUNvbnRyb2xsZXIodGhpcywge1xuICAgIHRhcmdldDogbnVsbCxcbiAgICBza2lwSW5pdGlhbDogdHJ1ZSxcbiAgICBjYWxsYmFjazogKCkgPT4gdGhpcy51cGRhdGVQaWxsUG9zaXRpb24odHJ1ZSksXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBvbmx5IHVzZWQgZm9yIFJlYWN0LiBXaWxsIHByb2JhYmx5IGJlIHJlbW92ZWQgb25jZSBSZWFjdCAxOSBpcyBhdmFpbGFibGUuXG4gICAqIEVtaXRzIHdoZW5ldmVyIHRoZSB0b2dnbGUgdmFsdWUgY2hhbmdlcy5cbiAgICovXG4gIHByaXZhdGUgX2RpZENoYW5nZTogRXZlbnRFbWl0dGVyID0gbmV3IEV2ZW50RW1pdHRlcih0aGlzLCBTYmJUb2dnbGVFbGVtZW50LmV2ZW50cy5kaWRDaGFuZ2UsIHtcbiAgICBidWJibGVzOiB0cnVlLFxuICAgIGNvbXBvc2VkOiB0cnVlLFxuICB9KTtcblxuICAvKiogRW1pdHMgd2hlbmV2ZXIgdGhlIHRvZ2dsZSB2YWx1ZSBjaGFuZ2VzLiAqL1xuICBwcml2YXRlIF9jaGFuZ2U6IEV2ZW50RW1pdHRlciA9IG5ldyBFdmVudEVtaXR0ZXIodGhpcywgU2JiVG9nZ2xlRWxlbWVudC5ldmVudHMuY2hhbmdlLCB7XG4gICAgYnViYmxlczogdHJ1ZSxcbiAgICBjb21wb3NlZDogdHJ1ZSxcbiAgfSk7XG5cbiAgcHJpdmF0ZSBfYWJvcnQgPSBuZXcgU2JiQ29ubmVjdGVkQWJvcnRDb250cm9sbGVyKHRoaXMpO1xuXG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgcHVibGljIHVwZGF0ZVBpbGxQb3NpdGlvbihyZXNpemluZzogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmICghdGhpcy5fbG9hZGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMub3B0aW9ucztcbiAgICBjb25zdCB0b2dnbGVFbGVtZW50ID0gdGhpcy5zaGFkb3dSb290IS5xdWVyeVNlbGVjdG9yPEhUTUxEaXZFbGVtZW50PignLnNiYi10b2dnbGUnKTtcblxuICAgIGlmIChcbiAgICAgIG9wdGlvbnMuZXZlcnkoKG8pID0+ICFvLmNoZWNrZWQpIHx8XG4gICAgICBvcHRpb25zLmV2ZXJ5KChvKSA9PiAhby5jbGllbnRXaWR0aCkgfHxcbiAgICAgICF0b2dnbGVFbGVtZW50XG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtZGlzYWJsZS1hbmltYXRpb24tb24tcmVzaXppbmcnLCByZXNpemluZyk7XG5cbiAgICBjb25zdCBmaXJzdE9wdGlvbiA9IG9wdGlvbnNbMF07XG4gICAgY29uc3QgaXNGaXJzdENoZWNrZWQgPSBmaXJzdE9wdGlvbi5jaGVja2VkO1xuICAgIGNvbnN0IHBpbGxMZWZ0ID0gZmlyc3RPcHRpb24uY2hlY2tlZCA/ICcwcHgnIDogYCR7Zmlyc3RPcHRpb24uY2xpZW50V2lkdGh9cHhgO1xuICAgIGNvbnN0IHBpbGxSaWdodCA9IGlzRmlyc3RDaGVja2VkXG4gICAgICA/IGAke3RvZ2dsZUVsZW1lbnQuY2xpZW50V2lkdGggLSBmaXJzdE9wdGlvbi5jbGllbnRXaWR0aH1weGBcbiAgICAgIDogJzBweCc7XG5cbiAgICB0aGlzLnN0eWxlPy5zZXRQcm9wZXJ0eSgnLS1zYmItdG9nZ2xlLW9wdGlvbi1sZWZ0JywgcGlsbExlZnQpO1xuICAgIHRoaXMuc3R5bGU/LnNldFByb3BlcnR5KCctLXNiYi10b2dnbGUtb3B0aW9uLXJpZ2h0JywgcGlsbFJpZ2h0KTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIGNvbnN0IHNpZ25hbCA9IHRoaXMuX2Fib3J0LnNpZ25hbDtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoJ2lucHV0JywgKCkgPT4gdGhpcy5faGFuZGxlSW5wdXQoKSwgeyBzaWduYWwsIHBhc3NpdmU6IHRydWUgfSk7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgKGUpID0+IHRoaXMuX2hhbmRsZUtleURvd24oZSksIHsgc2lnbmFsIH0pO1xuICAgIHRoaXMub3B0aW9ucy5mb3JFYWNoKChvcHRpb24pID0+IHRoaXMuX3RvZ2dsZVJlc2l6ZU9ic2VydmVyLm9ic2VydmUob3B0aW9uKSk7XG4gICAgdGhpcy5fdXBkYXRlVG9nZ2xlKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgYXN5bmMgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IFByb21pc2U8dm9pZD4ge1xuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBhd2FpdCB0aGlzLnVwZGF0ZUNvbXBsZXRlO1xuICAgIHRoaXMuX2xvYWRlZCA9IHRydWU7XG4gICAgdGhpcy51cGRhdGVQaWxsUG9zaXRpb24oZmFsc2UpO1xuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlVG9nZ2xlKCk6IHZvaWQge1xuICAgIHRoaXMuX3ZhbHVlQ2hhbmdlZCh0aGlzLnZhbHVlKTtcbiAgICB0aGlzLl91cGRhdGVEaXNhYmxlZCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfdmFsdWVDaGFuZ2VkKHZhbHVlOiBhbnkgfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICBjb25zdCBvcHRpb25zID0gdGhpcy5vcHRpb25zO1xuICAgIC8vIElmIG9wdGlvbnMgYXJlIG5vdCB5ZXQgZGVmaW5lZCB3ZWIgY29tcG9uZW50cywgd2UgY2FuIGNoZWNrIGlmIGF0dHJpYnV0ZSBpcyBhbHJlYWR5IHNldCBhcyBhIGZhbGxiYWNrLlxuICAgIC8vIFdlIGRvIHRoaXMgYnkgY2hlY2tpbmcgd2hldGhlciB2YWx1ZSBwcm9wZXJ0eSBpcyBhdmFpbGFibGUgKGRlZmluZWQgY29tcG9uZW50KS5cbiAgICBjb25zdCBzZWxlY3RlZE9wdGlvbiA9XG4gICAgICBvcHRpb25zLmZpbmQoXG4gICAgICAgIChvKSA9PiB2YWx1ZSA9PT0gKCd2YWx1ZScgaW4gbyA/IG8udmFsdWUgOiAobyBhcyBIVE1MRWxlbWVudCkuZ2V0QXR0cmlidXRlKCd2YWx1ZScpKSxcbiAgICAgICkgPz9cbiAgICAgIG9wdGlvbnMuZmluZCgobykgPT4gby5jaGVja2VkKSA/P1xuICAgICAgb3B0aW9uc1swXTtcblxuICAgIGlmICghc2VsZWN0ZWRPcHRpb24pIHtcbiAgICAgIGlmIChpbXBvcnQubWV0YS5lbnYuREVWICYmICFpc1NlcnZlcikge1xuICAgICAgICBjb25zb2xlLndhcm4oYHNiYi10b2dnbGU6IE5vIGF2YWlsYWJsZSBvcHRpb25zISAoJHt0aGlzLmlkIHx8ICdObyBpZCd9KWApO1xuICAgICAgfVxuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoIXNlbGVjdGVkT3B0aW9uLmNoZWNrZWQpIHtcbiAgICAgIHNlbGVjdGVkT3B0aW9uLmNoZWNrZWQgPSB0cnVlO1xuICAgIH1cbiAgICB0aGlzLnVwZGF0ZVBpbGxQb3NpdGlvbihmYWxzZSk7XG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVEaXNhYmxlZCgpOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IHRvZ2dsZU9wdGlvbiBvZiB0aGlzLm9wdGlvbnMpIHtcbiAgICAgIHRvZ2dsZU9wdGlvbi5kaXNhYmxlZCA9IHRoaXMuZGlzYWJsZWQ7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlSW5wdXQoKTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVQaWxsUG9zaXRpb24oZmFsc2UpO1xuICAgIHRoaXMuX2NoYW5nZS5lbWl0KCk7XG4gICAgdGhpcy5fZGlkQ2hhbmdlLmVtaXQoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZUtleURvd24oZXZ0OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgZW5hYmxlZFRvZ2dsZU9wdGlvbnMgPSB0aGlzLm9wdGlvbnMuZmlsdGVyKFxuICAgICAgKHQpID0+ICF0LmRpc2FibGVkICYmIGludGVyYWN0aXZpdHlDaGVja2VyLmlzVmlzaWJsZSh0KSxcbiAgICApO1xuXG4gICAgaWYgKFxuICAgICAgIWVuYWJsZWRUb2dnbGVPcHRpb25zIHx8XG4gICAgICAvLyBkb24ndCB0cmFwIG5lc3RlZCBoYW5kbGluZ1xuICAgICAgKChldnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KSAhPT0gdGhpcyAmJiAoZXZ0LnRhcmdldCBhcyBIVE1MRWxlbWVudCkucGFyZW50RWxlbWVudCAhPT0gdGhpcylcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoaXNBcnJvd0tleVByZXNzZWQoZXZ0KSkge1xuICAgICAgY29uc3QgY2hlY2tlZDogbnVtYmVyID0gZW5hYmxlZFRvZ2dsZU9wdGlvbnMuZmluZEluZGV4KFxuICAgICAgICAodG9nZ2xlT3B0aW9uOiBTYmJUb2dnbGVPcHRpb25FbGVtZW50KSA9PiB0b2dnbGVPcHRpb24uY2hlY2tlZCxcbiAgICAgICk7XG4gICAgICBjb25zdCBuZXh0SW5kZXg6IG51bWJlciA9IGdldE5leHRFbGVtZW50SW5kZXgoZXZ0LCBjaGVja2VkLCBlbmFibGVkVG9nZ2xlT3B0aW9ucy5sZW5ndGgpO1xuICAgICAgaWYgKCFlbmFibGVkVG9nZ2xlT3B0aW9uc1tuZXh0SW5kZXhdLmNoZWNrZWQpIHtcbiAgICAgICAgZW5hYmxlZFRvZ2dsZU9wdGlvbnNbbmV4dEluZGV4XS5jaGVja2VkID0gdHJ1ZTtcbiAgICAgICAgZW5hYmxlZFRvZ2dsZU9wdGlvbnNbbmV4dEluZGV4XS5mb2N1cygpO1xuICAgICAgICBlbmFibGVkVG9nZ2xlT3B0aW9uc1tuZXh0SW5kZXhdLmRpc3BhdGNoRXZlbnQoXG4gICAgICAgICAgbmV3IElucHV0RXZlbnQoJ2lucHV0JywgeyBidWJibGVzOiB0cnVlLCBjb21wb3NlZDogdHJ1ZSB9KSxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi10b2dnbGVcIj5cbiAgICAgICAgPHNsb3QgQHNsb3RjaGFuZ2U9JHt0aGlzLl91cGRhdGVUb2dnbGV9Pjwvc2xvdD5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi10b2dnbGUnOiBTYmJUb2dnbGVFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOlsiU2JiVG9nZ2xlRWxlbWVudCIsIl9hIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBK0JNLG9CQUFnQixNQUFBOztBQUpyQixNQUFBLG1CQUFBLENBQUEsY0FBYyxZQUFZLEdBQzFCLGVBQWU7QUFBQSxJQUNkLE1BQU07QUFBQSxFQUFBLENBQ1AsQ0FBQzs7OztvQkFDNkI7Ozs7Ozs7Ozs7OztBQUFSQSxNQUFBQSxxQkFBQSxtQkFBUSxZQUFVO0FB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
327
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvdG9nZ2xlL3RvZ2dsZS90b2dnbGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVzaXplQ29udHJvbGxlciB9IGZyb20gJ0BsaXQtbGFicy9vYnNlcnZlcnMvcmVzaXplLWNvbnRyb2xsZXIuanMnO1xuaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgaHRtbCxcbiAgaXNTZXJ2ZXIsXG4gIExpdEVsZW1lbnQsXG4gIHR5cGUgUHJvcGVydHlWYWx1ZXMsXG4gIHR5cGUgVGVtcGxhdGVSZXN1bHQsXG59IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgZ2V0TmV4dEVsZW1lbnRJbmRleCwgaW50ZXJhY3Rpdml0eUNoZWNrZXIsIGlzQXJyb3dLZXlQcmVzc2VkIH0gZnJvbSAnLi4vLi4vY29yZS9hMTF5LmpzJztcbmltcG9ydCB7IFNiYkNvbm5lY3RlZEFib3J0Q29udHJvbGxlciB9IGZyb20gJy4uLy4uL2NvcmUvY29udHJvbGxlcnMuanMnO1xuaW1wb3J0IHsgZm9yY2VUeXBlLCBoYW5kbGVEaXN0aW5jdENoYW5nZSwgaG9zdEF0dHJpYnV0ZXMgfSBmcm9tICcuLi8uLi9jb3JlL2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgaXNMZWFuIH0gZnJvbSAnLi4vLi4vY29yZS9kb20uanMnO1xuaW1wb3J0IHsgRXZlbnRFbWl0dGVyIH0gZnJvbSAnLi4vLi4vY29yZS9ldmVudGluZy5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYlRvZ2dsZU9wdGlvbkVsZW1lbnQgfSBmcm9tICcuLi90b2dnbGUtb3B0aW9uLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vdG9nZ2xlLnNjc3M/bGl0JmlubGluZSc7XG5cbi8qKlxuICogSXQgY2FuIGJlIHVzZWQgYXMgYSBjb250YWluZXIgZm9yIHR3byBgc2JiLXRvZ2dsZS1vcHRpb25gLCBhY3RpbmcgYXMgYSB0b2dnbGUgYnV0dG9uLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGA8c2JiLXRvZ2dsZS1vcHRpb24+YCBlbGVtZW50cyB0byB0aGUgdG9nZ2xlLlxuICogQGV2ZW50IHtDdXN0b21FdmVudDx2b2lkPn0gY2hhbmdlIC0gRW1pdHMgd2hlbmV2ZXIgdGhlIHRvZ2dsZSB2YWx1ZSBjaGFuZ2VzLlxuICovXG5leHBvcnRcbkBjdXN0b21FbGVtZW50KCdzYmItdG9nZ2xlJylcbkBob3N0QXR0cmlidXRlcyh7XG4gIHJvbGU6ICdyYWRpb2dyb3VwJyxcbn0pXG5jbGFzcyBTYmJUb2dnbGVFbGVtZW50IGV4dGVuZHMgTGl0RWxlbWVudCB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50cyA9IHtcbiAgICBjaGFuZ2U6ICdjaGFuZ2UnLFxuICB9IGFzIGNvbnN0O1xuXG4gIC8qKiBXaGV0aGVyIHRoZSB0b2dnbGUgaXMgZGlzYWJsZWQuICovXG4gIEBmb3JjZVR5cGUoKVxuICBAaGFuZGxlRGlzdGluY3RDaGFuZ2UoKGUpID0+IGUuX3VwZGF0ZURpc2FibGVkKCkpXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUsIHR5cGU6IEJvb2xlYW4gfSlcbiAgcHVibGljIGFjY2Vzc29yIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIElmIHRydWUsIHNldCB0aGUgd2lkdGggb2YgdGhlIGNvbXBvbmVudCBmaXhlZDsgaWYgZmFsc2UsXG4gICAqIHRoZSB3aWR0aCBpcyBkeW5hbWljIGJhc2VkIG9uIHRoZSBsYWJlbCBvZiB0aGUgc2JiLXRvZ2dsZS1vcHRpb24uXG4gICAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSwgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgYWNjZXNzb3IgZXZlbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBTaXplIHZhcmlhbnQsIGVpdGhlciBtIG9yIHMuXG4gICAqIEBkZWZhdWx0ICdtJyAvICdzJyAobGVhbilcbiAgICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIGFjY2Vzc29yIHNpemU6ICdzJyB8ICdtJyA9IGlzTGVhbigpID8gJ3MnIDogJ20nO1xuXG4gIC8qKlxuICAgKiBUaGUgdmFsdWUgb2YgdGhlIHRvZ2dsZS4gSXQgbmVlZHMgdG8gYmUgbXV0YWJsZSBzaW5jZSBpdCBpcyB1cGRhdGVkIHdoZW5ldmVyXG4gICAqIGEgbmV3IG9wdGlvbiBpcyBzZWxlY3RlZCAoc2VlIHRoZSBgb25Ub2dnbGVPcHRpb25TZWxlY3QoKWAgbWV0aG9kKS5cbiAgICovXG4gIEBwcm9wZXJ0eSgpXG4gIHB1YmxpYyBzZXQgdmFsdWUodmFsdWU6IHN0cmluZykge1xuICAgIGlmIChpc1NlcnZlcikge1xuICAgICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fdmFsdWVDaGFuZ2VkKHZhbHVlKTtcbiAgICB9XG4gIH1cbiAgcHVibGljIGdldCB2YWx1ZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBpc1NlcnZlclxuICAgICAgPyAodGhpcy5fdmFsdWUgPz8gJycpXG4gICAgICA6ICh0aGlzLm9wdGlvbnMuZmluZCgobykgPT4gby5jaGVja2VkKT8udmFsdWUgPz8gdGhpcy5vcHRpb25zWzBdPy52YWx1ZSA/PyAnJyk7XG4gIH1cbiAgcHJpdmF0ZSBfdmFsdWU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gIC8qKiBUaGUgY2hpbGQgaW5zdGFuY2VzIG9mIHNiYi10b2dnbGUtb3B0aW9uIGFzIGFuIGFycmF5LiAqL1xuICBwdWJsaWMgZ2V0IG9wdGlvbnMoKTogU2JiVG9nZ2xlT3B0aW9uRWxlbWVudFtdIHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLnF1ZXJ5U2VsZWN0b3JBbGw/Lignc2JiLXRvZ2dsZS1vcHRpb24nKSA/PyBbXSk7XG4gIH1cblxuICBwcml2YXRlIF9sb2FkZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBfdG9nZ2xlUmVzaXplT2JzZXJ2ZXIgPSBuZXcgUmVzaXplQ29udHJvbGxlcih0aGlzLCB7XG4gICAgdGFyZ2V0OiBudWxsLFxuICAgIHNraXBJbml0aWFsOiB0cnVlLFxuICAgIGNhbGxiYWNrOiAoKSA9PiB0aGlzLnVwZGF0ZVBpbGxQb3NpdGlvbih0cnVlKSxcbiAgfSk7XG5cbiAgLyoqIEVtaXRzIHdoZW5ldmVyIHRoZSB0b2dnbGUgdmFsdWUgY2hhbmdlcy4gKi9cbiAgcHJpdmF0ZSBfY2hhbmdlOiBFdmVudEVtaXR0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyKHRoaXMsIFNiYlRvZ2dsZUVsZW1lbnQuZXZlbnRzLmNoYW5nZSwge1xuICAgIGJ1YmJsZXM6IHRydWUsXG4gICAgY29tcG9zZWQ6IHRydWUsXG4gIH0pO1xuXG4gIHByaXZhdGUgX2Fib3J0ID0gbmV3IFNiYkNvbm5lY3RlZEFib3J0Q29udHJvbGxlcih0aGlzKTtcblxuICAvKiogQGludGVybmFsICovXG4gIHB1YmxpYyB1cGRhdGVQaWxsUG9zaXRpb24ocmVzaXppbmc6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX2xvYWRlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLm9wdGlvbnM7XG4gICAgY29uc3QgdG9nZ2xlRWxlbWVudCA9IHRoaXMuc2hhZG93Um9vdCEucXVlcnlTZWxlY3RvcjxIVE1MRGl2RWxlbWVudD4oJy5zYmItdG9nZ2xlJyk7XG5cbiAgICBpZiAoXG4gICAgICBvcHRpb25zLmV2ZXJ5KChvKSA9PiAhby5jaGVja2VkKSB8fFxuICAgICAgb3B0aW9ucy5ldmVyeSgobykgPT4gIW8uY2xpZW50V2lkdGgpIHx8XG4gICAgICAhdG9nZ2xlRWxlbWVudFxuICAgICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkYXRhLWRpc2FibGUtYW5pbWF0aW9uLW9uLXJlc2l6aW5nJywgcmVzaXppbmcpO1xuXG4gICAgY29uc3QgZmlyc3RPcHRpb24gPSBvcHRpb25zWzBdO1xuICAgIGNvbnN0IGlzRmlyc3RDaGVja2VkID0gZmlyc3RPcHRpb24uY2hlY2tlZDtcbiAgICBjb25zdCBwaWxsTGVmdCA9IGZpcnN0T3B0aW9uLmNoZWNrZWQgPyAnMHB4JyA6IGAke2ZpcnN0T3B0aW9uLmNsaWVudFdpZHRofXB4YDtcbiAgICBjb25zdCBwaWxsUmlnaHQgPSBpc0ZpcnN0Q2hlY2tlZFxuICAgICAgPyBgJHt0b2dnbGVFbGVtZW50LmNsaWVudFdpZHRoIC0gZmlyc3RPcHRpb24uY2xpZW50V2lkdGh9cHhgXG4gICAgICA6ICcwcHgnO1xuXG4gICAgdGhpcy5zdHlsZT8uc2V0UHJvcGVydHkoJy0tc2JiLXRvZ2dsZS1vcHRpb24tbGVmdCcsIHBpbGxMZWZ0KTtcbiAgICB0aGlzLnN0eWxlPy5zZXRQcm9wZXJ0eSgnLS1zYmItdG9nZ2xlLW9wdGlvbi1yaWdodCcsIHBpbGxSaWdodCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICBjb25zdCBzaWduYWwgPSB0aGlzLl9hYm9ydC5zaWduYWw7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyKCdpbnB1dCcsICgpID0+IHRoaXMuX2hhbmRsZUlucHV0KCksIHsgc2lnbmFsLCBwYXNzaXZlOiB0cnVlIH0pO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIChlKSA9PiB0aGlzLl9oYW5kbGVLZXlEb3duKGUpLCB7IHNpZ25hbCB9KTtcbiAgICB0aGlzLm9wdGlvbnMuZm9yRWFjaCgob3B0aW9uKSA9PiB0aGlzLl90b2dnbGVSZXNpemVPYnNlcnZlci5vYnNlcnZlKG9wdGlvbikpO1xuICAgIHRoaXMuX3VwZGF0ZVRvZ2dsZSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGFzeW5jIGZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBzdXBlci5maXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgYXdhaXQgdGhpcy51cGRhdGVDb21wbGV0ZTtcbiAgICB0aGlzLl9sb2FkZWQgPSB0cnVlO1xuICAgIHRoaXMudXBkYXRlUGlsbFBvc2l0aW9uKGZhbHNlKTtcbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZVRvZ2dsZSgpOiB2b2lkIHtcbiAgICB0aGlzLl92YWx1ZUNoYW5nZWQodGhpcy52YWx1ZSk7XG4gICAgdGhpcy5fdXBkYXRlRGlzYWJsZWQoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3ZhbHVlQ2hhbmdlZCh2YWx1ZTogYW55IHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMub3B0aW9ucztcbiAgICAvLyBJZiBvcHRpb25zIGFyZSBub3QgeWV0IGRlZmluZWQgd2ViIGNvbXBvbmVudHMsIHdlIGNhbiBjaGVjayBpZiBhdHRyaWJ1dGUgaXMgYWxyZWFkeSBzZXQgYXMgYSBmYWxsYmFjay5cbiAgICAvLyBXZSBkbyB0aGlzIGJ5IGNoZWNraW5nIHdoZXRoZXIgdmFsdWUgcHJvcGVydHkgaXMgYXZhaWxhYmxlIChkZWZpbmVkIGNvbXBvbmVudCkuXG4gICAgY29uc3Qgc2VsZWN0ZWRPcHRpb24gPVxuICAgICAgb3B0aW9ucy5maW5kKFxuICAgICAgICAobykgPT4gdmFsdWUgPT09ICgndmFsdWUnIGluIG8gPyBvLnZhbHVlIDogKG8gYXMgSFRNTEVsZW1lbnQpLmdldEF0dHJpYnV0ZSgndmFsdWUnKSksXG4gICAgICApID8/XG4gICAgICBvcHRpb25zLmZpbmQoKG8pID0+IG8uY2hlY2tlZCkgPz9cbiAgICAgIG9wdGlvbnNbMF07XG5cbiAgICBpZiAoIXNlbGVjdGVkT3B0aW9uKSB7XG4gICAgICBpZiAoaW1wb3J0Lm1ldGEuZW52LkRFViAmJiAhaXNTZXJ2ZXIpIHtcbiAgICAgICAgY29uc29sZS53YXJuKGBzYmItdG9nZ2xlOiBObyBhdmFpbGFibGUgb3B0aW9ucyEgKCR7dGhpcy5pZCB8fCAnTm8gaWQnfSlgKTtcbiAgICAgIH1cbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKCFzZWxlY3RlZE9wdGlvbi5jaGVja2VkKSB7XG4gICAgICBzZWxlY3RlZE9wdGlvbi5jaGVja2VkID0gdHJ1ZTtcbiAgICB9XG4gICAgdGhpcy51cGRhdGVQaWxsUG9zaXRpb24oZmFsc2UpO1xuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlRGlzYWJsZWQoKTogdm9pZCB7XG4gICAgZm9yIChjb25zdCB0b2dnbGVPcHRpb24gb2YgdGhpcy5vcHRpb25zKSB7XG4gICAgICB0b2dnbGVPcHRpb24uZGlzYWJsZWQgPSB0aGlzLmRpc2FibGVkO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZUlucHV0KCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlUGlsbFBvc2l0aW9uKGZhbHNlKTtcbiAgICB0aGlzLl9jaGFuZ2UuZW1pdCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlS2V5RG93bihldnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBlbmFibGVkVG9nZ2xlT3B0aW9ucyA9IHRoaXMub3B0aW9ucy5maWx0ZXIoXG4gICAgICAodCkgPT4gIXQuZGlzYWJsZWQgJiYgaW50ZXJhY3Rpdml0eUNoZWNrZXIuaXNWaXNpYmxlKHQpLFxuICAgICk7XG5cbiAgICBpZiAoXG4gICAgICAhZW5hYmxlZFRvZ2dsZU9wdGlvbnMgfHxcbiAgICAgIC8vIGRvbid0IHRyYXAgbmVzdGVkIGhhbmRsaW5nXG4gICAgICAoKGV2dC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpICE9PSB0aGlzICYmIChldnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5wYXJlbnRFbGVtZW50ICE9PSB0aGlzKVxuICAgICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChpc0Fycm93S2V5UHJlc3NlZChldnQpKSB7XG4gICAgICBjb25zdCBjaGVja2VkOiBudW1iZXIgPSBlbmFibGVkVG9nZ2xlT3B0aW9ucy5maW5kSW5kZXgoXG4gICAgICAgICh0b2dnbGVPcHRpb246IFNiYlRvZ2dsZU9wdGlvbkVsZW1lbnQpID0+IHRvZ2dsZU9wdGlvbi5jaGVja2VkLFxuICAgICAgKTtcbiAgICAgIGNvbnN0IG5leHRJbmRleDogbnVtYmVyID0gZ2V0TmV4dEVsZW1lbnRJbmRleChldnQsIGNoZWNrZWQsIGVuYWJsZWRUb2dnbGVPcHRpb25zLmxlbmd0aCk7XG4gICAgICBpZiAoIWVuYWJsZWRUb2dnbGVPcHRpb25zW25leHRJbmRleF0uY2hlY2tlZCkge1xuICAgICAgICBlbmFibGVkVG9nZ2xlT3B0aW9uc1tuZXh0SW5kZXhdLmNoZWNrZWQgPSB0cnVlO1xuICAgICAgICBlbmFibGVkVG9nZ2xlT3B0aW9uc1tuZXh0SW5kZXhdLmZvY3VzKCk7XG4gICAgICAgIGVuYWJsZWRUb2dnbGVPcHRpb25zW25leHRJbmRleF0uZGlzcGF0Y2hFdmVudChcbiAgICAgICAgICBuZXcgSW5wdXRFdmVudCgnaW5wdXQnLCB7IGJ1YmJsZXM6IHRydWUsIGNvbXBvc2VkOiB0cnVlIH0pLFxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLXRvZ2dsZVwiPlxuICAgICAgICA8c2xvdCBAc2xvdGNoYW5nZT0ke3RoaXMuX3VwZGF0ZVRvZ2dsZX0+PC9zbG90PlxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLXRvZ2dsZSc6IFNiYlRvZ2dsZUVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJTYmJUb2dnbGVFbGVtZW50IiwiX2EiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUErQk0sb0JBQWdCLE1BQUE7O0FBSnJCLE1BQUEsbUJBQUEsQ0FBQSxjQUFjLFlBQVksR0FDMUIsZUFBZTtBQUFBLElBQ2QsTUFBTTtBQUFBLEVBQUEsQ0FDUCxDQUFDOzs7O29CQUM2Qjs7Ozs7Ozs7Ozs7O0FBQVJBLE1BQUFBLHFCQUFBLG1CQUFRLFlBQVU7QUFBQTs7QUFVdkM7QUFRQTtBQU02QjtBQXhCekIseUJBQUEsNkJBQUEsa0JBQUEsTUFBQSwwQkFBQSxHQVVnQyxrQkFBQSxNQUFBLHdCQUFBLEtBQUs7QUFRekIseUJBQUEseUJBQUEsa0JBQUEsTUFBQSwyQkFBQSxHQUFBLGtCQUFBLE1BQUEsb0JBQWdCLEtBQUs7QUFNMEIseUJBQUEseUJBQUEsa0JBQUEsTUFBQSx1QkFBQSxHQUFBLGtCQUFBLE1BQUEsb0JBQUEsT0FBQSxJQUFXLE1BQU0sR0FBRztBQW1CM0UsV0FBTSxVQUFBLGtCQUFBLE1BQUEsdUJBQUEsR0FBa0I7QUFPeEIsV0FBTyxVQUFZO0FBQ25CLFdBQUEsd0JBQXdCLElBQUksaUJBQWlCLE1BQU07QUFBQSxRQUN6RCxRQUFRO0FBQUEsUUFDUixhQUFhO0FBQUEsUUFDYixVQUFVLE1BQU0sS0FBSyxtQkFBbUIs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