@ioca/react 1.4.68 → 1.4.70

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 (290) 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 +4 -4
  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 +6 -1
  34. package/lib/cjs/components/editor/controls.js.map +1 -1
  35. package/lib/cjs/components/editor/editor.js.map +1 -1
  36. package/lib/cjs/components/flex/flex.js.map +1 -1
  37. package/lib/cjs/components/form/context.js.map +1 -1
  38. package/lib/cjs/components/form/field.js +2 -2
  39. package/lib/cjs/components/form/field.js.map +1 -1
  40. package/lib/cjs/components/form/form.js.map +1 -1
  41. package/lib/cjs/components/form/useConfig.js.map +1 -1
  42. package/lib/cjs/components/form/useForm.js.map +1 -1
  43. package/lib/cjs/components/icon/icon.js.map +1 -1
  44. package/lib/cjs/components/image/image.js +1 -2
  45. package/lib/cjs/components/image/image.js.map +1 -1
  46. package/lib/cjs/components/image/list.js.map +1 -1
  47. package/lib/cjs/components/input/container.js.map +1 -1
  48. package/lib/cjs/components/input/input.js +2 -2
  49. package/lib/cjs/components/input/input.js.map +1 -1
  50. package/lib/cjs/components/input/number.js +2 -2
  51. package/lib/cjs/components/input/number.js.map +1 -1
  52. package/lib/cjs/components/input/range.js +2 -2
  53. package/lib/cjs/components/input/range.js.map +1 -1
  54. package/lib/cjs/components/input/textarea.js +2 -2
  55. package/lib/cjs/components/input/textarea.js.map +1 -1
  56. package/lib/cjs/components/list/item.js.map +1 -1
  57. package/lib/cjs/components/list/list.js.map +1 -1
  58. package/lib/cjs/components/loading/loading.js.map +1 -1
  59. package/lib/cjs/components/message/message.js +2 -4
  60. package/lib/cjs/components/message/message.js.map +1 -1
  61. package/lib/cjs/components/modal/content.js.map +1 -1
  62. package/lib/cjs/components/modal/context.js.map +1 -1
  63. package/lib/cjs/components/modal/hookModal.js +2 -2
  64. package/lib/cjs/components/modal/hookModal.js.map +1 -1
  65. package/lib/cjs/components/modal/modal.js.map +1 -1
  66. package/lib/cjs/components/modal/useModal.js.map +1 -1
  67. package/lib/cjs/components/pagination/page.js.map +1 -1
  68. package/lib/cjs/components/pagination/pagination.js.map +1 -1
  69. package/lib/cjs/components/picker/colors/footer.js +2 -2
  70. package/lib/cjs/components/picker/colors/footer.js.map +1 -1
  71. package/lib/cjs/components/picker/colors/handle.js.map +1 -1
  72. package/lib/cjs/components/picker/colors/index.js +2 -2
  73. package/lib/cjs/components/picker/colors/index.js.map +1 -1
  74. package/lib/cjs/components/picker/dates/dates.js.map +1 -1
  75. package/lib/cjs/components/picker/dates/index.js +2 -2
  76. package/lib/cjs/components/picker/dates/index.js.map +1 -1
  77. package/lib/cjs/components/picker/dates/panel.js +2 -2
  78. package/lib/cjs/components/picker/dates/panel.js.map +1 -1
  79. package/lib/cjs/components/picker/time/index.js +2 -2
  80. package/lib/cjs/components/picker/time/index.js.map +1 -1
  81. package/lib/cjs/components/picker/time/item.js.map +1 -1
  82. package/lib/cjs/components/picker/time/panel.js +2 -2
  83. package/lib/cjs/components/picker/time/panel.js.map +1 -1
  84. package/lib/cjs/components/popconfirm/popconfirm.js +2 -2
  85. package/lib/cjs/components/popconfirm/popconfirm.js.map +1 -1
  86. package/lib/cjs/components/popup/content.js.map +1 -1
  87. package/lib/cjs/components/popup/popup.js +2 -3
  88. package/lib/cjs/components/popup/popup.js.map +1 -1
  89. package/lib/cjs/components/progress/circle.js.map +1 -1
  90. package/lib/cjs/components/progress/line.js.map +1 -1
  91. package/lib/cjs/components/progress/progress.js +1 -2
  92. package/lib/cjs/components/progress/progress.js.map +1 -1
  93. package/lib/cjs/components/radio/item.js.map +1 -1
  94. package/lib/cjs/components/radio/radio.js +2 -2
  95. package/lib/cjs/components/radio/radio.js.map +1 -1
  96. package/lib/cjs/components/resizable/resizable.js +1 -2
  97. package/lib/cjs/components/resizable/resizable.js.map +1 -1
  98. package/lib/cjs/components/river/river.js +2 -2
  99. package/lib/cjs/components/river/river.js.map +1 -1
  100. package/lib/cjs/components/select/options.js.map +1 -1
  101. package/lib/cjs/components/select/select.js +2 -2
  102. package/lib/cjs/components/select/select.js.map +1 -1
  103. package/lib/cjs/components/step/divider.js.map +1 -1
  104. package/lib/cjs/components/step/item.js.map +1 -1
  105. package/lib/cjs/components/step/step.js.map +1 -1
  106. package/lib/cjs/components/swiper/item.js.map +1 -1
  107. package/lib/cjs/components/swiper/swiper.js +1 -2
  108. package/lib/cjs/components/swiper/swiper.js.map +1 -1
  109. package/lib/cjs/components/tabs/item.js.map +1 -1
  110. package/lib/cjs/components/tabs/tabs.js +2 -3
  111. package/lib/cjs/components/tabs/tabs.js.map +1 -1
  112. package/lib/cjs/components/tag/tag.js.map +1 -1
  113. package/lib/cjs/components/text/highlight.js.map +1 -1
  114. package/lib/cjs/components/text/number.js.map +1 -1
  115. package/lib/cjs/components/text/text.js.map +1 -1
  116. package/lib/cjs/components/text/time.js.map +1 -1
  117. package/lib/cjs/components/tree/item.js.map +1 -1
  118. package/lib/cjs/components/tree/tree.js +2 -2
  119. package/lib/cjs/components/tree/tree.js.map +1 -1
  120. package/lib/cjs/components/upload/renderFile.js.map +1 -1
  121. package/lib/cjs/components/upload/upload.js +2 -2
  122. package/lib/cjs/components/upload/upload.js.map +1 -1
  123. package/lib/cjs/components/utils/empty/index.js.map +1 -1
  124. package/lib/cjs/components/utils/helpericon/helpericon.js.map +1 -1
  125. package/lib/cjs/components/video/video.js +2 -2
  126. package/lib/cjs/components/video/video.js.map +1 -1
  127. package/lib/cjs/js/hooks.js +167 -1
  128. package/lib/cjs/js/hooks.js.map +1 -1
  129. package/lib/cjs/js/usePreview/content.js +1 -2
  130. package/lib/cjs/js/usePreview/content.js.map +1 -1
  131. package/lib/cjs/js/usePreview/index.js.map +1 -1
  132. package/lib/cjs/js/usePreview/renderFile.js.map +1 -1
  133. package/lib/cjs/js/usePreview/type.js.map +1 -1
  134. package/lib/cjs/js/useRipple/index.js +6 -6
  135. package/lib/cjs/js/useRipple/index.js.map +1 -1
  136. package/lib/cjs/js/useTheme/index.js +2 -2
  137. package/lib/cjs/js/useTheme/index.js.map +1 -1
  138. package/lib/cjs/js/utils.js +1 -1
  139. package/lib/cjs/js/utils.js.map +1 -1
  140. package/lib/css/index.css +1 -1
  141. package/lib/css/index.css.map +1 -1
  142. package/lib/es/components/affix/affix.js.map +1 -1
  143. package/lib/es/components/affix/totop.js.map +1 -1
  144. package/lib/es/components/badge/badge.js.map +1 -1
  145. package/lib/es/components/button/button.js.map +1 -1
  146. package/lib/es/components/button/confirm.js +3 -3
  147. package/lib/es/components/button/confirm.js.map +1 -1
  148. package/lib/es/components/button/group.js.map +1 -1
  149. package/lib/es/components/button/toggle.js +2 -2
  150. package/lib/es/components/button/toggle.js.map +1 -1
  151. package/lib/es/components/card/card.js.map +1 -1
  152. package/lib/es/components/checkbox/checkbox.js +1 -1
  153. package/lib/es/components/checkbox/checkbox.js.map +1 -1
  154. package/lib/es/components/checkbox/item.js +1 -1
  155. package/lib/es/components/checkbox/item.js.map +1 -1
  156. package/lib/es/components/collapse/collapse.js +1 -1
  157. package/lib/es/components/collapse/collapse.js.map +1 -1
  158. package/lib/es/components/collapse/item.js.map +1 -1
  159. package/lib/es/components/datagrid/cell.js +1 -1
  160. package/lib/es/components/datagrid/cell.js.map +1 -1
  161. package/lib/es/components/datagrid/datagrid.js +1 -1
  162. package/lib/es/components/datagrid/datagrid.js.map +1 -1
  163. package/lib/es/components/datagrid/resize.js +1 -2
  164. package/lib/es/components/datagrid/resize.js.map +1 -1
  165. package/lib/es/components/datagrid/row.js.map +1 -1
  166. package/lib/es/components/datagrid/sorter.js.map +1 -1
  167. package/lib/es/components/description/description.js.map +1 -1
  168. package/lib/es/components/drawer/drawer.js +1 -2
  169. package/lib/es/components/drawer/drawer.js.map +1 -1
  170. package/lib/es/components/dropdown/dropdown.js.map +1 -1
  171. package/lib/es/components/dropdown/item.js.map +1 -1
  172. package/lib/es/components/editor/controls.js +3 -2
  173. package/lib/es/components/editor/controls.js.map +1 -1
  174. package/lib/es/components/editor/editor.js.map +1 -1
  175. package/lib/es/components/flex/flex.js.map +1 -1
  176. package/lib/es/components/form/context.js.map +1 -1
  177. package/lib/es/components/form/field.js +1 -1
  178. package/lib/es/components/form/field.js.map +1 -1
  179. package/lib/es/components/form/form.js.map +1 -1
  180. package/lib/es/components/form/useConfig.js.map +1 -1
  181. package/lib/es/components/form/useForm.js.map +1 -1
  182. package/lib/es/components/icon/icon.js.map +1 -1
  183. package/lib/es/components/image/image.js +1 -2
  184. package/lib/es/components/image/image.js.map +1 -1
  185. package/lib/es/components/image/list.js.map +1 -1
  186. package/lib/es/components/input/container.js.map +1 -1
  187. package/lib/es/components/input/input.js +1 -1
  188. package/lib/es/components/input/input.js.map +1 -1
  189. package/lib/es/components/input/number.js +1 -1
  190. package/lib/es/components/input/number.js.map +1 -1
  191. package/lib/es/components/input/range.js +1 -1
  192. package/lib/es/components/input/range.js.map +1 -1
  193. package/lib/es/components/input/textarea.js +1 -1
  194. package/lib/es/components/input/textarea.js.map +1 -1
  195. package/lib/es/components/list/item.js.map +1 -1
  196. package/lib/es/components/list/list.js.map +1 -1
  197. package/lib/es/components/loading/loading.js.map +1 -1
  198. package/lib/es/components/message/message.js +1 -3
  199. package/lib/es/components/message/message.js.map +1 -1
  200. package/lib/es/components/modal/content.js.map +1 -1
  201. package/lib/es/components/modal/context.js.map +1 -1
  202. package/lib/es/components/modal/hookModal.js +1 -1
  203. package/lib/es/components/modal/hookModal.js.map +1 -1
  204. package/lib/es/components/modal/modal.js.map +1 -1
  205. package/lib/es/components/modal/useModal.js.map +1 -1
  206. package/lib/es/components/pagination/page.js.map +1 -1
  207. package/lib/es/components/pagination/pagination.js.map +1 -1
  208. package/lib/es/components/picker/colors/footer.js +1 -1
  209. package/lib/es/components/picker/colors/footer.js.map +1 -1
  210. package/lib/es/components/picker/colors/handle.js.map +1 -1
  211. package/lib/es/components/picker/colors/index.js +1 -1
  212. package/lib/es/components/picker/colors/index.js.map +1 -1
  213. package/lib/es/components/picker/dates/dates.js.map +1 -1
  214. package/lib/es/components/picker/dates/index.js +1 -1
  215. package/lib/es/components/picker/dates/index.js.map +1 -1
  216. package/lib/es/components/picker/dates/panel.js +1 -1
  217. package/lib/es/components/picker/dates/panel.js.map +1 -1
  218. package/lib/es/components/picker/time/index.js +1 -1
  219. package/lib/es/components/picker/time/index.js.map +1 -1
  220. package/lib/es/components/picker/time/item.js.map +1 -1
  221. package/lib/es/components/picker/time/panel.js +1 -1
  222. package/lib/es/components/picker/time/panel.js.map +1 -1
  223. package/lib/es/components/popconfirm/popconfirm.js +1 -1
  224. package/lib/es/components/popconfirm/popconfirm.js.map +1 -1
  225. package/lib/es/components/popup/content.js.map +1 -1
  226. package/lib/es/components/popup/popup.js +2 -3
  227. package/lib/es/components/popup/popup.js.map +1 -1
  228. package/lib/es/components/progress/circle.js.map +1 -1
  229. package/lib/es/components/progress/line.js.map +1 -1
  230. package/lib/es/components/progress/progress.js +1 -2
  231. package/lib/es/components/progress/progress.js.map +1 -1
  232. package/lib/es/components/radio/item.js.map +1 -1
  233. package/lib/es/components/radio/radio.js +1 -1
  234. package/lib/es/components/radio/radio.js.map +1 -1
  235. package/lib/es/components/resizable/resizable.js +1 -2
  236. package/lib/es/components/resizable/resizable.js.map +1 -1
  237. package/lib/es/components/river/river.js +1 -1
  238. package/lib/es/components/river/river.js.map +1 -1
  239. package/lib/es/components/select/options.js +1 -1
  240. package/lib/es/components/select/options.js.map +1 -1
  241. package/lib/es/components/select/select.js +2 -2
  242. package/lib/es/components/select/select.js.map +1 -1
  243. package/lib/es/components/step/divider.js.map +1 -1
  244. package/lib/es/components/step/item.js.map +1 -1
  245. package/lib/es/components/step/step.js.map +1 -1
  246. package/lib/es/components/swiper/item.js.map +1 -1
  247. package/lib/es/components/swiper/swiper.js +1 -2
  248. package/lib/es/components/swiper/swiper.js.map +1 -1
  249. package/lib/es/components/tabs/item.js.map +1 -1
  250. package/lib/es/components/tabs/tabs.js +2 -3
  251. package/lib/es/components/tabs/tabs.js.map +1 -1
  252. package/lib/es/components/tag/tag.js.map +1 -1
  253. package/lib/es/components/text/highlight.js.map +1 -1
  254. package/lib/es/components/text/number.js.map +1 -1
  255. package/lib/es/components/text/text.js.map +1 -1
  256. package/lib/es/components/text/time.js.map +1 -1
  257. package/lib/es/components/tree/item.js.map +1 -1
  258. package/lib/es/components/tree/tree.js +1 -1
  259. package/lib/es/components/tree/tree.js.map +1 -1
  260. package/lib/es/components/upload/renderFile.js.map +1 -1
  261. package/lib/es/components/upload/upload.js +1 -1
  262. package/lib/es/components/upload/upload.js.map +1 -1
  263. package/lib/es/components/utils/empty/index.js.map +1 -1
  264. package/lib/es/components/utils/helpericon/helpericon.js.map +1 -1
  265. package/lib/es/components/video/video.js +2 -2
  266. package/lib/es/components/video/video.js.map +1 -1
  267. package/lib/es/js/hooks.js +165 -3
  268. package/lib/es/js/hooks.js.map +1 -1
  269. package/lib/es/js/usePreview/content.js +1 -2
  270. package/lib/es/js/usePreview/content.js.map +1 -1
  271. package/lib/es/js/usePreview/index.js.map +1 -1
  272. package/lib/es/js/usePreview/renderFile.js.map +1 -1
  273. package/lib/es/js/usePreview/type.js.map +1 -1
  274. package/lib/es/js/useRipple/index.js +6 -6
  275. package/lib/es/js/useRipple/index.js.map +1 -1
  276. package/lib/es/js/useTheme/index.js +1 -1
  277. package/lib/es/js/useTheme/index.js.map +1 -1
  278. package/lib/es/js/utils.js +1 -1
  279. package/lib/es/js/utils.js.map +1 -1
  280. package/lib/index.js +309 -149
  281. package/lib/types/components/button/type.d.ts +2 -1
  282. package/lib/types/components/dropdown/dropdown.d.ts +2 -2
  283. package/lib/types/components/input/type.d.ts +1 -1
  284. package/lib/types/components/modal/type.d.ts +1 -1
  285. package/lib/types/components/radio/type.d.ts +1 -1
  286. package/lib/types/components/tabs/type.d.ts +1 -1
  287. package/lib/types/components/tree/type.d.ts +1 -1
  288. package/lib/types/js/usePreview/type.d.ts +1 -1
  289. package/lib/types/js/useTheme/index.d.ts +1 -2
  290. package/package.json +100 -102
