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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (566) hide show
  1. package/accordion/accordion.component.js +19 -22
  2. package/action-group/action-group.component.js +3 -5
  3. package/alert/alert/alert.component.d.ts +5 -7
  4. package/alert/alert/alert.component.d.ts.map +1 -1
  5. package/alert/alert/alert.component.js +69 -84
  6. package/alert/alert-group/alert-group.component.js +2 -3
  7. package/autocomplete/autocomplete-base-element.js +83 -95
  8. package/autocomplete/autocomplete.component.js +28 -33
  9. package/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js +42 -50
  10. package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.d.ts +1 -1
  11. package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.d.ts.map +1 -1
  12. package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js +4 -5
  13. package/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.js +17 -20
  14. package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.d.ts +1 -1
  15. package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.d.ts.map +1 -1
  16. package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +21 -24
  17. package/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +5 -5
  18. package/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +27 -31
  19. package/button/mini-button/mini-button.component.js +1 -1
  20. package/button/mini-button-group/mini-button-group.component.js +1 -2
  21. package/calendar/calendar.component.d.ts +0 -5
  22. package/calendar/calendar.component.d.ts.map +1 -1
  23. package/calendar/calendar.component.js +129 -147
  24. package/card/card/card.component.js +12 -12
  25. package/card/card-badge/card-badge.component.js +17 -17
  26. package/card/common/card-action-common.js +20 -22
  27. package/checkbox/checkbox/checkbox.component.js +17 -20
  28. package/checkbox/checkbox-group/checkbox-group.component.js +39 -52
  29. package/checkbox/checkbox-panel/checkbox-panel.component.js +18 -21
  30. package/checkbox/common/checkbox-common.js +13 -15
  31. package/chip/chip-group/chip-group.component.js +66 -80
  32. package/clock/clock.component.js +50 -60
  33. package/container/container/container.component.js +28 -29
  34. package/container/sticky-bar/sticky-bar.component.js +25 -26
  35. package/core/a11y/focus-trap-controller.js +11 -14
  36. package/core/a11y/input-modality-detector.js +15 -16
  37. package/core/a11y/interactivity-checker.js +10 -10
  38. package/core/a11y/live-announcer.js +12 -14
  39. package/core/base-elements/button-base-element.js +58 -63
  40. package/core/base-elements/link-base-element.js +3 -6
  41. package/core/base-elements/open-close-base-element.js +1 -1
  42. package/core/config/config.d.ts.map +1 -1
  43. package/core/controllers/escapable-overlay-controller.js +10 -12
  44. package/core/controllers/id-reference-controller.js +13 -14
  45. package/core/controllers/inert-controller.js +8 -10
  46. package/core/controllers/slot-state-controller.js +16 -26
  47. package/core/datetime/date-adapter.d.ts +1 -1
  48. package/core/datetime/date-adapter.d.ts.map +1 -1
  49. package/core/datetime/date-adapter.js +21 -21
  50. package/core/datetime/native-date-adapter.d.ts +1 -1
  51. package/core/datetime/native-date-adapter.d.ts.map +1 -1
  52. package/core/datetime/native-date-adapter.js +28 -28
  53. package/core/decorators/force-type.js +4 -5
  54. package/core/decorators/id-reference.js +34 -37
  55. package/core/decorators/plain-date.js +16 -19
  56. package/core/dom/breakpoint.js +8 -8
  57. package/core/eventing/event-emitter.js +4 -5
  58. package/core/i18n/i18n.js +41 -41
  59. package/core/mixins/element-internals-mixin.d.ts +21 -0
  60. package/core/mixins/element-internals-mixin.d.ts.map +1 -1
  61. package/core/mixins/element-internals-mixin.js +109 -23
  62. package/core/mixins/form-associated-checkbox-mixin.js +32 -37
  63. package/core/mixins/form-associated-input-mixin.d.ts.map +1 -1
  64. package/core/mixins/form-associated-input-mixin.js +69 -93
  65. package/core/mixins/form-associated-mixin.js +32 -35
  66. package/core/mixins/form-associated-radio-button-mixin.js +3 -5
  67. package/core/mixins/hydration-mixin.js +12 -13
  68. package/core/mixins/named-slot-list-mixin.js +32 -37
  69. package/core/mixins/panel-mixin.js +26 -27
  70. package/core/mixins/readonly-mixin.d.ts.map +1 -1
  71. package/core/mixins/readonly-mixin.js +10 -11
  72. package/core/mixins.js +27 -25
  73. package/core/overlay/position.js +23 -23
  74. package/core/styles/core/mediaqueries.scss +1 -1
  75. package/core/styles/core.scss +70 -35
  76. package/core/styles/mixins/table.scss +1 -24
  77. package/core/testing/event-spy.js +2 -4
  78. package/core/testing/wait-for-image-ready.js +8 -9
  79. package/core/testing/wait-for-render.js +8 -9
  80. package/core.css +29 -0
  81. package/custom-elements.json +5233 -2636
  82. package/date-input/date-input.component.d.ts +16 -1
  83. package/date-input/date-input.component.d.ts.map +1 -1
  84. package/date-input/date-input.component.js +71 -58
  85. package/datepicker/common/datepicker-button.d.ts +31 -20
  86. package/datepicker/common/datepicker-button.d.ts.map +1 -1
  87. package/datepicker/common/datepicker-button.js +79 -74
  88. package/datepicker/common.d.ts +0 -1
  89. package/datepicker/common.d.ts.map +1 -1
  90. package/datepicker/common.js +3 -5
  91. package/datepicker/datepicker/datepicker.component.d.ts +23 -102
  92. package/datepicker/datepicker/datepicker.component.d.ts.map +1 -1
  93. package/datepicker/datepicker/datepicker.component.js +91 -233
  94. package/datepicker/datepicker-next-day/datepicker-next-day.component.d.ts +2 -2
  95. package/datepicker/datepicker-next-day/datepicker-next-day.component.d.ts.map +1 -1
  96. package/datepicker/datepicker-next-day/datepicker-next-day.component.js +27 -18
  97. package/datepicker/datepicker-previous-day/datepicker-previous-day.component.d.ts +2 -2
  98. package/datepicker/datepicker-previous-day/datepicker-previous-day.component.d.ts.map +1 -1
  99. package/datepicker/datepicker-previous-day/datepicker-previous-day.component.js +27 -18
  100. package/datepicker/datepicker-toggle/datepicker-toggle.component.d.ts +6 -26
  101. package/datepicker/datepicker-toggle/datepicker-toggle.component.d.ts.map +1 -1
  102. package/datepicker/datepicker-toggle/datepicker-toggle.component.js +36 -145
  103. package/datepicker.js +9 -11
  104. package/development/accordion/accordion.component.js +4 -7
  105. package/development/action-group/action-group.component.js +3 -5
  106. package/development/alert/alert/alert.component.d.ts +5 -7
  107. package/development/alert/alert/alert.component.d.ts.map +1 -1
  108. package/development/alert/alert/alert.component.js +34 -52
  109. package/development/alert/alert-group/alert-group.component.js +2 -3
  110. package/development/autocomplete/autocomplete-base-element.js +20 -32
  111. package/development/autocomplete/autocomplete.component.js +7 -12
  112. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js +10 -18
  113. package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.d.ts +1 -1
  114. package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.d.ts.map +1 -1
  115. package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js +4 -9
  116. package/development/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.js +1 -1
  117. package/development/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.js +4 -7
  118. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.d.ts +1 -1
  119. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.d.ts.map +1 -1
  120. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +4 -7
  121. package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +2 -2
  122. package/development/breadcrumb/breadcrumb/breadcrumb.component.js +1 -1
  123. package/development/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +5 -9
  124. package/development/button/accent-button/accent-button.component.js +1 -1
  125. package/development/button/accent-button-link/accent-button-link.component.js +1 -1
  126. package/development/button/accent-button-static/accent-button-static.component.js +1 -1
  127. package/development/button/button/button.component.js +1 -1
  128. package/development/button/button-link/button-link.component.js +1 -1
  129. package/development/button/button-static/button-static.component.js +1 -1
  130. package/development/button/common/button-common.js +1 -1
  131. package/development/button/mini-button/mini-button.component.js +1 -1
  132. package/development/button/mini-button-group/mini-button-group.component.js +2 -3
  133. package/development/button/secondary-button/secondary-button.component.js +1 -1
  134. package/development/button/secondary-button-link/secondary-button-link.component.js +1 -1
  135. package/development/button/secondary-button-static/secondary-button-static.component.js +1 -1
  136. package/development/button/transparent-button/transparent-button.component.js +1 -1
  137. package/development/button/transparent-button-link/transparent-button-link.component.js +1 -1
  138. package/development/button/transparent-button-static/transparent-button-static.component.js +1 -1
  139. package/development/calendar/calendar.component.d.ts +0 -5
  140. package/development/calendar/calendar.component.d.ts.map +1 -1
  141. package/development/calendar/calendar.component.js +20 -44
  142. package/development/card/card/card.component.js +1 -1
  143. package/development/card/card-badge/card-badge.component.js +2 -2
  144. package/development/card/card-button/card-button.component.js +1 -1
  145. package/development/card/card-link/card-link.component.js +1 -1
  146. package/development/card/common/card-action-common.js +4 -6
  147. package/development/checkbox/checkbox/checkbox.component.js +2 -5
  148. package/development/checkbox/checkbox-group/checkbox-group.component.js +8 -21
  149. package/development/checkbox/checkbox-panel/checkbox-panel.component.js +2 -5
  150. package/development/checkbox/common/checkbox-common.js +3 -5
  151. package/development/chip/chip/chip.component.js +1 -1
  152. package/development/chip/chip-group/chip-group.component.js +18 -32
  153. package/development/chip-label/chip-label.component.js +1 -1
  154. package/development/clock/clock.component.js +23 -33
  155. package/development/container/container/container.component.js +2 -3
  156. package/development/container/sticky-bar/sticky-bar.component.js +3 -4
  157. package/development/core/a11y/arrow-navigation.js +1 -1
  158. package/development/core/a11y/fake-event-detection.js +1 -1
  159. package/development/core/a11y/focus-trap-controller.js +6 -9
  160. package/development/core/a11y/focus-visible-within-controller.js +1 -1
  161. package/development/core/a11y/input-modality-detector.js +2 -3
  162. package/development/core/a11y/interactivity-checker.js +2 -2
  163. package/development/core/a11y/live-announcer.js +6 -8
  164. package/development/core/base-elements/action-base-element.js +2 -3
  165. package/development/core/base-elements/button-base-element.js +6 -11
  166. package/development/core/base-elements/link-base-element.js +4 -7
  167. package/development/core/base-elements/open-close-base-element.js +2 -2
  168. package/development/core/config/config.d.ts.map +1 -1
  169. package/development/core/config/config.js +1 -1
  170. package/development/core/controllers/escapable-overlay-controller.js +3 -5
  171. package/development/core/controllers/id-reference-controller.js +2 -3
  172. package/development/core/controllers/inert-controller.js +4 -6
  173. package/development/core/controllers/language-controller.js +1 -1
  174. package/development/core/controllers/media-matchers-controller.js +1 -1
  175. package/development/core/controllers/slot-state-controller.js +8 -18
  176. package/development/core/datetime/date-adapter.d.ts +1 -1
  177. package/development/core/datetime/date-adapter.d.ts.map +1 -1
  178. package/development/core/datetime/date-adapter.js +5 -5
  179. package/development/core/datetime/native-date-adapter.d.ts +1 -1
  180. package/development/core/datetime/native-date-adapter.d.ts.map +1 -1
  181. package/development/core/datetime/native-date-adapter.js +4 -4
  182. package/development/core/decorators/force-type.js +3 -4
  183. package/development/core/decorators/get-override.js +1 -1
  184. package/development/core/decorators/handle-distinct-change.js +1 -1
  185. package/development/core/decorators/host-attributes.js +1 -1
  186. package/development/core/decorators/id-reference.js +4 -7
  187. package/development/core/decorators/plain-date.js +5 -8
  188. package/development/core/decorators/slot-state.js +1 -1
  189. package/development/core/dom/animation.js +1 -1
  190. package/development/core/dom/breakpoint.js +2 -2
  191. package/development/core/dom/host-context.js +1 -1
  192. package/development/core/dom/platform.js +1 -1
  193. package/development/core/dom/scroll.js +1 -1
  194. package/development/core/dom/set-or-remove-attribute.js +1 -1
  195. package/development/core/eventing/composed-path-has-attribute.js +1 -1
  196. package/development/core/eventing/event-emitter.js +2 -3
  197. package/development/core/eventing/form-element-handlers.js +1 -1
  198. package/development/core/eventing/forward-event.js +1 -1
  199. package/development/core/eventing/throttle.js +1 -1
  200. package/development/core/i18n/i18n.js +18 -18
  201. package/development/core/mixins/animation-complete-mixin.js +1 -1
  202. package/development/core/mixins/disabled-mixin.js +1 -1
  203. package/development/core/mixins/element-internals-mixin.d.ts +21 -0
  204. package/development/core/mixins/element-internals-mixin.d.ts.map +1 -1
  205. package/development/core/mixins/element-internals-mixin.js +123 -2
  206. package/development/core/mixins/form-associated-checkbox-mixin.js +6 -9
  207. package/development/core/mixins/form-associated-input-mixin.d.ts.map +1 -1
  208. package/development/core/mixins/form-associated-input-mixin.js +29 -59
  209. package/development/core/mixins/form-associated-mixin.js +6 -9
  210. package/development/core/mixins/form-associated-radio-button-mixin.js +7 -9
  211. package/development/core/mixins/hydration-mixin.js +3 -4
  212. package/development/core/mixins/named-slot-list-mixin.js +4 -7
  213. package/development/core/mixins/negative-mixin.js +1 -1
  214. package/development/core/mixins/panel-mixin.js +2 -3
  215. package/development/core/mixins/readonly-mixin.d.ts.map +1 -1
  216. package/development/core/mixins/readonly-mixin.js +4 -6
  217. package/development/core/mixins/required-mixin.js +1 -1
  218. package/development/core/mixins/update-scheduler-mixin.js +1 -1
  219. package/development/core/mixins.js +4 -2
  220. package/development/core/overlay/overlay-option-panel.js +1 -1
  221. package/development/core/overlay/overlay-trigger-attributes.js +1 -1
  222. package/development/core/overlay/overlay.js +1 -1
  223. package/development/core/overlay/position.js +5 -5
  224. package/development/core/testing/event-spy.js +3 -5
  225. package/development/core/testing/mocha-extensions.js +1 -1
  226. package/development/core/testing/wait-for-condition.js +1 -1
  227. package/development/core/testing/wait-for-image-ready.js +2 -3
  228. package/development/core/testing/wait-for-render.js +2 -3
  229. package/development/date-input/date-input.component.d.ts +16 -1
  230. package/development/date-input/date-input.component.d.ts.map +1 -1
  231. package/development/date-input/date-input.component.js +28 -11
  232. package/development/datepicker/common/datepicker-button.d.ts +31 -20
  233. package/development/datepicker/common/datepicker-button.d.ts.map +1 -1
  234. package/development/datepicker/common/datepicker-button.js +103 -90
  235. package/development/datepicker/common.d.ts +0 -1
  236. package/development/datepicker/common.d.ts.map +1 -1
  237. package/development/datepicker/common.js +4 -6
  238. package/development/datepicker/datepicker/datepicker.component.d.ts +23 -102
  239. package/development/datepicker/datepicker/datepicker.component.d.ts.map +1 -1
  240. package/development/datepicker/datepicker/datepicker.component.js +94 -337
  241. package/development/datepicker/datepicker-next-day/datepicker-next-day.component.d.ts +2 -2
  242. package/development/datepicker/datepicker-next-day/datepicker-next-day.component.d.ts.map +1 -1
  243. package/development/datepicker/datepicker-next-day/datepicker-next-day.component.js +18 -6
  244. package/development/datepicker/datepicker-previous-day/datepicker-previous-day.component.d.ts +2 -2
  245. package/development/datepicker/datepicker-previous-day/datepicker-previous-day.component.d.ts.map +1 -1
  246. package/development/datepicker/datepicker-previous-day/datepicker-previous-day.component.js +18 -6
  247. package/development/datepicker/datepicker-toggle/datepicker-toggle.component.d.ts +6 -26
  248. package/development/datepicker/datepicker-toggle/datepicker-toggle.component.d.ts.map +1 -1
  249. package/development/datepicker/datepicker-toggle/datepicker-toggle.component.js +137 -224
  250. package/development/datepicker.js +3 -5
  251. package/development/dialog/dialog/dialog.component.d.ts +7 -16
  252. package/development/dialog/dialog/dialog.component.d.ts.map +1 -1
  253. package/development/dialog/dialog/dialog.component.js +78 -149
  254. package/development/dialog/dialog-actions/dialog-actions.component.d.ts +2 -2
  255. package/development/dialog/dialog-actions/dialog-actions.component.d.ts.map +1 -1
  256. package/development/dialog/dialog-actions/dialog-actions.component.js +20 -17
  257. package/development/dialog/dialog-content/dialog-content.component.d.ts.map +1 -1
  258. package/development/dialog/dialog-content/dialog-content.component.js +5 -46
  259. package/development/dialog/dialog-title/dialog-title.component.d.ts +2 -26
  260. package/development/dialog/dialog-title/dialog-title.component.d.ts.map +1 -1
  261. package/development/dialog/dialog-title/dialog-title.component.js +12 -179
  262. package/development/divider/divider.component.js +2 -2
  263. package/development/expansion-panel/expansion-panel/expansion-panel.component.js +9 -13
  264. package/development/expansion-panel/expansion-panel-content/expansion-panel-content.component.js +2 -2
  265. package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +5 -6
  266. package/development/file-selector/common/file-selector-common.js +2 -3
  267. package/development/file-selector/file-selector/file-selector.component.js +1 -1
  268. package/development/file-selector/file-selector-dropzone/file-selector-dropzone.component.js +1 -1
  269. package/development/flip-card/flip-card/flip-card.component.js +7 -13
  270. package/development/flip-card/flip-card-details/flip-card-details.component.js +3 -4
  271. package/development/flip-card/flip-card-summary/flip-card-summary.component.js +3 -4
  272. package/development/footer/footer.component.js +1 -1
  273. package/development/form-error/form-error.component.js +3 -4
  274. package/development/form-field/form-field/form-field.component.d.ts +1 -1
  275. package/development/form-field/form-field/form-field.component.d.ts.map +1 -1
  276. package/development/form-field/form-field/form-field.component.js +39 -67
  277. package/development/form-field/form-field-clear/form-field-clear.component.d.ts.map +1 -1
  278. package/development/form-field/form-field-clear/form-field-clear.component.js +6 -8
  279. package/development/header/common/header-action-common.js +1 -1
  280. package/development/header/header/header.component.js +5 -8
  281. package/development/header/header-button/header-button.component.js +1 -1
  282. package/development/header/header-link/header-link.component.js +1 -1
  283. package/development/icon/icon-base.d.ts +5 -3
  284. package/development/icon/icon-base.d.ts.map +1 -1
  285. package/development/icon/icon-base.js +4 -7
  286. package/development/icon/icon-name-mixin.js +1 -1
  287. package/development/icon/icon-request.js +2 -3
  288. package/development/icon/icon-validate.js +1 -1
  289. package/development/icon/icon.component.d.ts +1 -2
  290. package/development/icon/icon.component.d.ts.map +1 -1
  291. package/development/icon/icon.component.js +8 -19
  292. package/development/image/image.component.js +7 -9
  293. package/development/journey-header/journey-header.component.d.ts +5 -5
  294. package/development/journey-header/journey-header.component.d.ts.map +1 -1
  295. package/development/journey-header/journey-header.component.js +26 -40
  296. package/development/lead-container/lead-container.component.js +1 -1
  297. package/development/link/block-link/block-link.component.js +1 -1
  298. package/development/link/block-link-button/block-link-button.component.js +1 -1
  299. package/development/link/block-link-static/block-link-static.component.js +1 -1
  300. package/development/link/common/block-link-common.js +1 -1
  301. package/development/link/common/inline-link-common.js +1 -1
  302. package/development/link/link/link.component.js +1 -1
  303. package/development/link/link-button/link-button.component.js +1 -1
  304. package/development/link/link-static/link-static.component.js +1 -1
  305. package/development/link-common-DPLJx5Uo.js +1 -1
  306. package/development/link-list/common/link-list-base.js +1 -1
  307. package/development/link-list/link-list/link-list.component.js +1 -1
  308. package/development/link-list/link-list-anchor/link-list-anchor.component.js +1 -1
  309. package/development/loading-indicator/loading-indicator.component.js +1 -1
  310. package/development/loading-indicator-circle/loading-indicator-circle.component.js +1 -1
  311. package/development/logo/logo.component.js +1 -1
  312. package/development/map-container/map-container.component.js +2 -3
  313. package/development/menu/common/menu-action-common.js +1 -1
  314. package/development/menu/menu/menu.component.js +17 -25
  315. package/development/menu/menu-button/menu-button.component.js +1 -1
  316. package/development/menu/menu-link/menu-link.component.js +1 -1
  317. package/development/message/message.component.d.ts +4 -8
  318. package/development/message/message.component.d.ts.map +1 -1
  319. package/development/message/message.component.js +12 -54
  320. package/development/navigation/common/navigation-action-common.js +3 -5
  321. package/development/navigation/navigation/navigation.component.js +19 -35
  322. package/development/navigation/navigation-button/navigation-button.component.js +1 -1
  323. package/development/navigation/navigation-link/navigation-link.component.js +1 -1
  324. package/development/navigation/navigation-list/navigation-list.component.js +1 -1
  325. package/development/navigation/navigation-marker/navigation-marker.component.js +4 -6
  326. package/development/navigation/navigation-section/navigation-section.component.d.ts +1 -1
  327. package/development/navigation/navigation-section/navigation-section.component.d.ts.map +1 -1
  328. package/development/navigation/navigation-section/navigation-section.component.js +27 -37
  329. package/development/notification/notification.component.d.ts +7 -9
  330. package/development/notification/notification.component.d.ts.map +1 -1
  331. package/development/notification/notification.component.js +47 -77
  332. package/development/option/optgroup/optgroup-base-element.d.ts.map +1 -1
  333. package/development/option/optgroup/optgroup-base-element.js +8 -14
  334. package/development/option/optgroup/optgroup.component.js +6 -10
  335. package/development/option/option/option-base-element.js +3 -4
  336. package/development/option/option/option.component.js +7 -10
  337. package/development/overlay/overlay-base-element.d.ts +24 -6
  338. package/development/overlay/overlay-base-element.d.ts.map +1 -1
  339. package/development/overlay/overlay-base-element.js +114 -15
  340. package/development/overlay/overlay.component.d.ts +2 -12
  341. package/development/overlay/overlay.component.d.ts.map +1 -1
  342. package/development/overlay/overlay.component.js +33 -98
  343. package/development/paginator/common/paginator-common.js +1 -1
  344. package/development/paginator/compact-paginator/compact-paginator.component.js +1 -1
  345. package/development/paginator/paginator/paginator.component.js +2 -3
  346. package/development/popover/popover/popover.component.d.ts +45 -34
  347. package/development/popover/popover/popover.component.d.ts.map +1 -1
  348. package/development/popover/popover/popover.component.js +215 -172
  349. package/development/popover/popover-trigger/popover-trigger.component.js +1 -1
  350. package/development/popover/popover.js +2 -1
  351. package/development/popover.js +2 -1
  352. package/development/radio-button/common/radio-button-common.js +6 -10
  353. package/development/radio-button/radio-button/radio-button.component.js +2 -5
  354. package/development/radio-button/radio-button-group/radio-button-group.component.d.ts +1 -1
  355. package/development/radio-button/radio-button-group/radio-button-group.component.d.ts.map +1 -1
  356. package/development/radio-button/radio-button-group/radio-button-group.component.js +8 -24
  357. package/development/radio-button/radio-button-panel/radio-button-panel.component.js +3 -7
  358. package/development/screen-reader-only/screen-reader-only.component.js +1 -1
  359. package/development/select/select.component.js +26 -49
  360. package/development/selection-expansion-panel/selection-expansion-panel.component.js +7 -11
  361. package/development/sidebar/icon-sidebar/icon-sidebar.component.js +1 -1
  362. package/development/sidebar/icon-sidebar-button/icon-sidebar-button.component.js +1 -1
  363. package/development/sidebar/icon-sidebar-container/icon-sidebar-container.component.js +4 -7
  364. package/development/sidebar/icon-sidebar-content/icon-sidebar-content.component.js +1 -1
  365. package/development/sidebar/icon-sidebar-link/icon-sidebar-link.component.js +1 -1
  366. package/development/sidebar/sidebar/sidebar.component.js +9 -16
  367. package/development/sidebar/sidebar-close-button/sidebar-close-button.component.d.ts +0 -1
  368. package/development/sidebar/sidebar-close-button/sidebar-close-button.component.d.ts.map +1 -1
  369. package/development/sidebar/sidebar-close-button/sidebar-close-button.component.js +3 -8
  370. package/development/sidebar/sidebar-container/sidebar-container.component.js +9 -13
  371. package/development/sidebar/sidebar-content/sidebar-content.component.js +1 -1
  372. package/development/sidebar/sidebar-title/sidebar-title.component.d.ts +2 -0
  373. package/development/sidebar/sidebar-title/sidebar-title.component.d.ts.map +1 -1
  374. package/development/sidebar/sidebar-title/sidebar-title.component.js +3 -9
  375. package/development/signet/signet.component.js +1 -1
  376. package/development/skiplink-list/skiplink-list.component.d.ts.map +1 -1
  377. package/development/skiplink-list/skiplink-list.component.js +19 -10
  378. package/development/slider/slider.component.js +4 -6
  379. package/development/status/status.component.d.ts +4 -7
  380. package/development/status/status.component.d.ts.map +1 -1
  381. package/development/status/status.component.js +23 -57
  382. package/development/stepper/step/step.component.d.ts +2 -1
  383. package/development/stepper/step/step.component.d.ts.map +1 -1
  384. package/development/stepper/step/step.component.js +16 -15
  385. package/development/stepper/step-label/step-label.component.d.ts +3 -3
  386. package/development/stepper/step-label/step-label.component.d.ts.map +1 -1
  387. package/development/stepper/step-label/step-label.component.js +16 -17
  388. package/development/stepper/stepper/stepper.component.js +16 -29
  389. package/development/table/table-wrapper/table-wrapper.component.js +2 -7
  390. package/development/tabs/tab/tab.component.js +1 -1
  391. package/development/tabs/tab-group/tab-group.component.js +23 -38
  392. package/development/tabs/tab-label/tab-label.component.js +1 -1
  393. package/development/tag/tag/tag.component.js +7 -13
  394. package/development/tag/tag-group/tag-group.component.js +5 -13
  395. package/development/teaser/teaser.component.d.ts +6 -10
  396. package/development/teaser/teaser.component.d.ts.map +1 -1
  397. package/development/teaser/teaser.component.js +48 -76
  398. package/development/teaser-hero/teaser-hero.component.js +1 -1
  399. package/development/teaser-product/common/teaser-product-common.js +1 -1
  400. package/development/teaser-product/teaser-product/teaser-product.component.js +1 -1
  401. package/development/teaser-product/teaser-product-static/teaser-product-static.component.js +1 -1
  402. package/development/time-input/time-input.component.js +10 -14
  403. package/development/timetable-occupancy/timetable-occupancy.component.js +1 -1
  404. package/development/timetable-occupancy-icon/timetable-occupancy-icon.component.d.ts.map +1 -1
  405. package/development/timetable-occupancy-icon/timetable-occupancy-icon.component.js +2 -5
  406. package/development/title/title-base.d.ts +0 -8
  407. package/development/title/title-base.d.ts.map +1 -1
  408. package/development/title/title-base.js +17 -49
  409. package/development/title/title.component.d.ts +2 -0
  410. package/development/title/title.component.d.ts.map +1 -1
  411. package/development/title/title.component.js +9 -14
  412. package/development/toast/toast.component.d.ts.map +1 -1
  413. package/development/toast/toast.component.js +7 -16
  414. package/development/toggle/toggle/toggle.component.js +8 -12
  415. package/development/toggle/toggle-option/toggle-option.component.d.ts +1 -1
  416. package/development/toggle/toggle-option/toggle-option.component.d.ts.map +1 -1
  417. package/development/toggle/toggle-option/toggle-option.component.js +10 -17
  418. package/development/toggle-check/toggle-check.component.js +1 -1
  419. package/development/train/train/train.component.js +1 -1
  420. package/development/train/train-blocked-passage/train-blocked-passage.component.js +1 -1
  421. package/development/train/train-formation/train-formation.component.js +5 -7
  422. package/development/train/train-wagon/train-wagon.component.js +1 -1
  423. package/development/visual-checkbox/visual-checkbox.component.js +1 -1
  424. package/dialog/dialog/dialog.component.d.ts +7 -16
  425. package/dialog/dialog/dialog.component.d.ts.map +1 -1
  426. package/dialog/dialog/dialog.component.js +57 -87
  427. package/dialog/dialog-actions/dialog-actions.component.d.ts +2 -2
  428. package/dialog/dialog-actions/dialog-actions.component.d.ts.map +1 -1
  429. package/dialog/dialog-actions/dialog-actions.component.js +16 -16
  430. package/dialog/dialog-content/dialog-content.component.d.ts.map +1 -1
  431. package/dialog/dialog-content/dialog-content.component.js +14 -19
  432. package/dialog/dialog-title/dialog-title.component.d.ts +2 -26
  433. package/dialog/dialog-title/dialog-title.component.d.ts.map +1 -1
  434. package/dialog/dialog-title/dialog-title.component.js +16 -111
  435. package/divider/divider.component.js +3 -3
  436. package/expansion-panel/expansion-panel/expansion-panel.component.js +5 -9
  437. package/expansion-panel/expansion-panel-content/expansion-panel-content.component.js +1 -1
  438. package/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +30 -31
  439. package/file-selector/common/file-selector-common.js +1 -2
  440. package/flip-card/flip-card/flip-card.component.js +48 -54
  441. package/flip-card/flip-card-details/flip-card-details.component.js +15 -16
  442. package/flip-card/flip-card-summary/flip-card-summary.component.js +19 -20
  443. package/form-error/form-error.component.js +13 -14
  444. package/form-field/form-field/form-field.component.d.ts +1 -1
  445. package/form-field/form-field/form-field.component.d.ts.map +1 -1
  446. package/form-field/form-field/form-field.component.js +149 -168
  447. package/form-field/form-field-clear/form-field-clear.component.d.ts.map +1 -1
  448. package/form-field/form-field-clear/form-field-clear.component.js +19 -21
  449. package/header/header/header.component.js +26 -29
  450. package/icon/icon-base.d.ts +5 -3
  451. package/icon/icon-base.d.ts.map +1 -1
  452. package/icon/icon-base.js +32 -34
  453. package/icon/icon-request.js +10 -11
  454. package/icon/icon.component.d.ts +1 -2
  455. package/icon/icon.component.d.ts.map +1 -1
  456. package/icon/icon.component.js +37 -37
  457. package/icon-sidebar-button-common-CM-ueEhH.js +7 -0
  458. package/image/image.component.js +4 -6
  459. package/journey-header/journey-header.component.d.ts +5 -5
  460. package/journey-header/journey-header.component.d.ts.map +1 -1
  461. package/journey-header/journey-header.component.js +50 -63
  462. package/map-container/map-container.component.js +1 -2
  463. package/menu/menu/menu.component.js +47 -55
  464. package/message/message.component.d.ts +4 -8
  465. package/message/message.component.d.ts.map +1 -1
  466. package/message/message.component.js +18 -47
  467. package/navigation/common/navigation-action-common.js +19 -21
  468. package/navigation/navigation/navigation.component.js +73 -92
  469. package/navigation/navigation-marker/navigation-marker.component.js +26 -28
  470. package/navigation/navigation-section/navigation-section.component.d.ts +1 -1
  471. package/navigation/navigation-section/navigation-section.component.d.ts.map +1 -1
  472. package/navigation/navigation-section/navigation-section.component.js +72 -82
  473. package/notification/notification.component.d.ts +7 -9
  474. package/notification/notification.component.d.ts.map +1 -1
  475. package/notification/notification.component.js +77 -95
  476. package/option/optgroup/optgroup-base-element.d.ts.map +1 -1
  477. package/option/optgroup/optgroup-base-element.js +36 -38
  478. package/option/optgroup/optgroup.component.js +16 -20
  479. package/option/option/option-base-element.js +3 -4
  480. package/option/option/option.component.js +26 -29
  481. package/overlay/overlay-base-element.d.ts +24 -6
  482. package/overlay/overlay-base-element.d.ts.map +1 -1
  483. package/overlay/overlay-base-element.js +98 -51
  484. package/overlay/overlay.component.d.ts +2 -12
  485. package/overlay/overlay.component.d.ts.map +1 -1
  486. package/overlay/overlay.component.js +57 -95
  487. package/package.json +1 -1
  488. package/paginator/paginator/paginator.component.js +3 -4
  489. package/popover/popover/popover.component.d.ts +45 -34
  490. package/popover/popover/popover.component.d.ts.map +1 -1
  491. package/popover/popover/popover.component.js +194 -168
  492. package/popover/popover-trigger/popover-trigger.component.js +1 -1
  493. package/popover/popover.js +2 -1
  494. package/popover.js +5 -4
  495. package/radio-button/common/radio-button-common.js +11 -15
  496. package/radio-button/radio-button/radio-button.component.js +16 -19
  497. package/radio-button/radio-button-group/radio-button-group.component.d.ts +1 -1
  498. package/radio-button/radio-button-group/radio-button-group.component.d.ts.map +1 -1
  499. package/radio-button/radio-button-group/radio-button-group.component.js +27 -43
  500. package/radio-button/radio-button-panel/radio-button-panel.component.js +33 -37
  501. package/select/select.component.js +94 -117
  502. package/selection-expansion-panel/selection-expansion-panel.component.js +35 -39
  503. package/sidebar/common.js +1 -1
  504. package/sidebar/icon-sidebar-container/icon-sidebar-container.component.js +10 -13
  505. package/sidebar/sidebar/sidebar.component.js +62 -69
  506. package/sidebar/sidebar-close-button/sidebar-close-button.component.d.ts +0 -1
  507. package/sidebar/sidebar-close-button/sidebar-close-button.component.d.ts.map +1 -1
  508. package/sidebar/sidebar-close-button/sidebar-close-button.component.js +18 -18
  509. package/sidebar/sidebar-container/sidebar-container.component.js +29 -33
  510. package/sidebar/sidebar-title/sidebar-title.component.d.ts +2 -0
  511. package/sidebar/sidebar-title/sidebar-title.component.d.ts.map +1 -1
  512. package/sidebar/sidebar-title/sidebar-title.component.js +16 -16
  513. package/sidebar.js +1 -1
  514. package/skiplink-list/skiplink-list.component.d.ts.map +1 -1
  515. package/skiplink-list/skiplink-list.component.js +36 -39
  516. package/slider/slider.component.js +11 -13
  517. package/standard-theme.css +29 -25
  518. package/status/status.component.d.ts +4 -7
  519. package/status/status.component.d.ts.map +1 -1
  520. package/status/status.component.js +34 -50
  521. package/stepper/step/step.component.d.ts +2 -1
  522. package/stepper/step/step.component.d.ts.map +1 -1
  523. package/stepper/step/step.component.js +26 -24
  524. package/stepper/step-label/step-label.component.d.ts +3 -3
  525. package/stepper/step-label/step-label.component.d.ts.map +1 -1
  526. package/stepper/step-label/step-label.component.js +15 -15
  527. package/stepper/stepper/stepper.component.js +72 -86
  528. package/table/table-wrapper/table-wrapper.component.js +17 -18
  529. package/table.css +0 -25
  530. package/tabs/tab-group/tab-group.component.js +77 -92
  531. package/tabs/tab-label/tab-label.component.js +12 -12
  532. package/tag/tag/tag.component.js +49 -55
  533. package/tag/tag-group/tag-group.component.js +37 -45
  534. package/teaser/teaser.component.d.ts +6 -10
  535. package/teaser/teaser.component.d.ts.map +1 -1
  536. package/teaser/teaser.component.js +45 -68
  537. package/teaser-product/common.js +1 -1
  538. package/teaser-product/teaser-product/teaser-product.component.js +1 -1
  539. package/teaser-product-common-C8oSkIxy.js +5 -0
  540. package/teaser-product.js +1 -1
  541. package/time-input/time-input.component.js +29 -33
  542. package/timetable-occupancy-icon/timetable-occupancy-icon.component.d.ts.map +1 -1
  543. package/timetable-occupancy-icon/timetable-occupancy-icon.component.js +22 -25
  544. package/title/title-base.d.ts +0 -8
  545. package/title/title-base.d.ts.map +1 -1
  546. package/title/title-base.js +34 -53
  547. package/title/title.component.d.ts +2 -0
  548. package/title/title.component.d.ts.map +1 -1
  549. package/title/title.component.js +9 -9
  550. package/toast/toast.component.d.ts.map +1 -1
  551. package/toast/toast.component.js +6 -9
  552. package/toggle/toggle/toggle.component.js +27 -31
  553. package/toggle/toggle-option/toggle-option.component.d.ts +1 -1
  554. package/toggle/toggle-option/toggle-option.component.d.ts.map +1 -1
  555. package/toggle/toggle-option/toggle-option.component.js +44 -51
  556. package/train/train-formation/train-formation.component.js +41 -43
  557. package/core/styles/node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables.scss +0 -530
  558. package/core/styles/node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables_css--mixin.scss +0 -1123
  559. package/datepicker/common/datepicker-association-controllers.d.ts +0 -21
  560. package/datepicker/common/datepicker-association-controllers.d.ts.map +0 -1
  561. package/datepicker/common/datepicker-association-controllers.js +0 -58
  562. package/development/datepicker/common/datepicker-association-controllers.d.ts +0 -21
  563. package/development/datepicker/common/datepicker-association-controllers.d.ts.map +0 -1
  564. package/development/datepicker/common/datepicker-association-controllers.js +0 -82
  565. package/icon-sidebar-button-common-DG8bnrBu.js +0 -7
  566. package/teaser-product-common-CpMAlYEp.js +0 -5
