@gtivr4/a1-design-system-react 0.15.0 → 0.19.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.
- package/package.json +3 -2
- package/src/color-scheme.css +2 -0
- package/src/components/accordion/accordion.css +6 -0
- package/src/components/autocomplete/Autocomplete.d.ts +53 -0
- package/src/components/autocomplete/Autocomplete.jsx +380 -0
- package/src/components/autocomplete/autocomplete.css +346 -0
- package/src/components/banner/Banner.d.ts +9 -2
- package/src/components/banner/Banner.jsx +32 -6
- package/src/components/banner/banner.css +81 -0
- package/src/components/bottom-sheet/BottomSheet.d.ts +22 -0
- package/src/components/bottom-sheet/BottomSheet.jsx +154 -0
- package/src/components/bottom-sheet/bottom-sheet.css +113 -0
- package/src/components/code/Code.d.ts +4 -0
- package/src/components/code/Code.jsx +45 -2
- package/src/components/code/code.css +23 -0
- package/src/components/data-table/DataTable.jsx +11 -1
- package/src/components/data-table/data-table.css +19 -0
- package/src/components/figure/Figure.d.ts +7 -0
- package/src/components/figure/Figure.jsx +23 -2
- package/src/components/figure/figure.css +25 -0
- package/src/components/grid/Grid.d.ts +3 -1
- package/src/components/grid/Grid.jsx +10 -0
- package/src/components/grid/grid.css +11 -0
- package/src/components/page-layout/page-layout.css +10 -4
- package/src/components/page-nav/PageNav.jsx +29 -8
- package/src/components/page-nav/page-nav.css +13 -0
- package/src/components/paragraph/Paragraph.d.ts +2 -0
- package/src/components/paragraph/Paragraph.jsx +4 -0
- package/src/components/paragraph/paragraph.css +6 -6
- package/src/components/segmented-control/SegmentedControl.d.ts +8 -0
- package/src/components/segmented-control/SegmentedControl.jsx +16 -3
- package/src/components/segmented-control/segmented.css +31 -1
- package/src/components/slider/slider.css +10 -2
- package/src/components/split-button/SplitButton.jsx +3 -1
- package/src/components/tabs/tabs.css +3 -0
- package/src/components/toolbar/Toolbar.d.ts +7 -0
- package/src/components/toolbar/Toolbar.jsx +13 -5
- package/src/components/top-header/top-header.css +2 -0
- package/src/components/tree-menu/TreeMenu.jsx +11 -7
- package/src/index.d.ts +71 -0
- package/src/index.js +2 -0
- package/src/themes.css +293 -0
- package/src/tokens.css +22 -1
|
@@ -5,6 +5,7 @@ const colors = ["default", "muted"];
|
|
|
5
5
|
const breakpoints = ["xs", "sm", "md", "lg", "xl"];
|
|
6
6
|
const textWraps = ["balance"];
|
|
7
7
|
const aligns = ["left", "center", "right", "start", "end"];
|
|
8
|
+
const weights = ["regular", "medium", "semibold", "bold"];
|
|
8
9
|
|
|
9
10
|
function isResponsiveSize(size) {
|
|
10
11
|
return size && typeof size === "object" && !Array.isArray(size);
|
|
@@ -31,6 +32,7 @@ export function Paragraph({
|
|
|
31
32
|
color = "default",
|
|
32
33
|
textWrap,
|
|
33
34
|
align,
|
|
35
|
+
weight,
|
|
34
36
|
className = "",
|
|
35
37
|
style,
|
|
36
38
|
...props
|
|
@@ -39,6 +41,7 @@ export function Paragraph({
|
|
|
39
41
|
const resolvedColor = colors.includes(color) ? color : "default";
|
|
40
42
|
const resolvedTextWrap = textWraps.includes(textWrap) ? textWrap : null;
|
|
41
43
|
const resolvedAlign = aligns.includes(align) ? align : null;
|
|
44
|
+
const resolvedWeight = weights.includes(weight) ? weight : null;
|
|
42
45
|
const responsiveStyle = getResponsiveSizeStyle(size);
|
|
43
46
|
const resolvedStyle = Object.keys(responsiveStyle).length
|
|
44
47
|
? { ...responsiveStyle, ...style }
|
|
@@ -50,6 +53,7 @@ export function Paragraph({
|
|
|
50
53
|
resolvedColor !== "default" && `a1-paragraph--${resolvedColor}`,
|
|
51
54
|
resolvedTextWrap && `a1-paragraph--wrap-${resolvedTextWrap}`,
|
|
52
55
|
resolvedAlign && `a1-paragraph--align-${resolvedAlign}`,
|
|
56
|
+
resolvedWeight && `a1-paragraph--weight-${resolvedWeight}`,
|
|
53
57
|
className
|
|
54
58
|
]
|
|
55
59
|
.filter(Boolean)
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
margin: 0;
|
|
3
3
|
font-family: var(--component-paragraph-font-family);
|
|
4
4
|
font-size: var(--a1-paragraph-responsive-size, var(--a1-paragraph-size));
|
|
5
|
-
font-weight: var(--component-paragraph-font-weight);
|
|
5
|
+
font-weight: var(--a1-paragraph-weight, var(--component-paragraph-font-weight));
|
|
6
6
|
line-height: var(--component-paragraph-font-line-height);
|
|
7
7
|
color: var(--a1-paragraph-color, var(--semantic-color-text-default));
|
|
8
8
|
}
|
|
@@ -39,6 +39,11 @@
|
|
|
39
39
|
|
|
40
40
|
.a1-paragraph--muted { --a1-paragraph-color: var(--semantic-color-text-muted); }
|
|
41
41
|
|
|
42
|
+
.a1-paragraph--weight-regular { --a1-paragraph-weight: var(--base-font-weight-regular); }
|
|
43
|
+
.a1-paragraph--weight-medium { --a1-paragraph-weight: var(--base-font-weight-medium); }
|
|
44
|
+
.a1-paragraph--weight-semibold { --a1-paragraph-weight: var(--base-font-weight-semibold); }
|
|
45
|
+
.a1-paragraph--weight-bold { --a1-paragraph-weight: var(--base-font-weight-bold); }
|
|
46
|
+
|
|
42
47
|
/* Text wrap */
|
|
43
48
|
.a1-paragraph--wrap-balance { text-wrap: balance; }
|
|
44
49
|
|
|
@@ -48,8 +53,3 @@
|
|
|
48
53
|
.a1-paragraph--align-right { text-align: end; }
|
|
49
54
|
.a1-paragraph--align-start { text-align: start; }
|
|
50
55
|
.a1-paragraph--align-end { text-align: end; }
|
|
51
|
-
|
|
52
|
-
.a1-paragraph + .a1-paragraph,
|
|
53
|
-
.a1-paragraph + .a1-heading {
|
|
54
|
-
margin-top: 1.5em;
|
|
55
|
-
}
|
|
@@ -18,6 +18,14 @@ export interface SegmentedControlProps extends React.HTMLAttributes<HTMLDivEleme
|
|
|
18
18
|
fullWidth?: boolean;
|
|
19
19
|
/** Height scale. Default: "md" */
|
|
20
20
|
size?: "sm" | "md" | "lg";
|
|
21
|
+
/**
|
|
22
|
+
* Label display. `"all"` (default) shows every option's label. `"selected"`
|
|
23
|
+
* shows the label only on the selected option; the rest render icon-only
|
|
24
|
+
* (using each option's `ariaLabel`/`label` for its accessible name). Options
|
|
25
|
+
* without an icon always show their label so they never render blank.
|
|
26
|
+
* "none" hides every label (fully icon-only).
|
|
27
|
+
*/
|
|
28
|
+
labelMode?: "all" | "selected" | "none";
|
|
21
29
|
}
|
|
22
30
|
|
|
23
31
|
export declare function SegmentedControl(props: SegmentedControlProps): React.ReactElement;
|
|
@@ -11,6 +11,7 @@ export function SegmentedControl({
|
|
|
11
11
|
onChange,
|
|
12
12
|
fullWidth = false,
|
|
13
13
|
size,
|
|
14
|
+
labelMode = "all",
|
|
14
15
|
...props
|
|
15
16
|
}) {
|
|
16
17
|
const items = options.map(normalize);
|
|
@@ -52,8 +53,20 @@ export function SegmentedControl({
|
|
|
52
53
|
onKeyDown={handleKeyDown}
|
|
53
54
|
>
|
|
54
55
|
{items.map((opt) => {
|
|
55
|
-
const iconOnly = Boolean(opt.icon) && !opt.label;
|
|
56
56
|
const isSelected = value === opt.value;
|
|
57
|
+
// labelMode controls which segments show their text label:
|
|
58
|
+
// "all" (default) — every segment.
|
|
59
|
+
// "selected" — only the selected segment.
|
|
60
|
+
// "none" — none of them (fully icon-only).
|
|
61
|
+
// An option with no icon always shows its label so it never goes blank.
|
|
62
|
+
const wantsLabel =
|
|
63
|
+
Boolean(opt.label) &&
|
|
64
|
+
(labelMode === "none"
|
|
65
|
+
? !opt.icon
|
|
66
|
+
: labelMode === "selected"
|
|
67
|
+
? (isSelected || !opt.icon)
|
|
68
|
+
: true);
|
|
69
|
+
const iconOnly = Boolean(opt.icon) && !wantsLabel;
|
|
57
70
|
|
|
58
71
|
return (
|
|
59
72
|
<button
|
|
@@ -61,7 +74,7 @@ export function SegmentedControl({
|
|
|
61
74
|
role="radio"
|
|
62
75
|
type="button"
|
|
63
76
|
aria-checked={isSelected}
|
|
64
|
-
aria-label={iconOnly ? (opt.ariaLabel ?? opt.value) : undefined}
|
|
77
|
+
aria-label={iconOnly ? (opt.ariaLabel ?? opt.label ?? opt.value) : undefined}
|
|
65
78
|
tabIndex={isSelected ? 0 : -1}
|
|
66
79
|
className={[
|
|
67
80
|
"a1-segment",
|
|
@@ -72,7 +85,7 @@ export function SegmentedControl({
|
|
|
72
85
|
onClick={() => onChange?.(opt.value)}
|
|
73
86
|
>
|
|
74
87
|
{opt.icon && <Icon name={opt.icon} className="a1-segment__icon" />}
|
|
75
|
-
{opt.label}
|
|
88
|
+
{wantsLabel ? opt.label : null}
|
|
76
89
|
</button>
|
|
77
90
|
);
|
|
78
91
|
})}
|
|
@@ -13,6 +13,9 @@
|
|
|
13
13
|
|
|
14
14
|
.a1-segmented--full-width {
|
|
15
15
|
display: flex;
|
|
16
|
+
/* Fill the container so the equal-width segments actually stretch — `display:
|
|
17
|
+
flex` alone leaves it content-width inside a centering flex/grid parent. */
|
|
18
|
+
inline-size: 100%;
|
|
16
19
|
}
|
|
17
20
|
|
|
18
21
|
/* ─── Segment button ──────────────────────────────────────────────────────── */
|
|
@@ -58,10 +61,27 @@
|
|
|
58
61
|
font-size: var(--semantic-font-size-body-sm);
|
|
59
62
|
}
|
|
60
63
|
|
|
64
|
+
/* Small: tighter padding and a font size one step down from the default. */
|
|
65
|
+
.a1-segmented--sm .a1-segment {
|
|
66
|
+
padding: var(--component-segmented-segment-padding-block-sm)
|
|
67
|
+
var(--component-segmented-segment-padding-inline-sm);
|
|
68
|
+
font-size: var(--semantic-font-size-body-xs);
|
|
69
|
+
/* Tighter icon↔label gap at sm. */
|
|
70
|
+
gap: var(--base-spacing-4);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
/* Large: roomier padding and a font size one step up. */
|
|
74
|
+
.a1-segmented--lg .a1-segment {
|
|
75
|
+
padding: var(--component-segmented-segment-padding-block-lg)
|
|
76
|
+
var(--component-segmented-segment-padding-inline-lg);
|
|
77
|
+
font-size: var(--semantic-font-size-body-md);
|
|
78
|
+
}
|
|
79
|
+
|
|
61
80
|
/* ─── Icon ────────────────────────────────────────────────────────────────── */
|
|
62
81
|
|
|
63
82
|
.a1-segment__icon {
|
|
64
|
-
|
|
83
|
+
/* One step larger than the label so the glyph reads clearly at the md/lg sizes. */
|
|
84
|
+
font-size: 1.25em;
|
|
65
85
|
}
|
|
66
86
|
|
|
67
87
|
/* Icon-only: match inline padding to block padding so the segment is square */
|
|
@@ -69,6 +89,16 @@
|
|
|
69
89
|
padding-inline: var(--component-segmented-segment-padding-block);
|
|
70
90
|
}
|
|
71
91
|
|
|
92
|
+
/* Small: a larger icon and tighter horizontal padding per segment (so an
|
|
93
|
+
icon-only sm strip stays compact). */
|
|
94
|
+
.a1-segmented--sm .a1-segment__icon {
|
|
95
|
+
font-size: 1.5em;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
.a1-segmented--sm .a1-segment--icon-only {
|
|
99
|
+
padding-inline: var(--component-segmented-segment-padding-block-sm);
|
|
100
|
+
}
|
|
101
|
+
|
|
72
102
|
/* ─── Dark mode ───────────────────────────────────────────────────────────── */
|
|
73
103
|
|
|
74
104
|
.a1-theme-dark .a1-segment:not([aria-checked="true"]),
|
|
@@ -25,8 +25,10 @@
|
|
|
25
25
|
/* ── Sizes (match the field family: compact / default / comfortable) ─────────── */
|
|
26
26
|
|
|
27
27
|
.a1-slider--compact {
|
|
28
|
-
|
|
29
|
-
|
|
28
|
+
/* Track + thumb are one step up from the smallest scale so the compact slider
|
|
29
|
+
stays grabbable; the label/detent text keeps the compact field-family size. */
|
|
30
|
+
--a1-slider-track-height: var(--base-spacing-8);
|
|
31
|
+
--a1-slider-thumb-size: var(--base-spacing-20);
|
|
30
32
|
--a1-slider-label-size: var(--semantic-font-size-form-label-compact);
|
|
31
33
|
--a1-slider-label-weight: var(--component-field-compact-label-font-weight);
|
|
32
34
|
--a1-slider-detent-size: var(--semantic-font-size-body-xs);
|
|
@@ -222,6 +224,12 @@
|
|
|
222
224
|
.a1-slider--disabled {
|
|
223
225
|
--a1-slider-fill-color: var(--semantic-color-border-default);
|
|
224
226
|
--a1-slider-thumb-color: var(--semantic-color-border-default);
|
|
227
|
+
--a1-slider-active-color: var(--semantic-color-text-muted);
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
.a1-slider--disabled .a1-slider__input,
|
|
231
|
+
.a1-slider--disabled .a1-slider__track,
|
|
232
|
+
.a1-slider--disabled .a1-slider__ticks {
|
|
225
233
|
opacity: 0.6;
|
|
226
234
|
}
|
|
227
235
|
|
|
@@ -32,6 +32,7 @@ export function SplitButton({
|
|
|
32
32
|
}) {
|
|
33
33
|
const [open, setOpen] = useState(false);
|
|
34
34
|
const toggleRef = useRef(null);
|
|
35
|
+
const rootRef = useRef(null);
|
|
35
36
|
|
|
36
37
|
const resolvedVariant = variants.includes(variant) ? variant : "primary";
|
|
37
38
|
const resolvedSize = sizes.includes(size) ? size : "md";
|
|
@@ -48,6 +49,7 @@ export function SplitButton({
|
|
|
48
49
|
|
|
49
50
|
return (
|
|
50
51
|
<div
|
|
52
|
+
ref={rootRef}
|
|
51
53
|
className={["a1-split-button", isInert && "a1-split-button--disabled", className].filter(Boolean).join(" ")}
|
|
52
54
|
{...rest}
|
|
53
55
|
>
|
|
@@ -75,7 +77,7 @@ export function SplitButton({
|
|
|
75
77
|
>
|
|
76
78
|
<Icon name="arrow_drop_down" className="a1-split-button__caret" aria-hidden="true" />
|
|
77
79
|
</button>
|
|
78
|
-
<Menu open={open} onClose={() => setOpen(false)} anchorRef={
|
|
80
|
+
<Menu open={open} onClose={() => setOpen(false)} anchorRef={rootRef} aria-label={menuLabel}>
|
|
79
81
|
{actions.map((action) => (
|
|
80
82
|
<MenuItem
|
|
81
83
|
key={action.id}
|
|
@@ -64,6 +64,9 @@
|
|
|
64
64
|
.a1-tab-list--scrollable {
|
|
65
65
|
flex: 1;
|
|
66
66
|
overflow-x: auto;
|
|
67
|
+
/* Setting overflow-x alone makes the browser compute overflow-y to `auto`,
|
|
68
|
+
which lets a sub-pixel of height add a stray vertical scroll. Pin it. */
|
|
69
|
+
overflow-y: hidden;
|
|
67
70
|
scrollbar-width: none;
|
|
68
71
|
}
|
|
69
72
|
|
|
@@ -116,6 +116,13 @@ export interface ToolbarGroupProps {
|
|
|
116
116
|
columns?: number;
|
|
117
117
|
/** Show option labels as text; boolean or a responsive breakpoint object. Default: false (icon-only) */
|
|
118
118
|
showLabels?: ToolbarShowLabel;
|
|
119
|
+
/**
|
|
120
|
+
* `"all"` (default) honours `showLabels` for every option. `"selected"` shows
|
|
121
|
+
* the label only on the currently selected option; the rest render icon/swatch-only
|
|
122
|
+
* and a `"none"`/empty value falls back to the standard none icon. Use it for a
|
|
123
|
+
* swatch picker where only the chosen swatch is named (e.g. Section surface/gradient).
|
|
124
|
+
*/
|
|
125
|
+
labelMode?: "all" | "selected";
|
|
119
126
|
"aria-label"?: string;
|
|
120
127
|
disabled?: boolean;
|
|
121
128
|
className?: string;
|
|
@@ -108,8 +108,8 @@ export function Toolbar({
|
|
|
108
108
|
}
|
|
109
109
|
|
|
110
110
|
/** Visual separator between tools within a Toolbar. */
|
|
111
|
-
export function ToolbarDivider() {
|
|
112
|
-
return <span className="a1-toolbar__divider" role="separator" aria-orientation="vertical" />;
|
|
111
|
+
export function ToolbarDivider({ className = "", ...rest }) {
|
|
112
|
+
return <span className={cx("a1-toolbar__divider", className)} role="separator" aria-orientation="vertical" {...rest} />;
|
|
113
113
|
}
|
|
114
114
|
|
|
115
115
|
function ToolButtonContent({ icon, label, showLabel, swatch }) {
|
|
@@ -196,6 +196,7 @@ export function ToolbarMenu({
|
|
|
196
196
|
disabled = false,
|
|
197
197
|
"aria-label": ariaLabel,
|
|
198
198
|
className = "",
|
|
199
|
+
...rest
|
|
199
200
|
}) {
|
|
200
201
|
const [open, setOpen] = useState(false);
|
|
201
202
|
const btnRef = useRef(null);
|
|
@@ -215,6 +216,7 @@ export function ToolbarMenu({
|
|
|
215
216
|
title={label}
|
|
216
217
|
disabled={disabled}
|
|
217
218
|
onClick={() => setOpen((o) => !o)}
|
|
219
|
+
{...rest}
|
|
218
220
|
>
|
|
219
221
|
<ToolButtonContent icon={buttonIcon} label={label} showLabel={showLabel} />
|
|
220
222
|
<Icon name="arrow_drop_down" size="sm" className="a1-toolbar__caret" />
|
|
@@ -248,9 +250,11 @@ export function ToolbarGroup({
|
|
|
248
250
|
options = [],
|
|
249
251
|
columns,
|
|
250
252
|
showLabels = false,
|
|
253
|
+
labelMode = "all",
|
|
251
254
|
"aria-label": ariaLabel,
|
|
252
255
|
disabled = false,
|
|
253
256
|
className = "",
|
|
257
|
+
...rest
|
|
254
258
|
}) {
|
|
255
259
|
const btnRefs = useRef([]);
|
|
256
260
|
const grid = typeof columns === "number" && columns > 0;
|
|
@@ -295,6 +299,7 @@ export function ToolbarGroup({
|
|
|
295
299
|
aria-label={ariaLabel}
|
|
296
300
|
className={cx("a1-toolbar__group", grid && "a1-toolbar__group--grid", className)}
|
|
297
301
|
style={style}
|
|
302
|
+
{...rest}
|
|
298
303
|
>
|
|
299
304
|
{options.map((opt, i) => {
|
|
300
305
|
const selected = i === selectedIndex;
|
|
@@ -302,7 +307,10 @@ export function ToolbarGroup({
|
|
|
302
307
|
// selected) is the single tab stop for the group.
|
|
303
308
|
const tabIndex = selected || (selectedIndex === -1 && i === 0) ? 0 : -1;
|
|
304
309
|
const optLabel = opt.label ?? String(opt.value);
|
|
305
|
-
|
|
310
|
+
// `labelMode="selected"` shows the label only on the selected option;
|
|
311
|
+
// the rest fall back to icon/swatch-only (and "none" to its icon).
|
|
312
|
+
const optShowLabel = labelMode === "selected" ? selected : showLabels;
|
|
313
|
+
const icon = opt.icon ?? (!labelAlwaysShown(optShowLabel) && isNoneValue(opt.value) ? TOOLBAR_NONE_ICON : undefined);
|
|
306
314
|
return (
|
|
307
315
|
<button
|
|
308
316
|
key={String(opt.value)}
|
|
@@ -310,7 +318,7 @@ export function ToolbarGroup({
|
|
|
310
318
|
type="button"
|
|
311
319
|
role="radio"
|
|
312
320
|
aria-checked={selected}
|
|
313
|
-
aria-label={toolAriaLabel(
|
|
321
|
+
aria-label={toolAriaLabel(optShowLabel, optLabel)}
|
|
314
322
|
title={optLabel}
|
|
315
323
|
tabIndex={tabIndex}
|
|
316
324
|
disabled={disabled || opt.disabled}
|
|
@@ -318,7 +326,7 @@ export function ToolbarGroup({
|
|
|
318
326
|
onClick={() => onChange?.(opt.value)}
|
|
319
327
|
onKeyDown={(e) => handleKeyDown(e, i)}
|
|
320
328
|
>
|
|
321
|
-
<ToolButtonContent icon={icon} label={opt.label} showLabel={
|
|
329
|
+
<ToolButtonContent icon={icon} label={opt.label} showLabel={optShowLabel} swatch={opt.swatch} />
|
|
322
330
|
</button>
|
|
323
331
|
);
|
|
324
332
|
})}
|
|
@@ -482,16 +482,20 @@ export function TreeMenu({
|
|
|
482
482
|
|
|
483
483
|
if (!showExpandControls) return tree;
|
|
484
484
|
|
|
485
|
+
// One toggle: if anything is expanded, collapse everything; otherwise expand all.
|
|
486
|
+
const anyExpanded = expandedIds.size > 0;
|
|
487
|
+
|
|
485
488
|
return (
|
|
486
489
|
<div className="a1-tree-menu-root">
|
|
487
490
|
<div className="a1-tree-menu__controls">
|
|
488
|
-
<button
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
491
|
+
<button
|
|
492
|
+
type="button"
|
|
493
|
+
className="a1-tree-menu__control-btn"
|
|
494
|
+
aria-expanded={anyExpanded}
|
|
495
|
+
onClick={anyExpanded ? handleCollapseAll : handleExpandAll}
|
|
496
|
+
>
|
|
497
|
+
<Icon name={anyExpanded ? 'unfold_less' : 'unfold_more'} />
|
|
498
|
+
{anyExpanded ? 'Collapse all' : 'Expand all'}
|
|
495
499
|
</button>
|
|
496
500
|
</div>
|
|
497
501
|
{tree}
|
package/src/index.d.ts
ADDED
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
// Aggregated type entry — generated to mirror index.js so TS consumers (and
|
|
2
|
+
// design-sync) see the component exports. Regenerate if index.js changes.
|
|
3
|
+
|
|
4
|
+
export { Accordion } from "./components/accordion/Accordion";
|
|
5
|
+
export { ContextMenu } from "./components/context-menu/ContextMenu";
|
|
6
|
+
export { TreeMenu } from "./components/tree-menu/TreeMenu";
|
|
7
|
+
export { Calendar } from "./components/calendar/Calendar";
|
|
8
|
+
export { PageNav } from "./components/page-nav/PageNav";
|
|
9
|
+
export { Blockquote } from "./components/blockquote/Blockquote";
|
|
10
|
+
export { Breadcrumb } from "./components/breadcrumb/Breadcrumb";
|
|
11
|
+
export { Notification } from "./components/notification/Notification";
|
|
12
|
+
export { Snackbar } from "./components/snackbar/Snackbar";
|
|
13
|
+
export { StatusBar } from "./components/status-bar/StatusBar";
|
|
14
|
+
export { CircularProgress } from "./components/circular-progress/CircularProgress";
|
|
15
|
+
export { StepTracker } from "./components/step-tracker/StepTracker";
|
|
16
|
+
export { Bleed } from "./components/bleed/Bleed";
|
|
17
|
+
export { IconButton } from "./components/icon-button/IconButton";
|
|
18
|
+
export { Button } from "./components/button/Button";
|
|
19
|
+
export { SplitButton } from "./components/split-button/SplitButton";
|
|
20
|
+
export { ButtonContainer } from "./components/button-container/ButtonContainer";
|
|
21
|
+
export { Card } from "./components/card/Card";
|
|
22
|
+
export { Cluster } from "./components/cluster/Cluster";
|
|
23
|
+
export { Code } from "./components/code/Code";
|
|
24
|
+
export { DefinitionList } from "./components/definition-list/DefinitionList";
|
|
25
|
+
export { Dialog } from "./components/dialog/Dialog";
|
|
26
|
+
export { Divider } from "./components/divider/Divider";
|
|
27
|
+
export { InlineEditable } from "./components/inline-editable/InlineEditable";
|
|
28
|
+
export { Heading, HeadingMark } from "./components/heading/Heading";
|
|
29
|
+
export { List, ListItem } from "./components/list/List";
|
|
30
|
+
export { Inset } from "./components/inset/Inset";
|
|
31
|
+
export { Icon } from "./components/icon/Icon";
|
|
32
|
+
export { Link } from "./components/link/Link";
|
|
33
|
+
export { Paragraph } from "./components/paragraph/Paragraph";
|
|
34
|
+
export { Banner } from "./components/banner/Banner";
|
|
35
|
+
export { Fieldset } from "./components/fieldset/Fieldset";
|
|
36
|
+
export { FieldRow } from "./components/field-row/FieldRow";
|
|
37
|
+
export { TextField } from "./components/field/TextField";
|
|
38
|
+
export { SelectField } from "./components/field/SelectField";
|
|
39
|
+
export { Autocomplete } from "./components/autocomplete/Autocomplete";
|
|
40
|
+
export { NumberField } from "./components/field/NumberField";
|
|
41
|
+
export { TextareaField } from "./components/field/TextareaField";
|
|
42
|
+
export { CheckboxGroup } from "./components/checkbox-group/CheckboxGroup";
|
|
43
|
+
export { ChoiceGroup } from "./components/choice-group/ChoiceGroup";
|
|
44
|
+
export { RadioGroup } from "./components/radio-group/RadioGroup";
|
|
45
|
+
export { Switch } from "./components/switch/Switch";
|
|
46
|
+
export { MessageBadge, MessageEmptyState } from "./components/message/Message";
|
|
47
|
+
export { Pagination } from "./components/pagination/Pagination";
|
|
48
|
+
export { SegmentedControl } from "./components/segmented-control/SegmentedControl";
|
|
49
|
+
export { Slider } from "./components/slider/Slider";
|
|
50
|
+
export {
|
|
51
|
+
Toolbar,
|
|
52
|
+
ToolbarToggle,
|
|
53
|
+
ToolbarButton,
|
|
54
|
+
ToolbarGroup,
|
|
55
|
+
ToolbarMenu,
|
|
56
|
+
ToolbarDivider,
|
|
57
|
+
TOOLBAR_NONE_ICON,
|
|
58
|
+
} from "./components/toolbar/Toolbar.jsx";
|
|
59
|
+
export { Tabs, TabList, Tab, TabPanel } from "./components/tabs/Tabs";
|
|
60
|
+
export { Grid, GridItem } from "./components/grid/Grid";
|
|
61
|
+
export { Inverse } from "./components/inverse/Inverse";
|
|
62
|
+
export { Section } from "./components/section/Section";
|
|
63
|
+
export { Stack } from "./components/stack/Stack";
|
|
64
|
+
export { PageLayout } from "./components/page-layout/PageLayout";
|
|
65
|
+
export { Menu, MenuSection, MenuItem } from "./components/menu/Menu";
|
|
66
|
+
export { SideNav, SideNavItem, SideNavGroup } from "./components/side-nav/SideNav";
|
|
67
|
+
export { BottomDrawer } from "./components/bottom-drawer/BottomDrawer";
|
|
68
|
+
export { DataTable } from "./components/data-table/DataTable";
|
|
69
|
+
export { Figure } from "./components/figure/Figure";
|
|
70
|
+
export { Spacer } from "./components/spacer/Spacer";
|
|
71
|
+
export { StickyActions } from "./components/sticky-actions/StickyActions";
|
package/src/index.js
CHANGED
|
@@ -33,6 +33,7 @@ export { Fieldset } from "./components/fieldset/Fieldset.jsx";
|
|
|
33
33
|
export { FieldRow } from "./components/field-row/FieldRow.jsx";
|
|
34
34
|
export { TextField } from "./components/field/TextField.jsx";
|
|
35
35
|
export { SelectField } from "./components/field/SelectField.jsx";
|
|
36
|
+
export { Autocomplete } from "./components/autocomplete/Autocomplete.jsx";
|
|
36
37
|
export { DateField } from "./components/field/DateField.jsx";
|
|
37
38
|
export { PhoneField } from "./components/field/PhoneField.jsx";
|
|
38
39
|
export { ZipField, ZIP_MASKS } from "./components/field/ZipField.jsx";
|
|
@@ -69,6 +70,7 @@ export { Menu, MenuSection, MenuItem } from "./components/menu/Menu.jsx";
|
|
|
69
70
|
export { SideNav, SideNavItem, SideNavGroup } from "./components/side-nav/SideNav.jsx";
|
|
70
71
|
export { TokenSelect } from "./components/token-select/TokenSelect.jsx";
|
|
71
72
|
export { BottomDrawer } from "./components/bottom-drawer/BottomDrawer.jsx";
|
|
73
|
+
export { BottomSheet } from "./components/bottom-sheet/BottomSheet.jsx";
|
|
72
74
|
export { TopHeader } from "./components/top-header/TopHeader.jsx";
|
|
73
75
|
export { DataTable } from "./components/data-table/DataTable.jsx";
|
|
74
76
|
export { DataTableFilters } from "./components/data-table/DataTableFilters.jsx";
|