@a2simcode/ui 0.0.263 → 0.0.265

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 (369) hide show
  1. package/.cursor/skills/ui-component-helper/README.md +86 -86
  2. package/.cursor/skills/ui-component-helper/SKILL.md +115 -115
  3. package/LICENSE +53 -53
  4. package/README.md +156 -156
  5. package/dist/components/table/index.d.ts +60 -0
  6. package/dist/components/table/src/interface.d.ts +42 -0
  7. package/dist/components/table/src/table.vue.d.ts +55 -1
  8. package/dist/simcode-ui.es.js +4720 -4688
  9. package/dist/simcode-ui.umd.js +2 -2
  10. package/dist/stats.html +1 -1
  11. package/dist/ui.css +1 -1
  12. package/docs/components/autocomplete.md +89 -89
  13. package/docs/components/barcode.md +101 -101
  14. package/docs/components/button-select.md +24 -24
  15. package/docs/components/button.md +117 -117
  16. package/docs/components/buttons.md +119 -119
  17. package/docs/components/card-list.md +38 -38
  18. package/docs/components/cascader-select.md +114 -114
  19. package/docs/components/checkbox.md +114 -114
  20. package/docs/components/code-mirror.md +85 -85
  21. package/docs/components/collapse.md +26 -26
  22. package/docs/components/comp.md +71 -71
  23. package/docs/components/count-up.md +24 -24
  24. package/docs/components/count.md +24 -24
  25. package/docs/components/data-panel.md +24 -24
  26. package/docs/components/date.md +76 -76
  27. package/docs/components/dialog-full.md +112 -112
  28. package/docs/components/dialog.md +127 -127
  29. package/docs/components/divider.md +24 -24
  30. package/docs/components/drawer.md +127 -127
  31. package/docs/components/dynamic-layer.md +118 -118
  32. package/docs/components/echarts.md +72 -72
  33. package/docs/components/editor.md +24 -24
  34. package/docs/components/form.md +87 -87
  35. package/docs/components/guid.md +39 -39
  36. package/docs/components/hpanel.md +24 -24
  37. package/docs/components/icon.md +56 -56
  38. package/docs/components/input-button.md +24 -24
  39. package/docs/components/input-code.md +24 -24
  40. package/docs/components/input-color.md +114 -114
  41. package/docs/components/input-layer.md +56 -56
  42. package/docs/components/input-rows.md +370 -370
  43. package/docs/components/input-tag.md +50 -50
  44. package/docs/components/input.md +129 -129
  45. package/docs/components/layer-form.md +61 -61
  46. package/docs/components/layer.md +127 -127
  47. package/docs/components/layout.md +132 -132
  48. package/docs/components/map.md +24 -24
  49. package/docs/components/menu.md +121 -121
  50. package/docs/components/meta/button.ts +212 -212
  51. package/docs/components/meta/buttons.ts +76 -76
  52. package/docs/components/meta/card-list.ts +210 -210
  53. package/docs/components/meta/code-mirror.ts +108 -108
  54. package/docs/components/meta/comp.ts +236 -236
  55. package/docs/components/meta/date.ts +267 -267
  56. package/docs/components/meta/echarts.ts +64 -64
  57. package/docs/components/meta/form-item.ts +62 -50
  58. package/docs/components/meta/form.ts +181 -181
  59. package/docs/components/meta/input-button.ts +175 -175
  60. package/docs/components/meta/input-cards.ts +112 -112
  61. package/docs/components/meta/input-code.ts +161 -161
  62. package/docs/components/meta/input-color.ts +243 -243
  63. package/docs/components/meta/input-rows.ts +119 -119
  64. package/docs/components/meta/layer-form.ts +74 -74
  65. package/docs/components/meta/map.ts +68 -68
  66. package/docs/components/meta/panel.ts +152 -152
  67. package/docs/components/meta/radio.ts +55 -55
  68. package/docs/components/meta/select.ts +279 -279
  69. package/docs/components/meta/slider.ts +270 -270
  70. package/docs/components/meta/table-panel.ts +326 -326
  71. package/docs/components/meta/table.ts +427 -409
  72. package/docs/components/meta/tabs.ts +146 -146
  73. package/docs/components/meta/title.ts +91 -91
  74. package/docs/components/meta/tree-select.ts +199 -199
  75. package/docs/components/meta/tree.ts +225 -219
  76. package/docs/components/meta/vpanel.ts +19 -19
  77. package/docs/components/meta/workflow-viewer.ts +55 -55
  78. package/docs/components/number.md +124 -124
  79. package/docs/components/page.md +102 -102
  80. package/docs/components/panel.md +37 -37
  81. package/docs/components/radio.md +87 -87
  82. package/docs/components/rate.md +71 -71
  83. package/docs/components/select.md +133 -133
  84. package/docs/components/slider-captcha.md +41 -41
  85. package/docs/components/slider.md +101 -101
  86. package/docs/components/switch.md +90 -90
  87. package/docs/components/table-panel.md +312 -312
  88. package/docs/components/table.md +495 -450
  89. package/docs/components/tabs.md +26 -26
  90. package/docs/components/title.md +24 -24
  91. package/docs/components/tree.md +222 -222
  92. package/docs/components/upload.md +117 -117
  93. package/docs/components/workflow-viewer.md +21 -21
  94. package/docs/components/workflow.md +21 -21
  95. package/docs/examples/autocomplete/advanced.vue +35 -35
  96. package/docs/examples/autocomplete/basic.vue +32 -32
  97. package/docs/examples/autocomplete/clearable.vue +33 -33
  98. package/docs/examples/autocomplete/custom-template.vue +49 -49
  99. package/docs/examples/autocomplete/disabled.vue +33 -33
  100. package/docs/examples/autocomplete/icon.vue +37 -37
  101. package/docs/examples/barcode/all-types.vue +380 -380
  102. package/docs/examples/barcode/basic.vue +14 -14
  103. package/docs/examples/barcode/props-appearance.vue +243 -243
  104. package/docs/examples/barcode/props-geometry.vue +143 -143
  105. package/docs/examples/barcode/props-logic.vue +216 -216
  106. package/docs/examples/barcode/props-symbology.vue +199 -199
  107. package/docs/examples/barcode/props-text.vue +268 -268
  108. package/docs/examples/button/basic.vue +7 -7
  109. package/docs/examples/button/disabled.vue +42 -42
  110. package/docs/examples/button/loading.vue +6 -6
  111. package/docs/examples/button/shape.vue +7 -7
  112. package/docs/examples/button/size.vue +14 -14
  113. package/docs/examples/button/status.vue +34 -34
  114. package/docs/examples/button/type.vue +10 -10
  115. package/docs/examples/button-select/basic.vue +19 -19
  116. package/docs/examples/buttons/basic.vue +62 -62
  117. package/docs/examples/buttons/disabled.vue +36 -36
  118. package/docs/examples/buttons/dropdown.vue +63 -63
  119. package/docs/examples/buttons/group.vue +52 -52
  120. package/docs/examples/buttons/link.vue +47 -47
  121. package/docs/examples/buttons/popup.vue +39 -39
  122. package/docs/examples/buttons/size.vue +45 -45
  123. package/docs/examples/card-list/basic.vue +70 -70
  124. package/docs/examples/card-list/selection-pagination.vue +69 -69
  125. package/docs/examples/cascader-select/basic.vue +28 -28
  126. package/docs/examples/cascader-select/clearable.vue +34 -34
  127. package/docs/examples/cascader-select/disabled.vue +43 -43
  128. package/docs/examples/cascader-select/filterable.vue +37 -37
  129. package/docs/examples/cascader-select/methods.vue +84 -84
  130. package/docs/examples/cascader-select/multiple.vue +38 -38
  131. package/docs/examples/cascader-select/slot.vue +45 -45
  132. package/docs/examples/checkbox/basic.vue +18 -18
  133. package/docs/examples/checkbox/button.vue +19 -19
  134. package/docs/examples/checkbox/color.vue +25 -25
  135. package/docs/examples/checkbox/disabled.vue +17 -17
  136. package/docs/examples/checkbox/min-max.vue +20 -20
  137. package/docs/examples/checkbox/mixed.vue +56 -56
  138. package/docs/examples/checkbox/size.vue +28 -28
  139. package/docs/examples/code-mirror/basic.vue +11 -11
  140. package/docs/examples/code-mirror/events.vue +42 -42
  141. package/docs/examples/code-mirror/height.vue +25 -25
  142. package/docs/examples/code-mirror/mode.vue +33 -33
  143. package/docs/examples/code-mirror/readonly.vue +14 -14
  144. package/docs/examples/collapse/basic.vue +82 -82
  145. package/docs/examples/comp/basic.vue +7 -7
  146. package/docs/examples/comp/collapse.vue +38 -38
  147. package/docs/examples/comp/tabs.vue +38 -38
  148. package/docs/examples/count/basic.vue +101 -101
  149. package/docs/examples/count-up/basic.vue +89 -89
  150. package/docs/examples/data-panel/basic.vue +110 -110
  151. package/docs/examples/date/basic.vue +73 -73
  152. package/docs/examples/date/default-value.vue +59 -59
  153. package/docs/examples/date/format.vue +75 -75
  154. package/docs/examples/date/range.vue +66 -66
  155. package/docs/examples/date/types.vue +79 -79
  156. package/docs/examples/decorated-title/basic.vue +31 -31
  157. package/docs/examples/dialog/basic.vue +36 -36
  158. package/docs/examples/dialog/custom-buttons.vue +44 -44
  159. package/docs/examples/dialog/fullscreen.vue +23 -23
  160. package/docs/examples/dialog/no-mask.vue +17 -17
  161. package/docs/examples/dialog/size.vue +44 -44
  162. package/docs/examples/dialog/steps.vue +57 -57
  163. package/docs/examples/dialog-full/basic.vue +29 -29
  164. package/docs/examples/dialog-full/custom-buttons.vue +45 -45
  165. package/docs/examples/dialog-full/no-buttons.vue +18 -18
  166. package/docs/examples/dialog-full/no-header.vue +27 -27
  167. package/docs/examples/dialog-full/steps.vue +71 -71
  168. package/docs/examples/divider/basic.vue +52 -52
  169. package/docs/examples/drawer/basic.vue +35 -35
  170. package/docs/examples/drawer/custom-buttons.vue +34 -34
  171. package/docs/examples/drawer/direction.vue +47 -47
  172. package/docs/examples/drawer/mask.vue +36 -36
  173. package/docs/examples/drawer/no-buttons.vue +20 -20
  174. package/docs/examples/drawer/size.vue +28 -28
  175. package/docs/examples/dynamic-layer/basic.vue +33 -33
  176. package/docs/examples/dynamic-layer/custom-buttons.vue +43 -43
  177. package/docs/examples/dynamic-layer/form.vue +73 -73
  178. package/docs/examples/dynamic-layer/steps.vue +52 -52
  179. package/docs/examples/dynamic-layer/types.vue +40 -40
  180. package/docs/examples/echarts/basic.vue +31 -31
  181. package/docs/examples/echarts/dynamic.vue +43 -43
  182. package/docs/examples/echarts/line.vue +46 -46
  183. package/docs/examples/echarts/pie.vue +44 -44
  184. package/docs/examples/editor/basic.vue +15 -15
  185. package/docs/examples/form/basic.vue +688 -688
  186. package/docs/examples/form/init.vue +76 -76
  187. package/docs/examples/form/master-detail.vue +203 -203
  188. package/docs/examples/form/rule-format.vue +179 -179
  189. package/docs/examples/form/view-table.vue +378 -378
  190. package/docs/examples/guid/basic.vue +10 -10
  191. package/docs/examples/guid/size.vue +13 -13
  192. package/docs/examples/hpanel/basic.vue +79 -79
  193. package/docs/examples/icon/basic.vue +9 -9
  194. package/docs/examples/icon/rotate-flip.vue +9 -9
  195. package/docs/examples/icon/size.vue +7 -7
  196. package/docs/examples/input/basic.vue +10 -10
  197. package/docs/examples/input/clearable.vue +12 -12
  198. package/docs/examples/input/disabled.vue +6 -6
  199. package/docs/examples/input/icon.vue +23 -23
  200. package/docs/examples/input/password.vue +18 -18
  201. package/docs/examples/input/size.vue +13 -13
  202. package/docs/examples/input/textarea.vue +25 -25
  203. package/docs/examples/input/word-limit.vue +28 -28
  204. package/docs/examples/input-button/basic.vue +33 -33
  205. package/docs/examples/input-cards/basic.vue +79 -79
  206. package/docs/examples/input-code/basic.vue +29 -29
  207. package/docs/examples/input-color/basic.vue +10 -10
  208. package/docs/examples/input-color/disabled.vue +13 -13
  209. package/docs/examples/input-color/format.vue +17 -17
  210. package/docs/examples/input-color/no-alpha.vue +13 -13
  211. package/docs/examples/input-color/only-button.vue +15 -15
  212. package/docs/examples/input-color/predefine.vue +31 -31
  213. package/docs/examples/input-color/size.vue +15 -15
  214. package/docs/examples/input-layer/basic.vue +85 -85
  215. package/docs/examples/input-layer/render-vnode-page.vue +160 -160
  216. package/docs/examples/input-layer/render-vnode.vue +127 -127
  217. package/docs/examples/input-rows/basic.vue +73 -73
  218. package/docs/examples/input-rows/drag.vue +48 -48
  219. package/docs/examples/input-rows/layer-form.vue +85 -85
  220. package/docs/examples/input-rows/nested.vue +91 -91
  221. package/docs/examples/input-tag/basic.vue +27 -27
  222. package/docs/examples/input-tag/colors.vue +23 -23
  223. package/docs/examples/input-tag/readonly.vue +17 -17
  224. package/docs/examples/layer/basic.vue +43 -43
  225. package/docs/examples/layer/custom-buttons.vue +61 -61
  226. package/docs/examples/layer/drawer.vue +37 -37
  227. package/docs/examples/layer/full.vue +38 -38
  228. package/docs/examples/layer/modal.vue +34 -34
  229. package/docs/examples/layer/steps.vue +46 -46
  230. package/docs/examples/layer-form/basic.vue +76 -76
  231. package/docs/examples/layer-form/config.vue +82 -82
  232. package/docs/examples/layer-form/size.vue +72 -72
  233. package/docs/examples/layout/basic.vue +36 -36
  234. package/docs/examples/layout/custom-size.vue +50 -50
  235. package/docs/examples/layout/disable-move.vue +37 -37
  236. package/docs/examples/layout/hide-mid-when-narrow.vue +96 -96
  237. package/docs/examples/layout/min-size.vue +73 -73
  238. package/docs/examples/layout/percent-size.vue +80 -80
  239. package/docs/examples/layout/simple.vue +22 -22
  240. package/docs/examples/layout/top-side.vue +34 -34
  241. package/docs/examples/map/basic.vue +22 -22
  242. package/docs/examples/menu/basic.vue +58 -58
  243. package/docs/examples/menu/collapsed.vue +49 -49
  244. package/docs/examples/menu/horizontal.vue +44 -44
  245. package/docs/examples/menu/selection-test.vue +104 -104
  246. package/docs/examples/menu/theme.vue +46 -46
  247. package/docs/examples/menu/vertical.vue +46 -46
  248. package/docs/examples/number/advanced.vue +143 -143
  249. package/docs/examples/number/basic.vue +63 -63
  250. package/docs/examples/number/disabled.vue +49 -49
  251. package/docs/examples/number/size.vue +42 -42
  252. package/docs/examples/number/slots.vue +123 -123
  253. package/docs/examples/number/step-strictly.vue +41 -41
  254. package/docs/examples/number/step.vue +47 -47
  255. package/docs/examples/page/basic.vue +41 -41
  256. package/docs/examples/page/code-table-model.vue +428 -428
  257. package/docs/examples/page/dept-user-management.vue +211 -211
  258. package/docs/examples/page/init.vue +87 -87
  259. package/docs/examples/page/log.vue +453 -453
  260. package/docs/examples/page/user-management.vue +313 -313
  261. package/docs/examples/panel/tool-buttons.vue +18 -18
  262. package/docs/examples/radio/basic.vue +17 -17
  263. package/docs/examples/radio/button.vue +17 -17
  264. package/docs/examples/radio/color.vue +18 -18
  265. package/docs/examples/radio/disabled.vue +17 -17
  266. package/docs/examples/radio/size.vue +29 -29
  267. package/docs/examples/rate/basic.vue +24 -24
  268. package/docs/examples/rate/half.vue +24 -24
  269. package/docs/examples/rate/readonly.vue +11 -11
  270. package/docs/examples/rate/text.vue +37 -37
  271. package/docs/examples/select/basic.vue +16 -16
  272. package/docs/examples/select/clearable.vue +22 -22
  273. package/docs/examples/select/disabled.vue +31 -31
  274. package/docs/examples/select/filterable.vue +24 -24
  275. package/docs/examples/select/group.vue +23 -23
  276. package/docs/examples/select/icon.vue +16 -16
  277. package/docs/examples/select/multiple.vue +18 -18
  278. package/docs/examples/select/size.vue +39 -39
  279. package/docs/examples/slider/basic.vue +42 -42
  280. package/docs/examples/slider/disabled.vue +17 -17
  281. package/docs/examples/slider/marks.vue +30 -30
  282. package/docs/examples/slider/size.vue +37 -37
  283. package/docs/examples/slider/tooltip.vue +36 -36
  284. package/docs/examples/slider/vertical.vue +26 -26
  285. package/docs/examples/slider-captcha/basic.vue +44 -44
  286. package/docs/examples/slider-captcha/custom.vue +48 -48
  287. package/docs/examples/switch/basic.vue +16 -16
  288. package/docs/examples/switch/disabled.vue +13 -13
  289. package/docs/examples/switch/loading.vue +13 -13
  290. package/docs/examples/switch/size.vue +15 -15
  291. package/docs/examples/switch/text.vue +13 -13
  292. package/docs/examples/table/action-filter.vue +126 -126
  293. package/docs/examples/table/actions.vue +116 -116
  294. package/docs/examples/table/add-row.vue +103 -103
  295. package/docs/examples/table/basic.vue +168 -168
  296. package/docs/examples/table/checkbox-layout.vue +68 -68
  297. package/docs/examples/table/column-filter.vue +96 -96
  298. package/docs/examples/table/custom-layout.vue +115 -115
  299. package/docs/examples/table/custom-merge-cell.vue +206 -0
  300. package/docs/examples/table/dynamic-type.vue +73 -73
  301. package/docs/examples/table/editable.vue +262 -262
  302. package/docs/examples/table/field-selection.vue +87 -87
  303. package/docs/examples/table/frozen-column.vue +140 -140
  304. package/docs/examples/table/height-mode.vue +99 -99
  305. package/docs/examples/table/icon.vue +85 -85
  306. package/docs/examples/table/layer-form.vue +133 -133
  307. package/docs/examples/table/link.vue +66 -66
  308. package/docs/examples/table/merge-cell.vue +78 -0
  309. package/docs/examples/table/multiple-disabled.vue +112 -112
  310. package/docs/examples/table/multiple.vue +188 -188
  311. package/docs/examples/table/pagination.vue +151 -151
  312. package/docs/examples/table/row-drag.vue +67 -67
  313. package/docs/examples/table/row-fixed.vue +61 -0
  314. package/docs/examples/table/single-selection.vue +64 -64
  315. package/docs/examples/table/sub-table-lazy.vue +97 -97
  316. package/docs/examples/table/sub-table.vue +103 -103
  317. package/docs/examples/table/tag.vue +43 -43
  318. package/docs/examples/table/tree-column.vue +119 -119
  319. package/docs/examples/table/tree-data.vue +141 -141
  320. package/docs/examples/table/tree-default-expand-all.vue +60 -60
  321. package/docs/examples/table/tree-lazy.vue +80 -80
  322. package/docs/examples/table/tree-set-selection.vue +75 -75
  323. package/docs/examples/table-panel/basic.vue +229 -229
  324. package/docs/examples/table-panel/batch-operations.vue +286 -286
  325. package/docs/examples/table-panel/button-visibility.vue +88 -88
  326. package/docs/examples/table-panel/card.vue +101 -101
  327. package/docs/examples/table-panel/column-filter.vue +116 -116
  328. package/docs/examples/table-panel/filter.vue +219 -219
  329. package/docs/examples/table-panel/get-selection.vue +111 -111
  330. package/docs/examples/table-panel/mask.vue +151 -151
  331. package/docs/examples/table-panel/model-value.vue +87 -87
  332. package/docs/examples/table-panel/multiple-selection.vue +243 -243
  333. package/docs/examples/table-panel/pagination.vue +133 -133
  334. package/docs/examples/table-panel/search-list.vue +207 -207
  335. package/docs/examples/table-panel/sub-table-lazy.vue +118 -118
  336. package/docs/examples/table-panel/tree-parent-key.vue +67 -67
  337. package/docs/examples/tabs/basic.vue +98 -98
  338. package/docs/examples/time/base.vue +67 -67
  339. package/docs/examples/title/basic.vue +87 -87
  340. package/docs/examples/tree/accordion.vue +46 -46
  341. package/docs/examples/tree/basic.vue +50 -50
  342. package/docs/examples/tree/buttons.vue +53 -53
  343. package/docs/examples/tree/check-strictly.vue +53 -53
  344. package/docs/examples/tree/checkable.vue +52 -52
  345. package/docs/examples/tree/custom-keys.vue +39 -39
  346. package/docs/examples/tree/default-expanded.vue +52 -52
  347. package/docs/examples/tree/draggable.vue +29 -29
  348. package/docs/examples/tree/expand-on-click.vue +39 -39
  349. package/docs/examples/tree/flat-data.vue +20 -20
  350. package/docs/examples/tree/icon.vue +40 -40
  351. package/docs/examples/tree/load-data.vue +37 -37
  352. package/docs/examples/tree/methods.vue +74 -74
  353. package/docs/examples/tree/theme.vue +33 -33
  354. package/docs/examples/tree-select/basic.vue +47 -47
  355. package/docs/examples/upload/accept.vue +31 -31
  356. package/docs/examples/upload/basic.vue +12 -12
  357. package/docs/examples/upload/drag.vue +11 -11
  358. package/docs/examples/upload/image.vue +17 -17
  359. package/docs/examples/upload/limit.vue +20 -20
  360. package/docs/examples/upload/multiple.vue +17 -17
  361. package/docs/examples/upload/readonly.vue +17 -17
  362. package/docs/examples/utils/cipher.vue +160 -160
  363. package/docs/examples/utils/common.vue +153 -153
  364. package/docs/examples/utils/date.vue +56 -56
  365. package/docs/examples/utils/dom.vue +52 -52
  366. package/docs/examples/utils/is.vue +70 -70
  367. package/docs/examples/workflow/basic.vue +265 -265
  368. package/docs/examples/workflow-viewer/basic.vue +248 -248
  369. package/package.json +26 -26
