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
@@ -2,8 +2,9 @@ import React from 'react';
2
2
  export interface AlertProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'title'> {
3
3
  severity?: 'success' | 'warning' | 'error' | 'info';
4
4
  title?: string;
5
- variant?: 'standard';
5
+ variant?: 'standard' | 'filled' | 'outlined';
6
6
  icon?: React.ReactNode;
7
7
  onClose?: () => void;
8
+ action?: React.ReactNode;
8
9
  }
9
10
  export declare const Alert: React.FC<AlertProps>;
@@ -1,58 +1,100 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState } from 'react';
2
3
  import { tokens } from '../tokens';
3
- const getIcon = (severity, icon) => {
4
- if (icon)
5
- return icon;
6
- switch (severity) {
7
- case 'success':
8
- return (_jsxs("svg", { width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, children: [_jsx("path", { d: "M22 11.08V12a10 10 0 11-5.93-9.14" }), _jsx("path", { d: "M22 4L12 14.01l-3-3" })] }));
9
- case 'warning':
10
- return (_jsxs("svg", { width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, children: [_jsx("path", { d: "M10.29 3.86L1.82 18a2 2 0 001.71 3h16.94a2 2 0 001.71-3L13.71 3.86a2 2 0 00-3.42 0z" }), _jsx("line", { x1: "12", y1: "9", x2: "12", y2: "13" }), _jsx("line", { x1: "12", y1: "17", x2: "12.01", y2: "17" })] }));
11
- case 'error':
12
- return (_jsxs("svg", { width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, children: [_jsx("circle", { cx: "12", cy: "12", r: "10" }), _jsx("line", { x1: "15", y1: "9", x2: "9", y2: "15" }), _jsx("line", { x1: "9", y1: "9", x2: "15", y2: "15" })] }));
13
- case 'info':
14
- default:
15
- return (_jsxs("svg", { width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, children: [_jsx("circle", { cx: "12", cy: "12", r: "10" }), _jsx("line", { x1: "12", y1: "16", x2: "12", y2: "12" }), _jsx("line", { x1: "12", y1: "8", x2: "12.01", y2: "8" })] }));
16
- }
4
+ const SEVERITY_CONFIG = {
5
+ success: {
6
+ bg: tokens.color.successBg,
7
+ border: 'rgba(16, 185, 129, 0.2)',
8
+ text: tokens.color.success,
9
+ darkText: '#065f46',
10
+ accentBar: tokens.color.success,
11
+ filledBg: tokens.color.success,
12
+ },
13
+ warning: {
14
+ bg: tokens.color.warningBg,
15
+ border: 'rgba(245, 158, 11, 0.2)',
16
+ text: '#d97706',
17
+ darkText: '#92400e',
18
+ accentBar: tokens.color.warning,
19
+ filledBg: tokens.color.warning,
20
+ },
21
+ error: {
22
+ bg: tokens.color.dangerBg,
23
+ border: 'rgba(239, 68, 68, 0.2)',
24
+ text: tokens.color.danger,
25
+ darkText: '#991b1b',
26
+ accentBar: tokens.color.danger,
27
+ filledBg: tokens.color.danger,
28
+ },
29
+ info: {
30
+ bg: tokens.color.infoBg,
31
+ border: 'rgba(59, 130, 246, 0.2)',
32
+ text: tokens.color.info,
33
+ darkText: '#1e40af',
34
+ accentBar: tokens.color.info,
35
+ filledBg: tokens.color.info,
36
+ },
17
37
  };
18
- const getSeverityStyles = (severity) => {
19
- switch (severity) {
20
- case 'success':
21
- return { bg: tokens.color.successBg, border: 'rgba(16, 185, 129, 0.2)', text: tokens.color.success, darkText: '#065f46' };
22
- case 'warning':
23
- return { bg: tokens.color.warningBg, border: 'rgba(245, 158, 11, 0.2)', text: tokens.color.warning, darkText: '#92400e' };
24
- case 'error':
25
- return { bg: tokens.color.dangerBg, border: 'rgba(239, 68, 68, 0.2)', text: tokens.color.danger, darkText: '#991b1b' };
26
- case 'info':
27
- default:
28
- return { bg: tokens.color.infoBg, border: 'rgba(59, 130, 246, 0.2)', text: tokens.color.info, darkText: '#1e40af' };
29
- }
38
+ const DEFAULT_ICONS = {
39
+ success: (_jsxs("svg", { width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2.5, strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("path", { d: "M22 11.08V12a10 10 0 11-5.93-9.14" }), _jsx("polyline", { points: "22 4 12 14.01 9 11.01" })] })),
40
+ warning: (_jsxs("svg", { width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2.5, strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("path", { d: "M10.29 3.86L1.82 18a2 2 0 001.71 3h16.94a2 2 0 001.71-3L13.71 3.86a2 2 0 00-3.42 0z" }), _jsx("line", { x1: "12", y1: "9", x2: "12", y2: "13" }), _jsx("line", { x1: "12", y1: "17", x2: "12.01", y2: "17" })] })),
41
+ error: (_jsxs("svg", { width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2.5, strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("circle", { cx: "12", cy: "12", r: "10" }), _jsx("line", { x1: "15", y1: "9", x2: "9", y2: "15" }), _jsx("line", { x1: "9", y1: "9", x2: "15", y2: "15" })] })),
42
+ info: (_jsxs("svg", { width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2.5, strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("circle", { cx: "12", cy: "12", r: "10" }), _jsx("line", { x1: "12", y1: "16", x2: "12", y2: "12" }), _jsx("line", { x1: "12", y1: "8", x2: "12.01", y2: "8" })] })),
30
43
  };
