@sbb-esta/lyne-elements 3.0.0-next.1 → 3.0.0-next.3

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 (566) hide show
  1. package/accordion/accordion.component.js +19 -22
  2. package/action-group/action-group.component.js +3 -5
  3. package/alert/alert/alert.component.d.ts +5 -7
  4. package/alert/alert/alert.component.d.ts.map +1 -1
  5. package/alert/alert/alert.component.js +69 -84
  6. package/alert/alert-group/alert-group.component.js +2 -3
  7. package/autocomplete/autocomplete-base-element.js +83 -95
  8. package/autocomplete/autocomplete.component.js +28 -33
  9. package/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js +42 -50
  10. package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.d.ts +1 -1
  11. package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.d.ts.map +1 -1
  12. package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js +4 -5
  13. package/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.js +17 -20
  14. package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.d.ts +1 -1
  15. package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.d.ts.map +1 -1
  16. package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +21 -24
  17. package/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +5 -5
  18. package/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +27 -31
  19. package/button/mini-button/mini-button.component.js +1 -1
  20. package/button/mini-button-group/mini-button-group.component.js +1 -2
  21. package/calendar/calendar.component.d.ts +0 -5
  22. package/calendar/calendar.component.d.ts.map +1 -1
  23. package/calendar/calendar.component.js +129 -147
  24. package/card/card/card.component.js +12 -12
  25. package/card/card-badge/card-badge.component.js +17 -17
  26. package/card/common/card-action-common.js +20 -22
  27. package/checkbox/checkbox/checkbox.component.js +17 -20
  28. package/checkbox/checkbox-group/checkbox-group.component.js +39 -52
  29. package/checkbox/checkbox-panel/checkbox-panel.component.js +18 -21
  30. package/checkbox/common/checkbox-common.js +13 -15
  31. package/chip/chip-group/chip-group.component.js +66 -80
  32. package/clock/clock.component.js +50 -60
  33. package/container/container/container.component.js +28 -29
  34. package/container/sticky-bar/sticky-bar.component.js +25 -26
  35. package/core/a11y/focus-trap-controller.js +11 -14
  36. package/core/a11y/input-modality-detector.js +15 -16
  37. package/core/a11y/interactivity-checker.js +10 -10
  38. package/core/a11y/live-announcer.js +12 -14
  39. package/core/base-elements/button-base-element.js +58 -63
  40. package/core/base-elements/link-base-element.js +3 -6
  41. package/core/base-elements/open-close-base-element.js +1 -1
  42. package/core/config/config.d.ts.map +1 -1
  43. package/core/controllers/escapable-overlay-controller.js +10 -12
  44. package/core/controllers/id-reference-controller.js +13 -14
  45. package/core/controllers/inert-controller.js +8 -10
  46. package/core/controllers/slot-state-controller.js +16 -26
  47. package/core/datetime/date-adapter.d.ts +1 -1
  48. package/core/datetime/date-adapter.d.ts.map +1 -1
  49. package/core/datetime/date-adapter.js +21 -21
  50. package/core/datetime/native-date-adapter.d.ts +1 -1
  51. package/core/datetime/native-date-adapter.d.ts.map +1 -1
  52. package/core/datetime/native-date-adapter.js +28 -28
  53. package/core/decorators/force-type.js +4 -5
  54. package/core/decorators/id-reference.js +34 -37
  55. package/core/decorators/plain-date.js +16 -19
  56. package/core/dom/breakpoint.js +8 -8
  57. package/core/eventing/event-emitter.js +4 -5
  58. package/core/i18n/i18n.js +41 -41
  59. package/core/mixins/element-internals-mixin.d.ts +21 -0
  60. package/core/mixins/element-internals-mixin.d.ts.map +1 -1
  61. package/core/mixins/element-internals-mixin.js +109 -23
  62. package/core/mixins/form-associated-checkbox-mixin.js +32 -37
  63. package/core/mixins/form-associated-input-mixin.d.ts.map +1 -1
  64. package/core/mixins/form-associated-input-mixin.js +69 -93
  65. package/core/mixins/form-associated-mixin.js +32 -35
  66. package/core/mixins/form-associated-radio-button-mixin.js +3 -5
  67. package/core/mixins/hydration-mixin.js +12 -13
  68. package/core/mixins/named-slot-list-mixin.js +32 -37
  69. package/core/mixins/panel-mixin.js +26 -27
  70. package/core/mixins/readonly-mixin.d.ts.map +1 -1
  71. package/core/mixins/readonly-mixin.js +10 -11
  72. package/core/mixins.js +27 -25
  73. package/core/overlay/position.js +23 -23
  74. package/core/styles/core/mediaqueries.scss +1 -1
  75. package/core/styles/core.scss +70 -35
  76. package/core/styles/mixins/table.scss +1 -24
  77. package/core/testing/event-spy.js +2 -4
  78. package/core/testing/wait-for-image-ready.js +8 -9
  79. package/core/testing/wait-for-render.js +8 -9
  80. package/core.css +29 -0
  81. package/custom-elements.json +5233 -2634
  82. package/date-input/date-input.component.d.ts +16 -1
  83. package/date-input/date-input.component.d.ts.map +1 -1
  84. package/date-input/date-input.component.js +71 -58
  85. package/datepicker/common/datepicker-button.d.ts +31 -20
  86. package/datepicker/common/datepicker-button.d.ts.map +1 -1
  87. package/datepicker/common/datepicker-button.js +79 -74
  88. package/datepicker/common.d.ts +0 -1
  89. package/datepicker/common.d.ts.map +1 -1
  90. package/datepicker/common.js +3 -5
  91. package/datepicker/datepicker/datepicker.component.d.ts +23 -102
  92. package/datepicker/datepicker/datepicker.component.d.ts.map +1 -1
  93. package/datepicker/datepicker/datepicker.component.js +91 -233
  94. package/datepicker/datepicker-next-day/datepicker-next-day.component.d.ts +2 -2
  95. package/datepicker/datepicker-next-day/datepicker-next-day.component.d.ts.map +1 -1
  96. package/datepicker/datepicker-next-day/datepicker-next-day.component.js +27 -18
  97. package/datepicker/datepicker-previous-day/datepicker-previous-day.component.d.ts +2 -2
  98. package/datepicker/datepicker-previous-day/datepicker-previous-day.component.d.ts.map +1 -1
  99. package/datepicker/datepicker-previous-day/datepicker-previous-day.component.js +27 -18
  100. package/datepicker/datepicker-toggle/datepicker-toggle.component.d.ts +6 -26
  101. package/datepicker/datepicker-toggle/datepicker-toggle.component.d.ts.map +1 -1
  102. package/datepicker/datepicker-toggle/datepicker-toggle.component.js +36 -145
  103. package/datepicker.js +9 -11
  104. package/development/accordion/accordion.component.js +4 -7
  105. package/development/action-group/action-group.component.js +3 -5
  106. package/development/alert/alert/alert.component.d.ts +5 -7
  107. package/development/alert/alert/alert.component.d.ts.map +1 -1
  108. package/development/alert/alert/alert.component.js +34 -52
  109. package/development/alert/alert-group/alert-group.component.js +2 -3
  110. package/development/autocomplete/autocomplete-base-element.js +20 -32
  111. package/development/autocomplete/autocomplete.component.js +7 -12
  112. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js +10 -18
  113. package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.d.ts +1 -1
  114. package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.d.ts.map +1 -1
  115. package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js +4 -9
  116. package/development/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.js +1 -1
  117. package/development/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.js +4 -7
  118. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.d.ts +1 -1
  119. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.d.ts.map +1 -1
  120. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +4 -7
  121. package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +2 -2
  122. package/development/breadcrumb/breadcrumb/breadcrumb.component.js +1 -1
  123. package/development/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +5 -9
  124. package/development/button/accent-button/accent-button.component.js +1 -1
  125. package/development/button/accent-button-link/accent-button-link.component.js +1 -1
  126. package/development/button/accent-button-static/accent-button-static.component.js +1 -1
  127. package/development/button/button/button.component.js +1 -1
  128. package/development/button/button-link/button-link.component.js +1 -1
  129. package/development/button/button-static/button-static.component.js +1 -1
  130. package/development/button/common/button-common.js +1 -1
  131. package/development/button/mini-button/mini-button.component.js +1 -1
  132. package/development/button/mini-button-group/mini-button-group.component.js +2 -3
  133. package/development/button/secondary-button/secondary-button.component.js +1 -1
  134. package/development/button/secondary-button-link/secondary-button-link.component.js +1 -1
  135. package/development/button/secondary-button-static/secondary-button-static.component.js +1 -1
  136. package/development/button/transparent-button/transparent-button.component.js +1 -1
  137. package/development/button/transparent-button-link/transparent-button-link.component.js +1 -1
  138. package/development/button/transparent-button-static/transparent-button-static.component.js +1 -1
  139. package/development/calendar/calendar.component.d.ts +0 -5
  140. package/development/calendar/calendar.component.d.ts.map +1 -1
  141. package/development/calendar/calendar.component.js +20 -44
  142. package/development/card/card/card.component.js +1 -1
  143. package/development/card/card-badge/card-badge.component.js +2 -2
  144. package/development/card/card-button/card-button.component.js +1 -1
  145. package/development/card/card-link/card-link.component.js +1 -1
  146. package/development/card/common/card-action-common.js +4 -6
  147. package/development/checkbox/checkbox/checkbox.component.js +2 -5
  148. package/development/checkbox/checkbox-group/checkbox-group.component.js +8 -21
  149. package/development/checkbox/checkbox-panel/checkbox-panel.component.js +2 -5
  150. package/development/checkbox/common/checkbox-common.js +3 -5
  151. package/development/chip/chip/chip.component.js +1 -1
  152. package/development/chip/chip-group/chip-group.component.js +18 -32
  153. package/development/chip-label/chip-label.component.js +1 -1
  154. package/development/clock/clock.component.js +23 -33
  155. package/development/container/container/container.component.js +2 -3
  156. package/development/container/sticky-bar/sticky-bar.component.js +3 -4
  157. package/development/core/a11y/arrow-navigation.js +1 -1
  158. package/development/core/a11y/fake-event-detection.js +1 -1
  159. package/development/core/a11y/focus-trap-controller.js +6 -9
  160. package/development/core/a11y/focus-visible-within-controller.js +1 -1
  161. package/development/core/a11y/input-modality-detector.js +2 -3
  162. package/development/core/a11y/interactivity-checker.js +2 -2
  163. package/development/core/a11y/live-announcer.js +6 -8
  164. package/development/core/base-elements/action-base-element.js +2 -3
  165. package/development/core/base-elements/button-base-element.js +6 -11
  166. package/development/core/base-elements/link-base-element.js +4 -7
  167. package/development/core/base-elements/open-close-base-element.js +2 -2
  168. package/development/core/config/config.d.ts.map +1 -1
  169. package/development/core/config/config.js +1 -1
  170. package/development/core/controllers/escapable-overlay-controller.js +3 -5
  171. package/development/core/controllers/id-reference-controller.js +2 -3
  172. package/development/core/controllers/inert-controller.js +4 -6
  173. package/development/core/controllers/language-controller.js +1 -1
  174. package/development/core/controllers/media-matchers-controller.js +1 -1
  175. package/development/core/controllers/slot-state-controller.js +8 -18
  176. package/development/core/datetime/date-adapter.d.ts +1 -1
  177. package/development/core/datetime/date-adapter.d.ts.map +1 -1
  178. package/development/core/datetime/date-adapter.js +5 -5
  179. package/development/core/datetime/native-date-adapter.d.ts +1 -1
  180. package/development/core/datetime/native-date-adapter.d.ts.map +1 -1
  181. package/development/core/datetime/native-date-adapter.js +4 -4
  182. package/development/core/decorators/force-type.js +3 -4
  183. package/development/core/decorators/get-override.js +1 -1
  184. package/development/core/decorators/handle-distinct-change.js +1 -1
  185. package/development/core/decorators/host-attributes.js +1 -1
  186. package/development/core/decorators/id-reference.js +4 -7
  187. package/development/core/decorators/plain-date.js +5 -8
  188. package/development/core/decorators/slot-state.js +1 -1
  189. package/development/core/dom/animation.js +1 -1
  190. package/development/core/dom/breakpoint.js +2 -2
  191. package/development/core/dom/host-context.js +1 -1
  192. package/development/core/dom/platform.js +1 -1
  193. package/development/core/dom/scroll.js +1 -1
  194. package/development/core/dom/set-or-remove-attribute.js +1 -1
  195. package/development/core/eventing/composed-path-has-attribute.js +1 -1
  196. package/development/core/eventing/event-emitter.js +2 -3
  197. package/development/core/eventing/form-element-handlers.js +1 -1
  198. package/development/core/eventing/forward-event.js +1 -1
  199. package/development/core/eventing/throttle.js +1 -1
  200. package/development/core/i18n/i18n.js +18 -18
  201. package/development/core/mixins/animation-complete-mixin.js +1 -1
  202. package/development/core/mixins/disabled-mixin.js +1 -1
  203. package/development/core/mixins/element-internals-mixin.d.ts +21 -0
  204. package/development/core/mixins/element-internals-mixin.d.ts.map +1 -1
  205. package/development/core/mixins/element-internals-mixin.js +123 -2
  206. package/development/core/mixins/form-associated-checkbox-mixin.js +6 -9
  207. package/development/core/mixins/form-associated-input-mixin.d.ts.map +1 -1
  208. package/development/core/mixins/form-associated-input-mixin.js +29 -59
  209. package/development/core/mixins/form-associated-mixin.js +6 -9
  210. package/development/core/mixins/form-associated-radio-button-mixin.js +7 -9
  211. package/development/core/mixins/hydration-mixin.js +3 -4
  212. package/development/core/mixins/named-slot-list-mixin.js +4 -7
  213. package/development/core/mixins/negative-mixin.js +1 -1
  214. package/development/core/mixins/panel-mixin.js +2 -3
  215. package/development/core/mixins/readonly-mixin.d.ts.map +1 -1
  216. package/development/core/mixins/readonly-mixin.js +4 -6
  217. package/development/core/mixins/required-mixin.js +1 -1
  218. package/development/core/mixins/update-scheduler-mixin.js +1 -1
  219. package/development/core/mixins.js +4 -2
  220. package/development/core/overlay/overlay-option-panel.js +1 -1
  221. package/development/core/overlay/overlay-trigger-attributes.js +1 -1
  222. package/development/core/overlay/overlay.js +1 -1
  223. package/development/core/overlay/position.js +5 -5
  224. package/development/core/testing/event-spy.js +3 -5
  225. package/development/core/testing/mocha-extensions.js +1 -1
  226. package/development/core/testing/wait-for-condition.js +1 -1
  227. package/development/core/testing/wait-for-image-ready.js +2 -3
  228. package/development/core/testing/wait-for-render.js +2 -3
  229. package/development/date-input/date-input.component.d.ts +16 -1
  230. package/development/date-input/date-input.component.d.ts.map +1 -1
  231. package/development/date-input/date-input.component.js +28 -11
  232. package/development/datepicker/common/datepicker-button.d.ts +31 -20
  233. package/development/datepicker/common/datepicker-button.d.ts.map +1 -1
  234. package/development/datepicker/common/datepicker-button.js +103 -90
  235. package/development/datepicker/common.d.ts +0 -1
  236. package/development/datepicker/common.d.ts.map +1 -1
  237. package/development/datepicker/common.js +4 -6
  238. package/development/datepicker/datepicker/datepicker.component.d.ts +23 -102
  239. package/development/datepicker/datepicker/datepicker.component.d.ts.map +1 -1
  240. package/development/datepicker/datepicker/datepicker.component.js +94 -337
  241. package/development/datepicker/datepicker-next-day/datepicker-next-day.component.d.ts +2 -2
  242. package/development/datepicker/datepicker-next-day/datepicker-next-day.component.d.ts.map +1 -1
  243. package/development/datepicker/datepicker-next-day/datepicker-next-day.component.js +18 -6
  244. package/development/datepicker/datepicker-previous-day/datepicker-previous-day.component.d.ts +2 -2
  245. package/development/datepicker/datepicker-previous-day/datepicker-previous-day.component.d.ts.map +1 -1
  246. package/development/datepicker/datepicker-previous-day/datepicker-previous-day.component.js +18 -6
  247. package/development/datepicker/datepicker-toggle/datepicker-toggle.component.d.ts +6 -26
  248. package/development/datepicker/datepicker-toggle/datepicker-toggle.component.d.ts.map +1 -1
  249. package/development/datepicker/datepicker-toggle/datepicker-toggle.component.js +137 -224
  250. package/development/datepicker.js +3 -5
  251. package/development/dialog/dialog/dialog.component.d.ts +7 -16
  252. package/development/dialog/dialog/dialog.component.d.ts.map +1 -1
  253. package/development/dialog/dialog/dialog.component.js +78 -149
  254. package/development/dialog/dialog-actions/dialog-actions.component.d.ts +2 -2
  255. package/development/dialog/dialog-actions/dialog-actions.component.d.ts.map +1 -1
  256. package/development/dialog/dialog-actions/dialog-actions.component.js +20 -17
  257. package/development/dialog/dialog-content/dialog-content.component.d.ts.map +1 -1
  258. package/development/dialog/dialog-content/dialog-content.component.js +5 -46
  259. package/development/dialog/dialog-title/dialog-title.component.d.ts +2 -26
  260. package/development/dialog/dialog-title/dialog-title.component.d.ts.map +1 -1
  261. package/development/dialog/dialog-title/dialog-title.component.js +12 -179
  262. package/development/divider/divider.component.js +2 -2
  263. package/development/expansion-panel/expansion-panel/expansion-panel.component.js +9 -13
  264. package/development/expansion-panel/expansion-panel-content/expansion-panel-content.component.js +2 -2
  265. package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +5 -6
  266. package/development/file-selector/common/file-selector-common.js +2 -3
  267. package/development/file-selector/file-selector/file-selector.component.js +1 -1
  268. package/development/file-selector/file-selector-dropzone/file-selector-dropzone.component.js +1 -1
  269. package/development/flip-card/flip-card/flip-card.component.js +7 -13
  270. package/development/flip-card/flip-card-details/flip-card-details.component.js +3 -4
  271. package/development/flip-card/flip-card-summary/flip-card-summary.component.js +3 -4
  272. package/development/footer/footer.component.js +1 -1
  273. package/development/form-error/form-error.component.js +3 -4
  274. package/development/form-field/form-field/form-field.component.d.ts +1 -1
  275. package/development/form-field/form-field/form-field.component.d.ts.map +1 -1
  276. package/development/form-field/form-field/form-field.component.js +39 -67
  277. package/development/form-field/form-field-clear/form-field-clear.component.d.ts.map +1 -1
  278. package/development/form-field/form-field-clear/form-field-clear.component.js +6 -8
  279. package/development/header/common/header-action-common.js +1 -1
  280. package/development/header/header/header.component.js +5 -8
  281. package/development/header/header-button/header-button.component.js +1 -1
  282. package/development/header/header-link/header-link.component.js +1 -1
  283. package/development/icon/icon-base.d.ts +5 -3
  284. package/development/icon/icon-base.d.ts.map +1 -1
  285. package/development/icon/icon-base.js +4 -7
  286. package/development/icon/icon-name-mixin.js +1 -1
  287. package/development/icon/icon-request.js +2 -3
  288. package/development/icon/icon-validate.js +1 -1
  289. package/development/icon/icon.component.d.ts +1 -2
  290. package/development/icon/icon.component.d.ts.map +1 -1
  291. package/development/icon/icon.component.js +8 -19
  292. package/development/image/image.component.js +7 -9
  293. package/development/journey-header/journey-header.component.d.ts +5 -5
  294. package/development/journey-header/journey-header.component.d.ts.map +1 -1
  295. package/development/journey-header/journey-header.component.js +26 -40
  296. package/development/lead-container/lead-container.component.js +1 -1
  297. package/development/link/block-link/block-link.component.js +1 -1
  298. package/development/link/block-link-button/block-link-button.component.js +1 -1
  299. package/development/link/block-link-static/block-link-static.component.js +1 -1
  300. package/development/link/common/block-link-common.js +1 -1
  301. package/development/link/common/inline-link-common.js +1 -1
  302. package/development/link/link/link.component.js +1 -1
  303. package/development/link/link-button/link-button.component.js +1 -1
  304. package/development/link/link-static/link-static.component.js +1 -1
  305. package/development/link-common-DPLJx5Uo.js +1 -1
  306. package/development/link-list/common/link-list-base.js +1 -1
  307. package/development/link-list/link-list/link-list.component.js +1 -1
  308. package/development/link-list/link-list-anchor/link-list-anchor.component.js +1 -1
  309. package/development/loading-indicator/loading-indicator.component.js +1 -1
  310. package/development/loading-indicator-circle/loading-indicator-circle.component.js +1 -1
  311. package/development/logo/logo.component.js +1 -1
  312. package/development/map-container/map-container.component.js +2 -3
  313. package/development/menu/common/menu-action-common.js +1 -1
  314. package/development/menu/menu/menu.component.js +17 -25
  315. package/development/menu/menu-button/menu-button.component.js +1 -1
  316. package/development/menu/menu-link/menu-link.component.js +1 -1
  317. package/development/message/message.component.d.ts +4 -8
  318. package/development/message/message.component.d.ts.map +1 -1
  319. package/development/message/message.component.js +12 -54
  320. package/development/navigation/common/navigation-action-common.js +3 -5
  321. package/development/navigation/navigation/navigation.component.js +19 -35
  322. package/development/navigation/navigation-button/navigation-button.component.js +1 -1
  323. package/development/navigation/navigation-link/navigation-link.component.js +1 -1
  324. package/development/navigation/navigation-list/navigation-list.component.js +1 -1
  325. package/development/navigation/navigation-marker/navigation-marker.component.js +4 -6
  326. package/development/navigation/navigation-section/navigation-section.component.d.ts +1 -1
  327. package/development/navigation/navigation-section/navigation-section.component.d.ts.map +1 -1
  328. package/development/navigation/navigation-section/navigation-section.component.js +27 -37
  329. package/development/notification/notification.component.d.ts +7 -9
  330. package/development/notification/notification.component.d.ts.map +1 -1
  331. package/development/notification/notification.component.js +47 -77
  332. package/development/option/optgroup/optgroup-base-element.d.ts.map +1 -1
  333. package/development/option/optgroup/optgroup-base-element.js +8 -14
  334. package/development/option/optgroup/optgroup.component.js +6 -10
  335. package/development/option/option/option-base-element.js +3 -4
  336. package/development/option/option/option.component.js +7 -10
  337. package/development/overlay/overlay-base-element.d.ts +24 -6
  338. package/development/overlay/overlay-base-element.d.ts.map +1 -1
  339. package/development/overlay/overlay-base-element.js +114 -15
  340. package/development/overlay/overlay.component.d.ts +2 -12
  341. package/development/overlay/overlay.component.d.ts.map +1 -1
  342. package/development/overlay/overlay.component.js +33 -98
  343. package/development/paginator/common/paginator-common.js +1 -1
  344. package/development/paginator/compact-paginator/compact-paginator.component.js +1 -1
  345. package/development/paginator/paginator/paginator.component.js +2 -3
  346. package/development/popover/popover/popover.component.d.ts +45 -34
  347. package/development/popover/popover/popover.component.d.ts.map +1 -1
  348. package/development/popover/popover/popover.component.js +215 -172
  349. package/development/popover/popover-trigger/popover-trigger.component.js +1 -1
  350. package/development/popover/popover.js +2 -1
  351. package/development/popover.js +2 -1
  352. package/development/radio-button/common/radio-button-common.js +6 -10
  353. package/development/radio-button/radio-button/radio-button.component.js +2 -5
  354. package/development/radio-button/radio-button-group/radio-button-group.component.d.ts +1 -1
  355. package/development/radio-button/radio-button-group/radio-button-group.component.d.ts.map +1 -1
  356. package/development/radio-button/radio-button-group/radio-button-group.component.js +8 -24
  357. package/development/radio-button/radio-button-panel/radio-button-panel.component.js +3 -7
  358. package/development/screen-reader-only/screen-reader-only.component.js +1 -1
  359. package/development/select/select.component.js +26 -49
  360. package/development/selection-expansion-panel/selection-expansion-panel.component.js +7 -11
  361. package/development/sidebar/icon-sidebar/icon-sidebar.component.js +1 -1
  362. package/development/sidebar/icon-sidebar-button/icon-sidebar-button.component.js +1 -1
  363. package/development/sidebar/icon-sidebar-container/icon-sidebar-container.component.js +4 -7
  364. package/development/sidebar/icon-sidebar-content/icon-sidebar-content.component.js +1 -1
  365. package/development/sidebar/icon-sidebar-link/icon-sidebar-link.component.js +1 -1
  366. package/development/sidebar/sidebar/sidebar.component.js +9 -16
  367. package/development/sidebar/sidebar-close-button/sidebar-close-button.component.d.ts +0 -1
  368. package/development/sidebar/sidebar-close-button/sidebar-close-button.component.d.ts.map +1 -1
  369. package/development/sidebar/sidebar-close-button/sidebar-close-button.component.js +3 -8
  370. package/development/sidebar/sidebar-container/sidebar-container.component.js +9 -13
  371. package/development/sidebar/sidebar-content/sidebar-content.component.js +1 -1
  372. package/development/sidebar/sidebar-title/sidebar-title.component.d.ts +2 -0
  373. package/development/sidebar/sidebar-title/sidebar-title.component.d.ts.map +1 -1
  374. package/development/sidebar/sidebar-title/sidebar-title.component.js +3 -9
  375. package/development/signet/signet.component.js +1 -1
  376. package/development/skiplink-list/skiplink-list.component.d.ts.map +1 -1
  377. package/development/skiplink-list/skiplink-list.component.js +19 -10
  378. package/development/slider/slider.component.js +4 -6
  379. package/development/status/status.component.d.ts +4 -7
  380. package/development/status/status.component.d.ts.map +1 -1
  381. package/development/status/status.component.js +23 -57
  382. package/development/stepper/step/step.component.d.ts +2 -2
  383. package/development/stepper/step/step.component.d.ts.map +1 -1
  384. package/development/stepper/step/step.component.js +20 -22
  385. package/development/stepper/step-label/step-label.component.d.ts +3 -4
  386. package/development/stepper/step-label/step-label.component.d.ts.map +1 -1
  387. package/development/stepper/step-label/step-label.component.js +20 -24
  388. package/development/stepper/stepper/stepper.component.js +16 -29
  389. package/development/table/table-wrapper/table-wrapper.component.js +2 -7
  390. package/development/tabs/tab/tab.component.js +1 -1
  391. package/development/tabs/tab-group/tab-group.component.js +23 -38
  392. package/development/tabs/tab-label/tab-label.component.js +1 -1
  393. package/development/tag/tag/tag.component.js +7 -13
  394. package/development/tag/tag-group/tag-group.component.js +5 -13
  395. package/development/teaser/teaser.component.d.ts +6 -10
  396. package/development/teaser/teaser.component.d.ts.map +1 -1
  397. package/development/teaser/teaser.component.js +48 -76
  398. package/development/teaser-hero/teaser-hero.component.js +1 -1
  399. package/development/teaser-product/common/teaser-product-common.js +1 -1
  400. package/development/teaser-product/teaser-product/teaser-product.component.js +1 -1
  401. package/development/teaser-product/teaser-product-static/teaser-product-static.component.js +1 -1
  402. package/development/time-input/time-input.component.js +10 -14
  403. package/development/timetable-occupancy/timetable-occupancy.component.js +1 -1
  404. package/development/timetable-occupancy-icon/timetable-occupancy-icon.component.d.ts.map +1 -1
  405. package/development/timetable-occupancy-icon/timetable-occupancy-icon.component.js +2 -5
  406. package/development/title/title-base.d.ts +0 -8
  407. package/development/title/title-base.d.ts.map +1 -1
  408. package/development/title/title-base.js +17 -49
  409. package/development/title/title.component.d.ts +2 -0
  410. package/development/title/title.component.d.ts.map +1 -1
  411. package/development/title/title.component.js +9 -14
  412. package/development/toast/toast.component.d.ts.map +1 -1
  413. package/development/toast/toast.component.js +7 -16
  414. package/development/toggle/toggle/toggle.component.js +8 -12
  415. package/development/toggle/toggle-option/toggle-option.component.d.ts +1 -1
  416. package/development/toggle/toggle-option/toggle-option.component.d.ts.map +1 -1
  417. package/development/toggle/toggle-option/toggle-option.component.js +10 -17
  418. package/development/toggle-check/toggle-check.component.js +1 -1
  419. package/development/train/train/train.component.js +1 -1
  420. package/development/train/train-blocked-passage/train-blocked-passage.component.js +1 -1
  421. package/development/train/train-formation/train-formation.component.js +5 -7
  422. package/development/train/train-wagon/train-wagon.component.js +1 -1
  423. package/development/visual-checkbox/visual-checkbox.component.js +1 -1
  424. package/dialog/dialog/dialog.component.d.ts +7 -16
  425. package/dialog/dialog/dialog.component.d.ts.map +1 -1
  426. package/dialog/dialog/dialog.component.js +57 -87
  427. package/dialog/dialog-actions/dialog-actions.component.d.ts +2 -2
  428. package/dialog/dialog-actions/dialog-actions.component.d.ts.map +1 -1
  429. package/dialog/dialog-actions/dialog-actions.component.js +16 -16
  430. package/dialog/dialog-content/dialog-content.component.d.ts.map +1 -1
  431. package/dialog/dialog-content/dialog-content.component.js +14 -19
  432. package/dialog/dialog-title/dialog-title.component.d.ts +2 -26
  433. package/dialog/dialog-title/dialog-title.component.d.ts.map +1 -1
  434. package/dialog/dialog-title/dialog-title.component.js +16 -111
  435. package/divider/divider.component.js +3 -3
  436. package/expansion-panel/expansion-panel/expansion-panel.component.js +5 -9
  437. package/expansion-panel/expansion-panel-content/expansion-panel-content.component.js +1 -1
  438. package/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +30 -31
  439. package/file-selector/common/file-selector-common.js +1 -2
  440. package/flip-card/flip-card/flip-card.component.js +48 -54
  441. package/flip-card/flip-card-details/flip-card-details.component.js +15 -16
  442. package/flip-card/flip-card-summary/flip-card-summary.component.js +19 -20
  443. package/form-error/form-error.component.js +13 -14
  444. package/form-field/form-field/form-field.component.d.ts +1 -1
  445. package/form-field/form-field/form-field.component.d.ts.map +1 -1
  446. package/form-field/form-field/form-field.component.js +149 -168
  447. package/form-field/form-field-clear/form-field-clear.component.d.ts.map +1 -1
  448. package/form-field/form-field-clear/form-field-clear.component.js +19 -21
  449. package/header/header/header.component.js +26 -29
  450. package/icon/icon-base.d.ts +5 -3
  451. package/icon/icon-base.d.ts.map +1 -1
  452. package/icon/icon-base.js +32 -34
  453. package/icon/icon-request.js +10 -11
  454. package/icon/icon.component.d.ts +1 -2
  455. package/icon/icon.component.d.ts.map +1 -1
  456. package/icon/icon.component.js +37 -37
  457. package/icon-sidebar-button-common-CM-ueEhH.js +7 -0
  458. package/image/image.component.js +4 -6
  459. package/journey-header/journey-header.component.d.ts +5 -5
  460. package/journey-header/journey-header.component.d.ts.map +1 -1
  461. package/journey-header/journey-header.component.js +50 -63
  462. package/map-container/map-container.component.js +1 -2
  463. package/menu/menu/menu.component.js +47 -55
  464. package/message/message.component.d.ts +4 -8
  465. package/message/message.component.d.ts.map +1 -1
  466. package/message/message.component.js +18 -47
  467. package/navigation/common/navigation-action-common.js +19 -21
  468. package/navigation/navigation/navigation.component.js +73 -92
  469. package/navigation/navigation-marker/navigation-marker.component.js +26 -28
  470. package/navigation/navigation-section/navigation-section.component.d.ts +1 -1
  471. package/navigation/navigation-section/navigation-section.component.d.ts.map +1 -1
  472. package/navigation/navigation-section/navigation-section.component.js +72 -82
  473. package/notification/notification.component.d.ts +7 -9
  474. package/notification/notification.component.d.ts.map +1 -1
  475. package/notification/notification.component.js +77 -95
  476. package/option/optgroup/optgroup-base-element.d.ts.map +1 -1
  477. package/option/optgroup/optgroup-base-element.js +36 -38
  478. package/option/optgroup/optgroup.component.js +16 -20
  479. package/option/option/option-base-element.js +3 -4
  480. package/option/option/option.component.js +26 -29
  481. package/overlay/overlay-base-element.d.ts +24 -6
  482. package/overlay/overlay-base-element.d.ts.map +1 -1
  483. package/overlay/overlay-base-element.js +98 -51
  484. package/overlay/overlay.component.d.ts +2 -12
  485. package/overlay/overlay.component.d.ts.map +1 -1
  486. package/overlay/overlay.component.js +57 -95
  487. package/package.json +1 -1
  488. package/paginator/paginator/paginator.component.js +3 -4
  489. package/popover/popover/popover.component.d.ts +45 -34
  490. package/popover/popover/popover.component.d.ts.map +1 -1
  491. package/popover/popover/popover.component.js +194 -168
  492. package/popover/popover-trigger/popover-trigger.component.js +1 -1
  493. package/popover/popover.js +2 -1
  494. package/popover.js +5 -4
  495. package/radio-button/common/radio-button-common.js +11 -15
  496. package/radio-button/radio-button/radio-button.component.js +16 -19
  497. package/radio-button/radio-button-group/radio-button-group.component.d.ts +1 -1
  498. package/radio-button/radio-button-group/radio-button-group.component.d.ts.map +1 -1
  499. package/radio-button/radio-button-group/radio-button-group.component.js +27 -43
  500. package/radio-button/radio-button-panel/radio-button-panel.component.js +33 -37
  501. package/select/select.component.js +94 -117
  502. package/selection-expansion-panel/selection-expansion-panel.component.js +35 -39
  503. package/sidebar/common.js +1 -1
  504. package/sidebar/icon-sidebar-container/icon-sidebar-container.component.js +10 -13
  505. package/sidebar/sidebar/sidebar.component.js +62 -69
  506. package/sidebar/sidebar-close-button/sidebar-close-button.component.d.ts +0 -1
  507. package/sidebar/sidebar-close-button/sidebar-close-button.component.d.ts.map +1 -1
  508. package/sidebar/sidebar-close-button/sidebar-close-button.component.js +18 -18
  509. package/sidebar/sidebar-container/sidebar-container.component.js +29 -33
  510. package/sidebar/sidebar-title/sidebar-title.component.d.ts +2 -0
  511. package/sidebar/sidebar-title/sidebar-title.component.d.ts.map +1 -1
  512. package/sidebar/sidebar-title/sidebar-title.component.js +16 -16
  513. package/sidebar.js +1 -1
  514. package/skiplink-list/skiplink-list.component.d.ts.map +1 -1
  515. package/skiplink-list/skiplink-list.component.js +36 -39
  516. package/slider/slider.component.js +11 -13
  517. package/standard-theme.css +29 -25
  518. package/status/status.component.d.ts +4 -7
  519. package/status/status.component.d.ts.map +1 -1
  520. package/status/status.component.js +34 -50
  521. package/stepper/step/step.component.d.ts +2 -2
  522. package/stepper/step/step.component.d.ts.map +1 -1
  523. package/stepper/step/step.component.js +29 -30
  524. package/stepper/step-label/step-label.component.d.ts +3 -4
  525. package/stepper/step-label/step-label.component.d.ts.map +1 -1
  526. package/stepper/step-label/step-label.component.js +22 -25
  527. package/stepper/stepper/stepper.component.js +72 -86
  528. package/table/table-wrapper/table-wrapper.component.js +17 -18
  529. package/table.css +0 -25
  530. package/tabs/tab-group/tab-group.component.js +77 -92
  531. package/tabs/tab-label/tab-label.component.js +12 -12
  532. package/tag/tag/tag.component.js +49 -55
  533. package/tag/tag-group/tag-group.component.js +37 -45
  534. package/teaser/teaser.component.d.ts +6 -10
  535. package/teaser/teaser.component.d.ts.map +1 -1
  536. package/teaser/teaser.component.js +45 -68
  537. package/teaser-product/common.js +1 -1
  538. package/teaser-product/teaser-product/teaser-product.component.js +1 -1
  539. package/teaser-product-common-C8oSkIxy.js +5 -0
  540. package/teaser-product.js +1 -1
  541. package/time-input/time-input.component.js +29 -33
  542. package/timetable-occupancy-icon/timetable-occupancy-icon.component.d.ts.map +1 -1
  543. package/timetable-occupancy-icon/timetable-occupancy-icon.component.js +22 -25
  544. package/title/title-base.d.ts +0 -8
  545. package/title/title-base.d.ts.map +1 -1
  546. package/title/title-base.js +34 -53
  547. package/title/title.component.d.ts +2 -0
  548. package/title/title.component.d.ts.map +1 -1
  549. package/title/title.component.js +9 -9
  550. package/toast/toast.component.d.ts.map +1 -1
  551. package/toast/toast.component.js +6 -9
  552. package/toggle/toggle/toggle.component.js +27 -31
  553. package/toggle/toggle-option/toggle-option.component.d.ts +1 -1
  554. package/toggle/toggle-option/toggle-option.component.d.ts.map +1 -1
  555. package/toggle/toggle-option/toggle-option.component.js +44 -51
  556. package/train/train-formation/train-formation.component.js +41 -43
  557. package/core/styles/node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables.scss +0 -530
  558. package/core/styles/node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables_css--mixin.scss +0 -1123
  559. package/datepicker/common/datepicker-association-controllers.d.ts +0 -21
  560. package/datepicker/common/datepicker-association-controllers.d.ts.map +0 -1
  561. package/datepicker/common/datepicker-association-controllers.js +0 -58
  562. package/development/datepicker/common/datepicker-association-controllers.d.ts +0 -21
  563. package/development/datepicker/common/datepicker-association-controllers.d.ts.map +0 -1
  564. package/development/datepicker/common/datepicker-association-controllers.js +0 -82
  565. package/icon-sidebar-button-common-DG8bnrBu.js +0 -7
  566. package/teaser-product-common-CpMAlYEp.js +0 -5