@@ -1 +1 @@
1
- {"version":3,"file":"input.js","sources":["../../../../packages/components/input/input.tsx"],"sourcesContent":["import { VisibilityOffRound, VisibilityRound } from \"@ricons/material\";\r\nimport { useReactive } from \"ahooks\";\r\nimport classNames from \"classnames\";\r\nimport { ChangeEvent, useEffect, useMemo } from \"react\";\r\nimport \"../../css/input.css\";\r\nimport Helpericon from \"../utils/helpericon\";\r\nimport InputContainer from \"./container\";\r\nimport Number from \"./number\";\r\nimport Range from \"./range\";\r\nimport Textarea from \"./textarea\";\r\nimport type { CompositionInput, IInput } from \"./type\";\r\n\r\nconst Input = ((props: IInput) => {\r\n\tconst {\r\n\t\tref,\r\n\t\ttype = \"text\",\r\n\t\tlabel,\r\n\t\tname,\r\n\t\tvalue = \"\",\r\n\t\tprepend,\r\n\t\tappend,\r\n\t\tlabelInline,\r\n\t\tclassName,\r\n\t\tstatus = \"normal\",\r\n\t\tmessage,\r\n\t\ttip,\r\n\t\tclear,\r\n\t\twidth,\r\n\t\thideVisible,\r\n\t\tborder,\r\n\t\tunderline,\r\n\t\trequired,\r\n\t\tmaxLength,\r\n\t\tonChange,\r\n\t\tonEnter,\r\n\t\tonClear,\r\n\t\tstyle,\r\n\t\t...restProps\r\n\t} = props;\r\n\r\n\tconst state = useReactive({\r\n\t\tvalue,\r\n\t\ttype,\r\n\t\tvisible: false,\r\n\t});\r\n\r\n\tconst handleChange = (e: ChangeEvent<HTMLInputElement>) => {\r\n\t\tconst v = e.target.value;\r\n\r\n\t\tstate.value = v;\r\n\t\tonChange?.(v, e);\r\n\t};\r\n\r\n\tconst handleKeydown = (e) => {\r\n\t\te.code === \"Enter\" && onEnter?.(e);\r\n\t};\r\n\r\n\tconst handleHelperClick = () => {\r\n\t\tif (type === \"password\" && !hideVisible) {\r\n\t\t\tObject.assign(state, {\r\n\t\t\t\tvisible: !state.visible,\r\n\t\t\t\ttype: !state.visible ? \"text\" : \"password\",\r\n\t\t\t});\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tconst v = \"\";\r\n\t\tonChange?.(v);\r\n\t\tonClear?.();\r\n\t};\r\n\r\n\tconst HelperIcon = useMemo(() => {\r\n\t\tif (type === \"password\") {\r\n\t\t\treturn state.visible ? <VisibilityRound /> : <VisibilityOffRound />;\r\n\t\t}\r\n\r\n\t\treturn undefined;\r\n\t}, [state.visible]);\r\n\r\n\tuseEffect(() => {\r\n\t\tstate.value = value;\r\n\t}, [value]);\r\n\r\n\tconst inputProps = {\r\n\t\tref,\r\n\t\ttype: state.type,\r\n\t\tname,\r\n\t\tvalue: state.value,\r\n\t\tmaxLength,\r\n\t\tclassName: classNames(\"i-input\", `i-input-${type}`),\r\n\t\tonChange: handleChange,\r\n\t\tonKeyDown: handleKeydown,\r\n\t\t...restProps,\r\n\t};\r\n\r\n\tconst clearable = clear && state.value;\r\n\tconst showHelper = type === \"password\" && !!state.value;\r\n\r\n\treturn (\r\n\t\t<InputContainer\r\n\t\t\tlabel={label}\r\n\t\t\tlabelInline={labelInline}\r\n\t\t\tclassName={className}\r\n\t\t\tstyle={{ width, ...style }}\r\n\t\t\ttip={message ?? tip}\r\n\t\t\tstatus={status}\r\n\t\t\trequired={required}\r\n\t\t>\r\n\t\t\t<div\r\n\t\t\t\tclassName={classNames(\"i-input-item\", {\r\n\t\t\t\t\t[`i-input-${status}`]: status !== \"normal\",\r\n\t\t\t\t\t\"i-input-borderless\": !border,\r\n\t\t\t\t\t\"i-input-underline\": underline,\r\n\t\t\t\t})}\r\n\t\t\t>\r\n\t\t\t\t{prepend && <div className='i-input-prepend'>{prepend}</div>}\r\n\r\n\t\t\t\t<input {...inputProps} />\r\n\r\n\t\t\t\t{maxLength && state.value?.length > 0 && (\r\n\t\t\t\t\t<span className='color-8 pr-4 font-sm'>\r\n\t\t\t\t\t\t{state.value.length} / {maxLength}\r\n\t\t\t\t\t</span>\r\n\t\t\t\t)}\r\n\r\n\t\t\t\t<Helpericon\r\n\t\t\t\t\tactive={!!clearable || showHelper}\r\n\t\t\t\t\ticon={HelperIcon}\r\n\t\t\t\t\tonClick={handleHelperClick}\r\n\t\t\t\t/>\r\n\r\n\t\t\t\t{append && <div className='i-input-append'>{append}</div>}\r\n\t\t\t</div>\r\n\t\t</InputContainer>\r\n\t);\r\n}) as CompositionInput;\r\n\r\nInput.Textarea = Textarea;\r\nInput.Number = Number;\r\nInput.Range = Range;\r\n\r\nexport default Input;\r\n"],"names":["useReactive","useMemo","_jsx","VisibilityRound","VisibilityOffRound","useEffect","classNames","InputContainer","_jsxs","Helpericon","Textarea","Number","Range"],"mappings":"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"}
1
+ {"version":3,"file":"input.js","sources":["../../../../packages/components/input/input.tsx"],"sourcesContent":["import { VisibilityOffRound, VisibilityRound } from \"@ricons/material\";\nimport { useReactive } from \"@p/js/hooks\";\nimport classNames from \"classnames\";\nimport { ChangeEvent, useEffect, useMemo } from \"react\";\nimport \"../../css/input.css\";\nimport Helpericon from \"../utils/helpericon\";\nimport InputContainer from \"./container\";\nimport Number from \"./number\";\nimport Range from \"./range\";\nimport Textarea from \"./textarea\";\nimport type { CompositionInput, IInput } from \"./type\";\n\nconst Input = ((props: IInput) => {\n\tconst {\n\t\tref,\n\t\ttype = \"text\",\n\t\tlabel,\n\t\tname,\n\t\tvalue = \"\",\n\t\tprepend,\n\t\tappend,\n\t\tlabelInline,\n\t\tclassName,\n\t\tstatus = \"normal\",\n\t\tmessage,\n\t\ttip,\n\t\tclear,\n\t\twidth,\n\t\thideVisible,\n\t\tborder,\n\t\tunderline,\n\t\trequired,\n\t\tmaxLength,\n\t\tonChange,\n\t\tonEnter,\n\t\tonClear,\n\t\tstyle,\n\t\t...restProps\n\t} = props;\n\n\tconst state = useReactive({\n\t\tvalue,\n\t\ttype,\n\t\tvisible: false,\n\t});\n\n\tconst handleChange = (e: ChangeEvent<HTMLInputElement>) => {\n\t\tconst v = e.target.value;\n\n\t\tstate.value = v;\n\t\tonChange?.(v, e);\n\t};\n\n\tconst handleKeydown = (e) => {\n\t\te.code === \"Enter\" && onEnter?.(e);\n\t};\n\n\tconst handleHelperClick = () => {\n\t\tif (type === \"password\" && !hideVisible) {\n\t\t\tObject.assign(state, {\n\t\t\t\tvisible: !state.visible,\n\t\t\t\ttype: !state.visible ? \"text\" : \"password\",\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\n\t\tconst v = \"\";\n\t\tonChange?.(v);\n\t\tonClear?.();\n\t};\n\n\tconst HelperIcon = useMemo(() => {\n\t\tif (type === \"password\") {\n\t\t\treturn state.visible ? <VisibilityRound /> : <VisibilityOffRound />;\n\t\t}\n\n\t\treturn undefined;\n\t}, [state.visible]);\n\n\tuseEffect(() => {\n\t\tstate.value = value;\n\t}, [value]);\n\n\tconst inputProps = {\n\t\tref,\n\t\ttype: state.type,\n\t\tname,\n\t\tvalue: state.value,\n\t\tmaxLength,\n\t\tclassName: classNames(\"i-input\", `i-input-${type}`),\n\t\tonChange: handleChange,\n\t\tonKeyDown: handleKeydown,\n\t\t...restProps,\n\t};\n\n\tconst clearable = clear && state.value;\n\tconst showHelper = type === \"password\" && !!state.value;\n\n\treturn (\n\t\t<InputContainer\n\t\t\tlabel={label}\n\t\t\tlabelInline={labelInline}\n\t\t\tclassName={className}\n\t\t\tstyle={{ width, ...style }}\n\t\t\ttip={message ?? tip}\n\t\t\tstatus={status}\n\t\t\trequired={required}\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName={classNames(\"i-input-item\", {\n\t\t\t\t\t[`i-input-${status}`]: status !== \"normal\",\n\t\t\t\t\t\"i-input-borderless\": !border,\n\t\t\t\t\t\"i-input-underline\": underline,\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t{prepend && <div className='i-input-prepend'>{prepend}</div>}\n\n\t\t\t\t<input {...inputProps} />\n\n\t\t\t\t{maxLength && state.value?.length > 0 && (\n\t\t\t\t\t<span className='color-8 pr-4 font-sm'>\n\t\t\t\t\t\t{state.value.length} / {maxLength}\n\t\t\t\t\t</span>\n\t\t\t\t)}\n\n\t\t\t\t<Helpericon\n\t\t\t\t\tactive={!!clearable || showHelper}\n\t\t\t\t\ticon={HelperIcon}\n\t\t\t\t\tonClick={handleHelperClick}\n\t\t\t\t/>\n\n\t\t\t\t{append && <div className='i-input-append'>{append}</div>}\n\t\t\t</div>\n\t\t</InputContainer>\n\t);\n}) as CompositionInput;\n\nInput.Textarea = Textarea;\nInput.Number = Number;\nInput.Range = Range;\n\nexport default Input;\n"],"names":["useReactive","useMemo","_jsx","VisibilityRound","VisibilityOffRound","useEffect","classNames","InputContainer","_jsxs","Helpericon","Textarea","Number","Range"],"mappings":"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"}
@@ -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 utils = require('../../js/utils.js');
@@ -17,7 +17,7 @@ var classNames__default = /*#__PURE__*/_interopDefaultCompat(classNames);
17
17
 
