@ioca/react 1.4.66 → 1.4.69

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 (289) hide show
  1. package/LICENSE +20 -20
  2. package/README.md +31 -31
  3. package/lib/cjs/components/affix/affix.js.map +1 -1
  4. package/lib/cjs/components/affix/totop.js.map +1 -1
  5. package/lib/cjs/components/badge/badge.js.map +1 -1
  6. package/lib/cjs/components/button/button.js.map +1 -1
  7. package/lib/cjs/components/button/confirm.js +2 -2
  8. package/lib/cjs/components/button/confirm.js.map +1 -1
  9. package/lib/cjs/components/button/group.js.map +1 -1
  10. package/lib/cjs/components/button/toggle.js +3 -3
  11. package/lib/cjs/components/button/toggle.js.map +1 -1
  12. package/lib/cjs/components/card/card.js.map +1 -1
  13. package/lib/cjs/components/checkbox/checkbox.js +2 -2
  14. package/lib/cjs/components/checkbox/checkbox.js.map +1 -1
  15. package/lib/cjs/components/checkbox/item.js +2 -2
  16. package/lib/cjs/components/checkbox/item.js.map +1 -1
  17. package/lib/cjs/components/collapse/collapse.js +2 -2
  18. package/lib/cjs/components/collapse/collapse.js.map +1 -1
  19. package/lib/cjs/components/collapse/item.js.map +1 -1
  20. package/lib/cjs/components/datagrid/cell.js +1 -1
  21. package/lib/cjs/components/datagrid/cell.js.map +1 -1
  22. package/lib/cjs/components/datagrid/datagrid.js +2 -2
  23. package/lib/cjs/components/datagrid/datagrid.js.map +1 -1
  24. package/lib/cjs/components/datagrid/resize.js +1 -2
  25. package/lib/cjs/components/datagrid/resize.js.map +1 -1
  26. package/lib/cjs/components/datagrid/row.js.map +1 -1
  27. package/lib/cjs/components/datagrid/sorter.js.map +1 -1
  28. package/lib/cjs/components/description/description.js.map +1 -1
  29. package/lib/cjs/components/drawer/drawer.js +1 -2
  30. package/lib/cjs/components/drawer/drawer.js.map +1 -1
  31. package/lib/cjs/components/dropdown/dropdown.js.map +1 -1
  32. package/lib/cjs/components/dropdown/item.js.map +1 -1
  33. package/lib/cjs/components/editor/controls.js.map +1 -1
  34. package/lib/cjs/components/editor/editor.js.map +1 -1
  35. package/lib/cjs/components/flex/flex.js.map +1 -1
  36. package/lib/cjs/components/form/context.js.map +1 -1
  37. package/lib/cjs/components/form/field.js +2 -2
  38. package/lib/cjs/components/form/field.js.map +1 -1
  39. package/lib/cjs/components/form/form.js.map +1 -1
  40. package/lib/cjs/components/form/useConfig.js.map +1 -1
  41. package/lib/cjs/components/form/useForm.js.map +1 -1
  42. package/lib/cjs/components/icon/icon.js.map +1 -1
  43. package/lib/cjs/components/image/image.js +1 -2
  44. package/lib/cjs/components/image/image.js.map +1 -1
  45. package/lib/cjs/components/image/list.js.map +1 -1
  46. package/lib/cjs/components/input/container.js.map +1 -1
  47. package/lib/cjs/components/input/input.js +2 -2
  48. package/lib/cjs/components/input/input.js.map +1 -1
  49. package/lib/cjs/components/input/number.js +19 -11
  50. package/lib/cjs/components/input/number.js.map +1 -1
  51. package/lib/cjs/components/input/range.js +2 -2
  52. package/lib/cjs/components/input/range.js.map +1 -1
  53. package/lib/cjs/components/input/textarea.js +2 -2
  54. package/lib/cjs/components/input/textarea.js.map +1 -1
  55. package/lib/cjs/components/list/item.js.map +1 -1
  56. package/lib/cjs/components/list/list.js.map +1 -1
  57. package/lib/cjs/components/loading/loading.js.map +1 -1
  58. package/lib/cjs/components/message/message.js +2 -4
  59. package/lib/cjs/components/message/message.js.map +1 -1
  60. package/lib/cjs/components/modal/content.js.map +1 -1
  61. package/lib/cjs/components/modal/context.js.map +1 -1
  62. package/lib/cjs/components/modal/hookModal.js +2 -2
  63. package/lib/cjs/components/modal/hookModal.js.map +1 -1
  64. package/lib/cjs/components/modal/modal.js.map +1 -1
  65. package/lib/cjs/components/modal/useModal.js.map +1 -1
  66. package/lib/cjs/components/pagination/page.js.map +1 -1
  67. package/lib/cjs/components/pagination/pagination.js.map +1 -1
  68. package/lib/cjs/components/picker/colors/footer.js +2 -2
  69. package/lib/cjs/components/picker/colors/footer.js.map +1 -1
  70. package/lib/cjs/components/picker/colors/handle.js.map +1 -1
  71. package/lib/cjs/components/picker/colors/index.js +2 -2
  72. package/lib/cjs/components/picker/colors/index.js.map +1 -1
  73. package/lib/cjs/components/picker/dates/dates.js.map +1 -1
  74. package/lib/cjs/components/picker/dates/index.js +2 -2
  75. package/lib/cjs/components/picker/dates/index.js.map +1 -1
  76. package/lib/cjs/components/picker/dates/panel.js +2 -2
  77. package/lib/cjs/components/picker/dates/panel.js.map +1 -1
  78. package/lib/cjs/components/picker/time/index.js +2 -2
  79. package/lib/cjs/components/picker/time/index.js.map +1 -1
  80. package/lib/cjs/components/picker/time/item.js.map +1 -1
  81. package/lib/cjs/components/picker/time/panel.js +2 -2
  82. package/lib/cjs/components/picker/time/panel.js.map +1 -1
  83. package/lib/cjs/components/popconfirm/popconfirm.js +2 -2
  84. package/lib/cjs/components/popconfirm/popconfirm.js.map +1 -1
  85. package/lib/cjs/components/popup/content.js.map +1 -1
  86. package/lib/cjs/components/popup/popup.js +2 -3
  87. package/lib/cjs/components/popup/popup.js.map +1 -1
  88. package/lib/cjs/components/progress/circle.js.map +1 -1
  89. package/lib/cjs/components/progress/line.js.map +1 -1
  90. package/lib/cjs/components/progress/progress.js +1 -2
  91. package/lib/cjs/components/progress/progress.js.map +1 -1
  92. package/lib/cjs/components/radio/item.js.map +1 -1
  93. package/lib/cjs/components/radio/radio.js +2 -2
  94. package/lib/cjs/components/radio/radio.js.map +1 -1
  95. package/lib/cjs/components/resizable/resizable.js +1 -2
  96. package/lib/cjs/components/resizable/resizable.js.map +1 -1
  97. package/lib/cjs/components/river/river.js +2 -2
  98. package/lib/cjs/components/river/river.js.map +1 -1
  99. package/lib/cjs/components/select/options.js.map +1 -1
  100. package/lib/cjs/components/select/select.js +2 -2
  101. package/lib/cjs/components/select/select.js.map +1 -1
  102. package/lib/cjs/components/step/divider.js.map +1 -1
  103. package/lib/cjs/components/step/item.js.map +1 -1
  104. package/lib/cjs/components/step/step.js.map +1 -1
  105. package/lib/cjs/components/swiper/item.js.map +1 -1
  106. package/lib/cjs/components/swiper/swiper.js +1 -2
  107. package/lib/cjs/components/swiper/swiper.js.map +1 -1
  108. package/lib/cjs/components/tabs/item.js.map +1 -1
  109. package/lib/cjs/components/tabs/tabs.js +2 -3
  110. package/lib/cjs/components/tabs/tabs.js.map +1 -1
  111. package/lib/cjs/components/tag/tag.js.map +1 -1
  112. package/lib/cjs/components/text/highlight.js.map +1 -1
  113. package/lib/cjs/components/text/number.js.map +1 -1
  114. package/lib/cjs/components/text/text.js.map +1 -1
  115. package/lib/cjs/components/text/time.js.map +1 -1
  116. package/lib/cjs/components/tree/item.js.map +1 -1
  117. package/lib/cjs/components/tree/tree.js +2 -2
  118. package/lib/cjs/components/tree/tree.js.map +1 -1
  119. package/lib/cjs/components/upload/renderFile.js.map +1 -1
  120. package/lib/cjs/components/upload/upload.js +2 -2
  121. package/lib/cjs/components/upload/upload.js.map +1 -1
  122. package/lib/cjs/components/utils/empty/index.js.map +1 -1
  123. package/lib/cjs/components/utils/helpericon/helpericon.js.map +1 -1
  124. package/lib/cjs/components/video/video.js +2 -2
  125. package/lib/cjs/components/video/video.js.map +1 -1
  126. package/lib/cjs/js/hooks.js +167 -1
  127. package/lib/cjs/js/hooks.js.map +1 -1
  128. package/lib/cjs/js/usePreview/content.js +1 -2
  129. package/lib/cjs/js/usePreview/content.js.map +1 -1
  130. package/lib/cjs/js/usePreview/index.js.map +1 -1
  131. package/lib/cjs/js/usePreview/renderFile.js.map +1 -1
  132. package/lib/cjs/js/usePreview/type.js.map +1 -1
  133. package/lib/cjs/js/useRipple/index.js +6 -6
  134. package/lib/cjs/js/useRipple/index.js.map +1 -1
  135. package/lib/cjs/js/useTheme/index.js +2 -2
  136. package/lib/cjs/js/useTheme/index.js.map +1 -1
  137. package/lib/cjs/js/utils.js +1 -1
  138. package/lib/cjs/js/utils.js.map +1 -1
  139. package/lib/css/index.css +1 -1
  140. package/lib/css/index.css.map +1 -1
  141. package/lib/es/components/affix/affix.js.map +1 -1
  142. package/lib/es/components/affix/totop.js.map +1 -1
  143. package/lib/es/components/badge/badge.js.map +1 -1
  144. package/lib/es/components/button/button.js.map +1 -1
  145. package/lib/es/components/button/confirm.js +1 -1
  146. package/lib/es/components/button/confirm.js.map +1 -1
  147. package/lib/es/components/button/group.js.map +1 -1
  148. package/lib/es/components/button/toggle.js +2 -2
  149. package/lib/es/components/button/toggle.js.map +1 -1
  150. package/lib/es/components/card/card.js.map +1 -1
  151. package/lib/es/components/checkbox/checkbox.js +1 -1
  152. package/lib/es/components/checkbox/checkbox.js.map +1 -1
  153. package/lib/es/components/checkbox/item.js +1 -1
  154. package/lib/es/components/checkbox/item.js.map +1 -1
  155. package/lib/es/components/collapse/collapse.js +1 -1
  156. package/lib/es/components/collapse/collapse.js.map +1 -1
  157. package/lib/es/components/collapse/item.js.map +1 -1
  158. package/lib/es/components/datagrid/cell.js +1 -1
  159. package/lib/es/components/datagrid/cell.js.map +1 -1
  160. package/lib/es/components/datagrid/datagrid.js +1 -1
  161. package/lib/es/components/datagrid/datagrid.js.map +1 -1
  162. package/lib/es/components/datagrid/resize.js +1 -2
  163. package/lib/es/components/datagrid/resize.js.map +1 -1
  164. package/lib/es/components/datagrid/row.js.map +1 -1
  165. package/lib/es/components/datagrid/sorter.js.map +1 -1
  166. package/lib/es/components/description/description.js.map +1 -1
  167. package/lib/es/components/drawer/drawer.js +1 -2
  168. package/lib/es/components/drawer/drawer.js.map +1 -1
  169. package/lib/es/components/dropdown/dropdown.js.map +1 -1
  170. package/lib/es/components/dropdown/item.js.map +1 -1
  171. package/lib/es/components/editor/controls.js +1 -1
  172. package/lib/es/components/editor/controls.js.map +1 -1
  173. package/lib/es/components/editor/editor.js.map +1 -1
  174. package/lib/es/components/flex/flex.js.map +1 -1
  175. package/lib/es/components/form/context.js.map +1 -1
  176. package/lib/es/components/form/field.js +1 -1
  177. package/lib/es/components/form/field.js.map +1 -1
  178. package/lib/es/components/form/form.js.map +1 -1
  179. package/lib/es/components/form/useConfig.js.map +1 -1
  180. package/lib/es/components/form/useForm.js.map +1 -1
  181. package/lib/es/components/icon/icon.js.map +1 -1
  182. package/lib/es/components/image/image.js +1 -2
  183. package/lib/es/components/image/image.js.map +1 -1
  184. package/lib/es/components/image/list.js.map +1 -1
  185. package/lib/es/components/input/container.js.map +1 -1
  186. package/lib/es/components/input/input.js +1 -1
  187. package/lib/es/components/input/input.js.map +1 -1
  188. package/lib/es/components/input/number.js +19 -11
  189. package/lib/es/components/input/number.js.map +1 -1
  190. package/lib/es/components/input/range.js +1 -1
  191. package/lib/es/components/input/range.js.map +1 -1
  192. package/lib/es/components/input/textarea.js +1 -1
  193. package/lib/es/components/input/textarea.js.map +1 -1
  194. package/lib/es/components/list/item.js.map +1 -1
  195. package/lib/es/components/list/list.js.map +1 -1
  196. package/lib/es/components/loading/loading.js.map +1 -1
  197. package/lib/es/components/message/message.js +1 -3
  198. package/lib/es/components/message/message.js.map +1 -1
  199. package/lib/es/components/modal/content.js.map +1 -1
  200. package/lib/es/components/modal/context.js.map +1 -1
  201. package/lib/es/components/modal/hookModal.js +1 -1
  202. package/lib/es/components/modal/hookModal.js.map +1 -1
  203. package/lib/es/components/modal/modal.js.map +1 -1
  204. package/lib/es/components/modal/useModal.js.map +1 -1
  205. package/lib/es/components/pagination/page.js.map +1 -1
  206. package/lib/es/components/pagination/pagination.js.map +1 -1
  207. package/lib/es/components/picker/colors/footer.js +1 -1
  208. package/lib/es/components/picker/colors/footer.js.map +1 -1
  209. package/lib/es/components/picker/colors/handle.js.map +1 -1
  210. package/lib/es/components/picker/colors/index.js +1 -1
  211. package/lib/es/components/picker/colors/index.js.map +1 -1
  212. package/lib/es/components/picker/dates/dates.js.map +1 -1
  213. package/lib/es/components/picker/dates/index.js +1 -1
  214. package/lib/es/components/picker/dates/index.js.map +1 -1
  215. package/lib/es/components/picker/dates/panel.js +1 -1
  216. package/lib/es/components/picker/dates/panel.js.map +1 -1
  217. package/lib/es/components/picker/time/index.js +1 -1
  218. package/lib/es/components/picker/time/index.js.map +1 -1
  219. package/lib/es/components/picker/time/item.js.map +1 -1
  220. package/lib/es/components/picker/time/panel.js +1 -1
  221. package/lib/es/components/picker/time/panel.js.map +1 -1
  222. package/lib/es/components/popconfirm/popconfirm.js +1 -1
  223. package/lib/es/components/popconfirm/popconfirm.js.map +1 -1
  224. package/lib/es/components/popup/content.js.map +1 -1
  225. package/lib/es/components/popup/popup.js +2 -3
  226. package/lib/es/components/popup/popup.js.map +1 -1
  227. package/lib/es/components/progress/circle.js.map +1 -1
  228. package/lib/es/components/progress/line.js.map +1 -1
  229. package/lib/es/components/progress/progress.js +1 -2
  230. package/lib/es/components/progress/progress.js.map +1 -1
  231. package/lib/es/components/radio/item.js.map +1 -1
  232. package/lib/es/components/radio/radio.js +1 -1
  233. package/lib/es/components/radio/radio.js.map +1 -1
  234. package/lib/es/components/resizable/resizable.js +1 -2
  235. package/lib/es/components/resizable/resizable.js.map +1 -1
  236. package/lib/es/components/river/river.js +1 -1
  237. package/lib/es/components/river/river.js.map +1 -1
  238. package/lib/es/components/select/options.js +1 -1
  239. package/lib/es/components/select/options.js.map +1 -1
  240. package/lib/es/components/select/select.js +2 -2
  241. package/lib/es/components/select/select.js.map +1 -1
  242. package/lib/es/components/step/divider.js.map +1 -1
  243. package/lib/es/components/step/item.js.map +1 -1
  244. package/lib/es/components/step/step.js.map +1 -1
  245. package/lib/es/components/swiper/item.js.map +1 -1
  246. package/lib/es/components/swiper/swiper.js +1 -2
  247. package/lib/es/components/swiper/swiper.js.map +1 -1
  248. package/lib/es/components/tabs/item.js.map +1 -1
  249. package/lib/es/components/tabs/tabs.js +2 -3
  250. package/lib/es/components/tabs/tabs.js.map +1 -1
  251. package/lib/es/components/tag/tag.js.map +1 -1
  252. package/lib/es/components/text/highlight.js.map +1 -1
  253. package/lib/es/components/text/number.js.map +1 -1
  254. package/lib/es/components/text/text.js.map +1 -1
  255. package/lib/es/components/text/time.js.map +1 -1
  256. package/lib/es/components/tree/item.js.map +1 -1
  257. package/lib/es/components/tree/tree.js +1 -1
  258. package/lib/es/components/tree/tree.js.map +1 -1
  259. package/lib/es/components/upload/renderFile.js.map +1 -1
  260. package/lib/es/components/upload/upload.js +1 -1
  261. package/lib/es/components/upload/upload.js.map +1 -1
  262. package/lib/es/components/utils/empty/index.js.map +1 -1
  263. package/lib/es/components/utils/helpericon/helpericon.js.map +1 -1
  264. package/lib/es/components/video/video.js +2 -2
  265. package/lib/es/components/video/video.js.map +1 -1
  266. package/lib/es/js/hooks.js +165 -3
  267. package/lib/es/js/hooks.js.map +1 -1
  268. package/lib/es/js/usePreview/content.js +1 -2
  269. package/lib/es/js/usePreview/content.js.map +1 -1
  270. package/lib/es/js/usePreview/index.js.map +1 -1
  271. package/lib/es/js/usePreview/renderFile.js.map +1 -1
  272. package/lib/es/js/usePreview/type.js.map +1 -1
  273. package/lib/es/js/useRipple/index.js +6 -6
  274. package/lib/es/js/useRipple/index.js.map +1 -1
  275. package/lib/es/js/useTheme/index.js +1 -1
  276. package/lib/es/js/useTheme/index.js.map +1 -1
  277. package/lib/es/js/utils.js +1 -1
  278. package/lib/es/js/utils.js.map +1 -1
  279. package/lib/index.js +322 -155
  280. package/lib/types/components/button/type.d.ts +1 -1
  281. package/lib/types/components/dropdown/dropdown.d.ts +2 -2
  282. package/lib/types/components/input/type.d.ts +2 -1
  283. package/lib/types/components/modal/type.d.ts +1 -1
  284. package/lib/types/components/radio/type.d.ts +1 -1
  285. package/lib/types/components/tabs/type.d.ts +1 -1
  286. package/lib/types/components/tree/type.d.ts +1 -1
  287. package/lib/types/js/usePreview/type.d.ts +1 -1
  288. package/lib/types/js/useTheme/index.d.ts +1 -2
  289. package/package.json +100 -102
