@canlooks/can-ui 0.0.70 → 0.0.72

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 (392) hide show
  1. package/LICENSE +1 -1
  2. package/dist/cjs/components/actionSheet/actionSheet.js +9 -4
  3. package/dist/cjs/components/alert/alert.style.d.ts +2 -2
  4. package/dist/cjs/components/app/appDialog.js +28 -24
  5. package/dist/cjs/components/autocomplete/autocomplete.js +21 -27
  6. package/dist/cjs/components/avatar/avatar.d.ts +2 -2
  7. package/dist/cjs/components/avatar/avatar.js +6 -5
  8. package/dist/cjs/components/avatar/avatarGroup.js +1 -1
  9. package/dist/cjs/components/bubbleConfirm/bubbleConfirm.js +9 -2
  10. package/dist/cjs/components/bubbleConfirm/bubbleConfirm.style.d.ts +1 -1
  11. package/dist/cjs/components/calendar/calendar.style.js +124 -124
  12. package/dist/cjs/components/cascade/cascade.d.ts +2 -2
  13. package/dist/cjs/components/cascade/cascade.js +33 -21
  14. package/dist/cjs/components/cascade/cascadePanel.js +23 -13
  15. package/dist/cjs/components/checkboxBase/checkboxBase.d.ts +2 -2
  16. package/dist/cjs/components/checkboxBase/checkboxBase.js +9 -2
  17. package/dist/cjs/components/checkboxBase/checkboxBase.style.d.ts +1 -1
  18. package/dist/cjs/components/checkboxBaseGroup/checkboxBaseGroup.js +2 -2
  19. package/dist/cjs/components/clickAway/clickAway.d.ts +28 -28
  20. package/dist/cjs/components/colorPicker/colorPicker.d.ts +2 -2
  21. package/dist/cjs/components/colorPicker/colorPicker.js +2 -2
  22. package/dist/cjs/components/counter/counter.js +9 -10
  23. package/dist/cjs/components/curd/curd.d.ts +10 -12
  24. package/dist/cjs/components/curd/curd.js +38 -33
  25. package/dist/cjs/components/curd/curd.style.d.ts +2 -1
  26. package/dist/cjs/components/curd/curd.style.js +14 -4
  27. package/dist/cjs/components/curd/curdDialog.js +2 -1
  28. package/dist/cjs/components/curd/curdFilterable.d.ts +21 -0
  29. package/dist/cjs/components/curd/{curdFilter.js → curdFilterable.js} +19 -24
  30. package/dist/cjs/components/curd/index.d.ts +1 -1
  31. package/dist/cjs/components/curd/index.js +1 -1
  32. package/dist/cjs/components/dataGrid/columnResize.js +2 -2
  33. package/dist/cjs/components/dataGrid/dataGrid.d.ts +29 -12
  34. package/dist/cjs/components/dataGrid/dataGrid.js +46 -20
  35. package/dist/cjs/components/dataGrid/dataGrid.style.d.ts +5 -3
  36. package/dist/cjs/components/dataGrid/dataGrid.style.js +38 -33
  37. package/dist/cjs/components/dataGrid/dataGridHead.d.ts +4 -1
  38. package/dist/cjs/components/dataGrid/dataGridHead.js +28 -19
  39. package/dist/cjs/components/dataGrid/dataGridRows.js +1 -1
  40. package/dist/cjs/components/dataGrid/filterBubbleContent.d.ts +19 -0
  41. package/dist/cjs/components/dataGrid/filterBubbleContent.js +42 -0
  42. package/dist/cjs/components/dateTimePicker/dateTimePicker.d.ts +2 -2
  43. package/dist/cjs/components/dateTimePicker/dateTimePicker.js +27 -9
  44. package/dist/cjs/components/dateTimePicker/dateTimePicker.style.d.ts +1 -1
  45. package/dist/cjs/components/dateTimeRangePicker/dateTimeRangePicker.d.ts +4 -3
  46. package/dist/cjs/components/dateTimeRangePicker/dateTimeRangePicker.js +45 -23
  47. package/dist/cjs/components/descriptions/descriptions.js +2 -0
  48. package/dist/cjs/components/descriptions/descriptions.style.d.ts +1 -1
  49. package/dist/cjs/components/dialog/dialog.d.ts +1 -1
  50. package/dist/cjs/components/dialog/dialog.js +2 -2
  51. package/dist/cjs/components/dialog/dialog.style.d.ts +2 -2
  52. package/dist/cjs/components/draggable/draggable.d.ts +12 -2
  53. package/dist/cjs/components/draggable/draggable.js +34 -4
  54. package/dist/cjs/components/flex/flex.d.ts +7 -4
  55. package/dist/cjs/components/flex/flex.js +3 -3
  56. package/dist/cjs/components/form/form.d.ts +10 -5
  57. package/dist/cjs/components/form/form.js +45 -9
  58. package/dist/cjs/components/form/formItem.d.ts +12 -7
  59. package/dist/cjs/components/form/formItem.js +47 -33
  60. package/dist/cjs/components/form/formRelatable.js +2 -1
  61. package/dist/cjs/components/gallery/gallery.style.d.ts +1 -1
  62. package/dist/cjs/components/gallery/imageItem.js +1 -1
  63. package/dist/cjs/components/grid/grid.d.ts +5 -5
  64. package/dist/cjs/components/grid/gridItem.d.ts +8 -7
  65. package/dist/cjs/components/grid/gridItem.js +2 -3
  66. package/dist/cjs/components/image/image.d.ts +4 -4
  67. package/dist/cjs/components/input/input.d.ts +2 -2
  68. package/dist/cjs/components/input/input.js +9 -2
  69. package/dist/cjs/components/inputBase/inputBase.d.ts +16 -11
  70. package/dist/cjs/components/inputBase/inputBase.js +23 -12
  71. package/dist/cjs/components/loading/loading.d.ts +3 -1
  72. package/dist/cjs/components/loading/loading.js +2 -2
  73. package/dist/cjs/components/loading/loading.style.js +4 -3
  74. package/dist/cjs/components/loadingIndicator/loadingIndicator.d.ts +4 -2
  75. package/dist/cjs/components/loadingIndicator/loadingIndicator.js +2 -2
  76. package/dist/cjs/components/loadingIndicator/loadingIndicator.style.d.ts +1 -1
  77. package/dist/cjs/components/loadingIndicator/loadingIndicator.style.js +1 -2
  78. package/dist/cjs/components/loadingMask/loadingMask.js +1 -1
  79. package/dist/cjs/components/menu/menu.js +1 -1
  80. package/dist/cjs/components/menuItem/menuItem.d.ts +2 -2
  81. package/dist/cjs/components/optionsBase/optionsBase.js +1 -0
  82. package/dist/cjs/components/overlayBase/overlayBase.js +9 -6
  83. package/dist/cjs/components/overlayBase/overlayBase.style.js +0 -3
  84. package/dist/cjs/components/palette/palette.style.d.ts +1 -1
  85. package/dist/cjs/components/pickerDialog/pickerDialog.js +20 -7
  86. package/dist/cjs/components/pickerDialog/pickerDialog.style.d.ts +1 -1
  87. package/dist/cjs/components/popper/popper.d.ts +5 -2
  88. package/dist/cjs/components/popper/popper.js +31 -12
  89. package/dist/cjs/components/popper/popper.style.js +1 -2
  90. package/dist/cjs/components/progress/progress.js +1 -1
  91. package/dist/cjs/components/resizable/resizable.style.d.ts +1 -1
  92. package/dist/cjs/components/segmented/segmented.style.d.ts +1 -1
  93. package/dist/cjs/components/select/select.d.ts +2 -2
  94. package/dist/cjs/components/select/select.js +44 -20
  95. package/dist/cjs/components/selectedList/selectedItem.d.ts +1 -1
  96. package/dist/cjs/components/selectedList/selectedItem.js +2 -2
  97. package/dist/cjs/components/selectionContext/selectionContext.d.ts +0 -1
  98. package/dist/cjs/components/selectionContext/selectionHook.d.ts +1 -1
  99. package/dist/cjs/components/selectionContext/selectionHook.js +2 -2
  100. package/dist/cjs/components/serialInput/index.d.ts +1 -0
  101. package/dist/cjs/components/serialInput/index.js +4 -0
  102. package/dist/cjs/components/serialInput/serialInput.d.ts +21 -0
  103. package/dist/cjs/components/serialInput/serialInput.js +58 -0
  104. package/dist/cjs/components/serialInput/serialInput.style.d.ts +6 -0
  105. package/dist/cjs/components/serialInput/serialInput.style.js +13 -0
  106. package/dist/cjs/components/skeleton/skeleton.d.ts +2 -2
  107. package/dist/cjs/components/slidableActions/slidableActionsAction.js +15 -6
  108. package/dist/cjs/components/slider/slider.d.ts +2 -2
  109. package/dist/cjs/components/slider/slider.js +15 -21
  110. package/dist/cjs/components/snackbarBase/snackbarBase.style.d.ts +1 -1
  111. package/dist/cjs/components/snackbarBase/snackbarBase.style.js +1 -3
  112. package/dist/cjs/components/sortableItem/sortableItem.js +9 -10
  113. package/dist/cjs/components/status/status.d.ts +6 -6
  114. package/dist/cjs/components/switch/switch.d.ts +2 -2
  115. package/dist/cjs/components/table/table.d.ts +3 -3
  116. package/dist/cjs/components/table/table.style.d.ts +1 -1
  117. package/dist/cjs/components/table/tableSticky.d.ts +5 -5
  118. package/dist/cjs/components/table/tableSticky.js +4 -4
  119. package/dist/cjs/components/tabs/tabs.style.d.ts +3 -3
  120. package/dist/cjs/components/tag/tag.d.ts +1 -1
  121. package/dist/cjs/components/tag/tag.js +2 -1
  122. package/dist/cjs/components/tag/tag.style.d.ts +1 -1
  123. package/dist/cjs/components/textarea/textarea.d.ts +2 -2
  124. package/dist/cjs/components/textarea/textarea.js +5 -1
  125. package/dist/cjs/components/toggleButton/toggleButton.js +1 -1
  126. package/dist/cjs/components/transfer/transfer.style.d.ts +2 -2
  127. package/dist/cjs/components/transitionBase/collapse.js +36 -14
  128. package/dist/cjs/components/transitionBase/transitionBase.js +1 -1
  129. package/dist/cjs/components/transitionBase/transitionBase.style.js +1 -1
  130. package/dist/cjs/components/transportStyle/transportStyle.d.ts +1 -1
  131. package/dist/cjs/components/transportStyle/transportStyle.js +2 -3
  132. package/dist/cjs/components/tree/tree.d.ts +17 -4
  133. package/dist/cjs/components/tree/tree.js +15 -14
  134. package/dist/cjs/components/tree/tree.style.d.ts +9 -3
  135. package/dist/cjs/components/tree/tree.style.js +135 -4
  136. package/dist/cjs/components/tree/treeDnd.d.ts +25 -0
  137. package/dist/cjs/components/tree/treeDnd.js +23 -0
  138. package/dist/cjs/components/tree/treeNode.d.ts +2 -2
  139. package/dist/cjs/components/tree/treeNode.js +94 -16
  140. package/dist/cjs/components/treeSelect/treeSelect.d.ts +2 -2
  141. package/dist/cjs/components/treeSelect/treeSelect.js +3 -3
  142. package/dist/cjs/components/upload/upload.d.ts +2 -2
  143. package/dist/cjs/components/upload/upload.js +5 -2
  144. package/dist/cjs/components/upload/upload.style.d.ts +2 -2
  145. package/dist/cjs/extensions/curd/curd.d.ts +20 -0
  146. package/dist/cjs/extensions/curd/curd.js +20 -0
  147. package/dist/cjs/extensions/documentViewer/pdfViewer.d.ts +2 -2
  148. package/dist/cjs/extensions/reactiveForm/index.d.ts +2 -0
  149. package/dist/cjs/extensions/reactiveForm/index.js +5 -0
  150. package/dist/cjs/extensions/reactiveForm/reactiveForm.d.ts +40 -0
  151. package/dist/cjs/extensions/reactiveForm/reactiveForm.js +50 -0
  152. package/dist/cjs/extensions/reactiveForm/reactiveFormItem.d.ts +7 -0
  153. package/dist/cjs/extensions/reactiveForm/reactiveFormItem.js +39 -0
  154. package/dist/cjs/index.d.ts +1 -0
  155. package/dist/cjs/index.js +1 -0
  156. package/dist/cjs/types.d.ts +2 -2
  157. package/dist/cjs/utils/curd.js +5 -2
  158. package/dist/cjs/utils/dataGrid.d.ts +3 -2
  159. package/dist/cjs/utils/hooks.js +3 -3
  160. package/dist/cjs/utils/index.d.ts +2 -2
  161. package/dist/cjs/utils/index.js +2 -2
  162. package/dist/cjs/utils/utils.d.ts +17 -9
  163. package/dist/cjs/utils/utils.js +59 -16
  164. package/dist/esm/components/actionSheet/actionSheet.js +10 -5
  165. package/dist/esm/components/alert/alert.style.d.ts +2 -2
  166. package/dist/esm/components/app/appDialog.js +28 -24
  167. package/dist/esm/components/autocomplete/autocomplete.js +22 -28
  168. package/dist/esm/components/avatar/avatar.d.ts +2 -2
  169. package/dist/esm/components/avatar/avatar.js +7 -6
  170. package/dist/esm/components/avatar/avatarGroup.js +1 -1
  171. package/dist/esm/components/bubbleConfirm/bubbleConfirm.js +10 -3
  172. package/dist/esm/components/bubbleConfirm/bubbleConfirm.style.d.ts +1 -1
  173. package/dist/esm/components/calendar/calendar.style.js +124 -124
  174. package/dist/esm/components/cascade/cascade.d.ts +2 -2
  175. package/dist/esm/components/cascade/cascade.js +34 -22
  176. package/dist/esm/components/cascade/cascadePanel.js +24 -14
  177. package/dist/esm/components/checkboxBase/checkboxBase.d.ts +2 -2
  178. package/dist/esm/components/checkboxBase/checkboxBase.js +10 -3
  179. package/dist/esm/components/checkboxBase/checkboxBase.style.d.ts +1 -1
  180. package/dist/esm/components/checkboxBaseGroup/checkboxBaseGroup.js +3 -3
  181. package/dist/esm/components/clickAway/clickAway.d.ts +28 -28
  182. package/dist/esm/components/colorPicker/colorPicker.d.ts +2 -2
  183. package/dist/esm/components/colorPicker/colorPicker.js +3 -3
  184. package/dist/esm/components/counter/counter.js +10 -11
  185. package/dist/esm/components/curd/curd.d.ts +10 -12
  186. package/dist/esm/components/curd/curd.js +39 -34
  187. package/dist/esm/components/curd/curd.style.d.ts +2 -1
  188. package/dist/esm/components/curd/curd.style.js +14 -4
  189. package/dist/esm/components/curd/curdDialog.js +2 -1
  190. package/dist/esm/components/curd/curdFilterable.d.ts +21 -0
  191. package/dist/esm/components/curd/{curdFilter.js → curdFilterable.js} +20 -25
  192. package/dist/esm/components/curd/index.d.ts +1 -1
  193. package/dist/esm/components/curd/index.js +1 -1
  194. package/dist/esm/components/dataGrid/columnResize.js +3 -3
  195. package/dist/esm/components/dataGrid/dataGrid.d.ts +29 -12
  196. package/dist/esm/components/dataGrid/dataGrid.js +48 -22
  197. package/dist/esm/components/dataGrid/dataGrid.style.d.ts +5 -3
  198. package/dist/esm/components/dataGrid/dataGrid.style.js +38 -33
  199. package/dist/esm/components/dataGrid/dataGridHead.d.ts +4 -1
  200. package/dist/esm/components/dataGrid/dataGridHead.js +29 -20
  201. package/dist/esm/components/dataGrid/dataGridRows.js +1 -1
  202. package/dist/esm/components/dataGrid/filterBubbleContent.d.ts +19 -0
  203. package/dist/esm/components/dataGrid/filterBubbleContent.js +39 -0
  204. package/dist/esm/components/dateTimePicker/dateTimePicker.d.ts +2 -2
  205. package/dist/esm/components/dateTimePicker/dateTimePicker.js +28 -10
  206. package/dist/esm/components/dateTimePicker/dateTimePicker.style.d.ts +1 -1
  207. package/dist/esm/components/dateTimeRangePicker/dateTimeRangePicker.d.ts +4 -3
  208. package/dist/esm/components/dateTimeRangePicker/dateTimeRangePicker.js +46 -24
  209. package/dist/esm/components/descriptions/descriptions.js +2 -0
  210. package/dist/esm/components/descriptions/descriptions.style.d.ts +1 -1
  211. package/dist/esm/components/dialog/dialog.d.ts +1 -1
  212. package/dist/esm/components/dialog/dialog.js +2 -2
  213. package/dist/esm/components/dialog/dialog.style.d.ts +2 -2
  214. package/dist/esm/components/draggable/draggable.d.ts +12 -2
  215. package/dist/esm/components/draggable/draggable.js +35 -5
  216. package/dist/esm/components/flex/flex.d.ts +7 -4
  217. package/dist/esm/components/flex/flex.js +2 -2
  218. package/dist/esm/components/form/form.d.ts +10 -5
  219. package/dist/esm/components/form/form.js +43 -9
  220. package/dist/esm/components/form/formItem.d.ts +12 -7
  221. package/dist/esm/components/form/formItem.js +49 -35
  222. package/dist/esm/components/form/formRelatable.js +3 -2
  223. package/dist/esm/components/gallery/gallery.style.d.ts +1 -1
  224. package/dist/esm/components/gallery/imageItem.js +1 -1
  225. package/dist/esm/components/grid/grid.d.ts +5 -5
  226. package/dist/esm/components/grid/gridItem.d.ts +8 -7
  227. package/dist/esm/components/grid/gridItem.js +2 -2
  228. package/dist/esm/components/image/image.d.ts +4 -4
  229. package/dist/esm/components/input/input.d.ts +2 -2
  230. package/dist/esm/components/input/input.js +10 -3
  231. package/dist/esm/components/inputBase/inputBase.d.ts +16 -11
  232. package/dist/esm/components/inputBase/inputBase.js +25 -14
  233. package/dist/esm/components/loading/loading.d.ts +3 -1
  234. package/dist/esm/components/loading/loading.js +2 -2
  235. package/dist/esm/components/loading/loading.style.js +4 -3
  236. package/dist/esm/components/loadingIndicator/loadingIndicator.d.ts +4 -2
  237. package/dist/esm/components/loadingIndicator/loadingIndicator.js +2 -2
  238. package/dist/esm/components/loadingIndicator/loadingIndicator.style.d.ts +1 -1
  239. package/dist/esm/components/loadingIndicator/loadingIndicator.style.js +1 -2
  240. package/dist/esm/components/loadingMask/loadingMask.js +1 -1
  241. package/dist/esm/components/menu/menu.js +2 -2
  242. package/dist/esm/components/menuItem/menuItem.d.ts +2 -2
  243. package/dist/esm/components/optionsBase/optionsBase.js +1 -0
  244. package/dist/esm/components/overlayBase/overlayBase.js +10 -7
  245. package/dist/esm/components/overlayBase/overlayBase.style.js +0 -3
  246. package/dist/esm/components/palette/palette.style.d.ts +1 -1
  247. package/dist/esm/components/pickerDialog/pickerDialog.js +21 -8
  248. package/dist/esm/components/pickerDialog/pickerDialog.style.d.ts +1 -1
  249. package/dist/esm/components/popper/popper.d.ts +5 -2
  250. package/dist/esm/components/popper/popper.js +31 -12
  251. package/dist/esm/components/popper/popper.style.js +1 -2
  252. package/dist/esm/components/progress/progress.js +1 -1
  253. package/dist/esm/components/resizable/resizable.style.d.ts +1 -1
  254. package/dist/esm/components/segmented/segmented.style.d.ts +1 -1
  255. package/dist/esm/components/select/select.d.ts +2 -2
  256. package/dist/esm/components/select/select.js +46 -22
  257. package/dist/esm/components/selectedList/selectedItem.d.ts +1 -1
  258. package/dist/esm/components/selectedList/selectedItem.js +2 -2
  259. package/dist/esm/components/selectionContext/selectionContext.d.ts +0 -1
  260. package/dist/esm/components/selectionContext/selectionHook.d.ts +1 -1
  261. package/dist/esm/components/selectionContext/selectionHook.js +1 -1
  262. package/dist/esm/components/serialInput/index.d.ts +1 -0
  263. package/dist/esm/components/serialInput/index.js +1 -0
  264. package/dist/esm/components/serialInput/serialInput.d.ts +21 -0
  265. package/dist/esm/components/serialInput/serialInput.js +55 -0
  266. package/dist/esm/components/serialInput/serialInput.style.d.ts +6 -0
  267. package/dist/esm/components/serialInput/serialInput.style.js +10 -0
  268. package/dist/esm/components/skeleton/skeleton.d.ts +2 -2
  269. package/dist/esm/components/slidableActions/slidableActionsAction.js +16 -7
  270. package/dist/esm/components/slider/slider.d.ts +2 -2
  271. package/dist/esm/components/slider/slider.js +16 -22
  272. package/dist/esm/components/snackbarBase/snackbarBase.style.d.ts +1 -1
  273. package/dist/esm/components/snackbarBase/snackbarBase.style.js +1 -3
  274. package/dist/esm/components/sortableItem/sortableItem.js +10 -11
  275. package/dist/esm/components/status/status.d.ts +6 -6
  276. package/dist/esm/components/switch/switch.d.ts +2 -2
  277. package/dist/esm/components/table/table.d.ts +3 -3
  278. package/dist/esm/components/table/table.style.d.ts +1 -1
  279. package/dist/esm/components/table/tableSticky.d.ts +5 -5
  280. package/dist/esm/components/table/tableSticky.js +3 -3
  281. package/dist/esm/components/tabs/tabs.style.d.ts +3 -3
  282. package/dist/esm/components/tag/tag.d.ts +1 -1
  283. package/dist/esm/components/tag/tag.js +2 -1
  284. package/dist/esm/components/tag/tag.style.d.ts +1 -1
  285. package/dist/esm/components/textarea/textarea.d.ts +2 -2
  286. package/dist/esm/components/textarea/textarea.js +6 -2
  287. package/dist/esm/components/toggleButton/toggleButton.js +2 -2
  288. package/dist/esm/components/transfer/transfer.style.d.ts +2 -2
  289. package/dist/esm/components/transitionBase/collapse.js +38 -16
  290. package/dist/esm/components/transitionBase/transitionBase.js +1 -1
  291. package/dist/esm/components/transitionBase/transitionBase.style.js +1 -1
  292. package/dist/esm/components/transportStyle/transportStyle.d.ts +1 -1
  293. package/dist/esm/components/transportStyle/transportStyle.js +2 -2
  294. package/dist/esm/components/tree/tree.d.ts +17 -4
  295. package/dist/esm/components/tree/tree.js +17 -16
  296. package/dist/esm/components/tree/tree.style.d.ts +9 -3
  297. package/dist/esm/components/tree/tree.style.js +135 -4
  298. package/dist/esm/components/tree/treeDnd.d.ts +25 -0
  299. package/dist/esm/components/tree/treeDnd.js +19 -0
  300. package/dist/esm/components/tree/treeNode.d.ts +2 -2
  301. package/dist/esm/components/tree/treeNode.js +96 -18
  302. package/dist/esm/components/treeSelect/treeSelect.d.ts +2 -2
  303. package/dist/esm/components/treeSelect/treeSelect.js +4 -4
  304. package/dist/esm/components/upload/upload.d.ts +2 -2
  305. package/dist/esm/components/upload/upload.js +6 -3
  306. package/dist/esm/components/upload/upload.style.d.ts +2 -2
  307. package/dist/esm/extensions/curd/curd.d.ts +20 -0
  308. package/dist/esm/extensions/curd/curd.js +20 -0
  309. package/dist/esm/extensions/documentViewer/pdfViewer.d.ts +2 -2
  310. package/dist/esm/extensions/reactiveForm/index.d.ts +2 -0
  311. package/dist/esm/extensions/reactiveForm/index.js +2 -0
  312. package/dist/esm/extensions/reactiveForm/reactiveForm.d.ts +40 -0
  313. package/dist/esm/extensions/reactiveForm/reactiveForm.js +46 -0
  314. package/dist/esm/extensions/reactiveForm/reactiveFormItem.d.ts +7 -0
  315. package/dist/esm/extensions/reactiveForm/reactiveFormItem.js +36 -0
  316. package/dist/esm/index.d.ts +1 -0
  317. package/dist/esm/index.js +1 -0
  318. package/dist/esm/types.d.ts +2 -2
  319. package/dist/esm/utils/curd.js +5 -2
  320. package/dist/esm/utils/dataGrid.d.ts +3 -2
  321. package/dist/esm/utils/hooks.js +3 -3
  322. package/dist/esm/utils/index.d.ts +2 -2
  323. package/dist/esm/utils/index.js +2 -2
  324. package/dist/esm/utils/utils.d.ts +17 -9
  325. package/dist/esm/utils/utils.js +58 -16
  326. package/extensions/curd.cjs +5 -5
  327. package/extensions/documentViewer.cjs +5 -5
  328. package/extensions/reactiveForm.cjs +5 -0
  329. package/extensions/reactiveForm.d.ts +1 -0
  330. package/extensions/reactiveForm.js +1 -0
  331. package/extensions/textFormatter.cjs +5 -5
  332. package/package.json +6 -6
  333. package/dist/cjs/components/curd/curdFilter.d.ts +0 -16
  334. package/dist/esm/components/curd/curdFilter.d.ts +0 -16
  335. package/documentation/bootstrap.mjs +0 -8
  336. package/documentation/dist/assets/index-DvrKS6Tv.js +0 -7747
  337. package/documentation/dist/atom-one-dark.min.css +0 -1
  338. package/documentation/dist/components/accordion.md +0 -38
  339. package/documentation/dist/components/actionSheet.md +0 -49
  340. package/documentation/dist/components/alert.md +0 -38
  341. package/documentation/dist/components/anchorList.md +0 -36
  342. package/documentation/dist/components/autocomplete.md +0 -68
  343. package/documentation/dist/components/avatar.md +0 -79
  344. package/documentation/dist/components/badge.md +0 -33
  345. package/documentation/dist/components/bottomNavigation.md +0 -39
  346. package/documentation/dist/components/breadcrumb.md +0 -28
  347. package/documentation/dist/components/bubbleConfirm.md +0 -34
  348. package/documentation/dist/components/button.md +0 -62
  349. package/documentation/dist/components/card.md +0 -30
  350. package/documentation/dist/components/cascade.md +0 -48
  351. package/documentation/dist/components/checkbox.md +0 -36
  352. package/documentation/dist/components/colorPicker.md +0 -27
  353. package/documentation/dist/components/contextMenu.md +0 -27
  354. package/documentation/dist/components/counter.md +0 -29
  355. package/documentation/dist/components/dataGrid.md +0 -112
  356. package/documentation/dist/components/dateTimePicker.md +0 -35
  357. package/documentation/dist/components/dateTimeRangePicker.md +0 -36
  358. package/documentation/dist/components/descriptions.md +0 -35
  359. package/documentation/dist/components/dialog.md +0 -56
  360. package/documentation/dist/components/divider.md +0 -26
  361. package/documentation/dist/components/drawer.md +0 -40
  362. package/documentation/dist/components/flex.md +0 -20
  363. package/documentation/dist/components/form.md +0 -131
  364. package/documentation/dist/components/formDialog.md +0 -36
  365. package/documentation/dist/components/grid.md +0 -34
  366. package/documentation/dist/components/highlight.md +0 -26
  367. package/documentation/dist/components/image.md +0 -90
  368. package/documentation/dist/components/input.md +0 -39
  369. package/documentation/dist/components/loading.md +0 -46
  370. package/documentation/dist/components/menu.md +0 -85
  371. package/documentation/dist/components/pagination.md +0 -38
  372. package/documentation/dist/components/pickerDialog.md +0 -56
  373. package/documentation/dist/components/placeholder.md +0 -30
  374. package/documentation/dist/components/progress.md +0 -43
  375. package/documentation/dist/components/radio.md +0 -37
  376. package/documentation/dist/components/rating.md +0 -35
  377. package/documentation/dist/components/resizable.md +0 -41
  378. package/documentation/dist/components/scrollbar.md +0 -31
  379. package/documentation/dist/components/segmented.md +0 -57
  380. package/documentation/dist/components/select.md +0 -30
  381. package/documentation/dist/components/skeleton.md +0 -26
  382. package/documentation/dist/components/slidableActions.md +0 -53
  383. package/documentation/dist/guide/appComponent.md +0 -30
  384. package/documentation/dist/guide/globalMethods.md +0 -238
  385. package/documentation/dist/guide/icon.md +0 -57
  386. package/documentation/dist/guide/introduction.md +0 -2
  387. package/documentation/dist/guide/overrideProps.md +0 -0
  388. package/documentation/dist/guide/startup.md +0 -23
  389. package/documentation/dist/guide/theme.md +0 -249
  390. package/documentation/dist/index.html +0 -13
  391. package/documentation/dist/logo.png +0 -0
  392. package/documentation/vite.config.mjs +0 -18