package/README.md CHANGED
@@ -1,156 +1,156 @@
1
- # SimCode UI
2
-
3
- <div align="center">
4
- <h1>SimCode UI</h1>
5
- <p>基于 Vue 3 + TypeScript 的现代化 UI 组件库</p>
6
- </div>
7
-
8
- ## ✨ 特性
9
-
10
- - 🚀 **现代化技术栈**: 基于 Vue 3 + TypeScript + Vite
11
- - 📦 **开箱即用**: 提供完善的类型定义和文档
12
- - 🎨 **精美设计**: 现代化的设计风格
13
- - 🔧 **易于定制**: 支持主题定制
14
- - ⚡️ **按需加载**: 支持 Tree Shaking
15
- - 🧪 **完善测试**: 单元测试覆盖
16
-
17
- ## 📦 安装
18
-
19
- 使用 pnpm:
20
-
21
- ```bash
22
- pnpm add @a2simcode/ui
23
- ```
24
-
25
- 使用 npm:
26
-
27
- ```bash
28
- npm install @a2simcode/ui
29
- ```
30
-
31
- 使用 yarn:
32
-
33
- ```bash
34
- yarn add @a2simcode/ui
35
- ```
36
-
37
- ### 安装 Peer Dependencies
38
-
39
- `@a2simcode/ui` 使用 peer dependencies 来避免重复打包依赖。**必须安装**以下依赖:
40
-
41
- ```bash
42
- pnpm add vue element-plus
43
- ```
44
-
45
- 根据你使用的组件,可能还需要安装以下**可选依赖**:
46
-
47
- ```bash
48
- # 如果使用表格组件
49
- pnpm add @visactor/vtable @visactor/vtable-editors
50
-
51
- # 如果使用图表组件
52
- pnpm add echarts
53
-
54
- # 如果使用代码编辑器组件
55
- pnpm add codemirror @codemirror/autocomplete @codemirror/commands @codemirror/lang-javascript @codemirror/lang-json @codemirror/lang-sql @codemirror/lang-python @codemirror/lang-java @codemirror/lang-css @codemirror/lang-html @codemirror/lang-xml @codemirror/lang-markdown @codemirror/language @codemirror/state @codemirror/view
56
-
57
- # 如果使用其他功能组件
58
- pnpm add @iconify/vue @vueuse/core dayjs async-validator crypto-js sortablejs sql-formatter countup.js @bwip-js/browser @wangeditor/editor diagram-js diagram-js-direct-editing min-dom inherits tiny-svg min-dash
59
- ```
60
-
61
- > **注意**: 由于 `@a2simcode/ui` 输出的是预打包的单文件,使用方的打包器可能无法自动识别 peer dependencies。请确保在使用相关组件前,已安装对应的 peer dependencies。
62
-
63
- ## 🔨 快速开始
64
-
65
- ### 完整引入
66
-
67
- ```typescript
68
- import { createApp } from 'vue'
69
- import App from './App.vue'
70
- import SimCodeUI from '@a2simcode/ui'
71
- import '@a2simcode/ui/dist/style.css'
72
-
73
- const app = createApp(App)
74
- app.use(SimCodeUI)
75
- app.mount('#app')
76
- ```
77
-
78
- ### 按需引入
79
-
80
- ```vue
81
- <template>
82
- <j-button type="primary">按钮</j-button>
83
- </template>
84
-
85
- <script setup lang="ts">
86
- import { JButton } from '@a2simcode/ui'
87
- import '@a2simcode/ui/dist/style.css'
88
- </script>
89
- ```
90
-
91
- ## 🎯 组件列表
92
-
93
- - ✅ Button 按钮
94
- - ✅ Input 输入框
95
- - ✅ Radio 单选框
96
- - 🚧 更多组件开发中...
97
-
98
- ## 💻 本地开发
99
-
100
- ```bash
101
- # 进入项目目录
102
- cd simcode-ui
103
-
104
- # 安装依赖
105
- pnpm install
106
-
107
- # 启动开发服务器
108
- pnpm dev
109
-
110
- # 构建组件库
111
- pnpm build
112
-
113
- # 运行测试
114
- pnpm test
115
-
116
- # 启动文档站点
117
- pnpm docs:dev
118
- ```
119
-
120
- ## 📁 项目结构
121
-
122
- ```
123
- simcode-ui/
124
- ├── packages/ # 组件源码
125
- │ ├── components/ # 组件
126
- │ │ ├── button/ # 按钮组件
127
- │ │ ├── input/ # 输入框组件
128
- │ │ └── index.ts # 组件入口
129
- │ └── theme/ # 主题样式
130
- │ └── src/ # 样式源码 (Less)
131
- ├── examples/ # 组件预览
132
- │ ├── App.vue # 预览应用
133
- │ └── main.ts # 入口文件
134
- ├── docs/ # 文档
135
- │ ├── .vitepress/ # VitePress 配置
136
- │ ├── guide/ # 指南
137
- │ └── components/ # 组件文档
138
- ├── __tests__/ # 测试文件
139
- ├── vite.config.ts # Vite 配置
140
- ├── vitest.config.ts # Vitest 配置
141
- └── package.json # 项目配置
142
- ```
143
-
144
- ## 🤝 贡献
145
-
146
- 欢迎提交 Issue 和 Pull Request!
147
-
148
- ## 📄 版权声明
149
-
150
- Copyright © 2024 苏州极简搭信息技术有限公司. All rights reserved.
151
-
152
- 本软件及其相关文档为专有软件,受版权法保护。未经版权所有者明确书面许可,不得以任何形式或方式(电子、机械、复印、录制或其他方式)复制、分发、传播或使用本软件的任何部分。
153
-
154
- ## 🙏 致谢
155
-
156
- 感谢所有为这个项目做出贡献的开发者!
1
+ # SimCode UI
2
+
3
+ <div align="center">
4
+ <h1>SimCode UI</h1>
5
+ <p>基于 Vue 3 + TypeScript 的现代化 UI 组件库</p>
6
+ </div>
7
+
8
+ ## ✨ 特性
9
+
10
+ - 🚀 **现代化技术栈**: 基于 Vue 3 + TypeScript + Vite
11
+ - 📦 **开箱即用**: 提供完善的类型定义和文档
12
+ - 🎨 **精美设计**: 现代化的设计风格
13
+ - 🔧 **易于定制**: 支持主题定制
14
+ - ⚡️ **按需加载**: 支持 Tree Shaking
15
+ - 🧪 **完善测试**: 单元测试覆盖
16
+
17
+ ## 📦 安装
18
+
19
+ 使用 pnpm:
20
+
21
+ ```bash
22
+ pnpm add @a2simcode/ui
23
+ ```
24
+
25
+ 使用 npm:
26
+
27
+ ```bash
28
+ npm install @a2simcode/ui
29
+ ```
30
+
31
+ 使用 yarn:
32
+
33
+ ```bash
34
+ yarn add @a2simcode/ui
35
+ ```
36
+
37
+ ### 安装 Peer Dependencies
38
+
39
+ `@a2simcode/ui` 使用 peer dependencies 来避免重复打包依赖。**必须安装**以下依赖:
40
+
41
+ ```bash
42
+ pnpm add vue element-plus
43
+ ```
44
+
45
+ 根据你使用的组件,可能还需要安装以下**可选依赖**:
46
+
47
+ ```bash
48
+ # 如果使用表格组件
49
+ pnpm add @visactor/vtable @visactor/vtable-editors
50
+
51
+ # 如果使用图表组件
52
+ pnpm add echarts
53
+
54
+ # 如果使用代码编辑器组件
55
+ pnpm add codemirror @codemirror/autocomplete @codemirror/commands @codemirror/lang-javascript @codemirror/lang-json @codemirror/lang-sql @codemirror/lang-python @codemirror/lang-java @codemirror/lang-css @codemirror/lang-html @codemirror/lang-xml @codemirror/lang-markdown @codemirror/language @codemirror/state @codemirror/view
56
+
57
+ # 如果使用其他功能组件
58
+ pnpm add @iconify/vue @vueuse/core dayjs async-validator crypto-js sortablejs sql-formatter countup.js @bwip-js/browser @wangeditor/editor diagram-js diagram-js-direct-editing min-dom inherits tiny-svg min-dash
59
+ ```
60
+
61
+ > **注意**: 由于 `@a2simcode/ui` 输出的是预打包的单文件,使用方的打包器可能无法自动识别 peer dependencies。请确保在使用相关组件前,已安装对应的 peer dependencies。
62
+
63
+ ## 🔨 快速开始
64
+
65
+ ### 完整引入
66
+
67
+ ```typescript
68
+ import { createApp } from 'vue'
69
+ import App from './App.vue'
70
+ import SimCodeUI from '@a2simcode/ui'
71
+ import '@a2simcode/ui/dist/style.css'
72
+
73
+ const app = createApp(App)
74
+ app.use(SimCodeUI)
75
+ app.mount('#app')
76
+ ```
77
+
78
+ ### 按需引入
79
+
80
+ ```vue
81
+ <template>
82
+ <j-button type="primary">按钮</j-button>
83
+ </template>
84
+
85
+ <script setup lang="ts">
86
+ import { JButton } from '@a2simcode/ui'
87
+ import '@a2simcode/ui/dist/style.css'
88
+ </script>
89
+ ```
90
+
91
+ ## 🎯 组件列表
92
+
93
+ - ✅ Button 按钮
94
+ - ✅ Input 输入框
95
+ - ✅ Radio 单选框
96
+ - 🚧 更多组件开发中...
97
+
98
+ ## 💻 本地开发
99
+
100
+ ```bash
101
+ # 进入项目目录
102
+ cd simcode-ui
103
+
104
+ # 安装依赖
105
+ pnpm install
106
+
107
+ # 启动开发服务器
108
+ pnpm dev
109
+
110
+ # 构建组件库
111
+ pnpm build
112
+
113
+ # 运行测试
114
+ pnpm test
115
+
116
+ # 启动文档站点
117
+ pnpm docs:dev
118
+ ```
119
+
120
+ ## 📁 项目结构
121
+
122
+ ```
123
+ simcode-ui/
124
+ ├── packages/ # 组件源码
125
+ │ ├── components/ # 组件
126
+ │ │ ├── button/ # 按钮组件
127
+ │ │ ├── input/ # 输入框组件
128
+ │ │ └── index.ts # 组件入口
129
+ │ └── theme/ # 主题样式
130
+ │ └── src/ # 样式源码 (Less)
131
+ ├── examples/ # 组件预览
132
+ │ ├── App.vue # 预览应用
133
+ │ └── main.ts # 入口文件
134
+ ├── docs/ # 文档
135
+ │ ├── .vitepress/ # VitePress 配置
136
+ │ ├── guide/ # 指南
137
+ │ └── components/ # 组件文档
138
+ ├── __tests__/ # 测试文件
139
+ ├── vite.config.ts # Vite 配置
140
+ ├── vitest.config.ts # Vitest 配置
141
+ └── package.json # 项目配置
142
+ ```
143
+
144
+ ## 🤝 贡献
145
+
146
+ 欢迎提交 Issue 和 Pull Request!
147
+
148
+ ## 📄 版权声明
149
+
150
+ Copyright © 2024 苏州极简搭信息技术有限公司. All rights reserved.
151
+
152
+ 本软件及其相关文档为专有软件,受版权法保护。未经版权所有者明确书面许可,不得以任何形式或方式(电子、机械、复印、录制或其他方式)复制、分发、传播或使用本软件的任何部分。
153
+
154
+ ## 🙏 致谢
155
+
156
+ 感谢所有为这个项目做出贡献的开发者!
@@ -4,6 +4,10 @@ declare const JTable: {
4
4
  type: StringConstructor;
5
5
  default: string;
6
6
  };
