@kingsoft-ai/design 0.1.19 → 0.2.6

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 (130) hide show
  1. package/dist/index.cjs +3150 -2478
  2. package/dist/index.cjs.map +1 -1
  3. package/dist/index.mjs +7430 -6241
  4. package/dist/index.mjs.map +1 -1
  5. package/dist/style.css +1 -1
  6. package/dist/types/DesignThemeProvider.d.ts +25 -20
  7. package/dist/types/button/Button.d.ts +4 -19
  8. package/dist/types/button/Button.style.d.ts +4 -35
  9. package/dist/types/button/IconButton.d.ts +4 -5
  10. package/dist/types/button/IconButton.style.d.ts +4 -7
  11. package/dist/types/button/styled-tokens.d.ts +582 -0
  12. package/dist/types/button/tokens.d.ts +1 -1
  13. package/dist/types/button/tokens.types.d.ts +190 -0
  14. package/dist/types/card/Card.d.ts +0 -6
  15. package/dist/types/card/Card.style.d.ts +4 -7
  16. package/dist/types/card/styled-tokens.d.ts +130 -0
  17. package/dist/types/card/tokens.d.ts +1 -1
  18. package/dist/types/card/tokens.types.d.ts +48 -0
  19. package/dist/types/checkbox/Checkbox.d.ts +0 -7
  20. package/dist/types/checkbox/Checkbox.style.d.ts +29 -7
  21. package/dist/types/checkbox/CheckboxButton.d.ts +0 -16
  22. package/dist/types/checkbox/CheckboxButton.style.d.ts +24 -12
  23. package/dist/types/checkbox/styled-tokens.d.ts +122 -0
  24. package/dist/types/checkbox/tokens.d.ts +1 -1
  25. package/dist/types/checkbox/tokens.types.d.ts +39 -0
  26. package/dist/types/collapse/Collapse.d.ts +2 -34
  27. package/dist/types/collapse/Collapse.style.d.ts +4 -43
  28. package/dist/types/collapse/styled-tokens.d.ts +77 -0
  29. package/dist/types/collapse/tokens.d.ts +1 -1
  30. package/dist/types/collapse/tokens.types.d.ts +28 -0
  31. package/dist/types/context/ThemeContext.d.ts +24 -0
  32. package/dist/types/context/index.d.ts +2 -0
  33. package/dist/types/floatButton/FloatButton.d.ts +0 -21
  34. package/dist/types/floatButton/FloatButton.style.d.ts +0 -31
  35. package/dist/types/floatButton/styled-tokens.d.ts +127 -0
  36. package/dist/types/floatButton/tokens.d.ts +1 -1
  37. package/dist/types/floatButton/tokens.types.d.ts +66 -0
  38. package/dist/types/index.d.ts +5 -4
  39. package/dist/types/input/Input.d.ts +4 -22
  40. package/dist/types/input/Input.style.d.ts +4 -48
  41. package/dist/types/input/styled-tokens.d.ts +147 -0
  42. package/dist/types/input/tokens.d.ts +1 -1
  43. package/dist/types/input/tokens.types.d.ts +46 -0
  44. package/dist/types/link/Link.d.ts +4 -0
  45. package/dist/types/link/Link.style.d.ts +4 -10
  46. package/dist/types/link/styled-tokens.d.ts +107 -0
  47. package/dist/types/link/tokens.d.ts +1 -1
  48. package/dist/types/link/tokens.types.d.ts +39 -0
  49. package/dist/types/menu/Menu.d.ts +0 -25
  50. package/dist/types/menu/Menu.style.d.ts +4 -43
  51. package/dist/types/menu/MenuItem.d.ts +0 -6
  52. package/dist/types/menu/styled-tokens.d.ts +217 -0
  53. package/dist/types/menu/tokens.d.ts +1 -1
  54. package/dist/types/menu/tokens.types.d.ts +79 -0
  55. package/dist/types/modal/Modal.d.ts +0 -8
  56. package/dist/types/modal/Modal.style.d.ts +4 -11
  57. package/dist/types/modal/styled-tokens.d.ts +370 -0
  58. package/dist/types/modal/tokens.d.ts +1 -1
  59. package/dist/types/modal/tokens.types.d.ts +107 -0
  60. package/dist/types/numberInput/NumberInput.d.ts +2 -22
  61. package/dist/types/numberInput/NumberInput.style.d.ts +4 -7
  62. package/dist/types/numberInput/styled-tokens.d.ts +192 -0
  63. package/dist/types/numberInput/tokens.d.ts +1 -1
  64. package/dist/types/numberInput/tokens.types.d.ts +65 -0
  65. package/dist/types/progress/Progress.d.ts +4 -27
  66. package/dist/types/progress/Progress.style.d.ts +4 -43
  67. package/dist/types/progress/styled-tokens.d.ts +137 -0
  68. package/dist/types/progress/tokens.d.ts +3 -0
  69. package/dist/types/progress/tokens.types.d.ts +52 -0
  70. package/dist/types/radio/Radio.d.ts +4 -0
  71. package/dist/types/radio/Radio.style.d.ts +9 -28
  72. package/dist/types/radio/styled-tokens.d.ts +122 -0
  73. package/dist/types/radio/tokens.d.ts +1 -1
  74. package/dist/types/radio/tokens.types.d.ts +41 -0
  75. package/dist/types/select/Select.style.d.ts +4 -7
  76. package/dist/types/select/styled-tokens.d.ts +237 -0
  77. package/dist/types/select/tokens.d.ts +1 -1
  78. package/dist/types/select/tokens.types.d.ts +72 -0
  79. package/dist/types/skeleton/Skeleton.style.d.ts +0 -25
  80. package/dist/types/skeleton/styled-tokens.d.ts +82 -0
  81. package/dist/types/skeleton/tokens.d.ts +1 -1
  82. package/dist/types/skeleton/tokens.types.d.ts +31 -0
  83. package/dist/types/slider/Slider.d.ts +74 -0
  84. package/dist/types/slider/Slider.style.d.ts +125 -0
  85. package/dist/types/slider/__tests__/Slider.test.d.ts +13 -0
  86. package/dist/types/slider/index.d.ts +2 -0
  87. package/dist/types/slider/styled-tokens.d.ts +252 -0
  88. package/dist/types/slider/tokens.d.ts +3 -0
  89. package/dist/types/slider/tokens.types.d.ts +121 -0
  90. package/dist/types/stepper/Stepper.d.ts +3 -0
  91. package/dist/types/stepper/Stepper.style.d.ts +4 -7
  92. package/dist/types/stepper/styled-tokens.d.ts +157 -0
  93. package/dist/types/stepper/tokens.d.ts +1 -1
  94. package/dist/types/stepper/tokens.types.d.ts +68 -0
  95. package/dist/types/switch/Switch.d.ts +4 -35
  96. package/dist/types/switch/Switch.style.d.ts +4 -56
  97. package/dist/types/switch/styled-tokens.d.ts +132 -0
  98. package/dist/types/switch/tokens.d.ts +1 -1
  99. package/dist/types/switch/tokens.types.d.ts +45 -0
  100. package/dist/types/table/Table.d.ts +2 -0
  101. package/dist/types/table/Table.style.d.ts +4 -7
  102. package/dist/types/table/styled-tokens.d.ts +182 -0
  103. package/dist/types/table/tokens.d.ts +3 -0
  104. package/dist/types/table/tokens.types.d.ts +43 -0
  105. package/dist/types/tag/Tag.d.ts +4 -36
  106. package/dist/types/tag/Tag.style.d.ts +5 -41
  107. package/dist/types/tag/styled-tokens.d.ts +140 -0
  108. package/dist/types/tag/tokens.d.ts +1 -1
  109. package/dist/types/tag/tokens.types.d.ts +76 -0
  110. package/dist/types/theme.d.ts +1 -2
  111. package/dist/types/tooltip/Tooltip.d.ts +0 -18
  112. package/dist/types/tooltip/Tooltip.style.d.ts +0 -19
  113. package/dist/types/tooltip/styled-tokens.d.ts +72 -0
  114. package/dist/types/tooltip/tokens.d.ts +1 -1
  115. package/dist/types/tooltip/tokens.types.d.ts +21 -0
  116. package/dist/types/transfer/Transfer.d.ts +0 -20
  117. package/dist/types/transfer/Transfer.style.d.ts +0 -10
  118. package/dist/types/transfer/styled-tokens.d.ts +252 -0
  119. package/dist/types/transfer/tokens.d.ts +1 -1
  120. package/dist/types/transfer/tokens.types.d.ts +79 -0
  121. package/dist/types/types/index.d.ts +64 -4
  122. package/dist/types/upload/Upload.d.ts +2 -21
  123. package/dist/types/upload/Upload.style.d.ts +4 -64
  124. package/dist/types/upload/styled-tokens.d.ts +227 -0
  125. package/dist/types/upload/tokens.d.ts +3 -0
  126. package/dist/types/upload/tokens.types.d.ts +66 -0
  127. package/dist/types/utils/index.d.ts +4 -0
  128. package/dist/types/utils/styled-token.d.ts +117 -0
  129. package/package.json +5 -4
  130. package/dist/styles.css +0 -1
