@tendaui/components 1.0.0 → 1.2.3

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 (270) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +176 -176
  3. package/alert/Alert.tsx +3 -2
  4. package/button/_example/base.tsx +10 -0
  5. package/button/_example/icon.tsx +20 -0
  6. package/color-picker/ColorPickPanel.tsx +9 -0
  7. package/color-picker/ColorPicker.tsx +67 -0
  8. package/color-picker/components/panel/alpha.tsx +32 -0
  9. package/color-picker/components/panel/format/index.tsx +47 -0
  10. package/color-picker/components/panel/format/inputs.tsx +119 -0
  11. package/color-picker/components/panel/header.tsx +37 -0
  12. package/color-picker/components/panel/hue.tsx +20 -0
  13. package/color-picker/components/panel/index.tsx +191 -0
  14. package/color-picker/components/panel/saturation.tsx +81 -0
  15. package/color-picker/components/panel/slider.tsx +76 -0
  16. package/color-picker/components/panel/swatches.tsx +84 -0
  17. package/color-picker/components/trigger.tsx +49 -0
  18. package/color-picker/defaultProps.ts +7 -0
  19. package/color-picker/helpers.ts +53 -0
  20. package/color-picker/hooks/useClassNames.ts +9 -0
  21. package/color-picker/hooks/useStyles.ts +39 -0
  22. package/color-picker/index.ts +12 -0
  23. package/color-picker/style/css.js +1 -0
  24. package/color-picker/style/index.js +1 -0
  25. package/color-picker/type.ts +143 -0
  26. package/color-picker/utils/color-picker/cmyk.ts +89 -0
  27. package/color-picker/utils/color-picker/color.ts +467 -0
  28. package/color-picker/utils/color-picker/constants.ts +187 -0
  29. package/color-picker/utils/color-picker/draggable.ts +100 -0
  30. package/color-picker/utils/color-picker/format.ts +95 -0
  31. package/color-picker/utils/color-picker/gradient.ts +243 -0
  32. package/color-picker/utils/color-picker/index.ts +7 -0
  33. package/color-picker/utils/color-picker/types.ts +33 -0
  34. package/common/observe.ts +33 -0
  35. package/common.ts +20 -0
  36. package/config-provider/ConfigContext.tsx +4 -1
  37. package/config-provider/index.ts +1 -1
  38. package/dialog/DialogCard.tsx +4 -6
  39. package/dialog/hooks/useDialogPosition.ts +1 -2
  40. package/dialog/plugin.tsx +3 -2
  41. package/drawer/Drawer.tsx +264 -0
  42. package/drawer/defaultProps.ts +19 -0
  43. package/drawer/hooks/useDrag.ts +98 -0
  44. package/drawer/hooks/useLockStyle.ts +36 -0
  45. package/drawer/index.ts +5 -0
  46. package/drawer/style/css.js +1 -0
  47. package/drawer/style/index.js +1 -0
  48. package/drawer/type.ts +193 -0
  49. package/drawer/utils/index.ts +76 -0
  50. package/fireworks/Fireworks.tsx +138 -0
  51. package/fireworks/index.ts +10 -0
  52. package/fireworks/style/css.js +0 -0
  53. package/fireworks/style/index.js +0 -0
  54. package/fireworks/type.ts +72 -0
  55. package/form/FormItem.tsx +5 -5
  56. package/form/easing.ts +10 -0
  57. package/form/scroll.ts +124 -0
  58. package/form/type.ts +519 -519
  59. package/global-config/default-config.ts +95 -0
  60. package/global-config/locale/ar_KW.ts +270 -0
  61. package/global-config/locale/en_US.ts +280 -0
  62. package/global-config/locale/it_IT.ts +287 -0
  63. package/global-config/locale/ja_JP.ts +279 -0
  64. package/global-config/locale/ko_KR.ts +279 -0
  65. package/global-config/locale/ru_RU.ts +288 -0
  66. package/global-config/locale/zh_CN.ts +279 -0
  67. package/global-config/locale/zh_TW.ts +279 -0
  68. package/global-config/mobile/default-config.ts +6 -0
  69. package/global-config/mobile/locale/ar_KW.ts +113 -0
  70. package/global-config/mobile/locale/en_US.ts +114 -0
  71. package/global-config/mobile/locale/it_IT.ts +114 -0
  72. package/global-config/mobile/locale/ja_JP.ts +101 -0
  73. package/global-config/mobile/locale/ko_KR.ts +101 -0
  74. package/global-config/mobile/locale/ru_RU.ts +113 -0
  75. package/global-config/mobile/locale/zh_CN.ts +101 -0
  76. package/global-config/mobile/locale/zh_TW.ts +101 -0
  77. package/global-config/t.ts +111 -0
  78. package/hooks/useControlled.ts +3 -3
  79. package/hooks/useDeepEffect.ts +32 -0
  80. package/hooks/useGlobalIcon.ts +10 -3
  81. package/hooks/useLastest.ts +2 -6
  82. package/hooks/useResizeObserve.ts +36 -0
  83. package/index.ts +10 -7
  84. package/input/Input.tsx +4 -1
  85. package/input/defaultProps.ts +0 -2
  86. package/input/type.ts +1 -6
  87. package/input-number/InputNumber.tsx +124 -0
  88. package/input-number/defaultProps.ts +17 -0
  89. package/input-number/index.ts +9 -0
  90. package/input-number/style/css.js +1 -0
  91. package/input-number/style/index.js +1 -0
  92. package/input-number/type.ts +147 -0
  93. package/input-number/useInputNumber.tsx +270 -0
  94. package/ip-input/IPInput.tsx +516 -0
  95. package/ip-input/defaultProps.ts +11 -0
  96. package/ip-input/index.ts +3 -0
  97. package/ip-input/style/css.js +1 -0
  98. package/ip-input/style/index.js +1 -0
  99. package/ip-input/type.ts +115 -0
  100. package/ip-input/utils.ts +112 -0
  101. package/layout/Aside.tsx +38 -0
  102. package/layout/Layout.tsx +104 -0
  103. package/layout/defaultProps.ts +9 -0
  104. package/layout/index.ts +9 -0
  105. package/layout/style/css.js +1 -0
  106. package/layout/style/index.js +1 -0
  107. package/layout/type.ts +43 -0
  108. package/list/List.tsx +144 -0
  109. package/list/ListItem.tsx +36 -0
  110. package/list/ListItemMeta.tsx +40 -0
  111. package/list/defaultProps.ts +11 -0
  112. package/list/hooks/useListVirtualScroll.ts +82 -0
  113. package/list/index.ts +11 -0
  114. package/list/style/css.js +1 -0
  115. package/list/style/index.js +1 -0
  116. package/list/type.ts +93 -0
  117. package/locale/LocalReceiver.ts +55 -0
  118. package/locale/ar_KW.ts +7 -0
  119. package/locale/en_US.ts +7 -0
  120. package/locale/it_IT.ts +6 -0
  121. package/locale/ja_JP.ts +6 -0
  122. package/locale/ko_KR.ts +6 -0
  123. package/locale/ru_RU.ts +6 -0
  124. package/locale/zh_CN.ts +5 -0
  125. package/locale/zh_TW.ts +7 -0
  126. package/notification/NotifyContainer.tsx +2 -2
  127. package/notification/NotifyContext.tsx +1 -0
  128. package/package.json +6 -3
  129. package/popup/Popup.tsx +34 -10
  130. package/radio/Radio.tsx +24 -0
  131. package/radio/RadioGroup.tsx +159 -0
  132. package/radio/defaultProps.ts +18 -0
  133. package/radio/index.ts +12 -0
  134. package/radio/style/css.js +0 -0
  135. package/radio/style/index.js +1 -0
  136. package/radio/type.ts +115 -0
  137. package/radio/useKeyboard.ts +36 -0
  138. package/select/hooks/useOptions.ts +10 -7
  139. package/select/hooks/usePanelVirtualScroll.ts +1 -1
  140. package/select/type.ts +382 -382
  141. package/select-input/type.ts +280 -280
  142. package/slider/Slider.tsx +270 -0
  143. package/slider/SliderHandleButton.tsx +50 -0
  144. package/slider/defaultProps.ts +15 -0
  145. package/slider/index.ts +9 -0
  146. package/slider/style/css.js +1 -0
  147. package/slider/style/index.js +1 -0
  148. package/slider/type.ts +77 -0
  149. package/style/all.js +26 -0
  150. package/styles/_global.scss +39 -39
  151. package/styles/_vars.scss +358 -386
  152. package/styles/components/alert/_index.scss +175 -175
  153. package/styles/components/alert/_vars.scss +39 -39
  154. package/styles/components/badge/_index.scss +70 -70
  155. package/styles/components/badge/_vars.scss +25 -25
  156. package/styles/components/button/_index.scss +499 -511
  157. package/styles/components/button/_mixins.scss +39 -39
  158. package/styles/components/button/_vars.scss +120 -122
  159. package/styles/components/checkbox/_index.scss +158 -158
  160. package/styles/components/checkbox/_var.scss +60 -60
  161. package/styles/components/color-picker/_index.scss +586 -0
  162. package/styles/components/color-picker/_mixins.scss +0 -0
  163. package/styles/components/color-picker/_vars.scss +84 -0
  164. package/styles/components/dialog/_animate.scss +135 -135
  165. package/styles/components/dialog/_index.scss +311 -311
  166. package/styles/components/dialog/_vars.scss +59 -59
  167. package/styles/components/drawer/_index.scss +205 -0
  168. package/styles/components/drawer/_mixins.scss +1 -0
  169. package/styles/components/drawer/_var.scss +53 -0
  170. package/styles/components/fireworks/_index.scss +86 -0
  171. package/styles/components/fireworks/_vars.scss +4 -0
  172. package/styles/components/form/_index.scss +174 -174
  173. package/styles/components/form/_mixins.scss +76 -76
  174. package/styles/components/form/_vars.scss +100 -100
  175. package/styles/components/input/_index.scss +349 -349
  176. package/styles/components/input/_mixins.scss +116 -116
  177. package/styles/components/input/_vars.scss +134 -134
  178. package/styles/components/input-number/_index.scss +353 -0
  179. package/styles/components/input-number/_mixins.scss +0 -0
  180. package/styles/components/input-number/_vars.scss +65 -0
  181. package/styles/components/ip-input/_index.scss +280 -0
  182. package/styles/components/layout/_index.scss +47 -0
  183. package/styles/components/layout/_mixin.scss +0 -0
  184. package/styles/components/layout/_vars.scss +18 -0
  185. package/styles/components/layout/doc.scss +74 -0
  186. package/styles/components/list/_index.scss +172 -0
  187. package/styles/components/list/_mixins.scss +0 -0
  188. package/styles/components/list/_vars.scss +41 -0
  189. package/styles/components/loading/_index.scss +112 -112
  190. package/styles/components/loading/_vars.scss +39 -39
  191. package/styles/components/notification/_index.scss +160 -160
  192. package/styles/components/notification/_mixins.scss +12 -12
  193. package/styles/components/notification/_vars.scss +59 -59
  194. package/styles/components/popup/_index.scss +82 -82
  195. package/styles/components/popup/_mixin.scss +149 -149
  196. package/styles/components/popup/_var.scss +31 -31
  197. package/styles/components/radio/_index.scss +376 -0
  198. package/styles/components/radio/_mixins.scss +0 -0
  199. package/styles/components/radio/_var.scss +92 -0
  200. package/styles/components/select/_index.scss +290 -290
  201. package/styles/components/select/_var.scss +65 -65
  202. package/styles/components/select-input/_index.scss +5 -5
  203. package/styles/components/select-input/_var.scss +3 -3
  204. package/styles/components/slider/_index.scss +241 -0
  205. package/styles/components/slider/_mixins.scss +0 -0
  206. package/styles/components/slider/_vars.scss +50 -0
  207. package/styles/components/switch/_index.scss +279 -279
  208. package/styles/components/switch/_vars.scss +61 -61
  209. package/styles/components/table/_index.scss +193 -0
  210. package/styles/components/table/_var.scss +52 -0
  211. package/styles/components/tabs/_index.scss +165 -0
  212. package/styles/components/tabs/_mixins.scss +11 -0
  213. package/styles/components/tabs/_vars.scss +71 -0
  214. package/styles/components/tag/_index.scss +316 -316
  215. package/styles/components/tag/_var.scss +85 -85
  216. package/styles/components/tag-input/_index.scss +163 -163
  217. package/styles/components/tag-input/_vars.scss +16 -16
  218. package/styles/globals.css +250 -250
  219. package/styles/mixins/_focus.scss +7 -7
  220. package/styles/mixins/_layout.scss +32 -32
  221. package/styles/mixins/_reset.scss +10 -10
  222. package/styles/mixins/_scrollbar.scss +31 -31
  223. package/styles/mixins/_text.scss +48 -48
  224. package/styles/rillple.css +16 -16
  225. package/styles/scrollbar.css +41 -41
  226. package/styles/themes/_dark.scss +191 -191
  227. package/styles/themes/_font.scss +69 -79
  228. package/styles/themes/_index.scss +5 -5
  229. package/styles/themes/_light.scss +190 -190
  230. package/styles/themes/_radius.scss +9 -9
  231. package/styles/themes/_size.scss +68 -68
  232. package/styles/themes.css +66 -66
  233. package/styles/utilities/_animation.scss +57 -57
  234. package/styles/utilities/_tips.scss +9 -9
  235. package/tab/TabBar.tsx +85 -0
  236. package/tab/TabNav.tsx +103 -0
  237. package/tab/TabNavItem.tsx +80 -0
  238. package/tab/TabPanel.tsx +42 -0
  239. package/tab/Tabs.tsx +71 -0
  240. package/tab/defaultProps.ts +19 -0
  241. package/tab/index.ts +7 -0
  242. package/tab/style/index.js +1 -0
  243. package/tab/type.ts +125 -0
  244. package/tab/useTabClass.ts +20 -0
  245. package/table/Cell.tsx +109 -0
  246. package/table/TBody.tsx +77 -0
  247. package/table/THead.tsx +63 -0
  248. package/table/TR.tsx +78 -0
  249. package/table/Table.tsx +73 -0
  250. package/table/defaultProps.ts +14 -0
  251. package/table/hooks/index.ts +4 -0
  252. package/table/hooks/useTableClassName.ts +63 -0
  253. package/table/hooks/useTableStyle.ts +93 -0
  254. package/table/index.ts +7 -0
  255. package/table/style/css.js +1 -0
  256. package/table/style/index.js +1 -0
  257. package/table/type.ts +192 -0
  258. package/tag/Tag.tsx +1 -1
  259. package/tag-input/hooks/useTagList.tsx +1 -1
  260. package/utils/dom.ts +4 -0
  261. package/utils/forwardRefWithStatics.ts +1 -4
  262. package/utils/input-number/large-number.ts +423 -0
  263. package/utils/input-number/number.ts +257 -0
  264. package/utils/isFragment.ts +6 -6
  265. package/utils/log/index.ts +3 -0
  266. package/utils/log/log.ts +30 -0
  267. package/utils/log/types.ts +12 -0
  268. package/utils/number.ts +21 -0
  269. package/utils/scroll.ts +26 -0
  270. package/utils/style.ts +2 -4
