@oinone/kunlun-theme 6.3.1 → 6.4.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 (184) hide show
  1. package/dist/oinone-kunlun-theme.esm.js +1 -1
  2. package/dist/types/src/color/dark-minimalism-vars.d.ts +90 -0
  3. package/dist/types/src/color/dark-vars.d.ts +3 -0
  4. package/dist/types/src/color/default-minimalism-vars.d.ts +90 -0
  5. package/dist/types/src/color/default-vars.d.ts +23 -5
  6. package/dist/types/src/color/index.d.ts +2 -0
  7. package/dist/types/src/style/dark/card/card.d.ts +7 -0
  8. package/dist/types/src/style/dark/component-theme.d.ts +47 -0
  9. package/dist/types/src/style/dark/form-item/form-item.d.ts +2 -0
  10. package/dist/types/src/style/dark/input/input.d.ts +2 -0
  11. package/dist/types/src/style/dark/select/select.d.ts +2 -0
  12. package/dist/types/src/style/dark/tabs/tabs.d.ts +5 -0
  13. package/dist/types/src/style/dark-minimalism/app-switch/app-switch.d.ts +11 -0
  14. package/dist/types/src/style/dark-minimalism/button/constant.d.ts +2 -0
  15. package/dist/types/src/style/dark-minimalism/button/danger.d.ts +126 -0
  16. package/dist/types/src/style/dark-minimalism/button/index.d.ts +604 -0
  17. package/dist/types/src/style/dark-minimalism/button/info.d.ts +126 -0
  18. package/dist/types/src/style/dark-minimalism/button/standard.d.ts +126 -0
  19. package/dist/types/src/style/dark-minimalism/button/success.d.ts +126 -0
  20. package/dist/types/src/style/dark-minimalism/button/warning.d.ts +126 -0
  21. package/dist/types/src/style/dark-minimalism/card/card.d.ts +7 -0
  22. package/dist/types/src/style/dark-minimalism/checkbox/checkbox.d.ts +7 -0
  23. package/dist/types/src/style/dark-minimalism/component-theme.d.ts +2954 -0
  24. package/dist/types/src/style/dark-minimalism/drawer/drawer.d.ts +9 -0
  25. package/dist/types/src/style/dark-minimalism/dropdown/index.d.ts +12 -0
  26. package/dist/types/src/style/dark-minimalism/form-item/form-item.d.ts +9 -0
  27. package/dist/types/src/style/dark-minimalism/header/header.d.ts +5 -0
  28. package/dist/types/src/style/dark-minimalism/index.d.ts +1 -0
  29. package/dist/types/src/style/dark-minimalism/input/input.d.ts +38 -0
  30. package/dist/types/src/style/dark-minimalism/menu/menu.d.ts +38 -0
  31. package/dist/types/src/style/dark-minimalism/modal/modal.d.ts +10 -0
  32. package/dist/types/src/style/dark-minimalism/multi-tab/multi-tab.d.ts +57 -0
  33. package/dist/types/src/style/dark-minimalism/pagination/pagination.d.ts +12 -0
  34. package/dist/types/src/style/dark-minimalism/popconfirm/popconfirm.d.ts +7 -0
  35. package/dist/types/src/style/dark-minimalism/registry.d.ts +1 -0
  36. package/dist/types/src/style/dark-minimalism/rich-text/rich-text.d.ts +22 -0
  37. package/dist/types/src/style/dark-minimalism/scrollbar/scrollbar.d.ts +5 -0
  38. package/dist/types/src/style/dark-minimalism/select/select.d.ts +41 -0
  39. package/dist/types/src/style/dark-minimalism/switch/switch.d.ts +4 -0
  40. package/dist/types/src/style/dark-minimalism/table/table.d.ts +21 -0
  41. package/dist/types/src/style/dark-minimalism/tabs/tabs.d.ts +6 -0
  42. package/dist/types/src/style/dark-minimalism/textarea/textarea.d.ts +27 -0
  43. package/dist/types/src/style/dark-minimalism/transfer/transfer.d.ts +5 -0
  44. package/dist/types/src/style/dark-minimalism/tree-select/tree-select.d.ts +1 -0
  45. package/dist/types/src/style/dark-minimalism/upload/upload.d.ts +27 -0
  46. package/dist/types/src/style/default/card/card.d.ts +7 -0
  47. package/dist/types/src/style/default/component-theme.d.ts +86 -0
  48. package/dist/types/src/style/default/datetime/datetime.d.ts +5 -0
  49. package/dist/types/src/style/default/dropdown/index.d.ts +2 -0
  50. package/dist/types/src/style/default/form-item/form-item.d.ts +2 -0
  51. package/dist/types/src/style/default/input/input.d.ts +2 -0
  52. package/dist/types/src/style/default/pagination/pagination.d.ts +6 -0
  53. package/dist/types/src/style/default/select/select.d.ts +2 -0
  54. package/dist/types/src/style/default/tabs/tabs.d.ts +5 -0
  55. package/dist/types/src/style/default-minimalism/app-switch/app-switch.d.ts +11 -0
  56. package/dist/types/src/style/default-minimalism/button/constant.d.ts +2 -0
  57. package/dist/types/src/style/default-minimalism/button/danger.d.ts +126 -0
  58. package/dist/types/src/style/default-minimalism/button/index.d.ts +604 -0
  59. package/dist/types/src/style/default-minimalism/button/info.d.ts +126 -0
  60. package/dist/types/src/style/default-minimalism/button/standard.d.ts +126 -0
  61. package/dist/types/src/style/default-minimalism/button/success.d.ts +126 -0
  62. package/dist/types/src/style/default-minimalism/button/warning.d.ts +126 -0
  63. package/dist/types/src/style/default-minimalism/card/card.d.ts +7 -0
  64. package/dist/types/src/style/default-minimalism/checkbox/checkbox.d.ts +7 -0
  65. package/dist/types/src/style/default-minimalism/component-theme.d.ts +2986 -0
  66. package/dist/types/src/style/default-minimalism/datetime/datetime.d.ts +9 -0
  67. package/dist/types/src/style/default-minimalism/drawer/drawer.d.ts +9 -0
  68. package/dist/types/src/style/default-minimalism/dropdown/index.d.ts +14 -0
  69. package/dist/types/src/style/default-minimalism/form-item/form-item.d.ts +9 -0
  70. package/dist/types/src/style/default-minimalism/header/header.d.ts +5 -0
  71. package/dist/types/src/style/default-minimalism/index.d.ts +1 -0
  72. package/dist/types/src/style/default-minimalism/input/input.d.ts +38 -0
  73. package/dist/types/src/style/default-minimalism/menu/menu.d.ts +38 -0
  74. package/dist/types/src/style/default-minimalism/modal/modal.d.ts +10 -0
  75. package/dist/types/src/style/default-minimalism/multi-tab/multi-tab.d.ts +57 -0
  76. package/dist/types/src/style/default-minimalism/pagination/pagination.d.ts +12 -0
  77. package/dist/types/src/style/default-minimalism/popconfirm/popconfirm.d.ts +7 -0
  78. package/dist/types/src/style/default-minimalism/registry.d.ts +1 -0
  79. package/dist/types/src/style/default-minimalism/rich-text/rich-text.d.ts +22 -0
  80. package/dist/types/src/style/default-minimalism/scrollbar/scrollbar.d.ts +5 -0
  81. package/dist/types/src/style/default-minimalism/select/select.d.ts +41 -0
  82. package/dist/types/src/style/default-minimalism/switch/switch.d.ts +4 -0
  83. package/dist/types/src/style/default-minimalism/table/table.d.ts +21 -0
  84. package/dist/types/src/style/default-minimalism/tabs/tabs.d.ts +6 -0
  85. package/dist/types/src/style/default-minimalism/textarea/textarea.d.ts +27 -0
  86. package/dist/types/src/style/default-minimalism/transfer/transfer.d.ts +5 -0
  87. package/dist/types/src/style/default-minimalism/tree-select/tree-select.d.ts +1 -0
  88. package/dist/types/src/style/default-minimalism/upload/upload.d.ts +27 -0
  89. package/dist/types/src/style/index.d.ts +2 -0
  90. package/dist/types/src/typing.d.ts +8 -2
  91. package/dist/types/src/utils/ColorHelper.d.ts +33 -0
  92. package/package.json +2 -2
  93. package/src/color/dark-minimalism-vars.ts +117 -0
  94. package/src/color/dark-vars.ts +6 -1
  95. package/src/color/default-minimalism-vars.ts +117 -0
  96. package/src/color/default-vars.ts +45 -11
  97. package/src/color/index.ts +2 -0
  98. package/src/init/initTheme.ts +8 -1
  99. package/src/style/dark/card/card.ts +10 -0
  100. package/src/style/dark/component-theme.ts +10 -4
  101. package/src/style/dark/form-item/form-item.ts +3 -1
  102. package/src/style/dark/input/input.ts +3 -1
  103. package/src/style/dark/select/select.ts +3 -1
  104. package/src/style/dark/tabs/tabs.ts +6 -0
  105. package/src/style/dark-minimalism/app-switch/app-switch.ts +14 -0
  106. package/src/style/dark-minimalism/button/constant.ts +4 -0
  107. package/src/style/dark-minimalism/button/danger.ts +146 -0
  108. package/src/style/dark-minimalism/button/index.ts +28 -0
  109. package/src/style/dark-minimalism/button/info.ts +146 -0
  110. package/src/style/dark-minimalism/button/standard.ts +146 -0
  111. package/src/style/dark-minimalism/button/success.ts +146 -0
  112. package/src/style/dark-minimalism/button/warning.ts +146 -0
  113. package/src/style/dark-minimalism/card/card.ts +10 -0
  114. package/src/style/dark-minimalism/checkbox/checkbox.ts +10 -0
  115. package/src/style/dark-minimalism/component-theme.ts +179 -0
  116. package/src/style/dark-minimalism/drawer/drawer.ts +10 -0
  117. package/src/style/dark-minimalism/dropdown/index.ts +14 -0
  118. package/src/style/dark-minimalism/form-item/form-item.ts +13 -0
  119. package/src/style/dark-minimalism/header/header.ts +6 -0
  120. package/src/style/dark-minimalism/index.ts +1 -0
  121. package/src/style/dark-minimalism/input/input.ts +48 -0
  122. package/src/style/dark-minimalism/menu/menu.ts +7 -0
  123. package/src/style/dark-minimalism/modal/modal.ts +11 -0
  124. package/src/style/dark-minimalism/multi-tab/multi-tab.ts +67 -0
  125. package/src/style/dark-minimalism/pagination/pagination.ts +15 -0
  126. package/src/style/dark-minimalism/popconfirm/popconfirm.ts +8 -0
  127. package/src/style/dark-minimalism/registry.ts +62 -0
  128. package/src/style/dark-minimalism/rich-text/rich-text.ts +25 -0
  129. package/src/style/dark-minimalism/scrollbar/scrollbar.ts +6 -0
  130. package/src/style/dark-minimalism/select/select.ts +50 -0
  131. package/src/style/dark-minimalism/switch/switch.ts +5 -0
  132. package/src/style/dark-minimalism/table/table.ts +44 -0
  133. package/src/style/dark-minimalism/tabs/tabs.ts +7 -0
  134. package/src/style/dark-minimalism/textarea/textarea.ts +34 -0
  135. package/src/style/dark-minimalism/transfer/transfer.ts +6 -0
  136. package/src/style/dark-minimalism/tree-select/tree-select.ts +1 -0
  137. package/src/style/dark-minimalism/upload/upload.ts +34 -0
  138. package/src/style/default/card/card.ts +10 -0
  139. package/src/style/default/component-theme.ts +10 -4
  140. package/src/style/default/datetime/datetime.ts +7 -1
  141. package/src/style/default/dropdown/index.ts +12 -8
  142. package/src/style/default/form-item/form-item.ts +4 -1
  143. package/src/style/default/input/input.ts +3 -1
  144. package/src/style/default/multi-tab/multi-tab.ts +1 -1
  145. package/src/style/default/pagination/pagination.ts +7 -1
  146. package/src/style/default/select/select.ts +3 -1
  147. package/src/style/default/tabs/tabs.ts +6 -0
  148. package/src/style/default-minimalism/app-switch/app-switch.ts +14 -0
  149. package/src/style/default-minimalism/button/constant.ts +4 -0
  150. package/src/style/default-minimalism/button/danger.ts +146 -0
  151. package/src/style/default-minimalism/button/index.ts +28 -0
  152. package/src/style/default-minimalism/button/info.ts +146 -0
  153. package/src/style/default-minimalism/button/standard.ts +146 -0
  154. package/src/style/default-minimalism/button/success.ts +146 -0
  155. package/src/style/default-minimalism/button/warning.ts +146 -0
  156. package/src/style/default-minimalism/card/card.ts +10 -0
  157. package/src/style/default-minimalism/checkbox/checkbox.ts +10 -0
  158. package/src/style/default-minimalism/component-theme.ts +184 -0
  159. package/src/style/default-minimalism/datetime/datetime.ts +12 -0
  160. package/src/style/default-minimalism/drawer/drawer.ts +10 -0
  161. package/src/style/default-minimalism/dropdown/index.ts +18 -0
  162. package/src/style/default-minimalism/form-item/form-item.ts +12 -0
  163. package/src/style/default-minimalism/header/header.ts +6 -0
  164. package/src/style/default-minimalism/index.ts +1 -0
  165. package/src/style/default-minimalism/input/input.ts +48 -0
  166. package/src/style/default-minimalism/menu/menu.ts +7 -0
  167. package/src/style/default-minimalism/modal/modal.ts +11 -0
  168. package/src/style/default-minimalism/multi-tab/multi-tab.ts +67 -0
  169. package/src/style/default-minimalism/pagination/pagination.ts +15 -0
  170. package/src/style/default-minimalism/popconfirm/popconfirm.ts +8 -0
  171. package/src/style/default-minimalism/registry.ts +63 -0
  172. package/src/style/default-minimalism/rich-text/rich-text.ts +25 -0
  173. package/src/style/default-minimalism/scrollbar/scrollbar.ts +6 -0
  174. package/src/style/default-minimalism/select/select.ts +51 -0
  175. package/src/style/default-minimalism/switch/switch.ts +5 -0
  176. package/src/style/default-minimalism/table/table.ts +24 -0
  177. package/src/style/default-minimalism/tabs/tabs.ts +7 -0
  178. package/src/style/default-minimalism/textarea/textarea.ts +34 -0
  179. package/src/style/default-minimalism/transfer/transfer.ts +6 -0
  180. package/src/style/default-minimalism/tree-select/tree-select.ts +1 -0
  181. package/src/style/default-minimalism/upload/upload.ts +34 -0
  182. package/src/style/index.ts +2 -0
  183. package/src/typing.ts +15 -1
  184. package/src/utils/ColorHelper.ts +75 -0
