@vonage/vivid 3.1.1 → 3.1.3
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.
- package/README.md +45 -73
- package/data-grid/index.js +2 -2
- package/index.js +17 -16
- package/lib/components.d.ts +1 -0
- package/number-field/index.js +18 -448
- package/package.json +1 -1
- package/progress/index.js +1 -1
- package/progress-ring/index.js +1 -1
- package/radio/index.js +1 -1
- package/radio-group/index.js +1 -1
- package/select/index.js +1 -1
- package/shared/definition.js +1 -1
- package/shared/definition11.js +1 -1
- package/shared/definition12.js +1 -1
- package/shared/definition13.js +1 -1
- package/shared/definition14.js +1 -1
- package/shared/definition16.js +1 -1
- package/shared/definition17.js +1 -1
- package/shared/definition19.js +1 -1
- package/shared/definition2.js +1 -1
- package/shared/definition20.js +1 -1
- package/shared/definition21.js +1 -1
- package/shared/definition22.js +1 -1
- package/shared/definition23.js +1 -1
- package/shared/definition25.js +1 -1
- package/shared/definition27.js +1 -1
- package/shared/definition29.js +1 -1
- package/shared/definition30.js +1 -1
- package/shared/definition31.js +1 -1
- package/shared/definition32.js +432 -76
- package/shared/definition33.js +76 -59
- package/shared/definition34.js +67 -35
- package/shared/definition35.js +31 -422
- package/shared/definition36.js +357 -555
- package/shared/definition37.js +618 -74
- package/shared/definition38.js +70 -573
- package/shared/definition39.js +527 -81
- package/shared/definition4.js +1 -1
- package/shared/definition40.js +127 -47
- package/shared/definition41.js +51 -16
- package/shared/definition42.js +17 -425
- package/shared/definition43.js +367 -209
- package/shared/definition44.js +248 -85
- package/shared/definition45.js +110 -68
- package/shared/definition46.js +77 -0
- package/shared/definition5.js +1 -1
- package/shared/definition6.js +1 -1
- package/shared/definition7.js +1 -1
- package/shared/definition8.js +1 -1
- package/shared/definition9.js +1 -1
- package/shared/form-elements.js +1 -1
- package/shared/patterns/form-elements/form-elements.d.ts +2 -2
- package/shared/text-field.js +1 -1
- package/side-drawer/index.js +1 -1
- package/slider/index.js +1 -1
- package/styles/core/all.css +1 -1
- package/styles/core/theme.css +1 -1
- package/styles/core/typography.css +1 -1
- package/styles/tokens/theme-dark.css +4 -4
- package/styles/tokens/theme-light.css +4 -4
- package/switch/index.js +1 -1
- package/tab/index.js +1 -1
- package/tab-panel/index.js +1 -1
- package/tabs/index.js +3 -3
- package/text-area/index.js +1 -1
- package/text-field/index.js +1 -1
- package/tooltip/index.js +1 -1
- package/vivid.api.json +164 -0
package/shared/definition42.js
CHANGED
|
@@ -1,440 +1,32 @@
|
|
|
1
|
-
import { F as FoundationElement,
|
|
2
|
-
import { t as tabRegistries } from './definition40.js';
|
|
3
|
-
import { t as tabPanelRegistries } from './definition41.js';
|
|
4
|
-
import { S as StartEnd } from './start-end.js';
|
|
5
|
-
import { a as applyMixins } from './apply-mixins.js';
|
|
6
|
-
import { h as keyArrowRight, i as keyArrowLeft, b as keyArrowDown, c as keyArrowUp, k as keyEnd, a as keyHome } from './key-codes.js';
|
|
7
|
-
import { u as uniqueId } from './strings.js';
|
|
8
|
-
import { w as wrapInBounds } from './numbers.js';
|
|
9
|
-
import { s as slotted } from './slotted.js';
|
|
10
|
-
import { w as when } from './when.js';
|
|
11
|
-
import { r as ref } from './ref.js';
|
|
12
|
-
import { c as classNames } from './class-names.js';
|
|
1
|
+
import { F as FoundationElement, h as html, r as registerFactory } from './index.js';
|
|
13
2
|
|
|
14
3
|
/**
|
|
15
|
-
*
|
|
16
|
-
* @public
|
|
17
|
-
*/
|
|
18
|
-
const TabsOrientation = {
|
|
19
|
-
vertical: "vertical",
|
|
20
|
-
horizontal: "horizontal",
|
|
21
|
-
};
|
|
22
|
-
/**
|
|
23
|
-
* A Tabs Custom HTML Element.
|
|
24
|
-
* Implements the {@link https://www.w3.org/TR/wai-aria-1.1/#tablist | ARIA tablist }.
|
|
4
|
+
* A TabPanel Component to be used with {@link @microsoft/fast-foundation#(Tabs:class)}
|
|
25
5
|
*
|
|
26
|
-
* @slot
|
|
27
|
-
* @slot end - Content which can be provided after the tablist element
|
|
28
|
-
* @slot tab - The slot for tabs
|
|
29
|
-
* @slot tabpanel - The slot for tabpanels
|
|
30
|
-
* @csspart tablist - The element wrapping for the tabs
|
|
31
|
-
* @csspart tab - The tab slot
|
|
32
|
-
* @csspart activeIndicator - The visual indicator
|
|
33
|
-
* @csspart tabpanel - The tabpanel slot
|
|
34
|
-
* @fires change - Fires a custom 'change' event when a tab is clicked or during keyboard navigation
|
|
6
|
+
* @slot - The default slot for the tabpanel content
|
|
35
7
|
*
|
|
36
8
|
* @public
|
|
37
9
|
*/
|
|
38
|
-
class
|
|
39
|
-
constructor() {
|
|
40
|
-
super(...arguments);
|
|
41
|
-
/**
|
|
42
|
-
* The orientation
|
|
43
|
-
* @public
|
|
44
|
-
* @remarks
|
|
45
|
-
* HTML Attribute: orientation
|
|
46
|
-
*/
|
|
47
|
-
this.orientation = TabsOrientation.horizontal;
|
|
48
|
-
/**
|
|
49
|
-
* Whether or not to show the active indicator
|
|
50
|
-
* @public
|
|
51
|
-
* @remarks
|
|
52
|
-
* HTML Attribute: activeindicator
|
|
53
|
-
*/
|
|
54
|
-
this.activeindicator = true;
|
|
55
|
-
/**
|
|
56
|
-
* @internal
|
|
57
|
-
*/
|
|
58
|
-
this.showActiveIndicator = true;
|
|
59
|
-
this.prevActiveTabIndex = 0;
|
|
60
|
-
this.activeTabIndex = 0;
|
|
61
|
-
this.ticking = false;
|
|
62
|
-
this.change = () => {
|
|
63
|
-
this.$emit("change", this.activetab);
|
|
64
|
-
};
|
|
65
|
-
this.isDisabledElement = (el) => {
|
|
66
|
-
return el.getAttribute("aria-disabled") === "true";
|
|
67
|
-
};
|
|
68
|
-
this.isFocusableElement = (el) => {
|
|
69
|
-
return !this.isDisabledElement(el);
|
|
70
|
-
};
|
|
71
|
-
this.setTabs = () => {
|
|
72
|
-
const gridHorizontalProperty = "gridColumn";
|
|
73
|
-
const gridVerticalProperty = "gridRow";
|
|
74
|
-
const gridProperty = this.isHorizontal()
|
|
75
|
-
? gridHorizontalProperty
|
|
76
|
-
: gridVerticalProperty;
|
|
77
|
-
this.activeTabIndex = this.getActiveIndex();
|
|
78
|
-
this.showActiveIndicator = false;
|
|
79
|
-
this.tabs.forEach((tab, index) => {
|
|
80
|
-
if (tab.slot === "tab") {
|
|
81
|
-
const isActiveTab = this.activeTabIndex === index && this.isFocusableElement(tab);
|
|
82
|
-
if (this.activeindicator && this.isFocusableElement(tab)) {
|
|
83
|
-
this.showActiveIndicator = true;
|
|
84
|
-
}
|
|
85
|
-
const tabId = this.tabIds[index];
|
|
86
|
-
const tabpanelId = this.tabpanelIds[index];
|
|
87
|
-
tab.setAttribute("id", tabId);
|
|
88
|
-
tab.setAttribute("aria-selected", isActiveTab ? "true" : "false");
|
|
89
|
-
tab.setAttribute("aria-controls", tabpanelId);
|
|
90
|
-
tab.addEventListener("click", this.handleTabClick);
|
|
91
|
-
tab.addEventListener("keydown", this.handleTabKeyDown);
|
|
92
|
-
tab.setAttribute("tabindex", isActiveTab ? "0" : "-1");
|
|
93
|
-
if (isActiveTab) {
|
|
94
|
-
this.activetab = tab;
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
// If the original property isn't emptied out,
|
|
98
|
-
// the next set will morph into a grid-area style setting that is not what we want
|
|
99
|
-
tab.style[gridHorizontalProperty] = "";
|
|
100
|
-
tab.style[gridVerticalProperty] = "";
|
|
101
|
-
tab.style[gridProperty] = `${index + 1}`;
|
|
102
|
-
!this.isHorizontal()
|
|
103
|
-
? tab.classList.add("vertical")
|
|
104
|
-
: tab.classList.remove("vertical");
|
|
105
|
-
});
|
|
106
|
-
};
|
|
107
|
-
this.setTabPanels = () => {
|
|
108
|
-
this.tabpanels.forEach((tabpanel, index) => {
|
|
109
|
-
const tabId = this.tabIds[index];
|
|
110
|
-
const tabpanelId = this.tabpanelIds[index];
|
|
111
|
-
tabpanel.setAttribute("id", tabpanelId);
|
|
112
|
-
tabpanel.setAttribute("aria-labelledby", tabId);
|
|
113
|
-
this.activeTabIndex !== index
|
|
114
|
-
? tabpanel.setAttribute("hidden", "")
|
|
115
|
-
: tabpanel.removeAttribute("hidden");
|
|
116
|
-
});
|
|
117
|
-
};
|
|
118
|
-
this.handleTabClick = (event) => {
|
|
119
|
-
const selectedTab = event.currentTarget;
|
|
120
|
-
if (selectedTab.nodeType === 1 && this.isFocusableElement(selectedTab)) {
|
|
121
|
-
this.prevActiveTabIndex = this.activeTabIndex;
|
|
122
|
-
this.activeTabIndex = this.tabs.indexOf(selectedTab);
|
|
123
|
-
this.setComponent();
|
|
124
|
-
}
|
|
125
|
-
};
|
|
126
|
-
this.handleTabKeyDown = (event) => {
|
|
127
|
-
if (this.isHorizontal()) {
|
|
128
|
-
switch (event.key) {
|
|
129
|
-
case keyArrowLeft:
|
|
130
|
-
event.preventDefault();
|
|
131
|
-
this.adjustBackward(event);
|
|
132
|
-
break;
|
|
133
|
-
case keyArrowRight:
|
|
134
|
-
event.preventDefault();
|
|
135
|
-
this.adjustForward(event);
|
|
136
|
-
break;
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
else {
|
|
140
|
-
switch (event.key) {
|
|
141
|
-
case keyArrowUp:
|
|
142
|
-
event.preventDefault();
|
|
143
|
-
this.adjustBackward(event);
|
|
144
|
-
break;
|
|
145
|
-
case keyArrowDown:
|
|
146
|
-
event.preventDefault();
|
|
147
|
-
this.adjustForward(event);
|
|
148
|
-
break;
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
switch (event.key) {
|
|
152
|
-
case keyHome:
|
|
153
|
-
event.preventDefault();
|
|
154
|
-
this.adjust(-this.activeTabIndex);
|
|
155
|
-
break;
|
|
156
|
-
case keyEnd:
|
|
157
|
-
event.preventDefault();
|
|
158
|
-
this.adjust(this.tabs.length - this.activeTabIndex - 1);
|
|
159
|
-
break;
|
|
160
|
-
}
|
|
161
|
-
};
|
|
162
|
-
this.adjustForward = (e) => {
|
|
163
|
-
const group = this.tabs;
|
|
164
|
-
let index = 0;
|
|
165
|
-
index = this.activetab ? group.indexOf(this.activetab) + 1 : 1;
|
|
166
|
-
if (index === group.length) {
|
|
167
|
-
index = 0;
|
|
168
|
-
}
|
|
169
|
-
while (index < group.length && group.length > 1) {
|
|
170
|
-
if (this.isFocusableElement(group[index])) {
|
|
171
|
-
this.moveToTabByIndex(group, index);
|
|
172
|
-
break;
|
|
173
|
-
}
|
|
174
|
-
else if (this.activetab && index === group.indexOf(this.activetab)) {
|
|
175
|
-
break;
|
|
176
|
-
}
|
|
177
|
-
else if (index + 1 >= group.length) {
|
|
178
|
-
index = 0;
|
|
179
|
-
}
|
|
180
|
-
else {
|
|
181
|
-
index += 1;
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
};
|
|
185
|
-
this.adjustBackward = (e) => {
|
|
186
|
-
const group = this.tabs;
|
|
187
|
-
let index = 0;
|
|
188
|
-
index = this.activetab ? group.indexOf(this.activetab) - 1 : 0;
|
|
189
|
-
index = index < 0 ? group.length - 1 : index;
|
|
190
|
-
while (index >= 0 && group.length > 1) {
|
|
191
|
-
if (this.isFocusableElement(group[index])) {
|
|
192
|
-
this.moveToTabByIndex(group, index);
|
|
193
|
-
break;
|
|
194
|
-
}
|
|
195
|
-
else if (index - 1 < 0) {
|
|
196
|
-
index = group.length - 1;
|
|
197
|
-
}
|
|
198
|
-
else {
|
|
199
|
-
index -= 1;
|
|
200
|
-
}
|
|
201
|
-
}
|
|
202
|
-
};
|
|
203
|
-
this.moveToTabByIndex = (group, index) => {
|
|
204
|
-
const tab = group[index];
|
|
205
|
-
this.activetab = tab;
|
|
206
|
-
this.prevActiveTabIndex = this.activeTabIndex;
|
|
207
|
-
this.activeTabIndex = index;
|
|
208
|
-
tab.focus();
|
|
209
|
-
this.setComponent();
|
|
210
|
-
};
|
|
211
|
-
}
|
|
212
|
-
/**
|
|
213
|
-
* @internal
|
|
214
|
-
*/
|
|
215
|
-
orientationChanged() {
|
|
216
|
-
if (this.$fastController.isConnected) {
|
|
217
|
-
this.setTabs();
|
|
218
|
-
this.setTabPanels();
|
|
219
|
-
this.handleActiveIndicatorPosition();
|
|
220
|
-
}
|
|
221
|
-
}
|
|
222
|
-
/**
|
|
223
|
-
* @internal
|
|
224
|
-
*/
|
|
225
|
-
activeidChanged(oldValue, newValue) {
|
|
226
|
-
if (this.$fastController.isConnected &&
|
|
227
|
-
this.tabs.length <= this.tabpanels.length) {
|
|
228
|
-
this.prevActiveTabIndex = this.tabs.findIndex((item) => item.id === oldValue);
|
|
229
|
-
this.setTabs();
|
|
230
|
-
this.setTabPanels();
|
|
231
|
-
this.handleActiveIndicatorPosition();
|
|
232
|
-
}
|
|
233
|
-
}
|
|
234
|
-
/**
|
|
235
|
-
* @internal
|
|
236
|
-
*/
|
|
237
|
-
tabsChanged() {
|
|
238
|
-
if (this.$fastController.isConnected &&
|
|
239
|
-
this.tabs.length <= this.tabpanels.length) {
|
|
240
|
-
this.tabIds = this.getTabIds();
|
|
241
|
-
this.tabpanelIds = this.getTabPanelIds();
|
|
242
|
-
this.setTabs();
|
|
243
|
-
this.setTabPanels();
|
|
244
|
-
this.handleActiveIndicatorPosition();
|
|
245
|
-
}
|
|
246
|
-
}
|
|
247
|
-
/**
|
|
248
|
-
* @internal
|
|
249
|
-
*/
|
|
250
|
-
tabpanelsChanged() {
|
|
251
|
-
if (this.$fastController.isConnected &&
|
|
252
|
-
this.tabpanels.length <= this.tabs.length) {
|
|
253
|
-
this.tabIds = this.getTabIds();
|
|
254
|
-
this.tabpanelIds = this.getTabPanelIds();
|
|
255
|
-
this.setTabs();
|
|
256
|
-
this.setTabPanels();
|
|
257
|
-
this.handleActiveIndicatorPosition();
|
|
258
|
-
}
|
|
259
|
-
}
|
|
260
|
-
getActiveIndex() {
|
|
261
|
-
const id = this.activeid;
|
|
262
|
-
if (id !== undefined) {
|
|
263
|
-
return this.tabIds.indexOf(this.activeid) === -1
|
|
264
|
-
? 0
|
|
265
|
-
: this.tabIds.indexOf(this.activeid);
|
|
266
|
-
}
|
|
267
|
-
else {
|
|
268
|
-
return 0;
|
|
269
|
-
}
|
|
270
|
-
}
|
|
271
|
-
getTabIds() {
|
|
272
|
-
return this.tabs.map((tab) => {
|
|
273
|
-
var _a;
|
|
274
|
-
return (_a = tab.getAttribute("id")) !== null && _a !== void 0 ? _a : `tab-${uniqueId()}`;
|
|
275
|
-
});
|
|
276
|
-
}
|
|
277
|
-
getTabPanelIds() {
|
|
278
|
-
return this.tabpanels.map((tabPanel) => {
|
|
279
|
-
var _a;
|
|
280
|
-
return (_a = tabPanel.getAttribute("id")) !== null && _a !== void 0 ? _a : `panel-${uniqueId()}`;
|
|
281
|
-
});
|
|
282
|
-
}
|
|
283
|
-
setComponent() {
|
|
284
|
-
if (this.activeTabIndex !== this.prevActiveTabIndex) {
|
|
285
|
-
this.activeid = this.tabIds[this.activeTabIndex];
|
|
286
|
-
this.focusTab();
|
|
287
|
-
this.change();
|
|
288
|
-
}
|
|
289
|
-
}
|
|
290
|
-
isHorizontal() {
|
|
291
|
-
return this.orientation === TabsOrientation.horizontal;
|
|
292
|
-
}
|
|
293
|
-
handleActiveIndicatorPosition() {
|
|
294
|
-
// Ignore if we click twice on the same tab
|
|
295
|
-
if (this.showActiveIndicator &&
|
|
296
|
-
this.activeindicator &&
|
|
297
|
-
this.activeTabIndex !== this.prevActiveTabIndex) {
|
|
298
|
-
if (this.ticking) {
|
|
299
|
-
this.ticking = false;
|
|
300
|
-
}
|
|
301
|
-
else {
|
|
302
|
-
this.ticking = true;
|
|
303
|
-
this.animateActiveIndicator();
|
|
304
|
-
}
|
|
305
|
-
}
|
|
306
|
-
}
|
|
307
|
-
animateActiveIndicator() {
|
|
308
|
-
this.ticking = true;
|
|
309
|
-
const gridProperty = this.isHorizontal() ? "gridColumn" : "gridRow";
|
|
310
|
-
const translateProperty = this.isHorizontal()
|
|
311
|
-
? "translateX"
|
|
312
|
-
: "translateY";
|
|
313
|
-
const offsetProperty = this.isHorizontal() ? "offsetLeft" : "offsetTop";
|
|
314
|
-
const prev = this.activeIndicatorRef[offsetProperty];
|
|
315
|
-
this.activeIndicatorRef.style[gridProperty] = `${this.activeTabIndex + 1}`;
|
|
316
|
-
const next = this.activeIndicatorRef[offsetProperty];
|
|
317
|
-
this.activeIndicatorRef.style[gridProperty] = `${this.prevActiveTabIndex + 1}`;
|
|
318
|
-
const dif = next - prev;
|
|
319
|
-
this.activeIndicatorRef.style.transform = `${translateProperty}(${dif}px)`;
|
|
320
|
-
this.activeIndicatorRef.classList.add("activeIndicatorTransition");
|
|
321
|
-
this.activeIndicatorRef.addEventListener("transitionend", () => {
|
|
322
|
-
this.ticking = false;
|
|
323
|
-
this.activeIndicatorRef.style[gridProperty] = `${this.activeTabIndex + 1}`;
|
|
324
|
-
this.activeIndicatorRef.style.transform = `${translateProperty}(0px)`;
|
|
325
|
-
this.activeIndicatorRef.classList.remove("activeIndicatorTransition");
|
|
326
|
-
});
|
|
327
|
-
}
|
|
328
|
-
/**
|
|
329
|
-
* The adjust method for FASTTabs
|
|
330
|
-
* @public
|
|
331
|
-
* @remarks
|
|
332
|
-
* This method allows the active index to be adjusted by numerical increments
|
|
333
|
-
*/
|
|
334
|
-
adjust(adjustment) {
|
|
335
|
-
this.prevActiveTabIndex = this.activeTabIndex;
|
|
336
|
-
this.activeTabIndex = wrapInBounds(0, this.tabs.length - 1, this.activeTabIndex + adjustment);
|
|
337
|
-
this.setComponent();
|
|
338
|
-
}
|
|
339
|
-
focusTab() {
|
|
340
|
-
this.tabs[this.activeTabIndex].focus();
|
|
341
|
-
}
|
|
342
|
-
/**
|
|
343
|
-
* @internal
|
|
344
|
-
*/
|
|
345
|
-
connectedCallback() {
|
|
346
|
-
super.connectedCallback();
|
|
347
|
-
this.tabIds = this.getTabIds();
|
|
348
|
-
this.tabpanelIds = this.getTabPanelIds();
|
|
349
|
-
this.activeTabIndex = this.getActiveIndex();
|
|
350
|
-
}
|
|
10
|
+
class TabPanel$1 extends FoundationElement {
|
|
351
11
|
}
|
|
352
|
-
__decorate([
|
|
353
|
-
attr
|
|
354
|
-
], Tabs$1.prototype, "orientation", void 0);
|
|
355
|
-
__decorate([
|
|
356
|
-
attr
|
|
357
|
-
], Tabs$1.prototype, "activeid", void 0);
|
|
358
|
-
__decorate([
|
|
359
|
-
observable
|
|
360
|
-
], Tabs$1.prototype, "tabs", void 0);
|
|
361
|
-
__decorate([
|
|
362
|
-
observable
|
|
363
|
-
], Tabs$1.prototype, "tabpanels", void 0);
|
|
364
|
-
__decorate([
|
|
365
|
-
attr({ mode: "boolean" })
|
|
366
|
-
], Tabs$1.prototype, "activeindicator", void 0);
|
|
367
|
-
__decorate([
|
|
368
|
-
observable
|
|
369
|
-
], Tabs$1.prototype, "activeIndicatorRef", void 0);
|
|
370
|
-
__decorate([
|
|
371
|
-
observable
|
|
372
|
-
], Tabs$1.prototype, "showActiveIndicator", void 0);
|
|
373
|
-
applyMixins(Tabs$1, StartEnd);
|
|
374
12
|
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
const ACTIVE_TAB_WIDTH = '--_tabs-active-tab-inline-size';
|
|
378
|
-
class Tabs extends Tabs$1 {
|
|
379
|
-
orientationChanged() {
|
|
380
|
-
super.orientationChanged();
|
|
381
|
-
this.patchIndicatorStyleTransition();
|
|
382
|
-
if (!this.activeIndicatorRef) return;
|
|
383
|
-
if (this.orientation === TabsOrientation.vertical) {
|
|
384
|
-
this.activeIndicatorRef.style.removeProperty(ACTIVE_TAB_WIDTH);
|
|
385
|
-
}
|
|
386
|
-
}
|
|
387
|
-
activeidChanged(oldValue, newValue) {
|
|
388
|
-
super.activeidChanged(oldValue, newValue);
|
|
389
|
-
this.patchIndicatorStyleTransition();
|
|
390
|
-
}
|
|
391
|
-
tabsChanged() {
|
|
392
|
-
super.tabsChanged();
|
|
393
|
-
this.patchIndicatorStyleTransition();
|
|
394
|
-
}
|
|
395
|
-
tabpanelsChanged() {
|
|
396
|
-
super.tabpanelsChanged();
|
|
397
|
-
this.patchIndicatorStyleTransition();
|
|
398
|
-
}
|
|
399
|
-
patchIndicatorStyleTransition() {
|
|
400
|
-
if (!this.activetab || !this.activeIndicatorRef) return;
|
|
401
|
-
if (this.orientation === TabsOrientation.vertical || !this.showActiveIndicator) return;
|
|
402
|
-
const width = this.activetab.getBoundingClientRect().width;
|
|
403
|
-
this.activeIndicatorRef.style.setProperty(ACTIVE_TAB_WIDTH, `${width}px`);
|
|
404
|
-
}
|
|
405
|
-
}
|
|
406
|
-
__decorate([observable, __metadata("design:type", HTMLElement)], Tabs.prototype, "tablist", void 0);
|
|
13
|
+
class TabPanel extends TabPanel$1 {}
|
|
407
14
|
|
|
408
15
|
let _ = t => t,
|
|
409
|
-
_t
|
|
410
|
-
|
|
411
|
-
const getClasses = ({
|
|
412
|
-
orientation
|
|
413
|
-
}) => classNames('base', [`orientation-${orientation}`, Boolean(orientation)]);
|
|
414
|
-
function TabsTemplate() {
|
|
16
|
+
_t;
|
|
17
|
+
function TabPanelTemplate() {
|
|
415
18
|
return html(_t || (_t = _`
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
${0}
|
|
421
|
-
</div>
|
|
422
|
-
<div class="tabpanel">
|
|
423
|
-
<slot name="tabpanel" ${0}></slot>
|
|
424
|
-
</div>
|
|
425
|
-
</div>
|
|
426
|
-
</template>
|
|
427
|
-
`), getClasses, ref('tablist'), slotted('tabs'), when(x => x.showActiveIndicator, html(_t2 || (_t2 = _`
|
|
428
|
-
<div ${0} class="active-indicator"></div>
|
|
429
|
-
`), ref('activeIndicatorRef'))), slotted('tabpanels'));
|
|
19
|
+
<template slot="tabpanel" role="tabpanel">
|
|
20
|
+
<slot></slot>
|
|
21
|
+
</template>
|
|
22
|
+
`));
|
|
430
23
|
}
|
|
431
24
|
|
|
432
|
-
const
|
|
433
|
-
baseName: '
|
|
434
|
-
template:
|
|
435
|
-
styles: css_248z
|
|
25
|
+
const tabPanelDefinition = TabPanel.compose({
|
|
26
|
+
baseName: 'tab-panel',
|
|
27
|
+
template: TabPanelTemplate
|
|
436
28
|
});
|
|
437
|
-
const
|
|
438
|
-
const
|
|
29
|
+
const tabPanelRegistries = [tabPanelDefinition()];
|
|
30
|
+
const registerTabPanel = registerFactory(tabPanelRegistries);
|
|
439
31
|
|
|
440
|
-
export {
|
|
32
|
+
export { tabPanelDefinition as a, registerTabPanel as r, tabPanelRegistries as t };
|