@@ -1 +1 @@
1
- {"version":3,"file":"resize.js","sources":["../../../../packages/components/datagrid/resize.tsx"],"sourcesContent":["import { useReactive } from \"ahooks\";\r\nimport { useMouseMove, useMouseUp } from \"../../js/hooks\";\r\n\r\nexport default function Resize(props) {\r\n\tconst { index, onWidthChange } = props;\r\n\tconst state = useReactive({\r\n\t\tresizing: false,\r\n\t\tx: 0,\r\n\t\twidth: 0,\r\n\t});\r\n\r\n\tconst handleMouseDown = (e) => {\r\n\t\tconst tar = e.target as HTMLElement;\r\n\t\tconst width = (tar.offsetParent as HTMLElement).offsetWidth;\r\n\r\n\t\tObject.assign(state, {\r\n\t\t\tx: e.pageX,\r\n\t\t\tresizing: true,\r\n\t\t\twidth,\r\n\t\t});\r\n\t};\r\n\r\n\tconst handleMouseMove = (e) => {\r\n\t\tif (!state.resizing) return;\r\n\r\n\t\te.preventDefault();\r\n\r\n\t\tconst after = state.width + e.pageX - state.x;\r\n\t\tif (after <= 24) return;\r\n\r\n\t\tonWidthChange(index, after);\r\n\t};\r\n\r\n\tconst handleMouseUp = () => {\r\n\t\tif (!state.resizing) return;\r\n\r\n\t\tstate.resizing = false;\r\n\t};\r\n\r\n\tuseMouseMove(handleMouseMove);\r\n\tuseMouseUp(handleMouseUp);\r\n\r\n\treturn (\r\n\t\t<i\r\n\t\t\tclassName='i-datagrid-resizor'\r\n\t\t\tonMouseDown={handleMouseDown}\r\n\t\t\tonClick={(e) => e.stopPropagation()}\r\n\t\t/>\r\n\t);\r\n}\r\n"],"names":["useReactive","useMouseMove","useMouseUp","_jsx"],"mappings":";;;;;;;;AAGwB,SAAA,MAAM,CAAC,KAAK,EAAA;AACnC,IAAA,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,KAAK;IACtC,MAAM,KAAK,GAAGA,kBAAW,CAAC;AACzB,QAAA,QAAQ,EAAE,KAAK;AACf,QAAA,CAAC,EAAE,CAAC;AACJ,QAAA,KAAK,EAAE,CAAC;AACR,KAAA,CAAC;AAEF,IAAA,MAAM,eAAe,GAAG,CAAC,CAAC,KAAI;AAC7B,QAAA,MAAM,GAAG,GAAG,CAAC,CAAC,MAAqB;AACnC,QAAA,MAAM,KAAK,GAAI,GAAG,CAAC,YAA4B,CAAC,WAAW;AAE3D,QAAA,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE;YACpB,CAAC,EAAE,CAAC,CAAC,KAAK;AACV,YAAA,QAAQ,EAAE,IAAI;YACd,KAAK;AACL,SAAA,CAAC;AACH,KAAC;AAED,IAAA,MAAM,eAAe,GAAG,CAAC,CAAC,KAAI;QAC7B,IAAI,CAAC,KAAK,CAAC,QAAQ;YAAE;QAErB,CAAC,CAAC,cAAc,EAAE;AAElB,QAAA,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC;QAC7C,IAAI,KAAK,IAAI,EAAE;YAAE;AAEjB,QAAA,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC;AAC5B,KAAC;IAED,MAAM,aAAa,GAAG,MAAK;QAC1B,IAAI,CAAC,KAAK,CAAC,QAAQ;YAAE;AAErB,QAAA,KAAK,CAAC,QAAQ,GAAG,KAAK;AACvB,KAAC;IAEDC,kBAAY,CAAC,eAAe,CAAC;IAC7BC,gBAAU,CAAC,aAAa,CAAC;IAEzB,QACCC,sBACC,SAAS,EAAC,oBAAoB,EAC9B,WAAW,EAAE,eAAe,EAC5B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,eAAe,EAAE,EAClC,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"resize.js","sources":["../../../../packages/components/datagrid/resize.tsx"],"sourcesContent":["import { useMouseMove, useMouseUp, useReactive } from \"../../js/hooks\";\n\nexport default function Resize(props) {\n\tconst { index, onWidthChange } = props;\n\tconst state = useReactive({\n\t\tresizing: false,\n\t\tx: 0,\n\t\twidth: 0,\n\t});\n\n\tconst handleMouseDown = (e) => {\n\t\tconst tar = e.target as HTMLElement;\n\t\tconst width = (tar.offsetParent as HTMLElement).offsetWidth;\n\n\t\tObject.assign(state, {\n\t\t\tx: e.pageX,\n\t\t\tresizing: true,\n\t\t\twidth,\n\t\t});\n\t};\n\n\tconst handleMouseMove = (e) => {\n\t\tif (!state.resizing) return;\n\n\t\te.preventDefault();\n\n\t\tconst after = state.width + e.pageX - state.x;\n\t\tif (after <= 24) return;\n\n\t\tonWidthChange(index, after);\n\t};\n\n\tconst handleMouseUp = () => {\n\t\tif (!state.resizing) return;\n\n\t\tstate.resizing = false;\n\t};\n\n\tuseMouseMove(handleMouseMove);\n\tuseMouseUp(handleMouseUp);\n\n\treturn (\n\t\t<i\n\t\t\tclassName='i-datagrid-resizor'\n\t\t\tonMouseDown={handleMouseDown}\n\t\t\tonClick={(e) => e.stopPropagation()}\n\t\t/>\n\t);\n}\n"],"names":["useReactive","useMouseMove","useMouseUp","_jsx"],"mappings":";;;;;;;AAEc,SAAU,MAAM,CAAC,KAAK,EAAA;AACnC,IAAA,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,KAAK;IACtC,MAAM,KAAK,GAAGA,iBAAW,CAAC;AACzB,QAAA,QAAQ,EAAE,KAAK;AACf,QAAA,CAAC,EAAE,CAAC;AACJ,QAAA,KAAK,EAAE,CAAC;AACR,KAAA,CAAC;AAEF,IAAA,MAAM,eAAe,GAAG,CAAC,CAAC,KAAI;AAC7B,QAAA,MAAM,GAAG,GAAG,CAAC,CAAC,MAAqB;AACnC,QAAA,MAAM,KAAK,GAAI,GAAG,CAAC,YAA4B,CAAC,WAAW;AAE3D,QAAA,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE;YACpB,CAAC,EAAE,CAAC,CAAC,KAAK;AACV,YAAA,QAAQ,EAAE,IAAI;YACd,KAAK;AACL,SAAA,CAAC;AACH,IAAA,CAAC;AAED,IAAA,MAAM,eAAe,GAAG,CAAC,CAAC,KAAI;QAC7B,IAAI,CAAC,KAAK,CAAC,QAAQ;YAAE;QAErB,CAAC,CAAC,cAAc,EAAE;AAElB,QAAA,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC;QAC7C,IAAI,KAAK,IAAI,EAAE;YAAE;AAEjB,QAAA,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC;AAC5B,IAAA,CAAC;IAED,MAAM,aAAa,GAAG,MAAK;QAC1B,IAAI,CAAC,KAAK,CAAC,QAAQ;YAAE;AAErB,QAAA,KAAK,CAAC,QAAQ,GAAG,KAAK;AACvB,IAAA,CAAC;IAEDC,kBAAY,CAAC,eAAe,CAAC;IAC7BC,gBAAU,CAAC,aAAa,CAAC;IAEzB,QACCC,sBACC,SAAS,EAAC,oBAAoB,EAC9B,WAAW,EAAE,eAAe,EAC5B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,eAAe,EAAE,EAAA,CAClC;AAEJ;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"row.js","sources":["../../../../packages/components/datagrid/row.tsx"],"sourcesContent":["import classNames from \"classnames\";\r\nimport { Cell, getCellStyle } from \"./cell\";\r\nimport Resize from \"./resize\";\r\nimport Sorter from \"./sorter\";\r\nimport { IHeader, IRow } from \"./type\";\r\n\r\nexport default function Row(props: IRow) {\r\n\tconst {\r\n\t\trow,\r\n\t\tdata,\r\n\t\tcolumns,\r\n\t\tcellEllipsis,\r\n\t\tonRowClick,\r\n\t\tonCellClick,\r\n\t\tonCellDoubleClick,\r\n\t} = props;\r\n\r\n\treturn (\r\n\t\t<div className='i-datagrid-row' onClick={() => onRowClick?.(data, row)}>\r\n\t\t\t{columns.map((col, i) => (\r\n\t\t\t\t<Cell\r\n\t\t\t\t\tkey={i}\r\n\t\t\t\t\tcolumn={col}\r\n\t\t\t\t\tcol={i}\r\n\t\t\t\t\trow={row}\r\n\t\t\t\t\tdata={data}\r\n\t\t\t\t\tcellEllipsis={cellEllipsis}\r\n\t\t\t\t\tonCellClick={onCellClick}\r\n\t\t\t\t\tonCellDoubleClick={onCellDoubleClick}\r\n\t\t\t\t/>\r\n\t\t\t))}\r\n\t\t</div>\r\n\t);\r\n}\r\n\r\nexport function Header(props: IHeader) {\r\n\tconst {\r\n\t\tcolumns,\r\n\t\tresizable,\r\n\t\tcellEllipsis,\r\n\t\tsortBy,\r\n\t\tsortType,\r\n\t\tonWidthChange,\r\n\t\tonHeaderClick,\r\n\t} = props;\r\n\r\n\treturn (\r\n\t\t<div className='i-datagrid-header i-datagrid-row'>\r\n\t\t\t{columns.map((column, col) => {\r\n\t\t\t\tconst {\r\n\t\t\t\t\tid,\r\n\t\t\t\t\ttitle,\r\n\t\t\t\t\tfixed,\r\n\t\t\t\t\tcolSpan,\r\n\t\t\t\t\tsorter,\r\n\t\t\t\t\tjustify,\r\n\t\t\t\t\trenderHeader,\r\n\t\t\t\t} = column;\r\n\t\t\t\tconst style = getCellStyle({\r\n\t\t\t\t\tjustify,\r\n\t\t\t\t\trow: 0,\r\n\t\t\t\t\tcol,\r\n\t\t\t\t\tcolSpan,\r\n\t\t\t\t});\r\n\r\n\t\t\t\tconst order = sortBy === id ? sortType : \"\";\r\n\r\n\t\t\t\treturn (\r\n\t\t\t\t\t<div\r\n\t\t\t\t\t\tkey={col}\r\n\t\t\t\t\t\tdata-col={id}\r\n\t\t\t\t\t\tclassName={classNames(\"i-datagrid-cell\", {\r\n\t\t\t\t\t\t\t\"i-datagrid-has-sorter\": sorter,\r\n\t\t\t\t\t\t\t\"i-datagrid-cell-fixed\": fixed,\r\n\t\t\t\t\t\t})}\r\n\t\t\t\t\t\tstyle={{ ...style, insetBlockStart: 0 }}\r\n\t\t\t\t\t\tonClick={(e) => onHeaderClick?.(column, e)}\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t{renderHeader?.(column, col) ?? (\r\n\t\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\t\tclassName={classNames(\r\n\t\t\t\t\t\t\t\t\t\"i-datagrid-cell-content\",\r\n\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\"i-datagrid-cell-content-ellipsis\":\r\n\t\t\t\t\t\t\t\t\t\t\tcellEllipsis,\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t{title || id}\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t{sorter && <Sorter type={order} />}\r\n\r\n\t\t\t\t\t\t{resizable && (\r\n\t\t\t\t\t\t\t<Resize index={col} onWidthChange={onWidthChange} />\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t);\r\n\t\t\t})}\r\n\t\t</div>\r\n\t);\r\n}\r\n"],"names":["_jsx","Cell","sorter","getCellStyle","_jsxs","classNames","Sorter","Resize"],"mappings":";;;;;;;;;;;;;;AAMwB,SAAA,GAAG,CAAC,KAAW,EAAA;AACtC,IAAA,MAAM,EACL,GAAG,EACH,IAAI,EACJ,OAAO,EACP,YAAY,EACZ,UAAU,EACV,WAAW,EACX,iBAAiB,GACjB,GAAG,KAAK;AAET,IAAA,QACCA,cAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,gBAAgB,EAAC,OAAO,EAAE,MAAM,UAAU,GAAG,IAAI,EAAE,GAAG,CAAC,EACpE,QAAA,EAAA,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,MACnBA,eAACC,SAAI,EAAA,EAEJ,MAAM,EAAE,GAAG,EACX,GAAG,EAAE,CAAC,EACN,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,IAAI,EACV,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,WAAW,EACxB,iBAAiB,EAAE,iBAAiB,EAP/B,EAAA,CAAC,CAQL,CACF,CAAC,EAAA,CACG;AAER;AAEM,SAAU,MAAM,CAAC,KAAc,EAAA;AACpC,IAAA,MAAM,EACL,OAAO,EACP,SAAS,EACT,YAAY,EACZ,MAAM,EACN,QAAQ,EACR,aAAa,EACb,aAAa,GACb,GAAG,KAAK;AAET,IAAA,QACCD,cAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,kCAAkC,EAC/C,QAAA,EAAA,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,KAAI;AAC5B,YAAA,MAAM,EACL,EAAE,EACF,KAAK,EACL,KAAK,EACL,OAAO,UACPE,QAAM,EACN,OAAO,EACP,YAAY,GACZ,GAAG,MAAM;YACV,MAAM,KAAK,GAAGC,iBAAY,CAAC;gBAC1B,OAAO;AACP,gBAAA,GAAG,EAAE,CAAC;gBACN,GAAG;gBACH,OAAO;AACP,aAAA,CAAC;AAEF,YAAA,MAAM,KAAK,GAAG,MAAM,KAAK,EAAE,GAAG,QAAQ,GAAG,EAAE;YAE3C,QACCC,qCAEW,EAAE,EACZ,SAAS,EAAEC,mBAAU,CAAC,iBAAiB,EAAE;AACxC,oBAAA,uBAAuB,EAAEH,QAAM;AAC/B,oBAAA,uBAAuB,EAAE,KAAK;AAC9B,iBAAA,CAAC,EACF,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,eAAe,EAAE,CAAC,EAAE,EACvC,OAAO,EAAE,CAAC,CAAC,KAAK,aAAa,GAAG,MAAM,EAAE,CAAC,CAAC,aAEzC,YAAY,GAAG,MAAM,EAAE,GAAG,CAAC,KAC3BF,cACC,CAAA,KAAA,EAAA,EAAA,SAAS,EAAEK,mBAAU,CACpB,yBAAyB,EACzB;AACC,4BAAA,kCAAkC,EACjC,YAAY;AACb,yBAAA,CACD,YAEA,KAAK,IAAI,EAAE,EAAA,CACP,CACN,EAEAH,QAAM,IAAIF,cAAA,CAACM,cAAM,EAAC,EAAA,IAAI,EAAE,KAAK,GAAI,EAEjC,SAAS,KACTN,eAACO,cAAM,EAAA,EAAC,KAAK,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,GAAI,CACpD,CAAA,EAAA,EA3BI,GAAG,CA4BH;SAEP,CAAC,EACG,CAAA;AAER;;;;;"}
1
+ {"version":3,"file":"row.js","sources":["../../../../packages/components/datagrid/row.tsx"],"sourcesContent":["import classNames from \"classnames\";\nimport { Cell, getCellStyle } from \"./cell\";\nimport Resize from \"./resize\";\nimport Sorter from \"./sorter\";\nimport { IHeader, IRow } from \"./type\";\n\nexport default function Row(props: IRow) {\n\tconst {\n\t\trow,\n\t\tdata,\n\t\tcolumns,\n\t\tcellEllipsis,\n\t\tonRowClick,\n\t\tonCellClick,\n\t\tonCellDoubleClick,\n\t} = props;\n\n\treturn (\n\t\t<div className='i-datagrid-row' onClick={() => onRowClick?.(data, row)}>\n\t\t\t{columns.map((col, i) => (\n\t\t\t\t<Cell\n\t\t\t\t\tkey={i}\n\t\t\t\t\tcolumn={col}\n\t\t\t\t\tcol={i}\n\t\t\t\t\trow={row}\n\t\t\t\t\tdata={data}\n\t\t\t\t\tcellEllipsis={cellEllipsis}\n\t\t\t\t\tonCellClick={onCellClick}\n\t\t\t\t\tonCellDoubleClick={onCellDoubleClick}\n\t\t\t\t/>\n\t\t\t))}\n\t\t</div>\n\t);\n}\n\nexport function Header(props: IHeader) {\n\tconst {\n\t\tcolumns,\n\t\tresizable,\n\t\tcellEllipsis,\n\t\tsortBy,\n\t\tsortType,\n\t\tonWidthChange,\n\t\tonHeaderClick,\n\t} = props;\n\n\treturn (\n\t\t<div className='i-datagrid-header i-datagrid-row'>\n\t\t\t{columns.map((column, col) => {\n\t\t\t\tconst {\n\t\t\t\t\tid,\n\t\t\t\t\ttitle,\n\t\t\t\t\tfixed,\n\t\t\t\t\tcolSpan,\n\t\t\t\t\tsorter,\n\t\t\t\t\tjustify,\n\t\t\t\t\trenderHeader,\n\t\t\t\t} = column;\n\t\t\t\tconst style = getCellStyle({\n\t\t\t\t\tjustify,\n\t\t\t\t\trow: 0,\n\t\t\t\t\tcol,\n\t\t\t\t\tcolSpan,\n\t\t\t\t});\n\n\t\t\t\tconst order = sortBy === id ? sortType : \"\";\n\n\t\t\t\treturn (\n\t\t\t\t\t<div\n\t\t\t\t\t\tkey={col}\n\t\t\t\t\t\tdata-col={id}\n\t\t\t\t\t\tclassName={classNames(\"i-datagrid-cell\", {\n\t\t\t\t\t\t\t\"i-datagrid-has-sorter\": sorter,\n\t\t\t\t\t\t\t\"i-datagrid-cell-fixed\": fixed,\n\t\t\t\t\t\t})}\n\t\t\t\t\t\tstyle={{ ...style, insetBlockStart: 0 }}\n\t\t\t\t\t\tonClick={(e) => onHeaderClick?.(column, e)}\n\t\t\t\t\t>\n\t\t\t\t\t\t{renderHeader?.(column, col) ?? (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t\t\t\t\"i-datagrid-cell-content\",\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\"i-datagrid-cell-content-ellipsis\":\n\t\t\t\t\t\t\t\t\t\t\tcellEllipsis,\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{title || id}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t{sorter && <Sorter type={order} />}\n\n\t\t\t\t\t\t{resizable && (\n\t\t\t\t\t\t\t<Resize index={col} onWidthChange={onWidthChange} />\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t})}\n\t\t</div>\n\t);\n}\n"],"names":["_jsx","Cell","sorter","getCellStyle","_jsxs","classNames","Sorter","Resize"],"mappings":";;;;;;;;;;;;;;AAMc,SAAU,GAAG,CAAC,KAAW,EAAA;AACtC,IAAA,MAAM,EACL,GAAG,EACH,IAAI,EACJ,OAAO,EACP,YAAY,EACZ,UAAU,EACV,WAAW,EACX,iBAAiB,GACjB,GAAG,KAAK;AAET,IAAA,QACCA,cAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,gBAAgB,EAAC,OAAO,EAAE,MAAM,UAAU,GAAG,IAAI,EAAE,GAAG,CAAC,EAAA,QAAA,EACpE,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,MACnBA,eAACC,SAAI,EAAA,EAEJ,MAAM,EAAE,GAAG,EACX,GAAG,EAAE,CAAC,EACN,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,IAAI,EACV,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,WAAW,EACxB,iBAAiB,EAAE,iBAAiB,EAAA,EAP/B,CAAC,CAQL,CACF,CAAC,EAAA,CACG;AAER;AAEM,SAAU,MAAM,CAAC,KAAc,EAAA;AACpC,IAAA,MAAM,EACL,OAAO,EACP,SAAS,EACT,YAAY,EACZ,MAAM,EACN,QAAQ,EACR,aAAa,EACb,aAAa,GACb,GAAG,KAAK;AAET,IAAA,QACCD,cAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,kCAAkC,EAAA,QAAA,EAC/C,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,KAAI;AAC5B,YAAA,MAAM,EACL,EAAE,EACF,KAAK,EACL,KAAK,EACL,OAAO,UACPE,QAAM,EACN,OAAO,EACP,YAAY,GACZ,GAAG,MAAM;YACV,MAAM,KAAK,GAAGC,iBAAY,CAAC;gBAC1B,OAAO;AACP,gBAAA,GAAG,EAAE,CAAC;gBACN,GAAG;gBACH,OAAO;AACP,aAAA,CAAC;AAEF,YAAA,MAAM,KAAK,GAAG,MAAM,KAAK,EAAE,GAAG,QAAQ,GAAG,EAAE;YAE3C,QACCC,qCAEW,EAAE,EACZ,SAAS,EAAEC,mBAAU,CAAC,iBAAiB,EAAE;AACxC,oBAAA,uBAAuB,EAAEH,QAAM;AAC/B,oBAAA,uBAAuB,EAAE,KAAK;AAC9B,iBAAA,CAAC,EACF,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,eAAe,EAAE,CAAC,EAAE,EACvC,OAAO,EAAE,CAAC,CAAC,KAAK,aAAa,GAAG,MAAM,EAAE,CAAC,CAAC,aAEzC,YAAY,GAAG,MAAM,EAAE,GAAG,CAAC,KAC3BF,cAAA,CAAA,KAAA,EAAA,EACC,SAAS,EAAEK,mBAAU,CACpB,yBAAyB,EACzB;AACC,4BAAA,kCAAkC,EACjC,YAAY;AACb,yBAAA,CACD,YAEA,KAAK,IAAI,EAAE,EAAA,CACP,CACN,EAEAH,QAAM,IAAIF,cAAA,CAACM,cAAM,EAAA,EAAC,IAAI,EAAE,KAAK,GAAI,EAEjC,SAAS,KACTN,eAACO,cAAM,EAAA,EAAC,KAAK,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,GAAI,CACpD,CAAA,EAAA,EA3BI,GAAG,CA4BH;QAER,CAAC,CAAC,EAAA,CACG;AAER;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"sorter.js","sources":["../../../../packages/components/datagrid/sorter.tsx"],"sourcesContent":["import classNames from \"classnames\";\r\n\r\nconst Arrow = (props) => (\r\n\t<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' {...props}>\r\n\t\t<g fill='none'>\r\n\t\t\t<path\r\n\t\t\t\td='M9 17.898c0 1.074 1.265 1.648 2.073.941l6.31-5.522a1.75 1.75 0 0 0 0-2.634l-6.31-5.522C10.265 4.454 9 5.028 9 6.102v11.796z'\r\n\t\t\t\tfill='currentColor'\r\n\t\t\t></path>\r\n\t\t</g>\r\n\t</svg>\r\n);\r\n\r\nexport default function Sorter(props) {\r\n\tconst { type } = props;\r\n\r\n\treturn (\r\n\t\t<a\r\n\t\t\tclassName={classNames(\"i-datagrid-sorter\", {\r\n\t\t\t\t[`i-datagrid-sorter-${type}`]: type,\r\n\t\t\t})}\r\n\t\t>\r\n\t\t\t<Arrow className='i-datagrid-sorter-caret' />\r\n\t\t\t<Arrow className='i-datagrid-sorter-caret' />\r\n\t\t</a>\r\n\t);\r\n}\r\n"],"names":["_jsx","_jsxs","classNames"],"mappings":";;;;;;;;;;;AAEA,MAAM,KAAK,GAAG,CAAC,KAAK,MACnBA,cAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,4BAA4B,EAAC,OAAO,EAAC,WAAW,EAAK,GAAA,KAAK,EACpE,QAAA,EAAAA,cAAA,CAAA,GAAA,EAAA,EAAG,IAAI,EAAC,MAAM,EACb,QAAA,EAAAA,cAAA,CAAA,MAAA,EAAA,EACC,CAAC,EAAC,6HAA6H,EAC/H,IAAI,EAAC,cAAc,EAAA,CACZ,EACL,CAAA,EAAA,CACC,CACN;AAEuB,SAAA,MAAM,CAAC,KAAK,EAAA;AACnC,IAAA,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK;AAEtB,IAAA,QACCC,eACC,CAAA,GAAA,EAAA,EAAA,SAAS,EAAEC,mBAAU,CAAC,mBAAmB,EAAE;AAC1C,YAAA,CAAC,CAAqB,kBAAA,EAAA,IAAI,CAAE,CAAA,GAAG,IAAI;AACnC,SAAA,CAAC,aAEFF,cAAC,CAAA,KAAK,IAAC,SAAS,EAAC,yBAAyB,EAAG,CAAA,EAC7CA,cAAC,CAAA,KAAK,IAAC,SAAS,EAAC,yBAAyB,EAAG,CAAA,CAAA,EAAA,CAC1C;AAEN;;;;"}
1
+ {"version":3,"file":"sorter.js","sources":["../../../../packages/components/datagrid/sorter.tsx"],"sourcesContent":["import classNames from \"classnames\";\n\nconst Arrow = (props) => (\n\t<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' {...props}>\n\t\t<g fill='none'>\n\t\t\t<path\n\t\t\t\td='M9 17.898c0 1.074 1.265 1.648 2.073.941l6.31-5.522a1.75 1.75 0 0 0 0-2.634l-6.31-5.522C10.265 4.454 9 5.028 9 6.102v11.796z'\n\t\t\t\tfill='currentColor'\n\t\t\t></path>\n\t\t</g>\n\t</svg>\n);\n\nexport default function Sorter(props) {\n\tconst { type } = props;\n\n\treturn (\n\t\t<a\n\t\t\tclassName={classNames(\"i-datagrid-sorter\", {\n\t\t\t\t[`i-datagrid-sorter-${type}`]: type,\n\t\t\t})}\n\t\t>\n\t\t\t<Arrow className='i-datagrid-sorter-caret' />\n\t\t\t<Arrow className='i-datagrid-sorter-caret' />\n\t\t</a>\n\t);\n}\n"],"names":["_jsx","_jsxs","classNames"],"mappings":";;;;;;;;;;;AAEA,MAAM,KAAK,GAAG,CAAC,KAAK,MACnBA,cAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,4BAA4B,EAAC,OAAO,EAAC,WAAW,EAAA,GAAK,KAAK,EAAA,QAAA,EACpEA,cAAA,CAAA,GAAA,EAAA,EAAG,IAAI,EAAC,MAAM,EAAA,QAAA,EACbA,cAAA,CAAA,MAAA,EAAA,EACC,CAAC,EAAC,6HAA6H,EAC/H,IAAI,EAAC,cAAc,EAAA,CACZ,EAAA,CACL,EAAA,CACC,CACN;AAEa,SAAU,MAAM,CAAC,KAAK,EAAA;AACnC,IAAA,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK;AAEtB,IAAA,QACCC,eAAA,CAAA,GAAA,EAAA,EACC,SAAS,EAAEC,mBAAU,CAAC,mBAAmB,EAAE;AAC1C,YAAA,CAAC,CAAA,kBAAA,EAAqB,IAAI,CAAA,CAAE,GAAG,IAAI;AACnC,SAAA,CAAC,aAEFF,cAAA,CAAC,KAAK,IAAC,SAAS,EAAC,yBAAyB,EAAA,CAAG,EAC7CA,cAAA,CAAC,KAAK,IAAC,SAAS,EAAC,yBAAyB,EAAA,CAAG,CAAA,EAAA,CAC1C;AAEN;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"description.js","sources":["../../../../packages/components/description/description.tsx"],"sourcesContent":["import classNames from \"classnames\";\r\nimport { CSSProperties, Fragment } from \"react\";\r\nimport \"./index.css\";\r\nimport { IDescription } from \"./type\";\r\n\r\nconst Description = (props: IDescription) => {\r\n\tconst {\r\n\t\tdata,\r\n\t\tcolon,\r\n\t\tcolumns = 1,\r\n\t\tgap = \".5em\",\r\n\t\talign,\r\n\t\tlabelWidth,\r\n\t\tlabelAlign,\r\n\t\tvertical,\r\n\t\tequally,\r\n\t\tstyle,\r\n\t\tclassName,\r\n\t} = props;\r\n\r\n\treturn (\r\n\t\t<div\r\n\t\t\tclassName={classNames(\"i-description\", className)}\r\n\t\t\tstyle={\r\n\t\t\t\t{\r\n\t\t\t\t\t[\"--description-label-width\"]: labelWidth,\r\n\t\t\t\t\tgridTemplateColumns: `repeat(${columns}, ${\r\n\t\t\t\t\t\tequally ? \"1fr\" : \"auto\"\r\n\t\t\t\t\t})`,\r\n\t\t\t\t\tgap,\r\n\t\t\t\t\ttextAlign: align,\r\n\t\t\t\t\t...style,\r\n\t\t\t\t} as CSSProperties\r\n\t\t\t}\r\n\t\t>\r\n\t\t\t{data.map((item, i) => {\r\n\t\t\t\tconst {\r\n\t\t\t\t\tlabel,\r\n\t\t\t\t\tvalue,\r\n\t\t\t\t\tstyle,\r\n\t\t\t\t\thidden,\r\n\t\t\t\t\trowSpan = 1,\r\n\t\t\t\t\tcolSpan = 1,\r\n\t\t\t\t} = item;\r\n\r\n\t\t\t\tif (hidden) return <Fragment key={i} />;\r\n\r\n\t\t\t\treturn (\r\n\t\t\t\t\t<div\r\n\t\t\t\t\t\tkey={i}\r\n\t\t\t\t\t\tclassName={classNames(\"i-description-item\", {\r\n\t\t\t\t\t\t\t\"i-description-item-vertical\": vertical,\r\n\t\t\t\t\t\t})}\r\n\t\t\t\t\t\tstyle={{\r\n\t\t\t\t\t\t\tgridColumn: `span ${colSpan}`,\r\n\t\t\t\t\t\t\tgridRow: `span ${rowSpan}`,\r\n\t\t\t\t\t\t\t...style,\r\n\t\t\t\t\t\t}}\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t{label && (\r\n\t\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\t\tclassName='i-description-label'\r\n\t\t\t\t\t\t\t\tstyle={{ textAlign: labelAlign }}\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t{label}\r\n\t\t\t\t\t\t\t\t{colon}\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t<div className='i-description-value'>{value}</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t);\r\n\t\t\t})}\r\n\t\t</div>\r\n\t);\r\n};\r\n\r\nexport default Description;\r\n"],"names":["_jsx","classNames","Fragment","_jsxs"],"mappings":";;;;;;;;;;;;AAKA,MAAM,WAAW,GAAG,CAAC,KAAmB,KAAI;AAC3C,IAAA,MAAM,EACL,IAAI,EACJ,KAAK,EACL,OAAO,GAAG,CAAC,EACX,GAAG,GAAG,MAAM,EACZ,KAAK,EACL,UAAU,EACV,UAAU,EACV,QAAQ,EACR,OAAO,EACP,KAAK,EACL,SAAS,GACT,GAAG,KAAK;AAET,IAAA,QACCA,cAAA,CAAA,KAAA,EAAA,EACC,SAAS,EAAEC,mBAAU,CAAC,eAAe,EAAE,SAAS,CAAC,EACjD,KAAK,EACJ;YACC,CAAC,2BAA2B,GAAG,UAAU;AACzC,YAAA,mBAAmB,EAAE,CAAA,OAAA,EAAU,OAAO,CAAA,EAAA,EACrC,OAAO,GAAG,KAAK,GAAG,MACnB,CAAG,CAAA,CAAA;YACH,GAAG;AACH,YAAA,SAAS,EAAE,KAAK;AAChB,YAAA,GAAG,KAAK;SACS,EAGlB,QAAA,EAAA,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAI;AACrB,YAAA,MAAM,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,MAAM,EACN,OAAO,GAAG,CAAC,EACX,OAAO,GAAG,CAAC,GACX,GAAG,IAAI;AAER,YAAA,IAAI,MAAM;AAAE,gBAAA,OAAOD,cAAC,CAAAE,cAAQ,EAAM,EAAA,EAAA,CAAC,CAAI;AAEvC,YAAA,QACCC,eAEC,CAAA,KAAA,EAAA,EAAA,SAAS,EAAEF,mBAAU,CAAC,oBAAoB,EAAE;AAC3C,oBAAA,6BAA6B,EAAE,QAAQ;iBACvC,CAAC,EACF,KAAK,EAAE;oBACN,UAAU,EAAE,CAAQ,KAAA,EAAA,OAAO,CAAE,CAAA;oBAC7B,OAAO,EAAE,CAAQ,KAAA,EAAA,OAAO,CAAE,CAAA;AAC1B,oBAAA,GAAG,KAAK;AACR,iBAAA,EAAA,QAAA,EAAA,CAEA,KAAK,KACLE,eAAA,CAAA,KAAA,EAAA,EACC,SAAS,EAAC,qBAAqB,EAC/B,KAAK,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,EAAA,QAAA,EAAA,CAE/B,KAAK,EACL,KAAK,CAAA,EAAA,CACD,CACN,EACDH,wBAAK,SAAS,EAAC,qBAAqB,EAAA,QAAA,EAAE,KAAK,EAAO,CAAA,CAAA,EAAA,EAnB7C,CAAC,CAoBD;SAEP,CAAC,EACG,CAAA;AAER;;;;"}
1
+ {"version":3,"file":"description.js","sources":["../../../../packages/components/description/description.tsx"],"sourcesContent":["import classNames from \"classnames\";\nimport { CSSProperties, Fragment } from \"react\";\nimport \"./index.css\";\nimport { IDescription } from \"./type\";\n\nconst Description = (props: IDescription) => {\n\tconst {\n\t\tdata,\n\t\tcolon,\n\t\tcolumns = 1,\n\t\tgap = \".5em\",\n\t\talign,\n\t\tlabelWidth,\n\t\tlabelAlign,\n\t\tvertical,\n\t\tequally,\n\t\tstyle,\n\t\tclassName,\n\t} = props;\n\n\treturn (\n\t\t<div\n\t\t\tclassName={classNames(\"i-description\", className)}\n\t\t\tstyle={\n\t\t\t\t{\n\t\t\t\t\t[\"--description-label-width\"]: labelWidth,\n\t\t\t\t\tgridTemplateColumns: `repeat(${columns}, ${\n\t\t\t\t\t\tequally ? \"1fr\" : \"auto\"\n\t\t\t\t\t})`,\n\t\t\t\t\tgap,\n\t\t\t\t\ttextAlign: align,\n\t\t\t\t\t...style,\n\t\t\t\t} as CSSProperties\n\t\t\t}\n\t\t>\n\t\t\t{data.map((item, i) => {\n\t\t\t\tconst {\n\t\t\t\t\tlabel,\n\t\t\t\t\tvalue,\n\t\t\t\t\tstyle,\n\t\t\t\t\thidden,\n\t\t\t\t\trowSpan = 1,\n\t\t\t\t\tcolSpan = 1,\n\t\t\t\t} = item;\n\n\t\t\t\tif (hidden) return <Fragment key={i} />;\n\n\t\t\t\treturn (\n\t\t\t\t\t<div\n\t\t\t\t\t\tkey={i}\n\t\t\t\t\t\tclassName={classNames(\"i-description-item\", {\n\t\t\t\t\t\t\t\"i-description-item-vertical\": vertical,\n\t\t\t\t\t\t})}\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\tgridColumn: `span ${colSpan}`,\n\t\t\t\t\t\t\tgridRow: `span ${rowSpan}`,\n\t\t\t\t\t\t\t...style,\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{label && (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName='i-description-label'\n\t\t\t\t\t\t\t\tstyle={{ textAlign: labelAlign }}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{label}\n\t\t\t\t\t\t\t\t{colon}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t<div className='i-description-value'>{value}</div>\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t})}\n\t\t</div>\n\t);\n};\n\nexport default Description;\n"],"names":["_jsx","classNames","Fragment","_jsxs"],"mappings":";;;;;;;;;;;;AAKA,MAAM,WAAW,GAAG,CAAC,KAAmB,KAAI;AAC3C,IAAA,MAAM,EACL,IAAI,EACJ,KAAK,EACL,OAAO,GAAG,CAAC,EACX,GAAG,GAAG,MAAM,EACZ,KAAK,EACL,UAAU,EACV,UAAU,EACV,QAAQ,EACR,OAAO,EACP,KAAK,EACL,SAAS,GACT,GAAG,KAAK;AAET,IAAA,QACCA,cAAA,CAAA,KAAA,EAAA,EACC,SAAS,EAAEC,mBAAU,CAAC,eAAe,EAAE,SAAS,CAAC,EACjD,KAAK,EACJ;YACC,CAAC,2BAA2B,GAAG,UAAU;AACzC,YAAA,mBAAmB,EAAE,CAAA,OAAA,EAAU,OAAO,CAAA,EAAA,EACrC,OAAO,GAAG,KAAK,GAAG,MACnB,CAAA,CAAA,CAAG;YACH,GAAG;AACH,YAAA,SAAS,EAAE,KAAK;AAChB,YAAA,GAAG,KAAK;SACS,EAAA,QAAA,EAGlB,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAI;AACrB,YAAA,MAAM,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,MAAM,EACN,OAAO,GAAG,CAAC,EACX,OAAO,GAAG,CAAC,GACX,GAAG,IAAI;AAER,YAAA,IAAI,MAAM;AAAE,gBAAA,OAAOD,cAAA,CAACE,cAAQ,EAAA,EAAA,EAAM,CAAC,CAAI;AAEvC,YAAA,QACCC,eAAA,CAAA,KAAA,EAAA,EAEC,SAAS,EAAEF,mBAAU,CAAC,oBAAoB,EAAE;AAC3C,oBAAA,6BAA6B,EAAE,QAAQ;iBACvC,CAAC,EACF,KAAK,EAAE;oBACN,UAAU,EAAE,CAAA,KAAA,EAAQ,OAAO,CAAA,CAAE;oBAC7B,OAAO,EAAE,CAAA,KAAA,EAAQ,OAAO,CAAA,CAAE;AAC1B,oBAAA,GAAG,KAAK;AACR,iBAAA,EAAA,QAAA,EAAA,CAEA,KAAK,KACLE,eAAA,CAAA,KAAA,EAAA,EACC,SAAS,EAAC,qBAAqB,EAC/B,KAAK,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,EAAA,QAAA,EAAA,CAE/B,KAAK,EACL,KAAK,CAAA,EAAA,CACD,CACN,EACDH,wBAAK,SAAS,EAAC,qBAAqB,EAAA,QAAA,EAAE,KAAK,EAAA,CAAO,CAAA,EAAA,EAnB7C,CAAC,CAoBD;QAER,CAAC,CAAC,EAAA,CACG;AAER;;;;"}
@@ -3,7 +3,6 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var jsxRuntime = require('react/jsx-runtime');
6
- var ahooks = require('ahooks');
7
6
  var classNames = require('classnames');