7
+ label: {
8
+ type: StringConstructor;
9
+ default: string;
10
+ };
7
11
  modelValue: {
8
12
  type: import('vue').PropType<Record<string, any>[]>;
9
13
  default: () => never[];
@@ -116,6 +120,14 @@ declare const JTable: {
116
120
  type: (StringConstructor | NumberConstructor)[];
117
121
  default: undefined;
118
122
  };
123
+ isRowFixed: {
124
+ type: BooleanConstructor;
125
+ default: boolean;
126
+ };
127
+ rowNum: {
128
+ type: NumberConstructor;
129
+ default: number;
130
+ };
119
131
  highlightMode: {
120
132
  type: import('vue').PropType<"cross" | "row" | "column" | "cell">;
121
133
  default: string;
@@ -144,6 +156,10 @@ declare const JTable: {
144
156
  type: import('vue').PropType<(record: Record<string, any>) => Promise<any[]>>;
145
157
  default: null;
146
158
  };
159
+ customMergeCell: {
160
+ type: import('vue').PropType<import('.').CustomMergeCellOption>;
161
+ default: null;
162
+ };
147
163
  }>> & Readonly<{
148
164
  "onUpdate:modelValue"?: ((value: Record<string, any>[]) => any) | undefined;
149
165
  onChange?: ((data: {
@@ -202,8 +218,10 @@ declare const JTable: {
202
218
  page: number;
203
219
  }) => any;
204
220
  }, import('vue').PublicProps, {
221
+ label: string;
205
222
  id: string;
206
223
  modelValue: Record<string, any>[];
224
+ rowNum: number;
207
225
  isPage: boolean;
208
226
  columns: import('.').ColumnSchemaConfig[];
209
227
  columnFilter: string[];
@@ -238,6 +256,7 @@ declare const JTable: {
238
256
  isAnimationAppear: boolean;
239
257
  heightMode: "auto" | "full";
240
258
  maxHeight: string | number;
259
+ isRowFixed: boolean;
241
260
  highlightMode: "row" | "cross" | "column" | "cell";
242
261
  editConfig: import('..').EditConfigType;
243
262
  emptyTipText: string;
@@ -245,6 +264,7 @@ declare const JTable: {
245
264
  isSubShowNumber: boolean;
246
265
  subActions: import('..').ButtonCompType[];
247
266
  loadChildren: (record: Record<string, any>) => Promise<any[]>;
267
+ customMergeCell: import('.').CustomMergeCellOption;
248
268
  }, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {
249
269
  tableContainer: HTMLDivElement;
250
270
  }, HTMLDivElement, import('vue').ComponentProvideOptions, {
@@ -259,6 +279,10 @@ declare const JTable: {
259
279
  type: StringConstructor;
260
280
  default: string;
261
281
  };
282
+ label: {
283
+ type: StringConstructor;
284
+ default: string;
285
+ };
262
286
  modelValue: {
263
287
  type: import('vue').PropType<Record<string, any>[]>;
264
288
  default: () => never[];
@@ -371,6 +395,14 @@ declare const JTable: {
371
395
  type: (StringConstructor | NumberConstructor)[];
372
396
  default: undefined;
373
397
  };
398
+ isRowFixed: {
399
+ type: BooleanConstructor;
400
+ default: boolean;
401
+ };
402
+ rowNum: {
403
+ type: NumberConstructor;
404
+ default: number;
405
+ };
374
406
  highlightMode: {
375
407
  type: import('vue').PropType<"cross" | "row" | "column" | "cell">;
376
408
  default: string;
@@ -399,6 +431,10 @@ declare const JTable: {
399
431
  type: import('vue').PropType<(record: Record<string, any>) => Promise<any[]>>;
400
432
  default: null;
401
433
  };
434
+ customMergeCell: {
435
+ type: import('vue').PropType<import('.').CustomMergeCellOption>;
436
+ default: null;
437
+ };
402
438
  }>> & Readonly<{
403
439
  "onUpdate:modelValue"?: ((value: Record<string, any>[]) => any) | undefined;
404
440
  onChange?: ((data: {
@@ -432,8 +468,10 @@ declare const JTable: {
432
468
  setSelection: (records: any[]) => void;
433
469
  renderTable: () => void;
434
470
  }, {}, {}, {}, {
471
+ label: string;
435
472
  id: string;
436
473
  modelValue: Record<string, any>[];
474
+ rowNum: number;
437
475
  isPage: boolean;
438
476
  columns: import('.').ColumnSchemaConfig[];
439
477
  columnFilter: string[];
@@ -468,6 +506,7 @@ declare const JTable: {
468
506
  isAnimationAppear: boolean;
469
507
  heightMode: "auto" | "full";
470
508
  maxHeight: string | number;
509
+ isRowFixed: boolean;
471
510
  highlightMode: "row" | "cross" | "column" | "cell";
472
511
  editConfig: import('..').EditConfigType;
473
512
  emptyTipText: string;
@@ -475,6 +514,7 @@ declare const JTable: {
475
514
  isSubShowNumber: boolean;
476
515
  subActions: import('..').ButtonCompType[];
477
516
  loadChildren: (record: Record<string, any>) => Promise<any[]>;
517
+ customMergeCell: import('.').CustomMergeCellOption;
478
518
  }>;
479
519
  __isFragment?: never;
480
520
  __isTeleport?: never;
@@ -484,6 +524,10 @@ declare const JTable: {
484
524
  type: StringConstructor;
485
525
  default: string;
486
526
  };
527
+ label: {
528
+ type: StringConstructor;
529
+ default: string;
530
+ };
487
531
  modelValue: {
488
532
  type: import('vue').PropType<Record<string, any>[]>;
489
533
  default: () => never[];
@@ -596,6 +640,14 @@ declare const JTable: {
596
640
  type: (StringConstructor | NumberConstructor)[];
597
641
  default: undefined;
598
642
  };
643
+ isRowFixed: {
644
+ type: BooleanConstructor;
645
+ default: boolean;
646
+ };
647
+ rowNum: {
648
+ type: NumberConstructor;
649
+ default: number;
650
+ };
599
651
  highlightMode: {
600
652
  type: import('vue').PropType<"cross" | "row" | "column" | "cell">;
601
653
  default: string;
@@ -624,6 +676,10 @@ declare const JTable: {
624
676
  type: import('vue').PropType<(record: Record<string, any>) => Promise<any[]>>;
625
677
  default: null;
626
678
  };
679
+ customMergeCell: {
680
+ type: import('vue').PropType<import('.').CustomMergeCellOption>;
681
+ default: null;
682
+ };
627
683
  }>> & Readonly<{
628
684
  "onUpdate:modelValue"?: ((value: Record<string, any>[]) => any) | undefined;
629
685
  onChange?: ((data: {
@@ -682,8 +738,10 @@ declare const JTable: {
682
738
  page: number;
683
739
  }) => any;
684
740
  }, string, {
741
+ label: string;
685
742
  id: string;
686
743
  modelValue: Record<string, any>[];
744
+ rowNum: number;
687
745
  isPage: boolean;
688
746
  columns: import('.').ColumnSchemaConfig[];
689
747
  columnFilter: string[];
@@ -718,6 +776,7 @@ declare const JTable: {
718
776
  isAnimationAppear: boolean;
719
777
  heightMode: "auto" | "full";
720
778
  maxHeight: string | number;
779
+ isRowFixed: boolean;
721
780
  highlightMode: "row" | "cross" | "column" | "cell";
722
781
  editConfig: import('..').EditConfigType;
723
782
  emptyTipText: string;
@@ -725,6 +784,7 @@ declare const JTable: {
725
784
  isSubShowNumber: boolean;
726
785
  subActions: import('..').ButtonCompType[];
727
786
  loadChildren: (record: Record<string, any>) => Promise<any[]>;
787
+ customMergeCell: import('.').CustomMergeCellOption;
728
788
  }, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & {
729
789
  install: (app: import('vue').App) => void;
730
790
  };
@@ -1,4 +1,42 @@
1
1
  import { BaseSchemaConfig, BaseCompConfig } from '../../comp/src/interface';
2
+ /**
3
+ * @zh 合并单元格配置类型
4
+ */
5
+ export type MergeCellOption = boolean | ((v1: unknown, v2: unknown, info: {
6
+ source: {
7
+ col: number;
8
+ row: number;
9
+ };
10
+ target: {
11
+ col: number;
12
+ row: number;
13
+ };
14
+ table: any;
15
+ }) => boolean);
16
+ /**
17
+ * @zh 自定义合并单元格规则
18
+ */
19
+ export interface CustomMergeCellRule {
20
+ /** 合并单元格内的文字 */
21
+ text?: string;
22
+ /** 合并的范围 */
23
+ range: {
24
+ start: {
25
+ col: number;
26
+ row: number;
27
+ };
28
+ end: {
29
+ col: number;
30
+ row: number;
31
+ };
32
+ };
33
+ /** 合并单元格的样式 */
34
+ style?: Record<string, any>;
35
+ }
36
+ /**
37
+ * @zh 自定义合并单元格配置类型
38
+ */
39
+ export type CustomMergeCellOption = CustomMergeCellRule[] | ((col: number, row: number, table: any) => CustomMergeCellRule | undefined);
2
40
  export interface TableColumnConfig {
3
41
  /**
4
42
  * @zh 列的宽度
@@ -52,6 +90,10 @@ export interface TableColumnConfig {
52
90
  * @zh 冻结列 left 左侧冻结 right 右侧冻结
53
91
  */
54
92
  frozen?: 'left' | 'right';
93
+ /**
94
+ * @zh 合并单元格配置,为 true 时自动合并相邻相同值的单元格,也可传入自定义合并函数
95
+ */
96
+ mergeCell?: MergeCellOption;
55
97
  }
56
98
  export type TableColumnCompConfig = TableColumnConfig & BaseCompConfig;
57
99
  export interface TableColumnFilter {
@@ -1,4 +1,4 @@
1
- import { ColumnSchemaConfig } from './interface';
1
+ import { ColumnSchemaConfig, CustomMergeCellOption } from './interface';
2
2
  import { ButtonCompType } from '../../buttons/src/interface';
3
3
  import { EditConfigType } from '../../input-rows/src/interface';
4
4
  import { PropType } from 'vue';
@@ -7,6 +7,10 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
7
7
  type: StringConstructor;
8
8
  default: string;
9
9
  };
10
+ label: {
11
+ type: StringConstructor;
12
+ default: string;
13
+ };
10
14
  /**
11
15
  * @zh 输入值【作为表单的编辑表格使用】
12
16
  * @vModel
@@ -198,6 +202,20 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
198
202
  type: (StringConstructor | NumberConstructor)[];
199
203
  default: undefined;
200
204
  };
205
+ /**
206
+ * @zh 是否固定行数
207
+ */
208
+ isRowFixed: {
209
+ type: BooleanConstructor;
210
+ default: boolean;
211
+ };
212
+ /**
213
+ * @zh 固定行数,仅在 isRowFixed 为 true 时生效
214
+ */
215
+ rowNum: {
216
+ type: NumberConstructor;
217
+ default: number;
218
+ };
201
219
  /**
202
220
  * @zh 高亮模式 cross 十字 row 行 column 列 cell 单元格
203
221
  */
@@ -247,6 +265,13 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
247
265
  type: PropType<(record: Record<string, any>) => Promise<any[]>>;
248
266
  default: null;
249
267
  };
268
+ /**
269
+ * @zh 自定义合并单元格配置,支持回调函数或合并规则数组
270
+ */
271
+ customMergeCell: {
272
+ type: PropType<CustomMergeCellOption>;
273
+ default: null;
274
+ };
250
275
  }>, {
251
276
  getInstance: () => any;
252
277
  setRecords: (records: Record<string, any>[]) => void;
@@ -284,6 +309,10 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
284
309
  type: StringConstructor;
285
310
  default: string;
286
311
  };
312
+ label: {
313
+ type: StringConstructor;
314
+ default: string;
315
+ };
287
316
  /**
288
317
  * @zh 输入值【作为表单的编辑表格使用】
289
318
  * @vModel
@@ -475,6 +504,20 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
475
504
  type: (StringConstructor | NumberConstructor)[];
476
505
  default: undefined;
477
506
  };
507
+ /**
508
+ * @zh 是否固定行数
509
+ */
510
+ isRowFixed: {
511
+ type: BooleanConstructor;
512
+ default: boolean;
513
+ };
514
+ /**
515
+ * @zh 固定行数,仅在 isRowFixed 为 true 时生效
516
+ */
517
+ rowNum: {
518
+ type: NumberConstructor;
519
+ default: number;
520
+ };
478
521
  /**
479
522
  * @zh 高亮模式 cross 十字 row 行 column 列 cell 单元格
480
523
  */
@@ -524,6 +567,13 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
524
567
  type: PropType<(record: Record<string, any>) => Promise<any[]>>;
525
568
  default: null;
526
569
  };
570
+ /**
571
+ * @zh 自定义合并单元格配置,支持回调函数或合并规则数组
572
+ */
573
+ customMergeCell: {
574
+ type: PropType<CustomMergeCellOption>;
575
+ default: null;
576
+ };
527
577
  }>> & Readonly<{
528
578
  "onUpdate:modelValue"?: ((value: Record<string, any>[]) => any) | undefined;
529
579
  onChange?: ((data: {
@@ -550,8 +600,10 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
550
600
  page: number;
551
601
  }) => any) | undefined;
552
602
  }>, {
603
+ label: string;
553
604
  id: string;
554
605
  modelValue: Record<string, any>[];
606
+ rowNum: number;
555
607
  isPage: boolean;
556
608
  columns: ColumnSchemaConfig[];
557
609
  columnFilter: string[];
@@ -586,6 +638,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
586
638
  isAnimationAppear: boolean;
587
639
  heightMode: "auto" | "full";
588
640
  maxHeight: string | number;
641
+ isRowFixed: boolean;
589
642
  highlightMode: "row" | "cross" | "column" | "cell";
590
643
  editConfig: EditConfigType;
591
644
  emptyTipText: string;
@@ -593,6 +646,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
593
646
  isSubShowNumber: boolean;
594
647
  subActions: ButtonCompType[];
595
648
  loadChildren: (record: Record<string, any>) => Promise<any[]>;
649
+ customMergeCell: CustomMergeCellOption;
596
650
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {
597
651
  tableContainer: HTMLDivElement;
598
652
  }, HTMLDivElement>;