@will-ui/vue 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (699) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +48 -0
  3. package/TAILWIND.md +282 -0
  4. package/dist/_virtual/_rolldown/runtime.js +13 -0
  5. package/dist/components/audioPlayer/AudioPlayer.d.ts +123 -0
  6. package/dist/components/audioPlayer/AudioPlayer.js +375 -0
  7. package/dist/components/audioPlayer/AudioPlayer.js.map +1 -0
  8. package/dist/components/audioPlayer/index.d.ts +2 -0
  9. package/dist/components/audioPlayer/style/index.css +1 -0
  10. package/dist/components/btn/Btn.d.ts +45 -0
  11. package/dist/components/btn/Btn.js +165 -0
  12. package/dist/components/btn/Btn.js.map +1 -0
  13. package/dist/components/btn/config.d.ts +33 -0
  14. package/dist/components/btn/config.js +20 -0
  15. package/dist/components/btn/config.js.map +1 -0
  16. package/dist/components/btn/context.d.ts +12 -0
  17. package/dist/components/btn/context.js +6 -0
  18. package/dist/components/btn/context.js.map +1 -0
  19. package/dist/components/btn/index.d.ts +5 -0
  20. package/dist/components/btn/style/index.css +1 -0
  21. package/dist/components/btnGroup/BtnGroup.d.ts +46 -0
  22. package/dist/components/btnGroup/BtnGroup.js +43 -0
  23. package/dist/components/btnGroup/BtnGroup.js.map +1 -0
  24. package/dist/components/btnGroup/config.d.ts +14 -0
  25. package/dist/components/btnGroup/config.js +11 -0
  26. package/dist/components/btnGroup/config.js.map +1 -0
  27. package/dist/components/btnGroup/index.d.ts +3 -0
  28. package/dist/components/btnGroup/style/index.css +1 -0
  29. package/dist/components/cascade/Cascade.d.ts +1957 -0
  30. package/dist/components/cascade/Cascade.js +283 -0
  31. package/dist/components/cascade/Cascade.js.map +1 -0
  32. package/dist/components/cascade/config.d.ts +30 -0
  33. package/dist/components/cascade/config.js +18 -0
  34. package/dist/components/cascade/config.js.map +1 -0
  35. package/dist/components/cascade/index.d.ts +3 -0
  36. package/dist/components/cascade/style/index.css +1 -0
  37. package/dist/components/checkbox/Checkbox.d.ts +241 -0
  38. package/dist/components/checkbox/Checkbox.js +182 -0
  39. package/dist/components/checkbox/Checkbox.js.map +1 -0
  40. package/dist/components/checkbox/config.d.ts +18 -0
  41. package/dist/components/checkbox/config.js +11 -0
  42. package/dist/components/checkbox/config.js.map +1 -0
  43. package/dist/components/checkbox/index.d.ts +3 -0
  44. package/dist/components/checkbox/style/index.css +1 -0
  45. package/dist/components/choose/Choose.d.ts +1016 -0
  46. package/dist/components/choose/Choose.js +402 -0
  47. package/dist/components/choose/Choose.js.map +1 -0
  48. package/dist/components/choose/config.d.ts +37 -0
  49. package/dist/components/choose/config.js +21 -0
  50. package/dist/components/choose/config.js.map +1 -0
  51. package/dist/components/choose/index.d.ts +3 -0
  52. package/dist/components/choose/injectionKey.d.ts +12 -0
  53. package/dist/components/choose/injectionKey.js +11 -0
  54. package/dist/components/choose/injectionKey.js.map +1 -0
  55. package/dist/components/choose/style/index.css +1 -0
  56. package/dist/components/choose2/Choose2.d.ts +1711 -0
  57. package/dist/components/choose2/Choose2.js +403 -0
  58. package/dist/components/choose2/Choose2.js.map +1 -0
  59. package/dist/components/choose2/config.d.ts +37 -0
  60. package/dist/components/choose2/config.js +20 -0
  61. package/dist/components/choose2/config.js.map +1 -0
  62. package/dist/components/choose2/index.d.ts +3 -0
  63. package/dist/components/choose2/style/index.css +1 -0
  64. package/dist/components/chooseItem/ChooseItem.d.ts +46 -0
  65. package/dist/components/chooseItem/ChooseItem.js +72 -0
  66. package/dist/components/chooseItem/ChooseItem.js.map +1 -0
  67. package/dist/components/chooseItem/config.d.ts +12 -0
  68. package/dist/components/chooseItem/config.js +9 -0
  69. package/dist/components/chooseItem/config.js.map +1 -0
  70. package/dist/components/chooseItem/index.d.ts +3 -0
  71. package/dist/components/chooseItem/style/index.css +1 -0
  72. package/dist/components/circleProgress/CircleProgress.d.ts +83 -0
  73. package/dist/components/circleProgress/CircleProgress.js +108 -0
  74. package/dist/components/circleProgress/CircleProgress.js.map +1 -0
  75. package/dist/components/circleProgress/index.d.ts +1 -0
  76. package/dist/components/circleProgress/style/index.css +1 -0
  77. package/dist/components/close/Close.d.ts +114 -0
  78. package/dist/components/close/Close.js +82 -0
  79. package/dist/components/close/Close.js.map +1 -0
  80. package/dist/components/close/index.d.ts +1 -0
  81. package/dist/components/close/style/index.css +1 -0
  82. package/dist/components/colorPicker/ColorPicker.d.ts +138 -0
  83. package/dist/components/colorPicker/ColorPicker.js +404 -0
  84. package/dist/components/colorPicker/ColorPicker.js.map +1 -0
  85. package/dist/components/colorPicker/config.d.ts +24 -0
  86. package/dist/components/colorPicker/config.js +14 -0
  87. package/dist/components/colorPicker/config.js.map +1 -0
  88. package/dist/components/colorPicker/index.d.ts +4 -0
  89. package/dist/components/colorPicker/style/index.css +1 -0
  90. package/dist/components/confirm/index.d.ts +73 -0
  91. package/dist/components/confirm/index.js +177 -0
  92. package/dist/components/confirm/index.js.map +1 -0
  93. package/dist/components/confirm/src/style/index.css +1 -0
  94. package/dist/components/copy/Copy.d.ts +28 -0
  95. package/dist/components/copy/Copy.js +110 -0
  96. package/dist/components/copy/Copy.js.map +1 -0
  97. package/dist/components/copy/config.d.ts +25 -0
  98. package/dist/components/copy/config.js +13 -0
  99. package/dist/components/copy/config.js.map +1 -0
  100. package/dist/components/copy/index.d.ts +5 -0
  101. package/dist/components/copy/spawnCopyToast.d.ts +13 -0
  102. package/dist/components/copy/spawnCopyToast.js +150 -0
  103. package/dist/components/copy/spawnCopyToast.js.map +1 -0
  104. package/dist/components/copy/style/index.css +1 -0
  105. package/dist/components/cornerEars/CornerEars.d.ts +24 -0
  106. package/dist/components/cornerEars/CornerEars.js +108 -0
  107. package/dist/components/cornerEars/CornerEars.js.map +1 -0
  108. package/dist/components/cornerEars/cornerGeometry.d.ts +8 -0
  109. package/dist/components/cornerEars/cornerGeometry.js +63 -0
  110. package/dist/components/cornerEars/cornerGeometry.js.map +1 -0
  111. package/dist/components/cornerEars/index.d.ts +2 -0
  112. package/dist/components/cornerEars/style/index.css +1 -0
  113. package/dist/components/date/DatePanel.js +398 -0
  114. package/dist/components/date/DatePanel.js.map +1 -0
  115. package/dist/components/date/DatePicker.d.ts +226 -0
  116. package/dist/components/date/DatePicker.js +349 -0
  117. package/dist/components/date/DatePicker.js.map +1 -0
  118. package/dist/components/date/Days.d.ts +44 -0
  119. package/dist/components/date/Days.js +93 -0
  120. package/dist/components/date/Days.js.map +1 -0
  121. package/dist/components/date/Months.d.ts +32 -0
  122. package/dist/components/date/Months.js +87 -0
  123. package/dist/components/date/Months.js.map +1 -0
  124. package/dist/components/date/QuickDate.d.ts +24 -0
  125. package/dist/components/date/QuickDate.js +48 -0
  126. package/dist/components/date/QuickDate.js.map +1 -0
  127. package/dist/components/date/Years.d.ts +38 -0
  128. package/dist/components/date/Years.js +85 -0
  129. package/dist/components/date/Years.js.map +1 -0
  130. package/dist/components/date/_use/quickDate.d.ts +4 -0
  131. package/dist/components/date/_use/quickDate.js +30 -0
  132. package/dist/components/date/_use/quickDate.js.map +1 -0
  133. package/dist/components/date/_use/useDateModules.d.ts +37 -0
  134. package/dist/components/date/_use/useDateModules.js +100 -0
  135. package/dist/components/date/_use/useDateModules.js.map +1 -0
  136. package/dist/components/date/config.d.ts +32 -0
  137. package/dist/components/date/config.js +18 -0
  138. package/dist/components/date/config.js.map +1 -0
  139. package/dist/components/date/index.d.ts +3 -0
  140. package/dist/components/date/style/index.css +1 -0
  141. package/dist/components/date/types.d.ts +32 -0
  142. package/dist/components/drawer/Drawer.d.ts +332 -0
  143. package/dist/components/drawer/Drawer.js +329 -0
  144. package/dist/components/drawer/Drawer.js.map +1 -0
  145. package/dist/components/drawer/config.d.ts +28 -0
  146. package/dist/components/drawer/config.js +16 -0
  147. package/dist/components/drawer/config.js.map +1 -0
  148. package/dist/components/drawer/index.d.ts +3 -0
  149. package/dist/components/drawer/src/style/drawer.css +1 -0
  150. package/dist/components/ellipsis/Ellipsis.d.ts +74 -0
  151. package/dist/components/ellipsis/Ellipsis.js +103 -0
  152. package/dist/components/ellipsis/Ellipsis.js.map +1 -0
  153. package/dist/components/ellipsis/index.d.ts +1 -0
  154. package/dist/components/ellipsis/style/index.css +1 -0
  155. package/dist/components/empty/Empty.d.ts +92 -0
  156. package/dist/components/empty/Empty.js +85 -0
  157. package/dist/components/empty/Empty.js.map +1 -0
  158. package/dist/components/empty/config.d.ts +23 -0
  159. package/dist/components/empty/config.js +14 -0
  160. package/dist/components/empty/config.js.map +1 -0
  161. package/dist/components/empty/index.d.ts +3 -0
  162. package/dist/components/empty/style/index.css +1 -0
  163. package/dist/components/empty/type.d.ts +9 -0
  164. package/dist/components/equalizer/Equalizer.d.ts +62 -0
  165. package/dist/components/equalizer/Equalizer.js +56 -0
  166. package/dist/components/equalizer/Equalizer.js.map +1 -0
  167. package/dist/components/equalizer/index.d.ts +1 -0
  168. package/dist/components/equalizer/style/index.css +1 -0
  169. package/dist/components/fallback/Fallback.d.ts +44 -0
  170. package/dist/components/fallback/Fallback.js +55 -0
  171. package/dist/components/fallback/Fallback.js.map +1 -0
  172. package/dist/components/fallback/index.d.ts +1 -0
  173. package/dist/components/fallback/style/index.css +1 -0
  174. package/dist/components/form/Form.d.ts +169 -0
  175. package/dist/components/form/Form.js +235 -0
  176. package/dist/components/form/Form.js.map +1 -0
  177. package/dist/components/form/_use/formRules.d.ts +18 -0
  178. package/dist/components/form/_use/formRules.js +80 -0
  179. package/dist/components/form/_use/formRules.js.map +1 -0
  180. package/dist/components/form/config.d.ts +35 -0
  181. package/dist/components/form/config.js +20 -0
  182. package/dist/components/form/config.js.map +1 -0
  183. package/dist/components/form/context.d.ts +34 -0
  184. package/dist/components/form/context.js +8 -0
  185. package/dist/components/form/context.js.map +1 -0
  186. package/dist/components/form/index.d.ts +3 -0
  187. package/dist/components/form/style/index.css +1 -0
  188. package/dist/components/formItem/FormItem.d.ts +144 -0
  189. package/dist/components/formItem/FormItem.js +218 -0
  190. package/dist/components/formItem/FormItem.js.map +1 -0
  191. package/dist/components/formItem/config.d.ts +21 -0
  192. package/dist/components/formItem/config.js +12 -0
  193. package/dist/components/formItem/config.js.map +1 -0
  194. package/dist/components/formItem/context.d.ts +22 -0
  195. package/dist/components/formItem/context.js +8 -0
  196. package/dist/components/formItem/context.js.map +1 -0
  197. package/dist/components/formItem/index.d.ts +3 -0
  198. package/dist/components/formItem/style/index.css +1 -0
  199. package/dist/components/icon/Icon.d.ts +117 -0
  200. package/dist/components/icon/Icon.js +116 -0
  201. package/dist/components/icon/Icon.js.map +1 -0
  202. package/dist/components/icon/config.d.ts +28 -0
  203. package/dist/components/icon/config.js +16 -0
  204. package/dist/components/icon/config.js.map +1 -0
  205. package/dist/components/icon/index.d.ts +4 -0
  206. package/dist/components/icon/style/index.css +1 -0
  207. package/dist/components/icon/type.d.ts +16 -0
  208. package/dist/components/image/Image.d.ts +21 -0
  209. package/dist/components/image/Image.js +68 -0
  210. package/dist/components/image/Image.js.map +1 -0
  211. package/dist/components/image/config.d.ts +21 -0
  212. package/dist/components/image/config.js +11 -0
  213. package/dist/components/image/config.js.map +1 -0
  214. package/dist/components/image/index.d.ts +4 -0
  215. package/dist/components/image/style/index.css +1 -0
  216. package/dist/components/index.d.ts +79 -0
  217. package/dist/components/index.js +124 -0
  218. package/dist/components/index.js.map +1 -0
  219. package/dist/components/layer/Layer.d.ts +410 -0
  220. package/dist/components/layer/Layer.js +557 -0
  221. package/dist/components/layer/Layer.js.map +1 -0
  222. package/dist/components/layer/index.d.ts +2 -0
  223. package/dist/components/layer/injectionKey.d.ts +5 -0
  224. package/dist/components/layer/injectionKey.js +6 -0
  225. package/dist/components/layer/injectionKey.js.map +1 -0
  226. package/dist/components/layer/style/index.css +1 -0
  227. package/dist/components/lcdFont/LcdFont.d.ts +126 -0
  228. package/dist/components/lcdFont/LcdFont.js +232 -0
  229. package/dist/components/lcdFont/LcdFont.js.map +1 -0
  230. package/dist/components/lcdFont/config.d.ts +43 -0
  231. package/dist/components/lcdFont/config.js +41 -0
  232. package/dist/components/lcdFont/config.js.map +1 -0
  233. package/dist/components/lcdFont/format.d.ts +8 -0
  234. package/dist/components/lcdFont/format.js +39 -0
  235. package/dist/components/lcdFont/format.js.map +1 -0
  236. package/dist/components/lcdFont/index.d.ts +5 -0
  237. package/dist/components/lcdFont/segments.d.ts +32 -0
  238. package/dist/components/lcdFont/segments.js +326 -0
  239. package/dist/components/lcdFont/segments.js.map +1 -0
  240. package/dist/components/lcdFont/style/index.css +1 -0
  241. package/dist/components/lcdFont/type.d.ts +26 -0
  242. package/dist/components/list/List.d.ts +480 -0
  243. package/dist/components/list/List.js +289 -0
  244. package/dist/components/list/List.js.map +1 -0
  245. package/dist/components/list/config.d.ts +3 -0
  246. package/dist/components/list/index.d.ts +3 -0
  247. package/dist/components/list/style/index.css +1 -0
  248. package/dist/components/loading/Loading.d.ts +97 -0
  249. package/dist/components/loading/Loading.js +124 -0
  250. package/dist/components/loading/Loading.js.map +1 -0
  251. package/dist/components/loading/config.d.ts +22 -0
  252. package/dist/components/loading/config.js +13 -0
  253. package/dist/components/loading/config.js.map +1 -0
  254. package/dist/components/loading/index.d.ts +3 -0
  255. package/dist/components/loading/style/index.css +1 -0
  256. package/dist/components/loading/type.d.ts +13 -0
  257. package/dist/components/mask/Mask.d.ts +79 -0
  258. package/dist/components/mask/Mask.js +82 -0
  259. package/dist/components/mask/Mask.js.map +1 -0
  260. package/dist/components/mask/config.d.ts +21 -0
  261. package/dist/components/mask/config.js +14 -0
  262. package/dist/components/mask/config.js.map +1 -0
  263. package/dist/components/mask/index.d.ts +3 -0
  264. package/dist/components/mask/style/mask.css +1 -0
  265. package/dist/components/match/Match copy.d.ts +1600 -0
  266. package/dist/components/match/Match.d.ts +1621 -0
  267. package/dist/components/match/Match.js +343 -0
  268. package/dist/components/match/Match.js.map +1 -0
  269. package/dist/components/match/config.d.ts +29 -0
  270. package/dist/components/match/config.js +17 -0
  271. package/dist/components/match/config.js.map +1 -0
  272. package/dist/components/match/index.d.ts +3 -0
  273. package/dist/components/match/style/index.css +1 -0
  274. package/dist/components/modal/Modal.d.ts +460 -0
  275. package/dist/components/modal/Modal.js +297 -0
  276. package/dist/components/modal/Modal.js.map +1 -0
  277. package/dist/components/modal/config.d.ts +33 -0
  278. package/dist/components/modal/config.js +19 -0
  279. package/dist/components/modal/config.js.map +1 -0
  280. package/dist/components/modal/index.d.ts +3 -0
  281. package/dist/components/modal/style/index.css +1 -0
  282. package/dist/components/notice/Notice.d.ts +137 -0
  283. package/dist/components/notice/Notice.js +192 -0
  284. package/dist/components/notice/Notice.js.map +1 -0
  285. package/dist/components/notice/index.d.ts +51 -0
  286. package/dist/components/notice/index.js +243 -0
  287. package/dist/components/notice/index.js.map +1 -0
  288. package/dist/components/notice/src/_util/index.d.ts +11 -0
  289. package/dist/components/notice/src/_util/index.js +50 -0
  290. package/dist/components/notice/src/_util/index.js.map +1 -0
  291. package/dist/components/notice/src/style/index.css +1 -0
  292. package/dist/components/notice/types.d.ts +98 -0
  293. package/dist/components/number/Number copy.d.ts +966 -0
  294. package/dist/components/number/Number.d.ts +1034 -0
  295. package/dist/components/number/Number.js +241 -0
  296. package/dist/components/number/Number.js.map +1 -0
  297. package/dist/components/number/config.d.ts +26 -0
  298. package/dist/components/number/config.js +15 -0
  299. package/dist/components/number/config.js.map +1 -0
  300. package/dist/components/number/index.d.ts +3 -0
  301. package/dist/components/number/style/index.css +1 -0
  302. package/dist/components/pagination/index.d.ts +3 -0
  303. package/dist/components/pagination/src/Pagination.d.ts +2830 -0
  304. package/dist/components/pagination/src/Pagination.js +288 -0
  305. package/dist/components/pagination/src/Pagination.js.map +1 -0
  306. package/dist/components/pagination/src/config.d.ts +25 -0
  307. package/dist/components/pagination/src/config.js +20 -0
  308. package/dist/components/pagination/src/config.js.map +1 -0
  309. package/dist/components/pagination/src/style/index.css +1 -0
  310. package/dist/components/picture/Picture.d.ts +18 -0
  311. package/dist/components/picture/Picture.js +254 -0
  312. package/dist/components/picture/Picture.js.map +1 -0
  313. package/dist/components/picture/PictureToolbar.d.ts +29 -0
  314. package/dist/components/picture/PictureToolbar.js +97 -0
  315. package/dist/components/picture/PictureToolbar.js.map +1 -0
  316. package/dist/components/picture/PictureViewport.d.ts +47 -0
  317. package/dist/components/picture/PictureViewport.js +203 -0
  318. package/dist/components/picture/PictureViewport.js.map +1 -0
  319. package/dist/components/picture/config.d.ts +16 -0
  320. package/dist/components/picture/config.js +16 -0
  321. package/dist/components/picture/config.js.map +1 -0
  322. package/dist/components/picture/index.d.ts +5 -0
  323. package/dist/components/picture/pictureFlip.d.ts +16 -0
  324. package/dist/components/picture/pictureFlip.js +103 -0
  325. package/dist/components/picture/pictureFlip.js.map +1 -0
  326. package/dist/components/picture/style/index.css +1 -0
  327. package/dist/components/progress/Progress.d.ts +94 -0
  328. package/dist/components/progress/Progress.js +112 -0
  329. package/dist/components/progress/Progress.js.map +1 -0
  330. package/dist/components/progress/index.d.ts +1 -0
  331. package/dist/components/progress/style/index.css +1 -0
  332. package/dist/components/radio/Radio.d.ts +112 -0
  333. package/dist/components/radio/Radio.js +130 -0
  334. package/dist/components/radio/Radio.js.map +1 -0
  335. package/dist/components/radio/config.d.ts +29 -0
  336. package/dist/components/radio/config.js +18 -0
  337. package/dist/components/radio/config.js.map +1 -0
  338. package/dist/components/radio/index.d.ts +3 -0
  339. package/dist/components/radio/style/index.css +1 -0
  340. package/dist/components/scrollbar/Scrollbar.d.ts +93 -0
  341. package/dist/components/scrollbar/Scrollbar.js +515 -0
  342. package/dist/components/scrollbar/Scrollbar.js.map +1 -0
  343. package/dist/components/scrollbar/index.d.ts +1 -0
  344. package/dist/components/scrollbar/style/index.css +1 -0
  345. package/dist/components/sheet/Sheet.d.ts +1448 -0
  346. package/dist/components/sheet/Sheet.js +592 -0
  347. package/dist/components/sheet/Sheet.js.map +1 -0
  348. package/dist/components/sheet/_cell.d.ts +181 -0
  349. package/dist/components/sheet/_cell.js +132 -0
  350. package/dist/components/sheet/_cell.js.map +1 -0
  351. package/dist/components/sheet/_props.d.ts +170 -0
  352. package/dist/components/sheet/_props.js +183 -0
  353. package/dist/components/sheet/_props.js.map +1 -0
  354. package/dist/components/sheet/_row.d.ts +2 -0
  355. package/dist/components/sheet/_row.js +14 -0
  356. package/dist/components/sheet/_row.js.map +1 -0
  357. package/dist/components/sheet/_tbody.d.ts +348 -0
  358. package/dist/components/sheet/_tbody.js +255 -0
  359. package/dist/components/sheet/_tbody.js.map +1 -0
  360. package/dist/components/sheet/_tfoot.d.ts +195 -0
  361. package/dist/components/sheet/_tfoot.js +78 -0
  362. package/dist/components/sheet/_tfoot.js.map +1 -0
  363. package/dist/components/sheet/_thead.d.ts +529 -0
  364. package/dist/components/sheet/_thead.js +148 -0
  365. package/dist/components/sheet/_thead.js.map +1 -0
  366. package/dist/components/sheet/_use.d.ts +38 -0
  367. package/dist/components/sheet/_use.js +493 -0
  368. package/dist/components/sheet/_use.js.map +1 -0
  369. package/dist/components/sheet/_util.d.ts +34 -0
  370. package/dist/components/sheet/_util.js +111 -0
  371. package/dist/components/sheet/_util.js.map +1 -0
  372. package/dist/components/sheet/index.d.ts +1 -0
  373. package/dist/components/sheet/style/index.css +1 -0
  374. package/dist/components/slideDown/SlideDown.d.ts +62 -0
  375. package/dist/components/slideDown/SlideDown.js +128 -0
  376. package/dist/components/slideDown/SlideDown.js.map +1 -0
  377. package/dist/components/slideDown/index.d.ts +1 -0
  378. package/dist/components/slider/Slider.d.ts +1726 -0
  379. package/dist/components/slider/Slider.js +471 -0
  380. package/dist/components/slider/Slider.js.map +1 -0
  381. package/dist/components/slider/index.d.ts +1 -0
  382. package/dist/components/slider/style/index.css +1 -0
  383. package/dist/components/svgIcon/SvgIcon.d.ts +37 -0
  384. package/dist/components/svgIcon/SvgIcon.js +78 -0
  385. package/dist/components/svgIcon/SvgIcon.js.map +1 -0
  386. package/dist/components/svgIcon/index.d.ts +3 -0
  387. package/dist/components/svgIcon/style/index.css +1 -0
  388. package/dist/components/switch/Switch.d.ts +105 -0
  389. package/dist/components/switch/Switch.js +158 -0
  390. package/dist/components/switch/Switch.js.map +1 -0
  391. package/dist/components/switch/config.d.ts +16 -0
  392. package/dist/components/switch/config.js +11 -0
  393. package/dist/components/switch/config.js.map +1 -0
  394. package/dist/components/switch/index.d.ts +1 -0
  395. package/dist/components/switch/style/index.css +1 -0
  396. package/dist/components/tab/Tab.d.ts +113 -0
  397. package/dist/components/tab/Tab.js +485 -0
  398. package/dist/components/tab/Tab.js.map +1 -0
  399. package/dist/components/tab/index.d.ts +2 -0
  400. package/dist/components/tab/style/index.css +1 -0
  401. package/dist/components/textarea/Textarea.d.ts +37 -0
  402. package/dist/components/textarea/Textarea.js +193 -0
  403. package/dist/components/textarea/Textarea.js.map +1 -0
  404. package/dist/components/textarea/config.d.ts +30 -0
  405. package/dist/components/textarea/config.js +16 -0
  406. package/dist/components/textarea/config.js.map +1 -0
  407. package/dist/components/textarea/index.d.ts +4 -0
  408. package/dist/components/textarea/style/index.css +1 -0
  409. package/dist/components/time/Dial.js +7 -0
  410. package/dist/components/time/Dial.js.map +1 -0
  411. package/dist/components/time/Dial.vue_vue_type_script_setup_true_lang.js +178 -0
  412. package/dist/components/time/Dial.vue_vue_type_script_setup_true_lang.js.map +1 -0
  413. package/dist/components/time/TimePicker.d.ts +1301 -0
  414. package/dist/components/time/TimePicker.js +162 -0
  415. package/dist/components/time/TimePicker.js.map +1 -0
  416. package/dist/components/time/_use/useTimeModules.d.ts +1 -0
  417. package/dist/components/time/index.d.ts +1 -0
  418. package/dist/components/time/style/dial.css +1 -0
  419. package/dist/components/time/style/index.css +1 -0
  420. package/dist/components/toggle/Toggle.d.ts +140 -0
  421. package/dist/components/toggle/Toggle.js +209 -0
  422. package/dist/components/toggle/Toggle.js.map +1 -0
  423. package/dist/components/toggle/index.d.ts +1 -0
  424. package/dist/components/toggle/style/index.css +1 -0
  425. package/dist/components/toggle/style/scale.css +1 -0
  426. package/dist/components/toggle/style/translate.css +1 -0
  427. package/dist/components/tooltip/Tooltip.d.ts +536 -0
  428. package/dist/components/tooltip/Tooltip.js +51 -0
  429. package/dist/components/tooltip/Tooltip.js.map +1 -0
  430. package/dist/components/tooltip/index.d.ts +1 -0
  431. package/dist/components/tooltip/style/index.css +1 -0
  432. package/dist/components/tree/Tree.d.ts +187 -0
  433. package/dist/components/tree/Tree.js +229 -0
  434. package/dist/components/tree/Tree.js.map +1 -0
  435. package/dist/components/tree/TreeItem.d.ts +86 -0
  436. package/dist/components/tree/TreeItem.js +152 -0
  437. package/dist/components/tree/TreeItem.js.map +1 -0
  438. package/dist/components/tree/TreeList.d.ts +86 -0
  439. package/dist/components/tree/TreeList.js +52 -0
  440. package/dist/components/tree/TreeList.js.map +1 -0
  441. package/dist/components/tree/_use/treeState.d.ts +45 -0
  442. package/dist/components/tree/_use/treeState.js +417 -0
  443. package/dist/components/tree/_use/treeState.js.map +1 -0
  444. package/dist/components/tree/config.d.ts +27 -0
  445. package/dist/components/tree/config.js +16 -0
  446. package/dist/components/tree/config.js.map +1 -0
  447. package/dist/components/tree/index.d.ts +4 -0
  448. package/dist/components/tree/style/index.css +1 -0
  449. package/dist/components/tree-choose/TreeChoose.d.ts +833 -0
  450. package/dist/components/tree-choose/TreeChoose.js +320 -0
  451. package/dist/components/tree-choose/TreeChoose.js.map +1 -0
  452. package/dist/components/tree-choose/config.d.ts +41 -0
  453. package/dist/components/tree-choose/config.js +19 -0
  454. package/dist/components/tree-choose/config.js.map +1 -0
  455. package/dist/components/tree-choose/index.d.ts +4 -0
  456. package/dist/components/tree-choose/style/index.css +1 -0
  457. package/dist/components/trigger/Trigger.d.ts +921 -0
  458. package/dist/components/trigger/Trigger.js +105 -0
  459. package/dist/components/trigger/Trigger.js.map +1 -0
  460. package/dist/components/trigger/index.d.ts +1 -0
  461. package/dist/components/trigger/style/index.css +2 -0
  462. package/dist/components/upload/Upload.d.ts +249 -0
  463. package/dist/components/upload/Upload.js +342 -0
  464. package/dist/components/upload/Upload.js.map +1 -0
  465. package/dist/components/upload/config.d.ts +39 -0
  466. package/dist/components/upload/config.js +21 -0
  467. package/dist/components/upload/config.js.map +1 -0
  468. package/dist/components/upload/index.d.ts +4 -0
  469. package/dist/components/upload/style/index.css +1 -0
  470. package/dist/components/upload/types.d.ts +47 -0
  471. package/dist/components/virtual/Virtual.d.ts +57 -0
  472. package/dist/components/virtual/Virtual.js +62 -0
  473. package/dist/components/virtual/Virtual.js.map +1 -0
  474. package/dist/components/virtual/Virtual/345/216/237/347/211/210.d.ts +44 -0
  475. package/dist/components/virtual/index.d.ts +4 -0
  476. package/dist/components/virtual/style/index.css +1 -0
  477. package/dist/components/virtual/useVirtualList.d.ts +50 -0
  478. package/dist/components/virtual/useVirtualList.js +376 -0
  479. package/dist/components/virtual/useVirtualList.js.map +1 -0
  480. package/dist/components/write/Write.d.ts +532 -0
  481. package/dist/components/write/Write.js +228 -0
  482. package/dist/components/write/Write.js.map +1 -0
  483. package/dist/components/write/index.d.ts +1 -0
  484. package/dist/components/write/style/index.css +1 -0
  485. package/dist/config/dictionary.d.ts +21 -0
  486. package/dist/config/dictionary.js +28 -0
  487. package/dist/config/dictionary.js.map +1 -0
  488. package/dist/config/i18n.d.ts +22 -0
  489. package/dist/config/i18n.js +53 -0
  490. package/dist/config/i18n.js.map +1 -0
  491. package/dist/config/plugin.d.ts +88 -0
  492. package/dist/config/plugin.js +13 -0
  493. package/dist/config/plugin.js.map +1 -0
  494. package/dist/config/types.d.ts +56 -0
  495. package/dist/directives/clickOutside.d.ts +10 -0
  496. package/dist/directives/clickOutside.js +69 -0
  497. package/dist/directives/clickOutside.js.map +1 -0
  498. package/dist/directives/index.d.ts +3 -0
  499. package/dist/directives/index.js +13 -0
  500. package/dist/directives/index.js.map +1 -0
  501. package/dist/directives/loading.d.ts +19 -0
  502. package/dist/directives/loading.js +64 -0
  503. package/dist/directives/loading.js.map +1 -0
  504. package/dist/index.d.ts +127 -0
  505. package/dist/index.js +91 -0
  506. package/dist/locales/de-DE/index.d.ts +144 -0
  507. package/dist/locales/de-DE/index.js +140 -0
  508. package/dist/locales/de-DE/index.js.map +1 -0
  509. package/dist/locales/en-US/index.d.ts +144 -0
  510. package/dist/locales/en-US/index.js +140 -0
  511. package/dist/locales/en-US/index.js.map +1 -0
  512. package/dist/locales/index.d.ts +3 -0
  513. package/dist/locales/zh-CN/index.d.ts +144 -0
  514. package/dist/locales/zh-CN/index.js +140 -0
  515. package/dist/locales/zh-CN/index.js.map +1 -0
  516. package/dist/plugin.d.ts +6 -0
  517. package/dist/plugin.js +38 -0
  518. package/dist/plugin.js.map +1 -0
  519. package/dist/styles/index.css +49 -0
  520. package/dist/theme/_transition.css +169 -0
  521. package/dist/theme/index.css +5 -0
  522. package/dist/theme/tokens/_base.css +7 -0
  523. package/dist/theme/tokens/_common.css +37 -0
  524. package/dist/theme/tokens/_scrollbar.css +53 -0
  525. package/dist/theme/tokens/_size.css +18 -0
  526. package/dist/theme/tokens/_text.css +16 -0
  527. package/dist/theme/tokens/_var.css +1087 -0
  528. package/dist/theme/tokens/components/audioPlayer.css +542 -0
  529. package/dist/theme/tokens/components/btn.css +253 -0
  530. package/dist/theme/tokens/components/btnGroup.css +68 -0
  531. package/dist/theme/tokens/components/cascade.css +77 -0
  532. package/dist/theme/tokens/components/checkbox.css +100 -0
  533. package/dist/theme/tokens/components/choose.css +175 -0
  534. package/dist/theme/tokens/components/choose2.css +242 -0
  535. package/dist/theme/tokens/components/chooseItem.css +54 -0
  536. package/dist/theme/tokens/components/circleProgress.css +61 -0
  537. package/dist/theme/tokens/components/close.css +12 -0
  538. package/dist/theme/tokens/components/colorPicker.css +404 -0
  539. package/dist/theme/tokens/components/confirm.css +128 -0
  540. package/dist/theme/tokens/components/copy.css +80 -0
  541. package/dist/theme/tokens/components/cornerEars.css +102 -0
  542. package/dist/theme/tokens/components/date/days.css +79 -0
  543. package/dist/theme/tokens/components/date/index.css +249 -0
  544. package/dist/theme/tokens/components/date/months.css +68 -0
  545. package/dist/theme/tokens/components/drawer.css +189 -0
  546. package/dist/theme/tokens/components/ellipsis.css +46 -0
  547. package/dist/theme/tokens/components/empty.css +24 -0
  548. package/dist/theme/tokens/components/equalizer.css +51 -0
  549. package/dist/theme/tokens/components/fallback.css +4 -0
  550. package/dist/theme/tokens/components/form.css +50 -0
  551. package/dist/theme/tokens/components/formItem.css +194 -0
  552. package/dist/theme/tokens/components/icon.css +41 -0
  553. package/dist/theme/tokens/components/image.css +70 -0
  554. package/dist/theme/tokens/components/layer.css +190 -0
  555. package/dist/theme/tokens/components/lcdFont.css +121 -0
  556. package/dist/theme/tokens/components/list.css +97 -0
  557. package/dist/theme/tokens/components/loading.css +64 -0
  558. package/dist/theme/tokens/components/mask.css +26 -0
  559. package/dist/theme/tokens/components/match.css +119 -0
  560. package/dist/theme/tokens/components/modal.css +136 -0
  561. package/dist/theme/tokens/components/notice.css +264 -0
  562. package/dist/theme/tokens/components/number.css +150 -0
  563. package/dist/theme/tokens/components/pagination.css +215 -0
  564. package/dist/theme/tokens/components/picture.css +299 -0
  565. package/dist/theme/tokens/components/progress.css +101 -0
  566. package/dist/theme/tokens/components/radio.css +183 -0
  567. package/dist/theme/tokens/components/scrollbar.css +160 -0
  568. package/dist/theme/tokens/components/sheet.css +518 -0
  569. package/dist/theme/tokens/components/slider.css +171 -0
  570. package/dist/theme/tokens/components/svgIcon.css +6 -0
  571. package/dist/theme/tokens/components/switch.css +67 -0
  572. package/dist/theme/tokens/components/tab.css +215 -0
  573. package/dist/theme/tokens/components/textarea.css +109 -0
  574. package/dist/theme/tokens/components/time/dial.css +123 -0
  575. package/dist/theme/tokens/components/time/index.css +29 -0
  576. package/dist/theme/tokens/components/toggle/index.css +14 -0
  577. package/dist/theme/tokens/components/toggle/scale.css +34 -0
  578. package/dist/theme/tokens/components/toggle/translate.css +41 -0
  579. package/dist/theme/tokens/components/tooltip.css +77 -0
  580. package/dist/theme/tokens/components/tree-choose.css +154 -0
  581. package/dist/theme/tokens/components/tree.css +172 -0
  582. package/dist/theme/tokens/components/trigger.css +90 -0
  583. package/dist/theme/tokens/components/upload.css +302 -0
  584. package/dist/theme/tokens/components/virtual.css +6 -0
  585. package/dist/theme/tokens/components/write.css +155 -0
  586. package/dist/theme/tokens/iconfont/iconfont.css +103 -0
  587. package/dist/theme/tokens/iconfont/iconfont.ttf +0 -0
  588. package/dist/theme/tokens/iconfont/iconfont.woff +0 -0
  589. package/dist/theme/tokens/iconfont/iconfont.woff2 +0 -0
  590. package/dist/theme/tokens/index.css +19 -0
  591. package/dist/use/index.d.ts +34 -0
  592. package/dist/use/toggle/types.d.ts +27 -0
  593. package/dist/use/toggle/useToggle.d.ts +22 -0
  594. package/dist/use/toggle/useToggleArray.d.ts +14 -0
  595. package/dist/use/toggle/useToggleArray.js +36 -0
  596. package/dist/use/toggle/useToggleArray.js.map +1 -0
  597. package/dist/use/toggle/useToggleCycle.d.ts +11 -0
  598. package/dist/use/toggle/useToggleCycle.js +88 -0
  599. package/dist/use/toggle/useToggleCycle.js.map +1 -0
  600. package/dist/use/toggle/useToggleMap.d.ts +10 -0
  601. package/dist/use/toggle/useToggleObject.d.ts +13 -0
  602. package/dist/use/useAudioPlayer.d.ts +160 -0
  603. package/dist/use/useAudioPlayer.js +799 -0
  604. package/dist/use/useAudioPlayer.js.map +1 -0
  605. package/dist/use/useBoundingClientRect.d.ts +14 -0
  606. package/dist/use/useBoundingClientRect.js +54 -0
  607. package/dist/use/useBoundingClientRect.js.map +1 -0
  608. package/dist/use/useChildComponentsCollector.js +30 -0
  609. package/dist/use/useChildComponentsCollector.js.map +1 -0
  610. package/dist/use/useComponentClass.d.ts +1 -0
  611. package/dist/use/useComponentClass.js +6 -0
  612. package/dist/use/useComponentClass.js.map +1 -0
  613. package/dist/use/useComponentConfig.d.ts +10 -0
  614. package/dist/use/useComponentConfig.js +31 -0
  615. package/dist/use/useComponentConfig.js.map +1 -0
  616. package/dist/use/useCount.d.ts +13 -0
  617. package/dist/use/useCount.js +36 -0
  618. package/dist/use/useCount.js.map +1 -0
  619. package/dist/use/useDate.d.ts +53 -0
  620. package/dist/use/useDate.js +280 -0
  621. package/dist/use/useDate.js.map +1 -0
  622. package/dist/use/useDelay.d.ts +5 -0
  623. package/dist/use/useDelay.js +38 -0
  624. package/dist/use/useDelay.js.map +1 -0
  625. package/dist/use/useDrag.d.ts +17 -0
  626. package/dist/use/useElement.d.ts +15 -0
  627. package/dist/use/useElement.js +41 -0
  628. package/dist/use/useElement.js.map +1 -0
  629. package/dist/use/useEscStack.d.ts +14 -0
  630. package/dist/use/useEscStack.js +62 -0
  631. package/dist/use/useEscStack.js.map +1 -0
  632. package/dist/use/useEvent.d.ts +9 -0
  633. package/dist/use/useEvent.js +43 -0
  634. package/dist/use/useEvent.js.map +1 -0
  635. package/dist/use/useFormItem.d.ts +9 -0
  636. package/dist/use/useFormItem.js +20 -0
  637. package/dist/use/useFormItem.js.map +1 -0
  638. package/dist/use/useGlobalZIndex.d.ts +6 -0
  639. package/dist/use/useGlobalZIndex.js +28 -0
  640. package/dist/use/useGlobalZIndex.js.map +1 -0
  641. package/dist/use/useMouse.d.ts +15 -0
  642. package/dist/use/useMouse.js +36 -0
  643. package/dist/use/useMouse.js.map +1 -0
  644. package/dist/use/useMousePositionInElement.d.ts +6 -0
  645. package/dist/use/useMousePositionInElement.js +27 -0
  646. package/dist/use/useMousePositionInElement.js.map +1 -0
  647. package/dist/use/useParentNode.d.ts +3 -0
  648. package/dist/use/useParentNode.js +25 -0
  649. package/dist/use/useParentNode.js.map +1 -0
  650. package/dist/use/usePercentDrag.d.ts +20 -0
  651. package/dist/use/usePercentDrag.js +59 -0
  652. package/dist/use/usePercentDrag.js.map +1 -0
  653. package/dist/use/usePictureViewport.d.ts +57 -0
  654. package/dist/use/usePictureViewport.js +229 -0
  655. package/dist/use/usePictureViewport.js.map +1 -0
  656. package/dist/use/useRequest.d.ts +7 -0
  657. package/dist/use/useRequest.js +31 -0
  658. package/dist/use/useRequest.js.map +1 -0
  659. package/dist/use/useScaleFromPoint.d.ts +57 -0
  660. package/dist/use/useScaleFromPoint.js +325 -0
  661. package/dist/use/useScaleFromPoint.js.map +1 -0
  662. package/dist/use/useScroll.d.ts +9 -0
  663. package/dist/use/useScroll.js +60 -0
  664. package/dist/use/useScroll.js.map +1 -0
  665. package/dist/use/useSearch.d.ts +11 -0
  666. package/dist/use/useSearch.js +65 -0
  667. package/dist/use/useSearch.js.map +1 -0
  668. package/dist/use/useSlot.d.ts +10 -0
  669. package/dist/use/useSlot.js +57 -0
  670. package/dist/use/useSlot.js.map +1 -0
  671. package/dist/use/useTabIndex.d.ts +1 -0
  672. package/dist/use/useTabIndex.js +18 -0
  673. package/dist/use/useTabIndex.js.map +1 -0
  674. package/dist/use/useUII18n.js +26 -0
  675. package/dist/use/useUII18n.js.map +1 -0
  676. package/dist/use/useUpload.d.ts +49 -0
  677. package/dist/use/useUpload.js +396 -0
  678. package/dist/use/useUpload.js.map +1 -0
  679. package/dist/use/useVisibleResize.d.ts +6 -0
  680. package/dist/use/useVisibleResize.js +77 -0
  681. package/dist/use/useVisibleResize.js.map +1 -0
  682. package/dist/util/calc.d.ts +40 -0
  683. package/dist/util/calc.js +239 -0
  684. package/dist/util/calc.js.map +1 -0
  685. package/dist/util/colors.d.ts +78 -0
  686. package/dist/util/colors.js +320 -0
  687. package/dist/util/colors.js.map +1 -0
  688. package/dist/util/cssVars.d.ts +62 -0
  689. package/dist/util/cssVars.js +170 -0
  690. package/dist/util/cssVars.js.map +1 -0
  691. package/dist/util/dom.d.ts +65 -0
  692. package/dist/util/dom.js +212 -0
  693. package/dist/util/dom.js.map +1 -0
  694. package/dist/util/index.d.ts +5 -0
  695. package/dist/util/tools.d.ts +54 -0
  696. package/dist/util/tools.js +90 -0
  697. package/dist/util/tools.js.map +1 -0
  698. package/dist/util/vnode.d.ts +2 -0
  699. package/package.json +88 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Sheet.js","names":["computed","defineComponent","onMounted","reactive","ref","onActivated","onUnmounted","createVNode","_createVNode","mergeProps","_mergeProps","Fragment","_Fragment","vShow","_vShow","withDirectives","_withDirectives","watch","provide","readonly","nextTick","Virtual","useToggleArray","useComponentConfig","useVisibleResize","getBoundingClientRect","getElement","isElement","propSizeToCssVars","propColorToCssVars","toCssVarsStyle","Thead","Tbody","Tfoot","_props","useTdWidth","useColumns","useFixed","createTbodyColumns","getSelectedKey","MIN_WIDTH","EMITS","TBODYEMITS","SHEET_FALLBACK","stripe","hover","nowrap","bordered","trBordered","resize","autoWidth","hasCheckbox","hasRadio","hasIndex","hasAction","canHighlight","checkKey","highlightKey","rowKey","indexContent","virtual","scrollWatch","SHEET_DEFAULT_ROW_HEIGHT","Math","round","name","components","props","emits","setup","emit","attrs","slots","expose","cfg","resizeWidths","Map","resizing","resizeLineLeft","oldResizeLineLeft","currentSorter","field","sorter","set","get","toggle","item","highlightValue","highlight","isCheckedAll","selectedKeys","tableRoot","tableRootLeft","inner","innerElem","innerProps","o","class","value","showTopShadow","showBottomShadow","style","height","maxHeight","finalColumns","columns","tbodyColumns","hasSum","has","i","len","length","col","sum","undefined","data","scrollLeft","scrollTop","showLeftShadow","showRightShadow","leftShadowSlots","rightShadowSlots","hasPin","reset","leftFixed","rightFixed","scrollEdge","isTop","isBottom","isProgrammaticScroll","scrollWatchRaf","scrollWatchEl","scrollWatchOnScroll","getScrollEl","el","readScrollMetrics","st","sl","maxScrollTop","max","scrollHeight","clientHeight","maxScrollLeft","scrollWidth","clientWidth","scrollBottom","scrollRight","scrollTopPercent","scrollLeftPercent","target","flushScrollWatch","m","offset","bottomOffset","distance","info","detachScrollWatch","removeEventListener","cancelAnimationFrame","attachScrollWatch","requestAnimationFrame","addEventListener","passive","immediate","withProgrammatic","run","scrollTo","top","left","scrollToTop","scrollToBottom","scrollToPercent","topPercent","leftPercent","t","min","l","getScrollPosition","tdWidths","adjustTdWidths","size","theadProps","totalTbodyColumns","tbodyProps","pageSize","pageIndex","tbodySlots","checkable","rowClass","sheetRow","sheetTdIndex","onAfter-render","tfootProps","eventName","opts","modelValue","k","setCheckAll","some","sv","row","index","checked","filter","push","b","checkAllSelected","afterChecked","v","hValue","tdElem","classList","add","tdRight","right","x","colIndex","dx","dWidth","remove","oldWidth","newWidth","n","Number","rightN","colGroup","widths","map","w","ww","width","checkedKeys","_data","forEach","canPush","_k","disabled","_keys","e","keys","d","arr","s","ks","isSameArray","deep","oldD","oldI","oldS","renderTable","thead","tbody","from","to","innerTable","table","content","color","cssVars","show","itemHeight","pad","default","setSorter","getSorter","resetFixed","arr1","arr2"],"sources":["../../../components/sheet/Sheet.tsx"],"sourcesContent":["import {\r\n computed,\r\n defineComponent,\r\n onMounted,\r\n reactive,\r\n ref,\r\n onActivated,\r\n onUnmounted,\r\n} from \"vue\"\r\nimport { watch, provide, readonly, nextTick } from \"vue\"\r\nimport Virtual from \"../virtual/index\"\r\nimport type { DataListOptions } from \"../virtual/Virtual\"\r\nimport useToggleArray from \"../../use/toggle/useToggleArray\"\r\nimport useComponentConfig from \"../../use/useComponentConfig\"\r\nimport useVisibleResize from \"../../use/useVisibleResize\"\r\nimport { getBoundingClientRect, getElement, isElement } from \"../../util\"\r\nimport { propSizeToCssVars, propColorToCssVars, toCssVarsStyle } from \"../../util\"\r\nimport Thead from \"./_thead\"\r\nimport Tbody from \"./_tbody\"\r\nimport Tfoot from \"./_tfoot\"\r\nimport _props from \"./_props\"\r\nimport { useTdWidth, useColumns, useFixed } from \"./_use\"\r\nimport { createTbodyColumns, getSelectedKey } from \"./_util\"\r\nconst MIN_WIDTH = 32 //调整列宽时,最小允许的宽度\r\nconst EMITS = [\r\n \"update:modelValue\",\r\n \"update:keys\",\r\n \"after-checked\",\r\n \"after-radio\",\r\n \"update:highlight\",\r\n \"highlight\",\r\n \"sort\",\r\n \"scroll\",\r\n \"reach-top\",\r\n \"reach-bottom\",\r\n]\r\nconst TBODYEMITS = [\"add\", \"delete\"]\r\ntype TbodyEmits = \"add\" | \"delete\"\r\ninterface SorterType {\r\n field: string\r\n sorter: boolean | number\r\n}\r\n\r\nexport type SheetScrollInfo = {\r\n scrollTop: number\r\n scrollLeft: number\r\n scrollBottom: number\r\n scrollRight: number\r\n scrollTopPercent: number\r\n scrollLeftPercent: number\r\n target: HTMLElement\r\n}\r\n\r\nexport type SheetReachBottomInfo = {\r\n distance: number\r\n}\r\n\r\nexport type SheetScrollPosition = {\r\n scrollTop: number\r\n scrollLeft: number\r\n scrollBottom: number\r\n scrollRight: number\r\n scrollTopPercent: number\r\n scrollLeftPercent: number\r\n}\r\n\r\nexport type SheetMethods = {\r\n setSorter: (opts: { field: string; sorter: boolean | number }) => void\r\n getSorter: () => SorterType\r\n scrollTo: (top?: number, left?: number) => void\r\n scrollToTop: () => void\r\n scrollToBottom: () => void\r\n scrollToPercent: (topPercent: number, leftPercent?: number) => void\r\n getScrollPosition: () => SheetScrollPosition\r\n getScrollEl: () => HTMLElement | undefined\r\n /** 重算固定列 / pin 阴影(数据或列宽变化后可调) */\r\n resetFixed: () => void\r\n}\r\n\r\n/** 未传 props、也未配置全局时的默认值 */\r\nconst SHEET_FALLBACK = {\r\n stripe: false,\r\n hover: true,\r\n nowrap: true,\r\n bordered: false,\r\n trBordered: false,\r\n resize: true,\r\n autoWidth: false,\r\n hasCheckbox: false,\r\n hasRadio: false,\r\n hasIndex: false,\r\n hasAction: false as boolean | string | string[],\r\n canHighlight: false as boolean | ((row: any, index: number) => boolean),\r\n checkKey: 'id',\r\n highlightKey: 'id',\r\n rowKey: 'id' as string | ((row: any) => string),\r\n indexContent: '#' as string | object | ((row: any, index: number) => any),\r\n virtual: false,\r\n scrollWatch: false,\r\n // itemHeight 不进 FALLBACK:显式 itemHeight > size > SHEET_DEFAULT_ROW_HEIGHT\r\n}\r\n\r\n/** 与主题默认 `--w-sheet-size: calc(var(--w-size) * 4/3)` 对齐(--w-size=36 → 48) */\r\nconst SHEET_DEFAULT_ROW_HEIGHT = Math.round(36 * (4 / 3))\r\n\r\n\r\nexport default defineComponent({\r\n name: \"Sheet\",\r\n components: { Thead, Tbody, Tfoot, Virtual },\r\n props: _props,\r\n emits: [...EMITS, ...TBODYEMITS],\r\n setup(props, { emit, attrs, slots, expose }) {\r\n const cfg = useComponentConfig(\"Sheet\", props, SHEET_FALLBACK)\r\n\r\n const resizeWidths = new Map<object, number>()\r\n // const ins = getCurrentInstance()\r\n // console.time(String(ins?.uid))\r\n const resizing = ref(false)\r\n const resizeLineLeft = ref(-10000)\r\n const oldResizeLineLeft = ref(-10000)\r\n const currentSorter = reactive<SorterType>({ field: \"\", sorter: true })\r\n const { set, get, toggle } = useToggleArray([true, 0, 1], {\r\n item: true,\r\n })\r\n const highlightValue = ref<string | number>(\r\n props.highlight ? props.highlight : 0\r\n )\r\n const isCheckedAll = ref(0)\r\n const selectedKeys = ref<any[]>([])\r\n const tableRoot = ref()\r\n const tableRootLeft = ref(0)\r\n const inner = ref()\r\n const innerElem = computed(() => getElement(inner))\r\n const innerProps = computed(() => {\r\n let o: any = {\r\n ref: inner,\r\n class: [\r\n \"w-sheet-inner-container\",\r\n \"w-sheet--min-content\",\r\n {\r\n \"w-sheet--nowrap\": cfg.value.nowrap,\r\n \"w-sheet--stripe\": cfg.value.stripe,\r\n \"w-sheet--hover\": cfg.value.hover,\r\n \"w-sheet--has-action\": cfg.value.hasAction,\r\n \"w-sheet--has-top-shadow\": showTopShadow.value,\r\n \"w-sheet--has-bottom-shadow\": showBottomShadow.value,\r\n },\r\n ],\r\n style: {\r\n height: cfg.value.bordered\r\n ? `calc(${cfg.value.height} + 2px)`\r\n : cfg.value.height,\r\n maxHeight: cfg.value.maxHeight,\r\n },\r\n }\r\n return o\r\n })\r\n //columns参数传入之后,加入预置列, 序列号、多选框、单选框\r\n const finalColumns = useColumns(\r\n computed(() => props.columns),\r\n computed(() => ({\r\n indexContent: cfg.value.indexContent,\r\n hasIndex: cfg.value.hasIndex,\r\n hasCheckbox: cfg.value.hasCheckbox,\r\n checkKey: cfg.value.checkKey,\r\n hasRadio: cfg.value.hasRadio,\r\n hasAction: cfg.value.hasAction,\r\n }))\r\n )\r\n const tbodyColumns = computed(() => createTbodyColumns(finalColumns.value))\r\n const hasSum = computed(() => {\r\n let has = false\r\n let i = 0\r\n let len = tbodyColumns.value.length\r\n while (i < len) {\r\n const col = tbodyColumns.value[i]\r\n if (col.sum !== false && col.sum !== undefined && props.data?.length) {\r\n has = true\r\n break\r\n }\r\n i++\r\n }\r\n // console.log(has)\r\n return has\r\n })\r\n const {\r\n scrollLeft,\r\n scrollTop,\r\n showLeftShadow,\r\n showRightShadow,\r\n leftShadowSlots,\r\n rightShadowSlots,\r\n showTopShadow,\r\n showBottomShadow,\r\n hasPin,\r\n reset,\r\n } = useFixed(\r\n tableRoot,\r\n innerElem,\r\n computed(() => cfg.value.leftFixed),\r\n computed(() => cfg.value.rightFixed),\r\n hasSum,\r\n tbodyColumns\r\n )\r\n\r\n // —— 滚动监控(scrollWatch)——\r\n // passive + rAF 合并;边缘态用普通对象,避免 ref 赋值触发无谓重渲染\r\n const scrollEdge = { isTop: true, isBottom: false }\r\n const isProgrammaticScroll = { value: false }\r\n let scrollWatchRaf = 0\r\n let scrollWatchEl: HTMLElement | undefined\r\n let scrollWatchOnScroll: (() => void) | undefined\r\n\r\n function getScrollEl(): HTMLElement | undefined {\r\n const el = getElement(innerElem)\r\n return isElement(el) ? (el as HTMLElement) : undefined\r\n }\r\n\r\n function readScrollMetrics(el: HTMLElement) {\r\n const st = el.scrollTop\r\n const sl = el.scrollLeft\r\n const maxScrollTop = Math.max(0, el.scrollHeight - el.clientHeight)\r\n const maxScrollLeft = Math.max(0, el.scrollWidth - el.clientWidth)\r\n return {\r\n scrollTop: st,\r\n scrollLeft: sl,\r\n scrollBottom: maxScrollTop - st,\r\n scrollRight: maxScrollLeft - sl,\r\n maxScrollTop,\r\n maxScrollLeft,\r\n scrollTopPercent:\r\n maxScrollTop > 0 ? Math.round((st / maxScrollTop) * 100) : 0,\r\n scrollLeftPercent:\r\n maxScrollLeft > 0 ? Math.round((sl / maxScrollLeft) * 100) : 0,\r\n target: el,\r\n }\r\n }\r\n\r\n function flushScrollWatch() {\r\n scrollWatchRaf = 0\r\n const el = scrollWatchEl\r\n if (!el || !cfg.value.scrollWatch) return\r\n const m = readScrollMetrics(el)\r\n\r\n const isTop = m.scrollTop <= 0\r\n if (isTop && !scrollEdge.isTop) {\r\n emit(\"reach-top\")\r\n }\r\n scrollEdge.isTop = isTop\r\n\r\n const offset = props.bottomOffset ?? 0\r\n const isBottom =\r\n m.maxScrollTop > 0 && m.scrollTop >= m.maxScrollTop - offset\r\n if (isBottom && !scrollEdge.isBottom) {\r\n emit(\"reach-bottom\", {\r\n distance: m.scrollBottom,\r\n } as SheetReachBottomInfo)\r\n }\r\n scrollEdge.isBottom = isBottom\r\n\r\n if (!isProgrammaticScroll.value) {\r\n const info: SheetScrollInfo = {\r\n scrollTop: m.scrollTop,\r\n scrollLeft: m.scrollLeft,\r\n scrollBottom: m.scrollBottom,\r\n scrollRight: m.scrollRight,\r\n scrollTopPercent: m.scrollTopPercent,\r\n scrollLeftPercent: m.scrollLeftPercent,\r\n target: m.target,\r\n }\r\n emit(\"scroll\", info)\r\n }\r\n }\r\n\r\n function detachScrollWatch() {\r\n if (scrollWatchEl && scrollWatchOnScroll) {\r\n scrollWatchEl.removeEventListener(\"scroll\", scrollWatchOnScroll)\r\n }\r\n scrollWatchEl = undefined\r\n scrollWatchOnScroll = undefined\r\n if (scrollWatchRaf) {\r\n cancelAnimationFrame(scrollWatchRaf)\r\n scrollWatchRaf = 0\r\n }\r\n }\r\n\r\n function attachScrollWatch() {\r\n detachScrollWatch()\r\n if (!cfg.value.scrollWatch) return\r\n const el = getScrollEl()\r\n if (!el) return\r\n scrollWatchEl = el\r\n scrollWatchOnScroll = () => {\r\n if (scrollWatchRaf) return\r\n scrollWatchRaf = requestAnimationFrame(flushScrollWatch)\r\n }\r\n el.addEventListener(\"scroll\", scrollWatchOnScroll, { passive: true })\r\n }\r\n\r\n watch(\r\n [() => cfg.value.scrollWatch, innerElem],\r\n () => {\r\n nextTick(attachScrollWatch)\r\n },\r\n { immediate: true },\r\n )\r\n onUnmounted(detachScrollWatch)\r\n\r\n function withProgrammatic(run: () => void) {\r\n isProgrammaticScroll.value = true\r\n run()\r\n isProgrammaticScroll.value = false\r\n }\r\n\r\n function scrollTo(top?: number, left?: number) {\r\n const el = getScrollEl()\r\n if (!el) return\r\n withProgrammatic(() => {\r\n if (typeof top === \"number\") el.scrollTop = top\r\n if (typeof left === \"number\") el.scrollLeft = left\r\n })\r\n }\r\n\r\n function scrollToTop() {\r\n scrollTo(0, undefined)\r\n }\r\n\r\n function scrollToBottom() {\r\n const el = getScrollEl()\r\n if (!el) return\r\n withProgrammatic(() => {\r\n el.scrollTop = el.scrollHeight\r\n })\r\n }\r\n\r\n function scrollToPercent(topPercent: number, leftPercent?: number) {\r\n const el = getScrollEl()\r\n if (!el) return\r\n const maxScrollTop = Math.max(0, el.scrollHeight - el.clientHeight)\r\n const maxScrollLeft = Math.max(0, el.scrollWidth - el.clientWidth)\r\n const t = Math.max(0, Math.min(100, topPercent)) / 100\r\n withProgrammatic(() => {\r\n el.scrollTop = maxScrollTop * t\r\n if (typeof leftPercent === \"number\") {\r\n const l = Math.max(0, Math.min(100, leftPercent)) / 100\r\n el.scrollLeft = maxScrollLeft * l\r\n }\r\n })\r\n }\r\n\r\n function getScrollPosition(): SheetScrollPosition {\r\n const el = getScrollEl()\r\n if (!el) {\r\n return {\r\n scrollTop: 0,\r\n scrollLeft: 0,\r\n scrollBottom: 0,\r\n scrollRight: 0,\r\n scrollTopPercent: 0,\r\n scrollLeftPercent: 0,\r\n }\r\n }\r\n const m = readScrollMetrics(el)\r\n return {\r\n scrollTop: m.scrollTop,\r\n scrollLeft: m.scrollLeft,\r\n scrollBottom: m.scrollBottom,\r\n scrollRight: m.scrollRight,\r\n scrollTopPercent: m.scrollTopPercent,\r\n scrollLeftPercent: m.scrollLeftPercent,\r\n }\r\n }\r\n\r\n const { tdWidths, adjustTdWidths } = useTdWidth(\r\n computed(() => cfg.value.autoWidth),\r\n computed(() => cfg.value.bordered),\r\n innerElem,\r\n tbodyColumns,\r\n computed(() => props.size),\r\n )\r\n\r\n const theadProps = computed(() => {\r\n let o: any = {\r\n totalTbodyColumns: tbodyColumns.value.length,\r\n columns: finalColumns.value,\r\n indexContent: cfg.value.indexContent,\r\n checkKey: cfg.value.checkKey,\r\n resize: cfg.value.resize,\r\n }\r\n return o\r\n })\r\n const tbodyProps = computed(() => {\r\n let o: any = {\r\n columns: tbodyColumns.value,\r\n // data: props.data,\r\n hasIndex: cfg.value.hasIndex,\r\n hasAction: cfg.value.hasAction,\r\n pageSize: cfg.value.pageSize,\r\n pageIndex: cfg.value.pageIndex,\r\n tbodySlots: slots,\r\n hasCheckbox: cfg.value.hasCheckbox,\r\n hasRadio: cfg.value.hasRadio,\r\n checkKey: cfg.value.checkKey,\r\n isCheckedAll: isCheckedAll.value,\r\n checkable: cfg.value.checkable,\r\n canHighlight: cfg.value.canHighlight,\r\n highlightKey: cfg.value.highlightKey,\r\n rowClass: cfg.value.rowClass,\r\n rowKey: cfg.value.rowKey,\r\n sheetRow: cfg.value.sheetRow,\r\n sheetTdIndex: cfg.value.sheetTdIndex,\r\n \"onAfter-render\": () => {\r\n adjustTdWidths()\r\n nextTick(reset)\r\n // reset()\r\n },\r\n }\r\n return o\r\n })\r\n const tfootProps = computed(() => {\r\n let o: any = {\r\n hasSum: hasSum.value,\r\n columns: tbodyColumns.value,\r\n data: props.data,\r\n sheetTdIndex: cfg.value.sheetTdIndex,\r\n }\r\n return o\r\n })\r\n\r\n //子组件通过一个方法发射事件\r\n provide(\"toEmit\", (eventName: TbodyEmits, ...opts: any) => {\r\n emit(eventName, ...opts)\r\n })\r\n\r\n //单选\r\n provide(\"modelValue\", readonly(computed(() => props.modelValue)))\r\n provide(\"updateModelValue\", (k: number | string) => {\r\n emit(\"update:modelValue\", k)\r\n })\r\n\r\n //复选\r\n provide(\"isCheckedAll\", readonly(isCheckedAll))\r\n //thead中使用\r\n provide(\"setCheckAll\", setCheckAll)\r\n\r\n provide(\"selectedKeys\", readonly(selectedKeys))\r\n provide(\"hasKey\", (k: any) => {\r\n return selectedKeys.value.some((sv) => sv === k)\r\n })\r\n provide(\r\n \"toggleRadio\",\r\n ({ row, index }: { row: Record<any, any>; index: number }) => {\r\n emit(\"after-radio\", { row, index })\r\n }\r\n )\r\n provide(\"toggleSelect\", (k: any, checked: boolean) => {\r\n if (checked) {\r\n selectedKeys.value = selectedKeys.value.filter((el) => el !== k)\r\n } else {\r\n selectedKeys.value.push(k)\r\n }\r\n let b = checkAllSelected()\r\n isCheckedAll.value = b\r\n afterChecked()\r\n })\r\n //高亮,通过使用highlightValue这个组件内变量来保存高亮状态,\r\n //非受控,当只需要展示,且不必要使用高亮数据时,更方便一些\r\n provide(\"highlight\", readonly(highlightValue))\r\n provide(\r\n \"toggleHighlight\",\r\n (\r\n v: number | string,\r\n { row, index }: { row: Record<any, any>; index: number }\r\n ) => {\r\n highlightValue.value = v\r\n emit(\"update:highlight\", v)\r\n emit(\"highlight\", { row, index })\r\n }\r\n )\r\n watch(\r\n () => props.highlight,\r\n (hValue) => {\r\n highlightValue.value = hValue as number | string\r\n }\r\n )\r\n //左右固定列\r\n provide(\"leftFixed\", readonly(computed(() => cfg.value.leftFixed)))\r\n provide(\"rightFixed\", readonly(computed(() => cfg.value.rightFixed)))\r\n\r\n //列宽调整\r\n //给组件根节点添加w-no-select的class,以免在拖拽时选择了文本\r\n provide(\"beforeResize\", (tdElem: HTMLElement) => {\r\n resizing.value = true\r\n tableRoot.value.classList.add(\"w-no-select\")\r\n //记录tableRoot在页面中的left\r\n tableRootLeft.value = getBoundingClientRect(tableRoot.value).left\r\n const tdRight = getBoundingClientRect(tdElem).right\r\n const x = tdRight ?? 0\r\n resizeLineLeft.value = x - 1 - tableRootLeft.value\r\n oldResizeLineLeft.value = resizeLineLeft.value\r\n })\r\n provide(\"inResizing\", (colIndex: number, dx: number = 0) => {\r\n resizeLineLeft.value = dx + oldResizeLineLeft.value\r\n })\r\n //dWidth是增或减的宽\r\n provide(\"afterResize\", (colIndex: number, dWidth: number) => {\r\n // const old_width = resizeWidths.value[colIndex]\r\n resizing.value = false\r\n tableRoot.value.classList.remove(\"w-no-select\")\r\n resizeLineLeft.value = -10000\r\n if (dWidth === 0) {\r\n return\r\n }\r\n const k = tbodyColumns.value[colIndex]\r\n const oldWidth = resizeWidths.has(k)\r\n ? resizeWidths.get(k)\r\n : tdWidths.value[colIndex]\r\n let newWidth = oldWidth + dWidth\r\n if (newWidth <= MIN_WIDTH) {\r\n newWidth = MIN_WIDTH\r\n }\r\n resizeWidths.set(tbodyColumns.value[colIndex], newWidth)\r\n //重新定位固定列 / pin 列的阴影位置\r\n if (!!cfg.value.leftFixed || !!cfg.value.rightFixed || hasPin.value) {\r\n let n = Number(cfg.value.leftFixed) ?? 0\r\n let rightN = Number(cfg.value.rightFixed) ?? 0\r\n if (hasPin.value || (n > 0 && colIndex < n) || rightN > 0) {\r\n reset()\r\n }\r\n }\r\n })\r\n\r\n //排序\r\n provide(\"currentSorter\", readonly(currentSorter))\r\n provide(\"updateSorter\", (field: string) => {\r\n if (field === currentSorter.field) {\r\n currentSorter.sorter = toggle().item!\r\n } else {\r\n currentSorter.field = field\r\n set({ item: 0 })\r\n currentSorter.sorter = get().item!\r\n }\r\n // console.log(currentSorter)\r\n emit(\"sort\", currentSorter)\r\n })\r\n\r\n function colGroup(widths: number[]) {\r\n return (\r\n <colgroup>\r\n {widths.map((w: any, i: number) => {\r\n const k = tbodyColumns.value[i]\r\n const has = resizeWidths.has(k)\r\n\r\n const ww = has ? resizeWidths.get(k) : w\r\n return <col style={{ width: ww + \"px\" }} />\r\n })}\r\n </colgroup>\r\n )\r\n }\r\n\r\n function setCheckAll(b: number) {\r\n isCheckedAll.value = b\r\n const checkedKeys = [...selectedKeys.value]\r\n const _data = props.data as any[]\r\n if (b) {\r\n if (_data && _data.length) {\r\n _data.forEach((row, index: number) => {\r\n let k = getSelectedKey(row, cfg.value.checkKey)\r\n let canPush = !checkedKeys.some((_k) => _k == k)\r\n if (canPush) {\r\n if (cfg.value.checkable) {\r\n const { disabled } = cfg.value.checkable(row, index)\r\n if (!disabled) {\r\n selectedKeys.value.push(k)\r\n }\r\n } else {\r\n selectedKeys.value.push(k)\r\n }\r\n }\r\n })\r\n }\r\n } else {\r\n const _keys: (string | number)[] = []\r\n _data.forEach((row, index: number) => {\r\n const k = getSelectedKey(row, cfg.value.checkKey)\r\n if (cfg.value.checkable) {\r\n const { disabled } = cfg.value.checkable(row, index)\r\n if (!disabled) {\r\n _keys.push(k)\r\n }\r\n } else {\r\n _keys.push(k)\r\n }\r\n })\r\n selectedKeys.value = selectedKeys.value.filter(\r\n (_k) => !_keys.some((e) => e == _k)\r\n )\r\n // selectedKeys.value = []\r\n }\r\n afterChecked()\r\n }\r\n //可以复选时,检查是否所有行都被选中了\r\n function checkAllSelected(): 0 | 1 {\r\n const keys = selectedKeys.value\r\n const d = (props.data ?? []).filter((row: any, index: number) => {\r\n if (cfg.value.checkable) {\r\n const { disabled } = cfg.value.checkable(row, index)\r\n return !disabled\r\n }\r\n return true\r\n })\r\n if (d && d.length && keys.length) {\r\n let checked: 0 | 1 = 1\r\n\r\n if (d.length <= keys.length) {\r\n let i = 0\r\n while (i < d.length) {\r\n const row = d[i]\r\n const k = getSelectedKey(row, cfg.value.checkKey)\r\n if (!keys.some((_k) => _k == k)) {\r\n checked = 0\r\n break\r\n }\r\n i++\r\n }\r\n } else {\r\n checked = 0\r\n }\r\n return checked\r\n }\r\n return 0\r\n }\r\n\r\n function afterChecked() {\r\n let arr = (props.data ?? []).filter((row, index) => {\r\n const k = getSelectedKey(row, cfg.value.checkKey)\r\n if (cfg.value.checkable) {\r\n const { disabled } = cfg.value.checkable(row, index)\r\n if (!disabled) {\r\n return selectedKeys.value.some((s) => s == k)\r\n }\r\n return false\r\n }\r\n return selectedKeys.value.some((s) => s == k)\r\n })\r\n emit(\"after-checked\", arr)\r\n }\r\n\r\n watch(\r\n selectedKeys,\r\n (ks) => {\r\n if (!isSameArray(ks, props.keys as any)) {\r\n emit(\"update:keys\", ks)\r\n }\r\n },\r\n { deep: true }\r\n )\r\n watch(\r\n () => props.keys,\r\n (ks: any) => {\r\n if (!isSameArray(ks, selectedKeys.value)) {\r\n selectedKeys.value = ks\r\n if (ks && ks.length === 0) {\r\n isCheckedAll.value = 0\r\n }\r\n }\r\n },\r\n { deep: true, immediate: true }\r\n )\r\n watch(tbodyColumns, () => {\r\n nextTick(reset)\r\n })\r\n //切换分页的时候,如果当前是多选,则重新计算\r\n //全选按钮是否选中\r\n // watch(\r\n // () => props.data,\r\n // (i) => {\r\n // if (i && props.hasCheckbox) {\r\n // const b = checkAllSelected()\r\n // isCheckedAll.value = b\r\n // }\r\n // },\r\n // {\r\n // deep: true,\r\n // immediate: true\r\n // }\r\n // )\r\n watch(\r\n [() => props.data, () => cfg.value.pageIndex, () => cfg.value.pageSize],\r\n ([d, i, s], [oldD, oldI, oldS]) => {\r\n if (d) {\r\n if (cfg.value.hasCheckbox) {\r\n const b = checkAllSelected()\r\n isCheckedAll.value = b\r\n }\r\n if (oldS !== s || i !== oldI) {\r\n requestAnimationFrame(() => {\r\n nextTick(scrollToTop)\r\n })\r\n }\r\n }\r\n // if (i && props.hasCheckbox) {\r\n // const b = checkAllSelected()\r\n // isCheckedAll.value = b\r\n // }\r\n },\r\n {\r\n deep: true,\r\n immediate: true,\r\n }\r\n )\r\n\r\n onMounted(() => {\r\n //刷新页面时,FF浏览器会记录滚动条的位置,故在此重置为0\r\n //不管三七二十一,全部重置\r\n if (innerElem.value && isElement(innerElem.value)) {\r\n innerElem.value.scrollLeft = 0\r\n innerElem.value.scrollTop = 0\r\n }\r\n })\r\n\r\n useVisibleResize(innerElem, () => {\r\n adjustTdWidths()\r\n reset()\r\n })\r\n\r\n onActivated(() => {\r\n if (innerElem.value && isElement(innerElem.value)) {\r\n innerElem.value.scrollLeft = scrollLeft.value\r\n innerElem.value.scrollTop = scrollTop.value\r\n }\r\n })\r\n\r\n function renderTable() {\r\n const thead = <Thead {...theadProps.value}></Thead>\r\n const tbody = (data: any[] | undefined, from?: number, to?: number) => (\r\n <Tbody data={data} from={from} to={to} {...tbodyProps.value}></Tbody>\r\n )\r\n\r\n const innerTable = ({\r\n data,\r\n index,\r\n }: {\r\n data: any[] | undefined\r\n index?: { from: number; to: number }\r\n }) => (\r\n <>\r\n <div class=\"w-sheet-thead\">\r\n <table class=\"w-sheet\">\r\n {colGroup(tdWidths.value)}\r\n <thead>{thead}</thead>\r\n </table>\r\n </div>\r\n <div class=\"w-sheet-tbody\">\r\n <table class=\"w-sheet\">\r\n {colGroup(tdWidths.value)}\r\n <tbody>\r\n {tbody(\r\n data,\r\n index ? index.from : undefined,\r\n index ? index.to : undefined\r\n )}\r\n </tbody>\r\n </table>\r\n </div>\r\n {hasSum.value && (\r\n <div class=\"w-sheet-tfoot\">\r\n <table class=\"w-sheet\">\r\n {colGroup(tdWidths.value)}\r\n <tfoot>\r\n <Tfoot {...tfootProps.value} />\r\n </tfoot>\r\n </table>\r\n </div>\r\n )}\r\n </>\r\n )\r\n\r\n const table = (content: any) => (\r\n <div\r\n class={[\r\n \"w-sheet-container\",\r\n {\r\n \"w-sheet-bordered\": cfg.value.bordered,\r\n \"w-sheet-tr-bordered\": cfg.value.trBordered,\r\n },\r\n ]}\r\n style={toCssVarsStyle({\r\n ...propSizeToCssVars(\"sheet\", props.size),\r\n ...propColorToCssVars(\"sheet\", props.color),\r\n ...props.cssVars,\r\n })}\r\n ref={tableRoot}>\r\n {content}\r\n {(!props.data || props.data?.length === 0) && slots[\"sheet-empty\"]\r\n ? slots[\"sheet-empty\"]()\r\n : null}\r\n <div\r\n class=\"w-sheet-resize-line\"\r\n v-show={resizing.value}\r\n style={{ left: resizeLineLeft.value + \"px\" }}></div>\r\n {leftShadowSlots.value.map((s, i) => (\r\n <div\r\n key={`left-shadow-${i}`}\r\n class={[\r\n \"w-sheet-left-fixed-shadow-line\",\r\n { \"is-show\": s.show && props.data },\r\n ]}\r\n style={{ left: s.left + \"px\" }}\r\n />\r\n ))}\r\n {rightShadowSlots.value.map((s, i) => (\r\n <div\r\n key={`right-shadow-${i}`}\r\n class={[\r\n \"w-sheet-right-fixed-shadow-line\",\r\n { \"is-show\": s.show && props.data },\r\n ]}\r\n style={{ left: s.left + \"px\" }}\r\n />\r\n ))}\r\n </div>\r\n )\r\n\r\n if (cfg.value.virtual) {\r\n return table(\r\n <Virtual\r\n {...innerProps.value}\r\n itemHeight={\r\n cfg.value.itemHeight ?? props.size ?? SHEET_DEFAULT_ROW_HEIGHT\r\n }\r\n sourceData={props.data}\r\n pad={cfg.value.pad}\r\n v-slots={{\r\n default: (e: DataListOptions) => {\r\n return innerTable(e)\r\n },\r\n }}\r\n />\r\n )\r\n }\r\n\r\n return table(\r\n <div {...innerProps.value}>{innerTable({ data: props.data })}</div>\r\n )\r\n }\r\n\r\n expose({\r\n setSorter: ({\r\n field,\r\n sorter,\r\n }: {\r\n field: string\r\n sorter: boolean | number\r\n }) => {\r\n currentSorter.field = field\r\n currentSorter.sorter = sorter\r\n },\r\n getSorter: () => ({\r\n field: currentSorter.field,\r\n sorter: currentSorter.sorter,\r\n }),\r\n scrollTo,\r\n scrollToTop,\r\n scrollToBottom,\r\n scrollToPercent,\r\n getScrollPosition,\r\n getScrollEl,\r\n resetFixed: reset,\r\n } satisfies SheetMethods)\r\n return renderTable\r\n },\r\n})\r\n\r\n// 两个数组\r\nfunction isSameArray(arr1: any[], arr2: any[]) {\r\n if (arr1.length === arr2.length) {\r\n if (arr1.length === 0) {\r\n return true\r\n }\r\n let i = 0\r\n let b = true\r\n while (i < arr1.length) {\r\n const k = arr1[i]\r\n if (!arr2.some((item) => item === k)) {\r\n b = false\r\n break\r\n }\r\n i++\r\n }\r\n return b\r\n }\r\n return false\r\n}\r\n"],"mappings":"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"}