18
18
  const Number = (props) => {
19
19
  const { ref, label, name, value = "", labelInline, step = 1, min = -Infinity, max = Infinity, thousand, precision, type, className, width, status = "normal", append, border, prepend, disabled, message, tip, hideControl, showMax, style, onChange, onEnter, onInput, onBlur, ...restProps } = props;
20
- const state = ahooks.useReactive({
20
+ const state = hooks.useReactive({
21
21
  value,
22
22
  });
23
23
  const getRangeNumber = (v) => utils.clamp(v, min, max);
@@ -1 +1 @@
1
- {"version":3,"file":"number.js","sources":["../../../../packages/components/input/number.tsx"],"sourcesContent":["import {\r\n\tKeyboardDoubleArrowUpRound,\r\n\tMinusRound,\r\n\tPlusRound,\r\n} from \"@ricons/material\";\r\nimport { useReactive } from \"ahooks\";\r\nimport classNames from \"classnames\";\r\nimport { ChangeEvent, useEffect } from \"react\";\r\nimport \"../../css/input.css\";\r\nimport { clamp, formatNumber } from \"../../js/utils\";\r\nimport Helpericon from \"../utils/helpericon\";\r\nimport InputContainer from \"./container\";\r\nimport type { IInputNumber } from \"./type\";\r\n\r\nconst Number = (props: IInputNumber) => {\r\n\tconst {\r\n\t\tref,\r\n\t\tlabel,\r\n\t\tname,\r\n\t\tvalue = \"\",\r\n\t\tlabelInline,\r\n\t\tstep = 1,\r\n\t\tmin = -Infinity,\r\n\t\tmax = Infinity,\r\n\t\tthousand,\r\n\t\tprecision,\r\n\t\ttype,\r\n\t\tclassName,\r\n\t\twidth,\r\n\t\tstatus = \"normal\",\r\n\t\tappend,\r\n\t\tborder,\r\n\t\tprepend,\r\n\t\tdisabled,\r\n\t\tmessage,\r\n\t\ttip,\r\n\t\thideControl,\r\n\t\tshowMax,\r\n\t\tstyle,\r\n\t\tonChange,\r\n\t\tonEnter,\r\n\t\tonInput,\r\n\t\tonBlur,\r\n\t\t...restProps\r\n\t} = props;\r\n\r\n\tconst state = useReactive({\r\n\t\tvalue,\r\n\t});\r\n\r\n\tconst getRangeNumber = (v: number) => clamp(v, min, max);\r\n\r\n\tconst getFormatNumber = (v: number) =>\r\n\t\tformatNumber(v, { precision, thousand });\r\n\r\n\tconst formatInputValue = (v?: string | number) => {\r\n\t\tif (!v) return \"\";\r\n\t\tif (typeof v === \"number\") return v.toString();\r\n\t\tif (!thousand) return v;\r\n\r\n\t\treturn v.split(thousand).join(\"\");\r\n\t};\r\n\r\n\tconst handleChange = (e: ChangeEvent<HTMLInputElement>) => {\r\n\t\tconst { value } = e.target;\r\n\t\tconst v = formatInputValue(value.replace(/[^\\d\\.-]/g, \"\")); // 保留负号和小数点\r\n\t\tconst numValue = clamp(+v, min, max); // 确保值在范围内\r\n\r\n\t\tstate.value = getFormatNumber(numValue); // 修复 thousand 格式化\r\n\t\tonChange?.(numValue, e);\r\n\t};\r\n\r\n\tconst handleOperate = (param: number) => {\r\n\t\tconst value = parseFloat(formatInputValue(state.value)) || 0; // 确保值为数字,默认值为 0\r\n\t\tconst result = getRangeNumber(value + param);\r\n\r\n\t\tstate.value = getFormatNumber(result);\r\n\r\n\t\tonChange?.(result);\r\n\t};\r\n\r\n\tconst handleMax = () => {\r\n\t\tconst result = getRangeNumber(max);\r\n\t\tstate.value = getFormatNumber(result);\r\n\t\tonChange?.(result);\r\n\t};\r\n\r\n\tuseEffect(() => {\r\n\t\tstate.value = value;\r\n\t}, [value]);\r\n\r\n\tconst inputProps = {\r\n\t\tref,\r\n\t\tname,\r\n\t\tdisabled,\r\n\t\tvalue: state.value,\r\n\t\tclassName: \"i-input i-input-number\",\r\n\t\tonChange: handleChange,\r\n\t\t...restProps,\r\n\t};\r\n\r\n\treturn (\r\n\t\t<InputContainer\r\n\t\t\tlabel={label}\r\n\t\t\tlabelInline={labelInline}\r\n\t\t\tclassName={className}\r\n\t\t\tstyle={{ width, ...style }}\r\n\t\t\ttip={message ?? tip}\r\n\t\t\tstatus={status}\r\n\t\t>\r\n\t\t\t<div\r\n\t\t\t\tclassName={classNames(\"i-input-item\", {\r\n\t\t\t\t\t[`i-input-${status}`]: status !== \"normal\",\r\n\t\t\t\t\t\"i-input-borderless\": !border,\r\n\t\t\t\t})}\r\n\t\t\t>\r\n\t\t\t\t{prepend && <div className='i-input-prepend'>{prepend}</div>}\r\n\r\n\t\t\t\t{!hideControl && !disabled && (\r\n\t\t\t\t\t<Helpericon\r\n\t\t\t\t\t\tactive\r\n\t\t\t\t\t\ticon={<MinusRound />}\r\n\t\t\t\t\t\tonClick={() => handleOperate(-step)}\r\n\t\t\t\t\t/>\r\n\t\t\t\t)}\r\n\r\n\t\t\t\t<input {...inputProps} />\r\n\r\n\t\t\t\t{!hideControl && !disabled && (\r\n\t\t\t\t\t<Helpericon\r\n\t\t\t\t\t\tactive\r\n\t\t\t\t\t\ticon={<PlusRound />}\r\n\t\t\t\t\t\tonClick={() => handleOperate(step)}\r\n\t\t\t\t\t/>\r\n\t\t\t\t)}\r\n\r\n\t\t\t\t{showMax && max && !disabled && (\r\n\t\t\t\t\t<Helpericon\r\n\t\t\t\t\t\tactive\r\n\t\t\t\t\t\ticon={<KeyboardDoubleArrowUpRound />}\r\n\t\t\t\t\t\tonClick={handleMax}\r\n\t\t\t\t\t/>\r\n\t\t\t\t)}\r\n\r\n\t\t\t\t{append && <div className='i-input-append'>{append}</div>}\r\n\t\t\t</div>\r\n\t\t</InputContainer>\r\n\t);\r\n};\r\n\r\nexport default Number;\r\n"],"names":["useReactive","clamp","formatNumber","useEffect","_jsx","InputContainer","_jsxs","classNames","Helpericon","MinusRound","PlusRound","KeyboardDoubleArrowUpRound"],"mappings":"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"}
1
+ {"version":3,"file":"number.js","sources":["../../../../packages/components/input/number.tsx"],"sourcesContent":["import {\n\tKeyboardDoubleArrowUpRound,\n\tMinusRound,\n\tPlusRound,\n} from \"@ricons/material\";\nimport { useReactive } from \"@p/js/hooks\";\nimport classNames from \"classnames\";\nimport { ChangeEvent, useEffect } from \"react\";\nimport \"../../css/input.css\";\nimport { clamp, formatNumber } from \"../../js/utils\";\nimport Helpericon from \"../utils/helpericon\";\nimport InputContainer from \"./container\";\nimport type { IInputNumber } from \"./type\";\n\nconst Number = (props: IInputNumber) => {\n\tconst {\n\t\tref,\n\t\tlabel,\n\t\tname,\n\t\tvalue = \"\",\n\t\tlabelInline,\n\t\tstep = 1,\n\t\tmin = -Infinity,\n\t\tmax = Infinity,\n\t\tthousand,\n\t\tprecision,\n\t\ttype,\n\t\tclassName,\n\t\twidth,\n\t\tstatus = \"normal\",\n\t\tappend,\n\t\tborder,\n\t\tprepend,\n\t\tdisabled,\n\t\tmessage,\n\t\ttip,\n\t\thideControl,\n\t\tshowMax,\n\t\tstyle,\n\t\tonChange,\n\t\tonEnter,\n\t\tonInput,\n\t\tonBlur,\n\t\t...restProps\n\t} = props;\n\n\tconst state = useReactive({\n\t\tvalue,\n\t});\n\n\tconst getRangeNumber = (v: number) => clamp(v, min, max);\n\n\tconst getFormatNumber = (v: number) =>\n\t\tformatNumber(v, { precision, thousand });\n\n\tconst formatInputValue = (v?: string | number) => {\n\t\tif (!v) return \"\";\n\t\tif (typeof v === \"number\") return v.toString();\n\t\tif (!thousand) return v;\n\n\t\treturn v.split(thousand).join(\"\");\n\t};\n\n\tconst handleChange = (e: ChangeEvent<HTMLInputElement>) => {\n\t\tconst { value } = e.target;\n\t\tconst v = formatInputValue(value.replace(/[^\\d\\.-]/g, \"\")); // 保留负号和小数点\n\t\tconst numValue = clamp(+v, min, max); // 确保值在范围内\n\n\t\tstate.value = getFormatNumber(numValue); // 修复 thousand 格式化\n\t\tonChange?.(numValue, e);\n\t};\n\n\tconst handleOperate = (param: number) => {\n\t\tconst value = parseFloat(formatInputValue(state.value)) || 0; // 确保值为数字,默认值为 0\n\t\tconst result = getRangeNumber(value + param);\n\n\t\tstate.value = getFormatNumber(result);\n\n\t\tonChange?.(result);\n\t};\n\n\tconst handleMax = () => {\n\t\tconst result = getRangeNumber(max);\n\t\tstate.value = getFormatNumber(result);\n\t\tonChange?.(result);\n\t};\n\n\tuseEffect(() => {\n\t\tstate.value = value;\n\t}, [value]);\n\n\tconst inputProps = {\n\t\tref,\n\t\tname,\n\t\tdisabled,\n\t\tvalue: state.value,\n\t\tclassName: \"i-input i-input-number\",\n\t\tonChange: handleChange,\n\t\t...restProps,\n\t};\n\n\treturn (\n\t\t<InputContainer\n\t\t\tlabel={label}\n\t\t\tlabelInline={labelInline}\n\t\t\tclassName={className}\n\t\t\tstyle={{ width, ...style }}\n\t\t\ttip={message ?? tip}\n\t\t\tstatus={status}\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName={classNames(\"i-input-item\", {\n\t\t\t\t\t[`i-input-${status}`]: status !== \"normal\",\n\t\t\t\t\t\"i-input-borderless\": !border,\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t{prepend && <div className='i-input-prepend'>{prepend}</div>}\n\n\t\t\t\t{!hideControl && !disabled && (\n\t\t\t\t\t<Helpericon\n\t\t\t\t\t\tactive\n\t\t\t\t\t\ticon={<MinusRound />}\n\t\t\t\t\t\tonClick={() => handleOperate(-step)}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\n\t\t\t\t<input {...inputProps} />\n\n\t\t\t\t{!hideControl && !disabled && (\n\t\t\t\t\t<Helpericon\n\t\t\t\t\t\tactive\n\t\t\t\t\t\ticon={<PlusRound />}\n\t\t\t\t\t\tonClick={() => handleOperate(step)}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\n\t\t\t\t{showMax && max && !disabled && (\n\t\t\t\t\t<Helpericon\n\t\t\t\t\t\tactive\n\t\t\t\t\t\ticon={<KeyboardDoubleArrowUpRound />}\n\t\t\t\t\t\tonClick={handleMax}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\n\t\t\t\t{append && <div className='i-input-append'>{append}</div>}\n\t\t\t</div>\n\t\t</InputContainer>\n\t);\n};\n\nexport default Number;\n"],"names":["useReactive","clamp","formatNumber","useEffect","_jsx","InputContainer","_jsxs","classNames","Helpericon","MinusRound","PlusRound","KeyboardDoubleArrowUpRound"],"mappings":"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"}
@@ -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 utils = require('../../js/utils.js');
@@ -17,7 +17,7 @@ var classNames__default = /*#__PURE__*/_interopDefaultCompat(classNames);
17
17
 
18
18
  const Range = (props) => {
19
19
  const { label, name, value, labelInline, min = -Infinity, max = Infinity, type, className, status = "normal", message, tip, append, prepend, step = 1, width, thousand, precision, hideControl, placeholder, border, autoSwitch, onChange, onBlur, style, ...restProps } = props;
20
- const state = ahooks.useReactive({
20
+ const state = hooks.useReactive({
21
21
  value,
22
22
  });
23
23
  const getRangeNumber = (v) => utils.clamp(v, min, max);
@@ -1 +1 @@
1
- {"version":3,"file":"range.js","sources":["../../../../packages/components/input/range.tsx"],"sourcesContent":["import { MinusRound, PlusRound, SyncAltRound } from \"@ricons/material\";\r\nimport { useReactive } from \"ahooks\";\r\nimport classNames from \"classnames\";\r\nimport { ChangeEvent, MouseEvent, useEffect } from \"react\";\r\nimport \"../../css/input.css\";\r\nimport { clamp, formatNumber } from \"../../js/utils\";\r\nimport Helpericon from \"../utils/helpericon\";\r\nimport InputContainer from \"./container\";\r\nimport type { IInputRange } from \"./type\";\r\n\r\nconst Range = (props: IInputRange) => {\r\n\tconst {\r\n\t\tlabel,\r\n\t\tname,\r\n\t\tvalue,\r\n\t\tlabelInline,\r\n\t\tmin = -Infinity,\r\n\t\tmax = Infinity,\r\n\t\ttype,\r\n\t\tclassName,\r\n\t\tstatus = \"normal\",\r\n\t\tmessage,\r\n\t\ttip,\r\n\t\tappend,\r\n\t\tprepend,\r\n\t\tstep = 1,\r\n\t\twidth,\r\n\t\tthousand,\r\n\t\tprecision,\r\n\t\thideControl,\r\n\t\tplaceholder,\r\n\t\tborder,\r\n\t\tautoSwitch,\r\n\t\tonChange,\r\n\t\tonBlur,\r\n\t\tstyle,\r\n\t\t...restProps\r\n\t} = props;\r\n\r\n\tconst state = useReactive({\r\n\t\tvalue,\r\n\t});\r\n\r\n\tconst getRangeNumber = (v: number) => clamp(v, min, max);\r\n\r\n\tconst getFormatNumber = (v: number) =>\r\n\t\tformatNumber(v, { precision, thousand });\r\n\r\n\tconst formatInputValue = (v?: string | number) => {\r\n\t\tif (!v) return \"\";\r\n\t\tif (typeof v === \"number\" || !thousand) return v;\r\n\r\n\t\treturn v.replaceAll(thousand, \"\");\r\n\t};\r\n\r\n\tconst handleChange = (e: ChangeEvent<HTMLInputElement>, i: number) => {\r\n\t\tconst { value } = e.target;\r\n\t\tconst v = formatInputValue(value.replace(/[^\\d\\.-]/g, \"\"));\r\n\t\tconst range = Array.isArray(state.value) ? state.value : [];\r\n\r\n\t\trange[i] = v;\r\n\t\tstate.value = range;\r\n\t\tonChange?.(range, e);\r\n\t};\r\n\r\n\tconst handleOperate = (\r\n\t\te: MouseEvent<Element>,\r\n\t\tparam: number,\r\n\t\ti: number\r\n\t) => {\r\n\t\te.preventDefault();\r\n\t\te.stopPropagation();\r\n\r\n\t\tconst range = Array.isArray(state.value) ? state.value : [];\r\n\t\tconst value = formatInputValue(range[i]) ?? 0;\r\n\t\tconst result = getRangeNumber(+value + param);\r\n\r\n\t\trange[i] = getFormatNumber(result);\r\n\r\n\t\tstate.value = range;\r\n\t\tonChange?.(range, e);\r\n\t};\r\n\r\n\tconst handleSwitch = (e?: MouseEvent) => {\r\n\t\te?.preventDefault();\r\n\t\te?.stopPropagation();\r\n\t\tconst range = state.value ? state.value : [];\r\n\t\t[range[0], range[1]] = [range[1], range[0]];\r\n\r\n\t\tstate.value = range;\r\n\t\tonChange?.(range);\r\n\t};\r\n\r\n\tuseEffect(() => {\r\n\t\tstate.value = value;\r\n\t}, [value]);\r\n\r\n\tconst inputProps = {\r\n\t\tname,\r\n\t\tclassName: \"i-input i-input-number\",\r\n\t\t...restProps,\r\n\t};\r\n\r\n\tconst handleBlur = () => {\r\n\t\tif (!autoSwitch) return;\r\n\t\tconst range = Array.isArray(state.value) ? state.value : [];\r\n\r\n\t\tif (range.length < 2) return;\r\n\r\n\t\tconst [left, right] = range.map(Number);\r\n\t\tif (left > right) {\r\n\t\t\thandleSwitch();\r\n\t\t}\r\n\t};\r\n\r\n\treturn (\r\n\t\t<InputContainer\r\n\t\t\tlabel={label}\r\n\t\t\tlabelInline={labelInline}\r\n\t\t\tclassName={className}\r\n\t\t\tstyle={{ width, ...style }}\r\n\t\t\ttip={message ?? tip}\r\n\t\t\tstatus={status}\r\n\t\t>\r\n\t\t\t<div\r\n\t\t\t\tclassName={classNames(\"i-input-item\", {\r\n\t\t\t\t\t[`i-input-${status}`]: status !== \"normal\",\r\n\t\t\t\t\t\"i-input-borderless\": !border,\r\n\t\t\t\t})}\r\n\t\t\t>\r\n\t\t\t\t{prepend && <div className='i-input-prepend'>{prepend}</div>}\r\n\r\n\t\t\t\t{!hideControl && (\r\n\t\t\t\t\t<Helpericon\r\n\t\t\t\t\t\tactive\r\n\t\t\t\t\t\ticon={<MinusRound />}\r\n\t\t\t\t\t\tonClick={(e) => handleOperate(e, -step, 0)}\r\n\t\t\t\t\t/>\r\n\t\t\t\t)}\r\n\r\n\t\t\t\t<input\r\n\t\t\t\t\tvalue={state.value?.[0] || \"\"}\r\n\t\t\t\t\tplaceholder={placeholder?.[0]}\r\n\t\t\t\t\t{...inputProps}\r\n\t\t\t\t\tonBlur={handleBlur}\r\n\t\t\t\t\tonChange={(e) => handleChange(e, 0)}\r\n\t\t\t\t/>\r\n\r\n\t\t\t\t{!hideControl && (\r\n\t\t\t\t\t<Helpericon\r\n\t\t\t\t\t\tactive\r\n\t\t\t\t\t\ticon={<PlusRound />}\r\n\t\t\t\t\t\tonClick={(e) => handleOperate(e, step, 0)}\r\n\t\t\t\t\t/>\r\n\t\t\t\t)}\r\n\t\t\t\t<Helpericon\r\n\t\t\t\t\tactive\r\n\t\t\t\t\ticon={<SyncAltRound />}\r\n\t\t\t\t\tstyle={{ margin: 0 }}\r\n\t\t\t\t\tonClick={handleSwitch}\r\n\t\t\t\t/>\r\n\t\t\t\t{!hideControl && (\r\n\t\t\t\t\t<Helpericon\r\n\t\t\t\t\t\tactive\r\n\t\t\t\t\t\ticon={<MinusRound />}\r\n\t\t\t\t\t\tonClick={(e) => handleOperate(e, -step, 1)}\r\n\t\t\t\t\t/>\r\n\t\t\t\t)}\r\n\r\n\t\t\t\t<input\r\n\t\t\t\t\tvalue={state.value?.[1] || \"\"}\r\n\t\t\t\t\tplaceholder={placeholder?.[1]}\r\n\t\t\t\t\t{...inputProps}\r\n\t\t\t\t\tonBlur={handleBlur}\r\n\t\t\t\t\tonChange={(e) => handleChange(e, 1)}\r\n\t\t\t\t/>\r\n\r\n\t\t\t\t{!hideControl && (\r\n\t\t\t\t\t<Helpericon\r\n\t\t\t\t\t\tactive\r\n\t\t\t\t\t\ticon={<PlusRound />}\r\n\t\t\t\t\t\tonClick={(e) => handleOperate(e, step, 1)}\r\n\t\t\t\t\t/>\r\n\t\t\t\t)}\r\n\r\n\t\t\t\t{append && <div className='i-input-append'>{append}</div>}\r\n\t\t\t</div>\r\n\t\t</InputContainer>\r\n\t);\r\n};\r\n\r\nexport default Range;\r\n"],"names":["useReactive","clamp","formatNumber","useEffect","_jsx","InputContainer","_jsxs","classNames","Helpericon","MinusRound","PlusRound","SyncAltRound"],"mappings":"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"}
1
+ {"version":3,"file":"range.js","sources":["../../../../packages/components/input/range.tsx"],"sourcesContent":["import { MinusRound, PlusRound, SyncAltRound } from \"@ricons/material\";\nimport { useReactive } from \"@p/js/hooks\";\nimport classNames from \"classnames\";\nimport { ChangeEvent, MouseEvent, useEffect } from \"react\";\nimport \"../../css/input.css\";\nimport { clamp, formatNumber } from \"../../js/utils\";\nimport Helpericon from \"../utils/helpericon\";\nimport InputContainer from \"./container\";\nimport type { IInputRange } from \"./type\";\n\nconst Range = (props: IInputRange) => {\n\tconst {\n\t\tlabel,\n\t\tname,\n\t\tvalue,\n\t\tlabelInline,\n\t\tmin = -Infinity,\n\t\tmax = Infinity,\n\t\ttype,\n\t\tclassName,\n\t\tstatus = \"normal\",\n\t\tmessage,\n\t\ttip,\n\t\tappend,\n\t\tprepend,\n\t\tstep = 1,\n\t\twidth,\n\t\tthousand,\n\t\tprecision,\n\t\thideControl,\n\t\tplaceholder,\n\t\tborder,\n\t\tautoSwitch,\n\t\tonChange,\n\t\tonBlur,\n\t\tstyle,\n\t\t...restProps\n\t} = props;\n\n\tconst state = useReactive({\n\t\tvalue,\n\t});\n\n\tconst getRangeNumber = (v: number) => clamp(v, min, max);\n\n\tconst getFormatNumber = (v: number) =>\n\t\tformatNumber(v, { precision, thousand });\n\n\tconst formatInputValue = (v?: string | number) => {\n\t\tif (!v) return \"\";\n\t\tif (typeof v === \"number\" || !thousand) return v;\n\n\t\treturn v.replaceAll(thousand, \"\");\n\t};\n\n\tconst handleChange = (e: ChangeEvent<HTMLInputElement>, i: number) => {\n\t\tconst { value } = e.target;\n\t\tconst v = formatInputValue(value.replace(/[^\\d\\.-]/g, \"\"));\n\t\tconst range = Array.isArray(state.value) ? state.value : [];\n\n\t\trange[i] = v;\n\t\tstate.value = range;\n\t\tonChange?.(range, e);\n\t};\n\n\tconst handleOperate = (\n\t\te: MouseEvent<Element>,\n\t\tparam: number,\n\t\ti: number\n\t) => {\n\t\te.preventDefault();\n\t\te.stopPropagation();\n\n\t\tconst range = Array.isArray(state.value) ? state.value : [];\n\t\tconst value = formatInputValue(range[i]) ?? 0;\n\t\tconst result = getRangeNumber(+value + param);\n\n\t\trange[i] = getFormatNumber(result);\n\n\t\tstate.value = range;\n\t\tonChange?.(range, e);\n\t};\n\n\tconst handleSwitch = (e?: MouseEvent) => {\n\t\te?.preventDefault();\n\t\te?.stopPropagation();\n\t\tconst range = state.value ? state.value : [];\n\t\t[range[0], range[1]] = [range[1], range[0]];\n\n\t\tstate.value = range;\n\t\tonChange?.(range);\n\t};\n\n\tuseEffect(() => {\n\t\tstate.value = value;\n\t}, [value]);\n\n\tconst inputProps = {\n\t\tname,\n\t\tclassName: \"i-input i-input-number\",\n\t\t...restProps,\n\t};\n\n\tconst handleBlur = () => {\n\t\tif (!autoSwitch) return;\n\t\tconst range = Array.isArray(state.value) ? state.value : [];\n\n\t\tif (range.length < 2) return;\n\n\t\tconst [left, right] = range.map(Number);\n\t\tif (left > right) {\n\t\t\thandleSwitch();\n\t\t}\n\t};\n\n\treturn (\n\t\t<InputContainer\n\t\t\tlabel={label}\n\t\t\tlabelInline={labelInline}\n\t\t\tclassName={className}\n\t\t\tstyle={{ width, ...style }}\n\t\t\ttip={message ?? tip}\n\t\t\tstatus={status}\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName={classNames(\"i-input-item\", {\n\t\t\t\t\t[`i-input-${status}`]: status !== \"normal\",\n\t\t\t\t\t\"i-input-borderless\": !border,\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t{prepend && <div className='i-input-prepend'>{prepend}</div>}\n\n\t\t\t\t{!hideControl && (\n\t\t\t\t\t<Helpericon\n\t\t\t\t\t\tactive\n\t\t\t\t\t\ticon={<MinusRound />}\n\t\t\t\t\t\tonClick={(e) => handleOperate(e, -step, 0)}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\n\t\t\t\t<input\n\t\t\t\t\tvalue={state.value?.[0] || \"\"}\n\t\t\t\t\tplaceholder={placeholder?.[0]}\n\t\t\t\t\t{...inputProps}\n\t\t\t\t\tonBlur={handleBlur}\n\t\t\t\t\tonChange={(e) => handleChange(e, 0)}\n\t\t\t\t/>\n\n\t\t\t\t{!hideControl && (\n\t\t\t\t\t<Helpericon\n\t\t\t\t\t\tactive\n\t\t\t\t\t\ticon={<PlusRound />}\n\t\t\t\t\t\tonClick={(e) => handleOperate(e, step, 0)}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\t<Helpericon\n\t\t\t\t\tactive\n\t\t\t\t\ticon={<SyncAltRound />}\n\t\t\t\t\tstyle={{ margin: 0 }}\n\t\t\t\t\tonClick={handleSwitch}\n\t\t\t\t/>\n\t\t\t\t{!hideControl && (\n\t\t\t\t\t<Helpericon\n\t\t\t\t\t\tactive\n\t\t\t\t\t\ticon={<MinusRound />}\n\t\t\t\t\t\tonClick={(e) => handleOperate(e, -step, 1)}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\n\t\t\t\t<input\n\t\t\t\t\tvalue={state.value?.[1] || \"\"}\n\t\t\t\t\tplaceholder={placeholder?.[1]}\n\t\t\t\t\t{...inputProps}\n\t\t\t\t\tonBlur={handleBlur}\n\t\t\t\t\tonChange={(e) => handleChange(e, 1)}\n\t\t\t\t/>\n\n\t\t\t\t{!hideControl && (\n\t\t\t\t\t<Helpericon\n\t\t\t\t\t\tactive\n\t\t\t\t\t\ticon={<PlusRound />}\n\t\t\t\t\t\tonClick={(e) => handleOperate(e, step, 1)}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\n\t\t\t\t{append && <div className='i-input-append'>{append}</div>}\n\t\t\t</div>\n\t\t</InputContainer>\n\t);\n};\n\nexport default Range;\n"],"names":["useReactive","clamp","formatNumber","useEffect","_jsx","InputContainer","_jsxs","classNames","Helpericon","MinusRound","PlusRound","SyncAltRound"],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var jsxRuntime = require('react/jsx-runtime');
6
- var ahooks = require('ahooks');
6
+ var hooks = require('../../js/hooks.js');
7
7
  var classNames = require('classnames');
8
8
  var react = require('react');
9
9
  var container = require('./container.js');
@@ -14,7 +14,7 @@ var classNames__default = /*#__PURE__*/_interopDefaultCompat(classNames);
14
14
 
15
15
  const Textarea = (props) => {
16
16
  const { ref, label, name, value = "", labelInline, className, status = "normal", message, tip, autoSize, border, width, style, onChange, onEnter, ...restProps } = props;
17
- const state = ahooks.useReactive({
17
+ const state = hooks.useReactive({
18
18
  value,
19
19
  });
20
20
  const refTextarea = react.useRef(null);
@@ -1 +1 @@
1
- {"version":3,"file":"textarea.js","sources":["../../../../packages/components/input/textarea.tsx"],"sourcesContent":["import { useReactive } from \"ahooks\";\r\nimport classNames from \"classnames\";\r\nimport { ChangeEvent, useEffect, useImperativeHandle, useRef } from \"react\";\r\nimport \"../../css/input.css\";\r\nimport InputContainer from \"./container\";\r\nimport type { ITextarea } from \"./type\";\r\n\r\nconst Textarea = (props: ITextarea) => {\r\n\tconst {\r\n\t\tref,\r\n\t\tlabel,\r\n\t\tname,\r\n\t\tvalue = \"\",\r\n\t\tlabelInline,\r\n\t\tclassName,\r\n\t\tstatus = \"normal\",\r\n\t\tmessage,\r\n\t\ttip,\r\n\t\tautoSize,\r\n\t\tborder,\r\n\t\twidth,\r\n\t\tstyle,\r\n\t\tonChange,\r\n\t\tonEnter,\r\n\t\t...restProps\r\n\t} = props;\r\n\r\n\tconst state = useReactive({\r\n\t\tvalue,\r\n\t});\r\n\tconst refTextarea = useRef<HTMLTextAreaElement>(null);\r\n\r\n\tconst handleChange = (\r\n\t\te: ChangeEvent<HTMLInputElement | HTMLTextAreaElement>\r\n\t) => {\r\n\t\tconst v = e.target.value;\r\n\r\n\t\tstate.value = v;\r\n\r\n\t\tconst ta = refTextarea.current as HTMLElement;\r\n\t\tif (autoSize && ta) {\r\n\t\t\tta.style.height = `${ta.scrollHeight}px`;\r\n\t\t}\r\n\r\n\t\tonChange?.(v, e);\r\n\t};\r\n\r\n\tconst handleKeydown = (e) => {\r\n\t\tif (e.code !== \"Enter\") return;\r\n\r\n\t\te.stopPropagation();\r\n\t\tonEnter?.(e);\r\n\t};\r\n\r\n\tuseEffect(() => {\r\n\t\tstate.value = value;\r\n\t}, [value]);\r\n\r\n\tuseImperativeHandle(ref, () => {\r\n\t\treturn {\r\n\t\t\tinput: refTextarea.current,\r\n\t\t};\r\n\t});\r\n\r\n\tconst inputProps = {\r\n\t\tref: refTextarea,\r\n\t\tname,\r\n\t\tvalue: state.value,\r\n\t\tclassName: \"i-input i-textarea\",\r\n\t\tonChange: handleChange,\r\n\t\tonKeyDown: handleKeydown,\r\n\t\t...restProps,\r\n\t};\r\n\r\n\treturn (\r\n\t\t<InputContainer\r\n\t\t\tlabel={label}\r\n\t\t\tlabelInline={labelInline}\r\n\t\t\tclassName={className}\r\n\t\t\tstyle={{ width, ...style }}\r\n\t\t\ttip={message ?? tip}\r\n\t\t\tstatus={status}\r\n\t\t>\r\n\t\t\t<div\r\n\t\t\t\tclassName={classNames(\"i-input-item\", {\r\n\t\t\t\t\t[`i-input-${status}`]: status !== \"normal\",\r\n\t\t\t\t\t\"i-input-borderless\": !border,\r\n\t\t\t\t})}\r\n\t\t\t>\r\n\t\t\t\t<textarea {...inputProps} />\r\n\t\t\t</div>\r\n\t\t</InputContainer>\r\n\t);\r\n};\r\n\r\nexport default Textarea;\r\n"],"names":["useReactive","useRef","useEffect","useImperativeHandle","_jsx","InputContainer","classNames"],"mappings":";;;;;;;;;;;;;;AAOA,MAAM,QAAQ,GAAG,CAAC,KAAgB,KAAI;AACrC,IAAA,MAAM,EACL,GAAG,EACH,KAAK,EACL,IAAI,EACJ,KAAK,GAAG,EAAE,EACV,WAAW,EACX,SAAS,EACT,MAAM,GAAG,QAAQ,EACjB,OAAO,EACP,GAAG,EACH,QAAQ,EACR,MAAM,EACN,KAAK,EACL,KAAK,EACL,QAAQ,EACR,OAAO,EACP,GAAG,SAAS,EACZ,GAAG,KAAK;IAET,MAAM,KAAK,GAAGA,kBAAW,CAAC;QACzB,KAAK;AACL,KAAA,CAAC;AACF,IAAA,MAAM,WAAW,GAAGC,YAAM,CAAsB,IAAI,CAAC;AAErD,IAAA,MAAM,YAAY,GAAG,CACpB,CAAsD,KACnD;AACH,QAAA,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK;AAExB,QAAA,KAAK,CAAC,KAAK,GAAG,CAAC;AAEf,QAAA,MAAM,EAAE,GAAG,WAAW,CAAC,OAAsB;AAC7C,QAAA,IAAI,QAAQ,IAAI,EAAE,EAAE;YACnB,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAA,EAAA,CAAI;;AAGzC,QAAA,QAAQ,GAAG,CAAC,EAAE,CAAC,CAAC;AACjB,KAAC;AAED,IAAA,MAAM,aAAa,GAAG,CAAC,CAAC,KAAI;AAC3B,QAAA,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO;YAAE;QAExB,CAAC,CAAC,eAAe,EAAE;AACnB,QAAA,OAAO,GAAG,CAAC,CAAC;AACb,KAAC;IAEDC,eAAS,CAAC,MAAK;AACd,QAAA,KAAK,CAAC,KAAK,GAAG,KAAK;AACpB,KAAC,EAAE,CAAC,KAAK,CAAC,CAAC;AAEX,IAAAC,yBAAmB,CAAC,GAAG,EAAE,MAAK;QAC7B,OAAO;YACN,KAAK,EAAE,WAAW,CAAC,OAAO;SAC1B;AACF,KAAC,CAAC;AAEF,IAAA,MAAM,UAAU,GAAG;AAClB,QAAA,GAAG,EAAE,WAAW;QAChB,IAAI;QACJ,KAAK,EAAE,KAAK,CAAC,KAAK;AAClB,QAAA,SAAS,EAAE,oBAAoB;AAC/B,QAAA,QAAQ,EAAE,YAAY;AACtB,QAAA,SAAS,EAAE,aAAa;AACxB,QAAA,GAAG,SAAS;KACZ;AAED,IAAA,QACCC,cAAC,CAAAC,iBAAc,IACd,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAC1B,GAAG,EAAE,OAAO,IAAI,GAAG,EACnB,MAAM,EAAE,MAAM,YAEdD,cACC,CAAA,KAAA,EAAA,EAAA,SAAS,EAAEE,mBAAU,CAAC,cAAc,EAAE;AACrC,gBAAA,CAAC,WAAW,MAAM,CAAA,CAAE,GAAG,MAAM,KAAK,QAAQ;gBAC1C,oBAAoB,EAAE,CAAC,MAAM;AAC7B,aAAA,CAAC,YAEFF,cAAc,CAAA,UAAA,EAAA,EAAA,GAAA,UAAU,GAAI,EACvB,CAAA,EAAA,CACU;AAEnB;;;;"}
1
+ {"version":3,"file":"textarea.js","sources":["../../../../packages/components/input/textarea.tsx"],"sourcesContent":["import { useReactive } from \"@p/js/hooks\";\nimport classNames from \"classnames\";\nimport { ChangeEvent, useEffect, useImperativeHandle, useRef } from \"react\";\nimport \"../../css/input.css\";\nimport InputContainer from \"./container\";\nimport type { ITextarea } from \"./type\";\n\nconst Textarea = (props: ITextarea) => {\n\tconst {\n\t\tref,\n\t\tlabel,\n\t\tname,\n\t\tvalue = \"\",\n\t\tlabelInline,\n\t\tclassName,\n\t\tstatus = \"normal\",\n\t\tmessage,\n\t\ttip,\n\t\tautoSize,\n\t\tborder,\n\t\twidth,\n\t\tstyle,\n\t\tonChange,\n\t\tonEnter,\n\t\t...restProps\n\t} = props;\n\n\tconst state = useReactive({\n\t\tvalue,\n\t});\n\tconst refTextarea = useRef<HTMLTextAreaElement>(null);\n\n\tconst handleChange = (\n\t\te: ChangeEvent<HTMLInputElement | HTMLTextAreaElement>\n\t) => {\n\t\tconst v = e.target.value;\n\n\t\tstate.value = v;\n\n\t\tconst ta = refTextarea.current as HTMLElement;\n\t\tif (autoSize && ta) {\n\t\t\tta.style.height = `${ta.scrollHeight}px`;\n\t\t}\n\n\t\tonChange?.(v, e);\n\t};\n\n\tconst handleKeydown = (e) => {\n\t\tif (e.code !== \"Enter\") return;\n\n\t\te.stopPropagation();\n\t\tonEnter?.(e);\n\t};\n\n\tuseEffect(() => {\n\t\tstate.value = value;\n\t}, [value]);\n\n\tuseImperativeHandle(ref, () => {\n\t\treturn {\n\t\t\tinput: refTextarea.current,\n\t\t};\n\t});\n\n\tconst inputProps = {\n\t\tref: refTextarea,\n\t\tname,\n\t\tvalue: state.value,\n\t\tclassName: \"i-input i-textarea\",\n\t\tonChange: handleChange,\n\t\tonKeyDown: handleKeydown,\n\t\t...restProps,\n\t};\n\n\treturn (\n\t\t<InputContainer\n\t\t\tlabel={label}\n\t\t\tlabelInline={labelInline}\n\t\t\tclassName={className}\n\t\t\tstyle={{ width, ...style }}\n\t\t\ttip={message ?? tip}\n\t\t\tstatus={status}\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName={classNames(\"i-input-item\", {\n\t\t\t\t\t[`i-input-${status}`]: status !== \"normal\",\n\t\t\t\t\t\"i-input-borderless\": !border,\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t<textarea {...inputProps} />\n\t\t\t</div>\n\t\t</InputContainer>\n\t);\n};\n\nexport default Textarea;\n"],"names":["useReactive","useRef","useEffect","useImperativeHandle","_jsx","InputContainer","classNames"],"mappings":";;;;;;;;;;;;;;AAOA,MAAM,QAAQ,GAAG,CAAC,KAAgB,KAAI;AACrC,IAAA,MAAM,EACL,GAAG,EACH,KAAK,EACL,IAAI,EACJ,KAAK,GAAG,EAAE,EACV,WAAW,EACX,SAAS,EACT,MAAM,GAAG,QAAQ,EACjB,OAAO,EACP,GAAG,EACH,QAAQ,EACR,MAAM,EACN,KAAK,EACL,KAAK,EACL,QAAQ,EACR,OAAO,EACP,GAAG,SAAS,EACZ,GAAG,KAAK;IAET,MAAM,KAAK,GAAGA,iBAAW,CAAC;QACzB,KAAK;AACL,KAAA,CAAC;AACF,IAAA,MAAM,WAAW,GAAGC,YAAM,CAAsB,IAAI,CAAC;AAErD,IAAA,MAAM,YAAY,GAAG,CACpB,CAAsD,KACnD;AACH,QAAA,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK;AAExB,QAAA,KAAK,CAAC,KAAK,GAAG,CAAC;AAEf,QAAA,MAAM,EAAE,GAAG,WAAW,CAAC,OAAsB;AAC7C,QAAA,IAAI,QAAQ,IAAI,EAAE,EAAE;YACnB,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAA,EAAA,CAAI;QACzC;AAEA,QAAA,QAAQ,GAAG,CAAC,EAAE,CAAC,CAAC;AACjB,IAAA,CAAC;AAED,IAAA,MAAM,aAAa,GAAG,CAAC,CAAC,KAAI;AAC3B,QAAA,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO;YAAE;QAExB,CAAC,CAAC,eAAe,EAAE;AACnB,QAAA,OAAO,GAAG,CAAC,CAAC;AACb,IAAA,CAAC;IAEDC,eAAS,CAAC,MAAK;AACd,QAAA,KAAK,CAAC,KAAK,GAAG,KAAK;AACpB,IAAA,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;AAEX,IAAAC,yBAAmB,CAAC,GAAG,EAAE,MAAK;QAC7B,OAAO;YACN,KAAK,EAAE,WAAW,CAAC,OAAO;SAC1B;AACF,IAAA,CAAC,CAAC;AAEF,IAAA,MAAM,UAAU,GAAG;AAClB,QAAA,GAAG,EAAE,WAAW;QAChB,IAAI;QACJ,KAAK,EAAE,KAAK,CAAC,KAAK;AAClB,QAAA,SAAS,EAAE,oBAAoB;AAC/B,QAAA,QAAQ,EAAE,YAAY;AACtB,QAAA,SAAS,EAAE,aAAa;AACxB,QAAA,GAAG,SAAS;KACZ;AAED,IAAA,QACCC,cAAA,CAACC,iBAAc,IACd,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAC1B,GAAG,EAAE,OAAO,IAAI,GAAG,EACnB,MAAM,EAAE,MAAM,YAEdD,cAAA,CAAA,KAAA,EAAA,EACC,SAAS,EAAEE,mBAAU,CAAC,cAAc,EAAE;AACrC,gBAAA,CAAC,WAAW,MAAM,CAAA,CAAE,GAAG,MAAM,KAAK,QAAQ;gBAC1C,oBAAoB,EAAE,CAAC,MAAM;AAC7B,aAAA,CAAC,YAEFF,cAAA,CAAA,UAAA,EAAA,EAAA,GAAc,UAAU,GAAI,EAAA,CACvB,EAAA,CACU;AAEnB;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"item.js","sources":["../../../../packages/components/list/item.tsx"],"sourcesContent":["import classNames from \"classnames\";\r\nimport { IListItem } from \"./type\";\r\n\r\nconst Item = (props: IListItem) => {\r\n\tconst {\r\n\t\tref,\r\n\t\tactive,\r\n\t\ttype,\r\n\t\talign,\r\n\t\tdisabled,\r\n\t\tlabel,\r\n\t\tstyle,\r\n\t\tborder,\r\n\t\tclassName,\r\n\t\tchildren,\r\n\t\t...restProps\r\n\t} = props;\r\n\r\n\treturn (\r\n\t\t<li\r\n\t\t\tref={ref}\r\n\t\t\tclassName={classNames(\"i-list-item\", className, {\r\n\t\t\t\t\"i-list-item-active\": active,\r\n\t\t\t\t\"i-list-option\": type === \"option\",\r\n\t\t\t\t\"i-list-item-bordered\": border,\r\n\t\t\t\tdisabled,\r\n\t\t\t})}\r\n\t\t\tstyle={{ alignItems: align, ...style }}\r\n\t\t\t{...restProps}\r\n\t\t>\r\n\t\t\t{label !== undefined && (\r\n\t\t\t\t<span className='i-list-item-label'>{label}</span>\r\n\t\t\t)}\r\n\t\t\t{children}\r\n\t\t</li>\r\n\t);\r\n};\r\n\r\nexport default Item;\r\n"],"names":["_jsxs","classNames","_jsx"],"mappings":";;;;;;;;;;;AAGA,MAAM,IAAI,GAAG,CAAC,KAAgB,KAAI;IACjC,MAAM,EACL,GAAG,EACH,MAAM,EACN,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,KAAK,EACL,KAAK,EACL,MAAM,EACN,SAAS,EACT,QAAQ,EACR,GAAG,SAAS,EACZ,GAAG,KAAK;AAET,IAAA,QACCA,eAAA,CAAA,IAAA,EAAA,EACC,GAAG,EAAE,GAAG,EACR,SAAS,EAAEC,mBAAU,CAAC,aAAa,EAAE,SAAS,EAAE;AAC/C,YAAA,oBAAoB,EAAE,MAAM;YAC5B,eAAe,EAAE,IAAI,KAAK,QAAQ;AAClC,YAAA,sBAAsB,EAAE,MAAM;YAC9B,QAAQ;AACR,SAAA,CAAC,EACF,KAAK,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAA,GAClC,SAAS,EAEZ,QAAA,EAAA,CAAA,KAAK,KAAK,SAAS,KACnBC,cAAM,CAAA,MAAA,EAAA,EAAA,SAAS,EAAC,mBAAmB,EAAA,QAAA,EAAE,KAAK,EAAA,CAAQ,CAClD,EACA,QAAQ,CAAA,EAAA,CACL;AAEP;;;;"}
1
+ {"version":3,"file":"item.js","sources":["../../../../packages/components/list/item.tsx"],"sourcesContent":["import classNames from \"classnames\";\nimport { IListItem } from \"./type\";\n\nconst Item = (props: IListItem) => {\n\tconst {\n\t\tref,\n\t\tactive,\n\t\ttype,\n\t\talign,\n\t\tdisabled,\n\t\tlabel,\n\t\tstyle,\n\t\tborder,\n\t\tclassName,\n\t\tchildren,\n\t\t...restProps\n\t} = props;\n\n\treturn (\n\t\t<li\n\t\t\tref={ref}\n\t\t\tclassName={classNames(\"i-list-item\", className, {\n\t\t\t\t\"i-list-item-active\": active,\n\t\t\t\t\"i-list-option\": type === \"option\",\n\t\t\t\t\"i-list-item-bordered\": border,\n\t\t\t\tdisabled,\n\t\t\t})}\n\t\t\tstyle={{ alignItems: align, ...style }}\n\t\t\t{...restProps}\n\t\t>\n\t\t\t{label !== undefined && (\n\t\t\t\t<span className='i-list-item-label'>{label}</span>\n\t\t\t)}\n\t\t\t{children}\n\t\t</li>\n\t);\n};\n\nexport default Item;\n"],"names":["_jsxs","classNames","_jsx"],"mappings":";;;;;;;;;;;AAGA,MAAM,IAAI,GAAG,CAAC,KAAgB,KAAI;IACjC,MAAM,EACL,GAAG,EACH,MAAM,EACN,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,KAAK,EACL,KAAK,EACL,MAAM,EACN,SAAS,EACT,QAAQ,EACR,GAAG,SAAS,EACZ,GAAG,KAAK;AAET,IAAA,QACCA,eAAA,CAAA,IAAA,EAAA,EACC,GAAG,EAAE,GAAG,EACR,SAAS,EAAEC,mBAAU,CAAC,aAAa,EAAE,SAAS,EAAE;AAC/C,YAAA,oBAAoB,EAAE,MAAM;YAC5B,eAAe,EAAE,IAAI,KAAK,QAAQ;AAClC,YAAA,sBAAsB,EAAE,MAAM;YAC9B,QAAQ;AACR,SAAA,CAAC,EACF,KAAK,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAA,GAClC,SAAS,EAAA,QAAA,EAAA,CAEZ,KAAK,KAAK,SAAS,KACnBC,cAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,mBAAmB,EAAA,QAAA,EAAE,KAAK,EAAA,CAAQ,CAClD,EACA,QAAQ,CAAA,EAAA,CACL;AAEP;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"list.js","sources":["../../../../packages/components/list/list.tsx"],"sourcesContent":["import classNames from \"classnames\";\r\nimport { Children, cloneElement } from \"react\";\r\nimport \"./index.css\";\r\nimport Item from \"./item\";\r\nimport { IList } from \"./type\";\r\n\r\nconst List = (props: IList) => {\r\n\tconst { label, type, border, className, children, ...restProps } = props;\r\n\r\n\treturn (\r\n\t\t<ul className={classNames(\"i-list\", className)} {...restProps}>\r\n\t\t\t{Children.map(children, (node: any, i) => {\r\n\t\t\t\tconst renderLabel =\r\n\t\t\t\t\ttypeof label === \"function\" ? label(i) : label;\r\n\r\n\t\t\t\tconst { type, props: nodeProps } = node;\r\n\r\n\t\t\t\tif (type === Item) {\r\n\t\t\t\t\treturn cloneElement(node, {\r\n\t\t\t\t\t\tlabel: renderLabel,\r\n\t\t\t\t\t\t...nodeProps,\r\n\t\t\t\t\t\ttype: props.type,\r\n\t\t\t\t\t\tborder,\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn node;\r\n\t\t\t})}\r\n\t\t</ul>\r\n\t);\r\n};\r\n\r\nList.Item = Item;\r\n\r\nexport default List;\r\n"],"names":["_jsx","classNames","Children","Item","cloneElement"],"mappings":";;;;;;;;;;;;;AAMA,MAAM,IAAI,GAAG,CAAC,KAAY,KAAI;AAC7B,IAAA,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,SAAS,EAAE,GAAG,KAAK;IAExE,QACCA,cAAI,CAAA,IAAA,EAAA,EAAA,SAAS,EAAEC,mBAAU,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAM,GAAA,SAAS,YAC3DC,cAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,IAAS,EAAE,CAAC,KAAI;AACxC,YAAA,MAAM,WAAW,GAChB,OAAO,KAAK,KAAK,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK;YAE/C,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,IAAI;AAEvC,YAAA,IAAI,IAAI,KAAKC,YAAI,EAAE;gBAClB,OAAOC,kBAAY,CAAC,IAAI,EAAE;AACzB,oBAAA,KAAK,EAAE,WAAW;AAClB,oBAAA,GAAG,SAAS;oBACZ,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,MAAM;AACN,iBAAA,CAAC;;AAGH,YAAA,OAAO,IAAI;SACX,CAAC,EACE,CAAA;AAEP;AAEA,IAAI,CAAC,IAAI,GAAGD,YAAI;;;;"}
1
+ {"version":3,"file":"list.js","sources":["../../../../packages/components/list/list.tsx"],"sourcesContent":["import classNames from \"classnames\";\nimport { Children, cloneElement } from \"react\";\nimport \"./index.css\";\nimport Item from \"./item\";\nimport { IList } from \"./type\";\n\nconst List = (props: IList) => {\n\tconst { label, type, border, className, children, ...restProps } = props;\n\n\treturn (\n\t\t<ul className={classNames(\"i-list\", className)} {...restProps}>\n\t\t\t{Children.map(children, (node: any, i) => {\n\t\t\t\tconst renderLabel =\n\t\t\t\t\ttypeof label === \"function\" ? label(i) : label;\n\n\t\t\t\tconst { type, props: nodeProps } = node;\n\n\t\t\t\tif (type === Item) {\n\t\t\t\t\treturn cloneElement(node, {\n\t\t\t\t\t\tlabel: renderLabel,\n\t\t\t\t\t\t...nodeProps,\n\t\t\t\t\t\ttype: props.type,\n\t\t\t\t\t\tborder,\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\treturn node;\n\t\t\t})}\n\t\t</ul>\n\t);\n};\n\nList.Item = Item;\n\nexport default List;\n"],"names":["_jsx","classNames","Children","Item","cloneElement"],"mappings":";;;;;;;;;;;;;AAMA,MAAM,IAAI,GAAG,CAAC,KAAY,KAAI;AAC7B,IAAA,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,SAAS,EAAE,GAAG,KAAK;IAExE,QACCA,cAAA,CAAA,IAAA,EAAA,EAAI,SAAS,EAAEC,mBAAU,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAA,GAAM,SAAS,YAC3DC,cAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,IAAS,EAAE,CAAC,KAAI;AACxC,YAAA,MAAM,WAAW,GAChB,OAAO,KAAK,KAAK,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK;YAE/C,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,IAAI;AAEvC,YAAA,IAAI,IAAI,KAAKC,YAAI,EAAE;gBAClB,OAAOC,kBAAY,CAAC,IAAI,EAAE;AACzB,oBAAA,KAAK,EAAE,WAAW;AAClB,oBAAA,GAAG,SAAS;oBACZ,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,MAAM;AACN,iBAAA,CAAC;YACH;AAEA,YAAA,OAAO,IAAI;QACZ,CAAC,CAAC,EAAA,CACE;AAEP;AAEA,IAAI,CAAC,IAAI,GAAGD,YAAI;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"loading.js","sources":["../../../../packages/components/loading/loading.tsx"],"sourcesContent":["import classNames from \"classnames\";\r\nimport \"./index.css\";\r\nimport { ILoading } from \"./type\";\r\n\r\nconst Loading = (props: ILoading) => {\r\n\tconst { icon, text, size, absolute, style, className, ...restProps } =\r\n\t\tprops;\r\n\r\n\treturn (\r\n\t\t<div\r\n\t\t\tclassName={classNames(\r\n\t\t\t\t\"i-loading-container\",\r\n\t\t\t\t{\r\n\t\t\t\t\tabsolute,\r\n\t\t\t\t},\r\n\t\t\t\tclassName\r\n\t\t\t)}\r\n\t\t\tstyle={{\r\n\t\t\t\t...style,\r\n\t\t\t\tinset: absolute ? 0 : \"unset\",\r\n\t\t\t}}\r\n\t\t\t{...restProps}\r\n\t\t>\r\n\t\t\t{icon ?? (\r\n\t\t\t\t<svg\r\n\t\t\t\t\twidth='24'\r\n\t\t\t\t\theight='24'\r\n\t\t\t\t\tstroke='#000'\r\n\t\t\t\t\tviewBox='0 0 24 24'\r\n\t\t\t\t\txmlns='http://www.w3.org/2000/svg'\r\n\t\t\t\t\tclassName='i-loading-icon'\r\n\t\t\t\t\tstyle={{\r\n\t\t\t\t\t\tfontSize: size,\r\n\t\t\t\t\t}}\r\n\t\t\t\t>\r\n\t\t\t\t\t<circle\r\n\t\t\t\t\t\tcx='12'\r\n\t\t\t\t\t\tcy='12'\r\n\t\t\t\t\t\tr='9.5'\r\n\t\t\t\t\t\tfill='none'\r\n\t\t\t\t\t\tstrokeWidth='3'\r\n\t\t\t\t\t\tstrokeLinecap='round'\r\n\t\t\t\t\t\tstrokeDasharray={40}\r\n\t\t\t\t\t\tstrokeDashoffset={0}\r\n\t\t\t\t\t/>\r\n\t\t\t\t</svg>\r\n\t\t\t)}\r\n\r\n\t\t\t{text}\r\n\t\t</div>\r\n\t);\r\n};\r\n\r\nexport default Loading;\r\n"],"names":["_jsxs","classNames","_jsx"],"mappings":";;;;;;;;;;;AAIA,MAAM,OAAO,GAAG,CAAC,KAAe,KAAI;AACnC,IAAA,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,GACnE,KAAK;AAEN,IAAA,QACCA,eACC,CAAA,KAAA,EAAA,EAAA,SAAS,EAAEC,mBAAU,CACpB,qBAAqB,EACrB;YACC,QAAQ;AACR,SAAA,EACD,SAAS,CACT,EACD,KAAK,EAAE;AACN,YAAA,GAAG,KAAK;YACR,KAAK,EAAE,QAAQ,GAAG,CAAC,GAAG,OAAO;AAC7B,SAAA,EAAA,GACG,SAAS,EAAA,QAAA,EAAA,CAEZ,IAAI,KACJC,cAAA,CAAA,KAAA,EAAA,EACC,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,MAAM,EAAC,MAAM,EACb,OAAO,EAAC,WAAW,EACnB,KAAK,EAAC,4BAA4B,EAClC,SAAS,EAAC,gBAAgB,EAC1B,KAAK,EAAE;AACN,oBAAA,QAAQ,EAAE,IAAI;AACd,iBAAA,EAAA,QAAA,EAEDA,2BACC,EAAE,EAAC,IAAI,EACP,EAAE,EAAC,IAAI,EACP,CAAC,EAAC,KAAK,EACP,IAAI,EAAC,MAAM,EACX,WAAW,EAAC,GAAG,EACf,aAAa,EAAC,OAAO,EACrB,eAAe,EAAE,EAAE,EACnB,gBAAgB,EAAE,CAAC,GAClB,EACG,CAAA,CACN,EAEA,IAAI,CAAA,EAAA,CACA;AAER;;;;"}
1
+ {"version":3,"file":"loading.js","sources":["../../../../packages/components/loading/loading.tsx"],"sourcesContent":["import classNames from \"classnames\";\nimport \"./index.css\";\nimport { ILoading } from \"./type\";\n\nconst Loading = (props: ILoading) => {\n\tconst { icon, text, size, absolute, style, className, ...restProps } =\n\t\tprops;\n\n\treturn (\n\t\t<div\n\t\t\tclassName={classNames(\n\t\t\t\t\"i-loading-container\",\n\t\t\t\t{\n\t\t\t\t\tabsolute,\n\t\t\t\t},\n\t\t\t\tclassName\n\t\t\t)}\n\t\t\tstyle={{\n\t\t\t\t...style,\n\t\t\t\tinset: absolute ? 0 : \"unset\",\n\t\t\t}}\n\t\t\t{...restProps}\n\t\t>\n\t\t\t{icon ?? (\n\t\t\t\t<svg\n\t\t\t\t\twidth='24'\n\t\t\t\t\theight='24'\n\t\t\t\t\tstroke='#000'\n\t\t\t\t\tviewBox='0 0 24 24'\n\t\t\t\t\txmlns='http://www.w3.org/2000/svg'\n\t\t\t\t\tclassName='i-loading-icon'\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tfontSize: size,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<circle\n\t\t\t\t\t\tcx='12'\n\t\t\t\t\t\tcy='12'\n\t\t\t\t\t\tr='9.5'\n\t\t\t\t\t\tfill='none'\n\t\t\t\t\t\tstrokeWidth='3'\n\t\t\t\t\t\tstrokeLinecap='round'\n\t\t\t\t\t\tstrokeDasharray={40}\n\t\t\t\t\t\tstrokeDashoffset={0}\n\t\t\t\t\t/>\n\t\t\t\t</svg>\n\t\t\t)}\n\n\t\t\t{text}\n\t\t</div>\n\t);\n};\n\nexport default Loading;\n"],"names":["_jsxs","classNames","_jsx"],"mappings":";;;;;;;;;;;AAIA,MAAM,OAAO,GAAG,CAAC,KAAe,KAAI;AACnC,IAAA,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,GACnE,KAAK;AAEN,IAAA,QACCA,eAAA,CAAA,KAAA,EAAA,EACC,SAAS,EAAEC,mBAAU,CACpB,qBAAqB,EACrB;YACC,QAAQ;AACR,SAAA,EACD,SAAS,CACT,EACD,KAAK,EAAE;AACN,YAAA,GAAG,KAAK;YACR,KAAK,EAAE,QAAQ,GAAG,CAAC,GAAG,OAAO;AAC7B,SAAA,EAAA,GACG,SAAS,EAAA,QAAA,EAAA,CAEZ,IAAI,KACJC,cAAA,CAAA,KAAA,EAAA,EACC,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,MAAM,EAAC,MAAM,EACb,OAAO,EAAC,WAAW,EACnB,KAAK,EAAC,4BAA4B,EAClC,SAAS,EAAC,gBAAgB,EAC1B,KAAK,EAAE;AACN,oBAAA,QAAQ,EAAE,IAAI;AACd,iBAAA,EAAA,QAAA,EAEDA,2BACC,EAAE,EAAC,IAAI,EACP,EAAE,EAAC,IAAI,EACP,CAAC,EAAC,KAAK,EACP,IAAI,EAAC,MAAM,EACX,WAAW,EAAC,GAAG,EACf,aAAa,EAAC,OAAO,EACrB,eAAe,EAAE,EAAE,EACnB,gBAAgB,EAAE,CAAC,GAClB,EAAA,CACG,CACN,EAEA,IAAI,CAAA,EAAA,CACA;AAER;;;;"}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var jsxRuntime = require('react/jsx-runtime');
6
- var ahooks = require('ahooks');
6
+ var hooks = require('../../js/hooks.js');
7
7
  var classNames = require('classnames');
8
8
  var radash = require('radash');
9
9
  var react = require('react');
@@ -19,8 +19,6 @@ const AlignMap = {
19
19
  right: "flex-end",
20
20
  };
21
21
  const GlobalConfig = {
22
- align: "center",
23
- offset: "12px",
24
22
  gap: 12,
25
23
  };
26
24
  const ItemDefaultConfig = {
@@ -53,7 +51,7 @@ const MessageItem = function ({ ref, active, content, top, className, style, onC
53
51
  };
54
52
  function Messages() {
55
53
  const ref = react.useRef(null);
56
- const state = ahooks.useReactive({
54
+ const state = hooks.useReactive({
57
55
  items: {
58
56
  left: [],
59
57
  center: [],
@@ -1 +1 @@
1
- {"version":3,"file":"message.js","sources":["../../../../packages/components/message/message.tsx"],"sourcesContent":["import { useReactive } from \"ahooks\";\r\nimport classNames from \"classnames\";\r\nimport { uid } from \"radash\";\r\nimport { ReactNode, isValidElement, useEffect, useRef } from \"react\";\r\nimport { createRoot } from \"react-dom/client\";\r\nimport \"./index.css\";\r\nimport type { IMessage, IMessageItem, THeights, TMessageQueue } from \"./type\";\r\n\r\nconst AlignMap = {\r\n\tleft: \"flex-start\",\r\n\tcenter: \"center\",\r\n\tright: \"flex-end\",\r\n};\r\n\r\nconst GlobalConfig = {\r\n\talign: \"center\",\r\n\toffset: \"12px\",\r\n\tgap: 12,\r\n};\r\n\r\nconst ItemDefaultConfig = {\r\n\tduration: 3000,\r\n\tclosable: true,\r\n\tactive: false,\r\n};\r\n\r\nconst handler: {\r\n\toneInstance: null | IMessage;\r\n\tcallout: (item: IMessage) => void;\r\n\tclose: () => void;\r\n} = {\r\n\toneInstance: null,\r\n\tcallout(item: IMessage) {},\r\n\tclose() {},\r\n};\r\n\r\nconst queue: TMessageQueue = {\r\n\tleft: [],\r\n\tcenter: [],\r\n\tright: [],\r\n};\r\nconst heights: THeights = {\r\n\tleft: [],\r\n\tcenter: [],\r\n\tright: [],\r\n};\r\n\r\nconst MessageItem = function ({\r\n\tref,\r\n\tactive,\r\n\tcontent,\r\n\ttop,\r\n\tclassName,\r\n\tstyle,\r\n\tonClick,\r\n}: IMessageItem) {\r\n\treturn (\r\n\t\t<div\r\n\t\t\tref={ref}\r\n\t\t\tclassName={classNames(\"i-message\", className, {\r\n\t\t\t\t\"i-message-active\": active,\r\n\t\t\t})}\r\n\t\t\tstyle={{\r\n\t\t\t\t...style,\r\n\t\t\t\ttop,\r\n\t\t\t}}\r\n\t\t\tonClick={onClick}\r\n\t\t>\r\n\t\t\t{content}\r\n\t\t</div>\r\n\t);\r\n};\r\n\r\nfunction Messages() {\r\n\tconst ref = useRef<HTMLDivElement>(null);\r\n\tconst state = useReactive<{\r\n\t\ttops: THeights;\r\n\t\titems: TMessageQueue;\r\n\t}>({\r\n\t\titems: {\r\n\t\t\tleft: [],\r\n\t\t\tcenter: [],\r\n\t\t\tright: [],\r\n\t\t},\r\n\t\ttops: {\r\n\t\t\tleft: [],\r\n\t\t\tcenter: [],\r\n\t\t\tright: [],\r\n\t\t},\r\n\t});\r\n\tconst offsetTop = {\r\n\t\tleft: 0,\r\n\t\tcenter: 0,\r\n\t\tright: 0,\r\n\t};\r\n\r\n\tuseEffect(() => {\r\n\t\tObject.assign(handler, {\r\n\t\t\tcallout: function (item: IMessage) {\r\n\t\t\t\tconst { align = \"center\", unshift, onShow } = item;\r\n\t\t\t\tconst size = queue[align][unshift ? \"unshift\" : \"push\"](item);\r\n\t\t\t\tstate.items[align] = [...queue[align]];\r\n\t\t\t\titem.close = this.close.bind(item);\r\n\r\n\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\tconst h = ref.current?.offsetHeight || 0;\r\n\r\n\t\t\t\t\tqueue[align][unshift ? 0 : size - 1].active = true;\r\n\t\t\t\t\tstate.items[align] = [...queue[align]];\r\n\t\t\t\t\theights[align][unshift ? \"unshift\" : \"push\"](h);\r\n\t\t\t\t\tstate.tops[align] = [...heights[align]];\r\n\t\t\t\t\tonShow?.();\r\n\t\t\t\t}, 12);\r\n\r\n\t\t\t\tif (item.duration !== 0) {\r\n\t\t\t\t\titem.timer = setTimeout(() => {\r\n\t\t\t\t\t\tthis.close.call(item);\r\n\t\t\t\t\t}, item.duration);\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tclose: function () {\r\n\t\t\t\tconst item = this as IMessage;\r\n\t\t\t\tconst { align = \"center\", onHide } = item;\r\n\t\t\t\tconst index = queue[align].findIndex((i) => i.id === item.id);\r\n\t\t\t\tif (index < 0) return;\r\n\r\n\t\t\t\tqueue[align][index].active = false;\r\n\t\t\t\tstate.items[align] = [...queue[align]];\r\n\r\n\t\t\t\titem.timer = setTimeout(() => {\r\n\t\t\t\t\tconst index = queue[align].findIndex(\r\n\t\t\t\t\t\t(i) => i.id === item.id\r\n\t\t\t\t\t);\r\n\r\n\t\t\t\t\tqueue[align].splice(index, 1);\r\n\t\t\t\t\theights[align].splice(index, 1);\r\n\t\t\t\t\tstate.tops[align] = [...heights[align]];\r\n\t\t\t\t\tstate.items[align] = [...queue[align]];\r\n\t\t\t\t\titem.timer && clearTimeout(item.timer);\r\n\t\t\t\t\tonHide?.();\r\n\t\t\t\t}, 240);\r\n\t\t\t},\r\n\t\t});\r\n\t}, []);\r\n\r\n\tconst renderItems = (item, i) => {\r\n\t\tif (!item) return <></>;\r\n\r\n\t\tconst { id, active, content, align = \"center\", className } = item;\r\n\t\toffsetTop[align] += state.tops[align][i - 1] || 0;\r\n\t\tconst top = GlobalConfig.gap * i + offsetTop[align];\r\n\r\n\t\treturn (\r\n\t\t\t<MessageItem\r\n\t\t\t\tkey={id}\r\n\t\t\t\tref={ref}\r\n\t\t\t\tactive={active}\r\n\t\t\t\tcontent={content}\r\n\t\t\t\ttop={top}\r\n\t\t\t\tclassName={className}\r\n\t\t\t\tstyle={{ alignSelf: AlignMap[align] }}\r\n\t\t\t\tonClick={handler.close.bind(item)}\r\n\t\t\t/>\r\n\t\t);\r\n\t};\r\n\r\n\treturn (\r\n\t\t<div className='i-messages'>\r\n\t\t\t{state.items.left.map(renderItems)}\r\n\t\t\t{state.items.center.map(renderItems)}\r\n\t\t\t{state.items.right.map(renderItems)}\r\n\t\t</div>\r\n\t);\r\n}\r\n\r\nexport function setMessageConfig(config: IMessage) {\r\n\tObject.assign(GlobalConfig, config);\r\n}\r\n\r\nfunction message(config: IMessage | ReactNode) {\r\n\tif (\r\n\t\t[\"string\", \"number\"].includes(typeof config) ||\r\n\t\tisValidElement(config)\r\n\t) {\r\n\t\tconfig = { content: config as ReactNode };\r\n\t}\r\n\r\n\tconfig = Object.assign(\r\n\t\t{ id: uid(7) },\r\n\t\tItemDefaultConfig,\r\n\t\tconfig as IMessage\r\n\t);\r\n\r\n\thandler.callout(config as IMessage);\r\n\r\n\treturn {\r\n\t\tinstance: config,\r\n\t\tclose: handler.close.bind(config),\r\n\t};\r\n}\r\n\r\nfunction createContainer() {\r\n\tif (typeof document === \"undefined\") return null;\r\n\tconst container = document.createElement(\"div\");\r\n\tcontainer.dataset.id = \"messages\";\r\n\tdocument.body.append(container);\r\n\treturn container;\r\n}\r\n\r\nmessage.error = (content: ReactNode) => {\r\n\treturn message({\r\n\t\tcontent,\r\n\t\tclassName: \"bg-error\",\r\n\t});\r\n};\r\n\r\nmessage.success = (content: ReactNode) => {\r\n\treturn message({\r\n\t\tcontent,\r\n\t\tclassName: \"bg-success\",\r\n\t});\r\n};\r\n\r\nmessage.warning = (content: ReactNode) => {\r\n\treturn message({\r\n\t\tcontent,\r\n\t\tclassName: \"bg-warning\",\r\n\t});\r\n};\r\n\r\nmessage.info = (content: ReactNode) => {\r\n\treturn message({\r\n\t\tcontent,\r\n\t\tclassName: \"bg-blue\",\r\n\t});\r\n};\r\n\r\nmessage.one = (config: IMessage) => {\r\n\tconst o = handler.oneInstance;\r\n\r\n\tif (o) {\r\n\t\tif (o.active && o.duration !== 0) {\r\n\t\t\tclearTimeout(o.timer);\r\n\t\t\to.timer = setTimeout(() => {\r\n\t\t\t\to.close?.();\r\n\t\t\t}, o.duration);\r\n\t\t} else {\r\n\t\t\thandler.callout(o);\r\n\t\t}\r\n\t} else {\r\n\t\tconst { instance } = message(config);\r\n\t\thandler.oneInstance = instance;\r\n\t}\r\n};\r\n\r\n// 初始化消息容器\r\nlet container: HTMLElement | null = null;\r\nlet root: any = null;\r\n\r\nif (typeof window !== \"undefined\") {\r\n\tcontainer = createContainer();\r\n\tif (container) {\r\n\t\troot = createRoot(container);\r\n\t\troot.render(<Messages />);\r\n\t}\r\n}\r\n\r\nexport default message;\r\n"],"names":["_jsx","classNames","useRef","useReactive","useEffect","_jsxs","isValidElement","uid","createRoot"],"mappings":"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"}
1
+ {"version":3,"file":"message.js","sources":["../../../../packages/components/message/message.tsx"],"sourcesContent":["import { useReactive } from \"../../js/hooks\";\nimport classNames from \"classnames\";\nimport { uid } from \"radash\";\nimport { ReactNode, isValidElement, useEffect, useRef } from \"react\";\nimport { createRoot } from \"react-dom/client\";\nimport \"./index.css\";\nimport type { IMessage, IMessageItem, THeights, TMessageQueue } from \"./type\";\n\nconst AlignMap = {\n\tleft: \"flex-start\",\n\tcenter: \"center\",\n\tright: \"flex-end\",\n};\n\nconst GlobalConfig = {\n\talign: \"center\",\n\toffset: \"12px\",\n\tgap: 12,\n};\n\nconst ItemDefaultConfig = {\n\tduration: 3000,\n\tclosable: true,\n\tactive: false,\n};\n\nconst handler: {\n\toneInstance: null | IMessage;\n\tcallout: (item: IMessage) => void;\n\tclose: () => void;\n} = {\n\toneInstance: null,\n\tcallout(item: IMessage) {},\n\tclose() {},\n};\n\nconst queue: TMessageQueue = {\n\tleft: [],\n\tcenter: [],\n\tright: [],\n};\nconst heights: THeights = {\n\tleft: [],\n\tcenter: [],\n\tright: [],\n};\n\nconst MessageItem = function ({\n\tref,\n\tactive,\n\tcontent,\n\ttop,\n\tclassName,\n\tstyle,\n\tonClick,\n}: IMessageItem) {\n\treturn (\n\t\t<div\n\t\t\tref={ref}\n\t\t\tclassName={classNames(\"i-message\", className, {\n\t\t\t\t\"i-message-active\": active,\n\t\t\t})}\n\t\t\tstyle={{\n\t\t\t\t...style,\n\t\t\t\ttop,\n\t\t\t}}\n\t\t\tonClick={onClick}\n\t\t>\n\t\t\t{content}\n\t\t</div>\n\t);\n};\n\nfunction Messages() {\n\tconst ref = useRef<HTMLDivElement>(null);\n\tconst state = useReactive<{\n\t\ttops: THeights;\n\t\titems: TMessageQueue;\n\t}>({\n\t\titems: {\n\t\t\tleft: [],\n\t\t\tcenter: [],\n\t\t\tright: [],\n\t\t},\n\t\ttops: {\n\t\t\tleft: [],\n\t\t\tcenter: [],\n\t\t\tright: [],\n\t\t},\n\t});\n\tconst offsetTop = {\n\t\tleft: 0,\n\t\tcenter: 0,\n\t\tright: 0,\n\t};\n\n\tuseEffect(() => {\n\t\tObject.assign(handler, {\n\t\t\tcallout: function (item: IMessage) {\n\t\t\t\tconst { align = \"center\", unshift, onShow } = item;\n\t\t\t\tconst size = queue[align][unshift ? \"unshift\" : \"push\"](item);\n\t\t\t\tstate.items[align] = [...queue[align]];\n\t\t\t\titem.close = this.close.bind(item);\n\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tconst h = ref.current?.offsetHeight || 0;\n\n\t\t\t\t\tqueue[align][unshift ? 0 : size - 1].active = true;\n\t\t\t\t\tstate.items[align] = [...queue[align]];\n\t\t\t\t\theights[align][unshift ? \"unshift\" : \"push\"](h);\n\t\t\t\t\tstate.tops[align] = [...heights[align]];\n\t\t\t\t\tonShow?.();\n\t\t\t\t}, 12);\n\n\t\t\t\tif (item.duration !== 0) {\n\t\t\t\t\titem.timer = setTimeout(() => {\n\t\t\t\t\t\tthis.close.call(item);\n\t\t\t\t\t}, item.duration);\n\t\t\t\t}\n\t\t\t},\n\t\t\tclose: function () {\n\t\t\t\tconst item = this as IMessage;\n\t\t\t\tconst { align = \"center\", onHide } = item;\n\t\t\t\tconst index = queue[align].findIndex((i) => i.id === item.id);\n\t\t\t\tif (index < 0) return;\n\n\t\t\t\tqueue[align][index].active = false;\n\t\t\t\tstate.items[align] = [...queue[align]];\n\n\t\t\t\titem.timer = setTimeout(() => {\n\t\t\t\t\tconst index = queue[align].findIndex(\n\t\t\t\t\t\t(i) => i.id === item.id\n\t\t\t\t\t);\n\n\t\t\t\t\tqueue[align].splice(index, 1);\n\t\t\t\t\theights[align].splice(index, 1);\n\t\t\t\t\tstate.tops[align] = [...heights[align]];\n\t\t\t\t\tstate.items[align] = [...queue[align]];\n\t\t\t\t\titem.timer && clearTimeout(item.timer);\n\t\t\t\t\tonHide?.();\n\t\t\t\t}, 240);\n\t\t\t},\n\t\t});\n\t}, []);\n\n\tconst renderItems = (item, i) => {\n\t\tif (!item) return <></>;\n\n\t\tconst { id, active, content, align = \"center\", className } = item;\n\t\toffsetTop[align] += state.tops[align][i - 1] || 0;\n\t\tconst top = GlobalConfig.gap * i + offsetTop[align];\n\n\t\treturn (\n\t\t\t<MessageItem\n\t\t\t\tkey={id}\n\t\t\t\tref={ref}\n\t\t\t\tactive={active}\n\t\t\t\tcontent={content}\n\t\t\t\ttop={top}\n\t\t\t\tclassName={className}\n\t\t\t\tstyle={{ alignSelf: AlignMap[align] }}\n\t\t\t\tonClick={handler.close.bind(item)}\n\t\t\t/>\n\t\t);\n\t};\n\n\treturn (\n\t\t<div className='i-messages'>\n\t\t\t{state.items.left.map(renderItems)}\n\t\t\t{state.items.center.map(renderItems)}\n\t\t\t{state.items.right.map(renderItems)}\n\t\t</div>\n\t);\n}\n\nexport function setMessageConfig(config: IMessage) {\n\tObject.assign(GlobalConfig, config);\n}\n\nfunction message(config: IMessage | ReactNode) {\n\tif (\n\t\t[\"string\", \"number\"].includes(typeof config) ||\n\t\tisValidElement(config)\n\t) {\n\t\tconfig = { content: config as ReactNode };\n\t}\n\n\tconfig = Object.assign(\n\t\t{ id: uid(7) },\n\t\tItemDefaultConfig,\n\t\tconfig as IMessage\n\t);\n\n\thandler.callout(config as IMessage);\n\n\treturn {\n\t\tinstance: config,\n\t\tclose: handler.close.bind(config),\n\t};\n}\n\nfunction createContainer() {\n\tif (typeof document === \"undefined\") return null;\n\tconst container = document.createElement(\"div\");\n\tcontainer.dataset.id = \"messages\";\n\tdocument.body.append(container);\n\treturn container;\n}\n\nmessage.error = (content: ReactNode) => {\n\treturn message({\n\t\tcontent,\n\t\tclassName: \"bg-error\",\n\t});\n};\n\nmessage.success = (content: ReactNode) => {\n\treturn message({\n\t\tcontent,\n\t\tclassName: \"bg-success\",\n\t});\n};\n\nmessage.warning = (content: ReactNode) => {\n\treturn message({\n\t\tcontent,\n\t\tclassName: \"bg-warning\",\n\t});\n};\n\nmessage.info = (content: ReactNode) => {\n\treturn message({\n\t\tcontent,\n\t\tclassName: \"bg-blue\",\n\t});\n};\n\nmessage.one = (config: IMessage) => {\n\tconst o = handler.oneInstance;\n\n\tif (o) {\n\t\tif (o.active && o.duration !== 0) {\n\t\t\tclearTimeout(o.timer);\n\t\t\to.timer = setTimeout(() => {\n\t\t\t\to.close?.();\n\t\t\t}, o.duration);\n\t\t} else {\n\t\t\thandler.callout(o);\n\t\t}\n\t} else {\n\t\tconst { instance } = message(config);\n\t\thandler.oneInstance = instance;\n\t}\n};\n\n// 初始化消息容器\nlet container: HTMLElement | null = null;\nlet root: any = null;\n\nif (typeof window !== \"undefined\") {\n\tcontainer = createContainer();\n\tif (container) {\n\t\troot = createRoot(container);\n\t\troot.render(<Messages />);\n\t}\n}\n\nexport default message;\n"],"names":["_jsx","classNames","useRef","useReactive","useEffect","_jsxs","isValidElement","uid","createRoot"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"content.js","sources":["../../../../packages/components/modal/content.tsx"],"sourcesContent":["import { useMemo } from \"react\";\r\nimport Button from \"../button\";\r\nimport Helpericon from \"../utils/helpericon\";\r\nimport \"./index.css\";\r\nimport { IModalContent } from \"./type\";\r\n\r\nexport default function Content(props: IModalContent) {\r\n\tconst {\r\n\t\ttitle,\r\n\t\tfooter,\r\n\t\thideCloseButton,\r\n\t\tfooterLeft,\r\n\t\tokButtonProps,\r\n\t\tcancelButtonProps,\r\n\t\tchildren,\r\n\t\tonOk,\r\n\t\tonClose,\r\n\t} = props;\r\n\tconst showHeader = title || !hideCloseButton;\r\n\r\n\tconst handleOk = async () => {\r\n\t\tconst ret = await onOk?.();\r\n\r\n\t\tif (ret === false) return;\r\n\r\n\t\tonClose?.();\r\n\t};\r\n\r\n\tconst renderFooter = useMemo(() => {\r\n\t\tif (footer || footer === null) return footer;\r\n\r\n\t\tconst propsOk = Object.assign(\r\n\t\t\t{\r\n\t\t\t\tchildren: \"确定\",\r\n\t\t\t\tonClick: handleOk,\r\n\t\t\t},\r\n\t\t\tokButtonProps\r\n\t\t);\r\n\t\tconst propsCancel = Object.assign(\r\n\t\t\t{\r\n\t\t\t\tsecondary: true,\r\n\t\t\t\tchildren: \"关闭\",\r\n\t\t\t\tonClick: onClose,\r\n\t\t\t},\r\n\t\t\tcancelButtonProps\r\n\t\t);\r\n\r\n\t\treturn (\r\n\t\t\t<>\r\n\t\t\t\t{footerLeft}\r\n\t\t\t\t<Button {...propsOk} />\r\n\t\t\t\t<Button {...propsCancel} />\r\n\t\t\t</>\r\n\t\t);\r\n\t}, [footer, okButtonProps, cancelButtonProps]);\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{showHeader && (\r\n\t\t\t\t<header className='i-modal-header'>\r\n\t\t\t\t\t{title && <b>{title}</b>}\r\n\r\n\t\t\t\t\t<Helpericon\r\n\t\t\t\t\t\tactive={!hideCloseButton}\r\n\t\t\t\t\t\tclassName='i-modal-close'\r\n\t\t\t\t\t\tonClick={onClose}\r\n\t\t\t\t\t/>\r\n\t\t\t\t</header>\r\n\t\t\t)}\r\n\r\n\t\t\t<div className='i-modal-content'>{children}</div>\r\n\r\n\t\t\t<footer className='i-modal-footer'>{renderFooter}</footer>\r\n\t\t</>\r\n\t);\r\n}\r\n"],"names":["useMemo","_jsxs","_Fragment","_jsx","Button","Helpericon"],"mappings":";;;;;;;;;AAMwB,SAAA,OAAO,CAAC,KAAoB,EAAA;IACnD,MAAM,EACL,KAAK,EACL,MAAM,EACN,eAAe,EACf,UAAU,EACV,aAAa,EACb,iBAAiB,EACjB,QAAQ,EACR,IAAI,EACJ,OAAO,GACP,GAAG,KAAK;AACT,IAAA,MAAM,UAAU,GAAG,KAAK,IAAI,CAAC,eAAe;AAE5C,IAAA,MAAM,QAAQ,GAAG,YAAW;AAC3B,QAAA,MAAM,GAAG,GAAG,MAAM,IAAI,IAAI;QAE1B,IAAI,GAAG,KAAK,KAAK;YAAE;QAEnB,OAAO,IAAI;AACZ,KAAC;AAED,IAAA,MAAM,YAAY,GAAGA,aAAO,CAAC,MAAK;AACjC,QAAA,IAAI,MAAM,IAAI,MAAM,KAAK,IAAI;AAAE,YAAA,OAAO,MAAM;AAE5C,QAAA,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAC5B;AACC,YAAA,QAAQ,EAAE,IAAI;AACd,YAAA,OAAO,EAAE,QAAQ;SACjB,EACD,aAAa,CACb;AACD,QAAA,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAChC;AACC,YAAA,SAAS,EAAE,IAAI;AACf,YAAA,QAAQ,EAAE,IAAI;AACd,YAAA,OAAO,EAAE,OAAO;SAChB,EACD,iBAAiB,CACjB;AAED,QAAA,QACCC,eACE,CAAAC,mBAAA,EAAA,EAAA,QAAA,EAAA,CAAA,UAAU,EACXC,cAAA,CAACC,cAAM,EAAK,EAAA,GAAA,OAAO,EAAI,CAAA,EACvBD,eAACC,cAAM,EAAA,EAAA,GAAK,WAAW,EAAI,CAAA,CAAA,EAAA,CACzB;KAEJ,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,iBAAiB,CAAC,CAAC;IAE9C,QACCH,eACE,CAAAC,mBAAA,EAAA,EAAA,QAAA,EAAA,CAAA,UAAU,KACVD,4BAAQ,SAAS,EAAC,gBAAgB,EAAA,QAAA,EAAA,CAChC,KAAK,IAAIE,gCAAI,KAAK,EAAA,CAAK,EAExBA,cAAA,CAACE,kBAAU,EAAA,EACV,MAAM,EAAE,CAAC,eAAe,EACxB,SAAS,EAAC,eAAe,EACzB,OAAO,EAAE,OAAO,EACf,CAAA,CAAA,EAAA,CACM,CACT,EAEDF,cAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,iBAAiB,EAAA,QAAA,EAAE,QAAQ,EAAO,CAAA,EAEjDA,cAAQ,CAAA,QAAA,EAAA,EAAA,SAAS,EAAC,gBAAgB,YAAE,YAAY,EAAA,CAAU,CACxD,EAAA,CAAA;AAEL;;;;"}
1
+ {"version":3,"file":"content.js","sources":["../../../../packages/components/modal/content.tsx"],"sourcesContent":["import { useMemo } from \"react\";\nimport Button from \"../button\";\nimport Helpericon from \"../utils/helpericon\";\nimport \"./index.css\";\nimport { IModalContent } from \"./type\";\n\nexport default function Content(props: IModalContent) {\n\tconst {\n\t\ttitle,\n\t\tfooter,\n\t\thideCloseButton,\n\t\tfooterLeft,\n\t\tokButtonProps,\n\t\tcancelButtonProps,\n\t\tchildren,\n\t\tonOk,\n\t\tonClose,\n\t} = props;\n\tconst showHeader = title || !hideCloseButton;\n\n\tconst handleOk = async () => {\n\t\tconst ret = await onOk?.();\n\n\t\tif (ret === false) return;\n\n\t\tonClose?.();\n\t};\n\n\tconst renderFooter = useMemo(() => {\n\t\tif (footer || footer === null) return footer;\n\n\t\tconst propsOk = Object.assign(\n\t\t\t{\n\t\t\t\tchildren: \"确定\",\n\t\t\t\tonClick: handleOk,\n\t\t\t},\n\t\t\tokButtonProps\n\t\t);\n\t\tconst propsCancel = Object.assign(\n\t\t\t{\n\t\t\t\tsecondary: true,\n\t\t\t\tchildren: \"关闭\",\n\t\t\t\tonClick: onClose,\n\t\t\t},\n\t\t\tcancelButtonProps\n\t\t);\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{footerLeft}\n\t\t\t\t<Button {...propsOk} />\n\t\t\t\t<Button {...propsCancel} />\n\t\t\t</>\n\t\t);\n\t}, [footer, okButtonProps, cancelButtonProps]);\n\n\treturn (\n\t\t<>\n\t\t\t{showHeader && (\n\t\t\t\t<header className='i-modal-header'>\n\t\t\t\t\t{title && <b>{title}</b>}\n\n\t\t\t\t\t<Helpericon\n\t\t\t\t\t\tactive={!hideCloseButton}\n\t\t\t\t\t\tclassName='i-modal-close'\n\t\t\t\t\t\tonClick={onClose}\n\t\t\t\t\t/>\n\t\t\t\t</header>\n\t\t\t)}\n\n\t\t\t<div className='i-modal-content'>{children}</div>\n\n\t\t\t<footer className='i-modal-footer'>{renderFooter}</footer>\n\t\t</>\n\t);\n}\n"],"names":["useMemo","_jsxs","_Fragment","_jsx","Button","Helpericon"],"mappings":";;;;;;;;;AAMc,SAAU,OAAO,CAAC,KAAoB,EAAA;IACnD,MAAM,EACL,KAAK,EACL,MAAM,EACN,eAAe,EACf,UAAU,EACV,aAAa,EACb,iBAAiB,EACjB,QAAQ,EACR,IAAI,EACJ,OAAO,GACP,GAAG,KAAK;AACT,IAAA,MAAM,UAAU,GAAG,KAAK,IAAI,CAAC,eAAe;AAE5C,IAAA,MAAM,QAAQ,GAAG,YAAW;AAC3B,QAAA,MAAM,GAAG,GAAG,MAAM,IAAI,IAAI;QAE1B,IAAI,GAAG,KAAK,KAAK;YAAE;QAEnB,OAAO,IAAI;AACZ,IAAA,CAAC;AAED,IAAA,MAAM,YAAY,GAAGA,aAAO,CAAC,MAAK;AACjC,QAAA,IAAI,MAAM,IAAI,MAAM,KAAK,IAAI;AAAE,YAAA,OAAO,MAAM;AAE5C,QAAA,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAC5B;AACC,YAAA,QAAQ,EAAE,IAAI;AACd,YAAA,OAAO,EAAE,QAAQ;SACjB,EACD,aAAa,CACb;AACD,QAAA,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAChC;AACC,YAAA,SAAS,EAAE,IAAI;AACf,YAAA,QAAQ,EAAE,IAAI;AACd,YAAA,OAAO,EAAE,OAAO;SAChB,EACD,iBAAiB,CACjB;AAED,QAAA,QACCC,eAAA,CAAAC,mBAAA,EAAA,EAAA,QAAA,EAAA,CACE,UAAU,EACXC,cAAA,CAACC,cAAM,EAAA,EAAA,GAAK,OAAO,EAAA,CAAI,EACvBD,eAACC,cAAM,EAAA,EAAA,GAAK,WAAW,EAAA,CAAI,CAAA,EAAA,CACzB;IAEL,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,iBAAiB,CAAC,CAAC;IAE9C,QACCH,eAAA,CAAAC,mBAAA,EAAA,EAAA,QAAA,EAAA,CACE,UAAU,KACVD,4BAAQ,SAAS,EAAC,gBAAgB,EAAA,QAAA,EAAA,CAChC,KAAK,IAAIE,gCAAI,KAAK,EAAA,CAAK,EAExBA,cAAA,CAACE,kBAAU,EAAA,EACV,MAAM,EAAE,CAAC,eAAe,EACxB,SAAS,EAAC,eAAe,EACzB,OAAO,EAAE,OAAO,EAAA,CACf,CAAA,EAAA,CACM,CACT,EAEDF,cAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,iBAAiB,EAAA,QAAA,EAAE,QAAQ,EAAA,CAAO,EAEjDA,cAAA,CAAA,QAAA,EAAA,EAAQ,SAAS,EAAC,gBAAgB,YAAE,YAAY,EAAA,CAAU,CAAA,EAAA,CACxD;AAEL;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sources":["../../../../packages/components/modal/context.ts"],"sourcesContent":["import { createContext } from \"react\";\r\n\r\nconst ModalContext = createContext(false);\r\n\r\nexport default ModalContext;\r\n"],"names":["createContext"],"mappings":";;;;;;AAEA,MAAM,YAAY,GAAGA,mBAAa,CAAC,KAAK;;;;"}
1
+ {"version":3,"file":"context.js","sources":["../../../../packages/components/modal/context.ts"],"sourcesContent":["import { createContext } from \"react\";\n\nconst ModalContext = createContext(false);\n\nexport default ModalContext;\n"],"names":["createContext"],"mappings":";;;;;;AAEA,MAAM,YAAY,GAAGA,mBAAa,CAAC,KAAK;;;;"}
@@ -3,13 +3,13 @@
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 react = require('react');
7
+ var hooks = require('../../js/hooks.js');
8
8
  var modal = require('./modal.js');
9
9
 
10
10
  const HookModal = (props) => {
11
11
  const { ref, ...restProps } = props;
12
- const state = ahooks.useReactive({});
12
+ const state = hooks.useReactive({});
13
13
  const mergedProps = Object.assign({}, restProps, state);
14
14
  react.useImperativeHandle(ref, () => ({
15
15
  update: (config = {}) => {
@@ -1 +1 @@
1
- {"version":3,"file":"hookModal.js","sources":["../../../../packages/components/modal/hookModal.tsx"],"sourcesContent":["import { useReactive } from \"ahooks\";\r\nimport type { RefObject } from \"react\";\r\nimport { useImperativeHandle } from \"react\";\r\nimport Modal from \"./modal\";\r\nimport type { IModal, RefHookModal } from \"./type\";\r\n\r\nconst HookModal = (\r\n\tprops: IModal & { ref?: RefObject<RefHookModal | null> }\r\n) => {\r\n\tconst { ref, ...restProps } = props;\r\n\tconst state = useReactive<IModal>({});\r\n\r\n\tconst mergedProps = Object.assign({}, restProps, state);\r\n\r\n\tuseImperativeHandle(ref, () => ({\r\n\t\tupdate: (config: IModal = {}) => {\r\n\t\t\tObject.assign(state, config);\r\n\t\t},\r\n\r\n\t\tclose: () => {\r\n\t\t\tstate.visible = false;\r\n\r\n\t\t\tif (mergedProps.closable) return;\r\n\t\t\tPromise.resolve().then(() => {\r\n\t\t\t\tstate.visible = true;\r\n\t\t\t});\r\n\t\t},\r\n\t}));\r\n\r\n\treturn <Modal {...mergedProps} />;\r\n};\r\n\r\nexport default HookModal;\r\n"],"names":["useReactive","useImperativeHandle","_jsx","Modal"],"mappings":";;;;;;;;;AAMA,MAAM,SAAS,GAAG,CACjB,KAAwD,KACrD;IACH,MAAM,EAAE,GAAG,EAAE,GAAG,SAAS,EAAE,GAAG,KAAK;AACnC,IAAA,MAAM,KAAK,GAAGA,kBAAW,CAAS,EAAE,CAAC;AAErC,IAAA,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC;AAEvD,IAAAC,yBAAmB,CAAC,GAAG,EAAE,OAAO;AAC/B,QAAA,MAAM,EAAE,CAAC,MAAiB,GAAA,EAAE,KAAI;AAC/B,YAAA,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC;SAC5B;QAED,KAAK,EAAE,MAAK;AACX,YAAA,KAAK,CAAC,OAAO,GAAG,KAAK;YAErB,IAAI,WAAW,CAAC,QAAQ;gBAAE;AAC1B,YAAA,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,MAAK;AAC3B,gBAAA,KAAK,CAAC,OAAO,GAAG,IAAI;AACrB,aAAC,CAAC;SACF;AACD,KAAA,CAAC,CAAC;AAEH,IAAA,OAAOC,cAAC,CAAAC,aAAK,EAAK,EAAA,GAAA,WAAW,GAAI;AAClC;;;;"}
1
+ {"version":3,"file":"hookModal.js","sources":["../../../../packages/components/modal/hookModal.tsx"],"sourcesContent":["import type { RefObject } from \"react\";\nimport { useImperativeHandle } from \"react\";\nimport { useReactive } from \"../../js/hooks\";\nimport Modal from \"./modal\";\nimport type { IModal, RefHookModal } from \"./type\";\n\nconst HookModal = (\n\tprops: IModal & { ref?: RefObject<RefHookModal | null> }\n) => {\n\tconst { ref, ...restProps } = props;\n\tconst state = useReactive<IModal>({});\n\n\tconst mergedProps = Object.assign({}, restProps, state);\n\n\tuseImperativeHandle(ref, () => ({\n\t\tupdate: (config: IModal = {}) => {\n\t\t\tObject.assign(state, config);\n\t\t},\n\n\t\tclose: () => {\n\t\t\tstate.visible = false;\n\n\t\t\tif (mergedProps.closable) return;\n\t\t\tPromise.resolve().then(() => {\n\t\t\t\tstate.visible = true;\n\t\t\t});\n\t\t},\n\t}));\n\n\treturn <Modal {...mergedProps} />;\n};\n\nexport default HookModal;\n"],"names":["useReactive","useImperativeHandle","_jsx","Modal"],"mappings":";;;;;;;;;AAMA,MAAM,SAAS,GAAG,CACjB,KAAwD,KACrD;IACH,MAAM,EAAE,GAAG,EAAE,GAAG,SAAS,EAAE,GAAG,KAAK;AACnC,IAAA,MAAM,KAAK,GAAGA,iBAAW,CAAS,EAAE,CAAC;AAErC,IAAA,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC;AAEvD,IAAAC,yBAAmB,CAAC,GAAG,EAAE,OAAO;AAC/B,QAAA,MAAM,EAAE,CAAC,MAAA,GAAiB,EAAE,KAAI;AAC/B,YAAA,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC;QAC7B,CAAC;QAED,KAAK,EAAE,MAAK;AACX,YAAA,KAAK,CAAC,OAAO,GAAG,KAAK;YAErB,IAAI,WAAW,CAAC,QAAQ;gBAAE;AAC1B,YAAA,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,MAAK;AAC3B,gBAAA,KAAK,CAAC,OAAO,GAAG,IAAI;AACrB,YAAA,CAAC,CAAC;QACH,CAAC;AACD,KAAA,CAAC,CAAC;AAEH,IAAA,OAAOC,cAAA,CAACC,aAAK,EAAA,EAAA,GAAK,WAAW,GAAI;AAClC;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"modal.js","sources":["../../../../packages/components/modal/modal.tsx"],"sourcesContent":["import classNames from \"classnames\";\r\nimport { useEffect, useRef, useState } from \"react\";\r\nimport { createPortal } from \"react-dom\";\r\nimport { useKeydown } from \"../../js/hooks\";\r\nimport Content from \"./content\";\r\nimport ModalContext from \"./context\";\r\nimport \"./index.css\";\r\nimport { CompositionModal, IModal } from \"./type\";\r\nimport useModal from \"./useModal\";\r\n\r\nfunction Modal(props: IModal) {\r\n\tconst {\r\n\t\tvisible,\r\n\t\ttitle,\r\n\t\tfooter,\r\n\t\tokButtonProps,\r\n\t\tcancelButtonProps,\r\n\t\tclosable = true,\r\n\t\thideBackdrop,\r\n\t\tbackdropClosable = true,\r\n\t\thideCloseButton,\r\n\t\tdisableEsc,\r\n\t\twidth,\r\n\t\theight,\r\n\t\tcustomized,\r\n\t\tfixed,\r\n\t\thideShadow,\r\n\t\tchildren,\r\n\t\tstyle,\r\n\t\tclassName,\r\n\t\tkeepDOM,\r\n\t\tfooterLeft,\r\n\t\tonClick,\r\n\t\tonVisibleChange,\r\n\t\tonClose,\r\n\t\tonOk,\r\n\t\t...restProps\r\n\t} = props;\r\n\r\n\tconst [show, setShow] = useState(visible);\r\n\tconst [active, setActive] = useState(false);\r\n\tconst [bounced, setBounced] = useState(false);\r\n\tconst [mounted, setMounted] = useState(false);\r\n\tconst toggable = useRef(true);\r\n\r\n\tconst handleShow = async () => {\r\n\t\tif (!toggable.current) return;\r\n\r\n\t\t(!keepDOM || !show) && setShow(true);\r\n\t\ttoggable.current = false;\r\n\r\n\t\tconst timer = setTimeout(() => {\r\n\t\t\tsetActive(true);\r\n\t\t\tonVisibleChange?.(true);\r\n\t\t\ttoggable.current = true;\r\n\t\t}, 64);\r\n\r\n\t\treturn () => clearTimeout(timer);\r\n\t};\r\n\r\n\tconst handleHide = () => {\r\n\t\tif (!toggable.current) return;\r\n\t\ttoggable.current = false;\r\n\r\n\t\tif (!closable) {\r\n\t\t\tsetBounced(true);\r\n\t\t\tconst timer = setTimeout(() => {\r\n\t\t\t\tsetBounced(false);\r\n\t\t\t\ttoggable.current = true;\r\n\t\t\t}, 400);\r\n\t\t\treturn () => clearTimeout(timer);\r\n\t\t}\r\n\r\n\t\tsetActive(false);\r\n\t\tconst timer = setTimeout(() => {\r\n\t\t\t!keepDOM && setShow(false);\r\n\t\t\ttoggable.current = true;\r\n\t\t\tonVisibleChange?.(false);\r\n\t\t\tonClose?.();\r\n\t\t}, 240);\r\n\r\n\t\treturn () => clearTimeout(timer);\r\n\t};\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{ disabled: disableEsc }\r\n\t);\r\n\r\n\tuseEffect(() => {\r\n\t\tvisible ? handleShow() : handleHide();\r\n\t}, [visible]);\r\n\r\n\tuseEffect(() => {\r\n\t\tsetMounted(true);\r\n\t}, []);\r\n\r\n\tconst handleClick = () => {\r\n\t\tif (typeof document === \"undefined\") return;\r\n\t\tdocument.documentElement.click();\r\n\t};\r\n\r\n\tif (!show || !mounted) return null;\r\n\r\n\treturn createPortal(\r\n\t\t<div\r\n\t\t\tclassName={classNames(\r\n\t\t\t\t\"i-modal-container\",\r\n\t\t\t\t{\r\n\t\t\t\t\t\"i-modal-backdrop\": !hideBackdrop,\r\n\t\t\t\t\t\"i-modal-customized\": customized,\r\n\t\t\t\t\t\"i-modal-active\": active,\r\n\t\t\t\t\tfixed,\r\n\t\t\t\t},\r\n\t\t\t\tclassName\r\n\t\t\t)}\r\n\t\t\tstyle={style}\r\n\t\t\tonClick={handleBackdropClick}\r\n\t\t\taria-modal='true'\r\n\t\t\tinert={!active}\r\n\t\t>\r\n\t\t\t<div\r\n\t\t\t\tclassName={classNames(\"i-modal\", {\r\n\t\t\t\t\tbounced,\r\n\t\t\t\t\tshadow: !hideShadow,\r\n\t\t\t\t})}\r\n\t\t\t\tstyle={{\r\n\t\t\t\t\twidth,\r\n\t\t\t\t\theight,\r\n\t\t\t\t}}\r\n\t\t\t\tonClick={(e) => {\r\n\t\t\t\t\te.stopPropagation();\r\n\t\t\t\t\thandleClick();\r\n\t\t\t\t\tonClick?.(e);\r\n\t\t\t\t}}\r\n\t\t\t\trole='dialog'\r\n\t\t\t\taria-labelledby={title ? \"modal-title\" : undefined}\r\n\t\t\t\t{...restProps}\r\n\t\t\t>\r\n\t\t\t\t<ModalContext.Provider value={true}>\r\n\t\t\t\t\t{customized && children}\r\n\r\n\t\t\t\t\t{!customized && (\r\n\t\t\t\t\t\t<Content\r\n\t\t\t\t\t\t\ttitle={title}\r\n\t\t\t\t\t\t\thideCloseButton={hideCloseButton}\r\n\t\t\t\t\t\t\tfooter={footer}\r\n\t\t\t\t\t\t\tokButtonProps={okButtonProps}\r\n\t\t\t\t\t\t\tcancelButtonProps={cancelButtonProps}\r\n\t\t\t\t\t\t\tchildren={children}\r\n\t\t\t\t\t\t\tfooterLeft={footerLeft}\r\n\t\t\t\t\t\t\tonOk={onOk}\r\n\t\t\t\t\t\t\tonClose={handleHide}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t)}\r\n\t\t\t\t</ModalContext.Provider>\r\n\t\t\t</div>\r\n\t\t</div>,\r\n\t\tdocument?.body ?? null\r\n\t);\r\n}\r\n\r\nModal.useModal = useModal;\r\n\r\nexport default Modal as CompositionModal;\r\n"],"names":["useState","useRef","useKeydown","useEffect","createPortal","_jsx","classNames","_jsxs","ModalContext","Content","useModal"],"mappings":"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"}
1
+ {"version":3,"file":"modal.js","sources":["../../../../packages/components/modal/modal.tsx"],"sourcesContent":["import classNames from \"classnames\";\nimport { useEffect, useRef, useState } from \"react\";\nimport { createPortal } from \"react-dom\";\nimport { useKeydown } from \"../../js/hooks\";\nimport Content from \"./content\";\nimport ModalContext from \"./context\";\nimport \"./index.css\";\nimport { CompositionModal, IModal } from \"./type\";\nimport useModal from \"./useModal\";\n\nfunction Modal(props: IModal) {\n\tconst {\n\t\tvisible,\n\t\ttitle,\n\t\tfooter,\n\t\tokButtonProps,\n\t\tcancelButtonProps,\n\t\tclosable = true,\n\t\thideBackdrop,\n\t\tbackdropClosable = true,\n\t\thideCloseButton,\n\t\tdisableEsc,\n\t\twidth,\n\t\theight,\n\t\tcustomized,\n\t\tfixed,\n\t\thideShadow,\n\t\tchildren,\n\t\tstyle,\n\t\tclassName,\n\t\tkeepDOM,\n\t\tfooterLeft,\n\t\tonClick,\n\t\tonVisibleChange,\n\t\tonClose,\n\t\tonOk,\n\t\t...restProps\n\t} = props;\n\n\tconst [show, setShow] = useState(visible);\n\tconst [active, setActive] = useState(false);\n\tconst [bounced, setBounced] = useState(false);\n\tconst [mounted, setMounted] = useState(false);\n\tconst toggable = useRef(true);\n\n\tconst handleShow = async () => {\n\t\tif (!toggable.current) return;\n\n\t\t(!keepDOM || !show) && setShow(true);\n\t\ttoggable.current = false;\n\n\t\tconst timer = setTimeout(() => {\n\t\t\tsetActive(true);\n\t\t\tonVisibleChange?.(true);\n\t\t\ttoggable.current = true;\n\t\t}, 64);\n\n\t\treturn () => clearTimeout(timer);\n\t};\n\n\tconst handleHide = () => {\n\t\tif (!toggable.current) return;\n\t\ttoggable.current = false;\n\n\t\tif (!closable) {\n\t\t\tsetBounced(true);\n\t\t\tconst timer = setTimeout(() => {\n\t\t\t\tsetBounced(false);\n\t\t\t\ttoggable.current = true;\n\t\t\t}, 400);\n\t\t\treturn () => clearTimeout(timer);\n\t\t}\n\n\t\tsetActive(false);\n\t\tconst timer = setTimeout(() => {\n\t\t\t!keepDOM && setShow(false);\n\t\t\ttoggable.current = true;\n\t\t\tonVisibleChange?.(false);\n\t\t\tonClose?.();\n\t\t}, 240);\n\n\t\treturn () => clearTimeout(timer);\n\t};\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{ disabled: disableEsc }\n\t);\n\n\tuseEffect(() => {\n\t\tvisible ? handleShow() : handleHide();\n\t}, [visible]);\n\n\tuseEffect(() => {\n\t\tsetMounted(true);\n\t}, []);\n\n\tconst handleClick = () => {\n\t\tif (typeof document === \"undefined\") return;\n\t\tdocument.documentElement.click();\n\t};\n\n\tif (!show || !mounted) return null;\n\n\treturn createPortal(\n\t\t<div\n\t\t\tclassName={classNames(\n\t\t\t\t\"i-modal-container\",\n\t\t\t\t{\n\t\t\t\t\t\"i-modal-backdrop\": !hideBackdrop,\n\t\t\t\t\t\"i-modal-customized\": customized,\n\t\t\t\t\t\"i-modal-active\": active,\n\t\t\t\t\tfixed,\n\t\t\t\t},\n\t\t\t\tclassName\n\t\t\t)}\n\t\t\tstyle={style}\n\t\t\tonClick={handleBackdropClick}\n\t\t\taria-modal='true'\n\t\t\tinert={!active}\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName={classNames(\"i-modal\", {\n\t\t\t\t\tbounced,\n\t\t\t\t\tshadow: !hideShadow,\n\t\t\t\t})}\n\t\t\t\tstyle={{\n\t\t\t\t\twidth,\n\t\t\t\t\theight,\n\t\t\t\t}}\n\t\t\t\tonClick={(e) => {\n\t\t\t\t\te.stopPropagation();\n\t\t\t\t\thandleClick();\n\t\t\t\t\tonClick?.(e);\n\t\t\t\t}}\n\t\t\t\trole='dialog'\n\t\t\t\taria-labelledby={title ? \"modal-title\" : undefined}\n\t\t\t\t{...restProps}\n\t\t\t>\n\t\t\t\t<ModalContext.Provider value={true}>\n\t\t\t\t\t{customized && children}\n\n\t\t\t\t\t{!customized && (\n\t\t\t\t\t\t<Content\n\t\t\t\t\t\t\ttitle={title}\n\t\t\t\t\t\t\thideCloseButton={hideCloseButton}\n\t\t\t\t\t\t\tfooter={footer}\n\t\t\t\t\t\t\tokButtonProps={okButtonProps}\n\t\t\t\t\t\t\tcancelButtonProps={cancelButtonProps}\n\t\t\t\t\t\t\tchildren={children}\n\t\t\t\t\t\t\tfooterLeft={footerLeft}\n\t\t\t\t\t\t\tonOk={onOk}\n\t\t\t\t\t\t\tonClose={handleHide}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</ModalContext.Provider>\n\t\t\t</div>\n\t\t</div>,\n\t\tdocument?.body ?? null\n\t);\n}\n\nModal.useModal = useModal;\n\nexport default Modal as CompositionModal;\n"],"names":["useState","useRef","useKeydown","useEffect","createPortal","_jsx","classNames","_jsxs","ModalContext","Content","useModal"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useModal.js","sources":["../../../../packages/components/modal/useModal.tsx"],"sourcesContent":["import { useRef } from \"react\";\r\nimport { renderNode } from \"../../js/utils\";\r\nimport HookModal from \"./hookModal\";\r\nimport { IModal, RefHookModal } from \"./type\";\r\n\r\nexport default function useModal() {\r\n\tconst ref = useRef<RefHookModal>(null);\r\n\r\n\tconst handleOpen = (props: IModal) => {\r\n\t\tconst unMount = renderNode(\r\n\t\t\t<HookModal\r\n\t\t\t\tref={ref}\r\n\t\t\t\tvisible\r\n\t\t\t\t{...props}\r\n\t\t\t\tonClose={() => {\r\n\t\t\t\t\tprops.onClose?.();\r\n\t\t\t\t\tunMount?.();\r\n\t\t\t\t}}\r\n\t\t\t/>\r\n\t\t);\r\n\t};\r\n\r\n\tconst handleUpdate = (props: IModal) => {\r\n\t\tif (!ref.current) return;\r\n\r\n\t\tconst { update } = ref.current;\r\n\t\tupdate(props);\r\n\t};\r\n\r\n\tconst handleClose = () => {\r\n\t\tif (!ref.current) return;\r\n\r\n\t\tconst { close } = ref.current;\r\n\t\tclose();\r\n\t};\r\n\r\n\treturn {\r\n\t\topen: handleOpen,\r\n\t\tupdate: handleUpdate,\r\n\t\tclose: handleClose,\r\n\t};\r\n}\r\n"],"names":["useRef","renderNode","_jsx","HookModal"],"mappings":";;;;;;;;;AAKc,SAAU,QAAQ,GAAA;AAC/B,IAAA,MAAM,GAAG,GAAGA,YAAM,CAAe,IAAI,CAAC;AAEtC,IAAA,MAAM,UAAU,GAAG,CAAC,KAAa,KAAI;AACpC,QAAA,MAAM,OAAO,GAAGC,gBAAU,CACzBC,cAAC,CAAAC,iBAAS,IACT,GAAG,EAAE,GAAG,EACR,OAAO,EACH,IAAA,EAAA,GAAA,KAAK,EACT,OAAO,EAAE,MAAK;AACb,gBAAA,KAAK,CAAC,OAAO,IAAI;gBACjB,OAAO,IAAI;aACX,EAAA,CACA,CACF;AACF,KAAC;AAED,IAAA,MAAM,YAAY,GAAG,CAAC,KAAa,KAAI;QACtC,IAAI,CAAC,GAAG,CAAC,OAAO;YAAE;AAElB,QAAA,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO;QAC9B,MAAM,CAAC,KAAK,CAAC;AACd,KAAC;IAED,MAAM,WAAW,GAAG,MAAK;QACxB,IAAI,CAAC,GAAG,CAAC,OAAO;YAAE;AAElB,QAAA,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,OAAO;AAC7B,QAAA,KAAK,EAAE;AACR,KAAC;IAED,OAAO;AACN,QAAA,IAAI,EAAE,UAAU;AAChB,QAAA,MAAM,EAAE,YAAY;AACpB,QAAA,KAAK,EAAE,WAAW;KAClB;AACF;;;;"}
1
+ {"version":3,"file":"useModal.js","sources":["../../../../packages/components/modal/useModal.tsx"],"sourcesContent":["import { useRef } from \"react\";\nimport { renderNode } from \"../../js/utils\";\nimport HookModal from \"./hookModal\";\nimport { IModal, RefHookModal } from \"./type\";\n\nexport default function useModal() {\n\tconst ref = useRef<RefHookModal>(null);\n\n\tconst handleOpen = (props: IModal) => {\n\t\tconst unMount = renderNode(\n\t\t\t<HookModal\n\t\t\t\tref={ref}\n\t\t\t\tvisible\n\t\t\t\t{...props}\n\t\t\t\tonClose={() => {\n\t\t\t\t\tprops.onClose?.();\n\t\t\t\t\tunMount?.();\n\t\t\t\t}}\n\t\t\t/>\n\t\t);\n\t};\n\n\tconst handleUpdate = (props: IModal) => {\n\t\tif (!ref.current) return;\n\n\t\tconst { update } = ref.current;\n\t\tupdate(props);\n\t};\n\n\tconst handleClose = () => {\n\t\tif (!ref.current) return;\n\n\t\tconst { close } = ref.current;\n\t\tclose();\n\t};\n\n\treturn {\n\t\topen: handleOpen,\n\t\tupdate: handleUpdate,\n\t\tclose: handleClose,\n\t};\n}\n"],"names":["useRef","renderNode","_jsx","HookModal"],"mappings":";;;;;;;;;AAKc,SAAU,QAAQ,GAAA;AAC/B,IAAA,MAAM,GAAG,GAAGA,YAAM,CAAe,IAAI,CAAC;AAEtC,IAAA,MAAM,UAAU,GAAG,CAAC,KAAa,KAAI;AACpC,QAAA,MAAM,OAAO,GAAGC,gBAAU,CACzBC,cAAA,CAACC,iBAAS,IACT,GAAG,EAAE,GAAG,EACR,OAAO,EAAA,IAAA,EAAA,GACH,KAAK,EACT,OAAO,EAAE,MAAK;AACb,gBAAA,KAAK,CAAC,OAAO,IAAI;gBACjB,OAAO,IAAI;YACZ,CAAC,EAAA,CACA,CACF;AACF,IAAA,CAAC;AAED,IAAA,MAAM,YAAY,GAAG,CAAC,KAAa,KAAI;QACtC,IAAI,CAAC,GAAG,CAAC,OAAO;YAAE;AAElB,QAAA,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO;QAC9B,MAAM,CAAC,KAAK,CAAC;AACd,IAAA,CAAC;IAED,MAAM,WAAW,GAAG,MAAK;QACxB,IAAI,CAAC,GAAG,CAAC,OAAO;YAAE;AAElB,QAAA,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,OAAO;AAC7B,QAAA,KAAK,EAAE;AACR,IAAA,CAAC;IAED,OAAO;AACN,QAAA,IAAI,EAAE,UAAU;AAChB,QAAA,MAAM,EAAE,YAAY;AACpB,QAAA,KAAK,EAAE,WAAW;KAClB;AACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"page.js","sources":["../../../../packages/components/pagination/page.tsx"],"sourcesContent":["import classNames from \"classnames\";\r\nimport { useState } from \"react\";\r\nimport Loading from \"../loading\";\r\nimport { IPageItem } from \"./type\";\r\n\r\nconst Page = (props: IPageItem) => {\r\n\tconst { page, active, disabled, children, onChange } = props;\r\n\tconst [loading, setLoading] = useState(false);\r\n\r\n\tconst handleClick = async () => {\r\n\t\tif (active || loading || disabled) return;\r\n\r\n\t\tsetLoading(true);\r\n\t\tawait onChange?.(page);\r\n\t\tsetLoading(false);\r\n\t};\r\n\r\n\treturn (\r\n\t\t<a\r\n\t\t\tclassName={classNames(\"i-page\", {\r\n\t\t\t\t\"i-page-active\": active,\r\n\t\t\t\t\"i-page-loading\": loading,\r\n\t\t\t\t\"i-page-disabled\": disabled,\r\n\t\t\t})}\r\n\t\t\tdata-page={page}\r\n\t\t\tonClick={handleClick}\r\n\t\t>\r\n\t\t\t{loading && <Loading absolute />}\r\n\t\t\t{children}\r\n\t\t</a>\r\n\t);\r\n};\r\n\r\nexport default Page;\r\n"],"names":["loading","useState","_jsxs","classNames","_jsx","Loading"],"mappings":";;;;;;;;;;;;;AAKA,MAAM,IAAI,GAAG,CAAC,KAAgB,KAAI;AACjC,IAAA,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,KAAK;IAC5D,MAAM,CAACA,SAAO,EAAE,UAAU,CAAC,GAAGC,cAAQ,CAAC,KAAK,CAAC;AAE7C,IAAA,MAAM,WAAW,GAAG,YAAW;AAC9B,QAAA,IAAI,MAAM,IAAID,SAAO,IAAI,QAAQ;YAAE;QAEnC,UAAU,CAAC,IAAI,CAAC;AAChB,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC;QACtB,UAAU,CAAC,KAAK,CAAC;AAClB,KAAC;AAED,IAAA,QACCE,eACC,CAAA,GAAA,EAAA,EAAA,SAAS,EAAEC,mBAAU,CAAC,QAAQ,EAAE;AAC/B,YAAA,eAAe,EAAE,MAAM;AACvB,YAAA,gBAAgB,EAAEH,SAAO;AACzB,YAAA,iBAAiB,EAAE,QAAQ;AAC3B,SAAA,CAAC,eACS,IAAI,EACf,OAAO,EAAE,WAAW,aAEnBA,SAAO,IAAII,cAAC,CAAAC,eAAO,IAAC,QAAQ,EAAA,IAAA,EAAA,CAAG,EAC/B,QAAQ,CAAA,EAAA,CACN;AAEN;;;;"}
1
+ {"version":3,"file":"page.js","sources":["../../../../packages/components/pagination/page.tsx"],"sourcesContent":["import classNames from \"classnames\";\nimport { useState } from \"react\";\nimport Loading from \"../loading\";\nimport { IPageItem } from \"./type\";\n\nconst Page = (props: IPageItem) => {\n\tconst { page, active, disabled, children, onChange } = props;\n\tconst [loading, setLoading] = useState(false);\n\n\tconst handleClick = async () => {\n\t\tif (active || loading || disabled) return;\n\n\t\tsetLoading(true);\n\t\tawait onChange?.(page);\n\t\tsetLoading(false);\n\t};\n\n\treturn (\n\t\t<a\n\t\t\tclassName={classNames(\"i-page\", {\n\t\t\t\t\"i-page-active\": active,\n\t\t\t\t\"i-page-loading\": loading,\n\t\t\t\t\"i-page-disabled\": disabled,\n\t\t\t})}\n\t\t\tdata-page={page}\n\t\t\tonClick={handleClick}\n\t\t>\n\t\t\t{loading && <Loading absolute />}\n\t\t\t{children}\n\t\t</a>\n\t);\n};\n\nexport default Page;\n"],"names":["loading","useState","_jsxs","classNames","_jsx","Loading"],"mappings":";;;;;;;;;;;;;AAKA,MAAM,IAAI,GAAG,CAAC,KAAgB,KAAI;AACjC,IAAA,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,KAAK;IAC5D,MAAM,CAACA,SAAO,EAAE,UAAU,CAAC,GAAGC,cAAQ,CAAC,KAAK,CAAC;AAE7C,IAAA,MAAM,WAAW,GAAG,YAAW;AAC9B,QAAA,IAAI,MAAM,IAAID,SAAO,IAAI,QAAQ;YAAE;QAEnC,UAAU,CAAC,IAAI,CAAC;AAChB,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC;QACtB,UAAU,CAAC,KAAK,CAAC;AAClB,IAAA,CAAC;AAED,IAAA,QACCE,eAAA,CAAA,GAAA,EAAA,EACC,SAAS,EAAEC,mBAAU,CAAC,QAAQ,EAAE;AAC/B,YAAA,eAAe,EAAE,MAAM;AACvB,YAAA,gBAAgB,EAAEH,SAAO;AACzB,YAAA,iBAAiB,EAAE,QAAQ;AAC3B,SAAA,CAAC,eACS,IAAI,EACf,OAAO,EAAE,WAAW,aAEnBA,SAAO,IAAII,cAAA,CAACC,eAAO,IAAC,QAAQ,EAAA,IAAA,EAAA,CAAG,EAC/B,QAAQ,CAAA,EAAA,CACN;AAEN;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"pagination.js","sources":["../../../../packages/components/pagination/pagination.tsx"],"sourcesContent":["import {\r\n\tKeyboardArrowLeftRound,\r\n\tKeyboardArrowRightRound,\r\n\tMoreHorizRound,\r\n} from \"@ricons/material\";\r\nimport classNames from \"classnames\";\r\nimport { useEffect, useMemo, useState } from \"react\";\r\nimport Icon from \"../icon\";\r\nimport \"./index.css\";\r\nimport Page from \"./page\";\r\nimport { IPagination } from \"./type\";\r\n\r\nconst Pagination = (props: IPagination) => {\r\n\tconst {\r\n\t\tpage: defaultPage = 1,\r\n\t\tsize = 10,\r\n\t\ttotal = 0,\r\n\t\tsibling = 2,\r\n\t\tprev = <Icon icon={<KeyboardArrowLeftRound />} />,\r\n\t\tnext = <Icon icon={<KeyboardArrowRightRound />} />,\r\n\t\tsimple,\r\n\t\tjumper,\r\n\t\tclassName,\r\n\t\trenderEllipsis = () => (\r\n\t\t\t<Icon icon={<MoreHorizRound />} className='color-7' />\r\n\t\t),\r\n\t\trenderPage = (i) => i,\r\n\t\tonChange,\r\n\t\t...restProps\r\n\t} = props;\r\n\r\n\tconst [page, setPage] = useState(defaultPage);\r\n\tconst [loading, setLoading] = useState(false);\r\n\r\n\tconst totalPage = useMemo(() => Math.ceil(total / size), [size, total]);\r\n\r\n\tconst [start, end, loop] = useMemo(() => {\r\n\t\tconst start = Math.max(1, page - sibling);\r\n\t\tconst end = Math.min(totalPage, page + sibling);\r\n\r\n\t\treturn [\r\n\t\t\tstart,\r\n\t\t\tend,\r\n\t\t\tArray.from({ length: end - start + 1 }).map((n, i) => start + i),\r\n\t\t];\r\n\t}, [page, totalPage, sibling]);\r\n\r\n\tconst handlePageChange = async (p?: number) => {\r\n\t\tif (!onChange || loading) return;\r\n\t\tsetLoading(true);\r\n\r\n\t\treturn new Promise<void>(async (resolve) => {\r\n\t\t\tif (p === undefined) return;\r\n\t\t\tawait onChange(p);\r\n\t\t\tsetPage(p);\r\n\t\t\tsetLoading(false);\r\n\t\t\tresolve();\r\n\t\t});\r\n\t};\r\n\r\n\tuseEffect(() => setPage(defaultPage), [defaultPage]);\r\n\r\n\tif (totalPage <= page && page === 1) return <></>;\r\n\r\n\treturn (\r\n\t\t<div className={classNames(\"i-pagination\", className)} {...restProps}>\r\n\t\t\t{prev && (\r\n\t\t\t\t<Page\r\n\t\t\t\t\tpage={page - 1 || 1}\r\n\t\t\t\t\tdisabled={page === 1}\r\n\t\t\t\t\tonChange={handlePageChange}\r\n\t\t\t\t>\r\n\t\t\t\t\t{prev}\r\n\t\t\t\t</Page>\r\n\t\t\t)}\r\n\r\n\t\t\t{start > 1 && (\r\n\t\t\t\t<Page page={1} onChange={handlePageChange}>\r\n\t\t\t\t\t{renderPage(1)}\r\n\t\t\t\t</Page>\r\n\t\t\t)}\r\n\r\n\t\t\t{start > 2 && renderEllipsis()}\r\n\r\n\t\t\t{loop.map((p) => {\r\n\t\t\t\treturn (\r\n\t\t\t\t\t<Page\r\n\t\t\t\t\t\tkey={p}\r\n\t\t\t\t\t\tpage={p}\r\n\t\t\t\t\t\tactive={p === page}\r\n\t\t\t\t\t\tonChange={handlePageChange}\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t{renderPage(p)}\r\n\t\t\t\t\t</Page>\r\n\t\t\t\t);\r\n\t\t\t})}\r\n\r\n\t\t\t{end < totalPage - 1 && renderEllipsis()}\r\n\r\n\t\t\t{end < totalPage && (\r\n\t\t\t\t<Page page={totalPage} onChange={handlePageChange}>\r\n\t\t\t\t\t{renderPage(totalPage)}\r\n\t\t\t\t</Page>\r\n\t\t\t)}\r\n\r\n\t\t\t{next && (\r\n\t\t\t\t<Page\r\n\t\t\t\t\tpage={page + 1}\r\n\t\t\t\t\tdisabled={page === totalPage}\r\n\t\t\t\t\tonChange={handlePageChange}\r\n\t\t\t\t>\r\n\t\t\t\t\t{next}\r\n\t\t\t\t</Page>\r\n\t\t\t)}\r\n\t\t</div>\r\n\t);\r\n};\r\n\r\nexport default Pagination;\r\n"],"names":["_jsx","Icon","KeyboardArrowLeftRound","KeyboardArrowRightRound","MoreHorizRound","page","useState","useMemo","useEffect","_jsxs","classNames","Page"],"mappings":"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"}
1
+ {"version":3,"file":"pagination.js","sources":["../../../../packages/components/pagination/pagination.tsx"],"sourcesContent":["import {\n\tKeyboardArrowLeftRound,\n\tKeyboardArrowRightRound,\n\tMoreHorizRound,\n} from \"@ricons/material\";\nimport classNames from \"classnames\";\nimport { useEffect, useMemo, useState } from \"react\";\nimport Icon from \"../icon\";\nimport \"./index.css\";\nimport Page from \"./page\";\nimport { IPagination } from \"./type\";\n\nconst Pagination = (props: IPagination) => {\n\tconst {\n\t\tpage: defaultPage = 1,\n\t\tsize = 10,\n\t\ttotal = 0,\n\t\tsibling = 2,\n\t\tprev = <Icon icon={<KeyboardArrowLeftRound />} />,\n\t\tnext = <Icon icon={<KeyboardArrowRightRound />} />,\n\t\tsimple,\n\t\tjumper,\n\t\tclassName,\n\t\trenderEllipsis = () => (\n\t\t\t<Icon icon={<MoreHorizRound />} className='color-7' />\n\t\t),\n\t\trenderPage = (i) => i,\n\t\tonChange,\n\t\t...restProps\n\t} = props;\n\n\tconst [page, setPage] = useState(defaultPage);\n\tconst [loading, setLoading] = useState(false);\n\n\tconst totalPage = useMemo(() => Math.ceil(total / size), [size, total]);\n\n\tconst [start, end, loop] = useMemo(() => {\n\t\tconst start = Math.max(1, page - sibling);\n\t\tconst end = Math.min(totalPage, page + sibling);\n\n\t\treturn [\n\t\t\tstart,\n\t\t\tend,\n\t\t\tArray.from({ length: end - start + 1 }).map((n, i) => start + i),\n\t\t];\n\t}, [page, totalPage, sibling]);\n\n\tconst handlePageChange = async (p?: number) => {\n\t\tif (!onChange || loading) return;\n\t\tsetLoading(true);\n\n\t\treturn new Promise<void>(async (resolve) => {\n\t\t\tif (p === undefined) return;\n\t\t\tawait onChange(p);\n\t\t\tsetPage(p);\n\t\t\tsetLoading(false);\n\t\t\tresolve();\n\t\t});\n\t};\n\n\tuseEffect(() => setPage(defaultPage), [defaultPage]);\n\n\tif (totalPage <= page && page === 1) return <></>;\n\n\treturn (\n\t\t<div className={classNames(\"i-pagination\", className)} {...restProps}>\n\t\t\t{prev && (\n\t\t\t\t<Page\n\t\t\t\t\tpage={page - 1 || 1}\n\t\t\t\t\tdisabled={page === 1}\n\t\t\t\t\tonChange={handlePageChange}\n\t\t\t\t>\n\t\t\t\t\t{prev}\n\t\t\t\t</Page>\n\t\t\t)}\n\n\t\t\t{start > 1 && (\n\t\t\t\t<Page page={1} onChange={handlePageChange}>\n\t\t\t\t\t{renderPage(1)}\n\t\t\t\t</Page>\n\t\t\t)}\n\n\t\t\t{start > 2 && renderEllipsis()}\n\n\t\t\t{loop.map((p) => {\n\t\t\t\treturn (\n\t\t\t\t\t<Page\n\t\t\t\t\t\tkey={p}\n\t\t\t\t\t\tpage={p}\n\t\t\t\t\t\tactive={p === page}\n\t\t\t\t\t\tonChange={handlePageChange}\n\t\t\t\t\t>\n\t\t\t\t\t\t{renderPage(p)}\n\t\t\t\t\t</Page>\n\t\t\t\t);\n\t\t\t})}\n\n\t\t\t{end < totalPage - 1 && renderEllipsis()}\n\n\t\t\t{end < totalPage && (\n\t\t\t\t<Page page={totalPage} onChange={handlePageChange}>\n\t\t\t\t\t{renderPage(totalPage)}\n\t\t\t\t</Page>\n\t\t\t)}\n\n\t\t\t{next && (\n\t\t\t\t<Page\n\t\t\t\t\tpage={page + 1}\n\t\t\t\t\tdisabled={page === totalPage}\n\t\t\t\t\tonChange={handlePageChange}\n\t\t\t\t>\n\t\t\t\t\t{next}\n\t\t\t\t</Page>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n\nexport default Pagination;\n"],"names":["_jsx","Icon","KeyboardArrowLeftRound","KeyboardArrowRightRound","MoreHorizRound","page","useState","useMemo","useEffect","_jsxs","classNames","Page"],"mappings":"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"}
@@ -4,8 +4,8 @@ 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 react = require('react');
8
+ var hooks = require('../../../js/hooks.js');
9
9
  var button = require('../../button/button.js');
10
10
  var icon = require('../../icon/icon.js');
11
11
  var input = require('../../input/input.js');
@@ -18,7 +18,7 @@ const ColorMethods = {
18
18
  };
19
19
  function Footer(props) {
20
20
  const { value, type, onTypeChange, onChange, onOk } = props;
21
- const state = ahooks.useReactive({
21
+ const state = hooks.useReactive({
22
22
  value,
23
23
  type,
24
24
  });
@@ -1 +1 @@
1
- {"version":3,"file":"footer.js","sources":["../../../../../packages/components/picker/colors/footer.tsx"],"sourcesContent":["import { CheckRound } from \"@ricons/material\";\r\nimport { useReactive } from \"ahooks\";\r\nimport { useEffect } from \"react\";\r\nimport Button from \"../../button\";\r\nimport Icon from \"../../icon\";\r\nimport Input from \"../../input\";\r\nimport Select from \"../../select\";\r\n\r\nexport const ColorMethods = {\r\n\tHEX: \"toHexString\",\r\n\tRGB: \"toRgbString\",\r\n\tHSB: \"toHsbString\",\r\n};\r\n\r\nexport default function Footer(props) {\r\n\tconst { value, type, onTypeChange, onChange, onOk } = props;\r\n\tconst state = useReactive({\r\n\t\tvalue,\r\n\t\ttype,\r\n\t});\r\n\r\n\tconst handleChange = (v) => {\r\n\t\tstate.value = v;\r\n\t\tonChange(v);\r\n\t};\r\n\r\n\tconst handleTypeChange = (t) => {\r\n\t\tstate.type = t;\r\n\t\tonTypeChange(t);\r\n\t};\r\n\r\n\tuseEffect(() => {\r\n\t\tstate.value = value;\r\n\t\tstate.type = type;\r\n\t}, [value, type]);\r\n\r\n\treturn (\r\n\t\t<div className='i-colorpicker-footer'>\r\n\t\t\t<Select\r\n\t\t\t\treadOnly\r\n\t\t\t\thideClear\r\n\t\t\t\thideArrow\r\n\t\t\t\tstyle={{ width: \"5.6em\" }}\r\n\t\t\t\toptions={[\"RGB\", \"HEX\", \"HSB\"]}\r\n\t\t\t\tvalue={state.type}\r\n\t\t\t\tonChange={handleTypeChange}\r\n\t\t\t/>\r\n\t\t\t<Input\r\n\t\t\t\tplaceholder='color'\r\n\t\t\t\tvalue={state.value}\r\n\t\t\t\tonChange={handleChange}\r\n\t\t\t/>\r\n\t\t\t<Button square onClick={onOk}>\r\n\t\t\t\t<Icon icon={<CheckRound />} />\r\n\t\t\t</Button>\r\n\t\t</div>\r\n\t);\r\n}\r\n"],"names":["useReactive","useEffect","_jsxs","_jsx","Select","Input","Button","Icon","CheckRound"],"mappings":";;;;;;;;;;;;;AAQa,MAAA,YAAY,GAAG;AAC3B,IAAA,GAAG,EAAE,aAAa;AAClB,IAAA,GAAG,EAAE,aAAa;AAClB,IAAA,GAAG,EAAE,aAAa;;AAGK,SAAA,MAAM,CAAC,KAAK,EAAA;AACnC,IAAA,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,KAAK;IAC3D,MAAM,KAAK,GAAGA,kBAAW,CAAC;QACzB,KAAK;QACL,IAAI;AACJ,KAAA,CAAC;AAEF,IAAA,MAAM,YAAY,GAAG,CAAC,CAAC,KAAI;AAC1B,QAAA,KAAK,CAAC,KAAK,GAAG,CAAC;QACf,QAAQ,CAAC,CAAC,CAAC;AACZ,KAAC;AAED,IAAA,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAI;AAC9B,QAAA,KAAK,CAAC,IAAI,GAAG,CAAC;QACd,YAAY,CAAC,CAAC,CAAC;AAChB,KAAC;IAEDC,eAAS,CAAC,MAAK;AACd,QAAA,KAAK,CAAC,KAAK,GAAG,KAAK;AACnB,QAAA,KAAK,CAAC,IAAI,GAAG,IAAI;AAClB,KAAC,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AAEjB,IAAA,QACCC,eAAK,CAAA,KAAA,EAAA,EAAA,SAAS,EAAC,sBAAsB,aACpCC,cAAC,CAAAC,cAAM,EACN,EAAA,QAAQ,QACR,SAAS,EAAA,IAAA,EACT,SAAS,EACT,IAAA,EAAA,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EACzB,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,EAC9B,KAAK,EAAE,KAAK,CAAC,IAAI,EACjB,QAAQ,EAAE,gBAAgB,EAAA,CACzB,EACFD,cAAC,CAAAE,aAAK,IACL,WAAW,EAAC,OAAO,EACnB,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,QAAQ,EAAE,YAAY,GACrB,EACFF,cAAA,CAACG,cAAM,EAAA,EAAC,MAAM,EAAC,IAAA,EAAA,OAAO,EAAE,IAAI,EAAA,QAAA,EAC3BH,eAACI,YAAI,EAAA,EAAC,IAAI,EAAEJ,eAACK,mBAAU,EAAA,EAAA,CAAG,GAAI,EACtB,CAAA,CAAA,EAAA,CACJ;AAER;;;;;"}
1
+ {"version":3,"file":"footer.js","sources":["../../../../../packages/components/picker/colors/footer.tsx"],"sourcesContent":["import { CheckRound } from \"@ricons/material\";\nimport { useEffect } from \"react\";\nimport { useReactive } from \"../../../js/hooks\";\nimport Button from \"../../button\";\nimport Icon from \"../../icon\";\nimport Input from \"../../input\";\nimport Select from \"../../select\";\n\nexport const ColorMethods = {\n\tHEX: \"toHexString\",\n\tRGB: \"toRgbString\",\n\tHSB: \"toHsbString\",\n};\n\nexport default function Footer(props) {\n\tconst { value, type, onTypeChange, onChange, onOk } = props;\n\tconst state = useReactive({\n\t\tvalue,\n\t\ttype,\n\t});\n\n\tconst handleChange = (v) => {\n\t\tstate.value = v;\n\t\tonChange(v);\n\t};\n\n\tconst handleTypeChange = (t) => {\n\t\tstate.type = t;\n\t\tonTypeChange(t);\n\t};\n\n\tuseEffect(() => {\n\t\tstate.value = value;\n\t\tstate.type = type;\n\t}, [value, type]);\n\n\treturn (\n\t\t<div className='i-colorpicker-footer'>\n\t\t\t<Select\n\t\t\t\treadOnly\n\t\t\t\thideClear\n\t\t\t\thideArrow\n\t\t\t\tstyle={{ width: \"5.6em\" }}\n\t\t\t\toptions={[\"RGB\", \"HEX\", \"HSB\"]}\n\t\t\t\tvalue={state.type}\n\t\t\t\tonChange={handleTypeChange}\n\t\t\t/>\n\t\t\t<Input\n\t\t\t\tplaceholder='color'\n\t\t\t\tvalue={state.value}\n\t\t\t\tonChange={handleChange}\n\t\t\t/>\n\t\t\t<Button square onClick={onOk}>\n\t\t\t\t<Icon icon={<CheckRound />} />\n\t\t\t</Button>\n\t\t</div>\n\t);\n}\n"],"names":["useReactive","useEffect","_jsxs","_jsx","Select","Input","Button","Icon","CheckRound"],"mappings":";;;;;;;;;;;;;AAQO,MAAM,YAAY,GAAG;AAC3B,IAAA,GAAG,EAAE,aAAa;AAClB,IAAA,GAAG,EAAE,aAAa;AAClB,IAAA,GAAG,EAAE,aAAa;;AAGL,SAAU,MAAM,CAAC,KAAK,EAAA;AACnC,IAAA,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,KAAK;IAC3D,MAAM,KAAK,GAAGA,iBAAW,CAAC;QACzB,KAAK;QACL,IAAI;AACJ,KAAA,CAAC;AAEF,IAAA,MAAM,YAAY,GAAG,CAAC,CAAC,KAAI;AAC1B,QAAA,KAAK,CAAC,KAAK,GAAG,CAAC;QACf,QAAQ,CAAC,CAAC,CAAC;AACZ,IAAA,CAAC;AAED,IAAA,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAI;AAC9B,QAAA,KAAK,CAAC,IAAI,GAAG,CAAC;QACd,YAAY,CAAC,CAAC,CAAC;AAChB,IAAA,CAAC;IAEDC,eAAS,CAAC,MAAK;AACd,QAAA,KAAK,CAAC,KAAK,GAAG,KAAK;AACnB,QAAA,KAAK,CAAC,IAAI,GAAG,IAAI;AAClB,IAAA,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AAEjB,IAAA,QACCC,eAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,sBAAsB,aACpCC,cAAA,CAACC,cAAM,EAAA,EACN,QAAQ,QACR,SAAS,EAAA,IAAA,EACT,SAAS,EAAA,IAAA,EACT,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EACzB,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,EAC9B,KAAK,EAAE,KAAK,CAAC,IAAI,EACjB,QAAQ,EAAE,gBAAgB,EAAA,CACzB,EACFD,cAAA,CAACE,aAAK,IACL,WAAW,EAAC,OAAO,EACnB,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,QAAQ,EAAE,YAAY,GACrB,EACFF,cAAA,CAACG,cAAM,EAAA,EAAC,MAAM,EAAA,IAAA,EAAC,OAAO,EAAE,IAAI,EAAA,QAAA,EAC3BH,eAACI,YAAI,EAAA,EAAC,IAAI,EAAEJ,eAACK,mBAAU,EAAA,EAAA,CAAG,GAAI,EAAA,CACtB,CAAA,EAAA,CACJ;AAER;;;;;"}