@vodafone_de/brix-components 7.0.9 → 7.0.11
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/dist/components/Button/index.js +1 -1
- package/dist/components/ButtonAsLink/index.js +1 -1
- package/dist/components/IconLoader/index.js +1 -0
- package/dist/components/InlineLink/index.js +1 -3
- package/dist/components/Link/index.js +1 -3
- package/dist/components/LinkListItem/index.js +1 -3
- package/dist/components/TabGroup/index.d.ts +6 -0
- package/dist/components/TabGroup/index.js +314 -0
- package/dist/components/TabGroup/props.d.ts +53 -0
- package/dist/components/TabGroup/styled.d.ts +7 -0
- package/dist/hooks/useLinkComponent/index.d.ts +19 -9
- package/dist/hooks/useLinkComponent/index.js +3 -4
- package/dist/{index-hMlQuoyx.js → index-hNV7tcRV.js} +1 -3
- package/dist/index.d.ts +2 -0
- package/dist/index.js +147 -134
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
-
import { B as ButtonAsLink, g as getButtonIcon } from "../../index-
|
|
3
|
+
import { B as ButtonAsLink, g as getButtonIcon } from "../../index-hNV7tcRV.js";
|
|
4
4
|
import { r as renderInlineRichTextFromOpenText } from "../../renderInlineRichTextFromOpenText-RvOG3QbI.js";
|
|
5
5
|
import { B as ButtonStyled } from "../../styled-C4eI47I1.js";
|
|
6
6
|
const buttonFullWidth = "full";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import "react/jsx-runtime";
|
|
3
|
-
import { B } from "../../index-
|
|
3
|
+
import { B } from "../../index-hNV7tcRV.js";
|
|
4
4
|
import "../../hooks/useLinkComponent/index.js";
|
|
5
5
|
import "../../filterProps-CBnuV0LI.js";
|
|
6
6
|
import "../../renderInlineRichTextFromOpenText-RvOG3QbI.js";
|
|
@@ -45,9 +45,7 @@ const InlineLinkStyled = styled.span.withConfig({
|
|
|
45
45
|
}
|
|
46
46
|
});
|
|
47
47
|
const InlineLink = (props) => {
|
|
48
|
-
const
|
|
49
|
-
LinkComponent
|
|
50
|
-
} = useLinkComponent();
|
|
48
|
+
const LinkComponent = useLinkComponent();
|
|
51
49
|
return /* @__PURE__ */ jsx(InlineLinkStyled, { ...props, children: /* @__PURE__ */ jsx(LinkComponent, { ...filterPropsForUnstyledComponent(props), children: props.children }) });
|
|
52
50
|
};
|
|
53
51
|
export {
|
|
@@ -11,9 +11,7 @@ const Link = (props) => {
|
|
|
11
11
|
if (isLinkAsButtonProp(props)) {
|
|
12
12
|
return /* @__PURE__ */ jsx(LinkAsButton, { ...props, children: props.children });
|
|
13
13
|
}
|
|
14
|
-
const
|
|
15
|
-
LinkComponent
|
|
16
|
-
} = useLinkComponent();
|
|
14
|
+
const LinkComponent = useLinkComponent();
|
|
17
15
|
return /* @__PURE__ */ jsx(LinkStyled, { ...props, children: /* @__PURE__ */ jsxs(LinkComponent, { ...filterPropsForUnstyledComponent(props), children: [
|
|
18
16
|
renderInlineRichTextFromOpenText(props.children),
|
|
19
17
|
getLinkIcon(props.icon)
|
|
@@ -327,9 +327,7 @@ const LinkListItem = (props) => {
|
|
|
327
327
|
if (isLinkListItemAsButtonProp(props)) {
|
|
328
328
|
return /* @__PURE__ */ jsx(LinkListItemButtonStyled, { ...props, children: Item });
|
|
329
329
|
}
|
|
330
|
-
const
|
|
331
|
-
LinkComponent
|
|
332
|
-
} = useLinkComponent();
|
|
330
|
+
const LinkComponent = useLinkComponent();
|
|
333
331
|
return /* @__PURE__ */ jsx(LinkListItemAnchorStyled, { elevation, orientation, children: /* @__PURE__ */ jsx(LinkComponent, { ...filterPropsForUnstyledComponent(props), children: Item }) });
|
|
334
332
|
};
|
|
335
333
|
export {
|
|
@@ -0,0 +1,314 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsxs, jsx, Fragment } from "react/jsx-runtime";
|
|
3
|
+
import { useState, useRef, useEffect } from "react";
|
|
4
|
+
import IconLoader from "../IconLoader/index.js";
|
|
5
|
+
import { b as iconSizeSm } from "../../styled-DPHfwWsx.js";
|
|
6
|
+
import styled from "styled-components";
|
|
7
|
+
import Container from "../Container/index.js";
|
|
8
|
+
import Flex from "../Flex/index.js";
|
|
9
|
+
import forcedColors from "../../foundations/media-query/forcedColors/index.js";
|
|
10
|
+
import { getBorderColor } from "../../foundations/token/getBorderColor/index.js";
|
|
11
|
+
import { getBorderRadius } from "../../foundations/token/getBorderRadius/index.js";
|
|
12
|
+
import { getBorderWidth } from "../../foundations/token/getBorderWidth/index.js";
|
|
13
|
+
import { getFontWeight } from "../../foundations/token/getFontWeight/index.js";
|
|
14
|
+
import { getHoverColor } from "../../foundations/token/getHoverColor/index.js";
|
|
15
|
+
import { getObjectColor } from "../../foundations/token/getObjectColor/index.js";
|
|
16
|
+
import { getSpacing } from "../../foundations/token/getSpacing/index.js";
|
|
17
|
+
import { c as colorBackgroundNeutral } from "../../BackgroundColor-e0N9tdDR.js";
|
|
18
|
+
import { j as colorBorderSubtle, c as colorBorderFocus } from "../../BorderColor-BummoQ1-.js";
|
|
19
|
+
import { d as borderRadiusSm } from "../../BorderRadius-ClUShVLu.js";
|
|
20
|
+
import { a as borderWidthFocus } from "../../BorderWidth-DfOlyKK7.js";
|
|
21
|
+
import { f as fontWeightBold } from "../../FontWeight-DEBGHbtO.js";
|
|
22
|
+
import { c as colorObjectBrand } from "../../ObjectColor-BZDBuV8H.js";
|
|
23
|
+
import { c as spacingSm, a as spacingXs, e as spacing2Xs } from "../../Spacing-D0HQH9YJ.js";
|
|
24
|
+
import { a as filterProps } from "../../filterProps-CBnuV0LI.js";
|
|
25
|
+
import { d as flexJustifyCenter } from "../../styled-CPUu8mvT.js";
|
|
26
|
+
const tabOrientationHorizontal = "horizontal";
|
|
27
|
+
const tabOrientationVertical = "vertical";
|
|
28
|
+
const tabGroupWidthFull = "full";
|
|
29
|
+
const tabGroupWidthAuto = "auto";
|
|
30
|
+
const TabGroupTabsScrollableContainerStyled = styled.div.withConfig({
|
|
31
|
+
shouldForwardProp: filterProps(),
|
|
32
|
+
displayName: "TabGroupTabsScrollableContainerStyled",
|
|
33
|
+
componentId: "sc-qawwg-0"
|
|
34
|
+
})(({
|
|
35
|
+
width
|
|
36
|
+
}) => ({
|
|
37
|
+
width: width || "100%",
|
|
38
|
+
position: "relative",
|
|
39
|
+
...width === "auto" && {
|
|
40
|
+
overflowX: "auto",
|
|
41
|
+
/* Firefox */
|
|
42
|
+
scrollbarWidth: "none",
|
|
43
|
+
/* IE and Edge */
|
|
44
|
+
msOverflowStyle: "none",
|
|
45
|
+
/* Webkit (Chrome, Safari, Opera) */
|
|
46
|
+
"::-webkit-scrollbar": {
|
|
47
|
+
display: "none"
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}));
|
|
51
|
+
const TabGroupTabsStyled = styled(Flex).withConfig({
|
|
52
|
+
displayName: "TabGroupTabsStyled",
|
|
53
|
+
componentId: "sc-qawwg-1"
|
|
54
|
+
})({
|
|
55
|
+
display: "flex",
|
|
56
|
+
gap: 0,
|
|
57
|
+
width: "fit-content",
|
|
58
|
+
borderBottom: `${getBorderWidth("Divider")} solid ${getBorderColor(colorBorderSubtle)}`,
|
|
59
|
+
...forcedColors({
|
|
60
|
+
borderBottom: `${getBorderWidth("Divider")} solid CanvasText`
|
|
61
|
+
})
|
|
62
|
+
});
|
|
63
|
+
const TabStyled = styled.button.withConfig({
|
|
64
|
+
shouldForwardProp: filterProps(["tabOrientation", "width"]),
|
|
65
|
+
displayName: "TabStyled",
|
|
66
|
+
componentId: "sc-qawwg-2"
|
|
67
|
+
})({
|
|
68
|
+
background: "none",
|
|
69
|
+
border: "none",
|
|
70
|
+
color: "inherit",
|
|
71
|
+
cursor: "pointer",
|
|
72
|
+
display: "flex",
|
|
73
|
+
alignItems: "center",
|
|
74
|
+
whiteSpace: "nowrap",
|
|
75
|
+
padding: getSpacing(spacingSm),
|
|
76
|
+
borderRadius: getBorderRadius(borderRadiusSm),
|
|
77
|
+
justifyContent: flexJustifyCenter,
|
|
78
|
+
"&:focus-visible": {
|
|
79
|
+
outline: "none",
|
|
80
|
+
boxShadow: `inset 0px 0px 0px 4px ${getBorderColor(colorBorderFocus)} `,
|
|
81
|
+
borderRadius: `${getBorderRadius(borderRadiusSm)} ${getBorderRadius(borderRadiusSm)} 0 0`,
|
|
82
|
+
...forcedColors({
|
|
83
|
+
outline: `${getBorderWidth(borderWidthFocus)} solid ${getBorderColor(colorBorderFocus)}`,
|
|
84
|
+
outlineOffset: "-6px",
|
|
85
|
+
borderRadius: `${getBorderRadius(borderRadiusSm)} ${getBorderRadius(borderRadiusSm)} 0 0`
|
|
86
|
+
})
|
|
87
|
+
},
|
|
88
|
+
"&:hover": {
|
|
89
|
+
background: getHoverColor(colorBackgroundNeutral),
|
|
90
|
+
...forcedColors({
|
|
91
|
+
background: "transparent"
|
|
92
|
+
})
|
|
93
|
+
}
|
|
94
|
+
}, ({
|
|
95
|
+
tabOrientation
|
|
96
|
+
}) => ({
|
|
97
|
+
flexDirection: tabOrientation === tabOrientationVertical ? "column" : "row",
|
|
98
|
+
gap: tabOrientation === tabOrientationVertical ? getSpacing(spacingXs) : getSpacing(spacing2Xs)
|
|
99
|
+
}), ({
|
|
100
|
+
width
|
|
101
|
+
}) => ({
|
|
102
|
+
...width === "full" && {
|
|
103
|
+
flex: 1
|
|
104
|
+
}
|
|
105
|
+
}));
|
|
106
|
+
const TabLabelStyled = styled.span.withConfig({
|
|
107
|
+
displayName: "TabLabelStyled",
|
|
108
|
+
componentId: "sc-qawwg-3"
|
|
109
|
+
})({
|
|
110
|
+
'[aria-selected="true"] &': {
|
|
111
|
+
fontWeight: getFontWeight(fontWeightBold)
|
|
112
|
+
}
|
|
113
|
+
});
|
|
114
|
+
const TabGroupIndicatorStyled = styled.div.withConfig({
|
|
115
|
+
displayName: "TabGroupIndicatorStyled",
|
|
116
|
+
componentId: "sc-qawwg-4"
|
|
117
|
+
})({
|
|
118
|
+
position: "absolute",
|
|
119
|
+
bottom: "1px",
|
|
120
|
+
width: "50px",
|
|
121
|
+
height: "4px",
|
|
122
|
+
borderRadius: `${getBorderRadius(borderRadiusSm)} ${getBorderRadius(borderRadiusSm)} 0 0`,
|
|
123
|
+
background: getObjectColor(colorObjectBrand),
|
|
124
|
+
transition: "all 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms",
|
|
125
|
+
...forcedColors({
|
|
126
|
+
background: "SelectedItem"
|
|
127
|
+
})
|
|
128
|
+
});
|
|
129
|
+
const PanelStyled = styled(Container).withConfig({
|
|
130
|
+
displayName: "PanelStyled",
|
|
131
|
+
componentId: "sc-qawwg-5"
|
|
132
|
+
})({
|
|
133
|
+
"&:focus-visible": {
|
|
134
|
+
outline: `4px solid ${getBorderColor(colorBorderFocus)}`,
|
|
135
|
+
borderRadius: `${getBorderRadius(borderRadiusSm)} ${getBorderRadius(borderRadiusSm)} 0 0`,
|
|
136
|
+
...forcedColors({
|
|
137
|
+
outline: "4px solid CanvasText"
|
|
138
|
+
})
|
|
139
|
+
}
|
|
140
|
+
});
|
|
141
|
+
const TabGroup = ({
|
|
142
|
+
tabs,
|
|
143
|
+
tabOrientation = tabOrientationHorizontal,
|
|
144
|
+
value,
|
|
145
|
+
width = tabGroupWidthFull,
|
|
146
|
+
"aria-label": ariaLabel,
|
|
147
|
+
onTabChange
|
|
148
|
+
}) => {
|
|
149
|
+
if (!(tabs == null ? void 0 : tabs.length)) return null;
|
|
150
|
+
const getValueFromUrl = () => {
|
|
151
|
+
if (typeof window === "undefined") return null;
|
|
152
|
+
const hash = window.location.hash;
|
|
153
|
+
if (!hash.startsWith("#tab-")) return null;
|
|
154
|
+
const tabValueFromHash = hash.replace("#tab-", "");
|
|
155
|
+
return tabs.some((tab) => tab.value === tabValueFromHash) ? tabValueFromHash : null;
|
|
156
|
+
};
|
|
157
|
+
const [activeTab, setActiveTab] = useState(() => {
|
|
158
|
+
return value || tabs[0].value || "";
|
|
159
|
+
});
|
|
160
|
+
const [indicatorStyle, setIndicatorStyle] = useState({
|
|
161
|
+
left: 0,
|
|
162
|
+
width: 0
|
|
163
|
+
});
|
|
164
|
+
const tabRefs = useRef({});
|
|
165
|
+
const tabsContainerRef = useRef(null);
|
|
166
|
+
useEffect(() => {
|
|
167
|
+
const handleHashChange = () => {
|
|
168
|
+
const valueFromUrl = getValueFromUrl();
|
|
169
|
+
if (valueFromUrl) {
|
|
170
|
+
setActiveTab(valueFromUrl);
|
|
171
|
+
onTabChange == null ? void 0 : onTabChange(valueFromUrl);
|
|
172
|
+
}
|
|
173
|
+
};
|
|
174
|
+
window.addEventListener("hashchange", handleHashChange);
|
|
175
|
+
handleHashChange();
|
|
176
|
+
return () => window.removeEventListener("hashchange", handleHashChange);
|
|
177
|
+
}, [tabs]);
|
|
178
|
+
useEffect(() => {
|
|
179
|
+
const valueFromUrl = getValueFromUrl();
|
|
180
|
+
if (value !== void 0 && value !== activeTab && !valueFromUrl) {
|
|
181
|
+
setActiveTab(value);
|
|
182
|
+
}
|
|
183
|
+
}, [value]);
|
|
184
|
+
useEffect(() => {
|
|
185
|
+
const valueFromUrl = getValueFromUrl();
|
|
186
|
+
if (valueFromUrl) {
|
|
187
|
+
setActiveTab(valueFromUrl);
|
|
188
|
+
onTabChange == null ? void 0 : onTabChange(valueFromUrl);
|
|
189
|
+
}
|
|
190
|
+
}, []);
|
|
191
|
+
useEffect(() => {
|
|
192
|
+
const activeEl = tabRefs.current[activeTab];
|
|
193
|
+
if (!activeEl) return;
|
|
194
|
+
const updateIndicator = () => {
|
|
195
|
+
setIndicatorStyle({
|
|
196
|
+
left: activeEl.offsetLeft,
|
|
197
|
+
width: activeEl.offsetWidth
|
|
198
|
+
});
|
|
199
|
+
};
|
|
200
|
+
const resizeObserver = new ResizeObserver(() => {
|
|
201
|
+
updateIndicator();
|
|
202
|
+
});
|
|
203
|
+
resizeObserver.observe(activeEl);
|
|
204
|
+
requestAnimationFrame(() => {
|
|
205
|
+
updateIndicator();
|
|
206
|
+
});
|
|
207
|
+
window.addEventListener("resize", updateIndicator);
|
|
208
|
+
return () => {
|
|
209
|
+
resizeObserver.disconnect();
|
|
210
|
+
window.removeEventListener("resize", updateIndicator);
|
|
211
|
+
};
|
|
212
|
+
}, [activeTab, tabs]);
|
|
213
|
+
useEffect(() => {
|
|
214
|
+
if (width !== "auto") return;
|
|
215
|
+
const activeEl = tabRefs.current[activeTab];
|
|
216
|
+
if (activeEl) {
|
|
217
|
+
requestAnimationFrame(() => {
|
|
218
|
+
scrollTabIntoView(activeEl);
|
|
219
|
+
});
|
|
220
|
+
}
|
|
221
|
+
}, [activeTab, width]);
|
|
222
|
+
const scrollTabIntoView = (tabEl) => {
|
|
223
|
+
if (width !== "auto") return;
|
|
224
|
+
const containerEl = tabsContainerRef.current;
|
|
225
|
+
if (!containerEl) return;
|
|
226
|
+
const tabLeft = tabEl.offsetLeft;
|
|
227
|
+
const tabRight = tabLeft + tabEl.offsetWidth;
|
|
228
|
+
const containerScrollLeft = containerEl.scrollLeft;
|
|
229
|
+
const containerWidth = containerEl.offsetWidth;
|
|
230
|
+
if (tabLeft < containerScrollLeft) {
|
|
231
|
+
containerEl.scrollTo({
|
|
232
|
+
left: tabLeft,
|
|
233
|
+
behavior: "smooth"
|
|
234
|
+
});
|
|
235
|
+
} else if (tabRight > containerScrollLeft + containerWidth) {
|
|
236
|
+
containerEl.scrollTo({
|
|
237
|
+
left: tabRight - containerWidth,
|
|
238
|
+
behavior: "smooth"
|
|
239
|
+
});
|
|
240
|
+
}
|
|
241
|
+
};
|
|
242
|
+
const clearHash = () => {
|
|
243
|
+
if (typeof window === "undefined") return;
|
|
244
|
+
const currentHash = window.location.hash.replace("#", "");
|
|
245
|
+
if (currentHash.startsWith("tab-")) {
|
|
246
|
+
history.replaceState(null, "", window.location.pathname + window.location.search);
|
|
247
|
+
}
|
|
248
|
+
};
|
|
249
|
+
const handleTabClick = (newValue) => {
|
|
250
|
+
if (newValue !== activeTab) {
|
|
251
|
+
setActiveTab(newValue);
|
|
252
|
+
onTabChange == null ? void 0 : onTabChange(newValue);
|
|
253
|
+
}
|
|
254
|
+
clearHash();
|
|
255
|
+
const tabEl = tabRefs.current[newValue];
|
|
256
|
+
if (tabEl) scrollTabIntoView(tabEl);
|
|
257
|
+
};
|
|
258
|
+
const handleKeyDown = (e, index) => {
|
|
259
|
+
const lastIndex = tabs.length - 1;
|
|
260
|
+
if (e.key === "ArrowRight" || e.key === "ArrowLeft") {
|
|
261
|
+
const isRight = e.key === "ArrowRight";
|
|
262
|
+
const newIndex = isRight ? index === lastIndex ? 0 : index + 1 : index === 0 ? lastIndex : index - 1;
|
|
263
|
+
const newTabValue = tabs[newIndex].value;
|
|
264
|
+
e.preventDefault();
|
|
265
|
+
const newTabEl = tabRefs.current[newTabValue];
|
|
266
|
+
if (newTabEl) {
|
|
267
|
+
newTabEl.focus();
|
|
268
|
+
scrollTabIntoView(newTabEl);
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
if (e.key === "Enter" || e.key === " ") {
|
|
272
|
+
e.preventDefault();
|
|
273
|
+
const newTabValue = tabs[index].value;
|
|
274
|
+
setActiveTab(newTabValue);
|
|
275
|
+
onTabChange == null ? void 0 : onTabChange(newTabValue);
|
|
276
|
+
clearHash();
|
|
277
|
+
}
|
|
278
|
+
};
|
|
279
|
+
const getTabs = tabs.map((tab, tabIndex) => {
|
|
280
|
+
const tabValue = tab.value;
|
|
281
|
+
const isActive = tabValue === activeTab;
|
|
282
|
+
return /* @__PURE__ */ jsxs(TabStyled, { tabOrientation, width, type: "button", ref: (el) => {
|
|
283
|
+
tabRefs.current[tabValue] = el;
|
|
284
|
+
}, onClick: () => handleTabClick(tabValue), "aria-selected": isActive, tabIndex: isActive ? 0 : -1, role: "tab", id: `tab-${tabValue}`, "aria-controls": `tabpanel-${tabValue}`, onKeyDown: (e) => handleKeyDown(e, tabIndex), children: [
|
|
285
|
+
tab.icon ? /* @__PURE__ */ jsx(IconLoader, { name: tab.icon, size: iconSizeSm }) : null,
|
|
286
|
+
/* @__PURE__ */ jsx(TabLabelStyled, { children: tab.label })
|
|
287
|
+
] }, `tab-${tabIndex}`);
|
|
288
|
+
});
|
|
289
|
+
const getPanels = tabs.map((tab, tabIndex) => {
|
|
290
|
+
const tabValue = tab.value;
|
|
291
|
+
const isActive = tabValue === activeTab;
|
|
292
|
+
return /* @__PURE__ */ jsx(PanelStyled, { role: "tabpanel", id: `tabpanel-${tabValue}`, "aria-labelledby": `tab-${tabValue}`, hidden: !isActive, tabIndex: 0, children: tab.panelContent }, `tabpanel-${tabIndex}`);
|
|
293
|
+
});
|
|
294
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
295
|
+
/* @__PURE__ */ jsxs(TabGroupTabsScrollableContainerStyled, { width, ref: tabsContainerRef, children: [
|
|
296
|
+
/* @__PURE__ */ jsx(TabGroupTabsStyled, { "aria-label": ariaLabel, role: "tablist", children: getTabs }),
|
|
297
|
+
/* @__PURE__ */ jsx(TabGroupIndicatorStyled, { style: indicatorStyle })
|
|
298
|
+
] }),
|
|
299
|
+
getPanels
|
|
300
|
+
] });
|
|
301
|
+
};
|
|
302
|
+
export {
|
|
303
|
+
PanelStyled,
|
|
304
|
+
TabGroupIndicatorStyled,
|
|
305
|
+
TabGroupTabsScrollableContainerStyled,
|
|
306
|
+
TabGroupTabsStyled,
|
|
307
|
+
TabLabelStyled,
|
|
308
|
+
TabStyled,
|
|
309
|
+
TabGroup as default,
|
|
310
|
+
tabGroupWidthAuto,
|
|
311
|
+
tabGroupWidthFull,
|
|
312
|
+
tabOrientationHorizontal,
|
|
313
|
+
tabOrientationVertical
|
|
314
|
+
};
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { IconName } from '@vfde-react/inline-icon-library/IconName';
|
|
2
|
+
import { ButtonHTMLAttributes, HTMLAttributes, ReactNode } from 'react';
|
|
3
|
+
import { PatternProps } from '../../foundations/PatternProps';
|
|
4
|
+
export declare const tabOrientationHorizontal = "horizontal";
|
|
5
|
+
export declare const tabOrientationVertical = "vertical";
|
|
6
|
+
export declare const tabGroupWidthFull = "full";
|
|
7
|
+
export declare const tabGroupWidthAuto = "auto";
|
|
8
|
+
export type TabOrientation = typeof tabOrientationHorizontal | typeof tabOrientationVertical;
|
|
9
|
+
export type TabGroupWidth = typeof tabGroupWidthFull | typeof tabGroupWidthAuto;
|
|
10
|
+
export interface TabProps extends ButtonHTMLAttributes<HTMLInputElement> {
|
|
11
|
+
/**
|
|
12
|
+
* Specify a system icon to be displayed to the left of the label.
|
|
13
|
+
*/
|
|
14
|
+
icon?: IconName;
|
|
15
|
+
/**
|
|
16
|
+
* Label for the tab
|
|
17
|
+
*/
|
|
18
|
+
label: string;
|
|
19
|
+
/**
|
|
20
|
+
* Unique tab value
|
|
21
|
+
*/
|
|
22
|
+
value?: string;
|
|
23
|
+
/**
|
|
24
|
+
* Content of the tab
|
|
25
|
+
*/
|
|
26
|
+
panelContent: ReactNode;
|
|
27
|
+
}
|
|
28
|
+
export interface TabGroupProps extends PatternProps, HTMLAttributes<HTMLDivElement> {
|
|
29
|
+
/**
|
|
30
|
+
* Pin component's name from string to the concrete name
|
|
31
|
+
*/
|
|
32
|
+
component?: 'TabGroup';
|
|
33
|
+
/**
|
|
34
|
+
* List of tabs
|
|
35
|
+
*/
|
|
36
|
+
tabs: TabProps[];
|
|
37
|
+
/**
|
|
38
|
+
* TabGroup tabs orientation, can be horizontal or vertical
|
|
39
|
+
*/
|
|
40
|
+
tabOrientation?: TabOrientation;
|
|
41
|
+
/**
|
|
42
|
+
* TabGroup width, when it's Auto, the TabGroup is scrollable horizontally
|
|
43
|
+
*/
|
|
44
|
+
width?: TabGroupWidth;
|
|
45
|
+
/**
|
|
46
|
+
* Controlled value of the selected tab
|
|
47
|
+
*/
|
|
48
|
+
value: string;
|
|
49
|
+
/**
|
|
50
|
+
* Callback when a tab is selected
|
|
51
|
+
*/
|
|
52
|
+
onTabChange?: (value: string) => void;
|
|
53
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { TabGroupProps } from './props';
|
|
2
|
+
export declare const TabGroupTabsScrollableContainerStyled: import('styled-components/dist/types').IStyledComponentBase<"web", import('styled-components/dist/types').Substitute<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, Pick<TabGroupProps, "width">>> & string;
|
|
3
|
+
export declare const TabGroupTabsStyled: import('styled-components/dist/types').IStyledComponentBase<"web", import('styled-components').FastOmit<import('../Flex').FlexProps, never>> & string & Omit<import('react').FC<import('../Flex').FlexProps>, keyof import('react').Component<any, {}, any>>;
|
|
4
|
+
export declare const TabStyled: import('styled-components/dist/types').IStyledComponentBase<"web", import('styled-components/dist/types').Substitute<import('react').DetailedHTMLProps<import('react').ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, Pick<TabGroupProps, "width" | "tabOrientation">>> & string;
|
|
5
|
+
export declare const TabLabelStyled: import('styled-components/dist/types').IStyledComponentBase<"web", import('styled-components').FastOmit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, never>> & string;
|
|
6
|
+
export declare const TabGroupIndicatorStyled: import('styled-components/dist/types').IStyledComponentBase<"web", import('styled-components').FastOmit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
|
|
7
|
+
export declare const PanelStyled: import('styled-components/dist/types').IStyledComponentBase<"web", import('styled-components').FastOmit<import('../Container').ContainerProps, never>> & string & Omit<import('react').FC<import('../Container').ContainerProps>, keyof import('react').Component<any, {}, any>>;
|
|
@@ -1,11 +1,21 @@
|
|
|
1
|
-
import { ComponentType } from 'react';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
import { AnchorHTMLAttributes, ComponentType } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Props of the link component.
|
|
4
|
+
*/
|
|
5
|
+
export type LinkComponentProps = AnchorHTMLAttributes<HTMLAnchorElement>;
|
|
6
|
+
/**
|
|
7
|
+
* Type of the context.
|
|
8
|
+
*/
|
|
9
|
+
export type LinkContextType = ComponentType<LinkComponentProps>;
|
|
10
|
+
/**
|
|
11
|
+
* Default link component using `<a>`.
|
|
12
|
+
*/
|
|
13
|
+
export declare const DefaultLinkComponent: LinkContextType;
|
|
14
|
+
/**
|
|
15
|
+
* Context for providing a custom link component.
|
|
16
|
+
*/
|
|
10
17
|
export declare const LinkContext: import('react').Context<LinkContextType>;
|
|
18
|
+
/**
|
|
19
|
+
* Hook to access the current link component from context.
|
|
20
|
+
*/
|
|
11
21
|
export declare const useLinkComponent: () => LinkContextType;
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { jsx } from "react/jsx-runtime";
|
|
2
2
|
import { createContext, useContext } from "react";
|
|
3
|
-
const
|
|
4
|
-
|
|
5
|
-
};
|
|
6
|
-
const LinkContext = createContext(defaultContext);
|
|
3
|
+
const DefaultLinkComponent = (props) => /* @__PURE__ */ jsx("a", { ...props });
|
|
4
|
+
const LinkContext = createContext(DefaultLinkComponent);
|
|
7
5
|
const useLinkComponent = () => useContext(LinkContext);
|
|
8
6
|
export {
|
|
7
|
+
DefaultLinkComponent,
|
|
9
8
|
LinkContext,
|
|
10
9
|
useLinkComponent
|
|
11
10
|
};
|
|
@@ -69,9 +69,7 @@ const ButtonAsLinkStyled = styled.span.withConfig({
|
|
|
69
69
|
bottomSpacing
|
|
70
70
|
}));
|
|
71
71
|
const ButtonAsLink = (props) => {
|
|
72
|
-
const
|
|
73
|
-
LinkComponent
|
|
74
|
-
} = useLinkComponent();
|
|
72
|
+
const LinkComponent = useLinkComponent();
|
|
75
73
|
return /* @__PURE__ */ jsx(ButtonAsLinkStyled, { ...props, children: /* @__PURE__ */ jsxs(LinkComponent, { ...filterPropsForUnstyledComponent(props), children: [
|
|
76
74
|
renderInlineRichTextFromOpenText(props.children),
|
|
77
75
|
getButtonIcon(props == null ? void 0 : props.icon)
|
package/dist/index.d.ts
CHANGED
|
@@ -10,6 +10,8 @@ export * from './components/TextList';
|
|
|
10
10
|
export { default as TextList } from './components/TextList';
|
|
11
11
|
export * from './components/TabularPrice';
|
|
12
12
|
export { default as TabularPrice } from './components/TabularPrice';
|
|
13
|
+
export * from './components/TabGroup';
|
|
14
|
+
export { default as TabGroup } from './components/TabGroup';
|
|
13
15
|
export * from './components/Switch';
|
|
14
16
|
export { default as Switch } from './components/Switch';
|
|
15
17
|
export * from './components/SuggestInput';
|
package/dist/index.js
CHANGED
|
@@ -4,76 +4,77 @@ import { default as default4 } from "./components/TimeInput/index.js";
|
|
|
4
4
|
import { default as default5 } from "./components/Textarea/index.js";
|
|
5
5
|
import { R, T, a } from "./index-9io8adeQ.js";
|
|
6
6
|
import { P, T as T2, c, g, f, p, a as a2, e, d, b } from "./index-TImInHXt.js";
|
|
7
|
-
import { default as default6 } from "./components/
|
|
8
|
-
import { default as default7 } from "./components/
|
|
9
|
-
import { default as default8 } from "./components/
|
|
10
|
-
import { default as default9 } from "./components/
|
|
11
|
-
import { default as default10 } from "./components/
|
|
7
|
+
import { PanelStyled, default as default6, TabGroupIndicatorStyled, TabGroupTabsScrollableContainerStyled, TabGroupTabsStyled, TabLabelStyled, TabStyled, tabGroupWidthAuto, tabGroupWidthFull, tabOrientationHorizontal, tabOrientationVertical } from "./components/TabGroup/index.js";
|
|
8
|
+
import { default as default7 } from "./components/Switch/index.js";
|
|
9
|
+
import { default as default8 } from "./components/SuggestInput/index.js";
|
|
10
|
+
import { default as default9 } from "./components/Stepper/index.js";
|
|
11
|
+
import { default as default10 } from "./components/SelectInput/index.js";
|
|
12
|
+
import { default as default11 } from "./components/SearchInput/index.js";
|
|
12
13
|
import { S } from "./index-GwyCjtti.js";
|
|
13
|
-
import { default as
|
|
14
|
-
import { HiddenRadioStyled, default as
|
|
15
|
-
import { default as
|
|
16
|
-
import { default as
|
|
17
|
-
import { default as
|
|
18
|
-
import { default as
|
|
19
|
-
import { default as
|
|
20
|
-
import { default as
|
|
21
|
-
import { default as
|
|
22
|
-
import { default as
|
|
23
|
-
import { default as
|
|
14
|
+
import { default as default12 } from "./components/ResponsiveImage/index.js";
|
|
15
|
+
import { HiddenRadioStyled, default as default13, StarLabelStyled, StarsWrapperStyled } from "./components/Rating/index.js";
|
|
16
|
+
import { default as default14 } from "./components/RadioGroup/index.js";
|
|
17
|
+
import { default as default15 } from "./components/ProductCard/index.js";
|
|
18
|
+
import { default as default16 } from "./components/PickerGroup/index.js";
|
|
19
|
+
import { default as default17, overlayAppearancePrimary, overlayAppearanceSecondary } from "./components/Overlay/index.js";
|
|
20
|
+
import { default as default18, notificationStatusError, notificationStatusInfo, notificationStatusSuccess, notificationStatusWarning } from "./components/Notification/index.js";
|
|
21
|
+
import { default as default19, mediaTextPositionLeft, mediaTextPositionRight, mediaTextPositionTop } from "./components/MediaText/index.js";
|
|
22
|
+
import { default as default20 } from "./components/LoadingSpinner/index.js";
|
|
23
|
+
import { default as default21, linkListItemVariantHorizontal, linkListItemVariantVertical } from "./components/LinkListItem/index.js";
|
|
24
|
+
import { default as default22, linkListVariantColumn, linkListVariantRow } from "./components/LinkList/index.js";
|
|
24
25
|
import { L } from "./index-Cqh8IRpl.js";
|
|
25
|
-
import { default as
|
|
26
|
-
import { default as
|
|
27
|
-
import { default as
|
|
28
|
-
import { default as
|
|
29
|
-
import { default as
|
|
30
|
-
import { default as
|
|
31
|
-
import { default as
|
|
32
|
-
import { default as
|
|
33
|
-
import { default as
|
|
34
|
-
import { default as
|
|
35
|
-
import { default as
|
|
36
|
-
import { default as
|
|
37
|
-
import { default as
|
|
38
|
-
import { default as
|
|
39
|
-
import { default as
|
|
40
|
-
import { default as
|
|
41
|
-
import { default as
|
|
42
|
-
import { default as
|
|
43
|
-
import { default as
|
|
44
|
-
import { default as
|
|
45
|
-
import { default as
|
|
46
|
-
import { default as
|
|
47
|
-
import { default as
|
|
48
|
-
import { default as
|
|
49
|
-
import { default as
|
|
50
|
-
import { default as
|
|
51
|
-
import { default as
|
|
52
|
-
import { default as
|
|
53
|
-
import { default as
|
|
54
|
-
import { default as
|
|
55
|
-
import { default as
|
|
56
|
-
import { default as
|
|
57
|
-
import { default as
|
|
58
|
-
import { default as
|
|
59
|
-
import { default as
|
|
60
|
-
import { default as
|
|
61
|
-
import { default as
|
|
62
|
-
import { default as
|
|
63
|
-
import { default as
|
|
64
|
-
import { default as
|
|
65
|
-
import { default as
|
|
66
|
-
import { default as
|
|
67
|
-
import { default as
|
|
68
|
-
import { default as
|
|
69
|
-
import { default as
|
|
70
|
-
import { B } from "./index-
|
|
71
|
-
import { default as
|
|
72
|
-
import { default as
|
|
73
|
-
import { default as
|
|
26
|
+
import { default as default23 } from "./components/Link/index.js";
|
|
27
|
+
import { default as default24 } from "./components/Legend/index.js";
|
|
28
|
+
import { default as default25 } from "./components/Label/index.js";
|
|
29
|
+
import { default as default26 } from "./components/Input/index.js";
|
|
30
|
+
import { default as default27 } from "./components/InlineLink/index.js";
|
|
31
|
+
import { default as default28 } from "./components/InlineIcon/index.js";
|
|
32
|
+
import { default as default29, imageHeaderPositionLeft, imageHeaderPositionRight, imageHeaderVariantFull, imageHeaderVariantSplit } from "./components/ImageHeader/index.js";
|
|
33
|
+
import { default as default30, aspectRatio16_9, aspectRatio1_1, aspectRatio21_9, aspectRatio32_9, aspectRatio3_4, aspectRatio48_9, horizontalAlignmentCenter, horizontalAlignmentLeft, horizontalAlignmentRight, objectFitContain, objectFitCover, objectFitNone, objectPositionCenter, objectPositionLeftBottom, objectPositionLeftCenter, objectPositionLeftTop, objectPositionRightBottom, objectPositionRightCenter, objectPositionRightTop } from "./components/Image/index.js";
|
|
34
|
+
import { default as default31 } from "./components/IconSnippetList/index.js";
|
|
35
|
+
import { default as default32, iconSnippetAlignCenter, iconSnippetAlignTop, iconSnippetPositionCenter, iconSnippetPositionLeft, iconSnippetSize3Xl, iconSnippetSizeLarge, iconSnippetSizeSmall } from "./components/IconSnippet/index.js";
|
|
36
|
+
import { default as default33 } from "./components/IconLoader/index.js";
|
|
37
|
+
import { default as default34, iconButtonShapeCircle, iconButtonShapeSquare } from "./components/IconButton/index.js";
|
|
38
|
+
import { default as default35, iconSize6xl, iconSize7xl, iconSize8xl, iconSize9xl } from "./components/Icon/index.js";
|
|
39
|
+
import { default as default36 } from "./components/HifiIcon/index.js";
|
|
40
|
+
import { default as default37, headingAlignCenter, headingAlignLeft } from "./components/Heading/index.js";
|
|
41
|
+
import { default as default38 } from "./components/GridItem/index.js";
|
|
42
|
+
import { default as default39 } from "./components/Grid/index.js";
|
|
43
|
+
import { default as default40 } from "./components/GoogleMap/index.js";
|
|
44
|
+
import { default as default41, inputStatusIcons } from "./components/FormHelperStatusIcon/index.js";
|
|
45
|
+
import { default as default42 } from "./components/FormHelperMessage/index.js";
|
|
46
|
+
import { default as default43 } from "./components/FormHelperLabel/index.js";
|
|
47
|
+
import { default as default44 } from "./components/FormElement/index.js";
|
|
48
|
+
import { default as default45 } from "./components/Form/index.js";
|
|
49
|
+
import { default as default46 } from "./components/FootnoteLink/index.js";
|
|
50
|
+
import { default as default47 } from "./components/FootnoteContent/index.js";
|
|
51
|
+
import { default as default48, flexItemAutoGrow, flexItemFullGrow } from "./components/FlexItem/index.js";
|
|
52
|
+
import { default as default49 } from "./components/Flex/index.js";
|
|
53
|
+
import { default as default50 } from "./components/FilterGroup/index.js";
|
|
54
|
+
import { default as default51 } from "./components/Fieldset/index.js";
|
|
55
|
+
import { default as default52 } from "./components/Divider/index.js";
|
|
56
|
+
import { default as default53 } from "./components/DiscoveryCardGroup/index.js";
|
|
57
|
+
import { default as default54, discoveryCardOrientationHorizontal, discoveryCardOrientationVertical } from "./components/DiscoveryCard/index.js";
|
|
58
|
+
import { default as default55 } from "./components/Dialog/index.js";
|
|
59
|
+
import { default as default56 } from "./components/DemoBox/index.js";
|
|
60
|
+
import { default as default57 } from "./components/DateInput/index.js";
|
|
61
|
+
import { default as default58, ContainerAppearanceColor } from "./components/Container/index.js";
|
|
62
|
+
import { default as default59 } from "./components/ConsentMessage/index.js";
|
|
63
|
+
import { default as default60 } from "./components/ColorSwatchGroup/index.js";
|
|
64
|
+
import { default as default61, colorSwatchSizeMedium, colorSwatchSizeSmall } from "./components/ColorSwatch/index.js";
|
|
65
|
+
import { default as default62 } from "./components/Collapsible/index.js";
|
|
66
|
+
import { default as default63 } from "./components/CheckboxGroup/index.js";
|
|
67
|
+
import { default as default64 } from "./components/Checkbox/index.js";
|
|
68
|
+
import { default as default65 } from "./components/Carousel/index.js";
|
|
69
|
+
import { default as default66 } from "./components/Card/index.js";
|
|
70
|
+
import { default as default67 } from "./components/ButtonGroup/index.js";
|
|
71
|
+
import { B } from "./index-hNV7tcRV.js";
|
|
72
|
+
import { default as default68, buttonAutoWidth, buttonFullWidth } from "./components/Button/index.js";
|
|
73
|
+
import { default as default69 } from "./components/BottomBar/index.js";
|
|
74
|
+
import { default as default70, bodyAlignCenter, bodyAlignLeft, bodyAlignRight } from "./components/Body/index.js";
|
|
74
75
|
import { B as B2, a as a3 } from "./index-BdPmdY9v.js";
|
|
75
|
-
import { default as
|
|
76
|
-
import { default as
|
|
76
|
+
import { default as default71 } from "./components/AccordionGroup/index.js";
|
|
77
|
+
import { default as default72, accordionToggleCollapsed, accordionToggleCollapsing, accordionToggleExpanded } from "./components/Accordion/index.js";
|
|
77
78
|
import { getTextDecoration } from "./foundations/token/getTextDecoration/index.js";
|
|
78
79
|
import { getTextColor } from "./foundations/token/getTextColor/index.js";
|
|
79
80
|
import { getSpacing } from "./foundations/token/getSpacing/index.js";
|
|
@@ -98,7 +99,7 @@ import { u } from "./index-Cs0Hw0dj.js";
|
|
|
98
99
|
import { checkThirdPartyConsentStorage, consentStorageFeature, consentStorageItemName, consentStorageKey, useThirdPartyConsent } from "./hooks/useThirdPartyConsent/index.js";
|
|
99
100
|
import { useReducedMotion } from "./hooks/useReducedMotion/index.js";
|
|
100
101
|
import { useMediaQuery } from "./hooks/useMediaQuery/index.js";
|
|
101
|
-
import { LinkContext, useLinkComponent } from "./hooks/useLinkComponent/index.js";
|
|
102
|
+
import { DefaultLinkComponent, LinkContext, useLinkComponent } from "./hooks/useLinkComponent/index.js";
|
|
102
103
|
import { useForcedColors } from "./hooks/useForcedColors/index.js";
|
|
103
104
|
import { useFocusWithin } from "./hooks/useFocusWithin/index.js";
|
|
104
105
|
import { a as a4, i } from "./props-DDpgcryb.js";
|
|
@@ -106,88 +107,96 @@ import { I, m as m2, f as f2, i as i2, g as g2, h, j, d as d2, c as c2, b as b2,
|
|
|
106
107
|
import { e as e3, d as d3, c as c3, b as b3, f as f3, a as a6 } from "./styled-CPUu8mvT.js";
|
|
107
108
|
import { C } from "./styled-DINwm57V.js";
|
|
108
109
|
export {
|
|
109
|
-
|
|
110
|
-
|
|
110
|
+
default72 as Accordion,
|
|
111
|
+
default71 as AccordionGroup,
|
|
111
112
|
B2 as Badge,
|
|
112
113
|
a3 as BadgeAppearanceColor,
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
114
|
+
default70 as Body,
|
|
115
|
+
default69 as BottomBar,
|
|
116
|
+
default68 as Button,
|
|
116
117
|
B as ButtonAsLink,
|
|
117
|
-
|
|
118
|
-
|
|
118
|
+
default67 as ButtonGroup,
|
|
119
|
+
default66 as Card,
|
|
119
120
|
C as CardAppearanceColor,
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
121
|
+
default65 as Carousel,
|
|
122
|
+
default64 as Checkbox,
|
|
123
|
+
default63 as CheckboxGroup,
|
|
124
|
+
default62 as Collapsible,
|
|
125
|
+
default61 as ColorSwatch,
|
|
126
|
+
default60 as ColorSwatchGroup,
|
|
127
|
+
default59 as ConsentMessage,
|
|
128
|
+
default58 as Container,
|
|
128
129
|
ContainerAppearanceColor,
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
130
|
+
default57 as DateInput,
|
|
131
|
+
DefaultLinkComponent,
|
|
132
|
+
default56 as DemoBox,
|
|
133
|
+
default55 as Dialog,
|
|
134
|
+
default54 as DiscoveryCard,
|
|
135
|
+
default53 as DiscoveryCardGroup,
|
|
136
|
+
default52 as Divider,
|
|
137
|
+
default51 as Fieldset,
|
|
138
|
+
default50 as FilterGroup,
|
|
139
|
+
default49 as Flex,
|
|
140
|
+
default48 as FlexItem,
|
|
141
|
+
default47 as FootnoteContent,
|
|
142
|
+
default46 as FootnoteLink,
|
|
143
|
+
default45 as Form,
|
|
144
|
+
default44 as FormElement,
|
|
145
|
+
default43 as FormHelperLabel,
|
|
146
|
+
default42 as FormHelperMessage,
|
|
147
|
+
default41 as FormHelperStatusIcon,
|
|
146
148
|
GlobalStyle,
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
149
|
+
default40 as GoogleMap,
|
|
150
|
+
default39 as Grid,
|
|
151
|
+
default38 as GridItem,
|
|
152
|
+
default37 as Heading,
|
|
151
153
|
HiddenRadioStyled,
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
154
|
+
default36 as HifiIcon,
|
|
155
|
+
default35 as Icon,
|
|
156
|
+
default34 as IconButton,
|
|
157
|
+
default33 as IconLoader,
|
|
158
|
+
default32 as IconSnippet,
|
|
159
|
+
default31 as IconSnippetList,
|
|
158
160
|
I as IconWithAccent,
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
161
|
+
default30 as Image,
|
|
162
|
+
default29 as ImageHeader,
|
|
163
|
+
default28 as InlineIcon,
|
|
162
164
|
m2 as InlineIconStyled,
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
165
|
+
default27 as InlineLink,
|
|
166
|
+
default26 as Input,
|
|
167
|
+
default25 as Label,
|
|
168
|
+
default24 as Legend,
|
|
169
|
+
default23 as Link,
|
|
168
170
|
L as LinkAsButton,
|
|
169
171
|
LinkContext,
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
172
|
+
default22 as LinkList,
|
|
173
|
+
default21 as LinkListItem,
|
|
174
|
+
default20 as LoadingSpinner,
|
|
175
|
+
default19 as MediaText,
|
|
176
|
+
default18 as Notification,
|
|
177
|
+
default17 as Overlay,
|
|
178
|
+
PanelStyled,
|
|
179
|
+
default16 as PickerGroup,
|
|
177
180
|
P as Price,
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
181
|
+
default15 as ProductCard,
|
|
182
|
+
default14 as RadioGroup,
|
|
183
|
+
default13 as Rating,
|
|
184
|
+
default12 as ResponsiveImage,
|
|
182
185
|
R as RichText,
|
|
183
186
|
S as ScreenreaderOnly,
|
|
184
|
-
|
|
185
|
-
|
|
187
|
+
default11 as SearchInput,
|
|
188
|
+
default10 as SelectInput,
|
|
186
189
|
StarLabelStyled,
|
|
187
190
|
StarsWrapperStyled,
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
+
default9 as Stepper,
|
|
192
|
+
default8 as SuggestInput,
|
|
193
|
+
default7 as Switch,
|
|
194
|
+
default6 as TabGroup,
|
|
195
|
+
TabGroupIndicatorStyled,
|
|
196
|
+
TabGroupTabsScrollableContainerStyled,
|
|
197
|
+
TabGroupTabsStyled,
|
|
198
|
+
TabLabelStyled,
|
|
199
|
+
TabStyled,
|
|
191
200
|
T2 as TabularPrice,
|
|
192
201
|
T as TextList,
|
|
193
202
|
a as TextListItem,
|
|
@@ -316,6 +325,10 @@ export {
|
|
|
316
325
|
d as priceSizeMd,
|
|
317
326
|
b as priceSizeSm,
|
|
318
327
|
reducedMotionQuery,
|
|
328
|
+
tabGroupWidthAuto,
|
|
329
|
+
tabGroupWidthFull,
|
|
330
|
+
tabOrientationHorizontal,
|
|
331
|
+
tabOrientationVertical,
|
|
319
332
|
useFocusWithin,
|
|
320
333
|
useForcedColors,
|
|
321
334
|
useLinkComponent,
|