@ioca/react 1.3.3 → 1.3.5

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 (763) hide show
  1. package/lib/cjs/components/affix/affix.js +63 -0
  2. package/lib/cjs/components/affix/affix.js.map +1 -0
  3. package/lib/cjs/components/affix/index.js +10 -0
  4. package/lib/cjs/components/affix/index.js.map +1 -0
  5. package/lib/cjs/components/affix/totop.js +18 -0
  6. package/lib/cjs/components/affix/totop.js.map +1 -0
  7. package/lib/cjs/components/badge/badge.js +17 -0
  8. package/lib/cjs/components/badge/badge.js.map +1 -0
  9. package/lib/cjs/components/badge/index.js +10 -0
  10. package/lib/cjs/components/badge/index.js.map +1 -0
  11. package/lib/cjs/components/button/button.js +62 -0
  12. package/lib/cjs/components/button/button.js.map +1 -0
  13. package/lib/cjs/components/button/group.js +25 -0
  14. package/lib/cjs/components/button/group.js.map +1 -0
  15. package/lib/cjs/components/button/index.js +13 -0
  16. package/lib/cjs/components/button/index.js.map +1 -0
  17. package/lib/cjs/components/button/toggle.js +50 -0
  18. package/lib/cjs/components/button/toggle.js.map +1 -0
  19. package/lib/cjs/components/card/card.js +17 -0
  20. package/lib/cjs/components/card/card.js.map +1 -0
  21. package/lib/cjs/components/card/index.js +10 -0
  22. package/lib/cjs/components/card/index.js.map +1 -0
  23. package/lib/cjs/components/checkbox/checkbox.js +46 -0
  24. package/lib/cjs/components/checkbox/checkbox.js.map +1 -0
  25. package/lib/cjs/components/checkbox/index.js +10 -0
  26. package/lib/cjs/components/checkbox/index.js.map +1 -0
  27. package/lib/cjs/components/checkbox/item.js +40 -0
  28. package/lib/cjs/components/checkbox/item.js.map +1 -0
  29. package/lib/cjs/components/collapse/collapse.js +78 -0
  30. package/lib/cjs/components/collapse/collapse.js.map +1 -0
  31. package/lib/cjs/components/collapse/index.js +10 -0
  32. package/lib/cjs/components/collapse/index.js.map +1 -0
  33. package/lib/cjs/components/collapse/item.js +12 -0
  34. package/lib/cjs/components/collapse/item.js.map +1 -0
  35. package/lib/cjs/components/datagrid/cell.js +27 -0
  36. package/lib/cjs/components/datagrid/cell.js.map +1 -0
  37. package/lib/cjs/components/datagrid/datagrid.js +117 -0
  38. package/lib/cjs/components/datagrid/datagrid.js.map +1 -0
  39. package/lib/cjs/components/datagrid/index.js +10 -0
  40. package/lib/cjs/components/datagrid/index.js.map +1 -0
  41. package/lib/cjs/components/datagrid/resize.js +45 -0
  42. package/lib/cjs/components/datagrid/resize.js.map +1 -0
  43. package/lib/cjs/components/datagrid/row.js +37 -0
  44. package/lib/cjs/components/datagrid/row.js.map +1 -0
  45. package/lib/cjs/components/datagrid/sorter.js +17 -0
  46. package/lib/cjs/components/datagrid/sorter.js.map +1 -0
  47. package/lib/cjs/components/description/description.js +32 -0
  48. package/lib/cjs/components/description/description.js.map +1 -0
  49. package/lib/cjs/components/description/index.js +10 -0
  50. package/lib/cjs/components/description/index.js.map +1 -0
  51. package/lib/cjs/components/drawer/drawer.js +66 -0
  52. package/lib/cjs/components/drawer/drawer.js.map +1 -0
  53. package/lib/cjs/components/drawer/index.js +10 -0
  54. package/lib/cjs/components/drawer/index.js.map +1 -0
  55. package/lib/cjs/components/dropdown/dropdown.js +17 -0
  56. package/lib/cjs/components/dropdown/dropdown.js.map +1 -0
  57. package/lib/cjs/components/dropdown/index.js +10 -0
  58. package/lib/cjs/components/dropdown/index.js.map +1 -0
  59. package/lib/cjs/components/dropdown/item.js +22 -0
  60. package/lib/cjs/components/dropdown/item.js.map +1 -0
  61. package/lib/cjs/components/editor/controls.js +87 -0
  62. package/lib/cjs/components/editor/controls.js.map +1 -0
  63. package/lib/cjs/components/editor/editor.js +83 -0
  64. package/lib/cjs/components/editor/editor.js.map +1 -0
  65. package/lib/cjs/components/editor/index.js +10 -0
  66. package/lib/cjs/components/editor/index.js.map +1 -0
  67. package/lib/cjs/components/flex/flex.js +32 -0
  68. package/lib/cjs/components/flex/flex.js.map +1 -0
  69. package/lib/cjs/components/flex/index.js +10 -0
  70. package/lib/cjs/components/flex/index.js.map +1 -0
  71. package/lib/cjs/components/form/context.js +10 -0
  72. package/lib/cjs/components/form/context.js.map +1 -0
  73. package/lib/cjs/components/form/field.js +77 -0
  74. package/lib/cjs/components/form/field.js.map +1 -0
  75. package/lib/cjs/components/form/form.js +57 -0
  76. package/lib/cjs/components/form/form.js.map +1 -0
  77. package/lib/cjs/components/form/index.js +10 -0
  78. package/lib/cjs/components/form/index.js.map +1 -0
  79. package/lib/cjs/components/form/useForm.js +130 -0
  80. package/lib/cjs/components/form/useForm.js.map +1 -0
  81. package/lib/cjs/components/icon/icon.js +27 -0
  82. package/lib/cjs/components/icon/icon.js.map +1 -0
  83. package/lib/cjs/components/icon/index.js +10 -0
  84. package/lib/cjs/components/icon/index.js.map +1 -0
  85. package/lib/cjs/components/image/image.js +76 -0
  86. package/lib/cjs/components/image/image.js.map +1 -0
  87. package/lib/cjs/components/image/index.js +11 -0
  88. package/lib/cjs/components/image/index.js.map +1 -0
  89. package/lib/cjs/components/image/list.js +47 -0
  90. package/lib/cjs/components/image/list.js.map +1 -0
  91. package/lib/cjs/components/input/container.js +18 -0
  92. package/lib/cjs/components/input/container.js.map +1 -0
  93. package/lib/cjs/components/input/index.js +15 -0
  94. package/lib/cjs/components/input/index.js.map +1 -0
  95. package/lib/cjs/components/input/input.js +67 -0
  96. package/lib/cjs/components/input/input.js.map +1 -0
  97. package/lib/cjs/components/input/number.js +58 -0
  98. package/lib/cjs/components/input/number.js.map +1 -0
  99. package/lib/cjs/components/input/range.js +71 -0
  100. package/lib/cjs/components/input/range.js.map +1 -0
  101. package/lib/cjs/components/input/textarea.js +51 -0
  102. package/lib/cjs/components/input/textarea.js.map +1 -0
  103. package/lib/cjs/components/list/index.js +10 -0
  104. package/lib/cjs/components/list/index.js.map +1 -0
  105. package/lib/cjs/components/list/item.js +18 -0
  106. package/lib/cjs/components/list/item.js.map +1 -0
  107. package/lib/cjs/components/list/list.js +28 -0
  108. package/lib/cjs/components/list/list.js.map +1 -0
  109. package/lib/cjs/components/loading/index.js +10 -0
  110. package/lib/cjs/components/loading/index.js.map +1 -0
  111. package/lib/cjs/components/loading/loading.js +21 -0
  112. package/lib/cjs/components/loading/loading.js.map +1 -0
  113. package/lib/cjs/components/message/index.js +10 -0
  114. package/lib/cjs/components/message/index.js.map +1 -0
  115. package/lib/cjs/components/message/message.js +178 -0
  116. package/lib/cjs/components/message/message.js.map +1 -0
  117. package/lib/cjs/components/modal/hookModal.js +31 -0
  118. package/lib/cjs/components/modal/hookModal.js.map +1 -0
  119. package/lib/cjs/components/modal/index.js +11 -0
  120. package/lib/cjs/components/modal/index.js.map +1 -0
  121. package/lib/cjs/components/modal/modal.js +108 -0
  122. package/lib/cjs/components/modal/modal.js.map +1 -0
  123. package/lib/cjs/components/modal/useModal.js +38 -0
  124. package/lib/cjs/components/modal/useModal.js.map +1 -0
  125. package/lib/cjs/components/pagination/index.js +10 -0
  126. package/lib/cjs/components/pagination/index.js.map +1 -0
  127. package/lib/cjs/components/pagination/page.js +28 -0
  128. package/lib/cjs/components/pagination/page.js.map +1 -0
  129. package/lib/cjs/components/pagination/pagination.js +48 -0
  130. package/lib/cjs/components/pagination/pagination.js.map +1 -0
  131. package/lib/cjs/components/picker/colors/footer.js +44 -0
  132. package/lib/cjs/components/picker/colors/footer.js.map +1 -0
  133. package/lib/cjs/components/picker/colors/handle.js +14 -0
  134. package/lib/cjs/components/picker/colors/handle.js.map +1 -0
  135. package/lib/cjs/components/picker/colors/index.js +61 -0
  136. package/lib/cjs/components/picker/colors/index.js.map +1 -0
  137. package/lib/cjs/components/picker/dates/dates.js +50 -0
  138. package/lib/cjs/components/picker/dates/dates.js.map +1 -0
  139. package/lib/cjs/components/picker/dates/index.js +66 -0
  140. package/lib/cjs/components/picker/dates/index.js.map +1 -0
  141. package/lib/cjs/components/picker/dates/panel.js +81 -0
  142. package/lib/cjs/components/picker/dates/panel.js.map +1 -0
  143. package/lib/cjs/components/picker/time/index.js +50 -0
  144. package/lib/cjs/components/picker/time/index.js.map +1 -0
  145. package/lib/cjs/components/picker/time/item.js +19 -0
  146. package/lib/cjs/components/picker/time/item.js.map +1 -0
  147. package/lib/cjs/components/picker/time/panel.js +87 -0
  148. package/lib/cjs/components/picker/time/panel.js.map +1 -0
  149. package/lib/cjs/components/popconfirm/index.js +10 -0
  150. package/lib/cjs/components/popconfirm/index.js.map +1 -0
  151. package/lib/cjs/components/popconfirm/popconfirm.js +58 -0
  152. package/lib/cjs/components/popconfirm/popconfirm.js.map +1 -0
  153. package/lib/cjs/components/popup/content.js +44 -0
  154. package/lib/cjs/components/popup/content.js.map +1 -0
  155. package/lib/cjs/components/popup/index.js +10 -0
  156. package/lib/cjs/components/popup/index.js.map +1 -0
  157. package/lib/cjs/components/popup/popup.js +223 -0
  158. package/lib/cjs/components/popup/popup.js.map +1 -0
  159. package/lib/cjs/components/progress/circle.js +17 -0
  160. package/lib/cjs/components/progress/circle.js.map +1 -0
  161. package/lib/cjs/components/progress/index.js +10 -0
  162. package/lib/cjs/components/progress/index.js.map +1 -0
  163. package/lib/cjs/components/progress/line.js +18 -0
  164. package/lib/cjs/components/progress/line.js.map +1 -0
  165. package/lib/cjs/components/progress/progress.js +87 -0
  166. package/lib/cjs/components/progress/progress.js.map +1 -0
  167. package/lib/cjs/components/radio/index.js +10 -0
  168. package/lib/cjs/components/radio/index.js.map +1 -0
  169. package/lib/cjs/components/radio/item.js +21 -0
  170. package/lib/cjs/components/radio/item.js.map +1 -0
  171. package/lib/cjs/components/radio/radio.js +39 -0
  172. package/lib/cjs/components/radio/radio.js.map +1 -0
  173. package/lib/cjs/components/resizable/index.js +10 -0
  174. package/lib/cjs/components/resizable/index.js.map +1 -0
  175. package/lib/cjs/components/resizable/resizable.js +65 -0
  176. package/lib/cjs/components/resizable/resizable.js.map +1 -0
  177. package/lib/cjs/components/select/index.js +10 -0
  178. package/lib/cjs/components/select/index.js.map +1 -0
  179. package/lib/cjs/components/select/options.js +51 -0
  180. package/lib/cjs/components/select/options.js.map +1 -0
  181. package/lib/cjs/components/select/select.js +97 -0
  182. package/lib/cjs/components/select/select.js.map +1 -0
  183. package/lib/cjs/components/step/divider.js +12 -0
  184. package/lib/cjs/components/step/divider.js.map +1 -0
  185. package/lib/cjs/components/step/index.js +10 -0
  186. package/lib/cjs/components/step/index.js.map +1 -0
  187. package/lib/cjs/components/step/item.js +26 -0
  188. package/lib/cjs/components/step/item.js.map +1 -0
  189. package/lib/cjs/components/step/step.js +40 -0
  190. package/lib/cjs/components/step/step.js.map +1 -0
  191. package/lib/cjs/components/swiper/index.js +10 -0
  192. package/lib/cjs/components/swiper/index.js.map +1 -0
  193. package/lib/cjs/components/swiper/item.js +29 -0
  194. package/lib/cjs/components/swiper/item.js.map +1 -0
  195. package/lib/cjs/components/swiper/swiper.js +238 -0
  196. package/lib/cjs/components/swiper/swiper.js.map +1 -0
  197. package/lib/cjs/components/tabs/index.js +10 -0
  198. package/lib/cjs/components/tabs/index.js.map +1 -0
  199. package/lib/cjs/components/tabs/item.js +12 -0
  200. package/lib/cjs/components/tabs/item.js.map +1 -0
  201. package/lib/cjs/components/tabs/tabs.js +215 -0
  202. package/lib/cjs/components/tabs/tabs.js.map +1 -0
  203. package/lib/cjs/components/tag/index.js +10 -0
  204. package/lib/cjs/components/tag/index.js.map +1 -0
  205. package/lib/cjs/components/tag/tag.js +22 -0
  206. package/lib/cjs/components/tag/tag.js.map +1 -0
  207. package/lib/cjs/components/text/highlight.js +32 -0
  208. package/lib/cjs/components/text/highlight.js.map +1 -0
  209. package/lib/cjs/components/text/index.js +15 -0
  210. package/lib/cjs/components/text/index.js.map +1 -0
  211. package/lib/cjs/components/text/number.js +31 -0
  212. package/lib/cjs/components/text/number.js.map +1 -0
  213. package/lib/cjs/components/text/text.js +32 -0
  214. package/lib/cjs/components/text/text.js.map +1 -0
  215. package/lib/cjs/components/text/time.js +24 -0
  216. package/lib/cjs/components/text/time.js.map +1 -0
  217. package/lib/cjs/components/tree/index.js +10 -0
  218. package/lib/cjs/components/tree/index.js.map +1 -0
  219. package/lib/cjs/components/tree/item.js +76 -0
  220. package/lib/cjs/components/tree/item.js.map +1 -0
  221. package/lib/cjs/components/tree/tree.js +136 -0
  222. package/lib/cjs/components/tree/tree.js.map +1 -0
  223. package/lib/cjs/components/upload/index.js +10 -0
  224. package/lib/cjs/components/upload/index.js.map +1 -0
  225. package/lib/cjs/components/upload/renderFile.js +66 -0
  226. package/lib/cjs/components/upload/renderFile.js.map +1 -0
  227. package/lib/cjs/components/upload/upload.js +127 -0
  228. package/lib/cjs/components/upload/upload.js.map +1 -0
  229. package/lib/cjs/components/utils/empty/index.js +15 -0
  230. package/lib/cjs/components/utils/empty/index.js.map +1 -0
  231. package/lib/cjs/components/utils/helpericon/helpericon.js +28 -0
  232. package/lib/cjs/components/utils/helpericon/helpericon.js.map +1 -0
  233. package/lib/cjs/components/utils/helpericon/index.js +10 -0
  234. package/lib/cjs/components/utils/helpericon/index.js.map +1 -0
  235. package/lib/cjs/components/video/index.js +10 -0
  236. package/lib/cjs/components/video/index.js.map +1 -0
  237. package/lib/cjs/components/video/video.js +175 -0
  238. package/lib/cjs/components/video/video.js.map +1 -0
  239. package/lib/cjs/index.js +89 -0
  240. package/lib/cjs/index.js.map +1 -0
  241. package/lib/cjs/js/hooks.js +115 -0
  242. package/lib/cjs/js/hooks.js.map +1 -0
  243. package/lib/cjs/js/usePreview/content.js +148 -0
  244. package/lib/cjs/js/usePreview/content.js.map +1 -0
  245. package/lib/cjs/js/usePreview/index.js +27 -0
  246. package/lib/cjs/js/usePreview/index.js.map +1 -0
  247. package/lib/cjs/js/usePreview/renderFile.js +24 -0
  248. package/lib/cjs/js/usePreview/renderFile.js.map +1 -0
  249. package/lib/cjs/js/usePreview/type.js +13 -0
  250. package/lib/cjs/js/usePreview/type.js.map +1 -0
  251. package/lib/cjs/js/useRipple/index.js +47 -0
  252. package/lib/cjs/js/useRipple/index.js.map +1 -0
  253. package/lib/cjs/js/utils.js +281 -0
  254. package/lib/cjs/js/utils.js.map +1 -0
  255. package/lib/css/index.css +1 -1
  256. package/lib/css/index.css.map +1 -1
  257. package/lib/es/components/affix/affix.js +59 -0
  258. package/lib/es/components/affix/affix.js.map +1 -0
  259. package/lib/es/components/affix/index.js +6 -0
  260. package/lib/{components/badge → es/components/affix}/index.js.map +1 -1
  261. package/lib/es/components/affix/totop.js +14 -0
  262. package/lib/es/components/affix/totop.js.map +1 -0
  263. package/lib/es/components/badge/badge.js +13 -0
  264. package/lib/es/components/badge/badge.js.map +1 -0
  265. package/lib/es/components/badge/index.js +6 -0
  266. package/lib/{components/checkbox → es/components/badge}/index.js.map +1 -1
  267. package/lib/es/components/button/button.js +58 -0
  268. package/lib/es/components/button/button.js.map +1 -0
  269. package/lib/es/components/button/group.js +21 -0
  270. package/lib/es/components/button/group.js.map +1 -0
  271. package/lib/es/components/button/index.js +9 -0
  272. package/lib/es/components/button/index.js.map +1 -0
  273. package/lib/es/components/button/toggle.js +46 -0
  274. package/lib/es/components/button/toggle.js.map +1 -0
  275. package/lib/es/components/card/card.js +13 -0
  276. package/lib/es/components/card/card.js.map +1 -0
  277. package/lib/es/components/card/index.js +6 -0
  278. package/lib/{components → es/components}/card/index.js.map +1 -1
  279. package/lib/es/components/checkbox/checkbox.js +42 -0
  280. package/lib/es/components/checkbox/checkbox.js.map +1 -0
  281. package/lib/es/components/checkbox/index.js +6 -0
  282. package/lib/{components/affix → es/components/checkbox}/index.js.map +1 -1
  283. package/lib/es/components/checkbox/item.js +36 -0
  284. package/lib/es/components/checkbox/item.js.map +1 -0
  285. package/lib/es/components/collapse/collapse.js +74 -0
  286. package/lib/es/components/collapse/collapse.js.map +1 -0
  287. package/lib/es/components/collapse/index.js +6 -0
  288. package/lib/es/components/collapse/index.js.map +1 -0
  289. package/lib/es/components/collapse/item.js +8 -0
  290. package/lib/es/components/collapse/item.js.map +1 -0
  291. package/lib/es/components/datagrid/cell.js +24 -0
  292. package/lib/es/components/datagrid/cell.js.map +1 -0
  293. package/lib/es/components/datagrid/datagrid.js +113 -0
  294. package/lib/es/components/datagrid/datagrid.js.map +1 -0
  295. package/lib/es/components/datagrid/index.js +6 -0
  296. package/lib/es/components/datagrid/index.js.map +1 -0
  297. package/lib/es/components/datagrid/resize.js +41 -0
  298. package/lib/es/components/datagrid/resize.js.map +1 -0
  299. package/lib/es/components/datagrid/row.js +32 -0
  300. package/lib/es/components/datagrid/row.js.map +1 -0
  301. package/lib/es/components/datagrid/sorter.js +13 -0
  302. package/lib/es/components/datagrid/sorter.js.map +1 -0
  303. package/lib/es/components/description/description.js +28 -0
  304. package/lib/es/components/description/description.js.map +1 -0
  305. package/lib/es/components/description/index.js +6 -0
  306. package/lib/es/components/description/index.js.map +1 -0
  307. package/lib/es/components/drawer/drawer.js +62 -0
  308. package/lib/es/components/drawer/drawer.js.map +1 -0
  309. package/lib/es/components/drawer/index.js +6 -0
  310. package/lib/es/components/drawer/index.js.map +1 -0
  311. package/lib/es/components/dropdown/dropdown.js +13 -0
  312. package/lib/es/components/dropdown/dropdown.js.map +1 -0
  313. package/lib/es/components/dropdown/index.js +6 -0
  314. package/lib/es/components/dropdown/index.js.map +1 -0
  315. package/lib/es/components/dropdown/item.js +18 -0
  316. package/lib/es/components/dropdown/item.js.map +1 -0
  317. package/lib/es/components/editor/controls.js +81 -0
  318. package/lib/es/components/editor/controls.js.map +1 -0
  319. package/lib/es/components/editor/editor.js +79 -0
  320. package/lib/es/components/editor/editor.js.map +1 -0
  321. package/lib/es/components/editor/index.js +6 -0
  322. package/lib/es/components/editor/index.js.map +1 -0
  323. package/lib/es/components/flex/flex.js +28 -0
  324. package/lib/es/components/flex/flex.js.map +1 -0
  325. package/lib/es/components/flex/index.js +6 -0
  326. package/lib/es/components/flex/index.js.map +1 -0
  327. package/lib/es/components/form/context.js +6 -0
  328. package/lib/es/components/form/context.js.map +1 -0
  329. package/lib/es/components/form/field.js +73 -0
  330. package/lib/es/components/form/field.js.map +1 -0
  331. package/lib/es/components/form/form.js +53 -0
  332. package/lib/es/components/form/form.js.map +1 -0
  333. package/lib/es/components/form/index.js +6 -0
  334. package/lib/es/components/form/index.js.map +1 -0
  335. package/lib/es/components/form/useForm.js +125 -0
  336. package/lib/es/components/form/useForm.js.map +1 -0
  337. package/lib/es/components/icon/icon.js +23 -0
  338. package/lib/es/components/icon/icon.js.map +1 -0
  339. package/lib/es/components/icon/index.js +6 -0
  340. package/lib/es/components/icon/index.js.map +1 -0
  341. package/lib/es/components/image/image.js +72 -0
  342. package/lib/es/components/image/image.js.map +1 -0
  343. package/lib/es/components/image/index.js +7 -0
  344. package/lib/es/components/image/index.js.map +1 -0
  345. package/lib/es/components/image/list.js +43 -0
  346. package/lib/es/components/image/list.js.map +1 -0
  347. package/lib/es/components/input/container.js +14 -0
  348. package/lib/es/components/input/container.js.map +1 -0
  349. package/lib/es/components/input/index.js +11 -0
  350. package/lib/es/components/input/index.js.map +1 -0
  351. package/lib/es/components/input/input.js +63 -0
  352. package/lib/es/components/input/input.js.map +1 -0
  353. package/lib/es/components/input/number.js +54 -0
  354. package/lib/es/components/input/number.js.map +1 -0
  355. package/lib/es/components/input/range.js +67 -0
  356. package/lib/es/components/input/range.js.map +1 -0
  357. package/lib/es/components/input/textarea.js +47 -0
  358. package/lib/es/components/input/textarea.js.map +1 -0
  359. package/lib/es/components/list/index.js +6 -0
  360. package/lib/es/components/list/index.js.map +1 -0
  361. package/lib/es/components/list/item.js +14 -0
  362. package/lib/es/components/list/item.js.map +1 -0
  363. package/lib/es/components/list/list.js +24 -0
  364. package/lib/es/components/list/list.js.map +1 -0
  365. package/lib/es/components/loading/index.js +6 -0
  366. package/lib/es/components/loading/index.js.map +1 -0
  367. package/lib/es/components/loading/loading.js +17 -0
  368. package/lib/es/components/loading/loading.js.map +1 -0
  369. package/lib/es/components/message/index.js +6 -0
  370. package/lib/es/components/message/index.js.map +1 -0
  371. package/lib/es/components/message/message.js +174 -0
  372. package/lib/es/components/message/message.js.map +1 -0
  373. package/lib/es/components/modal/hookModal.js +27 -0
  374. package/lib/es/components/modal/hookModal.js.map +1 -0
  375. package/lib/es/components/modal/index.js +7 -0
  376. package/lib/es/components/modal/index.js.map +1 -0
  377. package/lib/es/components/modal/modal.js +104 -0
  378. package/lib/es/components/modal/modal.js.map +1 -0
  379. package/lib/es/components/modal/useModal.js +34 -0
  380. package/lib/es/components/modal/useModal.js.map +1 -0
  381. package/lib/es/components/pagination/index.js +6 -0
  382. package/lib/es/components/pagination/index.js.map +1 -0
  383. package/lib/es/components/pagination/page.js +24 -0
  384. package/lib/es/components/pagination/page.js.map +1 -0
  385. package/lib/es/components/pagination/pagination.js +44 -0
  386. package/lib/es/components/pagination/pagination.js.map +1 -0
  387. package/lib/es/components/picker/colors/footer.js +39 -0
  388. package/lib/es/components/picker/colors/footer.js.map +1 -0
  389. package/lib/es/components/picker/colors/handle.js +10 -0
  390. package/lib/es/components/picker/colors/handle.js.map +1 -0
  391. package/lib/es/components/picker/colors/index.js +57 -0
  392. package/lib/es/components/picker/colors/index.js.map +1 -0
  393. package/lib/es/components/picker/dates/dates.js +46 -0
  394. package/lib/es/components/picker/dates/dates.js.map +1 -0
  395. package/lib/es/components/picker/dates/index.js +62 -0
  396. package/lib/es/components/picker/dates/index.js.map +1 -0
  397. package/lib/es/components/picker/dates/panel.js +77 -0
  398. package/lib/es/components/picker/dates/panel.js.map +1 -0
  399. package/lib/es/components/picker/time/index.js +46 -0
  400. package/lib/es/components/picker/time/index.js.map +1 -0
  401. package/lib/es/components/picker/time/item.js +15 -0
  402. package/lib/es/components/picker/time/item.js.map +1 -0
  403. package/lib/es/components/picker/time/panel.js +83 -0
  404. package/lib/es/components/picker/time/panel.js.map +1 -0
  405. package/lib/es/components/popconfirm/index.js +6 -0
  406. package/lib/es/components/popconfirm/index.js.map +1 -0
  407. package/lib/es/components/popconfirm/popconfirm.js +54 -0
  408. package/lib/es/components/popconfirm/popconfirm.js.map +1 -0
  409. package/lib/es/components/popup/content.js +40 -0
  410. package/lib/es/components/popup/content.js.map +1 -0
  411. package/lib/es/components/popup/index.js +6 -0
  412. package/lib/es/components/popup/index.js.map +1 -0
  413. package/lib/es/components/popup/popup.js +219 -0
  414. package/lib/es/components/popup/popup.js.map +1 -0
  415. package/lib/es/components/progress/circle.js +13 -0
  416. package/lib/es/components/progress/circle.js.map +1 -0
  417. package/lib/es/components/progress/index.js +6 -0
  418. package/lib/es/components/progress/index.js.map +1 -0
  419. package/lib/es/components/progress/line.js +14 -0
  420. package/lib/es/components/progress/line.js.map +1 -0
  421. package/lib/es/components/progress/progress.js +83 -0
  422. package/lib/es/components/progress/progress.js.map +1 -0
  423. package/lib/es/components/radio/index.js +6 -0
  424. package/lib/es/components/radio/index.js.map +1 -0
  425. package/lib/es/components/radio/item.js +17 -0
  426. package/lib/es/components/radio/item.js.map +1 -0
  427. package/lib/es/components/radio/radio.js +35 -0
  428. package/lib/es/components/radio/radio.js.map +1 -0
  429. package/lib/es/components/resizable/index.js +6 -0
  430. package/lib/es/components/resizable/index.js.map +1 -0
  431. package/lib/es/components/resizable/resizable.js +61 -0
  432. package/lib/es/components/resizable/resizable.js.map +1 -0
  433. package/lib/es/components/select/index.js +6 -0
  434. package/lib/es/components/select/index.js.map +1 -0
  435. package/lib/es/components/select/options.js +47 -0
  436. package/lib/es/components/select/options.js.map +1 -0
  437. package/lib/es/components/select/select.js +93 -0
  438. package/lib/es/components/select/select.js.map +1 -0
  439. package/lib/es/components/step/divider.js +8 -0
  440. package/lib/es/components/step/divider.js.map +1 -0
  441. package/lib/es/components/step/index.js +6 -0
  442. package/lib/es/components/step/index.js.map +1 -0
  443. package/lib/es/components/step/item.js +22 -0
  444. package/lib/es/components/step/item.js.map +1 -0
  445. package/lib/es/components/step/step.js +36 -0
  446. package/lib/es/components/step/step.js.map +1 -0
  447. package/lib/es/components/swiper/index.js +6 -0
  448. package/lib/es/components/swiper/index.js.map +1 -0
  449. package/lib/es/components/swiper/item.js +25 -0
  450. package/lib/es/components/swiper/item.js.map +1 -0
  451. package/lib/es/components/swiper/swiper.js +234 -0
  452. package/lib/es/components/swiper/swiper.js.map +1 -0
  453. package/lib/es/components/tabs/index.js +6 -0
  454. package/lib/es/components/tabs/index.js.map +1 -0
  455. package/lib/es/components/tabs/item.js +8 -0
  456. package/lib/es/components/tabs/item.js.map +1 -0
  457. package/lib/es/components/tabs/tabs.js +211 -0
  458. package/lib/es/components/tabs/tabs.js.map +1 -0
  459. package/lib/es/components/tag/index.js +6 -0
  460. package/lib/es/components/tag/index.js.map +1 -0
  461. package/lib/es/components/tag/tag.js +18 -0
  462. package/lib/es/components/tag/tag.js.map +1 -0
  463. package/lib/es/components/text/highlight.js +28 -0
  464. package/lib/es/components/text/highlight.js.map +1 -0
  465. package/lib/es/components/text/index.js +11 -0
  466. package/lib/es/components/text/index.js.map +1 -0
  467. package/lib/es/components/text/number.js +27 -0
  468. package/lib/es/components/text/number.js.map +1 -0
  469. package/lib/es/components/text/text.js +28 -0
  470. package/lib/es/components/text/text.js.map +1 -0
  471. package/lib/es/components/text/time.js +20 -0
  472. package/lib/es/components/text/time.js.map +1 -0
  473. package/lib/es/components/tree/index.js +6 -0
  474. package/lib/es/components/tree/index.js.map +1 -0
  475. package/lib/es/components/tree/item.js +73 -0
  476. package/lib/es/components/tree/item.js.map +1 -0
  477. package/lib/es/components/tree/tree.js +132 -0
  478. package/lib/es/components/tree/tree.js.map +1 -0
  479. package/lib/es/components/upload/index.js +6 -0
  480. package/lib/es/components/upload/index.js.map +1 -0
  481. package/lib/es/components/upload/renderFile.js +61 -0
  482. package/lib/es/components/upload/renderFile.js.map +1 -0
  483. package/lib/es/components/upload/upload.js +123 -0
  484. package/lib/es/components/upload/upload.js.map +1 -0
  485. package/lib/es/components/utils/empty/index.js +11 -0
  486. package/lib/es/components/utils/empty/index.js.map +1 -0
  487. package/lib/es/components/utils/helpericon/helpericon.js +24 -0
  488. package/lib/es/components/utils/helpericon/helpericon.js.map +1 -0
  489. package/lib/es/components/utils/helpericon/index.js +6 -0
  490. package/lib/es/components/utils/helpericon/index.js.map +1 -0
  491. package/lib/es/components/video/index.js +6 -0
  492. package/lib/es/components/video/index.js.map +1 -0
  493. package/lib/es/components/video/video.js +171 -0
  494. package/lib/es/components/video/video.js.map +1 -0
  495. package/lib/es/index.js +45 -0
  496. package/lib/es/index.js.map +1 -0
  497. package/lib/es/js/hooks.js +109 -0
  498. package/lib/es/js/hooks.js.map +1 -0
  499. package/lib/es/js/usePreview/content.js +144 -0
  500. package/lib/es/js/usePreview/content.js.map +1 -0
  501. package/lib/es/js/usePreview/index.js +23 -0
  502. package/lib/es/js/usePreview/index.js.map +1 -0
  503. package/lib/es/js/usePreview/renderFile.js +20 -0
  504. package/lib/es/js/usePreview/renderFile.js.map +1 -0
  505. package/lib/es/js/usePreview/type.js +13 -0
  506. package/lib/es/js/usePreview/type.js.map +1 -0
  507. package/lib/es/js/useRipple/index.js +43 -0
  508. package/lib/es/js/useRipple/index.js.map +1 -0
  509. package/lib/es/js/utils.js +265 -0
  510. package/lib/es/js/utils.js.map +1 -0
  511. package/lib/index.js +4317 -2
  512. package/lib/types/components/picker/type.d.ts +2 -2
  513. package/lib/types/js/usePreview/type.d.ts +2 -11
  514. package/package.json +20 -11
  515. package/lib/components/affix/affix.js +0 -2
  516. package/lib/components/affix/affix.js.map +0 -1
  517. package/lib/components/affix/index.js +0 -2
  518. package/lib/components/affix/totop.js +0 -2
  519. package/lib/components/affix/totop.js.map +0 -1
  520. package/lib/components/badge/badge.js +0 -2
  521. package/lib/components/badge/badge.js.map +0 -1
  522. package/lib/components/badge/index.js +0 -2
  523. package/lib/components/button/button.js +0 -2
  524. package/lib/components/button/button.js.map +0 -1
  525. package/lib/components/button/group.js +0 -2
  526. package/lib/components/button/group.js.map +0 -1
  527. package/lib/components/button/index.js +0 -2
  528. package/lib/components/button/index.js.map +0 -1
  529. package/lib/components/button/toggle.js +0 -2
  530. package/lib/components/button/toggle.js.map +0 -1
  531. package/lib/components/card/card.js +0 -2
  532. package/lib/components/card/card.js.map +0 -1
  533. package/lib/components/card/index.js +0 -2
  534. package/lib/components/checkbox/checkbox.js +0 -2
  535. package/lib/components/checkbox/checkbox.js.map +0 -1
  536. package/lib/components/checkbox/index.js +0 -2
  537. package/lib/components/checkbox/item.js +0 -2
  538. package/lib/components/checkbox/item.js.map +0 -1
  539. package/lib/components/collapse/collapse.js +0 -2
  540. package/lib/components/collapse/collapse.js.map +0 -1
  541. package/lib/components/collapse/index.js +0 -2
  542. package/lib/components/collapse/index.js.map +0 -1
  543. package/lib/components/collapse/item.js +0 -2
  544. package/lib/components/collapse/item.js.map +0 -1
  545. package/lib/components/datagrid/cell.js +0 -2
  546. package/lib/components/datagrid/cell.js.map +0 -1
  547. package/lib/components/datagrid/datagrid.js +0 -2
  548. package/lib/components/datagrid/datagrid.js.map +0 -1
  549. package/lib/components/datagrid/index.js +0 -2
  550. package/lib/components/datagrid/index.js.map +0 -1
  551. package/lib/components/datagrid/resize.js +0 -2
  552. package/lib/components/datagrid/resize.js.map +0 -1
  553. package/lib/components/datagrid/row.js +0 -2
  554. package/lib/components/datagrid/row.js.map +0 -1
  555. package/lib/components/datagrid/sorter.js +0 -2
  556. package/lib/components/datagrid/sorter.js.map +0 -1
  557. package/lib/components/description/description.js +0 -2
  558. package/lib/components/description/description.js.map +0 -1
  559. package/lib/components/description/index.js +0 -2
  560. package/lib/components/description/index.js.map +0 -1
  561. package/lib/components/drawer/drawer.js +0 -2
  562. package/lib/components/drawer/drawer.js.map +0 -1
  563. package/lib/components/drawer/index.js +0 -2
  564. package/lib/components/drawer/index.js.map +0 -1
  565. package/lib/components/dropdown/dropdown.js +0 -2
  566. package/lib/components/dropdown/dropdown.js.map +0 -1
  567. package/lib/components/dropdown/index.js +0 -2
  568. package/lib/components/dropdown/index.js.map +0 -1
  569. package/lib/components/dropdown/item.js +0 -2
  570. package/lib/components/dropdown/item.js.map +0 -1
  571. package/lib/components/editor/controls.js +0 -2
  572. package/lib/components/editor/controls.js.map +0 -1
  573. package/lib/components/editor/editor.js +0 -2
  574. package/lib/components/editor/editor.js.map +0 -1
  575. package/lib/components/editor/index.js +0 -2
  576. package/lib/components/editor/index.js.map +0 -1
  577. package/lib/components/flex/flex.js +0 -2
  578. package/lib/components/flex/flex.js.map +0 -1
  579. package/lib/components/flex/index.js +0 -2
  580. package/lib/components/flex/index.js.map +0 -1
  581. package/lib/components/form/context.js +0 -2
  582. package/lib/components/form/context.js.map +0 -1
  583. package/lib/components/form/field.js +0 -2
  584. package/lib/components/form/field.js.map +0 -1
  585. package/lib/components/form/form.js +0 -2
  586. package/lib/components/form/form.js.map +0 -1
  587. package/lib/components/form/index.js +0 -2
  588. package/lib/components/form/index.js.map +0 -1
  589. package/lib/components/form/useForm.js +0 -2
  590. package/lib/components/form/useForm.js.map +0 -1
  591. package/lib/components/icon/icon.js +0 -2
  592. package/lib/components/icon/icon.js.map +0 -1
  593. package/lib/components/icon/index.js +0 -2
  594. package/lib/components/icon/index.js.map +0 -1
  595. package/lib/components/image/image.js +0 -2
  596. package/lib/components/image/image.js.map +0 -1
  597. package/lib/components/image/index.js +0 -2
  598. package/lib/components/image/index.js.map +0 -1
  599. package/lib/components/image/list.js +0 -2
  600. package/lib/components/image/list.js.map +0 -1
  601. package/lib/components/input/container.js +0 -2
  602. package/lib/components/input/container.js.map +0 -1
  603. package/lib/components/input/index.js +0 -2
  604. package/lib/components/input/index.js.map +0 -1
  605. package/lib/components/input/input.js +0 -2
  606. package/lib/components/input/input.js.map +0 -1
  607. package/lib/components/input/number.js +0 -2
  608. package/lib/components/input/number.js.map +0 -1
  609. package/lib/components/input/range.js +0 -2
  610. package/lib/components/input/range.js.map +0 -1
  611. package/lib/components/input/textarea.js +0 -2
  612. package/lib/components/input/textarea.js.map +0 -1
  613. package/lib/components/list/index.js +0 -2
  614. package/lib/components/list/index.js.map +0 -1
  615. package/lib/components/list/item.js +0 -2
  616. package/lib/components/list/item.js.map +0 -1
  617. package/lib/components/list/list.js +0 -2
  618. package/lib/components/list/list.js.map +0 -1
  619. package/lib/components/loading/index.js +0 -2
  620. package/lib/components/loading/index.js.map +0 -1
  621. package/lib/components/loading/loading.js +0 -2
  622. package/lib/components/loading/loading.js.map +0 -1
  623. package/lib/components/message/index.js +0 -2
  624. package/lib/components/message/index.js.map +0 -1
  625. package/lib/components/message/message.js +0 -2
  626. package/lib/components/message/message.js.map +0 -1
  627. package/lib/components/modal/hookModal.js +0 -2
  628. package/lib/components/modal/hookModal.js.map +0 -1
  629. package/lib/components/modal/index.js +0 -2
  630. package/lib/components/modal/index.js.map +0 -1
  631. package/lib/components/modal/modal.js +0 -2
  632. package/lib/components/modal/modal.js.map +0 -1
  633. package/lib/components/modal/useModal.js +0 -2
  634. package/lib/components/modal/useModal.js.map +0 -1
  635. package/lib/components/pagination/index.js +0 -2
  636. package/lib/components/pagination/index.js.map +0 -1
  637. package/lib/components/pagination/page.js +0 -2
  638. package/lib/components/pagination/page.js.map +0 -1
  639. package/lib/components/pagination/pagination.js +0 -2
  640. package/lib/components/pagination/pagination.js.map +0 -1
  641. package/lib/components/picker/colors/footer.js +0 -2
  642. package/lib/components/picker/colors/footer.js.map +0 -1
  643. package/lib/components/picker/colors/handle.js +0 -2
  644. package/lib/components/picker/colors/handle.js.map +0 -1
  645. package/lib/components/picker/colors/index.js +0 -2
  646. package/lib/components/picker/colors/index.js.map +0 -1
  647. package/lib/components/picker/dates/dates.js +0 -2
  648. package/lib/components/picker/dates/dates.js.map +0 -1
  649. package/lib/components/picker/dates/index.js +0 -2
  650. package/lib/components/picker/dates/index.js.map +0 -1
  651. package/lib/components/picker/dates/panel.js +0 -2
  652. package/lib/components/picker/dates/panel.js.map +0 -1
  653. package/lib/components/picker/time/index.js +0 -2
  654. package/lib/components/picker/time/index.js.map +0 -1
  655. package/lib/components/picker/time/item.js +0 -2
  656. package/lib/components/picker/time/item.js.map +0 -1
  657. package/lib/components/picker/time/panel.js +0 -2
  658. package/lib/components/picker/time/panel.js.map +0 -1
  659. package/lib/components/popconfirm/index.js +0 -2
  660. package/lib/components/popconfirm/index.js.map +0 -1
  661. package/lib/components/popconfirm/popconfirm.js +0 -2
  662. package/lib/components/popconfirm/popconfirm.js.map +0 -1
  663. package/lib/components/popup/content.js +0 -2
  664. package/lib/components/popup/content.js.map +0 -1
  665. package/lib/components/popup/index.js +0 -2
  666. package/lib/components/popup/index.js.map +0 -1
  667. package/lib/components/popup/popup.js +0 -2
  668. package/lib/components/popup/popup.js.map +0 -1
  669. package/lib/components/progress/circle.js +0 -2
  670. package/lib/components/progress/circle.js.map +0 -1
  671. package/lib/components/progress/index.js +0 -2
  672. package/lib/components/progress/index.js.map +0 -1
  673. package/lib/components/progress/line.js +0 -2
  674. package/lib/components/progress/line.js.map +0 -1
  675. package/lib/components/progress/progress.js +0 -2
  676. package/lib/components/progress/progress.js.map +0 -1
  677. package/lib/components/radio/index.js +0 -2
  678. package/lib/components/radio/index.js.map +0 -1
  679. package/lib/components/radio/item.js +0 -2
  680. package/lib/components/radio/item.js.map +0 -1
  681. package/lib/components/radio/radio.js +0 -2
  682. package/lib/components/radio/radio.js.map +0 -1
  683. package/lib/components/resizable/index.js +0 -2
  684. package/lib/components/resizable/index.js.map +0 -1
  685. package/lib/components/resizable/resizable.js +0 -2
  686. package/lib/components/resizable/resizable.js.map +0 -1
  687. package/lib/components/select/index.js +0 -2
  688. package/lib/components/select/index.js.map +0 -1
  689. package/lib/components/select/options.js +0 -2
  690. package/lib/components/select/options.js.map +0 -1
  691. package/lib/components/select/select.js +0 -2
  692. package/lib/components/select/select.js.map +0 -1
  693. package/lib/components/step/divider.js +0 -2
  694. package/lib/components/step/divider.js.map +0 -1
  695. package/lib/components/step/index.js +0 -2
  696. package/lib/components/step/index.js.map +0 -1
  697. package/lib/components/step/item.js +0 -2
  698. package/lib/components/step/item.js.map +0 -1
  699. package/lib/components/step/step.js +0 -2
  700. package/lib/components/step/step.js.map +0 -1
  701. package/lib/components/swiper/index.js +0 -2
  702. package/lib/components/swiper/index.js.map +0 -1
  703. package/lib/components/swiper/item.js +0 -2
  704. package/lib/components/swiper/item.js.map +0 -1
  705. package/lib/components/swiper/swiper.js +0 -2
  706. package/lib/components/swiper/swiper.js.map +0 -1
  707. package/lib/components/tabs/index.js +0 -2
  708. package/lib/components/tabs/index.js.map +0 -1
  709. package/lib/components/tabs/item.js +0 -2
  710. package/lib/components/tabs/item.js.map +0 -1
  711. package/lib/components/tabs/tabs.js +0 -2
  712. package/lib/components/tabs/tabs.js.map +0 -1
  713. package/lib/components/tag/index.js +0 -2
  714. package/lib/components/tag/index.js.map +0 -1
  715. package/lib/components/tag/tag.js +0 -2
  716. package/lib/components/tag/tag.js.map +0 -1
  717. package/lib/components/text/highlight.js +0 -2
  718. package/lib/components/text/highlight.js.map +0 -1
  719. package/lib/components/text/index.js +0 -2
  720. package/lib/components/text/index.js.map +0 -1
  721. package/lib/components/text/number.js +0 -2
  722. package/lib/components/text/number.js.map +0 -1
  723. package/lib/components/text/text.js +0 -2
  724. package/lib/components/text/text.js.map +0 -1
  725. package/lib/components/text/time.js +0 -2
  726. package/lib/components/text/time.js.map +0 -1
  727. package/lib/components/tree/index.js +0 -2
  728. package/lib/components/tree/index.js.map +0 -1
  729. package/lib/components/tree/item.js +0 -2
  730. package/lib/components/tree/item.js.map +0 -1
  731. package/lib/components/tree/tree.js +0 -2
  732. package/lib/components/tree/tree.js.map +0 -1
  733. package/lib/components/upload/index.js +0 -2
  734. package/lib/components/upload/index.js.map +0 -1
  735. package/lib/components/upload/renderFile.js +0 -2
  736. package/lib/components/upload/renderFile.js.map +0 -1
  737. package/lib/components/upload/upload.js +0 -2
  738. package/lib/components/upload/upload.js.map +0 -1
  739. package/lib/components/utils/empty/index.js +0 -2
  740. package/lib/components/utils/empty/index.js.map +0 -1
  741. package/lib/components/utils/helpericon/helpericon.js +0 -2
  742. package/lib/components/utils/helpericon/helpericon.js.map +0 -1
  743. package/lib/components/utils/helpericon/index.js +0 -2
  744. package/lib/components/utils/helpericon/index.js.map +0 -1
  745. package/lib/components/video/index.js +0 -2
  746. package/lib/components/video/index.js.map +0 -1
  747. package/lib/components/video/video.js +0 -2
  748. package/lib/components/video/video.js.map +0 -1
  749. package/lib/index.js.map +0 -1
  750. package/lib/js/hooks.js +0 -2
  751. package/lib/js/hooks.js.map +0 -1
  752. package/lib/js/usePreview/content.js +0 -2
  753. package/lib/js/usePreview/content.js.map +0 -1
  754. package/lib/js/usePreview/index.js +0 -2
  755. package/lib/js/usePreview/index.js.map +0 -1
  756. package/lib/js/usePreview/renderFile.js +0 -2
  757. package/lib/js/usePreview/renderFile.js.map +0 -1
  758. package/lib/js/usePreview/type.js +0 -2
  759. package/lib/js/usePreview/type.js.map +0 -1
  760. package/lib/js/useRipple/index.js +0 -2
  761. package/lib/js/useRipple/index.js.map +0 -1
  762. package/lib/js/utils.js +0 -2
  763. package/lib/js/utils.js.map +0 -1
