shared-design-system 1.12.0 → 1.14.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 (72) 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/Select.js +2 -2
  41. package/dist/src/components/Select.js.map +1 -1
  42. package/dist/src/components/Skeleton.d.ts +3 -1
  43. package/dist/src/components/Skeleton.js +52 -22
  44. package/dist/src/components/Skeleton.js.map +1 -1
  45. package/dist/src/components/Stack.d.ts +2 -0
  46. package/dist/src/components/Stack.js +21 -20
  47. package/dist/src/components/Stack.js.map +1 -1
  48. package/dist/src/components/Steps.d.ts +3 -1
  49. package/dist/src/components/Steps.js +93 -68
  50. package/dist/src/components/Steps.js.map +1 -1
  51. package/dist/src/components/Switch.d.ts +6 -2
  52. package/dist/src/components/Switch.js +45 -22
  53. package/dist/src/components/Switch.js.map +1 -1
  54. package/dist/src/components/Table.d.ts +9 -1
  55. package/dist/src/components/Table.js +102 -37
  56. package/dist/src/components/Table.js.map +1 -1
  57. package/dist/src/components/Tabs.d.ts +9 -5
  58. package/dist/src/components/Tabs.js +88 -88
  59. package/dist/src/components/Tabs.js.map +1 -1
  60. package/dist/src/components/Tag.d.ts +3 -1
  61. package/dist/src/components/Tag.js +104 -26
  62. package/dist/src/components/Tag.js.map +1 -1
  63. package/dist/src/components/Tooltip.d.ts +3 -0
  64. package/dist/src/components/Tooltip.js +89 -38
  65. package/dist/src/components/Tooltip.js.map +1 -1
  66. package/dist/src/components/Typography.d.ts +14 -1
  67. package/dist/src/components/Typography.js +108 -61
  68. package/dist/src/components/Typography.js.map +1 -1
  69. package/dist/src/index.d.ts +6 -6
  70. package/dist/src/index.js +3 -3
  71. package/dist/src/index.js.map +1 -1
  72. package/package.json +1 -1
@@ -7,5 +7,7 @@ export interface StackProps extends React.HTMLAttributes<HTMLDivElement> {
7
7
  justify?: 'start' | 'center' | 'end' | 'between' | 'around' | 'evenly';
8
8
  divider?: boolean | React.ReactNode;
9
9
  wrap?: boolean;
10
+ inline?: boolean;
11
+ fullWidth?: boolean;
10
12
  }
11
13
  export declare const Stack: React.FC<StackProps>;
@@ -2,40 +2,41 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import React from 'react';
3
3
  import { tokens } from '../tokens';
4
4
  import { Divider } from './Divider';
