@sbb-esta/lyne-elements-dev 5.0.0-next-dev.1776736853 → 5.0.0-next-dev.1776760633

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 (222) hide show
  1. package/autocomplete/autocomplete-base-element.js +1 -1
  2. package/autocomplete/autocomplete.component.js +1 -1
  3. package/{autocomplete-base-element-B7fDDO1F.js → autocomplete-base-element-gPLexIVc.js} +1 -1
  4. package/autocomplete.js +1 -1
  5. package/autocomplete.pure.js +1 -1
  6. package/core/overlay/overlay-trigger-attributes.js +3 -3
  7. package/core/styles/host-scrollbar.scss +6 -0
  8. package/core/styles/mixins/scrollbar.scss +5 -8
  9. package/core/styles/scrollbar.scss +10 -8
  10. package/core/styles/styles.js +2 -2
  11. package/core.css +2 -2
  12. package/core.js +3 -3
  13. package/custom-elements.json +26 -14
  14. package/datepicker/datepicker/datepicker.component.js +1 -1
  15. package/{datepicker.component-BBmEvmW3.js → datepicker.component-CNQGkdr-.js} +11 -11
  16. package/datepicker.js +1 -1
  17. package/datepicker.pure.js +1 -1
  18. package/development/autocomplete/autocomplete-base-element.js +1 -1
  19. package/development/autocomplete/autocomplete.component.js +1 -1
  20. package/development/{autocomplete-base-element-DnpaK_k3.js → autocomplete-base-element-8hV4-ys6.js} +2 -2
  21. package/development/autocomplete.js +1 -1
  22. package/development/autocomplete.pure.js +1 -1
  23. package/development/core/overlay/overlay-trigger-attributes.d.ts +4 -4
  24. package/development/core/overlay/overlay-trigger-attributes.d.ts.map +1 -1
  25. package/development/core/overlay/overlay-trigger-attributes.js +12 -12
  26. package/development/core/styles/styles.d.ts +1 -0
  27. package/development/core/styles/styles.d.ts.map +1 -1
  28. package/development/core/styles/styles.js +2 -2
  29. package/development/core.js +3 -3
  30. package/development/datepicker/datepicker/datepicker.component.d.ts.map +1 -1
  31. package/development/datepicker/datepicker/datepicker.component.js +1 -1
  32. package/development/datepicker.component-Chnvwnp7.js +212 -0
  33. package/development/datepicker.js +1 -1
  34. package/development/datepicker.pure.js +1 -1
  35. package/development/dialog/dialog/dialog.component.d.ts +0 -1
  36. package/development/dialog/dialog/dialog.component.d.ts.map +1 -1
  37. package/development/dialog/dialog/dialog.component.js +1 -1
  38. package/development/dialog/dialog-content/dialog-content.component.d.ts +1 -0
  39. package/development/dialog/dialog-content/dialog-content.component.d.ts.map +1 -1
  40. package/development/dialog/dialog-content/dialog-content.component.js +1 -1
  41. package/development/dialog-content.component-DlSxpY_e.js +34 -0
  42. package/development/{dialog.component-BYVTZAUU.js → dialog.component-B4cZfRCl.js} +1 -6
  43. package/development/dialog.js +2 -2
  44. package/development/dialog.pure.js +2 -2
  45. package/development/header/header/header.component.d.ts.map +1 -1
  46. package/development/header/header/header.component.js +1 -1
  47. package/development/{header.component-Hfgz9sSb.js → header.component-B2T2pmHs.js} +2 -3
  48. package/development/header.js +1 -1
  49. package/development/header.pure.js +1 -1
  50. package/development/icon-sidebar/icon-sidebar/icon-sidebar.component.d.ts.map +1 -1
  51. package/development/icon-sidebar/icon-sidebar/icon-sidebar.component.js +1 -1
  52. package/development/icon-sidebar/icon-sidebar-content/icon-sidebar-content.component.d.ts.map +1 -1
  53. package/development/icon-sidebar/icon-sidebar-content/icon-sidebar-content.component.js +1 -1
  54. package/development/icon-sidebar-content.component-CfkM9k--.js +35 -0
  55. package/development/{icon-sidebar.component-xzwoc_4y.js → icon-sidebar.component-Cgvuxg4k.js} +3 -3
  56. package/development/icon-sidebar.js +2 -2
  57. package/development/icon-sidebar.pure.js +2 -2
  58. package/development/map-container/map-container.component.js +1 -1
  59. package/development/{map-container.component-mzZ_K_fR.js → map-container.component-rgU7ZofE.js} +2 -2
  60. package/development/map-container.js +1 -1
  61. package/development/map-container.pure.js +1 -1
  62. package/development/menu/common/menu-action-common.js +1 -1
  63. package/development/menu/menu/menu.component.d.ts.map +1 -1
  64. package/development/menu/menu/menu.component.js +1 -1
  65. package/development/menu-action-common-CEnwq60Z.js +32 -0
  66. package/development/menu.component-DbNRrGYy.js +365 -0
  67. package/development/menu.js +2 -2
  68. package/development/menu.pure.js +2 -2
  69. package/development/navigation/navigation/navigation.component.d.ts.map +1 -1
  70. package/development/navigation/navigation/navigation.component.js +1 -1
  71. package/development/navigation/navigation-section/navigation-section.component.d.ts.map +1 -1
  72. package/development/navigation/navigation-section/navigation-section.component.js +1 -1
  73. package/development/{navigation-section.component-C_9myQKr.js → navigation-section.component-BSvxMUxM.js} +7 -9
  74. package/development/{navigation.component-C8MhqBLY.js → navigation.component-lgvLMF5e.js} +7 -9
  75. package/development/navigation.js +2 -2
  76. package/development/navigation.pure.js +2 -2
  77. package/development/overlay/overlay-base-element.d.ts.map +1 -1
  78. package/development/overlay/overlay-base-element.js +6 -6
  79. package/development/overlay/overlay.component.d.ts +0 -1
  80. package/development/overlay/overlay.component.d.ts.map +1 -1
  81. package/development/overlay/overlay.component.js +1 -1
  82. package/development/overlay.component-iy6QUYWU.js +211 -0
  83. package/development/overlay.js +1 -1
  84. package/development/overlay.pure.js +1 -1
  85. package/development/popover/popover.component.d.ts.map +1 -1
  86. package/development/popover/popover.component.js +1 -1
  87. package/development/popover.component-C-zVDwjc.js +527 -0
  88. package/development/popover.js +1 -1
  89. package/development/popover.pure.js +1 -1
  90. package/development/select/select.component.js +1 -1
  91. package/development/{select.component-CqwBdtsN.js → select.component-Ibby7Q-L.js} +2 -2
  92. package/development/select.js +1 -1
  93. package/development/select.pure.js +1 -1
  94. package/development/sidebar/sidebar/sidebar.component.js +1 -1
  95. package/development/sidebar/sidebar-content/sidebar-content.component.d.ts +1 -2
  96. package/development/sidebar/sidebar-content/sidebar-content.component.d.ts.map +1 -1
  97. package/development/sidebar/sidebar-content/sidebar-content.component.js +1 -1
  98. package/development/{sidebar-content.component-Os9gd7zB.js → sidebar-content.component-DbcREBUa.js} +8 -5
  99. package/development/{sidebar.component-CwuT6dno.js → sidebar.component-zMWbdz0h.js} +2 -2
  100. package/development/sidebar.js +2 -2
  101. package/development/sidebar.pure.js +2 -2
  102. package/development/{step-label.component-CxqPgbzK.js → step-label.component-B7M9Yqyz.js} +1 -3
  103. package/development/{step.component-B2qbHl0l.js → step.component-CVWxYkrv.js} +1 -3
  104. package/development/stepper/step/step.component.d.ts.map +1 -1
  105. package/development/stepper/step/step.component.js +1 -1
  106. package/development/stepper/step-label/step-label.component.d.ts.map +1 -1
  107. package/development/stepper/step-label/step-label.component.js +1 -1
  108. package/development/stepper.js +2 -2
  109. package/development/stepper.pure.js +2 -2
  110. package/development/styles-DcuJgwEt.js +14 -0
  111. package/development/tab.component-BVhYPy5Y.js +68 -0
  112. package/development/table/table-wrapper/table-wrapper.component.d.ts.map +1 -1
  113. package/development/table/table-wrapper/table-wrapper.component.js +1 -1
  114. package/development/table-wrapper.component-DcLwEDzr.js +119 -0
  115. package/development/table.js +1 -1
  116. package/development/table.pure.js +1 -1
  117. package/development/tabs/tab/tab.component.d.ts.map +1 -1
  118. package/development/tabs/tab/tab.component.js +1 -1
  119. package/development/tabs.js +1 -1
  120. package/development/tabs.pure.js +1 -1
  121. package/development/tooltip/tooltip.component.d.ts.map +1 -1
  122. package/development/tooltip/tooltip.component.js +1 -1
  123. package/development/tooltip.component-lvElko6C.js +369 -0
  124. package/development/tooltip.js +1 -1
  125. package/development/tooltip.pure.js +1 -1
  126. package/development/train/train-formation/train-formation.component.js +1 -1
  127. package/development/{train-formation.component-CfdHRBsd.js → train-formation.component-BoQcwy6n.js} +2 -2
  128. package/development/train.js +1 -1
  129. package/development/train.pure.js +1 -1
  130. package/dialog/dialog/dialog.component.js +1 -1
  131. package/dialog/dialog-content/dialog-content.component.js +1 -1
  132. package/dialog-content.component-C_Gr8BNL.js +22 -0
  133. package/{dialog.component-ca14M0hZ.js → dialog.component-DTbAHlVd.js} +7 -10
  134. package/dialog.js +2 -2
  135. package/dialog.pure.js +2 -2
  136. package/header/header/header.component.js +1 -1
  137. package/{header.component-BxizSy1O.js → header.component-D-WVEMFn.js} +2 -2
  138. package/header.js +1 -1
  139. package/header.pure.js +1 -1
  140. package/icon-sidebar/icon-sidebar/icon-sidebar.component.js +1 -1
  141. package/icon-sidebar/icon-sidebar-content/icon-sidebar-content.component.js +1 -1
  142. package/{icon-sidebar-content.component-DlUqWEAX.js → icon-sidebar-content.component-lFstg91Y.js} +9 -5
  143. package/{icon-sidebar.component-DbA4omxc.js → icon-sidebar.component-D0TtF-kR.js} +11 -11
  144. package/icon-sidebar.js +2 -2
  145. package/icon-sidebar.pure.js +2 -2
  146. package/map-container/map-container.component.js +1 -1
  147. package/{map-container.component-Cqn9mKoo.js → map-container.component-De-8Tsau.js} +1 -1
  148. package/map-container.js +1 -1
  149. package/map-container.pure.js +1 -1
  150. package/menu/common/menu-action-common.js +1 -1
  151. package/menu/menu/menu.component.js +1 -1
  152. package/{menu-action-common-DY4RrfCy.js → menu-action-common-krzD_Ca2.js} +1 -1
  153. package/{menu.component-XvtyRok7.js → menu.component-KdXwqe55.js} +15 -15
  154. package/menu.js +2 -2
  155. package/menu.pure.js +2 -2
  156. package/navigation/navigation/navigation.component.js +1 -1
  157. package/navigation/navigation-section/navigation-section.component.js +1 -1
  158. package/{navigation-section.component-CLcdmPV3.js → navigation-section.component-DrnbQAZX.js} +17 -17
  159. package/{navigation.component-Cnyb5_4R.js → navigation.component-D6HU-F51.js} +16 -16
  160. package/navigation.js +2 -2
  161. package/navigation.pure.js +2 -2
  162. package/off-brand-theme.css +53 -55
  163. package/overlay/overlay-base-element.js +4 -4
  164. package/overlay/overlay.component.js +1 -1
  165. package/overlay.component-bHg2Xk6D.js +161 -0
  166. package/overlay.js +1 -1
  167. package/overlay.pure.js +1 -1
  168. package/package.json +2 -2
  169. package/popover/popover.component.js +1 -1
  170. package/{popover.component-BfSXNxKK.js → popover.component-BCLBnddM.js} +12 -12
  171. package/popover.js +1 -1
  172. package/popover.pure.js +1 -1
  173. package/safety-theme.css +53 -55
  174. package/scrollbar.css +51 -53
  175. package/select/select.component.js +1 -1
  176. package/{select.component-Cu3ewc4i.js → select.component-BcDZm7EM.js} +1 -1
  177. package/select.js +1 -1
  178. package/select.pure.js +1 -1
  179. package/sidebar/sidebar/sidebar.component.js +1 -1
  180. package/sidebar/sidebar-content/sidebar-content.component.js +1 -1
  181. package/{sidebar-content.component-DEgmt4BB.js → sidebar-content.component-CYupfsq_.js} +9 -5
  182. package/{sidebar.component-Bxt8pWMf.js → sidebar.component-Sw06otwx.js} +1 -1
  183. package/sidebar.js +2 -2
  184. package/sidebar.pure.js +2 -2
  185. package/standard-theme.css +53 -55
  186. package/{step-label.component-qdfunibJ.js → step-label.component-BXg13qOD.js} +3 -3
  187. package/{step.component-aBAfTJyO.js → step.component-sQbJslHx.js} +3 -3
  188. package/stepper/step/step.component.js +1 -1
  189. package/stepper/step-label/step-label.component.js +1 -1
  190. package/stepper.js +2 -2
  191. package/stepper.pure.js +2 -2
  192. package/styles-swTeDfst.js +5 -0
  193. package/{tab.component-DGzqld4u.js → tab.component-D6hfhlZw.js} +6 -6
  194. package/table/table-wrapper/table-wrapper.component.js +1 -1
  195. package/{table-wrapper.component-C36NdMWS.js → table-wrapper.component-Dxb8kzV3.js} +13 -13
  196. package/table.js +1 -1
  197. package/table.pure.js +1 -1
  198. package/tabs/tab/tab.component.js +1 -1
  199. package/tabs.js +1 -1
  200. package/tabs.pure.js +1 -1
  201. package/tooltip/tooltip.component.js +1 -1
  202. package/{tooltip.component-C5y6zCtF.js → tooltip.component-Do4V1jGd.js} +12 -12
  203. package/tooltip.js +1 -1
  204. package/tooltip.pure.js +1 -1
  205. package/train/train-formation/train-formation.component.js +1 -1
  206. package/{train-formation.component-5AASBGSX.js → train-formation.component-B8IFJ_7b.js} +1 -1
  207. package/train.js +1 -1
  208. package/train.pure.js +1 -1
  209. package/development/datepicker.component-AKlc7SAO.js +0 -214
  210. package/development/dialog-content.component-B3VB2ptp.js +0 -30
  211. package/development/icon-sidebar-content.component-CMzp1ewD.js +0 -31
  212. package/development/menu-action-common-Crx-dDgH.js +0 -32
  213. package/development/menu.component-DOv7PKIi.js +0 -367
  214. package/development/overlay.component-BuCkqG6Q.js +0 -216
  215. package/development/popover.component-B15jFLe9.js +0 -529
  216. package/development/styles-CcYw6JtZ.js +0 -8
  217. package/development/tab.component-DteuwiHv.js +0 -70
  218. package/development/table-wrapper.component-iSeT-FPH.js +0 -119
  219. package/development/tooltip.component-BtWTK2R0.js +0 -371
  220. package/dialog-content.component-DvJiuDJI.js +0 -19
  221. package/overlay.component-OzDUV8t1.js +0 -164
  222. package/styles-x5HG0xjp.js +0 -6