@@ -1,250 +1,250 @@
1
- @import 'tailwindcss';
2
- @import './themes.css';
3
- @import './rillple.css';
4
- @import './scrollbar.css';
5
- @import 'tw-animate-css';
6
-
7
- @theme inline {
8
- --color-background: var(--background);
9
- --color-foreground: var(--foreground);
10
- --color-primary: var(--primary);
11
- --color-primary-foreground: var(--primary-foreground);
12
- --color-default: var(--default);
13
- --color-default-foreground: var(--default-foreground);
14
- --color-success: var(--success);
15
- --color-success-foreground: var(--success-foreground);
16
- --color-warning: var(--warning);
17
- --color-warning-foreground: var(--warning-foreground);
18
- --color-danger: var(--danger);
19
- --color-danger-foreground: var(--danger-foreground);
20
- --color-border: var(--border);
21
- --color-input: var(--input);
22
- --color-accent: var(--accent);
23
- --color-accent-foreground: var(--accent-foreground);
24
- --color-muted: var(--muted);
25
- --color-muted-foreground: var(--muted-foreground);
26
- --color-secondary: var(--secondary);
27
- --color-secondary-foreground: var(--secondary-foreground);
28
- --color-success-foreground: var(--success-foreground);
29
- --color-warning-foreground: var(--warning-foreground);
30
- --color-danger-foreground: var(--danger-foreground);
31
- --color-ring: var(--ring);
32
- --color-radius: var(--radius);
33
- --color-chart-1: var(--chart-1);
34
- --color-chart-2: var(--chart-2);
35
- --color-chart-3: var(--chart-3);
36
- --color-chart-4: var(--chart-4);
37
- --color-chart-5: var(--chart-5);
38
- --color-sidebar-background: var(--sidebar-background);
39
- --color-sidebar-foreground: var(--sidebar-foreground);
40
- --color-sidebar-primary: var(--sidebar-primary);
41
- --color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
42
- --color-sidebar-accent: var(--sidebar-accent);
43
- --color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
44
- --color-sidebar-border: var(--sidebar-border);
45
- --color-sidebar-ring: var(--sidebar-ring);
46
- --color-info: var(--info);
47
- --color-info-foreground: var(--info-foreground);
48
- --color-success-background: var(--success-background);
49
- --color-info-background: var(--info-background);
50
- --color-warning-background: var(--warning-background);
51
- --color-danger-background: var(--danger-background);
52
- --color-success-border: var(--success-border);
53
- --color-info-border: var(--info-border);
54
- --color-warning-border: var(--warning-border);
55
- --color-danger-border: var(--danger-border);
56
- --color-shadow: var(--shadow);
57
-
58
- --color-popover: var(--popover);
59
- --color-popover-foreground: var(--popover-foreground);
60
-
61
- --animate-slide-in: slide-in 300ms ease-in-out;
62
-
63
- @keyframes slide-in {
64
- from {
65
- transform: translateY(-100%);
66
- }
67
-
68
- to {
69
- transform: translateY(0);
70
- }
71
- }
72
-
73
- --animate-fade-in: fade-in 300ms ease-in-out;
74
-
75
- @keyframes fade-in {
76
- from {
77
- opacity: 0;
78
- }
79
-
80
- to {
81
- opacity: 1;
82
- }
83
- }
84
-
85
- --animate-fade-out: fade-out 300ms ease-in-out;
86
-
87
- @keyframes fade-out {
88
- form {
89
- opacity: 1;
90
- }
91
-
92
- to {
93
- opacity: 0;
94
- }
95
- }
96
-
97
- --animate-scale-in-center: scale-in-center 0.2s
98
- cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
99
-
100
- @keyframes scale-in-center {
101
- 0% {
102
- transform: scale(0);
103
- opacity: 0;
104
- }
105
-
106
- 100% {
107
- transform: scale(1);
108
- opacity: 1;
109
- }
110
- }
111
-
112
- --animate-scale-out-center: scale-out-center 0.2s
113
- cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
114
-
115
- @keyframes scale-out-center {
116
- 0% {
117
- transform: scale(1);
118
- opacity: 1;
119
- }
120
-
121
- 100% {
122
- transform: scale(0);
123
- opacity: 0;
124
- }
125
- }
126
- }
127
-
128
- :root {
129
- --background: oklch(100% 0 0);
130
- --foreground: oklch(25% 0.01 262);
131
- --card: oklch(100% 0 0);
132
- --card-foreground: oklch(25% 0.01 262);
133
- --popover: rgb(255, 255, 255);
134
- --popover-foreground: oklch(25% 0.01 262);
135
- --primary: oklch(27% 0.01 262);
136
- --primary-foreground: oklch(98% 0.005 262);
137
- --secondary: oklch(96% 0.01 262);
138
- --secondary-foreground: oklch(27% 0.01 262);
139
- --muted: oklch(96% 0.01 262);
140
- --muted-foreground: oklch(46% 0.01 262);
141
- --accent: oklch(97% 0 0);
142
- --accent-foreground: oklch(20.5% 0 0);
143
- --destructive: oklch(65% 0.25 29);
144
- --destructive-foreground: oklch(98% 0.005 262);
145
- --border: oklch(92.2% 0 0);
146
- --input: oklch(92.2% 0 0);
147
- --ring: oklch(65% 0.01 262);
148
- --radius: 0.5rem;
149
- --chart-1: oklch(70% 0.15 30);
150
- --chart-2: oklch(55% 0.15 180);
151
- --chart-3: oklch(35% 0.1 220);
152
- --chart-4: oklch(75% 0.15 85);
153
- --chart-5: oklch(72% 0.18 45);
154
- --sidebar-background: oklch(98% 0.005 262);
155
- --sidebar-foreground: oklch(35% 0.01 262);
156
- --sidebar-primary: oklch(27% 0.01 262);
157
- --sidebar-primary-foreground: oklch(98% 0.005 262);
158
- --sidebar-accent: oklch(96% 0.01 262);
159
- --sidebar-accent-foreground: oklch(27% 0.01 262);
160
- --sidebar-border: oklch(88% 0.02 262);
161
- --sidebar-ring: oklch(65% 0.01 262);
162
- --info: oklch(70% 0.3 250);
163
- /* 蓝色淡色背景 */
164
- --info-foreground: oklch(98% 0.005 262);
165
-
166
- --success: oklch(70% 0.3 142);
167
- /* 绿色淡色背景 */
168
- --success-foreground: oklch(98% 0.005 262);
169
-
170
- --warning: oklch(70% 0.3 80);
171
- /* 黄色更亮一些 */
172
- --warning-foreground: oklch(98% 0.005 262);
173
-
174
- --danger: oklch(65% 0.25 29);
175
- /* 红色偏橘 */
176
- --danger-foreground: oklch(98% 0.005 262);
177
-
178
- --success-background: oklch(0.971 0.024 142.57);
179
- --info-background: oklch(0.945 0.051 248.85);
180
- --warning-background: oklch(0.964 0.046 103.25);
181
- --danger-background: oklch(0.949 0.049 28.18);
182
-
183
- --success-border: oklch(0.835 0.141 139.67);
184
- --info-border: oklch(0.792 0.139 250.42);
185
- --warning-border: oklch(0.886 0.118 94.72);
186
- --danger-border: oklch(0.841 0.104 29.18);
187
-
188
- --shadow:
189
- 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12),
190
- 0 9px 28px 8px rgba(0, 0, 0, 0.05);
191
- --shadow-2:
192
- 0 3px 14px 2px rgba(0, 0, 0, 0.05), 0 8px 10px 1px rgba(0, 0, 0, 0.06),
193
- 0 5px 5px -3px rgba(0, 0, 0, 0.1);
194
- --shadow-insert-left: inset -0.5px 0 0 #e7eaef;
195
- --shadow-insert-right: inset 0.5px 0 0 #e7eaef;
196
- --shadow-insert-top: inset 0 0.5px 0 #e7eaef;
197
- --shadow-insert-bottom: inset 0 -0.5px 0 #e7eaef;
198
- }
199
-
200
- /* 公共的dark变量 */
201
- .dark {
202
- --background: oklch(0.2393 0 0);
203
- /* #1f1f1f */
204
- --foreground: oklch(1 0 0);
205
- /* 纯白,已是 OKLCH */
206
- --success-background: oklch(0.173 0.032 147.99);
207
- /* #162312 */
208
- --info-background: oklch(0.166 0.03 261.94);
209
- /* #111a2c */
210
- --warning-background: oklch(0.224 0.044 78.87);
211
- /* #2b2111 */
212
- --danger-background: oklch(0.216 0.038 24.55);
213
- /* #2c1618 */
214
-
215
- --success-border: oklch(0.274 0.06 142.26);
216
- /* #274916 */
217
- --info-border: oklch(0.272 0.071 259.41);
218
- /* #15325b */
219
- --warning-border: oklch(0.394 0.088 81.45);
220
- /* #594214 */
221
- --danger-border: oklch(0.368 0.068 27.47);
222
- /* #5b2526 */
223
- --input: oklch(100% 0 0/0.15);
224
- --shadow:
225
- 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12),
226
- 0 9px 28px 8px rgba(0, 0, 0, 0.05);
227
- --popover: oklch(0.2393 0 0);
228
- --popover-foreground: oklch(1 0 0);
229
- --accent: oklch(37.1% 0 0);
230
- --accent-foreground: oklch(98.5% 0 0);
231
- }
232
-
233
- /* 滚动条 */
234
- ::-webkit-scrollbar {
235
- width: 5px;
236
- }
237
-
238
- ::-webkit-scrollbar-track {
239
- background: transparent;
240
- }
241
-
242
- ::-webkit-scrollbar-thumb {
243
- background: hsl(var(--border));
244
- border-radius: 5px;
245
- }
246
-
247
- * {
248
- scrollbar-width: thin;
249
- scrollbar-color: hsl(var(--border)) transparent;
250
- }
1
+ @import 'tailwindcss';
2
+ @import './themes.css';
3
+ @import './rillple.css';
4
+ @import './scrollbar.css';
5
+ @import 'tw-animate-css';
6
+
7
+ @theme inline {
8
+ --color-background: var(--background);
9
+ --color-foreground: var(--foreground);
10
+ --color-primary: var(--primary);
11
+ --color-primary-foreground: var(--primary-foreground);
12
+ --color-default: var(--default);
13
+ --color-default-foreground: var(--default-foreground);
14
+ --color-success: var(--success);
15
+ --color-success-foreground: var(--success-foreground);
16
+ --color-warning: var(--warning);
17
+ --color-warning-foreground: var(--warning-foreground);
18
+ --color-danger: var(--danger);
19
+ --color-danger-foreground: var(--danger-foreground);
20
+ --color-border: var(--border);
21
+ --color-input: var(--input);
22
+ --color-accent: var(--accent);
23
+ --color-accent-foreground: var(--accent-foreground);
24
+ --color-muted: var(--muted);
25
+ --color-muted-foreground: var(--muted-foreground);
26
+ --color-secondary: var(--secondary);
27
+ --color-secondary-foreground: var(--secondary-foreground);
28
+ --color-success-foreground: var(--success-foreground);
29
+ --color-warning-foreground: var(--warning-foreground);
30
+ --color-danger-foreground: var(--danger-foreground);
31
+ --color-ring: var(--ring);
32
+ --color-radius: var(--radius);
33
+ --color-chart-1: var(--chart-1);
34
+ --color-chart-2: var(--chart-2);
35
+ --color-chart-3: var(--chart-3);
36
+ --color-chart-4: var(--chart-4);
37
+ --color-chart-5: var(--chart-5);
38
+ --color-sidebar-background: var(--sidebar-background);
39
+ --color-sidebar-foreground: var(--sidebar-foreground);
40
+ --color-sidebar-primary: var(--sidebar-primary);
41
+ --color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
42
+ --color-sidebar-accent: var(--sidebar-accent);
43
+ --color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
44
+ --color-sidebar-border: var(--sidebar-border);
45
+ --color-sidebar-ring: var(--sidebar-ring);
46
+ --color-info: var(--info);
47
+ --color-info-foreground: var(--info-foreground);
48
+ --color-success-background: var(--success-background);
49
+ --color-info-background: var(--info-background);
50
+ --color-warning-background: var(--warning-background);
51
+ --color-danger-background: var(--danger-background);
52
+ --color-success-border: var(--success-border);
53
+ --color-info-border: var(--info-border);
54
+ --color-warning-border: var(--warning-border);
55
+ --color-danger-border: var(--danger-border);
56
+ --color-shadow: var(--shadow);
57
+
58
+ --color-popover: var(--popover);
59
+ --color-popover-foreground: var(--popover-foreground);
60
+
61
+ --animate-slide-in: slide-in 300ms ease-in-out;
62
+
63
+ @keyframes slide-in {
64
+ from {
65
+ transform: translateY(-100%);
66
+ }
67
+
68
+ to {
69
+ transform: translateY(0);
70
+ }
71
+ }
72
+
73
+ --animate-fade-in: fade-in 300ms ease-in-out;
74
+
75
+ @keyframes fade-in {
76
+ from {
77
+ opacity: 0;
78
+ }
79
+
80
+ to {
81
+ opacity: 1;
82
+ }
83
+ }
84
+
85
+ --animate-fade-out: fade-out 300ms ease-in-out;
86
+
87
+ @keyframes fade-out {
88
+ form {
89
+ opacity: 1;
90
+ }
91
+
92
+ to {
93
+ opacity: 0;
94
+ }
95
+ }
96
+
97
+ --animate-scale-in-center: scale-in-center 0.2s
98
+ cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
99
+
100
+ @keyframes scale-in-center {
101
+ 0% {
102
+ transform: scale(0);
103
+ opacity: 0;
104
+ }
105
+
106
+ 100% {
107
+ transform: scale(1);
108
+ opacity: 1;
109
+ }
110
+ }
111
+
112
+ --animate-scale-out-center: scale-out-center 0.2s
113
+ cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
114
+
115
+ @keyframes scale-out-center {
116
+ 0% {
117
+ transform: scale(1);
118
+ opacity: 1;
119
+ }
120
+
121
+ 100% {
122
+ transform: scale(0);
123
+ opacity: 0;
124
+ }
125
+ }
126
+ }
127
+
128
+ :root {
129
+ --background: oklch(100% 0 0);
130
+ --foreground: oklch(25% 0.01 262);
131
+ --card: oklch(100% 0 0);
132
+ --card-foreground: oklch(25% 0.01 262);
133
+ --popover: rgb(255, 255, 255);
134
+ --popover-foreground: oklch(25% 0.01 262);
135
+ --primary: oklch(27% 0.01 262);
136
+ --primary-foreground: oklch(98% 0.005 262);
137
+ --secondary: oklch(96% 0.01 262);
138
+ --secondary-foreground: oklch(27% 0.01 262);
139
+ --muted: oklch(96% 0.01 262);
140
+ --muted-foreground: oklch(46% 0.01 262);
141
+ --accent: oklch(97% 0 0);
142
+ --accent-foreground: oklch(20.5% 0 0);
143
+ --destructive: oklch(65% 0.25 29);
144
+ --destructive-foreground: oklch(98% 0.005 262);
145
+ --border: oklch(92.2% 0 0);
146
+ --input: oklch(92.2% 0 0);
147
+ --ring: oklch(65% 0.01 262);
148
+ --radius: 0.5rem;
149
+ --chart-1: oklch(70% 0.15 30);
150
+ --chart-2: oklch(55% 0.15 180);
151
+ --chart-3: oklch(35% 0.1 220);
152
+ --chart-4: oklch(75% 0.15 85);
153
+ --chart-5: oklch(72% 0.18 45);
154
+ --sidebar-background: oklch(98% 0.005 262);
155
+ --sidebar-foreground: oklch(35% 0.01 262);
156
+ --sidebar-primary: oklch(27% 0.01 262);
157
+ --sidebar-primary-foreground: oklch(98% 0.005 262);
158
+ --sidebar-accent: oklch(96% 0.01 262);
159
+ --sidebar-accent-foreground: oklch(27% 0.01 262);
160
+ --sidebar-border: oklch(88% 0.02 262);
161
+ --sidebar-ring: oklch(65% 0.01 262);
162
+ --info: oklch(70% 0.3 250);
163
+ /* 蓝色淡色背景 */
164
+ --info-foreground: oklch(98% 0.005 262);
165
+
166
+ --success: oklch(70% 0.3 142);
167
+ /* 绿色淡色背景 */
168
+ --success-foreground: oklch(98% 0.005 262);
169
+
170
+ --warning: oklch(70% 0.3 80);
171
+ /* 黄色更亮一些 */
172
+ --warning-foreground: oklch(98% 0.005 262);
173
+
174
+ --danger: oklch(65% 0.25 29);
175
+ /* 红色偏橘 */
176
+ --danger-foreground: oklch(98% 0.005 262);
177
+
178
+ --success-background: oklch(0.971 0.024 142.57);
179
+ --info-background: oklch(0.945 0.051 248.85);
180
+ --warning-background: oklch(0.964 0.046 103.25);
181
+ --danger-background: oklch(0.949 0.049 28.18);
182
+
183
+ --success-border: oklch(0.835 0.141 139.67);
184
+ --info-border: oklch(0.792 0.139 250.42);
185
+ --warning-border: oklch(0.886 0.118 94.72);
186
+ --danger-border: oklch(0.841 0.104 29.18);
187
+
188
+ --shadow:
189
+ 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12),
190
+ 0 9px 28px 8px rgba(0, 0, 0, 0.05);
191
+ --shadow-2:
192
+ 0 3px 14px 2px rgba(0, 0, 0, 0.05), 0 8px 10px 1px rgba(0, 0, 0, 0.06),
193
+ 0 5px 5px -3px rgba(0, 0, 0, 0.1);
194
+ --shadow-insert-left: inset -0.5px 0 0 #e7eaef;
195
+ --shadow-insert-right: inset 0.5px 0 0 #e7eaef;
196
+ --shadow-insert-top: inset 0 0.5px 0 #e7eaef;
197
+ --shadow-insert-bottom: inset 0 -0.5px 0 #e7eaef;
198
+ }
199
+
200
+ /* 公共的dark变量 */
201
+ .dark {
202
+ --background: oklch(0.2393 0 0);
203
+ /* #1f1f1f */
204
+ --foreground: oklch(1 0 0);
205
+ /* 纯白,已是 OKLCH */
206
+ --success-background: oklch(0.173 0.032 147.99);
207
+ /* #162312 */
208
+ --info-background: oklch(0.166 0.03 261.94);
209
+ /* #111a2c */
210
+ --warning-background: oklch(0.224 0.044 78.87);
211
+ /* #2b2111 */
212
+ --danger-background: oklch(0.216 0.038 24.55);
213
+ /* #2c1618 */
214
+
215
+ --success-border: oklch(0.274 0.06 142.26);
216
+ /* #274916 */
217
+ --info-border: oklch(0.272 0.071 259.41);
218
+ /* #15325b */
219
+ --warning-border: oklch(0.394 0.088 81.45);
220
+ /* #594214 */
221
+ --danger-border: oklch(0.368 0.068 27.47);
222
+ /* #5b2526 */
223
+ --input: oklch(100% 0 0/0.15);
224
+ --shadow:
225
+ 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12),
226
+ 0 9px 28px 8px rgba(0, 0, 0, 0.05);
227
+ --popover: oklch(0.2393 0 0);
228
+ --popover-foreground: oklch(1 0 0);
229
+ --accent: oklch(37.1% 0 0);
230
+ --accent-foreground: oklch(98.5% 0 0);
231
+ }
232
+
233
+ /* 滚动条 */
234
+ ::-webkit-scrollbar {
235
+ width: 5px;
236
+ }
237
+
238
+ ::-webkit-scrollbar-track {
239
+ background: transparent;
240
+ }
241
+
242
+ ::-webkit-scrollbar-thumb {
243
+ background: hsl(var(--border));
244
+ border-radius: 5px;
245
+ }
246
+
247
+ * {
248
+ scrollbar-width: thin;
249
+ scrollbar-color: hsl(var(--border)) transparent;
250
+ }
@@ -1,7 +1,7 @@
1
- @mixin tab-focus-style-rect() {
2
- &:focus-visible {
3
- outline: 2px solid $brand-color;
4
- outline-offset: $comp-paddingTB-xs;
5
- border-radius: 0;
6
- }
7
- }
1
+ @mixin tab-focus-style-rect() {
2
+ &:focus-visible {
3
+ outline: 2px solid $brand-color;
4
+ outline-offset: $comp-paddingTB-xs;
5
+ border-radius: 0;
6
+ }
7
+ }
@@ -1,32 +1,32 @@
1
- @mixin horizontal-vertical-center-with-flex() {
2
- display: flex;
3
- align-items: center;
4
- justify-content: center;
5
- }
6
-
7
- @mixin fill-with-position-absolute() {
8
- position: absolute;
9
- left: 0;
10
- right: 0;
11
- top: 0;
12
- bottom: 0;
13
- }
14
-
15
- @mixin list-style-none() {
16
- list-style: none;
17
- padding: 0;
18
- margin: 0;
19
- }
20
-
21
- @mixin input-visually-hidden() {
22
- border: 0;
23
- clip: rect(0 0 0 0);
24
- height: 1px;
25
- margin: -1px;
26
- overflow: hidden;
27
- padding: 0;
28
- position: absolute;
29
- width: 1px;
30
- outline: 0;
31
- appearance: none;
32
- }
1
+ @mixin horizontal-vertical-center-with-flex() {
2
+ display: flex;
3
+ align-items: center;
4
+ justify-content: center;
5
+ }
6
+
7
+ @mixin fill-with-position-absolute() {
8
+ position: absolute;
9
+ left: 0;
10
+ right: 0;
11
+ top: 0;
12
+ bottom: 0;
13
+ }
14
+
15
+ @mixin list-style-none() {
16
+ list-style: none;
17
+ padding: 0;
18
+ margin: 0;
19
+ }
20
+
21
+ @mixin input-visually-hidden() {
22
+ border: 0;
23
+ clip: rect(0 0 0 0);
24
+ height: 1px;
25
+ margin: -1px;
26
+ overflow: hidden;
27
+ padding: 0;
28
+ position: absolute;
29
+ width: 1px;
30
+ outline: 0;
31
+ appearance: none;
32
+ }
@@ -1,10 +1,10 @@
1
- @import '../_vars.scss';
2
-
3
- @mixin reset {
4
- font: $font-body-medium;
5
- color: $text-color-primary;
6
- box-sizing: border-box;
7
- margin: 0;
8
- padding: 0;
9
- list-style: none;
10
- }
1
+ @import '../_vars.scss';
2
+
3
+ @mixin reset {
4
+ font: $font-body-medium;
5
+ color: $text-color-primary;
6
+ box-sizing: border-box;
7
+ margin: 0;
8
+ padding: 0;
9
+ list-style: none;
10
+ }
@@ -1,31 +1,31 @@
1
- @import '../vars.scss';
2
-
3
- // 滚动条样式 mixin
4
- @mixin scrollbar($size: 6px, $borderSize: 0px) {
5
- // Safari/Chrome 中滚动条样式设置
6
- &::-webkit-scrollbar {
7
- width: $size;
8
- height: $size;
9
- }
10
-
11
- &::-webkit-scrollbar-thumb {
12
- border: $borderSize solid transparent;
13
- background-clip: content-box;
14
- background-color: $scrollbar-color;
15
- border-radius: calc(#{$size} * 2 - 1px);
16
- }
17
-
18
- &::-webkit-scrollbar-thumb:vertical:hover,
19
- &::-webkit-scrollbar-thumb:horizontal:hover {
20
- background-color: $scrollbar-hover-color;
21
- }
22
- }
23
-
24
- // 隐藏滚动条 mixin
25
- @mixin hideScrollbar {
26
- /* Chrome / Safari */
27
- &::-webkit-scrollbar {
28
- display: none;
29
- width: 0 !important;
30
- }
31
- }
1
+ @import '../vars.scss';
2
+
3
+ // 滚动条样式 mixin
4
+ @mixin scrollbar($size: 6px, $borderSize: 0px) {
5
+ // Safari/Chrome 中滚动条样式设置
6
+ &::-webkit-scrollbar {
7
+ width: $size;
8
+ height: $size;
9
+ }
10
+
11
+ &::-webkit-scrollbar-thumb {
12
+ border: $borderSize solid transparent;
13
+ background-clip: content-box;
14
+ background-color: $scrollbar-color;
15
+ border-radius: calc(#{$size} * 2 - 1px);
16
+ }
17
+
18
+ &::-webkit-scrollbar-thumb:vertical:hover,
19
+ &::-webkit-scrollbar-thumb:horizontal:hover {
20
+ background-color: $scrollbar-hover-color;
21
+ }
22
+ }
23
+
24
+ // 隐藏滚动条 mixin
25
+ @mixin hideScrollbar {
26
+ /* Chrome / Safari */
27
+ &::-webkit-scrollbar {
28
+ display: none;
29
+ width: 0 !important;
30
+ }
31
+ }