@dao-style/core 0.7.0 → 1.0.0-beta.2

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 (245) hide show
  1. package/dist/components/action-icon/action-icon.d.ts +158 -0
  2. package/dist/components/action-icon/action-icon.vue.d.ts +24 -17
  3. package/dist/components/action-icon/index.d.ts +3 -1
  4. package/dist/components/action-icon/props.d.ts +27 -0
  5. package/dist/components/batch-bar/batch-bar.d.ts +175 -0
  6. package/dist/components/batch-bar/batch-bar.vue.d.ts +18 -12
  7. package/dist/components/batch-bar/index.d.ts +3 -2
  8. package/dist/components/batch-bar/props.d.ts +7 -2
  9. package/dist/components/breadcrumb/breadcrumb-item-props.d.ts +2 -2
  10. package/dist/components/breadcrumb/breadcrumb-item.d.ts +103 -0
  11. package/dist/components/breadcrumb/breadcrumb-item.vue.d.ts +11 -9
  12. package/dist/components/breadcrumb/breadcrumb-props.d.ts +7 -14
  13. package/dist/components/breadcrumb/breadcrumb.d.ts +149 -0
  14. package/dist/components/breadcrumb/breadcrumb.vue.d.ts +22 -41
  15. package/dist/components/breadcrumb/index.d.ts +6 -2
  16. package/dist/components/button/button-group.d.ts +2 -0
  17. package/dist/components/button/button-group.vue.d.ts +1 -1
  18. package/dist/components/button/button.d.ts +259 -0
  19. package/dist/components/button/button.vue.d.ts +40 -23
  20. package/dist/components/button/index.d.ts +5 -2
  21. package/dist/components/button/props.d.ts +9 -5
  22. package/dist/components/card/card-item.d.ts +49 -0
  23. package/dist/components/card/card-item.vue.d.ts +1 -1
  24. package/dist/components/card/card-props.d.ts +25 -0
  25. package/dist/components/card/card.d.ts +160 -0
  26. package/dist/components/card/card.vue.d.ts +25 -19
  27. package/dist/components/card/index.d.ts +6 -2
  28. package/dist/components/card/types.d.ts +1 -1
  29. package/dist/components/checkbox/checkbox-group.d.ts +114 -0
  30. package/dist/components/checkbox/checkbox-group.vue.d.ts +13 -12
  31. package/dist/components/checkbox/checkbox.d.ts +246 -0
  32. package/dist/components/checkbox/checkbox.vue.d.ts +36 -25
  33. package/dist/components/checkbox/index.d.ts +5 -2
  34. package/dist/components/checkbox/props.d.ts +55 -1
  35. package/dist/components/dialog/dialog-footer.d.ts +167 -0
  36. package/dist/components/dialog/dialog-footer.vue.d.ts +24 -13
  37. package/dist/components/dialog/dialog-header.d.ts +113 -0
  38. package/dist/components/dialog/dialog-header.vue.d.ts +10 -7
  39. package/dist/components/dialog/dialog.d.ts +459 -0
  40. package/dist/components/dialog/dialog.vue.d.ts +76 -47
  41. package/dist/components/dialog/index.d.ts +7 -3
  42. package/dist/components/dialog/props.d.ts +123 -0
  43. package/dist/components/drawer/drawer.d.ts +295 -0
  44. package/dist/components/drawer/drawer.vue.d.ts +39 -23
  45. package/dist/components/drawer/index.d.ts +3 -2
  46. package/dist/components/drawer/props.d.ts +8 -2
  47. package/dist/components/dropdown/dropdown-item.d.ts +146 -0
  48. package/dist/components/dropdown/dropdown-item.vue.d.ts +20 -13
  49. package/dist/components/dropdown/dropdown-menu.d.ts +49 -0
  50. package/dist/components/dropdown/dropdown-menu.vue.d.ts +1 -1
  51. package/dist/components/dropdown/dropdown.d.ts +196 -0
  52. package/dist/components/dropdown/dropdown.vue.d.ts +37 -26
  53. package/dist/components/dropdown/index.d.ts +7 -3
  54. package/dist/components/dropdown/props.d.ts +55 -0
  55. package/dist/components/ellipsis/ellipsis.d.ts +2522 -0
  56. package/dist/components/ellipsis/ellipsis.vue.d.ts +653 -127
  57. package/dist/components/ellipsis/index.d.ts +3 -1
  58. package/dist/components/ellipsis/props.d.ts +2 -2
  59. package/dist/components/ellipsis/types.d.ts +4 -8
  60. package/dist/components/empty/empty.d.ts +137 -0
  61. package/dist/components/empty/empty.vue.d.ts +15 -10
  62. package/dist/components/empty/index.d.ts +2 -2
  63. package/dist/components/empty/{types.d.ts → props.d.ts} +2 -2
  64. package/dist/components/expansion/expansion-item.d.ts +138 -0
  65. package/dist/components/expansion/expansion-item.vue.d.ts +10 -8
  66. package/dist/components/expansion/expansion.d.ts +164 -0
  67. package/dist/components/expansion/expansion.vue.d.ts +18 -13
  68. package/dist/components/expansion/index.d.ts +5 -3
  69. package/dist/components/expansion/props.d.ts +16 -5
  70. package/dist/components/form/error-text.d.ts +75 -0
  71. package/dist/components/form/error-text.vue.d.ts +6 -5
  72. package/dist/components/form/form-group.d.ts +76 -0
  73. package/dist/components/form/form-group.vue.d.ts +6 -5
  74. package/dist/components/form/form-item.d.ts +317 -0
  75. package/dist/components/form/form-item.vue.d.ts +43 -27
  76. package/dist/components/form/form.d.ts +143 -0
  77. package/dist/components/form/form.vue.d.ts +11 -7
  78. package/dist/components/form/helper-text.d.ts +75 -0
  79. package/dist/components/form/helper-text.vue.d.ts +6 -5
  80. package/dist/components/form/index.d.ts +11 -5
  81. package/dist/components/form/props.d.ts +74 -0
  82. package/dist/components/form/type.d.ts +5 -56
  83. package/dist/components/header/header.d.ts +114 -0
  84. package/dist/components/header/header.vue.d.ts +10 -7
  85. package/dist/components/header/index.d.ts +3 -1
  86. package/dist/components/header/props.d.ts +2 -4
  87. package/dist/components/icon/icon.d.ts +89 -0
  88. package/dist/components/icon/icon.vue.d.ts +11 -8
  89. package/dist/components/icon/index.d.ts +3 -1
  90. package/dist/components/icon/props.d.ts +12 -0
  91. package/dist/components/input/index.d.ts +3 -1
  92. package/dist/components/input/input.d.ts +370 -0
  93. package/dist/components/input/input.vue.d.ts +49 -29
  94. package/dist/components/input/props.d.ts +19 -8
  95. package/dist/components/message/index.d.ts +4 -1
  96. package/dist/components/message/message.d.ts +200 -0
  97. package/dist/components/message/message.vue.d.ts +22 -15
  98. package/dist/components/message/props.d.ts +11 -3
  99. package/dist/components/message/types.d.ts +1 -1
  100. package/dist/components/nav/index.d.ts +10 -4
  101. package/dist/components/nav/nav-head.d.ts +134 -0
  102. package/dist/components/nav/nav-head.vue.d.ts +14 -9
  103. package/dist/components/nav/nav-item.d.ts +228 -0
  104. package/dist/components/nav/nav-item.vue.d.ts +30 -17
  105. package/dist/components/nav/nav-sub.d.ts +260 -0
  106. package/dist/components/nav/nav-sub.vue.d.ts +34 -19
  107. package/dist/components/nav/nav.d.ts +134 -0
  108. package/dist/components/nav/nav.vue.d.ts +15 -9
  109. package/dist/components/nav/props.d.ts +12 -3
  110. package/dist/components/nav/types.d.ts +1 -1
  111. package/dist/components/pagination/index.d.ts +3 -1
  112. package/dist/components/pagination/pagination-props.d.ts +15 -4
  113. package/dist/components/pagination/pagination.d.ts +347 -0
  114. package/dist/components/pagination/pagination.vue.d.ts +48 -27
  115. package/dist/components/popover/index.d.ts +3 -1
  116. package/dist/components/popover/popover-props.d.ts +69 -0
  117. package/dist/components/popover/popover.d.ts +373 -0
  118. package/dist/components/popover/popover.vue.d.ts +71 -43
  119. package/dist/components/popper/index.d.ts +3 -1
  120. package/dist/components/popper/popper-content.vue.d.ts +32 -23
  121. package/dist/components/popper/popper-props.d.ts +49 -12
  122. package/dist/components/popper/popper.d.ts +381 -0
  123. package/dist/components/popper/popper.vue.d.ts +63 -35
  124. package/dist/components/progress/index.d.ts +3 -1
  125. package/dist/components/progress/progress.d.ts +147 -0
  126. package/dist/components/progress/progress.vue.d.ts +17 -11
  127. package/dist/components/progress/props.d.ts +21 -0
  128. package/dist/components/radio/index.d.ts +5 -2
  129. package/dist/components/radio/props.d.ts +47 -0
  130. package/dist/components/radio/radio-group.d.ts +121 -0
  131. package/dist/components/radio/radio-group.vue.d.ts +16 -12
  132. package/dist/components/radio/radio.d.ts +198 -0
  133. package/dist/components/radio/radio.vue.d.ts +29 -19
  134. package/dist/components/select/index.d.ts +6 -2
  135. package/dist/components/select/option.d.ts +133 -0
  136. package/dist/components/select/option.vue.d.ts +18 -16
  137. package/dist/components/select/props.d.ts +30 -7
  138. package/dist/components/select/select.d.ts +1612 -0
  139. package/dist/components/select/select.vue.d.ts +359 -83
  140. package/dist/components/select/types.d.ts +6 -3
  141. package/dist/components/switch/index.d.ts +3 -1
  142. package/dist/components/switch/switch-props.d.ts +38 -0
  143. package/dist/components/switch/switch.d.ts +2 -0
  144. package/dist/components/switch/switch.vue.d.ts +35 -22
  145. package/dist/components/table/components/tdAction.vue.d.ts +2 -2
  146. package/dist/components/table/index.d.ts +5 -1
  147. package/dist/components/table/resizer-props.d.ts +22 -0
  148. package/dist/components/table/resizer.vue.d.ts +14 -9
  149. package/dist/components/table/table-props.d.ts +31 -8
  150. package/dist/components/table/table.d.ts +975 -0
  151. package/dist/components/table/table.vue.d.ts +155 -100
  152. package/dist/components/table/type.d.ts +3 -1
  153. package/dist/components/tabs/index.d.ts +8 -3
  154. package/dist/components/tabs/props.d.ts +72 -0
  155. package/dist/components/tabs/tab-item.d.ts +130 -0
  156. package/dist/components/tabs/tab-item.vue.d.ts +24 -15
  157. package/dist/components/tabs/tab-nav.d.ts +39 -0
  158. package/dist/components/tabs/tab-nav.vue.d.ts +20 -13
  159. package/dist/components/tabs/tabs.d.ts +169 -0
  160. package/dist/components/tabs/tabs.vue.d.ts +24 -16
  161. package/dist/components/tabs/types.d.ts +4 -8
  162. package/dist/components/tag/index.d.ts +3 -1
  163. package/dist/components/tag/props.d.ts +24 -0
  164. package/dist/components/tag/tag.d.ts +144 -0
  165. package/dist/components/tag/tag.vue.d.ts +19 -12
  166. package/dist/components/text-button/index.d.ts +3 -1
  167. package/dist/components/text-button/props.d.ts +6 -5
  168. package/dist/components/text-button/text-button.d.ts +134 -0
  169. package/dist/components/text-button/text-button.vue.d.ts +16 -11
  170. package/dist/components/toolbar/index.d.ts +5 -1
  171. package/dist/components/toolbar/toolbar-filter-props.d.ts +21 -0
  172. package/dist/components/toolbar/toolbar-filter.vue.d.ts +24 -19
  173. package/dist/components/toolbar/toolbar-props.d.ts +20 -4
  174. package/dist/components/toolbar/toolbar.d.ts +278 -0
  175. package/dist/components/toolbar/toolbar.vue.d.ts +42 -28
  176. package/dist/components/toolbar/types.d.ts +1 -1
  177. package/dist/components/tooltip/index.d.ts +3 -1
  178. package/dist/components/tooltip/tooltip-props.d.ts +11 -2
  179. package/dist/components/tooltip/tooltip.d.ts +373 -0
  180. package/dist/components/tooltip/tooltip.vue.d.ts +71 -43
  181. package/dist/components/transfer/index.d.ts +5 -2
  182. package/dist/components/transfer/props.d.ts +38 -15
  183. package/dist/components/transfer/transfer-panel.d.ts +351 -0
  184. package/dist/components/transfer/transfer-panel.vue.d.ts +42 -28
  185. package/dist/components/transfer/transfer.d.ts +382 -0
  186. package/dist/components/transfer/transfer.vue.d.ts +54 -35
  187. package/dist/dao-style.es.js +5551 -7147
  188. package/dist/dao-style.umd.js +5 -1
  189. package/dist/index.d.ts +2 -0
  190. package/dist/style.css +1 -1
  191. package/dist/utils/assist.d.ts +1 -3
  192. package/dist/utils/types.d.ts +23 -2
  193. package/package.json +57 -49
  194. package/scripts/transform-variable.mjs +160 -0
  195. package/volar.d.ts +48 -47
  196. package/dist/components/action-icon/test/action-icon.spec.d.ts +0 -1
  197. package/dist/components/batch-bar/test/batch-bar.spec.d.ts +0 -1
  198. package/dist/components/breadcrumb/test/breadcrumb-item.spec.d.ts +0 -1
  199. package/dist/components/breadcrumb/test/breadcrumb.spec.d.ts +0 -1
  200. package/dist/components/button/test/button.spec.d.ts +0 -1
  201. package/dist/components/card/test/card.spec.d.ts +0 -1
  202. package/dist/components/checkbox/test/checkbox-group.spec.d.ts +0 -1
  203. package/dist/components/checkbox/test/checkbox.spec.d.ts +0 -1
  204. package/dist/components/dialog/test/dialog-footer.spec.d.ts +0 -1
  205. package/dist/components/dialog/test/dialog-header.spec.d.ts +0 -1
  206. package/dist/components/dialog/test/dialog.spec.d.ts +0 -1
  207. package/dist/components/drawer/test/drawer.spec.d.ts +0 -1
  208. package/dist/components/dropdown/test/dropdown-item.spec.d.ts +0 -1
  209. package/dist/components/dropdown/test/dropdown-menu.spec.d.ts +0 -1
  210. package/dist/components/dropdown/test/dropdown.spec.d.ts +0 -1
  211. package/dist/components/ellipsis/test/ellipsis.spec.d.ts +0 -1
  212. package/dist/components/empty/test/empty.spec.d.ts +0 -1
  213. package/dist/components/expansion/test/expansion-item.spec.d.ts +0 -1
  214. package/dist/components/expansion/test/expansion.spec.d.ts +0 -1
  215. package/dist/components/form/test/form-group.spec.d.ts +0 -1
  216. package/dist/components/form/test/form-item.spec.d.ts +0 -1
  217. package/dist/components/form/test/form.spec.d.ts +0 -1
  218. package/dist/components/header/test/header.spec.d.ts +0 -1
  219. package/dist/components/icon/test/icon.spec.d.ts +0 -1
  220. package/dist/components/input/test/input.spec.d.ts +0 -1
  221. package/dist/components/message/test/message.spec.d.ts +0 -1
  222. package/dist/components/nav/test/nav-head.spec.d.ts +0 -1
  223. package/dist/components/nav/test/nav-item.spec.d.ts +0 -1
  224. package/dist/components/nav/test/nav-sub.spec.d.ts +0 -1
  225. package/dist/components/nav/test/nav.spec.d.ts +0 -1
  226. package/dist/components/pagination/test/pagination.spec.d.ts +0 -1
  227. package/dist/components/popover/test/popover.spec.d.ts +0 -1
  228. package/dist/components/popper/test/popper.spec.d.ts +0 -1
  229. package/dist/components/progress/test/progress.spec.d.ts +0 -1
  230. package/dist/components/radio/test/radio-group.spec.d.ts +0 -1
  231. package/dist/components/radio/test/radio.spec.d.ts +0 -1
  232. package/dist/components/select/test/option.spec.d.ts +0 -1
  233. package/dist/components/select/test/select.spec.d.ts +0 -1
  234. package/dist/components/switch/test/switch.spec.d.ts +0 -1
  235. package/dist/components/table/test/table.spec.d.ts +0 -1
  236. package/dist/components/tabs/test/tabs.spec.d.ts +0 -1
  237. package/dist/components/tag/test/tag.spec.d.ts +0 -1
  238. package/dist/components/text-button/test/text-button.spec.d.ts +0 -1
  239. package/dist/components/toolbar/test/toolbar.spec.d.ts +0 -1
  240. package/dist/components/tooltip/test/tooltip.spec.d.ts +0 -1
  241. package/dist/components/transfer/test/transfer.spec.d.ts +0 -1
  242. package/dist/styles/color/alias.css +0 -84
  243. package/dist/styles/color/alias.scss +0 -46
  244. package/dist/styles/color/var.css +0 -236
  245. package/dist/styles/color/var.scss +0 -121
