@ioca/react 1.5.19 → 1.5.21

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 (605) hide show
  1. package/lib/css/index.css +1 -2
  2. package/lib/es/components/affix/affix.js +1 -1
  3. package/lib/es/components/affix/index.js +0 -1
  4. package/lib/es/components/affix/totop.js +0 -1
  5. package/lib/es/components/badge/badge.js +1 -1
  6. package/lib/es/components/badge/index.js +0 -1
  7. package/lib/es/components/button/button.js +1 -1
  8. package/lib/es/components/button/confirm.js +0 -1
  9. package/lib/es/components/button/group.js +0 -1
  10. package/lib/es/components/button/index.js +0 -1
  11. package/lib/es/components/button/toggle.js +0 -1
  12. package/lib/es/components/card/card.js +1 -1
  13. package/lib/es/components/card/index.js +0 -1
  14. package/lib/es/components/checkbox/checkbox.js +2 -1
  15. package/lib/es/components/checkbox/index.js +0 -1
  16. package/lib/es/components/checkbox/item.js +0 -1
  17. package/lib/es/components/collapse/collapse.js +1 -1
  18. package/lib/es/components/collapse/index.js +0 -1
  19. package/lib/es/components/collapse/item.js +0 -1
  20. package/lib/es/components/datagrid/cell.js +0 -1
  21. package/lib/es/components/datagrid/datagrid.js +1 -1
  22. package/lib/es/components/datagrid/helper.js +0 -1
  23. package/lib/es/components/datagrid/index.js +0 -1
  24. package/lib/es/components/datagrid/resize.js +0 -1
  25. package/lib/es/components/datagrid/row.js +0 -1
  26. package/lib/es/components/datagrid/sorter.js +0 -1
  27. package/lib/es/components/datagrid/virtual.js +130 -104
  28. package/lib/es/components/description/description.js +1 -1
  29. package/lib/es/components/description/index.js +0 -1
  30. package/lib/es/components/drawer/drawer.js +1 -1
  31. package/lib/es/components/drawer/index.js +0 -1
  32. package/lib/es/components/dropdown/dropdown.js +1 -1
  33. package/lib/es/components/dropdown/index.js +0 -1
  34. package/lib/es/components/dropdown/item.js +0 -1
  35. package/lib/es/components/editor/controls.js +0 -1
  36. package/lib/es/components/editor/editor.js +1 -1
  37. package/lib/es/components/editor/index.js +0 -1
  38. package/lib/es/components/editor/memtion.js +0 -1
  39. package/lib/es/components/flex/flex.js +1 -1
  40. package/lib/es/components/flex/index.js +0 -1
  41. package/lib/es/components/form/context.js +0 -1
  42. package/lib/es/components/form/field.js +0 -1
  43. package/lib/es/components/form/form.js +1 -1
  44. package/lib/es/components/form/index.js +0 -1
  45. package/lib/es/components/form/useConfig.js +0 -1
  46. package/lib/es/components/form/useForm.js +1 -2
  47. package/lib/es/components/form/utils.js +0 -1
  48. package/lib/es/components/icon/icon.js +1 -1
  49. package/lib/es/components/icon/index.js +0 -1
  50. package/lib/es/components/image/image.js +1 -1
  51. package/lib/es/components/image/index.js +0 -1
  52. package/lib/es/components/image/list.js +0 -1
  53. package/lib/es/components/input/container.js +0 -1
  54. package/lib/es/components/input/index.js +0 -1
  55. package/lib/es/components/input/input.js +1 -1
  56. package/lib/es/components/input/number.js +1 -1
  57. package/lib/es/components/input/range.js +1 -1
  58. package/lib/es/components/input/textarea.js +1 -1
  59. package/lib/es/components/list/index.js +0 -1
  60. package/lib/es/components/list/item.js +0 -1
  61. package/lib/es/components/list/list.js +1 -1
  62. package/lib/es/components/loading/index.js +0 -1
  63. package/lib/es/components/loading/loading.js +1 -1
  64. package/lib/es/components/message/index.js +0 -1
  65. package/lib/es/components/message/message.js +1 -1
  66. package/lib/es/components/modal/content.js +1 -1
  67. package/lib/es/components/modal/context.js +0 -1
  68. package/lib/es/components/modal/hookModal.js +0 -1
  69. package/lib/es/components/modal/index.js +0 -1
  70. package/lib/es/components/modal/modal.js +1 -1
  71. package/lib/es/components/modal/modalManager.js +0 -1
  72. package/lib/es/components/modal/useModal.js +0 -1
  73. package/lib/es/components/pagination/index.js +0 -1
  74. package/lib/es/components/pagination/page.js +0 -1
  75. package/lib/es/components/pagination/pagination.js +1 -1
  76. package/lib/es/components/picker/colors/footer.js +0 -1
  77. package/lib/es/components/picker/colors/handle.js +0 -1
  78. package/lib/es/components/picker/colors/index.js +1 -1
  79. package/lib/es/components/picker/daterange/daterange.js +2 -1
  80. package/lib/es/components/picker/daterange/index.js +0 -1
  81. package/lib/es/components/picker/daterange/panel.js +0 -1
  82. package/lib/es/components/picker/dates/dates.js +0 -1
  83. package/lib/es/components/picker/dates/index.js +1 -1
  84. package/lib/es/components/picker/dates/panel.js +0 -1
  85. package/lib/es/components/picker/time/index.js +0 -1
  86. package/lib/es/components/picker/time/item.js +0 -1
  87. package/lib/es/components/picker/time/panel.js +1 -1
  88. package/lib/es/components/popconfirm/index.js +0 -1
  89. package/lib/es/components/popconfirm/popconfirm.js +1 -1
  90. package/lib/es/components/popup/content.js +0 -1
  91. package/lib/es/components/popup/index.js +0 -1
  92. package/lib/es/components/popup/popup.js +1 -1
  93. package/lib/es/components/progress/circle.js +0 -1
  94. package/lib/es/components/progress/index.js +0 -1
  95. package/lib/es/components/progress/line.js +0 -1
  96. package/lib/es/components/progress/progress.js +2 -1
  97. package/lib/es/components/radio/index.js +0 -1
  98. package/lib/es/components/radio/item.js +0 -1
  99. package/lib/es/components/radio/radio.js +2 -1
  100. package/lib/es/components/resizable/index.js +0 -1
  101. package/lib/es/components/resizable/resizable.js +1 -1
  102. package/lib/es/components/river/index.js +0 -1
  103. package/lib/es/components/river/river.js +1 -1
  104. package/lib/es/components/scroll/index.js +0 -1
  105. package/lib/es/components/scroll/scroll.js +1 -1
  106. package/lib/es/components/select/index.js +0 -1
  107. package/lib/es/components/select/options.js +0 -1
  108. package/lib/es/components/select/select.js +2 -1
  109. package/lib/es/components/step/divider.js +1 -1
  110. package/lib/es/components/step/index.js +0 -1
  111. package/lib/es/components/step/item.js +0 -1
  112. package/lib/es/components/step/step.js +1 -1
  113. package/lib/es/components/swiper/index.js +0 -1
  114. package/lib/es/components/swiper/item.js +0 -1
  115. package/lib/es/components/swiper/swiper.js +1 -1
  116. package/lib/es/components/tabs/contents.js +0 -1
  117. package/lib/es/components/tabs/helper.js +0 -1
  118. package/lib/es/components/tabs/index.js +0 -1
  119. package/lib/es/components/tabs/item.js +0 -1
  120. package/lib/es/components/tabs/navs.js +0 -1
  121. package/lib/es/components/tabs/tabs.js +9 -18
  122. package/lib/es/components/tag/index.js +0 -1
  123. package/lib/es/components/tag/tag.js +1 -1
  124. package/lib/es/components/text/highlight.js +0 -1
  125. package/lib/es/components/text/index.js +0 -1
  126. package/lib/es/components/text/number.js +0 -1
  127. package/lib/es/components/text/text.js +1 -1
  128. package/lib/es/components/text/time.js +0 -1
  129. package/lib/es/components/tree/index.js +0 -1
  130. package/lib/es/components/tree/item.js +44 -58
  131. package/lib/es/components/tree/tree.js +123 -20
  132. package/lib/es/components/tree/virtual.js +43 -0
  133. package/lib/es/components/upload/dropbox.js +0 -1
  134. package/lib/es/components/upload/index.js +0 -1
  135. package/lib/es/components/upload/renderFile.js +0 -1
  136. package/lib/es/components/upload/upload.js +1 -1
  137. package/lib/es/components/utils/empty/index.js +1 -1
  138. package/lib/es/components/utils/helpericon/helpericon.js +1 -1
  139. package/lib/es/components/utils/helpericon/index.js +0 -1
  140. package/lib/es/components/video/index.js +0 -1
  141. package/lib/es/components/video/video.js +1 -1
  142. package/lib/es/index.js +1 -1
  143. package/lib/es/js/hooks.js +0 -1
  144. package/lib/es/js/usePreview/content.js +3 -4
  145. package/lib/es/js/usePreview/index.js +1 -1
  146. package/lib/es/js/usePreview/renderFile.js +0 -1
  147. package/lib/es/js/usePreview/type.js +0 -1
  148. package/lib/es/js/useRipple/index.js +2 -1
  149. package/lib/es/js/useTheme/index.js +0 -1
  150. package/lib/es/js/utils.js +0 -1
  151. package/lib/index.js +338 -197
  152. package/lib/types/components/tabs/type.d.ts +1 -1
  153. package/lib/types/components/tree/type.d.ts +8 -5
  154. package/lib/types/js/usePreview/type.d.ts +1 -1
  155. package/package.json +8 -11
  156. package/lib/cjs/components/affix/affix.js +0 -80
  157. package/lib/cjs/components/affix/affix.js.map +0 -1
  158. package/lib/cjs/components/affix/index.js +0 -10
  159. package/lib/cjs/components/affix/index.js.map +0 -1
  160. package/lib/cjs/components/affix/totop.js +0 -21
  161. package/lib/cjs/components/affix/totop.js.map +0 -1
  162. package/lib/cjs/components/badge/badge.js +0 -21
  163. package/lib/cjs/components/badge/badge.js.map +0 -1
  164. package/lib/cjs/components/badge/index.js +0 -10
  165. package/lib/cjs/components/badge/index.js.map +0 -1
  166. package/lib/cjs/components/button/button.js +0 -72
  167. package/lib/cjs/components/button/button.js.map +0 -1
  168. package/lib/cjs/components/button/confirm.js +0 -58
  169. package/lib/cjs/components/button/confirm.js.map +0 -1
  170. package/lib/cjs/components/button/group.js +0 -29
  171. package/lib/cjs/components/button/group.js.map +0 -1
  172. package/lib/cjs/components/button/index.js +0 -10
  173. package/lib/cjs/components/button/index.js.map +0 -1
  174. package/lib/cjs/components/button/toggle.js +0 -47
  175. package/lib/cjs/components/button/toggle.js.map +0 -1
  176. package/lib/cjs/components/card/card.js +0 -21
  177. package/lib/cjs/components/card/card.js.map +0 -1
  178. package/lib/cjs/components/card/index.js +0 -10
  179. package/lib/cjs/components/card/index.js.map +0 -1
  180. package/lib/cjs/components/checkbox/checkbox.js +0 -47
  181. package/lib/cjs/components/checkbox/checkbox.js.map +0 -1
  182. package/lib/cjs/components/checkbox/index.js +0 -10
  183. package/lib/cjs/components/checkbox/index.js.map +0 -1
  184. package/lib/cjs/components/checkbox/item.js +0 -43
  185. package/lib/cjs/components/checkbox/item.js.map +0 -1
  186. package/lib/cjs/components/collapse/collapse.js +0 -80
  187. package/lib/cjs/components/collapse/collapse.js.map +0 -1
  188. package/lib/cjs/components/collapse/index.js +0 -10
  189. package/lib/cjs/components/collapse/index.js.map +0 -1
  190. package/lib/cjs/components/collapse/item.js +0 -12
  191. package/lib/cjs/components/collapse/item.js.map +0 -1
  192. package/lib/cjs/components/datagrid/cell.js +0 -34
  193. package/lib/cjs/components/datagrid/cell.js.map +0 -1
  194. package/lib/cjs/components/datagrid/datagrid.js +0 -219
  195. package/lib/cjs/components/datagrid/datagrid.js.map +0 -1
  196. package/lib/cjs/components/datagrid/helper.js +0 -83
  197. package/lib/cjs/components/datagrid/helper.js.map +0 -1
  198. package/lib/cjs/components/datagrid/index.js +0 -10
  199. package/lib/cjs/components/datagrid/index.js.map +0 -1
  200. package/lib/cjs/components/datagrid/resize.js +0 -72
  201. package/lib/cjs/components/datagrid/resize.js.map +0 -1
  202. package/lib/cjs/components/datagrid/row.js +0 -55
  203. package/lib/cjs/components/datagrid/row.js.map +0 -1
  204. package/lib/cjs/components/datagrid/sorter.js +0 -21
  205. package/lib/cjs/components/datagrid/sorter.js.map +0 -1
  206. package/lib/cjs/components/datagrid/virtual.js +0 -283
  207. package/lib/cjs/components/datagrid/virtual.js.map +0 -1
  208. package/lib/cjs/components/description/description.js +0 -36
  209. package/lib/cjs/components/description/description.js.map +0 -1
  210. package/lib/cjs/components/description/index.js +0 -10
  211. package/lib/cjs/components/description/index.js.map +0 -1
  212. package/lib/cjs/components/drawer/drawer.js +0 -77
  213. package/lib/cjs/components/drawer/drawer.js.map +0 -1
  214. package/lib/cjs/components/drawer/index.js +0 -10
  215. package/lib/cjs/components/drawer/index.js.map +0 -1
  216. package/lib/cjs/components/dropdown/dropdown.js +0 -36
  217. package/lib/cjs/components/dropdown/dropdown.js.map +0 -1
  218. package/lib/cjs/components/dropdown/index.js +0 -10
  219. package/lib/cjs/components/dropdown/index.js.map +0 -1
  220. package/lib/cjs/components/dropdown/item.js +0 -38
  221. package/lib/cjs/components/dropdown/item.js.map +0 -1
  222. package/lib/cjs/components/editor/controls.js +0 -64
  223. package/lib/cjs/components/editor/controls.js.map +0 -1
  224. package/lib/cjs/components/editor/editor.js +0 -287
  225. package/lib/cjs/components/editor/editor.js.map +0 -1
  226. package/lib/cjs/components/editor/index.js +0 -10
  227. package/lib/cjs/components/editor/index.js.map +0 -1
  228. package/lib/cjs/components/editor/memtion.js +0 -302
  229. package/lib/cjs/components/editor/memtion.js.map +0 -1
  230. package/lib/cjs/components/flex/flex.js +0 -36
  231. package/lib/cjs/components/flex/flex.js.map +0 -1
  232. package/lib/cjs/components/flex/index.js +0 -10
  233. package/lib/cjs/components/flex/index.js.map +0 -1
  234. package/lib/cjs/components/form/context.js +0 -10
  235. package/lib/cjs/components/form/context.js.map +0 -1
  236. package/lib/cjs/components/form/field.js +0 -81
  237. package/lib/cjs/components/form/field.js.map +0 -1
  238. package/lib/cjs/components/form/form.js +0 -76
  239. package/lib/cjs/components/form/form.js.map +0 -1
  240. package/lib/cjs/components/form/index.js +0 -10
  241. package/lib/cjs/components/form/index.js.map +0 -1
  242. package/lib/cjs/components/form/useConfig.js +0 -38
  243. package/lib/cjs/components/form/useConfig.js.map +0 -1
  244. package/lib/cjs/components/form/useForm.js +0 -127
  245. package/lib/cjs/components/form/useForm.js.map +0 -1
  246. package/lib/cjs/components/form/utils.js +0 -33
  247. package/lib/cjs/components/form/utils.js.map +0 -1
  248. package/lib/cjs/components/icon/icon.js +0 -31
  249. package/lib/cjs/components/icon/icon.js.map +0 -1
  250. package/lib/cjs/components/icon/index.js +0 -10
  251. package/lib/cjs/components/icon/index.js.map +0 -1
  252. package/lib/cjs/components/image/image.js +0 -103
  253. package/lib/cjs/components/image/image.js.map +0 -1
  254. package/lib/cjs/components/image/index.js +0 -10
  255. package/lib/cjs/components/image/index.js.map +0 -1
  256. package/lib/cjs/components/image/list.js +0 -47
  257. package/lib/cjs/components/image/list.js.map +0 -1
  258. package/lib/cjs/components/input/container.js +0 -22
  259. package/lib/cjs/components/input/container.js.map +0 -1
  260. package/lib/cjs/components/input/index.js +0 -10
  261. package/lib/cjs/components/input/index.js.map +0 -1
  262. package/lib/cjs/components/input/input.js +0 -85
  263. package/lib/cjs/components/input/input.js.map +0 -1
  264. package/lib/cjs/components/input/number.js +0 -118
  265. package/lib/cjs/components/input/number.js.map +0 -1
  266. package/lib/cjs/components/input/range.js +0 -82
  267. package/lib/cjs/components/input/range.js.map +0 -1
  268. package/lib/cjs/components/input/textarea.js +0 -64
  269. package/lib/cjs/components/input/textarea.js.map +0 -1
  270. package/lib/cjs/components/list/index.js +0 -10
  271. package/lib/cjs/components/list/index.js.map +0 -1
  272. package/lib/cjs/components/list/item.js +0 -23
  273. package/lib/cjs/components/list/item.js.map +0 -1
  274. package/lib/cjs/components/list/list.js +0 -33
  275. package/lib/cjs/components/list/list.js.map +0 -1
  276. package/lib/cjs/components/loading/index.js +0 -10
  277. package/lib/cjs/components/loading/index.js.map +0 -1
  278. package/lib/cjs/components/loading/loading.js +0 -26
  279. package/lib/cjs/components/loading/loading.js.map +0 -1
  280. package/lib/cjs/components/message/index.js +0 -11
  281. package/lib/cjs/components/message/index.js.map +0 -1
  282. package/lib/cjs/components/message/message.js +0 -239
  283. package/lib/cjs/components/message/message.js.map +0 -1
  284. package/lib/cjs/components/modal/content.js +0 -45
  285. package/lib/cjs/components/modal/content.js.map +0 -1
  286. package/lib/cjs/components/modal/context.js +0 -10
  287. package/lib/cjs/components/modal/context.js.map +0 -1
  288. package/lib/cjs/components/modal/hookModal.js +0 -31
  289. package/lib/cjs/components/modal/hookModal.js.map +0 -1
  290. package/lib/cjs/components/modal/index.js +0 -10
  291. package/lib/cjs/components/modal/index.js.map +0 -1
  292. package/lib/cjs/components/modal/modal.js +0 -140
  293. package/lib/cjs/components/modal/modal.js.map +0 -1
  294. package/lib/cjs/components/modal/modalManager.js +0 -83
  295. package/lib/cjs/components/modal/modalManager.js.map +0 -1
  296. package/lib/cjs/components/modal/useModal.js +0 -38
  297. package/lib/cjs/components/modal/useModal.js.map +0 -1
  298. package/lib/cjs/components/pagination/index.js +0 -10
  299. package/lib/cjs/components/pagination/index.js.map +0 -1
  300. package/lib/cjs/components/pagination/page.js +0 -32
  301. package/lib/cjs/components/pagination/page.js.map +0 -1
  302. package/lib/cjs/components/pagination/pagination.js +0 -52
  303. package/lib/cjs/components/pagination/pagination.js.map +0 -1
  304. package/lib/cjs/components/picker/colors/footer.js +0 -39
  305. package/lib/cjs/components/picker/colors/footer.js.map +0 -1
  306. package/lib/cjs/components/picker/colors/handle.js +0 -18
  307. package/lib/cjs/components/picker/colors/handle.js.map +0 -1
  308. package/lib/cjs/components/picker/colors/index.js +0 -72
  309. package/lib/cjs/components/picker/colors/index.js.map +0 -1
  310. package/lib/cjs/components/picker/daterange/daterange.js +0 -60
  311. package/lib/cjs/components/picker/daterange/daterange.js.map +0 -1
  312. package/lib/cjs/components/picker/daterange/index.js +0 -11
  313. package/lib/cjs/components/picker/daterange/index.js.map +0 -1
  314. package/lib/cjs/components/picker/daterange/panel.js +0 -55
  315. package/lib/cjs/components/picker/daterange/panel.js.map +0 -1
  316. package/lib/cjs/components/picker/dates/dates.js +0 -63
  317. package/lib/cjs/components/picker/dates/dates.js.map +0 -1
  318. package/lib/cjs/components/picker/dates/index.js +0 -73
  319. package/lib/cjs/components/picker/dates/index.js.map +0 -1
  320. package/lib/cjs/components/picker/dates/panel.js +0 -93
  321. package/lib/cjs/components/picker/dates/panel.js.map +0 -1
  322. package/lib/cjs/components/picker/time/index.js +0 -55
  323. package/lib/cjs/components/picker/time/index.js.map +0 -1
  324. package/lib/cjs/components/picker/time/item.js +0 -23
  325. package/lib/cjs/components/picker/time/item.js.map +0 -1
  326. package/lib/cjs/components/picker/time/panel.js +0 -104
  327. package/lib/cjs/components/picker/time/panel.js.map +0 -1
  328. package/lib/cjs/components/popconfirm/index.js +0 -10
  329. package/lib/cjs/components/popconfirm/index.js.map +0 -1
  330. package/lib/cjs/components/popconfirm/popconfirm.js +0 -55
  331. package/lib/cjs/components/popconfirm/popconfirm.js.map +0 -1
  332. package/lib/cjs/components/popup/content.js +0 -51
  333. package/lib/cjs/components/popup/content.js.map +0 -1
  334. package/lib/cjs/components/popup/index.js +0 -10
  335. package/lib/cjs/components/popup/index.js.map +0 -1
  336. package/lib/cjs/components/popup/popup.js +0 -495
  337. package/lib/cjs/components/popup/popup.js.map +0 -1
  338. package/lib/cjs/components/progress/circle.js +0 -16
  339. package/lib/cjs/components/progress/circle.js.map +0 -1
  340. package/lib/cjs/components/progress/index.js +0 -10
  341. package/lib/cjs/components/progress/index.js.map +0 -1
  342. package/lib/cjs/components/progress/line.js +0 -22
  343. package/lib/cjs/components/progress/line.js.map +0 -1
  344. package/lib/cjs/components/progress/progress.js +0 -90
  345. package/lib/cjs/components/progress/progress.js.map +0 -1
  346. package/lib/cjs/components/radio/index.js +0 -10
  347. package/lib/cjs/components/radio/index.js.map +0 -1
  348. package/lib/cjs/components/radio/item.js +0 -25
  349. package/lib/cjs/components/radio/item.js.map +0 -1
  350. package/lib/cjs/components/radio/radio.js +0 -40
  351. package/lib/cjs/components/radio/radio.js.map +0 -1
  352. package/lib/cjs/components/resizable/index.js +0 -10
  353. package/lib/cjs/components/resizable/index.js.map +0 -1
  354. package/lib/cjs/components/resizable/resizable.js +0 -68
  355. package/lib/cjs/components/resizable/resizable.js.map +0 -1
  356. package/lib/cjs/components/river/index.js +0 -10
  357. package/lib/cjs/components/river/index.js.map +0 -1
  358. package/lib/cjs/components/river/river.js +0 -114
  359. package/lib/cjs/components/river/river.js.map +0 -1
  360. package/lib/cjs/components/scroll/index.js +0 -10
  361. package/lib/cjs/components/scroll/index.js.map +0 -1
  362. package/lib/cjs/components/scroll/scroll.js +0 -78
  363. package/lib/cjs/components/scroll/scroll.js.map +0 -1
  364. package/lib/cjs/components/select/index.js +0 -10
  365. package/lib/cjs/components/select/index.js.map +0 -1
  366. package/lib/cjs/components/select/options.js +0 -55
  367. package/lib/cjs/components/select/options.js.map +0 -1
  368. package/lib/cjs/components/select/select.js +0 -103
  369. package/lib/cjs/components/select/select.js.map +0 -1
  370. package/lib/cjs/components/step/divider.js +0 -12
  371. package/lib/cjs/components/step/divider.js.map +0 -1
  372. package/lib/cjs/components/step/index.js +0 -10
  373. package/lib/cjs/components/step/index.js.map +0 -1
  374. package/lib/cjs/components/step/item.js +0 -30
  375. package/lib/cjs/components/step/item.js.map +0 -1
  376. package/lib/cjs/components/step/step.js +0 -44
  377. package/lib/cjs/components/step/step.js.map +0 -1
  378. package/lib/cjs/components/swiper/index.js +0 -10
  379. package/lib/cjs/components/swiper/index.js.map +0 -1
  380. package/lib/cjs/components/swiper/item.js +0 -33
  381. package/lib/cjs/components/swiper/item.js.map +0 -1
  382. package/lib/cjs/components/swiper/swiper.js +0 -241
  383. package/lib/cjs/components/swiper/swiper.js.map +0 -1
  384. package/lib/cjs/components/tabs/contents.js +0 -28
  385. package/lib/cjs/components/tabs/contents.js.map +0 -1
  386. package/lib/cjs/components/tabs/helper.js +0 -68
  387. package/lib/cjs/components/tabs/helper.js.map +0 -1
  388. package/lib/cjs/components/tabs/index.js +0 -10
  389. package/lib/cjs/components/tabs/index.js.map +0 -1
  390. package/lib/cjs/components/tabs/item.js +0 -12
  391. package/lib/cjs/components/tabs/item.js.map +0 -1
  392. package/lib/cjs/components/tabs/navs.js +0 -38
  393. package/lib/cjs/components/tabs/navs.js.map +0 -1
  394. package/lib/cjs/components/tabs/tabs.js +0 -264
  395. package/lib/cjs/components/tabs/tabs.js.map +0 -1
  396. package/lib/cjs/components/tag/index.js +0 -10
  397. package/lib/cjs/components/tag/index.js.map +0 -1
  398. package/lib/cjs/components/tag/tag.js +0 -26
  399. package/lib/cjs/components/tag/tag.js.map +0 -1
  400. package/lib/cjs/components/text/highlight.js +0 -32
  401. package/lib/cjs/components/text/highlight.js.map +0 -1
  402. package/lib/cjs/components/text/index.js +0 -10
  403. package/lib/cjs/components/text/index.js.map +0 -1
  404. package/lib/cjs/components/text/number.js +0 -31
  405. package/lib/cjs/components/text/number.js.map +0 -1
  406. package/lib/cjs/components/text/text.js +0 -42
  407. package/lib/cjs/components/text/text.js.map +0 -1
  408. package/lib/cjs/components/text/time.js +0 -24
  409. package/lib/cjs/components/text/time.js.map +0 -1
  410. package/lib/cjs/components/tree/index.js +0 -10
  411. package/lib/cjs/components/tree/index.js.map +0 -1
  412. package/lib/cjs/components/tree/item.js +0 -80
  413. package/lib/cjs/components/tree/item.js.map +0 -1
  414. package/lib/cjs/components/tree/tree.js +0 -134
  415. package/lib/cjs/components/tree/tree.js.map +0 -1
  416. package/lib/cjs/components/upload/dropbox.js +0 -54
  417. package/lib/cjs/components/upload/dropbox.js.map +0 -1
  418. package/lib/cjs/components/upload/index.js +0 -10
  419. package/lib/cjs/components/upload/index.js.map +0 -1
  420. package/lib/cjs/components/upload/renderFile.js +0 -66
  421. package/lib/cjs/components/upload/renderFile.js.map +0 -1
  422. package/lib/cjs/components/upload/upload.js +0 -163
  423. package/lib/cjs/components/upload/upload.js.map +0 -1
  424. package/lib/cjs/components/utils/empty/index.js +0 -19
  425. package/lib/cjs/components/utils/empty/index.js.map +0 -1
  426. package/lib/cjs/components/utils/helpericon/helpericon.js +0 -32
  427. package/lib/cjs/components/utils/helpericon/helpericon.js.map +0 -1
  428. package/lib/cjs/components/utils/helpericon/index.js +0 -10
  429. package/lib/cjs/components/utils/helpericon/index.js.map +0 -1
  430. package/lib/cjs/components/video/index.js +0 -10
  431. package/lib/cjs/components/video/index.js.map +0 -1
  432. package/lib/cjs/components/video/video.js +0 -181
  433. package/lib/cjs/components/video/video.js.map +0 -1
  434. package/lib/cjs/index.js +0 -92
  435. package/lib/cjs/index.js.map +0 -1
  436. package/lib/cjs/js/hooks.js +0 -272
  437. package/lib/cjs/js/hooks.js.map +0 -1
  438. package/lib/cjs/js/usePreview/content.js +0 -164
  439. package/lib/cjs/js/usePreview/content.js.map +0 -1
  440. package/lib/cjs/js/usePreview/index.js +0 -27
  441. package/lib/cjs/js/usePreview/index.js.map +0 -1
  442. package/lib/cjs/js/usePreview/renderFile.js +0 -24
  443. package/lib/cjs/js/usePreview/renderFile.js.map +0 -1
  444. package/lib/cjs/js/usePreview/type.js +0 -13
  445. package/lib/cjs/js/usePreview/type.js.map +0 -1
  446. package/lib/cjs/js/useRipple/index.js +0 -51
  447. package/lib/cjs/js/useRipple/index.js.map +0 -1
  448. package/lib/cjs/js/useTheme/index.js +0 -155
  449. package/lib/cjs/js/useTheme/index.js.map +0 -1
  450. package/lib/cjs/js/utils.js +0 -302
  451. package/lib/cjs/js/utils.js.map +0 -1
  452. package/lib/css/colors.css +0 -792
  453. package/lib/css/index.css.map +0 -1
  454. package/lib/css/input.css +0 -214
  455. package/lib/css/reset.css +0 -140
  456. package/lib/css/tokens.css +0 -13
  457. package/lib/css/utilities.css +0 -1973
  458. package/lib/es/components/affix/affix.js.map +0 -1
  459. package/lib/es/components/affix/index.js.map +0 -1
  460. package/lib/es/components/affix/totop.js.map +0 -1
  461. package/lib/es/components/badge/badge.js.map +0 -1
  462. package/lib/es/components/badge/index.js.map +0 -1
  463. package/lib/es/components/button/button.js.map +0 -1
  464. package/lib/es/components/button/confirm.js.map +0 -1
  465. package/lib/es/components/button/group.js.map +0 -1
  466. package/lib/es/components/button/index.js.map +0 -1
  467. package/lib/es/components/button/toggle.js.map +0 -1
  468. package/lib/es/components/card/card.js.map +0 -1
  469. package/lib/es/components/card/index.js.map +0 -1
  470. package/lib/es/components/checkbox/checkbox.js.map +0 -1
  471. package/lib/es/components/checkbox/index.js.map +0 -1
  472. package/lib/es/components/checkbox/item.js.map +0 -1
  473. package/lib/es/components/collapse/collapse.js.map +0 -1
  474. package/lib/es/components/collapse/index.js.map +0 -1
  475. package/lib/es/components/collapse/item.js.map +0 -1
  476. package/lib/es/components/datagrid/cell.js.map +0 -1
  477. package/lib/es/components/datagrid/datagrid.js.map +0 -1
  478. package/lib/es/components/datagrid/helper.js.map +0 -1
  479. package/lib/es/components/datagrid/index.js.map +0 -1
  480. package/lib/es/components/datagrid/resize.js.map +0 -1
  481. package/lib/es/components/datagrid/row.js.map +0 -1
  482. package/lib/es/components/datagrid/sorter.js.map +0 -1
  483. package/lib/es/components/datagrid/virtual.js.map +0 -1
  484. package/lib/es/components/description/description.js.map +0 -1
  485. package/lib/es/components/description/index.js.map +0 -1
  486. package/lib/es/components/drawer/drawer.js.map +0 -1
  487. package/lib/es/components/drawer/index.js.map +0 -1
  488. package/lib/es/components/dropdown/dropdown.js.map +0 -1
  489. package/lib/es/components/dropdown/index.js.map +0 -1
  490. package/lib/es/components/dropdown/item.js.map +0 -1
  491. package/lib/es/components/editor/controls.js.map +0 -1
  492. package/lib/es/components/editor/editor.js.map +0 -1
  493. package/lib/es/components/editor/index.js.map +0 -1
  494. package/lib/es/components/editor/memtion.js.map +0 -1
  495. package/lib/es/components/flex/flex.js.map +0 -1
  496. package/lib/es/components/flex/index.js.map +0 -1
  497. package/lib/es/components/form/context.js.map +0 -1
  498. package/lib/es/components/form/field.js.map +0 -1
  499. package/lib/es/components/form/form.js.map +0 -1
  500. package/lib/es/components/form/index.js.map +0 -1
  501. package/lib/es/components/form/useConfig.js.map +0 -1
  502. package/lib/es/components/form/useForm.js.map +0 -1
  503. package/lib/es/components/form/utils.js.map +0 -1
  504. package/lib/es/components/icon/icon.js.map +0 -1
  505. package/lib/es/components/icon/index.js.map +0 -1
  506. package/lib/es/components/image/image.js.map +0 -1
  507. package/lib/es/components/image/index.js.map +0 -1
  508. package/lib/es/components/image/list.js.map +0 -1
  509. package/lib/es/components/input/container.js.map +0 -1
  510. package/lib/es/components/input/index.js.map +0 -1
  511. package/lib/es/components/input/input.js.map +0 -1
  512. package/lib/es/components/input/number.js.map +0 -1
  513. package/lib/es/components/input/range.js.map +0 -1
  514. package/lib/es/components/input/textarea.js.map +0 -1
  515. package/lib/es/components/list/index.js.map +0 -1
  516. package/lib/es/components/list/item.js.map +0 -1
  517. package/lib/es/components/list/list.js.map +0 -1
  518. package/lib/es/components/loading/index.js.map +0 -1
  519. package/lib/es/components/loading/loading.js.map +0 -1
  520. package/lib/es/components/message/index.js.map +0 -1
  521. package/lib/es/components/message/message.js.map +0 -1
  522. package/lib/es/components/modal/content.js.map +0 -1
  523. package/lib/es/components/modal/context.js.map +0 -1
  524. package/lib/es/components/modal/hookModal.js.map +0 -1
  525. package/lib/es/components/modal/index.js.map +0 -1
  526. package/lib/es/components/modal/modal.js.map +0 -1
  527. package/lib/es/components/modal/modalManager.js.map +0 -1
  528. package/lib/es/components/modal/useModal.js.map +0 -1
  529. package/lib/es/components/pagination/index.js.map +0 -1
  530. package/lib/es/components/pagination/page.js.map +0 -1
  531. package/lib/es/components/pagination/pagination.js.map +0 -1
  532. package/lib/es/components/picker/colors/footer.js.map +0 -1
  533. package/lib/es/components/picker/colors/handle.js.map +0 -1
  534. package/lib/es/components/picker/colors/index.js.map +0 -1
  535. package/lib/es/components/picker/daterange/daterange.js.map +0 -1
  536. package/lib/es/components/picker/daterange/index.js.map +0 -1
  537. package/lib/es/components/picker/daterange/panel.js.map +0 -1
  538. package/lib/es/components/picker/dates/dates.js.map +0 -1
  539. package/lib/es/components/picker/dates/index.js.map +0 -1
  540. package/lib/es/components/picker/dates/panel.js.map +0 -1
  541. package/lib/es/components/picker/time/index.js.map +0 -1
  542. package/lib/es/components/picker/time/item.js.map +0 -1
  543. package/lib/es/components/picker/time/panel.js.map +0 -1
  544. package/lib/es/components/popconfirm/index.js.map +0 -1
  545. package/lib/es/components/popconfirm/popconfirm.js.map +0 -1
  546. package/lib/es/components/popup/content.js.map +0 -1
  547. package/lib/es/components/popup/index.js.map +0 -1
  548. package/lib/es/components/popup/popup.js.map +0 -1
  549. package/lib/es/components/progress/circle.js.map +0 -1
  550. package/lib/es/components/progress/index.js.map +0 -1
  551. package/lib/es/components/progress/line.js.map +0 -1
  552. package/lib/es/components/progress/progress.js.map +0 -1
  553. package/lib/es/components/radio/index.js.map +0 -1
  554. package/lib/es/components/radio/item.js.map +0 -1
  555. package/lib/es/components/radio/radio.js.map +0 -1
  556. package/lib/es/components/resizable/index.js.map +0 -1
  557. package/lib/es/components/resizable/resizable.js.map +0 -1
  558. package/lib/es/components/river/index.js.map +0 -1
  559. package/lib/es/components/river/river.js.map +0 -1
  560. package/lib/es/components/scroll/index.js.map +0 -1
  561. package/lib/es/components/scroll/scroll.js.map +0 -1
  562. package/lib/es/components/select/index.js.map +0 -1
  563. package/lib/es/components/select/options.js.map +0 -1
  564. package/lib/es/components/select/select.js.map +0 -1
  565. package/lib/es/components/step/divider.js.map +0 -1
  566. package/lib/es/components/step/index.js.map +0 -1
  567. package/lib/es/components/step/item.js.map +0 -1
  568. package/lib/es/components/step/step.js.map +0 -1
  569. package/lib/es/components/swiper/index.js.map +0 -1
  570. package/lib/es/components/swiper/item.js.map +0 -1
  571. package/lib/es/components/swiper/swiper.js.map +0 -1
  572. package/lib/es/components/tabs/contents.js.map +0 -1
  573. package/lib/es/components/tabs/helper.js.map +0 -1
  574. package/lib/es/components/tabs/index.js.map +0 -1
  575. package/lib/es/components/tabs/item.js.map +0 -1
  576. package/lib/es/components/tabs/navs.js.map +0 -1
  577. package/lib/es/components/tabs/tabs.js.map +0 -1
  578. package/lib/es/components/tag/index.js.map +0 -1
  579. package/lib/es/components/tag/tag.js.map +0 -1
  580. package/lib/es/components/text/highlight.js.map +0 -1
  581. package/lib/es/components/text/index.js.map +0 -1
  582. package/lib/es/components/text/number.js.map +0 -1
  583. package/lib/es/components/text/text.js.map +0 -1
  584. package/lib/es/components/text/time.js.map +0 -1
  585. package/lib/es/components/tree/index.js.map +0 -1
  586. package/lib/es/components/tree/item.js.map +0 -1
  587. package/lib/es/components/tree/tree.js.map +0 -1
  588. package/lib/es/components/upload/dropbox.js.map +0 -1
  589. package/lib/es/components/upload/index.js.map +0 -1
  590. package/lib/es/components/upload/renderFile.js.map +0 -1
  591. package/lib/es/components/upload/upload.js.map +0 -1
  592. package/lib/es/components/utils/empty/index.js.map +0 -1
  593. package/lib/es/components/utils/helpericon/helpericon.js.map +0 -1
  594. package/lib/es/components/utils/helpericon/index.js.map +0 -1
  595. package/lib/es/components/video/index.js.map +0 -1
  596. package/lib/es/components/video/video.js.map +0 -1
  597. package/lib/es/index.js.map +0 -1
  598. package/lib/es/js/hooks.js.map +0 -1
  599. package/lib/es/js/usePreview/content.js.map +0 -1
  600. package/lib/es/js/usePreview/index.js.map +0 -1
  601. package/lib/es/js/usePreview/renderFile.js.map +0 -1
  602. package/lib/es/js/usePreview/type.js.map +0 -1
  603. package/lib/es/js/useRipple/index.js.map +0 -1
  604. package/lib/es/js/useTheme/index.js.map +0 -1
  605. package/lib/es/js/utils.js.map +0 -1
