shared-design-system 1.11.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 (81) 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 -1
  5. package/dist/src/components/Avatar.js +96 -31
  6. package/dist/src/components/Avatar.js.map +1 -1
  7. package/dist/src/components/Badge.d.ts +5 -2
  8. package/dist/src/components/Badge.js +94 -30
  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 +6 -1
  17. package/dist/src/components/Card.js +109 -21
  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/DatePicker.js +55 -8
  23. package/dist/src/components/DatePicker.js.map +1 -1
  24. package/dist/src/components/Divider.d.ts +5 -1
  25. package/dist/src/components/Divider.js +53 -18
  26. package/dist/src/components/Divider.js.map +1 -1
  27. package/dist/src/components/InputComponents.d.ts +2 -4
  28. package/dist/src/components/InputComponents.js +89 -132
  29. package/dist/src/components/InputComponents.js.map +1 -1
  30. package/dist/src/components/ListComponents.d.ts +7 -4
  31. package/dist/src/components/ListComponents.js +70 -35
  32. package/dist/src/components/ListComponents.js.map +1 -1
  33. package/dist/src/components/LoadingSpinner.d.ts +9 -2
  34. package/dist/src/components/LoadingSpinner.js +59 -17
  35. package/dist/src/components/LoadingSpinner.js.map +1 -1
  36. package/dist/src/components/MultiSelect.d.ts +14 -0
  37. package/dist/src/components/MultiSelect.js +142 -0
  38. package/dist/src/components/MultiSelect.js.map +1 -0
  39. package/dist/src/components/Progress.d.ts +5 -1
  40. package/dist/src/components/Progress.js +58 -26
  41. package/dist/src/components/Progress.js.map +1 -1
  42. package/dist/src/components/Radio.d.ts +4 -0
  43. package/dist/src/components/Radio.js +50 -24
  44. package/dist/src/components/Radio.js.map +1 -1
  45. package/dist/src/components/ReadOnlyField.d.ts +6 -1
  46. package/dist/src/components/ReadOnlyField.js +78 -18
  47. package/dist/src/components/ReadOnlyField.js.map +1 -1
  48. package/dist/src/components/Select.d.ts +19 -0
  49. package/dist/src/components/Select.js +110 -0
  50. package/dist/src/components/Select.js.map +1 -0
  51. package/dist/src/components/Skeleton.d.ts +3 -1
  52. package/dist/src/components/Skeleton.js +52 -22
  53. package/dist/src/components/Skeleton.js.map +1 -1
  54. package/dist/src/components/Stack.d.ts +4 -0
  55. package/dist/src/components/Stack.js +32 -18
  56. package/dist/src/components/Stack.js.map +1 -1
  57. package/dist/src/components/Steps.d.ts +3 -1
  58. package/dist/src/components/Steps.js +93 -68
  59. package/dist/src/components/Steps.js.map +1 -1
  60. package/dist/src/components/Switch.d.ts +6 -2
  61. package/dist/src/components/Switch.js +45 -22
  62. package/dist/src/components/Switch.js.map +1 -1
  63. package/dist/src/components/Table.d.ts +9 -1
  64. package/dist/src/components/Table.js +102 -37
  65. package/dist/src/components/Table.js.map +1 -1
  66. package/dist/src/components/Tabs.d.ts +9 -5
  67. package/dist/src/components/Tabs.js +88 -88
  68. package/dist/src/components/Tabs.js.map +1 -1
  69. package/dist/src/components/Tag.d.ts +5 -2
  70. package/dist/src/components/Tag.js +106 -28
  71. package/dist/src/components/Tag.js.map +1 -1
  72. package/dist/src/components/Tooltip.d.ts +3 -0
  73. package/dist/src/components/Tooltip.js +89 -38
  74. package/dist/src/components/Tooltip.js.map +1 -1
  75. package/dist/src/components/Typography.d.ts +15 -2
  76. package/dist/src/components/Typography.js +108 -53
  77. package/dist/src/components/Typography.js.map +1 -1
  78. package/dist/src/index.d.ts +12 -8
  79. package/dist/src/index.js +6 -4
  80. package/dist/src/index.js.map +1 -1
  81. package/package.json +1 -1