@@ -31,7 +31,7 @@ options = rows ?? nodes, primaryKey = 'id', childrenKey = 'children', relation =
31
31
  !multiple && confirmHandler(value);
32
32
  };
33
33
  const [innerOpen, setInnerOpen] = (0, utils_1.useControlled)(props.defaultOpen, props.open);
34
- const onCloseHandler = (reason) => {
34
+ const closeHandler = (reason) => {
35
35
  if (reason === 'confirmed') {
36
36
  return;
37
37
  }
@@ -49,8 +49,7 @@ options = rows ?? nodes, primaryKey = 'id', childrenKey = 'children', relation =
49
49
  resolvers.current?.resolve(value);
50
50
  setInnerOpen(false);
51
51
  };
52
- const exitedHandler = () => {
53
- props.modalProps?.onExited?.();
52
+ const onExited = () => {
54
53
  _setInnerValue(null);
55
54
  };
56
55
  const renderChildren = () => {
@@ -65,10 +64,24 @@ options = rows ?? nodes, primaryKey = 'id', childrenKey = 'children', relation =
65
64
  : children;
66
65
  };
67
66
  const selectedCount = (0, utils_1.toArray)(innerValue)?.length || 0;
68
- return ((0, jsx_runtime_1.jsx)(selectionContext_1.SelectionContext, { options: options, primaryKey: primaryKey, childrenKey: childrenKey, relation: relation, integration: integration, disabled: disabled, clearable: clearable, multiple: multiple, value: innerValue, onChange: setInnerValue, onToggle: onToggle, children: (0, jsx_runtime_1.jsx)(dialog_1.Dialog, { width: multiple ? '90%' : 1080, footer: null, maskClosable: false, ...props, ref: dialogRef, css: pickerDialog_style_1.style, className: (0, utils_1.clsx)(pickerDialog_style_1.classes.root, props.className), open: innerOpen.current, onClose: onCloseHandler, modalProps: {
69
- onExited: exitedHandler,
70
- ...props.modalProps
71
- }, ...showSelectedList && {
67
+ return ((0, jsx_runtime_1.jsx)(selectionContext_1.SelectionContext, { options,
68
+ primaryKey,
69
+ childrenKey,
70
+ relation,
71
+ integration,
72
+ disabled,
73
+ clearable,
74
+ multiple, value: innerValue, onChange: setInnerValue, onToggle: onToggle, children: (0, jsx_runtime_1.jsx)(dialog_1.Dialog, { ...(0, utils_1.mergeComponentProps)({
75
+ width: multiple ? '90%' : 1080,
76
+ footer: null,
77
+ maskClosable: false
78
+ }, props, {
79
+ ref: dialogRef,
80
+ css: pickerDialog_style_1.style,
81
+ className: pickerDialog_style_1.classes.root,
82
+ open: innerOpen.current,
83
+ modalProps: (0, utils_1.mergeComponentProps)(props.modalProps, { onExited })
84
+ }), onClose: closeHandler, ...showSelectedList && {
72
85
  [selectedListPlacement === 'left' ? 'prefix' : 'suffix']: ((0, jsx_runtime_1.jsxs)("div", { className: pickerDialog_style_1.classes.selectedArea, children: [(0, jsx_runtime_1.jsxs)(divider_1.Divider, { className: pickerDialog_style_1.classes.count, textAlign: "start", children: [(0, jsx_runtime_1.jsxs)("div", { children: ["\u5DF2\u9009\u62E9", (0, jsx_runtime_1.jsx)("b", { children: selectedCount }), "\u9879"] }), clearable &&
73
86
  (0, jsx_runtime_1.jsx)(button_1.Button, { prefix: (0, jsx_runtime_1.jsx)(icon_1.Icon, { icon: faTrashCan_1.faTrashCan }), variant: "plain", color: "text.secondary", onClick: () => setInnerValue(multiple ? [] : null), children: "\u6E05\u7A7A" })] }), (0, jsx_runtime_1.jsx)(selectedList_1.SelectedList, { itemProps: selectedItemProps, ...selectedListProps, className: (0, utils_1.clsx)(pickerDialog_style_1.classes.list, selectedListProps?.className) }), (0, jsx_runtime_1.jsx)(button_1.Button, { className: pickerDialog_style_1.classes.confirm, disabled: selectedCount === 0, onClick: () => confirmHandler(), children: "\u786E\u5B9A" })] }))
74
87
  }, children: renderChildren() }) }));
@@ -1,9 +1,9 @@
1
1
  export declare const classes: {
2
2
  content: string;
3
+ confirm: string;
3
4
  list: string;
4
5
  selectedArea: string;
5
6
  count: string;
6
- confirm: string;
7
7
  } & {
8
8
  root: string;
9
9
  };
@@ -2,6 +2,7 @@ import { ReactElement, ReactNode, Ref } from 'react';
2
2
  import { DivProps, DefineElement, Placement } from '../../types';
3
3
  export type Trigger = 'click' | 'hover' | 'focus' | 'enter' | 'contextMenu';
4
4
  export interface PopperProps extends Omit<DivProps, 'content' | 'children'> {
5
+ /** 默认的ref会传递至`children` */
5
6
  popperRef?: Ref<PopperRef | null>;
6
7
  /** 若不指定anchorElement,默认使用{@link children}作为目标锚点元素 */
7
8
  anchorElement?: DefineElement<HTMLElement>;
@@ -15,6 +16,8 @@ export interface PopperProps extends Omit<DivProps, 'content' | 'children'> {
15
16
  offset?: number;
16
17
  /** 自动打开弹框的触发方法,默认为`hover` */
17
18
  trigger?: Trigger | Trigger[] | false;
19
+ /** 点击元素时关闭,主要用于某元素同时存在tooltip与其他popper的情况,点击时打开popper同时关闭tooltip */
20
+ clickToClose?: boolean;
18
21
  placement?: Placement;
19
22
  variant?: 'zoom' | 'collapse';
20
23
  /**
@@ -23,7 +26,7 @@ export interface PopperProps extends Omit<DivProps, 'content' | 'children'> {
23
26
  * @enum {@link variant}为`collapse`时,默认为`true`
24
27
  */
25
28
  sizeAdaptable?: boolean;
26
- /** trigger{@link trigger}包含"hover"时,鼠标移入移的延迟时间,默认为`100(ms)` */
29
+ /** trigger{@link trigger}包含"hover"时,鼠标移入移的延迟时间,默认为`150(ms)` */
27
30
  mouseEnterDelay?: number;
28
31
  /**默认为`150(ms)` */
29
32
  mouseLeaveDelay?: number;
@@ -48,4 +51,4 @@ export interface PopperRef extends HTMLDivElement {
48
51
  openAnimation?: boolean;
49
52
  }, beforeOpen?: () => void): void;
50
53
  }
51
- export declare function Popper({ ref, popperRef, anchorElement, container, effectContainer, content, offset, trigger, placement, variant, sizeAdaptable, mouseEnterDelay, mouseLeaveDelay, defaultOpen, open, onOpenChange, onOpenChangeEnd, disabled, autoClose, forceRender, children, ...props }: PopperProps): import("@emotion/react/jsx-runtime").JSX.Element;
54
+ export declare function Popper({ ref, popperRef, anchorElement, container, effectContainer, content, offset, trigger, clickToClose, placement, variant, sizeAdaptable, mouseEnterDelay, mouseLeaveDelay, defaultOpen, open, onOpenChange, onOpenChangeEnd, disabled, autoClose, forceRender, children, ...props }: PopperProps): import("@emotion/react/jsx-runtime").JSX.Element;
@@ -22,7 +22,7 @@ const getAttemptOrder = (placement) => {
22
22
  }
23
23
  return order;
24
24
  };
25
- function Popper({ ref, popperRef, anchorElement, container = document.body, effectContainer, content, offset, trigger = 'hover', placement = 'top', variant = 'zoom', sizeAdaptable = variant === 'collapse', mouseEnterDelay = 100, mouseLeaveDelay = 150, defaultOpen = false, open, onOpenChange, onOpenChangeEnd, disabled, autoClose = false, forceRender, children, ...props }) {
25
+ function Popper({ ref, popperRef, anchorElement, container = document.body, effectContainer, content, offset, trigger = 'hover', clickToClose, placement = 'top', variant = 'zoom', sizeAdaptable = variant === 'collapse', mouseEnterDelay = 150, mouseLeaveDelay = 150, defaultOpen = false, open, onOpenChange, onOpenChangeEnd, disabled, autoClose = false, forceRender, children, ...props }) {
26
26
  const { spacing } = (0, theme_1.useTheme)();
27
27
  offset ??= spacing[2];
28
28
  (0, react_1.useImperativeHandle)(popperRef, () => {
@@ -40,11 +40,10 @@ function Popper({ ref, popperRef, anchorElement, container = document.body, effe
40
40
  const hold = (open) => {
41
41
  return open ? ++openHolding.current
42
42
  : openHolding.current > 0 ? --openHolding.current
43
- : openHolding.current;
43
+ : 0;
44
44
  };
45
45
  const [innerOpen, _setInnerOpen] = (0, utils_1.useControlled)(defaultOpen, open, onOpenChange);
46
- const [contextMenuEvent, setContextMenuEvent] = (0, utils_1.useSyncState)();
47
- const setInnerOpen = (open, force) => {
46
+ const setInnerOpen = (open) => {
48
47
  if (disabled || unmounted.current) {
49
48
  return;
50
49
  }
@@ -53,15 +52,15 @@ function Popper({ ref, popperRef, anchorElement, container = document.body, effe
53
52
  return;
54
53
  }
55
54
  // 打开时无需判断,关闭时需要判断openHolding.current是否归0
56
- if (newOpen || force || !openHolding.current) {
55
+ if (newOpen || openHolding.current === 0) {
57
56
  _setInnerOpen(newOpen);
58
57
  }
59
58
  };
60
59
  const { onChildrenOpenChange: tellParentOpenChange } = (0, popperContext_1.usePopperContext)();
61
- const isInitial = (0, react_1.useRef)(true);
60
+ const initialized = (0, react_1.useRef)(false);
62
61
  (0, react_1.useEffect)(() => {
63
- if (isInitial.current) {
64
- isInitial.current = false;
62
+ if (!initialized.current) {
63
+ initialized.current = true;
65
64
  return;
66
65
  }
67
66
  tellParentOpenChange(innerOpen.current);
@@ -70,7 +69,10 @@ function Popper({ ref, popperRef, anchorElement, container = document.body, effe
70
69
  hold(open) === 0 && setInnerOpen(false);
71
70
  };
72
71
  const setOpenForce = (open) => {
73
- setInnerOpen(open, true);
72
+ if (!open) {
73
+ openHolding.current = 0;
74
+ }
75
+ setInnerOpen(open);
74
76
  };
75
77
  const openAndHold = (open) => {
76
78
  hold(open);
@@ -107,6 +109,7 @@ function Popper({ ref, popperRef, anchorElement, container = document.body, effe
107
109
  const containerEl = (0, utils_1.useContainer)(container, effectContainer);
108
110
  const innerPopperRef = (0, react_1.useRef)(null);
109
111
  const [popperBounding, setPopperBounding] = (0, react_1.useState)();
112
+ const [contextMenuEvent, setContextMenuEvent] = (0, utils_1.useSyncState)();
110
113
  const [openNextFrame, setOpenNextFrame] = (0, utils_1.useDerivedState)(!innerOpen.current, [innerOpen.current, contextMenuEvent.current]);
111
114
  const placeA = (0, react_1.useRef)(void 0);
112
115
  const placeB = (0, react_1.useRef)(void 0);
@@ -364,7 +367,7 @@ function Popper({ ref, popperRef, anchorElement, container = document.body, effe
364
367
  }
365
368
  isEntered.current = true;
366
369
  hold(true);
367
- clearTimeout(enterTimeout.current);
370
+ clearTimeout(leaveTimeout.current);
368
371
  mouseEnterDelay
369
372
  ? enterTimeout.current = setTimeout(() => setInnerOpen(true), mouseEnterDelay)
370
373
  : setInnerOpen(true);
@@ -372,7 +375,7 @@ function Popper({ ref, popperRef, anchorElement, container = document.body, effe
372
375
  const pointerLeave = () => {
373
376
  isEntered.current = false;
374
377
  hold(false);
375
- clearTimeout(leaveTimeout.current);
378
+ clearTimeout(enterTimeout.current);
376
379
  mouseLeaveDelay
377
380
  ? leaveTimeout.current = setTimeout(() => setInnerOpen(false), mouseLeaveDelay)
378
381
  : setInnerOpen(false);
@@ -444,7 +447,9 @@ function Popper({ ref, popperRef, anchorElement, container = document.body, effe
444
447
  if (!clickable) {
445
448
  return;
446
449
  }
447
- const click = () => openAndHold(true);
450
+ const click = () => {
451
+ openAndHold(true);
452
+ };
448
453
  const anchorEl = anchorRef.current;
449
454
  anchorEl.addEventListener('click', click);
450
455
  return () => {
@@ -454,6 +459,20 @@ function Popper({ ref, popperRef, anchorElement, container = document.body, effe
454
459
  const onClickAway = () => {
455
460
  innerOpen.current && openAndHold(false);
456
461
  };
462
+ /**
463
+ * clickToClose
464
+ */
465
+ (0, react_1.useEffect)(() => {
466
+ if (clickToClose) {
467
+ const click = () => {
468
+ setOpenForce(false);
469
+ };
470
+ anchorRef.current.addEventListener('click', click);
471
+ return () => {
472
+ anchorRef.current.removeEventListener('click', click);
473
+ };
474
+ }
475
+ }, [clickToClose]);
457
476
  /**
458
477
  * contextmenu相关
459
478
  */
@@ -9,11 +9,10 @@ exports.classes = (0, utils_1.defineInnerClasses)('popper', [
9
9
  'popper',
10
10
  ]);
11
11
  exports.style = (0, utils_1.defineCss)(theme => {
12
- const { easing, fontSize } = theme;
12
+ const { easing } = theme;
13
13
  return [
14
14
  (0, app_style_1.appStyleCallback)(theme),
15
15
  (0, react_1.css) `
16
- font-size: ${fontSize}px;
17
16
  position: absolute;
18
17
  top: 0;
19
18
  left: 0;
@@ -56,7 +56,7 @@ exports.Progress = (0, react_1.memo)(({ showInfo = true, renderInfo, color, stat
56
56
  return (0, react_2.css)({ animation: `${anim} 1.4s linear infinite` });
57
57
  }
58
58
  return;
59
- }, [indeterminate, variant, strokeLinecap, size, barWidth]);
59
+ }, [indeterminate, variant, commonCircleProps.r]);
60
60
  return ((0, jsx_runtime_1.jsx)("div", { ...props, css: (0, progress_style_1.useStyle)({ color: color || 'primary', variant }), className: (0, utils_1.clsx)(progress_style_1.classes.root, props.className), "data-variant": variant, "data-indeterminate": indeterminate, "data-processing": value < 100 && status === 'processing', "data-success": isColorSpecified ? void 0 : isSucceed, "data-error": isColorSpecified ? void 0 : status === 'error', children: variant === 'linear'
61
61
  ? (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("div", { className: progress_style_1.classes.track, style: {
62
62
  height: barWidth,
@@ -1,8 +1,8 @@
1
1
  import { Handle, ResizableProps } from './resizable';
2
2
  export declare const classes: {
3
- container: string;
4
3
  corner: string;
5
4
  edge: string;
5
+ container: string;
6
6
  } & {
7
7
  root: string;
8
8
  };
@@ -2,8 +2,8 @@ import { ColorPropsValue } from '../../types';
2
2
  export declare const classes: {
3
3
  label: string;
4
4
  option: string;
5
- indicator: string;
6
5
  prefix: string;
6
+ indicator: string;
7
7
  suffix: string;
8
8
  } & {
9
9
  root: string;
@@ -1,4 +1,4 @@
1
- import { ReactElement, ReactNode, Ref, JSX } from 'react';
1
+ import { ReactElement, ReactNode, Ref, ComponentProps } from 'react';
2
2
  import { InputBaseProps } from '../inputBase';
3
3
  import { PopperProps, PopperRef } from '../popper';
4
4
  import { MenuItem } from '../menuItem';
@@ -7,7 +7,7 @@ import { InputProps } from '../input';
7
7
  import { Id, SelectableMultipleProps, SelectableSingleProps } from '../../types';
8
8
  export interface SelectBaseProps<O extends MenuOptionType> extends OptionsBaseSharedProps<O>, Omit<InputBaseProps<'input'>, 'children' | 'defaultValue' | 'value' | 'onChange'> {
9
9
  /** <select />内部由<input />实现 */
10
- inputProps?: JSX.IntrinsicElements['input'];
10
+ inputProps?: ComponentProps<'input'>;
11
11
  popperProps?: PopperProps;
12
12
  popperRef?: Ref<PopperRef>;
13
13
  defaultOpen?: boolean;
@@ -12,11 +12,11 @@ const tag_1 = require("../tag");
12
12
  const optionsBase_1 = require("../optionsBase");
13
13
  const input_1 = require("../input");
14
14
  const loadingIndicator_1 = require("../loadingIndicator");
15
- const popper_style_1 = require("../popper/popper.style");
16
15
  const selectionContext_1 = require("../selectionContext");
17
16
  const icon_1 = require("../icon");
18
17
  const faChevronDown_1 = require("@fortawesome/free-solid-svg-icons/faChevronDown");
19
18
  const faMagnifyingGlass_1 = require("@fortawesome/free-solid-svg-icons/faMagnifyingGlass");
19
+ const popper_style_1 = require("../popper/popper.style");
20
20
  exports.Select = (0, react_1.memo)(({ inputProps, popperProps, popperRef, defaultOpen = false, open, onOpenChange, sizeAdaptable = true, children, multiple, defaultValue, value, onChange, renderBackfill, searchable, defaultSearchValue = '', searchValue, onSearchChange, searchInputProps,
21
21
  // 从OptionsBaseSharedProps继承的属性
22
22
  showCheckbox = !!multiple, loading, options, labelKey = 'label', primaryKey = 'value', searchTokenKey = 'searchToken', filterPredicate, ...props }) => {
@@ -29,28 +29,26 @@ showCheckbox = !!multiple, loading, options, labelKey = 'label', primaryKey = 'v
29
29
  }
30
30
  };
31
31
  const openChangeHandler = (open) => {
32
- popperProps?.onOpenChange?.(open);
33
32
  setInnerOpen(open);
34
33
  };
35
34
  const openChangeEnd = (open) => {
36
- popperProps?.onOpenChangeEnd?.(open);
37
35
  // 关闭动画结束后清空搜索框
38
36
  !open && setInnerSearchValue('');
39
37
  };
40
38
  const searchInputRef = (0, react_1.useRef)(null);
41
- const blurHandler = () => {
39
+ const onBlur = () => {
42
40
  setTimeout(() => {
43
41
  // 失去焦点后,如果不是聚焦在搜索框,则需要关闭弹框
44
42
  searchInputRef.current !== document.activeElement && setInnerOpen(false);
45
43
  });
46
44
  };
47
- const [innerValue, _toggleSelected, setInnerValue] = (0, selectionContext_1.useShallowSelection)({ multiple, defaultValue, value, onChange });
48
- const toggleSelected = (0, react_1.useCallback)((value) => {
45
+ const [innerValue, _toggleSelected, setInnerValue] = (0, selectionContext_1.useFlatSelection)({ multiple, defaultValue, value, onChange });
46
+ const onToggleSelected = (0, react_1.useCallback)((value) => {
49
47
  _toggleSelected(value);
50
48
  // 单选模式下,选中一次就自动关闭弹框
51
49
  !multiple && setInnerOpen(false);
52
50
  }, [multiple]);
53
- const clearHandler = () => {
51
+ const onClear = () => {
54
52
  props.onClear?.();
55
53
  setInnerValue(multiple ? [] : void 0);
56
54
  };
@@ -77,23 +75,49 @@ showCheckbox = !!multiple, loading, options, labelKey = 'label', primaryKey = 'v
77
75
  return renderBackfill(innerValue);
78
76
  }
79
77
  if (multiple) {
80
- return innerValue?.map((v) => (0, jsx_runtime_1.jsx)(tag_1.Tag, { closable: true, onClose: () => toggleSelected(v), children: optionsMap.get(v)?.[labelKey] ?? v }, v));
78
+ return innerValue?.map((v) => (0, jsx_runtime_1.jsx)(tag_1.Tag, { closable: true, onClose: () => onToggleSelected(v), children: optionsMap.get(v)?.[labelKey] ?? v }, v));
81
79
  }
82
80
  return ((0, jsx_runtime_1.jsx)("div", { className: select_style_1.classes.backfillWrap, children: optionsMap.get(innerValue)?.[labelKey] ?? innerValue }));
83
81
  };
84
- return ((0, jsx_runtime_1.jsx)(popper_1.Popper, { css: popper_style_1.popperStyle, open: innerOpen.current, onOpenChange: openChangeHandler, onOpenChangeEnd: openChangeEnd, placement: "bottom", variant: "collapse", trigger: ['click', 'enter'], disabled: props.disabled || props.readOnly, sizeAdaptable: sizeAdaptable, content: (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [searchable &&
85
- (0, jsx_runtime_1.jsx)(input_1.Input, { inputProps: { ref: searchInputRef }, prefix: (0, jsx_runtime_1.jsx)(icon_1.Icon, { icon: faMagnifyingGlass_1.faMagnifyingGlass }), placeholder: "\u641C\u7D22", value: innerSearchValue.current, ...searchInputProps, onChange: e => {
86
- searchInputProps?.onChange?.(e);
87
- setInnerSearchValue?.(e.target.value);
88
- }, onBlur: e => {
89
- searchInputProps?.onBlur?.(e);
90
- blurHandler();
91
- } }), (0, jsx_runtime_1.jsx)(optionsBase_1.OptionsBase, { selectedValue: innerValue, onToggleSelected: toggleSelected, showCheckbox: showCheckbox, loading: loading, options: options, labelKey: labelKey, primaryKey: primaryKey, searchTokenKey: searchTokenKey, searchValue: deferredSearchValue, filterPredicate: filterPredicate, children: children })] }), ...popperProps, popperRef: popperRef, onPointerDown: e => {
92
- popperProps?.onPointerDown?.(e);
93
- e.preventDefault();
94
- }, children: (0, jsx_runtime_1.jsx)(inputBase_1.InputBase, { clearable: !!multiple, ...props, css: select_style_1.style, className: (0, utils_1.clsx)(select_style_1.classes.root, props.className), "data-focused": innerOpen.current, value: innerValue, onClear: clearHandler, onBlur: blurHandler, children: inputBaseProps => (0, jsx_runtime_1.jsxs)("div", { className: select_style_1.classes.contentWrap, children: [!(0, utils_1.toArray)(innerValue)?.length
82
+ return ((0, jsx_runtime_1.jsx)(popper_1.Popper, { ...(0, utils_1.mergeComponentProps)({
83
+ css: popper_style_1.popperStyle,
84
+ open: innerOpen.current,
85
+ placement: 'bottom',
86
+ variant: 'collapse',
87
+ trigger: ['click', 'enter'],
88
+ disabled: props.disabled || props.readOnly,
89
+ sizeAdaptable: sizeAdaptable,
90
+ content: ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [searchable &&
91
+ (0, jsx_runtime_1.jsx)(input_1.Input, { ...(0, utils_1.mergeComponentProps)({
92
+ inputProps: (0, utils_1.mergeComponentProps)(searchInputProps?.inputProps, { ref: searchInputRef }),
93
+ prefix: (0, jsx_runtime_1.jsx)(icon_1.Icon, { icon: faMagnifyingGlass_1.faMagnifyingGlass }),
94
+ placeholder: '搜索',
95
+ value: innerSearchValue.current
96
+ }, searchInputProps, {
97
+ onChange: e => setInnerSearchValue?.(e.target.value),
98
+ onBlur
99
+ }) }), (0, jsx_runtime_1.jsx)(optionsBase_1.OptionsBase, { selectedValue: innerValue, searchValue: deferredSearchValue, onToggleSelected,
100
+ showCheckbox,
101
+ loading,
102
+ options,
103
+ labelKey,
104
+ primaryKey,
105
+ searchTokenKey,
106
+ filterPredicate, children: children })] }))
107
+ }, popperProps, {
108
+ popperRef,
109
+ onOpenChange: openChangeHandler,
110
+ onOpenChangeEnd: openChangeEnd,
111
+ onPointerDown: e => e.preventDefault()
112
+ }), children: (0, jsx_runtime_1.jsx)(inputBase_1.InputBase, { clearable: !!multiple, ...(0, utils_1.mergeComponentProps)(props, {
113
+ css: select_style_1.style,
114
+ className: select_style_1.classes.root,
115
+ value: innerValue,
116
+ onClear,
117
+ onBlur
118
+ }), "data-focused": innerOpen.current, children: inputBaseProps => (0, jsx_runtime_1.jsxs)("div", { className: select_style_1.classes.contentWrap, children: [!(0, utils_1.toArray)(innerValue)?.length
95
119
  ? (0, jsx_runtime_1.jsx)("div", { className: select_style_1.classes.placeholder, children: props.placeholder ?? '请选择' })
96
- : (0, jsx_runtime_1.jsx)("div", { className: select_style_1.classes.backfill, children: renderBackfillFn() }), (0, jsx_runtime_1.jsx)("input", { size: 1, ...inputBaseProps, ...inputProps, "data-hidden": "true" }), (0, jsx_runtime_1.jsx)("div", { className: select_style_1.classes.arrow, "data-open": innerOpen.current, children: loading
120
+ : (0, jsx_runtime_1.jsx)("div", { className: select_style_1.classes.backfill, children: renderBackfillFn() }), (0, jsx_runtime_1.jsx)("input", { size: 1, ...(0, utils_1.mergeComponentProps)(inputBaseProps, inputProps), "data-hidden": "true" }), (0, jsx_runtime_1.jsx)("div", { className: select_style_1.classes.arrow, "data-open": innerOpen.current, children: loading
97
121
  ? (0, jsx_runtime_1.jsx)(loadingIndicator_1.LoadingIndicator, {})
98
122
  : (0, jsx_runtime_1.jsx)(icon_1.Icon, { icon: faChevronDown_1.faChevronDown }) })] }) }) }));
99
123
  });
@@ -7,5 +7,5 @@ interface SelectedItemProps extends Omit<AlertProps, 'onClose'>, Pick<SelectedLi
7
7
  itemProps?(value: Id, index: number): AlertProps | Promise<AlertProps>;
8
8
  onClose?(value: Id, index: number): void;
9
9
  }
10
- export declare function SelectedItem({ value, index, itemProps, onClose, ...collapseProps }: SelectedItemProps): import("@emotion/react/jsx-runtime").JSX.Element;
10
+ export declare function SelectedItem({ value, index, itemProps, onClose, ...props }: SelectedItemProps): import("@emotion/react/jsx-runtime").JSX.Element;
11
11
  export {};
@@ -7,7 +7,7 @@ const utils_1 = require("../../utils");
7
7
  const react_1 = require("react");
8
8
  const transitionBase_1 = require("../transitionBase");
9
9
  const selectedList_style_1 = require("./selectedList.style");
10
- function SelectedItem({ value, index, itemProps, onClose, ...collapseProps }) {
10
+ function SelectedItem({ value, index, itemProps, onClose, ...props }) {
11
11
  const [alertProps, setAlertProps] = (0, utils_1.useSyncState)();
12
12
  const [loading, requestFn] = (0, utils_1.useLoading)(async () => {
13
13
  itemProps && setAlertProps(await itemProps(value, index));
@@ -17,5 +17,5 @@ function SelectedItem({ value, index, itemProps, onClose, ...collapseProps }) {
17
17
  alertProps.current?.onClose?.(e);
18
18
  onClose?.(value, index);
19
19
  };
20
- return ((0, jsx_runtime_1.jsx)(transitionBase_1.Collapse, { ...collapseProps, className: selectedList_style_1.classes.option, children: (0, jsx_runtime_1.jsx)(alert_1.Alert, { closable: true, color: "info", showIcon: false, ...alertProps.current, className: (0, utils_1.clsx)(selectedList_style_1.classes.optionWrap, alertProps.current?.className), onClose: closeHandler, loading: loading.current }) }));
20
+ return ((0, jsx_runtime_1.jsx)(transitionBase_1.Collapse, { ...props, className: selectedList_style_1.classes.option, children: (0, jsx_runtime_1.jsx)(alert_1.Alert, { closable: true, color: "info", showIcon: false, ...alertProps.current, className: (0, utils_1.clsx)(selectedList_style_1.classes.optionWrap, alertProps.current?.className), onClose: closeHandler, loading: loading.current }) }));
21
21
  }
@@ -7,7 +7,6 @@ export interface OptionType<V extends Id = Id> extends Obj {
7
7
  }
8
8
  export type SelectionContextBaseProps<O extends OptionType<V>, V extends Id = Id> = {
9
9
  options?: O[];
10
- /** 默认为`id` */
11
10
  primaryKey?: keyof O;
12
11
  /** 默认为`children` */
13
12
  childrenKey?: keyof O;
@@ -2,7 +2,7 @@ import { Dispatch, SetStateAction } from 'react';
2
2
  import { ISelectionContext, OptionType, SelectionContextProps } from './selectionContext';
3
3
  import { Id } from '../../types';
4
4
  export declare function useSelection<O extends OptionType<V>, V extends Id = Id>(props: SelectionContextProps<O, V>): ISelectionContext<O, V>;
5
- export declare function useShallowSelection<V extends Id | Id[]>(params: {
5
+ export declare function useFlatSelection<V extends Id | Id[]>(params: {
6
6
  disabled?: boolean;
7
7
  multiple?: boolean;
8
8
  clearable?: boolean;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.useSelection = useSelection;
4
- exports.useShallowSelection = useShallowSelection;
4
+ exports.useFlatSelection = useFlatSelection;
5
5
  const utils_1 = require("../../utils");
6
6
  const react_1 = require("react");
7
7
  const selectionContext_1 = require("./selectionContext");
@@ -206,7 +206,7 @@ function useSelection(props) {
206
206
  onToggle: props.onToggle
207
207
  };
208
208
  }
209
- function useShallowSelection(params) {
209
+ function useFlatSelection(params) {
210
210
  const [innerValue, setInnerValue] = (0, utils_1.useControlled)(params.defaultValue, params.value, params.onChange);
211
211
  const sync = (0, utils_1.useSync)(params);
212
212
  return [
@@ -0,0 +1 @@
1
+ export * from './serialInput';
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./serialInput"), exports);
@@ -0,0 +1,21 @@
1
+ import { ReactNode } from 'react';
2
+ import { FlexProps } from '../flex';
3
+ import { InputProps } from '../input';
4
+ export interface SerialInputProps<V = string> extends Omit<FlexProps, 'defaultValue' | 'onChange'> {
5
+ separator?: ReactNode | ((index: number) => ReactNode);
6
+ count?: number;
7
+ defaultValue?: V[];
8
+ value?: V[];
9
+ onChange?: (value: V[]) => void;
10
+ onItemChange?: (value: V, index: number, values: V[]) => void;
11
+ inputProps?: InputProps;
12
+ renderInputs?(inputProps: InputProps, index: number): ReactNode;
13
+ /**
14
+ * 当前输入框的值长度达到jumpLength时,自动将焦点跳转到下一个输入框,
15
+ * `0`表示不自动跳转,默认为`1`
16
+ */
17
+ jumpLength?: number;
18
+ /** 所有输入框完成输入后触发,{@link SerialInputProps.jumpLength}不为`0`时有效 */
19
+ onFinish?(value: V[]): void;
20
+ }
21
+ export declare const SerialInput: import("react").MemoExoticComponent<({ separator, count, defaultValue, value, onChange, onItemChange, inputProps, renderInputs, jumpLength, onFinish, ...props }: SerialInputProps) => import("@emotion/react/jsx-runtime").JSX.Element>;
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SerialInput = void 0;
4
+ const jsx_runtime_1 = require("@emotion/react/jsx-runtime");
5
+ const react_1 = require("@emotion/react");
6
+ const react_2 = require("react");
7
+ const flex_1 = require("../flex");
8
+ const serialInput_style_1 = require("./serialInput.style");
9
+ const input_1 = require("../input");
10
+ const utils_1 = require("../../utils");
11
+ exports.SerialInput = (0, react_2.memo)(({ separator, count = 1, defaultValue, value, onChange, onItemChange, inputProps, renderInputs, jumpLength = 1, onFinish, ...props }) => {
12
+ const inputRefs = (0, react_2.useRef)([]);
13
+ inputRefs.current = [];
14
+ const [innerValue, setInnerValue] = (0, utils_1.useControlled)(defaultValue || Array(count).fill(''), value, onChange);
15
+ return ((0, jsx_runtime_1.jsx)(flex_1.Flex, { alignItems: "center", ...props, css: serialInput_style_1.style, className: (0, utils_1.clsx)(serialInput_style_1.classes.root, props.className), children: Array(count * 2 - 1).fill(void 0).map((_, i) => {
16
+ if (i % 2 === 0) {
17
+ const index = i / 2;
18
+ const _inputProps = (0, utils_1.mergeComponentProps)(inputProps, {
19
+ ref: r => {
20
+ r && inputRefs.current.push(r);
21
+ },
22
+ className: serialInput_style_1.classes.inputItem,
23
+ clearable: false,
24
+ value: innerValue.current[index],
25
+ onChange: ({ target: { value } }) => {
26
+ const prevLength = innerValue.current[index].length || 0;
27
+ const newValue = [...innerValue.current];
28
+ const curr = newValue[index] = value;
29
+ setInnerValue(newValue);
30
+ if (jumpLength > 0 && prevLength === jumpLength - 1 && curr.length === jumpLength) {
31
+ if (index < count - 1) {
32
+ // 聚焦后一个输入框
33
+ inputRefs.current[index + 1].focus();
34
+ }
35
+ else if (index === count - 1) {
36
+ onFinish?.(newValue);
37
+ }
38
+ }
39
+ else if (0 < index && prevLength === 1 && curr.length === 0) {
40
+ // 聚焦前一个输入框
41
+ inputRefs.current[index - 1].focus();
42
+ }
43
+ },
44
+ onKeyDown: ({ key }) => {
45
+ if (key === 'Backspace' && innerValue.current[index].length === 0 && 0 < index) {
46
+ inputRefs.current[index - 1].focus();
47
+ }
48
+ }
49
+ });
50
+ return renderInputs
51
+ ? renderInputs(_inputProps, index)
52
+ : (0, react_1.createElement)(input_1.Input, { ..._inputProps, key: i });
53
+ }
54
+ return separator
55
+ ? (0, jsx_runtime_1.jsx)(react_2.Fragment, { children: typeof separator === 'function' ? separator(i / 2 - 1) : separator }, i)
56
+ : null;
57
+ }) }));
58
+ });
@@ -0,0 +1,6 @@
1
+ export declare const classes: {
2
+ inputItem: string;
3
+ } & {
4
+ root: string;
5
+ };
6
+ export declare const style: () => import("@emotion/react").SerializedStyles;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.style = exports.classes = void 0;
4
+ const utils_1 = require("../../utils");
5
+ const react_1 = require("@emotion/react");
6
+ exports.classes = (0, utils_1.defineInnerClasses)('serial-input', [
7
+ 'inputItem'
8
+ ]);
9
+ exports.style = (0, utils_1.defineCss)(() => (0, react_1.css) `
10
+ .${exports.classes.inputItem} input {
11
+ text-align: center;
12
+ }
13
+ `);
@@ -1,4 +1,4 @@
1
- import { ReactElement, JSX } from 'react';
1
+ import { ReactElement, ComponentProps } from 'react';
2
2
  import { DivProps } from '../../types';
3
3
  type SkeletonSharedProps = {
4
4
  /** 默认为`rounded` */
@@ -24,7 +24,7 @@ export interface SkeletonCardProps extends SkeletonSharedProps, DivProps {
24
24
  rows?: number;
25
25
  }
26
26
  export declare const SkeletonCard: import("react").MemoExoticComponent<({ showAvatar, showTitle, rows, variant, animation, ...props }: SkeletonCardProps) => import("@emotion/react/jsx-runtime").JSX.Element>;
27
- export interface SkeletonTableProps extends SkeletonSharedProps, Partial<JSX.IntrinsicElements['table']> {
27
+ export interface SkeletonTableProps extends SkeletonSharedProps, Partial<ComponentProps<'table'>> {
28
28
  columns?: number;
29
29
  rows?: number;
30
30
  }
@@ -32,12 +32,21 @@ exports.SlidableActionsAction = (0, react_1.memo)(({ color = 'default', label, i
32
32
  ? '#aaaaaa'
33
33
  : (0, utils_1.colorTransfer)(color, theme);
34
34
  }, [color, theme]);
35
- const clickHandler = (e) => {
36
- props.onClick?.(e);
35
+ const onClick = (e) => {
37
36
  autoReturn && resetTranslate();
38
37
  };
39
- return ((0, jsx_runtime_1.jsx)("div", { ...props, className: slidableActions_style_1.classes.actionItem, style: {
40
- translate: `${currentTranslate}px 0`,
41
- backgroundColor
42
- }, onClick: clickHandler, children: (0, jsx_runtime_1.jsx)(button_1.Button, { ...buttonProps, ref: (0, utils_1.cloneRef)(buttonProps?.ref, innerButtonRef), className: (0, utils_1.clsx)(slidableActions_style_1.classes.actionItemButton, buttonProps?.className), prefix: icon, color: color, variant: "flatted", children: label }) }));
38
+ return ((0, jsx_runtime_1.jsx)("div", { ...(0, utils_1.mergeComponentProps)(props, {
39
+ className: slidableActions_style_1.classes.actionItem,
40
+ style: {
41
+ translate: `${currentTranslate}px 0`,
42
+ backgroundColor
43
+ },
44
+ onClick
45
+ }), children: (0, jsx_runtime_1.jsx)(button_1.Button, { ...(0, utils_1.mergeComponentProps)(buttonProps, {
46
+ ref: innerButtonRef,
47
+ className: slidableActions_style_1.classes.actionItemButton,
48
+ prefix: icon,
49
+ color,
50
+ variant: 'flatted'
51
+ }), children: label }) }));
43
52
  });
@@ -1,4 +1,4 @@
1
- import { HTMLAttributes, ReactNode, JSX } from 'react';
1
+ import { HTMLAttributes, ReactNode, ComponentProps } from 'react';
2
2
  import { GestureOptions } from '../../utils';
3
3
  import { ColorPropsValue, DivProps } from '../../types';
4
4
  import { TooltipProps } from '../tooltip';
@@ -26,7 +26,7 @@ interface SliderBaseProps extends Omit<DivProps, 'defaultValue' | 'onChange' | '
26
26
  renderRail?(value: [number, number], railProps: HTMLAttributes<HTMLDivElement>): ReactNode;
27
27
  /** 滑块 */
28
28
  handleSize?: number;
29
- handleProps?: JSX.IntrinsicElements['button'];
29
+ handleProps?: ComponentProps<'button'>;
30
30
  /** 禁用默认的滑块外边框 */
31
31
  disableHandleOutline?: boolean;
32
32
  /** 渲染滑块,range模式时,改方法会触发两次 */