@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
@@ -0,0 +1,119 @@
1
+ import { __esDecorate, __runInitializers } from "tslib";
2
+ import { html, isServer, unsafeCSS } from "lit";
3
+ import { property } from "lit/decorators.js";
4
+ import { SbbElement, SbbNegativeMixin, forceType, hostScrollbarStyles } from "./core.js";
5
+ import { ResizeController } from "@lit-labs/observers/resize-controller.js";
6
+ //#region src/elements/table/table-wrapper/table-wrapper.scss?inline
7
+ var table_wrapper_default = ":host {\n display: block;\n overflow: auto;\n --sbb-scrollbar-width: var(--sbb-spacing-fixed-3x);\n --sbb-scrollbar-thumb-width: 0.5rem;\n --sbb-scrollbar-thumb-width-hover: var(--sbb-scrollbar-thumb-width);\n --sbb-scrollbar-width-firefox: auto;\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: var(--sbb-background-color-4);\n}\n\n:host(:focus-visible) {\n outline-offset: var(--sbb-focus-outline-offset);\n outline: var(--sbb-focus-outline-color) var(--sbb-focus-outline-style, solid) var(--sbb-focus-outline-width);\n}\n\n::slotted(.sbb-table) {\n width: 100%;\n}\n\n:host([negative]) {\n --sbb-scrollbar-width: var(--sbb-spacing-fixed-3x);\n --sbb-scrollbar-thumb-width: 0.5rem;\n --sbb-scrollbar-thumb-width-hover: var(--sbb-scrollbar-thumb-width);\n --sbb-scrollbar-width-firefox: auto;\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-scrollbar-track-color: var(--sbb-background-color-4-negative);\n}";
8
+ //#endregion
9
+ //#region src/elements/table/table-wrapper/table-wrapper.component.ts
10
+ /**
11
+ * Wraps a table to enhance its functionality.
12
+ *
13
+ * @slot - Use the unnamed slot to add the table.
14
+ */
15
+ var SbbTableWrapperElement = (() => {
16
+ let _classSuper = SbbNegativeMixin(SbbElement);
17
+ let _focusable_decorators;
18
+ let _focusable_initializers = [];
19
+ let _focusable_extraInitializers = [];
20
+ return class SbbTableWrapperElement extends _classSuper {
21
+ static {
22
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
23
+ _focusable_decorators = [forceType(), property({
24
+ reflect: true,
25
+ type: Boolean
26
+ })];
27
+ __esDecorate(this, null, _focusable_decorators, {
28
+ kind: "accessor",
29
+ name: "focusable",
30
+ static: false,
31
+ private: false,
32
+ access: {
33
+ has: (obj) => "focusable" in obj,
34
+ get: (obj) => obj.focusable,
35
+ set: (obj, value) => {
36
+ obj.focusable = value;
37
+ }
38
+ },
39
+ metadata: _metadata
40
+ }, _focusable_initializers, _focusable_extraInitializers);
41
+ if (_metadata) Object.defineProperty(this, Symbol.metadata, {
42
+ enumerable: true,
43
+ configurable: true,
44
+ writable: true,
45
+ value: _metadata
46
+ });
47
+ }
48
+ static {
49
+ this.elementName = "sbb-table-wrapper";
50
+ }
51
+ static {
52
+ this.role = "section";
53
+ }
54
+ static {
55
+ this.styles = [hostScrollbarStyles, unsafeCSS(table_wrapper_default)];
56
+ }
57
+ #focusable_accessor_storage = __runInitializers(this, _focusable_initializers, false);
58
+ /** Whether the table wrapper is focusable. */
59
+ get focusable() {
60
+ return this.#focusable_accessor_storage;
61
+ }
62
+ set focusable(value) {
63
+ this.#focusable_accessor_storage = value;
64
+ }
65
+ constructor() {
66
+ super();
67
+ __runInitializers(this, _focusable_extraInitializers);
68
+ this.addController(new ResizeController(this, {
69
+ skipInitial: true,
70
+ callback: () => this._checkHorizontalScrollbarOffset()
71
+ }));
72
+ this.addEventListener?.("scroll", () => this._checkHorizontalScrollbarOffset(), { passive: true });
73
+ }
74
+ connectedCallback() {
75
+ super.connectedCallback();
76
+ this._updateScrollbarClass();
77
+ }
78
+ willUpdate(changedProperties) {
79
+ super.willUpdate(changedProperties);
80
+ if (changedProperties.has("focusable")) if (this.focusable) {
81
+ if (!this.hasAttribute("tabindex")) this.setAttribute("tabindex", "0");
82
+ } else this.removeAttribute("tabindex");
83
+ if (changedProperties.has("negative")) this._updateScrollbarClass();
84
+ }
85
+ _updateScrollbarClass() {
86
+ if (isServer) return;
87
+ if (this.negative) {
88
+ this.classList.remove("sbb-scrollbar-thick-track-visible");
89
+ this.classList.add("sbb-scrollbar-thick-negative-track-visible");
90
+ } else {
91
+ this.classList.remove("sbb-scrollbar-thick-negative-track-visible");
92
+ this.classList.add("sbb-scrollbar-thick-track-visible");
93
+ }
94
+ }
95
+ /**
96
+ * Calculates whether the table is horizontally scrolled and adds the
97
+ * corresponding class `sbb-table-wrapper-offset-${none | left | right | both}`
98
+ */
99
+ _checkHorizontalScrollbarOffset() {
100
+ const state = this._calculateScrollOffset();
101
+ this.classList.remove(`sbb-table-wrapper-offset-none`, `sbb-table-wrapper-offset-left`, `sbb-table-wrapper-offset-right`, `sbb-table-wrapper-offset-both`);
102
+ this.classList.add(`sbb-table-wrapper-offset-${state}`);
103
+ }
104
+ _calculateScrollOffset() {
105
+ if (this.scrollWidth === this.offsetWidth) return "none";
106
+ const isAtStart = this.scrollLeft === 0;
107
+ const isAtEnd = this.scrollWidth - this.scrollLeft - this.offsetWidth <= 1;
108
+ if (isAtStart) return isAtEnd ? "none" : "right";
109
+ return isAtEnd ? "left" : "both";
110
+ }
111
+ render() {
112
+ return html`<slot></slot>`;
113
+ }
114
+ };
115
+ })();
116
+ //#endregion
117
+ export { SbbTableWrapperElement as t };
118
+
119
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtd3JhcHBlci5jb21wb25lbnQtRGNMd0VEenIuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3RhYmxlL3RhYmxlLXdyYXBwZXIvdGFibGUtd3JhcHBlci5zY3NzP2lubGluZSIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy90YWJsZS90YWJsZS13cmFwcGVyL3RhYmxlLXdyYXBwZXIuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJy4uLy4uL2NvcmUvc3R5bGVzJyBhcyBzYmI7XG5cbjpob3N0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBhdXRvO1xuXG4gIEBpbmNsdWRlIHNiYi5zY3JvbGxiYXItdmFyaWFibGVzKCRzaXplOiB0aGljaywgJG5lZ2F0aXZlOiBmYWxzZSwgJHRyYWNrLXZpc2libGU6IHRydWUpO1xufVxuXG46aG9zdCg6Zm9jdXMtdmlzaWJsZSkge1xuICBAaW5jbHVkZSBzYmIuZm9jdXMtb3V0bGluZTtcbn1cblxuOjpzbG90dGVkKC5zYmItdGFibGUpIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbjpob3N0KFtuZWdhdGl2ZV0pIHtcbiAgQGluY2x1ZGUgc2JiLnNjcm9sbGJhci12YXJpYWJsZXMoJHNpemU6IHRoaWNrLCAkbmVnYXRpdmU6IHRydWUsICR0cmFjay12aXNpYmxlOiB0cnVlKTtcbn1cbiIsImltcG9ydCB7IFJlc2l6ZUNvbnRyb2xsZXIgfSBmcm9tICdAbGl0LWxhYnMvb2JzZXJ2ZXJzL3Jlc2l6ZS1jb250cm9sbGVyLmpzJztcbmltcG9ydCB7XG4gIHR5cGUgQ1NTUmVzdWx0R3JvdXAsXG4gIGh0bWwsXG4gIGlzU2VydmVyLFxuICB0eXBlIFByb3BlcnR5VmFsdWVzLFxuICB0eXBlIFRlbXBsYXRlUmVzdWx0LFxuICB1bnNhZmVDU1MsXG59IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgZm9yY2VUeXBlLCBob3N0U2Nyb2xsYmFyU3R5bGVzLCBTYmJFbGVtZW50LCBTYmJOZWdhdGl2ZU1peGluIH0gZnJvbSAnLi4vLi4vY29yZS50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL3RhYmxlLXdyYXBwZXIuc2Nzcz9pbmxpbmUnO1xuXG4vKipcbiAqIFdyYXBzIGEgdGFibGUgdG8gZW5oYW5jZSBpdHMgZnVuY3Rpb25hbGl0eS5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCB0aGUgdGFibGUuXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJUYWJsZVdyYXBwZXJFbGVtZW50IGV4dGVuZHMgU2JiTmVnYXRpdmVNaXhpbihTYmJFbGVtZW50KSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItdGFibGUtd3JhcHBlcic7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgcm9sZSA9ICdzZWN0aW9uJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW2hvc3RTY3JvbGxiYXJTdHlsZXMsIHVuc2FmZUNTUyhzdHlsZSldO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSB0YWJsZSB3cmFwcGVyIGlzIGZvY3VzYWJsZS4gKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUsIHR5cGU6IEJvb2xlYW4gfSlcbiAgcHVibGljIGFjY2Vzc29yIGZvY3VzYWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuYWRkQ29udHJvbGxlcihcbiAgICAgIG5ldyBSZXNpemVDb250cm9sbGVyKHRoaXMsIHtcbiAgICAgICAgc2tpcEluaXRpYWw6IHRydWUsXG4gICAgICAgIGNhbGxiYWNrOiAoKSA9PiB0aGlzLl9jaGVja0hvcml6b250YWxTY3JvbGxiYXJPZmZzZXQoKSxcbiAgICAgIH0pLFxuICAgICk7XG5cbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/Lignc2Nyb2xsJywgKCkgPT4gdGhpcy5fY2hlY2tIb3Jpem9udGFsU2Nyb2xsYmFyT2Zmc2V0KCksIHtcbiAgICAgIHBhc3NpdmU6IHRydWUsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcblxuICAgIC8vIFdoZW4gaW5jbHVkaW5nIHRoZSBzY3JvbGxiYXIgc3R5bGVzIG9uIHRoZSBob3N0LCB0aGVyZSBpcyBubyBob3ZlciBlZmZlY3Qgb2YgdGhlIHNjcm9sbGJhciBwb3NzaWJsZS5cbiAgICAvLyBJbiBtb3N0IGNhc2VzLCB0aGUgY29tcG9uZW50IHdpbGwgYmUgdXNlZCBpbiBMaWdodCBET00uIFRvIGFsc28gc3VwcG9ydCB0aGUgaG92ZXIgZWZmZWN0LFxuICAgIC8vIHdlIGFkZGl0aW9uYWxseSBhZGQgdGhlIHNjcm9sbGJhciBDU1MgY2xhc3NlcyB0byB0aGUgaG9zdC5cbiAgICAvLyBUaGlzIGlzIGFuIGV4Y2VwdGlvbiBhcyB3ZSBub3JtYWxseSBkb24ndCBhbHRlciB0aGUgY2xhc3NMaXN0IG9mIHRoZSBob3N0LlxuICAgIHRoaXMuX3VwZGF0ZVNjcm9sbGJhckNsYXNzKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgd2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci53aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ2ZvY3VzYWJsZScpKSB7XG4gICAgICBpZiAodGhpcy5mb2N1c2FibGUpIHtcbiAgICAgICAgaWYgKCF0aGlzLmhhc0F0dHJpYnV0ZSgndGFiaW5kZXgnKSkge1xuICAgICAgICAgIHRoaXMuc2V0QXR0cmlidXRlKCd0YWJpbmRleCcsICcwJyk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMucmVtb3ZlQXR0cmlidXRlKCd0YWJpbmRleCcpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ25lZ2F0aXZlJykpIHtcbiAgICAgIHRoaXMuX3VwZGF0ZVNjcm9sbGJhckNsYXNzKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlU2Nyb2xsYmFyQ2xhc3MoKTogdm9pZCB7XG4gICAgaWYgKGlzU2VydmVyKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh0aGlzLm5lZ2F0aXZlKSB7XG4gICAgICB0aGlzLmNsYXNzTGlzdC5yZW1vdmUoJ3NiYi1zY3JvbGxiYXItdGhpY2stdHJhY2stdmlzaWJsZScpO1xuICAgICAgdGhpcy5jbGFzc0xpc3QuYWRkKCdzYmItc2Nyb2xsYmFyLXRoaWNrLW5lZ2F0aXZlLXRyYWNrLXZpc2libGUnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jbGFzc0xpc3QucmVtb3ZlKCdzYmItc2Nyb2xsYmFyLXRoaWNrLW5lZ2F0aXZlLXRyYWNrLXZpc2libGUnKTtcbiAgICAgIHRoaXMuY2xhc3NMaXN0LmFkZCgnc2JiLXNjcm9sbGJhci10aGljay10cmFjay12aXNpYmxlJyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqICBDYWxjdWxhdGVzIHdoZXRoZXIgdGhlIHRhYmxlIGlzIGhvcml6b250YWxseSBzY3JvbGxlZCBhbmQgYWRkcyB0aGVcbiAgICogIGNvcnJlc3BvbmRpbmcgY2xhc3MgYHNiYi10YWJsZS13cmFwcGVyLW9mZnNldC0ke25vbmUgfCBsZWZ0IHwgcmlnaHQgfCBib3RofWBcbiAgICovXG4gIHByaXZhdGUgX2NoZWNrSG9yaXpvbnRhbFNjcm9sbGJhck9mZnNldCgpOiB2b2lkIHtcbiAgICBjb25zdCBzdGF0ZSA9IHRoaXMuX2NhbGN1bGF0ZVNjcm9sbE9mZnNldCgpO1xuICAgIHRoaXMuY2xhc3NMaXN0LnJlbW92ZShcbiAgICAgIGBzYmItdGFibGUtd3JhcHBlci1vZmZzZXQtbm9uZWAsXG4gICAgICBgc2JiLXRhYmxlLXdyYXBwZXItb2Zmc2V0LWxlZnRgLFxuICAgICAgYHNiYi10YWJsZS13cmFwcGVyLW9mZnNldC1yaWdodGAsXG4gICAgICBgc2JiLXRhYmxlLXdyYXBwZXItb2Zmc2V0LWJvdGhgLFxuICAgICk7XG4gICAgdGhpcy5jbGFzc0xpc3QuYWRkKGBzYmItdGFibGUtd3JhcHBlci1vZmZzZXQtJHtzdGF0ZX1gKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NhbGN1bGF0ZVNjcm9sbE9mZnNldCgpOiAnbm9uZScgfCAnbGVmdCcgfCAncmlnaHQnIHwgJ2JvdGgnIHtcbiAgICBpZiAodGhpcy5zY3JvbGxXaWR0aCA9PT0gdGhpcy5vZmZzZXRXaWR0aCkge1xuICAgICAgcmV0dXJuICdub25lJztcbiAgICB9XG4gICAgY29uc3QgaXNBdFN0YXJ0ID0gdGhpcy5zY3JvbGxMZWZ0ID09PSAwO1xuICAgIC8vIEluIHNvbWUgY2FzZXMgdGhlIGNvbWJpbmVkIHZhbHVlIG9mIHNjcm9sbExlZnQgYW5kIG9mZnNldFdpZHRoIGlzIG9mZiBieVxuICAgIC8vIDEgcGl4ZWwgZnJvbSB0aGUgc2Nyb2xsV2lkdGguXG4gICAgY29uc3QgaXNBdEVuZCA9IHRoaXMuc2Nyb2xsV2lkdGggLSB0aGlzLnNjcm9sbExlZnQgLSB0aGlzLm9mZnNldFdpZHRoIDw9IDE7XG5cbiAgICBpZiAoaXNBdFN0YXJ0KSB7XG4gICAgICByZXR1cm4gaXNBdEVuZCA/ICdub25lJyA6ICdyaWdodCc7XG4gICAgfVxuICAgIHJldHVybiBpc0F0RW5kID8gJ2xlZnQnIDogJ2JvdGgnO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgPHNsb3Q+PC9zbG90PmA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi10YWJsZS13cmFwcGVyJzogU2JiVGFibGVXcmFwcGVyRWxlbWVudDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztJQ29CYSxnQ0FBc0I7bUJBQVMsaUJBQWlCLFdBQVc7Ozs7Y0FBM0QsK0JBQStCLFlBQTRCOzs7NEJBTXJFLFdBQVcsRUFDWCxTQUFTO0lBQUUsU0FBUztJQUFNLE1BQU07SUFBUyxDQUFDLENBQUE7QUFDM0MsZ0JBQUEsTUFBQSxNQUFBLHVCQUFBO0lBQUEsTUFBQTtJQUFBLE1BQUE7SUFBQSxRQUFBO0lBQUEsU0FBQTtJQUFBLFFBQUE7S0FBQSxNQUFBLFFBQUEsZUFBQTtLQUFBLE1BQUEsUUFBQSxJQUFnQjtLQUFTLE1BQUEsS0FBQSxVQUFBO0FBQUEsVUFBVCxZQUFTOztLQUFBO0lBQUEsVUFBQTtJQUFBLEVBQUEseUJBQUEsNkJBQUE7Ozs7Ozs7OztBQVBPLFFBQUEsY0FBc0I7OztBQUN0QixRQUFBLE9BQU87OztBQUNoQixRQUFBLFNBQXlCLENBQUMscUJBQXFCLFVBQVUsc0JBQU0sQ0FBQzs7RUFLdkYsOEJBQUEsa0JBQUEsTUFBQSx5QkFBcUMsTUFBSzs7RUFBMUMsSUFBZ0IsWUFBUztBQUFBLFVBQUEsTUFBQTs7RUFBekIsSUFBZ0IsVUFBUyxPQUFBO0FBQUEsU0FBQSw2QkFBQTs7RUFFekIsY0FBQTtBQUNFLFVBQU87O0FBQ1AsUUFBSyxjQUNILElBQUksaUJBQWlCLE1BQU07SUFDekIsYUFBYTtJQUNiLGdCQUFnQixLQUFLLGlDQUFBO0lBQ3RCLENBQUMsQ0FDSDtBQUVELFFBQUssbUJBQW1CLGdCQUFnQixLQUFLLGlDQUFpQyxFQUFFLEVBQzlFLFNBQVMsTUFDVixDQUFDOztFQUdZLG9CQUFpQjtBQUMvQixTQUFNLG1CQUFtQjtBQU16QixRQUFLLHVCQUF1Qjs7RUFHWCxXQUFXLG1CQUF1QztBQUNuRSxTQUFNLFdBQVcsa0JBQWtCO0FBRW5DLE9BQUksa0JBQWtCLElBQUksWUFBWSxDQUNwQyxLQUFJLEtBQUs7UUFDSCxDQUFDLEtBQUssYUFBYSxXQUFXLENBQ2hDLE1BQUssYUFBYSxZQUFZLElBQUk7U0FHcEMsTUFBSyxnQkFBZ0IsV0FBVztBQUlwQyxPQUFJLGtCQUFrQixJQUFJLFdBQVcsQ0FDbkMsTUFBSyx1QkFBdUI7O0VBSXhCLHdCQUFxQjtBQUMzQixPQUFJLFNBQ0Y7QUFFRixPQUFJLEtBQUssVUFBVTtBQUNqQixTQUFLLFVBQVUsT0FBTyxvQ0FBb0M7QUFDMUQsU0FBSyxVQUFVLElBQUksNkNBQTZDO1VBQzNEO0FBQ0wsU0FBSyxVQUFVLE9BQU8sNkNBQTZDO0FBQ25FLFNBQUssVUFBVSxJQUFJLG9DQUFvQzs7Ozs7OztFQVFuRCxrQ0FBK0I7R0FDckMsTUFBTSxRQUFRLEtBQUssd0JBQXdCO0FBQzNDLFFBQUssVUFBVSxPQUNiLGlDQUNBLGlDQUNBLGtDQUNBLGdDQUNEO0FBQ0QsUUFBSyxVQUFVLElBQUksNEJBQTRCLFFBQVE7O0VBR2pELHlCQUFzQjtBQUM1QixPQUFJLEtBQUssZ0JBQWdCLEtBQUssWUFDNUIsUUFBTztHQUVULE1BQU0sWUFBWSxLQUFLLGVBQWU7R0FHdEMsTUFBTSxVQUFVLEtBQUssY0FBYyxLQUFLLGFBQWEsS0FBSyxlQUFlO0FBRXpFLE9BQUksVUFDRixRQUFPLFVBQVUsU0FBUztBQUU1QixVQUFPLFVBQVUsU0FBUzs7RUFHVCxTQUFNO0FBQ3ZCLFVBQU8sSUFBSSJ9
@@ -1,4 +1,4 @@
1
- import { t as SbbTableWrapperElement } from "./table-wrapper.component-iSeT-FPH.js";
1
+ import { t as SbbTableWrapperElement } from "./table-wrapper.component-DcLwEDzr.js";
2
2
  import "./table.pure.js";
