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

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 (956) hide show
  1. package/_index.scss +1 -1
  2. package/accordion/accordion.component.js +22 -19
  3. package/action-group/action-group.component.d.ts.map +1 -1
  4. package/action-group/action-group.component.js +5 -3
  5. package/alert/alert/alert.component.d.ts +2 -7
  6. package/alert/alert/alert.component.d.ts.map +1 -1
  7. package/alert/alert/alert.component.js +57 -68
  8. package/alert/alert-group/alert-group.component.js +3 -2
  9. package/autocomplete/autocomplete-base-element.d.ts +26 -17
  10. package/autocomplete/autocomplete-base-element.d.ts.map +1 -1
  11. package/autocomplete/autocomplete-base-element.js +120 -81
  12. package/autocomplete/autocomplete.component.d.ts +3 -2
  13. package/autocomplete/autocomplete.component.d.ts.map +1 -1
  14. package/autocomplete/autocomplete.component.js +31 -29
  15. package/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.d.ts +3 -2
  16. package/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.d.ts.map +1 -1
  17. package/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js +46 -41
  18. package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.d.ts +1 -0
  19. package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.d.ts.map +1 -1
  20. package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js +10 -10
  21. package/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.d.ts +4 -1
  22. package/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.d.ts.map +1 -1
  23. package/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.js +11 -13
  24. package/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.js +20 -17
  25. package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.d.ts +4 -6
  26. package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.d.ts.map +1 -1
  27. package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +22 -23
  28. package/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.d.ts +4 -1
  29. package/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.d.ts.map +1 -1
  30. package/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +10 -12
  31. package/autocomplete.js +4 -5
  32. package/breadcrumb/breadcrumb/breadcrumb.component.js +1 -1
  33. package/breadcrumb/breadcrumb-group/breadcrumb-group.component.d.ts +1 -0
  34. package/breadcrumb/breadcrumb-group/breadcrumb-group.component.d.ts.map +1 -1
  35. package/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +29 -28
  36. package/button/accent-button/accent-button.component.d.ts +1 -0
  37. package/button/accent-button/accent-button.component.d.ts.map +1 -1
  38. package/button/button/button.component.d.ts +1 -0
  39. package/button/button/button.component.d.ts.map +1 -1
  40. package/button/common/button-common.d.ts +4 -6
  41. package/button/common/button-common.d.ts.map +1 -1
  42. package/button/mini-button/mini-button.component.d.ts +1 -0
  43. package/button/mini-button/mini-button.component.d.ts.map +1 -1
  44. package/button/mini-button/mini-button.component.js +1 -1
  45. package/button/mini-button-group/mini-button-group.component.js +2 -1
  46. package/button/secondary-button/secondary-button.component.d.ts +1 -0
  47. package/button/secondary-button/secondary-button.component.d.ts.map +1 -1
  48. package/button/transparent-button/transparent-button.component.d.ts +1 -0
  49. package/button/transparent-button/transparent-button.component.d.ts.map +1 -1
  50. package/calendar/calendar.component.d.ts +16 -14
  51. package/calendar/calendar.component.d.ts.map +1 -1
  52. package/calendar/calendar.component.js +144 -127
  53. package/card/card/card.component.js +12 -12
  54. package/card/card-badge/card-badge.component.d.ts +4 -1
  55. package/card/card-badge/card-badge.component.d.ts.map +1 -1
  56. package/card/card-badge/card-badge.component.js +18 -21
  57. package/card/card-button/card-button.component.d.ts +1 -0
  58. package/card/card-button/card-button.component.d.ts.map +1 -1
  59. package/card/common/card-action-common.d.ts.map +1 -1
  60. package/card/common/card-action-common.js +21 -22
  61. package/checkbox/checkbox/checkbox.component.d.ts +4 -1
  62. package/checkbox/checkbox/checkbox.component.d.ts.map +1 -1
  63. package/checkbox/checkbox/checkbox.component.js +48 -35
  64. package/checkbox/checkbox-group/checkbox-group.component.js +52 -39
  65. package/checkbox/checkbox-panel/checkbox-panel.component.d.ts +4 -1
  66. package/checkbox/checkbox-panel/checkbox-panel.component.d.ts.map +1 -1
  67. package/checkbox/checkbox-panel/checkbox-panel.component.js +46 -33
  68. package/checkbox/common/checkbox-common.d.ts +4 -2
  69. package/checkbox/common/checkbox-common.d.ts.map +1 -1
  70. package/checkbox/common/checkbox-common.js +15 -13
  71. package/chip/chip/chip.component.d.ts +5 -6
  72. package/chip/chip/chip.component.d.ts.map +1 -1
  73. package/chip/chip/chip.component.js +37 -50
  74. package/chip/chip-group/chip-group.component.d.ts +22 -10
  75. package/chip/chip-group/chip-group.component.d.ts.map +1 -1
  76. package/chip/chip-group/chip-group.component.js +134 -108
  77. package/clock/clock.component.d.ts +1 -1
  78. package/clock/clock.component.d.ts.map +1 -1
  79. package/clock/clock.component.js +61 -51
  80. package/container/container/container.component.js +29 -28
  81. package/container/sticky-bar/sticky-bar.component.d.ts.map +1 -1
  82. package/container/sticky-bar/sticky-bar.component.js +21 -23
  83. package/core/a11y/focus-trap-controller.js +14 -11
  84. package/core/a11y/focus.d.ts +0 -32
  85. package/core/a11y/focus.d.ts.map +1 -1
  86. package/core/a11y/focus.js +3 -63
  87. package/core/a11y/input-modality-detector.d.ts +0 -5
  88. package/core/a11y/input-modality-detector.d.ts.map +1 -1
  89. package/core/a11y/input-modality-detector.js +17 -27
  90. package/core/a11y/interactivity-checker.d.ts +0 -11
  91. package/core/a11y/interactivity-checker.d.ts.map +1 -1
  92. package/core/a11y/interactivity-checker.js +10 -11
  93. package/core/a11y/live-announcer.d.ts +62 -0
  94. package/core/a11y/live-announcer.d.ts.map +1 -0
  95. package/core/a11y/live-announcer.js +47 -0
  96. package/core/a11y.d.ts +1 -0
  97. package/core/a11y.d.ts.map +1 -1
  98. package/core/a11y.js +19 -21
  99. package/core/base-elements/action-base-element.d.ts +3 -1
  100. package/core/base-elements/action-base-element.d.ts.map +1 -1
  101. package/core/base-elements/action-base-element.js +12 -11
  102. package/core/base-elements/button-base-element.d.ts +25 -18
  103. package/core/base-elements/button-base-element.d.ts.map +1 -1
  104. package/core/base-elements/button-base-element.js +103 -66
  105. package/core/base-elements/link-base-element.js +6 -3
  106. package/core/base-elements/open-close-base-element.d.ts +3 -1
  107. package/core/base-elements/open-close-base-element.d.ts.map +1 -1
  108. package/core/base-elements/open-close-base-element.js +3 -2
  109. package/core/base-elements.js +9 -8
  110. package/core/controllers/escapable-overlay-controller.js +12 -10
  111. package/core/controllers/id-reference-controller.js +14 -13
  112. package/core/controllers/inert-controller.d.ts.map +1 -1
  113. package/core/controllers/inert-controller.js +10 -8
  114. package/core/controllers/slot-state-controller.js +26 -16
  115. package/core/controllers.d.ts +0 -1
  116. package/core/controllers.d.ts.map +1 -1
  117. package/core/controllers.js +17 -19
  118. package/core/datetime/date-adapter.d.ts +2 -2
  119. package/core/datetime/date-adapter.d.ts.map +1 -1
  120. package/core/datetime/date-adapter.js +22 -22
  121. package/core/datetime/native-date-adapter.d.ts +2 -3
  122. package/core/datetime/native-date-adapter.d.ts.map +1 -1
  123. package/core/datetime/native-date-adapter.js +71 -75
  124. package/core/decorators/force-type.js +5 -4
  125. package/core/decorators/id-reference.d.ts +11 -0
  126. package/core/decorators/id-reference.d.ts.map +1 -0
  127. package/core/decorators/id-reference.js +79 -0
  128. package/core/decorators/plain-date.d.ts +23 -0
  129. package/core/decorators/plain-date.d.ts.map +1 -0
  130. package/core/decorators/plain-date.js +29 -0
  131. package/core/decorators.d.ts +2 -2
  132. package/core/decorators.d.ts.map +1 -1
  133. package/core/decorators.js +17 -16
  134. package/core/dom/breakpoint.js +8 -8
  135. package/core/dom.d.ts +0 -2
  136. package/core/dom.d.ts.map +1 -1
  137. package/core/dom.js +22 -26
  138. package/core/eventing/event-emitter.js +5 -4
  139. package/core/eventing/forward-event.d.ts +0 -6
  140. package/core/eventing/forward-event.d.ts.map +1 -1
  141. package/core/eventing/forward-event.js +4 -6
  142. package/core/eventing.js +12 -13
  143. package/core/i18n/i18n.d.ts +4 -1
  144. package/core/i18n/i18n.d.ts.map +1 -1
  145. package/core/i18n/i18n.js +106 -88
  146. package/core/i18n.js +42 -39
  147. package/core/interfaces/types.d.ts +0 -1
  148. package/core/interfaces/types.d.ts.map +1 -1
  149. package/core/mixins/animation-complete-mixin.d.ts +1 -1
  150. package/core/mixins/animation-complete-mixin.d.ts.map +1 -1
  151. package/core/mixins/disabled-mixin.d.ts +2 -2
  152. package/core/mixins/disabled-mixin.d.ts.map +1 -1
  153. package/core/mixins/element-internals-mixin.d.ts +15 -0
  154. package/core/mixins/element-internals-mixin.d.ts.map +1 -0
  155. package/core/mixins/element-internals-mixin.js +41 -0
  156. package/core/mixins/form-associated-checkbox-mixin.d.ts +7 -13
  157. package/core/mixins/form-associated-checkbox-mixin.d.ts.map +1 -1
  158. package/core/mixins/form-associated-checkbox-mixin.js +41 -32
  159. package/core/mixins/form-associated-input-mixin.d.ts +15 -9
  160. package/core/mixins/form-associated-input-mixin.d.ts.map +1 -1
  161. package/core/mixins/form-associated-input-mixin.js +89 -67
  162. package/core/mixins/form-associated-mixin.d.ts +8 -7
  163. package/core/mixins/form-associated-mixin.d.ts.map +1 -1
  164. package/core/mixins/form-associated-mixin.js +54 -44
  165. package/core/mixins/form-associated-radio-button-mixin.d.ts +6 -14
  166. package/core/mixins/form-associated-radio-button-mixin.d.ts.map +1 -1
  167. package/core/mixins/form-associated-radio-button-mixin.js +36 -25
  168. package/core/mixins/hydration-mixin.js +13 -12
  169. package/core/mixins/named-slot-list-mixin.js +37 -32
  170. package/core/mixins/panel-mixin.js +27 -26
  171. package/core/mixins/readonly-mixin.d.ts +10 -0
  172. package/core/mixins/readonly-mixin.d.ts.map +1 -0
  173. package/core/mixins/readonly-mixin.js +30 -0
  174. package/core/mixins/required-mixin.d.ts +2 -2
  175. package/core/mixins/required-mixin.d.ts.map +1 -1
  176. package/core/mixins.d.ts +2 -0
  177. package/core/mixins.d.ts.map +1 -1
  178. package/core/mixins.js +25 -21
  179. package/core/overlay/position.js +23 -23
  180. package/core/styles/core/mediaqueries.scss +1 -1
  181. package/core/styles/core.scss +65 -42
  182. package/core/styles/mixins/font-face.scss +6 -18
  183. package/core/styles/mixins/link.scss +3 -7
  184. package/core/styles/mixins/lists.scss +0 -63
  185. package/core/styles/mixins/overlay.scss +7 -1
  186. package/core/styles/mixins/table.scss +24 -8
  187. package/core/styles/node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables.scss +530 -0
  188. package/core/styles/node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables_css--mixin.scss +1123 -0
  189. package/core/styles/table.scss +0 -4
  190. package/core/testing/event-spy.js +4 -2
  191. package/core/testing/wait-for-image-ready.js +9 -8
  192. package/core/testing/wait-for-render.js +9 -8
  193. package/core/testing.d.ts +0 -1
  194. package/core/testing.d.ts.map +1 -1
  195. package/core/testing.js +8 -10
  196. package/core.css +41 -18
  197. package/custom-elements.json +19267 -12207
  198. package/date-input/date-input.component.d.ts +12 -14
  199. package/date-input/date-input.component.d.ts.map +1 -1
  200. package/date-input/date-input.component.js +56 -58
  201. package/datepicker/common/datepicker-association-controllers.d.ts.map +1 -1
  202. package/datepicker/common/datepicker-association-controllers.js +28 -25
  203. package/datepicker/common/datepicker-button.d.ts +0 -12
  204. package/datepicker/common/datepicker-button.d.ts.map +1 -1
  205. package/datepicker/common/datepicker-button.js +43 -53
  206. package/datepicker/datepicker/datepicker.component.d.ts +3 -20
  207. package/datepicker/datepicker/datepicker.component.d.ts.map +1 -1
  208. package/datepicker/datepicker/datepicker.component.js +97 -94
  209. package/datepicker/datepicker-next-day/datepicker-next-day.component.d.ts +2 -0
  210. package/datepicker/datepicker-next-day/datepicker-next-day.component.d.ts.map +1 -1
  211. package/datepicker/datepicker-next-day/datepicker-next-day.component.js +12 -12
  212. package/datepicker/datepicker-previous-day/datepicker-previous-day.component.d.ts +2 -0
  213. package/datepicker/datepicker-previous-day/datepicker-previous-day.component.d.ts.map +1 -1
  214. package/datepicker/datepicker-previous-day/datepicker-previous-day.component.js +13 -13
  215. package/datepicker/datepicker-toggle/datepicker-toggle.component.d.ts +0 -8
  216. package/datepicker/datepicker-toggle/datepicker-toggle.component.d.ts.map +1 -1
  217. package/datepicker/datepicker-toggle/datepicker-toggle.component.js +75 -82
  218. package/datepicker/datepicker.js +2 -4
  219. package/datepicker.js +10 -12
  220. package/development/accordion/accordion.component.js +7 -4
  221. package/development/action-group/action-group.component.d.ts.map +1 -1
  222. package/development/action-group/action-group.component.js +5 -3
  223. package/development/alert/alert/alert.component.d.ts +2 -7
  224. package/development/alert/alert/alert.component.d.ts.map +1 -1
  225. package/development/alert/alert/alert.component.js +10 -27
  226. package/development/alert/alert-group/alert-group.component.js +3 -2
  227. package/development/autocomplete/autocomplete-base-element.d.ts +26 -17
  228. package/development/autocomplete/autocomplete-base-element.d.ts.map +1 -1
  229. package/development/autocomplete/autocomplete-base-element.js +96 -55
  230. package/development/autocomplete/autocomplete.component.d.ts +3 -2
  231. package/development/autocomplete/autocomplete.component.d.ts.map +1 -1
  232. package/development/autocomplete/autocomplete.component.js +15 -14
  233. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.d.ts +3 -2
  234. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.d.ts.map +1 -1
  235. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js +20 -16
  236. package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.d.ts +1 -0
  237. package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.d.ts.map +1 -1
  238. package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js +5 -5
  239. package/development/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.d.ts +4 -1
  240. package/development/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.d.ts.map +1 -1
  241. package/development/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.js +5 -7
  242. package/development/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.js +7 -4
  243. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.d.ts +4 -6
  244. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.d.ts.map +1 -1
  245. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +26 -22
  246. package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.d.ts +4 -1
  247. package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.d.ts.map +1 -1
  248. package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +6 -8
  249. package/development/autocomplete.js +2 -3
  250. package/development/breadcrumb/breadcrumb/breadcrumb.component.js +3 -3
  251. package/development/breadcrumb/breadcrumb-group/breadcrumb-group.component.d.ts +1 -0
  252. package/development/breadcrumb/breadcrumb-group/breadcrumb-group.component.d.ts.map +1 -1
  253. package/development/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +13 -12
  254. package/development/button/accent-button/accent-button.component.d.ts +1 -0
  255. package/development/button/accent-button/accent-button.component.d.ts.map +1 -1
  256. package/development/button/accent-button/accent-button.component.js +1 -1
  257. package/development/button/accent-button-link/accent-button-link.component.js +1 -1
  258. package/development/button/accent-button-static/accent-button-static.component.js +1 -1
  259. package/development/button/button/button.component.d.ts +1 -0
  260. package/development/button/button/button.component.d.ts.map +1 -1
  261. package/development/button/button/button.component.js +1 -1
  262. package/development/button/button-link/button-link.component.js +1 -1
  263. package/development/button/button-static/button-static.component.js +1 -1
  264. package/development/button/common/button-common.d.ts +4 -6
  265. package/development/button/common/button-common.d.ts.map +1 -1
  266. package/development/button/common/button-common.js +1 -1
  267. package/development/button/mini-button/mini-button.component.d.ts +1 -0
  268. package/development/button/mini-button/mini-button.component.d.ts.map +1 -1
  269. package/development/button/mini-button/mini-button.component.js +1 -1
  270. package/development/button/mini-button-group/mini-button-group.component.js +3 -2
  271. package/development/button/secondary-button/secondary-button.component.d.ts +1 -0
  272. package/development/button/secondary-button/secondary-button.component.d.ts.map +1 -1
  273. package/development/button/secondary-button/secondary-button.component.js +1 -1
  274. package/development/button/secondary-button-link/secondary-button-link.component.js +1 -1
  275. package/development/button/secondary-button-static/secondary-button-static.component.js +1 -1
  276. package/development/button/transparent-button/transparent-button.component.d.ts +1 -0
  277. package/development/button/transparent-button/transparent-button.component.d.ts.map +1 -1
  278. package/development/button/transparent-button/transparent-button.component.js +1 -1
  279. package/development/button/transparent-button-link/transparent-button-link.component.js +1 -1
  280. package/development/button/transparent-button-static/transparent-button-static.component.js +1 -1
  281. package/development/calendar/calendar.component.d.ts +16 -14
  282. package/development/calendar/calendar.component.d.ts.map +1 -1
  283. package/development/calendar/calendar.component.js +65 -40
  284. package/development/card/card/card.component.js +1 -1
  285. package/development/card/card-badge/card-badge.component.d.ts +4 -1
  286. package/development/card/card-badge/card-badge.component.d.ts.map +1 -1
  287. package/development/card/card-badge/card-badge.component.js +6 -8
  288. package/development/card/card-button/card-button.component.d.ts +1 -0
  289. package/development/card/card-button/card-button.component.d.ts.map +1 -1
  290. package/development/card/card-button/card-button.component.js +1 -1
  291. package/development/card/card-link/card-link.component.js +1 -1
  292. package/development/card/common/card-action-common.d.ts.map +1 -1
  293. package/development/card/common/card-action-common.js +10 -17
  294. package/development/checkbox/checkbox/checkbox.component.d.ts +4 -1
  295. package/development/checkbox/checkbox/checkbox.component.d.ts.map +1 -1
  296. package/development/checkbox/checkbox/checkbox.component.js +23 -5
  297. package/development/checkbox/checkbox-group/checkbox-group.component.js +21 -8
  298. package/development/checkbox/checkbox-panel/checkbox-panel.component.d.ts +4 -1
  299. package/development/checkbox/checkbox-panel/checkbox-panel.component.d.ts.map +1 -1
  300. package/development/checkbox/checkbox-panel/checkbox-panel.component.js +24 -5
  301. package/development/checkbox/common/checkbox-common.d.ts +4 -2
  302. package/development/checkbox/common/checkbox-common.d.ts.map +1 -1
  303. package/development/checkbox/common/checkbox-common.js +5 -3
  304. package/development/chip/chip/chip.component.d.ts +5 -6
  305. package/development/chip/chip/chip.component.d.ts.map +1 -1
  306. package/development/chip/chip/chip.component.js +12 -31
  307. package/development/chip/chip-group/chip-group.component.d.ts +22 -10
  308. package/development/chip/chip-group/chip-group.component.d.ts.map +1 -1
  309. package/development/chip/chip-group/chip-group.component.js +76 -40
  310. package/development/chip-label/chip-label.component.js +1 -1
  311. package/development/clock/clock.component.d.ts +1 -1
  312. package/development/clock/clock.component.d.ts.map +1 -1
  313. package/development/clock/clock.component.js +35 -25
  314. package/development/container/container/container.component.js +3 -2
  315. package/development/container/sticky-bar/sticky-bar.component.d.ts.map +1 -1
  316. package/development/container/sticky-bar/sticky-bar.component.js +5 -6
  317. package/development/core/a11y/arrow-navigation.js +1 -1
  318. package/development/core/a11y/fake-event-detection.js +1 -1
  319. package/development/core/a11y/focus-trap-controller.js +9 -6
  320. package/development/core/a11y/focus-visible-within-controller.js +1 -1
  321. package/development/core/a11y/focus.d.ts +0 -32
  322. package/development/core/a11y/focus.d.ts.map +1 -1
  323. package/development/core/a11y/focus.js +2 -80
  324. package/development/core/a11y/input-modality-detector.d.ts +0 -5
  325. package/development/core/a11y/input-modality-detector.d.ts.map +1 -1
  326. package/development/core/a11y/input-modality-detector.js +4 -19
  327. package/development/core/a11y/interactivity-checker.d.ts +0 -11
  328. package/development/core/a11y/interactivity-checker.d.ts.map +1 -1
  329. package/development/core/a11y/interactivity-checker.js +2 -3
  330. package/development/core/a11y/live-announcer.d.ts +62 -0
  331. package/development/core/a11y/live-announcer.d.ts.map +1 -0
  332. package/development/core/a11y/live-announcer.js +87 -0
  333. package/development/core/a11y.d.ts +1 -0
  334. package/development/core/a11y.d.ts.map +1 -1
  335. package/development/core/a11y.js +7 -9
  336. package/development/core/base-elements/action-base-element.d.ts +3 -1
  337. package/development/core/base-elements/action-base-element.d.ts.map +1 -1
  338. package/development/core/base-elements/action-base-element.js +5 -3
  339. package/development/core/base-elements/button-base-element.d.ts +25 -18
  340. package/development/core/base-elements/button-base-element.d.ts.map +1 -1
  341. package/development/core/base-elements/button-base-element.js +109 -66
  342. package/development/core/base-elements/link-base-element.js +7 -4
  343. package/development/core/base-elements/open-close-base-element.d.ts +3 -1
  344. package/development/core/base-elements/open-close-base-element.d.ts.map +1 -1
  345. package/development/core/base-elements/open-close-base-element.js +4 -3
  346. package/development/core/base-elements.js +2 -1
  347. package/development/core/config/config.js +1 -1
  348. package/development/core/controllers/escapable-overlay-controller.js +5 -3
  349. package/development/core/controllers/id-reference-controller.js +3 -2
  350. package/development/core/controllers/inert-controller.d.ts.map +1 -1
  351. package/development/core/controllers/inert-controller.js +6 -4
  352. package/development/core/controllers/language-controller.js +1 -1
  353. package/development/core/controllers/media-matchers-controller.js +1 -1
  354. package/development/core/controllers/slot-state-controller.js +18 -8
  355. package/development/core/controllers.d.ts +0 -1
  356. package/development/core/controllers.d.ts.map +1 -1
  357. package/development/core/controllers.js +1 -3
  358. package/development/core/datetime/date-adapter.d.ts +2 -2
  359. package/development/core/datetime/date-adapter.d.ts.map +1 -1
  360. package/development/core/datetime/date-adapter.js +6 -6
  361. package/development/core/datetime/native-date-adapter.d.ts +2 -3
  362. package/development/core/datetime/native-date-adapter.d.ts.map +1 -1
  363. package/development/core/datetime/native-date-adapter.js +3 -7
  364. package/development/core/decorators/force-type.js +4 -3
  365. package/development/core/decorators/get-override.js +1 -1
  366. package/development/core/decorators/handle-distinct-change.js +1 -1
  367. package/development/core/decorators/host-attributes.js +1 -1
  368. package/development/core/decorators/id-reference.d.ts +11 -0
  369. package/development/core/decorators/id-reference.d.ts.map +1 -0
  370. package/development/core/decorators/id-reference.js +123 -0
  371. package/development/core/decorators/plain-date.d.ts +23 -0
  372. package/development/core/decorators/plain-date.d.ts.map +1 -0
  373. package/development/core/decorators/plain-date.js +37 -0
  374. package/development/core/decorators/slot-state.js +1 -1
  375. package/development/core/decorators.d.ts +2 -2
  376. package/development/core/decorators.d.ts.map +1 -1
  377. package/development/core/decorators.js +5 -4
  378. package/development/core/dom/animation.js +1 -1
  379. package/development/core/dom/breakpoint.js +2 -2
  380. package/development/core/dom/host-context.js +1 -1
  381. package/development/core/dom/platform.js +1 -1
  382. package/development/core/dom/scroll.js +1 -1
  383. package/development/core/dom/set-or-remove-attribute.js +1 -1
  384. package/development/core/dom.d.ts +0 -2
  385. package/development/core/dom.d.ts.map +1 -1
  386. package/development/core/dom.js +1 -5
  387. package/development/core/eventing/composed-path-has-attribute.js +1 -1
  388. package/development/core/eventing/event-emitter.js +3 -2
  389. package/development/core/eventing/form-element-handlers.js +1 -1
  390. package/development/core/eventing/forward-event.d.ts +0 -6
  391. package/development/core/eventing/forward-event.d.ts.map +1 -1
  392. package/development/core/eventing/forward-event.js +2 -4
  393. package/development/core/eventing/throttle.js +1 -1
  394. package/development/core/eventing.js +1 -2
  395. package/development/core/i18n/i18n.d.ts +4 -1
  396. package/development/core/i18n/i18n.d.ts.map +1 -1
  397. package/development/core/i18n/i18n.js +43 -22
  398. package/development/core/i18n.js +4 -1
  399. package/development/core/interfaces/types.d.ts +0 -1
  400. package/development/core/interfaces/types.d.ts.map +1 -1
  401. package/development/core/mixins/animation-complete-mixin.d.ts +1 -1
  402. package/development/core/mixins/animation-complete-mixin.d.ts.map +1 -1
  403. package/development/core/mixins/animation-complete-mixin.js +1 -1
  404. package/development/core/mixins/disabled-mixin.d.ts +2 -2
  405. package/development/core/mixins/disabled-mixin.d.ts.map +1 -1
  406. package/development/core/mixins/disabled-mixin.js +1 -1
  407. package/development/core/mixins/element-internals-mixin.d.ts +15 -0
  408. package/development/core/mixins/element-internals-mixin.d.ts.map +1 -0
  409. package/development/core/mixins/element-internals-mixin.js +59 -0
  410. package/development/core/mixins/form-associated-checkbox-mixin.d.ts +7 -13
  411. package/development/core/mixins/form-associated-checkbox-mixin.d.ts.map +1 -1
  412. package/development/core/mixins/form-associated-checkbox-mixin.js +16 -11
  413. package/development/core/mixins/form-associated-input-mixin.d.ts +15 -9
  414. package/development/core/mixins/form-associated-input-mixin.d.ts.map +1 -1
  415. package/development/core/mixins/form-associated-input-mixin.js +58 -33
  416. package/development/core/mixins/form-associated-mixin.d.ts +8 -7
  417. package/development/core/mixins/form-associated-mixin.d.ts.map +1 -1
  418. package/development/core/mixins/form-associated-mixin.js +37 -21
  419. package/development/core/mixins/form-associated-radio-button-mixin.d.ts +6 -14
  420. package/development/core/mixins/form-associated-radio-button-mixin.d.ts.map +1 -1
  421. package/development/core/mixins/form-associated-radio-button-mixin.js +28 -14
  422. package/development/core/mixins/hydration-mixin.js +4 -3
  423. package/development/core/mixins/named-slot-list-mixin.js +7 -4
  424. package/development/core/mixins/negative-mixin.js +1 -1
  425. package/development/core/mixins/panel-mixin.js +3 -2
  426. package/development/core/mixins/readonly-mixin.d.ts +10 -0
  427. package/development/core/mixins/readonly-mixin.d.ts.map +1 -0
  428. package/development/core/mixins/readonly-mixin.js +40 -0
  429. package/development/core/mixins/required-mixin.d.ts +2 -2
  430. package/development/core/mixins/required-mixin.d.ts.map +1 -1
  431. package/development/core/mixins/required-mixin.js +1 -1
  432. package/development/core/mixins/update-scheduler-mixin.js +1 -1
  433. package/development/core/mixins.d.ts +2 -0
  434. package/development/core/mixins.d.ts.map +1 -1
  435. package/development/core/mixins.js +5 -1
  436. package/development/core/overlay/overlay-option-panel.js +1 -1
  437. package/development/core/overlay/overlay-trigger-attributes.js +1 -1
  438. package/development/core/overlay/overlay.js +1 -1
  439. package/development/core/overlay/position.js +5 -5
  440. package/development/core/testing/event-spy.js +5 -3
  441. package/development/core/testing/mocha-extensions.js +1 -1
  442. package/development/core/testing/wait-for-condition.js +1 -1
  443. package/development/core/testing/wait-for-image-ready.js +3 -2
  444. package/development/core/testing/wait-for-render.js +3 -2
  445. package/development/core/testing.d.ts +0 -1
  446. package/development/core/testing.d.ts.map +1 -1
  447. package/development/core/testing.js +1 -3
  448. package/development/date-input/date-input.component.d.ts +12 -14
  449. package/development/date-input/date-input.component.d.ts.map +1 -1
  450. package/development/date-input/date-input.component.js +22 -25
  451. package/development/datepicker/common/datepicker-association-controllers.d.ts.map +1 -1
  452. package/development/datepicker/common/datepicker-association-controllers.js +11 -8
  453. package/development/datepicker/common/datepicker-button.d.ts +0 -12
  454. package/development/datepicker/common/datepicker-button.d.ts.map +1 -1
  455. package/development/datepicker/common/datepicker-button.js +11 -29
  456. package/development/datepicker/datepicker/datepicker.component.d.ts +3 -20
  457. package/development/datepicker/datepicker/datepicker.component.d.ts.map +1 -1
  458. package/development/datepicker/datepicker/datepicker.component.js +56 -52
  459. package/development/datepicker/datepicker-next-day/datepicker-next-day.component.d.ts +2 -0
  460. package/development/datepicker/datepicker-next-day/datepicker-next-day.component.d.ts.map +1 -1
  461. package/development/datepicker/datepicker-next-day/datepicker-next-day.component.js +7 -6
  462. package/development/datepicker/datepicker-previous-day/datepicker-previous-day.component.d.ts +2 -0
  463. package/development/datepicker/datepicker-previous-day/datepicker-previous-day.component.d.ts.map +1 -1
  464. package/development/datepicker/datepicker-previous-day/datepicker-previous-day.component.js +7 -6
  465. package/development/datepicker/datepicker-toggle/datepicker-toggle.component.d.ts +0 -8
  466. package/development/datepicker/datepicker-toggle/datepicker-toggle.component.d.ts.map +1 -1
  467. package/development/datepicker/datepicker-toggle/datepicker-toggle.component.js +20 -33
  468. package/development/datepicker/datepicker.js +2 -4
  469. package/development/datepicker.js +2 -4
  470. package/development/dialog/dialog/dialog.component.js +27 -16
  471. package/development/dialog/dialog-actions/dialog-actions.component.js +1 -1
  472. package/development/dialog/dialog-content/dialog-content.component.js +1 -1
  473. package/development/dialog/dialog-title/dialog-title.component.js +1 -1
  474. package/development/divider/divider.component.d.ts +2 -1
  475. package/development/divider/divider.component.d.ts.map +1 -1
  476. package/development/divider/divider.component.js +5 -8
  477. package/development/expansion-panel/expansion-panel/expansion-panel.component.js +13 -9
  478. package/development/expansion-panel/expansion-panel-content/expansion-panel-content.component.d.ts +5 -1
  479. package/development/expansion-panel/expansion-panel-content/expansion-panel-content.component.d.ts.map +1 -1
  480. package/development/expansion-panel/expansion-panel-content/expansion-panel-content.component.js +9 -8
  481. package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.d.ts +2 -0
  482. package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.d.ts.map +1 -1
  483. package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +10 -8
  484. package/development/file-selector/common/file-selector-common.d.ts +6 -5
  485. package/development/file-selector/common/file-selector-common.d.ts.map +1 -1
  486. package/development/file-selector/common/file-selector-common.js +6 -5
  487. package/development/file-selector/file-selector/file-selector.component.d.ts +1 -0
  488. package/development/file-selector/file-selector/file-selector.component.d.ts.map +1 -1
  489. package/development/file-selector/file-selector/file-selector.component.js +1 -1
  490. package/development/file-selector/file-selector-dropzone/file-selector-dropzone.component.d.ts +1 -0
  491. package/development/file-selector/file-selector-dropzone/file-selector-dropzone.component.d.ts.map +1 -1
  492. package/development/file-selector/file-selector-dropzone/file-selector-dropzone.component.js +1 -1
  493. package/development/flip-card/flip-card/flip-card.component.js +13 -7
  494. package/development/flip-card/flip-card-details/flip-card-details.component.d.ts +1 -0
  495. package/development/flip-card/flip-card-details/flip-card-details.component.d.ts.map +1 -1
  496. package/development/flip-card/flip-card-details/flip-card-details.component.js +8 -6
  497. package/development/flip-card/flip-card-summary/flip-card-summary.component.d.ts +1 -0
  498. package/development/flip-card/flip-card-summary/flip-card-summary.component.d.ts.map +1 -1
  499. package/development/flip-card/flip-card-summary/flip-card-summary.component.js +8 -6
  500. package/development/footer/footer.component.js +2 -2
  501. package/development/form-error/form-error.component.js +4 -3
  502. package/development/form-field/form-field/form-field.component.d.ts +9 -10
  503. package/development/form-field/form-field/form-field.component.d.ts.map +1 -1
  504. package/development/form-field/form-field/form-field.component.js +183 -183
  505. package/development/form-field/form-field-clear/form-field-clear.component.d.ts +1 -0
  506. package/development/form-field/form-field-clear/form-field-clear.component.d.ts.map +1 -1
  507. package/development/form-field/form-field-clear/form-field-clear.component.js +8 -8
  508. package/development/header/common/header-action-common.d.ts +3 -3
  509. package/development/header/common/header-action-common.d.ts.map +1 -1
  510. package/development/header/common/header-action-common.js +1 -1
  511. package/development/header/header/header.component.d.ts +6 -3
  512. package/development/header/header/header.component.d.ts.map +1 -1
  513. package/development/header/header/header.component.js +17 -13
  514. package/development/header/header-button/header-button.component.d.ts +1 -0
  515. package/development/header/header-button/header-button.component.d.ts.map +1 -1
  516. package/development/header/header-button/header-button.component.js +1 -1
  517. package/development/header/header-link/header-link.component.js +1 -1
  518. package/development/icon/icon-base.js +1 -1
  519. package/development/icon/icon-name-mixin.js +1 -1
  520. package/development/icon/icon-request.js +3 -2
  521. package/development/icon/icon-validate.js +1 -1
  522. package/development/icon/icon.component.js +1 -1
  523. package/development/image/image.component.d.ts +1 -1
  524. package/development/image/image.component.d.ts.map +1 -1
  525. package/development/image/image.component.js +15 -12
  526. package/development/journey-header/journey-header.component.js +1 -1
  527. package/development/lead-container/lead-container.component.js +1 -1
  528. package/development/link/block-link/block-link.component.js +1 -1
  529. package/development/link/block-link-button/block-link-button.component.d.ts +1 -0
  530. package/development/link/block-link-button/block-link-button.component.d.ts.map +1 -1
  531. package/development/link/block-link-button/block-link-button.component.js +1 -1
  532. package/development/link/block-link-static/block-link-static.component.js +1 -1
  533. package/development/link/common/block-link-common.d.ts +3 -4
  534. package/development/link/common/block-link-common.d.ts.map +1 -1
  535. package/development/link/common/block-link-common.js +4 -4
  536. package/development/link/common/inline-link-common.d.ts +3 -2
  537. package/development/link/common/inline-link-common.d.ts.map +1 -1
  538. package/development/link/common/inline-link-common.js +2 -2
  539. package/development/link/common/link-common.d.ts +4 -2
  540. package/development/link/common/link-common.d.ts.map +1 -1
  541. package/development/link/common/link-common.js +1 -1
  542. package/development/link/common.js +1 -1
  543. package/development/link/link/link.component.js +1 -1
  544. package/development/link/link-button/link-button.component.d.ts +1 -0
  545. package/development/link/link-button/link-button.component.d.ts.map +1 -1
  546. package/development/link/link-button/link-button.component.js +1 -1
  547. package/development/link/link-static/link-static.component.js +1 -1
  548. package/development/{link-common-CJEWffDZ.js → link-common-DPLJx5Uo.js} +2 -2
  549. package/development/link-list/common/link-list-base.js +1 -1
  550. package/development/link-list/link-list/link-list.component.js +1 -1
  551. package/development/link-list/link-list-anchor/link-list-anchor.component.js +2 -2
  552. package/development/link.js +1 -1
  553. package/development/loading-indicator/loading-indicator.component.d.ts +5 -1
  554. package/development/loading-indicator/loading-indicator.component.d.ts.map +1 -1
  555. package/development/loading-indicator/loading-indicator.component.js +9 -8
  556. package/development/loading-indicator-circle/loading-indicator-circle.component.d.ts +5 -1
  557. package/development/loading-indicator-circle/loading-indicator-circle.component.d.ts.map +1 -1
  558. package/development/loading-indicator-circle/loading-indicator-circle.component.js +9 -8
  559. package/development/logo/logo.component.js +1 -1
  560. package/development/map-container/map-container.component.js +3 -2
  561. package/development/menu/common/menu-action-common.d.ts +4 -8
  562. package/development/menu/common/menu-action-common.d.ts.map +1 -1
  563. package/development/menu/common/menu-action-common.js +5 -63
  564. package/development/menu/menu/menu.component.d.ts +3 -3
  565. package/development/menu/menu/menu.component.d.ts.map +1 -1
  566. package/development/menu/menu/menu.component.js +34 -28
  567. package/development/menu/menu-button/menu-button.component.d.ts +1 -0
  568. package/development/menu/menu-button/menu-button.component.d.ts.map +1 -1
  569. package/development/menu/menu-button/menu-button.component.js +1 -1
  570. package/development/menu/menu-link/menu-link.component.js +1 -1
  571. package/development/message/message.component.js +1 -1
  572. package/development/navigation/common/navigation-action-common.js +5 -3
  573. package/development/navigation/navigation/navigation.component.d.ts +4 -3
  574. package/development/navigation/navigation/navigation.component.d.ts.map +1 -1
  575. package/development/navigation/navigation/navigation.component.js +45 -32
  576. package/development/navigation/navigation-button/navigation-button.component.d.ts +1 -0
  577. package/development/navigation/navigation-button/navigation-button.component.d.ts.map +1 -1
  578. package/development/navigation/navigation-button/navigation-button.component.js +1 -1
  579. package/development/navigation/navigation-link/navigation-link.component.js +1 -1
  580. package/development/navigation/navigation-list/navigation-list.component.js +1 -1
  581. package/development/navigation/navigation-marker/navigation-marker.component.js +6 -4
  582. package/development/navigation/navigation-section/navigation-section.component.d.ts +3 -3
  583. package/development/navigation/navigation-section/navigation-section.component.d.ts.map +1 -1
  584. package/development/navigation/navigation-section/navigation-section.component.js +41 -33
  585. package/development/notification/notification.component.d.ts +4 -7
  586. package/development/notification/notification.component.d.ts.map +1 -1
  587. package/development/notification/notification.component.js +35 -50
  588. package/development/option/optgroup/optgroup-base-element.d.ts +2 -1
  589. package/development/option/optgroup/optgroup-base-element.d.ts.map +1 -1
  590. package/development/option/optgroup/optgroup-base-element.js +21 -40
  591. package/development/option/optgroup/optgroup.component.js +10 -6
  592. package/development/option/option/option-base-element.d.ts +6 -12
  593. package/development/option/option/option-base-element.d.ts.map +1 -1
  594. package/development/option/option/option-base-element.js +28 -23
  595. package/development/option/option/option.component.d.ts +5 -2
  596. package/development/option/option/option.component.d.ts.map +1 -1
  597. package/development/option/option/option.component.js +33 -27
  598. package/development/overlay/overlay-base-element.d.ts +1 -8
  599. package/development/overlay/overlay-base-element.d.ts.map +1 -1
  600. package/development/overlay/overlay-base-element.js +10 -28
  601. package/development/overlay/overlay.component.js +9 -7
  602. package/development/paginator/common/paginator-common.d.ts +3 -7
  603. package/development/paginator/common/paginator-common.d.ts.map +1 -1
  604. package/development/paginator/common/paginator-common.js +9 -27
  605. package/development/paginator/compact-paginator/compact-paginator.component.js +1 -1
  606. package/development/paginator/paginator/paginator.component.js +3 -2
  607. package/development/popover/popover/popover.component.d.ts +3 -3
  608. package/development/popover/popover/popover.component.d.ts.map +1 -1
  609. package/development/popover/popover/popover.component.js +26 -21
  610. package/development/popover/popover-trigger/popover-trigger.component.d.ts +1 -0
  611. package/development/popover/popover-trigger/popover-trigger.component.d.ts.map +1 -1
  612. package/development/popover/popover-trigger/popover-trigger.component.js +1 -1
  613. package/development/radio-button/common/radio-button-common.d.ts +4 -2
  614. package/development/radio-button/common/radio-button-common.d.ts.map +1 -1
  615. package/development/radio-button/common/radio-button-common.js +10 -6
  616. package/development/radio-button/radio-button/radio-button.component.d.ts +6 -2
  617. package/development/radio-button/radio-button/radio-button.component.d.ts.map +1 -1
  618. package/development/radio-button/radio-button/radio-button.component.js +25 -5
  619. package/development/radio-button/radio-button-group/radio-button-group.component.d.ts +8 -6
  620. package/development/radio-button/radio-button-group/radio-button-group.component.d.ts.map +1 -1
  621. package/development/radio-button/radio-button-group/radio-button-group.component.js +31 -18
  622. package/development/radio-button/radio-button-panel/radio-button-panel.component.d.ts +6 -2
  623. package/development/radio-button/radio-button-panel/radio-button-panel.component.d.ts.map +1 -1
  624. package/development/radio-button/radio-button-panel/radio-button-panel.component.js +28 -6
  625. package/development/screen-reader-only/screen-reader-only.component.js +1 -1
  626. package/development/select/select.component.d.ts +14 -12
  627. package/development/select/select.component.d.ts.map +1 -1
  628. package/development/select/select.component.js +156 -90
  629. package/development/selection-expansion-panel/selection-expansion-panel.component.js +11 -7
  630. package/development/sidebar/icon-sidebar/icon-sidebar.component.d.ts +4 -2
  631. package/development/sidebar/icon-sidebar/icon-sidebar.component.d.ts.map +1 -1
  632. package/development/sidebar/icon-sidebar/icon-sidebar.component.js +5 -6
  633. package/development/sidebar/icon-sidebar-button/icon-sidebar-button.component.d.ts +1 -0
  634. package/development/sidebar/icon-sidebar-button/icon-sidebar-button.component.d.ts.map +1 -1
  635. package/development/sidebar/icon-sidebar-button/icon-sidebar-button.component.js +1 -1
  636. package/development/sidebar/icon-sidebar-container/icon-sidebar-container.component.js +7 -4
  637. package/development/sidebar/icon-sidebar-content/icon-sidebar-content.component.js +1 -1
  638. package/development/sidebar/icon-sidebar-link/icon-sidebar-link.component.js +1 -1
  639. package/development/sidebar/sidebar/sidebar.component.js +16 -9
  640. package/development/sidebar/sidebar-close-button/sidebar-close-button.component.d.ts +2 -0
  641. package/development/sidebar/sidebar-close-button/sidebar-close-button.component.d.ts.map +1 -1
  642. package/development/sidebar/sidebar-close-button/sidebar-close-button.component.js +6 -3
  643. package/development/sidebar/sidebar-container/sidebar-container.component.js +13 -9
  644. package/development/sidebar/sidebar-content/sidebar-content.component.js +1 -1
  645. package/development/sidebar/sidebar-title/sidebar-title.component.d.ts +1 -0
  646. package/development/sidebar/sidebar-title/sidebar-title.component.d.ts.map +1 -1
  647. package/development/sidebar/sidebar-title/sidebar-title.component.js +7 -4
  648. package/development/signet/signet.component.js +1 -1
  649. package/development/skiplink-list/skiplink-list.component.js +1 -1
  650. package/development/slider/slider.component.d.ts +6 -15
  651. package/development/slider/slider.component.d.ts.map +1 -1
  652. package/development/slider/slider.component.js +40 -87
  653. package/development/status/status.component.js +1 -1
  654. package/development/stepper/step/step.component.d.ts +4 -1
  655. package/development/stepper/step/step.component.d.ts.map +1 -1
  656. package/development/stepper/step/step.component.js +12 -12
  657. package/development/stepper/step-label/step-label.component.d.ts +2 -0
  658. package/development/stepper/step-label/step-label.component.d.ts.map +1 -1
  659. package/development/stepper/step-label/step-label.component.js +8 -10
  660. package/development/stepper/stepper/stepper.component.d.ts +1 -1
  661. package/development/stepper/stepper/stepper.component.d.ts.map +1 -1
  662. package/development/stepper/stepper/stepper.component.js +37 -23
  663. package/development/table/table-wrapper/table-wrapper.component.d.ts +2 -1
  664. package/development/table/table-wrapper/table-wrapper.component.d.ts.map +1 -1
  665. package/development/table/table-wrapper/table-wrapper.component.js +10 -7
  666. package/development/tabs/tab/tab.component.d.ts +4 -1
  667. package/development/tabs/tab/tab.component.d.ts.map +1 -1
  668. package/development/tabs/tab/tab.component.js +4 -3
  669. package/development/tabs/tab-group/tab-group.component.d.ts.map +1 -1
  670. package/development/tabs/tab-group/tab-group.component.js +39 -26
  671. package/development/tabs/tab-label/tab-label.component.d.ts +2 -1
  672. package/development/tabs/tab-label/tab-label.component.d.ts.map +1 -1
  673. package/development/tabs/tab-label/tab-label.component.js +4 -4
  674. package/development/tag/tag/tag.component.d.ts +7 -3
  675. package/development/tag/tag/tag.component.d.ts.map +1 -1
  676. package/development/tag/tag/tag.component.js +37 -12
  677. package/development/tag/tag-group/tag-group.component.d.ts +7 -5
  678. package/development/tag/tag-group/tag-group.component.d.ts.map +1 -1
  679. package/development/tag/tag-group/tag-group.component.js +40 -24
  680. package/development/teaser/teaser.component.js +1 -1
  681. package/development/teaser-hero/teaser-hero.component.js +1 -1
  682. package/development/teaser-product/common/teaser-product-common.d.ts +4 -2
  683. package/development/teaser-product/common/teaser-product-common.d.ts.map +1 -1
  684. package/development/teaser-product/common/teaser-product-common.js +1 -1
  685. package/development/teaser-product/teaser-product/teaser-product.component.js +1 -1
  686. package/development/teaser-product/teaser-product-static/teaser-product-static.component.js +1 -1
  687. package/development/time-input/time-input.component.d.ts +29 -42
  688. package/development/time-input/time-input.component.d.ts.map +1 -1
  689. package/development/time-input/time-input.component.js +158 -201
  690. package/development/timetable-occupancy/timetable-occupancy.component.js +1 -1
  691. package/development/timetable-occupancy-icon/timetable-occupancy-icon.component.js +3 -2
  692. package/development/title/title-base.d.ts +4 -1
  693. package/development/title/title-base.d.ts.map +1 -1
  694. package/development/title/title-base.js +9 -17
  695. package/development/title/title.component.js +1 -1
  696. package/development/toast/toast.component.d.ts +3 -4
  697. package/development/toast/toast.component.d.ts.map +1 -1
  698. package/development/toast/toast.component.js +59 -76
  699. package/development/toggle/toggle/toggle.component.d.ts +13 -9
  700. package/development/toggle/toggle/toggle.component.d.ts.map +1 -1
  701. package/development/toggle/toggle/toggle.component.js +59 -53
  702. package/development/toggle/toggle-option/toggle-option.component.d.ts +5 -3
  703. package/development/toggle/toggle-option/toggle-option.component.d.ts.map +1 -1
  704. package/development/toggle/toggle-option/toggle-option.component.js +23 -18
  705. package/development/toggle-check/toggle-check.component.d.ts +5 -2
  706. package/development/toggle-check/toggle-check.component.d.ts.map +1 -1
  707. package/development/toggle-check/toggle-check.component.js +19 -4
  708. package/development/train/train/train.component.js +1 -1
  709. package/development/train/train-blocked-passage/train-blocked-passage.component.js +1 -1
  710. package/development/train/train-formation/train-formation.component.js +7 -5
  711. package/development/train/train-wagon/train-wagon.component.js +1 -1
  712. package/development/visual-checkbox/visual-checkbox.component.js +1 -1
  713. package/dialog/dialog/dialog.component.js +70 -59
  714. package/divider/divider.component.d.ts +2 -1
  715. package/divider/divider.component.d.ts.map +1 -1
  716. package/divider/divider.component.js +26 -29
  717. package/expansion-panel/expansion-panel/expansion-panel.component.js +9 -5
  718. package/expansion-panel/expansion-panel-content/expansion-panel-content.component.d.ts +5 -1
  719. package/expansion-panel/expansion-panel-content/expansion-panel-content.component.d.ts.map +1 -1
  720. package/expansion-panel/expansion-panel-content/expansion-panel-content.component.js +14 -14
  721. package/expansion-panel/expansion-panel-header/expansion-panel-header.component.d.ts +2 -0
  722. package/expansion-panel/expansion-panel-header/expansion-panel-header.component.d.ts.map +1 -1
  723. package/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +33 -32
  724. package/file-selector/common/file-selector-common.d.ts +6 -5
  725. package/file-selector/common/file-selector-common.d.ts.map +1 -1
  726. package/file-selector/common/file-selector-common.js +37 -36
  727. package/file-selector/file-selector/file-selector.component.d.ts +1 -0
  728. package/file-selector/file-selector/file-selector.component.d.ts.map +1 -1
  729. package/file-selector/file-selector-dropzone/file-selector-dropzone.component.d.ts +1 -0
  730. package/file-selector/file-selector-dropzone/file-selector-dropzone.component.d.ts.map +1 -1
  731. package/flip-card/flip-card/flip-card.component.js +54 -48
  732. package/flip-card/flip-card-details/flip-card-details.component.d.ts +1 -0
  733. package/flip-card/flip-card-details/flip-card-details.component.d.ts.map +1 -1
  734. package/flip-card/flip-card-details/flip-card-details.component.js +19 -18
  735. package/flip-card/flip-card-summary/flip-card-summary.component.d.ts +1 -0
  736. package/flip-card/flip-card-summary/flip-card-summary.component.d.ts.map +1 -1
  737. package/flip-card/flip-card-summary/flip-card-summary.component.js +24 -23
  738. package/font-characters-extension.css +3 -3
  739. package/footer/footer.component.js +1 -1
  740. package/form-error/form-error.component.js +14 -13
  741. package/form-field/form-field/form-field.component.d.ts +9 -10
  742. package/form-field/form-field/form-field.component.d.ts.map +1 -1
  743. package/form-field/form-field/form-field.component.js +171 -175
  744. package/form-field/form-field-clear/form-field-clear.component.d.ts +1 -0
  745. package/form-field/form-field-clear/form-field-clear.component.d.ts.map +1 -1
  746. package/form-field/form-field-clear/form-field-clear.component.js +19 -20
  747. package/header/common/header-action-common.d.ts +3 -3
  748. package/header/common/header-action-common.d.ts.map +1 -1
  749. package/header/header/header.component.d.ts +6 -3
  750. package/header/header/header.component.d.ts.map +1 -1
  751. package/header/header/header.component.js +52 -47
  752. package/header/header-button/header-button.component.d.ts +1 -0
  753. package/header/header-button/header-button.component.d.ts.map +1 -1
  754. package/icon/icon-request.js +11 -10
  755. package/icon-sidebar-button-common-DG8bnrBu.js +7 -0
  756. package/image/image.component.d.ts +1 -1
  757. package/image/image.component.d.ts.map +1 -1
  758. package/image/image.component.js +10 -6
  759. package/link/block-link-button/block-link-button.component.d.ts +1 -0
  760. package/link/block-link-button/block-link-button.component.d.ts.map +1 -1
  761. package/link/common/block-link-common.d.ts +3 -4
  762. package/link/common/block-link-common.d.ts.map +1 -1
  763. package/link/common/block-link-common.js +6 -6
  764. package/link/common/inline-link-common.d.ts +3 -2
  765. package/link/common/inline-link-common.d.ts.map +1 -1
  766. package/link/common/inline-link-common.js +1 -1
  767. package/link/common/link-common.d.ts +4 -2
  768. package/link/common/link-common.d.ts.map +1 -1
  769. package/link/common/link-common.js +1 -1
  770. package/link/common.js +1 -1
  771. package/link/link-button/link-button.component.d.ts +1 -0
  772. package/link/link-button/link-button.component.d.ts.map +1 -1
  773. package/{link-common-DZrQ-32d.js → link-common-BBKGg9HN.js} +1 -1
  774. package/link-list/link-list-anchor/link-list-anchor.component.js +4 -4
  775. package/link.js +1 -1
  776. package/loading-indicator/loading-indicator.component.d.ts +5 -1
  777. package/loading-indicator/loading-indicator.component.d.ts.map +1 -1
  778. package/loading-indicator/loading-indicator.component.js +9 -9
  779. package/loading-indicator-circle/loading-indicator-circle.component.d.ts +5 -1
  780. package/loading-indicator-circle/loading-indicator-circle.component.d.ts.map +1 -1
  781. package/loading-indicator-circle/loading-indicator-circle.component.js +14 -14
  782. package/map-container/map-container.component.js +2 -1
  783. package/menu/common/menu-action-common.d.ts +4 -8
  784. package/menu/common/menu-action-common.d.ts.map +1 -1
  785. package/menu/common/menu-action-common.js +16 -41
  786. package/menu/menu/menu.component.d.ts +3 -3
  787. package/menu/menu/menu.component.d.ts.map +1 -1
  788. package/menu/menu/menu.component.js +76 -70
  789. package/menu/menu-button/menu-button.component.d.ts +1 -0
  790. package/menu/menu-button/menu-button.component.d.ts.map +1 -1
  791. package/navigation/common/navigation-action-common.js +21 -19
  792. package/navigation/navigation/navigation.component.d.ts +4 -3
  793. package/navigation/navigation/navigation.component.d.ts.map +1 -1
  794. package/navigation/navigation/navigation.component.js +94 -78
  795. package/navigation/navigation-button/navigation-button.component.d.ts +1 -0
  796. package/navigation/navigation-button/navigation-button.component.d.ts.map +1 -1
  797. package/navigation/navigation-marker/navigation-marker.component.js +28 -26
  798. package/navigation/navigation-section/navigation-section.component.d.ts +3 -3
  799. package/navigation/navigation-section/navigation-section.component.d.ts.map +1 -1
  800. package/navigation/navigation-section/navigation-section.component.js +84 -76
  801. package/notification/notification.component.d.ts +4 -7
  802. package/notification/notification.component.d.ts.map +1 -1
  803. package/notification/notification.component.js +67 -75
  804. package/option/optgroup/optgroup-base-element.d.ts +2 -1
  805. package/option/optgroup/optgroup-base-element.d.ts.map +1 -1
  806. package/option/optgroup/optgroup-base-element.js +40 -38
  807. package/option/optgroup/optgroup.component.js +20 -16
  808. package/option/option/option-base-element.d.ts +6 -12
  809. package/option/option/option-base-element.d.ts.map +1 -1
  810. package/option/option/option-base-element.js +58 -64
  811. package/option/option/option.component.d.ts +5 -2
  812. package/option/option/option.component.d.ts.map +1 -1
  813. package/option/option/option.component.js +30 -30
  814. package/overlay/overlay-base-element.d.ts +1 -8
  815. package/overlay/overlay-base-element.d.ts.map +1 -1
  816. package/overlay/overlay-base-element.js +39 -48
  817. package/overlay/overlay.component.js +40 -38
  818. package/package.json +1 -1
  819. package/paginator/common/paginator-common.d.ts +3 -7
  820. package/paginator/common/paginator-common.d.ts.map +1 -1
  821. package/paginator/common/paginator-common.js +43 -55
  822. package/paginator/paginator/paginator.component.js +4 -3
  823. package/popover/popover/popover.component.d.ts +3 -3
  824. package/popover/popover/popover.component.d.ts.map +1 -1
  825. package/popover/popover/popover.component.js +78 -68
  826. package/popover/popover-trigger/popover-trigger.component.d.ts +1 -0
  827. package/popover/popover-trigger/popover-trigger.component.d.ts.map +1 -1
  828. package/popover/popover-trigger/popover-trigger.component.js +1 -1
  829. package/radio-button/common/radio-button-common.d.ts +4 -2
  830. package/radio-button/common/radio-button-common.d.ts.map +1 -1
  831. package/radio-button/common/radio-button-common.js +15 -11
  832. package/radio-button/radio-button/radio-button.component.d.ts +6 -2
  833. package/radio-button/radio-button/radio-button.component.d.ts.map +1 -1
  834. package/radio-button/radio-button/radio-button.component.js +43 -28
  835. package/radio-button/radio-button-group/radio-button-group.component.d.ts +8 -6
  836. package/radio-button/radio-button-group/radio-button-group.component.d.ts.map +1 -1
  837. package/radio-button/radio-button-group/radio-button-group.component.js +55 -41
  838. package/radio-button/radio-button-panel/radio-button-panel.component.d.ts +6 -2
  839. package/radio-button/radio-button-panel/radio-button-panel.component.d.ts.map +1 -1
  840. package/radio-button/radio-button-panel/radio-button-panel.component.js +54 -38
  841. package/select/select.component.d.ts +14 -12
  842. package/select/select.component.d.ts.map +1 -1
  843. package/select/select.component.js +168 -129
  844. package/selection-expansion-panel/selection-expansion-panel.component.js +39 -35
  845. package/sidebar/common.js +1 -1
  846. package/sidebar/icon-sidebar/icon-sidebar.component.d.ts +4 -2
  847. package/sidebar/icon-sidebar/icon-sidebar.component.d.ts.map +1 -1
  848. package/sidebar/icon-sidebar/icon-sidebar.component.js +19 -20
  849. package/sidebar/icon-sidebar-button/icon-sidebar-button.component.d.ts +1 -0
  850. package/sidebar/icon-sidebar-button/icon-sidebar-button.component.d.ts.map +1 -1
  851. package/sidebar/icon-sidebar-container/icon-sidebar-container.component.js +13 -10
  852. package/sidebar/sidebar/sidebar.component.js +69 -62
  853. package/sidebar/sidebar-close-button/sidebar-close-button.component.d.ts +2 -0
  854. package/sidebar/sidebar-close-button/sidebar-close-button.component.d.ts.map +1 -1
  855. package/sidebar/sidebar-close-button/sidebar-close-button.component.js +11 -9
  856. package/sidebar/sidebar-container/sidebar-container.component.js +33 -29
  857. package/sidebar/sidebar-title/sidebar-title.component.d.ts +1 -0
  858. package/sidebar/sidebar-title/sidebar-title.component.d.ts.map +1 -1
  859. package/sidebar/sidebar-title/sidebar-title.component.js +18 -16
  860. package/sidebar.js +1 -1
  861. package/slider/slider.component.d.ts +6 -15
  862. package/slider/slider.component.d.ts.map +1 -1
  863. package/slider/slider.component.js +73 -99
  864. package/standard-theme.css +66 -18
  865. package/stepper/step/step.component.d.ts +4 -1
  866. package/stepper/step/step.component.d.ts.map +1 -1
  867. package/stepper/step/step.component.js +23 -24
  868. package/stepper/step-label/step-label.component.d.ts +2 -0
  869. package/stepper/step-label/step-label.component.d.ts.map +1 -1
  870. package/stepper/step-label/step-label.component.js +14 -18
  871. package/stepper/stepper/stepper.component.d.ts +1 -1
  872. package/stepper/stepper/stepper.component.d.ts.map +1 -1
  873. package/stepper/stepper/stepper.component.js +89 -73
  874. package/table/table-wrapper/table-wrapper.component.d.ts +2 -1
  875. package/table/table-wrapper/table-wrapper.component.d.ts.map +1 -1
  876. package/table/table-wrapper/table-wrapper.component.js +10 -11
  877. package/table.css +25 -0
  878. package/tabs/tab/tab.component.d.ts +4 -1
  879. package/tabs/tab/tab.component.d.ts.map +1 -1
  880. package/tabs/tab/tab.component.js +10 -9
  881. package/tabs/tab-group/tab-group.component.d.ts.map +1 -1
  882. package/tabs/tab-group/tab-group.component.js +93 -78
  883. package/tabs/tab-label/tab-label.component.d.ts +2 -1
  884. package/tabs/tab-label/tab-label.component.d.ts.map +1 -1
  885. package/tabs/tab-label/tab-label.component.js +17 -17
  886. package/tag/tag/tag.component.d.ts +7 -3
  887. package/tag/tag/tag.component.d.ts.map +1 -1
  888. package/tag/tag/tag.component.js +63 -44
  889. package/tag/tag-group/tag-group.component.d.ts +7 -5
  890. package/tag/tag-group/tag-group.component.d.ts.map +1 -1
  891. package/tag/tag-group/tag-group.component.js +72 -59
  892. package/teaser/teaser.component.js +1 -1
  893. package/teaser-product/common/teaser-product-common.d.ts +4 -2
  894. package/teaser-product/common/teaser-product-common.d.ts.map +1 -1
  895. package/teaser-product/common.js +1 -1
  896. package/teaser-product/teaser-product/teaser-product.component.js +1 -1
  897. package/teaser-product-common-CpMAlYEp.js +5 -0
  898. package/teaser-product.js +1 -1
  899. package/time-input/time-input.component.d.ts +29 -42
  900. package/time-input/time-input.component.d.ts.map +1 -1
  901. package/time-input/time-input.component.js +100 -139
  902. package/timetable-occupancy-icon/timetable-occupancy-icon.component.js +10 -9
  903. package/title/title-base.d.ts +4 -1
  904. package/title/title-base.d.ts.map +1 -1
  905. package/title/title-base.js +27 -28
  906. package/toast/toast.component.d.ts +3 -4
  907. package/toast/toast.component.d.ts.map +1 -1
  908. package/toast/toast.component.js +69 -72
  909. package/toggle/toggle/toggle.component.d.ts +13 -9
  910. package/toggle/toggle/toggle.component.d.ts.map +1 -1
  911. package/toggle/toggle/toggle.component.js +62 -59
  912. package/toggle/toggle-option/toggle-option.component.d.ts +5 -3
  913. package/toggle/toggle-option/toggle-option.component.d.ts.map +1 -1
  914. package/toggle/toggle-option/toggle-option.component.js +51 -46
  915. package/toggle-check/toggle-check.component.d.ts +5 -2
  916. package/toggle-check/toggle-check.component.d.ts.map +1 -1
  917. package/toggle-check/toggle-check.component.js +53 -43
  918. package/train/train-formation/train-formation.component.js +43 -41
  919. package/core/controllers/connected-abort-controller.d.ts +0 -14
  920. package/core/controllers/connected-abort-controller.d.ts.map +0 -1
  921. package/core/controllers/connected-abort-controller.js +0 -17
  922. package/core/decorators/date-converter.d.ts +0 -8
  923. package/core/decorators/date-converter.d.ts.map +0 -1
  924. package/core/decorators/date-converter.js +0 -15
  925. package/core/decorators/date-only-type.d.ts +0 -8
  926. package/core/decorators/date-only-type.d.ts.map +0 -1
  927. package/core/decorators/date-only-type.js +0 -9
  928. package/core/dom/find-referenced-element.d.ts +0 -8
  929. package/core/dom/find-referenced-element.d.ts.map +0 -1
  930. package/core/dom/find-referenced-element.js +0 -7
  931. package/core/dom/input-element.d.ts +0 -12
  932. package/core/dom/input-element.d.ts.map +0 -1
  933. package/core/dom/input-element.js +0 -7
  934. package/core/testing/scroll.d.ts +0 -7
  935. package/core/testing/scroll.d.ts.map +0 -1
  936. package/core/testing/scroll.js +0 -6
  937. package/development/core/controllers/connected-abort-controller.d.ts +0 -14
  938. package/development/core/controllers/connected-abort-controller.d.ts.map +0 -1
  939. package/development/core/controllers/connected-abort-controller.js +0 -23
  940. package/development/core/decorators/date-converter.d.ts +0 -8
  941. package/development/core/decorators/date-converter.d.ts.map +0 -1
  942. package/development/core/decorators/date-converter.js +0 -16
  943. package/development/core/decorators/date-only-type.d.ts +0 -8
  944. package/development/core/decorators/date-only-type.d.ts.map +0 -1
  945. package/development/core/decorators/date-only-type.js +0 -10
  946. package/development/core/dom/find-referenced-element.d.ts +0 -8
  947. package/development/core/dom/find-referenced-element.d.ts.map +0 -1
  948. package/development/core/dom/find-referenced-element.js +0 -15
  949. package/development/core/dom/input-element.d.ts +0 -12
  950. package/development/core/dom/input-element.d.ts.map +0 -1
  951. package/development/core/dom/input-element.js +0 -12
  952. package/development/core/testing/scroll.d.ts +0 -7
  953. package/development/core/testing/scroll.d.ts.map +0 -1
  954. package/development/core/testing/scroll.js +0 -8
  955. package/icon-sidebar-button-common-CM-ueEhH.js +0 -7
  956. package/teaser-product-common-C8oSkIxy.js +0 -5
