@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
@@ -8,46 +8,54 @@ const utils_1 = require("../../utils");
8
8
  const descriptions_1 = require("../descriptions");
9
9
  const form_style_1 = require("./form.style");
10
10
  const transitionBase_1 = require("../transitionBase");
11
- const FormItem = ({ ref, wrapperRef, field, initialValue, label = '', rules, required, error, helperText, dependencies, children, noStyle, requiredMark, variant, size, ...props }) => {
12
- const { formValue, setFieldValue, itemsContainer, formRef, ...context } = (0, form_1.useFormContext)();
11
+ const FormItem = ({ ref, wrapperRef, field, initialValue, label = '', rules, required, error, helperText, dependencies, children, noStyle, requiredMark, variant, size, _fieldValue, ...props }) => {
12
+ const context = (0, form_1.useFormStyleContext)();
13
13
  requiredMark ??= context.requiredMark ?? '*';
14
14
  variant ??= context.variant ?? 'grid';
15
15
  size ??= context.size;
16
+ const { formValue, setFieldValue } = (0, form_1.useFormValueContext)();
17
+ const { itemsContainer, formRef } = (0, form_1.useFormContext)();
16
18
  const shouldValidate = (0, react_1.useRef)(false);
19
+ const isTouched = (0, react_1.useRef)(false);
17
20
  const [innerError, setInnerError] = (0, utils_1.useDerivedState)(error);
21
+ const [innerHelperText, setInnerHelperText] = (0, utils_1.useDerivedState)(helperText);
22
+ const stringField = !(0, utils_1.isUnset)(field) ? (0, utils_1.stringifyField)(field) : void 0;
18
23
  /**
19
24
  * --------------------------------------------------------------------
20
25
  * 重置与初始化
21
26
  */
22
- const isTouched = (0, react_1.useRef)(false);
23
- // formRef的resetForm()方法会传入新的initialValue,否则使用`formValue`
24
- const reset = (value = formValue) => {
27
+ const reset = (currentFormValue = formValue, initialFormValue) => {
28
+ // formRef的resetForm()方法会传入新的formValue,其他情况使用当前的formValue
25
29
  shouldValidate.current = isTouched.current = false;
26
- if (typeof field !== 'undefined' && value && typeof initialValue !== 'undefined') {
27
- (0, utils_1.queryDeep)(value, field, () => initialValue);
30
+ if (!(0, utils_1.isUnset)(field) && currentFormValue) {
31
+ if (typeof initialValue !== 'undefined') {
32
+ (0, utils_1.queryDeep)(currentFormValue, field, () => initialValue);
33
+ }
34
+ else if (typeof initialFormValue !== 'undefined') {
35
+ const initialFieldValue = (0, utils_1.queryDeep)(initialFormValue, field);
36
+ (0, utils_1.queryDeep)(currentFormValue, field, initialFieldValue);
37
+ }
28
38
  }
29
- innerError.current && setInnerError(false);
39
+ setInnerError(false);
30
40
  };
31
- (0, react_1.useMemo)(reset, []);
41
+ (0, react_1.useMemo)(reset, [stringField]);
32
42
  /**
33
43
  * --------------------------------------------------------------------
34
44
  * 字段值
35
45
  */
36
46
  const fieldValue = (0, react_1.useMemo)(() => {
37
- if (typeof field !== 'undefined' && formValue) {
47
+ if (typeof _fieldValue !== 'undefined') {
48
+ return _fieldValue;
49
+ }
50
+ if (!(0, utils_1.isUnset)(field) && formValue) {
38
51
  return (0, utils_1.queryDeep)(formValue, field);
39
52
  }
40
- }, [formValue, field]);
41
- const [randomKey] = (0, utils_1.useDerivedState)(prev => {
42
- // fieldValue变为undefined时,需要更新key以强制重渲染组件
43
- return typeof fieldValue === 'undefined' ? (0, utils_1.getShortID)() : prev;
44
- }, [fieldValue]);
53
+ }, [formValue, field, _fieldValue]);
45
54
  /**
46
55
  * --------------------------------------------------------------------
47
56
  * 校验
48
57
  */
49
58
  const rulesArr = (0, utils_1.toArray)(rules);
50
- const [innerHelperText, setInnerHelperText] = (0, utils_1.useDerivedState)(helperText);
51
59
  const validate = async () => {
52
60
  if (error) {
53
61
  return false;
@@ -56,7 +64,7 @@ const FormItem = ({ ref, wrapperRef, field, initialValue, label = '', rules, req
56
64
  const promises = [];
57
65
  let invalid = false;
58
66
  rulesArr?.some(r => {
59
- if ((r.required && (typeof fieldValue === 'undefined' || fieldValue === null || fieldValue === '')) ||
67
+ if ((r.required && ((0, utils_1.isUnset)(fieldValue) || fieldValue === '')) ||
60
68
  (r.pattern && typeof fieldValue === 'string' && !r.pattern.test(fieldValue))) {
61
69
  setInnerError(true);
62
70
  setInnerHelperText(r.message || defaultMessage);
@@ -86,36 +94,38 @@ const FormItem = ({ ref, wrapperRef, field, initialValue, label = '', rules, req
86
94
  };
87
95
  /**
88
96
  * --------------------------------------------------------------------
89
- * 依赖更新自动校验
97
+ * 自动校验与依赖更新
90
98
  */
91
99
  const dependencyValues = (0, react_1.useMemo)(() => {
92
100
  return formValue && dependencies?.map(d => (0, utils_1.queryDeep)(formValue, d));
93
101
  }, [formValue, ...dependencies || []]);
94
102
  (0, react_1.useMemo)(() => {
95
- // 跳过首次渲染
96
- shouldValidate.current && validate().then();
97
- shouldValidate.current = true;
103
+ if (!shouldValidate.current) {
104
+ // 跳过首次渲染
105
+ shouldValidate.current = true;
106
+ return;
107
+ }
108
+ validate().then();
98
109
  }, [fieldValue, ...dependencyValues || []]);
99
110
  /**
100
111
  * --------------------------------------------------------------------
101
112
  * 挂载formItemRef
102
113
  */
103
- const formItemRef = (0, react_1.useRef)(null);
114
+ const formItemRef = (0, react_1.useRef)(void 0);
104
115
  formItemRef.current = {
105
116
  validate,
106
117
  reset,
107
118
  error: innerError.current ? { message: innerHelperText.current } : null,
108
- isTouched: isTouched.current
119
+ isTouched: () => isTouched.current
109
120
  };
110
121
  (0, react_1.useImperativeHandle)(ref, () => formItemRef.current);
111
122
  (0, react_1.useEffect)(() => {
112
- if (typeof field === 'undefined' || !itemsContainer) {
123
+ if (typeof stringField === 'undefined' || !itemsContainer) {
113
124
  return;
114
125
  }
115
- const fieldStr = (0, utils_1.stringifyField)(field);
116
- itemsContainer.set(fieldStr, formItemRef.current);
126
+ itemsContainer.set(stringField, formItemRef.current);
117
127
  return () => {
118
- itemsContainer.delete(fieldStr);
128
+ itemsContainer.delete(stringField);
119
129
  };
120
130
  });
121
131
  /**
@@ -125,9 +135,13 @@ const FormItem = ({ ref, wrapperRef, field, initialValue, label = '', rules, req
125
135
  const isRequired = (0, react_1.useMemo)(() => {
126
136
  return required ?? rulesArr?.some(r => r.required);
127
137
  }, [rules, required]);
138
+ const [randomKey] = (0, utils_1.useDerivedState)(prev => {
139
+ // fieldValue变为undefined时,需要更新key以强制重渲染组件
140
+ return !prev || typeof fieldValue === 'undefined' ? (0, utils_1.getShortID)() : prev;
141
+ }, [fieldValue]);
128
142
  const renderedChildren = (0, react_1.useMemo)(() => {
129
143
  if (typeof children === 'function') {
130
- return children(typeof field !== 'undefined'
144
+ return children(!(0, utils_1.isUnset)(field)
131
145
  ? {
132
146
  ...typeof fieldValue === 'boolean'
133
147
  ? { checked: fieldValue }
@@ -139,14 +153,14 @@ const FormItem = ({ ref, wrapperRef, field, initialValue, label = '', rules, req
139
153
  }
140
154
  : {}, {
141
155
  ...size && { size },
142
- ...innerError.current ? { color: 'error' } : {}
156
+ ...innerError.current && { color: 'error' }
143
157
  }, randomKey.current);
144
158
  }
145
159
  if ((0, react_1.isValidElement)(children)) {
146
160
  const { props: childProps } = children;
147
161
  return (0, react_1.cloneElement)(children, {
148
- key: randomKey.current,
149
- ...typeof field !== 'undefined' && {
162
+ key: children.key ?? randomKey.current,
163
+ ...!(0, utils_1.isUnset)(field) && {
150
164
  ...typeof fieldValue === 'boolean'
151
165
  ? { checked: childProps.checked ?? fieldValue }
152
166
  : { value: childProps.value ?? fieldValue },
@@ -161,11 +175,11 @@ const FormItem = ({ ref, wrapperRef, field, initialValue, label = '', rules, req
161
175
  });
162
176
  }
163
177
  return children;
164
- }, [children, innerError.current, field, size, randomKey.current, fieldValue]);
178
+ }, [children, fieldValue, size, innerError.current, randomKey.current]);
165
179
  if (noStyle || variant === 'plain') {
166
180
  return renderedChildren;
167
181
  }
168
- return ((0, jsx_runtime_1.jsxs)(descriptions_1.DescriptionItem, { flex: void 0, ...props, ref: wrapperRef, className: (0, utils_1.clsx)(form_style_1.classes.item, props.className), label: !!label &&
182
+ return ((0, jsx_runtime_1.jsxs)(descriptions_1.DescriptionItem, { ...props, ref: wrapperRef, className: (0, utils_1.clsx)(form_style_1.classes.item, props.className), label: !!label &&
169
183
  (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [isRequired && !!requiredMark &&
170
184
  (0, jsx_runtime_1.jsx)("span", { className: form_style_1.classes.requiredMark, children: requiredMark }), label] }), children: [renderedChildren, (0, jsx_runtime_1.jsx)(transitionBase_1.Collapse, { in: innerError.current || !!helperText, children: (0, jsx_runtime_1.jsx)("div", { className: form_style_1.classes.helperText, children: innerHelperText.current }) })] }));
171
185
  };
@@ -5,7 +5,8 @@ const react_1 = require("react");
5
5
  const form_1 = require("./form");
6
6
  const utils_1 = require("../../utils");
7
7
  function FormRelatable(props) {
8
- const { formValue, formRef } = (0, form_1.useFormContext)();
8
+ const { formRef } = (0, form_1.useFormContext)();
9
+ const { formValue } = (0, form_1.useFormValueContext)();
9
10
  const prevFormValue = (0, react_1.useRef)(void 0);
10
11
  (0, react_1.useEffect)(() => {
11
12
  prevFormValue.current = (0, utils_1.cloneDeep)(formValue);
@@ -1,8 +1,8 @@
1
1
  export declare const classes: {
2
2
  button: string;
3
3
  image: string;
4
- counter: string;
5
4
  swap: string;
5
+ counter: string;
6
6
  control: string;
7
7
  galleryContainer: string;
8
8
  galleryWrapper: string;
@@ -47,5 +47,5 @@ function ImageItem({ ref, src, ...props }) {
47
47
  resizeObserver.disconnect();
48
48
  };
49
49
  }, []);
50
- return ((0, jsx_runtime_1.jsx)(pinchable_1.Pinchable, { ref: pinchableRef, className: (0, utils_1.clsx)(gallery_style_1.classes.imageItem, props.className), ...props, children: (0, jsx_runtime_1.jsx)("img", { ref: imgRef, className: gallery_style_1.classes.image, src: src, draggable: false, alt: "" }) }));
50
+ return ((0, jsx_runtime_1.jsx)(pinchable_1.Pinchable, { ...props, ref: pinchableRef, className: (0, utils_1.clsx)(gallery_style_1.classes.imageItem, props.className), children: (0, jsx_runtime_1.jsx)("img", { ref: imgRef, className: gallery_style_1.classes.image, src: src, draggable: false, alt: "" }) }));
51
51
  }
@@ -1,16 +1,16 @@
1
1
  import { ElementType, ReactElement } from 'react';
2
- import { MergeProps, ResponsiveProp } from '../../types';
2
+ import { OverridableProps, ResponsiveProp } from '../../types';
3
3
  import { GridItem } from './gridItem';
4
- import { TransportStyleProps } from '../transportStyle';
5
- export type GridOwnProps = {
4
+ import { TransportStyleOwnProps } from '../transportStyle';
5
+ export interface GridOwnProps extends TransportStyleOwnProps {
6
6
  inline?: boolean;
7
7
  /** 网格列数,默认为`{xs: 12}` */
8
8
  columnCount?: ResponsiveProp;
9
9
  gap?: ResponsiveProp;
10
10
  columnGap?: ResponsiveProp;
11
11
  rowGap?: ResponsiveProp;
12
- };
13
- export type GridProps<C extends ElementType = 'div'> = MergeProps<GridOwnProps, TransportStyleProps<C>>;
12
+ }
13
+ export type GridProps<C extends ElementType = 'div'> = OverridableProps<GridOwnProps, C>;
14
14
  export declare const Grid: {
15
15
  <C extends ElementType = "div">(props: GridProps<C>): ReactElement;
16
16
  Item: typeof GridItem;
@@ -1,9 +1,10 @@
1
- import { MergeProps, ResponsiveProp } from '../../types';
2
- import { TransportStyleProps } from '../transportStyle';
3
- import { ElementType, ReactElement } from 'react';
4
- export type GridItemOwnProps = {
1
+ import { OverridableComponent, OverridableProps, ResponsiveProp } from '../../types';
2
+ import { TransportStyleOwnProps } from '../transportStyle';
3
+ import { ElementType } from 'react';
4
+ interface GridItemOwnProps extends TransportStyleOwnProps {
5
5
  span?: ResponsiveProp;
6
6
  offset?: ResponsiveProp;
7
- };
8
- export type GridItemProps<C extends ElementType = 'div'> = MergeProps<GridItemOwnProps, TransportStyleProps<C>>;
9
- export declare const GridItem: <C extends ElementType = 'div'>(props: GridItemProps<C>) => ReactElement;
7
+ }
8
+ export type GridItemProps<C extends ElementType = 'div'> = OverridableProps<GridItemOwnProps, C>;
9
+ export declare const GridItem: OverridableComponent<GridItemOwnProps>;
10
+ export {};
@@ -5,9 +5,8 @@ const jsx_runtime_1 = require("@emotion/react/jsx-runtime");
5
5
  const utils_1 = require("../../utils");
6
6
  const grid_style_1 = require("./grid.style");
7
7
  const transportStyle_1 = require("../transportStyle");
8
- const GridItem = ({ span = { xs: 1 }, offset = { xs: 0 }, ...props }) => {
8
+ exports.GridItem = (({ span = { xs: 1 }, offset = { xs: 0 }, ...props }) => {
9
9
  span = (0, utils_1.toResponsiveValue)(span);
10
10
  offset = (0, utils_1.toResponsiveValue)(offset);
11
11
  return ((0, jsx_runtime_1.jsx)(transportStyle_1.TransportStyle, { ...props, css: (0, grid_style_1.useItemStyle)({ span, offset }), className: (0, utils_1.clsx)(grid_style_1.classes.item, props.className) }));
12
- };
13
- exports.GridItem = GridItem;
12
+ });
@@ -1,18 +1,18 @@
1
- import React, { CSSProperties, ReactNode, JSX, ReactElement } from 'react';
1
+ import React, { CSSProperties, ReactNode, ReactElement, ComponentProps } from 'react';
2
2
  import { DivProps } from '../../types';
3
3
  import { Gallery, ImagePreviewProps } from '../gallery';
4
4
  export interface ImageProps extends DivProps {
5
5
  src?: string;
6
6
  fallback?: string;
7
- onLoad?: JSX.IntrinsicElements['img']['onLoad'];
8
- onError?: JSX.IntrinsicElements['img']['onError'];
7
+ onLoad?: ComponentProps<'img'>['onLoad'];
8
+ onError?: ComponentProps<'img'>['onError'];
9
9
  renderLoading?: ReactNode;
10
10
  alt?: string;
11
11
  width?: string | number;
12
12
  height?: string | number;
13
13
  objectFit?: CSSProperties['objectFit'];
14
14
  objectPosition?: CSSProperties['objectPosition'];
15
- imgProps?: JSX.IntrinsicElements['img'];
15
+ imgProps?: ComponentProps<'img'>;
16
16
  actions?: ReactNode;
17
17
  previewable?: boolean;
18
18
  previewProps?: ImagePreviewProps;
@@ -1,7 +1,7 @@
1
- import { JSX } from 'react';
1
+ import { ComponentProps } from 'react';
2
2
  import { InputBaseProps } from '../inputBase';
3
3
  export interface InputProps extends Omit<InputBaseProps<'input'>, 'children'> {
4
- inputProps?: JSX.IntrinsicElements['input'];
4
+ inputProps?: ComponentProps<'input'>;
5
5
  /** 是否根据内容自动调整宽度 */
6
6
  widthAdaptable?: boolean;
7
7
  }
@@ -7,8 +7,15 @@ const input_style_1 = require("./input.style");
7
7
  const react_1 = require("react");
8
8
  const inputBase_1 = require("../inputBase");
9
9
  exports.Input = (0, react_1.memo)(({ inputProps, widthAdaptable, ...props }) => {
10
- return ((0, jsx_runtime_1.jsx)(inputBase_1.InputBase, { ...props, css: input_style_1.style, className: (0, utils_1.clsx)(input_style_1.classes.root, props.className), "data-adaptable": widthAdaptable, children: inputBaseProps => {
11
- return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("input", { size: 1, ...inputBaseProps, ...inputProps, className: (0, utils_1.clsx)(input_style_1.classes.input, inputProps?.className) }), widthAdaptable &&
10
+ return ((0, jsx_runtime_1.jsx)(inputBase_1.InputBase, { ...(0, utils_1.mergeComponentProps)(props, {
11
+ css: input_style_1.style,
12
+ className: input_style_1.classes.root,
13
+ 'data-adaptable': widthAdaptable
14
+ }), children: inputBaseProps => {
15
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("input", { ...(0, utils_1.mergeComponentProps)({
16
+ size: 1,
17
+ className: input_style_1.classes.input
18
+ }, inputBaseProps, inputProps) }), widthAdaptable &&
12
19
  (0, jsx_runtime_1.jsx)("span", { className: input_style_1.classes.adaptable, children: inputBaseProps.value })] }));
13
20
  } }));
14
21
  });
@@ -1,6 +1,11 @@
1
- import { JSX, ReactElement, ReactNode } from 'react';
1
+ import { ComponentProps, ReactElement, ReactNode, Ref } from 'react';
2
2
  import { ColorPropsValue, DivProps, Size } from '../../types';
3
- export interface InputBaseProps<T extends 'input' | 'textarea'> extends Omit<DivProps, 'prefix' | 'onChange' | 'children'> {
3
+ export interface InputBaseRef extends HTMLDivElement {
4
+ select?: HTMLInputElement['select'];
5
+ setSelectionRange?: HTMLInputElement['setSelectionRange'];
6
+ }
7
+ export interface InputBaseProps<T extends 'input' | 'textarea'> extends Omit<DivProps, 'ref' | 'prefix' | 'onChange' | 'children'> {
8
+ ref?: Ref<InputBaseRef>;
4
9
  variant?: 'outlined' | 'underlined' | 'plain';
5
10
  size?: Size;
6
11
  shape?: 'square' | 'rounded';
@@ -10,18 +15,18 @@ export interface InputBaseProps<T extends 'input' | 'textarea'> extends Omit<Div
10
15
  clearable?: boolean;
11
16
  onClear?(): void;
12
17
  loading?: boolean;
13
- type?: T extends 'input' ? JSX.IntrinsicElements[T]['type'] : never;
14
- min?: T extends 'input' ? JSX.IntrinsicElements[T]['min'] : never;
15
- max?: T extends 'input' ? JSX.IntrinsicElements[T]['max'] : never;
16
- step?: T extends 'input' ? JSX.IntrinsicElements[T]['step'] : never;
18
+ type?: T extends 'input' ? ComponentProps<T>['type'] : never;
19
+ min?: T extends 'input' ? ComponentProps<T>['min'] : never;
20
+ max?: T extends 'input' ? ComponentProps<T>['max'] : never;
21
+ step?: T extends 'input' ? ComponentProps<T>['step'] : never;
17
22
  precision?: T extends 'input' ? number : never;
18
23
  placeholder?: string;
19
24
  disabled?: boolean;
20
25
  readOnly?: boolean;
21
- autoFocus?: JSX.IntrinsicElements[T]['autoFocus'];
22
- defaultValue?: JSX.IntrinsicElements[T]['defaultValue'];
23
- value?: JSX.IntrinsicElements[T]['value'];
24
- onChange?: JSX.IntrinsicElements[T]['onChange'];
25
- children(childProps: JSX.IntrinsicElements[T]): ReactNode;
26
+ autoFocus?: ComponentProps<T>['autoFocus'];
27
+ defaultValue?: ComponentProps<T>['defaultValue'];
28
+ value?: ComponentProps<T>['value'];
29
+ onChange?: ComponentProps<T>['onChange'];
30
+ children(childProps: ComponentProps<T>): ReactNode;
26
31
  }
27
32
  export declare const InputBase: <T extends "input" | "textarea">(props: InputBaseProps<T>) => ReactElement;
@@ -10,14 +10,23 @@ const button_1 = require("../button");
10
10
  const loadingIndicator_1 = require("../loadingIndicator");
11
11
  const icon_1 = require("../icon");
12
12
  const faCircleXmark_1 = require("@fortawesome/free-solid-svg-icons/faCircleXmark");
13
- exports.InputBase = (({ variant = 'outlined', size, shape, color = 'primary', children, prefix, suffix, onClear, loading, type, clearable = type !== 'number',
13
+ exports.InputBase = (({ ref, variant = 'outlined', size, shape, color = 'primary', children, prefix, suffix, onClear, loading, type, clearable = type !== 'number',
14
14
  // 以下属性传递给<input/>
15
15
  min, max, step, precision, placeholder, disabled, readOnly, autoFocus, defaultValue, value, onChange, ...props }) => {
16
+ const innerRef = (0, react_1.useRef)(null);
17
+ const innerInputRef = (0, react_1.useRef)(null);
18
+ (0, react_1.useImperativeHandle)(ref, () => {
19
+ if (innerRef.current) {
20
+ innerRef.current.focus = () => innerInputRef.current?.focus();
21
+ innerRef.current.blur = () => innerInputRef.current?.blur();
22
+ innerRef.current.select = () => innerInputRef.current?.select();
23
+ innerRef.current.setSelectionRange = (...args) => innerInputRef.current?.setSelectionRange(...args);
24
+ }
25
+ return innerRef.current;
26
+ });
16
27
  const theme = (0, theme_1.useTheme)();
17
28
  size ??= theme.size;
18
- const innerInputRef = (0, react_1.useRef)(null);
19
29
  const wrapClickHandler = (e) => {
20
- props.onClick?.(e);
21
30
  // 点击包裹元素时,聚焦到内部的input元素
22
31
  !disabled && innerInputRef.current && innerInputRef.current !== document.activeElement && innerInputRef.current.focus();
23
32
  };
@@ -47,15 +56,17 @@ min, max, step, precision, placeholder, disabled, readOnly, autoFocus, defaultVa
47
56
  changeHandler(e);
48
57
  }
49
58
  };
50
- return ((0, jsx_runtime_1.jsxs)("div", { ...props, css: (0, inputBase_style_1.useStyle)({ color: color || 'primary' }), className: (0, utils_1.clsx)(inputBase_style_1.classes.root, props.className), "data-variant": variant, "data-size": size, "data-shape": shape, onClick: wrapClickHandler,
51
- // 防止点击wrap时,输入框失去焦点
52
- onPointerDown: e => {
53
- props.onPointerDown?.(e);
54
- const { target } = e;
55
- if (!(target instanceof HTMLInputElement) && !(target instanceof HTMLTextAreaElement)) {
56
- e.preventDefault();
59
+ return ((0, jsx_runtime_1.jsxs)("div", { ...(0, utils_1.mergeComponentProps)(props, {
60
+ ref: innerRef,
61
+ className: inputBase_style_1.classes.root,
62
+ onClick: wrapClickHandler,
63
+ onPointerDown: e => {
64
+ const { target } = e;
65
+ if (!(target instanceof HTMLInputElement) && !(target instanceof HTMLTextAreaElement)) {
66
+ e.preventDefault();
67
+ }
57
68
  }
58
- }, children: [!!prefix &&
69
+ }), css: (0, inputBase_style_1.useStyle)({ color: color || 'primary' }), "data-variant": variant, "data-size": size, "data-shape": shape, children: [!!prefix &&
59
70
  (0, jsx_runtime_1.jsx)("div", { className: inputBase_style_1.classes.prefix, children: prefix }), (0, jsx_runtime_1.jsx)("div", { className: inputBase_style_1.classes.content, children: children({
60
71
  ref: innerInputRef,
61
72
  type,
@@ -75,7 +86,7 @@ min, max, step, precision, placeholder, disabled, readOnly, autoFocus, defaultVa
75
86
  onBlur: blurHandler,
76
87
  onKeyDown: (e) => e.key === 'Enter' && blurHandler(e)
77
88
  }) }), loading &&
78
- (0, jsx_runtime_1.jsx)(loadingIndicator_1.LoadingIndicator, {}), clearable && !disabled && !readOnly && (Array.isArray(innerValue.current) ? !!innerValue.current.length : !!innerValue.current) &&
89
+ (0, jsx_runtime_1.jsx)(loadingIndicator_1.LoadingIndicator, {}), clearable && !disabled && !readOnly && !!innerValue.current?.length &&
79
90
  (0, jsx_runtime_1.jsx)(button_1.Button, { className: inputBase_style_1.classes.clear, variant: "plain", color: "text.disabled", onClick: clear, tabIndex: -1, children: (0, jsx_runtime_1.jsx)(icon_1.Icon, { icon: faCircleXmark_1.faCircleXmark }) }), !!suffix &&
80
91
  (0, jsx_runtime_1.jsx)("div", { className: inputBase_style_1.classes.suffix, children: suffix })] }));
81
92
  });
@@ -2,5 +2,7 @@ import { DivProps } from '../../types';
2
2
  import { LoadingMaskProps } from '../loadingMask';
3
3
  export interface LoadingProps extends Omit<LoadingMaskProps, 'children'>, DivProps {
4
4
  containerProps?: DivProps;
5
+ /** 是否占满父元素,默认为`true` */
6
+ fill?: boolean;
5
7
  }
6
- export declare const Loading: import("react").MemoExoticComponent<({ containerProps, open, text, progress, color, indicatorProps, progressProps, ...props }: LoadingProps) => import("@emotion/react/jsx-runtime").JSX.Element>;
8
+ export declare const Loading: import("react").MemoExoticComponent<({ containerProps, fill, open, text, progress, color, indicatorProps, progressProps, ...props }: LoadingProps) => import("@emotion/react/jsx-runtime").JSX.Element>;
@@ -6,6 +6,6 @@ const react_1 = require("react");
6
6
  const utils_1 = require("../../utils");
7
7
  const loading_style_1 = require("./loading.style");
8
8
  const loadingMask_1 = require("../loadingMask");
9
- exports.Loading = (0, react_1.memo)(({ containerProps, open = false, text = '加载中...', progress, color, indicatorProps, progressProps, ...props }) => {
10
- return ((0, jsx_runtime_1.jsxs)("div", { ...props, css: loading_style_1.style, className: (0, utils_1.clsx)(loading_style_1.classes.root, props.className), children: [(0, jsx_runtime_1.jsx)("div", { ...containerProps, className: (0, utils_1.clsx)(loading_style_1.classes.container, containerProps?.className), children: props.children }), (0, jsx_runtime_1.jsx)(loadingMask_1.LoadingMask, { open, text, progress, color, indicatorProps, progressProps, className: loading_style_1.classes.mask })] }));
9
+ exports.Loading = (0, react_1.memo)(({ containerProps, fill = true, open = false, text = '加载中...', progress, color, indicatorProps, progressProps, ...props }) => {
10
+ return ((0, jsx_runtime_1.jsxs)("div", { ...props, css: loading_style_1.style, className: (0, utils_1.clsx)(loading_style_1.classes.root, props.className), "data-fill": fill, children: [(0, jsx_runtime_1.jsx)("div", { ...containerProps, className: (0, utils_1.clsx)(loading_style_1.classes.container, containerProps?.className), children: props.children }), (0, jsx_runtime_1.jsx)(loadingMask_1.LoadingMask, { open, text, progress, color, indicatorProps, progressProps, className: loading_style_1.classes.mask })] }));
11
11
  });
@@ -8,12 +8,13 @@ exports.classes = (0, utils_1.defineInnerClasses)('loading', [
8
8
  'mask'
9
9
  ]);
10
10
  exports.style = (0, react_1.css) `
11
- & {
11
+ position: relative;
12
+ z-index: 0;
13
+
14
+ &[data-fill=true] {
12
15
  width: 100%;
13
16
  height: 100%;
14
17
  flex: 1;
15
- position: relative;
16
- z-index: 0;
17
18
  }
18
19
 
19
20
  .${exports.classes.container} {
@@ -1,7 +1,9 @@
1
1
  import { ColorPropsValue, DivProps } from '../../types';
2
2
  export interface LoadingIndicatorProps extends DivProps {
3
+ /** 默认为`1rem` */
3
4
  size?: number;
4
- width?: number;
5
+ /** 圆环的粗细,默认为`2px` */
6
+ borderWidth?: number;
5
7
  color?: ColorPropsValue;
6
8
  }
7
- export declare const LoadingIndicator: import("react").MemoExoticComponent<({ size, width, color, ...props }: LoadingIndicatorProps) => import("@emotion/react/jsx-runtime").JSX.Element>;
9
+ export declare const LoadingIndicator: import("react").MemoExoticComponent<({ size, borderWidth, color, ...props }: LoadingIndicatorProps) => import("@emotion/react/jsx-runtime").JSX.Element>;
@@ -5,8 +5,8 @@ const jsx_runtime_1 = require("@emotion/react/jsx-runtime");
5
5
  const utils_1 = require("../../utils");
6
6
  const loadingIndicator_style_1 = require("./loadingIndicator.style");
7
7
  const react_1 = require("react");
8
- exports.LoadingIndicator = (0, react_1.memo)(({ size, width = 2, color = 'primary', ...props }) => {
9
- return ((0, jsx_runtime_1.jsx)("div", { ...props, css: (0, loadingIndicator_style_1.useStyle)({ color: color || 'primary', width }), className: (0, utils_1.clsx)(loadingIndicator_style_1.classes.root, props.className), style: {
8
+ exports.LoadingIndicator = (0, react_1.memo)(({ size, borderWidth = 2, color = 'primary', ...props }) => {
9
+ return ((0, jsx_runtime_1.jsx)("div", { ...props, css: (0, loadingIndicator_style_1.useStyle)({ color: color || 'primary', borderWidth }), className: (0, utils_1.clsx)(loadingIndicator_style_1.classes.root, props.className), style: {
10
10
  width: size ?? '1em',
11
11
  height: size ?? '1em',
12
12
  ...props.style
@@ -4,4 +4,4 @@ export declare const classes: {
4
4
  } & {
5
5
  root: string;
6
6
  };
7
- export declare function useStyle({ color, width }: Required<Pick<LoadingIndicatorProps, 'color' | 'width'>>): import("@emotion/react").SerializedStyles;
7
+ export declare function useStyle({ color, borderWidth }: Required<Pick<LoadingIndicatorProps, 'color' | 'borderWidth'>>): import("@emotion/react").SerializedStyles;
@@ -9,9 +9,8 @@ const color_1 = tslib_1.__importDefault(require("color"));
9
9
  exports.classes = (0, utils_1.defineInnerClasses)('loading-indicator', [
10
10
  'indicator'
11
11
  ]);
12
- function useStyle({ color, width }) {
12
+ function useStyle({ color, borderWidth }) {
13
13
  const colorValue = (0, utils_1.useColor)(color);
14
- const borderWidth = width;
15
14
  return (0, utils_1.useCss)(({ mode }) => {
16
15
  const borderColor = mode === 'light' ? (0, color_1.default)(colorValue).alpha(.6).string() : colorValue;
17
16
  return (0, react_1.css) `
@@ -19,7 +19,7 @@ exports.LoadingMask = (0, react_1.memo)(({ open = false, text = '加载中...',
19
19
  };
20
20
  const showProgress = typeof progress === 'number';
21
21
  return open || visible.current
22
- ? (0, jsx_runtime_1.jsxs)(backdrop_1.Backdrop, { variant: "light", ...props, css: loadingMask_style_1.style, open: open, className: (0, utils_1.clsx)(loadingMask_style_1.classes.root, props.className), onExited: onExited, "data-show-progress": showProgress, children: [(0, jsx_runtime_1.jsxs)("div", { className: loadingMask_style_1.classes.indicator, children: [(0, jsx_runtime_1.jsx)(loadingIndicator_1.LoadingIndicator, { size: showProgress ? 14 : 30, width: showProgress ? 2 : 3, color: color, ...indicatorProps }), (0, jsx_runtime_1.jsx)("div", { className: loadingMask_style_1.classes.text, children: text })] }), showProgress &&
22
+ ? (0, jsx_runtime_1.jsxs)(backdrop_1.Backdrop, { variant: "light", ...props, css: loadingMask_style_1.style, open: open, className: (0, utils_1.clsx)(loadingMask_style_1.classes.root, props.className), onExited: onExited, "data-show-progress": showProgress, children: [(0, jsx_runtime_1.jsxs)("div", { className: loadingMask_style_1.classes.indicator, children: [(0, jsx_runtime_1.jsx)(loadingIndicator_1.LoadingIndicator, { size: showProgress ? 14 : 30, borderWidth: showProgress ? 2 : 3, color: color, ...indicatorProps }), (0, jsx_runtime_1.jsx)("div", { className: loadingMask_style_1.classes.text, children: text })] }), showProgress &&
23
23
  (0, jsx_runtime_1.jsx)(progress_1.Progress, { className: loadingMask_style_1.classes.progress, value: progress, ...progressProps })] })
24
24
  : null;
25
25
  });
@@ -30,7 +30,7 @@ size = 'large', showCheckbox, ellipsis, indent, ...props }) => {
30
30
  return newExpanded;
31
31
  });
32
32
  };
33
- const [innerValue, toggleSelected] = (0, selectionContext_1.useShallowSelection)({ multiple, defaultValue, value, onChange });
33
+ const [innerValue, toggleSelected] = (0, selectionContext_1.useFlatSelection)({ multiple, defaultValue, value, onChange });
34
34
  const renderItems = (items) => {
35
35
  return items?.map((p, i) => (0, react_1.createElement)(menuItem_1.MenuItem, { ...p, key: p[primaryKey] ?? i, value: p[primaryKey], label: p[labelKey] }, renderItems(p[childrenKey])));
36
36
  };
@@ -1,4 +1,4 @@
1
- import { ReactNode } from 'react';
1
+ import React, { ReactNode } from 'react';
2
2
  import { ColorPropsValue, DivProps, Size } from '../../types';
3
3
  import { CheckboxProps } from '../checkbox';
4
4
  export interface MenuItemProps extends Omit<DivProps, 'prefix'> {
@@ -29,4 +29,4 @@ export interface MenuItemProps extends Omit<DivProps, 'prefix'> {
29
29
  expanded?: boolean;
30
30
  onExpandedChange?(expanded: boolean): void;
31
31
  }
32
- export declare const MenuItem: import("react").MemoExoticComponent<({ value, size, color, emphasized, selected, focused, disabled, showCheckbox, checkboxProps, ellipsis, prefix, label, suffix, searchToken, _level, indent, expandIcon, defaultExpanded, expanded, onExpandedChange, ...props }: MenuItemProps) => import("@emotion/react/jsx-runtime").JSX.Element>;
32
+ export declare const MenuItem: React.MemoExoticComponent<({ value, size, color, emphasized, selected, focused, disabled, showCheckbox, checkboxProps, ellipsis, prefix, label, suffix, searchToken, _level, indent, expandIcon, defaultExpanded, expanded, onExpandedChange, ...props }: MenuItemProps) => import("@emotion/react/jsx-runtime").JSX.Element>;
@@ -83,6 +83,7 @@ searchValue, selectedValue, onToggleSelected, ...props }) => {
83
83
  ? (0, jsx_runtime_1.jsx)(highlight_1.Highlight, { keywords: searchValue?.split(' '), children: params.label })
84
84
  : params.label,
85
85
  onClick: e => {
86
+ e.stopPropagation();
86
87
  params.opt.onClick?.(e);
87
88
  syncOnToggleSelected.current?.(params.value, e);
88
89
  },
@@ -27,18 +27,21 @@ function OverlayBase({ container, effectContainer, forceRender, open, onMaskClic
27
27
  containerEl.current.style.overflow = '';
28
28
  };
29
29
  }, [open]);
30
- const clickHandler = (e) => {
31
- maskProps?.onClick?.(e);
30
+ const onClick = (e) => {
32
31
  onMaskClick?.(e);
33
32
  };
34
- const onEntered = (node) => {
35
- maskProps?.onEntered?.(node);
33
+ const onEntered = () => {
36
34
  onOpened?.();
37
35
  };
38
36
  const onExited = () => {
39
- maskProps?.onExited?.();
40
37
  onClosed?.();
41
38
  forceRender === false && setShouldRender(false);
42
39
  };
43
- return shouldRender.current && (0, react_dom_1.createPortal)((0, jsx_runtime_1.jsxs)("div", { ...props, css: overlayBase_style_1.style, className: (0, utils_1.clsx)(overlayBase_style_1.classes.root, props.className), "data-open": open, "data-custom-container": containerEl.current !== document.body, children: [(0, jsx_runtime_1.jsx)(transitionBase_1.Fade, { timeout: exports.overlayBaseTransitionDuration, ...maskProps, in: open, className: (0, utils_1.clsx)(overlayBase_style_1.classes.mask, maskProps?.className), onClick: clickHandler, onEntered: onEntered, onExited: onExited }), props.children] }), containerEl.current);
40
+ return shouldRender.current && (0, react_dom_1.createPortal)((0, jsx_runtime_1.jsxs)("div", { ...props, css: overlayBase_style_1.style, className: (0, utils_1.clsx)(overlayBase_style_1.classes.root, props.className), "data-open": open, "data-custom-container": containerEl.current !== document.body, children: [(0, jsx_runtime_1.jsx)(transitionBase_1.Fade, { timeout: exports.overlayBaseTransitionDuration, ...(0, utils_1.mergeComponentProps)(maskProps, {
41
+ in: open,
42
+ className: overlayBase_style_1.classes.mask,
43
+ onClick,
44
+ onEntered,
45
+ onExited
46
+ }) }), props.children] }), containerEl.current);
44
47
  }
@@ -9,12 +9,9 @@ exports.classes = (0, utils_1.defineInnerClasses)('overlay-base', [
9
9
  'mask'
10
10
  ]);
11
11
  exports.style = (0, utils_1.defineCss)(theme => {
12
- const { text, fontSize } = theme;
13
12
  return [
14
13
  (0, app_style_1.appStyleCallback)(theme),
15
14
  (0, react_1.css) `
16
- color: ${text.primary};
17
- font-size: ${fontSize}px;
18
15
  position: fixed;
19
16
  inset: 0;
20
17
  z-index: ${theme_1.zIndex.overlay};
@@ -2,9 +2,9 @@ export declare const classes: {
2
2
  input: string;
3
3
  main: string;
4
4
  mask: string;
5
+ sliders: string;
5
6
  hue: string;
6
7
  alpha: string;
7
- sliders: string;
8
8
  handle: string;
9
9
  slidersRow: string;
10
10
  alphaMask: string;