3
3
  //#region src/elements/table.ts
4
4
  /** @entrypoint */
@@ -1,2 +1,2 @@
1
- import { t as SbbTableWrapperElement } from "./table-wrapper.component-iSeT-FPH.js";
1
+ import { t as SbbTableWrapperElement } from "./table-wrapper.component-DcLwEDzr.js";
2
2
  export { SbbTableWrapperElement };
@@ -1 +1 @@
1
- {"version":3,"file":"tab.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/tabs/tab/tab.component.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,cAAc,EAAQ,KAAK,cAAc,EAAa,MAAM,KAAK,CAAC;AAEhF,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAM9E;;;;;GAKG;AACH,qBAAa,aAAc,SAAQ,UAAU;IAC3C,gBAAgC,WAAW,EAAE,MAAM,CAAa;IAChE,OAAuB,IAAI,SAAc;IACzC,OAAuB,MAAM,EAAE,cAAc,CAAoB;IACjE,gBAAuB,MAAM;;MAElB;IAEX,OAAO,CAAC,yBAAyB,CAI9B;IAEH,mDAAmD;IACnD,IAAW,KAAK,IAAI,kBAAkB,GAAG,IAAI,CAI5C;IAED,sCAAsC;IACtC,IAAW,KAAK,IAAI,kBAAkB,GAAG,IAAI,CAE5C;IAEe,iBAAiB,IAAI,IAAI;IAYzC,gBAAgB;IAChB,SAAS,CAAC,QAAQ,IAAI,IAAI;IAK1B,gBAAgB;IAChB,SAAS,CAAC,UAAU,IAAI,IAAI;IAK5B,OAAO,CAAC,0BAA0B;cAIf,MAAM,IAAI,cAAc;CAG5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,SAAS,EAAE,aAAa,CAAC;KAC1B;CACF"}
1
+ {"version":3,"file":"tab.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/tabs/tab/tab.component.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,cAAc,EAAQ,KAAK,cAAc,EAAa,MAAM,KAAK,CAAC;AAEhF,OAAO,EAAuB,UAAU,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAI9E;;;;;GAKG;AACH,qBAAa,aAAc,SAAQ,UAAU;IAC3C,gBAAgC,WAAW,EAAE,MAAM,CAAa;IAChE,OAAuB,IAAI,SAAc;IACzC,OAAuB,MAAM,EAAE,cAAc,CAA2C;IACxF,gBAAuB,MAAM;;MAElB;IAEX,OAAO,CAAC,yBAAyB,CAI9B;IAEH,mDAAmD;IACnD,IAAW,KAAK,IAAI,kBAAkB,GAAG,IAAI,CAI5C;IAED,sCAAsC;IACtC,IAAW,KAAK,IAAI,kBAAkB,GAAG,IAAI,CAE5C;IAEe,iBAAiB,IAAI,IAAI;IAWzC,gBAAgB;IAChB,SAAS,CAAC,QAAQ,IAAI,IAAI;IAK1B,gBAAgB;IAChB,SAAS,CAAC,UAAU,IAAI,IAAI;IAK5B,OAAO,CAAC,0BAA0B;cAIf,MAAM,IAAI,cAAc;CAG5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,SAAS,EAAE,aAAa,CAAC;KAC1B;CACF"}
@@ -1,2 +1,2 @@
1
- import { t as SbbTabElement } from "../../tab.component-DteuwiHv.js";
1
+ import { t as SbbTabElement } from "../../tab.component-BVhYPy5Y.js";
2
2
  export { SbbTabElement };
@@ -1,7 +1,7 @@
1
1
  import { t as SbbTabGroupElement } from "./tab-group.component-DX7BY7Xy.js";
2
2
  import { t as SbbTabLabelElement } from "./tab-label.component-Du1W0dxN.js";
3
3
  import { t as SbbTabNavBarElement } from "./tab-nav-bar.component-BTPTHy2C.js";
