@cube-dev/ui-kit 0.8.8 → 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (733) hide show
  1. package/dist/README.md +26 -0
  2. package/dist/cjs/components/Base.js +58 -0
  3. package/dist/cjs/components/Block.js +25 -0
  4. package/dist/cjs/components/GlobalStyles.js +322 -0
  5. package/dist/cjs/components/GridProvider.js +84 -0
  6. package/dist/cjs/components/HiddenInput.js +39 -0
  7. package/dist/cjs/components/OpenTrasition.js +38 -0
  8. package/dist/cjs/components/Root.js +50 -0
  9. package/dist/cjs/components/actions/Action.js +136 -0
  10. package/dist/cjs/components/actions/Button/Button.js +313 -0
  11. package/dist/cjs/components/actions/Button/Submit.js +29 -0
  12. package/dist/cjs/components/actions/Button/index.js +23 -0
  13. package/dist/cjs/components/actions/ButtonGroup/ButtonGroup.js +28 -0
  14. package/dist/cjs/components/actions/index.js +28 -0
  15. package/dist/cjs/components/content/ActiveZone/ActiveZone.js +44 -0
  16. package/dist/cjs/components/content/Avatar/Avatar.js +39 -0
  17. package/dist/cjs/components/content/Badge/Badge.js +58 -0
  18. package/dist/cjs/components/content/Card/Card.js +30 -0
  19. package/dist/cjs/components/content/Content.js +42 -0
  20. package/dist/cjs/components/content/Divider.js +53 -0
  21. package/dist/cjs/components/content/Footer.js +36 -0
  22. package/dist/cjs/components/content/Header.js +35 -0
  23. package/dist/cjs/components/content/Paragraph.js +27 -0
  24. package/dist/cjs/components/content/Placeholder/Placeholder.js +51 -0
  25. package/dist/cjs/components/content/PrismCode/PrismCode.js +44 -0
  26. package/dist/cjs/components/content/Result/Result.js +105 -0
  27. package/dist/cjs/components/content/Skeleton/Skeleton.js +79 -0
  28. package/dist/cjs/components/content/Tag/Tag.js +94 -0
  29. package/dist/cjs/components/content/Text.js +81 -0
  30. package/dist/cjs/components/content/Title.js +69 -0
  31. package/dist/cjs/components/forms/Checkbox/Checkbox.js +177 -0
  32. package/dist/cjs/components/forms/Checkbox/CheckboxGroup.js +110 -0
  33. package/dist/cjs/components/forms/Checkbox/context.js +14 -0
  34. package/dist/cjs/components/forms/FieldWrapper.js +82 -0
  35. package/dist/cjs/components/forms/FileInput/FileInput.js +151 -0
  36. package/dist/cjs/components/forms/Form/Field.js +234 -0
  37. package/dist/cjs/components/forms/Form/Form.js +125 -0
  38. package/dist/cjs/components/forms/Form/index.js +20 -0
  39. package/dist/cjs/components/forms/Form/useForm.js +280 -0
  40. package/dist/cjs/components/forms/Form/validation.js +149 -0
  41. package/dist/cjs/components/forms/Label.js +90 -0
  42. package/dist/cjs/components/forms/NumberInput/NumberInput.js +50 -0
  43. package/dist/cjs/components/forms/NumberInput/StepButton.js +35 -0
  44. package/dist/cjs/components/forms/PasswordInput/PasswordInput.js +43 -0
  45. package/dist/cjs/components/forms/RadioGroup/Radio.js +181 -0
  46. package/dist/cjs/components/forms/RadioGroup/RadioGroup.js +113 -0
  47. package/dist/cjs/components/forms/RadioGroup/context.js +18 -0
  48. package/dist/cjs/components/forms/SearchInput/SearchInput.js +45 -0
  49. package/dist/cjs/components/forms/Switch/Switch.js +156 -0
  50. package/dist/cjs/components/forms/TextArea/TextArea.js +63 -0
  51. package/dist/cjs/components/forms/TextInput/TextInput.js +33 -0
  52. package/dist/cjs/components/forms/TextInput/TextInputBase.js +167 -0
  53. package/dist/cjs/components/forms/index.js +30 -0
  54. package/dist/cjs/components/layout/Flex.js +26 -0
  55. package/dist/cjs/components/layout/Flow.js +27 -0
  56. package/dist/cjs/components/layout/Grid.js +33 -0
  57. package/dist/cjs/components/layout/Prefix.js +46 -0
  58. package/dist/cjs/components/layout/Space.js +35 -0
  59. package/dist/cjs/components/layout/Suffix.js +45 -0
  60. package/dist/cjs/components/navigation/LegacyTabs/LegacyTabs.js +255 -0
  61. package/dist/cjs/components/navigation/Link/Link.js +18 -0
  62. package/dist/cjs/components/organisms/Alert/Alert.js +41 -0
  63. package/dist/cjs/components/organisms/CopySnippet/CopySnippet.js +112 -0
  64. package/dist/cjs/components/organisms/DirectoryTree/DirectoryTree.js +166 -0
  65. package/dist/cjs/components/organisms/FileTabs/FileTabs.js +300 -0
  66. package/dist/cjs/components/organisms/Modal/Modal.js +258 -0
  67. package/dist/cjs/components/organisms/SearchResults/SearchResults.js +108 -0
  68. package/dist/cjs/components/organisms/StatsCard/StatsCard.js +20 -0
  69. package/dist/cjs/components/organisms/TopBar/TopBar.js +33 -0
  70. package/dist/cjs/components/other/Base64Upload/Base64Upload.js +110 -0
  71. package/dist/cjs/components/other/CloudLogo/CloudLogo.js +43 -0
  72. package/dist/cjs/components/overlays/AlertDialog/AlertDialog.js +59 -0
  73. package/dist/cjs/components/overlays/AlertDialog/AlertDialogApiProvider.js +114 -0
  74. package/dist/cjs/components/overlays/AlertDialog/AlertDialogZone.js +58 -0
  75. package/dist/cjs/components/overlays/AlertDialog/index.js +24 -0
  76. package/dist/cjs/components/overlays/AlertDialog/types.js +11 -0
  77. package/dist/cjs/components/overlays/Dialog/Dialog.js +181 -0
  78. package/dist/cjs/components/overlays/Dialog/DialogContainer.js +42 -0
  79. package/dist/cjs/components/overlays/Dialog/DialogForm.js +56 -0
  80. package/dist/cjs/components/overlays/Dialog/DialogTrigger.js +116 -0
  81. package/dist/cjs/components/overlays/Dialog/context.js +14 -0
  82. package/dist/cjs/components/overlays/Dialog/index.js +25 -0
  83. package/dist/cjs/components/overlays/Modal/Modal.js +86 -0
  84. package/dist/cjs/components/overlays/Modal/OpenTransition.js +26 -0
  85. package/dist/cjs/components/overlays/Modal/Overlay.js +40 -0
  86. package/dist/cjs/components/overlays/Modal/Popover.js +59 -0
  87. package/dist/cjs/components/overlays/Modal/Tray.js +95 -0
  88. package/dist/cjs/components/overlays/Modal/Underlay.js +51 -0
  89. package/dist/cjs/components/overlays/Modal/index.js +22 -0
  90. package/dist/cjs/components/overlays/Notification/Notification.js +44 -0
  91. package/dist/cjs/components/overlays/OverlayWrapper.js +35 -0
  92. package/dist/cjs/components/overlays/Tooltip/Tooltip.js +100 -0
  93. package/dist/cjs/components/overlays/Tooltip/TooltipProvider.js +26 -0
  94. package/dist/cjs/components/overlays/Tooltip/TooltipTrigger.js +71 -0
  95. package/dist/cjs/components/overlays/Tooltip/context.js +17 -0
  96. package/dist/cjs/components/pickers/ComboBox/ComboBox.js +170 -0
  97. package/dist/cjs/components/pickers/Select/Select.js +257 -0
  98. package/dist/cjs/components/portal/Portal.js +48 -0
  99. package/dist/cjs/components/portal/PortalProvider.js +28 -0
  100. package/dist/cjs/components/portal/index.js +25 -0
  101. package/dist/cjs/components/portal/storybook/templates/basic.js +17 -0
  102. package/dist/cjs/components/portal/storybook/templates/index.js +22 -0
  103. package/dist/cjs/components/portal/types.js +11 -0
  104. package/dist/cjs/components/portal/usePortal.js +48 -0
  105. package/dist/cjs/components/status/LoadingAnimation/LoadingAnimation.js +139 -0
  106. package/dist/cjs/components/status/Spin/Spin.js +38 -0
  107. package/dist/cjs/components/types.js +11 -0
  108. package/dist/cjs/data/themes.js +33 -0
  109. package/dist/cjs/index.js +182 -30
  110. package/dist/cjs/provider.js +51 -0
  111. package/dist/cjs/providers/BreakpointsProvider.js +20 -0
  112. package/dist/cjs/providers/StylesProvider.js +42 -0
  113. package/dist/cjs/services/notification.js +67 -0
  114. package/dist/cjs/shared/form.js +11 -0
  115. package/dist/cjs/shared/index.js +22 -0
  116. package/dist/cjs/stories/FormFieldArgs.js +288 -0
  117. package/dist/cjs/stories/components/ConfirmDeletionDialogForm.js +36 -0
  118. package/dist/cjs/stories/components/DialogFormApp.js +27 -0
  119. package/dist/cjs/stories/components/StyledButton.js +37 -0
  120. package/dist/cjs/stories/lists/baseProps.js +42 -0
  121. package/dist/cjs/styled/index.js +22 -0
  122. package/dist/cjs/styled/styled.js +106 -0
  123. package/dist/cjs/styles/align.js +24 -0
  124. package/dist/cjs/styles/border.js +52 -0
  125. package/dist/cjs/styles/boxShadow.combinator.js +26 -0
  126. package/dist/cjs/styles/color.js +43 -0
  127. package/dist/cjs/styles/dimension.js +89 -0
  128. package/dist/cjs/styles/display.js +17 -0
  129. package/dist/cjs/styles/fill.js +42 -0
  130. package/dist/cjs/styles/flow.js +24 -0
  131. package/dist/cjs/styles/font.js +27 -0
  132. package/dist/cjs/styles/fontStyle.js +23 -0
  133. package/dist/cjs/styles/gap.js +67 -0
  134. package/dist/cjs/styles/groupRadius.js +64 -0
  135. package/dist/cjs/styles/height.js +19 -0
  136. package/dist/cjs/styles/index.js +105 -0
  137. package/dist/cjs/styles/justify.js +24 -0
  138. package/dist/cjs/styles/list.js +87 -0
  139. package/dist/cjs/styles/margin.js +50 -0
  140. package/dist/cjs/styles/marginBlock.js +36 -0
  141. package/dist/cjs/styles/marginInline.js +40 -0
  142. package/dist/cjs/styles/outline.js +28 -0
  143. package/dist/cjs/styles/padding.js +51 -0
  144. package/dist/cjs/styles/paddingBlock.js +40 -0
  145. package/dist/cjs/styles/paddingInline.js +40 -0
  146. package/dist/cjs/styles/predefined.js +122 -0
  147. package/dist/cjs/styles/preset.js +55 -0
  148. package/dist/cjs/styles/radius.js +76 -0
  149. package/dist/cjs/styles/reset.js +104 -0
  150. package/dist/cjs/styles/shadow.js +27 -0
  151. package/dist/cjs/styles/styledScrollbar.js +55 -0
  152. package/dist/cjs/styles/transition.js +88 -0
  153. package/dist/cjs/styles/types.js +11 -0
  154. package/dist/cjs/styles/width.js +19 -0
  155. package/dist/cjs/test/setup.js +14 -0
  156. package/dist/cjs/tokens.js +233 -0
  157. package/dist/cjs/utils/ResizeSensor.js +324 -0
  158. package/dist/cjs/utils/colors.js +19 -0
  159. package/dist/cjs/utils/dotize.js +194 -0
  160. package/dist/cjs/utils/escape-string.js +21 -0
  161. package/dist/cjs/utils/filterBaseProps.js +69 -0
  162. package/dist/cjs/utils/index.js +46 -0
  163. package/dist/cjs/utils/interactions.js +29 -0
  164. package/dist/cjs/utils/mergeStyles.js +36 -0
  165. package/dist/cjs/utils/modules.js +16 -0
  166. package/dist/cjs/utils/promise.js +18 -0
  167. package/dist/cjs/utils/react/Slots.js +48 -0
  168. package/dist/cjs/utils/react/chain.js +25 -0
  169. package/dist/cjs/utils/react/index.js +30 -0
  170. package/dist/cjs/utils/react/isTextOnly.js +17 -0
  171. package/dist/cjs/utils/react/mapProps.js +30 -0
  172. package/dist/cjs/utils/react/mergeProps.js +67 -0
  173. package/dist/cjs/utils/react/modAttrs.js +26 -0
  174. package/dist/cjs/utils/react/nullableValue.js +46 -0
  175. package/dist/cjs/utils/react/useCombinedRefs.js +30 -0
  176. package/dist/cjs/utils/react/useId.js +87 -0
  177. package/dist/cjs/utils/react/useLayoutEffect.js +36 -0
  178. package/dist/cjs/utils/react/wrapNodeIfPlain.js +22 -0
  179. package/dist/cjs/utils/renderStyles.js +132 -0
  180. package/dist/cjs/utils/responsive.js +72 -0
  181. package/dist/cjs/utils/string.js +16 -0
  182. package/dist/cjs/utils/styles.js +870 -0
  183. package/dist/cjs/utils/transitions.js +67 -0
  184. package/dist/cjs/utils/tree.js +28 -0
  185. package/dist/cjs/utils/warnings.js +55 -0
  186. package/dist/es/components/Base.js +52 -0
  187. package/dist/es/components/Block.js +22 -0
  188. package/dist/es/components/GlobalStyles.js +319 -0
  189. package/dist/es/components/GridProvider.js +63 -0
  190. package/dist/es/components/HiddenInput.js +33 -0
  191. package/dist/es/components/OpenTrasition.js +31 -0
  192. package/dist/es/components/Root.js +46 -0
  193. package/dist/es/components/actions/Action.js +130 -0
  194. package/dist/es/components/actions/Button/Button.js +309 -0
  195. package/dist/es/components/actions/Button/Submit.js +26 -0
  196. package/dist/es/components/actions/Button/index.js +11 -0
  197. package/dist/es/components/actions/ButtonGroup/ButtonGroup.js +25 -0
  198. package/dist/es/components/actions/index.js +15 -0
  199. package/dist/es/components/content/ActiveZone/ActiveZone.js +41 -0
  200. package/dist/es/components/content/Avatar/Avatar.js +36 -0
  201. package/dist/es/components/content/Badge/Badge.js +52 -0
  202. package/dist/es/components/content/Card/Card.js +27 -0
  203. package/dist/es/components/content/Content.js +39 -0
  204. package/dist/es/components/content/Divider.js +50 -0
  205. package/dist/es/components/content/Footer.js +33 -0
  206. package/dist/es/components/content/Header.js +32 -0
  207. package/dist/es/components/content/Paragraph.js +24 -0
  208. package/dist/es/components/content/Placeholder/Placeholder.js +48 -0
  209. package/dist/es/components/content/PrismCode/PrismCode.js +38 -0
  210. package/dist/es/components/content/Result/Result.js +102 -0
  211. package/dist/es/components/content/Skeleton/Skeleton.js +75 -0
  212. package/dist/es/components/content/Tag/Tag.js +88 -0
  213. package/dist/es/components/content/Text.js +78 -0
  214. package/dist/es/components/content/Title.js +66 -0
  215. package/dist/es/components/forms/Checkbox/Checkbox.js +174 -0
  216. package/dist/es/components/forms/Checkbox/CheckboxGroup.js +107 -0
  217. package/dist/es/components/forms/Checkbox/context.js +11 -0
  218. package/dist/es/components/forms/FieldWrapper.js +79 -0
  219. package/dist/es/components/forms/FileInput/FileInput.js +148 -0
  220. package/dist/es/components/forms/Form/Field.js +230 -0
  221. package/dist/es/components/forms/Form/Form.js +121 -0
  222. package/dist/es/components/forms/Form/index.js +14 -0
  223. package/dist/es/components/forms/Form/useForm.js +275 -0
  224. package/dist/es/components/forms/Form/validation.js +141 -0
  225. package/dist/es/components/forms/Label.js +87 -0
  226. package/dist/es/components/forms/NumberInput/NumberInput.js +47 -0
  227. package/dist/es/components/forms/NumberInput/StepButton.js +31 -0
  228. package/dist/es/components/forms/PasswordInput/PasswordInput.js +40 -0
  229. package/dist/es/components/forms/RadioGroup/Radio.js +178 -0
  230. package/dist/es/components/forms/RadioGroup/RadioGroup.js +110 -0
  231. package/dist/es/components/forms/RadioGroup/context.js +14 -0
  232. package/dist/es/components/forms/SearchInput/SearchInput.js +42 -0
  233. package/dist/es/components/forms/Switch/Switch.js +153 -0
  234. package/dist/es/components/forms/TextArea/TextArea.js +60 -0
  235. package/dist/es/components/forms/TextInput/TextInput.js +30 -0
  236. package/dist/es/components/forms/TextInput/TextInputBase.js +164 -0
  237. package/dist/es/components/forms/index.js +22 -0
  238. package/dist/es/components/layout/Flex.js +23 -0
  239. package/dist/es/components/layout/Flow.js +24 -0
  240. package/dist/es/components/layout/Grid.js +30 -0
  241. package/dist/es/components/layout/Prefix.js +43 -0
  242. package/dist/es/components/layout/Space.js +32 -0
  243. package/dist/es/components/layout/Suffix.js +42 -0
  244. package/dist/es/components/navigation/LegacyTabs/LegacyTabs.js +251 -0
  245. package/dist/es/components/navigation/Link/Link.js +15 -0
  246. package/dist/es/components/organisms/Alert/Alert.js +35 -0
  247. package/dist/es/components/organisms/CopySnippet/CopySnippet.js +105 -0
  248. package/dist/es/components/organisms/DirectoryTree/DirectoryTree.js +162 -0
  249. package/dist/es/components/organisms/FileTabs/FileTabs.js +296 -0
  250. package/dist/es/components/organisms/Modal/Modal.js +251 -0
  251. package/dist/es/components/organisms/SearchResults/SearchResults.js +104 -0
  252. package/dist/es/components/organisms/StatsCard/StatsCard.js +16 -0
  253. package/dist/es/components/organisms/TopBar/TopBar.js +29 -0
  254. package/dist/es/components/other/Base64Upload/Base64Upload.js +104 -0
  255. package/dist/es/components/other/CloudLogo/CloudLogo.js +37 -0
  256. package/dist/es/components/overlays/AlertDialog/AlertDialog.js +56 -0
  257. package/dist/es/components/overlays/AlertDialog/AlertDialogApiProvider.js +106 -0
  258. package/dist/es/components/overlays/AlertDialog/AlertDialogZone.js +54 -0
  259. package/dist/es/components/overlays/AlertDialog/index.js +12 -0
  260. package/dist/es/components/overlays/AlertDialog/types.js +10 -0
  261. package/dist/es/components/overlays/Dialog/Dialog.js +178 -0
  262. package/dist/es/components/overlays/Dialog/DialogContainer.js +38 -0
  263. package/dist/es/components/overlays/Dialog/DialogForm.js +53 -0
  264. package/dist/es/components/overlays/Dialog/DialogTrigger.js +113 -0
  265. package/dist/es/components/overlays/Dialog/context.js +11 -0
  266. package/dist/es/components/overlays/Dialog/index.js +13 -0
  267. package/dist/es/components/overlays/Modal/Modal.js +83 -0
  268. package/dist/es/components/overlays/Modal/OpenTransition.js +19 -0
  269. package/dist/es/components/overlays/Modal/Overlay.js +37 -0
  270. package/dist/es/components/overlays/Modal/Popover.js +56 -0
  271. package/dist/es/components/overlays/Modal/Tray.js +92 -0
  272. package/dist/es/components/overlays/Modal/Underlay.js +48 -0
  273. package/dist/{mjs/components/overlays/Modal/index.d.ts → es/components/overlays/Modal/index.js} +9 -0
  274. package/dist/es/components/overlays/Notification/Notification.js +37 -0
  275. package/dist/es/components/overlays/OverlayWrapper.js +31 -0
  276. package/dist/es/components/overlays/Tooltip/Tooltip.js +97 -0
  277. package/dist/es/components/overlays/Tooltip/TooltipProvider.js +23 -0
  278. package/dist/es/components/overlays/Tooltip/TooltipTrigger.js +68 -0
  279. package/dist/es/components/overlays/Tooltip/context.js +11 -0
  280. package/dist/es/components/pickers/ComboBox/ComboBox.js +167 -0
  281. package/dist/es/components/pickers/Select/Select.js +253 -0
  282. package/dist/es/components/portal/Portal.js +41 -0
  283. package/dist/es/components/portal/PortalProvider.js +24 -0
  284. package/dist/es/components/portal/index.js +11 -0
  285. package/dist/es/components/portal/storybook/templates/basic.js +13 -0
  286. package/dist/es/components/portal/storybook/templates/index.js +10 -0
  287. package/dist/es/components/portal/types.js +10 -0
  288. package/dist/es/components/portal/usePortal.js +41 -0
  289. package/dist/es/components/status/LoadingAnimation/LoadingAnimation.js +132 -0
  290. package/dist/es/components/status/Spin/Spin.js +35 -0
  291. package/dist/es/components/types.js +10 -0
  292. package/dist/es/data/themes.js +31 -0
  293. package/dist/es/index.js +96 -0
  294. package/dist/es/provider.js +46 -0
  295. package/dist/es/providers/BreakpointsProvider.js +16 -0
  296. package/dist/es/providers/StylesProvider.js +37 -0
  297. package/dist/es/services/notification.js +61 -0
  298. package/dist/es/shared/form.js +10 -0
  299. package/dist/es/shared/index.js +10 -0
  300. package/dist/es/stories/FormFieldArgs.js +285 -0
  301. package/dist/es/stories/components/ConfirmDeletionDialogForm.js +33 -0
  302. package/dist/es/stories/components/DialogFormApp.js +23 -0
  303. package/dist/es/stories/components/StyledButton.js +33 -0
  304. package/dist/es/stories/lists/baseProps.js +39 -0
  305. package/dist/es/styled/index.js +10 -0
  306. package/dist/es/styled/styled.js +84 -0
  307. package/dist/es/styles/align.js +20 -0
  308. package/dist/es/styles/border.js +48 -0
  309. package/dist/es/styles/boxShadow.combinator.js +22 -0
  310. package/dist/es/styles/color.js +39 -0
  311. package/dist/es/styles/dimension.js +85 -0
  312. package/dist/es/styles/display.js +13 -0
  313. package/dist/es/styles/fill.js +38 -0
  314. package/dist/es/styles/flow.js +20 -0
  315. package/dist/es/styles/font.js +23 -0
  316. package/dist/es/styles/fontStyle.js +19 -0
  317. package/dist/es/styles/gap.js +63 -0
  318. package/dist/es/styles/groupRadius.js +60 -0
  319. package/dist/es/styles/height.js +15 -0
  320. package/dist/es/styles/index.js +99 -0
  321. package/dist/es/styles/justify.js +20 -0
  322. package/dist/es/styles/list.js +84 -0
  323. package/dist/es/styles/margin.js +46 -0
  324. package/dist/es/styles/marginBlock.js +32 -0
  325. package/dist/es/styles/marginInline.js +36 -0
  326. package/dist/es/styles/outline.js +24 -0
  327. package/dist/es/styles/padding.js +47 -0
  328. package/dist/es/styles/paddingBlock.js +36 -0
  329. package/dist/es/styles/paddingInline.js +36 -0
  330. package/dist/es/styles/predefined.js +120 -0
  331. package/dist/es/styles/preset.js +51 -0
  332. package/dist/es/styles/radius.js +72 -0
  333. package/dist/es/styles/reset.js +100 -0
  334. package/dist/es/styles/shadow.js +23 -0
  335. package/dist/es/styles/styledScrollbar.js +51 -0
  336. package/dist/es/styles/transition.js +84 -0
  337. package/dist/es/styles/types.js +10 -0
  338. package/dist/es/styles/width.js +15 -0
  339. package/dist/es/test/setup.js +12 -0
  340. package/dist/es/tokens.js +230 -0
  341. package/dist/es/utils/ResizeSensor.js +320 -0
  342. package/dist/es/utils/colors.js +15 -0
  343. package/dist/es/utils/dotize.js +191 -0
  344. package/dist/es/utils/escape-string.js +18 -0
  345. package/dist/es/utils/filterBaseProps.js +65 -0
  346. package/dist/es/utils/index.js +42 -0
  347. package/dist/es/utils/interactions.js +25 -0
  348. package/dist/es/utils/mergeStyles.js +32 -0
  349. package/dist/es/utils/modules.js +12 -0
  350. package/dist/es/utils/promise.js +14 -0
  351. package/dist/es/utils/react/Slots.js +42 -0
  352. package/dist/es/utils/react/chain.js +21 -0
  353. package/dist/{mjs/utils/react/index.d.ts → es/utils/react/index.js} +9 -0
  354. package/dist/es/utils/react/isTextOnly.js +13 -0
  355. package/dist/es/utils/react/mapProps.js +25 -0
  356. package/dist/es/utils/react/mergeProps.js +60 -0
  357. package/dist/es/utils/react/modAttrs.js +22 -0
  358. package/dist/es/utils/react/nullableValue.js +37 -0
  359. package/dist/es/utils/react/useCombinedRefs.js +26 -0
  360. package/dist/es/utils/react/useId.js +81 -0
  361. package/dist/es/utils/react/useLayoutEffect.js +14 -0
  362. package/dist/es/utils/react/wrapNodeIfPlain.js +18 -0
  363. package/dist/es/utils/renderStyles.js +127 -0
  364. package/dist/es/utils/responsive.js +66 -0
  365. package/dist/es/utils/string.js +12 -0
  366. package/dist/es/utils/styles.js +844 -0
  367. package/dist/es/utils/transitions.js +63 -0
  368. package/dist/es/utils/tree.js +24 -0
  369. package/dist/es/utils/warnings.js +48 -0
  370. package/dist/package.json +79 -0
  371. package/dist/{cjs → types}/components/Base.d.ts +0 -0
  372. package/dist/{cjs → types}/components/Block.d.ts +0 -0
  373. package/dist/{cjs → types}/components/GlobalStyles.d.ts +0 -0
  374. package/dist/{cjs → types}/components/GridProvider.d.ts +0 -0
  375. package/dist/{cjs → types}/components/HiddenInput.d.ts +0 -0
  376. package/dist/{cjs → types}/components/OpenTrasition.d.ts +0 -0
  377. package/dist/{cjs → types}/components/Root.d.ts +0 -0
  378. package/dist/{cjs → types}/components/actions/Action.d.ts +0 -0
  379. package/dist/{cjs → types}/components/actions/Button/Button.d.ts +1 -1
  380. package/dist/{cjs → types}/components/actions/Button/Submit.d.ts +0 -0
  381. package/dist/types/components/actions/Button/index.d.ts +2 -0
  382. package/dist/{cjs → types}/components/actions/ButtonGroup/ButtonGroup.d.ts +0 -0
  383. package/dist/types/components/actions/index.d.ts +10 -0
  384. package/dist/{cjs → types}/components/content/ActiveZone/ActiveZone.d.ts +0 -0
  385. package/dist/{cjs → types}/components/content/Avatar/Avatar.d.ts +0 -0
  386. package/dist/{cjs → types}/components/content/Badge/Badge.d.ts +0 -0
  387. package/dist/{cjs → types}/components/content/Card/Card.d.ts +0 -0
  388. package/dist/{cjs → types}/components/content/Content.d.ts +0 -0
  389. package/dist/{cjs → types}/components/content/Divider.d.ts +0 -0
  390. package/dist/{cjs → types}/components/content/Footer.d.ts +0 -0
  391. package/dist/{cjs → types}/components/content/Header.d.ts +0 -0
  392. package/dist/{cjs → types}/components/content/Paragraph.d.ts +0 -0
  393. package/dist/{cjs → types}/components/content/Placeholder/Placeholder.d.ts +0 -0
  394. package/dist/{cjs → types}/components/content/PrismCode/PrismCode.d.ts +0 -0
  395. package/dist/{cjs → types}/components/content/Result/Result.d.ts +0 -0
  396. package/dist/{cjs → types}/components/content/Skeleton/Skeleton.d.ts +0 -0
  397. package/dist/{cjs → types}/components/content/Tag/Tag.d.ts +0 -0
  398. package/dist/{cjs → types}/components/content/Text.d.ts +0 -0
  399. package/dist/{cjs → types}/components/content/Title.d.ts +0 -0
  400. package/dist/{mjs → types}/components/forms/Checkbox/Checkbox.d.ts +1 -1
  401. package/dist/{mjs → types}/components/forms/Checkbox/CheckboxGroup.d.ts +1 -1
  402. package/dist/{cjs → types}/components/forms/Checkbox/context.d.ts +0 -0
  403. package/dist/{cjs → types}/components/forms/FieldWrapper.d.ts +0 -0
  404. package/dist/{cjs → types}/components/forms/FileInput/FileInput.d.ts +1 -1
  405. package/dist/{cjs → types}/components/forms/Form/Field.d.ts +0 -0
  406. package/dist/{cjs → types}/components/forms/Form/Form.d.ts +0 -0
  407. package/dist/types/components/forms/Form/index.d.ts +14 -0
  408. package/dist/{cjs → types}/components/forms/Form/useForm.d.ts +0 -0
  409. package/dist/{cjs → types}/components/forms/Form/validation.d.ts +0 -0
  410. package/dist/{cjs → types}/components/forms/Label.d.ts +0 -0
  411. package/dist/{mjs → types}/components/forms/NumberInput/NumberInput.d.ts +1 -1
  412. package/dist/{cjs → types}/components/forms/NumberInput/StepButton.d.ts +0 -0
  413. package/dist/{cjs → types}/components/forms/PasswordInput/PasswordInput.d.ts +0 -0
  414. package/dist/{mjs → types}/components/forms/RadioGroup/Radio.d.ts +1 -1
  415. package/dist/{mjs → types}/components/forms/RadioGroup/RadioGroup.d.ts +1 -1
  416. package/dist/{cjs → types}/components/forms/RadioGroup/context.d.ts +0 -0
  417. package/dist/{cjs → types}/components/forms/SearchInput/SearchInput.d.ts +0 -0
  418. package/dist/{cjs → types}/components/forms/Switch/Switch.d.ts +1 -1
  419. package/dist/{cjs → types}/components/forms/TextArea/TextArea.d.ts +0 -0
  420. package/dist/{cjs → types}/components/forms/TextInput/TextInput.d.ts +0 -0
  421. package/dist/{cjs → types}/components/forms/TextInput/TextInputBase.d.ts +1 -1
  422. package/dist/types/components/forms/index.d.ts +35 -0
  423. package/dist/{cjs → types}/components/layout/Flex.d.ts +0 -0
  424. package/dist/{cjs → types}/components/layout/Flow.d.ts +0 -0
  425. package/dist/{cjs → types}/components/layout/Grid.d.ts +0 -0
  426. package/dist/{cjs → types}/components/layout/Prefix.d.ts +0 -0
  427. package/dist/{cjs → types}/components/layout/Space.d.ts +0 -0
  428. package/dist/{cjs → types}/components/layout/Suffix.d.ts +0 -0
  429. package/dist/{cjs → types}/components/navigation/LegacyTabs/LegacyTabs.d.ts +0 -0
  430. package/dist/{cjs → types}/components/navigation/Link/Link.d.ts +0 -0
  431. package/dist/{cjs → types}/components/organisms/Alert/Alert.d.ts +0 -0
  432. package/dist/{cjs → types}/components/organisms/CopySnippet/CopySnippet.d.ts +0 -0
  433. package/dist/{cjs → types}/components/organisms/DirectoryTree/DirectoryTree.d.ts +0 -0
  434. package/dist/{cjs → types}/components/organisms/FileTabs/FileTabs.d.ts +0 -0
  435. package/dist/{mjs → types}/components/organisms/Modal/Modal.d.ts +2 -0
  436. package/dist/{cjs → types}/components/organisms/SearchResults/SearchResults.d.ts +0 -0
  437. package/dist/{cjs → types}/components/organisms/StatsCard/StatsCard.d.ts +0 -0
  438. package/dist/{cjs → types}/components/organisms/TopBar/TopBar.d.ts +0 -0
  439. package/dist/{cjs → types}/components/other/Base64Upload/Base64Upload.d.ts +0 -0
  440. package/dist/{cjs → types}/components/other/CloudLogo/CloudLogo.d.ts +0 -0
  441. package/dist/{mjs → types}/components/overlays/AlertDialog/AlertDialog.d.ts +3 -2
  442. package/dist/types/components/overlays/AlertDialog/AlertDialogApiProvider.d.ts +48 -0
  443. package/dist/types/components/overlays/AlertDialog/AlertDialogZone.d.ts +9 -0
  444. package/dist/types/components/overlays/AlertDialog/index.d.ts +3 -0
  445. package/dist/types/components/overlays/AlertDialog/types.d.ts +39 -0
  446. package/dist/{mjs → types}/components/overlays/Dialog/Dialog.d.ts +1 -1
  447. package/dist/{mjs → types}/components/overlays/Dialog/DialogContainer.d.ts +9 -4
  448. package/dist/{cjs → types}/components/overlays/Dialog/DialogForm.d.ts +0 -0
  449. package/dist/{cjs → types}/components/overlays/Dialog/DialogTrigger.d.ts +0 -0
  450. package/dist/{cjs → types}/components/overlays/Dialog/context.d.ts +0 -0
  451. package/dist/types/components/overlays/Dialog/index.d.ts +4 -0
  452. package/dist/{cjs → types}/components/overlays/Modal/Modal.d.ts +3 -2
  453. package/dist/{cjs → types}/components/overlays/Modal/OpenTransition.d.ts +0 -0
  454. package/dist/{cjs → types}/components/overlays/Modal/Overlay.d.ts +3 -2
  455. package/dist/{mjs → types}/components/overlays/Modal/Popover.d.ts +1 -0
  456. package/dist/{mjs → types}/components/overlays/Modal/Tray.d.ts +2 -1
  457. package/dist/{cjs → types}/components/overlays/Modal/Underlay.d.ts +0 -0
  458. package/dist/{cjs → types}/components/overlays/Modal/index.d.ts +0 -0
  459. package/dist/{cjs → types}/components/overlays/Notification/Notification.d.ts +0 -0
  460. package/dist/{mjs → types}/components/overlays/OverlayWrapper.d.ts +2 -2
  461. package/dist/{cjs → types}/components/overlays/Tooltip/Tooltip.d.ts +1 -1
  462. package/dist/{cjs → types}/components/overlays/Tooltip/TooltipProvider.d.ts +0 -0
  463. package/dist/{cjs → types}/components/overlays/Tooltip/TooltipTrigger.d.ts +1 -1
  464. package/dist/{cjs → types}/components/overlays/Tooltip/context.d.ts +0 -0
  465. package/dist/{mjs → types}/components/pickers/ComboBox/ComboBox.d.ts +2 -2
  466. package/dist/{mjs → types}/components/pickers/Select/Select.d.ts +1 -1
  467. package/dist/types/components/portal/Portal.d.ts +26 -0
  468. package/dist/types/components/portal/PortalProvider.d.ts +13 -0
  469. package/dist/types/components/portal/index.d.ts +3 -0
  470. package/dist/types/components/portal/storybook/templates/basic.d.ts +3 -0
  471. package/dist/types/components/portal/storybook/templates/index.d.ts +1 -0
  472. package/dist/types/components/portal/types.d.ts +21 -0
  473. package/dist/types/components/portal/usePortal.d.ts +10 -0
  474. package/dist/{cjs → types}/components/status/LoadingAnimation/LoadingAnimation.d.ts +0 -0
  475. package/dist/{cjs → types}/components/status/Spin/Spin.d.ts +0 -0
  476. package/dist/{mjs → types}/components/types.d.ts +3 -4
  477. package/dist/{cjs → types}/data/themes.d.ts +0 -0
  478. package/dist/{mjs → types}/index.d.ts +7 -56
  479. package/dist/{mjs → types}/provider.d.ts +1 -2
  480. package/dist/{cjs → types}/providers/BreakpointsProvider.d.ts +0 -0
  481. package/dist/{cjs → types}/providers/StylesProvider.d.ts +0 -0
  482. package/dist/{cjs → types}/services/notification.d.ts +0 -0
  483. package/dist/{cjs → types}/shared/form.d.ts +0 -0
  484. package/dist/{cjs → types}/shared/index.d.ts +0 -0
  485. package/dist/{cjs → types}/stories/FormFieldArgs.d.ts +0 -0
  486. package/dist/{cjs → types}/stories/components/ConfirmDeletionDialogForm.d.ts +0 -0
  487. package/dist/{cjs → types}/stories/components/DialogFormApp.d.ts +0 -0
  488. package/dist/types/stories/components/StyledButton.d.ts +119 -0
  489. package/dist/{cjs → types}/stories/lists/baseProps.d.ts +0 -0
  490. package/dist/types/styled/index.d.ts +1 -0
  491. package/dist/types/styled/styled.d.ts +30 -0
  492. package/dist/{cjs → types}/styles/align.d.ts +0 -0
  493. package/dist/{cjs → types}/styles/border.d.ts +0 -0
  494. package/dist/{cjs → types}/styles/boxShadow.combinator.d.ts +0 -0
  495. package/dist/{cjs → types}/styles/color.d.ts +0 -0
  496. package/dist/{cjs → types}/styles/dimension.d.ts +0 -0
  497. package/dist/{cjs → types}/styles/display.d.ts +0 -0
  498. package/dist/{cjs → types}/styles/fill.d.ts +0 -0
  499. package/dist/{cjs → types}/styles/flow.d.ts +0 -0
  500. package/dist/{cjs → types}/styles/font.d.ts +0 -0
  501. package/dist/{cjs → types}/styles/fontStyle.d.ts +0 -0
  502. package/dist/{cjs → types}/styles/gap.d.ts +0 -0
  503. package/dist/{cjs → types}/styles/groupRadius.d.ts +0 -0
  504. package/dist/{cjs → types}/styles/height.d.ts +0 -0
  505. package/dist/{cjs → types}/styles/index.d.ts +0 -0
  506. package/dist/{cjs → types}/styles/justify.d.ts +0 -0
  507. package/dist/{cjs → types}/styles/list.d.ts +0 -0
  508. package/dist/{cjs → types}/styles/margin.d.ts +0 -0
  509. package/dist/{cjs → types}/styles/marginBlock.d.ts +0 -0
  510. package/dist/{cjs → types}/styles/marginInline.d.ts +0 -0
  511. package/dist/{cjs → types}/styles/outline.d.ts +0 -0
  512. package/dist/{cjs → types}/styles/padding.d.ts +0 -0
  513. package/dist/{cjs → types}/styles/paddingBlock.d.ts +0 -0
  514. package/dist/{cjs → types}/styles/paddingInline.d.ts +0 -0
  515. package/dist/{cjs → types}/styles/predefined.d.ts +0 -0
  516. package/dist/{cjs → types}/styles/preset.d.ts +0 -0
  517. package/dist/{cjs → types}/styles/radius.d.ts +0 -0
  518. package/dist/{cjs → types}/styles/reset.d.ts +0 -0
  519. package/dist/{cjs → types}/styles/shadow.d.ts +0 -0
  520. package/dist/{cjs → types}/styles/styledScrollbar.d.ts +0 -0
  521. package/dist/{cjs → types}/styles/transition.d.ts +0 -0
  522. package/dist/{cjs → types}/styles/types.d.ts +0 -0
  523. package/dist/{cjs → types}/styles/width.d.ts +0 -0
  524. package/dist/types/test/setup.d.ts +3 -0
  525. package/dist/{cjs → types}/tokens.d.ts +0 -0
  526. package/dist/{cjs → types}/utils/ResizeSensor.d.ts +0 -0
  527. package/dist/{cjs → types}/utils/colors.d.ts +0 -0
  528. package/dist/{cjs → types}/utils/dotize.d.ts +0 -0
  529. package/dist/{cjs → types}/utils/escape-string.d.ts +0 -0
  530. package/dist/{cjs → types}/utils/filterBaseProps.d.ts +0 -0
  531. package/dist/{cjs → types}/utils/index.d.ts +0 -0
  532. package/dist/{cjs → types}/utils/interactions.d.ts +0 -0
  533. package/dist/{cjs → types}/utils/mergeStyles.d.ts +0 -0
  534. package/dist/{cjs → types}/utils/modules.d.ts +0 -0
  535. package/dist/{cjs → types}/utils/promise.d.ts +0 -0
  536. package/dist/{cjs → types}/utils/react/Slots.d.ts +0 -0
  537. package/dist/{cjs → types}/utils/react/chain.d.ts +0 -0
  538. package/dist/{cjs → types}/utils/react/index.d.ts +0 -0
  539. package/dist/{cjs → types}/utils/react/isTextOnly.d.ts +0 -0
  540. package/dist/{cjs → types}/utils/react/mapProps.d.ts +0 -0
  541. package/dist/{cjs → types}/utils/react/mergeProps.d.ts +0 -0
  542. package/dist/{cjs → types}/utils/react/modAttrs.d.ts +0 -0
  543. package/dist/{cjs → types}/utils/react/nullableValue.d.ts +0 -0
  544. package/dist/{cjs → types}/utils/react/useCombinedRefs.d.ts +0 -0
  545. package/dist/{cjs → types}/utils/react/useId.d.ts +0 -0
  546. package/dist/{cjs → types}/utils/react/useLayoutEffect.d.ts +0 -0
  547. package/dist/{cjs → types}/utils/react/wrapNodeIfPlain.d.ts +0 -0
  548. package/dist/{cjs → types}/utils/renderStyles.d.ts +0 -0
  549. package/dist/{cjs → types}/utils/responsive.d.ts +0 -0
  550. package/dist/{cjs → types}/utils/string.d.ts +0 -0
  551. package/dist/{cjs → types}/utils/styles.d.ts +0 -0
  552. package/dist/{cjs → types}/utils/transitions.d.ts +0 -0
  553. package/dist/{cjs → types}/utils/tree.d.ts +0 -0
  554. package/dist/types/utils/warnings.d.ts +9 -0
  555. package/package.json +70 -59
  556. package/dist/cjs/App.d.ts +0 -3
  557. package/dist/cjs/components/forms/Checkbox/Checkbox.d.ts +0 -19
  558. package/dist/cjs/components/forms/Checkbox/CheckboxGroup.d.ts +0 -16
  559. package/dist/cjs/components/forms/Form/index.d.ts +0 -5
  560. package/dist/cjs/components/forms/NumberInput/NumberInput.d.ts +0 -15
  561. package/dist/cjs/components/forms/RadioGroup/Radio.d.ts +0 -27
  562. package/dist/cjs/components/forms/RadioGroup/RadioGroup.d.ts +0 -17
  563. package/dist/cjs/components/organisms/Modal/Modal.d.ts +0 -26
  564. package/dist/cjs/components/overlays/AlertDialog/AlertDialog.d.ts +0 -20
  565. package/dist/cjs/components/overlays/Dialog/Dialog.d.ts +0 -21
  566. package/dist/cjs/components/overlays/Dialog/DialogContainer.d.ts +0 -22
  567. package/dist/cjs/components/overlays/Dialog/api.d.ts +0 -24
  568. package/dist/cjs/components/overlays/Dialog/index.d.ts +0 -12
  569. package/dist/cjs/components/overlays/Modal/Popover.d.ts +0 -16
  570. package/dist/cjs/components/overlays/Modal/Tray.d.ts +0 -13
  571. package/dist/cjs/components/overlays/OverlayWrapper.d.ts +0 -10
  572. package/dist/cjs/components/pickers/ComboBox/ComboBox.d.ts +0 -25
  573. package/dist/cjs/components/pickers/Select/Select.d.ts +0 -48
  574. package/dist/cjs/components/types.d.ts +0 -82
  575. package/dist/cjs/index.d.ts +0 -200
  576. package/dist/cjs/index.js.map +0 -1
  577. package/dist/cjs/provider.d.ts +0 -24
  578. package/dist/cjs/stories/components/StyledButton.d.ts +0 -4
  579. package/dist/cjs/styled.d.ts +0 -11
  580. package/dist/cjs/utils/warnings.d.ts +0 -3
  581. package/dist/mjs/App.d.ts +0 -3
  582. package/dist/mjs/components/Base.d.ts +0 -4
  583. package/dist/mjs/components/Block.d.ts +0 -8
  584. package/dist/mjs/components/GlobalStyles.d.ts +0 -1
  585. package/dist/mjs/components/GridProvider.d.ts +0 -10
  586. package/dist/mjs/components/HiddenInput.d.ts +0 -1
  587. package/dist/mjs/components/OpenTrasition.d.ts +0 -14
  588. package/dist/mjs/components/Root.d.ts +0 -17
  589. package/dist/mjs/components/actions/Action.d.ts +0 -24
  590. package/dist/mjs/components/actions/Button/Button.d.ts +0 -19
  591. package/dist/mjs/components/actions/Button/Submit.d.ts +0 -3
  592. package/dist/mjs/components/actions/ButtonGroup/ButtonGroup.d.ts +0 -3
  593. package/dist/mjs/components/content/ActiveZone/ActiveZone.d.ts +0 -9
  594. package/dist/mjs/components/content/Avatar/Avatar.d.ts +0 -8
  595. package/dist/mjs/components/content/Badge/Badge.d.ts +0 -7
  596. package/dist/mjs/components/content/Card/Card.d.ts +0 -5
  597. package/dist/mjs/components/content/Content.d.ts +0 -5
  598. package/dist/mjs/components/content/Divider.d.ts +0 -5
  599. package/dist/mjs/components/content/Footer.d.ts +0 -5
  600. package/dist/mjs/components/content/Header.d.ts +0 -5
  601. package/dist/mjs/components/content/Paragraph.d.ts +0 -6
  602. package/dist/mjs/components/content/Placeholder/Placeholder.d.ts +0 -8
  603. package/dist/mjs/components/content/PrismCode/PrismCode.d.ts +0 -17
  604. package/dist/mjs/components/content/Result/Result.d.ts +0 -20
  605. package/dist/mjs/components/content/Skeleton/Skeleton.d.ts +0 -56
  606. package/dist/mjs/components/content/Tag/Tag.d.ts +0 -10
  607. package/dist/mjs/components/content/Text.d.ts +0 -37
  608. package/dist/mjs/components/content/Title.d.ts +0 -12
  609. package/dist/mjs/components/forms/Checkbox/context.d.ts +0 -3
  610. package/dist/mjs/components/forms/FieldWrapper.d.ts +0 -32
  611. package/dist/mjs/components/forms/FileInput/FileInput.d.ts +0 -27
  612. package/dist/mjs/components/forms/Form/Field.d.ts +0 -31
  613. package/dist/mjs/components/forms/Form/Form.d.ts +0 -30
  614. package/dist/mjs/components/forms/Form/index.d.ts +0 -5
  615. package/dist/mjs/components/forms/Form/useForm.d.ts +0 -52
  616. package/dist/mjs/components/forms/Form/validation.d.ts +0 -2
  617. package/dist/mjs/components/forms/Label.d.ts +0 -18
  618. package/dist/mjs/components/forms/NumberInput/StepButton.d.ts +0 -5
  619. package/dist/mjs/components/forms/PasswordInput/PasswordInput.d.ts +0 -12
  620. package/dist/mjs/components/forms/RadioGroup/context.d.ts +0 -4
  621. package/dist/mjs/components/forms/SearchInput/SearchInput.d.ts +0 -10
  622. package/dist/mjs/components/forms/Switch/Switch.d.ts +0 -19
  623. package/dist/mjs/components/forms/TextArea/TextArea.d.ts +0 -19
  624. package/dist/mjs/components/forms/TextInput/TextInput.d.ts +0 -12
  625. package/dist/mjs/components/forms/TextInput/TextInputBase.d.ts +0 -42
  626. package/dist/mjs/components/layout/Flex.d.ts +0 -5
  627. package/dist/mjs/components/layout/Flow.d.ts +0 -5
  628. package/dist/mjs/components/layout/Grid.d.ts +0 -5
  629. package/dist/mjs/components/layout/Prefix.d.ts +0 -7
  630. package/dist/mjs/components/layout/Space.d.ts +0 -6
  631. package/dist/mjs/components/layout/Suffix.d.ts +0 -7
  632. package/dist/mjs/components/navigation/LegacyTabs/LegacyTabs.d.ts +0 -43
  633. package/dist/mjs/components/navigation/Link/Link.d.ts +0 -3
  634. package/dist/mjs/components/organisms/Alert/Alert.d.ts +0 -8
  635. package/dist/mjs/components/organisms/CopySnippet/CopySnippet.d.ts +0 -26
  636. package/dist/mjs/components/organisms/DirectoryTree/DirectoryTree.d.ts +0 -44
  637. package/dist/mjs/components/organisms/FileTabs/FileTabs.d.ts +0 -34
  638. package/dist/mjs/components/organisms/SearchResults/SearchResults.d.ts +0 -31
  639. package/dist/mjs/components/organisms/StatsCard/StatsCard.d.ts +0 -8
  640. package/dist/mjs/components/organisms/TopBar/TopBar.d.ts +0 -6
  641. package/dist/mjs/components/other/Base64Upload/Base64Upload.d.ts +0 -5
  642. package/dist/mjs/components/other/CloudLogo/CloudLogo.d.ts +0 -4
  643. package/dist/mjs/components/overlays/Dialog/DialogForm.d.ts +0 -27
  644. package/dist/mjs/components/overlays/Dialog/DialogTrigger.d.ts +0 -36
  645. package/dist/mjs/components/overlays/Dialog/api.d.ts +0 -24
  646. package/dist/mjs/components/overlays/Dialog/context.d.ts +0 -7
  647. package/dist/mjs/components/overlays/Dialog/index.d.ts +0 -12
  648. package/dist/mjs/components/overlays/Modal/Modal.d.ts +0 -13
  649. package/dist/mjs/components/overlays/Modal/OpenTransition.d.ts +0 -2
  650. package/dist/mjs/components/overlays/Modal/Overlay.d.ts +0 -6
  651. package/dist/mjs/components/overlays/Modal/Underlay.d.ts +0 -9
  652. package/dist/mjs/components/overlays/Notification/Notification.d.ts +0 -7
  653. package/dist/mjs/components/overlays/Tooltip/Tooltip.d.ts +0 -16
  654. package/dist/mjs/components/overlays/Tooltip/TooltipProvider.d.ts +0 -13
  655. package/dist/mjs/components/overlays/Tooltip/TooltipTrigger.d.ts +0 -20
  656. package/dist/mjs/components/overlays/Tooltip/context.d.ts +0 -16
  657. package/dist/mjs/components/status/LoadingAnimation/LoadingAnimation.d.ts +0 -6
  658. package/dist/mjs/components/status/Spin/Spin.d.ts +0 -8
  659. package/dist/mjs/data/themes.d.ts +0 -23
  660. package/dist/mjs/index.js +0 -46
  661. package/dist/mjs/index.js.map +0 -1
  662. package/dist/mjs/providers/BreakpointsProvider.d.ts +0 -8
  663. package/dist/mjs/providers/StylesProvider.d.ts +0 -10
  664. package/dist/mjs/services/notification.d.ts +0 -25
  665. package/dist/mjs/shared/form.d.ts +0 -70
  666. package/dist/mjs/shared/index.d.ts +0 -3
  667. package/dist/mjs/stories/FormFieldArgs.d.ts +0 -325
  668. package/dist/mjs/stories/components/ConfirmDeletionDialogForm.d.ts +0 -7
  669. package/dist/mjs/stories/components/DialogFormApp.d.ts +0 -2
  670. package/dist/mjs/stories/components/StyledButton.d.ts +0 -4
  671. package/dist/mjs/stories/lists/baseProps.d.ts +0 -1
  672. package/dist/mjs/styled.d.ts +0 -11
  673. package/dist/mjs/styles/align.d.ts +0 -9
  674. package/dist/mjs/styles/border.d.ts +0 -11
  675. package/dist/mjs/styles/boxShadow.combinator.d.ts +0 -6
  676. package/dist/mjs/styles/color.d.ts +0 -6
  677. package/dist/mjs/styles/dimension.d.ts +0 -4
  678. package/dist/mjs/styles/display.d.ts +0 -9
  679. package/dist/mjs/styles/fill.d.ts +0 -6
  680. package/dist/mjs/styles/flow.d.ts +0 -9
  681. package/dist/mjs/styles/font.d.ts +0 -9
  682. package/dist/mjs/styles/fontStyle.d.ts +0 -8
  683. package/dist/mjs/styles/gap.d.ts +0 -21
  684. package/dist/mjs/styles/groupRadius.d.ts +0 -11
  685. package/dist/mjs/styles/height.d.ts +0 -9
  686. package/dist/mjs/styles/index.d.ts +0 -8
  687. package/dist/mjs/styles/justify.d.ts +0 -9
  688. package/dist/mjs/styles/list.d.ts +0 -9
  689. package/dist/mjs/styles/margin.d.ts +0 -12
  690. package/dist/mjs/styles/marginBlock.d.ts +0 -8
  691. package/dist/mjs/styles/marginInline.d.ts +0 -8
  692. package/dist/mjs/styles/outline.d.ts +0 -8
  693. package/dist/mjs/styles/padding.d.ts +0 -12
  694. package/dist/mjs/styles/paddingBlock.d.ts +0 -8
  695. package/dist/mjs/styles/paddingInline.d.ts +0 -8
  696. package/dist/mjs/styles/predefined.d.ts +0 -1
  697. package/dist/mjs/styles/preset.d.ts +0 -13
  698. package/dist/mjs/styles/radius.d.ts +0 -16
  699. package/dist/mjs/styles/reset.d.ts +0 -6
  700. package/dist/mjs/styles/shadow.d.ts +0 -8
  701. package/dist/mjs/styles/styledScrollbar.d.ts +0 -54
  702. package/dist/mjs/styles/transition.d.ts +0 -9
  703. package/dist/mjs/styles/types.d.ts +0 -111
  704. package/dist/mjs/styles/width.d.ts +0 -9
  705. package/dist/mjs/tokens.d.ts +0 -159
  706. package/dist/mjs/utils/ResizeSensor.d.ts +0 -9
  707. package/dist/mjs/utils/colors.d.ts +0 -1
  708. package/dist/mjs/utils/dotize.d.ts +0 -21
  709. package/dist/mjs/utils/escape-string.d.ts +0 -1
  710. package/dist/mjs/utils/filterBaseProps.d.ts +0 -12
  711. package/dist/mjs/utils/index.d.ts +0 -1
  712. package/dist/mjs/utils/interactions.d.ts +0 -6
  713. package/dist/mjs/utils/mergeStyles.d.ts +0 -2
  714. package/dist/mjs/utils/modules.d.ts +0 -1
  715. package/dist/mjs/utils/promise.d.ts +0 -1
  716. package/dist/mjs/utils/react/Slots.d.ts +0 -4
  717. package/dist/mjs/utils/react/chain.d.ts +0 -4
  718. package/dist/mjs/utils/react/isTextOnly.d.ts +0 -1
  719. package/dist/mjs/utils/react/mapProps.d.ts +0 -6
  720. package/dist/mjs/utils/react/mergeProps.d.ts +0 -9
  721. package/dist/mjs/utils/react/modAttrs.d.ts +0 -6
  722. package/dist/mjs/utils/react/nullableValue.d.ts +0 -19
  723. package/dist/mjs/utils/react/useCombinedRefs.d.ts +0 -2
  724. package/dist/mjs/utils/react/useId.d.ts +0 -15
  725. package/dist/mjs/utils/react/useLayoutEffect.d.ts +0 -2
  726. package/dist/mjs/utils/react/wrapNodeIfPlain.d.ts +0 -2
  727. package/dist/mjs/utils/renderStyles.d.ts +0 -10
  728. package/dist/mjs/utils/responsive.d.ts +0 -9
  729. package/dist/mjs/utils/string.d.ts +0 -1
  730. package/dist/mjs/utils/styles.d.ts +0 -198
  731. package/dist/mjs/utils/transitions.d.ts +0 -8
  732. package/dist/mjs/utils/tree.d.ts +0 -1
  733. package/dist/mjs/utils/warnings.d.ts +0 -3
