@sbb-esta/lyne-elements 3.9.0 → 3.11.0

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 (120) hide show
  1. package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +1 -1
  2. package/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +1 -1
  3. package/calendar/calendar.component.d.ts +2 -1
  4. package/calendar/calendar.component.d.ts.map +1 -1
  5. package/calendar/calendar.component.js +211 -225
  6. package/carousel/carousel/carousel.component.d.ts.map +1 -1
  7. package/carousel/carousel/carousel.component.js +5 -5
  8. package/core/controllers/escapable-overlay-controller.d.ts +3 -0
  9. package/core/controllers/escapable-overlay-controller.d.ts.map +1 -1
  10. package/core/controllers/overlay-position-controller.d.ts +60 -0
  11. package/core/controllers/overlay-position-controller.d.ts.map +1 -0
  12. package/core/controllers/overlay-position-controller.js +224 -0
  13. package/core/controllers.d.ts +1 -0
  14. package/core/controllers.d.ts.map +1 -1
  15. package/core/controllers.js +12 -10
  16. package/core/styles/core.scss +27 -2
  17. package/core.css +21 -2
  18. package/custom-elements.json +2238 -769
  19. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +7 -1
  20. package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +2 -1
  21. package/development/calendar/calendar.component.d.ts +2 -1
  22. package/development/calendar/calendar.component.d.ts.map +1 -1
  23. package/development/calendar/calendar.component.js +20 -36
  24. package/development/carousel/carousel/carousel.component.d.ts.map +1 -1
  25. package/development/carousel/carousel/carousel.component.js +2 -2
  26. package/development/core/controllers/escapable-overlay-controller.d.ts +3 -0
  27. package/development/core/controllers/escapable-overlay-controller.d.ts.map +1 -1
  28. package/development/core/controllers/escapable-overlay-controller.js +1 -1
  29. package/development/core/controllers/overlay-position-controller.d.ts +60 -0
  30. package/development/core/controllers/overlay-position-controller.d.ts.map +1 -0
  31. package/development/core/controllers/overlay-position-controller.js +306 -0
  32. package/development/core/controllers.d.ts +1 -0
  33. package/development/core/controllers.d.ts.map +1 -1
  34. package/development/core/controllers.js +3 -1
  35. package/development/mini-calendar/mini-calendar/mini-calendar.component.d.ts +35 -0
  36. package/development/mini-calendar/mini-calendar/mini-calendar.component.d.ts.map +1 -0
  37. package/development/mini-calendar/mini-calendar/mini-calendar.component.js +201 -0
  38. package/development/mini-calendar/mini-calendar-day/mini-calendar-day.component.d.ts +23 -0
  39. package/development/mini-calendar/mini-calendar-day/mini-calendar-day.component.d.ts.map +1 -0
  40. package/development/mini-calendar/mini-calendar-day/mini-calendar-day.component.js +181 -0
  41. package/development/mini-calendar/mini-calendar-day.d.ts +5 -0
  42. package/development/mini-calendar/mini-calendar-day.d.ts.map +1 -0
  43. package/development/mini-calendar/mini-calendar-day.js +5 -0
  44. package/development/mini-calendar/mini-calendar-month/mini-calendar-month.component.d.ts +25 -0
  45. package/development/mini-calendar/mini-calendar-month/mini-calendar-month.component.d.ts.map +1 -0
  46. package/development/mini-calendar/mini-calendar-month/mini-calendar-month.component.js +123 -0
  47. package/development/mini-calendar/mini-calendar-month.d.ts +5 -0
  48. package/development/mini-calendar/mini-calendar-month.d.ts.map +1 -0
  49. package/development/mini-calendar/mini-calendar-month.js +5 -0
  50. package/development/mini-calendar/mini-calendar.d.ts +5 -0
  51. package/development/mini-calendar/mini-calendar.d.ts.map +1 -0
  52. package/development/mini-calendar/mini-calendar.js +5 -0
  53. package/development/mini-calendar.d.ts +7 -0
  54. package/development/mini-calendar.d.ts.map +1 -0
  55. package/development/mini-calendar.js +9 -0
  56. package/development/paginator/common/paginator-common.d.ts.map +1 -1
  57. package/development/paginator/common/paginator-common.js +14 -3
  58. package/development/sidebar/icon-sidebar-button/icon-sidebar-button.component.d.ts +4 -1
  59. package/development/sidebar/icon-sidebar-button/icon-sidebar-button.component.d.ts.map +1 -1
  60. package/development/sidebar/icon-sidebar-button/icon-sidebar-button.component.js +5 -1
  61. package/development/sidebar/icon-sidebar-link/icon-sidebar-link.component.d.ts +4 -1
  62. package/development/sidebar/icon-sidebar-link/icon-sidebar-link.component.d.ts.map +1 -1
  63. package/development/sidebar/icon-sidebar-link/icon-sidebar-link.component.js +5 -1
  64. package/development/tabs/tab/tab.component.d.ts +9 -0
  65. package/development/tabs/tab/tab.component.d.ts.map +1 -1
  66. package/development/tabs/tab/tab.component.js +48 -7
  67. package/development/tabs/tab-group/tab-group.component.d.ts +7 -3
  68. package/development/tabs/tab-group/tab-group.component.d.ts.map +1 -1
  69. package/development/tabs/tab-group/tab-group.component.js +19 -39
  70. package/development/tabs/tab-label/tab-label.component.d.ts.map +1 -1
  71. package/development/tabs/tab-label/tab-label.component.js +4 -3
  72. package/development/tooltip/tooltip.component.d.ts +11 -4
  73. package/development/tooltip/tooltip.component.d.ts.map +1 -1
  74. package/development/tooltip/tooltip.component.js +57 -78
  75. package/index.d.ts +6 -0
  76. package/index.js +6 -0
  77. package/mini-calendar/mini-calendar/mini-calendar.component.d.ts +35 -0
  78. package/mini-calendar/mini-calendar/mini-calendar.component.d.ts.map +1 -0
  79. package/mini-calendar/mini-calendar/mini-calendar.component.js +133 -0
  80. package/mini-calendar/mini-calendar-day/mini-calendar-day.component.d.ts +23 -0
  81. package/mini-calendar/mini-calendar-day/mini-calendar-day.component.d.ts.map +1 -0
  82. package/mini-calendar/mini-calendar-day/mini-calendar-day.component.js +66 -0
  83. package/mini-calendar/mini-calendar-day.d.ts +5 -0
  84. package/mini-calendar/mini-calendar-day.d.ts.map +1 -0
  85. package/mini-calendar/mini-calendar-day.js +4 -0
  86. package/mini-calendar/mini-calendar-month/mini-calendar-month.component.d.ts +25 -0
  87. package/mini-calendar/mini-calendar-month/mini-calendar-month.component.d.ts.map +1 -0
  88. package/mini-calendar/mini-calendar-month/mini-calendar-month.component.js +59 -0
  89. package/mini-calendar/mini-calendar-month.d.ts +5 -0
  90. package/mini-calendar/mini-calendar-month.d.ts.map +1 -0
  91. package/mini-calendar/mini-calendar-month.js +4 -0
  92. package/mini-calendar/mini-calendar.d.ts +5 -0
  93. package/mini-calendar/mini-calendar.d.ts.map +1 -0
  94. package/mini-calendar/mini-calendar.js +4 -0
  95. package/mini-calendar.d.ts +7 -0
  96. package/mini-calendar.d.ts.map +1 -0
  97. package/mini-calendar.js +8 -0
  98. package/off-brand-theme.css +21 -2
  99. package/package.json +21 -1
  100. package/paginator/common/paginator-common.d.ts.map +1 -1
  101. package/paginator/common/paginator-common.js +30 -25
  102. package/safety-theme.css +21 -2
  103. package/sidebar/icon-sidebar-button/icon-sidebar-button.component.d.ts +4 -1
  104. package/sidebar/icon-sidebar-button/icon-sidebar-button.component.d.ts.map +1 -1
  105. package/sidebar/icon-sidebar-button/icon-sidebar-button.component.js +9 -6
  106. package/sidebar/icon-sidebar-link/icon-sidebar-link.component.d.ts +4 -1
  107. package/sidebar/icon-sidebar-link/icon-sidebar-link.component.d.ts.map +1 -1
  108. package/sidebar/icon-sidebar-link/icon-sidebar-link.component.js +13 -10
  109. package/standard-theme.css +21 -2
  110. package/tabs/tab/tab.component.d.ts +9 -0
  111. package/tabs/tab/tab.component.d.ts.map +1 -1
  112. package/tabs/tab/tab.component.js +37 -18
  113. package/tabs/tab-group/tab-group.component.d.ts +7 -3
  114. package/tabs/tab-group/tab-group.component.d.ts.map +1 -1
  115. package/tabs/tab-group/tab-group.component.js +51 -52
  116. package/tabs/tab-label/tab-label.component.d.ts.map +1 -1
  117. package/tabs/tab-label/tab-label.component.js +12 -12
  118. package/tooltip/tooltip.component.d.ts +11 -4
  119. package/tooltip/tooltip.component.d.ts.map +1 -1
  120. package/tooltip/tooltip.component.js +60 -84
@@ -14,7 +14,7 @@ import { isArrowKeyPressed, getNextElementIndex } from "../../core/a11y.js";
14
14
  import { forceType } from "../../core/decorators.js";
15
15
  import { isLean } from "../../core/dom.js";
16
16
  import { throttle } from "../../core/eventing.js";
17
- import { SbbHydrationMixin } from "../../core/mixins.js";
17
+ import { SbbElementInternalsMixin, SbbHydrationMixin } from "../../core/mixins.js";
18
18
  const style = css`*,
19
19
  ::before,
20
20
  ::after {
@@ -22,11 +22,15 @@ const style = css`*,
22
22
  }
23
23
 
24
24
  :host {
25
+ display: block;
26
+ --sbb-tab-group-animation-duration: 0s;
27
+ }
28
+
29
+ :host(:is(:state(initialized),[state--initialized])) {
25
30
  --sbb-tab-group-animation-duration: var(
26
31
  --sbb-disable-animation-duration,
27
32
  var(--sbb-animation-duration-4x)
28
33
  );
29
- display: block;
30
34
  }
31
35
 
