@oinone/kunlun-theme 6.2.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 (223) hide show
  1. package/dist/oinone-kunlun-theme.esm.js +1 -0
  2. package/dist/types/index.d.ts +5 -0
  3. package/dist/types/src/color/dark-vars.d.ts +87 -0
  4. package/dist/types/src/color/default-vars.d.ts +87 -0
  5. package/dist/types/src/color/index.d.ts +3 -0
  6. package/dist/types/src/color/menu-color-vars.d.ts +37 -0
  7. package/dist/types/src/init/currentTheme.d.ts +3 -0
  8. package/dist/types/src/init/index.d.ts +2 -0
  9. package/dist/types/src/init/initTheme.d.ts +6 -0
  10. package/dist/types/src/mount/constant.d.ts +1 -0
  11. package/dist/types/src/mount/index.d.ts +11 -0
  12. package/dist/types/src/register/index.d.ts +6 -0
  13. package/dist/types/src/size/default/index.d.ts +3 -0
  14. package/dist/types/src/size/default/large.d.ts +32 -0
  15. package/dist/types/src/size/default/medium.d.ts +32 -0
  16. package/dist/types/src/size/default/small.d.ts +32 -0
  17. package/dist/types/src/size/index.d.ts +8 -0
  18. package/dist/types/src/size/input/index.d.ts +2 -0
  19. package/dist/types/src/size/input/large.d.ts +6 -0
  20. package/dist/types/src/size/input/medium.d.ts +6 -0
  21. package/dist/types/src/size/menu/index.d.ts +3 -0
  22. package/dist/types/src/size/menu/large.d.ts +18 -0
  23. package/dist/types/src/size/menu/medium.d.ts +18 -0
  24. package/dist/types/src/size/menu/small.d.ts +18 -0
  25. package/dist/types/src/size/pagination/index.d.ts +3 -0
  26. package/dist/types/src/size/pagination/large.d.ts +5 -0
  27. package/dist/types/src/size/pagination/medium.d.ts +5 -0
  28. package/dist/types/src/size/pagination/small.d.ts +5 -0
  29. package/dist/types/src/size/select/index.d.ts +3 -0
  30. package/dist/types/src/size/select/large.d.ts +3 -0
  31. package/dist/types/src/size/select/medium.d.ts +3 -0
  32. package/dist/types/src/size/select/small.d.ts +3 -0
  33. package/dist/types/src/size/table/index.d.ts +3 -0
  34. package/dist/types/src/size/table/large.d.ts +5 -0
  35. package/dist/types/src/size/table/medium.d.ts +5 -0
  36. package/dist/types/src/size/table/small.d.ts +5 -0
  37. package/dist/types/src/size/tabs/index.d.ts +3 -0
  38. package/dist/types/src/size/tabs/large.d.ts +3 -0
  39. package/dist/types/src/size/tabs/medium.d.ts +3 -0
  40. package/dist/types/src/size/tabs/small.d.ts +3 -0
  41. package/dist/types/src/size/tree-select/index.d.ts +3 -0
  42. package/dist/types/src/size/tree-select/large.d.ts +4 -0
  43. package/dist/types/src/size/tree-select/medium.d.ts +4 -0
  44. package/dist/types/src/size/tree-select/small.d.ts +4 -0
  45. package/dist/types/src/style/dark/app-switch/app-switch.d.ts +11 -0
  46. package/dist/types/src/style/dark/button/constant.d.ts +2 -0
  47. package/dist/types/src/style/dark/button/danger.d.ts +126 -0
  48. package/dist/types/src/style/dark/button/index.d.ts +604 -0
  49. package/dist/types/src/style/dark/button/info.d.ts +126 -0
  50. package/dist/types/src/style/dark/button/standard.d.ts +126 -0
  51. package/dist/types/src/style/dark/button/success.d.ts +126 -0
  52. package/dist/types/src/style/dark/button/warning.d.ts +126 -0
  53. package/dist/types/src/style/dark/checkbox/checkbox.d.ts +7 -0
  54. package/dist/types/src/style/dark/component-theme.d.ts +2889 -0
  55. package/dist/types/src/style/dark/drawer/drawer.d.ts +9 -0
  56. package/dist/types/src/style/dark/dropdown/index.d.ts +12 -0
  57. package/dist/types/src/style/dark/form-item/form-item.d.ts +7 -0
  58. package/dist/types/src/style/dark/header/header.d.ts +5 -0
  59. package/dist/types/src/style/dark/index.d.ts +1 -0
  60. package/dist/types/src/style/dark/input/input.d.ts +36 -0
  61. package/dist/types/src/style/dark/menu/menu.d.ts +38 -0
  62. package/dist/types/src/style/dark/modal/modal.d.ts +10 -0
  63. package/dist/types/src/style/dark/multi-tab/multi-tab.d.ts +57 -0
  64. package/dist/types/src/style/dark/pagination/pagination.d.ts +6 -0
  65. package/dist/types/src/style/dark/popconfirm/popconfirm.d.ts +7 -0
  66. package/dist/types/src/style/dark/registry.d.ts +1 -0
  67. package/dist/types/src/style/dark/rich-text/rich-text.d.ts +22 -0
  68. package/dist/types/src/style/dark/scrollbar/scrollbar.d.ts +5 -0
  69. package/dist/types/src/style/dark/select/select.d.ts +39 -0
  70. package/dist/types/src/style/dark/switch/switch.d.ts +4 -0
  71. package/dist/types/src/style/dark/table/table.d.ts +21 -0
  72. package/dist/types/src/style/dark/tabs/tabs.d.ts +1 -0
  73. package/dist/types/src/style/dark/textarea/textarea.d.ts +27 -0
  74. package/dist/types/src/style/dark/transfer/transfer.d.ts +5 -0
  75. package/dist/types/src/style/dark/tree-select/tree-select.d.ts +1 -0
  76. package/dist/types/src/style/dark/upload/upload.d.ts +27 -0
  77. package/dist/types/src/style/default/app-switch/app-switch.d.ts +11 -0
  78. package/dist/types/src/style/default/button/constant.d.ts +2 -0
  79. package/dist/types/src/style/default/button/danger.d.ts +126 -0
  80. package/dist/types/src/style/default/button/index.d.ts +604 -0
  81. package/dist/types/src/style/default/button/info.d.ts +126 -0
  82. package/dist/types/src/style/default/button/standard.d.ts +126 -0
  83. package/dist/types/src/style/default/button/success.d.ts +126 -0
  84. package/dist/types/src/style/default/button/warning.d.ts +126 -0
  85. package/dist/types/src/style/default/checkbox/checkbox.d.ts +7 -0
  86. package/dist/types/src/style/default/component-theme.d.ts +2900 -0
  87. package/dist/types/src/style/default/datetime/datetime.d.ts +4 -0
  88. package/dist/types/src/style/default/drawer/drawer.d.ts +9 -0
  89. package/dist/types/src/style/default/dropdown/index.d.ts +12 -0
  90. package/dist/types/src/style/default/form-item/form-item.d.ts +7 -0
  91. package/dist/types/src/style/default/header/header.d.ts +5 -0
  92. package/dist/types/src/style/default/index.d.ts +1 -0
  93. package/dist/types/src/style/default/input/input.d.ts +36 -0
  94. package/dist/types/src/style/default/menu/menu.d.ts +38 -0
  95. package/dist/types/src/style/default/modal/modal.d.ts +10 -0
  96. package/dist/types/src/style/default/multi-tab/multi-tab.d.ts +57 -0
  97. package/dist/types/src/style/default/pagination/pagination.d.ts +6 -0
  98. package/dist/types/src/style/default/popconfirm/popconfirm.d.ts +7 -0
  99. package/dist/types/src/style/default/registry.d.ts +1 -0
  100. package/dist/types/src/style/default/rich-text/rich-text.d.ts +22 -0
  101. package/dist/types/src/style/default/scrollbar/scrollbar.d.ts +5 -0
  102. package/dist/types/src/style/default/select/select.d.ts +39 -0
  103. package/dist/types/src/style/default/switch/switch.d.ts +4 -0
  104. package/dist/types/src/style/default/table/table.d.ts +21 -0
  105. package/dist/types/src/style/default/tabs/tabs.d.ts +1 -0
  106. package/dist/types/src/style/default/textarea/textarea.d.ts +27 -0
  107. package/dist/types/src/style/default/transfer/transfer.d.ts +5 -0
  108. package/dist/types/src/style/default/tree-select/tree-select.d.ts +1 -0
  109. package/dist/types/src/style/default/upload/upload.d.ts +27 -0
  110. package/dist/types/src/style/index.d.ts +2 -0
  111. package/dist/types/src/typing.d.ts +15 -0
  112. package/index.ts +5 -0
  113. package/package.json +14 -0
  114. package/rollup.config.js +4 -0
  115. package/src/color/dark-vars.ts +112 -0
  116. package/src/color/default-vars.ts +113 -0
  117. package/src/color/index.ts +3 -0
  118. package/src/color/menu-color-vars.ts +130 -0
  119. package/src/init/currentTheme.ts +7 -0
  120. package/src/init/index.ts +2 -0
  121. package/src/init/initTheme.ts +14 -0
  122. package/src/mount/constant.ts +1 -0
  123. package/src/mount/index.ts +69 -0
  124. package/src/register/index.ts +23 -0
  125. package/src/size/default/index.ts +3 -0
  126. package/src/size/default/large.ts +43 -0
  127. package/src/size/default/medium.ts +43 -0
  128. package/src/size/default/small.ts +43 -0
  129. package/src/size/index.ts +8 -0
  130. package/src/size/input/index.ts +2 -0
  131. package/src/size/input/large.ts +8 -0
  132. package/src/size/input/medium.ts +8 -0
  133. package/src/size/menu/index.ts +3 -0
  134. package/src/size/menu/large.ts +23 -0
  135. package/src/size/menu/medium.ts +23 -0
  136. package/src/size/menu/small.ts +23 -0
  137. package/src/size/pagination/index.ts +3 -0
  138. package/src/size/pagination/large.ts +5 -0
  139. package/src/size/pagination/medium.ts +5 -0
  140. package/src/size/pagination/small.ts +5 -0
  141. package/src/size/select/index.ts +3 -0
  142. package/src/size/select/large.ts +3 -0
  143. package/src/size/select/medium.ts +3 -0
  144. package/src/size/select/small.ts +3 -0
  145. package/src/size/table/index.ts +3 -0
  146. package/src/size/table/large.ts +5 -0
  147. package/src/size/table/medium.ts +5 -0
  148. package/src/size/table/small.ts +5 -0
  149. package/src/size/tabs/index.ts +3 -0
  150. package/src/size/tabs/large.ts +5 -0
  151. package/src/size/tabs/medium.ts +5 -0
  152. package/src/size/tabs/small.ts +5 -0
  153. package/src/size/tree-select/index.ts +3 -0
  154. package/src/size/tree-select/large.ts +4 -0
  155. package/src/size/tree-select/medium.ts +4 -0
  156. package/src/size/tree-select/small.ts +4 -0
  157. package/src/style/dark/app-switch/app-switch.ts +14 -0
  158. package/src/style/dark/button/constant.ts +4 -0
  159. package/src/style/dark/button/danger.ts +146 -0
  160. package/src/style/dark/button/index.ts +28 -0
  161. package/src/style/dark/button/info.ts +146 -0
  162. package/src/style/dark/button/standard.ts +146 -0
  163. package/src/style/dark/button/success.ts +146 -0
  164. package/src/style/dark/button/warning.ts +146 -0
  165. package/src/style/dark/checkbox/checkbox.ts +10 -0
  166. package/src/style/dark/component-theme.ts +174 -0
  167. package/src/style/dark/drawer/drawer.ts +10 -0
  168. package/src/style/dark/dropdown/index.ts +14 -0
  169. package/src/style/dark/form-item/form-item.ts +10 -0
  170. package/src/style/dark/header/header.ts +6 -0
  171. package/src/style/dark/index.ts +1 -0
  172. package/src/style/dark/input/input.ts +46 -0
  173. package/src/style/dark/menu/menu.ts +7 -0
  174. package/src/style/dark/modal/modal.ts +11 -0
  175. package/src/style/dark/multi-tab/multi-tab.ts +67 -0
  176. package/src/style/dark/pagination/pagination.ts +9 -0
  177. package/src/style/dark/popconfirm/popconfirm.ts +8 -0
  178. package/src/style/dark/registry.ts +62 -0
  179. package/src/style/dark/rich-text/rich-text.ts +25 -0
  180. package/src/style/dark/scrollbar/scrollbar.ts +6 -0
  181. package/src/style/dark/select/select.ts +48 -0
  182. package/src/style/dark/switch/switch.ts +5 -0
  183. package/src/style/dark/table/table.ts +44 -0
  184. package/src/style/dark/tabs/tabs.ts +1 -0
  185. package/src/style/dark/textarea/textarea.ts +34 -0
  186. package/src/style/dark/transfer/transfer.ts +6 -0
  187. package/src/style/dark/tree-select/tree-select.ts +1 -0
  188. package/src/style/dark/upload/upload.ts +34 -0
  189. package/src/style/default/app-switch/app-switch.ts +14 -0
  190. package/src/style/default/button/constant.ts +4 -0
  191. package/src/style/default/button/danger.ts +146 -0
  192. package/src/style/default/button/index.ts +28 -0
  193. package/src/style/default/button/info.ts +146 -0
  194. package/src/style/default/button/standard.ts +146 -0
  195. package/src/style/default/button/success.ts +146 -0
  196. package/src/style/default/button/warning.ts +146 -0
  197. package/src/style/default/checkbox/checkbox.ts +10 -0
  198. package/src/style/default/component-theme.ts +178 -0
  199. package/src/style/default/datetime/datetime.ts +5 -0
  200. package/src/style/default/drawer/drawer.ts +10 -0
  201. package/src/style/default/dropdown/index.ts +14 -0
  202. package/src/style/default/form-item/form-item.ts +10 -0
  203. package/src/style/default/header/header.ts +6 -0
  204. package/src/style/default/index.ts +1 -0
  205. package/src/style/default/input/input.ts +46 -0
  206. package/src/style/default/menu/menu.ts +7 -0
  207. package/src/style/default/modal/modal.ts +11 -0
  208. package/src/style/default/multi-tab/multi-tab.ts +67 -0
  209. package/src/style/default/pagination/pagination.ts +9 -0
  210. package/src/style/default/popconfirm/popconfirm.ts +8 -0
  211. package/src/style/default/registry.ts +63 -0
  212. package/src/style/default/rich-text/rich-text.ts +25 -0
  213. package/src/style/default/scrollbar/scrollbar.ts +6 -0
  214. package/src/style/default/select/select.ts +49 -0
  215. package/src/style/default/switch/switch.ts +5 -0
  216. package/src/style/default/table/table.ts +44 -0
  217. package/src/style/default/tabs/tabs.ts +1 -0
  218. package/src/style/default/textarea/textarea.ts +34 -0
  219. package/src/style/default/transfer/transfer.ts +6 -0
  220. package/src/style/default/tree-select/tree-select.ts +1 -0
  221. package/src/style/default/upload/upload.ts +34 -0
  222. package/src/style/index.ts +2 -0
  223. package/src/typing.ts +31 -0