@@ -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":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAiBnC,MAAM,CAAC,MAAM,KAAK,GAAyB,CAAC,EAC1C,OAAO,GAAG,CAAC,EACX,KAAK,GAAG,EAAE,EACV,SAAS,GAAG,YAAY,EACxB,SAAS,GAAG,EAAE,EACd,KAAK,GAAG,EAAE,GACX,EAAE,EAAE;IACH,MAAM,cAAc,GAAwB;QAC1C,OAAO,EAAE,MAAM;QACf,aAAa,EAAE,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK;QAC1D,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;QACxB,KAAK,EAAE,MAAM;QACb,GAAG,KAAK;KACT,CAAC;IAEF,OAAO,CACL,cAAK,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,SAAS,YAC7C,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACzB,MAAM,MAAM,GACV,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;YACtE,OAAO,CACL,KAAC,KAAK,CAAC,QAAQ,cACb,KAAC,iBAAiB,IAChB,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,KAAK,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,GAClC,IARiB,KAAK,CAST,CAClB,CAAC;QACJ,CAAC,CAAC,GACE,CACP,CAAC;AACJ,CAAC,CAAC;AAWF,MAAM,SAAS,GAAG,CAAC,MAAkB,EAAE,EAAE;IACvC,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,QAAQ;YACX,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QACnG,KAAK,SAAS;YACZ,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACnF,KAAK,MAAM,CAAC;QACZ;YACE,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;IACpG,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAqC,CAAC,EAC3D,KAAK,EACL,MAAM,EACN,KAAK,EACL,WAAW,EACX,SAAS,EACT,MAAM,GACP,EAAE,EAAE;IACH,MAAM,YAAY,GAAG,SAAS,KAAK,YAAY,CAAC;IAChD,MAAM,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IAE5B,MAAM,SAAS,GAAwB;QACrC,OAAO,EAAE,MAAM;QACf,aAAa,EAAE,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK;QAC9C,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM;QACnD,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY;QAClD,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;QACxB,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM;QAC7D,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;KAClE,CAAC;IAEF,MAAM,SAAS,GAAwB;QACrC,KAAK,EAAE,MAAM;QACb,MAAM,EAAE,MAAM;QACd,YAAY,EAAE,KAAK;QACnB,OAAO,EAAE,MAAM;QACf,UAAU,EAAE,QAAQ;QACpB,cAAc,EAAE,QAAQ;QACxB,MAAM,EAAE,aAAa,CAAC,CAAC,IAAI,EAAE;QAC7B,eAAe,EAAE,CAAC,CAAC,EAAE;QACrB,KAAK,EAAE,CAAC,CAAC,IAAI;QACb,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE;QACxB,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU;QAClC,MAAM,EAAE,CAAC;QACT,UAAU,EAAE,CAAC;KACd,CAAC;IAEF,MAAM,SAAS,GAAwB;QACrC,QAAQ,EAAE,UAAU;QACpB,eAAe,EAAE,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM;QACjF,MAAM,EAAE,CAAC;QACT,GAAG,CAAC,YAAY;YACd,CAAC,CAAC;gBACE,MAAM,EAAE,KAAK;gBACb,GAAG,EAAE,MAAM;gBACX,IAAI,EAAE,kBAAkB;gBACxB,KAAK,EAAE,mBAAmB;aAC3B;YACH,CAAC,CAAC;gBACE,KAAK,EAAE,KAAK;gBACZ,IAAI,EAAE,MAAM;gBACZ,GAAG,EAAE,MAAM;gBACX,MAAM,EAAE,OAAO;aAChB,CAAC;KACP,CAAC;IAEF,OAAO,CACL,eAAK,KAAK,EAAE,SAAS,aAClB,CAAC,MAAM,IAAI,cAAK,KAAK,EAAE,SAAS,GAAI,EACrC,cAAK,KAAK,EAAE,SAAS,YAClB,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,CACrB,cAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,EAAC,WAAW,EAAE,CAAC,YAC9F,mBAAU,MAAM,EAAC,gBAAgB,GAAG,GAChC,CACP,CAAC,CAAC,CAAC,CACF,KAAK,GAAG,CAAC,CACV,GACG,EACN,eACE,KAAK,EAAE;oBACL,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM;oBAC3C,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK;oBACrD,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;iBACpD,aAED,cACE,KAAK,EAAE;4BACL,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE;4BACxB,UAAU,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY;4BACpF,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI;yBACtE,YAEA,KAAK,GACF,EACL,WAAW,IAAI,CACd,cAAK,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,YACtF,WAAW,GACR,CACP,IACG,IACF,CACP,CAAC;AACJ,CAAC,CAAC"}
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> {
@@ -1,32 +1,103 @@
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
- export const Table = ({ columns, data, onRowClick, className = '', style = {}, headerStyle = {}, rowStyle = {}, emptyText = 'Không tìm thấy dữ liệu liên quan', }) => {
4
- return (_jsxs(TableContainer, { className: className, style: style, children: [_jsx(THead, { children: _jsx(TR, { header: true, children: columns.map((col) => (_jsx(TH, { style: {
5
- textAlign: col.align || 'left',
6
- width: col.width,
7
- ...col.headerStyle,
8
- ...headerStyle,
9
- }, children: col.label }, col.key.toString()))) }) }), _jsx(TBody, { children: data.length > 0 ? (data.map((record, rowIndex) => (_jsx(TR, { onClick: onRowClick ? () => onRowClick(record, rowIndex) : undefined, style: typeof rowStyle === 'function' ? rowStyle(record, rowIndex) : rowStyle, children: columns.map((col) => (_jsx(TD, { style: {
10
- textAlign: col.align || 'left',
11
- ...col.cellStyle,
12
- }, children: col.render
13
- ? col.render(record[col.key], record, rowIndex)
14
- : record[col.key] }, col.key.toString()))) }, record.id || record.key || rowIndex)))) : (_jsx(TR, { children: _jsxs(TD, { colSpan: columns.length, style: {
15
- textAlign: 'center',
16
- padding: tokens.spacing[12],
17
- color: tokens.color.slate400,
18
- fontStyle: 'italic',
19
- }, children: [_jsx("div", { style: { fontSize: '2rem', marginBottom: tokens.spacing[4] }, children: "\uD83D\uDCE6" }), emptyText] }) })) })] }));
4
+ export const Table = ({ columns, data, onRowClick, className = '', style = {}, headerStyle = {}, rowStyle = {}, emptyText = 'Không tìm thấy dữ liệu', striped = true, bordered = false, loading = false, rowKey, activeKey, }) => {
5
+ const [sortKey, setSortKey] = useState(null);
6
+ const [sortDir, setSortDir] = useState('asc');
7
+ const [hoveredRow, setHoveredRow] = useState(null);
8
+ const getRowKey = (record, index) => {
9
+ var _a, _b;
10
+ if (rowKey) {
11
+ return typeof rowKey === 'function' ? rowKey(record) : record[rowKey];
12
+ }
13
+ return (_b = (_a = record.id) !== null && _a !== void 0 ? _a : record.key) !== null && _b !== void 0 ? _b : index;
14
+ };
15
+ // Optional client-side sort
16
+ const handleSort = (col) => {
17
+ if (!col.sortable)
18
+ return;
19
+ if (sortKey === col.key) {
20
+ setSortDir((d) => (d === 'asc' ? 'desc' : 'asc'));
21
+ }
22
+ else {
23
+ setSortKey(col.key);
24
+ setSortDir('asc');
25
+ }
26
+ };
27
+ let displayData = [...data];
28
+ if (sortKey !== null) {
29
+ displayData.sort((a, b) => {
30
+ const av = a[sortKey];
31
+ const bv = b[sortKey];
32
+ if (av == null)
33
+ return 1;
34
+ if (bv == null)
35
+ return -1;
36
+ const cmp = String(av).localeCompare(String(bv), 'vi', { numeric: true });
37
+ return sortDir === 'asc' ? cmp : -cmp;
38
+ });
39
+ }
40
+ return (_jsxs(TableContainer, { className: className, style: style, bordered: bordered, children: [loading && (_jsxs("div", { style: {
41
+ position: 'absolute',
42
+ inset: 0,
43
+ display: 'flex',
44
+ alignItems: 'center',
45
+ justifyContent: 'center',
46
+ backgroundColor: 'rgba(255,255,255,0.7)',
47
+ backdropFilter: 'blur(2px)',
48
+ zIndex: 10,
49
+ borderRadius: 'inherit',
50
+ }, children: [_jsx("div", { style: {
51
+ width: '28px',
52
+ height: '28px',
53
+ border: `3px solid ${tokens.color.slate200}`,
54
+ borderTopColor: tokens.color.primary,
55
+ borderRadius: '50%',
56
+ animation: 'ds-spin 0.7s linear infinite',
57
+ } }), _jsx("style", { children: `@keyframes ds-spin { to { transform: rotate(360deg); } }` })] })), _jsx(THead, { children: _jsx(TR, { header: true, children: columns.map((col) => {
58
+ const isSorted = sortKey === col.key;
59
+ return (_jsx(TH, { onClick: col.sortable ? () => handleSort(col) : undefined, style: {
60
+ textAlign: col.align || 'left',
61
+ width: col.width,
62
+ minWidth: col.minWidth,
63
+ cursor: col.sortable ? 'pointer' : 'default',
64
+ userSelect: col.sortable ? 'none' : undefined,
65
+ ...col.headerStyle,
66
+ ...headerStyle,
67
+ }, children: _jsxs("span", { style: { display: 'inline-flex', alignItems: 'center', gap: '5px' }, children: [col.label, col.sortable && (_jsxs("span", { style: { display: 'inline-flex', flexDirection: 'column', gap: '1px', opacity: isSorted ? 1 : 0.3 }, children: [_jsx("svg", { width: "8", height: "5", viewBox: "0 0 8 5", fill: isSorted && sortDir === 'asc' ? tokens.color.primary : tokens.color.slate400, children: _jsx("path", { d: "M4 0L8 5H0L4 0Z" }) }), _jsx("svg", { width: "8", height: "5", viewBox: "0 0 8 5", fill: isSorted && sortDir === 'desc' ? tokens.color.primary : tokens.color.slate400, children: _jsx("path", { d: "M4 5L0 0H8L4 5Z" }) })] }))] }) }, col.key.toString()));
68
+ }) }) }), _jsx(TBody, { children: displayData.length > 0 ? (displayData.map((record, rowIndex) => {
69
+ const key = getRowKey(record, rowIndex);
70
+ const isActive = activeKey !== undefined && getRowKey(record, rowIndex) === activeKey;
71
+ const isHovered = hoveredRow === rowIndex;
72
+ const computedRowStyle = typeof rowStyle === 'function' ? rowStyle(record, rowIndex) : rowStyle;
73
+ const zebraStyle = striped && rowIndex % 2 === 1
74
+ ? { backgroundColor: 'rgba(248, 250, 252, 0.6)' }
75
+ : {};
76
+ return (_jsx(TR, { onClick: onRowClick ? () => onRowClick(record, rowIndex) : undefined, active: isActive, style: {
77
+ ...zebraStyle,
78
+ ...(isHovered && !isActive ? { backgroundColor: tokens.color.primaryLight } : {}),
79
+ ...computedRowStyle,
80
+ }, onMouseEnter: () => onRowClick && setHoveredRow(rowIndex), onMouseLeave: () => onRowClick && setHoveredRow(null), children: columns.map((col) => (_jsx(TD, { style: { textAlign: col.align || 'left', ...col.cellStyle }, children: col.render
81
+ ? col.render(record[col.key], record, rowIndex)
82
+ : record[col.key] }, col.key.toString()))) }, String(key)));
83
+ })) : (_jsx(TR, { children: _jsx(TD, { colSpan: columns.length, style: { textAlign: 'center', padding: tokens.spacing[12], color: tokens.color.slate400 }, children: _jsxs("div", { style: {
84
+ display: 'flex',
85
+ flexDirection: 'column',
86
+ alignItems: 'center',
87
+ gap: tokens.spacing[3],
88
+ }, children: [_jsxs("svg", { width: "40", height: "40", viewBox: "0 0 24 24", fill: "none", stroke: tokens.color.slate300, strokeWidth: 1.5, strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("rect", { x: "2", y: "3", width: "20", height: "14", rx: "2" }), _jsx("line", { x1: "8", y1: "21", x2: "16", y2: "21" }), _jsx("line", { x1: "12", y1: "17", x2: "12", y2: "21" })] }), _jsx("span", { style: { fontSize: tokens.font.sm, fontStyle: 'italic', fontWeight: tokens.font.weightMedium }, children: emptyText })] }) }) })) })] }));
20
89
  };
21
- export const TableContainer = ({ children, className = '', style = {}, ...props }) => (_jsx("div", { ...props, style: {
90
+ export const TableContainer = ({ children, className = '', style = {}, bordered = false, ...props }) => (_jsx("div", { ...props, style: {
22
91
  width: '100%',
23
92
  overflowX: 'auto',
93
+ overflowY: 'hidden',
24
94
  backgroundColor: tokens.color.white,
25
95
  borderRadius: tokens.radius['2xl'],
26
- border: `1px solid ${tokens.color.slate100}`,
96
+ border: `1px solid ${bordered ? tokens.color.slate200 : tokens.color.slate100}`,
27
97
  boxShadow: tokens.shadow.sm,
98
+ position: 'relative',
28
99
  ...style,
29
- }, className: className, children: _jsx("table", { style: {
100
+ }, className: `ds-table-container ${className}`, children: _jsx("table", { style: {
30
101
  width: '100%',
31
102
  borderCollapse: 'collapse',
32
103
  textAlign: 'left',
@@ -34,41 +105,35 @@ export const TableContainer = ({ children, className = '', style = {}, ...props
34
105
  fontFamily: tokens.font.family,
35
106
  }, children: children }) }));
36
107
  export const THead = ({ children, style = {}, ...props }) => (_jsx("thead", { ...props, style: {
37
- backgroundColor: 'rgba(248, 250, 252, 0.5)', // Slate 50/50
108
+ backgroundColor: tokens.color.slate50,
109
+ borderBottom: `2px solid ${tokens.color.slate100}`,
38
110
  ...style,
39
111
  }, children: children }));
40
112
  export const TBody = ({ children, style = {}, ...props }) => (_jsx("tbody", { ...props, style: { backgroundColor: tokens.color.white, ...style }, children: children }));
41
113
  export const TR = ({ children, onClick, active = false, header = false, style = {}, ...props }) => (_jsx("tr", { ...props, onClick: onClick, style: {
42
- borderBottom: `1px solid ${tokens.color.slate50}`,
114
+ borderBottom: `1px solid ${tokens.color.slate100}`,
43
115
  backgroundColor: active ? tokens.color.primaryLight : 'transparent',
44
116
  transition: tokens.transition.fast,
45
117
  cursor: onClick ? 'pointer' : 'default',
46
118
  ...style,
47
- }, onMouseEnter: !header
48
- ? (e) => {
49
- e.currentTarget.style.backgroundColor = 'rgba(248, 250, 252, 0.3)';
50
- }
51
- : undefined, onMouseLeave: !header
52
- ? (e) => {
53
- e.currentTarget.style.backgroundColor = active
54
- ? tokens.color.primaryLight
55
- : 'transparent';
56
- }
57
- : undefined, children: children }));
119
+ }, children: children }));
58
120
  export const TH = ({ children, style = {}, ...props }) => (_jsx("th", { ...props, style: {
59
- padding: `${tokens.spacing[5]} ${tokens.spacing[6]}`,
121
+ padding: `${tokens.spacing[3]} ${tokens.spacing[5]}`,
60
122
  fontWeight: tokens.font.weightBold,
61
- color: tokens.color.slate400,
123
+ color: tokens.color.slate500,
62
124
  textTransform: 'uppercase',
63
- letterSpacing: '0.15em',
125
+ letterSpacing: '0.08em',
64
126
  fontSize: '11px',
127
+ whiteSpace: 'nowrap',
65
128
  ...style,
66
129
  }, children: children }));
67
130
  export const TD = ({ children, style = {}, ...props }) => (_jsx("td", { ...props, style: {
68
- padding: `${tokens.spacing[6]} ${tokens.spacing[6]}`,
131
+ padding: `${tokens.spacing[4]} ${tokens.spacing[5]}`,
69
132
  color: tokens.color.slate600,
70
133
  verticalAlign: 'middle',
71
134
  fontSize: tokens.font.sm,
135
+ fontWeight: tokens.font.weightMedium,
136
+ lineHeight: 1.5,
72
137
  ...style,
73
138
  }, children: children }));
74
139
  //# sourceMappingURL=Table.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Table.js","sourceRoot":"","sources":["../../../src/components/Table.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Table.js","sourceRoot":"","sources":["../../../src/components/Table.tsx"],"names":[],"mappings":"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"}
@@ -1,20 +1,24 @@
1
1
  import React from 'react';
2
- export interface TabProps extends React.HTMLAttributes<HTMLDivElement> {
2
+ export interface TabItem {
3
3
  label: string;
4
4
  value: any;
5
5
  icon?: React.ReactNode;
6
- active?: boolean;
7
- variant?: 'standard' | 'pills' | 'dashboard';
6
+ badge?: React.ReactNode;
7
+ disabled?: boolean;
8
8
  }
9
- export interface TabItem {
9
+ export interface TabProps extends React.HTMLAttributes<HTMLDivElement> {
10
10
  label: string;
11
11
  value: any;
12
12
  icon?: React.ReactNode;
13
+ badge?: React.ReactNode;
14
+ active?: boolean;
15
+ disabled?: boolean;
16
+ variant?: 'standard' | 'pills' | 'underline' | 'dashboard';
13
17
  }
14
18
  export interface TabsProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {
15
19
  value: any;
16
20
  onChange: (value: any) => void;
17
- variant?: 'standard' | 'pills' | 'dashboard';
21
+ variant?: 'standard' | 'pills' | 'underline' | 'dashboard';
18
22
  items?: TabItem[];
19
23
  children?: React.ReactNode;
20
24
  columns?: number;