@sbb-esta/lyne-elements 4.0.4 → 4.1.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 (82) hide show
  1. package/autocomplete/autocomplete-base-element.d.ts.map +1 -1
  2. package/autocomplete/autocomplete-base-element.js +0 -1
  3. package/breadcrumb/breadcrumb/breadcrumb.component.js +5 -5
  4. package/core/styles/core.scss +14 -0
  5. package/core/styles/mixins/link.scss +0 -1
  6. package/core.css +166 -0
  7. package/custom-elements.json +701 -314
  8. package/development/autocomplete/autocomplete-base-element.d.ts.map +1 -1
  9. package/development/autocomplete/autocomplete-base-element.js +1 -2
  10. package/development/breadcrumb/breadcrumb/breadcrumb.component.js +1 -2
  11. package/development/dialog/dialog/dialog.component.d.ts.map +1 -1
  12. package/development/dialog/dialog/dialog.component.js +1 -3
  13. package/development/link/common/block-link-common.js +1 -1
  14. package/development/link/common/inline-link-common.js +1 -1
  15. package/development/link/common/link-common.js +1 -1
  16. package/development/link/common.js +1 -1
  17. package/development/{link-common-CYr3PeRf.js → link-common-d27fHmQw.js} +1 -2
  18. package/development/link.js +1 -1
  19. package/development/overlay/overlay-base-element.d.ts +8 -2
  20. package/development/overlay/overlay-base-element.d.ts.map +1 -1
  21. package/development/overlay/overlay-base-element.js +21 -8
  22. package/development/overlay/overlay.component.d.ts.map +1 -1
  23. package/development/overlay/overlay.component.js +1 -3
  24. package/development/popover/popover.component.d.ts +2 -2
  25. package/development/popover/popover.component.d.ts.map +1 -1
  26. package/development/popover/popover.component.js +5 -5
  27. package/development/tabs/common.d.ts +4 -0
  28. package/development/tabs/common.d.ts.map +1 -0
  29. package/development/tabs/common.js +170 -0
  30. package/development/tabs/tab-group/tab-group.component.d.ts.map +1 -1
  31. package/development/tabs/tab-group/tab-group.component.js +11 -18
  32. package/development/tabs/tab-label/tab-label.component.d.ts.map +1 -1
  33. package/development/tabs/tab-label/tab-label.component.js +110 -134
  34. package/development/tabs/tab-nav-bar/tab-nav-bar.component.d.ts +30 -0
  35. package/development/tabs/tab-nav-bar/tab-nav-bar.component.d.ts.map +1 -0
  36. package/development/tabs/tab-nav-bar/tab-nav-bar.component.js +105 -0
  37. package/development/tabs/tab-nav-bar.d.ts +5 -0
  38. package/development/tabs/tab-nav-bar.d.ts.map +1 -0
  39. package/development/tabs/tab-nav-bar.js +5 -0
  40. package/development/tabs.d.ts +1 -0
  41. package/development/tabs.d.ts.map +1 -1
  42. package/development/tabs.js +4 -2
  43. package/development/toast/toast.component.js +2 -2
  44. package/dialog/dialog/dialog.component.d.ts.map +1 -1
  45. package/dialog/dialog/dialog.component.js +5 -5
  46. package/index.d.ts +2 -0
  47. package/index.js +2 -0
  48. package/link/common/block-link-common.js +1 -1
  49. package/link/common/inline-link-common.js +1 -1
  50. package/link/common/link-common.js +1 -1
  51. package/link/common.js +1 -1
  52. package/{link-common-D9TmX32v.js → link-common-7IiqjmPD.js} +1 -1
  53. package/link.js +1 -1
  54. package/off-brand-theme.css +166 -0
  55. package/overlay/overlay-base-element.d.ts +8 -2
  56. package/overlay/overlay-base-element.d.ts.map +1 -1
  57. package/overlay/overlay-base-element.js +49 -39
  58. package/overlay/overlay.component.d.ts.map +1 -1
  59. package/overlay/overlay.component.js +7 -7
  60. package/package.json +11 -1
  61. package/popover/popover.component.d.ts +2 -2
  62. package/popover/popover.component.d.ts.map +1 -1
  63. package/popover/popover.component.js +4 -4
  64. package/safety-theme.css +166 -0
  65. package/standard-theme.css +166 -0
  66. package/tabs/common.d.ts +4 -0
  67. package/tabs/common.d.ts.map +1 -0
  68. package/tabs/common.js +6 -0
  69. package/tabs/tab-group/tab-group.component.d.ts.map +1 -1
  70. package/tabs/tab-group/tab-group.component.js +38 -38
  71. package/tabs/tab-label/tab-label.component.d.ts.map +1 -1
  72. package/tabs/tab-label/tab-label.component.js +34 -35
  73. package/tabs/tab-nav-bar/tab-nav-bar.component.d.ts +30 -0
  74. package/tabs/tab-nav-bar/tab-nav-bar.component.d.ts.map +1 -0
  75. package/tabs/tab-nav-bar/tab-nav-bar.component.js +66 -0
  76. package/tabs/tab-nav-bar.d.ts +5 -0
  77. package/tabs/tab-nav-bar.d.ts.map +1 -0
  78. package/tabs/tab-nav-bar.js +4 -0
  79. package/tabs.d.ts +1 -0
  80. package/tabs.d.ts.map +1 -1
  81. package/tabs.js +5 -3
  82. package/toast/toast.component.js +1 -1
@@ -14,206 +14,184 @@ import { forceType, omitEmptyConverter } from "../../core/decorators.js";
14
14
  import { SbbDisabledMixin, SbbElementInternalsMixin } from "../../core/mixins.js";
15
15
  import { boxSizingStyles } from "../../core/styles.js";
16
16
  import { SbbIconNameMixin } from "../../icon.js";