@@ -1,216 +0,0 @@
1
- import { SbbOverlayBaseElement, SbbOverlayCloseEvent, overlayRefs } from "./overlay/overlay-base-element.js";
2
- import { __esDecorate, __runInitializers } from "tslib";
3
- import { unsafeCSS } from "lit";
4
- import { property } from "lit/decorators.js";
5
- import { SbbScreenReaderOnlyElement, boxSizingStyles, forceType, forwardEvent, i18nCloseDialog, isZeroAnimationDuration } from "./core.js";
6
- import { html as html$1 } from "lit/static-html.js";
7
- import { SbbSecondaryButtonElement } from "./button.pure.js";
8
- import { ref } from "lit/directives/ref.js";
9
- import { SbbContainerElement } from "./container.pure.js";
10
- //#region src/elements/overlay/overlay.scss?inline
11
- var overlay_default = ":host {\n --sbb-scrollbar-thumb-width: 0.125rem;\n --sbb-scrollbar-thumb-width-hover: 0.25rem;\n --sbb-scrollbar-width-firefox: thin;\n --sbb-scrollbar-color: color-mix(in srgb, var(--sbb-color-black) 30%, transparent);\n --sbb-scrollbar-color: light-dark(\n color-mix(in srgb, var(--sbb-color-black) 30%, transparent),\n color-mix(in srgb, var(--sbb-color-white) 30%, transparent)\n );\n --sbb-scrollbar-color-hover: color-mix(in srgb, var(--sbb-color-black) 60%, transparent);\n --sbb-scrollbar-color-hover: light-dark(\n color-mix(in srgb, var(--sbb-color-black) 60%, transparent),\n color-mix(in srgb, var(--sbb-color-white) 60%, transparent)\n );\n --sbb-scrollbar-track-color: transparent;\n --_sbb-overlay-padding-block: calc(\n var(--sbb-spacing-fixed-14x) + var(--sbb-spacing-responsive-l)\n );\n --sbb-overlay-animation-duration: var(\n --sbb-disable-animation-duration,\n var(--sbb-animation-duration-6x)\n );\n display: var(--sbb-overlay-display);\n position: fixed;\n inset: var(--sbb-overlay-inset);\n z-index: var(--sbb-overlay-z-index, var(--sbb-overlay-default-z-index));\n}\n\n:host(:is(:is(:state(state-opening),[state--state-opening]), :is(:state(state-opened),[state--state-opened]), :is(:state(state-closing),[state--state-closing]))) {\n --sbb-overlay-display: block;\n --sbb-overlay-container-display: flex;\n}\n\n:host(:is(:is(:state(state-opening),[state--state-opening]), :is(:state(state-opened),[state--state-opened]))) {\n --sbb-overlay-pointer-events: all;\n}\n\n:host([negative]) {\n --sbb-scrollbar-color: color-mix(in srgb, var(--sbb-color-white) 30%, transparent);\n --sbb-scrollbar-color-hover: color-mix(in srgb, var(--sbb-color-white) 60%, transparent);\n --sbb-focus-outline-color: var(--sbb-focus-outline-color-dark);\n --sbb-overlay-color: var(--sbb-color-1-negative);\n --sbb-overlay-background-color: var(--sbb-background-color-3-negative);\n}\n\n:host(:not(:is(:state(state-closed),[state--state-closed]))) {\n --sbb-overlay-inset: 0;\n}\n\n.sbb-overlay__container {\n background-color: var(--sbb-overlay-background-color);\n pointer-events: var(--sbb-overlay-pointer-events);\n display: var(--sbb-overlay-container-display);\n align-items: center;\n position: fixed;\n inset: var(--sbb-overlay-inset);\n}\n:host(:is(:is(:state(state-opening),[state--state-opening]), :is(:state(state-opened),[state--state-opened]), :is(:state(state-closing),[state--state-closing]))) .sbb-overlay__container {\n animation-name: open;\n animation-duration: var(--sbb-overlay-animation-duration);\n animation-timing-function: var(--sbb-overlay-animation-easing);\n}\n:host(:is(:state(state-closing),[state--state-closing])) .sbb-overlay__container {\n pointer-events: none;\n animation-name: close;\n}\n\n.sbb-overlay {\n position: absolute;\n inset-inline: 0;\n margin: auto;\n padding: 0;\n border: none;\n height: var(--sbb-overlay-height);\n overflow: auto;\n color: var(--sbb-overlay-color);\n}\n:host(:is(:is(:state(state-opening),[state--state-opening]), :is(:state(state-opened),[state--state-opened]), :is(:state(state-closing),[state--state-closing]))) .sbb-overlay {\n animation-name: open-move-in;\n animation-duration: var(--sbb-overlay-animation-duration);\n animation-timing-function: var(--sbb-overlay-animation-easing);\n}\n:host(:is(:state(state-closing),[state--state-closing])) .sbb-overlay {\n animation-name: close-move-out;\n}\n\n.sbb-overlay__wrapper {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: var(--sbb-overlay-height);\n outline: none;\n position: fixed;\n}\n@media (min-width: calc(64rem)) {\n .sbb-overlay__wrapper {\n position: sticky;\n inset-block-start: 0;\n height: auto;\n }\n}\n\n.sbb-overlay__header {\n position: absolute;\n inset-inline-start: 0;\n display: flex;\n pointer-events: none;\n align-items: start;\n justify-content: space-between;\n width: 100%;\n padding: var(--sbb-spacing-responsive-xs);\n padding-block-end: 0;\n z-index: 1;\n}\n.sbb-overlay__header * {\n pointer-events: all;\n}\n\n.sbb-overlay__close {\n margin-inline-start: auto;\n}\n\n.sbb-overlay__content {\n --sbb-scrollbar-width: var(--sbb-spacing-fixed-3x);\n}\n.sbb-overlay__content::-webkit-scrollbar {\n width: var(--sbb-scrollbar-width);\n height: var(--sbb-scrollbar-width);\n background-color: var(--sbb-scrollbar-track-color, transparent);\n}\n.sbb-overlay__content::-webkit-scrollbar-corner {\n background-color: var(--sbb-scrollbar-track-color, transparent);\n}\n.sbb-overlay__content::-webkit-scrollbar-thumb {\n background-color: var(--sbb-scrollbar-color, currentcolor);\n border: calc(0.5 * (var(--sbb-scrollbar-width) - var(--sbb-scrollbar-thumb-width))) solid transparent;\n border-radius: var(--sbb-border-radius-4x);\n background-clip: padding-box;\n}\n.sbb-overlay__content::-webkit-scrollbar-thumb:hover {\n background-color: var(--sbb-scrollbar-color-hover, currentcolor);\n border-width: calc(0.5 * (var(--sbb-scrollbar-width) - var(--sbb-scrollbar-thumb-width-hover)));\n}\n.sbb-overlay__content::-webkit-scrollbar-button, .sbb-overlay__content::-webkit-scrollbar-corner {\n display: none;\n}\n@supports not selector(::-webkit-scrollbar) {\n .sbb-overlay__content {\n scrollbar-width: var(--sbb-scrollbar-width-firefox);\n scrollbar-color: var(--sbb-scrollbar-color, currentcolor) var(--sbb-scrollbar-track-color, transparent);\n }\n}\n.sbb-overlay__content {\n height: 100vh;\n overflow: auto;\n -webkit-overflow-scrolling: touch;\n}\n\n.sbb-overlay__content-container {\n padding-block: var(--_sbb-overlay-padding-block);\n}\n\n@keyframes open {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n@keyframes open-move-in {\n from {\n transform: translateY(var(--sbb-spacing-fixed-4x));\n }\n to {\n transform: translateY(0%);\n }\n}\n@keyframes close {\n from {\n opacity: 1;\n }\n to {\n opacity: 0;\n }\n}\n@keyframes close-move-out {\n from {\n transform: translateY(0%);\n }\n to {\n transform: translateY(var(--sbb-spacing-fixed-4x));\n }\n}";
12
- //#endregion
13
- //#region src/elements/overlay/overlay.component.ts
14
- var nextId = 0;
15
- /**
16
- * It displays an interactive overlay element.
17
- *
18
- * @slot - Use the unnamed slot to provide a content for the overlay.
19
- * @cssprop [--sbb-overlay-z-index=var(--sbb-overlay-default-z-index)] - To specify a custom stack order,
20
- * the `z-index` can be overridden by defining this CSS variable. The default `z-index` of the
21
- * component is set to `var(--sbb-overlay-default-z-index)` with a value of `1000`.
22
- */
23
- var SbbOverlayElement = (() => {
24
- let _classSuper = SbbOverlayBaseElement;
25
- let _expanded_decorators;
26
- let _expanded_initializers = [];
27
- let _expanded_extraInitializers = [];
28
- let _accessibilityCloseLabel_decorators;
29
- let _accessibilityCloseLabel_initializers = [];
30
- let _accessibilityCloseLabel_extraInitializers = [];
31
- return class SbbOverlayElement extends _classSuper {
32
- constructor() {
33
- super(...arguments);
34
- this.#expanded_accessor_storage = __runInitializers(this, _expanded_initializers, false);
35
- this.#accessibilityCloseLabel_accessor_storage = (__runInitializers(this, _expanded_extraInitializers), __runInitializers(this, _accessibilityCloseLabel_initializers, ""));
36
- this.closeAttribute = (__runInitializers(this, _accessibilityCloseLabel_extraInitializers), "sbb-overlay-close");
37
- this._overlayContentElement = null;
38
- }
39
- static {
40
- const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
41
- _expanded_decorators = [forceType(), property({
42
- reflect: true,
43
- type: Boolean
44
- })];
45
- _accessibilityCloseLabel_decorators = [forceType(), property({ attribute: "accessibility-close-label" })];
46
- __esDecorate(this, null, _expanded_decorators, {
47
- kind: "accessor",
48
- name: "expanded",
49
- static: false,
50
- private: false,
51
- access: {
52
- has: (obj) => "expanded" in obj,
53
- get: (obj) => obj.expanded,
54
- set: (obj, value) => {
55
- obj.expanded = value;
56
- }
57
- },
58
- metadata: _metadata
59
- }, _expanded_initializers, _expanded_extraInitializers);
60
- __esDecorate(this, null, _accessibilityCloseLabel_decorators, {
61
- kind: "accessor",
62
- name: "accessibilityCloseLabel",
63
- static: false,
64
- private: false,
65
- access: {
66
- has: (obj) => "accessibilityCloseLabel" in obj,
67
- get: (obj) => obj.accessibilityCloseLabel,
68
- set: (obj, value) => {
69
- obj.accessibilityCloseLabel = value;
70
- }
71
- },
72
- metadata: _metadata
73
- }, _accessibilityCloseLabel_initializers, _accessibilityCloseLabel_extraInitializers);
74
- if (_metadata) Object.defineProperty(this, Symbol.metadata, {
75
- enumerable: true,
76
- configurable: true,
77
- writable: true,
78
- value: _metadata
79
- });
80
- }
81
- static {
82
- this.elementName = "sbb-overlay";
83
- }
84
- static {
85
- this.elementDependencies = [
86
- SbbSecondaryButtonElement,
87
- SbbContainerElement,
88
- SbbScreenReaderOnlyElement
89
- ];
90
- }
91
- static {
92
- this.styles = [boxSizingStyles, unsafeCSS(overlay_default)];
93
- }
94
- static {
95
- this.events = {
96
- beforeopen: "beforeopen",
97
- open: "open",
98
- beforeclose: "beforeclose",
99
- close: "close"
100
- };
101
- }
102
- #expanded_accessor_storage;
103
- /**
104
- * Whether to allow the overlay content to stretch to full width.
105
- * By default, the content has the appropriate page size.
106
- */
107
- get expanded() {
108
- return this.#expanded_accessor_storage;
109
- }
110
- set expanded(value) {
111
- this.#expanded_accessor_storage = value;
112
- }
113
- #accessibilityCloseLabel_accessor_storage;
114
- /** This will be forwarded as aria-label to the close button element. */
115
- get accessibilityCloseLabel() {
116
- return this.#accessibilityCloseLabel_accessor_storage;
117
- }
118
- set accessibilityCloseLabel(value) {
119
- this.#accessibilityCloseLabel_accessor_storage = value;
120
- }
121
- connectedCallback() {
122
- this.id ||= `sbb-overlay-${nextId++}`;
123
- super.connectedCallback();
124
- }
125
- firstUpdated(changedProperties) {
126
- super.firstUpdated(changedProperties);
127
- if (this.isOpen) this.setAriaLiveRefContent();
128
- }
129
- isZeroAnimationDuration() {
130
- return isZeroAnimationDuration(this, "--sbb-overlay-animation-duration");
131
- }
132
- handleOpening() {
133
- this.state = "opened";
134
- this.inertController.activate();
135
- this.focusTrapController.focusInitialElement();
136
- setTimeout(() => this.setAriaLiveRefContent(this.accessibilityLabel));
137
- this.focusTrapController.enabled = true;
138
- this.dispatchOpenEvent();
139
- }
140
- handleClosing() {
141
- this._overlayContentElement?.scrollTo(0, 0);
142
- this.state = "closed";
143
- this.hidePopover?.();
144
- this.inertController.deactivate();
145
- if (!this.skipFocusRestoration) this.lastFocusedElement?.focus();
146
- this.openOverlayController?.abort();
147
- this.focusTrapController.enabled = false;
148
- this.removeInstanceFromGlobalCollection();
149
- if (!overlayRefs.length) this.scrollHandler.enableScroll();
150
- this.escapableOverlayController.disconnect();
151
- this.dispatchCloseEvent({
152
- returnValue: this.returnValue,
153
- closeTarget: this.overlayCloseElement
154
- });
155
- }
156
- dispatchBeforeCloseEvent(_detail) {
157
- /** @type {SbbOverlayCloseEvent} Emits whenever the component begins the closing transition. Can be canceled. */
158
- return this.dispatchEvent(new SbbOverlayCloseEvent("beforeclose", {
159
- cancelable: true,
160
- closeAttribute: this.closeAttribute,
161
- closeTarget: this.overlayCloseElement,
162
- result: this.returnValue
163
- }));
164
- }
165
- dispatchCloseEvent(_detail) {
166
- /** @type {SbbOverlayCloseEvent} Emits whenever the component is closed. */
167
- return this.dispatchEvent(new SbbOverlayCloseEvent("close", {
168
- closeAttribute: this.closeAttribute,
169
- closeTarget: this.overlayCloseElement,
170
- result: this.returnValue
171
- }));
172
- }
173
- render() {
174
- return html$1`
175
- <div class="sbb-overlay__container" @animationend=${this.onOverlayAnimationEnd}>
176
- <div class="sbb-overlay">
177
- <div
178
- @click=${(event) => this.closeOnSbbOverlayCloseClick(event)}
179
- class="sbb-overlay__wrapper"
180
- >
181
- <div class="sbb-overlay__header">
182
- <sbb-secondary-button
183
- class="sbb-overlay__close"
184
- aria-label="${this.accessibilityCloseLabel || i18nCloseDialog[this.language.current]}"
185
- ?negative=${this.negative}
186
- size="m"
187
- type="button"
188
- icon-name="cross-small"
189
- sbb-overlay-close
190
- ></sbb-secondary-button>
191
- </div>
192
- <div
193
- class="sbb-overlay__content"
194
- ${ref((el) => this._overlayContentElement = el)}
195
- @scroll=${(e) => forwardEvent(e, document)}
196
- >
197
- <sbb-container
198
- class="sbb-overlay__content-container"
199
- ?expanded=${this.expanded}
200
- color="transparent"
201
- >
202
- <slot></slot>
203
- </sbb-container>
204
- </div>
205
- </div>
206
- </div>
207
- </div>
208
- <sbb-screen-reader-only aria-live="polite"></sbb-screen-reader-only>
209
- `;
210
- }
211
- };
212
- })();
213
- //#endregion
214
- export { SbbOverlayElement as t };
215
-
216
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS5jb21wb25lbnQtQnVDa3FHNlEuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL292ZXJsYXkvb3ZlcmxheS5zY3NzP2lubGluZSIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9vdmVybGF5L292ZXJsYXkuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJy4uL2NvcmUvc3R5bGVzJyBhcyBzYmI7XG5cbjpob3N0IHtcbiAgQGluY2x1ZGUgc2JiLnNjcm9sbGJhci12YXJpYWJsZXM7XG5cbiAgLS1fc2JiLW92ZXJsYXktcGFkZGluZy1ibG9jazogY2FsYyhcbiAgICB2YXIoLS1zYmItc3BhY2luZy1maXhlZC0xNHgpICsgdmFyKC0tc2JiLXNwYWNpbmctcmVzcG9uc2l2ZS1sKVxuICApO1xuICAtLXNiYi1vdmVybGF5LWFuaW1hdGlvbi1kdXJhdGlvbjogdmFyKFxuICAgIC0tc2JiLWRpc2FibGUtYW5pbWF0aW9uLWR1cmF0aW9uLFxuICAgIHZhcigtLXNiYi1hbmltYXRpb24tZHVyYXRpb24tNngpXG4gICk7XG5cbiAgZGlzcGxheTogdmFyKC0tc2JiLW92ZXJsYXktZGlzcGxheSk7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgaW5zZXQ6IHZhcigtLXNiYi1vdmVybGF5LWluc2V0KTtcbiAgei1pbmRleDogdmFyKC0tc2JiLW92ZXJsYXktei1pbmRleCwgdmFyKC0tc2JiLW92ZXJsYXktZGVmYXVsdC16LWluZGV4KSk7XG59XG5cbjpob3N0KDppcyg6c3RhdGUoc3RhdGUtb3BlbmluZyksIDpzdGF0ZShzdGF0ZS1vcGVuZWQpLCA6c3RhdGUoc3RhdGUtY2xvc2luZykpKSB7XG4gIC0tc2JiLW92ZXJsYXktZGlzcGxheTogYmxvY2s7XG4gIC0tc2JiLW92ZXJsYXktY29udGFpbmVyLWRpc3BsYXk6IGZsZXg7XG59XG5cbjpob3N0KDppcyg6c3RhdGUoc3RhdGUtb3BlbmluZyksIDpzdGF0ZShzdGF0ZS1vcGVuZWQpKSkge1xuICAtLXNiYi1vdmVybGF5LXBvaW50ZXItZXZlbnRzOiBhbGw7XG59XG5cbjpob3N0KFtuZWdhdGl2ZV0pIHtcbiAgQGluY2x1ZGUgc2JiLnNjcm9sbGJhci12YXJpYWJsZXMtLWNvbG9yLW5lZ2F0aXZlO1xuXG4gIC0tc2JiLWZvY3VzLW91dGxpbmUtY29sb3I6IHZhcigtLXNiYi1mb2N1cy1vdXRsaW5lLWNvbG9yLWRhcmspO1xuICAtLXNiYi1vdmVybGF5LWNvbG9yOiB2YXIoLS1zYmItY29sb3ItMS1uZWdhdGl2ZSk7XG4gIC0tc2JiLW92ZXJsYXktYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLWJhY2tncm91bmQtY29sb3ItMy1uZWdhdGl2ZSk7XG59XG5cbjpob3N0KDpub3QoOnN0YXRlKHN0YXRlLWNsb3NlZCkpKSB7XG4gIC0tc2JiLW92ZXJsYXktaW5zZXQ6IDA7XG59XG5cbi5zYmItb3ZlcmxheV9fY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLW92ZXJsYXktYmFja2dyb3VuZC1jb2xvcik7XG4gIHBvaW50ZXItZXZlbnRzOiB2YXIoLS1zYmItb3ZlcmxheS1wb2ludGVyLWV2ZW50cyk7XG4gIGRpc3BsYXk6IHZhcigtLXNiYi1vdmVybGF5LWNvbnRhaW5lci1kaXNwbGF5KTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBpbnNldDogdmFyKC0tc2JiLW92ZXJsYXktaW5zZXQpO1xuXG4gIDpob3N0KDppcyg6c3RhdGUoc3RhdGUtb3BlbmluZyksIDpzdGF0ZShzdGF0ZS1vcGVuZWQpLCA6c3RhdGUoc3RhdGUtY2xvc2luZykpKSAmIHtcbiAgICBhbmltYXRpb246IHtcbiAgICAgIG5hbWU6IG9wZW47XG4gICAgICBkdXJhdGlvbjogdmFyKC0tc2JiLW92ZXJsYXktYW5pbWF0aW9uLWR1cmF0aW9uKTtcbiAgICAgIHRpbWluZy1mdW5jdGlvbjogdmFyKC0tc2JiLW92ZXJsYXktYW5pbWF0aW9uLWVhc2luZyk7XG4gICAgfVxuICB9XG5cbiAgOmhvc3QoOnN0YXRlKHN0YXRlLWNsb3NpbmcpKSAmIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBhbmltYXRpb24tbmFtZTogY2xvc2U7XG4gIH1cbn1cblxuLnNiYi1vdmVybGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldC1pbmxpbmU6IDA7XG4gIG1hcmdpbjogYXV0bztcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiBub25lO1xuICBoZWlnaHQ6IHZhcigtLXNiYi1vdmVybGF5LWhlaWdodCk7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBjb2xvcjogdmFyKC0tc2JiLW92ZXJsYXktY29sb3IpO1xuXG4gIDpob3N0KDppcyg6c3RhdGUoc3RhdGUtb3BlbmluZyksIDpzdGF0ZShzdGF0ZS1vcGVuZWQpLCA6c3RhdGUoc3RhdGUtY2xvc2luZykpKSAmIHtcbiAgICBhbmltYXRpb246IHtcbiAgICAgIG5hbWU6IG9wZW4tbW92ZS1pbjtcbiAgICAgIGR1cmF0aW9uOiB2YXIoLS1zYmItb3ZlcmxheS1hbmltYXRpb24tZHVyYXRpb24pO1xuICAgICAgdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1zYmItb3ZlcmxheS1hbmltYXRpb24tZWFzaW5nKTtcbiAgICB9XG4gIH1cblxuICA6aG9zdCg6c3RhdGUoc3RhdGUtY2xvc2luZykpICYge1xuICAgIGFuaW1hdGlvbi1uYW1lOiBjbG9zZS1tb3ZlLW91dDtcbiAgfVxufVxuXG4uc2JiLW92ZXJsYXlfX3dyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiB2YXIoLS1zYmItb3ZlcmxheS1oZWlnaHQpO1xuICBvdXRsaW5lOiBub25lO1xuICBwb3NpdGlvbjogZml4ZWQ7XG5cbiAgQGluY2x1ZGUgc2JiLm1xKCRmcm9tOiBsYXJnZSkge1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgaW5zZXQtYmxvY2stc3RhcnQ6IDA7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG5cbi5zYmItb3ZlcmxheV9faGVhZGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldC1pbmxpbmUtc3RhcnQ6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBhbGlnbi1pdGVtczogc3RhcnQ7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IHZhcigtLXNiYi1zcGFjaW5nLXJlc3BvbnNpdmUteHMpO1xuICBwYWRkaW5nLWJsb2NrLWVuZDogMDtcbiAgei1pbmRleDogMTtcblxuICAqIHtcbiAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICB9XG59XG5cbi5zYmItb3ZlcmxheV9fY2xvc2Uge1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiBhdXRvO1xufVxuXG4uc2JiLW92ZXJsYXlfX2NvbnRlbnQge1xuICBAaW5jbHVkZSBzYmIuc2Nyb2xsYmFyLXJ1bGVzO1xuXG4gIGhlaWdodDogMTAwdmg7XG4gIG92ZXJmbG93OiBhdXRvO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG59XG5cbi5zYmItb3ZlcmxheV9fY29udGVudC1jb250YWluZXIge1xuICBwYWRkaW5nLWJsb2NrOiB2YXIoLS1fc2JiLW92ZXJsYXktcGFkZGluZy1ibG9jayk7XG59XG5cbi8vIEl0IGlzIG5lY2Vzc2FyeSB0byB1c2UgYW5pbWF0aW9ucyB3aXRoIGtleWZyYW1lcyBpbnN0ZWFkIG9mIHRyYW5zaXRpb25zIGluIG9yZGVyIG5vdCB0byBhbHRlclxuLy8gdGhlIGRlZmF1bHQgYGRpc3BsYXk6IGJsb2NrYCBvZiB0aGUgbW9kYWwgb3RoZXJ3aXNlIGl0IGNhdXNlcyBzZXZlcmFsIHByb2JsZW1zLFxuLy8gZXNwZWNpYWxseSBmb3IgYWNjZXNzaWJpbGl0eS5cbkBrZXlmcmFtZXMgb3BlbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIG9wZW4tbW92ZS1pbiB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSh2YXIoLS1zYmItc3BhY2luZy1maXhlZC00eCkpO1xuICB9XG5cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBjbG9zZSB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGNsb3NlLW1vdmUtb3V0IHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkodmFyKC0tc2JiLXNwYWNpbmctZml4ZWQtNHgpKTtcbiAgfVxufVxuIiwiaW1wb3J0IHsgdHlwZSBDU1NSZXN1bHRHcm91cCwgdHlwZSBQcm9wZXJ0eVZhbHVlcywgdHlwZSBUZW1wbGF0ZVJlc3VsdCwgdW5zYWZlQ1NTIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgcmVmIH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvcmVmLmpzJztcbmltcG9ydCB7IGh0bWwgfSBmcm9tICdsaXQvc3RhdGljLWh0bWwuanMnO1xuXG5pbXBvcnQgeyBTYmJTZWNvbmRhcnlCdXR0b25FbGVtZW50IH0gZnJvbSAnLi4vYnV0dG9uLnB1cmUudHMnO1xuaW1wb3J0IHsgU2JiQ29udGFpbmVyRWxlbWVudCB9IGZyb20gJy4uL2NvbnRhaW5lci5wdXJlLnRzJztcbmltcG9ydCB0eXBlIHsgU2JiRWxlbWVudFR5cGUsIFNiYk92ZXJsYXlDbG9zZUV2ZW50RGV0YWlscyB9IGZyb20gJy4uL2NvcmUudHMnO1xuaW1wb3J0IHtcbiAgYm94U2l6aW5nU3R5bGVzLFxuICBmb3JjZVR5cGUsXG4gIGZvcndhcmRFdmVudCxcbiAgaTE4bkNsb3NlRGlhbG9nLFxuICBpc1plcm9BbmltYXRpb25EdXJhdGlvbixcbiAgU2JiU2NyZWVuUmVhZGVyT25seUVsZW1lbnQsXG59IGZyb20gJy4uL2NvcmUudHMnO1xuXG5pbXBvcnQge1xuICBvdmVybGF5UmVmcyxcbiAgU2JiT3ZlcmxheUJhc2VFbGVtZW50LFxuICBTYmJPdmVybGF5Q2xvc2VFdmVudCxcbn0gZnJvbSAnLi9vdmVybGF5LWJhc2UtZWxlbWVudC50cyc7XG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9vdmVybGF5LnNjc3M/aW5saW5lJztcblxubGV0IG5leHRJZCA9IDA7XG5cbi8qKlxuICogSXQgZGlzcGxheXMgYW4gaW50ZXJhY3RpdmUgb3ZlcmxheSBlbGVtZW50LlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gcHJvdmlkZSBhIGNvbnRlbnQgZm9yIHRoZSBvdmVybGF5LlxuICogQGNzc3Byb3AgWy0tc2JiLW92ZXJsYXktei1pbmRleD12YXIoLS1zYmItb3ZlcmxheS1kZWZhdWx0LXotaW5kZXgpXSAtIFRvIHNwZWNpZnkgYSBjdXN0b20gc3RhY2sgb3JkZXIsXG4gKiB0aGUgYHotaW5kZXhgIGNhbiBiZSBvdmVycmlkZGVuIGJ5IGRlZmluaW5nIHRoaXMgQ1NTIHZhcmlhYmxlLiBUaGUgZGVmYXVsdCBgei1pbmRleGAgb2YgdGhlXG4gKiBjb21wb25lbnQgaXMgc2V0IHRvIGB2YXIoLS1zYmItb3ZlcmxheS1kZWZhdWx0LXotaW5kZXgpYCB3aXRoIGEgdmFsdWUgb2YgYDEwMDBgLlxuICovXG5leHBvcnQgY2xhc3MgU2JiT3ZlcmxheUVsZW1lbnQgZXh0ZW5kcyBTYmJPdmVybGF5QmFzZUVsZW1lbnQge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IGVsZW1lbnROYW1lOiBzdHJpbmcgPSAnc2JiLW92ZXJsYXknO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIGVsZW1lbnREZXBlbmRlbmNpZXM6IFNiYkVsZW1lbnRUeXBlW10gPSBbXG4gICAgU2JiU2Vjb25kYXJ5QnV0dG9uRWxlbWVudCxcbiAgICBTYmJDb250YWluZXJFbGVtZW50LFxuICAgIFNiYlNjcmVlblJlYWRlck9ubHlFbGVtZW50LFxuICBdO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbYm94U2l6aW5nU3R5bGVzLCB1bnNhZmVDU1Moc3R5bGUpXTtcblxuICAvLyBUT0RPOiBmaXggdXNpbmcgLi4uc3VwZXIuZXZlbnRzIHJlcXVpcmVzOiBodHRwczovL2dpdGh1Yi5jb20vc2JiLWRlc2lnbi1zeXN0ZW1zL2x5bmUtY29tcG9uZW50cy9pc3N1ZXMvMjYwMFxuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IGV2ZW50cyA9IHtcbiAgICBiZWZvcmVvcGVuOiAnYmVmb3Jlb3BlbicsXG4gICAgb3BlbjogJ29wZW4nLFxuICAgIGJlZm9yZWNsb3NlOiAnYmVmb3JlY2xvc2UnLFxuICAgIGNsb3NlOiAnY2xvc2UnLFxuICB9IGFzIGNvbnN0O1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGFsbG93IHRoZSBvdmVybGF5IGNvbnRlbnQgdG8gc3RyZXRjaCB0byBmdWxsIHdpZHRoLlxuICAgKiBCeSBkZWZhdWx0LCB0aGUgY29udGVudCBoYXMgdGhlIGFwcHJvcHJpYXRlIHBhZ2Ugc2l6ZS5cbiAgICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlLCB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBleHBhbmRlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBUaGlzIHdpbGwgYmUgZm9yd2FyZGVkIGFzIGFyaWEtbGFiZWwgdG8gdGhlIGNsb3NlIGJ1dHRvbiBlbGVtZW50LiAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnYWNjZXNzaWJpbGl0eS1jbG9zZS1sYWJlbCcgfSlcbiAgcHVibGljIGFjY2Vzc29yIGFjY2Vzc2liaWxpdHlDbG9zZUxhYmVsOiBzdHJpbmcgPSAnJztcblxuICBwcm90ZWN0ZWQgY2xvc2VBdHRyaWJ1dGU6IHN0cmluZyA9ICdzYmItb3ZlcmxheS1jbG9zZSc7XG4gIHByaXZhdGUgX292ZXJsYXlDb250ZW50RWxlbWVudDogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgdGhpcy5pZCB8fD0gYHNiYi1vdmVybGF5LSR7bmV4dElkKyt9YDtcblxuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICAvLyBJZiB0aGUgY29tcG9uZW50IGlzIGFscmVhZHkgb3BlbiBvbiBmaXJzdFVwZGF0ZSwgYW5ub3VuY2UgdGhlIHRpdGxlXG4gICAgaWYgKHRoaXMuaXNPcGVuKSB7XG4gICAgICB0aGlzLnNldEFyaWFMaXZlUmVmQ29udGVudCgpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBpc1plcm9BbmltYXRpb25EdXJhdGlvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24odGhpcywgJy0tc2JiLW92ZXJsYXktYW5pbWF0aW9uLWR1cmF0aW9uJyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlT3BlbmluZygpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlID0gJ29wZW5lZCc7XG4gICAgdGhpcy5pbmVydENvbnRyb2xsZXIuYWN0aXZhdGUoKTtcbiAgICB0aGlzLmZvY3VzVHJhcENvbnRyb2xsZXIuZm9jdXNJbml0aWFsRWxlbWVudCgpO1xuICAgIC8vIFVzZSB0aW1lb3V0IHRvIHJlYWQgbGFiZWwgYWZ0ZXIgZm9jdXNlZCBlbGVtZW50XG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLnNldEFyaWFMaXZlUmVmQ29udGVudCh0aGlzLmFjY2Vzc2liaWxpdHlMYWJlbCkpO1xuICAgIHRoaXMuZm9jdXNUcmFwQ29udHJvbGxlci5lbmFibGVkID0gdHJ1ZTtcbiAgICB0aGlzLmRpc3BhdGNoT3BlbkV2ZW50KCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgaGFuZGxlQ2xvc2luZygpOiB2b2lkIHtcbiAgICB0aGlzLl9vdmVybGF5Q29udGVudEVsZW1lbnQ/LnNjcm9sbFRvKDAsIDApO1xuICAgIHRoaXMuc3RhdGUgPSAnY2xvc2VkJztcbiAgICB0aGlzLmhpZGVQb3BvdmVyPy4oKTtcbiAgICB0aGlzLmluZXJ0Q29udHJvbGxlci5kZWFjdGl2YXRlKCk7XG4gICAgaWYgKCF0aGlzLnNraXBGb2N1c1Jlc3RvcmF0aW9uKSB7XG4gICAgICAvLyBNYW51YWxseSBmb2N1cyBsYXN0IGZvY3VzZWQgZWxlbWVudFxuICAgICAgdGhpcy5sYXN0Rm9jdXNlZEVsZW1lbnQ/LmZvY3VzKCk7XG4gICAgfVxuICAgIHRoaXMub3Blbk92ZXJsYXlDb250cm9sbGVyPy5hYm9ydCgpO1xuICAgIHRoaXMuZm9jdXNUcmFwQ29udHJvbGxlci5lbmFibGVkID0gZmFsc2U7XG4gICAgdGhpcy5yZW1vdmVJbnN0YW5jZUZyb21HbG9iYWxDb2xsZWN0aW9uKCk7XG4gICAgLy8gRW5hYmxlIHNjcm9sbGluZyBmb3IgY29udGVudCBiZWxvdyB0aGUgb3ZlcmxheSBpZiBubyBvdmVybGF5IGlzIG9wZW5cbiAgICBpZiAoIW92ZXJsYXlSZWZzLmxlbmd0aCkge1xuICAgICAgdGhpcy5zY3JvbGxIYW5kbGVyLmVuYWJsZVNjcm9sbCgpO1xuICAgIH1cbiAgICB0aGlzLmVzY2FwYWJsZU92ZXJsYXlDb250cm9sbGVyLmRpc2Nvbm5lY3QoKTtcbiAgICB0aGlzLmRpc3BhdGNoQ2xvc2VFdmVudCh7XG4gICAgICByZXR1cm5WYWx1ZTogdGhpcy5yZXR1cm5WYWx1ZSxcbiAgICAgIGNsb3NlVGFyZ2V0OiB0aGlzLm92ZXJsYXlDbG9zZUVsZW1lbnQsXG4gICAgfSk7XG4gIH1cblxuICAvLyBUT0RPOiByZW1vdmUgcGFyYW1ldGVyIGBkZXRhaWxgXG4gIHByb3RlY3RlZCBvdmVycmlkZSBkaXNwYXRjaEJlZm9yZUNsb3NlRXZlbnQoX2RldGFpbD86IFNiYk92ZXJsYXlDbG9zZUV2ZW50RGV0YWlscyk6IGJvb2xlYW4ge1xuICAgIC8qKiBAdHlwZSB7U2JiT3ZlcmxheUNsb3NlRXZlbnR9IEVtaXRzIHdoZW5ldmVyIHRoZSBjb21wb25lbnQgYmVnaW5zIHRoZSBjbG9zaW5nIHRyYW5zaXRpb24uIENhbiBiZSBjYW5jZWxlZC4gKi9cbiAgICByZXR1cm4gdGhpcy5kaXNwYXRjaEV2ZW50KFxuICAgICAgbmV3IFNiYk92ZXJsYXlDbG9zZUV2ZW50KCdiZWZvcmVjbG9zZScsIHtcbiAgICAgICAgY2FuY2VsYWJsZTogdHJ1ZSxcbiAgICAgICAgY2xvc2VBdHRyaWJ1dGU6IHRoaXMuY2xvc2VBdHRyaWJ1dGUsXG4gICAgICAgIGNsb3NlVGFyZ2V0OiB0aGlzLm92ZXJsYXlDbG9zZUVsZW1lbnQsXG4gICAgICAgIHJlc3VsdDogdGhpcy5yZXR1cm5WYWx1ZSxcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICAvLyBUT0RPOiByZW1vdmUgcGFyYW1ldGVyIGBkZXRhaWxgXG4gIHByb3RlY3RlZCBvdmVycmlkZSBkaXNwYXRjaENsb3NlRXZlbnQoX2RldGFpbD86IFNiYk92ZXJsYXlDbG9zZUV2ZW50RGV0YWlscyk6IGJvb2xlYW4ge1xuICAgIC8qKiBAdHlwZSB7U2JiT3ZlcmxheUNsb3NlRXZlbnR9IEVtaXRzIHdoZW5ldmVyIHRoZSBjb21wb25lbnQgaXMgY2xvc2VkLiAqL1xuICAgIHJldHVybiB0aGlzLmRpc3BhdGNoRXZlbnQoXG4gICAgICBuZXcgU2JiT3ZlcmxheUNsb3NlRXZlbnQoJ2Nsb3NlJywge1xuICAgICAgICBjbG9zZUF0dHJpYnV0ZTogdGhpcy5jbG9zZUF0dHJpYnV0ZSxcbiAgICAgICAgY2xvc2VUYXJnZXQ6IHRoaXMub3ZlcmxheUNsb3NlRWxlbWVudCxcbiAgICAgICAgcmVzdWx0OiB0aGlzLnJldHVyblZhbHVlLFxuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1vdmVybGF5X19jb250YWluZXJcIiBAYW5pbWF0aW9uZW5kPSR7dGhpcy5vbk92ZXJsYXlBbmltYXRpb25FbmR9PlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLW92ZXJsYXlcIj5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBAY2xpY2s9JHsoZXZlbnQ6IEV2ZW50KSA9PiB0aGlzLmNsb3NlT25TYmJPdmVybGF5Q2xvc2VDbGljayhldmVudCl9XG4gICAgICAgICAgICBjbGFzcz1cInNiYi1vdmVybGF5X193cmFwcGVyXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLW92ZXJsYXlfX2hlYWRlclwiPlxuICAgICAgICAgICAgICA8c2JiLXNlY29uZGFyeS1idXR0b25cbiAgICAgICAgICAgICAgICBjbGFzcz1cInNiYi1vdmVybGF5X19jbG9zZVwiXG4gICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIiR7dGhpcy5hY2Nlc3NpYmlsaXR5Q2xvc2VMYWJlbCB8fFxuICAgICAgICAgICAgICAgIGkxOG5DbG9zZURpYWxvZ1t0aGlzLmxhbmd1YWdlLmN1cnJlbnRdfVwiXG4gICAgICAgICAgICAgICAgP25lZ2F0aXZlPSR7dGhpcy5uZWdhdGl2ZX1cbiAgICAgICAgICAgICAgICBzaXplPVwibVwiXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgaWNvbi1uYW1lPVwiY3Jvc3Mtc21hbGxcIlxuICAgICAgICAgICAgICAgIHNiYi1vdmVybGF5LWNsb3NlXG4gICAgICAgICAgICAgID48L3NiYi1zZWNvbmRhcnktYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGNsYXNzPVwic2JiLW92ZXJsYXlfX2NvbnRlbnRcIlxuICAgICAgICAgICAgICAke3JlZigoZWw/OiBFbGVtZW50KSA9PiAodGhpcy5fb3ZlcmxheUNvbnRlbnRFbGVtZW50ID0gZWwgYXMgSFRNTERpdkVsZW1lbnQpKX1cbiAgICAgICAgICAgICAgQHNjcm9sbD0keyhlOiBFdmVudCkgPT4gZm9yd2FyZEV2ZW50KGUsIGRvY3VtZW50KX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPHNiYi1jb250YWluZXJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInNiYi1vdmVybGF5X19jb250ZW50LWNvbnRhaW5lclwiXG4gICAgICAgICAgICAgICAgP2V4cGFuZGVkPSR7dGhpcy5leHBhbmRlZH1cbiAgICAgICAgICAgICAgICBjb2xvcj1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxzbG90Pjwvc2xvdD5cbiAgICAgICAgICAgICAgPC9zYmItY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8c2JiLXNjcmVlbi1yZWFkZXItb25seSBhcmlhLWxpdmU9XCJwb2xpdGVcIj48L3NiYi1zY3JlZW4tcmVhZGVyLW9ubHk+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLW92ZXJsYXknOiBTYmJPdmVybGF5RWxlbWVudDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FDd0JBLElBQUksU0FBUzs7Ozs7Ozs7O0lBVUEsMkJBQWlCO21CQUFTOzs7Ozs7O2NBQTFCLDBCQUEwQixZQUFxQjs7O0FBdUIxQyxTQUFBLDRCQUFBLGtCQUFBLE1BQUEsd0JBQW9CLE1BQUs7QUFLekIsU0FBQSw0Q0FBQSxrQkFBQSxNQUFBLDRCQUFBLEVBQUEsa0JBQUEsTUFBQSx1Q0FBa0MsR0FBRTtBQUUxQyxRQUFBLGtCQUFjLGtCQUFBLE1BQUEsMkNBQUEsRUFBVztBQUMzQixRQUFBLHlCQUE2Qzs7OzsyQkFWcEQsV0FBVyxFQUNYLFNBQVM7SUFBRSxTQUFTO0lBQU0sTUFBTTtJQUFTLENBQUMsQ0FBQTswQ0FJMUMsV0FBVyxFQUNYLFNBQVMsRUFBRSxXQUFXLDZCQUE2QixDQUFDLENBQUE7QUFKckQsZ0JBQUEsTUFBQSxNQUFBLHNCQUFBO0lBQUEsTUFBQTtJQUFBLE1BQUE7SUFBQSxRQUFBO0lBQUEsU0FBQTtJQUFBLFFBQUE7S0FBQSxNQUFBLFFBQUEsY0FBQTtLQUFBLE1BQUEsUUFBQSxJQUFnQjtLQUFRLE1BQUEsS0FBQSxVQUFBO0FBQUEsVUFBUixXQUFROztLQUFBO0lBQUEsVUFBQTtJQUFBLEVBQUEsd0JBQUEsNEJBQUE7QUFLeEIsZ0JBQUEsTUFBQSxNQUFBLHFDQUFBO0lBQUEsTUFBQTtJQUFBLE1BQUE7SUFBQSxRQUFBO0lBQUEsU0FBQTtJQUFBLFFBQUE7S0FBQSxNQUFBLFFBQUEsNkJBQUE7S0FBQSxNQUFBLFFBQUEsSUFBZ0I7S0FBdUIsTUFBQSxLQUFBLFVBQUE7QUFBQSxVQUF2QiwwQkFBdUI7O0tBQUE7SUFBQSxVQUFBO0lBQUEsRUFBQSx1Q0FBQSwyQ0FBQTs7Ozs7Ozs7O0FBM0JQLFFBQUEsY0FBc0I7OztBQUMvQixRQUFBLHNCQUF3QztJQUM3RDtJQUNBO0lBQ0E7SUFDRDs7O0FBQ3NCLFFBQUEsU0FBeUIsQ0FBQyxpQkFBaUIsVUFBVSxnQkFBTSxDQUFDOzs7QUFHbkQsUUFBQSxTQUFTO0lBQ3ZDLFlBQVk7SUFDWixNQUFNO0lBQ04sYUFBYTtJQUNiLE9BQU87SUFDQzs7RUFRVjs7Ozs7RUFBQSxJQUFnQixXQUFRO0FBQUEsVUFBQSxNQUFBOztFQUF4QixJQUFnQixTQUFRLE9BQUE7QUFBQSxTQUFBLDRCQUFBOztFQUt4Qjs7RUFBQSxJQUFnQiwwQkFBdUI7QUFBQSxVQUFBLE1BQUE7O0VBQXZDLElBQWdCLHdCQUF1QixPQUFBO0FBQUEsU0FBQSwyQ0FBQTs7RUFLdkIsb0JBQWlCO0FBQy9CLFFBQUssT0FBTyxlQUFlO0FBRTNCLFNBQU0sbUJBQW1COztFQUdSLGFBQWEsbUJBQXVDO0FBQ3JFLFNBQU0sYUFBYSxrQkFBa0I7QUFHckMsT0FBSSxLQUFLLE9BQ1AsTUFBSyx1QkFBdUI7O0VBSXRCLDBCQUF1QjtBQUMvQixVQUFPLHdCQUF3QixNQUFNLG1DQUFtQzs7RUFHaEUsZ0JBQWE7QUFDckIsUUFBSyxRQUFRO0FBQ2IsUUFBSyxnQkFBZ0IsVUFBVTtBQUMvQixRQUFLLG9CQUFvQixxQkFBcUI7QUFFOUMsb0JBQWlCLEtBQUssc0JBQXNCLEtBQUssbUJBQW1CLENBQUM7QUFDckUsUUFBSyxvQkFBb0IsVUFBVTtBQUNuQyxRQUFLLG1CQUFtQjs7RUFHUCxnQkFBYTtBQUM5QixRQUFLLHdCQUF3QixTQUFTLEdBQUcsRUFBRTtBQUMzQyxRQUFLLFFBQVE7QUFDYixRQUFLLGVBQWU7QUFDcEIsUUFBSyxnQkFBZ0IsWUFBWTtBQUNqQyxPQUFJLENBQUMsS0FBSyxxQkFFUixNQUFLLG9CQUFvQixPQUFPO0FBRWxDLFFBQUssdUJBQXVCLE9BQU87QUFDbkMsUUFBSyxvQkFBb0IsVUFBVTtBQUNuQyxRQUFLLG9DQUFvQztBQUV6QyxPQUFJLENBQUMsWUFBWSxPQUNmLE1BQUssY0FBYyxjQUFjO0FBRW5DLFFBQUssMkJBQTJCLFlBQVk7QUFDNUMsUUFBSyxtQkFBbUI7SUFDdEIsYUFBYSxLQUFLO0lBQ2xCLGFBQWEsS0FBSztJQUNuQixDQUFDOztFQUllLHlCQUF5QixTQUFxQzs7QUFFL0UsVUFBTyxLQUFLLGNBQ1YsSUFBSSxxQkFBcUIsZUFBZTtJQUN0QyxZQUFZO0lBQ1osZ0JBQWdCLEtBQUs7SUFDckIsYUFBYSxLQUFLO0lBQ2xCLFFBQVEsS0FBSztJQUNkLENBQUMsQ0FDSDs7RUFJZ0IsbUJBQW1CLFNBQXFDOztBQUV6RSxVQUFPLEtBQUssY0FDVixJQUFJLHFCQUFxQixTQUFTO0lBQ2hDLGdCQUFnQixLQUFLO0lBQ3JCLGFBQWEsS0FBSztJQUNsQixRQUFRLEtBQUs7SUFDZCxDQUFDLENBQ0g7O0VBR2dCLFNBQU07QUFDdkIsVUFBTyxNQUFJOzBEQUMyQyxLQUFLLHNCQUFxQjs7O3NCQUc5RCxVQUFpQixLQUFLLDRCQUE0QixNQUFNLENBQUE7Ozs7Ozs4QkFNaEQsS0FBSywyQkFDbkIsZ0JBQWdCLEtBQUssU0FBUyxTQUFROzRCQUMxQixLQUFLLFNBQUE7Ozs7Ozs7OztnQkFTakIsS0FBSyxPQUFrQixLQUFLLHlCQUF5QixHQUFzQixDQUFBO3lCQUNsRSxNQUFhLGFBQWEsR0FBRyxTQUFTLENBQUE7Ozs7NEJBSW5DLEtBQUssU0FBQSJ9