@@ -1,239 +0,0 @@
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 radash = require('radash');
8
- var react = require('react');
9
- var hooks = require('../../js/hooks.js');
10
-
11
- function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e.default : e; }
12
-
13
- var classNames__default = /*#__PURE__*/_interopDefaultCompat(classNames);
14
-
15
- const AlignMap = {
16
- left: "flex-start",
17
- center: "center",
18
- right: "flex-end",
19
- };
20
- const ContainerConfig = {
21
- align: "center",
22
- fromBottom: false,
23
- unshift: false,
24
- gap: 12,
25
- offset: "12px",
26
- duration: 3000,
27
- };
28
- const handler = {
29
- oneInstance: null,
30
- callout(item) { },
31
- close() { },
32
- };
33
- const queue = {
34
- left: [],
35
- center: [],
36
- right: [],
37
- };
38
- const heights = {
39
- left: [],
40
- center: [],
41
- right: [],
42
- };
43
- const MessageItem = function ({ ref, active, content, top, bottom, className, style, onClick, }) {
44
- return (jsxRuntime.jsx("div", { ref: ref, className: classNames__default("i-message", className, {
45
- "i-message-active": active,
46
- }), style: {
47
- ...style,
48
- ...(bottom !== undefined ? { bottom } : { top }),
49
- }, onClick: onClick, children: content }));
50
- };
51
- function Messages() {
52
- const ref = react.useRef(null);
53
- const state = hooks.useReactive({
54
- items: {
55
- left: [],
56
- center: [],
57
- right: [],
58
- },
59
- tops: {
60
- left: [],
61
- center: [],
62
- right: [],
63
- },
64
- });
65
- react.useEffect(() => {
66
- Object.assign(handler, {
67
- callout: function (item) {
68
- const { align = "center", unshift, onShow } = item;
69
- queue[align][unshift ? "unshift" : "push"](item);
70
- state.items[align] = [...queue[align]];
71
- item.close = this.close.bind(item);
72
- // Pre-fill 0-height placeholder so heights stays index-aligned with queue
73
- if (unshift) {
74
- heights[align].unshift(0);
75
- }
76
- else {
77
- heights[align].push(0);
78
- }
79
- state.tops[align] = [...heights[align]];
80
- requestAnimationFrame(() => {
81
- const h = ref.current?.offsetHeight || 0;
82
- const idx = queue[align].findIndex((i) => i.id === item.id);
83
- if (idx < 0)
84
- return;
85
- queue[align][idx].active = true;
86
- state.items[align] = [...queue[align]];
87
- heights[align][idx] = h;
88
- state.tops[align] = [...heights[align]];
89
- onShow?.();
90
- });
91
- if (item.duration !== 0) {
92
- item.timer = setTimeout(() => {
93
- this.close.call(item);
94
- }, item.duration);
95
- }
96
- },
97
- close: function () {
98
- const item = this;
99
- const { align = "center", onHide } = item;
100
- const index = queue[align].findIndex((i) => i.id === item.id);
101
- if (index < 0)
102
- return;
103
- queue[align][index].active = false;
104
- state.items[align] = [...queue[align]];
105
- item.timer = setTimeout(() => {
106
- const index = queue[align].findIndex((i) => i.id === item.id);
107
- queue[align].splice(index, 1);
108
- heights[align].splice(index, 1);
109
- state.tops[align] = [...heights[align]];
110
- state.items[align] = [...queue[align]];
111
- item.timer && clearTimeout(item.timer);
112
- onHide?.();
113
- }, 240);
114
- },
115
- });
116
- }, []);
117
- const renderGroup = (align) => {
118
- const items = state.items[align];
119
- const tops = state.tops[align];
120
- const gap = ContainerConfig.gap;
121
- if (ContainerConfig.fromBottom) {
122
- // bottom-up: calculate bottom-edge positions
123
- let offset = 0;
124
- const bottoms = [];
125
- for (let i = items.length - 1; i >= 0; i--) {
126
- bottoms[i] = offset;
127
- offset += (tops[i] || 0) + gap;
128
- }
129
- return items.map((item, i) => {
130
- if (!item)
131
- return jsxRuntime.jsx(jsxRuntime.Fragment, {});
132
- const { id, active, content, className, style: itemStyle } = item;
133
- return (jsxRuntime.jsx(MessageItem, { ref: ref, active: active, content: content, bottom: bottoms[i], className: className, style: {
134
- ...itemStyle,
135
- alignSelf: AlignMap[align],
136
- }, onClick: handler.close.bind(item) }, id));
137
- });
138
- }
139
- // top-down (default)
140
- let offset = 0;
141
- return items.map((item, i) => {
142
- if (!item)
143
- return jsxRuntime.jsx(jsxRuntime.Fragment, {});
144
- const { id, active, content, className, style: itemStyle } = item;
145
- const top = offset;
146
- offset += (tops[i] || 0) + gap;
147
- return (jsxRuntime.jsx(MessageItem, { ref: ref, active: active, content: content, top: top, className: className, style: {
148
- ...itemStyle,
149
- alignSelf: AlignMap[align],
150
- }, onClick: handler.close.bind(item) }, id));
151
- });
152
- };
153
- return (jsxRuntime.jsxs("div", { className: "i-messages", style: {
154
- margin: ContainerConfig.offset,
155
- }, children: [renderGroup("left"), renderGroup("center"), renderGroup("right")] }));
156
- }
157
- function message(config) {
158
- if (typeof config !== "object" || react.isValidElement(config)) {
159
- config = { content: config };
160
- }
161
- const msg = {
162
- id: radash.uid(7),
163
- active: false,
164
- align: ContainerConfig.align,
165
- duration: ContainerConfig.duration,
166
- closable: true,
167
- unshift: ContainerConfig.unshift,
168
- ...config,
169
- };
170
- handler.callout(msg);
171
- return {
172
- instance: msg,
173
- close: handler.close.bind(msg),
174
- };
175
- }
176
- message.error = (content) => {
177
- return message({
178
- content,
179
- className: "bg-error",
180
- });
181
- };
182
- message.success = (content) => {
183
- return message({
184
- content,
185
- className: "bg-success",
186
- });
187
- };
188
- message.warning = (content) => {
189
- return message({
190
- content,
191
- className: "bg-warning",
192
- });
193
- };
194
- message.info = (content) => {
195
- return message({
196
- content,
197
- className: "bg-blue",
198
- });
199
- };
200
- message.one = (config) => {
201
- const o = handler.oneInstance;
202
- if (o) {
203
- if (o.active && o.duration !== 0) {
204
- clearTimeout(o.timer);
205
- o.timer = setTimeout(() => {
206
- o.close?.();
207
- }, o.duration);
208
- }
209
- else {
210
- handler.callout(o);
211
- }
212
- }
213
- else {
214
- const { instance } = message(config);
215
- handler.oneInstance = instance;
216
- }
217
- };
218
- function MessageContainer({ align = "center", fromBottom = false, unshift = false, gap = 12, offset = "12px", duration = 3000, }) {
219
- ContainerConfig.align = align;
220
- ContainerConfig.fromBottom = fromBottom;
221
- ContainerConfig.unshift = unshift;
222
- ContainerConfig.gap = gap;
223
- ContainerConfig.offset = offset;
224
- ContainerConfig.duration = duration;
225
- return null;
226
- }
227
- // 默认 Portal 到 document.body(仅在客户端执行,避免 SSR 问题)
228
- if (typeof document !== "undefined") {
229
- import('react-dom/client').then(({ createRoot }) => {
230
- const container = document.createElement("div");
231
- container.dataset.id = "messages";
232
- document.body.append(container);
233
- createRoot(container).render(jsxRuntime.jsx(Messages, {}));
234
- });
235
- }
236
-
237
- exports.MessageContainer = MessageContainer;
238
- exports.default = message;
239
- //# sourceMappingURL=message.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"message.js","sources":["../../../../packages/components/message/message.tsx"],"sourcesContent":["import classNames from \"classnames\";\nimport { uid } from \"radash\";\nimport { ReactNode, isValidElement, useEffect, useRef } from \"react\";\nimport { useReactive } from \"../../js/hooks\";\nimport \"./index.css\";\nimport type {\n\tIMessage,\n\tIMessageConfig,\n\tIMessageContainerProps,\n\tIMessageItem,\n\tTHeights,\n\tTMessageQueue,\n} from \"./type\";\n\nconst AlignMap = {\n\tleft: \"flex-start\",\n\tcenter: \"center\",\n\tright: \"flex-end\",\n};\n\nconst ContainerConfig = {\n\talign: \"center\",\n\tfromBottom: false,\n\tunshift: false,\n\tgap: 12,\n\toffset: \"12px\",\n\tduration: 3000,\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\tbottom,\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\t...(bottom !== undefined ? { bottom } : { top }),\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\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\tqueue[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\t// Pre-fill 0-height placeholder so heights stays index-aligned with queue\n\t\t\t\tif (unshift) {\n\t\t\t\t\theights[align].unshift(0);\n\t\t\t\t} else {\n\t\t\t\t\theights[align].push(0);\n\t\t\t\t}\n\t\t\t\tstate.tops[align] = [...heights[align]];\n\n\t\t\t\trequestAnimationFrame(() => {\n\t\t\t\t\tconst h = ref.current?.offsetHeight || 0;\n\t\t\t\t\tconst idx = queue[align].findIndex((i) => i.id === item.id);\n\t\t\t\t\tif (idx < 0) return;\n\n\t\t\t\t\tqueue[align][idx].active = true;\n\t\t\t\t\tstate.items[align] = [...queue[align]];\n\t\t\t\t\theights[align][idx] = h;\n\t\t\t\t\tstate.tops[align] = [...heights[align]];\n\t\t\t\t\tonShow?.();\n\t\t\t\t});\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 unknown 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 renderGroup = (align: string) => {\n\t\tconst items = state.items[align];\n\t\tconst tops = state.tops[align];\n\t\tconst gap = ContainerConfig.gap;\n\n\t\tif (ContainerConfig.fromBottom) {\n\t\t\t// bottom-up: calculate bottom-edge positions\n\t\t\tlet offset = 0;\n\t\t\tconst bottoms: number[] = [];\n\t\t\tfor (let i = items.length - 1; i >= 0; i--) {\n\t\t\t\tbottoms[i] = offset;\n\t\t\t\toffset += (tops[i] || 0) + gap;\n\t\t\t}\n\n\t\t\treturn items.map((item: IMessage, i: number) => {\n\t\t\t\tif (!item) return <></>;\n\n\t\t\t\tconst { id, active, content, className, style: itemStyle } =\n\t\t\t\t\titem;\n\n\t\t\t\treturn (\n\t\t\t\t\t<MessageItem\n\t\t\t\t\t\tkey={id}\n\t\t\t\t\t\tref={ref}\n\t\t\t\t\t\tactive={active}\n\t\t\t\t\t\tcontent={content}\n\t\t\t\t\t\tbottom={bottoms[i]}\n\t\t\t\t\t\tclassName={className}\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t...itemStyle,\n\t\t\t\t\t\t\talignSelf: AlignMap[align],\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tonClick={handler.close.bind(item)}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t});\n\t\t}\n\n\t\t// top-down (default)\n\t\tlet offset = 0;\n\t\treturn items.map((item: IMessage, i: number) => {\n\t\t\tif (!item) return <></>;\n\n\t\t\tconst { id, active, content, className, style: itemStyle } = item;\n\t\t\tconst top = offset;\n\n\t\t\toffset += (tops[i] || 0) + gap;\n\n\t\t\treturn (\n\t\t\t\t<MessageItem\n\t\t\t\t\tkey={id}\n\t\t\t\t\tref={ref}\n\t\t\t\t\tactive={active}\n\t\t\t\t\tcontent={content}\n\t\t\t\t\ttop={top}\n\t\t\t\t\tclassName={className}\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\t...itemStyle,\n\t\t\t\t\t\talignSelf: AlignMap[align],\n\t\t\t\t\t}}\n\t\t\t\t\tonClick={handler.close.bind(item)}\n\t\t\t\t/>\n\t\t\t);\n\t\t});\n\t};\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"i-messages\"\n\t\t\tstyle={{\n\t\t\t\tmargin: ContainerConfig.offset,\n\t\t\t}}\n\t\t>\n\t\t\t{renderGroup(\"left\")}\n\t\t\t{renderGroup(\"center\")}\n\t\t\t{renderGroup(\"right\")}\n\t\t</div>\n\t);\n}\n\nfunction message(config: IMessageConfig | ReactNode) {\n\tif (typeof config !== \"object\" || isValidElement(config as ReactNode)) {\n\t\tconfig = { content: config as ReactNode };\n\t}\n\n\tconst msg: IMessage = {\n\t\tid: uid(7),\n\t\tactive: false,\n\t\talign: ContainerConfig.align,\n\t\tduration: ContainerConfig.duration,\n\t\tclosable: true,\n\t\tunshift: ContainerConfig.unshift,\n\t\t...(config as IMessageConfig),\n\t};\n\n\thandler.callout(msg);\n\n\treturn {\n\t\tinstance: msg,\n\t\tclose: handler.close.bind(msg),\n\t};\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: IMessageConfig) => {\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\nfunction MessageContainer({\n\talign = \"center\",\n\tfromBottom = false,\n\tunshift = false,\n\tgap = 12,\n\toffset = \"12px\",\n\tduration = 3000,\n}: IMessageContainerProps) {\n\tContainerConfig.align = align;\n\tContainerConfig.fromBottom = fromBottom;\n\tContainerConfig.unshift = unshift;\n\tContainerConfig.gap = gap;\n\tContainerConfig.offset = offset;\n\tContainerConfig.duration = duration;\n\n\treturn null;\n}\n\n// 默认 Portal 到 document.body(仅在客户端执行,避免 SSR 问题)\nif (typeof document !== \"undefined\") {\n\timport(\"react-dom/client\").then(({ createRoot }) => {\n\t\tconst container = document.createElement(\"div\");\n\t\tcontainer.dataset.id = \"messages\";\n\t\tdocument.body.append(container);\n\t\tcreateRoot(container).render(<Messages />);\n\t});\n}\n\nexport { MessageContainer };\nexport default message;\n"],"names":["_jsx","classNames","useRef","useReactive","useEffect","_jsxs","isValidElement","uid"],"mappings":"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"}
@@ -1,45 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var jsxRuntime = require('react/jsx-runtime');
6
- var react = require('react');
7
- var button = require('../button/button.js');
8
- var helpericon = require('../utils/helpericon/helpericon.js');
9
-
10
- const Content$1 = (props) => {
11
- const { title, footer, hideCloseButton, footerLeft, okButtonProps, cancelButtonProps, children, onOk, onClose, } = props;
12
- const showHeader = title || !hideCloseButton;
13
- const [loading, setLoading] = react.useState(false);
14
- const handleOk = async () => {
15
- setLoading(true);
16
- try {
17
- const ret = await onOk?.();
18
- if (ret === false)
19
- return;
20
- onClose?.();
21
- }
22
- finally {
23
- setLoading(false);
24
- }
25
- };
26
- const renderFooter = react.useMemo(() => {
27
- if (footer || footer === null)
28
- return footer;
29
- const propsOk = Object.assign({
30
- children: "确定",
31
- onClick: handleOk,
32
- }, okButtonProps, { loading });
33
- const propsCancel = Object.assign({
34
- secondary: true,
35
- children: "关闭",
36
- onClick: onClose,
37
- }, cancelButtonProps);
38
- return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [footerLeft, jsxRuntime.jsx(button.default, { ...propsOk }), jsxRuntime.jsx(button.default, { ...propsCancel })] }));
39
- }, [footer, okButtonProps, cancelButtonProps, loading]);
40
- return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [showHeader && (jsxRuntime.jsxs("header", { className: 'i-modal-header', children: [title && jsxRuntime.jsx("b", { children: title }), jsxRuntime.jsx(helpericon.default, { active: !hideCloseButton, className: 'i-modal-close', onClick: onClose })] })), jsxRuntime.jsx("div", { className: 'i-modal-content', children: children }), jsxRuntime.jsx("footer", { className: 'i-modal-footer', children: renderFooter })] }));
41
- };
42
- var Content = react.memo(Content$1);
43
-
44
- exports.default = Content;
45
- //# sourceMappingURL=content.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"content.js","sources":["../../../../packages/components/modal/content.tsx"],"sourcesContent":["import { memo, useMemo, useState } from \"react\";\nimport Button from \"../button\";\nimport Helpericon from \"../utils/helpericon\";\nimport \"./index.css\";\nimport { IModalContent } from \"./type\";\n\nconst 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 [loading, setLoading] = useState(false);\n\n\tconst handleOk = async () => {\n\t\tsetLoading(true);\n\t\ttry {\n\t\t\tconst ret = await onOk?.();\n\n\t\t\tif (ret === false) return;\n\n\t\t\tonClose?.();\n\t\t} finally {\n\t\t\tsetLoading(false);\n\t\t}\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\t{ loading }\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, loading]);\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\nexport default memo(Content);\n"],"names":["Content","useState","useMemo","_jsxs","_Fragment","_jsx","Button","Helpericon","memo"],"mappings":";;;;;;;;;AAMA,MAAMA,SAAO,GAAG,CAAC,KAAoB,KAAI;IACxC,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;IAE5C,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAGC,cAAQ,CAAC,KAAK,CAAC;AAE7C,IAAA,MAAM,QAAQ,GAAG,YAAW;QAC3B,UAAU,CAAC,IAAI,CAAC;AAChB,QAAA,IAAI;AACH,YAAA,MAAM,GAAG,GAAG,MAAM,IAAI,IAAI;YAE1B,IAAI,GAAG,KAAK,KAAK;gBAAE;YAEnB,OAAO,IAAI;QACZ;gBAAU;YACT,UAAU,CAAC,KAAK,CAAC;QAClB;AACD,IAAA,CAAC;AAED,IAAA,MAAM,YAAY,GAAGC,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;AACjB,SAAA,EACD,aAAa,EACb,EAAE,OAAO,EAAE,CACX;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,EAAE,OAAO,CAAC,CAAC;IAEvD,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,CAAC;AAED,cAAeG,UAAI,CAACR,SAAO,CAAC;;;;"}
@@ -1,10 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var react = require('react');
6
-
7
- const ModalContext = react.createContext(false);
8
-
9
- exports.default = ModalContext;
10
- //# sourceMappingURL=context.js.map
@@ -1 +0,0 @@
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;;;;"}
@@ -1,31 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var jsxRuntime = require('react/jsx-runtime');
6
- var react = require('react');
7
- var hooks = require('../../js/hooks.js');
8
- var modal = require('./modal.js');
9
-
10
- const HookModal = (props) => {
11
- const { ref, ...restProps } = props;
12
- const state = hooks.useReactive({});
13
- const mergedProps = Object.assign({}, restProps, state);
14
- react.useImperativeHandle(ref, () => ({
15
- update: (config = {}) => {
16
- Object.assign(state, config);
17
- },
18
- close: () => {
19
- state.visible = false;
20
- if (mergedProps.closable ?? true)
21
- return;
22
- Promise.resolve().then(() => {
23
- state.visible = true;
24
- });
25
- },
26
- }));
27
- return jsxRuntime.jsx(modal.default, { ...mergedProps });
28
- };
29
-
30
- exports.default = HookModal;
31
- //# sourceMappingURL=hookModal.js.map
@@ -1 +0,0 @@
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 props: IModal & { ref?: RefObject<RefHookModal | null> },\n) => {\n const { ref, ...restProps } = props;\n const state = useReactive<IModal>({});\n\n const mergedProps = Object.assign({}, restProps, state);\n\n useImperativeHandle(ref, () => ({\n update: (config: IModal = {}) => {\n Object.assign(state, config);\n },\n\n close: () => {\n state.visible = false;\n\n if (mergedProps.closable ?? true) return;\n Promise.resolve().then(() => {\n state.visible = true;\n });\n },\n }));\n\n return <Modal {...mergedProps} />;\n};\n\nexport default HookModal;\n"],"names":["useReactive","useImperativeHandle","_jsx","Modal"],"mappings":";;;;;;;;;AAMA,MAAM,SAAS,GAAG,CACd,KAAwD,KACxD;IACA,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;AAC5B,QAAA,MAAM,EAAE,CAAC,MAAA,GAAiB,EAAE,KAAI;AAC5B,YAAA,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC;QAChC,CAAC;QAED,KAAK,EAAE,MAAK;AACR,YAAA,KAAK,CAAC,OAAO,GAAG,KAAK;AAErB,YAAA,IAAI,WAAW,CAAC,QAAQ,IAAI,IAAI;gBAAE;AAClC,YAAA,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,MAAK;AACxB,gBAAA,KAAK,CAAC,OAAO,GAAG,IAAI;AACxB,YAAA,CAAC,CAAC;QACN,CAAC;AACJ,KAAA,CAAC,CAAC;AAEH,IAAA,OAAOC,cAAA,CAACC,aAAK,EAAA,EAAA,GAAK,WAAW,GAAI;AACrC;;;;"}
@@ -1,10 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var modal = require('./modal.js');
6
-
7
-
8
-
9
- exports.default = modal.default;
10
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
@@ -1,140 +0,0 @@
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 reactDom = require('react-dom');
9
- var hooks = require('../../js/hooks.js');
10
- var content = require('./content.js');
11
- var context = require('./context.js');
12
- var modalManager = require('./modalManager.js');
13
- var useModal = require('./useModal.js');
14
-
15
- function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e.default : e; }
16
-
17
- var classNames__default = /*#__PURE__*/_interopDefaultCompat(classNames);
18
-
19
- let midCounter = 0;
20
- function Modal(props) {
21
- const { visible, title, footer, okButtonProps, cancelButtonProps, closable = true, hideBackdrop, backdropClosable = true, hideCloseButton, disableEsc, width, height, customized, fixed, hideShadow, children, style, className, keepDOM, footerLeft, onClick, onVisibleChange, onClose, onOk, ...restProps } = props;
22
- const midRef = react.useRef(`modal-${++midCounter}`);
23
- const mid = midRef.current;
24
- const [show, setShow] = react.useState(visible);
25
- const [active, setActive] = react.useState(false);
26
- const [bounced, setBounced] = react.useState(false);
27
- const [mounted, setMounted] = react.useState(false);
28
- const [top, setTop] = react.useState(false);
29
- const toggable = react.useRef(true);
30
- const layerRef = react.useRef(null);
31
- const handleShow = react.useCallback(() => {
32
- if (!toggable.current)
33
- return;
34
- if (!keepDOM || !show)
35
- setShow(true);
36
- toggable.current = false;
37
- modalManager.updateVisible(mid, true);
38
- const raf = requestAnimationFrame(() => {
39
- if (!layerRef.current) {
40
- requestAnimationFrame(() => {
41
- setActive(true);
42
- onVisibleChange?.(true);
43
- toggable.current = true;
44
- });
45
- return;
46
- }
47
- setActive(true);
48
- onVisibleChange?.(true);
49
- toggable.current = true;
50
- });
51
- return () => cancelAnimationFrame(raf);
52
- }, [keepDOM, show, onVisibleChange]);
53
- const handleHide = react.useCallback(() => {
54
- if (!toggable.current)
55
- return;
56
- toggable.current = false;
57
- if (!closable) {
58
- setBounced(true);
59
- const timer = setTimeout(() => {
60
- setBounced(false);
61
- toggable.current = true;
62
- }, 400);
63
- return () => clearTimeout(timer);
64
- }
65
- setActive(false);
66
- modalManager.updateVisible(mid, false);
67
- const timer = setTimeout(() => {
68
- if (!keepDOM)
69
- setShow(false);
70
- toggable.current = true;
71
- onVisibleChange?.(false);
72
- onClose?.();
73
- }, 240);
74
- return () => clearTimeout(timer);
75
- }, [closable, keepDOM, onClose, onVisibleChange]);
76
- const handleBackdropClick = () => {
77
- backdropClosable && handleHide();
78
- };
79
- react.useEffect(() => {
80
- const unsub = modalManager.subscribe(() => {
81
- setTop(modalManager.isTop(mid));
82
- });
83
- return unsub;
84
- }, []);
85
- react.useEffect(() => {
86
- const unregister = modalManager.register({
87
- mid,
88
- visible: !!visible,
89
- hideBackdrop: !!hideBackdrop,
90
- closable: !!closable,
91
- });
92
- return unregister;
93
- }, []);
94
- react.useEffect(() => {
95
- visible ? handleShow() : handleHide();
96
- }, [visible]);
97
- react.useEffect(() => {
98
- if (!show)
99
- return;
100
- const raf = requestAnimationFrame(() => {
101
- setActive(top);
102
- });
103
- return () => cancelAnimationFrame(raf);
104
- }, [top]);
105
- react.useEffect(() => {
106
- setMounted(true);
107
- }, []);
108
- hooks.useKeydown((e) => {
109
- if (e.code !== "Escape" || !visible || !top)
110
- return;
111
- handleHide();
112
- }, { disabled: disableEsc });
113
- const handleClick = () => {
114
- if (typeof document === "undefined")
115
- return;
116
- document.documentElement.click();
117
- };
118
- if (!show || !mounted)
119
- return null;
120
- return reactDom.createPortal(jsxRuntime.jsx("div", { ref: layerRef, className: classNames__default("i-modal-layer", {
121
- "i-modal-active": active,
122
- "i-modal-customized": customized,
123
- "i-modal-hide-backdrop": hideBackdrop,
124
- fixed,
125
- }, className), style: style, onClick: handleBackdropClick, children: jsxRuntime.jsx("div", { className: classNames__default("i-modal", {
126
- bounced,
127
- shadow: !hideShadow,
128
- }), style: {
129
- width,
130
- height,
131
- }, onClick: (e) => {
132
- e.stopPropagation();
133
- handleClick();
134
- onClick?.(e);
135
- }, role: "dialog", "aria-modal": top, "data-mid": mid, ...restProps, children: jsxRuntime.jsxs(context.default.Provider, { value: true, children: [customized && children, !customized && (jsxRuntime.jsx(content.default, { title: title, hideCloseButton: hideCloseButton, footer: footer, okButtonProps: okButtonProps, cancelButtonProps: cancelButtonProps, children: children, footerLeft: footerLeft, onOk: onOk, onClose: handleHide }))] }) }) }), modalManager.getContainer());
136
- }
137
- Modal.useModal = useModal.default;
138
-
139
- exports.default = Modal;
140
- //# sourceMappingURL=modal.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"modal.js","sources":["../../../../packages/components/modal/modal.tsx"],"sourcesContent":["import classNames from \"classnames\";\nimport { useCallback, 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 {\n getContainer,\n isTop,\n register,\n subscribe,\n updateVisible,\n} from \"./modalManager\";\nimport { CompositionModal, IModal } from \"./type\";\nimport useModal from \"./useModal\";\n\nlet midCounter = 0;\n\nfunction Modal(props: IModal) {\n const {\n visible,\n title,\n footer,\n okButtonProps,\n cancelButtonProps,\n closable = true,\n hideBackdrop,\n backdropClosable = true,\n hideCloseButton,\n disableEsc,\n width,\n height,\n customized,\n fixed,\n hideShadow,\n children,\n style,\n className,\n keepDOM,\n footerLeft,\n onClick,\n onVisibleChange,\n onClose,\n onOk,\n ...restProps\n } = props;\n\n const midRef = useRef(`modal-${++midCounter}`);\n const mid = midRef.current;\n\n const [show, setShow] = useState(visible);\n const [active, setActive] = useState(false);\n const [bounced, setBounced] = useState(false);\n const [mounted, setMounted] = useState(false);\n const [top, setTop] = useState(false);\n const toggable = useRef(true);\n const layerRef = useRef(null);\n\n const handleShow = useCallback(() => {\n if (!toggable.current) return;\n\n if (!keepDOM || !show) setShow(true);\n toggable.current = false;\n\n updateVisible(mid, true);\n\n const raf = requestAnimationFrame(() => {\n if (!layerRef.current) {\n requestAnimationFrame(() => {\n setActive(true);\n onVisibleChange?.(true);\n toggable.current = true;\n });\n return;\n }\n setActive(true);\n onVisibleChange?.(true);\n toggable.current = true;\n });\n\n return () => cancelAnimationFrame(raf);\n }, [keepDOM, show, onVisibleChange]);\n\n const handleHide = useCallback(() => {\n if (!toggable.current) return;\n toggable.current = false;\n\n if (!closable) {\n setBounced(true);\n const timer = setTimeout(() => {\n setBounced(false);\n toggable.current = true;\n }, 400);\n return () => clearTimeout(timer);\n }\n\n setActive(false);\n updateVisible(mid, false);\n const timer = setTimeout(() => {\n if (!keepDOM) setShow(false);\n toggable.current = true;\n onVisibleChange?.(false);\n onClose?.();\n }, 240);\n\n return () => clearTimeout(timer);\n }, [closable, keepDOM, onClose, onVisibleChange]);\n\n const handleBackdropClick = () => {\n backdropClosable && handleHide();\n };\n\n useEffect(() => {\n const unsub = subscribe(() => {\n setTop(isTop(mid));\n });\n return unsub;\n }, []);\n\n useEffect(() => {\n const unregister = register({\n mid,\n visible: !!visible,\n hideBackdrop: !!hideBackdrop,\n closable: !!closable,\n });\n return unregister;\n }, []);\n\n useEffect(() => {\n visible ? handleShow() : handleHide();\n }, [visible]);\n\n useEffect(() => {\n if (!show) return;\n const raf = requestAnimationFrame(() => {\n setActive(top);\n });\n return () => cancelAnimationFrame(raf);\n }, [top]);\n\n useEffect(() => {\n setMounted(true);\n }, []);\n\n useKeydown(\n (e) => {\n if (e.code !== \"Escape\" || !visible || !top) return;\n handleHide();\n },\n { disabled: disableEsc },\n );\n\n const handleClick = () => {\n if (typeof document === \"undefined\") return;\n document.documentElement.click();\n };\n\n if (!show || !mounted) return null;\n\n return createPortal(\n <div\n ref={layerRef}\n className={classNames(\n \"i-modal-layer\",\n {\n \"i-modal-active\": active,\n \"i-modal-customized\": customized,\n \"i-modal-hide-backdrop\": hideBackdrop,\n fixed,\n },\n className,\n )}\n style={style}\n onClick={handleBackdropClick}\n >\n <div\n className={classNames(\"i-modal\", {\n bounced,\n shadow: !hideShadow,\n })}\n style={{\n width,\n height,\n }}\n onClick={(e) => {\n e.stopPropagation();\n handleClick();\n onClick?.(e);\n }}\n role=\"dialog\"\n aria-modal={top}\n data-mid={mid}\n {...restProps}\n >\n <ModalContext.Provider value={true}>\n {customized && children}\n\n {!customized && (\n <Content\n title={title}\n hideCloseButton={hideCloseButton}\n footer={footer}\n okButtonProps={okButtonProps}\n cancelButtonProps={cancelButtonProps}\n children={children}\n footerLeft={footerLeft}\n onOk={onOk}\n onClose={handleHide}\n />\n )}\n </ModalContext.Provider>\n </div>\n </div>,\n getContainer(),\n );\n}\n\nModal.useModal = useModal;\n\nexport default Modal as CompositionModal;\n"],"names":["useRef","useState","useCallback","updateVisible","useEffect","subscribe","isTop","register","useKeydown","createPortal","_jsx","classNames","_jsxs","ModalContext","Content","getContainer","useModal"],"mappings":";;;;;;;;;;;;;;;;;;AAiBA,IAAI,UAAU,GAAG,CAAC;AAElB,SAAS,KAAK,CAAC,KAAa,EAAA;IACxB,MAAM,EACF,OAAO,EACP,KAAK,EACL,MAAM,EACN,aAAa,EACb,iBAAiB,EACjB,QAAQ,GAAG,IAAI,EACf,YAAY,EACZ,gBAAgB,GAAG,IAAI,EACvB,eAAe,EACf,UAAU,EACV,KAAK,EACL,MAAM,EACN,UAAU,EACV,KAAK,EACL,UAAU,EACV,QAAQ,EACR,KAAK,EACL,SAAS,EACT,OAAO,EACP,UAAU,EACV,OAAO,EACP,eAAe,EACf,OAAO,EACP,IAAI,EACJ,GAAG,SAAS,EACf,GAAG,KAAK;IAET,MAAM,MAAM,GAAGA,YAAM,CAAC,SAAS,EAAE,UAAU,CAAA,CAAE,CAAC;AAC9C,IAAA,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO;IAE1B,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAGC,cAAQ,CAAC,OAAO,CAAC;IACzC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAGA,cAAQ,CAAC,KAAK,CAAC;IAC3C,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAGA,cAAQ,CAAC,KAAK,CAAC;IAC7C,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAGA,cAAQ,CAAC,KAAK,CAAC;IAC7C,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAGA,cAAQ,CAAC,KAAK,CAAC;AACrC,IAAA,MAAM,QAAQ,GAAGD,YAAM,CAAC,IAAI,CAAC;AAC7B,IAAA,MAAM,QAAQ,GAAGA,YAAM,CAAC,IAAI,CAAC;AAE7B,IAAA,MAAM,UAAU,GAAGE,iBAAW,CAAC,MAAK;QAChC,IAAI,CAAC,QAAQ,CAAC,OAAO;YAAE;AAEvB,QAAA,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI;YAAE,OAAO,CAAC,IAAI,CAAC;AACpC,QAAA,QAAQ,CAAC,OAAO,GAAG,KAAK;AAExB,QAAAC,0BAAa,CAAC,GAAG,EAAE,IAAI,CAAC;AAExB,QAAA,MAAM,GAAG,GAAG,qBAAqB,CAAC,MAAK;AACnC,YAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;gBACnB,qBAAqB,CAAC,MAAK;oBACvB,SAAS,CAAC,IAAI,CAAC;AACf,oBAAA,eAAe,GAAG,IAAI,CAAC;AACvB,oBAAA,QAAQ,CAAC,OAAO,GAAG,IAAI;AAC3B,gBAAA,CAAC,CAAC;gBACF;YACJ;YACA,SAAS,CAAC,IAAI,CAAC;AACf,YAAA,eAAe,GAAG,IAAI,CAAC;AACvB,YAAA,QAAQ,CAAC,OAAO,GAAG,IAAI;AAC3B,QAAA,CAAC,CAAC;AAEF,QAAA,OAAO,MAAM,oBAAoB,CAAC,GAAG,CAAC;IAC1C,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC;AAEpC,IAAA,MAAM,UAAU,GAAGD,iBAAW,CAAC,MAAK;QAChC,IAAI,CAAC,QAAQ,CAAC,OAAO;YAAE;AACvB,QAAA,QAAQ,CAAC,OAAO,GAAG,KAAK;QAExB,IAAI,CAAC,QAAQ,EAAE;YACX,UAAU,CAAC,IAAI,CAAC;AAChB,YAAA,MAAM,KAAK,GAAG,UAAU,CAAC,MAAK;gBAC1B,UAAU,CAAC,KAAK,CAAC;AACjB,gBAAA,QAAQ,CAAC,OAAO,GAAG,IAAI;YAC3B,CAAC,EAAE,GAAG,CAAC;AACP,YAAA,OAAO,MAAM,YAAY,CAAC,KAAK,CAAC;QACpC;QAEA,SAAS,CAAC,KAAK,CAAC;AAChB,QAAAC,0BAAa,CAAC,GAAG,EAAE,KAAK,CAAC;AACzB,QAAA,MAAM,KAAK,GAAG,UAAU,CAAC,MAAK;AAC1B,YAAA,IAAI,CAAC,OAAO;gBAAE,OAAO,CAAC,KAAK,CAAC;AAC5B,YAAA,QAAQ,CAAC,OAAO,GAAG,IAAI;AACvB,YAAA,eAAe,GAAG,KAAK,CAAC;YACxB,OAAO,IAAI;QACf,CAAC,EAAE,GAAG,CAAC;AAEP,QAAA,OAAO,MAAM,YAAY,CAAC,KAAK,CAAC;IACpC,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;IAEjD,MAAM,mBAAmB,GAAG,MAAK;QAC7B,gBAAgB,IAAI,UAAU,EAAE;AACpC,IAAA,CAAC;IAEDC,eAAS,CAAC,MAAK;AACX,QAAA,MAAM,KAAK,GAAGC,sBAAS,CAAC,MAAK;AACzB,YAAA,MAAM,CAACC,kBAAK,CAAC,GAAG,CAAC,CAAC;AACtB,QAAA,CAAC,CAAC;AACF,QAAA,OAAO,KAAK;IAChB,CAAC,EAAE,EAAE,CAAC;IAENF,eAAS,CAAC,MAAK;QACX,MAAM,UAAU,GAAGG,qBAAQ,CAAC;YACxB,GAAG;YACH,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,YAAY,EAAE,CAAC,CAAC,YAAY;YAC5B,QAAQ,EAAE,CAAC,CAAC,QAAQ;AACvB,SAAA,CAAC;AACF,QAAA,OAAO,UAAU;IACrB,CAAC,EAAE,EAAE,CAAC;IAENH,eAAS,CAAC,MAAK;QACX,OAAO,GAAG,UAAU,EAAE,GAAG,UAAU,EAAE;AACzC,IAAA,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;IAEbA,eAAS,CAAC,MAAK;AACX,QAAA,IAAI,CAAC,IAAI;YAAE;AACX,QAAA,MAAM,GAAG,GAAG,qBAAqB,CAAC,MAAK;YACnC,SAAS,CAAC,GAAG,CAAC;AAClB,QAAA,CAAC,CAAC;AACF,QAAA,OAAO,MAAM,oBAAoB,CAAC,GAAG,CAAC;AAC1C,IAAA,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAETA,eAAS,CAAC,MAAK;QACX,UAAU,CAAC,IAAI,CAAC;IACpB,CAAC,EAAE,EAAE,CAAC;AAEN,IAAAI,gBAAU,CACN,CAAC,CAAC,KAAI;QACF,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,OAAO,IAAI,CAAC,GAAG;YAAE;AAC7C,QAAA,UAAU,EAAE;AAChB,IAAA,CAAC,EACD,EAAE,QAAQ,EAAE,UAAU,EAAE,CAC3B;IAED,MAAM,WAAW,GAAG,MAAK;QACrB,IAAI,OAAO,QAAQ,KAAK,WAAW;YAAE;AACrC,QAAA,QAAQ,CAAC,eAAe,CAAC,KAAK,EAAE;AACpC,IAAA,CAAC;AAED,IAAA,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO;AAAE,QAAA,OAAO,IAAI;AAElC,IAAA,OAAOC,qBAAY,CACfC,cAAA,CAAA,KAAA,EAAA,EACI,GAAG,EAAE,QAAQ,EACb,SAAS,EAAEC,mBAAU,CACjB,eAAe,EACf;AACI,YAAA,gBAAgB,EAAE,MAAM;AACxB,YAAA,oBAAoB,EAAE,UAAU;AAChC,YAAA,uBAAuB,EAAE,YAAY;YACrC,KAAK;AACR,SAAA,EACD,SAAS,CACZ,EACD,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,mBAAmB,YAE5BD,cAAA,CAAA,KAAA,EAAA,EACI,SAAS,EAAEC,mBAAU,CAAC,SAAS,EAAE;gBAC7B,OAAO;gBACP,MAAM,EAAE,CAAC,UAAU;aACtB,CAAC,EACF,KAAK,EAAE;gBACH,KAAK;gBACL,MAAM;AACT,aAAA,EACD,OAAO,EAAE,CAAC,CAAC,KAAI;gBACX,CAAC,CAAC,eAAe,EAAE;AACnB,gBAAA,WAAW,EAAE;AACb,gBAAA,OAAO,GAAG,CAAC,CAAC;AAChB,YAAA,CAAC,EACD,IAAI,EAAC,QAAQ,gBACD,GAAG,EAAA,UAAA,EACL,GAAG,EAAA,GACT,SAAS,EAAA,QAAA,EAEbC,eAAA,CAACC,eAAY,CAAC,QAAQ,EAAA,EAAC,KAAK,EAAE,IAAI,aAC7B,UAAU,IAAI,QAAQ,EAEtB,CAAC,UAAU,KACRH,cAAA,CAACI,eAAO,EAAA,EACJ,KAAK,EAAE,KAAK,EACZ,eAAe,EAAE,eAAe,EAChC,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,aAAa,EAC5B,iBAAiB,EAAE,iBAAiB,EACpC,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,UAAU,EAAA,CACrB,CACL,CAAA,EAAA,CACmB,GACtB,EAAA,CACJ,EACNC,yBAAY,EAAE,CACjB;AACL;AAEA,KAAK,CAAC,QAAQ,GAAGC,gBAAQ;;;;"}
@@ -1,83 +0,0 @@
1
- 'use strict';
2
-
3
- const CONTAINER_ID = "i-modal-container";
4
- const BACKDROP_ID = "i-modal-backdrop";
5
- let containerEl = null;
6
- let backdropEl = null;
7
- const stack = [];
8
- const listeners = new Set();
9
- function ensureContainer() {
10
- if (containerEl)
11
- return containerEl;
12
- containerEl = document.createElement("div");
13
- containerEl.id = CONTAINER_ID;
14
- containerEl.className = "i-modal-container";
15
- document.body.append(containerEl);
16
- backdropEl = document.createElement("div");
17
- backdropEl.id = BACKDROP_ID;
18
- backdropEl.className = "i-modal-backdrop";
19
- containerEl.prepend(backdropEl);
20
- return containerEl;
21
- }
22
- function syncBackdrop() {
23
- if (!backdropEl)
24
- return;
25
- const show = stack.some((e) => e.visible && !e.hideBackdrop);
26
- backdropEl.classList.toggle("i-modal-backdrop-active", show);
27
- }
28
- function notify() {
29
- listeners.forEach((fn) => fn());
30
- }
31
- function register(entry) {
32
- ensureContainer();
33
- stack.push(entry);
34
- syncBackdrop();
35
- notify();
36
- return () => {
37
- const idx = stack.findIndex((e) => e.mid === entry.mid);
38
- if (idx !== -1)
39
- stack.splice(idx, 1);
40
- syncBackdrop();
41
- notify();
42
- if (stack.length === 0) {
43
- backdropEl?.remove();
44
- backdropEl = null;
45
- containerEl?.remove();
46
- containerEl = null;
47
- }
48
- };
49
- }
50
- function updateVisible(mid, visible) {
51
- const entry = stack.find((e) => e.mid === mid);
52
- if (entry) {
53
- entry.visible = visible;
54
- syncBackdrop();
55
- notify();
56
- }
57
- }
58
- function isTop(mid) {
59
- const top = getTopVisible();
60
- return top?.mid === mid;
61
- }
62
- function getTopVisible() {
63
- for (let i = stack.length - 1; i >= 0; i--) {
64
- if (stack[i].visible)
65
- return stack[i];
66
- }
67
- return undefined;
68
- }
69
- function getContainer() {
70
- return ensureContainer();
71
- }
72
- function subscribe(fn) {
73
- listeners.add(fn);
74
- return () => listeners.delete(fn);
75
- }
76
-
77
- exports.getContainer = getContainer;
78
- exports.getTopVisible = getTopVisible;
79
- exports.isTop = isTop;
80
- exports.register = register;
81
- exports.subscribe = subscribe;
82
- exports.updateVisible = updateVisible;
83
- //# sourceMappingURL=modalManager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"modalManager.js","sources":["../../../../packages/components/modal/modalManager.ts"],"sourcesContent":["export type StackEntry = {\n\tmid: string;\n\tvisible: boolean;\n\thideBackdrop: boolean;\n\tclosable: boolean;\n};\n\ntype Listener = () => void;\n\nconst CONTAINER_ID = \"i-modal-container\";\nconst BACKDROP_ID = \"i-modal-backdrop\";\nlet containerEl: HTMLDivElement | null = null;\nlet backdropEl: HTMLDivElement | null = null;\nconst stack: StackEntry[] = [];\nconst listeners = new Set<Listener>();\n\nfunction ensureContainer(): HTMLDivElement {\n\tif (containerEl) return containerEl;\n\n\tcontainerEl = document.createElement(\"div\");\n\tcontainerEl.id = CONTAINER_ID;\n\tcontainerEl.className = \"i-modal-container\";\n\tdocument.body.append(containerEl);\n\n\tbackdropEl = document.createElement(\"div\");\n\tbackdropEl.id = BACKDROP_ID;\n\tbackdropEl.className = \"i-modal-backdrop\";\n\tcontainerEl.prepend(backdropEl);\n\n\treturn containerEl;\n}\n\nfunction syncBackdrop() {\n\tif (!backdropEl) return;\n\tconst show = stack.some((e) => e.visible && !e.hideBackdrop);\n\tbackdropEl.classList.toggle(\"i-modal-backdrop-active\", show);\n}\n\nfunction notify() {\n\tlisteners.forEach((fn) => fn());\n}\n\nexport function register(entry: StackEntry): () => void {\n\tensureContainer();\n\tstack.push(entry);\n\tsyncBackdrop();\n\tnotify();\n\n\treturn () => {\n\t\tconst idx = stack.findIndex((e) => e.mid === entry.mid);\n\t\tif (idx !== -1) stack.splice(idx, 1);\n\t\tsyncBackdrop();\n\t\tnotify();\n\n\t\tif (stack.length === 0) {\n\t\t\tbackdropEl?.remove();\n\t\t\tbackdropEl = null;\n\t\t\tcontainerEl?.remove();\n\t\t\tcontainerEl = null;\n\t\t}\n\t};\n}\n\nexport function updateVisible(mid: string, visible: boolean) {\n\tconst entry = stack.find((e) => e.mid === mid);\n\tif (entry) {\n\t\tentry.visible = visible;\n\t\tsyncBackdrop();\n\t\tnotify();\n\t}\n}\n\nexport function isTop(mid: string): boolean {\n\tconst top = getTopVisible();\n\treturn top?.mid === mid;\n}\n\nexport function getTopVisible(): StackEntry | undefined {\n\tfor (let i = stack.length - 1; i >= 0; i--) {\n\t\tif (stack[i].visible) return stack[i];\n\t}\n\treturn undefined;\n}\n\nexport function getContainer(): HTMLDivElement {\n\treturn ensureContainer();\n}\n\nexport function subscribe(fn: Listener): () => void {\n\tlisteners.add(fn);\n\treturn () => listeners.delete(fn);\n}\n\nexport function shouldShowBackdrop(): boolean {\n\treturn stack.some((e) => e.visible && !e.hideBackdrop);\n}\n"],"names":[],"mappings":"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"}