@@ -0,0 +1,14 @@
1
+ export const component = 'dropdown';
2
+
3
+ export const cssVars = {
4
+ 'background-color': 'var(--oio-background)',
5
+ 'border-color': 'var(--oio-border-color)',
6
+ 'box-shadow': '-2px 2px 6px 0px rgba(136, 156, 176, 0.2)',
7
+ color: 'var(--oio-text-color)',
8
+ 'color-hover': 'var(--oio-hover-text-color)',
9
+ 'color-disabled': 'var(--oio-disabled-color)',
10
+ 'color-disabled-hover': 'var(--oio-disabled-color)',
11
+
12
+ 'item-background-color-hover': 'var(--oio-hover-background-color)',
13
+ 'item-background-color-disabled-hover': 'transparent'
14
+ };
@@ -0,0 +1,10 @@
1
+ export const component = 'form-item';
2
+
3
+ export const cssVars = {
4
+ config: {
5
+ // 只读模式展示占位符
6
+ readonlyShowPlaceholder: false,
7
+ // 禁用模式展示占位符
8
+ disabledShowPlaceholder: false
9
+ }
10
+ };
@@ -0,0 +1,6 @@
1
+ export const component = 'header';
2
+
3
+ export const cssVars = {
4
+ 'border-bottom': `1px solid rgba(0, 0, 0, 0.06)`,
5
+ color: 'rgba(0,0,0,0.65)'
6
+ };
@@ -0,0 +1 @@
1
+ export * from './registry';
@@ -0,0 +1,46 @@
1
+ import { DEFAULT_PREFIX } from '../../../mount';
2
+
3
+ export const component = 'input';
4
+ const prefix = `${DEFAULT_PREFIX}-${component}`;
5
+
6
+ export const cssVars = {
7
+ // default
8
+ background: '#ffffff',
9
+ 'background-color': '#ffffff',
10
+ 'border-style': `var(--${DEFAULT_PREFIX}-border-style)`,
11
+ 'border-color': `var(--${DEFAULT_PREFIX}-border-color)`,
12
+ outline: 'none',
13
+ shadow: 'none',
14
+ 'text-color': `var(--${DEFAULT_PREFIX}-text-color)`,
15
+ 'counter-background': '#ffffff',
16
+ 'counter-color': 'rgba(0, 0, 0, 0.25)',
17
+ // default-hover
18
+ 'background-hover': `var(--${prefix}-background)`,
19
+ 'border-width-hover': `var(--${prefix}-border-width)`,
20
+ 'border-style-hover': `var(--${prefix}-border-style)`,
21
+ 'border-color-hover': `var(--${DEFAULT_PREFIX}-primary-color-hover)`,
22
+ 'border-radius-hover': `var(--${prefix}-border-radius)`,
23
+ 'outline-hover': `var(--${prefix}-outline)`,
24
+ 'shadow-hover': `var(--${prefix}-shadow)`,
25
+ 'text-color-hover': `var(--${prefix}-text-color)`,
26
+ // default-focus
27
+ 'background-focus': `var(--${prefix}-background)`,
28
+ 'border-width-focus': `var(--${prefix}-border-width)`,
29
+ 'border-style-focus': `var(--${prefix}-border-style)`,
30
+ 'border-color-focus': `var(--${DEFAULT_PREFIX}-primary-color-hover)`,
31
+ 'border-radius-focus': `var(--${prefix}-border-radius)`,
32
+ 'outline-focus': `var(--${prefix}-outline)`,
33
+ 'shadow-focus': `0px 0px 0px 2px rgba(var(--${DEFAULT_PREFIX}-primary-color-rgb),0.1);`,
34
+ 'text-color-focus': `var(--${prefix}-text-color)`,
35
+ // readonly
36
+ 'readonly-border-color': `var(--${DEFAULT_PREFIX}-readonly-border-color)`,
37
+ 'error-border-color': '#ff4d4f',
38
+ // disabled
39
+ 'disabled-border-color': `var(--${DEFAULT_PREFIX}-disabled-border-color)`,
40
+
41
+ 'addon-background': '#F7F7F7',
42
+ 'addon-color': ' rgba(0,0,0,0.65)',
43
+ 'tag-background': 'rgba(3,93,255, 0.1)',
44
+ 'clear-background': '#fff',
45
+ 'clear-color': 'rgba(0,0,0,.25)'
46
+ };
@@ -0,0 +1,7 @@
1
+ import { getMenuColorVarsByTheme } from '../../../color';
2
+
3
+ export const component = 'menu';
4
+
5
+ export const cssVars = () => {
6
+ return getMenuColorVarsByTheme();
7
+ };
@@ -0,0 +1,11 @@
1
+ export const component = 'modal';
2
+
3
+ export const cssVars = {
4
+ color: 'rgba(0, 0, 0, 0.85)',
5
+ 'width-small': '560px',
6
+ 'width-medium': '890px',
7
+ 'width-large': '1200px',
8
+ 'height-small': '40vh',
9
+ 'height-medium': '60vh',
10
+ 'height-large': '90vh'
11
+ };
@@ -0,0 +1,67 @@
1
+ import { DEFAULT_PREFIX } from '../../../mount';
2
+
3
+ export const component = 'multi-tabs';
4
+
5
+ export const cssVars = {
6
+ /**
7
+ * 标准样式
8
+ */
9
+ background: '#e9e9e9',
10
+ color: `var(--${DEFAULT_PREFIX}-text-color-secondary)`,
11
+ 'active-color': `var(--${DEFAULT_PREFIX}-primary-color)`,
12
+ 'active-font-weight': 500,
13
+ 'active-background': '#ffffff',
14
+ 'icon-color': 'rgba(0, 0, 0, 0.2)',
15
+ 'hover-background-color': '#f6f6f6',
16
+
17
+ /**
18
+ * 内联样式
19
+ */
20
+ 'background-color-inline': '#ffffff',
21
+ 'color-inline': `var(--${DEFAULT_PREFIX}-text-color)`,
22
+ 'active-color-inline': `var(--${DEFAULT_PREFIX}-primary-color)`,
23
+ 'active-background-color-inline': `var(--${DEFAULT_PREFIX}-body-background)`,
24
+ 'hover-background-color-inline': `var(--${DEFAULT_PREFIX}-body-background)`,
25
+
26
+ /**
27
+ * theme1
28
+ */
29
+ 'background-color-theme1': '#f6f6f6',
30
+ 'background-color-active-theme1': '#ffffff',
31
+ 'border-color-theme1': '#e2e6e9',
32
+
33
+ /**
34
+ * theme1 inline
35
+ */
36
+ 'background-color-theme1-inline': '#ffffff',
37
+ 'background-color-active-theme1-inline': `rgba(var(--${DEFAULT_PREFIX}-primary-color-rgb), 0.2)`,
38
+ 'active-color-active-theme1-inline': `var(--${DEFAULT_PREFIX}-primary-color)`,
39
+ 'icon-color-active-theme1-inline': `var(--${DEFAULT_PREFIX}-multi-tabs-icon-color)`,
40
+
41
+ /**
42
+ * theme2
43
+ */
44
+ 'background-color-theme2': '#ffffff',
45
+ 'border-color-theme2': '#e2e6e9',
46
+
47
+ /**
48
+ * theme3
49
+ */
50
+ 'background-color-theme3': '#f6f6f6',
51
+ 'background-color-active-theme3': `rgba(var(--${DEFAULT_PREFIX}-primary-color-rgb), 0.2)`,
52
+ 'active-color-active-theme3': `var(--${DEFAULT_PREFIX}-primary-color)`,
53
+ 'icon-color-active-theme3': `var(--${DEFAULT_PREFIX}-multi-tabs-icon-color)`,
54
+
55
+ /**
56
+ * theme3 inline
57
+ */
58
+ 'background-color-theme3-inline': '#ffffff',
59
+
60
+ /**
61
+ * theme4 inline
62
+ */
63
+ 'background-color-theme4-inline': '#ffffff',
64
+ 'background-color-active-theme4-inline': `rgba(var(--${DEFAULT_PREFIX}-primary-color-rgb), 0.2)`,
65
+ 'active-color-active-theme4-inline': `var(--${DEFAULT_PREFIX}-primary-color)`,
66
+ 'icon-color-active-theme4-inline': `var(--${DEFAULT_PREFIX}-multi-tabs-icon-color)`
67
+ };
@@ -0,0 +1,9 @@
1
+ import { DEFAULT_PREFIX } from '../../../mount';
2
+
3
+ export const component = 'pagination';
4
+
5
+ export const cssVars = {
6
+ background: `var(--${DEFAULT_PREFIX}-background)`,
7
+ 'border-color': `var(--${DEFAULT_PREFIX}-border-color)`,
8
+ 'text-color': `var(--${DEFAULT_PREFIX}-text-color-secondary)`
9
+ };
@@ -0,0 +1,8 @@
1
+ export const component = 'popconfirm';
2
+
3
+ export const cssVars = {
4
+ background: 'var(--oio-background)',
5
+ color: 'var(--oio-text-color)',
6
+ borderColor: 'var(--oio-border-color)',
7
+ arrowBackground: 'ar(--oio-background)'
8
+ };
@@ -0,0 +1,63 @@
1
+ import { registerTheme } from '../../register';
2
+ import { ThemeSize } from '../../typing';
3
+ import { getComponentTheme } from './component-theme';
4
+
5
+ import { defaultVars } from '../../color/default-vars';
6
+ import { defaultLargeSizeVars, defaultMediumSizeVars, defaultSmallSizeVars } from '../../size';
7
+
8
+ function registerComponentThemeWithBase(baseCssVars) {
9
+ return function registerComponentTheme(
10
+ component: string,
11
+ componentCSSVars: Record<string, string | number | boolean | Record<string, unknown>>
12
+ ): void {
13
+ Object.entries(componentCSSVars).forEach(([key, value]) => {
14
+ baseCssVars[`${component}-${key}`] = value;
15
+ });
16
+ };
17
+ }
18
+
19
+ function registerDefaultTheme(size: ThemeSize) {
20
+ const defaultSizeVars =
21
+ // eslint-disable-next-line no-nested-ternary
22
+ size === 'large' ? defaultLargeSizeVars : size === 'medium' ? defaultMediumSizeVars : defaultSmallSizeVars;
23
+
24
+ const cssVars = {
25
+ ...defaultVars,
26
+ ...defaultSizeVars
27
+ };
28
+
29
+ const registerComponentTheme = registerComponentThemeWithBase(cssVars);
30
+
31
+ /**
32
+ * componentTheme 数据格式如下:
33
+ *
34
+ * {
35
+ * input: {
36
+ * large: {.....},
37
+ * medium: {.....},
38
+ * small: {.....},
39
+ * },
40
+ * button: {
41
+ * large: {.....},
42
+ * medium: {.....},
43
+ * small: {.....},
44
+ * },
45
+ * .....
46
+ * }
47
+ */
48
+
49
+ const componentTheme = getComponentTheme();
50
+ Object.entries(componentTheme).forEach(([key, value]) => {
51
+ if (value[size]) {
52
+ registerComponentTheme(key, value[size]);
53
+ }
54
+ });
55
+
56
+ registerTheme(`default-${size}`, cssVars);
57
+ }
58
+
59
+ export function registerDefaultThemeFn() {
60
+ registerDefaultTheme('large');
61
+ registerDefaultTheme('medium');
62
+ registerDefaultTheme('small');
63
+ }
@@ -0,0 +1,25 @@
1
+ import { DEFAULT_PREFIX } from '../../../mount';
2
+
3
+ export const component = 'rich-text';
4
+
5
+ export const cssVars = {
6
+ 'textarea-bg-color': `var(--${DEFAULT_PREFIX}-background)`,
7
+ 'textarea-color': `var(--${DEFAULT_PREFIX}-text-color)`,
8
+ 'textarea-border-color': `var(--${DEFAULT_PREFIX}-border-color)`,
9
+ 'textarea-slight-border-color': `var(--${DEFAULT_PREFIX}-border-color)`,
10
+ 'textarea-slight-color': `var(--${DEFAULT_PREFIX}-text-color)`,
11
+ 'textarea-slight-bg-color': `var(--${DEFAULT_PREFIX}-body-background)`,
12
+ 'textarea-selected-border-color': '#b4d5ff',
13
+ 'textarea-handler-bg-color': '#4290f7',
14
+ 'toolbar-color': `var(--${DEFAULT_PREFIX}-select-dropdown-color)`,
15
+ 'toolbar-bg-color': `var(--${DEFAULT_PREFIX}-select-dropdown-background)`,
16
+ 'toolbar-active-color': `var(--${DEFAULT_PREFIX}-select-dropdown-selected-color)`,
17
+ 'toolbar-active-bg-color': `var(--${DEFAULT_PREFIX}-select-dropdown-selected)`,
18
+ 'toolbar-color-active-bg-color': `var(--${DEFAULT_PREFIX}-primary-color)`,
19
+ 'toolbar-disabled-color': `var(--${DEFAULT_PREFIX}-disabled-color)`,
20
+ 'toolbar-border-color': `var(--${DEFAULT_PREFIX}-border-color)`,
21
+ 'modal-button-bg-color': '#fafafa',
22
+ 'modal-button-border-color': '#d9d9d9',
23
+ 'button-tooltip-bg-color': '#333',
24
+ 'button-tooltip-color': '#fff'
25
+ };
@@ -0,0 +1,6 @@
1
+ export const component = 'scrollbar';
2
+
3
+ export const cssVars = {
4
+ 'thumb-background-color': '#d9d9d9',
5
+ 'thumb-background-color-hover': '#cccccc'
6
+ };
@@ -0,0 +1,49 @@
1
+ import { DEFAULT_PREFIX } from '../../../mount';
2
+
3
+ export const component = 'select';
4
+ const prefix = `${DEFAULT_PREFIX}-${component}`;
5
+
6
+ export const cssVars = {
7
+ // default
8
+ background: '#ffffff',
9
+ 'border-width': `var(--${DEFAULT_PREFIX}-border-width)`,
10
+ 'border-style': `var(--${DEFAULT_PREFIX}-border-style)`,
11
+ 'border-color': `var(--${DEFAULT_PREFIX}-border-color)`,
12
+ 'border-radius': `var(--${DEFAULT_PREFIX}-border-radius)`,
13
+ outline: 'none',
14
+ shadow: 'none',
15
+ 'text-color': `var(--${DEFAULT_PREFIX}-text-color)`,
16
+ 'counter-background': '#ffffff',
17
+ 'counter-color': 'rgba(0, 0, 0, 0.25)',
18
+ 'counter-font-size': `var(--${DEFAULT_PREFIX}-font-size-sm)`,
19
+ // default-hover
20
+ 'background-hover': `var(--${prefix}-background)`,
21
+ 'border-width-hover': `var(--${prefix}-border-width)`,
22
+ 'border-style-hover': `var(--${prefix}-border-style)`,
23
+ 'border-color-hover': `var(--${DEFAULT_PREFIX}-primary-color-hover)`,
24
+ 'border-radius-hover': `var(--${prefix}-border-radius)`,
25
+ 'outline-hover': `var(--${prefix}-outline)`,
26
+ 'shadow-hover': `var(--${prefix}-shadow)`,
27
+ 'text-color-hover': `var(--${prefix}-text-color)`,
28
+ // default-focus
29
+ 'background-focus': `var(--${prefix}-background)`,
30
+ 'border-width-focus': `var(--${prefix}-border-width)`,
31
+ 'border-style-focus': `var(--${prefix}-border-style)`,
32
+ 'border-color-focus': `var(--${DEFAULT_PREFIX}-primary-color-hover)`,
33
+ 'border-radius-focus': `var(--${prefix}-border-radius)`,
34
+ 'outline-focus': `var(--${prefix}-outline)`,
35
+ 'shadow-focus': `0px 0px 0px 2px rgba(3,93,255,0.1);`,
36
+ 'text-color-focus': `var(--${prefix}-text-color)`,
37
+ // readonly
38
+ 'readonly-border-color': `var(--${DEFAULT_PREFIX}-readonly-border-color)`,
39
+ 'item-readonly-bg': `var(--${DEFAULT_PREFIX}-primary-color-rgb)`,
40
+ 'item-readonly-color': `var(--${DEFAULT_PREFIX}-primary-color)`,
41
+ 'item-readonly-radius': `var(--${DEFAULT_PREFIX}-border-radius)`,
42
+
43
+ 'dropdown-background': '#fff',
44
+ 'dropdown-selected-color': 'var(--oio-primary-color)',
45
+ 'dropdown-color': 'var(--oio-text-color-secondary)',
46
+ 'dropdown-selected': 'rgba(var(--oio-primary-color-rgb), 0.1)',
47
+ 'dropdown-box-shadow':
48
+ '0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08),0 9px 28px 8px rgba(0, 0, 0, 0.05)'
49
+ };
@@ -0,0 +1,5 @@
1
+ export const component = 'switch';
2
+
3
+ export const cssVars = {
4
+ background: 'rgba(0, 0, 0, 0.25)'
5
+ };
@@ -0,0 +1,44 @@
1
+ import { DEFAULT_PREFIX } from '../../../mount';
2
+
3
+ export const component = 'table';
4
+
5
+ export const cssVars = {
6
+ 'thead-bg': '#f7f8fa',
7
+ 'body-bg': '#ffffff',
8
+ 'text-color': 'rgba(0, 0, 0, 0.65)',
9
+ 'title-color': 'rgba(0, 0, 0, 0.85)',
10
+ 'title-font-weight': 500,
11
+ 'title-sort-icon-size': '11px',
12
+ 'tr-height': `var(--${DEFAULT_PREFIX}-height-lg)`,
13
+ 'tr-stripe-bg': '#fafafa',
14
+ 'tr-checked-bg': `rgba(var(--${DEFAULT_PREFIX}-primary-color-rgb), 0.1)`,
15
+ 'tr-hover-bg': `rgba(var(--${DEFAULT_PREFIX}-primary-color-rgb), 0.1)`,
16
+ 'row-border': 'rgba(243, 243, 243, 1)', // 无效参数
17
+ 'row-body-border': '#e8eaec',
18
+ config: {
19
+ border: 'full',
20
+ stripe: true,
21
+ isCurrent: true,
22
+ isHover: true
23
+ }
24
+ };
25
+
26
+ // export const cssVars = {
27
+ // 'thead-bg': '#ffffff',
28
+ // 'body-bg': '#ffffff',
29
+ // 'title-color': 'rgba(0, 0, 0, 0.85)',
30
+ // 'title-font-weight': 'bold',
31
+ // 'title-sort-icon-size': '11px',
32
+ // 'tr-height': `var(--${DEFAULT_PREFIX}-height-lg)`,
33
+ // 'tr-stripe-bg': '#fafafa',
34
+ // 'tr-checked-bg': `rgba(var(--${DEFAULT_PREFIX}-primary-color-rgb), 0.1)`,
35
+ // 'tr-hover-bg': `rgba(var(--${DEFAULT_PREFIX}-primary-color-rgb), 0.1)`,
36
+ // 'row-border': 'rgba(243, 243, 243, 1)',
37
+ // 'row-body-border': '#e8eaec',
38
+ // config: {
39
+ // border: 'oinone-custom-border',
40
+ // stripe: false,
41
+ // isCurrent: true,
42
+ // isHover: true
43
+ // }
44
+ // };
@@ -0,0 +1 @@
1
+ export const component = 'tabs';
@@ -0,0 +1,34 @@
1
+ import { DEFAULT_PREFIX } from '../../../mount';
2
+
3
+ export const component = 'textarea';
4
+ const prefix = `${DEFAULT_PREFIX}-${component}`;
5
+
6
+ export const cssVars = {
7
+ // default
8
+ background: '#ffffff',
9
+ 'border-width': `var(--${DEFAULT_PREFIX}-border-width)`,
10
+ 'border-style': `var(--${DEFAULT_PREFIX}-border-style)`,
11
+ 'border-color': `var(--${DEFAULT_PREFIX}-border-color)`,
12
+ 'border-radius': `var(--${DEFAULT_PREFIX}-border-radius)`,
13
+ outline: 'none',
14
+ shadow: 'none',
15
+ 'text-color': `var(--${DEFAULT_PREFIX}-text-color)`,
16
+ // default-hover
17
+ 'background-hover': `var(--${prefix}-background)`,
18
+ 'border-width-hover': `var(--${prefix}-border-width)`,
19
+ 'border-style-hover': `var(--${prefix}-border-style)`,
20
+ 'border-color-hover': `var(--${DEFAULT_PREFIX}-primary-color-hover)`,
21
+ 'border-radius-hover': `var(--${prefix}-border-radius)`,
22
+ 'outline-hover': `var(--${prefix}-outline)`,
23
+ 'shadow-hover': `var(--${prefix}-shadow)`,
24
+ 'text-color-hover': `var(--${prefix}-text-color)`,
25
+ // default-focus
26
+ 'background-focus': `var(--${prefix}-background)`,
27
+ 'border-width-focus': `var(--${prefix}-border-width)`,
28
+ 'border-style-focus': `var(--${prefix}-border-style)`,
29
+ 'border-color-focus': `var(--${DEFAULT_PREFIX}-primary-color-hover)`,
30
+ 'border-radius-focus': `var(--${prefix}-border-radius)`,
31
+ 'outline-focus': `var(--${prefix}-outline)`,
32
+ 'shadow-focus': `0px 0px 0px 2px rgba(var(--${DEFAULT_PREFIX}-primary-color-rgb),0.1);`,
33
+ 'text-color-focus': `var(--${prefix}-text-color)`
34
+ };
@@ -0,0 +1,6 @@
1
+ export const component = 'transfer';
2
+
3
+ export const cssVars = {
4
+ 'background-color': '#f7f7f7',
5
+ 'header-border-color': '#e3e7ee'
6
+ };
@@ -0,0 +1 @@
1
+ export const component = 'tree-select';
@@ -0,0 +1,34 @@
1
+ import { DEFAULT_PREFIX } from '../../../mount';
2
+
3
+ export const component = 'upload';
4
+ const prefix = `${DEFAULT_PREFIX}-${component}`;
5
+
6
+ export const cssVars = {
7
+ // default
8
+ background: '#ffffff',
9
+ 'border-width': `var(--${DEFAULT_PREFIX}-border-width)`,
10
+ 'border-style': 'dashed',
11
+ 'border-color': `var(--${DEFAULT_PREFIX}-border-color)`,
12
+ 'border-radius': `var(--${DEFAULT_PREFIX}-border-radius)`,
13
+ outline: 'none',
14
+ shadow: 'none',
15
+ 'text-color': `var(--${DEFAULT_PREFIX}-text-color)`,
16
+ // default-hover
17
+ 'background-hover': `var(--${prefix}-background)`,
18
+ 'border-width-hover': `var(--${prefix}-border-width)`,
19
+ 'border-style-hover': `var(--${prefix}-border-style)`,
20
+ 'border-color-hover': `var(--${DEFAULT_PREFIX}-primary-color-hover)`,
21
+ 'border-radius-hover': `var(--${prefix}-border-radius)`,
22
+ 'outline-hover': `var(--${prefix}-outline)`,
23
+ 'shadow-hover': `var(--${prefix}-shadow)`,
24
+ 'text-color-hover': `var(--${prefix}-text-color)`,
25
+ // default-focus
26
+ 'background-focus': `var(--${prefix}-background)`,
27
+ 'border-width-focus': `var(--${prefix}-border-width)`,
28
+ 'border-style-focus': `var(--${prefix}-border-style)`,
29
+ 'border-color-focus': `var(--${DEFAULT_PREFIX}-primary-color-hover)`,
30
+ 'border-radius-focus': `var(--${prefix}-border-radius)`,
31
+ 'outline-focus': `var(--${prefix}-outline)`,
32
+ 'shadow-focus': `var(--${prefix}-shadow)`,
33
+ 'text-color-focus': `var(--${prefix}-text-color)`
34
+ };
@@ -0,0 +1,2 @@
1
+ export * from './default';
2
+ export * from './dark';
package/src/typing.ts ADDED
@@ -0,0 +1,31 @@
1
+ export type ThemeType = 'default' | 'dark';
2
+
3
+ export type ThemeSize = 'large' | 'medium' | 'small';
4
+
5
+ export interface DefaultSideBarTheme {
6
+ mode?: ThemeType;
7
+ }
8
+
9
+ export enum DefaultThemeName {
10
+ DEFAULT_LARGE = 'default-large',
11
+ DEFAULT_MEDIUM = 'default-medium',
12
+ DEFAULT_SMALL = 'default-small',
13
+
14
+ DARK_LARGE = 'dark-large',
15
+ DARK_MEDIUM = 'dark-medium',
16
+ DARK_SMALL = 'dark-small'
17
+ }
18
+
19
+ export type ThemeName =
20
+ | 'default-large'
21
+ | 'default-medium'
22
+ | 'default-small'
23
+ | 'dark-large'
24
+ | 'dark-medium'
25
+ | 'dark-small'
26
+ | string;
27
+
28
+ export const isSystemTheme = (name: ThemeName) => {
29
+ const values = Object.values(DefaultThemeName);
30
+ return values.includes(name as any);
31
+ };