5
- export const Stack = ({ direction = 'column', spacing = 'md', align = 'stretch', justify = 'start', divider, wrap = false, children, className = '', style = {}, ...props }) => {
5
+ const JUSTIFY_MAP = {
6
+ start: 'flex-start',
7
+ center: 'center',
8
+ end: 'flex-end',
9
+ between: 'space-between',
10
+ around: 'space-around',
11
+ evenly: 'space-evenly',
12
+ };
13
+ export const Stack = ({ direction = 'column', spacing = '4', align = 'stretch', justify = 'start', divider, wrap = false, inline = false, fullWidth = false, children, className = '', style = {}, ...props }) => {
6
14
  const getSpacing = () => {
7
15
  if (typeof spacing === 'number')
8
16
  return `${spacing}px`;
9
- return tokens.spacing[spacing] || tokens.spacing['4'];
10
- };
11
- const getJustify = () => {
12
- if (justify === 'between')
13
- return 'space-between';
14
- if (justify === 'around')
15
- return 'space-around';
16
- if (justify === 'evenly')
17
- return 'space-evenly';
18
- return justify;
17
+ return (tokens.spacing[spacing]) || tokens.spacing['4'];
19
18
  };
19
+ const isRow = direction === 'row' || direction === 'row-reverse';
20
20
  const baseStyle = {
21
- display: 'flex',
21
+ display: inline ? 'inline-flex' : 'flex',
22
22
  flexDirection: direction,
23
23
  gap: divider ? 0 : getSpacing(),
24
- alignItems: align,
25
- justifyContent: getJustify(),
24
+ alignItems: align === 'start' ? 'flex-start' : align === 'end' ? 'flex-end' : align,
25
+ justifyContent: JUSTIFY_MAP[justify] || 'flex-start',
26
26
  flexWrap: wrap ? 'wrap' : 'nowrap',
27
- ...style
27
+ width: fullWidth ? '100%' : undefined,
28
+ ...style,
28
29
  };
29
30
  const renderChildren = () => {
30
31
  if (!divider)
31
32
  return children;
32
- const arrayChildren = React.Children.toArray(children);
33
- return arrayChildren.map((child, index) => (_jsxs(React.Fragment, { children: [child, index < arrayChildren.length - 1 && (typeof divider === 'boolean' ? (_jsx(Divider, { orientation: direction === 'row' || direction === 'row-reverse' ? 'vertical' : 'horizontal', margin: "none", style: {
34
- margin: direction === 'row' || direction === 'row-reverse'
33
+ const arrayChildren = React.Children.toArray(children).filter(Boolean);
34
+ return arrayChildren.map((child, index) => (_jsxs(React.Fragment, { children: [child, index < arrayChildren.length - 1 && (typeof divider === 'boolean' ? (_jsx(Divider, { orientation: isRow ? 'vertical' : 'horizontal', margin: "none", style: {
35
+ margin: isRow
35
36
  ? `0 ${getSpacing()}`
36
- : `${getSpacing()} 0`
37
+ : `${getSpacing()} 0`,
37
38
  } })) : divider)] }, index)));
38
39
  };
39
- return (_jsx("div", { style: baseStyle, className: className, ...props, children: renderChildren() }));
40
+ return (_jsx("div", { style: baseStyle, className: `ds-stack ${className}`, ...props, children: renderChildren() }));
40
41
  };
41
42
  //# sourceMappingURL=Stack.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Stack.js","sourceRoot":"","sources":["../../../src/components/Stack.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAWpC,MAAM,CAAC,MAAM,KAAK,GAAyB,CAAC,EAC1C,SAAS,GAAG,QAAQ,EACpB,OAAO,GAAG,IAAI,EACd,KAAK,GAAG,SAAS,EACjB,OAAO,GAAG,OAAO,EACjB,OAAO,EACP,IAAI,GAAG,KAAK,EACZ,QAAQ,EACR,SAAS,GAAG,EAAE,EACd,KAAK,GAAG,EAAE,EACV,GAAG,KAAK,EACT,EAAE,EAAE;IACH,MAAM,UAAU,GAAG,GAAG,EAAE;QACtB,IAAI,OAAO,OAAO,KAAK,QAAQ;YAAE,OAAO,GAAG,OAAO,IAAI,CAAC;QACvD,OAAO,MAAM,CAAC,OAAO,CAAC,OAAiB,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAClE,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,GAAG,EAAE;QACtB,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO,eAAe,CAAC;QAClD,IAAI,OAAO,KAAK,QAAQ;YAAE,OAAO,cAAc,CAAC;QAChD,IAAI,OAAO,KAAK,QAAQ;YAAE,OAAO,cAAc,CAAC;QAChD,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;IAEF,MAAM,SAAS,GAAwB;QACrC,OAAO,EAAE,MAAM;QACf,aAAa,EAAE,SAAS;QACxB,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE;QAC/B,UAAU,EAAE,KAAK;QACjB,cAAc,EAAE,UAAU,EAAE;QAC5B,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ;QAClC,GAAG,KAAK;KACT,CAAC;IAEF,MAAM,cAAc,GAAG,GAAG,EAAE;QAC1B,IAAI,CAAC,OAAO;YAAE,OAAO,QAAQ,CAAC;QAE9B,MAAM,aAAa,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACvD,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CACzC,MAAC,KAAK,CAAC,QAAQ,eACZ,KAAK,EACL,KAAK,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,CACnC,OAAO,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,CAC7B,KAAC,OAAO,IACN,WAAW,EAAE,SAAS,KAAK,KAAK,IAAI,SAAS,KAAK,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,EAC3F,MAAM,EAAC,MAAM,EACb,KAAK,EAAE;wBACL,MAAM,EAAE,SAAS,KAAK,KAAK,IAAI,SAAS,KAAK,aAAa;4BACxD,CAAC,CAAC,KAAK,UAAU,EAAE,EAAE;4BACrB,CAAC,CAAC,GAAG,UAAU,EAAE,IAAI;qBACxB,GACD,CACH,CAAC,CAAC,CAAC,OAAO,CACZ,KAdkB,KAAK,CAeT,CAClB,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,OAAO,CACL,cAAK,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,KAAM,KAAK,YACnD,cAAc,EAAE,GACb,CACP,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"Stack.js","sourceRoot":"","sources":["../../../src/components/Stack.tsx"],"names":[],"mappings":"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"}
@@ -1,13 +1,15 @@
1
1
  import React from 'react';
2
- export type StepStatus = 'finish' | 'process' | 'wait';
2
+ export type StepStatus = 'finish' | 'process' | 'wait' | 'error';
3
3
  export interface StepItem {
4
4
  title: string;
5
5
  description?: string;
6
+ icon?: React.ReactNode;
6
7
  }
7
8
  export interface StepsProps {
8
9
  current?: number;
9
10
  items?: StepItem[];
10
11
  direction?: 'horizontal' | 'vertical';
12
+ size?: 'sm' | 'md' | 'lg';
11
13
  className?: string;
12
14
  style?: React.CSSProperties;
13
15
  }
@@ -1,84 +1,109 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import React from 'react';
3
2
  import { tokens } from '../tokens';
4
- export const Steps = ({ current = 0, items = [], direction = 'horizontal', className = '', style = {}, }) => {
5
- const containerStyle = {
6
- display: 'flex',
7
- flexDirection: direction === 'vertical' ? 'column' : 'row',
8
- gap: tokens.spacing['4'],
9
- width: '100%',
10
- ...style,
11
- };
12
- return (_jsx("div", { style: containerStyle, className: className, children: items.map((item, index) => {
13
- const status = index < current ? 'finish' : index === current ? 'process' : 'wait';
14
- return (_jsx(React.Fragment, { children: _jsx(StepItemComponent, { index: index, status: status, title: item.title, description: item.description, direction: direction, isLast: index === items.length - 1 }) }, index));
15
- }) }));
16
- };
17
3
  const getColors = (status) => {
18
4
  switch (status) {
19
5
  case 'finish':
20
- return { main: tokens.color.primary, bg: tokens.color.primaryLight, text: tokens.color.primary };
6
+ return { main: tokens.color.primary, bg: tokens.color.primaryLight, text: tokens.color.primary, line: tokens.color.primary };
21
7
  case 'process':
22
- return { main: tokens.color.primary, bg: tokens.color.primary, text: '#ffffff' };
8
+ return { main: tokens.color.primary, bg: tokens.color.primary, text: '#ffffff', line: tokens.color.slate200 };
9
+ case 'error':
10
+ return { main: tokens.color.danger, bg: tokens.color.dangerBg, text: tokens.color.danger, line: tokens.color.slate200 };
23
11
  case 'wait':
24
12
  default:
25
- return { main: tokens.color.border, bg: tokens.color.surfaceAlt, text: tokens.color.textMuted };
13
+ return { main: tokens.color.slate300, bg: tokens.color.slate50, text: tokens.color.slate400, line: tokens.color.slate200 };
26
14
  }
27
15
  };
28
- const StepItemComponent = ({ index, status, title, description, direction, isLast, }) => {
16
+ const ICON_SIZE = { sm: '28px', md: '36px', lg: '44px' };
17
+ const FONT_SIZE = { sm: tokens.font.xs, md: tokens.font.sm, lg: tokens.font.base };
18
+ export const Steps = ({ current = 0, items = [], direction = 'horizontal', size = 'md', className = '', style = {}, }) => {
19
+ const isVertical = direction === 'vertical';
20
+ return (_jsx("div", { style: {
21
+ display: 'flex',
22
+ flexDirection: isVertical ? 'column' : 'row',
23
+ gap: 0,
24
+ width: '100%',
25
+ ...style,
26
+ }, className: `ds-steps ds-steps--${direction} ${className}`, children: items.map((item, index) => {
27
+ const status = index < current ? 'finish' : index === current ? 'process' : 'wait';
28
+ return (_jsx(StepItemComponent, { index: index, status: status, title: item.title, description: item.description, icon: item.icon, direction: direction, isLast: index === items.length - 1, size: size }, index));
29
+ }) }));
30
+ };
31
+ const StepItemComponent = ({ index, status, title, description, icon, direction, isLast, size, }) => {
29
32
  const isHorizontal = direction === 'horizontal';
30
33
  const c = getColors(status);
31
- const itemStyle = {
32
- display: 'flex',
33
- flexDirection: isHorizontal ? 'column' : 'row',
34
- flex: isHorizontal ? (isLast ? 'none' : 1) : 'none',
35
- alignItems: isHorizontal ? 'center' : 'flex-start',
36
- gap: tokens.spacing['2'],
37
- position: 'relative',
38
- minWidth: isHorizontal ? (isLast ? 'auto' : '150px') : 'auto',
39
- marginBottom: isHorizontal ? 0 : isLast ? 0 : tokens.spacing['8'],
40
- };
41
- const iconStyle = {
42
- width: '32px',
43
- height: '32px',
44
- borderRadius: '50%',
45
- display: 'flex',
46
- alignItems: 'center',
47
- justifyContent: 'center',
48
- border: `2px solid ${c.main}`,
49
- backgroundColor: c.bg,
50
- color: c.text,
51
- fontSize: tokens.font.sm,
52
- fontWeight: tokens.font.weightBold,
53
- zIndex: 2,
54
- flexShrink: 0,
55
- };
56
- const lineStyle = {
57
- position: 'absolute',
58
- backgroundColor: status === 'finish' ? tokens.color.primary : tokens.color.border,
59
- zIndex: 1,
60
- ...(isHorizontal
61
- ? {
62
- height: '2px',
63
- top: '16px',
64
- left: 'calc(50% + 20px)',
65
- right: 'calc(-50% + 20px)',
66
- }
67
- : {
68
- width: '2px',
69
- left: '16px',
70
- top: '36px',
71
- bottom: '-20px',
72
- }),
73
- };
74
- return (_jsxs("div", { style: itemStyle, children: [!isLast && _jsx("div", { style: lineStyle }), _jsx("div", { style: iconStyle, children: status === 'finish' ? (_jsx("svg", { width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 3, children: _jsx("polyline", { points: "20 6 9 17 4 12" }) })) : (index + 1) }), _jsxs("div", { style: {
34
+ const iconSize = ICON_SIZE[size] || ICON_SIZE.md;
35
+ const iconSizePx = parseInt(iconSize);
36
+ const fontSize = FONT_SIZE[size] || tokens.font.sm;
37
+ const CheckIcon = () => (_jsx("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 3, strokeLinecap: "round", strokeLinejoin: "round", children: _jsx("polyline", { points: "20 6 9 17 4 12" }) }));
38
+ const ErrorIcon = () => (_jsx("svg", { width: "14", height: "14", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 3, strokeLinecap: "round", children: _jsx("path", { d: "M18 6L6 18M6 6l12 12" }) }));
39
+ return (_jsxs("div", { style: {
40
+ display: 'flex',
41
+ flexDirection: isHorizontal ? 'column' : 'row',
42
+ flex: isHorizontal ? (isLast ? 'none' : 1) : 'none',
43
+ alignItems: isHorizontal ? 'center' : 'flex-start',
44
+ position: 'relative',
45
+ }, children: [!isLast && (_jsx("div", { style: {
46
+ position: 'absolute',
47
+ backgroundColor: 'transparent',
48
+ zIndex: 1,
49
+ ...(isHorizontal
50
+ ? {
51
+ height: '2px',
52
+ top: `${iconSizePx / 2}px`,
53
+ left: `calc(50% + ${iconSizePx / 2 + 4}px)`,
54
+ right: `calc(-50% + ${iconSizePx / 2 + 4}px)`,
55
+ background: status === 'finish'
56
+ ? `linear-gradient(to right, ${tokens.color.primary}, ${tokens.color.primaryLight})`
57
+ : tokens.color.slate200,
58
+ }
59
+ : {
60
+ width: '2px',
61
+ left: `${iconSizePx / 2 - 1}px`,
62
+ top: `${iconSizePx + 6}px`,
63
+ height: '32px',
64
+ background: status === 'finish'
65
+ ? `linear-gradient(to bottom, ${tokens.color.primary}, ${tokens.color.primaryLight})`
66
+ : tokens.color.slate200,
67
+ }),
68
+ } })), _jsx("div", { style: {
69
+ width: iconSize,
70
+ height: iconSize,
71
+ borderRadius: '50%',
72
+ display: 'flex',
73
+ alignItems: 'center',
74
+ justifyContent: 'center',
75
+ border: `2px solid ${c.main}`,
76
+ backgroundColor: c.bg,
77
+ color: c.text,
78
+ fontSize,
79
+ fontWeight: tokens.font.weightBold,
80
+ zIndex: 2,
81
+ flexShrink: 0,
82
+ transition: tokens.transition.normal,
83
+ boxShadow: status === 'process'
84
+ ? `0 0 0 4px ${tokens.color.primaryLight}`
85
+ : 'none',
86
+ marginBottom: isHorizontal ? tokens.spacing['2'] : 0,
87
+ marginRight: !isHorizontal ? tokens.spacing['3'] : 0,
88
+ }, children: icon ? icon : status === 'finish' ? _jsx(CheckIcon, {}) : status === 'error' ? _jsx(ErrorIcon, {}) : index + 1 }), _jsxs("div", { style: {
75
89
  textAlign: isHorizontal ? 'center' : 'left',
76
- marginTop: isHorizontal ? tokens.spacing['2'] : '4px',
77
- paddingLeft: isHorizontal ? 0 : tokens.spacing['2'],
90
+ paddingTop: !isHorizontal ? '6px' : 0,
91
+ paddingBottom: !isHorizontal && !isLast ? tokens.spacing['8'] : 0,
78
92
  }, children: [_jsx("div", { style: {
79
- fontSize: tokens.font.sm,
80
- fontWeight: status === 'process' ? tokens.font.weightBold : tokens.font.weightMedium,
81
- color: status === 'wait' ? tokens.color.textMuted : tokens.color.text,
82
- }, children: title }), description && (_jsx("div", { style: { fontSize: tokens.font.xs, color: tokens.color.textMuted, marginTop: '2px' }, children: description }))] })] }));
93
+ fontSize,
94
+ fontWeight: status === 'process' ? tokens.font.weightBold : tokens.font.weightSemibold,
95
+ color: status === 'wait' ? tokens.color.textDisabled :
96
+ status === 'error' ? tokens.color.danger :
97
+ status === 'process' ? tokens.color.primary :
98
+ tokens.color.text,
99
+ lineHeight: 1.35,
100
+ transition: tokens.transition.fast,
101
+ }, children: title }), description && (_jsx("div", { style: {
102
+ fontSize: tokens.font.xs,
103
+ color: tokens.color.textMuted,
104
+ marginTop: '3px',
105
+ fontWeight: tokens.font.weightMedium,
106
+ lineHeight: 1.4,
107
+ }, children: description }))] })] }));
83
108
  };
84
109
  //# sourceMappingURL=Steps.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Steps.js","sourceRoot":"","sources":["../../../src/components/Steps.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Steps.js","sourceRoot":"","sources":["../../../src/components/Steps.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,9 @@
1
1
  import React from 'react';
2
- export interface SwitchProps extends React.InputHTMLAttributes<HTMLInputElement> {
3
- label?: string;
2
+ export interface SwitchProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'size'> {
3
+ label?: React.ReactNode;
4
+ labelPlacement?: 'start' | 'end';
5
+ size?: 'sm' | 'md' | 'lg';
6
+ color?: 'primary' | 'success' | 'warning' | 'danger';
7
+ description?: string;
4
8
  }
5
9
  export declare const Switch: React.FC<SwitchProps>;
@@ -1,39 +1,62 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { tokens } from '../tokens';
3
- export const Switch = ({ checked, onChange, disabled = false, label, className = '', style = {}, ...props }) => {
3
+ const SIZE_CONFIG = {
4
+ sm: { trackW: '34px', trackH: '18px', thumbSize: '14px', thumbOn: '18px', thumbOff: '2px' },
5
+ md: { trackW: '44px', trackH: '24px', thumbSize: '20px', thumbOn: '22px', thumbOff: '2px' },
6
+ lg: { trackW: '54px', trackH: '30px', thumbSize: '26px', thumbOn: '26px', thumbOff: '2px' },
7
+ };
8
+ const COLOR_MAP = {
9
+ primary: tokens.color.primary,
10
+ success: tokens.color.success,
11
+ warning: tokens.color.warning,
12
+ danger: tokens.color.danger,
13
+ };
14
+ export const Switch = ({ checked, onChange, disabled = false, label, labelPlacement = 'end', size = 'md', color = 'primary', description, className = '', style = {}, ...props }) => {
15
+ const sc = SIZE_CONFIG[size] || SIZE_CONFIG.md;
16
+ const activeColor = COLOR_MAP[color] || tokens.color.primary;
4
17
  const containerStyle = {
5
18
  display: 'inline-flex',
6
- alignItems: 'center',
19
+ alignItems: description ? 'flex-start' : 'center',
20
+ flexDirection: labelPlacement === 'start' ? 'row-reverse' : 'row',
7
21
  gap: tokens.spacing[3],
8
22
  cursor: disabled ? 'not-allowed' : 'pointer',
9
- opacity: disabled ? 0.6 : 1,
10
- ...style
23
+ opacity: disabled ? 0.55 : 1,
24
+ userSelect: 'none',
25
+ ...style,
11
26
  };
12
27
  const trackStyle = {
13
28
  position: 'relative',
14
- width: '44px',
15
- height: '24px',
16
- backgroundColor: checked ? tokens.color.primary : tokens.color.border,
29
+ width: sc.trackW,
30
+ height: sc.trackH,
31
+ backgroundColor: checked ? activeColor : tokens.color.slate200,
17
32
  borderRadius: tokens.radius.full,
18
- transition: tokens.transition.normal,
19
- flexShrink: 0
33
+ transition: 'background-color 0.2s cubic-bezier(0.4, 0, 0.2, 1)',
34
+ flexShrink: 0,
35
+ boxShadow: checked
36
+ ? `0 0 0 3px ${activeColor}20`
37
+ : 'inset 0 1px 2px rgba(0,0,0,0.1)',
20
38
  };
21
39
  const thumbStyle = {
22
40
  position: 'absolute',
23
- top: '2px',
24
- left: checked ? '22px' : '2px',
25
- width: '20px',
26
- height: '20px',
27
- backgroundColor: 'white',
41
+ top: `calc(50% - ${sc.thumbSize} / 2)`,
42
+ left: checked ? sc.thumbOn : sc.thumbOff,
43
+ width: sc.thumbSize,
44
+ height: sc.thumbSize,
45
+ backgroundColor: '#ffffff',
28
46
  borderRadius: '50%',
29
- transition: tokens.transition.normal,
30
- boxShadow: '0 1px 3px rgba(0,0,0,0.2)'
47
+ transition: 'left 0.2s cubic-bezier(0.34, 1.56, 0.64, 1)',
48
+ boxShadow: '0 1px 4px rgba(0,0,0,0.25), 0 0 0 0.5px rgba(0,0,0,0.06)',
31
49
  };
32
- return (_jsxs("label", { style: containerStyle, className: className, children: [_jsxs("div", { style: { position: 'relative' }, children: [_jsx("input", { type: "checkbox", checked: checked, onChange: onChange, disabled: disabled, style: {
33
- position: 'absolute',
34
- opacity: 0,
35
- width: 0,
36
- height: 0
37
- }, ...props }), _jsx("div", { style: trackStyle, children: _jsx("div", { style: thumbStyle }) })] }), label && _jsx("span", { style: { fontSize: tokens.font.sm, fontWeight: tokens.font.weightMedium, color: tokens.color.text }, children: label })] }));
50
+ return (_jsxs("label", { style: containerStyle, className: `ds-switch ${className}`, children: [_jsxs("div", { style: { position: 'relative', flexShrink: 0 }, children: [_jsx("input", { type: "checkbox", checked: checked, onChange: onChange, disabled: disabled, style: { position: 'absolute', opacity: 0, width: 0, height: 0 }, ...props }), _jsx("div", { style: trackStyle, children: _jsx("div", { style: thumbStyle }) })] }), (label || description) && (_jsxs("div", { style: { display: 'flex', flexDirection: 'column', gap: '2px' }, children: [label && (_jsx("span", { style: {
51
+ fontSize: tokens.font.sm,
52
+ fontWeight: tokens.font.weightSemibold,
53
+ color: disabled ? tokens.color.textDisabled : tokens.color.text,
54
+ lineHeight: 1.4,
55
+ }, children: label })), description && (_jsx("span", { style: {
56
+ fontSize: '11px',
57
+ fontWeight: tokens.font.weightMedium,
58
+ color: tokens.color.textMuted,
59
+ lineHeight: 1.4,
60
+ }, children: description }))] }))] }));
38
61
  };
39
62
  //# sourceMappingURL=Switch.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Switch.js","sourceRoot":"","sources":["../../../src/components/Switch.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAMnC,MAAM,CAAC,MAAM,MAAM,GAA0B,CAAC,EAC5C,OAAO,EACP,QAAQ,EACR,QAAQ,GAAG,KAAK,EAChB,KAAK,EACL,SAAS,GAAG,EAAE,EACd,KAAK,GAAG,EAAE,EACV,GAAG,KAAK,EACT,EAAE,EAAE;IACH,MAAM,cAAc,GAAwB;QAC1C,OAAO,EAAE,aAAa;QACtB,UAAU,EAAE,QAAQ;QACpB,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QACtB,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS;QAC5C,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC3B,GAAG,KAAK;KACT,CAAC;IAEF,MAAM,UAAU,GAAwB;QACtC,QAAQ,EAAE,UAAU;QACpB,KAAK,EAAE,MAAM;QACb,MAAM,EAAE,MAAM;QACd,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM;QACrE,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI;QAChC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM;QACpC,UAAU,EAAE,CAAC;KACd,CAAC;IAEF,MAAM,UAAU,GAAwB;QACtC,QAAQ,EAAE,UAAU;QACpB,GAAG,EAAE,KAAK;QACV,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK;QAC9B,KAAK,EAAE,MAAM;QACb,MAAM,EAAE,MAAM;QACd,eAAe,EAAE,OAAO;QACxB,YAAY,EAAE,KAAK;QACnB,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM;QACpC,SAAS,EAAE,2BAA2B;KACvC,CAAC;IAEF,OAAO,CACL,iBAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,SAAS,aAChD,eAAK,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,aAClC,gBACE,IAAI,EAAC,UAAU,EACf,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE;4BACL,QAAQ,EAAE,UAAU;4BACpB,OAAO,EAAE,CAAC;4BACV,KAAK,EAAE,CAAC;4BACR,MAAM,EAAE,CAAC;yBACV,KACG,KAAK,GACT,EACF,cAAK,KAAK,EAAE,UAAU,YACpB,cAAK,KAAK,EAAE,UAAU,GAAI,GACtB,IACF,EACL,KAAK,IAAI,eAAM,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,YAAG,KAAK,GAAQ,IAC7H,CACT,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"Switch.js","sourceRoot":"","sources":["../../../src/components/Switch.tsx"],"names":[],"mappings":"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"}
@@ -3,7 +3,9 @@ export interface TableColumn<T = any> {
3
3
  key: string | number;
4
4
  label: React.ReactNode;
5
5
  width?: string | number;
6
+ minWidth?: string;
6
7
  align?: 'left' | 'center' | 'right';
8
+ sortable?: boolean;
7
9
  render?: (value: any, record: T, index: number) => React.ReactNode;
8
10
  headerStyle?: React.CSSProperties;
9
11
  cellStyle?: React.CSSProperties;
@@ -17,10 +19,16 @@ export interface TableProps<T = any> {
17
19
  headerStyle?: React.CSSProperties;
18
20
  rowStyle?: React.CSSProperties | ((record: T, index: number) => React.CSSProperties);
19
21
  emptyText?: React.ReactNode;
22
+ striped?: boolean;
23
+ bordered?: boolean;
24
+ loading?: boolean;
25
+ rowKey?: string | ((record: T) => string | number);
26
+ activeKey?: string | number;
20
27
  }
21
- export declare const Table: <T extends Record<string, any>>({ columns, data, onRowClick, className, style, headerStyle, rowStyle, emptyText, }: TableProps<T>) => import("react/jsx-runtime").JSX.Element;
28
+ export declare const Table: <T extends Record<string, any>>({ columns, data, onRowClick, className, style, headerStyle, rowStyle, emptyText, striped, bordered, loading, rowKey, activeKey, }: TableProps<T>) => import("react/jsx-runtime").JSX.Element;
22
29
  export interface TableContainerProps extends React.HTMLAttributes<HTMLDivElement> {
23
30
  children: React.ReactNode;
31
+ bordered?: boolean;
24
32
  }
25
33
  export declare const TableContainer: React.FC<TableContainerProps>;
26
34
  export interface THeadProps extends React.HTMLAttributes<HTMLTableSectionElement> {