@ceebee/ui 0.5.0 → 0.6.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/dist/client.d.ts +603 -10
- package/dist/client.js +2352 -148
- package/dist/index.d.ts +325 -4
- package/dist/index.js +596 -21
- package/dist/styles.css +2281 -116
- package/package.json +13 -10
package/dist/index.d.ts
CHANGED
|
@@ -34,10 +34,10 @@ interface SurfaceProps {
|
|
|
34
34
|
*/
|
|
35
35
|
declare function Surface({ variant, glassStyle, tone, hue, elevation, radius, padding, bordered, className, children, asSection, }: SurfaceProps): react.JSX.Element;
|
|
36
36
|
|
|
37
|
-
type SpaceStep = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8;
|
|
37
|
+
type SpaceStep$1 = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8;
|
|
38
38
|
interface StackProps {
|
|
39
39
|
direction?: 'row' | 'column';
|
|
40
|
-
gap?: SpaceStep;
|
|
40
|
+
gap?: SpaceStep$1;
|
|
41
41
|
align?: 'start' | 'center' | 'end' | 'stretch' | 'baseline';
|
|
42
42
|
justify?: 'start' | 'center' | 'end' | 'between';
|
|
43
43
|
wrap?: boolean;
|
|
@@ -49,7 +49,7 @@ declare function Flex({ direction, gap, align, justify, wrap, className, childre
|
|
|
49
49
|
interface GridProps {
|
|
50
50
|
/** Column count at the widest breakpoint; the grid collapses on its own below it. */
|
|
51
51
|
columns?: 1 | 2 | 3 | 4 | 6 | 12;
|
|
52
|
-
gap?: SpaceStep;
|
|
52
|
+
gap?: SpaceStep$1;
|
|
53
53
|
minItemWidth?: string;
|
|
54
54
|
className?: string;
|
|
55
55
|
children?: ReactNode;
|
|
@@ -81,6 +81,103 @@ interface HeadingProps {
|
|
|
81
81
|
/** Level and size are separate on purpose: document structure is not a font size. */
|
|
82
82
|
declare function Heading({ level, size, className, children }: HeadingProps): react.JSX.Element;
|
|
83
83
|
|
|
84
|
+
interface SpaceSkeletonProps {
|
|
85
|
+
items?: number;
|
|
86
|
+
direction?: SpaceDirection;
|
|
87
|
+
size?: SpaceSize;
|
|
88
|
+
wrap?: boolean;
|
|
89
|
+
className?: string;
|
|
90
|
+
}
|
|
91
|
+
declare function SpaceSkeleton({ items, direction, size, wrap, className }: SpaceSkeletonProps): react.JSX.Element;
|
|
92
|
+
|
|
93
|
+
type SpaceStep = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8;
|
|
94
|
+
type SpaceSize = SpaceStep | 'small' | 'middle' | 'large';
|
|
95
|
+
type SpaceDirection = 'horizontal' | 'vertical';
|
|
96
|
+
type SpaceAlign = 'start' | 'center' | 'end' | 'baseline' | 'stretch';
|
|
97
|
+
interface SpaceProps {
|
|
98
|
+
direction?: SpaceDirection;
|
|
99
|
+
size?: SpaceSize;
|
|
100
|
+
align?: SpaceAlign;
|
|
101
|
+
wrap?: boolean;
|
|
102
|
+
split?: ReactNode;
|
|
103
|
+
className?: string;
|
|
104
|
+
children?: ReactNode;
|
|
105
|
+
}
|
|
106
|
+
declare function SpaceRoot({ direction, size, align, wrap, split, className, children, }: SpaceProps): react.JSX.Element;
|
|
107
|
+
interface SpaceCompactProps {
|
|
108
|
+
direction?: SpaceDirection;
|
|
109
|
+
className?: string;
|
|
110
|
+
children?: ReactNode;
|
|
111
|
+
}
|
|
112
|
+
declare function SpaceCompact({ direction, className, children }: SpaceCompactProps): react.JSX.Element;
|
|
113
|
+
declare const Space: typeof SpaceRoot & {
|
|
114
|
+
Compact: typeof SpaceCompact;
|
|
115
|
+
Skeleton: typeof SpaceSkeleton;
|
|
116
|
+
};
|
|
117
|
+
|
|
118
|
+
interface MasonrySkeletonProps {
|
|
119
|
+
items?: number;
|
|
120
|
+
columns?: MasonryColumns;
|
|
121
|
+
gap?: MasonryStep;
|
|
122
|
+
className?: string;
|
|
123
|
+
}
|
|
124
|
+
declare function MasonrySkeleton({ items, columns, gap, className }: MasonrySkeletonProps): react.JSX.Element;
|
|
125
|
+
|
|
126
|
+
type MasonryColumns = 1 | 2 | 3 | 4;
|
|
127
|
+
type MasonryStep = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8;
|
|
128
|
+
interface MasonryProps {
|
|
129
|
+
/** Column count at the widest breakpoint; the layout collapses below it. */
|
|
130
|
+
columns?: MasonryColumns;
|
|
131
|
+
/** Gap Token shared by both the column and item axes. */
|
|
132
|
+
gap?: MasonryStep;
|
|
133
|
+
className?: string;
|
|
134
|
+
children?: ReactNode;
|
|
135
|
+
}
|
|
136
|
+
declare function MasonryRoot({ columns, gap, className, children }: MasonryProps): react.JSX.Element;
|
|
137
|
+
declare const Masonry: typeof MasonryRoot & {
|
|
138
|
+
Skeleton: typeof MasonrySkeleton;
|
|
139
|
+
};
|
|
140
|
+
|
|
141
|
+
type AffixEdge = 'top' | 'bottom';
|
|
142
|
+
type AffixOffset = 'sm' | 'md' | 'lg';
|
|
143
|
+
interface AffixProps {
|
|
144
|
+
/** Edge of the nearest scroll container where the content should stick. */
|
|
145
|
+
edge?: AffixEdge;
|
|
146
|
+
/** Spacing Token used as the sticky inset from the selected edge. */
|
|
147
|
+
offset?: AffixOffset;
|
|
148
|
+
children?: ReactNode;
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Server-safe sticky layout atom. The nearest scroll container owns the scroll
|
|
152
|
+
* context; Affix only supplies sticky positioning and a semantic stacking rung.
|
|
153
|
+
*/
|
|
154
|
+
declare function Affix({ edge, offset, children }: AffixProps): react.JSX.Element;
|
|
155
|
+
|
|
156
|
+
interface PageContainerSkeletonProps {
|
|
157
|
+
breadcrumb?: boolean;
|
|
158
|
+
subtitle?: boolean;
|
|
159
|
+
extra?: boolean;
|
|
160
|
+
tabs?: boolean;
|
|
161
|
+
lines?: number;
|
|
162
|
+
containerSize?: ContainerProps['size'];
|
|
163
|
+
}
|
|
164
|
+
declare function PageContainerSkeleton({ breadcrumb, subtitle, extra, tabs, lines, containerSize }: PageContainerSkeletonProps): react.JSX.Element;
|
|
165
|
+
|
|
166
|
+
interface PageContainerProps {
|
|
167
|
+
breadcrumb?: ReactNode;
|
|
168
|
+
title?: ReactNode;
|
|
169
|
+
subtitle?: ReactNode;
|
|
170
|
+
extra?: ReactNode;
|
|
171
|
+
tabs?: ReactNode;
|
|
172
|
+
children?: ReactNode;
|
|
173
|
+
containerSize?: ContainerProps['size'];
|
|
174
|
+
}
|
|
175
|
+
/** Server-safe page frame. Routing, data, title level, action behaviour, and tab state remain external. */
|
|
176
|
+
declare function PageContainerRoot({ breadcrumb, title, subtitle, extra, tabs, children, containerSize }: PageContainerProps): react.JSX.Element;
|
|
177
|
+
declare const PageContainer: typeof PageContainerRoot & {
|
|
178
|
+
Skeleton: typeof PageContainerSkeleton;
|
|
179
|
+
};
|
|
180
|
+
|
|
84
181
|
interface LinkButtonProps extends Omit<AnchorHTMLAttributes<HTMLAnchorElement>, 'color'> {
|
|
85
182
|
variant?: 'solid' | 'soft' | 'outline' | 'ghost';
|
|
86
183
|
tone?: Tone;
|
|
@@ -113,6 +210,43 @@ interface LinkButtonProps extends Omit<AnchorHTMLAttributes<HTMLAnchorElement>,
|
|
|
113
210
|
*/
|
|
114
211
|
declare function LinkButton({ variant, tone, size, iconStart, iconEnd, className, children, render, ...rest }: LinkButtonProps): react.JSX.Element;
|
|
115
212
|
|
|
213
|
+
interface AnchorSkeletonProps {
|
|
214
|
+
items?: number;
|
|
215
|
+
orientation?: 'vertical' | 'horizontal';
|
|
216
|
+
size?: 'sm' | 'md' | 'lg';
|
|
217
|
+
tone?: 'neutral' | 'brand' | 'success' | 'warning' | 'danger' | 'info';
|
|
218
|
+
'aria-label'?: string;
|
|
219
|
+
}
|
|
220
|
+
/** Matching link geometry for an Anchor whose section labels have not loaded yet. */
|
|
221
|
+
declare function AnchorSkeleton({ items, orientation, size, tone, 'aria-label': ariaLabel, }: AnchorSkeletonProps): react.JSX.Element;
|
|
222
|
+
|
|
223
|
+
type AnchorTone = 'neutral' | 'brand' | 'success' | 'warning' | 'danger' | 'info';
|
|
224
|
+
type AnchorOrientation = 'vertical' | 'horizontal';
|
|
225
|
+
type AnchorSize = 'sm' | 'md' | 'lg';
|
|
226
|
+
interface AnchorItem {
|
|
227
|
+
id: string;
|
|
228
|
+
label: ReactNode;
|
|
229
|
+
href: `#${string}`;
|
|
230
|
+
children?: AnchorItem[];
|
|
231
|
+
}
|
|
232
|
+
interface AnchorProps {
|
|
233
|
+
items: AnchorItem[];
|
|
234
|
+
activeId?: string;
|
|
235
|
+
orientation?: AnchorOrientation;
|
|
236
|
+
size?: AnchorSize;
|
|
237
|
+
tone?: AnchorTone;
|
|
238
|
+
motion?: boolean;
|
|
239
|
+
'aria-label'?: string;
|
|
240
|
+
}
|
|
241
|
+
/**
|
|
242
|
+
* Server-safe in-page navigation. The consuming app owns active-section observation and routing;
|
|
243
|
+
* Anchor only renders native hash links and exposes the supplied active state.
|
|
244
|
+
*/
|
|
245
|
+
declare function AnchorRoot({ items, activeId, orientation, size, tone, motion, 'aria-label': ariaLabel, }: AnchorProps): react.JSX.Element;
|
|
246
|
+
declare const Anchor: typeof AnchorRoot & {
|
|
247
|
+
Skeleton: typeof AnchorSkeleton;
|
|
248
|
+
};
|
|
249
|
+
|
|
116
250
|
interface DividerProps {
|
|
117
251
|
/** A word or two sitting in the rule, for a section break that names itself. */
|
|
118
252
|
children?: ReactNode;
|
|
@@ -152,6 +286,66 @@ interface EmptyStateProps {
|
|
|
152
286
|
}
|
|
153
287
|
declare function Empty({ title, description, icon, actions, variant, className }: EmptyStateProps): react.JSX.Element;
|
|
154
288
|
|
|
289
|
+
/** Matching Result anatomy while the end-state content is loading (ADR 0009). */
|
|
290
|
+
declare function ResultSkeleton(): react.JSX.Element;
|
|
291
|
+
|
|
292
|
+
type ResultStatus = 'success' | 'info' | 'warning' | 'error' | '404' | '403' | '500';
|
|
293
|
+
interface ResultProps {
|
|
294
|
+
title: ReactNode;
|
|
295
|
+
description?: ReactNode;
|
|
296
|
+
status?: ResultStatus;
|
|
297
|
+
icon?: ReactNode;
|
|
298
|
+
extra?: ReactNode;
|
|
299
|
+
children?: ReactNode;
|
|
300
|
+
}
|
|
301
|
+
/** A presentational end state for a completed flow. Actions keep their own interaction contract. */
|
|
302
|
+
declare function ResultRoot({ title, description, status, icon, extra, children }: ResultProps): react.JSX.Element;
|
|
303
|
+
declare const Result: typeof ResultRoot & {
|
|
304
|
+
Skeleton: typeof ResultSkeleton;
|
|
305
|
+
};
|
|
306
|
+
|
|
307
|
+
interface NotificationSkeletonProps {
|
|
308
|
+
lines?: number;
|
|
309
|
+
withActions?: boolean;
|
|
310
|
+
}
|
|
311
|
+
declare function NotificationSkeleton({ lines, withActions }: NotificationSkeletonProps): react.JSX.Element;
|
|
312
|
+
|
|
313
|
+
type NotificationTone = Extract<Tone, 'neutral' | 'info' | 'success' | 'warning' | 'danger'>;
|
|
314
|
+
interface NotificationProps {
|
|
315
|
+
title: ReactNode;
|
|
316
|
+
description?: ReactNode;
|
|
317
|
+
icon?: ReactNode;
|
|
318
|
+
actions?: ReactNode;
|
|
319
|
+
tone?: NotificationTone;
|
|
320
|
+
/** Accessible status announcement. Danger is assertive; every other tone is polite. */
|
|
321
|
+
announce?: boolean;
|
|
322
|
+
}
|
|
323
|
+
/**
|
|
324
|
+
* Persistent rich feedback in normal document flow. The app owns its lifetime, placement, and
|
|
325
|
+
* actions; transient timed feedback remains Toast.
|
|
326
|
+
*/
|
|
327
|
+
declare function NotificationRoot({ title, description, icon, actions, tone, announce, }: NotificationProps): react.JSX.Element;
|
|
328
|
+
declare const Notification: typeof NotificationRoot & {
|
|
329
|
+
Skeleton: typeof NotificationSkeleton;
|
|
330
|
+
};
|
|
331
|
+
|
|
332
|
+
type QRCodeErrorCorrection = 'L' | 'M' | 'Q' | 'H';
|
|
333
|
+
interface QRCodeProps {
|
|
334
|
+
/** Text or URL encoded into the matrix. Must not be empty. */
|
|
335
|
+
value: string;
|
|
336
|
+
/** Accessible description of what scanning the code does. */
|
|
337
|
+
label: string;
|
|
338
|
+
size?: Size;
|
|
339
|
+
errorCorrection?: QRCodeErrorCorrection;
|
|
340
|
+
/** Raises error correction when the same QR version has spare capacity. */
|
|
341
|
+
boostErrorCorrection?: boolean;
|
|
342
|
+
}
|
|
343
|
+
/**
|
|
344
|
+
* Server-safe SVG QR image. uqr owns standards-compliant matrix encoding; Ceebee owns only the
|
|
345
|
+
* accessible SVG and Token-based presentation.
|
|
346
|
+
*/
|
|
347
|
+
declare function QRCode({ value, label, size, errorCorrection, boostErrorCorrection, }: QRCodeProps): react.JSX.Element;
|
|
348
|
+
|
|
155
349
|
interface SpinnerProps {
|
|
156
350
|
size?: 'sm' | 'md' | 'lg';
|
|
157
351
|
tone?: Tone;
|
|
@@ -465,4 +659,131 @@ interface StatCardSkeletonProps {
|
|
|
465
659
|
/** Built from Statistic's own spacing, so the tile does not resize when data arrives (ADR 0009). */
|
|
466
660
|
declare function StatCardSkeleton({ withVisual, className }: StatCardSkeletonProps): react.JSX.Element;
|
|
467
661
|
|
|
468
|
-
|
|
662
|
+
interface CardSkeletonProps {
|
|
663
|
+
size?: 'sm' | 'md' | 'lg';
|
|
664
|
+
variant?: SurfaceVariant;
|
|
665
|
+
glassStyle?: GlassStyle;
|
|
666
|
+
tone?: Tone;
|
|
667
|
+
hue?: DecorHue;
|
|
668
|
+
elevation?: 'none' | 'sm' | 'md' | 'lg';
|
|
669
|
+
radius?: 'sm' | 'md' | 'lg' | 'xl';
|
|
670
|
+
bordered?: boolean;
|
|
671
|
+
withCover?: boolean;
|
|
672
|
+
withActions?: boolean;
|
|
673
|
+
meta?: boolean;
|
|
674
|
+
lines?: number;
|
|
675
|
+
className?: string;
|
|
676
|
+
}
|
|
677
|
+
/** Matching Card geometry for a whole Card that has not loaded yet (ADR 0009). */
|
|
678
|
+
declare function CardSkeleton({ size, variant, glassStyle, tone, hue, elevation, radius, bordered, withCover, withActions, meta, lines, className, }: CardSkeletonProps): react.JSX.Element;
|
|
679
|
+
|
|
680
|
+
interface CardProps {
|
|
681
|
+
title?: ReactNode;
|
|
682
|
+
extra?: ReactNode;
|
|
683
|
+
cover?: ReactNode;
|
|
684
|
+
/** A composed Tabs instance. Tabs owns selection state and keyboard behaviour. */
|
|
685
|
+
tabs?: ReactNode;
|
|
686
|
+
/** Controls placed in the footer region. Card does not own their behaviour. */
|
|
687
|
+
actions?: ReactNode;
|
|
688
|
+
children?: ReactNode;
|
|
689
|
+
size?: 'sm' | 'md' | 'lg';
|
|
690
|
+
variant?: SurfaceVariant;
|
|
691
|
+
glassStyle?: GlassStyle;
|
|
692
|
+
tone?: Tone;
|
|
693
|
+
hue?: DecorHue;
|
|
694
|
+
elevation?: 'none' | 'sm' | 'md' | 'lg';
|
|
695
|
+
radius?: 'sm' | 'md' | 'lg' | 'xl';
|
|
696
|
+
bordered?: boolean;
|
|
697
|
+
hoverable?: boolean;
|
|
698
|
+
/** Tighter geometry for a Card nested inside another Card. */
|
|
699
|
+
nested?: boolean;
|
|
700
|
+
loading?: boolean;
|
|
701
|
+
asSection?: boolean;
|
|
702
|
+
className?: string;
|
|
703
|
+
}
|
|
704
|
+
declare function CardRoot({ title, extra, cover, tabs, actions, children, size, variant, glassStyle, tone, hue, elevation, radius, bordered, hoverable, nested, loading, asSection, className, }: CardProps): react.JSX.Element;
|
|
705
|
+
interface CardMetaProps {
|
|
706
|
+
avatar?: ReactNode;
|
|
707
|
+
title?: ReactNode;
|
|
708
|
+
description?: ReactNode;
|
|
709
|
+
className?: string;
|
|
710
|
+
}
|
|
711
|
+
declare function CardMeta({ avatar, title, description, className }: CardMetaProps): react.JSX.Element;
|
|
712
|
+
interface CardGridProps extends Omit<GridProps, 'children'> {
|
|
713
|
+
children?: ReactNode;
|
|
714
|
+
}
|
|
715
|
+
declare function CardGrid({ columns, gap, minItemWidth, className, children }: CardGridProps): react.JSX.Element;
|
|
716
|
+
/** A non-interactive Surface composition for content about one subject. */
|
|
717
|
+
declare const Card: typeof CardRoot & {
|
|
718
|
+
Meta: typeof CardMeta;
|
|
719
|
+
Grid: typeof CardGrid;
|
|
720
|
+
Skeleton: typeof CardSkeleton;
|
|
721
|
+
};
|
|
722
|
+
|
|
723
|
+
interface DescriptionsSkeletonProps {
|
|
724
|
+
columns?: 1 | 2 | 3 | 4;
|
|
725
|
+
layout?: 'horizontal' | 'vertical';
|
|
726
|
+
size?: DescriptionsSize;
|
|
727
|
+
bordered?: boolean;
|
|
728
|
+
items?: number;
|
|
729
|
+
className?: string;
|
|
730
|
+
}
|
|
731
|
+
/** Matching label/value geometry for a Descriptions record that has not loaded yet. */
|
|
732
|
+
declare function DescriptionsSkeleton({ columns, layout, size, bordered, items, className, }: DescriptionsSkeletonProps): react.JSX.Element;
|
|
733
|
+
|
|
734
|
+
type DescriptionsSize = 'sm' | 'md' | 'lg';
|
|
735
|
+
interface DescriptionsProps {
|
|
736
|
+
title?: ReactNode;
|
|
737
|
+
extra?: ReactNode;
|
|
738
|
+
children?: ReactNode;
|
|
739
|
+
columns?: 1 | 2 | 3 | 4;
|
|
740
|
+
layout?: 'horizontal' | 'vertical';
|
|
741
|
+
size?: DescriptionsSize;
|
|
742
|
+
bordered?: boolean;
|
|
743
|
+
colon?: boolean;
|
|
744
|
+
className?: string;
|
|
745
|
+
}
|
|
746
|
+
interface DescriptionsItemProps {
|
|
747
|
+
label: ReactNode;
|
|
748
|
+
children?: ReactNode;
|
|
749
|
+
span?: 1 | 2 | 3 | 4;
|
|
750
|
+
className?: string;
|
|
751
|
+
}
|
|
752
|
+
declare function DescriptionsItem({ label, children, span, className }: DescriptionsItemProps): react.JSX.Element;
|
|
753
|
+
declare function DescriptionsRoot({ title, extra, children, columns, layout, size, bordered, colon, className, }: DescriptionsProps): react.JSX.Element;
|
|
754
|
+
declare const Descriptions: typeof DescriptionsRoot & {
|
|
755
|
+
Item: typeof DescriptionsItem;
|
|
756
|
+
Skeleton: typeof DescriptionsSkeleton;
|
|
757
|
+
};
|
|
758
|
+
|
|
759
|
+
interface ListySkeletonProps {
|
|
760
|
+
items?: number;
|
|
761
|
+
grouped?: boolean;
|
|
762
|
+
}
|
|
763
|
+
declare function ListySkeleton({ items, grouped }: ListySkeletonProps): react.JSX.Element;
|
|
764
|
+
|
|
765
|
+
interface ListyGroup {
|
|
766
|
+
/** Stable identity; grouped input must keep every group contiguous. */
|
|
767
|
+
key: string;
|
|
768
|
+
label: ReactNode;
|
|
769
|
+
}
|
|
770
|
+
interface ListyProps<Item> {
|
|
771
|
+
items: Item[];
|
|
772
|
+
/** Stable item identity. Duplicate keys are rejected before rendering. */
|
|
773
|
+
getKey: (item: Item) => string;
|
|
774
|
+
renderItem: (item: Item, index: number) => ReactNode;
|
|
775
|
+
/** Optional presentational grouping. Groups must be contiguous in the supplied item order. */
|
|
776
|
+
getGroup?: (item: Item) => ListyGroup;
|
|
777
|
+
/** Keeps the current group title visible while its native list section scrolls. */
|
|
778
|
+
stickyGroupHeadings?: boolean;
|
|
779
|
+
/** Lets supporting browsers skip off-screen painting; no virtual-scroll or row-height state is owned. */
|
|
780
|
+
optimizeRendering?: boolean;
|
|
781
|
+
'aria-label'?: string;
|
|
782
|
+
}
|
|
783
|
+
/** Server-safe, presentational list. Rendering optimization is browser-native paint containment only. */
|
|
784
|
+
declare function ListyRoot<Item>({ items, getKey, renderItem, getGroup, stickyGroupHeadings, optimizeRendering, 'aria-label': ariaLabel, }: ListyProps<Item>): react.JSX.Element;
|
|
785
|
+
declare const Listy: typeof ListyRoot & {
|
|
786
|
+
Skeleton: typeof ListySkeleton;
|
|
787
|
+
};
|
|
788
|
+
|
|
789
|
+
export { Affix, type AffixEdge, type AffixOffset, type AffixProps, Anchor, type AnchorItem, type AnchorOrientation, type AnchorProps, type AnchorSize, AnchorSkeleton, type AnchorSkeletonProps, type AnchorTone, Avatar, AvatarGroup, type AvatarGroupProps, type AvatarProps, Badge, type BadgeProps, BarMini, type BarMiniProps, Breadcrumb, type BreadcrumbsProps, Card, type CardGridProps, type CardMetaProps, type CardProps, type CardSkeletonProps, Container, type ContainerProps, type Crumb, type DecorHue, Descriptions, type DescriptionsItemProps, type DescriptionsProps, type DescriptionsSize, type DescriptionsSkeletonProps, Divider, type DividerProps, Donut, type DonutArc, type DonutProps, type DonutSlice, Empty, type EmptyStateProps, Flex, type GlassStyle, Grid, type GridProps, Heading, type HeadingProps, Leaderboard, type LeaderboardEntry, type LeaderboardProps, type LeaderboardSkeletonProps, LinkButton, type LinkButtonProps, Listy, type ListyGroup, type ListyProps, ListySkeleton, type ListySkeletonProps, Masonry, type MasonryColumns, type MasonryProps, MasonrySkeleton, type MasonrySkeletonProps, type MasonryStep, Notification, type NotificationProps, NotificationSkeleton, type NotificationSkeletonProps, type NotificationTone, PageContainer, type PageContainerProps, PageContainerSkeleton, type PageContainerSkeletonProps, ProgressBar, type ProgressBarProps, ProgressRing, type ProgressRingProps, QRCode, type QRCodeErrorCorrection, type QRCodeProps, Result, type ResultProps, ResultSkeleton, type ResultStatus, type RingGeometry, type Size, Skeleton, type SkeletonProps, type SkeletonTextProps, Space, type SpaceAlign, type SpaceCompactProps, type SpaceDirection, type SpaceProps, type SpaceSize, SpaceSkeleton, type SpaceSkeletonProps, type SpaceStep, Sparkline, type SparklineGeometry, type SparklineProps, Spin, type SpinnerProps, type StackProps, type StatCardProps, type StatCardSkeletonProps, Statistic, type Step, type StepperProps, Steps, Surface, type SurfaceProps, type SurfaceVariant, Text, type TextProps, Timeline, type TimelineEntry, type TimelineProps, type TimelineSkeletonProps, type Tone, cn, donutArcs, hueForName, initialsOf, ringGeometry, sparklineGeometry };
|