@@ -0,0 +1,230 @@
1
+ /**
2
+ * @license MIT
3
+ * author: Cube Dev Team
4
+ * @cube-dev/ui-kit v0.9.0
5
+ * Released under the MIT license.
6
+ */
7
+
8
+ import { jsx as _jsx } from "react/jsx-runtime";
9
+ import { Children, cloneElement, useEffect, useRef, useState, } from 'react';
10
+ import { useFormProps } from './Form';
11
+ import { mergeProps } from '../../../utils/react';
12
+ import { FieldWrapper } from '../FieldWrapper';
13
+ const ID_MAP = {};
14
+ function createId(name) {
15
+ if (!name)
16
+ return;
17
+ if (!ID_MAP[name]) {
18
+ ID_MAP[name] = [];
19
+ }
20
+ let i = 0;
21
+ let id;
22
+ do {
23
+ id = i ? `${name}_${i}` : name;
24
+ i++;
25
+ } while (ID_MAP[name].includes(id));
26
+ ID_MAP[name].push(id);
27
+ return id;
28
+ }
29
+ function removeId(name, id) {
30
+ if (!ID_MAP[name])
31
+ return;
32
+ ID_MAP[name] = ID_MAP[name].filter((_id) => _id !== id);
33
+ }
34
+ function getDefaultValidateTrigger(type) {
35
+ type = type || '';
36
+ return type === 'Number' || type.includes('Text') ? 'onBlur' : 'onChange';
37
+ }
38
+ function getValueProps(type, value, onChange) {
39
+ type = type || '';
40
+ if (type === 'Number') {
41
+ return {
42
+ value: value != null ? value : null,
43
+ onChange: onChange,
44
+ };
45
+ }
46
+ else if (type === 'Text') {
47
+ return {
48
+ value: typeof value === 'string' || typeof value === 'number'
49
+ ? String(value)
50
+ : '',
51
+ onChange: onChange,
52
+ };
53
+ }
54
+ else if (type === 'Checkbox') {
55
+ return {
56
+ isSelected: value != null ? value : false,
57
+ isIndeterminate: false,
58
+ onChange: onChange,
59
+ };
60
+ }
61
+ else if (type === 'CheckboxGroup') {
62
+ return {
63
+ value: value != null ? value : [],
64
+ onChange: onChange,
65
+ };
66
+ }
67
+ else if (type === 'ComboBox') {
68
+ return {
69
+ inputValue: value != null ? value : '',
70
+ onInputChange: onChange,
71
+ };
72
+ }
73
+ else if (type === 'Select') {
74
+ return {
75
+ selectedKey: value != null ? value : null,
76
+ onSelectionChange: onChange,
77
+ };
78
+ }
79
+ return {
80
+ value: value != null ? value : null,
81
+ onChange,
82
+ };
83
+ }
84
+ export function Field(allProps) {
85
+ const props = useFormProps(allProps);
86
+ let { defaultValue, type: inputType, id, idPrefix, children, name, form, rules, label, validateTrigger, validationState, necessityLabel, necessityIndicator, shouldUpdate, message, description, tooltip, isHidden, } = props;
87
+ const nonInput = !name;
88
+ const fieldName = name != null ? (Array.isArray(name) ? name.join('.') : name) : '';
89
+ let firstRunRef = useRef(true);
90
+ let [fieldId, setFieldId] = useState(id || (idPrefix ? `${idPrefix}_${fieldName}` : fieldName));
91
+ useEffect(() => {
92
+ let newId;
93
+ if (!id && !nonInput) {
94
+ newId = createId(fieldId);
95
+ setFieldId(newId);
96
+ }
97
+ return () => {
98
+ if (!id) {
99
+ removeId(idPrefix ? `${idPrefix}_${fieldName}` : fieldName, newId);
100
+ }
101
+ if (fieldName && form) {
102
+ form.removeField(fieldName);
103
+ }
104
+ };
105
+ }, []);
106
+ let field = form?.getFieldInstance(fieldName);
107
+ let isRequired = rules && !!rules.find((rule) => rule.required);
108
+ useEffect(() => {
109
+ if (!form)
110
+ return;
111
+ if (field) {
112
+ field.rules = rules;
113
+ form.forceReRender();
114
+ }
115
+ else {
116
+ form.createField(fieldName);
117
+ }
118
+ }, [field]);
119
+ if (typeof children === 'function') {
120
+ children = children(form);
121
+ }
122
+ if (!children)
123
+ return null;
124
+ let child = Children.only(children);
125
+ if (nonInput) {
126
+ return (_jsx(FieldWrapper, { isHidden: isHidden, validationState: validationState, necessityIndicator: necessityIndicator, necessityLabel: necessityLabel, isRequired: isRequired, label: label, tooltip: tooltip, message: message, description: description, Component: child }, void 0));
127
+ }
128
+ if (!fieldName) {
129
+ console.error('invalid form name:', fieldName);
130
+ return null;
131
+ }
132
+ if (!form) {
133
+ console.error('form field requires declared form instance');
134
+ return null;
135
+ }
136
+ // @ts-ignore
137
+ inputType = inputType || child.type.cubeInputType || 'Text';
138
+ const defaultValidateTrigger = getDefaultValidateTrigger(inputType);
139
+ if (firstRunRef.current && defaultValue != null) {
140
+ if (!field) {
141
+ form.createField(fieldName, true);
142
+ }
143
+ if (field?.value == null) {
144
+ form.setFieldValue(fieldName, defaultValue, false, true);
145
+ field = form?.getFieldInstance(fieldName);
146
+ }
147
+ }
148
+ firstRunRef.current = false;
149
+ if (!field) {
150
+ return cloneElement(child, mergeProps(child.props, {
151
+ ...getValueProps(inputType),
152
+ name: fieldName,
153
+ id: fieldId,
154
+ }));
155
+ }
156
+ if (!validateTrigger) {
157
+ validateTrigger = defaultValidateTrigger;
158
+ }
159
+ function onChangeHandler(val) {
160
+ const field = form.getFieldInstance(fieldName);
161
+ if (shouldUpdate) {
162
+ const fieldsValue = form.getFieldsValue();
163
+ // check if we should update the value of the field
164
+ const shouldNotBeUpdated = typeof shouldUpdate === 'boolean'
165
+ ? !shouldUpdate
166
+ : !shouldUpdate(fieldsValue, {
167
+ ...fieldsValue,
168
+ [fieldName]: val,
169
+ });
170
+ if (shouldNotBeUpdated) {
171
+ return;
172
+ }
173
+ }
174
+ form.setFieldValue(fieldName, val, true);
175
+ if (validateTrigger === 'onChange'
176
+ || (field && field.errors && field.errors.length)) {
177
+ form.validateField(fieldName).catch(() => { }); // do nothing on fail
178
+ }
179
+ }
180
+ const newProps = {
181
+ id: fieldId,
182
+ name: fieldName,
183
+ onBlur() {
184
+ if (validateTrigger === 'onBlur') {
185
+ // We need timeout so the change event can be done.
186
+ setTimeout(() => {
187
+ form.validateField(fieldName).catch(() => { }); // do nothing on fail
188
+ });
189
+ }
190
+ },
191
+ };
192
+ if (necessityIndicator != null) {
193
+ newProps.necessityIndicator = necessityIndicator;
194
+ }
195
+ if (necessityLabel) {
196
+ newProps.necessityLabel = necessityLabel;
197
+ }
198
+ if (validationState) {
199
+ newProps.validationState = validationState;
200
+ }
201
+ if (isRequired) {
202
+ newProps.isRequired = isRequired;
203
+ }
204
+ if (label) {
205
+ newProps.label = label;
206
+ }
207
+ if (tooltip) {
208
+ newProps.tooltip = tooltip;
209
+ }
210
+ if (message) {
211
+ newProps.message = message;
212
+ }
213
+ if (isHidden != null) {
214
+ newProps.isHidden = isHidden;
215
+ }
216
+ if (field && field.errors && field.errors.length) {
217
+ if (!validationState) {
218
+ newProps.validationState = 'invalid';
219
+ }
220
+ if (!message) {
221
+ newProps.message = field.errors[0];
222
+ }
223
+ }
224
+ Object.assign(newProps, getValueProps(inputType, field?.value, onChangeHandler));
225
+ const { onChange, onSelectionChange, ...childProps } = child.props;
226
+ // onChange event passed to the child should be executed after Form onChange logic
227
+ return cloneElement(child, mergeProps(childProps, newProps, onChange ? { onChange } : {}, onSelectionChange ? { onSelectionChange } : {}));
228
+ }
229
+
230
+
@@ -0,0 +1,121 @@
1
+ /**
2
+ * @license MIT
3
+ * author: Cube Dev Team
4
+ * @cube-dev/ui-kit v0.9.0
5
+ * Released under the MIT license.
6
+ */
7
+
8
+ import { jsx as _jsx } from "react/jsx-runtime";
9
+ import { useDOMRef } from '@react-spectrum/utils';
10
+ import { Provider, useProviderProps } from '../../../provider';
11
+ import { createContext, useContext, useRef, forwardRef, useEffect, } from 'react';
12
+ import { Base } from '../../Base';
13
+ import { extractStyles } from '../../../utils/styles';
14
+ import { CONTAINER_STYLES } from '../../../styles/list';
15
+ import { filterBaseProps } from '../../../utils/filterBaseProps';
16
+ import { useForm } from './useForm';
17
+ import { useCombinedRefs } from '../../../utils/react';
18
+ import { timeout } from '../../../utils/promise';
19
+ export const FormContext = createContext({});
20
+ export function useFormProps(props) {
21
+ const ctx = useContext(FormContext);
22
+ return { ...ctx, ...props };
23
+ }
24
+ const formPropNames = new Set([
25
+ 'action',
26
+ 'autoComplete',
27
+ 'encType',
28
+ 'method',
29
+ 'target',
30
+ ]);
31
+ const DEFAULT_STYLES = {
32
+ display: 'block',
33
+ flow: 'column',
34
+ gap: '2x',
35
+ '@label-width': '25x',
36
+ };
37
+ function Form(props, ref) {
38
+ props = useProviderProps(props);
39
+ let { qa, name, children, labelPosition = 'top', isRequired, necessityIndicator, isDisabled, isReadOnly, validationState, labelStyles, validateTrigger, defaultValues, onValuesChange, requiredMark = true, form, labelWidth, onSubmit, onSubmitFailed, ...otherProps } = props;
40
+ let styles;
41
+ const firstRunRef = useRef(true);
42
+ ref = useCombinedRefs(ref);
43
+ let onSubmitCallback;
44
+ if ((onSubmit || onSubmitFailed) && !otherProps.action) {
45
+ onSubmitCallback = (e) => {
46
+ if (e && e?.preventDefault) {
47
+ e && e?.preventDefault && e?.preventDefault();
48
+ e && e?.stopPropagation && e?.stopPropagation();
49
+ if (e.nativeEvent) {
50
+ const evt = e.nativeEvent;
51
+ if (evt.submitter
52
+ && evt.submitter.getAttribute('type') !== 'submit') {
53
+ return;
54
+ }
55
+ }
56
+ }
57
+ return form?.validateFields().then(async () => {
58
+ await timeout();
59
+ if (form && !form.isSubmitting) {
60
+ try {
61
+ form.setSubmitting(true);
62
+ await onSubmit?.(form.getFormData());
63
+ }
64
+ finally {
65
+ form.setSubmitting(false);
66
+ }
67
+ }
68
+ }, async (e) => {
69
+ await timeout();
70
+ if (e instanceof Error) {
71
+ throw e;
72
+ }
73
+ // errors are shown
74
+ // transfer errors to the callback
75
+ onSubmitFailed?.(e);
76
+ });
77
+ // output data from form directly
78
+ // onSubmit(Object.fromEntries(new FormData(e.target).entries()));
79
+ };
80
+ }
81
+ [form] = useForm(form, ref && ref.current, {
82
+ onSubmit: onSubmitCallback,
83
+ onValuesChange,
84
+ });
85
+ styles = extractStyles(otherProps, CONTAINER_STYLES, DEFAULT_STYLES);
86
+ if (labelWidth) {
87
+ styles['@label-width'] = labelWidth;
88
+ }
89
+ let domRef = useDOMRef(ref);
90
+ let ctx = {
91
+ labelPosition,
92
+ labelStyles,
93
+ necessityIndicator,
94
+ validateTrigger,
95
+ requiredMark,
96
+ form,
97
+ idPrefix: name,
98
+ };
99
+ if (firstRunRef.current && form) {
100
+ if (defaultValues) {
101
+ form.setInitialFieldsValue(defaultValues);
102
+ form.resetFields(undefined, true);
103
+ firstRunRef.current = false;
104
+ }
105
+ }
106
+ useEffect(() => {
107
+ if (defaultValues) {
108
+ form?.setInitialFieldsValue(defaultValues);
109
+ }
110
+ }, [defaultValues]);
111
+ return (_jsx(Base, { as: "form", qa: "Form", ...filterBaseProps(otherProps, { propNames: formPropNames }), onSubmit: onSubmitCallback, noValidate: true, styles: styles, ref: domRef, mods: {
112
+ 'has-sider': labelPosition === 'side',
113
+ }, children: _jsx(FormContext.Provider, { value: ctx, children: _jsx(Provider, { insideForm: true, isDisabled: isDisabled, isReadOnly: isReadOnly, isRequired: isRequired, validationState: validationState, children: children }, void 0) }, void 0) }, void 0));
114
+ }
115
+ /**
116
+ * Forms allow users to enter data that can be submitted while providing alignment and styling for form fields.
117
+ */
118
+ const _Form = forwardRef(Form);
119
+ export { _Form as Form };
120
+
121
+
@@ -0,0 +1,14 @@
1
+ /**
2
+ * @license MIT
3
+ * author: Cube Dev Team
4
+ * @cube-dev/ui-kit v0.9.0
5
+ * Released under the MIT license.
6
+ */
7
+
8
+ import { Field } from './Field';
9
+ import { useForm } from './useForm';
10
+ import { useFormProps, Form as _Form } from './Form';
11
+ const Form = Object.assign(_Form, { Item: Field, useForm });
12
+ export { useFormProps, Form, Field, useForm };
13
+
14
+
@@ -0,0 +1,275 @@
1
+ /**
2
+ * @license MIT
3
+ * author: Cube Dev Team
4
+ * @cube-dev/ui-kit v0.9.0
5
+ * Released under the MIT license.
6
+ */
7
+
8
+ import { useRef, useState } from 'react';
9
+ import { dotize } from '../../../utils/dotize';
10
+ import { applyRules } from './validation';
11
+ function setValue(obj, path, value) {
12
+ let a = path.split('.');
13
+ let o = obj;
14
+ while (a.length - 1) {
15
+ let n = a.shift();
16
+ if (!(n in o))
17
+ o[n] = {};
18
+ o = o[n];
19
+ }
20
+ o[a[0]] = value;
21
+ }
22
+ function isEqual(v1, v2) {
23
+ return JSON.stringify(v1) === JSON.stringify(v2);
24
+ }
25
+ export class CubeFormInstance {
26
+ constructor(forceReRender) {
27
+ this.forceReRender = () => { };
28
+ this.initialFields = {};
29
+ this.fields = {};
30
+ this.ref = {};
31
+ this.isSubmitting = false;
32
+ this.onValuesChange = () => { };
33
+ this.onSubmit = () => { };
34
+ this.forceReRender = forceReRender || (() => { });
35
+ this.initialFields = {};
36
+ this.fields = {};
37
+ this.getFieldValue = this.getFieldValue.bind(this);
38
+ this.getFieldsValue = this.getFieldsValue.bind(this);
39
+ this.setFieldsValue = this.setFieldsValue.bind(this);
40
+ this.setFieldValue = this.setFieldValue.bind(this);
41
+ this.getFieldError = this.getFieldError.bind(this);
42
+ this.getFieldInstance = this.getFieldInstance.bind(this);
43
+ this.setInitialFieldsValue = this.setInitialFieldsValue.bind(this);
44
+ this.resetFields = this.resetFields.bind(this);
45
+ this.validateField = this.validateField.bind(this);
46
+ this.validateFields = this.validateFields.bind(this);
47
+ this.isFieldValid = this.isFieldValid.bind(this);
48
+ this.createField = this.createField.bind(this);
49
+ this.isFieldInvalid = this.isFieldInvalid.bind(this);
50
+ this.isFieldTouched = this.isFieldTouched.bind(this);
51
+ this.setFields = this.setFields.bind(this);
52
+ }
53
+ async submit() {
54
+ if (this.onSubmit) {
55
+ return this.onSubmit(this.getFormData());
56
+ }
57
+ }
58
+ setFieldsValue(newData, touched, skipRender, createFields = false) {
59
+ let flag = false;
60
+ Object.keys(newData).forEach((name) => {
61
+ let field = this.fields[name];
62
+ if (!field && createFields) {
63
+ this.createField(name, skipRender);
64
+ field = this.fields[name];
65
+ }
66
+ if (!field || isEqual(field.value, newData[name])) {
67
+ if (field && touched === false) {
68
+ field.errors = [];
69
+ }
70
+ return;
71
+ }
72
+ flag = true;
73
+ field.value = newData[name];
74
+ if (touched === true) {
75
+ field.touched = touched;
76
+ }
77
+ else if (touched === false) {
78
+ field.touched = false;
79
+ field.errors = [];
80
+ }
81
+ });
82
+ if (flag && !skipRender) {
83
+ this.forceReRender();
84
+ if (touched) {
85
+ this.onValuesChange && this.onValuesChange(this.getFormData());
86
+ }
87
+ }
88
+ }
89
+ getFieldValue(name) {
90
+ return this.fields[name] && this.fields[name].value;
91
+ }
92
+ getFieldsValue() {
93
+ const data = {};
94
+ return Object.values(this.fields).reduce((map, field) => {
95
+ map[field.name] = field.value;
96
+ return map;
97
+ }, data);
98
+ }
99
+ /**
100
+ * Similar to getFieldsValue() but respects '.' notation and creates nested objects.
101
+ */
102
+ getFormData() {
103
+ const fieldsValue = this.getFieldsValue();
104
+ return Object.keys(fieldsValue).reduce((map, field) => {
105
+ setValue(map, field, fieldsValue[field]);
106
+ if (field.includes('.')) {
107
+ delete map[field];
108
+ }
109
+ return map;
110
+ }, {});
111
+ }
112
+ setFieldValue(name, value, touched = false, skipRender) {
113
+ const field = this.fields[name];
114
+ if (!field || isEqual(value, field.value))
115
+ return;
116
+ field.value = value;
117
+ if (touched) {
118
+ field.touched = touched;
119
+ }
120
+ if (!skipRender) {
121
+ this.forceReRender();
122
+ }
123
+ if (touched) {
124
+ this.onValuesChange && this.onValuesChange(this.getFormData());
125
+ }
126
+ }
127
+ getFieldInstance(name) {
128
+ return this.fields[name];
129
+ }
130
+ setInitialFieldsValue(values) {
131
+ this.initialFields = dotize.convert(values) || {};
132
+ }
133
+ resetFields(names, skipRender) {
134
+ const fieldsValue = this.getFieldsValue();
135
+ const fieldNames = Object.keys({ ...fieldsValue, ...this.initialFields });
136
+ const filteredFieldNames = names
137
+ ? fieldNames.filter((name) => names.includes(name))
138
+ : fieldNames;
139
+ const values = filteredFieldNames.reduce((map, name) => {
140
+ if (name in this.initialFields) {
141
+ map[name] = this.initialFields[name];
142
+ }
143
+ else {
144
+ map[name] = undefined;
145
+ }
146
+ return map;
147
+ }, {});
148
+ this.setFieldsValue(values, false, skipRender, true);
149
+ }
150
+ async validateField(name) {
151
+ const field = this.getFieldInstance(name);
152
+ if (!field || !field.rules)
153
+ return Promise.resolve();
154
+ return applyRules(field.value, field.rules, this)
155
+ .then(() => {
156
+ if (!field.errors || field.errors.length) {
157
+ field.errors = [];
158
+ this.forceReRender();
159
+ }
160
+ })
161
+ .catch((err) => {
162
+ if (!field.errors || !isEqual(field.errors, [err])) {
163
+ field.errors = [err];
164
+ this.forceReRender();
165
+ }
166
+ return Promise.reject([err]);
167
+ });
168
+ }
169
+ validateFields(list) {
170
+ const fieldsList = list || Object.keys(this.fields);
171
+ const errorList = [];
172
+ return Promise.allSettled(fieldsList.map((name) => {
173
+ return this.validateField(name).catch((errors) => {
174
+ errorList.push({ name, errors });
175
+ return Promise.reject();
176
+ });
177
+ })).then(() => {
178
+ if (errorList.length) {
179
+ return Promise.reject(errorList);
180
+ }
181
+ return this.getFormData();
182
+ });
183
+ }
184
+ isFieldValid(name) {
185
+ const field = this.getFieldInstance(name);
186
+ if (!field)
187
+ return true;
188
+ return !field.errors.length;
189
+ }
190
+ isFieldInvalid(name) {
191
+ const field = this.getFieldInstance(name);
192
+ if (!field)
193
+ return false;
194
+ return !!field.errors.length;
195
+ }
196
+ isFieldTouched(name) {
197
+ const field = this.getFieldInstance(name);
198
+ if (!field)
199
+ return false;
200
+ return !!field.touched;
201
+ }
202
+ getFieldError(name) {
203
+ const field = this.getFieldInstance(name);
204
+ if (!field)
205
+ return [];
206
+ return field.errors || [];
207
+ }
208
+ createField(name, skipRender) {
209
+ if (!this.fields[name]) {
210
+ this.fields[name] = this._createField(name);
211
+ }
212
+ if (!skipRender) {
213
+ this.forceReRender();
214
+ }
215
+ }
216
+ removeField(name, skipRender) {
217
+ if (this.fields[name]) {
218
+ delete this.fields[name];
219
+ }
220
+ if (!skipRender) {
221
+ this.forceReRender();
222
+ }
223
+ this.validateFields().catch(() => { });
224
+ }
225
+ setFields(newFields) {
226
+ newFields.forEach(({ name, value, errors }) => {
227
+ this.fields[name] = this._createField(name, {
228
+ value,
229
+ errors,
230
+ });
231
+ });
232
+ this.forceReRender();
233
+ }
234
+ setSubmitting(isSubmitting) {
235
+ this.isSubmitting = isSubmitting;
236
+ this.forceReRender();
237
+ }
238
+ _createField(name, data) {
239
+ return {
240
+ name,
241
+ value: undefined,
242
+ validating: false,
243
+ touched: false,
244
+ errors: [],
245
+ ...data,
246
+ };
247
+ }
248
+ }
249
+ export function useForm(form, ref, options = {}) {
250
+ const { onSubmit, onValuesChange } = options;
251
+ const formRef = useRef();
252
+ const [, forceUpdate] = useState({});
253
+ if (!formRef.current) {
254
+ if (form) {
255
+ formRef.current = form;
256
+ }
257
+ else {
258
+ // Create a new FormInstance if not provided
259
+ const forceReRender = () => {
260
+ forceUpdate({});
261
+ };
262
+ form = formRef.current = new CubeFormInstance(forceReRender);
263
+ }
264
+ form.ref = ref;
265
+ if (onSubmit) {
266
+ form.onSubmit = onSubmit;
267
+ }
268
+ if (onValuesChange) {
269
+ form.onValuesChange = onValuesChange;
270
+ }
271
+ }
272
+ return [formRef.current];
273
+ }
274
+
275
+