@ditari/bsui 1.1.47 → 5.0.1

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 (487) hide show
  1. package/CHANGELOG.md +2 -291
  2. package/dist/cjs/components/index.cjs +17 -0
  3. package/dist/cjs/components/index.cjs.map +1 -0
  4. package/dist/cjs/components/index.d.ts +3 -0
  5. package/dist/cjs/components/layout/index.cjs +17 -0
  6. package/dist/cjs/components/layout/index.cjs.map +1 -0
  7. package/dist/cjs/components/layout/index.d.ts +3 -0
  8. package/dist/cjs/components/layout/list.cjs +168 -0
  9. package/dist/cjs/components/layout/list.cjs.map +1 -0
  10. package/dist/cjs/components/layout/list.d.ts +5 -0
  11. package/dist/cjs/components/layout/show.cjs +24 -0
  12. package/dist/cjs/components/layout/show.cjs.map +1 -0
  13. package/dist/cjs/components/layout/show.d.ts +5 -0
  14. package/dist/cjs/components/tab/Tab.vue.cjs +10 -0
  15. package/dist/cjs/components/tab/Tab.vue.cjs.map +1 -0
  16. package/dist/cjs/components/tab/Tab.vue.d.ts +22 -0
  17. package/dist/cjs/components/tab/Tab.vue2.cjs +184 -0
  18. package/dist/cjs/components/tab/Tab.vue2.cjs.map +1 -0
  19. package/dist/cjs/components/tab/index.cjs +13 -0
  20. package/dist/cjs/components/tab/index.cjs.map +1 -0
  21. package/dist/cjs/components/tab/index.d.ts +2 -0
  22. package/dist/cjs/components/table/index.cjs +14 -0
  23. package/dist/cjs/components/table/index.cjs.map +1 -0
  24. package/dist/cjs/components/table/index.d.ts +3 -0
  25. package/dist/cjs/components/table/interface.cjs +3 -0
  26. package/dist/cjs/components/table/interface.cjs.map +1 -0
  27. package/dist/cjs/components/table/interface.d.ts +45 -0
  28. package/dist/cjs/components/table/table.cjs +393 -0
  29. package/dist/cjs/components/table/table.cjs.map +1 -0
  30. package/dist/cjs/components/table/table.d.ts +136 -0
  31. package/dist/cjs/index.cjs +17 -43
  32. package/dist/cjs/index.cjs.map +1 -1
  33. package/dist/cjs/index.d.ts +2 -10
  34. package/dist/css/components/tab/style/index.css +159 -0
  35. package/dist/css/index.css +159 -1
  36. package/dist/esm/components/index.d.ts +3 -0
  37. package/dist/esm/components/index.mjs +8 -0
  38. package/dist/esm/components/index.mjs.map +1 -0
  39. package/dist/esm/components/layout/index.d.ts +3 -0
  40. package/dist/esm/components/layout/index.mjs +14 -0
  41. package/dist/esm/components/layout/index.mjs.map +1 -0
  42. package/dist/esm/components/layout/list.d.ts +5 -0
  43. package/dist/esm/components/layout/list.mjs +164 -0
  44. package/dist/esm/components/layout/list.mjs.map +1 -0
  45. package/dist/esm/components/layout/show.d.ts +5 -0
  46. package/dist/esm/components/layout/show.mjs +20 -0
  47. package/dist/esm/components/layout/show.mjs.map +1 -0
  48. package/dist/esm/components/tab/Tab.vue.d.ts +22 -0
  49. package/dist/esm/components/tab/Tab.vue.mjs +6 -0
  50. package/dist/esm/components/tab/Tab.vue.mjs.map +1 -0
  51. package/dist/esm/components/tab/Tab.vue2.mjs +180 -0
  52. package/dist/esm/components/tab/Tab.vue2.mjs.map +1 -0
  53. package/dist/esm/components/tab/index.d.ts +2 -0
  54. package/dist/esm/components/tab/index.mjs +9 -0
  55. package/dist/esm/components/tab/index.mjs.map +1 -0
  56. package/dist/esm/components/table/index.d.ts +3 -0
  57. package/dist/esm/components/table/index.mjs +9 -0
  58. package/dist/esm/components/table/index.mjs.map +1 -0
  59. package/dist/esm/components/table/interface.d.ts +45 -0
  60. package/dist/esm/components/table/interface.mjs +2 -0
  61. package/dist/esm/components/table/interface.mjs.map +1 -0
  62. package/dist/esm/components/table/table.d.ts +136 -0
  63. package/dist/esm/components/table/table.mjs +387 -0
  64. package/dist/esm/components/table/table.mjs.map +1 -0
  65. package/dist/esm/index.d.ts +2 -10
  66. package/dist/esm/index.mjs +13 -30
  67. package/dist/esm/index.mjs.map +1 -1
  68. package/dist/style/index.scss +1 -19
  69. package/dist/style/tab/style/index.scss +176 -0
  70. package/package.json +3 -23
  71. package/src/components/index.ts +4 -0
  72. package/src/components/layout/index.ts +15 -0
  73. package/src/components/layout/list.tsx +137 -0
  74. package/src/components/layout/show.tsx +13 -0
  75. package/src/components/readme.md +4 -0
  76. package/src/components/tab/Tab.vue +105 -0
  77. package/src/components/tab/index.ts +9 -0
  78. package/src/components/tab/style/index.scss +176 -0
  79. package/src/components/table/index.ts +10 -0
  80. package/src/components/table/interface.ts +59 -0
  81. package/src/components/table/table.tsx +491 -0
  82. package/src/index.scss +1 -19
  83. package/src/index.ts +31 -50
  84. package/tsconfig.app.json +29 -0
  85. package/tsconfig.json +7 -0
  86. package/tsconfig.node.json +27 -0
  87. package/vite.config.ts +43 -0
  88. package/dist/cjs/_utils/html.cjs +0 -20
  89. package/dist/cjs/_utils/html.cjs.map +0 -1
  90. package/dist/cjs/_utils/html.d.ts +0 -1
  91. package/dist/cjs/_utils/install.cjs +0 -14
  92. package/dist/cjs/_utils/install.cjs.map +0 -1
  93. package/dist/cjs/_utils/install.d.ts +0 -4
  94. package/dist/cjs/_virtual/_plugin-vue_export-helper.cjs +0 -14
  95. package/dist/cjs/_virtual/_plugin-vue_export-helper.cjs.map +0 -1
  96. package/dist/cjs/components.cjs +0 -42
  97. package/dist/cjs/components.cjs.map +0 -1
  98. package/dist/cjs/components.d.ts +0 -10
  99. package/dist/cjs/config/Config.vue.cjs +0 -14
  100. package/dist/cjs/config/Config.vue.cjs.map +0 -1
  101. package/dist/cjs/config/Config.vue.d.ts +0 -4
  102. package/dist/cjs/config/Config.vue2.cjs +0 -10
  103. package/dist/cjs/config/Config.vue2.cjs.map +0 -1
  104. package/dist/cjs/date/RangePicker.cjs +0 -98
  105. package/dist/cjs/date/RangePicker.cjs.map +0 -1
  106. package/dist/cjs/date/RangePicker.d.ts +0 -44
  107. package/dist/cjs/date/index.cjs +0 -13
  108. package/dist/cjs/date/index.cjs.map +0 -1
  109. package/dist/cjs/date/index.d.ts +0 -2
  110. package/dist/cjs/desensitize/Desensitize.cjs +0 -86
  111. package/dist/cjs/desensitize/Desensitize.cjs.map +0 -1
  112. package/dist/cjs/desensitize/Desensitize.d.ts +0 -57
  113. package/dist/cjs/desensitize/index.cjs +0 -13
  114. package/dist/cjs/desensitize/index.cjs.map +0 -1
  115. package/dist/cjs/desensitize/index.d.ts +0 -2
  116. package/dist/cjs/dic/DicReplace.cjs +0 -39
  117. package/dist/cjs/dic/DicReplace.cjs.map +0 -1
  118. package/dist/cjs/dic/DicReplace.d.ts +0 -23
  119. package/dist/cjs/dic/index.cjs +0 -13
  120. package/dist/cjs/dic/index.cjs.map +0 -1
  121. package/dist/cjs/dic/index.d.ts +0 -2
  122. package/dist/cjs/dic/replace.worker.cjs +0 -16
  123. package/dist/cjs/dic/replace.worker.cjs.map +0 -1
  124. package/dist/cjs/dic/replace.worker.d.ts +0 -4
  125. package/dist/cjs/form/DQueryForm.cjs +0 -202
  126. package/dist/cjs/form/DQueryForm.cjs.map +0 -1
  127. package/dist/cjs/form/DQueryForm.d.ts +0 -48
  128. package/dist/cjs/form/index.cjs +0 -13
  129. package/dist/cjs/form/index.cjs.map +0 -1
  130. package/dist/cjs/form/index.d.ts +0 -2
  131. package/dist/cjs/grid/Grid.cjs +0 -71
  132. package/dist/cjs/grid/Grid.cjs.map +0 -1
  133. package/dist/cjs/grid/Grid.d.ts +0 -32
  134. package/dist/cjs/grid/GridItem.cjs +0 -21
  135. package/dist/cjs/grid/GridItem.cjs.map +0 -1
  136. package/dist/cjs/grid/GridItem.d.ts +0 -2
  137. package/dist/cjs/grid/index.cjs +0 -16
  138. package/dist/cjs/grid/index.cjs.map +0 -1
  139. package/dist/cjs/grid/index.d.ts +0 -144
  140. package/dist/cjs/json-scheme-render/JsonSchemeRender.cjs +0 -94
  141. package/dist/cjs/json-scheme-render/JsonSchemeRender.cjs.map +0 -1
  142. package/dist/cjs/json-scheme-render/JsonSchemeRender.d.ts +0 -23
  143. package/dist/cjs/json-scheme-render/index.cjs +0 -13
  144. package/dist/cjs/json-scheme-render/index.cjs.map +0 -1
  145. package/dist/cjs/json-scheme-render/index.d.ts +0 -2
  146. package/dist/cjs/layout/Breadcrumb.vue.cjs +0 -11
  147. package/dist/cjs/layout/Breadcrumb.vue.cjs.map +0 -1
  148. package/dist/cjs/layout/Breadcrumb.vue.d.ts +0 -12
  149. package/dist/cjs/layout/Breadcrumb.vue2.cjs +0 -73
  150. package/dist/cjs/layout/Breadcrumb.vue2.cjs.map +0 -1
  151. package/dist/cjs/layout/FuckMain.vue.cjs +0 -11
  152. package/dist/cjs/layout/FuckMain.vue.cjs.map +0 -1
  153. package/dist/cjs/layout/FuckMain.vue.d.ts +0 -152
  154. package/dist/cjs/layout/FuckMain.vue2.cjs +0 -150
  155. package/dist/cjs/layout/FuckMain.vue2.cjs.map +0 -1
  156. package/dist/cjs/layout/List.vue.cjs +0 -11
  157. package/dist/cjs/layout/List.vue.cjs.map +0 -1
  158. package/dist/cjs/layout/List.vue.d.ts +0 -52
  159. package/dist/cjs/layout/List.vue2.cjs +0 -179
  160. package/dist/cjs/layout/List.vue2.cjs.map +0 -1
  161. package/dist/cjs/layout/Main.vue.cjs +0 -11
  162. package/dist/cjs/layout/Main.vue.cjs.map +0 -1
  163. package/dist/cjs/layout/Main.vue.d.ts +0 -163
  164. package/dist/cjs/layout/Main.vue2.cjs +0 -160
  165. package/dist/cjs/layout/Main.vue2.cjs.map +0 -1
  166. package/dist/cjs/layout/NavTabs.vue.cjs +0 -11
  167. package/dist/cjs/layout/NavTabs.vue.cjs.map +0 -1
  168. package/dist/cjs/layout/NavTabs.vue.d.ts +0 -82
  169. package/dist/cjs/layout/NavTabs.vue2.cjs +0 -134
  170. package/dist/cjs/layout/NavTabs.vue2.cjs.map +0 -1
  171. package/dist/cjs/layout/Show.vue.cjs +0 -11
  172. package/dist/cjs/layout/Show.vue.cjs.map +0 -1
  173. package/dist/cjs/layout/Show.vue.d.ts +0 -128
  174. package/dist/cjs/layout/Show.vue2.cjs +0 -131
  175. package/dist/cjs/layout/Show.vue2.cjs.map +0 -1
  176. package/dist/cjs/layout/index.cjs +0 -29
  177. package/dist/cjs/layout/index.cjs.map +0 -1
  178. package/dist/cjs/layout/index.d.ts +0 -5
  179. package/dist/cjs/menu/Menu.cjs +0 -134
  180. package/dist/cjs/menu/Menu.cjs.map +0 -1
  181. package/dist/cjs/menu/Menu.d.ts +0 -2
  182. package/dist/cjs/modal/Modal.cjs +0 -79
  183. package/dist/cjs/modal/Modal.cjs.map +0 -1
  184. package/dist/cjs/modal/Modal.d.ts +0 -43
  185. package/dist/cjs/modal/index.cjs +0 -13
  186. package/dist/cjs/modal/index.cjs.map +0 -1
  187. package/dist/cjs/modal/index.d.ts +0 -2
  188. package/dist/cjs/select/Select.vue.cjs +0 -11
  189. package/dist/cjs/select/Select.vue.cjs.map +0 -1
  190. package/dist/cjs/select/Select.vue.d.ts +0 -80
  191. package/dist/cjs/select/Select.vue2.cjs +0 -103
  192. package/dist/cjs/select/Select.vue2.cjs.map +0 -1
  193. package/dist/cjs/select/dic.worker.cjs +0 -26
  194. package/dist/cjs/select/dic.worker.cjs.map +0 -1
  195. package/dist/cjs/select/dic.worker.d.ts +0 -4
  196. package/dist/cjs/select/index.cjs +0 -13
  197. package/dist/cjs/select/index.cjs.map +0 -1
  198. package/dist/cjs/select/index.d.ts +0 -2
  199. package/dist/cjs/table/Field.vue.cjs +0 -11
  200. package/dist/cjs/table/Field.vue.cjs.map +0 -1
  201. package/dist/cjs/table/Field.vue.d.ts +0 -33
  202. package/dist/cjs/table/Field.vue2.cjs +0 -50
  203. package/dist/cjs/table/Field.vue2.cjs.map +0 -1
  204. package/dist/cjs/table/Table.cjs +0 -391
  205. package/dist/cjs/table/Table.cjs.map +0 -1
  206. package/dist/cjs/table/Table.d.ts +0 -85
  207. package/dist/cjs/table/index.cjs +0 -13
  208. package/dist/cjs/table/index.cjs.map +0 -1
  209. package/dist/cjs/table/index.d.ts +0 -2
  210. package/dist/cjs/table/interface/table.cjs +0 -3
  211. package/dist/cjs/table/interface/table.cjs.map +0 -1
  212. package/dist/cjs/table/interface/table.d.ts +0 -41
  213. package/dist/cjs/theme/index.cjs +0 -6
  214. package/dist/cjs/theme/index.cjs.map +0 -1
  215. package/dist/cjs/theme/index.d.ts +0 -1
  216. package/dist/css/desensitize/style/index.css +0 -1
  217. package/dist/css/grid/style/index.css +0 -1
  218. package/dist/css/layout/style/breadcrumb.css +0 -1
  219. package/dist/css/layout/style/fuckmain.css +0 -1
  220. package/dist/css/layout/style/index.css +0 -1
  221. package/dist/css/layout/style/list.css +0 -1
  222. package/dist/css/layout/style/main.css +0 -1
  223. package/dist/css/layout/style/navtab.css +0 -1
  224. package/dist/css/layout/style/show.css +0 -1
  225. package/dist/css/menu/style/index.css +0 -1
  226. package/dist/css/modal/style/index.css +0 -1
  227. package/dist/css/table/style/index.css +0 -1
  228. package/dist/esm/_utils/html.d.ts +0 -1
  229. package/dist/esm/_utils/html.mjs +0 -18
  230. package/dist/esm/_utils/html.mjs.map +0 -1
  231. package/dist/esm/_utils/install.d.ts +0 -4
  232. package/dist/esm/_utils/install.mjs +0 -10
  233. package/dist/esm/_utils/install.mjs.map +0 -1
  234. package/dist/esm/_virtual/_plugin-vue_export-helper.mjs +0 -10
  235. package/dist/esm/_virtual/_plugin-vue_export-helper.mjs.map +0 -1
  236. package/dist/esm/components.d.ts +0 -10
  237. package/dist/esm/components.mjs +0 -24
  238. package/dist/esm/components.mjs.map +0 -1
  239. package/dist/esm/config/Config.vue.d.ts +0 -4
  240. package/dist/esm/config/Config.vue.mjs +0 -10
  241. package/dist/esm/config/Config.vue.mjs.map +0 -1
  242. package/dist/esm/config/Config.vue2.mjs +0 -6
  243. package/dist/esm/config/Config.vue2.mjs.map +0 -1
  244. package/dist/esm/date/RangePicker.d.ts +0 -44
  245. package/dist/esm/date/RangePicker.mjs +0 -94
  246. package/dist/esm/date/RangePicker.mjs.map +0 -1
  247. package/dist/esm/date/index.d.ts +0 -2
  248. package/dist/esm/date/index.mjs +0 -9
  249. package/dist/esm/date/index.mjs.map +0 -1
  250. package/dist/esm/desensitize/Desensitize.d.ts +0 -57
  251. package/dist/esm/desensitize/Desensitize.mjs +0 -82
  252. package/dist/esm/desensitize/Desensitize.mjs.map +0 -1
  253. package/dist/esm/desensitize/index.d.ts +0 -2
  254. package/dist/esm/desensitize/index.mjs +0 -9
  255. package/dist/esm/desensitize/index.mjs.map +0 -1
  256. package/dist/esm/dic/DicReplace.d.ts +0 -23
  257. package/dist/esm/dic/DicReplace.mjs +0 -35
  258. package/dist/esm/dic/DicReplace.mjs.map +0 -1
  259. package/dist/esm/dic/index.d.ts +0 -2
  260. package/dist/esm/dic/index.mjs +0 -9
  261. package/dist/esm/dic/index.mjs.map +0 -1
  262. package/dist/esm/dic/replace.worker.d.ts +0 -4
  263. package/dist/esm/dic/replace.worker.mjs +0 -14
  264. package/dist/esm/dic/replace.worker.mjs.map +0 -1
  265. package/dist/esm/form/DQueryForm.d.ts +0 -48
  266. package/dist/esm/form/DQueryForm.mjs +0 -198
  267. package/dist/esm/form/DQueryForm.mjs.map +0 -1
  268. package/dist/esm/form/index.d.ts +0 -2
  269. package/dist/esm/form/index.mjs +0 -9
  270. package/dist/esm/form/index.mjs.map +0 -1
  271. package/dist/esm/grid/Grid.d.ts +0 -32
  272. package/dist/esm/grid/Grid.mjs +0 -67
  273. package/dist/esm/grid/Grid.mjs.map +0 -1
  274. package/dist/esm/grid/GridItem.d.ts +0 -2
  275. package/dist/esm/grid/GridItem.mjs +0 -17
  276. package/dist/esm/grid/GridItem.mjs.map +0 -1
  277. package/dist/esm/grid/index.d.ts +0 -144
  278. package/dist/esm/grid/index.mjs +0 -11
  279. package/dist/esm/grid/index.mjs.map +0 -1
  280. package/dist/esm/json-scheme-render/JsonSchemeRender.d.ts +0 -23
  281. package/dist/esm/json-scheme-render/JsonSchemeRender.mjs +0 -90
  282. package/dist/esm/json-scheme-render/JsonSchemeRender.mjs.map +0 -1
  283. package/dist/esm/json-scheme-render/index.d.ts +0 -2
  284. package/dist/esm/json-scheme-render/index.mjs +0 -9
  285. package/dist/esm/json-scheme-render/index.mjs.map +0 -1
  286. package/dist/esm/layout/Breadcrumb.vue.d.ts +0 -12
  287. package/dist/esm/layout/Breadcrumb.vue.mjs +0 -7
  288. package/dist/esm/layout/Breadcrumb.vue.mjs.map +0 -1
  289. package/dist/esm/layout/Breadcrumb.vue2.mjs +0 -69
  290. package/dist/esm/layout/Breadcrumb.vue2.mjs.map +0 -1
  291. package/dist/esm/layout/FuckMain.vue.d.ts +0 -152
  292. package/dist/esm/layout/FuckMain.vue.mjs +0 -7
  293. package/dist/esm/layout/FuckMain.vue.mjs.map +0 -1
  294. package/dist/esm/layout/FuckMain.vue2.mjs +0 -146
  295. package/dist/esm/layout/FuckMain.vue2.mjs.map +0 -1
  296. package/dist/esm/layout/List.vue.d.ts +0 -52
  297. package/dist/esm/layout/List.vue.mjs +0 -7
  298. package/dist/esm/layout/List.vue.mjs.map +0 -1
  299. package/dist/esm/layout/List.vue2.mjs +0 -175
  300. package/dist/esm/layout/List.vue2.mjs.map +0 -1
  301. package/dist/esm/layout/Main.vue.d.ts +0 -163
  302. package/dist/esm/layout/Main.vue.mjs +0 -7
  303. package/dist/esm/layout/Main.vue.mjs.map +0 -1
  304. package/dist/esm/layout/Main.vue2.mjs +0 -156
  305. package/dist/esm/layout/Main.vue2.mjs.map +0 -1
  306. package/dist/esm/layout/NavTabs.vue.d.ts +0 -82
  307. package/dist/esm/layout/NavTabs.vue.mjs +0 -7
  308. package/dist/esm/layout/NavTabs.vue.mjs.map +0 -1
  309. package/dist/esm/layout/NavTabs.vue2.mjs +0 -130
  310. package/dist/esm/layout/NavTabs.vue2.mjs.map +0 -1
  311. package/dist/esm/layout/Show.vue.d.ts +0 -128
  312. package/dist/esm/layout/Show.vue.mjs +0 -7
  313. package/dist/esm/layout/Show.vue.mjs.map +0 -1
  314. package/dist/esm/layout/Show.vue2.mjs +0 -127
  315. package/dist/esm/layout/Show.vue2.mjs.map +0 -1
  316. package/dist/esm/layout/index.d.ts +0 -5
  317. package/dist/esm/layout/index.mjs +0 -24
  318. package/dist/esm/layout/index.mjs.map +0 -1
  319. package/dist/esm/menu/Menu.d.ts +0 -2
  320. package/dist/esm/menu/Menu.mjs +0 -130
  321. package/dist/esm/menu/Menu.mjs.map +0 -1
  322. package/dist/esm/modal/Modal.d.ts +0 -43
  323. package/dist/esm/modal/Modal.mjs +0 -75
  324. package/dist/esm/modal/Modal.mjs.map +0 -1
  325. package/dist/esm/modal/index.d.ts +0 -2
  326. package/dist/esm/modal/index.mjs +0 -9
  327. package/dist/esm/modal/index.mjs.map +0 -1
  328. package/dist/esm/select/Select.vue.d.ts +0 -80
  329. package/dist/esm/select/Select.vue.mjs +0 -7
  330. package/dist/esm/select/Select.vue.mjs.map +0 -1
  331. package/dist/esm/select/Select.vue2.mjs +0 -99
  332. package/dist/esm/select/Select.vue2.mjs.map +0 -1
  333. package/dist/esm/select/dic.worker.d.ts +0 -4
  334. package/dist/esm/select/dic.worker.mjs +0 -24
  335. package/dist/esm/select/dic.worker.mjs.map +0 -1
  336. package/dist/esm/select/index.d.ts +0 -2
  337. package/dist/esm/select/index.mjs +0 -9
  338. package/dist/esm/select/index.mjs.map +0 -1
  339. package/dist/esm/table/Field.vue.d.ts +0 -33
  340. package/dist/esm/table/Field.vue.mjs +0 -7
  341. package/dist/esm/table/Field.vue.mjs.map +0 -1
  342. package/dist/esm/table/Field.vue2.mjs +0 -46
  343. package/dist/esm/table/Field.vue2.mjs.map +0 -1
  344. package/dist/esm/table/Table.d.ts +0 -85
  345. package/dist/esm/table/Table.mjs +0 -387
  346. package/dist/esm/table/Table.mjs.map +0 -1
  347. package/dist/esm/table/index.d.ts +0 -2
  348. package/dist/esm/table/index.mjs +0 -9
  349. package/dist/esm/table/index.mjs.map +0 -1
  350. package/dist/esm/table/interface/table.d.ts +0 -41
  351. package/dist/esm/table/interface/table.mjs +0 -2
  352. package/dist/esm/table/interface/table.mjs.map +0 -1
  353. package/dist/esm/theme/index.d.ts +0 -1
  354. package/dist/esm/theme/index.mjs +0 -4
  355. package/dist/esm/theme/index.mjs.map +0 -1
  356. package/dist/style/desensitize/style/index.scss +0 -8
  357. package/dist/style/grid/style/index.scss +0 -70
  358. package/dist/style/layout/style/breadcrumb.scss +0 -61
  359. package/dist/style/layout/style/fuckmain.scss +0 -21
  360. package/dist/style/layout/style/index.scss +0 -35
  361. package/dist/style/layout/style/list.scss +0 -26
  362. package/dist/style/layout/style/main.scss +0 -74
  363. package/dist/style/layout/style/navtab.scss +0 -146
  364. package/dist/style/layout/style/show.scss +0 -50
  365. package/dist/style/menu/style/index.scss +0 -26
  366. package/dist/style/modal/style/index.scss +0 -74
  367. package/dist/style/table/style/index.scss +0 -10
  368. package/dist/style/theme/theme.scss +0 -1
  369. package/dist/style/theme/variable.scss +0 -67
  370. package/example/index.html +0 -13
  371. package/example/node_modules/.vite/deps/@ant-design_icons-vue.js +0 -29406
  372. package/example/node_modules/.vite/deps/@ant-design_icons-vue.js.map +0 -7
  373. package/example/node_modules/.vite/deps/@vueuse_core.js +0 -8255
  374. package/example/node_modules/.vite/deps/@vueuse_core.js.map +0 -7
  375. package/example/node_modules/.vite/deps/_metadata.json +0 -80
  376. package/example/node_modules/.vite/deps/ant-design-vue.js +0 -62756
  377. package/example/node_modules/.vite/deps/ant-design-vue.js.map +0 -7
  378. package/example/node_modules/.vite/deps/axios.js +0 -2126
  379. package/example/node_modules/.vite/deps/axios.js.map +0 -7
  380. package/example/node_modules/.vite/deps/chunk-5WWUZCGV.js +0 -36
  381. package/example/node_modules/.vite/deps/chunk-5WWUZCGV.js.map +0 -7
  382. package/example/node_modules/.vite/deps/chunk-D36HXFYL.js +0 -25
  383. package/example/node_modules/.vite/deps/chunk-D36HXFYL.js.map +0 -7
  384. package/example/node_modules/.vite/deps/chunk-EBDM3ESC.js +0 -161
  385. package/example/node_modules/.vite/deps/chunk-EBDM3ESC.js.map +0 -7
  386. package/example/node_modules/.vite/deps/chunk-EKNPBJBG.js +0 -3600
  387. package/example/node_modules/.vite/deps/chunk-EKNPBJBG.js.map +0 -7
  388. package/example/node_modules/.vite/deps/chunk-GK7Q6YQN.js +0 -10796
  389. package/example/node_modules/.vite/deps/chunk-GK7Q6YQN.js.map +0 -7
  390. package/example/node_modules/.vite/deps/chunk-TDI2FIXO.js +0 -19
  391. package/example/node_modules/.vite/deps/chunk-TDI2FIXO.js.map +0 -7
  392. package/example/node_modules/.vite/deps/package.json +0 -3
  393. package/example/node_modules/.vite/deps/pinia-plugin-persistedstate.js +0 -125
  394. package/example/node_modules/.vite/deps/pinia-plugin-persistedstate.js.map +0 -7
  395. package/example/node_modules/.vite/deps/pinia.js +0 -1519
  396. package/example/node_modules/.vite/deps/pinia.js.map +0 -7
  397. package/example/node_modules/.vite/deps/vue-request.js +0 -1191
  398. package/example/node_modules/.vite/deps/vue-request.js.map +0 -7
  399. package/example/node_modules/.vite/deps/vue-router.js +0 -2667
  400. package/example/node_modules/.vite/deps/vue-router.js.map +0 -7
  401. package/example/node_modules/.vite/deps/vue.js +0 -314
  402. package/example/node_modules/.vite/deps/vue.js.map +0 -7
  403. package/example/package.json +0 -17
  404. package/example/src/App.vue +0 -7
  405. package/example/src/api/list.ts +0 -22
  406. package/example/src/api/user.ts +0 -13
  407. package/example/src/components/AppMain.vue +0 -113
  408. package/example/src/hooks.ts +0 -103
  409. package/example/src/main.ts +0 -22
  410. package/example/src/router/form/index.route.ts +0 -23
  411. package/example/src/router/index.ts +0 -61
  412. package/example/src/router/table/index.route.ts +0 -39
  413. package/example/src/views/Demo.vue +0 -49
  414. package/example/src/views/DemoBk.vue +0 -34
  415. package/example/src/views/Login.vue +0 -79
  416. package/example/src/views/form/List.vue +0 -16
  417. package/example/src/views/form/List2.vue +0 -74
  418. package/example/src/views/form/QueryFormDemo.vue +0 -49
  419. package/example/src/views/form/dyn/List.vue +0 -121
  420. package/example/src/views/table/Add.vue +0 -377
  421. package/example/src/views/table/Demo.vue +0 -15
  422. package/example/src/views/table/Demo2.vue +0 -12
  423. package/example/src/views/table/Edit.vue +0 -10
  424. package/example/src/views/table/List.vue +0 -415
  425. package/example/src/views/table/Test.tsx +0 -42
  426. package/example/src/views/table/TestModal.vue +0 -64
  427. package/example/src/views/table/WorkStatusRound.vue +0 -31
  428. package/example/src/views/table/components/AddForm.vue +0 -44
  429. package/example/src/views/table/hooks.ts +0 -106
  430. package/example/src/views/task/Todo.vue +0 -6
  431. package/example/tsconfig.json +0 -16
  432. package/example/utils/http.ts +0 -107
  433. package/example/vite-env.d.ts +0 -8
  434. package/example/vite.config.ts +0 -10
  435. package/src/_utils/html.ts +0 -17
  436. package/src/_utils/install.ts +0 -12
  437. package/src/components.ts +0 -10
  438. package/src/config/Config.vue +0 -8
  439. package/src/date/RangePicker.tsx +0 -93
  440. package/src/date/index.ts +0 -9
  441. package/src/desensitize/Desensitize.tsx +0 -97
  442. package/src/desensitize/index.ts +0 -9
  443. package/src/desensitize/style/index.scss +0 -8
  444. package/src/dic/DicReplace.tsx +0 -63
  445. package/src/dic/index.ts +0 -8
  446. package/src/dic/replace.worker.ts +0 -25
  447. package/src/form/DQueryForm.tsx +0 -258
  448. package/src/form/index.ts +0 -9
  449. package/src/form/style/index.less +0 -0
  450. package/src/grid/Grid.tsx +0 -83
  451. package/src/grid/GridItem.tsx +0 -15
  452. package/src/grid/index.md +0 -4
  453. package/src/grid/index.ts +0 -16
  454. package/src/grid/style/index.scss +0 -70
  455. package/src/json-scheme-render/JsonSchemeRender.tsx +0 -101
  456. package/src/json-scheme-render/index.ts +0 -9
  457. package/src/layout/Breadcrumb.vue +0 -39
  458. package/src/layout/FuckMain.vue +0 -90
  459. package/src/layout/List.vue +0 -145
  460. package/src/layout/Main.vue +0 -97
  461. package/src/layout/NavTabs.vue +0 -129
  462. package/src/layout/Show.vue +0 -135
  463. package/src/layout/index.ts +0 -24
  464. package/src/layout/style/breadcrumb.scss +0 -61
  465. package/src/layout/style/fuckmain.scss +0 -21
  466. package/src/layout/style/index.scss +0 -35
  467. package/src/layout/style/list.scss +0 -26
  468. package/src/layout/style/main.scss +0 -74
  469. package/src/layout/style/navtab.scss +0 -146
  470. package/src/layout/style/show.scss +0 -50
  471. package/src/menu/Menu.tsx +0 -181
  472. package/src/menu/style/index.scss +0 -26
  473. package/src/modal/Modal.tsx +0 -83
  474. package/src/modal/index.ts +0 -9
  475. package/src/modal/style/index.scss +0 -74
  476. package/src/select/Select.vue +0 -177
  477. package/src/select/dic.worker.ts +0 -32
  478. package/src/select/index.ts +0 -9
  479. package/src/table/Field.vue +0 -44
  480. package/src/table/Table.tsx +0 -515
  481. package/src/table/index.md +0 -1
  482. package/src/table/index.ts +0 -9
  483. package/src/table/interface/table.ts +0 -64
  484. package/src/table/style/index.scss +0 -10
  485. package/src/theme/index.ts +0 -1
  486. package/src/theme/theme.scss +0 -1
  487. package/src/theme/variable.scss +0 -67
