@canlooks/can-ui 0.0.70 → 0.0.71

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 (328) hide show
  1. package/dist/cjs/components/actionSheet/actionSheet.js +9 -4
  2. package/dist/cjs/components/alert/alert.style.d.ts +2 -2
  3. package/dist/cjs/components/app/appDialog.js +28 -24
  4. package/dist/cjs/components/autocomplete/autocomplete.js +21 -27
  5. package/dist/cjs/components/avatar/avatar.d.ts +2 -2
  6. package/dist/cjs/components/avatar/avatar.js +6 -5
  7. package/dist/cjs/components/avatar/avatarGroup.js +1 -1
  8. package/dist/cjs/components/bubbleConfirm/bubbleConfirm.js +9 -2
  9. package/dist/cjs/components/bubbleConfirm/bubbleConfirm.style.d.ts +1 -1
  10. package/dist/cjs/components/cascade/cascade.d.ts +2 -2
  11. package/dist/cjs/components/cascade/cascade.js +33 -21
  12. package/dist/cjs/components/cascade/cascadePanel.js +23 -13
  13. package/dist/cjs/components/checkboxBase/checkboxBase.d.ts +2 -2
  14. package/dist/cjs/components/checkboxBase/checkboxBase.js +9 -2
  15. package/dist/cjs/components/checkboxBase/checkboxBase.style.d.ts +1 -1
  16. package/dist/cjs/components/checkboxBaseGroup/checkboxBaseGroup.js +2 -2
  17. package/dist/cjs/components/clickAway/clickAway.d.ts +27 -27
  18. package/dist/cjs/components/colorPicker/colorPicker.d.ts +2 -2
  19. package/dist/cjs/components/colorPicker/colorPicker.js +2 -2
  20. package/dist/cjs/components/counter/counter.js +9 -10
  21. package/dist/cjs/components/curd/curd.d.ts +10 -12
  22. package/dist/cjs/components/curd/curd.js +38 -33
  23. package/dist/cjs/components/curd/curd.style.d.ts +2 -1
  24. package/dist/cjs/components/curd/curd.style.js +14 -4
  25. package/dist/cjs/components/curd/curdDialog.js +2 -1
  26. package/dist/cjs/components/curd/curdFilterable.d.ts +21 -0
  27. package/dist/cjs/components/curd/{curdFilter.js → curdFilterable.js} +19 -24
  28. package/dist/cjs/components/curd/index.d.ts +1 -1
  29. package/dist/cjs/components/curd/index.js +1 -1
  30. package/dist/cjs/components/dataGrid/columnResize.js +2 -2
  31. package/dist/cjs/components/dataGrid/dataGrid.d.ts +29 -12
  32. package/dist/cjs/components/dataGrid/dataGrid.js +46 -20
  33. package/dist/cjs/components/dataGrid/dataGrid.style.d.ts +5 -3
  34. package/dist/cjs/components/dataGrid/dataGrid.style.js +38 -33
  35. package/dist/cjs/components/dataGrid/dataGridHead.d.ts +4 -1
  36. package/dist/cjs/components/dataGrid/dataGridHead.js +28 -19
  37. package/dist/cjs/components/dataGrid/dataGridRows.js +1 -1
  38. package/dist/cjs/components/dataGrid/filterBubbleContent.d.ts +19 -0
  39. package/dist/cjs/components/dataGrid/filterBubbleContent.js +42 -0
  40. package/dist/cjs/components/dateTimePicker/dateTimePicker.d.ts +2 -2
  41. package/dist/cjs/components/dateTimePicker/dateTimePicker.js +27 -9
  42. package/dist/cjs/components/dateTimePicker/dateTimePicker.style.d.ts +1 -1
  43. package/dist/cjs/components/dateTimeRangePicker/dateTimeRangePicker.d.ts +4 -3
  44. package/dist/cjs/components/dateTimeRangePicker/dateTimeRangePicker.js +45 -23
  45. package/dist/cjs/components/descriptions/descriptions.js +2 -0
  46. package/dist/cjs/components/descriptions/descriptions.style.d.ts +1 -1
  47. package/dist/cjs/components/dialog/dialog.d.ts +1 -1
  48. package/dist/cjs/components/dialog/dialog.js +2 -2
  49. package/dist/cjs/components/dialog/dialog.style.d.ts +2 -2
  50. package/dist/cjs/components/draggable/draggable.d.ts +12 -2
  51. package/dist/cjs/components/draggable/draggable.js +34 -4
  52. package/dist/cjs/components/flex/flex.d.ts +7 -4
  53. package/dist/cjs/components/flex/flex.js +3 -3
  54. package/dist/cjs/components/form/form.d.ts +10 -5
  55. package/dist/cjs/components/form/form.js +45 -9
  56. package/dist/cjs/components/form/formItem.d.ts +12 -7
  57. package/dist/cjs/components/form/formItem.js +47 -33
  58. package/dist/cjs/components/form/formRelatable.js +2 -1
  59. package/dist/cjs/components/gallery/gallery.style.d.ts +1 -1
  60. package/dist/cjs/components/gallery/imageItem.js +1 -1
  61. package/dist/cjs/components/grid/grid.d.ts +5 -5
  62. package/dist/cjs/components/grid/gridItem.d.ts +8 -7
  63. package/dist/cjs/components/grid/gridItem.js +2 -3
  64. package/dist/cjs/components/image/image.d.ts +4 -4
  65. package/dist/cjs/components/input/input.d.ts +2 -2
  66. package/dist/cjs/components/input/input.js +9 -2
  67. package/dist/cjs/components/inputBase/inputBase.d.ts +16 -11
  68. package/dist/cjs/components/inputBase/inputBase.js +23 -12
  69. package/dist/cjs/components/loading/loading.d.ts +3 -1
  70. package/dist/cjs/components/loading/loading.js +2 -2
  71. package/dist/cjs/components/loading/loading.style.js +4 -3
  72. package/dist/cjs/components/loadingIndicator/loadingIndicator.d.ts +4 -2
  73. package/dist/cjs/components/loadingIndicator/loadingIndicator.js +2 -2
  74. package/dist/cjs/components/loadingIndicator/loadingIndicator.style.d.ts +1 -1
  75. package/dist/cjs/components/loadingIndicator/loadingIndicator.style.js +1 -2
  76. package/dist/cjs/components/loadingMask/loadingMask.js +1 -1
  77. package/dist/cjs/components/menu/menu.js +1 -1
  78. package/dist/cjs/components/menuItem/menuItem.d.ts +2 -2
  79. package/dist/cjs/components/optionsBase/optionsBase.js +1 -0
  80. package/dist/cjs/components/overlayBase/overlayBase.js +9 -6
  81. package/dist/cjs/components/overlayBase/overlayBase.style.js +0 -3
  82. package/dist/cjs/components/palette/palette.style.d.ts +1 -1
  83. package/dist/cjs/components/pickerDialog/pickerDialog.js +20 -7
  84. package/dist/cjs/components/pickerDialog/pickerDialog.style.d.ts +1 -1
  85. package/dist/cjs/components/popper/popper.d.ts +5 -2
  86. package/dist/cjs/components/popper/popper.js +31 -12
  87. package/dist/cjs/components/popper/popper.style.js +1 -2
  88. package/dist/cjs/components/progress/progress.js +1 -1
  89. package/dist/cjs/components/resizable/resizable.style.d.ts +1 -1
  90. package/dist/cjs/components/segmented/segmented.style.d.ts +1 -1
  91. package/dist/cjs/components/select/select.d.ts +2 -2
  92. package/dist/cjs/components/select/select.js +44 -20
  93. package/dist/cjs/components/selectedList/selectedItem.d.ts +1 -1
  94. package/dist/cjs/components/selectedList/selectedItem.js +2 -2
  95. package/dist/cjs/components/selectionContext/selectionContext.d.ts +0 -1
  96. package/dist/cjs/components/selectionContext/selectionHook.d.ts +1 -1
  97. package/dist/cjs/components/selectionContext/selectionHook.js +2 -2
  98. package/dist/cjs/components/serialInput/index.d.ts +1 -0
  99. package/dist/cjs/components/serialInput/index.js +4 -0
  100. package/dist/cjs/components/serialInput/serialInput.d.ts +21 -0
  101. package/dist/cjs/components/serialInput/serialInput.js +58 -0
  102. package/dist/cjs/components/serialInput/serialInput.style.d.ts +6 -0
  103. package/dist/cjs/components/serialInput/serialInput.style.js +13 -0
  104. package/dist/cjs/components/skeleton/skeleton.d.ts +2 -2
  105. package/dist/cjs/components/slidableActions/slidableActionsAction.js +15 -6
  106. package/dist/cjs/components/slider/slider.d.ts +2 -2
  107. package/dist/cjs/components/slider/slider.js +15 -21
  108. package/dist/cjs/components/snackbarBase/snackbarBase.style.d.ts +1 -1
  109. package/dist/cjs/components/snackbarBase/snackbarBase.style.js +1 -3
  110. package/dist/cjs/components/sortableItem/sortableItem.js +9 -10
  111. package/dist/cjs/components/switch/switch.d.ts +2 -2
  112. package/dist/cjs/components/table/table.d.ts +3 -3
  113. package/dist/cjs/components/table/table.style.d.ts +1 -1
  114. package/dist/cjs/components/table/tableSticky.d.ts +5 -5
  115. package/dist/cjs/components/table/tableSticky.js +4 -4
  116. package/dist/cjs/components/tabs/tabs.style.d.ts +3 -3
  117. package/dist/cjs/components/tag/tag.d.ts +1 -1
  118. package/dist/cjs/components/tag/tag.js +2 -1
  119. package/dist/cjs/components/tag/tag.style.d.ts +1 -1
  120. package/dist/cjs/components/textarea/textarea.d.ts +2 -2
  121. package/dist/cjs/components/textarea/textarea.js +5 -1
  122. package/dist/cjs/components/toggleButton/toggleButton.js +1 -1
  123. package/dist/cjs/components/transfer/transfer.style.d.ts +2 -2
  124. package/dist/cjs/components/transitionBase/collapse.js +36 -14
  125. package/dist/cjs/components/transitionBase/transitionBase.js +1 -1
  126. package/dist/cjs/components/transitionBase/transitionBase.style.js +1 -1
  127. package/dist/cjs/components/transportStyle/transportStyle.d.ts +1 -1
  128. package/dist/cjs/components/transportStyle/transportStyle.js +2 -3
  129. package/dist/cjs/components/tree/tree.d.ts +17 -4
  130. package/dist/cjs/components/tree/tree.js +15 -14
  131. package/dist/cjs/components/tree/tree.style.d.ts +9 -3
  132. package/dist/cjs/components/tree/tree.style.js +135 -4
  133. package/dist/cjs/components/tree/treeDnd.d.ts +25 -0
  134. package/dist/cjs/components/tree/treeDnd.js +23 -0
  135. package/dist/cjs/components/tree/treeNode.d.ts +2 -2
  136. package/dist/cjs/components/tree/treeNode.js +94 -16
  137. package/dist/cjs/components/treeSelect/treeSelect.d.ts +2 -2
  138. package/dist/cjs/components/treeSelect/treeSelect.js +3 -3
  139. package/dist/cjs/components/upload/upload.d.ts +2 -2
  140. package/dist/cjs/components/upload/upload.js +5 -2
  141. package/dist/cjs/components/upload/upload.style.d.ts +2 -2
  142. package/dist/cjs/extensions/curd/curd.d.ts +20 -0
  143. package/dist/cjs/extensions/curd/curd.js +20 -0
  144. package/dist/cjs/extensions/documentViewer/pdfViewer.d.ts +2 -2
  145. package/dist/cjs/extensions/reactiveForm/index.d.ts +2 -0
  146. package/dist/cjs/extensions/reactiveForm/index.js +5 -0
  147. package/dist/cjs/extensions/reactiveForm/reactiveForm.d.ts +19 -0
  148. package/dist/cjs/extensions/reactiveForm/reactiveForm.js +29 -0
  149. package/dist/cjs/extensions/reactiveForm/reactiveFormItem.d.ts +7 -0
  150. package/dist/cjs/extensions/reactiveForm/reactiveFormItem.js +39 -0
  151. package/dist/cjs/index.d.ts +1 -0
  152. package/dist/cjs/index.js +1 -0
  153. package/dist/cjs/types.d.ts +2 -2
  154. package/dist/cjs/utils/curd.js +5 -2
  155. package/dist/cjs/utils/dataGrid.d.ts +3 -2
  156. package/dist/cjs/utils/hooks.js +3 -3
  157. package/dist/cjs/utils/index.d.ts +2 -2
  158. package/dist/cjs/utils/index.js +2 -2
  159. package/dist/cjs/utils/utils.d.ts +17 -9
  160. package/dist/cjs/utils/utils.js +59 -16
  161. package/dist/esm/components/actionSheet/actionSheet.js +10 -5
  162. package/dist/esm/components/alert/alert.style.d.ts +2 -2
  163. package/dist/esm/components/app/appDialog.js +28 -24
  164. package/dist/esm/components/autocomplete/autocomplete.js +22 -28
  165. package/dist/esm/components/avatar/avatar.d.ts +2 -2
  166. package/dist/esm/components/avatar/avatar.js +7 -6
  167. package/dist/esm/components/avatar/avatarGroup.js +1 -1
  168. package/dist/esm/components/bubbleConfirm/bubbleConfirm.js +10 -3
  169. package/dist/esm/components/bubbleConfirm/bubbleConfirm.style.d.ts +1 -1
  170. package/dist/esm/components/cascade/cascade.d.ts +2 -2
  171. package/dist/esm/components/cascade/cascade.js +34 -22
  172. package/dist/esm/components/cascade/cascadePanel.js +24 -14
  173. package/dist/esm/components/checkboxBase/checkboxBase.d.ts +2 -2
  174. package/dist/esm/components/checkboxBase/checkboxBase.js +10 -3
  175. package/dist/esm/components/checkboxBase/checkboxBase.style.d.ts +1 -1
  176. package/dist/esm/components/checkboxBaseGroup/checkboxBaseGroup.js +3 -3
  177. package/dist/esm/components/clickAway/clickAway.d.ts +27 -27
  178. package/dist/esm/components/colorPicker/colorPicker.d.ts +2 -2
  179. package/dist/esm/components/colorPicker/colorPicker.js +3 -3
  180. package/dist/esm/components/counter/counter.js +10 -11
  181. package/dist/esm/components/curd/curd.d.ts +10 -12
  182. package/dist/esm/components/curd/curd.js +39 -34
  183. package/dist/esm/components/curd/curd.style.d.ts +2 -1
  184. package/dist/esm/components/curd/curd.style.js +14 -4
  185. package/dist/esm/components/curd/curdDialog.js +2 -1
  186. package/dist/esm/components/curd/curdFilterable.d.ts +21 -0
  187. package/dist/esm/components/curd/{curdFilter.js → curdFilterable.js} +20 -25
  188. package/dist/esm/components/curd/index.d.ts +1 -1
  189. package/dist/esm/components/curd/index.js +1 -1
  190. package/dist/esm/components/dataGrid/columnResize.js +3 -3
  191. package/dist/esm/components/dataGrid/dataGrid.d.ts +29 -12
  192. package/dist/esm/components/dataGrid/dataGrid.js +48 -22
  193. package/dist/esm/components/dataGrid/dataGrid.style.d.ts +5 -3
  194. package/dist/esm/components/dataGrid/dataGrid.style.js +38 -33
  195. package/dist/esm/components/dataGrid/dataGridHead.d.ts +4 -1
  196. package/dist/esm/components/dataGrid/dataGridHead.js +29 -20
  197. package/dist/esm/components/dataGrid/dataGridRows.js +1 -1
  198. package/dist/esm/components/dataGrid/filterBubbleContent.d.ts +19 -0
  199. package/dist/esm/components/dataGrid/filterBubbleContent.js +39 -0
  200. package/dist/esm/components/dateTimePicker/dateTimePicker.d.ts +2 -2
  201. package/dist/esm/components/dateTimePicker/dateTimePicker.js +28 -10
  202. package/dist/esm/components/dateTimePicker/dateTimePicker.style.d.ts +1 -1
  203. package/dist/esm/components/dateTimeRangePicker/dateTimeRangePicker.d.ts +4 -3
  204. package/dist/esm/components/dateTimeRangePicker/dateTimeRangePicker.js +46 -24
  205. package/dist/esm/components/descriptions/descriptions.js +2 -0
  206. package/dist/esm/components/descriptions/descriptions.style.d.ts +1 -1
  207. package/dist/esm/components/dialog/dialog.d.ts +1 -1
  208. package/dist/esm/components/dialog/dialog.js +2 -2
  209. package/dist/esm/components/dialog/dialog.style.d.ts +2 -2
  210. package/dist/esm/components/draggable/draggable.d.ts +12 -2
  211. package/dist/esm/components/draggable/draggable.js +35 -5
  212. package/dist/esm/components/flex/flex.d.ts +7 -4
  213. package/dist/esm/components/flex/flex.js +2 -2
  214. package/dist/esm/components/form/form.d.ts +10 -5
  215. package/dist/esm/components/form/form.js +43 -9
  216. package/dist/esm/components/form/formItem.d.ts +12 -7
  217. package/dist/esm/components/form/formItem.js +49 -35
  218. package/dist/esm/components/form/formRelatable.js +3 -2
  219. package/dist/esm/components/gallery/gallery.style.d.ts +1 -1
  220. package/dist/esm/components/gallery/imageItem.js +1 -1
  221. package/dist/esm/components/grid/grid.d.ts +5 -5
  222. package/dist/esm/components/grid/gridItem.d.ts +8 -7
  223. package/dist/esm/components/grid/gridItem.js +2 -2
  224. package/dist/esm/components/image/image.d.ts +4 -4
  225. package/dist/esm/components/input/input.d.ts +2 -2
  226. package/dist/esm/components/input/input.js +10 -3
  227. package/dist/esm/components/inputBase/inputBase.d.ts +16 -11
  228. package/dist/esm/components/inputBase/inputBase.js +25 -14
  229. package/dist/esm/components/loading/loading.d.ts +3 -1
  230. package/dist/esm/components/loading/loading.js +2 -2
  231. package/dist/esm/components/loading/loading.style.js +4 -3
  232. package/dist/esm/components/loadingIndicator/loadingIndicator.d.ts +4 -2
  233. package/dist/esm/components/loadingIndicator/loadingIndicator.js +2 -2
  234. package/dist/esm/components/loadingIndicator/loadingIndicator.style.d.ts +1 -1
  235. package/dist/esm/components/loadingIndicator/loadingIndicator.style.js +1 -2
  236. package/dist/esm/components/loadingMask/loadingMask.js +1 -1
  237. package/dist/esm/components/menu/menu.js +2 -2
  238. package/dist/esm/components/menuItem/menuItem.d.ts +2 -2
  239. package/dist/esm/components/optionsBase/optionsBase.js +1 -0
  240. package/dist/esm/components/overlayBase/overlayBase.js +10 -7
  241. package/dist/esm/components/overlayBase/overlayBase.style.js +0 -3
  242. package/dist/esm/components/palette/palette.style.d.ts +1 -1
  243. package/dist/esm/components/pickerDialog/pickerDialog.js +21 -8
  244. package/dist/esm/components/pickerDialog/pickerDialog.style.d.ts +1 -1
  245. package/dist/esm/components/popper/popper.d.ts +5 -2
  246. package/dist/esm/components/popper/popper.js +31 -12
  247. package/dist/esm/components/popper/popper.style.js +1 -2
  248. package/dist/esm/components/progress/progress.js +1 -1
  249. package/dist/esm/components/resizable/resizable.style.d.ts +1 -1
  250. package/dist/esm/components/segmented/segmented.style.d.ts +1 -1
  251. package/dist/esm/components/select/select.d.ts +2 -2
  252. package/dist/esm/components/select/select.js +46 -22
  253. package/dist/esm/components/selectedList/selectedItem.d.ts +1 -1
  254. package/dist/esm/components/selectedList/selectedItem.js +2 -2
  255. package/dist/esm/components/selectionContext/selectionContext.d.ts +0 -1
  256. package/dist/esm/components/selectionContext/selectionHook.d.ts +1 -1
  257. package/dist/esm/components/selectionContext/selectionHook.js +1 -1
  258. package/dist/esm/components/serialInput/index.d.ts +1 -0
  259. package/dist/esm/components/serialInput/index.js +1 -0
  260. package/dist/esm/components/serialInput/serialInput.d.ts +21 -0
  261. package/dist/esm/components/serialInput/serialInput.js +55 -0
  262. package/dist/esm/components/serialInput/serialInput.style.d.ts +6 -0
  263. package/dist/esm/components/serialInput/serialInput.style.js +10 -0
  264. package/dist/esm/components/skeleton/skeleton.d.ts +2 -2
  265. package/dist/esm/components/slidableActions/slidableActionsAction.js +16 -7
  266. package/dist/esm/components/slider/slider.d.ts +2 -2
  267. package/dist/esm/components/slider/slider.js +16 -22
  268. package/dist/esm/components/snackbarBase/snackbarBase.style.d.ts +1 -1
  269. package/dist/esm/components/snackbarBase/snackbarBase.style.js +1 -3
  270. package/dist/esm/components/sortableItem/sortableItem.js +10 -11
  271. package/dist/esm/components/switch/switch.d.ts +2 -2
  272. package/dist/esm/components/table/table.d.ts +3 -3
  273. package/dist/esm/components/table/table.style.d.ts +1 -1
  274. package/dist/esm/components/table/tableSticky.d.ts +5 -5
  275. package/dist/esm/components/table/tableSticky.js +3 -3
  276. package/dist/esm/components/tabs/tabs.style.d.ts +3 -3
  277. package/dist/esm/components/tag/tag.d.ts +1 -1
  278. package/dist/esm/components/tag/tag.js +2 -1
  279. package/dist/esm/components/tag/tag.style.d.ts +1 -1
  280. package/dist/esm/components/textarea/textarea.d.ts +2 -2
  281. package/dist/esm/components/textarea/textarea.js +6 -2
  282. package/dist/esm/components/toggleButton/toggleButton.js +2 -2
  283. package/dist/esm/components/transfer/transfer.style.d.ts +2 -2
  284. package/dist/esm/components/transitionBase/collapse.js +38 -16
  285. package/dist/esm/components/transitionBase/transitionBase.js +1 -1
  286. package/dist/esm/components/transitionBase/transitionBase.style.js +1 -1
  287. package/dist/esm/components/transportStyle/transportStyle.d.ts +1 -1
  288. package/dist/esm/components/transportStyle/transportStyle.js +2 -2
  289. package/dist/esm/components/tree/tree.d.ts +17 -4
  290. package/dist/esm/components/tree/tree.js +17 -16
  291. package/dist/esm/components/tree/tree.style.d.ts +9 -3
  292. package/dist/esm/components/tree/tree.style.js +135 -4
  293. package/dist/esm/components/tree/treeDnd.d.ts +25 -0
  294. package/dist/esm/components/tree/treeDnd.js +19 -0
  295. package/dist/esm/components/tree/treeNode.d.ts +2 -2
  296. package/dist/esm/components/tree/treeNode.js +96 -18
  297. package/dist/esm/components/treeSelect/treeSelect.d.ts +2 -2
  298. package/dist/esm/components/treeSelect/treeSelect.js +4 -4
  299. package/dist/esm/components/upload/upload.d.ts +2 -2
  300. package/dist/esm/components/upload/upload.js +6 -3
  301. package/dist/esm/components/upload/upload.style.d.ts +2 -2
  302. package/dist/esm/extensions/curd/curd.d.ts +20 -0
  303. package/dist/esm/extensions/curd/curd.js +20 -0
  304. package/dist/esm/extensions/documentViewer/pdfViewer.d.ts +2 -2
  305. package/dist/esm/extensions/reactiveForm/index.d.ts +2 -0
  306. package/dist/esm/extensions/reactiveForm/index.js +2 -0
  307. package/dist/esm/extensions/reactiveForm/reactiveForm.d.ts +19 -0
  308. package/dist/esm/extensions/reactiveForm/reactiveForm.js +25 -0
  309. package/dist/esm/extensions/reactiveForm/reactiveFormItem.d.ts +7 -0
  310. package/dist/esm/extensions/reactiveForm/reactiveFormItem.js +36 -0
  311. package/dist/esm/index.d.ts +1 -0
  312. package/dist/esm/index.js +1 -0
  313. package/dist/esm/types.d.ts +2 -2
  314. package/dist/esm/utils/curd.js +5 -2
  315. package/dist/esm/utils/dataGrid.d.ts +3 -2
  316. package/dist/esm/utils/hooks.js +3 -3
  317. package/dist/esm/utils/index.d.ts +2 -2
  318. package/dist/esm/utils/index.js +2 -2
  319. package/dist/esm/utils/utils.d.ts +17 -9
  320. package/dist/esm/utils/utils.js +58 -16
  321. package/extensions/reactiveForm.cjs +5 -0
  322. package/extensions/reactiveForm.d.ts +1 -0
  323. package/extensions/reactiveForm.js +1 -0
  324. package/package.json +2 -1
  325. package/dist/cjs/components/curd/curdFilter.d.ts +0 -16
  326. package/dist/esm/components/curd/curdFilter.d.ts +0 -16
  327. package/documentation/bootstrap.mjs +0 -8
  328. package/documentation/vite.config.mjs +0 -18
@@ -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 && (0, utils_1.toArray)(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;
@@ -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;