32
36
  .sbb-tab-group {
@@ -37,26 +41,6 @@ const style = css`*,
37
41
  .sbb-tab-group-content {
38
42
  margin-block-start: var(--sbb-spacing-responsive-m);
39
43
  transition: height var(--sbb-tab-group-animation-duration) var(--sbb-animation-easing);
40
- }
41
- .sbb-tab-group-content ::slotted(sbb-tab) {
42
- visibility: hidden;
43
- opacity: 0;
44
- height: 0;
45
- overflow: hidden;
46
- }
47
- .sbb-tab-group-content ::slotted(sbb-tab[data-active]) {
48
- visibility: visible;
49
- opacity: 1;
50
- height: fit-content;
51
- overflow: unset;
52
- transition-duration: var(--sbb-tab-group-animation-duration);
53
- transition-delay: var(--sbb-tab-group-animation-duration);
54
- transition-timing-function: var(--sbb-animation-easing);
55
- transition-property: opacity, visibility;
56
- }
57
- .sbb-tab-group-content ::slotted(sbb-tab:focus-visible) {
58
- outline-offset: var(--sbb-focus-outline-offset);
59
- outline: var(--sbb-focus-outline-color) var(--sbb-focus-outline-style, solid) var(--sbb-focus-outline-width);
60
44
  }`;
61
45
  let SbbTabGroupElement = (() => {
62
46
  var _initialSelectedIndex_accessor_storage, _a;
@@ -64,7 +48,7 @@ let SbbTabGroupElement = (() => {
64
48
  let _classDescriptor;
65
49
  let _classExtraInitializers = [];
66
50
  let _classThis;
67
- let _classSuper = SbbHydrationMixin(LitElement);
51
+ let _classSuper = SbbElementInternalsMixin(SbbHydrationMixin(LitElement));
68
52
  let _instanceExtraInitializers = [];
69
53
  let _set_size_decorators;
70
54
  let _initialSelectedIndex_decorators;
@@ -80,11 +64,6 @@ let SbbTabGroupElement = (() => {
80
64
  skipInitial: true,
81
65
  callback: (entries) => this._onTabGroupElementResize(entries)
82
66
  });
83
- this._tabContentResizeObserver = new ResizeController(this, {
84
- target: null,
85
- skipInitial: true,
86
- callback: (entries) => this._onTabContentElementResize(entries)
87
- });
88
67
  this._size = isLean() ? "s" : "l";
89
68
  __privateSet(this, _initialSelectedIndex_accessor_storage, __runInitializers(this, _initialSelectedIndex_initializers, 0));
90
69
  this._onContentSlotChange = (__runInitializers(this, _initialSelectedIndex_extraInitializers), () => {
@@ -122,12 +101,16 @@ let SbbTabGroupElement = (() => {
122
101
  get labels() {
123
102
  return Array.from(this.children ?? []).filter((child) => /^sbb-tab-label$/u.test(child.localName));
124
103
  }
104
+ /** Gets the slotted `sbb-tab`s. */
105
+ get tabs() {
106
+ return Array.from(this.children ?? []).filter((child) => /^sbb-tab$/u.test(child.localName));
107
+ }
125
108
  firstUpdated(changedProperties) {
126
109
  super.firstUpdated(changedProperties);
127
110
  this.labels.forEach((tabLabel) => tabLabel["linkToTab"]());
128
111
  this._initSelection();
112
+ Promise.resolve().then(() => this.toggleState("initialized", true));
129
113
  this._tabGroupResizeObserver.observe(this._tabGroupElement);
130
- this._tabContentResizeObserver.observe(this._tabContentElement);
131
114
  }
132
115
  /**
133
116
  * Disables a tab by index.
@@ -183,15 +166,6 @@ let SbbTabGroupElement = (() => {
183
166
  }
184
167
  }
185
168
  }
186
- _onTabContentElementResize(entries) {
187
- if (!this._tabContentElement) {
188
- return;
189
- }
190
- for (const entry of entries) {
191
- const contentHeight = Math.floor(entry.contentRect.height);
192
- this._tabContentElement.style.height = `${contentHeight}px`;
193
- }
194
- }
195
169
  _handleKeyDown(evt) {
196
170
  const enabledTabs = this._enabledTabs();
197
171
  if (!enabledTabs || // don't trap nested handling
@@ -206,6 +180,12 @@ let SbbTabGroupElement = (() => {
206
180
  evt.preventDefault();
207
181
  }
208
182
  }
183
+ /**
184
+ * @internal
185
+ */
186
+ setTabContentHeight(contentHeight) {
187
+ this._tabContentElement.style.height = `${contentHeight}px`;
188
+ }
209
189
  render() {
210
190
  return html`
211
191
  <div
@@ -244,4 +224,4 @@ let SbbTabGroupElement = (() => {
244
224
  export {
245
225
  SbbTabGroupElement
246
226
  };
247
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3RhYnMvdGFiLWdyb3VwL3RhYi1ncm91cC5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVzaXplQ29udHJvbGxlciB9IGZyb20gJ0BsaXQtbGFicy9vYnNlcnZlcnMvcmVzaXplLWNvbnRyb2xsZXIuanMnO1xuaW1wb3J0IHR5cGUgeyBDU1NSZXN1bHRHcm91cCwgUHJvcGVydHlWYWx1ZXMsIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGh0bWwsIExpdEVsZW1lbnQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyByZWYgfSBmcm9tICdsaXQvZGlyZWN0aXZlcy9yZWYuanMnO1xuXG5pbXBvcnQgeyBnZXROZXh0RWxlbWVudEluZGV4LCBpc0Fycm93S2V5UHJlc3NlZCB9IGZyb20gJy4uLy4uL2NvcmUvYTExeS5qcyc7XG5pbXBvcnQgeyBmb3JjZVR5cGUgfSBmcm9tICcuLi8uLi9jb3JlL2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgaXNMZWFuIH0gZnJvbSAnLi4vLi4vY29yZS9kb20uanMnO1xuaW1wb3J0IHsgdGhyb3R0bGUgfSBmcm9tICcuLi8uLi9jb3JlL2V2ZW50aW5nLmpzJztcbmltcG9ydCB7IFNiYkh5ZHJhdGlvbk1peGluIH0gZnJvbSAnLi4vLi4vY29yZS9taXhpbnMuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJUYWJMYWJlbEVsZW1lbnQgfSBmcm9tICcuLi90YWItbGFiZWwuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJUYWJFbGVtZW50IH0gZnJvbSAnLi4vdGFiLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vdGFiLWdyb3VwLnNjc3M/bGl0JmlubGluZSc7XG5cbmV4cG9ydCB0eXBlIFNiYlRhYkNoYW5nZWRFdmVudERldGFpbHMgPSB7XG4gIGFjdGl2ZUluZGV4OiBudW1iZXI7XG4gIGFjdGl2ZVRhYkxhYmVsOiBTYmJUYWJMYWJlbEVsZW1lbnQ7XG4gIGFjdGl2ZVRhYjogU2JiVGFiRWxlbWVudDtcbiAgcHJldmlvdXNJbmRleDogbnVtYmVyO1xuICBwcmV2aW91c1RhYkxhYmVsOiBTYmJUYWJMYWJlbEVsZW1lbnQgfCB1bmRlZmluZWQ7XG4gIHByZXZpb3VzVGFiOiBTYmJUYWJFbGVtZW50IHwgdW5kZWZpbmVkO1xufTtcblxuLyoqXG4gKiBAZGVwcmVjYXRlZFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEludGVyZmFjZVNiYlRhYkdyb3VwQWN0aW9ucyB7XG4gIGFjdGl2YXRlKCk6IHZvaWQ7XG4gIGRlYWN0aXZhdGUoKTogdm9pZDtcbiAgZW5hYmxlKCk6IHZvaWQ7XG4gIGRpc2FibGUoKTogdm9pZDtcbiAgc2VsZWN0KCk6IHZvaWQ7XG59XG5cbi8qKlxuICogQGRlcHJlY2F0ZWRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJbnRlcmZhY2VTYmJUYWJHcm91cFRhYiBleHRlbmRzIFNiYlRhYkxhYmVsRWxlbWVudCB7XG4gIGFjdGl2ZTogYm9vbGVhbjtcbiAgZGlzYWJsZWQ6IGJvb2xlYW47XG4gIHRhYjogU2JiVGFiRWxlbWVudCB8IG51bGw7XG4gIGluZGV4PzogbnVtYmVyO1xuICB0YWJHcm91cEFjdGlvbnM/OiBJbnRlcmZhY2VTYmJUYWJHcm91cEFjdGlvbnM7XG4gIHNpemU6ICdzJyB8ICdsJyB8ICd4bCc7XG59XG5cbi8qKlxuICogSXQgZGlzcGxheXMgb25lIG9yIG1vcmUgdGFicywgZWFjaCBvbmUgd2l0aCBhIGxhYmVsIGFuZCBzb21lIGNvbnRlbnQuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgY29udGVudCB0byB0aGUgYHNiYi10YWItZ3JvdXBgIHZpYSBgc2JiLXRhYi1sYWJlbGAgYW5kIGBzYmItdGFiYCBpbnN0YW5jZXMuXG4gKiBAZXZlbnQge0N1c3RvbUV2ZW50PFNiYlRhYkNoYW5nZWRFdmVudERldGFpbHM+fSB0YWJjaGFuZ2UgLSBUaGUgdGFiY2hhbmdlIGV2ZW50IGlzIGRpc3BhdGNoZWQgd2hlbiBhIHRhYiBpcyBzZWxlY3RlZC5cbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLXRhYi1ncm91cCcpXG5jbGFzcyBTYmJUYWJHcm91cEVsZW1lbnQgZXh0ZW5kcyBTYmJIeWRyYXRpb25NaXhpbihMaXRFbGVtZW50KSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50cyA9IHtcbiAgICB0YWJjaGFuZ2U6ICd0YWJjaGFuZ2UnLFxuICB9IGFzIGNvbnN0O1xuXG4gIHByaXZhdGUgX3RhYkdyb3VwRWxlbWVudCE6IEhUTUxFbGVtZW50O1xuICBwcml2YXRlIF90YWJDb250ZW50RWxlbWVudCE6IEhUTUxFbGVtZW50O1xuICBwcml2YXRlIF90YWJHcm91cFJlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZUNvbnRyb2xsZXIodGhpcywge1xuICAgIHRhcmdldDogbnVsbCxcbiAgICBza2lwSW5pdGlhbDogdHJ1ZSxcbiAgICBjYWxsYmFjazogKGVudHJpZXMpID0+IHRoaXMuX29uVGFiR3JvdXBFbGVtZW50UmVzaXplKGVudHJpZXMpLFxuICB9KTtcbiAgcHJpdmF0ZSBfdGFiQ29udGVudFJlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZUNvbnRyb2xsZXIodGhpcywge1xuICAgIHRhcmdldDogbnVsbCxcbiAgICBza2lwSW5pdGlhbDogdHJ1ZSxcbiAgICBjYWxsYmFjazogKGVudHJpZXMpID0+IHRoaXMuX29uVGFiQ29udGVudEVsZW1lbnRSZXNpemUoZW50cmllcyksXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBTaXplIHZhcmlhbnQsIGVpdGhlciBzLCBsIG9yIHhsLlxuICAgKiBAZGVmYXVsdCAnbCcgLyAncycgKGxlYW4pXG4gICAqL1xuICBAcHJvcGVydHkoKVxuICBwdWJsaWMgc2V0IHNpemUodmFsdWU6ICdzJyB8ICdsJyB8ICd4bCcpIHtcbiAgICB0aGlzLl9zaXplID0gdmFsdWU7XG4gICAgdGhpcy5fdXBkYXRlU2l6ZSgpO1xuICB9XG4gIHB1YmxpYyBnZXQgc2l6ZSgpOiAncycgfCAnbCcgfCAneGwnIHtcbiAgICByZXR1cm4gdGhpcy5fc2l6ZTtcbiAgfVxuICBwcml2YXRlIF9zaXplOiAncycgfCAnbCcgfCAneGwnID0gaXNMZWFuKCkgPyAncycgOiAnbCc7XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGluaXRpYWwgdGFiLiBJZiBpdCBtYXRjaGVzIGEgZGlzYWJsZWQgdGFiIG9yIGV4Y2VlZHMgdGhlIGxlbmd0aCBvZlxuICAgKiB0aGUgdGFiIGdyb3VwLCB0aGUgZmlyc3QgZW5hYmxlZCB0YWIgd2lsbCBiZSBzZWxlY3RlZC5cbiAgICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdpbml0aWFsLXNlbGVjdGVkLWluZGV4JywgdHlwZTogTnVtYmVyIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBpbml0aWFsU2VsZWN0ZWRJbmRleDogbnVtYmVyID0gMDtcblxuICAvKiogR2V0cyB0aGUgc2xvdHRlZCBgc2JiLXRhYi1sYWJlbGBzLiAqL1xuICBwdWJsaWMgZ2V0IGxhYmVscygpOiBTYmJUYWJMYWJlbEVsZW1lbnRbXSB7XG4gICAgLyoqXG4gICAgICogVGhlIHF1ZXJ5U2VsZWN0b3IgQVBJIGlzIG5vdCB1c2VkIGJlY2F1c2Ugd2hlbiBuZXN0ZWQgdGFicyBhcmUgdXNlZCxcbiAgICAgKiB0aGUgcmV0dXJuZWQgYXJyYXkgY29udGFpbnMgdGhlIGlubmVyIHRhYnMgdG9vLCBhbmQgdGhpcyBicmVha3MgdGhlIGtleWJvYXJkIG5hdmlnYXRpb24uXG4gICAgICovXG4gICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5jaGlsZHJlbiA/PyBbXSkuZmlsdGVyKChjaGlsZCkgPT5cbiAgICAgIC9ec2JiLXRhYi1sYWJlbCQvdS50ZXN0KGNoaWxkLmxvY2FsTmFtZSksXG4gICAgKSBhcyBTYmJUYWJMYWJlbEVsZW1lbnRbXTtcbiAgfVxuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdrZXlkb3duJywgKGUpID0+IHRoaXMuX2hhbmRsZUtleURvd24oZSkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci5maXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgdGhpcy5sYWJlbHMuZm9yRWFjaCgodGFiTGFiZWwpID0+IHRhYkxhYmVsWydsaW5rVG9UYWInXSgpKTtcbiAgICB0aGlzLl9pbml0U2VsZWN0aW9uKCk7XG4gICAgdGhpcy5fdGFiR3JvdXBSZXNpemVPYnNlcnZlci5vYnNlcnZlKHRoaXMuX3RhYkdyb3VwRWxlbWVudCk7XG4gICAgdGhpcy5fdGFiQ29udGVudFJlc2l6ZU9ic2VydmVyLm9ic2VydmUodGhpcy5fdGFiQ29udGVudEVsZW1lbnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIERpc2FibGVzIGEgdGFiIGJ5IGluZGV4LlxuICAgKiBAcGFyYW0gdGFiSW5kZXggVGhlIGluZGV4IG9mIHRoZSB0YWIgeW91IHdhbnQgdG8gZGlzYWJsZS5cbiAgICovXG4gIHB1YmxpYyBkaXNhYmxlVGFiKHRhYkluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5sYWJlbHNbdGFiSW5kZXhdKSB7XG4gICAgICB0aGlzLmxhYmVsc1t0YWJJbmRleF0uZGlzYWJsZWQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBFbmFibGVzIGEgdGFiIGJ5IGluZGV4LlxuICAgKiBAcGFyYW0gdGFiSW5kZXggVGhlIGluZGV4IG9mIHRoZSB0YWIgeW91IHdhbnQgdG8gZW5hYmxlLlxuICAgKi9cbiAgcHVibGljIGVuYWJsZVRhYih0YWJJbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubGFiZWxzW3RhYkluZGV4XSkge1xuICAgICAgdGhpcy5sYWJlbHNbdGFiSW5kZXhdLmRpc2FibGVkID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEFjdGl2YXRlcyBhIHRhYiBieSBpbmRleC5cbiAgICogQHBhcmFtIHRhYkluZGV4IFRoZSBpbmRleCBvZiB0aGUgdGFiIHlvdSB3YW50IHRvIGFjdGl2YXRlLlxuICAgKi9cbiAgcHVibGljIGFjdGl2YXRlVGFiKHRhYkluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLmxhYmVsc1t0YWJJbmRleF0/LmFjdGl2YXRlKCk7XG4gIH1cblxuICBwcml2YXRlIF9lbmFibGVkVGFicygpOiBTYmJUYWJMYWJlbEVsZW1lbnRbXSB7XG4gICAgcmV0dXJuIHRoaXMubGFiZWxzLmZpbHRlcigodCkgPT4ge1xuICAgICAgY3VzdG9tRWxlbWVudHMudXBncmFkZSh0KTtcbiAgICAgIHJldHVybiAhdC5kaXNhYmxlZDtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZVNpemUoKTogdm9pZCB7XG4gICAgdGhpcy5sYWJlbHMuZm9yRWFjaCgodGFiTGFiZWw6IFNiYlRhYkxhYmVsRWxlbWVudCkgPT5cbiAgICAgIHRhYkxhYmVsLnNldEF0dHJpYnV0ZSgnZGF0YS1zaXplJywgdGhpcy5zaXplKSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfb25Db250ZW50U2xvdENoYW5nZSA9ICgpOiB2b2lkID0+IHtcbiAgICB0aGlzLmxhYmVscy5mb3JFYWNoKCh0YWJMYWJlbCkgPT4gdGFiTGFiZWxbJ2xpbmtUb1RhYiddKCkpO1xuICAgIHRoaXMubGFiZWxzLmZpbmQoKHRhYkxhYmVsKSA9PiB0YWJMYWJlbC5hY3RpdmUpPy5hY3RpdmF0ZSgpO1xuICB9O1xuXG4gIHByaXZhdGUgX29uTGFiZWxTbG90Q2hhbmdlID0gKCk6IHZvaWQgPT4ge1xuICAgIHRoaXMuX3VwZGF0ZVNpemUoKTtcbiAgICB0aGlzLmxhYmVscy5mb3JFYWNoKCh0YWJMYWJlbCkgPT4gdGFiTGFiZWxbJ2xpbmtUb1RhYiddKCkpO1xuICB9O1xuXG4gIHByaXZhdGUgX2luaXRTZWxlY3Rpb24oKTogdm9pZCB7XG4gICAgY29uc3Qgc2VsZWN0ZWRUYWJMYWJlbCA9IHRoaXMubGFiZWxzW3RoaXMuaW5pdGlhbFNlbGVjdGVkSW5kZXhdO1xuICAgIGlmIChzZWxlY3RlZFRhYkxhYmVsKSB7XG4gICAgICBjdXN0b21FbGVtZW50cy51cGdyYWRlKHNlbGVjdGVkVGFiTGFiZWwpO1xuICAgICAgaWYgKFxuICAgICAgICB0aGlzLmluaXRpYWxTZWxlY3RlZEluZGV4ID49IDAgJiZcbiAgICAgICAgdGhpcy5pbml0aWFsU2VsZWN0ZWRJbmRleCA8IHRoaXMubGFiZWxzLmxlbmd0aCAmJlxuICAgICAgICAhc2VsZWN0ZWRUYWJMYWJlbC5kaXNhYmxlZFxuICAgICAgKSB7XG4gICAgICAgIHNlbGVjdGVkVGFiTGFiZWwuYWN0aXZhdGUoKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLl9lbmFibGVkVGFicygpWzBdPy5hY3RpdmF0ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfb25UYWJHcm91cEVsZW1lbnRSZXNpemUoZW50cmllczogUmVzaXplT2JzZXJ2ZXJFbnRyeVtdKTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBlbnRyeSBvZiBlbnRyaWVzKSB7XG4gICAgICBjb25zdCBsYWJlbEVsZW1lbnRzID0gKFxuICAgICAgICBlbnRyeS50YXJnZXQuZmlyc3RFbGVtZW50Q2hpbGQgYXMgSFRNTFNsb3RFbGVtZW50XG4gICAgICApLmFzc2lnbmVkRWxlbWVudHMoKSBhcyBTYmJUYWJMYWJlbEVsZW1lbnRbXTtcblxuICAgICAgZm9yIChjb25zdCB0YWJMYWJlbCBvZiBsYWJlbEVsZW1lbnRzKSB7XG4gICAgICAgIHRhYkxhYmVsLnRvZ2dsZUF0dHJpYnV0ZShcbiAgICAgICAgICAnZGF0YS1oYXMtZGl2aWRlcicsXG4gICAgICAgICAgdGFiTGFiZWwgPT09IGxhYmVsRWxlbWVudHNbMF0gfHwgdGFiTGFiZWwub2Zmc2V0TGVmdCA9PT0gbGFiZWxFbGVtZW50c1swXS5vZmZzZXRMZWZ0LFxuICAgICAgICApO1xuICAgICAgICB0aGlzLnN0eWxlLnNldFByb3BlcnR5KCctLXNiYi10YWItZ3JvdXAtd2lkdGgnLCBgJHt0aGlzLl90YWJHcm91cEVsZW1lbnQuY2xpZW50V2lkdGh9cHhgKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9vblRhYkNvbnRlbnRFbGVtZW50UmVzaXplKGVudHJpZXM6IFJlc2l6ZU9ic2VydmVyRW50cnlbXSk6IHZvaWQge1xuICAgIGlmICghdGhpcy5fdGFiQ29udGVudEVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgZm9yIChjb25zdCBlbnRyeSBvZiBlbnRyaWVzKSB7XG4gICAgICBjb25zdCBjb250ZW50SGVpZ2h0ID0gTWF0aC5mbG9vcihlbnRyeS5jb250ZW50UmVjdC5oZWlnaHQpO1xuXG4gICAgICB0aGlzLl90YWJDb250ZW50RWxlbWVudC5zdHlsZS5oZWlnaHQgPSBgJHtjb250ZW50SGVpZ2h0fXB4YDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVLZXlEb3duKGV2dDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGVuYWJsZWRUYWJzOiBTYmJUYWJMYWJlbEVsZW1lbnRbXSA9IHRoaXMuX2VuYWJsZWRUYWJzKCk7XG5cbiAgICBpZiAoXG4gICAgICAhZW5hYmxlZFRhYnMgfHxcbiAgICAgIC8vIGRvbid0IHRyYXAgbmVzdGVkIGhhbmRsaW5nXG4gICAgICAoKGV2dC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpICE9PSB0aGlzICYmIChldnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5wYXJlbnRFbGVtZW50ICE9PSB0aGlzKVxuICAgICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChpc0Fycm93S2V5UHJlc3NlZChldnQpKSB7XG4gICAgICBjb25zdCBjdXJyZW50OiBudW1iZXIgPSBlbmFibGVkVGFicy5maW5kSW5kZXgoKHQpID0+IHQuYWN0aXZlKTtcbiAgICAgIGNvbnN0IG5leHRJbmRleDogbnVtYmVyID0gZ2V0TmV4dEVsZW1lbnRJbmRleChldnQsIGN1cnJlbnQsIGVuYWJsZWRUYWJzLmxlbmd0aCk7XG4gICAgICBlbmFibGVkVGFic1tuZXh0SW5kZXhdPy5hY3RpdmF0ZSgpO1xuICAgICAgZW5hYmxlZFRhYnNbbmV4dEluZGV4XT8uZm9jdXMoKTtcbiAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cInNiYi10YWItZ3JvdXBcIlxuICAgICAgICByb2xlPVwidGFibGlzdFwiXG4gICAgICAgICR7cmVmKChlbD86IEVsZW1lbnQpID0+ICh0aGlzLl90YWJHcm91cEVsZW1lbnQgPSBlbCBhcyBIVE1MRWxlbWVudCkpfVxuICAgICAgPlxuICAgICAgICA8c2xvdCBuYW1lPVwidGFiLWJhclwiIEBzbG90Y2hhbmdlPSR7dGhpcy5fb25MYWJlbFNsb3RDaGFuZ2V9Pjwvc2xvdD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cInNiYi10YWItZ3JvdXAtY29udGVudFwiXG4gICAgICAgICR7cmVmKChlbD86IEVsZW1lbnQpID0+ICh0aGlzLl90YWJDb250ZW50RWxlbWVudCA9IGVsIGFzIEhUTUxFbGVtZW50KSl9XG4gICAgICA+XG4gICAgICAgIDxzbG90IEBzbG90Y2hhbmdlPSR7dGhyb3R0bGUodGhpcy5fb25Db250ZW50U2xvdENoYW5nZSwgMTUwKX0+PC9zbG90PlxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLXRhYi1ncm91cCc6IFNiYlRhYkdyb3VwRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQXdETSxzQkFBa0IsTUFBQTs7MEJBRHZCLGNBQWMsZUFBZSxDQUFDOzs7O29CQUNFLGtCQUFrQixVQUFVOzs7Ozs7QUFBcEMsRUFBQSxtQkFBUSxZQUE2QjtBQUFBLElBb0Q1RCxjQUFBO0FBQ0UsWUFBQTtBQWRGO0FBakNRLFdBQUEsbUJBTko7QUFRSSxXQUFBLDBCQUEwQixJQUFJLGlCQUFpQixNQUFNO0FBQUEsUUFDM0QsUUFBUTtBQUFBLFFBQ1IsYUFBYTtBQUFBLFFBQ2IsVUFBVSxDQUFDLFlBQVksS0FBSyx5QkFBeUIsT0FBTztBQUFBLE1BQUEsQ0FDN0Q7QUFDTyxXQUFBLDRCQUE0QixJQUFJLGlCQUFpQixNQUFNO0FBQUEsUUFDN0QsUUFBUTtBQUFBLFFBQ1IsYUFBYTtBQUFBLFFBQ2IsVUFBVSxDQUFDLFlBQVksS0FBSywyQkFBMkIsT0FBTztBQUFBLE1BQUEsQ0FDL0Q7QUFjTyxXQUFBLFFBQTBCLE9BQUEsSUFBVyxNQUFNO0FBUW5DLHlCQUFBLHdDQUFBLGtCQUFBLE1BQUEsb0NBQStCLENBQUM7QUFvRXhDLFdBQUEsd0JBQW9CLGtCQUFBLE1BQUEsdUNBQUEsR0FBRyxNQUFXO0FBQ3hDLGFBQUssT0FBTyxRQUFRLENBQUMsYUFBYSxTQUFTLFdBQVcsR0FBRztBQUN6RCxhQUFLLE9BQU8sS0FB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
227
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3RhYnMvdGFiLWdyb3VwL3RhYi1ncm91cC5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVzaXplQ29udHJvbGxlciB9IGZyb20gJ0BsaXQtbGFicy9vYnNlcnZlcnMvcmVzaXplLWNvbnRyb2xsZXIuanMnO1xuaW1wb3J0IHR5cGUgeyBDU1NSZXN1bHRHcm91cCwgUHJvcGVydHlWYWx1ZXMsIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGh0bWwsIExpdEVsZW1lbnQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyByZWYgfSBmcm9tICdsaXQvZGlyZWN0aXZlcy9yZWYuanMnO1xuXG5pbXBvcnQgeyBnZXROZXh0RWxlbWVudEluZGV4LCBpc0Fycm93S2V5UHJlc3NlZCB9IGZyb20gJy4uLy4uL2NvcmUvYTExeS5qcyc7XG5pbXBvcnQgeyBmb3JjZVR5cGUgfSBmcm9tICcuLi8uLi9jb3JlL2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgaXNMZWFuIH0gZnJvbSAnLi4vLi4vY29yZS9kb20uanMnO1xuaW1wb3J0IHsgdGhyb3R0bGUgfSBmcm9tICcuLi8uLi9jb3JlL2V2ZW50aW5nLmpzJztcbmltcG9ydCB7IFNiYkVsZW1lbnRJbnRlcm5hbHNNaXhpbiwgU2JiSHlkcmF0aW9uTWl4aW4gfSBmcm9tICcuLi8uLi9jb3JlL21peGlucy5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYlRhYkxhYmVsRWxlbWVudCB9IGZyb20gJy4uL3RhYi1sYWJlbC5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYlRhYkVsZW1lbnQgfSBmcm9tICcuLi90YWIuanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi90YWItZ3JvdXAuc2Nzcz9saXQmaW5saW5lJztcblxuZXhwb3J0IHR5cGUgU2JiVGFiQ2hhbmdlZEV2ZW50RGV0YWlscyA9IHtcbiAgYWN0aXZlSW5kZXg6IG51bWJlcjtcbiAgYWN0aXZlVGFiTGFiZWw6IFNiYlRhYkxhYmVsRWxlbWVudDtcbiAgYWN0aXZlVGFiOiBTYmJUYWJFbGVtZW50O1xuICBwcmV2aW91c0luZGV4OiBudW1iZXI7XG4gIHByZXZpb3VzVGFiTGFiZWw6IFNiYlRhYkxhYmVsRWxlbWVudCB8IHVuZGVmaW5lZDtcbiAgcHJldmlvdXNUYWI6IFNiYlRhYkVsZW1lbnQgfCB1bmRlZmluZWQ7XG59O1xuXG4vKipcbiAqIEBkZXByZWNhdGVkXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSW50ZXJmYWNlU2JiVGFiR3JvdXBBY3Rpb25zIHtcbiAgYWN0aXZhdGUoKTogdm9pZDtcbiAgZGVhY3RpdmF0ZSgpOiB2b2lkO1xuICBlbmFibGUoKTogdm9pZDtcbiAgZGlzYWJsZSgpOiB2b2lkO1xuICBzZWxlY3QoKTogdm9pZDtcbn1cblxuLyoqXG4gKiBAZGVwcmVjYXRlZFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEludGVyZmFjZVNiYlRhYkdyb3VwVGFiIGV4dGVuZHMgU2JiVGFiTGFiZWxFbGVtZW50IHtcbiAgYWN0aXZlOiBib29sZWFuO1xuICBkaXNhYmxlZDogYm9vbGVhbjtcbiAgdGFiOiBTYmJUYWJFbGVtZW50IHwgbnVsbDtcbiAgaW5kZXg/OiBudW1iZXI7XG4gIHRhYkdyb3VwQWN0aW9ucz86IEludGVyZmFjZVNiYlRhYkdyb3VwQWN0aW9ucztcbiAgc2l6ZTogJ3MnIHwgJ2wnIHwgJ3hsJztcbn1cblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBvbmUgb3IgbW9yZSB0YWJzLCBlYWNoIG9uZSB3aXRoIGEgbGFiZWwgYW5kIHNvbWUgY29udGVudC5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBjb250ZW50IHRvIHRoZSBgc2JiLXRhYi1ncm91cGAgdmlhIGBzYmItdGFiLWxhYmVsYCBhbmQgYHNiYi10YWJgIGluc3RhbmNlcy5cbiAqIEBldmVudCB7Q3VzdG9tRXZlbnQ8U2JiVGFiQ2hhbmdlZEV2ZW50RGV0YWlscz59IHRhYmNoYW5nZSAtIFRoZSB0YWJjaGFuZ2UgZXZlbnQgaXMgZGlzcGF0Y2hlZCB3aGVuIGEgdGFiIGlzIHNlbGVjdGVkLlxuICovXG5leHBvcnRcbkBjdXN0b21FbGVtZW50KCdzYmItdGFiLWdyb3VwJylcbmNsYXNzIFNiYlRhYkdyb3VwRWxlbWVudCBleHRlbmRzIFNiYkVsZW1lbnRJbnRlcm5hbHNNaXhpbihTYmJIeWRyYXRpb25NaXhpbihMaXRFbGVtZW50KSkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBldmVudHMgPSB7XG4gICAgdGFiY2hhbmdlOiAndGFiY2hhbmdlJyxcbiAgfSBhcyBjb25zdDtcblxuICBwcml2YXRlIF90YWJHcm91cEVsZW1lbnQhOiBIVE1MRWxlbWVudDtcbiAgcHJpdmF0ZSBfdGFiQ29udGVudEVsZW1lbnQhOiBIVE1MRWxlbWVudDtcbiAgcHJpdmF0ZSBfdGFiR3JvdXBSZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVDb250cm9sbGVyKHRoaXMsIHtcbiAgICB0YXJnZXQ6IG51bGwsXG4gICAgc2tpcEluaXRpYWw6IHRydWUsXG4gICAgY2FsbGJhY2s6IChlbnRyaWVzKSA9PiB0aGlzLl9vblRhYkdyb3VwRWxlbWVudFJlc2l6ZShlbnRyaWVzKSxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIFNpemUgdmFyaWFudCwgZWl0aGVyIHMsIGwgb3IgeGwuXG4gICAqIEBkZWZhdWx0ICdsJyAvICdzJyAobGVhbilcbiAgICovXG4gIEBwcm9wZXJ0eSgpXG4gIHB1YmxpYyBzZXQgc2l6ZSh2YWx1ZTogJ3MnIHwgJ2wnIHwgJ3hsJykge1xuICAgIHRoaXMuX3NpemUgPSB2YWx1ZTtcbiAgICB0aGlzLl91cGRhdGVTaXplKCk7XG4gIH1cbiAgcHVibGljIGdldCBzaXplKCk6ICdzJyB8ICdsJyB8ICd4bCcge1xuICAgIHJldHVybiB0aGlzLl9zaXplO1xuICB9XG4gIHByaXZhdGUgX3NpemU6ICdzJyB8ICdsJyB8ICd4bCcgPSBpc0xlYW4oKSA/ICdzJyA6ICdsJztcblxuICAvKipcbiAgICogU2V0cyB0aGUgaW5pdGlhbCB0YWIuIElmIGl0IG1hdGNoZXMgYSBkaXNhYmxlZCB0YWIgb3IgZXhjZWVkcyB0aGUgbGVuZ3RoIG9mXG4gICAqIHRoZSB0YWIgZ3JvdXAsIHRoZSBmaXJzdCBlbmFibGVkIHRhYiB3aWxsIGJlIHNlbGVjdGVkLlxuICAgKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2luaXRpYWwtc2VsZWN0ZWQtaW5kZXgnLCB0eXBlOiBOdW1iZXIgfSlcbiAgcHVibGljIGFjY2Vzc29yIGluaXRpYWxTZWxlY3RlZEluZGV4OiBudW1iZXIgPSAwO1xuXG4gIC8qKiBHZXRzIHRoZSBzbG90dGVkIGBzYmItdGFiLWxhYmVsYHMuICovXG4gIHB1YmxpYyBnZXQgbGFiZWxzKCk6IFNiYlRhYkxhYmVsRWxlbWVudFtdIHtcbiAgICAvKipcbiAgICAgKiBUaGUgcXVlcnlTZWxlY3RvciBBUEkgaXMgbm90IHVzZWQgYmVjYXVzZSB3aGVuIG5lc3RlZCB0YWJzIGFyZSB1c2VkLFxuICAgICAqIHRoZSByZXR1cm5lZCBhcnJheSBjb250YWlucyB0aGUgaW5uZXIgdGFicyB0b28sIGFuZCB0aGlzIGJyZWFrcyB0aGUga2V5Ym9hcmQgbmF2aWdhdGlvbi5cbiAgICAgKi9cbiAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLmNoaWxkcmVuID8/IFtdKS5maWx0ZXIoKGNoaWxkKSA9PlxuICAgICAgL15zYmItdGFiLWxhYmVsJC91LnRlc3QoY2hpbGQubG9jYWxOYW1lKSxcbiAgICApIGFzIFNiYlRhYkxhYmVsRWxlbWVudFtdO1xuICB9XG5cbiAgLyoqIEdldHMgdGhlIHNsb3R0ZWQgYHNiYi10YWJgcy4gKi9cbiAgcHVibGljIGdldCB0YWJzKCk6IFNiYlRhYkVsZW1lbnRbXSB7XG4gICAgLyoqXG4gICAgICogVGhlIHF1ZXJ5U2VsZWN0b3IgQVBJIGlzIG5vdCB1c2VkIGJlY2F1c2Ugd2hlbiBuZXN0ZWQgdGFicyBhcmUgdXNlZCxcbiAgICAgKiB0aGUgcmV0dXJuZWQgYXJyYXkgY29udGFpbnMgdGhlIGlubmVyIHRhYnMgdG9vLCBhbmQgdGhpcyBicmVha3MgdGhlIGtleWJvYXJkIG5hdmlnYXRpb24uXG4gICAgICovXG4gICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5jaGlsZHJlbiA/PyBbXSkuZmlsdGVyKChjaGlsZCkgPT5cbiAgICAgIC9ec2JiLXRhYiQvdS50ZXN0KGNoaWxkLmxvY2FsTmFtZSksXG4gICAgKSBhcyBTYmJUYWJFbGVtZW50W107XG4gIH1cblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/Ligna2V5ZG93bicsIChlKSA9PiB0aGlzLl9oYW5kbGVLZXlEb3duKGUpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBmaXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIuZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIHRoaXMubGFiZWxzLmZvckVhY2goKHRhYkxhYmVsKSA9PiB0YWJMYWJlbFsnbGlua1RvVGFiJ10oKSk7XG4gICAgdGhpcy5faW5pdFNlbGVjdGlvbigpO1xuXG4gICAgLy8gVG8gYXZvaWQgYW5pbWF0aW9ucyBvbiBpbml0aWFsaXphdGlvbiwgd2UgaGF2ZSB0byBtYXJrIHRoZSBjb21wb25lbnQgYXMgaW5pdGlhbGl6ZWQgYW5kIHdhaXQgYSB0aWNrLlxuICAgIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCkgPT4gdGhpcy50b2dnbGVTdGF0ZSgnaW5pdGlhbGl6ZWQnLCB0cnVlKSk7XG4gICAgdGhpcy5fdGFiR3JvdXBSZXNpemVPYnNlcnZlci5vYnNlcnZlKHRoaXMuX3RhYkdyb3VwRWxlbWVudCk7XG4gIH1cblxuICAvKipcbiAgICogRGlzYWJsZXMgYSB0YWIgYnkgaW5kZXguXG4gICAqIEBwYXJhbSB0YWJJbmRleCBUaGUgaW5kZXggb2YgdGhlIHRhYiB5b3Ugd2FudCB0byBkaXNhYmxlLlxuICAgKi9cbiAgcHVibGljIGRpc2FibGVUYWIodGFiSW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIGlmICh0aGlzLmxhYmVsc1t0YWJJbmRleF0pIHtcbiAgICAgIHRoaXMubGFiZWxzW3RhYkluZGV4XS5kaXNhYmxlZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEVuYWJsZXMgYSB0YWIgYnkgaW5kZXguXG4gICAqIEBwYXJhbSB0YWJJbmRleCBUaGUgaW5kZXggb2YgdGhlIHRhYiB5b3Ugd2FudCB0byBlbmFibGUuXG4gICAqL1xuICBwdWJsaWMgZW5hYmxlVGFiKHRhYkluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5sYWJlbHNbdGFiSW5kZXhdKSB7XG4gICAgICB0aGlzLmxhYmVsc1t0YWJJbmRleF0uZGlzYWJsZWQgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQWN0aXZhdGVzIGEgdGFiIGJ5IGluZGV4LlxuICAgKiBAcGFyYW0gdGFiSW5kZXggVGhlIGluZGV4IG9mIHRoZSB0YWIgeW91IHdhbnQgdG8gYWN0aXZhdGUuXG4gICAqL1xuICBwdWJsaWMgYWN0aXZhdGVUYWIodGFiSW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMubGFiZWxzW3RhYkluZGV4XT8uYWN0aXZhdGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2VuYWJsZWRUYWJzKCk6IFNiYlRhYkxhYmVsRWxlbWVudFtdIHtcbiAgICByZXR1cm4gdGhpcy5sYWJlbHMuZmlsdGVyKCh0KSA9PiB7XG4gICAgICBjdXN0b21FbGVtZW50cy51cGdyYWRlKHQpO1xuICAgICAgcmV0dXJuICF0LmRpc2FibGVkO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlU2l6ZSgpOiB2b2lkIHtcbiAgICB0aGlzLmxhYmVscy5mb3JFYWNoKCh0YWJMYWJlbDogU2JiVGFiTGFiZWxFbGVtZW50KSA9PlxuICAgICAgdGFiTGFiZWwuc2V0QXR0cmlidXRlKCdkYXRhLXNpemUnLCB0aGlzLnNpemUpLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9vbkNvbnRlbnRTbG90Q2hhbmdlID0gKCk6IHZvaWQgPT4ge1xuICAgIHRoaXMubGFiZWxzLmZvckVhY2goKHRhYkxhYmVsKSA9PiB0YWJMYWJlbFsnbGlua1RvVGFiJ10oKSk7XG4gICAgdGhpcy5sYWJlbHMuZmluZCgodGFiTGFiZWwpID0+IHRhYkxhYmVsLmFjdGl2ZSk/LmFjdGl2YXRlKCk7XG4gIH07XG5cbiAgcHJpdmF0ZSBfb25MYWJlbFNsb3RDaGFuZ2UgPSAoKTogdm9pZCA9PiB7XG4gICAgdGhpcy5fdXBkYXRlU2l6ZSgpO1xuICAgIHRoaXMubGFiZWxzLmZvckVhY2goKHRhYkxhYmVsKSA9PiB0YWJMYWJlbFsnbGlua1RvVGFiJ10oKSk7XG4gIH07XG5cbiAgcHJpdmF0ZSBfaW5pdFNlbGVjdGlvbigpOiB2b2lkIHtcbiAgICBjb25zdCBzZWxlY3RlZFRhYkxhYmVsID0gdGhpcy5sYWJlbHNbdGhpcy5pbml0aWFsU2VsZWN0ZWRJbmRleF07XG4gICAgaWYgKHNlbGVjdGVkVGFiTGFiZWwpIHtcbiAgICAgIGN1c3RvbUVsZW1lbnRzLnVwZ3JhZGUoc2VsZWN0ZWRUYWJMYWJlbCk7XG4gICAgICBpZiAoXG4gICAgICAgIHRoaXMuaW5pdGlhbFNlbGVjdGVkSW5kZXggPj0gMCAmJlxuICAgICAgICB0aGlzLmluaXRpYWxTZWxlY3RlZEluZGV4IDwgdGhpcy5sYWJlbHMubGVuZ3RoICYmXG4gICAgICAgICFzZWxlY3RlZFRhYkxhYmVsLmRpc2FibGVkXG4gICAgICApIHtcbiAgICAgICAgc2VsZWN0ZWRUYWJMYWJlbC5hY3RpdmF0ZSgpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuX2VuYWJsZWRUYWJzKClbMF0/LmFjdGl2YXRlKCk7XG4gIH1cblxuICBwcml2YXRlIF9vblRhYkdyb3VwRWxlbWVudFJlc2l6ZShlbnRyaWVzOiBSZXNpemVPYnNlcnZlckVudHJ5W10pOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IGVudHJ5IG9mIGVudHJpZXMpIHtcbiAgICAgIGNvbnN0IGxhYmVsRWxlbWVudHMgPSAoXG4gICAgICAgIGVudHJ5LnRhcmdldC5maXJzdEVsZW1lbnRDaGlsZCBhcyBIVE1MU2xvdEVsZW1lbnRcbiAgICAgICkuYXNzaWduZWRFbGVtZW50cygpIGFzIFNiYlRhYkxhYmVsRWxlbWVudFtdO1xuXG4gICAgICBmb3IgKGNvbnN0IHRhYkxhYmVsIG9mIGxhYmVsRWxlbWVudHMpIHtcbiAgICAgICAgdGFiTGFiZWwudG9nZ2xlQXR0cmlidXRlKFxuICAgICAgICAgICdkYXRhLWhhcy1kaXZpZGVyJyxcbiAgICAgICAgICB0YWJMYWJlbCA9PT0gbGFiZWxFbGVtZW50c1swXSB8fCB0YWJMYWJlbC5vZmZzZXRMZWZ0ID09PSBsYWJlbEVsZW1lbnRzWzBdLm9mZnNldExlZnQsXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuc3R5bGUuc2V0UHJvcGVydHkoJy0tc2JiLXRhYi1ncm91cC13aWR0aCcsIGAke3RoaXMuX3RhYkdyb3VwRWxlbWVudC5jbGllbnRXaWR0aH1weGApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZUtleURvd24oZXZ0OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgZW5hYmxlZFRhYnM6IFNiYlRhYkxhYmVsRWxlbWVudFtdID0gdGhpcy5fZW5hYmxlZFRhYnMoKTtcblxuICAgIGlmIChcbiAgICAgICFlbmFibGVkVGFicyB8fFxuICAgICAgLy8gZG9uJ3QgdHJhcCBuZXN0ZWQgaGFuZGxpbmdcbiAgICAgICgoZXZ0LnRhcmdldCBhcyBIVE1MRWxlbWVudCkgIT09IHRoaXMgJiYgKGV2dC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLnBhcmVudEVsZW1lbnQgIT09IHRoaXMpXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGlzQXJyb3dLZXlQcmVzc2VkKGV2dCkpIHtcbiAgICAgIGNvbnN0IGN1cnJlbnQ6IG51bWJlciA9IGVuYWJsZWRUYWJzLmZpbmRJbmRleCgodCkgPT4gdC5hY3RpdmUpO1xuICAgICAgY29uc3QgbmV4dEluZGV4OiBudW1iZXIgPSBnZXROZXh0RWxlbWVudEluZGV4KGV2dCwgY3VycmVudCwgZW5hYmxlZFRhYnMubGVuZ3RoKTtcbiAgICAgIGVuYWJsZWRUYWJzW25leHRJbmRleF0/LmFjdGl2YXRlKCk7XG4gICAgICBlbmFibGVkVGFic1tuZXh0SW5kZXhdPy5mb2N1cygpO1xuICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHJvdGVjdGVkIHNldFRhYkNvbnRlbnRIZWlnaHQoY29udGVudEhlaWdodDogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5fdGFiQ29udGVudEVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gYCR7Y29udGVudEhlaWdodH1weGA7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJzYmItdGFiLWdyb3VwXCJcbiAgICAgICAgcm9sZT1cInRhYmxpc3RcIlxuICAgICAgICAke3JlZigoZWw/OiBFbGVtZW50KSA9PiAodGhpcy5fdGFiR3JvdXBFbGVtZW50ID0gZWwgYXMgSFRNTEVsZW1lbnQpKX1cbiAgICAgID5cbiAgICAgICAgPHNsb3QgbmFtZT1cInRhYi1iYXJcIiBAc2xvdGNoYW5nZT0ke3RoaXMuX29uTGFiZWxTbG90Q2hhbmdlfT48L3Nsb3Q+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJzYmItdGFiLWdyb3VwLWNvbnRlbnRcIlxuICAgICAgICAke3JlZigoZWw/OiBFbGVtZW50KSA9PiAodGhpcy5fdGFiQ29udGVudEVsZW1lbnQgPSBlbCBhcyBIVE1MRWxlbWVudCkpfVxuICAgICAgPlxuICAgICAgICA8c2xvdCBAc2xvdGNoYW5nZT0ke3Rocm90dGxlKHRoaXMuX29uQ29udGVudFNsb3RDaGFuZ2UsIDE1MCl9Pjwvc2xvdD5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi10YWItZ3JvdXAnOiBTYmJUYWJHcm91cEVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQXdETSxzQkFBa0IsTUFBQTs7MEJBRHZCLGNBQWMsZUFBZSxDQUFDOzs7O0FBQ0UsTUFBQSxjQUFBLHlCQUF5QixrQkFBa0IsVUFBVSxDQUFDOzs7Ozs7QUFBOUQsRUFBQSxtQkFBUSxZQUF1RDtBQUFBLElBMER0RixjQUFBO0FBQ0UsWUFBQTtBQXpCRjtBQTVCUSxXQUFBLG1CQU5KO0FBUUksV0FBQSwwQkFBMEIsSUFBSSxpQkFBaUIsTUFBTTtBQUFBLFFBQzNELFFBQVE7QUFBQSxRQUNSLGFBQWE7QUFBQSxRQUNiLFVBQVUsQ0FBQyxZQUFZLEtBQUsseUJBQXlCLE9BQU87QUFBQSxNQUFBLENBQzdEO0FBY08sV0FBQSxRQUEwQixPQUFBLElBQVcsTUFBTTtBQVFuQyx5QkFBQSx3Q0FBQSxrQkFBQSxNQUFBLG9DQUErQixD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
@@ -1 +1 @@
1
- {"version":3,"file":"tab-label.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/tabs/tab-label/tab-label.component.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAOjC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAA6B,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;;AAIrF;;;;;;GAMG;AACH,qBAGM,kBAAmB,SAAQ,uBAEhC;IACC,OAAuB,IAAI,SAAS;IACpC,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD,mCAAmC;IACnC,OAAO,CAAC,SAAS,CAAkB;IAEnC;;;OAGG;IACH,SAA4B,KAAK,EAAE,aAAa,CAAO;IAEvD,wBAAwB;IACxB,SAEgB,MAAM,EAAE,OAAO,CAAS;IAExC,uCAAuC;IACvC,SAEgB,MAAM,EAAE,MAAM,CAAM;IAEpC,wDAAwD;IACxD,IAAW,GAAG,IAAI,aAAa,GAAG,IAAI,CAIrC;IAED,sCAAsC;IACtC,IAAW,KAAK,IAAI,kBAAkB,GAAG,IAAI,CAE5C;;IAQe,iBAAiB,IAAI,IAAI;cAMtB,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAuB5E,0BAA0B;IACnB,UAAU,IAAI,IAAI;IAMzB,+FAA+F;IACxF,QAAQ,IAAI,IAAI;IAiCvB;;OAEG;IACH,SAAS,CAAC,SAAS,IAAI,IAAI;cAYR,MAAM,IAAI,cAAc;CAoB5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,eAAe,EAAE,kBAAkB,CAAC;KACrC;CACF"}
1
+ {"version":3,"file":"tab-label.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/tabs/tab-label/tab-label.component.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAOjC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAA6B,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;;AAIrF;;;;;;GAMG;AACH,qBAGM,kBAAmB,SAAQ,uBAEhC;IACC,OAAuB,IAAI,SAAS;IACpC,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD,mCAAmC;IACnC,OAAO,CAAC,SAAS,CAAkB;IAEnC;;;OAGG;IACH,SAA4B,KAAK,EAAE,aAAa,CAAO;IAEvD,wBAAwB;IACxB,SAEgB,MAAM,EAAE,OAAO,CAAS;IAExC,uCAAuC;IACvC,SAEgB,MAAM,EAAE,MAAM,CAAM;IAEpC,wDAAwD;IACxD,IAAW,GAAG,IAAI,aAAa,GAAG,IAAI,CAIrC;IAED,sCAAsC;IACtC,IAAW,KAAK,IAAI,kBAAkB,GAAG,IAAI,CAE5C;;IAQe,iBAAiB,IAAI,IAAI;cAMtB,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAsB5E,0BAA0B;IACnB,UAAU,IAAI,IAAI;IAOzB,+FAA+F;IACxF,QAAQ,IAAI,IAAI;IAkCvB;;OAEG;IACH,SAAS,CAAC,SAAS,IAAI,IAAI;cAYR,MAAM,IAAI,cAAc;CAoB5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,eAAe,EAAE,kBAAkB,CAAC;KACrC;CACF"}
@@ -85,7 +85,7 @@ const style = css`*,
85
85
  }
86
86
  }
87
87
 
88
- :host(:is([data-active], :active)) {
88
+ :host(:active) {
89
89
  --sbb-tab-label-color: var(--sbb-color-3);
90
90
  }
91
91
 
@@ -290,7 +290,6 @@ let SbbTabLabelElement = (() => {
290
290
  super.willUpdate(changedProperties);
291
291
  if (changedProperties.has("active")) {
292
292
  this.internals.ariaSelected = `${this.active}`;
293
- this.tab?.toggleAttribute("data-active", this.active);
294
293
  if (this.active && !this.disabled) {
295
294
  this.activate();
296
295
  } else {
@@ -308,6 +307,7 @@ let SbbTabLabelElement = (() => {
308
307
  /** Deactivate the tab. */
309
308
  deactivate() {
310
309
  this.active = false;
310
+ this.tab?.["deactivate"]();
311
311
  this._selected = false;
312
312
  this.tabIndex = -1;
313
313
  }
@@ -324,6 +324,7 @@ let SbbTabLabelElement = (() => {
324
324
  if (prevActiveTabLabel !== this) {
325
325
  prevActiveTabLabel?.deactivate();
326
326
  this.active = true;
327
+ this.tab?.["activate"]();
327
328
  this._selected = true;
328
329
  this.tabIndex = 0;
329
330
  this.tab?.dispatchEvent(new Event("active", { bubbles: true, composed: true }));
@@ -394,4 +395,4 @@ let SbbTabLabelElement = (() => {
394
395
  export {
395
396
  SbbTabLabelElement
396
397
  };
397
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWxhYmVsLmNvbXBvbmVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3RhYnMvdGFiLWxhYmVsL3RhYi1sYWJlbC5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDU1NSZXN1bHRHcm91cCwgUHJvcGVydHlWYWx1ZXMsIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IExpdEVsZW1lbnQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBodG1sLCB1bnNhZmVTdGF0aWMgfSBmcm9tICdsaXQvc3RhdGljLWh0bWwuanMnO1xuXG5pbXBvcnQgeyBmb3JjZVR5cGUsIG9taXRFbXB0eUNvbnZlcnRlciwgc2xvdFN0YXRlIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IFNiYkRpc2FibGVkTWl4aW4sIFNiYkVsZW1lbnRJbnRlcm5hbHNNaXhpbiB9IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLmpzJztcbmltcG9ydCB7IFNiYkljb25OYW1lTWl4aW4gfSBmcm9tICcuLi8uLi9pY29uLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiVGl0bGVMZXZlbCB9IGZyb20gJy4uLy4uL3RpdGxlLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiVGFiRWxlbWVudCB9IGZyb20gJy4uL3RhYi90YWIuY29tcG9uZW50LmpzJztcbmltcG9ydCB0eXBlIHsgU2JiVGFiQ2hhbmdlZEV2ZW50RGV0YWlscywgU2JiVGFiR3JvdXBFbGVtZW50IH0gZnJvbSAnLi4vdGFiLWdyb3VwLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vdGFiLWxhYmVsLnNjc3M/bGl0JmlubGluZSc7XG5cbi8qKlxuICogQ29tYmluZWQgd2l0aCBhIGBzYmItdGFiLWdyb3VwYCwgaXQgZGlzcGxheXMgYSB0YWIncyB0aXRsZS5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBjb250ZW50IHRvIHRoZSB0YWIgdGl0bGUuXG4gKiBAc2xvdCBpY29uIC0gVXNlIHRoaXMgc2xvdCB0byBkaXNwbGF5IGFuIGljb24gdG8gdGhlIGxlZnQgb2YgdGhlIHRpdGxlLCBieSBwcm92aWRpbmcgdGhlIGBzYmItaWNvbmAgY29tcG9uZW50LlxuICogQHNsb3QgYW1vdW50IC0gUHJvdmlkZSBhIG51bWJlciB0byBzaG93IGFuIGFtb3VudCB0byB0aGUgcmlnaHQgb2YgdGhlIHRpdGxlLlxuICovXG5leHBvcnRcbkBjdXN0b21FbGVtZW50KCdzYmItdGFiLWxhYmVsJylcbkBzbG90U3RhdGUoKVxuY2xhc3MgU2JiVGFiTGFiZWxFbGVtZW50IGV4dGVuZHMgU2JiRGlzYWJsZWRNaXhpbihcbiAgU2JiSWNvbk5hbWVNaXhpbihTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW4oTGl0RWxlbWVudCkpLFxuKSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcm9sZSA9ICd0YWInO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcblxuICAvKiogV2hldGhlciB0aGUgdGFiIGlzIHNlbGVjdGVkLiAqL1xuICBwcml2YXRlIF9zZWxlY3RlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBUaGUgbGV2ZWwgd2lsbCBjb3JyZXNwb25kIHRvIHRoZSBoZWFkaW5nIHRhZyBnZW5lcmF0ZWQgaW4gdGhlIHRpdGxlLlxuICAgKiBVc2UgdGhpcyBwcm9wZXJ0eSB0byBnZW5lcmF0ZSB0aGUgYXBwcm9wcmlhdGUgaGVhZGVyIHRhZywgdGFraW5nIFNFTyBpbnRvIGNvbnNpZGVyYXRpb24uXG4gICAqL1xuICBAcHJvcGVydHkoKSBwdWJsaWMgYWNjZXNzb3IgbGV2ZWw6IFNiYlRpdGxlTGV2ZWwgPSAnMSc7XG5cbiAgLyoqIEFjdGl2ZSB0YWIgc3RhdGUuICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlLCB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBhY3RpdmU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiogQW1vdW50IGRpc3BsYXllZCBpbnNpZGUgdGhlIHRhYi4gKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUsIGNvbnZlcnRlcjogb21pdEVtcHR5Q29udmVydGVyIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBhbW91bnQ6IHN0cmluZyA9ICcnO1xuXG4gIC8qKiBHZXQgdGhlIGBzYmItdGFiYCByZWxhdGVkIHRvIHRoZSBgc2JiLXRhYi1sYWJlbGAuICovXG4gIHB1YmxpYyBnZXQgdGFiKCk6IFNiYlRhYkVsZW1lbnQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5uZXh0RWxlbWVudFNpYmxpbmc/LmxvY2FsTmFtZSA9PT0gJ3NiYi10YWInXG4gICAgICA/ICh0aGlzLm5leHRFbGVtZW50U2libGluZyBhcyBTYmJUYWJFbGVtZW50KVxuICAgICAgOiBudWxsO1xuICB9XG5cbiAgLyoqIEdldCB0aGUgcGFyZW50IGBzYmItdGFiLWdyb3VwYC4gKi9cbiAgcHVibGljIGdldCBncm91cCgpOiBTYmJUYWJHcm91cEVsZW1lbnQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5jbG9zZXN0KCdzYmItdGFiLWdyb3VwJyk7XG4gIH1cblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB0aGlzLmFjdGl2YXRlKCkpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5zbG90ID0gJ3RhYi1iYXInO1xuICAgIHRoaXMudGFiSW5kZXggPSB0aGlzLmFjdGl2ZSA/IDAgOiAtMTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnYWN0aXZlJykpIHtcbiAgICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFTZWxlY3RlZCA9IGAke3RoaXMuYWN0aXZlfWA7XG4gICAgICB0aGlzLnRhYj8udG9nZ2xlQXR0cmlidXRlKCdkYXRhLWFjdGl2ZScsIHRoaXMuYWN0aXZlKTtcblxuICAgICAgaWYgKHRoaXMuYWN0aXZlICYmICF0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgIHRoaXMuYWN0aXZhdGUoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZGVhY3RpdmF0ZSgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ2Rpc2FibGVkJykgJiYgdGhpcy5kaXNhYmxlZCkge1xuICAgICAgdGhpcy50YWJJbmRleCA9IC0xO1xuICAgICAgaWYgKHRoaXMuYWN0aXZlKSB7XG4gICAgICAgIHRoaXMuZGVhY3RpdmF0ZSgpO1xuICAgICAgICB0aGlzLmdyb3VwPy5hY3RpdmF0ZVRhYigwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiogRGVhY3RpdmF0ZSB0aGUgdGFiLiAqL1xuICBwdWJsaWMgZGVhY3RpdmF0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLmFjdGl2ZSA9IGZhbHNlO1xuICAgIHRoaXMuX3NlbGVjdGVkID0gZmFsc2U7XG4gICAgdGhpcy50YWJJbmRleCA9IC0xO1xuICB9XG5cbiAgLyoqIFNlbGVjdCB0aGUgdGFiLCBkZWFjdGl2YXRpbmcgdGhlIGN1cnJlbnQgc2VsZWN0ZWQgb25lLCBhbmQgZGlzcGF0Y2ggdGhlIHRhYmNoYW5nZSBldmVudC4gKi9cbiAgcHVibGljIGFjdGl2YXRlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICBpZiAoaW1wb3J0Lm1ldGEuZW52LkRFVikge1xuICAgICAgICBjb25zb2xlLndhcm4oJ1lvdSBjYW5ub3QgYWN0aXZhdGUgYSBkaXNhYmxlZCB0YWInKTtcbiAgICAgIH1cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB0YWJMYWJlbHM6IFNiYlRhYkxhYmVsRWxlbWVudFtdID0gdGhpcy5ncm91cD8ubGFiZWxzIHx8IFtdO1xuICAgIGNvbnN0IHByZXZBY3RpdmVUYWJMYWJlbCA9IHRhYkxhYmVscy5maW5kKChlKSA9PiBlLl9zZWxlY3RlZCk7XG4gICAgaWYgKHByZXZBY3RpdmVUYWJMYWJlbCAhPT0gdGhpcykge1xuICAgICAgcHJldkFjdGl2ZVRhYkxhYmVsPy5kZWFjdGl2YXRlKCk7XG4gICAgICB0aGlzLmFjdGl2ZSA9IHRydWU7XG4gICAgICB0aGlzLl9zZWxlY3RlZCA9IHRydWU7XG4gICAgICB0aGlzLnRhYkluZGV4ID0gMDtcbiAgICAgIHRoaXMudGFiPy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnYWN0aXZlJywgeyBidWJibGVzOiB0cnVlLCBjb21wb3NlZDogdHJ1ZSB9KSk7XG4gICAgICB0aGlzLmdyb3VwPy5kaXNwYXRjaEV2ZW50KFxuICAgICAgICBuZXcgQ3VzdG9tRXZlbnQ8U2JiVGFiQ2hhbmdlZEV2ZW50RGV0YWlscz4oJ3RhYmNoYW5nZScsIHtcbiAgICAgICAgICBidWJibGVzOiB0cnVlLFxuICAgICAgICAgIGNvbXBvc2VkOiB0cnVlLFxuICAgICAgICAgIGRldGFpbDoge1xuICAgICAgICAgICAgYWN0aXZlSW5kZXg6IHRhYkxhYmVscy5maW5kSW5kZXgoKGUpID0+IGUgPT09IHRoaXMpLFxuICAgICAgICAgICAgYWN0aXZlVGFiTGFiZWw6IHRoaXMsXG4gICAgICAgICAgICBhY3RpdmVUYWI6IHRoaXMudGFiIGFzIFNiYlRhYkVsZW1lbnQsXG4gICAgICAgICAgICBwcmV2aW91c0luZGV4OiB0YWJMYWJlbHMuZmluZEluZGV4KChlKSA9PiBlID09PSBwcmV2QWN0aXZlVGFiTGFiZWwpLFxuICAgICAgICAgICAgcHJldmlvdXNUYWJMYWJlbDogcHJldkFjdGl2ZVRhYkxhYmVsLFxuICAgICAgICAgICAgcHJldmlvdXNUYWI6IHByZXZBY3RpdmVUYWJMYWJlbD8udGFiIGFzIFNiYlRhYkVsZW1lbnQsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSksXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHByb3RlY3RlZCBsaW5rVG9UYWIoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnRhYikge1xuICAgICAgaWYgKGltcG9ydC5tZXRhLmVudi5ERVYpIHtcbiAgICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAgIGBNaXNzaW5nIGNvbnRlbnQ6IHlvdSBzaG91bGQgcHJvdmlkZSBhIHJlbGF0ZWQgY29udGVudCBmb3IgdGhlIHRhYiAke3RoaXMub3V0ZXJIVE1MfS5gLFxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmludGVybmFscy5hcmlhQ29udHJvbHNFbGVtZW50cyA9IFt0aGlzLnRhYl07XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICBjb25zdCBUQUdOQU1FID0gYGgke051bWJlcih0aGlzLmxldmVsKSA8IDcgPyB0aGlzLmxldmVsIDogJzEnfWA7XG5cbiAgICAvKiBlc2xpbnQtZGlzYWJsZSBsaXQvYmluZGluZy1wb3NpdGlvbnMgKi9cbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItdGFiLWxhYmVsX193cmFwcGVyXCI+XG4gICAgICAgIDwke3Vuc2FmZVN0YXRpYyhUQUdOQU1FKX0gY2xhc3M9XCJzYmItdGFiLWxhYmVsXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItdGFiLWxhYmVsX19pY29uXCI+XG4gICAgICAgICAgICAke3RoaXMucmVuZGVySWNvblNsb3QoKX1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItdGFiLWxhYmVsX190ZXh0XCI+XG4gICAgICAgICAgICA8c2xvdD48L3Nsb3Q+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLXRhYi1sYWJlbF9fYW1vdW50XCI+XG4gICAgICAgICAgICA8c2xvdCBuYW1lPVwiYW1vdW50XCI+JHt0aGlzLmFtb3VudH08L3Nsb3Q+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8LyR7dW5zYWZlU3RhdGljKFRBR05BTUUpfT5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi10YWItbGFiZWwnOiBTYmJUYWJMYWJlbEVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUF3Qk0sc0JBQWtCLE1BQUE7O0FBRnZCLE1BQUEsbUJBQUEsQ0FBQSxjQUFjLGVBQWUsR0FDN0IsV0FBVzs7OztvQkFDcUIsaUJBQy9CLGlCQUFpQix5QkFBeUIsVUFBVSxDQUFDLENBQUM7Ozs7Ozs7Ozs7QUFEL0IsRUFBQSxtQkFBUSxZQUVoQztBQUFBLElBbUNDLGNBQUE7QUFDRSxZQUFBO0FBekJVO0FBS1o7QUFLQTtBQWhCUSxXQUFBLFlBQXFCO0FBTUQseUJBQUEseUJBQUEsa0JBQUEsTUFBQSxxQkFBdUIsR0FBRztBQUt0Qyx5QkFBQSwyQkFBQSxrQkFBQSxNQUFBLHdCQUFBLEdBQUEsa0JBQUEsTUFBQSxzQkFBa0IsS0FBSztBQUt2Qix5QkFBQSwyQkFBQSxrQkFBQSxNQUFBLHlCQUFBLEdBQUEsa0JBQUEsTUFBQSxzQkFBaUIsRUFBRTs7QUFpQmpDLFdBQUssaUJBQWlCLFNBQVMsTUFBTSxLQUFLLFVBQVU7QUFBQSxJQUNyRDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsSUE1QlcsSUFBZ0IsUUFBSztBQUFBLGFBQUEsbUJBQUE7QUFBQSxJQUFBO0FBQUEsSUFBckIsSUFBZ0IsTUFBSyxPQUFBO0FBQUEseUJBQUEseUJBQUE7QUFBQSxJQUFBO0FBQUE7QUFBQSxJQUtqQyxJQUFnQixTQUFNO0FBQUEsYUFBQSxtQkFBQTtBQUFBLElBQUE7QUFBQSxJQUF0QixJQUFnQixPQUFNLE9BQUE7QUFBQSx5QkFBQSwwQkFBQTtBQUFBLElBQUE7QUFBQTtBQUFBLElBS3RCLElBQWdCLFNBQU07QUFBQSxhQUFBLG1CQUFBO0FBQUEsSUFBQTtBQUFBLElBQXRCLElBQWdCLE9BQU0sT0FBQTtBQUFBLHlCQUFBLDBCQUFBO0FBQUEsSUFBQTtBQUFBO0FBQUEsSUFHdEIsSUFBVyxNQUFHO0FBQ1osYUFBTyxLQUFLLG9CQUFvQixjQUFjLFlBQ3pDLEtBQUsscUJBQ047QUFBQSxJQUNOO0FBQUE7QUFBQSxJQUdBLElBQVcsUUFBSztBQUNkLGFBQU8sS0FBSyxRQUFRLGVBQWU7QUFBQSxJQUNyQztBQUFBLElBUWdCLG9CQUFpQjtBQUMvQixZQUFNLGtCQUFBO0FBQ04sV0FBSyxPQUFPO0FBQ1osV0FBSyxXQUFXLEtBQUssU0FBUyxJQUFJO0FBQUEsSUFDcEM7QUFBQSxJQUVtQixXQUFXLG1CQUF1QztBQUNuRSxZQUFNLFdBQVcsaUJBQWlCO0FBRWxDLFVBQUksa0JBQWtCLElBQUksUUFBUSxHQUFHO0FBQ25DLGFBQUssVUFBVSxlQUFlLEdBQUcsS0FBSyxNQUFNO0FBQzVDLGFBQUssS0FBSyxnQkFBZ0IsZUFBZSxLQUFLLE1BQU07QUFFcEQsWUFBSSxLQUFLLFVBQVUsQ0FBQyxLQUFLLFVBQVU7QUFDakMsZUFBSyxTQUFBO0FBQUEsUUFDUCxPQUFPO0FBQ0wsZUFBSyxXQUFBO0FBQUEsUUFDUDtBQUFBLE1BQ0Y7QUFFQSxVQUFJLGtCQUFrQixJQUFJLFVBQVUsS0FBSyxLQUFLLFVBQVU7QUFDdEQsYUFBSyxXQUFXO0FBQ2hCLFlBQUksS0FBSyxRQUFRO0FBQ2YsZUFBSyxXQUFBO0FBQ0wsZUFBSyxPQUFPLFlBQVksQ0FBQztBQUFBLFFBQzNCO0FBQUEsTUFDRjtBQUFBLElBQ0Y7QUFBQTtBQUFBLElBR08sYUFBVTtBQUNmLFdBQUssU0FBUztBQUNkLFdBQUssWUFBWTtBQUNqQixXQUFLLFdBQVc7QUFBQSxJQUNsQjtBQUFBO0FBQUEsSUFHTyxXQUFRO0FBQ2IsVUFBSSxLQUFLLFVBQVU7QUFDUTtBQUN2QixrQkFBUSxLQUFLLG9DQUFvQztBQUFBLFFBQ25EO0FBQ0E7QUFBQSxNQUNGO0FBRUEsWUFBTSxZQUFrQyxLQUFLLE9BQU8sVUFBVSxDQUFBO0FBQzlELFlBQU0scUJBQXFCLFVBQVUsS0FBSyxDQUFDLE1BQU0sRUFBRSxTQUFTO0FBQzVELFVBQUksdUJBQXVCLE1BQU07QUFDL0IsNEJBQW9CLFdBQUE7QUFDcEIsYUFBSyxTQUFTO0FBQ2QsYUFBSyxZQUFZO0FBQ2pCLGFBQUssV0FBVztBQUNoQixhQUFLLEtBQUssY0FBYyxJQUFJLE1BQU0sVUFBVSxFQUFFLFNBQVMsTUFBTSxVQUFVLEtBQUEsQ0FBTSxDQUFDO0FBQzlFLGFBQUssT0FBTyxjQUNWLElBQUksWUFBdUMsYUFBYTtBQUFBLFVBQ3RELFNBQVM7QUFBQSxVQUNULFVBQVU7QUFBQSxVQUNWLFFBQVE7QUFBQSxZQUNOLGFBQWEsVUFBVSxVQUFVLENBQUMsTUFBTSxNQUFNLElBQUk7QUFBQSxZQUNsRCxnQkFBZ0I7QUFBQSxZQUNoQixXQUFXLEtBQUs7QUFBQSxZQUNoQixlQUFlLFVBQVUsVUFBVSxDQUFDLE1BQU0sTUFBTSxrQkFBa0I7QUFBQSxZQUNsRSxrQkFBa0I7QUFBQSxZQUNsQixhQUFhLG9CQUFvQjtBQUFBLFVBQUE7QUFBQSxRQUNsQyxDQUNGLENBQUM7QUFBQSxNQUVOO0FBQUEsSUFDRjtBQUFBO0FBQUE7QUFBQTtBQUFBLElBS1UsWUFBUztBQUNqQixVQUFJLENBQUMsS0FBSyxLQUFLO0FBQ1k7QUFDdkIsa0JBQVEsS0FDTixxRUFBcUUsS0FBSyxTQUFTLEdBQUc7QUFBQSxRQUUxRjtBQUNBO0FBQUEsTUFDRjtBQUNBLFdBQUssVUFBVSx1QkFBdUIsQ0FBQyxLQUFLLEdBQUc7QUFBQSxJQUNqRDtBQUFBLElBRW1CLFNBQU07QUFDdkIsWUFBTSxVQUFVLElBQUksT0FBTyxLQUFLLEtBQUssSUFBSSxJQUFJLEtBQUssUUFBUSxHQUFHO0FBRzdELGFBQU87QUFBQTtBQUFBLFdBRUEsYUFBYSxPQUFPLENBQUM7QUFBQTtBQUFBLGNBRWxCLEtBQUssZ0JBQWdCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLGtDQU1ELEtBQUssTUFBTTtBQUFBO0FBQUEsWUFFakMsYUFBYSxPQUFPLENBQUM7QUFBQTtBQUFBO0FBQUEsSUFHL0I7QUFBQSxLQXRJWSx5Q0FLWiwwQ0FLQTs7QUFWQyx3QkFBQSxDQUFBLFVBQVU7QUFHVix5QkFBQSxDQUFBLFVBQUEsR0FDQSxTQUFTLEVBQUUsU0FBUyxNQUFNLE1BQU0sUUFBQSxDQUFTLENBQUM7QUFJMUMseUJBQUEsQ0FBQSxVQUFBLEdBQ0EsU0FBUyxFQUFFLFNBQVMsTUFBTSxXQUFXLG1CQUFBLENBQW9CLENBQUM7QUFUL0MsaUJBQUEsSUFBQSxNQUFBLG1CQUFBLEVBQUEsTUFBQSxZQUFBLE1BQUEsU0FBQSxRQUFBLE9BQUEsU0FBQSxPQUFBLFFBQUEsRUFBQSxLQUFBLENBQUEsUUFBQSxXQUFBLEtBQUEsS0FBQSxDQUFBLFFBQUEsSUFBZ0IsT0FBSyxLQUFBLENBQUEsS0FBQSxVQUFBO0FBQUEsVUFBTCxRQUFLO0FBQUEsSUFBQSxLQUFBLFVBQUEsVUFBQSxHQUFBLHFCQUFBLHdCQUFBO0FBS2pDLGlCQUFBLElBQUEsTUFBQSxvQkFBQSxFQUFBLE1BQUEsWUFBQSxNQUFBLFVBQUEsUUFBQSxPQUFBLFNBQUEsT0FBQSxRQUFBLEVBQUEsS0FBQSxDQUFBLFFBQUEsWUFBQSxLQUFBLEtBQUEsQ0FBQSxRQUFBLElBQWdCLFFBQU0sS0FBQSxDQUFBLEtBQUEsVUFBQTtBQUFBLFVBQU4sU0FBTTtBQUFBLElBQUEsS0FBQSxVQUFBLFVBQUEsR0FBQSxzQkFBQSx5QkFBQTtBQUt0QixpQkFBQSxJQUFBLE1BQUEsb0JBQUEsRUFBQSxNQUFBLFlBQUEsTUFBQSxVQUFBLFFBQUEsT0FBQSxTQUFBLE9BQUEsUUFBQSxFQUFBLEtBQUEsQ0FBQSxRQUFBLFlBQUEsS0FBQSxLQUFBLENBQUEsUUFBQSxJQUFnQixRQUFNLEtBQUEsQ0FBQSxLQUFBLFVBQUE7QUFBQSxVQUFOLFNBQU07QUFBQSxJQUFBLEtBQUEsVUFBQSxVQUFBLEdBQUEsc0JBQUEseUJBQUE7QUF2QnhCLGlCQUFBLE1BQUEsbUJBQUEsRUFBQSxPQUFBLFdBQUEsR0FBQSxrQkFBQSxFQUFBLE1BQUEsU0FBQSxNQUFBLFdBQUEsTUFBQSxVQUFBLFVBQUEsR0FBQSxNQUFBLHVCQUFBOzs7UUFHeUIsR0FBQSxPQUFPLE9BQ1AsR0FBQSxTQUF5QixPQUo1QyxrQkFBQSxZQUFBLHVCQUFBLEdBQW1COzs7In0=
398
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWxhYmVsLmNvbXBvbmVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3RhYnMvdGFiLWxhYmVsL3RhYi1sYWJlbC5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDU1NSZXN1bHRHcm91cCwgUHJvcGVydHlWYWx1ZXMsIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IExpdEVsZW1lbnQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBodG1sLCB1bnNhZmVTdGF0aWMgfSBmcm9tICdsaXQvc3RhdGljLWh0bWwuanMnO1xuXG5pbXBvcnQgeyBmb3JjZVR5cGUsIG9taXRFbXB0eUNvbnZlcnRlciwgc2xvdFN0YXRlIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IFNiYkRpc2FibGVkTWl4aW4sIFNiYkVsZW1lbnRJbnRlcm5hbHNNaXhpbiB9IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLmpzJztcbmltcG9ydCB7IFNiYkljb25OYW1lTWl4aW4gfSBmcm9tICcuLi8uLi9pY29uLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiVGl0bGVMZXZlbCB9IGZyb20gJy4uLy4uL3RpdGxlLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiVGFiRWxlbWVudCB9IGZyb20gJy4uL3RhYi90YWIuY29tcG9uZW50LmpzJztcbmltcG9ydCB0eXBlIHsgU2JiVGFiQ2hhbmdlZEV2ZW50RGV0YWlscywgU2JiVGFiR3JvdXBFbGVtZW50IH0gZnJvbSAnLi4vdGFiLWdyb3VwLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vdGFiLWxhYmVsLnNjc3M/bGl0JmlubGluZSc7XG5cbi8qKlxuICogQ29tYmluZWQgd2l0aCBhIGBzYmItdGFiLWdyb3VwYCwgaXQgZGlzcGxheXMgYSB0YWIncyB0aXRsZS5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBjb250ZW50IHRvIHRoZSB0YWIgdGl0bGUuXG4gKiBAc2xvdCBpY29uIC0gVXNlIHRoaXMgc2xvdCB0byBkaXNwbGF5IGFuIGljb24gdG8gdGhlIGxlZnQgb2YgdGhlIHRpdGxlLCBieSBwcm92aWRpbmcgdGhlIGBzYmItaWNvbmAgY29tcG9uZW50LlxuICogQHNsb3QgYW1vdW50IC0gUHJvdmlkZSBhIG51bWJlciB0byBzaG93IGFuIGFtb3VudCB0byB0aGUgcmlnaHQgb2YgdGhlIHRpdGxlLlxuICovXG5leHBvcnRcbkBjdXN0b21FbGVtZW50KCdzYmItdGFiLWxhYmVsJylcbkBzbG90U3RhdGUoKVxuY2xhc3MgU2JiVGFiTGFiZWxFbGVtZW50IGV4dGVuZHMgU2JiRGlzYWJsZWRNaXhpbihcbiAgU2JiSWNvbk5hbWVNaXhpbihTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW4oTGl0RWxlbWVudCkpLFxuKSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcm9sZSA9ICd0YWInO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcblxuICAvKiogV2hldGhlciB0aGUgdGFiIGlzIHNlbGVjdGVkLiAqL1xuICBwcml2YXRlIF9zZWxlY3RlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBUaGUgbGV2ZWwgd2lsbCBjb3JyZXNwb25kIHRvIHRoZSBoZWFkaW5nIHRhZyBnZW5lcmF0ZWQgaW4gdGhlIHRpdGxlLlxuICAgKiBVc2UgdGhpcyBwcm9wZXJ0eSB0byBnZW5lcmF0ZSB0aGUgYXBwcm9wcmlhdGUgaGVhZGVyIHRhZywgdGFraW5nIFNFTyBpbnRvIGNvbnNpZGVyYXRpb24uXG4gICAqL1xuICBAcHJvcGVydHkoKSBwdWJsaWMgYWNjZXNzb3IgbGV2ZWw6IFNiYlRpdGxlTGV2ZWwgPSAnMSc7XG5cbiAgLyoqIEFjdGl2ZSB0YWIgc3RhdGUuICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlLCB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBhY3RpdmU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiogQW1vdW50IGRpc3BsYXllZCBpbnNpZGUgdGhlIHRhYi4gKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUsIGNvbnZlcnRlcjogb21pdEVtcHR5Q29udmVydGVyIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBhbW91bnQ6IHN0cmluZyA9ICcnO1xuXG4gIC8qKiBHZXQgdGhlIGBzYmItdGFiYCByZWxhdGVkIHRvIHRoZSBgc2JiLXRhYi1sYWJlbGAuICovXG4gIHB1YmxpYyBnZXQgdGFiKCk6IFNiYlRhYkVsZW1lbnQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5uZXh0RWxlbWVudFNpYmxpbmc/LmxvY2FsTmFtZSA9PT0gJ3NiYi10YWInXG4gICAgICA/ICh0aGlzLm5leHRFbGVtZW50U2libGluZyBhcyBTYmJUYWJFbGVtZW50KVxuICAgICAgOiBudWxsO1xuICB9XG5cbiAgLyoqIEdldCB0aGUgcGFyZW50IGBzYmItdGFiLWdyb3VwYC4gKi9cbiAgcHVibGljIGdldCBncm91cCgpOiBTYmJUYWJHcm91cEVsZW1lbnQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5jbG9zZXN0KCdzYmItdGFiLWdyb3VwJyk7XG4gIH1cblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB0aGlzLmFjdGl2YXRlKCkpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5zbG90ID0gJ3RhYi1iYXInO1xuICAgIHRoaXMudGFiSW5kZXggPSB0aGlzLmFjdGl2ZSA/IDAgOiAtMTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnYWN0aXZlJykpIHtcbiAgICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFTZWxlY3RlZCA9IGAke3RoaXMuYWN0aXZlfWA7XG5cbiAgICAgIGlmICh0aGlzLmFjdGl2ZSAmJiAhdGhpcy5kaXNhYmxlZCkge1xuICAgICAgICB0aGlzLmFjdGl2YXRlKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmRlYWN0aXZhdGUoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdkaXNhYmxlZCcpICYmIHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMudGFiSW5kZXggPSAtMTtcbiAgICAgIGlmICh0aGlzLmFjdGl2ZSkge1xuICAgICAgICB0aGlzLmRlYWN0aXZhdGUoKTtcbiAgICAgICAgdGhpcy5ncm91cD8uYWN0aXZhdGVUYWIoMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqIERlYWN0aXZhdGUgdGhlIHRhYi4gKi9cbiAgcHVibGljIGRlYWN0aXZhdGUoKTogdm9pZCB7XG4gICAgdGhpcy5hY3RpdmUgPSBmYWxzZTtcbiAgICB0aGlzLnRhYj8uWydkZWFjdGl2YXRlJ10oKTtcbiAgICB0aGlzLl9zZWxlY3RlZCA9IGZhbHNlO1xuICAgIHRoaXMudGFiSW5kZXggPSAtMTtcbiAgfVxuXG4gIC8qKiBTZWxlY3QgdGhlIHRhYiwgZGVhY3RpdmF0aW5nIHRoZSBjdXJyZW50IHNlbGVjdGVkIG9uZSwgYW5kIGRpc3BhdGNoIHRoZSB0YWJjaGFuZ2UgZXZlbnQuICovXG4gIHB1YmxpYyBhY3RpdmF0ZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgaWYgKGltcG9ydC5tZXRhLmVudi5ERVYpIHtcbiAgICAgICAgY29uc29sZS53YXJuKCdZb3UgY2Fubm90IGFjdGl2YXRlIGEgZGlzYWJsZWQgdGFiJyk7XG4gICAgICB9XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgdGFiTGFiZWxzOiBTYmJUYWJMYWJlbEVsZW1lbnRbXSA9IHRoaXMuZ3JvdXA/LmxhYmVscyB8fCBbXTtcbiAgICBjb25zdCBwcmV2QWN0aXZlVGFiTGFiZWwgPSB0YWJMYWJlbHMuZmluZCgoZSkgPT4gZS5fc2VsZWN0ZWQpO1xuICAgIGlmIChwcmV2QWN0aXZlVGFiTGFiZWwgIT09IHRoaXMpIHtcbiAgICAgIHByZXZBY3RpdmVUYWJMYWJlbD8uZGVhY3RpdmF0ZSgpO1xuICAgICAgdGhpcy5hY3RpdmUgPSB0cnVlO1xuICAgICAgdGhpcy50YWI/LlsnYWN0aXZhdGUnXSgpO1xuICAgICAgdGhpcy5fc2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgdGhpcy50YWJJbmRleCA9IDA7XG4gICAgICB0aGlzLnRhYj8uZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ2FjdGl2ZScsIHsgYnViYmxlczogdHJ1ZSwgY29tcG9zZWQ6IHRydWUgfSkpO1xuICAgICAgdGhpcy5ncm91cD8uZGlzcGF0Y2hFdmVudChcbiAgICAgICAgbmV3IEN1c3RvbUV2ZW50PFNiYlRhYkNoYW5nZWRFdmVudERldGFpbHM+KCd0YWJjaGFuZ2UnLCB7XG4gICAgICAgICAgYnViYmxlczogdHJ1ZSxcbiAgICAgICAgICBjb21wb3NlZDogdHJ1ZSxcbiAgICAgICAgICBkZXRhaWw6IHtcbiAgICAgICAgICAgIGFjdGl2ZUluZGV4OiB0YWJMYWJlbHMuZmluZEluZGV4KChlKSA9PiBlID09PSB0aGlzKSxcbiAgICAgICAgICAgIGFjdGl2ZVRhYkxhYmVsOiB0aGlzLFxuICAgICAgICAgICAgYWN0aXZlVGFiOiB0aGlzLnRhYiBhcyBTYmJUYWJFbGVtZW50LFxuICAgICAgICAgICAgcHJldmlvdXNJbmRleDogdGFiTGFiZWxzLmZpbmRJbmRleCgoZSkgPT4gZSA9PT0gcHJldkFjdGl2ZVRhYkxhYmVsKSxcbiAgICAgICAgICAgIHByZXZpb3VzVGFiTGFiZWw6IHByZXZBY3RpdmVUYWJMYWJlbCxcbiAgICAgICAgICAgIHByZXZpb3VzVGFiOiBwcmV2QWN0aXZlVGFiTGFiZWw/LnRhYiBhcyBTYmJUYWJFbGVtZW50LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwcm90ZWN0ZWQgbGlua1RvVGFiKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy50YWIpIHtcbiAgICAgIGlmIChpbXBvcnQubWV0YS5lbnYuREVWKSB7XG4gICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICBgTWlzc2luZyBjb250ZW50OiB5b3Ugc2hvdWxkIHByb3ZpZGUgYSByZWxhdGVkIGNvbnRlbnQgZm9yIHRoZSB0YWIgJHt0aGlzLm91dGVySFRNTH0uYCxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5pbnRlcm5hbHMuYXJpYUNvbnRyb2xzRWxlbWVudHMgPSBbdGhpcy50YWJdO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgY29uc3QgVEFHTkFNRSA9IGBoJHtOdW1iZXIodGhpcy5sZXZlbCkgPCA3ID8gdGhpcy5sZXZlbCA6ICcxJ31gO1xuXG4gICAgLyogZXNsaW50LWRpc2FibGUgbGl0L2JpbmRpbmctcG9zaXRpb25zICovXG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLXRhYi1sYWJlbF9fd3JhcHBlclwiPlxuICAgICAgICA8JHt1bnNhZmVTdGF0aWMoVEFHTkFNRSl9IGNsYXNzPVwic2JiLXRhYi1sYWJlbFwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLXRhYi1sYWJlbF9faWNvblwiPlxuICAgICAgICAgICAgJHt0aGlzLnJlbmRlckljb25TbG90KCl9XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLXRhYi1sYWJlbF9fdGV4dFwiPlxuICAgICAgICAgICAgPHNsb3Q+PC9zbG90PlxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi10YWItbGFiZWxfX2Ftb3VudFwiPlxuICAgICAgICAgICAgPHNsb3QgbmFtZT1cImFtb3VudFwiPiR7dGhpcy5hbW91bnR9PC9zbG90PlxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC8ke3Vuc2FmZVN0YXRpYyhUQUdOQU1FKX0+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItdGFiLWxhYmVsJzogU2JiVGFiTGFiZWxFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBd0JNLHNCQUFrQixNQUFBOztBQUZ2QixNQUFBLG1CQUFBLENBQUEsY0FBYyxlQUFlLEdBQzdCLFdBQVc7Ozs7b0JBQ3FCLGlC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
@@ -1,10 +1,19 @@
1
1
  import { CSSResultGroup, TemplateResult, PropertyDeclaration, PropertyValues } from 'lit';
2
2
  import { SbbOpenCloseBaseElement } from '../core/base-elements.js';
3
+ /**
4
+ * Defines the default position for the tooltip if this element is used as a trigger.
5
+ */
6
+ export interface SbbTooltipDefaultPositions {
7
+ readonly tooltipPositions: string[];
8
+ }
3
9
  declare const SbbTooltipElement_base: import('../core/mixins.js').AbstractConstructor<import('../core/mixins.js').SbbDisabledMixinType> & typeof SbbOpenCloseBaseElement;
4
10
  /**
5
11
  * It displays text content within a tooltip.
6
12
  *
7
13
  * @slot - Use the unnamed slot to add the text into the tooltip.
14
+ * @cssprop [--sbb-overlay-position-area=block-end] - The primary position for the tooltip.
15
+ * @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] -
16
+ * The list of fallback positions, separated by ',', for the tooltip
8
17
  * @cssprop [--sbb-tooltip-z-index=var(--sbb-overlay-default-z-index)] - To specify a custom stack order,
9
18
  * the `z-index` can be overridden by defining this CSS variable. The default `z-index` of the
10
19
  * component is set to `var(--sbb-overlay-default-z-index)` with a value of `1000`.
@@ -14,7 +23,7 @@ export declare class SbbTooltipElement extends SbbTooltipElement_base {
14
23
  static styles: CSSResultGroup;
15
24
  private static _tooltipOutlet;
16
25
  /**
17
- * The element that will trigger the popover overlay.
26
+ * The element that will trigger the tooltip overlay.
18
27
  *
19
28
  * For attribute usage, provide an id reference.
20
29
  */
@@ -46,11 +55,11 @@ export declare class SbbTooltipElement extends SbbTooltipElement_base {
46
55
  set longPressCloseDelay(value: number);
47
56
  get longPressCloseDelay(): number;
48
57
  private _longPressCloseDelay?;
49
- protected overlay?: HTMLDivElement;
50
58
  private _triggerElement;
51
59
  private _triggerAbortController?;
52
60
  private _openStateController;
53
61
  private _escapableOverlayController;
62
+ private _overlayController;
54
63
  private _openTimeout?;
55
64
  private _closeTimeout?;
56
65
  private _longPressOpenTimeout?;
@@ -73,9 +82,7 @@ export declare class SbbTooltipElement extends SbbTooltipElement_base {
73
82
  private _attach;
74
83
  private _detach;
75
84
  private _destroy;
76
- private _setTooltipPosition;
77
85
  private _addTriggerEventHandlers;
78
- private _attachWindowEvents;
79
86
  private _isZeroAnimationDuration;
80
87
  private _resetOpenCloseTimeout;
81
88
  protected render(): TemplateResult;
@@ -1 +1 @@
1
- {"version":3,"file":"tooltip.component.d.ts","sourceRoot":"","sources":["../../../../src/elements/tooltip/tooltip.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAIb,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;;AA6BnE;;;;;;;GAOG;AACH,qBAEM,iBAAkB,SAAQ,sBAAyC;IACvE,gBAAgC,IAAI,aAAa;IACjD,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD,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,SAAS,CAAC,OAAO,CAAC,EAAE,cAAc,CAAC;IAEnC,OAAO,CAAC,eAAe,CAA4B;IACnD,OAAO,CAAC,uBAAuB,CAAC,CAAkB;IAClD,OAAO,CAAC,oBAAoB,CAAmB;IAC/C,OAAO,CAAC,2BAA2B,CAA2C;IAC9E,OAAO,CAAC,YAAY,CAAC,CAAgC;IACrD,OAAO,CAAC,aAAa,CAAC,CAAgC;IACtD,OAAO,CAAC,qBAAqB,CAAC,CAAgC;IAC9D,OAAO,CAAC,sBAAsB,CAAC,CAAgC;;IAwB/D,OAAO,CAAC,MAAM,CAAC,wBAAwB;IAmCvC,OAAO,CAAC,MAAM,CAAC,6BAA6B;IAM5C,OAAO,CAAC,MAAM,CAAC,qBAAqB;IA2BpB,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;IAOtB,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,sBAAsB;IAQ9B,OAAO,CAAC,OAAO;IAcf,OAAO,CAAC,OAAO;IAgBf,OAAO,CAAC,QAAQ;IAKhB,OAAO,CAAC,mBAAmB;IAiB3B,OAAO,CAAC,wBAAwB;IA0DhC,OAAO,CAAC,mBAAmB;IAe3B,OAAO,CAAC,wBAAwB;IAIhC,OAAO,CAAC,sBAAsB;cAKX,MAAM,IAAI,cAAc;CAW5C;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,EAGL,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAGb,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAoBnE;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,EAAE,CAAC;CACrC;;AAYD;;;;;;;;;;GAUG;AACH,qBAEM,iBAAkB,SAAQ,sBAAyC;IACvE,gBAAgC,IAAI,aAAa;IACjD,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD,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;IA8CpB,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;IAcf,OAAO,CAAC,OAAO;IAgBf,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"}