@@ -0,0 +1,10 @@
1
+ export const component = 'drawer';
2
+
3
+ export const cssVars = {
4
+ 'width-small': '20%',
5
+ 'width-medium': '40%',
6
+ 'width-large': '80%',
7
+ 'height-small': '40vh',
8
+ 'height-medium': '60vh',
9
+ 'height-large': '90vh'
10
+ };
@@ -0,0 +1,18 @@
1
+ import { DEFAULT_PREFIX } from '../../../mount';
2
+
3
+ export const component = 'dropdown';
4
+
5
+ export const cssVars = {
6
+ 'background-color': 'var(--oio-background)',
7
+ 'background-hover': `var(--${DEFAULT_PREFIX}-hover-background-color)`,
8
+ 'border-color': 'var(--oio-border-color)',
9
+ 'box-shadow': '-2px 2px 6px 0px rgba(136, 156, 176, 0.2)',
10
+ color: 'var(--oio-text-color)',
11
+ 'color-hover': `var(--${DEFAULT_PREFIX}-text-color-secondary)`,
12
+ 'color-disabled': 'var(--oio-disabled-color)',
13
+ 'color-disabled-hover': 'var(--oio-disabled-color)',
14
+
15
+ 'item-background-color-hover': 'var(--oio-hover-background-color)',
16
+ 'item-background-color-disabled-hover': 'transparent',
17
+ 'button-text-color': `var(--${DEFAULT_PREFIX}-text-color-secondary)`
18
+ };
@@ -0,0 +1,12 @@
1
+ export const component = 'form-item';
2
+
3
+ export const cssVars = {
4
+ config: {
5
+ // 只读模式展示占位符
6
+ readonlyShowPlaceholder: false,
7
+ // 禁用模式展示占位符
8
+ disabledShowPlaceholder: false
9
+ },
10
+ 'label-color': 'var(--oio-text-color-secondary)',
11
+ 'label-weight': '0'
12
+ };
@@ -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,48 @@
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-focus)`,
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
+ 'ready-delete-tag-background': 'rgba(224, 32, 32, 0.1)',
45
+ 'ready-delete-tag-color': '#ff4d4f',
46
+ 'clear-background': '#fff',
47
+ 'clear-color': 'rgba(0,0,0,.25)'
48
+ };
@@ -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.3)',
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,15 @@
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': `none`,
8
+ 'text-color': `var(--${DEFAULT_PREFIX}-text-color)`,
9
+ 'background-active': '#fff',
10
+ 'border-color-active': `var(--${DEFAULT_PREFIX}-primary-color)`,
11
+ 'text-color-active': `var(--${DEFAULT_PREFIX}-primary-color)`,
12
+ 'background-hover': `var(--${DEFAULT_PREFIX}-primary-color-hover)`,
13
+ 'border-color-hover': '#fff',
14
+ 'text-color-hover': '#fff'
15
+ };
@@ -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 { defaultModernVars } from '../../color';
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
+ ...defaultModernVars,
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-minimalism-${size}`, cssVars);
57
+ }
58
+
59
+ export function registerDefaultModernThemeFn() {
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,51 @@
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-focus)`,
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-hover-color': 'var(--oio-select-dropdown-color)',
48
+ 'dropdown-hover-background': `var(--${DEFAULT_PREFIX}-hover-background-color)`,
49
+ 'dropdown-box-shadow':
50
+ '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)'
51
+ };
@@ -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,24 @@
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
+ };
@@ -0,0 +1,7 @@
1
+ export const component = 'tabs';
2
+
3
+ export const cssVars = {
4
+ 'card-tab-background': '#f7f8fa',
5
+ 'card-tab-active-background': 'var(--oio-background)',
6
+ 'active-text-color': 'var(--oio-primary-color)'
7
+ };
@@ -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
+ };
@@ -1,2 +1,4 @@
1
1
  export * from './default';
2
+ export * from './default-minimalism';
2
3
  export * from './dark';
4
+ export * from './dark-minimalism';
package/src/typing.ts CHANGED
@@ -11,18 +11,32 @@ export enum DefaultThemeName {
11
11
  DEFAULT_MEDIUM = 'default-medium',
12
12
  DEFAULT_SMALL = 'default-small',
13
13
 
14
+ DEFAULT_MINIMALISM_LARGE = 'default-minimalism-large',
15
+ DEFAULT_MINIMALISM_MEDIUM = 'default-minimalism-medium',
16
+ DEFAULT_MINIMALISM_SMALL = 'default-minimalism-small',
17
+
14
18
  DARK_LARGE = 'dark-large',
15
19
  DARK_MEDIUM = 'dark-medium',
16
- DARK_SMALL = 'dark-small'
20
+ DARK_SMALL = 'dark-small',
21
+
22
+ DARK_MINIMALISM_LARGE = 'dark-minimalism-large',
23
+ DARK_MINIMALISM_MEDIUM = 'dark-minimalism-medium',
24
+ DARK_MINIMALISM_SMALL = 'dark-minimalism-small'
17
25
  }
18
26
 
19
27
  export type ThemeName =
20
28
  | 'default-large'
21
29
  | 'default-medium'
22
30
  | 'default-small'
31
+ | 'default-minimalism-large'
32
+ | 'default-minimalism-medium'
33
+ | 'default-minimalism-small'
23
34
  | 'dark-large'
24
35
  | 'dark-medium'
25
36
  | 'dark-small'
37
+ | 'dark-minimalism-large'
38
+ | 'dark-minimalism-medium'
39
+ | 'dark-minimalism-small'
26
40
  | string;
27
41
 
28
42
  export const isSystemTheme = (name: ThemeName) => {
@@ -0,0 +1,75 @@
1
+ export interface RGB {
2
+ r: number;
3
+ g: number;
4
+ b: number;
5
+ }
6
+
7
+ export class ColorHelper {
8
+ /**
9
+ * 将十六进制颜色转换为RGB对象
10
+ * @param {string} hex - 十六进制颜色字符串,如 '#035DFF'
11
+ * @returns {Object} RGB对象,包含r, g, b属性,值为0-255
12
+ */
13
+ public static hexToRgb(hex: string): RGB {
14
+ // 移除可能的#号
15
+ hex = hex.replace(/^#/, '');
16
+
17
+ // 解析RGB分量
18
+ const r = parseInt(hex.substring(0, 2), 16);
19
+ const g = parseInt(hex.substring(2, 4), 16);
20
+ const b = parseInt(hex.substring(4, 6), 16);
21
+
22
+ return { r, g, b };
23
+ }
24
+
25
+ /**
26
+ * 将RGB对象转换为十六进制颜色
27
+ * @param {Object} rgb - RGB对象,包含r, g, b属性,值为0-255
28
+ * @returns {string} 十六进制颜色字符串,如 '#E6EFFE'
29
+ */
30
+ public static rgbToHex(rgb: RGB): string {
31
+ // 将每个分量转换为两位十六进制数,并拼接
32
+ const r = ColorHelper.componentToHex(rgb.r);
33
+ const g = ColorHelper.componentToHex(rgb.g);
34
+ const b = ColorHelper.componentToHex(rgb.b);
35
+
36
+ return `#${r}${g}${b}`;
37
+ }
38
+
39
+ /**
40
+ * 将单个颜色分量转换为两位十六进制数
41
+ * @param {number} c - 颜色分量,值为0-255
42
+ * @returns {string} 两位十六进制字符串
43
+ */
44
+ private static componentToHex(c: number): string {
45
+ const hex = c.toString(16);
46
+ // 确保结果是两位,不足的前面补0
47
+ return hex.length === 1 ? `0${hex}` : hex;
48
+ }
49
+
50
+ /**
51
+ * 计算半透明颜色在背景色上的等效不透明颜色
52
+ * @param {string} color - 半透明颜色的十六进制字符串,如 '#035DFF'
53
+ * @param {number} alpha - 透明度,0-1之间的数值,如0.1
54
+ * @param {string} backgroundColor - 背景色的十六进制字符串,默认为白色 '#FFFFFF'
55
+ * @returns {string} 等效的不透明颜色的十六进制字符串
56
+ */
57
+ public static getAlphaColor(color: string, alpha: number, backgroundColor = '#FFFFFF') {
58
+ // 验证输入
59
+ if (alpha < 0 || alpha > 1) {
60
+ throw new Error('透明度必须是0到1之间的数值');
61
+ }
62
+
63
+ // 转换为RGB
64
+ const colorRgb = ColorHelper.hexToRgb(color);
65
+ const bgRgb = ColorHelper.hexToRgb(backgroundColor);
66
+
67
+ // 计算等效RGB值
68
+ const r = Math.round(colorRgb.r * alpha + bgRgb.r * (1 - alpha));
69
+ const g = Math.round(colorRgb.g * alpha + bgRgb.g * (1 - alpha));
70
+ const b = Math.round(colorRgb.b * alpha + bgRgb.b * (1 - alpha));
71
+
72
+ // 转换回十六进制
73
+ return ColorHelper.rgbToHex({ r, g, b });
74
+ }
75
+ }