package/package.json CHANGED
@@ -1,63 +1,68 @@
1
1
  {
2
2
  "name": "@dao-style/core",
3
- "version": "0.7.0",
3
+ "version": "1.0.0-beta.2",
4
4
  "scripts": {
5
- "dev": "vite",
6
- "build": "node scripts/transform-variable.mjs --build && npm run typecheck && vite build && vue-tsc -d --emitDeclarationOnly && npm run build:dts",
7
- "serve": "vite preview --port 5050",
8
- "test": "jest src",
9
- "test:watch": "jest src --watch",
5
+ "dev": "npm run dev:docs",
6
+ "dev:docs": "vitepress dev docs",
7
+ "build": "npm run typecheck && vite build && vue-tsc -d --emitDeclarationOnly -p tsconfig.build.json && npm run build:volar",
8
+ "build:volar": "node scripts/gen-volar-dts.mjs",
9
+ "build:types": "tsc --emitDeclarationOnly -p tsconfig.build.json",
10
+ "build:docs": "vitepress build docs",
11
+ "test": "vitest src --run",
12
+ "test:watch": "vitest src",
13
+ "lint": "npm run lint:style & npm run lint:docs & npm run typecheck & npm run lint:eslint",
14
+ "lint:style": "stylelint \"src/**/*.{vue,css,scss}\" --config .stylelintrc.js --fix",
15
+ "lint:docs": "prettier \"**/*.md\" --write",
16
+ "lint:eslint": "eslint \"src/**/*.{ts,tsx,js,jsx,vue}\" --fix --max-warnings=0",
17
+ "typecheck": "vue-tsc --noEmit -p tsconfig.build.json",
18
+ "serve:docs": "vitepress serve docs",
10
19
  "release": "node scripts/release.js && git push --follow-tags",
11
- "publish:ci": "node scripts/publish.js",
12
- "typecheck": "vue-tsc --noEmit",
13
- "types:build": "tsc --emitDeclarationOnly",
14
- "eslint": "eslint \"src/**/*.{ts,tsx,js,jsx,vue}\" --fix --max-warnings=0",
15
- "style:lint": "stylelint \"src/**/*.{vue,css,scss}\" --config .stylelintrc.js --fix",
16
- "lint": "npm run style:lint & npm run docs:lint & npm run typecheck & npm run eslint",
17
- "docs:lint": "prettier \"**/*.md\" --write",
18
- "docs:dev": "concurrently \"node scripts/transform-variable.mjs\" \"vitepress dev docs\"",
19
- "docs:build": "node scripts/transform-variable.mjs --build && vitepress build docs",
20
- "docs:serve": "vitepress serve docs",
21
- "build:dts": "node scripts/gen-volar-dts.mjs"
20
+ "publish:ci": "node scripts/publish.js"
22
21
  },
22
+ "sideEffects": [
23
+ "dist/**/*.css"
24
+ ],
23
25
  "dependencies": {
24
26
  "@popperjs/core": "^2.10.2"
25
27
  },
26
28
  "peerDependencies": {
27
- "vue": "^3.2.14",
29
+ "vue": "^3.2.40",
28
30
  "vue-i18n": "^9.2.0-beta.32"
29
31
  },
30
32
  "devDependencies": {
31
- "@types/jest": "^27.0.2",
33
+ "@types/markdown-it": "^12.2.3",
32
34
  "@types/node": "^16.10.3",
33
- "@typescript-eslint/eslint-plugin": "^4.31.1",
34
- "@typescript-eslint/parser": "^4.31.1",
35
- "@vitejs/plugin-vue": "^1.9.3",
36
- "@vue/test-utils": "^2.0.0",
37
- "@vue/vue3-jest": "^27.0.0",
35
+ "@types/micromatch": "^4.0.2",
36
+ "@typescript-eslint/eslint-plugin": "^5.47.1",
37
+ "@typescript-eslint/parser": "^5.47.1",
38
+ "@vitejs/plugin-vue": "^4.0.0",
39
+ "@vitest/coverage-c8": "^0.26.2",
40
+ "@vue/repl": "^1.3.2",
41
+ "@vue/test-utils": "^2.2.6",
38
42
  "@vueuse/core": "^8.2.5",
39
- "autoprefixer": "^10.3.7",
43
+ "utility-types": "^3.10.0",
44
+ "autoprefixer": "^10.4.12",
40
45
  "bumpp": "^7.1.1",
46
+ "c8": "^7.11.0",
41
47
  "chokidar": "^3.5.3",
42
48
  "clipboard-copy": "^4.0.1",
43
- "concurrently": "^7.0.0",
44
- "eslint": "^7.32.0",
45
- "eslint-config-airbnb-base": "^14.2.1",
46
- "eslint-config-prettier": "^8.3.0",
49
+ "eslint": "^8.28.0",
50
+ "eslint-config-airbnb-base": "^15.0.0",
51
+ "eslint-config-prettier": "^8.5.0",
47
52
  "eslint-import-resolver-alias": "^1.1.2",
48
53
  "eslint-import-resolver-node": "^0.3.6",
49
- "eslint-plugin-import": "^2.24.2",
50
- "eslint-plugin-markdown": "^2.2.1",
51
- "eslint-plugin-vue": "^7.18.0",
52
- "identity-obj-proxy": "^3.0.0",
53
- "jest": "^27.2.5",
54
- "jest-environment-jsdom": "^27.2.5",
55
- "jest-junit": "^13.0.0",
56
- "json5": "^2.2.0",
54
+ "eslint-plugin-import": "^2.26.0",
55
+ "eslint-plugin-markdown": "^3.0.0",
56
+ "eslint-plugin-vue": "^9.8.0",
57
+ "jsdom": "^20.0.3",
58
+ "json5": "^2.2.3",
57
59
  "lint-staged": "^11.2.1",
58
60
  "lodash-unified": "^1.0.2",
61
+ "markdown-it": "^13.0.1",
62
+ "micromatch": "^4.0.5",
59
63
  "normalize.css": "^8.0.1",
60
- "postcss": "^8.3.9",
64
+ "postcss": "^8.4.18",
65
+ "postcss-prefix-selector": "^1.16.0",
61
66
  "prettier": "^2.4.1",
62
67
  "resize-observer-polyfill": "^1.5.1",
63
68
  "rollup-plugin-copy": "^3.4.0",
@@ -67,18 +72,17 @@
67
72
  "stylelint-config-sass-guidelines": "^8.0.0",
68
73
  "stylelint-config-standard": "^22.0.0",
69
74
  "stylelint-order": "^4.1.0",
70
- "tailwindcss": "^2.2.16",
71
- "ts-jest": "^27.0.5",
72
- "tslib": "^2.3.1",
73
- "typescript": "~4.4.3",
74
- "vite": "^2.6.3",
75
+ "tailwindcss": "~3.2.0",
76
+ "tslib": "^2.4.1",
77
+ "typescript": "^4.9.4",
78
+ "vite": "^4.0.3",
75
79
  "vite-plugin-svg-icons": "^2.0.1",
76
- "vitepress": "^0.20.0",
77
- "vue": "^3.2.14",
78
- "vue-eslint-parser": "^7.11.0",
79
- "vue-jest": "^5.0.0-alpha.10",
80
+ "vitepress": "^1.0.0-alpha.33",
81
+ "vitest": "^0.26.2",
82
+ "vue": "^3.2.40",
83
+ "vue-eslint-parser": "^9.1.0",
80
84
  "vue-router": "^4.0.0-0",
81
- "vue-tsc": "^0.31.2",
85
+ "vue-tsc": "^1.0.18",
82
86
  "yorkie": "^2.0.0"
83
87
  },
84
88
  "gitHooks": {
@@ -90,11 +94,15 @@
90
94
  },
91
95
  "files": [
92
96
  "dist",
93
- "volar.d.ts"
97
+ "volar.d.ts",
98
+ "scripts/transform-variable.mjs"
94
99
  ],
95
100
  "main": "./dist/dao-style.umd.js",
96
101
  "module": "./dist/dao-style.es.js",
97
102
  "types": "./dist/index.d.ts",
103
+ "workspaces": [
104
+ "docs"
105
+ ],
98
106
  "exports": {
99
107
  ".": {
100
108
  "import": "./dist/dao-style.es.js",
@@ -0,0 +1,160 @@
1
+ /* eslint-disable @typescript-eslint/no-explicit-any */
2
+ import { kebabCase } from 'lodash-unified';
3
+ import JSON5 from 'json5';
4
+ import { readFileSync, writeFileSync } from 'fs';
5
+ import micromatch from 'micromatch';
6
+
7
+ const VARIABLE_IDENTIFIER = '$';
8
+
9
+ export function hexToRgb(hex) {
10
+ // Expand shorthand form (e.g. "03F") to full form (e.g. "0033FF")
11
+ const shorthandRegex = /^#?([a-f\d])([a-f\d])([a-f\d])$/i;
12
+ const parsedHex = hex.replace(shorthandRegex, (m, r, g, b) => r + r + g + g + b + b);
13
+
14
+ const result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(parsedHex);
15
+ return result ? {
16
+ r: parseInt(result[1], 16),
17
+ g: parseInt(result[2], 16),
18
+ b: parseInt(result[3], 16),
19
+ } : null;
20
+ }
21
+
22
+ export function parse(key, val) {
23
+ const rst = {
24
+ id: key,
25
+ name: kebabCase(key),
26
+ type: 'constant',
27
+ value: val,
28
+ };
29
+ if (val.startsWith(VARIABLE_IDENTIFIER)) {
30
+ rst.type = 'variable';
31
+ rst.value = val.slice(1);
32
+ }
33
+ return rst;
34
+ }
35
+
36
+ /**
37
+ *
38
+ * @param {JSON} data {color: {1000: 'xxx'}, color2: 'xxx'}
39
+ */
40
+ export function transformSpec(data, result, parentKey = '') {
41
+ const keyList = Object.keys(data);
42
+ const rst = result || {};
43
+ keyList.forEach((key) => {
44
+ const val = data[key];
45
+
46
+ let keyAfterParsed = key;
47
+ if (parentKey) {
48
+ keyAfterParsed = `${parentKey}.${keyAfterParsed}`;
49
+ }
50
+
51
+ if (typeof val === 'object') {
52
+ transformSpec(val, rst, keyAfterParsed);
53
+ } else {
54
+ rst[keyAfterParsed] = parse(keyAfterParsed, val);
55
+ }
56
+ });
57
+
58
+ return rst;
59
+ }
60
+
61
+ export function renderSCSSAndCSSVariable(data) {
62
+ const values = Object.values(data.content);
63
+
64
+ const declareContent = `/* DON'T MODIFY THIS FILE! */\n/* Auto generated css and scss from ${data.meta?.from}. */\n`;
65
+
66
+ const importList = [];
67
+
68
+ if (data.meta.extend) {
69
+ let { extend } = data.meta;
70
+ if (!Array.isArray(extend)) {
71
+ extend = [extend];
72
+ }
73
+
74
+ extend.forEach((item) => {
75
+ importList.push(`@import './${item}.scss';\n`);
76
+ });
77
+ }
78
+
79
+ const importContent = importList.join('\n');
80
+
81
+ const cssContentList = values.map((content) => {
82
+ let str = ` --dao-${content.name}: `;
83
+
84
+ if (content.type === 'variable') {
85
+ str += `var(--dao-${kebabCase(content.value)})`;
86
+ } else {
87
+ str += content.value;
88
+ }
89
+
90
+ str += ';\n';
91
+
92
+ str += ` --dao-${content.name}-rgb: `;
93
+
94
+ if (content.type === 'variable') {
95
+ str += `var(--dao-${kebabCase(content.value)}-rgb)`;
96
+ } else {
97
+ const rgb = hexToRgb(content.value);
98
+ str += `${rgb?.r}, ${rgb?.g}, ${rgb?.b}`;
99
+ }
100
+ str += ';';
101
+
102
+ return str;
103
+ });
104
+ cssContentList.unshift(':root, :host {');
105
+ cssContentList.push('}\n');
106
+
107
+ const cssContent = cssContentList.join('\n');
108
+
109
+ const scssContentList = values.map((content) => {
110
+ let str = `$dao-${content.name}: `;
111
+
112
+ if (content.type === 'variable') {
113
+ str += `$dao-${kebabCase(content.value)}`;
114
+ } else {
115
+ str += content.value;
116
+ }
117
+
118
+ str += ';';
119
+
120
+ return str;
121
+ });
122
+
123
+ scssContentList.push('\n');
124
+ const scssContent = scssContentList.join('\n');
125
+
126
+ return {
127
+ filename: `${data.meta.name}.scss`,
128
+ content: declareContent + importContent + cssContent + scssContent,
129
+ origin: data,
130
+ };
131
+ }
132
+
133
+ export const transformVariable = () => ({
134
+ name: 'generate-css-variable',
135
+ load(id) {
136
+ if (micromatch.isMatch(id, '**/styles/color/*.json')) {
137
+ const content = readFileSync(id).toString();
138
+ const parsedContent = JSON5.parse(content);
139
+ if (!parsedContent.meta) {
140
+ parsedContent.meta = {};
141
+ }
142
+ parsedContent.meta.from = id;
143
+ const filename = (micromatch.capture('**/styles/color/*.json', id) ?? [])[1];
144
+ if (!parsedContent.meta.name) {
145
+ parsedContent.meta.name = filename;
146
+ }
147
+
148
+ const parseSpec = {
149
+ meta: parsedContent.meta,
150
+ content: transformSpec(parsedContent.spec),
151
+ _origin: parsedContent,
152
+ };
153
+ const dataPreparedToWrite = renderSCSSAndCSSVariable(parseSpec);
154
+
155
+ const parsedFileName = id.replace(`${filename}.json`, `${filename}.scss`);
156
+
157
+ writeFileSync(parsedFileName, dataPreparedToWrite.content);
158
+ }
159
+ },
160
+ });
package/volar.d.ts CHANGED
@@ -1,57 +1,58 @@
1
1
  // Auto generated component declarations
2
2
  declare module 'vue' {
3
3
  export interface GlobalComponents {
4
- DaoActionIcon: typeof import('@dao-style/core')['ActionIcon']
5
- DaoDaoBatchBar: typeof import('@dao-style/core')['DaoBatchBar']
4
+ DaoActionIcon: typeof import('@dao-style/core')['DaoActionIcon']
5
+ DaoBatchBar: typeof import('@dao-style/core')['BatchBar']
6
6
  DaoBreadcrumb: typeof import('@dao-style/core')['Breadcrumb']
7
7
  DaoBreadcrumbItem: typeof import('@dao-style/core')['BreadcrumbItem']
8
- DaoButton: typeof import('@dao-style/core')['Button']
9
- DaoButtonGroup: typeof import('@dao-style/core')['ButtonGroup']
10
- DaoCard: typeof import('@dao-style/core')['Card']
11
- DaoCardItem: typeof import('@dao-style/core')['CardItem']
12
- DaoCheckbox: typeof import('@dao-style/core')['Checkbox']
13
- DaoCheckboxGroup: typeof import('@dao-style/core')['CheckboxGroup']
14
- DaoDialog: typeof import('@dao-style/core')['Dialog']
15
- DaoDialogFooter: typeof import('@dao-style/core')['DialogFooter']
16
- DaoDialogHeader: typeof import('@dao-style/core')['DialogHeader']
17
- DaoDrawer: typeof import('@dao-style/core')['Drawer']
18
- DaoDropdown: typeof import('@dao-style/core')['Dropdown']
19
- DaoDropdownMenu: typeof import('@dao-style/core')['DropdownMenu']
20
- DaoDropdownItem: typeof import('@dao-style/core')['DropdownItem']
21
- DaoDaoEllipsis: typeof import('@dao-style/core')['DaoEllipsis']
22
- DaoDaoEmpty: typeof import('@dao-style/core')['DaoEmpty']
23
- DaoExpansion: typeof import('@dao-style/core')['Expansion']
24
- DaoExpansionItem: typeof import('@dao-style/core')['ExpansionItem']
25
- DaoForm: typeof import('@dao-style/core')['Form']
26
- DaoFormItem: typeof import('@dao-style/core')['FormItem']
27
- DaoFormGroup: typeof import('@dao-style/core')['FormGroup']
28
- DaoErrorText: typeof import('@dao-style/core')['ErrorText']
29
- DaoHelperText: typeof import('@dao-style/core')['HelperText']
30
- DaoHeader: typeof import('@dao-style/core')['Header']
31
- DaoIcon: typeof import('@dao-style/core')['Icon']
32
- DaoInput: typeof import('@dao-style/core')['Input']
33
- DaoMessage: typeof import('@dao-style/core')['Message']
34
- DaoNav: typeof import('@dao-style/core')['Nav']
35
- DaoNavHead: typeof import('@dao-style/core')['NavHead']
36
- DaoNavItem: typeof import('@dao-style/core')['NavItem']
37
- DaoNavSub: typeof import('@dao-style/core')['NavSub']
38
- DaoPagination: typeof import('@dao-style/core')['Pagination']
39
- DaoPopover: typeof import('@dao-style/core')['Popover']
40
- DaoPopper: typeof import('@dao-style/core')['Popper']
41
- DaoProgress: typeof import('@dao-style/core')['Progress']
42
- DaoRadio: typeof import('@dao-style/core')['Radio']
43
- DaoRadioGroup: typeof import('@dao-style/core')['RadioGroup']
44
- DaoSelect: typeof import('@dao-style/core')['Select']
45
- DaoOption: typeof import('@dao-style/core')['Option']
46
- DaoSwitch: typeof import('@dao-style/core')['Switch']
8
+ DaoButton: typeof import('@dao-style/core')['DaoButton']
9
+ DaoButtonGroup: typeof import('@dao-style/core')['DaoButtonGroup']
10
+ DaoCard: typeof import('@dao-style/core')['DaoCard']
11
+ DaoCardItem: typeof import('@dao-style/core')['DaoCardItem']
12
+ DaoCheckbox: typeof import('@dao-style/core')['DaoCheckbox']
13
+ DaoCheckboxGroup: typeof import('@dao-style/core')['DaoCheckboxGroup']
14
+ DaoDialog: typeof import('@dao-style/core')['DaoDialog']
15
+ DaoDialogFooter: typeof import('@dao-style/core')['DaoDialogFooter']
16
+ DaoDialogHeader: typeof import('@dao-style/core')['DaoDialogHeader']
17
+ DaoDrawer: typeof import('@dao-style/core')['DaoDrawer']
18
+ DaoDropdown: typeof import('@dao-style/core')['DaoDropdown']
19
+ DaoDropdownMenu: typeof import('@dao-style/core')['DaoDropdownMenu']
20
+ DaoDropdownItem: typeof import('@dao-style/core')['DaoDropdownItem']
21
+ DaoEllipsis: typeof import('@dao-style/core')['DaoEllipsis']
22
+ DaoDaoEllipsis: typeof import('@dao-style/core')['DaoDaoEllipsis']
23
+ DaoEmpty: typeof import('@dao-style/core')['DaoEmpty']
24
+ DaoExpansion: typeof import('@dao-style/core')['DaoExpansion']
25
+ DaoExpansionItem: typeof import('@dao-style/core')['DaoExpansionItem']
26
+ DaoForm: typeof import('@dao-style/core')['DaoForm']
27
+ DaoFormItem: typeof import('@dao-style/core')['DaoFormItem']
28
+ DaoFormGroup: typeof import('@dao-style/core')['DaoFormGroup']
29
+ DaoErrorText: typeof import('@dao-style/core')['DaoErrorText']
30
+ DaoHelperText: typeof import('@dao-style/core')['DaoHelperText']
31
+ DaoHeader: typeof import('@dao-style/core')['DaoHeader']
32
+ DaoIcon: typeof import('@dao-style/core')['DaoIcon']
33
+ DaoInput: typeof import('@dao-style/core')['DaoInput']
34
+ DaoMessage: typeof import('@dao-style/core')['DaoMessage']
35
+ DaoNav: typeof import('@dao-style/core')['DaoNav']
36
+ DaoNavHead: typeof import('@dao-style/core')['DaoNavHead']
37
+ DaoNavItem: typeof import('@dao-style/core')['DaoNavItem']
38
+ DaoNavSub: typeof import('@dao-style/core')['DaoNavSub']
39
+ DaoPagination: typeof import('@dao-style/core')['DaoPagination']
40
+ DaoPopover: typeof import('@dao-style/core')['DaoPopover']
41
+ DaoPopper: typeof import('@dao-style/core')['DaoPopper']
42
+ DaoProgress: typeof import('@dao-style/core')['DaoProgress']
43
+ DaoRadio: typeof import('@dao-style/core')['DaoRadio']
44
+ DaoRadioGroup: typeof import('@dao-style/core')['DaoRadioGroup']
45
+ DaoSelect: typeof import('@dao-style/core')['DaoSelect']
46
+ DaoOption: typeof import('@dao-style/core')['DaoOption']
47
+ DaoSwitch: typeof import('@dao-style/core')['DaoSwitch']
47
48
  DaoTable: typeof import('@dao-style/core')['Table']
48
- DaoTabs: typeof import('@dao-style/core')['Tabs']
49
- DaoTabNav: typeof import('@dao-style/core')['TabNav']
50
- DaoTabItem: typeof import('@dao-style/core')['TabItem']
51
- DaoTag: typeof import('@dao-style/core')['Tag']
49
+ DaoTabs: typeof import('@dao-style/core')['DaoTabs']
50
+ DaoTabNav: typeof import('@dao-style/core')['DaoTabNav']
51
+ DaoTabItem: typeof import('@dao-style/core')['DaoTabItem']
52
+ DaoTag: typeof import('@dao-style/core')['DaoTag']
52
53
  DaoTextButton: typeof import('@dao-style/core')['TextButton']
53
- DaoToolbar: typeof import('@dao-style/core')['Toolbar']
54
- DaoTooltip: typeof import('@dao-style/core')['Tooltip']
54
+ DaoToolbar: typeof import('@dao-style/core')['DaoToolbar']
55
+ DaoTooltip: typeof import('@dao-style/core')['DaoTooltip']
55
56
  DaoTransfer: typeof import('@dao-style/core')['Transfer']
56
57
  DaoTransferPanel: typeof import('@dao-style/core')['TransferPanel']
57
58
  }
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- import '@vue/runtime-core';
@@ -1 +0,0 @@
1
- import '@vue/runtime-core';
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- import '@vue/runtime-core';
@@ -1 +0,0 @@
1
- export {};