17
+ import { tabLabelCommonStyles } from "../common.js";
17
18
  const style = css`:host {
18
- --sbb-tab-label-height: var(--sbb-size-element-m);
19
- --sbb-tab-label-color: var(--sbb-color-granite);
20
- --sbb-tab-label-color: light-dark(var(--sbb-color-granite), var(--sbb-color-graphite));
21
- --sbb-tab-label-line-color: var(--sbb-border-color-4-inverted);
22
- --sbb-tab-label-cursor: var(--sbb-cursor-pointer);
23
- --sbb-tab-label-pointer-events: unset;
24
- --sbb-tab-label-inline-padding: var(--sbb-spacing-responsive-xs);
25
- --sbb-tab-label-marker-transform: scale(0);
26
- --sbb-tab-label-text-decoration: none;
27
19
  --sbb-tab-label-animation-duration: var(
28
20
  --sbb-disable-animation-duration,
29
21
  var(--sbb-animation-duration-2x)
30
22
  );
31
- --sbb-tab-label-animation-easing: var(--sbb-animation-easing);
32
- --sbb-tab-label-amount-color: var(--sbb-color-metal);
33
- --sbb-tab-label-amount-color: light-dark(var(--sbb-color-metal), var(--sbb-color-smoke));
34
- display: inline-block;
35
- max-width: 100%;
36
- pointer-events: var(--sbb-tab-label-pointer-events);
37
- -webkit-tap-highlight-color: transparent;
38
- outline: none !important;
23
+ --sbb-tab-label-outline-border-radius-internal: calc(
24
+ var(--sbb-tab-label-outline-border-radius) - var(--sbb-focus-outline-offset)
25
+ );
26
+ }
27
+
28
+ :host(:is(:is(:state(size-s),[state--size-s]), [size=s])) {
29
+ --sbb-tab-label-height: var(--sbb-size-element-xs);
30
+ --sbb-tab-label-inline-padding: var(--sbb-spacing-responsive-xxxs);
31
+ --sbb-tab-label-font-size: var(--sbb-text-font-size-s);
32
+ }
33
+
34
+ :host(:is(:is(:state(size-l),[state--size-l]), [size=l])) {
35
+ --sbb-tab-label-height: var(--sbb-size-element-m);
36
+ --sbb-tab-label-inline-padding: var(--sbb-spacing-responsive-xs);
37
+ --sbb-tab-label-font-size: var(--sbb-text-font-size-m);
38
+ }
39
+
40
+ :host(:is(:is(:state(size-xl),[state--size-xl]), [size=xl])) {
41
+ --sbb-tab-label-height: var(--sbb-size-element-m);
42
+ --sbb-tab-label-inline-padding: var(--sbb-spacing-responsive-xs);
43
+ --sbb-tab-label-font-size: var(--sbb-text-font-size-xl);
44
+ }
45
+
46
+ :host(sbb-tab-label),
47
+ :host(sbb-tab-nav-bar) ::slotted(a) {
48
+ pointer-events: var(--sbb-tab-label-pointer-events, unset);
39
49
  }
40
50
  @media (forced-colors: active) {
41
- :host {
51
+ :host(sbb-tab-label),
52
+ :host(sbb-tab-nav-bar) ::slotted(a) {
42
53
  --sbb-tab-label-color: ButtonText;
43
54
  --sbb-tab-label-amount-color: ButtonText;
44
55
  }
45
56
  }
46
57
 
47
- :host(:is(:state(size-s),[state--size-s])) {
48
- --sbb-tab-label-height: var(--sbb-size-element-xs);
49
- --sbb-tab-label-inline-padding: var(--sbb-spacing-responsive-xxxs);
58
+ :host(sbb-tab-nav-bar) ::slotted(a),
59
+ :host(sbb-tab-label) .sbb-tab-label {
60
+ position: relative;
61
+ display: flex;
62
+ align-items: center;
63
+ gap: var(--sbb-tab-label-gap);
64
+ color: var(--sbb-tab-label-color);
65
+ margin: 0;
66
+ padding-inline: var(--sbb-tab-label-inline-padding);
67
+ min-height: var(--sbb-tab-label-height);
68
+ transition: color var(--sbb-tab-label-animation-duration) var(--sbb-tab-label-animation-easing);
69
+ font-size: var(--sbb-tab-label-font-size);
70
+ letter-spacing: var(--sbb-typo-letter-spacing-text);
71
+ font-weight: var(--sbb-tab-label-font-weight);
72
+ text-decoration: var(--sbb-tab-label-text-decoration);
73
+ }
74
+ :host(sbb-tab-nav-bar) ::slotted(a)::after,
75
+ :host(sbb-tab-label) .sbb-tab-label::after {
76
+ position: absolute;
77
+ content: "";
78
+ inset-inline: 0;
79
+ inset-block-end: 0;
80
+ height: var(--sbb-tab-label-marker-thickness);
81
+ background-color: var(--sbb-tab-label-color);
82
+ scale: var(--sbb-tab-label-marker-scale, 0);
83
+ transition-duration: var(--sbb-tab-label-animation-duration);
84
+ transition-timing-function: var(--sbb-tab-label-animation-easing);
85
+ transition-property: scale, background-color;
86
+ }
87
+
88
+ :host(sbb-tab-nav-bar) .sbb-tab-nav-bar > [data-has-divider],
89
+ :host(sbb-tab-label:is(:state(has-divider),[state--has-divider])) {
90
+ position: relative;
91
+ }
92
+ :host(sbb-tab-nav-bar) .sbb-tab-nav-bar > [data-has-divider]::before,
93
+ :host(sbb-tab-label:is(:state(has-divider),[state--has-divider]))::before {
94
+ content: "";
95
+ position: absolute;
96
+ inset-inline-start: 0;
97
+ inset-block-end: 0;
98
+ width: var(--sbb-tab-group-width);
99
+ height: var(--sbb-border-width-1x);
100
+ background-color: var(--sbb-tab-label-line-color);
50
101
  }
51
102
 
52
- :host([disabled]) {
103
+ :host(sbb-tab-nav-bar) ::slotted(a.sbb-disabled),
104
+ :host(sbb-tab-label[disabled]) {
53
105
  --sbb-tab-label-cursor: unset;
54
106
  --sbb-tab-label-pointer-events: none;
55
107
  --sbb-tab-label-text-decoration: line-through;
56
108
  }
57
109
  @media (forced-colors: active) {
58
- :host([disabled]) {
110
+ :host(sbb-tab-nav-bar) ::slotted(a.sbb-disabled),
111
+ :host(sbb-tab-label[disabled]) {
59
112
  --sbb-tab-label-color: GrayText;
60
113
  --sbb-tab-label-amount-color: GrayText;
61
114
  }
62
115
  }
63
116
 
64
- :host([active]:not([disabled])) {
117
+ :host(sbb-tab-nav-bar) ::slotted(a.sbb-active:not(.sbb-disabled)),
118
+ :host(sbb-tab-label[active]:not([disabled])) {
65
119
  --sbb-tab-label-color: var(--sbb-color-3);
66
120
  --sbb-tab-label-cursor: unset;
67
121
  --sbb-tab-label-pointer-events: none;
68
- --sbb-tab-label-marker-transform: scale(1);
122
+ --sbb-tab-label-marker-scale: 1;
69
123
  }
70
124
  @media (forced-colors: active) {
71
- :host([active]:not([disabled])) {
125
+ :host(sbb-tab-nav-bar) ::slotted(a.sbb-active:not(.sbb-disabled)),
126
+ :host(sbb-tab-label[active]:not([disabled])) {
72
127
  --sbb-tab-label-color: ButtonText;
73
128
  --sbb-tab-label-amount-color: ButtonText;
74
129
  }
75
130
  }
76
131
 
77
132
  @media (any-hover: hover) {
78
- :host(:hover:not([disabled])) {
79
- --sbb-tab-label-marker-transform: scale(1);
133
+ :host(sbb-tab-nav-bar) ::slotted(a:hover:not(.sbb-disabled)),
134
+ :host(sbb-tab-label:hover:not([disabled])) {
135
+ --sbb-tab-label-marker-scale: 1;
80
136
  }
81
137
  }
82
138
 
83
- :host(:active) {
139
+ :host(sbb-tab-nav-bar) ::slotted(a:active:not(.sbb-disabled)),
140
+ :host(sbb-tab-label:active) {
84
141
  --sbb-tab-label-color: var(--sbb-color-3);
85
142
  }
86
-
87
- .sbb-tab-label__wrapper {
88
- position: relative;
143
+ @media (forced-colors: active) {
144
+ :host(sbb-tab-nav-bar) ::slotted(a:active:not(.sbb-disabled)),
145
+ :host(sbb-tab-label:active) {
146
+ --sbb-tab-label-color: ButtonText;
147
+ --sbb-tab-label-amount-color: ButtonText;
148
+ }
89
149
  }
90
- :host(:focus-visible) .sbb-tab-label__wrapper::before {
150
+
151
+ :host(sbb-tab-nav-bar) ::slotted(a:focus-visible),
152
+ :host(sbb-tab-label:focus-visible) .sbb-tab-label {
91
153
  outline-offset: var(--sbb-focus-outline-offset);
92
154
  outline: var(--sbb-focus-outline-color) var(--sbb-focus-outline-style, solid) var(--sbb-focus-outline-width);
93
- content: "";
94
- position: absolute;
95
- display: block;
96
- inset: 0;
97
- z-index: 1;
98
- border-radius: calc(var(--sbb-border-radius-2x) - var(--sbb-focus-outline-offset));
155
+ border-radius: var(--sbb-tab-label-outline-border-radius-internal);
99
156
  }
100
157
 
101
- .sbb-tab-label {
102
- position: relative;
103
- margin: 0;
104
- min-height: var(--sbb-tab-label-height);
105
- display: flex;
106
- align-items: center;
107
- padding-inline: var(--sbb-tab-label-inline-padding);
108
- gap: var(--sbb-spacing-fixed-2x);
109
- user-select: none;
110
- cursor: var(--sbb-tab-label-cursor);
111
- transition: color var(--sbb-tab-label-animation-duration) var(--sbb-tab-label-animation-easing);
112
- }
113
- :host(:is(:state(has-divider),[state--has-divider])) .sbb-tab-label::after {
114
- content: "";
115
- position: absolute;
116
- inset-inline-start: 0;
117
- inset-block-end: 0;
118
- width: var(--sbb-tab-group-width);
119
- height: var(--sbb-border-width-1x);
120
- background-color: var(--sbb-tab-label-line-color);
121
- }
122
- .sbb-tab-label::before {
123
- position: absolute;
124
- content: "";
125
- inset-inline: 0;
126
- inset-block-end: 0;
127
- height: var(--sbb-border-width-3x);
128
- background-color: var(--sbb-tab-label-color);
129
- transform: var(--sbb-tab-label-marker-transform);
130
- transition-duration: var(--sbb-tab-label-animation-duration);
131
- transition-timing-function: var(--sbb-tab-label-animation-easing);
132
- transition-property: transform, background-color;
133
- z-index: 1;
158
+ :host {
159
+ display: inline-block;
160
+ max-width: 100%;
161
+ outline: none !important;
134
162
  }
135
163
 
136
- .sbb-tab-label__icon,
137
- .sbb-tab-label__text,
138
- .sbb-tab-label__amount {
139
- text-decoration: var(--sbb-tab-label-text-decoration);
164
+ .sbb-tab-label {
165
+ cursor: var(--sbb-tab-label-cursor);
166
+ user-select: none;
167
+ -webkit-tap-highlight-color: transparent;
140
168
  }
141
169
 
142
170
  .sbb-tab-label__icon {
143
171
  display: flex;
144
172
  flex-shrink: 0;
145
- color: var(--sbb-tab-label-color);
146
- transition: color var(--sbb-tab-label-animation-duration) var(--sbb-tab-label-animation-easing);
147
173
  }
148
174
  :host(:not(:is(:state(slotted-icon),[state--slotted-icon]), :is(:state(has-icon-name),[state--has-icon-name]))) .sbb-tab-label__icon {
149
175
  display: none;
150
176
  }
151
177
 
152
178
  .sbb-tab-label__text {
153
- color: var(--sbb-tab-label-color);
154
- transition: color var(--sbb-tab-label-animation-duration) var(--sbb-tab-label-animation-easing);
155
179
  overflow: hidden;
156
180
  white-space: nowrap;
157
181
  text-overflow: ellipsis;
158
- --sbb-text-font-size: var(--sbb-text-font-size-m);
159
- font-family: var(--sbb-typo-font-family);
160
- font-weight: normal;
161
- line-height: var(--sbb-typo-line-height-text);
162
- letter-spacing: var(--sbb-typo-letter-spacing-text);
163
- font-size: var(--sbb-text-font-size);
164
- font-weight: bold;
165
- }
166
- :host(:is(:state(size-s),[state--size-s])) .sbb-tab-label__text {
167
- --sbb-text-font-size: var(--sbb-text-font-size-s);
168
- font-family: var(--sbb-typo-font-family);
169
- font-weight: normal;
170
- line-height: var(--sbb-typo-line-height-text);
171
- letter-spacing: var(--sbb-typo-letter-spacing-text);
172
- font-size: var(--sbb-text-font-size);
173
- font-weight: bold;
174
- }
175
- :host(:is(:state(size-xl),[state--size-xl])) .sbb-tab-label__text {
176
- --sbb-text-font-size: var(--sbb-text-font-size-xl);
177
- font-family: var(--sbb-typo-font-family);
178
- font-weight: normal;
179
- line-height: var(--sbb-typo-line-height-text);
180
- letter-spacing: var(--sbb-typo-letter-spacing-text);
181
- font-size: var(--sbb-text-font-size);
182
- font-weight: bold;
183
182
  }
184
183
  :host(:not(:is(:state(slotted),[state--slotted]))) .sbb-tab-label__text {
185
184
  display: none;
186
185
  }
187
186
 
188
187
  .sbb-tab-label__amount {
189
- display: flex;
188
+ margin: 0;
190
189
  color: var(--sbb-tab-label-amount-color);
191
- transition: color var(--sbb-tab-label-animation-duration) var(--sbb-tab-label-animation-easing);
192
- --sbb-text-font-size: var(--sbb-text-font-size-m);
193
- font-family: var(--sbb-typo-font-family);
194
190
  font-weight: normal;
195
- line-height: var(--sbb-typo-line-height-text);
196
- letter-spacing: var(--sbb-typo-letter-spacing-text);
197
- font-size: var(--sbb-text-font-size);
191
+ text-decoration: var(--sbb-tab-label-text-decoration);
198
192
  }
199
193
  :host(:not(:is(:state(slotted-amount),[state--slotted-amount]), [amount])) .sbb-tab-label__amount {
200
194
  display: none;
201
- }
202
- :host(:is(:state(size-s),[state--size-s])) .sbb-tab-label__amount {
203
- --sbb-text-font-size: var(--sbb-text-font-size-s);
204
- font-family: var(--sbb-typo-font-family);
205
- font-weight: normal;
206
- line-height: var(--sbb-typo-line-height-text);
207
- letter-spacing: var(--sbb-typo-letter-spacing-text);
208
- font-size: var(--sbb-text-font-size);
209
- }
210
- :host(:is(:state(size-xl),[state--size-xl])) .sbb-tab-label__amount {
211
- --sbb-text-font-size: var(--sbb-text-font-size-xl);
212
- font-family: var(--sbb-typo-font-family);
213
- font-weight: normal;
214
- line-height: var(--sbb-typo-line-height-text);
215
- letter-spacing: var(--sbb-typo-letter-spacing-text);
216
- font-size: var(--sbb-text-font-size);
217
195
  }`;