@@ -0,0 +1,181 @@
1
+ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
2
+ isInThead: BooleanConstructor;
3
+ sorter: {
4
+ type: (NumberConstructor | BooleanConstructor)[];
5
+ default: any;
6
+ };
7
+ tag: {
8
+ type: StringConstructor;
9
+ default: string;
10
+ };
11
+ align: {
12
+ type: StringConstructor;
13
+ };
14
+ isNarrow: BooleanConstructor;
15
+ notBold: BooleanConstructor;
16
+ resizeWidth: BooleanConstructor;
17
+ colIndex: NumberConstructor;
18
+ colSpan: {
19
+ type: NumberConstructor;
20
+ default: number;
21
+ };
22
+ rowSpan: {
23
+ type: NumberConstructor;
24
+ default: number;
25
+ };
26
+ col: {
27
+ type: ObjectConstructor;
28
+ };
29
+ cellClass: {
30
+ type: (StringConstructor | ArrayConstructor | ObjectConstructor)[];
31
+ };
32
+ }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
33
+ isInThead: BooleanConstructor;
34
+ sorter: {
35
+ type: (NumberConstructor | BooleanConstructor)[];
36
+ default: any;
37
+ };
38
+ tag: {
39
+ type: StringConstructor;
40
+ default: string;
41
+ };
42
+ align: {
43
+ type: StringConstructor;
44
+ };
45
+ isNarrow: BooleanConstructor;
46
+ notBold: BooleanConstructor;
47
+ resizeWidth: BooleanConstructor;
48
+ colIndex: NumberConstructor;
49
+ colSpan: {
50
+ type: NumberConstructor;
51
+ default: number;
52
+ };
53
+ rowSpan: {
54
+ type: NumberConstructor;
55
+ default: number;
56
+ };
57
+ col: {
58
+ type: ObjectConstructor;
59
+ };
60
+ cellClass: {
61
+ type: (StringConstructor | ArrayConstructor | ObjectConstructor)[];
62
+ };
63
+ }>> & Readonly<{}>, {
64
+ tag: string;
65
+ isInThead: boolean;
66
+ isNarrow: boolean;
67
+ notBold: boolean;
68
+ resizeWidth: boolean;
69
+ sorter: number | boolean;
70
+ colSpan: number;
71
+ rowSpan: number;
72
+ }, {}, {
73
+ Icon: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
74
+ name: {
75
+ type: import('vue').PropType<string>;
76
+ default: any;
77
+ };
78
+ fontClassName: {
79
+ type: StringConstructor;
80
+ default: any;
81
+ };
82
+ color: {
83
+ type: StringConstructor;
84
+ default: any;
85
+ };
86
+ hoverColor: {
87
+ type: StringConstructor;
88
+ default: any;
89
+ };
90
+ size: {
91
+ type: import('vue').PropType<string | number>;
92
+ default: any;
93
+ };
94
+ spin: {
95
+ type: BooleanConstructor;
96
+ default: any;
97
+ };
98
+ rotate: {
99
+ type: BooleanConstructor;
100
+ default: any;
101
+ };
102
+ deg: {
103
+ type: NumberConstructor;
104
+ default: any;
105
+ };
106
+ direction: {
107
+ type: import('vue').PropType<import('..').IconRotateDirection>;
108
+ default: any;
109
+ };
110
+ title: {
111
+ type: StringConstructor;
112
+ default: any;
113
+ };
114
+ ariaLabel: {
115
+ type: StringConstructor;
116
+ default: any;
117
+ };
118
+ }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
119
+ click: (e: MouseEvent) => boolean;
120
+ }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
121
+ name: {
122
+ type: import('vue').PropType<string>;
123
+ default: any;
124
+ };
125
+ fontClassName: {
126
+ type: StringConstructor;
127
+ default: any;
128
+ };
129
+ color: {
130
+ type: StringConstructor;
131
+ default: any;
132
+ };
133
+ hoverColor: {
134
+ type: StringConstructor;
135
+ default: any;
136
+ };
137
+ size: {
138
+ type: import('vue').PropType<string | number>;
139
+ default: any;
140
+ };
141
+ spin: {
142
+ type: BooleanConstructor;
143
+ default: any;
144
+ };
145
+ rotate: {
146
+ type: BooleanConstructor;
147
+ default: any;
148
+ };
149
+ deg: {
150
+ type: NumberConstructor;
151
+ default: any;
152
+ };
153
+ direction: {
154
+ type: import('vue').PropType<import('..').IconRotateDirection>;
155
+ default: any;
156
+ };
157
+ title: {
158
+ type: StringConstructor;
159
+ default: any;
160
+ };
161
+ ariaLabel: {
162
+ type: StringConstructor;
163
+ default: any;
164
+ };
165
+ }>> & Readonly<{
166
+ onClick?: (e: MouseEvent) => any;
167
+ }>, {
168
+ title: string;
169
+ deg: number;
170
+ size: string | number;
171
+ name: string;
172
+ fontClassName: string;
173
+ color: string;
174
+ hoverColor: string;
175
+ spin: boolean;
176
+ rotate: boolean;
177
+ direction: import('..').IconRotateDirection;
178
+ ariaLabel: string;
179
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
180
+ }, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
181
+ export default _default;
@@ -0,0 +1,132 @@
1
+ import Icon_default from "../icon/Icon.js";
2
+ import { computed, createVNode, defineComponent, inject, normalizeClass, normalizeStyle, onMounted, reactive, ref } from "vue";
3
+ //#region components/sheet/_cell.tsx
4
+ var _cell_default = /* @__PURE__ */ defineComponent({
5
+ components: { Icon: Icon_default },
6
+ props: {
7
+ isInThead: Boolean,
8
+ sorter: {
9
+ type: [Boolean, Number],
10
+ default: void 0
11
+ },
12
+ tag: {
13
+ type: String,
14
+ default: "td"
15
+ },
16
+ align: { type: String },
17
+ isNarrow: Boolean,
18
+ notBold: Boolean,
19
+ resizeWidth: Boolean,
20
+ colIndex: Number,
21
+ colSpan: {
22
+ type: Number,
23
+ default: 1
24
+ },
25
+ rowSpan: {
26
+ type: Number,
27
+ default: 1
28
+ },
29
+ col: { type: Object },
30
+ cellClass: { type: [
31
+ Object,
32
+ Array,
33
+ String
34
+ ] }
35
+ },
36
+ setup(props, { slots }) {
37
+ const tdRoot = ref(null);
38
+ const start = reactive({
39
+ x: 0,
40
+ y: 0
41
+ });
42
+ const end = reactive({
43
+ x: 0,
44
+ y: 0
45
+ });
46
+ const beforeResize = inject("beforeResize");
47
+ const inResizing = inject("inResizing");
48
+ const afterResize = inject("afterResize");
49
+ const currentSorter = inject("currentSorter");
50
+ const updateSorter = inject("updateSorter");
51
+ const _style = computed(() => {
52
+ if (!props.isInThead) {
53
+ const { width, ...restStyle } = props.col?.style ?? {};
54
+ return restStyle;
55
+ }
56
+ });
57
+ const cellProps = computed(() => {
58
+ const _s = normalizeStyle(_style.value);
59
+ return {
60
+ ref: tdRoot,
61
+ colspan: props.colSpan,
62
+ rowspan: props.rowSpan,
63
+ "data-col-index": props.colIndex,
64
+ class: [
65
+ "w-cell",
66
+ {
67
+ "w-cell--center": props.align === "center",
68
+ "w-cell--right": props.align === "right",
69
+ "w-cell--narrow": props.isNarrow,
70
+ "w-cell--not-bold": props.notBold
71
+ },
72
+ normalizeClass(props.cellClass)
73
+ ],
74
+ style: _s
75
+ };
76
+ });
77
+ function toResize(e) {
78
+ end.x = e.clientX;
79
+ inResizing(props.colIndex, end.x - start.x);
80
+ }
81
+ function handleMouseup(e) {
82
+ afterResize(props.colIndex, e.clientX - start.x);
83
+ start.x = 0;
84
+ end.x = 0;
85
+ document.removeEventListener("mousemove", toResize);
86
+ document.removeEventListener("mouseup", handleMouseup);
87
+ }
88
+ function toSort() {
89
+ updateSorter(props.col?.field);
90
+ }
91
+ onMounted(() => {});
92
+ return () => {
93
+ let line = null;
94
+ let sorter = null;
95
+ if (props.resizeWidth) line = createVNode("span", {
96
+ class: "w-cell-resize-line",
97
+ onMousedown: (e) => {
98
+ start.x = e.clientX;
99
+ beforeResize(tdRoot.value);
100
+ document.addEventListener("mousemove", toResize);
101
+ document.addEventListener("mouseup", handleMouseup);
102
+ },
103
+ onClick: (e) => {
104
+ e.preventDefault();
105
+ }
106
+ }, null);
107
+ if (props.sorter !== void 0) sorter = createVNode("div", {
108
+ "class": "w-cell-sorter",
109
+ "onClick": (e) => {
110
+ toSort();
111
+ e.preventDefault();
112
+ e.stopPropagation();
113
+ }
114
+ }, [createVNode(Icon_default, {
115
+ "name": "w-icon-sort-down",
116
+ "class": ["w-cell-sorter-icon w-cell-sorter-up", { "w-cell-sorter--0": currentSorter.field === props.col?.field && currentSorter.sorter === 0 }]
117
+ }, null), createVNode(Icon_default, {
118
+ "name": "w-icon-sort-down",
119
+ "class": ["w-cell-sorter-icon w-cell-sorter-down ", { "w-cell-sorter--1": currentSorter.field === props.col?.field && currentSorter.sorter === 1 }]
120
+ }, null)]);
121
+ return createVNode(props.tag, cellProps.value, { default: () => [
122
+ slots.default?.(),
123
+ line,
124
+ sorter
125
+ ] });
126
+ };
127
+ }
128
+ });
129
+ //#endregion
130
+ export { _cell_default as default };
131
+
132
+ //# sourceMappingURL=_cell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_cell.js","names":["ref","computed","defineComponent","inject","reactive","onMounted","normalizeClass","normalizeStyle","createVNode","_createVNode","Icon","components","props","isInThead","Boolean","sorter","type","Number","default","undefined","tag","String","align","isNarrow","notBold","resizeWidth","colIndex","colSpan","rowSpan","col","Object","cellClass","Array","setup","slots","tdRoot","start","x","y","end","beforeResize","inResizing","afterResize","currentSorter","updateSorter","_style","width","restStyle","style","cellProps","_s","value","o","colspan","rowspan","class","toResize","e","clientX","handleMouseup","document","removeEventListener","toSort","field","line","lineProps","onMousedown","addEventListener","onClick","preventDefault","stopPropagation"],"sources":["../../../components/sheet/_cell.tsx"],"sourcesContent":["import {\r\n ref,\r\n computed,\r\n defineComponent,\r\n inject,\r\n ComputedRef,\r\n reactive,\r\n onMounted,\r\n onUpdated,\r\n nextTick,\r\n normalizeClass,\r\n normalizeStyle,\r\n} from \"vue\"\r\nimport Icon from \"../icon/index\"\r\nimport number from \"../number\"\r\nexport default defineComponent({\r\n components: { Icon },\r\n props: {\r\n isInThead: Boolean,\r\n\r\n sorter: { type: [Boolean, Number], default: undefined },\r\n tag: { type: String, default: \"td\" },\r\n align: { type: String }, //center\r\n isNarrow: Boolean,\r\n notBold: Boolean,\r\n resizeWidth: Boolean,\r\n colIndex: Number,\r\n colSpan: { type: Number, default: 1 },\r\n rowSpan: { type: Number, default: 1 },\r\n col: { type: Object },\r\n cellClass: { type: [Object, Array, String] },\r\n },\r\n setup(props, { slots }) {\r\n const tdRoot = ref(null)\r\n const start = reactive({ x: 0, y: 0 })\r\n const end = reactive({ x: 0, y: 0 })\r\n const beforeResize = inject(\"beforeResize\") as Function\r\n const inResizing = inject(\"inResizing\") as Function\r\n const afterResize = inject(\"afterResize\") as Function\r\n const currentSorter = inject(\"currentSorter\") as any\r\n const updateSorter = inject(\"updateSorter\") as Function\r\n const _style = computed(() => {\r\n if (!props.isInThead) {\r\n const { width, ...restStyle } = props.col?.style ?? {}\r\n return restStyle\r\n }\r\n })\r\n const cellProps = computed(() => {\r\n const _s = normalizeStyle(_style.value)\r\n let o: any = {\r\n ref: tdRoot,\r\n colspan: props.colSpan,\r\n rowspan: props.rowSpan,\r\n \"data-col-index\": props.colIndex,\r\n class: [\r\n \"w-cell\",\r\n {\r\n \"w-cell--center\": props.align === \"center\",\r\n \"w-cell--right\": props.align === \"right\",\r\n \"w-cell--narrow\": props.isNarrow,\r\n \"w-cell--not-bold\": props.notBold,\r\n },\r\n normalizeClass(props.cellClass),\r\n ],\r\n style: _s,\r\n }\r\n return o\r\n })\r\n function toResize(e: MouseEvent) {\r\n end.x = e.clientX\r\n inResizing(props.colIndex, end.x - start.x)\r\n }\r\n function handleMouseup(e: MouseEvent) {\r\n afterResize(props.colIndex, e.clientX - start.x)\r\n start.x = 0\r\n end.x = 0\r\n document.removeEventListener(\"mousemove\", toResize)\r\n document.removeEventListener(\"mouseup\", handleMouseup)\r\n }\r\n function toSort() {\r\n updateSorter(props.col?.field)\r\n }\r\n onMounted(() => {})\r\n\r\n return () => {\r\n let line: any = null\r\n let sorter: any = null\r\n if (props.resizeWidth) {\r\n const lineProps = {\r\n class: \"w-cell-resize-line\",\r\n onMousedown: (e: MouseEvent) => {\r\n start.x = e.clientX\r\n beforeResize(tdRoot.value)\r\n\r\n document.addEventListener(\"mousemove\", toResize)\r\n document.addEventListener(\"mouseup\", handleMouseup)\r\n },\r\n onClick: (e: MouseEvent) => {\r\n e.preventDefault()\r\n },\r\n }\r\n line = <span {...lineProps}></span>\r\n }\r\n if (props.sorter !== undefined) {\r\n sorter = (\r\n <div\r\n class=\"w-cell-sorter\"\r\n onClick={(e) => {\r\n toSort()\r\n e.preventDefault()\r\n e.stopPropagation()\r\n }}>\r\n <Icon\r\n name=\"w-icon-sort-down\"\r\n class={[\r\n \"w-cell-sorter-icon w-cell-sorter-up\",\r\n {\r\n \"w-cell-sorter--0\":\r\n currentSorter.field === props.col?.field &&\r\n currentSorter.sorter === 0,\r\n },\r\n ]}\r\n />\r\n <Icon\r\n name=\"w-icon-sort-down\"\r\n class={[\r\n \"w-cell-sorter-icon w-cell-sorter-down \",\r\n {\r\n \"w-cell-sorter--1\":\r\n currentSorter.field === props.col?.field &&\r\n currentSorter.sorter === 1,\r\n },\r\n ]}\r\n />\r\n </div>\r\n )\r\n }\r\n\r\n return (\r\n <props.tag {...cellProps.value}>\r\n {slots.default?.()}\r\n {line}\r\n {sorter}\r\n </props.tag>\r\n )\r\n }\r\n },\r\n})\r\n"],"mappings":"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"}
@@ -0,0 +1,170 @@
1
+ import { PropType } from 'vue';
2
+ /**
3
+ * Sheet props
4
+ *
5
+ * 可全局配置的项(`app.use(UI, { components: { Sheet: {...} } })`)默认值均为 `undefined`,
6
+ * 由 useComponentConfig 按「显式 props > 全局配置 > SHEET_FALLBACK」合并。
7
+ *
8
+ * 不宜全局配置:data / columns / keys / modelValue / highlight(实例数据或 v-model 状态)
9
+ */
10
+ declare const _default: {
11
+ data: PropType<any[] | undefined>;
12
+ columns: (ArrayConstructor | FunctionConstructor)[];
13
+ stripe: {
14
+ type: BooleanConstructor;
15
+ default: any;
16
+ };
17
+ hover: {
18
+ type: BooleanConstructor;
19
+ default: any;
20
+ };
21
+ nowrap: {
22
+ type: BooleanConstructor;
23
+ default: any;
24
+ };
25
+ bordered: {
26
+ type: BooleanConstructor;
27
+ default: any;
28
+ };
29
+ trBordered: {
30
+ type: BooleanConstructor;
31
+ default: any;
32
+ };
33
+ height: {
34
+ type: StringConstructor;
35
+ default: any;
36
+ };
37
+ maxHeight: {
38
+ type: StringConstructor;
39
+ default: any;
40
+ };
41
+ autoWidth: {
42
+ type: BooleanConstructor;
43
+ default: any;
44
+ };
45
+ rowClass: {
46
+ type: PropType<string | string[] | Record<string, any> | ((row: any, index: number) => any)>;
47
+ default: any;
48
+ };
49
+ resize: {
50
+ type: BooleanConstructor;
51
+ default: any;
52
+ };
53
+ hasCheckbox: {
54
+ type: BooleanConstructor;
55
+ default: any;
56
+ };
57
+ hasRadio: {
58
+ type: BooleanConstructor;
59
+ default: any;
60
+ };
61
+ hasIndex: {
62
+ type: BooleanConstructor;
63
+ default: any;
64
+ };
65
+ hasAction: {
66
+ type: PropType<boolean | string | Array<string>>;
67
+ default: any;
68
+ };
69
+ canHighlight: {
70
+ type: PropType<boolean | ((row: any, index: number) => boolean)>;
71
+ default: any;
72
+ };
73
+ checkable: {
74
+ type: PropType<(row: any, index: number) => {
75
+ checked?: boolean;
76
+ disabled?: boolean;
77
+ }>;
78
+ default: any;
79
+ };
80
+ checkKey: {
81
+ type: StringConstructor;
82
+ default: any;
83
+ };
84
+ highlightKey: {
85
+ type: StringConstructor;
86
+ default: any;
87
+ };
88
+ rowKey: {
89
+ type: PropType<string | ((row: any) => string)>;
90
+ default: any;
91
+ };
92
+ indexContent: {
93
+ type: PropType<string | object | ((row: any, index: number) => any)>;
94
+ default: any;
95
+ };
96
+ pageSize: {
97
+ type: (NumberConstructor | StringConstructor)[];
98
+ default: any;
99
+ };
100
+ pageIndex: {
101
+ type: (NumberConstructor | StringConstructor)[];
102
+ default: any;
103
+ };
104
+ leftFixed: {
105
+ type: (NumberConstructor | StringConstructor)[];
106
+ default: any;
107
+ };
108
+ rightFixed: {
109
+ type: (NumberConstructor | StringConstructor)[];
110
+ default: any;
111
+ };
112
+ virtual: {
113
+ type: BooleanConstructor;
114
+ default: any;
115
+ };
116
+ itemHeight: {
117
+ type: NumberConstructor;
118
+ default: any;
119
+ };
120
+ pad: {
121
+ type: PropType<number | number[]>;
122
+ default: any;
123
+ };
124
+ sheetRow: {
125
+ type: FunctionConstructor;
126
+ default: any;
127
+ };
128
+ sheetTdIndex: {
129
+ type: FunctionConstructor;
130
+ default: any;
131
+ };
132
+ /**
133
+ * 开启后监听内层滚动容器,抛出 scroll / reach-top / reach-bottom。
134
+ * 可全局配置;默认 false(见 SHEET_FALLBACK)。
135
+ */
136
+ scrollWatch: {
137
+ type: BooleanConstructor;
138
+ default: any;
139
+ };
140
+ /**
141
+ * 距底部多少 px 内视为触底(仅 scrollWatch 时生效)。
142
+ * 实例阈值,默认 0。
143
+ */
144
+ bottomOffset: {
145
+ type: NumberConstructor;
146
+ default: any;
147
+ };
148
+ /** 实例行高(px),写入 `--w-prop-sheet-size`(prop > token) */
149
+ size: {
150
+ type: NumberConstructor;
151
+ default: any;
152
+ };
153
+ /** 品牌主色 → `--w-prop-sheet-color` */
154
+ color: {
155
+ type: StringConstructor;
156
+ default: any;
157
+ };
158
+ /** 实例 CSS 变量 */
159
+ cssVars: {
160
+ type: ObjectConstructor;
161
+ default: any;
162
+ };
163
+ keys: {
164
+ type: ArrayConstructor;
165
+ default: () => any[];
166
+ };
167
+ modelValue: (NumberConstructor | StringConstructor)[];
168
+ highlight: (NumberConstructor | StringConstructor)[];
169
+ };
170
+ export default _default;