@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
@@ -176,22 +176,20 @@ let SbbNavigationMarkerElement = (() => {
176
176
  setTimeout(() => this._setMarkerPosition());
177
177
  }
178
178
  reset() {
179
- var _a2;
180
179
  if (this._currentActiveAction) {
181
180
  this._currentActiveAction.removeAttribute("data-action-active");
182
- (_a2 = this._currentActiveAction.connectedSection) == null ? void 0 : _a2.close();
181
+ this._currentActiveAction.connectedSection?.close();
183
182
  this._currentActiveAction = void 0;
184
183
  }
185
184
  }
186
185
  _setMarkerPosition() {
187
- var _a2, _b;
188
186
  if (!this._currentActiveAction) {
189
187
  return;
190
188
  }
191
189
  const index = this.listChildren.indexOf(this._currentActiveAction);
192
- const value = (_a2 = this.shadowRoot.querySelector(`li:nth-child(${index + 1})`)) == null ? void 0 : _a2.offsetTop;
190
+ const value = this.shadowRoot.querySelector(`li:nth-child(${index + 1})`)?.offsetTop;
193
191
  if (value != null) {
194
- (_b = this.style) == null ? void 0 : _b.setProperty("--sbb-navigation-marker-position-y", `${value}px`);
192
+ this.style?.setProperty("--sbb-navigation-marker-position-y", `${value}px`);
195
193
  }
196
194
  }
197
195
  render() {
@@ -212,4 +210,4 @@ let SbbNavigationMarkerElement = (() => {
212
210
  export {
213
211
  SbbNavigationMarkerElement
214
212
  };
215
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1tYXJrZXIuY29tcG9uZW50LmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvbmF2aWdhdGlvbi9uYXZpZ2F0aW9uLW1hcmtlci9uYXZpZ2F0aW9uLW1hcmtlci5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVzaXplQ29udHJvbGxlciB9IGZyb20gJ0BsaXQtbGFicy9vYnNlcnZlcnMvcmVzaXplLWNvbnRyb2xsZXIuanMnO1xuaW1wb3J0IHsgdHlwZSBDU1NSZXN1bHRHcm91cCwgTGl0RWxlbWVudCwgdHlwZSBQcm9wZXJ0eVZhbHVlcywgdHlwZSBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgaXNMZWFuIH0gZnJvbSAnLi4vLi4vY29yZS9kb20uanMnO1xuaW1wb3J0IHsgU2JiTmFtZWRTbG90TGlzdE1peGluLCB0eXBlIFdpdGhMaXN0Q2hpbGRyZW4gfSBmcm9tICcuLi8uLi9jb3JlL21peGlucy5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYk5hdmlnYXRpb25CdXR0b25FbGVtZW50IH0gZnJvbSAnLi4vbmF2aWdhdGlvbi1idXR0b24uanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJOYXZpZ2F0aW9uTGlua0VsZW1lbnQgfSBmcm9tICcuLi9uYXZpZ2F0aW9uLWxpbmsuanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9uYXZpZ2F0aW9uLW1hcmtlci5zY3NzP2xpdCZpbmxpbmUnO1xuXG4vKipcbiAqIEl0IGNhbiBiZSB1c2VkIGFzIGEgY29udGFpbmVyIGZvciBvbmUgb3IgbW9yZSBgc2JiLW5hdmlnYXRpb24tYnV0dG9uYC9gc2JiLW5hdmlnYXRpb24tbGlua2Agd2l0aGluIGEgYHNiYi1uYXZpZ2F0aW9uYC5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBgc2JiLW5hdmlnYXRpb24tYnV0dG9uYC9gc2JiLW5hdmlnYXRpb24tbGlua2AgZWxlbWVudHMgaW50byB0aGUgYHNiYi1uYXZpZ2F0aW9uLW1hcmtlcmAuXG4gKi9cbmV4cG9ydFxuQGN1c3RvbUVsZW1lbnQoJ3NiYi1uYXZpZ2F0aW9uLW1hcmtlcicpXG5jbGFzcyBTYmJOYXZpZ2F0aW9uTWFya2VyRWxlbWVudCBleHRlbmRzIFNiYk5hbWVkU2xvdExpc3RNaXhpbjxcbiAgU2JiTmF2aWdhdGlvbkJ1dHRvbkVsZW1lbnQgfCBTYmJOYXZpZ2F0aW9uTGlua0VsZW1lbnQsXG4gIHR5cGVvZiBMaXRFbGVtZW50XG4+KExpdEVsZW1lbnQpIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gc3R5bGU7XG4gIHByb3RlY3RlZCBvdmVycmlkZSByZWFkb25seSBsaXN0Q2hpbGRMb2NhbE5hbWVzID0gW1xuICAgICdzYmItbmF2aWdhdGlvbi1idXR0b24nLFxuICAgICdzYmItbmF2aWdhdGlvbi1saW5rJyxcbiAgXTtcblxuICAvKipcbiAgICogTWFya2VyIHNpemUgdmFyaWFudCwgZWl0aGVyIHMgb3IgbC5cbiAgICogQGRlZmF1bHQgJ2wnIC8gJ3MnIChsZWFuKVxuICAgKi9cbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSB9KSBwdWJsaWMgYWNjZXNzb3Igc2l6ZTogJ2wnIHwgJ3MnID0gaXNMZWFuKCkgPyAncycgOiAnbCc7XG5cbiAgcHJpdmF0ZSBfY3VycmVudEFjdGl2ZUFjdGlvbj86IFNiYk5hdmlnYXRpb25CdXR0b25FbGVtZW50IHwgU2JiTmF2aWdhdGlvbkxpbmtFbGVtZW50O1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuXG4gICAgdGhpcy5hZGRDb250cm9sbGVyKFxuICAgICAgbmV3IFJlc2l6ZUNvbnRyb2xsZXIodGhpcywge1xuICAgICAgICBza2lwSW5pdGlhbDogdHJ1ZSxcbiAgICAgICAgY2FsbGJhY2s6ICgpID0+IHRoaXMuX3NldE1hcmtlclBvc2l0aW9uKCksXG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPFdpdGhMaXN0Q2hpbGRyZW48dGhpcz4+KTogdm9pZCB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdzaXplJykgfHwgY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdsaXN0Q2hpbGRyZW4nKSkge1xuICAgICAgdGhpcy5fdXBkYXRlTWFya2VyQWN0aW9ucygpO1xuICAgIH1cbiAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1oYXMtYWN0aXZlLWFjdGlvbicsICEhdGhpcy5fY3VycmVudEFjdGl2ZUFjdGlvbik7XG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVNYXJrZXJBY3Rpb25zKCk6IHZvaWQge1xuICAgIGZvciAoY29uc3QgYWN0aW9uIG9mIHRoaXMubGlzdENoaWxkcmVuKSB7XG4gICAgICBhY3Rpb24uc2l6ZSA9IHRoaXMuc2l6ZTtcbiAgICB9XG5cbiAgICB0aGlzLl9jdXJyZW50QWN0aXZlQWN0aW9uID0gdGhpcy5saXN0Q2hpbGRyZW4uZmluZCgoYWN0aW9uKSA9PlxuICAgICAgYWN0aW9uLmhhc0F0dHJpYnV0ZSgnZGF0YS1hY3Rpb24tYWN0aXZlJyksXG4gICAgKTtcbiAgICB0aGlzLl9zZXRNYXJrZXJQb3NpdGlvbigpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5fY2hlY2tBY3RpdmVBY3Rpb24oKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NoZWNrQWN0aXZlQWN0aW9uKCk6IHZvaWQge1xuICAgIGNvbnN0IGFjdGl2ZUFjdGlvbiA9IHRoaXMucXVlcnlTZWxlY3RvcihcbiAgICAgICc6aXMoc2JiLW5hdmlnYXRpb24tYnV0dG9uLCBzYmItbmF2aWdhdGlvbi1saW5rKS5zYmItYWN0aXZlJyxcbiAgICApIGFzIFNiYk5hdmlnYXRpb25CdXR0b25FbGVtZW50IHwgU2JiTmF2aWdhdGlvbkxpbmtFbGVtZW50O1xuICAgIGlmIChhY3RpdmVBY3Rpb24pIHtcbiAgICAgIHRoaXMuc2VsZWN0KGFjdGl2ZUFjdGlvbik7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNlbGVjdChhY3Rpb246IFNiYk5hdmlnYXRpb25CdXR0b25FbGVtZW50IHwgU2JiTmF2aWdhdGlvbkxpbmtFbGVtZW50KTogdm9pZCB7XG4gICAgaWYgKCFhY3Rpb24pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5yZXNldCgpO1xuICAgIGFjdGlvbi50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtYWN0aW9uLWFjdGl2ZScsIHRydWUpO1xuICAgIHRoaXMuX2N1cnJlbnRBY3RpdmVBY3Rpb24gPSBhY3Rpb247XG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLl9zZXRNYXJrZXJQb3NpdGlvbigpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBmaXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPFdpdGhMaXN0Q2hpbGRyZW48dGhpcz4+KTogdm9pZCB7XG4gICAgc3VwZXIuZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5fc2V0TWFya2VyUG9zaXRpb24oKSk7XG4gIH1cblxuICBwdWJsaWMgcmVzZXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2N1cnJlbnRBY3RpdmVBY3Rpb24pIHtcbiAgICAgIHRoaXMuX2N1cnJlbnRBY3RpdmVBY3Rpb24ucmVtb3ZlQXR0cmlidXRlKCdkYXRhLWFjdGlvbi1hY3RpdmUnKTtcbiAgICAgIHRoaXMuX2N1cnJlbnRBY3RpdmVBY3Rpb24uY29ubmVjdGVkU2VjdGlvbj8uY2xvc2UoKTtcbiAgICAgIHRoaXMuX2N1cnJlbnRBY3RpdmVBY3Rpb24gPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfc2V0TWFya2VyUG9zaXRpb24oKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9jdXJyZW50QWN0aXZlQWN0aW9uKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgaW5kZXggPSB0aGlzLmxpc3RDaGlsZHJlbi5pbmRleE9mKHRoaXMuX2N1cnJlbnRBY3RpdmVBY3Rpb24pITtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuc2hhZG93Um9vdCEucXVlcnlTZWxlY3RvcjxIVE1MTElFbGVtZW50PihcbiAgICAgIGBsaTpudGgtY2hpbGQoJHtpbmRleCArIDF9KWAsXG4gICAgKT8ub2Zmc2V0VG9wO1xuICAgIGlmICh2YWx1ZSAhPSBudWxsKSB7XG4gICAgICB0aGlzLnN0eWxlPy5zZXRQcm9wZXJ0eSgnLS1zYmItbmF2aWdhdGlvbi1tYXJrZXItcG9zaXRpb24teScsIGAke3ZhbHVlfXB4YCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIHRoaXMucmVuZGVyTGlzdCgpO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItbmF2aWdhdGlvbi1tYXJrZXInOiBTYmJOYXZpZ2F0aW9uTWFya2VyRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIl9hIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
213
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1tYXJrZXIuY29tcG9uZW50LmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvbmF2aWdhdGlvbi9uYXZpZ2F0aW9uLW1hcmtlci9uYXZpZ2F0aW9uLW1hcmtlci5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVzaXplQ29udHJvbGxlciB9IGZyb20gJ0BsaXQtbGFicy9vYnNlcnZlcnMvcmVzaXplLWNvbnRyb2xsZXIuanMnO1xuaW1wb3J0IHsgdHlwZSBDU1NSZXN1bHRHcm91cCwgTGl0RWxlbWVudCwgdHlwZSBQcm9wZXJ0eVZhbHVlcywgdHlwZSBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgaXNMZWFuIH0gZnJvbSAnLi4vLi4vY29yZS9kb20uanMnO1xuaW1wb3J0IHsgU2JiTmFtZWRTbG90TGlzdE1peGluLCB0eXBlIFdpdGhMaXN0Q2hpbGRyZW4gfSBmcm9tICcuLi8uLi9jb3JlL21peGlucy5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYk5hdmlnYXRpb25CdXR0b25FbGVtZW50IH0gZnJvbSAnLi4vbmF2aWdhdGlvbi1idXR0b24uanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJOYXZpZ2F0aW9uTGlua0VsZW1lbnQgfSBmcm9tICcuLi9uYXZpZ2F0aW9uLWxpbmsuanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9uYXZpZ2F0aW9uLW1hcmtlci5zY3NzP2xpdCZpbmxpbmUnO1xuXG4vKipcbiAqIEl0IGNhbiBiZSB1c2VkIGFzIGEgY29udGFpbmVyIGZvciBvbmUgb3IgbW9yZSBgc2JiLW5hdmlnYXRpb24tYnV0dG9uYC9gc2JiLW5hdmlnYXRpb24tbGlua2Agd2l0aGluIGEgYHNiYi1uYXZpZ2F0aW9uYC5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBgc2JiLW5hdmlnYXRpb24tYnV0dG9uYC9gc2JiLW5hdmlnYXRpb24tbGlua2AgZWxlbWVudHMgaW50byB0aGUgYHNiYi1uYXZpZ2F0aW9uLW1hcmtlcmAuXG4gKi9cbmV4cG9ydFxuQGN1c3RvbUVsZW1lbnQoJ3NiYi1uYXZpZ2F0aW9uLW1hcmtlcicpXG5jbGFzcyBTYmJOYXZpZ2F0aW9uTWFya2VyRWxlbWVudCBleHRlbmRzIFNiYk5hbWVkU2xvdExpc3RNaXhpbjxcbiAgU2JiTmF2aWdhdGlvbkJ1dHRvbkVsZW1lbnQgfCBTYmJOYXZpZ2F0aW9uTGlua0VsZW1lbnQsXG4gIHR5cGVvZiBMaXRFbGVtZW50XG4+KExpdEVsZW1lbnQpIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gc3R5bGU7XG4gIHByb3RlY3RlZCBvdmVycmlkZSByZWFkb25seSBsaXN0Q2hpbGRMb2NhbE5hbWVzID0gW1xuICAgICdzYmItbmF2aWdhdGlvbi1idXR0b24nLFxuICAgICdzYmItbmF2aWdhdGlvbi1saW5rJyxcbiAgXTtcblxuICAvKipcbiAgICogTWFya2VyIHNpemUgdmFyaWFudCwgZWl0aGVyIHMgb3IgbC5cbiAgICogQGRlZmF1bHQgJ2wnIC8gJ3MnIChsZWFuKVxuICAgKi9cbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSB9KSBwdWJsaWMgYWNjZXNzb3Igc2l6ZTogJ2wnIHwgJ3MnID0gaXNMZWFuKCkgPyAncycgOiAnbCc7XG5cbiAgcHJpdmF0ZSBfY3VycmVudEFjdGl2ZUFjdGlvbj86IFNiYk5hdmlnYXRpb25CdXR0b25FbGVtZW50IHwgU2JiTmF2aWdhdGlvbkxpbmtFbGVtZW50O1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuXG4gICAgdGhpcy5hZGRDb250cm9sbGVyKFxuICAgICAgbmV3IFJlc2l6ZUNvbnRyb2xsZXIodGhpcywge1xuICAgICAgICBza2lwSW5pdGlhbDogdHJ1ZSxcbiAgICAgICAgY2FsbGJhY2s6ICgpID0+IHRoaXMuX3NldE1hcmtlclBvc2l0aW9uKCksXG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPFdpdGhMaXN0Q2hpbGRyZW48dGhpcz4+KTogdm9pZCB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdzaXplJykgfHwgY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdsaXN0Q2hpbGRyZW4nKSkge1xuICAgICAgdGhpcy5fdXBkYXRlTWFya2VyQWN0aW9ucygpO1xuICAgIH1cbiAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1oYXMtYWN0aXZlLWFjdGlvbicsICEhdGhpcy5fY3VycmVudEFjdGl2ZUFjdGlvbik7XG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVNYXJrZXJBY3Rpb25zKCk6IHZvaWQge1xuICAgIGZvciAoY29uc3QgYWN0aW9uIG9mIHRoaXMubGlzdENoaWxkcmVuKSB7XG4gICAgICBhY3Rpb24uc2l6ZSA9IHRoaXMuc2l6ZTtcbiAgICB9XG5cbiAgICB0aGlzLl9jdXJyZW50QWN0aXZlQWN0aW9uID0gdGhpcy5saXN0Q2hpbGRyZW4uZmluZCgoYWN0aW9uKSA9PlxuICAgICAgYWN0aW9uLmhhc0F0dHJpYnV0ZSgnZGF0YS1hY3Rpb24tYWN0aXZlJyksXG4gICAgKTtcbiAgICB0aGlzLl9zZXRNYXJrZXJQb3NpdGlvbigpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5fY2hlY2tBY3RpdmVBY3Rpb24oKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NoZWNrQWN0aXZlQWN0aW9uKCk6IHZvaWQge1xuICAgIGNvbnN0IGFjdGl2ZUFjdGlvbiA9IHRoaXMucXVlcnlTZWxlY3RvcihcbiAgICAgICc6aXMoc2JiLW5hdmlnYXRpb24tYnV0dG9uLCBzYmItbmF2aWdhdGlvbi1saW5rKS5zYmItYWN0aXZlJyxcbiAgICApIGFzIFNiYk5hdmlnYXRpb25CdXR0b25FbGVtZW50IHwgU2JiTmF2aWdhdGlvbkxpbmtFbGVtZW50O1xuICAgIGlmIChhY3RpdmVBY3Rpb24pIHtcbiAgICAgIHRoaXMuc2VsZWN0KGFjdGl2ZUFjdGlvbik7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNlbGVjdChhY3Rpb246IFNiYk5hdmlnYXRpb25CdXR0b25FbGVtZW50IHwgU2JiTmF2aWdhdGlvbkxpbmtFbGVtZW50KTogdm9pZCB7XG4gICAgaWYgKCFhY3Rpb24pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5yZXNldCgpO1xuICAgIGFjdGlvbi50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtYWN0aW9uLWFjdGl2ZScsIHRydWUpO1xuICAgIHRoaXMuX2N1cnJlbnRBY3RpdmVBY3Rpb24gPSBhY3Rpb247XG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLl9zZXRNYXJrZXJQb3NpdGlvbigpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBmaXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPFdpdGhMaXN0Q2hpbGRyZW48dGhpcz4+KTogdm9pZCB7XG4gICAgc3VwZXIuZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5fc2V0TWFya2VyUG9zaXRpb24oKSk7XG4gIH1cblxuICBwdWJsaWMgcmVzZXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2N1cnJlbnRBY3RpdmVBY3Rpb24pIHtcbiAgICAgIHRoaXMuX2N1cnJlbnRBY3RpdmVBY3Rpb24ucmVtb3ZlQXR0cmlidXRlKCdkYXRhLWFjdGlvbi1hY3RpdmUnKTtcbiAgICAgIHRoaXMuX2N1cnJlbnRBY3RpdmVBY3Rpb24uY29ubmVjdGVkU2VjdGlvbj8uY2xvc2UoKTtcbiAgICAgIHRoaXMuX2N1cnJlbnRBY3RpdmVBY3Rpb24gPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfc2V0TWFya2VyUG9zaXRpb24oKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9jdXJyZW50QWN0aXZlQWN0aW9uKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgaW5kZXggPSB0aGlzLmxpc3RDaGlsZHJlbi5pbmRleE9mKHRoaXMuX2N1cnJlbnRBY3RpdmVBY3Rpb24pITtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuc2hhZG93Um9vdCEucXVlcnlTZWxlY3RvcjxIVE1MTElFbGVtZW50PihcbiAgICAgIGBsaTpudGgtY2hpbGQoJHtpbmRleCArIDF9KWAsXG4gICAgKT8ub2Zmc2V0VG9wO1xuICAgIGlmICh2YWx1ZSAhPSBudWxsKSB7XG4gICAgICB0aGlzLnN0eWxlPy5zZXRQcm9wZXJ0eSgnLS1zYmItbmF2aWdhdGlvbi1tYXJrZXItcG9zaXRpb24teScsIGAke3ZhbHVlfXB4YCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIHRoaXMucmVuZGVyTGlzdCgpO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItbmF2aWdhdGlvbi1tYXJrZXInOiBTYmJOYXZpZ2F0aW9uTWFya2VyRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
@@ -1,5 +1,5 @@
1
1
  import { CSSResultGroup, LitElement, PropertyDeclaration, PropertyValues, TemplateResult } from 'lit';
2
- declare const SbbNavigationSectionElement_base: import('../../core/mixins.js').AbstractConstructor<import('../../core/mixins.js').SbbUpdateSchedulerMixinType> & typeof LitElement;
2
+ declare const SbbNavigationSectionElement_base: import('../../core/mixins.js').AbstractConstructor<import('../../core/mixins.js').SbbUpdateSchedulerMixinType> & import('../../core/mixins.js').AbstractConstructor<import('../../core/mixins.js').SbbElementInternalsMixinType> & typeof LitElement & import('../../core/mixins.js').SbbElementInternalsConstructor;
3
3
  /**
4
4
  * It can be used as a container for `sbb-navigation-list` within a `sbb-navigation`.
5
5
  *
@@ -1 +1 @@
1
- {"version":3,"file":"navigation-section.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/navigation/navigation-section/navigation-section.component.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EAGnB,UAAU,EAEV,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AA4Bb,OAAO,oCAAoC,CAAC;AAC5C,OAAO,kBAAkB,CAAC;;AAI1B;;;;GAIG;AACH,qBAEM,2BAA4B,SAAQ,gCAAmC;IAC3E,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD;;OAEG;IACH,SAEgB,YAAY,EAAE,MAAM,CAAM;IAE1C;;;;OAIG;IACH,SAEgB,OAAO,EAAE,WAAW,GAAG,IAAI,CAAQ;IAEnD;;OAEG;IACH,SAEgB,kBAAkB,EAAE,MAAM,CAAM;IAEhD;;OAEG;IACH,SAEgB,sBAAsB,EAAE,MAAM,CAAM;IAEpD;;OAEG;IACH,OAAO,KAAK,MAAM,QAGjB;IACD,OAAO,KAAK,MAAM,GAEjB;IAED,OAAO,CAAC,qBAAqB,CAAC,CAAqC;IACnE,OAAO,CAAC,eAAe,CAA4B;IACnD,OAAO,CAAC,uBAAuB,CAAmB;IAClD,OAAO,CAAC,uBAAuB,CAAmB;IAClD,OAAO,CAAC,SAAS,CAAmC;IACpD,OAAO,CAAC,oBAAoB,CAAoC;IAChE,OAAO,CAAC,iBAAiB,CAA8B;;IA0CvD;;OAEG;IACI,IAAI,IAAI,IAAI;IAsBnB,OAAO,CAAC,wBAAwB;IAIhC,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,cAAc;IAYtB,OAAO,CAAC,+BAA+B;IAIvC;;OAEG;IACI,KAAK,IAAI,IAAI;IAkBpB,OAAO,CAAC,iBAAiB;IAwBzB,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,mBAAmB;IAa3B,OAAO,CAAC,6BAA6B,CASnC;IAEF,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,kBAAkB;IAMV,iBAAiB,IAAI,IAAI;IAUzB,oBAAoB,IAAI,IAAI;IAO5B,aAAa,CAC3B,IAAI,CAAC,EAAE,WAAW,EAClB,QAAQ,CAAC,EAAE,OAAO,EAClB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,IAAI;cAQY,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;cAK3D,MAAM,IAAI,cAAc;CAmC5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,wBAAwB,EAAE,2BAA2B,CAAC;KACvD;CACF"}
1
+ {"version":3,"file":"navigation-section.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/navigation/navigation-section/navigation-section.component.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EAGnB,UAAU,EAEV,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AA4Bb,OAAO,oCAAoC,CAAC;AAC5C,OAAO,kBAAkB,CAAC;;AAI1B;;;;GAIG;AACH,qBAEM,2BAA4B,SAAQ,gCAEzC;IACC,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD;;OAEG;IACH,SAEgB,YAAY,EAAE,MAAM,CAAM;IAE1C;;;;OAIG;IACH,SAEgB,OAAO,EAAE,WAAW,GAAG,IAAI,CAAQ;IAEnD;;OAEG;IACH,SAEgB,kBAAkB,EAAE,MAAM,CAAM;IAEhD;;OAEG;IACH,SAEgB,sBAAsB,EAAE,MAAM,CAAM;IAEpD;;OAEG;IACH,OAAO,KAAK,MAAM,QAGjB;IACD,OAAO,KAAK,MAAM,GAEjB;IAED,OAAO,CAAC,qBAAqB,CAAC,CAAqC;IACnE,OAAO,CAAC,eAAe,CAA4B;IACnD,OAAO,CAAC,uBAAuB,CAAmB;IAClD,OAAO,CAAC,uBAAuB,CAAmB;IAClD,OAAO,CAAC,SAAS,CAAmC;IACpD,OAAO,CAAC,oBAAoB,CAAoC;IAChE,OAAO,CAAC,iBAAiB,CAA8B;;IA0CvD;;OAEG;IACI,IAAI,IAAI,IAAI;IAsBnB,OAAO,CAAC,wBAAwB;IAIhC,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,cAAc;IAYtB,OAAO,CAAC,+BAA+B;IAIvC;;OAEG;IACI,KAAK,IAAI,IAAI;IAkBpB,OAAO,CAAC,iBAAiB;IAwBzB,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,mBAAmB;IAa3B,OAAO,CAAC,6BAA6B,CASnC;IAEF,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,kBAAkB;IAMV,iBAAiB,IAAI,IAAI;IAUzB,oBAAoB,IAAI,IAAI;IAO5B,aAAa,CAC3B,IAAI,CAAC,EAAE,WAAW,EAClB,QAAQ,CAAC,EAAE,OAAO,EAClB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,IAAI;cAQY,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;cAK3D,MAAM,IAAI,cAAc;CAmC5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,wBAAwB,EAAE,2BAA2B,CAAC;KACvD;CACF"}
@@ -11,9 +11,9 @@ import { customElement, property } from "lit/decorators.js";
11
11
  import { SbbFocusTrapController, sbbInputModalityDetector, IS_FOCUSABLE_QUERY } from "../../core/a11y.js";
12
12
  import { SbbLanguageController, SbbMediaMatcherController, SbbMediaQueryBreakpointMediumAndBelow } from "../../core/controllers.js";
13
13
  import { forceType, omitEmptyConverter, idReference } from "../../core/decorators.js";
14
- import { setOrRemoveAttribute, isZeroAnimationDuration, isBreakpoint } from "../../core/dom.js";
14
+ import { isZeroAnimationDuration, isBreakpoint } from "../../core/dom.js";
15
15
  import { i18nGoBack } from "../../core/i18n.js";
16
- import { SbbUpdateSchedulerMixin } from "../../core/mixins.js";
16
+ import { SbbUpdateSchedulerMixin, SbbElementInternalsMixin } from "../../core/mixins.js";
17
17
  import { removeAriaOverlayTriggerAttributes, setAriaOverlayTriggerAttributes } from "../../core/overlay.js";
18
18
  import "../../button/transparent-button.js";
19
19
  import "../../divider.js";
@@ -294,7 +294,7 @@ let SbbNavigationSectionElement = (() => {
294
294
  let _classDescriptor;
295
295
  let _classExtraInitializers = [];
296
296
  let _classThis;
297
- let _classSuper = SbbUpdateSchedulerMixin(LitElement);
297
+ let _classSuper = SbbUpdateSchedulerMixin(SbbElementInternalsMixin(LitElement));
298
298
  let _titleContent_decorators;
299
299
  let _titleContent_initializers = [];
300
300
  let _titleContent_extraInitializers = [];
@@ -309,7 +309,6 @@ let SbbNavigationSectionElement = (() => {
309
309
  let _accessibilityBackLabel_extraInitializers = [];
310
310
  _a = class extends _classSuper {
311
311
  constructor() {
312
- var _a2, _b;
313
312
  super();
314
313
  __privateAdd(this, _titleContent_accessor_storage);
315
314
  __privateAdd(this, _trigger_accessor_storage);
@@ -336,19 +335,18 @@ let SbbNavigationSectionElement = (() => {
336
335
  }
337
336
  }
338
337
  }));
339
- (_a2 = this.addEventListener) == null ? void 0 : _a2.call(this, "keydown", (e) => {
338
+ this.addEventListener?.("keydown", (e) => {
340
339
  this._lastKeydownEvent = e;
341
340
  });
342
- (_b = this.addEventListener) == null ? void 0 : _b.call(this, "focusout", (e) => {
343
- var _a3, _b2, _c;
344
- if (e.relatedTarget instanceof HTMLElement && !this.contains(e.relatedTarget) && sbbInputModalityDetector.mostRecentModality === "keyboard" && ((_a3 = this._lastKeydownEvent) == null ? void 0 : _a3.key) === "Tab" && this._triggerElement) {
341
+ this.addEventListener?.("focusout", (e) => {
342
+ if (e.relatedTarget instanceof HTMLElement && !this.contains(e.relatedTarget) && sbbInputModalityDetector.mostRecentModality === "keyboard" && this._lastKeydownEvent?.key === "Tab" && this._triggerElement) {
345
343
  const navigationElement = this.closest("sbb-navigation");
346
- const focusableElements = Array.from((navigationElement == null ? void 0 : navigationElement.querySelectorAll(IS_FOCUSABLE_QUERY)) ?? []).filter((e2) => !this.contains(e2));
344
+ const focusableElements = Array.from(navigationElement?.querySelectorAll(IS_FOCUSABLE_QUERY) ?? []).filter((e2) => !this.contains(e2));
347
345
  if (this._lastKeydownEvent.shiftKey || !focusableElements.length) {
348
- (_b2 = this._triggerElement) == null ? void 0 : _b2.focus();
346
+ this._triggerElement?.focus();
349
347
  } else {
350
348
  const triggerIndex = focusableElements.indexOf(this._triggerElement);
351
- (_c = focusableElements[triggerIndex + 1] ?? navigationElement.closeButton) == null ? void 0 : _c.focus();
349
+ (focusableElements[triggerIndex + 1] ?? navigationElement.closeButton)?.focus();
352
350
  }
353
351
  }
354
352
  });
@@ -396,7 +394,7 @@ let SbbNavigationSectionElement = (() => {
396
394
  */
397
395
  set _state(state) {
398
396
  this.setAttribute("data-state", state);
399
- setOrRemoveAttribute(this, "aria-hidden", this._state !== "opened" ? "true" : null);
397
+ this.ariaHidden = this._state !== "opened" ? "true" : null;
400
398
  }
401
399
  get _state() {
402
400
  return this.getAttribute("data-state");
@@ -405,18 +403,17 @@ let SbbNavigationSectionElement = (() => {
405
403
  * Opens the navigation section on trigger click.
406
404
  */
407
405
  open() {
408
- var _a2, _b, _c;
409
406
  if (this._state !== "closed" || !this.hasUpdated) {
410
407
  return;
411
408
  }
412
409
  if (this._isNavigationButton(this._triggerElement)) {
413
- (_b = (_a2 = this._triggerElement) == null ? void 0 : _a2.marker) == null ? void 0 : _b.select(this._triggerElement);
410
+ this._triggerElement?.marker?.select(this._triggerElement);
414
411
  }
415
412
  this._closePreviousNavigationSection();
416
413
  this._state = "opening";
417
414
  this.startUpdate();
418
415
  this.inert = true;
419
- (_c = this._triggerElement) == null ? void 0 : _c.setAttribute("aria-expanded", "true");
416
+ this._triggerElement?.setAttribute("aria-expanded", "true");
420
417
  if (this._isZeroAnimationDuration()) {
421
418
  this._handleOpening();
422
419
  }
@@ -434,10 +431,9 @@ let SbbNavigationSectionElement = (() => {
434
431
  this.completeUpdate();
435
432
  }
436
433
  _handleClosing() {
437
- var _a2, _b, _c;
438
434
  this._state = "closed";
439
- (_b = (_a2 = this.shadowRoot) == null ? void 0 : _a2.querySelector(".sbb-navigation-section__container")) == null ? void 0 : _b.scrollTo(0, 0);
440
- (_c = this._windowEventsController) == null ? void 0 : _c.abort();
435
+ this.shadowRoot?.querySelector(".sbb-navigation-section__container")?.scrollTo(0, 0);
436
+ this._windowEventsController?.abort();
441
437
  this._resetLists();
442
438
  this._setNavigationInert();
443
439
  if (this._isBelowLarge() && this._triggerElement) {
@@ -446,32 +442,29 @@ let SbbNavigationSectionElement = (() => {
446
442
  this.completeUpdate();
447
443
  }
448
444
  _closePreviousNavigationSection() {
449
- var _a2, _b;
450
- (_b = (_a2 = this._firstLevelNavigation) == null ? void 0 : _a2.activeNavigationSection) == null ? void 0 : _b.close();
445
+ this._firstLevelNavigation?.activeNavigationSection?.close();
451
446
  }
452
447
  /**
453
448
  * Closes the navigation section.
454
449
  */
455
450
  close() {
456
- var _a2;
457
451
  if (this._state !== "opened") {
458
452
  return;
459
453
  }
460
454
  this._state = "closing";
461
455
  this.startUpdate();
462
456
  this.inert = true;
463
- (_a2 = this._triggerElement) == null ? void 0 : _a2.setAttribute("aria-expanded", "false");
457
+ this._triggerElement?.setAttribute("aria-expanded", "false");
464
458
  if (this._isZeroAnimationDuration()) {
465
459
  this._handleClosing();
466
460
  }
467
461
  }
468
462
  // Check if the trigger is valid and attach click event listeners.
469
463
  _configureTrigger() {
470
- var _a2, _b, _c;
471
464
  if (this.trigger === this._triggerElement) {
472
465
  return;
473
466
  }
474
- (_a2 = this._triggerAbortController) == null ? void 0 : _a2.abort();
467
+ this._triggerAbortController?.abort();
475
468
  removeAriaOverlayTriggerAttributes(this._triggerElement);
476
469
  this._triggerElement = this.trigger;
477
470
  if (!this._triggerElement) {
@@ -485,14 +478,13 @@ let SbbNavigationSectionElement = (() => {
485
478
  this._triggerElement.addEventListener("click", () => this.open(), {
486
479
  signal: this._triggerAbortController.signal
487
480
  });
488
- this._firstLevelNavigation = (_c = (_b = this._triggerElement) == null ? void 0 : _b.closest) == null ? void 0 : _c.call(_b, "sbb-navigation");
481
+ this._firstLevelNavigation = this._triggerElement?.closest?.("sbb-navigation");
489
482
  }
490
483
  _isNavigationButton(trigger) {
491
- return (trigger == null ? void 0 : trigger.localName) === "sbb-navigation-button";
484
+ return trigger?.localName === "sbb-navigation-button";
492
485
  }
493
486
  _setNavigationInert(isBelowLarge = this._isBelowLarge()) {
494
- var _a2;
495
- const navigationContent = (_a2 = this._firstLevelNavigation) == null ? void 0 : _a2.navigationContent;
487
+ const navigationContent = this._firstLevelNavigation?.navigationContent;
496
488
  if (navigationContent) {
497
489
  navigationContent.inert = isBelowLarge && this._state !== "closed";
498
490
  }
@@ -531,24 +523,22 @@ let SbbNavigationSectionElement = (() => {
531
523
  }
532
524
  }
533
525
  _checkActiveAction() {
534
- var _a2;
535
- (_a2 = this.querySelector(":is(sbb-navigation-button, sbb-navigation-link).sbb-active")) == null ? void 0 : _a2.toggleAttribute("data-action-active", true);
526
+ this.querySelector(":is(sbb-navigation-button, sbb-navigation-link).sbb-active")?.toggleAttribute("data-action-active", true);
536
527
  }
537
528
  connectedCallback() {
538
529
  super.connectedCallback();
539
- this.slot || (this.slot = "navigation-section");
540
- this.id || (this.id = `sbb-navigation-section-${nextId++}`);
541
- this._state || (this._state = "closed");
530
+ this.slot ||= "navigation-section";
531
+ this.id ||= `sbb-navigation-section-${nextId++}`;
532
+ this._state ||= "closed";
542
533
  if (this.hasUpdated) {
543
534
  this._configureTrigger();
544
535
  }
545
536
  }
546
537
  disconnectedCallback() {
547
- var _a2, _b;
548
538
  super.disconnectedCallback();
549
539
  this._triggerElement = null;
550
- (_a2 = this._triggerAbortController) == null ? void 0 : _a2.abort();
551
- (_b = this._windowEventsController) == null ? void 0 : _b.abort();
540
+ this._triggerAbortController?.abort();
541
+ this._windowEventsController?.abort();
552
542
  }
553
543
  requestUpdate(name, oldValue, options) {
554
544
  super.requestUpdate(name, oldValue, options);
@@ -622,4 +612,4 @@ let SbbNavigationSectionElement = (() => {
622
612
  export {
623
613
  SbbNavigationSectionElement
624
614
  };
625
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1zZWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL25hdmlnYXRpb24vbmF2aWdhdGlvbi1zZWN0aW9uL25hdmlnYXRpb24tc2VjdGlvbi5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgaHRtbCxcbiAgaXNTZXJ2ZXIsXG4gIExpdEVsZW1lbnQsXG4gIG5vdGhpbmcsXG4gIHR5cGUgUHJvcGVydHlEZWNsYXJhdGlvbixcbiAgdHlwZSBQcm9wZXJ0eVZhbHVlcyxcbiAgdHlwZSBUZW1wbGF0ZVJlc3VsdCxcbn0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQsIHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQge1xuICBJU19GT0NVU0FCTEVfUVVFUlksXG4gIFNiYkZvY3VzVHJhcENvbnRyb2xsZXIsXG4gIHNiYklucHV0TW9kYWxpdHlEZXRlY3Rvcixcbn0gZnJvbSAnLi4vLi4vY29yZS9hMTF5LmpzJztcbmltcG9ydCB7XG4gIFNiYkxhbmd1YWdlQ29udHJvbGxlcixcbiAgU2JiTWVkaWFNYXRjaGVyQ29udHJvbGxlcixcbiAgU2JiTWVkaWFRdWVyeUJyZWFrcG9pbnRNZWRpdW1BbmRCZWxvdyxcbn0gZnJvbSAnLi4vLi4vY29yZS9jb250cm9sbGVycy5qcyc7XG5pbXBvcnQgeyBmb3JjZVR5cGUsIGlkUmVmZXJlbmNlLCBvbWl0RW1wdHlDb252ZXJ0ZXIgfSBmcm9tICcuLi8uLi9jb3JlL2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgaXNCcmVha3BvaW50LCBpc1plcm9BbmltYXRpb25EdXJhdGlvbiwgc2V0T3JSZW1vdmVBdHRyaWJ1dGUgfSBmcm9tICcuLi8uLi9jb3JlL2RvbS5qcyc7XG5pbXBvcnQgeyBpMThuR29CYWNrIH0gZnJvbSAnLi4vLi4vY29yZS9pMThuLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiT3BlbmVkQ2xvc2VkU3RhdGUgfSBmcm9tICcuLi8uLi9jb3JlL2ludGVyZmFjZXMuanMnO1xuaW1wb3J0IHsgU2JiVXBkYXRlU2NoZWR1bGVyTWl4aW4gfSBmcm9tICcuLi8uLi9jb3JlL21peGlucy5qcyc7XG5pbXBvcnQge1xuICByZW1vdmVBcmlhT3ZlcmxheVRyaWdnZXJBdHRyaWJ1dGVzLFxuICBzZXRBcmlhT3ZlcmxheVRyaWdnZXJBdHRyaWJ1dGVzLFxufSBmcm9tICcuLi8uLi9jb3JlL292ZXJsYXkuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJOYXZpZ2F0aW9uQnV0dG9uRWxlbWVudCB9IGZyb20gJy4uL25hdmlnYXRpb24tYnV0dG9uLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiTmF2aWdhdGlvbkxpbmtFbGVtZW50IH0gZnJvbSAnLi4vbmF2aWdhdGlvbi1saW5rLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiTmF2aWdhdGlvbkVsZW1lbnQgfSBmcm9tICcuLi9uYXZpZ2F0aW9uLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vbmF2aWdhdGlvbi1zZWN0aW9uLnNjc3M/bGl0JmlubGluZSc7XG5cbmltcG9ydCAnLi4vLi4vYnV0dG9uL3RyYW5zcGFyZW50LWJ1dHRvbi5qcyc7XG5pbXBvcnQgJy4uLy4uL2RpdmlkZXIuanMnO1xuXG5sZXQgbmV4dElkID0gMDtcblxuLyoqXG4gKiBJdCBjYW4gYmUgdXNlZCBhcyBhIGNvbnRhaW5lciBmb3IgYHNiYi1uYXZpZ2F0aW9uLWxpc3RgIHdpdGhpbiBhIGBzYmItbmF2aWdhdGlvbmAuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgY29udGVudCBpbnRvIHRoZSBgc2JiLW5hdmlnYXRpb24tc2VjdGlvbmAuXG4gKi9cbmV4cG9ydFxuQGN1c3RvbUVsZW1lbnQoJ3NiYi1uYXZpZ2F0aW9uLXNlY3Rpb24nKVxuY2xhc3MgU2JiTmF2aWdhdGlvblNlY3Rpb25FbGVtZW50IGV4dGVuZHMgU2JiVXBkYXRlU2NoZWR1bGVyTWl4aW4oTGl0RWxlbWVudCkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcblxuICAvKipcbiAgICogVGhlIGxhYmVsIHRvIGJlIHNob3duIGJlZm9yZSB0aGUgYWN0aW9uIGxpc3QuXG4gICAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAndGl0bGUtY29udGVudCcsIHJlZmxlY3Q6IHRydWUsIGNvbnZlcnRlcjogb21pdEVtcHR5Q29udmVydGVyIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciB0aXRsZUNvbnRlbnQ6IHN0cmluZyA9ICcnO1xuXG4gIC8qKlxuICAgKiBUaGUgZWxlbWVudCB0aGF0IHdpbGwgdHJpZ2dlciB0aGUgbmF2aWdhdGlvbiBzZWN0aW9uLlxuICAgKlxuICAgKiBGb3IgYXR0cmlidXRlIHVzYWdlLCBwcm92aWRlIGFuIGlkIHJlZmVyZW5jZS5cbiAgICovXG4gIEBpZFJlZmVyZW5jZSgpXG4gIEBwcm9wZXJ0eSgpXG4gIHB1YmxpYyBhY2Nlc3NvciB0cmlnZ2VyOiBIVE1MRWxlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gIC8qKlxuICAgKiBUaGlzIHdpbGwgYmUgZm9yd2FyZGVkIGFzIGFyaWEtbGFiZWwgdG8gdGhlIG5hdiBlbGVtZW50IGFuZCBpcyByZWFkIGFzIGEgdGl0bGUgb2YgdGhlIG5hdmlnYXRpb24tc2VjdGlvbi5cbiAgICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdhY2Nlc3NpYmlsaXR5LWxhYmVsJyB9KVxuICBwdWJsaWMgYWNjZXNzb3IgYWNjZXNzaWJpbGl0eUxhYmVsOiBzdHJpbmcgPSAnJztcblxuICAvKipcbiAgICogVGhpcyB3aWxsIGJlIGZvcndhcmRlZCBhcyBhcmlhLWxhYmVsIHRvIHRoZSBiYWNrIGJ1dHRvbiBlbGVtZW50LlxuICAgKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2FjY2Vzc2liaWxpdHktYmFjay1sYWJlbCcgfSlcbiAgcHVibGljIGFjY2Vzc29yIGFjY2Vzc2liaWxpdHlCYWNrTGFiZWw6IHN0cmluZyA9ICcnO1xuXG4gIC8qKlxuICAgKiBUaGUgc3RhdGUgb2YgdGhlIG5hdmlnYXRpb24gc2VjdGlvbi5cbiAgICovXG4gIHByaXZhdGUgc2V0IF9zdGF0ZShzdGF0ZTogU2JiT3BlbmVkQ2xvc2VkU3RhdGUpIHtcbiAgICB0aGlzLnNldEF0dHJpYnV0ZSgnZGF0YS1zdGF0ZScsIHN0YXRlKTtcbiAgICBzZXRPclJlbW92ZUF0dHJpYnV0ZSh0aGlzLCAnYXJpYS1oaWRkZW4nLCB0aGlzLl9zdGF0ZSAhPT0gJ29wZW5lZCcgPyAndHJ1ZScgOiBudWxsKTtcbiAgfVxuICBwcml2YXRlIGdldCBfc3RhdGUoKTogU2JiT3BlbmVkQ2xvc2VkU3RhdGUge1xuICAgIHJldHVybiB0aGlzLmdldEF0dHJpYnV0ZSgnZGF0YS1zdGF0ZScpIGFzIFNiYk9wZW5lZENsb3NlZFN0YXRlO1xuICB9XG5cbiAgcHJpdmF0ZSBfZmlyc3RMZXZlbE5hdmlnYXRpb24/OiBTYmJOYXZpZ2F0aW9uRWxlbWVudCB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF90cmlnZ2VyRWxlbWVudDogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBfdHJpZ2dlckFib3J0Q29udHJvbGxlciE6IEFib3J0Q29udHJvbGxlcjtcbiAgcHJpdmF0ZSBfd2luZG93RXZlbnRzQ29udHJvbGxlciE6IEFib3J0Q29udHJvbGxlcjtcbiAgcHJpdmF0ZSBfbGFuZ3VhZ2UgPSBuZXcgU2JiTGFuZ3VhZ2VDb250cm9sbGVyKHRoaXMpO1xuICBwcml2YXRlIF9mb2N1c1RyYXBDb250cm9sbGVyID0gbmV3IFNiYkZvY3VzVHJhcENvbnRyb2xsZXIodGhpcyk7XG4gIHByaXZhdGUgX2xhc3RLZXlkb3duRXZlbnQ6IEtleWJvYXJkRXZlbnQgfCBudWxsID0gbnVsbDtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIHRoaXMuYWRkQ29udHJvbGxlcihcbiAgICAgIG5ldyBTYmJNZWRpYU1hdGNoZXJDb250cm9sbGVyKHRoaXMsIHtcbiAgICAgICAgW1NiYk1lZGlhUXVlcnlCcmVha3BvaW50TWVkaXVtQW5kQmVsb3ddOiAobWF0Y2hlcykgPT4ge1xuICAgICAgICAgIGlmICh0aGlzLl9zdGF0ZSAhPT0gJ2Nsb3NlZCcpIHtcbiAgICAgICAgICAgIHRoaXMuX3NldE5hdmlnYXRpb25JbmVydChtYXRjaGVzKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICB9KSxcbiAgICApO1xuXG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ2tleWRvd24nLCAoZSkgPT4ge1xuICAgICAgdGhpcy5fbGFzdEtleWRvd25FdmVudCA9IGU7XG4gICAgfSk7XG5cbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LignZm9jdXNvdXQnLCAoZSkgPT4ge1xuICAgICAgaWYgKFxuICAgICAgICBlLnJlbGF0ZWRUYXJnZXQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCAmJlxuICAgICAgICAhdGhpcy5jb250YWlucyhlLnJlbGF0ZWRUYXJnZXQpICYmXG4gICAgICAgIHNiYklucHV0TW9kYWxpdHlEZXRlY3Rvci5tb3N0UmVjZW50TW9kYWxpdHkgPT09ICdrZXlib2FyZCcgJiZcbiAgICAgICAgdGhpcy5fbGFzdEtleWRvd25FdmVudD8ua2V5ID09PSAnVGFiJyAmJlxuICAgICAgICB0aGlzLl90cmlnZ2VyRWxlbWVudFxuICAgICAgKSB7XG4gICAgICAgIGNvbnN0IG5hdmlnYXRpb25FbGVtZW50ID0gdGhpcy5jbG9zZXN0PFNiYk5hdmlnYXRpb25FbGVtZW50Pignc2JiLW5hdmlnYXRpb24nKTtcbiAgICAgICAgY29uc3QgZm9jdXNhYmxlRWxlbWVudHMgPSBBcnJheS5mcm9tKFxuICAgICAgICAgIG5hdmlnYXRpb25FbGVtZW50Py5xdWVyeVNlbGVjdG9yQWxsPEhUTUxFbGVtZW50PihJU19GT0NVU0FCTEVfUVVFUlkpID8/IFtdLFxuICAgICAgICApLmZpbHRlcigoZSkgPT4gIXRoaXMuY29udGFpbnMoZSkpO1xuXG4gICAgICAgIGlmICh0aGlzLl9sYXN0S2V5ZG93bkV2ZW50LnNoaWZ0S2V5IHx8ICFmb2N1c2FibGVFbGVtZW50cy5sZW5ndGgpIHtcbiAgICAgICAgICB0aGlzLl90cmlnZ2VyRWxlbWVudD8uZm9jdXMoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zdCB0cmlnZ2VySW5kZXggPSBmb2N1c2FibGVFbGVtZW50cy5pbmRleE9mKHRoaXMuX3RyaWdnZXJFbGVtZW50KTtcbiAgICAgICAgICAoZm9jdXNhYmxlRWxlbWVudHNbdHJpZ2dlckluZGV4ICsgMV0gPz8gbmF2aWdhdGlvbkVsZW1lbnQhLmNsb3NlQnV0dG9uKT8uZm9jdXMoKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIE9wZW5zIHRoZSBuYXZpZ2F0aW9uIHNlY3Rpb24gb24gdHJpZ2dlciBjbGljay5cbiAgICovXG4gIHB1YmxpYyBvcGVuKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9zdGF0ZSAhPT0gJ2Nsb3NlZCcgfHwgIXRoaXMuaGFzVXBkYXRlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl9pc05hdmlnYXRpb25CdXR0b24odGhpcy5fdHJpZ2dlckVsZW1lbnQpKSB7XG4gICAgICB0aGlzLl90cmlnZ2VyRWxlbWVudD8ubWFya2VyPy5zZWxlY3QodGhpcy5fdHJpZ2dlckVsZW1lbnQpO1xuICAgIH1cblxuICAgIHRoaXMuX2Nsb3NlUHJldmlvdXNOYXZpZ2F0aW9uU2VjdGlvbigpO1xuICAgIHRoaXMuX3N0YXRlID0gJ29wZW5pbmcnO1xuICAgIHRoaXMuc3RhcnRVcGRhdGUoKTtcbiAgICB0aGlzLmluZXJ0ID0gdHJ1ZTtcbiAgICB0aGlzLl90cmlnZ2VyRWxlbWVudD8uc2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJywgJ3RydWUnKTtcblxuICAgIC8vIElmIHRoZSBhbmltYXRpb24gZHVyYXRpb24gaXMgemVybywgdGhlIGFuaW1hdGlvbmVuZCBldmVudCBpcyBub3QgYWx3YXlzIGZpcmVkIHJlbGlhYmx5LlxuICAgIC8vIEluIHRoaXMgY2FzZSB3ZSBkaXJlY3RseSBzZXQgdGhlIGBvcGVuZWRgIHN0YXRlLlxuICAgIGlmICh0aGlzLl9pc1plcm9BbmltYXRpb25EdXJhdGlvbigpKSB7XG4gICAgICB0aGlzLl9oYW5kbGVPcGVuaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKHRoaXMsICctLXNiYi1uYXZpZ2F0aW9uLXNlY3Rpb24tYW5pbWF0aW9uLWR1cmF0aW9uJyk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVPcGVuaW5nKCk6IHZvaWQge1xuICAgIHRoaXMuX3N0YXRlID0gJ29wZW5lZCc7XG4gICAgdGhpcy5pbmVydCA9IGZhbHNlO1xuICAgIHRoaXMuX2F0dGFjaFdpbmRvd0V2ZW50cygpO1xuICAgIHRoaXMuX3NldE5hdmlnYXRpb25JbmVydCgpO1xuICAgIHRoaXMuX2ZvY3VzVHJhcENvbnRyb2xsZXIuZm9jdXNJbml0aWFsRWxlbWVudCgpO1xuICAgIHRoaXMuX2NoZWNrQWN0aXZlQWN0aW9uKCk7XG4gICAgdGhpcy5jb21wbGV0ZVVwZGF0ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlQ2xvc2luZygpOiB2b2lkIHtcbiAgICB0aGlzLl9zdGF0ZSA9ICdjbG9zZWQnO1xuICAgIHRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcignLnNiYi1uYXZpZ2F0aW9uLXNlY3Rpb25fX2NvbnRhaW5lcicpPy5zY3JvbGxUbygwLCAwKTtcbiAgICB0aGlzLl93aW5kb3dFdmVudHNDb250cm9sbGVyPy5hYm9ydCgpO1xuICAgIHRoaXMuX3Jlc2V0TGlzdHMoKTtcbiAgICB0aGlzLl9zZXROYXZpZ2F0aW9uSW5lcnQoKTtcbiAgICBpZiAodGhpcy5faXNCZWxvd0xhcmdlKCkgJiYgdGhpcy5fdHJpZ2dlckVsZW1lbnQpIHtcbiAgICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuICAgIHRoaXMuY29tcGxldGVVcGRhdGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2Nsb3NlUHJldmlvdXNOYXZpZ2F0aW9uU2VjdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLl9maXJzdExldmVsTmF2aWdhdGlvbj8uYWN0aXZlTmF2aWdhdGlvblNlY3Rpb24/LmNsb3NlKCk7XG4gIH1cblxuICAvKipcbiAgICogQ2xvc2VzIHRoZSBuYXZpZ2F0aW9uIHNlY3Rpb24uXG4gICAqL1xuICBwdWJsaWMgY2xvc2UoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3N0YXRlICE9PSAnb3BlbmVkJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX3N0YXRlID0gJ2Nsb3NpbmcnO1xuICAgIHRoaXMuc3RhcnRVcGRhdGUoKTtcbiAgICB0aGlzLmluZXJ0ID0gdHJ1ZTtcbiAgICB0aGlzLl90cmlnZ2VyRWxlbWVudD8uc2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJywgJ2ZhbHNlJyk7XG5cbiAgICAvLyBJZiB0aGUgYW5pbWF0aW9uIGR1cmF0aW9uIGlzIHplcm8sIHRoZSBhbmltYXRpb25lbmQgZXZlbnQgaXMgbm90IGFsd2F5cyBmaXJlZCByZWxpYWJseS5cbiAgICAvLyBJbiB0aGlzIGNhc2Ugd2UgZGlyZWN0bHkgc2V0IHRoZSBgY2xvc2VkYCBzdGF0ZS5cbiAgICBpZiAodGhpcy5faXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKSkge1xuICAgICAgdGhpcy5faGFuZGxlQ2xvc2luZygpO1xuICAgIH1cbiAgfVxuXG4gIC8vIENoZWNrIGlmIHRoZSB0cmlnZ2VyIGlzIHZhbGlkIGFuZCBhdHRhY2ggY2xpY2sgZXZlbnQgbGlzdGVuZXJzLlxuICBwcml2YXRlIF9jb25maWd1cmVUcmlnZ2VyKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnRyaWdnZXIgPT09IHRoaXMuX3RyaWdnZXJFbGVtZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fdHJpZ2dlckFib3J0Q29udHJvbGxlcj8uYWJvcnQoKTtcbiAgICByZW1vdmVBcmlhT3ZlcmxheVRyaWdnZXJBdHRyaWJ1dGVzKHRoaXMuX3RyaWdnZXJFbGVtZW50KTtcbiAgICB0aGlzLl90cmlnZ2VyRWxlbWVudCA9IHRoaXMudHJpZ2dlcjtcblxuICAgIGlmICghdGhpcy5fdHJpZ2dlckVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBzZXRBcmlhT3ZlcmxheVRyaWdnZXJBdHRyaWJ1dGVzKHRoaXMuX3RyaWdnZXJFbGVtZW50LCAnbWVudScsIHRoaXMuaWQsIHRoaXMuX3N0YXRlKTtcbiAgICB0aGlzLl90cmlnZ2VyQWJvcnRDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICAgIGlmICh0aGlzLl9pc05hdmlnYXRpb25CdXR0b24odGhpcy5fdHJpZ2dlckVsZW1lbnQpKSB7XG4gICAgICB0aGlzLl90cmlnZ2VyRWxlbWVudC5jb25uZWN0ZWRTZWN0aW9uID0gdGhpcztcbiAgICB9XG4gICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB0aGlzLm9wZW4oKSwge1xuICAgICAgc2lnbmFsOiB0aGlzLl90cmlnZ2VyQWJvcnRDb250cm9sbGVyLnNpZ25hbCxcbiAgICB9KTtcbiAgICB0aGlzLl9maXJzdExldmVsTmF2aWdhdGlvbiA9IHRoaXMuX3RyaWdnZXJFbGVtZW50Py5jbG9zZXN0Py4oJ3NiYi1uYXZpZ2F0aW9uJyk7XG4gIH1cblxuICBwcml2YXRlIF9pc05hdmlnYXRpb25CdXR0b24odHJpZ2dlcjogSFRNTEVsZW1lbnQgfCBudWxsKTogdHJpZ2dlciBpcyBTYmJOYXZpZ2F0aW9uQnV0dG9uRWxlbWVudCB7XG4gICAgcmV0dXJuIHRyaWdnZXI/LmxvY2FsTmFtZSA9PT0gJ3NiYi1uYXZpZ2F0aW9uLWJ1dHRvbic7XG4gIH1cblxuICBwcml2YXRlIF9zZXROYXZpZ2F0aW9uSW5lcnQoaXNCZWxvd0xhcmdlOiBib29sZWFuID0gdGhpcy5faXNCZWxvd0xhcmdlKCkpOiB2b2lkIHtcbiAgICBjb25zdCBuYXZpZ2F0aW9uQ29udGVudCA9IHRoaXMuX2ZpcnN0TGV2ZWxOYXZpZ2F0aW9uPy5uYXZpZ2F0aW9uQ29udGVudDtcbiAgICBpZiAobmF2aWdhdGlvbkNvbnRlbnQpIHtcbiAgICAgIG5hdmlnYXRpb25Db250ZW50LmluZXJ0ID0gaXNCZWxvd0xhcmdlICYmIHRoaXMuX3N0YXRlICE9PSAnY2xvc2VkJztcbiAgICB9XG4gIH1cblxuICAvLyBJbiByYXJlIGNhc2VzIGl0IGNhbiBiZSB0aGF0IHRoZSBhbmltYXRpb25FbmQgZXZlbnQgaXMgdHJpZ2dlcmVkIHR3aWNlLlxuICAvLyBUbyBhdm9pZCBlbnRlcmluZyBhIGNvcnJ1cHQgc3RhdGUsIGV4aXQgd2hlbiBzdGF0ZSBpcyBub3QgZXhwZWN0ZWQuXG4gIHByaXZhdGUgX29uQW5pbWF0aW9uRW5kKGV2ZW50OiBBbmltYXRpb25FdmVudCk6IHZvaWQge1xuICAgIGlmIChldmVudC5hbmltYXRpb25OYW1lID09PSAnb3BlbicgJiYgdGhpcy5fc3RhdGUgPT09ICdvcGVuaW5nJykge1xuICAgICAgdGhpcy5faGFuZGxlT3BlbmluZygpO1xuICAgIH0gZWxzZSBpZiAoZXZlbnQuYW5pbWF0aW9uTmFtZSA9PT0gJ2Nsb3NlJyAmJiB0aGlzLl9zdGF0ZSA9PT0gJ2Nsb3NpbmcnKSB7XG4gICAgICB0aGlzLl9oYW5kbGVDbG9zaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfcmVzZXRMaXN0cygpOiB2b2lkIHtcbiAgICBBcnJheS5mcm9tKFxuICAgICAgdGhpcy5xdWVyeVNlbGVjdG9yQWxsPFNiYk5hdmlnYXRpb25CdXR0b25FbGVtZW50IHwgU2JiTmF2aWdhdGlvbkxpbmtFbGVtZW50PihcbiAgICAgICAgJ1tkYXRhLXNlY3Rpb24tYWN0aW9uXVtkYXRhLWFjdGlvbi1hY3RpdmVdJyxcbiAgICAgICkgPz8gW10sXG4gICAgKS5mb3JFYWNoKChhY3Rpb24pID0+IGFjdGlvbi5yZW1vdmVBdHRyaWJ1dGUoJ2RhdGEtYWN0aW9uLWFjdGl2ZScpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2F0dGFjaFdpbmRvd0V2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLl93aW5kb3dFdmVudHNDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB0aGlzLl9vbktleWRvd25FdmVudChldmVudCksIHtcbiAgICAgIHNpZ25hbDogdGhpcy5fd2luZG93RXZlbnRzQ29udHJvbGxlci5zaWduYWwsXG4gICAgfSk7XG5cbiAgICAvLyBDbG9zZSBuYXZpZ2F0aW9uIHNlY3Rpb24gb24gYWN0aW9uIGNsaWNrIG9yIHNiYi1uYXZpZ2F0aW9uLXNlY3Rpb24tY2xvc2UgY2xpY2tcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLl9oYW5kbGVOYXZpZ2F0aW9uU2VjdGlvbkNsb3NlLCB7XG4gICAgICBzaWduYWw6IHRoaXMuX3dpbmRvd0V2ZW50c0NvbnRyb2xsZXIuc2lnbmFsLFxuICAgIH0pO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgdGhlIGNsaWNrIHdhcyB0cmlnZ2VyZWQgb24gYW4gZWxlbWVudCB0aGF0IHNob3VsZCBjbG9zZSB0aGUgc2VjdGlvbi5cbiAgcHJpdmF0ZSBfaGFuZGxlTmF2aWdhdGlvblNlY3Rpb25DbG9zZSA9IChldmVudDogRXZlbnQpOiB2b2lkID0+IHtcbiAgICBpZiAoXG4gICAgICBldmVudFxuICAgICAgICAuY29tcG9zZWRQYXRoKClcbiAgICAgICAgLmZpbHRlcigoZWwpID0+IGVsIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpXG4gICAgICAgIC5zb21lKChlbCkgPT4gdGhpcy5faXNDbG9zZUVsZW1lbnQoZWwpKVxuICAgICkge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cbiAgfTtcblxuICBwcml2YXRlIF9pc0Nsb3NlRWxlbWVudChlbGVtZW50OiBIVE1MRWxlbWVudCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICBlbGVtZW50Lm5vZGVOYW1lID09PSAnQScgfHxcbiAgICAgICghZWxlbWVudC5oYXNBdHRyaWJ1dGUoJ2Rpc2FibGVkJykgJiZcbiAgICAgICAgKGVsZW1lbnQuaGFzQXR0cmlidXRlKCdzYmItbmF2aWdhdGlvbi1jbG9zZScpIHx8XG4gICAgICAgICAgZWxlbWVudC5oYXNBdHRyaWJ1dGUoJ3NiYi1uYXZpZ2F0aW9uLXNlY3Rpb24tY2xvc2UnKSkpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2lzQmVsb3dMYXJnZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNCcmVha3BvaW50KCd6ZXJvJywgJ2xhcmdlJykgPz8gZmFsc2U7XG4gIH1cblxuICAvLyBDbG9zZXMgdGhlIG5hdmlnYXRpb24gb24gXCJFc2NcIiBrZXkgcHJlc3NlZC5cbiAgcHJpdmF0ZSBfb25LZXlkb3duRXZlbnQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fc3RhdGUgPT09ICdvcGVuZWQnICYmIGV2ZW50LmtleSA9PT0gJ0VzY2FwZScpIHtcbiAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9jaGVja0FjdGl2ZUFjdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLnF1ZXJ5U2VsZWN0b3I8U2JiTmF2aWdhdGlvbkJ1dHRvbkVsZW1lbnQgfCBTYmJOYXZpZ2F0aW9uTGlua0VsZW1lbnQ+KFxuICAgICAgJzppcyhzYmItbmF2aWdhdGlvbi1idXR0b24sIHNiYi1uYXZpZ2F0aW9uLWxpbmspLnNiYi1hY3RpdmUnLFxuICAgICk/LnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1hY3Rpb24tYWN0aXZlJywgdHJ1ZSk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLnNsb3QgfHw9ICduYXZpZ2F0aW9uLXNlY3Rpb24nO1xuICAgIHRoaXMuaWQgfHw9IGBzYmItbmF2aWdhdGlvbi1zZWN0aW9uLSR7bmV4dElkKyt9YDtcbiAgICB0aGlzLl9zdGF0ZSB8fD0gJ2Nsb3NlZCc7XG4gICAgaWYgKHRoaXMuaGFzVXBkYXRlZCkge1xuICAgICAgdGhpcy5fY29uZmlndXJlVHJpZ2dlcigpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBkaXNjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50ID0gbnVsbDtcbiAgICB0aGlzLl90cmlnZ2VyQWJvcnRDb250cm9sbGVyPy5hYm9ydCgpO1xuICAgIHRoaXMuX3dpbmRvd0V2ZW50c0NvbnRyb2xsZXI/LmFib3J0KCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgcmVxdWVzdFVwZGF0ZShcbiAgICBuYW1lPzogUHJvcGVydHlLZXksXG4gICAgb2xkVmFsdWU/OiB1bmtub3duLFxuICAgIG9wdGlvbnM/OiBQcm9wZXJ0eURlY2xhcmF0aW9uLFxuICApOiB2b2lkIHtcbiAgICBzdXBlci5yZXF1ZXN0VXBkYXRlKG5hbWUsIG9sZFZhbHVlLCBvcHRpb25zKTtcblxuICAgIGlmICghaXNTZXJ2ZXIgJiYgKCFuYW1lIHx8IG5hbWUgPT09ICd0cmlnZ2VyJykgJiYgdGhpcy5oYXNVcGRhdGVkKSB7XG4gICAgICB0aGlzLl9jb25maWd1cmVUcmlnZ2VyKCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci5maXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpO1xuICAgIHRoaXMuX2NvbmZpZ3VyZVRyaWdnZXIoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1uYXZpZ2F0aW9uLXNlY3Rpb25fX2NvbnRhaW5lclwiPlxuICAgICAgICA8bmF2XG4gICAgICAgICAgQGFuaW1hdGlvbmVuZD0ke3RoaXMuX29uQW5pbWF0aW9uRW5kfVxuICAgICAgICAgIGNsYXNzPVwic2JiLW5hdmlnYXRpb24tc2VjdGlvblwiXG4gICAgICAgICAgYXJpYS1sYWJlbGxlZGJ5PSR7IXRoaXMuYWNjZXNzaWJpbGl0eUxhYmVsID8gJ3RpdGxlJyA6IG5vdGhpbmd9XG4gICAgICAgICAgYXJpYS1sYWJlbD0ke3RoaXMuYWNjZXNzaWJpbGl0eUxhYmVsID8gdGhpcy5hY2Nlc3NpYmlsaXR5TGFiZWwgOiBub3RoaW5nfVxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1uYXZpZ2F0aW9uLXNlY3Rpb25fX3dyYXBwZXJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYmItbmF2aWdhdGlvbi1zZWN0aW9uX19jb250ZW50XCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYmItbmF2aWdhdGlvbi1zZWN0aW9uX19oZWFkZXJcIj5cbiAgICAgICAgICAgICAgICA8IS0tIEJhY2sgYnV0dG9uIC0tPlxuICAgICAgICAgICAgICAgIDxzYmItdHJhbnNwYXJlbnQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICBpZD1cInNiYi1uYXZpZ2F0aW9uLXNlY3Rpb24tYmFjay1idXR0b25cIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzYmItbmF2aWdhdGlvbi1zZWN0aW9uX19iYWNrXCJcbiAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9JHt0aGlzLmFjY2Vzc2liaWxpdHlCYWNrTGFiZWwgfHwgaTE4bkdvQmFja1t0aGlzLl9sYW5ndWFnZS5jdXJyZW50XX1cbiAgICAgICAgICAgICAgICAgIG5lZ2F0aXZlXG4gICAgICAgICAgICAgICAgICBzaXplPVwibVwiXG4gICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgIGljb24tbmFtZT1cImNoZXZyb24tc21hbGwtbGVmdC1zbWFsbFwiXG4gICAgICAgICAgICAgICAgICBzYmItbmF2aWdhdGlvbi1zZWN0aW9uLWNsb3NlXG4gICAgICAgICAgICAgICAgPjwvc2JiLXRyYW5zcGFyZW50LWJ1dHRvbj5cblxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLW5hdmlnYXRpb24tc2VjdGlvbl9fdGl0bGVcIiBpZD1cInRpdGxlXCI+XG4gICAgICAgICAgICAgICAgICA8c2xvdCBuYW1lPVwidGl0bGVcIj4ke3RoaXMudGl0bGVDb250ZW50fTwvc2xvdD5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8c2xvdD48L3Nsb3Q+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uYXY+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItbmF2aWdhdGlvbi1zZWN0aW9uJzogU2JiTmF2aWdhdGlvblNlY3Rpb25FbGVtZW50O1xuICB9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
615
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1zZWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL25hdmlnYXRpb24vbmF2aWdhdGlvbi1zZWN0aW9uL25hdmlnYXRpb24tc2VjdGlvbi5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgaHRtbCxcbiAgaXNTZXJ2ZXIsXG4gIExpdEVsZW1lbnQsXG4gIG5vdGhpbmcsXG4gIHR5cGUgUHJvcGVydHlEZWNsYXJhdGlvbixcbiAgdHlwZSBQcm9wZXJ0eVZhbHVlcyxcbiAgdHlwZSBUZW1wbGF0ZVJlc3VsdCxcbn0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQsIHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQge1xuICBJU19GT0NVU0FCTEVfUVVFUlksXG4gIFNiYkZvY3VzVHJhcENvbnRyb2xsZXIsXG4gIHNiYklucHV0TW9kYWxpdHlEZXRlY3Rvcixcbn0gZnJvbSAnLi4vLi4vY29yZS9hMTF5LmpzJztcbmltcG9ydCB7XG4gIFNiYkxhbmd1YWdlQ29udHJvbGxlcixcbiAgU2JiTWVkaWFNYXRjaGVyQ29udHJvbGxlcixcbiAgU2JiTWVkaWFRdWVyeUJyZWFrcG9pbnRNZWRpdW1BbmRCZWxvdyxcbn0gZnJvbSAnLi4vLi4vY29yZS9jb250cm9sbGVycy5qcyc7XG5pbXBvcnQgeyBmb3JjZVR5cGUsIGlkUmVmZXJlbmNlLCBvbWl0RW1wdHlDb252ZXJ0ZXIgfSBmcm9tICcuLi8uLi9jb3JlL2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgaXNCcmVha3BvaW50LCBpc1plcm9BbmltYXRpb25EdXJhdGlvbiB9IGZyb20gJy4uLy4uL2NvcmUvZG9tLmpzJztcbmltcG9ydCB7IGkxOG5Hb0JhY2sgfSBmcm9tICcuLi8uLi9jb3JlL2kxOG4uanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJPcGVuZWRDbG9zZWRTdGF0ZSB9IGZyb20gJy4uLy4uL2NvcmUvaW50ZXJmYWNlcy5qcyc7XG5pbXBvcnQgeyBTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW4sIFNiYlVwZGF0ZVNjaGVkdWxlck1peGluIH0gZnJvbSAnLi4vLi4vY29yZS9taXhpbnMuanMnO1xuaW1wb3J0IHtcbiAgcmVtb3ZlQXJpYU92ZXJsYXlUcmlnZ2VyQXR0cmlidXRlcyxcbiAgc2V0QXJpYU92ZXJsYXlUcmlnZ2VyQXR0cmlidXRlcyxcbn0gZnJvbSAnLi4vLi4vY29yZS9vdmVybGF5LmpzJztcbmltcG9ydCB0eXBlIHsgU2JiTmF2aWdhdGlvbkJ1dHRvbkVsZW1lbnQgfSBmcm9tICcuLi9uYXZpZ2F0aW9uLWJ1dHRvbi5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYk5hdmlnYXRpb25MaW5rRWxlbWVudCB9IGZyb20gJy4uL25hdmlnYXRpb24tbGluay5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYk5hdmlnYXRpb25FbGVtZW50IH0gZnJvbSAnLi4vbmF2aWdhdGlvbi5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL25hdmlnYXRpb24tc2VjdGlvbi5zY3NzP2xpdCZpbmxpbmUnO1xuXG5pbXBvcnQgJy4uLy4uL2J1dHRvbi90cmFuc3BhcmVudC1idXR0b24uanMnO1xuaW1wb3J0ICcuLi8uLi9kaXZpZGVyLmpzJztcblxubGV0IG5leHRJZCA9IDA7XG5cbi8qKlxuICogSXQgY2FuIGJlIHVzZWQgYXMgYSBjb250YWluZXIgZm9yIGBzYmItbmF2aWdhdGlvbi1saXN0YCB3aXRoaW4gYSBgc2JiLW5hdmlnYXRpb25gLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGNvbnRlbnQgaW50byB0aGUgYHNiYi1uYXZpZ2F0aW9uLXNlY3Rpb25gLlxuICovXG5leHBvcnRcbkBjdXN0b21FbGVtZW50KCdzYmItbmF2aWdhdGlvbi1zZWN0aW9uJylcbmNsYXNzIFNiYk5hdmlnYXRpb25TZWN0aW9uRWxlbWVudCBleHRlbmRzIFNiYlVwZGF0ZVNjaGVkdWxlck1peGluKFxuICBTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW4oTGl0RWxlbWVudCksXG4pIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gc3R5bGU7XG5cbiAgLyoqXG4gICAqIFRoZSBsYWJlbCB0byBiZSBzaG93biBiZWZvcmUgdGhlIGFjdGlvbiBsaXN0LlxuICAgKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ3RpdGxlLWNvbnRlbnQnLCByZWZsZWN0OiB0cnVlLCBjb252ZXJ0ZXI6IG9taXRFbXB0eUNvbnZlcnRlciB9KVxuICBwdWJsaWMgYWNjZXNzb3IgdGl0bGVDb250ZW50OiBzdHJpbmcgPSAnJztcblxuICAvKipcbiAgICogVGhlIGVsZW1lbnQgdGhhdCB3aWxsIHRyaWdnZXIgdGhlIG5hdmlnYXRpb24gc2VjdGlvbi5cbiAgICpcbiAgICogRm9yIGF0dHJpYnV0ZSB1c2FnZSwgcHJvdmlkZSBhbiBpZCByZWZlcmVuY2UuXG4gICAqL1xuICBAaWRSZWZlcmVuY2UoKVxuICBAcHJvcGVydHkoKVxuICBwdWJsaWMgYWNjZXNzb3IgdHJpZ2dlcjogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcblxuICAvKipcbiAgICogVGhpcyB3aWxsIGJlIGZvcndhcmRlZCBhcyBhcmlhLWxhYmVsIHRvIHRoZSBuYXYgZWxlbWVudCBhbmQgaXMgcmVhZCBhcyBhIHRpdGxlIG9mIHRoZSBuYXZpZ2F0aW9uLXNlY3Rpb24uXG4gICAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnYWNjZXNzaWJpbGl0eS1sYWJlbCcgfSlcbiAgcHVibGljIGFjY2Vzc29yIGFjY2Vzc2liaWxpdHlMYWJlbDogc3RyaW5nID0gJyc7XG5cbiAgLyoqXG4gICAqIFRoaXMgd2lsbCBiZSBmb3J3YXJkZWQgYXMgYXJpYS1sYWJlbCB0byB0aGUgYmFjayBidXR0b24gZWxlbWVudC5cbiAgICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdhY2Nlc3NpYmlsaXR5LWJhY2stbGFiZWwnIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBhY2Nlc3NpYmlsaXR5QmFja0xhYmVsOiBzdHJpbmcgPSAnJztcblxuICAvKipcbiAgICogVGhlIHN0YXRlIG9mIHRoZSBuYXZpZ2F0aW9uIHNlY3Rpb24uXG4gICAqL1xuICBwcml2YXRlIHNldCBfc3RhdGUoc3RhdGU6IFNiYk9wZW5lZENsb3NlZFN0YXRlKSB7XG4gICAgdGhpcy5zZXRBdHRyaWJ1dGUoJ2RhdGEtc3RhdGUnLCBzdGF0ZSk7XG4gICAgdGhpcy5hcmlhSGlkZGVuID0gdGhpcy5fc3RhdGUgIT09ICdvcGVuZWQnID8gJ3RydWUnIDogbnVsbDtcbiAgfVxuICBwcml2YXRlIGdldCBfc3RhdGUoKTogU2JiT3BlbmVkQ2xvc2VkU3RhdGUge1xuICAgIHJldHVybiB0aGlzLmdldEF0dHJpYnV0ZSgnZGF0YS1zdGF0ZScpIGFzIFNiYk9wZW5lZENsb3NlZFN0YXRlO1xuICB9XG5cbiAgcHJpdmF0ZSBfZmlyc3RMZXZlbE5hdmlnYXRpb24/OiBTYmJOYXZpZ2F0aW9uRWxlbWVudCB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF90cmlnZ2VyRWxlbWVudDogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBfdHJpZ2dlckFib3J0Q29udHJvbGxlciE6IEFib3J0Q29udHJvbGxlcjtcbiAgcHJpdmF0ZSBfd2luZG93RXZlbnRzQ29udHJvbGxlciE6IEFib3J0Q29udHJvbGxlcjtcbiAgcHJpdmF0ZSBfbGFuZ3VhZ2UgPSBuZXcgU2JiTGFuZ3VhZ2VDb250cm9sbGVyKHRoaXMpO1xuICBwcml2YXRlIF9mb2N1c1RyYXBDb250cm9sbGVyID0gbmV3IFNiYkZvY3VzVHJhcENvbnRyb2xsZXIodGhpcyk7XG4gIHByaXZhdGUgX2xhc3RLZXlkb3duRXZlbnQ6IEtleWJvYXJkRXZlbnQgfCBudWxsID0gbnVsbDtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIHRoaXMuYWRkQ29udHJvbGxlcihcbiAgICAgIG5ldyBTYmJNZWRpYU1hdGNoZXJDb250cm9sbGVyKHRoaXMsIHtcbiAgICAgICAgW1NiYk1lZGlhUXVlcnlCcmVha3BvaW50TWVkaXVtQW5kQmVsb3ddOiAobWF0Y2hlcykgPT4ge1xuICAgICAgICAgIGlmICh0aGlzLl9zdGF0ZSAhPT0gJ2Nsb3NlZCcpIHtcbiAgICAgICAgICAgIHRoaXMuX3NldE5hdmlnYXRpb25JbmVydChtYXRjaGVzKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICB9KSxcbiAgICApO1xuXG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ2tleWRvd24nLCAoZSkgPT4ge1xuICAgICAgdGhpcy5fbGFzdEtleWRvd25FdmVudCA9IGU7XG4gICAgfSk7XG5cbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LignZm9jdXNvdXQnLCAoZSkgPT4ge1xuICAgICAgaWYgKFxuICAgICAgICBlLnJlbGF0ZWRUYXJnZXQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCAmJlxuICAgICAgICAhdGhpcy5jb250YWlucyhlLnJlbGF0ZWRUYXJnZXQpICYmXG4gICAgICAgIHNiYklucHV0TW9kYWxpdHlEZXRlY3Rvci5tb3N0UmVjZW50TW9kYWxpdHkgPT09ICdrZXlib2FyZCcgJiZcbiAgICAgICAgdGhpcy5fbGFzdEtleWRvd25FdmVudD8ua2V5ID09PSAnVGFiJyAmJlxuICAgICAgICB0aGlzLl90cmlnZ2VyRWxlbWVudFxuICAgICAgKSB7XG4gICAgICAgIGNvbnN0IG5hdmlnYXRpb25FbGVtZW50ID0gdGhpcy5jbG9zZXN0PFNiYk5hdmlnYXRpb25FbGVtZW50Pignc2JiLW5hdmlnYXRpb24nKTtcbiAgICAgICAgY29uc3QgZm9jdXNhYmxlRWxlbWVudHMgPSBBcnJheS5mcm9tKFxuICAgICAgICAgIG5hdmlnYXRpb25FbGVtZW50Py5xdWVyeVNlbGVjdG9yQWxsPEhUTUxFbGVtZW50PihJU19GT0NVU0FCTEVfUVVFUlkpID8/IFtdLFxuICAgICAgICApLmZpbHRlcigoZSkgPT4gIXRoaXMuY29udGFpbnMoZSkpO1xuXG4gICAgICAgIGlmICh0aGlzLl9sYXN0S2V5ZG93bkV2ZW50LnNoaWZ0S2V5IHx8ICFmb2N1c2FibGVFbGVtZW50cy5sZW5ndGgpIHtcbiAgICAgICAgICB0aGlzLl90cmlnZ2VyRWxlbWVudD8uZm9jdXMoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zdCB0cmlnZ2VySW5kZXggPSBmb2N1c2FibGVFbGVtZW50cy5pbmRleE9mKHRoaXMuX3RyaWdnZXJFbGVtZW50KTtcbiAgICAgICAgICAoZm9jdXNhYmxlRWxlbWVudHNbdHJpZ2dlckluZGV4ICsgMV0gPz8gbmF2aWdhdGlvbkVsZW1lbnQhLmNsb3NlQnV0dG9uKT8uZm9jdXMoKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIE9wZW5zIHRoZSBuYXZpZ2F0aW9uIHNlY3Rpb24gb24gdHJpZ2dlciBjbGljay5cbiAgICovXG4gIHB1YmxpYyBvcGVuKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9zdGF0ZSAhPT0gJ2Nsb3NlZCcgfHwgIXRoaXMuaGFzVXBkYXRlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl9pc05hdmlnYXRpb25CdXR0b24odGhpcy5fdHJpZ2dlckVsZW1lbnQpKSB7XG4gICAgICB0aGlzLl90cmlnZ2VyRWxlbWVudD8ubWFya2VyPy5zZWxlY3QodGhpcy5fdHJpZ2dlckVsZW1lbnQpO1xuICAgIH1cblxuICAgIHRoaXMuX2Nsb3NlUHJldmlvdXNOYXZpZ2F0aW9uU2VjdGlvbigpO1xuICAgIHRoaXMuX3N0YXRlID0gJ29wZW5pbmcnO1xuICAgIHRoaXMuc3RhcnRVcGRhdGUoKTtcbiAgICB0aGlzLmluZXJ0ID0gdHJ1ZTtcbiAgICB0aGlzLl90cmlnZ2VyRWxlbWVudD8uc2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJywgJ3RydWUnKTtcblxuICAgIC8vIElmIHRoZSBhbmltYXRpb24gZHVyYXRpb24gaXMgemVybywgdGhlIGFuaW1hdGlvbmVuZCBldmVudCBpcyBub3QgYWx3YXlzIGZpcmVkIHJlbGlhYmx5LlxuICAgIC8vIEluIHRoaXMgY2FzZSB3ZSBkaXJlY3RseSBzZXQgdGhlIGBvcGVuZWRgIHN0YXRlLlxuICAgIGlmICh0aGlzLl9pc1plcm9BbmltYXRpb25EdXJhdGlvbigpKSB7XG4gICAgICB0aGlzLl9oYW5kbGVPcGVuaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKHRoaXMsICctLXNiYi1uYXZpZ2F0aW9uLXNlY3Rpb24tYW5pbWF0aW9uLWR1cmF0aW9uJyk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVPcGVuaW5nKCk6IHZvaWQge1xuICAgIHRoaXMuX3N0YXRlID0gJ29wZW5lZCc7XG4gICAgdGhpcy5pbmVydCA9IGZhbHNlO1xuICAgIHRoaXMuX2F0dGFjaFdpbmRvd0V2ZW50cygpO1xuICAgIHRoaXMuX3NldE5hdmlnYXRpb25JbmVydCgpO1xuICAgIHRoaXMuX2ZvY3VzVHJhcENvbnRyb2xsZXIuZm9jdXNJbml0aWFsRWxlbWVudCgpO1xuICAgIHRoaXMuX2NoZWNrQWN0aXZlQWN0aW9uKCk7XG4gICAgdGhpcy5jb21wbGV0ZVVwZGF0ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlQ2xvc2luZygpOiB2b2lkIHtcbiAgICB0aGlzLl9zdGF0ZSA9ICdjbG9zZWQnO1xuICAgIHRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcignLnNiYi1uYXZpZ2F0aW9uLXNlY3Rpb25fX2NvbnRhaW5lcicpPy5zY3JvbGxUbygwLCAwKTtcbiAgICB0aGlzLl93aW5kb3dFdmVudHNDb250cm9sbGVyPy5hYm9ydCgpO1xuICAgIHRoaXMuX3Jlc2V0TGlzdHMoKTtcbiAgICB0aGlzLl9zZXROYXZpZ2F0aW9uSW5lcnQoKTtcbiAgICBpZiAodGhpcy5faXNCZWxvd0xhcmdlKCkgJiYgdGhpcy5fdHJpZ2dlckVsZW1lbnQpIHtcbiAgICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuICAgIHRoaXMuY29tcGxldGVVcGRhdGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2Nsb3NlUHJldmlvdXNOYXZpZ2F0aW9uU2VjdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLl9maXJzdExldmVsTmF2aWdhdGlvbj8uYWN0aXZlTmF2aWdhdGlvblNlY3Rpb24/LmNsb3NlKCk7XG4gIH1cblxuICAvKipcbiAgICogQ2xvc2VzIHRoZSBuYXZpZ2F0aW9uIHNlY3Rpb24uXG4gICAqL1xuICBwdWJsaWMgY2xvc2UoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3N0YXRlICE9PSAnb3BlbmVkJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX3N0YXRlID0gJ2Nsb3NpbmcnO1xuICAgIHRoaXMuc3RhcnRVcGRhdGUoKTtcbiAgICB0aGlzLmluZXJ0ID0gdHJ1ZTtcbiAgICB0aGlzLl90cmlnZ2VyRWxlbWVudD8uc2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJywgJ2ZhbHNlJyk7XG5cbiAgICAvLyBJZiB0aGUgYW5pbWF0aW9uIGR1cmF0aW9uIGlzIHplcm8sIHRoZSBhbmltYXRpb25lbmQgZXZlbnQgaXMgbm90IGFsd2F5cyBmaXJlZCByZWxpYWJseS5cbiAgICAvLyBJbiB0aGlzIGNhc2Ugd2UgZGlyZWN0bHkgc2V0IHRoZSBgY2xvc2VkYCBzdGF0ZS5cbiAgICBpZiAodGhpcy5faXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKSkge1xuICAgICAgdGhpcy5faGFuZGxlQ2xvc2luZygpO1xuICAgIH1cbiAgfVxuXG4gIC8vIENoZWNrIGlmIHRoZSB0cmlnZ2VyIGlzIHZhbGlkIGFuZCBhdHRhY2ggY2xpY2sgZXZlbnQgbGlzdGVuZXJzLlxuICBwcml2YXRlIF9jb25maWd1cmVUcmlnZ2VyKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnRyaWdnZXIgPT09IHRoaXMuX3RyaWdnZXJFbGVtZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fdHJpZ2dlckFib3J0Q29udHJvbGxlcj8uYWJvcnQoKTtcbiAgICByZW1vdmVBcmlhT3ZlcmxheVRyaWdnZXJBdHRyaWJ1dGVzKHRoaXMuX3RyaWdnZXJFbGVtZW50KTtcbiAgICB0aGlzLl90cmlnZ2VyRWxlbWVudCA9IHRoaXMudHJpZ2dlcjtcblxuICAgIGlmICghdGhpcy5fdHJpZ2dlckVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBzZXRBcmlhT3ZlcmxheVRyaWdnZXJBdHRyaWJ1dGVzKHRoaXMuX3RyaWdnZXJFbGVtZW50LCAnbWVudScsIHRoaXMuaWQsIHRoaXMuX3N0YXRlKTtcbiAgICB0aGlzLl90cmlnZ2VyQWJvcnRDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICAgIGlmICh0aGlzLl9pc05hdmlnYXRpb25CdXR0b24odGhpcy5fdHJpZ2dlckVsZW1lbnQpKSB7XG4gICAgICB0aGlzLl90cmlnZ2VyRWxlbWVudC5jb25uZWN0ZWRTZWN0aW9uID0gdGhpcztcbiAgICB9XG4gICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB0aGlzLm9wZW4oKSwge1xuICAgICAgc2lnbmFsOiB0aGlzLl90cmlnZ2VyQWJvcnRDb250cm9sbGVyLnNpZ25hbCxcbiAgICB9KTtcbiAgICB0aGlzLl9maXJzdExldmVsTmF2aWdhdGlvbiA9IHRoaXMuX3RyaWdnZXJFbGVtZW50Py5jbG9zZXN0Py4oJ3NiYi1uYXZpZ2F0aW9uJyk7XG4gIH1cblxuICBwcml2YXRlIF9pc05hdmlnYXRpb25CdXR0b24odHJpZ2dlcjogSFRNTEVsZW1lbnQgfCBudWxsKTogdHJpZ2dlciBpcyBTYmJOYXZpZ2F0aW9uQnV0dG9uRWxlbWVudCB7XG4gICAgcmV0dXJuIHRyaWdnZXI/LmxvY2FsTmFtZSA9PT0gJ3NiYi1uYXZpZ2F0aW9uLWJ1dHRvbic7XG4gIH1cblxuICBwcml2YXRlIF9zZXROYXZpZ2F0aW9uSW5lcnQoaXNCZWxvd0xhcmdlOiBib29sZWFuID0gdGhpcy5faXNCZWxvd0xhcmdlKCkpOiB2b2lkIHtcbiAgICBjb25zdCBuYXZpZ2F0aW9uQ29udGVudCA9IHRoaXMuX2ZpcnN0TGV2ZWxOYXZpZ2F0aW9uPy5uYXZpZ2F0aW9uQ29udGVudDtcbiAgICBpZiAobmF2aWdhdGlvbkNvbnRlbnQpIHtcbiAgICAgIG5hdmlnYXRpb25Db250ZW50LmluZXJ0ID0gaXNCZWxvd0xhcmdlICYmIHRoaXMuX3N0YXRlICE9PSAnY2xvc2VkJztcbiAgICB9XG4gIH1cblxuICAvLyBJbiByYXJlIGNhc2VzIGl0IGNhbiBiZSB0aGF0IHRoZSBhbmltYXRpb25FbmQgZXZlbnQgaXMgdHJpZ2dlcmVkIHR3aWNlLlxuICAvLyBUbyBhdm9pZCBlbnRlcmluZyBhIGNvcnJ1cHQgc3RhdGUsIGV4aXQgd2hlbiBzdGF0ZSBpcyBub3QgZXhwZWN0ZWQuXG4gIHByaXZhdGUgX29uQW5pbWF0aW9uRW5kKGV2ZW50OiBBbmltYXRpb25FdmVudCk6IHZvaWQge1xuICAgIGlmIChldmVudC5hbmltYXRpb25OYW1lID09PSAnb3BlbicgJiYgdGhpcy5fc3RhdGUgPT09ICdvcGVuaW5nJykge1xuICAgICAgdGhpcy5faGFuZGxlT3BlbmluZygpO1xuICAgIH0gZWxzZSBpZiAoZXZlbnQuYW5pbWF0aW9uTmFtZSA9PT0gJ2Nsb3NlJyAmJiB0aGlzLl9zdGF0ZSA9PT0gJ2Nsb3NpbmcnKSB7XG4gICAgICB0aGlzLl9oYW5kbGVDbG9zaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfcmVzZXRMaXN0cygpOiB2b2lkIHtcbiAgICBBcnJheS5mcm9tKFxuICAgICAgdGhpcy5xdWVyeVNlbGVjdG9yQWxsPFNiYk5hdmlnYXRpb25CdXR0b25FbGVtZW50IHwgU2JiTmF2aWdhdGlvbkxpbmtFbGVtZW50PihcbiAgICAgICAgJ1tkYXRhLXNlY3Rpb24tYWN0aW9uXVtkYXRhLWFjdGlvbi1hY3RpdmVdJyxcbiAgICAgICkgPz8gW10sXG4gICAgKS5mb3JFYWNoKChhY3Rpb24pID0+IGFjdGlvbi5yZW1vdmVBdHRyaWJ1dGUoJ2RhdGEtYWN0aW9uLWFjdGl2ZScpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2F0dGFjaFdpbmRvd0V2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLl93aW5kb3dFdmVudHNDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB0aGlzLl9vbktleWRvd25FdmVudChldmVudCksIHtcbiAgICAgIHNpZ25hbDogdGhpcy5fd2luZG93RXZlbnRzQ29udHJvbGxlci5zaWduYWwsXG4gICAgfSk7XG5cbiAgICAvLyBDbG9zZSBuYXZpZ2F0aW9uIHNlY3Rpb24gb24gYWN0aW9uIGNsaWNrIG9yIHNiYi1uYXZpZ2F0aW9uLXNlY3Rpb24tY2xvc2UgY2xpY2tcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLl9oYW5kbGVOYXZpZ2F0aW9uU2VjdGlvbkNsb3NlLCB7XG4gICAgICBzaWduYWw6IHRoaXMuX3dpbmRvd0V2ZW50c0NvbnRyb2xsZXIuc2lnbmFsLFxuICAgIH0pO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgdGhlIGNsaWNrIHdhcyB0cmlnZ2VyZWQgb24gYW4gZWxlbWVudCB0aGF0IHNob3VsZCBjbG9zZSB0aGUgc2VjdGlvbi5cbiAgcHJpdmF0ZSBfaGFuZGxlTmF2aWdhdGlvblNlY3Rpb25DbG9zZSA9IChldmVudDogRXZlbnQpOiB2b2lkID0+IHtcbiAgICBpZiAoXG4gICAgICBldmVudFxuICAgICAgICAuY29tcG9zZWRQYXRoKClcbiAgICAgICAgLmZpbHRlcigoZWwpID0+IGVsIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpXG4gICAgICAgIC5zb21lKChlbCkgPT4gdGhpcy5faXNDbG9zZUVsZW1lbnQoZWwpKVxuICAgICkge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cbiAgfTtcblxuICBwcml2YXRlIF9pc0Nsb3NlRWxlbWVudChlbGVtZW50OiBIVE1MRWxlbWVudCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICBlbGVtZW50Lm5vZGVOYW1lID09PSAnQScgfHxcbiAgICAgICghZWxlbWVudC5oYXNBdHRyaWJ1dGUoJ2Rpc2FibGVkJykgJiZcbiAgICAgICAgKGVsZW1lbnQuaGFzQXR0cmlidXRlKCdzYmItbmF2aWdhdGlvbi1jbG9zZScpIHx8XG4gICAgICAgICAgZWxlbWVudC5oYXNBdHRyaWJ1dGUoJ3NiYi1uYXZpZ2F0aW9uLXNlY3Rpb24tY2xvc2UnKSkpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2lzQmVsb3dMYXJnZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNCcmVha3BvaW50KCd6ZXJvJywgJ2xhcmdlJykgPz8gZmFsc2U7XG4gIH1cblxuICAvLyBDbG9zZXMgdGhlIG5hdmlnYXRpb24gb24gXCJFc2NcIiBrZXkgcHJlc3NlZC5cbiAgcHJpdmF0ZSBfb25LZXlkb3duRXZlbnQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fc3RhdGUgPT09ICdvcGVuZWQnICYmIGV2ZW50LmtleSA9PT0gJ0VzY2FwZScpIHtcbiAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9jaGVja0FjdGl2ZUFjdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLnF1ZXJ5U2VsZWN0b3I8U2JiTmF2aWdhdGlvbkJ1dHRvbkVsZW1lbnQgfCBTYmJOYXZpZ2F0aW9uTGlua0VsZW1lbnQ+KFxuICAgICAgJzppcyhzYmItbmF2aWdhdGlvbi1idXR0b24sIHNiYi1uYXZpZ2F0aW9uLWxpbmspLnNiYi1hY3RpdmUnLFxuICAgICk/LnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1hY3Rpb24tYWN0aXZlJywgdHJ1ZSk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLnNsb3QgfHw9ICduYXZpZ2F0aW9uLXNlY3Rpb24nO1xuICAgIHRoaXMuaWQgfHw9IGBzYmItbmF2aWdhdGlvbi1zZWN0aW9uLSR7bmV4dElkKyt9YDtcbiAgICB0aGlzLl9zdGF0ZSB8fD0gJ2Nsb3NlZCc7XG4gICAgaWYgKHRoaXMuaGFzVXBkYXRlZCkge1xuICAgICAgdGhpcy5fY29uZmlndXJlVHJpZ2dlcigpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBkaXNjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50ID0gbnVsbDtcbiAgICB0aGlzLl90cmlnZ2VyQWJvcnRDb250cm9sbGVyPy5hYm9ydCgpO1xuICAgIHRoaXMuX3dpbmRvd0V2ZW50c0NvbnRyb2xsZXI/LmFib3J0KCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgcmVxdWVzdFVwZGF0ZShcbiAgICBuYW1lPzogUHJvcGVydHlLZXksXG4gICAgb2xkVmFsdWU/OiB1bmtub3duLFxuICAgIG9wdGlvbnM/OiBQcm9wZXJ0eURlY2xhcmF0aW9uLFxuICApOiB2b2lkIHtcbiAgICBzdXBlci5yZXF1ZXN0VXBkYXRlKG5hbWUsIG9sZFZhbHVlLCBvcHRpb25zKTtcblxuICAgIGlmICghaXNTZXJ2ZXIgJiYgKCFuYW1lIHx8IG5hbWUgPT09ICd0cmlnZ2VyJykgJiYgdGhpcy5oYXNVcGRhdGVkKSB7XG4gICAgICB0aGlzLl9jb25maWd1cmVUcmlnZ2VyKCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci5maXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpO1xuICAgIHRoaXMuX2NvbmZpZ3VyZVRyaWdnZXIoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1uYXZpZ2F0aW9uLXNlY3Rpb25fX2NvbnRhaW5lclwiPlxuICAgICAgICA8bmF2XG4gICAgICAgICAgQGFuaW1hdGlvbmVuZD0ke3RoaXMuX29uQW5pbWF0aW9uRW5kfVxuICAgICAgICAgIGNsYXNzPVwic2JiLW5hdmlnYXRpb24tc2VjdGlvblwiXG4gICAgICAgICAgYXJpYS1sYWJlbGxlZGJ5PSR7IXRoaXMuYWNjZXNzaWJpbGl0eUxhYmVsID8gJ3RpdGxlJyA6IG5vdGhpbmd9XG4gICAgICAgICAgYXJpYS1sYWJlbD0ke3RoaXMuYWNjZXNzaWJpbGl0eUxhYmVsID8gdGhpcy5hY2Nlc3NpYmlsaXR5TGFiZWwgOiBub3RoaW5nfVxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1uYXZpZ2F0aW9uLXNlY3Rpb25fX3dyYXBwZXJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYmItbmF2aWdhdGlvbi1zZWN0aW9uX19jb250ZW50XCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYmItbmF2aWdhdGlvbi1zZWN0aW9uX19oZWFkZXJcIj5cbiAgICAgICAgICAgICAgICA8IS0tIEJhY2sgYnV0dG9uIC0tPlxuICAgICAgICAgICAgICAgIDxzYmItdHJhbnNwYXJlbnQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICBpZD1cInNiYi1uYXZpZ2F0aW9uLXNlY3Rpb24tYmFjay1idXR0b25cIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzYmItbmF2aWdhdGlvbi1zZWN0aW9uX19iYWNrXCJcbiAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9JHt0aGlzLmFjY2Vzc2liaWxpdHlCYWNrTGFiZWwgfHwgaTE4bkdvQmFja1t0aGlzLl9sYW5ndWFnZS5jdXJyZW50XX1cbiAgICAgICAgICAgICAgICAgIG5lZ2F0aXZlXG4gICAgICAgICAgICAgICAgICBzaXplPVwibVwiXG4gICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgIGljb24tbmFtZT1cImNoZXZyb24tc21hbGwtbGVmdC1zbWFsbFwiXG4gICAgICAgICAgICAgICAgICBzYmItbmF2aWdhdGlvbi1zZWN0aW9uLWNsb3NlXG4gICAgICAgICAgICAgICAgPjwvc2JiLXRyYW5zcGFyZW50LWJ1dHRvbj5cblxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLW5hdmlnYXRpb24tc2VjdGlvbl9fdGl0bGVcIiBpZD1cInRpdGxlXCI+XG4gICAgICAgICAgICAgICAgICA8c2xvdCBuYW1lPVwidGl0bGVcIj4ke3RoaXMudGl0bGVDb250ZW50fTwvc2xvdD5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8c2xvdD48L3Nsb3Q+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uYXY+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItbmF2aWdhdGlvbi1zZWN0aW9uJzogU2JiTmF2aWdhdGlvblNlY3Rpb25FbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOlsiZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXdDQSxJQUFJLFNBQVM7SUFTUCwrQkFBMkIsTUFBQTs7MEJBRGhDLGNBQWMsd0JBQXdCLENBQUM7Ozs7QUFDRSxNQUFBLGNBQUEsd0JBQ3hDLHlCQUF5QixVQUFVLENBQUM7Ozs7Ozs7Ozs7Ozs7QUFESixFQUFBLG1CQUFRLFlBRXpDO0FBQUEsSUFvREMsY0FBQTtBQUNFLFlBQUE7QUE3Q0Y7QUFTQTtBQU9BO0FBT0E7QUF2QmdCLHlCQUFBLGdDQUFBLGtCQUFBLE1BQUEsNEJBQXVCLEVBQUU7QUFTekIseUJBQUEsNEJBQUEsa0JBQUEsTUFBQSwrQkFBQSxHQUFBLGtCQUFBLE1BQUEsdUJBQThCLElBQUk7QUFPbEMseUJBQUEsdUNBQUEsa0JBQUEsTUFBQSwwQkFBQSxHQUFBLGtCQUFBLE1BQUEsa0NBQTZCLEVBQUU7QUFPL0IseUJBQUEsMkNBQUEsa0JBQUEsTUFBQSxxQ0FBQSxHQUFBLGtCQUFBLE1BQUEsc0NBQWlDLEVBQUU7QUFhM0MsV0FBQSx5QkFBcUIsa0JBQUEsTUFBQSx5Q0FBQSxHQUFpQztBQUN0RCxXQUFBLGtCQUFzQztBQUd0QyxXQUFBLFlBQVksSUFBSSxzQkFBc0IsSUFBSTtBQUMxQyxXQUFBLHVCQUF1QixJQUFJLHVCQUF1QixJQUFJO0FBQ3RELFdBQUEsb0JBQTBDO0FBd0wxQyxXQUFBLGdDQUFnQyxDQUFDLFVBQXNCO0FBQzdELFlBQ0UsTUFDRyxhQUFBLEVBQ0EsT0FBTyxDQUFDLE9BQU8sY0FBYyxXQUFXLEVBQ3hDLEtBQUssQ0FBQyxPQUFPLEtBQUssZ0JBQWdCLEVBQUUsQ0FBQyxHQUN4QztBQUNBLGVBQUssTUFBQTtBQUFBLFFBQUs7QUFBQSxNQUNaO0FBM0xBLFdBQUssY0FDSCxJQUFJLDBCQUEwQixNQUFNO0FBQUEsUUFDbEMsQ0FBQyxxQ0FBcUMsR0FBRyxDQUFDLFlBQVc7QUFDbkQsY0FBSSxLQUFLLFdBQVcsVUFBVTtBQUM1QixpQkFBSyxvQkFBb0IsT0FBTztBQUFBLFVBQUE7QUFBQSxRQUNsQztBQUFBLE1BQ0YsQ0FDRCxDQUFDO0FBR0osV0FBSyxtQkFBbUIsV0FBVyxDQUFDLE1BQUs7QUFDdkMsYUFBSyxvQkFBb0I7QUFBQSxNQUFBLENBQzFCO0FBRUQsV0FBSyxtQkFBbUIsWUFBWSxDQUFDLE1BQUs7QUFDeEMsWUFDRSxFQUFFLHlCQUF5QixlQUMzQixDQUFDLEtBQUssU0FBUyxFQUFFLGFBQWEsS0FDOUIseUJBQXlCLHVCQUF1QixjQUNoRCxLQUFLLG1CQUFtQixRQUFRLFNBQ2hDLEtBQUssaUJBQ0w7QUFDQSxnQkFBTSxvQkFBb0IsS0FBSyxRQUE4QixnQkFBZ0I7QUFDN0UsZ0JBQU0sb0JBQW9CLE1BQU0sS0FDOUIsbUJBQW1CLGlCQUE4QixrQkFBa0IsS0FBSyxDQUFBLENBQUUsRUFDMUUsT0FBTyxDQUFDQSxPQUFNLENBQUMsS0FBSyxTQUFTQSxFQUFDLENBQUM7QUFFakMsY0FBSSxLQUFLLGtCQUFrQixZQUFZLENBQUMsa0JBQWtCLFFBQVE7QUFDaEUsaUJBQUssaUJBQWlCLE1BQUE7QUFBQSxpQkFDakI7QUFDTCxrQkFBTSxlQUFlLGtCQUFrQixRQUFRLEtBQUssZUFBZTtBQUNuRSxhQUFDLGtCQUFrQixlQUFlLENBQUMsS0FBSyxrQkFBbUIsY0FBYyxNQUFBO0FBQUE7UUFDM0U7QUFBQSxNQUNGLENBQ0Q7QUFBQSxJQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsSUFqRkgsSUFBZ0IsZUFBWTtBQUFBLGFBQUEsbUJBQUE7QUFBQSxJQUFBO0FBQUEsSUFBNUIsSUFBZ0IsYUFBWSxPQUFBO0FBQUEseUJBQUEsZ0NBQUE7QUFBQSxJQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLElBUzVCLElBQWdCLFVBQU87QUFBQSxhQUFBLG1CQUFBO0FBQUEsSUFBQTtBQUFBLElBQXZCLElBQWdCLFFBQU8sT0FBQTtBQUFBLHlCQUFBLDJCQUFBO0FBQUEsSUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLElBT3ZCLElBQWdCLHFCQUFrQjtBQUFBLGFBQUEsbUJBQUE7QUFBQSxJQUFBO0FBQUEsSUFBbEMsSUFBZ0IsbUJBQWtCLE9BQUE7QUFBQSx5QkFBQSxzQ0FBQTtBQUFBLElBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxJQU9sQyxJQUFnQix5QkFBc0I7QUFBQSxhQUFBLG1CQUFBO0FBQUEsSUFBQTtBQUFBLElBQXRDLElBQWdCLHVCQUFzQixPQUFBO0FBQUEseUJBQUEsMENBQUE7QUFBQSxJQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsSUFLdEMsSUFBWSxPQUFPLE9BQTJCO0FBQzVDLFdBQUssYUFBYSxjQUFjLEtBQUs7QUFDckMsV0FBSyxhQUFhLEtBQUssV0FBVyxXQUFXLFNBQVM7QUFBQSxJQUFBO0FBQUEsSUFFeEQsSUFBWSxTQUFNO0FBQ2hCLGFBQU8sS0FBSyxhQUFhLFlBQVk7QUFBQSxJQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsSUFzRGhDLE9BQUk7QUFDVCxVQUFJLEtBQUssV0FBVyxZQUFZLENBQUMsS0FBSyxZQUFZO0FBQ2hEO0FBQUEsTUFBQTtBQUdGLFVBQUksS0FBSyxvQkFBb0IsS0FBSyxlQUFlLEdBQUc7QUFDbEQsYUFBSyxpQkFBaUIsUUFBUSxPQUFPLEtBQUssZUFBZTtBQUFBLE1BQUE7QUFHM0QsV0FBSyxnQ0FBQTtBQUNMLFdBQUssU0FBUztBQUNkLFdBQUssWUFBQTtBQUNMLFdBQUssUUFBUTtBQUNiLFdBQUssaUJBQWlCLGFBQWEsaUJBQWlCLE1BQU07QUFJMUQsVUFBSSxLQUFLLDRCQUE0QjtBQUNuQyxhQUFLLGVBQUE7QUFBQSxNQUFjO0FBQUEsSUFDckI7QUFBQSxJQUdNLDJCQUF3QjtBQUM5QixhQUFPLHdCQUF3QixNQUFNLDZDQUE2QztBQUFBLElBQUE7QUFBQSxJQUc1RSxpQkFBYztBQUNwQixXQUFLLFNBQVM7QUFDZCxXQUFLLFFBQVE7QUFDYixXQUFLLG9CQUFBO0FBQ0wsV0FBSyxvQkFBQTtBQUNMLFdBQUsscUJBQXFCLG9CQUFBO0FBQzFCLFdBQUssbUJBQUE7QUFDTCxXQUFLLGVBQUE7QUFBQSxJQUFjO0FBQUEsSUFHYixpQkFBYztBQUNwQixXQUFLLFNBQVM7QUFDZCxXQUFLLFlBQVksY0FBYyxvQ0FBb0MsR0FBRyxTQUFTLEdBQUcsQ0FBQztBQUNuRixXQUFLLHlCQUF5QixNQUFBO0FBQzlCLFdBQUssWUFBQTtBQUNMLFdBQUssb0JBQUE7QUFDTCxVQUFJLEtBQUssbUJBQW1CLEtBQUssaUJBQWlCO0FBQ2hELGFBQUssZ0JBQWdCLE1BQUE7QUFBQTtBQUV2QixXQUFLLGVBQUE7QUFBQSxJQUFjO0FBQUEsSUFHYixrQ0FBK0I7QUFDckMsV0FBSyx1QkFBdUIseUJBQXlCLE1BQUE7QUFBQTs7OztJQU1oRCxRQUFLO0FBQ1YsVUFBSSxLQUFLLFdBQVcsVUFBVTtBQUM1QjtBQUFBLE1BQUE7QUFHRixXQUFLLFNBQVM7QUFDZCxXQUFLLFlBQUE7QUFDTCxXQUFLLFFBQVE7QUFDYixXQUFLLGlCQUFpQixhQUFhLGlCQUFpQixPQUFPO0FBSTNELFVBQUksS0FBSyw0QkFBNEI7QUFDbkMsYUFBSyxlQUFBO0FBQUEsTUFBYztBQUFBLElBQ3JCO0FBQUE7QUFBQSxJQUlNLG9CQUFpQjtBQUN2QixVQUFJLEtBQUssWUFBWSxLQUFLLGlCQUFpQjtBQUN6QztBQUFBLE1BQUE7QUFHRixXQUFLLHlCQUF5QixNQUFBO0FBQzlCLHlDQUFtQyxLQUFLLGVBQWU7QUFDdkQsV0FBSyxrQkFBa0IsS0FBSztBQUU1QixVQUFJLENBQUMsS0FBSyxpQkFBaUI7QUFDekI7QUFBQSxNQUFBO0FBR0Ysc0NBQWdDLEtBQUssaUJBQWlCLFFBQVEsS0FBSyxJQUFJLEtBQUssTUFBTTtBQUNsRixXQUFLLDBCQUEwQixJQUFJLGdCQUFBO0FBQ25DLFVBQUksS0FBSyxvQkFBb0IsS0FBSyxlQUFlLEdBQUc7QUFDbEQsYUFBSyxnQkFBZ0IsbUJBQW1CO0FBQUEsTUFBQTtBQUUxQyxXQUFLLGdCQUFnQixpQkFBaUIsU0FBUyxNQUFNLEtBQUssUUFBUTtBQUFBLFFBQ2hFLFFBQVEsS0FBSyx3QkFBd0I7QUFBQSxNQUFBLENBQ3RDO0FBQ0QsV0FBSyx3QkFBd0IsS0FBSyxpQkFBaUIsVUFBVSxnQkFBZ0I7QUFBQSxJQUFBO0FBQUEsSUFHdkUsb0JBQW9CLFNBQTJCO0FBQ3JELGFBQU8sU0FBUyxjQUFjO0FBQUEsSUFBQTtBQUFBLElBR3hCLG9CQUFvQixlQUF3QixLQUFLLGlCQUFlO0FBQ3RFLFlBQU0sb0JBQW9CLEtBQUssdUJBQXVCO0FBQ3RELFVBQUksbUJBQW1CO0FBQ3JCLDBCQUFrQixRQUFRLGdCQUFnQixLQUFLLFdBQVc7QUFBQSxNQUFBO0FBQUEsSUFDNUQ7QUFBQTtBQUFBO0FBQUEsSUFLTSxnQkFBZ0IsT0FBcUI7QUFDM0MsVUFBSSxNQUFNLGtCQUFrQixVQUFVLEtBQUssV0FBVyxXQUFXO0FBQy9ELGFBQUssZUFBQTtBQUFBLE1BQWMsV0FDVixNQUFNLGtCQUFrQixXQUFXLEtBQUssV0FBVyxXQUFXO0FBQ3ZFLGFBQUssZUFBQTtBQUFBLE1BQWM7QUFBQSxJQUNyQjtBQUFBLElBR00sY0FBVztBQUNqQixZQUFNLEtBQ0osS0FBSyxpQkFDSCwyQ0FBMkMsS0FDeEMsQ0FBQSxDQUFFLEVBQ1AsUUFBUSxDQUFDLFdBQVcsT0FBTyxnQkFBZ0Isb0JBQW9CLENBQUM7QUFBQSxJQUFBO0FBQUEsSUFHNUQsc0JBQW1CO0FBQ3pCLFdBQUssMEJBQTBCLElBQUksZ0JBQUE7QUFDbkMsYUFBTyxpQkFBaUIsV0FBVyxDQUFDLFVBQXlCLEtBQUssZ0JBQWdCLEtBQUssR0FBRztBQUFBLFFBQ3hGLFFBQVEsS0FBSyx3QkFBd0I7QUFBQSxNQUFBLENBQ3RDO0FBR0QsYUFBTyxpQkFBaUIsU0FBUyxLQUFLLCtCQUErQjtBQUFBLFFBQ25FLFFBQVEsS0FBSyx3QkFBd0I7QUFBQSxNQUFBLENBQ3RDO0FBQUEsSUFBQTtBQUFBLElBZUssZ0JBQWdCLFNBQW9CO0FBQzFDLGFBQ0UsUUFBUSxhQUFhLE9BQ3BCLENBQUMsUUFBUSxhQUFhLFVBQVUsTUFDOUIsUUFBUSxhQUFhLHNCQUFzQixLQUMxQyxRQUFRLGFBQWEsOEJBQThCO0FBQUEsSUFBQTtBQUFBLElBSW5ELGdCQUFhO0FBQ25CLGFBQU8sYUFBYSxRQUFRLE9BQU8sS0FBSztBQUFBLElBQUE7QUFBQTtBQUFBLElBSWxDLGdCQUFnQixPQUFvQjtBQUMxQyxVQUFJLEtBQUssV0FBVyxZQUFZLE1BQU0sUUFBUSxVQUFVO0FBQ3RELGFBQUssTUFBQTtBQUFBLE1BQUs7QUFBQSxJQUNaO0FBQUEsSUFHTSxxQkFBa0I7QUFDeEIsV0FBSyxjQUNILDREQUE0RCxHQUMzRCxnQkFBZ0Isc0JBQXNCLElBQUk7QUFBQSxJQUFBO0FBQUEsSUFHL0Isb0JBQWlCO0FBQy9CLFlBQU0sa0JBQUE7QUFDTixXQUFLLFNBQVM7QUFDZCxXQUFLLE9BQU8sMEJBQTBCLFFBQVE7QUFDOUMsV0FBSyxXQUFXO0FBQ2hCLFVBQUksS0FBSyxZQUFZO0FBQ25CLGFBQUssa0JBQUE7QUFBQSxNQUFpQjtBQUFBLElBQ3hCO0FBQUEsSUFHYyx1QkFBb0I7QUFDbEMsWUFBTSxxQkFBQTtBQUNOLFdBQUssa0JBQWtCO0FBQ3ZCLFdBQUsseUJBQXlCLE1BQUE7QUFDOUIsV0FBSyx5QkFBeUIsTUFBQTtBQUFBO0lBR2hCLGNBQ2QsTUFDQSxVQUNBLFNBQTZCO0FBRTdCLFlBQU0sY0FBYyxNQUFNLFVBQVUsT0FBTztBQUUzQyxVQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsU0FBUyxjQUFjLEtBQUssWUFBWTtBQUNqRSxhQUFLLGtCQUFBO0FBQUEsTUFBaUI7QUFBQSxJQUN4QjtBQUFBLElBR2lCLGFBQWEsbUJBQXVDO0FBQ3JFLFlBQU0sYUFBYSxpQkFBaUI7QUFDcEMsV0FBSyxrQkFBQTtBQUFBLElBQWlCO0FBQUEsSUFHTCxTQUFNO0FBQ3ZCLGFBQU87QUFBQTtBQUFBO0FBQUEsMEJBR2UsS0FBSyxlQUFlO0FBQUE7QUFBQSw0QkFFbEIsQ0FBQyxLQUFLLHFCQUFxQixVQUFVLE9BQU87QUFBQSx1QkFDakQsS0FBSyxxQkFBcUIsS0FBSyxxQkFBcUIsT0FBTztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSwrQkFTbkQsS0FBSywwQkFBMEIsV0FBVyxLQUFLLFVBQVUsT0FBTyxDQUFDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLHVDQVN6RCxLQUFLLFlBQVk7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsSUFBQTtBQUFBLEtBbFV0RCxnREFTQSwyQ0FPQSxzREFPQTs7QUF6QkMsK0JBQUEsQ0FBQSxhQUNBLFNBQVMsRUFBRSxXQUFXLGlCQUFpQixTQUFTLE1BQU0sV0FBVyxtQkFBQSxDQUFvQixDQUFDOzJCQVF0RixlQUNBLFVBQVU7c0NBTVYsYUFDQSxTQUFTLEVBQUUsV0FBVyxzQkFBQSxDQUF1QixDQUFDOzBDQU05QyxhQUNBLFNBQVMsRUFBRSxXQUFXLDJCQUFBLENBQTRCLENBQUM7QUF0QnBELGlCQUFBLElBQUEsTUFBQSwwQkFBQSxFQUFBLE1BQUEsWUFBQSxNQUFBLGdCQUFBLFFBQUEsT0FBQSxTQUFBLE9BQUEsUUFBQSxFQUFBLEtBQUEsQ0FBQSxRQUFBLGtCQUFBLEtBQUEsS0FBQSxDQUFBLFFBQUEsSUFBZ0IsY0FBWSxLQUFBLENBQUEsS0FBQSxVQUFBO0FBQUEsVUFBWixlQUFZO0FBQUEsSUFBQSxLQUFBLFVBQUEsYUFBQSw0QkFBQSwrQkFBQTtBQVM1QixpQkFBQSxJQUFBLE1BQUEscUJBQUEsRUFBQSxNQUFBLFlBQUEsTUFBQSxXQUFBLFFBQUEsT0FBQSxTQUFBLE9BQUEsUUFBQSxFQUFBLEtBQUEsQ0FBQSxRQUFBLGFBQUEsS0FBQSxLQUFBLENBQUEsUUFBQSxJQUFnQixTQUFPLEtBQUEsQ0FBQSxLQUFBLFVBQUE7QUFBQSxVQUFQLFVBQU87QUFBQSxJQUFBLEtBQUEsVUFBQSxhQUFBLHVCQUFBLDBCQUFBO0FBT3ZCLGlCQUFBLElBQUEsTUFBQSxnQ0FBQSxFQUFBLE1BQUEsWUFBQSxNQUFBLHNCQUFBLFFBQUEsT0FBQSxTQUFBLE9BQUEsUUFBQSxFQUFBLEtBQUEsQ0FBQSxRQUFBLHdCQUFBLEtBQUEsS0FBQSxDQUFBLFFBQUEsSUFBZ0Isb0JBQWtCLEtBQUEsQ0FBQSxLQUFBLFVBQUE7QUFBQSxVQUFsQixxQkFBa0I7QUFBQSxJQUFBLEtBQUEsVUFBQSxhQUFBLGtDQUFBLHFDQUFBO0FBT2xDLGlCQUFBLElBQUEsTUFBQSxvQ0FBQSxFQUFBLE1BQUEsWUFBQSxNQUFBLDBCQUFBLFFBQUEsT0FBQSxTQUFBLE9BQUEsUUFBQSxFQUFBLEtBQUEsQ0FBQSxRQUFBLDRCQUFBLEtBQUEsS0FBQSxDQUFBLFFBQUEsSUFBZ0Isd0JBQXNCLEtBQUEsQ0FBQSxLQUFBLFVBQUE7QUFBQSxVQUF0Qix5QkFBc0I7QUFBQSxJQUFBLEtBQUEsVUFBQSxhQUFBLHNDQUFBLHlDQUFBO0FBakN4QyxpQkFBQSxNQUFBLG1CQUFBLEVBQUEsT0FBQSxXQUFBLEdBQUEsa0JBQUEsRUFBQSxNQUFBLFNBQUEsTUFBQSxXQUFBLE1BQUEsVUFBQSxVQUFBLEdBQUEsTUFBQSx1QkFBQTs7O1FBR3lCLEdBQUEsU0FBeUIsT0FINUMsa0JBQUEsWUFBQSx1QkFBQSxHQUE0Qjs7OyJ9
@@ -1,14 +1,13 @@
1
1
  import { CSSResultGroup, LitElement, PropertyValues, TemplateResult } from 'lit';
2
- import { SbbTitleLevel } from '../title.js';
3
2
  declare const SbbNotificationElement_base: import('../core/mixins.js').AbstractConstructor<import('../core/mixins.js').SbbReadonlyMixinType> & typeof LitElement;
4
3
  /**
5
4
  * It displays messages which require a user's attention without interrupting its tasks.
6
5
  *
7
- * @slot - Use the unnamed slot to add content to the notification message.
8
- * @slot title - Use this to provide a notification title (optional).
6
+ * @slot - Use the unnamed slot to add content to the `sbb-notification`. Content should consist of an optional `sbb-title` element and text content.
7
+ * @slot title - Slot for the title. For the standard `sbb-title` element, the slot is automatically assigned when slotted in the unnamed slot.
9
8
  * @event {CustomEvent<void>} willOpen - Emits when the opening animation starts.
10
9
  * @event {CustomEvent<void>} didOpen - Emits when the opening animation ends.
11
- * @event {CustomEvent<void>} willClose - Emits when the closing animation starts.
10
+ * @event {CustomEvent<void>} willClose - Emits when the closing animation starts. Can be canceled.
12
11
  * @event {CustomEvent<void>} didClose - Emits when the closing animation ends.
13
12
  * @cssprop [--sbb-notification-margin=0] - Can be used to modify the margin in order to get a smoother animation.
14
13
  * See style section for more information.
@@ -23,15 +22,11 @@ export declare class SbbNotificationElement extends SbbNotificationElement_base
23
22
  };
24
23
  /** The type of the notification. */
25
24
  accessor type: 'info' | 'success' | 'warn' | 'error';
26
- /** Content of title. */
27
- accessor titleContent: string;
28
- /** Level of title, it will be rendered as heading tag (e.g. h3). Defaults to level 3. */
29
- accessor titleLevel: SbbTitleLevel;
30
25
  /**
31
26
  * Size variant, either s or m.
32
27
  * @default 'm' / 's' (lean)
33
28
  */
34
- accessor size: 'm' | 's';
29
+ accessor size: 's' | 'm';
35
30
  /** The enabled animations. */
36
31
  accessor animation: 'open' | 'close' | 'all' | 'none';
37
32
  /** The state of the notification. */
@@ -49,6 +44,7 @@ export declare class SbbNotificationElement extends SbbNotificationElement_base
49
44
  private _willClose;
50
45
  /** Emits whenever the `sbb-notification` is closed. */
51
46
  private _didClose;
47
+ protected willUpdate(changedProperties: PropertyValues<this>): void;
52
48
  private _open;
53
49
  close(): void;
54
50
  connectedCallback(): void;
@@ -59,6 +55,8 @@ export declare class SbbNotificationElement extends SbbNotificationElement_base
59
55
  private _onNotificationAnimationEnd;
60
56
  private _handleOpening;
61
57
  private _handleClosing;
58
+ private _handleSlotchange;
59
+ private _configureTitle;
62
60
  protected render(): TemplateResult;
63
61
  }
64
62
  declare global {
@@ -1 +1 @@
1
- {"version":3,"file":"notification.component.d.ts","sourceRoot":"","sources":["../../../../src/elements/notification/notification.component.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,cAAc,EAEnB,UAAU,EAEV,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAUb,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAIjD,OAAO,+BAA+B,CAAC;AACvC,OAAO,eAAe,CAAC;AACvB,OAAO,YAAY,CAAC;AACpB,OAAO,aAAa,CAAC;;AAWrB;;;;;;;;;;;GAWG;AACH,qBAGM,sBAAuB,SAAQ,2BAA4B;IAE/D,OAAuB,MAAM,EAAE,cAAc,CAAS;IACtD,gBAAuB,MAAM;;;;;MAKlB;IAEX,oCAAoC;IACpC,SAA6C,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,CAAU;IAElG,wBAAwB;IACxB,SAEgB,YAAY,EAAE,MAAM,CAAM;IAE1C,yFAAyF;IACzF,SAAwD,UAAU,EAAE,aAAa,CAAO;IAExF;;;OAGG;IACH,SAA6C,IAAI,EAAE,GAAG,GAAG,GAAG,CAAwB;IAEpF,8BAA8B;IAC9B,SAA6C,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,MAAM,CAAS;IAElG,qCAAqC;IACrC,OAAO,KAAK,MAAM,QAEjB;IACD,OAAO,KAAK,MAAM,GAEjB;IAED,OAAO,CAAC,oBAAoB,CAAe;IAC3C,OAAO,CAAC,sBAAsB,CAA8C;IAC5E,OAAO,CAAC,SAAS,CAAmC;IACpD,OAAO,CAAC,2BAA2B,CAIhC;IAEH,2EAA2E;IAC3E,OAAO,CAAC,SAAS,CAIf;IAEF,uDAAuD;IACvD,OAAO,CAAC,QAAQ,CAId;IAEF,2EAA2E;IAC3E,OAAO,CAAC,UAAU,CAIhB;IAEF,uDAAuD;IACvD,OAAO,CAAC,SAAS,CAIf;IAEF,OAAO,CAAC,KAAK;IAaN,KAAK,IAAI,IAAI;IAYJ,iBAAiB,IAAI,IAAI;cAMtB,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAc9E,OAAO,CAAC,wBAAwB;IAIhC,OAAO,CAAC,sBAAsB;IAQ9B,OAAO,CAAC,qBAAqB;IAoB7B,OAAO,CAAC,2BAA2B;IAUnC,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,cAAc;cAOH,MAAM,IAAI,cAAc;CAoC5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,kBAAkB,EAAE,sBAAsB,CAAC;KAC5C;CACF"}
1
+ {"version":3,"file":"notification.component.d.ts","sourceRoot":"","sources":["../../../../src/elements/notification/notification.component.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,cAAc,EAEnB,UAAU,EAEV,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAab,OAAO,+BAA+B,CAAC;AACvC,OAAO,eAAe,CAAC;AACvB,OAAO,YAAY,CAAC;;AAWpB;;;;;;;;;;;GAWG;AACH,qBAEM,sBAAuB,SAAQ,2BAA4B;IAE/D,OAAuB,MAAM,EAAE,cAAc,CAAS;IACtD,gBAAuB,MAAM;;;;;MAKlB;IAEX,oCAAoC;IACpC,SAA6C,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,CAAU;IAElG;;;OAGG;IACH,SAA6C,IAAI,EAAE,GAAG,GAAG,GAAG,CAAwB;IAEpF,8BAA8B;IAC9B,SAA6C,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,MAAM,CAAS;IAElG,qCAAqC;IACrC,OAAO,KAAK,MAAM,QAEjB;IACD,OAAO,KAAK,MAAM,GAEjB;IAED,OAAO,CAAC,oBAAoB,CAAe;IAC3C,OAAO,CAAC,sBAAsB,CAA8C;IAC5E,OAAO,CAAC,SAAS,CAAmC;IACpD,OAAO,CAAC,2BAA2B,CAIhC;IAEH,2EAA2E;IAC3E,OAAO,CAAC,SAAS,CAIf;IAEF,uDAAuD;IACvD,OAAO,CAAC,QAAQ,CAId;IAEF,2EAA2E;IAC3E,OAAO,CAAC,UAAU,CAIhB;IAEF,uDAAuD;IACvD,OAAO,CAAC,SAAS,CAIf;cAEiB,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAQ5E,OAAO,CAAC,KAAK;IAaN,KAAK,IAAI,IAAI;IAYJ,iBAAiB,IAAI,IAAI;cAMtB,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAc9E,OAAO,CAAC,wBAAwB;IAIhC,OAAO,CAAC,sBAAsB;IAQ9B,OAAO,CAAC,qBAAqB;IAoB7B,OAAO,CAAC,2BAA2B;IAUnC,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,eAAe;cAQJ,MAAM,IAAI,cAAc;CA+B5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,kBAAkB,EAAE,sBAAsB,CAAC;KAC5C;CACF"}