@@ -0,0 +1,87 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var jsxRuntime = require('react/jsx-runtime');
6
+ var material = require('@ricons/material');
7
+ var xss = require('xss');
8
+ require('../button/index.js');
9
+ var icon = require('../icon/icon.js');
10
+ var button = require('../button/button.js');
11
+
12
+ const exec = (a, b, c) => document.execCommand(a, b, c);
13
+ const xssOptions = {
14
+ onIgnoreTagAttr: function (tag, name, value) {
15
+ if (["data-", "style"].includes(name.substr(0, 5))) {
16
+ return name + '="' + xss.escapeAttrValue(value) + '"';
17
+ }
18
+ },
19
+ };
20
+ const fnMap = {
21
+ bold: {
22
+ icon: jsxRuntime.jsx(material.FormatBoldRound, {}),
23
+ onClick: () => exec("bold"),
24
+ tip: "粗体",
25
+ },
26
+ italic: {
27
+ icon: jsxRuntime.jsx(material.FormatItalicRound, {}),
28
+ onClick: () => exec("italic"),
29
+ tip: "斜体",
30
+ },
31
+ underline: {
32
+ icon: jsxRuntime.jsx(material.FormatUnderlinedRound, {}),
33
+ onClick: () => exec("underline"),
34
+ tip: "下划线",
35
+ },
36
+ strike: {
37
+ icon: jsxRuntime.jsx(material.StrikethroughSRound, {}),
38
+ onClick: () => exec("strikeThrough"),
39
+ tip: "删除线",
40
+ },
41
+ redo: {
42
+ icon: jsxRuntime.jsx(material.RedoRound, {}),
43
+ onClick: () => exec("redo"),
44
+ tip: "重做",
45
+ },
46
+ undo: {
47
+ icon: jsxRuntime.jsx(material.UndoRound, {}),
48
+ onClick: () => exec("undo"),
49
+ tip: "撤销",
50
+ },
51
+ // color: {
52
+ // icon: <FormatColorTextRound />,
53
+ // onClick: () => exec("foreColor", false, ""),
54
+ // },
55
+ // backColor: {
56
+ // icon: <FormatColorFillRound />,
57
+ // onClick: () => exec("backColor", false, ""),
58
+ // },
59
+ clear: {
60
+ icon: jsxRuntime.jsx(material.ClearAllRound, {}),
61
+ onClick: () => exec("removeFormat"),
62
+ tip: "清除格式",
63
+ },
64
+ };
65
+ const aliasMap = {
66
+ simple: ["undo", "redo", "bold", "italic", "underline", "strike", "clear"],
67
+ all: Object.keys(fnMap),
68
+ };
69
+ function getControls(fns, options) {
70
+ const { controlBtnProps } = options;
71
+ const keys = typeof fns === "string" ? aliasMap[fns] : fns;
72
+ return keys.map((k) => {
73
+ if (fnMap[k]) {
74
+ const { icon: icon$1, render, tip, onClick } = fnMap[k];
75
+ if (render) {
76
+ return render(options);
77
+ }
78
+ return (jsxRuntime.jsxs(button.default, { ...controlBtnProps, onClick: onClick, children: [jsxRuntime.jsx(icon.default, { icon: icon$1 }), tip && jsxRuntime.jsx("span", { className: 'i-editor-control-tip', children: tip })] }, k));
79
+ }
80
+ return jsxRuntime.jsx(jsxRuntime.Fragment, {}, k);
81
+ });
82
+ }
83
+
84
+ exports.default = getControls;
85
+ exports.exec = exec;
86
+ exports.xssOptions = xssOptions;
87
+ //# sourceMappingURL=controls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"controls.js","sources":["../../../../packages/components/editor/controls.tsx"],"sourcesContent":["import {\n\tClearAllRound,\n\tFormatBoldRound,\n\tFormatItalicRound,\n\tFormatUnderlinedRound,\n\tRedoRound,\n\tStrikethroughSRound,\n\tUndoRound,\n} from \"@ricons/material\";\nimport { Fragment } from \"react/jsx-runtime\";\nimport { escapeAttrValue } from \"xss\";\nimport Button from \"../button\";\nimport Icon from \"../icon\";\n\nexport const exec = (a, b?, c?) => document.execCommand(a, b, c);\n\nexport const xssOptions = {\n\tonIgnoreTagAttr: function (tag, name, value) {\n\t\tif ([\"data-\", \"style\"].includes(name.substr(0, 5))) {\n\t\t\treturn name + '=\"' + escapeAttrValue(value) + '\"';\n\t\t}\n\t},\n};\n\nconst fnMap = {\n\tbold: {\n\t\ticon: <FormatBoldRound />,\n\t\tonClick: () => exec(\"bold\"),\n\t\ttip: \"粗体\",\n\t},\n\titalic: {\n\t\ticon: <FormatItalicRound />,\n\t\tonClick: () => exec(\"italic\"),\n\t\ttip: \"斜体\",\n\t},\n\tunderline: {\n\t\ticon: <FormatUnderlinedRound />,\n\t\tonClick: () => exec(\"underline\"),\n\t\ttip: \"下划线\",\n\t},\n\tstrike: {\n\t\ticon: <StrikethroughSRound />,\n\t\tonClick: () => exec(\"strikeThrough\"),\n\t\ttip: \"删除线\",\n\t},\n\tredo: {\n\t\ticon: <RedoRound />,\n\t\tonClick: () => exec(\"redo\"),\n\t\ttip: \"重做\",\n\t},\n\tundo: {\n\t\ticon: <UndoRound />,\n\t\tonClick: () => exec(\"undo\"),\n\t\ttip: \"撤销\",\n\t},\n\t// color: {\n\t// \ticon: <FormatColorTextRound />,\n\t// \tonClick: () => exec(\"foreColor\", false, \"\"),\n\t// },\n\t// backColor: {\n\t// \ticon: <FormatColorFillRound />,\n\t// \tonClick: () => exec(\"backColor\", false, \"\"),\n\t// },\n\tclear: {\n\t\ticon: <ClearAllRound />,\n\t\tonClick: () => exec(\"removeFormat\"),\n\t\ttip: \"清除格式\",\n\t},\n};\n\nconst aliasMap = {\n\tsimple: [\"undo\", \"redo\", \"bold\", \"italic\", \"underline\", \"strike\", \"clear\"],\n\tall: Object.keys(fnMap),\n};\n\nexport default function getControls(fns, options) {\n\tconst { controlBtnProps } = options;\n\tconst keys = typeof fns === \"string\" ? aliasMap[fns] : fns;\n\n\treturn keys.map((k) => {\n\t\tif (fnMap[k]) {\n\t\t\tconst { icon, render, tip, onClick } = fnMap[k];\n\n\t\t\tif (render) {\n\t\t\t\treturn render(options);\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\t<Button key={k} {...controlBtnProps} onClick={onClick}>\n\t\t\t\t\t<Icon icon={icon} />\n\t\t\t\t\t{tip && <span className='i-editor-control-tip'>{tip}</span>}\n\t\t\t\t</Button>\n\t\t\t);\n\t\t}\n\t\treturn <Fragment key={k} />;\n\t});\n}\n"],"names":["escapeAttrValue","_jsx","FormatBoldRound","FormatItalicRound","FormatUnderlinedRound","StrikethroughSRound","RedoRound","UndoRound","ClearAllRound","icon","_jsxs","Button","Icon","Fragment"],"mappings":"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"}
@@ -0,0 +1,83 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var jsxRuntime = require('react/jsx-runtime');
6
+ var classNames = require('classnames');
7
+ var react = require('react');
8
+ var xss = require('xss');
9
+ var controls = require('./controls.js');
10
+
11
+ const Editor = (props) => {
12
+ const { ref, width, height = "10em", placeholder, autosize, border = true, richPaste, controls: controls$1 = "simple", className, style, onInput, onPaste, onKeyDown, ...restProps } = props;
13
+ const editorRef = react.useRef(null);
14
+ const controlBtnProps = {
15
+ square: true,
16
+ flat: true,
17
+ size: "small",
18
+ };
19
+ const handlePaste = async (e) => {
20
+ onPaste?.(e);
21
+ if (richPaste)
22
+ return;
23
+ e.preventDefault();
24
+ const text = e.clipboardData.getData("text/plain");
25
+ controls.exec("insertText", false, text);
26
+ };
27
+ const handleKeyDown = (e) => {
28
+ onKeyDown?.(e);
29
+ switch (e.key) {
30
+ case "Tab":
31
+ e.preventDefault();
32
+ controls.exec("insertHTML", false, "&#09;");
33
+ break;
34
+ case "Enter":
35
+ e.preventDefault();
36
+ controls.exec("insertLineBreak");
37
+ if (!editorRef.current)
38
+ return;
39
+ editorRef.current.scrollBy({
40
+ top: 20,
41
+ left: -1e3,
42
+ });
43
+ if (!autosize)
44
+ return;
45
+ editorRef.current.style.height = `${editorRef.current.scrollHeight}px`;
46
+ break;
47
+ }
48
+ };
49
+ react.useImperativeHandle(ref, () => {
50
+ return {
51
+ setValue(html) {
52
+ if (!editorRef.current)
53
+ return;
54
+ const safeHtml = xss(html, controls.xssOptions);
55
+ editorRef.current.innerHTML = safeHtml;
56
+ },
57
+ getSafeValue() {
58
+ const html = editorRef.current?.innerHTML ?? "";
59
+ return xss(html, controls.xssOptions);
60
+ },
61
+ };
62
+ });
63
+ const handleInput = (e) => {
64
+ let html = editorRef.current?.innerHTML ?? "";
65
+ if (["<br>", "\n"].includes(html) && editorRef.current) {
66
+ html = "";
67
+ editorRef.current.innerHTML = html;
68
+ }
69
+ onInput?.(html, e);
70
+ };
71
+ return (jsxRuntime.jsxs("div", { className: classNames("i-editor", className, {
72
+ "i-editor-borderless": !border,
73
+ }), style: {
74
+ ...style,
75
+ [autosize ? "minHeight" : "height"]: height,
76
+ width,
77
+ }, children: [controls$1 !== "none" && (jsxRuntime.jsx("div", { className: 'i-editor-controls', children: controls.default(controls$1, {
78
+ controlBtnProps,
79
+ }) })), jsxRuntime.jsx("div", { ref: editorRef, className: 'i-editor-content', "data-placeholder": placeholder, contentEditable: true, onPaste: handlePaste, onInput: handleInput, onKeyDown: handleKeyDown, ...restProps })] }));
80
+ };
81
+
82
+ exports.default = Editor;
83
+ //# sourceMappingURL=editor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editor.js","sources":["../../../../packages/components/editor/editor.tsx"],"sourcesContent":["import classNames from \"classnames\";\nimport { useImperativeHandle, useRef } from \"react\";\nimport xss from \"xss\";\nimport { IButton } from \"../button/type\";\nimport getControls, { exec, xssOptions } from \"./controls\";\nimport \"./index.css\";\nimport { IEditor } from \"./type\";\n\nconst Editor = (props: IEditor) => {\n\tconst {\n\t\tref,\n\t\twidth,\n\t\theight = \"10em\",\n\t\tplaceholder,\n\t\tautosize,\n\t\tborder = true,\n\t\trichPaste,\n\t\tcontrols = \"simple\",\n\t\tclassName,\n\t\tstyle,\n\t\tonInput,\n\t\tonPaste,\n\t\tonKeyDown,\n\t\t...restProps\n\t} = props;\n\tconst editorRef = useRef<HTMLDivElement>(null);\n\tconst controlBtnProps: IButton = {\n\t\tsquare: true,\n\t\tflat: true,\n\t\tsize: \"small\",\n\t};\n\n\tconst handlePaste = async (e) => {\n\t\tonPaste?.(e);\n\n\t\tif (richPaste) return;\n\t\te.preventDefault();\n\t\tconst text = e.clipboardData.getData(\"text/plain\");\n\t\texec(\"insertText\", false, text);\n\t};\n\n\tconst handleKeyDown = (e) => {\n\t\tonKeyDown?.(e);\n\n\t\tswitch (e.key) {\n\t\t\tcase \"Tab\":\n\t\t\t\te.preventDefault();\n\t\t\t\texec(\"insertHTML\", false, \"&#09;\");\n\t\t\t\tbreak;\n\t\t\tcase \"Enter\":\n\t\t\t\te.preventDefault();\n\t\t\t\texec(\"insertLineBreak\");\n\n\t\t\t\tif (!editorRef.current) return;\n\t\t\t\teditorRef.current.scrollBy({\n\t\t\t\t\ttop: 20,\n\t\t\t\t\tleft: -1000,\n\t\t\t\t});\n\n\t\t\t\tif (!autosize) return;\n\t\t\t\teditorRef.current.style.height = `${editorRef.current.scrollHeight}px`;\n\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\t};\n\n\tuseImperativeHandle(ref, () => {\n\t\treturn {\n\t\t\tsetValue(html) {\n\t\t\t\tif (!editorRef.current) return;\n\t\t\t\tconst safeHtml = xss(html, xssOptions);\n\n\t\t\t\teditorRef.current.innerHTML = safeHtml;\n\t\t\t},\n\t\t\tgetSafeValue() {\n\t\t\t\tconst html = editorRef.current?.innerHTML ?? \"\";\n\n\t\t\t\treturn xss(html, xssOptions);\n\t\t\t},\n\t\t};\n\t});\n\n\tconst handleInput = (e) => {\n\t\tlet html = editorRef.current?.innerHTML ?? \"\";\n\n\t\tif ([\"<br>\", \"\\n\"].includes(html) && editorRef.current) {\n\t\t\thtml = \"\";\n\t\t\teditorRef.current.innerHTML = html;\n\t\t}\n\n\t\tonInput?.(html, e);\n\t};\n\n\treturn (\n\t\t<div\n\t\t\tclassName={classNames(\"i-editor\", className, {\n\t\t\t\t\"i-editor-borderless\": !border,\n\t\t\t})}\n\t\t\tstyle={{\n\t\t\t\t...style,\n\t\t\t\t[autosize ? \"minHeight\" : \"height\"]: height,\n\t\t\t\twidth,\n\t\t\t}}\n\t\t>\n\t\t\t{controls !== \"none\" && (\n\t\t\t\t<div className='i-editor-controls'>\n\t\t\t\t\t{getControls(controls, {\n\t\t\t\t\t\tcontrolBtnProps,\n\t\t\t\t\t})}\n\t\t\t\t</div>\n\t\t\t)}\n\n\t\t\t<div\n\t\t\t\tref={editorRef}\n\t\t\t\tclassName='i-editor-content'\n\t\t\t\tdata-placeholder={placeholder}\n\t\t\t\tcontentEditable\n\t\t\t\tonPaste={handlePaste}\n\t\t\t\tonInput={handleInput}\n\t\t\t\tonKeyDown={handleKeyDown}\n\t\t\t\t{...restProps}\n\t\t\t/>\n\t\t</div>\n\t);\n};\n\nexport default Editor;\n"],"names":["controls","useRef","exec","useImperativeHandle","xssOptions","_jsxs","_jsx","getControls"],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var editor = require('./editor.js');
6
+
7
+
8
+
9
+ exports.default = editor.default;
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
@@ -0,0 +1,32 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var jsxRuntime = require('react/jsx-runtime');
6
+ var classNames = require('classnames');
7
+ var react = require('react');
8
+
9
+ const Flex = (props) => {
10
+ const { as: Component = "div", align, justify, direction, wrap, gap, columns, className, style, ...restProps } = props;
11
+ const gridColumns = react.useMemo(() => {
12
+ if (!columns)
13
+ return;
14
+ if (typeof columns === "number")
15
+ return `repeat(${columns}, 1fr)`;
16
+ return columns;
17
+ }, [columns]);
18
+ return (jsxRuntime.jsx(Component, { ...restProps, style: {
19
+ alignItems: align,
20
+ justifyContent: justify,
21
+ gap,
22
+ flexDirection: direction,
23
+ flexWrap: wrap === true ? "wrap" : wrap,
24
+ gridTemplateColumns: gridColumns,
25
+ ...style,
26
+ }, className: classNames(className, {
27
+ [columns ? "grid" : "flex"]: true,
28
+ }) }));
29
+ };
30
+
31
+ exports.default = Flex;
32
+ //# sourceMappingURL=flex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flex.js","sources":["../../../../packages/components/flex/flex.tsx"],"sourcesContent":["import classNames from \"classnames\";\nimport { useMemo } from \"react\";\nimport \"./index.css\";\nimport { IFlex } from \"./type\";\n\nconst Flex: React.FC<IFlex> = (props: IFlex) => {\n\tconst {\n\t\tas: Component = \"div\" as any,\n\t\talign,\n\t\tjustify,\n\t\tdirection,\n\t\twrap,\n\t\tgap,\n\t\tcolumns,\n\t\tclassName,\n\t\tstyle,\n\t\t...restProps\n\t} = props;\n\n\tconst gridColumns = useMemo(() => {\n\t\tif (!columns) return;\n\n\t\tif (typeof columns === \"number\") return `repeat(${columns}, 1fr)`;\n\n\t\treturn columns;\n\t}, [columns]);\n\n\treturn (\n\t\t<Component\n\t\t\t{...restProps}\n\t\t\tstyle={{\n\t\t\t\talignItems: align,\n\t\t\t\tjustifyContent: justify,\n\t\t\t\tgap,\n\t\t\t\tflexDirection: direction,\n\t\t\t\tflexWrap: wrap === true ? \"wrap\" : wrap,\n\t\t\t\tgridTemplateColumns: gridColumns as any,\n\t\t\t\t...style,\n\t\t\t}}\n\t\t\tclassName={classNames(className, {\n\t\t\t\t[columns ? \"grid\" : \"flex\"]: true,\n\t\t\t})}\n\t\t/>\n\t);\n};\n\nexport default Flex;\n"],"names":["useMemo","_jsx"],"mappings":";;;;;;;;AAKA,MAAM,IAAI,GAAoB,CAAC,KAAY,KAAI;AAC9C,IAAA,MAAM,EACL,EAAE,EAAE,SAAS,GAAG,KAAY,EAC5B,KAAK,EACL,OAAO,EACP,SAAS,EACT,IAAI,EACJ,GAAG,EACH,OAAO,EACP,SAAS,EACT,KAAK,EACL,GAAG,SAAS,EACZ,GAAG,KAAK;AAET,IAAA,MAAM,WAAW,GAAGA,aAAO,CAAC,MAAK;AAChC,QAAA,IAAI,CAAC,OAAO;YAAE;QAEd,IAAI,OAAO,OAAO,KAAK,QAAQ;YAAE,OAAO,CAAA,OAAA,EAAU,OAAO,CAAA,MAAA,CAAQ;AAEjE,QAAA,OAAO,OAAO;AACf,KAAC,EAAE,CAAC,OAAO,CAAC,CAAC;AAEb,IAAA,QACCC,cAAC,CAAA,SAAS,OACL,SAAS,EACb,KAAK,EAAE;AACN,YAAA,UAAU,EAAE,KAAK;AACjB,YAAA,cAAc,EAAE,OAAO;YACvB,GAAG;AACH,YAAA,aAAa,EAAE,SAAS;YACxB,QAAQ,EAAE,IAAI,KAAK,IAAI,GAAG,MAAM,GAAG,IAAI;AACvC,YAAA,mBAAmB,EAAE,WAAkB;AACvC,YAAA,GAAG,KAAK;AACR,SAAA,EACD,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE;YAChC,CAAC,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI;SACjC,CAAC,EAAA,CACD;AAEJ;;;;"}
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var flex = require('./flex.js');
6
+
7
+
8
+
9
+ exports.default = flex.default;
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var react = require('react');
6
+
7
+ const Context = react.createContext({});
8
+
9
+ exports.default = Context;
10
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sources":["../../../../packages/components/form/context.tsx"],"sourcesContent":["import { createContext } from \"react\";\nimport { IFormInstance } from \"./useForm\";\n\nconst Context = createContext({} as IFormInstance);\n\nexport default Context;\n"],"names":["createContext"],"mappings":";;;;;;AAGA,MAAM,OAAO,GAAGA,mBAAa,CAAC,EAAmB;;;;"}
@@ -0,0 +1,77 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var ahooks = require('ahooks');
6
+ var PubSub = require('pubsub-js');
7
+ var react = require('react');
8
+ var context = require('./context.js');
9
+
10
+ function Field(props) {
11
+ const { name, required, children } = props;
12
+ const state = ahooks.useReactive({
13
+ value: undefined,
14
+ status: "normal",
15
+ message: undefined,
16
+ update: 0,
17
+ });
18
+ const form = react.useContext(context.default);
19
+ const { id } = form;
20
+ const handleChange = (v) => {
21
+ if (!name)
22
+ return;
23
+ form.set(name, v);
24
+ PubSub.publish(`${id}:change`, {
25
+ name,
26
+ value: v,
27
+ });
28
+ };
29
+ const hijackChildren = react.useMemo(() => {
30
+ return react.Children.map(children, (node) => {
31
+ if (!react.isValidElement(node))
32
+ return null;
33
+ const { onChange } = node.props;
34
+ const { value, status, message } = state;
35
+ return react.cloneElement(node, {
36
+ value,
37
+ status,
38
+ message,
39
+ required,
40
+ onChange: (...args) => {
41
+ handleChange(args[0]);
42
+ onChange?.(...args);
43
+ Object.assign(state, {
44
+ status: "normal",
45
+ message: undefined,
46
+ });
47
+ },
48
+ });
49
+ });
50
+ }, [children, state.update]);
51
+ react.useEffect(() => {
52
+ if (!name)
53
+ return;
54
+ PubSub.subscribe(`${id}:set:${name}`, (evt, v) => {
55
+ state.value = v;
56
+ state.update += 1;
57
+ });
58
+ PubSub.subscribe(`${id}:invalid:${name}`, (evt, v) => {
59
+ Object.assign(state, v);
60
+ state.update += 1;
61
+ });
62
+ Promise.resolve().then(() => {
63
+ form.set(name, form.cacheData[name] ?? undefined);
64
+ });
65
+ return () => {
66
+ PubSub.unsubscribe(`${id}:set:${name}`);
67
+ PubSub.unsubscribe(`${id}:invalid:${name}`);
68
+ form.delete(name);
69
+ };
70
+ }, [name, children]);
71
+ if (!name)
72
+ return children;
73
+ return hijackChildren;
74
+ }
75
+
76
+ exports.default = Field;
77
+ //# sourceMappingURL=field.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"field.js","sources":["../../../../packages/components/form/field.tsx"],"sourcesContent":["import { useReactive } from \"ahooks\";\nimport PubSub from \"pubsub-js\";\nimport {\n\tChildren,\n\tcloneElement,\n\tisValidElement,\n\tuseContext,\n\tuseEffect,\n\tuseMemo,\n} from \"react\";\nimport Context from \"./context\";\nimport { IField } from \"./type\";\n\nfunction Field(props: IField) {\n\tconst { name, required, children } = props;\n\tconst state = useReactive({\n\t\tvalue: undefined,\n\t\tstatus: \"normal\",\n\t\tmessage: undefined,\n\t\tupdate: 0,\n\t});\n\tconst form = useContext(Context);\n\tconst { id } = form;\n\n\tconst handleChange = (v) => {\n\t\tif (!name) return;\n\n\t\tform.set(name, v);\n\t\tPubSub.publish(`${id}:change`, {\n\t\t\tname,\n\t\t\tvalue: v,\n\t\t});\n\t};\n\n\tconst hijackChildren = useMemo(() => {\n\t\treturn Children.map(children, (node) => {\n\t\t\tif (!isValidElement(node)) return null;\n\n\t\t\tconst { onChange } = node.props as any;\n\t\t\tconst { value, status, message } = state;\n\n\t\t\treturn cloneElement(node, {\n\t\t\t\tvalue,\n\t\t\t\tstatus,\n\t\t\t\tmessage,\n\t\t\t\trequired,\n\t\t\t\tonChange: (...args) => {\n\t\t\t\t\thandleChange(args[0]);\n\t\t\t\t\tonChange?.(...args);\n\t\t\t\t\tObject.assign(state, {\n\t\t\t\t\t\tstatus: \"normal\",\n\t\t\t\t\t\tmessage: undefined,\n\t\t\t\t\t});\n\t\t\t\t},\n\t\t\t} as any);\n\t\t});\n\t}, [children, state.update]);\n\n\tuseEffect(() => {\n\t\tif (!name) return;\n\n\t\tPubSub.subscribe(`${id}:set:${name}`, (evt, v) => {\n\t\t\tstate.value = v;\n\t\t\tstate.update += 1;\n\t\t});\n\t\tPubSub.subscribe(`${id}:invalid:${name}`, (evt, v) => {\n\t\t\tObject.assign(state, v);\n\t\t\tstate.update += 1;\n\t\t});\n\n\t\tPromise.resolve().then(() => {\n\t\t\tform.set(name, form.cacheData[name] ?? undefined);\n\t\t});\n\n\t\treturn () => {\n\t\t\tPubSub.unsubscribe(`${id}:set:${name}`);\n\t\t\tPubSub.unsubscribe(`${id}:invalid:${name}`);\n\t\t\tform.delete(name);\n\t\t};\n\t}, [name, children]);\n\n\tif (!name) return children;\n\n\treturn hijackChildren;\n}\n\nexport default Field;\n"],"names":["useReactive","useContext","Context","useMemo","Children","isValidElement","cloneElement","useEffect"],"mappings":"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"}
@@ -0,0 +1,57 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var jsxRuntime = require('react/jsx-runtime');
6
+ var classNames = require('classnames');
7
+ var PubSub = require('pubsub-js');
8
+ var react = require('react');
9
+ var context = require('./context.js');
10
+ var field = require('./field.js');
11
+ var useForm = require('./useForm.js');
12
+
13
+ const Form = (props) => {
14
+ const { form = {}, rules, initialValues, style, className, width, columns = 1, gap = "1em", labelInline, labelWidth, labelRight, children, onKeyDown, onEnter, onChange, ...restProps } = props;
15
+ const handleKeyDown = (e) => {
16
+ onKeyDown?.(e);
17
+ if (e.keyCode !== 13)
18
+ return;
19
+ onEnter?.(form.data, form);
20
+ };
21
+ const gridColumns = react.useMemo(() => {
22
+ if (!columns)
23
+ return;
24
+ if (typeof columns === "number")
25
+ return `minmax(0, 1fr) `.repeat(columns);
26
+ return columns;
27
+ }, [columns]);
28
+ react.useEffect(() => {
29
+ Object.assign(form, {
30
+ data: { ...initialValues },
31
+ rules,
32
+ });
33
+ }, [form]);
34
+ react.useEffect(() => {
35
+ PubSub.subscribe(`${form.id}:change`, (evt, v) => {
36
+ onChange?.(v.name, v.value);
37
+ });
38
+ return () => {
39
+ PubSub.unsubscribe(`${form.id}:change`);
40
+ };
41
+ }, []);
42
+ return (jsxRuntime.jsx(context.default, { value: form, children: jsxRuntime.jsx("form", { style: {
43
+ ...style,
44
+ width,
45
+ gap,
46
+ gridTemplateColumns: gridColumns,
47
+ "--label-width": labelWidth,
48
+ "--label-align": labelRight ? "right" : undefined,
49
+ }, className: classNames("i-form", className, {
50
+ "i-form-inline": labelInline,
51
+ }), onKeyDown: handleKeyDown, ...restProps, children: children }) }));
52
+ };
53
+ Form.useForm = useForm.default;
54
+ Form.Field = field.default;
55
+
56
+ exports.default = Form;
57
+ //# sourceMappingURL=form.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form.js","sources":["../../../../packages/components/form/form.tsx"],"sourcesContent":["import classNames from \"classnames\";\nimport PubSub from \"pubsub-js\";\nimport { CSSProperties, useEffect, useMemo } from \"react\";\nimport Context from \"./context\";\nimport Field from \"./field\";\nimport \"./index.css\";\nimport { IForm } from \"./type\";\nimport useForm, { IFormInstance } from \"./useForm\";\n\nconst Form = (props: IForm) => {\n\tconst {\n\t\tform = {} as IFormInstance,\n\t\trules,\n\t\tinitialValues,\n\t\tstyle,\n\t\tclassName,\n\t\twidth,\n\t\tcolumns = 1,\n\t\tgap = \"1em\",\n\t\tlabelInline,\n\t\tlabelWidth,\n\t\tlabelRight,\n\t\tchildren,\n\t\tonKeyDown,\n\t\tonEnter,\n\t\tonChange,\n\t\t...restProps\n\t} = props;\n\n\tconst handleKeyDown = (e) => {\n\t\tonKeyDown?.(e);\n\n\t\tif (e.keyCode !== 13) return;\n\n\t\tonEnter?.(form.data, form);\n\t};\n\n\tconst gridColumns = useMemo(() => {\n\t\tif (!columns) return;\n\n\t\tif (typeof columns === \"number\")\n\t\t\treturn `minmax(0, 1fr) `.repeat(columns);\n\n\t\treturn columns;\n\t}, [columns]);\n\n\tuseEffect(() => {\n\t\tObject.assign(form, {\n\t\t\tdata: { ...initialValues },\n\t\t\trules,\n\t\t});\n\t}, [form]);\n\n\tuseEffect(() => {\n\t\tPubSub.subscribe(`${form.id}:change`, (evt, v) => {\n\t\t\tonChange?.(v.name, v.value);\n\t\t});\n\n\t\treturn () => {\n\t\t\tPubSub.unsubscribe(`${form.id}:change`);\n\t\t};\n\t}, []);\n\n\treturn (\n\t\t<Context value={form}>\n\t\t\t<form\n\t\t\t\tstyle={\n\t\t\t\t\t{\n\t\t\t\t\t\t...style,\n\t\t\t\t\t\twidth,\n\t\t\t\t\t\tgap,\n\t\t\t\t\t\tgridTemplateColumns: gridColumns as any,\n\t\t\t\t\t\t\"--label-width\": labelWidth,\n\t\t\t\t\t\t\"--label-align\": labelRight ? \"right\" : undefined,\n\t\t\t\t\t} as CSSProperties\n\t\t\t\t}\n\t\t\t\tclassName={classNames(\"i-form\", className, {\n\t\t\t\t\t\"i-form-inline\": labelInline,\n\t\t\t\t})}\n\t\t\t\tonKeyDown={handleKeyDown}\n\t\t\t\t{...restProps}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</form>\n\t\t</Context>\n\t);\n};\n\nForm.useForm = useForm;\nForm.Field = Field;\n\nexport default Form;\n"],"names":["useMemo","useEffect","_jsx","Context","useForm","Field"],"mappings":";;;;;;;;;;;;AASA,MAAM,IAAI,GAAG,CAAC,KAAY,KAAI;AAC7B,IAAA,MAAM,EACL,IAAI,GAAG,EAAmB,EAC1B,KAAK,EACL,aAAa,EACb,KAAK,EACL,SAAS,EACT,KAAK,EACL,OAAO,GAAG,CAAC,EACX,GAAG,GAAG,KAAK,EACX,WAAW,EACX,UAAU,EACV,UAAU,EACV,QAAQ,EACR,SAAS,EACT,OAAO,EACP,QAAQ,EACR,GAAG,SAAS,EACZ,GAAG,KAAK;AAET,IAAA,MAAM,aAAa,GAAG,CAAC,CAAC,KAAI;AAC3B,QAAA,SAAS,GAAG,CAAC,CAAC;AAEd,QAAA,IAAI,CAAC,CAAC,OAAO,KAAK,EAAE;YAAE;QAEtB,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC;AAC3B,KAAC;AAED,IAAA,MAAM,WAAW,GAAGA,aAAO,CAAC,MAAK;AAChC,QAAA,IAAI,CAAC,OAAO;YAAE;QAEd,IAAI,OAAO,OAAO,KAAK,QAAQ;AAC9B,YAAA,OAAO,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC;AAEzC,QAAA,OAAO,OAAO;AACf,KAAC,EAAE,CAAC,OAAO,CAAC,CAAC;IAEbC,eAAS,CAAC,MAAK;AACd,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;AACnB,YAAA,IAAI,EAAE,EAAE,GAAG,aAAa,EAAE;YAC1B,KAAK;AACL,SAAA,CAAC;AACH,KAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IAEVA,eAAS,CAAC,MAAK;AACd,QAAA,MAAM,CAAC,SAAS,CAAC,CAAA,EAAG,IAAI,CAAC,EAAE,CAAS,OAAA,CAAA,EAAE,CAAC,GAAG,EAAE,CAAC,KAAI;YAChD,QAAQ,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC;AAC5B,SAAC,CAAC;AAEF,QAAA,OAAO,MAAK;YACX,MAAM,CAAC,WAAW,CAAC,CAAA,EAAG,IAAI,CAAC,EAAE,CAAS,OAAA,CAAA,CAAC;AACxC,SAAC;KACD,EAAE,EAAE,CAAC;IAEN,QACCC,cAAC,CAAAC,eAAO,EAAC,EAAA,KAAK,EAAE,IAAI,EAAA,QAAA,EACnBD,cACC,CAAA,MAAA,EAAA,EAAA,KAAK,EACJ;AACC,gBAAA,GAAG,KAAK;gBACR,KAAK;gBACL,GAAG;AACH,gBAAA,mBAAmB,EAAE,WAAkB;AACvC,gBAAA,eAAe,EAAE,UAAU;gBAC3B,eAAe,EAAE,UAAU,GAAG,OAAO,GAAG,SAAS;AAChC,aAAA,EAEnB,SAAS,EAAE,UAAU,CAAC,QAAQ,EAAE,SAAS,EAAE;AAC1C,gBAAA,eAAe,EAAE,WAAW;aAC5B,CAAC,EACF,SAAS,EAAE,aAAa,EAAA,GACpB,SAAS,EAAA,QAAA,EAEZ,QAAQ,EAAA,CACH,EACE,CAAA;AAEZ;AAEA,IAAI,CAAC,OAAO,GAAGE,eAAO;AACtB,IAAI,CAAC,KAAK,GAAGC,aAAK;;;;"}
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var form = require('./form.js');
6
+
7
+
8
+
9
+ exports.default = form.default;
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
@@ -0,0 +1,130 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var PubSub = require('pubsub-js');
6
+ var radash = require('radash');
7
+ var react = require('react');
8
+
9
+ class IFormInstance {
10
+ id;
11
+ data = {};
12
+ cacheData = {};
13
+ rules = {};
14
+ constructor() {
15
+ this.id = radash.uid(8);
16
+ this.data = {};
17
+ }
18
+ get(field) {
19
+ return field ? this.data[field] : this.data;
20
+ }
21
+ set(field, value) {
22
+ const id = this.id;
23
+ if (!this.data)
24
+ return;
25
+ if (typeof field === "string") {
26
+ this.data[field] = value;
27
+ this.cacheData[field] = value;
28
+ PubSub.publish(`${id}:set:${field}`, value);
29
+ return;
30
+ }
31
+ Object.keys(field).map((name) => {
32
+ this.data[name] = field[name];
33
+ this.cacheData[name] = field[name];
34
+ PubSub.publish(`${id}:set:${name}`, field[name]);
35
+ });
36
+ }
37
+ delete(field) {
38
+ delete this.data[field];
39
+ }
40
+ clear() {
41
+ if (!this.data)
42
+ return;
43
+ this.cacheData = {};
44
+ Object.keys(this.data).map((name) => {
45
+ PubSub.publish(`${this.id}:set:${name}`, undefined);
46
+ this.data[name] = undefined;
47
+ });
48
+ }
49
+ async validate(field) {
50
+ const { id, rules, data } = this;
51
+ if (!rules)
52
+ return data;
53
+ if (field) {
54
+ const o = rules[field];
55
+ const rule = {
56
+ validator: (v) => Array.isArray(v)
57
+ ? v.length > 0
58
+ : ![undefined, null, ""].includes(v),
59
+ message: undefined,
60
+ };
61
+ if (typeof o === "function") {
62
+ rule.validator = o;
63
+ }
64
+ else if (o === true) {
65
+ rule.message = "required";
66
+ }
67
+ else {
68
+ Object.assign(rule, o);
69
+ }
70
+ const isValid = rule.validator?.(data[field], this);
71
+ if (!isValid) {
72
+ PubSub.publish(`${id}:invalid:${field}`, {
73
+ message: rule.message,
74
+ status: "error",
75
+ });
76
+ return false;
77
+ }
78
+ PubSub.publish(`${id}:invalid:${name}`, {
79
+ message: null,
80
+ status: "normal",
81
+ });
82
+ return true;
83
+ }
84
+ let isAllValid = true;
85
+ Object.keys(data).map((name) => {
86
+ const o = rules[name];
87
+ if (o === undefined)
88
+ return;
89
+ const rule = {
90
+ validator: (v) => (Array.isArray(v) ? v.length > 0 : !!v),
91
+ message: undefined,
92
+ };
93
+ if (typeof o === "function") {
94
+ rule.validator = o;
95
+ }
96
+ else if (o === true) {
97
+ rule.message = "required";
98
+ }
99
+ else {
100
+ Object.assign(rule, o);
101
+ }
102
+ const isValid = rule.validator?.(data[name], this);
103
+ if (!isValid) {
104
+ PubSub.publish(`${id}:invalid:${name}`, {
105
+ message: rule.message,
106
+ status: "error",
107
+ });
108
+ isAllValid = false;
109
+ }
110
+ else {
111
+ PubSub.publish(`${id}:invalid:${name}`, {
112
+ message: null,
113
+ status: "normal",
114
+ });
115
+ }
116
+ });
117
+ return isAllValid ? Promise.resolve(data) : false;
118
+ }
119
+ }
120
+ function useForm(form) {
121
+ const formRef = react.useRef(null);
122
+ if (!formRef.current) {
123
+ formRef.current = form ?? new IFormInstance();
124
+ }
125
+ return formRef.current;
126
+ }
127
+
128
+ exports.IFormInstance = IFormInstance;
129
+ exports.default = useForm;
130
+ //# sourceMappingURL=useForm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useForm.js","sources":["../../../../packages/components/form/useForm.ts"],"sourcesContent":["import PubSub from \"pubsub-js\";\nimport { uid } from \"radash\";\nimport { useRef } from \"react\";\nimport { IForm, TRule } from \"./type\";\n\nexport class IFormInstance {\n\treadonly id?: string;\n\tdata: Record<string, any> = {};\n\tcacheData: Record<string, any> = {};\n\trules?: Pick<IForm, \"rules\"> = {};\n\n\tconstructor() {\n\t\tthis.id = uid(8);\n\t\tthis.data = {};\n\t}\n\n\tget(field?: string) {\n\t\treturn field ? this.data[field] : this.data;\n\t}\n\n\tset(field: any, value?: any) {\n\t\tconst id = this.id;\n\t\tif (!this.data) return;\n\n\t\tif (typeof field === \"string\") {\n\t\t\tthis.data[field] = value;\n\t\t\tthis.cacheData[field] = value;\n\t\t\tPubSub.publish(`${id}:set:${field}`, value);\n\t\t\treturn;\n\t\t}\n\n\t\tObject.keys(field).map((name) => {\n\t\t\tthis.data[name] = field[name];\n\t\t\tthis.cacheData[name] = field[name];\n\t\t\tPubSub.publish(`${id}:set:${name}`, field[name]);\n\t\t});\n\t}\n\n\tdelete(field) {\n\t\tdelete this.data[field];\n\t}\n\n\tclear() {\n\t\tif (!this.data) return;\n\t\tthis.cacheData = {};\n\n\t\tObject.keys(this.data).map((name) => {\n\t\t\tPubSub.publish(`${this.id}:set:${name}`, undefined);\n\t\t\tthis.data[name] = undefined;\n\t\t});\n\t}\n\n\tasync validate(field?: string) {\n\t\tconst { id, rules, data } = this;\n\t\tif (!rules) return data;\n\n\t\tif (field) {\n\t\t\tconst o = rules[field];\n\t\t\tconst rule: TRule = {\n\t\t\t\tvalidator: (v) =>\n\t\t\t\t\tArray.isArray(v)\n\t\t\t\t\t\t? v.length > 0\n\t\t\t\t\t\t: ![undefined, null, \"\"].includes(v),\n\t\t\t\tmessage: undefined,\n\t\t\t};\n\n\t\t\tif (typeof o === \"function\") {\n\t\t\t\trule.validator = o;\n\t\t\t} else if (o === true) {\n\t\t\t\trule.message = \"required\";\n\t\t\t} else {\n\t\t\t\tObject.assign(rule, o);\n\t\t\t}\n\n\t\t\tconst isValid = rule.validator?.(data[field], this);\n\n\t\t\tif (!isValid) {\n\t\t\t\tPubSub.publish(`${id}:invalid:${field}`, {\n\t\t\t\t\tmessage: rule.message,\n\t\t\t\t\tstatus: \"error\",\n\t\t\t\t});\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tPubSub.publish(`${id}:invalid:${name}`, {\n\t\t\t\tmessage: null,\n\t\t\t\tstatus: \"normal\",\n\t\t\t});\n\t\t\treturn true;\n\t\t}\n\n\t\tlet isAllValid = true;\n\n\t\tObject.keys(data).map((name) => {\n\t\t\tconst o = rules[name];\n\t\t\tif (o === undefined) return;\n\n\t\t\tconst rule: TRule = {\n\t\t\t\tvalidator: (v) => (Array.isArray(v) ? v.length > 0 : !!v),\n\t\t\t\tmessage: undefined,\n\t\t\t};\n\n\t\t\tif (typeof o === \"function\") {\n\t\t\t\trule.validator = o;\n\t\t\t} else if (o === true) {\n\t\t\t\trule.message = \"required\";\n\t\t\t} else {\n\t\t\t\tObject.assign(rule, o);\n\t\t\t}\n\n\t\t\tconst isValid = rule.validator?.(data[name], this);\n\n\t\t\tif (!isValid) {\n\t\t\t\tPubSub.publish(`${id}:invalid:${name}`, {\n\t\t\t\t\tmessage: rule.message,\n\t\t\t\t\tstatus: \"error\",\n\t\t\t\t});\n\t\t\t\tisAllValid = false;\n\t\t\t} else {\n\t\t\t\tPubSub.publish(`${id}:invalid:${name}`, {\n\t\t\t\t\tmessage: null,\n\t\t\t\t\tstatus: \"normal\",\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\t\treturn isAllValid ? Promise.resolve(data) : false;\n\t}\n}\n\nexport default function useForm(form?: IFormInstance) {\n\tconst formRef = useRef<IFormInstance>(null);\n\n\tif (!formRef.current) {\n\t\tformRef.current = form ?? new IFormInstance();\n\t}\n\n\treturn formRef.current;\n}\n"],"names":["uid","useRef"],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var classNames = require('classnames');
6
+ var react = require('react');
7
+
8
+ const Icon = (props) => {
9
+ const { ref, icon, size = "1.425em", rotate, style, className, ...restProps } = props;
10
+ if (!react.isValidElement(icon))
11
+ return icon;
12
+ const iconProps = {
13
+ ref,
14
+ style: {
15
+ transform: rotate ? `rotate(${rotate}deg)` : undefined,
16
+ ...style,
17
+ width: size,
18
+ height: size,
19
+ },
20
+ className: classNames("i-icon", className),
21
+ ...restProps,
22
+ };
23
+ return react.cloneElement(icon, iconProps);
24
+ };
25
+
26
+ exports.default = Icon;
27
+ //# sourceMappingURL=icon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icon.js","sources":["../../../../packages/components/icon/icon.tsx"],"sourcesContent":["import classNames from \"classnames\";\nimport { cloneElement, isValidElement } from \"react\";\nimport \"./index.css\";\nimport { IIcon } from \"./type\";\n\nconst Icon = (props: IIcon) => {\n\tconst {\n\t\tref,\n\t\ticon,\n\t\tsize = \"1.425em\",\n\t\trotate,\n\t\tstyle,\n\t\tclassName,\n\t\t...restProps\n\t} = props;\n\n\tif (!isValidElement(icon)) return icon;\n\n\tconst iconProps = {\n\t\tref,\n\t\tstyle: {\n\t\t\ttransform: rotate ? `rotate(${rotate}deg)` : undefined,\n\t\t\t...style,\n\t\t\twidth: size,\n\t\t\theight: size,\n\t\t},\n\t\tclassName: classNames(\"i-icon\", className),\n\t\t...restProps,\n\t};\n\n\treturn cloneElement(icon, iconProps);\n};\n\nexport default Icon;\n"],"names":["isValidElement","cloneElement"],"mappings":";;;;;;;AAKA,MAAM,IAAI,GAAG,CAAC,KAAY,KAAI;IAC7B,MAAM,EACL,GAAG,EACH,IAAI,EACJ,IAAI,GAAG,SAAS,EAChB,MAAM,EACN,KAAK,EACL,SAAS,EACT,GAAG,SAAS,EACZ,GAAG,KAAK;AAET,IAAA,IAAI,CAACA,oBAAc,CAAC,IAAI,CAAC;AAAE,QAAA,OAAO,IAAI;AAEtC,IAAA,MAAM,SAAS,GAAG;QACjB,GAAG;AACH,QAAA,KAAK,EAAE;YACN,SAAS,EAAE,MAAM,GAAG,CAAU,OAAA,EAAA,MAAM,CAAM,IAAA,CAAA,GAAG,SAAS;AACtD,YAAA,GAAG,KAAK;AACR,YAAA,KAAK,EAAE,IAAI;AACX,YAAA,MAAM,EAAE,IAAI;AACZ,SAAA;AACD,QAAA,SAAS,EAAE,UAAU,CAAC,QAAQ,EAAE,SAAS,CAAC;AAC1C,QAAA,GAAG,SAAS;KACZ;AAED,IAAA,OAAOC,kBAAY,CAAC,IAAI,EAAE,SAAS,CAAC;AACrC;;;;"}
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var icon = require('./icon.js');
6
+
7
+
8
+
9
+ exports.default = icon.default;
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}