@@ -28,9 +28,9 @@ function isEventOnElement(element, event) {
28
28
  }
29
29
  function getElementPosition(element, trigger, container, properties) {
30
30
  const maxWidthOffset = 16;
31
- const verticalOffset = (properties == null ? void 0 : properties.verticalOffset) || 0;
32
- const horizontalOffset = (properties == null ? void 0 : properties.horizontalOffset) || 0;
33
- const responsiveHeight = (properties == null ? void 0 : properties.responsiveHeight) || false;
31
+ const verticalOffset = properties?.verticalOffset || 0;
32
+ const horizontalOffset = properties?.horizontalOffset || 0;
33
+ const responsiveHeight = properties?.responsiveHeight || false;
34
34
  const triggerRec = trigger.getBoundingClientRect();
35
35
  const elementRec = getElementRectangle(element);
36
36
  const triggerLeft = triggerRec.left;
@@ -43,7 +43,7 @@ function getElementPosition(element, trigger, container, properties) {
43
43
  let elementXOverflow = elementRec.offsetWidth - triggerRec.width;
44
44
  const alignment = { horizontal: "start", vertical: "below" };
45
45
  let elementMaxHeight = `${availableSpaceBelow - verticalOffset}px`;
46
- if ((properties == null ? void 0 : properties.centered) && triggerLeft - maxWidthOffset + triggerRec.width / 2 > elementRec.offsetWidth / 2 && availableSpaceRight - maxWidthOffset > elementXOverflow / 2) {
46
+ if (properties?.centered && triggerLeft - maxWidthOffset + triggerRec.width / 2 > elementRec.offsetWidth / 2 && availableSpaceRight - maxWidthOffset > elementXOverflow / 2) {
47
47
  elementXPosition -= elementXOverflow /= 2;
48
48
  alignment.horizontal = "center";
49
49
  }
@@ -81,4 +81,4 @@ export {
81
81
  getElementRectangle,
82
82
  isEventOnElement
83
83
  };
84
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9zaXRpb24uanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL292ZXJsYXkvcG9zaXRpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgRWxlbWVudFJlY3RhbmdsZSA9IFBpY2s8XG4gIEhUTUxFbGVtZW50LFxuICAnc2Nyb2xsSGVpZ2h0JyB8ICdjbGllbnRIZWlnaHQnIHwgJ29mZnNldEhlaWdodCcgfCAnc2Nyb2xsV2lkdGgnIHwgJ2NsaWVudFdpZHRoJyB8ICdvZmZzZXRXaWR0aCdcbj47XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2JiQWxpZ25tZW50IHtcbiAgaG9yaXpvbnRhbDogJ3N0YXJ0JyB8ICdjZW50ZXInIHwgJ2VuZCc7XG4gIHZlcnRpY2FsOiAnYWJvdmUnIHwgJ2JlbG93Jztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTYmJFbGVtZW50UG9zaXRpb25JbmZvcyB7XG4gIHRvcDogbnVtYmVyO1xuICBsZWZ0OiBudW1iZXI7XG4gIG1heEhlaWdodDogc3RyaW5nO1xuICBhbGlnbm1lbnQ6IFNiYkFsaWdubWVudDtcbn1cblxuLyoqXG4gKiBHZXRzIGhlaWdodCBhbmQgd2lkdGggb2YgYW4gZWxlbWVudCBldmVuIGlmIGl0J3MgaGlkZGVuIChgZGlzcGxheTogbm9uZWApLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RWxlbWVudFJlY3RhbmdsZShlbDogSFRNTEVsZW1lbnQpOiBFbGVtZW50UmVjdGFuZ2xlIHtcbiAgY29uc3QgZWxlbWVudFN0eWxlID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWwpLFxuICAgIGVsZW1lbnREaXNwbGF5ID0gZWxlbWVudFN0eWxlLmRpc3BsYXksXG4gICAgZWxlbWVudE1heEhlaWdodCA9IHBhcnNlSW50KGVsZW1lbnRTdHlsZS5tYXhIZWlnaHQsIDEwKS50b1N0cmluZygpO1xuXG4gIC8vIElmIGl0IGlzIG5vdCBoaWRkZW4gd2UganVzdCByZXR1cm4gbm9ybWFsIGhlaWdodFxuICBpZiAoZWxlbWVudERpc3BsYXkgIT09ICdub25lJyAmJiBlbGVtZW50TWF4SGVpZ2h0ICE9PSAnMCcpIHtcbiAgICByZXR1cm4ge1xuICAgICAgc2Nyb2xsSGVpZ2h0OiBlbC5zY3JvbGxIZWlnaHQsXG4gICAgICBjbGllbnRIZWlnaHQ6IGVsLmNsaWVudEhlaWdodCxcbiAgICAgIG9mZnNldEhlaWdodDogZWwub2Zmc2V0SGVpZ2h0LFxuICAgICAgc2Nyb2xsV2lkdGg6IGVsLnNjcm9sbFdpZHRoLFxuICAgICAgY2xpZW50V2lkdGg6IGVsLmNsaWVudFdpZHRoLFxuICAgICAgb2Zmc2V0V2lkdGg6IGVsLm9mZnNldFdpZHRoLFxuICAgIH07XG4gIH1cblxuICAvLyBUaGUgZWxlbWVudCBpcyBoaWRkZW4gc286XG4gIC8vIG1ha2UgdGhlIGVsIGJsb2NrIGluIG9yZGVyIHRvIG1lYXN1cmUgaXRzIGhlaWdodCBidXQgc3RpbGwgYmUgaGlkZGVuXG4gIGVsLnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJztcbiAgZWwuc3R5bGUudmlzaWJpbGl0eSA9ICdoaWRkZW4nO1xuICBlbC5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJztcblxuICBjb25zdCBzY3JvbGxIZWlnaHQgPSBlbC5zY3JvbGxIZWlnaHQsXG4gICAgY2xpZW50SGVpZ2h0ID0gZWwuY2xpZW50SGVpZ2h0LFxuICAgIG9mZnNldEhlaWdodCA9IGVsLm9mZnNldEhlaWdodCxcbiAgICBzY3JvbGxXaWR0aCA9IGVsLnNjcm9sbFdpZHRoLFxuICAgIGNsaWVudFdpZHRoID0gZWwuY2xpZW50V2lkdGgsXG4gICAgb2Zmc2V0V2lkdGggPSBlbC5vZmZzZXRXaWR0aDtcblxuICAvLyBSZXZlcnRpbmcgdG8gdGhlIG9yaWdpbmFsIHZhbHVlc1xuICBlbC5zdHlsZS5kaXNwbGF5ID0gJyc7XG4gIGVsLnN0eWxlLnBvc2l0aW9uID0gJyc7XG4gIGVsLnN0eWxlLnZpc2liaWxpdHkgPSAnJztcblxuICByZXR1cm4geyBzY3JvbGxIZWlnaHQsIGNsaWVudEhlaWdodCwgb2Zmc2V0SGVpZ2h0LCBzY3JvbGxXaWR0aCwgY2xpZW50V2lkdGgsIG9mZnNldFdpZHRoIH07XG59XG5cbi8qKlxuICogRGV0ZXJtaW5lcyB3aGV0aGVyIGFuIGV2ZW50IGlzIGZpcmVkIG9uIGEgc3BlY2lmaWMgZWxlbWVudC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzRXZlbnRPbkVsZW1lbnQoXG4gIGVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgbnVsbCxcbiAgZXZlbnQ6IE1vdXNlRXZlbnQgfCBQb2ludGVyRXZlbnQsXG4pOiBib29sZWFuIHtcbiAgaWYgKCFlbGVtZW50IHx8ICFldmVudCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNvbnN0IHJlY3QgPSBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICByZXR1cm4gKFxuICAgIHJlY3QudG9wIDw9IGV2ZW50LmNsaWVudFkgJiZcbiAgICBldmVudC5jbGllbnRZIDw9IHJlY3QudG9wICsgcmVjdC5oZWlnaHQgJiZcbiAgICByZWN0LmxlZnQgPD0gZXZlbnQuY2xpZW50WCAmJlxuICAgIGV2ZW50LmNsaWVudFggPD0gcmVjdC5sZWZ0ICsgcmVjdC53aWR0aFxuICApO1xufVxuXG4vKipcbiAqIERldGVybWluZXMgdGhlIHBvc2l0aW9uIG9mIGFuIGVsZW1lbnQgcmVsYXRpdmUgdG8gYSB0cmlnZ2VyIGVsZW1lbnQgYnkgZXZhbHVhdGluZ1xuICogdGhlIG9wdGltYWwgcG9zaXRpb24gYmFzZWQgb24gdGhlIGF2YWlsYWJsZSBzcGFjZS5cbiAqXG4gKiBAcGFyYW0gZWxlbWVudCBUaGUgZWxlbWVudCBvZiB3aGljaCB0byBjYWxjdWxhdGUgdGhlIHBvc2l0aW9uLlxuICogQHBhcmFtIHRyaWdnZXIgVGhlIGVsZW1lbnQgcmVsYXRpdmUgdG8gd2hpY2ggdG8gY2FsY3VsYXRlIHRoZSBwb3NpdGlvbi5cbiAqIEBwYXJhbSBjb250YWluZXIgVGhlIGVsZW1lbnQgd2hpY2ggaGFzIHRoZSBwb3NpdGlvbjpmaXhlZCBhcHBsaWVkLlxuICogQHBhcmFtIHByb3BlcnRpZXMgUHJvcGVydGllcyB0byB0YWtlIGludG8gYWNjb3VudCBpbiBjYWxjdWxhdGlvbnMgKG9wdGlvbmFsKS5cbiAqIEBwYXJhbSBwcm9wZXJ0aWVzLnZlcnRpY2FsT2Zmc2V0IFRoZSBkaXN0YW5jZSB0byBiZSBhZGRlZCBiZXR3ZWVuIHRoZSBlbGVtZW50IGFuZCB0aGUgdHJpZ2dlciAob3B0aW9uYWwpLlxuICogQHBhcmFtIHByb3BlcnRpZXMuaG9yaXpvbnRhbE9mZnNldCBUaGUgaG9yaXpvbnRhbCBvZmZzZXQgdG8gYmUgYXBwbGllZCB0byB0aGUgZWxlbWVudCAob3B0aW9uYWwpLlxuICogQHBhcmFtIHByb3BlcnRpZXMuY2VudGVyZWQgV2hldGhlciB0aGUgZWxlbWVudCBzaG91bGQgYmUgcGxhY2VkIGluIHRoZSBjZW50ZXIgYnkgZGVmYXVsdCAob3B0aW9uYWwpLlxuICogQHBhcmFtIHByb3BlcnRpZXMucmVzcG9uc2l2ZUhlaWdodCBXaGV0aGVyIHRoZSBlbGVtZW50IGNhbGN1bGF0ZXMgaXRzIGhlaWdodCBiYXNlZCBvbiBpdHMgY29udGVudCAob3B0aW9uYWwpLlxuICogQHJldHVybnMgUmV0dXJucyBhbiBvYmplY3QgY29udGFpbmluZyB0aGUgbGVmdCBwb3NpdGlvbiwgdGhlIHRvcCBwb3NpdGlvbiwgdGhlIG1heGltdW0gaGVpZ2h0XG4gKiBvZiB0aGUgZWxlbWVudCBhbmQgdGhlIGN1cnJlbnQgYWxpZ25tZW50IG9iamVjdC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEVsZW1lbnRQb3NpdGlvbihcbiAgZWxlbWVudDogSFRNTEVsZW1lbnQsXG4gIHRyaWdnZXI6IEhUTUxFbGVtZW50LFxuICBjb250YWluZXI6IEhUTUxFbGVtZW50LFxuICBwcm9wZXJ0aWVzPzoge1xuICAgIHZlcnRpY2FsT2Zmc2V0PzogbnVtYmVyO1xuICAgIGhvcml6b250YWxPZmZzZXQ/OiBudW1iZXI7XG4gICAgY2VudGVyZWQ/OiBib29sZWFuO1xuICAgIHJlc3BvbnNpdmVIZWlnaHQ/OiBib29sZWFuO1xuICB9LFxuKTogU2JiRWxlbWVudFBvc2l0aW9uSW5mb3Mge1xuICBjb25zdCBtYXhXaWR0aE9mZnNldCA9IDE2O1xuICBjb25zdCB2ZXJ0aWNhbE9mZnNldCA9IHByb3BlcnRpZXM/LnZlcnRpY2FsT2Zmc2V0IHx8IDA7XG4gIGNvbnN0IGhvcml6b250YWxPZmZzZXQgPSBwcm9wZXJ0aWVzPy5ob3Jpem9udGFsT2Zmc2V0IHx8IDA7XG4gIGNvbnN0IHJlc3BvbnNpdmVIZWlnaHQgPSBwcm9wZXJ0aWVzPy5yZXNwb25zaXZlSGVpZ2h0IHx8IGZhbHNlO1xuXG4gIGNvbnN0IHRyaWdnZXJSZWMgPSB0cmlnZ2VyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICBjb25zdCBlbGVtZW50UmVjID0gZ2V0RWxlbWVudFJlY3RhbmdsZShlbGVtZW50KTtcblxuICBjb25zdCB0cmlnZ2VyTGVmdCA9IHRyaWdnZXJSZWMubGVmdDtcbiAgY29uc3QgdHJpZ2dlclRvcCA9IHRyaWdnZXJSZWMudG9wO1xuXG4gIGNvbnN0IGF2YWlsYWJsZVNwYWNlUmlnaHQgPVxuICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aCAtICh0cmlnZ2VyTGVmdCArIHRyaWdnZXJSZWMud2lkdGgpO1xuICBjb25zdCBhdmFpbGFibGVTcGFjZUFib3ZlID0gdHJpZ2dlclRvcCAtIHZlcnRpY2FsT2Zmc2V0O1xuICBjb25zdCBhdmFpbGFibGVTcGFjZUJlbG93ID1cbiAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0IC0gKHRyaWdnZXJUb3AgKyB0cmlnZ2VyUmVjLmhlaWdodCArIHZlcnRpY2FsT2Zmc2V0KTtcblxuICAvLyBEZWZhdWx0IGVsZW1lbnQgYWxpZ25tZW50IGlzIFwic3RhcnQvYmVsb3dcIlxuICBsZXQgZWxlbWVudFhQb3NpdGlvbiA9IHRyaWdnZXJMZWZ0O1xuICBsZXQgZWxlbWVudFlQb3NpdGlvbiA9IHRyaWdnZXJUb3AgKyB0cmlnZ2VyUmVjLmhlaWdodCArIHZlcnRpY2FsT2Zmc2V0O1xuICBsZXQgZWxlbWVudFhPdmVyZmxvdyA9IGVsZW1lbnRSZWMub2Zmc2V0V2lkdGggLSB0cmlnZ2VyUmVjLndpZHRoO1xuICBjb25zdCBhbGlnbm1lbnQ6IFNiYkFsaWdubWVudCA9IHsgaG9yaXpvbnRhbDogJ3N0YXJ0JywgdmVydGljYWw6ICdiZWxvdycgfTtcblxuICAvLyBDYWxjdWxhdGUgZWxlbWVudCBtYXgtaGVpZ2h0XG4gIGxldCBlbGVtZW50TWF4SGVpZ2h0ID0gYCR7YXZhaWxhYmxlU3BhY2VCZWxvdyAtIHZlcnRpY2FsT2Zmc2V0fXB4YDtcblxuICAvLyBDaGVjayBpZiBob3Jpem9udGFsIGFsaWdubWVudCBuZWVkcyB0byBiZSBjaGFuZ2VkIHRvIFwiY2VudGVyXCJcbiAgaWYgKFxuICAgIHByb3BlcnRpZXM/LmNlbnRlcmVkICYmXG4gICAgdHJpZ2dlckxlZnQgLSBtYXhXaWR0aE9mZnNldCArIHRyaWdnZXJSZWMud2lkdGggLyAyID4gZWxlbWVudFJlYy5vZmZzZXRXaWR0aCAvIDIgJiZcbiAgICBhdmFpbGFibGVTcGFjZVJpZ2h0IC0gbWF4V2lkdGhPZmZzZXQgPiBlbGVtZW50WE92ZXJmbG93IC8gMlxuICApIHtcbiAgICBlbGVtZW50WFBvc2l0aW9uIC09IGVsZW1lbnRYT3ZlcmZsb3cgLz0gMjtcbiAgICBhbGlnbm1lbnQuaG9yaXpvbnRhbCA9ICdjZW50ZXInO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgaG9yaXpvbnRhbCBhbGlnbm1lbnQgbmVlZHMgdG8gYmUgY2hhbmdlZCB0byBcImVuZFwiXG4gIGlmIChhdmFpbGFibGVTcGFjZVJpZ2h0IDwgZWxlbWVudFhPdmVyZmxvdyAmJiB0cmlnZ2VyTGVmdCA+IGVsZW1lbnRYT3ZlcmZsb3cpIHtcbiAgICBlbGVtZW50WFBvc2l0aW9uID0gZWxlbWVudFhQb3NpdGlvbiAtIGVsZW1lbnRYT3ZlcmZsb3c7XG4gICAgYWxpZ25tZW50Lmhvcml6b250YWwgPSAnZW5kJztcbiAgfVxuXG4gIC8vIEFkZCBob3Jpem9udGFsIG9mZnNldFxuICBpZiAoXG4gICAgaG9yaXpvbnRhbE9mZnNldCAmJlxuICAgIGFsaWdubWVudC5ob3Jpem9udGFsICE9PSAnY2VudGVyJyAmJlxuICAgIHRyaWdnZXJSZWMud2lkdGggLyAyIDwgaG9yaXpvbnRhbE9mZnNldFxuICApIHtcbiAgICBlbGVtZW50WFBvc2l0aW9uICs9IGhvcml6b250YWxPZmZzZXQgKiAoYWxpZ25tZW50Lmhvcml6b250YWwgPT09ICdzdGFydCcgPyAtMSA6IDEpO1xuICB9XG5cbiAgLy8gQ2hlY2sgd2hldGhlciB0aGVyZSBpcyBpbnN1ZmZpY2llbnQgc3BhY2Ugb24gYm90aCBzaWRlc1xuICBpZiAoXG4gICAgKHRyaWdnZXJMZWZ0IDwgZWxlbWVudFhPdmVyZmxvdyAmJiBhdmFpbGFibGVTcGFjZVJpZ2h0IDwgZWxlbWVudFhPdmVyZmxvdykgfHxcbiAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGggPCBlbGVtZW50UmVjLm9mZnNldFdpZHRoXG4gICkge1xuICAgIGVsZW1lbnRYUG9zaXRpb24gPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGggLyAyIC0gZWxlbWVudFJlYy5vZmZzZXRXaWR0aCAvIDI7XG4gIH1cblxuICAvLyBDaGVjayBpZiB2ZXJ0aWNhbCBhbGlnbm1lbnQgbmVlZHMgdG8gYmUgY2hhbmdlZCB0byBcImFib3ZlXCI6XG4gIGlmIChcbiAgICAoYXZhaWxhYmxlU3BhY2VCZWxvdyAtIHZlcnRpY2FsT2Zmc2V0IDwgZWxlbWVudFJlYy5zY3JvbGxIZWlnaHQgJiZcbiAgICAgIGF2YWlsYWJsZVNwYWNlQWJvdmUgLSB2ZXJ0aWNhbE9mZnNldCA+XG4gICAgICAgIChyZXNwb25zaXZlSGVpZ2h0ID8gZWxlbWVudFJlYy5jbGllbnRIZWlnaHQgOiBlbGVtZW50UmVjLnNjcm9sbEhlaWdodCkpIHx8XG4gICAgKGF2YWlsYWJsZVNwYWNlQWJvdmUgPiBhdmFpbGFibGVTcGFjZUJlbG93ICYmXG4gICAgICBhdmFpbGFibGVTcGFjZUJlbG93IC0gdmVydGljYWxPZmZzZXQgPCBlbGVtZW50UmVjLmNsaWVudEhlaWdodCAmJlxuICAgICAgIXJlc3BvbnNpdmVIZWlnaHQpXG4gICkge1xuICAgIGVsZW1lbnRZUG9zaXRpb24gPVxuICAgICAgYXZhaWxhYmxlU3BhY2VBYm92ZSA8IGVsZW1lbnRSZWMuc2Nyb2xsSGVpZ2h0XG4gICAgICAgID8gZWxlbWVudFlQb3NpdGlvbiAtIHRyaWdnZXJSZWMuaGVpZ2h0IC0gYXZhaWxhYmxlU3BhY2VBYm92ZSAtIHZlcnRpY2FsT2Zmc2V0XG4gICAgICAgIDogdHJpZ2dlclRvcCAtIGVsZW1lbnRSZWMuY2xpZW50SGVpZ2h0IC0gdmVydGljYWxPZmZzZXQ7XG5cbiAgICBlbGVtZW50TWF4SGVpZ2h0ID0gYCR7YXZhaWxhYmxlU3BhY2VBYm92ZSAtIHZlcnRpY2FsT2Zmc2V0fXB4YDtcbiAgICBhbGlnbm1lbnQudmVydGljYWwgPSAnYWJvdmUnO1xuICB9XG5cbiAgY29uc3QgY29udGFpbmVyUmVjdCA9IGNvbnRhaW5lci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAvLyBXaGVuIHpvb21pbmcgaW4gU2FmYXJpIHRoZSBjb250YWluZXIgcmVjdGFuZ2xlIGNvbnRhaW5zIG5lZ2F0aXZlIHZhbHVlcyBmb3IgdGhlIHBvc2l0aW9uXG4gIC8vIGFuZCB3ZSBuZWVkIHRvIHJlLWFkZCB0aGVtIHRvIHRoZSBjYWxjdWxhdGVkIGNvb3JkaW5hdGVzLlxuICBpZiAoY29udGFpbmVyUmVjdC5sZWZ0IDwgMCkge1xuICAgIGVsZW1lbnRYUG9zaXRpb24gLT0gY29udGFpbmVyUmVjdC5sZWZ0O1xuICB9XG5cbiAgLy8gTm9ybWFsbHkgdGhlIGNvbnRhaW5lclJlY3QncyB0b3AgdmFsdWUgd291bGQgYmUgemVybywgaG93ZXZlciB3aGVuIHRoZSBvdmVybGF5IGlzIGF0dGFjaGVkIHRvIGFuIGlucHV0XG4gIC8vIChlLmcuIGluIGFuIGF1dG9jb21wbGV0ZSksIG1vYmlsZSBicm93c2VycyB3aWxsIHNoaWZ0IGV2ZXJ5dGhpbmcgaW4gb3JkZXIgdG8gcHV0IHRoZSBpbnB1dCBpbiB0aGUgbWlkZGxlXG4gIC8vIG9mIHRoZSBzY3JlZW4gYW5kIHRvIG1ha2Ugc3BhY2UgZm9yIHRoZSB2aXJ0dWFsIGtleWJvYXJkLiBXZSBuZWVkIHRvIGFjY291bnQgZm9yIHRoaXMgb2Zmc2V0LFxuICAvLyBvdGhlcndpc2Ugb3VyIHBvc2l0aW9uaW5nIHdpbGwgYmUgdGhyb3duIG9mZi5cbiAgLy8gQWRkaXRpb25hbGx5LCB3aGVuIHpvb21pbmcgaW4gU2FmYXJpIHRoaXMgZml4ZXMgdGhlIHZlcnRpY2FsIHBvc2l0aW9uLlxuICBpZiAoY29udGFpbmVyUmVjdC50b3AgPCAwKSB7XG4gICAgZWxlbWVudFlQb3NpdGlvbiAtPSBjb250YWluZXJSZWN0LnRvcDtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgdG9wOiBlbGVtZW50WVBvc2l0aW9uLFxuICAgIGxlZnQ6IGVsZW1lbnRYUG9zaXRpb24sXG4gICAgbWF4SGVpZ2h0OiBlbGVtZW50TWF4SGVpZ2h0LFxuICAgIGFsaWdubWVudDogYWxpZ25tZW50LFxuICB9O1xufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW9CTSxTQUFVLG9CQUFvQixJQUFlO0FBQ2pELFFBQU0sZUFBZSxPQUFPLGlCQUFpQixFQUFFLEdBQzdDLGlCQUFpQixhQUFhLFNBQzlCLG1CQUFtQixTQUFTLGFBQWEsV0FBVyxFQUFFLEVBQUUsU0FBUTtBQUc5RCxNQUFBLG1CQUFtQixVQUFVLHFCQUFxQixLQUFLO0FBQ2xELFdBQUE7QUFBQSxNQUNMLGNBQWMsR0FBRztBQUFBLE1BQ2pCLGNBQWMsR0FBRztBQUFBLE1BQ2pCLGNBQWMsR0FBRztBQUFBLE1BQ2pCLGFBQWEsR0FBRztBQUFBLE1BQ2hCLGFBQWEsR0FBRztBQUFBLE1BQ2hCLGFBQWEsR0FBRztBQUFBOztBQU1wQixLQUFHLE1B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
84
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9zaXRpb24uanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL292ZXJsYXkvcG9zaXRpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgRWxlbWVudFJlY3RhbmdsZSA9IFBpY2s8XG4gIEhUTUxFbGVtZW50LFxuICAnc2Nyb2xsSGVpZ2h0JyB8ICdjbGllbnRIZWlnaHQnIHwgJ29mZnNldEhlaWdodCcgfCAnc2Nyb2xsV2lkdGgnIHwgJ2NsaWVudFdpZHRoJyB8ICdvZmZzZXRXaWR0aCdcbj47XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2JiQWxpZ25tZW50IHtcbiAgaG9yaXpvbnRhbDogJ3N0YXJ0JyB8ICdjZW50ZXInIHwgJ2VuZCc7XG4gIHZlcnRpY2FsOiAnYWJvdmUnIHwgJ2JlbG93Jztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTYmJFbGVtZW50UG9zaXRpb25JbmZvcyB7XG4gIHRvcDogbnVtYmVyO1xuICBsZWZ0OiBudW1iZXI7XG4gIG1heEhlaWdodDogc3RyaW5nO1xuICBhbGlnbm1lbnQ6IFNiYkFsaWdubWVudDtcbn1cblxuLyoqXG4gKiBHZXRzIGhlaWdodCBhbmQgd2lkdGggb2YgYW4gZWxlbWVudCBldmVuIGlmIGl0J3MgaGlkZGVuIChgZGlzcGxheTogbm9uZWApLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RWxlbWVudFJlY3RhbmdsZShlbDogSFRNTEVsZW1lbnQpOiBFbGVtZW50UmVjdGFuZ2xlIHtcbiAgY29uc3QgZWxlbWVudFN0eWxlID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWwpLFxuICAgIGVsZW1lbnREaXNwbGF5ID0gZWxlbWVudFN0eWxlLmRpc3BsYXksXG4gICAgZWxlbWVudE1heEhlaWdodCA9IHBhcnNlSW50KGVsZW1lbnRTdHlsZS5tYXhIZWlnaHQsIDEwKS50b1N0cmluZygpO1xuXG4gIC8vIElmIGl0IGlzIG5vdCBoaWRkZW4gd2UganVzdCByZXR1cm4gbm9ybWFsIGhlaWdodFxuICBpZiAoZWxlbWVudERpc3BsYXkgIT09ICdub25lJyAmJiBlbGVtZW50TWF4SGVpZ2h0ICE9PSAnMCcpIHtcbiAgICByZXR1cm4ge1xuICAgICAgc2Nyb2xsSGVpZ2h0OiBlbC5zY3JvbGxIZWlnaHQsXG4gICAgICBjbGllbnRIZWlnaHQ6IGVsLmNsaWVudEhlaWdodCxcbiAgICAgIG9mZnNldEhlaWdodDogZWwub2Zmc2V0SGVpZ2h0LFxuICAgICAgc2Nyb2xsV2lkdGg6IGVsLnNjcm9sbFdpZHRoLFxuICAgICAgY2xpZW50V2lkdGg6IGVsLmNsaWVudFdpZHRoLFxuICAgICAgb2Zmc2V0V2lkdGg6IGVsLm9mZnNldFdpZHRoLFxuICAgIH07XG4gIH1cblxuICAvLyBUaGUgZWxlbWVudCBpcyBoaWRkZW4gc286XG4gIC8vIG1ha2UgdGhlIGVsIGJsb2NrIGluIG9yZGVyIHRvIG1lYXN1cmUgaXRzIGhlaWdodCBidXQgc3RpbGwgYmUgaGlkZGVuXG4gIGVsLnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJztcbiAgZWwuc3R5bGUudmlzaWJpbGl0eSA9ICdoaWRkZW4nO1xuICBlbC5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJztcblxuICBjb25zdCBzY3JvbGxIZWlnaHQgPSBlbC5zY3JvbGxIZWlnaHQsXG4gICAgY2xpZW50SGVpZ2h0ID0gZWwuY2xpZW50SGVpZ2h0LFxuICAgIG9mZnNldEhlaWdodCA9IGVsLm9mZnNldEhlaWdodCxcbiAgICBzY3JvbGxXaWR0aCA9IGVsLnNjcm9sbFdpZHRoLFxuICAgIGNsaWVudFdpZHRoID0gZWwuY2xpZW50V2lkdGgsXG4gICAgb2Zmc2V0V2lkdGggPSBlbC5vZmZzZXRXaWR0aDtcblxuICAvLyBSZXZlcnRpbmcgdG8gdGhlIG9yaWdpbmFsIHZhbHVlc1xuICBlbC5zdHlsZS5kaXNwbGF5ID0gJyc7XG4gIGVsLnN0eWxlLnBvc2l0aW9uID0gJyc7XG4gIGVsLnN0eWxlLnZpc2liaWxpdHkgPSAnJztcblxuICByZXR1cm4geyBzY3JvbGxIZWlnaHQsIGNsaWVudEhlaWdodCwgb2Zmc2V0SGVpZ2h0LCBzY3JvbGxXaWR0aCwgY2xpZW50V2lkdGgsIG9mZnNldFdpZHRoIH07XG59XG5cbi8qKlxuICogRGV0ZXJtaW5lcyB3aGV0aGVyIGFuIGV2ZW50IGlzIGZpcmVkIG9uIGEgc3BlY2lmaWMgZWxlbWVudC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzRXZlbnRPbkVsZW1lbnQoXG4gIGVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgbnVsbCxcbiAgZXZlbnQ6IE1vdXNlRXZlbnQgfCBQb2ludGVyRXZlbnQsXG4pOiBib29sZWFuIHtcbiAgaWYgKCFlbGVtZW50IHx8ICFldmVudCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNvbnN0IHJlY3QgPSBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICByZXR1cm4gKFxuICAgIHJlY3QudG9wIDw9IGV2ZW50LmNsaWVudFkgJiZcbiAgICBldmVudC5jbGllbnRZIDw9IHJlY3QudG9wICsgcmVjdC5oZWlnaHQgJiZcbiAgICByZWN0LmxlZnQgPD0gZXZlbnQuY2xpZW50WCAmJlxuICAgIGV2ZW50LmNsaWVudFggPD0gcmVjdC5sZWZ0ICsgcmVjdC53aWR0aFxuICApO1xufVxuXG4vKipcbiAqIERldGVybWluZXMgdGhlIHBvc2l0aW9uIG9mIGFuIGVsZW1lbnQgcmVsYXRpdmUgdG8gYSB0cmlnZ2VyIGVsZW1lbnQgYnkgZXZhbHVhdGluZ1xuICogdGhlIG9wdGltYWwgcG9zaXRpb24gYmFzZWQgb24gdGhlIGF2YWlsYWJsZSBzcGFjZS5cbiAqXG4gKiBAcGFyYW0gZWxlbWVudCBUaGUgZWxlbWVudCBvZiB3aGljaCB0byBjYWxjdWxhdGUgdGhlIHBvc2l0aW9uLlxuICogQHBhcmFtIHRyaWdnZXIgVGhlIGVsZW1lbnQgcmVsYXRpdmUgdG8gd2hpY2ggdG8gY2FsY3VsYXRlIHRoZSBwb3NpdGlvbi5cbiAqIEBwYXJhbSBjb250YWluZXIgVGhlIGVsZW1lbnQgd2hpY2ggaGFzIHRoZSBwb3NpdGlvbjpmaXhlZCBhcHBsaWVkLlxuICogQHBhcmFtIHByb3BlcnRpZXMgUHJvcGVydGllcyB0byB0YWtlIGludG8gYWNjb3VudCBpbiBjYWxjdWxhdGlvbnMgKG9wdGlvbmFsKS5cbiAqIEBwYXJhbSBwcm9wZXJ0aWVzLnZlcnRpY2FsT2Zmc2V0IFRoZSBkaXN0YW5jZSB0byBiZSBhZGRlZCBiZXR3ZWVuIHRoZSBlbGVtZW50IGFuZCB0aGUgdHJpZ2dlciAob3B0aW9uYWwpLlxuICogQHBhcmFtIHByb3BlcnRpZXMuaG9yaXpvbnRhbE9mZnNldCBUaGUgaG9yaXpvbnRhbCBvZmZzZXQgdG8gYmUgYXBwbGllZCB0byB0aGUgZWxlbWVudCAob3B0aW9uYWwpLlxuICogQHBhcmFtIHByb3BlcnRpZXMuY2VudGVyZWQgV2hldGhlciB0aGUgZWxlbWVudCBzaG91bGQgYmUgcGxhY2VkIGluIHRoZSBjZW50ZXIgYnkgZGVmYXVsdCAob3B0aW9uYWwpLlxuICogQHBhcmFtIHByb3BlcnRpZXMucmVzcG9uc2l2ZUhlaWdodCBXaGV0aGVyIHRoZSBlbGVtZW50IGNhbGN1bGF0ZXMgaXRzIGhlaWdodCBiYXNlZCBvbiBpdHMgY29udGVudCAob3B0aW9uYWwpLlxuICogQHJldHVybnMgUmV0dXJucyBhbiBvYmplY3QgY29udGFpbmluZyB0aGUgbGVmdCBwb3NpdGlvbiwgdGhlIHRvcCBwb3NpdGlvbiwgdGhlIG1heGltdW0gaGVpZ2h0XG4gKiBvZiB0aGUgZWxlbWVudCBhbmQgdGhlIGN1cnJlbnQgYWxpZ25tZW50IG9iamVjdC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEVsZW1lbnRQb3NpdGlvbihcbiAgZWxlbWVudDogSFRNTEVsZW1lbnQsXG4gIHRyaWdnZXI6IEhUTUxFbGVtZW50LFxuICBjb250YWluZXI6IEhUTUxFbGVtZW50LFxuICBwcm9wZXJ0aWVzPzoge1xuICAgIHZlcnRpY2FsT2Zmc2V0PzogbnVtYmVyO1xuICAgIGhvcml6b250YWxPZmZzZXQ/OiBudW1iZXI7XG4gICAgY2VudGVyZWQ/OiBib29sZWFuO1xuICAgIHJlc3BvbnNpdmVIZWlnaHQ/OiBib29sZWFuO1xuICB9LFxuKTogU2JiRWxlbWVudFBvc2l0aW9uSW5mb3Mge1xuICBjb25zdCBtYXhXaWR0aE9mZnNldCA9IDE2O1xuICBjb25zdCB2ZXJ0aWNhbE9mZnNldCA9IHByb3BlcnRpZXM/LnZlcnRpY2FsT2Zmc2V0IHx8IDA7XG4gIGNvbnN0IGhvcml6b250YWxPZmZzZXQgPSBwcm9wZXJ0aWVzPy5ob3Jpem9udGFsT2Zmc2V0IHx8IDA7XG4gIGNvbnN0IHJlc3BvbnNpdmVIZWlnaHQgPSBwcm9wZXJ0aWVzPy5yZXNwb25zaXZlSGVpZ2h0IHx8IGZhbHNlO1xuXG4gIGNvbnN0IHRyaWdnZXJSZWMgPSB0cmlnZ2VyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICBjb25zdCBlbGVtZW50UmVjID0gZ2V0RWxlbWVudFJlY3RhbmdsZShlbGVtZW50KTtcblxuICBjb25zdCB0cmlnZ2VyTGVmdCA9IHRyaWdnZXJSZWMubGVmdDtcbiAgY29uc3QgdHJpZ2dlclRvcCA9IHRyaWdnZXJSZWMudG9wO1xuXG4gIGNvbnN0IGF2YWlsYWJsZVNwYWNlUmlnaHQgPVxuICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aCAtICh0cmlnZ2VyTGVmdCArIHRyaWdnZXJSZWMud2lkdGgpO1xuICBjb25zdCBhdmFpbGFibGVTcGFjZUFib3ZlID0gdHJpZ2dlclRvcCAtIHZlcnRpY2FsT2Zmc2V0O1xuICBjb25zdCBhdmFpbGFibGVTcGFjZUJlbG93ID1cbiAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0IC0gKHRyaWdnZXJUb3AgKyB0cmlnZ2VyUmVjLmhlaWdodCArIHZlcnRpY2FsT2Zmc2V0KTtcblxuICAvLyBEZWZhdWx0IGVsZW1lbnQgYWxpZ25tZW50IGlzIFwic3RhcnQvYmVsb3dcIlxuICBsZXQgZWxlbWVudFhQb3NpdGlvbiA9IHRyaWdnZXJMZWZ0O1xuICBsZXQgZWxlbWVudFlQb3NpdGlvbiA9IHRyaWdnZXJUb3AgKyB0cmlnZ2VyUmVjLmhlaWdodCArIHZlcnRpY2FsT2Zmc2V0O1xuICBsZXQgZWxlbWVudFhPdmVyZmxvdyA9IGVsZW1lbnRSZWMub2Zmc2V0V2lkdGggLSB0cmlnZ2VyUmVjLndpZHRoO1xuICBjb25zdCBhbGlnbm1lbnQ6IFNiYkFsaWdubWVudCA9IHsgaG9yaXpvbnRhbDogJ3N0YXJ0JywgdmVydGljYWw6ICdiZWxvdycgfTtcblxuICAvLyBDYWxjdWxhdGUgZWxlbWVudCBtYXgtaGVpZ2h0XG4gIGxldCBlbGVtZW50TWF4SGVpZ2h0ID0gYCR7YXZhaWxhYmxlU3BhY2VCZWxvdyAtIHZlcnRpY2FsT2Zmc2V0fXB4YDtcblxuICAvLyBDaGVjayBpZiBob3Jpem9udGFsIGFsaWdubWVudCBuZWVkcyB0byBiZSBjaGFuZ2VkIHRvIFwiY2VudGVyXCJcbiAgaWYgKFxuICAgIHByb3BlcnRpZXM/LmNlbnRlcmVkICYmXG4gICAgdHJpZ2dlckxlZnQgLSBtYXhXaWR0aE9mZnNldCArIHRyaWdnZXJSZWMud2lkdGggLyAyID4gZWxlbWVudFJlYy5vZmZzZXRXaWR0aCAvIDIgJiZcbiAgICBhdmFpbGFibGVTcGFjZVJpZ2h0IC0gbWF4V2lkdGhPZmZzZXQgPiBlbGVtZW50WE92ZXJmbG93IC8gMlxuICApIHtcbiAgICBlbGVtZW50WFBvc2l0aW9uIC09IGVsZW1lbnRYT3ZlcmZsb3cgLz0gMjtcbiAgICBhbGlnbm1lbnQuaG9yaXpvbnRhbCA9ICdjZW50ZXInO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgaG9yaXpvbnRhbCBhbGlnbm1lbnQgbmVlZHMgdG8gYmUgY2hhbmdlZCB0byBcImVuZFwiXG4gIGlmIChhdmFpbGFibGVTcGFjZVJpZ2h0IDwgZWxlbWVudFhPdmVyZmxvdyAmJiB0cmlnZ2VyTGVmdCA+IGVsZW1lbnRYT3ZlcmZsb3cpIHtcbiAgICBlbGVtZW50WFBvc2l0aW9uID0gZWxlbWVudFhQb3NpdGlvbiAtIGVsZW1lbnRYT3ZlcmZsb3c7XG4gICAgYWxpZ25tZW50Lmhvcml6b250YWwgPSAnZW5kJztcbiAgfVxuXG4gIC8vIEFkZCBob3Jpem9udGFsIG9mZnNldFxuICBpZiAoXG4gICAgaG9yaXpvbnRhbE9mZnNldCAmJlxuICAgIGFsaWdubWVudC5ob3Jpem9udGFsICE9PSAnY2VudGVyJyAmJlxuICAgIHRyaWdnZXJSZWMud2lkdGggLyAyIDwgaG9yaXpvbnRhbE9mZnNldFxuICApIHtcbiAgICBlbGVtZW50WFBvc2l0aW9uICs9IGhvcml6b250YWxPZmZzZXQgKiAoYWxpZ25tZW50Lmhvcml6b250YWwgPT09ICdzdGFydCcgPyAtMSA6IDEpO1xuICB9XG5cbiAgLy8gQ2hlY2sgd2hldGhlciB0aGVyZSBpcyBpbnN1ZmZpY2llbnQgc3BhY2Ugb24gYm90aCBzaWRlc1xuICBpZiAoXG4gICAgKHRyaWdnZXJMZWZ0IDwgZWxlbWVudFhPdmVyZmxvdyAmJiBhdmFpbGFibGVTcGFjZVJpZ2h0IDwgZWxlbWVudFhPdmVyZmxvdykgfHxcbiAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGggPCBlbGVtZW50UmVjLm9mZnNldFdpZHRoXG4gICkge1xuICAgIGVsZW1lbnRYUG9zaXRpb24gPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGggLyAyIC0gZWxlbWVudFJlYy5vZmZzZXRXaWR0aCAvIDI7XG4gIH1cblxuICAvLyBDaGVjayBpZiB2ZXJ0aWNhbCBhbGlnbm1lbnQgbmVlZHMgdG8gYmUgY2hhbmdlZCB0byBcImFib3ZlXCI6XG4gIGlmIChcbiAgICAoYXZhaWxhYmxlU3BhY2VCZWxvdyAtIHZlcnRpY2FsT2Zmc2V0IDwgZWxlbWVudFJlYy5zY3JvbGxIZWlnaHQgJiZcbiAgICAgIGF2YWlsYWJsZVNwYWNlQWJvdmUgLSB2ZXJ0aWNhbE9mZnNldCA+XG4gICAgICAgIChyZXNwb25zaXZlSGVpZ2h0ID8gZWxlbWVudFJlYy5jbGllbnRIZWlnaHQgOiBlbGVtZW50UmVjLnNjcm9sbEhlaWdodCkpIHx8XG4gICAgKGF2YWlsYWJsZVNwYWNlQWJvdmUgPiBhdmFpbGFibGVTcGFjZUJlbG93ICYmXG4gICAgICBhdmFpbGFibGVTcGFjZUJlbG93IC0gdmVydGljYWxPZmZzZXQgPCBlbGVtZW50UmVjLmNsaWVudEhlaWdodCAmJlxuICAgICAgIXJlc3BvbnNpdmVIZWlnaHQpXG4gICkge1xuICAgIGVsZW1lbnRZUG9zaXRpb24gPVxuICAgICAgYXZhaWxhYmxlU3BhY2VBYm92ZSA8IGVsZW1lbnRSZWMuc2Nyb2xsSGVpZ2h0XG4gICAgICAgID8gZWxlbWVudFlQb3NpdGlvbiAtIHRyaWdnZXJSZWMuaGVpZ2h0IC0gYXZhaWxhYmxlU3BhY2VBYm92ZSAtIHZlcnRpY2FsT2Zmc2V0XG4gICAgICAgIDogdHJpZ2dlclRvcCAtIGVsZW1lbnRSZWMuY2xpZW50SGVpZ2h0IC0gdmVydGljYWxPZmZzZXQ7XG5cbiAgICBlbGVtZW50TWF4SGVpZ2h0ID0gYCR7YXZhaWxhYmxlU3BhY2VBYm92ZSAtIHZlcnRpY2FsT2Zmc2V0fXB4YDtcbiAgICBhbGlnbm1lbnQudmVydGljYWwgPSAnYWJvdmUnO1xuICB9XG5cbiAgY29uc3QgY29udGFpbmVyUmVjdCA9IGNvbnRhaW5lci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAvLyBXaGVuIHpvb21pbmcgaW4gU2FmYXJpIHRoZSBjb250YWluZXIgcmVjdGFuZ2xlIGNvbnRhaW5zIG5lZ2F0aXZlIHZhbHVlcyBmb3IgdGhlIHBvc2l0aW9uXG4gIC8vIGFuZCB3ZSBuZWVkIHRvIHJlLWFkZCB0aGVtIHRvIHRoZSBjYWxjdWxhdGVkIGNvb3JkaW5hdGVzLlxuICBpZiAoY29udGFpbmVyUmVjdC5sZWZ0IDwgMCkge1xuICAgIGVsZW1lbnRYUG9zaXRpb24gLT0gY29udGFpbmVyUmVjdC5sZWZ0O1xuICB9XG5cbiAgLy8gTm9ybWFsbHkgdGhlIGNvbnRhaW5lclJlY3QncyB0b3AgdmFsdWUgd291bGQgYmUgemVybywgaG93ZXZlciB3aGVuIHRoZSBvdmVybGF5IGlzIGF0dGFjaGVkIHRvIGFuIGlucHV0XG4gIC8vIChlLmcuIGluIGFuIGF1dG9jb21wbGV0ZSksIG1vYmlsZSBicm93c2VycyB3aWxsIHNoaWZ0IGV2ZXJ5dGhpbmcgaW4gb3JkZXIgdG8gcHV0IHRoZSBpbnB1dCBpbiB0aGUgbWlkZGxlXG4gIC8vIG9mIHRoZSBzY3JlZW4gYW5kIHRvIG1ha2Ugc3BhY2UgZm9yIHRoZSB2aXJ0dWFsIGtleWJvYXJkLiBXZSBuZWVkIHRvIGFjY291bnQgZm9yIHRoaXMgb2Zmc2V0LFxuICAvLyBvdGhlcndpc2Ugb3VyIHBvc2l0aW9uaW5nIHdpbGwgYmUgdGhyb3duIG9mZi5cbiAgLy8gQWRkaXRpb25hbGx5LCB3aGVuIHpvb21pbmcgaW4gU2FmYXJpIHRoaXMgZml4ZXMgdGhlIHZlcnRpY2FsIHBvc2l0aW9uLlxuICBpZiAoY29udGFpbmVyUmVjdC50b3AgPCAwKSB7XG4gICAgZWxlbWVudFlQb3NpdGlvbiAtPSBjb250YWluZXJSZWN0LnRvcDtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgdG9wOiBlbGVtZW50WVBvc2l0aW9uLFxuICAgIGxlZnQ6IGVsZW1lbnRYUG9zaXRpb24sXG4gICAgbWF4SGVpZ2h0OiBlbGVtZW50TWF4SGVpZ2h0LFxuICAgIGFsaWdubWVudDogYWxpZ25tZW50LFxuICB9O1xufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW9CTSxTQUFVLG9CQUFvQixJQUFlO0FBQ2pELFFBQU0sZUFBZSxPQUFPLGlCQUFpQixFQUFFLEdBQzdDLGlCQUFpQixhQUFhLFNBQzlCLG1CQUFtQixTQUFTLGFBQWEsV0FBVyxFQUFFLEVBQUUsU0FBQTtBQUcxRCxNQUFJLG1CQUFtQixVQUFVLHFCQUFxQixLQUFLO0FBQ3pELFdBQU87QUFBQSxNQUNMLGNBQWMsR0FBRztBQUFBLE1BQ2pCLGNBQWMsR0FBRztBQUFBLE1BQ2pCLGNBQWMsR0FBRztBQUFBLE1BQ2pCLGFBQWEsR0FBRztBQUFBLE1BQ2hCLGFBQWEsR0FBRztBQUFBLE1BQ2hCLGFBQWEsR0FBRztBQUFBLElBQUE7QUFBQTtBQU1w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
@@ -55,16 +55,14 @@ class EventSpy {
55
55
  return promiseWithExecutor.promise;
56
56
  }
57
57
  _listenForEvent() {
58
- var _a;
59
- (_a = this._target) == null ? void 0 : _a.addEventListener(this._event, (ev) => {
60
- var _a2;
58
+ this._target?.addEventListener(this._event, (ev) => {
61
59
  this._events.push(ev);
62
60
  this._count++;
63
- (_a2 = this._promiseEventMap.get(this.count)) == null ? void 0 : _a2.resolve(ev);
61
+ this._promiseEventMap.get(this.count)?.resolve(ev);
64
62
  }, this._options ?? void 0);
65
63
  }
66
64
  }
67
65
  export {
68
66
  EventSpy
69
67
  };
70
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtc3B5LmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS90ZXN0aW5nL2V2ZW50LXNweS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJ0eXBlIFByb21pc2VXaXRoRXhlY3V0b3I8VCBleHRlbmRzIEV2ZW50PiA9IHtcbiAgcHJvbWlzZTogUHJvbWlzZTxUPjtcbiAgcmVzb2x2ZTogKHZhbHVlOiBUKSA9PiB2b2lkO1xuICByZWplY3Q6IChyZWFzb24/OiBhbnkpID0+IHZvaWQ7XG59O1xuXG4vKipcbiAqIFRoaXMgY2xhc3MgZXhpc3RzIHRvIGZhY2lsaXRhdGUgdGhlIHRlc3QgbWlncmF0aW9uIGZyb20gc3RlbmNpbCB0byBsaXQuXG4gKiBJdCBtaW1pY3MgdGhlIEFQSSB0aGF0IHN0ZW5jaWwgcHJvdmlkZWQgdG8gdGVzdCBldmVudHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBFdmVudFNweTxUIGV4dGVuZHMgRXZlbnQ+IHtcbiAgcHVibGljIGdldCBjb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9jb3VudDtcbiAgfVxuICBwcml2YXRlIF9jb3VudDogbnVtYmVyID0gMDtcblxuICBwdWJsaWMgZ2V0IGV2ZW50cygpOiBUW10ge1xuICAgIHJldHVybiB0aGlzLl9ldmVudHM7XG4gIH1cbiAgcHJpdmF0ZSBfZXZlbnRzOiBUW10gPSBbXTtcblxuICBwdWJsaWMgZ2V0IGZpcnN0RXZlbnQoKTogVCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmV2ZW50cy5sZW5ndGggPyB0aGlzLmV2ZW50c1swXSA6IG51bGw7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGxhc3RFdmVudCgpOiBUIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuZXZlbnRzLmxlbmd0aCA/IHRoaXMuZXZlbnRzW3RoaXMuZXZlbnRzLmxlbmd0aCAtIDFdIDogbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgX3Byb21pc2VFdmVudE1hcCA9IG5ldyBNYXA8bnVtYmVyLCBQcm9taXNlV2l0aEV4ZWN1dG9yPFQ+PigpO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9ldmVudDogc3RyaW5nLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX3RhcmdldDogTm9kZSB8IG51bGwgPSBudWxsLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX29wdGlvbnM6IEFkZEV2ZW50TGlzdGVuZXJPcHRpb25zIHwgbnVsbCA9IG51bGwsXG4gICkge1xuICAgIGlmICghdGhpcy5fdGFyZ2V0KSB7XG4gICAgICB0aGlzLl90YXJnZXQgPSBkb2N1bWVudDtcbiAgICB9XG5cbiAgICB0aGlzLl9saXN0ZW5Gb3JFdmVudCgpO1xuICB9XG5cbiAgcHVibGljIGNhbGxlZE9uY2UodGltZW91dD86IG51bWJlcik6IFByb21pc2U8VD4ge1xuICAgIHJldHVybiB0aGlzLmNhbGxlZFRpbWVzKDEsIHRpbWVvdXQpO1xuICB9XG5cbiAgcHVibGljIGNhbGxlZFRpbWVzKGNvdW50OiBudW1iZXIsIHRpbWVvdXQgPSAyMDAwKTogUHJvbWlzZTxUPiB7XG4gICAgaWYgKHRoaXMuY291bnQgPiBjb3VudCkge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KFxuICAgICAgICBgRXZlbnQgaGFzIGJlZW4gZW1pdHRlZCBtb3JlIHRoYW4gZXhwZWN0ZWQgKGV4cGVjdGVkICR7Y291bnR9LCBhY3R1YWwgJHt0aGlzLmNvdW50fWAsXG4gICAgICApO1xuICAgIH0gZWxzZSBpZiAodGhpcy5jb3VudCA9PT0gY291bnQpIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUodGhpcy5ldmVudHNbY291bnQgLSAxXSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLl9wcm9taXNlRXZlbnRNYXAuaGFzKGNvdW50KSkge1xuICAgICAgcmV0dXJuIHRoaXMuX3Byb21pc2VFdmVudE1hcC5nZXQoY291bnQpIS5wcm9taXNlO1xuICAgIH0gZWxzZSB7XG4gICAgICBsZXQgcmVzb2x2ZTogKHZhbHVlOiBUKSA9PiB2b2lkO1xuICAgICAgbGV0IHJlamVjdDogKHJlYXNvbj86IGFueSkgPT4gdm9pZDtcbiAgICAgIGNvbnN0IHByb21pc2UgPSBuZXcgUHJvbWlzZTxUPigocmVzb2x2ZUZ1bmN0aW9uLCByZWplY3RGdW5jdGlvbikgPT4ge1xuICAgICAgICByZXNvbHZlID0gcmVzb2x2ZUZ1bmN0aW9uO1xuICAgICAgICByZWplY3QgPSByZWplY3RGdW5jdGlvbjtcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBwcm9taXNlV2l0aEV4ZWN1dG9yID0ge1xuICAgICAgICBwcm9taXNlLFxuICAgICAgICByZXNvbHZlOiByZXNvbHZlISxcbiAgICAgICAgcmVqZWN0OiByZWplY3QhLFxuICAgICAgfTtcblxuICAgICAgdGhpcy5fcHJvbWlzZUV2ZW50TWFwLnNldChjb3VudCwgcHJvbWlzZVdpdGhFeGVjdXRvcik7XG5cbiAgICAgIHJldHVybiB0aGlzLl93cmFwUHJvbWlzZVdpdGhUaW1lb3V0KHByb21pc2VXaXRoRXhlY3V0b3IsIGNvdW50LCB0aW1lb3V0KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF93cmFwUHJvbWlzZVdpdGhUaW1lb3V0KFxuICAgIHByb21pc2VXaXRoRXhlY3V0b3I6IFByb21pc2VXaXRoRXhlY3V0b3I8VD4sXG4gICAgY291bnQ6IG51bWJlcixcbiAgICB0aW1lb3V0OiBudW1iZXIsXG4gICk6IFByb21pc2U8VD4ge1xuICAgIGNvbnN0IGNsZWFyVGltZW91dElkID0gc2V0VGltZW91dChcbiAgICAgICgpID0+IHByb21pc2VXaXRoRXhlY3V0b3IucmVqZWN0KGBhd2FpdGluZyBjYWxsZWRUaW1lcygke2NvdW50fSkgcmVzdWx0cyBpbiB0aW1lb3V0YCksXG4gICAgICB0aW1lb3V0LFxuICAgICk7XG4gICAgcHJvbWlzZVdpdGhFeGVjdXRvci5wcm9taXNlLnRoZW4oKCkgPT4gY2xlYXJUaW1lb3V0KGNsZWFyVGltZW91dElkKSk7XG4gICAgcmV0dXJuIHByb21pc2VXaXRoRXhlY3V0b3IucHJvbWlzZTtcbiAgfVxuXG4gIHByaXZhdGUgX2xpc3RlbkZvckV2ZW50KCk6IHZvaWQge1xuICAgIHRoaXMuX3RhcmdldD8uYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgIHRoaXMuX2V2ZW50LFxuICAgICAgKGV2KSA9PiB7XG4gICAgICAgIHRoaXMuX2V2ZW50cy5wdXNoKGV2IGFzIFQpO1xuICAgICAgICB0aGlzLl9jb3VudCsrO1xuICAgICAgICB0aGlzLl9wcm9taXNlRXZlbnRNYXAuZ2V0KHRoaXMuY291bnQpPy5yZXNvbHZlKGV2IGFzIFQpO1xuICAgICAgfSxcbiAgICAgIHRoaXMuX29wdGlvbnMgPz8gdW5kZWZpbmVkLFxuICAgICk7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJfYSJdLCJtYXBwaW5ncyI6Ik1BVWEsU0FBUTtBQUFBLEVBQ25CLElBQVcsUUFBSztBQUNkLFdBQU8sS0FBSztBQUFBLEVBQUE7QUFBQSxFQUlkLElBQVcsU0FBTTtBQUNmLFdBQU8sS0FBSztBQUFBLEVBQUE7QUFBQSxFQUlkLElBQVcsYUFBVTtBQUNuQixXQUFPLEtBQUssT0FBTyxTQUFTLEtBQUssT0FBTyxDQUFDLElBQUk7QUFBQSxFQUFBO0FBQUEsRUFHL0MsSUFBVyxZQUFTO0FBQ1gsV0FBQSxLQUFLLE9BQU8sU0FBUyxLQUFLLE9BQU8sS0FBSyxPQUFPLFNBQVMsQ0FBQyxJQUFJO0FBQUEsRUFBQTtBQUFBLEVBS3BFLFlBQ1UsUUFDUyxVQUF1QixNQUN2QixXQUEyQyxNQUFJO0FBRnhELFNBQU0sU0FBTjtBQUNTLFNBQU8sVUFBUDtBQUNBLFNBQVEsV0FBUjtBQXBCWCxTQUFNLFNBQVc7QUFLakIsU0FBTyxVQUFRO0FBVWYsU0FBQSx1Q0FBdUIsSUFBRztBQU81QixRQUFBLENBQUMsS0FBSyxTQUFTO0FBQ2pCLFdBQUssVUFBVTtBQUFBLElBQUE7QUFHakIsU0FBSyxnQkFBZTtBQUFBLEVBQUE7QUFBQSxFQUdmLFdBQVcsU0FBZ0I7QUFDekIsV0FBQSxLQUFLLFlBQVksR0FBRyxPQUFPO0FBQUEsRUFBQTtBQUFBLEVBRzdCLFlBQVksT0FBZSxVQUFVLEtBQUk7QUFDMUMsUUFBQSxLQUFLLFFBQVEsT0FBTztBQUN0QixhQUFPLFFBQVEsT0FDYix1REFBdUQsS0FBSyxZQUFZLEtBQUssS0FBSyxFQUFFO0FBQUEsSUFBQSxXQUU3RSxLQUFLLFVBQVUsT0FBTztBQUMvQixhQUFPLFFBQVEsUUFBUSxLQUFLLE9BQU8sUUFBUSxDQUFDLENBQUM7QUFBQSxJQUNwQyxXQUFBLEtBQUssaUJBQWlCLElBQUksS0FBSyxHQUFHO0FBQzNDLGFBQU8sS0FBSyxpQkFBaUIsSUFBSSxLQUFLLEVBQUc7QUFBQSxJQUFBLE9BQ3BDO0FBQ0QsVUFBQTtBQUNBLFVBQUE7QUFDSixZQUFNLFVBQVUsSUFBSSxRQUFXLENBQUMsaUJBQWlCLG1CQUFrQjtBQUN2RCxrQkFBQTtBQUNELGlCQUFBO0FBQUEsTUFBQSxDQUNWO0FBRUQsWUFBTSxzQkFBc0I7QUFBQSxRQUMxQjtBQUFBLFFBQ0E7QUFBQSxRQUNBO0FBQUE7QUFHRyxXQUFBLGlCQUFpQixJQUFJLE9BQU8sbUJBQW1CO0FBRXBELGFBQU8sS0FBSyx3QkFBd0IscUJBQXFCLE9BQU8sT0FBTztBQUFBLElBQUE7QUFBQSxFQUN6RTtBQUFBLEVBR00sd0JBQ04scUJBQ0EsT0FDQSxTQUFlO0FBRVQsVUFBQSxpQkFBaUIsV0FDckIsTUFBTSxvQkFBb0IsT0FBTyx3QkFBd0IsS0FBSyxzQkFBc0IsR0FDcEYsT0FBTztBQUVULHdCQUFvQixRQUFRLEtBQUssTUFBTSxhQUFhLGNBQWMsQ0FBQztBQUNuRSxXQUFPLG9CQUFvQjtBQUFBLEVBQUE7QUFBQSxFQUdyQixrQkFBZTs7QUFDckIsZUFBSyxZQUFMLG1CQUFjLGlCQUNaLEtBQUssUUFDTCxDQUFDLE9BQU07O0FBQ0EsV0FBQSxRQUFRLEtBQUssRUFBTztBQUNwQixXQUFBO0FBQ0wsT0FBQUEsTUFBQSxLQUFLLGlCQUFpQixJQUFJLEtBQUssS0FBSyxNQUFwQyxnQkFBQUEsSUFBdUMsUUFBUTtBQUFBLElBQU8sR0FFeEQsS0FBSyxZQUFZO0FBQUEsRUFBUztBQUcvQjsifQ==
68
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtc3B5LmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS90ZXN0aW5nL2V2ZW50LXNweS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJ0eXBlIFByb21pc2VXaXRoRXhlY3V0b3I8VCBleHRlbmRzIEV2ZW50PiA9IHtcbiAgcHJvbWlzZTogUHJvbWlzZTxUPjtcbiAgcmVzb2x2ZTogKHZhbHVlOiBUKSA9PiB2b2lkO1xuICByZWplY3Q6IChyZWFzb24/OiBhbnkpID0+IHZvaWQ7XG59O1xuXG4vKipcbiAqIFRoaXMgY2xhc3MgZXhpc3RzIHRvIGZhY2lsaXRhdGUgdGhlIHRlc3QgbWlncmF0aW9uIGZyb20gc3RlbmNpbCB0byBsaXQuXG4gKiBJdCBtaW1pY3MgdGhlIEFQSSB0aGF0IHN0ZW5jaWwgcHJvdmlkZWQgdG8gdGVzdCBldmVudHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBFdmVudFNweTxUIGV4dGVuZHMgRXZlbnQ+IHtcbiAgcHVibGljIGdldCBjb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9jb3VudDtcbiAgfVxuICBwcml2YXRlIF9jb3VudDogbnVtYmVyID0gMDtcblxuICBwdWJsaWMgZ2V0IGV2ZW50cygpOiBUW10ge1xuICAgIHJldHVybiB0aGlzLl9ldmVudHM7XG4gIH1cbiAgcHJpdmF0ZSBfZXZlbnRzOiBUW10gPSBbXTtcblxuICBwdWJsaWMgZ2V0IGZpcnN0RXZlbnQoKTogVCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmV2ZW50cy5sZW5ndGggPyB0aGlzLmV2ZW50c1swXSA6IG51bGw7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGxhc3RFdmVudCgpOiBUIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuZXZlbnRzLmxlbmd0aCA/IHRoaXMuZXZlbnRzW3RoaXMuZXZlbnRzLmxlbmd0aCAtIDFdIDogbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgX3Byb21pc2VFdmVudE1hcCA9IG5ldyBNYXA8bnVtYmVyLCBQcm9taXNlV2l0aEV4ZWN1dG9yPFQ+PigpO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9ldmVudDogc3RyaW5nLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX3RhcmdldDogTm9kZSB8IG51bGwgPSBudWxsLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX29wdGlvbnM6IEFkZEV2ZW50TGlzdGVuZXJPcHRpb25zIHwgbnVsbCA9IG51bGwsXG4gICkge1xuICAgIGlmICghdGhpcy5fdGFyZ2V0KSB7XG4gICAgICB0aGlzLl90YXJnZXQgPSBkb2N1bWVudDtcbiAgICB9XG5cbiAgICB0aGlzLl9saXN0ZW5Gb3JFdmVudCgpO1xuICB9XG5cbiAgcHVibGljIGNhbGxlZE9uY2UodGltZW91dD86IG51bWJlcik6IFByb21pc2U8VD4ge1xuICAgIHJldHVybiB0aGlzLmNhbGxlZFRpbWVzKDEsIHRpbWVvdXQpO1xuICB9XG5cbiAgcHVibGljIGNhbGxlZFRpbWVzKGNvdW50OiBudW1iZXIsIHRpbWVvdXQgPSAyMDAwKTogUHJvbWlzZTxUPiB7XG4gICAgaWYgKHRoaXMuY291bnQgPiBjb3VudCkge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KFxuICAgICAgICBgRXZlbnQgaGFzIGJlZW4gZW1pdHRlZCBtb3JlIHRoYW4gZXhwZWN0ZWQgKGV4cGVjdGVkICR7Y291bnR9LCBhY3R1YWwgJHt0aGlzLmNvdW50fWAsXG4gICAgICApO1xuICAgIH0gZWxzZSBpZiAodGhpcy5jb3VudCA9PT0gY291bnQpIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUodGhpcy5ldmVudHNbY291bnQgLSAxXSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLl9wcm9taXNlRXZlbnRNYXAuaGFzKGNvdW50KSkge1xuICAgICAgcmV0dXJuIHRoaXMuX3Byb21pc2VFdmVudE1hcC5nZXQoY291bnQpIS5wcm9taXNlO1xuICAgIH0gZWxzZSB7XG4gICAgICBsZXQgcmVzb2x2ZTogKHZhbHVlOiBUKSA9PiB2b2lkO1xuICAgICAgbGV0IHJlamVjdDogKHJlYXNvbj86IGFueSkgPT4gdm9pZDtcbiAgICAgIGNvbnN0IHByb21pc2UgPSBuZXcgUHJvbWlzZTxUPigocmVzb2x2ZUZ1bmN0aW9uLCByZWplY3RGdW5jdGlvbikgPT4ge1xuICAgICAgICByZXNvbHZlID0gcmVzb2x2ZUZ1bmN0aW9uO1xuICAgICAgICByZWplY3QgPSByZWplY3RGdW5jdGlvbjtcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBwcm9taXNlV2l0aEV4ZWN1dG9yID0ge1xuICAgICAgICBwcm9taXNlLFxuICAgICAgICByZXNvbHZlOiByZXNvbHZlISxcbiAgICAgICAgcmVqZWN0OiByZWplY3QhLFxuICAgICAgfTtcblxuICAgICAgdGhpcy5fcHJvbWlzZUV2ZW50TWFwLnNldChjb3VudCwgcHJvbWlzZVdpdGhFeGVjdXRvcik7XG5cbiAgICAgIHJldHVybiB0aGlzLl93cmFwUHJvbWlzZVdpdGhUaW1lb3V0KHByb21pc2VXaXRoRXhlY3V0b3IsIGNvdW50LCB0aW1lb3V0KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF93cmFwUHJvbWlzZVdpdGhUaW1lb3V0KFxuICAgIHByb21pc2VXaXRoRXhlY3V0b3I6IFByb21pc2VXaXRoRXhlY3V0b3I8VD4sXG4gICAgY291bnQ6IG51bWJlcixcbiAgICB0aW1lb3V0OiBudW1iZXIsXG4gICk6IFByb21pc2U8VD4ge1xuICAgIGNvbnN0IGNsZWFyVGltZW91dElkID0gc2V0VGltZW91dChcbiAgICAgICgpID0+IHByb21pc2VXaXRoRXhlY3V0b3IucmVqZWN0KGBhd2FpdGluZyBjYWxsZWRUaW1lcygke2NvdW50fSkgcmVzdWx0cyBpbiB0aW1lb3V0YCksXG4gICAgICB0aW1lb3V0LFxuICAgICk7XG4gICAgcHJvbWlzZVdpdGhFeGVjdXRvci5wcm9taXNlLnRoZW4oKCkgPT4gY2xlYXJUaW1lb3V0KGNsZWFyVGltZW91dElkKSk7XG4gICAgcmV0dXJuIHByb21pc2VXaXRoRXhlY3V0b3IucHJvbWlzZTtcbiAgfVxuXG4gIHByaXZhdGUgX2xpc3RlbkZvckV2ZW50KCk6IHZvaWQge1xuICAgIHRoaXMuX3RhcmdldD8uYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgIHRoaXMuX2V2ZW50LFxuICAgICAgKGV2KSA9PiB7XG4gICAgICAgIHRoaXMuX2V2ZW50cy5wdXNoKGV2IGFzIFQpO1xuICAgICAgICB0aGlzLl9jb3VudCsrO1xuICAgICAgICB0aGlzLl9wcm9taXNlRXZlbnRNYXAuZ2V0KHRoaXMuY291bnQpPy5yZXNvbHZlKGV2IGFzIFQpO1xuICAgICAgfSxcbiAgICAgIHRoaXMuX29wdGlvbnMgPz8gdW5kZWZpbmVkLFxuICAgICk7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiTUFVYSxTQUFRO0FBQUEsRUFDbkIsSUFBVyxRQUFLO0FBQ2QsV0FBTyxLQUFLO0FBQUEsRUFBQTtBQUFBLEVBSWQsSUFBVyxTQUFNO0FBQ2YsV0FBTyxLQUFLO0FBQUEsRUFBQTtBQUFBLEVBSWQsSUFBVyxhQUFVO0FBQ25CLFdBQU8sS0FBSyxPQUFPLFNBQVMsS0FBSyxPQUFPLENBQUMsSUFBSTtBQUFBLEVBQUE7QUFBQSxFQUcvQyxJQUFXLFlBQVM7QUFDbEIsV0FBTyxLQUFLLE9BQU8sU0FBUyxLQUFLLE9BQU8sS0FBSyxPQUFPLFNBQVMsQ0FBQyxJQUFJO0FBQUEsRUFBQTtBQUFBLEVBS3BFLFlBQ1UsUUFDUyxVQUF1QixNQUN2QixXQUEyQyxNQUFJO0FBRnhELFNBQUEsU0FBQTtBQUNTLFNBQUEsVUFBQTtBQUNBLFNBQUEsV0FBQTtBQXBCWCxTQUFBLFNBQWlCO0FBS2pCLFNBQUEsVUFBZSxDQUFBO0FBVWYsU0FBQSx1Q0FBdUIsSUFBQTtBQU83QixRQUFJLENBQUMsS0FBSyxTQUFTO0FBQ2pCLFdBQUssVUFBVTtBQUFBLElBQUE7QUFHakIsU0FBSyxnQkFBQTtBQUFBLEVBQWU7QUFBQSxFQUdmLFdBQVcsU0FBZ0I7QUFDaEMsV0FBTyxLQUFLLFlBQVksR0FBRyxPQUFPO0FBQUEsRUFBQTtBQUFBLEVBRzdCLFlBQVksT0FBZSxVQUFVLEtBQUk7QUFDOUMsUUFBSSxLQUFLLFFBQVEsT0FBTztBQUN0QixhQUFPLFFBQVEsT0FDYix1REFBdUQsS0FBSyxZQUFZLEtBQUssS0FBSyxFQUFFO0FBQUEsSUFBQSxXQUU3RSxLQUFLLFVBQVUsT0FBTztBQUMvQixhQUFPLFFBQVEsUUFBUSxLQUFLLE9BQU8sUUFBUSxDQUFDLENBQUM7QUFBQSxJQUFBLFdBQ3BDLEtBQUssaUJBQWlCLElBQUksS0FBSyxHQUFHO0FBQzNDLGFBQU8sS0FBSyxpQkFBaUIsSUFBSSxLQUFLLEVBQUc7QUFBQSxJQUFBLE9BQ3BDO0FBQ0wsVUFBSTtBQUNKLFVBQUk7QUFDSixZQUFNLFVBQVUsSUFBSSxRQUFXLENBQUMsaUJBQWlCLG1CQUFrQjtBQUNqRSxrQkFBVTtBQUNWLGlCQUFTO0FBQUEsTUFBQSxDQUNWO0FBRUQsWUFBTSxzQkFBc0I7QUFBQSxRQUMxQjtBQUFBLFFBQ0E7QUFBQSxRQUNBO0FBQUEsTUFBQTtBQUdGLFdBQUssaUJBQWlCLElBQUksT0FBTyxtQkFBbUI7QUFFcEQsYUFBTyxLQUFLLHdCQUF3QixxQkFBcUIsT0FBTyxPQUFPO0FBQUEsSUFBQTtBQUFBLEVBQ3pFO0FBQUEsRUFHTSx3QkFDTixxQkFDQSxPQUNBLFNBQWU7QUFFZixVQUFNLGlCQUFpQixXQUNyQixNQUFNLG9CQUFvQixPQUFPLHdCQUF3QixLQUFLLHNCQUFzQixHQUNwRixPQUFPO0FBRVQsd0JBQW9CLFFBQVEsS0FBSyxNQUFNLGFBQWEsY0FBYyxDQUFDO0FBQ25FLFdBQU8sb0JBQW9CO0FBQUEsRUFBQTtBQUFBLEVBR3JCLGtCQUFlO0FBQ3JCLFNBQUssU0FBUyxpQkFDWixLQUFLLFFBQ0wsQ0FBQyxPQUFNO0FBQ0wsV0FBSyxRQUFRLEtBQUssRUFBTztBQUN6QixXQUFLO0FBQ0wsV0FBSyxpQkFBaUIsSUFBSSxLQUFLLEtBQUssR0FBRyxRQUFRLEVBQU87QUFBQSxJQUFBLEdBRXhELEtBQUssWUFBWSxNQUFTO0FBQUEsRUFBQTtBQUcvQjsifQ==
@@ -12,4 +12,4 @@ export {
12
12
  describeIf,
13
13
  testIf
14
14
  };
15
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9jaGEtZXh0ZW5zaW9ucy5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvdGVzdGluZy9tb2NoYS1leHRlbnNpb25zLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRnVuYywgU3VpdGUsIFRlc3QgfSBmcm9tICdtb2NoYSc7XG5cbi8qKlxuICogU2tpcCB0aGUgYGRlc2NyaWJlYCBpZiB0aGUgY29uZGl0aW9uIGlzIG5vdCBtZXRcbiAqL1xuZXhwb3J0IGNvbnN0IGRlc2NyaWJlSWYgPSAoXG4gIGNvbmRpdGlvbjogYm9vbGVhbixcbiAgdGl0bGU6IHN0cmluZyxcbiAgZm46ICh0aGlzOiBTdWl0ZSkgPT4gdm9pZCxcbik6IFN1aXRlIHwgdm9pZCA9PiB7XG4gIGlmIChjb25kaXRpb24pIHtcbiAgICByZXR1cm4gTW9jaGEuZGVzY3JpYmUodGl0bGUsIGZuKTtcbiAgfVxufTtcblxuLyoqXG4gKiBTa2lwIHRoZSBgdGVzdGAgaWYgdGhlIGNvbmRpdGlvbiBpcyBub3QgbWV0XG4gKi9cbmV4cG9ydCBjb25zdCB0ZXN0SWYgPSAoY29uZGl0aW9uOiBib29sZWFuLCB0aXRsZTogc3RyaW5nLCBmbj86IEZ1bmMpOiBUZXN0IHwgdm9pZCA9PiB7XG4gIGlmIChjb25kaXRpb24pIHtcbiAgICByZXR1cm4gTW9jaGEudGVzdCh0aXRsZSwgZm4pO1xuICB9XG59O1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtPLE1BQU0sYUFBYSxDQUN4QixXQUNBLE9BQ0EsT0FDZ0I7QUFDaEIsTUFBSSxXQUFXO0FBQ04sV0FBQSxNQUFNLFNBQVMsT0FBTyxFQUFFO0FBQUEsRUFBQTtBQUVuQztBQUtPLE1BQU0sU0FBUyxDQUFDLFdBQW9CLE9BQWUsT0FBMEI7QUFDbEYsTUFBSSxXQUFXO0FBQ04sV0FBQSxNQUFNLEtBQUssT0FBTyxFQUFFO0FBQUEsRUFBQTtBQUUvQjsifQ==
15
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9jaGEtZXh0ZW5zaW9ucy5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvdGVzdGluZy9tb2NoYS1leHRlbnNpb25zLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRnVuYywgU3VpdGUsIFRlc3QgfSBmcm9tICdtb2NoYSc7XG5cbi8qKlxuICogU2tpcCB0aGUgYGRlc2NyaWJlYCBpZiB0aGUgY29uZGl0aW9uIGlzIG5vdCBtZXRcbiAqL1xuZXhwb3J0IGNvbnN0IGRlc2NyaWJlSWYgPSAoXG4gIGNvbmRpdGlvbjogYm9vbGVhbixcbiAgdGl0bGU6IHN0cmluZyxcbiAgZm46ICh0aGlzOiBTdWl0ZSkgPT4gdm9pZCxcbik6IFN1aXRlIHwgdm9pZCA9PiB7XG4gIGlmIChjb25kaXRpb24pIHtcbiAgICByZXR1cm4gTW9jaGEuZGVzY3JpYmUodGl0bGUsIGZuKTtcbiAgfVxufTtcblxuLyoqXG4gKiBTa2lwIHRoZSBgdGVzdGAgaWYgdGhlIGNvbmRpdGlvbiBpcyBub3QgbWV0XG4gKi9cbmV4cG9ydCBjb25zdCB0ZXN0SWYgPSAoY29uZGl0aW9uOiBib29sZWFuLCB0aXRsZTogc3RyaW5nLCBmbj86IEZ1bmMpOiBUZXN0IHwgdm9pZCA9PiB7XG4gIGlmIChjb25kaXRpb24pIHtcbiAgICByZXR1cm4gTW9jaGEudGVzdCh0aXRsZSwgZm4pO1xuICB9XG59O1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtPLE1BQU0sYUFBYSxDQUN4QixXQUNBLE9BQ0EsT0FDZ0I7QUFDaEIsTUFBSSxXQUFXO0FBQ2IsV0FBTyxNQUFNLFNBQVMsT0FBTyxFQUFFO0FBQUEsRUFBQTtBQUVuQztBQUtPLE1BQU0sU0FBUyxDQUFDLFdBQW9CLE9BQWUsT0FBMEI7QUFDbEYsTUFBSSxXQUFXO0FBQ2IsV0FBTyxNQUFNLEtBQUssT0FBTyxFQUFFO0FBQUEsRUFBQTtBQUUvQjsifQ==
@@ -16,4 +16,4 @@ async function waitForCondition(condition, interval = 30, timeoutInMilliseconds
16
16
  export {
17
17
  waitForCondition
18
18
  };
19
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FpdC1mb3ItY29uZGl0aW9uLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS90ZXN0aW5nL3dhaXQtZm9yLWNvbmRpdGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgYXN5bmMgZnVuY3Rpb24gd2FpdEZvckNvbmRpdGlvbihcbiAgY29uZGl0aW9uOiAoKSA9PiBib29sZWFuIHwgUHJvbWlzZTxib29sZWFuPixcbiAgaW50ZXJ2YWwgPSAzMCxcbiAgdGltZW91dEluTWlsbGlzZWNvbmRzID0gMiAqIDEwMDAsXG4pOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgY29uc3Qgc3RhcnQgPSBuZXcgRGF0ZSgpO1xuICBsZXQgY291bnRlciA9IDA7XG4gIGZ1bmN0aW9uIGNoZWNrQ29uZGl0aW9uKCk6IGJvb2xlYW4gfCBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb3VudGVyKys7XG4gICAgcmV0dXJuIGNvbmRpdGlvbigpO1xuICB9XG4gIHdoaWxlIChcbiAgICAhKGF3YWl0IGNoZWNrQ29uZGl0aW9uKCkpICYmXG4gICAgc3RhcnQuZ2V0VGltZSgpICsgdGltZW91dEluTWlsbGlzZWNvbmRzID49IG5ldyBEYXRlKCkuZ2V0VGltZSgpXG4gICkge1xuICAgIGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiBzZXRUaW1lb3V0KHJlc29sdmUsIGludGVydmFsKSk7XG4gIH1cbiAgaWYgKHN0YXJ0LmdldFRpbWUoKSArIHRpbWVvdXRJbk1pbGxpc2Vjb25kcyA8IG5ldyBEYXRlKCkuZ2V0VGltZSgpKSB7XG4gICAgcmV0dXJuIFByb21pc2UucmVqZWN0KFxuICAgICAgYHdhaXRGb3JDb25kaXRpb24gdGltZW91dDogJHtjb25kaXRpb24udG9TdHJpbmcoKX0sIGF0dGVtcHRzOiAke2NvdW50ZXJ9LCBzdGFydDogJHtzdGFydC5nZXRUaW1lKCl9LCBlbmQ6ICR7bmV3IERhdGUoKS5nZXRUaW1lKCl9YCxcbiAgICApO1xuICB9XG4gIHJldHVybiBQcm9taXNlLnJlc29sdmUodHJ1ZSk7XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZUFBc0IsaUJBQ3BCLFdBQ0EsV0FBVyxJQUNYLHdCQUF3QixJQUFJLEtBQUk7QUFFMUIsUUFBQSw0QkFBWTtBQUNsQixNQUFJLFVBQVU7QUFDZCxXQUFTLGlCQUFjO0FBQ3JCO0FBQ0EsV0FBTzs7QUFFVCxTQUNFLENBQUUsTUFBTSxvQkFDUixNQUFNLFFBQUEsSUFBWSwwQkFBNkIsb0JBQUEsUUFBTyxXQUN0RDtBQUNBLFVBQU0sSUFBSSxRQUFRLENBQUMsWUFBWSxXQUFXLFNBQVMsUUFBUSxDQUFDO0FBQUEsRUFBQTtBQUUxRCxNQUFBLE1BQU0sWUFBWSw2Q0FBNEIsS0FBTSxHQUFDLFdBQVc7QUFDbEUsV0FBTyxRQUFRLE9BQ2IsNkJBQTZCLFVBQVUsU0FBVSxDQUFBLGVBQWUsT0FBTyxZQUFZLE1BQU0sUUFBUyxDQUFBLFdBQVUsb0JBQUksUUFBTyxRQUFTLENBQUEsRUFBRTtBQUFBLEVBQUE7QUFHL0gsU0FBQSxRQUFRLFFBQVEsSUFBSTtBQUM3QjsifQ==
19
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FpdC1mb3ItY29uZGl0aW9uLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS90ZXN0aW5nL3dhaXQtZm9yLWNvbmRpdGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgYXN5bmMgZnVuY3Rpb24gd2FpdEZvckNvbmRpdGlvbihcbiAgY29uZGl0aW9uOiAoKSA9PiBib29sZWFuIHwgUHJvbWlzZTxib29sZWFuPixcbiAgaW50ZXJ2YWwgPSAzMCxcbiAgdGltZW91dEluTWlsbGlzZWNvbmRzID0gMiAqIDEwMDAsXG4pOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgY29uc3Qgc3RhcnQgPSBuZXcgRGF0ZSgpO1xuICBsZXQgY291bnRlciA9IDA7XG4gIGZ1bmN0aW9uIGNoZWNrQ29uZGl0aW9uKCk6IGJvb2xlYW4gfCBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb3VudGVyKys7XG4gICAgcmV0dXJuIGNvbmRpdGlvbigpO1xuICB9XG4gIHdoaWxlIChcbiAgICAhKGF3YWl0IGNoZWNrQ29uZGl0aW9uKCkpICYmXG4gICAgc3RhcnQuZ2V0VGltZSgpICsgdGltZW91dEluTWlsbGlzZWNvbmRzID49IG5ldyBEYXRlKCkuZ2V0VGltZSgpXG4gICkge1xuICAgIGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiBzZXRUaW1lb3V0KHJlc29sdmUsIGludGVydmFsKSk7XG4gIH1cbiAgaWYgKHN0YXJ0LmdldFRpbWUoKSArIHRpbWVvdXRJbk1pbGxpc2Vjb25kcyA8IG5ldyBEYXRlKCkuZ2V0VGltZSgpKSB7XG4gICAgcmV0dXJuIFByb21pc2UucmVqZWN0KFxuICAgICAgYHdhaXRGb3JDb25kaXRpb24gdGltZW91dDogJHtjb25kaXRpb24udG9TdHJpbmcoKX0sIGF0dGVtcHRzOiAke2NvdW50ZXJ9LCBzdGFydDogJHtzdGFydC5nZXRUaW1lKCl9LCBlbmQ6ICR7bmV3IERhdGUoKS5nZXRUaW1lKCl9YCxcbiAgICApO1xuICB9XG4gIHJldHVybiBQcm9taXNlLnJlc29sdmUodHJ1ZSk7XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZUFBc0IsaUJBQ3BCLFdBQ0EsV0FBVyxJQUNYLHdCQUF3QixJQUFJLEtBQUk7QUFFaEMsUUFBTSw0QkFBWSxLQUFBO0FBQ2xCLE1BQUksVUFBVTtBQUNkLFdBQVMsaUJBQWM7QUFDckI7QUFDQSxXQUFPLFVBQUE7QUFBQTtBQUVULFNBQ0UsQ0FBRSxNQUFNLG9CQUNSLE1BQU0sUUFBQSxJQUFZLDBCQUF5QixvQkFBSSxRQUFPLFdBQ3REO0FBQ0EsVUFBTSxJQUFJLFFBQVEsQ0FBQyxZQUFZLFdBQVcsU0FBUyxRQUFRLENBQUM7QUFBQSxFQUFBO0FBRTlELE1BQUksTUFBTSxZQUFZLDZDQUE0QixLQUFBLEdBQU8sV0FBVztBQUNsRSxXQUFPLFFBQVEsT0FDYiw2QkFBNkIsVUFBVSxTQUFBLENBQVUsZUFBZSxPQUFPLFlBQVksTUFBTSxRQUFBLENBQVMsV0FBVSxvQkFBSSxRQUFPLFFBQUEsQ0FBUyxFQUFFO0FBQUEsRUFBQTtBQUd0SSxTQUFPLFFBQVEsUUFBUSxJQUFJO0FBQzdCOyJ9
@@ -1,7 +1,6 @@
1
1
  import { isSafari } from "../dom.js";
2
2
  async function waitForImageReady(element, timeoutInMilliseconds = 2 * 1e3) {
3
- var _a;
4
- const imgElement = element.localName === "sbb-image" ? ((_a = element.shadowRoot) == null ? void 0 : _a.querySelector(".sbb-image__img")) ?? null : element;
3
+ const imgElement = element.localName === "sbb-image" ? element.shadowRoot?.querySelector(".sbb-image__img") ?? null : element;
5
4
  if (!imgElement) {
6
5
  throw new Error("img tag not found");
7
6
  }
@@ -28,4 +27,4 @@ async function waitForImageReady(element, timeoutInMilliseconds = 2 * 1e3) {
28
27
  export {
29
28
  waitForImageReady
30
29
  };
31
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FpdC1mb3ItaW1hZ2UtcmVhZHkuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL3Rlc3Rpbmcvd2FpdC1mb3ItaW1hZ2UtcmVhZHkudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBTYmJJbWFnZUVsZW1lbnQgfSBmcm9tICcuLi8uLi9pbWFnZS5qcyc7XG5pbXBvcnQgeyBpc1NhZmFyaSB9IGZyb20gJy4uL2RvbS5qcyc7XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB3YWl0Rm9ySW1hZ2VSZWFkeShcbiAgZWxlbWVudDogSFRNTEltYWdlRWxlbWVudCB8IFNiYkltYWdlRWxlbWVudCxcbiAgdGltZW91dEluTWlsbGlzZWNvbmRzID0gMiAqIDEwMDAsXG4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgaW1nRWxlbWVudCA9XG4gICAgZWxlbWVudC5sb2NhbE5hbWUgPT09ICdzYmItaW1hZ2UnXG4gICAgICA/IChlbGVtZW50LnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3I8SFRNTEltYWdlRWxlbWVudD4oJy5zYmItaW1hZ2VfX2ltZycpID8/IG51bGwpXG4gICAgICA6IChlbGVtZW50IGFzIEhUTUxJbWFnZUVsZW1lbnQpO1xuXG4gIGlmICghaW1nRWxlbWVudCkge1xuICAgIHRocm93IG5ldyBFcnJvcignaW1nIHRhZyBub3QgZm91bmQnKTtcbiAgfVxuXG4gIGlmICghaW1nRWxlbWVudC5jb21wbGV0ZSkge1xuICAgIGF3YWl0IG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIGNvbnN0IHRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHJlamVjdCgnaW1hZ2UgbG9hZGluZyB0aW1lb3V0JyksIHRpbWVvdXRJbk1pbGxpc2Vjb25kcyk7XG4gICAgICBpbWdFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCAoKSA9PiB7XG4gICAgICAgIGNsZWFyVGltZW91dCh0aW1lb3V0KTtcblxuICAgICAgICBpZiAoIWltZ0VsZW1lbnQuY29tcGxldGUgfHwgaXNTYWZhcmkpIHtcbiAgICAgICAgICBpbWdFbGVtZW50LmRlY29kZSgpLnRoZW4oKCkgPT4gcmVzb2x2ZSgpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICBpbWdFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2Vycm9yJywgKCkgPT4ge1xuICAgICAgICBjbGVhclRpbWVvdXQodGltZW91dCk7XG4gICAgICAgIHJlamVjdCgnaW1hZ2UgZXJyb3InKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9IGVsc2UgaWYgKGlzU2FmYXJpKSB7XG4gICAgYXdhaXQgaW1nRWxlbWVudC5kZWNvZGUoKTtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFHQSxlQUFzQixrQkFDcEIsU0FDQSx3QkFBd0IsSUFBSSxLQUFJOztBQUUxQixRQUFBLGFBQ0osUUFBUSxjQUFjLGdCQUNqQixhQUFRLGVBQVIsbUJBQW9CLGNBQWdDLHVCQUFzQixPQUMxRTtBQUVQLE1BQUksQ0FBQyxZQUFZO0FBQ1QsVUFBQSxJQUFJLE1BQU0sbUJBQW1CO0FBQUEsRUFBQTtBQUdqQyxNQUFBLENBQUMsV0FBVyxVQUFVO0FBQ3hCLFVBQU0sSUFBSSxRQUFjLENBQUMsU0FBUyxXQUFVO0FBQzFDLFlBQU0sVUFBVSxXQUFXLE1BQU0sT0FBTyx1QkFBdUIsR0FBRyxxQkFBcUI7QUFDNUUsaUJBQUEsaUJBQWlCLFFBQVEsTUFBSztBQUN2QyxxQkFBYSxPQUFPO0FBRWhCLFlBQUEsQ0FBQyxXQUFXLFlBQVksVUFBVTtBQUNwQyxxQkFBVyxPQUFRLEVBQUMsS0FBSyxNQUFNLFNBQVM7QUFBQSxRQUFBLE9BQ25DOzs7TUFFUCxDQUNEO0FBRVUsaUJBQUEsaUJBQWlCLFNBQVMsTUFBSztBQUN4QyxxQkFBYSxPQUFPO0FBQ3BCLGVBQU8sYUFBYTtBQUFBLE1BQUEsQ0FDckI7QUFBQSxJQUFBLENBQ0Y7QUFBQSxhQUNRLFVBQVU7QUFDbkIsVUFBTSxXQUFXLE9BQU07QUFBQSxFQUFBO0FBRTNCOyJ9
30
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FpdC1mb3ItaW1hZ2UtcmVhZHkuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL3Rlc3Rpbmcvd2FpdC1mb3ItaW1hZ2UtcmVhZHkudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBTYmJJbWFnZUVsZW1lbnQgfSBmcm9tICcuLi8uLi9pbWFnZS5qcyc7XG5pbXBvcnQgeyBpc1NhZmFyaSB9IGZyb20gJy4uL2RvbS5qcyc7XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB3YWl0Rm9ySW1hZ2VSZWFkeShcbiAgZWxlbWVudDogSFRNTEltYWdlRWxlbWVudCB8IFNiYkltYWdlRWxlbWVudCxcbiAgdGltZW91dEluTWlsbGlzZWNvbmRzID0gMiAqIDEwMDAsXG4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgaW1nRWxlbWVudCA9XG4gICAgZWxlbWVudC5sb2NhbE5hbWUgPT09ICdzYmItaW1hZ2UnXG4gICAgICA/IChlbGVtZW50LnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3I8SFRNTEltYWdlRWxlbWVudD4oJy5zYmItaW1hZ2VfX2ltZycpID8/IG51bGwpXG4gICAgICA6IChlbGVtZW50IGFzIEhUTUxJbWFnZUVsZW1lbnQpO1xuXG4gIGlmICghaW1nRWxlbWVudCkge1xuICAgIHRocm93IG5ldyBFcnJvcignaW1nIHRhZyBub3QgZm91bmQnKTtcbiAgfVxuXG4gIGlmICghaW1nRWxlbWVudC5jb21wbGV0ZSkge1xuICAgIGF3YWl0IG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIGNvbnN0IHRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHJlamVjdCgnaW1hZ2UgbG9hZGluZyB0aW1lb3V0JyksIHRpbWVvdXRJbk1pbGxpc2Vjb25kcyk7XG4gICAgICBpbWdFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCAoKSA9PiB7XG4gICAgICAgIGNsZWFyVGltZW91dCh0aW1lb3V0KTtcblxuICAgICAgICBpZiAoIWltZ0VsZW1lbnQuY29tcGxldGUgfHwgaXNTYWZhcmkpIHtcbiAgICAgICAgICBpbWdFbGVtZW50LmRlY29kZSgpLnRoZW4oKCkgPT4gcmVzb2x2ZSgpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICBpbWdFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2Vycm9yJywgKCkgPT4ge1xuICAgICAgICBjbGVhclRpbWVvdXQodGltZW91dCk7XG4gICAgICAgIHJlamVjdCgnaW1hZ2UgZXJyb3InKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9IGVsc2UgaWYgKGlzU2FmYXJpKSB7XG4gICAgYXdhaXQgaW1nRWxlbWVudC5kZWNvZGUoKTtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFHQSxlQUFzQixrQkFDcEIsU0FDQSx3QkFBd0IsSUFBSSxLQUFJO0FBRWhDLFFBQU0sYUFDSixRQUFRLGNBQWMsY0FDakIsUUFBUSxZQUFZLGNBQWdDLGlCQUFpQixLQUFLLE9BQzFFO0FBRVAsTUFBSSxDQUFDLFlBQVk7QUFDZixVQUFNLElBQUksTUFBTSxtQkFBbUI7QUFBQSxFQUFBO0FBR3JDLE1BQUksQ0FBQyxXQUFXLFVBQVU7QUFDeEIsVUFBTSxJQUFJLFFBQWMsQ0FBQyxTQUFTLFdBQVU7QUFDMUMsWUFBTSxVQUFVLFdBQVcsTUFBTSxPQUFPLHVCQUF1QixHQUFHLHFCQUFxQjtBQUN2RixpQkFBVyxpQkFBaUIsUUFBUSxNQUFLO0FBQ3ZDLHFCQUFhLE9BQU87QUFFcEIsWUFBSSxDQUFDLFdBQVcsWUFBWSxVQUFVO0FBQ3BDLHFCQUFXLE9BQUEsRUFBUyxLQUFLLE1BQU0sU0FBUztBQUFBLFFBQUEsT0FDbkM7QUFDTCxrQkFBQTtBQUFBO01BQ0YsQ0FDRDtBQUVELGlCQUFXLGlCQUFpQixTQUFTLE1BQUs7QUFDeEMscUJBQWEsT0FBTztBQUNwQixlQUFPLGFBQWE7QUFBQSxNQUFBLENBQ3JCO0FBQUEsSUFBQSxDQUNGO0FBQUEsRUFBQSxXQUNRLFVBQVU7QUFDbkIsVUFBTSxXQUFXLE9BQUE7QUFBQSxFQUFNO0FBRTNCOyJ9
@@ -3,9 +3,8 @@ const isReactiveElement = (element) => {
3
3
  };
4
4
  const promiseComplete = Promise.resolve();
5
5
  const waitForLitRender = async (node) => {
6
- var _a, _b;
7
6
  const root = await node;
8
- (_b = (_a = root.parentElement ?? root).querySelectorAll) == null ? void 0 : _b.call(_a, "[defer-hydration]").forEach((e) => e.removeAttribute("defer-hydration"));
7
+ (root.parentElement ?? root).querySelectorAll?.("[defer-hydration]").forEach((e) => e.removeAttribute("defer-hydration"));
9
8
  const completables = [root, ...root.querySelectorAll("*")].filter(isReactiveElement).map((e) => [
10
9
  e.updateComplete,
11
10
  e.hydrationComplete ?? promiseComplete,
@@ -18,4 +17,4 @@ export {
18
17
  isReactiveElement,
19
18
  waitForLitRender
20
19
  };
21
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FpdC1mb3ItcmVuZGVyLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS90ZXN0aW5nL3dhaXQtZm9yLXJlbmRlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJlYWN0aXZlRWxlbWVudCB9IGZyb20gJ2xpdCc7XG5cbmltcG9ydCB0eXBlIHsgU2JiSHlkcmF0aW9uTWl4aW5UeXBlIH0gZnJvbSAnLi4vbWl4aW5zLmpzJztcblxuLyoqXG4gKiBUZXN0cyBpZiBhbiBlbGVtZW50IGlzIGEgTGl0IGBSZWFjdGl2ZUVsZW1lbnRgLlxuICpcbiAqIEBwYXJhbSBlbGVtZW50IHRoZSBlbGVtZW50IHRvIHRlc3QuXG4gKiBAcmV0dXJuIHRydWUgaWYgdGhlIGVsZW1lbnQgaXMgYSBgUmVhY3RpdmVFbGVtZW50YC5cbiAqL1xuZXhwb3J0IGNvbnN0IGlzUmVhY3RpdmVFbGVtZW50ID0gKFxuICBlbGVtZW50OiBFbGVtZW50LFxuKTogZWxlbWVudCBpcyBSZWFjdGl2ZUVsZW1lbnQgJiBQYXJ0aWFsPFNiYkh5ZHJhdGlvbk1peGluVHlwZT4gPT4ge1xuICByZXR1cm4gQm9vbGVhbigoZWxlbWVudCBhcyBSZWFjdGl2ZUVsZW1lbnQpLnVwZGF0ZUNvbXBsZXRlKTtcbn07XG5cbmNvbnN0IHByb21pc2VDb21wbGV0ZSA9IFByb21pc2UucmVzb2x2ZSgpO1xuXG4vKipcbiAqIFdhaXRzIGZvciBhbGwgTGl0IGBSZWFjdGl2ZUVsZW1lbnRgIGNoaWxkcmVuIG9mIHRoZSBnaXZlbiBwYXJlbnQgbm9kZSB0b1xuICogZmluaXNoIHJlbmRlcmluZy5cbiAqXG4gKiBAcGFyYW0gcm9vdCBhIHBhcmVudCBub2RlIHRvIHdhaXQgZm9yIHJlbmRlcmluZyBvbi5cbiAqL1xuZXhwb3J0IGNvbnN0IHdhaXRGb3JMaXRSZW5kZXIgPSBhc3luYyA8XG4gIFQgZXh0ZW5kcyBIVE1MRWxlbWVudCB8IERvY3VtZW50RnJhZ21lbnQgPSBIVE1MRWxlbWVudCB8IERvY3VtZW50RnJhZ21lbnQsXG4+KFxuICBub2RlOiBUIHwgUHJvbWlzZTxUPixcbik6IFByb21pc2U8VD4gPT4ge1xuICBjb25zdCByb290ID0gYXdhaXQgbm9kZTtcbiAgKHJvb3QucGFyZW50RWxlbWVudCA/PyByb290KVxuICAgIC5xdWVyeVNlbGVjdG9yQWxsPy4oJ1tkZWZlci1oeWRyYXRpb25dJylcbiAgICAuZm9yRWFjaCgoZSkgPT4gZS5yZW1vdmVBdHRyaWJ1dGUoJ2RlZmVyLWh5ZHJhdGlvbicpKTtcbiAgY29uc3QgY29tcGxldGFibGVzID0gW3Jvb3QgYXMgRWxlbWVudCwgLi4ucm9vdC5xdWVyeVNlbGVjdG9yQWxsKCcqJyldXG4gICAgLmZpbHRlcihpc1JlYWN0aXZlRWxlbWVudClcbiAgICAubWFwKChlKSA9PiBbXG4gICAgICBlLnVwZGF0ZUNvbXBsZXRlLFxuICAgICAgZS5oeWRyYXRpb25Db21wbGV0ZSA/PyBwcm9taXNlQ29tcGxldGUsXG4gICAgICB3YWl0Rm9yTGl0UmVuZGVyKGUucmVuZGVyUm9vdCksXG4gICAgXSlcbiAgICAuZmxhdChJbmZpbml0eSk7XG4gIGF3YWl0IFByb21pc2UuYWxsKGNvbXBsZXRhYmxlcyk7XG4gIHJldHVybiByb290O1xufTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFVYSxNQUFBLG9CQUFvQixDQUMvQixZQUMrRDtBQUN4RCxTQUFBLFFBQVMsUUFBNEIsY0FBYztBQUM1RDtBQUVBLE1BQU0sa0JBQWtCLFFBQVE7QUFRbkIsTUFBQSxtQkFBbUIsT0FHOUIsU0FDYztBQWxCSDtBQW1CWCxRQUFNLE9BQU8sTUFBTTtBQUNuQixHQUFDLGdCQUFLLGlCQUFpQixNQUNwQixxQkFERiw0QkFDcUIscUJBQ25CLFFBQVEsQ0FBQyxNQUFNLEVBQUUsZ0JBQWdCLGlCQUFpQjtBQUNyRCxRQUFNLGVBQWUsQ0FBQyxNQUFpQixHQUFHLEtBQUssaUJBQWlCLEdBQUcsQ0FBQyxFQUNqRSxPQUFPLGlCQUFpQixFQUN4QixJQUFJLENBQUMsTUFBTTtBQUFBLElBQ1YsRUFBRTtBQUFBLElBQ0YsRUFBRSxxQkFBcUI7QUFBQSxJQUN2QixpQkFBaUIsRUFBRSxVQUFVO0FBQUEsRUFBQSxDQUM5QixFQUNBLEtBQUssUUFBUTtBQUNWLFFBQUEsUUFBUSxJQUFJLFlBQVk7QUFDdkIsU0FBQTtBQUNUOyJ9
20
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FpdC1mb3ItcmVuZGVyLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS90ZXN0aW5nL3dhaXQtZm9yLXJlbmRlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJlYWN0aXZlRWxlbWVudCB9IGZyb20gJ2xpdCc7XG5cbmltcG9ydCB0eXBlIHsgU2JiSHlkcmF0aW9uTWl4aW5UeXBlIH0gZnJvbSAnLi4vbWl4aW5zLmpzJztcblxuLyoqXG4gKiBUZXN0cyBpZiBhbiBlbGVtZW50IGlzIGEgTGl0IGBSZWFjdGl2ZUVsZW1lbnRgLlxuICpcbiAqIEBwYXJhbSBlbGVtZW50IHRoZSBlbGVtZW50IHRvIHRlc3QuXG4gKiBAcmV0dXJuIHRydWUgaWYgdGhlIGVsZW1lbnQgaXMgYSBgUmVhY3RpdmVFbGVtZW50YC5cbiAqL1xuZXhwb3J0IGNvbnN0IGlzUmVhY3RpdmVFbGVtZW50ID0gKFxuICBlbGVtZW50OiBFbGVtZW50LFxuKTogZWxlbWVudCBpcyBSZWFjdGl2ZUVsZW1lbnQgJiBQYXJ0aWFsPFNiYkh5ZHJhdGlvbk1peGluVHlwZT4gPT4ge1xuICByZXR1cm4gQm9vbGVhbigoZWxlbWVudCBhcyBSZWFjdGl2ZUVsZW1lbnQpLnVwZGF0ZUNvbXBsZXRlKTtcbn07XG5cbmNvbnN0IHByb21pc2VDb21wbGV0ZSA9IFByb21pc2UucmVzb2x2ZSgpO1xuXG4vKipcbiAqIFdhaXRzIGZvciBhbGwgTGl0IGBSZWFjdGl2ZUVsZW1lbnRgIGNoaWxkcmVuIG9mIHRoZSBnaXZlbiBwYXJlbnQgbm9kZSB0b1xuICogZmluaXNoIHJlbmRlcmluZy5cbiAqXG4gKiBAcGFyYW0gcm9vdCBhIHBhcmVudCBub2RlIHRvIHdhaXQgZm9yIHJlbmRlcmluZyBvbi5cbiAqL1xuZXhwb3J0IGNvbnN0IHdhaXRGb3JMaXRSZW5kZXIgPSBhc3luYyA8XG4gIFQgZXh0ZW5kcyBIVE1MRWxlbWVudCB8IERvY3VtZW50RnJhZ21lbnQgPSBIVE1MRWxlbWVudCB8IERvY3VtZW50RnJhZ21lbnQsXG4+KFxuICBub2RlOiBUIHwgUHJvbWlzZTxUPixcbik6IFByb21pc2U8VD4gPT4ge1xuICBjb25zdCByb290ID0gYXdhaXQgbm9kZTtcbiAgKHJvb3QucGFyZW50RWxlbWVudCA/PyByb290KVxuICAgIC5xdWVyeVNlbGVjdG9yQWxsPy4oJ1tkZWZlci1oeWRyYXRpb25dJylcbiAgICAuZm9yRWFjaCgoZSkgPT4gZS5yZW1vdmVBdHRyaWJ1dGUoJ2RlZmVyLWh5ZHJhdGlvbicpKTtcbiAgY29uc3QgY29tcGxldGFibGVzID0gW3Jvb3QgYXMgRWxlbWVudCwgLi4ucm9vdC5xdWVyeVNlbGVjdG9yQWxsKCcqJyldXG4gICAgLmZpbHRlcihpc1JlYWN0aXZlRWxlbWVudClcbiAgICAubWFwKChlKSA9PiBbXG4gICAgICBlLnVwZGF0ZUNvbXBsZXRlLFxuICAgICAgZS5oeWRyYXRpb25Db21wbGV0ZSA/PyBwcm9taXNlQ29tcGxldGUsXG4gICAgICB3YWl0Rm9yTGl0UmVuZGVyKGUucmVuZGVyUm9vdCksXG4gICAgXSlcbiAgICAuZmxhdChJbmZpbml0eSk7XG4gIGF3YWl0IFByb21pc2UuYWxsKGNvbXBsZXRhYmxlcyk7XG4gIHJldHVybiByb290O1xufTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFVTyxNQUFNLG9CQUFvQixDQUMvQixZQUMrRDtBQUMvRCxTQUFPLFFBQVMsUUFBNEIsY0FBYztBQUM1RDtBQUVBLE1BQU0sa0JBQWtCLFFBQVEsUUFBQTtBQVF6QixNQUFNLG1CQUFtQixPQUc5QixTQUNjO0FBQ2QsUUFBTSxPQUFPLE1BQU07QUFDbkIsR0FBQyxLQUFLLGlCQUFpQixNQUNwQixtQkFBbUIsbUJBQW1CLEVBQ3RDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsZ0JBQWdCLGlCQUFpQixDQUFDO0FBQ3RELFFBQU0sZUFBZSxDQUFDLE1BQWlCLEdBQUcsS0FBSyxpQkFBaUIsR0FBRyxDQUFDLEVBQ2pFLE9BQU8saUJBQWlCLEVBQ3hCLElBQUksQ0FBQyxNQUFNO0FBQUEsSUFDVixFQUFFO0FBQUEsSUFDRixFQUFFLHFCQUFxQjtBQUFBLElBQ3ZCLGlCQUFpQixFQUFFLFVBQVU7QUFBQSxFQUFBLENBQzlCLEVBQ0EsS0FBSyxRQUFRO0FBQ2hCLFFBQU0sUUFBUSxJQUFJLFlBQVk7QUFDOUIsU0FBTztBQUNUOyJ9
@@ -1,5 +1,12 @@
1
1
  import { CSSResultGroup, LitElement, PropertyDeclaration } from 'lit';
2
2
  import { SbbDatepickerElement } from '../datepicker.js';
3
+ /**
4
+ * Interface for elements that can be associated with a date input.
5
+ * Implementing classes must also have a static property `sbbDateInputAssociated` set to `true`.
6
+ */
7
+ export interface SbbDateInputAssociated<T> {
8
+ input: SbbDateInputElement<T> | null;
9
+ }
3
10
  declare const SbbDateInputElement_base: import('../core/mixins.js').AbstractConstructor<import('../core/mixins.js').SbbFormAssociatedInputMixinType> & typeof LitElement;
4
11
  /**
5
12
  * Custom input for a date.
@@ -28,7 +35,11 @@ export declare class SbbDateInputElement<T = Date> extends SbbDateInputElement_b
28
35
  * Accepts an ISO8601 formatted string (e.g. 2024-12-24) as attribute.
29
36
  */
30
37
  accessor max: T | null;
31
- /** A function used to filter out dates. */
38
+ /**
39
+ * A function used to filter out dates.
40
+ * It is strongly recommended to use min and max dates alongside
41
+ * this filter.
42
+ */
32
43
  set dateFilter(value: (date: T | null) => boolean);
33
44
  get dateFilter(): (date: T | null) => boolean;
34
45
  /**
@@ -50,6 +61,10 @@ export declare class SbbDateInputElement<T = Date> extends SbbDateInputElement_b
50
61
  */
51
62
  get datepicker(): SbbDatepickerElement<T> | null;
52
63
  constructor();
64
+ /**
65
+ * Attempts to resolve the associated date input with the given element.
66
+ */
67
+ static resolveAssociation<T>(host: HTMLElement & SbbDateInputAssociated<T>): void;
53
68
  private _dateFilter;
54
69
  connectedCallback(): void;
55
70
  requestUpdate(name?: PropertyKey, oldValue?: unknown, options?: PropertyDeclaration): void;
@@ -1 +1 @@
1
- {"version":3,"file":"date-input.component.d.ts","sourceRoot":"","sources":["../../../../src/elements/date-input/date-input.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAY,UAAU,EAAE,KAAK,mBAAmB,EAAE,MAAM,KAAK,CAAC;AAa1F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;;AAY7D;;;GAGG;AACH,qBAEM,mBAAmB,CAAC,CAAC,GAAG,IAAI,CAAE,SAAQ,wBAAuC;IACjF,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD;;;;;OAKG;IACH,IAAoB,KAAK,CAAC,KAAK,EAAE,MAAM,EAQtC;IACD,IAAoB,KAAK,IAAI,MAAM,CAElC;IAED,IACW,WAAW,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,EAsBrC;IACD,IAAW,WAAW,IAAI,CAAC,GAAG,IAAI,CAIjC;IACD,OAAO,CAAC,YAAY,CAAC,CAAW;IAEhC;;;OAGG;IACH,SAEgB,GAAG,EAAE,CAAC,GAAG,IAAI,CAAQ;IAErC;;;OAGG;IACH,SAEgB,GAAG,EAAE,CAAC,GAAG,IAAI,CAAQ;IAErC,2CAA2C;IAC3C,IACW,UAAU,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,KAAK,OAAO,EAKvD;IACD,IAAW,UAAU,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,KAAK,OAAO,CAEnD;IAED;;;;OAIG;IACH,SACgB,YAAY,EAAE,OAAO,GAAG,MAAM,CAAW;IAEzD;;;OAGG;IACH,OAAO,CAAC,WAAW,CAAC,CAAqB;IACzC,OAAO,CAAC,YAAY,CAA4E;IAChG,OAAO,CAAC,mBAAmB,CAAS;IAEpC;;;OAGG;IACH,IAAW,UAAU,IAAI,oBAAoB,CAAC,CAAC,CAAC,GAAG,IAAI,CAEtD;;IAOD,OAAO,CAAC,WAAW,CAA2C;IAE9C,iBAAiB,IAAI,IAAI;IAQzB,aAAa,CAC3B,IAAI,CAAC,EAAE,WAAW,EAClB,QAAQ,CAAC,EAAE,OAAO,EAClB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,IAAI;cAiBY,eAAe,IAAI,IAAI;IAO1C,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,sBAAsB;IAS9B,OAAO,CAAC,WAAW;cAIA,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,SAAS,GAAG,OAAO;cAOtD,QAAQ,IAAI,IAAI;IAiCnC,OAAO,CAAC,qBAAqB;CAK9B;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,gBAAgB,EAAE,mBAAmB,CAAC;KACvC;IAED,UAAU,mBAAmB;QAC3B,aAAa,EAAE,OAAO,CAAC;KACxB;CACF"}
1
+ {"version":3,"file":"date-input.component.d.ts","sourceRoot":"","sources":["../../../../src/elements/date-input/date-input.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAY,UAAU,EAAE,KAAK,mBAAmB,EAAE,MAAM,KAAK,CAAC;AAa1F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAY7D;;;GAGG;AACH,MAAM,WAAW,sBAAsB,CAAC,CAAC;IACvC,KAAK,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;CACtC;;AAED;;;GAGG;AACH,qBAEM,mBAAmB,CAAC,CAAC,GAAG,IAAI,CAAE,SAAQ,wBAAuC;IACjF,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD;;;;;OAKG;IACH,IAAoB,KAAK,CAAC,KAAK,EAAE,MAAM,EAQtC;IACD,IAAoB,KAAK,IAAI,MAAM,CAElC;IAED,IACW,WAAW,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,EAsBrC;IACD,IAAW,WAAW,IAAI,CAAC,GAAG,IAAI,CAIjC;IACD,OAAO,CAAC,YAAY,CAAC,CAAW;IAEhC;;;OAGG;IACH,SAEgB,GAAG,EAAE,CAAC,GAAG,IAAI,CAAQ;IAErC;;;OAGG;IACH,SAEgB,GAAG,EAAE,CAAC,GAAG,IAAI,CAAQ;IAErC;;;;OAIG;IACH,IACW,UAAU,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,KAAK,OAAO,EAEvD;IACD,IAAW,UAAU,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,KAAK,OAAO,CAEnD;IAED;;;;OAIG;IACH,SACgB,YAAY,EAAE,OAAO,GAAG,MAAM,CAAW;IAEzD;;;OAGG;IACH,OAAO,CAAC,WAAW,CAAC,CAAqB;IACzC,OAAO,CAAC,YAAY,CAA4E;IAChG,OAAO,CAAC,mBAAmB,CAAS;IAEpC;;;OAGG;IACH,IAAW,UAAU,IAAI,oBAAoB,CAAC,CAAC,CAAC,GAAG,IAAI,CAEtD;;IAOD;;OAEG;WACW,kBAAkB,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,GAAG,sBAAsB,CAAC,CAAC,CAAC,GAAG,IAAI;IAaxF,OAAO,CAAC,WAAW,CAA2C;IAE9C,iBAAiB,IAAI,IAAI;IAmBzB,aAAa,CAC3B,IAAI,CAAC,EAAE,WAAW,EAClB,QAAQ,CAAC,EAAE,OAAO,EAClB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,IAAI;cAiBY,eAAe,IAAI,IAAI;IAO1C,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,sBAAsB;IAS9B,OAAO,CAAC,WAAW;cAIA,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,SAAS,GAAG,OAAO;cAOtD,QAAQ,IAAI,IAAI;IAiCnC,OAAO,CAAC,qBAAqB;CAK9B;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,gBAAgB,EAAE,mBAAmB,CAAC;KACvC;IAED,UAAU,mBAAmB;QAC3B,aAAa,EAAE,OAAO,CAAC;KACxB;CACF"}
@@ -71,7 +71,6 @@ let SbbDateInputElement = (() => {
71
71
  let _weekdayStyle_extraInitializers = [];
72
72
  _a = class extends _classSuper {
73
73
  constructor() {
74
- var _a2, _b;
75
74
  super();
76
75
  __privateAdd(this, _min_accessor_storage);
77
76
  __privateAdd(this, _max_accessor_storage);
@@ -81,10 +80,10 @@ let SbbDateInputElement = (() => {
81
80
  __privateSet(this, _max_accessor_storage, (__runInitializers(this, _min_extraInitializers), __runInitializers(this, _max_initializers, null)));
82
81
  __privateSet(this, _weekdayStyle_accessor_storage, (__runInitializers(this, _max_extraInitializers), __runInitializers(this, _weekdayStyle_initializers, "short")));
83
82
  this._valueCache = __runInitializers(this, _weekdayStyle_extraInitializers);
84
- this._dateAdapter = ((_a2 = readConfig().datetime) == null ? void 0 : _a2.dateAdapter) ?? defaultDateAdapter;
83
+ this._dateAdapter = readConfig().datetime?.dateAdapter ?? defaultDateAdapter;
85
84
  this._placeholderMutable = false;
86
85
  this._dateFilter = () => true;
87
- (_b = this.addEventListener) == null ? void 0 : _b.call(this, "change", () => this._updateValueDateFormat(), { capture: true });
86
+ this.addEventListener?.("change", () => this._updateValueDateFormat(), { capture: true });
88
87
  }
89
88
  /**
90
89
  * The value of the date input. Reflects the current text value
@@ -138,12 +137,13 @@ let SbbDateInputElement = (() => {
138
137
  set max(value) {
139
138
  __privateSet(this, _max_accessor_storage, value);
140
139
  }
141
- /** A function used to filter out dates. */
140
+ /**
141
+ * A function used to filter out dates.
142
+ * It is strongly recommended to use min and max dates alongside
143
+ * this filter.
144
+ */
142
145
  set dateFilter(value) {
143
146
  this._dateFilter = value;
144
- if (this.datepicker) {
145
- this.datepicker.dateFilter = value;
146
- }
147
147
  }
148
148
  get dateFilter() {
149
149
  return this._dateFilter;
@@ -166,12 +166,30 @@ let SbbDateInputElement = (() => {
166
166
  get datepicker() {
167
167
  return this.parentElement.querySelector("sbb-datepicker");
168
168
  }
169
+ /**
170
+ * Attempts to resolve the associated date input with the given element.
171
+ */
172
+ static resolveAssociation(host) {
173
+ if (host.hasAttribute("input") || host.input) {
174
+ return;
175
+ }
176
+ const input = host.closest("sbb-form-field")?.querySelector("sbb-date-input");
177
+ if (input) {
178
+ host.input = input;
179
+ }
180
+ }
169
181
  connectedCallback() {
170
182
  super.connectedCallback();
171
183
  if (!this.placeholder) {
172
184
  this._placeholderMutable = true;
173
185
  this.placeholder = i18nDatePickerPlaceholder[this.language.current];
174
186
  }
187
+ for (const child of Array.from(this.closest("sbb-form-field")?.children ?? [])) {
188
+ customElements.upgrade?.(child);
189
+ if (child.constructor.sbbDateInputAssociated && !child.hasAttribute("input") && !child.input) {
190
+ child.input = this;
191
+ }
192
+ }
175
193
  }
176
194
  requestUpdate(name, oldValue, options) {
177
195
  super.requestUpdate(name, oldValue, options);
@@ -183,7 +201,7 @@ let SbbDateInputElement = (() => {
183
201
  } else if (name === "weekdayStyle") {
184
202
  this._updateValueDateFormat();
185
203
  }
186
- if (this.hasUpdated) {
204
+ if (this.isConnected) {
187
205
  this.dispatchEvent(new Event("ɵchange"));
188
206
  }
189
207
  }
@@ -193,8 +211,7 @@ let SbbDateInputElement = (() => {
193
211
  this.internals.setFormValue(formValue, this.value);
194
212
  }
195
213
  _tryParseValue(value = this.value) {
196
- var _a2;
197
- if (((_a2 = this._valueCache) == null ? void 0 : _a2[0]) !== value) {
214
+ if (this._valueCache?.[0] !== value) {
198
215
  this._valueAsDate = this._dateAdapter.parse(value);
199
216
  this._valueCache = [value, this._valueAsDate];
200
217
  }
@@ -263,4 +280,4 @@ let SbbDateInputElement = (() => {
263
280
  export {
264
281
  SbbDateInputElement
265
282
  };
266
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9kYXRlLWlucHV0L2RhdGUtaW5wdXQuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgQ1NTUmVzdWx0R3JvdXAsIGlzU2VydmVyLCBMaXRFbGVtZW50LCB0eXBlIFByb3BlcnR5RGVjbGFyYXRpb24gfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IHJlYWRDb25maWcgfSBmcm9tICcuLi9jb3JlL2NvbmZpZy5qcyc7XG5pbXBvcnQgeyB0eXBlIERhdGVBZGFwdGVyLCBkZWZhdWx0RGF0ZUFkYXB0ZXIgfSBmcm9tICcuLi9jb3JlL2RhdGV0aW1lLmpzJztcbmltcG9ydCB7IHBsYWluRGF0ZSwgcGxhaW5EYXRlQ29udmVydGVyIH0gZnJvbSAnLi4vY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7XG4gIGkxOG5EYXRlSW52YWxpZCxcbiAgaTE4bkRhdGVNYXgsXG4gIGkxOG5EYXRlTWluLFxuICBpMThuRGF0ZVBpY2tlclBsYWNlaG9sZGVyLFxufSBmcm9tICcuLi9jb3JlL2kxOG4uanMnO1xuaW1wb3J0IHsgU2JiRm9ybUFzc29jaWF0ZWRJbnB1dE1peGluIH0gZnJvbSAnLi4vY29yZS9taXhpbnMuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJEYXRlcGlja2VyRWxlbWVudCB9IGZyb20gJy4uL2RhdGVwaWNrZXIuanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9kYXRlLWlucHV0LnNjc3M/bGl0JmlubGluZSc7XG5cbi8vIEFzIGRvY3VtZW50ZWQgaW4gZm9ybS1hc3NvY2lhdGVkLW1peGluLnRzLCB3ZSBleHRlbmQgdGhlIHByb3RvdHlwZSBvZlxuLy8gVmFsaWRpdHlTdGF0ZSB3aXRoIGN1c3RvbSBlcnJvciBzdGF0ZXMgZm9yIHRoZSBkYXRlIGlucHV0LlxuT2JqZWN0LmFzc2lnbihWYWxpZGl0eVN0YXRlLnByb3RvdHlwZSwge1xuICBnZXQgc2JiRGF0ZUZpbHRlcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH0sXG59KTtcblxuLyoqXG4gKiBDdXN0b20gaW5wdXQgZm9yIGEgZGF0ZS5cbiAqIEBvdmVycmlkZVR5cGUgdmFsdWUgLSBzdHJpbmdcbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLWRhdGUtaW5wdXQnKVxuY2xhc3MgU2JiRGF0ZUlucHV0RWxlbWVudDxUID0gRGF0ZT4gZXh0ZW5kcyBTYmJGb3JtQXNzb2NpYXRlZElucHV0TWl4aW4oTGl0RWxlbWVudCkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcblxuICAvKipcbiAgICogVGhlIHZhbHVlIG9mIHRoZSBkYXRlIGlucHV0LiBSZWZsZWN0cyB0aGUgY3VycmVudCB0ZXh0IHZhbHVlXG4gICAqIG9mIHRoaXMgaW5wdXQuXG4gICAqIFRoZSBhdHRyaWJ1dGUgYHZhbHVlYCBBY2NlcHRzIElTTzg2MDEgZm9ybWF0dGVkIHZhbHVlcywgd2hpY2ggd2lsbCBiZVxuICAgKiBmb3JtYXR0ZWQgYWNjb3JkaW5nIHRvIHRoZSBjdXJyZW50IGxvY2FsZS5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBzZXQgdmFsdWUodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX3RyeVBhcnNlVmFsdWUodmFsdWUpO1xuICAgIC8vIEFzIGxvbmcgYXMgdGhpcyBlbGVtZW50IGhhcyBmb2N1cyB3ZSBkZWxheSBhdXRvbWF0aWNhbGx5IHVwZGF0aW5nXG4gICAgLy8gdGhlIHZhbHVlIHdpdGggdGhlIGZvcm1hdHRlZCBzdHJpbmcgb2YgdGhlIHBhcnNlZCBkYXRlLlxuICAgIGlmICghaXNTZXJ2ZXIgJiYgIXRoaXMubWF0Y2hlcygnOmZvY3VzJykgJiYgdGhpcy52YWx1ZUFzRGF0ZSAhPT0gbnVsbCkge1xuICAgICAgdmFsdWUgPSB0aGlzLl9mb3JtYXREYXRlKCk7XG4gICAgfVxuICAgIHN1cGVyLnZhbHVlID0gdmFsdWU7XG4gIH1cbiAgcHVibGljIG92ZXJyaWRlIGdldCB2YWx1ZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBzdXBlci52YWx1ZSA/PyAnJztcbiAgfVxuXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogZmFsc2UgfSlcbiAgcHVibGljIHNldCB2YWx1ZUFzRGF0ZSh2YWx1ZTogVCB8IG51bGwpIHtcbiAgICB2YWx1ZSA9IHRoaXMuX2RhdGVBZGFwdGVyLmdldFZhbGlkRGF0ZU9yTnVsbCh0aGlzLl9kYXRlQWRhcHRlci5kZXNlcmlhbGl6ZSh2YWx1ZSkpO1xuICAgIGlmICghdmFsdWUpIHtcbiAgICAgIHRoaXMuX3ZhbHVlQXNEYXRlID0gbnVsbDtcbiAgICAgIHRoaXMuX3ZhbHVlQ2FjaGUgPSBbJycsIG51bGxdO1xuICAgICAgdGhpcy52YWx1ZSA9ICcnO1xuICAgIH0gZWxzZSBpZiAoXG4gICAgICAhdGhpcy5fZGF0ZUFkYXB0ZXIuaXNEYXRlSW5zdGFuY2UodGhpcy5fdmFsdWVBc0RhdGUpIHx8XG4gICAgICB0aGlzLl9kYXRlQWRhcHRlci5jb21wYXJlRGF0ZSh0aGlzLl92YWx1ZUFzRGF0ZSEsIHZhbHVlISkgIT09IDBcbiAgICApIHtcbiAgICAgIC8vIEFsaWduIHdpdGggdGhlIG5hdGl2ZSBkYXRlIGlucHV0LCBhcyBpdCBjb3BpZXMgdGhlIHZhbHVlIG9mXG4gICAgICAvLyB0aGUgZ2l2ZW4gZGF0ZSB3aXRob3V0IHRoZSB0aW1lIGFuZCBkb2VzIG5vdCByZXRhaW4gdGhlXG4gICAgICAvLyBvcmlnaW5hbCBpbnN0YW5jZS5cbiAgICAgIHRoaXMuX3ZhbHVlQXNEYXRlID0gdGhpcy5fZGF0ZUFkYXB0ZXIuY3JlYXRlRGF0ZShcbiAgICAgICAgdGhpcy5fZGF0ZUFkYXB0ZXIuZ2V0WWVhcih2YWx1ZSksXG4gICAgICAgIHRoaXMuX2RhdGVBZGFwdGVyLmdldE1vbnRoKHZhbHVlKSxcbiAgICAgICAgdGhpcy5fZGF0ZUFkYXB0ZXIuZ2V0RGF0ZSh2YWx1ZSksXG4gICAgICApO1xuICAgICAgY29uc3Qgc3RyaW5nVmFsdWUgPSB0aGlzLl9mb3JtYXREYXRlKCk7XG4gICAgICB0aGlzLl92YWx1ZUNhY2hlID0gW3N0cmluZ1ZhbHVlLCB0aGlzLl92YWx1ZUFzRGF0ZV07XG4gICAgICB0aGlzLnZhbHVlID0gc3RyaW5nVmFsdWU7XG4gICAgfVxuICB9XG4gIHB1YmxpYyBnZXQgdmFsdWVBc0RhdGUoKTogVCB8IG51bGwge1xuICAgIC8vIFdlIHNob3VsZCBuZXZlciByZXR1cm4gdGhlIGludGVybmFsIGRhdGUgb2JqZWN0IGRpcmVjdGx5LCBhcyBpdFxuICAgIC8vIGNvdWxkIGJlIG1hbmlwdWxhdGVkIG91dHNpZGUgb2YgdGhpcyBjbGFzcy5cbiAgICByZXR1cm4gdGhpcy5fdmFsdWVBc0RhdGUgPyB0aGlzLl9kYXRlQWRhcHRlci5jbG9uZSh0aGlzLl92YWx1ZUFzRGF0ZSkgOiBudWxsO1xuICB9XG4gIHByaXZhdGUgX3ZhbHVlQXNEYXRlPzogVCB8IG51bGw7XG5cbiAgLyoqXG4gICAqIFRoZSBtaW5pbXVtIHZhbGlkIGRhdGUuIEFjY2VwdHMgYSBkYXRlIG9iamVjdCBvciBudWxsLlxuICAgKiBBY2NlcHRzIGFuIElTTzg2MDEgZm9ybWF0dGVkIHN0cmluZyAoZS5nLiAyMDI0LTEyLTI0KSBhcyBhdHRyaWJ1dGUuXG4gICAqL1xuICBAcGxhaW5EYXRlKClcbiAgQHByb3BlcnR5KHsgY29udmVydGVyOiBwbGFpbkRhdGVDb252ZXJ0ZXIsIHJlZmxlY3Q6IHRydWUgfSlcbiAgcHVibGljIGFjY2Vzc29yIG1pbjogVCB8IG51bGwgPSBudWxsO1xuXG4gIC8qKlxuICAgKiBUaGUgbWF4aW11bSB2YWxpZCBkYXRlLiBBY2NlcHRzIGEgZGF0ZSBvYmplY3Qgb3IgbnVsbC5cbiAgICogQWNjZXB0cyBhbiBJU084NjAxIGZvcm1hdHRlZCBzdHJpbmcgKGUuZy4gMjAyNC0xMi0yNCkgYXMgYXR0cmlidXRlLlxuICAgKi9cbiAgQHBsYWluRGF0ZSgpXG4gIEBwcm9wZXJ0eSh7IGNvbnZlcnRlcjogcGxhaW5EYXRlQ29udmVydGVyLCByZWZsZWN0OiB0cnVlIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBtYXg6IFQgfCBudWxsID0gbnVsbDtcblxuICAvKiogQSBmdW5jdGlvbiB1c2VkIHRvIGZpbHRlciBvdXQgZGF0ZXMuICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogZmFsc2UgfSlcbiAgcHVibGljIHNldCBkYXRlRmlsdGVyKHZhbHVlOiAoZGF0ZTogVCB8IG51bGwpID0+IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9kYXRlRmlsdGVyID0gdmFsdWU7XG4gICAgaWYgKHRoaXMuZGF0ZXBpY2tlcikge1xuICAgICAgdGhpcy5kYXRlcGlja2VyLmRhdGVGaWx0ZXIgPSB2YWx1ZTtcbiAgICB9XG4gIH1cbiAgcHVibGljIGdldCBkYXRlRmlsdGVyKCk6IChkYXRlOiBUIHwgbnVsbCkgPT4gYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2RhdGVGaWx0ZXI7XG4gIH1cblxuICAvKipcbiAgICogSG93IHRvIGZvcm1hdCB0aGUgZGlzcGxheWVkIGRhdGUuXG4gICAqIGBzaG9ydGA6IFR3byBsZXR0ZXIgYWJicmV2aWF0aW9uIG9mIHRoZSB3ZWVrIGRheSAoZS5nLiBGcikuXG4gICAqIGBub25lYDogVGhlIHdlZWtkYXkgaXMgbm90IGRpc3BsYXllZC5cbiAgICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ3dlZWtkYXktc3R5bGUnIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciB3ZWVrZGF5U3R5bGU6ICdzaG9ydCcgfCAnbm9uZScgPSAnc2hvcnQnO1xuXG4gIC8qKlxuICAgKiBTdG9yZXMgdGhlIGxhc3Qgc3RyaW5nIGFuZCBwYXJzZWQgZGF0ZSBvYmplY3QgdmFsdWUgdG8gcHJldmVudCByZXBlYXRlZFxuICAgKiBwYXJzaW5nIG9mIHRoZSBzdHJpbmcgdmFsdWUuXG4gICAqL1xuICBwcml2YXRlIF92YWx1ZUNhY2hlPzogW3N0cmluZywgVCB8IG51bGxdO1xuICBwcml2YXRlIF9kYXRlQWRhcHRlcjogRGF0ZUFkYXB0ZXI8VD4gPSByZWFkQ29uZmlnKCkuZGF0ZXRpbWU/LmRhdGVBZGFwdGVyID8/IGRlZmF1bHREYXRlQWRhcHRlcjtcbiAgcHJpdmF0ZSBfcGxhY2Vob2xkZXJNdXRhYmxlID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGFzc29jaWF0ZWQgZGF0ZXBpY2tlciwgaWYgYW55LlxuICAgKiBUaGUgc2JiLWRhdGUtaW5wdXQgYW5kIHRoZSBzYmItZGF0ZXBpY2tlciBhcmUgYXNzdW1lZCB0byBiZSBpbiB0aGUgc2FtZSBwYXJlbnQgY29udGFpbmVyLlxuICAgKi9cbiAgcHVibGljIGdldCBkYXRlcGlja2VyKCk6IFNiYkRhdGVwaWNrZXJFbGVtZW50PFQ+IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMucGFyZW50RWxlbWVudCEucXVlcnlTZWxlY3RvcjxTYmJEYXRlcGlja2VyRWxlbWVudDxUPj4oJ3NiYi1kYXRlcGlja2VyJyk7XG4gIH1cblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LignY2hhbmdlJywgKCkgPT4gdGhpcy5fdXBkYXRlVmFsdWVEYXRlRm9ybWF0KCksIHsgY2FwdHVyZTogdHJ1ZSB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2RhdGVGaWx0ZXI6IChkYXRlOiBUIHwgbnVsbCkgPT4gYm9vbGVhbiA9ICgpID0+IHRydWU7XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgaWYgKCF0aGlzLnBsYWNlaG9sZGVyKSB7XG4gICAgICB0aGlzLl9wbGFjZWhvbGRlck11dGFibGUgPSB0cnVlO1xuICAgICAgdGhpcy5wbGFjZWhvbGRlciA9IGkxOG5EYXRlUGlja2VyUGxhY2Vob2xkZXJbdGhpcy5sYW5ndWFnZS5jdXJyZW50XTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgcmVxdWVzdFVwZGF0ZShcbiAgICBuYW1lPzogUHJvcGVydHlLZXksXG4gICAgb2xkVmFsdWU/OiB1bmtub3duLFxuICAgIG9wdGlvbnM/OiBQcm9wZXJ0eURlY2xhcmF0aW9uLFxuICApOiB2b2lkIHtcbiAgICBzdXBlci5yZXF1ZXN0VXBkYXRlKG5hbWUsIG9sZFZhbHVlLCBvcHRpb25zKTtcbiAgICBpZiAodGhpcy5oYXNVcGRhdGVkICYmICFuYW1lKSB7XG4gICAgICB0aGlzLl91cGRhdGVWYWx1ZURhdGVGb3JtYXQoKTtcbiAgICAgIGlmICh0aGlzLl9wbGFjZWhvbGRlck11dGFibGUpIHtcbiAgICAgICAgdGhpcy5wbGFjZWhvbGRlciA9IGkxOG5EYXRlUGlja2VyUGxhY2Vob2xkZXJbdGhpcy5sYW5ndWFnZS5jdXJyZW50XTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKG5hbWUgPT09ICd3ZWVrZGF5U3R5bGUnKSB7XG4gICAgICB0aGlzLl91cGRhdGVWYWx1ZURhdGVGb3JtYXQoKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuaGFzVXBkYXRlZCkge1xuICAgICAgLy8gVXNlZCB0byBub3RpZnkgdGhlIGRhdGVwaWNrZXIgdG8gdXBkYXRlIGl0cyBzdGF0ZVxuICAgICAgLyoqIEBpbnRlcm5hbCAqL1xuICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnybVjaGFuZ2UnKSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHVwZGF0ZUZvcm1WYWx1ZSgpOiB2b2lkIHtcbiAgICB0aGlzLl90cnlQYXJzZVZhbHVlKCk7XG4gICAgY29uc3QgZm9ybVZhbHVlID1cbiAgICAgIHRoaXMudmFsdWVBc0RhdGUgIT09IG51bGwgPyB0aGlzLl9kYXRlQWRhcHRlci50b0lzbzg2MDEodGhpcy52YWx1ZUFzRGF0ZSkgOiBudWxsO1xuICAgIHRoaXMuaW50ZXJuYWxzLnNldEZvcm1WYWx1ZShmb3JtVmFsdWUsIHRoaXMudmFsdWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBfdHJ5UGFyc2VWYWx1ZSh2YWx1ZSA9IHRoaXMudmFsdWUpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fdmFsdWVDYWNoZT8uWzBdICE9PSB2YWx1ZSkge1xuICAgICAgdGhpcy5fdmFsdWVBc0RhdGUgPSB0aGlzLl9kYXRlQWRhcHRlci5wYXJzZSh2YWx1ZSk7XG4gICAgICB0aGlzLl92YWx1ZUNhY2hlID0gW3ZhbHVlLCB0aGlzLl92YWx1ZUFzRGF0ZV07XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlVmFsdWVEYXRlRm9ybWF0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnZhbHVlQXNEYXRlKSB7XG4gICAgICBjb25zdCBmb3JtYXR0ZWREYXRlID0gdGhpcy5fZm9ybWF0RGF0ZSgpO1xuICAgICAgaWYgKHRoaXMudmFsdWUgIT09IGZvcm1hdHRlZERhdGUpIHtcbiAgICAgICAgc3VwZXIudmFsdWUgPSBmb3JtYXR0ZWREYXRlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2Zvcm1hdERhdGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fZGF0ZUFkYXB0ZXIuZm9ybWF0KHRoaXMudmFsdWVBc0RhdGUsIHsgd2Vla2RheVN0eWxlOiB0aGlzLndlZWtkYXlTdHlsZSB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBzaG91bGRWYWxpZGF0ZShuYW1lOiBQcm9wZXJ0eUtleSB8IHVuZGVmaW5lZCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICBzdXBlci5zaG91bGRWYWxpZGF0ZShuYW1lKSB8fFxuICAgICAgWyd2YWx1ZUFzRGF0ZScsICdtaW4nLCAnbWF4JywgJ2RhdGVGaWx0ZXInXS5pbmNsdWRlcyhuYW1lIGFzIHN0cmluZylcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHZhbGlkYXRlKCk6IHZvaWQge1xuICAgIHN1cGVyLnZhbGlkYXRlKCk7XG4gICAgaWYgKCF0aGlzLnZhbHVlKSB7XG4gICAgICB0aGlzLl9yZW1vdmVWYWxpZGl0eUVycm9ycygpO1xuICAgIH0gZWxzZSBpZiAoIXRoaXMuX2RhdGVBZGFwdGVyLmlzVmFsaWQodGhpcy52YWx1ZUFzRGF0ZSkpIHtcbiAgICAgIHRoaXMuc2V0VmFsaWRpdHlGbGFnKCdiYWRJbnB1dCcsIGkxOG5EYXRlSW52YWxpZFt0aGlzLmxhbmd1YWdlLmN1cnJlbnRdKTtcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgdGhpcy5fZGF0ZUFkYXB0ZXIuaXNWYWxpZCh0aGlzLm1pbikgJiZcbiAgICAgIHRoaXMuX2RhdGVBZGFwdGVyLmNvbXBhcmVEYXRlKHRoaXMubWluLCB0aGlzLnZhbHVlQXNEYXRlKSA+IDBcbiAgICApIHtcbiAgICAgIHRoaXMuc2V0VmFsaWRpdHlGbGFnKFxuICAgICAgICAncmFuZ2VVbmRlcmZsb3cnLFxuICAgICAgICBpMThuRGF0ZU1pbih0aGlzLl9kYXRlQWRhcHRlci5mb3JtYXQodGhpcy5taW4sIHsgd2Vla2RheVN0eWxlOiAnbm9uZScgfSkpW1xuICAgICAgICAgIHRoaXMubGFuZ3VhZ2UuY3VycmVudFxuICAgICAgICBdLFxuICAgICAgKTtcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgdGhpcy5fZGF0ZUFkYXB0ZXIuaXNWYWxpZCh0aGlzLm1heCkgJiZcbiAgICAgIHRoaXMuX2RhdGVBZGFwdGVyLmNvbXBhcmVEYXRlKHRoaXMudmFsdWVBc0RhdGUsIHRoaXMubWF4KSA+IDBcbiAgICApIHtcbiAgICAgIHRoaXMuc2V0VmFsaWRpdHlGbGFnKFxuICAgICAgICAncmFuZ2VPdmVyZmxvdycsXG4gICAgICAgIGkxOG5EYXRlTWF4KHRoaXMuX2RhdGVBZGFwdGVyLmZvcm1hdCh0aGlzLm1heCwgeyB3ZWVrZGF5U3R5bGU6ICdub25lJyB9KSlbXG4gICAgICAgICAgdGhpcy5sYW5ndWFnZS5jdXJyZW50XG4gICAgICAgIF0sXG4gICAgICApO1xuICAgIH0gZWxzZSBpZiAodGhpcy5kYXRlRmlsdGVyICYmICF0aGlzLmRhdGVGaWx0ZXIodGhpcy52YWx1ZUFzRGF0ZSkpIHtcbiAgICAgIHRoaXMuc2V0VmFsaWRpdHlGbGFnKCdzYmJEYXRlRmlsdGVyJywgaTE4bkRhdGVJbnZhbGlkW3RoaXMubGFuZ3VhZ2UuY3VycmVudF0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9yZW1vdmVWYWxpZGl0eUVycm9ycygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3JlbW92ZVZhbGlkaXR5RXJyb3JzKCk6IHZvaWQge1xuICAgIChbJ2JhZElucHV0JywgJ3JhbmdlVW5kZXJmbG93JywgJ3JhbmdlT3ZlcmZsb3cnLCAnc2JiRGF0ZUZpbHRlciddIGFzIGNvbnN0KS5mb3JFYWNoKChmKSA9PlxuICAgICAgdGhpcy5yZW1vdmVWYWxpZGl0eUZsYWcoZiksXG4gICAgKTtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWRhdGUtaW5wdXQnOiBTYmJEYXRlSW5wdXRFbGVtZW50O1xuICB9XG5cbiAgaW50ZXJmYWNlIEN1c3RvbVZhbGlkaXR5U3RhdGUge1xuICAgIHNiYkRhdGVGaWx0ZXI6IGJvb2xlYW47XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJfYSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFtQkEsT0FBTyxPQUFPLGNBQWMsV0FBVztBQUFBLEVBQ3JDLElBQUksZ0JBQWE7QUFDUixXQUFBO0FBQUEsRUFBQTtBQUVWLENBQUE7SUFRSyx1QkFBbUIsTUFBQTs7MEJBRHhCLGNBQWMsZ0JBQWdCLENBQUM7Ozs7b0JBQ1ksNEJBQTRCLFVBQVU7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
283
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9kYXRlLWlucHV0L2RhdGUtaW5wdXQuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgQ1NTUmVzdWx0R3JvdXAsIGlzU2VydmVyLCBMaXRFbGVtZW50LCB0eXBlIFByb3BlcnR5RGVjbGFyYXRpb24gfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IHJlYWRDb25maWcgfSBmcm9tICcuLi9jb3JlL2NvbmZpZy5qcyc7XG5pbXBvcnQgeyB0eXBlIERhdGVBZGFwdGVyLCBkZWZhdWx0RGF0ZUFkYXB0ZXIgfSBmcm9tICcuLi9jb3JlL2RhdGV0aW1lLmpzJztcbmltcG9ydCB7IHBsYWluRGF0ZSwgcGxhaW5EYXRlQ29udmVydGVyIH0gZnJvbSAnLi4vY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7XG4gIGkxOG5EYXRlSW52YWxpZCxcbiAgaTE4bkRhdGVNYXgsXG4gIGkxOG5EYXRlTWluLFxuICBpMThuRGF0ZVBpY2tlclBsYWNlaG9sZGVyLFxufSBmcm9tICcuLi9jb3JlL2kxOG4uanMnO1xuaW1wb3J0IHsgU2JiRm9ybUFzc29jaWF0ZWRJbnB1dE1peGluIH0gZnJvbSAnLi4vY29yZS9taXhpbnMuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJEYXRlcGlja2VyRWxlbWVudCB9IGZyb20gJy4uL2RhdGVwaWNrZXIuanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9kYXRlLWlucHV0LnNjc3M/bGl0JmlubGluZSc7XG5cbi8vIEFzIGRvY3VtZW50ZWQgaW4gZm9ybS1hc3NvY2lhdGVkLW1peGluLnRzLCB3ZSBleHRlbmQgdGhlIHByb3RvdHlwZSBvZlxuLy8gVmFsaWRpdHlTdGF0ZSB3aXRoIGN1c3RvbSBlcnJvciBzdGF0ZXMgZm9yIHRoZSBkYXRlIGlucHV0LlxuT2JqZWN0LmFzc2lnbihWYWxpZGl0eVN0YXRlLnByb3RvdHlwZSwge1xuICBnZXQgc2JiRGF0ZUZpbHRlcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH0sXG59KTtcblxuLyoqXG4gKiBJbnRlcmZhY2UgZm9yIGVsZW1lbnRzIHRoYXQgY2FuIGJlIGFzc29jaWF0ZWQgd2l0aCBhIGRhdGUgaW5wdXQuXG4gKiBJbXBsZW1lbnRpbmcgY2xhc3NlcyBtdXN0IGFsc28gaGF2ZSBhIHN0YXRpYyBwcm9wZXJ0eSBgc2JiRGF0ZUlucHV0QXNzb2NpYXRlZGAgc2V0IHRvIGB0cnVlYC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYmJEYXRlSW5wdXRBc3NvY2lhdGVkPFQ+IHtcbiAgaW5wdXQ6IFNiYkRhdGVJbnB1dEVsZW1lbnQ8VD4gfCBudWxsO1xufVxuXG4vKipcbiAqIEN1c3RvbSBpbnB1dCBmb3IgYSBkYXRlLlxuICogQG92ZXJyaWRlVHlwZSB2YWx1ZSAtIHN0cmluZ1xuICovXG5leHBvcnRcbkBjdXN0b21FbGVtZW50KCdzYmItZGF0ZS1pbnB1dCcpXG5jbGFzcyBTYmJEYXRlSW5wdXRFbGVtZW50PFQgPSBEYXRlPiBleHRlbmRzIFNiYkZvcm1Bc3NvY2lhdGVkSW5wdXRNaXhpbihMaXRFbGVtZW50KSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuXG4gIC8qKlxuICAgKiBUaGUgdmFsdWUgb2YgdGhlIGRhdGUgaW5wdXQuIFJlZmxlY3RzIHRoZSBjdXJyZW50IHRleHQgdmFsdWVcbiAgICogb2YgdGhpcyBpbnB1dC5cbiAgICogVGhlIGF0dHJpYnV0ZSBgdmFsdWVgIEFjY2VwdHMgSVNPODYwMSBmb3JtYXR0ZWQgdmFsdWVzLCB3aGljaCB3aWxsIGJlXG4gICAqIGZvcm1hdHRlZCBhY2NvcmRpbmcgdG8gdGhlIGN1cnJlbnQgbG9jYWxlLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIHNldCB2YWx1ZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fdHJ5UGFyc2VWYWx1ZSh2YWx1ZSk7XG4gICAgLy8gQXMgbG9uZyBhcyB0aGlzIGVsZW1lbnQgaGFzIGZvY3VzIHdlIGRlbGF5IGF1dG9tYXRpY2FsbHkgdXBkYXRpbmdcbiAgICAvLyB0aGUgdmFsdWUgd2l0aCB0aGUgZm9ybWF0dGVkIHN0cmluZyBvZiB0aGUgcGFyc2VkIGRhdGUuXG4gICAgaWYgKCFpc1NlcnZlciAmJiAhdGhpcy5tYXRjaGVzKCc6Zm9jdXMnKSAmJiB0aGlzLnZhbHVlQXNEYXRlICE9PSBudWxsKSB7XG4gICAgICB2YWx1ZSA9IHRoaXMuX2Zvcm1hdERhdGUoKTtcbiAgICB9XG4gICAgc3VwZXIudmFsdWUgPSB2YWx1ZTtcbiAgfVxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IHZhbHVlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHN1cGVyLnZhbHVlID8/ICcnO1xuICB9XG5cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiBmYWxzZSB9KVxuICBwdWJsaWMgc2V0IHZhbHVlQXNEYXRlKHZhbHVlOiBUIHwgbnVsbCkge1xuICAgIHZhbHVlID0gdGhpcy5fZGF0ZUFkYXB0ZXIuZ2V0VmFsaWREYXRlT3JOdWxsKHRoaXMuX2RhdGVBZGFwdGVyLmRlc2VyaWFsaXplKHZhbHVlKSk7XG4gICAgaWYgKCF2YWx1ZSkge1xuICAgICAgdGhpcy5fdmFsdWVBc0RhdGUgPSBudWxsO1xuICAgICAgdGhpcy5fdmFsdWVDYWNoZSA9IFsnJywgbnVsbF07XG4gICAgICB0aGlzLnZhbHVlID0gJyc7XG4gICAgfSBlbHNlIGlmIChcbiAgICAgICF0aGlzLl9kYXRlQWRhcHRlci5pc0RhdGVJbnN0YW5jZSh0aGlzLl92YWx1ZUFzRGF0ZSkgfHxcbiAgICAgIHRoaXMuX2RhdGVBZGFwdGVyLmNvbXBhcmVEYXRlKHRoaXMuX3ZhbHVlQXNEYXRlISwgdmFsdWUhKSAhPT0gMFxuICAgICkge1xuICAgICAgLy8gQWxpZ24gd2l0aCB0aGUgbmF0aXZlIGRhdGUgaW5wdXQsIGFzIGl0IGNvcGllcyB0aGUgdmFsdWUgb2ZcbiAgICAgIC8vIHRoZSBnaXZlbiBkYXRlIHdpdGhvdXQgdGhlIHRpbWUgYW5kIGRvZXMgbm90IHJldGFpbiB0aGVcbiAgICAgIC8vIG9yaWdpbmFsIGluc3RhbmNlLlxuICAgICAgdGhpcy5fdmFsdWVBc0RhdGUgPSB0aGlzLl9kYXRlQWRhcHRlci5jcmVhdGVEYXRlKFxuICAgICAgICB0aGlzLl9kYXRlQWRhcHRlci5nZXRZZWFyKHZhbHVlKSxcbiAgICAgICAgdGhpcy5fZGF0ZUFkYXB0ZXIuZ2V0TW9udGgodmFsdWUpLFxuICAgICAgICB0aGlzLl9kYXRlQWRhcHRlci5nZXREYXRlKHZhbHVlKSxcbiAgICAgICk7XG4gICAgICBjb25zdCBzdHJpbmdWYWx1ZSA9IHRoaXMuX2Zvcm1hdERhdGUoKTtcbiAgICAgIHRoaXMuX3ZhbHVlQ2FjaGUgPSBbc3RyaW5nVmFsdWUsIHRoaXMuX3ZhbHVlQXNEYXRlXTtcbiAgICAgIHRoaXMudmFsdWUgPSBzdHJpbmdWYWx1ZTtcbiAgICB9XG4gIH1cbiAgcHVibGljIGdldCB2YWx1ZUFzRGF0ZSgpOiBUIHwgbnVsbCB7XG4gICAgLy8gV2Ugc2hvdWxkIG5ldmVyIHJldHVybiB0aGUgaW50ZXJuYWwgZGF0ZSBvYmplY3QgZGlyZWN0bHksIGFzIGl0XG4gICAgLy8gY291bGQgYmUgbWFuaXB1bGF0ZWQgb3V0c2lkZSBvZiB0aGlzIGNsYXNzLlxuICAgIHJldHVybiB0aGlzLl92YWx1ZUFzRGF0ZSA/IHRoaXMuX2RhdGVBZGFwdGVyLmNsb25lKHRoaXMuX3ZhbHVlQXNEYXRlKSA6IG51bGw7XG4gIH1cbiAgcHJpdmF0ZSBfdmFsdWVBc0RhdGU/OiBUIHwgbnVsbDtcblxuICAvKipcbiAgICogVGhlIG1pbmltdW0gdmFsaWQgZGF0ZS4gQWNjZXB0cyBhIGRhdGUgb2JqZWN0IG9yIG51bGwuXG4gICAqIEFjY2VwdHMgYW4gSVNPODYwMSBmb3JtYXR0ZWQgc3RyaW5nIChlLmcuIDIwMjQtMTItMjQpIGFzIGF0dHJpYnV0ZS5cbiAgICovXG4gIEBwbGFpbkRhdGUoKVxuICBAcHJvcGVydHkoeyBjb252ZXJ0ZXI6IHBsYWluRGF0ZUNvbnZlcnRlciwgcmVmbGVjdDogdHJ1ZSB9KVxuICBwdWJsaWMgYWNjZXNzb3IgbWluOiBUIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqXG4gICAqIFRoZSBtYXhpbXVtIHZhbGlkIGRhdGUuIEFjY2VwdHMgYSBkYXRlIG9iamVjdCBvciBudWxsLlxuICAgKiBBY2NlcHRzIGFuIElTTzg2MDEgZm9ybWF0dGVkIHN0cmluZyAoZS5nLiAyMDI0LTEyLTI0KSBhcyBhdHRyaWJ1dGUuXG4gICAqL1xuICBAcGxhaW5EYXRlKClcbiAgQHByb3BlcnR5KHsgY29udmVydGVyOiBwbGFpbkRhdGVDb252ZXJ0ZXIsIHJlZmxlY3Q6IHRydWUgfSlcbiAgcHVibGljIGFjY2Vzc29yIG1heDogVCB8IG51bGwgPSBudWxsO1xuXG4gIC8qKlxuICAgKiBBIGZ1bmN0aW9uIHVzZWQgdG8gZmlsdGVyIG91dCBkYXRlcy5cbiAgICogSXQgaXMgc3Ryb25nbHkgcmVjb21tZW5kZWQgdG8gdXNlIG1pbiBhbmQgbWF4IGRhdGVzIGFsb25nc2lkZVxuICAgKiB0aGlzIGZpbHRlci5cbiAgICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogZmFsc2UgfSlcbiAgcHVibGljIHNldCBkYXRlRmlsdGVyKHZhbHVlOiAoZGF0ZTogVCB8IG51bGwpID0+IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9kYXRlRmlsdGVyID0gdmFsdWU7XG4gIH1cbiAgcHVibGljIGdldCBkYXRlRmlsdGVyKCk6IChkYXRlOiBUIHwgbnVsbCkgPT4gYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2RhdGVGaWx0ZXI7XG4gIH1cblxuICAvKipcbiAgICogSG93IHRvIGZvcm1hdCB0aGUgZGlzcGxheWVkIGRhdGUuXG4gICAqIGBzaG9ydGA6IFR3byBsZXR0ZXIgYWJicmV2aWF0aW9uIG9mIHRoZSB3ZWVrIGRheSAoZS5nLiBGcikuXG4gICAqIGBub25lYDogVGhlIHdlZWtkYXkgaXMgbm90IGRpc3BsYXllZC5cbiAgICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ3dlZWtkYXktc3R5bGUnIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciB3ZWVrZGF5U3R5bGU6ICdzaG9ydCcgfCAnbm9uZScgPSAnc2hvcnQnO1xuXG4gIC8qKlxuICAgKiBTdG9yZXMgdGhlIGxhc3Qgc3RyaW5nIGFuZCBwYXJzZWQgZGF0ZSBvYmplY3QgdmFsdWUgdG8gcHJldmVudCByZXBlYXRlZFxuICAgKiBwYXJzaW5nIG9mIHRoZSBzdHJpbmcgdmFsdWUuXG4gICAqL1xuICBwcml2YXRlIF92YWx1ZUNhY2hlPzogW3N0cmluZywgVCB8IG51bGxdO1xuICBwcml2YXRlIF9kYXRlQWRhcHRlcjogRGF0ZUFkYXB0ZXI8VD4gPSByZWFkQ29uZmlnKCkuZGF0ZXRpbWU/LmRhdGVBZGFwdGVyID8/IGRlZmF1bHREYXRlQWRhcHRlcjtcbiAgcHJpdmF0ZSBfcGxhY2Vob2xkZXJNdXRhYmxlID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGFzc29jaWF0ZWQgZGF0ZXBpY2tlciwgaWYgYW55LlxuICAgKiBUaGUgc2JiLWRhdGUtaW5wdXQgYW5kIHRoZSBzYmItZGF0ZXBpY2tlciBhcmUgYXNzdW1lZCB0byBiZSBpbiB0aGUgc2FtZSBwYXJlbnQgY29udGFpbmVyLlxuICAgKi9cbiAgcHVibGljIGdldCBkYXRlcGlja2VyKCk6IFNiYkRhdGVwaWNrZXJFbGVtZW50PFQ+IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMucGFyZW50RWxlbWVudCEucXVlcnlTZWxlY3RvcjxTYmJEYXRlcGlja2VyRWxlbWVudDxUPj4oJ3NiYi1kYXRlcGlja2VyJyk7XG4gIH1cblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LignY2hhbmdlJywgKCkgPT4gdGhpcy5fdXBkYXRlVmFsdWVEYXRlRm9ybWF0KCksIHsgY2FwdHVyZTogdHJ1ZSB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBdHRlbXB0cyB0byByZXNvbHZlIHRoZSBhc3NvY2lhdGVkIGRhdGUgaW5wdXQgd2l0aCB0aGUgZ2l2ZW4gZWxlbWVudC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVzb2x2ZUFzc29jaWF0aW9uPFQ+KGhvc3Q6IEhUTUxFbGVtZW50ICYgU2JiRGF0ZUlucHV0QXNzb2NpYXRlZDxUPik6IHZvaWQge1xuICAgIGlmIChob3N0Lmhhc0F0dHJpYnV0ZSgnaW5wdXQnKSB8fCBob3N0LmlucHV0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgaW5wdXQgPSBob3N0XG4gICAgICAuY2xvc2VzdCgnc2JiLWZvcm0tZmllbGQnKVxuICAgICAgPy5xdWVyeVNlbGVjdG9yPFNiYkRhdGVJbnB1dEVsZW1lbnQ8VD4+KCdzYmItZGF0ZS1pbnB1dCcpO1xuICAgIGlmIChpbnB1dCkge1xuICAgICAgaG9zdC5pbnB1dCA9IGlucHV0O1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2RhdGVGaWx0ZXI6IChkYXRlOiBUIHwgbnVsbCkgPT4gYm9vbGVhbiA9ICgpID0+IHRydWU7XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgaWYgKCF0aGlzLnBsYWNlaG9sZGVyKSB7XG4gICAgICB0aGlzLl9wbGFjZWhvbGRlck11dGFibGUgPSB0cnVlO1xuICAgICAgdGhpcy5wbGFjZWhvbGRlciA9IGkxOG5EYXRlUGlja2VyUGxhY2Vob2xkZXJbdGhpcy5sYW5ndWFnZS5jdXJyZW50XTtcbiAgICB9XG4gICAgZm9yIChjb25zdCBjaGlsZCBvZiBBcnJheS5mcm9tKHRoaXMuY2xvc2VzdCgnc2JiLWZvcm0tZmllbGQnKT8uY2hpbGRyZW4gPz8gW10pKSB7XG4gICAgICAvLyBFbGVtZW50cyBtdXN0IGJlIHVwZ3JhZGVkIGluIG9yZGVyIGZvciB0aGUgY29uc3RydWN0b3IgdG8gYmUgYWNjZXNzaWJsZS5cbiAgICAgIGN1c3RvbUVsZW1lbnRzLnVwZ3JhZGU/LihjaGlsZCk7XG4gICAgICBpZiAoXG4gICAgICAgIChjaGlsZC5jb25zdHJ1Y3RvciBhcyB7IHNiYkRhdGVJbnB1dEFzc29jaWF0ZWQ/OiBib29sZWFuIH0pLnNiYkRhdGVJbnB1dEFzc29jaWF0ZWQgJiZcbiAgICAgICAgIWNoaWxkLmhhc0F0dHJpYnV0ZSgnaW5wdXQnKSAmJlxuICAgICAgICAhKGNoaWxkIGFzIFBhcnRpYWw8U2JiRGF0ZUlucHV0QXNzb2NpYXRlZDxUPj4pLmlucHV0XG4gICAgICApIHtcbiAgICAgICAgKGNoaWxkIGFzIFBhcnRpYWw8U2JiRGF0ZUlucHV0QXNzb2NpYXRlZDxUPj4pLmlucHV0ID0gdGhpcztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgcmVxdWVzdFVwZGF0ZShcbiAgICBuYW1lPzogUHJvcGVydHlLZXksXG4gICAgb2xkVmFsdWU/OiB1bmtub3duLFxuICAgIG9wdGlvbnM/OiBQcm9wZXJ0eURlY2xhcmF0aW9uLFxuICApOiB2b2lkIHtcbiAgICBzdXBlci5yZXF1ZXN0VXBkYXRlKG5hbWUsIG9sZFZhbHVlLCBvcHRpb25zKTtcbiAgICBpZiAodGhpcy5oYXNVcGRhdGVkICYmICFuYW1lKSB7XG4gICAgICB0aGlzLl91cGRhdGVWYWx1ZURhdGVGb3JtYXQoKTtcbiAgICAgIGlmICh0aGlzLl9wbGFjZWhvbGRlck11dGFibGUpIHtcbiAgICAgICAgdGhpcy5wbGFjZWhvbGRlciA9IGkxOG5EYXRlUGlja2VyUGxhY2Vob2xkZXJbdGhpcy5sYW5ndWFnZS5jdXJyZW50XTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKG5hbWUgPT09ICd3ZWVrZGF5U3R5bGUnKSB7XG4gICAgICB0aGlzLl91cGRhdGVWYWx1ZURhdGVGb3JtYXQoKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuaXNDb25uZWN0ZWQpIHtcbiAgICAgIC8vIFVzZWQgdG8gbm90aWZ5IGFzc29jaWF0ZWQgY29tcG9uZW50cyB0byB1cGRhdGUgc3RhdGVcbiAgICAgIC8qKiBAaW50ZXJuYWwgKi9cbiAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ8m1Y2hhbmdlJykpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB1cGRhdGVGb3JtVmFsdWUoKTogdm9pZCB7XG4gICAgdGhpcy5fdHJ5UGFyc2VWYWx1ZSgpO1xuICAgIGNvbnN0IGZvcm1WYWx1ZSA9XG4gICAgICB0aGlzLnZhbHVlQXNEYXRlICE9PSBudWxsID8gdGhpcy5fZGF0ZUFkYXB0ZXIudG9Jc284NjAxKHRoaXMudmFsdWVBc0RhdGUpIDogbnVsbDtcbiAgICB0aGlzLmludGVybmFscy5zZXRGb3JtVmFsdWUoZm9ybVZhbHVlLCB0aGlzLnZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgX3RyeVBhcnNlVmFsdWUodmFsdWUgPSB0aGlzLnZhbHVlKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3ZhbHVlQ2FjaGU/LlswXSAhPT0gdmFsdWUpIHtcbiAgICAgIHRoaXMuX3ZhbHVlQXNEYXRlID0gdGhpcy5fZGF0ZUFkYXB0ZXIucGFyc2UodmFsdWUpO1xuICAgICAgdGhpcy5fdmFsdWVDYWNoZSA9IFt2YWx1ZSwgdGhpcy5fdmFsdWVBc0RhdGVdO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZVZhbHVlRGF0ZUZvcm1hdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy52YWx1ZUFzRGF0ZSkge1xuICAgICAgY29uc3QgZm9ybWF0dGVkRGF0ZSA9IHRoaXMuX2Zvcm1hdERhdGUoKTtcbiAgICAgIGlmICh0aGlzLnZhbHVlICE9PSBmb3JtYXR0ZWREYXRlKSB7XG4gICAgICAgIHN1cGVyLnZhbHVlID0gZm9ybWF0dGVkRGF0ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9mb3JtYXREYXRlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2RhdGVBZGFwdGVyLmZvcm1hdCh0aGlzLnZhbHVlQXNEYXRlLCB7IHdlZWtkYXlTdHlsZTogdGhpcy53ZWVrZGF5U3R5bGUgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgc2hvdWxkVmFsaWRhdGUobmFtZTogUHJvcGVydHlLZXkgfCB1bmRlZmluZWQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgc3VwZXIuc2hvdWxkVmFsaWRhdGUobmFtZSkgfHxcbiAgICAgIFsndmFsdWVBc0RhdGUnLCAnbWluJywgJ21heCcsICdkYXRlRmlsdGVyJ10uaW5jbHVkZXMobmFtZSBhcyBzdHJpbmcpXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB2YWxpZGF0ZSgpOiB2b2lkIHtcbiAgICBzdXBlci52YWxpZGF0ZSgpO1xuICAgIGlmICghdGhpcy52YWx1ZSkge1xuICAgICAgdGhpcy5fcmVtb3ZlVmFsaWRpdHlFcnJvcnMoKTtcbiAgICB9IGVsc2UgaWYgKCF0aGlzLl9kYXRlQWRhcHRlci5pc1ZhbGlkKHRoaXMudmFsdWVBc0RhdGUpKSB7XG4gICAgICB0aGlzLnNldFZhbGlkaXR5RmxhZygnYmFkSW5wdXQnLCBpMThuRGF0ZUludmFsaWRbdGhpcy5sYW5ndWFnZS5jdXJyZW50XSk7XG4gICAgfSBlbHNlIGlmIChcbiAgICAgIHRoaXMuX2RhdGVBZGFwdGVyLmlzVmFsaWQodGhpcy5taW4pICYmXG4gICAgICB0aGlzLl9kYXRlQWRhcHRlci5jb21wYXJlRGF0ZSh0aGlzLm1pbiwgdGhpcy52YWx1ZUFzRGF0ZSkgPiAwXG4gICAgKSB7XG4gICAgICB0aGlzLnNldFZhbGlkaXR5RmxhZyhcbiAgICAgICAgJ3JhbmdlVW5kZXJmbG93JyxcbiAgICAgICAgaTE4bkRhdGVNaW4odGhpcy5fZGF0ZUFkYXB0ZXIuZm9ybWF0KHRoaXMubWluLCB7IHdlZWtkYXlTdHlsZTogJ25vbmUnIH0pKVtcbiAgICAgICAgICB0aGlzLmxhbmd1YWdlLmN1cnJlbnRcbiAgICAgICAgXSxcbiAgICAgICk7XG4gICAgfSBlbHNlIGlmIChcbiAgICAgIHRoaXMuX2RhdGVBZGFwdGVyLmlzVmFsaWQodGhpcy5tYXgpICYmXG4gICAgICB0aGlzLl9kYXRlQWRhcHRlci5jb21wYXJlRGF0ZSh0aGlzLnZhbHVlQXNEYXRlLCB0aGlzLm1heCkgPiAwXG4gICAgKSB7XG4gICAgICB0aGlzLnNldFZhbGlkaXR5RmxhZyhcbiAgICAgICAgJ3JhbmdlT3ZlcmZsb3cnLFxuICAgICAgICBpMThuRGF0ZU1heCh0aGlzLl9kYXRlQWRhcHRlci5mb3JtYXQodGhpcy5tYXgsIHsgd2Vla2RheVN0eWxlOiAnbm9uZScgfSkpW1xuICAgICAgICAgIHRoaXMubGFuZ3VhZ2UuY3VycmVudFxuICAgICAgICBdLFxuICAgICAgKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuZGF0ZUZpbHRlciAmJiAhdGhpcy5kYXRlRmlsdGVyKHRoaXMudmFsdWVBc0RhdGUpKSB7XG4gICAgICB0aGlzLnNldFZhbGlkaXR5RmxhZygnc2JiRGF0ZUZpbHRlcicsIGkxOG5EYXRlSW52YWxpZFt0aGlzLmxhbmd1YWdlLmN1cnJlbnRdKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fcmVtb3ZlVmFsaWRpdHlFcnJvcnMoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9yZW1vdmVWYWxpZGl0eUVycm9ycygpOiB2b2lkIHtcbiAgICAoWydiYWRJbnB1dCcsICdyYW5nZVVuZGVyZmxvdycsICdyYW5nZU92ZXJmbG93JywgJ3NiYkRhdGVGaWx0ZXInXSBhcyBjb25zdCkuZm9yRWFjaCgoZikgPT5cbiAgICAgIHRoaXMucmVtb3ZlVmFsaWRpdHlGbGFnKGYpLFxuICAgICk7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1kYXRlLWlucHV0JzogU2JiRGF0ZUlucHV0RWxlbWVudDtcbiAgfVxuXG4gIGludGVyZmFjZSBDdXN0b21WYWxpZGl0eVN0YXRlIHtcbiAgICBzYmJEYXRlRmlsdGVyOiBib29sZWFuO1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFtQkEsT0FBTyxPQUFPLGNBQWMsV0FBVztBQUFBLEVBQ3JDLElBQUksZ0JBQWE7QUFDZixXQUFPO0FBQUEsRUFBQTtBQUVWLENBQUE7SUFnQkssdUJBQW1CLE1BQUE7OzBCQUR4QixjQUFjLGdCQUFnQixDQUFDOzs7O29CQUNZLDRCQUE0QixVQUFVOzs7Ozs7Ozs7Ozs7O0FBQTlDLEVBQUEsbUJBQVEsWUFBdUM7QUFBQSxJQTBHakYsY0FBQTtBQUNFLFlBQUE7QUFoREY7QUFRQTtBQXFCQTtBQXJDUSxXQUFBLGVBbkRKO0FBMkRZLHlCQUFBLHVCQUFBLGtCQUFBLE1BQUEsbUJBQWdCLElBQUk7QUFRcEIseUJBQUEsd0JBQUEsa0JBQUEsTUFBQSxzQkFBQSxHQUFBLGtCQUFBLE1BQUEsbUJBQWdCLElBQUk7QUFxQnBCLHlCQUFBLGlDQUFBLGtCQUFBLE1BQUEsc0JBQUEsR0FBQSxrQkFBQSxNQUFBLDRCQUFpQyxPQUFPO0FBTWhELFdBQUEsY0FBVyxrQkFBQSxNQUFBLCtCQUFBO0FBQ1gsV0FBQSxlQUErQixXQUFBLEVBQWEsVUFBVSxlQUFlO0FBQ3JFLFdBQUEsc0JBQXNCO0FBK0J0QixXQUFBLGNBQTJDLE1BQU07QUFuQnZELFdBQUssbUJBQW1CLFVBQVUsTUFBTSxLQUFLLDBCQUEwQixFQUFFLFNBQVMsTUFBTTtBQUFBLElBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxJQW5HMUYsSUFBb0IsTUFBTSxPQUFhO0FBQ3JDLFdBQUssZUFBZSxLQUFLO0FBR3pCLFVBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxR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
@@ -1,31 +1,42 @@
1
- import { PropertyValues, TemplateResult } from 'lit';
1
+ import { PropertyDeclaration, TemplateResult } from 'lit';
2
2
  import { SbbButtonBaseElement } from '../../core/base-elements.js';
3
- import { SbbDatepickerElement } from '../datepicker.js';
4
- import { SbbDatepickerControl } from './datepicker-association-controllers.js';
5
- declare const SbbDatepickerButton_base: import('../../core/mixins.js').AbstractConstructor<import('../../core/mixins.js').SbbNegativeMixinType> & typeof SbbButtonBaseElement;
6
- export declare abstract class SbbDatepickerButton<T = Date> extends SbbDatepickerButton_base implements SbbDatepickerControl<T> {
7
- /** Datepicker reference. */
8
- set datepicker(value: SbbDatepickerElement<T> | null);
9
- get datepicker(): SbbDatepickerElement<T> | null;
10
- private _datepicker?;
11
- /** The boundary date (min/max) as set in the date-picker's input. */
12
- protected accessor boundary: string | number | null;
13
- /** Whether the component is disabled due date equals to boundary date. */
14
- private _disabled;
3
+ import { SbbLanguageController } from '../../core/controllers.js';
4
+ import { DateAdapter } from '../../core/datetime.js';
5
+ import { SbbDateInputElement, SbbDateInputAssociated } from '../../date-input.js';
6
+ declare const SbbDatepickerButtonBase_base: import('../../core/mixins.js').AbstractConstructor<import('../../core/mixins.js').SbbNegativeMixinType> & typeof SbbButtonBaseElement;
7
+ export declare abstract class SbbDatepickerButtonBase<T = Date> extends SbbDatepickerButtonBase_base implements SbbDateInputAssociated<T> {
8
+ static readonly sbbDateInputAssociated = true;
9
+ /**
10
+ * The associated date input element.
11
+ *
12
+ * For attribute usage, provide an id reference.
13
+ */
14
+ accessor input: SbbDateInputElement<T> | null;
15
+ /** Whether this button is disabled. */
16
+ get disabled(): boolean;
15
17
  /** Whether the component is disabled due date-picker's input disabled. */
16
18
  private _inputDisabled;
17
- private _dateAdapter;
18
- private _language;
19
+ private _inputAbortController?;
20
+ protected dateAdapter: DateAdapter<T>;
21
+ protected language: SbbLanguageController;
19
22
  protected abstract iconName: string;
23
+ connectedCallback(): void;
24
+ requestUpdate(name?: PropertyKey, oldValue?: unknown, options?: PropertyDeclaration): void;
25
+ private _findSlotPosition;
26
+ private _sync;
27
+ protected syncDateInputState(): void;
28
+ protected renderTemplate(): TemplateResult;
29
+ }
30
+ export declare abstract class SbbDatepickerButton<T = Date> extends SbbDatepickerButtonBase<T> {
31
+ /** Whether the component is disabled due date equals to boundary date. */
32
+ private _disabled;
20
33
  protected abstract i18nOffBoundaryDay: Record<string, string>;
21
34
  protected abstract i18nSelectOffBoundaryDay: (_currentDate: string) => Record<string, string>;
35
+ get disabled(): boolean;
22
36
  constructor();
23
- protected abstract findAvailableDate(_date: T): T;
24
- connectedCallback(): void;
25
- protected willUpdate(changedProperties: PropertyValues<this>): void;
37
+ protected abstract findAvailableDate(_date: T): T | null;
26
38
  private _handleClick;
27
- private _setDisabledRenderAttributes;
28
- protected renderTemplate(): TemplateResult;
39
+ protected syncDateInputState(): void;
29
40
  }
30
41
  export {};
31
42
  //# sourceMappingURL=datepicker-button.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"datepicker-button.d.ts","sourceRoot":"","sources":["../../../../../src/elements/datepicker/common/datepicker-button.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAGrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAOnE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAE7D,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,yCAAyC,CAAC;AAEjD,OAAO,eAAe,CAAC;;AAMvB,8BAAsB,mBAAmB,CAAC,CAAC,GAAG,IAAI,CAChD,SAAQ,wBACR,YAAW,oBAAoB,CAAC,CAAC,CAAC;IAElC,4BAA4B;IAC5B,IACW,UAAU,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAAG,IAAI,EAO1D;IACD,IAAW,UAAU,IAAI,oBAAoB,CAAC,CAAC,CAAC,GAAG,IAAI,CAEtD;IACD,OAAO,CAAC,WAAW,CAAC,CAAiC;IAErD,qEAAqE;IAC5D,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAQ;IAEpE,0EAA0E;IAC1E,OAAO,CAAC,SAAS,CAAS;IAE1B,0EAA0E;IAC1E,OAAO,CAAC,cAAc,CAAS;IAE/B,OAAO,CAAC,YAAY,CAA4E;IAChG,OAAO,CAAC,SAAS,CAAmC;IAEpD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IACpC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9D,SAAS,CAAC,QAAQ,CAAC,wBAAwB,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;;IAQ9F,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC;IAEjC,iBAAiB,IAAI,IAAI;cAQtB,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IA2B5E,OAAO,CAAC,YAAY;IAqBpB,OAAO,CAAC,4BAA4B;cAYjB,cAAc,IAAI,cAAc;CAGpD"}
1
+ {"version":3,"file":"datepicker-button.d.ts","sourceRoot":"","sources":["../../../../../src/elements/datepicker/common/datepicker-button.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,mBAAmB,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAG1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,KAAK,WAAW,EAAsB,MAAM,wBAAwB,CAAC;AAI9E,OAAO,EAAE,mBAAmB,EAAE,KAAK,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAEvF,OAAO,eAAe,CAAC;;AAEvB,8BAAsB,uBAAuB,CAAC,CAAC,GAAG,IAAI,CACpD,SAAQ,4BACR,YAAW,sBAAsB,CAAC,CAAC,CAAC;IAEpC,gBAAuB,sBAAsB,QAAQ;IAErD;;;;OAIG;IACH,SAEgB,KAAK,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAQ;IAE5D,uCAAuC;IACvC,IAAW,QAAQ,IAAI,OAAO,CAE7B;IAED,0EAA0E;IAC1E,OAAO,CAAC,cAAc,CAAQ;IAE9B,OAAO,CAAC,qBAAqB,CAAC,CAAkB;IAEhD,SAAS,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,CAA4D;IACjG,SAAS,CAAC,QAAQ,wBAAmC;IACrD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAEpB,iBAAiB,IAAI,IAAI;IAYzB,aAAa,CAC3B,IAAI,CAAC,EAAE,WAAW,EAClB,QAAQ,CAAC,EAAE,OAAO,EAClB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,IAAI;IAuBP,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,KAAK;IAUb,SAAS,CAAC,kBAAkB,IAAI,IAAI;cAIjB,cAAc,IAAI,cAAc;CAGpD;AAED,8BAAsB,mBAAmB,CAAC,CAAC,GAAG,IAAI,CAAE,SAAQ,uBAAuB,CAAC,CAAC,CAAC;IACpF,0EAA0E;IAC1E,OAAO,CAAC,SAAS,CAAQ;IAEzB,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9D,SAAS,CAAC,QAAQ,CAAC,wBAAwB,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE9F,IAAoB,QAAQ,IAAI,OAAO,CAEtC;;IAOD,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,IAAI;IAExD,OAAO,CAAC,YAAY;cAgBD,kBAAkB,IAAI,IAAI;CAmB9C"}