@@ -116,18 +116,14 @@ class NativeDateAdapter extends DateAdapter {
116
116
  const targetDay = date.getDate() + days;
117
117
  return new Date(date.getFullYear(), date.getMonth(), targetDay, 0, 0, 0, 0);
118
118
  }
119
- /** Creates a Date from a valid input (Date, string or number in seconds). */
119
+ /** Creates a Date from a valid input (Date or ISO string). */
120
120
  deserialize(date) {
121
121
  if (typeof date === "string") {
122
122
  if (!date) {
123
123
  return null;
124
- } else if (!Number.isNaN(+date)) {
125
- return this.getValidDateOrNull(new Date(+date * 1e3));
126
124
  } else if (ISO_8601_REGEX.test(date)) {
127
125
  return this.getValidDateOrNull(new Date(date.includes("T") ? date : date + "T00:00:00"));
128
126
  }
129
- } else if (typeof date === "number") {
130
- return this.getValidDateOrNull(new Date(date * 1e3));
131
127
  }
132
128
  return super.deserialize(date);
133
129
  }
@@ -146,7 +142,7 @@ class NativeDateAdapter extends DateAdapter {
146
142
  return date;
147
143
  }
148
144
  const strippedValue = value.replace(/\D/g, " ").trim();
149
- const match = strippedValue?.match(FORMAT_DATE);
145
+ const match = strippedValue == null ? void 0 : strippedValue.match(FORMAT_DATE);
150
146
  if (!match || match.index !== 0 || match.length <= 2 || match.some((e) => e === void 0) || !this.isValid(this.createDate(+match[3], +match[2], +match[1]))) {
151
147
  return null;
152
148
  }