@@ -0,0 +1,137 @@
1
+ /**
2
+ * Progress Styled Tokens
3
+ *
4
+ * 将 Progress 的 JS tokens 与 CSS 变量映射,实现:
5
+ * - 有 ThemeProvider 时:使用 JS token 值(可被用户自定义)
6
+ * - 无 ThemeProvider 时:fallback 到 CSS 变量(基础样式)
7
+ */
8
+ /**
9
+ * Progress 组件的 Styled Tokens
10
+ */
11
+ export declare const $progress: {
12
+ readonly colorNormal: (props: {
13
+ theme?: import("@kingsoft-ai/theme").Theme & {
14
+ _useCSSVariables?: boolean;
15
+ };
16
+ }) => string;
17
+ readonly colorError: (props: {
18
+ theme?: import("@kingsoft-ai/theme").Theme & {
19
+ _useCSSVariables?: boolean;
20
+ };
21
+ }) => string;
22
+ readonly colorWarning: (props: {
23
+ theme?: import("@kingsoft-ai/theme").Theme & {
24
+ _useCSSVariables?: boolean;
25
+ };
26
+ }) => string;
27
+ readonly colorSuccess: (props: {
28
+ theme?: import("@kingsoft-ai/theme").Theme & {
29
+ _useCSSVariables?: boolean;
30
+ };
31
+ }) => string;
32
+ readonly trackBg: (props: {
33
+ theme?: import("@kingsoft-ai/theme").Theme & {
34
+ _useCSSVariables?: boolean;
35
+ };
36
+ }) => string;
37
+ readonly trackBorderRadius: (props: {
38
+ theme?: import("@kingsoft-ai/theme").Theme & {
39
+ _useCSSVariables?: boolean;
40
+ };
41
+ }) => string;
42
+ readonly lineSmHeight: (props: {
43
+ theme?: import("@kingsoft-ai/theme").Theme & {
44
+ _useCSSVariables?: boolean;
45
+ };
46
+ }) => string;
47
+ readonly lineMdHeight: (props: {
48
+ theme?: import("@kingsoft-ai/theme").Theme & {
49
+ _useCSSVariables?: boolean;
50
+ };
51
+ }) => string;
52
+ readonly lineLgHeight: (props: {
53
+ theme?: import("@kingsoft-ai/theme").Theme & {
54
+ _useCSSVariables?: boolean;
55
+ };
56
+ }) => string;
57
+ readonly circleSmSize: (props: {
58
+ theme?: import("@kingsoft-ai/theme").Theme & {
59
+ _useCSSVariables?: boolean;
60
+ };
61
+ }) => string;
62
+ readonly circleMdSize: (props: {
63
+ theme?: import("@kingsoft-ai/theme").Theme & {
64
+ _useCSSVariables?: boolean;
65
+ };
66
+ }) => string;
67
+ readonly circleMdFontSize: (props: {
68
+ theme?: import("@kingsoft-ai/theme").Theme & {
69
+ _useCSSVariables?: boolean;
70
+ };
71
+ }) => string;
72
+ readonly circleMdFontWeight: (props: {
73
+ theme?: import("@kingsoft-ai/theme").Theme & {
74
+ _useCSSVariables?: boolean;
75
+ };
76
+ }) => string;
77
+ readonly circleMdLineHeight: (props: {
78
+ theme?: import("@kingsoft-ai/theme").Theme & {
79
+ _useCSSVariables?: boolean;
80
+ };
81
+ }) => string;
82
+ readonly circleLgSize: (props: {
83
+ theme?: import("@kingsoft-ai/theme").Theme & {
84
+ _useCSSVariables?: boolean;
85
+ };
86
+ }) => string;
87
+ readonly circleLgFontSize: (props: {
88
+ theme?: import("@kingsoft-ai/theme").Theme & {
89
+ _useCSSVariables?: boolean;
90
+ };
91
+ }) => string;
92
+ readonly circleLgFontWeight: (props: {
93
+ theme?: import("@kingsoft-ai/theme").Theme & {
94
+ _useCSSVariables?: boolean;
95
+ };
96
+ }) => string;
97
+ readonly circleLgLineHeight: (props: {
98
+ theme?: import("@kingsoft-ai/theme").Theme & {
99
+ _useCSSVariables?: boolean;
100
+ };
101
+ }) => string;
102
+ readonly textFontSize: (props: {
103
+ theme?: import("@kingsoft-ai/theme").Theme & {
104
+ _useCSSVariables?: boolean;
105
+ };
106
+ }) => string;
107
+ readonly textLineHeight: (props: {
108
+ theme?: import("@kingsoft-ai/theme").Theme & {
109
+ _useCSSVariables?: boolean;
110
+ };
111
+ }) => string;
112
+ readonly textColor: (props: {
113
+ theme?: import("@kingsoft-ai/theme").Theme & {
114
+ _useCSSVariables?: boolean;
115
+ };
116
+ }) => string;
117
+ readonly iconSize: (props: {
118
+ theme?: import("@kingsoft-ai/theme").Theme & {
119
+ _useCSSVariables?: boolean;
120
+ };
121
+ }) => string;
122
+ readonly gap: (props: {
123
+ theme?: import("@kingsoft-ai/theme").Theme & {
124
+ _useCSSVariables?: boolean;
125
+ };
126
+ }) => string;
127
+ readonly infoGap: (props: {
128
+ theme?: import("@kingsoft-ai/theme").Theme & {
129
+ _useCSSVariables?: boolean;
130
+ };
131
+ }) => string;
132
+ readonly transition: (props: {
133
+ theme?: import("@kingsoft-ai/theme").Theme & {
134
+ _useCSSVariables?: boolean;
135
+ };
136
+ }) => string;
137
+ };
@@ -0,0 +1,3 @@
1
+ import { TokenGenerator } from '../types/theme-utils';
2
+ import { ProgressTokens } from './tokens.types';
3
+ export declare const getProgressTokens: TokenGenerator<ProgressTokens>;
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Progress 组件 Token 类型定义
3
+ */
4
+ export interface ProgressTokens {
5
+ color: {
6
+ normal: string;
7
+ error: string;
8
+ warning: string;
9
+ success: string;
10
+ };
11
+ track: {
12
+ bg: string;
13
+ borderRadius: string;
14
+ };
15
+ line: {
16
+ sm: {
17
+ height: string;
18
+ };
19
+ md: {
20
+ height: string;
21
+ };
22
+ lg: {
23
+ height: string;
24
+ };
25
+ };
26
+ circle: {
27
+ sm: {
28
+ size: string;
29
+ };
30
+ md: {
31
+ size: string;
32
+ fontSize: string;
33
+ fontWeight: number;
34
+ lineHeight: string;
35
+ };
36
+ lg: {
37
+ size: string;
38
+ fontSize: string;
39
+ fontWeight: number;
40
+ lineHeight: string;
41
+ };
42
+ };
43
+ text: {
44
+ fontSize: string;
45
+ lineHeight: string;
46
+ color: string;
47
+ };
48
+ iconSize: string;
49
+ gap: string;
50
+ infoGap: string;
51
+ transition: string;
52
+ }
@@ -2,8 +2,12 @@ import type { InputHTMLAttributes, ReactNode } from 'react';
2
2
  export type RadioProps = Omit<InputHTMLAttributes<HTMLInputElement>, 'type'> & {
3
3
  label?: ReactNode;
4
4
  description?: ReactNode;
5
+ /** 自定义样式(支持 CSS 变量定制) */
6
+ style?: React.CSSProperties;
5
7
  };