@@ -53,7 +53,6 @@ let SbbOptionBaseElement = (() => {
53
53
  let __inertAriaGroups_extraInitializers = [];
54
54
  _a = class extends _classSuper {
55
55
  constructor() {
56
- var _a2;
57
56
  super();
58
57
  __privateAdd(this, _negative_accessor_storage);
59
58
  __privateAdd(this, _disabledFromGroup_accessor_storage);
@@ -69,7 +68,7 @@ let SbbOptionBaseElement = (() => {
69
68
  __privateSet(this, __highlightString_accessor_storage, (__runInitializers(this, _disableLabelHighlight_extraInitializers), __runInitializers(this, __highlightString_initializers, null)));
70
69
  __privateSet(this, __inertAriaGroups_accessor_storage, (__runInitializers(this, __highlightString_extraInitializers), __runInitializers(this, __inertAriaGroups_initializers, false)));
71
70
  __runInitializers(this, __inertAriaGroups_extraInitializers);
72
- (_a2 = this.addEventListener) == null ? void 0 : _a2.call(this, "click", (e) => this.selectByClick(e), {
71
+ this.addEventListener?.("click", (e) => this.selectByClick(e), {
73
72
  passive: true
74
73
  });
75
74
  this.addController(new MutationController(this, {
@@ -170,7 +169,7 @@ let SbbOptionBaseElement = (() => {
170
169
  }
171
170
  connectedCallback() {
172
171
  super.connectedCallback();
173
- this.id || (this.id = `${this.optionId}-${nextId++}`);
172
+ this.id ||= `${this.optionId}-${nextId++}`;
174
173
  if (this.hydrationRequired) {
175
174
  this.hydrationComplete.then(() => this.init());
176
175
  } else {
@@ -325,4 +324,4 @@ let SbbOptionBaseElement = (() => {
325
324
  export {
326
325
  SbbOptionBaseElement
327
326
  };
328
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLWJhc2UtZWxlbWVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL29wdGlvbi9vcHRpb24vb3B0aW9uLWJhc2UtZWxlbWVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNdXRhdGlvbkNvbnRyb2xsZXIgfSBmcm9tICdAbGl0LWxhYnMvb2JzZXJ2ZXJzL211dGF0aW9uLWNvbnRyb2xsZXIuanMnO1xuaW1wb3J0IHsgaHRtbCwgTGl0RWxlbWVudCwgbm90aGluZywgdHlwZSBQcm9wZXJ0eVZhbHVlcywgdHlwZSBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBwcm9wZXJ0eSwgc3RhdGUgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IHNsb3RTdGF0ZSB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBpc0FuZHJvaWQsIGlzU2FmYXJpLCBzZXRPclJlbW92ZUF0dHJpYnV0ZSB9IGZyb20gJy4uLy4uL2NvcmUvZG9tLmpzJztcbmltcG9ydCB0eXBlIHsgRXZlbnRFbWl0dGVyIH0gZnJvbSAnLi4vLi4vY29yZS9ldmVudGluZy5qcyc7XG5pbXBvcnQge1xuICBTYmJEaXNhYmxlZE1peGluLFxuICBTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW4sXG4gIFNiYkh5ZHJhdGlvbk1peGluLFxufSBmcm9tICcuLi8uLi9jb3JlL21peGlucy5qcyc7XG5pbXBvcnQgeyBTYmJJY29uTmFtZU1peGluIH0gZnJvbSAnLi4vLi4vaWNvbi5qcyc7XG5cbmltcG9ydCAnLi4vLi4vc2NyZWVuLXJlYWRlci1vbmx5LmpzJztcblxubGV0IG5leHRJZCA9IDA7XG5cbi8qKlxuICogT24gU2FmYXJpLCB0aGUgZ3JvdXBzIGxhYmVscyBhcmUgbm90IHJlYWQgYnkgVm9pY2VPdmVyLlxuICogVG8gc29sdmUgdGhlIHByb2JsZW0sIHdlIHJlbW92ZSB0aGUgcm9sZT1cImdyb3VwXCIgYW5kIGFkZCBhbiBoaWRkZW4gc3BhbiBjb250YWluaW5nIHRoZSBncm91cCBuYW1lXG4gKiBUT0RPOiBXZSBzaG91bGQgcGVyaW9kaWNhbGx5IGNoZWNrIGlmIGl0IGhhcyBiZWVuIHNvbHZlZCBhbmQsIGlmIHNvLCByZW1vdmUgdGhlIHByb3BlcnR5LlxuICovXG5jb25zdCBpbmVydEFyaWFHcm91cHMgPSBpc1NhZmFyaTtcblxuLyoqIENvbmZpZ3VyYXRpb24gZm9yIHRoZSBhdHRyaWJ1dGUgdG8gbG9vayBhdCBpZiBjb21wb25lbnQgaXMgbmVzdGVkIGluIGFuIG9wdGlvbiBncm91cCAqL1xuY29uc3Qgb3B0aW9uT2JzZXJ2ZXJDb25maWc6IE11dGF0aW9uT2JzZXJ2ZXJJbml0ID0ge1xuICBhdHRyaWJ1dGVGaWx0ZXI6IFsnZGF0YS1ncm91cC1kaXNhYmxlZCcsICdkYXRhLW5lZ2F0aXZlJ10sXG4gIGF0dHJpYnV0ZXM6IHRydWUsXG4gIGNoaWxkTGlzdDogdHJ1ZSxcbiAgc3VidHJlZTogdHJ1ZSxcbiAgY2hhcmFjdGVyRGF0YTogdHJ1ZSxcbn07XG5cbmV4cG9ydFxuQHNsb3RTdGF0ZSgpXG5hYnN0cmFjdCBjbGFzcyBTYmJPcHRpb25CYXNlRWxlbWVudDxUID0gc3RyaW5nPiBleHRlbmRzIFNiYkRpc2FibGVkTWl4aW4oXG4gIFNiYkljb25OYW1lTWl4aW4oU2JiRWxlbWVudEludGVybmFsc01peGluKFNiYkh5ZHJhdGlvbk1peGluKExpdEVsZW1lbnQpKSksXG4pIHtcbiAgcHJvdGVjdGVkIGFic3RyYWN0IG9wdGlvbklkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFZhbHVlIG9mIHRoZSBvcHRpb24uXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvbiBEZXZlbG9wZXIgbm90ZTogSW4gdGhpcyBjYXNlIHVwZGF0aW5nIHRoZSBhdHRyaWJ1dGUgbXVzdCBiZSBzeW5jaHJvbm91cy5cbiAgICogRHVlIHRvIHRoaXMsIGl0IGlzIGltcGxlbWVudGVkIGFzIGEgZ2V0dGVyL3NldHRlciBhbmQgdGhlIGF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjaygpIGhhbmRsZXMgdGhlIGRpZmYgY2hlY2suXG4gICAqL1xuICBAcHJvcGVydHkoKVxuICBwdWJsaWMgc2V0IHZhbHVlKHZhbHVlOiBUKSB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHRoaXMuc2V0QXR0cmlidXRlKCd2YWx1ZScsIGAke3ZhbHVlfWApO1xuICAgICAgdGhpcy5fdmFsdWUgPSBudWxsO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xuICAgIH1cbiAgfVxuICBwdWJsaWMgZ2V0IHZhbHVlKCk6IFQge1xuICAgIHJldHVybiAodGhpcy5fdmFsdWUgPz8gdGhpcy5nZXRBdHRyaWJ1dGUoJ3ZhbHVlJykgPz8gJycpIGFzIFQ7XG4gIH1cbiAgcHJpdmF0ZSBfdmFsdWU6IFQgfCBudWxsID0gbnVsbDtcblxuICAvKiogV2hldGhlciB0aGUgb3B0aW9uIGlzIHNlbGVjdGVkLiAqL1xuICBAcHJvcGVydHkoeyB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBzZXQgc2VsZWN0ZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgnc2VsZWN0ZWQnLCB2YWx1ZSk7XG4gICAgdGhpcy5fdXBkYXRlQXJpYVNlbGVjdGVkKCk7XG4gIH1cbiAgcHVibGljIGdldCBzZWxlY3RlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXNBdHRyaWJ1dGUoJ3NlbGVjdGVkJyk7XG4gIH1cblxuICAvKiogRW1pdHMgd2hlbiBhbiBvcHRpb24gd2FzIHNlbGVjdGVkIGJ5IHVzZXIuICovXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBvcHRpb25TZWxlY3RlZDogRXZlbnRFbWl0dGVyO1xuXG4gIC8qKiBXaGV0aGVyIHRvIGFwcGx5IHRoZSBuZWdhdGl2ZSBzdHlsaW5nICovXG4gIEBzdGF0ZSgpIHByb3RlY3RlZCBhY2Nlc3NvciBuZWdhdGl2ZSA9IGZhbHNlO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBjb21wb25lbnQgbXVzdCBiZSBzZXQgZGlzYWJsZWQgZHVlIGRpc2FibGVkIGF0dHJpYnV0ZSBvbiBzYmItb3B0Z3JvdXAuICovXG4gIEBzdGF0ZSgpIHByb3RlY3RlZCBhY2Nlc3NvciBkaXNhYmxlZEZyb21Hcm91cCA9IGZhbHNlO1xuXG4gIEBzdGF0ZSgpIHByb3RlY3RlZCBhY2Nlc3NvciBsYWJlbCE6IHN0cmluZztcblxuICAvKiogRGlzYWJsZSB0aGUgaGlnaGxpZ2h0IG9mIHRoZSBsYWJlbC4gKi9cbiAgQHN0YXRlKCkgcHJvdGVjdGVkIGFjY2Vzc29yIGRpc2FibGVMYWJlbEhpZ2hsaWdodDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBUaGUgcG9ydGlvbiBvZiB0aGUgaGlnaGxpZ2h0ZWQgbGFiZWwuICovXG4gIEBzdGF0ZSgpIHByaXZhdGUgYWNjZXNzb3IgX2hpZ2hsaWdodFN0cmluZzogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgQHN0YXRlKCkgcHJpdmF0ZSBhY2Nlc3NvciBfaW5lcnRBcmlhR3JvdXBzID0gZmFsc2U7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ2NsaWNrJywgKGU6IE1vdXNlRXZlbnQpID0+IHRoaXMuc2VsZWN0QnlDbGljayhlKSwge1xuICAgICAgcGFzc2l2ZTogdHJ1ZSxcbiAgICB9KTtcblxuICAgIHRoaXMuYWRkQ29udHJvbGxlcihcbiAgICAgIG5ldyBNdXRhdGlvbkNvbnRyb2xsZXIodGhpcywge1xuICAgICAgICBjb25maWc6IG9wdGlvbk9ic2VydmVyQ29uZmlnLFxuICAgICAgICBjYWxsYmFjazogKG11dGF0aW9uc0xpc3QpID0+IHRoaXMub25FeHRlcm5hbE11dGF0aW9uKG11dGF0aW9uc0xpc3QpLFxuICAgICAgfSksXG4gICAgKTtcblxuICAgIGlmIChpbmVydEFyaWFHcm91cHMpIHtcbiAgICAgIGlmICh0aGlzLmh5ZHJhdGlvblJlcXVpcmVkKSB7XG4gICAgICAgIHRoaXMuaHlkcmF0aW9uQ29tcGxldGUudGhlbigoKSA9PiAodGhpcy5faW5lcnRBcmlhR3JvdXBzID0gaW5lcnRBcmlhR3JvdXBzKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLl9pbmVydEFyaWFHcm91cHMgPSBpbmVydEFyaWFHcm91cHM7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayhcbiAgICBuYW1lOiBzdHJpbmcsXG4gICAgb2xkOiBzdHJpbmcgfCBudWxsLFxuICAgIHZhbHVlOiBzdHJpbmcgfCBudWxsLFxuICApOiB2b2lkIHtcbiAgICBpZiAobmFtZSAhPT0gJ3ZhbHVlJyB8fCBvbGQgIT09IHZhbHVlKSB7XG4gICAgICBzdXBlci5hdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2sobmFtZSwgb2xkLCB2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEhpZ2hsaWdodCB0aGUgbGFiZWwgb2YgdGhlIG9wdGlvblxuICAgKiBAcGFyYW0gdmFsdWUgdGhlIGhpZ2hsaWdodGVkIHBvcnRpb24gb2YgdGhlIGxhYmVsXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIGhpZ2hsaWdodCh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5faGlnaGxpZ2h0U3RyaW5nID0gdmFsdWU7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2VsZWN0VmlhVXNlckludGVyYWN0aW9uKHNlbGVjdGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZCA9IHNlbGVjdGVkO1xuICAgIGlmICh0aGlzLnNlbGVjdGVkKSB7XG4gICAgICB0aGlzLm9wdGlvblNlbGVjdGVkLmVtaXQoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLmlkIHx8PSBgJHt0aGlzLm9wdGlvbklkfS0ke25leHRJZCsrfWA7XG4gICAgaWYgKHRoaXMuaHlkcmF0aW9uUmVxdWlyZWQpIHtcbiAgICAgIHRoaXMuaHlkcmF0aW9uQ29tcGxldGUudGhlbigoKSA9PiB0aGlzLmluaXQoKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaW5pdCgpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnZGlzYWJsZWQnKSkge1xuICAgICAgc2V0T3JSZW1vdmVBdHRyaWJ1dGUodGhpcywgJ3RhYmluZGV4JywgaXNBbmRyb2lkICYmICF0aGlzLmRpc2FibGVkICYmIDApO1xuICAgICAgdGhpcy51cGRhdGVBcmlhRGlzYWJsZWQoKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICAvLyBJbml0IGZpcnN0IHNlbGVjdCBzdGF0ZSBiZWNhdXNlIGZhbHNlIHdvdWxkIG5vdCBjYWxsIHNldHRlciBvZiBzZWxlY3RlZCBwcm9wZXJ0eS5cbiAgICB0aGlzLl91cGRhdGVBcmlhU2VsZWN0ZWQoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBzZWxlY3RCeUNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZDtcbiAgcHJvdGVjdGVkIGFic3RyYWN0IHNldEF0dHJpYnV0ZUZyb21QYXJlbnQoKTogdm9pZDtcblxuICBwcm90ZWN0ZWQgdXBkYXRlRGlzYWJsZUhpZ2hsaWdodChkaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZUxhYmVsSGlnaGxpZ2h0ID0gZGlzYWJsZWQ7XG4gICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtZGlzYWJsZS1oaWdobGlnaHQnLCBkaXNhYmxlZCk7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgb3B0aW9uIGlzIGN1cnJlbnRseSBhY3RpdmUuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIHNldEFjdGl2ZSh2YWx1ZTogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkYXRhLWFjdGl2ZScsIHZhbHVlKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBpbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc2V0QXR0cmlidXRlRnJvbVBhcmVudCgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHVwZGF0ZUFyaWFEaXNhYmxlZCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCB8fCB0aGlzLmRpc2FibGVkRnJvbUdyb3VwKSB7XG4gICAgICB0aGlzLnNldEF0dHJpYnV0ZSgnYXJpYS1kaXNhYmxlZCcsICd0cnVlJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmVtb3ZlQXR0cmlidXRlKCdhcmlhLWRpc2FibGVkJyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlQXJpYVNlbGVjdGVkKCk6IHZvaWQge1xuICAgIHRoaXMuc2V0QXR0cmlidXRlKCdhcmlhLXNlbGVjdGVkJywgYCR7dGhpcy5zZWxlY3RlZH1gKTtcbiAgfVxuXG4gIC8qKiBPYnNlcnZlIGNoYW5nZXMgb24gZGF0YSBhdHRyaWJ1dGVzICsgc2xvdHRlZCBjb250ZW50IGFuZCBzZXQgdGhlIGFwcHJvcHJpYXRlIHZhbHVlcy4gKi9cbiAgcHJvdGVjdGVkIG9uRXh0ZXJuYWxNdXRhdGlvbihtdXRhdGlvbnNMaXN0OiBNdXRhdGlvblJlY29yZFtdKTogdm9pZCB7XG4gICAgbGV0IGNvbnRlbnRDaGFuZ2VkID0gZmFsc2U7XG4gICAgZm9yIChjb25zdCBtdXRhdGlvbiBvZiBtdXRhdGlvbnNMaXN0KSB7XG4gICAgICBpZiAobXV0YXRpb24uYXR0cmlidXRlTmFtZSA9PT0gJ2RhdGEtZ3JvdXAtZGlzYWJsZWQnKSB7XG4gICAgICAgIHRoaXMuZGlzYWJsZWRGcm9tR3JvdXAgPSB0aGlzLmhhc0F0dHJpYnV0ZSgnZGF0YS1ncm91cC1kaXNhYmxlZCcpO1xuICAgICAgICB0aGlzLnVwZGF0ZUFyaWFEaXNhYmxlZCgpO1xuICAgICAgfSBlbHNlIGlmIChtdXRhdGlvbi5hdHRyaWJ1dGVOYW1lID09PSAnZGF0YS1uZWdhdGl2ZScpIHtcbiAgICAgICAgdGhpcy5uZWdhdGl2ZSA9IHRoaXMuaGFzQXR0cmlidXRlKCdkYXRhLW5lZ2F0aXZlJyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb250ZW50Q2hhbmdlZCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGNvbnRlbnRDaGFuZ2VkKSB7XG4gICAgICB0aGlzLmhhbmRsZUhpZ2hsaWdodFN0YXRlKCk7XG4gICAgICAvKiogQGludGVybmFsICovXG4gICAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdvcHRpb25MYWJlbENoYW5nZWQnLCB7IGJ1YmJsZXM6IHRydWUgfSkpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVIaWdobGlnaHRTdGF0ZSgpOiB2b2lkIHtcbiAgICBjb25zdCBzbG90Tm9kZXMgPSBBcnJheS5mcm9tKHRoaXMuY2hpbGROb2RlcyA/PyBbXSkuZmlsdGVyKFxuICAgICAgKG4pID0+IG4ubm9kZVR5cGUgIT09IE5vZGUuQ09NTUVOVF9OT0RFICYmICghKG4gaW5zdGFuY2VvZiBFbGVtZW50KSB8fCBuLnNsb3QgIT09ICdpY29uJyksXG4gICAgKTtcbiAgICBjb25zdCBsYWJlbE5vZGVzID0gc2xvdE5vZGVzLmZpbHRlcigoZWwpID0+IGVsLm5vZGVUeXBlID09PSBOb2RlLlRFWFRfTk9ERSkgYXMgVGV4dFtdO1xuXG4gICAgLy8gRGlzYWJsZSB0aGUgaGlnaGxpZ2h0IGlmIHRoZSBzbG90IGNvbnRhaW4gbW9yZSB0aGFuIGp1c3QgdGV4dCBub2Rlcy5cbiAgICAvLyBXZSBuZWVkIHRvIGlnbm9yZSB0ZW1wbGF0ZSBlbGVtZW50cywgYXMgU1NSIGFkZHMgYSBkZWNsYXJhdGl2ZSBzaGFkb3cgRE9NXG4gICAgLy8gaW4gdGhlIGZvcm0gb2YgYSB0ZW1wbGF0ZSBlbGVtZW50LlxuICAgIGlmIChcbiAgICAgIGxhYmVsTm9kZXMubGVuZ3RoID09PSAwIHx8XG4gICAgICBzbG90Tm9kZXMuZmlsdGVyKChuKSA9PiAhKG4gaW5zdGFuY2VvZiBFbGVtZW50KSB8fCBuLmxvY2FsTmFtZSAhPT0gJ3RlbXBsYXRlJykubGVuZ3RoICE9PVxuICAgICAgICBsYWJlbE5vZGVzLmxlbmd0aFxuICAgICkge1xuICAgICAgdGhpcy51cGRhdGVEaXNhYmxlSGlnaGxpZ2h0KHRydWUpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmxhYmVsID0gbGFiZWxOb2Rlc1xuICAgICAgLm1hcCgobCkgPT4gbC53aG9sZVRleHQpXG4gICAgICAuZmlsdGVyKChsKSA9PiBsLnRyaW0oKSlcbiAgICAgIC5qb2luKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0SGlnaGxpZ2h0ZWRMYWJlbCgpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgaWYgKCF0aGlzLl9oaWdobGlnaHRTdHJpbmcgfHwgIXRoaXMuX2hpZ2hsaWdodFN0cmluZy50cmltKCkpIHtcbiAgICAgIHJldHVybiBodG1sYCR7dGhpcy5sYWJlbH1gO1xuICAgIH1cblxuICAgIGNvbnN0IG1hdGNoSW5kZXggPSB0aGlzLmxhYmVsIS50b0xvd2VyQ2FzZSgpLmluZGV4T2YodGhpcy5faGlnaGxpZ2h0U3RyaW5nLnRvTG93ZXJDYXNlKCkpO1xuXG4gICAgaWYgKG1hdGNoSW5kZXggPT09IC0xKSB7XG4gICAgICByZXR1cm4gaHRtbGAke3RoaXMubGFiZWx9YDtcbiAgICB9XG5cbiAgICBjb25zdCBwcmVmaXggPSB0aGlzLmxhYmVsIS5zdWJzdHJpbmcoMCwgbWF0Y2hJbmRleCk7XG4gICAgY29uc3QgaGlnaGxpZ2h0ZWQgPSB0aGlzLmxhYmVsIS5zdWJzdHJpbmcoXG4gICAgICBtYXRjaEluZGV4LFxuICAgICAgbWF0Y2hJbmRleCArIHRoaXMuX2hpZ2hsaWdodFN0cmluZy5sZW5ndGgsXG4gICAgKTtcbiAgICBjb25zdCBwb3N0Zml4ID0gdGhpcy5sYWJlbCEuc3Vic3RyaW5nKG1hdGNoSW5kZXggKyB0aGlzLl9oaWdobGlnaHRTdHJpbmcubGVuZ3RoKTtcblxuICAgIHJldHVybiBodG1sYFxuICAgICAgPHNwYW4gY2xhc3M9XCJzYmItb3B0aW9uX19sYWJlbC0taGlnaGxpZ2h0XCI+JHtwcmVmaXh9PC9zcGFuPjxzcGFuPiR7aGlnaGxpZ2h0ZWR9PC9zcGFuXG4gICAgICA+PHNwYW4gY2xhc3M9XCJzYmItb3B0aW9uX19sYWJlbC0taGlnaGxpZ2h0XCI+JHtwb3N0Zml4fTwvc3Bhbj5cbiAgICBgO1xuICB9XG5cbiAgcHJvdGVjdGVkIHJlbmRlckljb24oKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYCA8c3BhbiBjbGFzcz1cInNiYi1vcHRpb25fX2ljb25cIj4gJHt0aGlzLnJlbmRlckljb25TbG90KCl9IDwvc3Bhbj5gO1xuICB9XG5cbiAgcHJvdGVjdGVkIHJlbmRlckxhYmVsKCk6IFRlbXBsYXRlUmVzdWx0IHwgdHlwZW9mIG5vdGhpbmcge1xuICAgIHJldHVybiB0aGlzLmxhYmVsICYmICF0aGlzLmRpc2FibGVMYWJlbEhpZ2hsaWdodCA/IHRoaXMuZ2V0SGlnaGxpZ2h0ZWRMYWJlbCgpIDogbm90aGluZztcbiAgfVxuXG4gIHByb3RlY3RlZCByZW5kZXJUaWNrKCk6IFRlbXBsYXRlUmVzdWx0IHwgdHlwZW9mIG5vdGhpbmcge1xuICAgIHJldHVybiBub3RoaW5nO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLW9wdGlvbl9fY29udGFpbmVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzYmItb3B0aW9uXCI+XG4gICAgICAgICAgJHt0aGlzLnJlbmRlckljb24oKX1cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi1vcHRpb25fX2xhYmVsXCI+XG4gICAgICAgICAgICA8c2xvdCBAc2xvdGNoYW5nZT0ke3RoaXMuaGFuZGxlSGlnaGxpZ2h0U3RhdGV9Pjwvc2xvdD5cbiAgICAgICAgICAgICR7dGhpcy5yZW5kZXJMYWJlbCgpfVxuICAgICAgICAgICAgJHt0aGlzLl9pbmVydEFyaWFHcm91cHMgJiYgdGhpcy5nZXRBdHRyaWJ1dGUoJ2RhdGEtZ3JvdXAtbGFiZWwnKVxuICAgICAgICAgICAgICA/IGh0bWxgPHNiYi1zY3JlZW4tcmVhZGVyLW9ubHk+XG4gICAgICAgICAgICAgICAgICAoJHt0aGlzLmdldEF0dHJpYnV0ZSgnZGF0YS1ncm91cC1sYWJlbCcpfSk8L3NiYi1zY3JlZW4tcmVhZGVyLW9ubHlcbiAgICAgICAgICAgICAgICA+YFxuICAgICAgICAgICAgICA6IG5vdGhpbmd9XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICR7dGhpcy5yZW5kZXJUaWNrKCl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIl9hIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBZ0JBLElBQUksU0FBUztBQU9iLE1BQU0sa0JBQWtCO0FBR3hCLE1BQU0sdUJBQTZDO0FBQUEsRUFDakQsaUJBQWlCLENBQUMsdUJBQXVCLGVBQWU7QUFBQSxFQUN4RCxZQUFZO0FBQUEsRUFDWixXQUFXO0FBQUEsRUFDWCxTQUFTO0FBQUEsRUFDVCxlQUFlOztJQUtGLHdCQUFvQixNQUFBOztBQURsQyxNQUFB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
327
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLWJhc2UtZWxlbWVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL29wdGlvbi9vcHRpb24vb3B0aW9uLWJhc2UtZWxlbWVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNdXRhdGlvbkNvbnRyb2xsZXIgfSBmcm9tICdAbGl0LWxhYnMvb2JzZXJ2ZXJzL211dGF0aW9uLWNvbnRyb2xsZXIuanMnO1xuaW1wb3J0IHsgaHRtbCwgTGl0RWxlbWVudCwgbm90aGluZywgdHlwZSBQcm9wZXJ0eVZhbHVlcywgdHlwZSBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBwcm9wZXJ0eSwgc3RhdGUgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IHNsb3RTdGF0ZSB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBpc0FuZHJvaWQsIGlzU2FmYXJpLCBzZXRPclJlbW92ZUF0dHJpYnV0ZSB9IGZyb20gJy4uLy4uL2NvcmUvZG9tLmpzJztcbmltcG9ydCB0eXBlIHsgRXZlbnRFbWl0dGVyIH0gZnJvbSAnLi4vLi4vY29yZS9ldmVudGluZy5qcyc7XG5pbXBvcnQge1xuICBTYmJEaXNhYmxlZE1peGluLFxuICBTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW4sXG4gIFNiYkh5ZHJhdGlvbk1peGluLFxufSBmcm9tICcuLi8uLi9jb3JlL21peGlucy5qcyc7XG5pbXBvcnQgeyBTYmJJY29uTmFtZU1peGluIH0gZnJvbSAnLi4vLi4vaWNvbi5qcyc7XG5cbmltcG9ydCAnLi4vLi4vc2NyZWVuLXJlYWRlci1vbmx5LmpzJztcblxubGV0IG5leHRJZCA9IDA7XG5cbi8qKlxuICogT24gU2FmYXJpLCB0aGUgZ3JvdXBzIGxhYmVscyBhcmUgbm90IHJlYWQgYnkgVm9pY2VPdmVyLlxuICogVG8gc29sdmUgdGhlIHByb2JsZW0sIHdlIHJlbW92ZSB0aGUgcm9sZT1cImdyb3VwXCIgYW5kIGFkZCBhbiBoaWRkZW4gc3BhbiBjb250YWluaW5nIHRoZSBncm91cCBuYW1lXG4gKiBUT0RPOiBXZSBzaG91bGQgcGVyaW9kaWNhbGx5IGNoZWNrIGlmIGl0IGhhcyBiZWVuIHNvbHZlZCBhbmQsIGlmIHNvLCByZW1vdmUgdGhlIHByb3BlcnR5LlxuICovXG5jb25zdCBpbmVydEFyaWFHcm91cHMgPSBpc1NhZmFyaTtcblxuLyoqIENvbmZpZ3VyYXRpb24gZm9yIHRoZSBhdHRyaWJ1dGUgdG8gbG9vayBhdCBpZiBjb21wb25lbnQgaXMgbmVzdGVkIGluIGFuIG9wdGlvbiBncm91cCAqL1xuY29uc3Qgb3B0aW9uT2JzZXJ2ZXJDb25maWc6IE11dGF0aW9uT2JzZXJ2ZXJJbml0ID0ge1xuICBhdHRyaWJ1dGVGaWx0ZXI6IFsnZGF0YS1ncm91cC1kaXNhYmxlZCcsICdkYXRhLW5lZ2F0aXZlJ10sXG4gIGF0dHJpYnV0ZXM6IHRydWUsXG4gIGNoaWxkTGlzdDogdHJ1ZSxcbiAgc3VidHJlZTogdHJ1ZSxcbiAgY2hhcmFjdGVyRGF0YTogdHJ1ZSxcbn07XG5cbmV4cG9ydFxuQHNsb3RTdGF0ZSgpXG5hYnN0cmFjdCBjbGFzcyBTYmJPcHRpb25CYXNlRWxlbWVudDxUID0gc3RyaW5nPiBleHRlbmRzIFNiYkRpc2FibGVkTWl4aW4oXG4gIFNiYkljb25OYW1lTWl4aW4oU2JiRWxlbWVudEludGVybmFsc01peGluKFNiYkh5ZHJhdGlvbk1peGluKExpdEVsZW1lbnQpKSksXG4pIHtcbiAgcHJvdGVjdGVkIGFic3RyYWN0IG9wdGlvbklkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFZhbHVlIG9mIHRoZSBvcHRpb24uXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvbiBEZXZlbG9wZXIgbm90ZTogSW4gdGhpcyBjYXNlIHVwZGF0aW5nIHRoZSBhdHRyaWJ1dGUgbXVzdCBiZSBzeW5jaHJvbm91cy5cbiAgICogRHVlIHRvIHRoaXMsIGl0IGlzIGltcGxlbWVudGVkIGFzIGEgZ2V0dGVyL3NldHRlciBhbmQgdGhlIGF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjaygpIGhhbmRsZXMgdGhlIGRpZmYgY2hlY2suXG4gICAqL1xuICBAcHJvcGVydHkoKVxuICBwdWJsaWMgc2V0IHZhbHVlKHZhbHVlOiBUKSB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHRoaXMuc2V0QXR0cmlidXRlKCd2YWx1ZScsIGAke3ZhbHVlfWApO1xuICAgICAgdGhpcy5fdmFsdWUgPSBudWxsO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xuICAgIH1cbiAgfVxuICBwdWJsaWMgZ2V0IHZhbHVlKCk6IFQge1xuICAgIHJldHVybiAodGhpcy5fdmFsdWUgPz8gdGhpcy5nZXRBdHRyaWJ1dGUoJ3ZhbHVlJykgPz8gJycpIGFzIFQ7XG4gIH1cbiAgcHJpdmF0ZSBfdmFsdWU6IFQgfCBudWxsID0gbnVsbDtcblxuICAvKiogV2hldGhlciB0aGUgb3B0aW9uIGlzIHNlbGVjdGVkLiAqL1xuICBAcHJvcGVydHkoeyB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBzZXQgc2VsZWN0ZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgnc2VsZWN0ZWQnLCB2YWx1ZSk7XG4gICAgdGhpcy5fdXBkYXRlQXJpYVNlbGVjdGVkKCk7XG4gIH1cbiAgcHVibGljIGdldCBzZWxlY3RlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXNBdHRyaWJ1dGUoJ3NlbGVjdGVkJyk7XG4gIH1cblxuICAvKiogRW1pdHMgd2hlbiBhbiBvcHRpb24gd2FzIHNlbGVjdGVkIGJ5IHVzZXIuICovXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBvcHRpb25TZWxlY3RlZDogRXZlbnRFbWl0dGVyO1xuXG4gIC8qKiBXaGV0aGVyIHRvIGFwcGx5IHRoZSBuZWdhdGl2ZSBzdHlsaW5nICovXG4gIEBzdGF0ZSgpIHByb3RlY3RlZCBhY2Nlc3NvciBuZWdhdGl2ZSA9IGZhbHNlO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBjb21wb25lbnQgbXVzdCBiZSBzZXQgZGlzYWJsZWQgZHVlIGRpc2FibGVkIGF0dHJpYnV0ZSBvbiBzYmItb3B0Z3JvdXAuICovXG4gIEBzdGF0ZSgpIHByb3RlY3RlZCBhY2Nlc3NvciBkaXNhYmxlZEZyb21Hcm91cCA9IGZhbHNlO1xuXG4gIEBzdGF0ZSgpIHByb3RlY3RlZCBhY2Nlc3NvciBsYWJlbCE6IHN0cmluZztcblxuICAvKiogRGlzYWJsZSB0aGUgaGlnaGxpZ2h0IG9mIHRoZSBsYWJlbC4gKi9cbiAgQHN0YXRlKCkgcHJvdGVjdGVkIGFjY2Vzc29yIGRpc2FibGVMYWJlbEhpZ2hsaWdodDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBUaGUgcG9ydGlvbiBvZiB0aGUgaGlnaGxpZ2h0ZWQgbGFiZWwuICovXG4gIEBzdGF0ZSgpIHByaXZhdGUgYWNjZXNzb3IgX2hpZ2hsaWdodFN0cmluZzogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgQHN0YXRlKCkgcHJpdmF0ZSBhY2Nlc3NvciBfaW5lcnRBcmlhR3JvdXBzID0gZmFsc2U7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ2NsaWNrJywgKGU6IE1vdXNlRXZlbnQpID0+IHRoaXMuc2VsZWN0QnlDbGljayhlKSwge1xuICAgICAgcGFzc2l2ZTogdHJ1ZSxcbiAgICB9KTtcblxuICAgIHRoaXMuYWRkQ29udHJvbGxlcihcbiAgICAgIG5ldyBNdXRhdGlvbkNvbnRyb2xsZXIodGhpcywge1xuICAgICAgICBjb25maWc6IG9wdGlvbk9ic2VydmVyQ29uZmlnLFxuICAgICAgICBjYWxsYmFjazogKG11dGF0aW9uc0xpc3QpID0+IHRoaXMub25FeHRlcm5hbE11dGF0aW9uKG11dGF0aW9uc0xpc3QpLFxuICAgICAgfSksXG4gICAgKTtcblxuICAgIGlmIChpbmVydEFyaWFHcm91cHMpIHtcbiAgICAgIGlmICh0aGlzLmh5ZHJhdGlvblJlcXVpcmVkKSB7XG4gICAgICAgIHRoaXMuaHlkcmF0aW9uQ29tcGxldGUudGhlbigoKSA9PiAodGhpcy5faW5lcnRBcmlhR3JvdXBzID0gaW5lcnRBcmlhR3JvdXBzKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLl9pbmVydEFyaWFHcm91cHMgPSBpbmVydEFyaWFHcm91cHM7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayhcbiAgICBuYW1lOiBzdHJpbmcsXG4gICAgb2xkOiBzdHJpbmcgfCBudWxsLFxuICAgIHZhbHVlOiBzdHJpbmcgfCBudWxsLFxuICApOiB2b2lkIHtcbiAgICBpZiAobmFtZSAhPT0gJ3ZhbHVlJyB8fCBvbGQgIT09IHZhbHVlKSB7XG4gICAgICBzdXBlci5hdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2sobmFtZSwgb2xkLCB2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEhpZ2hsaWdodCB0aGUgbGFiZWwgb2YgdGhlIG9wdGlvblxuICAgKiBAcGFyYW0gdmFsdWUgdGhlIGhpZ2hsaWdodGVkIHBvcnRpb24gb2YgdGhlIGxhYmVsXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIGhpZ2hsaWdodCh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5faGlnaGxpZ2h0U3RyaW5nID0gdmFsdWU7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2VsZWN0VmlhVXNlckludGVyYWN0aW9uKHNlbGVjdGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZCA9IHNlbGVjdGVkO1xuICAgIGlmICh0aGlzLnNlbGVjdGVkKSB7XG4gICAgICB0aGlzLm9wdGlvblNlbGVjdGVkLmVtaXQoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLmlkIHx8PSBgJHt0aGlzLm9wdGlvbklkfS0ke25leHRJZCsrfWA7XG4gICAgaWYgKHRoaXMuaHlkcmF0aW9uUmVxdWlyZWQpIHtcbiAgICAgIHRoaXMuaHlkcmF0aW9uQ29tcGxldGUudGhlbigoKSA9PiB0aGlzLmluaXQoKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaW5pdCgpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnZGlzYWJsZWQnKSkge1xuICAgICAgc2V0T3JSZW1vdmVBdHRyaWJ1dGUodGhpcywgJ3RhYmluZGV4JywgaXNBbmRyb2lkICYmICF0aGlzLmRpc2FibGVkICYmIDApO1xuICAgICAgdGhpcy51cGRhdGVBcmlhRGlzYWJsZWQoKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICAvLyBJbml0IGZpcnN0IHNlbGVjdCBzdGF0ZSBiZWNhdXNlIGZhbHNlIHdvdWxkIG5vdCBjYWxsIHNldHRlciBvZiBzZWxlY3RlZCBwcm9wZXJ0eS5cbiAgICB0aGlzLl91cGRhdGVBcmlhU2VsZWN0ZWQoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBzZWxlY3RCeUNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZDtcbiAgcHJvdGVjdGVkIGFic3RyYWN0IHNldEF0dHJpYnV0ZUZyb21QYXJlbnQoKTogdm9pZDtcblxuICBwcm90ZWN0ZWQgdXBkYXRlRGlzYWJsZUhpZ2hsaWdodChkaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZUxhYmVsSGlnaGxpZ2h0ID0gZGlzYWJsZWQ7XG4gICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtZGlzYWJsZS1oaWdobGlnaHQnLCBkaXNhYmxlZCk7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgb3B0aW9uIGlzIGN1cnJlbnRseSBhY3RpdmUuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIHNldEFjdGl2ZSh2YWx1ZTogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkYXRhLWFjdGl2ZScsIHZhbHVlKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBpbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc2V0QXR0cmlidXRlRnJvbVBhcmVudCgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHVwZGF0ZUFyaWFEaXNhYmxlZCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCB8fCB0aGlzLmRpc2FibGVkRnJvbUdyb3VwKSB7XG4gICAgICB0aGlzLnNldEF0dHJpYnV0ZSgnYXJpYS1kaXNhYmxlZCcsICd0cnVlJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmVtb3ZlQXR0cmlidXRlKCdhcmlhLWRpc2FibGVkJyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlQXJpYVNlbGVjdGVkKCk6IHZvaWQge1xuICAgIHRoaXMuc2V0QXR0cmlidXRlKCdhcmlhLXNlbGVjdGVkJywgYCR7dGhpcy5zZWxlY3RlZH1gKTtcbiAgfVxuXG4gIC8qKiBPYnNlcnZlIGNoYW5nZXMgb24gZGF0YSBhdHRyaWJ1dGVzICsgc2xvdHRlZCBjb250ZW50IGFuZCBzZXQgdGhlIGFwcHJvcHJpYXRlIHZhbHVlcy4gKi9cbiAgcHJvdGVjdGVkIG9uRXh0ZXJuYWxNdXRhdGlvbihtdXRhdGlvbnNMaXN0OiBNdXRhdGlvblJlY29yZFtdKTogdm9pZCB7XG4gICAgbGV0IGNvbnRlbnRDaGFuZ2VkID0gZmFsc2U7XG4gICAgZm9yIChjb25zdCBtdXRhdGlvbiBvZiBtdXRhdGlvbnNMaXN0KSB7XG4gICAgICBpZiAobXV0YXRpb24uYXR0cmlidXRlTmFtZSA9PT0gJ2RhdGEtZ3JvdXAtZGlzYWJsZWQnKSB7XG4gICAgICAgIHRoaXMuZGlzYWJsZWRGcm9tR3JvdXAgPSB0aGlzLmhhc0F0dHJpYnV0ZSgnZGF0YS1ncm91cC1kaXNhYmxlZCcpO1xuICAgICAgICB0aGlzLnVwZGF0ZUFyaWFEaXNhYmxlZCgpO1xuICAgICAgfSBlbHNlIGlmIChtdXRhdGlvbi5hdHRyaWJ1dGVOYW1lID09PSAnZGF0YS1uZWdhdGl2ZScpIHtcbiAgICAgICAgdGhpcy5uZWdhdGl2ZSA9IHRoaXMuaGFzQXR0cmlidXRlKCdkYXRhLW5lZ2F0aXZlJyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb250ZW50Q2hhbmdlZCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGNvbnRlbnRDaGFuZ2VkKSB7XG4gICAgICB0aGlzLmhhbmRsZUhpZ2hsaWdodFN0YXRlKCk7XG4gICAgICAvKiogQGludGVybmFsICovXG4gICAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdvcHRpb25MYWJlbENoYW5nZWQnLCB7IGJ1YmJsZXM6IHRydWUgfSkpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVIaWdobGlnaHRTdGF0ZSgpOiB2b2lkIHtcbiAgICBjb25zdCBzbG90Tm9kZXMgPSBBcnJheS5mcm9tKHRoaXMuY2hpbGROb2RlcyA/PyBbXSkuZmlsdGVyKFxuICAgICAgKG4pID0+IG4ubm9kZVR5cGUgIT09IE5vZGUuQ09NTUVOVF9OT0RFICYmICghKG4gaW5zdGFuY2VvZiBFbGVtZW50KSB8fCBuLnNsb3QgIT09ICdpY29uJyksXG4gICAgKTtcbiAgICBjb25zdCBsYWJlbE5vZGVzID0gc2xvdE5vZGVzLmZpbHRlcigoZWwpID0+IGVsLm5vZGVUeXBlID09PSBOb2RlLlRFWFRfTk9ERSkgYXMgVGV4dFtdO1xuXG4gICAgLy8gRGlzYWJsZSB0aGUgaGlnaGxpZ2h0IGlmIHRoZSBzbG90IGNvbnRhaW4gbW9yZSB0aGFuIGp1c3QgdGV4dCBub2Rlcy5cbiAgICAvLyBXZSBuZWVkIHRvIGlnbm9yZSB0ZW1wbGF0ZSBlbGVtZW50cywgYXMgU1NSIGFkZHMgYSBkZWNsYXJhdGl2ZSBzaGFkb3cgRE9NXG4gICAgLy8gaW4gdGhlIGZvcm0gb2YgYSB0ZW1wbGF0ZSBlbGVtZW50LlxuICAgIGlmIChcbiAgICAgIGxhYmVsTm9kZXMubGVuZ3RoID09PSAwIHx8XG4gICAgICBzbG90Tm9kZXMuZmlsdGVyKChuKSA9PiAhKG4gaW5zdGFuY2VvZiBFbGVtZW50KSB8fCBuLmxvY2FsTmFtZSAhPT0gJ3RlbXBsYXRlJykubGVuZ3RoICE9PVxuICAgICAgICBsYWJlbE5vZGVzLmxlbmd0aFxuICAgICkge1xuICAgICAgdGhpcy51cGRhdGVEaXNhYmxlSGlnaGxpZ2h0KHRydWUpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmxhYmVsID0gbGFiZWxOb2Rlc1xuICAgICAgLm1hcCgobCkgPT4gbC53aG9sZVRleHQpXG4gICAgICAuZmlsdGVyKChsKSA9PiBsLnRyaW0oKSlcbiAgICAgIC5qb2luKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0SGlnaGxpZ2h0ZWRMYWJlbCgpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgaWYgKCF0aGlzLl9oaWdobGlnaHRTdHJpbmcgfHwgIXRoaXMuX2hpZ2hsaWdodFN0cmluZy50cmltKCkpIHtcbiAgICAgIHJldHVybiBodG1sYCR7dGhpcy5sYWJlbH1gO1xuICAgIH1cblxuICAgIGNvbnN0IG1hdGNoSW5kZXggPSB0aGlzLmxhYmVsIS50b0xvd2VyQ2FzZSgpLmluZGV4T2YodGhpcy5faGlnaGxpZ2h0U3RyaW5nLnRvTG93ZXJDYXNlKCkpO1xuXG4gICAgaWYgKG1hdGNoSW5kZXggPT09IC0xKSB7XG4gICAgICByZXR1cm4gaHRtbGAke3RoaXMubGFiZWx9YDtcbiAgICB9XG5cbiAgICBjb25zdCBwcmVmaXggPSB0aGlzLmxhYmVsIS5zdWJzdHJpbmcoMCwgbWF0Y2hJbmRleCk7XG4gICAgY29uc3QgaGlnaGxpZ2h0ZWQgPSB0aGlzLmxhYmVsIS5zdWJzdHJpbmcoXG4gICAgICBtYXRjaEluZGV4LFxuICAgICAgbWF0Y2hJbmRleCArIHRoaXMuX2hpZ2hsaWdodFN0cmluZy5sZW5ndGgsXG4gICAgKTtcbiAgICBjb25zdCBwb3N0Zml4ID0gdGhpcy5sYWJlbCEuc3Vic3RyaW5nKG1hdGNoSW5kZXggKyB0aGlzLl9oaWdobGlnaHRTdHJpbmcubGVuZ3RoKTtcblxuICAgIHJldHVybiBodG1sYFxuICAgICAgPHNwYW4gY2xhc3M9XCJzYmItb3B0aW9uX19sYWJlbC0taGlnaGxpZ2h0XCI+JHtwcmVmaXh9PC9zcGFuPjxzcGFuPiR7aGlnaGxpZ2h0ZWR9PC9zcGFuXG4gICAgICA+PHNwYW4gY2xhc3M9XCJzYmItb3B0aW9uX19sYWJlbC0taGlnaGxpZ2h0XCI+JHtwb3N0Zml4fTwvc3Bhbj5cbiAgICBgO1xuICB9XG5cbiAgcHJvdGVjdGVkIHJlbmRlckljb24oKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYCA8c3BhbiBjbGFzcz1cInNiYi1vcHRpb25fX2ljb25cIj4gJHt0aGlzLnJlbmRlckljb25TbG90KCl9IDwvc3Bhbj5gO1xuICB9XG5cbiAgcHJvdGVjdGVkIHJlbmRlckxhYmVsKCk6IFRlbXBsYXRlUmVzdWx0IHwgdHlwZW9mIG5vdGhpbmcge1xuICAgIHJldHVybiB0aGlzLmxhYmVsICYmICF0aGlzLmRpc2FibGVMYWJlbEhpZ2hsaWdodCA/IHRoaXMuZ2V0SGlnaGxpZ2h0ZWRMYWJlbCgpIDogbm90aGluZztcbiAgfVxuXG4gIHByb3RlY3RlZCByZW5kZXJUaWNrKCk6IFRlbXBsYXRlUmVzdWx0IHwgdHlwZW9mIG5vdGhpbmcge1xuICAgIHJldHVybiBub3RoaW5nO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLW9wdGlvbl9fY29udGFpbmVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzYmItb3B0aW9uXCI+XG4gICAgICAgICAgJHt0aGlzLnJlbmRlckljb24oKX1cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi1vcHRpb25fX2xhYmVsXCI+XG4gICAgICAgICAgICA8c2xvdCBAc2xvdGNoYW5nZT0ke3RoaXMuaGFuZGxlSGlnaGxpZ2h0U3RhdGV9Pjwvc2xvdD5cbiAgICAgICAgICAgICR7dGhpcy5yZW5kZXJMYWJlbCgpfVxuICAgICAgICAgICAgJHt0aGlzLl9pbmVydEFyaWFHcm91cHMgJiYgdGhpcy5nZXRBdHRyaWJ1dGUoJ2RhdGEtZ3JvdXAtbGFiZWwnKVxuICAgICAgICAgICAgICA/IGh0bWxgPHNiYi1zY3JlZW4tcmVhZGVyLW9ubHk+XG4gICAgICAgICAgICAgICAgICAoJHt0aGlzLmdldEF0dHJpYnV0ZSgnZGF0YS1ncm91cC1sYWJlbCcpfSk8L3NiYi1zY3JlZW4tcmVhZGVyLW9ubHlcbiAgICAgICAgICAgICAgICA+YFxuICAgICAgICAgICAgICA6IG5vdGhpbmd9XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICR7dGhpcy5yZW5kZXJUaWNrKCl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFnQkEsSUFBSSxTQUFTO0FBT2IsTUFBTSxrQkFBa0I7QUFHeEIsTUFBTSx1QkFBNkM7QUFBQSxFQUNqRCxpQkFBaUIsQ0FBQyx1QkFBdUIsZUFBZTtBQUFBLEVBQ3hELFlBQVk7QUFBQSxFQUNaLFdBQVc7QUFBQSxFQUNYLFNBQVM7QUFBQSxFQUNULGVBQWU7O0lBS0Ysd0JBQW9CLE1BQUE7O0FBRGxDLE1BQUEsbUJB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
@@ -178,17 +178,15 @@ let SbbOptionElement = (() => {
178
178
  return !this.hydrationRequired && this.hasAttribute("data-multiple");
179
179
  }
180
180
  setAttributeFromParent() {
181
- var _a2, _b;
182
- const parentGroup = (_a2 = this.closest) == null ? void 0 : _a2.call(this, "sbb-optgroup");
181
+ const parentGroup = this.closest?.("sbb-optgroup");
183
182
  if (parentGroup) {
184
183
  this.disabledFromGroup = parentGroup.disabled;
185
184
  this.updateAriaDisabled();
186
185
  }
187
- this.negative = !!((_b = this.closest) == null ? void 0 : _b.call(
188
- this,
186
+ this.negative = !!this.closest?.(
189
187
  // :is() selector not possible due to test environment
190
188
  `sbb-autocomplete[negative],sbb-form-field[negative]`
191
- ));
189
+ );
192
190
  this.toggleAttribute("data-negative", this.negative);
193
191
  this.toggleAttribute("data-multiple", this._isMultiple);
194
192
  }
@@ -214,13 +212,12 @@ let SbbOptionElement = (() => {
214
212
  this.handleHighlightState();
215
213
  }
216
214
  _setVariantByContext() {
217
- var _a2, _b, _c;
218
- if ((_a2 = this.closest) == null ? void 0 : _a2.call(this, "sbb-autocomplete")) {
215
+ if (this.closest?.("sbb-autocomplete")) {
219
216
  this._variant = "autocomplete";
220
- } else if ((_b = this.closest) == null ? void 0 : _b.call(this, "sbb-select")) {
217
+ } else if (this.closest?.("sbb-select")) {
221
218
  this._variant = "select";
222
219
  }
223
- this._isMultiple = !!((_c = this.closest) == null ? void 0 : _c.call(this, "sbb-select[multiple]"));
220
+ this._isMultiple = !!this.closest?.("sbb-select[multiple]");
224
221
  }
225
222
  handleHighlightState() {
226
223
  if (this._variant !== "autocomplete") {
@@ -264,4 +261,4 @@ let SbbOptionElement = (() => {
264
261
  export {
265
262
  SbbOptionElement
266
263
  };
267
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL29wdGlvbi9vcHRpb24vb3B0aW9uLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENTU1Jlc3VsdEdyb3VwLCBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBodG1sLCBub3RoaW5nIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IEV2ZW50RW1pdHRlciB9IGZyb20gJy4uLy4uL2NvcmUvZXZlbnRpbmcuanMnO1xuXG5pbXBvcnQgeyBTYmJPcHRpb25CYXNlRWxlbWVudCB9IGZyb20gJy4vb3B0aW9uLWJhc2UtZWxlbWVudC5qcyc7XG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9vcHRpb24uc2Nzcz9saXQmaW5saW5lJztcbmltcG9ydCAnLi4vLi4vdmlzdWFsLWNoZWNrYm94LmpzJztcblxuZXhwb3J0IHR5cGUgU2JiT3B0aW9uVmFyaWFudCA9ICdhdXRvY29tcGxldGUnIHwgJ3NlbGVjdCcgfCBudWxsO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIG9uIG9wdGlvbiBpdGVtIHdoaWNoIGNhbiBiZSB1c2VkIGluIGBzYmItc2VsZWN0YCBvciBgc2JiLWF1dG9jb21wbGV0ZWAuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgY29udGVudCB0byB0aGUgb3B0aW9uIGxhYmVsLlxuICogQHNsb3QgaWNvbiAtIFVzZSB0aGlzIHNsb3QgdG8gcHJvdmlkZSBhbiBpY29uLiBJZiBgaWNvbi1uYW1lYCBpcyBzZXQsIGEgc2JiLWljb24gd2lsbCBiZSB1c2VkLlxuICogQGV2ZW50IHtDdXN0b21FdmVudDx2b2lkPn0gb3B0aW9uU2VsZWN0aW9uQ2hhbmdlIC0gRW1pdHMgd2hlbiB0aGUgb3B0aW9uIHNlbGVjdGlvbiBzdGF0dXMgY2hhbmdlcy5cbiAqIEBldmVudCB7Q3VzdG9tRXZlbnQ8dm9pZD59IG9wdGlvblNlbGVjdGVkIC0gRW1pdHMgd2hlbiBhbiBvcHRpb24gd2FzIHNlbGVjdGVkIGJ5IHVzZXIuXG4gKiBAY3NzcHJvcCBbLS1zYmItb3B0aW9uLWljb24tY29udGFpbmVyLWRpc3BsYXk9bm9uZV0gLSBDYW4gYmUgdXNlZCB0byByZXNlcnZlIHNwYWNlIGV2ZW5cbiAqIHdoZW4gcHJlc2VydmUtaWNvbi1zcGFjZSBvbiBhdXRvY29tcGxldGUgaXMgbm90IHNldCBvciBpY29uTmFtZSBpcyBub3Qgc2V0LlxuICogQG92ZXJyaWRlVHlwZSB2YWx1ZSAtIChUID0gc3RyaW5nKSB8IG51bGxcbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLW9wdGlvbicpXG5jbGFzcyBTYmJPcHRpb25FbGVtZW50PFQgPSBzdHJpbmc+IGV4dGVuZHMgU2JiT3B0aW9uQmFzZUVsZW1lbnQ8VD4ge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IHJvbGUgPSAnb3B0aW9uJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gc3R5bGU7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgZXZlbnRzID0ge1xuICAgIHNlbGVjdGlvbkNoYW5nZTogJ29wdGlvblNlbGVjdGlvbkNoYW5nZScsXG4gICAgb3B0aW9uU2VsZWN0ZWQ6ICdvcHRpb25TZWxlY3RlZCcsXG4gIH0gYXMgY29uc3Q7XG5cbiAgcHJvdGVjdGVkIG9wdGlvbklkID0gYHNiYi1vcHRpb25gO1xuXG4gIC8qKiBFbWl0cyB3aGVuIHRoZSBvcHRpb24gc2VsZWN0aW9uIHN0YXR1cyBjaGFuZ2VzLiAqL1xuICBwcm90ZWN0ZWQgc2VsZWN0aW9uQ2hhbmdlOiBFdmVudEVtaXR0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyKFxuICAgIHRoaXMsXG4gICAgU2JiT3B0aW9uRWxlbWVudC5ldmVudHMuc2VsZWN0aW9uQ2hhbmdlLFxuICApO1xuXG4gIC8qKiBFbWl0cyB3aGVuIGFuIG9wdGlvbiB3YXMgc2VsZWN0ZWQgYnkgdXNlci4gKi9cbiAgcHJvdGVjdGVkIG9wdGlvblNlbGVjdGVkOiBFdmVudEVtaXR0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyKFxuICAgIHRoaXMsXG4gICAgU2JiT3B0aW9uRWxlbWVudC5ldmVudHMub3B0aW9uU2VsZWN0ZWQsXG4gICk7XG5cbiAgcHJpdmF0ZSBzZXQgX3ZhcmlhbnQoc3RhdGU6IFNiYk9wdGlvblZhcmlhbnQpIHtcbiAgICBpZiAoc3RhdGUpIHtcbiAgICAgIHRoaXMuc2V0QXR0cmlidXRlKCdkYXRhLXZhcmlhbnQnLCBzdGF0ZSk7XG4gICAgfVxuICB9XG4gIHByaXZhdGUgZ2V0IF92YXJpYW50KCk6IFNiYk9wdGlvblZhcmlhbnQge1xuICAgIHJldHVybiB0aGlzLmdldEF0dHJpYnV0ZSgnZGF0YS12YXJpYW50JykgYXMgU2JiT3B0aW9uVmFyaWFudDtcbiAgfVxuXG4gIHByaXZhdGUgc2V0IF9pc011bHRpcGxlKGlzTXVsdGlwbGU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1tdWx0aXBsZScsIGlzTXVsdGlwbGUpO1xuICB9XG4gIHByaXZhdGUgZ2V0IF9pc011bHRpcGxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy5oeWRyYXRpb25SZXF1aXJlZCAmJiB0aGlzLmhhc0F0dHJpYnV0ZSgnZGF0YS1tdWx0aXBsZScpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHNldEF0dHJpYnV0ZUZyb21QYXJlbnQoKTogdm9pZCB7XG4gICAgY29uc3QgcGFyZW50R3JvdXAgPSB0aGlzLmNsb3Nlc3Q/Lignc2JiLW9wdGdyb3VwJyk7XG4gICAgaWYgKHBhcmVudEdyb3VwKSB7XG4gICAgICB0aGlzLmRpc2FibGVkRnJvbUdyb3VwID0gcGFyZW50R3JvdXAuZGlzYWJsZWQ7XG4gICAgICB0aGlzLnVwZGF0ZUFyaWFEaXNhYmxlZCgpO1xuICAgIH1cblxuICAgIHRoaXMubmVnYXRpdmUgPSAhIXRoaXMuY2xvc2VzdD8uKFxuICAgICAgLy8gOmlzKCkgc2VsZWN0b3Igbm90IHBvc3NpYmxlIGR1ZSB0byB0ZXN0IGVudmlyb25tZW50XG4gICAgICBgc2JiLWF1dG9jb21wbGV0ZVtuZWdhdGl2ZV0sc2JiLWZvcm0tZmllbGRbbmVnYXRpdmVdYCxcbiAgICApO1xuICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkYXRhLW5lZ2F0aXZlJywgdGhpcy5uZWdhdGl2ZSk7XG5cbiAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1tdWx0aXBsZScsIHRoaXMuX2lzTXVsdGlwbGUpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHNlbGVjdEJ5Q2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCB8fCB0aGlzLmRpc2FibGVkRnJvbUdyb3VwKSB7XG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5faXNNdWx0aXBsZSkge1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICB0aGlzLnNlbGVjdFZpYVVzZXJJbnRlcmFjdGlvbighdGhpcy5zZWxlY3RlZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VsZWN0VmlhVXNlckludGVyYWN0aW9uKHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBzZWxlY3RWaWFVc2VySW50ZXJhY3Rpb24oc2VsZWN0ZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBzdXBlci5zZWxlY3RWaWFVc2VySW50ZXJhY3Rpb24oc2VsZWN0ZWQpO1xuICAgIHRoaXMuc2VsZWN0aW9uQ2hhbmdlLmVtaXQoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBpbml0KCk6IHZvaWQge1xuICAgIHN1cGVyLmluaXQoKTtcbiAgICB0aGlzLl9zZXRWYXJpYW50QnlDb250ZXh0KCk7XG4gICAgLy8gV2UgbmVlZCB0byBjaGVjayBoaWdobGlnaHQgc3RhdGUgYm90aCBvbiBzbG90IGNoYW5nZSwgYnV0IGFsc28gd2hlbiBjb25uZWN0aW5nXG4gICAgLy8gdGhlIGVsZW1lbnQgdG8gdGhlIERPTS4gVGhlIHNsb3QgY2hhbmdlIGV2ZW50cyBtaWdodCBiZSBzd2FsbG93ZWQgd2hlbiB1c2luZyBkZWNsYXJhdGl2ZVxuICAgIC8vIHNoYWRvdyBET00gd2l0aCBTU1Igb3IgaWYgdGhlIERPTSBpcyBjaGFuZ2VkIHdoZW4gZGlzY29ubmVjdGVkLlxuICAgIHRoaXMuaGFuZGxlSGlnaGxpZ2h0U3RhdGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3NldFZhcmlhbnRCeUNvbnRleHQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY2xvc2VzdD8uKCdzYmItYXV0b2NvbXBsZXRlJykpIHtcbiAgICAgIHRoaXMuX3ZhcmlhbnQgPSAnYXV0b2NvbXBsZXRlJztcbiAgICB9IGVsc2UgaWYgKHRoaXMuY2xvc2VzdD8uKCdzYmItc2VsZWN0JykpIHtcbiAgICAgIHRoaXMuX3ZhcmlhbnQgPSAnc2VsZWN0JztcbiAgICB9XG4gICAgdGhpcy5faXNNdWx0aXBsZSA9ICEhdGhpcy5jbG9zZXN0Py4oJ3NiYi1zZWxlY3RbbXVsdGlwbGVdJyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgaGFuZGxlSGlnaGxpZ2h0U3RhdGUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3ZhcmlhbnQgIT09ICdhdXRvY29tcGxldGUnKSB7XG4gICAgICB0aGlzLnVwZGF0ZURpc2FibGVIaWdobGlnaHQodHJ1ZSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgc3VwZXIuaGFuZGxlSGlnaGxpZ2h0U3RhdGUoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXJJY29uKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDwhLS0gSWNvbiAtLT5cbiAgICAgICR7IXRoaXMuX2lzTXVsdGlwbGVcbiAgICAgICAgPyBodG1sYCA8c3BhbiBjbGFzcz1cInNiYi1vcHRpb25fX2ljb25cIj4gJHt0aGlzLnJlbmRlckljb25TbG90KCl9IDwvc3Bhbj5gXG4gICAgICAgIDogbm90aGluZ31cblxuICAgICAgPCEtLSBDaGVja2JveCAtLT5cbiAgICAgICR7dGhpcy5faXNNdWx0aXBsZVxuICAgICAgICA/IGh0bWxgXG4gICAgICAgICAgICA8c2JiLXZpc3VhbC1jaGVja2JveFxuICAgICAgICAgICAgICA/Y2hlY2tlZD0ke3RoaXMuc2VsZWN0ZWR9XG4gICAgICAgICAgICAgID9kaXNhYmxlZD0ke3RoaXMuZGlzYWJsZWQgfHwgdGhpcy5kaXNhYmxlZEZyb21Hcm91cH1cbiAgICAgICAgICAgICAgP25lZ2F0aXZlPSR7dGhpcy5uZWdhdGl2ZX1cbiAgICAgICAgICAgID48L3NiYi12aXN1YWwtY2hlY2tib3g+XG4gICAgICAgICAgYFxuICAgICAgICA6IG5vdGhpbmd9XG4gICAgYDtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXJMYWJlbCgpOiBUZW1wbGF0ZVJlc3VsdCB8IHR5cGVvZiBub3RoaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fdmFyaWFudCA9PT0gJ2F1dG9jb21wbGV0ZScgJiYgdGhpcy5sYWJlbCAmJiAhdGhpcy5kaXNhYmxlTGFiZWxIaWdobGlnaHRcbiAgICAgID8gdGhpcy5nZXRIaWdobGlnaHRlZExhYmVsKClcbiAgICAgIDogbm90aGluZztcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXJUaWNrKCk6IFRlbXBsYXRlUmVzdWx0IHwgdHlwZW9mIG5vdGhpbmcge1xuICAgIHJldHVybiB0aGlzLl92YXJpYW50ID09PSAnc2VsZWN0JyAmJiAhdGhpcy5faXNNdWx0aXBsZSAmJiB0aGlzLnNlbGVjdGVkXG4gICAgICA/IGh0bWxgPHNiYi1pY29uIG5hbWU9XCJ0aWNrLXNtYWxsXCI+PC9zYmItaWNvbj5gXG4gICAgICA6IG5vdGhpbmc7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1vcHRpb24nOiBTYmJPcHRpb25FbGVtZW50O1xuICB9XG5cbiAgaW50ZXJmYWNlIEdsb2JhbEV2ZW50SGFuZGxlcnNFdmVudE1hcCB7XG4gICAgb3B0aW9uU2VsZWN0aW9uQ2hhbmdlOiBDdXN0b21FdmVudDx2b2lkPjtcbiAgICBvcHRpb25TZWxlY3RlZDogQ3VzdG9tRXZlbnQ8dm9pZD47XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJTYmJPcHRpb25FbGVtZW50IiwiX2EiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUF5Qk0sb0JBQWdCLE1BQUE7OzBCQURyQixjQUFjLFlBQVksQ0FBQzs7OztvQkFDZTtBQUFSQSxNQUFBQSxxQkFBQSxtQkFBUSxZQUF1QjtBQUFBOztBQVF0RCxXQUFRLFdBQUc7QUFHWCxXQUFBLGtCQUFnQyxJQUFJLGFBQzVDLE1BQ0FBLGtCQUFpQixPQUFPLGVBQWU7QUFJL0IsV0FBQSxpQkFBK0IsSUFBSSxhQUMzQyxNQUNBQSxrQkFBaUIsT0FBTyxjQUFjO0FBQUEsSUFBQTtBQUFBLElBR3hDLElBQVksU0FBUyxPQUF1QjtBQUMxQyxVQUFJLE9BQU87QUFDSixhQUFBLGFBQWEsZ0JBQWdCLEtBQUs7QUFBQSxNQUFBO0FBQUEsSUFDekM7QUFBQSxJQUVGLElBQVksV0FBUTtBQUNYLGFBQUEsS0FBSyxhQUFhLGNBQWM7QUFBQSxJQUFBO0FB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
264
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL29wdGlvbi9vcHRpb24vb3B0aW9uLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENTU1Jlc3VsdEdyb3VwLCBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBodG1sLCBub3RoaW5nIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IEV2ZW50RW1pdHRlciB9IGZyb20gJy4uLy4uL2NvcmUvZXZlbnRpbmcuanMnO1xuXG5pbXBvcnQgeyBTYmJPcHRpb25CYXNlRWxlbWVudCB9IGZyb20gJy4vb3B0aW9uLWJhc2UtZWxlbWVudC5qcyc7XG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9vcHRpb24uc2Nzcz9saXQmaW5saW5lJztcbmltcG9ydCAnLi4vLi4vdmlzdWFsLWNoZWNrYm94LmpzJztcblxuZXhwb3J0IHR5cGUgU2JiT3B0aW9uVmFyaWFudCA9ICdhdXRvY29tcGxldGUnIHwgJ3NlbGVjdCcgfCBudWxsO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIG9uIG9wdGlvbiBpdGVtIHdoaWNoIGNhbiBiZSB1c2VkIGluIGBzYmItc2VsZWN0YCBvciBgc2JiLWF1dG9jb21wbGV0ZWAuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgY29udGVudCB0byB0aGUgb3B0aW9uIGxhYmVsLlxuICogQHNsb3QgaWNvbiAtIFVzZSB0aGlzIHNsb3QgdG8gcHJvdmlkZSBhbiBpY29uLiBJZiBgaWNvbi1uYW1lYCBpcyBzZXQsIGEgc2JiLWljb24gd2lsbCBiZSB1c2VkLlxuICogQGV2ZW50IHtDdXN0b21FdmVudDx2b2lkPn0gb3B0aW9uU2VsZWN0aW9uQ2hhbmdlIC0gRW1pdHMgd2hlbiB0aGUgb3B0aW9uIHNlbGVjdGlvbiBzdGF0dXMgY2hhbmdlcy5cbiAqIEBldmVudCB7Q3VzdG9tRXZlbnQ8dm9pZD59IG9wdGlvblNlbGVjdGVkIC0gRW1pdHMgd2hlbiBhbiBvcHRpb24gd2FzIHNlbGVjdGVkIGJ5IHVzZXIuXG4gKiBAY3NzcHJvcCBbLS1zYmItb3B0aW9uLWljb24tY29udGFpbmVyLWRpc3BsYXk9bm9uZV0gLSBDYW4gYmUgdXNlZCB0byByZXNlcnZlIHNwYWNlIGV2ZW5cbiAqIHdoZW4gcHJlc2VydmUtaWNvbi1zcGFjZSBvbiBhdXRvY29tcGxldGUgaXMgbm90IHNldCBvciBpY29uTmFtZSBpcyBub3Qgc2V0LlxuICogQG92ZXJyaWRlVHlwZSB2YWx1ZSAtIChUID0gc3RyaW5nKSB8IG51bGxcbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLW9wdGlvbicpXG5jbGFzcyBTYmJPcHRpb25FbGVtZW50PFQgPSBzdHJpbmc+IGV4dGVuZHMgU2JiT3B0aW9uQmFzZUVsZW1lbnQ8VD4ge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IHJvbGUgPSAnb3B0aW9uJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gc3R5bGU7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgZXZlbnRzID0ge1xuICAgIHNlbGVjdGlvbkNoYW5nZTogJ29wdGlvblNlbGVjdGlvbkNoYW5nZScsXG4gICAgb3B0aW9uU2VsZWN0ZWQ6ICdvcHRpb25TZWxlY3RlZCcsXG4gIH0gYXMgY29uc3Q7XG5cbiAgcHJvdGVjdGVkIG9wdGlvbklkID0gYHNiYi1vcHRpb25gO1xuXG4gIC8qKiBFbWl0cyB3aGVuIHRoZSBvcHRpb24gc2VsZWN0aW9uIHN0YXR1cyBjaGFuZ2VzLiAqL1xuICBwcm90ZWN0ZWQgc2VsZWN0aW9uQ2hhbmdlOiBFdmVudEVtaXR0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyKFxuICAgIHRoaXMsXG4gICAgU2JiT3B0aW9uRWxlbWVudC5ldmVudHMuc2VsZWN0aW9uQ2hhbmdlLFxuICApO1xuXG4gIC8qKiBFbWl0cyB3aGVuIGFuIG9wdGlvbiB3YXMgc2VsZWN0ZWQgYnkgdXNlci4gKi9cbiAgcHJvdGVjdGVkIG9wdGlvblNlbGVjdGVkOiBFdmVudEVtaXR0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyKFxuICAgIHRoaXMsXG4gICAgU2JiT3B0aW9uRWxlbWVudC5ldmVudHMub3B0aW9uU2VsZWN0ZWQsXG4gICk7XG5cbiAgcHJpdmF0ZSBzZXQgX3ZhcmlhbnQoc3RhdGU6IFNiYk9wdGlvblZhcmlhbnQpIHtcbiAgICBpZiAoc3RhdGUpIHtcbiAgICAgIHRoaXMuc2V0QXR0cmlidXRlKCdkYXRhLXZhcmlhbnQnLCBzdGF0ZSk7XG4gICAgfVxuICB9XG4gIHByaXZhdGUgZ2V0IF92YXJpYW50KCk6IFNiYk9wdGlvblZhcmlhbnQge1xuICAgIHJldHVybiB0aGlzLmdldEF0dHJpYnV0ZSgnZGF0YS12YXJpYW50JykgYXMgU2JiT3B0aW9uVmFyaWFudDtcbiAgfVxuXG4gIHByaXZhdGUgc2V0IF9pc011bHRpcGxlKGlzTXVsdGlwbGU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1tdWx0aXBsZScsIGlzTXVsdGlwbGUpO1xuICB9XG4gIHByaXZhdGUgZ2V0IF9pc011bHRpcGxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy5oeWRyYXRpb25SZXF1aXJlZCAmJiB0aGlzLmhhc0F0dHJpYnV0ZSgnZGF0YS1tdWx0aXBsZScpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHNldEF0dHJpYnV0ZUZyb21QYXJlbnQoKTogdm9pZCB7XG4gICAgY29uc3QgcGFyZW50R3JvdXAgPSB0aGlzLmNsb3Nlc3Q/Lignc2JiLW9wdGdyb3VwJyk7XG4gICAgaWYgKHBhcmVudEdyb3VwKSB7XG4gICAgICB0aGlzLmRpc2FibGVkRnJvbUdyb3VwID0gcGFyZW50R3JvdXAuZGlzYWJsZWQ7XG4gICAgICB0aGlzLnVwZGF0ZUFyaWFEaXNhYmxlZCgpO1xuICAgIH1cblxuICAgIHRoaXMubmVnYXRpdmUgPSAhIXRoaXMuY2xvc2VzdD8uKFxuICAgICAgLy8gOmlzKCkgc2VsZWN0b3Igbm90IHBvc3NpYmxlIGR1ZSB0byB0ZXN0IGVudmlyb25tZW50XG4gICAgICBgc2JiLWF1dG9jb21wbGV0ZVtuZWdhdGl2ZV0sc2JiLWZvcm0tZmllbGRbbmVnYXRpdmVdYCxcbiAgICApO1xuICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkYXRhLW5lZ2F0aXZlJywgdGhpcy5uZWdhdGl2ZSk7XG5cbiAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1tdWx0aXBsZScsIHRoaXMuX2lzTXVsdGlwbGUpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHNlbGVjdEJ5Q2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCB8fCB0aGlzLmRpc2FibGVkRnJvbUdyb3VwKSB7XG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5faXNNdWx0aXBsZSkge1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICB0aGlzLnNlbGVjdFZpYVVzZXJJbnRlcmFjdGlvbighdGhpcy5zZWxlY3RlZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VsZWN0VmlhVXNlckludGVyYWN0aW9uKHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBzZWxlY3RWaWFVc2VySW50ZXJhY3Rpb24oc2VsZWN0ZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBzdXBlci5zZWxlY3RWaWFVc2VySW50ZXJhY3Rpb24oc2VsZWN0ZWQpO1xuICAgIHRoaXMuc2VsZWN0aW9uQ2hhbmdlLmVtaXQoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBpbml0KCk6IHZvaWQge1xuICAgIHN1cGVyLmluaXQoKTtcbiAgICB0aGlzLl9zZXRWYXJpYW50QnlDb250ZXh0KCk7XG4gICAgLy8gV2UgbmVlZCB0byBjaGVjayBoaWdobGlnaHQgc3RhdGUgYm90aCBvbiBzbG90IGNoYW5nZSwgYnV0IGFsc28gd2hlbiBjb25uZWN0aW5nXG4gICAgLy8gdGhlIGVsZW1lbnQgdG8gdGhlIERPTS4gVGhlIHNsb3QgY2hhbmdlIGV2ZW50cyBtaWdodCBiZSBzd2FsbG93ZWQgd2hlbiB1c2luZyBkZWNsYXJhdGl2ZVxuICAgIC8vIHNoYWRvdyBET00gd2l0aCBTU1Igb3IgaWYgdGhlIERPTSBpcyBjaGFuZ2VkIHdoZW4gZGlzY29ubmVjdGVkLlxuICAgIHRoaXMuaGFuZGxlSGlnaGxpZ2h0U3RhdGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3NldFZhcmlhbnRCeUNvbnRleHQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY2xvc2VzdD8uKCdzYmItYXV0b2NvbXBsZXRlJykpIHtcbiAgICAgIHRoaXMuX3ZhcmlhbnQgPSAnYXV0b2NvbXBsZXRlJztcbiAgICB9IGVsc2UgaWYgKHRoaXMuY2xvc2VzdD8uKCdzYmItc2VsZWN0JykpIHtcbiAgICAgIHRoaXMuX3ZhcmlhbnQgPSAnc2VsZWN0JztcbiAgICB9XG4gICAgdGhpcy5faXNNdWx0aXBsZSA9ICEhdGhpcy5jbG9zZXN0Py4oJ3NiYi1zZWxlY3RbbXVsdGlwbGVdJyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgaGFuZGxlSGlnaGxpZ2h0U3RhdGUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3ZhcmlhbnQgIT09ICdhdXRvY29tcGxldGUnKSB7XG4gICAgICB0aGlzLnVwZGF0ZURpc2FibGVIaWdobGlnaHQodHJ1ZSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgc3VwZXIuaGFuZGxlSGlnaGxpZ2h0U3RhdGUoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXJJY29uKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDwhLS0gSWNvbiAtLT5cbiAgICAgICR7IXRoaXMuX2lzTXVsdGlwbGVcbiAgICAgICAgPyBodG1sYCA8c3BhbiBjbGFzcz1cInNiYi1vcHRpb25fX2ljb25cIj4gJHt0aGlzLnJlbmRlckljb25TbG90KCl9IDwvc3Bhbj5gXG4gICAgICAgIDogbm90aGluZ31cblxuICAgICAgPCEtLSBDaGVja2JveCAtLT5cbiAgICAgICR7dGhpcy5faXNNdWx0aXBsZVxuICAgICAgICA/IGh0bWxgXG4gICAgICAgICAgICA8c2JiLXZpc3VhbC1jaGVja2JveFxuICAgICAgICAgICAgICA/Y2hlY2tlZD0ke3RoaXMuc2VsZWN0ZWR9XG4gICAgICAgICAgICAgID9kaXNhYmxlZD0ke3RoaXMuZGlzYWJsZWQgfHwgdGhpcy5kaXNhYmxlZEZyb21Hcm91cH1cbiAgICAgICAgICAgICAgP25lZ2F0aXZlPSR7dGhpcy5uZWdhdGl2ZX1cbiAgICAgICAgICAgID48L3NiYi12aXN1YWwtY2hlY2tib3g+XG4gICAgICAgICAgYFxuICAgICAgICA6IG5vdGhpbmd9XG4gICAgYDtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXJMYWJlbCgpOiBUZW1wbGF0ZVJlc3VsdCB8IHR5cGVvZiBub3RoaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fdmFyaWFudCA9PT0gJ2F1dG9jb21wbGV0ZScgJiYgdGhpcy5sYWJlbCAmJiAhdGhpcy5kaXNhYmxlTGFiZWxIaWdobGlnaHRcbiAgICAgID8gdGhpcy5nZXRIaWdobGlnaHRlZExhYmVsKClcbiAgICAgIDogbm90aGluZztcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXJUaWNrKCk6IFRlbXBsYXRlUmVzdWx0IHwgdHlwZW9mIG5vdGhpbmcge1xuICAgIHJldHVybiB0aGlzLl92YXJpYW50ID09PSAnc2VsZWN0JyAmJiAhdGhpcy5faXNNdWx0aXBsZSAmJiB0aGlzLnNlbGVjdGVkXG4gICAgICA/IGh0bWxgPHNiYi1pY29uIG5hbWU9XCJ0aWNrLXNtYWxsXCI+PC9zYmItaWNvbj5gXG4gICAgICA6IG5vdGhpbmc7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1vcHRpb24nOiBTYmJPcHRpb25FbGVtZW50O1xuICB9XG5cbiAgaW50ZXJmYWNlIEdsb2JhbEV2ZW50SGFuZGxlcnNFdmVudE1hcCB7XG4gICAgb3B0aW9uU2VsZWN0aW9uQ2hhbmdlOiBDdXN0b21FdmVudDx2b2lkPjtcbiAgICBvcHRpb25TZWxlY3RlZDogQ3VzdG9tRXZlbnQ8dm9pZD47XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJTYmJPcHRpb25FbGVtZW50Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBeUJNLG9CQUFnQixNQUFBOzswQkFEckIsY0FBYyxZQUFZLENBQUM7Ozs7b0JBQ2U7QUFBUixNQUFBQSxxQkFBQSxtQkFBUSxZQUF1QjtBQUFBOztBQVF0RCxXQUFBLFdBQVc7QUFHWCxXQUFBLGtCQUFnQyxJQUFJLGFBQzVDLE1BQ0FBLGtCQUFpQixPQUFPLGVBQWU7QUFJL0IsV0FBQSxpQkFBK0IsSUFBSSxhQUMzQyxNQUNBQSxrQkFBaUIsT0FBTyxjQUFjO0FBQUEsSUFBQTtBQUFBLElBR3hDLElBQVksU0FBUyxPQUF1QjtBQUMxQyxVQUFJLE9BQU87QUFDVCxhQUFLLGFBQWEsZ0JBQWdCLEtBQUs7QUFBQSxNQUFBO0FBQUEsSUFDekM7QUFBQSxJQUVGLElBQVksV0FBUTtBQUNsQixhQUFPLEtBQUssYUFBYSxjQUFjO0FBQUEsSUFBQTtBQUFBLElB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
@@ -1,16 +1,27 @@
1
- import { PropertyValues } from 'lit';
1
+ import { PropertyDeclaration, PropertyValues } from 'lit';
2
2
  import { SbbFocusTrapController } from '../core/a11y.js';
3
3
  import { SbbOpenCloseBaseElement } from '../core/base-elements.js';
4
4
  import { SbbEscapableOverlayController, SbbInertController, SbbLanguageController } from '../core/controllers.js';
5
5
  import { SbbScrollHandler } from '../core/dom.js';
6
6
  import { EventEmitter } from '../core/eventing.js';
7
7
  import { SbbOverlayCloseEventDetails } from '../core/interfaces.js';
8
- import { SbbScreenReaderOnlyElement } from '../screen-reader-only.js';
9
8
  export declare const overlayRefs: SbbOverlayBaseElement[];
10
9
  declare const SbbOverlayBaseElement_base: import('../core/mixins.js').AbstractConstructor<import('../core/mixins.js').SbbNegativeMixinType> & typeof SbbOpenCloseBaseElement;
11
10
  export declare abstract class SbbOverlayBaseElement extends SbbOverlayBaseElement_base {
11
+ /**
12
+ * The element that will trigger the menu overlay.
13
+ *
14
+ * For attribute usage, provide an id reference.
15
+ */
16
+ accessor trigger: HTMLElement | null;
12
17
  /** This will be forwarded as aria-label to the relevant nested element to describe the purpose of the overlay. */
13
18
  accessor accessibilityLabel: string;
19
+ /**
20
+ * Whether to skip restoring focus to the previously-focused element when the overlay is closed.
21
+ * Note that automatic focus restoration is an accessibility feature and it is recommended that
22
+ * you provide your own equivalent, if you decide to turn it off.
23
+ */
24
+ accessor skipFocusRestoration: boolean;
14
25
  /** Emits whenever the component is closed. */
15
26
  protected didClose: EventEmitter<SbbOverlayCloseEventDetails>;
16
27
  protected lastFocusedElement?: HTMLElement;
@@ -19,25 +30,32 @@ export declare abstract class SbbOverlayBaseElement extends SbbOverlayBaseElemen
19
30
  protected focusTrapController: SbbFocusTrapController;
20
31
  protected scrollHandler: SbbScrollHandler;
21
32
  protected returnValue: any;
22
- protected ariaLiveRefToggle: boolean;
23
- protected ariaLiveRef: SbbScreenReaderOnlyElement;
24
33
  protected language: SbbLanguageController;
25
34
  protected inertController: SbbInertController;
26
- protected sbbEscapableOverlayController: SbbEscapableOverlayController;
35
+ protected escapableOverlayController: SbbEscapableOverlayController;
36
+ private _ariaLiveRefToggle;
37
+ private _ariaLiveRef;
38
+ private _triggerElement;
39
+ private _triggerAbortController;
27
40
  protected abstract closeAttribute: string;
28
- protected abstract onOverlayAnimationEnd(event: AnimationEvent): void;
41
+ protected abstract handleOpening(): void;
29
42
  protected abstract handleClosing(): void;
30
43
  protected abstract isZeroAnimationDuration(): boolean;
44
+ /** Opens the component. */
45
+ open(): void;
31
46
  /** Closes the component. */
32
47
  close(result?: any, target?: HTMLElement): any;
33
48
  connectedCallback(): void;
49
+ private _configureTrigger;
34
50
  protected firstUpdated(changedProperties: PropertyValues<this>): void;
35
51
  disconnectedCallback(): void;
52
+ requestUpdate(name?: PropertyKey, oldValue?: unknown, options?: PropertyDeclaration): void;
36
53
  protected attachOpenOverlayEvents(): void;
37
54
  protected removeInstanceFromGlobalCollection(): void;
38
55
  protected closeOnSbbOverlayCloseClick(event: Event): void;
39
56
  protected removeAriaLiveRefContent(): void;
40
57
  protected setAriaLiveRefContent(label?: string): void;
58
+ protected onOverlayAnimationEnd(event: AnimationEvent): void;
41
59
  }
42
60
  export {};
43
61
  //# sourceMappingURL=overlay-base-element.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"overlay-base-element.d.ts","sourceRoot":"","sources":["../../../../src/elements/overlay/overlay-base-element.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAG1C,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAA6B,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAC9F,OAAO,EACL,6BAA6B,EAC7B,kBAAkB,EAClB,qBAAqB,EACtB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AAEzE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAG3E,eAAO,MAAM,WAAW,EAAE,qBAAqB,EAAO,CAAC;;AAEvD,8BAAsB,qBAAsB,SAAQ,0BAAyC;IAC3F,kHAAkH;IAClH,SAEgB,kBAAkB,EAAE,MAAM,CAAM;IAEhD,8CAA8C;IAC9C,UAAmB,QAAQ,EAAE,YAAY,CAAC,2BAA2B,CAAC,CAIpE;IAGF,SAAS,CAAC,kBAAkB,CAAC,EAAE,WAAW,CAAC;IAC3C,SAAS,CAAC,mBAAmB,CAAC,EAAE,WAAW,CAAC;IAC5C,SAAS,CAAC,qBAAqB,EAAG,eAAe,CAAC;IAClD,SAAS,CAAC,mBAAmB,yBAAoC;IACjE,SAAS,CAAC,aAAa,mBAA0B;IACjD,SAAS,CAAC,WAAW,EAAE,GAAG,CAAC;IAC3B,SAAS,CAAC,iBAAiB,UAAS;IACpC,SAAS,CAAC,WAAW,EAAG,0BAA0B,CAAC;IACnD,SAAS,CAAC,QAAQ,wBAAmC;IACrD,SAAS,CAAC,eAAe,qBAAgC;IACzD,SAAS,CAAC,6BAA6B,gCAA2C;IAElF,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAC1C,SAAS,CAAC,QAAQ,CAAC,qBAAqB,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IACrE,SAAS,CAAC,QAAQ,CAAC,aAAa,IAAI,IAAI;IACxC,SAAS,CAAC,QAAQ,CAAC,uBAAuB,IAAI,OAAO;IAErD,4BAA4B;IACrB,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,GAAG;IAyBrC,iBAAiB,IAAI,IAAI;cAKtB,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAO9D,oBAAoB,IAAI,IAAI;IAO5C,SAAS,CAAC,uBAAuB,IAAI,IAAI;IAiBzC,SAAS,CAAC,kCAAkC,IAAI,IAAI;IAKpD,SAAS,CAAC,2BAA2B,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAoBzD,SAAS,CAAC,wBAAwB,IAAI,IAAI;IAI1C,SAAS,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;CAStD"}
1
+ {"version":3,"file":"overlay-base-element.d.ts","sourceRoot":"","sources":["../../../../src/elements/overlay/overlay-base-element.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,mBAAmB,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAG9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAA6B,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAC9F,OAAO,EACL,6BAA6B,EAC7B,kBAAkB,EAClB,qBAAqB,EACtB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AASzE,eAAO,MAAM,WAAW,EAAE,qBAAqB,EAAO,CAAC;;AAEvD,8BAAsB,qBAAsB,SAAQ,0BAAyC;IAC3F;;;;OAIG;IACH,SAEgB,OAAO,EAAE,WAAW,GAAG,IAAI,CAAQ;IAEnD,kHAAkH;IAClH,SAEgB,kBAAkB,EAAE,MAAM,CAAM;IAEhD;;;;OAIG;IACH,SAEgB,oBAAoB,EAAE,OAAO,CAAS;IAEtD,8CAA8C;IAC9C,UAAmB,QAAQ,EAAE,YAAY,CAAC,2BAA2B,CAAC,CAIpE;IAGF,SAAS,CAAC,kBAAkB,CAAC,EAAE,WAAW,CAAC;IAC3C,SAAS,CAAC,mBAAmB,CAAC,EAAE,WAAW,CAAC;IAC5C,SAAS,CAAC,qBAAqB,EAAG,eAAe,CAAC;IAClD,SAAS,CAAC,mBAAmB,yBAAoC;IACjE,SAAS,CAAC,aAAa,mBAA0B;IACjD,SAAS,CAAC,WAAW,EAAE,GAAG,CAAC;IAC3B,SAAS,CAAC,QAAQ,wBAAmC;IACrD,SAAS,CAAC,eAAe,qBAAgC;IACzD,SAAS,CAAC,0BAA0B,gCAA2C;IAE/E,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,YAAY,CAA8B;IAClD,OAAO,CAAC,eAAe,CAA4B;IACnD,OAAO,CAAC,uBAAuB,CAAmB;IAElD,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAC1C,SAAS,CAAC,QAAQ,CAAC,aAAa,IAAI,IAAI;IACxC,SAAS,CAAC,QAAQ,CAAC,aAAa,IAAI,IAAI;IACxC,SAAS,CAAC,QAAQ,CAAC,uBAAuB,IAAI,OAAO;IAErD,2BAA2B;IACpB,IAAI,IAAI,IAAI;IA2BnB,4BAA4B;IACrB,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,GAAG;IA0BrC,iBAAiB,IAAI,IAAI;IASzC,OAAO,CAAC,iBAAiB;cAoBN,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAQ9D,oBAAoB,IAAI,IAAI;IAS5B,aAAa,CAC3B,IAAI,CAAC,EAAE,WAAW,EAClB,QAAQ,CAAC,EAAE,OAAO,EAClB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,IAAI;IAQP,SAAS,CAAC,uBAAuB,IAAI,IAAI;IAiBzC,SAAS,CAAC,kCAAkC,IAAI,IAAI;IAKpD,SAAS,CAAC,2BAA2B,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAoBzD,SAAS,CAAC,wBAAwB,IAAI,IAAI;IAI1C,SAAS,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IAarD,SAAS,CAAC,qBAAqB,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;CAO7D"}
@@ -6,35 +6,58 @@ var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read fr
6
6
  var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
7
7
  var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
8
8
  import { __runInitializers, __esDecorate } from "tslib";
9
- import "lit";
9
+ import { isServer } from "lit";
10
10
  import { property } from "lit/decorators.js";
11
11
  import { SbbFocusTrapController } from "../core/a11y.js";
12
12
  import { SbbOpenCloseBaseElement } from "../core/base-elements.js";
13
13
  import { SbbLanguageController, SbbInertController, SbbEscapableOverlayController } from "../core/controllers.js";
14
- import { forceType } from "../core/decorators.js";
14
+ import { idReference, forceType } from "../core/decorators.js";
15
15
  import { SbbScrollHandler } from "../core/dom.js";
16
16
  import { EventEmitter } from "../core/eventing.js";
17
17
  import { i18nDialog } from "../core/i18n.js";
18
18
  import { SbbNegativeMixin } from "../core/mixins.js";
19
+ import { removeAriaOverlayTriggerAttributes, setAriaOverlayTriggerAttributes } from "../core/overlay.js";
19
20
  const overlayRefs = [];
20
21
  let SbbOverlayBaseElement = (() => {
21
- var _accessibilityLabel_accessor_storage, _a;
22
+ var _trigger_accessor_storage, _accessibilityLabel_accessor_storage, _skipFocusRestoration_accessor_storage, _a;
22
23
  let _classSuper = SbbNegativeMixin(SbbOpenCloseBaseElement);
24
+ let _trigger_decorators;
25
+ let _trigger_initializers = [];
26
+ let _trigger_extraInitializers = [];
23
27
  let _accessibilityLabel_decorators;
24
28
  let _accessibilityLabel_initializers = [];
25
29
  let _accessibilityLabel_extraInitializers = [];
30
+ let _skipFocusRestoration_decorators;
31
+ let _skipFocusRestoration_initializers = [];
32
+ let _skipFocusRestoration_extraInitializers = [];
26
33
  return _a = class extends _classSuper {
27
34
  constructor() {
28
35
  super(...arguments);
36
+ __privateAdd(this, _trigger_accessor_storage);
29
37
  __privateAdd(this, _accessibilityLabel_accessor_storage);
30
- __privateSet(this, _accessibilityLabel_accessor_storage, __runInitializers(this, _accessibilityLabel_initializers, ""));
31
- this.didClose = (__runInitializers(this, _accessibilityLabel_extraInitializers), new EventEmitter(this, _a.events.didClose, { cancelable: true }));
38
+ __privateAdd(this, _skipFocusRestoration_accessor_storage);
39
+ __privateSet(this, _trigger_accessor_storage, __runInitializers(this, _trigger_initializers, null));
40
+ __privateSet(this, _accessibilityLabel_accessor_storage, (__runInitializers(this, _trigger_extraInitializers), __runInitializers(this, _accessibilityLabel_initializers, "")));
41
+ __privateSet(this, _skipFocusRestoration_accessor_storage, (__runInitializers(this, _accessibilityLabel_extraInitializers), __runInitializers(this, _skipFocusRestoration_initializers, false)));
42
+ this.didClose = (__runInitializers(this, _skipFocusRestoration_extraInitializers), new EventEmitter(this, _a.events.didClose, { cancelable: true }));
32
43
  this.focusTrapController = new SbbFocusTrapController(this);
33
44
  this.scrollHandler = new SbbScrollHandler();
34
- this.ariaLiveRefToggle = false;
35
45
  this.language = new SbbLanguageController(this);
36
46
  this.inertController = new SbbInertController(this);
37
- this.sbbEscapableOverlayController = new SbbEscapableOverlayController(this);
47
+ this.escapableOverlayController = new SbbEscapableOverlayController(this);
48
+ this._ariaLiveRefToggle = false;
49
+ this._triggerElement = null;
50
+ }
51
+ /**
52
+ * The element that will trigger the menu overlay.
53
+ *
54
+ * For attribute usage, provide an id reference.
55
+ */
56
+ get trigger() {
57
+ return __privateGet(this, _trigger_accessor_storage);
58
+ }
59
+ set trigger(value) {
60
+ __privateSet(this, _trigger_accessor_storage, value);
38
61
  }
39
62
  /** This will be forwarded as aria-label to the relevant nested element to describe the purpose of the overlay. */
40
63
  get accessibilityLabel() {
@@ -43,6 +66,35 @@ let SbbOverlayBaseElement = (() => {
43
66
  set accessibilityLabel(value) {
44
67
  __privateSet(this, _accessibilityLabel_accessor_storage, value);
45
68
  }
69
+ /**
70
+ * Whether to skip restoring focus to the previously-focused element when the overlay is closed.
71
+ * Note that automatic focus restoration is an accessibility feature and it is recommended that
72
+ * you provide your own equivalent, if you decide to turn it off.
73
+ */
74
+ get skipFocusRestoration() {
75
+ return __privateGet(this, _skipFocusRestoration_accessor_storage);
76
+ }
77
+ set skipFocusRestoration(value) {
78
+ __privateSet(this, _skipFocusRestoration_accessor_storage, value);
79
+ }
80
+ /** Opens the component. */
81
+ open() {
82
+ if (this.state !== "closed") {
83
+ return;
84
+ }
85
+ this.lastFocusedElement = document.activeElement;
86
+ if (!this.willOpen.emit()) {
87
+ return;
88
+ }
89
+ this.showPopover?.();
90
+ this.state = "opening";
91
+ this._triggerElement?.setAttribute("aria-expanded", "true");
92
+ overlayRefs.push(this);
93
+ this.scrollHandler.disableScroll();
94
+ if (this.isZeroAnimationDuration()) {
95
+ this.handleOpening();
96
+ }
97
+ }
46
98
  /** Closes the component. */
47
99
  close(result, target) {
48
100
  if (this.state !== "opened") {
@@ -58,6 +110,7 @@ let SbbOverlayBaseElement = (() => {
58
110
  return;
59
111
  }
60
112
  this.state = "closing";
113
+ this._triggerElement?.setAttribute("aria-expanded", "false");
61
114
  this.removeAriaLiveRefContent();
62
115
  if (this.isZeroAnimationDuration()) {
63
116
  this.handleClosing();
@@ -66,17 +119,45 @@ let SbbOverlayBaseElement = (() => {
66
119
  connectedCallback() {
67
120
  this.popover = "manual";
68
121
  super.connectedCallback();
122
+ if (this.hasUpdated) {
123
+ this._configureTrigger();
124
+ }
125
+ }
126
+ // Check if the trigger is valid and attach click event listeners.
127
+ _configureTrigger() {
128
+ if (this.trigger === this._triggerElement) {
129
+ return;
130
+ }
131
+ this._triggerAbortController?.abort();
132
+ removeAriaOverlayTriggerAttributes(this._triggerElement);
133
+ this._triggerElement = this.trigger;
134
+ if (!this._triggerElement) {
135
+ return;
136
+ }
137
+ setAriaOverlayTriggerAttributes(this._triggerElement, "dialog", this.id, this.state);
138
+ this._triggerAbortController = new AbortController();
139
+ this._triggerElement.addEventListener("click", () => this.open(), {
140
+ signal: this._triggerAbortController.signal
141
+ });
69
142
  }
70
143
  firstUpdated(changedProperties) {
71
- this.ariaLiveRef = this.shadowRoot.querySelector("sbb-screen-reader-only");
72
144
  super.firstUpdated(changedProperties);
145
+ this._ariaLiveRef = this.shadowRoot.querySelector("sbb-screen-reader-only");
146
+ this._configureTrigger();
73
147
  }
74
148
  disconnectedCallback() {
75
- var _a2;
76
149
  super.disconnectedCallback();
77
- (_a2 = this.openOverlayController) == null ? void 0 : _a2.abort();
150
+ this.openOverlayController?.abort();
78
151
  this.removeInstanceFromGlobalCollection();
79
152
  this.scrollHandler.enableScroll();
153
+ this._triggerElement = null;
154
+ this._triggerAbortController?.abort();
155
+ }
156
+ requestUpdate(name, oldValue, options) {
157
+ super.requestUpdate(name, oldValue, options);
158
+ if (!isServer && (!name || name === "trigger") && this.hasUpdated) {
159
+ this._configureTrigger();
160
+ }
80
161
  }
81
162
  attachOpenOverlayEvents() {
82
163
  this.openOverlayController = new AbortController();
@@ -102,18 +183,36 @@ let SbbOverlayBaseElement = (() => {
102
183
  overlayRefs[overlayRefs.length - 1].close(closestForm, overlayCloseElement);
103
184
  }
104
185
  removeAriaLiveRefContent() {
105
- this.ariaLiveRef.textContent = "";
186
+ this._ariaLiveRef.textContent = "";
106
187
  }
107
188
  setAriaLiveRefContent(label) {
108
- this.ariaLiveRefToggle = !this.ariaLiveRefToggle;
109
- this.ariaLiveRef.textContent = `${i18nDialog[this.language.current]}${label ? `, ${label}` : ""}${this.ariaLiveRefToggle ? " " : ""}`;
189
+ this._ariaLiveRefToggle = !this._ariaLiveRefToggle;
190
+ this._ariaLiveRef.textContent = `${i18nDialog[this.language.current]}${label ? `, ${label}` : ""}${this._ariaLiveRefToggle ? " " : ""}`;
191
+ }
192
+ // Wait for dialog transition to complete.
193
+ // In rare cases, it can be that the animationEnd event is triggered twice.
194
+ // To avoid entering a corrupt state, exit when state is not expected.
195
+ onOverlayAnimationEnd(event) {
196
+ if (event.animationName === "open" && this.state === "opening") {
197
+ this.handleOpening();
198
+ } else if (event.animationName === "close" && this.state === "closing") {
199
+ this.handleClosing();
200
+ }
110
201
  }
111
- }, _accessibilityLabel_accessor_storage = new WeakMap(), (() => {
202
+ }, _trigger_accessor_storage = new WeakMap(), _accessibilityLabel_accessor_storage = new WeakMap(), _skipFocusRestoration_accessor_storage = new WeakMap(), (() => {
112
203
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
204
+ _trigger_decorators = [idReference(), property()];
113
205
  _accessibilityLabel_decorators = [forceType(), property({ attribute: "accessibility-label" })];
206
+ _skipFocusRestoration_decorators = [forceType(), property({ type: Boolean })];
207
+ __esDecorate(_a, null, _trigger_decorators, { kind: "accessor", name: "trigger", static: false, private: false, access: { has: (obj) => "trigger" in obj, get: (obj) => obj.trigger, set: (obj, value) => {
208
+ obj.trigger = value;
209
+ } }, metadata: _metadata }, _trigger_initializers, _trigger_extraInitializers);
114
210
  __esDecorate(_a, null, _accessibilityLabel_decorators, { kind: "accessor", name: "accessibilityLabel", static: false, private: false, access: { has: (obj) => "accessibilityLabel" in obj, get: (obj) => obj.accessibilityLabel, set: (obj, value) => {
115
211
  obj.accessibilityLabel = value;
116
212
  } }, metadata: _metadata }, _accessibilityLabel_initializers, _accessibilityLabel_extraInitializers);
213
+ __esDecorate(_a, null, _skipFocusRestoration_decorators, { kind: "accessor", name: "skipFocusRestoration", static: false, private: false, access: { has: (obj) => "skipFocusRestoration" in obj, get: (obj) => obj.skipFocusRestoration, set: (obj, value) => {
214
+ obj.skipFocusRestoration = value;
215
+ } }, metadata: _metadata }, _skipFocusRestoration_initializers, _skipFocusRestoration_extraInitializers);
117
216
  if (_metadata) Object.defineProperty(_a, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
118
217
  })(), _a;
119
218
  })();
@@ -121,4 +220,4 @@ export {
121
220
  SbbOverlayBaseElement,
122
221
  overlayRefs
123
222
  };
124
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS1iYXNlLWVsZW1lbnQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9vdmVybGF5L292ZXJsYXktYmFzZS1lbGVtZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgUHJvcGVydHlWYWx1ZXMgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IFNiYkZvY3VzVHJhcENvbnRyb2xsZXIgfSBmcm9tICcuLi9jb3JlL2ExMXkuanMnO1xuaW1wb3J0IHsgdHlwZSBTYmJCdXR0b25CYXNlRWxlbWVudCwgU2JiT3BlbkNsb3NlQmFzZUVsZW1lbnQgfSBmcm9tICcuLi9jb3JlL2Jhc2UtZWxlbWVudHMuanMnO1xuaW1wb3J0IHtcbiAgU2JiRXNjYXBhYmxlT3ZlcmxheUNvbnRyb2xsZXIsXG4gIFNiYkluZXJ0Q29udHJvbGxlcixcbiAgU2JiTGFuZ3VhZ2VDb250cm9sbGVyLFxufSBmcm9tICcuLi9jb3JlL2NvbnRyb2xsZXJzLmpzJztcbmltcG9ydCB7IGZvcmNlVHlwZSB9IGZyb20gJy4uL2NvcmUvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBTYmJTY3JvbGxIYW5kbGVyIH0gZnJvbSAnLi4vY29yZS9kb20uanMnO1xuaW1wb3J0IHsgRXZlbnRFbWl0dGVyIH0gZnJvbSAnLi4vY29yZS9ldmVudGluZy5qcyc7XG5pbXBvcnQgeyBpMThuRGlhbG9nIH0gZnJvbSAnLi4vY29yZS9pMThuLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiT3ZlcmxheUNsb3NlRXZlbnREZXRhaWxzIH0gZnJvbSAnLi4vY29yZS9pbnRlcmZhY2VzLmpzJztcbmltcG9ydCB7IFNiYk5lZ2F0aXZlTWl4aW4gfSBmcm9tICcuLi9jb3JlL21peGlucy5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYlNjcmVlblJlYWRlck9ubHlFbGVtZW50IH0gZnJvbSAnLi4vc2NyZWVuLXJlYWRlci1vbmx5LmpzJztcblxuLy8gQSBnbG9iYWwgY29sbGVjdGlvbiBvZiBleGlzdGluZyBvdmVybGF5cy5cbmV4cG9ydCBjb25zdCBvdmVybGF5UmVmczogU2JiT3ZlcmxheUJhc2VFbGVtZW50W10gPSBbXTtcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFNiYk92ZXJsYXlCYXNlRWxlbWVudCBleHRlbmRzIFNiYk5lZ2F0aXZlTWl4aW4oU2JiT3BlbkNsb3NlQmFzZUVsZW1lbnQpIHtcbiAgLyoqIFRoaXMgd2lsbCBiZSBmb3J3YXJkZWQgYXMgYXJpYS1sYWJlbCB0byB0aGUgcmVsZXZhbnQgbmVzdGVkIGVsZW1lbnQgdG8gZGVzY3JpYmUgdGhlIHB1cnBvc2Ugb2YgdGhlIG92ZXJsYXkuICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdhY2Nlc3NpYmlsaXR5LWxhYmVsJyB9KVxuICBwdWJsaWMgYWNjZXNzb3IgYWNjZXNzaWJpbGl0eUxhYmVsOiBzdHJpbmcgPSAnJztcblxuICAvKiogRW1pdHMgd2hlbmV2ZXIgdGhlIGNvbXBvbmVudCBpcyBjbG9zZWQuICovXG4gIHByb3RlY3RlZCBvdmVycmlkZSBkaWRDbG9zZTogRXZlbnRFbWl0dGVyPFNiYk92ZXJsYXlDbG9zZUV2ZW50RGV0YWlscz4gPSBuZXcgRXZlbnRFbWl0dGVyKFxuICAgIHRoaXMsXG4gICAgU2JiT3ZlcmxheUJhc2VFbGVtZW50LmV2ZW50cy5kaWRDbG9zZSxcbiAgICB7IGNhbmNlbGFibGU6IHRydWUgfSxcbiAgKTtcblxuICAvLyBUaGUgbGFzdCBlbGVtZW50IHdoaWNoIGhhZCBmb2N1cyBiZWZvcmUgdGhlIGNvbXBvbmVudCB3YXMgb3BlbmVkLlxuICBwcm90ZWN0ZWQgbGFzdEZvY3VzZWRFbGVtZW50PzogSFRNTEVsZW1lbnQ7XG4gIHByb3RlY3RlZCBvdmVybGF5Q2xvc2VFbGVtZW50PzogSFRNTEVsZW1lbnQ7XG4gIHByb3RlY3RlZCBvcGVuT3ZlcmxheUNvbnRyb2xsZXIhOiBBYm9ydENvbnRyb2xsZXI7XG4gIHByb3RlY3RlZCBmb2N1c1RyYXBDb250cm9sbGVyID0gbmV3IFNiYkZvY3VzVHJhcENvbnRyb2xsZXIodGhpcyk7XG4gIHByb3RlY3RlZCBzY3JvbGxIYW5kbGVyID0gbmV3IFNiYlNjcm9sbEhhbmRsZXIoKTtcbiAgcHJvdGVjdGVkIHJldHVyblZhbHVlOiBhbnk7XG4gIHByb3RlY3RlZCBhcmlhTGl2ZVJlZlRvZ2dsZSA9IGZhbHNlO1xuICBwcm90ZWN0ZWQgYXJpYUxpdmVSZWYhOiBTYmJTY3JlZW5SZWFkZXJPbmx5RWxlbWVudDtcbiAgcHJvdGVjdGVkIGxhbmd1YWdlID0gbmV3IFNiYkxhbmd1YWdlQ29udHJvbGxlcih0aGlzKTtcbiAgcHJvdGVjdGVkIGluZXJ0Q29udHJvbGxlciA9IG5ldyBTYmJJbmVydENvbnRyb2xsZXIodGhpcyk7XG4gIHByb3RlY3RlZCBzYmJFc2NhcGFibGVPdmVybGF5Q29udHJvbGxlciA9IG5ldyBTYmJFc2NhcGFibGVPdmVybGF5Q29udHJvbGxlcih0aGlzKTtcblxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgY2xvc2VBdHRyaWJ1dGU6IHN0cmluZztcbiAgcHJvdGVjdGVkIGFic3RyYWN0IG9uT3ZlcmxheUFuaW1hdGlvbkVuZChldmVudDogQW5pbWF0aW9uRXZlbnQpOiB2b2lkO1xuICBwcm90ZWN0ZWQgYWJzdHJhY3QgaGFuZGxlQ2xvc2luZygpOiB2b2lkO1xuICBwcm90ZWN0ZWQgYWJzdHJhY3QgaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKTogYm9vbGVhbjtcblxuICAvKiogQ2xvc2VzIHRoZSBjb21wb25lbnQuICovXG4gIHB1YmxpYyBjbG9zZShyZXN1bHQ/OiBhbnksIHRhcmdldD86IEhUTUxFbGVtZW50KTogYW55IHtcbiAgICBpZiAodGhpcy5zdGF0ZSAhPT0gJ29wZW5lZCcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnJldHVyblZhbHVlID0gcmVzdWx0O1xuICAgIHRoaXMub3ZlcmxheUNsb3NlRWxlbWVudCA9IHRhcmdldDtcbiAgICBjb25zdCBldmVudERhdGE6IFNiYk92ZXJsYXlDbG9zZUV2ZW50RGV0YWlscyA9IHtcbiAgICAgIHJldHVyblZhbHVlOiB0aGlzLnJldHVyblZhbHVlLFxuICAgICAgY2xvc2VUYXJnZXQ6IHRoaXMub3ZlcmxheUNsb3NlRWxlbWVudCxcbiAgICB9O1xuXG4gICAgaWYgKCF0aGlzLndpbGxDbG9zZS5lbWl0KGV2ZW50RGF0YSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5zdGF0ZSA9ICdjbG9zaW5nJztcbiAgICB0aGlzLnJlbW92ZUFyaWFMaXZlUmVmQ29udGVudCgpO1xuXG4gICAgLy8gSWYgdGhlIGFuaW1hdGlvbiBkdXJhdGlvbiBpcyB6ZXJvLCB0aGUgYW5pbWF0aW9uZW5kIGV2ZW50IGlzIG5vdCBhbHdheXMgZmlyZWQgcmVsaWFibHkuXG4gICAgLy8gSW4gdGhpcyBjYXNlIHdlIGRpcmVjdGx5IHNldCB0aGUgYGNsb3NlZGAgc3RhdGUuXG4gICAgaWYgKHRoaXMuaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKSkge1xuICAgICAgdGhpcy5oYW5kbGVDbG9zaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHRoaXMucG9wb3ZlciA9ICdtYW51YWwnO1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHRoaXMuYXJpYUxpdmVSZWYgPVxuICAgICAgdGhpcy5zaGFkb3dSb290IS5xdWVyeVNlbGVjdG9yPFNiYlNjcmVlblJlYWRlck9ubHlFbGVtZW50Pignc2JiLXNjcmVlbi1yZWFkZXItb25seScpITtcblxuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZGlzY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLm9wZW5PdmVybGF5Q29udHJvbGxlcj8uYWJvcnQoKTtcbiAgICB0aGlzLnJlbW92ZUluc3RhbmNlRnJvbUdsb2JhbENvbGxlY3Rpb24oKTtcbiAgICB0aGlzLnNjcm9sbEhhbmRsZXIuZW5hYmxlU2Nyb2xsKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXR0YWNoT3Blbk92ZXJsYXlFdmVudHMoKTogdm9pZCB7XG4gICAgdGhpcy5vcGVuT3ZlcmxheUNvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG4gICAgLy8gUmVtb3ZlIG92ZXJsYXkgbGFiZWwgYXMgc29vbiBhcyBpdCBpcyBub3QgbmVlZGVkIGFueSBtb3JlIHRvIHByZXZlbnQgYWNjZXNzaW5nIGl0IHdpdGggYnJvd3NlIG1vZGUuXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAna2V5ZG93bicsXG4gICAgICAoKSA9PiB7XG4gICAgICAgIHRoaXMucmVtb3ZlQXJpYUxpdmVSZWZDb250ZW50KCk7XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBzaWduYWw6IHRoaXMub3Blbk92ZXJsYXlDb250cm9sbGVyLnNpZ25hbCxcbiAgICAgIH0sXG4gICAgKTtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB0aGlzLnJlbW92ZUFyaWFMaXZlUmVmQ29udGVudCgpLCB7XG4gICAgICBzaWduYWw6IHRoaXMub3Blbk92ZXJsYXlDb250cm9sbGVyLnNpZ25hbCxcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCByZW1vdmVJbnN0YW5jZUZyb21HbG9iYWxDb2xsZWN0aW9uKCk6IHZvaWQge1xuICAgIG92ZXJsYXlSZWZzLnNwbGljZShvdmVybGF5UmVmcy5pbmRleE9mKHRoaXMgYXMgU2JiT3ZlcmxheUJhc2VFbGVtZW50KSwgMSk7XG4gIH1cblxuICAvLyBDbG9zZSB0aGUgY29tcG9uZW50IG9uIGNsaWNrIG9mIGFueSBlbGVtZW50IHRoYXQgaGFzIHRoZSBgY2xvc2VBdHRyaWJ1dGVgIGF0dHJpYnV0ZS5cbiAgcHJvdGVjdGVkIGNsb3NlT25TYmJPdmVybGF5Q2xvc2VDbGljayhldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBvdmVybGF5Q2xvc2VFbGVtZW50ID0gZXZlbnRcbiAgICAgIC5jb21wb3NlZFBhdGgoKVxuICAgICAgLmZpbHRlcigoZSk6IGUgaXMgSFRNTEVsZW1lbnQgPT4gZSBpbnN0YW5jZW9mIHdpbmRvdy5IVE1MRWxlbWVudClcbiAgICAgIC5maW5kKFxuICAgICAgICAodGFyZ2V0KSA9PiB0YXJnZXQuaGFzQXR0cmlidXRlKHRoaXMuY2xvc2VBdHRyaWJ1dGUpICYmICF0YXJnZXQuaGFzQXR0cmlidXRlKCdkaXNhYmxlZCcpLFxuICAgICAgKTtcblxuICAgIGlmICghb3ZlcmxheUNsb3NlRWxlbWVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIENoZWNrIGlmIHRoZSB0YXJnZXQgaXMgYSBzdWJtaXNzaW9uIGVsZW1lbnQgd2l0aGluIGEgZm9ybSBhbmQgcmV0dXJuIHRoZSBmb3JtLCBpZiBwcmVzZW50XG4gICAgY29uc3QgY2xvc2VzdEZvcm0gPVxuICAgICAgb3ZlcmxheUNsb3NlRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ3R5cGUnKSA9PT0gJ3N1Ym1pdCdcbiAgICAgICAgPyAoKG92ZXJsYXlDbG9zZUVsZW1lbnQgYXMgSFRNTEJ1dHRvbkVsZW1lbnQgfCBTYmJCdXR0b25CYXNlRWxlbWVudCkuZm9ybSA/PyBudWxsKVxuICAgICAgICA6IG51bGw7XG4gICAgb3ZlcmxheVJlZnNbb3ZlcmxheVJlZnMubGVuZ3RoIC0gMV0uY2xvc2UoY2xvc2VzdEZvcm0sIG92ZXJsYXlDbG9zZUVsZW1lbnQpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHJlbW92ZUFyaWFMaXZlUmVmQ29udGVudCgpOiB2b2lkIHtcbiAgICB0aGlzLmFyaWFMaXZlUmVmLnRleHRDb250ZW50ID0gJyc7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0QXJpYUxpdmVSZWZDb250ZW50KGxhYmVsPzogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5hcmlhTGl2ZVJlZlRvZ2dsZSA9ICF0aGlzLmFyaWFMaXZlUmVmVG9nZ2xlO1xuXG4gICAgLy8gSWYgdGhlIHRleHQgY29udGVudCByZW1haW5zIHRoZSBzYW1lLCBvbiBWb2ljZU92ZXIgdGhlIGFyaWEtbGl2ZSByZWdpb24gaXMgbm90IGFubm91bmNlZCBhIHNlY29uZCB0aW1lLlxuICAgIC8vIEluIG9yZGVyIHRvIHN1cHBvcnQgcmVhZGluZyBvbiBldmVyeSBvcGVuaW5nLCB3ZSB0b2dnbGUgYW4gaW52aXNpYmxlIHNwYWNlLlxuICAgIHRoaXMuYXJpYUxpdmVSZWYudGV4dENvbnRlbnQgPSBgJHtpMThuRGlhbG9nW3RoaXMubGFuZ3VhZ2UuY3VycmVudF19JHtcbiAgICAgIGxhYmVsID8gYCwgJHtsYWJlbH1gIDogJydcbiAgICB9JHt0aGlzLmFyaWFMaXZlUmVmVG9nZ2xlID8gJ8KgJyA6ICcnfWA7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJTYmJPdmVybGF5QmFzZUVsZW1lbnQiLCJfYSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBbUJPLE1BQU0sY0FBdUMsQ0FBQTtJQUU5Qix5QkFBcUIsTUFBQTs7b0JBQVMsaUJBQWlCLHVCQUF1Qjs7OztBQUF0RSxTQUFBLG1CQUE4QixZQUF5QztBQUFBOztBQUkzRjtBQUFnQix5QkFBQSxzQ0FBQSxrQkFBQSxNQUFBLGtDQUE2QixFQUFFO0FBRzVCLFdBQUEsNEVBQXNELElBQUksYUFDM0UsTUFDQUEsR0FBc0IsT0FBTyxVQUM3QixFQUFFLFlBQVksS0FBTSxDQUFBO0FBT1osV0FBQSxzQkFBc0IsSUFBSSx1QkFBdUIsSUFBSTtBQUNyRCxXQUFBLGdCQUFnQixJQUFJLGlC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
223
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS1iYXNlLWVsZW1lbnQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9vdmVybGF5L292ZXJsYXktYmFzZS1lbGVtZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzU2VydmVyLCB0eXBlIFByb3BlcnR5RGVjbGFyYXRpb24sIHR5cGUgUHJvcGVydHlWYWx1ZXMgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IFNiYkZvY3VzVHJhcENvbnRyb2xsZXIgfSBmcm9tICcuLi9jb3JlL2ExMXkuanMnO1xuaW1wb3J0IHsgdHlwZSBTYmJCdXR0b25CYXNlRWxlbWVudCwgU2JiT3BlbkNsb3NlQmFzZUVsZW1lbnQgfSBmcm9tICcuLi9jb3JlL2Jhc2UtZWxlbWVudHMuanMnO1xuaW1wb3J0IHtcbiAgU2JiRXNjYXBhYmxlT3ZlcmxheUNvbnRyb2xsZXIsXG4gIFNiYkluZXJ0Q29udHJvbGxlcixcbiAgU2JiTGFuZ3VhZ2VDb250cm9sbGVyLFxufSBmcm9tICcuLi9jb3JlL2NvbnRyb2xsZXJzLmpzJztcbmltcG9ydCB7IGZvcmNlVHlwZSwgaWRSZWZlcmVuY2UgfSBmcm9tICcuLi9jb3JlL2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgU2JiU2Nyb2xsSGFuZGxlciB9IGZyb20gJy4uL2NvcmUvZG9tLmpzJztcbmltcG9ydCB7IEV2ZW50RW1pdHRlciB9IGZyb20gJy4uL2NvcmUvZXZlbnRpbmcuanMnO1xuaW1wb3J0IHsgaTE4bkRpYWxvZyB9IGZyb20gJy4uL2NvcmUvaTE4bi5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYk92ZXJsYXlDbG9zZUV2ZW50RGV0YWlscyB9IGZyb20gJy4uL2NvcmUvaW50ZXJmYWNlcy5qcyc7XG5pbXBvcnQgeyBTYmJOZWdhdGl2ZU1peGluIH0gZnJvbSAnLi4vY29yZS9taXhpbnMuanMnO1xuaW1wb3J0IHtcbiAgcmVtb3ZlQXJpYU92ZXJsYXlUcmlnZ2VyQXR0cmlidXRlcyxcbiAgc2V0QXJpYU92ZXJsYXlUcmlnZ2VyQXR0cmlidXRlcyxcbn0gZnJvbSAnLi4vY29yZS9vdmVybGF5LmpzJztcbmltcG9ydCB0eXBlIHsgU2JiU2NyZWVuUmVhZGVyT25seUVsZW1lbnQgfSBmcm9tICcuLi9zY3JlZW4tcmVhZGVyLW9ubHkuanMnO1xuXG4vLyBBIGdsb2JhbCBjb2xsZWN0aW9uIG9mIGV4aXN0aW5nIG92ZXJsYXlzLlxuZXhwb3J0IGNvbnN0IG92ZXJsYXlSZWZzOiBTYmJPdmVybGF5QmFzZUVsZW1lbnRbXSA9IFtdO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgU2JiT3ZlcmxheUJhc2VFbGVtZW50IGV4dGVuZHMgU2JiTmVnYXRpdmVNaXhpbihTYmJPcGVuQ2xvc2VCYXNlRWxlbWVudCkge1xuICAvKipcbiAgICogVGhlIGVsZW1lbnQgdGhhdCB3aWxsIHRyaWdnZXIgdGhlIG1lbnUgb3ZlcmxheS5cbiAgICpcbiAgICogRm9yIGF0dHJpYnV0ZSB1c2FnZSwgcHJvdmlkZSBhbiBpZCByZWZlcmVuY2UuXG4gICAqL1xuICBAaWRSZWZlcmVuY2UoKVxuICBAcHJvcGVydHkoKVxuICBwdWJsaWMgYWNjZXNzb3IgdHJpZ2dlcjogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcblxuICAvKiogVGhpcyB3aWxsIGJlIGZvcndhcmRlZCBhcyBhcmlhLWxhYmVsIHRvIHRoZSByZWxldmFudCBuZXN0ZWQgZWxlbWVudCB0byBkZXNjcmliZSB0aGUgcHVycG9zZSBvZiB0aGUgb3ZlcmxheS4gKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2FjY2Vzc2liaWxpdHktbGFiZWwnIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBhY2Nlc3NpYmlsaXR5TGFiZWw6IHN0cmluZyA9ICcnO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHNraXAgcmVzdG9yaW5nIGZvY3VzIHRvIHRoZSBwcmV2aW91c2x5LWZvY3VzZWQgZWxlbWVudCB3aGVuIHRoZSBvdmVybGF5IGlzIGNsb3NlZC5cbiAgICogTm90ZSB0aGF0IGF1dG9tYXRpYyBmb2N1cyByZXN0b3JhdGlvbiBpcyBhbiBhY2Nlc3NpYmlsaXR5IGZlYXR1cmUgYW5kIGl0IGlzIHJlY29tbWVuZGVkIHRoYXRcbiAgICogeW91IHByb3ZpZGUgeW91ciBvd24gZXF1aXZhbGVudCwgaWYgeW91IGRlY2lkZSB0byB0dXJuIGl0IG9mZi5cbiAgICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBza2lwRm9jdXNSZXN0b3JhdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBFbWl0cyB3aGVuZXZlciB0aGUgY29tcG9uZW50IGlzIGNsb3NlZC4gKi9cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGRpZENsb3NlOiBFdmVudEVtaXR0ZXI8U2JiT3ZlcmxheUNsb3NlRXZlbnREZXRhaWxzPiA9IG5ldyBFdmVudEVtaXR0ZXIoXG4gICAgdGhpcyxcbiAgICBTYmJPdmVybGF5QmFzZUVsZW1lbnQuZXZlbnRzLmRpZENsb3NlLFxuICAgIHsgY2FuY2VsYWJsZTogdHJ1ZSB9LFxuICApO1xuXG4gIC8vIFRoZSBsYXN0IGVsZW1lbnQgd2hpY2ggaGFkIGZvY3VzIGJlZm9yZSB0aGUgY29tcG9uZW50IHdhcyBvcGVuZWQuXG4gIHByb3RlY3RlZCBsYXN0Rm9jdXNlZEVsZW1lbnQ/OiBIVE1MRWxlbWVudDtcbiAgcHJvdGVjdGVkIG92ZXJsYXlDbG9zZUVsZW1lbnQ/OiBIVE1MRWxlbWVudDtcbiAgcHJvdGVjdGVkIG9wZW5PdmVybGF5Q29udHJvbGxlciE6IEFib3J0Q29udHJvbGxlcjtcbiAgcHJvdGVjdGVkIGZvY3VzVHJhcENvbnRyb2xsZXIgPSBuZXcgU2JiRm9jdXNUcmFwQ29udHJvbGxlcih0aGlzKTtcbiAgcHJvdGVjdGVkIHNjcm9sbEhhbmRsZXIgPSBuZXcgU2JiU2Nyb2xsSGFuZGxlcigpO1xuICBwcm90ZWN0ZWQgcmV0dXJuVmFsdWU6IGFueTtcbiAgcHJvdGVjdGVkIGxhbmd1YWdlID0gbmV3IFNiYkxhbmd1YWdlQ29udHJvbGxlcih0aGlzKTtcbiAgcHJvdGVjdGVkIGluZXJ0Q29udHJvbGxlciA9IG5ldyBTYmJJbmVydENvbnRyb2xsZXIodGhpcyk7XG4gIHByb3RlY3RlZCBlc2NhcGFibGVPdmVybGF5Q29udHJvbGxlciA9IG5ldyBTYmJFc2NhcGFibGVPdmVybGF5Q29udHJvbGxlcih0aGlzKTtcblxuICBwcml2YXRlIF9hcmlhTGl2ZVJlZlRvZ2dsZSA9IGZhbHNlO1xuICBwcml2YXRlIF9hcmlhTGl2ZVJlZiE6IFNiYlNjcmVlblJlYWRlck9ubHlFbGVtZW50O1xuICBwcml2YXRlIF90cmlnZ2VyRWxlbWVudDogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBfdHJpZ2dlckFib3J0Q29udHJvbGxlciE6IEFib3J0Q29udHJvbGxlcjtcblxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgY2xvc2VBdHRyaWJ1dGU6IHN0cmluZztcbiAgcHJvdGVjdGVkIGFic3RyYWN0IGhhbmRsZU9wZW5pbmcoKTogdm9pZDtcbiAgcHJvdGVjdGVkIGFic3RyYWN0IGhhbmRsZUNsb3NpbmcoKTogdm9pZDtcbiAgcHJvdGVjdGVkIGFic3RyYWN0IGlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKCk6IGJvb2xlYW47XG5cbiAgLyoqIE9wZW5zIHRoZSBjb21wb25lbnQuICovXG4gIHB1YmxpYyBvcGVuKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnN0YXRlICE9PSAnY2xvc2VkJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmxhc3RGb2N1c2VkRWxlbWVudCA9IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG5cbiAgICBpZiAoIXRoaXMud2lsbE9wZW4uZW1pdCgpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zaG93UG9wb3Zlcj8uKCk7XG4gICAgdGhpcy5zdGF0ZSA9ICdvcGVuaW5nJztcbiAgICB0aGlzLl90cmlnZ2VyRWxlbWVudD8uc2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJywgJ3RydWUnKTtcblxuICAgIC8vIEFkZCB0aGlzIG92ZXJsYXkgdG8gdGhlIGdsb2JhbCBjb2xsZWN0aW9uXG4gICAgb3ZlcmxheVJlZnMucHVzaCh0aGlzKTtcblxuICAgIC8vIERpc2FibGUgc2Nyb2xsaW5nIGZvciBjb250ZW50IGJlbG93IHRoZSBvdmVybGF5XG4gICAgdGhpcy5zY3JvbGxIYW5kbGVyLmRpc2FibGVTY3JvbGwoKTtcblxuICAgIC8vIElmIHRoZSBhbmltYXRpb24gZHVyYXRpb24gaXMgemVybywgdGhlIGFuaW1hdGlvbmVuZCBldmVudCBpcyBub3QgYWx3YXlzIGZpcmVkIHJlbGlhYmx5LlxuICAgIC8vIEluIHRoaXMgY2FzZSB3ZSBkaXJlY3RseSBzZXQgdGhlIGBvcGVuZWRgIHN0YXRlLlxuICAgIGlmICh0aGlzLmlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKCkpIHtcbiAgICAgIHRoaXMuaGFuZGxlT3BlbmluZygpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBDbG9zZXMgdGhlIGNvbXBvbmVudC4gKi9cbiAgcHVibGljIGNsb3NlKHJlc3VsdD86IGFueSwgdGFyZ2V0PzogSFRNTEVsZW1lbnQpOiBhbnkge1xuICAgIGlmICh0aGlzLnN0YXRlICE9PSAnb3BlbmVkJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMucmV0dXJuVmFsdWUgPSByZXN1bHQ7XG4gICAgdGhpcy5vdmVybGF5Q2xvc2VFbGVtZW50ID0gdGFyZ2V0O1xuICAgIGNvbnN0IGV2ZW50RGF0YTogU2JiT3ZlcmxheUNsb3NlRXZlbnREZXRhaWxzID0ge1xuICAgICAgcmV0dXJuVmFsdWU6IHRoaXMucmV0dXJuVmFsdWUsXG4gICAgICBjbG9zZVRhcmdldDogdGhpcy5vdmVybGF5Q2xvc2VFbGVtZW50LFxuICAgIH07XG5cbiAgICBpZiAoIXRoaXMud2lsbENsb3NlLmVtaXQoZXZlbnREYXRhKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnN0YXRlID0gJ2Nsb3NpbmcnO1xuICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50Py5zZXRBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnLCAnZmFsc2UnKTtcbiAgICB0aGlzLnJlbW92ZUFyaWFMaXZlUmVmQ29udGVudCgpO1xuXG4gICAgLy8gSWYgdGhlIGFuaW1hdGlvbiBkdXJhdGlvbiBpcyB6ZXJvLCB0aGUgYW5pbWF0aW9uZW5kIGV2ZW50IGlzIG5vdCBhbHdheXMgZmlyZWQgcmVsaWFibHkuXG4gICAgLy8gSW4gdGhpcyBjYXNlIHdlIGRpcmVjdGx5IHNldCB0aGUgYGNsb3NlZGAgc3RhdGUuXG4gICAgaWYgKHRoaXMuaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKSkge1xuICAgICAgdGhpcy5oYW5kbGVDbG9zaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHRoaXMucG9wb3ZlciA9ICdtYW51YWwnO1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgaWYgKHRoaXMuaGFzVXBkYXRlZCkge1xuICAgICAgdGhpcy5fY29uZmlndXJlVHJpZ2dlcigpO1xuICAgIH1cbiAgfVxuXG4gIC8vIENoZWNrIGlmIHRoZSB0cmlnZ2VyIGlzIHZhbGlkIGFuZCBhdHRhY2ggY2xpY2sgZXZlbnQgbGlzdGVuZXJzLlxuICBwcml2YXRlIF9jb25maWd1cmVUcmlnZ2VyKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnRyaWdnZXIgPT09IHRoaXMuX3RyaWdnZXJFbGVtZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fdHJpZ2dlckFib3J0Q29udHJvbGxlcj8uYWJvcnQoKTtcbiAgICByZW1vdmVBcmlhT3ZlcmxheVRyaWdnZXJBdHRyaWJ1dGVzKHRoaXMuX3RyaWdnZXJFbGVtZW50KTtcbiAgICB0aGlzLl90cmlnZ2VyRWxlbWVudCA9IHRoaXMudHJpZ2dlcjtcblxuICAgIGlmICghdGhpcy5fdHJpZ2dlckVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBzZXRBcmlhT3ZlcmxheVRyaWdnZXJBdHRyaWJ1dGVzKHRoaXMuX3RyaWdnZXJFbGVtZW50LCAnZGlhbG9nJywgdGhpcy5pZCwgdGhpcy5zdGF0ZSk7XG4gICAgdGhpcy5fdHJpZ2dlckFib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcbiAgICB0aGlzLl90cmlnZ2VyRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHRoaXMub3BlbigpLCB7XG4gICAgICBzaWduYWw6IHRoaXMuX3RyaWdnZXJBYm9ydENvbnRyb2xsZXIuc2lnbmFsLFxuICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci5maXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgdGhpcy5fYXJpYUxpdmVSZWYgPVxuICAgICAgdGhpcy5zaGFkb3dSb290IS5xdWVyeVNlbGVjdG9yPFNiYlNjcmVlblJlYWRlck9ubHlFbGVtZW50Pignc2JiLXNjcmVlbi1yZWFkZXItb25seScpITtcbiAgICB0aGlzLl9jb25maWd1cmVUcmlnZ2VyKCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZGlzY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLm9wZW5PdmVybGF5Q29udHJvbGxlcj8uYWJvcnQoKTtcbiAgICB0aGlzLnJlbW92ZUluc3RhbmNlRnJvbUdsb2JhbENvbGxlY3Rpb24oKTtcbiAgICB0aGlzLnNjcm9sbEhhbmRsZXIuZW5hYmxlU2Nyb2xsKCk7XG4gICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQgPSBudWxsO1xuICAgIHRoaXMuX3RyaWdnZXJBYm9ydENvbnRyb2xsZXI/LmFib3J0KCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgcmVxdWVzdFVwZGF0ZShcbiAgICBuYW1lPzogUHJvcGVydHlLZXksXG4gICAgb2xkVmFsdWU/OiB1bmtub3duLFxuICAgIG9wdGlvbnM/OiBQcm9wZXJ0eURlY2xhcmF0aW9uLFxuICApOiB2b2lkIHtcbiAgICBzdXBlci5yZXF1ZXN0VXBkYXRlKG5hbWUsIG9sZFZhbHVlLCBvcHRpb25zKTtcblxuICAgIGlmICghaXNTZXJ2ZXIgJiYgKCFuYW1lIHx8IG5hbWUgPT09ICd0cmlnZ2VyJykgJiYgdGhpcy5oYXNVcGRhdGVkKSB7XG4gICAgICB0aGlzLl9jb25maWd1cmVUcmlnZ2VyKCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGF0dGFjaE9wZW5PdmVybGF5RXZlbnRzKCk6IHZvaWQge1xuICAgIHRoaXMub3Blbk92ZXJsYXlDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICAgIC8vIFJlbW92ZSBvdmVybGF5IGxhYmVsIGFzIHNvb24gYXMgaXQgaXMgbm90IG5lZWRlZCBhbnkgbW9yZSB0byBwcmV2ZW50IGFjY2Vzc2luZyBpdCB3aXRoIGJyb3dzZSBtb2RlLlxuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgJ2tleWRvd24nLFxuICAgICAgKCkgPT4ge1xuICAgICAgICB0aGlzLnJlbW92ZUFyaWFMaXZlUmVmQ29udGVudCgpO1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgc2lnbmFsOiB0aGlzLm9wZW5PdmVybGF5Q29udHJvbGxlci5zaWduYWwsXG4gICAgICB9LFxuICAgICk7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4gdGhpcy5yZW1vdmVBcmlhTGl2ZVJlZkNvbnRlbnQoKSwge1xuICAgICAgc2lnbmFsOiB0aGlzLm9wZW5PdmVybGF5Q29udHJvbGxlci5zaWduYWwsXG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVtb3ZlSW5zdGFuY2VGcm9tR2xvYmFsQ29sbGVjdGlvbigpOiB2b2lkIHtcbiAgICBvdmVybGF5UmVmcy5zcGxpY2Uob3ZlcmxheVJlZnMuaW5kZXhPZih0aGlzIGFzIFNiYk92ZXJsYXlCYXNlRWxlbWVudCksIDEpO1xuICB9XG5cbiAgLy8gQ2xvc2UgdGhlIGNvbXBvbmVudCBvbiBjbGljayBvZiBhbnkgZWxlbWVudCB0aGF0IGhhcyB0aGUgYGNsb3NlQXR0cmlidXRlYCBhdHRyaWJ1dGUuXG4gIHByb3RlY3RlZCBjbG9zZU9uU2JiT3ZlcmxheUNsb3NlQ2xpY2soZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3Qgb3ZlcmxheUNsb3NlRWxlbWVudCA9IGV2ZW50XG4gICAgICAuY29tcG9zZWRQYXRoKClcbiAgICAgIC5maWx0ZXIoKGUpOiBlIGlzIEhUTUxFbGVtZW50ID0+IGUgaW5zdGFuY2VvZiB3aW5kb3cuSFRNTEVsZW1lbnQpXG4gICAgICAuZmluZChcbiAgICAgICAgKHRhcmdldCkgPT4gdGFyZ2V0Lmhhc0F0dHJpYnV0ZSh0aGlzLmNsb3NlQXR0cmlidXRlKSAmJiAhdGFyZ2V0Lmhhc0F0dHJpYnV0ZSgnZGlzYWJsZWQnKSxcbiAgICAgICk7XG5cbiAgICBpZiAoIW92ZXJsYXlDbG9zZUVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBDaGVjayBpZiB0aGUgdGFyZ2V0IGlzIGEgc3VibWlzc2lvbiBlbGVtZW50IHdpdGhpbiBhIGZvcm0gYW5kIHJldHVybiB0aGUgZm9ybSwgaWYgcHJlc2VudFxuICAgIGNvbnN0IGNsb3Nlc3RGb3JtID1cbiAgICAgIG92ZXJsYXlDbG9zZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCd0eXBlJykgPT09ICdzdWJtaXQnXG4gICAgICAgID8gKChvdmVybGF5Q2xvc2VFbGVtZW50IGFzIEhUTUxCdXR0b25FbGVtZW50IHwgU2JiQnV0dG9uQmFzZUVsZW1lbnQpLmZvcm0gPz8gbnVsbClcbiAgICAgICAgOiBudWxsO1xuICAgIG92ZXJsYXlSZWZzW292ZXJsYXlSZWZzLmxlbmd0aCAtIDFdLmNsb3NlKGNsb3Nlc3RGb3JtLCBvdmVybGF5Q2xvc2VFbGVtZW50KTtcbiAgfVxuXG4gIHByb3RlY3RlZCByZW1vdmVBcmlhTGl2ZVJlZkNvbnRlbnQoKTogdm9pZCB7XG4gICAgdGhpcy5fYXJpYUxpdmVSZWYudGV4dENvbnRlbnQgPSAnJztcbiAgfVxuXG4gIHByb3RlY3RlZCBzZXRBcmlhTGl2ZVJlZkNvbnRlbnQobGFiZWw/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLl9hcmlhTGl2ZVJlZlRvZ2dsZSA9ICF0aGlzLl9hcmlhTGl2ZVJlZlRvZ2dsZTtcblxuICAgIC8vIElmIHRoZSB0ZXh0IGNvbnRlbnQgcmVtYWlucyB0aGUgc2FtZSwgb24gVm9pY2VPdmVyIHRoZSBhcmlhLWxpdmUgcmVnaW9uIGlzIG5vdCBhbm5vdW5jZWQgYSBzZWNvbmQgdGltZS5cbiAgICAvLyBJbiBvcmRlciB0byBzdXBwb3J0IHJlYWRpbmcgb24gZXZlcnkgb3BlbmluZywgd2UgdG9nZ2xlIGFuIGludmlzaWJsZSBzcGFjZS5cbiAgICB0aGlzLl9hcmlhTGl2ZVJlZi50ZXh0Q29udGVudCA9IGAke2kxOG5EaWFsb2dbdGhpcy5sYW5ndWFnZS5jdXJyZW50XX0ke1xuICAgICAgbGFiZWwgPyBgLCAke2xhYmVsfWAgOiAnJ1xuICAgIH0ke3RoaXMuX2FyaWFMaXZlUmVmVG9nZ2xlID8gJ8KgJyA6ICcnfWA7XG4gIH1cblxuICAvLyBXYWl0IGZvciBkaWFsb2cgdHJhbnNpdGlvbiB0byBjb21wbGV0ZS5cbiAgLy8gSW4gcmFyZSBjYXNlcywgaXQgY2FuIGJlIHRoYXQgdGhlIGFuaW1hdGlvbkVuZCBldmVudCBpcyB0cmlnZ2VyZWQgdHdpY2UuXG4gIC8vIFRvIGF2b2lkIGVudGVyaW5nIGEgY29ycnVwdCBzdGF0ZSwgZXhpdCB3aGVuIHN0YXRlIGlzIG5vdCBleHBlY3RlZC5cbiAgcHJvdGVjdGVkIG9uT3ZlcmxheUFuaW1hdGlvbkVuZChldmVudDogQW5pbWF0aW9uRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQuYW5pbWF0aW9uTmFtZSA9PT0gJ29wZW4nICYmIHRoaXMuc3RhdGUgPT09ICdvcGVuaW5nJykge1xuICAgICAgdGhpcy5oYW5kbGVPcGVuaW5nKCk7XG4gICAgfSBlbHNlIGlmIChldmVudC5hbmltYXRpb25OYW1lID09PSAnY2xvc2UnICYmIHRoaXMuc3RhdGUgPT09ICdjbG9zaW5nJykge1xuICAgICAgdGhpcy5oYW5kbGVDbG9zaW5nKCk7XG4gICAgfVxuICB9XG59XG4iXSwibmFtZXMiOlsiU2JiT3ZlcmxheUJhc2VFbGVtZW50Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBdUJPLE1BQU0sY0FBdUMsQ0FBQTtJQUU5Qix5QkFBcUIsTUFBQTs7b0JBQVMsaUJBQWlCLHVCQUF1Qjs7Ozs7Ozs7OztBQUF0RSxTQUFBLG1CQUE4QixZQUF5QztBQUFBOztBQVEzRjtBQUtBO0FBU0E7QUFkZ0IseUJBQUEsMkJBQUEsa0JBQUEsTUFBQSx1QkFBOEIsSUFBSTtBQUtsQyx5QkFBQSx1Q0FBQSxrQkFBQSxNQUFBLDBCQUFBLEdBQUEsa0JBQUEsTUFBQSxrQ0FBNkIsRUFBRTtBQVMvQix5QkFBQSx5Q0FBQSxrQkFBQSxNQUFBLHFDQUFBLEdBQUEsa0JBQUEsTUFBQSxvQ0FBZ0MsS0FBSztBQUdsQyxXQUFBLDhFQUFzRCxJQUFJLGFBQzNFLE1BQ0FBLEdBQXNCLE9BQU8sVUFDN0IsRUFBRSxZQUFZLE1BQU07QUFPWixXQUFBLHNCQUFzQixJQUFJLHVCQUF1QixJQUFJO0FBQ3JELFdBQUEsZ0JBQWdCLElBQUksaUJBQUE7QUFFcEIsV0FBQSxXQUFXLElBQUksc0JBQXNCLElBQUk7QUFDekMsV0FBQSxrQkFBa0IsSUFBSSxtQkFBbUIsSUFBSTtBQUM3QyxXQUFBLDZCQUE2QixJQUFJLDhCQUE4QixJQUFJ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
@@ -8,7 +8,6 @@ import { SbbOverlayBaseElement } from './overlay-base-element.js';
8
8
  * @event {CustomEvent<void>} didOpen - Emits whenever the `sbb-overlay` is opened.
9
9
  * @event {CustomEvent<void>} willClose - Emits whenever the `sbb-overlay` begins the closing transition. Can be canceled.
10
10
  * @event {CustomEvent<SbbOverlayCloseEventDetails>} didClose - Emits whenever the `sbb-overlay` is closed.
11
- * @event {CustomEvent<void>} requestBackAction - Emits whenever the back button is clicked.
12
11
  * @cssprop [--sbb-overlay-z-index=var(--sbb-overlay-default-z-index)] - To specify a custom stack order,
13
12
  * the `z-index` can be overridden by defining this CSS variable. The default `z-index` of the
14
13
  * component is set to `var(--sbb-overlay-default-z-index)` with a value of `1000`.
@@ -20,29 +19,20 @@ export declare class SbbOverlayElement extends SbbOverlayBaseElement {
20
19
  readonly didOpen: "didOpen";
21
20
  readonly willClose: "willClose";
22
21
  readonly didClose: "didClose";
23
- readonly backClick: "requestBackAction";
24
22
  };
25
23
  /**
26
24
  * Whether to allow the overlay content to stretch to full width.
27
25
  * By default, the content has the appropriate page size.
28
26
  */
29
27
  accessor expanded: boolean;
30
- /** Whether a back button is displayed next to the title. */
31
- accessor backButton: boolean;
32
28
  /** This will be forwarded as aria-label to the close button element. */
33
29
  accessor accessibilityCloseLabel: string;
34
- /** This will be forwarded as aria-label to the back button element. */
35
- accessor accessibilityBackLabel: string;
36
30
  protected closeAttribute: string;
37
- /** Emits whenever the back button is clicked. */
38
- private _backClick;
39
31
  private _overlayContentElement;
40
- /** Opens the component. */
41
- open(): void;
32
+ connectedCallback(): void;
42
33
  protected isZeroAnimationDuration(): boolean;
43
- private _handleOpening;
34
+ protected handleOpening(): void;
44
35
  protected handleClosing(): void;
45
- protected onOverlayAnimationEnd(event: AnimationEvent): void;
46
36
  protected render(): TemplateResult;
47
37
  }
48
38
  declare global {
@@ -1 +1 @@
1
- {"version":3,"file":"overlay.component.d.ts","sourceRoot":"","sources":["../../../../src/elements/overlay/overlay.component.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAU1D,OAAO,EAAe,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAG/E,OAAO,+BAA+B,CAAC;AACvC,OAAO,iCAAiC,CAAC;AACzC,OAAO,iBAAiB,CAAC;AACzB,OAAO,0BAA0B,CAAC;AAElC;;;;;;;;;;;;GAYG;AACH,qBAEM,iBAAkB,SAAQ,qBAAqB;IACnD,OAAuB,MAAM,EAAE,cAAc,CAAS;IAGtD,gBAAgC,MAAM;;;;;;MAM3B;IAEX;;;OAGG;IACH,SAEgB,QAAQ,EAAE,OAAO,CAAS;IAE1C,4DAA4D;IAC5D,SAEgB,UAAU,EAAE,OAAO,CAAS;IAE5C,wEAAwE;IACxE,SAEgB,uBAAuB,EAAE,MAAM,CAAM;IAErD,uEAAuE;IACvE,SAEgB,sBAAsB,EAAE,MAAM,CAAM;IAEpD,SAAS,CAAC,cAAc,EAAE,MAAM,CAAuB;IAEvD,iDAAiD;IACjD,OAAO,CAAC,UAAU,CAGhB;IACF,OAAO,CAAC,sBAAsB,CAA4B;IAE1D,2BAA2B;IACpB,IAAI,IAAI,IAAI;IA8BnB,SAAS,CAAC,uBAAuB,IAAI,OAAO;IAI5C,OAAO,CAAC,cAAc;cAYH,aAAa,IAAI,IAAI;IAwBxC,SAAS,CAAC,qBAAqB,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;cAQzC,MAAM,IAAI,cAAc;CAsD5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,aAAa,EAAE,iBAAiB,CAAC;KAClC;CACF"}
1
+ {"version":3,"file":"overlay.component.d.ts","sourceRoot":"","sources":["../../../../src/elements/overlay/overlay.component.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAU1D,OAAO,EAAe,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAG/E,OAAO,+BAA+B,CAAC;AACvC,OAAO,iCAAiC,CAAC;AACzC,OAAO,iBAAiB,CAAC;AACzB,OAAO,0BAA0B,CAAC;AAIlC;;;;;;;;;;;GAWG;AACH,qBAEM,iBAAkB,SAAQ,qBAAqB;IACnD,OAAuB,MAAM,EAAE,cAAc,CAAS;IAGtD,gBAAgC,MAAM;;;;;MAK3B;IAEX;;;OAGG;IACH,SAEgB,QAAQ,EAAE,OAAO,CAAS;IAE1C,wEAAwE;IACxE,SAEgB,uBAAuB,EAAE,MAAM,CAAM;IAErD,SAAS,CAAC,cAAc,EAAE,MAAM,CAAuB;IACvD,OAAO,CAAC,sBAAsB,CAA4B;IAE1C,iBAAiB,IAAI,IAAI;IAMzC,SAAS,CAAC,uBAAuB,IAAI,OAAO;IAI5C,SAAS,CAAC,aAAa,IAAI,IAAI;cAYZ,aAAa,IAAI,IAAI;cAuBrB,MAAM,IAAI,cAAc;CA4C5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,aAAa,EAAE,iBAAiB,CAAC;KAClC;CACF"}