4
- import { t as SbbTabElement } from "./tab.component-DteuwiHv.js";
4
+ import { t as SbbTabElement } from "./tab.component-BVhYPy5Y.js";
5
5
  import { n as tabLabelCommonStyles, t as tabGroupCommonStyles } from "./styles-D_8dMc_0.js";
6
6
  import "./tabs.pure.js";
7
7
  //#region src/elements/tabs.ts
@@ -1,6 +1,6 @@
1
1
  import { t as SbbTabGroupElement } from "./tab-group.component-DX7BY7Xy.js";
2
2
  import { t as SbbTabLabelElement } from "./tab-label.component-Du1W0dxN.js";
3
3
  import { t as SbbTabNavBarElement } from "./tab-nav-bar.component-BTPTHy2C.js";
4
- import { t as SbbTabElement } from "./tab.component-DteuwiHv.js";
4
+ import { t as SbbTabElement } from "./tab.component-BVhYPy5Y.js";
5
5
  import { n as tabLabelCommonStyles, t as tabGroupCommonStyles } from "./styles-D_8dMc_0.js";
6
6
  export { SbbTabElement, SbbTabGroupElement, SbbTabLabelElement, SbbTabNavBarElement, tabGroupCommonStyles, tabLabelCommonStyles };
@@ -1 +1 @@
1
- {"version":3,"file":"tooltip.component.d.ts","sourceRoot":"","sources":["../../../../src/elements/tooltip/tooltip.component.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EAGnB,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,cAAc,EAEpB,MAAM,KAAK,CAAC;AAGb,OAAO,EAYL,uBAAuB,EAGxB,MAAM,YAAY,CAAC;AAIpB;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,EAAE,CAAC;CACrC;;AAYD;;;;;;;;;;GAUG;AACH,qBAAa,iBAAkB,SAAQ,sBAAyC;IAC9E,gBAAgC,WAAW,EAAE,MAAM,CAAiB;IACpE,gBAAgC,IAAI,aAAa;IACjD,OAAuB,MAAM,EAAE,cAAc,CAAuC;IAEpF,OAAO,CAAC,MAAM,CAAC,cAAc,CAAU;IAUvC;;;;OAIG;IACH,SAEgB,OAAO,EAAE,WAAW,GAAG,IAAI,CAAQ;IAEnD;;;;;OAKG;IACH,IACW,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAExC;IACD,IAAW,SAAS,IAAI,MAAM,CAE7B;IACD,OAAO,CAAC,UAAU,CAAuB;IAEzC;;;;;OAKG;IACH,IACW,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAEzC;IACD,IAAW,UAAU,IAAI,MAAM,CAE9B;IACD,OAAO,CAAC,WAAW,CAAuB;IAE1C;;;;;OAKG;IACH,IACW,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAE3C;IACD,IAAW,mBAAmB,IAAI,MAAM,CAEvC;IACD,OAAO,CAAC,oBAAoB,CAAC,CAAS;IAEtC,OAAO,CAAC,eAAe,CAA4B;IACnD,OAAO,CAAC,uBAAuB,CAAC,CAAkB;IAClD,OAAO,CAAC,oBAAoB,CAAmB;IAC/C,OAAO,CAAC,2BAA2B,CAA2C;IAC9E,OAAO,CAAC,kBAAkB,CAA0C;IACpE,OAAO,CAAC,YAAY,CAAC,CAAgC;IACrD,OAAO,CAAC,aAAa,CAAC,CAAgC;IACtD,OAAO,CAAC,qBAAqB,CAAC,CAAgC;IAC9D,OAAO,CAAC,sBAAsB,CAAC,CAAgC;;IA0B/D,OAAO,CAAC,MAAM,CAAC,wBAAwB;IAkCvC,OAAO,CAAC,MAAM,CAAC,6BAA6B;IAM5C,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAgDpB,iBAAiB,IAAI,IAAI;IAYzB,oBAAoB,IAAI,IAAI;IAM5B,aAAa,CAC3B,IAAI,CAAC,EAAE,WAAW,EAClB,QAAQ,CAAC,EAAE,OAAO,EAClB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,IAAI;cAWY,YAAY,CAAC,iBAAiB,EAAE,cAAc,GAAG,IAAI;IAKjE,IAAI,IAAI,IAAI;IAsBZ,KAAK,IAAI,IAAI;IAgBpB,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,sBAAsB;IAQ9B,OAAO,CAAC,OAAO;IAiBf,OAAO,CAAC,OAAO;IAmBf,OAAO,CAAC,QAAQ;IAKhB,OAAO,CAAC,wBAAwB;IA0DhC,OAAO,CAAC,wBAAwB;IAIhC,OAAO,CAAC,sBAAsB;cAKX,MAAM,IAAI,cAAc;CAO5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,aAAa,EAAE,iBAAiB,CAAC;KAClC;CACF"}
1
+ {"version":3,"file":"tooltip.component.d.ts","sourceRoot":"","sources":["../../../../src/elements/tooltip/tooltip.component.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EAGnB,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,cAAc,EAEpB,MAAM,KAAK,CAAC;AAGb,OAAO,EAYL,uBAAuB,EAGxB,MAAM,YAAY,CAAC;AAIpB;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,EAAE,CAAC;CACrC;;AAWD;;;;;;;;;;GAUG;AACH,qBAAa,iBAAkB,SAAQ,sBAAyC;IAC9E,gBAAgC,WAAW,EAAE,MAAM,CAAiB;IACpE,gBAAgC,IAAI,aAAa;IACjD,OAAuB,MAAM,EAAE,cAAc,CAAuC;IAEpF,OAAO,CAAC,MAAM,CAAC,cAAc,CAAU;IAUvC;;;;OAIG;IACH,SAEgB,OAAO,EAAE,WAAW,GAAG,IAAI,CAAQ;IAEnD;;;;;OAKG;IACH,IACW,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAExC;IACD,IAAW,SAAS,IAAI,MAAM,CAE7B;IACD,OAAO,CAAC,UAAU,CAAuB;IAEzC;;;;;OAKG;IACH,IACW,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAEzC;IACD,IAAW,UAAU,IAAI,MAAM,CAE9B;IACD,OAAO,CAAC,WAAW,CAAuB;IAE1C;;;;;OAKG;IACH,IACW,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAE3C;IACD,IAAW,mBAAmB,IAAI,MAAM,CAEvC;IACD,OAAO,CAAC,oBAAoB,CAAC,CAAS;IAEtC,OAAO,CAAC,eAAe,CAA4B;IACnD,OAAO,CAAC,uBAAuB,CAAC,CAAkB;IAClD,OAAO,CAAC,oBAAoB,CAAmB;IAC/C,OAAO,CAAC,2BAA2B,CAA2C;IAC9E,OAAO,CAAC,kBAAkB,CAA0C;IACpE,OAAO,CAAC,YAAY,CAAC,CAAgC;IACrD,OAAO,CAAC,aAAa,CAAC,CAAgC;IACtD,OAAO,CAAC,qBAAqB,CAAC,CAAgC;IAC9D,OAAO,CAAC,sBAAsB,CAAC,CAAgC;;IA0B/D,OAAO,CAAC,MAAM,CAAC,wBAAwB;IAkCvC,OAAO,CAAC,MAAM,CAAC,6BAA6B;IAM5C,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAgDpB,iBAAiB,IAAI,IAAI;IAWzB,oBAAoB,IAAI,IAAI;IAM5B,aAAa,CAC3B,IAAI,CAAC,EAAE,WAAW,EAClB,QAAQ,CAAC,EAAE,OAAO,EAClB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,IAAI;cAWY,YAAY,CAAC,iBAAiB,EAAE,cAAc,GAAG,IAAI;IAKjE,IAAI,IAAI,IAAI;IAsBZ,KAAK,IAAI,IAAI;IAgBpB,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,sBAAsB;IAQ9B,OAAO,CAAC,OAAO;IAiBf,OAAO,CAAC,OAAO;IAmBf,OAAO,CAAC,QAAQ;IAKhB,OAAO,CAAC,wBAAwB;IA0DhC,OAAO,CAAC,wBAAwB;IAIhC,OAAO,CAAC,sBAAsB;cAKX,MAAM,IAAI,cAAc;CAO5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,aAAa,EAAE,iBAAiB,CAAC;KAClC;CACF"}
@@ -1,2 +1,2 @@
1
- import { t as SbbTooltipElement } from "../tooltip.component-BtWTK2R0.js";
1
+ import { t as SbbTooltipElement } from "../tooltip.component-lvElko6C.js";
2
2
  export { SbbTooltipElement };
@@ -0,0 +1,369 @@
1
+ import { __esDecorate, __runInitializers } from "tslib";
2
+ import { html, isServer, unsafeCSS } from "lit";
3
+ import { property } from "lit/decorators.js";
4
+ import { SbbDisabledMixin, SbbEscapableOverlayController, SbbOpenCloseBaseElement, SbbOverlayPositionController, appendAriaElements, boxSizingStyles, idReference, isAndroid, isIOS, isZeroAnimationDuration, queueDomContentLoaded, readConfig, removeAriaElements, sbbOverlayOutsidePointerEventListener } from "./core.js";
5
+ //#region src/elements/tooltip/tooltip.scss?inline
6
+ var tooltip_default = ":host {\n --sbb-tooltip-max-width: min(\n 25rem,\n calc(100vw - var(--sbb-spacing-fixed-2x))\n );\n --sbb-tooltip-animation-duration: var(\n --sbb-disable-animation-duration,\n var(--sbb-animation-duration-4x)\n );\n position-area: var(--sbb-overlay-position-area);\n position-try-fallbacks: var(--sbb-overlay-position-try-fallbacks);\n display: none;\n position: fixed;\n background-color: transparent;\n pointer-events: var(--sbb-tooltip-pointer-events, all);\n z-index: var(--sbb-tooltip-z-index, var(--sbb-overlay-default-z-index));\n animation-name: var(--sbb-tooltip-animation-name);\n animation-duration: var(--sbb-tooltip-animation-duration);\n animation-timing-function: var(--sbb-tooltip-animation-easing);\n font-size: var(--sbb-tooltip-font-size);\n letter-spacing: var(--sbb-typo-letter-spacing-text);\n border: none;\n inset: initial;\n padding: 0;\n margin: 0;\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-tooltip-animation-name: open;\n display: block;\n}\n\n:host(:is(:state(state-closing),[state--state-closing])) {\n --sbb-tooltip-animation-name: close;\n --sbb-tooltip-pointer-events: none;\n}\n\n:host(:is([data-position~=block-end], [data-position~=bottom], [data-position^=end])) {\n padding-block-start: var(--sbb-tooltip-gap);\n}\n\n:host(:is([data-position~=block-start], [data-position~=top], [data-position^=start])) {\n padding-block-end: var(--sbb-tooltip-gap);\n}\n\n:host(:is([data-position~=inline-start],\n[data-position~=inline-end],\n[data-position~=left],\n[data-position~=right],\n[data-position$=\" start\"],\n[data-position$=\" end\"])) {\n padding-inline: var(--sbb-tooltip-gap);\n}\n\n.sbb-tooltip {\n box-shadow: var(--sbb-box-shadow-level-5-soft);\n border: var(--sbb-border-width-1x) solid var(--sbb-tooltip-border-color);\n border-radius: var(--sbb-tooltip-border-radius);\n padding: var(--sbb-tooltip-padding);\n color: var(--sbb-tooltip-color);\n background-color: var(--sbb-tooltip-background-color);\n min-width: var(--sbb-tooltip-min-width);\n max-width: var(--sbb-tooltip-max-width);\n}\n\n@keyframes open {\n from {\n opacity: 0;\n translate: var(--sbb-tooltip-animation-translate);\n }\n to {\n opacity: 1;\n translate: 0;\n }\n}\n@keyframes close {\n from {\n opacity: 1;\n translate: 0;\n }\n to {\n opacity: 0;\n translate: var(--sbb-tooltip-animation-translate);\n }\n}";
7
+ //#endregion
8
+ //#region src/elements/tooltip/tooltip.component.ts
9
+ /**
10
+ * Time between the user putting the pointer on a tooltip
11
+ * trigger and the long press event being fired.
12
+ */
13
+ var LONGPRESS_DELAY = 500;
14
+ var isMobile = isAndroid || isIOS;
15
+ var tooltipTriggers = /* @__PURE__ */ new WeakMap();
16
+ /**
17
+ * It displays text content within a tooltip.
18
+ *
19
+ * @slot - Use the unnamed slot to add the text into the tooltip.
20
+ * @cssprop [--sbb-overlay-position-area=block-end] - The primary position for the tooltip.
21
+ * @cssprop [--sbb-overlay-position-try-fallbacks=block-end span-inline-end, block-end span-inline-start, block-start, block-start span-inline-end, block-start span-inline-start] -
22
+ * The list of fallback positions, separated by ',', for the tooltip
23
+ * @cssprop [--sbb-tooltip-z-index=var(--sbb-overlay-default-z-index)] - To specify a custom stack order,
24
+ * the `z-index` can be overridden by defining this CSS variable. The default `z-index` of the
25
+ * component is set to `var(--sbb-overlay-default-z-index)` with a value of `1000`.
26
+ */
27
+ var SbbTooltipElement = (() => {
28
+ let _classSuper = SbbDisabledMixin(SbbOpenCloseBaseElement);
29
+ let _instanceExtraInitializers = [];
30
+ let _trigger_decorators;
31
+ let _trigger_initializers = [];
32
+ let _trigger_extraInitializers = [];
33
+ let _set_openDelay_decorators;
34
+ let _set_closeDelay_decorators;
35
+ let _set_longPressCloseDelay_decorators;
36
+ return class SbbTooltipElement extends _classSuper {
37
+ static {
38
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
39
+ _trigger_decorators = [idReference(), property()];
40
+ _set_openDelay_decorators = [property({
41
+ attribute: "open-delay",
42
+ type: Number
43
+ })];
44
+ _set_closeDelay_decorators = [property({
45
+ attribute: "close-delay",
46
+ type: Number
47
+ })];
48
+ _set_longPressCloseDelay_decorators = [property({
49
+ attribute: "long-press-close-delay",
50
+ type: Number
51
+ })];
52
+ __esDecorate(this, null, _trigger_decorators, {
53
+ kind: "accessor",
54
+ name: "trigger",
55
+ static: false,
56
+ private: false,
57
+ access: {
58
+ has: (obj) => "trigger" in obj,
59
+ get: (obj) => obj.trigger,
60
+ set: (obj, value) => {
61
+ obj.trigger = value;
62
+ }
63
+ },
64
+ metadata: _metadata
65
+ }, _trigger_initializers, _trigger_extraInitializers);
66
+ __esDecorate(this, null, _set_openDelay_decorators, {
67
+ kind: "setter",
68
+ name: "openDelay",
69
+ static: false,
70
+ private: false,
71
+ access: {
72
+ has: (obj) => "openDelay" in obj,
73
+ set: (obj, value) => {
74
+ obj.openDelay = value;
75
+ }
76
+ },
77
+ metadata: _metadata
78
+ }, null, _instanceExtraInitializers);
79
+ __esDecorate(this, null, _set_closeDelay_decorators, {
80
+ kind: "setter",
81
+ name: "closeDelay",
82
+ static: false,
83
+ private: false,
84
+ access: {
85
+ has: (obj) => "closeDelay" in obj,
86
+ set: (obj, value) => {
87
+ obj.closeDelay = value;
88
+ }
89
+ },
90
+ metadata: _metadata
91
+ }, null, _instanceExtraInitializers);
92
+ __esDecorate(this, null, _set_longPressCloseDelay_decorators, {
93
+ kind: "setter",
94
+ name: "longPressCloseDelay",
95
+ static: false,
96
+ private: false,
97
+ access: {
98
+ has: (obj) => "longPressCloseDelay" in obj,
99
+ set: (obj, value) => {
100
+ obj.longPressCloseDelay = value;
101
+ }
102
+ },
103
+ metadata: _metadata
104
+ }, null, _instanceExtraInitializers);
105
+ if (_metadata) Object.defineProperty(this, Symbol.metadata, {
106
+ enumerable: true,
107
+ configurable: true,
108
+ writable: true,
109
+ value: _metadata
110
+ });
111
+ }
112
+ static {
113
+ this.elementName = "sbb-tooltip";
114
+ }
115
+ static {
116
+ this.role = "tooltip";
117
+ }
118
+ static {
119
+ this.styles = [boxSizingStyles, unsafeCSS(tooltip_default)];
120
+ }
121
+ static {
122
+ if (!isServer) queueDomContentLoaded(() => this._initializeTooltipOutlet());
123
+ }
124
+ #trigger_accessor_storage;
125
+ /**
126
+ * The element that will trigger the tooltip overlay.
127
+ *
128
+ * For attribute usage, provide an id reference.
129
+ */
130
+ get trigger() {
131
+ return this.#trigger_accessor_storage;
132
+ }
133
+ set trigger(value) {
134
+ this.#trigger_accessor_storage = value;
135
+ }
136
+ /**
137
+ * Open the tooltip after a given delay in milliseconds.
138
+ * Global configuration is used as default, if not set.
139
+ *
140
+ * @default null
141
+ */
142
+ set openDelay(value) {
143
+ this._openDelay = value;
144
+ }
145
+ get openDelay() {
146
+ return this._openDelay ?? readConfig().tooltip?.openDelay ?? 0;
147
+ }
148
+ /**
149
+ * Close the tooltip after a given delay in milliseconds.
150
+ * Global configuration is used as default, if not set.
151
+ *
152
+ * @default null
153
+ */
154
+ set closeDelay(value) {
155
+ this._closeDelay = value;
156
+ }
157
+ get closeDelay() {
158
+ return this._closeDelay ?? readConfig().tooltip?.closeDelay ?? 0;
159
+ }
160
+ /**
161
+ * Automatically close the tooltip after it has been open by long press.
162
+ * Global configuration is used as default, if not set.
163
+ *
164
+ * @default 1500
165
+ */
166
+ set longPressCloseDelay(value) {
167
+ this._longPressCloseDelay = +value;
168
+ }
169
+ get longPressCloseDelay() {
170
+ return this._longPressCloseDelay ?? readConfig().tooltip?.longPressCloseDelay ?? 1500;
171
+ }
172
+ constructor() {
173
+ super();
174
+ this.#trigger_accessor_storage = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _trigger_initializers, null));
175
+ this._openDelay = (__runInitializers(this, _trigger_extraInitializers), null);
176
+ this._closeDelay = null;
177
+ this._triggerElement = null;
178
+ this._escapableOverlayController = new SbbEscapableOverlayController(this);
179
+ this._overlayController = new SbbOverlayPositionController(this);
180
+ this.addEventListener("mouseleave", (event) => {
181
+ if ((this.state === "opened" || this.state === "opening") && (!event.relatedTarget || !this._triggerElement?.contains(event.relatedTarget))) this._delayedClose();
182
+ }, { passive: true });
183
+ this.addEventListener("overlayOutsidePointer", () => this.close(), { passive: true });
184
+ this.addEventListener("animationend", (e) => this._onTooltipAnimationEnd(e), { passive: true });
185
+ }
186
+ static _initializeTooltipOutlet() {
187
+ this._tooltipOutlet = document.createElement("div");
188
+ this._tooltipOutlet.classList.add("sbb-overlay-outlet");
189
+ document.body.appendChild(this._tooltipOutlet);
190
+ new MutationObserver((mutations) => {
191
+ for (const mutation of mutations) if (mutation.type === "attributes") this._handleTooltipTrigger(mutation.target);
192
+ else if (mutation.type === "childList") for (const node of [...mutation.addedNodes, ...mutation.removedNodes].filter((n) => n.nodeType === n.ELEMENT_NODE)) {
193
+ this._handleTooltipTrigger(node);
194
+ this._findAndHandleTooltipTriggers(node);
195
+ }
196
+ }).observe(document.documentElement, {
197
+ attributeFilter: [
198
+ "sbb-tooltip",
199
+ "sbb-tooltip-open-delay",
200
+ "sbb-tooltip-close-delay",
201
+ "sbb-tooltip-position"
202
+ ],
203
+ childList: true,
204
+ subtree: true
205
+ });
206
+ this._findAndHandleTooltipTriggers(document.body);
207
+ }
208
+ static _findAndHandleTooltipTriggers(root) {
209
+ root.querySelectorAll("[sbb-tooltip]").forEach((e) => this._handleTooltipTrigger(e));
210
+ }
211
+ static _handleTooltipTrigger(triggerElement) {
212
+ const tooltipMessage = triggerElement.getAttribute("sbb-tooltip");
213
+ let tooltip = tooltipTriggers.get(triggerElement);
214
+ if (tooltipMessage && triggerElement.isConnected) {
215
+ if (!tooltip) {
216
+ tooltip = document.createElement("sbb-tooltip");
217
+ tooltipTriggers.set(triggerElement, tooltip);
218
+ this._tooltipOutlet.appendChild(tooltip);
219
+ tooltip.trigger = triggerElement;
220
+ }
221
+ tooltip.textContent = tooltipMessage;
222
+ tooltip.openDelay = triggerElement.hasAttribute("sbb-tooltip-open-delay") ? +triggerElement.getAttribute("sbb-tooltip-open-delay") : null;
223
+ tooltip.closeDelay = triggerElement.hasAttribute("sbb-tooltip-close-delay") ? +triggerElement.getAttribute("sbb-tooltip-close-delay") : null;
224
+ const positions = triggerElement.hasAttribute("sbb-tooltip-position") ? triggerElement.getAttribute("sbb-tooltip-position").split(",").map((p) => p.trim()) : triggerElement.tooltipPositions;
225
+ if (positions && positions.length > 0) {
226
+ tooltip.style.setProperty("--sbb-overlay-position-area", positions[0]);
227
+ tooltip.style.setProperty("--sbb-overlay-position-try-fallbacks", positions.slice(1).join(", "));
228
+ } else {
229
+ tooltip.style.removeProperty("--sbb-overlay-position-area");
230
+ tooltip.style.removeProperty("--sbb-overlay-position-try-fallbacks");
231
+ }
232
+ } else if (tooltip) {
233
+ tooltipTriggers.delete(triggerElement);
234
+ tooltip._destroy?.();
235
+ }
236
+ }
237
+ connectedCallback() {
238
+ super.connectedCallback();
239
+ this.popover = "manual";
240
+ this.state = "closed";
241
+ sbbOverlayOutsidePointerEventListener.connect(this);
242
+ if (this.hasUpdated && this.trigger) this._attach(this.trigger);
243
+ }
244
+ disconnectedCallback() {
245
+ super.disconnectedCallback();
246
+ sbbOverlayOutsidePointerEventListener.disconnect(this);
247
+ this._detach();
248
+ }
249
+ requestUpdate(name, oldValue, options) {
250
+ super.requestUpdate(name, oldValue, options);
251
+ if (isServer) return;
252
+ if ((!name || name === "trigger") && this.hasUpdated) this._attach(this.trigger);
253
+ }
254
+ firstUpdated(changedProperties) {
255
+ super.firstUpdated(changedProperties);
256
+ this._attach(this.trigger);
257
+ }
258
+ open() {
259
+ this._resetOpenCloseTimeout();
260
+ if (this.state !== "closed" && this.state !== "closing" || this.disabled || !this.trigger || !this.dispatchBeforeOpenEvent()) return;
261
+ this.showPopover?.();
262
+ this.state = "opening";
263
+ this._overlayController.connect(this.trigger);
264
+ if (this._isZeroAnimationDuration()) this._handleOpening();
265
+ }
266
+ close() {
267
+ this._resetOpenCloseTimeout();
268
+ if (this.state !== "opened" && this.state !== "opening") return;
269
+ this.dispatchBeforeCloseEvent();
270
+ this.state = "closing";
271
+ if (this._isZeroAnimationDuration()) this._handleClosing();
272
+ }
273
+ _delayedOpen() {
274
+ this._resetOpenCloseTimeout();
275
+ this._openTimeout = setTimeout(() => this.open(), this.openDelay);
276
+ }
277
+ _handleOpening() {
278
+ this.state = "opened";
279
+ this._escapableOverlayController.connect();
280
+ this.dispatchOpenEvent();
281
+ }
282
+ _delayedClose() {
283
+ this._resetOpenCloseTimeout();
284
+ this._closeTimeout = setTimeout(() => this.close(), this.closeDelay);
285
+ }
286
+ _handleClosing() {
287
+ this.state = "closed";
288
+ this.hidePopover?.();
289
+ this._overlayController.disconnect();
290
+ this._escapableOverlayController.disconnect();
291
+ this.dispatchCloseEvent();
292
+ this._openStateController?.abort();
293
+ }
294
+ _onTooltipAnimationEnd(event) {
295
+ if (event.animationName === "open" && this.state === "opening") this._handleOpening();
296
+ else if (event.animationName === "close" && this.state === "closing") this._handleClosing();
297
+ }
298
+ _attach(trigger) {
299
+ if (this._triggerElement) this._detach();
300
+ this._triggerElement = trigger;
301
+ if (!this._triggerElement) return;
302
+ this._triggerElement.ariaDescribedByElements = appendAriaElements(this._triggerElement.ariaDescribedByElements, this);
303
+ this._addTriggerEventHandlers();
304
+ }
305
+ _detach() {
306
+ this._triggerAbortController?.abort();
307
+ this._openStateController?.abort();
308
+ this._resetOpenCloseTimeout();
309
+ clearTimeout(this._longPressOpenTimeout);
310
+ clearTimeout(this._longPressCloseTimeout);
311
+ if (!this._triggerElement) return;
312
+ this._triggerElement.ariaDescribedByElements = removeAriaElements(this._triggerElement.ariaDescribedByElements, this);
313
+ this._triggerElement = null;
314
+ }
315
+ _destroy() {
316
+ this._detach();
317
+ this.remove();
318
+ }
319
+ _addTriggerEventHandlers() {
320
+ const trigger = this._triggerElement;
321
+ if (!trigger) return;
322
+ this._triggerAbortController?.abort();
323
+ this._triggerAbortController = new AbortController();
324
+ const options = {
325
+ signal: this._triggerAbortController.signal,
326
+ passive: true
327
+ };
328
+ if (!isMobile) {
329
+ trigger.addEventListener("mouseenter", () => this._delayedOpen(), options);
330
+ trigger.addEventListener("mouseleave", (event) => {
331
+ const newTarget = event.relatedTarget;
332
+ if (!newTarget || newTarget !== this) this._delayedClose();
333
+ }, options);
334
+ trigger.addEventListener("blur", () => this.close(), options);
335
+ trigger.addEventListener("focus", () => this._delayedOpen(), options);
336
+ }
337
+ trigger.addEventListener("touchstart", () => {
338
+ clearTimeout(this._longPressOpenTimeout);
339
+ clearTimeout(this._longPressCloseTimeout);
340
+ this._longPressOpenTimeout = setTimeout(() => this.open(), LONGPRESS_DELAY);
341
+ }, options);
342
+ trigger.addEventListener("touchend", () => {
343
+ clearTimeout(this._longPressOpenTimeout);
344
+ this._longPressCloseTimeout = setTimeout(() => this.close(), this.longPressCloseDelay);
345
+ }, options);
346
+ trigger.addEventListener("touchcancel", () => {
347
+ clearTimeout(this._longPressOpenTimeout);
348
+ }, options);
349
+ }
350
+ _isZeroAnimationDuration() {
351
+ return isZeroAnimationDuration(this, "--sbb-tooltip-animation-duration");
352
+ }
353
+ _resetOpenCloseTimeout() {
354
+ clearTimeout(this._openTimeout);
355
+ clearTimeout(this._closeTimeout);
356
+ }
357
+ render() {
358
+ return html`
359
+ <div class="sbb-tooltip">
360
+ <slot></slot>
361
+ </div>
362
+ `;
363
+ }
364
+ };
365
+ })();
366
+ //#endregion
367
+ export { SbbTooltipElement as t };
368
+
369
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5jb21wb25lbnQtbHZFbGtvNkMuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3Rvb2x0aXAvdG9vbHRpcC5zY3NzP2lubGluZSIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy90b29sdGlwL3Rvb2x0aXAuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJy4uL2NvcmUvc3R5bGVzJyBhcyBzYmI7XG5cbjpob3N0IHtcbiAgLS1zYmItdG9vbHRpcC1tYXgtd2lkdGg6IG1pbihcbiAgICAje3NiYi5weC10by1yZW0tYnVpbGQoNDAwKX0sXG4gICAgY2FsYygxMDB2dyAtIHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTJ4KSlcbiAgKTtcbiAgLS1zYmItdG9vbHRpcC1hbmltYXRpb24tZHVyYXRpb246IHZhcihcbiAgICAtLXNiYi1kaXNhYmxlLWFuaW1hdGlvbi1kdXJhdGlvbixcbiAgICB2YXIoLS1zYmItYW5pbWF0aW9uLWR1cmF0aW9uLTR4KVxuICApO1xuXG4gIHBvc2l0aW9uLWFyZWE6IHZhcigtLXNiYi1vdmVybGF5LXBvc2l0aW9uLWFyZWEpO1xuICBwb3NpdGlvbi10cnktZmFsbGJhY2tzOiB2YXIoLS1zYmItb3ZlcmxheS1wb3NpdGlvbi10cnktZmFsbGJhY2tzKTtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgcG9pbnRlci1ldmVudHM6IHZhcigtLXNiYi10b29sdGlwLXBvaW50ZXItZXZlbnRzLCBhbGwpO1xuICB6LWluZGV4OiB2YXIoLS1zYmItdG9vbHRpcC16LWluZGV4LCB2YXIoLS1zYmItb3ZlcmxheS1kZWZhdWx0LXotaW5kZXgpKTtcbiAgYW5pbWF0aW9uLW5hbWU6IHZhcigtLXNiYi10b29sdGlwLWFuaW1hdGlvbi1uYW1lKTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoLS1zYmItdG9vbHRpcC1hbmltYXRpb24tZHVyYXRpb24pO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1zYmItdG9vbHRpcC1hbmltYXRpb24tZWFzaW5nKTtcbiAgZm9udC1zaXplOiB2YXIoLS1zYmItdG9vbHRpcC1mb250LXNpemUpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tc2JiLXR5cG8tbGV0dGVyLXNwYWNpbmctdGV4dCk7XG5cbiAgLy8gUmVzZXQgW3BvcG92ZXJdIHN0eWxlc1xuICBib3JkZXI6IG5vbmU7XG4gIGluc2V0OiBpbml0aWFsO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG59XG5cbjpob3N0KDppcyg6c3RhdGUoc3RhdGUtb3BlbmluZyksIDpzdGF0ZShzdGF0ZS1vcGVuZWQpLCA6c3RhdGUoc3RhdGUtY2xvc2luZykpKSB7XG4gIC0tc2JiLXRvb2x0aXAtYW5pbWF0aW9uLW5hbWU6IG9wZW47XG5cbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbjpob3N0KDpzdGF0ZShzdGF0ZS1jbG9zaW5nKSkge1xuICAtLXNiYi10b29sdGlwLWFuaW1hdGlvbi1uYW1lOiBjbG9zZTtcbiAgLS1zYmItdG9vbHRpcC1wb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuOmhvc3QoOmlzKFtkYXRhLXBvc2l0aW9ufj0nYmxvY2stZW5kJ10sIFtkYXRhLXBvc2l0aW9ufj0nYm90dG9tJ10sIFtkYXRhLXBvc2l0aW9uXj0nZW5kJ10pKSB7XG4gIHBhZGRpbmctYmxvY2stc3RhcnQ6IHZhcigtLXNiYi10b29sdGlwLWdhcCk7XG59XG5cbjpob3N0KDppcyhbZGF0YS1wb3NpdGlvbn49J2Jsb2NrLXN0YXJ0J10sIFtkYXRhLXBvc2l0aW9ufj0ndG9wJ10sIFtkYXRhLXBvc2l0aW9uXj0nc3RhcnQnXSkpIHtcbiAgcGFkZGluZy1ibG9jay1lbmQ6IHZhcigtLXNiYi10b29sdGlwLWdhcCk7XG59XG5cbjpob3N0KFxuICA6aXMoXG4gICAgW2RhdGEtcG9zaXRpb25+PSdpbmxpbmUtc3RhcnQnXSxcbiAgICBbZGF0YS1wb3NpdGlvbn49J2lubGluZS1lbmQnXSxcbiAgICBbZGF0YS1wb3NpdGlvbn49J2xlZnQnXSxcbiAgICBbZGF0YS1wb3NpdGlvbn49J3JpZ2h0J10sXG4gICAgW2RhdGEtcG9zaXRpb24kPScgc3RhcnQnXSxcbiAgICBbZGF0YS1wb3NpdGlvbiQ9JyBlbmQnXVxuICApXG4pIHtcbiAgLy8gQWRkIGEgZ2FwIG9uIGJvdGggc2lkZXMgdG8gZGlzdGFuY2UgdGhlIHRvb2x0aXAgZnJvbSB0aGUgdHJpZ2dlciBhbmQgdGhlIGVkZ2Ugb2YgdGhlIHZpZXdwb3J0LlxuICBwYWRkaW5nLWlubGluZTogdmFyKC0tc2JiLXRvb2x0aXAtZ2FwKTtcbn1cblxuLnNiYi10b29sdGlwIHtcbiAgYm94LXNoYWRvdzogdmFyKC0tc2JiLWJveC1zaGFkb3ctbGV2ZWwtNS1zb2Z0KTtcbiAgYm9yZGVyOiB2YXIoLS1zYmItYm9yZGVyLXdpZHRoLTF4KSBzb2xpZCB2YXIoLS1zYmItdG9vbHRpcC1ib3JkZXItY29sb3IpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1zYmItdG9vbHRpcC1ib3JkZXItcmFkaXVzKTtcbiAgcGFkZGluZzogdmFyKC0tc2JiLXRvb2x0aXAtcGFkZGluZyk7XG4gIGNvbG9yOiB2YXIoLS1zYmItdG9vbHRpcC1jb2xvcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi10b29sdGlwLWJhY2tncm91bmQtY29sb3IpO1xuICBtaW4td2lkdGg6IHZhcigtLXNiYi10b29sdGlwLW1pbi13aWR0aCk7XG4gIG1heC13aWR0aDogdmFyKC0tc2JiLXRvb2x0aXAtbWF4LXdpZHRoKTtcbn1cblxuQGtleWZyYW1lcyBvcGVuIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2xhdGU6IHZhcigtLXNiYi10b29sdGlwLWFuaW1hdGlvbi10cmFuc2xhdGUpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNsYXRlOiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgY2xvc2Uge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zbGF0ZTogMDtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zbGF0ZTogdmFyKC0tc2JiLXRvb2x0aXAtYW5pbWF0aW9uLXRyYW5zbGF0ZSk7XG4gIH1cbn1cbiIsImltcG9ydCB7XG4gIHR5cGUgQ1NTUmVzdWx0R3JvdXAsXG4gIGh0bWwsXG4gIGlzU2VydmVyLFxuICB0eXBlIFByb3BlcnR5RGVjbGFyYXRpb24sXG4gIHR5cGUgUHJvcGVydHlWYWx1ZXMsXG4gIHR5cGUgVGVtcGxhdGVSZXN1bHQsXG4gIHVuc2FmZUNTUyxcbn0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQge1xuICBhcHBlbmRBcmlhRWxlbWVudHMsXG4gIGJveFNpemluZ1N0eWxlcyxcbiAgaWRSZWZlcmVuY2UsXG4gIGlzQW5kcm9pZCxcbiAgaXNJT1MsXG4gIGlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uLFxuICBxdWV1ZURvbUNvbnRlbnRMb2FkZWQsXG4gIHJlYWRDb25maWcsXG4gIHJlbW92ZUFyaWFFbGVtZW50cyxcbiAgU2JiRGlzYWJsZWRNaXhpbixcbiAgU2JiRXNjYXBhYmxlT3ZlcmxheUNvbnRyb2xsZXIsXG4gIFNiYk9wZW5DbG9zZUJhc2VFbGVtZW50LFxuICBzYmJPdmVybGF5T3V0c2lkZVBvaW50ZXJFdmVudExpc3RlbmVyLFxuICBTYmJPdmVybGF5UG9zaXRpb25Db250cm9sbGVyLFxufSBmcm9tICcuLi9jb3JlLnRzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vdG9vbHRpcC5zY3NzP2lubGluZSc7XG5cbi8qKlxuICogRGVmaW5lcyB0aGUgZGVmYXVsdCBwb3NpdGlvbiBmb3IgdGhlIHRvb2x0aXAgaWYgdGhpcyBlbGVtZW50IGlzIHVzZWQgYXMgYSB0cmlnZ2VyLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNiYlRvb2x0aXBEZWZhdWx0UG9zaXRpb25zIHtcbiAgcmVhZG9ubHkgdG9vbHRpcFBvc2l0aW9uczogc3RyaW5nW107XG59XG5cbi8qKlxuICogVGltZSBiZXR3ZWVuIHRoZSB1c2VyIHB1dHRpbmcgdGhlIHBvaW50ZXIgb24gYSB0b29sdGlwXG4gKiB0cmlnZ2VyIGFuZCB0aGUgbG9uZyBwcmVzcyBldmVudCBiZWluZyBmaXJlZC5cbiAqL1xuY29uc3QgTE9OR1BSRVNTX0RFTEFZID0gNTAwO1xuXG5jb25zdCBpc01vYmlsZSA9IGlzQW5kcm9pZCB8fCBpc0lPUztcbmNvbnN0IHRvb2x0aXBUcmlnZ2VycyA9IG5ldyBXZWFrTWFwPEhUTUxFbGVtZW50LCBTYmJUb29sdGlwRWxlbWVudD4oKTtcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyB0ZXh0IGNvbnRlbnQgd2l0aGluIGEgdG9vbHRpcC5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCB0aGUgdGV4dCBpbnRvIHRoZSB0b29sdGlwLlxuICogQGNzc3Byb3AgWy0tc2JiLW92ZXJsYXktcG9zaXRpb24tYXJlYT1ibG9jay1lbmRdIC0gVGhlIHByaW1hcnkgcG9zaXRpb24gZm9yIHRoZSB0b29sdGlwLlxuICogQGNzc3Byb3AgWy0tc2JiLW92ZXJsYXktcG9zaXRpb24tdHJ5LWZhbGxiYWNrcz1ibG9jay1lbmQgc3Bhbi1pbmxpbmUtZW5kLCBibG9jay1lbmQgc3Bhbi1pbmxpbmUtc3RhcnQsIGJsb2NrLXN0YXJ0LCBibG9jay1zdGFydCBzcGFuLWlubGluZS1lbmQsIGJsb2NrLXN0YXJ0IHNwYW4taW5saW5lLXN0YXJ0XSAtXG4gKiBUaGUgbGlzdCBvZiBmYWxsYmFjayBwb3NpdGlvbnMsIHNlcGFyYXRlZCBieSAnLCcsIGZvciB0aGUgdG9vbHRpcFxuICogQGNzc3Byb3AgWy0tc2JiLXRvb2x0aXAtei1pbmRleD12YXIoLS1zYmItb3ZlcmxheS1kZWZhdWx0LXotaW5kZXgpXSAtIFRvIHNwZWNpZnkgYSBjdXN0b20gc3RhY2sgb3JkZXIsXG4gKiB0aGUgYHotaW5kZXhgIGNhbiBiZSBvdmVycmlkZGVuIGJ5IGRlZmluaW5nIHRoaXMgQ1NTIHZhcmlhYmxlLiBUaGUgZGVmYXVsdCBgei1pbmRleGAgb2YgdGhlXG4gKiBjb21wb25lbnQgaXMgc2V0IHRvIGB2YXIoLS1zYmItb3ZlcmxheS1kZWZhdWx0LXotaW5kZXgpYCB3aXRoIGEgdmFsdWUgb2YgYDEwMDBgLlxuICovXG5leHBvcnQgY2xhc3MgU2JiVG9vbHRpcEVsZW1lbnQgZXh0ZW5kcyBTYmJEaXNhYmxlZE1peGluKFNiYk9wZW5DbG9zZUJhc2VFbGVtZW50KSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItdG9vbHRpcCc7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgcm9sZSA9ICd0b29sdGlwJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW2JveFNpemluZ1N0eWxlcywgdW5zYWZlQ1NTKHN0eWxlKV07XG5cbiAgcHJpdmF0ZSBzdGF0aWMgX3Rvb2x0aXBPdXRsZXQ6IEVsZW1lbnQ7XG5cbiAgc3RhdGljIHtcbiAgICBpZiAoIWlzU2VydmVyKSB7XG4gICAgICAvLyBXZSBkb24ndCB3YW50IHRvIGJsb2NrIGV4ZWN1dGlvbiBmb3IgaW5pdGlhbGl6YXRpb24sXG4gICAgICAvLyBzbyB3ZSBkZWZlciBpdCB1bnRpbCB0aGUgRE9NIGNvbnRlbnQgaXMgbG9hZGVkLlxuICAgICAgcXVldWVEb21Db250ZW50TG9hZGVkKCgpID0+IHRoaXMuX2luaXRpYWxpemVUb29sdGlwT3V0bGV0KCkpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgZWxlbWVudCB0aGF0IHdpbGwgdHJpZ2dlciB0aGUgdG9vbHRpcCBvdmVybGF5LlxuICAgKlxuICAgKiBGb3IgYXR0cmlidXRlIHVzYWdlLCBwcm92aWRlIGFuIGlkIHJlZmVyZW5jZS5cbiAgICovXG4gIEBpZFJlZmVyZW5jZSgpXG4gIEBwcm9wZXJ0eSgpXG4gIHB1YmxpYyBhY2Nlc3NvciB0cmlnZ2VyOiBIVE1MRWxlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gIC8qKlxuICAgKiBPcGVuIHRoZSB0b29sdGlwIGFmdGVyIGEgZ2l2ZW4gZGVsYXkgaW4gbWlsbGlzZWNvbmRzLlxuICAgKiBHbG9iYWwgY29uZmlndXJhdGlvbiBpcyB1c2VkIGFzIGRlZmF1bHQsIGlmIG5vdCBzZXQuXG4gICAqXG4gICAqIEBkZWZhdWx0IG51bGxcbiAgICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ29wZW4tZGVsYXknLCB0eXBlOiBOdW1iZXIgfSlcbiAgcHVibGljIHNldCBvcGVuRGVsYXkodmFsdWU6IG51bWJlciB8IG51bGwpIHtcbiAgICB0aGlzLl9vcGVuRGVsYXkgPSB2YWx1ZTtcbiAgfVxuICBwdWJsaWMgZ2V0IG9wZW5EZWxheSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9vcGVuRGVsYXkgPz8gcmVhZENvbmZpZygpLnRvb2x0aXA/Lm9wZW5EZWxheSA/PyAwO1xuICB9XG4gIHByaXZhdGUgX29wZW5EZWxheTogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqXG4gICAqIENsb3NlIHRoZSB0b29sdGlwIGFmdGVyIGEgZ2l2ZW4gZGVsYXkgaW4gbWlsbGlzZWNvbmRzLlxuICAgKiBHbG9iYWwgY29uZmlndXJhdGlvbiBpcyB1c2VkIGFzIGRlZmF1bHQsIGlmIG5vdCBzZXQuXG4gICAqXG4gICAqIEBkZWZhdWx0IG51bGxcbiAgICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2Nsb3NlLWRlbGF5JywgdHlwZTogTnVtYmVyIH0pXG4gIHB1YmxpYyBzZXQgY2xvc2VEZWxheSh2YWx1ZTogbnVtYmVyIHwgbnVsbCkge1xuICAgIHRoaXMuX2Nsb3NlRGVsYXkgPSB2YWx1ZTtcbiAgfVxuICBwdWJsaWMgZ2V0IGNsb3NlRGVsYXkoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fY2xvc2VEZWxheSA/PyByZWFkQ29uZmlnKCkudG9vbHRpcD8uY2xvc2VEZWxheSA/PyAwO1xuICB9XG4gIHByaXZhdGUgX2Nsb3NlRGVsYXk6IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gIC8qKlxuICAgKiBBdXRvbWF0aWNhbGx5IGNsb3NlIHRoZSB0b29sdGlwIGFmdGVyIGl0IGhhcyBiZWVuIG9wZW4gYnkgbG9uZyBwcmVzcy5cbiAgICogR2xvYmFsIGNvbmZpZ3VyYXRpb24gaXMgdXNlZCBhcyBkZWZhdWx0LCBpZiBub3Qgc2V0LlxuICAgKlxuICAgKiBAZGVmYXVsdCAxNTAwXG4gICAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdsb25nLXByZXNzLWNsb3NlLWRlbGF5JywgdHlwZTogTnVtYmVyIH0pXG4gIHB1YmxpYyBzZXQgbG9uZ1ByZXNzQ2xvc2VEZWxheSh2YWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy5fbG9uZ1ByZXNzQ2xvc2VEZWxheSA9ICt2YWx1ZTtcbiAgfVxuICBwdWJsaWMgZ2V0IGxvbmdQcmVzc0Nsb3NlRGVsYXkoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fbG9uZ1ByZXNzQ2xvc2VEZWxheSA/PyByZWFkQ29uZmlnKCkudG9vbHRpcD8ubG9uZ1ByZXNzQ2xvc2VEZWxheSA/PyAxNTAwO1xuICB9XG4gIHByaXZhdGUgX2xvbmdQcmVzc0Nsb3NlRGVsYXk/OiBudW1iZXI7XG5cbiAgcHJpdmF0ZSBfdHJpZ2dlckVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgX3RyaWdnZXJBYm9ydENvbnRyb2xsZXI/OiBBYm9ydENvbnRyb2xsZXI7XG4gIHByaXZhdGUgX29wZW5TdGF0ZUNvbnRyb2xsZXIhOiBBYm9ydENvbnRyb2xsZXI7XG4gIHByaXZhdGUgX2VzY2FwYWJsZU92ZXJsYXlDb250cm9sbGVyID0gbmV3IFNiYkVzY2FwYWJsZU92ZXJsYXlDb250cm9sbGVyKHRoaXMpO1xuICBwcml2YXRlIF9vdmVybGF5Q29udHJvbGxlciA9IG5ldyBTYmJPdmVybGF5UG9zaXRpb25Db250cm9sbGVyKHRoaXMpO1xuICBwcml2YXRlIF9vcGVuVGltZW91dD86IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+O1xuICBwcml2YXRlIF9jbG9zZVRpbWVvdXQ/OiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PjtcbiAgcHJpdmF0ZSBfbG9uZ1ByZXNzT3BlblRpbWVvdXQ/OiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PjtcbiAgcHJpdmF0ZSBfbG9uZ1ByZXNzQ2xvc2VUaW1lb3V0PzogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD47XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG5cbiAgICAvLyBVbnRpbCB0aGUgbW91c2UgaG92ZXJzIHRoZSB0b29sdGlwLCBpdCBzdGF5cyBvcGVuLlxuICAgIC8vIE9uICdtb3VzZWxlYXZlJyAoaWYgdGhlIG1vdXNlIGlzIG5vdCBtb3ZlZCBvbnRvIHRoZSB0cmlnZ2VyIGFnYWluKSwgY2xvc2UgaXQuXG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgJ21vdXNlbGVhdmUnLFxuICAgICAgKGV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAodGhpcy5zdGF0ZSA9PT0gJ29wZW5lZCcgfHwgdGhpcy5zdGF0ZSA9PT0gJ29wZW5pbmcnKSAmJlxuICAgICAgICAgICghZXZlbnQucmVsYXRlZFRhcmdldCB8fCAhdGhpcy5fdHJpZ2dlckVsZW1lbnQ/LmNvbnRhaW5zKGV2ZW50LnJlbGF0ZWRUYXJnZXQgYXMgTm9kZSkpXG4gICAgICAgICkge1xuICAgICAgICAgIHRoaXMuX2RlbGF5ZWRDbG9zZSgpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgeyBwYXNzaXZlOiB0cnVlIH0sXG4gICAgKTtcblxuICAgIC8vIEFueSB1c2VyIGludGVyYWN0aW9uIG91dHNpZGUgdGhlIHRvb2x0aXAgY2xvc2VzIGl0IGltbWVkaWF0ZWx5XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyKCdvdmVybGF5T3V0c2lkZVBvaW50ZXInLCAoKSA9PiB0aGlzLmNsb3NlKCksIHsgcGFzc2l2ZTogdHJ1ZSB9KTtcblxuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcignYW5pbWF0aW9uZW5kJywgKGUpID0+IHRoaXMuX29uVG9vbHRpcEFuaW1hdGlvbkVuZChlKSwgeyBwYXNzaXZlOiB0cnVlIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgX2luaXRpYWxpemVUb29sdGlwT3V0bGV0KCk6IHZvaWQge1xuICAgIHRoaXMuX3Rvb2x0aXBPdXRsZXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICB0aGlzLl90b29sdGlwT3V0bGV0LmNsYXNzTGlzdC5hZGQoJ3NiYi1vdmVybGF5LW91dGxldCcpO1xuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodGhpcy5fdG9vbHRpcE91dGxldCk7XG5cbiAgICAvLyBXZSBhcmUgdXNpbmcgTXV0YXRpb25PYnNlcnZlciBkaXJlY3RseSBoZXJlLCBhcyBpdCB3aWxsIG9ubHkgYmUgY2FsbGVkIG9uIGNsaWVudCBzaWRlLFxuICAgIC8vIGFuZCB3ZSBkbyBub3QgbmVlZCB0byBkaXNjb25uZWN0IGl0LCBhcyB3ZSB3YW50IGl0IHRvIHdvcmsgZHVyaW5nIHRoZSBmdWxsIGxpZmV0aW1lXG4gICAgLy8gb2YgdGhlIHBhZ2UuXG4gICAgbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKG11dGF0aW9ucykgPT4ge1xuICAgICAgZm9yIChjb25zdCBtdXRhdGlvbiBvZiBtdXRhdGlvbnMpIHtcbiAgICAgICAgaWYgKG11dGF0aW9uLnR5cGUgPT09ICdhdHRyaWJ1dGVzJykge1xuICAgICAgICAgIHRoaXMuX2hhbmRsZVRvb2x0aXBUcmlnZ2VyKG11dGF0aW9uLnRhcmdldCBhcyBIVE1MRWxlbWVudCk7XG4gICAgICAgIH0gZWxzZSBpZiAobXV0YXRpb24udHlwZSA9PT0gJ2NoaWxkTGlzdCcpIHtcbiAgICAgICAgICBmb3IgKGNvbnN0IG5vZGUgb2YgWy4uLm11dGF0aW9uLmFkZGVkTm9kZXMsIC4uLm11dGF0aW9uLnJlbW92ZWROb2Rlc10uZmlsdGVyKFxuICAgICAgICAgICAgKG4pOiBuIGlzIEhUTUxFbGVtZW50ID0+IG4ubm9kZVR5cGUgPT09IG4uRUxFTUVOVF9OT0RFLFxuICAgICAgICAgICkpIHtcbiAgICAgICAgICAgIHRoaXMuX2hhbmRsZVRvb2x0aXBUcmlnZ2VyKG5vZGUpO1xuICAgICAgICAgICAgdGhpcy5fZmluZEFuZEhhbmRsZVRvb2x0aXBUcmlnZ2Vycyhub2RlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KS5vYnNlcnZlKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCwge1xuICAgICAgYXR0cmlidXRlRmlsdGVyOiBbXG4gICAgICAgICdzYmItdG9vbHRpcCcsXG4gICAgICAgICdzYmItdG9vbHRpcC1vcGVuLWRlbGF5JyxcbiAgICAgICAgJ3NiYi10b29sdGlwLWNsb3NlLWRlbGF5JyxcbiAgICAgICAgJ3NiYi10b29sdGlwLXBvc2l0aW9uJyxcbiAgICAgIF0sXG4gICAgICBjaGlsZExpc3Q6IHRydWUsXG4gICAgICBzdWJ0cmVlOiB0cnVlLFxuICAgIH0pO1xuICAgIHRoaXMuX2ZpbmRBbmRIYW5kbGVUb29sdGlwVHJpZ2dlcnMoZG9jdW1lbnQuYm9keSk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBfZmluZEFuZEhhbmRsZVRvb2x0aXBUcmlnZ2Vycyhyb290OiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgIHJvb3RcbiAgICAgIC5xdWVyeVNlbGVjdG9yQWxsPEhUTUxFbGVtZW50PignW3NiYi10b29sdGlwXScpXG4gICAgICAuZm9yRWFjaCgoZSkgPT4gdGhpcy5faGFuZGxlVG9vbHRpcFRyaWdnZXIoZSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgX2hhbmRsZVRvb2x0aXBUcmlnZ2VyKHRyaWdnZXJFbGVtZW50OiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgIGNvbnN0IHRvb2x0aXBNZXNzYWdlID0gdHJpZ2dlckVsZW1lbnQuZ2V0QXR0cmlidXRlKCdzYmItdG9vbHRpcCcpO1xuICAgIGxldCB0b29sdGlwID0gdG9vbHRpcFRyaWdnZXJzLmdldCh0cmlnZ2VyRWxlbWVudCk7XG5cbiAgICBpZiAodG9vbHRpcE1lc3NhZ2UgJiYgdHJpZ2dlckVsZW1lbnQuaXNDb25uZWN0ZWQpIHtcbiAgICAgIGlmICghdG9vbHRpcCkge1xuICAgICAgICAvLyBDcmVhdGUgYSBuZXcgc2JiLXRvb2x0aXAgaW4gdGhlIG91dGxldCBhbmQgYXR0YWNoIGl0IHRvIHRoZSB0cmlnZ2VyXG4gICAgICAgIHRvb2x0aXAgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzYmItdG9vbHRpcCcpO1xuICAgICAgICB0b29sdGlwVHJpZ2dlcnMuc2V0KHRyaWdnZXJFbGVtZW50LCB0b29sdGlwKTtcbiAgICAgICAgdGhpcy5fdG9vbHRpcE91dGxldC5hcHBlbmRDaGlsZCh0b29sdGlwKTtcbiAgICAgICAgdG9vbHRpcC50cmlnZ2VyID0gdHJpZ2dlckVsZW1lbnQ7XG4gICAgICB9XG5cbiAgICAgIHRvb2x0aXAudGV4dENvbnRlbnQgPSB0b29sdGlwTWVzc2FnZTtcbiAgICAgIHRvb2x0aXAub3BlbkRlbGF5ID0gdHJpZ2dlckVsZW1lbnQuaGFzQXR0cmlidXRlKCdzYmItdG9vbHRpcC1vcGVuLWRlbGF5JylcbiAgICAgICAgPyArdHJpZ2dlckVsZW1lbnQuZ2V0QXR0cmlidXRlKCdzYmItdG9vbHRpcC1vcGVuLWRlbGF5JykhXG4gICAgICAgIDogbnVsbDtcbiAgICAgIHRvb2x0aXAuY2xvc2VEZWxheSA9IHRyaWdnZXJFbGVtZW50Lmhhc0F0dHJpYnV0ZSgnc2JiLXRvb2x0aXAtY2xvc2UtZGVsYXknKVxuICAgICAgICA/ICt0cmlnZ2VyRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ3NiYi10b29sdGlwLWNsb3NlLWRlbGF5JykhXG4gICAgICAgIDogbnVsbDtcblxuICAgICAgLy8gUmVhZCB0aGUgcG9zaXRpb25zIGZyb20gdGhlIHRyaWdnZXIgKGVpdGhlciBmcm9tIHRoZSBhdHRyaWJ1dGUgb3IgdGhlIHByb3BlcnR5KVxuICAgICAgY29uc3QgcG9zaXRpb25zID0gdHJpZ2dlckVsZW1lbnQuaGFzQXR0cmlidXRlKCdzYmItdG9vbHRpcC1wb3NpdGlvbicpXG4gICAgICAgID8gdHJpZ2dlckVsZW1lbnRcbiAgICAgICAgICAgIC5nZXRBdHRyaWJ1dGUoJ3NiYi10b29sdGlwLXBvc2l0aW9uJykhXG4gICAgICAgICAgICAuc3BsaXQoJywnKVxuICAgICAgICAgICAgLm1hcCgocCkgPT4gcC50cmltKCkpXG4gICAgICAgIDogKHRyaWdnZXJFbGVtZW50IGFzIHVua25vd24gYXMgU2JiVG9vbHRpcERlZmF1bHRQb3NpdGlvbnMpLnRvb2x0aXBQb3NpdGlvbnM7XG5cbiAgICAgIGlmIChwb3NpdGlvbnMgJiYgcG9zaXRpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgdG9vbHRpcC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1zYmItb3ZlcmxheS1wb3NpdGlvbi1hcmVhJywgcG9zaXRpb25zWzBdKTtcbiAgICAgICAgdG9vbHRpcC5zdHlsZS5zZXRQcm9wZXJ0eShcbiAgICAgICAgICAnLS1zYmItb3ZlcmxheS1wb3NpdGlvbi10cnktZmFsbGJhY2tzJyxcbiAgICAgICAgICBwb3NpdGlvbnMuc2xpY2UoMSkuam9pbignLCAnKSxcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRvb2x0aXAuc3R5bGUucmVtb3ZlUHJvcGVydHkoJy0tc2JiLW92ZXJsYXktcG9zaXRpb24tYXJlYScpO1xuICAgICAgICB0b29sdGlwLnN0eWxlLnJlbW92ZVByb3BlcnR5KCctLXNiYi1vdmVybGF5LXBvc2l0aW9uLXRyeS1mYWxsYmFja3MnKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHRvb2x0aXApIHtcbiAgICAgIC8vIFRoZSB0cmlnZ2VyIG9yIHRoZSBhdHRyaWJ1dGUgaGFzIGJlZW4gZGVsZXRlZCA9PiBkZWxldGUgdGhlIGNvbm5lY3RlZCB0b29sdGlwXG4gICAgICB0b29sdGlwVHJpZ2dlcnMuZGVsZXRlKHRyaWdnZXJFbGVtZW50KTtcbiAgICAgIC8vIElmIGEgY29uc3VtZXIgb3ZlcnJpZGVzIHRoZSBgc2JiLXRvb2x0aXBgLCB0aGUgZm9sbG93aW5nIGNvZGUgc2hvdWxkIG5vdCBiZVxuICAgICAgLy8gZXhlY3V0ZWQgYXMgd2UgY2FuJ3QgZXhwZWN0IHRoYXQgcHJpdmF0ZSBtZXRob2RzIGFyZSBtb2NrZWQuXG4gICAgICB0b29sdGlwLl9kZXN0cm95Py4oKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLnBvcG92ZXIgPSAnbWFudWFsJztcbiAgICB0aGlzLnN0YXRlID0gJ2Nsb3NlZCc7XG4gICAgc2JiT3ZlcmxheU91dHNpZGVQb2ludGVyRXZlbnRMaXN0ZW5lci5jb25uZWN0KHRoaXMpO1xuXG4gICAgaWYgKHRoaXMuaGFzVXBkYXRlZCAmJiB0aGlzLnRyaWdnZXIpIHtcbiAgICAgIHRoaXMuX2F0dGFjaCh0aGlzLnRyaWdnZXIpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBkaXNjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHNiYk92ZXJsYXlPdXRzaWRlUG9pbnRlckV2ZW50TGlzdGVuZXIuZGlzY29ubmVjdCh0aGlzKTtcbiAgICB0aGlzLl9kZXRhY2goKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSByZXF1ZXN0VXBkYXRlKFxuICAgIG5hbWU/OiBQcm9wZXJ0eUtleSxcbiAgICBvbGRWYWx1ZT86IHVua25vd24sXG4gICAgb3B0aW9ucz86IFByb3BlcnR5RGVjbGFyYXRpb24sXG4gICk6IHZvaWQge1xuICAgIHN1cGVyLnJlcXVlc3RVcGRhdGUobmFtZSwgb2xkVmFsdWUsIG9wdGlvbnMpO1xuICAgIGlmIChpc1NlcnZlcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICgoIW5hbWUgfHwgbmFtZSA9PT0gJ3RyaWdnZXInKSAmJiB0aGlzLmhhc1VwZGF0ZWQpIHtcbiAgICAgIHRoaXMuX2F0dGFjaCh0aGlzLnRyaWdnZXIpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBmaXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzKTogdm9pZCB7XG4gICAgc3VwZXIuZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcbiAgICB0aGlzLl9hdHRhY2godGhpcy50cmlnZ2VyKTtcbiAgfVxuXG4gIHB1YmxpYyBvcGVuKCk6IHZvaWQge1xuICAgIHRoaXMuX3Jlc2V0T3BlbkNsb3NlVGltZW91dCgpO1xuICAgIGlmIChcbiAgICAgICh0aGlzLnN0YXRlICE9PSAnY2xvc2VkJyAmJiB0aGlzLnN0YXRlICE9PSAnY2xvc2luZycpIHx8XG4gICAgICB0aGlzLmRpc2FibGVkIHx8XG4gICAgICAhdGhpcy50cmlnZ2VyIHx8XG4gICAgICAhdGhpcy5kaXNwYXRjaEJlZm9yZU9wZW5FdmVudCgpXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zaG93UG9wb3Zlcj8uKCk7XG4gICAgdGhpcy5zdGF0ZSA9ICdvcGVuaW5nJztcbiAgICB0aGlzLl9vdmVybGF5Q29udHJvbGxlci5jb25uZWN0KHRoaXMudHJpZ2dlcik7XG5cbiAgICAvLyBJZiB0aGUgYW5pbWF0aW9uIGR1cmF0aW9uIGlzIHplcm8sIHRoZSBhbmltYXRpb25lbmQgZXZlbnQgaXMgbm90IGFsd2F5cyBmaXJlZCByZWxpYWJseS5cbiAgICAvLyBJbiB0aGlzIGNhc2Ugd2UgZGlyZWN0bHkgc2V0IHRoZSBgb3BlbmVkYCBzdGF0ZS5cbiAgICBpZiAodGhpcy5faXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKSkge1xuICAgICAgdGhpcy5faGFuZGxlT3BlbmluZygpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBjbG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9yZXNldE9wZW5DbG9zZVRpbWVvdXQoKTtcbiAgICBpZiAodGhpcy5zdGF0ZSAhPT0gJ29wZW5lZCcgJiYgdGhpcy5zdGF0ZSAhPT0gJ29wZW5pbmcnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5kaXNwYXRjaEJlZm9yZUNsb3NlRXZlbnQoKTtcbiAgICB0aGlzLnN0YXRlID0gJ2Nsb3NpbmcnO1xuXG4gICAgLy8gSWYgdGhlIGFuaW1hdGlvbiBkdXJhdGlvbiBpcyB6ZXJvLCB0aGUgYW5pbWF0aW9uZW5kIGV2ZW50IGlzIG5vdCBhbHdheXMgZmlyZWQgcmVsaWFibHkuXG4gICAgLy8gSW4gdGhpcyBjYXNlIHdlIGRpcmVjdGx5IHNldCB0aGUgYGNsb3NlZGAgc3RhdGUuXG4gICAgaWYgKHRoaXMuX2lzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKCkpIHtcbiAgICAgIHRoaXMuX2hhbmRsZUNsb3NpbmcoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9kZWxheWVkT3BlbigpOiB2b2lkIHtcbiAgICB0aGlzLl9yZXNldE9wZW5DbG9zZVRpbWVvdXQoKTtcbiAgICB0aGlzLl9vcGVuVGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4gdGhpcy5vcGVuKCksIHRoaXMub3BlbkRlbGF5KTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZU9wZW5pbmcoKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZSA9ICdvcGVuZWQnO1xuICAgIHRoaXMuX2VzY2FwYWJsZU92ZXJsYXlDb250cm9sbGVyLmNvbm5lY3QoKTtcbiAgICB0aGlzLmRpc3BhdGNoT3BlbkV2ZW50KCk7XG4gIH1cblxuICBwcml2YXRlIF9kZWxheWVkQ2xvc2UoKTogdm9pZCB7XG4gICAgdGhpcy5fcmVzZXRPcGVuQ2xvc2VUaW1lb3V0KCk7XG4gICAgdGhpcy5fY2xvc2VUaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB0aGlzLmNsb3NlKCksIHRoaXMuY2xvc2VEZWxheSk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVDbG9zaW5nKCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGUgPSAnY2xvc2VkJztcbiAgICB0aGlzLmhpZGVQb3BvdmVyPy4oKTtcbiAgICB0aGlzLl9vdmVybGF5Q29udHJvbGxlci5kaXNjb25uZWN0KCk7XG5cbiAgICB0aGlzLl9lc2NhcGFibGVPdmVybGF5Q29udHJvbGxlci5kaXNjb25uZWN0KCk7XG4gICAgdGhpcy5kaXNwYXRjaENsb3NlRXZlbnQoKTtcbiAgICB0aGlzLl9vcGVuU3RhdGVDb250cm9sbGVyPy5hYm9ydCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfb25Ub29sdGlwQW5pbWF0aW9uRW5kKGV2ZW50OiBBbmltYXRpb25FdmVudCk6IHZvaWQge1xuICAgIGlmIChldmVudC5hbmltYXRpb25OYW1lID09PSAnb3BlbicgJiYgdGhpcy5zdGF0ZSA9PT0gJ29wZW5pbmcnKSB7XG4gICAgICB0aGlzLl9oYW5kbGVPcGVuaW5nKCk7XG4gICAgfSBlbHNlIGlmIChldmVudC5hbmltYXRpb25OYW1lID09PSAnY2xvc2UnICYmIHRoaXMuc3RhdGUgPT09ICdjbG9zaW5nJykge1xuICAgICAgdGhpcy5faGFuZGxlQ2xvc2luZygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2F0dGFjaCh0cmlnZ2VyOiBIVE1MRWxlbWVudCB8IG51bGwpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fdHJpZ2dlckVsZW1lbnQpIHtcbiAgICAgIC8vIEV2ZW50dWFsbHkgZGV0YWNoIGZyb20gdGhlIG9sZCB0cmlnZ2VyXG4gICAgICB0aGlzLl9kZXRhY2goKTtcbiAgICB9XG5cbiAgICB0aGlzLl90cmlnZ2VyRWxlbWVudCA9IHRyaWdnZXI7XG4gICAgaWYgKCF0aGlzLl90cmlnZ2VyRWxlbWVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLl90cmlnZ2VyRWxlbWVudC5hcmlhRGVzY3JpYmVkQnlFbGVtZW50cyA9IGFwcGVuZEFyaWFFbGVtZW50cyhcbiAgICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50LmFyaWFEZXNjcmliZWRCeUVsZW1lbnRzLFxuICAgICAgdGhpcyxcbiAgICApO1xuICAgIHRoaXMuX2FkZFRyaWdnZXJFdmVudEhhbmRsZXJzKCk7XG4gIH1cblxuICBwcml2YXRlIF9kZXRhY2goKTogdm9pZCB7XG4gICAgdGhpcy5fdHJpZ2dlckFib3J0Q29udHJvbGxlcj8uYWJvcnQoKTtcbiAgICB0aGlzLl9vcGVuU3RhdGVDb250cm9sbGVyPy5hYm9ydCgpO1xuXG4gICAgLy8gY2xlYXIgdGltZW91dHNcbiAgICB0aGlzLl9yZXNldE9wZW5DbG9zZVRpbWVvdXQoKTtcbiAgICBjbGVhclRpbWVvdXQodGhpcy5fbG9uZ1ByZXNzT3BlblRpbWVvdXQpO1xuICAgIGNsZWFyVGltZW91dCh0aGlzLl9sb25nUHJlc3NDbG9zZVRpbWVvdXQpO1xuXG4gICAgaWYgKCF0aGlzLl90cmlnZ2VyRWxlbWVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLl90cmlnZ2VyRWxlbWVudC5hcmlhRGVzY3JpYmVkQnlFbGVtZW50cyA9IHJlbW92ZUFyaWFFbGVtZW50cyhcbiAgICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50LmFyaWFEZXNjcmliZWRCeUVsZW1lbnRzLFxuICAgICAgdGhpcyxcbiAgICApO1xuICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50ID0gbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgX2Rlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fZGV0YWNoKCk7XG4gICAgdGhpcy5yZW1vdmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2FkZFRyaWdnZXJFdmVudEhhbmRsZXJzKCk6IHZvaWQge1xuICAgIGNvbnN0IHRyaWdnZXIgPSB0aGlzLl90cmlnZ2VyRWxlbWVudDtcbiAgICBpZiAoIXRyaWdnZXIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl90cmlnZ2VyQWJvcnRDb250cm9sbGVyPy5hYm9ydCgpO1xuICAgIHRoaXMuX3RyaWdnZXJBYm9ydENvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG4gICAgY29uc3Qgb3B0aW9uczogQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMgPSB7XG4gICAgICBzaWduYWw6IHRoaXMuX3RyaWdnZXJBYm9ydENvbnRyb2xsZXIuc2lnbmFsLFxuICAgICAgcGFzc2l2ZTogdHJ1ZSxcbiAgICB9O1xuXG4gICAgaWYgKCFpc01vYmlsZSkge1xuICAgICAgdHJpZ2dlci5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWVudGVyJywgKCkgPT4gdGhpcy5fZGVsYXllZE9wZW4oKSwgb3B0aW9ucyk7XG4gICAgICB0cmlnZ2VyLmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAgICdtb3VzZWxlYXZlJyxcbiAgICAgICAgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgY29uc3QgbmV3VGFyZ2V0ID0gZXZlbnQucmVsYXRlZFRhcmdldCBhcyBOb2RlIHwgbnVsbDtcbiAgICAgICAgICBpZiAoIW5ld1RhcmdldCB8fCBuZXdUYXJnZXQgIT09IHRoaXMpIHtcbiAgICAgICAgICAgIHRoaXMuX2RlbGF5ZWRDbG9zZSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgb3B0aW9ucyxcbiAgICAgICk7XG5cbiAgICAgIC8vICdibHVycycgaW1tZWRpYXRlbHkgY2xvc2UgdGhlIHRvb2x0aXAgYmVjYXVzZSBpdCBpcyBjb25zaWRlcmVkIGFuICdpbnRlcmFjdGlvbiB3aXRoIG90aGVyIGVsZW1lbnRzJ1xuICAgICAgdHJpZ2dlci5hZGRFdmVudExpc3RlbmVyKCdibHVyJywgKCkgPT4gdGhpcy5jbG9zZSgpLCBvcHRpb25zKTtcbiAgICAgIHRyaWdnZXIuYWRkRXZlbnRMaXN0ZW5lcignZm9jdXMnLCAoKSA9PiB0aGlzLl9kZWxheWVkT3BlbigpLCBvcHRpb25zKTtcbiAgICB9XG5cbiAgICAvLyBMb25nLXByZXNzIGV2ZW50IGhhbmRsaW5nIChtYWlubHkgZm9yIG1vYmlsZSB1c2VycylcbiAgICB0cmlnZ2VyLmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAndG91Y2hzdGFydCcsXG4gICAgICAoKSA9PiB7XG4gICAgICAgIGNsZWFyVGltZW91dCh0aGlzLl9sb25nUHJlc3NPcGVuVGltZW91dCk7XG4gICAgICAgIGNsZWFyVGltZW91dCh0aGlzLl9sb25nUHJlc3NDbG9zZVRpbWVvdXQpO1xuICAgICAgICB0aGlzLl9sb25nUHJlc3NPcGVuVGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4gdGhpcy5vcGVuKCksIExPTkdQUkVTU19ERUxBWSk7XG4gICAgICB9LFxuICAgICAgb3B0aW9ucyxcbiAgICApO1xuICAgIHRyaWdnZXIuYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICd0b3VjaGVuZCcsXG4gICAgICAoKSA9PiB7XG4gICAgICAgIGNsZWFyVGltZW91dCh0aGlzLl9sb25nUHJlc3NPcGVuVGltZW91dCk7XG4gICAgICAgIHRoaXMuX2xvbmdQcmVzc0Nsb3NlVGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4gdGhpcy5jbG9zZSgpLCB0aGlzLmxvbmdQcmVzc0Nsb3NlRGVsYXkpO1xuICAgICAgfSxcbiAgICAgIG9wdGlvbnMsXG4gICAgKTtcbiAgICB0cmlnZ2VyLmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAndG91Y2hjYW5jZWwnLFxuICAgICAgKCkgPT4ge1xuICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5fbG9uZ1ByZXNzT3BlblRpbWVvdXQpO1xuICAgICAgfSxcbiAgICAgIG9wdGlvbnMsXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2lzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc1plcm9BbmltYXRpb25EdXJhdGlvbih0aGlzLCAnLS1zYmItdG9vbHRpcC1hbmltYXRpb24tZHVyYXRpb24nKTtcbiAgfVxuXG4gIHByaXZhdGUgX3Jlc2V0T3BlbkNsb3NlVGltZW91dCgpOiB2b2lkIHtcbiAgICBjbGVhclRpbWVvdXQodGhpcy5fb3BlblRpbWVvdXQpO1xuICAgIGNsZWFyVGltZW91dCh0aGlzLl9jbG9zZVRpbWVvdXQpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLXRvb2x0aXBcIj5cbiAgICAgICAgPHNsb3Q+PC9zbG90PlxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLXRvb2x0aXAnOiBTYmJUb29sdGlwRWxlbWVudDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUN5Q0EsSUFBTSxrQkFBa0I7QUFFeEIsSUFBTSxXQUFXLGFBQWE7QUFDOUIsSUFBTSxrQ0FBa0IsSUFBSSxTQUF5Qzs7Ozs7Ozs7Ozs7O0lBYXhELDJCQUFpQjttQkFBUyxpQkFBaUIsd0JBQXdCOzs7Ozs7OztjQUFuRSwwQkFBMEIsWUFBeUM7OzswQkFvQjdFLGFBQWEsRUFDYixVQUFVLENBQUE7Z0NBU1YsU0FBUztJQUFFLFdBQVc7SUFBYyxNQUFNO0lBQVEsQ0FBQyxDQUFBO2lDQWVuRCxTQUFTO0lBQUUsV0FBVztJQUFlLE1BQU07SUFBUSxDQUFDLENBQUE7MENBZXBELFNBQVM7SUFBRSxXQUFXO0lBQTBCLE1BQU07SUFBUSxDQUFDLENBQUE7QUF0Q2hFLGdCQUFBLE1BQUEsTUFBQSxxQkFBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNB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
@@ -1,4 +1,4 @@
1
- import { t as SbbTooltipElement } from "./tooltip.component-BtWTK2R0.js";
1
+ import { t as SbbTooltipElement } from "./tooltip.component-lvElko6C.js";
2
2
  import "./tooltip.pure.js";
3
3
  //#region src/elements/tooltip.ts
4
4
  /** @entrypoint */
@@ -1,2 +1,2 @@
1
- import { t as SbbTooltipElement } from "./tooltip.component-BtWTK2R0.js";
1
+ import { t as SbbTooltipElement } from "./tooltip.component-lvElko6C.js";
2
2
  export { SbbTooltipElement };