@sbb-esta/lyne-elements 2.3.0 → 2.5.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 (428) hide show
  1. package/autocomplete/autocomplete-base-element.d.ts +1 -0
  2. package/autocomplete/autocomplete-base-element.d.ts.map +1 -1
  3. package/autocomplete/autocomplete.d.ts.map +1 -1
  4. package/autocomplete-grid/autocomplete-grid/autocomplete-grid.d.ts.map +1 -1
  5. package/autocomplete-grid/autocomplete-grid.js +0 -1
  6. package/autocomplete.js +28 -28
  7. package/button/common/button-common.d.ts +1 -2
  8. package/button/common/button-common.d.ts.map +1 -1
  9. package/button/common.js +4 -4
  10. package/calendar/calendar.d.ts +55 -11
  11. package/calendar/calendar.d.ts.map +1 -1
  12. package/calendar.js +374 -224
  13. package/card/common/card-action-common.d.ts.map +1 -1
  14. package/checkbox/checkbox-group/checkbox-group.d.ts.map +1 -1
  15. package/checkbox/checkbox-group.js +1 -1
  16. package/checkbox/common/checkbox-common.d.ts.map +1 -1
  17. package/clock/clock.d.ts +8 -0
  18. package/clock/clock.d.ts.map +1 -1
  19. package/clock.js +40 -31
  20. package/core/a11y/focus.d.ts.map +1 -1
  21. package/core/base-elements.js +36 -36
  22. package/core/controllers/escapable-overlay-controller.d.ts +11 -0
  23. package/core/controllers/escapable-overlay-controller.d.ts.map +1 -0
  24. package/core/controllers/inert-controller.d.ts +3 -3
  25. package/core/controllers/inert-controller.d.ts.map +1 -1
  26. package/core/controllers.d.ts +1 -0
  27. package/core/controllers.d.ts.map +1 -1
  28. package/core/controllers.js +79 -52
  29. package/core/datetime/date-adapter.d.ts +4 -2
  30. package/core/datetime/date-adapter.d.ts.map +1 -1
  31. package/core/datetime/native-date-adapter.d.ts +1 -1
  32. package/core/datetime/native-date-adapter.d.ts.map +1 -1
  33. package/core/datetime.js +51 -43
  34. package/core/decorators/date-converter.d.ts +8 -0
  35. package/core/decorators/date-converter.d.ts.map +1 -0
  36. package/core/decorators/date-only-type.d.ts +8 -0
  37. package/core/decorators/date-only-type.d.ts.map +1 -0
  38. package/core/decorators/force-type.d.ts +1 -1
  39. package/core/decorators/force-type.d.ts.map +1 -1
  40. package/core/decorators/get-override.d.ts.map +1 -1
  41. package/core/decorators/handle-distinct-change.d.ts.map +1 -1
  42. package/core/decorators/host-attributes.d.ts.map +1 -1
  43. package/core/decorators/slot-state.d.ts.map +1 -1
  44. package/core/decorators.d.ts +2 -0
  45. package/core/decorators.d.ts.map +1 -1
  46. package/core/decorators.js +61 -41
  47. package/core/dom/input-element.d.ts +1 -1
  48. package/core/dom/input-element.d.ts.map +1 -1
  49. package/core/dom.js +5 -5
  50. package/core/eventing/throttle.d.ts.map +1 -1
  51. package/core/i18n/i18n.d.ts +5 -0
  52. package/core/i18n/i18n.d.ts.map +1 -1
  53. package/core/i18n.js +138 -108
  54. package/core/mixins/animation-complete-mixin.d.ts +13 -0
  55. package/core/mixins/animation-complete-mixin.d.ts.map +1 -0
  56. package/core/mixins/disabled-mixin.d.ts.map +1 -1
  57. package/core/mixins/form-associated-checkbox-mixin.d.ts.map +1 -1
  58. package/core/mixins/form-associated-input-mixin.d.ts +25 -0
  59. package/core/mixins/form-associated-input-mixin.d.ts.map +1 -0
  60. package/core/mixins/form-associated-mixin.d.ts +13 -0
  61. package/core/mixins/form-associated-mixin.d.ts.map +1 -1
  62. package/core/mixins/form-associated-radio-button-mixin.d.ts.map +1 -1
  63. package/core/mixins/hydration-mixin.d.ts.map +1 -1
  64. package/core/mixins/named-slot-list-mixin.d.ts.map +1 -1
  65. package/core/mixins/negative-mixin.d.ts.map +1 -1
  66. package/core/mixins/panel-mixin.d.ts.map +1 -1
  67. package/core/mixins/required-mixin.d.ts.map +1 -1
  68. package/core/mixins/update-scheduler-mixin.d.ts.map +1 -1
  69. package/core/mixins.d.ts +2 -0
  70. package/core/mixins.d.ts.map +1 -1
  71. package/core/mixins.js +566 -341
  72. package/core/styles/core.scss +84 -1
  73. package/core/styles/mixins/link.scss +14 -0
  74. package/core/styles/node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables.scss +3 -0
  75. package/core/styles/node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables_css--mixin.scss +4 -1
  76. package/core/testing/mocha-extensions.d.ts.map +1 -1
  77. package/core/testing/wait-for-render.d.ts.map +1 -1
  78. package/core.css +53 -3
  79. package/custom-elements.json +37278 -30220
  80. package/date-input/date-input.d.ts +75 -0
  81. package/date-input/date-input.d.ts.map +1 -0
  82. package/date-input.d.ts +2 -0
  83. package/date-input.d.ts.map +1 -0
  84. package/date-input.js +155 -0
  85. package/datepicker/common/datepicker-button.d.ts.map +1 -1
  86. package/datepicker/common.js +49 -45
  87. package/datepicker/datepicker/datepicker.d.ts +16 -6
  88. package/datepicker/datepicker/datepicker.d.ts.map +1 -1
  89. package/datepicker/datepicker-toggle/datepicker-toggle.d.ts.map +1 -1
  90. package/datepicker/datepicker-toggle.js +41 -38
  91. package/datepicker/datepicker.js +95 -77
  92. package/development/autocomplete/autocomplete-base-element.d.ts +1 -0
  93. package/development/autocomplete/autocomplete-base-element.d.ts.map +1 -1
  94. package/development/autocomplete/autocomplete.d.ts.map +1 -1
  95. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.d.ts.map +1 -1
  96. package/development/autocomplete-grid/autocomplete-grid.js +1 -2
  97. package/development/autocomplete.js +9 -4
  98. package/development/button/common/button-common.d.ts +1 -2
  99. package/development/button/common/button-common.d.ts.map +1 -1
  100. package/development/button/common.js +26 -24
  101. package/development/calendar/calendar.d.ts +55 -11
  102. package/development/calendar/calendar.d.ts.map +1 -1
  103. package/development/calendar.js +301 -87
  104. package/development/card/common/card-action-common.d.ts.map +1 -1
  105. package/development/checkbox/checkbox-group/checkbox-group.d.ts.map +1 -1
  106. package/development/checkbox/checkbox-group.js +2 -2
  107. package/development/checkbox/common/checkbox-common.d.ts.map +1 -1
  108. package/development/clock/clock.d.ts +8 -0
  109. package/development/clock/clock.d.ts.map +1 -1
  110. package/development/clock.js +20 -2
  111. package/development/core/a11y/focus.d.ts.map +1 -1
  112. package/development/core/a11y.js +1 -1
  113. package/development/core/base-elements.js +6 -6
  114. package/development/core/controllers/escapable-overlay-controller.d.ts +11 -0
  115. package/development/core/controllers/escapable-overlay-controller.d.ts.map +1 -0
  116. package/development/core/controllers/inert-controller.d.ts +3 -3
  117. package/development/core/controllers/inert-controller.d.ts.map +1 -1
  118. package/development/core/controllers.d.ts +1 -0
  119. package/development/core/controllers.d.ts.map +1 -1
  120. package/development/core/controllers.js +41 -7
  121. package/development/core/datetime/date-adapter.d.ts +4 -2
  122. package/development/core/datetime/date-adapter.d.ts.map +1 -1
  123. package/development/core/datetime/native-date-adapter.d.ts +1 -1
  124. package/development/core/datetime/native-date-adapter.d.ts.map +1 -1
  125. package/development/core/datetime.js +14 -2
  126. package/development/core/decorators/date-converter.d.ts +8 -0
  127. package/development/core/decorators/date-converter.d.ts.map +1 -0
  128. package/development/core/decorators/date-only-type.d.ts +8 -0
  129. package/development/core/decorators/date-only-type.d.ts.map +1 -0
  130. package/development/core/decorators/force-type.d.ts +1 -1
  131. package/development/core/decorators/force-type.d.ts.map +1 -1
  132. package/development/core/decorators/get-override.d.ts.map +1 -1
  133. package/development/core/decorators/handle-distinct-change.d.ts.map +1 -1
  134. package/development/core/decorators/host-attributes.d.ts.map +1 -1
  135. package/development/core/decorators/slot-state.d.ts.map +1 -1
  136. package/development/core/decorators.d.ts +2 -0
  137. package/development/core/decorators.d.ts.map +1 -1
  138. package/development/core/decorators.js +27 -6
  139. package/development/core/dom/input-element.d.ts +1 -1
  140. package/development/core/dom/input-element.d.ts.map +1 -1
  141. package/development/core/dom.js +3 -3
  142. package/development/core/eventing/throttle.d.ts.map +1 -1
  143. package/development/core/i18n/i18n.d.ts +5 -0
  144. package/development/core/i18n/i18n.d.ts.map +1 -1
  145. package/development/core/i18n.js +36 -1
  146. package/development/core/mixins/animation-complete-mixin.d.ts +13 -0
  147. package/development/core/mixins/animation-complete-mixin.d.ts.map +1 -0
  148. package/development/core/mixins/disabled-mixin.d.ts.map +1 -1
  149. package/development/core/mixins/form-associated-checkbox-mixin.d.ts.map +1 -1
  150. package/development/core/mixins/form-associated-input-mixin.d.ts +25 -0
  151. package/development/core/mixins/form-associated-input-mixin.d.ts.map +1 -0
  152. package/development/core/mixins/form-associated-mixin.d.ts +13 -0
  153. package/development/core/mixins/form-associated-mixin.d.ts.map +1 -1
  154. package/development/core/mixins/form-associated-radio-button-mixin.d.ts.map +1 -1
  155. package/development/core/mixins/hydration-mixin.d.ts.map +1 -1
  156. package/development/core/mixins/named-slot-list-mixin.d.ts.map +1 -1
  157. package/development/core/mixins/negative-mixin.d.ts.map +1 -1
  158. package/development/core/mixins/panel-mixin.d.ts.map +1 -1
  159. package/development/core/mixins/required-mixin.d.ts.map +1 -1
  160. package/development/core/mixins/update-scheduler-mixin.d.ts.map +1 -1
  161. package/development/core/mixins.d.ts +2 -0
  162. package/development/core/mixins.d.ts.map +1 -1
  163. package/development/core/mixins.js +428 -88
  164. package/development/core/testing/mocha-extensions.d.ts.map +1 -1
  165. package/development/core/testing/wait-for-render.d.ts.map +1 -1
  166. package/development/date-input/date-input.d.ts +75 -0
  167. package/development/date-input/date-input.d.ts.map +1 -0
  168. package/development/date-input.d.ts +2 -0
  169. package/development/date-input.d.ts.map +1 -0
  170. package/development/date-input.js +267 -0
  171. package/development/datepicker/common/datepicker-button.d.ts.map +1 -1
  172. package/development/datepicker/common.js +11 -2
  173. package/development/datepicker/datepicker/datepicker.d.ts +16 -6
  174. package/development/datepicker/datepicker/datepicker.d.ts.map +1 -1
  175. package/development/datepicker/datepicker-toggle/datepicker-toggle.d.ts.map +1 -1
  176. package/development/datepicker/datepicker-toggle.js +12 -3
  177. package/development/datepicker/datepicker.js +66 -39
  178. package/development/dialog/dialog/dialog.d.ts.map +1 -1
  179. package/development/dialog/dialog-title/dialog-title.d.ts +3 -1
  180. package/development/dialog/dialog-title/dialog-title.d.ts.map +1 -1
  181. package/development/dialog/dialog-title.js +7 -2
  182. package/development/dialog/dialog.js +3 -1
  183. package/development/expansion-panel/expansion-panel/expansion-panel.d.ts.map +1 -1
  184. package/development/expansion-panel/expansion-panel.js +2 -2
  185. package/development/file-selector/common/file-selector-common.d.ts.map +1 -1
  186. package/development/flip-card/flip-card-details/flip-card-details.d.ts.map +1 -1
  187. package/development/flip-card/flip-card-details.js +5 -3
  188. package/development/form-field/form-field/form-field.d.ts +1 -1
  189. package/development/form-field/form-field/form-field.d.ts.map +1 -1
  190. package/development/form-field/form-field.js +19 -13
  191. package/development/header/common/header-action-common.d.ts.map +1 -1
  192. package/development/header/common.js +2 -2
  193. package/development/icon/icon-name-mixin.d.ts.map +1 -1
  194. package/development/icon/icon-request.d.ts.map +1 -1
  195. package/development/icon/icon-validate.d.ts.map +1 -1
  196. package/development/link/common/block-link-common.d.ts.map +1 -1
  197. package/development/link/common/inline-link-common.d.ts.map +1 -1
  198. package/development/link/common/link-common.d.ts.map +1 -1
  199. package/development/link/common.js +13 -1
  200. package/development/menu/common/menu-action-common.d.ts.map +1 -1
  201. package/development/menu/menu/menu.d.ts +1 -1
  202. package/development/menu/menu/menu.d.ts.map +1 -1
  203. package/development/menu/menu.js +8 -15
  204. package/development/navigation/common/navigation-action-common.d.ts.map +1 -1
  205. package/development/navigation/navigation/navigation.d.ts +1 -3
  206. package/development/navigation/navigation/navigation.d.ts.map +1 -1
  207. package/development/navigation/navigation.js +11 -21
  208. package/development/overlay/overlay-base-element.d.ts +2 -2
  209. package/development/overlay/overlay-base-element.d.ts.map +1 -1
  210. package/development/overlay/overlay.d.ts.map +1 -1
  211. package/development/overlay.js +9 -13
  212. package/development/paginator/common/paginator-common.d.ts.map +1 -1
  213. package/development/popover/popover/popover.d.ts +1 -1
  214. package/development/popover/popover/popover.d.ts.map +1 -1
  215. package/development/popover/popover.js +5 -15
  216. package/development/radio-button/common/radio-button-common.d.ts.map +1 -1
  217. package/development/radio-button/radio-button-group/radio-button-group.d.ts.map +1 -1
  218. package/development/radio-button/radio-button-group.js +2 -2
  219. package/development/sbb-tokens-CSAKTXUi.js +1 -1
  220. package/development/select/select.d.ts +3 -1
  221. package/development/select/select.d.ts.map +1 -1
  222. package/development/select.js +12 -8
  223. package/development/selection-expansion-panel/selection-expansion-panel.d.ts.map +1 -1
  224. package/development/selection-expansion-panel.js +2 -2
  225. package/development/sidebar/common.d.ts +1 -0
  226. package/development/sidebar/common.d.ts.map +1 -0
  227. package/development/sidebar/common.js +114 -0
  228. package/development/sidebar/icon-sidebar/icon-sidebar.d.ts +23 -0
  229. package/development/sidebar/icon-sidebar/icon-sidebar.d.ts.map +1 -0
  230. package/development/sidebar/icon-sidebar-button/icon-sidebar-button.d.ts +19 -0
  231. package/development/sidebar/icon-sidebar-button/icon-sidebar-button.d.ts.map +1 -0
  232. package/development/sidebar/icon-sidebar-button.d.ts +2 -0
  233. package/development/sidebar/icon-sidebar-button.d.ts.map +1 -0
  234. package/development/sidebar/icon-sidebar-button.js +28 -0
  235. package/development/sidebar/icon-sidebar-container/icon-sidebar-container.d.ts +23 -0
  236. package/development/sidebar/icon-sidebar-container/icon-sidebar-container.d.ts.map +1 -0
  237. package/development/sidebar/icon-sidebar-container.d.ts +2 -0
  238. package/development/sidebar/icon-sidebar-container.d.ts.map +1 -0
  239. package/development/sidebar/icon-sidebar-container.js +45 -0
  240. package/development/sidebar/icon-sidebar-content/icon-sidebar-content.d.ts +17 -0
  241. package/development/sidebar/icon-sidebar-content/icon-sidebar-content.d.ts.map +1 -0
  242. package/development/sidebar/icon-sidebar-content.d.ts +2 -0
  243. package/development/sidebar/icon-sidebar-content.d.ts.map +1 -0
  244. package/development/sidebar/icon-sidebar-content.js +34 -0
  245. package/development/sidebar/icon-sidebar-link/icon-sidebar-link.d.ts +19 -0
  246. package/development/sidebar/icon-sidebar-link/icon-sidebar-link.d.ts.map +1 -0
  247. package/development/sidebar/icon-sidebar-link.d.ts +2 -0
  248. package/development/sidebar/icon-sidebar-link.d.ts.map +1 -0
  249. package/development/sidebar/icon-sidebar-link.js +28 -0
  250. package/development/sidebar/icon-sidebar.d.ts +2 -0
  251. package/development/sidebar/icon-sidebar.d.ts.map +1 -0
  252. package/development/sidebar/icon-sidebar.js +85 -0
  253. package/development/sidebar/sidebar/sidebar.d.ts +76 -0
  254. package/development/sidebar/sidebar/sidebar.d.ts.map +1 -0
  255. package/development/sidebar/sidebar-close-button/sidebar-close-button.d.ts +22 -0
  256. package/development/sidebar/sidebar-close-button/sidebar-close-button.d.ts.map +1 -0
  257. package/development/sidebar/sidebar-close-button.d.ts +2 -0
  258. package/development/sidebar/sidebar-close-button.d.ts.map +1 -0
  259. package/development/sidebar/sidebar-close-button.js +55 -0
  260. package/development/sidebar/sidebar-container/sidebar-container.d.ts +34 -0
  261. package/development/sidebar/sidebar-container/sidebar-container.d.ts.map +1 -0
  262. package/development/sidebar/sidebar-container.d.ts +2 -0
  263. package/development/sidebar/sidebar-container.d.ts.map +1 -0
  264. package/development/sidebar/sidebar-container.js +153 -0
  265. package/development/sidebar/sidebar-content/sidebar-content.d.ts +18 -0
  266. package/development/sidebar/sidebar-content/sidebar-content.d.ts.map +1 -0
  267. package/development/sidebar/sidebar-content.d.ts +2 -0
  268. package/development/sidebar/sidebar-content.d.ts.map +1 -0
  269. package/development/sidebar/sidebar-content.js +37 -0
  270. package/development/sidebar/sidebar-title/sidebar-title.d.ts +17 -0
  271. package/development/sidebar/sidebar-title/sidebar-title.d.ts.map +1 -0
  272. package/development/sidebar/sidebar-title.d.ts +2 -0
  273. package/development/sidebar/sidebar-title.d.ts.map +1 -0
  274. package/development/sidebar/sidebar-title.js +63 -0
  275. package/development/sidebar/sidebar.d.ts +2 -0
  276. package/development/sidebar/sidebar.d.ts.map +1 -0
  277. package/development/sidebar/sidebar.js +523 -0
  278. package/development/sidebar.d.ts +12 -0
  279. package/development/sidebar.d.ts.map +1 -0
  280. package/development/sidebar.js +12 -0
  281. package/development/stepper/step/step.d.ts +0 -2
  282. package/development/stepper/step/step.d.ts.map +1 -1
  283. package/development/stepper/step.js +19 -23
  284. package/development/stepper/stepper/stepper.d.ts +11 -0
  285. package/development/stepper/stepper/stepper.d.ts.map +1 -1
  286. package/development/stepper/stepper.js +30 -3
  287. package/development/tag/tag/tag.d.ts +11 -0
  288. package/development/tag/tag/tag.d.ts.map +1 -1
  289. package/development/tag/tag-group/tag-group.d.ts +1 -1
  290. package/development/tag/tag-group/tag-group.d.ts.map +1 -1
  291. package/development/tag/tag-group.js +9 -3
  292. package/development/tag/tag.js +37 -10
  293. package/development/teaser-product/common/teaser-product-common.d.ts.map +1 -1
  294. package/development/time-input/time-input.d.ts +3 -2
  295. package/development/time-input/time-input.d.ts.map +1 -1
  296. package/development/time-input.js +19 -10
  297. package/development/title/title-base.d.ts +2 -4
  298. package/development/title/title-base.d.ts.map +1 -1
  299. package/development/title/title.d.ts +3 -1
  300. package/development/title/title.d.ts.map +1 -1
  301. package/development/title.js +8 -8
  302. package/dialog/dialog/dialog.d.ts.map +1 -1
  303. package/dialog/dialog-title/dialog-title.d.ts +3 -1
  304. package/dialog/dialog-title/dialog-title.d.ts.map +1 -1
  305. package/dialog/dialog-title.js +16 -15
  306. package/dialog/dialog.js +2 -2
  307. package/expansion-panel/expansion-panel/expansion-panel.d.ts.map +1 -1
  308. package/expansion-panel/expansion-panel.js +1 -1
  309. package/file-selector/common/file-selector-common.d.ts.map +1 -1
  310. package/flip-card/flip-card-details/flip-card-details.d.ts.map +1 -1
  311. package/flip-card/flip-card-details.js +14 -13
  312. package/form-field/form-field/form-field.d.ts +1 -1
  313. package/form-field/form-field/form-field.d.ts.map +1 -1
  314. package/form-field/form-field.js +30 -24
  315. package/header/common/header-action-common.d.ts.map +1 -1
  316. package/header/common.js +6 -6
  317. package/icon/icon-name-mixin.d.ts.map +1 -1
  318. package/icon/icon-request.d.ts.map +1 -1
  319. package/icon/icon-validate.d.ts.map +1 -1
  320. package/index.d.ts +22 -0
  321. package/index.js +22 -0
  322. package/link/common/block-link-common.d.ts.map +1 -1
  323. package/link/common/inline-link-common.d.ts.map +1 -1
  324. package/link/common/link-common.d.ts.map +1 -1
  325. package/link/common.js +12 -12
  326. package/menu/common/menu-action-common.d.ts.map +1 -1
  327. package/menu/menu/menu.d.ts +1 -1
  328. package/menu/menu/menu.d.ts.map +1 -1
  329. package/menu/menu.js +26 -35
  330. package/navigation/common/navigation-action-common.d.ts.map +1 -1
  331. package/navigation/navigation/navigation.d.ts +1 -3
  332. package/navigation/navigation/navigation.d.ts.map +1 -1
  333. package/navigation/navigation.js +47 -56
  334. package/overlay/overlay-base-element.d.ts +2 -2
  335. package/overlay/overlay-base-element.d.ts.map +1 -1
  336. package/overlay/overlay.d.ts.map +1 -1
  337. package/overlay.js +58 -64
  338. package/package.json +66 -1
  339. package/paginator/common/paginator-common.d.ts.map +1 -1
  340. package/popover/popover/popover.d.ts +1 -1
  341. package/popover/popover/popover.d.ts.map +1 -1
  342. package/popover/popover.js +101 -110
  343. package/radio-button/common/radio-button-common.d.ts.map +1 -1
  344. package/radio-button/radio-button-group/radio-button-group.d.ts.map +1 -1
  345. package/radio-button/radio-button-group.js +1 -1
  346. package/select/select.d.ts +3 -1
  347. package/select/select.d.ts.map +1 -1
  348. package/select.js +39 -37
  349. package/selection-expansion-panel/selection-expansion-panel.d.ts.map +1 -1
  350. package/selection-expansion-panel.js +1 -1
  351. package/sidebar/common.d.ts +1 -0
  352. package/sidebar/common.d.ts.map +1 -0
  353. package/sidebar/common.js +7 -0
  354. package/sidebar/icon-sidebar/icon-sidebar.d.ts +23 -0
  355. package/sidebar/icon-sidebar/icon-sidebar.d.ts.map +1 -0
  356. package/sidebar/icon-sidebar-button/icon-sidebar-button.d.ts +19 -0
  357. package/sidebar/icon-sidebar-button/icon-sidebar-button.d.ts.map +1 -0
  358. package/sidebar/icon-sidebar-button.d.ts +2 -0
  359. package/sidebar/icon-sidebar-button.d.ts.map +1 -0
  360. package/sidebar/icon-sidebar-button.js +20 -0
  361. package/sidebar/icon-sidebar-container/icon-sidebar-container.d.ts +23 -0
  362. package/sidebar/icon-sidebar-container/icon-sidebar-container.d.ts.map +1 -0
  363. package/sidebar/icon-sidebar-container.d.ts +2 -0
  364. package/sidebar/icon-sidebar-container.d.ts.map +1 -0
  365. package/sidebar/icon-sidebar-container.js +35 -0
  366. package/sidebar/icon-sidebar-content/icon-sidebar-content.d.ts +17 -0
  367. package/sidebar/icon-sidebar-content/icon-sidebar-content.d.ts.map +1 -0
  368. package/sidebar/icon-sidebar-content.d.ts +2 -0
  369. package/sidebar/icon-sidebar-content.d.ts.map +1 -0
  370. package/sidebar/icon-sidebar-content.js +23 -0
  371. package/sidebar/icon-sidebar-link/icon-sidebar-link.d.ts +19 -0
  372. package/sidebar/icon-sidebar-link/icon-sidebar-link.d.ts.map +1 -0
  373. package/sidebar/icon-sidebar-link.d.ts +2 -0
  374. package/sidebar/icon-sidebar-link.d.ts.map +1 -0
  375. package/sidebar/icon-sidebar-link.js +20 -0
  376. package/sidebar/icon-sidebar.d.ts +2 -0
  377. package/sidebar/icon-sidebar.d.ts.map +1 -0
  378. package/sidebar/icon-sidebar.js +47 -0
  379. package/sidebar/sidebar/sidebar.d.ts +76 -0
  380. package/sidebar/sidebar/sidebar.d.ts.map +1 -0
  381. package/sidebar/sidebar-close-button/sidebar-close-button.d.ts +22 -0
  382. package/sidebar/sidebar-close-button/sidebar-close-button.d.ts.map +1 -0
  383. package/sidebar/sidebar-close-button.d.ts +2 -0
  384. package/sidebar/sidebar-close-button.d.ts.map +1 -0
  385. package/sidebar/sidebar-close-button.js +29 -0
  386. package/sidebar/sidebar-container/sidebar-container.d.ts +34 -0
  387. package/sidebar/sidebar-container/sidebar-container.d.ts.map +1 -0
  388. package/sidebar/sidebar-container.d.ts +2 -0
  389. package/sidebar/sidebar-container.d.ts.map +1 -0
  390. package/sidebar/sidebar-container.js +78 -0
  391. package/sidebar/sidebar-content/sidebar-content.d.ts +18 -0
  392. package/sidebar/sidebar-content/sidebar-content.d.ts.map +1 -0
  393. package/sidebar/sidebar-content.d.ts +2 -0
  394. package/sidebar/sidebar-content.d.ts.map +1 -0
  395. package/sidebar/sidebar-content.js +23 -0
  396. package/sidebar/sidebar-title/sidebar-title.d.ts +17 -0
  397. package/sidebar/sidebar-title/sidebar-title.d.ts.map +1 -0
  398. package/sidebar/sidebar-title.d.ts +2 -0
  399. package/sidebar/sidebar-title.d.ts.map +1 -0
  400. package/sidebar/sidebar-title.js +37 -0
  401. package/sidebar/sidebar.d.ts +2 -0
  402. package/sidebar/sidebar.d.ts.map +1 -0
  403. package/sidebar/sidebar.js +214 -0
  404. package/sidebar.d.ts +12 -0
  405. package/sidebar.d.ts.map +1 -0
  406. package/sidebar.js +11 -0
  407. package/standard-theme.css +53 -3
  408. package/stepper/step/step.d.ts +0 -2
  409. package/stepper/step/step.d.ts.map +1 -1
  410. package/stepper/step.js +23 -35
  411. package/stepper/stepper/stepper.d.ts +11 -0
  412. package/stepper/stepper/stepper.d.ts.map +1 -1
  413. package/stepper/stepper.js +59 -41
  414. package/tag/tag/tag.d.ts +11 -0
  415. package/tag/tag/tag.d.ts.map +1 -1
  416. package/tag/tag-group/tag-group.d.ts +1 -1
  417. package/tag/tag-group/tag-group.d.ts.map +1 -1
  418. package/tag/tag-group.js +32 -29
  419. package/tag/tag.js +60 -41
  420. package/teaser-product/common/teaser-product-common.d.ts.map +1 -1
  421. package/time-input/time-input.d.ts +3 -2
  422. package/time-input/time-input.d.ts.map +1 -1
  423. package/time-input.js +44 -36
  424. package/title/title-base.d.ts +2 -4
  425. package/title/title-base.d.ts.map +1 -1
  426. package/title/title.d.ts +3 -1
  427. package/title/title.d.ts.map +1 -1
  428. package/title.js +11 -11
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sidebar.d.ts","sourceRoot":"","sources":["../../../src/elements/sidebar.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kCAAkC,CAAC;AACjD,cAAc,qCAAqC,CAAC;AACpD,cAAc,mCAAmC,CAAC;AAClD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,sBAAsB,CAAC;AACrC,cAAc,mCAAmC,CAAC;AAClD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC"}
@@ -0,0 +1,12 @@
1
+ export * from "./sidebar/common.js";
2
+ export * from "./sidebar/icon-sidebar.js";
3
+ export * from "./sidebar/icon-sidebar-button.js";
4
+ export * from "./sidebar/icon-sidebar-container.js";
5
+ export * from "./sidebar/icon-sidebar-content.js";
6
+ export * from "./sidebar/icon-sidebar-link.js";
7
+ export * from "./sidebar/sidebar.js";
8
+ export * from "./sidebar/sidebar-close-button.js";
9
+ export * from "./sidebar/sidebar-container.js";
10
+ export * from "./sidebar/sidebar-content.js";
11
+ export * from "./sidebar/sidebar-title.js";
12
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZWJhci5qcyIsInNvdXJjZXMiOltdLCJzb3VyY2VzQ29udGVudCI6W10sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OyJ9
@@ -22,7 +22,6 @@ export declare class SbbStepElement extends LitElement {
22
22
  private _loaded;
23
23
  private _stepper;
24
24
  private _label;
25
- private _stepResizeObserver;
26
25
  /** The label of the step. */
27
26
  get label(): SbbStepLabelElement | null;
28
27
  constructor();
@@ -50,7 +49,6 @@ export declare class SbbStepElement extends LitElement {
50
49
  private _handleClick;
51
50
  private _isGoNextElement;
52
51
  private _isGoPreviousElement;
53
- private _onStepElementResize;
54
52
  private _getStepLabel;
55
53
  connectedCallback(): void;
56
54
  protected firstUpdated(changedProperties: PropertyValues<this>): void;
@@ -1 +1 @@
1
- {"version":3,"file":"step.d.ts","sourceRoot":"","sources":["../../../../../src/elements/stepper/step/step.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,cAAc,EAEnB,UAAU,EACV,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAKb,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAO5D,MAAM,MAAM,2BAA2B,GAAG;IACxC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,EAAE,cAAc,GAAG,IAAI,CAAC;IACnC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,cAAc,GAAG,IAAI,CAAC;CACjC,CAAC;AAEF;;;;;GAKG;AACH,qBAMM,cAAe,SAAQ,UAAU;IACrC,OAAuB,MAAM,EAAE,cAAc,CAAS;IACtD,gBAAuB,MAAM;;MAElB;IAEX,+CAA+C;IAC/C,OAAO,CAAC,SAAS,CAGf;IAEF,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,QAAQ,CAAkC;IAClD,OAAO,CAAC,MAAM,CAAoC;IAClD,OAAO,CAAC,mBAAmB,CAIxB;IAEH,6BAA6B;IAC7B,IAAW,KAAK,IAAI,mBAAmB,GAAG,IAAI,CAE7C;;IAOD;;;OAGG;IACI,MAAM,IAAI,IAAI;IAQrB;;;OAGG;IACI,QAAQ,IAAI,IAAI;IAQvB;;;OAGG;IACI,QAAQ,CAAC,SAAS,EAAE,2BAA2B,GAAG,OAAO;IAIhE;;;OAGG;IACI,SAAS,CAAC,aAAa,EAAE,OAAO,GAAG,IAAI;IAS9C,iGAAiG;IACjG,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,oBAAoB;IAQ5B,OAAO,CAAC,aAAa;IAQL,iBAAiB,IAAI,IAAI;cAOtB,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;cAM3D,MAAM,IAAI,cAAc;CAS5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,UAAU,EAAE,cAAc,CAAC;KAC5B;CACF"}
1
+ {"version":3,"file":"step.d.ts","sourceRoot":"","sources":["../../../../../src/elements/stepper/step/step.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EAEnB,UAAU,EACV,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAKb,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAO5D,MAAM,MAAM,2BAA2B,GAAG;IACxC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,EAAE,cAAc,GAAG,IAAI,CAAC;IACnC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,cAAc,GAAG,IAAI,CAAC;CACjC,CAAC;AAEF;;;;;GAKG;AACH,qBAMM,cAAe,SAAQ,UAAU;IACrC,OAAuB,MAAM,EAAE,cAAc,CAAS;IACtD,gBAAuB,MAAM;;MAElB;IAEX,+CAA+C;IAC/C,OAAO,CAAC,SAAS,CAGf;IAEF,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,QAAQ,CAAkC;IAClD,OAAO,CAAC,MAAM,CAAoC;IAElD,6BAA6B;IAC7B,IAAW,KAAK,IAAI,mBAAmB,GAAG,IAAI,CAE7C;;IAOD;;;OAGG;IACI,MAAM,IAAI,IAAI;IAQrB;;;OAGG;IACI,QAAQ,IAAI,IAAI;IAQvB;;;OAGG;IACI,QAAQ,CAAC,SAAS,EAAE,2BAA2B,GAAG,OAAO;IAIhE;;;OAGG;IACI,SAAS,CAAC,aAAa,EAAE,OAAO,GAAG,IAAI;IAS9C,iGAAiG;IACjG,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,aAAa;IAQL,iBAAiB,IAAI,IAAI;cAOtB,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;cAK3D,MAAM,IAAI,cAAc;CAS5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,UAAU,EAAE,cAAc,CAAC;KAC5B;CACF"}
@@ -1,5 +1,4 @@
1
1
  import { __esDecorate, __runInitializers } from "tslib";
2
- import { ResizeController } from "@lit-labs/observers/resize-controller.js";
3
2
  import { css, LitElement, html } from "lit";
4
3
  import { customElement } from "lit/decorators.js";
5
4
  import { hostAttributes } from "../core/decorators.js";
@@ -14,7 +13,7 @@ const style = css`*,
14
13
  --sbb-step-position: initial;
15
14
  --sbb-step-inset-block-start: unset;
16
15
  --sbb-step-opacity: 0;
17
- --sbb-step-visibility: hidden;
16
+ --sbb-step-display: none;
18
17
  --sbb-step-height: 0;
19
18
  --sbb-step-animation-duration: var(
20
19
  --sbb-disable-animation-duration,
@@ -27,9 +26,12 @@ const style = css`*,
27
26
 
28
27
  :host([data-selected]) {
29
28
  --sbb-step-opacity: 1;
30
- --sbb-step-visibility: visible;
29
+ --sbb-step-display: block;
31
30
  --sbb-step-height: fit-content;
32
- --sbb-step-animation-duration: var(--sbb-animation-duration-4x);
31
+ --sbb-step-animation-duration: var(
32
+ --sbb-disable-animation-duration,
33
+ var(--sbb-animation-duration-4x)
34
+ );
33
35
  --sbb-step-animation-delay: var(--sbb-step-animation-duration);
34
36
  }
35
37
 
@@ -42,12 +44,14 @@ const style = css`*,
42
44
  margin-inline-start: var(--sbb-spacing-fixed-4x);
43
45
  opacity: 0;
44
46
  height: 0;
45
- transition: height var(--sbb-stepper-animation-duration) var(--sbb-animation-easing), opacity var(--sbb-step-animation-duration) var(--sbb-animation-easing);
47
+ transition: display var(--sbb-step-animation-duration) var(--sbb-animation-easing), height var(--sbb-stepper-animation-duration) var(--sbb-animation-easing), opacity var(--sbb-step-animation-duration) var(--sbb-animation-easing);
48
+ transition-behavior: allow-discrete;
46
49
  }
47
50
  :host([data-selected][data-orientation=vertical]) .sbb-step--wrapper {
48
51
  opacity: 1;
49
52
  height: var(--sbb-stepper-content-height);
50
- transition: height var(--sbb-stepper-animation-duration) var(--sbb-animation-easing), opacity var(--sbb-step-animation-duration) var(--sbb-stepper-animation-duration) var(--sbb-animation-easing);
53
+ transition: display var(--sbb-step-animation-duration) var(--sbb-animation-easing), height var(--sbb-stepper-animation-duration) var(--sbb-animation-easing), opacity var(--sbb-step-animation-duration) var(--sbb-stepper-animation-duration) var(--sbb-animation-easing);
54
+ transition-behavior: allow-discrete;
51
55
  }
52
56
 
53
57
  .sbb-step {
@@ -61,13 +65,19 @@ const style = css`*,
61
65
  width: 100%;
62
66
  inset-block-start: var(--sbb-step-inset-block-start);
63
67
  opacity: var(--sbb-step-opacity);
64
- visibility: var(--sbb-step-visibility);
68
+ display: var(--sbb-step-display);
65
69
  height: var(--sbb-step-height);
66
70
  color: var(--sbb-step-color);
67
- transition-property: opacity, visibility;
71
+ transition-property: display, opacity;
68
72
  transition-duration: var(--sbb-step-animation-duration);
69
73
  transition-delay: var(--sbb-step-animation-delay);
70
74
  transition-timing-function: var(--sbb-animation-easing);
75
+ transition-behavior: allow-discrete;
76
+ }
77
+ @starting-style {
78
+ .sbb-step {
79
+ --sbb-step-opacity: 0;
80
+ }
71
81
  }`;
72
82
  let nextId = 0;
73
83
  let SbbStepElement = (() => {
@@ -92,11 +102,6 @@ let SbbStepElement = (() => {
92
102
  this._loaded = false;
93
103
  this._stepper = null;
94
104
  this._label = null;
95
- this._stepResizeObserver = new ResizeController(this, {
96
- target: null,
97
- skipInitial: true,
98
- callback: (entries) => this._onStepElementResize(entries)
99
- });
100
105
  (_a2 = this.addEventListener) == null ? void 0 : _a2.call(this, "click", (e) => this._handleClick(e));
101
106
  }
102
107
  /**
@@ -156,14 +161,6 @@ let SbbStepElement = (() => {
156
161
  _isGoPreviousElement(element) {
157
162
  return element.hasAttribute("sbb-stepper-previous") && !element.hasAttribute("disabled");
158
163
  }
159
- _onStepElementResize(entries) {
160
- var _a2, _b;
161
- if (!this.hasAttribute("data-selected")) {
162
- return;
163
- }
164
- const contentHeight = Math.floor(entries[0].contentRect.height);
165
- (_b = (_a2 = this._stepper) == null ? void 0 : _a2.style) == null ? void 0 : _b.setProperty("--sbb-stepper-content-height", `${contentHeight}px`);
166
- }
167
164
  _getStepLabel() {
168
165
  let previousSibling = this.previousElementSibling;
169
166
  while (previousSibling && previousSibling.localName !== "sbb-step-label") {
@@ -180,7 +177,6 @@ let SbbStepElement = (() => {
180
177
  firstUpdated(changedProperties) {
181
178
  super.firstUpdated(changedProperties);
182
179
  this._loaded = true;
183
- this._stepResizeObserver.observe(this.shadowRoot.querySelector(".sbb-step"));
184
180
  }
185
181
  render() {
186
182
  return html`
@@ -204,4 +200,4 @@ let SbbStepElement = (() => {
204
200
  export {
205
201
  SbbStepElement
206
202
  };
207
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3N0ZXBwZXIvc3RlcC9zdGVwLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlc2l6ZUNvbnRyb2xsZXIgfSBmcm9tICdAbGl0LWxhYnMvb2JzZXJ2ZXJzL3Jlc2l6ZS1jb250cm9sbGVyLmpzJztcbmltcG9ydCB7XG4gIHR5cGUgQ1NTUmVzdWx0R3JvdXAsXG4gIGh0bWwsXG4gIExpdEVsZW1lbnQsXG4gIHR5cGUgUHJvcGVydHlWYWx1ZXMsXG4gIHR5cGUgVGVtcGxhdGVSZXN1bHQsXG59IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBob3N0QXR0cmlidXRlcyB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBFdmVudEVtaXR0ZXIgfSBmcm9tICcuLi8uLi9jb3JlL2V2ZW50aW5nLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiU3RlcExhYmVsRWxlbWVudCB9IGZyb20gJy4uL3N0ZXAtbGFiZWwuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJTdGVwcGVyRWxlbWVudCB9IGZyb20gJy4uL3N0ZXBwZXIuanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9zdGVwLnNjc3M/bGl0JmlubGluZSc7XG5cbmxldCBuZXh0SWQgPSAwO1xuXG5leHBvcnQgdHlwZSBTYmJTdGVwVmFsaWRhdGVFdmVudERldGFpbHMgPSB7XG4gIGN1cnJlbnRJbmRleDogbnVtYmVyIHwgbnVsbDtcbiAgY3VycmVudFN0ZXA6IFNiYlN0ZXBFbGVtZW50IHwgbnVsbDtcbiAgbmV4dEluZGV4OiBudW1iZXIgfCBudWxsO1xuICBuZXh0U3RlcDogU2JiU3RlcEVsZW1lbnQgfCBudWxsO1xufTtcblxuLyoqXG4gKiBDb21iaW5lZCB3aXRoIGEgYHNiYi1zdGVwcGVyYCwgaXQgZGlzcGxheXMgYSBzdGVwJ3MgY29udGVudC5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIHByb3ZpZGUgY29udGVudC5cbiAqIEBldmVudCB7Q3VzdG9tRXZlbnQ8U2JiU3RlcFZhbGlkYXRlRXZlbnREZXRhaWxzPn0gdmFsaWRhdGUgLSBFbWl0cyB3aGVuZXZlciBzdGVwIHN3aXRjaCBpcyB0cmlnZ2VyZWQuIENhbiBiZSBjYW5jZWxlZC5cbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLXN0ZXAnKVxuQGhvc3RBdHRyaWJ1dGVzKHtcbiAgc2xvdDogJ3N0ZXAnLFxuICByb2xlOiAndGFicGFuZWwnLFxufSlcbmNsYXNzIFNiYlN0ZXBFbGVtZW50IGV4dGVuZHMgTGl0RWxlbWVudCB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50cyA9IHtcbiAgICB2YWxpZGF0ZTogJ3ZhbGlkYXRlJyxcbiAgfSBhcyBjb25zdDtcblxuICAvKiogRW1pdHMgd2hlbmV2ZXIgc3RlcCBzd2l0Y2ggaXMgdHJpZ2dlcmVkLiAqL1xuICBwcml2YXRlIF92YWxpZGF0ZTogRXZlbnRFbWl0dGVyPFNiYlN0ZXBWYWxpZGF0ZUV2ZW50RGV0YWlscz4gPSBuZXcgRXZlbnRFbWl0dGVyKFxuICAgIHRoaXMsXG4gICAgU2JiU3RlcEVsZW1lbnQuZXZlbnRzLnZhbGlkYXRlLFxuICApO1xuXG4gIHByaXZhdGUgX2xvYWRlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBwcml2YXRlIF9zdGVwcGVyOiBTYmJTdGVwcGVyRWxlbWVudCB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF9sYWJlbDogU2JiU3RlcExhYmVsRWxlbWVudCB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF9zdGVwUmVzaXplT2JzZXJ2ZXIgPSBuZXcgUmVzaXplQ29udHJvbGxlcih0aGlzLCB7XG4gICAgdGFyZ2V0OiBudWxsLFxuICAgIHNraXBJbml0aWFsOiB0cnVlLFxuICAgIGNhbGxiYWNrOiAoZW50cmllcykgPT4gdGhpcy5fb25TdGVwRWxlbWVudFJlc2l6ZShlbnRyaWVzKSxcbiAgfSk7XG5cbiAgLyoqIFRoZSBsYWJlbCBvZiB0aGUgc3RlcC4gKi9cbiAgcHVibGljIGdldCBsYWJlbCgpOiBTYmJTdGVwTGFiZWxFbGVtZW50IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX2xhYmVsO1xuICB9XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ2NsaWNrJywgKGUpID0+IHRoaXMuX2hhbmRsZUNsaWNrKGUpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZWxlY3RzIGFuZCBjb25maWd1cmVzIHRoZSBzdGVwLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBzZWxlY3QoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9sb2FkZWQgfHwgIXRoaXMubGFiZWwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtc2VsZWN0ZWQnLCB0cnVlKTtcbiAgICB0aGlzLmxhYmVsLnNlbGVjdCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIERlc2VsZWN0cyBhbmQgY29uZmlndXJlcyB0aGUgc3RlcC5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgZGVzZWxlY3QoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmxhYmVsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkYXRhLXNlbGVjdGVkJywgZmFsc2UpO1xuICAgIHRoaXMubGFiZWwuZGVzZWxlY3QoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbWl0cyBhIHZhbGlkYXRlIGV2ZW50IHdoZW5ldmVyIHN0ZXAgc3dpdGNoIGlzIHRyaWdnZXJlZC5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgdmFsaWRhdGUoZXZlbnREYXRhOiBTYmJTdGVwVmFsaWRhdGVFdmVudERldGFpbHMpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLl92YWxpZGF0ZS5lbWl0KGV2ZW50RGF0YSk7XG4gIH1cblxuICAvKipcbiAgICogQ29uZmlndXJlcyB0aGUgc3RlcC5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgY29uZmlndXJlKHN0ZXBwZXJMb2FkZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBpZiAoc3RlcHBlckxvYWRlZCkge1xuICAgICAgdGhpcy5fbGFiZWwgPSB0aGlzLl9nZXRTdGVwTGFiZWwoKTtcbiAgICB9XG4gICAgaWYgKHRoaXMubGFiZWwpIHtcbiAgICAgIHRoaXMuc2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsbGVkYnknLCB0aGlzLmxhYmVsLmlkKTtcbiAgICB9XG4gIH1cblxuICAvKiogV2F0Y2hlcyBmb3IgY2xpY2tlZCBlbGVtZW50cyB3aXRoIGBzYmItc3RlcHBlci1uZXh0YCBvciBgc2JiLXN0ZXBwZXItcHJldmlvdXNgIGF0dHJpYnV0ZXMuICovXG4gIHByaXZhdGUgX2hhbmRsZUNsaWNrKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGNvbXBvc2VkUGF0aEVsZW1lbnRzID0gZXZlbnRcbiAgICAgIC5jb21wb3NlZFBhdGgoKVxuICAgICAgLmZpbHRlcigoZWwpID0+IGVsIGluc3RhbmNlb2Ygd2luZG93LkhUTUxFbGVtZW50KTtcbiAgICBpZiAoY29tcG9zZWRQYXRoRWxlbWVudHMuc29tZSgoZWwpID0+IHRoaXMuX2lzR29OZXh0RWxlbWVudChlbCBhcyBIVE1MRWxlbWVudCkpKSB7XG4gICAgICB0aGlzLl9zdGVwcGVyPy5uZXh0KCk7XG4gICAgfSBlbHNlIGlmIChjb21wb3NlZFBhdGhFbGVtZW50cy5zb21lKChlbCkgPT4gdGhpcy5faXNHb1ByZXZpb3VzRWxlbWVudChlbCBhcyBIVE1MRWxlbWVudCkpKSB7XG4gICAgICB0aGlzLl9zdGVwcGVyPy5wcmV2aW91cygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2lzR29OZXh0RWxlbWVudChlbGVtZW50OiBIVE1MRWxlbWVudCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBlbGVtZW50Lmhhc0F0dHJpYnV0ZSgnc2JiLXN0ZXBwZXItbmV4dCcpICYmICFlbGVtZW50Lmhhc0F0dHJpYnV0ZSgnZGlzYWJsZWQnKTtcbiAgfVxuXG4gIHByaXZhdGUgX2lzR29QcmV2aW91c0VsZW1lbnQoZWxlbWVudDogSFRNTEVsZW1lbnQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZWxlbWVudC5oYXNBdHRyaWJ1dGUoJ3NiYi1zdGVwcGVyLXByZXZpb3VzJykgJiYgIWVsZW1lbnQuaGFzQXR0cmlidXRlKCdkaXNhYmxlZCcpO1xuICB9XG5cbiAgcHJpdmF0ZSBfb25TdGVwRWxlbWVudFJlc2l6ZShlbnRyaWVzOiBSZXNpemVPYnNlcnZlckVudHJ5W10pOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaGFzQXR0cmlidXRlKCdkYXRhLXNlbGVjdGVkJykpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgY29udGVudEhlaWdodCA9IE1hdGguZmxvb3IoZW50cmllc1swXS5jb250ZW50UmVjdC5oZWlnaHQpO1xuICAgIHRoaXMuX3N0ZXBwZXI/LnN0eWxlPy5zZXRQcm9wZXJ0eSgnLS1zYmItc3RlcHBlci1jb250ZW50LWhlaWdodCcsIGAke2NvbnRlbnRIZWlnaHR9cHhgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldFN0ZXBMYWJlbCgpOiBTYmJTdGVwTGFiZWxFbGVtZW50IHwgbnVsbCB7XG4gICAgbGV0IHByZXZpb3VzU2libGluZyA9IHRoaXMucHJldmlvdXNFbGVtZW50U2libGluZztcbiAgICB3aGlsZSAocHJldmlvdXNTaWJsaW5nICYmIHByZXZpb3VzU2libGluZy5sb2NhbE5hbWUgIT09ICdzYmItc3RlcC1sYWJlbCcpIHtcbiAgICAgIHByZXZpb3VzU2libGluZyA9IHByZXZpb3VzU2libGluZy5wcmV2aW91c0VsZW1lbnRTaWJsaW5nO1xuICAgIH1cbiAgICByZXR1cm4gcHJldmlvdXNTaWJsaW5nIGFzIFNiYlN0ZXBMYWJlbEVsZW1lbnQ7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLmlkID0gdGhpcy5pZCB8fCBgc2JiLXN0ZXAtJHtuZXh0SWQrK31gO1xuICAgIHRoaXMuX3N0ZXBwZXIgPSB0aGlzLmNsb3Nlc3QoJ3NiYi1zdGVwcGVyJyk7XG4gICAgdGhpcy5fbGFiZWwgPSB0aGlzLl9nZXRTdGVwTGFiZWwoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBmaXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIuZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcbiAgICB0aGlzLl9sb2FkZWQgPSB0cnVlO1xuICAgIHRoaXMuX3N0ZXBSZXNpemVPYnNlcnZlci5vYnNlcnZlKHRoaXMuc2hhZG93Um9vdCEucXVlcnlTZWxlY3RvcignLnNiYi1zdGVwJykgYXMgSFRNTEVsZW1lbnQpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLXN0ZXAtLXdyYXBwZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1zdGVwXCI+XG4gICAgICAgICAgPHNsb3Q+PC9zbG90PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1zdGVwJzogU2JiU3RlcEVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJTYmJTdGVwRWxlbWVudCIsIl9hIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWlCQSxJQUFJLFNBQVM7SUFxQlAsa0JBQWMsTUFBQTs7QUFMbkIsTUFBQSxtQkFBQSxDQUFBLGNBQWMsVUFBVSxHQUN4QixlQUFlO0FBQUEsSUFDZCxNQUFNO0FBQUEsSUFDTixNQUFNO0FBQUEsRUFBQSxDQUNQLENBQUM7Ozs7b0JBQzJCO0FBQVJBLE1BQUFBLG1CQUFBLG1CQUFRLFlBQVU7QUFBQTtBQUFBLElBc0JyQyxJQUFXLFFBQUs7QUFDZCxhQUFPLEtBQUs7QUFBQSxJQUFBO0FBQUEsSUFHZCxjQUFBOzs7QUFuQlEsV0FBQSxZQUF1RCxJQUFJLGFBQ2pFLE1BQ0FBLGdCQUFlLE9BQU8sUUFBUTtBQUd4QixXQUFPLFVBQVk7QUFDbkIsV0FBUSxXQUE2QjtBQUNyQyxXQUFNLFNBQStCO0FBQ3JDLFdBQUEsc0JBQXNCLElBQUksaUJBQWlCLE1BQU07QUFBQSxRQUN2RCxRQUFRO0FBQUEsUUFDUixhQUFhO0FBQUEsUUFDYixVQUFVLENBQUMsWUFBWSxLQUFLLHFCQUFxQixPQUFPO0FBQUEsTUFBQSxDQUN6RDtBQVNDLE9BQUFDLE1BQUEsS0FBSyxxQkFBTCxnQkFBQUEsSUFBQSxXQUF3QixTQUFTLENBQUMsTUFBTSxLQUFLLGFBQWEsQ0FBQztBQUFBLElBQUM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLElBT3ZELFNBQU07QUFDWCxVQUFJLENBQUMsS0FBSyxXQUFXLENBQUMsS0FBSyxPQUFPO0FBQ2hDO0FBQUEsTUFBQTtBQUVHLFdBQUEsZ0JBQWdCLGlCQUFpQixJQUFJO0FBQzFDLFdBQUssTUFBTTs7Ozs7O0lBT04sV0FBUTtBQUNULFVBQUEsQ0FBQyxL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
203
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3N0ZXBwZXIvc3RlcC9zdGVwLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIHR5cGUgQ1NTUmVzdWx0R3JvdXAsXG4gIGh0bWwsXG4gIExpdEVsZW1lbnQsXG4gIHR5cGUgUHJvcGVydHlWYWx1ZXMsXG4gIHR5cGUgVGVtcGxhdGVSZXN1bHQsXG59IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBob3N0QXR0cmlidXRlcyB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBFdmVudEVtaXR0ZXIgfSBmcm9tICcuLi8uLi9jb3JlL2V2ZW50aW5nLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiU3RlcExhYmVsRWxlbWVudCB9IGZyb20gJy4uL3N0ZXAtbGFiZWwuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJTdGVwcGVyRWxlbWVudCB9IGZyb20gJy4uL3N0ZXBwZXIuanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9zdGVwLnNjc3M/bGl0JmlubGluZSc7XG5cbmxldCBuZXh0SWQgPSAwO1xuXG5leHBvcnQgdHlwZSBTYmJTdGVwVmFsaWRhdGVFdmVudERldGFpbHMgPSB7XG4gIGN1cnJlbnRJbmRleDogbnVtYmVyIHwgbnVsbDtcbiAgY3VycmVudFN0ZXA6IFNiYlN0ZXBFbGVtZW50IHwgbnVsbDtcbiAgbmV4dEluZGV4OiBudW1iZXIgfCBudWxsO1xuICBuZXh0U3RlcDogU2JiU3RlcEVsZW1lbnQgfCBudWxsO1xufTtcblxuLyoqXG4gKiBDb21iaW5lZCB3aXRoIGEgYHNiYi1zdGVwcGVyYCwgaXQgZGlzcGxheXMgYSBzdGVwJ3MgY29udGVudC5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIHByb3ZpZGUgY29udGVudC5cbiAqIEBldmVudCB7Q3VzdG9tRXZlbnQ8U2JiU3RlcFZhbGlkYXRlRXZlbnREZXRhaWxzPn0gdmFsaWRhdGUgLSBFbWl0cyB3aGVuZXZlciBzdGVwIHN3aXRjaCBpcyB0cmlnZ2VyZWQuIENhbiBiZSBjYW5jZWxlZC5cbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLXN0ZXAnKVxuQGhvc3RBdHRyaWJ1dGVzKHtcbiAgc2xvdDogJ3N0ZXAnLFxuICByb2xlOiAndGFicGFuZWwnLFxufSlcbmNsYXNzIFNiYlN0ZXBFbGVtZW50IGV4dGVuZHMgTGl0RWxlbWVudCB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50cyA9IHtcbiAgICB2YWxpZGF0ZTogJ3ZhbGlkYXRlJyxcbiAgfSBhcyBjb25zdDtcblxuICAvKiogRW1pdHMgd2hlbmV2ZXIgc3RlcCBzd2l0Y2ggaXMgdHJpZ2dlcmVkLiAqL1xuICBwcml2YXRlIF92YWxpZGF0ZTogRXZlbnRFbWl0dGVyPFNiYlN0ZXBWYWxpZGF0ZUV2ZW50RGV0YWlscz4gPSBuZXcgRXZlbnRFbWl0dGVyKFxuICAgIHRoaXMsXG4gICAgU2JiU3RlcEVsZW1lbnQuZXZlbnRzLnZhbGlkYXRlLFxuICApO1xuXG4gIHByaXZhdGUgX2xvYWRlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBwcml2YXRlIF9zdGVwcGVyOiBTYmJTdGVwcGVyRWxlbWVudCB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF9sYWJlbDogU2JiU3RlcExhYmVsRWxlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gIC8qKiBUaGUgbGFiZWwgb2YgdGhlIHN0ZXAuICovXG4gIHB1YmxpYyBnZXQgbGFiZWwoKTogU2JiU3RlcExhYmVsRWxlbWVudCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLl9sYWJlbDtcbiAgfVxuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdjbGljaycsIChlKSA9PiB0aGlzLl9oYW5kbGVDbGljayhlKSk7XG4gIH1cblxuICAvKipcbiAgICogU2VsZWN0cyBhbmQgY29uZmlndXJlcyB0aGUgc3RlcC5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgc2VsZWN0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5fbG9hZGVkIHx8ICF0aGlzLmxhYmVsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkYXRhLXNlbGVjdGVkJywgdHJ1ZSk7XG4gICAgdGhpcy5sYWJlbC5zZWxlY3QoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXNlbGVjdHMgYW5kIGNvbmZpZ3VyZXMgdGhlIHN0ZXAuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIGRlc2VsZWN0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5sYWJlbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1zZWxlY3RlZCcsIGZhbHNlKTtcbiAgICB0aGlzLmxhYmVsLmRlc2VsZWN0KCk7XG4gIH1cblxuICAvKipcbiAgICogRW1pdHMgYSB2YWxpZGF0ZSBldmVudCB3aGVuZXZlciBzdGVwIHN3aXRjaCBpcyB0cmlnZ2VyZWQuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIHZhbGlkYXRlKGV2ZW50RGF0YTogU2JiU3RlcFZhbGlkYXRlRXZlbnREZXRhaWxzKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5fdmFsaWRhdGUuZW1pdChldmVudERhdGEpO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbmZpZ3VyZXMgdGhlIHN0ZXAuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIGNvbmZpZ3VyZShzdGVwcGVyTG9hZGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgaWYgKHN0ZXBwZXJMb2FkZWQpIHtcbiAgICAgIHRoaXMuX2xhYmVsID0gdGhpcy5fZ2V0U3RlcExhYmVsKCk7XG4gICAgfVxuICAgIGlmICh0aGlzLmxhYmVsKSB7XG4gICAgICB0aGlzLnNldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbGxlZGJ5JywgdGhpcy5sYWJlbC5pZCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIFdhdGNoZXMgZm9yIGNsaWNrZWQgZWxlbWVudHMgd2l0aCBgc2JiLXN0ZXBwZXItbmV4dGAgb3IgYHNiYi1zdGVwcGVyLXByZXZpb3VzYCBhdHRyaWJ1dGVzLiAqL1xuICBwcml2YXRlIF9oYW5kbGVDbGljayhldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBjb21wb3NlZFBhdGhFbGVtZW50cyA9IGV2ZW50XG4gICAgICAuY29tcG9zZWRQYXRoKClcbiAgICAgIC5maWx0ZXIoKGVsKSA9PiBlbCBpbnN0YW5jZW9mIHdpbmRvdy5IVE1MRWxlbWVudCk7XG4gICAgaWYgKGNvbXBvc2VkUGF0aEVsZW1lbnRzLnNvbWUoKGVsKSA9PiB0aGlzLl9pc0dvTmV4dEVsZW1lbnQoZWwgYXMgSFRNTEVsZW1lbnQpKSkge1xuICAgICAgdGhpcy5fc3RlcHBlcj8ubmV4dCgpO1xuICAgIH0gZWxzZSBpZiAoY29tcG9zZWRQYXRoRWxlbWVudHMuc29tZSgoZWwpID0+IHRoaXMuX2lzR29QcmV2aW91c0VsZW1lbnQoZWwgYXMgSFRNTEVsZW1lbnQpKSkge1xuICAgICAgdGhpcy5fc3RlcHBlcj8ucHJldmlvdXMoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9pc0dvTmV4dEVsZW1lbnQoZWxlbWVudDogSFRNTEVsZW1lbnQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZWxlbWVudC5oYXNBdHRyaWJ1dGUoJ3NiYi1zdGVwcGVyLW5leHQnKSAmJiAhZWxlbWVudC5oYXNBdHRyaWJ1dGUoJ2Rpc2FibGVkJyk7XG4gIH1cblxuICBwcml2YXRlIF9pc0dvUHJldmlvdXNFbGVtZW50KGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGVsZW1lbnQuaGFzQXR0cmlidXRlKCdzYmItc3RlcHBlci1wcmV2aW91cycpICYmICFlbGVtZW50Lmhhc0F0dHJpYnV0ZSgnZGlzYWJsZWQnKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldFN0ZXBMYWJlbCgpOiBTYmJTdGVwTGFiZWxFbGVtZW50IHwgbnVsbCB7XG4gICAgbGV0IHByZXZpb3VzU2libGluZyA9IHRoaXMucHJldmlvdXNFbGVtZW50U2libGluZztcbiAgICB3aGlsZSAocHJldmlvdXNTaWJsaW5nICYmIHByZXZpb3VzU2libGluZy5sb2NhbE5hbWUgIT09ICdzYmItc3RlcC1sYWJlbCcpIHtcbiAgICAgIHByZXZpb3VzU2libGluZyA9IHByZXZpb3VzU2libGluZy5wcmV2aW91c0VsZW1lbnRTaWJsaW5nO1xuICAgIH1cbiAgICByZXR1cm4gcHJldmlvdXNTaWJsaW5nIGFzIFNiYlN0ZXBMYWJlbEVsZW1lbnQ7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLmlkID0gdGhpcy5pZCB8fCBgc2JiLXN0ZXAtJHtuZXh0SWQrK31gO1xuICAgIHRoaXMuX3N0ZXBwZXIgPSB0aGlzLmNsb3Nlc3QoJ3NiYi1zdGVwcGVyJyk7XG4gICAgdGhpcy5fbGFiZWwgPSB0aGlzLl9nZXRTdGVwTGFiZWwoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBmaXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIuZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcbiAgICB0aGlzLl9sb2FkZWQgPSB0cnVlO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLXN0ZXAtLXdyYXBwZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1zdGVwXCI+XG4gICAgICAgICAgPHNsb3Q+PC9zbG90PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1zdGVwJzogU2JiU3RlcEVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJTYmJTdGVwRWxlbWVudCIsIl9hIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFnQkEsSUFBSSxTQUFTO0lBcUJQLGtCQUFjLE1BQUE7O0FBTG5CLE1BQUEsbUJBQUEsQ0FBQSxjQUFjLFVBQVUsR0FDeEIsZUFBZTtBQUFBLElBQ2QsTUFBTTtBQUFBLElBQ04sTUFBTTtBQUFBLEVBQUEsQ0FDUCxDQUFDOzs7O29CQUMyQjtBQUFSQSxNQUFBQSxtQkFBQSxtQkFBUSxZQUFVO0FBQUE7QUFBQSxJQWlCckMsSUFBVyxRQUFLO0FBQ2QsYUFBTyxLQUFLO0FBQUEsSUFBQTtBQUFBLElBR2QsY0FBQTs7O0FBZFEsV0FBQSxZQUF1RCxJQUFJLGFBQ2pFLE1BQ0FBLGdCQUFlLE9BQU8sUUFBUTtBQUd4QixXQUFPLFVBQVk7QUFDbkIsV0FBUSxXQUE2QjtBQUNyQyxXQUFNLFNBQStCO0FBUzNDLE9BQUFDLE1BQUEsS0FBSyxxQkFBTCxnQkFBQUEsSUFBQSxXQUF3QixTQUFTLENBQUMsTUFBTSxLQUFLLGFBQWEsQ0FBQztBQUFBLElBQUM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLElBT3ZELFNBQU07QUFDWCxVQUFJLENBQUMsS0FBSyxXQUFXLENBQUMsS0FBSyxPQUFPO0FBQ2hDO0FBQUEsTUFBQTtBQUVHLFdBQUEsZ0JBQWdCLGlCQUFpQixJQUFJO0FBQzFDLFdBQUssTUFBTTs7Ozs7O0lBT04sV0FBUTtBQUNULFVBQUEsQ0FBQyxLQUFLLE9BQU87QUFDZjtBQUFBLE1BQUE7QUFFRyxXQUFBLGdCQUFnQixpQkFBaUIsS0FBSztBQUMzQyxXQUFLLE1BQU07Ozs7OztJQU9OLFNBQVMsV0FBc0M7QUFDcEQsYUFBTyxDQUFDLENBQUMsS0FBSyxVQUFVLEtBQUssU0FBUztBQUFBLElBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLElBT2pDLFVBQVUsZUFBc0I7QUFDckMsVUFBSSxlQUFlO0FBQ1osYUFBQSxTQUFTLEtBQUs7O0FBRXJCLFVBQUksS0FBSyxPQUFPO0FBQ2QsYUFBSyxhQUFhLG1CQUFtQixLQUFLLE1BQU0sRUFBRTtBQUFBLE1BQUE7QUFBQSxJQUNwRDtBQUFBO0FBQUEsSUFJTSxhQUFhLE9BQVk7O0FBQ3pCLFlBQUEsdUJBQXVCLE1BQzFCLGVBQ0EsT0FBTyxDQUFDLE9BQU8sY0FBYyxPQUFPLFdBQVc7QUFDOUMsVUFBQSxxQkFBcUIsS0FBSyxDQUFDLE9BQU8sS0FBSyxpQkFBaUIsRUFBaUIsQ0FBQyxHQUFHO0FBQy9FLFNBQUFBLE1BQUEsS0FBSyxhQUFMLGdCQUFBQSxJQUFlO0FBQUEsaUJBQ04scUJBQXFCLEtBQUssQ0FBQyxPQUFPLEtBQUsscUJBQXFCLEVBQWlCLENBQUMsR0FBRztBQUMxRixtQkFBSyxhQUFMLG1CQUFlO0FBQUE7SUFDakI7QUFBQSxJQUdNLGlCQUFpQixTQUFvQjtBQUMzQyxhQUFPLFFBQVEsYUFBYSxrQkFBa0IsS0FBSyxDQUFDLFFBQVEsYUFBYSxVQUFVO0FBQUEsSUFBQTtBQUFBLElBRzdFLHFCQUFxQixTQUFvQjtBQUMvQyxhQUFPLFFBQVEsYUFBYSxzQkFBc0IsS0FBSyxDQUFDLFFBQVEsYUFBYSxVQUFVO0FBQUEsSUFBQTtBQUFBLElBR2pGLGdCQUFhO0FBQ25CLFVBQUksa0JBQWtCLEtBQUs7QUFDcEIsYUFBQSxtQkFBbUIsZ0JBQWdCLGNBQWMsa0JBQWtCO0FBQ3hFLDBCQUFrQixnQkFBZ0I7QUFBQSxNQUFBO0FBRTdCLGFBQUE7QUFBQSxJQUFBO0FBQUEsSUFHTyxvQkFBaUI7QUFDL0IsWUFBTSxrQkFBaUI7QUFDdkIsV0FBSyxLQUFLLEtBQUssTUFBTSxZQUFZLFFBQVE7QUFDcEMsV0FBQSxXQUFXLEtBQUssUUFBUSxhQUFhO0FBQ3JDLFdBQUEsU0FBUyxLQUFLOztJQUdGLGFBQWEsbUJBQXVDO0FBQ3JFLFlBQU0sYUFBYSxpQkFBaUI7QUFDcEMsV0FBSyxVQUFVO0FBQUEsSUFBQTtBQUFBLElBR0UsU0FBTTtBQUNoQixhQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsSUFBQTtBQUFBOztBQWhIWCxpQkF3SEMsTUFBQSxtQkFBQSxFQUFBLE9BQUEsV0FBQSxHQUFBLGtCQUFBLEVBQUEsTUFBQSxTQUFBLE1BQUEsV0FBQSxNQUFBLFVBQUEsVUFBQSxHQUFBLE1BQUEsdUJBQUE7OztRQXZId0IsR0FBTSxTQUFtQixPQUN6QixHQUFBLFNBQVM7QUFBQSxJQUM5QixVQUFVO0FBQUEsRUFDRixHQUpOLGtCQUFjLFlBQUEsdUJBQUEsR0FBQzs7OyJ9
@@ -10,6 +10,13 @@ declare const SbbStepperElement_base: import('../../core/mixins.js').AbstractCon
10
10
  */
11
11
  export declare class SbbStepperElement extends SbbStepperElement_base {
12
12
  static styles: CSSResultGroup;
13
+ /**
14
+ * If the sbb-stepper is used in a sbb-dialog, the marker on the selected element will not appear,
15
+ * because the calculations are done when the dialog is closed, so the marker has a width of 0;
16
+ * the same happens for the stepper height.
17
+ * We need to recalculate it when the element becomes visible.
18
+ */
19
+ private _observer;
13
20
  /** If set to true, only the current and previous labels can be clicked and selected. */
14
21
  accessor linear: boolean;
15
22
  /** Overrides the behaviour of `orientation` property. */
@@ -44,6 +51,10 @@ export declare class SbbStepperElement extends SbbStepperElement_base {
44
51
  private _isValidStep;
45
52
  private _select;
46
53
  private _setMarkerSize;
54
+ /**
55
+ * Sets the stepper height based on the height of the provided step.
56
+ */
57
+ private _setStepperHeight;
47
58
  private _calculateLabelOffsetTop;
48
59
  private _configure;
49
60
  private _updateLabels;
@@ -1 +1 @@
1
- {"version":3,"file":"stepper.d.ts","sourceRoot":"","sources":["../../../../../src/elements/stepper/stepper/stepper.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EAEnB,UAAU,EACV,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAMb,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAElF,OAAO,KAAK,EAAE,cAAc,EAA+B,MAAM,YAAY,CAAC;;AAM9E;;;;;GAKG;AACH,qBAEM,iBAAkB,SAAQ,sBAA6B;IAC3D,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD,wFAAwF;IACxF,SAEgB,MAAM,EAAE,OAAO,CAAS;IAExC,yDAAyD;IACzD,IACW,cAAc,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI,EAKxD;IACD,IAAW,cAAc,IAAI,iBAAiB,GAAG,IAAI,CAEpD;IACD,OAAO,CAAC,eAAe,CAAkC;IAEzD,wDAAwD;IACxD,SACgB,WAAW,EAAE,cAAc,CAAgB;IAE3D;;;OAGG;IACH,SAA6C,IAAI,EAAE,GAAG,GAAG,GAAG,CAAwB;IAEpF,mCAAmC;IACnC,IACW,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,EAI9C;IACD,IAAW,QAAQ,IAAI,cAAc,GAAG,IAAI,CAE3C;IAED,yCAAyC;IACzC,IACW,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAI5C;IACD,IAAW,aAAa,IAAI,MAAM,GAAG,IAAI,CAExC;IAED,gCAAgC;IAChC,IAAW,KAAK,IAAI,cAAc,EAAE,CAEnC;IAED,OAAO,KAAK,aAAa,GAExB;IAED,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,sBAAsB,CAA8C;;IAO5E,6BAA6B;IACtB,IAAI,IAAI,IAAI;IAMnB,iCAAiC;IAC1B,QAAQ,IAAI,IAAI;IAMvB,yFAAyF;IAClF,KAAK,IAAI,IAAI;IAcpB,OAAO,CAAC,YAAY;IAiBpB,OAAO,CAAC,OAAO;IAwBf,OAAO,CAAC,cAAc;IAiBtB,OAAO,CAAC,wBAAwB;IAoBhC,OAAO,CAAC,UAAU;IAalB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,gBAAgB,CAUtB;IAEF,OAAO,CAAC,oBAAoB;IAUZ,iBAAiB,IAAI,IAAI;IAQzB,oBAAoB,IAAI,IAAI;cAKnB,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;cAU1E,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAgB5E,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,cAAc;cAmBH,MAAM,IAAI,cAAc;CAY5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,aAAa,EAAE,iBAAiB,CAAC;KAClC;CACF"}
1
+ {"version":3,"file":"stepper.d.ts","sourceRoot":"","sources":["../../../../../src/elements/stepper/stepper/stepper.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,cAAc,EAEnB,UAAU,EACV,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAMb,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAElF,OAAO,KAAK,EAAE,cAAc,EAA+B,MAAM,YAAY,CAAC;;AAM9E;;;;;GAKG;AACH,qBAEM,iBAAkB,SAAQ,sBAA6B;IAC3D,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD;;;;;OAKG;IACH,OAAO,CAAC,SAAS,CAUd;IAEH,wFAAwF;IACxF,SAEgB,MAAM,EAAE,OAAO,CAAS;IAExC,yDAAyD;IACzD,IACW,cAAc,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI,EAKxD;IACD,IAAW,cAAc,IAAI,iBAAiB,GAAG,IAAI,CAEpD;IACD,OAAO,CAAC,eAAe,CAAkC;IAEzD,wDAAwD;IACxD,SACgB,WAAW,EAAE,cAAc,CAAgB;IAE3D;;;OAGG;IACH,SAA6C,IAAI,EAAE,GAAG,GAAG,GAAG,CAAwB;IAEpF,mCAAmC;IACnC,IACW,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,EAI9C;IACD,IAAW,QAAQ,IAAI,cAAc,GAAG,IAAI,CAE3C;IAED,yCAAyC;IACzC,IACW,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAI5C;IACD,IAAW,aAAa,IAAI,MAAM,GAAG,IAAI,CAExC;IAED,gCAAgC;IAChC,IAAW,KAAK,IAAI,cAAc,EAAE,CAEnC;IAED,OAAO,KAAK,aAAa,GAExB;IAED,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,sBAAsB,CAA8C;;IAO5E,6BAA6B;IACtB,IAAI,IAAI,IAAI;IAMnB,iCAAiC;IAC1B,QAAQ,IAAI,IAAI;IAMvB,yFAAyF;IAClF,KAAK,IAAI,IAAI;IAcpB,OAAO,CAAC,YAAY;IAiBpB,OAAO,CAAC,OAAO;IAyBf,OAAO,CAAC,cAAc;IAiBtB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,wBAAwB;IAoBhC,OAAO,CAAC,UAAU;IAalB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,gBAAgB,CAWtB;IAEF,OAAO,CAAC,oBAAoB;IAUZ,iBAAiB,IAAI,IAAI;IAQzB,oBAAoB,IAAI,IAAI;cAKnB,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;cAW1E,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAgB5E,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,cAAc;cAmBH,MAAM,IAAI,cAAc;CAY5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,aAAa,EAAE,iBAAiB,CAAC;KAClC;CACF"}
@@ -6,6 +6,7 @@ var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read fr
6
6
  var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
7
7
  var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
8
8
  import { __esDecorate, __runInitializers } from "tslib";
9
+ import { IntersectionController } from "@lit-labs/observers/intersection-controller.js";
9
10
  import { css, LitElement, html } from "lit";
10
11
  import { customElement, property } from "lit/decorators.js";
11
12
  import { isArrowKeyPressed, getNextElementIndex } from "../core/a11y.js";
@@ -125,7 +126,18 @@ let SbbStepperElement = (() => {
125
126
  __privateAdd(this, _linear_accessor_storage);
126
127
  __privateAdd(this, _orientation_accessor_storage);
127
128
  __privateAdd(this, _size_accessor_storage);
128
- __privateSet(this, _linear_accessor_storage, (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _linear_initializers, false)));
129
+ this._observer = (__runInitializers(this, _instanceExtraInitializers), new IntersectionController(this, {
130
+ target: null,
131
+ callback: (entries) => {
132
+ entries.forEach((e) => {
133
+ if (e.intersectionRatio > 0) {
134
+ this._setStepperHeight(this.selected);
135
+ this._setMarkerSize();
136
+ }
137
+ });
138
+ }
139
+ }));
140
+ __privateSet(this, _linear_accessor_storage, __runInitializers(this, _linear_initializers, false));
129
141
  this._horizontalFrom = (__runInitializers(this, _linear_extraInitializers), null);
130
142
  __privateSet(this, _orientation_accessor_storage, __runInitializers(this, _orientation_initializers, "horizontal"));
131
143
  __privateSet(this, _size_accessor_storage, (__runInitializers(this, _orientation_extraInitializers), __runInitializers(this, _size_initializers, isLean() ? "s" : "m")));
@@ -133,6 +145,7 @@ let SbbStepperElement = (() => {
133
145
  this._resizeObserverTimeout = null;
134
146
  this._onStepperResize = () => {
135
147
  this._checkOrientation();
148
+ this._setStepperHeight(this.selected);
136
149
  clearTimeout(this._resizeObserverTimeout);
137
150
  this.toggleAttribute("data-disable-animation", true);
138
151
  this._resizeObserverTimeout = setTimeout(() => this.toggleAttribute("data-disable-animation", false), DEBOUNCE_TIME);
@@ -261,6 +274,7 @@ let SbbStepperElement = (() => {
261
274
  current == null ? void 0 : current.deselect();
262
275
  step.select();
263
276
  this._setMarkerSize();
277
+ this._setStepperHeight(step);
264
278
  this._configureLinearMode();
265
279
  if (((_a2 = document.activeElement) == null ? void 0 : _a2.closest("sbb-stepper")) === this) {
266
280
  (_c = (_b = this.selected) == null ? void 0 : _b.label) == null ? void 0 : _c.focus();
@@ -273,6 +287,18 @@ let SbbStepperElement = (() => {
273
287
  const offset = this.orientation === "horizontal" ? this.selected.label.offsetLeft + this.selected.label.offsetWidth : this._calculateLabelOffsetTop();
274
288
  this.style.setProperty("--sbb-stepper-marker-size", `${offset}px`);
275
289
  }
290
+ /**
291
+ * Sets the stepper height based on the height of the provided step.
292
+ */
293
+ _setStepperHeight(step) {
294
+ var _a2;
295
+ if (step && step.shadowRoot) {
296
+ const innerElement = step.shadowRoot.querySelector(".sbb-step");
297
+ if (innerElement) {
298
+ (_a2 = this.style) == null ? void 0 : _a2.setProperty("--sbb-stepper-content-height", `${innerElement.offsetHeight}px`);
299
+ }
300
+ }
301
+ }
276
302
  _calculateLabelOffsetTop() {
277
303
  if (this.selectedIndex === null) {
278
304
  return;
@@ -331,7 +357,8 @@ let SbbStepperElement = (() => {
331
357
  super.firstUpdated(changedProperties);
332
358
  await this.updateComplete;
333
359
  this._loaded = true;
334
- this.selectedIndex = !this.linear ? Number(this.getAttribute("selected-index")) || 0 : 0;
360
+ this.selectedIndex = this.linear ? 0 : Number(this.getAttribute("selected-index")) || 0;
361
+ this._observer.observe(this);
335
362
  this._checkOrientation();
336
363
  setTimeout(() => this.toggleAttribute("data-disable-animation", false), DEBOUNCE_TIME);
337
364
  }
@@ -415,4 +442,4 @@ let SbbStepperElement = (() => {
415
442
  export {
416
443
  SbbStepperElement
417
444
  };
418
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHBlci5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3N0ZXBwZXIvc3RlcHBlci9zdGVwcGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIHR5cGUgQ1NTUmVzdWx0R3JvdXAsXG4gIGh0bWwsXG4gIExpdEVsZW1lbnQsXG4gIHR5cGUgVGVtcGxhdGVSZXN1bHQsXG4gIHR5cGUgUHJvcGVydHlWYWx1ZXMsXG59IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgZ2V0TmV4dEVsZW1lbnRJbmRleCwgaXNBcnJvd0tleVByZXNzZWQgfSBmcm9tICcuLi8uLi9jb3JlL2ExMXkuanMnO1xuaW1wb3J0IHsgZm9yY2VUeXBlIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGJyZWFrcG9pbnRzLCBpc0JyZWFrcG9pbnQsIGlzTGVhbiB9IGZyb20gJy4uLy4uL2NvcmUvZG9tLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiSG9yaXpvbnRhbEZyb20sIFNiYk9yaWVudGF0aW9uIH0gZnJvbSAnLi4vLi4vY29yZS9pbnRlcmZhY2VzLmpzJztcbmltcG9ydCB7IFNiYkh5ZHJhdGlvbk1peGluIH0gZnJvbSAnLi4vLi4vY29yZS9taXhpbnMuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJTdGVwRWxlbWVudCwgU2JiU3RlcFZhbGlkYXRlRXZlbnREZXRhaWxzIH0gZnJvbSAnLi4vc3RlcC5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL3N0ZXBwZXIuc2Nzcz9saXQmaW5saW5lJztcblxuY29uc3QgREVCT1VOQ0VfVElNRSA9IDE1MDtcblxuLyoqXG4gKiBQcm92aWRlcyBhIHN0cnVjdHVyZWQsIHN0ZXAtYnktc3RlcCB3b3JrZmxvdyBmb3IgdXNlciBpbnRlcmFjdGlvbnMuXG4gKiBAc2xvdCAtIFByb3ZpZGUgYSBgc2JiLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJgIGFuZCBhIGBzYmItZXhwYW5zaW9uLXBhbmVsLWNvbnRlbnRgIHRvIHRoZSBzdGVwcGVyLlxuICogQHNsb3Qgc3RlcC1sYWJlbCAtIFVzZSB0aGlzIHNsb3QgdG8gcHJvdmlkZSBhbiBgc2JiLXN0ZXAtbGFiZWxgLlxuICogQHNsb3Qgc3RlcCAtIFVzZSB0aGlzIHNsb3QgdG8gcHJvdmlkZSBhbiBgc2JiLXN0ZXBgLlxuICovXG5leHBvcnRcbkBjdXN0b21FbGVtZW50KCdzYmItc3RlcHBlcicpXG5jbGFzcyBTYmJTdGVwcGVyRWxlbWVudCBleHRlbmRzIFNiYkh5ZHJhdGlvbk1peGluKExpdEVsZW1lbnQpIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gc3R5bGU7XG5cbiAgLyoqIElmIHNldCB0byB0cnVlLCBvbmx5IHRoZSBjdXJyZW50IGFuZCBwcmV2aW91cyBsYWJlbHMgY2FuIGJlIGNsaWNrZWQgYW5kIHNlbGVjdGVkLiAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgYWNjZXNzb3IgbGluZWFyOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqIE92ZXJyaWRlcyB0aGUgYmVoYXZpb3VyIG9mIGBvcmllbnRhdGlvbmAgcHJvcGVydHkuICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2hvcml6b250YWwtZnJvbScsIHJlZmxlY3Q6IHRydWUgfSlcbiAgcHVibGljIHNldCBob3Jpem9udGFsRnJvbSh2YWx1ZTogU2JiSG9yaXpvbnRhbEZyb20gfCBudWxsKSB7XG4gICAgdGhpcy5faG9yaXpvbnRhbEZyb20gPSB2YWx1ZSAmJiBicmVha3BvaW50cy5pbmNsdWRlcyh2YWx1ZSkgPyB2YWx1ZSA6IG51bGw7XG4gICAgaWYgKHRoaXMuX2hvcml6b250YWxGcm9tICYmIHRoaXMuX2xvYWRlZCkge1xuICAgICAgdGhpcy5fY2hlY2tPcmllbnRhdGlvbigpO1xuICAgIH1cbiAgfVxuICBwdWJsaWMgZ2V0IGhvcml6b250YWxGcm9tKCk6IFNiYkhvcml6b250YWxGcm9tIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX2hvcml6b250YWxGcm9tO1xuICB9XG4gIHByaXZhdGUgX2hvcml6b250YWxGcm9tOiBTYmJIb3Jpem9udGFsRnJvbSB8IG51bGwgPSBudWxsO1xuXG4gIC8qKiBTdGVwcyBvcmllbnRhdGlvbiwgZWl0aGVyIGhvcml6b250YWwgb3IgdmVydGljYWwuICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSlcbiAgcHVibGljIGFjY2Vzc29yIG9yaWVudGF0aW9uOiBTYmJPcmllbnRhdGlvbiA9ICdob3Jpem9udGFsJztcblxuICAvKipcbiAgICogU2l6ZSB2YXJpYW50LCBlaXRoZXIgcyBvciBtLlxuICAgKiBAZGVmYXVsdCAnbScgLyAncycgKGxlYW4pXG4gICAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyBhY2Nlc3NvciBzaXplOiAncycgfCAnbScgPSBpc0xlYW4oKSA/ICdzJyA6ICdtJztcblxuICAvKiogVGhlIGN1cnJlbnRseSBzZWxlY3RlZCBzdGVwLiAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6IGZhbHNlIH0pXG4gIHB1YmxpYyBzZXQgc2VsZWN0ZWQoc3RlcDogU2JiU3RlcEVsZW1lbnQgfCBudWxsKSB7XG4gICAgaWYgKHRoaXMuX2xvYWRlZCkge1xuICAgICAgdGhpcy5fc2VsZWN0KHN0ZXApO1xuICAgIH1cbiAgfVxuICBwdWJsaWMgZ2V0IHNlbGVjdGVkKCk6IFNiYlN0ZXBFbGVtZW50IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMucXVlcnlTZWxlY3Rvcj8uPFNiYlN0ZXBFbGVtZW50Pignc2JiLXN0ZXBbZGF0YS1zZWxlY3RlZF0nKSA/PyBudWxsO1xuICB9XG5cbiAgLyoqIFRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgc3RlcCBpbmRleC4gKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnc2VsZWN0ZWQtaW5kZXgnLCB0eXBlOiBOdW1iZXIgfSlcbiAgcHVibGljIHNldCBzZWxlY3RlZEluZGV4KGluZGV4OiBudW1iZXIgfCBudWxsKSB7XG4gICAgaWYgKHRoaXMuX2xvYWRlZCAmJiBpbmRleCAhPT0gbnVsbCkge1xuICAgICAgdGhpcy5fc2VsZWN0KHRoaXMuc3RlcHNbaW5kZXhdKTtcbiAgICB9XG4gIH1cbiAgcHVibGljIGdldCBzZWxlY3RlZEluZGV4KCk6IG51bWJlciB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkID8gdGhpcy5zdGVwcy5pbmRleE9mKHRoaXMuc2VsZWN0ZWQpIDogbnVsbDtcbiAgfVxuXG4gIC8qKiBUaGUgc3RlcHMgb2YgdGhlIHN0ZXBwZXIuICovXG4gIHB1YmxpYyBnZXQgc3RlcHMoKTogU2JiU3RlcEVsZW1lbnRbXSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5xdWVyeVNlbGVjdG9yQWxsPy4oJ3NiYi1zdGVwJykgPz8gW10pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgX2VuYWJsZWRTdGVwcygpOiBTYmJTdGVwRWxlbWVudFtdIHtcbiAgICByZXR1cm4gdGhpcy5zdGVwcy5maWx0ZXIoKHMpID0+ICFzLmxhYmVsPy5oYXNBdHRyaWJ1dGUoJ2Rpc2FibGVkJykpO1xuICB9XG5cbiAgcHJpdmF0ZSBfbG9hZGVkOiBib29sZWFuID0gZmFsc2U7XG4gIHByaXZhdGUgX3Jlc2l6ZU9ic2VydmVyVGltZW91dDogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD4gfCBudWxsID0gbnVsbDtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/Ligna2V5ZG93bicsIChlKSA9PiB0aGlzLl9oYW5kbGVLZXlEb3duKGUpKTtcbiAgfVxuXG4gIC8qKiBTZWxlY3RzIHRoZSBuZXh0IHN0ZXAuICovXG4gIHB1YmxpYyBuZXh0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNlbGVjdGVkSW5kZXggIT09IG51bGwpIHtcbiAgICAgIHRoaXMuX3NlbGVjdCh0aGlzLnN0ZXBzW3RoaXMuc2VsZWN0ZWRJbmRleCArIDFdKTtcbiAgICB9XG4gIH1cblxuICAvKiogU2VsZWN0cyB0aGUgcHJldmlvdXMgc3RlcC4gKi9cbiAgcHVibGljIHByZXZpb3VzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNlbGVjdGVkSW5kZXggIT09IG51bGwpIHtcbiAgICAgIHRoaXMuX3NlbGVjdCh0aGlzLnN0ZXBzW3RoaXMuc2VsZWN0ZWRJbmRleCAtIDFdKTtcbiAgICB9XG4gIH1cblxuICAvKiogUmVzZXRzIHRoZSBmb3JtIGluIHdoaWNoIHRoZSBzdGVwcGVyIGlzIG5lc3RlZCBvciBldmVyeSBmb3JtIG9mIGVhY2ggc3RlcCwgaWYgYW55LiAqL1xuICBwdWJsaWMgcmVzZXQoKTogdm9pZCB7XG4gICAgY29uc3QgY2xvc2VzdEZvcm0gPSB0aGlzLmNsb3Nlc3QoJ2Zvcm0nKTtcbiAgICBpZiAoY2xvc2VzdEZvcm0pIHtcbiAgICAgIGNsb3Nlc3RGb3JtLnJlc2V0KCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucXVlcnlTZWxlY3RvckFsbCgnZm9ybScpLmZvckVhY2goKGZvcm0pID0+IGZvcm0ucmVzZXQoKSk7XG4gICAgfVxuICAgIHRoaXMuc2VsZWN0ZWRJbmRleCA9IDA7XG4gICAgLy8gSW4gY2FzZSB0aGUgZm9jdXMgaXMgY3VycmVudGx5IGluc2lkZSB0aGUgc3RlcHBlciwgd2UgcmVzZXQgdGhlIGZvY3VzIHRvIHRoZSBmaXJzdC9zZWxlY3RlZCBzdGVwIGxhYmVsLlxuICAgIGlmIChkb2N1bWVudC5hY3RpdmVFbGVtZW50Py5jbG9zZXN0KCdzYmItc3RlcHBlcicpID09PSB0aGlzKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkPy5sYWJlbD8uZm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9pc1ZhbGlkU3RlcChzdGVwOiBTYmJTdGVwRWxlbWVudCB8IG51bGwpOiBib29sZWFuIHtcbiAgICBpZiAoIXN0ZXAgfHwgKCF0aGlzLmxpbmVhciAmJiBzdGVwLmxhYmVsPy5oYXNBdHRyaWJ1dGUoJ2Rpc2FibGVkJykpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMubGluZWFyICYmICF0aGlzLnNlbGVjdGVkKSB7XG4gICAgICByZXR1cm4gc3RlcCA9PT0gdGhpcy5zdGVwc1swXTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5saW5lYXIgJiYgdGhpcy5zZWxlY3RlZEluZGV4ICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBpbmRleCA9IHRoaXMuc3RlcHMuaW5kZXhPZihzdGVwKTtcbiAgICAgIHJldHVybiBpbmRleCA8IHRoaXMuc2VsZWN0ZWRJbmRleCB8fCBpbmRleCA9PT0gdGhpcy5zZWxlY3RlZEluZGV4ICsgMTtcbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHByaXZhdGUgX3NlbGVjdChzdGVwOiBTYmJTdGVwRWxlbWVudCB8IG51bGwpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX2lzVmFsaWRTdGVwKHN0ZXApKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHZhbGlkYXRlUGF5bG9hZDogU2JiU3RlcFZhbGlkYXRlRXZlbnREZXRhaWxzID0ge1xuICAgICAgY3VycmVudEluZGV4OiB0aGlzLnNlbGVjdGVkSW5kZXgsXG4gICAgICBjdXJyZW50U3RlcDogdGhpcy5zZWxlY3RlZCxcbiAgICAgIG5leHRJbmRleDogdGhpcy5zZWxlY3RlZEluZGV4ICE9PSBudWxsID8gdGhpcy5zZWxlY3RlZEluZGV4ICsgMSA6IG51bGwsXG4gICAgICBuZXh0U3RlcDogdGhpcy5zZWxlY3RlZEluZGV4ICE9PSBudWxsID8gdGhpcy5zdGVwc1t0aGlzLnNlbGVjdGVkSW5kZXggKyAxXSA6IG51bGwsXG4gICAgfTtcbiAgICBpZiAodGhpcy5zZWxlY3RlZCAmJiAhdGhpcy5zZWxlY3RlZC52YWxpZGF0ZSh2YWxpZGF0ZVBheWxvYWQpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGN1cnJlbnQgPSB0aGlzLnNlbGVjdGVkO1xuICAgIGN1cnJlbnQ/LmRlc2VsZWN0KCk7XG4gICAgc3RlcCEuc2VsZWN0KCk7XG4gICAgdGhpcy5fc2V0TWFya2VyU2l6ZSgpO1xuICAgIHRoaXMuX2NvbmZpZ3VyZUxpbmVhck1vZGUoKTtcbiAgICAvLyBJbiBjYXNlIHRoZSBmb2N1cyBpcyBjdXJyZW50bHkgaW5zaWRlIHRoZSBzdGVwcGVyLCB3ZSBmb2N1cyB0aGUgc2VsZWN0ZWQgc3RlcCBsYWJlbC5cbiAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudD8uY2xvc2VzdCgnc2JiLXN0ZXBwZXInKSA9PT0gdGhpcykge1xuICAgICAgdGhpcy5zZWxlY3RlZD8ubGFiZWw/LmZvY3VzKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfc2V0TWFya2VyU2l6ZSgpOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICAhdGhpcy5fbG9hZGVkIHx8XG4gICAgICAhdGhpcy5zZWxlY3RlZCB8fFxuICAgICAgdGhpcy5zZWxlY3RlZEluZGV4ID09PSB1bmRlZmluZWQgfHxcbiAgICAgICF0aGlzLnNlbGVjdGVkLmxhYmVsXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IG9mZnNldCA9XG4gICAgICB0aGlzLm9yaWVudGF0aW9uID09PSAnaG9yaXpvbnRhbCdcbiAgICAgICAgPyB0aGlzLnNlbGVjdGVkLmxhYmVsLm9mZnNldExlZnQgKyB0aGlzLnNlbGVjdGVkLmxhYmVsLm9mZnNldFdpZHRoXG4gICAgICAgIDogdGhpcy5fY2FsY3VsYXRlTGFiZWxPZmZzZXRUb3AoKTtcblxuICAgIHRoaXMuc3R5bGUuc2V0UHJvcGVydHkoJy0tc2JiLXN0ZXBwZXItbWFya2VyLXNpemUnLCBgJHtvZmZzZXR9cHhgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NhbGN1bGF0ZUxhYmVsT2Zmc2V0VG9wKCk6IG51bWJlciB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRJbmRleCA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBsZXQgb2Zmc2V0ID0gMDtcbiAgICBmb3IgKGNvbnN0IHN0ZXAgb2YgdGhpcy5zdGVwcykge1xuICAgICAgaWYgKHN0ZXAgPT09IHRoaXMuc2VsZWN0ZWQpIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBvZmZzZXQgPSBzdGVwLmxhYmVsIS5vZmZzZXRIZWlnaHQgKyBvZmZzZXQ7XG4gICAgfVxuICAgIHJldHVybiAoXG4gICAgICBvZmZzZXQgK1xuICAgICAgdGhpcy5zZWxlY3RlZCEubGFiZWwhLm9mZnNldEhlaWdodCEgK1xuICAgICAgcGFyc2VGbG9hdChnZXRDb21wdXRlZFN0eWxlKHRoaXMpLmdldFByb3BlcnR5VmFsdWUoJy0tc2JiLXNwYWNpbmctZml4ZWQtNngnKSkgKlxuICAgICAgICAxNiAqXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJbmRleFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9jb25maWd1cmUoKTogdm9pZCB7XG4gICAgY29uc3Qgc3RlcHMgPSB0aGlzLnN0ZXBzO1xuICAgIHN0ZXBzLmZvckVhY2goKHMpID0+IHMuY29uZmlndXJlKHRoaXMuX2xvYWRlZCkpO1xuICAgIHN0ZXBzXG4gICAgICAuZmlsdGVyKChzKSA9PiBzLmxhYmVsKVxuICAgICAgLm1hcCgocykgPT4gcy5sYWJlbCEpXG4gICAgICAuZm9yRWFjaCgobGFiZWwsIGksIGFycmF5KSA9PiB7XG4gICAgICAgIGxhYmVsLmNvbmZpZ3VyZShpICsgMSwgYXJyYXkubGVuZ3RoLCB0aGlzLl9sb2FkZWQpO1xuICAgICAgfSk7XG4gICAgdGhpcy5fc2VsZWN0KHRoaXMuc2VsZWN0ZWQgfHwgdGhpcy5fZW5hYmxlZFN0ZXBzWzBdKTtcbiAgICB0aGlzLl9wcm94eVNpemUoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZUxhYmVscygpOiB2b2lkIHtcbiAgICB0aGlzLnN0ZXBzLmZvckVhY2goKHN0ZXApID0+IHtcbiAgICAgIHN0ZXAuc2xvdCA9IHRoaXMub3JpZW50YXRpb24gPT09ICdob3Jpem9udGFsJyA/ICdzdGVwJyA6ICdzdGVwLWxhYmVsJztcbiAgICAgIHN0ZXAuc2V0QXR0cmlidXRlKCdkYXRhLW9yaWVudGF0aW9uJywgdGhpcy5vcmllbnRhdGlvbik7XG4gICAgICBzdGVwLmxhYmVsPy5zZXRBdHRyaWJ1dGUoJ2RhdGEtb3JpZW50YXRpb24nLCB0aGlzLm9yaWVudGF0aW9uKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2NoZWNrT3JpZW50YXRpb24oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaG9yaXpvbnRhbEZyb20pIHtcbiAgICAgIHRoaXMub3JpZW50YXRpb24gPSBpc0JyZWFrcG9pbnQodGhpcy5ob3Jpem9udGFsRnJvbSkgPyAnaG9yaXpvbnRhbCcgOiAndmVydGljYWwnO1xuICAgICAgdGhpcy5fdXBkYXRlTGFiZWxzKCk7XG4gICAgfVxuICAgIC8vIFRoZSB0aW1lb3V0IGlzIG5lZWRlZCB0byBtYWtlIHN1cmUgdGhhdCB0aGUgbWFya2VyIHRha2VzIHRoZSBjb3JyZWN0IHN0ZXAtbGFiZWwgc2l6ZS5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuX3NldE1hcmtlclNpemUoKSwgMCk7XG4gIH1cblxuICBwcml2YXRlIF9vblN0ZXBwZXJSZXNpemUgPSAoKTogdm9pZCA9PiB7XG4gICAgdGhpcy5fY2hlY2tPcmllbnRhdGlvbigpO1xuICAgIGNsZWFyVGltZW91dCh0aGlzLl9yZXNpemVPYnNlcnZlclRpbWVvdXQhKTtcbiAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1kaXNhYmxlLWFuaW1hdGlvbicsIHRydWUpO1xuXG4gICAgLy8gRGlzYWJsZSB0aGUgYW5pbWF0aW9uIHdoZW4gcmVzaXppbmcgdG8gYXZvaWQgc3RyYW5nZSB0cmFuc2l0aW9uIGVmZmVjdHMuXG4gICAgdGhpcy5fcmVzaXplT2JzZXJ2ZXJUaW1lb3V0ID0gc2V0VGltZW91dChcbiAgICAgICgpID0+IHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkYXRhLWRpc2FibGUtYW5pbWF0aW9uJywgZmFsc2UpLFxuICAgICAgREVCT1VOQ0VfVElNRSxcbiAgICApO1xuICB9O1xuXG4gIHByaXZhdGUgX2NvbmZpZ3VyZUxpbmVhck1vZGUoKTogdm9pZCB7XG4gICAgdGhpcy5zdGVwcy5mb3JFYWNoKChzdGVwLCBpbmRleCkgPT4ge1xuICAgICAgc3RlcC5sYWJlbD8udG9nZ2xlQXR0cmlidXRlKFxuICAgICAgICAnZGlzYWJsZWQnLFxuICAgICAgICAodGhpcy5saW5lYXIgJiYgaW5kZXggPiB0aGlzLnNlbGVjdGVkSW5kZXghKSB8fFxuICAgICAgICAgICghdGhpcy5saW5lYXIgJiYgc3RlcC5sYWJlbC5oYXNBdHRyaWJ1dGUoJ2RhdGEtZGlzYWJsZWQnKSksXG4gICAgICApO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHRoaXMuX29uU3RlcHBlclJlc2l6ZSwge1xuICAgICAgcGFzc2l2ZTogdHJ1ZSxcbiAgICB9KTtcbiAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1kaXNhYmxlLWFuaW1hdGlvbicsICF0aGlzLl9sb2FkZWQpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHRoaXMuX29uU3RlcHBlclJlc2l6ZSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgYXN5bmMgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IFByb21pc2U8dm9pZD4ge1xuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG4gICAgYXdhaXQgdGhpcy51cGRhdGVDb21wbGV0ZTtcbiAgICB0aGlzLl9sb2FkZWQgPSB0cnVlO1xuICAgIHRoaXMuc2VsZWN0ZWRJbmRleCA9ICF0aGlzLmxpbmVhciA/IE51bWJlcih0aGlzLmdldEF0dHJpYnV0ZSgnc2VsZWN0ZWQtaW5kZXgnKSkgfHwgMCA6IDA7XG4gICAgdGhpcy5fY2hlY2tPcmllbnRhdGlvbigpO1xuICAgIC8vIFJlbW92ZSBbZGF0YS1kaXNhYmxlLWFuaW1hdGlvbl0gYWZ0ZXIgY29tcG9uZW50IGluaXRcbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkYXRhLWRpc2FibGUtYW5pbWF0aW9uJywgZmFsc2UpLCBERUJPVU5DRV9USU1FKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ29yaWVudGF0aW9uJykgJiYgIXRoaXMuaG9yaXpvbnRhbEZyb20pIHtcbiAgICAgIHRoaXMuX3VwZGF0ZUxhYmVscygpO1xuICAgICAgdGhpcy5fc2V0TWFya2VyU2l6ZSgpO1xuICAgIH1cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdsaW5lYXInKSAmJiB0aGlzLl9sb2FkZWQpIHtcbiAgICAgIHRoaXMuX2NvbmZpZ3VyZUxpbmVhck1vZGUoKTtcbiAgICB9XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdzaXplJykpIHtcbiAgICAgIHRoaXMuX3Byb3h5U2l6ZSgpO1xuICAgICAgdGhpcy5fc2V0TWFya2VyU2l6ZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3Byb3h5U2l6ZSgpOiB2b2lkIHtcbiAgICB0aGlzLnN0ZXBzLmZvckVhY2goKHN0ZXApID0+IHtcbiAgICAgIHN0ZXAubGFiZWw/LnNldEF0dHJpYnV0ZSgnZGF0YS1zaXplJywgdGhpcy5zaXplKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZUtleURvd24oZXZ0OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgZW5hYmxlZFN0ZXBzOiBTYmJTdGVwRWxlbWVudFtdID0gdGhpcy5fZW5hYmxlZFN0ZXBzO1xuXG4gICAgaWYgKFxuICAgICAgIWVuYWJsZWRTdGVwcyB8fFxuICAgICAgLy8gZG9uJ3QgdHJhcCBuZXN0ZWQgaGFuZGxpbmdcbiAgICAgICgoZXZ0LnRhcmdldCBhcyBIVE1MRWxlbWVudCkgIT09IHRoaXMgJiYgKGV2dC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLnBhcmVudEVsZW1lbnQgIT09IHRoaXMpXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGlzQXJyb3dLZXlQcmVzc2VkKGV2dCkpIHtcbiAgICAgIGNvbnN0IGN1cnJlbnQ6IG51bWJlciA9IGVuYWJsZWRTdGVwcy5pbmRleE9mKHRoaXMuc2VsZWN0ZWQhKTtcbiAgICAgIGNvbnN0IG5leHRJbmRleDogbnVtYmVyID0gZ2V0TmV4dEVsZW1lbnRJbmRleChldnQsIGN1cnJlbnQsIGVuYWJsZWRTdGVwcy5sZW5ndGgpO1xuICAgICAgdGhpcy5fc2VsZWN0KGVuYWJsZWRTdGVwc1tuZXh0SW5kZXhdKTtcbiAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1zdGVwcGVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzYmItc3RlcHBlcl9fbGFiZWxzXCIgcm9sZT1cInRhYmxpc3RcIj5cbiAgICAgICAgICA8c2xvdCBuYW1lPVwic3RlcC1sYWJlbFwiIEBzbG90Y2hhbmdlPSR7dGhpcy5fY29uZmlndXJlfT48L3Nsb3Q+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLXN0ZXBwZXJfX3N0ZXBzXCI+XG4gICAgICAgICAgPHNsb3QgbmFtZT1cInN0ZXBcIiBAc2xvdGNoYW5nZT0ke3RoaXMuX2NvbmZpZ3VyZX0+PC9zbG90PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1zdGVwcGVyJzogU2JiU3RlcHBlckVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJfYSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBa0JBLE1BQU0sZ0JBQWdCO0lBVWhCLHFCQUFpQixNQUFBOzswQkFEdEIsY0FBYyxhQUFhLENBQUM7Ozs7b0JBQ0csa0JBQWtCLFVBQVU7Ozs7Ozs7Ozs7Ozs7O0FBQXBDLEVBQUEsbUJBQVEsWUFBNkI7QUFBQSxJQWlFM0QsY0FBQTs7O0FBM0RBO0FBaUJBO0FBTTZCO0FBN0J6Qix5QkFBQSwyQkFBQSxrQkFBQSxNQUFBLDBCQUFBLEdBTThCLGtCQUFBLE1BQUEsc0JBQUEsS0FBSztBQWEvQixXQUFlLG1CQUFBLGtCQUFBLE1BQUEseUJBQUEsR0FBNkI7QUFJcEMseUJBQUEsK0JBQUEsa0JBQUEsTUFBQSwyQkFBOEIsWUFBWTtBQU1LLHlC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
445
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHBlci5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3N0ZXBwZXIvc3RlcHBlci9zdGVwcGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEludGVyc2VjdGlvbkNvbnRyb2xsZXIgfSBmcm9tICdAbGl0LWxhYnMvb2JzZXJ2ZXJzL2ludGVyc2VjdGlvbi1jb250cm9sbGVyLmpzJztcbmltcG9ydCB7XG4gIHR5cGUgQ1NTUmVzdWx0R3JvdXAsXG4gIGh0bWwsXG4gIExpdEVsZW1lbnQsXG4gIHR5cGUgVGVtcGxhdGVSZXN1bHQsXG4gIHR5cGUgUHJvcGVydHlWYWx1ZXMsXG59IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgZ2V0TmV4dEVsZW1lbnRJbmRleCwgaXNBcnJvd0tleVByZXNzZWQgfSBmcm9tICcuLi8uLi9jb3JlL2ExMXkuanMnO1xuaW1wb3J0IHsgZm9yY2VUeXBlIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGJyZWFrcG9pbnRzLCBpc0JyZWFrcG9pbnQsIGlzTGVhbiB9IGZyb20gJy4uLy4uL2NvcmUvZG9tLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiSG9yaXpvbnRhbEZyb20sIFNiYk9yaWVudGF0aW9uIH0gZnJvbSAnLi4vLi4vY29yZS9pbnRlcmZhY2VzLmpzJztcbmltcG9ydCB7IFNiYkh5ZHJhdGlvbk1peGluIH0gZnJvbSAnLi4vLi4vY29yZS9taXhpbnMuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJTdGVwRWxlbWVudCwgU2JiU3RlcFZhbGlkYXRlRXZlbnREZXRhaWxzIH0gZnJvbSAnLi4vc3RlcC5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL3N0ZXBwZXIuc2Nzcz9saXQmaW5saW5lJztcblxuY29uc3QgREVCT1VOQ0VfVElNRSA9IDE1MDtcblxuLyoqXG4gKiBQcm92aWRlcyBhIHN0cnVjdHVyZWQsIHN0ZXAtYnktc3RlcCB3b3JrZmxvdyBmb3IgdXNlciBpbnRlcmFjdGlvbnMuXG4gKiBAc2xvdCAtIFByb3ZpZGUgYSBgc2JiLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJgIGFuZCBhIGBzYmItZXhwYW5zaW9uLXBhbmVsLWNvbnRlbnRgIHRvIHRoZSBzdGVwcGVyLlxuICogQHNsb3Qgc3RlcC1sYWJlbCAtIFVzZSB0aGlzIHNsb3QgdG8gcHJvdmlkZSBhbiBgc2JiLXN0ZXAtbGFiZWxgLlxuICogQHNsb3Qgc3RlcCAtIFVzZSB0aGlzIHNsb3QgdG8gcHJvdmlkZSBhbiBgc2JiLXN0ZXBgLlxuICovXG5leHBvcnRcbkBjdXN0b21FbGVtZW50KCdzYmItc3RlcHBlcicpXG5jbGFzcyBTYmJTdGVwcGVyRWxlbWVudCBleHRlbmRzIFNiYkh5ZHJhdGlvbk1peGluKExpdEVsZW1lbnQpIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gc3R5bGU7XG5cbiAgLyoqXG4gICAqIElmIHRoZSBzYmItc3RlcHBlciBpcyB1c2VkIGluIGEgc2JiLWRpYWxvZywgdGhlIG1hcmtlciBvbiB0aGUgc2VsZWN0ZWQgZWxlbWVudCB3aWxsIG5vdCBhcHBlYXIsXG4gICAqIGJlY2F1c2UgdGhlIGNhbGN1bGF0aW9ucyBhcmUgZG9uZSB3aGVuIHRoZSBkaWFsb2cgaXMgY2xvc2VkLCBzbyB0aGUgbWFya2VyIGhhcyBhIHdpZHRoIG9mIDA7XG4gICAqIHRoZSBzYW1lIGhhcHBlbnMgZm9yIHRoZSBzdGVwcGVyIGhlaWdodC5cbiAgICogV2UgbmVlZCB0byByZWNhbGN1bGF0ZSBpdCB3aGVuIHRoZSBlbGVtZW50IGJlY29tZXMgdmlzaWJsZS5cbiAgICovXG4gIHByaXZhdGUgX29ic2VydmVyID0gbmV3IEludGVyc2VjdGlvbkNvbnRyb2xsZXIodGhpcywge1xuICAgIHRhcmdldDogbnVsbCxcbiAgICBjYWxsYmFjazogKGVudHJpZXMpID0+IHtcbiAgICAgIGVudHJpZXMuZm9yRWFjaCgoZSkgPT4ge1xuICAgICAgICBpZiAoZS5pbnRlcnNlY3Rpb25SYXRpbyA+IDApIHtcbiAgICAgICAgICB0aGlzLl9zZXRTdGVwcGVySGVpZ2h0KHRoaXMuc2VsZWN0ZWQpO1xuICAgICAgICAgIHRoaXMuX3NldE1hcmtlclNpemUoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSxcbiAgfSk7XG5cbiAgLyoqIElmIHNldCB0byB0cnVlLCBvbmx5IHRoZSBjdXJyZW50IGFuZCBwcmV2aW91cyBsYWJlbHMgY2FuIGJlIGNsaWNrZWQgYW5kIHNlbGVjdGVkLiAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgYWNjZXNzb3IgbGluZWFyOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqIE92ZXJyaWRlcyB0aGUgYmVoYXZpb3VyIG9mIGBvcmllbnRhdGlvbmAgcHJvcGVydHkuICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2hvcml6b250YWwtZnJvbScsIHJlZmxlY3Q6IHRydWUgfSlcbiAgcHVibGljIHNldCBob3Jpem9udGFsRnJvbSh2YWx1ZTogU2JiSG9yaXpvbnRhbEZyb20gfCBudWxsKSB7XG4gICAgdGhpcy5faG9yaXpvbnRhbEZyb20gPSB2YWx1ZSAmJiBicmVha3BvaW50cy5pbmNsdWRlcyh2YWx1ZSkgPyB2YWx1ZSA6IG51bGw7XG4gICAgaWYgKHRoaXMuX2hvcml6b250YWxGcm9tICYmIHRoaXMuX2xvYWRlZCkge1xuICAgICAgdGhpcy5fY2hlY2tPcmllbnRhdGlvbigpO1xuICAgIH1cbiAgfVxuICBwdWJsaWMgZ2V0IGhvcml6b250YWxGcm9tKCk6IFNiYkhvcml6b250YWxGcm9tIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX2hvcml6b250YWxGcm9tO1xuICB9XG4gIHByaXZhdGUgX2hvcml6b250YWxGcm9tOiBTYmJIb3Jpem9udGFsRnJvbSB8IG51bGwgPSBudWxsO1xuXG4gIC8qKiBTdGVwcyBvcmllbnRhdGlvbiwgZWl0aGVyIGhvcml6b250YWwgb3IgdmVydGljYWwuICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSlcbiAgcHVibGljIGFjY2Vzc29yIG9yaWVudGF0aW9uOiBTYmJPcmllbnRhdGlvbiA9ICdob3Jpem9udGFsJztcblxuICAvKipcbiAgICogU2l6ZSB2YXJpYW50LCBlaXRoZXIgcyBvciBtLlxuICAgKiBAZGVmYXVsdCAnbScgLyAncycgKGxlYW4pXG4gICAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyBhY2Nlc3NvciBzaXplOiAncycgfCAnbScgPSBpc0xlYW4oKSA/ICdzJyA6ICdtJztcblxuICAvKiogVGhlIGN1cnJlbnRseSBzZWxlY3RlZCBzdGVwLiAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6IGZhbHNlIH0pXG4gIHB1YmxpYyBzZXQgc2VsZWN0ZWQoc3RlcDogU2JiU3RlcEVsZW1lbnQgfCBudWxsKSB7XG4gICAgaWYgKHRoaXMuX2xvYWRlZCkge1xuICAgICAgdGhpcy5fc2VsZWN0KHN0ZXApO1xuICAgIH1cbiAgfVxuICBwdWJsaWMgZ2V0IHNlbGVjdGVkKCk6IFNiYlN0ZXBFbGVtZW50IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMucXVlcnlTZWxlY3Rvcj8uPFNiYlN0ZXBFbGVtZW50Pignc2JiLXN0ZXBbZGF0YS1zZWxlY3RlZF0nKSA/PyBudWxsO1xuICB9XG5cbiAgLyoqIFRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgc3RlcCBpbmRleC4gKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnc2VsZWN0ZWQtaW5kZXgnLCB0eXBlOiBOdW1iZXIgfSlcbiAgcHVibGljIHNldCBzZWxlY3RlZEluZGV4KGluZGV4OiBudW1iZXIgfCBudWxsKSB7XG4gICAgaWYgKHRoaXMuX2xvYWRlZCAmJiBpbmRleCAhPT0gbnVsbCkge1xuICAgICAgdGhpcy5fc2VsZWN0KHRoaXMuc3RlcHNbaW5kZXhdKTtcbiAgICB9XG4gIH1cbiAgcHVibGljIGdldCBzZWxlY3RlZEluZGV4KCk6IG51bWJlciB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkID8gdGhpcy5zdGVwcy5pbmRleE9mKHRoaXMuc2VsZWN0ZWQpIDogbnVsbDtcbiAgfVxuXG4gIC8qKiBUaGUgc3RlcHMgb2YgdGhlIHN0ZXBwZXIuICovXG4gIHB1YmxpYyBnZXQgc3RlcHMoKTogU2JiU3RlcEVsZW1lbnRbXSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5xdWVyeVNlbGVjdG9yQWxsPy4oJ3NiYi1zdGVwJykgPz8gW10pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgX2VuYWJsZWRTdGVwcygpOiBTYmJTdGVwRWxlbWVudFtdIHtcbiAgICByZXR1cm4gdGhpcy5zdGVwcy5maWx0ZXIoKHMpID0+ICFzLmxhYmVsPy5oYXNBdHRyaWJ1dGUoJ2Rpc2FibGVkJykpO1xuICB9XG5cbiAgcHJpdmF0ZSBfbG9hZGVkOiBib29sZWFuID0gZmFsc2U7XG4gIHByaXZhdGUgX3Jlc2l6ZU9ic2VydmVyVGltZW91dDogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD4gfCBudWxsID0gbnVsbDtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/Ligna2V5ZG93bicsIChlKSA9PiB0aGlzLl9oYW5kbGVLZXlEb3duKGUpKTtcbiAgfVxuXG4gIC8qKiBTZWxlY3RzIHRoZSBuZXh0IHN0ZXAuICovXG4gIHB1YmxpYyBuZXh0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNlbGVjdGVkSW5kZXggIT09IG51bGwpIHtcbiAgICAgIHRoaXMuX3NlbGVjdCh0aGlzLnN0ZXBzW3RoaXMuc2VsZWN0ZWRJbmRleCArIDFdKTtcbiAgICB9XG4gIH1cblxuICAvKiogU2VsZWN0cyB0aGUgcHJldmlvdXMgc3RlcC4gKi9cbiAgcHVibGljIHByZXZpb3VzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNlbGVjdGVkSW5kZXggIT09IG51bGwpIHtcbiAgICAgIHRoaXMuX3NlbGVjdCh0aGlzLnN0ZXBzW3RoaXMuc2VsZWN0ZWRJbmRleCAtIDFdKTtcbiAgICB9XG4gIH1cblxuICAvKiogUmVzZXRzIHRoZSBmb3JtIGluIHdoaWNoIHRoZSBzdGVwcGVyIGlzIG5lc3RlZCBvciBldmVyeSBmb3JtIG9mIGVhY2ggc3RlcCwgaWYgYW55LiAqL1xuICBwdWJsaWMgcmVzZXQoKTogdm9pZCB7XG4gICAgY29uc3QgY2xvc2VzdEZvcm0gPSB0aGlzLmNsb3Nlc3QoJ2Zvcm0nKTtcbiAgICBpZiAoY2xvc2VzdEZvcm0pIHtcbiAgICAgIGNsb3Nlc3RGb3JtLnJlc2V0KCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucXVlcnlTZWxlY3RvckFsbCgnZm9ybScpLmZvckVhY2goKGZvcm0pID0+IGZvcm0ucmVzZXQoKSk7XG4gICAgfVxuICAgIHRoaXMuc2VsZWN0ZWRJbmRleCA9IDA7XG4gICAgLy8gSW4gY2FzZSB0aGUgZm9jdXMgaXMgY3VycmVudGx5IGluc2lkZSB0aGUgc3RlcHBlciwgd2UgcmVzZXQgdGhlIGZvY3VzIHRvIHRoZSBmaXJzdC9zZWxlY3RlZCBzdGVwIGxhYmVsLlxuICAgIGlmIChkb2N1bWVudC5hY3RpdmVFbGVtZW50Py5jbG9zZXN0KCdzYmItc3RlcHBlcicpID09PSB0aGlzKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkPy5sYWJlbD8uZm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9pc1ZhbGlkU3RlcChzdGVwOiBTYmJTdGVwRWxlbWVudCB8IG51bGwpOiBib29sZWFuIHtcbiAgICBpZiAoIXN0ZXAgfHwgKCF0aGlzLmxpbmVhciAmJiBzdGVwLmxhYmVsPy5oYXNBdHRyaWJ1dGUoJ2Rpc2FibGVkJykpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMubGluZWFyICYmICF0aGlzLnNlbGVjdGVkKSB7XG4gICAgICByZXR1cm4gc3RlcCA9PT0gdGhpcy5zdGVwc1swXTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5saW5lYXIgJiYgdGhpcy5zZWxlY3RlZEluZGV4ICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBpbmRleCA9IHRoaXMuc3RlcHMuaW5kZXhPZihzdGVwKTtcbiAgICAgIHJldHVybiBpbmRleCA8IHRoaXMuc2VsZWN0ZWRJbmRleCB8fCBpbmRleCA9PT0gdGhpcy5zZWxlY3RlZEluZGV4ICsgMTtcbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHByaXZhdGUgX3NlbGVjdChzdGVwOiBTYmJTdGVwRWxlbWVudCB8IG51bGwpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX2lzVmFsaWRTdGVwKHN0ZXApKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHZhbGlkYXRlUGF5bG9hZDogU2JiU3RlcFZhbGlkYXRlRXZlbnREZXRhaWxzID0ge1xuICAgICAgY3VycmVudEluZGV4OiB0aGlzLnNlbGVjdGVkSW5kZXgsXG4gICAgICBjdXJyZW50U3RlcDogdGhpcy5zZWxlY3RlZCxcbiAgICAgIG5leHRJbmRleDogdGhpcy5zZWxlY3RlZEluZGV4ICE9PSBudWxsID8gdGhpcy5zZWxlY3RlZEluZGV4ICsgMSA6IG51bGwsXG4gICAgICBuZXh0U3RlcDogdGhpcy5zZWxlY3RlZEluZGV4ICE9PSBudWxsID8gdGhpcy5zdGVwc1t0aGlzLnNlbGVjdGVkSW5kZXggKyAxXSA6IG51bGwsXG4gICAgfTtcbiAgICBpZiAodGhpcy5zZWxlY3RlZCAmJiAhdGhpcy5zZWxlY3RlZC52YWxpZGF0ZSh2YWxpZGF0ZVBheWxvYWQpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGN1cnJlbnQgPSB0aGlzLnNlbGVjdGVkO1xuICAgIGN1cnJlbnQ/LmRlc2VsZWN0KCk7XG4gICAgc3RlcCEuc2VsZWN0KCk7XG4gICAgdGhpcy5fc2V0TWFya2VyU2l6ZSgpO1xuICAgIHRoaXMuX3NldFN0ZXBwZXJIZWlnaHQoc3RlcCk7XG4gICAgdGhpcy5fY29uZmlndXJlTGluZWFyTW9kZSgpO1xuICAgIC8vIEluIGNhc2UgdGhlIGZvY3VzIGlzIGN1cnJlbnRseSBpbnNpZGUgdGhlIHN0ZXBwZXIsIHdlIGZvY3VzIHRoZSBzZWxlY3RlZCBzdGVwIGxhYmVsLlxuICAgIGlmIChkb2N1bWVudC5hY3RpdmVFbGVtZW50Py5jbG9zZXN0KCdzYmItc3RlcHBlcicpID09PSB0aGlzKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkPy5sYWJlbD8uZm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9zZXRNYXJrZXJTaXplKCk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgICF0aGlzLl9sb2FkZWQgfHxcbiAgICAgICF0aGlzLnNlbGVjdGVkIHx8XG4gICAgICB0aGlzLnNlbGVjdGVkSW5kZXggPT09IHVuZGVmaW5lZCB8fFxuICAgICAgIXRoaXMuc2VsZWN0ZWQubGFiZWxcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3Qgb2Zmc2V0ID1cbiAgICAgIHRoaXMub3JpZW50YXRpb24gPT09ICdob3Jpem9udGFsJ1xuICAgICAgICA/IHRoaXMuc2VsZWN0ZWQubGFiZWwub2Zmc2V0TGVmdCArIHRoaXMuc2VsZWN0ZWQubGFiZWwub2Zmc2V0V2lkdGhcbiAgICAgICAgOiB0aGlzLl9jYWxjdWxhdGVMYWJlbE9mZnNldFRvcCgpO1xuXG4gICAgdGhpcy5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1zYmItc3RlcHBlci1tYXJrZXItc2l6ZScsIGAke29mZnNldH1weGApO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHN0ZXBwZXIgaGVpZ2h0IGJhc2VkIG9uIHRoZSBoZWlnaHQgb2YgdGhlIHByb3ZpZGVkIHN0ZXAuXG4gICAqL1xuICBwcml2YXRlIF9zZXRTdGVwcGVySGVpZ2h0KHN0ZXA6IFNiYlN0ZXBFbGVtZW50IHwgbnVsbCk6IHZvaWQge1xuICAgIGlmIChzdGVwICYmIHN0ZXAuc2hhZG93Um9vdCkge1xuICAgICAgY29uc3QgaW5uZXJFbGVtZW50OiBTYmJTdGVwRWxlbWVudCB8IG51bGwgPSBzdGVwLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcignLnNiYi1zdGVwJyk7XG4gICAgICBpZiAoaW5uZXJFbGVtZW50KSB7XG4gICAgICAgIHRoaXMuc3R5bGU/LnNldFByb3BlcnR5KCctLXNiYi1zdGVwcGVyLWNvbnRlbnQtaGVpZ2h0JywgYCR7aW5uZXJFbGVtZW50Lm9mZnNldEhlaWdodH1weGApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2NhbGN1bGF0ZUxhYmVsT2Zmc2V0VG9wKCk6IG51bWJlciB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRJbmRleCA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBsZXQgb2Zmc2V0ID0gMDtcbiAgICBmb3IgKGNvbnN0IHN0ZXAgb2YgdGhpcy5zdGVwcykge1xuICAgICAgaWYgKHN0ZXAgPT09IHRoaXMuc2VsZWN0ZWQpIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBvZmZzZXQgPSBzdGVwLmxhYmVsIS5vZmZzZXRIZWlnaHQgKyBvZmZzZXQ7XG4gICAgfVxuICAgIHJldHVybiAoXG4gICAgICBvZmZzZXQgK1xuICAgICAgdGhpcy5zZWxlY3RlZCEubGFiZWwhLm9mZnNldEhlaWdodCEgK1xuICAgICAgcGFyc2VGbG9hdChnZXRDb21wdXRlZFN0eWxlKHRoaXMpLmdldFByb3BlcnR5VmFsdWUoJy0tc2JiLXNwYWNpbmctZml4ZWQtNngnKSkgKlxuICAgICAgICAxNiAqXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJbmRleFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9jb25maWd1cmUoKTogdm9pZCB7XG4gICAgY29uc3Qgc3RlcHMgPSB0aGlzLnN0ZXBzO1xuICAgIHN0ZXBzLmZvckVhY2goKHMpID0+IHMuY29uZmlndXJlKHRoaXMuX2xvYWRlZCkpO1xuICAgIHN0ZXBzXG4gICAgICAuZmlsdGVyKChzKSA9PiBzLmxhYmVsKVxuICAgICAgLm1hcCgocykgPT4gcy5sYWJlbCEpXG4gICAgICAuZm9yRWFjaCgobGFiZWwsIGksIGFycmF5KSA9PiB7XG4gICAgICAgIGxhYmVsLmNvbmZpZ3VyZShpICsgMSwgYXJyYXkubGVuZ3RoLCB0aGlzLl9sb2FkZWQpO1xuICAgICAgfSk7XG4gICAgdGhpcy5fc2VsZWN0KHRoaXMuc2VsZWN0ZWQgfHwgdGhpcy5fZW5hYmxlZFN0ZXBzWzBdKTtcbiAgICB0aGlzLl9wcm94eVNpemUoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZUxhYmVscygpOiB2b2lkIHtcbiAgICB0aGlzLnN0ZXBzLmZvckVhY2goKHN0ZXApID0+IHtcbiAgICAgIHN0ZXAuc2xvdCA9IHRoaXMub3JpZW50YXRpb24gPT09ICdob3Jpem9udGFsJyA/ICdzdGVwJyA6ICdzdGVwLWxhYmVsJztcbiAgICAgIHN0ZXAuc2V0QXR0cmlidXRlKCdkYXRhLW9yaWVudGF0aW9uJywgdGhpcy5vcmllbnRhdGlvbik7XG4gICAgICBzdGVwLmxhYmVsPy5zZXRBdHRyaWJ1dGUoJ2RhdGEtb3JpZW50YXRpb24nLCB0aGlzLm9yaWVudGF0aW9uKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2NoZWNrT3JpZW50YXRpb24oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaG9yaXpvbnRhbEZyb20pIHtcbiAgICAgIHRoaXMub3JpZW50YXRpb24gPSBpc0JyZWFrcG9pbnQodGhpcy5ob3Jpem9udGFsRnJvbSkgPyAnaG9yaXpvbnRhbCcgOiAndmVydGljYWwnO1xuICAgICAgdGhpcy5fdXBkYXRlTGFiZWxzKCk7XG4gICAgfVxuICAgIC8vIFRoZSB0aW1lb3V0IGlzIG5lZWRlZCB0byBtYWtlIHN1cmUgdGhhdCB0aGUgbWFya2VyIHRha2VzIHRoZSBjb3JyZWN0IHN0ZXAtbGFiZWwgc2l6ZS5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuX3NldE1hcmtlclNpemUoKSwgMCk7XG4gIH1cblxuICBwcml2YXRlIF9vblN0ZXBwZXJSZXNpemUgPSAoKTogdm9pZCA9PiB7XG4gICAgdGhpcy5fY2hlY2tPcmllbnRhdGlvbigpO1xuICAgIHRoaXMuX3NldFN0ZXBwZXJIZWlnaHQodGhpcy5zZWxlY3RlZCk7XG4gICAgY2xlYXJUaW1lb3V0KHRoaXMuX3Jlc2l6ZU9ic2VydmVyVGltZW91dCEpO1xuICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkYXRhLWRpc2FibGUtYW5pbWF0aW9uJywgdHJ1ZSk7XG5cbiAgICAvLyBEaXNhYmxlIHRoZSBhbmltYXRpb24gd2hlbiByZXNpemluZyB0byBhdm9pZCBzdHJhbmdlIHRyYW5zaXRpb24gZWZmZWN0cy5cbiAgICB0aGlzLl9yZXNpemVPYnNlcnZlclRpbWVvdXQgPSBzZXRUaW1lb3V0KFxuICAgICAgKCkgPT4gdGhpcy50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtZGlzYWJsZS1hbmltYXRpb24nLCBmYWxzZSksXG4gICAgICBERUJPVU5DRV9USU1FLFxuICAgICk7XG4gIH07XG5cbiAgcHJpdmF0ZSBfY29uZmlndXJlTGluZWFyTW9kZSgpOiB2b2lkIHtcbiAgICB0aGlzLnN0ZXBzLmZvckVhY2goKHN0ZXAsIGluZGV4KSA9PiB7XG4gICAgICBzdGVwLmxhYmVsPy50b2dnbGVBdHRyaWJ1dGUoXG4gICAgICAgICdkaXNhYmxlZCcsXG4gICAgICAgICh0aGlzLmxpbmVhciAmJiBpbmRleCA+IHRoaXMuc2VsZWN0ZWRJbmRleCEpIHx8XG4gICAgICAgICAgKCF0aGlzLmxpbmVhciAmJiBzdGVwLmxhYmVsLmhhc0F0dHJpYnV0ZSgnZGF0YS1kaXNhYmxlZCcpKSxcbiAgICAgICk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdGhpcy5fb25TdGVwcGVyUmVzaXplLCB7XG4gICAgICBwYXNzaXZlOiB0cnVlLFxuICAgIH0pO1xuICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkYXRhLWRpc2FibGUtYW5pbWF0aW9uJywgIXRoaXMuX2xvYWRlZCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZGlzY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdGhpcy5fb25TdGVwcGVyUmVzaXplKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBhc3luYyBmaXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgc3VwZXIuZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcbiAgICBhd2FpdCB0aGlzLnVwZGF0ZUNvbXBsZXRlO1xuICAgIHRoaXMuX2xvYWRlZCA9IHRydWU7XG4gICAgdGhpcy5zZWxlY3RlZEluZGV4ID0gdGhpcy5saW5lYXIgPyAwIDogTnVtYmVyKHRoaXMuZ2V0QXR0cmlidXRlKCdzZWxlY3RlZC1pbmRleCcpKSB8fCAwO1xuICAgIHRoaXMuX29ic2VydmVyLm9ic2VydmUodGhpcyk7XG4gICAgdGhpcy5fY2hlY2tPcmllbnRhdGlvbigpO1xuICAgIC8vIFJlbW92ZSBbZGF0YS1kaXNhYmxlLWFuaW1hdGlvbl0gYWZ0ZXIgY29tcG9uZW50IGluaXRcbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkYXRhLWRpc2FibGUtYW5pbWF0aW9uJywgZmFsc2UpLCBERUJPVU5DRV9USU1FKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ29yaWVudGF0aW9uJykgJiYgIXRoaXMuaG9yaXpvbnRhbEZyb20pIHtcbiAgICAgIHRoaXMuX3VwZGF0ZUxhYmVscygpO1xuICAgICAgdGhpcy5fc2V0TWFya2VyU2l6ZSgpO1xuICAgIH1cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdsaW5lYXInKSAmJiB0aGlzLl9sb2FkZWQpIHtcbiAgICAgIHRoaXMuX2NvbmZpZ3VyZUxpbmVhck1vZGUoKTtcbiAgICB9XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdzaXplJykpIHtcbiAgICAgIHRoaXMuX3Byb3h5U2l6ZSgpO1xuICAgICAgdGhpcy5fc2V0TWFya2VyU2l6ZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3Byb3h5U2l6ZSgpOiB2b2lkIHtcbiAgICB0aGlzLnN0ZXBzLmZvckVhY2goKHN0ZXApID0+IHtcbiAgICAgIHN0ZXAubGFiZWw/LnNldEF0dHJpYnV0ZSgnZGF0YS1zaXplJywgdGhpcy5zaXplKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZUtleURvd24oZXZ0OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgZW5hYmxlZFN0ZXBzOiBTYmJTdGVwRWxlbWVudFtdID0gdGhpcy5fZW5hYmxlZFN0ZXBzO1xuXG4gICAgaWYgKFxuICAgICAgIWVuYWJsZWRTdGVwcyB8fFxuICAgICAgLy8gZG9uJ3QgdHJhcCBuZXN0ZWQgaGFuZGxpbmdcbiAgICAgICgoZXZ0LnRhcmdldCBhcyBIVE1MRWxlbWVudCkgIT09IHRoaXMgJiYgKGV2dC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLnBhcmVudEVsZW1lbnQgIT09IHRoaXMpXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGlzQXJyb3dLZXlQcmVzc2VkKGV2dCkpIHtcbiAgICAgIGNvbnN0IGN1cnJlbnQ6IG51bWJlciA9IGVuYWJsZWRTdGVwcy5pbmRleE9mKHRoaXMuc2VsZWN0ZWQhKTtcbiAgICAgIGNvbnN0IG5leHRJbmRleDogbnVtYmVyID0gZ2V0TmV4dEVsZW1lbnRJbmRleChldnQsIGN1cnJlbnQsIGVuYWJsZWRTdGVwcy5sZW5ndGgpO1xuICAgICAgdGhpcy5fc2VsZWN0KGVuYWJsZWRTdGVwc1tuZXh0SW5kZXhdKTtcbiAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1zdGVwcGVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzYmItc3RlcHBlcl9fbGFiZWxzXCIgcm9sZT1cInRhYmxpc3RcIj5cbiAgICAgICAgICA8c2xvdCBuYW1lPVwic3RlcC1sYWJlbFwiIEBzbG90Y2hhbmdlPSR7dGhpcy5fY29uZmlndXJlfT48L3Nsb3Q+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLXN0ZXBwZXJfX3N0ZXBzXCI+XG4gICAgICAgICAgPHNsb3QgbmFtZT1cInN0ZXBcIiBAc2xvdGNoYW5nZT0ke3RoaXMuX2NvbmZpZ3VyZX0+PC9zbG90PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1zdGVwcGVyJzogU2JiU3RlcHBlckVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJfYSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
@@ -1,5 +1,6 @@
1
1
  import { CSSResultGroup, PropertyValues, TemplateResult } from 'lit';
2
2
  import { SbbButtonBaseElement } from '../../core/base-elements.js';
3
+ import { FormRestoreReason, FormRestoreState } from '../../core/mixins.js';
3
4
  export type SbbTagSize = 's' | 'm';
4
5
  declare const SbbTagElement_base: import('../../core/mixins.js').AbstractConstructor<import('../../icon.js').SbbIconNameMixinType> & import('../../core/mixins.js').AbstractConstructor<import('../../core/mixins.js').SbbDisabledMixinType & import('../../core/mixins.js').SbbDisabledInteractiveMixinType> & typeof SbbButtonBaseElement;
5
6
  /**
@@ -38,9 +39,19 @@ export declare class SbbTagElement extends SbbTagElement_base {
38
39
  private _change;
39
40
  constructor();
40
41
  connectedCallback(): void;
42
+ protected isDisabledExternally(): boolean;
41
43
  /** Method triggered on button click. Inverts the checked value and emits events. */
42
44
  private _handleClick;
43
45
  protected willUpdate(changedProperties: PropertyValues<this>): void;
46
+ /**
47
+ * @internal
48
+ */
49
+ formResetCallback(): void;
50
+ /**
51
+ * @internal
52
+ */
53
+ formStateRestoreCallback(state: FormRestoreState | null, _reason: FormRestoreReason): void;
54
+ protected updateFormValue(): void;
44
55
  protected renderTemplate(): TemplateResult;
45
56
  }
46
57
  declare global {
@@ -1 +1 @@
1
- {"version":3,"file":"tag.d.ts","sourceRoot":"","sources":["../../../../../src/elements/tag/tag/tag.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAI1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAUnE,MAAM,MAAM,UAAU,GAAG,GAAG,GAAG,GAAG,CAAC;;AAEnC;;;;;;;;;GASG;AACH,qBAGM,aAAc,SAAQ,kBAAsE;IAChG,OAAuB,MAAM,EAAE,cAAc,CAAS;IACtD,gBAAuB,MAAM;;;;MAIlB;IAEX,uCAAuC;IACvC,SAEgB,MAAM,EAAE,MAAM,CAAM;IAEpC,kCAAkC;IAClC,SAEgB,OAAO,EAAE,OAAO,CAAS;IAEzC;;;OAGG;IACH,SAEgB,IAAI,EAAE,UAAU,CAAwB;IAExD,4CAA4C;IAC5C,OAAO,CAAC,MAAM,CAAmC;IAEjD,0BAA0B;IAC1B,OAAO,CAAC,MAAM,CAGX;IAEH,4FAA4F;IAC5F,OAAO,CAAC,UAAU,CAEf;IAEH,2BAA2B;IAC3B,OAAO,CAAC,OAAO,CAEZ;;IAOa,iBAAiB,IAAI,IAAI;IAKzC,oFAAoF;IACpF,OAAO,CAAC,YAAY;cAgBD,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;cAazD,cAAc,IAAI,cAAc;CAWpD;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,SAAS,EAAE,aAAa,CAAC;KAC1B;CACF"}
1
+ {"version":3,"file":"tag.d.ts","sourceRoot":"","sources":["../../../../../src/elements/tag/tag/tag.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAI1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAInE,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EAEtB,MAAM,sBAAsB,CAAC;AAM9B,MAAM,MAAM,UAAU,GAAG,GAAG,GAAG,GAAG,CAAC;;AAEnC;;;;;;;;;GASG;AACH,qBAGM,aAAc,SAAQ,kBAAsE;IAChG,OAAuB,MAAM,EAAE,cAAc,CAAS;IACtD,gBAAuB,MAAM;;;;MAIlB;IAEX,uCAAuC;IACvC,SAEgB,MAAM,EAAE,MAAM,CAAM;IAEpC,kCAAkC;IAClC,SAEgB,OAAO,EAAE,OAAO,CAAS;IAEzC;;;OAGG;IACH,SAEgB,IAAI,EAAE,UAAU,CAAwB;IAExD,4CAA4C;IAC5C,OAAO,CAAC,MAAM,CAAmC;IAEjD,0BAA0B;IAC1B,OAAO,CAAC,MAAM,CAGX;IAEH,4FAA4F;IAC5F,OAAO,CAAC,UAAU,CAEf;IAEH,2BAA2B;IAC3B,OAAO,CAAC,OAAO,CAEZ;;IAOa,iBAAiB,IAAI,IAAI;cAKtB,oBAAoB,IAAI,OAAO;IAIlD,oFAAoF;IACpF,OAAO,CAAC,YAAY;cAgBD,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAe5E;;OAEG;IACa,iBAAiB,IAAI,IAAI;IAIzC;;OAEG;IACa,wBAAwB,CACtC,KAAK,EAAE,gBAAgB,GAAG,IAAI,EAC9B,OAAO,EAAE,iBAAiB,GACzB,IAAI;cAMY,eAAe,IAAI,IAAI;cAQvB,cAAc,IAAI,cAAc;CAWpD;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,SAAS,EAAE,aAAa,CAAC;KAC1B;CACF"}
@@ -1,7 +1,7 @@
1
1
  import { CSSResultGroup, LitElement, PropertyValues, TemplateResult } from 'lit';
2
2
  import { WithListChildren } from '../../core/mixins.js';
3
3
  import { SbbTagElement, SbbTagSize } from '../tag.js';
4
- declare const SbbTagGroupElement_base: import('../../core/mixins.js').AbstractConstructor<import('../../core/mixins.js').SbbNamedSlotListMixinType<SbbTagElement>> & typeof LitElement;
4
+ declare const SbbTagGroupElement_base: import('../../core/mixins.js').AbstractConstructor<import('../../core/mixins.js').SbbDisabledMixinType> & import('../../core/mixins.js').AbstractConstructor<import('../../core/mixins.js').SbbNamedSlotListMixinType<SbbTagElement>> & typeof LitElement;
5
5
  /**
6
6
  * It can be used as a container for one or more `sbb-tag`.
7
7
  *
@@ -1 +1 @@
1
- {"version":3,"file":"tag-group.d.ts","sourceRoot":"","sources":["../../../../../src/elements/tag/tag-group/tag-group.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EAGnB,UAAU,EACV,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAKb,OAAO,EAAyB,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACpF,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;;AAI3D;;;;GAIG;AACH,qBAEM,kBAAmB,SAAQ,uBAEhC;IACC,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD,mBAA4B,mBAAmB,WAAsB;IAErE;;OAEG;IACH,SAEgB,sBAAsB,EAAE,MAAM,CAAM;IAEpD;;;;;OAKG;IACH,SAEgB,QAAQ,EAAE,OAAO,CAAS;IAE1C;;;OAGG;IACH,SAA6C,IAAI,EAAE,UAAU,CAAwB;IAErF;;;;OAIG;IACH,IACW,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,EAyBxD;IACD,IAAW,KAAK,IAAI,MAAM,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAMpD;IACD,OAAO,CAAC,MAAM,CAA2C;IAEzD,kDAAkD;IAClD,IAAW,IAAI,IAAI,aAAa,EAAE,CAEjC;cAEkB,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI;cA0B3E,MAAM,IAAI,cAAc;CAU5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,eAAe,EAAE,kBAAkB,CAAC;KACrC;CACF"}
1
+ {"version":3,"file":"tag-group.d.ts","sourceRoot":"","sources":["../../../../../src/elements/tag/tag-group/tag-group.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EAGnB,UAAU,EACV,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAKb,OAAO,EAGL,KAAK,gBAAgB,EACtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;;AAI3D;;;;GAIG;AACH,qBAEM,kBAAmB,SAAQ,uBAEhC;IACC,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD,mBAA4B,mBAAmB,WAAsB;IAErE;;OAEG;IACH,SAEgB,sBAAsB,EAAE,MAAM,CAAM;IAEpD;;;;;OAKG;IACH,SAEgB,QAAQ,EAAE,OAAO,CAAS;IAE1C;;;OAGG;IACH,SAA6C,IAAI,EAAE,UAAU,CAAwB;IAErF;;;;OAIG;IACH,IACW,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,EAyBxD;IACD,IAAW,KAAK,IAAI,MAAM,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAMpD;IACD,OAAO,CAAC,MAAM,CAA2C;IAEzD,kDAAkD;IAClD,IAAW,IAAI,IAAI,aAAa,EAAE,CAEjC;cAEkB,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI;cA8B3E,MAAM,IAAI,cAAc;CAU5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,eAAe,EAAE,kBAAkB,CAAC;KACrC;CACF"}
@@ -10,7 +10,7 @@ import { css, LitElement, isServer, html } from "lit";
10
10
  import { customElement, property } from "lit/decorators.js";
11
11
  import { forceType } from "../core/decorators.js";
12
12
  import { isLean, setOrRemoveAttribute } from "../core/dom.js";
13
- import { SbbNamedSlotListMixin } from "../core/mixins.js";
13
+ import { SbbDisabledMixin, SbbNamedSlotListMixin } from "../core/mixins.js";
14
14
  const style = css`*,
15
15
  ::before,
16
16
  ::after {
@@ -41,7 +41,7 @@ let SbbTagGroupElement = (() => {
41
41
  let _classDescriptor;
42
42
  let _classExtraInitializers = [];
43
43
  let _classThis;
44
- let _classSuper = SbbNamedSlotListMixin(LitElement);
44
+ let _classSuper = SbbDisabledMixin(SbbNamedSlotListMixin(LitElement));
45
45
  let _instanceExtraInitializers = [];
46
46
  let _listAccessibilityLabel_decorators;
47
47
  let _listAccessibilityLabel_initializers = [];
@@ -141,6 +141,12 @@ let SbbTagGroupElement = (() => {
141
141
  return (_a2 = t.requestUpdate) == null ? void 0 : _a2.call(t, "size");
142
142
  });
143
143
  }
144
+ if (changedProperties.has("disabled")) {
145
+ this.tags.forEach((r) => {
146
+ var _a2;
147
+ return (_a2 = r.requestUpdate) == null ? void 0 : _a2.call(r, "disabled");
148
+ });
149
+ }
144
150
  if ((changedProperties.has("listChildren") || changedProperties.has("multiple")) && !this.multiple) {
145
151
  this.tags.filter((tag) => tag.checked).slice(1).forEach((tag) => tag.checked = false);
146
152
  }
@@ -183,4 +189,4 @@ let SbbTagGroupElement = (() => {
183
189
  export {
184
190
  SbbTagGroupElement
185
191
  };
186
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnLWdyb3VwLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvdGFnL3RhZy1ncm91cC90YWctZ3JvdXAudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgaHRtbCxcbiAgaXNTZXJ2ZXIsXG4gIExpdEVsZW1lbnQsXG4gIHR5cGUgUHJvcGVydHlWYWx1ZXMsXG4gIHR5cGUgVGVtcGxhdGVSZXN1bHQsXG59IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgZm9yY2VUeXBlIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGlzTGVhbiwgc2V0T3JSZW1vdmVBdHRyaWJ1dGUgfSBmcm9tICcuLi8uLi9jb3JlL2RvbS5qcyc7XG5pbXBvcnQgeyBTYmJOYW1lZFNsb3RMaXN0TWl4aW4sIHR5cGUgV2l0aExpc3RDaGlsZHJlbiB9IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiVGFnRWxlbWVudCwgU2JiVGFnU2l6ZSB9IGZyb20gJy4uL3RhZy5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL3RhZy1ncm91cC5zY3NzP2xpdCZpbmxpbmUnO1xuXG4vKipcbiAqIEl0IGNhbiBiZSB1c2VkIGFzIGEgY29udGFpbmVyIGZvciBvbmUgb3IgbW9yZSBgc2JiLXRhZ2AuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgb25lIG9yIG1vcmUgJ3NiYi10YWcnIGVsZW1lbnRzIHRvIHRoZSBgc2JiLXRhZy1ncm91cGAuXG4gKi9cbmV4cG9ydFxuQGN1c3RvbUVsZW1lbnQoJ3NiYi10YWctZ3JvdXAnKVxuY2xhc3MgU2JiVGFnR3JvdXBFbGVtZW50IGV4dGVuZHMgU2JiTmFtZWRTbG90TGlzdE1peGluPFNiYlRhZ0VsZW1lbnQsIHR5cGVvZiBMaXRFbGVtZW50PihcbiAgTGl0RWxlbWVudCxcbikge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcbiAgLy8gRElWIGlzIGFkZGVkIGhlcmUgZHVlIHRvIHNwZWNpYWwgcmVxdWlyZW1lbnRzIGZyb20gc2JiLmNoLlxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVhZG9ubHkgbGlzdENoaWxkTG9jYWxOYW1lcyA9IFsnc2JiLXRhZycsICdkaXYnXTtcblxuICAvKipcbiAgICogVGhpcyB3aWxsIGJlIGZvcndhcmRlZCBhcyBhcmlhLWxhYmVsIHRvIHRoZSBpbm5lciBsaXN0LlxuICAgKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2xpc3QtYWNjZXNzaWJpbGl0eS1sYWJlbCcgfSlcbiAgcHVibGljIGFjY2Vzc29yIGxpc3RBY2Nlc3NpYmlsaXR5TGFiZWw6IHN0cmluZyA9ICcnO1xuXG4gIC8qKlxuICAgKiBJZiBzZXQgbXVsdGlwbGUgdG8gZmFsc2UsIHRoZSBzZWxlY3Rpb24gaXMgZXhjbHVzaXZlIGFuZCB0aGUgdmFsdWUgaXMgYSBzdHJpbmcgKG9yIG51bGwpLlxuICAgKiBJZiBzZXQgbXVsdGlwbGUgdG8gdHJ1ZSwgdGhlIHNlbGVjdGlvbiBjYW4gaGF2ZSBtdWx0aXBsZSB2YWx1ZXMgYW5kIHRoZXJlZm9yZSB2YWx1ZSBpcyBhbiBhcnJheS5cbiAgICpcbiAgICogQ2hhbmdpbmcgbXVsdGlwbGUgZHVyaW5nIHJ1biB0aW1lIGlzIG5vdCBzdXBwb3J0ZWQuXG4gICAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgYWNjZXNzb3IgbXVsdGlwbGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogVGFnIGdyb3VwIHNpemUsIGVpdGhlciBzIG9yIG0uXG4gICAqIEBkZWZhdWx0ICdtJyAvICdzJyAobGVhbilcbiAgICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIGFjY2Vzc29yIHNpemU6IFNiYlRhZ1NpemUgPSBpc0xlYW4oKSA/ICdzJyA6ICdtJztcblxuICAvKipcbiAgICogVmFsdWUgb2YgdGhlIHNiYi10YWctZ3JvdXAuXG4gICAqIElmIHNldCBtdWx0aXBsZSB0byBmYWxzZSwgdGhlIHZhbHVlIGlzIGEgc3RyaW5nIChvciBudWxsKS5cbiAgICogSWYgc2V0IG11bHRpcGxlIHRvIHRydWUsIHRoZSB2YWx1ZSBpcyBhbiBhcnJheS5cbiAgICovXG4gIEBwcm9wZXJ0eSgpXG4gIHB1YmxpYyBzZXQgdmFsdWUodmFsdWU6IHN0cmluZyB8IChzdHJpbmcgfCBudWxsKVtdIHwgbnVsbCkge1xuICAgIGNvbnN0IHRhZ3MgPSB0aGlzLnRhZ3M7XG4gICAgaWYgKGlzU2VydmVyKSB7XG4gICAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xuICAgIH0gZWxzZSBpZiAodmFsdWUgPT09IG51bGwpIHtcbiAgICAgIHRhZ3MuZm9yRWFjaCgodCkgPT4gKHQuY2hlY2tlZCA9IGZhbHNlKSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLm11bHRpcGxlKSB7XG4gICAgICBpZiAoIUFycmF5LmlzQXJyYXkodmFsdWUpICYmIHRhZ3MuZXZlcnkoKHQpID0+IHQudmFsdWUgIT09IHZhbHVlKSkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIC8vIElmIGl0IGlzIG11bHRpcGxlIG1vZGUgYW5kIG5vIHRhZyBtYXRjaGVzIHRoZSB2YWx1ZSwgd2UgdHJ5IHRvIHBhcnNlIHRoZSB2YWx1ZSBhcyBKU09OLlxuICAgICAgICAgIC8vIFRoaXMgYWxsb3dzIHNlcnZlciBzaWRlIHJlbmRlcmluZyB0byB1c2UgYXJyYXkgdmFsdWVzIHRvIGJlIHBhc3NlZCB0byB0aGUgY2xpZW50IHNpZGUuXG4gICAgICAgICAgdmFsdWUgPSBKU09OLnBhcnNlKHZhbHVlKTtcbiAgICAgICAgfSBjYXRjaCB7XG4gICAgICAgICAgLyogZW1wdHkgKi9cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgY29uc3QgdmFsdWVBc0FycmF5ID0gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZSA6IFt2YWx1ZV07XG4gICAgICB0YWdzLmZvckVhY2goKHQpID0+ICh0LmNoZWNrZWQgPSB2YWx1ZUFzQXJyYXkuaW5jbHVkZXModC52YWx1ZSA/PyB0LmdldEF0dHJpYnV0ZSgndmFsdWUnKSkpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKCFBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICB0YWdzLmZvckVhY2goKHQpID0+ICh0LmNoZWNrZWQgPSAodC52YWx1ZSA/PyB0LmdldEF0dHJpYnV0ZSgndmFsdWUnKSkgPT09IHZhbHVlKSk7XG4gICAgICB9IGVsc2UgaWYgKGltcG9ydC5tZXRhLmVudi5ERVYpIHtcbiAgICAgICAgY29uc29sZS53YXJuKCd2YWx1ZSBtdXN0IG5vdCBiZSBzZXQgYXMgYW4gYXJyYXkgaW4gc2luZ3VsYXIgbW9kZS4nLCB2YWx1ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHB1YmxpYyBnZXQgdmFsdWUoKTogc3RyaW5nIHwgKHN0cmluZyB8IG51bGwpW10gfCBudWxsIHtcbiAgICByZXR1cm4gaXNTZXJ2ZXJcbiAgICAgID8gdGhpcy5fdmFsdWVcbiAgICAgIDogdGhpcy5tdWx0aXBsZVxuICAgICAgICA/IHRoaXMudGFncy5maWx0ZXIoKHQpID0+IHQuY2hlY2tlZCkubWFwKCh0KSA9PiB0LnZhbHVlKVxuICAgICAgICA6ICh0aGlzLnRhZ3MuZmluZCgodCkgPT4gdC5jaGVja2VkKT8udmFsdWUgPz8gbnVsbCk7XG4gIH1cbiAgcHJpdmF0ZSBfdmFsdWU6IHN0cmluZyB8IChzdHJpbmcgfCBudWxsKVtdIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqIFRoZSBjaGlsZCBpbnN0YW5jZXMgb2Ygc2JiLXRhZyBhcyBhbiBhcnJheS4gKi9cbiAgcHVibGljIGdldCB0YWdzKCk6IFNiYlRhZ0VsZW1lbnRbXSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5xdWVyeVNlbGVjdG9yQWxsPy4oJ3NiYi10YWcnKSA/PyBbXSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgd2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8V2l0aExpc3RDaGlsZHJlbjx0aGlzPj4pOiB2b2lkIHtcbiAgICBzdXBlci53aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ3NpemUnKSkge1xuICAgICAgdGhpcy50YWdzLmZvckVhY2goKHQpID0+IHQucmVxdWVzdFVwZGF0ZT8uKCdzaXplJykpO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ2xpc3RDaGlsZHJlbicpIHx8IGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnbXVsdGlwbGUnKSkgJiZcbiAgICAgICF0aGlzLm11bHRpcGxlXG4gICAgKSB7XG4gICAgICAvLyBFbnN1cmUgb25seSBvbmUgdGFnIGNoZWNrZWRcbiAgICAgIHRoaXMudGFnc1xuICAgICAgICAuZmlsdGVyKCh0YWcpID0+IHRhZy5jaGVja2VkKVxuICAgICAgICAuc2xpY2UoMSlcbiAgICAgICAgLmZvckVhY2goKHRhZykgPT4gKHRhZy5jaGVja2VkID0gZmFsc2UpKTtcbiAgICB9XG4gICAgc2V0T3JSZW1vdmVBdHRyaWJ1dGUoXG4gICAgICB0aGlzLFxuICAgICAgJ3JvbGUnLFxuICAgICAgY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdsaXN0QWNjZXNzaWJpbGl0eUxhYmVsJykgJiYgdGhpcy5saXN0QWNjZXNzaWJpbGl0eUxhYmVsXG4gICAgICAgID8gbnVsbFxuICAgICAgICA6ICdncm91cCcsXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi10YWctZ3JvdXBcIj5cbiAgICAgICAgJHt0aGlzLnJlbmRlckxpc3Qoe1xuICAgICAgICAgIGNsYXNzOiAnc2JiLXRhZy1ncm91cF9fbGlzdCcsXG4gICAgICAgICAgYXJpYUxhYmVsOiB0aGlzLmxpc3RBY2Nlc3NpYmlsaXR5TGFiZWwsXG4gICAgICAgIH0pfVxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLXRhZy1ncm91cCc6IFNiYlRhZ0dyb3VwRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIl9hIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBd0JNLHNCQUFrQixNQUFBOzswQkFEdkIsY0FBYyxlQUFlLENBQUM7Ozs7b0JBQ0Usc0JBQy9CLFVBQVU7Ozs7Ozs7Ozs7OztBQURhLEVBQUEsbUJBQVEsWUFFaEM7QUFBQTs7QUFVQztBQVVBO0FBTTZCO0FBdkJELFdBQW1CLHVCQUwzQyxxREFLOEMsQ0FBQyxXQUFXLEtBQUs7QUFPbkQseUJBQUEsMENBQUEsa0JBQUEsTUFBQSxzQ0FBaUMsRUFBRTtBQVVuQyx5QkFBQSw2QkFBQSxrQkFBQSxNQUFBLHlDQUFBLEdBQUEsa0JBQUEsTUFBQSx3QkFBb0IsS0FBSztBQU11Qix5QkFBQSx5QkFBQSxrQkFBQSxNQUFBLDJCQUFBLEdBQUEsa0JBQUEsTUFBQSxvQkFBQSxPQUFBLElBQVcsTUFBTSxHQUFHO0FBeUM1RSxXQUFNLFVBQUEsa0JBQUEsTUFBQSx1QkFBQSxHQUFzQztBQUFBLElBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxJQXpEcEQsSUFBZ0IseUJBQW9DO0FBQUEsYUFBQSxtQkFBQTtBQUFB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
192
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnLWdyb3VwLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvdGFnL3RhZy1ncm91cC90YWctZ3JvdXAudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgaHRtbCxcbiAgaXNTZXJ2ZXIsXG4gIExpdEVsZW1lbnQsXG4gIHR5cGUgUHJvcGVydHlWYWx1ZXMsXG4gIHR5cGUgVGVtcGxhdGVSZXN1bHQsXG59IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgZm9yY2VUeXBlIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGlzTGVhbiwgc2V0T3JSZW1vdmVBdHRyaWJ1dGUgfSBmcm9tICcuLi8uLi9jb3JlL2RvbS5qcyc7XG5pbXBvcnQge1xuICBTYmJEaXNhYmxlZE1peGluLFxuICBTYmJOYW1lZFNsb3RMaXN0TWl4aW4sXG4gIHR5cGUgV2l0aExpc3RDaGlsZHJlbixcbn0gZnJvbSAnLi4vLi4vY29yZS9taXhpbnMuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJUYWdFbGVtZW50LCBTYmJUYWdTaXplIH0gZnJvbSAnLi4vdGFnLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vdGFnLWdyb3VwLnNjc3M/bGl0JmlubGluZSc7XG5cbi8qKlxuICogSXQgY2FuIGJlIHVzZWQgYXMgYSBjb250YWluZXIgZm9yIG9uZSBvciBtb3JlIGBzYmItdGFnYC5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBvbmUgb3IgbW9yZSAnc2JiLXRhZycgZWxlbWVudHMgdG8gdGhlIGBzYmItdGFnLWdyb3VwYC5cbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLXRhZy1ncm91cCcpXG5jbGFzcyBTYmJUYWdHcm91cEVsZW1lbnQgZXh0ZW5kcyBTYmJEaXNhYmxlZE1peGluKFxuICBTYmJOYW1lZFNsb3RMaXN0TWl4aW48U2JiVGFnRWxlbWVudCwgdHlwZW9mIExpdEVsZW1lbnQ+KExpdEVsZW1lbnQpLFxuKSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuICAvLyBESVYgaXMgYWRkZWQgaGVyZSBkdWUgdG8gc3BlY2lhbCByZXF1aXJlbWVudHMgZnJvbSBzYmIuY2guXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZWFkb25seSBsaXN0Q2hpbGRMb2NhbE5hbWVzID0gWydzYmItdGFnJywgJ2RpdiddO1xuXG4gIC8qKlxuICAgKiBUaGlzIHdpbGwgYmUgZm9yd2FyZGVkIGFzIGFyaWEtbGFiZWwgdG8gdGhlIGlubmVyIGxpc3QuXG4gICAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnbGlzdC1hY2Nlc3NpYmlsaXR5LWxhYmVsJyB9KVxuICBwdWJsaWMgYWNjZXNzb3IgbGlzdEFjY2Vzc2liaWxpdHlMYWJlbDogc3RyaW5nID0gJyc7XG5cbiAgLyoqXG4gICAqIElmIHNldCBtdWx0aXBsZSB0byBmYWxzZSwgdGhlIHNlbGVjdGlvbiBpcyBleGNsdXNpdmUgYW5kIHRoZSB2YWx1ZSBpcyBhIHN0cmluZyAob3IgbnVsbCkuXG4gICAqIElmIHNldCBtdWx0aXBsZSB0byB0cnVlLCB0aGUgc2VsZWN0aW9uIGNhbiBoYXZlIG11bHRpcGxlIHZhbHVlcyBhbmQgdGhlcmVmb3JlIHZhbHVlIGlzIGFuIGFycmF5LlxuICAgKlxuICAgKiBDaGFuZ2luZyBtdWx0aXBsZSBkdXJpbmcgcnVuIHRpbWUgaXMgbm90IHN1cHBvcnRlZC5cbiAgICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBtdWx0aXBsZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBUYWcgZ3JvdXAgc2l6ZSwgZWl0aGVyIHMgb3IgbS5cbiAgICogQGRlZmF1bHQgJ20nIC8gJ3MnIChsZWFuKVxuICAgKi9cbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSB9KSBwdWJsaWMgYWNjZXNzb3Igc2l6ZTogU2JiVGFnU2l6ZSA9IGlzTGVhbigpID8gJ3MnIDogJ20nO1xuXG4gIC8qKlxuICAgKiBWYWx1ZSBvZiB0aGUgc2JiLXRhZy1ncm91cC5cbiAgICogSWYgc2V0IG11bHRpcGxlIHRvIGZhbHNlLCB0aGUgdmFsdWUgaXMgYSBzdHJpbmcgKG9yIG51bGwpLlxuICAgKiBJZiBzZXQgbXVsdGlwbGUgdG8gdHJ1ZSwgdGhlIHZhbHVlIGlzIGFuIGFycmF5LlxuICAgKi9cbiAgQHByb3BlcnR5KClcbiAgcHVibGljIHNldCB2YWx1ZSh2YWx1ZTogc3RyaW5nIHwgKHN0cmluZyB8IG51bGwpW10gfCBudWxsKSB7XG4gICAgY29uc3QgdGFncyA9IHRoaXMudGFncztcbiAgICBpZiAoaXNTZXJ2ZXIpIHtcbiAgICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XG4gICAgfSBlbHNlIGlmICh2YWx1ZSA9PT0gbnVsbCkge1xuICAgICAgdGFncy5mb3JFYWNoKCh0KSA9PiAodC5jaGVja2VkID0gZmFsc2UpKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMubXVsdGlwbGUpIHtcbiAgICAgIGlmICghQXJyYXkuaXNBcnJheSh2YWx1ZSkgJiYgdGFncy5ldmVyeSgodCkgPT4gdC52YWx1ZSAhPT0gdmFsdWUpKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgLy8gSWYgaXQgaXMgbXVsdGlwbGUgbW9kZSBhbmQgbm8gdGFnIG1hdGNoZXMgdGhlIHZhbHVlLCB3ZSB0cnkgdG8gcGFyc2UgdGhlIHZhbHVlIGFzIEpTT04uXG4gICAgICAgICAgLy8gVGhpcyBhbGxvd3Mgc2VydmVyIHNpZGUgcmVuZGVyaW5nIHRvIHVzZSBhcnJheSB2YWx1ZXMgdG8gYmUgcGFzc2VkIHRvIHRoZSBjbGllbnQgc2lkZS5cbiAgICAgICAgICB2YWx1ZSA9IEpTT04ucGFyc2UodmFsdWUpO1xuICAgICAgICB9IGNhdGNoIHtcbiAgICAgICAgICAvKiBlbXB0eSAqL1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBjb25zdCB2YWx1ZUFzQXJyYXkgPSBBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlIDogW3ZhbHVlXTtcbiAgICAgIHRhZ3MuZm9yRWFjaCgodCkgPT4gKHQuY2hlY2tlZCA9IHZhbHVlQXNBcnJheS5pbmNsdWRlcyh0LnZhbHVlID8/IHQuZ2V0QXR0cmlidXRlKCd2YWx1ZScpKSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoIUFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgIHRhZ3MuZm9yRWFjaCgodCkgPT4gKHQuY2hlY2tlZCA9ICh0LnZhbHVlID8/IHQuZ2V0QXR0cmlidXRlKCd2YWx1ZScpKSA9PT0gdmFsdWUpKTtcbiAgICAgIH0gZWxzZSBpZiAoaW1wb3J0Lm1ldGEuZW52LkRFVikge1xuICAgICAgICBjb25zb2xlLndhcm4oJ3ZhbHVlIG11c3Qgbm90IGJlIHNldCBhcyBhbiBhcnJheSBpbiBzaW5ndWxhciBtb2RlLicsIHZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcHVibGljIGdldCB2YWx1ZSgpOiBzdHJpbmcgfCAoc3RyaW5nIHwgbnVsbClbXSB8IG51bGwge1xuICAgIHJldHVybiBpc1NlcnZlclxuICAgICAgPyB0aGlzLl92YWx1ZVxuICAgICAgOiB0aGlzLm11bHRpcGxlXG4gICAgICAgID8gdGhpcy50YWdzLmZpbHRlcigodCkgPT4gdC5jaGVja2VkKS5tYXAoKHQpID0+IHQudmFsdWUpXG4gICAgICAgIDogKHRoaXMudGFncy5maW5kKCh0KSA9PiB0LmNoZWNrZWQpPy52YWx1ZSA/PyBudWxsKTtcbiAgfVxuICBwcml2YXRlIF92YWx1ZTogc3RyaW5nIHwgKHN0cmluZyB8IG51bGwpW10gfCBudWxsID0gbnVsbDtcblxuICAvKiogVGhlIGNoaWxkIGluc3RhbmNlcyBvZiBzYmItdGFnIGFzIGFuIGFycmF5LiAqL1xuICBwdWJsaWMgZ2V0IHRhZ3MoKTogU2JiVGFnRWxlbWVudFtdIHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLnF1ZXJ5U2VsZWN0b3JBbGw/Lignc2JiLXRhZycpID8/IFtdKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczxXaXRoTGlzdENoaWxkcmVuPHRoaXM+Pik6IHZvaWQge1xuICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnc2l6ZScpKSB7XG4gICAgICB0aGlzLnRhZ3MuZm9yRWFjaCgodCkgPT4gdC5yZXF1ZXN0VXBkYXRlPy4oJ3NpemUnKSk7XG4gICAgfVxuXG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnZGlzYWJsZWQnKSkge1xuICAgICAgdGhpcy50YWdzLmZvckVhY2goKHIpID0+IHIucmVxdWVzdFVwZGF0ZT8uKCdkaXNhYmxlZCcpKTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdsaXN0Q2hpbGRyZW4nKSB8fCBjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ211bHRpcGxlJykpICYmXG4gICAgICAhdGhpcy5tdWx0aXBsZVxuICAgICkge1xuICAgICAgLy8gRW5zdXJlIG9ubHkgb25lIHRhZyBjaGVja2VkXG4gICAgICB0aGlzLnRhZ3NcbiAgICAgICAgLmZpbHRlcigodGFnKSA9PiB0YWcuY2hlY2tlZClcbiAgICAgICAgLnNsaWNlKDEpXG4gICAgICAgIC5mb3JFYWNoKCh0YWcpID0+ICh0YWcuY2hlY2tlZCA9IGZhbHNlKSk7XG4gICAgfVxuICAgIHNldE9yUmVtb3ZlQXR0cmlidXRlKFxuICAgICAgdGhpcyxcbiAgICAgICdyb2xlJyxcbiAgICAgIGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnbGlzdEFjY2Vzc2liaWxpdHlMYWJlbCcpICYmIHRoaXMubGlzdEFjY2Vzc2liaWxpdHlMYWJlbFxuICAgICAgICA/IG51bGxcbiAgICAgICAgOiAnZ3JvdXAnLFxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItdGFnLWdyb3VwXCI+XG4gICAgICAgICR7dGhpcy5yZW5kZXJMaXN0KHtcbiAgICAgICAgICBjbGFzczogJ3NiYi10YWctZ3JvdXBfX2xpc3QnLFxuICAgICAgICAgIGFyaWFMYWJlbDogdGhpcy5saXN0QWNjZXNzaWJpbGl0eUxhYmVsLFxuICAgICAgICB9KX1cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi10YWctZ3JvdXAnOiBTYmJUYWdHcm91cEVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJfYSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQTRCTSxzQkFBa0IsTUFBQTs7MEJBRHZCLGNBQWMsZUFBZSxDQUFDOzs7O0FBQ0UsTUFBQSxjQUFBLGlCQUMvQixzQkFBd0QsVUFBVSxDQUFDOzs7Ozs7Ozs7Ozs7QUFENUMsRUFBQSxtQkFBUSxZQUVoQztBQUFBOztBQVVDO0FBVUE7QUFNNkI7QUF2QkQsV0FBbUIsdUJBTDNDLHFEQUs4QyxDQUFDLFdBQVcsS0FBSztBQU9uRCx5QkFBQSwwQ0FBQSxrQkFBQSxNQUFBLHNDQUFpQyxFQUFFO0FBVW5DLHlCQUFBLDZCQUFBLGtCQUFBLE1BQUEseUNBQUEsR0FBQSxrQkFBQSxNQUFBLHdCQUFvQixLQUFL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