31
- export const Alert = ({ severity = 'info', title, children, className = '', style = {}, variant = 'standard', icon, onClose, ...props }) => {
32
- const s = getSeverityStyles(severity);
44
+ export const Alert = ({ severity = 'info', title, children, className = '', style = {}, variant = 'standard', icon, onClose, action, ...props }) => {
45
+ const [dismissed, setDismissed] = useState(false);
46
+ if (dismissed)
47
+ return null;
48
+ const s = SEVERITY_CONFIG[severity] || SEVERITY_CONFIG.info;
49
+ const isFilled = variant === 'filled';
50
+ const isOutlined = variant === 'outlined';
33
51
  const baseStyle = {
34
52
  display: 'flex',
35
53
  gap: tokens.spacing['3'],
36
- padding: tokens.spacing['4'],
54
+ padding: `${tokens.spacing['3']} ${tokens.spacing['4']}`,
37
55
  borderRadius: tokens.radius.lg,
38
- border: `1px solid ${s.border}`,
39
- backgroundColor: s.bg,
40
- color: s.darkText,
41
56
  fontSize: tokens.font.sm,
42
- lineHeight: 1.5,
57
+ lineHeight: 1.55,
43
58
  position: 'relative',
59
+ overflow: 'hidden',
60
+ fontFamily: tokens.font.family,
61
+ ...(isFilled ? {
62
+ backgroundColor: s.filledBg,
63
+ color: '#fff',
64
+ border: 'none',
65
+ boxShadow: `0 4px 12px ${s.filledBg}40`,
66
+ } : isOutlined ? {
67
+ backgroundColor: 'transparent',
68
+ color: s.darkText,
69
+ border: `1.5px solid ${s.accentBar}`,
70
+ } : {
71
+ backgroundColor: s.bg,
72
+ color: s.darkText,
73
+ border: `1px solid ${s.border}`,
74
+ borderLeft: `4px solid ${s.accentBar}`,
75
+ }),
44
76
  ...style,
45
77
  };
46
- return (_jsxs("div", { style: baseStyle, className: className, ...props, children: [_jsx("div", { style: { color: s.text, flexShrink: 0, marginTop: '2px' }, children: getIcon(severity, icon) }), _jsxs("div", { style: { flex: 1 }, children: [title && _jsx("div", { style: { fontWeight: tokens.font.weightSemibold, marginBottom: '2px' }, children: title }), _jsx("div", { style: { opacity: 0.9 }, children: children })] }), onClose && (_jsx("button", { onClick: onClose, style: {
78
+ const iconColor = isFilled ? '#fff' : s.text;
79
+ const resolvedIcon = icon || DEFAULT_ICONS[severity];
80
+ return (_jsxs("div", { style: baseStyle, className: `ds-alert ds-alert--${severity} ds-alert--${variant} ${className}`, ...props, children: [_jsx("div", { style: { color: iconColor, flexShrink: 0, marginTop: '2px', display: 'flex', alignItems: 'flex-start' }, children: resolvedIcon }), _jsxs("div", { style: { flex: 1, minWidth: 0 }, children: [title && (_jsx("div", { style: {
81
+ fontWeight: tokens.font.weightBold,
82
+ marginBottom: children ? '3px' : 0,
83
+ fontSize: tokens.font.sm,
84
+ lineHeight: 1.4,
85
+ }, children: title })), children && (_jsx("div", { style: { opacity: isFilled ? 0.9 : 1, fontWeight: tokens.font.weightMedium }, children: children })), action && (_jsx("div", { style: { marginTop: tokens.spacing['2'] }, children: action }))] }), onClose && (_jsx("button", { type: "button", onClick: () => { setDismissed(true); onClose(); }, style: {
47
86
  background: 'none',
48
87
  border: 'none',
49
88
  cursor: 'pointer',
50
- padding: tokens.spacing['1'],
51
- color: 'inherit',
52
- opacity: 0.5,
89
+ padding: '3px',
90
+ color: isFilled ? 'rgba(255,255,255,0.8)' : s.darkText,
53
91
  display: 'flex',
54
92
  alignItems: 'center',
55
93
  justifyContent: 'center',
56
- }, children: _jsx("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, children: _jsx("path", { d: "M18 6L6 18M6 6l12 12" }) }) }))] }));
94
+ borderRadius: tokens.radius.sm,
95
+ flexShrink: 0,
96
+ opacity: 0.65,
97
+ transition: tokens.transition.fast,
98
+ }, onMouseEnter: (e) => (e.currentTarget.style.opacity = '1'), onMouseLeave: (e) => (e.currentTarget.style.opacity = '0.65'), children: _jsx("svg", { width: "15", height: "15", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2.5, strokeLinecap: "round", children: _jsx("path", { d: "M18 6L6 18M6 6l12 12" }) }) }))] }));
57
99
  };
58
100
  //# sourceMappingURL=Alert.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Alert.js","sourceRoot":"","sources":["../../../src/components/Alert.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Alert.js","sourceRoot":"","sources":["../../../src/components/Alert.tsx"],"names":[],"mappings":"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"}
@@ -2,8 +2,17 @@ import React from 'react';
2
2
  export interface AvatarProps extends React.HTMLAttributes<HTMLElement> {
3
3
  src?: string;
4
4
  alt?: string;
5
- size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
6
- variant?: 'circle' | 'rounded';
5
+ size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';
6
+ variant?: 'circle' | 'rounded' | 'square';
7
7
  status?: 'online' | 'offline' | 'busy' | 'away';
8
+ initials?: string;
9
+ ring?: boolean;
10
+ ringColor?: string;
8
11
  }
9
12
  export declare const Avatar: React.FC<AvatarProps>;
13
+ export interface AvatarGroupProps {
14
+ max?: number;
15
+ size?: AvatarProps['size'];
16
+ children: React.ReactElement<AvatarProps>[];
17
+ }
18
+ export declare const AvatarGroup: React.FC<AvatarGroupProps>;
@@ -1,61 +1,108 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React from 'react';
2
3
  import { tokens } from '../tokens';
3
- export const Avatar = ({ src, alt, children, size = 'md', variant = 'circle', status, className = '', style = {}, ...props }) => {
4
- const getDims = () => {
5
- switch (size) {
6
- case 'xs': return '24px';
7
- case 'sm': return '32px';
8
- case 'lg': return '48px';
9
- case 'xl': return '64px';
10
- default: return '40px';
11
- }
12
- };
13
- const dims = getDims();
14
- const radius = variant === 'circle' ? '50%' : tokens.radius.lg;
4
+ const SIZE_MAP = {
5
+ xs: '24px',
6
+ sm: '32px',
7
+ md: '40px',
8
+ lg: '48px',
9
+ xl: '64px',
10
+ '2xl': '80px',
11
+ };
12
+ const STATUS_COLOR_MAP = {
13
+ online: tokens.color.success,
14
+ busy: tokens.color.danger,
15
+ away: tokens.color.warning,
16
+ offline: tokens.color.slate300,
17
+ };
18
+ const GRADIENT_POOL = [
19
+ 'linear-gradient(135deg, #667eea 0%, #764ba2 100%)',
20
+ 'linear-gradient(135deg, #f093fb 0%, #f5576c 100%)',
21
+ 'linear-gradient(135deg, #4facfe 0%, #00f2fe 100%)',
22
+ 'linear-gradient(135deg, #43e97b 0%, #38f9d7 100%)',
23
+ 'linear-gradient(135deg, #fa709a 0%, #fee140 100%)',
24
+ 'linear-gradient(135deg, #a18cd1 0%, #fbc2eb 100%)',
25
+ ];
26
+ function getGradientForInitials(text) {
27
+ let hash = 0;
28
+ for (let i = 0; i < text.length; i++)
29
+ hash = text.charCodeAt(i) + ((hash << 5) - hash);
30
+ return GRADIENT_POOL[Math.abs(hash) % GRADIENT_POOL.length];
31
+ }
32
+ export const Avatar = ({ src, alt, children, size = 'md', variant = 'circle', status, initials, ring = false, ringColor, className = '', style = {}, ...props }) => {
33
+ const dims = SIZE_MAP[size] || '40px';
34
+ const borderRadius = variant === 'circle' ? '50%' :
35
+ variant === 'rounded' ? tokens.radius.lg :
36
+ tokens.radius.md;
37
+ const fallbackLabel = initials || (typeof children === 'string' ? children : undefined);
38
+ const gradientBg = fallbackLabel ? getGradientForInitials(fallbackLabel) : undefined;
39
+ const statusDotSize = size === 'xs' || size === 'sm' ? '8px' : '10px';
15
40
  const containerStyle = {
16
41
  position: 'relative',
17
42
  width: dims,
18
43
  height: dims,
19
- display: 'inline-block',
20
- ...style
44
+ display: 'inline-flex',
45
+ flexShrink: 0,
46
+ ...style,
21
47
  };
22
- const baseStyle = {
48
+ const innerStyle = {
23
49
  width: '100%',
24
50
  height: '100%',
25
- borderRadius: radius,
51
+ borderRadius,
26
52
  display: 'flex',
27
53
  alignItems: 'center',
28
54
  justifyContent: 'center',
29
- backgroundColor: tokens.color.slate100,
30
- color: tokens.color.slate600,
31
- fontSize: `calc(${dims} / 2.2)`,
55
+ ...(src ? {} : {
56
+ background: gradientBg || tokens.color.slate100,
57
+ }),
58
+ color: '#fff',
59
+ fontSize: `calc(${dims} / 2.5)`,
32
60
  fontWeight: tokens.font.weightBold,
33
61
  overflow: 'hidden',
34
62
  userSelect: 'none',
35
- border: `1.5px solid ${tokens.color.white}`,
36
- boxShadow: tokens.shadow.sm,
63
+ boxShadow: ring
64
+ ? `0 0 0 2.5px ${ringColor || tokens.color.surface}, 0 0 0 4.5px ${ringColor ? ringColor + '80' : tokens.color.primary}`
65
+ : tokens.shadow.sm,
37
66
  objectFit: 'cover',
67
+ letterSpacing: '-0.02em',
38
68
  };
39
- const getStatusColor = () => {
40
- switch (status) {
41
- case 'online': return tokens.color.success;
42
- case 'busy': return tokens.color.danger;
43
- case 'away': return tokens.color.warning;
44
- case 'offline': return tokens.color.slate400;
45
- default: return 'transparent';
46
- }
69
+ const statusStyle = {
70
+ position: 'absolute',
71
+ bottom: variant === 'circle' ? '1px' : '-2px',
72
+ right: variant === 'circle' ? '1px' : '-2px',
73
+ width: statusDotSize,
74
+ height: statusDotSize,
75
+ borderRadius: '50%',
76
+ backgroundColor: STATUS_COLOR_MAP[status] || 'transparent',
77
+ border: `2px solid ${tokens.color.white}`,
78
+ boxShadow: '0 1px 3px rgba(0,0,0,0.15)',
47
79
  };
48
- const statusSize = size === 'xs' ? '6px' : (size === 'sm' ? '8px' : '10px');
49
- return (_jsxs("div", { style: containerStyle, className: className, children: [src ? (_jsx("img", { src: src, alt: alt || 'Avatar', style: baseStyle, ...props })) : (_jsx("div", { style: baseStyle, ...props, children: children })), status && (_jsx("div", { style: {
50
- position: 'absolute',
51
- bottom: '1px',
52
- right: '1px',
53
- width: statusSize,
54
- height: statusSize,
80
+ return (_jsxs("div", { style: containerStyle, className: `ds-avatar ${className}`, children: [src ? (_jsx("img", { src: src, alt: alt || 'Avatar', style: innerStyle, ...props })) : (_jsx("div", { style: innerStyle, ...props, children: fallbackLabel || children })), status && _jsx("div", { style: statusStyle })] }));
81
+ };
82
+ export const AvatarGroup = ({ max = 4, size = 'md', children, }) => {
83
+ const visible = children.slice(0, max);
84
+ const overflow = children.length - max;
85
+ const dims = SIZE_MAP[size] || '40px';
86
+ const offset = `calc(${dims} * -0.3)`;
87
+ return (_jsxs("div", { style: { display: 'flex', alignItems: 'center' }, children: [visible.map((child, i) => React.cloneElement(child, {
88
+ key: i,
89
+ size,
90
+ ring: true,
91
+ style: { marginLeft: i === 0 ? 0 : offset, ...(child.props.style || {}) },
92
+ })), overflow > 0 && (_jsxs("div", { style: {
93
+ width: dims,
94
+ height: dims,
55
95
  borderRadius: '50%',
56
- backgroundColor: getStatusColor(),
57
- border: `2px solid ${tokens.color.white}`,
58
- boxShadow: '0 0 0 1px rgba(0,0,0,0.05)'
59
- } }))] }));
96
+ background: tokens.color.slate200,
97
+ color: tokens.color.slate600,
98
+ display: 'flex',
99
+ alignItems: 'center',
100
+ justifyContent: 'center',
101
+ fontSize: `calc(${dims} / 3)`,
102
+ fontWeight: tokens.font.weightBold,
103
+ marginLeft: offset,
104
+ boxShadow: `0 0 0 2.5px ${tokens.color.surface}`,
105
+ userSelect: 'none',
106
+ }, children: ["+", overflow] }))] }));
60
107
  };
61
108
  //# sourceMappingURL=Avatar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Avatar.js","sourceRoot":"","sources":["../../../src/components/Avatar.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Avatar.js","sourceRoot":"","sources":["../../../src/components/Avatar.tsx"],"names":[],"mappings":"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"}
@@ -1,7 +1,9 @@
1
1
  import React from 'react';
2
2
  export interface BadgeProps extends React.HTMLAttributes<HTMLSpanElement> {
3
3
  variant?: 'success' | 'warning' | 'danger' | 'info' | 'primary' | 'slate';
4
- type?: 'subtle' | 'solid';
5
- size?: 'sm' | 'md';
4
+ type?: 'subtle' | 'solid' | 'outline';
5
+ size?: 'sm' | 'md' | 'lg';
6
+ dot?: boolean;
7
+ icon?: React.ReactNode;
6
8
  }
7
9
  export declare const Badge: React.FC<BadgeProps>;
@@ -1,89 +1,127 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { tokens } from '../tokens';
3
- export const Badge = ({ children, variant = 'slate', type = 'subtle', size = 'md', className = '', style = {}, ...props }) => {
3
+ export const Badge = ({ children, variant = 'slate', type = 'subtle', size = 'md', dot = false, icon, className = '', style = {}, ...props }) => {
4
4
  const getVariantStyles = () => {
5
5
  const isSubtle = type === 'subtle';
6
+ const isOutline = type === 'outline';
6
7
  switch (variant) {
7
8
  case 'primary':
8
9
  return isSubtle ? {
9
10
  backgroundColor: tokens.color.primaryLight,
10
11
  color: tokens.color.primary,
11
- borderColor: 'rgba(37, 99, 235, 0.15)'
12
+ borderColor: 'rgba(37, 99, 235, 0.2)',
13
+ } : isOutline ? {
14
+ backgroundColor: 'transparent',
15
+ color: tokens.color.primary,
16
+ borderColor: tokens.color.primary,
12
17
  } : {
13
18
  backgroundColor: tokens.color.primary,
14
- color: 'white',
15
- borderColor: 'transparent'
19
+ color: '#fff',
20
+ borderColor: 'transparent',
16
21
  };
17
22
  case 'success':
18
23
  return isSubtle ? {
19
24
  backgroundColor: tokens.color.successBg,
20
25
  color: tokens.color.success,
21
- borderColor: 'rgba(5, 150, 105, 0.15)'
26
+ borderColor: 'rgba(5, 150, 105, 0.2)',
27
+ } : isOutline ? {
28
+ backgroundColor: 'transparent',
29
+ color: tokens.color.success,
30
+ borderColor: tokens.color.success,
22
31
  } : {
23
32
  backgroundColor: tokens.color.success,
24
- color: 'white',
25
- borderColor: 'transparent'
33
+ color: '#fff',
34
+ borderColor: 'transparent',
26
35
  };
27
36
  case 'warning':
28
37
  return isSubtle ? {
29
38
  backgroundColor: tokens.color.warningBg,
39
+ color: '#b45309',
40
+ borderColor: 'rgba(245, 158, 11, 0.2)',
41
+ } : isOutline ? {
42
+ backgroundColor: 'transparent',
30
43
  color: tokens.color.warning,
31
- borderColor: 'rgba(245, 158, 11, 0.15)'
44
+ borderColor: tokens.color.warning,
32
45
  } : {
33
46
  backgroundColor: tokens.color.warning,
34
- color: 'white',
35
- borderColor: 'transparent'
47
+ color: '#fff',
48
+ borderColor: 'transparent',
36
49
  };
37
50
  case 'danger':
38
51
  return isSubtle ? {
39
52
  backgroundColor: tokens.color.dangerBg,
40
53
  color: tokens.color.danger,
41
- borderColor: 'rgba(220, 38, 38, 0.15)'
54
+ borderColor: 'rgba(220, 38, 38, 0.2)',
55
+ } : isOutline ? {
56
+ backgroundColor: 'transparent',
57
+ color: tokens.color.danger,
58
+ borderColor: tokens.color.danger,
42
59
  } : {
43
60
  backgroundColor: tokens.color.danger,
44
- color: 'white',
45
- borderColor: 'transparent'
61
+ color: '#fff',
62
+ borderColor: 'transparent',
46
63
  };
47
64
  case 'info':
48
65
  return isSubtle ? {
49
66
  backgroundColor: tokens.color.infoBg,
50
67
  color: tokens.color.info,
51
- borderColor: 'rgba(59, 130, 246, 0.15)'
68
+ borderColor: 'rgba(59, 130, 246, 0.2)',
69
+ } : isOutline ? {
70
+ backgroundColor: 'transparent',
71
+ color: tokens.color.info,
72
+ borderColor: tokens.color.info,
52
73
  } : {
53
74
  backgroundColor: tokens.color.info,
54
- color: 'white',
55
- borderColor: 'transparent'
75
+ color: '#fff',
76
+ borderColor: 'transparent',
56
77
  };
57
78
  case 'slate':
58
79
  default:
59
80
  return isSubtle ? {
60
81
  backgroundColor: tokens.color.slate100,
61
- color: tokens.color.slate700,
62
- borderColor: 'rgba(100, 116, 139, 0.1)'
82
+ color: tokens.color.slate600,
83
+ borderColor: tokens.color.slate200,
84
+ } : isOutline ? {
85
+ backgroundColor: 'transparent',
86
+ color: tokens.color.slate600,
87
+ borderColor: tokens.color.slate400,
63
88
  } : {
64
89
  backgroundColor: tokens.color.slate700,
65
- color: 'white',
66
- borderColor: 'transparent'
90
+ color: '#fff',
91
+ borderColor: 'transparent',
67
92
  };
68
93
  }
69
94
  };
70
- const vStyles = getVariantStyles();
95
+ const getSizeStyles = () => {
96
+ switch (size) {
97
+ case 'sm': return { padding: '1px 7px', fontSize: '10px', gap: '4px' };
98
+ case 'lg': return { padding: '4px 14px', fontSize: '12px', gap: '6px' };
99
+ default: return { padding: '2px 10px', fontSize: '11px', gap: '5px' };
100
+ }
101
+ };
102
+ const dotColor = getVariantStyles().color;
71
103
  const baseStyle = {
72
104
  display: 'inline-flex',
73
105
  alignItems: 'center',
74
106
  justifyContent: 'center',
75
- padding: size === 'sm' ? '1px 8px' : '3px 12px',
76
107
  borderRadius: tokens.radius.full,
77
- fontSize: size === 'sm' ? '10px' : '11px',
78
- fontWeight: tokens.font.weightBold,
108
+ fontWeight: tokens.font.weightSemibold,
79
109
  textTransform: 'uppercase',
80
- letterSpacing: '0.04em',
110
+ letterSpacing: '0.05em',
81
111
  border: '1px solid',
82
112
  whiteSpace: 'nowrap',
113
+ lineHeight: 1.6,
83
114
  transition: tokens.transition.fast,
84
- ...vStyles,
85
- ...style
115
+ ...getSizeStyles(),
116
+ ...getVariantStyles(),
117
+ ...style,
86
118
  };
87
- return (_jsx("span", { style: baseStyle, className: className, ...props, children: children }));
119
+ return (_jsxs("span", { style: baseStyle, className: `ds-badge ${className}`, ...props, children: [dot && (_jsx("span", { style: {
120
+ width: '6px',
121
+ height: '6px',
122
+ borderRadius: '50%',
123
+ backgroundColor: 'currentColor',
124
+ flexShrink: 0,
125
+ } })), icon && _jsx("span", { style: { display: 'inline-flex', alignItems: 'center', flexShrink: 0 }, children: icon }), children] }));
88
126
  };
89
127
  //# sourceMappingURL=Badge.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Badge.js","sourceRoot":"","sources":["../../../src/components/Badge.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Badge.js","sourceRoot":"","sources":["../../../src/components/Badge.tsx"],"names":[],"mappings":"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"}
@@ -1,10 +1,13 @@
1
1
  import React from 'react';
2
2
  export interface BreadcrumbItem {
3
- label: string;
3
+ label: React.ReactNode;
4
+ icon?: React.ReactNode;
4
5
  onClick?: () => void;
5
6
  }
6
7
  export interface BreadcrumbsProps extends React.HTMLAttributes<HTMLElement> {
7
8
  items: BreadcrumbItem[];
8
9
  separator?: React.ReactNode;
10
+ size?: 'sm' | 'md';
11
+ maxItems?: number;
9
12
  }
10
13
  export declare const Breadcrumbs: React.FC<BreadcrumbsProps>;