6
8
  export declare const Radio: import("react").ForwardRefExoticComponent<Omit<InputHTMLAttributes<HTMLInputElement>, "type"> & {
7
9
  label?: ReactNode;
8
10
  description?: ReactNode;
11
+ /** 自定义样式(支持 CSS 变量定制) */
12
+ style?: React.CSSProperties;
9
13
  } & import("react").RefAttributes<HTMLInputElement>>;
@@ -1,19 +1,13 @@
1
1
  /**
2
- * Radio 组件样式
2
+ * Radio Styled Components
3
3
  *
4
- * 基于 CSS 变量的三层 Token 体系:
5
- * - Tier 1 (Global): 全局基础值 --ksd-colors-*, --ksd-spacing-*, etc.
6
- * - Tier 2 (Semantic): 语义化映射 --ksd-brand-*, --ksd-text-*, etc.
7
- * - Tier 3 (Component): 组件专用 Token --ksd-radio-*
8
- *
9
- * 无需 ThemeProvider,直接使用 CSS 变量
4
+ * 使用 Styled Token System 实现样式:
5
+ * - JS Token 优先(来自 ThemeProvider,支持用户自定义)
6
+ * - CSS 变量作为 fallback(无 Provider 时的兜底)
10
7
  */
11
8
  interface RadioWrapperProps {
12
9
  disabled?: boolean;
13
10
  }