218
196
  let SbbTabLabelElement = (() => {
219
197
  var _level_accessor_storage, _active_accessor_storage, _amount_accessor_storage, _a;
@@ -364,7 +342,6 @@ let SbbTabLabelElement = (() => {
364
342
  render() {
365
343
  const TAGNAME = `h${Number(this.level) < 7 ? this.level : "1"}`;
366
344
  return html`
367
- <div class="sbb-tab-label__wrapper">
368
345
  <${unsafeStatic(TAGNAME)} class="sbb-tab-label">
369
346
  <span class="sbb-tab-label__icon">
370
347
  ${this.renderIconSlot()}
@@ -372,11 +349,10 @@ let SbbTabLabelElement = (() => {
372
349
  <span class="sbb-tab-label__text">
373
350
  <slot></slot>
374
351
  </span>
375
- <span class="sbb-tab-label__amount">
352
+ <p class="sbb-tab-label__amount">
376
353
  <slot name="amount">${this.amount}</slot>
377
- </span>
354
+ </p>
378
355
  </${unsafeStatic(TAGNAME)}>
379
- </div>
380
356
  `;
381
357
  }
382
358
  }, _level_accessor_storage = new WeakMap(), _active_accessor_storage = new WeakMap(), _amount_accessor_storage = new WeakMap(), _classThis = _a, (() => {
@@ -396,10 +372,10 @@ let SbbTabLabelElement = (() => {
396
372
  __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
397
373
  _classThis = _classDescriptor.value;
398
374
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
399
- })(), _a.role = "tab", _a.styles = [boxSizingStyles, style], __runInitializers(_classThis, _classExtraInitializers), _a;
375
+ })(), _a.role = "tab", _a.styles = [boxSizingStyles, tabLabelCommonStyles, style], __runInitializers(_classThis, _classExtraInitializers), _a;
400
376
  return _classThis;
401
377
  })();
402
378
  export {
403
379
  SbbTabLabelElement
404
380
  };
405
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWxhYmVsLmNvbXBvbmVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3RhYnMvdGFiLWxhYmVsL3RhYi1sYWJlbC5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDU1NSZXN1bHRHcm91cCwgUHJvcGVydHlWYWx1ZXMsIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IExpdEVsZW1lbnQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBodG1sLCB1bnNhZmVTdGF0aWMgfSBmcm9tICdsaXQvc3RhdGljLWh0bWwuanMnO1xuXG5pbXBvcnQgeyBTYmJQcm9wZXJ0eVdhdGNoZXJDb250cm9sbGVyIH0gZnJvbSAnLi4vLi4vY29yZS9jb250cm9sbGVycy50cyc7XG5pbXBvcnQgeyBmb3JjZVR5cGUsIG9taXRFbXB0eUNvbnZlcnRlciB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycy50cyc7XG5pbXBvcnQgeyBTYmJEaXNhYmxlZE1peGluLCBTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW4gfSBmcm9tICcuLi8uLi9jb3JlL21peGlucy50cyc7XG5pbXBvcnQgeyBib3hTaXppbmdTdHlsZXMgfSBmcm9tICcuLi8uLi9jb3JlL3N0eWxlcy50cyc7XG5pbXBvcnQgeyBTYmJJY29uTmFtZU1peGluIH0gZnJvbSAnLi4vLi4vaWNvbi50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYlRpdGxlTGV2ZWwgfSBmcm9tICcuLi8uLi90aXRsZS50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYlRhYkVsZW1lbnQgfSBmcm9tICcuLi90YWIvdGFiLmNvbXBvbmVudC50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYlRhYkNoYW5nZWRFdmVudERldGFpbHMsIFNiYlRhYkdyb3VwRWxlbWVudCB9IGZyb20gJy4uL3RhYi1ncm91cC50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL3RhYi1sYWJlbC5zY3NzP2xpdCZpbmxpbmUnO1xuXG4vKipcbiAqIENvbWJpbmVkIHdpdGggYSBgc2JiLXRhYi1ncm91cGAsIGl0IGRpc3BsYXlzIGEgdGFiJ3MgdGl0bGUuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgY29udGVudCB0byB0aGUgdGFiIHRpdGxlLlxuICogQHNsb3QgaWNvbiAtIFVzZSB0aGlzIHNsb3QgdG8gZGlzcGxheSBhbiBpY29uIHRvIHRoZSBsZWZ0IG9mIHRoZSB0aXRsZSwgYnkgcHJvdmlkaW5nIHRoZSBgc2JiLWljb25gIGNvbXBvbmVudC5cbiAqIEBzbG90IGFtb3VudCAtIFByb3ZpZGUgYSBudW1iZXIgdG8gc2hvdyBhbiBhbW91bnQgdG8gdGhlIHJpZ2h0IG9mIHRoZSB0aXRsZS5cbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLXRhYi1sYWJlbCcpXG5jbGFzcyBTYmJUYWJMYWJlbEVsZW1lbnQgZXh0ZW5kcyBTYmJEaXNhYmxlZE1peGluKFxuICBTYmJJY29uTmFtZU1peGluKFNiYkVsZW1lbnRJbnRlcm5hbHNNaXhpbihMaXRFbGVtZW50KSksXG4pIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByb2xlID0gJ3RhYic7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IFtib3hTaXppbmdTdHlsZXMsIHN0eWxlXTtcblxuICAvKiogV2hldGhlciB0aGUgdGFiIGlzIHNlbGVjdGVkLiAqL1xuICBwcml2YXRlIF9zZWxlY3RlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBwcml2YXRlIF9wcmV2aW91c1NpemU6IFNiYlRhYkdyb3VwRWxlbWVudFsnc2l6ZSddIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqXG4gICAqIFRoZSBsZXZlbCB3aWxsIGNvcnJlc3BvbmQgdG8gdGhlIGhlYWRpbmcgdGFnIGdlbmVyYXRlZCBpbiB0aGUgdGl0bGUuXG4gICAqIFVzZSB0aGlzIHByb3BlcnR5IHRvIGdlbmVyYXRlIHRoZSBhcHByb3ByaWF0ZSBoZWFkZXIgdGFnLCB0YWtpbmcgU0VPIGludG8gY29uc2lkZXJhdGlvbi5cbiAgICovXG4gIEBwcm9wZXJ0eSgpIHB1YmxpYyBhY2Nlc3NvciBsZXZlbDogU2JiVGl0bGVMZXZlbCA9ICcxJztcblxuICAvKiogQWN0aXZlIHRhYiBzdGF0ZS4gKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUsIHR5cGU6IEJvb2xlYW4gfSlcbiAgcHVibGljIGFjY2Vzc29yIGFjdGl2ZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBBbW91bnQgZGlzcGxheWVkIGluc2lkZSB0aGUgdGFiLiAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSwgY29udmVydGVyOiBvbWl0RW1wdHlDb252ZXJ0ZXIgfSlcbiAgcHVibGljIGFjY2Vzc29yIGFtb3VudDogc3RyaW5nID0gJyc7XG5cbiAgLyoqIEdldCB0aGUgYHNiYi10YWJgIHJlbGF0ZWQgdG8gdGhlIGBzYmItdGFiLWxhYmVsYC4gKi9cbiAgcHVibGljIGdldCB0YWIoKTogU2JiVGFiRWxlbWVudCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLm5leHRFbGVtZW50U2libGluZz8ubG9jYWxOYW1lID09PSAnc2JiLXRhYidcbiAgICAgID8gKHRoaXMubmV4dEVsZW1lbnRTaWJsaW5nIGFzIFNiYlRhYkVsZW1lbnQpXG4gICAgICA6IG51bGw7XG4gIH1cblxuICAvKiogR2V0IHRoZSBwYXJlbnQgYHNiYi10YWItZ3JvdXBgLiAqL1xuICBwdWJsaWMgZ2V0IGdyb3VwKCk6IFNiYlRhYkdyb3VwRWxlbWVudCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmNsb3Nlc3QoJ3NiYi10YWItZ3JvdXAnKTtcbiAgfVxuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuXG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHRoaXMuYWN0aXZhdGUoKSk7XG4gICAgdGhpcy5hZGRDb250cm9sbGVyKFxuICAgICAgbmV3IFNiYlByb3BlcnR5V2F0Y2hlckNvbnRyb2xsZXIodGhpcywgKCkgPT4gdGhpcy5ncm91cCwge1xuICAgICAgICBzaXplOiAoZykgPT4ge1xuICAgICAgICAgIGlmICh0aGlzLl9wcmV2aW91c1NpemUpIHtcbiAgICAgICAgICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5kZWxldGUoYHNpemUtJHt0aGlzLl9wcmV2aW91c1NpemV9YCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMuX3ByZXZpb3VzU2l6ZSA9IGc/LnNpemUgfHwgbnVsbDtcbiAgICAgICAgICBpZiAodGhpcy5fcHJldmlvdXNTaXplKSB7XG4gICAgICAgICAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuYWRkKGBzaXplLSR7dGhpcy5fcHJldmlvdXNTaXplfWApO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLnNsb3QgPSAndGFiLWJhcic7XG4gICAgdGhpcy50YWJJbmRleCA9IHRoaXMuYWN0aXZlID8gMCA6IC0xO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdhY3RpdmUnKSkge1xuICAgICAgdGhpcy5pbnRlcm5hbHMuYXJpYVNlbGVjdGVkID0gYCR7dGhpcy5hY3RpdmV9YDtcblxuICAgICAgaWYgKHRoaXMuYWN0aXZlICYmICF0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgIHRoaXMuYWN0aXZhdGUoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZGVhY3RpdmF0ZSgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ2Rpc2FibGVkJykgJiYgdGhpcy5kaXNhYmxlZCkge1xuICAgICAgdGhpcy50YWJJbmRleCA9IC0xO1xuICAgICAgaWYgKHRoaXMuYWN0aXZlKSB7XG4gICAgICAgIHRoaXMuZGVhY3RpdmF0ZSgpO1xuICAgICAgICB0aGlzLmdyb3VwPy5hY3RpdmF0ZVRhYigwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiogRGVhY3RpdmF0ZSB0aGUgdGFiLiAqL1xuICBwdWJsaWMgZGVhY3RpdmF0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLmFjdGl2ZSA9IGZhbHNlO1xuICAgIHRoaXMudGFiPy5bJ2RlYWN0aXZhdGUnXSgpO1xuICAgIHRoaXMuX3NlbGVjdGVkID0gZmFsc2U7XG4gICAgdGhpcy50YWJJbmRleCA9IC0xO1xuICB9XG5cbiAgLyoqIFNlbGVjdCB0aGUgdGFiLCBkZWFjdGl2YXRpbmcgdGhlIGN1cnJlbnQgc2VsZWN0ZWQgb25lLCBhbmQgZGlzcGF0Y2ggdGhlIHRhYmNoYW5nZSBldmVudC4gKi9cbiAgcHVibGljIGFjdGl2YXRlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICBpZiAoaW1wb3J0Lm1ldGEuZW52LkRFVikge1xuICAgICAgICBjb25zb2xlLndhcm4oJ1lvdSBjYW5ub3QgYWN0aXZhdGUgYSBkaXNhYmxlZCB0YWInKTtcbiAgICAgIH1cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB0YWJMYWJlbHM6IFNiYlRhYkxhYmVsRWxlbWVudFtdID0gdGhpcy5ncm91cD8ubGFiZWxzIHx8IFtdO1xuICAgIGNvbnN0IHByZXZBY3RpdmVUYWJMYWJlbCA9IHRhYkxhYmVscy5maW5kKChlKSA9PiBlLl9zZWxlY3RlZCk7XG4gICAgaWYgKHByZXZBY3RpdmVUYWJMYWJlbCAhPT0gdGhpcykge1xuICAgICAgcHJldkFjdGl2ZVRhYkxhYmVsPy5kZWFjdGl2YXRlKCk7XG4gICAgICB0aGlzLmFjdGl2ZSA9IHRydWU7XG4gICAgICB0aGlzLnRhYj8uWydhY3RpdmF0ZSddKCk7XG4gICAgICB0aGlzLl9zZWxlY3RlZCA9IHRydWU7XG4gICAgICB0aGlzLnRhYkluZGV4ID0gMDtcbiAgICAgIHRoaXMudGFiPy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnYWN0aXZlJywgeyBidWJibGVzOiB0cnVlLCBjb21wb3NlZDogdHJ1ZSB9KSk7XG4gICAgICB0aGlzLmdyb3VwPy5kaXNwYXRjaEV2ZW50KFxuICAgICAgICBuZXcgQ3VzdG9tRXZlbnQ8U2JiVGFiQ2hhbmdlZEV2ZW50RGV0YWlscz4oJ3RhYmNoYW5nZScsIHtcbiAgICAgICAgICBidWJibGVzOiB0cnVlLFxuICAgICAgICAgIGNvbXBvc2VkOiB0cnVlLFxuICAgICAgICAgIGRldGFpbDoge1xuICAgICAgICAgICAgYWN0aXZlSW5kZXg6IHRhYkxhYmVscy5maW5kSW5kZXgoKGUpID0+IGUgPT09IHRoaXMpLFxuICAgICAgICAgICAgYWN0aXZlVGFiTGFiZWw6IHRoaXMsXG4gICAgICAgICAgICBhY3RpdmVUYWI6IHRoaXMudGFiIGFzIFNiYlRhYkVsZW1lbnQsXG4gICAgICAgICAgICBwcmV2aW91c0luZGV4OiB0YWJMYWJlbHMuZmluZEluZGV4KChlKSA9PiBlID09PSBwcmV2QWN0aXZlVGFiTGFiZWwpLFxuICAgICAgICAgICAgcHJldmlvdXNUYWJMYWJlbDogcHJldkFjdGl2ZVRhYkxhYmVsLFxuICAgICAgICAgICAgcHJldmlvdXNUYWI6IHByZXZBY3RpdmVUYWJMYWJlbD8udGFiIGFzIFNiYlRhYkVsZW1lbnQsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSksXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHByb3RlY3RlZCBsaW5rVG9UYWIoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnRhYikge1xuICAgICAgaWYgKGltcG9ydC5tZXRhLmVudi5ERVYpIHtcbiAgICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAgIGBNaXNzaW5nIGNvbnRlbnQ6IHlvdSBzaG91bGQgcHJvdmlkZSBhIHJlbGF0ZWQgY29udGVudCBmb3IgdGhlIHRhYiAke3RoaXMub3V0ZXJIVE1MfS5gLFxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmludGVybmFscy5hcmlhQ29udHJvbHNFbGVtZW50cyA9IFt0aGlzLnRhYl07XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICBjb25zdCBUQUdOQU1FID0gYGgke051bWJlcih0aGlzLmxldmVsKSA8IDcgPyB0aGlzLmxldmVsIDogJzEnfWA7XG5cbiAgICAvKiBlc2xpbnQtZGlzYWJsZSBsaXQvYmluZGluZy1wb3NpdGlvbnMgKi9cbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItdGFiLWxhYmVsX193cmFwcGVyXCI+XG4gICAgICAgIDwke3Vuc2FmZVN0YXRpYyhUQUdOQU1FKX0gY2xhc3M9XCJzYmItdGFiLWxhYmVsXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItdGFiLWxhYmVsX19pY29uXCI+XG4gICAgICAgICAgICAke3RoaXMucmVuZGVySWNvblNsb3QoKX1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItdGFiLWxhYmVsX190ZXh0XCI+XG4gICAgICAgICAgICA8c2xvdD48L3Nsb3Q+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLXRhYi1sYWJlbF9fYW1vdW50XCI+XG4gICAgICAgICAgICA8c2xvdCBuYW1lPVwiYW1vdW50XCI+JHt0aGlzLmFtb3VudH08L3Nsb3Q+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8LyR7dW5zYWZlU3RhdGljKFRBR05BTUUpfT5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi10YWItbGFiZWwnOiBTYmJUYWJMYWJlbEVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBeUJNLHNCQUFrQixNQUFBOzswQkFEdkIsY0FBYyxlQUFlLENBQUM7Ozs7b0JBQ0UsaUJBQy9CLGlCQUFpQix5QkFBeUIsVUFBVSxDQUFDLENBQUM7Ozs7Ozs7Ozs7QUFEL0IsRUFBQSxtQkFBUSxZQUVoQztBQUFBLElBb0NDLGNBQUE7QUFDRSxZQUFBO0FBekJVO0FBS1o7QUFLQTtBQWpCUSxXQUFBLFlBQXFCO0FBQ3JCLFdBQUEsZ0JBQW1EO0FBTS9CLHlCQUFBLHlCQUFBLGtCQUFBLE1BQUEscUJBQXVCLEdBQUc7QUFLdEMseUJBQUEsMkJBQUEsa0JBQUEsTUFBQSx3QkFBQSxHQUFBLGtCQUFBLE1BQUEsc0JBQWtCLEtBQUs7QUFLdkIseUJBQUEsMkJBQUEsa0JBQUEsTUFBQSx5QkFBQSxHQUFBLGtCQUFBLE1B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
381
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWxhYmVsLmNvbXBvbmVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3RhYnMvdGFiLWxhYmVsL3RhYi1sYWJlbC5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDU1NSZXN1bHRHcm91cCwgUHJvcGVydHlWYWx1ZXMsIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IExpdEVsZW1lbnQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBodG1sLCB1bnNhZmVTdGF0aWMgfSBmcm9tICdsaXQvc3RhdGljLWh0bWwuanMnO1xuXG5pbXBvcnQgeyBTYmJQcm9wZXJ0eVdhdGNoZXJDb250cm9sbGVyIH0gZnJvbSAnLi4vLi4vY29yZS9jb250cm9sbGVycy50cyc7XG5pbXBvcnQgeyBmb3JjZVR5cGUsIG9taXRFbXB0eUNvbnZlcnRlciB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycy50cyc7XG5pbXBvcnQgeyBTYmJEaXNhYmxlZE1peGluLCBTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW4gfSBmcm9tICcuLi8uLi9jb3JlL21peGlucy50cyc7XG5pbXBvcnQgeyBib3hTaXppbmdTdHlsZXMgfSBmcm9tICcuLi8uLi9jb3JlL3N0eWxlcy50cyc7XG5pbXBvcnQgeyBTYmJJY29uTmFtZU1peGluIH0gZnJvbSAnLi4vLi4vaWNvbi50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYlRpdGxlTGV2ZWwgfSBmcm9tICcuLi8uLi90aXRsZS50cyc7XG5pbXBvcnQgeyB0YWJMYWJlbENvbW1vblN0eWxlcyB9IGZyb20gJy4uL2NvbW1vbi50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYlRhYkVsZW1lbnQgfSBmcm9tICcuLi90YWIvdGFiLmNvbXBvbmVudC50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYlRhYkNoYW5nZWRFdmVudERldGFpbHMsIFNiYlRhYkdyb3VwRWxlbWVudCB9IGZyb20gJy4uL3RhYi1ncm91cC50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL3RhYi1sYWJlbC5zY3NzP2xpdCZpbmxpbmUnO1xuXG4vKipcbiAqIENvbWJpbmVkIHdpdGggYSBgc2JiLXRhYi1ncm91cGAsIGl0IGRpc3BsYXlzIGEgdGFiJ3MgdGl0bGUuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgY29udGVudCB0byB0aGUgdGFiIHRpdGxlLlxuICogQHNsb3QgaWNvbiAtIFVzZSB0aGlzIHNsb3QgdG8gZGlzcGxheSBhbiBpY29uIHRvIHRoZSBsZWZ0IG9mIHRoZSB0aXRsZSwgYnkgcHJvdmlkaW5nIHRoZSBgc2JiLWljb25gIGNvbXBvbmVudC5cbiAqIEBzbG90IGFtb3VudCAtIFByb3ZpZGUgYSBudW1iZXIgdG8gc2hvdyBhbiBhbW91bnQgdG8gdGhlIHJpZ2h0IG9mIHRoZSB0aXRsZS5cbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLXRhYi1sYWJlbCcpXG5jbGFzcyBTYmJUYWJMYWJlbEVsZW1lbnQgZXh0ZW5kcyBTYmJEaXNhYmxlZE1peGluKFxuICBTYmJJY29uTmFtZU1peGluKFNiYkVsZW1lbnRJbnRlcm5hbHNNaXhpbihMaXRFbGVtZW50KSksXG4pIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByb2xlID0gJ3RhYic7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IFtib3hTaXppbmdTdHlsZXMsIHRhYkxhYmVsQ29tbW9uU3R5bGVzLCBzdHlsZV07XG5cbiAgLyoqIFdoZXRoZXIgdGhlIHRhYiBpcyBzZWxlY3RlZC4gKi9cbiAgcHJpdmF0ZSBfc2VsZWN0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBfcHJldmlvdXNTaXplOiBTYmJUYWJHcm91cEVsZW1lbnRbJ3NpemUnXSB8IG51bGwgPSBudWxsO1xuXG4gIC8qKlxuICAgKiBUaGUgbGV2ZWwgd2lsbCBjb3JyZXNwb25kIHRvIHRoZSBoZWFkaW5nIHRhZyBnZW5lcmF0ZWQgaW4gdGhlIHRpdGxlLlxuICAgKiBVc2UgdGhpcyBwcm9wZXJ0eSB0byBnZW5lcmF0ZSB0aGUgYXBwcm9wcmlhdGUgaGVhZGVyIHRhZywgdGFraW5nIFNFTyBpbnRvIGNvbnNpZGVyYXRpb24uXG4gICAqL1xuICBAcHJvcGVydHkoKSBwdWJsaWMgYWNjZXNzb3IgbGV2ZWw6IFNiYlRpdGxlTGV2ZWwgPSAnMSc7XG5cbiAgLyoqIEFjdGl2ZSB0YWIgc3RhdGUuICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlLCB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBhY3RpdmU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiogQW1vdW50IGRpc3BsYXllZCBpbnNpZGUgdGhlIHRhYi4gKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUsIGNvbnZlcnRlcjogb21pdEVtcHR5Q29udmVydGVyIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBhbW91bnQ6IHN0cmluZyA9ICcnO1xuXG4gIC8qKiBHZXQgdGhlIGBzYmItdGFiYCByZWxhdGVkIHRvIHRoZSBgc2JiLXRhYi1sYWJlbGAuICovXG4gIHB1YmxpYyBnZXQgdGFiKCk6IFNiYlRhYkVsZW1lbnQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5uZXh0RWxlbWVudFNpYmxpbmc/LmxvY2FsTmFtZSA9PT0gJ3NiYi10YWInXG4gICAgICA/ICh0aGlzLm5leHRFbGVtZW50U2libGluZyBhcyBTYmJUYWJFbGVtZW50KVxuICAgICAgOiBudWxsO1xuICB9XG5cbiAgLyoqIEdldCB0aGUgcGFyZW50IGBzYmItdGFiLWdyb3VwYC4gKi9cbiAgcHVibGljIGdldCBncm91cCgpOiBTYmJUYWJHcm91cEVsZW1lbnQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5jbG9zZXN0KCdzYmItdGFiLWdyb3VwJyk7XG4gIH1cblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB0aGlzLmFjdGl2YXRlKCkpO1xuICAgIHRoaXMuYWRkQ29udHJvbGxlcihcbiAgICAgIG5ldyBTYmJQcm9wZXJ0eVdhdGNoZXJDb250cm9sbGVyKHRoaXMsICgpID0+IHRoaXMuZ3JvdXAsIHtcbiAgICAgICAgc2l6ZTogKGcpID0+IHtcbiAgICAgICAgICBpZiAodGhpcy5fcHJldmlvdXNTaXplKSB7XG4gICAgICAgICAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuZGVsZXRlKGBzaXplLSR7dGhpcy5fcHJldmlvdXNTaXplfWApO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLl9wcmV2aW91c1NpemUgPSBnPy5zaXplIHx8IG51bGw7XG4gICAgICAgICAgaWYgKHRoaXMuX3ByZXZpb3VzU2l6ZSkge1xuICAgICAgICAgICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmFkZChgc2l6ZS0ke3RoaXMuX3ByZXZpb3VzU2l6ZX1gKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5zbG90ID0gJ3RhYi1iYXInO1xuICAgIHRoaXMudGFiSW5kZXggPSB0aGlzLmFjdGl2ZSA/IDAgOiAtMTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnYWN0aXZlJykpIHtcbiAgICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFTZWxlY3RlZCA9IGAke3RoaXMuYWN0aXZlfWA7XG5cbiAgICAgIGlmICh0aGlzLmFjdGl2ZSAmJiAhdGhpcy5kaXNhYmxlZCkge1xuICAgICAgICB0aGlzLmFjdGl2YXRlKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmRlYWN0aXZhdGUoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdkaXNhYmxlZCcpICYmIHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMudGFiSW5kZXggPSAtMTtcbiAgICAgIGlmICh0aGlzLmFjdGl2ZSkge1xuICAgICAgICB0aGlzLmRlYWN0aXZhdGUoKTtcbiAgICAgICAgdGhpcy5ncm91cD8uYWN0aXZhdGVUYWIoMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqIERlYWN0aXZhdGUgdGhlIHRhYi4gKi9cbiAgcHVibGljIGRlYWN0aXZhdGUoKTogdm9pZCB7XG4gICAgdGhpcy5hY3RpdmUgPSBmYWxzZTtcbiAgICB0aGlzLnRhYj8uWydkZWFjdGl2YXRlJ10oKTtcbiAgICB0aGlzLl9zZWxlY3RlZCA9IGZhbHNlO1xuICAgIHRoaXMudGFiSW5kZXggPSAtMTtcbiAgfVxuXG4gIC8qKiBTZWxlY3QgdGhlIHRhYiwgZGVhY3RpdmF0aW5nIHRoZSBjdXJyZW50IHNlbGVjdGVkIG9uZSwgYW5kIGRpc3BhdGNoIHRoZSB0YWJjaGFuZ2UgZXZlbnQuICovXG4gIHB1YmxpYyBhY3RpdmF0ZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgaWYgKGltcG9ydC5tZXRhLmVudi5ERVYpIHtcbiAgICAgICAgY29uc29sZS53YXJuKCdZb3UgY2Fubm90IGFjdGl2YXRlIGEgZGlzYWJsZWQgdGFiJyk7XG4gICAgICB9XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgdGFiTGFiZWxzOiBTYmJUYWJMYWJlbEVsZW1lbnRbXSA9IHRoaXMuZ3JvdXA/LmxhYmVscyB8fCBbXTtcbiAgICBjb25zdCBwcmV2QWN0aXZlVGFiTGFiZWwgPSB0YWJMYWJlbHMuZmluZCgoZSkgPT4gZS5fc2VsZWN0ZWQpO1xuICAgIGlmIChwcmV2QWN0aXZlVGFiTGFiZWwgIT09IHRoaXMpIHtcbiAgICAgIHByZXZBY3RpdmVUYWJMYWJlbD8uZGVhY3RpdmF0ZSgpO1xuICAgICAgdGhpcy5hY3RpdmUgPSB0cnVlO1xuICAgICAgdGhpcy50YWI/LlsnYWN0aXZhdGUnXSgpO1xuICAgICAgdGhpcy5fc2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgdGhpcy50YWJJbmRleCA9IDA7XG4gICAgICB0aGlzLnRhYj8uZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ2FjdGl2ZScsIHsgYnViYmxlczogdHJ1ZSwgY29tcG9zZWQ6IHRydWUgfSkpO1xuICAgICAgdGhpcy5ncm91cD8uZGlzcGF0Y2hFdmVudChcbiAgICAgICAgbmV3IEN1c3RvbUV2ZW50PFNiYlRhYkNoYW5nZWRFdmVudERldGFpbHM+KCd0YWJjaGFuZ2UnLCB7XG4gICAgICAgICAgYnViYmxlczogdHJ1ZSxcbiAgICAgICAgICBjb21wb3NlZDogdHJ1ZSxcbiAgICAgICAgICBkZXRhaWw6IHtcbiAgICAgICAgICAgIGFjdGl2ZUluZGV4OiB0YWJMYWJlbHMuZmluZEluZGV4KChlKSA9PiBlID09PSB0aGlzKSxcbiAgICAgICAgICAgIGFjdGl2ZVRhYkxhYmVsOiB0aGlzLFxuICAgICAgICAgICAgYWN0aXZlVGFiOiB0aGlzLnRhYiBhcyBTYmJUYWJFbGVtZW50LFxuICAgICAgICAgICAgcHJldmlvdXNJbmRleDogdGFiTGFiZWxzLmZpbmRJbmRleCgoZSkgPT4gZSA9PT0gcHJldkFjdGl2ZVRhYkxhYmVsKSxcbiAgICAgICAgICAgIHByZXZpb3VzVGFiTGFiZWw6IHByZXZBY3RpdmVUYWJMYWJlbCxcbiAgICAgICAgICAgIHByZXZpb3VzVGFiOiBwcmV2QWN0aXZlVGFiTGFiZWw/LnRhYiBhcyBTYmJUYWJFbGVtZW50LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwcm90ZWN0ZWQgbGlua1RvVGFiKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy50YWIpIHtcbiAgICAgIGlmIChpbXBvcnQubWV0YS5lbnYuREVWKSB7XG4gICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICBgTWlzc2luZyBjb250ZW50OiB5b3Ugc2hvdWxkIHByb3ZpZGUgYSByZWxhdGVkIGNvbnRlbnQgZm9yIHRoZSB0YWIgJHt0aGlzLm91dGVySFRNTH0uYCxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5pbnRlcm5hbHMuYXJpYUNvbnRyb2xzRWxlbWVudHMgPSBbdGhpcy50YWJdO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgY29uc3QgVEFHTkFNRSA9IGBoJHtOdW1iZXIodGhpcy5sZXZlbCkgPCA3ID8gdGhpcy5sZXZlbCA6ICcxJ31gO1xuXG4gICAgLyogZXNsaW50LWRpc2FibGUgbGl0L2JpbmRpbmctcG9zaXRpb25zICovXG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICAgIDwke3Vuc2FmZVN0YXRpYyhUQUdOQU1FKX0gY2xhc3M9XCJzYmItdGFiLWxhYmVsXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItdGFiLWxhYmVsX19pY29uXCI+XG4gICAgICAgICAgICAke3RoaXMucmVuZGVySWNvblNsb3QoKX1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItdGFiLWxhYmVsX190ZXh0XCI+XG4gICAgICAgICAgICA8c2xvdD48L3Nsb3Q+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDxwIGNsYXNzPVwic2JiLXRhYi1sYWJlbF9fYW1vdW50XCI+XG4gICAgICAgICAgICA8c2xvdCBuYW1lPVwiYW1vdW50XCI+JHt0aGlzLmFtb3VudH08L3Nsb3Q+XG4gICAgICAgICAgPC9wPlxuICAgICAgICA8LyR7dW5zYWZlU3RhdGljKFRBR05BTUUpfT5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItdGFiLWxhYmVsJzogU2JiVGFiTGFiZWxFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBMEJNLHNCQUFrQixNQUFBOzswQkFEdkIsY0FBYyxlQUFlLENBQUM7Ozs7b0JBQ0UsaUJBQy9CLGlCQUFpQix5QkFBeUIsVUFBVSxDQUFDLENBQUM7Ozs7Ozs7Ozs7QUFEL0IsRUFBQSxtQkFBUSxZQUVoQztBQUFBLElBb0NDLGNBQUE7QUFDRSxZQUFBO0FBekJVO0FBS1o7QUFLQTtBQWpCUSxXQUFBLFlBQXFCO0FBQ3JCLFdBQUEsZ0JBQW1EO0FBTS9CLHlCQUFBLHlCQUFBLGtCQUFBLE1BQUEscUJBQXVCLEdBQUc7QUFLdEMseUJBQUEsMkJBQUEsa0JBQUEsTUFBQSx3QkFBQSxHQUFBLGtCQUFBLE1BQUEsc0JBQWtCLEtBQUs7QUFLdkIseUJBQUEsMkJBQUEsa0JBQUEsTUFBQSx5QkFBQSxHQUFBLGtCQUFBLE1BQUEsc0JBQWlCLEVB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
@@ -0,0 +1,30 @@
1
+ import { CSSResultGroup, PropertyValues, TemplateResult, LitElement } from 'lit';
2
+ declare const SbbTabNavBarElement_base: import('../../core/mixins.ts').AbstractConstructor<import('../../core/mixins.ts').SbbNamedSlotListMixinType<HTMLElement>> & import('../../core/mixins.ts').AbstractConstructor<import('../../core/mixins.ts').SbbElementInternalsMixinType> & typeof LitElement & import('../../core/mixins.ts').SbbElementInternalsConstructor;
3
+ /**
4
+ * It displays one or more tab-label-like elements, each one is an anchor element.
5
+ *
6
+ * @slot - Use the unnamed slot to add anchors.
7
+ */
8
+ export declare class SbbTabNavBarElement extends SbbTabNavBarElement_base {
9
+ static styles: CSSResultGroup;
10
+ static readonly role = "navigation";
11
+ protected listChildLocalNames: string[];
12
+ /**
13
+ * Size variant, either s, l or xl.
14
+ * @default 'l' / 's' (lean)
15
+ */
16
+ accessor size: 's' | 'l' | 'xl';
17
+ private _resizeController;
18
+ private _listElement;
19
+ private _onTabGroupElementResize;
20
+ protected firstUpdated(changedProperties: PropertyValues<this>): void;
21
+ private _updateWidthObserver;
22
+ protected render(): TemplateResult;
23
+ }
24
+ declare global {
25
+ interface HTMLElementTagNameMap {
26
+ 'sbb-tab-nav-bar': SbbTabNavBarElement;
27
+ }
28
+ }
29
+ export {};
30
+ //# sourceMappingURL=tab-nav-bar.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tab-nav-bar.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/tabs/tab-nav-bar/tab-nav-bar.component.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;;AAUjC;;;;GAIG;AACH,qBAEM,mBAAoB,SAAQ,wBAA2D;IAC3F,OAAuB,MAAM,EAAE,cAAc,CAK3C;IACF,gBAAgC,IAAI,gBAAgB;IAEpD,UAAmB,mBAAmB,WAAS;IAE/C;;;OAGG;IACH,SACgB,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,CAAwB;IAE9D,OAAO,CAAC,iBAAiB,CAGtB;IAEH,OAAO,CAAC,YAAY,CAAwB;IAE5C,OAAO,CAAC,wBAAwB;cAWb,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAU9E,OAAO,CAAC,oBAAoB;cAeT,MAAM,IAAI,cAAc;CAG5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,iBAAiB,EAAE,mBAAmB,CAAC;KACxC;CACF"}
@@ -0,0 +1,105 @@
1
+ var __typeError = (msg) => {
2
+ throw TypeError(msg);
3
+ };
4
+ var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
5
+ var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
6
+ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
7
+ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
8
+ import { __runInitializers, __esDecorate } from "tslib";
9
+ import { ResizeController } from "@lit-labs/observers/resize-controller.js";
10
+ import { css, LitElement } from "lit";
11
+ import { customElement, property } from "lit/decorators.js";
12
+ import { isLean } from "../../core/dom/lean-context.js";
13
+ import { SbbNamedSlotListMixin, SbbElementInternalsMixin } from "../../core/mixins.js";
14
+ import { boxSizingStyles } from "../../core/styles.js";
15
+ import { tabLabelCommonStyles, tabGroupCommonStyles } from "../common.js";
16
+ const style = css`:host {
17
+ margin-block-end: var(--sbb-tab-group-content-gap);
18
+ }
19
+
20
+ .sbb-tab-nav-bar {
21
+ list-style: none;
22
+ margin: 0;
23
+ padding: 0;
24
+ font-size: inherit;
25
+ }`;
26
+ let SbbTabNavBarElement = (() => {
27
+ var _size_accessor_storage, _a;
28
+ let _classDecorators = [customElement("sbb-tab-nav-bar")];
29
+ let _classDescriptor;
30
+ let _classExtraInitializers = [];
31
+ let _classThis;
32
+ let _classSuper = SbbNamedSlotListMixin(SbbElementInternalsMixin(LitElement));
33
+ let _size_decorators;
34
+ let _size_initializers = [];
35
+ let _size_extraInitializers = [];
36
+ _a = class extends _classSuper {
37
+ constructor() {
38
+ super(...arguments);
39
+ __privateAdd(this, _size_accessor_storage);
40
+ this.listChildLocalNames = ["a"];
41
+ __privateSet(this, _size_accessor_storage, __runInitializers(this, _size_initializers, isLean() ? "s" : "l"));
42
+ this._resizeController = (__runInitializers(this, _size_extraInitializers), new ResizeController(this, {
43
+ target: null,
44
+ callback: () => this._onTabGroupElementResize()
45
+ }));
46
+ this._listElement = null;
47
+ }
48
+ /**
49
+ * Size variant, either s, l or xl.
50
+ * @default 'l' / 's' (lean)
51
+ */
52
+ get size() {
53
+ return __privateGet(this, _size_accessor_storage);
54
+ }
55
+ set size(value) {
56
+ __privateSet(this, _size_accessor_storage, value);
57
+ }
58
+ _onTabGroupElementResize() {
59
+ this.listChildren.forEach((anchor) => {
60
+ anchor.assignedSlot?.parentElement?.toggleAttribute("data-has-divider", anchor === this.listChildren[0] || anchor.offsetLeft === this.listChildren[0].offsetLeft);
61
+ });
62
+ this.style.setProperty("--sbb-tab-group-width", `${this._listElement?.clientWidth}px`);
63
+ }
64
+ firstUpdated(changedProperties) {
65
+ super.firstUpdated(changedProperties);
66
+ this._updateWidthObserver();
67
+ this.shadowRoot?.addEventListener("slotchange", () => this._updateWidthObserver());
68
+ }
69
+ _updateWidthObserver() {
70
+ const target = this.shadowRoot?.querySelector(`.${this.localName}`);
71
+ if (target && this._listElement !== target) {
72
+ if (this._listElement) {
73
+ this._resizeController.unobserve(this._listElement);
74
+ }
75
+ this._listElement = target;
76
+ this._resizeController.observe(target);
77
+ } else if (!target && this._listElement) {
78
+ this._resizeController.unobserve(this._listElement);
79
+ this._listElement = null;
80
+ }
81
+ }
82
+ render() {
83
+ return this.renderList();
84
+ }
85
+ }, _size_accessor_storage = new WeakMap(), _classThis = _a, (() => {
86
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
87
+ _size_decorators = [property({ reflect: true })];
88
+ __esDecorate(_a, null, _size_decorators, { kind: "accessor", name: "size", static: false, private: false, access: { has: (obj) => "size" in obj, get: (obj) => obj.size, set: (obj, value) => {
89
+ obj.size = value;
90
+ } }, metadata: _metadata }, _size_initializers, _size_extraInitializers);
91
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
92
+ _classThis = _classDescriptor.value;
93
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
94
+ })(), _a.styles = [
95
+ boxSizingStyles,
96
+ tabLabelCommonStyles,
97
+ tabGroupCommonStyles,
98
+ style
99
+ ], _a.role = "navigation", __runInitializers(_classThis, _classExtraInitializers), _a;
100
+ return _classThis;
101
+ })();
102
+ export {
103
+ SbbTabNavBarElement
104
+ };
105
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLW5hdi1iYXIuY29tcG9uZW50LmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvdGFicy90YWItbmF2LWJhci90YWItbmF2LWJhci5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVzaXplQ29udHJvbGxlciB9IGZyb20gJ0BsaXQtbGFicy9vYnNlcnZlcnMvcmVzaXplLWNvbnRyb2xsZXIuanMnO1xuaW1wb3J0IHR5cGUgeyBDU1NSZXN1bHRHcm91cCwgUHJvcGVydHlWYWx1ZXMsIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IExpdEVsZW1lbnQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IGlzTGVhbiB9IGZyb20gJy4uLy4uL2NvcmUvZG9tL2xlYW4tY29udGV4dC50cyc7XG5pbXBvcnQgeyBTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW4sIFNiYk5hbWVkU2xvdExpc3RNaXhpbiB9IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLnRzJztcbmltcG9ydCB7IGJveFNpemluZ1N0eWxlcyB9IGZyb20gJy4uLy4uL2NvcmUvc3R5bGVzLnRzJztcbmltcG9ydCB7IHRhYkdyb3VwQ29tbW9uU3R5bGVzLCB0YWJMYWJlbENvbW1vblN0eWxlcyB9IGZyb20gJy4uL2NvbW1vbi50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL3RhYi1uYXYtYmFyLnNjc3M/bGl0JmlubGluZSc7XG5cbi8qKlxuICogSXQgZGlzcGxheXMgb25lIG9yIG1vcmUgdGFiLWxhYmVsLWxpa2UgZWxlbWVudHMsIGVhY2ggb25lIGlzIGFuIGFuY2hvciBlbGVtZW50LlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGFuY2hvcnMuXG4gKi9cbmV4cG9ydFxuQGN1c3RvbUVsZW1lbnQoJ3NiYi10YWItbmF2LWJhcicpXG5jbGFzcyBTYmJUYWJOYXZCYXJFbGVtZW50IGV4dGVuZHMgU2JiTmFtZWRTbG90TGlzdE1peGluKFNiYkVsZW1lbnRJbnRlcm5hbHNNaXhpbihMaXRFbGVtZW50KSkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbXG4gICAgYm94U2l6aW5nU3R5bGVzLFxuICAgIHRhYkxhYmVsQ29tbW9uU3R5bGVzLFxuICAgIHRhYkdyb3VwQ29tbW9uU3R5bGVzLFxuICAgIHN0eWxlLFxuICBdO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IHJvbGUgPSAnbmF2aWdhdGlvbic7XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGxpc3RDaGlsZExvY2FsTmFtZXMgPSBbJ2EnXTtcblxuICAvKipcbiAgICogU2l6ZSB2YXJpYW50LCBlaXRoZXIgcywgbCBvciB4bC5cbiAgICogQGRlZmF1bHQgJ2wnIC8gJ3MnIChsZWFuKVxuICAgKi9cbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSB9KVxuICBwdWJsaWMgYWNjZXNzb3Igc2l6ZTogJ3MnIHwgJ2wnIHwgJ3hsJyA9IGlzTGVhbigpID8gJ3MnIDogJ2wnO1xuXG4gIHByaXZhdGUgX3Jlc2l6ZUNvbnRyb2xsZXIgPSBuZXcgUmVzaXplQ29udHJvbGxlcih0aGlzLCB7XG4gICAgdGFyZ2V0OiBudWxsLFxuICAgIGNhbGxiYWNrOiAoKSA9PiB0aGlzLl9vblRhYkdyb3VwRWxlbWVudFJlc2l6ZSgpLFxuICB9KTtcblxuICBwcml2YXRlIF9saXN0RWxlbWVudDogRWxlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgX29uVGFiR3JvdXBFbGVtZW50UmVzaXplKCk6IHZvaWQge1xuICAgIHRoaXMubGlzdENoaWxkcmVuLmZvckVhY2goKGFuY2hvcikgPT4ge1xuICAgICAgYW5jaG9yLmFzc2lnbmVkU2xvdD8ucGFyZW50RWxlbWVudD8udG9nZ2xlQXR0cmlidXRlKFxuICAgICAgICAnZGF0YS1oYXMtZGl2aWRlcicsXG4gICAgICAgIGFuY2hvciA9PT0gdGhpcy5saXN0Q2hpbGRyZW5bMF0gfHwgYW5jaG9yLm9mZnNldExlZnQgPT09IHRoaXMubGlzdENoaWxkcmVuWzBdLm9mZnNldExlZnQsXG4gICAgICApO1xuICAgIH0pO1xuXG4gICAgdGhpcy5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1zYmItdGFiLWdyb3VwLXdpZHRoJywgYCR7dGhpcy5fbGlzdEVsZW1lbnQ/LmNsaWVudFdpZHRofXB4YCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICB0aGlzLl91cGRhdGVXaWR0aE9ic2VydmVyKCk7XG5cbiAgICAvLyBXaGVuZXZlciBzbG90dGVkIGVsZW1lbnQgY2hhbmdlLCB0aGUgdGFyZ2V0IHRvIG9ic2VydmUgbWlnaHQgY2hhbmdlIGFzIHdlbGxcbiAgICAvLyAoY2hhbmdlIGZyb20gc2luZ2xlIHRvIG11bHRpcGxlIGVsZW1lbnRzIG9yIHZpY2UgdmVyc2EpLlxuICAgIHRoaXMuc2hhZG93Um9vdD8uYWRkRXZlbnRMaXN0ZW5lcignc2xvdGNoYW5nZScsICgpID0+IHRoaXMuX3VwZGF0ZVdpZHRoT2JzZXJ2ZXIoKSk7XG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVXaWR0aE9ic2VydmVyKCk6IHZvaWQge1xuICAgIGNvbnN0IHRhcmdldCA9IHRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcihgLiR7dGhpcy5sb2NhbE5hbWV9YCk7XG5cbiAgICBpZiAodGFyZ2V0ICYmIHRoaXMuX2xpc3RFbGVtZW50ICE9PSB0YXJnZXQpIHtcbiAgICAgIGlmICh0aGlzLl9saXN0RWxlbWVudCkge1xuICAgICAgICB0aGlzLl9yZXNpemVDb250cm9sbGVyLnVub2JzZXJ2ZSh0aGlzLl9saXN0RWxlbWVudCk7XG4gICAgICB9XG4gICAgICB0aGlzLl9saXN0RWxlbWVudCA9IHRhcmdldDtcbiAgICAgIHRoaXMuX3Jlc2l6ZUNvbnRyb2xsZXIub2JzZXJ2ZSh0YXJnZXQpO1xuICAgIH0gZWxzZSBpZiAoIXRhcmdldCAmJiB0aGlzLl9saXN0RWxlbWVudCkge1xuICAgICAgdGhpcy5fcmVzaXplQ29udHJvbGxlci51bm9ic2VydmUodGhpcy5fbGlzdEVsZW1lbnQpO1xuICAgICAgdGhpcy5fbGlzdEVsZW1lbnQgPSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiB0aGlzLnJlbmRlckxpc3QoKTtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLXRhYi1uYXYtYmFyJzogU2JiVGFiTmF2QmFyRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFtQk0sdUJBQW1CLE1BQUE7OzBCQUR4QixjQUFjLGlCQUFpQixDQUFDOzs7O0FBQ0MsTUFBQSxjQUFBLHNCQUFzQix5QkFBeUIsVUFBVSxDQUFDOzs7O0FBQWxFLEVBQUEsbUJBQVEsWUFBMkQ7QUFBQTs7QUFnQjNGO0FBUG1CLFdBQUEsc0JBQXNCLENBQUMsR0FBRztBQU83Qix5QkFBQSx3QkFBQSxrQkFBQSxNQUFBLG9CQUF5QixPQUFBLElBQVcsTUFBTSxHQUFHO0FBRXJELFdBQUEscUJBQWlCLGtCQUFBLE1BQUEsdUJBQUEsR0FBRyxJQUFJLGlCQUFpQixNQUFNO0FBQUEsUUFDckQsUUFBUTtBQUFBLFFBQ1IsVUFBVSxNQUFNLEtBQUsseUJBQUE7QUFBQSxNQUF3QixDQUM5QztBQUVPLFdBQUEsZUFBK0I7QUFBQSxJQXlDekM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLElBaERFLElBQWdCLE9BQUk7QUFBQSxhQUFBLG1CQUFBO0FBQUEsSUFBQTtBQUFBLElBQXBCLElBQWdCLEtBQUksT0FBQTtBQUFBLHlCQUFBLHdCQUFBO0FBQUEsSUFBQTtBQUFBLElBU1osMkJBQXdCO0FBQzlCLFdBQUssYUFBYSxRQUFRLENBQUMsV0FBVTtBQUNuQyxlQUFPLGNBQWMsZUFBZSxnQkFDbEMsb0JBQ0EsV0FBVyxLQUFLLGFBQWEsQ0FBQyxLQUFLLE9BQU8sZUFBZSxLQUFLLGFBQWEsQ0FBQyxFQUFFLFVBQVU7QUFBQSxNQUU1RixDQUFDO0FBRUQsV0FBSyxNQUFNLFlBQVkseUJBQXlCLEdBQUcsS0FBSyxjQUFjLFdBQVcsSUFBSTtBQUFBLElBQ3ZGO0FBQUEsSUFFbUIsYUFBYSxtQkFBdUM7QUFDckUsWUFBTSxhQUFhLGlCQUFpQjtBQUVwQyxXQUFLLHFCQUFBO0FBSUwsV0FBSyxZQUFZLGlCQUFpQixjQUFjLE1BQU0sS0FBSyxzQkFBc0I7QUFBQSxJQUNuRjtBQUFBLElBRVEsdUJBQW9CO0FBQzFCLFlBQU0sU0FBUyxLQUFLLFlBQVksY0FBYyxJQUFJLEtBQUssU0FBUyxFQUFFO0FBRWxFLFVBQUksVUFBVSxLQUFLLGlCQUFpQixRQUFRO0FBQzFDLFlBQUksS0FBSyxjQUFjO0FBQ3JCLGVBQUssa0JBQWtCLFVBQVUsS0FBSyxZQUFZO0FBQUEsUUFDcEQ7QUFDQSxhQUFLLGVBQWU7QUFDcEIsYUFBSyxrQkFBa0IsUUFBUSxNQUFNO0FBQUEsTUFDdkMsV0FBVyxDQUFDLFVBQVUsS0FBSyxjQUFjO0FBQ3ZDLGFBQUssa0JBQWtCLFVBQVUsS0FBSyxZQUFZO0FBQ2xELGFBQUssZUFBZTtBQUFBLE1BQ3RCO0FBQUEsSUFDRjtBQUFBLElBRW1CLFNBQU07QUFDdkIsYUFBTyxLQUFLLFdBQUE7QUFBQSxJQUNkO0FBQUEsS0EvQ0E7O0FBREMsdUJBQUEsQ0FBQSxTQUFTLEVBQUUsU0FBUyxLQUFBLENBQU0sQ0FBQztBQUM1QixpQkFBQSxJQUFBLE1BQUEsa0JBQUEsRUFBQSxNQUFBLFlBQUEsTUFBQSxRQUFBLFFBQUEsT0FBQSxTQUFBLE9BQUEsUUFBQSxFQUFBLEtBQUEsQ0FBQSxRQUFBLFVBQUEsS0FBQSxLQUFBLENBQUEsUUFBQSxJQUFnQixNQUFJLEtBQUEsQ0FBQSxLQUFBLFVBQUE7QUFBQSxVQUFKLE9BQUk7QUFBQSxJQUFBLEtBQUEsVUFBQSxVQUFBLEdBQUEsb0JBQUEsdUJBQUE7QUFoQnRCLGlCQUFBLE1BQUEsbUJBQUEsRUFBQSxPQUFBLFdBQUEsR0FBQSxrQkFBQSxFQUFBLE1BQUEsU0FBQSxNQUFBLFdBQUEsTUFBQSxVQUFBLFVBQUEsR0FBQSxNQUFBLHVCQUFBOzs7UUFDeUIsR0FBQSxTQUF5QjtBQUFBLElBQzlDO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsRUFBQSxHQUU4QixHQUFBLE9BQU8sY0FQbkMsa0JBQUEsWUFBQSx1QkFBQSxHQUFvQjs7OyJ9
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @entrypoint
3
+ */
4
+ export * from './tab-nav-bar/tab-nav-bar.component.ts';
5
+ //# sourceMappingURL=tab-nav-bar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tab-nav-bar.d.ts","sourceRoot":"","sources":["../../../../src/elements/tabs/tab-nav-bar.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,wCAAwC,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { SbbTabNavBarElement } from "./tab-nav-bar/tab-nav-bar.component.js";
2
+ export {
3
+ SbbTabNavBarElement
4
+ };
5
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLW5hdi1iYXIuanMiLCJzb3VyY2VzIjpbXSwic291cmNlc0NvbnRlbnQiOltdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOyJ9
@@ -4,4 +4,5 @@
4
4
  export * from './tabs/tab.ts';
5
5
  export * from './tabs/tab-group.ts';
6
6
  export * from './tabs/tab-label.ts';
7
+ export * from './tabs/tab-nav-bar/tab-nav-bar.component.ts';
7
8
  //# sourceMappingURL=tabs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tabs.d.ts","sourceRoot":"","sources":["../../../src/elements/tabs.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"tabs.d.ts","sourceRoot":"","sources":["../../../src/elements/tabs.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,6CAA6C,CAAC"}
@@ -1,9 +1,11 @@
1
1
  import { SbbTabElement } from "./tabs/tab/tab.component.js";
2
2
  import { SbbTabGroupElement } from "./tabs/tab-group/tab-group.component.js";
3
3
  import { SbbTabLabelElement } from "./tabs/tab-label/tab-label.component.js";
4
+ import { SbbTabNavBarElement } from "./tabs/tab-nav-bar/tab-nav-bar.component.js";
4
5
  export {
5
6
  SbbTabElement,
6
7
  SbbTabGroupElement,
7
- SbbTabLabelElement
8
+ SbbTabLabelElement,
9
+ SbbTabNavBarElement
8
10
  };
9
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy5qcyIsInNvdXJjZXMiOltdLCJzb3VyY2VzQ29udGVudCI6W10sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OzsifQ==
11
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy5qcyIsInNvdXJjZXMiOltdLCJzb3VyY2VzQ29udGVudCI6W10sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7In0=