shared-design-system 1.12.0 → 1.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/dist/src/components/Alert.d.ts +2 -1
  2. package/dist/src/components/Alert.js +80 -38
  3. package/dist/src/components/Alert.js.map +1 -1
  4. package/dist/src/components/Avatar.d.ts +11 -2
  5. package/dist/src/components/Avatar.js +87 -40
  6. package/dist/src/components/Avatar.js.map +1 -1
  7. package/dist/src/components/Badge.d.ts +4 -2
  8. package/dist/src/components/Badge.js +67 -29
  9. package/dist/src/components/Badge.js.map +1 -1
  10. package/dist/src/components/Breadcrumbs.d.ts +4 -1
  11. package/dist/src/components/Breadcrumbs.js +56 -27
  12. package/dist/src/components/Breadcrumbs.js.map +1 -1
  13. package/dist/src/components/Button.d.ts +4 -2
  14. package/dist/src/components/Button.js +99 -95
  15. package/dist/src/components/Button.js.map +1 -1
  16. package/dist/src/components/Card.d.ts +3 -1
  17. package/dist/src/components/Card.js +86 -23
  18. package/dist/src/components/Card.js.map +1 -1
  19. package/dist/src/components/ConfirmModal.d.ts +5 -2
  20. package/dist/src/components/ConfirmModal.js +99 -47
  21. package/dist/src/components/ConfirmModal.js.map +1 -1
  22. package/dist/src/components/Divider.d.ts +4 -2
  23. package/dist/src/components/Divider.js +46 -19
  24. package/dist/src/components/Divider.js.map +1 -1
  25. package/dist/src/components/ListComponents.d.ts +7 -4
  26. package/dist/src/components/ListComponents.js +70 -35
  27. package/dist/src/components/ListComponents.js.map +1 -1
  28. package/dist/src/components/LoadingSpinner.d.ts +9 -2
  29. package/dist/src/components/LoadingSpinner.js +59 -17
  30. package/dist/src/components/LoadingSpinner.js.map +1 -1
  31. package/dist/src/components/Progress.d.ts +5 -1
  32. package/dist/src/components/Progress.js +58 -26
  33. package/dist/src/components/Progress.js.map +1 -1
  34. package/dist/src/components/Radio.d.ts +4 -0
  35. package/dist/src/components/Radio.js +50 -24
  36. package/dist/src/components/Radio.js.map +1 -1
  37. package/dist/src/components/ReadOnlyField.d.ts +4 -0
  38. package/dist/src/components/ReadOnlyField.js +78 -25
  39. package/dist/src/components/ReadOnlyField.js.map +1 -1
  40. package/dist/src/components/Skeleton.d.ts +3 -1
  41. package/dist/src/components/Skeleton.js +52 -22
  42. package/dist/src/components/Skeleton.js.map +1 -1
  43. package/dist/src/components/Stack.d.ts +2 -0
  44. package/dist/src/components/Stack.js +21 -20
  45. package/dist/src/components/Stack.js.map +1 -1
  46. package/dist/src/components/Steps.d.ts +3 -1
  47. package/dist/src/components/Steps.js +93 -68
  48. package/dist/src/components/Steps.js.map +1 -1
  49. package/dist/src/components/Switch.d.ts +6 -2
  50. package/dist/src/components/Switch.js +45 -22
  51. package/dist/src/components/Switch.js.map +1 -1
  52. package/dist/src/components/Table.d.ts +9 -1
  53. package/dist/src/components/Table.js +102 -37
  54. package/dist/src/components/Table.js.map +1 -1
  55. package/dist/src/components/Tabs.d.ts +9 -5
  56. package/dist/src/components/Tabs.js +88 -88
  57. package/dist/src/components/Tabs.js.map +1 -1
  58. package/dist/src/components/Tag.d.ts +3 -1
  59. package/dist/src/components/Tag.js +104 -26
  60. package/dist/src/components/Tag.js.map +1 -1
  61. package/dist/src/components/Tooltip.d.ts +3 -0
  62. package/dist/src/components/Tooltip.js +89 -38
  63. package/dist/src/components/Tooltip.js.map +1 -1
  64. package/dist/src/components/Typography.d.ts +14 -1
  65. package/dist/src/components/Typography.js +108 -61
  66. package/dist/src/components/Typography.js.map +1 -1
  67. package/dist/src/index.d.ts +6 -6
  68. package/dist/src/index.js +3 -3
  69. package/dist/src/index.js.map +1 -1
  70. package/package.json +1 -1