8
7
  var react = require('react');
9
8
  var reactDom = require('react-dom');
@@ -17,7 +16,7 @@ var classNames__default = /*#__PURE__*/_interopDefaultCompat(classNames);
17
16
  function Drawer(props) {
18
17
  const { visible, position = "left", header, footer, backdropClosable = true, hideCloseButton, keepDOM, className, disabledEsc, children, onVisibleChange, onClose, ...restProps } = props;
19
18
  const toggable = react.useRef(true);
20
- const state = ahooks.useReactive({
19
+ const state = hooks.useReactive({
21
20
  show: visible,
22
21
  active: visible,
23
22
  });
@@ -1 +1 @@
1
- {"version":3,"file":"drawer.js","sources":["../../../../packages/components/drawer/drawer.tsx"],"sourcesContent":["import { useReactive } from \"ahooks\";\r\nimport classNames from \"classnames\";\r\nimport { useEffect, useRef, useTransition } from \"react\";\r\nimport { createPortal } from \"react-dom\";\r\nimport { useKeydown } from \"../../js/hooks\";\r\nimport Helpericon from \"../utils/helpericon\";\r\nimport \"./index.css\";\r\nimport { IDrawer } from \"./type\";\r\n\r\nfunction Drawer(props: IDrawer) {\r\n\tconst {\r\n\t\tvisible,\r\n\t\tposition = \"left\",\r\n\t\theader,\r\n\t\tfooter,\r\n\t\tbackdropClosable = true,\r\n\t\thideCloseButton,\r\n\t\tkeepDOM,\r\n\t\tclassName,\r\n\t\tdisabledEsc,\r\n\t\tchildren,\r\n\t\tonVisibleChange,\r\n\t\tonClose,\r\n\t\t...restProps\r\n\t} = props;\r\n\r\n\tconst toggable = useRef(true);\r\n\tconst state = useReactive({\r\n\t\tshow: visible,\r\n\t\tactive: visible,\r\n\t});\r\n\tconst [isPending, startTransition] = useTransition();\r\n\r\n\tconst handleHide = () => {\r\n\t\tif (!toggable.current || isPending) return;\r\n\t\ttoggable.current = false;\r\n\r\n\t\tstartTransition(() => {\r\n\t\t\tstate.active = false;\r\n\r\n\t\t\tsetTimeout(() => {\r\n\t\t\t\tif (!keepDOM) {\r\n\t\t\t\t\tstate.show = false;\r\n\t\t\t\t}\r\n\t\t\t\tonVisibleChange?.(false);\r\n\t\t\t\ttoggable.current = true;\r\n\t\t\t\tonClose?.();\r\n\t\t\t}, 240);\r\n\t\t});\r\n\t};\r\n\r\n\tconst handleShow = () => {\r\n\t\tif (!toggable.current || isPending) return;\r\n\r\n\t\tstate.show = true;\r\n\t\tonVisibleChange?.(true);\r\n\t\ttoggable.current = false;\r\n\r\n\t\tstartTransition(() => {\r\n\t\t\trequestAnimationFrame(() => {\r\n\t\t\t\tstate.active = true;\r\n\t\t\t\ttoggable.current = true;\r\n\t\t\t});\r\n\t\t});\r\n\t};\r\n\r\n\tuseEffect(() => {\r\n\t\tvisible ? handleShow() : handleHide();\r\n\t}, [visible]);\r\n\r\n\tconst handleBackdropClick = () => {\r\n\t\tbackdropClosable && handleHide();\r\n\t};\r\n\r\n\tuseKeydown(\r\n\t\t(e) => {\r\n\t\t\tif (e.code !== \"Escape\" || !visible) return;\r\n\t\t\thandleHide();\r\n\t\t},\r\n\t\t{\r\n\t\t\tdisabled: disabledEsc,\r\n\t\t}\r\n\t);\r\n\r\n\tif (!state.show) return null;\r\n\r\n\treturn createPortal(\r\n\t\t<div\r\n\t\t\tclassName={classNames(\"i-backdrop-drawer\", className, {\r\n\t\t\t\t\"i-active\": state.active,\r\n\t\t\t})}\r\n\t\t\tonClick={handleBackdropClick}\r\n\t\t\t{...restProps}\r\n\t\t>\r\n\t\t\t<div\r\n\t\t\t\tclassName={classNames(\"i-drawer\", `i-drawer-${position}`)}\r\n\t\t\t\tonClick={(e) => e.stopPropagation()}\r\n\t\t\t>\r\n\t\t\t\t{header && (\r\n\t\t\t\t\t<header className='i-drawer-header'>\r\n\t\t\t\t\t\t{header}\r\n\r\n\t\t\t\t\t\t{!hideCloseButton && (\r\n\t\t\t\t\t\t\t<Helpericon\r\n\t\t\t\t\t\t\t\tclassName='i-drawer-close'\r\n\t\t\t\t\t\t\t\tonClick={handleHide}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t</header>\r\n\t\t\t\t)}\r\n\r\n\t\t\t\t<div className='i-drawer-content'>{children}</div>\r\n\r\n\t\t\t\t{footer && <div className='i-drawer-footer'>{footer}</div>}\r\n\t\t\t</div>\r\n\t\t</div>,\r\n\t\tdocument.body\r\n\t);\r\n}\r\n\r\nexport default Drawer;\r\n"],"names":["useRef","useReactive","useTransition","useEffect","useKeydown","createPortal","_jsx","classNames","_jsxs","Helpericon"],"mappings":"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"}
1
+ {"version":3,"file":"drawer.js","sources":["../../../../packages/components/drawer/drawer.tsx"],"sourcesContent":["import classNames from \"classnames\";\nimport { useEffect, useRef, useTransition } from \"react\";\nimport { createPortal } from \"react-dom\";\nimport { useKeydown, useReactive } from \"../../js/hooks\";\nimport Helpericon from \"../utils/helpericon\";\nimport \"./index.css\";\nimport { IDrawer } from \"./type\";\n\nfunction Drawer(props: IDrawer) {\n\tconst {\n\t\tvisible,\n\t\tposition = \"left\",\n\t\theader,\n\t\tfooter,\n\t\tbackdropClosable = true,\n\t\thideCloseButton,\n\t\tkeepDOM,\n\t\tclassName,\n\t\tdisabledEsc,\n\t\tchildren,\n\t\tonVisibleChange,\n\t\tonClose,\n\t\t...restProps\n\t} = props;\n\n\tconst toggable = useRef(true);\n\tconst state = useReactive({\n\t\tshow: visible,\n\t\tactive: visible,\n\t});\n\tconst [isPending, startTransition] = useTransition();\n\n\tconst handleHide = () => {\n\t\tif (!toggable.current || isPending) return;\n\t\ttoggable.current = false;\n\n\t\tstartTransition(() => {\n\t\t\tstate.active = false;\n\n\t\t\tsetTimeout(() => {\n\t\t\t\tif (!keepDOM) {\n\t\t\t\t\tstate.show = false;\n\t\t\t\t}\n\t\t\t\tonVisibleChange?.(false);\n\t\t\t\ttoggable.current = true;\n\t\t\t\tonClose?.();\n\t\t\t}, 240);\n\t\t});\n\t};\n\n\tconst handleShow = () => {\n\t\tif (!toggable.current || isPending) return;\n\n\t\tstate.show = true;\n\t\tonVisibleChange?.(true);\n\t\ttoggable.current = false;\n\n\t\tstartTransition(() => {\n\t\t\trequestAnimationFrame(() => {\n\t\t\t\tstate.active = true;\n\t\t\t\ttoggable.current = true;\n\t\t\t});\n\t\t});\n\t};\n\n\tuseEffect(() => {\n\t\tvisible ? handleShow() : handleHide();\n\t}, [visible]);\n\n\tconst handleBackdropClick = () => {\n\t\tbackdropClosable && handleHide();\n\t};\n\n\tuseKeydown(\n\t\t(e) => {\n\t\t\tif (e.code !== \"Escape\" || !visible) return;\n\t\t\thandleHide();\n\t\t},\n\t\t{\n\t\t\tdisabled: disabledEsc,\n\t\t}\n\t);\n\n\tif (!state.show) return null;\n\n\treturn createPortal(\n\t\t<div\n\t\t\tclassName={classNames(\"i-backdrop-drawer\", className, {\n\t\t\t\t\"i-active\": state.active,\n\t\t\t})}\n\t\t\tonClick={handleBackdropClick}\n\t\t\t{...restProps}\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName={classNames(\"i-drawer\", `i-drawer-${position}`)}\n\t\t\t\tonClick={(e) => e.stopPropagation()}\n\t\t\t>\n\t\t\t\t{header && (\n\t\t\t\t\t<header className='i-drawer-header'>\n\t\t\t\t\t\t{header}\n\n\t\t\t\t\t\t{!hideCloseButton && (\n\t\t\t\t\t\t\t<Helpericon\n\t\t\t\t\t\t\t\tclassName='i-drawer-close'\n\t\t\t\t\t\t\t\tonClick={handleHide}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</header>\n\t\t\t\t)}\n\n\t\t\t\t<div className='i-drawer-content'>{children}</div>\n\n\t\t\t\t{footer && <div className='i-drawer-footer'>{footer}</div>}\n\t\t\t</div>\n\t\t</div>,\n\t\tdocument.body\n\t);\n}\n\nexport default Drawer;\n"],"names":["useRef","useReactive","useTransition","useEffect","useKeydown","createPortal","_jsx","classNames","_jsxs","Helpericon"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown.js","sources":["../../../../packages/components/dropdown/dropdown.tsx"],"sourcesContent":["import { useEffect, useState } from \"react\";\r\nimport List from \"../list\";\r\nimport Popup from \"../popup\";\r\nimport \"./index.css\";\r\nimport Item from \"./item\";\r\nimport { IDropdown } from \"./type\";\r\n\r\nconst Dropdown = (props: IDropdown) => {\r\n\tconst { visible, width, content, children, ...restProps } = props;\r\n\tconst [active, setActive] = useState(visible);\r\n\r\n\tif (!content) {\r\n\t\treturn children;\r\n\t}\r\n\r\n\tconst handleVisibleChange = (v: boolean) => {\r\n\t\tsetActive(v);\r\n\t\tif (props.onVisibleChange) {\r\n\t\t\tprops.onVisibleChange(v);\r\n\t\t}\r\n\t};\r\n\r\n\tuseEffect(() => {\r\n\t\tsetActive(visible);\r\n\t}, [visible]);\r\n\r\n\treturn (\r\n\t\t<Popup\r\n\t\t\ttrigger='click'\r\n\t\t\tposition='bottom'\r\n\t\t\tcontent={\r\n\t\t\t\t<List\r\n\t\t\t\t\tclassName='i-dropdown-content'\r\n\t\t\t\t\tstyle={{ minWidth: width }}\r\n\t\t\t\t>\r\n\t\t\t\t\t{typeof content === \"function\"\r\n\t\t\t\t\t\t? content(() => setActive(false))\r\n\t\t\t\t\t\t: content}\r\n\t\t\t\t</List>\r\n\t\t\t}\r\n\t\t\t{...restProps}\r\n\t\t\ttouchable\r\n\t\t\tvisible={active}\r\n\t\t\tonVisibleChange={handleVisibleChange}\r\n\t\t>\r\n\t\t\t{children}\r\n\t\t</Popup>\r\n\t);\r\n};\r\n\r\nDropdown.Item = Item;\r\n\r\nexport default Dropdown;\r\n"],"names":["useState","useEffect","_jsx","Popup","List","Item"],"mappings":";;;;;;;;;;AAOA,MAAM,QAAQ,GAAG,CAAC,KAAgB,KAAI;AACrC,IAAA,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,SAAS,EAAE,GAAG,KAAK;IACjE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAGA,cAAQ,CAAC,OAAO,CAAC;IAE7C,IAAI,CAAC,OAAO,EAAE;AACb,QAAA,OAAO,QAAQ;;AAGhB,IAAA,MAAM,mBAAmB,GAAG,CAAC,CAAU,KAAI;QAC1C,SAAS,CAAC,CAAC,CAAC;AACZ,QAAA,IAAI,KAAK,CAAC,eAAe,EAAE;AAC1B,YAAA,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;;AAE1B,KAAC;IAEDC,eAAS,CAAC,MAAK;QACd,SAAS,CAAC,OAAO,CAAC;AACnB,KAAC,EAAE,CAAC,OAAO,CAAC,CAAC;AAEb,IAAA,QACCC,cAAA,CAACC,aAAK,EAAA,EACL,OAAO,EAAC,OAAO,EACf,QAAQ,EAAC,QAAQ,EACjB,OAAO,EACND,cAAC,CAAAE,YAAI,EACJ,EAAA,SAAS,EAAC,oBAAoB,EAC9B,KAAK,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAA,QAAA,EAEzB,OAAO,OAAO,KAAK;kBACjB,OAAO,CAAC,MAAM,SAAS,CAAC,KAAK,CAAC;AAChC,kBAAE,OAAO,EAAA,CACJ,KAEJ,SAAS,EACb,SAAS,EACT,IAAA,EAAA,OAAO,EAAE,MAAM,EACf,eAAe,EAAE,mBAAmB,YAEnC,QAAQ,EAAA,CACF;AAEV;AAEA,QAAQ,CAAC,IAAI,GAAGC,YAAI;;;;"}
1
+ {"version":3,"file":"dropdown.js","sources":["../../../../packages/components/dropdown/dropdown.tsx"],"sourcesContent":["import { useEffect, useState } from \"react\";\nimport List from \"../list\";\nimport Popup from \"../popup\";\nimport \"./index.css\";\nimport Item from \"./item\";\nimport { IDropdown } from \"./type\";\n\nconst Dropdown = (props: IDropdown) => {\n\tconst { visible, width, content, children, ...restProps } = props;\n\tconst [active, setActive] = useState(visible);\n\n\tif (!content) {\n\t\treturn children;\n\t}\n\n\tconst handleVisibleChange = (v: boolean) => {\n\t\tsetActive(v);\n\t\tif (props.onVisibleChange) {\n\t\t\tprops.onVisibleChange(v);\n\t\t}\n\t};\n\n\tuseEffect(() => {\n\t\tsetActive(visible);\n\t}, [visible]);\n\n\treturn (\n\t\t<Popup\n\t\t\ttrigger='click'\n\t\t\tposition='bottom'\n\t\t\tcontent={\n\t\t\t\t<List\n\t\t\t\t\tclassName='i-dropdown-content'\n\t\t\t\t\tstyle={{ minWidth: width }}\n\t\t\t\t>\n\t\t\t\t\t{typeof content === \"function\"\n\t\t\t\t\t\t? content(() => setActive(false))\n\t\t\t\t\t\t: content}\n\t\t\t\t</List>\n\t\t\t}\n\t\t\t{...restProps}\n\t\t\ttouchable\n\t\t\tvisible={active}\n\t\t\tonVisibleChange={handleVisibleChange}\n\t\t>\n\t\t\t{children}\n\t\t</Popup>\n\t);\n};\n\nDropdown.Item = Item;\n\nexport default Dropdown;\n"],"names":["useState","useEffect","_jsx","Popup","List","Item"],"mappings":";;;;;;;;;;AAOA,MAAM,QAAQ,GAAG,CAAC,KAAgB,KAAI;AACrC,IAAA,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,SAAS,EAAE,GAAG,KAAK;IACjE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAGA,cAAQ,CAAC,OAAO,CAAC;IAE7C,IAAI,CAAC,OAAO,EAAE;AACb,QAAA,OAAO,QAAQ;IAChB;AAEA,IAAA,MAAM,mBAAmB,GAAG,CAAC,CAAU,KAAI;QAC1C,SAAS,CAAC,CAAC,CAAC;AACZ,QAAA,IAAI,KAAK,CAAC,eAAe,EAAE;AAC1B,YAAA,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;QACzB;AACD,IAAA,CAAC;IAEDC,eAAS,CAAC,MAAK;QACd,SAAS,CAAC,OAAO,CAAC;AACnB,IAAA,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;AAEb,IAAA,QACCC,cAAA,CAACC,aAAK,EAAA,EACL,OAAO,EAAC,OAAO,EACf,QAAQ,EAAC,QAAQ,EACjB,OAAO,EACND,cAAA,CAACE,YAAI,EAAA,EACJ,SAAS,EAAC,oBAAoB,EAC9B,KAAK,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAA,QAAA,EAEzB,OAAO,OAAO,KAAK;kBACjB,OAAO,CAAC,MAAM,SAAS,CAAC,KAAK,CAAC;AAChC,kBAAE,OAAO,EAAA,CACJ,KAEJ,SAAS,EACb,SAAS,EAAA,IAAA,EACT,OAAO,EAAE,MAAM,EACf,eAAe,EAAE,mBAAmB,YAEnC,QAAQ,EAAA,CACF;AAEV;AAEA,QAAQ,CAAC,IAAI,GAAGC,YAAI;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"item.js","sources":["../../../../packages/components/dropdown/item.tsx"],"sourcesContent":["import List from \"../list\";\r\nimport Popup from \"../popup\";\r\nimport { IDropItem } from \"./type\";\r\n\r\nconst { Item: ListItem } = List;\r\n\r\nconst Item = (props: IDropItem) => {\r\n\tconst { more, moreProps, onClick, ...restProps } = props;\r\n\tconst Li = (\r\n\t\t<ListItem\r\n\t\t\tonClick={(e) => {\r\n\t\t\t\te.stopPropagation();\r\n\t\t\t\tonClick?.(e);\r\n\t\t\t}}\r\n\t\t\t{...restProps}\r\n\t\t/>\r\n\t);\r\n\r\n\tif (!more) return Li;\r\n\r\n\treturn (\r\n\t\t<Popup\r\n\t\t\tposition='right'\r\n\t\t\ttouchable\r\n\t\t\tarrow={false}\r\n\t\t\talign='start'\r\n\t\t\toffset={10}\r\n\t\t\thideDelay={240}\r\n\t\t\t{...moreProps}\r\n\t\t\tcontent={\r\n\t\t\t\t<List\r\n\t\t\t\t\tclassName='i-dropdown-content'\r\n\t\t\t\t\tonClick={(e) => e.stopPropagation()}\r\n\t\t\t\t>\r\n\t\t\t\t\t{more}\r\n\t\t\t\t</List>\r\n\t\t\t}\r\n\t\t>\r\n\t\t\t{Li}\r\n\t\t</Popup>\r\n\t);\r\n};\r\n\r\nexport default Item;\r\n"],"names":["List","_jsx","Popup"],"mappings":";;;;;;;;AAIA,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAGA,YAAI;AAE/B,MAAM,IAAI,GAAG,CAAC,KAAgB,KAAI;AACjC,IAAA,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,SAAS,EAAE,GAAG,KAAK;IACxD,MAAM,EAAE,IACPC,cAAC,CAAA,QAAQ,EACR,EAAA,OAAO,EAAE,CAAC,CAAC,KAAI;YACd,CAAC,CAAC,eAAe,EAAE;AACnB,YAAA,OAAO,GAAG,CAAC,CAAC;AACb,SAAC,EACG,GAAA,SAAS,EACZ,CAAA,CACF;AAED,IAAA,IAAI,CAAC,IAAI;AAAE,QAAA,OAAO,EAAE;IAEpB,QACCA,cAAC,CAAAC,aAAK,EACL,EAAA,QAAQ,EAAC,OAAO,EAChB,SAAS,EAAA,IAAA,EACT,KAAK,EAAE,KAAK,EACZ,KAAK,EAAC,OAAO,EACb,MAAM,EAAE,EAAE,EACV,SAAS,EAAE,GAAG,EACV,GAAA,SAAS,EACb,OAAO,EACND,cAAC,CAAAD,YAAI,EACJ,EAAA,SAAS,EAAC,oBAAoB,EAC9B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,eAAe,EAAE,EAAA,QAAA,EAElC,IAAI,EAAA,CACC,EAGP,QAAA,EAAA,EAAE,EACI,CAAA;AAEV;;;;"}
1
+ {"version":3,"file":"item.js","sources":["../../../../packages/components/dropdown/item.tsx"],"sourcesContent":["import List from \"../list\";\nimport Popup from \"../popup\";\nimport { IDropItem } from \"./type\";\n\nconst { Item: ListItem } = List;\n\nconst Item = (props: IDropItem) => {\n\tconst { more, moreProps, onClick, ...restProps } = props;\n\tconst Li = (\n\t\t<ListItem\n\t\t\tonClick={(e) => {\n\t\t\t\te.stopPropagation();\n\t\t\t\tonClick?.(e);\n\t\t\t}}\n\t\t\t{...restProps}\n\t\t/>\n\t);\n\n\tif (!more) return Li;\n\n\treturn (\n\t\t<Popup\n\t\t\tposition='right'\n\t\t\ttouchable\n\t\t\tarrow={false}\n\t\t\talign='start'\n\t\t\toffset={10}\n\t\t\thideDelay={240}\n\t\t\t{...moreProps}\n\t\t\tcontent={\n\t\t\t\t<List\n\t\t\t\t\tclassName='i-dropdown-content'\n\t\t\t\t\tonClick={(e) => e.stopPropagation()}\n\t\t\t\t>\n\t\t\t\t\t{more}\n\t\t\t\t</List>\n\t\t\t}\n\t\t>\n\t\t\t{Li}\n\t\t</Popup>\n\t);\n};\n\nexport default Item;\n"],"names":["List","_jsx","Popup"],"mappings":";;;;;;;;AAIA,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAGA,YAAI;AAE/B,MAAM,IAAI,GAAG,CAAC,KAAgB,KAAI;AACjC,IAAA,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,SAAS,EAAE,GAAG,KAAK;IACxD,MAAM,EAAE,IACPC,cAAA,CAAC,QAAQ,EAAA,EACR,OAAO,EAAE,CAAC,CAAC,KAAI;YACd,CAAC,CAAC,eAAe,EAAE;AACnB,YAAA,OAAO,GAAG,CAAC,CAAC;AACb,QAAA,CAAC,EAAA,GACG,SAAS,EAAA,CACZ,CACF;AAED,IAAA,IAAI,CAAC,IAAI;AAAE,QAAA,OAAO,EAAE;IAEpB,QACCA,cAAA,CAACC,aAAK,EAAA,EACL,QAAQ,EAAC,OAAO,EAChB,SAAS,EAAA,IAAA,EACT,KAAK,EAAE,KAAK,EACZ,KAAK,EAAC,OAAO,EACb,MAAM,EAAE,EAAE,EACV,SAAS,EAAE,GAAG,EAAA,GACV,SAAS,EACb,OAAO,EACND,cAAA,CAACD,YAAI,EAAA,EACJ,SAAS,EAAC,oBAAoB,EAC9B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,eAAe,EAAE,EAAA,QAAA,EAElC,IAAI,EAAA,CACC,EAAA,QAAA,EAGP,EAAE,EAAA,CACI;AAEV;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"controls.js","sources":["../../../../packages/components/editor/controls.tsx"],"sourcesContent":["import {\r\n\tClearAllRound,\r\n\tFormatBoldRound,\r\n\tFormatItalicRound,\r\n\tFormatUnderlinedRound,\r\n\tRedoRound,\r\n\tStrikethroughSRound,\r\n\tUndoRound,\r\n} from \"@ricons/material\";\r\nimport { Fragment } from \"react/jsx-runtime\";\r\nimport { escapeAttrValue } from \"xss\";\r\nimport Button from \"../button\";\r\nimport Icon from \"../icon\";\r\n\r\nexport const exec = (a, b?, c?) => {\r\n\tif (typeof document === \"undefined\") return;\r\n\treturn document.execCommand(a, b, c);\r\n};\r\n\r\nexport const xssOptions = {\r\n\tonIgnoreTagAttr: function (tag, name, value) {\r\n\t\tif ([\"data-\", \"style\"].includes(name.substr(0, 5))) {\r\n\t\t\treturn name + '=\"' + escapeAttrValue(value) + '\"';\r\n\t\t}\r\n\t},\r\n};\r\n\r\nconst fnMap = {\r\n\tbold: {\r\n\t\ticon: <FormatBoldRound />,\r\n\t\tonClick: () => exec(\"bold\"),\r\n\t\ttip: \"粗体\",\r\n\t},\r\n\titalic: {\r\n\t\ticon: <FormatItalicRound />,\r\n\t\tonClick: () => exec(\"italic\"),\r\n\t\ttip: \"斜体\",\r\n\t},\r\n\tunderline: {\r\n\t\ticon: <FormatUnderlinedRound />,\r\n\t\tonClick: () => exec(\"underline\"),\r\n\t\ttip: \"下划线\",\r\n\t},\r\n\tstrike: {\r\n\t\ticon: <StrikethroughSRound />,\r\n\t\tonClick: () => exec(\"strikeThrough\"),\r\n\t\ttip: \"删除线\",\r\n\t},\r\n\tredo: {\r\n\t\ticon: <RedoRound />,\r\n\t\tonClick: () => exec(\"redo\"),\r\n\t\ttip: \"重做\",\r\n\t},\r\n\tundo: {\r\n\t\ticon: <UndoRound />,\r\n\t\tonClick: () => exec(\"undo\"),\r\n\t\ttip: \"撤销\",\r\n\t},\r\n\t// color: {\r\n\t// \ticon: <FormatColorTextRound />,\r\n\t// \tonClick: () => exec(\"foreColor\", false, \"\"),\r\n\t// },\r\n\t// backColor: {\r\n\t// \ticon: <FormatColorFillRound />,\r\n\t// \tonClick: () => exec(\"backColor\", false, \"\"),\r\n\t// },\r\n\tclear: {\r\n\t\ticon: <ClearAllRound />,\r\n\t\tonClick: () => exec(\"removeFormat\"),\r\n\t\ttip: \"清除格式\",\r\n\t},\r\n};\r\n\r\nconst aliasMap = {\r\n\tsimple: [\"undo\", \"redo\", \"bold\", \"italic\", \"underline\", \"strike\", \"clear\"],\r\n\tall: Object.keys(fnMap),\r\n};\r\n\r\nexport default function getControls(fns, options) {\r\n\tconst { controlBtnProps } = options;\r\n\tconst keys = typeof fns === \"string\" ? aliasMap[fns] : fns;\r\n\r\n\treturn keys.map((k) => {\r\n\t\tif (fnMap[k]) {\r\n\t\t\tconst { icon, render, tip, onClick } = fnMap[k];\r\n\r\n\t\t\tif (render) {\r\n\t\t\t\treturn render(options);\r\n\t\t\t}\r\n\r\n\t\t\treturn (\r\n\t\t\t\t<Button key={k} {...controlBtnProps} onClick={onClick}>\r\n\t\t\t\t\t<Icon icon={icon} />\r\n\t\t\t\t\t{tip && <span className='i-editor-control-tip'>{tip}</span>}\r\n\t\t\t\t</Button>\r\n\t\t\t);\r\n\t\t}\r\n\t\treturn <Fragment key={k} />;\r\n\t});\r\n}\r\n"],"names":["escapeAttrValue","_jsx","FormatBoldRound","FormatItalicRound","FormatUnderlinedRound","StrikethroughSRound","RedoRound","UndoRound","ClearAllRound","icon","_jsxs","Button","Icon","Fragment"],"mappings":"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"}
1
+ {"version":3,"file":"controls.js","sources":["../../../../packages/components/editor/controls.tsx"],"sourcesContent":["import {\n\tClearAllRound,\n\tFormatBoldRound,\n\tFormatItalicRound,\n\tFormatUnderlinedRound,\n\tRedoRound,\n\tStrikethroughSRound,\n\tUndoRound,\n} from \"@ricons/material\";\nimport { Fragment } from \"react/jsx-runtime\";\nimport { escapeAttrValue } from \"xss\";\nimport Button from \"../button\";\nimport Icon from \"../icon\";\n\nexport const exec = (a, b?, c?) => {\n\tif (typeof document === \"undefined\") return;\n\treturn document.execCommand(a, b, c);\n};\n\nexport const xssOptions = {\n\tonIgnoreTagAttr: function (tag, name, value) {\n\t\tif ([\"data-\", \"style\"].includes(name.substr(0, 5))) {\n\t\t\treturn name + '=\"' + escapeAttrValue(value) + '\"';\n\t\t}\n\t},\n};\n\nconst fnMap = {\n\tbold: {\n\t\ticon: <FormatBoldRound />,\n\t\tonClick: () => exec(\"bold\"),\n\t\ttip: \"粗体\",\n\t},\n\titalic: {\n\t\ticon: <FormatItalicRound />,\n\t\tonClick: () => exec(\"italic\"),\n\t\ttip: \"斜体\",\n\t},\n\tunderline: {\n\t\ticon: <FormatUnderlinedRound />,\n\t\tonClick: () => exec(\"underline\"),\n\t\ttip: \"下划线\",\n\t},\n\tstrike: {\n\t\ticon: <StrikethroughSRound />,\n\t\tonClick: () => exec(\"strikeThrough\"),\n\t\ttip: \"删除线\",\n\t},\n\tredo: {\n\t\ticon: <RedoRound />,\n\t\tonClick: () => exec(\"redo\"),\n\t\ttip: \"重做\",\n\t},\n\tundo: {\n\t\ticon: <UndoRound />,\n\t\tonClick: () => exec(\"undo\"),\n\t\ttip: \"撤销\",\n\t},\n\t// color: {\n\t// \ticon: <FormatColorTextRound />,\n\t// \tonClick: () => exec(\"foreColor\", false, \"\"),\n\t// },\n\t// backColor: {\n\t// \ticon: <FormatColorFillRound />,\n\t// \tonClick: () => exec(\"backColor\", false, \"\"),\n\t// },\n\tclear: {\n\t\ticon: <ClearAllRound />,\n\t\tonClick: () => exec(\"removeFormat\"),\n\t\ttip: \"清除格式\",\n\t},\n};\n\nconst aliasMap = {\n\tsimple: [\"undo\", \"redo\", \"bold\", \"italic\", \"underline\", \"strike\", \"clear\"],\n\tall: Object.keys(fnMap),\n};\n\nexport default function getControls(fns, options) {\n\tconst { controlBtnProps } = options;\n\tconst keys = typeof fns === \"string\" ? aliasMap[fns] : fns;\n\n\treturn keys.map((k) => {\n\t\tif (fnMap[k]) {\n\t\t\tconst { icon, render, tip, onClick } = fnMap[k];\n\n\t\t\tif (render) {\n\t\t\t\treturn render(options);\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\t<Button key={k} {...controlBtnProps} onClick={onClick}>\n\t\t\t\t\t<Icon icon={icon} />\n\t\t\t\t\t{tip && <span className='i-editor-control-tip'>{tip}</span>}\n\t\t\t\t</Button>\n\t\t\t);\n\t\t}\n\t\treturn <Fragment key={k} />;\n\t});\n}\n"],"names":["escapeAttrValue","_jsx","FormatBoldRound","FormatItalicRound","FormatUnderlinedRound","StrikethroughSRound","RedoRound","UndoRound","ClearAllRound","icon","_jsxs","Button","Icon","Fragment"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"editor.js","sources":["../../../../packages/components/editor/editor.tsx"],"sourcesContent":["import classNames from \"classnames\";\r\nimport { useImperativeHandle, useRef } from \"react\";\r\nimport xss from \"xss\";\r\nimport { IButton } from \"../button/type\";\r\nimport getControls, { exec, xssOptions } from \"./controls\";\r\nimport \"./index.css\";\r\nimport { IEditor } from \"./type\";\r\n\r\nconst Editor = (props: IEditor) => {\r\n\tconst {\r\n\t\tref,\r\n\t\twidth,\r\n\t\theight = \"10em\",\r\n\t\tplaceholder,\r\n\t\tautosize,\r\n\t\tborder = true,\r\n\t\trichPaste,\r\n\t\tcontrols = \"simple\",\r\n\t\tclassName,\r\n\t\tstyle,\r\n\t\tonInput,\r\n\t\tonPaste,\r\n\t\tonKeyDown,\r\n\t\t...restProps\r\n\t} = props;\r\n\tconst editorRef = useRef<HTMLDivElement>(null);\r\n\tconst controlBtnProps: IButton = {\r\n\t\tsquare: true,\r\n\t\tflat: true,\r\n\t\tsize: \"small\",\r\n\t};\r\n\r\n\tconst handlePaste = async (e) => {\r\n\t\tonPaste?.(e);\r\n\r\n\t\tif (richPaste) return;\r\n\t\te.preventDefault();\r\n\t\tconst text = e.clipboardData.getData(\"text/plain\");\r\n\t\texec(\"insertText\", false, text);\r\n\t};\r\n\r\n\tconst handleKeyDown = (e) => {\r\n\t\tonKeyDown?.(e);\r\n\r\n\t\tswitch (e.key) {\r\n\t\t\tcase \"Tab\":\r\n\t\t\t\te.preventDefault();\r\n\t\t\t\texec(\"insertHTML\", false, \"&#09;\");\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"Enter\":\r\n\t\t\t\te.preventDefault();\r\n\t\t\t\texec(\"insertLineBreak\");\r\n\r\n\t\t\t\tif (!editorRef.current) return;\r\n\t\t\t\teditorRef.current.scrollBy({\r\n\t\t\t\t\ttop: 20,\r\n\t\t\t\t\tleft: -1000,\r\n\t\t\t\t});\r\n\r\n\t\t\t\tif (!autosize) return;\r\n\t\t\t\teditorRef.current.style.height = `${editorRef.current.scrollHeight}px`;\r\n\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t};\r\n\r\n\tuseImperativeHandle(ref, () => {\r\n\t\treturn {\r\n\t\t\tinput: editorRef.current,\r\n\t\t\tsetValue(html) {\r\n\t\t\t\tif (!editorRef.current) return;\r\n\t\t\t\tconst safeHtml = xss(html, xssOptions);\r\n\r\n\t\t\t\teditorRef.current.innerHTML = safeHtml;\r\n\t\t\t},\r\n\t\t\tgetSafeValue() {\r\n\t\t\t\tconst html = editorRef.current?.innerHTML ?? \"\";\r\n\r\n\t\t\t\treturn xss(html, xssOptions);\r\n\t\t\t},\r\n\t\t};\r\n\t});\r\n\r\n\tconst handleInput = (e) => {\r\n\t\tlet html = editorRef.current?.innerHTML ?? \"\";\r\n\r\n\t\tif ([\"<br>\", \"\\n\"].includes(html) && editorRef.current) {\r\n\t\t\thtml = \"\";\r\n\t\t\teditorRef.current.innerHTML = html;\r\n\t\t}\r\n\r\n\t\tonInput?.(html, e);\r\n\t};\r\n\r\n\treturn (\r\n\t\t<div\r\n\t\t\tclassName={classNames(\"i-editor\", className, {\r\n\t\t\t\t\"i-editor-borderless\": !border,\r\n\t\t\t})}\r\n\t\t\tstyle={{\r\n\t\t\t\t...style,\r\n\t\t\t\t[autosize ? \"minHeight\" : \"height\"]: height,\r\n\t\t\t\twidth,\r\n\t\t\t}}\r\n\t\t>\r\n\t\t\t{controls !== \"none\" && (\r\n\t\t\t\t<div className='i-editor-controls'>\r\n\t\t\t\t\t{getControls(controls, {\r\n\t\t\t\t\t\tcontrolBtnProps,\r\n\t\t\t\t\t})}\r\n\t\t\t\t</div>\r\n\t\t\t)}\r\n\r\n\t\t\t<div\r\n\t\t\t\tref={editorRef}\r\n\t\t\t\tclassName='i-editor-content'\r\n\t\t\t\tdata-placeholder={placeholder}\r\n\t\t\t\tcontentEditable\r\n\t\t\t\tonPaste={handlePaste}\r\n\t\t\t\tonInput={handleInput}\r\n\t\t\t\tonKeyDown={handleKeyDown}\r\n\t\t\t\t{...restProps}\r\n\t\t\t/>\r\n\t\t</div>\r\n\t);\r\n};\r\n\r\nexport default Editor;\r\n"],"names":["controls","useRef","exec","useImperativeHandle","xss","xssOptions","_jsxs","classNames","_jsx","getControls"],"mappings":"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"}
1
+ {"version":3,"file":"editor.js","sources":["../../../../packages/components/editor/editor.tsx"],"sourcesContent":["import classNames from \"classnames\";\nimport { useImperativeHandle, useRef } from \"react\";\nimport xss from \"xss\";\nimport { IButton } from \"../button/type\";\nimport getControls, { exec, xssOptions } from \"./controls\";\nimport \"./index.css\";\nimport { IEditor } from \"./type\";\n\nconst Editor = (props: IEditor) => {\n\tconst {\n\t\tref,\n\t\twidth,\n\t\theight = \"10em\",\n\t\tplaceholder,\n\t\tautosize,\n\t\tborder = true,\n\t\trichPaste,\n\t\tcontrols = \"simple\",\n\t\tclassName,\n\t\tstyle,\n\t\tonInput,\n\t\tonPaste,\n\t\tonKeyDown,\n\t\t...restProps\n\t} = props;\n\tconst editorRef = useRef<HTMLDivElement>(null);\n\tconst controlBtnProps: IButton = {\n\t\tsquare: true,\n\t\tflat: true,\n\t\tsize: \"small\",\n\t};\n\n\tconst handlePaste = async (e) => {\n\t\tonPaste?.(e);\n\n\t\tif (richPaste) return;\n\t\te.preventDefault();\n\t\tconst text = e.clipboardData.getData(\"text/plain\");\n\t\texec(\"insertText\", false, text);\n\t};\n\n\tconst handleKeyDown = (e) => {\n\t\tonKeyDown?.(e);\n\n\t\tswitch (e.key) {\n\t\t\tcase \"Tab\":\n\t\t\t\te.preventDefault();\n\t\t\t\texec(\"insertHTML\", false, \"&#09;\");\n\t\t\t\tbreak;\n\t\t\tcase \"Enter\":\n\t\t\t\te.preventDefault();\n\t\t\t\texec(\"insertLineBreak\");\n\n\t\t\t\tif (!editorRef.current) return;\n\t\t\t\teditorRef.current.scrollBy({\n\t\t\t\t\ttop: 20,\n\t\t\t\t\tleft: -1000,\n\t\t\t\t});\n\n\t\t\t\tif (!autosize) return;\n\t\t\t\teditorRef.current.style.height = `${editorRef.current.scrollHeight}px`;\n\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\t};\n\n\tuseImperativeHandle(ref, () => {\n\t\treturn {\n\t\t\tinput: editorRef.current,\n\t\t\tsetValue(html) {\n\t\t\t\tif (!editorRef.current) return;\n\t\t\t\tconst safeHtml = xss(html, xssOptions);\n\n\t\t\t\teditorRef.current.innerHTML = safeHtml;\n\t\t\t},\n\t\t\tgetSafeValue() {\n\t\t\t\tconst html = editorRef.current?.innerHTML ?? \"\";\n\n\t\t\t\treturn xss(html, xssOptions);\n\t\t\t},\n\t\t};\n\t});\n\n\tconst handleInput = (e) => {\n\t\tlet html = editorRef.current?.innerHTML ?? \"\";\n\n\t\tif ([\"<br>\", \"\\n\"].includes(html) && editorRef.current) {\n\t\t\thtml = \"\";\n\t\t\teditorRef.current.innerHTML = html;\n\t\t}\n\n\t\tonInput?.(html, e);\n\t};\n\n\treturn (\n\t\t<div\n\t\t\tclassName={classNames(\"i-editor\", className, {\n\t\t\t\t\"i-editor-borderless\": !border,\n\t\t\t})}\n\t\t\tstyle={{\n\t\t\t\t...style,\n\t\t\t\t[autosize ? \"minHeight\" : \"height\"]: height,\n\t\t\t\twidth,\n\t\t\t}}\n\t\t>\n\t\t\t{controls !== \"none\" && (\n\t\t\t\t<div className='i-editor-controls'>\n\t\t\t\t\t{getControls(controls, {\n\t\t\t\t\t\tcontrolBtnProps,\n\t\t\t\t\t})}\n\t\t\t\t</div>\n\t\t\t)}\n\n\t\t\t<div\n\t\t\t\tref={editorRef}\n\t\t\t\tclassName='i-editor-content'\n\t\t\t\tdata-placeholder={placeholder}\n\t\t\t\tcontentEditable\n\t\t\t\tonPaste={handlePaste}\n\t\t\t\tonInput={handleInput}\n\t\t\t\tonKeyDown={handleKeyDown}\n\t\t\t\t{...restProps}\n\t\t\t/>\n\t\t</div>\n\t);\n};\n\nexport default Editor;\n"],"names":["controls","useRef","exec","useImperativeHandle","xss","xssOptions","_jsxs","classNames","_jsx","getControls"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"flex.js","sources":["../../../../packages/components/flex/flex.tsx"],"sourcesContent":["import classNames from \"classnames\";\r\nimport { useMemo } from \"react\";\r\nimport \"./index.css\";\r\nimport { IFlex } from \"./type\";\r\n\r\nconst Flex: React.FC<IFlex> = (props: IFlex) => {\r\n\tconst {\r\n\t\tas: Component = \"div\" as any,\r\n\t\talign,\r\n\t\tjustify,\r\n\t\tdirection,\r\n\t\twrap,\r\n\t\tgap,\r\n\t\tcolumns,\r\n\t\tclassName,\r\n\t\tstyle,\r\n\t\t...restProps\r\n\t} = props;\r\n\r\n\tconst gridColumns = useMemo(() => {\r\n\t\tif (!columns) return;\r\n\r\n\t\tif (typeof columns === \"number\") return `repeat(${columns}, 1fr)`;\r\n\r\n\t\treturn columns;\r\n\t}, [columns]);\r\n\r\n\treturn (\r\n\t\t<Component\r\n\t\t\t{...restProps}\r\n\t\t\tstyle={{\r\n\t\t\t\talignItems: align,\r\n\t\t\t\tjustifyContent: justify,\r\n\t\t\t\tgap,\r\n\t\t\t\tflexDirection: direction,\r\n\t\t\t\tflexWrap: wrap === true ? \"wrap\" : wrap,\r\n\t\t\t\tgridTemplateColumns: gridColumns as any,\r\n\t\t\t\t...style,\r\n\t\t\t}}\r\n\t\t\tclassName={classNames(className, {\r\n\t\t\t\t[columns ? \"grid\" : \"flex\"]: true,\r\n\t\t\t})}\r\n\t\t/>\r\n\t);\r\n};\r\n\r\nexport default Flex;\r\n"],"names":["useMemo","_jsx","classNames"],"mappings":";;;;;;;;;;;;AAKA,MAAM,IAAI,GAAoB,CAAC,KAAY,KAAI;AAC9C,IAAA,MAAM,EACL,EAAE,EAAE,SAAS,GAAG,KAAY,EAC5B,KAAK,EACL,OAAO,EACP,SAAS,EACT,IAAI,EACJ,GAAG,EACH,OAAO,EACP,SAAS,EACT,KAAK,EACL,GAAG,SAAS,EACZ,GAAG,KAAK;AAET,IAAA,MAAM,WAAW,GAAGA,aAAO,CAAC,MAAK;AAChC,QAAA,IAAI,CAAC,OAAO;YAAE;QAEd,IAAI,OAAO,OAAO,KAAK,QAAQ;YAAE,OAAO,CAAA,OAAA,EAAU,OAAO,CAAA,MAAA,CAAQ;AAEjE,QAAA,OAAO,OAAO;AACf,KAAC,EAAE,CAAC,OAAO,CAAC,CAAC;AAEb,IAAA,QACCC,cAAC,CAAA,SAAS,OACL,SAAS,EACb,KAAK,EAAE;AACN,YAAA,UAAU,EAAE,KAAK;AACjB,YAAA,cAAc,EAAE,OAAO;YACvB,GAAG;AACH,YAAA,aAAa,EAAE,SAAS;YACxB,QAAQ,EAAE,IAAI,KAAK,IAAI,GAAG,MAAM,GAAG,IAAI;AACvC,YAAA,mBAAmB,EAAE,WAAkB;AACvC,YAAA,GAAG,KAAK;AACR,SAAA,EACD,SAAS,EAAEC,mBAAU,CAAC,SAAS,EAAE;YAChC,CAAC,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI;SACjC,CAAC,EAAA,CACD;AAEJ;;;;"}
1
+ {"version":3,"file":"flex.js","sources":["../../../../packages/components/flex/flex.tsx"],"sourcesContent":["import classNames from \"classnames\";\nimport { useMemo } from \"react\";\nimport \"./index.css\";\nimport { IFlex } from \"./type\";\n\nconst Flex: React.FC<IFlex> = (props: IFlex) => {\n\tconst {\n\t\tas: Component = \"div\" as any,\n\t\talign,\n\t\tjustify,\n\t\tdirection,\n\t\twrap,\n\t\tgap,\n\t\tcolumns,\n\t\tclassName,\n\t\tstyle,\n\t\t...restProps\n\t} = props;\n\n\tconst gridColumns = useMemo(() => {\n\t\tif (!columns) return;\n\n\t\tif (typeof columns === \"number\") return `repeat(${columns}, 1fr)`;\n\n\t\treturn columns;\n\t}, [columns]);\n\n\treturn (\n\t\t<Component\n\t\t\t{...restProps}\n\t\t\tstyle={{\n\t\t\t\talignItems: align,\n\t\t\t\tjustifyContent: justify,\n\t\t\t\tgap,\n\t\t\t\tflexDirection: direction,\n\t\t\t\tflexWrap: wrap === true ? \"wrap\" : wrap,\n\t\t\t\tgridTemplateColumns: gridColumns as any,\n\t\t\t\t...style,\n\t\t\t}}\n\t\t\tclassName={classNames(className, {\n\t\t\t\t[columns ? \"grid\" : \"flex\"]: true,\n\t\t\t})}\n\t\t/>\n\t);\n};\n\nexport default Flex;\n"],"names":["useMemo","_jsx","classNames"],"mappings":";;;;;;;;;;;;AAKA,MAAM,IAAI,GAAoB,CAAC,KAAY,KAAI;AAC9C,IAAA,MAAM,EACL,EAAE,EAAE,SAAS,GAAG,KAAY,EAC5B,KAAK,EACL,OAAO,EACP,SAAS,EACT,IAAI,EACJ,GAAG,EACH,OAAO,EACP,SAAS,EACT,KAAK,EACL,GAAG,SAAS,EACZ,GAAG,KAAK;AAET,IAAA,MAAM,WAAW,GAAGA,aAAO,CAAC,MAAK;AAChC,QAAA,IAAI,CAAC,OAAO;YAAE;QAEd,IAAI,OAAO,OAAO,KAAK,QAAQ;YAAE,OAAO,CAAA,OAAA,EAAU,OAAO,CAAA,MAAA,CAAQ;AAEjE,QAAA,OAAO,OAAO;AACf,IAAA,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;AAEb,IAAA,QACCC,cAAA,CAAC,SAAS,OACL,SAAS,EACb,KAAK,EAAE;AACN,YAAA,UAAU,EAAE,KAAK;AACjB,YAAA,cAAc,EAAE,OAAO;YACvB,GAAG;AACH,YAAA,aAAa,EAAE,SAAS;YACxB,QAAQ,EAAE,IAAI,KAAK,IAAI,GAAG,MAAM,GAAG,IAAI;AACvC,YAAA,mBAAmB,EAAE,WAAkB;AACvC,YAAA,GAAG,KAAK;AACR,SAAA,EACD,SAAS,EAAEC,mBAAU,CAAC,SAAS,EAAE;YAChC,CAAC,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI;SACjC,CAAC,EAAA,CACD;AAEJ;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sources":["../../../../packages/components/form/context.tsx"],"sourcesContent":["import { createContext } from \"react\";\r\nimport { IFormInstance } from \"./useForm\";\r\n\r\nconst Context = createContext({} as IFormInstance);\r\n\r\nexport default Context;\r\n"],"names":["createContext"],"mappings":";;;;;;AAGA,MAAM,OAAO,GAAGA,mBAAa,CAAC,EAAmB;;;;"}
1
+ {"version":3,"file":"context.js","sources":["../../../../packages/components/form/context.tsx"],"sourcesContent":["import { createContext } from \"react\";\nimport { IFormInstance } from \"./useForm\";\n\nconst Context = createContext({} as IFormInstance);\n\nexport default Context;\n"],"names":["createContext"],"mappings":";;;;;;AAGA,MAAM,OAAO,GAAGA,mBAAa,CAAC,EAAmB;;;;"}
@@ -2,9 +2,9 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var ahooks = require('ahooks');
6
5
  var PubSub = require('pubsub-js');
7
6
  var react = require('react');
7
+ var hooks = require('../../js/hooks.js');
8
8
  var context = require('./context.js');
9
9
 
10
10
  function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e.default : e; }
@@ -13,7 +13,7 @@ var PubSub__default = /*#__PURE__*/_interopDefaultCompat(PubSub);
13
13
 
14
14
  function Field(props) {
15
15
  const { name, required, children } = props;
16
- const state = ahooks.useReactive({
16
+ const state = hooks.useReactive({
17
17
  value: undefined,
18
18
  status: "normal",
19
19
  message: undefined,
@@ -1 +1 @@
1
- {"version":3,"file":"field.js","sources":["../../../../packages/components/form/field.tsx"],"sourcesContent":["import { useReactive } from \"ahooks\";\r\nimport PubSub from \"pubsub-js\";\r\nimport {\r\n\tChildren,\r\n\tcloneElement,\r\n\tisValidElement,\r\n\tuseContext,\r\n\tuseEffect,\r\n\tuseMemo,\r\n} from \"react\";\r\nimport Context from \"./context\";\r\nimport { IField } from \"./type\";\r\n\r\nfunction Field(props: IField) {\r\n\tconst { name, required, children } = props;\r\n\tconst state = useReactive({\r\n\t\tvalue: undefined,\r\n\t\tstatus: \"normal\",\r\n\t\tmessage: undefined,\r\n\t\tupdate: 0,\r\n\t});\r\n\tconst form = useContext(Context);\r\n\tconst { id } = form;\r\n\r\n\tconst handleChange = (v) => {\r\n\t\tif (!name) return;\r\n\r\n\t\tform.set(name, v);\r\n\t\tPubSub.publish(`${id}:change`, {\r\n\t\t\tname,\r\n\t\t\tvalue: v,\r\n\t\t});\r\n\t};\r\n\r\n\tconst hijackChildren = useMemo(() => {\r\n\t\treturn Children.map(children, (node) => {\r\n\t\t\tif (!isValidElement(node)) return null;\r\n\r\n\t\t\tconst { onChange } = node.props as any;\r\n\t\t\tconst { value, status, message } = state;\r\n\r\n\t\t\treturn cloneElement(node, {\r\n\t\t\t\tvalue,\r\n\t\t\t\tstatus,\r\n\t\t\t\tmessage,\r\n\t\t\t\trequired,\r\n\t\t\t\tonChange: (...args) => {\r\n\t\t\t\t\thandleChange(args[0]);\r\n\t\t\t\t\tonChange?.(...args);\r\n\t\t\t\t\tObject.assign(state, {\r\n\t\t\t\t\t\tstatus: \"normal\",\r\n\t\t\t\t\t\tmessage: undefined,\r\n\t\t\t\t\t});\r\n\t\t\t\t},\r\n\t\t\t} as any);\r\n\t\t});\r\n\t}, [children, state.update]);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (!name) return;\r\n\r\n\t\tPubSub.subscribe(`${id}:set:${name}`, (evt, v) => {\r\n\t\t\tstate.value = v;\r\n\t\t\tstate.update += 1;\r\n\t\t});\r\n\t\tPubSub.subscribe(`${id}:invalid:${name}`, (evt, v) => {\r\n\t\t\tObject.assign(state, v);\r\n\t\t\tstate.update += 1;\r\n\t\t});\r\n\r\n\t\tPromise.resolve().then(() => {\r\n\t\t\tform.set(name, form.cacheData[name] ?? undefined);\r\n\t\t});\r\n\r\n\t\treturn () => {\r\n\t\t\tPubSub.unsubscribe(`${id}:set:${name}`);\r\n\t\t\tPubSub.unsubscribe(`${id}:invalid:${name}`);\r\n\t\t\tform.delete(name);\r\n\t\t};\r\n\t}, [name, children]);\r\n\r\n\tif (!name) return children;\r\n\r\n\treturn hijackChildren;\r\n}\r\n\r\nexport default Field;\r\n"],"names":["useReactive","useContext","Context","PubSub","useMemo","Children","isValidElement","cloneElement","useEffect"],"mappings":"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"}
1
+ {"version":3,"file":"field.js","sources":["../../../../packages/components/form/field.tsx"],"sourcesContent":["import PubSub from \"pubsub-js\";\nimport {\n\tChildren,\n\tcloneElement,\n\tisValidElement,\n\tuseContext,\n\tuseEffect,\n\tuseMemo,\n} from \"react\";\nimport { useReactive } from \"../../js/hooks\";\nimport Context from \"./context\";\nimport { IField } from \"./type\";\n\nfunction Field(props: IField) {\n\tconst { name, required, children } = props;\n\tconst state = useReactive({\n\t\tvalue: undefined,\n\t\tstatus: \"normal\",\n\t\tmessage: undefined,\n\t\tupdate: 0,\n\t});\n\tconst form = useContext(Context);\n\tconst { id } = form;\n\n\tconst handleChange = (v) => {\n\t\tif (!name) return;\n\n\t\tform.set(name, v);\n\t\tPubSub.publish(`${id}:change`, {\n\t\t\tname,\n\t\t\tvalue: v,\n\t\t});\n\t};\n\n\tconst hijackChildren = useMemo(() => {\n\t\treturn Children.map(children, (node) => {\n\t\t\tif (!isValidElement(node)) return null;\n\n\t\t\tconst { onChange } = node.props as any;\n\t\t\tconst { value, status, message } = state;\n\n\t\t\treturn cloneElement(node, {\n\t\t\t\tvalue,\n\t\t\t\tstatus,\n\t\t\t\tmessage,\n\t\t\t\trequired,\n\t\t\t\tonChange: (...args) => {\n\t\t\t\t\thandleChange(args[0]);\n\t\t\t\t\tonChange?.(...args);\n\t\t\t\t\tObject.assign(state, {\n\t\t\t\t\t\tstatus: \"normal\",\n\t\t\t\t\t\tmessage: undefined,\n\t\t\t\t\t});\n\t\t\t\t},\n\t\t\t} as any);\n\t\t});\n\t}, [children, state.update]);\n\n\tuseEffect(() => {\n\t\tif (!name) return;\n\n\t\tPubSub.subscribe(`${id}:set:${name}`, (evt, v) => {\n\t\t\tstate.value = v;\n\t\t\tstate.update += 1;\n\t\t});\n\t\tPubSub.subscribe(`${id}:invalid:${name}`, (evt, v) => {\n\t\t\tObject.assign(state, v);\n\t\t\tstate.update += 1;\n\t\t});\n\n\t\tPromise.resolve().then(() => {\n\t\t\tform.set(name, form.cacheData[name] ?? undefined);\n\t\t});\n\n\t\treturn () => {\n\t\t\tPubSub.unsubscribe(`${id}:set:${name}`);\n\t\t\tPubSub.unsubscribe(`${id}:invalid:${name}`);\n\t\t\tform.delete(name);\n\t\t};\n\t}, [name, children]);\n\n\tif (!name) return children;\n\n\treturn hijackChildren;\n}\n\nexport default Field;\n"],"names":["useReactive","useContext","Context","PubSub","useMemo","Children","isValidElement","cloneElement","useEffect"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"form.js","sources":["../../../../packages/components/form/form.tsx"],"sourcesContent":["import classNames from \"classnames\";\r\nimport PubSub from \"pubsub-js\";\r\nimport { CSSProperties, useEffect, useMemo } from \"react\";\r\nimport Context from \"./context\";\r\nimport Field from \"./field\";\r\nimport \"./index.css\";\r\nimport { IForm } from \"./type\";\r\nimport useConfig from \"./useConfig\";\r\nimport useForm, { IFormInstance } from \"./useForm\";\r\n\r\nconst Form = (props: IForm) => {\r\n\tconst {\r\n\t\tform = {} as IFormInstance,\r\n\t\trules,\r\n\t\tinitialValues,\r\n\t\tstyle,\r\n\t\tclassName,\r\n\t\twidth,\r\n\t\tcolumns,\r\n\t\titemMaxWidth,\r\n\t\tgap = \"1em\",\r\n\t\tlabelInline,\r\n\t\tlabelWidth,\r\n\t\tlabelRight,\r\n\t\tchildren,\r\n\t\tonKeyDown,\r\n\t\tonEnter,\r\n\t\tonChange,\r\n\t\t...restProps\r\n\t} = props;\r\n\r\n\tconst handleKeyDown = (e) => {\r\n\t\tonKeyDown?.(e);\r\n\r\n\t\tif (e.keyCode !== 13) return;\r\n\r\n\t\tonEnter?.(e, form.data, form);\r\n\t};\r\n\r\n\tconst gridColumns = useMemo(() => {\r\n\t\tif (!columns && !itemMaxWidth) return;\r\n\r\n\t\tif (itemMaxWidth) {\r\n\t\t\treturn `repeat(auto-fill, minmax(${itemMaxWidth}, 1fr))`;\r\n\t\t}\r\n\r\n\t\tif (typeof columns === \"number\") {\r\n\t\t\treturn `minmax(0, 1fr) `.repeat(columns);\r\n\t\t}\r\n\r\n\t\treturn columns;\r\n\t}, [columns]);\r\n\r\n\tuseEffect(() => {\r\n\t\tObject.assign(form, {\r\n\t\t\tdata: { ...initialValues },\r\n\t\t\trules,\r\n\t\t});\r\n\t}, [form]);\r\n\r\n\tuseEffect(() => {\r\n\t\tPubSub.subscribe(`${form.id}:change`, (evt, v) => {\r\n\t\t\tonChange?.(v.name, v.value);\r\n\t\t});\r\n\r\n\t\treturn () => {\r\n\t\t\tPubSub.unsubscribe(`${form.id}:change`);\r\n\t\t};\r\n\t}, []);\r\n\r\n\treturn (\r\n\t\t<Context value={form}>\r\n\t\t\t<form\r\n\t\t\t\tstyle={\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t...style,\r\n\t\t\t\t\t\twidth,\r\n\t\t\t\t\t\tgap,\r\n\t\t\t\t\t\tgridTemplateColumns: gridColumns as any,\r\n\t\t\t\t\t\t\"--label-width\": labelWidth,\r\n\t\t\t\t\t\t\"--label-align\": labelRight ? \"right\" : undefined,\r\n\t\t\t\t\t} as CSSProperties\r\n\t\t\t\t}\r\n\t\t\t\tclassName={classNames(\"i-form\", className, {\r\n\t\t\t\t\t\"i-form-inline\": labelInline,\r\n\t\t\t\t})}\r\n\t\t\t\tonKeyDown={handleKeyDown}\r\n\t\t\t\t{...restProps}\r\n\t\t\t>\r\n\t\t\t\t{children}\r\n\t\t\t</form>\r\n\t\t</Context>\r\n\t);\r\n};\r\n\r\nForm.useForm = useForm;\r\nForm.Field = Field;\r\nForm.useConfig = useConfig;\r\n\r\nexport default Form;\r\n"],"names":["useMemo","useEffect","PubSub","_jsx","Context","classNames","useForm","Field","useConfig"],"mappings":";;;;;;;;;;;;;;;;;;AAUA,MAAM,IAAI,GAAG,CAAC,KAAY,KAAI;AAC7B,IAAA,MAAM,EACL,IAAI,GAAG,EAAmB,EAC1B,KAAK,EACL,aAAa,EACb,KAAK,EACL,SAAS,EACT,KAAK,EACL,OAAO,EACP,YAAY,EACZ,GAAG,GAAG,KAAK,EACX,WAAW,EACX,UAAU,EACV,UAAU,EACV,QAAQ,EACR,SAAS,EACT,OAAO,EACP,QAAQ,EACR,GAAG,SAAS,EACZ,GAAG,KAAK;AAET,IAAA,MAAM,aAAa,GAAG,CAAC,CAAC,KAAI;AAC3B,QAAA,SAAS,GAAG,CAAC,CAAC;AAEd,QAAA,IAAI,CAAC,CAAC,OAAO,KAAK,EAAE;YAAE;QAEtB,OAAO,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC;AAC9B,KAAC;AAED,IAAA,MAAM,WAAW,GAAGA,aAAO,CAAC,MAAK;AAChC,QAAA,IAAI,CAAC,OAAO,IAAI,CAAC,YAAY;YAAE;QAE/B,IAAI,YAAY,EAAE;YACjB,OAAO,CAAA,yBAAA,EAA4B,YAAY,CAAA,OAAA,CAAS;;AAGzD,QAAA,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AAChC,YAAA,OAAO,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC;;AAGzC,QAAA,OAAO,OAAO;AACf,KAAC,EAAE,CAAC,OAAO,CAAC,CAAC;IAEbC,eAAS,CAAC,MAAK;AACd,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;AACnB,YAAA,IAAI,EAAE,EAAE,GAAG,aAAa,EAAE;YAC1B,KAAK;AACL,SAAA,CAAC;AACH,KAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IAEVA,eAAS,CAAC,MAAK;AACd,QAAAC,eAAM,CAAC,SAAS,CAAC,CAAA,EAAG,IAAI,CAAC,EAAE,CAAS,OAAA,CAAA,EAAE,CAAC,GAAG,EAAE,CAAC,KAAI;YAChD,QAAQ,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC;AAC5B,SAAC,CAAC;AAEF,QAAA,OAAO,MAAK;YACXA,eAAM,CAAC,WAAW,CAAC,CAAA,EAAG,IAAI,CAAC,EAAE,CAAS,OAAA,CAAA,CAAC;AACxC,SAAC;KACD,EAAE,EAAE,CAAC;IAEN,QACCC,cAAC,CAAAC,eAAO,EAAC,EAAA,KAAK,EAAE,IAAI,EAAA,QAAA,EACnBD,cACC,CAAA,MAAA,EAAA,EAAA,KAAK,EACJ;AACC,gBAAA,GAAG,KAAK;gBACR,KAAK;gBACL,GAAG;AACH,gBAAA,mBAAmB,EAAE,WAAkB;AACvC,gBAAA,eAAe,EAAE,UAAU;gBAC3B,eAAe,EAAE,UAAU,GAAG,OAAO,GAAG,SAAS;AAChC,aAAA,EAEnB,SAAS,EAAEE,mBAAU,CAAC,QAAQ,EAAE,SAAS,EAAE;AAC1C,gBAAA,eAAe,EAAE,WAAW;aAC5B,CAAC,EACF,SAAS,EAAE,aAAa,EAAA,GACpB,SAAS,EAAA,QAAA,EAEZ,QAAQ,EAAA,CACH,EACE,CAAA;AAEZ;AAEA,IAAI,CAAC,OAAO,GAAGC,eAAO;AACtB,IAAI,CAAC,KAAK,GAAGC,aAAK;AAClB,IAAI,CAAC,SAAS,GAAGC,iBAAS;;;;"}
1
+ {"version":3,"file":"form.js","sources":["../../../../packages/components/form/form.tsx"],"sourcesContent":["import classNames from \"classnames\";\nimport PubSub from \"pubsub-js\";\nimport { CSSProperties, useEffect, useMemo } from \"react\";\nimport Context from \"./context\";\nimport Field from \"./field\";\nimport \"./index.css\";\nimport { IForm } from \"./type\";\nimport useConfig from \"./useConfig\";\nimport useForm, { IFormInstance } from \"./useForm\";\n\nconst Form = (props: IForm) => {\n\tconst {\n\t\tform = {} as IFormInstance,\n\t\trules,\n\t\tinitialValues,\n\t\tstyle,\n\t\tclassName,\n\t\twidth,\n\t\tcolumns,\n\t\titemMaxWidth,\n\t\tgap = \"1em\",\n\t\tlabelInline,\n\t\tlabelWidth,\n\t\tlabelRight,\n\t\tchildren,\n\t\tonKeyDown,\n\t\tonEnter,\n\t\tonChange,\n\t\t...restProps\n\t} = props;\n\n\tconst handleKeyDown = (e) => {\n\t\tonKeyDown?.(e);\n\n\t\tif (e.keyCode !== 13) return;\n\n\t\tonEnter?.(e, form.data, form);\n\t};\n\n\tconst gridColumns = useMemo(() => {\n\t\tif (!columns && !itemMaxWidth) return;\n\n\t\tif (itemMaxWidth) {\n\t\t\treturn `repeat(auto-fill, minmax(${itemMaxWidth}, 1fr))`;\n\t\t}\n\n\t\tif (typeof columns === \"number\") {\n\t\t\treturn `minmax(0, 1fr) `.repeat(columns);\n\t\t}\n\n\t\treturn columns;\n\t}, [columns]);\n\n\tuseEffect(() => {\n\t\tObject.assign(form, {\n\t\t\tdata: { ...initialValues },\n\t\t\trules,\n\t\t});\n\t}, [form]);\n\n\tuseEffect(() => {\n\t\tPubSub.subscribe(`${form.id}:change`, (evt, v) => {\n\t\t\tonChange?.(v.name, v.value);\n\t\t});\n\n\t\treturn () => {\n\t\t\tPubSub.unsubscribe(`${form.id}:change`);\n\t\t};\n\t}, []);\n\n\treturn (\n\t\t<Context value={form}>\n\t\t\t<form\n\t\t\t\tstyle={\n\t\t\t\t\t{\n\t\t\t\t\t\t...style,\n\t\t\t\t\t\twidth,\n\t\t\t\t\t\tgap,\n\t\t\t\t\t\tgridTemplateColumns: gridColumns as any,\n\t\t\t\t\t\t\"--label-width\": labelWidth,\n\t\t\t\t\t\t\"--label-align\": labelRight ? \"right\" : undefined,\n\t\t\t\t\t} as CSSProperties\n\t\t\t\t}\n\t\t\t\tclassName={classNames(\"i-form\", className, {\n\t\t\t\t\t\"i-form-inline\": labelInline,\n\t\t\t\t})}\n\t\t\t\tonKeyDown={handleKeyDown}\n\t\t\t\t{...restProps}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</form>\n\t\t</Context>\n\t);\n};\n\nForm.useForm = useForm;\nForm.Field = Field;\nForm.useConfig = useConfig;\n\nexport default Form;\n"],"names":["useMemo","useEffect","PubSub","_jsx","Context","classNames","useForm","Field","useConfig"],"mappings":";;;;;;;;;;;;;;;;;;AAUA,MAAM,IAAI,GAAG,CAAC,KAAY,KAAI;AAC7B,IAAA,MAAM,EACL,IAAI,GAAG,EAAmB,EAC1B,KAAK,EACL,aAAa,EACb,KAAK,EACL,SAAS,EACT,KAAK,EACL,OAAO,EACP,YAAY,EACZ,GAAG,GAAG,KAAK,EACX,WAAW,EACX,UAAU,EACV,UAAU,EACV,QAAQ,EACR,SAAS,EACT,OAAO,EACP,QAAQ,EACR,GAAG,SAAS,EACZ,GAAG,KAAK;AAET,IAAA,MAAM,aAAa,GAAG,CAAC,CAAC,KAAI;AAC3B,QAAA,SAAS,GAAG,CAAC,CAAC;AAEd,QAAA,IAAI,CAAC,CAAC,OAAO,KAAK,EAAE;YAAE;QAEtB,OAAO,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC;AAC9B,IAAA,CAAC;AAED,IAAA,MAAM,WAAW,GAAGA,aAAO,CAAC,MAAK;AAChC,QAAA,IAAI,CAAC,OAAO,IAAI,CAAC,YAAY;YAAE;QAE/B,IAAI,YAAY,EAAE;YACjB,OAAO,CAAA,yBAAA,EAA4B,YAAY,CAAA,OAAA,CAAS;QACzD;AAEA,QAAA,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AAChC,YAAA,OAAO,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC;QACzC;AAEA,QAAA,OAAO,OAAO;AACf,IAAA,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;IAEbC,eAAS,CAAC,MAAK;AACd,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;AACnB,YAAA,IAAI,EAAE,EAAE,GAAG,aAAa,EAAE;YAC1B,KAAK;AACL,SAAA,CAAC;AACH,IAAA,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IAEVA,eAAS,CAAC,MAAK;AACd,QAAAC,eAAM,CAAC,SAAS,CAAC,CAAA,EAAG,IAAI,CAAC,EAAE,CAAA,OAAA,CAAS,EAAE,CAAC,GAAG,EAAE,CAAC,KAAI;YAChD,QAAQ,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC;AAC5B,QAAA,CAAC,CAAC;AAEF,QAAA,OAAO,MAAK;YACXA,eAAM,CAAC,WAAW,CAAC,CAAA,EAAG,IAAI,CAAC,EAAE,CAAA,OAAA,CAAS,CAAC;AACxC,QAAA,CAAC;IACF,CAAC,EAAE,EAAE,CAAC;IAEN,QACCC,cAAA,CAACC,eAAO,EAAA,EAAC,KAAK,EAAE,IAAI,EAAA,QAAA,EACnBD,cAAA,CAAA,MAAA,EAAA,EACC,KAAK,EACJ;AACC,gBAAA,GAAG,KAAK;gBACR,KAAK;gBACL,GAAG;AACH,gBAAA,mBAAmB,EAAE,WAAkB;AACvC,gBAAA,eAAe,EAAE,UAAU;gBAC3B,eAAe,EAAE,UAAU,GAAG,OAAO,GAAG,SAAS;AAChC,aAAA,EAEnB,SAAS,EAAEE,mBAAU,CAAC,QAAQ,EAAE,SAAS,EAAE;AAC1C,gBAAA,eAAe,EAAE,WAAW;aAC5B,CAAC,EACF,SAAS,EAAE,aAAa,EAAA,GACpB,SAAS,EAAA,QAAA,EAEZ,QAAQ,EAAA,CACH,EAAA,CACE;AAEZ;AAEA,IAAI,CAAC,OAAO,GAAGC,eAAO;AACtB,IAAI,CAAC,KAAK,GAAGC,aAAK;AAClB,IAAI,CAAC,SAAS,GAAGC,iBAAS;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useConfig.js","sources":["../../../../packages/components/form/useConfig.tsx"],"sourcesContent":["import { Fragment, useMemo, useState } from \"react\";\r\nimport Field from \"./field\";\r\nimport Form from \"./form\";\r\nimport { IForm, IFormItem } from \"./type\";\r\nimport useForm from \"./useForm\";\r\n\r\nexport default function useConfig(configs: IFormItem[], formProps?: IForm) {\r\n\tconst form = useForm();\r\n\tconst { onChange } = formProps ?? {};\r\n\tconst [values, setValues] = useState({});\r\n\r\n\tconst handleChange = (name, value) => {\r\n\t\tsetValues(() => ({ ...form.get() }));\r\n\t\tonChange?.(name, value);\r\n\t};\r\n\r\n\tconst node = useMemo(() => {\r\n\t\treturn (\r\n\t\t\t<Form {...formProps} onChange={handleChange} form={form}>\r\n\t\t\t\t{configs.map((config) => {\r\n\t\t\t\t\tconst {\r\n\t\t\t\t\t\tname,\r\n\t\t\t\t\t\tlabel,\r\n\t\t\t\t\t\trequired,\r\n\t\t\t\t\t\tcomponent: El,\r\n\t\t\t\t\t\tcomponentProps = {},\r\n\t\t\t\t\t\tcolspan = 1,\r\n\t\t\t\t\t\trender,\r\n\t\t\t\t\t\tshouldUpdate,\r\n\t\t\t\t\t\tshouldRender,\r\n\t\t\t\t\t} = config;\r\n\t\t\t\t\tconst { className, style } = componentProps;\r\n\r\n\t\t\t\t\tif (shouldRender && !shouldRender(values, form)) {\r\n\t\t\t\t\t\treturn <Fragment key={name} />;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\t<Field key={name} name={name} required={required}>\r\n\t\t\t\t\t\t\t{render?.(config, values) ?? (\r\n\t\t\t\t\t\t\t\t<El\r\n\t\t\t\t\t\t\t\t\tlabel={label}\r\n\t\t\t\t\t\t\t\t\trequired={required}\r\n\t\t\t\t\t\t\t\t\t{...componentProps}\r\n\t\t\t\t\t\t\t\t\tclassName={`${className ?? \"\"} ${\r\n\t\t\t\t\t\t\t\t\t\tcolspan !== 1\r\n\t\t\t\t\t\t\t\t\t\t\t? `colspan-${colspan}`\r\n\t\t\t\t\t\t\t\t\t\t\t: \"\"\r\n\t\t\t\t\t\t\t\t\t}`}\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t</Field>\r\n\t\t\t\t\t);\r\n\t\t\t\t})}\r\n\t\t\t</Form>\r\n\t\t);\r\n\t}, [configs, values]);\r\n\r\n\treturn {\r\n\t\tform,\r\n\t\tnode,\r\n\t};\r\n}\r\n"],"names":["form","useForm","useState","useMemo","_jsx","Form","Fragment","Field"],"mappings":";;;;;;;;;;AAMc,SAAU,SAAS,CAAC,OAAoB,EAAE,SAAiB,EAAA;AACxE,IAAA,MAAMA,MAAI,GAAGC,eAAO,EAAE;AACtB,IAAA,MAAM,EAAE,QAAQ,EAAE,GAAG,SAAS,IAAI,EAAE;IACpC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAGC,cAAQ,CAAC,EAAE,CAAC;AAExC,IAAA,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,KAAK,KAAI;AACpC,QAAA,SAAS,CAAC,OAAO,EAAE,GAAGF,MAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;AACpC,QAAA,QAAQ,GAAG,IAAI,EAAE,KAAK,CAAC;AACxB,KAAC;AAED,IAAA,MAAM,IAAI,GAAGG,aAAO,CAAC,MAAK;QACzB,QACCC,eAACC,YAAI,EAAA,EAAA,GAAK,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAEL,MAAI,YACrD,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,KAAI;gBACvB,MAAM,EACL,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,SAAS,EAAE,EAAE,EACb,cAAc,GAAG,EAAE,EACnB,OAAO,GAAG,CAAC,EACX,MAAM,EACN,YAAY,EACZ,YAAY,GACZ,GAAG,MAAM;AACV,gBAAA,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,cAAc;gBAE3C,IAAI,YAAY,IAAI,CAAC,YAAY,CAAC,MAAM,EAAEA,MAAI,CAAC,EAAE;AAChD,oBAAA,OAAOI,cAAC,CAAAE,cAAQ,EAAM,EAAA,EAAA,IAAI,CAAI;;AAG/B,gBAAA,QACCF,cAAC,CAAAG,aAAK,IAAY,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAA,QAAA,EAC9C,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,KACxBH,eAAC,EAAE,EAAA,EACF,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EACd,GAAA,cAAc,EAClB,SAAS,EAAE,GAAG,SAAS,IAAI,EAAE,CAC5B,CAAA,EAAA,OAAO,KAAK;8BACT,CAAW,QAAA,EAAA,OAAO,CAAE;8BACpB,EACJ,CAAE,CAAA,EAAA,CACD,CACF,EAZU,EAAA,IAAI,CAaR;aAET,CAAC,EACI,CAAA;AAET,KAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAErB,OAAO;cACNJ,MAAI;QACJ,IAAI;KACJ;AACF;;;;"}
1
+ {"version":3,"file":"useConfig.js","sources":["../../../../packages/components/form/useConfig.tsx"],"sourcesContent":["import { Fragment, useMemo, useState } from \"react\";\nimport Field from \"./field\";\nimport Form from \"./form\";\nimport { IForm, IFormItem } from \"./type\";\nimport useForm from \"./useForm\";\n\nexport default function useConfig(configs: IFormItem[], formProps?: IForm) {\n\tconst form = useForm();\n\tconst { onChange } = formProps ?? {};\n\tconst [values, setValues] = useState({});\n\n\tconst handleChange = (name, value) => {\n\t\tsetValues(() => ({ ...form.get() }));\n\t\tonChange?.(name, value);\n\t};\n\n\tconst node = useMemo(() => {\n\t\treturn (\n\t\t\t<Form {...formProps} onChange={handleChange} form={form}>\n\t\t\t\t{configs.map((config) => {\n\t\t\t\t\tconst {\n\t\t\t\t\t\tname,\n\t\t\t\t\t\tlabel,\n\t\t\t\t\t\trequired,\n\t\t\t\t\t\tcomponent: El,\n\t\t\t\t\t\tcomponentProps = {},\n\t\t\t\t\t\tcolspan = 1,\n\t\t\t\t\t\trender,\n\t\t\t\t\t\tshouldUpdate,\n\t\t\t\t\t\tshouldRender,\n\t\t\t\t\t} = config;\n\t\t\t\t\tconst { className, style } = componentProps;\n\n\t\t\t\t\tif (shouldRender && !shouldRender(values, form)) {\n\t\t\t\t\t\treturn <Fragment key={name} />;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Field key={name} name={name} required={required}>\n\t\t\t\t\t\t\t{render?.(config, values) ?? (\n\t\t\t\t\t\t\t\t<El\n\t\t\t\t\t\t\t\t\tlabel={label}\n\t\t\t\t\t\t\t\t\trequired={required}\n\t\t\t\t\t\t\t\t\t{...componentProps}\n\t\t\t\t\t\t\t\t\tclassName={`${className ?? \"\"} ${\n\t\t\t\t\t\t\t\t\t\tcolspan !== 1\n\t\t\t\t\t\t\t\t\t\t\t? `colspan-${colspan}`\n\t\t\t\t\t\t\t\t\t\t\t: \"\"\n\t\t\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</Field>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</Form>\n\t\t);\n\t}, [configs, values]);\n\n\treturn {\n\t\tform,\n\t\tnode,\n\t};\n}\n"],"names":["form","useForm","useState","useMemo","_jsx","Form","Fragment","Field"],"mappings":";;;;;;;;;;AAMc,SAAU,SAAS,CAAC,OAAoB,EAAE,SAAiB,EAAA;AACxE,IAAA,MAAMA,MAAI,GAAGC,eAAO,EAAE;AACtB,IAAA,MAAM,EAAE,QAAQ,EAAE,GAAG,SAAS,IAAI,EAAE;IACpC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAGC,cAAQ,CAAC,EAAE,CAAC;AAExC,IAAA,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,KAAK,KAAI;AACpC,QAAA,SAAS,CAAC,OAAO,EAAE,GAAGF,MAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;AACpC,QAAA,QAAQ,GAAG,IAAI,EAAE,KAAK,CAAC;AACxB,IAAA,CAAC;AAED,IAAA,MAAM,IAAI,GAAGG,aAAO,CAAC,MAAK;QACzB,QACCC,eAACC,YAAI,EAAA,EAAA,GAAK,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAEL,MAAI,YACrD,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,KAAI;gBACvB,MAAM,EACL,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,SAAS,EAAE,EAAE,EACb,cAAc,GAAG,EAAE,EACnB,OAAO,GAAG,CAAC,EACX,MAAM,EACN,YAAY,EACZ,YAAY,GACZ,GAAG,MAAM;AACV,gBAAA,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,cAAc;gBAE3C,IAAI,YAAY,IAAI,CAAC,YAAY,CAAC,MAAM,EAAEA,MAAI,CAAC,EAAE;AAChD,oBAAA,OAAOI,cAAA,CAACE,cAAQ,EAAA,EAAA,EAAM,IAAI,CAAI;gBAC/B;AAEA,gBAAA,QACCF,cAAA,CAACG,aAAK,IAAY,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAA,QAAA,EAC9C,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,KACxBH,eAAC,EAAE,EAAA,EACF,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAAA,GACd,cAAc,EAClB,SAAS,EAAE,GAAG,SAAS,IAAI,EAAE,CAAA,CAAA,EAC5B,OAAO,KAAK;8BACT,CAAA,QAAA,EAAW,OAAO,CAAA;8BAClB,EACJ,CAAA,CAAE,EAAA,CACD,CACF,EAAA,EAZU,IAAI,CAaR;YAEV,CAAC,CAAC,EAAA,CACI;AAET,IAAA,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAErB,OAAO;cACNJ,MAAI;QACJ,IAAI;KACJ;AACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useForm.js","sources":["../../../../packages/components/form/useForm.ts"],"sourcesContent":["import PubSub from \"pubsub-js\";\r\nimport { uid } from \"radash\";\r\nimport { useRef } from \"react\";\r\nimport { IForm, TRule } from \"./type\";\r\n\r\nexport class IFormInstance {\r\n\treadonly id?: string;\r\n\tdata: Record<string, any> = {};\r\n\tcacheData: Record<string, any> = {};\r\n\trules?: Pick<IForm, \"rules\"> = {};\r\n\r\n\tconstructor() {\r\n\t\tthis.id = uid(8);\r\n\t\tthis.data = {};\r\n\t}\r\n\r\n\tget(field?: string) {\r\n\t\treturn field ? this.data[field] : this.data;\r\n\t}\r\n\r\n\tset(field: any, value?: any) {\r\n\t\tconst id = this.id;\r\n\t\tif (!this.data) return;\r\n\r\n\t\tif (typeof field === \"string\") {\r\n\t\t\tthis.data[field] = value;\r\n\t\t\tthis.cacheData[field] = value;\r\n\t\t\tPubSub.publish(`${id}:set:${field}`, value);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tObject.keys(field).map((name) => {\r\n\t\t\tthis.data[name] = field[name];\r\n\t\t\tthis.cacheData[name] = field[name];\r\n\t\t\tPubSub.publish(`${id}:set:${name}`, field[name]);\r\n\t\t});\r\n\t}\r\n\r\n\tdelete(field) {\r\n\t\tdelete this.data[field];\r\n\t}\r\n\r\n\tclear() {\r\n\t\tif (!this.data) return;\r\n\t\tthis.cacheData = {};\r\n\r\n\t\tObject.keys(this.data).map((name) => {\r\n\t\t\tPubSub.publish(`${this.id}:set:${name}`, undefined);\r\n\t\t\tthis.data[name] = undefined;\r\n\t\t});\r\n\t}\r\n\r\n\tasync validate(field?: string) {\r\n\t\tconst { id, rules, data } = this;\r\n\t\tif (!rules) return data;\r\n\r\n\t\tif (field) {\r\n\t\t\tconst o = rules[field];\r\n\t\t\tconst rule: TRule = {\r\n\t\t\t\tvalidator: (v) =>\r\n\t\t\t\t\tArray.isArray(v)\r\n\t\t\t\t\t\t? v.length > 0\r\n\t\t\t\t\t\t: ![undefined, null, \"\"].includes(v),\r\n\t\t\t\tmessage: undefined,\r\n\t\t\t};\r\n\r\n\t\t\tif (typeof o === \"function\") {\r\n\t\t\t\trule.validator = o;\r\n\t\t\t} else if (o === true) {\r\n\t\t\t\trule.validator = (v) => ![undefined, null, \"\"].includes(v);\r\n\t\t\t\trule.message = \"required\";\r\n\t\t\t} else {\r\n\t\t\t\tObject.assign(rule, o);\r\n\t\t\t}\r\n\r\n\t\t\tconst isValid = rule.validator?.(data[field], this);\r\n\t\t\tif (typeof isValid === \"string\") {\r\n\t\t\t\trule.message = isValid;\r\n\t\t\t}\r\n\r\n\t\t\tif (isValid !== true) {\r\n\t\t\t\tPubSub.publish(`${id}:invalid:${field}`, {\r\n\t\t\t\t\tmessage: rule.message,\r\n\t\t\t\t\tstatus: \"error\",\r\n\t\t\t\t});\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\r\n\t\t\tPubSub.publish(`${id}:invalid:${name}`, {\r\n\t\t\t\tmessage: null,\r\n\t\t\t\tstatus: \"normal\",\r\n\t\t\t});\r\n\t\t\treturn true;\r\n\t\t}\r\n\r\n\t\tlet isAllValid = true;\r\n\r\n\t\tObject.keys(data).map((name) => {\r\n\t\t\tconst o = rules[name];\r\n\t\t\tif (o === undefined) return;\r\n\r\n\t\t\tconst rule: TRule = {\r\n\t\t\t\tvalidator: (v) => (Array.isArray(v) ? v.length > 0 : !!v),\r\n\t\t\t\tmessage: undefined,\r\n\t\t\t};\r\n\r\n\t\t\tif (typeof o === \"function\") {\r\n\t\t\t\trule.validator = o;\r\n\t\t\t} else if (o === true) {\r\n\t\t\t\trule.validator = (v) => ![undefined, null, \"\"].includes(v);\r\n\t\t\t\trule.message = \"required\";\r\n\t\t\t} else {\r\n\t\t\t\tObject.assign(rule, o);\r\n\t\t\t}\r\n\r\n\t\t\tconst isValid = rule.validator?.(data[name], this);\r\n\t\t\tif (typeof isValid === \"string\") {\r\n\t\t\t\trule.message = isValid;\r\n\t\t\t}\r\n\r\n\t\t\tif (isValid !== true) {\r\n\t\t\t\tPubSub.publish(`${id}:invalid:${name}`, {\r\n\t\t\t\t\tmessage: rule.message,\r\n\t\t\t\t\tstatus: \"error\",\r\n\t\t\t\t});\r\n\t\t\t\tisAllValid = false;\r\n\t\t\t} else {\r\n\t\t\t\tPubSub.publish(`${id}:invalid:${name}`, {\r\n\t\t\t\t\tmessage: null,\r\n\t\t\t\t\tstatus: \"normal\",\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\treturn isAllValid ? Promise.resolve(data) : false;\r\n\t}\r\n}\r\n\r\nexport default function useForm(form?: IFormInstance) {\r\n\tconst formRef = useRef<IFormInstance>(null);\r\n\r\n\tif (!formRef.current) {\r\n\t\tformRef.current = form ?? new IFormInstance();\r\n\t}\r\n\r\n\treturn formRef.current;\r\n}\r\n"],"names":["uid","PubSub","useRef"],"mappings":"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"}
1
+ {"version":3,"file":"useForm.js","sources":["../../../../packages/components/form/useForm.ts"],"sourcesContent":["import PubSub from \"pubsub-js\";\nimport { uid } from \"radash\";\nimport { useRef } from \"react\";\nimport { IForm, TRule } from \"./type\";\n\nexport class IFormInstance {\n\treadonly id?: string;\n\tdata: Record<string, any> = {};\n\tcacheData: Record<string, any> = {};\n\trules?: Pick<IForm, \"rules\"> = {};\n\n\tconstructor() {\n\t\tthis.id = uid(8);\n\t\tthis.data = {};\n\t}\n\n\tget(field?: string) {\n\t\treturn field ? this.data[field] : this.data;\n\t}\n\n\tset(field: any, value?: any) {\n\t\tconst id = this.id;\n\t\tif (!this.data) return;\n\n\t\tif (typeof field === \"string\") {\n\t\t\tthis.data[field] = value;\n\t\t\tthis.cacheData[field] = value;\n\t\t\tPubSub.publish(`${id}:set:${field}`, value);\n\t\t\treturn;\n\t\t}\n\n\t\tObject.keys(field).map((name) => {\n\t\t\tthis.data[name] = field[name];\n\t\t\tthis.cacheData[name] = field[name];\n\t\t\tPubSub.publish(`${id}:set:${name}`, field[name]);\n\t\t});\n\t}\n\n\tdelete(field) {\n\t\tdelete this.data[field];\n\t}\n\n\tclear() {\n\t\tif (!this.data) return;\n\t\tthis.cacheData = {};\n\n\t\tObject.keys(this.data).map((name) => {\n\t\t\tPubSub.publish(`${this.id}:set:${name}`, undefined);\n\t\t\tthis.data[name] = undefined;\n\t\t});\n\t}\n\n\tasync validate(field?: string) {\n\t\tconst { id, rules, data } = this;\n\t\tif (!rules) return data;\n\n\t\tif (field) {\n\t\t\tconst o = rules[field];\n\t\t\tconst rule: TRule = {\n\t\t\t\tvalidator: (v) =>\n\t\t\t\t\tArray.isArray(v)\n\t\t\t\t\t\t? v.length > 0\n\t\t\t\t\t\t: ![undefined, null, \"\"].includes(v),\n\t\t\t\tmessage: undefined,\n\t\t\t};\n\n\t\t\tif (typeof o === \"function\") {\n\t\t\t\trule.validator = o;\n\t\t\t} else if (o === true) {\n\t\t\t\trule.validator = (v) => ![undefined, null, \"\"].includes(v);\n\t\t\t\trule.message = \"required\";\n\t\t\t} else {\n\t\t\t\tObject.assign(rule, o);\n\t\t\t}\n\n\t\t\tconst isValid = rule.validator?.(data[field], this);\n\t\t\tif (typeof isValid === \"string\") {\n\t\t\t\trule.message = isValid;\n\t\t\t}\n\n\t\t\tif (isValid !== true) {\n\t\t\t\tPubSub.publish(`${id}:invalid:${field}`, {\n\t\t\t\t\tmessage: rule.message,\n\t\t\t\t\tstatus: \"error\",\n\t\t\t\t});\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tPubSub.publish(`${id}:invalid:${name}`, {\n\t\t\t\tmessage: null,\n\t\t\t\tstatus: \"normal\",\n\t\t\t});\n\t\t\treturn true;\n\t\t}\n\n\t\tlet isAllValid = true;\n\n\t\tObject.keys(data).map((name) => {\n\t\t\tconst o = rules[name];\n\t\t\tif (o === undefined) return;\n\n\t\t\tconst rule: TRule = {\n\t\t\t\tvalidator: (v) => (Array.isArray(v) ? v.length > 0 : !!v),\n\t\t\t\tmessage: undefined,\n\t\t\t};\n\n\t\t\tif (typeof o === \"function\") {\n\t\t\t\trule.validator = o;\n\t\t\t} else if (o === true) {\n\t\t\t\trule.validator = (v) => ![undefined, null, \"\"].includes(v);\n\t\t\t\trule.message = \"required\";\n\t\t\t} else {\n\t\t\t\tObject.assign(rule, o);\n\t\t\t}\n\n\t\t\tconst isValid = rule.validator?.(data[name], this);\n\t\t\tif (typeof isValid === \"string\") {\n\t\t\t\trule.message = isValid;\n\t\t\t}\n\n\t\t\tif (isValid !== true) {\n\t\t\t\tPubSub.publish(`${id}:invalid:${name}`, {\n\t\t\t\t\tmessage: rule.message,\n\t\t\t\t\tstatus: \"error\",\n\t\t\t\t});\n\t\t\t\tisAllValid = false;\n\t\t\t} else {\n\t\t\t\tPubSub.publish(`${id}:invalid:${name}`, {\n\t\t\t\t\tmessage: null,\n\t\t\t\t\tstatus: \"normal\",\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\t\treturn isAllValid ? Promise.resolve(data) : false;\n\t}\n}\n\nexport default function useForm(form?: IFormInstance) {\n\tconst formRef = useRef<IFormInstance>(null);\n\n\tif (!formRef.current) {\n\t\tformRef.current = form ?? new IFormInstance();\n\t}\n\n\treturn formRef.current;\n}\n"],"names":["uid","PubSub","useRef"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"icon.js","sources":["../../../../packages/components/icon/icon.tsx"],"sourcesContent":["import classNames from \"classnames\";\r\nimport { cloneElement, isValidElement } from \"react\";\r\nimport \"./index.css\";\r\nimport { IIcon } from \"./type\";\r\n\r\nconst Icon = (props: IIcon) => {\r\n\tconst {\r\n\t\tref,\r\n\t\ticon,\r\n\t\tsize = \"1.425em\",\r\n\t\trotate,\r\n\t\tstyle,\r\n\t\tclassName,\r\n\t\t...restProps\r\n\t} = props;\r\n\r\n\tif (!isValidElement(icon)) return icon;\r\n\r\n\tconst iconProps = {\r\n\t\tref,\r\n\t\tstyle: {\r\n\t\t\ttransform: rotate ? `rotate(${rotate}deg)` : undefined,\r\n\t\t\t...style,\r\n\t\t\twidth: size,\r\n\t\t\theight: size,\r\n\t\t},\r\n\t\tclassName: classNames(\"i-icon\", className),\r\n\t\t...restProps,\r\n\t};\r\n\r\n\treturn cloneElement(icon, iconProps);\r\n};\r\n\r\nexport default Icon;\r\n"],"names":["isValidElement","classNames","cloneElement"],"mappings":";;;;;;;;;;;AAKA,MAAM,IAAI,GAAG,CAAC,KAAY,KAAI;IAC7B,MAAM,EACL,GAAG,EACH,IAAI,EACJ,IAAI,GAAG,SAAS,EAChB,MAAM,EACN,KAAK,EACL,SAAS,EACT,GAAG,SAAS,EACZ,GAAG,KAAK;AAET,IAAA,IAAI,CAACA,oBAAc,CAAC,IAAI,CAAC;AAAE,QAAA,OAAO,IAAI;AAEtC,IAAA,MAAM,SAAS,GAAG;QACjB,GAAG;AACH,QAAA,KAAK,EAAE;YACN,SAAS,EAAE,MAAM,GAAG,CAAU,OAAA,EAAA,MAAM,CAAM,IAAA,CAAA,GAAG,SAAS;AACtD,YAAA,GAAG,KAAK;AACR,YAAA,KAAK,EAAE,IAAI;AACX,YAAA,MAAM,EAAE,IAAI;AACZ,SAAA;AACD,QAAA,SAAS,EAAEC,mBAAU,CAAC,QAAQ,EAAE,SAAS,CAAC;AAC1C,QAAA,GAAG,SAAS;KACZ;AAED,IAAA,OAAOC,kBAAY,CAAC,IAAI,EAAE,SAAS,CAAC;AACrC;;;;"}
1
+ {"version":3,"file":"icon.js","sources":["../../../../packages/components/icon/icon.tsx"],"sourcesContent":["import classNames from \"classnames\";\nimport { cloneElement, isValidElement } from \"react\";\nimport \"./index.css\";\nimport { IIcon } from \"./type\";\n\nconst Icon = (props: IIcon) => {\n\tconst {\n\t\tref,\n\t\ticon,\n\t\tsize = \"1.425em\",\n\t\trotate,\n\t\tstyle,\n\t\tclassName,\n\t\t...restProps\n\t} = props;\n\n\tif (!isValidElement(icon)) return icon;\n\n\tconst iconProps = {\n\t\tref,\n\t\tstyle: {\n\t\t\ttransform: rotate ? `rotate(${rotate}deg)` : undefined,\n\t\t\t...style,\n\t\t\twidth: size,\n\t\t\theight: size,\n\t\t},\n\t\tclassName: classNames(\"i-icon\", className),\n\t\t...restProps,\n\t};\n\n\treturn cloneElement(icon, iconProps);\n};\n\nexport default Icon;\n"],"names":["isValidElement","classNames","cloneElement"],"mappings":";;;;;;;;;;;AAKA,MAAM,IAAI,GAAG,CAAC,KAAY,KAAI;IAC7B,MAAM,EACL,GAAG,EACH,IAAI,EACJ,IAAI,GAAG,SAAS,EAChB,MAAM,EACN,KAAK,EACL,SAAS,EACT,GAAG,SAAS,EACZ,GAAG,KAAK;AAET,IAAA,IAAI,CAACA,oBAAc,CAAC,IAAI,CAAC;AAAE,QAAA,OAAO,IAAI;AAEtC,IAAA,MAAM,SAAS,GAAG;QACjB,GAAG;AACH,QAAA,KAAK,EAAE;YACN,SAAS,EAAE,MAAM,GAAG,CAAA,OAAA,EAAU,MAAM,CAAA,IAAA,CAAM,GAAG,SAAS;AACtD,YAAA,GAAG,KAAK;AACR,YAAA,KAAK,EAAE,IAAI;AACX,YAAA,MAAM,EAAE,IAAI;AACZ,SAAA;AACD,QAAA,SAAS,EAAEC,mBAAU,CAAC,QAAQ,EAAE,SAAS,CAAC;AAC1C,QAAA,GAAG,SAAS;KACZ;AAED,IAAA,OAAOC,kBAAY,CAAC,IAAI,EAAE,SAAS,CAAC;AACrC;;;;"}
@@ -4,7 +4,6 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var jsxRuntime = require('react/jsx-runtime');
6
6
  var material = require('@ricons/material');
7
- var ahooks = require('ahooks');
8
7
  var classNames = require('classnames');
9
8
  var react = require('react');
10
9
  var hooks = require('../../js/hooks.js');
@@ -19,7 +18,7 @@ var classNames__default = /*#__PURE__*/_interopDefaultCompat(classNames);
19
18
 
20
19
  const Image = (props) => {
21
20
  const { src, thumb, round, size, height, width, ratio, initSize, lazyload, fallback = (jsxRuntime.jsx(icon.default, { icon: jsxRuntime.jsx(material.HideImageTwotone, {}), size: '2em', className: 'color-5' })), fit, style, className, cover, coverClass, usePreview: previewable, onLoad, onError, onClick, ...restProps } = props;
22
- const state = ahooks.useReactive({
21
+ const state = hooks.useReactive({
23
22
  status: "loading",
24
23
  });
25
24
  const ref = react.useRef(null);
@@ -1 +1 @@
1
- {"version":3,"file":"image.js","sources":["../../../../packages/components/image/image.tsx"],"sourcesContent":["import { HideImageTwotone } from \"@ricons/material\";\r\nimport { useReactive } from \"ahooks\";\r\nimport classNames from \"classnames\";\r\nimport { useEffect, useRef } from \"react\";\r\nimport { useIntersectionObserver } from \"../../js/hooks\";\r\nimport usePreview from \"../../js/usePreview\";\r\nimport Icon from \"../icon\";\r\nimport Loading from \"../loading\";\r\nimport \"./index.css\";\r\nimport List from \"./list\";\r\nimport type { CompositionImage, IImage } from \"./type\";\r\n\r\nconst Image = (props: IImage) => {\r\n\tconst {\r\n\t\tsrc,\r\n\t\tthumb,\r\n\t\tround,\r\n\t\tsize,\r\n\t\theight,\r\n\t\twidth,\r\n\t\tratio,\r\n\t\tinitSize,\r\n\t\tlazyload,\r\n\t\tfallback = (\r\n\t\t\t<Icon icon={<HideImageTwotone />} size='2em' className='color-5' />\r\n\t\t),\r\n\t\tfit,\r\n\t\tstyle,\r\n\t\tclassName,\r\n\t\tcover,\r\n\t\tcoverClass,\r\n\t\tusePreview: previewable,\r\n\t\tonLoad,\r\n\t\tonError,\r\n\t\tonClick,\r\n\t\t...restProps\r\n\t} = props;\r\n\r\n\tconst state = useReactive<{ status?: string }>({\r\n\t\tstatus: \"loading\",\r\n\t});\r\n\tconst ref = useRef<HTMLImageElement>(null);\r\n\r\n\tconst { observe, unobserve } = useIntersectionObserver();\r\n\tconst preview = usePreview();\r\n\r\n\tconst handleError = (err) => {\r\n\t\tonError?.(err);\r\n\t\tstate.status = \"error\";\r\n\t};\r\n\r\n\tconst handleLoad = (e) => {\r\n\t\tonLoad?.(e);\r\n\t\tstate.status = undefined;\r\n\t};\r\n\r\n\tconst handleClick = (e) => {\r\n\t\tonClick?.(e);\r\n\r\n\t\tif (!previewable || !src) return;\r\n\r\n\t\tconst previewConfigs =\r\n\t\t\ttypeof previewable === \"boolean\" ? {} : previewable;\r\n\r\n\t\tpreview({\r\n\t\t\t...previewConfigs,\r\n\t\t\titems: [\r\n\t\t\t\t{\r\n\t\t\t\t\tsrc,\r\n\t\t\t\t\ttype: \"IMAGE\",\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t});\r\n\t};\r\n\r\n\tuseEffect(() => {\r\n\t\tif (!src || typeof window === \"undefined\") return;\r\n\r\n\t\tif (!ref.current?.complete && observe && lazyload) {\r\n\t\t\tstate.status = \"loading\";\r\n\t\t}\r\n\r\n\t\tif (!lazyload || !ref.current || !observe) return;\r\n\r\n\t\tobserve(ref.current, (tar: HTMLElement, visible: boolean) => {\r\n\t\t\tif (!visible) return;\r\n\r\n\t\t\ttar.setAttribute(\"src\", tar.dataset.src || \"\");\r\n\t\t\tunobserve(tar);\r\n\t\t});\r\n\r\n\t\treturn () => {\r\n\t\t\tref.current && unobserve(ref.current);\r\n\t\t};\r\n\t}, [src]);\r\n\r\n\trestProps[lazyload ? \"data-src\" : \"src\"] = thumb ?? src;\r\n\tconst iSize = state.status === \"loading\" ? initSize : undefined;\r\n\r\n\treturn (\r\n\t\t<div\r\n\t\t\tstyle={{\r\n\t\t\t\twidth: width ?? size ?? iSize,\r\n\t\t\t\theight: height ?? size ?? iSize,\r\n\t\t\t\taspectRatio: ratio,\r\n\t\t\t\t...style,\r\n\t\t\t}}\r\n\t\t\tclassName={classNames(\"i-image\", className, {\r\n\t\t\t\trounded: round,\r\n\t\t\t\t[`i-image-${state.status}`]: state.status,\r\n\t\t\t})}\r\n\t\t\tonClick={handleClick}\r\n\t\t>\r\n\t\t\t{state.status === \"error\" ? (\r\n\t\t\t\tfallback\r\n\t\t\t) : (\r\n\t\t\t\t<>\r\n\t\t\t\t\t{src && (\r\n\t\t\t\t\t\t<img\r\n\t\t\t\t\t\t\tref={ref}\r\n\t\t\t\t\t\t\tstyle={{ objectFit: fit }}\r\n\t\t\t\t\t\t\t{...restProps}\r\n\t\t\t\t\t\t\tonLoad={handleLoad}\r\n\t\t\t\t\t\t\tonError={handleError}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t{src && state.status === \"loading\" && <Loading absolute />}\r\n\r\n\t\t\t\t\t{cover && (\r\n\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\tclassName={classNames(\"i-image-cover\", coverClass)}\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t{cover}\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t)}\r\n\t\t\t\t</>\r\n\t\t\t)}\r\n\t\t</div>\r\n\t);\r\n};\r\n\r\nImage.List = List;\r\n\r\nexport default Image as CompositionImage;\r\n"],"names":["_jsx","Icon","HideImageTwotone","useReactive","useRef","useIntersectionObserver","usePreview","useEffect","classNames","_jsxs","_Fragment","Loading","List"],"mappings":"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"}
1
+ {"version":3,"file":"image.js","sources":["../../../../packages/components/image/image.tsx"],"sourcesContent":["import { HideImageTwotone } from \"@ricons/material\";\nimport classNames from \"classnames\";\nimport { useEffect, useRef } from \"react\";\nimport { useIntersectionObserver, useReactive } from \"../../js/hooks\";\nimport usePreview from \"../../js/usePreview\";\nimport Icon from \"../icon\";\nimport Loading from \"../loading\";\nimport \"./index.css\";\nimport List from \"./list\";\nimport type { CompositionImage, IImage } from \"./type\";\n\nconst Image = (props: IImage) => {\n\tconst {\n\t\tsrc,\n\t\tthumb,\n\t\tround,\n\t\tsize,\n\t\theight,\n\t\twidth,\n\t\tratio,\n\t\tinitSize,\n\t\tlazyload,\n\t\tfallback = (\n\t\t\t<Icon icon={<HideImageTwotone />} size='2em' className='color-5' />\n\t\t),\n\t\tfit,\n\t\tstyle,\n\t\tclassName,\n\t\tcover,\n\t\tcoverClass,\n\t\tusePreview: previewable,\n\t\tonLoad,\n\t\tonError,\n\t\tonClick,\n\t\t...restProps\n\t} = props;\n\n\tconst state = useReactive<{ status?: string }>({\n\t\tstatus: \"loading\",\n\t});\n\tconst ref = useRef<HTMLImageElement>(null);\n\n\tconst { observe, unobserve } = useIntersectionObserver();\n\tconst preview = usePreview();\n\n\tconst handleError = (err) => {\n\t\tonError?.(err);\n\t\tstate.status = \"error\";\n\t};\n\n\tconst handleLoad = (e) => {\n\t\tonLoad?.(e);\n\t\tstate.status = undefined;\n\t};\n\n\tconst handleClick = (e) => {\n\t\tonClick?.(e);\n\n\t\tif (!previewable || !src) return;\n\n\t\tconst previewConfigs =\n\t\t\ttypeof previewable === \"boolean\" ? {} : previewable;\n\n\t\tpreview({\n\t\t\t...previewConfigs,\n\t\t\titems: [\n\t\t\t\t{\n\t\t\t\t\tsrc,\n\t\t\t\t\ttype: \"IMAGE\",\n\t\t\t\t},\n\t\t\t],\n\t\t});\n\t};\n\n\tuseEffect(() => {\n\t\tif (!src || typeof window === \"undefined\") return;\n\n\t\tif (!ref.current?.complete && observe && lazyload) {\n\t\t\tstate.status = \"loading\";\n\t\t}\n\n\t\tif (!lazyload || !ref.current || !observe) return;\n\n\t\tobserve(ref.current, (tar: HTMLElement, visible: boolean) => {\n\t\t\tif (!visible) return;\n\n\t\t\ttar.setAttribute(\"src\", tar.dataset.src || \"\");\n\t\t\tunobserve(tar);\n\t\t});\n\n\t\treturn () => {\n\t\t\tref.current && unobserve(ref.current);\n\t\t};\n\t}, [src]);\n\n\trestProps[lazyload ? \"data-src\" : \"src\"] = thumb ?? src;\n\tconst iSize = state.status === \"loading\" ? initSize : undefined;\n\n\treturn (\n\t\t<div\n\t\t\tstyle={{\n\t\t\t\twidth: width ?? size ?? iSize,\n\t\t\t\theight: height ?? size ?? iSize,\n\t\t\t\taspectRatio: ratio,\n\t\t\t\t...style,\n\t\t\t}}\n\t\t\tclassName={classNames(\"i-image\", className, {\n\t\t\t\trounded: round,\n\t\t\t\t[`i-image-${state.status}`]: state.status,\n\t\t\t})}\n\t\t\tonClick={handleClick}\n\t\t>\n\t\t\t{state.status === \"error\" ? (\n\t\t\t\tfallback\n\t\t\t) : (\n\t\t\t\t<>\n\t\t\t\t\t{src && (\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tref={ref}\n\t\t\t\t\t\t\tstyle={{ objectFit: fit }}\n\t\t\t\t\t\t\t{...restProps}\n\t\t\t\t\t\t\tonLoad={handleLoad}\n\t\t\t\t\t\t\tonError={handleError}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{src && state.status === \"loading\" && <Loading absolute />}\n\n\t\t\t\t\t{cover && (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName={classNames(\"i-image-cover\", coverClass)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{cover}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n\nImage.List = List;\n\nexport default Image as CompositionImage;\n"],"names":["_jsx","Icon","HideImageTwotone","useReactive","useRef","useIntersectionObserver","usePreview","useEffect","classNames","_jsxs","_Fragment","Loading","List"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"list.js","sources":["../../../../packages/components/image/list.tsx"],"sourcesContent":["import { useMemo } from \"react\";\r\nimport usePreview from \"../../js/usePreview\";\r\nimport { TPreviewItem } from \"../../js/usePreview/type\";\r\nimport { getFileType, getSuffixByUrl } from \"../../js/utils\";\r\nimport Flex from \"../flex\";\r\nimport Image from \"./image\";\r\nimport { IImageList } from \"./type\";\r\n\r\nexport default function List(props: IImageList) {\r\n\tconst {\r\n\t\titems = [],\r\n\t\tgap = 8,\r\n\t\tcolumns,\r\n\t\twrap,\r\n\t\tdirection,\r\n\t\tusePreview: previewable,\r\n\t\tonClick,\r\n\t\t...restProps\r\n\t} = props;\r\n\tconst preview = usePreview();\r\n\r\n\tconst files = useMemo(() => {\r\n\t\treturn items.map((item) => {\r\n\t\t\tconst o: TPreviewItem = {\r\n\t\t\t\tsrc: \"\",\r\n\t\t\t};\r\n\t\t\tif (typeof item === \"string\") {\r\n\t\t\t\to.src = item;\r\n\t\t\t} else {\r\n\t\t\t\tObject.assign(o, item);\r\n\t\t\t}\r\n\r\n\t\t\to.suffix = getSuffixByUrl(o.src) || \"\";\r\n\t\t\to.type = getFileType(o.suffix, item[\"type\"]);\r\n\r\n\t\t\treturn o;\r\n\t\t});\r\n\t}, [items]);\r\n\r\n\tconst handleClick = (e, i) => {\r\n\t\tonClick?.(e);\r\n\r\n\t\tpreviewable &&\r\n\t\t\tpreview({\r\n\t\t\t\titems: files,\r\n\t\t\t\tinitial: i,\r\n\t\t\t});\r\n\t};\r\n\r\n\tif (!files.length) return \"\";\r\n\r\n\treturn (\r\n\t\t<Flex\r\n\t\t\tclassName='i-image-list'\r\n\t\t\tgap={gap}\r\n\t\t\tcolumns={columns}\r\n\t\t\twrap={wrap}\r\n\t\t\tdirection={direction}\r\n\t\t>\r\n\t\t\t{files.map((img, i) => {\r\n\t\t\t\treturn (\r\n\t\t\t\t\t<Image\r\n\t\t\t\t\t\tkey={i}\r\n\t\t\t\t\t\tsrc={img.src}\r\n\t\t\t\t\t\tusePreview={false}\r\n\t\t\t\t\t\tonClick={(e) => handleClick(e, i)}\r\n\t\t\t\t\t\t{...restProps}\r\n\t\t\t\t\t/>\r\n\t\t\t\t);\r\n\t\t\t})}\r\n\t\t</Flex>\r\n\t);\r\n}\r\n"],"names":["usePreview","useMemo","getSuffixByUrl","getFileType","_jsx","Flex","Image"],"mappings":";;;;;;;;;;;AAQwB,SAAA,IAAI,CAAC,KAAiB,EAAA;IAC7C,MAAM,EACL,KAAK,GAAG,EAAE,EACV,GAAG,GAAG,CAAC,EACP,OAAO,EACP,IAAI,EACJ,SAAS,EACT,UAAU,EAAE,WAAW,EACvB,OAAO,EACP,GAAG,SAAS,EACZ,GAAG,KAAK;AACT,IAAA,MAAM,OAAO,GAAGA,aAAU,EAAE;AAE5B,IAAA,MAAM,KAAK,GAAGC,aAAO,CAAC,MAAK;AAC1B,QAAA,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,KAAI;AACzB,YAAA,MAAM,CAAC,GAAiB;AACvB,gBAAA,GAAG,EAAE,EAAE;aACP;AACD,YAAA,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;AAC7B,gBAAA,CAAC,CAAC,GAAG,GAAG,IAAI;;iBACN;AACN,gBAAA,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC;;YAGvB,CAAC,CAAC,MAAM,GAAGC,oBAAc,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE;AACtC,YAAA,CAAC,CAAC,IAAI,GAAGC,iBAAW,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;AAE5C,YAAA,OAAO,CAAC;AACT,SAAC,CAAC;AACH,KAAC,EAAE,CAAC,KAAK,CAAC,CAAC;AAEX,IAAA,MAAM,WAAW,GAAG,CAAC,CAAC,EAAE,CAAC,KAAI;AAC5B,QAAA,OAAO,GAAG,CAAC,CAAC;QAEZ,WAAW;AACV,YAAA,OAAO,CAAC;AACP,gBAAA,KAAK,EAAE,KAAK;AACZ,gBAAA,OAAO,EAAE,CAAC;AACV,aAAA,CAAC;AACJ,KAAC;IAED,IAAI,CAAC,KAAK,CAAC,MAAM;AAAE,QAAA,OAAO,EAAE;AAE5B,IAAA,QACCC,cAAA,CAACC,YAAI,EAAA,EACJ,SAAS,EAAC,cAAc,EACxB,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,SAAS,EAEnB,QAAA,EAAA,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,KAAI;AACrB,YAAA,QACCD,cAAA,CAACE,aAAK,EAAA,EAEL,GAAG,EAAE,GAAG,CAAC,GAAG,EACZ,UAAU,EAAE,KAAK,EACjB,OAAO,EAAE,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,KAC7B,SAAS,EAAA,EAJR,CAAC,CAKL;SAEH,CAAC,EACI,CAAA;AAET;;;;"}
1
+ {"version":3,"file":"list.js","sources":["../../../../packages/components/image/list.tsx"],"sourcesContent":["import { useMemo } from \"react\";\nimport usePreview from \"../../js/usePreview\";\nimport { TPreviewItem } from \"../../js/usePreview/type\";\nimport { getFileType, getSuffixByUrl } from \"../../js/utils\";\nimport Flex from \"../flex\";\nimport Image from \"./image\";\nimport { IImageList } from \"./type\";\n\nexport default function List(props: IImageList) {\n\tconst {\n\t\titems = [],\n\t\tgap = 8,\n\t\tcolumns,\n\t\twrap,\n\t\tdirection,\n\t\tusePreview: previewable,\n\t\tonClick,\n\t\t...restProps\n\t} = props;\n\tconst preview = usePreview();\n\n\tconst files = useMemo(() => {\n\t\treturn items.map((item) => {\n\t\t\tconst o: TPreviewItem = {\n\t\t\t\tsrc: \"\",\n\t\t\t};\n\t\t\tif (typeof item === \"string\") {\n\t\t\t\to.src = item;\n\t\t\t} else {\n\t\t\t\tObject.assign(o, item);\n\t\t\t}\n\n\t\t\to.suffix = getSuffixByUrl(o.src) || \"\";\n\t\t\to.type = getFileType(o.suffix, item[\"type\"]);\n\n\t\t\treturn o;\n\t\t});\n\t}, [items]);\n\n\tconst handleClick = (e, i) => {\n\t\tonClick?.(e);\n\n\t\tpreviewable &&\n\t\t\tpreview({\n\t\t\t\titems: files,\n\t\t\t\tinitial: i,\n\t\t\t});\n\t};\n\n\tif (!files.length) return \"\";\n\n\treturn (\n\t\t<Flex\n\t\t\tclassName='i-image-list'\n\t\t\tgap={gap}\n\t\t\tcolumns={columns}\n\t\t\twrap={wrap}\n\t\t\tdirection={direction}\n\t\t>\n\t\t\t{files.map((img, i) => {\n\t\t\t\treturn (\n\t\t\t\t\t<Image\n\t\t\t\t\t\tkey={i}\n\t\t\t\t\t\tsrc={img.src}\n\t\t\t\t\t\tusePreview={false}\n\t\t\t\t\t\tonClick={(e) => handleClick(e, i)}\n\t\t\t\t\t\t{...restProps}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t})}\n\t\t</Flex>\n\t);\n}\n"],"names":["usePreview","useMemo","getSuffixByUrl","getFileType","_jsx","Flex","Image"],"mappings":";;;;;;;;;;;AAQc,SAAU,IAAI,CAAC,KAAiB,EAAA;IAC7C,MAAM,EACL,KAAK,GAAG,EAAE,EACV,GAAG,GAAG,CAAC,EACP,OAAO,EACP,IAAI,EACJ,SAAS,EACT,UAAU,EAAE,WAAW,EACvB,OAAO,EACP,GAAG,SAAS,EACZ,GAAG,KAAK;AACT,IAAA,MAAM,OAAO,GAAGA,aAAU,EAAE;AAE5B,IAAA,MAAM,KAAK,GAAGC,aAAO,CAAC,MAAK;AAC1B,QAAA,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,KAAI;AACzB,YAAA,MAAM,CAAC,GAAiB;AACvB,gBAAA,GAAG,EAAE,EAAE;aACP;AACD,YAAA,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;AAC7B,gBAAA,CAAC,CAAC,GAAG,GAAG,IAAI;YACb;iBAAO;AACN,gBAAA,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC;YACvB;YAEA,CAAC,CAAC,MAAM,GAAGC,oBAAc,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE;AACtC,YAAA,CAAC,CAAC,IAAI,GAAGC,iBAAW,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;AAE5C,YAAA,OAAO,CAAC;AACT,QAAA,CAAC,CAAC;AACH,IAAA,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;AAEX,IAAA,MAAM,WAAW,GAAG,CAAC,CAAC,EAAE,CAAC,KAAI;AAC5B,QAAA,OAAO,GAAG,CAAC,CAAC;QAEZ,WAAW;AACV,YAAA,OAAO,CAAC;AACP,gBAAA,KAAK,EAAE,KAAK;AACZ,gBAAA,OAAO,EAAE,CAAC;AACV,aAAA,CAAC;AACJ,IAAA,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,MAAM;AAAE,QAAA,OAAO,EAAE;AAE5B,IAAA,QACCC,cAAA,CAACC,YAAI,EAAA,EACJ,SAAS,EAAC,cAAc,EACxB,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,SAAS,EAAA,QAAA,EAEnB,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,KAAI;AACrB,YAAA,QACCD,cAAA,CAACE,aAAK,EAAA,EAEL,GAAG,EAAE,GAAG,CAAC,GAAG,EACZ,UAAU,EAAE,KAAK,EACjB,OAAO,EAAE,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,KAC7B,SAAS,EAAA,EAJR,CAAC,CAKL;QAEJ,CAAC,CAAC,EAAA,CACI;AAET;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"container.js","sources":["../../../../packages/components/input/container.tsx"],"sourcesContent":["import classNames from \"classnames\";\r\nimport { IInputContainer } from \"./type\";\r\n\r\nexport default function InputContainer(props: IInputContainer) {\r\n\tconst {\r\n\t\tas: As = \"label\",\r\n\t\tlabel,\r\n\t\tclassName,\r\n\t\tlabelInline,\r\n\t\tstyle,\r\n\t\tchildren,\r\n\t\tstatus,\r\n\t\ttip,\r\n\t\trequired,\r\n\t} = props;\r\n\r\n\treturn (\r\n\t\t<As\r\n\t\t\tclassName={classNames(\"i-input-label\", className, {\r\n\t\t\t\t\"i-input-inline\": labelInline,\r\n\t\t\t})}\r\n\t\t\tstyle={style}\r\n\t\t>\r\n\t\t\t{label && (\r\n\t\t\t\t<span className='i-input-label-text'>\r\n\t\t\t\t\t{required && <span className='error'>*</span>}\r\n\t\t\t\t\t{label}\r\n\t\t\t\t</span>\r\n\t\t\t)}\r\n\r\n\t\t\t{children}\r\n\r\n\t\t\t{tip && (\r\n\t\t\t\t<span\r\n\t\t\t\t\tclassName={classNames(\"i-input-message\", {\r\n\t\t\t\t\t\t[`i-input-${status}`]: status !== \"normal\",\r\n\t\t\t\t\t})}\r\n\t\t\t\t>\r\n\t\t\t\t\t{tip}\r\n\t\t\t\t</span>\r\n\t\t\t)}\r\n\t\t</As>\r\n\t);\r\n}\r\n"],"names":["_jsxs","classNames","_jsx"],"mappings":";;;;;;;;;;;AAGwB,SAAA,cAAc,CAAC,KAAsB,EAAA;IAC5D,MAAM,EACL,EAAE,EAAE,EAAE,GAAG,OAAO,EAChB,KAAK,EACL,SAAS,EACT,WAAW,EACX,KAAK,EACL,QAAQ,EACR,MAAM,EACN,GAAG,EACH,QAAQ,GACR,GAAG,KAAK;IAET,QACCA,eAAC,CAAA,EAAE,EACF,EAAA,SAAS,EAAEC,mBAAU,CAAC,eAAe,EAAE,SAAS,EAAE;AACjD,YAAA,gBAAgB,EAAE,WAAW;AAC7B,SAAA,CAAC,EACF,KAAK,EAAE,KAAK,EAAA,QAAA,EAAA,CAEX,KAAK,KACLD,eAAM,CAAA,MAAA,EAAA,EAAA,SAAS,EAAC,oBAAoB,EAAA,QAAA,EAAA,CAClC,QAAQ,IAAIE,yBAAM,SAAS,EAAC,OAAO,EAAA,QAAA,EAAA,GAAA,EAAA,CAAS,EAC5C,KAAK,CAAA,EAAA,CACA,CACP,EAEA,QAAQ,EAER,GAAG,KACHA,yBACC,SAAS,EAAED,mBAAU,CAAC,iBAAiB,EAAE;AACxC,oBAAA,CAAC,WAAW,MAAM,CAAA,CAAE,GAAG,MAAM,KAAK,QAAQ;AAC1C,iBAAA,CAAC,YAED,GAAG,EAAA,CACE,CACP,CAAA,EAAA,CACG;AAEP;;;;"}
1
+ {"version":3,"file":"container.js","sources":["../../../../packages/components/input/container.tsx"],"sourcesContent":["import classNames from \"classnames\";\nimport { IInputContainer } from \"./type\";\n\nexport default function InputContainer(props: IInputContainer) {\n\tconst {\n\t\tas: As = \"label\",\n\t\tlabel,\n\t\tclassName,\n\t\tlabelInline,\n\t\tstyle,\n\t\tchildren,\n\t\tstatus,\n\t\ttip,\n\t\trequired,\n\t} = props;\n\n\treturn (\n\t\t<As\n\t\t\tclassName={classNames(\"i-input-label\", className, {\n\t\t\t\t\"i-input-inline\": labelInline,\n\t\t\t})}\n\t\t\tstyle={style}\n\t\t>\n\t\t\t{label && (\n\t\t\t\t<span className='i-input-label-text'>\n\t\t\t\t\t{required && <span className='error'>*</span>}\n\t\t\t\t\t{label}\n\t\t\t\t</span>\n\t\t\t)}\n\n\t\t\t{children}\n\n\t\t\t{tip && (\n\t\t\t\t<span\n\t\t\t\t\tclassName={classNames(\"i-input-message\", {\n\t\t\t\t\t\t[`i-input-${status}`]: status !== \"normal\",\n\t\t\t\t\t})}\n\t\t\t\t>\n\t\t\t\t\t{tip}\n\t\t\t\t</span>\n\t\t\t)}\n\t\t</As>\n\t);\n}\n"],"names":["_jsxs","classNames","_jsx"],"mappings":";;;;;;;;;;;AAGc,SAAU,cAAc,CAAC,KAAsB,EAAA;IAC5D,MAAM,EACL,EAAE,EAAE,EAAE,GAAG,OAAO,EAChB,KAAK,EACL,SAAS,EACT,WAAW,EACX,KAAK,EACL,QAAQ,EACR,MAAM,EACN,GAAG,EACH,QAAQ,GACR,GAAG,KAAK;IAET,QACCA,eAAA,CAAC,EAAE,EAAA,EACF,SAAS,EAAEC,mBAAU,CAAC,eAAe,EAAE,SAAS,EAAE;AACjD,YAAA,gBAAgB,EAAE,WAAW;AAC7B,SAAA,CAAC,EACF,KAAK,EAAE,KAAK,EAAA,QAAA,EAAA,CAEX,KAAK,KACLD,eAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,oBAAoB,EAAA,QAAA,EAAA,CAClC,QAAQ,IAAIE,yBAAM,SAAS,EAAC,OAAO,EAAA,QAAA,EAAA,GAAA,EAAA,CAAS,EAC5C,KAAK,CAAA,EAAA,CACA,CACP,EAEA,QAAQ,EAER,GAAG,KACHA,yBACC,SAAS,EAAED,mBAAU,CAAC,iBAAiB,EAAE;AACxC,oBAAA,CAAC,WAAW,MAAM,CAAA,CAAE,GAAG,MAAM,KAAK,QAAQ;AAC1C,iBAAA,CAAC,YAED,GAAG,EAAA,CACE,CACP,CAAA,EAAA,CACG;AAEP;;;;"}
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var jsxRuntime = require('react/jsx-runtime');
6
6
  var material = require('@ricons/material');
7
- var ahooks = require('ahooks');
7
+ var hooks = require('../../js/hooks.js');
8
8
  var classNames = require('classnames');
9
9
  var react = require('react');
10
10
  var helpericon = require('../utils/helpericon/helpericon.js');
@@ -19,7 +19,7 @@ var classNames__default = /*#__PURE__*/_interopDefaultCompat(classNames);
19
19
 
20
20
  const Input = ((props) => {
21
21
  const { ref, type = "text", label, name, value = "", prepend, append, labelInline, className, status = "normal", message, tip, clear, width, hideVisible, border, underline, required, maxLength, onChange, onEnter, onClear, style, ...restProps } = props;
22
- const state = ahooks.useReactive({
22
+ const state = hooks.useReactive({
23
23
  value,
24
24
  type,
25
25
  visible: false,