@1money/react-ui 1.15.3 → 1.17.0

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 (378) hide show
  1. package/AGENTS.md +393 -0
  2. package/es/components/CheckboxGroup/CheckboxGroup.d.ts +3 -3
  3. package/es/components/CheckboxGroup/CheckboxGroup.js +94 -91
  4. package/es/components/CheckboxGroup/interface.d.ts +21 -15
  5. package/es/components/CheckboxGroup/style/CheckboxGroup.scss +0 -7
  6. package/es/components/Flex/Flex.d.ts +5 -0
  7. package/es/components/Flex/Flex.js +50 -0
  8. package/es/components/Flex/constants.d.ts +41 -0
  9. package/es/components/Flex/constants.js +45 -0
  10. package/es/components/Flex/index.d.ts +5 -0
  11. package/es/components/Flex/index.js +6 -0
  12. package/es/components/Flex/interface.d.ts +13 -0
  13. package/es/components/Flex/interface.js +2 -0
  14. package/es/components/Flex/style/Flex.css +1 -0
  15. package/es/components/Flex/style/Flex.scss +70 -0
  16. package/es/components/Flex/style/css.js +2 -0
  17. package/es/components/Flex/style/index.d.ts +1 -0
  18. package/es/components/Flex/style/index.js +2 -0
  19. package/es/components/Form/Form.d.ts +29 -0
  20. package/es/components/Form/Form.js +188 -0
  21. package/es/components/Form/FormItem.d.ts +4 -0
  22. package/es/components/Form/FormItem.js +165 -0
  23. package/es/components/Form/FormItemContent.d.ts +18 -0
  24. package/es/components/Form/FormItemContent.js +146 -0
  25. package/es/components/Form/constants.d.ts +46 -0
  26. package/es/components/Form/constants.js +65 -0
  27. package/es/components/Form/helper.d.ts +120 -0
  28. package/es/components/Form/helper.js +284 -0
  29. package/es/components/Form/index.d.ts +20 -0
  30. package/es/components/Form/index.js +21 -0
  31. package/es/components/Form/interface.d.ts +238 -0
  32. package/es/components/Form/interface.js +2 -0
  33. package/es/components/Form/style/Form.css +1 -0
  34. package/es/components/Form/style/Form.scss +167 -0
  35. package/es/components/Form/style/css.js +2 -0
  36. package/es/components/Form/style/index.d.ts +1 -0
  37. package/es/components/Form/style/index.js +2 -0
  38. package/es/components/Form/useFormItemContext.d.ts +32 -0
  39. package/es/components/Form/useFormItemContext.js +55 -0
  40. package/es/components/Form/useFormItemWatch.d.ts +51 -0
  41. package/es/components/Form/useFormItemWatch.js +69 -0
  42. package/es/components/Form/useValidationTrigger.d.ts +40 -0
  43. package/es/components/Form/useValidationTrigger.js +74 -0
  44. package/es/components/Grid/Col.d.ts +5 -0
  45. package/es/components/Grid/Col.js +97 -0
  46. package/es/components/Grid/Grid.d.ts +12 -0
  47. package/es/components/Grid/Grid.js +12 -0
  48. package/es/components/Grid/Row.d.ts +5 -0
  49. package/es/components/Grid/Row.js +48 -0
  50. package/es/components/Grid/constants.d.ts +55 -0
  51. package/es/components/Grid/constants.js +66 -0
  52. package/es/components/Grid/helper.d.ts +10 -0
  53. package/es/components/Grid/helper.js +44 -0
  54. package/es/components/Grid/index.d.ts +7 -0
  55. package/es/components/Grid/index.js +8 -0
  56. package/es/components/Grid/interface.d.ts +38 -0
  57. package/es/components/Grid/interface.js +2 -0
  58. package/es/components/Grid/style/Grid.css +1 -0
  59. package/es/components/Grid/style/Grid.scss +196 -0
  60. package/es/components/Grid/style/css.js +2 -0
  61. package/es/components/Grid/style/index.d.ts +1 -0
  62. package/es/components/Grid/style/index.js +2 -0
  63. package/es/components/Input/Input.js +72 -74
  64. package/es/components/Input/interface.d.ts +9 -9
  65. package/es/components/InputAmount/InputAmount.js +228 -276
  66. package/es/components/InputAmount/helper.d.ts +46 -0
  67. package/es/components/InputAmount/helper.js +115 -0
  68. package/es/components/InputAmount/style/normal.css +1 -1
  69. package/es/components/InputAmount/style/normal.scss +2 -2
  70. package/es/components/InputAmount/style/primary.css +1 -1
  71. package/es/components/InputAmount/style/primary.scss +2 -2
  72. package/es/components/Message/style/Message.css +1 -1
  73. package/es/components/Message/style/Message.scss +3 -3
  74. package/es/components/ProForm/ProForm.d.ts +33 -0
  75. package/es/components/ProForm/ProForm.js +208 -0
  76. package/es/components/ProForm/ProFormDependency.d.ts +12 -0
  77. package/es/components/ProForm/ProFormDependency.js +61 -0
  78. package/es/components/ProForm/ProFormList.d.ts +19 -0
  79. package/es/components/ProForm/ProFormList.js +348 -0
  80. package/es/components/ProForm/Submitter.d.ts +21 -0
  81. package/es/components/ProForm/Submitter.js +76 -0
  82. package/es/components/ProForm/constants.d.ts +34 -0
  83. package/es/components/ProForm/constants.js +40 -0
  84. package/es/components/ProForm/fields/ProFormCheckbox.d.ts +6 -0
  85. package/es/components/ProForm/fields/ProFormCheckbox.js +11 -0
  86. package/es/components/ProForm/fields/ProFormCheckboxGroup.d.ts +6 -0
  87. package/es/components/ProForm/fields/ProFormCheckboxGroup.js +46 -0
  88. package/es/components/ProForm/fields/ProFormDigit.d.ts +6 -0
  89. package/es/components/ProForm/fields/ProFormDigit.js +15 -0
  90. package/es/components/ProForm/fields/ProFormMoney.d.ts +6 -0
  91. package/es/components/ProForm/fields/ProFormMoney.js +10 -0
  92. package/es/components/ProForm/fields/ProFormMultiSelect.d.ts +6 -0
  93. package/es/components/ProForm/fields/ProFormMultiSelect.js +27 -0
  94. package/es/components/ProForm/fields/ProFormPassword.d.ts +6 -0
  95. package/es/components/ProForm/fields/ProFormPassword.js +16 -0
  96. package/es/components/ProForm/fields/ProFormRadio.d.ts +6 -0
  97. package/es/components/ProForm/fields/ProFormRadio.js +13 -0
  98. package/es/components/ProForm/fields/ProFormSelect.d.ts +6 -0
  99. package/es/components/ProForm/fields/ProFormSelect.js +13 -0
  100. package/es/components/ProForm/fields/ProFormSwitch.d.ts +6 -0
  101. package/es/components/ProForm/fields/ProFormSwitch.js +11 -0
  102. package/es/components/ProForm/fields/ProFormText.d.ts +6 -0
  103. package/es/components/ProForm/fields/ProFormText.js +15 -0
  104. package/es/components/ProForm/fields/ProFormTextArea.d.ts +6 -0
  105. package/es/components/ProForm/fields/ProFormTextArea.js +16 -0
  106. package/es/components/ProForm/fields/createProFormField.d.ts +43 -0
  107. package/es/components/ProForm/fields/createProFormField.js +200 -0
  108. package/es/components/ProForm/fields/index.d.ts +12 -0
  109. package/es/components/ProForm/fields/index.js +13 -0
  110. package/es/components/ProForm/index.d.ts +7 -0
  111. package/es/components/ProForm/index.js +7 -0
  112. package/es/components/ProForm/interface.d.ts +306 -0
  113. package/es/components/ProForm/interface.js +2 -0
  114. package/es/components/ProForm/layouts/DrawerForm.d.ts +16 -0
  115. package/es/components/ProForm/layouts/DrawerForm.js +79 -0
  116. package/es/components/ProForm/layouts/ModalForm.d.ts +16 -0
  117. package/es/components/ProForm/layouts/ModalForm.js +89 -0
  118. package/es/components/ProForm/layouts/QueryFilter.d.ts +21 -0
  119. package/es/components/ProForm/layouts/QueryFilter.js +132 -0
  120. package/es/components/ProForm/layouts/StepsForm.d.ts +13 -0
  121. package/es/components/ProForm/layouts/StepsForm.js +295 -0
  122. package/es/components/ProForm/layouts/index.d.ts +4 -0
  123. package/es/components/ProForm/layouts/index.js +5 -0
  124. package/es/components/ProForm/layouts/useOverlayForm.d.ts +53 -0
  125. package/es/components/ProForm/layouts/useOverlayForm.js +143 -0
  126. package/es/components/ProForm/style/ProForm.module.css +1 -0
  127. package/es/components/ProForm/style/ProForm.module.scss +59 -0
  128. package/es/components/ProForm/style/css.js +3 -0
  129. package/es/components/ProForm/style/index.d.ts +1 -0
  130. package/es/components/ProForm/style/index.js +3 -0
  131. package/es/components/ProForm/utils.d.ts +72 -0
  132. package/es/components/ProForm/utils.js +206 -0
  133. package/es/components/RadioGroup/RadioGroup.js +46 -23
  134. package/es/components/RadioGroup/interface.d.ts +3 -1
  135. package/es/components/Select/Select.d.ts +1 -1
  136. package/es/components/Select/Select.js +113 -106
  137. package/es/components/Select/constants.d.ts +18 -0
  138. package/es/components/Select/constants.js +19 -0
  139. package/es/components/Sidebar/Sidebar.js +21 -23
  140. package/es/components/Sidebar/SidebarLogo.d.ts +7 -0
  141. package/es/components/Sidebar/SidebarLogo.js +33 -0
  142. package/es/components/Sidebar/SimplySidebar.d.ts +2 -2
  143. package/es/components/Sidebar/SimplySidebar.js +18 -22
  144. package/es/components/Sidebar/Stepper.js +14 -14
  145. package/es/components/Sidebar/constants.d.ts +16 -0
  146. package/es/components/Sidebar/constants.js +17 -0
  147. package/es/components/Sidebar/style/Sidebar.css +1 -1
  148. package/es/components/Sidebar/style/Sidebar.scss +1 -1
  149. package/es/components/Sidebar/style/SimplySidebar.css +1 -1
  150. package/es/components/Sidebar/style/SimplySidebar.scss +1 -1
  151. package/es/components/Sidebar/style/Stepper.css +1 -1
  152. package/es/components/Sidebar/style/Stepper.scss +11 -1
  153. package/es/components/Space/Space.d.ts +5 -0
  154. package/es/components/Space/Space.js +71 -0
  155. package/es/components/Space/constants.d.ts +33 -0
  156. package/es/components/Space/constants.js +37 -0
  157. package/es/components/Space/index.d.ts +5 -0
  158. package/es/components/Space/index.js +6 -0
  159. package/es/components/Space/interface.d.ts +12 -0
  160. package/es/components/Space/interface.js +2 -0
  161. package/es/components/Space/style/Space.css +1 -0
  162. package/es/components/Space/style/Space.scss +40 -0
  163. package/es/components/Space/style/css.js +2 -0
  164. package/es/components/Space/style/index.d.ts +1 -0
  165. package/es/components/Space/style/index.js +2 -0
  166. package/es/components/Switch/Switch.js +28 -25
  167. package/es/components/Switch/interface.d.ts +9 -4
  168. package/es/components/useControlledState/index.d.ts +14 -0
  169. package/es/components/useControlledState/index.js +32 -0
  170. package/es/components/useEventCallback/index.d.ts +11 -0
  171. package/es/components/useEventCallback/index.js +17 -0
  172. package/es/components/useLayoutEffect/index.d.ts +11 -0
  173. package/es/components/useLayoutEffect/index.js +17 -0
  174. package/es/components/useLayoutState/index.d.ts +13 -0
  175. package/es/components/useLayoutState/index.js +71 -0
  176. package/es/components/useMemoizedFn/index.d.ts +12 -0
  177. package/es/components/useMemoizedFn/index.js +27 -0
  178. package/es/components/usePrevious/index.d.ts +11 -0
  179. package/es/components/usePrevious/index.js +19 -0
  180. package/es/components/useSafeState/index.d.ts +12 -0
  181. package/es/components/useSafeState/index.js +24 -0
  182. package/es/components/useSyncState/index.d.ts +14 -0
  183. package/es/components/useSyncState/index.js +37 -0
  184. package/es/components/useUpdateEffect/index.d.ts +9 -0
  185. package/es/components/useUpdateEffect/index.js +19 -0
  186. package/es/index.css +1 -1
  187. package/es/index.d.ts +32 -2
  188. package/es/index.js +30 -1
  189. package/jest.setup.d.ts +1 -0
  190. package/jest.setup.ts +1 -0
  191. package/lib/components/CheckboxGroup/CheckboxGroup.d.ts +3 -3
  192. package/lib/components/CheckboxGroup/CheckboxGroup.js +92 -89
  193. package/lib/components/CheckboxGroup/interface.d.ts +21 -15
  194. package/lib/components/CheckboxGroup/style/CheckboxGroup.scss +0 -7
  195. package/lib/components/Flex/Flex.d.ts +5 -0
  196. package/lib/components/Flex/Flex.js +60 -0
  197. package/lib/components/Flex/constants.d.ts +41 -0
  198. package/lib/components/Flex/constants.js +51 -0
  199. package/lib/components/Flex/index.d.ts +5 -0
  200. package/lib/components/Flex/index.js +60 -0
  201. package/lib/components/Flex/interface.d.ts +13 -0
  202. package/lib/components/Flex/interface.js +6 -0
  203. package/lib/components/Flex/style/Flex.css +1 -0
  204. package/lib/components/Flex/style/Flex.scss +70 -0
  205. package/lib/components/Flex/style/css.js +4 -0
  206. package/lib/components/Flex/style/index.d.ts +1 -0
  207. package/lib/components/Flex/style/index.js +4 -0
  208. package/lib/components/Form/Form.d.ts +29 -0
  209. package/lib/components/Form/Form.js +199 -0
  210. package/lib/components/Form/FormItem.d.ts +4 -0
  211. package/lib/components/Form/FormItem.js +176 -0
  212. package/lib/components/Form/FormItemContent.d.ts +18 -0
  213. package/lib/components/Form/FormItemContent.js +156 -0
  214. package/lib/components/Form/constants.d.ts +46 -0
  215. package/lib/components/Form/constants.js +71 -0
  216. package/lib/components/Form/helper.d.ts +120 -0
  217. package/lib/components/Form/helper.js +290 -0
  218. package/lib/components/Form/index.d.ts +20 -0
  219. package/lib/components/Form/index.js +45 -0
  220. package/lib/components/Form/interface.d.ts +238 -0
  221. package/lib/components/Form/interface.js +6 -0
  222. package/lib/components/Form/style/Form.css +1 -0
  223. package/lib/components/Form/style/Form.scss +167 -0
  224. package/lib/components/Form/style/css.js +4 -0
  225. package/lib/components/Form/style/index.d.ts +1 -0
  226. package/lib/components/Form/style/index.js +4 -0
  227. package/lib/components/Form/useFormItemContext.d.ts +32 -0
  228. package/lib/components/Form/useFormItemContext.js +62 -0
  229. package/lib/components/Form/useFormItemWatch.d.ts +51 -0
  230. package/lib/components/Form/useFormItemWatch.js +76 -0
  231. package/lib/components/Form/useValidationTrigger.d.ts +40 -0
  232. package/lib/components/Form/useValidationTrigger.js +81 -0
  233. package/lib/components/Grid/Col.d.ts +5 -0
  234. package/lib/components/Grid/Col.js +107 -0
  235. package/lib/components/Grid/Grid.d.ts +12 -0
  236. package/lib/components/Grid/Grid.js +18 -0
  237. package/lib/components/Grid/Row.d.ts +5 -0
  238. package/lib/components/Grid/Row.js +58 -0
  239. package/lib/components/Grid/constants.d.ts +55 -0
  240. package/lib/components/Grid/constants.js +72 -0
  241. package/lib/components/Grid/helper.d.ts +10 -0
  242. package/lib/components/Grid/helper.js +51 -0
  243. package/lib/components/Grid/index.d.ts +7 -0
  244. package/lib/components/Grid/index.js +62 -0
  245. package/lib/components/Grid/interface.d.ts +38 -0
  246. package/lib/components/Grid/interface.js +6 -0
  247. package/lib/components/Grid/style/Grid.css +1 -0
  248. package/lib/components/Grid/style/Grid.scss +196 -0
  249. package/lib/components/Grid/style/css.js +4 -0
  250. package/lib/components/Grid/style/index.d.ts +1 -0
  251. package/lib/components/Grid/style/index.js +4 -0
  252. package/lib/components/Input/Input.js +71 -73
  253. package/lib/components/Input/interface.d.ts +9 -9
  254. package/lib/components/InputAmount/InputAmount.js +230 -278
  255. package/lib/components/InputAmount/helper.d.ts +46 -0
  256. package/lib/components/InputAmount/helper.js +122 -0
  257. package/lib/components/InputAmount/style/normal.css +1 -1
  258. package/lib/components/InputAmount/style/normal.scss +2 -2
  259. package/lib/components/InputAmount/style/primary.css +1 -1
  260. package/lib/components/InputAmount/style/primary.scss +2 -2
  261. package/lib/components/Message/style/Message.css +1 -1
  262. package/lib/components/Message/style/Message.scss +3 -3
  263. package/lib/components/ProForm/ProForm.d.ts +33 -0
  264. package/lib/components/ProForm/ProForm.js +216 -0
  265. package/lib/components/ProForm/ProFormDependency.d.ts +12 -0
  266. package/lib/components/ProForm/ProFormDependency.js +67 -0
  267. package/lib/components/ProForm/ProFormList.d.ts +19 -0
  268. package/lib/components/ProForm/ProFormList.js +355 -0
  269. package/lib/components/ProForm/Submitter.d.ts +21 -0
  270. package/lib/components/ProForm/Submitter.js +83 -0
  271. package/lib/components/ProForm/constants.d.ts +34 -0
  272. package/lib/components/ProForm/constants.js +46 -0
  273. package/lib/components/ProForm/fields/ProFormCheckbox.d.ts +6 -0
  274. package/lib/components/ProForm/fields/ProFormCheckbox.js +18 -0
  275. package/lib/components/ProForm/fields/ProFormCheckboxGroup.d.ts +6 -0
  276. package/lib/components/ProForm/fields/ProFormCheckboxGroup.js +53 -0
  277. package/lib/components/ProForm/fields/ProFormDigit.d.ts +6 -0
  278. package/lib/components/ProForm/fields/ProFormDigit.js +22 -0
  279. package/lib/components/ProForm/fields/ProFormMoney.d.ts +6 -0
  280. package/lib/components/ProForm/fields/ProFormMoney.js +17 -0
  281. package/lib/components/ProForm/fields/ProFormMultiSelect.d.ts +6 -0
  282. package/lib/components/ProForm/fields/ProFormMultiSelect.js +34 -0
  283. package/lib/components/ProForm/fields/ProFormPassword.d.ts +6 -0
  284. package/lib/components/ProForm/fields/ProFormPassword.js +23 -0
  285. package/lib/components/ProForm/fields/ProFormRadio.d.ts +6 -0
  286. package/lib/components/ProForm/fields/ProFormRadio.js +20 -0
  287. package/lib/components/ProForm/fields/ProFormSelect.d.ts +6 -0
  288. package/lib/components/ProForm/fields/ProFormSelect.js +20 -0
  289. package/lib/components/ProForm/fields/ProFormSwitch.d.ts +6 -0
  290. package/lib/components/ProForm/fields/ProFormSwitch.js +18 -0
  291. package/lib/components/ProForm/fields/ProFormText.d.ts +6 -0
  292. package/lib/components/ProForm/fields/ProFormText.js +22 -0
  293. package/lib/components/ProForm/fields/ProFormTextArea.d.ts +6 -0
  294. package/lib/components/ProForm/fields/ProFormTextArea.js +23 -0
  295. package/lib/components/ProForm/fields/createProFormField.d.ts +43 -0
  296. package/lib/components/ProForm/fields/createProFormField.js +208 -0
  297. package/lib/components/ProForm/fields/index.d.ts +12 -0
  298. package/lib/components/ProForm/fields/index.js +90 -0
  299. package/lib/components/ProForm/index.d.ts +7 -0
  300. package/lib/components/ProForm/index.js +73 -0
  301. package/lib/components/ProForm/interface.d.ts +306 -0
  302. package/lib/components/ProForm/interface.js +6 -0
  303. package/lib/components/ProForm/layouts/DrawerForm.d.ts +16 -0
  304. package/lib/components/ProForm/layouts/DrawerForm.js +86 -0
  305. package/lib/components/ProForm/layouts/ModalForm.d.ts +16 -0
  306. package/lib/components/ProForm/layouts/ModalForm.js +96 -0
  307. package/lib/components/ProForm/layouts/QueryFilter.d.ts +21 -0
  308. package/lib/components/ProForm/layouts/QueryFilter.js +139 -0
  309. package/lib/components/ProForm/layouts/StepsForm.d.ts +13 -0
  310. package/lib/components/ProForm/layouts/StepsForm.js +302 -0
  311. package/lib/components/ProForm/layouts/index.d.ts +4 -0
  312. package/lib/components/ProForm/layouts/index.js +40 -0
  313. package/lib/components/ProForm/layouts/useOverlayForm.d.ts +53 -0
  314. package/lib/components/ProForm/layouts/useOverlayForm.js +150 -0
  315. package/lib/components/ProForm/style/ProForm.module.css +1 -0
  316. package/lib/components/ProForm/style/ProForm.module.scss +59 -0
  317. package/lib/components/ProForm/style/css.js +4 -0
  318. package/lib/components/ProForm/style/index.d.ts +1 -0
  319. package/lib/components/ProForm/style/index.js +4 -0
  320. package/lib/components/ProForm/utils.d.ts +72 -0
  321. package/lib/components/ProForm/utils.js +213 -0
  322. package/lib/components/RadioGroup/RadioGroup.js +45 -22
  323. package/lib/components/RadioGroup/interface.d.ts +3 -1
  324. package/lib/components/Select/Select.d.ts +1 -1
  325. package/lib/components/Select/Select.js +114 -107
  326. package/lib/components/Select/constants.d.ts +18 -0
  327. package/lib/components/Select/constants.js +25 -0
  328. package/lib/components/Sidebar/Sidebar.js +21 -23
  329. package/lib/components/Sidebar/SidebarLogo.d.ts +7 -0
  330. package/lib/components/Sidebar/SidebarLogo.js +39 -0
  331. package/lib/components/Sidebar/SimplySidebar.d.ts +2 -2
  332. package/lib/components/Sidebar/SimplySidebar.js +17 -21
  333. package/lib/components/Sidebar/Stepper.js +14 -14
  334. package/lib/components/Sidebar/constants.d.ts +16 -0
  335. package/lib/components/Sidebar/constants.js +23 -0
  336. package/lib/components/Sidebar/style/Sidebar.css +1 -1
  337. package/lib/components/Sidebar/style/Sidebar.scss +1 -1
  338. package/lib/components/Sidebar/style/SimplySidebar.css +1 -1
  339. package/lib/components/Sidebar/style/SimplySidebar.scss +1 -1
  340. package/lib/components/Sidebar/style/Stepper.css +1 -1
  341. package/lib/components/Sidebar/style/Stepper.scss +11 -1
  342. package/lib/components/Space/Space.d.ts +5 -0
  343. package/lib/components/Space/Space.js +81 -0
  344. package/lib/components/Space/constants.d.ts +33 -0
  345. package/lib/components/Space/constants.js +43 -0
  346. package/lib/components/Space/index.d.ts +5 -0
  347. package/lib/components/Space/index.js +53 -0
  348. package/lib/components/Space/interface.d.ts +12 -0
  349. package/lib/components/Space/interface.js +6 -0
  350. package/lib/components/Space/style/Space.css +1 -0
  351. package/lib/components/Space/style/Space.scss +40 -0
  352. package/lib/components/Space/style/css.js +4 -0
  353. package/lib/components/Space/style/index.d.ts +1 -0
  354. package/lib/components/Space/style/index.js +4 -0
  355. package/lib/components/Switch/Switch.js +27 -24
  356. package/lib/components/Switch/interface.d.ts +9 -4
  357. package/lib/components/useControlledState/index.d.ts +14 -0
  358. package/lib/components/useControlledState/index.js +39 -0
  359. package/lib/components/useEventCallback/index.d.ts +11 -0
  360. package/lib/components/useEventCallback/index.js +24 -0
  361. package/lib/components/useLayoutEffect/index.d.ts +11 -0
  362. package/lib/components/useLayoutEffect/index.js +23 -0
  363. package/lib/components/useLayoutState/index.d.ts +13 -0
  364. package/lib/components/useLayoutState/index.js +79 -0
  365. package/lib/components/useMemoizedFn/index.d.ts +12 -0
  366. package/lib/components/useMemoizedFn/index.js +33 -0
  367. package/lib/components/usePrevious/index.d.ts +11 -0
  368. package/lib/components/usePrevious/index.js +25 -0
  369. package/lib/components/useSafeState/index.d.ts +12 -0
  370. package/lib/components/useSafeState/index.js +31 -0
  371. package/lib/components/useSyncState/index.d.ts +14 -0
  372. package/lib/components/useSyncState/index.js +44 -0
  373. package/lib/components/useUpdateEffect/index.d.ts +9 -0
  374. package/lib/components/useUpdateEffect/index.js +25 -0
  375. package/lib/index.css +1 -1
  376. package/lib/index.d.ts +32 -2
  377. package/lib/index.js +251 -1
  378. package/package.json +31 -1
