musae 0.3.2 → 0.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 (403) hide show
  1. package/dist/components/avatar/context.d.ts +1 -1
  2. package/dist/components/avatar/group.d.ts +1 -1
  3. package/dist/components/avatar/index.d.ts +1 -1
  4. package/dist/components/badge/badge.d.ts +1 -1
  5. package/dist/components/bench/bench.cjs +8 -10
  6. package/dist/components/bench/bench.mjs +8 -10
  7. package/dist/components/breadcrumb/breadcrumb.d.ts +1 -1
  8. package/dist/components/breadcrumb/item.d.ts +1 -1
  9. package/dist/components/button/button.cjs +12 -11
  10. package/dist/components/button/button.d.ts +1 -1
  11. package/dist/components/button/button.mjs +7 -6
  12. package/dist/components/button/hooks.d.ts +2 -2
  13. package/dist/components/calendar/calendar.d.ts +1 -1
  14. package/dist/components/calendar/contribution.cjs +251 -0
  15. package/dist/components/calendar/contribution.d.ts +13 -0
  16. package/dist/components/calendar/contribution.mjs +249 -0
  17. package/dist/components/calendar/hooks.d.ts +1 -1
  18. package/dist/components/calendar/index.d.ts +2 -2
  19. package/dist/components/cascader/cascader.d.ts +1 -1
  20. package/dist/components/cascader/hooks.d.ts +1 -1
  21. package/dist/components/cascader/utils.d.ts +1 -1
  22. package/dist/components/checkbox/checkbox.d.ts +1 -1
  23. package/dist/components/checkbox/context.d.ts +1 -1
  24. package/dist/components/checkbox/group.d.ts +1 -1
  25. package/dist/components/checkbox/index.d.ts +2 -2
  26. package/dist/components/checkbox/styles.cjs +1 -1
  27. package/dist/components/checkbox/styles.d.ts +1 -1
  28. package/dist/components/checkbox/styles.mjs +1 -1
  29. package/dist/components/clock/clock.cjs +1 -2
  30. package/dist/components/clock/clock.d.ts +1 -1
  31. package/dist/components/clock/clock.mjs +1 -2
  32. package/dist/components/clock/column.cjs +9 -9
  33. package/dist/components/clock/column.d.ts +1 -1
  34. package/dist/components/clock/column.mjs +8 -8
  35. package/dist/components/collapse/collapse.d.ts +1 -1
  36. package/dist/components/collapse/context.d.ts +1 -1
  37. package/dist/components/collapse/hooks.d.ts +1 -1
  38. package/dist/components/collapse/item.d.ts +1 -1
  39. package/dist/components/config/context.d.ts +1 -1
  40. package/dist/components/config/hooks.d.ts +1 -1
  41. package/dist/components/config/provider.cjs +2 -2
  42. package/dist/components/config/provider.d.ts +1 -1
  43. package/dist/components/config/provider.mjs +2 -2
  44. package/dist/components/countdown/countdown.d.ts +2 -2
  45. package/dist/components/date-picker/date-picker.d.ts +1 -1
  46. package/dist/components/date-picker/hooks.d.ts +1 -1
  47. package/dist/components/date-range-picker/date-range-picker.d.ts +1 -1
  48. package/dist/components/date-range-picker/hooks.d.ts +1 -1
  49. package/dist/components/dialog/dialog.d.ts +1 -1
  50. package/dist/components/dialog/hooks.d.ts +1 -1
  51. package/dist/components/dialog/popup.d.ts +1 -1
  52. package/dist/components/divider/divider.d.ts +1 -1
  53. package/dist/components/divider/hooks.d.ts +1 -1
  54. package/dist/components/drawer/drawer.d.ts +1 -1
  55. package/dist/components/drawer/hooks.d.ts +1 -1
  56. package/dist/components/drawer/popup.cjs +51 -17
  57. package/dist/components/drawer/popup.d.ts +2 -2
  58. package/dist/components/drawer/popup.mjs +51 -17
  59. package/dist/components/{floating-action-button/floating-action-button.cjs → fab/fab.cjs} +2 -2
  60. package/dist/components/fab/fab.d.ts +4 -0
  61. package/dist/components/{floating-action-button/floating-action-button.mjs → fab/fab.mjs} +2 -2
  62. package/dist/components/{floating-action-button → fab}/floatable.d.ts +1 -1
  63. package/dist/components/fab/index.d.ts +2 -0
  64. package/dist/components/grid/col.d.ts +1 -1
  65. package/dist/components/grid/index.d.ts +2 -2
  66. package/dist/components/grid/row.d.ts +1 -1
  67. package/dist/components/highlight/highlight.d.ts +1 -1
  68. package/dist/components/i18n-button/i18n-button.cjs +11 -3
  69. package/dist/components/i18n-button/i18n-button.d.ts +2 -2
  70. package/dist/components/i18n-button/i18n-button.mjs +12 -4
  71. package/dist/components/icon/hoc.d.ts +2 -2
  72. package/dist/components/icon/icon.d.ts +1 -1
  73. package/dist/components/icon/icons/action/check-circle-outline.d.ts +1 -1
  74. package/dist/components/icon/icons/action/check-circle.d.ts +1 -1
  75. package/dist/components/icon/icons/action/code.d.ts +1 -1
  76. package/dist/components/icon/icons/action/delete.cjs +20 -0
  77. package/dist/components/icon/icons/action/delete.d.ts +3 -0
  78. package/dist/components/icon/icons/action/delete.mjs +18 -0
  79. package/dist/components/icon/icons/action/done-outline.d.ts +1 -1
  80. package/dist/components/icon/icons/action/done.d.ts +1 -1
  81. package/dist/components/icon/icons/action/index.cjs +7 -1
  82. package/dist/components/icon/icons/action/index.d.ts +18 -14
  83. package/dist/components/icon/icons/action/index.mjs +6 -2
  84. package/dist/components/icon/icons/action/open-in-new.d.ts +1 -1
  85. package/dist/components/icon/icons/action/swap-horiz.d.ts +1 -1
  86. package/dist/components/icon/icons/action/swap-vert.d.ts +1 -1
  87. package/dist/components/icon/icons/action/three-d-rotation.cjs +28 -0
  88. package/dist/components/icon/icons/action/three-d-rotation.d.ts +3 -0
  89. package/dist/components/icon/icons/action/three-d-rotation.mjs +26 -0
  90. package/dist/components/icon/icons/action/translate.d.ts +1 -1
  91. package/dist/components/icon/icons/action/visibility-off.d.ts +1 -1
  92. package/dist/components/icon/icons/action/visibility.d.ts +1 -1
  93. package/dist/components/icon/icons/action/zoom-in.d.ts +1 -1
  94. package/dist/components/icon/icons/action/zoom-out.d.ts +1 -1
  95. package/dist/components/icon/icons/alert/add-alert.d.ts +1 -1
  96. package/dist/components/icon/icons/alert/auto-delete.d.ts +1 -1
  97. package/dist/components/icon/icons/alert/error-outline.d.ts +1 -1
  98. package/dist/components/icon/icons/alert/error.d.ts +1 -1
  99. package/dist/components/icon/icons/alert/index.d.ts +7 -7
  100. package/dist/components/icon/icons/alert/notification-important.d.ts +1 -1
  101. package/dist/components/icon/icons/alert/warning-amber.d.ts +1 -1
  102. package/dist/components/icon/icons/alert/warning.d.ts +1 -1
  103. package/dist/components/icon/icons/content/clear.d.ts +1 -1
  104. package/dist/components/icon/icons/content/font-download.d.ts +1 -1
  105. package/dist/components/icon/icons/content/index.d.ts +5 -5
  106. package/dist/components/icon/icons/content/link-off.d.ts +1 -1
  107. package/dist/components/icon/icons/content/redo.d.ts +1 -1
  108. package/dist/components/icon/icons/content/undo.d.ts +1 -1
  109. package/dist/components/icon/icons/editor/attch-file.cjs +20 -0
  110. package/dist/components/icon/icons/editor/attch-file.d.ts +3 -0
  111. package/dist/components/icon/icons/editor/attch-file.mjs +18 -0
  112. package/dist/components/icon/icons/editor/checklist.d.ts +1 -1
  113. package/dist/components/icon/icons/editor/format-bold.d.ts +1 -1
  114. package/dist/components/icon/icons/editor/format-italic.d.ts +1 -1
  115. package/dist/components/icon/icons/editor/format-strikethrough.d.ts +1 -1
  116. package/dist/components/icon/icons/editor/format-underlined.d.ts +1 -1
  117. package/dist/components/icon/icons/editor/index.cjs +4 -1
  118. package/dist/components/icon/icons/editor/index.d.ts +12 -10
  119. package/dist/components/icon/icons/editor/index.mjs +4 -2
  120. package/dist/components/icon/icons/editor/insert-link.d.ts +1 -1
  121. package/dist/components/icon/icons/editor/notes.d.ts +1 -1
  122. package/dist/components/icon/icons/editor/subscript.d.ts +1 -1
  123. package/dist/components/icon/icons/editor/superscript.d.ts +1 -1
  124. package/dist/components/icon/icons/hardware/index.d.ts +6 -6
  125. package/dist/components/icon/icons/hardware/keyboard-arrow-down.d.ts +1 -1
  126. package/dist/components/icon/icons/hardware/keyboard-arrow-left.d.ts +1 -1
  127. package/dist/components/icon/icons/hardware/keyboard-arrow-right.d.ts +1 -1
  128. package/dist/components/icon/icons/hardware/keyboard-arrow-up.d.ts +1 -1
  129. package/dist/components/icon/icons/hardware/keyboard-double-arrow-left.d.ts +1 -1
  130. package/dist/components/icon/icons/hardware/keyboard-double-arrow-right.d.ts +1 -1
  131. package/dist/components/icon/icons/image/bedtime.d.ts +1 -1
  132. package/dist/components/icon/icons/image/edit.d.ts +1 -1
  133. package/dist/components/icon/icons/image/index.d.ts +11 -11
  134. package/dist/components/icon/icons/image/looks-five.d.ts +1 -1
  135. package/dist/components/icon/icons/image/looks-four.d.ts +1 -1
  136. package/dist/components/icon/icons/image/looks-one.d.ts +1 -1
  137. package/dist/components/icon/icons/image/looks-six.d.ts +1 -1
  138. package/dist/components/icon/icons/image/looks-three.d.ts +1 -1
  139. package/dist/components/icon/icons/image/looks-two.d.ts +1 -1
  140. package/dist/components/icon/icons/image/rotate-left.d.ts +1 -1
  141. package/dist/components/icon/icons/image/rotate-right.d.ts +1 -1
  142. package/dist/components/icon/icons/image/wb-sunny.d.ts +1 -1
  143. package/dist/components/icon/icons/index.cjs +6 -0
  144. package/dist/components/icon/icons/index.mjs +3 -0
  145. package/dist/components/icon/icons/mock/github.d.ts +1 -1
  146. package/dist/components/icon/icons/mock/index.d.ts +2 -2
  147. package/dist/components/icon/icons/mock/loading.d.ts +1 -1
  148. package/dist/components/icon/icons/navigation/cancel.d.ts +1 -1
  149. package/dist/components/icon/icons/navigation/check.d.ts +1 -1
  150. package/dist/components/icon/icons/navigation/close.d.ts +1 -1
  151. package/dist/components/icon/icons/navigation/index.d.ts +5 -5
  152. package/dist/components/icon/icons/navigation/more-horiz.d.ts +1 -1
  153. package/dist/components/icon/icons/navigation/unfold-more.d.ts +1 -1
  154. package/dist/components/icon/icons/toggle/index.d.ts +3 -3
  155. package/dist/components/icon/icons/toggle/star-half.d.ts +1 -1
  156. package/dist/components/icon/icons/toggle/star-outline.d.ts +1 -1
  157. package/dist/components/icon/icons/toggle/star.d.ts +1 -1
  158. package/dist/components/icon/index.d.ts +0 -5
  159. package/dist/components/image/hooks.d.ts +1 -1
  160. package/dist/components/image/image.cjs +2 -2
  161. package/dist/components/image/image.d.ts +1 -1
  162. package/dist/components/image/image.mjs +2 -2
  163. package/dist/components/image/index.d.ts +2 -2
  164. package/dist/components/image/preview/context.d.ts +1 -1
  165. package/dist/components/image/preview/group.d.ts +1 -1
  166. package/dist/components/image/preview/operations.d.ts +1 -1
  167. package/dist/components/image/preview/preview.d.ts +1 -1
  168. package/dist/components/input/hooks.d.ts +1 -1
  169. package/dist/components/input/index.d.ts +1 -2
  170. package/dist/components/input/input.d.ts +1 -1
  171. package/dist/components/kbd/kbd.d.ts +1 -1
  172. package/dist/components/kbd/utils.d.ts +1 -1
  173. package/dist/components/layout/footer.d.ts +1 -1
  174. package/dist/components/layout/header.d.ts +1 -1
  175. package/dist/components/layout/index.d.ts +1 -1
  176. package/dist/components/layout/layout.d.ts +1 -1
  177. package/dist/components/layout/main.d.ts +1 -1
  178. package/dist/components/layout/sider.d.ts +1 -1
  179. package/dist/components/loading/loading.d.ts +1 -1
  180. package/dist/components/menu/hooks.cjs +7 -7
  181. package/dist/components/menu/hooks.d.ts +1 -2
  182. package/dist/components/menu/hooks.mjs +8 -8
  183. package/dist/components/menu/item.d.ts +2 -3
  184. package/dist/components/message/hooks.d.ts +1 -1
  185. package/dist/components/message/messager.d.ts +1 -1
  186. package/dist/components/notification/holder.d.ts +1 -1
  187. package/dist/components/notification/hooks.d.ts +1 -1
  188. package/dist/components/notification/index.d.ts +1 -1
  189. package/dist/components/notification/notification.d.ts +1 -1
  190. package/dist/components/notification/notifier.d.ts +1 -1
  191. package/dist/components/number-input/number-input.d.ts +1 -1
  192. package/dist/components/otp-input/otp-input.d.ts +1 -1
  193. package/dist/components/pagination/pagination.cjs +1 -1
  194. package/dist/components/pagination/pagination.mjs +2 -2
  195. package/dist/components/picker/context.d.ts +1 -1
  196. package/dist/components/picker/picker.d.ts +1 -1
  197. package/dist/components/popconfirm/popconfirm.d.ts +1 -1
  198. package/dist/components/popover/hooks.d.ts +1 -1
  199. package/dist/components/popover/index.d.ts +1 -1
  200. package/dist/components/popover/popover.cjs +1 -1
  201. package/dist/components/popover/popover.d.ts +1 -1
  202. package/dist/components/popover/popover.mjs +1 -1
  203. package/dist/components/popper/dropdown.cjs +44 -22
  204. package/dist/components/popper/dropdown.d.ts +2 -2
  205. package/dist/components/popper/dropdown.mjs +46 -24
  206. package/dist/components/popper/hooks.cjs +88 -89
  207. package/dist/components/popper/hooks.d.ts +8 -14
  208. package/dist/components/popper/hooks.mjs +91 -91
  209. package/dist/components/popper/index.d.ts +0 -2
  210. package/dist/components/popper/popper.d.ts +1 -1
  211. package/dist/components/portal/portal.d.ts +1 -1
  212. package/dist/components/progress/circular.d.ts +1 -1
  213. package/dist/components/progress/linear.d.ts +1 -1
  214. package/dist/components/progress/progress.d.ts +1 -1
  215. package/dist/components/quote/quote.d.ts +1 -1
  216. package/dist/components/radio/context.d.ts +1 -1
  217. package/dist/components/radio/group.d.ts +1 -1
  218. package/dist/components/radio/index.d.ts +1 -1
  219. package/dist/components/radio/radio.d.ts +1 -1
  220. package/dist/components/rate/hooks.d.ts +1 -1
  221. package/dist/components/rate/rate.d.ts +1 -1
  222. package/dist/components/rate/star.d.ts +1 -1
  223. package/dist/components/rich-text-editor/dropdown.cjs +1 -1
  224. package/dist/components/rich-text-editor/dropdown.d.ts +1 -1
  225. package/dist/components/rich-text-editor/dropdown.mjs +1 -1
  226. package/dist/components/rich-text-editor/index.cjs +20 -2
  227. package/dist/components/rich-text-editor/index.d.ts +1 -1
  228. package/dist/components/rich-text-editor/index.mjs +20 -2
  229. package/dist/components/rich-text-editor/plugins/controlled-state/index.cjs +1 -2
  230. package/dist/components/rich-text-editor/plugins/controlled-state/index.d.ts +1 -1
  231. package/dist/components/rich-text-editor/plugins/controlled-state/index.mjs +1 -2
  232. package/dist/components/rich-text-editor/plugins/markdown-shortcut/index.cjs +5 -4
  233. package/dist/components/rich-text-editor/plugins/markdown-shortcut/index.d.ts +3 -3
  234. package/dist/components/rich-text-editor/plugins/markdown-shortcut/index.mjs +3 -4
  235. package/dist/components/rich-text-editor/rich-text-editor.cjs +13 -10
  236. package/dist/components/rich-text-editor/rich-text-editor.d.ts +1 -1
  237. package/dist/components/rich-text-editor/rich-text-editor.mjs +12 -9
  238. package/dist/components/ripple/hooks.d.ts +1 -1
  239. package/dist/components/ripple/ripple.d.ts +1 -1
  240. package/dist/components/select/hooks.d.ts +1 -1
  241. package/dist/components/select/select.cjs +4 -1
  242. package/dist/components/select/select.mjs +5 -2
  243. package/dist/components/select/selections.d.ts +1 -1
  244. package/dist/components/select/selector.d.ts +1 -1
  245. package/dist/components/select/utils.cjs +1 -3
  246. package/dist/components/select/utils.d.ts +2 -2
  247. package/dist/components/select/utils.mjs +2 -4
  248. package/dist/components/skeleton/skeleton.cjs +20 -46
  249. package/dist/components/skeleton/skeleton.d.ts +2 -2
  250. package/dist/components/skeleton/skeleton.mjs +20 -46
  251. package/dist/components/space/space.d.ts +1 -1
  252. package/dist/components/steps/context.d.ts +1 -1
  253. package/dist/components/steps/item.d.ts +1 -1
  254. package/dist/components/steps/steps.d.ts +1 -1
  255. package/dist/components/switch/switch.cjs +9 -8
  256. package/dist/components/switch/switch.d.ts +1 -1
  257. package/dist/components/switch/switch.mjs +9 -8
  258. package/dist/components/table/body.cjs +3 -1
  259. package/dist/components/table/body.mjs +3 -1
  260. package/dist/components/tabs/context.d.ts +1 -1
  261. package/dist/components/tabs/hooks.d.ts +2 -2
  262. package/dist/components/tabs/navigation.d.ts +1 -1
  263. package/dist/components/tabs/panels.d.ts +1 -1
  264. package/dist/components/tabs/tab.d.ts +1 -1
  265. package/dist/components/tabs/tabs.d.ts +1 -1
  266. package/dist/components/tag/tag.d.ts +1 -1
  267. package/dist/components/theme/hooks.cjs +6 -6
  268. package/dist/components/theme/hooks.d.ts +1 -1
  269. package/dist/components/theme/hooks.mjs +6 -6
  270. package/dist/components/theme/theme-provider.cjs +12 -6
  271. package/dist/components/theme/theme-provider.d.ts +2 -2
  272. package/dist/components/theme/theme-provider.mjs +12 -6
  273. package/dist/components/theme/tokens.stylex.cjs +7 -0
  274. package/dist/components/theme/tokens.stylex.d.ts +8 -6
  275. package/dist/components/theme/tokens.stylex.mjs +7 -1
  276. package/dist/components/time-picker/hooks.d.ts +1 -1
  277. package/dist/components/time-picker/panel.d.ts +1 -1
  278. package/dist/components/time-picker/time-picker.d.ts +1 -1
  279. package/dist/components/timeline/context.d.ts +1 -1
  280. package/dist/components/timeline/item.d.ts +1 -1
  281. package/dist/components/timeline/timeline.d.ts +1 -1
  282. package/dist/components/tooltip/tooltip.d.ts +1 -1
  283. package/dist/components/transfer/context.d.ts +1 -1
  284. package/dist/components/transfer/hooks.d.ts +1 -1
  285. package/dist/components/transfer/item.d.ts +1 -1
  286. package/dist/components/transfer/list.d.ts +1 -1
  287. package/dist/components/transfer/transfer.d.ts +1 -1
  288. package/dist/components/upload/upload.cjs +31 -6
  289. package/dist/components/upload/upload.d.ts +2 -2
  290. package/dist/components/upload/upload.mjs +31 -6
  291. package/dist/components/upload/uploadeds.cjs +119 -55
  292. package/dist/components/upload/uploadeds.d.ts +1 -1
  293. package/dist/components/upload/uploadeds.mjs +121 -57
  294. package/dist/components/upload/utils.cjs +9 -0
  295. package/dist/components/upload/utils.d.ts +6 -0
  296. package/dist/components/upload/utils.mjs +9 -0
  297. package/dist/components/visually-hidden/visually-hidden.d.ts +1 -1
  298. package/dist/components/waterfall/sequential.d.ts +1 -1
  299. package/dist/components/waterfall/waterfall.d.ts +1 -1
  300. package/dist/components/watermark/hooks.d.ts +1 -1
  301. package/dist/components/watermark/watermark.d.ts +1 -1
  302. package/dist/hooks/use-class-names.d.ts +8 -1
  303. package/dist/hooks/use-closable.cjs +0 -8
  304. package/dist/hooks/use-closable.mjs +0 -8
  305. package/dist/hooks/use-container.d.ts +1 -1
  306. package/dist/hooks/use-lazy-boolean.cjs +2 -2
  307. package/dist/hooks/use-lazy-boolean.mjs +2 -2
  308. package/dist/index.cjs +4 -2
  309. package/dist/index.d.ts +2 -2
  310. package/dist/index.mjs +2 -1
  311. package/dist/locale/context.d.ts +1 -1
  312. package/dist/locale/locales/en_US.cjs +5 -1
  313. package/dist/locale/locales/en_US.mjs +5 -1
  314. package/dist/locale/locales/zh_CN.cjs +5 -1
  315. package/dist/locale/locales/zh_CN.mjs +5 -1
  316. package/dist/locale/use-locale.d.ts +1 -1
  317. package/dist/styles.css +23 -12
  318. package/dist/{components/clock/types.d.ts → types/clock.d.ts} +1 -5
  319. package/dist/{components/config/types.d.ts → types/config.d.ts} +2 -2
  320. package/dist/{components/countdown/types.d.ts → types/countdown.d.ts} +3 -3
  321. package/dist/{components/date-picker/types.d.ts → types/date-picker.d.ts} +1 -1
  322. package/dist/{components/dialog/types.d.ts → types/dialog.d.ts} +2 -2
  323. package/dist/{components/divider/types.d.ts → types/divider.d.ts} +1 -1
  324. package/dist/{components/drawer/types.d.ts → types/drawer.d.ts} +6 -1
  325. package/dist/types/element.d.ts +1 -56
  326. package/dist/{components/floating-action-button/types.d.ts → types/fab.d.ts} +3 -3
  327. package/dist/types/form.d.ts +39 -1
  328. package/dist/{components/grid/types.d.ts → types/grid.d.ts} +1 -1
  329. package/dist/{components/i18n-button/types.d.ts → types/i18n-button.d.ts} +3 -2
  330. package/dist/types/locale.d.ts +6 -0
  331. package/dist/types/menu.d.ts +9 -4
  332. package/dist/{components/message/types.d.ts → types/message.d.ts} +1 -1
  333. package/dist/{components/popconfirm/types.d.ts → types/popconfirm.d.ts} +2 -2
  334. package/dist/{components/popper/types.d.ts → types/popper.d.ts} +2 -2
  335. package/dist/{components/quote/types.d.ts → types/quote.d.ts} +1 -1
  336. package/dist/{components/radio/types.d.ts → types/radio.d.ts} +1 -1
  337. package/dist/types/rich-text-editor.d.ts +2 -1
  338. package/dist/types/skeleton.d.ts +12 -0
  339. package/dist/{components/space/types.d.ts → types/space.d.ts} +1 -1
  340. package/dist/{components/theme/types.d.ts → types/theme.d.ts} +1 -1
  341. package/dist/types/tour.d.ts +1 -1
  342. package/dist/types/tree.d.ts +7 -2
  343. package/dist/{components/upload/types.d.ts → types/upload.d.ts} +59 -22
  344. package/dist/{components/waterfall/types.d.ts → types/waterfall.d.ts} +3 -3
  345. package/dist/utils/class-name.cjs +10 -1
  346. package/dist/utils/class-name.d.ts +24 -3
  347. package/dist/utils/class-name.mjs +11 -2
  348. package/dist/utils/colors.d.ts +1 -1
  349. package/dist/utils/component-token.cjs +2 -0
  350. package/dist/utils/component-token.d.ts +3 -1
  351. package/dist/utils/component-token.mjs +2 -0
  352. package/dist/utils/date.cjs +13 -0
  353. package/dist/utils/date.d.ts +6 -0
  354. package/dist/utils/date.mjs +13 -0
  355. package/package.json +25 -25
  356. package/dist/components/clock/hooks.cjs +0 -12
  357. package/dist/components/clock/hooks.d.ts +0 -2
  358. package/dist/components/clock/hooks.mjs +0 -12
  359. package/dist/components/clock/types.cjs +0 -6
  360. package/dist/components/clock/types.mjs +0 -8
  361. package/dist/components/floating-action-button/floating-action-button.d.ts +0 -4
  362. package/dist/components/floating-action-button/index.d.ts +0 -2
  363. package/dist/components/icon/icons/three-dimension-rotation.d.ts +0 -3
  364. package/dist/components/skeleton/types.d.ts +0 -19
  365. package/dist/utils/layer.cjs +0 -23
  366. package/dist/utils/layer.d.ts +0 -7
  367. package/dist/utils/layer.mjs +0 -23
  368. /package/dist/components/{floating-action-button → fab}/floatable.cjs +0 -0
  369. /package/dist/components/{floating-action-button → fab}/floatable.mjs +0 -0
  370. /package/dist/{components/avatar/types.d.ts → types/avatar.d.ts} +0 -0
  371. /package/dist/{components/badge/types.d.ts → types/badge.d.ts} +0 -0
  372. /package/dist/{components/breadcrumb/types.d.ts → types/breadcrumb.d.ts} +0 -0
  373. /package/dist/{components/button/types.d.ts → types/button.d.ts} +0 -0
  374. /package/dist/{components/calendar/types.d.ts → types/calendar.d.ts} +0 -0
  375. /package/dist/{components/cascader/types.d.ts → types/cascader.d.ts} +0 -0
  376. /package/dist/{components/checkbox/types.d.ts → types/checkbox.d.ts} +0 -0
  377. /package/dist/{components/collapse/types.d.ts → types/collapse.d.ts} +0 -0
  378. /package/dist/{components/date-range-picker/types.d.ts → types/date-range-picker.d.ts} +0 -0
  379. /package/dist/{components/highlight/types.d.ts → types/highlight.d.ts} +0 -0
  380. /package/dist/{components/icon/types.d.ts → types/icon.d.ts} +0 -0
  381. /package/dist/{components/image/types.d.ts → types/image.d.ts} +0 -0
  382. /package/dist/{components/input/types.d.ts → types/input.d.ts} +0 -0
  383. /package/dist/{components/kbd/types.d.ts → types/kbd.d.ts} +0 -0
  384. /package/dist/{components/layout/types.d.ts → types/layout.d.ts} +0 -0
  385. /package/dist/{components/loading/types.d.ts → types/loading.d.ts} +0 -0
  386. /package/dist/{components/notification/types.d.ts → types/notification.d.ts} +0 -0
  387. /package/dist/{components/number-input/types.d.ts → types/number-input.d.ts} +0 -0
  388. /package/dist/{components/otp-input/types.d.ts → types/otp-input.d.ts} +0 -0
  389. /package/dist/{components/popover/types.d.ts → types/popover.d.ts} +0 -0
  390. /package/dist/{components/portal/types.d.ts → types/portal.d.ts} +0 -0
  391. /package/dist/{components/progress/types.d.ts → types/progress.d.ts} +0 -0
  392. /package/dist/{components/rate/types.d.ts → types/rate.d.ts} +0 -0
  393. /package/dist/{components/ripple/types.d.ts → types/ripple.d.ts} +0 -0
  394. /package/dist/{components/steps/types.d.ts → types/steps.d.ts} +0 -0
  395. /package/dist/{components/switch/types.d.ts → types/switch.d.ts} +0 -0
  396. /package/dist/{components/tabs/types.d.ts → types/tabs.d.ts} +0 -0
  397. /package/dist/{components/tag/types.d.ts → types/tag.d.ts} +0 -0
  398. /package/dist/{components/time-picker/types.d.ts → types/time-picker.d.ts} +0 -0
  399. /package/dist/{components/timeline/types.d.ts → types/timeline.d.ts} +0 -0
  400. /package/dist/{components/tooltip/types.d.ts → types/tooltip.d.ts} +0 -0
  401. /package/dist/{components/transfer/types.d.ts → types/transfer.d.ts} +0 -0
  402. /package/dist/{components/visually-hidden/types.d.ts → types/visually-hidden.d.ts} +0 -0
  403. /package/dist/{components/watermark/types.d.ts → types/watermark.d.ts} +0 -0