@@ -182,4 +178,4 @@ export {
182
178
  NativeDateAdapter,
183
179
  defaultDateAdapter
184
180
  };
185
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF0aXZlLWRhdGUtYWRhcHRlci5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvZGF0ZXRpbWUvbmF0aXZlLWRhdGUtYWRhcHRlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIgfSBmcm9tICcuLi9jb250cm9sbGVycy5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYkRhdGVMaWtlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy5qcyc7XG5cbmltcG9ydCB7IERhdGVBZGFwdGVyLCBGT1JNQVRfREFURSwgSVNPODYwMV9GT1JNQVRfREFURSB9IGZyb20gJy4vZGF0ZS1hZGFwdGVyLmpzJztcblxuLyoqXG4gKiBNYXRjaGVzIHN0cmluZ3MgdGhhdCBoYXZlIHRoZSBmb3JtIG9mIGEgdmFsaWQgUkZDIDMzMzkgc3RyaW5nXG4gKiAoaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzMzMzkpLiBOb3RlIHRoYXQgdGhlIHN0cmluZyBtYXkgbm90IGFjdHVhbGx5IGJlIGEgdmFsaWQgZGF0ZVxuICogYmVjYXVzZSB0aGUgcmVnZXggd2lsbCBtYXRjaCBzdHJpbmdzIGFuIHdpdGhvdXQgb2YgYm91bmRzIG1vbnRoLCBkYXRlLCBldGMuXG4gKi9cbmNvbnN0IElTT184NjAxX1JFR0VYID1cbiAgL15cXGR7NH0tXFxkezJ9LVxcZHsyfSg/OlRcXGR7Mn06XFxkezJ9OlxcZHsyfSg/OlxcLlxcZCspPyg/Olp8KD86KD86XFwrfC0pXFxkezJ9OlxcZHsyfSkpPyk/JC87XG5cbmV4cG9ydCBjbGFzcyBOYXRpdmVEYXRlQWRhcHRlciBleHRlbmRzIERhdGVBZGFwdGVyPERhdGU+IHtcbiAgcHJpdmF0ZSByZWFkb25seSBfY3V0b2ZmWWVhck9mZnNldDogbnVtYmVyO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihjdXRvZmZZZWFyT2Zmc2V0OiBudW1iZXIgPSAxNSkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5fY3V0b2ZmWWVhck9mZnNldCA9IGN1dG9mZlllYXJPZmZzZXQ7XG4gIH1cblxuICAvKiogR2V0cyB0aGUgeWVhciBvZiB0aGUgaW5wdXQgZGF0ZS4gKi9cbiAgcHVibGljIGdldFllYXIoZGF0ZTogRGF0ZSk6IG51bWJlciB7XG4gICAgcmV0dXJuIGRhdGUuZ2V0RnVsbFllYXIoKTtcbiAgfVxuXG4gIC8qKiBHZXRzIHRoZSBtb250aCBvZiB0aGUgaW5wdXQgZGF0ZS4gKi9cbiAgcHVibGljIGdldE1vbnRoKGRhdGU6IERhdGUpOiBudW1iZXIge1xuICAgIHJldHVybiBkYXRlLmdldE1vbnRoKCkgKyAxO1xuICB9XG5cbiAgLyoqIEdldHMgdGhlIGRheSBvZiB0aGUgaW5wdXQgZGF0ZS4gKi9cbiAgcHVibGljIGdldERhdGUoZGF0ZTogRGF0ZSk6IG51bWJlciB7XG4gICAgcmV0dXJuIGRhdGUuZ2V0RGF0ZSgpO1xuICB9XG5cbiAgLyoqIEdldHMgdGhlIGRheSBvZiB0aGUgd2VlayBvZiB0aGUgaW5wdXQgZGF0ZS4gKi9cbiAgcHVibGljIGdldERheU9mV2VlayhkYXRlOiBEYXRlKTogbnVtYmVyIHtcbiAgICByZXR1cm4gZGF0ZS5nZXREYXkoKTtcbiAgfVxuXG4gIC8qKiBHZXRzIHRoZSBkYXRlIGluIHRoZSBsb2NhbCBmb3JtYXQuICovXG4gIHB1YmxpYyBnZXRBY2Nlc3NpYmlsaXR5Rm9ybWF0RGF0ZShkYXRlOiBEYXRlIHwgc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBvcHRpb25zOiBJbnRsLkRhdGVUaW1lRm9ybWF0T3B0aW9ucyA9IHtcbiAgICAgIHllYXI6ICdudW1lcmljJyxcbiAgICAgIG1vbnRoOiAnbG9uZycsXG4gICAgICBkYXk6ICdudW1lcmljJyxcbiAgICB9O1xuICAgIHJldHVybiBuZXcgSW50bC5EYXRlVGltZUZvcm1hdChTYmJMYW5ndWFnZUNvbnRyb2xsZXIuY3VycmVudCwgb3B0aW9ucykuZm9ybWF0KG5ldyBEYXRlKGRhdGUpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGFuIGFycmF5IG9mIHN0cmluZ3Mgd2l0aCBsZW5ndGggPSAxMiwgZmlsbGVkIHdpdGggdGhlIG5hbWUgb2YgdGhlIG1vbnRocyBzdGFydGluZyBmcm9tIEphbnVhcnksIGluIHRoZSBkb2N1bWVudCBsYW5ndWFnZS5cbiAgICogQHBhcmFtIHN0eWxlIFNlZSBgbW9udGhgIGluIGBEYXRlVGltZUZvcm1hdE9wdGlvbnNgOiBgbG9uZ2AgZm9yIGZ1bGwgbmFtZSwgYHNob3J0YCBmb3Igc2hvcnQgbmFtZSwgYG5hcnJvd2AgZm9yIHNpbmdsZSBsZXR0ZXIsXG4gICAqIEUuZy4sIHdpdGggSmFudWFyeSBpbiBlbi1nYjogYGxvbmdgIHJldHVybnMgXCJKYW51YXJ5XCIsIGBzaG9ydGAgcmV0dXJucyBcIkphblwiLCBgbmFycm93YCByZXR1cm5zIFwiSlwiLlxuICAgKi9cbiAgcHVibGljIGdldE1vbnRoTmFtZXMoc3R5bGU6ICdsb25nJyB8ICdzaG9ydCcgfCAnbmFycm93Jyk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBmb3JtYXR0ZXIgPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdChTYmJMYW5ndWFnZUNvbnRyb2xsZXIuY3VycmVudCwgeyBtb250aDogc3R5bGUgfSk7XG4gICAgcmV0dXJuIHRoaXMuX3JhbmdlKDEyLCAoaSkgPT4gZm9ybWF0dGVyLmZvcm1hdChuZXcgRGF0ZSgyMDE3LCBpLCAxKSkpO1xuICB9XG5cbiAgLyoqIENyZWF0ZXMgYSBzdHJpbmcgYXJyYXkgd2l0aCBsZW5ndGggPSAzMSwgZmlsbGVkIHdpdGggdGhlIGRheXMgaW4gYSBtb250aCwgc3RhcnRpbmcgZnJvbSAxLiAqL1xuICBwdWJsaWMgZ2V0RGF0ZU5hbWVzKCk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBmb3JtYXR0ZXIgPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdChTYmJMYW5ndWFnZUNvbnRyb2xsZXIuY3VycmVudCwgeyBkYXk6ICdudW1lcmljJyB9KTtcbiAgICByZXR1cm4gdGhpcy5fcmFuZ2UoMzEsIChpKSA9PiBmb3JtYXR0ZXIuZm9ybWF0KG5ldyBEYXRlKDIwMTcsIDAsIGkgKyAxKSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBzdHJpbmcgYXJyYXkgd2l0aCBsZW5ndGggPSA3LCBmaWxsZWQgd2l0aCB0aGUgbmFtZSBvZiB0aGUgZGF5cyBpbiBhIHdlZWsgc3RhcnRpbmcgZnJvbSBTdW5kYXksIGluIHRoZSBkb2N1bWVudCBsYW5ndWFnZS5cbiAgICogQHBhcmFtIHN0eWxlIFNlZSBgd2Vla2RheWAgaW4gYERhdGVUaW1lRm9ybWF0T3B0aW9uc2AgLSAnbG9uZycgZm9yIGZ1bGwgbmFtZSwgJ3Nob3J0JyBmb3Igc2hvcnQgbmFtZSwgJ25hcnJvdycgZm9yIHNpbmdsZSBsZXR0ZXI7XG4gICAqIEUuZy4sIHdpdGggTW9uZGF5IGluIGVuLWdiOiBgbG9uZ2AgcmV0dXJucyBcIk1vbmRheVwiLCBgc2hvcnRgIHJldHVybnMgXCJNb25cIiwgYG5hcnJvd2AgcmV0dXJucyBcIk1cIi5cbiAgICovXG4gIHB1YmxpYyBnZXREYXlPZldlZWtOYW1lcyhzdHlsZTogJ2xvbmcnIHwgJ3Nob3J0JyB8ICduYXJyb3cnKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IGZvcm1hdHRlciA9IG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KFNiYkxhbmd1YWdlQ29udHJvbGxlci5jdXJyZW50LCB7IHdlZWtkYXk6IHN0eWxlIH0pO1xuICAgIHJldHVybiB0aGlzLl9yYW5nZSg3LCAoaSkgPT4gZm9ybWF0dGVyLmZvcm1hdChuZXcgRGF0ZSgyMDE3LCAwLCBpICsgMSkpKTtcbiAgfVxuXG4gIC8qIERlZmluZXMgd2hpY2ggaXMgdGhlIGZpcnN0IGRheSBvZiB0aGUgd2VlayAoMDogc3VuZGF5OyAxOiBtb25kYXk7IGV0Yy4pLiAqL1xuICBwdWJsaWMgZ2V0Rmlyc3REYXlPZldlZWsoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gMTtcbiAgfVxuXG4gIC8qKiBDYWxjdWxhdGVzIHRoZSBudW1iZXIgb2YgZGF5cyBpbiBhIG1vbnRoIGdpdmVuIHRoZSB5ZWFyIGFuZCB0aGUgbW9udGguICovXG4gIHB1YmxpYyBnZXROdW1EYXlzSW5Nb250aChkYXRlOiBEYXRlKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nZXREYXRlKHRoaXMuX2NyZWF0ZURhdGVXaXRoT3ZlcmZsb3codGhpcy5nZXRZZWFyKGRhdGUpLCB0aGlzLmdldE1vbnRoKGRhdGUpLCAwKSk7XG4gIH1cblxuICAvKiogQ3JlYXRlcyB0b2RheSdzIGRhdGUuICovXG4gIHB1YmxpYyB0b2RheSgpOiBEYXRlIHtcbiAgICByZXR1cm4gbmV3IERhdGUobmV3IERhdGUoKS5zZXRIb3VycygwLCAwLCAwLCAwKSk7XG4gIH1cblxuICAvKiogQ3JlYXRlcyBhIG5ldyBkYXRlLCBnaXZlbiBkYXksIG1vbnRoIGFuZCB5ZWFyOyB0aGUgbWV0aG9kIGRvZXNuJ3QgYWxsb3cgZGF0ZSdzIG92ZXJmbG93LiAqL1xuICBwdWJsaWMgY3JlYXRlRGF0ZSh5ZWFyOiBudW1iZXIsIG1vbnRoOiBudW1iZXIsIGRhdGU6IG51bWJlcik6IERhdGUge1xuICAgIC8vIENoZWNrIGZvciBpbnZhbGlkIG1vbnRoIGFuZCBkYXRlIChleGNlcHQgdXBwZXIgYm91bmQgb24gZGF0ZSB3aGljaCB3ZSBoYXZlIHRvIGNoZWNrIGFmdGVyIGNyZWF0aW5nIHRoZSBEYXRlKS5cbiAgICBpZiAobW9udGggPCAxIHx8IG1vbnRoID4gMTIpIHtcbiAgICAgIHRocm93IEVycm9yKGBJbnZhbGlkIG1vbnRoIGluZGV4IFwiJHttb250aH1cIi4gTW9udGggaW5kZXggaGFzIHRvIGJlIGJldHdlZW4gMSBhbmQgMTIuYCk7XG4gICAgfVxuXG4gICAgaWYgKGRhdGUgPCAxKSB7XG4gICAgICB0aHJvdyBFcnJvcihgSW52YWxpZCBkYXRlIFwiJHtkYXRlfVwiLiBEYXRlIGhhcyB0byBiZSBncmVhdGVyIHRoYW4gMC5gKTtcbiAgICB9XG5cbiAgICBjb25zdCByZXN1bHQgPSB0aGlzLl9jcmVhdGVEYXRlV2l0aE92ZXJmbG93KHllYXIsIG1vbnRoIC0gMSwgZGF0ZSk7XG4gICAgLy8gQ2hlY2sgdGhhdCB0aGUgZGF0ZSB3YXNuJ3QgYWJvdmUgdGhlIHVwcGVyIGJvdW5kIGZvciB0aGUgbW9udGgsIGNhdXNpbmcgdGhlIG1vbnRoIHRvIG92ZXJmbG93XG4gICAgaWYgKHJlc3VsdC5nZXRNb250aCgpICsgMSAhPT0gbW9udGgpIHtcbiAgICAgIHRocm93IEVycm9yKGBJbnZhbGlkIGRhdGUgXCIke2RhdGV9XCIgZm9yIG1vbnRoIHdpdGggaW5kZXggXCIke21vbnRofVwiLmApO1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICAvKiogQ2hlY2tzIHdoZXRoZXIgdGhlIGdpdmVuIGBvYmpgIGlzIGEgRGF0ZS4gKi9cbiAgcHVibGljIGlzRGF0ZUluc3RhbmNlKG9iajogYW55KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIERhdGU7XG4gIH1cblxuICAvKiogQ2hlY2tzIHdoZXRoZXIgdGhlIGdpdmVuIGBkYXRlYCBpcyBhIHZhbGlkIERhdGUuICovXG4gIHB1YmxpYyBpc1ZhbGlkKGRhdGU6IERhdGUgfCBudWxsIHwgdW5kZWZpbmVkKTogZGF0ZSBpcyBEYXRlIHtcbiAgICByZXR1cm4gISFkYXRlICYmICFpc05hTihkYXRlLnZhbHVlT2YoKSk7XG4gIH1cblxuICAvKiogQ3JlYXRlcyBhIG5ldyBkYXRlIGJ5IGNsb25pbmcgdGhlIGdpdmVuIG9uZS4gKi9cbiAgcHVibGljIGNsb25lKGRhdGU6IERhdGUpOiBEYXRlIHtcbiAgICByZXR1cm4gbmV3IERhdGUoZGF0ZS52YWx1ZU9mKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgZGF0ZSBhZGRpbmcgdGhlIG51bWJlciBvZiBwcm92aWRlZCBgeWVhcnNgIHRvIHRoZSBwcm92aWRlZCBgZGF0ZWAuXG4gICAqIEBwYXJhbSBkYXRlIFRoZSBzdGFydGluZyBkYXRlLlxuICAgKiBAcGFyYW0geWVhcnMgVGhlIG51bWJlciBvZiB5ZWFycyB0byBhZGQuXG4gICAqL1xuICBwdWJsaWMgYWRkQ2FsZW5kYXJZZWFycyhkYXRlOiBEYXRlLCB5ZWFyczogbnVtYmVyKTogRGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkQ2FsZW5kYXJNb250aHMoZGF0ZSwgeWVhcnMgKiAxMik7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBkYXRlIGFkZGluZyB0aGUgbnVtYmVyIG9mIHByb3ZpZGVkIGBtb250aHNgIHRvIHRoZSBwcm92aWRlZCBgZGF0ZWAuXG4gICAqIElmIHRoZSBjYWxjdWxhdGVkIG1vbnRoIGhhcyBmZXdlciBkYXlzIHRoYW4gdGhlIG9yaWdpbmFsIG9uZSwgdGhlIGRhdGUgaXMgc2V0IHRvIHRoZSBsYXN0IGRheSBvZiB0aGUgbW9udGguXG4gICAqIEUuZy4sIHdpdGggYGRhdGVgID0gbmV3IERhdGUoMjAyMiwgMCwgMzEpIGFuZCBgbW9udGhzYCA9IDEsIGl0IHJldHVybnMgbmV3IERhdGUoMjAyMiwgMSwgMjgpLlxuICAgKi9cbiAgcHVibGljIGFkZENhbGVuZGFyTW9udGhzKGRhdGU6IERhdGUsIG1vbnRoczogbnVtYmVyKTogRGF0ZSB7XG4gICAgY29uc3QgdGFyZ2V0TW9udGggPSBkYXRlLmdldE1vbnRoKCkgKyBtb250aHM7XG4gICAgY29uc3QgZGF0ZVdpdGhDb3JyZWN0TW9udGggPSBuZXcgRGF0ZShkYXRlLmdldEZ1bGxZZWFyKCksIHRhcmdldE1vbnRoLCAxLCAwLCAwLCAwLCAwKTtcbiAgICBjb25zdCBkYXlzSW5Nb250aCA9IHRoaXMuZ2V0TnVtRGF5c0luTW9udGgoZGF0ZVdpdGhDb3JyZWN0TW9udGgpO1xuICAgIC8vIEFkYXB0IHRoZSBsYXN0IGRheSBvZiBtb250aCBmb3Igc2hvcnRlciBtb250aHNcbiAgICByZXR1cm4gbmV3IERhdGUodGhpcy5jbG9uZShkYXRlKS5zZXRNb250aCh0YXJnZXRNb250aCwgTWF0aC5taW4oZGF5c0luTW9udGgsIGRhdGUuZ2V0RGF0ZSgpKSkpO1xuICB9XG5cbiAgLyoqIENyZWF0ZXMgYSBuZXcgZGF0ZSBieSBhZGRpbmcgdGhlIG51bWJlciBvZiBwcm92aWRlZCBgZGF5c2AgdG8gdGhlIHByb3ZpZGVkIGBkYXRlYC4gKi9cbiAgcHVibGljIGFkZENhbGVuZGFyRGF5cyhkYXRlOiBEYXRlLCBkYXlzOiBudW1iZXIpOiBEYXRlIHtcbiAgICBjb25zdCB0YXJnZXREYXkgPSBkYXRlLmdldERhdGUoKSArIGRheXM7XG4gICAgcmV0dXJuIG5ldyBEYXRlKGRhdGUuZ2V0RnVsbFllYXIoKSwgZGF0ZS5nZXRNb250aCgpLCB0YXJnZXREYXksIDAsIDAsIDAsIDApO1xuICB9XG5cbiAgLyoqIENyZWF0ZXMgYSBEYXRlIGZyb20gYSB2YWxpZCBpbnB1dCAoRGF0ZSwgc3RyaW5nIG9yIG51bWJlciBpbiBzZWNvbmRzKS4gKi9cbiAgcHVibGljIG92ZXJyaWRlIGRlc2VyaWFsaXplKGRhdGU6IFNiYkRhdGVMaWtlIHwgbnVsbCB8IHVuZGVmaW5lZCk6IERhdGUgfCBudWxsIHtcbiAgICBpZiAodHlwZW9mIGRhdGUgPT09ICdzdHJpbmcnKSB7XG4gICAgICBpZiAoIWRhdGUpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9IGVsc2UgaWYgKCFOdW1iZXIuaXNOYU4oK2RhdGUpKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldFZhbGlkRGF0ZU9yTnVsbChuZXcgRGF0ZSgrZGF0ZSAqIDEwMDApKTtcblxuICAgICAgICAvLyBUaGUgYERhdGVgIGNvbnN0cnVjdG9yIGFjY2VwdHMgZm9ybWF0cyBvdGhlciB0aGFuIElTTyA4NjAxLCBzbyB3ZSBuZWVkIHRvIG1ha2Ugc3VyZSB0aGVcbiAgICAgICAgLy8gc3RyaW5nIGlzIHRoZSByaWdodCBmb3JtYXQgZmlyc3QuXG4gICAgICB9IGVsc2UgaWYgKElTT184NjAxX1JFR0VYLnRlc3QoZGF0ZSkpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VmFsaWREYXRlT3JOdWxsKG5ldyBEYXRlKGRhdGUuaW5jbHVkZXMoJ1QnKSA/IGRhdGUgOiBkYXRlICsgJ1QwMDowMDowMCcpKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBkYXRlID09PSAnbnVtYmVyJykge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0VmFsaWREYXRlT3JOdWxsKG5ldyBEYXRlKGRhdGUgKiAxMDAwKSk7XG4gICAgfVxuICAgIHJldHVybiBzdXBlci5kZXNlcmlhbGl6ZShkYXRlKTtcbiAgfVxuXG4gIC8qKiBSZXR1cm5zIHRoZSByaWdodCBmb3JtYXQgZm9yIHRoZSBgdmFsdWVBc0RhdGVgIHByb3BlcnR5LiAqL1xuICBwdWJsaWMgcGFyc2UodmFsdWU6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQsIG5vdzogRGF0ZSA9IHRoaXMudG9kYXkoKSk6IERhdGUgfCBudWxsIHtcbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBsZXQgZGF0ZTogRGF0ZSB8IG51bGwgPSBudWxsO1xuICAgIGNvbnN0IGlzb01hdGNoID0gdmFsdWUubWF0Y2goSVNPODYwMV9GT1JNQVRfREFURSk7XG4gICAgdHJ5IHtcbiAgICAgIGRhdGUgPSBpc29NYXRjaCA/IHRoaXMuY3JlYXRlRGF0ZSgraXNvTWF0Y2hbMV0sICtpc29NYXRjaFsyXSwgK2lzb01hdGNoWzNdKSA6IG51bGw7XG4gICAgfSBjYXRjaCB7XG4gICAgICAvKiBlbXB0eSAqL1xuICAgIH1cbiAgICBpZiAodGhpcy5pc1ZhbGlkKGRhdGUpKSB7XG4gICAgICByZXR1cm4gZGF0ZTtcbiAgICB9XG5cbiAgICBjb25zdCBzdHJpcHBlZFZhbHVlID0gdmFsdWUucmVwbGFjZSgvXFxEL2csICcgJykudHJpbSgpO1xuXG4gICAgY29uc3QgbWF0Y2g6IFJlZ0V4cE1hdGNoQXJyYXkgfCBudWxsIHwgdW5kZWZpbmVkID0gc3RyaXBwZWRWYWx1ZT8ubWF0Y2goRk9STUFUX0RBVEUpO1xuICAgIGlmIChcbiAgICAgICFtYXRjaCB8fFxuICAgICAgbWF0Y2guaW5kZXggIT09IDAgfHxcbiAgICAgIG1hdGNoLmxlbmd0aCA8PSAyIHx8XG4gICAgICBtYXRjaC5zb21lKChlKSA9PiBlID09PSB1bmRlZmluZWQpIHx8XG4gICAgICAhdGhpcy5pc1ZhbGlkKHRoaXMuY3JlYXRlRGF0ZSgrbWF0Y2hbM10sICttYXRjaFsyXSwgK21hdGNoWzFdKSlcbiAgICApIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGxldCB5ZWFyID0gK21hdGNoWzNdO1xuXG4gICAgaWYgKHR5cGVvZiB5ZWFyID09PSAnbnVtYmVyJyAmJiB5ZWFyIDwgMTAwICYmIHllYXIgPj0gMCkge1xuICAgICAgY29uc3Qgc2hpZnQgPSBub3cuZ2V0RnVsbFllYXIoKSAtIDIwMDAgKyB0aGlzLl9jdXRvZmZZZWFyT2Zmc2V0O1xuICAgICAgeWVhciA9IHllYXIgPD0gc2hpZnQgPyAyMDAwICsgeWVhciA6IDE5MDAgKyB5ZWFyO1xuICAgIH1cblxuICAgIHJldHVybiBuZXcgRGF0ZSh5ZWFyLCArbWF0Y2hbMl0gLSAxLCArbWF0Y2hbMV0pO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGludmFsaWQoKTogRGF0ZSB7XG4gICAgcmV0dXJuIG5ldyBEYXRlKE5hTik7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhbiBhcnJheSB3aXRoIHRoZSBnaXZlbiBsZW5ndGggYW5kIGZpbGxzIGl0IGJ5IG1hcHBpbmcgd2l0aCB0aGUgcHJvdmlkZWQgZnVuY3Rpb24uXG4gICAqIEBwYXJhbSBsZW5ndGggVGhlIGxlbmd0aCBvZiB0aGUgYXJyYXkgdG8gYmUgY3JlYXRlZC5cbiAgICogQHBhcmFtIHZhbHVlRnVuY3Rpb24gVGhlIGZ1bmN0aW9uIG9mIGFycmF5J3MgaW5kZXggdXNlZCB0byBmaWxsIHRoZSBhcnJheS5cbiAgICovXG4gIHByaXZhdGUgX3JhbmdlPFQ+KGxlbmd0aDogbnVtYmVyLCB2YWx1ZUZ1bmN0aW9uOiAoaW5kZXg6IG51bWJlcikgPT4gVCk6IFRbXSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20oeyBsZW5ndGggfSkubWFwKChfLCBpKSA9PiB2YWx1ZUZ1bmN0aW9uKGkpKTtcbiAgfVxuXG4gIC8qKiBDcmVhdGVzIGEgZGF0ZSBidXQgYWxsb3dzIHRoZSBtb250aCBhbmQgZGF0ZSB0byBvdmVyZmxvdy4gKi9cbiAgcHJpdmF0ZSBfY3JlYXRlRGF0ZVdpdGhPdmVyZmxvdyh5ZWFyOiBudW1iZXIsIG1vbnRoOiBudW1iZXIsIGRhdGU6IG51bWJlcik6IERhdGUge1xuICAgIGNvbnN0IHJlc3VsdCA9IG5ldyBEYXRlKHllYXIsIG1vbnRoLCBkYXRlKTtcbiAgICAvLyBXZSBuZWVkIHRvIGNvcnJlY3QgZm9yIHRoZSBmYWN0IHRoYXQgSlMgbmF0aXZlIERhdGUgdHJlYXRzIHllYXJzIGluIHJhbmdlIFswLCA5OV0gYXNcbiAgICAvLyBhYmJyZXZpYXRpb25zIGZvciAxOXh4LlxuICAgIGlmICh5ZWFyID49IDAgJiYgeWVhciA8IDEwMCkge1xuICAgICAgcmVzdWx0LnNldEZ1bGxZZWFyKHRoaXMuZ2V0WWVhcihyZXN1bHQpIC0gMTkwMCk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IGRlZmF1bHREYXRlQWRhcHRlciA9IG5ldyBOYXRpdmVEYXRlQWRhcHRlcigpO1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBVUEsTUFBTSxpQkFDSjtBQUVJLE1BQU8sMEJBQTBCLFlBQWlCO0FBQUEsRUFHdEQsWUFBbUIsbUJBQTJCLElBQUU7QUFDOUMsVUFBQTtBQUNBLFNBQUssb0JBQW9CO0FBQUEsRUFBQTtBQUFBO0FBQUEsRUFJcEIsUUFBUSxNQUFVO0FBQ3ZCLFdBQU8sS0FBSyxZQUFBO0FBQUEsRUFBVztBQUFBO0FBQUEsRUFJbEIsU0FBUyxNQUFVO0FBQ3hCLFdBQU8sS0FBSyxhQUFhO0FBQUEsRUFBQTtBQUFBO0FBQUEsRUFJcEIsUUFBUSxNQUFVO0FBQ3ZCLFdBQU8sS0FBSyxRQUFB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
181
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF0aXZlLWRhdGUtYWRhcHRlci5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvZGF0ZXRpbWUvbmF0aXZlLWRhdGUtYWRhcHRlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIgfSBmcm9tICcuLi9jb250cm9sbGVycy5qcyc7XG5cbmltcG9ydCB7IERhdGVBZGFwdGVyLCBGT1JNQVRfREFURSwgSVNPODYwMV9GT1JNQVRfREFURSB9IGZyb20gJy4vZGF0ZS1hZGFwdGVyLmpzJztcblxuLyoqXG4gKiBNYXRjaGVzIHN0cmluZ3MgdGhhdCBoYXZlIHRoZSBmb3JtIG9mIGEgdmFsaWQgUkZDIDMzMzkgc3RyaW5nXG4gKiAoaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzMzMzkpLiBOb3RlIHRoYXQgdGhlIHN0cmluZyBtYXkgbm90IGFjdHVhbGx5IGJlIGEgdmFsaWQgZGF0ZVxuICogYmVjYXVzZSB0aGUgcmVnZXggd2lsbCBtYXRjaCBzdHJpbmdzIGFuIHdpdGhvdXQgb2YgYm91bmRzIG1vbnRoLCBkYXRlLCBldGMuXG4gKi9cbmNvbnN0IElTT184NjAxX1JFR0VYID1cbiAgL15cXGR7NH0tXFxkezJ9LVxcZHsyfSg/OlRcXGR7Mn06XFxkezJ9OlxcZHsyfSg/OlxcLlxcZCspPyg/Olp8KD86KD86XFwrfC0pXFxkezJ9OlxcZHsyfSkpPyk/JC87XG5cbmV4cG9ydCBjbGFzcyBOYXRpdmVEYXRlQWRhcHRlciBleHRlbmRzIERhdGVBZGFwdGVyPERhdGU+IHtcbiAgcHJpdmF0ZSByZWFkb25seSBfY3V0b2ZmWWVhck9mZnNldDogbnVtYmVyO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihjdXRvZmZZZWFyT2Zmc2V0OiBudW1iZXIgPSAxNSkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5fY3V0b2ZmWWVhck9mZnNldCA9IGN1dG9mZlllYXJPZmZzZXQ7XG4gIH1cblxuICAvKiogR2V0cyB0aGUgeWVhciBvZiB0aGUgaW5wdXQgZGF0ZS4gKi9cbiAgcHVibGljIGdldFllYXIoZGF0ZTogRGF0ZSk6IG51bWJlciB7XG4gICAgcmV0dXJuIGRhdGUuZ2V0RnVsbFllYXIoKTtcbiAgfVxuXG4gIC8qKiBHZXRzIHRoZSBtb250aCBvZiB0aGUgaW5wdXQgZGF0ZS4gKi9cbiAgcHVibGljIGdldE1vbnRoKGRhdGU6IERhdGUpOiBudW1iZXIge1xuICAgIHJldHVybiBkYXRlLmdldE1vbnRoKCkgKyAxO1xuICB9XG5cbiAgLyoqIEdldHMgdGhlIGRheSBvZiB0aGUgaW5wdXQgZGF0ZS4gKi9cbiAgcHVibGljIGdldERhdGUoZGF0ZTogRGF0ZSk6IG51bWJlciB7XG4gICAgcmV0dXJuIGRhdGUuZ2V0RGF0ZSgpO1xuICB9XG5cbiAgLyoqIEdldHMgdGhlIGRheSBvZiB0aGUgd2VlayBvZiB0aGUgaW5wdXQgZGF0ZS4gKi9cbiAgcHVibGljIGdldERheU9mV2VlayhkYXRlOiBEYXRlKTogbnVtYmVyIHtcbiAgICByZXR1cm4gZGF0ZS5nZXREYXkoKTtcbiAgfVxuXG4gIC8qKiBHZXRzIHRoZSBkYXRlIGluIHRoZSBsb2NhbCBmb3JtYXQuICovXG4gIHB1YmxpYyBnZXRBY2Nlc3NpYmlsaXR5Rm9ybWF0RGF0ZShkYXRlOiBEYXRlIHwgc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBvcHRpb25zOiBJbnRsLkRhdGVUaW1lRm9ybWF0T3B0aW9ucyA9IHtcbiAgICAgIHllYXI6ICdudW1lcmljJyxcbiAgICAgIG1vbnRoOiAnbG9uZycsXG4gICAgICBkYXk6ICdudW1lcmljJyxcbiAgICB9O1xuICAgIHJldHVybiBuZXcgSW50bC5EYXRlVGltZUZvcm1hdChTYmJMYW5ndWFnZUNvbnRyb2xsZXIuY3VycmVudCwgb3B0aW9ucykuZm9ybWF0KG5ldyBEYXRlKGRhdGUpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGFuIGFycmF5IG9mIHN0cmluZ3Mgd2l0aCBsZW5ndGggPSAxMiwgZmlsbGVkIHdpdGggdGhlIG5hbWUgb2YgdGhlIG1vbnRocyBzdGFydGluZyBmcm9tIEphbnVhcnksIGluIHRoZSBkb2N1bWVudCBsYW5ndWFnZS5cbiAgICogQHBhcmFtIHN0eWxlIFNlZSBgbW9udGhgIGluIGBEYXRlVGltZUZvcm1hdE9wdGlvbnNgOiBgbG9uZ2AgZm9yIGZ1bGwgbmFtZSwgYHNob3J0YCBmb3Igc2hvcnQgbmFtZSwgYG5hcnJvd2AgZm9yIHNpbmdsZSBsZXR0ZXIsXG4gICAqIEUuZy4sIHdpdGggSmFudWFyeSBpbiBlbi1nYjogYGxvbmdgIHJldHVybnMgXCJKYW51YXJ5XCIsIGBzaG9ydGAgcmV0dXJucyBcIkphblwiLCBgbmFycm93YCByZXR1cm5zIFwiSlwiLlxuICAgKi9cbiAgcHVibGljIGdldE1vbnRoTmFtZXMoc3R5bGU6ICdsb25nJyB8ICdzaG9ydCcgfCAnbmFycm93Jyk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBmb3JtYXR0ZXIgPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdChTYmJMYW5ndWFnZUNvbnRyb2xsZXIuY3VycmVudCwgeyBtb250aDogc3R5bGUgfSk7XG4gICAgcmV0dXJuIHRoaXMuX3JhbmdlKDEyLCAoaSkgPT4gZm9ybWF0dGVyLmZvcm1hdChuZXcgRGF0ZSgyMDE3LCBpLCAxKSkpO1xuICB9XG5cbiAgLyoqIENyZWF0ZXMgYSBzdHJpbmcgYXJyYXkgd2l0aCBsZW5ndGggPSAzMSwgZmlsbGVkIHdpdGggdGhlIGRheXMgaW4gYSBtb250aCwgc3RhcnRpbmcgZnJvbSAxLiAqL1xuICBwdWJsaWMgZ2V0RGF0ZU5hbWVzKCk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBmb3JtYXR0ZXIgPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdChTYmJMYW5ndWFnZUNvbnRyb2xsZXIuY3VycmVudCwgeyBkYXk6ICdudW1lcmljJyB9KTtcbiAgICByZXR1cm4gdGhpcy5fcmFuZ2UoMzEsIChpKSA9PiBmb3JtYXR0ZXIuZm9ybWF0KG5ldyBEYXRlKDIwMTcsIDAsIGkgKyAxKSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBzdHJpbmcgYXJyYXkgd2l0aCBsZW5ndGggPSA3LCBmaWxsZWQgd2l0aCB0aGUgbmFtZSBvZiB0aGUgZGF5cyBpbiBhIHdlZWsgc3RhcnRpbmcgZnJvbSBTdW5kYXksIGluIHRoZSBkb2N1bWVudCBsYW5ndWFnZS5cbiAgICogQHBhcmFtIHN0eWxlIFNlZSBgd2Vla2RheWAgaW4gYERhdGVUaW1lRm9ybWF0T3B0aW9uc2AgLSAnbG9uZycgZm9yIGZ1bGwgbmFtZSwgJ3Nob3J0JyBmb3Igc2hvcnQgbmFtZSwgJ25hcnJvdycgZm9yIHNpbmdsZSBsZXR0ZXI7XG4gICAqIEUuZy4sIHdpdGggTW9uZGF5IGluIGVuLWdiOiBgbG9uZ2AgcmV0dXJucyBcIk1vbmRheVwiLCBgc2hvcnRgIHJldHVybnMgXCJNb25cIiwgYG5hcnJvd2AgcmV0dXJucyBcIk1cIi5cbiAgICovXG4gIHB1YmxpYyBnZXREYXlPZldlZWtOYW1lcyhzdHlsZTogJ2xvbmcnIHwgJ3Nob3J0JyB8ICduYXJyb3cnKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IGZvcm1hdHRlciA9IG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KFNiYkxhbmd1YWdlQ29udHJvbGxlci5jdXJyZW50LCB7IHdlZWtkYXk6IHN0eWxlIH0pO1xuICAgIHJldHVybiB0aGlzLl9yYW5nZSg3LCAoaSkgPT4gZm9ybWF0dGVyLmZvcm1hdChuZXcgRGF0ZSgyMDE3LCAwLCBpICsgMSkpKTtcbiAgfVxuXG4gIC8qIERlZmluZXMgd2hpY2ggaXMgdGhlIGZpcnN0IGRheSBvZiB0aGUgd2VlayAoMDogc3VuZGF5OyAxOiBtb25kYXk7IGV0Yy4pLiAqL1xuICBwdWJsaWMgZ2V0Rmlyc3REYXlPZldlZWsoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gMTtcbiAgfVxuXG4gIC8qKiBDYWxjdWxhdGVzIHRoZSBudW1iZXIgb2YgZGF5cyBpbiBhIG1vbnRoIGdpdmVuIHRoZSB5ZWFyIGFuZCB0aGUgbW9udGguICovXG4gIHB1YmxpYyBnZXROdW1EYXlzSW5Nb250aChkYXRlOiBEYXRlKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nZXREYXRlKHRoaXMuX2NyZWF0ZURhdGVXaXRoT3ZlcmZsb3codGhpcy5nZXRZZWFyKGRhdGUpLCB0aGlzLmdldE1vbnRoKGRhdGUpLCAwKSk7XG4gIH1cblxuICAvKiogQ3JlYXRlcyB0b2RheSdzIGRhdGUuICovXG4gIHB1YmxpYyB0b2RheSgpOiBEYXRlIHtcbiAgICByZXR1cm4gbmV3IERhdGUobmV3IERhdGUoKS5zZXRIb3VycygwLCAwLCAwLCAwKSk7XG4gIH1cblxuICAvKiogQ3JlYXRlcyBhIG5ldyBkYXRlLCBnaXZlbiBkYXksIG1vbnRoIGFuZCB5ZWFyOyB0aGUgbWV0aG9kIGRvZXNuJ3QgYWxsb3cgZGF0ZSdzIG92ZXJmbG93LiAqL1xuICBwdWJsaWMgY3JlYXRlRGF0ZSh5ZWFyOiBudW1iZXIsIG1vbnRoOiBudW1iZXIsIGRhdGU6IG51bWJlcik6IERhdGUge1xuICAgIC8vIENoZWNrIGZvciBpbnZhbGlkIG1vbnRoIGFuZCBkYXRlIChleGNlcHQgdXBwZXIgYm91bmQgb24gZGF0ZSB3aGljaCB3ZSBoYXZlIHRvIGNoZWNrIGFmdGVyIGNyZWF0aW5nIHRoZSBEYXRlKS5cbiAgICBpZiAobW9udGggPCAxIHx8IG1vbnRoID4gMTIpIHtcbiAgICAgIHRocm93IEVycm9yKGBJbnZhbGlkIG1vbnRoIGluZGV4IFwiJHttb250aH1cIi4gTW9udGggaW5kZXggaGFzIHRvIGJlIGJldHdlZW4gMSBhbmQgMTIuYCk7XG4gICAgfVxuXG4gICAgaWYgKGRhdGUgPCAxKSB7XG4gICAgICB0aHJvdyBFcnJvcihgSW52YWxpZCBkYXRlIFwiJHtkYXRlfVwiLiBEYXRlIGhhcyB0byBiZSBncmVhdGVyIHRoYW4gMC5gKTtcbiAgICB9XG5cbiAgICBjb25zdCByZXN1bHQgPSB0aGlzLl9jcmVhdGVEYXRlV2l0aE92ZXJmbG93KHllYXIsIG1vbnRoIC0gMSwgZGF0ZSk7XG4gICAgLy8gQ2hlY2sgdGhhdCB0aGUgZGF0ZSB3YXNuJ3QgYWJvdmUgdGhlIHVwcGVyIGJvdW5kIGZvciB0aGUgbW9udGgsIGNhdXNpbmcgdGhlIG1vbnRoIHRvIG92ZXJmbG93XG4gICAgaWYgKHJlc3VsdC5nZXRNb250aCgpICsgMSAhPT0gbW9udGgpIHtcbiAgICAgIHRocm93IEVycm9yKGBJbnZhbGlkIGRhdGUgXCIke2RhdGV9XCIgZm9yIG1vbnRoIHdpdGggaW5kZXggXCIke21vbnRofVwiLmApO1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICAvKiogQ2hlY2tzIHdoZXRoZXIgdGhlIGdpdmVuIGBvYmpgIGlzIGEgRGF0ZS4gKi9cbiAgcHVibGljIGlzRGF0ZUluc3RhbmNlKG9iajogYW55KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIERhdGU7XG4gIH1cblxuICAvKiogQ2hlY2tzIHdoZXRoZXIgdGhlIGdpdmVuIGBkYXRlYCBpcyBhIHZhbGlkIERhdGUuICovXG4gIHB1YmxpYyBpc1ZhbGlkKGRhdGU6IERhdGUgfCBudWxsIHwgdW5kZWZpbmVkKTogZGF0ZSBpcyBEYXRlIHtcbiAgICByZXR1cm4gISFkYXRlICYmICFpc05hTihkYXRlLnZhbHVlT2YoKSk7XG4gIH1cblxuICAvKiogQ3JlYXRlcyBhIG5ldyBkYXRlIGJ5IGNsb25pbmcgdGhlIGdpdmVuIG9uZS4gKi9cbiAgcHVibGljIGNsb25lKGRhdGU6IERhdGUpOiBEYXRlIHtcbiAgICByZXR1cm4gbmV3IERhdGUoZGF0ZS52YWx1ZU9mKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgZGF0ZSBhZGRpbmcgdGhlIG51bWJlciBvZiBwcm92aWRlZCBgeWVhcnNgIHRvIHRoZSBwcm92aWRlZCBgZGF0ZWAuXG4gICAqIEBwYXJhbSBkYXRlIFRoZSBzdGFydGluZyBkYXRlLlxuICAgKiBAcGFyYW0geWVhcnMgVGhlIG51bWJlciBvZiB5ZWFycyB0byBhZGQuXG4gICAqL1xuICBwdWJsaWMgYWRkQ2FsZW5kYXJZZWFycyhkYXRlOiBEYXRlLCB5ZWFyczogbnVtYmVyKTogRGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkQ2FsZW5kYXJNb250aHMoZGF0ZSwgeWVhcnMgKiAxMik7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBkYXRlIGFkZGluZyB0aGUgbnVtYmVyIG9mIHByb3ZpZGVkIGBtb250aHNgIHRvIHRoZSBwcm92aWRlZCBgZGF0ZWAuXG4gICAqIElmIHRoZSBjYWxjdWxhdGVkIG1vbnRoIGhhcyBmZXdlciBkYXlzIHRoYW4gdGhlIG9yaWdpbmFsIG9uZSwgdGhlIGRhdGUgaXMgc2V0IHRvIHRoZSBsYXN0IGRheSBvZiB0aGUgbW9udGguXG4gICAqIEUuZy4sIHdpdGggYGRhdGVgID0gbmV3IERhdGUoMjAyMiwgMCwgMzEpIGFuZCBgbW9udGhzYCA9IDEsIGl0IHJldHVybnMgbmV3IERhdGUoMjAyMiwgMSwgMjgpLlxuICAgKi9cbiAgcHVibGljIGFkZENhbGVuZGFyTW9udGhzKGRhdGU6IERhdGUsIG1vbnRoczogbnVtYmVyKTogRGF0ZSB7XG4gICAgY29uc3QgdGFyZ2V0TW9udGggPSBkYXRlLmdldE1vbnRoKCkgKyBtb250aHM7XG4gICAgY29uc3QgZGF0ZVdpdGhDb3JyZWN0TW9udGggPSBuZXcgRGF0ZShkYXRlLmdldEZ1bGxZZWFyKCksIHRhcmdldE1vbnRoLCAxLCAwLCAwLCAwLCAwKTtcbiAgICBjb25zdCBkYXlzSW5Nb250aCA9IHRoaXMuZ2V0TnVtRGF5c0luTW9udGgoZGF0ZVdpdGhDb3JyZWN0TW9udGgpO1xuICAgIC8vIEFkYXB0IHRoZSBsYXN0IGRheSBvZiBtb250aCBmb3Igc2hvcnRlciBtb250aHNcbiAgICByZXR1cm4gbmV3IERhdGUodGhpcy5jbG9uZShkYXRlKS5zZXRNb250aCh0YXJnZXRNb250aCwgTWF0aC5taW4oZGF5c0luTW9udGgsIGRhdGUuZ2V0RGF0ZSgpKSkpO1xuICB9XG5cbiAgLyoqIENyZWF0ZXMgYSBuZXcgZGF0ZSBieSBhZGRpbmcgdGhlIG51bWJlciBvZiBwcm92aWRlZCBgZGF5c2AgdG8gdGhlIHByb3ZpZGVkIGBkYXRlYC4gKi9cbiAgcHVibGljIGFkZENhbGVuZGFyRGF5cyhkYXRlOiBEYXRlLCBkYXlzOiBudW1iZXIpOiBEYXRlIHtcbiAgICBjb25zdCB0YXJnZXREYXkgPSBkYXRlLmdldERhdGUoKSArIGRheXM7XG4gICAgcmV0dXJuIG5ldyBEYXRlKGRhdGUuZ2V0RnVsbFllYXIoKSwgZGF0ZS5nZXRNb250aCgpLCB0YXJnZXREYXksIDAsIDAsIDAsIDApO1xuICB9XG5cbiAgLyoqIENyZWF0ZXMgYSBEYXRlIGZyb20gYSB2YWxpZCBpbnB1dCAoRGF0ZSBvciBJU08gc3RyaW5nKS4gKi9cbiAgcHVibGljIG92ZXJyaWRlIGRlc2VyaWFsaXplKGRhdGU6IERhdGUgfCBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkKTogRGF0ZSB8IG51bGwge1xuICAgIGlmICh0eXBlb2YgZGF0ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGlmICghZGF0ZSkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH0gZWxzZSBpZiAoSVNPXzg2MDFfUkVHRVgudGVzdChkYXRlKSkge1xuICAgICAgICAvLyBUaGUgYERhdGVgIGNvbnN0cnVjdG9yIGFjY2VwdHMgZm9ybWF0cyBvdGhlciB0aGFuIElTTyA4NjAxLCBzbyB3ZSBuZWVkIHRvIG1ha2Ugc3VyZSB0aGVcbiAgICAgICAgLy8gc3RyaW5nIGlzIHRoZSByaWdodCBmb3JtYXQgZmlyc3QuXG4gICAgICAgIHJldHVybiB0aGlzLmdldFZhbGlkRGF0ZU9yTnVsbChuZXcgRGF0ZShkYXRlLmluY2x1ZGVzKCdUJykgPyBkYXRlIDogZGF0ZSArICdUMDA6MDA6MDAnKSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBzdXBlci5kZXNlcmlhbGl6ZShkYXRlKTtcbiAgfVxuXG4gIC8qKiBSZXR1cm5zIHRoZSByaWdodCBmb3JtYXQgZm9yIHRoZSBgdmFsdWVBc0RhdGVgIHByb3BlcnR5LiAqL1xuICBwdWJsaWMgcGFyc2UodmFsdWU6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQsIG5vdzogRGF0ZSA9IHRoaXMudG9kYXkoKSk6IERhdGUgfCBudWxsIHtcbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBsZXQgZGF0ZTogRGF0ZSB8IG51bGwgPSBudWxsO1xuICAgIGNvbnN0IGlzb01hdGNoID0gdmFsdWUubWF0Y2goSVNPODYwMV9GT1JNQVRfREFURSk7XG4gICAgdHJ5IHtcbiAgICAgIGRhdGUgPSBpc29NYXRjaCA/IHRoaXMuY3JlYXRlRGF0ZSgraXNvTWF0Y2hbMV0sICtpc29NYXRjaFsyXSwgK2lzb01hdGNoWzNdKSA6IG51bGw7XG4gICAgfSBjYXRjaCB7XG4gICAgICAvKiBlbXB0eSAqL1xuICAgIH1cbiAgICBpZiAodGhpcy5pc1ZhbGlkKGRhdGUpKSB7XG4gICAgICByZXR1cm4gZGF0ZTtcbiAgICB9XG5cbiAgICBjb25zdCBzdHJpcHBlZFZhbHVlID0gdmFsdWUucmVwbGFjZSgvXFxEL2csICcgJykudHJpbSgpO1xuXG4gICAgY29uc3QgbWF0Y2g6IFJlZ0V4cE1hdGNoQXJyYXkgfCBudWxsIHwgdW5kZWZpbmVkID0gc3RyaXBwZWRWYWx1ZT8ubWF0Y2goRk9STUFUX0RBVEUpO1xuICAgIGlmIChcbiAgICAgICFtYXRjaCB8fFxuICAgICAgbWF0Y2guaW5kZXggIT09IDAgfHxcbiAgICAgIG1hdGNoLmxlbmd0aCA8PSAyIHx8XG4gICAgICBtYXRjaC5zb21lKChlKSA9PiBlID09PSB1bmRlZmluZWQpIHx8XG4gICAgICAhdGhpcy5pc1ZhbGlkKHRoaXMuY3JlYXRlRGF0ZSgrbWF0Y2hbM10sICttYXRjaFsyXSwgK21hdGNoWzFdKSlcbiAgICApIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGxldCB5ZWFyID0gK21hdGNoWzNdO1xuXG4gICAgaWYgKHR5cGVvZiB5ZWFyID09PSAnbnVtYmVyJyAmJiB5ZWFyIDwgMTAwICYmIHllYXIgPj0gMCkge1xuICAgICAgY29uc3Qgc2hpZnQgPSBub3cuZ2V0RnVsbFllYXIoKSAtIDIwMDAgKyB0aGlzLl9jdXRvZmZZZWFyT2Zmc2V0O1xuICAgICAgeWVhciA9IHllYXIgPD0gc2hpZnQgPyAyMDAwICsgeWVhciA6IDE5MDAgKyB5ZWFyO1xuICAgIH1cblxuICAgIHJldHVybiBuZXcgRGF0ZSh5ZWFyLCArbWF0Y2hbMl0gLSAxLCArbWF0Y2hbMV0pO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGludmFsaWQoKTogRGF0ZSB7XG4gICAgcmV0dXJuIG5ldyBEYXRlKE5hTik7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhbiBhcnJheSB3aXRoIHRoZSBnaXZlbiBsZW5ndGggYW5kIGZpbGxzIGl0IGJ5IG1hcHBpbmcgd2l0aCB0aGUgcHJvdmlkZWQgZnVuY3Rpb24uXG4gICAqIEBwYXJhbSBsZW5ndGggVGhlIGxlbmd0aCBvZiB0aGUgYXJyYXkgdG8gYmUgY3JlYXRlZC5cbiAgICogQHBhcmFtIHZhbHVlRnVuY3Rpb24gVGhlIGZ1bmN0aW9uIG9mIGFycmF5J3MgaW5kZXggdXNlZCB0byBmaWxsIHRoZSBhcnJheS5cbiAgICovXG4gIHByaXZhdGUgX3JhbmdlPFQ+KGxlbmd0aDogbnVtYmVyLCB2YWx1ZUZ1bmN0aW9uOiAoaW5kZXg6IG51bWJlcikgPT4gVCk6IFRbXSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20oeyBsZW5ndGggfSkubWFwKChfLCBpKSA9PiB2YWx1ZUZ1bmN0aW9uKGkpKTtcbiAgfVxuXG4gIC8qKiBDcmVhdGVzIGEgZGF0ZSBidXQgYWxsb3dzIHRoZSBtb250aCBhbmQgZGF0ZSB0byBvdmVyZmxvdy4gKi9cbiAgcHJpdmF0ZSBfY3JlYXRlRGF0ZVdpdGhPdmVyZmxvdyh5ZWFyOiBudW1iZXIsIG1vbnRoOiBudW1iZXIsIGRhdGU6IG51bWJlcik6IERhdGUge1xuICAgIGNvbnN0IHJlc3VsdCA9IG5ldyBEYXRlKHllYXIsIG1vbnRoLCBkYXRlKTtcbiAgICAvLyBXZSBuZWVkIHRvIGNvcnJlY3QgZm9yIHRoZSBmYWN0IHRoYXQgSlMgbmF0aXZlIERhdGUgdHJlYXRzIHllYXJzIGluIHJhbmdlIFswLCA5OV0gYXNcbiAgICAvLyBhYmJyZXZpYXRpb25zIGZvciAxOXh4LlxuICAgIGlmICh5ZWFyID49IDAgJiYgeWVhciA8IDEwMCkge1xuICAgICAgcmVzdWx0LnNldEZ1bGxZZWFyKHRoaXMuZ2V0WWVhcihyZXN1bHQpIC0gMTkwMCk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IGRlZmF1bHREYXRlQWRhcHRlciA9IG5ldyBOYXRpdmVEYXRlQWRhcHRlcigpO1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBU0EsTUFBTSxpQkFDSjtBQUVJLE1BQU8sMEJBQTBCLFlBQWlCO0FBQUEsRUFHdEQsWUFBbUIsbUJBQTJCLElBQUU7O0FBRTlDLFNBQUssb0JBQW9CO0FBQUEsRUFBQTtBQUFBO0FBQUEsRUFJcEIsUUFBUSxNQUFVO0FBQ3ZCLFdBQU8sS0FBSyxZQUFXO0FBQUEsRUFBQTtBQUFBO0FBQUEsRUFJbEIsU0FBUyxNQUFVO0FBQ2pCLFdBQUEsS0FBSyxhQUFhO0FBQUEsRUFBQTtBQUFBO0FBQUEsRUFJcEIsUUFBUSxNQUFVO0FBQ3ZCLFdBQU8sS0FBSyxRQUFPO0FBQUEsRUFBQTtBQUFBO0FBQUEsRUFJZCxhQUFhLE1BQVU7QUFDNUIsV0FBTyxLQUFLLE9BQU07QUFBQSxFQUFBO0FBQUE7QUFBQSxFQUliLDJCQUEyQixNQUFtQjtBQUNuRCxVQUFNLFVBQXNDO0FBQUEsTUFDMUMsTUFBTTtBQUFBLE1BQ04sT0FBTztBQUFBLE1BQ1AsS0FBSztBQUFBO0FBRUEsV0FBQSxJQUFJLEtBQUssZUFBZSxzQkFBc0IsU0FBUyxPQUFPLEVBQUUsT0FBTyxJQUFJLEtBQUssSUFBSSxDQUFDO0FBQUEsRUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVF2RixjQUFjLE9BQWtD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
@@ -1,8 +1,9 @@
1
1
  const forceType = (convert) => {
2
2
  return (target, context) => {
3
+ var _a, _b;
3
4
  const { kind, metadata, name } = context;
4
- const type = globalThis.litPropertyMetadata.get(metadata)?.get(name)?.type ?? String;
5
- convert ??= type;
5
+ const type = ((_b = (_a = globalThis.litPropertyMetadata.get(metadata)) == null ? void 0 : _a.get(name)) == null ? void 0 : _b.type) ?? String;
6
+ convert ?? (convert = type);
6
7
  if (convert === String) {
7
8
  convert = (v) => v == null ? "" : String(v);
8
9
  } else if (convert === Number) {
@@ -25,4 +26,4 @@ const forceType = (convert) => {
25
26
  export {
26
27
  forceType
27
28
  };
28
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yY2UtdHlwZS5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvZGVjb3JhdG9ycy9mb3JjZS10eXBlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUmVhY3RpdmVFbGVtZW50IH0gZnJvbSAnbGl0JztcblxuaW1wb3J0IHR5cGUgeyBJbnRlcmZhY2UsIFByb3BlcnR5RGVjb3JhdG9yIH0gZnJvbSAnLi9iYXNlLmpzJztcblxuLyoqXG4gKiBEZWNvcmF0b3IgdGhhdCBmb3JjZXMgdGhlIHZhbHVlIG9mIGEgcHJvcGVydHkgb3IgZ2V0dGVyL3NldHRlclxuICogdG8gdGhlIGRlZmluZWQgdHlwZS5cbiAqL1xuZXhwb3J0IGNvbnN0IGZvcmNlVHlwZSA9IDxDIGV4dGVuZHMgSW50ZXJmYWNlPFJlYWN0aXZlRWxlbWVudD4sIFY+KFxuICBjb252ZXJ0PzogKHY6IHVua25vd24pID0+IFYsXG4pOiBQcm9wZXJ0eURlY29yYXRvciA9PiB7XG4gIHJldHVybiAoXG4gICAgdGFyZ2V0OiBDbGFzc0FjY2Vzc29yRGVjb3JhdG9yVGFyZ2V0PEMsIFY+IHwgKCh2YWx1ZTogVikgPT4gdm9pZCksXG4gICAgY29udGV4dDogQ2xhc3NBY2Nlc3NvckRlY29yYXRvckNvbnRleHQ8QywgVj4gfCBDbGFzc1NldHRlckRlY29yYXRvckNvbnRleHQ8QywgVj4sXG4gICk6IGFueSA9PiB7XG4gICAgY29uc3QgeyBraW5kLCBtZXRhZGF0YSwgbmFtZSB9ID0gY29udGV4dDtcblxuICAgIGNvbnN0IHR5cGUgPSAoZ2xvYmFsVGhpcy5saXRQcm9wZXJ0eU1ldGFkYXRhLmdldChtZXRhZGF0YSk/LmdldChuYW1lKT8udHlwZSA/PyBTdHJpbmcpIGFzIChcbiAgICAgIHY6IHVua25vd24sXG4gICAgKSA9PiBWO1xuXG4gICAgY29udmVydCA/Pz0gdHlwZTtcblxuICAgIGlmICgoY29udmVydCBhcyB1bmtub3duKSA9PT0gU3RyaW5nKSB7XG4gICAgICAvLyBJbiBjYXNlIG9mIFN0cmluZywgd2Ugd2FudCB0byBoYW5kbGUgbnVsbC91bmRlZmluZWQgZGlmZmVyZW50bHlcbiAgICAgIC8vIGZyb20gdGhlIG5hdGl2ZSBiZWhhdmlvciBpbiB0aGF0IHdlIHdhbnQgdG8gdHJlYXQgdGhlc2UgdmFsdWVzXG4gICAgICAvLyBhcyBlbXB0eSBzdHJpbmdzLlxuICAgICAgY29udmVydCA9ICh2KSA9PiAodiA9PSBudWxsID8gJycgOiBTdHJpbmcodikpIGFzIFY7XG4gICAgfSBlbHNlIGlmICgoY29udmVydCBhcyB1bmtub3duKSA9PT0gTnVtYmVyKSB7XG4gICAgICAvLyBJbiBjYXNlIG9mIE51bWJlciwgd2Ugd2FudCB0byBoYW5kbGUgbnVsbCBkaWZmZXJlbnRseVxuICAgICAgLy8gZnJvbSB0aGUgbmF0aXZlIGJlaGF2aW9yIGluIHRoYXQgd2Ugd2FudCB0byB0cmVhdCBudWxsIGFzIE5hTi5cbiAgICAgIGNvbnZlcnQgPSAodikgPT4gKHYgPT0gbnVsbCA/IE5hTiA6IE51bWJlcih2KSkgYXMgVjtcbiAgICB9XG4gICAgaWYgKGtpbmQgPT09ICdhY2Nlc3NvcicpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHNldCh0aGlzOiBDLCB2YWx1ZSkge1xuICAgICAgICAgICh0YXJnZXQgYXMgQ2xhc3NBY2Nlc3NvckRlY29yYXRvclRhcmdldDxDLCBWPikuc2V0LmNhbGwoXG4gICAgICAgICAgICB0aGlzIGFzIHVua25vd24gYXMgQyxcbiAgICAgICAgICAgIGNvbnZlcnQhKHZhbHVlKSBhcyBWLFxuICAgICAgICAgICk7XG4gICAgICAgIH0sXG4gICAgICB9IHNhdGlzZmllcyBDbGFzc0FjY2Vzc29yRGVjb3JhdG9yUmVzdWx0PEMsIFY+O1xuICAgIH0gZWxzZSBpZiAoa2luZCA9PT0gJ3NldHRlcicpIHtcbiAgICAgIHJldHVybiBmdW5jdGlvbiAodmFsdWU6IHVua25vd24pIHtcbiAgICAgICAgKHRhcmdldCBhcyAodmFsdWU6IHVua25vd24pID0+IHZvaWQpLmNhbGwodGhpcywgY29udmVydCEodmFsdWUpKTtcbiAgICAgIH0gc2F0aXNmaWVzICh0aGlzOiBDLCB2YWx1ZTogVikgPT4gdm9pZDtcbiAgICB9XG5cbiAgICB0aHJvdyBuZXcgRXJyb3IoYFVuc3VwcG9ydGVkIGRlY29yYXRvciBsb2NhdGlvbjogJHtraW5kfWApO1xuICB9O1xufTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRTyxNQUFNLFlBQVksQ0FDdkIsWUFDcUI7QUFDckIsU0FBTyxDQUNMLFFBQ0EsWUFDTztBQUNQLFVBQU0sRUFBRSxNQUFNLFVBQVUsS0FBQSxJQUFTO0FBRWpDLFVBQU0sT0FBUSxXQUFXLG9CQUFvQixJQUFJLFFBQVEsR0FBRyxJQUFJLElBQUksR0FBRyxRQUFRO0FBSS9FLGdCQUFZO0FBRVosUUFBSyxZQUF3QixRQUFRO0FBSW5DLGdCQUFVLENBQUMsTUFBTyxLQUFLLE9BQU8sS0FBSyxPQUFPLENBQUM7QUFBQSxJQUFBLFdBQ2pDLFlBQXdCLFFBQVE7QUFHMUMsZ0JBQVUsQ0FBQyxNQUFPLEtBQUssT0FBTyxNQUFNLE9BQU8sQ0FBQztBQUFBLElBQUE7QUFFOUMsUUFBSSxTQUFTLFlBQVk7QUFDdkIsYUFBTztBQUFBLFFBQ0wsSUFBYSxPQUFLO0FBQ2YsaUJBQThDLElBQUksS0FDakQsTUFDQSxRQUFTLEtBQUssQ0FBTTtBQUFBLFFBQUE7QUFBQSxNQUV4QjtBQUFBLGVBRU8sU0FBUyxVQUFVO0FBQzVCLGFBQU8sU0FBVSxPQUFjO0FBQzVCLGVBQW9DLEtBQUssTUFBTSxRQUFTLEtBQUssQ0FBQztBQUFBLE1BQUE7QUFBQSxJQUNqRTtBQUdGLFVBQU0sSUFBSSxNQUFNLG1DQUFtQyxJQUFJLEVBQUU7QUFBQSxFQUFBO0FBRTdEOyJ9
29
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yY2UtdHlwZS5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvZGVjb3JhdG9ycy9mb3JjZS10eXBlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUmVhY3RpdmVFbGVtZW50IH0gZnJvbSAnbGl0JztcblxuaW1wb3J0IHR5cGUgeyBJbnRlcmZhY2UsIFByb3BlcnR5RGVjb3JhdG9yIH0gZnJvbSAnLi9iYXNlLmpzJztcblxuLyoqXG4gKiBEZWNvcmF0b3IgdGhhdCBmb3JjZXMgdGhlIHZhbHVlIG9mIGEgcHJvcGVydHkgb3IgZ2V0dGVyL3NldHRlclxuICogdG8gdGhlIGRlZmluZWQgdHlwZS5cbiAqL1xuZXhwb3J0IGNvbnN0IGZvcmNlVHlwZSA9IDxDIGV4dGVuZHMgSW50ZXJmYWNlPFJlYWN0aXZlRWxlbWVudD4sIFY+KFxuICBjb252ZXJ0PzogKHY6IHVua25vd24pID0+IFYsXG4pOiBQcm9wZXJ0eURlY29yYXRvciA9PiB7XG4gIHJldHVybiAoXG4gICAgdGFyZ2V0OiBDbGFzc0FjY2Vzc29yRGVjb3JhdG9yVGFyZ2V0PEMsIFY+IHwgKCh2YWx1ZTogVikgPT4gdm9pZCksXG4gICAgY29udGV4dDogQ2xhc3NBY2Nlc3NvckRlY29yYXRvckNvbnRleHQ8QywgVj4gfCBDbGFzc1NldHRlckRlY29yYXRvckNvbnRleHQ8QywgVj4sXG4gICk6IGFueSA9PiB7XG4gICAgY29uc3QgeyBraW5kLCBtZXRhZGF0YSwgbmFtZSB9ID0gY29udGV4dDtcblxuICAgIGNvbnN0IHR5cGUgPSAoZ2xvYmFsVGhpcy5saXRQcm9wZXJ0eU1ldGFkYXRhLmdldChtZXRhZGF0YSk/LmdldChuYW1lKT8udHlwZSA/PyBTdHJpbmcpIGFzIChcbiAgICAgIHY6IHVua25vd24sXG4gICAgKSA9PiBWO1xuXG4gICAgY29udmVydCA/Pz0gdHlwZTtcblxuICAgIGlmICgoY29udmVydCBhcyB1bmtub3duKSA9PT0gU3RyaW5nKSB7XG4gICAgICAvLyBJbiBjYXNlIG9mIFN0cmluZywgd2Ugd2FudCB0byBoYW5kbGUgbnVsbC91bmRlZmluZWQgZGlmZmVyZW50bHlcbiAgICAgIC8vIGZyb20gdGhlIG5hdGl2ZSBiZWhhdmlvciBpbiB0aGF0IHdlIHdhbnQgdG8gdHJlYXQgdGhlc2UgdmFsdWVzXG4gICAgICAvLyBhcyBlbXB0eSBzdHJpbmdzLlxuICAgICAgY29udmVydCA9ICh2KSA9PiAodiA9PSBudWxsID8gJycgOiBTdHJpbmcodikpIGFzIFY7XG4gICAgfSBlbHNlIGlmICgoY29udmVydCBhcyB1bmtub3duKSA9PT0gTnVtYmVyKSB7XG4gICAgICAvLyBJbiBjYXNlIG9mIE51bWJlciwgd2Ugd2FudCB0byBoYW5kbGUgbnVsbCBkaWZmZXJlbnRseVxuICAgICAgLy8gZnJvbSB0aGUgbmF0aXZlIGJlaGF2aW9yIGluIHRoYXQgd2Ugd2FudCB0byB0cmVhdCBudWxsIGFzIE5hTi5cbiAgICAgIGNvbnZlcnQgPSAodikgPT4gKHYgPT0gbnVsbCA/IE5hTiA6IE51bWJlcih2KSkgYXMgVjtcbiAgICB9XG4gICAgaWYgKGtpbmQgPT09ICdhY2Nlc3NvcicpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHNldCh0aGlzOiBDLCB2YWx1ZSkge1xuICAgICAgICAgICh0YXJnZXQgYXMgQ2xhc3NBY2Nlc3NvckRlY29yYXRvclRhcmdldDxDLCBWPikuc2V0LmNhbGwoXG4gICAgICAgICAgICB0aGlzIGFzIHVua25vd24gYXMgQyxcbiAgICAgICAgICAgIGNvbnZlcnQhKHZhbHVlKSBhcyBWLFxuICAgICAgICAgICk7XG4gICAgICAgIH0sXG4gICAgICB9IHNhdGlzZmllcyBDbGFzc0FjY2Vzc29yRGVjb3JhdG9yUmVzdWx0PEMsIFY+O1xuICAgIH0gZWxzZSBpZiAoa2luZCA9PT0gJ3NldHRlcicpIHtcbiAgICAgIHJldHVybiBmdW5jdGlvbiAodmFsdWU6IHVua25vd24pIHtcbiAgICAgICAgKHRhcmdldCBhcyAodmFsdWU6IHVua25vd24pID0+IHZvaWQpLmNhbGwodGhpcywgY29udmVydCEodmFsdWUpKTtcbiAgICAgIH0gc2F0aXNmaWVzICh0aGlzOiBDLCB2YWx1ZTogVikgPT4gdm9pZDtcbiAgICB9XG5cbiAgICB0aHJvdyBuZXcgRXJyb3IoYFVuc3VwcG9ydGVkIGRlY29yYXRvciBsb2NhdGlvbjogJHtraW5kfWApO1xuICB9O1xufTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRYSxNQUFBLFlBQVksQ0FDdkIsWUFDcUI7QUFDZCxTQUFBLENBQ0wsUUFDQSxZQUNPO0FBTkU7QUFPVCxVQUFNLEVBQUUsTUFBTSxVQUFVLEtBQVMsSUFBQTtBQUUzQixVQUFBLFNBQVEsc0JBQVcsb0JBQW9CLElBQUksUUFBUSxNQUEzQyxtQkFBOEMsSUFBSSxVQUFsRCxtQkFBeUQsU0FBUTtBQUluRSwwQkFBQTtBQUVaLFFBQUssWUFBd0IsUUFBUTtBQUluQyxnQkFBVSxDQUFDLE1BQU8sS0FBSyxPQUFPLEtBQUssT0FBTyxDQUFDO0FBQUEsSUFBQSxXQUNqQyxZQUF3QixRQUFRO0FBRzFDLGdCQUFVLENBQUMsTUFBTyxLQUFLLE9BQU8sTUFBTSxPQUFPLENBQUM7QUFBQSxJQUFBO0FBRTlDLFFBQUksU0FBUyxZQUFZO0FBQ2hCLGFBQUE7QUFBQSxRQUNMLElBQWEsT0FBSztBQUNmLGlCQUE4QyxJQUFJLEtBQ2pELE1BQ0EsUUFBUyxLQUFLLENBQU07QUFBQSxRQUFBO0FBQUE7ZUFJakIsU0FBUyxVQUFVO0FBQzVCLGFBQU8sU0FBVSxPQUFjO0FBQzVCLGVBQW9DLEtBQUssTUFBTSxRQUFTLEtBQUssQ0FBQztBQUFBLE1BQ2pFO0FBQUEsSUFBQTtBQUdGLFVBQU0sSUFBSSxNQUFNLG1DQUFtQyxJQUFJLEVBQUU7QUFBQSxFQUMzRDtBQUNGOyJ9
@@ -15,4 +15,4 @@ const getOverride = (callback) => {
15
15
  export {
16
16
  getOverride
17
17
  };
18
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LW92ZXJyaWRlLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9kZWNvcmF0b3JzL2dldC1vdmVycmlkZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJlYWN0aXZlRWxlbWVudCB9IGZyb20gJ2xpdCc7XG5cbmltcG9ydCB0eXBlIHsgSW50ZXJmYWNlIH0gZnJvbSAnLi9iYXNlLmpzJztcblxuLyoqXG4gKiBEZWNvcmF0b3IgdGhhdCBvdmVycmlkZXMgdGhlIHVuZGVybHlpbmcgZ2V0dGVyIG9mIHRoZSBhY2Nlc3Nvci5cbiAqL1xuZXhwb3J0IGNvbnN0IGdldE92ZXJyaWRlID0gPEMgZXh0ZW5kcyBJbnRlcmZhY2U8UmVhY3RpdmVFbGVtZW50PiwgVj4oXG4gIGNhbGxiYWNrOiAoaW5zdGFuY2U6IEMsIGlubmVyVmFsdWU6IFYpID0+IFYsXG4pID0+IHtcbiAgcmV0dXJuIChcbiAgICB0YXJnZXQ6IENsYXNzQWNjZXNzb3JEZWNvcmF0b3JUYXJnZXQ8QywgVj4sXG4gICAgY29udGV4dDogQ2xhc3NBY2Nlc3NvckRlY29yYXRvckNvbnRleHQ8QywgVj4sXG4gICk6IGFueSA9PiB7XG4gICAgY29uc3QgeyBraW5kIH0gPSBjb250ZXh0O1xuICAgIGlmIChraW5kID09PSAnYWNjZXNzb3InKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBnZXQodGhpczogQykge1xuICAgICAgICAgIGNvbnN0IGlubmVyVmFsdWUgPSAodGFyZ2V0IGFzIENsYXNzQWNjZXNzb3JEZWNvcmF0b3JUYXJnZXQ8QywgVj4pLmdldC5jYWxsKFxuICAgICAgICAgICAgdGhpcyBhcyB1bmtub3duIGFzIEMsXG4gICAgICAgICAgKTtcbiAgICAgICAgICByZXR1cm4gY2FsbGJhY2sodGhpcywgaW5uZXJWYWx1ZSk7XG4gICAgICAgIH0sXG4gICAgICB9IHNhdGlzZmllcyBDbGFzc0FjY2Vzc29yRGVjb3JhdG9yUmVzdWx0PEMsIFY+O1xuICAgIH1cblxuICAgIHRocm93IG5ldyBFcnJvcihgVW5zdXBwb3J0ZWQgZGVjb3JhdG9yIGxvY2F0aW9uOiAke2tpbmR9YCk7XG4gIH07XG59O1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9PLE1BQU0sY0FBYyxDQUN6QixhQUNFO0FBQ0YsU0FBTyxDQUNMLFFBQ0EsWUFDTztBQUNQLFVBQU0sRUFBRSxTQUFTO0FBQ2pCLFFBQUksU0FBUyxZQUFZO0FBQ3ZCLGFBQU87QUFBQSxRQUNMLE1BQUc7QUFDRCxnQkFBTSxhQUFjLE9BQThDLElBQUksS0FDcEUsSUFBb0I7QUFFdEIsaUJBQU8sU0FBUyxNQUFNLFVBQVU7QUFBQSxRQUFBO0FBQUEsTUFDbEM7QUFBQTtBQUlKLFVBQU0sSUFBSSxNQUFNLG1DQUFtQyxJQUFJLEVBQUU7QUFBQSxFQUFBO0FBRTdEOyJ9
18
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LW92ZXJyaWRlLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9kZWNvcmF0b3JzL2dldC1vdmVycmlkZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJlYWN0aXZlRWxlbWVudCB9IGZyb20gJ2xpdCc7XG5cbmltcG9ydCB0eXBlIHsgSW50ZXJmYWNlIH0gZnJvbSAnLi9iYXNlLmpzJztcblxuLyoqXG4gKiBEZWNvcmF0b3IgdGhhdCBvdmVycmlkZXMgdGhlIHVuZGVybHlpbmcgZ2V0dGVyIG9mIHRoZSBhY2Nlc3Nvci5cbiAqL1xuZXhwb3J0IGNvbnN0IGdldE92ZXJyaWRlID0gPEMgZXh0ZW5kcyBJbnRlcmZhY2U8UmVhY3RpdmVFbGVtZW50PiwgVj4oXG4gIGNhbGxiYWNrOiAoaW5zdGFuY2U6IEMsIGlubmVyVmFsdWU6IFYpID0+IFYsXG4pID0+IHtcbiAgcmV0dXJuIChcbiAgICB0YXJnZXQ6IENsYXNzQWNjZXNzb3JEZWNvcmF0b3JUYXJnZXQ8QywgVj4sXG4gICAgY29udGV4dDogQ2xhc3NBY2Nlc3NvckRlY29yYXRvckNvbnRleHQ8QywgVj4sXG4gICk6IGFueSA9PiB7XG4gICAgY29uc3QgeyBraW5kIH0gPSBjb250ZXh0O1xuICAgIGlmIChraW5kID09PSAnYWNjZXNzb3InKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBnZXQodGhpczogQykge1xuICAgICAgICAgIGNvbnN0IGlubmVyVmFsdWUgPSAodGFyZ2V0IGFzIENsYXNzQWNjZXNzb3JEZWNvcmF0b3JUYXJnZXQ8QywgVj4pLmdldC5jYWxsKFxuICAgICAgICAgICAgdGhpcyBhcyB1bmtub3duIGFzIEMsXG4gICAgICAgICAgKTtcbiAgICAgICAgICByZXR1cm4gY2FsbGJhY2sodGhpcywgaW5uZXJWYWx1ZSk7XG4gICAgICAgIH0sXG4gICAgICB9IHNhdGlzZmllcyBDbGFzc0FjY2Vzc29yRGVjb3JhdG9yUmVzdWx0PEMsIFY+O1xuICAgIH1cblxuICAgIHRocm93IG5ldyBFcnJvcihgVW5zdXBwb3J0ZWQgZGVjb3JhdG9yIGxvY2F0aW9uOiAke2tpbmR9YCk7XG4gIH07XG59O1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9hLE1BQUEsY0FBYyxDQUN6QixhQUNFO0FBQ0ssU0FBQSxDQUNMLFFBQ0EsWUFDTztBQUNELFVBQUEsRUFBRSxTQUFTO0FBQ2pCLFFBQUksU0FBUyxZQUFZO0FBQ2hCLGFBQUE7QUFBQSxRQUNMLE1BQUc7QUFDRCxnQkFBTSxhQUFjLE9BQThDLElBQUksS0FDcEUsSUFBb0I7QUFFZixpQkFBQSxTQUFTLE1BQU0sVUFBVTtBQUFBLFFBQUE7QUFBQTs7QUFLdEMsVUFBTSxJQUFJLE1BQU0sbUNBQW1DLElBQUksRUFBRTtBQUFBLEVBQzNEO0FBQ0Y7In0=
@@ -19,4 +19,4 @@ const handleDistinctChange = (callback) => {
19
19
  export {
20
20
  handleDistinctChange
21
21
  };
22
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFuZGxlLWRpc3RpbmN0LWNoYW5nZS5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvZGVjb3JhdG9ycy9oYW5kbGUtZGlzdGluY3QtY2hhbmdlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUmVhY3RpdmVFbGVtZW50IH0gZnJvbSAnbGl0JztcblxuaW1wb3J0IHR5cGUgeyBJbnRlcmZhY2UgfSBmcm9tICcuL2Jhc2UuanMnO1xuXG4vKipcbiAqIERlY29yYXRvciB0aGF0IGNhbGxzIHRoZSBnaXZlbiBjYWxsYmFjayB3aGVuIHRoZSB2YWx1ZVxuICogb2YgdGhlIGFzc29jaWF0ZWQgcHJvcGVydHkgaXMgY2hhbmdlZC5cbiAqL1xuZXhwb3J0IGNvbnN0IGhhbmRsZURpc3RpbmN0Q2hhbmdlID0gPEMgZXh0ZW5kcyBJbnRlcmZhY2U8UmVhY3RpdmVFbGVtZW50PiwgVj4oXG4gIGNhbGxiYWNrOiAoaW5zdGFuY2U6IEMsIG5ld1ZhbHVlOiBWLCBvbGRWYWx1ZTogViB8IHVuZGVmaW5lZCkgPT4gdm9pZCxcbikgPT4ge1xuICByZXR1cm4gKFxuICAgIHRhcmdldDogQ2xhc3NBY2Nlc3NvckRlY29yYXRvclRhcmdldDxDLCBWPixcbiAgICBjb250ZXh0OiBDbGFzc0FjY2Vzc29yRGVjb3JhdG9yQ29udGV4dDxDLCBWPixcbiAgKTogYW55ID0+IHtcbiAgICBjb25zdCB7IGtpbmQgfSA9IGNvbnRleHQ7XG4gICAgaWYgKGtpbmQgPT09ICdhY2Nlc3NvcicpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHNldCh0aGlzOiBDLCB2YWx1ZSkge1xuICAgICAgICAgIGNvbnN0IG9sZFZhbHVlID0gY29udGV4dC5hY2Nlc3MuZ2V0KHRoaXMpO1xuICAgICAgICAgICh0YXJnZXQgYXMgQ2xhc3NBY2Nlc3NvckRlY29yYXRvclRhcmdldDxDLCBWPikuc2V0LmNhbGwodGhpcyBhcyB1bmtub3duIGFzIEMsIHZhbHVlKTtcbiAgICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IGNvbnRleHQuYWNjZXNzLmdldCh0aGlzKTtcbiAgICAgICAgICBpZiAobmV3VmFsdWUgIT09IG9sZFZhbHVlKSB7XG4gICAgICAgICAgICBjYWxsYmFjayh0aGlzLCBuZXdWYWx1ZSwgb2xkVmFsdWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgIH0gc2F0aXNmaWVzIENsYXNzQWNjZXNzb3JEZWNvcmF0b3JSZXN1bHQ8QywgVj47XG4gICAgfVxuXG4gICAgdGhyb3cgbmV3IEVycm9yKGBVbnN1cHBvcnRlZCBkZWNvcmF0b3IgbG9jYXRpb246ICR7a2luZH1gKTtcbiAgfTtcbn07XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBUU8sTUFBTSx1QkFBdUIsQ0FDbEMsYUFDRTtBQUNGLFNBQU8sQ0FDTCxRQUNBLFlBQ087QUFDUCxVQUFNLEVBQUUsU0FBUztBQUNqQixRQUFJLFNBQVMsWUFBWTtBQUN2QixhQUFPO0FBQUEsUUFDTCxJQUFhLE9BQUs7QUFDaEIsZ0JBQU0sV0FBVyxRQUFRLE9BQU8sSUFBSSxJQUFJO0FBQ3ZDLGlCQUE4QyxJQUFJLEtBQUssTUFBc0IsS0FBSztBQUNuRixnQkFBTSxXQUFXLFFBQVEsT0FBTyxJQUFJLElBQUk7QUFDeEMsY0FBSSxhQUFhLFVBQVU7QUFDekIscUJBQVMsTUFBTSxVQUFVLFFBQVE7QUFBQSxVQUFBO0FBQUEsUUFDbkM7QUFBQSxNQUNGO0FBQUE7QUFJSixVQUFNLElBQUksTUFBTSxtQ0FBbUMsSUFBSSxFQUFFO0FBQUEsRUFBQTtBQUU3RDsifQ==
22
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFuZGxlLWRpc3RpbmN0LWNoYW5nZS5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvZGVjb3JhdG9ycy9oYW5kbGUtZGlzdGluY3QtY2hhbmdlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUmVhY3RpdmVFbGVtZW50IH0gZnJvbSAnbGl0JztcblxuaW1wb3J0IHR5cGUgeyBJbnRlcmZhY2UgfSBmcm9tICcuL2Jhc2UuanMnO1xuXG4vKipcbiAqIERlY29yYXRvciB0aGF0IGNhbGxzIHRoZSBnaXZlbiBjYWxsYmFjayB3aGVuIHRoZSB2YWx1ZVxuICogb2YgdGhlIGFzc29jaWF0ZWQgcHJvcGVydHkgaXMgY2hhbmdlZC5cbiAqL1xuZXhwb3J0IGNvbnN0IGhhbmRsZURpc3RpbmN0Q2hhbmdlID0gPEMgZXh0ZW5kcyBJbnRlcmZhY2U8UmVhY3RpdmVFbGVtZW50PiwgVj4oXG4gIGNhbGxiYWNrOiAoaW5zdGFuY2U6IEMsIG5ld1ZhbHVlOiBWLCBvbGRWYWx1ZTogViB8IHVuZGVmaW5lZCkgPT4gdm9pZCxcbikgPT4ge1xuICByZXR1cm4gKFxuICAgIHRhcmdldDogQ2xhc3NBY2Nlc3NvckRlY29yYXRvclRhcmdldDxDLCBWPixcbiAgICBjb250ZXh0OiBDbGFzc0FjY2Vzc29yRGVjb3JhdG9yQ29udGV4dDxDLCBWPixcbiAgKTogYW55ID0+IHtcbiAgICBjb25zdCB7IGtpbmQgfSA9IGNvbnRleHQ7XG4gICAgaWYgKGtpbmQgPT09ICdhY2Nlc3NvcicpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHNldCh0aGlzOiBDLCB2YWx1ZSkge1xuICAgICAgICAgIGNvbnN0IG9sZFZhbHVlID0gY29udGV4dC5hY2Nlc3MuZ2V0KHRoaXMpO1xuICAgICAgICAgICh0YXJnZXQgYXMgQ2xhc3NBY2Nlc3NvckRlY29yYXRvclRhcmdldDxDLCBWPikuc2V0LmNhbGwodGhpcyBhcyB1bmtub3duIGFzIEMsIHZhbHVlKTtcbiAgICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IGNvbnRleHQuYWNjZXNzLmdldCh0aGlzKTtcbiAgICAgICAgICBpZiAobmV3VmFsdWUgIT09IG9sZFZhbHVlKSB7XG4gICAgICAgICAgICBjYWxsYmFjayh0aGlzLCBuZXdWYWx1ZSwgb2xkVmFsdWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgIH0gc2F0aXNmaWVzIENsYXNzQWNjZXNzb3JEZWNvcmF0b3JSZXN1bHQ8QywgVj47XG4gICAgfVxuXG4gICAgdGhyb3cgbmV3IEVycm9yKGBVbnN1cHBvcnRlZCBkZWNvcmF0b3IgbG9jYXRpb246ICR7a2luZH1gKTtcbiAgfTtcbn07XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBUWEsTUFBQSx1QkFBdUIsQ0FDbEMsYUFDRTtBQUNLLFNBQUEsQ0FDTCxRQUNBLFlBQ087QUFDRCxVQUFBLEVBQUUsU0FBUztBQUNqQixRQUFJLFNBQVMsWUFBWTtBQUNoQixhQUFBO0FBQUEsUUFDTCxJQUFhLE9BQUs7QUFDaEIsZ0JBQU0sV0FBVyxRQUFRLE9BQU8sSUFBSSxJQUFJO0FBQ08saUJBQUEsSUFBSSxLQUFLLE1BQXNCLEtBQUs7QUFDbkYsZ0JBQU0sV0FBVyxRQUFRLE9BQU8sSUFBSSxJQUFJO0FBQ3hDLGNBQUksYUFBYSxVQUFVO0FBQ2hCLHFCQUFBLE1BQU0sVUFBVSxRQUFRO0FBQUEsVUFBQTtBQUFBLFFBQ25DO0FBQUE7O0FBS04sVUFBTSxJQUFJLE1BQU0sbUNBQW1DLElBQUksRUFBRTtBQUFBLEVBQzNEO0FBQ0Y7In0=
@@ -27,4 +27,4 @@ const hostAttributes = (attributes) => (target) => target.addInitializer((instan
27
27
  export {
28
28
  hostAttributes
29
29
  };
30
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9zdC1hdHRyaWJ1dGVzLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9kZWNvcmF0b3JzL2hvc3QtYXR0cmlidXRlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc1NlcnZlciwgdHlwZSBSZWFjdGl2ZUVsZW1lbnQgfSBmcm9tICdsaXQnO1xuXG5pbXBvcnQgdHlwZSB7IEFic3RyYWN0Q29uc3RydWN0b3IgfSBmcm9tICcuLi9taXhpbnMuanMnO1xuXG5mdW5jdGlvbiBhcHBseUF0dHJpYnV0ZXMoXG4gIGluc3RhbmNlOiBSZWFjdGl2ZUVsZW1lbnQsXG4gIGF0dHJpYnV0ZXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IG51bGw+LFxuKTogdm9pZCB7XG4gIGZvciAoY29uc3QgW25hbWUsIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhhdHRyaWJ1dGVzKSkge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgaW5zdGFuY2Uuc2V0QXR0cmlidXRlKG5hbWUsIHZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaW5zdGFuY2UudG9nZ2xlQXR0cmlidXRlKG5hbWUsIHZhbHVlICE9PSBudWxsKTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBBcHBsaWVzIHRoZSBnaXZlbiBhdHRyaWJ1dGVzIHRvIHRoZSByZWxhdGVkIGVsZW1lbnQuXG4gKiBJZiBhbiBlbXB0eSBzdHJpbmcgaXMgcGFzc2VkIGFzIGEgdmFsdWUsIHRoZSBhdHRyaWJ1dGUgd2lsbCBiZSBzZXRcbiAqIHdpdGhvdXQgdmFsdWUuXG4gKlxuICogQGV4YW1wbGVcbiAqXG4gKiBAY3VzdG9tRWxlbWVudCgnbXktZWxlbWVudClcbiAqIEBob3N0QXR0cmlidXRlcyh7XG4gKiAgIHJvbGU6ICdyZWdpb24nXG4gKiB9KVxuICogZXhwb3J0IGNsYXNzIE15RWxlbWVudCBleHRlbmRzIExpdEVsZW1lbnQge1xuICogICAuLi5cbiAqIH1cbiAqXG4gKiBAcGFyYW0gYXR0cmlidXRlcyBBIHJlY29yZCBvZiBhdHRyaWJ1dGVzIHRvIGFwcGx5IHRvIHRoZSBlbGVtZW50LlxuICovXG5leHBvcnQgY29uc3QgaG9zdEF0dHJpYnV0ZXMgPVxuICAoYXR0cmlidXRlczogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgbnVsbD4pID0+ICh0YXJnZXQ6IEFic3RyYWN0Q29uc3RydWN0b3I8UmVhY3RpdmVFbGVtZW50PikgPT5cbiAgICAodGFyZ2V0IGFzIHR5cGVvZiBSZWFjdGl2ZUVsZW1lbnQpLmFkZEluaXRpYWxpemVyKChpbnN0YW5jZTogUmVhY3RpdmVFbGVtZW50KSA9PiB7XG4gICAgICBpZiAoaXNTZXJ2ZXIpIHtcbiAgICAgICAgYXBwbHlBdHRyaWJ1dGVzKGluc3RhbmNlLCBhdHRyaWJ1dGVzKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIEl0IGlzIG5vdCBhbGxvd2VkIHRvIHNldCBhdHRyaWJ1dGVzIGR1cmluZyBjb25zdHJ1Y3RvciBwaGFzZS4gRHVlIHRvIHRoaXMgd2UgdXNlIGFcbiAgICAgICAgLy8gY29udHJvbGxlciB0byBhc3NpZ24gdGhlIGF0dHJpYnV0ZXMgZHVyaW5nIGxpdCBpbml0aWFsaXphdGlvbiBwaGFzZS5cbiAgICAgICAgLy8gSG9zdENvbm5lY3RlZCBvciBob3N0VXBkYXRlIGNhbiBiZSBjYWxsZWQgZWl0aGVyIG9yZGVyLiBEdWUgdG8gdGhhdCB3ZSBhcHBseSBpbiB0aGVcbiAgICAgICAgLy8gZmlyc3Qgb2NjdXJyZW5jZSBhbmQgZGlyZWN0bHkgcmVtb3ZlIHRoZSBjb250cm9sbGVyLCBzbyBpdCdzIG9ubHkgY2FsbGVkIG9uY2UuXG4gICAgICAgIGluc3RhbmNlLmFkZENvbnRyb2xsZXIoe1xuICAgICAgICAgIGhvc3RDb25uZWN0ZWQoKSB7XG4gICAgICAgICAgICBhcHBseUF0dHJpYnV0ZXMoaW5zdGFuY2UsIGF0dHJpYnV0ZXMpO1xuICAgICAgICAgICAgaW5zdGFuY2UucmVtb3ZlQ29udHJvbGxlcih0aGlzKTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIGhvc3RVcGRhdGUoKSB7XG4gICAgICAgICAgICBhcHBseUF0dHJpYnV0ZXMoaW5zdGFuY2UsIGF0dHJpYnV0ZXMpO1xuICAgICAgICAgICAgaW5zdGFuY2UucmVtb3ZlQ29udHJvbGxlcih0aGlzKTtcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBSUEsU0FBUyxnQkFDUCxVQUNBLFlBQXlDO0FBRXpDLGFBQVcsQ0FBQyxNQUFNLEtBQUssS0FBSyxPQUFPLFFBQVEsVUFBVSxHQUFHO0FBQ3RELFFBQUksT0FBTztBQUNULGVBQVMsYUFBYSxNQUFNLEtBQUs7QUFBQSxJQUFBLE9BQzVCO0FBQ0wsZUFBUyxnQkFBZ0IsTUFBTSxVQUFVLElBQUk7QUFBQSxJQUFBO0FBQUEsRUFDL0M7QUFFSjtBQW1CTyxNQUFNLGlCQUNYLENBQUMsZUFBOEMsQ0FBQyxXQUM3QyxPQUFrQyxlQUFlLENBQUMsYUFBNkI7QUFDOUUsTUFBSSxVQUFVO0FBQ1osb0JBQWdCLFVBQVUsVUFBVTtBQUFBLEVBQUEsT0FDL0I7QUFLTCxhQUFTLGNBQWM7QUFBQSxNQUNyQixnQkFBYTtBQUNYLHdCQUFnQixVQUFVLFVBQVU7QUFDcEMsaUJBQVMsaUJBQWlCLElBQUk7QUFBQSxNQUFBO0FBQUEsTUFFaEMsYUFBVTtBQUNSLHdCQUFnQixVQUFVLFVBQVU7QUFDcEMsaUJBQVMsaUJBQWlCLElBQUk7QUFBQSxNQUFBO0FBQUEsSUFDaEMsQ0FDRDtBQUFBLEVBQUE7QUFFTCxDQUFDOyJ9
30
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9zdC1hdHRyaWJ1dGVzLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9kZWNvcmF0b3JzL2hvc3QtYXR0cmlidXRlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc1NlcnZlciwgdHlwZSBSZWFjdGl2ZUVsZW1lbnQgfSBmcm9tICdsaXQnO1xuXG5pbXBvcnQgdHlwZSB7IEFic3RyYWN0Q29uc3RydWN0b3IgfSBmcm9tICcuLi9taXhpbnMuanMnO1xuXG5mdW5jdGlvbiBhcHBseUF0dHJpYnV0ZXMoXG4gIGluc3RhbmNlOiBSZWFjdGl2ZUVsZW1lbnQsXG4gIGF0dHJpYnV0ZXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IG51bGw+LFxuKTogdm9pZCB7XG4gIGZvciAoY29uc3QgW25hbWUsIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhhdHRyaWJ1dGVzKSkge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgaW5zdGFuY2Uuc2V0QXR0cmlidXRlKG5hbWUsIHZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaW5zdGFuY2UudG9nZ2xlQXR0cmlidXRlKG5hbWUsIHZhbHVlICE9PSBudWxsKTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBBcHBsaWVzIHRoZSBnaXZlbiBhdHRyaWJ1dGVzIHRvIHRoZSByZWxhdGVkIGVsZW1lbnQuXG4gKiBJZiBhbiBlbXB0eSBzdHJpbmcgaXMgcGFzc2VkIGFzIGEgdmFsdWUsIHRoZSBhdHRyaWJ1dGUgd2lsbCBiZSBzZXRcbiAqIHdpdGhvdXQgdmFsdWUuXG4gKlxuICogQGV4YW1wbGVcbiAqXG4gKiBAY3VzdG9tRWxlbWVudCgnbXktZWxlbWVudClcbiAqIEBob3N0QXR0cmlidXRlcyh7XG4gKiAgIHJvbGU6ICdyZWdpb24nXG4gKiB9KVxuICogZXhwb3J0IGNsYXNzIE15RWxlbWVudCBleHRlbmRzIExpdEVsZW1lbnQge1xuICogICAuLi5cbiAqIH1cbiAqXG4gKiBAcGFyYW0gYXR0cmlidXRlcyBBIHJlY29yZCBvZiBhdHRyaWJ1dGVzIHRvIGFwcGx5IHRvIHRoZSBlbGVtZW50LlxuICovXG5leHBvcnQgY29uc3QgaG9zdEF0dHJpYnV0ZXMgPVxuICAoYXR0cmlidXRlczogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgbnVsbD4pID0+ICh0YXJnZXQ6IEFic3RyYWN0Q29uc3RydWN0b3I8UmVhY3RpdmVFbGVtZW50PikgPT5cbiAgICAodGFyZ2V0IGFzIHR5cGVvZiBSZWFjdGl2ZUVsZW1lbnQpLmFkZEluaXRpYWxpemVyKChpbnN0YW5jZTogUmVhY3RpdmVFbGVtZW50KSA9PiB7XG4gICAgICBpZiAoaXNTZXJ2ZXIpIHtcbiAgICAgICAgYXBwbHlBdHRyaWJ1dGVzKGluc3RhbmNlLCBhdHRyaWJ1dGVzKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIEl0IGlzIG5vdCBhbGxvd2VkIHRvIHNldCBhdHRyaWJ1dGVzIGR1cmluZyBjb25zdHJ1Y3RvciBwaGFzZS4gRHVlIHRvIHRoaXMgd2UgdXNlIGFcbiAgICAgICAgLy8gY29udHJvbGxlciB0byBhc3NpZ24gdGhlIGF0dHJpYnV0ZXMgZHVyaW5nIGxpdCBpbml0aWFsaXphdGlvbiBwaGFzZS5cbiAgICAgICAgLy8gSG9zdENvbm5lY3RlZCBvciBob3N0VXBkYXRlIGNhbiBiZSBjYWxsZWQgZWl0aGVyIG9yZGVyLiBEdWUgdG8gdGhhdCB3ZSBhcHBseSBpbiB0aGVcbiAgICAgICAgLy8gZmlyc3Qgb2NjdXJyZW5jZSBhbmQgZGlyZWN0bHkgcmVtb3ZlIHRoZSBjb250cm9sbGVyLCBzbyBpdCdzIG9ubHkgY2FsbGVkIG9uY2UuXG4gICAgICAgIGluc3RhbmNlLmFkZENvbnRyb2xsZXIoe1xuICAgICAgICAgIGhvc3RDb25uZWN0ZWQoKSB7XG4gICAgICAgICAgICBhcHBseUF0dHJpYnV0ZXMoaW5zdGFuY2UsIGF0dHJpYnV0ZXMpO1xuICAgICAgICAgICAgaW5zdGFuY2UucmVtb3ZlQ29udHJvbGxlcih0aGlzKTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIGhvc3RVcGRhdGUoKSB7XG4gICAgICAgICAgICBhcHBseUF0dHJpYnV0ZXMoaW5zdGFuY2UsIGF0dHJpYnV0ZXMpO1xuICAgICAgICAgICAgaW5zdGFuY2UucmVtb3ZlQ29udHJvbGxlcih0aGlzKTtcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBSUEsU0FBUyxnQkFDUCxVQUNBLFlBQXlDO0FBRXpDLGFBQVcsQ0FBQyxNQUFNLEtBQUssS0FBSyxPQUFPLFFBQVEsVUFBVSxHQUFHO0FBQ3RELFFBQUksT0FBTztBQUNBLGVBQUEsYUFBYSxNQUFNLEtBQUs7QUFBQSxJQUFBLE9BQzVCO0FBQ0ksZUFBQSxnQkFBZ0IsTUFBTSxVQUFVLElBQUk7QUFBQSxJQUFBO0FBQUEsRUFDL0M7QUFFSjtBQW1CYSxNQUFBLGlCQUNYLENBQUMsZUFBOEMsQ0FBQyxXQUM3QyxPQUFrQyxlQUFlLENBQUMsYUFBNkI7QUFDOUUsTUFBSSxVQUFVO0FBQ1osb0JBQWdCLFVBQVUsVUFBVTtBQUFBLEVBQUEsT0FDL0I7QUFLTCxhQUFTLGNBQWM7QUFBQSxNQUNyQixnQkFBYTtBQUNYLHdCQUFnQixVQUFVLFVBQVU7QUFDcEMsaUJBQVMsaUJBQWlCLElBQUk7QUFBQSxNQUNoQztBQUFBLE1BQ0EsYUFBVTtBQUNSLHdCQUFnQixVQUFVLFVBQVU7QUFDcEMsaUJBQVMsaUJBQWlCLElBQUk7QUFBQSxNQUFBO0FBQUEsSUFDaEMsQ0FDRDtBQUFBLEVBQUE7QUFFTCxDQUFDOyJ9
@@ -0,0 +1,11 @@
1
+ import { ReactiveElement } from 'lit';
2
+ import { Interface } from './base.js';
3
+ /**
4
+ * Accessor decorator that resolves id references dynamically.
5
+ * If a string is passed (e.g. from an attribute), it will be resolved to the element with that id.
6
+ * This decorator observes the connected document fragment for changes to the id attribute
7
+ * and child elements and if any id reference is established or removed, it will
8
+ * update the associated property.
9
+ */
10
+ export declare const idReference: <C extends Interface<ReactiveElement>, V>() => (target: ClassAccessorDecoratorTarget<C, V>, context: ClassAccessorDecoratorContext<C, V>) => any;
11
+ //# sourceMappingURL=id-reference.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"id-reference.d.ts","sourceRoot":"","sources":["../../../../../src/elements/core/decorators/id-reference.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqC,KAAK,eAAe,EAAE,MAAM,KAAK,CAAC;AAE9E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAgC3C;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,SAAS,CAAC,eAAe,CAAC,EAAE,CAAC,QAE/D,QAAQ,4BAA4B,CAAC,CAAC,EAAE,CAAC,CAAC,EAC1C,SAAS,6BAA6B,CAAC,CAAC,EAAE,CAAC,CAAC,KAC3C,GAkJJ,CAAC"}
@@ -0,0 +1,123 @@
1
+ import { isServer } from "lit";
2
+ const observers = /* @__PURE__ */ new WeakMap();
3
+ const idReferences = /* @__PURE__ */ new WeakMap();
4
+ const idReference = () => {
5
+ return (target, context) => {
6
+ var _a, _b;
7
+ const { kind, metadata, name } = context;
8
+ if (kind === "accessor") {
9
+ if (isServer) {
10
+ return {};
11
+ }
12
+ const attribute = (_b = (_a = globalThis.litPropertyMetadata.get(metadata)) == null ? void 0 : _a.get(name)) == null ? void 0 : _b.attribute;
13
+ const attributeName = typeof attribute === "string" ? attribute : name;
14
+ context.addInitializer(function() {
15
+ this.addController({
16
+ host: this,
17
+ rootNode: null,
18
+ checkIdReference(changedIds) {
19
+ var _a2, _b2;
20
+ const id = this.host.getAttribute(attributeName) ?? idReferences.get(this.host);
21
+ if (id && typeof id === "string" && (!changedIds || changedIds.has(id))) {
22
+ const value = ((_b2 = (_a2 = this.rootNode) == null ? void 0 : _a2.getElementById) == null ? void 0 : _b2.call(_a2, id)) ?? null;
23
+ if (context.access.get(this.host) !== value) {
24
+ context.access.set(this.host, value);
25
+ }
26
+ }
27
+ },
28
+ hostConnected() {
29
+ this.rootNode = this.host.getRootNode();
30
+ this.checkIdReference();
31
+ const observerContext = observers.get(this.rootNode);
32
+ if (observerContext) {
33
+ observerContext.controllers.add(this);
34
+ } else {
35
+ const controllers = /* @__PURE__ */ new Set([this]);
36
+ const observer = new MutationObserver((mutations) => {
37
+ const mutatedIds = /* @__PURE__ */ new Set();
38
+ for (const mutation of mutations) {
39
+ if (mutation.type === "attributes") {
40
+ if (mutation.oldValue) {
41
+ mutatedIds.add(mutation.oldValue);
42
+ }
43
+ if (mutation.target.id) {
44
+ mutatedIds.add(mutation.target.id);
45
+ }
46
+ } else if (mutation.type === "childList") {
47
+ for (const node of [...mutation.addedNodes, ...mutation.removedNodes]) {
48
+ if (node instanceof HTMLElement) {
49
+ if (node.id) {
50
+ mutatedIds.add(node.id);
51
+ }
52
+ node.querySelectorAll("[id]").forEach((e) => {
53
+ if (e.id) {
54
+ mutatedIds.add(e.id);
55
+ }
56
+ });
57
+ }
58
+ }
59
+ }
60
+ }
61
+ controllers.forEach((c) => c.checkIdReference(mutatedIds));
62
+ });
63
+ observer.observe(this.rootNode, {
64
+ attributeFilter: ["id"],
65
+ attributeOldValue: true,
66
+ childList: true,
67
+ subtree: true
68
+ });
69
+ observers.set(this.rootNode, { observer, controllers });
70
+ }
71
+ },
72
+ hostDisconnected() {
73
+ if (isServer || !this.rootNode) {
74
+ return;
75
+ }
76
+ const observerContext = observers.get(this.rootNode);
77
+ if (!observerContext) {
78
+ this.rootNode = null;
79
+ return;
80
+ }
81
+ observerContext.controllers.delete(this);
82
+ if (observerContext.controllers.size === 0) {
83
+ observerContext.observer.disconnect();
84
+ observers.delete(this.rootNode);
85
+ }
86
+ this.rootNode = null;
87
+ }
88
+ });
89
+ });
90
+ return {
91
+ set(value) {
92
+ var _a2, _b2, _c;
93
+ if (typeof value !== "string") {
94
+ idReferences.delete(this);
95
+ if (value instanceof HTMLElement && this.hasAttribute(attributeName) && value.id !== this.getAttribute(attributeName)) {
96
+ {
97
+ const elementIdentity = value.id ? `#${value.id}` : value.classList.value.split(" ").map((c) => `.${c}`).join("");
98
+ console.warn(`An element (${value.localName + elementIdentity}) was passed to the ${this.localName}.${name} property, which does not match the existing id reference attribute ${attributeName} with value ${this.getAttribute(attributeName)}. This will remove the current attribute value.`);
99
+ }
100
+ this.removeAttribute(attributeName);
101
+ }
102
+ } else if (this.hasAttribute(attributeName) && this.getAttribute(attributeName) !== value) {
103
+ return;
104
+ } else {
105
+ const element = value ? (_c = (_b2 = (_a2 = this.getRootNode) == null ? void 0 : _a2.call(this)) == null ? void 0 : _b2.getElementById) == null ? void 0 : _c.call(_b2, value) : null;
106
+ if (element) {
107
+ value = element;
108
+ } else if (value) {
109
+ idReferences.set(this, value);
110
+ value = null;
111
+ }
112
+ }
113
+ target.set.call(this, value);
114
+ }
115
+ };
116
+ }
117
+ throw new Error(`Unsupported decorator location: ${kind}`);
118
+ };
119
+ };
120
+ export {
121
+ idReference
122
+ };
123
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWQtcmVmZXJlbmNlLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9kZWNvcmF0b3JzL2lkLXJlZmVyZW5jZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc1NlcnZlciwgdHlwZSBSZWFjdGl2ZUNvbnRyb2xsZXIsIHR5cGUgUmVhY3RpdmVFbGVtZW50IH0gZnJvbSAnbGl0JztcblxuaW1wb3J0IHR5cGUgeyBJbnRlcmZhY2UgfSBmcm9tICcuL2Jhc2UuanMnO1xuXG5pbnRlcmZhY2UgSWRSZWZlcmVuY2VDb250cm9sbGVyIGV4dGVuZHMgUmVhY3RpdmVDb250cm9sbGVyIHtcbiAgaG9zdDogSW50ZXJmYWNlPFJlYWN0aXZlRWxlbWVudD47XG4gIHJvb3ROb2RlOiBEb2N1bWVudCB8IFNoYWRvd1Jvb3QgfCBudWxsO1xuICBjaGVja0lkUmVmZXJlbmNlOiAoY2hhbmdlZElkcz86IFNldDxzdHJpbmc+KSA9PiB2b2lkO1xufVxuXG4vKipcbiAqIFdlIGtlZXAgdHJhY2sgb2YgdGhlIG9ic2VydmVycyBmb3IgZWFjaCByb290IG5vZGUsIHdoaWNoIGlzIGVpdGhlciBhIGRvY3VtZW50XG4gKiBvciBhIHNoYWRvdyByb290LlxuICogRWFjaCBvYnNlcnZlciBpcyBhc3NvY2lhdGVkIHdpdGggYSBzZXQgb2YgY29udHJvbGxlcnMgdGhhdCBlYWNoIHJlcHJlc2VudFxuICogYW4gaWQgcmVmZXJlbmNlLlxuICogV2hlbmV2ZXIgdGhlIE11dGF0aW9uT2JzZXJ2ZXIgZGV0ZWN0cyBhIGNoYW5nZSB0aGF0IGFmZmVjdHMgYSBwb3RlbnRpYWwgaWRcbiAqIHJlZmVyZW5jZSwgaXQgbm90aWZpZXMgYWxsIGNvbnRyb2xsZXJzIGFzc29jaWF0ZWQgd2l0aCB0aGF0IG9ic2VydmVyLlxuICovXG5jb25zdCBvYnNlcnZlcnMgPSBuZXcgV2Vha01hcDxcbiAgTm9kZSxcbiAge1xuICAgIG9ic2VydmVyOiBNdXRhdGlvbk9ic2VydmVyO1xuICAgIGNvbnRyb2xsZXJzOiBTZXQ8SWRSZWZlcmVuY2VDb250cm9sbGVyPjtcbiAgfVxuPigpO1xuLyoqXG4gKiBXaGVuZXZlciBhbiBpZCBzdHJpbmcgaXMgcGFzc2VkIHRvIHRoZSBzZXR0ZXIgYW5kIG5vIHJlZmVyZW5jZSBpcyBmb3VuZCxcbiAqIHdlIHN0b3JlIGl0IGluIHRoaXMgV2Vha01hcC5cbiAqIFRoZSBrZXkgaXMgdGhlIGhvc3QgZWxlbWVudCBhbmQgdGhlIHZhbHVlIGlzIHRoZSBpZCBzdHJpbmcuXG4gKiBQbGVhc2Ugbm90ZSB0aGF0IGlmIGFuIGlkIHJlZmVyZW5jZSBwcm9wZXJ0eSBoYXMgYm90aCBhbiBlbnRyeVxuICogaW4gdGhpcyBXZWFrTWFwIGFuZCBhbiBhc3NvY2lhdGVkIGF0dHJpYnV0ZSwgdGhlIGF0dHJpYnV0ZSB3aWxsIHRha2UgcHJlY2VkZW5jZS5cbiAqL1xuY29uc3QgaWRSZWZlcmVuY2VzID0gbmV3IFdlYWtNYXA8b2JqZWN0LCBzdHJpbmcgfCBudWxsPigpO1xuXG4vKipcbiAqIEFjY2Vzc29yIGRlY29yYXRvciB0aGF0IHJlc29sdmVzIGlkIHJlZmVyZW5jZXMgZHluYW1pY2FsbHkuXG4gKiBJZiBhIHN0cmluZyBpcyBwYXNzZWQgKGUuZy4gZnJvbSBhbiBhdHRyaWJ1dGUpLCBpdCB3aWxsIGJlIHJlc29sdmVkIHRvIHRoZSBlbGVtZW50IHdpdGggdGhhdCBpZC5cbiAqIFRoaXMgZGVjb3JhdG9yIG9ic2VydmVzIHRoZSBjb25uZWN0ZWQgZG9jdW1lbnQgZnJhZ21lbnQgZm9yIGNoYW5nZXMgdG8gdGhlIGlkIGF0dHJpYnV0ZVxuICogYW5kIGNoaWxkIGVsZW1lbnRzIGFuZCBpZiBhbnkgaWQgcmVmZXJlbmNlIGlzIGVzdGFibGlzaGVkIG9yIHJlbW92ZWQsIGl0IHdpbGxcbiAqIHVwZGF0ZSB0aGUgYXNzb2NpYXRlZCBwcm9wZXJ0eS5cbiAqL1xuZXhwb3J0IGNvbnN0IGlkUmVmZXJlbmNlID0gPEMgZXh0ZW5kcyBJbnRlcmZhY2U8UmVhY3RpdmVFbGVtZW50PiwgVj4oKSA9PiB7XG4gIHJldHVybiAoXG4gICAgdGFyZ2V0OiBDbGFzc0FjY2Vzc29yRGVjb3JhdG9yVGFyZ2V0PEMsIFY+LFxuICAgIGNvbnRleHQ6IENsYXNzQWNjZXNzb3JEZWNvcmF0b3JDb250ZXh0PEMsIFY+LFxuICApOiBhbnkgPT4ge1xuICAgIGNvbnN0IHsga2luZCwgbWV0YWRhdGEsIG5hbWUgfSA9IGNvbnRleHQ7XG4gICAgaWYgKGtpbmQgPT09ICdhY2Nlc3NvcicpIHtcbiAgICAgIGlmIChpc1NlcnZlcikge1xuICAgICAgICByZXR1cm4ge307XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGF0dHJpYnV0ZSA9IGdsb2JhbFRoaXMubGl0UHJvcGVydHlNZXRhZGF0YS5nZXQobWV0YWRhdGEpPy5nZXQobmFtZSk/LmF0dHJpYnV0ZTtcbiAgICAgIGNvbnN0IGF0dHJpYnV0ZU5hbWUgPSB0eXBlb2YgYXR0cmlidXRlID09PSAnc3RyaW5nJyA/IGF0dHJpYnV0ZSA6IChuYW1lIGFzIHN0cmluZyk7XG4gICAgICBjb250ZXh0LmFkZEluaXRpYWxpemVyKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdGhpcy5hZGRDb250cm9sbGVyKHtcbiAgICAgICAgICBob3N0OiB0aGlzLFxuICAgICAgICAgIHJvb3ROb2RlOiBudWxsLFxuICAgICAgICAgIGNoZWNrSWRSZWZlcmVuY2UoY2hhbmdlZElkcz86IFNldDxzdHJpbmc+KTogdm9pZCB7XG4gICAgICAgICAgICBjb25zdCBpZCA9IHRoaXMuaG9zdC5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlTmFtZSkgPz8gaWRSZWZlcmVuY2VzLmdldCh0aGlzLmhvc3QpO1xuICAgICAgICAgICAgaWYgKGlkICYmIHR5cGVvZiBpZCA9PT0gJ3N0cmluZycgJiYgKCFjaGFuZ2VkSWRzIHx8IGNoYW5nZWRJZHMuaGFzKGlkKSkpIHtcbiAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSAodGhpcy5yb290Tm9kZT8uZ2V0RWxlbWVudEJ5SWQ/LihpZCkgPz8gbnVsbCkgYXMgdW5rbm93biBhcyBWO1xuICAgICAgICAgICAgICBpZiAoY29udGV4dC5hY2Nlc3MuZ2V0KHRoaXMuaG9zdCBhcyBDKSAhPT0gdmFsdWUpIHtcbiAgICAgICAgICAgICAgICBjb250ZXh0LmFjY2Vzcy5zZXQodGhpcy5ob3N0IGFzIEMsIHZhbHVlKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgICAgaG9zdENvbm5lY3RlZCgpIHtcbiAgICAgICAgICAgIHRoaXMucm9vdE5vZGUgPSB0aGlzLmhvc3QuZ2V0Um9vdE5vZGUoKSBhcyBEb2N1bWVudCB8IFNoYWRvd1Jvb3Q7XG4gICAgICAgICAgICB0aGlzLmNoZWNrSWRSZWZlcmVuY2UoKTtcbiAgICAgICAgICAgIGNvbnN0IG9ic2VydmVyQ29udGV4dCA9IG9ic2VydmVycy5nZXQodGhpcy5yb290Tm9kZSk7XG5cbiAgICAgICAgICAgIGlmIChvYnNlcnZlckNvbnRleHQpIHtcbiAgICAgICAgICAgICAgb2JzZXJ2ZXJDb250ZXh0LmNvbnRyb2xsZXJzLmFkZCh0aGlzKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGNvbnN0IGNvbnRyb2xsZXJzID0gbmV3IFNldChbdGhpc10pO1xuICAgICAgICAgICAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKChtdXRhdGlvbnMpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBtdXRhdGVkSWRzID0gbmV3IFNldDxzdHJpbmc+KCk7XG5cbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IG11dGF0aW9uIG9mIG11dGF0aW9ucykge1xuICAgICAgICAgICAgICAgICAgaWYgKG11dGF0aW9uLnR5cGUgPT09ICdhdHRyaWJ1dGVzJykge1xuICAgICAgICAgICAgICAgICAgICBpZiAobXV0YXRpb24ub2xkVmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgICBtdXRhdGVkSWRzLmFkZChtdXRhdGlvbi5vbGRWYWx1ZSEpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmICgobXV0YXRpb24udGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5pZCkge1xuICAgICAgICAgICAgICAgICAgICAgIG11dGF0ZWRJZHMuYWRkKChtdXRhdGlvbi50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLmlkKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChtdXRhdGlvbi50eXBlID09PSAnY2hpbGRMaXN0Jykge1xuICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IG5vZGUgb2YgWy4uLm11dGF0aW9uLmFkZGVkTm9kZXMsIC4uLm11dGF0aW9uLnJlbW92ZWROb2Rlc10pIHtcbiAgICAgICAgICAgICAgICAgICAgICBpZiAobm9kZSBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAobm9kZS5pZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBtdXRhdGVkSWRzLmFkZChub2RlLmlkKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIG5vZGUucXVlcnlTZWxlY3RvckFsbCgnW2lkXScpLmZvckVhY2goKGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGUuaWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtdXRhdGVkSWRzLmFkZChlLmlkKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgY29udHJvbGxlcnMuZm9yRWFjaCgoYykgPT4gYy5jaGVja0lkUmVmZXJlbmNlKG11dGF0ZWRJZHMpKTtcbiAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLnJvb3ROb2RlLCB7XG4gICAgICAgICAgICAgICAgYXR0cmlidXRlRmlsdGVyOiBbJ2lkJ10sXG4gICAgICAgICAgICAgICAgYXR0cmlidXRlT2xkVmFsdWU6IHRydWUsXG4gICAgICAgICAgICAgICAgY2hpbGRMaXN0OiB0cnVlLFxuICAgICAgICAgICAgICAgIHN1YnRyZWU6IHRydWUsXG4gICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgIG9ic2VydmVycy5zZXQodGhpcy5yb290Tm9kZSwgeyBvYnNlcnZlciwgY29udHJvbGxlcnMgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICBob3N0RGlzY29ubmVjdGVkKCkge1xuICAgICAgICAgICAgaWYgKGlzU2VydmVyIHx8ICF0aGlzLnJvb3ROb2RlKSB7XG4gICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3Qgb2JzZXJ2ZXJDb250ZXh0ID0gb2JzZXJ2ZXJzLmdldCh0aGlzLnJvb3ROb2RlKTtcbiAgICAgICAgICAgIGlmICghb2JzZXJ2ZXJDb250ZXh0KSB7XG4gICAgICAgICAgICAgIHRoaXMucm9vdE5vZGUgPSBudWxsO1xuICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIG9ic2VydmVyQ29udGV4dC5jb250cm9sbGVycy5kZWxldGUodGhpcyk7XG4gICAgICAgICAgICBpZiAob2JzZXJ2ZXJDb250ZXh0LmNvbnRyb2xsZXJzLnNpemUgPT09IDApIHtcbiAgICAgICAgICAgICAgb2JzZXJ2ZXJDb250ZXh0Lm9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcbiAgICAgICAgICAgICAgb2JzZXJ2ZXJzLmRlbGV0ZSh0aGlzLnJvb3ROb2RlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5yb290Tm9kZSA9IG51bGw7XG4gICAgICAgICAgfSxcbiAgICAgICAgfSBhcyBJZFJlZmVyZW5jZUNvbnRyb2xsZXIpO1xuICAgICAgfSk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBzZXQodGhpczogQywgdmFsdWUpIHtcbiAgICAgICAgICBpZiAodHlwZW9mIHZhbHVlICE9PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgaWRSZWZlcmVuY2VzLmRlbGV0ZSh0aGlzKTtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgdmFsdWUgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCAmJlxuICAgICAgICAgICAgICB0aGlzLmhhc0F0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSAmJlxuICAgICAgICAgICAgICB2YWx1ZS5pZCAhPT0gdGhpcy5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlTmFtZSlcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICBpZiAoaW1wb3J0Lm1ldGEuZW52LkRFVikge1xuICAgICAgICAgICAgICAgIGNvbnN0IGVsZW1lbnRJZGVudGl0eSA9IHZhbHVlLmlkXG4gICAgICAgICAgICAgICAgICA/IGAjJHt2YWx1ZS5pZH1gXG4gICAgICAgICAgICAgICAgICA6IHZhbHVlLmNsYXNzTGlzdC52YWx1ZVxuICAgICAgICAgICAgICAgICAgICAgIC5zcGxpdCgnICcpXG4gICAgICAgICAgICAgICAgICAgICAgLm1hcCgoYykgPT4gYC4ke2N9YClcbiAgICAgICAgICAgICAgICAgICAgICAuam9pbignJyk7XG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAgICAgICAgICAgYEFuIGVsZW1lbnQgKCR7dmFsdWUubG9jYWxOYW1lICsgZWxlbWVudElkZW50aXR5fSkgd2FzIGAgK1xuICAgICAgICAgICAgICAgICAgICBgcGFzc2VkIHRvIHRoZSAke3RoaXMubG9jYWxOYW1lfS4ke25hbWUgYXMgc3RyaW5nfSBwcm9wZXJ0eSwgYCArXG4gICAgICAgICAgICAgICAgICAgIGB3aGljaCBkb2VzIG5vdCBtYXRjaCB0aGUgZXhpc3RpbmcgaWQgcmVmZXJlbmNlIGF0dHJpYnV0ZSBgICtcbiAgICAgICAgICAgICAgICAgICAgYCR7YXR0cmlidXRlTmFtZX0gd2l0aCB2YWx1ZSAke3RoaXMuZ2V0QXR0cmlidXRlKGF0dHJpYnV0ZU5hbWUpfS4gYCArXG4gICAgICAgICAgICAgICAgICAgIGBUaGlzIHdpbGwgcmVtb3ZlIHRoZSBjdXJyZW50IGF0dHJpYnV0ZSB2YWx1ZS5gLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgdGhpcy5yZW1vdmVBdHRyaWJ1dGUoYXR0cmlidXRlTmFtZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgICAgIHRoaXMuaGFzQXR0cmlidXRlKGF0dHJpYnV0ZU5hbWUpICYmXG4gICAgICAgICAgICB0aGlzLmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSAhPT0gdmFsdWVcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIC8vIFdoZW4gYSBzdHJpbmcgaXMgcGFzc2VkIHRvIHRoZSBzZXR0ZXIgYnV0IHRoZSBhdHRyaWJ1dGUgaXMgc2V0IHRvIGFcbiAgICAgICAgICAgIC8vIGRpZmZlcmVudCB2YWx1ZSwgd2UgaWdub3JlIHRoZSBwYXNzZWQgdmFsdWUuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IGVsZW1lbnQgPSB2YWx1ZVxuICAgICAgICAgICAgICA/ICh0aGlzLmdldFJvb3ROb2RlPy4oKSBhcyBEb2N1bWVudCB8IFNoYWRvd1Jvb3QpPy5nZXRFbGVtZW50QnlJZD8uKHZhbHVlKVxuICAgICAgICAgICAgICA6IG51bGw7XG4gICAgICAgICAgICBpZiAoZWxlbWVudCkge1xuICAgICAgICAgICAgICB2YWx1ZSA9IGVsZW1lbnQgYXMgdW5rbm93biBhcyBWO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgICAvLyBJZiB3ZSBhcmUgdW5hYmxlIHRvIHJlc29sdmUgdGhlIGlkIHJlZmVyZW5jZSwgd2UgdGVtcG9yYXJpbHkgc3RvcmUgaXRcbiAgICAgICAgICAgICAgLy8gdG8gdHJ5IHRvIHJlc29sdmUgaXQgbGF0ZXIuXG4gICAgICAgICAgICAgIGlkUmVmZXJlbmNlcy5zZXQodGhpcywgdmFsdWUgYXMgc3RyaW5nKTtcbiAgICAgICAgICAgICAgdmFsdWUgPSBudWxsITtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAodGFyZ2V0IGFzIENsYXNzQWNjZXNzb3JEZWNvcmF0b3JUYXJnZXQ8QywgVj4pLnNldC5jYWxsKHRoaXMgYXMgdW5rbm93biBhcyBDLCB2YWx1ZSk7XG4gICAgICAgIH0sXG4gICAgICB9IHNhdGlzZmllcyBDbGFzc0FjY2Vzc29yRGVjb3JhdG9yUmVzdWx0PEMsIFY+O1xuICAgIH1cblxuICAgIHRocm93IG5ldyBFcnJvcihgVW5zdXBwb3J0ZWQgZGVjb3JhdG9yIGxvY2F0aW9uOiAke2tpbmR9YCk7XG4gIH07XG59O1xuIl0sIm5hbWVzIjpbIl9iIiwiX2EiXSwibWFwcGluZ3MiOiI7QUFrQkEsTUFBTSxnQ0FBZ0I7QUFjdEIsTUFBTSxtQ0FBbUI7QUFTbEIsTUFBTSxjQUFjLE1BQThDO0FBQ2hFLFNBQUEsQ0FDTCxRQUNBLFlBQ087O0FBQ1AsVUFBTSxFQUFFLE1BQU0sVUFBVSxLQUFTLElBQUE7QUFDakMsUUFBSSxTQUFTLFlBQVk7QUFDdkIsVUFBSSxVQUFVO0FBQ1osZUFBTzs7QUFHSCxZQUFBLGFBQVksc0JBQVcsb0JBQW9CLElBQUksUUFBUSxNQUEzQyxtQkFBOEMsSUFBSSxVQUFsRCxtQkFBeUQ7QUFDM0UsWUFBTSxnQkFBZ0IsT0FBTyxjQUFjLFdBQVcsWUFBYTtBQUNuRSxjQUFRLGVBQWUsV0FBQTtBQUNyQixhQUFLLGNBQWM7QUFBQSxVQUNqQixN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
@@ -0,0 +1,23 @@
1
+ import { ComplexAttributeConverter, ReactiveElement } from 'lit';
2
+ import { DateAdapter } from '../datetime.js';
3
+ import { Interface } from './base.js';
4
+ /**
5
+ * Will convert date object values to ISO8601 formatted strings as attributes.
6
+ * Should be used together with the `plainDate` decorator.
7
+ */
8
+ export declare const plainDateConverter: ComplexAttributeConverter;
9
+ export interface SbbPlainDateConfiguration {
10
+ /**
11
+ * Provide a function that will be called if the internal value is null.
12
+ * @param dataAdapter The current date adapter.
13
+ * @returns A date object.
14
+ */
15
+ fallback?: <T>(dataAdapter: DateAdapter<T>) => T;
16
+ }
17
+ /**
18
+ * Decorator that tries to deserialize the given value to a date object
19
+ * and adapts the getter to only return a copy of the internal value,
20
+ * in order to avoid outside manipulation of date objects.
21
+ */
22
+ export declare const plainDate: <C extends Interface<ReactiveElement>, V>(config?: SbbPlainDateConfiguration) => (target: ClassAccessorDecoratorTarget<C, V>, context: ClassAccessorDecoratorContext<C, V>) => any;
23
+ //# sourceMappingURL=plain-date.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plain-date.d.ts","sourceRoot":"","sources":["../../../../../src/elements/core/decorators/plain-date.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,eAAe,EAAE,MAAM,KAAK,CAAC;AAGtE,OAAO,EAAE,KAAK,WAAW,EAAsB,MAAM,gBAAgB,CAAC;AAEtE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAE3C;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,yBAKhC,CAAC;AAEF,MAAM,WAAW,yBAAyB;IACxC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;CAClD;AAED;;;;GAIG;AACH,eAAO,MAAM,SAAS,GAAI,CAAC,SAAS,SAAS,CAAC,eAAe,CAAC,EAAE,CAAC,EAC/D,SAAS,yBAAyB,MAGhC,QAAQ,4BAA4B,CAAC,CAAC,EAAE,CAAC,CAAC,EAC1C,SAAS,6BAA6B,CAAC,CAAC,EAAE,CAAC,CAAC,KAC3C,GA8BJ,CAAC"}
@@ -0,0 +1,37 @@
1
+ import { readConfig } from "../config.js";
2
+ import { defaultDateAdapter } from "../datetime.js";
3
+ const plainDateConverter = {
4
+ toAttribute(value, _type) {
5
+ var _a;
6
+ const dateAdapter = ((_a = readConfig().datetime) == null ? void 0 : _a.dateAdapter) ?? defaultDateAdapter;
7
+ return dateAdapter.isValid(value) ? dateAdapter.toIso8601(value) : null;
8
+ }
9
+ };
10
+ const plainDate = (config) => {
11
+ return (target, context) => {
12
+ const { kind } = context;
13
+ if (kind === "accessor") {
14
+ return {
15
+ set(value) {
16
+ var _a;
17
+ const dateAdapter = ((_a = readConfig().datetime) == null ? void 0 : _a.dateAdapter) ?? defaultDateAdapter;
18
+ value = dateAdapter.getValidDateOrNull(dateAdapter.deserialize(value));
19
+ value = value ? dateAdapter.createDate(dateAdapter.getYear(value), dateAdapter.getMonth(value), dateAdapter.getDate(value)) : null;
20
+ target.set.call(this, value);
21
+ },
22
+ get() {
23
+ var _a, _b;
24
+ const dateAdapter = ((_a = readConfig().datetime) == null ? void 0 : _a.dateAdapter) ?? defaultDateAdapter;
25
+ const value = target.get.call(this);
26
+ return dateAdapter.isValid(value) ? dateAdapter.clone(value) : (_b = config == null ? void 0 : config.fallback) == null ? void 0 : _b.call(config, dateAdapter);
27
+ }
28
+ };
29
+ }
30
+ throw new Error(`Unsupported decorator location: ${kind}`);
31
+ };
32
+ };
33
+ export {
34
+ plainDate,
35
+ plainDateConverter
36
+ };
37
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhaW4tZGF0ZS5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvZGVjb3JhdG9ycy9wbGFpbi1kYXRlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ29tcGxleEF0dHJpYnV0ZUNvbnZlcnRlciwgUmVhY3RpdmVFbGVtZW50IH0gZnJvbSAnbGl0JztcblxuaW1wb3J0IHsgcmVhZENvbmZpZyB9IGZyb20gJy4uL2NvbmZpZy5qcyc7XG5pbXBvcnQgeyB0eXBlIERhdGVBZGFwdGVyLCBkZWZhdWx0RGF0ZUFkYXB0ZXIgfSBmcm9tICcuLi9kYXRldGltZS5qcyc7XG5cbmltcG9ydCB0eXBlIHsgSW50ZXJmYWNlIH0gZnJvbSAnLi9iYXNlLmpzJztcblxuLyoqXG4gKiBXaWxsIGNvbnZlcnQgZGF0ZSBvYmplY3QgdmFsdWVzIHRvIElTTzg2MDEgZm9ybWF0dGVkIHN0cmluZ3MgYXMgYXR0cmlidXRlcy5cbiAqIFNob3VsZCBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggdGhlIGBwbGFpbkRhdGVgIGRlY29yYXRvci5cbiAqL1xuZXhwb3J0IGNvbnN0IHBsYWluRGF0ZUNvbnZlcnRlcjogQ29tcGxleEF0dHJpYnV0ZUNvbnZlcnRlciA9IHtcbiAgdG9BdHRyaWJ1dGUodmFsdWUsIF90eXBlKSB7XG4gICAgY29uc3QgZGF0ZUFkYXB0ZXIgPSByZWFkQ29uZmlnKCkuZGF0ZXRpbWU/LmRhdGVBZGFwdGVyID8/IGRlZmF1bHREYXRlQWRhcHRlcjtcbiAgICByZXR1cm4gZGF0ZUFkYXB0ZXIuaXNWYWxpZCh2YWx1ZSkgPyBkYXRlQWRhcHRlci50b0lzbzg2MDEodmFsdWUpIDogbnVsbDtcbiAgfSxcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2JiUGxhaW5EYXRlQ29uZmlndXJhdGlvbiB7XG4gIC8qKlxuICAgKiBQcm92aWRlIGEgZnVuY3Rpb24gdGhhdCB3aWxsIGJlIGNhbGxlZCBpZiB0aGUgaW50ZXJuYWwgdmFsdWUgaXMgbnVsbC5cbiAgICogQHBhcmFtIGRhdGFBZGFwdGVyIFRoZSBjdXJyZW50IGRhdGUgYWRhcHRlci5cbiAgICogQHJldHVybnMgQSBkYXRlIG9iamVjdC5cbiAgICovXG4gIGZhbGxiYWNrPzogPFQ+KGRhdGFBZGFwdGVyOiBEYXRlQWRhcHRlcjxUPikgPT4gVDtcbn1cblxuLyoqXG4gKiBEZWNvcmF0b3IgdGhhdCB0cmllcyB0byBkZXNlcmlhbGl6ZSB0aGUgZ2l2ZW4gdmFsdWUgdG8gYSBkYXRlIG9iamVjdFxuICogYW5kIGFkYXB0cyB0aGUgZ2V0dGVyIHRvIG9ubHkgcmV0dXJuIGEgY29weSBvZiB0aGUgaW50ZXJuYWwgdmFsdWUsXG4gKiBpbiBvcmRlciB0byBhdm9pZCBvdXRzaWRlIG1hbmlwdWxhdGlvbiBvZiBkYXRlIG9iamVjdHMuXG4gKi9cbmV4cG9ydCBjb25zdCBwbGFpbkRhdGUgPSA8QyBleHRlbmRzIEludGVyZmFjZTxSZWFjdGl2ZUVsZW1lbnQ+LCBWPihcbiAgY29uZmlnPzogU2JiUGxhaW5EYXRlQ29uZmlndXJhdGlvbixcbikgPT4ge1xuICByZXR1cm4gKFxuICAgIHRhcmdldDogQ2xhc3NBY2Nlc3NvckRlY29yYXRvclRhcmdldDxDLCBWPixcbiAgICBjb250ZXh0OiBDbGFzc0FjY2Vzc29yRGVjb3JhdG9yQ29udGV4dDxDLCBWPixcbiAgKTogYW55ID0+IHtcbiAgICBjb25zdCB7IGtpbmQgfSA9IGNvbnRleHQ7XG4gICAgaWYgKGtpbmQgPT09ICdhY2Nlc3NvcicpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHNldCh0aGlzOiBDLCB2YWx1ZSkge1xuICAgICAgICAgIGNvbnN0IGRhdGVBZGFwdGVyID0gcmVhZENvbmZpZygpLmRhdGV0aW1lPy5kYXRlQWRhcHRlciA/PyBkZWZhdWx0RGF0ZUFkYXB0ZXI7XG4gICAgICAgICAgdmFsdWUgPSBkYXRlQWRhcHRlci5nZXRWYWxpZERhdGVPck51bGwoZGF0ZUFkYXB0ZXIuZGVzZXJpYWxpemUodmFsdWUpKTtcbiAgICAgICAgICAvLyBXZSB3YW50IHRvIGNvcHkgdGhlIHZhbHVlIG9mIHRoZSBkYXRlIHdpdGhvdXQgdGhlIHRpbWUgcGFydC5cbiAgICAgICAgICAvLyBBcyBEYXRlQWRhcHRlci5jbG9uZSBkb2VzIG5vdCBndWFyYW50ZWUgdGhhdCwgd2UgdXNlIGNyZWF0ZURhdGUuXG4gICAgICAgICAgdmFsdWUgPSB2YWx1ZVxuICAgICAgICAgICAgPyBkYXRlQWRhcHRlci5jcmVhdGVEYXRlKFxuICAgICAgICAgICAgICAgIGRhdGVBZGFwdGVyLmdldFllYXIodmFsdWUpLFxuICAgICAgICAgICAgICAgIGRhdGVBZGFwdGVyLmdldE1vbnRoKHZhbHVlKSxcbiAgICAgICAgICAgICAgICBkYXRlQWRhcHRlci5nZXREYXRlKHZhbHVlKSxcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgOiBudWxsO1xuICAgICAgICAgIHRhcmdldC5zZXQuY2FsbCh0aGlzLCB2YWx1ZSk7XG4gICAgICAgIH0sXG4gICAgICAgIGdldCh0aGlzOiBDKSB7XG4gICAgICAgICAgY29uc3QgZGF0ZUFkYXB0ZXIgPSByZWFkQ29uZmlnKCkuZGF0ZXRpbWU/LmRhdGVBZGFwdGVyID8/IGRlZmF1bHREYXRlQWRhcHRlcjtcbiAgICAgICAgICBjb25zdCB2YWx1ZSA9IHRhcmdldC5nZXQuY2FsbCh0aGlzKTtcbiAgICAgICAgICByZXR1cm4gZGF0ZUFkYXB0ZXIuaXNWYWxpZCh2YWx1ZSlcbiAgICAgICAgICAgID8gZGF0ZUFkYXB0ZXIuY2xvbmUodmFsdWUpXG4gICAgICAgICAgICA6IChjb25maWc/LmZhbGxiYWNrPy48Vj4oZGF0ZUFkYXB0ZXIpIGFzIFYpO1xuICAgICAgICB9LFxuICAgICAgfSBzYXRpc2ZpZXMgQ2xhc3NBY2Nlc3NvckRlY29yYXRvclJlc3VsdDxDLCBWPjtcbiAgICB9XG5cbiAgICB0aHJvdyBuZXcgRXJyb3IoYFVuc3VwcG9ydGVkIGRlY29yYXRvciBsb2NhdGlvbjogJHtraW5kfWApO1xuICB9O1xufTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQVdPLE1BQU0scUJBQWdEO0FBQUEsRUFDM0QsWUFBWSxPQUFPLE9BQUs7O0FBQ3RCLFVBQU0sZ0JBQWMsZ0JBQUEsRUFBYSxhQUFiLG1CQUF1QixnQkFBZTtBQUMxRCxXQUFPLFlBQVksUUFBUSxLQUFLLElBQUksWUFBWSxVQUFVLEtBQUssSUFBSTtBQUFBLEVBQUE7O0FBa0IxRCxNQUFBLFlBQVksQ0FDdkIsV0FDRTtBQUNLLFNBQUEsQ0FDTCxRQUNBLFlBQ087QUFDRCxVQUFBLEVBQUUsU0FBUztBQUNqQixRQUFJLFNBQVMsWUFBWTtBQUNoQixhQUFBO0FBQUEsUUFDTCxJQUFhLE9BQUs7O0FBQ2hCLGdCQUFNLGdCQUFjLGdCQUFBLEVBQWEsYUFBYixtQkFBdUIsZ0JBQWU7QUFDMUQsa0JBQVEsWUFBWSxtQkFBbUIsWUFBWSxZQUFZLEtBQUssQ0FBQztBQUdyRSxrQkFBUSxRQUNKLFlBQVksV0FDVixZQUFZLFFBQVEsS0FBSyxHQUN6QixZQUFZLFNBQVMsS0FBSyxHQUMxQixZQUFZLFFBQVEsS0FBSyxDQUFDLElBRTVCO0FBQ0csaUJBQUEsSUFBSSxLQUFLLE1BQU0sS0FBSztBQUFBLFFBQzdCO0FBQUEsUUFDQSxNQUFHOztBQUNELGdCQUFNLGdCQUFjLGdCQUFBLEVBQWEsYUFBYixtQkFBdUIsZ0JBQWU7QUFDMUQsZ0JBQU0sUUFBUSxPQUFPLElBQUksS0FBSyxJQUFJO0FBQzNCLGlCQUFBLFlBQVksUUFBUSxLQUFLLElBQzVCLFlBQVksTUFBTSxLQUFLLEtBQ3RCLHNDQUFRLGFBQVIsZ0NBQXNCO0FBQUEsUUFBVztBQUFBOztBQUs1QyxVQUFNLElBQUksTUFBTSxtQ0FBbUMsSUFBSSxFQUFFO0FBQUEsRUFDM0Q7QUFDRjsifQ==
@@ -8,4 +8,4 @@ const slotState = () => (target) => {
8
8
  export {
9
9
  slotState
10
10
  };
11
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xvdC1zdGF0ZS5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvZGVjb3JhdG9ycy9zbG90LXN0YXRlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzU2VydmVyLCB0eXBlIFJlYWN0aXZlRWxlbWVudCB9IGZyb20gJ2xpdCc7XG5cbmltcG9ydCB7IFNiYlNsb3RTdGF0ZUNvbnRyb2xsZXIgfSBmcm9tICcuLi9jb250cm9sbGVycy5qcyc7XG5pbXBvcnQgdHlwZSB7IEFic3RyYWN0Q29uc3RydWN0b3IgfSBmcm9tICcuLi9taXhpbnMuanMnO1xuXG4vKipcbiAqIEFkZHMgdGhlIHtAbGluayBTYmJTbG90U3RhdGVDb250cm9sbGVyfSB0byB0aGUgcmVsYXRlZCBlbGVtZW50LlxuICpcbiAqIEBleGFtcGxlXG4gKlxuICogQGN1c3RvbUVsZW1lbnQoJ215LWVsZW1lbnQpXG4gKiBAc2xvdFN0YXRlKClcbiAqIGV4cG9ydCBjbGFzcyBNeUVsZW1lbnQgZXh0ZW5kcyBMaXRFbGVtZW50IHtcbiAqICAgLi4uXG4gKiB9XG4gKlxuICogQHBhcmFtIGF0dHJpYnV0ZXMgQSByZWNvcmQgb2YgYXR0cmlidXRlcyB0byBhcHBseSB0byB0aGUgZWxlbWVudC5cbiAqL1xuZXhwb3J0IGNvbnN0IHNsb3RTdGF0ZSA9ICgpID0+ICh0YXJnZXQ6IEFic3RyYWN0Q29uc3RydWN0b3I8UmVhY3RpdmVFbGVtZW50PikgPT4ge1xuICBpZiAoIWlzU2VydmVyKSB7XG4gICAgKHRhcmdldCBhcyB0eXBlb2YgUmVhY3RpdmVFbGVtZW50KS5hZGRJbml0aWFsaXplcihcbiAgICAgIChpbnN0YW5jZTogUmVhY3RpdmVFbGVtZW50KSA9PiBuZXcgU2JiU2xvdFN0YXRlQ29udHJvbGxlcihpbnN0YW5jZSksXG4gICAgKTtcbiAgfVxufTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWtCTyxNQUFNLFlBQVksTUFBTSxDQUFDLFdBQWdEO0FBQzlFLE1BQUksQ0FBQyxVQUFVO0FBQ1osV0FBa0MsZUFDakMsQ0FBQyxhQUE4QixJQUFJLHVCQUF1QixRQUFRLENBQUM7QUFBQSxFQUFBO0FBR3pFOyJ9
11
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xvdC1zdGF0ZS5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvZGVjb3JhdG9ycy9zbG90LXN0YXRlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzU2VydmVyLCB0eXBlIFJlYWN0aXZlRWxlbWVudCB9IGZyb20gJ2xpdCc7XG5cbmltcG9ydCB7IFNiYlNsb3RTdGF0ZUNvbnRyb2xsZXIgfSBmcm9tICcuLi9jb250cm9sbGVycy5qcyc7XG5pbXBvcnQgdHlwZSB7IEFic3RyYWN0Q29uc3RydWN0b3IgfSBmcm9tICcuLi9taXhpbnMuanMnO1xuXG4vKipcbiAqIEFkZHMgdGhlIHtAbGluayBTYmJTbG90U3RhdGVDb250cm9sbGVyfSB0byB0aGUgcmVsYXRlZCBlbGVtZW50LlxuICpcbiAqIEBleGFtcGxlXG4gKlxuICogQGN1c3RvbUVsZW1lbnQoJ215LWVsZW1lbnQpXG4gKiBAc2xvdFN0YXRlKClcbiAqIGV4cG9ydCBjbGFzcyBNeUVsZW1lbnQgZXh0ZW5kcyBMaXRFbGVtZW50IHtcbiAqICAgLi4uXG4gKiB9XG4gKlxuICogQHBhcmFtIGF0dHJpYnV0ZXMgQSByZWNvcmQgb2YgYXR0cmlidXRlcyB0byBhcHBseSB0byB0aGUgZWxlbWVudC5cbiAqL1xuZXhwb3J0IGNvbnN0IHNsb3RTdGF0ZSA9ICgpID0+ICh0YXJnZXQ6IEFic3RyYWN0Q29uc3RydWN0b3I8UmVhY3RpdmVFbGVtZW50PikgPT4ge1xuICBpZiAoIWlzU2VydmVyKSB7XG4gICAgKHRhcmdldCBhcyB0eXBlb2YgUmVhY3RpdmVFbGVtZW50KS5hZGRJbml0aWFsaXplcihcbiAgICAgIChpbnN0YW5jZTogUmVhY3RpdmVFbGVtZW50KSA9PiBuZXcgU2JiU2xvdFN0YXRlQ29udHJvbGxlcihpbnN0YW5jZSksXG4gICAgKTtcbiAgfVxufTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWtCYSxNQUFBLFlBQVksTUFBTSxDQUFDLFdBQWdEO0FBQzlFLE1BQUksQ0FBQyxVQUFVO0FBQ1osV0FBa0MsZUFDakMsQ0FBQyxhQUE4QixJQUFJLHVCQUF1QixRQUFRLENBQUM7QUFBQSxFQUFBO0FBR3pFOyJ9
@@ -1,12 +1,12 @@
1
1
  /**
2
2
  * @entrypoint
3
3
  */
4
- export * from './decorators/date-converter.js';
5
- export * from './decorators/date-only-type.js';
6
4
  export * from './decorators/force-type.js';
7
5
  export * from './decorators/get-override.js';
8
6
  export * from './decorators/handle-distinct-change.js';
9
7
  export * from './decorators/host-attributes.js';
8
+ export * from './decorators/id-reference.js';
10
9
  export * from './decorators/omit-empty-converter.js';
10
+ export * from './decorators/plain-date.js';
11
11
  export * from './decorators/slot-state.js';
12
12
  //# sourceMappingURL=decorators.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../../../src/elements/core/decorators.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wCAAwC,CAAC;AACvD,cAAc,iCAAiC,CAAC;AAChD,cAAc,sCAAsC,CAAC;AACrD,cAAc,4BAA4B,CAAC"}
1
+ {"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../../../src/elements/core/decorators.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wCAAwC,CAAC;AACvD,cAAc,iCAAiC,CAAC;AAChD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,sCAAsC,CAAC;AACrD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC"}
@@ -1,19 +1,20 @@
1
- import { dateConverter } from "./decorators/date-converter.js";
2
- import { DateOnlyType } from "./decorators/date-only-type.js";
3
1
  import { forceType } from "./decorators/force-type.js";
4
2
  import { getOverride } from "./decorators/get-override.js";
5
3
  import { handleDistinctChange } from "./decorators/handle-distinct-change.js";
6
4
  import { hostAttributes } from "./decorators/host-attributes.js";
5
+ import { idReference } from "./decorators/id-reference.js";
7
6
  import { omitEmptyConverter } from "./decorators/omit-empty-converter.js";
7
+ import { plainDate, plainDateConverter } from "./decorators/plain-date.js";
8
8
  import { slotState } from "./decorators/slot-state.js";
9
9
  export {
10
- DateOnlyType,
11
- dateConverter,
12
10
  forceType,
13
11
  getOverride,
14
12
  handleDistinctChange,
15
13
  hostAttributes,
14
+ idReference,
16
15
  omitEmptyConverter,
16
+ plainDate,
17
+ plainDateConverter,
17
18
  slotState
18
19
  };
19
20
  //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9ycy5qcyIsInNvdXJjZXMiOltdLCJzb3VyY2VzQ29udGVudCI6W10sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OyJ9
@@ -9,4 +9,4 @@ function isZeroAnimationDuration(element, cssVariableName) {
9
9
  export {
10
10
  isZeroAnimationDuration
11
11
  };
12
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0aW9uLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9kb20vYW5pbWF0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzU2VydmVyIH0gZnJvbSAnbGl0JztcblxuZXhwb3J0IGZ1bmN0aW9uIGlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKGVsZW1lbnQ6IEhUTUxFbGVtZW50LCBjc3NWYXJpYWJsZU5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICBpZiAoaXNTZXJ2ZXIpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuICBjb25zdCBhbmltYXRpb25EdXJhdGlvbiA9IGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCkuZ2V0UHJvcGVydHlWYWx1ZShjc3NWYXJpYWJsZU5hbWUpO1xuXG4gIHJldHVybiBwYXJzZUZsb2F0KGFuaW1hdGlvbkR1cmF0aW9uKSA9PT0gMDtcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBRU0sU0FBVSx3QkFBd0IsU0FBc0IsaUJBQXVCO0FBQ25GLE1BQUksVUFBVTtBQUNaLFdBQU87QUFBQSxFQUFBO0FBRVQsUUFBTSxvQkFBb0IsaUJBQWlCLE9BQU8sRUFBRSxpQkFBaUIsZUFBZTtBQUVwRixTQUFPLFdBQVcsaUJBQWlCLE1BQU07QUFDM0M7In0=
12
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0aW9uLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9kb20vYW5pbWF0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzU2VydmVyIH0gZnJvbSAnbGl0JztcblxuZXhwb3J0IGZ1bmN0aW9uIGlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKGVsZW1lbnQ6IEhUTUxFbGVtZW50LCBjc3NWYXJpYWJsZU5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICBpZiAoaXNTZXJ2ZXIpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuICBjb25zdCBhbmltYXRpb25EdXJhdGlvbiA9IGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCkuZ2V0UHJvcGVydHlWYWx1ZShjc3NWYXJpYWJsZU5hbWUpO1xuXG4gIHJldHVybiBwYXJzZUZsb2F0KGFuaW1hdGlvbkR1cmF0aW9uKSA9PT0gMDtcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBRWdCLFNBQUEsd0JBQXdCLFNBQXNCLGlCQUF1QjtBQUNuRixNQUFJLFVBQVU7QUFDTCxXQUFBO0FBQUEsRUFBQTtBQUVULFFBQU0sb0JBQW9CLGlCQUFpQixPQUFPLEVBQUUsaUJBQWlCLGVBQWU7QUFFN0UsU0FBQSxXQUFXLGlCQUFpQixNQUFNO0FBQzNDOyJ9
@@ -6,7 +6,7 @@ function isBreakpoint(from, to, properties) {
6
6
  }
7
7
  const computedStyle = getComputedStyle(document.documentElement);
8
8
  const breakpointMin = from ? computedStyle.getPropertyValue(`--sbb-breakpoint-${from}-min`) : "";
9
- const breakpointMax = to ? `${parseFloat(computedStyle.getPropertyValue(`--sbb-breakpoint-${to}-${properties?.includeMaxBreakpoint ? "max" : "min"}`)) - (properties?.includeMaxBreakpoint ? 0 : 0.0625)}rem` : "";
9
+ const breakpointMax = to ? `${parseFloat(computedStyle.getPropertyValue(`--sbb-breakpoint-${to}-${(properties == null ? void 0 : properties.includeMaxBreakpoint) ? "max" : "min"}`)) - ((properties == null ? void 0 : properties.includeMaxBreakpoint) ? 0 : 0.0625)}rem` : "";
10
10
  const minWidth = breakpointMin && `(min-width: ${breakpointMin})`;
11
11
  const maxWidth = breakpointMax && `(max-width: ${breakpointMax})`;
12
12
  const and = breakpointMin && breakpointMax && " and ";
@@ -16,4 +16,4 @@ export {
16
16
  breakpoints,
17
17
  isBreakpoint
18
18
  };
19
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWtwb2ludC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvZG9tL2JyZWFrcG9pbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNTZXJ2ZXIgfSBmcm9tICdsaXQnO1xuXG5leHBvcnQgY29uc3QgYnJlYWtwb2ludHMgPSBbJ3plcm8nLCAnbWljcm8nLCAnc21hbGwnLCAnbWVkaXVtJywgJ2xhcmdlJywgJ3dpZGUnLCAndWx0cmEnXSBhcyBjb25zdDtcbmV4cG9ydCB0eXBlIEJyZWFrcG9pbnQgPSAodHlwZW9mIGJyZWFrcG9pbnRzKVtudW1iZXJdO1xuXG4vKipcbiAqIENoZWNrcyB3aGV0aGVyIHRoZSBkb2N1bWVudCBtYXRjaGVzIGEgcGFydGljdWxhciBtZWRpYSBxdWVyeS5cbiAqIEl0IHdpbGwgcmVseSBvbiB0aGUgZ2xvYmFsIENTUyB2YXJpYWJsZXMgdG8gZGV0ZXJtaW5lIHRoZSB2YWx1ZSBvZiB0aGUgYnJlYWtwb2ludHMuXG4gKlxuICogQHBhcmFtIGZyb20gVGhlIGJyZWFrcG9pbnQgY29ycmVzcG9uZGluZyB0byB0aGUgYG1pbi13aWR0aGAgdmFsdWUgb2YgdGhlIG1lZGlhIHF1ZXJ5IChvcHRpb25hbCkuXG4gKiBAcGFyYW0gdG8gVGhlIGJyZWFrcG9pbnQgY29ycmVzcG9uZGluZyB0byB0aGUgYG1heC13aWR0aGAgdmFsdWUgb2YgdGhlIG1lZGlhIHF1ZXJ5IChvcHRpb25hbCkuXG4gKiBAcGFyYW0gcHJvcGVydGllcyBXaGV0aGVyIHRoZSBtYXggYnJlYWtwb2ludCBzaG91bGQgYmUgaW5jbHVkZWRcbiAqIEByZXR1cm5zIEEgYm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIHdpbmRvdyBtYXRjaGVzIHRoZSBicmVha3BvaW50LlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNCcmVha3BvaW50KFxuICBmcm9tPzogQnJlYWtwb2ludCxcbiAgdG8/OiBCcmVha3BvaW50LFxuICBwcm9wZXJ0aWVzPzogeyBpbmNsdWRlTWF4QnJlYWtwb2ludDogYm9vbGVhbiB9LFxuKTogYm9vbGVhbiB8IG51bGwge1xuICBpZiAoaXNTZXJ2ZXIpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0IGNvbXB1dGVkU3R5bGUgPSBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCk7XG4gIGNvbnN0IGJyZWFrcG9pbnRNaW4gPSBmcm9tID8gY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKGAtLXNiYi1icmVha3BvaW50LSR7ZnJvbX0tbWluYCkgOiAnJztcbiAgY29uc3QgYnJlYWtwb2ludE1heCA9IHRvXG4gICAgPyBgJHtcbiAgICAgICAgcGFyc2VGbG9hdChcbiAgICAgICAgICBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5VmFsdWUoXG4gICAgICAgICAgICBgLS1zYmItYnJlYWtwb2ludC0ke3RvfS0ke3Byb3BlcnRpZXM/LmluY2x1ZGVNYXhCcmVha3BvaW50ID8gJ21heCcgOiAnbWluJ31gLFxuICAgICAgICAgICksXG4gICAgICAgICkgLSAocHJvcGVydGllcz8uaW5jbHVkZU1heEJyZWFrcG9pbnQgPyAwIDogMC4wNjI1KVxuICAgICAgfXJlbWBcbiAgICA6ICcnOyAvLyBzdWJ0cmFjdCAxcHggKDAuMDYyNXJlbSkgZnJvbSB0aGUgbWF4LXdpZHRoIGJyZWFrcG9pbnRcblxuICBjb25zdCBtaW5XaWR0aCA9IGJyZWFrcG9pbnRNaW4gJiYgYChtaW4td2lkdGg6ICR7YnJlYWtwb2ludE1pbn0pYDtcbiAgY29uc3QgbWF4V2lkdGggPSBicmVha3BvaW50TWF4ICYmIGAobWF4LXdpZHRoOiAke2JyZWFrcG9pbnRNYXh9KWA7XG4gIGNvbnN0IGFuZCA9IGJyZWFrcG9pbnRNaW4gJiYgYnJlYWtwb2ludE1heCAmJiAnIGFuZCAnO1xuXG4gIHJldHVybiB3aW5kb3cubWF0Y2hNZWRpYShgJHttaW5XaWR0aH0ke2FuZH0ke21heFdpZHRofWApLm1hdGNoZXM7XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUVPLE1BQU0sY0FBYyxDQUFDLFFBQVEsU0FBUyxTQUFTLFVBQVUsU0FBUyxRQUFRLE9BQU87U0FZeEUsYUFDZCxNQUNBLElBQ0EsWUFBOEM7QUFFOUMsTUFBSSxVQUFVO0FBQ1osV0FBTztBQUFBLEVBQUE7QUFHVCxRQUFNLGdCQUFnQixpQkFBaUIsU0FBUyxlQUFlO0FBQy9ELFFBQU0sZ0JBQWdCLE9BQU8sY0FBYyxpQkFBaUIsb0JBQW9CLElBQUksTUFBTSxJQUFJO0FBQzlGLFFBQU0sZ0JBQWdCLEtBQ2xCLEdBQ0UsV0FDRSxjQUFjLGlCQUNaLG9CQUFvQixFQUFFLElBQUksWUFBWSx1QkFBdUIsUUFBUSxLQUFLLEVBQUUsQ0FDN0UsS0FDRSxZQUFZLHVCQUF1QixJQUFJLE9BQzlDLFFBQ0E7QUFFSixRQUFNLFdBQVcsaUJBQWlCLGVBQWUsYUFBYTtBQUM5RCxRQUFNLFdBQVcsaUJBQWlCLGVBQWUsYUFBYTtBQUM5RCxRQUFNLE1BQU0saUJBQWlCLGlCQUFpQjtBQUU5QyxTQUFPLE9BQU8sV0FBVyxHQUFHLFFBQVEsR0FBRyxHQUFHLEdBQUcsUUFBUSxFQUFFLEVBQUU7QUFDM0Q7In0=
19
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWtwb2ludC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvZG9tL2JyZWFrcG9pbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNTZXJ2ZXIgfSBmcm9tICdsaXQnO1xuXG5leHBvcnQgY29uc3QgYnJlYWtwb2ludHMgPSBbJ3plcm8nLCAnbWljcm8nLCAnc21hbGwnLCAnbWVkaXVtJywgJ2xhcmdlJywgJ3dpZGUnLCAndWx0cmEnXSBhcyBjb25zdDtcbmV4cG9ydCB0eXBlIEJyZWFrcG9pbnQgPSAodHlwZW9mIGJyZWFrcG9pbnRzKVtudW1iZXJdO1xuXG4vKipcbiAqIENoZWNrcyB3aGV0aGVyIHRoZSBkb2N1bWVudCBtYXRjaGVzIGEgcGFydGljdWxhciBtZWRpYSBxdWVyeS5cbiAqIEl0IHdpbGwgcmVseSBvbiB0aGUgZ2xvYmFsIENTUyB2YXJpYWJsZXMgdG8gZGV0ZXJtaW5lIHRoZSB2YWx1ZSBvZiB0aGUgYnJlYWtwb2ludHMuXG4gKlxuICogQHBhcmFtIGZyb20gVGhlIGJyZWFrcG9pbnQgY29ycmVzcG9uZGluZyB0byB0aGUgYG1pbi13aWR0aGAgdmFsdWUgb2YgdGhlIG1lZGlhIHF1ZXJ5IChvcHRpb25hbCkuXG4gKiBAcGFyYW0gdG8gVGhlIGJyZWFrcG9pbnQgY29ycmVzcG9uZGluZyB0byB0aGUgYG1heC13aWR0aGAgdmFsdWUgb2YgdGhlIG1lZGlhIHF1ZXJ5IChvcHRpb25hbCkuXG4gKiBAcGFyYW0gcHJvcGVydGllcyBXaGV0aGVyIHRoZSBtYXggYnJlYWtwb2ludCBzaG91bGQgYmUgaW5jbHVkZWRcbiAqIEByZXR1cm5zIEEgYm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIHdpbmRvdyBtYXRjaGVzIHRoZSBicmVha3BvaW50LlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNCcmVha3BvaW50KFxuICBmcm9tPzogQnJlYWtwb2ludCxcbiAgdG8/OiBCcmVha3BvaW50LFxuICBwcm9wZXJ0aWVzPzogeyBpbmNsdWRlTWF4QnJlYWtwb2ludDogYm9vbGVhbiB9LFxuKTogYm9vbGVhbiB8IG51bGwge1xuICBpZiAoaXNTZXJ2ZXIpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0IGNvbXB1dGVkU3R5bGUgPSBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCk7XG4gIGNvbnN0IGJyZWFrcG9pbnRNaW4gPSBmcm9tID8gY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKGAtLXNiYi1icmVha3BvaW50LSR7ZnJvbX0tbWluYCkgOiAnJztcbiAgY29uc3QgYnJlYWtwb2ludE1heCA9IHRvXG4gICAgPyBgJHtcbiAgICAgICAgcGFyc2VGbG9hdChcbiAgICAgICAgICBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5VmFsdWUoXG4gICAgICAgICAgICBgLS1zYmItYnJlYWtwb2ludC0ke3RvfS0ke3Byb3BlcnRpZXM/LmluY2x1ZGVNYXhCcmVha3BvaW50ID8gJ21heCcgOiAnbWluJ31gLFxuICAgICAgICAgICksXG4gICAgICAgICkgLSAocHJvcGVydGllcz8uaW5jbHVkZU1heEJyZWFrcG9pbnQgPyAwIDogMC4wNjI1KVxuICAgICAgfXJlbWBcbiAgICA6ICcnOyAvLyBzdWJ0cmFjdCAxcHggKDAuMDYyNXJlbSkgZnJvbSB0aGUgbWF4LXdpZHRoIGJyZWFrcG9pbnRcblxuICBjb25zdCBtaW5XaWR0aCA9IGJyZWFrcG9pbnRNaW4gJiYgYChtaW4td2lkdGg6ICR7YnJlYWtwb2ludE1pbn0pYDtcbiAgY29uc3QgbWF4V2lkdGggPSBicmVha3BvaW50TWF4ICYmIGAobWF4LXdpZHRoOiAke2JyZWFrcG9pbnRNYXh9KWA7XG4gIGNvbnN0IGFuZCA9IGJyZWFrcG9pbnRNaW4gJiYgYnJlYWtwb2ludE1heCAmJiAnIGFuZCAnO1xuXG4gIHJldHVybiB3aW5kb3cubWF0Y2hNZWRpYShgJHttaW5XaWR0aH0ke2FuZH0ke21heFdpZHRofWApLm1hdGNoZXM7XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUVhLE1BQUEsY0FBYyxDQUFDLFFBQVEsU0FBUyxTQUFTLFVBQVUsU0FBUyxRQUFRLE9BQU87QUFZeEUsU0FBQSxhQUNkLE1BQ0EsSUFDQSxZQUE4QztBQUU5QyxNQUFJLFVBQVU7QUFDTCxXQUFBO0FBQUEsRUFBQTtBQUdILFFBQUEsZ0JBQWdCLGlCQUFpQixTQUFTLGVBQWU7QUFDL0QsUUFBTSxnQkFBZ0IsT0FBTyxjQUFjLGlCQUFpQixvQkFBb0IsSUFBSSxNQUFNLElBQUk7QUFDeEYsUUFBQSxnQkFBZ0IsS0FDbEIsR0FDRSxXQUNFLGNBQWMsaUJBQ1osb0JBQW9CLEVBQUUsS0FBSSx5Q0FBWSx3QkFBdUIsUUFBUSxLQUFLLEVBQUUsQ0FDN0UsTUFDRSx5Q0FBWSx3QkFBdUIsSUFBSSxPQUM5QyxRQUNBO0FBRUUsUUFBQSxXQUFXLGlCQUFpQixlQUFlLGFBQWE7QUFDeEQsUUFBQSxXQUFXLGlCQUFpQixlQUFlLGFBQWE7QUFDeEQsUUFBQSxNQUFNLGlCQUFpQixpQkFBaUI7QUFFdkMsU0FBQSxPQUFPLFdBQVcsR0FBRyxRQUFRLEdBQUcsR0FBRyxHQUFHLFFBQVEsRUFBRSxFQUFFO0FBQzNEOyJ9
@@ -18,4 +18,4 @@ export {
18
18
  ACTION_ELEMENTS,
19
19
  hostContext
20
20
  };
21
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9zdC1jb250ZXh0LmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9kb20vaG9zdC1jb250ZXh0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzU2VydmVyIH0gZnJvbSAnbGl0JztcblxuLyoqXG4gKiBMb29rcyBmb3IgdGhlIGNsb3Nlc3QgZWxlbWVudCBtYXRjaGluZyB0aGUgZ2l2ZW4gc2VsZWN0b3Igc3RhcnRpbmcgZnJvbSB0aGUgZ2l2ZW4gZWxlbWVudC5cbiAqIFJldHVybnMgbnVsbCwgaWYgbm9uZSBvZiB0aGUgYW5jZXN0b3IgbWF0Y2guXG4gKlxuICogQHBhcmFtIHNlbGVjdG9yIFRoZSBzZWxlY3RvciB0byBtYXRjaCBhbmNlc3RvciBhZ2FpbnN0LlxuICogQHBhcmFtIGVsZW1lbnQgVGhlIGJhc2UgZWxlbWVudCBmcm9tIHdoaWNoIHRvIHN0YXJ0IHRoZSBzZWFyY2guXG4gKiBAcmV0dXJucyBUaGUgY2xvc2VzdCBlbGVtZW50IG1hdGNoaW5nIHRoZSBzZWxlY3RvciBvciBudWxsIGlmIG5vbmUgaXMgZm91bmQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBob3N0Q29udGV4dChzZWxlY3Rvcjogc3RyaW5nLCBlbGVtZW50OiBFbGVtZW50KTogRWxlbWVudCB8IG51bGwge1xuICBpZiAoaXNTZXJ2ZXIpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICAvLyBTdGFydCB3aXRoIHBhcmVudCBlbGVtZW50IGluIG9yZGVyIHRvIGF2b2lkIGZpbmRpbmcgZWxlbWVudCBpdHNlbGZcbiAgZWxlbWVudCA9IGVsZW1lbnQucGFyZW50RWxlbWVudCA/PyAoZWxlbWVudC5nZXRSb290Tm9kZSgpIGFzIFNoYWRvd1Jvb3QpLmhvc3Q7XG4gIHdoaWxlIChlbGVtZW50ICYmIChlbGVtZW50IGFzIGFueSkgIT09IGRvY3VtZW50ICYmIChlbGVtZW50IGFzIGFueSkgIT09IHdpbmRvdykge1xuICAgIGNvbnN0IG1hdGNoID0gZWxlbWVudC5jbG9zZXN0KHNlbGVjdG9yKTtcbiAgICBpZiAobWF0Y2gpIHtcbiAgICAgIHJldHVybiBtYXRjaDtcbiAgICB9XG5cbiAgICBlbGVtZW50ID0gKGVsZW1lbnQuZ2V0Um9vdE5vZGUoKSBhcyBTaGFkb3dSb290KS5ob3N0O1xuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbi8vIEEgbGlzdCBvZiBlbGVtZW50cyB0aGF0IHNob3VsZCBub3QgYWxsb3cgYW5vdGhlciBhbmNob3Igb3IgYnV0dG9uIGVsZW1lbnQgaW5zaWRlIHRoZW0uXG4vLyBOZWVkcyB0byBiZSBleHRlbmRlZCBpZiBhZGRpdGlvbmFsIGVsZW1lbnRzIGZhbGwgaW50byB0aGlzIGNhdGVnb3J5LlxuZXhwb3J0IGNvbnN0IEFDVElPTl9FTEVNRU5UUyA9ICdhLGJ1dHRvbixzYmItdGVhc2VyLWhlcm8sc2JiLXRlYXNlcic7XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQVVNLFNBQVUsWUFBWSxVQUFrQixTQUFnQjtBQUM1RCxNQUFJLFVBQVU7QUFDWixXQUFPO0FBQUEsRUFBQTtBQUdULFlBQVUsUUFBUSxpQkFBa0IsUUFBUSxZQUFBLEVBQTZCO0FBQ3pFLFNBQU8sV0FBWSxZQUFvQixZQUFhLFlBQW9CLFFBQVE7QUFDOUUsVUFBTSxRQUFRLFFBQVEsUUFBUSxRQUFRO0FBQ3RDLFFBQUksT0FBTztBQUNULGFBQU87QUFBQSxJQUFBO0FBR1QsY0FBVyxRQUFRLGNBQTZCO0FBQUEsRUFBQTtBQUdsRCxTQUFPO0FBQ1Q7QUFJTyxNQUFNLGtCQUFrQjsifQ==
21
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9zdC1jb250ZXh0LmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9kb20vaG9zdC1jb250ZXh0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzU2VydmVyIH0gZnJvbSAnbGl0JztcblxuLyoqXG4gKiBMb29rcyBmb3IgdGhlIGNsb3Nlc3QgZWxlbWVudCBtYXRjaGluZyB0aGUgZ2l2ZW4gc2VsZWN0b3Igc3RhcnRpbmcgZnJvbSB0aGUgZ2l2ZW4gZWxlbWVudC5cbiAqIFJldHVybnMgbnVsbCwgaWYgbm9uZSBvZiB0aGUgYW5jZXN0b3IgbWF0Y2guXG4gKlxuICogQHBhcmFtIHNlbGVjdG9yIFRoZSBzZWxlY3RvciB0byBtYXRjaCBhbmNlc3RvciBhZ2FpbnN0LlxuICogQHBhcmFtIGVsZW1lbnQgVGhlIGJhc2UgZWxlbWVudCBmcm9tIHdoaWNoIHRvIHN0YXJ0IHRoZSBzZWFyY2guXG4gKiBAcmV0dXJucyBUaGUgY2xvc2VzdCBlbGVtZW50IG1hdGNoaW5nIHRoZSBzZWxlY3RvciBvciBudWxsIGlmIG5vbmUgaXMgZm91bmQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBob3N0Q29udGV4dChzZWxlY3Rvcjogc3RyaW5nLCBlbGVtZW50OiBFbGVtZW50KTogRWxlbWVudCB8IG51bGwge1xuICBpZiAoaXNTZXJ2ZXIpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICAvLyBTdGFydCB3aXRoIHBhcmVudCBlbGVtZW50IGluIG9yZGVyIHRvIGF2b2lkIGZpbmRpbmcgZWxlbWVudCBpdHNlbGZcbiAgZWxlbWVudCA9IGVsZW1lbnQucGFyZW50RWxlbWVudCA/PyAoZWxlbWVudC5nZXRSb290Tm9kZSgpIGFzIFNoYWRvd1Jvb3QpLmhvc3Q7XG4gIHdoaWxlIChlbGVtZW50ICYmIChlbGVtZW50IGFzIGFueSkgIT09IGRvY3VtZW50ICYmIChlbGVtZW50IGFzIGFueSkgIT09IHdpbmRvdykge1xuICAgIGNvbnN0IG1hdGNoID0gZWxlbWVudC5jbG9zZXN0KHNlbGVjdG9yKTtcbiAgICBpZiAobWF0Y2gpIHtcbiAgICAgIHJldHVybiBtYXRjaDtcbiAgICB9XG5cbiAgICBlbGVtZW50ID0gKGVsZW1lbnQuZ2V0Um9vdE5vZGUoKSBhcyBTaGFkb3dSb290KS5ob3N0O1xuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbi8vIEEgbGlzdCBvZiBlbGVtZW50cyB0aGF0IHNob3VsZCBub3QgYWxsb3cgYW5vdGhlciBhbmNob3Igb3IgYnV0dG9uIGVsZW1lbnQgaW5zaWRlIHRoZW0uXG4vLyBOZWVkcyB0byBiZSBleHRlbmRlZCBpZiBhZGRpdGlvbmFsIGVsZW1lbnRzIGZhbGwgaW50byB0aGlzIGNhdGVnb3J5LlxuZXhwb3J0IGNvbnN0IEFDVElPTl9FTEVNRU5UUyA9ICdhLGJ1dHRvbixzYmItdGVhc2VyLWhlcm8sc2JiLXRlYXNlcic7XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQVVnQixTQUFBLFlBQVksVUFBa0IsU0FBZ0I7QUFDNUQsTUFBSSxVQUFVO0FBQ0wsV0FBQTtBQUFBLEVBQUE7QUFHVCxZQUFVLFFBQVEsaUJBQWtCLFFBQVEsWUFBNkIsRUFBQTtBQUN6RSxTQUFPLFdBQVksWUFBb0IsWUFBYSxZQUFvQixRQUFRO0FBQ3hFLFVBQUEsUUFBUSxRQUFRLFFBQVEsUUFBUTtBQUN0QyxRQUFJLE9BQU87QUFDRixhQUFBO0FBQUEsSUFBQTtBQUdFLGNBQUEsUUFBUSxjQUE2QjtBQUFBLEVBQUE7QUFHM0MsU0FBQTtBQUNUO0FBSU8sTUFBTSxrQkFBa0I7In0=
@@ -29,4 +29,4 @@ export {
29
29
  isTrident,
30
30
  isWebkit
31
31
  };
32
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhdGZvcm0uanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL2RvbS9wbGF0Zm9ybS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUaGlzIGZpbGUgaXMgZnJlZWx5IGluc3BpcmVkIGJ5IEFuZ3VsYXIgTWF0ZXJpYWwgc29sdXRpb24uXG4vLyBSZWZlcmVuY2U6IGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2NvbXBvbmVudHMvYmxvYi9tYWluL3NyYy9jZGsvcGxhdGZvcm0vcGxhdGZvcm0udHNcbmltcG9ydCB7IGlzU2VydmVyIH0gZnJvbSAnbGl0JztcblxuLy8gV2hldGhlciB0aGUgY3VycmVudCBwbGF0Zm9ybSBzdXBwb3J0cyB0aGUgVjggQnJlYWsgSXRlcmF0b3IuIFRoZSBWOCBjaGVja1xuLy8gaXMgbmVjZXNzYXJ5IHRvIGRldGVjdCBhbGwgQmxpbmsgYmFzZWQgYnJvd3NlcnMuXG5sZXQgaGFzVjhCcmVha0l0ZXJhdG9yOiBib29sZWFuO1xuXG4vLyBXZSBuZWVkIGEgdHJ5L2NhdGNoIGFyb3VuZCB0aGUgcmVmZXJlbmNlIHRvIGBJbnRsYCwgYmVjYXVzZSBhY2Nlc3NpbmcgaXQgaW4gc29tZSBjYXNlcyBjYW5cbi8vIGNhdXNlIElFIHRvIHRocm93LiBUaGVzZSBjYXNlcyBhcmUgdGllZCB0byBwYXJ0aWN1bGFyIHZlcnNpb25zIG9mIFdpbmRvd3MgYW5kIGNhbiBoYXBwZW4gaWZcbi8vIHRoZSBjb25zdW1lciBpcyBwcm92aWRpbmcgYSBwb2x5ZmlsbGVkIGBNYXBgLiBTZWU6XG4vLyBodHRwczovL2dpdGh1Yi5jb20vTWljcm9zb2Z0L0NoYWtyYUNvcmUvaXNzdWVzLzMxODlcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2NvbXBvbmVudHMvaXNzdWVzLzE1Njg3XG50cnkge1xuICBoYXNWOEJyZWFrSXRlcmF0b3IgPSB0eXBlb2YgSW50bCAhPT0gJ3VuZGVmaW5lZCcgJiYgKEludGwgYXMgYW55KS52OEJyZWFrSXRlcmF0b3I7XG59IGNhdGNoIHtcbiAgaGFzVjhCcmVha0l0ZXJhdG9yID0gZmFsc2U7XG59XG5cbi8qKiBXaGV0aGVyIHRoZSBjdXJyZW50IGJyb3dzZXIgaXMgTWljcm9zb2Z0IEVkZ2UuICovXG5leHBvcnQgY29uc3QgaXNFZGdlID0gIWlzU2VydmVyICYmIC8oZWRnZSkvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpO1xuXG4vKiogV2hldGhlciB0aGUgY3VycmVudCByZW5kZXJpbmcgZW5naW5lIGlzIE1pY3Jvc29mdCBUcmlkZW50LiAqL1xuZXhwb3J0IGNvbnN0IGlzVHJpZGVudCA9ICFpc1NlcnZlciAmJiAvKG1zaWV8dHJpZGVudCkvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpO1xuXG4vLyBFZGdlSFRNTCBhbmQgVHJpZGVudCBtb2NrIEJsaW5rIHNwZWNpZmljIHRoaW5ncyBhbmQgbmVlZCB0byBiZSBleGNsdWRlZCBmcm9tIHRoaXMgY2hlY2suXG4vKiogV2hldGhlciB0aGUgY3VycmVudCByZW5kZXJpbmcgZW5naW5lIGlzIEJsaW5rLiAqL1xuZXhwb3J0IGNvbnN0IGlzQmxpbmsgPVxuICAhaXNTZXJ2ZXIgJiZcbiAgISEoKHdpbmRvdyBhcyBhbnkpLmNocm9tZSB8fCBoYXNWOEJyZWFrSXRlcmF0b3IpICYmXG4gIHR5cGVvZiBDU1MgIT09ICd1bmRlZmluZWQnICYmXG4gICFpc0VkZ2UgJiZcbiAgIWlzVHJpZGVudDtcblxuLy8gV2Via2l0IGlzIHBhcnQgb2YgdGhlIHVzZXJBZ2VudCBpbiBFZGdlSFRNTCwgQmxpbmsgYW5kIFRyaWRlbnQuIFRoZXJlZm9yZSwgd2UgbmVlZCB0b1xuLy8gZW5zdXJlIHRoYXQgV2Via2l0IHJ1bnMgc3RhbmRhbG9uZSBhbmQgaXMgbm90IHVzZWQgYXMgYW5vdGhlciBlbmdpbmUncyBiYXNlLlxuLyoqIFdoZXRoZXIgdGhlIGN1cnJlbnQgcmVuZGVyaW5nIGVuZ2luZSBpcyBXZWJLaXQuICovXG5leHBvcnQgY29uc3QgaXNXZWJraXQgPVxuICAhaXNTZXJ2ZXIgJiYgL0FwcGxlV2ViS2l0L2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSAmJiAhaXNCbGluayAmJiAhaXNFZGdlICYmICFpc1RyaWRlbnQ7XG5cbi8qKiBXaGV0aGVyIHRoZSBjdXJyZW50IHBsYXRmb3JtIGlzIEFwcGxlIGlPUy4gKi9cbmV4cG9ydCBjb25zdCBpc0lPUyA9XG4gICFpc1NlcnZlciAmJiAvaVBhZHxpUGhvbmV8aVBvZC8udGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSAmJiAhKCdNU1N0cmVhbScgaW4gd2luZG93KTtcblxuLyoqXG4gKiBXaGV0aGVyIHRoZSBkZXZpY2UgaXMgYSBtYWMuXG4gKiBAZXhwZXJpbWVudGFsIEF2b2lkIHVzaW5nIHRoaXMgYXMgdGhpcyBpcyBub3QgcmVsaWFibGUuXG4gKi9cbmV4cG9ydCBjb25zdCBpc01hY09TID0gIWlzU2VydmVyICYmIC8oTWFjKS9pLnRlc3QobmF2aWdhdG9yLnBsYXRmb3JtKTtcblxuLy8gSXQncyBkaWZmaWN1bHQgdG8gZGV0ZWN0IHRoZSBwbGFpbiBHZWNrbyBlbmdpbmUsIGJlY2F1c2UgbW9zdCBvZiB0aGUgYnJvd3NlcnMgaWRlbnRpZnlcbi8vIHRoZW0gc2VsZiBhcyBHZWNrby1saWtlIGJyb3dzZXJzIGFuZCBtb2RpZnkgdGhlIHVzZXJBZ2VudCdzIGFjY29yZGluZyB0byB0aGF0LlxuLy8gU2luY2Ugd2Ugb25seSBjb3ZlciBvbmUgZXhwbGljaXQgRmlyZWZveCBjYXNlLCB3ZSBjYW4gc2ltcGx5IGNoZWNrIGZvciBGaXJlZm94XG4vLyBpbnN0ZWFkIG9mIGhhdmluZyBhbiB1bnN0YWJsZSBjaGVjayBmb3IgR2Vja28uXG4vKiogV2hldGhlciB0aGUgY3VycmVudCBicm93c2VyIGlzIEZpcmVmb3guICovXG5leHBvcnQgY29uc3QgaXNGaXJlZm94ID0gIWlzU2VydmVyICYmIC8oZmlyZWZveHxtaW5lZmllbGQpL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KTtcblxuLyoqIFdoZXRoZXIgdGhlIGN1cnJlbnQgcGxhdGZvcm0gaXMgQW5kcm9pZC4gKi9cbi8vIFRyaWRlbnQgb24gbW9iaWxlIGFkZHMgdGhlIGFuZHJvaWQgcGxhdGZvcm0gdG8gdGhlIHVzZXJBZ2VudCB0byB0cmljayBkZXRlY3Rpb25zLlxuZXhwb3J0IGNvbnN0IGlzQW5kcm9pZCA9ICFpc1NlcnZlciAmJiAvYW5kcm9pZC9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCkgJiYgIWlzVHJpZGVudDtcblxuLy8gU2FmYXJpIGJyb3dzZXJzIHdpbGwgaW5jbHVkZSB0aGUgU2FmYXJpIGtleXdvcmQgaW4gdGhlaXIgdXNlckFnZW50LiBTb21lIGJyb3dzZXJzIG1heSBmYWtlXG4vLyB0aGlzIGFuZCBqdXN0IHBsYWNlIHRoZSBTYWZhcmkga2V5d29yZCBpbiB0aGUgdXNlckFnZW50LiBUbyBiZSBtb3JlIHNhZmUgYWJvdXQgU2FmYXJpIGV2ZXJ5XG4vLyBTYWZhcmkgYnJvd3NlciBzaG91bGQgYWxzbyB1c2UgV2Via2l0IGFzIGl0cyBsYXlvdXQgZW5naW5lLlxuLyoqIFdoZXRoZXIgdGhlIGN1cnJlbnQgYnJvd3NlciBpcyBTYWZhcmkuICovXG5leHBvcnQgY29uc3QgaXNTYWZhcmkgPSAhaXNTZXJ2ZXIgJiYgL3NhZmFyaS9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCkgJiYgaXNXZWJraXQ7XG5cbi8qKlxuICogV2UganVzdCBjaGVjayBmb3IgdGhlIGJsaW5rIGVuZ2luZS5cbiAqL1xuZXhwb3J0IGNvbnN0IGlzQ2hyb21pdW0gPSBpc0JsaW5rO1xuXG4vKiogV2hldGhlciB0aGUgYXBwbGljYXRpb24gaXMgYmVpbmcgcmVuZGVyZWQgaW4gYSBOZXh0LmpzIGVudmlyb25tZW50LiAqL1xuZXhwb3J0IGNvbnN0IGlzTmV4dGpzID0gKCk6IGJvb2xlYW4gPT4gISEoZ2xvYmFsVGhpcyBhcyB7IG5leHQ/OiBvYmplY3QgfSkubmV4dDtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBTUEsSUFBSTtBQU9KLElBQUk7QUFDRix1QkFBcUIsT0FBTyxTQUFTLGVBQWdCLEtBQWE7QUFDcEUsUUFBUTtBQUNOLHVCQUFxQjtBQUN2QjtBQUdPLE1BQU0sU0FBUyxDQUFDLFlBQVksVUFBVSxLQUFLLFVBQVUsU0FBUztBQUc5RCxNQUFNLFlBQVksQ0FBQyxZQUFZLGtCQUFrQixLQUFLLFVBQVUsU0FBUztBQUl6RSxNQUFNLFVBQ1gsQ0FBQyxZQUNELENBQUMsRUFBRyxPQUFlLFVBQVUsdUJBQzdCLE9BQU8sUUFBUSxlQUNmLENBQUMsVUFDRCxDQUFDO0FBS0ksTUFBTSxXQUNYLENBQUMsWUFBWSxlQUFlLEtBQUssVUFBVSxTQUFTLEtBQUssQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDO0FBRzVFLE1BQU0sUUFDWCxDQUFDLFlBQVksbUJBQW1CLEtBQUssVUFBVSxTQUFTLEtBQUssRUFBRSxjQUFjO0FBTXhFLE1BQU0sVUFBVSxDQUFDLFlBQVksU0FBUyxLQUFLLFVBQVUsUUFBUTtBQU83RCxNQUFNLFlBQVksQ0FBQyxZQUFZLHVCQUF1QixLQUFLLFVBQVUsU0FBUztBQUk5RSxNQUFNLFlBQVksQ0FBQyxZQUFZLFdBQVcsS0FBSyxVQUFVLFNBQVMsS0FBSyxDQUFDO0FBTXhFLE1BQU0sV0FBVyxDQUFDLFlBQVksVUFBVSxLQUFLLFVBQVUsU0FBUyxLQUFLO0FBS3JFLE1BQU0sYUFBYTtBQUduQixNQUFNLFdBQVcsTUFBZSxDQUFDLENBQUUsV0FBaUM7In0=
32
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhdGZvcm0uanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL2RvbS9wbGF0Zm9ybS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUaGlzIGZpbGUgaXMgZnJlZWx5IGluc3BpcmVkIGJ5IEFuZ3VsYXIgTWF0ZXJpYWwgc29sdXRpb24uXG4vLyBSZWZlcmVuY2U6IGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2NvbXBvbmVudHMvYmxvYi9tYWluL3NyYy9jZGsvcGxhdGZvcm0vcGxhdGZvcm0udHNcbmltcG9ydCB7IGlzU2VydmVyIH0gZnJvbSAnbGl0JztcblxuLy8gV2hldGhlciB0aGUgY3VycmVudCBwbGF0Zm9ybSBzdXBwb3J0cyB0aGUgVjggQnJlYWsgSXRlcmF0b3IuIFRoZSBWOCBjaGVja1xuLy8gaXMgbmVjZXNzYXJ5IHRvIGRldGVjdCBhbGwgQmxpbmsgYmFzZWQgYnJvd3NlcnMuXG5sZXQgaGFzVjhCcmVha0l0ZXJhdG9yOiBib29sZWFuO1xuXG4vLyBXZSBuZWVkIGEgdHJ5L2NhdGNoIGFyb3VuZCB0aGUgcmVmZXJlbmNlIHRvIGBJbnRsYCwgYmVjYXVzZSBhY2Nlc3NpbmcgaXQgaW4gc29tZSBjYXNlcyBjYW5cbi8vIGNhdXNlIElFIHRvIHRocm93LiBUaGVzZSBjYXNlcyBhcmUgdGllZCB0byBwYXJ0aWN1bGFyIHZlcnNpb25zIG9mIFdpbmRvd3MgYW5kIGNhbiBoYXBwZW4gaWZcbi8vIHRoZSBjb25zdW1lciBpcyBwcm92aWRpbmcgYSBwb2x5ZmlsbGVkIGBNYXBgLiBTZWU6XG4vLyBodHRwczovL2dpdGh1Yi5jb20vTWljcm9zb2Z0L0NoYWtyYUNvcmUvaXNzdWVzLzMxODlcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2NvbXBvbmVudHMvaXNzdWVzLzE1Njg3XG50cnkge1xuICBoYXNWOEJyZWFrSXRlcmF0b3IgPSB0eXBlb2YgSW50bCAhPT0gJ3VuZGVmaW5lZCcgJiYgKEludGwgYXMgYW55KS52OEJyZWFrSXRlcmF0b3I7XG59IGNhdGNoIHtcbiAgaGFzVjhCcmVha0l0ZXJhdG9yID0gZmFsc2U7XG59XG5cbi8qKiBXaGV0aGVyIHRoZSBjdXJyZW50IGJyb3dzZXIgaXMgTWljcm9zb2Z0IEVkZ2UuICovXG5leHBvcnQgY29uc3QgaXNFZGdlID0gIWlzU2VydmVyICYmIC8oZWRnZSkvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpO1xuXG4vKiogV2hldGhlciB0aGUgY3VycmVudCByZW5kZXJpbmcgZW5naW5lIGlzIE1pY3Jvc29mdCBUcmlkZW50LiAqL1xuZXhwb3J0IGNvbnN0IGlzVHJpZGVudCA9ICFpc1NlcnZlciAmJiAvKG1zaWV8dHJpZGVudCkvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpO1xuXG4vLyBFZGdlSFRNTCBhbmQgVHJpZGVudCBtb2NrIEJsaW5rIHNwZWNpZmljIHRoaW5ncyBhbmQgbmVlZCB0byBiZSBleGNsdWRlZCBmcm9tIHRoaXMgY2hlY2suXG4vKiogV2hldGhlciB0aGUgY3VycmVudCByZW5kZXJpbmcgZW5naW5lIGlzIEJsaW5rLiAqL1xuZXhwb3J0IGNvbnN0IGlzQmxpbmsgPVxuICAhaXNTZXJ2ZXIgJiZcbiAgISEoKHdpbmRvdyBhcyBhbnkpLmNocm9tZSB8fCBoYXNWOEJyZWFrSXRlcmF0b3IpICYmXG4gIHR5cGVvZiBDU1MgIT09ICd1bmRlZmluZWQnICYmXG4gICFpc0VkZ2UgJiZcbiAgIWlzVHJpZGVudDtcblxuLy8gV2Via2l0IGlzIHBhcnQgb2YgdGhlIHVzZXJBZ2VudCBpbiBFZGdlSFRNTCwgQmxpbmsgYW5kIFRyaWRlbnQuIFRoZXJlZm9yZSwgd2UgbmVlZCB0b1xuLy8gZW5zdXJlIHRoYXQgV2Via2l0IHJ1bnMgc3RhbmRhbG9uZSBhbmQgaXMgbm90IHVzZWQgYXMgYW5vdGhlciBlbmdpbmUncyBiYXNlLlxuLyoqIFdoZXRoZXIgdGhlIGN1cnJlbnQgcmVuZGVyaW5nIGVuZ2luZSBpcyBXZWJLaXQuICovXG5leHBvcnQgY29uc3QgaXNXZWJraXQgPVxuICAhaXNTZXJ2ZXIgJiYgL0FwcGxlV2ViS2l0L2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSAmJiAhaXNCbGluayAmJiAhaXNFZGdlICYmICFpc1RyaWRlbnQ7XG5cbi8qKiBXaGV0aGVyIHRoZSBjdXJyZW50IHBsYXRmb3JtIGlzIEFwcGxlIGlPUy4gKi9cbmV4cG9ydCBjb25zdCBpc0lPUyA9XG4gICFpc1NlcnZlciAmJiAvaVBhZHxpUGhvbmV8aVBvZC8udGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSAmJiAhKCdNU1N0cmVhbScgaW4gd2luZG93KTtcblxuLyoqXG4gKiBXaGV0aGVyIHRoZSBkZXZpY2UgaXMgYSBtYWMuXG4gKiBAZXhwZXJpbWVudGFsIEF2b2lkIHVzaW5nIHRoaXMgYXMgdGhpcyBpcyBub3QgcmVsaWFibGUuXG4gKi9cbmV4cG9ydCBjb25zdCBpc01hY09TID0gIWlzU2VydmVyICYmIC8oTWFjKS9pLnRlc3QobmF2aWdhdG9yLnBsYXRmb3JtKTtcblxuLy8gSXQncyBkaWZmaWN1bHQgdG8gZGV0ZWN0IHRoZSBwbGFpbiBHZWNrbyBlbmdpbmUsIGJlY2F1c2UgbW9zdCBvZiB0aGUgYnJvd3NlcnMgaWRlbnRpZnlcbi8vIHRoZW0gc2VsZiBhcyBHZWNrby1saWtlIGJyb3dzZXJzIGFuZCBtb2RpZnkgdGhlIHVzZXJBZ2VudCdzIGFjY29yZGluZyB0byB0aGF0LlxuLy8gU2luY2Ugd2Ugb25seSBjb3ZlciBvbmUgZXhwbGljaXQgRmlyZWZveCBjYXNlLCB3ZSBjYW4gc2ltcGx5IGNoZWNrIGZvciBGaXJlZm94XG4vLyBpbnN0ZWFkIG9mIGhhdmluZyBhbiB1bnN0YWJsZSBjaGVjayBmb3IgR2Vja28uXG4vKiogV2hldGhlciB0aGUgY3VycmVudCBicm93c2VyIGlzIEZpcmVmb3guICovXG5leHBvcnQgY29uc3QgaXNGaXJlZm94ID0gIWlzU2VydmVyICYmIC8oZmlyZWZveHxtaW5lZmllbGQpL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KTtcblxuLyoqIFdoZXRoZXIgdGhlIGN1cnJlbnQgcGxhdGZvcm0gaXMgQW5kcm9pZC4gKi9cbi8vIFRyaWRlbnQgb24gbW9iaWxlIGFkZHMgdGhlIGFuZHJvaWQgcGxhdGZvcm0gdG8gdGhlIHVzZXJBZ2VudCB0byB0cmljayBkZXRlY3Rpb25zLlxuZXhwb3J0IGNvbnN0IGlzQW5kcm9pZCA9ICFpc1NlcnZlciAmJiAvYW5kcm9pZC9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCkgJiYgIWlzVHJpZGVudDtcblxuLy8gU2FmYXJpIGJyb3dzZXJzIHdpbGwgaW5jbHVkZSB0aGUgU2FmYXJpIGtleXdvcmQgaW4gdGhlaXIgdXNlckFnZW50LiBTb21lIGJyb3dzZXJzIG1heSBmYWtlXG4vLyB0aGlzIGFuZCBqdXN0IHBsYWNlIHRoZSBTYWZhcmkga2V5d29yZCBpbiB0aGUgdXNlckFnZW50LiBUbyBiZSBtb3JlIHNhZmUgYWJvdXQgU2FmYXJpIGV2ZXJ5XG4vLyBTYWZhcmkgYnJvd3NlciBzaG91bGQgYWxzbyB1c2UgV2Via2l0IGFzIGl0cyBsYXlvdXQgZW5naW5lLlxuLyoqIFdoZXRoZXIgdGhlIGN1cnJlbnQgYnJvd3NlciBpcyBTYWZhcmkuICovXG5leHBvcnQgY29uc3QgaXNTYWZhcmkgPSAhaXNTZXJ2ZXIgJiYgL3NhZmFyaS9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCkgJiYgaXNXZWJraXQ7XG5cbi8qKlxuICogV2UganVzdCBjaGVjayBmb3IgdGhlIGJsaW5rIGVuZ2luZS5cbiAqL1xuZXhwb3J0IGNvbnN0IGlzQ2hyb21pdW0gPSBpc0JsaW5rO1xuXG4vKiogV2hldGhlciB0aGUgYXBwbGljYXRpb24gaXMgYmVpbmcgcmVuZGVyZWQgaW4gYSBOZXh0LmpzIGVudmlyb25tZW50LiAqL1xuZXhwb3J0IGNvbnN0IGlzTmV4dGpzID0gKCk6IGJvb2xlYW4gPT4gISEoZ2xvYmFsVGhpcyBhcyB7IG5leHQ/OiBvYmplY3QgfSkubmV4dDtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBTUEsSUFBSTtBQU9KLElBQUk7QUFDbUIsdUJBQUEsT0FBTyxTQUFTLGVBQWdCLEtBQWE7QUFDcEUsUUFBUTtBQUNlLHVCQUFBO0FBQ3ZCO0FBR08sTUFBTSxTQUFTLENBQUMsWUFBWSxVQUFVLEtBQUssVUFBVSxTQUFTO0FBRzlELE1BQU0sWUFBWSxDQUFDLFlBQVksa0JBQWtCLEtBQUssVUFBVSxTQUFTO0FBSXpFLE1BQU0sVUFDWCxDQUFDLFlBQ0QsQ0FBQyxFQUFHLE9BQWUsVUFBVSx1QkFDN0IsT0FBTyxRQUFRLGVBQ2YsQ0FBQyxVQUNELENBQUM7QUFLSSxNQUFNLFdBQ1gsQ0FBQyxZQUFZLGVBQWUsS0FBSyxVQUFVLFNBQVMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUM7QUFHdEUsTUFBQSxRQUNYLENBQUMsWUFBWSxtQkFBbUIsS0FBSyxVQUFVLFNBQVMsS0FBSyxFQUFFLGNBQWM7QUFNeEUsTUFBTSxVQUFVLENBQUMsWUFBWSxTQUFTLEtBQUssVUFBVSxRQUFRO0FBTzdELE1BQU0sWUFBWSxDQUFDLFlBQVksdUJBQXVCLEtBQUssVUFBVSxTQUFTO0FBSXhFLE1BQUEsWUFBWSxDQUFDLFlBQVksV0FBVyxLQUFLLFVBQVUsU0FBUyxLQUFLLENBQUM7QUFNeEUsTUFBTSxXQUFXLENBQUMsWUFBWSxVQUFVLEtBQUssVUFBVSxTQUFTLEtBQUs7QUFLckUsTUFBTSxhQUFhO0FBR25CLE1BQU0sV0FBVyxNQUFlLENBQUMsQ0FBRSxXQUFpQzsifQ==