@@ -0,0 +1,491 @@
1
+ import {
2
+ computed,
3
+ defineComponent,
4
+ nextTick,
5
+ onMounted,
6
+ ref,
7
+ watch
8
+ } from "vue";
9
+ import { type ExtractPropTypes, type PropType } from "vue";
10
+ import { Flex, Pagination, Table, theme } from "ant-design-vue";
11
+ import { type TablePaginationConfig } from "ant-design-vue";
12
+
13
+ import { type PaginationProps } from "./interface";
14
+ import { css } from "@emotion/css";
15
+ import type { ColumnsType } from "ant-design-vue/es/table";
16
+ import type {
17
+ SelectionSelectFn,
18
+ TableRowSelection
19
+ } from "ant-design-vue/es/table/interface";
20
+ import { merge } from "lodash";
21
+
22
+ export type Key = string | number;
23
+ export type SizeType = "small" | "middle" | "large" | undefined;
24
+
25
+ // 定义分页
26
+ interface Page {
27
+ total: number;
28
+ current: number;
29
+ pageSize: number;
30
+ }
31
+
32
+ // 定义表格配置接口,支持泛型
33
+ interface Config<T = unknown> {
34
+ columns: ColumnsType<T>;
35
+ // 分页
36
+ pagination?: Page | undefined;
37
+ // 分页配置
38
+ paginationConfig?: PaginationProps;
39
+ changePagination?: (current: number, size: number) => void;
40
+ // 单击
41
+ click?: (record: Record<string, unknown>, index: number) => void;
42
+ // 双击
43
+ dbClick?: (record: Record<string, unknown>, index: number) => void;
44
+ // 选择框的默认属性配置
45
+ getCheckboxProps?: (record: unknown) => Record<string, unknown> | undefined; // 返回一个对象或者 undefined
46
+ // 点击行号激活的class
47
+ activeRowClass?: string;
48
+ // 复选框方式
49
+ selection?: string;
50
+ // 切换分页是否保留选中的ID
51
+ keepSelected?: boolean;
52
+ }
53
+
54
+ // 定义 Props 类型,支持泛型
55
+ export const tableProps = <T = unknown,>() => ({
56
+ height: { type: Number, default: 0 },
57
+ data: { type: Array as PropType<T[]>, default: () => [] }, // 泛型约束
58
+ loading: { type: Boolean, default: false },
59
+ rowKey: { type: String, default: "id" },
60
+ bordered: { type: Boolean, default: false },
61
+ size: { type: String as PropType<SizeType>, default: "small" },
62
+ keys: { type: Array as PropType<Key[]>, default: () => [] },
63
+ config: { type: Object as PropType<Config<T>>, required: true }
64
+ });
65
+
66
+ export type TableProps = Partial<
67
+ ExtractPropTypes<ReturnType<typeof tableProps>>
68
+ >;
69
+
70
+ // 分页组件默认配置
71
+ const defaultPaginationProps: PaginationProps = {
72
+ defaultPageSize: 20,
73
+ disabled: false,
74
+ hideOnSinglePage: false,
75
+ pageSize: 20,
76
+ pageSizeOptions: ["20", "40", "60", "80", "99"],
77
+ responsive: false,
78
+ showLessItems: false,
79
+ showQuickJumper: true,
80
+ showSizeChanger: true, // 默认展示切换器
81
+ showTotal: total => `总共 ${total} 条数据`,
82
+ simple: false,
83
+ size: "default",
84
+ total: 0
85
+ };
86
+
87
+ // 表格默认配置
88
+ const defaultConfig: Config = {
89
+ columns: [],
90
+ pagination: undefined,
91
+ paginationConfig: defaultPaginationProps,
92
+ activeRowClass: "",
93
+ selection: "N",
94
+ keepSelected: false
95
+ };
96
+
97
+ const paginationStyle = css`
98
+ display: flex;
99
+ justify-content: center;
100
+ `;
101
+
102
+ // 定义泛型组件
103
+ const DTable = defineComponent({
104
+ name: "DTable",
105
+ props: tableProps(), // 初始泛型设置为 `unknown`
106
+ emits: ["update:keys"],
107
+ setup(props, { emit, slots }) {
108
+ const { useToken } = theme;
109
+ const { token } = useToken();
110
+ console.log(token);
111
+ // 保存选中的唯一id
112
+ const selectedRowKeys = ref<Key[]>(props.keys || []);
113
+ // 计算表格高度
114
+ //const height = computed(() => props.height);
115
+
116
+ const { columns, data, pagination } = useProps();
117
+ const { tableSlots } = useSlots();
118
+ const { paginationConfig, onPaginationChange } = usePagination();
119
+ const { tableRef, tableHeight, antTableBodyRef } = useHeight();
120
+ const rowSelection = useRowSelection();
121
+
122
+ onMounted(() => {});
123
+
124
+ /**
125
+ * props计算属性处理
126
+ */
127
+ function useProps() {
128
+ // 定义计算属性
129
+ const _config = computed(() => merge({}, defaultConfig, props.config));
130
+ const columns = computed(() => _config.value.columns);
131
+ const data = computed(() => props.data || []);
132
+ const pagination = computed(() => _config.value.pagination || false);
133
+
134
+ return {
135
+ columns,
136
+ data,
137
+ pagination
138
+ };
139
+ }
140
+
141
+ /**
142
+ * 插槽处理
143
+ */
144
+ function useSlots() {
145
+ console.log(slots);
146
+ // 定义插槽
147
+ const tableSlots = {
148
+ bodyCell: (params: unknown) => slots.bodyCell?.(params),
149
+ summary: () => slots.summary?.()
150
+ };
151
+
152
+ return {
153
+ tableSlots
154
+ };
155
+ }
156
+
157
+ function useHeight() {
158
+ const tableRef = ref();
159
+ const tableHeight = ref(0);
160
+ let headerHeight = 0,
161
+ tableEl: HTMLElement;
162
+
163
+ // 表格body对象
164
+ const antTableBodyRef = ref<HTMLElement>();
165
+
166
+ watch(
167
+ () => props.height,
168
+ val => {
169
+ if (val !== 0) {
170
+ nextTick(() => {
171
+ _tableBodyHeight(val);
172
+ });
173
+ }
174
+ },
175
+ {
176
+ immediate: true
177
+ }
178
+ );
179
+
180
+ function _tableBodyHeight(height: number) {
181
+ tableEl = tableRef?.value?.$el;
182
+ //表头高度
183
+ headerHeight = useEleHeight(
184
+ tableEl.getElementsByClassName("ant-table-header")[0]
185
+ );
186
+ // 分页
187
+ const paginationEl = tableEl.getElementsByClassName(
188
+ "ant-pagination"
189
+ )[0] as HTMLElement | undefined;
190
+ let paginationHeight = 0;
191
+ if (paginationEl) {
192
+ paginationEl.style.marginBottom = "0";
193
+ paginationHeight = useEleHeight(paginationEl as never) ?? 0;
194
+ }
195
+
196
+ //总结行
197
+ let summaryHeight = 0;
198
+ const summaryEl = tableEl.getElementsByClassName(
199
+ "ant-table-summary"
200
+ )[0] as HTMLElement | undefined;
201
+ if (summaryEl) {
202
+ summaryHeight = useEleHeight(summaryEl as HTMLElement) ?? 0;
203
+ }
204
+
205
+ tableHeight.value =
206
+ height - paginationHeight - headerHeight - summaryHeight;
207
+
208
+ antTableBodyRef.value = tableEl.getElementsByClassName(
209
+ "ant-table-body"
210
+ )[0] as HTMLElement;
211
+
212
+ if (antTableBodyRef.value) {
213
+ // 设置body高度
214
+ antTableBodyRef.value.style.height = tableHeight.value + "px";
215
+ //TODO antTableBodyRef 滚动到底部的时候,需要去除底部边框,否则边框会重叠
216
+ //antTableBodyRef.value.style.borderBottom = "1px solid #f0f0f0";
217
+ }
218
+ }
219
+
220
+ return {
221
+ tableRef,
222
+ tableHeight,
223
+ antTableBodyRef
224
+ };
225
+ }
226
+
227
+ function usePagination() {
228
+ const { changePagination } = props.config!;
229
+ const paginationConfig = computed<TablePaginationConfig>(() => {
230
+ return {
231
+ position: ["bottomCenter"], // 符合类型的分页位置
232
+ total: 0, // 确保符合要求
233
+ ...defaultPaginationProps,
234
+ ...pagination.value
235
+ };
236
+ });
237
+
238
+ const onPaginationChange = (page: number, pageSize: number) => {
239
+ const { selection, keepSelected } = props.config!;
240
+ changePagination?.(page, pageSize);
241
+ // 切换分页的时候,表体滚动到顶部
242
+ antTableBodyRef.value!.scrollTop = 0;
243
+
244
+ // 如果当前为单选或未开启分页保留数据选中的数据都会被清除
245
+ // 清空历史选中数据
246
+ if (selection === "S" || !keepSelected) {
247
+ // 只有selectedRowKeys被清空时,这里才触发update;
248
+ // 不加判断,会出现执行update后,父组件监听的watch每次都会触发
249
+ if (selectedRowKeys.value.length > 0) {
250
+ selectedRowKeys.value = [];
251
+ emit("update:keys", selectedRowKeys.value);
252
+ }
253
+ }
254
+ };
255
+
256
+ return {
257
+ paginationConfig,
258
+ onPaginationChange
259
+ };
260
+ }
261
+
262
+ function useCustomRow() {
263
+ return (record: never, index: number) => {
264
+ // 用于存储 在某个事件内双击两次 则取消单击事件业务
265
+ let clickTimeout: number = 0;
266
+ const {
267
+ rowKey,
268
+ config: { click, dbClick, selection, getCheckboxProps } = {} as Config
269
+ } = props;
270
+
271
+ // 当前点击行的唯一ID,通过rowKey从record中取值
272
+ const id = record[rowKey];
273
+
274
+ /**
275
+ * 处理单击事件业务
276
+ * @param record 当前点击行数据
277
+ */
278
+ const onClick = () => {
279
+ // 获取getCheckboxProps方法,如果不等于undefined,则执行方法获取disabled的值
280
+ // 否则checkEnable为false
281
+ const checkEnable =
282
+ getCheckboxProps === undefined
283
+ ? false
284
+ : getCheckboxProps(record)?.disabled;
285
+
286
+ if (selection === "N" || checkEnable) {
287
+ // 1. 未开启复选框 则不处理数据选中操作
288
+ // 2. 如果当前点击的行 包含在禁用的数据项目里面 则不进行选中操作
289
+ // 3. checkEnable 用来判断复选框属性的值,如果当前的数据满足getCheckboxProps这个
290
+ // 方法返回的disabled为true就不执行
291
+ // 复选框选中的操作
292
+ return;
293
+ }
294
+ const haveState = selectedRowKeys.value.some(
295
+ (key: Key) => key === id
296
+ );
297
+ if (haveState) {
298
+ //如果 当前点击行的ID 已存在 那么直接过滤掉当前的id
299
+ selectedRowKeys.value = selectedRowKeys.value.filter(
300
+ (key: Key) => key !== id
301
+ );
302
+ } else {
303
+ if (selection === "S") {
304
+ //单选的时候 清空选中的数据 再赋值新的ID
305
+ selectedRowKeys.value = [];
306
+ selectedRowKeys.value.push(id);
307
+ } else {
308
+ //多选直接追加ID
309
+ selectedRowKeys.value.push(id);
310
+ }
311
+ }
312
+ emit("update:keys", selectedRowKeys.value);
313
+ };
314
+
315
+ function activeRowBackground(event: Event) {
316
+ const { activeRowClass } = props.config!;
317
+ if (!activeRowClass) return;
318
+ const curEl = event.target;
319
+ if (curEl instanceof HTMLElement) {
320
+ const parentElement = curEl.parentNode as HTMLElement;
321
+ if (
322
+ parentElement &&
323
+ parentElement.classList.contains(activeRowClass)
324
+ ) {
325
+ parentElement.classList.remove(activeRowClass);
326
+ } else {
327
+ parentElement?.classList.add(activeRowClass);
328
+ }
329
+ }
330
+ }
331
+
332
+ return {
333
+ onClick: (event: Event) => {
334
+ clearTimeout(clickTimeout);
335
+ clickTimeout = window.setTimeout(() => {
336
+ // 处理背景激活逻辑
337
+ activeRowBackground(event);
338
+ // 处理单击事件业务
339
+ onClick();
340
+ // 回传数据 自定义单击后的业务
341
+ click?.(record, index);
342
+ }, 200);
343
+ }, // 点击行
344
+ onDblclick: () => {
345
+ clearTimeout(clickTimeout);
346
+ // 回传数据 自定义单击后的业务
347
+ dbClick?.(record, index);
348
+ }
349
+ };
350
+ };
351
+ }
352
+
353
+ function useRowSelection() {
354
+ const rowSelection = ref<TableRowSelection<unknown> | undefined>(
355
+ undefined
356
+ );
357
+
358
+ const { rowKey, config: { getCheckboxProps, selection } = {} } = props;
359
+
360
+ const onSelect: SelectionSelectFn<unknown> = (record, selected) => {
361
+ const data = record as Record<string, never>;
362
+ if (selection === "S") {
363
+ selectedRowKeys.value = [];
364
+ selectedRowKeys.value = selected ? [data[rowKey]] : [];
365
+ } else {
366
+ selectedRowKeys.value = selected
367
+ ? selectedRowKeys.value.concat(data[rowKey])
368
+ : selectedRowKeys.value.filter((key: Key) => key !== data[rowKey]);
369
+ }
370
+ emit("update:keys", selectedRowKeys.value);
371
+ };
372
+
373
+ const onChange = (rowKeys: Key[], selectedRows: unknown[]) => {
374
+ // 显式转换 selectedRows 的类型为 Record<string, never>[]
375
+ const data = selectedRows as Record<string, never>[];
376
+ // 等于0 说明是取消全选,反之
377
+ const selected = data.length !== 0;
378
+ // 显式转换 _ids 的类型为 Key[]
379
+ const _ids: Key[] = props.data.map(
380
+ record => (record as Record<string, unknown>)[rowKey] as Key
381
+ );
382
+
383
+ // 更新 selectedRowKeys
384
+ // selected 为true,说明是全选,那么rowKeys是权限后的数组ID,需要过滤掉selectedRowKeys里的不在id才进行添加,
385
+ // 否则会出现,比如一开始选择了两条数据,然后再进行全选的话 会多出两个重复ID
386
+ // selected 为false,说明是取消全选,那么需要从selectedRowKeys过滤掉 _ids的id
387
+ selectedRowKeys.value = selected
388
+ ? selectedRowKeys.value.concat(
389
+ rowKeys.filter((key: Key) => !selectedRowKeys.value.includes(key))
390
+ )
391
+ : selectedRowKeys.value.filter((key: Key) => !_ids.includes(key));
392
+
393
+ emit("update:keys", selectedRowKeys.value);
394
+ };
395
+
396
+ // 监听父组件手动改变keys 重新赋值给 表格选中变量selectedRowKeys
397
+ // 否则父组件 改变keys后当前selectedRowKeys还是原来的值
398
+ watch(
399
+ () => props.keys,
400
+ val => {
401
+ selectedRowKeys.value = val;
402
+ }
403
+ );
404
+
405
+ watch(
406
+ () => props.config?.selection,
407
+ val => {
408
+ if (val !== "N") {
409
+ rowSelection.value = {
410
+ selectedRowKeys: selectedRowKeys as never,
411
+ onSelect,
412
+ onChange,
413
+ fixed: true,
414
+ columnTitle: selection === "S" ? "选择" : null,
415
+ columnWidth: selection === "S" ? 60 : 40,
416
+ getCheckboxProps: getCheckboxProps as never
417
+ };
418
+ } else {
419
+ rowSelection.value = undefined;
420
+ }
421
+ },
422
+ {
423
+ immediate: true
424
+ }
425
+ );
426
+
427
+ return rowSelection;
428
+ }
429
+
430
+ return () => (
431
+ <Flex vertical={true} ref={tableRef}>
432
+ <Table
433
+ loading={props.loading}
434
+ size={props.size}
435
+ bordered={props.bordered}
436
+ dataSource={data.value}
437
+ columns={columns.value}
438
+ rowSelection={rowSelection.value}
439
+ customRow={useCustomRow() as never}
440
+ pagination={false}
441
+ rowKey={props.rowKey}
442
+ v-slots={tableSlots}
443
+ scroll={{
444
+ y: tableHeight.value,
445
+ x: "100%",
446
+ scrollToFirstRowOnChange: true
447
+ }}
448
+ />
449
+ <div class={paginationStyle}>
450
+ {pagination && (
451
+ <Pagination
452
+ style={{ marginTop: "16px" }}
453
+ v-model:current={paginationConfig.value.current}
454
+ v-model:pageSize={paginationConfig.value.pageSize}
455
+ total={paginationConfig.value.total}
456
+ disabled={props.loading}
457
+ show-size-changer
458
+ size={"default"}
459
+ hide-on-single-page={paginationConfig.value.hideOnSinglePage}
460
+ show-quick-jumper={paginationConfig.value.showQuickJumper}
461
+ default-page-size={paginationConfig.value.defaultPageSize}
462
+ page-size-options={paginationConfig.value.pageSizeOptions}
463
+ show-total={paginationConfig.value.showTotal}
464
+ onChange={onPaginationChange}
465
+ ></Pagination>
466
+ )}
467
+ </div>
468
+ </Flex>
469
+ );
470
+ }
471
+ });
472
+
473
+ export const useEleHeight = (node: Element) => {
474
+ const list = [
475
+ "margin-top",
476
+ "margin-bottom",
477
+ "border-top",
478
+ "border-bottom",
479
+ "padding-top",
480
+ "padding-bottom",
481
+ "height"
482
+ ];
483
+ const style = getComputedStyle(node);
484
+ return list
485
+ .map(k => parseInt(style.getPropertyValue(k), 10))
486
+ .reduce((prev, cur) => {
487
+ return prev + cur;
488
+ });
489
+ };
490
+
491
+ export default DTable;
package/src/index.scss CHANGED
@@ -1,19 +1 @@
1
- @import "./theme/variable";
2
- @import "./grid/style";
3
- @import "./menu/style";
4
- @import "./layout/style";
5
- @import "./table/style";
6
- @import "./desensitize/style";
7
- @import "./modal/style";
8
- html,
9
- body,
10
- #app {
11
- height: 100%;
12
- background: $bg-color;
13
- &::-webkit-scrollbar {
14
- width: 0 !important;
15
- display: none;
16
- }
17
- }
18
-
19
-
1
+ @use "./components/tab/style" as *;
package/src/index.ts CHANGED
@@ -1,50 +1,31 @@
1
- import type { App } from "vue";
2
- import { createPinia } from "pinia";
3
- import { createPersistedState } from "pinia-plugin-persistedstate";
4
-
5
- import * as components from "./components";
6
- export * from "./components";
7
-
8
-
9
- export interface MenuIcon {
10
- componentName: string | "nativeHtml";
11
- type: string;
12
- }
13
- export interface Options {
14
- menuIcon: MenuIcon;
15
- prop?: string;
16
- }
17
- const c: any = components;
18
- export const install = function (app: App, opts: Options) {
19
- Object.keys(c).forEach((key) => {
20
- const component = c[key];
21
- if (component.install) {
22
- app.use(component);
23
- }
24
- });
25
- //注册pinia
26
- const pinia = createPinia();
27
- //pinia启用持久化
28
- pinia.use(
29
- createPersistedState({
30
- storage: sessionStorage
31
- })
32
- );
33
- app.use(pinia);
34
- app.provide("menuIcon", opts.menuIcon || {});
35
-
36
- // // 创建 Web Worker 连接池实例
37
- // const workerPool = new WorkerPool(DicWorker, 2); // 这里设置连接池的大小为 5
38
- // workerPool.initialize();
39
- // // 注入连接池实例
40
- // app.provide("dicWorkerPool", workerPool);
41
- // // 创建 Web Worker 连接池实例
42
- // const repWorkerPool = new WorkerPool(ReplaceWorker, 2); // 这里设置连接池的大小为 5
43
- // repWorkerPool.initialize();
44
- // // 注入连接池实例
45
- // app.provide("repWorkerPool", repWorkerPool);
46
- };
47
-
48
- export default {
49
- install
50
- };
1
+ import * as components from "./components";
2
+ import type { App, DefineComponent, Plugin } from "vue";
3
+
4
+ // import { version } from "../package.json";
5
+
6
+ export * from "./components";
7
+
8
+ console.log(components);
9
+ // 定义组件类型,确保每个组件都可能具有 `install` 方法
10
+ type ComponentWithInstall = DefineComponent<never, never, never> & {
11
+ install?: (app: App) => void;
12
+ };
13
+
14
+ export const install = (app: App) => {
15
+ Object.keys(components).forEach(key => {
16
+ const component = components[
17
+ key as keyof typeof components
18
+ ] as ComponentWithInstall;
19
+ // 类型断言,告诉 TypeScript component 可能是一个插件
20
+ const plugin = component as Plugin;
21
+ // 如果组件有 install 方法,则按插件安装
22
+ if (plugin.install) {
23
+ app.use(plugin);
24
+ }
25
+ });
26
+ };
27
+
28
+ export default {
29
+ // version,
30
+ install
31
+ };
@@ -0,0 +1,29 @@
1
+ {
2
+ "extends": "@vue/tsconfig/tsconfig.json",
3
+ "compilerOptions": {
4
+ "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo",
5
+ /* Linting */
6
+ "strict": true,
7
+ "noEmit": true,
8
+ "noUnusedLocals": true,
9
+ "noUnusedParameters": true,
10
+ "noFallthroughCasesInSwitch": true,
11
+ "noUncheckedSideEffectImports": true,
12
+ "baseUrl": "./",
13
+ "paths": {
14
+ "@/*": [
15
+ "src/*"
16
+ ]
17
+ }
18
+ },
19
+ "include": [
20
+ "src/**/*.ts",
21
+ "src/**/*.d.ts",
22
+ "src/**/*.tsx",
23
+ "src/**/*.vue"
24
+ ],
25
+ "exclude": [
26
+ "node_modules",
27
+ "dist"
28
+ ]
29
+ }
package/tsconfig.json ADDED
@@ -0,0 +1,7 @@
1
+ {
2
+ "files": [],
3
+ "references": [
4
+ { "path": "./tsconfig.app.json" },
5
+ { "path": "./tsconfig.node.json" }
6
+ ]
7
+ }
@@ -0,0 +1,27 @@
1
+ {
2
+ "compilerOptions": {
3
+ "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo",
4
+ "target": "ESNext",
5
+ "lib": [
6
+ "dom",
7
+ "ESNext"
8
+ ],
9
+ "module": "ESNext",
10
+ "skipLibCheck": true,
11
+ /* Bundler mode */
12
+ "moduleResolution": "bundler",
13
+ "allowImportingTsExtensions": true,
14
+ "isolatedModules": true,
15
+ "moduleDetection": "force",
16
+ "noEmit": true,
17
+ /* Linting */
18
+ "strict": true,
19
+ "noUnusedLocals": true,
20
+ "noUnusedParameters": true,
21
+ "noFallthroughCasesInSwitch": true,
22
+ "noUncheckedSideEffectImports": true
23
+ },
24
+ "include": [
25
+ "vite.config.ts"
26
+ ]
27
+ }