@@ -55,7 +55,7 @@ var Pagination = function Pagination(_ref) {
55
55
  }
56
56
  };
57
57
  var sizeOptions = React.useMemo(function () {
58
- return Array.from(new Set(pageSizes)).map(function (size) {
58
+ return relax.unique(pageSizes).map(function (size) {
59
59
  return {
60
60
  value: size,
61
61
  label: relax.toFunction(locale.size)(size)
@@ -7,7 +7,7 @@ import { useClassNames } from '../../hooks/use-class-names.mjs';
7
7
  import { PaginationClassToken } from '../../utils/class-name.mjs';
8
8
  import { ComponentToken } from '../../utils/component-token.mjs';
9
9
  import { useLocale } from '../../locale/use-locale.mjs';
10
- import { toFunction, clsx } from '@aiszlab/relax';
10
+ import { unique, toFunction, clsx } from '@aiszlab/relax';
11
11
 
12
12
  var Pagination = function Pagination(_ref) {
13
13
  var _ref$total = _ref.total,
@@ -53,7 +53,7 @@ var Pagination = function Pagination(_ref) {
53
53
  }
54
54
  };
55
55
  var sizeOptions = useMemo(function () {
56
- return Array.from(new Set(pageSizes)).map(function (size) {
56
+ return unique(pageSizes).map(function (size) {
57
57
  return {
58
58
  value: size,
59
59
  label: toFunction(locale.size)(size)
@@ -1,2 +1,2 @@
1
- import { ContextValue } from "../../types/picker";
1
+ import type { ContextValue } from "musae/types/picker";
2
2
  export declare const Context: import("react").Context<ContextValue>;
@@ -1,4 +1,4 @@
1
1
  import React from "react";
2
- import type { PickerProps, PickerRef } from "../../types/picker";
2
+ import type { PickerProps, PickerRef } from "musae/types/picker";
3
3
  declare const Picker: React.ForwardRefExoticComponent<PickerProps & React.RefAttributes<PickerRef>>;
4
4
  export default Picker;
@@ -1,4 +1,4 @@
1
1
  import React from "react";
2
- import type { PopconfirmProps, ChildProps } from "./types";
2
+ import type { PopconfirmProps, ChildProps } from "musae/types/popconfirm";
3
3
  declare const Popconfirm: <P extends ChildProps<T>, T extends HTMLElement>({ content, title, onConfirm, onCancel, className, placement, children: _children, style, }: PopconfirmProps<P, T>) => React.JSX.Element;
4
4
  export default Popconfirm;
@@ -1,4 +1,4 @@
1
- import { type PopperRef } from "../popper";
1
+ import type { PopperRef } from "musae/types/popper";
2
2
  type UsedIsOpen = [
3
3
  boolean,
4
4
  {
@@ -1,4 +1,4 @@
1
1
  import Popover from "./popover";
2
- import type { PopoverProps, PopoverRef } from "./types";
2
+ import type { PopoverProps, PopoverRef } from "musae/types/popover";
3
3
  export { Popover };
4
4
  export type { PopoverProps, PopoverRef };
@@ -96,7 +96,7 @@ var Popover = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {
96
96
  return relax.chain(_children.props.onFocus, turnOn)(event);
97
97
  },
98
98
  onBlur: function onBlur(event) {
99
- return relax.chain(_children.props.onBlur)(event);
99
+ return relax.chain(_children.props.onBlur, disappear)(event);
100
100
  }
101
101
  }),
102
102
  _useFocus2 = _slicedToArray(_useFocus, 2),
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- import type { ChildProps, PopoverRef } from "./types";
2
+ import type { ChildProps, PopoverRef } from "musae/types/popover";
3
3
  declare const Popover: React.ForwardRefExoticComponent<import("../../types/element").ComponentProps & {
4
4
  children: React.ReactElement<ChildProps<HTMLElement>, string | React.JSXElementConstructor<any>>;
5
5
  title?: React.ReactNode;
@@ -94,7 +94,7 @@ var Popover = /*#__PURE__*/forwardRef(function (_ref2, ref) {
94
94
  return chain(_children.props.onFocus, turnOn)(event);
95
95
  },
96
96
  onBlur: function onBlur(event) {
97
- return chain(_children.props.onBlur)(event);
97
+ return chain(_children.props.onBlur, disappear)(event);
98
98
  }
99
99
  }),
100
100
  _useFocus2 = _slicedToArray(_useFocus, 2),
@@ -15,6 +15,25 @@ var dom = require('@aiszlab/relax/dom');
15
15
 
16
16
  var _excluded = ["open", "children", "placement", "style", "className", "onExit", "onExited", "onEntered", "trigger", "offset", "overlay", "arrow", "disappearable"];
17
17
  var styles = {
18
+ portal: {
19
+ "default": {
20
+ position: "musaex-ixxii4",
21
+ overflow: "musaex-b3r6kr",
22
+ overflowX: null,
23
+ overflowY: null,
24
+ pointerEvents: "musaex-47corl",
25
+ inset: "musaex-10a8y8t",
26
+ insetInline: null,
27
+ insetInlineStart: null,
28
+ insetInlineEnd: null,
29
+ left: null,
30
+ right: null,
31
+ insetBlock: null,
32
+ top: null,
33
+ bottom: null,
34
+ $$css: true
35
+ }
36
+ },
18
37
  dropdown: {
19
38
  "default": function _default(props) {
20
39
  return [{
@@ -35,10 +54,12 @@ var styles = {
35
54
  borderTopRightRadius: null,
36
55
  borderBottomLeftRadius: null,
37
56
  borderBottomRightRadius: null,
38
- overflow: "musaex-ysyzu8",
39
- overflowX: null,
40
- overflowY: null,
41
- willChange: "musaex-19wnzia",
57
+ pointerEvents: "musaex-67bb7w",
58
+ willChange: "musaex-1enemt",
59
+ transitionProperty: "musaex-qzan4j",
60
+ transitionDuration: "musaex-1g2r6go",
61
+ display: "musaex-1s85apg",
62
+ opacity: "musaex-g01cxk",
42
63
  $$css: true
43
64
  }, {
44
65
  "--backgroundColor": props.backgroundColor != null ? props.backgroundColor : "initial"
@@ -75,7 +96,7 @@ var Dropdown = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
75
96
  onExited = _ref.onExited,
76
97
  onEntered = _ref.onEntered,
77
98
  trigger = _ref.trigger,
78
- _offset = _ref.offset,
99
+ offset = _ref.offset,
79
100
  _ref$overlay = _ref.overlay,
80
101
  overlay = _ref$overlay === void 0 ? false : _ref$overlay,
81
102
  _ref$arrow = _ref.arrow,
@@ -87,26 +108,23 @@ var Dropdown = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
87
108
  var theme = hooks.useTheme();
88
109
  var _useFloating = hooks$1.useFloating({
89
110
  arrowable: arrowable,
90
- offset: _offset,
111
+ offset: offset,
91
112
  placement: placement,
92
113
  open: open,
93
- trigger: trigger
94
- }),
95
- floatableRef = _useFloating.floatableRef,
96
- arrowRef = _useFloating.arrowRef;
97
- var _useAnimation = hooks$1.useAnimation({
98
- open: open,
99
- disappearable: disappearable,
114
+ trigger: trigger,
100
115
  onEntered: onEntered,
101
116
  onExit: onExit,
102
- onExited: onExited
117
+ onExited: onExited,
118
+ disappearable: disappearable
103
119
  }),
104
- disappear = _useAnimation.disappear,
105
- animatableRef = _useAnimation.animatableRef;
106
- var refs = relax.useRefs(floatableRef, animatableRef);
120
+ floatableRef = _useFloating.floatableRef,
121
+ arrowRef = _useFloating.arrowRef,
122
+ _disappear = _useFloating.disappear;
107
123
  React.useImperativeHandle(ref, function () {
108
124
  return {
109
- disappear: disappear,
125
+ disappear: function disappear() {
126
+ return _disappear(true);
127
+ },
110
128
  contains: function contains(node) {
111
129
  return dom.contains(floatableRef.current, node);
112
130
  }
@@ -118,10 +136,14 @@ var Dropdown = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
118
136
  }), overlay && styles.dropdown.overlay),
119
137
  arrow: stylex.default.props(styles.arrow["default"]({
120
138
  backgroundColor: theme.colors[colors.ColorToken.SurfaceContainer]
121
- }))
139
+ })),
140
+ portal: stylex.default.props(styles.portal["default"])
122
141
  };
123
- return /*#__PURE__*/React.createElement("div", _objectSpread(_objectSpread({
124
- ref: refs
142
+ return /*#__PURE__*/React.createElement("div", {
143
+ className: styled.portal.className,
144
+ style: styled.portal.style
145
+ }, /*#__PURE__*/React.createElement("div", _objectSpread(_objectSpread({
146
+ ref: floatableRef
125
147
  }, props), {}, {
126
148
  className: relax.clsx(classNames[className.PopperClassToken.Dropdown], className$1, styled.dropdown.className),
127
149
  style: _objectSpread(_objectSpread({}, styled.dropdown.style), style)
@@ -129,7 +151,7 @@ var Dropdown = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
129
151
  ref: arrowRef,
130
152
  className: styled.arrow.className,
131
153
  style: styled.arrow.style
132
- })));
154
+ }))));
133
155
  });
134
156
 
135
157
  exports.default = Dropdown;
@@ -1,6 +1,6 @@
1
1
  import React from "react";
2
- import type { PopperRef } from "./types";
3
- declare const Dropdown: React.ForwardRefExoticComponent<Omit<import("./types").PopperProps, "container" | "placement" | "portal"> & {
2
+ import type { PopperRef } from "musae/types/popper";
3
+ declare const Dropdown: React.ForwardRefExoticComponent<Omit<import("musae/types/popper").PopperProps, "container" | "placement" | "portal"> & {
4
4
  placement: import("@floating-ui/dom").Placement;
5
5
  } & React.RefAttributes<PopperRef>>;
6
6
  export default Dropdown;
@@ -4,8 +4,8 @@ import React, { forwardRef, useImperativeHandle } from 'react';
4
4
  import { PopperClassToken } from '../../utils/class-name.mjs';
5
5
  import { useClassNames } from '../../hooks/use-class-names.mjs';
6
6
  import _stylex from '../../node_modules/.pnpm/@stylexjs_stylex@0.7.5/node_modules/@stylexjs/stylex/lib/es/stylex.mjs';
7
- import { useRefs, clsx } from '@aiszlab/relax';
8
- import { useFloating, useAnimation } from './hooks.mjs';
7
+ import { clsx } from '@aiszlab/relax';
8
+ import { useFloating } from './hooks.mjs';
9
9
  import { useTheme } from '../theme/hooks.mjs';
10
10
  import { ColorToken } from '../../utils/colors.mjs';
11
11
  import { ComponentToken } from '../../utils/component-token.mjs';
@@ -13,6 +13,25 @@ import { contains } from '@aiszlab/relax/dom';
13
13
 
14
14
  var _excluded = ["open", "children", "placement", "style", "className", "onExit", "onExited", "onEntered", "trigger", "offset", "overlay", "arrow", "disappearable"];
15
15
  var styles = {
16
+ portal: {
17
+ "default": {
18
+ position: "musaex-ixxii4",
19
+ overflow: "musaex-b3r6kr",
20
+ overflowX: null,
21
+ overflowY: null,
22
+ pointerEvents: "musaex-47corl",
23
+ inset: "musaex-10a8y8t",
24
+ insetInline: null,
25
+ insetInlineStart: null,
26
+ insetInlineEnd: null,
27
+ left: null,
28
+ right: null,
29
+ insetBlock: null,
30
+ top: null,
31
+ bottom: null,
32
+ $$css: true
33
+ }
34
+ },
16
35
  dropdown: {
17
36
  "default": function _default(props) {
18
37
  return [{
@@ -33,10 +52,12 @@ var styles = {
33
52
  borderTopRightRadius: null,
34
53
  borderBottomLeftRadius: null,
35
54
  borderBottomRightRadius: null,
36
- overflow: "musaex-ysyzu8",
37
- overflowX: null,
38
- overflowY: null,
39
- willChange: "musaex-19wnzia",
55
+ pointerEvents: "musaex-67bb7w",
56
+ willChange: "musaex-1enemt",
57
+ transitionProperty: "musaex-qzan4j",
58
+ transitionDuration: "musaex-1g2r6go",
59
+ display: "musaex-1s85apg",
60
+ opacity: "musaex-g01cxk",
40
61
  $$css: true
41
62
  }, {
42
63
  "--backgroundColor": props.backgroundColor != null ? props.backgroundColor : "initial"
@@ -73,7 +94,7 @@ var Dropdown = /*#__PURE__*/forwardRef(function (_ref, ref) {
73
94
  onExited = _ref.onExited,
74
95
  onEntered = _ref.onEntered,
75
96
  trigger = _ref.trigger,
76
- _offset = _ref.offset,
97
+ offset = _ref.offset,
77
98
  _ref$overlay = _ref.overlay,
78
99
  overlay = _ref$overlay === void 0 ? false : _ref$overlay,
79
100
  _ref$arrow = _ref.arrow,
@@ -85,26 +106,23 @@ var Dropdown = /*#__PURE__*/forwardRef(function (_ref, ref) {
85
106
  var theme = useTheme();
86
107
  var _useFloating = useFloating({
87
108
  arrowable: arrowable,
88
- offset: _offset,
109
+ offset: offset,
89
110
  placement: placement,
90
111
  open: open,
91
- trigger: trigger
92
- }),
93
- floatableRef = _useFloating.floatableRef,
94
- arrowRef = _useFloating.arrowRef;
95
- var _useAnimation = useAnimation({
96
- open: open,
97
- disappearable: disappearable,
112
+ trigger: trigger,
98
113
  onEntered: onEntered,
99
114
  onExit: onExit,
100
- onExited: onExited
115
+ onExited: onExited,
116
+ disappearable: disappearable
101
117
  }),
102
- disappear = _useAnimation.disappear,
103
- animatableRef = _useAnimation.animatableRef;
104
- var refs = useRefs(floatableRef, animatableRef);
118
+ floatableRef = _useFloating.floatableRef,
119
+ arrowRef = _useFloating.arrowRef,
120
+ _disappear = _useFloating.disappear;
105
121
  useImperativeHandle(ref, function () {
106
122
  return {
107
- disappear: disappear,
123
+ disappear: function disappear() {
124
+ return _disappear(true);
125
+ },
108
126
  contains: function contains$1(node) {
109
127
  return contains(floatableRef.current, node);
110
128
  }
@@ -116,10 +134,14 @@ var Dropdown = /*#__PURE__*/forwardRef(function (_ref, ref) {
116
134
  }), overlay && styles.dropdown.overlay),
117
135
  arrow: _stylex.props(styles.arrow["default"]({
118
136
  backgroundColor: theme.colors[ColorToken.SurfaceContainer]
119
- }))
137
+ })),
138
+ portal: _stylex.props(styles.portal["default"])
120
139
  };
121
- return /*#__PURE__*/React.createElement("div", _objectSpread(_objectSpread({
122
- ref: refs
140
+ return /*#__PURE__*/React.createElement("div", {
141
+ className: styled.portal.className,
142
+ style: styled.portal.style
143
+ }, /*#__PURE__*/React.createElement("div", _objectSpread(_objectSpread({
144
+ ref: floatableRef
123
145
  }, props), {}, {
124
146
  className: clsx(classNames[PopperClassToken.Dropdown], className, styled.dropdown.className),
125
147
  style: _objectSpread(_objectSpread({}, styled.dropdown.style), style)
@@ -127,7 +149,7 @@ var Dropdown = /*#__PURE__*/forwardRef(function (_ref, ref) {
127
149
  ref: arrowRef,
128
150
  className: styled.arrow.className,
129
151
  style: styled.arrow.style
130
- })));
152
+ }))));
131
153
  });
132
154
 
133
155
  export { Dropdown as default };
@@ -28,132 +28,125 @@ var useOffsets = function useOffsets(_ref) {
28
28
  };
29
29
  /**
30
30
  * @description
31
- * use animation
31
+ * floating position
32
32
  */
33
- var useAnimation = function useAnimation(_ref2) {
33
+ var useFloating = function useFloating(_ref2) {
34
34
  var open = _ref2.open,
35
- disappearable = _ref2.disappearable,
35
+ _trigger = _ref2.trigger,
36
+ placement = _ref2.placement,
37
+ arrowable = _ref2.arrowable,
38
+ _offset = _ref2.offset,
36
39
  onEntered = _ref2.onEntered,
37
40
  onExit = _ref2.onExit,
38
- onExited = _ref2.onExited;
41
+ onExited = _ref2.onExited,
42
+ disappearable = _ref2.disappearable;
39
43
  var _useAnimate = framerMotion.useAnimate(),
40
44
  _useAnimate2 = _slicedToArray(_useAnimate, 2),
41
- animatableRef = _useAnimate2[0],
45
+ floatableRef = _useAnimate2[0],
42
46
  animate = _useAnimate2[1];
47
+ var arrowRef = React.useRef(null);
48
+ var _useContainer = useContainer.useContainer({
49
+ container: _trigger,
50
+ useBody: false
51
+ }, [open]),
52
+ trigger = _useContainer.container;
53
+ var _isOpen = React.useRef(false);
54
+ // appear animation
55
+ // prevent open again when opened
56
+ // first remove `display: none` style
57
+ // then animate
43
58
  var appear = relax.useEvent(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
44
59
  return _regeneratorRuntime().wrap(function _callee$(_context) {
45
60
  while (1) switch (_context.prev = _context.next) {
46
61
  case 0:
47
- animatableRef.current.style.display = "";
48
- _context.next = 3;
49
- return animate(animatableRef.current, {
50
- opacity: 1,
51
- transform: "scale(1, 1)"
62
+ if (!_isOpen.current) {
63
+ _context.next = 2;
64
+ break;
65
+ }
66
+ return _context.abrupt("return");
67
+ case 2:
68
+ _isOpen.current = true;
69
+ floatableRef.current.style.display = "unset";
70
+ _context.next = 6;
71
+ return animate(floatableRef.current, {
72
+ opacity: 1
52
73
  }, {
53
74
  duration: 0.2
54
75
  });
55
- case 3:
56
- _context.next = 5;
76
+ case 6:
77
+ _context.next = 8;
57
78
  return onEntered === null || onEntered === void 0 ? void 0 : onEntered();
58
- case 5:
79
+ case 8:
59
80
  case "end":
60
81
  return _context.stop();
61
82
  }
62
83
  }, _callee);
63
84
  })));
85
+ // disappear animation
86
+ // prevent disappear again when disappeared
87
+ // when using force disappear, it will be forced to disappear
64
88
  var disappear = relax.useEvent(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
89
+ var force,
90
+ _args2 = arguments;
65
91
  return _regeneratorRuntime().wrap(function _callee2$(_context2) {
66
92
  while (1) switch (_context2.prev = _context2.next) {
67
93
  case 0:
68
- _context2.next = 2;
69
- return Promise.all([onExit === null || onExit === void 0 ? void 0 : onExit(), animate(animatableRef.current, {
70
- opacity: 0,
71
- transform: "scale(0, 0)"
94
+ force = _args2.length > 0 && _args2[0] !== undefined ? _args2[0] : false;
95
+ if (_isOpen.current) {
96
+ _context2.next = 3;
97
+ break;
98
+ }
99
+ return _context2.abrupt("return");
100
+ case 3:
101
+ if (!(!force && !disappearable)) {
102
+ _context2.next = 5;
103
+ break;
104
+ }
105
+ return _context2.abrupt("return");
106
+ case 5:
107
+ _isOpen.current = false;
108
+ _context2.next = 8;
109
+ return Promise.all([onExit === null || onExit === void 0 ? void 0 : onExit(), animate(floatableRef.current, {
110
+ opacity: 0
72
111
  }, {
73
112
  duration: 0.2
74
113
  }).then(function () {
75
- if (!animatableRef.current) return;
76
- animatableRef.current.style.display = "none";
114
+ floatableRef.current.style.display = "none";
77
115
  })]);
78
- case 2:
79
- _context2.next = 4;
116
+ case 8:
117
+ _context2.next = 10;
80
118
  return onExited === null || onExited === void 0 ? void 0 : onExited();
81
- case 4:
119
+ case 10:
82
120
  case "end":
83
121
  return _context2.stop();
84
122
  }
85
123
  }, _callee2);
86
124
  })));
87
- var _disappear = React.useCallback(function () {
88
- if (!disappearable) return;
89
- disappear();
90
- }, [disappear, disappearable]);
91
- React.useLayoutEffect(function () {
92
- if (open) {
93
- appear();
94
- return;
95
- }
96
- _disappear();
97
- // eslint-disable-next-line react-hooks/exhaustive-deps
98
- }, [open]);
99
- return {
100
- animatableRef: animatableRef,
101
- disappear: disappear
102
- };
103
- };
104
- /**
105
- * @description
106
- * floating position
107
- */
108
- var useFloating = function useFloating(_ref5) {
109
- var open = _ref5.open,
110
- _trigger = _ref5.trigger,
111
- placement = _ref5.placement,
112
- arrowable = _ref5.arrowable,
113
- _offset = _ref5.offset;
114
- var floatableRef = React.useRef(null);
115
- var _useContainer = useContainer.useContainer({
116
- container: _trigger,
117
- useBody: false
118
- }, [open]),
119
- trigger = _useContainer.container;
120
- var arrowRef = React.useRef(null);
121
125
  // memorized offsets
122
126
  var offsets = useOffsets({
123
127
  offset: _offset,
124
128
  arrowable: arrowable
125
129
  });
126
- // auto update: calc trigger dom to get position
127
- // if trigger changed, re-relate
128
- React.useLayoutEffect(function () {
129
- var floatable = floatableRef.current;
130
+ // position listener
131
+ var position = relax.useEvent(function () {
130
132
  if (!trigger) return;
131
- if (!floatable) return;
132
- var cleanup = dom.autoUpdate(trigger, floatable, function () {
133
- dom.computePosition(trigger, floatable, {
133
+ var cleanup = dom.autoUpdate(trigger, floatableRef.current, function () {
134
+ dom.computePosition(trigger, floatableRef.current, {
134
135
  placement: placement,
135
- middleware: [dom.flip(), dom.offset(offsets), arrowable && !!arrowRef.current && dom.arrow({
136
+ middleware: [dom.flip(), dom.shift(), dom.offset(offsets), arrowable && !!arrowRef.current && dom.arrow({
136
137
  element: arrowRef.current,
137
138
  padding: 16
138
- }), dom.size({
139
- apply: function apply(_ref6) {
140
- var availableWidth = _ref6.availableWidth,
141
- availableHeight = _ref6.availableHeight,
142
- floating = _ref6.elements.floating;
143
- floating.style.maxWidth = "".concat(availableWidth, "px");
144
- floating.style.maxHeight = "".concat(availableHeight, "px");
145
- }
146
139
  })]
147
- }).then(function (_ref7) {
148
- var x = _ref7.x,
149
- y = _ref7.y,
150
- middlewareData = _ref7.middlewareData,
151
- _placement = _ref7.placement;
140
+ }).then(function (_ref5) {
141
+ var x = _ref5.x,
142
+ y = _ref5.y,
143
+ middlewareData = _ref5.middlewareData,
144
+ _placement = _ref5.placement;
152
145
  var _placement$split = _placement.split("-"),
153
146
  _placement$split2 = _slicedToArray(_placement$split, 1),
154
147
  side = _placement$split2[0];
155
148
  // set float element styles
156
- floatable.style.translate = "".concat(x, "px ").concat(y, "px");
149
+ floatableRef.current.style.translate = "".concat(x, "px ").concat(y, "px");
157
150
  // set arrow styles
158
151
  if (middlewareData.arrow && !!arrowRef.current) {
159
152
  var _middlewareData$arrow, _middlewareData$arrow2;
@@ -163,25 +156,31 @@ var useFloating = function useFloating(_ref5) {
163
156
  side === "top" && (arrowRef.current.style.insetBlockEnd = offsetY);
164
157
  side === "bottom" && (arrowRef.current.style.insetBlockStart = offsetY);
165
158
  }
159
+ // use appear animation
160
+ appear();
166
161
  })["catch"](function () {
167
162
  return null;
168
- }).then(function () {
169
- requestAnimationFrame(function () {
170
- floatable.style.transitionProperty = "translate";
171
- floatable.style.transitionDuration = "0.1s";
172
- });
173
163
  });
174
164
  });
175
- return function () {
176
- cleanup();
177
- };
178
- }, [placement, trigger, offsets, arrowable]);
165
+ return cleanup;
166
+ });
167
+ // auto update: calc trigger dom to get position
168
+ // if trigger changed, re-relate
169
+ React.useEffect(function () {
170
+ if (open) {
171
+ var cleanup = position();
172
+ return function () {
173
+ cleanup === null || cleanup === void 0 || cleanup();
174
+ };
175
+ }
176
+ disappear();
177
+ }, [disappear, open, position]);
179
178
  return {
180
179
  floatableRef: floatableRef,
181
- arrowRef: arrowRef
180
+ arrowRef: arrowRef,
181
+ disappear: disappear
182
182
  };
183
183
  };
184
184
 
185
- exports.useAnimation = useAnimation;
186
185
  exports.useFloating = useFloating;
187
186
  exports.useOffsets = useOffsets;
@@ -1,4 +1,4 @@
1
- import type { DropdownProps, PopperProps } from "./types";
1
+ import type { DropdownProps, PopperProps } from "musae/types/popper";
2
2
  /**
3
3
  * @description
4
4
  * offset converter
@@ -11,28 +11,22 @@ export declare const useOffsets: ({ offset, arrowable, }: {
11
11
  crossAxis?: number;
12
12
  alignmentAxis?: number | null;
13
13
  };
14
- /**
15
- * @description
16
- * use animation
17
- */
18
- export declare const useAnimation: ({ open, disappearable, onEntered, onExit, onExited, }: {
19
- open: boolean;
20
- disappearable: boolean;
21
- } & Pick<PopperProps, "onEntered" | "onExit" | "onExited">) => {
22
- animatableRef: import("framer-motion").AnimationScope<HTMLDivElement>;
23
- disappear: () => Promise<void>;
24
- };
25
14
  /**
26
15
  * @description
27
16
  * floating position
28
17
  */
29
- export declare const useFloating: ({ open, trigger: _trigger, placement, arrowable, offset: _offset, }: {
18
+ export declare const useFloating: ({ open, trigger: _trigger, placement, arrowable, offset: _offset, onEntered, onExit, onExited, disappearable, }: {
30
19
  open: boolean;
31
20
  trigger: DropdownProps["trigger"];
32
21
  placement: DropdownProps["placement"];
33
22
  arrowable: boolean;
34
23
  offset: DropdownProps["offset"];
24
+ onEntered?: () => Promise<void> | void;
25
+ onExit?: () => Promise<void> | void;
26
+ onExited?: () => Promise<void> | void;
27
+ disappearable: boolean;
35
28
  }) => {
36
- floatableRef: import("react").RefObject<HTMLDivElement>;
29
+ floatableRef: import("framer-motion").AnimationScope<HTMLDivElement>;
37
30
  arrowRef: import("react").RefObject<HTMLDivElement>;
31
+ disappear: (force?: boolean) => Promise<void>;
38
32
  };