@@ -1,43 +1,121 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { tokens } from '../tokens';
3
- export const Tag = ({ children, color = 'slate', variant = 'subtle', size = 'md', className = '', style = {}, onClose, ...props }) => {
4
- const getColorScheme = () => {
5
- switch (color) {
6
- case 'primary': return { bg: tokens.color.primary, text: '#ffffff', lightBg: tokens.color.primaryLight, lightText: tokens.color.primary, border: 'rgba(37, 99, 235, 0.15)' };
7
- case 'success': return { bg: tokens.color.success, text: '#ffffff', lightBg: tokens.color.successBg, lightText: tokens.color.success, border: 'rgba(5, 150, 105, 0.15)' };
8
- case 'warning': return { bg: tokens.color.warning, text: '#ffffff', lightBg: tokens.color.warningBg, lightText: tokens.color.warning, border: 'rgba(245, 158, 11, 0.15)' };
9
- case 'danger': return { bg: tokens.color.danger, text: '#ffffff', lightBg: tokens.color.dangerBg, lightText: tokens.color.danger, border: 'rgba(220, 38, 38, 0.15)' };
10
- case 'info': return { bg: tokens.color.info, text: '#ffffff', lightBg: tokens.color.infoBg, lightText: tokens.color.info, border: 'rgba(59, 130, 246, 0.15)' };
11
- case 'premium': return { bg: 'linear-gradient(135deg, #8b5cf6 0%, #d946ef 100%)', text: '#ffffff', lightBg: '#f5f3ff', lightText: '#7c3aed', border: '#ddd6fe' };
12
- case 'slate':
13
- default: return { bg: tokens.color.slate700, text: '#ffffff', lightBg: tokens.color.slate100, lightText: tokens.color.slate700, border: 'rgba(100, 116, 139, 0.1)' };
3
+ const COLOR_SCHEMES = {
4
+ primary: {
5
+ bg: tokens.color.primary,
6
+ text: '#fff',
7
+ lightBg: tokens.color.primaryLight,
8
+ lightText: tokens.color.primary,
9
+ border: 'rgba(37, 99, 235, 0.2)',
10
+ },
11
+ success: {
12
+ bg: tokens.color.success,
13
+ text: '#fff',
14
+ lightBg: tokens.color.successBg,
15
+ lightText: tokens.color.success,
16
+ border: 'rgba(5, 150, 105, 0.2)',
17
+ },
18
+ warning: {
19
+ bg: tokens.color.warning,
20
+ text: '#fff',
21
+ lightBg: tokens.color.warningBg,
22
+ lightText: '#b45309',
23
+ border: 'rgba(245, 158, 11, 0.2)',
24
+ },
25
+ danger: {
26
+ bg: tokens.color.danger,
27
+ text: '#fff',
28
+ lightBg: tokens.color.dangerBg,
29
+ lightText: tokens.color.danger,
30
+ border: 'rgba(220, 38, 38, 0.2)',
31
+ },
32
+ info: {
33
+ bg: tokens.color.info,
34
+ text: '#fff',
35
+ lightBg: tokens.color.infoBg,
36
+ lightText: tokens.color.info,
37
+ border: 'rgba(59, 130, 246, 0.2)',
38
+ },
39
+ premium: {
40
+ bg: '#7c3aed',
41
+ text: '#fff',
42
+ lightBg: '#f5f3ff',
43
+ lightText: '#7c3aed',
44
+ border: '#ede9fe',
45
+ },
46
+ gold: {
47
+ bg: '#b45309',
48
+ text: '#fff',
49
+ lightBg: '#fffbeb',
50
+ lightText: '#92400e',
51
+ border: '#fde68a',
52
+ },
53
+ slate: {
54
+ bg: tokens.color.slate700,
55
+ text: '#fff',
56
+ lightBg: tokens.color.slate100,
57
+ lightText: tokens.color.slate600,
58
+ border: tokens.color.slate200,
59
+ },
60
+ };
61
+ export const Tag = ({ children, color = 'slate', variant = 'subtle', size = 'md', className = '', style = {}, onClose, icon, clickable = false, onClick, ...props }) => {
62
+ const c = COLOR_SCHEMES[color] || COLOR_SCHEMES.slate;
63
+ const isGradient = variant === 'gradient';
64
+ const backgroundStyle = () => {
65
+ if (isGradient && color === 'premium') {
66
+ return { background: 'linear-gradient(135deg, #7c3aed 0%, #db2777 100%)', color: '#fff' };
67
+ }
68
+ if (isGradient && color === 'gold') {
69
+ return { background: 'linear-gradient(135deg, #f59e0b 0%, #ef4444 100%)', color: '#fff' };
70
+ }
71
+ if (variant === 'solid' || isGradient) {
72
+ return { backgroundColor: c.bg, color: c.text };
73
+ }
74
+ if (variant === 'outline') {
75
+ return { backgroundColor: 'transparent', color: c.lightText };
14
76
  }
77
+ return { backgroundColor: c.lightBg, color: c.lightText };
15
78
  };
16
- const c = getColorScheme();
79
+ const borderColor = variant === 'outline' ? c.lightText :
80
+ variant === 'subtle' ? c.border :
81
+ 'transparent';
82
+ const sizeStyles = size === 'sm'
83
+ ? { padding: '1px 8px', fontSize: '10px', gap: '4px' }
84
+ : { padding: '3px 10px', fontSize: '11px', gap: '5px' };
17
85
  const baseStyle = {
18
86
  display: 'inline-flex',
19
87
  alignItems: 'center',
20
- gap: tokens.spacing[1.5],
21
- padding: size === 'sm' ? '1px 8px' : `3px ${tokens.spacing[3]}`,
22
88
  borderRadius: tokens.radius.md,
23
- fontSize: size === 'sm' ? '10px' : '11px',
24
- fontWeight: tokens.font.weightBold,
25
- backgroundColor: variant === 'solid' || variant === 'gradient' ? c.bg : (variant === 'subtle' ? c.lightBg : 'transparent'),
26
- color: variant === 'solid' || variant === 'gradient' ? c.text : c.lightText,
27
- border: `1px solid ${variant === 'outline' ? c.lightText : (variant === 'subtle' ? c.border : 'transparent')}`,
89
+ fontWeight: tokens.font.weightSemibold,
90
+ letterSpacing: '0.02em',
91
+ lineHeight: 1.5,
92
+ border: `1px solid ${borderColor}`,
28
93
  transition: tokens.transition.fast,
29
94
  userSelect: 'none',
30
95
  whiteSpace: 'nowrap',
31
- ...style
96
+ cursor: clickable || onClick ? 'pointer' : 'default',
97
+ ...sizeStyles,
98
+ ...backgroundStyle(),
99
+ ...style,
32
100
  };
33
- return (_jsxs("span", { style: baseStyle, className: className, ...props, children: [children, onClose && (_jsx("span", { onClick: (e) => { e.stopPropagation(); onClose(); }, style: {
101
+ return (_jsxs("span", { style: baseStyle, className: `ds-tag ${className}`, onClick: onClick, ...props, children: [icon && (_jsx("span", { style: { display: 'inline-flex', alignItems: 'center', flexShrink: 0 }, children: icon })), children, onClose && (_jsx("span", { onClick: (e) => { e.stopPropagation(); onClose(); }, style: {
34
102
  cursor: 'pointer',
35
- marginLeft: '4px',
36
103
  display: 'inline-flex',
37
- opacity: 0.6,
38
- transition: 'opacity 0.2s',
104
+ alignItems: 'center',
105
+ justifyContent: 'center',
106
+ marginLeft: '2px',
107
+ width: size === 'sm' ? '14px' : '16px',
108
+ height: size === 'sm' ? '14px' : '16px',
39
109
  borderRadius: '50%',
40
- padding: '1px'
41
- }, onMouseEnter: (e) => e.currentTarget.style.opacity = '1', onMouseLeave: (e) => e.currentTarget.style.opacity = '0.6', children: _jsx("svg", { width: "12", height: "12", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "3", children: _jsx("path", { d: "M18 6L6 18M6 6l12 12" }) }) }))] }));
110
+ opacity: 0.7,
111
+ transition: 'opacity 0.15s, background-color 0.15s',
112
+ flexShrink: 0,
113
+ }, onMouseEnter: (e) => {
114
+ e.currentTarget.style.opacity = '1';
115
+ e.currentTarget.style.backgroundColor = 'rgba(0,0,0,0.1)';
116
+ }, onMouseLeave: (e) => {
117
+ e.currentTarget.style.opacity = '0.7';
118
+ e.currentTarget.style.backgroundColor = 'transparent';
119
+ }, children: _jsx("svg", { width: "10", height: "10", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "3", children: _jsx("path", { d: "M18 6L6 18M6 6l12 12" }) }) }))] }));
42
120
  };
43
121
  //# sourceMappingURL=Tag.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tag.js","sourceRoot":"","sources":["../../../src/components/Tag.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Tag.js","sourceRoot":"","sources":["../../../src/components/Tag.tsx"],"names":[],"mappings":"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"}
@@ -2,5 +2,8 @@ import React from 'react';
2
2
  export interface TooltipProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'title'> {
3
3
  title: React.ReactNode;
4
4
  position?: 'top' | 'bottom' | 'left' | 'right';
5
+ delay?: number;
6
+ maxWidth?: string;
7
+ arrow?: boolean;
5
8
  }
6
9
  export declare const Tooltip: React.FC<TooltipProps>;
@@ -1,43 +1,94 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useState } from 'react';
1
+ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState, useRef, useEffect } from 'react';
3
3
  import { tokens } from '../tokens';
4
- export const Tooltip = ({ children, title, position = 'top', className = '', style = {} }) => {
5
- const [isVisible, setIsVisible] = useState(false);
6
- const containerStyle = {
7
- position: 'relative',
8
- display: 'inline-flex',
9
- ...style
10
- };
11
- const getPositionStyles = () => {
12
- switch (position) {
13
- case 'bottom':
14
- return { top: '100%', left: '50%', transform: 'translateX(-50%)', marginTop: '8px' };
15
- case 'left':
16
- return { top: '50%', right: '100%', transform: 'translateY(-50%)', marginRight: '8px' };
17
- case 'right':
18
- return { top: '50%', left: '100%', transform: 'translateY(-50%)', marginLeft: '8px' };
19
- case 'top':
20
- default:
21
- return { bottom: '100%', left: '50%', transform: 'translateX(-50%)', marginBottom: '8px' };
22
- }
4
+ const ARROW_STYLES = {
5
+ top: {
6
+ bottom: '-5px',
7
+ left: '50%',
8
+ transform: 'translateX(-50%)',
9
+ borderLeft: '5px solid transparent',
10
+ borderRight: '5px solid transparent',
11
+ borderTop: `5px solid ${tokens.color.slate800}`,
12
+ },
13
+ bottom: {
14
+ top: '-5px',
15
+ left: '50%',
16
+ transform: 'translateX(-50%)',
17
+ borderLeft: '5px solid transparent',
18
+ borderRight: '5px solid transparent',
19
+ borderBottom: `5px solid ${tokens.color.slate800}`,
20
+ },
21
+ left: {
22
+ top: '50%',
23
+ right: '-5px',
24
+ transform: 'translateY(-50%)',
25
+ borderTop: '5px solid transparent',
26
+ borderBottom: '5px solid transparent',
27
+ borderLeft: `5px solid ${tokens.color.slate800}`,
28
+ },
29
+ right: {
30
+ top: '50%',
31
+ left: '-5px',
32
+ transform: 'translateY(-50%)',
33
+ borderTop: '5px solid transparent',
34
+ borderBottom: '5px solid transparent',
35
+ borderRight: `5px solid ${tokens.color.slate800}`,
36
+ },
37
+ };
38
+ const POSITION_STYLES = {
39
+ top: { bottom: 'calc(100% + 8px)', left: '50%', transform: 'translateX(-50%)' },
40
+ bottom: { top: 'calc(100% + 8px)', left: '50%', transform: 'translateX(-50%)' },
41
+ left: { top: '50%', right: 'calc(100% + 8px)', transform: 'translateY(-50%)' },
42
+ right: { top: '50%', left: 'calc(100% + 8px)', transform: 'translateY(-50%)' },
43
+ };
44
+ export const Tooltip = ({ children, title, position = 'top', delay = 120, maxWidth = '240px', arrow = true, className = '', style = {}, ...props }) => {
45
+ const [visible, setVisible] = useState(false);
46
+ const timerRef = useRef(null);
47
+ const show = () => {
48
+ timerRef.current = setTimeout(() => setVisible(true), delay);
23
49
  };
24
- const tooltipStyle = {
25
- position: 'absolute',
26
- backgroundColor: tokens.color.text,
27
- color: 'white',
28
- padding: `${tokens.spacing[1]} ${tokens.spacing[3]}`,
29
- borderRadius: tokens.radius.sm,
30
- fontSize: '11px',
31
- fontWeight: tokens.font.weightMedium,
32
- whiteSpace: 'nowrap',
33
- pointerEvents: 'none',
34
- opacity: isVisible ? 1 : 0,
35
- visibility: isVisible ? 'visible' : 'hidden',
36
- transition: tokens.transition.fast,
37
- zIndex: 1000,
38
- boxShadow: tokens.shadow.md,
39
- ...getPositionStyles()
50
+ const hide = () => {
51
+ if (timerRef.current)
52
+ clearTimeout(timerRef.current);
53
+ setVisible(false);
40
54
  };
41
- return (_jsxs("div", { style: containerStyle, className: className, onMouseEnter: () => setIsVisible(true), onMouseLeave: () => setIsVisible(false), children: [children, title && _jsx("div", { style: tooltipStyle, children: title })] }));
55
+ useEffect(() => () => {
56
+ if (timerRef.current)
57
+ clearTimeout(timerRef.current);
58
+ }, []);
59
+ if (!title)
60
+ return _jsx(_Fragment, { children: children });
61
+ return (_jsxs("div", { style: { position: 'relative', display: 'inline-flex', ...style }, className: `ds-tooltip-wrapper ${className}`, onMouseEnter: show, onMouseLeave: hide, onFocus: show, onBlur: hide, ...props, children: [children, _jsxs("div", { role: "tooltip", style: {
62
+ position: 'absolute',
63
+ ...POSITION_STYLES[position],
64
+ backgroundColor: tokens.color.slate800,
65
+ color: '#fff',
66
+ padding: `${tokens.spacing[1]} ${tokens.spacing[3]}`,
67
+ borderRadius: tokens.radius.md,
68
+ fontSize: '11.5px',
69
+ fontWeight: tokens.font.weightMedium,
70
+ fontFamily: tokens.font.family,
71
+ letterSpacing: '0.01em',
72
+ lineHeight: 1.5,
73
+ whiteSpace: 'pre-wrap',
74
+ maxWidth,
75
+ pointerEvents: 'none',
76
+ zIndex: 9999,
77
+ opacity: visible ? 1 : 0,
78
+ visibility: visible ? 'visible' : 'hidden',
79
+ transform: `${POSITION_STYLES[position].transform || ''} ${!visible
80
+ ? position === 'top' ? 'translateY(4px)' :
81
+ position === 'bottom' ? 'translateY(-4px)' :
82
+ position === 'left' ? 'translateX(4px)' : 'translateX(-4px)'
83
+ : ''}`,
84
+ transition: 'opacity 0.15s ease, visibility 0.15s ease, transform 0.15s ease',
85
+ boxShadow: `${tokens.shadow.lg}, 0 0 0 1px rgba(0,0,0,0.05)`,
86
+ willChange: 'opacity, transform',
87
+ }, children: [title, arrow && (_jsx("div", { style: {
88
+ position: 'absolute',
89
+ width: 0,
90
+ height: 0,
91
+ ...ARROW_STYLES[position],
92
+ } }))] })] }));
42
93
  };
43
94
  //# sourceMappingURL=Tooltip.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tooltip.js","sourceRoot":"","sources":["../../../src/components/Tooltip.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAOnC,MAAM,CAAC,MAAM,OAAO,GAA2B,CAAC,EAC9C,QAAQ,EACR,KAAK,EACL,QAAQ,GAAG,KAAK,EAChB,SAAS,GAAG,EAAE,EACd,KAAK,GAAG,EAAE,EACX,EAAE,EAAE;IACH,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAElD,MAAM,cAAc,GAAwB;QAC1C,QAAQ,EAAE,UAAU;QACpB,OAAO,EAAE,aAAa;QACtB,GAAG,KAAK;KACT,CAAC;IAEF,MAAM,iBAAiB,GAAG,GAAG,EAAE;QAC7B,QAAO,QAAQ,EAAE,CAAC;YAChB,KAAK,QAAQ;gBACX,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,kBAAkB,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;YACvF,KAAK,MAAM;gBACT,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;YAC1F,KAAK,OAAO;gBACV,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;YACxF,KAAK,KAAK,CAAC;YACX;gBACE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,kBAAkB,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;QAC/F,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,YAAY,GAAwB;QACxC,QAAQ,EAAE,UAAU;QACpB,eAAe,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI;QAClC,KAAK,EAAE,OAAO;QACd,OAAO,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;QACpD,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE;QAC9B,QAAQ,EAAE,MAAM;QAChB,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,YAAY;QACpC,UAAU,EAAE,QAAiB;QAC7B,aAAa,EAAE,MAAe;QAC9B,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1B,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ;QAC5C,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI;QAClC,MAAM,EAAE,IAAI;QACZ,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE;QAC3B,GAAG,iBAAiB,EAAE;KACvB,CAAC;IAEF,OAAO,CACL,eACE,KAAK,EAAE,cAAc,EACrB,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,EACtC,YAAY,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,aAEtC,QAAQ,EACR,KAAK,IAAI,cAAK,KAAK,EAAE,YAAY,YAAG,KAAK,GAAO,IAC7C,CACP,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"Tooltip.js","sourceRoot":"","sources":["../../../src/components/Tooltip.tsx"],"names":[],"mappings":"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"}
@@ -2,15 +2,28 @@ import React from 'react';
2
2
  import { tokens } from '../tokens';
3
3
  export interface HeadingProps extends React.HTMLAttributes<HTMLHeadingElement> {
4
4
  level?: 1 | 2 | 3 | 4 | 5 | 6;
5
+ gradient?: boolean;
5
6
  }
6
7
  export declare const Heading: React.FC<HeadingProps>;
8
+ type TextColor = keyof typeof tokens.color | 'default' | 'muted' | 'disabled' | 'primary' | 'danger' | 'success' | 'warning' | 'info';
7
9
  export interface TextProps extends React.HTMLAttributes<HTMLParagraphElement> {
8
10
  size?: keyof typeof tokens.font;
9
11
  weight?: 'normal' | 'medium' | 'semibold' | 'bold';
10
- color?: keyof typeof tokens.color | 'default' | 'muted' | 'disabled' | 'primary' | 'danger' | 'success' | 'warning' | 'info';
12
+ color?: TextColor;
13
+ truncate?: boolean;
14
+ as?: 'p' | 'span' | 'div' | 'li';
11
15
  }
12
16
  export declare const Text: React.FC<TextProps>;
17
+ export interface LabelProps extends React.LabelHTMLAttributes<HTMLLabelElement> {
18
+ required?: boolean;
19
+ }
20
+ export declare const Label: React.FC<LabelProps>;
21
+ export interface CaptionProps extends React.HTMLAttributes<HTMLSpanElement> {
22
+ }
23
+ export declare const Caption: React.FC<CaptionProps>;
13
24
  export interface SectionHeaderProps extends React.HTMLAttributes<HTMLDivElement> {
14
25
  title: string;
26
+ description?: string;
15
27
  }
16
28
  export declare const SectionHeader: React.FC<SectionHeaderProps>;
29
+ export {};
@@ -1,78 +1,125 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import React from 'react';
3
3
  import { tokens } from '../tokens';
4
- export const Heading = ({ level = 2, children, className = '', style = {}, ...props }) => {
5
- const getFontSize = () => {
6
- switch (level) {
7
- case 1: return tokens.font['2xl'];
8
- case 2: return tokens.font.xl;
9
- case 3: return tokens.font.lg;
10
- case 4: return tokens.font.md;
11
- case 5: return tokens.font.base;
12
- case 6: return tokens.font.sm;
13
- default: return tokens.font.base;
14
- }
15
- };
4
+ const HEADING_SIZES = {
5
+ 1: tokens.font['2xl'],
6
+ 2: tokens.font.xl,
7
+ 3: tokens.font.lg,
8
+ 4: tokens.font.md,
9
+ 5: tokens.font.base,
10
+ 6: tokens.font.sm,
11
+ };
12
+ const HEADING_LINE_HEIGHTS = {
13
+ 1: 1.15,
14
+ 2: 1.2,
15
+ 3: 1.25,
16
+ 4: 1.3,
17
+ 5: 1.35,
18
+ 6: 1.4,
19
+ };
20
+ const HEADING_LETTER_SPACING = {
21
+ 1: '-0.03em',
22
+ 2: '-0.025em',
23
+ 3: '-0.02em',
24
+ 4: '-0.015em',
25
+ 5: '-0.01em',
26
+ 6: '0',
27
+ };
28
+ export const Heading = ({ level = 2, children, className = '', style = {}, gradient = false, ...props }) => {
16
29
  const baseStyle = {
17
30
  fontFamily: tokens.font.family,
18
31
  fontWeight: tokens.font.weightBold,
19
32
  color: tokens.color.text,
20
- fontSize: getFontSize(),
33
+ fontSize: HEADING_SIZES[level] || tokens.font.base,
21
34
  margin: 0,
22
- lineHeight: 1.25,
23
- letterSpacing: '-0.02em',
24
- ...style
35
+ lineHeight: HEADING_LINE_HEIGHTS[level] || 1.25,
36
+ letterSpacing: HEADING_LETTER_SPACING[level] || '-0.02em',
37
+ ...(gradient ? {
38
+ background: `linear-gradient(135deg, ${tokens.color.slate800} 0%, ${tokens.color.slate600} 100%)`,
39
+ WebkitBackgroundClip: 'text',
40
+ WebkitTextFillColor: 'transparent',
41
+ backgroundClip: 'text',
42
+ } : {}),
43
+ ...style,
25
44
  };
26
45
  const tag = `h${level}`;
27
- return React.createElement(tag, { style: baseStyle, className, ...props }, children);
46
+ return React.createElement(tag, { style: baseStyle, className: `ds-heading ${className}`, ...props }, children);
28
47
  };
29
- export const Text = ({ size = 'base', weight = 'normal', color = 'default', children, className = '', style = {}, ...props }) => {
30
- const getFontSize = () => tokens.font[size] || tokens.font.base;
31
- const getWeight = () => {
32
- if (weight === 'medium')
33
- return tokens.font.weightMedium;
34
- if (weight === 'semibold')
35
- return tokens.font.weightSemibold;
36
- if (weight === 'bold')
37
- return tokens.font.weightBold;
38
- return tokens.font.weightNormal;
39
- };
40
- const getColor = () => {
41
- if (tokens.color[color])
42
- return tokens.color[color];
43
- if (color === 'muted')
44
- return tokens.color.textMuted;
45
- if (color === 'disabled')
46
- return tokens.color.textDisabled;
47
- if (color === 'primary')
48
- return tokens.color.primary;
49
- if (color === 'danger')
50
- return tokens.color.danger;
51
- if (color === 'success')
52
- return tokens.color.success;
53
- if (color === 'warning')
54
- return tokens.color.warning;
55
- if (color === 'info')
56
- return tokens.color.info;
57
- return tokens.color.text;
58
- };
48
+ const COLOR_MAP = {
49
+ muted: tokens.color.textMuted,
50
+ disabled: tokens.color.textDisabled,
51
+ primary: tokens.color.primary,
52
+ danger: tokens.color.danger,
53
+ success: tokens.color.success,
54
+ warning: tokens.color.warning,
55
+ info: tokens.color.info,
56
+ default: tokens.color.text,
57
+ };
58
+ const WEIGHT_MAP = {
59
+ normal: tokens.font.weightNormal,
60
+ medium: tokens.font.weightMedium,
61
+ semibold: tokens.font.weightSemibold,
62
+ bold: tokens.font.weightBold,
63
+ };
64
+ export const Text = ({ size = 'base', weight = 'normal', color = 'default', truncate = false, as: Tag = 'p', children, className = '', style = {}, ...props }) => {
65
+ const resolvedColor = COLOR_MAP[color] ||
66
+ tokens.color[color] ||
67
+ tokens.color.text;
59
68
  const baseStyle = {
60
69
  fontFamily: tokens.font.family,
61
- fontSize: getFontSize(),
62
- fontWeight: getWeight(),
63
- color: getColor(),
70
+ fontSize: tokens.font[size] || tokens.font.base,
71
+ fontWeight: WEIGHT_MAP[weight] || tokens.font.weightNormal,
72
+ color: resolvedColor,
64
73
  margin: 0,
65
- lineHeight: 1.6,
66
- ...style
74
+ lineHeight: 1.65,
75
+ ...(truncate ? {
76
+ whiteSpace: 'nowrap',
77
+ overflow: 'hidden',
78
+ textOverflow: 'ellipsis',
79
+ } : {}),
80
+ ...style,
67
81
  };
68
- return _jsx("p", { style: baseStyle, className: className, ...props, children: children });
82
+ return React.createElement(Tag, { style: baseStyle, className: `ds-text ${className}`, ...props }, children);
69
83
  };
70
- export const SectionHeader = ({ title, className = '', style = {} }) => (_jsxs("div", { style: { display: 'flex', alignItems: 'center', gap: tokens.spacing[4], margin: `${tokens.spacing[6]} 0`, ...style }, className: className, children: [_jsx("div", { style: { width: '4px', height: '18px', backgroundColor: tokens.color.primary, borderRadius: '2px' } }), _jsx("h4", { style: {
71
- fontSize: tokens.font.xs,
72
- fontWeight: tokens.font.weightBold,
73
- color: tokens.color.slate700,
74
- textTransform: 'uppercase',
75
- letterSpacing: '0.12em',
76
- margin: 0,
77
- }, children: title }), _jsx("div", { style: { flex: 1, height: '1px', backgroundColor: tokens.color.slate100 } })] }));
84
+ export const Label = ({ children, required, className = '', style = {}, ...props }) => (_jsxs("label", { style: {
85
+ display: 'inline-flex',
86
+ alignItems: 'center',
87
+ gap: '3px',
88
+ fontSize: tokens.font.xs,
89
+ fontWeight: tokens.font.weightSemibold,
90
+ color: tokens.color.slate600,
91
+ letterSpacing: '0.02em',
92
+ ...style,
93
+ }, className: `ds-label ${className}`, ...props, children: [children, required && (_jsx("span", { style: { color: tokens.color.danger, lineHeight: 1 }, children: "*" }))] }));
94
+ export const Caption = ({ children, className = '', style = {}, ...props }) => (_jsx("span", { style: {
95
+ fontSize: '11px',
96
+ fontWeight: tokens.font.weightMedium,
97
+ color: tokens.color.textMuted,
98
+ lineHeight: 1.5,
99
+ ...style,
100
+ }, className: `ds-caption ${className}`, ...props, children: children }));
101
+ export const SectionHeader = ({ title, description, className = '', style = {}, }) => (_jsxs("div", { style: { display: 'flex', alignItems: 'center', gap: tokens.spacing[4], margin: `${tokens.spacing[6]} 0`, ...style }, className: `ds-section-header ${className}`, children: [_jsx("div", { style: {
102
+ width: '3px',
103
+ height: '16px',
104
+ background: `linear-gradient(to bottom, ${tokens.color.primary}, ${tokens.color.info})`,
105
+ borderRadius: tokens.radius.full,
106
+ flexShrink: 0,
107
+ } }), _jsxs("div", { style: { flex: 1 }, children: [_jsx("h4", { style: {
108
+ fontSize: tokens.font.xs,
109
+ fontWeight: tokens.font.weightBold,
110
+ color: tokens.color.slate700,
111
+ textTransform: 'uppercase',
112
+ letterSpacing: '0.1em',
113
+ margin: 0,
114
+ lineHeight: 1.4,
115
+ }, children: title }), description && (_jsx("p", { style: {
116
+ fontSize: '11px',
117
+ color: tokens.color.textMuted,
118
+ margin: '2px 0 0 0',
119
+ fontWeight: tokens.font.weightMedium,
120
+ }, children: description }))] }), _jsx("div", { style: {
121
+ flex: 1,
122
+ height: '1px',
123
+ background: `linear-gradient(to right, ${tokens.color.slate200}, transparent)`,
124
+ } })] }));
78
125
  //# sourceMappingURL=Typography.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Typography.js","sourceRoot":"","sources":["../../../src/components/Typography.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Typography.js","sourceRoot":"","sources":["../../../src/components/Typography.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAQnC,MAAM,aAAa,GAA2B;IAC5C,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;IACrB,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE;IACjB,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE;IACjB,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE;IACjB,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI;IACnB,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE;CAClB,CAAC;AAEF,MAAM,oBAAoB,GAA2B;IACnD,CAAC,EAAE,IAAI;IACP,CAAC,EAAE,GAAG;IACN,CAAC,EAAE,IAAI;IACP,CAAC,EAAE,GAAG;IACN,CAAC,EAAE,IAAI;IACP,CAAC,EAAE,GAAG;CACP,CAAC;AAEF,MAAM,sBAAsB,GAA2B;IACrD,CAAC,EAAE,SAAS;IACZ,CAAC,EAAE,UAAU;IACb,CAAC,EAAE,SAAS;IACZ,CAAC,EAAE,UAAU;IACb,CAAC,EAAE,SAAS;IACZ,CAAC,EAAE,GAAG;CACP,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAA2B,CAAC,EAC9C,KAAK,GAAG,CAAC,EACT,QAAQ,EACR,SAAS,GAAG,EAAE,EACd,KAAK,GAAG,EAAE,EACV,QAAQ,GAAG,KAAK,EAChB,GAAG,KAAK,EACT,EAAE,EAAE;IACH,MAAM,SAAS,GAAwB;QACrC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM;QAC9B,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU;QAClC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI;QACxB,QAAQ,EAAE,aAAa,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI;QAClD,MAAM,EAAE,CAAC;QACT,UAAU,EAAE,oBAAoB,CAAC,KAAK,CAAC,IAAI,IAAI;QAC/C,aAAa,EAAE,sBAAsB,CAAC,KAAK,CAAC,IAAI,SAAS;QACzD,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;YACb,UAAU,EAAE,2BAA2B,MAAM,CAAC,KAAK,CAAC,QAAQ,QAAQ,MAAM,CAAC,KAAK,CAAC,QAAQ,QAAQ;YACjG,oBAAoB,EAAE,MAAM;YAC5B,mBAAmB,EAAE,aAAa;YAClC,cAAc,EAAE,MAAM;SACvB,CAAC,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,KAAK;KACT,CAAC;IAEF,MAAM,GAAG,GAAG,IAAI,KAAK,EAA6C,CAAC;IACnE,OAAO,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,SAAS,EAAE,EAAE,GAAG,KAAK,EAAE,EAAE,QAAQ,CAAC,CAAC;AAClH,CAAC,CAAC;AAgBF,MAAM,SAAS,GAAuC;IACpD,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS;IAC7B,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,YAAY;IACnC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO;IAC7B,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM;IAC3B,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO;IAC7B,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO;IAC7B,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI;IACvB,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI;CAC3B,CAAC;AAEF,MAAM,UAAU,GAAG;IACjB,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,YAAY;IAChC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,YAAY;IAChC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,cAAc;IACpC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU;CAC7B,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAAwB,CAAC,EACxC,IAAI,GAAG,MAAM,EACb,MAAM,GAAG,QAAQ,EACjB,KAAK,GAAG,SAAS,EACjB,QAAQ,GAAG,KAAK,EAChB,EAAE,EAAE,GAAG,GAAG,GAAG,EACb,QAAQ,EACR,SAAS,GAAG,EAAE,EACd,KAAK,GAAG,EAAE,EACV,GAAG,KAAK,EACT,EAAE,EAAE;IACH,MAAM,aAAa,GACjB,SAAS,CAAC,KAAkB,CAAC;QAC5B,MAAM,CAAC,KAAK,CAAC,KAAkC,CAAwB;QACxE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;IAEpB,MAAM,SAAS,GAAwB;QACrC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM;QAC9B,QAAQ,EAAG,MAAM,CAAC,IAAI,CAAC,IAAgC,CAAY,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI;QACvF,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY;QAC1D,KAAK,EAAE,aAAa;QACpB,MAAM,EAAE,CAAC;QACT,UAAU,EAAE,IAAI;QAChB,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;YACb,UAAU,EAAE,QAAiB;YAC7B,QAAQ,EAAE,QAAQ;YAClB,YAAY,EAAE,UAAU;SACzB,CAAC,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,KAAK;KACT,CAAC;IAEF,OAAO,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,SAAS,EAAE,EAAE,GAAG,KAAK,EAAE,EAAE,QAAQ,CAAC,CAAC;AAC/G,CAAC,CAAC;AAOF,MAAM,CAAC,MAAM,KAAK,GAAyB,CAAC,EAC1C,QAAQ,EACR,QAAQ,EACR,SAAS,GAAG,EAAE,EACd,KAAK,GAAG,EAAE,EACV,GAAG,KAAK,EACT,EAAE,EAAE,CAAC,CACJ,iBACE,KAAK,EAAE;QACL,OAAO,EAAE,aAAa;QACtB,UAAU,EAAE,QAAQ;QACpB,GAAG,EAAE,KAAK;QACV,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE;QACxB,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,cAAc;QACtC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ;QAC5B,aAAa,EAAE,QAAQ;QACvB,GAAG,KAAK;KACT,EACD,SAAS,EAAE,YAAY,SAAS,EAAE,KAC9B,KAAK,aAER,QAAQ,EACR,QAAQ,IAAI,CACX,eAAM,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,EAAE,kBAAU,CACrE,IACK,CACT,CAAC;AAKF,MAAM,CAAC,MAAM,OAAO,GAA2B,CAAC,EAC9C,QAAQ,EACR,SAAS,GAAG,EAAE,EACd,KAAK,GAAG,EAAE,EACV,GAAG,KAAK,EACT,EAAE,EAAE,CAAC,CACJ,eACE,KAAK,EAAE;QACL,QAAQ,EAAE,MAAM;QAChB,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,YAAY;QACpC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS;QAC7B,UAAU,EAAE,GAAG;QACf,GAAG,KAAK;KACT,EACD,SAAS,EAAE,cAAc,SAAS,EAAE,KAChC,KAAK,YAER,QAAQ,GACJ,CACR,CAAC;AAQF,MAAM,CAAC,MAAM,aAAa,GAAiC,CAAC,EAC1D,KAAK,EACL,WAAW,EACX,SAAS,GAAG,EAAE,EACd,KAAK,GAAG,EAAE,GACX,EAAE,EAAE,CAAC,CACJ,eACE,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,KAAK,EAAE,EACpH,SAAS,EAAE,qBAAqB,SAAS,EAAE,aAE3C,cAAK,KAAK,EAAE;gBACV,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,MAAM;gBACd,UAAU,EAAE,8BAA8B,MAAM,CAAC,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG;gBACvF,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI;gBAChC,UAAU,EAAE,CAAC;aACd,GAAI,EACL,eAAK,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,aACrB,aAAI,KAAK,EAAE;wBACT,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE;wBACxB,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU;wBAClC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ;wBAC5B,aAAa,EAAE,WAAoB;wBACnC,aAAa,EAAE,OAAO;wBACtB,MAAM,EAAE,CAAC;wBACT,UAAU,EAAE,GAAG;qBAChB,YACE,KAAK,GACH,EACJ,WAAW,IAAI,CACd,YAAG,KAAK,EAAE;wBACR,QAAQ,EAAE,MAAM;wBAChB,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS;wBAC7B,MAAM,EAAE,WAAW;wBACnB,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,YAAY;qBACrC,YACE,WAAW,GACV,CACL,IACG,EACN,cAAK,KAAK,EAAE;gBACV,IAAI,EAAE,CAAC;gBACP,MAAM,EAAE,KAAK;gBACb,UAAU,EAAE,6BAA6B,MAAM,CAAC,KAAK,CAAC,QAAQ,gBAAgB;aAC/E,GAAI,IACD,CACP,CAAC"}
@@ -13,14 +13,14 @@ export { Select } from './components/Select';
13
13
  export type { InputProps, TextareaProps, CheckboxProps, NativeSelectProps } from './components/InputComponents';
14
14
  export type { MultiSelectProps } from './components/MultiSelect';
15
15
  export type { SelectProps, SelectOption } from './components/Select';
16
- export { Heading, Text, SectionHeader } from './components/Typography';
17
- export type { HeadingProps, TextProps, SectionHeaderProps } from './components/Typography';
18
- export { LoadingSpinner } from './components/LoadingSpinner';
19
- export type { LoadingSpinnerProps } from './components/LoadingSpinner';
16
+ export { Heading, Text, SectionHeader, Label, Caption } from './components/Typography';
17
+ export type { HeadingProps, TextProps, SectionHeaderProps, LabelProps, CaptionProps } from './components/Typography';
18
+ export { LoadingSpinner, LoadingOverlay } from './components/LoadingSpinner';
19
+ export type { LoadingSpinnerProps, LoadingOverlayProps } from './components/LoadingSpinner';
20
20
  export { ReadOnlyField } from './components/ReadOnlyField';
21
21
  export type { ReadOnlyFieldProps } from './components/ReadOnlyField';
22
- export { Avatar } from './components/Avatar';
23
- export type { AvatarProps } from './components/Avatar';
22
+ export { Avatar, AvatarGroup } from './components/Avatar';
23
+ export type { AvatarProps, AvatarGroupProps } from './components/Avatar';
24
24
  export { Switch } from './components/Switch';
25
25
  export type { SwitchProps } from './components/Switch';
26
26
  export { Tabs, Tab } from './components/Tabs';