14
- /**
15
- * Radio 容器
16
- */
17
11
  export declare const RadioWrapper: import("@emotion/styled").StyledComponent<{
18
12
  theme?: import("@emotion/react").Theme;
19
13
  as?: React.ElementType;
@@ -21,30 +15,23 @@ export declare const RadioWrapper: import("@emotion/styled").StyledComponent<{
21
15
  interface RadioRootProps {
22
16
  disabled?: boolean;
23
17
  }
24
- /**
25
- * Radio 控件根节点
26
- */
27
18
  export declare const RadioRoot: import("@emotion/styled").StyledComponent<{
28
19
  theme?: import("@emotion/react").Theme;
29
20
  as?: React.ElementType;
30
21
  } & RadioRootProps, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, {}>;
31
- /**
32
- * 隐藏的原生 radio input
33
- */
34
22
  export declare const RadioNative: import("@emotion/styled").StyledComponent<{
35
23
  theme?: import("@emotion/react").Theme;
36
24
  as?: React.ElementType;
37
25
  }, import("react").DetailedHTMLProps<import("react").InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, {}>;
38
- /**
39
- * Radio 指示器(圆点)
40
- */
41
26
  export declare const RadioIndicator: import("@emotion/styled").StyledComponent<{
42
27
  theme?: import("@emotion/react").Theme;
43
28
  as?: React.ElementType;
29
+ } & {
30
+ isChecked?: boolean;
31
+ isDisabled?: boolean;
32
+ isFocusVisible?: boolean;
33
+ isHovered?: boolean;
44
34
  }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, {}>;
45
- /**
46
- * Radio 文本区域
47
- */
48
35
  export declare const RadioText: import("@emotion/styled").StyledComponent<{
49
36
  theme?: import("@emotion/react").Theme;
50
37
  as?: React.ElementType;
@@ -52,9 +39,6 @@ export declare const RadioText: import("@emotion/styled").StyledComponent<{
52
39
  interface RadioLabelProps {
53
40
  disabled?: boolean;
54
41
  }
55
- /**
56
- * Radio 标签
57
- */
58
42
  export declare const RadioLabel: import("@emotion/styled").StyledComponent<{
59
43
  theme?: import("@emotion/react").Theme;
60
44
  as?: React.ElementType;
@@ -62,9 +46,6 @@ export declare const RadioLabel: import("@emotion/styled").StyledComponent<{
62
46
  interface RadioDescriptionProps {
63
47
  disabled?: boolean;
64
48
  }
65
- /**
66
- * Radio 描述文本
67
- */
68
49
  export declare const RadioDescription: import("@emotion/styled").StyledComponent<{
69
50
  theme?: import("@emotion/react").Theme;
70
51
  as?: React.ElementType;
@@ -0,0 +1,122 @@
1
+ /**
2
+ * Radio Styled Tokens
3
+ *
4
+ * 将 Radio 的 JS tokens 与 CSS 变量映射,实现:
5
+ * - 有 ThemeProvider 时:使用 JS token 值(可被用户自定义)
6
+ * - 无 ThemeProvider 时:fallback 到 CSS 变量(基础样式)
7
+ */
8
+ /**
9
+ * Radio 组件的 Styled Tokens
10
+ */
11
+ export declare const $radio: {
12
+ readonly controlSize: (props: {
13
+ theme?: import("@kingsoft-ai/theme").Theme & {
14
+ _useCSSVariables?: boolean;
15
+ };
16
+ }) => string;
17
+ readonly controlBorderRadius: (props: {
18
+ theme?: import("@kingsoft-ai/theme").Theme & {
19
+ _useCSSVariables?: boolean;
20
+ };
21
+ }) => string;
22
+ readonly controlBorderWidth: (props: {
23
+ theme?: import("@kingsoft-ai/theme").Theme & {
24
+ _useCSSVariables?: boolean;
25
+ };
26
+ }) => string;
27
+ readonly controlBg: (props: {
28
+ theme?: import("@kingsoft-ai/theme").Theme & {
29
+ _useCSSVariables?: boolean;
30
+ };
31
+ }) => string;
32
+ readonly controlBorder: (props: {
33
+ theme?: import("@kingsoft-ai/theme").Theme & {
34
+ _useCSSVariables?: boolean;
35
+ };
36
+ }) => string;
37
+ readonly controlBorderHover: (props: {
38
+ theme?: import("@kingsoft-ai/theme").Theme & {
39
+ _useCSSVariables?: boolean;
40
+ };
41
+ }) => string;
42
+ readonly controlBorderChecked: (props: {
43
+ theme?: import("@kingsoft-ai/theme").Theme & {
44
+ _useCSSVariables?: boolean;
45
+ };
46
+ }) => string;
47
+ readonly controlBorderDisabled: (props: {
48
+ theme?: import("@kingsoft-ai/theme").Theme & {
49
+ _useCSSVariables?: boolean;
50
+ };
51
+ }) => string;
52
+ readonly indicatorSize: (props: {
53
+ theme?: import("@kingsoft-ai/theme").Theme & {
54
+ _useCSSVariables?: boolean;
55
+ };
56
+ }) => string;
57
+ readonly indicatorColor: (props: {
58
+ theme?: import("@kingsoft-ai/theme").Theme & {
59
+ _useCSSVariables?: boolean;
60
+ };
61
+ }) => string;
62
+ readonly indicatorColorDisabled: (props: {
63
+ theme?: import("@kingsoft-ai/theme").Theme & {
64
+ _useCSSVariables?: boolean;
65
+ };
66
+ }) => string;
67
+ readonly focusRing: (props: {
68
+ theme?: import("@kingsoft-ai/theme").Theme & {
69
+ _useCSSVariables?: boolean;
70
+ };
71
+ }) => string;
72
+ readonly gap: (props: {
73
+ theme?: import("@kingsoft-ai/theme").Theme & {
74
+ _useCSSVariables?: boolean;
75
+ };
76
+ }) => string;
77
+ readonly labelFontSize: (props: {
78
+ theme?: import("@kingsoft-ai/theme").Theme & {
79
+ _useCSSVariables?: boolean;
80
+ };
81
+ }) => string;
82
+ readonly labelFontWeight: (props: {
83
+ theme?: import("@kingsoft-ai/theme").Theme & {
84
+ _useCSSVariables?: boolean;
85
+ };
86
+ }) => string;
87
+ readonly labelColor: (props: {
88
+ theme?: import("@kingsoft-ai/theme").Theme & {
89
+ _useCSSVariables?: boolean;
90
+ };
91
+ }) => string;
92
+ readonly labelColorDisabled: (props: {
93
+ theme?: import("@kingsoft-ai/theme").Theme & {
94
+ _useCSSVariables?: boolean;
95
+ };
96
+ }) => string;
97
+ readonly descriptionFontSize: (props: {
98
+ theme?: import("@kingsoft-ai/theme").Theme & {
99
+ _useCSSVariables?: boolean;
100
+ };
101
+ }) => string;
102
+ readonly descriptionColor: (props: {
103
+ theme?: import("@kingsoft-ai/theme").Theme & {
104
+ _useCSSVariables?: boolean;
105
+ };
106
+ }) => string;
107
+ readonly descriptionColorDisabled: (props: {
108
+ theme?: import("@kingsoft-ai/theme").Theme & {
109
+ _useCSSVariables?: boolean;
110
+ };
111
+ }) => string;
112
+ readonly disabledOpacity: (props: {
113
+ theme?: import("@kingsoft-ai/theme").Theme & {
114
+ _useCSSVariables?: boolean;
115
+ };
116
+ }) => string;
117
+ readonly transition: (props: {
118
+ theme?: import("@kingsoft-ai/theme").Theme & {
119
+ _useCSSVariables?: boolean;
120
+ };
121
+ }) => string;
122
+ };
@@ -1,3 +1,3 @@
1
1
  import { TokenGenerator } from '../types/theme-utils';
2
- import { RadioTokens } from '../types/component-tokens.types';
2
+ import { RadioTokens } from './tokens.types';
3
3
  export declare const getRadioTokens: TokenGenerator<RadioTokens>;
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Radio 组件 Token 类型定义
3
+ */
4
+ export interface RadioTokens {
5
+ control: {
6
+ size: string;
7
+ borderRadius: string;
8
+ borderWidth: string;
9
+ background: string;
10
+ borderColor: {
11
+ default: string;
12
+ hover: string;
13
+ checked: string;
14
+ disabled: string;
15
+ };
16
+ indicator: {
17
+ size: string;
18
+ color: string;
19
+ disabled: string;
20
+ };
21
+ };
22
+ focusRing: string;
23
+ gap: string;
24
+ transition: string;
25
+ text: {
26
+ label: {
27
+ fontSize: string;
28
+ color: string;
29
+ disabled: string;
30
+ fontWeight: number;
31
+ };
32
+ description: {
33
+ color: string;
34
+ disabled: string;
35
+ fontSize: string;
36
+ };
37
+ };
38
+ disabled: {
39
+ opacity: number;
40
+ };
41
+ }
@@ -1,12 +1,9 @@
1
1
  /**
2
- * Select 样式组件
2
+ * Select Styled Components
3
3
  *
4
- * 基于 CSS 变量的三层 Token 体系:
5
- * - Tier 1 (Global): 全局基础值 --ksd-colors-*, --ksd-spacing-*, etc.
6
- * - Tier 2 (Semantic): 语义化映射 --ksd-brand-*, --ksd-text-*, etc.
7
- * - Tier 3 (Component): 组件专用 Token --ksd-select-*
8
- *
9
- * 无需 ThemeProvider,直接使用 CSS 变量
4
+ * 使用 Styled Token System 实现样式:
5
+ * - JS Token 优先(来自 ThemeProvider,支持用户自定义)
6
+ * - CSS 变量作为 fallback(无 Provider 时的兜底)
10
7
  */
11
8
  export declare const selectSizes: readonly ["sm", "md", "lg"];
12
9
  export type SelectSize = (typeof selectSizes)[number];