@@ -0,0 +1,5 @@
1
+ import type { FC, PropsWithChildren } from 'react';
2
+ import type { SpaceProps } from './interface';
3
+ export declare const Space: FC<PropsWithChildren<SpaceProps>>;
4
+ declare const _default: import("react").NamedExoticComponent<PropsWithChildren<SpaceProps>>;
5
+ export default _default;
@@ -0,0 +1,71 @@
1
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
3
+ var __rest = this && this.__rest || function (s, e) {
4
+ var t = {};
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
6
+ if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
8
+ }
9
+ return t;
10
+ };
11
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
12
+ import { memo, Fragment, Children } from 'react';
13
+ import classnames, { joinCls } from '../../utils/classnames';
14
+ import { SPACE_CLASS, SPACE_CSS_VARS, SPACE_DIRECTION, SPACE_PREFIX, SPACE_SIZE_DEFAULT, SPACE_SIZE_MAP } from './constants';
15
+ var resolveSize = function resolveSize(value) {
16
+ var _a;
17
+ if (value === undefined || value === null) return SPACE_SIZE_DEFAULT;
18
+ if (typeof value === 'number') return value;
19
+ return (_a = SPACE_SIZE_MAP[value]) !== null && _a !== void 0 ? _a : SPACE_SIZE_DEFAULT;
20
+ };
21
+ var normalizeSize = function normalizeSize(size) {
22
+ if (Array.isArray(size)) {
23
+ return [resolveSize(size[0]), resolveSize(size[1])];
24
+ }
25
+ var resolved = resolveSize(size);
26
+ return [resolved, resolved];
27
+ };
28
+ export var Space = function Space(props) {
29
+ var children = props.children,
30
+ align = props.align,
31
+ _props$direction = props.direction,
32
+ direction = _props$direction === void 0 ? SPACE_DIRECTION.horizontal : _props$direction,
33
+ size = props.size,
34
+ split = props.split,
35
+ _props$wrap = props.wrap,
36
+ wrap = _props$wrap === void 0 ? false : _props$wrap,
37
+ className = props.className,
38
+ style = props.style,
39
+ _props$prefixCls = props.prefixCls,
40
+ prefixCls = _props$prefixCls === void 0 ? SPACE_PREFIX : _props$prefixCls,
41
+ rest = __rest(props, ["children", "align", "direction", "size", "split", "wrap", "className", "style", "prefixCls"]);
42
+ var classes = classnames(prefixCls);
43
+ var isVertical = direction === SPACE_DIRECTION.vertical;
44
+ var _normalizeSize = normalizeSize(size),
45
+ _normalizeSize2 = _slicedToArray(_normalizeSize, 2),
46
+ gapX = _normalizeSize2[0],
47
+ gapY = _normalizeSize2[1];
48
+ var shouldWrap = wrap && !isVertical;
49
+ var classNameValue = classes(void 0, joinCls(isVertical && classes(SPACE_CLASS.vertical), align && classes("".concat(SPACE_CLASS.align, "-").concat(align)), shouldWrap && classes(SPACE_CLASS.wrap), className));
50
+ var mergedStyle = Object.assign(Object.assign({}, style), _defineProperty(_defineProperty({}, SPACE_CSS_VARS.gapX, "".concat(gapX, "px")), SPACE_CSS_VARS.gapY, "".concat(gapY, "px")));
51
+ var childrenArray = Children.toArray(children);
52
+ var content = childrenArray.map(function (child, index) {
53
+ var isLast = index === childrenArray.length - 1;
54
+ return _jsxs(Fragment, {
55
+ children: [_jsx("div", {
56
+ className: classes(SPACE_CLASS.item),
57
+ children: child
58
+ }), !isLast && split ? _jsx("span", {
59
+ className: classes(SPACE_CLASS.split),
60
+ children: split
61
+ }) : null]
62
+ }, "space-item-".concat(index));
63
+ });
64
+ return _jsx("div", Object.assign({}, rest, {
65
+ style: mergedStyle,
66
+ className: classNameValue,
67
+ children: content
68
+ }));
69
+ };
70
+ export default /*#__PURE__*/memo(Space);
71
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvU3BhY2UvU3BhY2UuanMiLCJjb21wb25lbnRzL3NyYy9jb21wb25lbnRzL1NwYWNlL1NwYWNlLnRzeCJdLCJuYW1lcyI6WyJfX3Jlc3QiLCJzIiwiZSIsInQiLCJwIiwiT2JqZWN0IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaW5kZXhPZiIsImdldE93blByb3BlcnR5U3ltYm9scyIsImkiLCJsZW5ndGgiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJtZW1vIiwiRnJhZ21lbnQiLCJDaGlsZHJlbiIsImNsYXNzbmFtZXMiLCJqb2luQ2xzIiwiU1BBQ0VfQ0xBU1MiLCJTUEFDRV9DU1NfVkFSUyIsIlNQQUNFX0RJUkVDVElPTiIsIlNQQUNFX1BSRUZJWCIsIlNQQUNFX1NJWkVfREVGQVVMVCIsIlNQQUNFX1NJWkVfTUFQIiwicmVzb2x2ZVNpemUiLCJ2YWx1ZSIsIl9hIiwidW5kZWZpbmVkIiwibm9ybWFsaXplU2l6ZSIsInNpemUiLCJBcnJheSIsImlzQXJyYXkiLCJyZXNvbHZlZCIsIlNwYWNlIiwicHJvcHMiLCJjaGlsZHJlbiIsImFsaWduIiwiX3Byb3BzJGRpcmVjdGlvbiIsImRpcmVjdGlvbiIsImhvcml6b250YWwiLCJzcGxpdCIsIl9wcm9wcyR3cmFwIiwid3JhcCIsImNsYXNzTmFtZSIsInN0eWxlIiwiX3Byb3BzJHByZWZpeENscyIsInByZWZpeENscyIsInJlc3QiLCJjbGFzc2VzIiwiaXNWZXJ0aWNhbCIsInZlcnRpY2FsIiwiX25vcm1hbGl6ZVNpemUiLCJfbm9ybWFsaXplU2l6ZTIiLCJfc2xpY2VkVG9BcnJheSIsImdhcFgiLCJnYXBZIiwic2hvdWxkV3JhcCIsImNsYXNzTmFtZVZhbHVlIiwiY29uY2F0IiwibWVyZ2VkU3R5bGUiLCJhc3NpZ24iLCJfZGVmaW5lUHJvcGVydHkiLCJjaGlsZHJlbkFycmF5IiwidG9BcnJheSIsImNvbnRlbnQi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Q0FBUSxHQUN6RCxJQUFJO0lBQUEsQ0FBQSxnQkFBQWtCLE1BQUEsQ0FKbUJTLEtBQUssQ0FBRSxDQUt6QjtFQUVmLENBQUMsQ0FBQztFQUVGLE9BQ0V6RCxJQUFBLENBQUEsS0FBQSxFQUFBVixNQUFBLENBQUE0RCxNQUFBLENBQUEsQ0FBQSxDQUFBLEVBQ01iLElBQUksRUFBQTtJQUNSSCxLQUFLLEVBQUVlLFdBQVc7SUFDbEJoQixTQUFTLEVBQUVjLGNBQWM7SUFBQXRCLFFBQUEsRUFFeEI2QjtFQUFPLENBQUEsQ0FBQSxDQUNKO0FBRVYsQ0FBQztBQUVELDRCQUFlbkQsSUFBSSxDQUFDb0IsS0FBSyxDQUFDIiwiZmlsZSI6ImNvbXBvbmVudHMvU3BhY2UvU3BhY2UuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19yZXN0ID0gKHRoaXMgJiYgdGhpcy5fX3Jlc3QpIHx8IGZ1bmN0aW9uIChzLCBlKSB7XG4gICAgdmFyIHQgPSB7fTtcbiAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkgJiYgZS5pbmRleE9mKHApIDwgMClcbiAgICAgICAgdFtwXSA9IHNbcF07XG4gICAgaWYgKHMgIT0gbnVsbCAmJiB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyA9PT0gXCJmdW5jdGlvblwiKVxuICAgICAgICBmb3IgKHZhciBpID0gMCwgcCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMocyk7IGkgPCBwLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAoZS5pbmRleE9mKHBbaV0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwocywgcFtpXSkpXG4gICAgICAgICAgICAgICAgdFtwW2ldXSA9IHNbcFtpXV07XG4gICAgICAgIH1cbiAgICByZXR1cm4gdDtcbn07XG5pbXBvcnQgeyBqc3ggYXMgX2pzeCwganN4cyBhcyBfanN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgbWVtbywgRnJhZ21lbnQsIENoaWxkcmVuIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IGNsYXNzbmFtZXMsIHsgam9pbkNscyB9IGZyb20gJy4uLy4uL3V0aWxzL2NsYXNzbmFtZXMnO1xuaW1wb3J0IHsgU1BBQ0VfQ0xBU1MsIFNQQUNFX0NTU19WQVJTLCBTUEFDRV9ESVJFQ1RJT04sIFNQQUNFX1BSRUZJWCwgU1BBQ0VfU0laRV9ERUZBVUxULCBTUEFDRV9TSVpFX01BUCB9IGZyb20gJy4vY29uc3RhbnRzJztcbmNvbnN0IHJlc29sdmVTaXplID0gKHZhbHVlKSA9PiB7XG4gICAgdmFyIF9hO1xuICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHZhbHVlID09PSBudWxsKVxuICAgICAgICByZXR1cm4gU1BBQ0VfU0laRV9ERUZBVUxUO1xuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKVxuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgcmV0dXJuIChfYSA9IFNQQUNFX1NJWkVfTUFQW3ZhbHVlXSkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogU1BBQ0VfU0laRV9ERUZBVUxUO1xufTtcbmNvbnN0IG5vcm1hbGl6ZVNpemUgPSAoc2l6ZSkgPT4ge1xuICAgIGlmIChBcnJheS5pc0FycmF5KHNpemUpKSB7XG4gICAgICAgIHJldHVybiBbcmVzb2x2ZVNpemUoc2l6ZVswXSksIHJlc29sdmVTaXplKHNpemVbMV0pXTtcbiAgICB9XG4gICAgY29uc3QgcmVzb2x2ZWQgPSByZXNvbHZlU2l6ZShzaXplKTtcbiAgICByZXR1cm4gW3Jlc29sdmVkLCByZXNvbHZlZF07XG59O1xuZXhwb3J0IGNvbnN0IFNwYWNlID0gcHJvcHMgPT4ge1xuICAgIGNvbnN0IHsgY2hpbGRyZW4sIGFsaWduLCBkaXJlY3Rpb24gPSBTUEFDRV9ESVJFQ1RJT04uaG9yaXpvbnRhbCwgc2l6ZSwgc3BsaXQsIHdyYXAgPSBmYWxzZSwgY2xhc3NOYW1lLCBzdHlsZSwgcHJlZml4Q2xzID0gU1BBQ0VfUFJFRklYIH0gPSBwcm9wcywgcmVzdCA9IF9fcmVzdChwcm9wcywgW1wiY2hpbGRyZW5cIiwgXCJhbGlnblwiLCBcImRpcmVjdGlvblwiLCBcInNpemVcIiwgXCJzcGxpdFwiLCBcIndyYXBcIiwgXCJjbGFzc05hbWVcIiwgXCJzdHlsZVwiLCBcInByZWZpeENsc1wiXSk7XG4gICAgY29uc3QgY2xhc3NlcyA9IGNsYXNzbmFtZXMocHJlZml4Q2xzKTtcbiAgICBjb25zdCBpc1ZlcnRpY2FsID0gZGlyZWN0aW9uID09PSBTUEFDRV9ESVJFQ1RJT04udmVydGljYWw7XG4gICAgY29uc3QgW2dhcFgsIGdhcFldID0gbm9ybWFsaXplU2l6ZShzaXplKTtcbiAgICBjb25zdCBzaG91bGRXcmFwID0gd3JhcCAmJiAhaXNWZXJ0aWNhbDtcbiAgICBjb25zdCBjbGFzc05hbWVWYWx1ZSA9IGNsYXNzZXModm9pZCAwLCBqb2luQ2xzKGlzVmVydGljYWwgJiYgY2xhc3NlcyhTUEFDRV9DTEFTUy52ZXJ0aWNhbCksIGFsaWduICYmIGNsYXNzZXMoYCR7U1BBQ0VfQ0xBU1MuYWxpZ259LSR7YWxpZ259YCksIHNob3VsZFdyYXAgJiYgY2xhc3NlcyhTUEFDRV9DTEFTUy53cmFwKSwgY2xhc3NOYW1lKSk7XG4gICAgY29uc3QgbWVyZ2VkU3R5bGUgPSBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIHN0eWxlKSwgeyBbU1BBQ0VfQ1NTX1ZBUlMuZ2FwWF06IGAke2dhcFh9cHhgLCBbU1BBQ0VfQ1NTX1ZBUlMuZ2FwWV06IGAke2dhcFl9cHhgIH0pO1xuICAgIGNvbnN0IGNoaWxkcmVuQXJyYXkgPSBDaGlsZHJlbi50b0FycmF5KGNoaWxkcmVuKTtcbiAgICBjb25zdCBjb250ZW50ID0gY2hpbGRyZW5BcnJheS5tYXAoKGNoaWxkLCBpbmRleCkgPT4ge1xuICAgICAgICBjb25zdCBpc0xhc3QgPSBpbmRleCA9PT0gY2hpbGRyZW5BcnJheS5sZW5ndGggLSAxO1xuICAgICAgICByZXR1cm4gKF9qc3hzKEZyYWdtZW50LCB7IGNoaWxkcmVuOiBbX2pzeChcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcyhTUEFDRV9DTEFTUy5pdGVtKSwgY2hpbGRyZW46IGNoaWxkIH0pLCAhaXNMYXN0ICYmIHNwbGl0ID8gKF9qc3goXCJzcGFuXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKFNQQUNFX0NMQVNTLnNwbGl0KSwgY2hpbGRyZW46IHNwbGl0IH0pKSA6IG51bGxdIH0sIGBzcGFjZS1pdGVtLSR7aW5kZXh9YCkpO1xuICAgIH0pO1xuICAgIHJldHVybiAoX2pzeChcImRpdlwiLCBPYmplY3QuYXNzaWduKHt9LCByZXN0LCB7IHN0eWxlOiBtZXJnZWRTdHlsZSwgY2xhc3NOYW1lOiBjbGFzc05hbWVWYWx1ZSwgY2hpbGRyZW46IGNvbnRlbnQgfSkpKTtcbn07XG5leHBvcnQgZGVmYXVsdCBtZW1vKFNwYWNlKTsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
@@ -0,0 +1,33 @@
1
+ import type { SpaceSize } from './interface';
2
+ export declare const SPACE_ALIGN: {
3
+ readonly start: "start";
4
+ readonly end: "end";
5
+ readonly center: "center";
6
+ readonly baseline: "baseline";
7
+ };
8
+ export declare const SPACE_DIRECTION: {
9
+ readonly horizontal: "horizontal";
10
+ readonly vertical: "vertical";
11
+ };
12
+ export declare const SPACE_SIZE: {
13
+ readonly small: "small";
14
+ readonly middle: "middle";
15
+ readonly large: "large";
16
+ };
17
+ export declare const SPACE_PREFIX = "space";
18
+ export declare const SPACE_SIZE_SMALL = 8;
19
+ export declare const SPACE_SIZE_MIDDLE = 16;
20
+ export declare const SPACE_SIZE_LARGE = 24;
21
+ export declare const SPACE_SIZE_DEFAULT = 8;
22
+ export declare const SPACE_CSS_VARS: {
23
+ readonly gapX: "--om-space-gap-x";
24
+ readonly gapY: "--om-space-gap-y";
25
+ };
26
+ export declare const SPACE_CLASS: {
27
+ readonly vertical: "vertical";
28
+ readonly align: "align";
29
+ readonly wrap: "wrap";
30
+ readonly item: "item";
31
+ readonly split: "split";
32
+ };
33
+ export declare const SPACE_SIZE_MAP: Record<Exclude<SpaceSize, number>, number>;
@@ -0,0 +1,37 @@
1
+ export var SPACE_ALIGN = {
2
+ start: 'start',
3
+ end: 'end',
4
+ center: 'center',
5
+ baseline: 'baseline'
6
+ };
7
+ export var SPACE_DIRECTION = {
8
+ horizontal: 'horizontal',
9
+ vertical: 'vertical'
10
+ };
11
+ export var SPACE_SIZE = {
12
+ small: 'small',
13
+ middle: 'middle',
14
+ large: 'large'
15
+ };
16
+ export var SPACE_PREFIX = 'space';
17
+ export var SPACE_SIZE_SMALL = 8;
18
+ export var SPACE_SIZE_MIDDLE = 16;
19
+ export var SPACE_SIZE_LARGE = 24;
20
+ export var SPACE_SIZE_DEFAULT = SPACE_SIZE_SMALL;
21
+ export var SPACE_CSS_VARS = {
22
+ gapX: '--om-space-gap-x',
23
+ gapY: '--om-space-gap-y'
24
+ };
25
+ export var SPACE_CLASS = {
26
+ vertical: 'vertical',
27
+ align: 'align',
28
+ wrap: 'wrap',
29
+ item: 'item',
30
+ split: 'split'
31
+ };
32
+ export var SPACE_SIZE_MAP = {
33
+ small: SPACE_SIZE_SMALL,
34
+ middle: SPACE_SIZE_MIDDLE,
35
+ large: SPACE_SIZE_LARGE
36
+ };
37
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvU3BhY2UvY29uc3RhbnRzLnRzIiwiY29tcG9uZW50cy9TcGFjZS9jb25zdGFudHMuanMiXSwibmFtZXMiOlsiU1BBQ0VfQUxJR04iLCJzdGFydCIsImVuZCIsImNlbnRlciIsImJhc2VsaW5lIiwiU1BBQ0VfRElSRUNUSU9OIiwiaG9yaXpvbnRhbCIsInZlcnRpY2FsIiwiU1BBQ0VfU0laRSIsInNtYWxsIiwibWlkZGxlIiwibGFyZ2UiLCJTUEFDRV9QUkVGSVgiLCJTUEFDRV9TSVpFX1NNQUxMIiwiU1BBQ0VfU0laRV9NSURETEUiLCJTUEFDRV9TSVpFX0xBUkdFIiwiU1BBQ0VfU0laRV9ERUZBVUxUIiwiU1BBQ0VfQ1NTX1ZBUlMiLCJnYXBYIiwiZ2FwWSIsIlNQQUNFX0NMQVNTIiwiYWxpZ24iLCJ3cmFwIiwiaXRlbSIsInNwbGl0IiwiU1BBQ0VfU0laRV9NQVAiXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sSUFBTUEsV0FBVyxHQUFHO0VBQ3pCQyxLQUFLLEVBQUUsT0FBTztFQUNkQyxHQUFHLEVBQUUsS0FBSztFQUNWQyxNQUFNLEVBQUUsUUFBUTtFQUNoQkMsUUFBUSxFQUFFO0FDRFosQ0RFVTtBQUVWLE9BQU8sSUFBTUMsZUFBZSxHQUFHO0VBQzdCQyxVQUFVLEVBQUUsWUFBWTtFQUN4QkMsUUFBUSxFQUFFO0FDRlosQ0RHVTtBQUVWLE9BQU8sSUFBTUMsVUFBVSxHQUFHO0VBQ3hCQyxLQUFLLEVBQUUsT0FBTztFQUNkQyxNQUFNLEVBQUUsUUFBUTtFQUNoQkMsS0FBSyxFQUFFO0FDSFQsQ0RJVTtBQUVWLE9BQU8sSUFBTUMsWUFBWSxHQUFHLE9BQU87QUFFbkMsT0FBTyxJQUFNQyxnQkFBZ0IsR0FBRyxDQUFDO0FBQ2pDLE9BQU8sSUFBTUMsaUJBQWlCLEdBQUcsRUFBRTtBQUNuQyxPQUFPLElBQU1DLGdCQUFnQixHQUFHLEVBQUU7QUFDbEMsT0FBTyxJQUFNQyxrQkFBa0IsR0FBR0gsZ0JBQWdCO0FBRWxELE9BQU8sSUFBTUksY0FBYyxHQUFHO0VBQzVCQyxJQUFJLEVBQUUsa0JBQWtCO0VBQ3hCQyxJQUFJLEVBQUU7QUNOUixDRE9VO0FBRVYsT0FBTyxJQUFNQyxXQUFXLEdBQUc7RUFDekJiLFFBQVEsRUFBRSxVQUFVO0VBQ3BCYyxLQUFLLEVBQUUsT0FBTztFQUNkQyxJQUFJLEVBQUUsTUFBTTtFQUNaQyxJQUFJLEVBQUUsTUFBTTtFQUNaQyxLQUFLLEVBQUU7QUNQVCxDRFFVO0FBRVYsT0FBTyxJQUFNQyxjQUFjLEdBQStDO0VBQ3hFaEIsS0FBSyxFQUFFSSxnQkFBZ0I7RUFDdkJILE1BQU0sRUFBRUksaUJBQWlCO0VBQ3pCSCxLQUFLLEVBQUVJO0FDUlQsQ0RTQyIsImZpbGUiOiJjb21wb25lbnRzL1NwYWNlL2NvbnN0YW50cy5qcyIsInNvdXJjZXNDb250ZW50IjpbbnVsbCwiZXhwb3J0IGNvbnN0IFNQQUNFX0FMSUdOID0ge1xuICAgIHN0YXJ0OiAnc3RhcnQnLFxuICAgIGVuZDogJ2VuZCcsXG4gICAgY2VudGVyOiAnY2VudGVyJyxcbiAgICBiYXNlbGluZTogJ2Jhc2VsaW5lJ1xufTtcbmV4cG9ydCBjb25zdCBTUEFDRV9ESVJFQ1RJT04gPSB7XG4gICAgaG9yaXpvbnRhbDogJ2hvcml6b250YWwnLFxuICAgIHZlcnRpY2FsOiAndmVydGljYWwnXG59O1xuZXhwb3J0IGNvbnN0IFNQQUNFX1NJWkUgPSB7XG4gICAgc21hbGw6ICdzbWFsbCcsXG4gICAgbWlkZGxlOiAnbWlkZGxlJyxcbiAgICBsYXJnZTogJ2xhcmdlJ1xufTtcbmV4cG9ydCBjb25zdCBTUEFDRV9QUkVGSVggPSAnc3BhY2UnO1xuZXhwb3J0IGNvbnN0IFNQQUNFX1NJWkVfU01BTEwgPSA4O1xuZXhwb3J0IGNvbnN0IFNQQUNFX1NJWkVfTUlERExFID0gMTY7XG5leHBvcnQgY29uc3QgU1BBQ0VfU0laRV9MQVJHRSA9IDI0O1xuZXhwb3J0IGNvbnN0IFNQQUNFX1NJWkVfREVGQVVMVCA9IFNQQUNFX1NJWkVfU01BTEw7XG5leHBvcnQgY29uc3QgU1BBQ0VfQ1NTX1ZBUlMgPSB7XG4gICAgZ2FwWDogJy0tb20tc3BhY2UtZ2FwLXgnLFxuICAgIGdhcFk6ICctLW9tLXNwYWNlLWdhcC15J1xufTtcbmV4cG9ydCBjb25zdCBTUEFDRV9DTEFTUyA9IHtcbiAgICB2ZXJ0aWNhbDogJ3ZlcnRpY2FsJyxcbiAgICBhbGlnbjogJ2FsaWduJyxcbiAgICB3cmFwOiAnd3JhcCcsXG4gICAgaXRlbTogJ2l0ZW0nLFxuICAgIHNwbGl0OiAnc3BsaXQnXG59O1xuZXhwb3J0IGNvbnN0IFNQQUNFX1NJWkVfTUFQID0ge1xuICAgIHNtYWxsOiBTUEFDRV9TSVpFX1NNQUxMLFxuICAgIG1pZGRsZTogU1BBQ0VfU0laRV9NSURETEUsXG4gICAgbGFyZ2U6IFNQQUNFX1NJWkVfTEFSR0Vcbn07Il0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
@@ -0,0 +1,5 @@
1
+ import Space from './Space';
2
+ export { Space };
3
+ export default Space;
4
+ export * from './interface';
5
+ export { SPACE_ALIGN, SPACE_DIRECTION, SPACE_SIZE } from './constants';
@@ -0,0 +1,6 @@
1
+ import Space from './Space';
2
+ export { Space };
3
+ export default Space;
4
+ export * from './interface';
5
+ export { SPACE_ALIGN, SPACE_DIRECTION, SPACE_SIZE } from './constants';
6
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvU3BhY2UvaW5kZXgudHMiXSwibmFtZXMiOlsiU3BhY2UiLCJTUEFDRV9BTElHTiIsIlNQQUNFX0RJUkVDVElPTiIsIlNQQUNFX1NJWkUiXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLEtBQUssTUFBTSxTQUFTO0FBRTNCLFNBQVNBLEtBQUs7QUFDZCxlQUFlQSxLQUFLO0FBQ3BCLGNBQWMsYUFBYTtBQUMzQixTQUFTQyxXQUFXLEVBQUVDLGVBQWUsRUFBRUMsVUFBVSxRQUFRLGFBQWEiLCJmaWxlIjoiY29tcG9uZW50cy9TcGFjZS9pbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
@@ -0,0 +1,12 @@
1
+ import type { HTMLAttributes, ReactNode } from 'react';
2
+ export type SpaceAlign = 'start' | 'end' | 'center' | 'baseline';
3
+ export type SpaceDirection = 'horizontal' | 'vertical';
4
+ export type SpaceSize = 'small' | 'middle' | 'large' | number;
5
+ export interface SpaceProps extends HTMLAttributes<HTMLDivElement> {
6
+ align?: SpaceAlign;
7
+ direction?: SpaceDirection;
8
+ size?: SpaceSize | [SpaceSize, SpaceSize];
9
+ split?: ReactNode;
10
+ wrap?: boolean;
11
+ prefixCls?: string;
12
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy9TcGFjZS9pbnRlcmZhY2UuanMiLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMiLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvU3BhY2UvaW50ZXJmYWNlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7fTsiXSwibWFwcGluZ3MiOiJBQUFBIiwiaWdub3JlTGlzdCI6W119
@@ -0,0 +1 @@
1
+ .om-react-ui-space{display:inline-flex;gap:var(--om-space-gap-y,8px) var(--om-space-gap-x,8px)}.om-react-ui-space-vertical{flex-direction:column}.om-react-ui-space-wrap{flex-wrap:wrap}.om-react-ui-space-align-start{align-items:flex-start}.om-react-ui-space-align-end{align-items:flex-end}.om-react-ui-space-align-center{align-items:center}.om-react-ui-space-align-baseline{align-items:baseline}.om-react-ui-space-item,.om-react-ui-space-split{display:inline-flex}
@@ -0,0 +1,40 @@
1
+ @use '../../../variable.scss' as *;
2
+
3
+ $component: 'space';
4
+ $space-gap-x: '--om-space-gap-x';
5
+ $space-gap-y: '--om-space-gap-y';
6
+ $space-gap-fallback: 8px;
7
+
8
+ .#{$prefix}-#{$component} {
9
+ display: inline-flex;
10
+ gap: var(#{$space-gap-y}, #{$space-gap-fallback}) var(#{$space-gap-x}, #{$space-gap-fallback});
11
+
12
+ &-vertical {
13
+ flex-direction: column;
14
+ }
15
+
16
+ &-wrap {
17
+ flex-wrap: wrap;
18
+ }
19
+
20
+ &-align-start {
21
+ align-items: flex-start;
22
+ }
23
+
24
+ &-align-end {
25
+ align-items: flex-end;
26
+ }
27
+
28
+ &-align-center {
29
+ align-items: center;
30
+ }
31
+
32
+ &-align-baseline {
33
+ align-items: baseline;
34
+ }
35
+
36
+ &-item,
37
+ &-split {
38
+ display: inline-flex;
39
+ }
40
+ }
@@ -0,0 +1,2 @@
1
+ import './Space.css';
2
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvU3BhY2Uvc3JjL2NvbXBvbmVudHMvU3BhY2Uvc3R5bGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxjQUFjIiwiZmlsZSI6ImNvbXBvbmVudHMvU3BhY2Uvc3R5bGUvY3NzLmpzIiwic291cmNlc0NvbnRlbnQiOltudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
@@ -0,0 +1 @@
1
+ import './Space.scss';
@@ -0,0 +1,2 @@
1
+ import './Space.scss';
2
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvU3BhY2Uvc3JjL2NvbXBvbmVudHMvU3BhY2Uvc3R5bGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxjQUFjIiwiZmlsZSI6ImNvbXBvbmVudHMvU3BhY2Uvc3R5bGUvaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6W251bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
@@ -8,41 +8,44 @@ var __rest = this && this.__rest || function (s, e) {
8
8
  return t;
9
9
  };
10
10
  import { jsx as _jsx } from "react/jsx-runtime";
11
- import { memo, useMemo, useState } from 'react';
11
+ import { memo } from 'react';
12
12
  import { InputSwitch } from 'primereact/inputswitch';
13
13
  import { ToggleButton } from 'primereact/togglebutton';
14
14
  import { default as classnames, joinCls } from '../../utils/classnames';
15
+ import useControlledState from '../useControlledState';
16
+ import useEventCallback from '../useEventCallback';
15
17
  export var Switch = function Switch(props) {
16
18
  var type = props.type,
17
- defaultChecked = props.defaultChecked,
19
+ checkedProp = props.checked,
20
+ _props$defaultChecked = props.defaultChecked,
21
+ defaultChecked = _props$defaultChecked === void 0 ? false : _props$defaultChecked,
18
22
  className = props.className,
19
- _onChange = props.onChange,
23
+ onChange = props.onChange,
20
24
  _props$prefixCls = props.prefixCls,
21
25
  prefixCls = _props$prefixCls === void 0 ? 'switch' : _props$prefixCls,
22
- rest = __rest(props, ["type", "defaultChecked", "className", "onChange", "prefixCls"]);
26
+ rest = __rest(props, ["type", "checked", "defaultChecked", "className", "onChange", "prefixCls"]);
23
27
  var classes = classnames(prefixCls);
24
- var _useState = useState(defaultChecked || false),
25
- _useState2 = _slicedToArray(_useState, 2),
26
- checked = _useState2[0],
27
- setChecked = _useState2[1];
28
- var SwitchComponent = useMemo(function () {
29
- switch (type) {
30
- case 'normal':
31
- return InputSwitch;
32
- case 'button':
33
- return ToggleButton;
34
- default:
35
- return InputSwitch;
36
- }
37
- }, [type]);
38
- return _jsx(SwitchComponent, Object.assign({}, rest, {
39
- className: classes(void 0, joinCls(classes(type), className)),
28
+ var _useControlledState = useControlledState(defaultChecked, checkedProp),
29
+ _useControlledState2 = _slicedToArray(_useControlledState, 2),
30
+ checked = _useControlledState2[0],
31
+ setChecked = _useControlledState2[1];
32
+ var handleChange = useEventCallback(function (e) {
33
+ setChecked(e.value);
34
+ onChange === null || onChange === void 0 ? void 0 : onChange(e);
35
+ });
36
+ var cls = classes(undefined, joinCls(classes(type), className));
37
+ if (type === 'button') {
38
+ return _jsx(ToggleButton, Object.assign({}, rest, {
39
+ className: cls,
40
+ checked: checked,
41
+ onChange: handleChange
42
+ }));
43
+ }
44
+ return _jsx(InputSwitch, Object.assign({}, rest, {
45
+ className: cls,
40
46
  checked: checked,
41
- onChange: function onChange(e) {
42
- setChecked(e.value);
43
- _onChange === null || _onChange === void 0 ? void 0 : _onChange(e);
44
- }
47
+ onChange: handleChange
45
48
  }));
46
49
  };
47
50
  export default /*#__PURE__*/memo(Switch);
48
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvU3dpdGNoL1N3aXRjaC5qcyIsImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvU3dpdGNoL1N3aXRjaC50c3giXSwibmFtZXMiOlsiX19yZXN0IiwicyIsImUiLCJ0IiwicCIsIk9iamVjdCIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImluZGV4T2YiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJpIiwibGVuZ3RoIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJqc3giLCJfanN4IiwibWVtbyIsInVzZU1lbW8iLCJ1c2VTdGF0ZSIsIklucHV0U3dpdGNoIiwiVG9nZ2xlQnV0dG9uIiwiZGVmYXVsdCIsImNsYXNzbmFtZXMiLCJqb2luQ2xzIiwiU3dpdGNoIiwicHJvcHMiLCJ0eXBlIiwiZGVmYXVsdENoZWNrZWQiLCJjbGFzc05hbWUiLCJvbkNoYW5nZSIsIl9wcm9wcyRwcmVmaXhDbHMiLCJwcmVmaXhDbHMiLCJyZXN0IiwiY2xhc3NlcyIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsImNoZWNrZWQiLCJzZXRDaGVja2VkIiwiU3dpdGNoQ29tcG9uZW50IiwiYXNzaWduIiwidmFsdWUiXSwibWFwcGluZ3MiOiI7QUFBQSxJQUFJQSxNQUFNLEdBQUksSUFBSSxJQUFJLElBQUksQ0FBQ0EsTUFBTSxJQUFLLFVBQVVDLENBQUMsRUFBRUMsQ0FBQyxFQUFFO0VBQ2xELElBQUlDLENBQUMsR0FBRyxDQUFDLENBQUM7RUFDVixLQUFLLElBQUlDLENBQUMsSUFBSUgsQ0FBQyxFQUFFLElBQUlJLE1BQU0sQ0FBQ0MsU0FBUyxDQUFDQyxjQUFjLENBQUNDLElBQUksQ0FBQ1AsQ0FBQyxFQUFFRyxDQUFDLENBQUMsSUFBSUYsQ0FBQyxDQUFDTyxPQUFPLENBQUNMLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFDL0VELENBQUMsQ0FBQ0MsQ0FBQyxDQUFDLEdBQUdILENBQUMsQ0FBQ0csQ0FBQyxDQUFD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LENBQVEsQ0FBQztJQUN0QjtFQUFDLENBQUEsQ0FBQSxDQUNEO0FBRU4sQ0FBQztBQUVELDRCQUFlYyxJQUFJLENBQUNRLE1BQU0sQ0FBQyIsImZpbGUiOiJjb21wb25lbnRzL1N3aXRjaC9Td2l0Y2guanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19yZXN0ID0gKHRoaXMgJiYgdGhpcy5fX3Jlc3QpIHx8IGZ1bmN0aW9uIChzLCBlKSB7XG4gICAgdmFyIHQgPSB7fTtcbiAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkgJiYgZS5pbmRleE9mKHApIDwgMClcbiAgICAgICAgdFtwXSA9IHNbcF07XG4gICAgaWYgKHMgIT0gbnVsbCAmJiB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyA9PT0gXCJmdW5jdGlvblwiKVxuICAgICAgICBmb3IgKHZhciBpID0gMCwgcCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMocyk7IGkgPCBwLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAoZS5pbmRleE9mKHBbaV0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwocywgcFtpXSkpXG4gICAgICAgICAgICAgICAgdFtwW2ldXSA9IHNbcFtpXV07XG4gICAgICAgIH1cbiAgICByZXR1cm4gdDtcbn07XG5pbXBvcnQgeyBqc3ggYXMgX2pzeCB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgbWVtbywgdXNlTWVtbywgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBJbnB1dFN3aXRjaCB9IGZyb20gJ3ByaW1lcmVhY3QvaW5wdXRzd2l0Y2gnO1xuaW1wb3J0IHsgVG9nZ2xlQnV0dG9uIH0gZnJvbSAncHJpbWVyZWFjdC90b2dnbGVidXR0b24nO1xuaW1wb3J0IHsgZGVmYXVsdCBhcyBjbGFzc25hbWVzLCBqb2luQ2xzIH0gZnJvbSAnLi4vLi4vdXRpbHMvY2xhc3NuYW1lcyc7XG5leHBvcnQgY29uc3QgU3dpdGNoID0gcHJvcHMgPT4ge1xuICAgIGNvbnN0IHsgdHlwZSwgZGVmYXVsdENoZWNrZWQsIGNsYXNzTmFtZSwgb25DaGFuZ2UsIHByZWZpeENscyA9ICdzd2l0Y2gnIH0gPSBwcm9wcywgcmVzdCA9IF9fcmVzdChwcm9wcywgW1widHlwZVwiLCBcImRlZmF1bHRDaGVja2VkXCIsIFwiY2xhc3NOYW1lXCIsIFwib25DaGFuZ2VcIiwgXCJwcmVmaXhDbHNcIl0pO1xuICAgIGNvbnN0IGNsYXNzZXMgPSBjbGFzc25hbWVzKHByZWZpeENscyk7XG4gICAgY29uc3QgW2NoZWNrZWQsIHNldENoZWNrZWRdID0gdXNlU3RhdGUoZGVmYXVsdENoZWNrZWQgfHwgZmFsc2UpO1xuICAgIGNvbnN0IFN3aXRjaENvbXBvbmVudCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ25vcm1hbCc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIElucHV0U3dpdGNoO1xuICAgICAgICAgICAgY2FzZSAnYnV0dG9uJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gVG9nZ2xlQnV0dG9uO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gSW5wdXRTd2l0Y2g7XG4gICAgICAgIH1cbiAgICB9LCBbdHlwZV0pO1xuICAgIHJldHVybiAoX2pzeChTd2l0Y2hDb21wb25lbnQsIE9iamVjdC5hc3NpZ24oe30sIHJlc3QsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKHZvaWQgMCwgam9pbkNscyhjbGFzc2VzKHR5cGUpLCBjbGFzc05hbWUpKSwgY2hlY2tlZDogY2hlY2tlZCwgb25DaGFuZ2U6IGUgPT4ge1xuICAgICAgICAgICAgc2V0Q2hlY2tlZChlLnZhbHVlKTtcbiAgICAgICAgICAgIG9uQ2hhbmdlID09PSBudWxsIHx8IG9uQ2hhbmdlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkNoYW5nZShlKTtcbiAgICAgICAgfSB9KSkpO1xufTtcbmV4cG9ydCBkZWZhdWx0IG1lbW8oU3dpdGNoKTsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
51
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvU3dpdGNoL1N3aXRjaC5qcyIsImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvU3dpdGNoL1N3aXRjaC50c3giXSwibmFtZXMiOlsiX19yZXN0IiwicyIsImUiLCJ0IiwicCIsIk9iamVjdCIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImluZGV4T2YiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJpIiwibGVuZ3RoIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJqc3giLCJfanN4IiwibWVtbyIsIklucHV0U3dpdGNoIiwiVG9nZ2xlQnV0dG9uIiwiZGVmYXVsdCIsImNsYXNzbmFtZXMiLCJqb2luQ2xzIiwidXNlQ29udHJvbGxlZFN0YXRlIiwidXNlRXZlbnRDYWxsYmFjayIsIlN3aXRjaCIsInByb3BzIiwidHlwZSIsImNoZWNrZWRQcm9wIiwiY2hlY2tlZCIsIl9wcm9wcyRkZWZhdWx0Q2hlY2tlZCIsImRlZmF1bHRDaGVja2VkIiwiY2xhc3NOYW1lIiwib25DaGFuZ2UiLCJfcHJvcHMkcHJlZml4Q2xzIiwicHJlZml4Q2xzIiwicmVzdCIsImNsYXNzZXMiLCJfdXNlQ29udHJvbGxlZFN0YXRlIiwiX3VzZUNvbnRyb2xsZWRTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsInNldENoZWNrZWQiLCJoYW5kbGVDaGFuZ2UiLCJ2YWx1ZSIsImNscyIsInVuZGVmaW5lZCIsImFzc2lnbiJdLCJtYXBwaW5ncyI6IjtBQUFBLElBQUlBLE1BQU0sR0FBSSxJQUFJLElBQUksSUFBSSxDQUFDQSxNQUFNLElBQUssVUFBVUMsQ0FBQyxFQUFFQyxDQUFDLEVBQUU7RUFDbEQsSUFBSUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztFQUNWLEtBQUssSUFBSUMsQ0FBQyxJQUFJSCxDQUFDLEVBQUUsSUFBSUksTUFBTSxDQUFDQyxTQUFTLENBQUNDLGNBQWMsQ0FBQ0MsSUFBSSxDQUFDUCxDQUFDLEVBQUVHLENBQUMsQ0FBQyxJQUFJRixDQUFD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QVEsRUFBRTtJQUNyQixPQUFPWCxJQUFBLENBQUNHLFlBQVksRUFBQWIsTUFBQSxDQUFBd0MsTUFBQSxDQUFBLENBQUEsQ0FBQSxFQUFLVixJQUFJLEVBQUE7TUFBRUosU0FBUyxFQUFFWSxHQUFHO01BQUVmLE9BQU8sRUFBRUEsT0FBTztNQUFFSSxRQUFRLEVBQUVTO0lBQVksQ0FBQSxDQUFBLENBQUk7RUFDN0Y7RUFFQSxPQUFPMUIsSUFBQSxDQUFDRSxXQUFXLEVBQUFaLE1BQUEsQ0FBQXdDLE1BQUEsQ0FBQSxDQUFBLENBQUEsRUFBS1YsSUFBSSxFQUFBO0lBQUVKLFNBQVMsRUFBRVksR0FBRztJQUFFZixPQUFPLEVBQUVBLE9BQU87SUFBRUksUUFBUSxFQUFFUztFQUFZLENBQUEsQ0FBQSxDQUFJO0FBQzVGLENBQUM7QUFFRCw0QkFBZXpCLElBQUksQ0FBQ1EsTUFBTSxDQUFDIiwiZmlsZSI6ImNvbXBvbmVudHMvU3dpdGNoL1N3aXRjaC5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBfX3Jlc3QgPSAodGhpcyAmJiB0aGlzLl9fcmVzdCkgfHwgZnVuY3Rpb24gKHMsIGUpIHtcbiAgICB2YXIgdCA9IHt9O1xuICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSAmJiBlLmluZGV4T2YocCkgPCAwKVxuICAgICAgICB0W3BdID0gc1twXTtcbiAgICBpZiAocyAhPSBudWxsICYmIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzID09PSBcImZ1bmN0aW9uXCIpXG4gICAgICAgIGZvciAodmFyIGkgPSAwLCBwID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhzKTsgaSA8IHAubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmIChlLmluZGV4T2YocFtpXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChzLCBwW2ldKSlcbiAgICAgICAgICAgICAgICB0W3BbaV1dID0gc1twW2ldXTtcbiAgICAgICAgfVxuICAgIHJldHVybiB0O1xufTtcbmltcG9ydCB7IGpzeCBhcyBfanN4IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyBtZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgSW5wdXRTd2l0Y2ggfSBmcm9tICdwcmltZXJlYWN0L2lucHV0c3dpdGNoJztcbmltcG9ydCB7IFRvZ2dsZUJ1dHRvbiB9IGZyb20gJ3ByaW1lcmVhY3QvdG9nZ2xlYnV0dG9uJztcbmltcG9ydCB7IGRlZmF1bHQgYXMgY2xhc3NuYW1lcywgam9pbkNscyB9IGZyb20gJy4uLy4uL3V0aWxzL2NsYXNzbmFtZXMnO1xuaW1wb3J0IHVzZUNvbnRyb2xsZWRTdGF0ZSBmcm9tICcuLi91c2VDb250cm9sbGVkU3RhdGUnO1xuaW1wb3J0IHVzZUV2ZW50Q2FsbGJhY2sgZnJvbSAnLi4vdXNlRXZlbnRDYWxsYmFjayc7XG5leHBvcnQgY29uc3QgU3dpdGNoID0gcHJvcHMgPT4ge1xuICAgIGNvbnN0IHsgdHlwZSwgY2hlY2tlZDogY2hlY2tlZFByb3AsIGRlZmF1bHRDaGVja2VkID0gZmFsc2UsIGNsYXNzTmFtZSwgb25DaGFuZ2UsIHByZWZpeENscyA9ICdzd2l0Y2gnIH0gPSBwcm9wcywgcmVzdCA9IF9fcmVzdChwcm9wcywgW1widHlwZVwiLCBcImNoZWNrZWRcIiwgXCJkZWZhdWx0Q2hlY2tlZFwiLCBcImNsYXNzTmFtZVwiLCBcIm9uQ2hhbmdlXCIsIFwicHJlZml4Q2xzXCJdKTtcbiAgICBjb25zdCBjbGFzc2VzID0gY2xhc3NuYW1lcyhwcmVmaXhDbHMpO1xuICAgIGNvbnN0IFtjaGVja2VkLCBzZXRDaGVja2VkXSA9IHVzZUNvbnRyb2xsZWRTdGF0ZShkZWZhdWx0Q2hlY2tlZCwgY2hlY2tlZFByb3ApO1xuICAgIGNvbnN0IGhhbmRsZUNoYW5nZSA9IHVzZUV2ZW50Q2FsbGJhY2soKGUpID0+IHtcbiAgICAgICAgc2V0Q2hlY2tlZChlLnZhbHVlKTtcbiAgICAgICAgb25DaGFuZ2UgPT09IG51bGwgfHwgb25DaGFuZ2UgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uQ2hhbmdlKGUpO1xuICAgIH0pO1xuICAgIGNvbnN0IGNscyA9IGNsYXNzZXModW5kZWZpbmVkLCBqb2luQ2xzKGNsYXNzZXModHlwZSksIGNsYXNzTmFtZSkpO1xuICAgIGlmICh0eXBlID09PSAnYnV0dG9uJykge1xuICAgICAgICByZXR1cm4gX2pzeChUb2dnbGVCdXR0b24sIE9iamVjdC5hc3NpZ24oe30sIHJlc3QsIHsgY2xhc3NOYW1lOiBjbHMsIGNoZWNrZWQ6IGNoZWNrZWQsIG9uQ2hhbmdlOiBoYW5kbGVDaGFuZ2UgfSkpO1xuICAgIH1cbiAgICByZXR1cm4gX2pzeChJbnB1dFN3aXRjaCwgT2JqZWN0LmFzc2lnbih7fSwgcmVzdCwgeyBjbGFzc05hbWU6IGNscywgY2hlY2tlZDogY2hlY2tlZCwgb25DaGFuZ2U6IGhhbmRsZUNoYW5nZSB9KSk7XG59O1xuZXhwb3J0IGRlZmF1bHQgbWVtbyhTd2l0Y2gpOyIsbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
@@ -1,12 +1,17 @@
1
- import type { InputSwitchProps } from 'primereact/inputswitch';
2
- import type { ToggleButtonProps } from 'primereact/togglebutton';
1
+ import type { InputSwitchChangeEvent, InputSwitchProps } from 'primereact/inputswitch';
2
+ import type { ToggleButtonChangeEvent, ToggleButtonProps } from 'primereact/togglebutton';
3
+ export type SwitchChangeEvent = InputSwitchChangeEvent | ToggleButtonChangeEvent;
4
+ type OmitKeys = 'checked' | 'onChange';
3
5
  interface SwitchBaseProps {
4
6
  prefixCls?: string;
7
+ checked?: boolean;
8
+ defaultChecked?: boolean;
9
+ onChange?(event: SwitchChangeEvent): void;
5
10
  }
6
- interface NormalSwitchProps extends Omit<InputSwitchProps, 'checked'>, SwitchBaseProps {
11
+ interface NormalSwitchProps extends Omit<InputSwitchProps, OmitKeys>, SwitchBaseProps {
7
12
  type?: 'normal';
8
13
  }
9
- interface ButtonSwitchProps extends Omit<ToggleButtonProps, 'checked'>, SwitchBaseProps {
14
+ interface ButtonSwitchProps extends Omit<ToggleButtonProps, OmitKeys>, SwitchBaseProps {
10
15
  type: 'button';
11
16
  }
12
17
  export type SwitchProps = NormalSwitchProps | ButtonSwitchProps;
@@ -0,0 +1,14 @@
1
+ type Updater<T> = (updater: T | ((origin: T) => T)) => void;
2
+ /**
3
+ * Similar to `useState` but will use props value if provided.
4
+ * From React 18, we do not need safe `useState` since it will not throw for unmounted update.
5
+ * This hook removes the `onChange` & `postState` logic since we only need basic merged state logic.
6
+ *
7
+ * The `mergedValue` return already reflects the latest controlled `value` without
8
+ * the layout effect. The effect exists to sync `innerValue` for the edge case where
9
+ * the component starts in uncontrolled mode (calling `setInnerValue` directly) and
10
+ * then transitions to controlled mode (parent starts providing `value`). Without this
11
+ * sync, reverting back to uncontrolled mode would show the stale `innerValue`.
12
+ */
13
+ export default function useControlledState<T>(defaultStateValue: T | (() => T), value?: T): [T, Updater<T>];
14
+ export {};
@@ -0,0 +1,32 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
+ import { useState } from 'react';
3
+ import useLayoutEffect from '../useLayoutEffect';
4
+ /**
5
+ * Similar to `useState` but will use props value if provided.
6
+ * From React 18, we do not need safe `useState` since it will not throw for unmounted update.
7
+ * This hook removes the `onChange` & `postState` logic since we only need basic merged state logic.
8
+ *
9
+ * The `mergedValue` return already reflects the latest controlled `value` without
10
+ * the layout effect. The effect exists to sync `innerValue` for the edge case where
11
+ * the component starts in uncontrolled mode (calling `setInnerValue` directly) and
12
+ * then transitions to controlled mode (parent starts providing `value`). Without this
13
+ * sync, reverting back to uncontrolled mode would show the stale `innerValue`.
14
+ */
15
+ export default function useControlledState(defaultStateValue, value) {
16
+ var _useState = useState(defaultStateValue),
17
+ _useState2 = _slicedToArray(_useState, 2),
18
+ innerValue = _useState2[0],
19
+ setInnerValue = _useState2[1];
20
+ var mergedValue = value !== undefined ? value : innerValue;
21
+ useLayoutEffect(function (mount) {
22
+ if (!mount && value !== undefined) {
23
+ setInnerValue(value);
24
+ }
25
+ }, [value]);
26
+ return [
27
+ // Value
28
+ mergedValue,
29
+ // Update function
30
+ setInnerValue];
31
+ }
32
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvdXNlQ29udHJvbGxlZFN0YXRlL2luZGV4LnRzIiwiY29tcG9uZW50cy91c2VDb250cm9sbGVkU3RhdGUvaW5kZXguanMiXSwibmFtZXMiOlsidXNlU3RhdGUiLCJ1c2VMYXlvdXRFZmZlY3QiLCJ1c2VDb250cm9sbGVkU3RhdGUiLCJkZWZhdWx0U3RhdGVWYWx1ZSIsInZhbHVlIiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwiaW5uZXJWYWx1ZSIsInNldElubmVyVmFsdWUiLCJtZXJnZWRWYWx1ZSIsInVuZGVmaW5lZCIsIm1vdW50Il0sIm1hcHBpbmdzIjoiO0FBQUEsU0FBU0EsUUFBUSxRQUFRLE9BQU87QUFDaEMsT0FBT0MsZUFBZSxNQUFNLG9CQUFvQjtBQUloRDtBQ0ZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FESUEsZUFBYyxTQUFVQyxrQkFBa0JBLENBQ3hDQyxpQkFBZ0MsRUFDaENDLEtBQVMsRUFBQTtFQUVULElBQUFDLFNBQUEsR0FBb0NMLFFBQVEsQ0FBSUcsaUJBQWlCLENBQUM7SUFBQUcsVUFBQSxHQUFBQyxjQUFBLENBQUFGLFNBQUE7SUFBM0RHLFVBQVUsR0FBQUYsVUFBQTtJQUFFRyxhQUFhLEdBQUFILFVBQUE7RUFFaEMsSUFBTUksV0FBVyxHQUFHTixLQUFLLEtBQUtPLFNBQVMsR0FBR1AsS0FBSyxHQUFHSSxVQUFVO0VBRTVEUCxlQUFlLENBQ2IsVUFBQVcsS0FBSyxFQUFHO0lBQ04sSUFBSSxDQUFDQSxLQUFLLElBQUlSLEtBQUssS0FBS08sU0FBUyxFQUFFO01BQ2pDRixhQUFhLENBQUNMLEtBQUssQ0FBQztJQUN0QjtFQUNGLENBQUMsRUFDRCxDQUFDQSxLQUFLLENBQUMsQ0FDUjtFQUVELE9BQU87RUFDTDtFQUNBTSxXQUFXO0VBQ1g7RUFDQUQsYUFBYSxDQUNkO0FBQ0giLCJmaWxlIjoiY29tcG9uZW50cy91c2VDb250cm9sbGVkU3RhdGUvaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6W251bGwsImltcG9ydCB7IHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHVzZUxheW91dEVmZmVjdCBmcm9tICcuLi91c2VMYXlvdXRFZmZlY3QnO1xuLyoqXG4gKiBTaW1pbGFyIHRvIGB1c2VTdGF0ZWAgYnV0IHdpbGwgdXNlIHByb3BzIHZhbHVlIGlmIHByb3ZpZGVkLlxuICogRnJvbSBSZWFjdCAxOCwgd2UgZG8gbm90IG5lZWQgc2FmZSBgdXNlU3RhdGVgIHNpbmNlIGl0IHdpbGwgbm90IHRocm93IGZvciB1bm1vdW50ZWQgdXBkYXRlLlxuICogVGhpcyBob29rIHJlbW92ZXMgdGhlIGBvbkNoYW5nZWAgJiBgcG9zdFN0YXRlYCBsb2dpYyBzaW5jZSB3ZSBvbmx5IG5lZWQgYmFzaWMgbWVyZ2VkIHN0YXRlIGxvZ2ljLlxuICpcbiAqIFRoZSBgbWVyZ2VkVmFsdWVgIHJldHVybiBhbHJlYWR5IHJlZmxlY3RzIHRoZSBsYXRlc3QgY29udHJvbGxlZCBgdmFsdWVgIHdpdGhvdXRcbiAqIHRoZSBsYXlvdXQgZWZmZWN0LiBUaGUgZWZmZWN0IGV4aXN0cyB0byBzeW5jIGBpbm5lclZhbHVlYCBmb3IgdGhlIGVkZ2UgY2FzZSB3aGVyZVxuICogdGhlIGNvbXBvbmVudCBzdGFydHMgaW4gdW5jb250cm9sbGVkIG1vZGUgKGNhbGxpbmcgYHNldElubmVyVmFsdWVgIGRpcmVjdGx5KSBhbmRcbiAqIHRoZW4gdHJhbnNpdGlvbnMgdG8gY29udHJvbGxlZCBtb2RlIChwYXJlbnQgc3RhcnRzIHByb3ZpZGluZyBgdmFsdWVgKS4gV2l0aG91dCB0aGlzXG4gKiBzeW5jLCByZXZlcnRpbmcgYmFjayB0byB1bmNvbnRyb2xsZWQgbW9kZSB3b3VsZCBzaG93IHRoZSBzdGFsZSBgaW5uZXJWYWx1ZWAuXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVzZUNvbnRyb2xsZWRTdGF0ZShkZWZhdWx0U3RhdGVWYWx1ZSwgdmFsdWUpIHtcbiAgICBjb25zdCBbaW5uZXJWYWx1ZSwgc2V0SW5uZXJWYWx1ZV0gPSB1c2VTdGF0ZShkZWZhdWx0U3RhdGVWYWx1ZSk7XG4gICAgY29uc3QgbWVyZ2VkVmFsdWUgPSB2YWx1ZSAhPT0gdW5kZWZpbmVkID8gdmFsdWUgOiBpbm5lclZhbHVlO1xuICAgIHVzZUxheW91dEVmZmVjdChtb3VudCA9PiB7XG4gICAgICAgIGlmICghbW91bnQgJiYgdmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgc2V0SW5uZXJWYWx1ZSh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9LCBbdmFsdWVdKTtcbiAgICByZXR1cm4gW1xuICAgICAgICAvLyBWYWx1ZVxuICAgICAgICBtZXJnZWRWYWx1ZSxcbiAgICAgICAgLy8gVXBkYXRlIGZ1bmN0aW9uXG4gICAgICAgIHNldElubmVyVmFsdWUsXG4gICAgXTtcbn0iXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
@@ -0,0 +1,11 @@
1
+ type Fn<T extends unknown[], R> = (...args: T) => R;
2
+ /**
3
+ * A hook that returns a stable callback reference that always invokes
4
+ * the latest version of the provided function. Similar to the React
5
+ * useEvent RFC proposal.
6
+ *
7
+ * @param fn The function to wrap
8
+ * @returns A stable callback that always calls the latest fn
9
+ */
10
+ export default function useEventCallback<T extends unknown[], R>(fn: Fn<T, R>): Fn<T, R>;
11
+ export {};
@@ -0,0 +1,17 @@
1
+ import { useCallback } from 'react';
2
+ import useLatest from '../useLatest';
3
+ /**
4
+ * A hook that returns a stable callback reference that always invokes
5
+ * the latest version of the provided function. Similar to the React
6
+ * useEvent RFC proposal.
7
+ *
8
+ * @param fn The function to wrap
9
+ * @returns A stable callback that always calls the latest fn
10
+ */
11
+ export default function useEventCallback(fn) {
12
+ var fnRef = useLatest(fn);
13
+ return useCallback(function () {
14
+ return fnRef.current.apply(fnRef, arguments);
15
+ }, []);
16
+ }
17
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvdXNlRXZlbnRDYWxsYmFjay9pbmRleC50cyIsImNvbXBvbmVudHMvdXNlRXZlbnRDYWxsYmFjay9pbmRleC5qcyJdLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsInVzZUxhdGVzdCIsInVzZUV2ZW50Q2FsbGJhY2siLCJmbiIsImZuUmVmIiwiY3VycmVudCIsImFwcGx5IiwiYXJndW1lbnRzIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxXQUFXLFFBQVEsT0FBTztBQUNuQyxPQUFPQyxTQUFTLE1BQU0sY0FBYztBQUlwQztBQ0ZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FESUEsZUFBYyxTQUFVQyxnQkFBZ0JBLENBQXlCQyxFQUFZLEVBQUE7RUFDM0UsSUFBTUMsS0FBSyxHQUFHSCxTQUFTLENBQUNFLEVBQUUsQ0FBQztFQUUzQixPQUFPSCxXQUFXLENBQUMsWUFBZTtJQUNoQyxPQUFPSSxLQUFLLENBQUNDLE9BQU8sQ0FBQUMsS0FBQSxDQUFiRixLQUFLLEVBQUFHLFNBQWdCLENBQUM7RUFDL0IsQ0FBQyxFQUFFLEVBQUUsQ0FBQztBQUNSIiwiZmlsZSI6ImNvbXBvbmVudHMvdXNlRXZlbnRDYWxsYmFjay9pbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbbnVsbCwiaW1wb3J0IHsgdXNlQ2FsbGJhY2sgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgdXNlTGF0ZXN0IGZyb20gJy4uL3VzZUxhdGVzdCc7XG4vKipcbiAqIEEgaG9vayB0aGF0IHJldHVybnMgYSBzdGFibGUgY2FsbGJhY2sgcmVmZXJlbmNlIHRoYXQgYWx3YXlzIGludm9rZXNcbiAqIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGUgcHJvdmlkZWQgZnVuY3Rpb24uIFNpbWlsYXIgdG8gdGhlIFJlYWN0XG4gKiB1c2VFdmVudCBSRkMgcHJvcG9zYWwuXG4gKlxuICogQHBhcmFtIGZuIFRoZSBmdW5jdGlvbiB0byB3cmFwXG4gKiBAcmV0dXJucyBBIHN0YWJsZSBjYWxsYmFjayB0aGF0IGFsd2F5cyBjYWxscyB0aGUgbGF0ZXN0IGZuXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVzZUV2ZW50Q2FsbGJhY2soZm4pIHtcbiAgICBjb25zdCBmblJlZiA9IHVzZUxhdGVzdChmbik7XG4gICAgcmV0dXJuIHVzZUNhbGxiYWNrKCguLi5hcmdzKSA9PiB7XG4gICAgICAgIHJldHVybiBmblJlZi5jdXJyZW50KC4uLmFyZ3MpO1xuICAgIH0sIFtdKTtcbn0iXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
@@ -0,0 +1,11 @@
1
+ import { type DependencyList } from 'react';
2
+ type EffectCallback = (mount: boolean) => void | (() => void);
3
+ /**
4
+ * A custom `useLayoutEffect` that passes a boolean indicating whether
5
+ * it's the initial mount (`true`) or a subsequent update (`false`).
6
+ *
7
+ * @param effect The effect callback that receives a `mount` parameter
8
+ * @param deps The dependency array
9
+ */
10
+ export default function useLayoutEffect(effect: EffectCallback, deps?: DependencyList): void;
11
+ export {};
@@ -0,0 +1,17 @@
1
+ import { useLayoutEffect as reactUseLayoutEffect, useRef } from 'react';
2
+ /**
3
+ * A custom `useLayoutEffect` that passes a boolean indicating whether
4
+ * it's the initial mount (`true`) or a subsequent update (`false`).
5
+ *
6
+ * @param effect The effect callback that receives a `mount` parameter
7
+ * @param deps The dependency array
8
+ */
9
+ export default function useLayoutEffect(effect, deps) {
10
+ var isMounted = useRef(false);
11
+ reactUseLayoutEffect(function () {
12
+ var mount = !isMounted.current;
13
+ isMounted.current = true;
14
+ return effect(mount);
15
+ }, deps);
16
+ }
17
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvdXNlTGF5b3V0RWZmZWN0L2luZGV4LnRzIiwiY29tcG9uZW50cy91c2VMYXlvdXRFZmZlY3QvaW5kZXguanMiXSwibmFtZXMiOlsidXNlTGF5b3V0RWZmZWN0IiwicmVhY3RVc2VMYXlvdXRFZmZlY3QiLCJ1c2VSZWYiLCJlZmZlY3QiLCJkZXBzIiwiaXNNb3VudGVkIiwibW91bnQiLCJjdXJyZW50Il0sIm1hcHBpbmdzIjoiQUFBQSxTQUNFQSxlQUFlLElBQUlDLG9CQUFvQixFQUN2Q0MsTUFBTSxRQUVELE9BQU87QUFJZDtBQ05BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBRFFBLGVBQWMsU0FBVUYsZUFBZUEsQ0FBQ0csTUFBc0IsRUFBRUMsSUFBcUIsRUFBQTtFQUNuRixJQUFNQyxTQUFTLEdBQUdILE1BQU0sQ0FBQyxLQUFLLENBQUM7RUFFL0JELG9CQUFvQixDQUFDLFlBQUs7SUFDeEIsSUFBTUssS0FBSyxHQUFHLENBQUNELFNBQVMsQ0FBQ0UsT0FBTztJQUNoQ0YsU0FBUyxDQUFDRSxPQUFPLEdBQUcsSUFBSTtJQUN4QixPQUFPSixNQUFNLENBQUNHLEtBQUssQ0FBQztFQUN0QixDQUFDLEVBQUVGLElBQUksQ0FBQztBQUNWIiwiZmlsZSI6ImNvbXBvbmVudHMvdXNlTGF5b3V0RWZmZWN0L2luZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOltudWxsLCJpbXBvcnQgeyB1c2VMYXlvdXRFZmZlY3QgYXMgcmVhY3RVc2VMYXlvdXRFZmZlY3QsIHVzZVJlZiwgfSBmcm9tICdyZWFjdCc7XG4vKipcbiAqIEEgY3VzdG9tIGB1c2VMYXlvdXRFZmZlY3RgIHRoYXQgcGFzc2VzIGEgYm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXJcbiAqIGl0J3MgdGhlIGluaXRpYWwgbW91bnQgKGB0cnVlYCkgb3IgYSBzdWJzZXF1ZW50IHVwZGF0ZSAoYGZhbHNlYCkuXG4gKlxuICogQHBhcmFtIGVmZmVjdCBUaGUgZWZmZWN0IGNhbGxiYWNrIHRoYXQgcmVjZWl2ZXMgYSBgbW91bnRgIHBhcmFtZXRlclxuICogQHBhcmFtIGRlcHMgVGhlIGRlcGVuZGVuY3kgYXJyYXlcbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdXNlTGF5b3V0RWZmZWN0KGVmZmVjdCwgZGVwcykge1xuICAgIGNvbnN0IGlzTW91bnRlZCA9IHVzZVJlZihmYWxzZSk7XG4gICAgcmVhY3RVc2VMYXlvdXRFZmZlY3QoKCkgPT4ge1xuICAgICAgICBjb25zdCBtb3VudCA9ICFpc01vdW50ZWQuY3VycmVudDtcbiAgICAgICAgaXNNb3VudGVkLmN1cnJlbnQgPSB0cnVlO1xuICAgICAgICByZXR1cm4gZWZmZWN0KG1vdW50KTtcbiAgICB9LCBkZXBzKTtcbn0iXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
@@ -0,0 +1,13 @@
1
+ export type Updater<State> = (prev: State) => State;
2
+ /**
3
+ * Execute code before next frame but async.
4
+ *
5
+ * Batches multiple state updates into a single microtask (via `Promise.resolve`),
6
+ * reducing unnecessary re-renders when multiple updates happen synchronously.
7
+ *
8
+ * @param defaultState The initial state value
9
+ * @returns A tuple of `[state, setFrameState]`
10
+ */
11
+ export default function useLayoutState<State>(defaultState: State): [State, (updater: Updater<State>) => void];
12
+ /** Lock frame, when frame pass reset the lock. */
13
+ export declare function useTimeoutLock<State>(defaultState?: State): [(state: State) => void, () => State | null];
@@ -0,0 +1,71 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
+ import { useRef, useState, useEffect, useCallback } from 'react';
3
+ /**
4
+ * Execute code before next frame but async.
5
+ *
6
+ * Batches multiple state updates into a single microtask (via `Promise.resolve`),
7
+ * reducing unnecessary re-renders when multiple updates happen synchronously.
8
+ *
9
+ * @param defaultState The initial state value
10
+ * @returns A tuple of `[state, setFrameState]`
11
+ */
12
+ export default function useLayoutState(defaultState) {
13
+ var stateRef = useRef(defaultState);
14
+ var _useState = useState({}),
15
+ _useState2 = _slicedToArray(_useState, 2),
16
+ forceUpdate = _useState2[1];
17
+ var lastPromiseRef = useRef(null);
18
+ var updateBatchRef = useRef([]);
19
+ var setFrameState = useCallback(function (updater) {
20
+ updateBatchRef.current.push(updater);
21
+ var promise = Promise.resolve();
22
+ lastPromiseRef.current = promise;
23
+ promise.then(function () {
24
+ if (lastPromiseRef.current === promise) {
25
+ var prevBatch = updateBatchRef.current;
26
+ var prevState = stateRef.current;
27
+ updateBatchRef.current = [];
28
+ prevBatch.forEach(function (batchUpdater) {
29
+ stateRef.current = batchUpdater(stateRef.current);
30
+ });
31
+ lastPromiseRef.current = null;
32
+ if (prevState !== stateRef.current) {
33
+ forceUpdate({});
34
+ }
35
+ }
36
+ });
37
+ }, []);
38
+ useEffect(function () {
39
+ return function () {
40
+ lastPromiseRef.current = null;
41
+ };
42
+ }, []);
43
+ return [stateRef.current, setFrameState];
44
+ }
45
+ /** Lock frame, when frame pass reset the lock. */
46
+ export function useTimeoutLock(defaultState) {
47
+ var frameRef = useRef(defaultState !== null && defaultState !== void 0 ? defaultState : null);
48
+ var timeoutRef = useRef(null);
49
+ function cleanUp() {
50
+ if (timeoutRef.current != null) {
51
+ clearTimeout(timeoutRef.current);
52
+ timeoutRef.current = null;
53
+ }
54
+ }
55
+ function setState(newState) {
56
+ frameRef.current = newState;
57
+ cleanUp();
58
+ timeoutRef.current = setTimeout(function () {
59
+ frameRef.current = null;
60
+ timeoutRef.current = null;
61
+ }, 100);
62
+ }
63
+ function getState() {
64
+ return frameRef.current;
65
+ }
66
+ useEffect(function () {
67
+ return cleanUp;
68
+ }, []);
69
+ return [setState, getState];
70
+ }
71
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvdXNlTGF5b3V0U3RhdGUvaW5kZXgudHMiLCJjb21wb25lbnRzL3VzZUxheW91dFN0YXRlL2luZGV4LmpzIl0sIm5hbWVzIjpbInVzZVJlZiIsInVzZVN0YXRlIiwidXNlRWZmZWN0IiwidXNlQ2FsbGJhY2siLCJ1c2VMYXlvdXRTdGF0ZSIsImRlZmF1bHRTdGF0ZSIsInN0YXRlUmVmIiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwiZm9yY2VVcGRhdGUiLCJsYXN0UHJvbWlzZVJlZiIsInVwZGF0ZUJhdGNoUmVmIiwic2V0RnJhbWVTdGF0ZSIsInVwZGF0ZXIiLCJjdXJyZW50IiwicHVzaCIsInByb21pc2UiLCJQcm9taXNlIiwicmVzb2x2ZSIsInRoZW4iLCJwcmV2QmF0Y2giLCJwcmV2U3RhdGUiLCJmb3JFYWNoIiwiYmF0Y2hVcGRhdGVyIiwidXNlVGltZW91dExvY2siLCJmcmFtZVJlZiIsInRpbWVvdXRSZWYiLCJjbGVhblVwIiwiY2xlYXJUaW1lb3V0Iiwic2V0U3RhdGUiLCJuZXdTdGF0ZSIsInNldFRpbWVvdXQiLCJnZXRTdGF0ZSJdLCJtYXBwaW5ncyI6IjtBQUFBLFNBQVNBLE1BQU0sRUFBRUMsUUFBUSxFQUFFQyxTQUFTLEVBQUVDLFdBQVcsUUFBUSxPQUFPO0FBSWhFO0FDRkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBRElBLGVBQWMsU0FBVUMsY0FBY0EsQ0FDcENDLFlBQW1CLEVBQUE7RUFFbkIsSUFBTUMsUUFBUSxHQUFHTixNQUFNLENBQUNLLFlBQVksQ0FBQztFQUNyQyxJQUFBRSxTQUFBLEdBQXdCTixRQUFRLENBQUMsQ0FBQSxDQUFFLENBQUM7SUFBQU8sVUFBQSxHQUFBQyxjQUFBLENBQUFGLFNBQUE7SUFBM0JHLFdBQVcsR0FBQUYsVUFBQTtFQUVwQixJQUFNRyxjQUFjLEdBQUdYLE1BQU0sQ0FBdUIsSUFBSSxDQUFDO0VBQ3pELElBQU1ZLGNBQWMsR0FBR1osTUFBTSxDQUFtQixFQUFFLENBQUM7RUFFbkQsSUFBTWEsYUFBYSxHQUFHVixXQUFXLENBQUMsVUFBQ1csT0FBdUIsRUFBSTtJQUM1REYsY0FBYyxDQUFDRyxPQUFPLENBQUNDLElBQUksQ0FBQ0YsT0FBTyxDQUFDO0lBRXBDLElBQU1HLE9BQU8sR0FBR0MsT0FBTyxDQUFDQyxPQUFPLENBQUEsQ0FBRTtJQUNqQ1IsY0FBYyxDQUFDSSxPQUFPLEdBQUdFLE9BQU87SUFFaENBLE9BQU8sQ0FBQ0csSUFBSSxDQUFDLFlBQUs7TUFDaEIsSUFBSVQsY0FBYyxDQUFDSSxPQUFPLEtBQUtFLE9BQU8sRUFBRTtRQUN0QyxJQUFNSSxTQUFTLEdBQUdULGNBQWMsQ0FBQ0csT0FBTztRQUN4QyxJQUFNTyxTQUFTLEdBQUdoQixRQUFRLENBQUNTLE9BQU87UUFDbENILGNBQWMsQ0FBQ0csT0FBTyxHQUFHLEVBQUU7UUFFM0JNLFNBQVMsQ0FBQ0UsT0FBTyxDQUFDLFVBQUFDLFlBQVksRUFBRztVQUMvQmxCLFFBQVEsQ0FBQ1MsT0FBTyxHQUFHUyxZQUFZLENBQUNsQixRQUFRLENBQUNTLE9BQU8sQ0FBQztRQUNuRCxDQUFDLENBQUM7UUFFRkosY0FBYyxDQUFDSSxPQUFPLEdBQUcsSUFBSTtRQUU3QixJQUFJTyxTQUFTLEtBQUtoQixRQUFRLENBQUNTLE9BQU8sRUFBRTtVQUNsQ0wsV0FBVyxDQUFDLENBQUEsQ0FBRSxDQUFDO1FBQ2pCO01BQ0Y7SUFDRixDQUFDLENBQUM7RUFDSixDQUFDLEVBQUUsRUFBRSxDQUFDO0VBRU5SLFNBQVMsQ0FDUDtJQUFBLE9BQU0sWUFBSztNQUNUUyxjQUFjLENBQUNJLE9BQU8sR0FBRyxJQUFJO0lBQy9CLENBQUM7RUFBQSxHQUNELEVBQUUsQ0FDSDtFQUVELE9BQU8sQ0FBQ1QsUUFBUSxDQUFDUyxPQUFPLEVBQUVGLGFBQWEsQ0FBQztBQUMxQztBQUVBO0FBQ0EsT0FBTSxTQUFVWSxjQUFjQSxDQUM1QnBCLFlBQW9CLEVBQUE7RUFFcEIsSUFBTXFCLFFBQVEsR0FBRzFCLE1BQU0sQ0FBZUssWUFBWSxLQUFBLElBQUEsSUFBWkEsWUFBWSxLQUFBLEtBQUEsQ0FBQSxHQUFaQSxZQUFZLEdBQUksSUFBSSxDQUFDO0VBQzNELElBQU1zQixVQUFVLEdBQUczQixNQUFNLENBQXVDLElBQUksQ0FBQztFQUVyRSxTQUFTNEIsT0FBT0EsQ0FBQSxFQUFBO0lBQ2QsSUFBSUQsVUFBVSxDQUFDWixPQUFPLElBQUksSUFBSSxFQUFFO01BQzlCYyxZQUFZLENBQUNGLFVBQVUsQ0FBQ1osT0FBTyxDQUFDO01BQ2hDWSxVQUFVLENBQUNaLE9BQU8sR0FBRyxJQUFJO0lBQzNCO0VBQ0Y7RUFFQSxTQUFTZSxRQUFRQSxDQUFDQyxRQUFlLEVBQUE7SUFDL0JMLFFBQVEsQ0FBQ1gsT0FBTyxHQUFHZ0IsUUFBUTtJQUMzQkgsT0FBTyxDQUFBLENBQUU7SUFFVEQsVUFBVSxDQUFDWixPQUFPLEdBQUdpQixVQUFVLENBQUMsWUFBSztNQUNuQ04sUUFBUSxDQUFDWCxPQUFPLEdBQUcsSUFBSTtNQUN2QlksVUFBVSxDQUFDWixPQUFPLEdBQUcsSUFBSTtJQUMzQixDQUFDLEVBQUUsR0FBRyxDQUFDO0VBQ1Q7RUFFQSxTQUFTa0IsUUFBUUEsQ0FBQSxFQUFBO0lBQ2YsT0FBT1AsUUFBUSxDQUFDWCxPQUFPO0VBQ3pCO0VBRUFiLFNBQVMsQ0FBQztJQUFBLE9BQU0wQixPQUFPO0VBQUEsR0FBRSxFQUFFLENBQUM7RUFFNUIsT0FBTyxDQUFDRSxRQUFRLEVBQUVHLFFBQVEsQ0FBQztBQUM3QiIsImZpbGUiOiJjb21wb25lbnRzL3VzZUxheW91dFN0YXRlL2luZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOltudWxsLCJpbXBvcnQgeyB1c2VSZWYsIHVzZVN0YXRlLCB1c2VFZmZlY3QsIHVzZUNhbGxiYWNrIH0gZnJvbSAncmVhY3QnO1xuLyoqXG4gKiBFeGVjdXRlIGNvZGUgYmVmb3JlIG5leHQgZnJhbWUgYnV0IGFzeW5jLlxuICpcbiAqIEJhdGNoZXMgbXVsdGlwbGUgc3RhdGUgdXBkYXRlcyBpbnRvIGEgc2luZ2xlIG1pY3JvdGFzayAodmlhIGBQcm9taXNlLnJlc29sdmVgKSxcbiAqIHJlZHVjaW5nIHVubmVjZXNzYXJ5IHJlLXJlbmRlcnMgd2hlbiBtdWx0aXBsZSB1cGRhdGVzIGhhcHBlbiBzeW5jaHJvbm91c2x5LlxuICpcbiAqIEBwYXJhbSBkZWZhdWx0U3RhdGUgVGhlIGluaXRpYWwgc3RhdGUgdmFsdWVcbiAqIEByZXR1cm5zIEEgdHVwbGUgb2YgYFtzdGF0ZSwgc2V0RnJhbWVTdGF0ZV1gXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVzZUxheW91dFN0YXRlKGRlZmF1bHRTdGF0ZSkge1xuICAgIGNvbnN0IHN0YXRlUmVmID0gdXNlUmVmKGRlZmF1bHRTdGF0ZSk7XG4gICAgY29uc3QgWywgZm9yY2VVcGRhdGVdID0gdXNlU3RhdGUoe30pO1xuICAgIGNvbnN0IGxhc3RQcm9taXNlUmVmID0gdXNlUmVmKG51bGwpO1xuICAgIGNvbnN0IHVwZGF0ZUJhdGNoUmVmID0gdXNlUmVmKFtdKTtcbiAgICBjb25zdCBzZXRGcmFtZVN0YXRlID0gdXNlQ2FsbGJhY2soKHVwZGF0ZXIpID0+IHtcbiAgICAgICAgdXBkYXRlQmF0Y2hSZWYuY3VycmVudC5wdXNoKHVwZGF0ZXIpO1xuICAgICAgICBjb25zdCBwcm9taXNlID0gUHJvbWlzZS5yZXNvbHZlKCk7XG4gICAgICAgIGxhc3RQcm9taXNlUmVmLmN1cnJlbnQgPSBwcm9taXNlO1xuICAgICAgICBwcm9taXNlLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgaWYgKGxhc3RQcm9taXNlUmVmLmN1cnJlbnQgPT09IHByb21pc2UpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBwcmV2QmF0Y2ggPSB1cGRhdGVCYXRjaFJlZi5jdXJyZW50O1xuICAgICAgICAgICAgICAgIGNvbnN0IHByZXZTdGF0ZSA9IHN0YXRlUmVmLmN1cnJlbnQ7XG4gICAgICAgICAgICAgICAgdXBkYXRlQmF0Y2hSZWYuY3VycmVudCA9IFtdO1xuICAgICAgICAgICAgICAgIHByZXZCYXRjaC5mb3JFYWNoKGJhdGNoVXBkYXRlciA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHN0YXRlUmVmLmN1cnJlbnQgPSBiYXRjaFVwZGF0ZXIoc3RhdGVSZWYuY3VycmVudCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgbGFzdFByb21pc2VSZWYuY3VycmVudCA9IG51bGw7XG4gICAgICAgICAgICAgICAgaWYgKHByZXZTdGF0ZSAhPT0gc3RhdGVSZWYuY3VycmVudCkge1xuICAgICAgICAgICAgICAgICAgICBmb3JjZVVwZGF0ZSh7fSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9LCBbXSk7XG4gICAgdXNlRWZmZWN0KCgpID0+ICgpID0+IHtcbiAgICAgICAgbGFzdFByb21pc2VSZWYuY3VycmVudCA9IG51bGw7XG4gICAgfSwgW10pO1xuICAgIHJldHVybiBbc3RhdGVSZWYuY3VycmVudCwgc2V0RnJhbWVTdGF0ZV07XG59XG4vKiogTG9jayBmcmFtZSwgd2hlbiBmcmFtZSBwYXNzIHJlc2V0IHRoZSBsb2NrLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZVRpbWVvdXRMb2NrKGRlZmF1bHRTdGF0ZSkge1xuICAgIGNvbnN0IGZyYW1lUmVmID0gdXNlUmVmKGRlZmF1bHRTdGF0ZSAhPT0gbnVsbCAmJiBkZWZhdWx0U3RhdGUgIT09IHZvaWQgMCA/IGRlZmF1bHRTdGF0ZSA6IG51bGwpO1xuICAgIGNvbnN0IHRpbWVvdXRSZWYgPSB1c2VSZWYobnVsbCk7XG4gICAgZnVuY3Rpb24gY2xlYW5VcCgpIHtcbiAgICAgICAgaWYgKHRpbWVvdXRSZWYuY3VycmVudCAhPSBudWxsKSB7XG4gICAgICAgICAgICBjbGVhclRpbWVvdXQodGltZW91dFJlZi5jdXJyZW50KTtcbiAgICAgICAgICAgIHRpbWVvdXRSZWYuY3VycmVudCA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZnVuY3Rpb24gc2V0U3RhdGUobmV3U3RhdGUpIHtcbiAgICAgICAgZnJhbWVSZWYuY3VycmVudCA9IG5ld1N0YXRlO1xuICAgICAgICBjbGVhblVwKCk7XG4gICAgICAgIHRpbWVvdXRSZWYuY3VycmVudCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgZnJhbWVSZWYuY3VycmVudCA9IG51bGw7XG4gICAgICAgICAgICB0aW1lb3V0UmVmLmN1cnJlbnQgPSBudWxsO1xuICAgICAgICB9LCAxMDApO1xuICAgIH1cbiAgICBmdW5jdGlvbiBnZXRTdGF0ZSgpIHtcbiAgICAgICAgcmV0dXJuIGZyYW1lUmVmLmN1cnJlbnQ7XG4gICAgfVxuICAgIHVzZUVmZmVjdCgoKSA9PiBjbGVhblVwLCBbXSk7XG4gICAgcmV0dXJuIFtzZXRTdGF0ZSwgZ2V0U3RhdGVdO1xufSJdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
@@ -0,0 +1,12 @@
1
+ type Fn<T extends unknown[], R> = (...args: T) => R;
2
+ /**
3
+ * A hook that returns a memoized version of a callback function.
4
+ * Unlike `useCallback`, it maintains referential equality across renders
5
+ * without requiring a dependency array, while always calling the latest
6
+ * version of the function.
7
+ *
8
+ * @param fn The function to memoize
9
+ * @returns A memoized function with stable reference
10
+ */
11
+ export default function useMemoizedFn<T extends unknown[], R>(fn: Fn<T, R>): Fn<T, R>;
12
+ export {};