@cyclone-ui/state 0.0.11 → 0.0.13

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 (167) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/README.md +1 -1
  3. package/dist/base/atoms/atom-with-broadcast.cjs +45 -1
  4. package/dist/base/atoms/atom-with-broadcast.mjs +45 -1
  5. package/dist/base/atoms/atom-with-broadcast.mjs.map +1 -1
  6. package/dist/base/atoms/atom-with-compare.cjs +12 -1
  7. package/dist/base/atoms/atom-with-compare.mjs +12 -1
  8. package/dist/base/atoms/atom-with-compare.mjs.map +1 -1
  9. package/dist/base/atoms/atom-with-debounce.cjs +52 -1
  10. package/dist/base/atoms/atom-with-debounce.mjs +52 -1
  11. package/dist/base/atoms/atom-with-debounce.mjs.map +1 -1
  12. package/dist/base/atoms/atom-with-effect.cjs +123 -1
  13. package/dist/base/atoms/atom-with-effect.mjs +120 -1
  14. package/dist/base/atoms/atom-with-effect.mjs.map +1 -1
  15. package/dist/base/atoms/atom-with-listeners.cjs +36 -1
  16. package/dist/base/atoms/atom-with-listeners.mjs +36 -1
  17. package/dist/base/atoms/atom-with-listeners.mjs.map +1 -1
  18. package/dist/base/atoms/atom-with-pending.cjs +14 -1
  19. package/dist/base/atoms/atom-with-pending.mjs +14 -1
  20. package/dist/base/atoms/atom-with-pending.mjs.map +1 -1
  21. package/dist/base/atoms/atom-with-refresh-and-default.cjs +19 -1
  22. package/dist/base/atoms/atom-with-refresh-and-default.mjs +19 -1
  23. package/dist/base/atoms/atom-with-refresh-and-default.mjs.map +1 -1
  24. package/dist/base/atoms/atom-with-refresh.cjs +13 -1
  25. package/dist/base/atoms/atom-with-refresh.mjs +13 -1
  26. package/dist/base/atoms/atom-with-refresh.mjs.map +1 -1
  27. package/dist/base/atoms/atom-with-toggle.cjs +13 -1
  28. package/dist/base/atoms/atom-with-toggle.mjs +13 -1
  29. package/dist/base/atoms/atom-with-toggle.mjs.map +1 -1
  30. package/dist/base/atoms/atom-with-web-storage.cjs +48 -1
  31. package/dist/base/atoms/atom-with-web-storage.mjs +47 -1
  32. package/dist/base/atoms/atom-with-web-storage.mjs.map +1 -1
  33. package/dist/base/atoms/atom-with-wrapper.cjs +25 -1
  34. package/dist/base/atoms/atom-with-wrapper.mjs +25 -1
  35. package/dist/base/atoms/atom-with-wrapper.mjs.map +1 -1
  36. package/dist/base/atoms/base-atom.cjs +25 -1
  37. package/dist/base/atoms/base-atom.mjs +25 -1
  38. package/dist/base/atoms/base-atom.mjs.map +1 -1
  39. package/dist/base/atoms/index.cjs +24 -1
  40. package/dist/base/atoms/index.mjs +13 -1
  41. package/dist/base/hooks/index.cjs +9 -1
  42. package/dist/base/hooks/index.mjs +6 -1
  43. package/dist/base/hooks/use-atom-effect.cjs +17 -1
  44. package/dist/base/hooks/use-atom-effect.mjs +17 -1
  45. package/dist/base/hooks/use-atom-effect.mjs.map +1 -1
  46. package/dist/base/hooks/use-hydrate-molecule.cjs +17 -1
  47. package/dist/base/hooks/use-hydrate-molecule.mjs +17 -1
  48. package/dist/base/hooks/use-hydrate-molecule.mjs.map +1 -1
  49. package/dist/base/hooks/use-prepare-atoms.cjs +20 -1
  50. package/dist/base/hooks/use-prepare-atoms.mjs +20 -1
  51. package/dist/base/hooks/use-prepare-atoms.mjs.map +1 -1
  52. package/dist/base/hooks/use-sync-molecule.cjs +37 -1
  53. package/dist/base/hooks/use-sync-molecule.mjs +37 -1
  54. package/dist/base/hooks/use-sync-molecule.mjs.map +1 -1
  55. package/dist/base/index.cjs +47 -1
  56. package/dist/base/index.mjs +24 -1
  57. package/dist/base/utilities/create-molecule.cjs +105 -4
  58. package/dist/base/utilities/create-molecule.d.cts.map +1 -1
  59. package/dist/base/utilities/create-molecule.mjs +102 -4
  60. package/dist/base/utilities/create-molecule.mjs.map +1 -1
  61. package/dist/base/utilities/create-web-storage.cjs +55 -1
  62. package/dist/base/utilities/create-web-storage.mjs +55 -1
  63. package/dist/base/utilities/create-web-storage.mjs.map +1 -1
  64. package/dist/base/utilities/debounce.cjs +52 -1
  65. package/dist/base/utilities/debounce.mjs +52 -1
  66. package/dist/base/utilities/debounce.mjs.map +1 -1
  67. package/dist/base/utilities/index.cjs +13 -1
  68. package/dist/base/utilities/index.mjs +6 -1
  69. package/dist/base/utilities/is-atom.cjs +48 -1
  70. package/dist/base/utilities/is-atom.mjs +46 -1
  71. package/dist/base/utilities/is-atom.mjs.map +1 -1
  72. package/dist/base/utilities/set-atom-debug.cjs +24 -1
  73. package/dist/base/utilities/set-atom-debug.mjs +23 -1
  74. package/dist/base/utilities/set-atom-debug.mjs.map +1 -1
  75. package/dist/client/index.cjs +16 -1
  76. package/dist/client/index.mjs +8 -1
  77. package/dist/form/atoms/atom-with-field.cjs +23 -1
  78. package/dist/form/atoms/atom-with-field.mjs +23 -1
  79. package/dist/form/atoms/atom-with-field.mjs.map +1 -1
  80. package/dist/form/atoms/atom-with-messages.cjs +85 -1
  81. package/dist/form/atoms/atom-with-messages.mjs +78 -1
  82. package/dist/form/atoms/atom-with-messages.mjs.map +1 -1
  83. package/dist/form/hooks/index.cjs +7 -1
  84. package/dist/form/hooks/index.mjs +5 -1
  85. package/dist/form/hooks/use-field-actions.cjs +92 -1
  86. package/dist/form/hooks/use-field-actions.mjs +92 -1
  87. package/dist/form/hooks/use-field-actions.mjs.map +1 -1
  88. package/dist/form/hooks/use-field-ref.cjs +16 -1
  89. package/dist/form/hooks/use-field-ref.mjs +16 -1
  90. package/dist/form/hooks/use-field-ref.mjs.map +1 -1
  91. package/dist/form/hooks/use-form-actions.cjs +69 -1
  92. package/dist/form/hooks/use-form-actions.mjs +69 -1
  93. package/dist/form/hooks/use-form-actions.mjs.map +1 -1
  94. package/dist/form/index.cjs +30 -1
  95. package/dist/form/index.mjs +17 -1
  96. package/dist/form/molecules/field-molecule.cjs +154 -1
  97. package/dist/form/molecules/field-molecule.mjs +153 -1
  98. package/dist/form/molecules/field-molecule.mjs.map +1 -1
  99. package/dist/form/molecules/form-molecule.cjs +180 -1
  100. package/dist/form/molecules/form-molecule.mjs +179 -1
  101. package/dist/form/molecules/form-molecule.mjs.map +1 -1
  102. package/dist/form/molecules/index.cjs +7 -1
  103. package/dist/form/molecules/index.mjs +4 -1
  104. package/dist/form/providers/FieldProvider.cjs +103 -4
  105. package/dist/form/providers/FieldProvider.mjs +103 -4
  106. package/dist/form/providers/FieldProvider.mjs.map +1 -1
  107. package/dist/form/providers/FormProvider.cjs +66 -4
  108. package/dist/form/providers/FormProvider.d.cts.map +1 -1
  109. package/dist/form/providers/FormProvider.mjs +66 -4
  110. package/dist/form/providers/FormProvider.mjs.map +1 -1
  111. package/dist/form/providers/index.cjs +5 -1
  112. package/dist/form/providers/index.mjs +4 -1
  113. package/dist/form/types.cjs +13 -1
  114. package/dist/form/types.mjs +13 -1
  115. package/dist/form/types.mjs.map +1 -1
  116. package/dist/form/utilities/abort-error.cjs +15 -1
  117. package/dist/form/utilities/abort-error.mjs +15 -1
  118. package/dist/form/utilities/abort-error.mjs.map +1 -1
  119. package/dist/form/utilities/index.cjs +7 -1
  120. package/dist/form/utilities/index.mjs +5 -1
  121. package/dist/form/utilities/is-validation-results.cjs +9 -1
  122. package/dist/form/utilities/is-validation-results.mjs +9 -1
  123. package/dist/form/utilities/is-validation-results.mjs.map +1 -1
  124. package/dist/form/utilities/validators.cjs +8 -1
  125. package/dist/form/utilities/validators.mjs +8 -1
  126. package/dist/form/utilities/validators.mjs.map +1 -1
  127. package/dist/index.cjs +71 -1
  128. package/dist/index.mjs +34 -1
  129. package/dist/message/components/MessageViewport.cjs +21 -6
  130. package/dist/message/components/MessageViewport.mjs +21 -6
  131. package/dist/message/components/MessageViewport.mjs.map +1 -1
  132. package/dist/message/components/index.cjs +3 -1
  133. package/dist/message/components/index.mjs +3 -1
  134. package/dist/message/hooks/index.cjs +3 -1
  135. package/dist/message/hooks/index.mjs +3 -1
  136. package/dist/message/hooks/use-message-actions.cjs +63 -1
  137. package/dist/message/hooks/use-message-actions.mjs +63 -1
  138. package/dist/message/hooks/use-message-actions.mjs.map +1 -1
  139. package/dist/message/index.cjs +23 -1
  140. package/dist/message/index.mjs +8 -1
  141. package/dist/message/providers/MessageProvider.cjs +16 -1
  142. package/dist/message/providers/MessageProvider.mjs +16 -1
  143. package/dist/message/providers/MessageProvider.mjs.map +1 -1
  144. package/dist/theme/hooks/index.cjs +7 -1
  145. package/dist/theme/hooks/index.mjs +4 -1
  146. package/dist/theme/hooks/use-theme-actions.cjs +21 -1
  147. package/dist/theme/hooks/use-theme-actions.mjs +21 -1
  148. package/dist/theme/hooks/use-theme-actions.mjs.map +1 -1
  149. package/dist/theme/hooks/use-theme-store.cjs +61 -1
  150. package/dist/theme/hooks/use-theme-store.d.cts +2 -2
  151. package/dist/theme/hooks/use-theme-store.d.mts +2 -2
  152. package/dist/theme/hooks/use-theme-store.mjs +59 -1
  153. package/dist/theme/hooks/use-theme-store.mjs.map +1 -1
  154. package/dist/theme/index.cjs +17 -1
  155. package/dist/theme/index.mjs +9 -1
  156. package/dist/theme/molecules/index.cjs +3 -1
  157. package/dist/theme/molecules/index.mjs +3 -1
  158. package/dist/theme/molecules/theme-molecule.cjs +14 -1
  159. package/dist/theme/molecules/theme-molecule.mjs +14 -1
  160. package/dist/theme/molecules/theme-molecule.mjs.map +1 -1
  161. package/dist/theme/providers/ThemeProvider.cjs +30 -5
  162. package/dist/theme/providers/ThemeProvider.mjs +30 -5
  163. package/dist/theme/providers/ThemeProvider.mjs.map +1 -1
  164. package/dist/theme/utilities/theme-helpers.cjs +71 -1
  165. package/dist/theme/utilities/theme-helpers.mjs +70 -1
  166. package/dist/theme/utilities/theme-helpers.mjs.map +1 -1
  167. package/package.json +6 -6
@@ -1,4 +1,103 @@
1
- const e=require("../../base/hooks/use-atom-effect.cjs"),t=require("../molecules/form-molecule.cjs"),n=require("../molecules/field-molecule.cjs"),r=require("../types.cjs"),i=require("../hooks/use-field-actions.cjs"),a=require("../utilities/abort-error.cjs");let o=require("@tamagui/core"),s=require("@stryke/async"),c=require("@stryke/type-checks/is-boolean");function l(o){let{validate:l}=i.useFieldActions(),u=t.FormApi.useMolecule(),d=n.FieldApi.useMolecule();return e.useAtomEffect((e,t)=>{let n=e(d.value),i=new AbortController;return(async()=>{try{let a=e(d.options);await(0,s.delay)(a.debounceMs),i.signal.throwIfAborted(),a.onChange&&(await Promise.resolve(a.onChange({get:e,set:t,atoms:d})),i.signal.throwIfAborted());let o=[];o.push(l(n,r.ValidationCause.CHANGE)),e(d.blurred)&&o.push(l(n,r.ValidationCause.BLUR)),e(u.submitAttempts)>0&&o.push(l(n,r.ValidationCause.SUBMIT)),await Promise.all(o)}catch(e){e instanceof a.AbortError}})(),()=>{i.abort(new a.AbortError)}},[l]),e.useAtomEffect((e,t)=>{let n=e(d.focused),i=new AbortController;return(async()=>{try{let a=e(d.options);if(await(0,s.delay)(a.debounceMs),i.signal.throwIfAborted(),(0,c.isBoolean)(n)){if(e(d.touched)||t(d.touched,!0),n)a.onFocus&&(await Promise.resolve(a.onFocus({get:e,set:t,atoms:d})),i.signal.throwIfAborted());else{a.onBlur&&(await Promise.resolve(a.onBlur({get:e,set:t,atoms:d})),i.signal.throwIfAborted());let n=e(d.value),o=[];o.push(l(n,r.ValidationCause.BLUR)),e(u.submitAttempts)>0&&o.push(l(n,r.ValidationCause.SUBMIT)),await Promise.all(o)}}}catch(e){e instanceof a.AbortError}})(),()=>{i.abort(new a.AbortError)}},[l]),null}function u({children:e,name:r,...i}){let a=t.FormApi.use().name.get(),s=(0,o.useThemeName)();return<n.FieldApi.Provider scope={`${a}-${r}`} initialState={{options:{theme:s,...i}}}>
2
- <l{...i}/>
3
- {e}
4
- </n.FieldApi.Provider>}exports.FieldProvider=u;
1
+ const require_use_atom_effect = require("../../base/hooks/use-atom-effect.cjs");
2
+ const require_form_molecule = require("../molecules/form-molecule.cjs");
3
+ const require_field_molecule = require("../molecules/field-molecule.cjs");
4
+ const require_types = require("../types.cjs");
5
+ const require_use_field_actions = require("../hooks/use-field-actions.cjs");
6
+ const require_abort_error = require("../utilities/abort-error.cjs");
7
+ let _tamagui_core = require("@tamagui/core");
8
+ let _stryke_async = require("@stryke/async");
9
+ let _stryke_type_checks_is_boolean = require("@stryke/type-checks/is-boolean");
10
+
11
+ //#region src/form/providers/FieldProvider.tsx
12
+ function FieldStateManager(_props) {
13
+ const { validate } = require_use_field_actions.useFieldActions();
14
+ const form = require_form_molecule.FormApi.useMolecule();
15
+ const field = require_field_molecule.FieldApi.useMolecule();
16
+ require_use_atom_effect.useAtomEffect((get, set) => {
17
+ const value = get(field.value);
18
+ const abortController = new AbortController();
19
+ (async () => {
20
+ try {
21
+ const options = get(field.options);
22
+ await (0, _stryke_async.delay)(options.debounceMs);
23
+ abortController.signal.throwIfAborted();
24
+ if (options.onChange) {
25
+ await Promise.resolve(options.onChange({
26
+ get,
27
+ set,
28
+ atoms: field
29
+ }));
30
+ abortController.signal.throwIfAborted();
31
+ }
32
+ const promises = [];
33
+ promises.push(validate(value, require_types.ValidationCause.CHANGE));
34
+ if (get(field.blurred)) promises.push(validate(value, require_types.ValidationCause.BLUR));
35
+ if (get(form.submitAttempts) > 0) promises.push(validate(value, require_types.ValidationCause.SUBMIT));
36
+ await Promise.all(promises);
37
+ } catch (e) {
38
+ if (e instanceof require_abort_error.AbortError) {}
39
+ }
40
+ })();
41
+ return () => {
42
+ abortController.abort(new require_abort_error.AbortError());
43
+ };
44
+ }, [validate]);
45
+ require_use_atom_effect.useAtomEffect((get, set) => {
46
+ const focused = get(field.focused);
47
+ const abortController = new AbortController();
48
+ (async () => {
49
+ try {
50
+ const options = get(field.options);
51
+ await (0, _stryke_async.delay)(options.debounceMs);
52
+ abortController.signal.throwIfAborted();
53
+ if ((0, _stryke_type_checks_is_boolean.isBoolean)(focused)) {
54
+ if (!get(field.touched)) set(field.touched, true);
55
+ if (focused) {
56
+ if (options.onFocus) {
57
+ await Promise.resolve(options.onFocus({
58
+ get,
59
+ set,
60
+ atoms: field
61
+ }));
62
+ abortController.signal.throwIfAborted();
63
+ }
64
+ } else {
65
+ if (options.onBlur) {
66
+ await Promise.resolve(options.onBlur({
67
+ get,
68
+ set,
69
+ atoms: field
70
+ }));
71
+ abortController.signal.throwIfAborted();
72
+ }
73
+ const value = get(field.value);
74
+ const promises = [];
75
+ promises.push(validate(value, require_types.ValidationCause.BLUR));
76
+ if (get(form.submitAttempts) > 0) promises.push(validate(value, require_types.ValidationCause.SUBMIT));
77
+ await Promise.all(promises);
78
+ }
79
+ }
80
+ } catch (e) {
81
+ if (e instanceof require_abort_error.AbortError) {}
82
+ }
83
+ })();
84
+ return () => {
85
+ abortController.abort(new require_abort_error.AbortError());
86
+ };
87
+ }, [validate]);
88
+ return null;
89
+ }
90
+ function FieldProvider({ children, name, ...props }) {
91
+ const formName = require_form_molecule.FormApi.use().name.get();
92
+ const theme = (0, _tamagui_core.useThemeName)();
93
+ return <require_field_molecule.FieldApi.Provider scope={`${formName}-${name}`} initialState={{ options: {
94
+ theme,
95
+ ...props
96
+ } }}>
97
+ <FieldStateManager {...props} />
98
+ {children}
99
+ </require_field_molecule.FieldApi.Provider>;
100
+ }
101
+
102
+ //#endregion
103
+ exports.FieldProvider = FieldProvider;
@@ -1,5 +1,104 @@
1
- import{useAtomEffect as e}from"../../base/hooks/use-atom-effect.mjs";import{FormApi as t}from"../molecules/form-molecule.mjs";import{FieldApi as n}from"../molecules/field-molecule.mjs";import{ValidationCause as r}from"../types.mjs";import{useFieldActions as i}from"../hooks/use-field-actions.mjs";import{AbortError as a}from"../utilities/abort-error.mjs";import{useThemeName as o}from"@tamagui/core";import{delay as s}from"@stryke/async";import{isBoolean as c}from"@stryke/type-checks/is-boolean";function l(o){let{validate:l}=i(),u=t.useMolecule(),d=n.useMolecule();return e((e,t)=>{let n=e(d.value),i=new AbortController;return(async()=>{try{let a=e(d.options);await s(a.debounceMs),i.signal.throwIfAborted(),a.onChange&&(await Promise.resolve(a.onChange({get:e,set:t,atoms:d})),i.signal.throwIfAborted());let o=[];o.push(l(n,r.CHANGE)),e(d.blurred)&&o.push(l(n,r.BLUR)),e(u.submitAttempts)>0&&o.push(l(n,r.SUBMIT)),await Promise.all(o)}catch(e){e instanceof a}})(),()=>{i.abort(new a)}},[l]),e((e,t)=>{let n=e(d.focused),i=new AbortController;return(async()=>{try{let a=e(d.options);if(await s(a.debounceMs),i.signal.throwIfAborted(),c(n)){if(e(d.touched)||t(d.touched,!0),n)a.onFocus&&(await Promise.resolve(a.onFocus({get:e,set:t,atoms:d})),i.signal.throwIfAborted());else{a.onBlur&&(await Promise.resolve(a.onBlur({get:e,set:t,atoms:d})),i.signal.throwIfAborted());let n=e(d.value),o=[];o.push(l(n,r.BLUR)),e(u.submitAttempts)>0&&o.push(l(n,r.SUBMIT)),await Promise.all(o)}}}catch(e){e instanceof a}})(),()=>{i.abort(new a)}},[l]),null}function u({children:e,name:r,...i}){let a=t.use().name.get(),s=o();return<n.Provider scope={`${a}-${r}`} initialState={{options:{theme:s,...i}}}>
2
- <l{...i}/>
3
- {e}
4
- </n.Provider>}export{u as FieldProvider};
1
+ import { useAtomEffect } from "../../base/hooks/use-atom-effect.mjs";
2
+ import { FormApi } from "../molecules/form-molecule.mjs";
3
+ import { FieldApi } from "../molecules/field-molecule.mjs";
4
+ import { ValidationCause } from "../types.mjs";
5
+ import { useFieldActions } from "../hooks/use-field-actions.mjs";
6
+ import { AbortError } from "../utilities/abort-error.mjs";
7
+ import { useThemeName } from "@tamagui/core";
8
+ import { delay } from "@stryke/async";
9
+ import { isBoolean } from "@stryke/type-checks/is-boolean";
10
+
11
+ //#region src/form/providers/FieldProvider.tsx
12
+ function FieldStateManager(_props) {
13
+ const { validate } = useFieldActions();
14
+ const form = FormApi.useMolecule();
15
+ const field = FieldApi.useMolecule();
16
+ useAtomEffect((get, set) => {
17
+ const value = get(field.value);
18
+ const abortController = new AbortController();
19
+ (async () => {
20
+ try {
21
+ const options = get(field.options);
22
+ await delay(options.debounceMs);
23
+ abortController.signal.throwIfAborted();
24
+ if (options.onChange) {
25
+ await Promise.resolve(options.onChange({
26
+ get,
27
+ set,
28
+ atoms: field
29
+ }));
30
+ abortController.signal.throwIfAborted();
31
+ }
32
+ const promises = [];
33
+ promises.push(validate(value, ValidationCause.CHANGE));
34
+ if (get(field.blurred)) promises.push(validate(value, ValidationCause.BLUR));
35
+ if (get(form.submitAttempts) > 0) promises.push(validate(value, ValidationCause.SUBMIT));
36
+ await Promise.all(promises);
37
+ } catch (e) {
38
+ if (e instanceof AbortError) {}
39
+ }
40
+ })();
41
+ return () => {
42
+ abortController.abort(new AbortError());
43
+ };
44
+ }, [validate]);
45
+ useAtomEffect((get, set) => {
46
+ const focused = get(field.focused);
47
+ const abortController = new AbortController();
48
+ (async () => {
49
+ try {
50
+ const options = get(field.options);
51
+ await delay(options.debounceMs);
52
+ abortController.signal.throwIfAborted();
53
+ if (isBoolean(focused)) {
54
+ if (!get(field.touched)) set(field.touched, true);
55
+ if (focused) {
56
+ if (options.onFocus) {
57
+ await Promise.resolve(options.onFocus({
58
+ get,
59
+ set,
60
+ atoms: field
61
+ }));
62
+ abortController.signal.throwIfAborted();
63
+ }
64
+ } else {
65
+ if (options.onBlur) {
66
+ await Promise.resolve(options.onBlur({
67
+ get,
68
+ set,
69
+ atoms: field
70
+ }));
71
+ abortController.signal.throwIfAborted();
72
+ }
73
+ const value = get(field.value);
74
+ const promises = [];
75
+ promises.push(validate(value, ValidationCause.BLUR));
76
+ if (get(form.submitAttempts) > 0) promises.push(validate(value, ValidationCause.SUBMIT));
77
+ await Promise.all(promises);
78
+ }
79
+ }
80
+ } catch (e) {
81
+ if (e instanceof AbortError) {}
82
+ }
83
+ })();
84
+ return () => {
85
+ abortController.abort(new AbortError());
86
+ };
87
+ }, [validate]);
88
+ return null;
89
+ }
90
+ function FieldProvider({ children, name, ...props }) {
91
+ const formName = FormApi.use().name.get();
92
+ const theme = useThemeName();
93
+ return <FieldApi.Provider scope={`${formName}-${name}`} initialState={{ options: {
94
+ theme,
95
+ ...props
96
+ } }}>
97
+ <FieldStateManager {...props} />
98
+ {children}
99
+ </FieldApi.Provider>;
100
+ }
101
+
102
+ //#endregion
103
+ export { FieldProvider };
5
104
  //# sourceMappingURL=FieldProvider.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"FieldProvider.mjs","names":["FieldStateManager","useFieldActions","form","FormApi","field","FieldApi","useAtomEffect","value","get","abortController","options","delay","promises","validate","ValidationCause","AbortError","focused","isBoolean","set","FieldProvider","props","formName","theme","useThemeName","name","children"],"sources":[],"mappings":""}
1
+ {"version":3,"file":"FieldProvider.mjs","names":[],"sources":[],"mappings":""}
@@ -1,4 +1,66 @@
1
- const e=require("../../base/hooks/use-atom-effect.cjs"),t=require("../molecules/form-molecule.cjs"),n=require("../types.cjs"),r=require("../hooks/use-form-actions.cjs"),i=require("../utilities/abort-error.cjs");let a=require("react"),o=require("@tamagui/core"),s=require("@stryke/async");function c(c){let{validate:l}=r.useFormActions(),u=t.FormApi.useMolecule(),d=(0,o.useThemeName)(),f=t.FormApi.use().options.set();return(0,a.useEffect)(()=>{f({theme:d,...c})},[f]),e.useAtomEffect((e,t)=>{let r=e(u.values),a=e(u.options),o=new AbortController;return(async()=>{try{await(0,s.delay)(a.debounceMs),o.signal.throwIfAborted(),a.onChange&&(await Promise.resolve(a.onChange({get:e,set:t,atoms:u})),o.signal.throwIfAborted());let i=[];i.push(l(r,n.ValidationCause.CHANGE)),e(u.blurred)&&i.push(l(r,n.ValidationCause.BLUR)),e(u.submitAttempts)>0&&i.push(l(r,n.ValidationCause.SUBMIT)),await Promise.all(i)}catch(e){e instanceof i.AbortError}})(),()=>{o.abort(new i.AbortError)}},[l]),null}const l=({children:e,name:n,...r})=><t.FormApi.Provider scope={n}>
2
- <c{...r}/>
3
- {e}
4
- </t.FormApi.Provider>;exports.FormProvider=l;
1
+ const require_use_atom_effect = require("../../base/hooks/use-atom-effect.cjs");
2
+ const require_form_molecule = require("../molecules/form-molecule.cjs");
3
+ const require_types = require("../types.cjs");
4
+ const require_use_form_actions = require("../hooks/use-form-actions.cjs");
5
+ const require_abort_error = require("../utilities/abort-error.cjs");
6
+ let jotai_utils = require("jotai/utils");
7
+ let react = require("react");
8
+ let _tamagui_core = require("@tamagui/core");
9
+ let _stryke_async = require("@stryke/async");
10
+
11
+ //#region src/form/providers/FormProvider.tsx
12
+ function FormStateManager(props) {
13
+ const { validate } = require_use_form_actions.useFormActions();
14
+ const molecule = require_form_molecule.FormApi.useMolecule();
15
+ const theme = (0, _tamagui_core.useThemeName)();
16
+ const setOptions = require_form_molecule.FormApi.use().options.set();
17
+ (0, jotai_utils.useHydrateAtoms)([[molecule.options, {
18
+ theme,
19
+ ...props
20
+ }]]);
21
+ (0, react.useEffect)(() => {
22
+ setOptions({
23
+ theme,
24
+ ...props
25
+ });
26
+ }, [setOptions]);
27
+ require_use_atom_effect.useAtomEffect((get, set) => {
28
+ const values = get(molecule.values);
29
+ const options = get(molecule.options);
30
+ const abortController = new AbortController();
31
+ (async () => {
32
+ try {
33
+ await (0, _stryke_async.delay)(options.debounceMs);
34
+ abortController.signal.throwIfAborted();
35
+ if (options.onChange) {
36
+ await Promise.resolve(options.onChange({
37
+ get,
38
+ set,
39
+ atoms: molecule
40
+ }));
41
+ abortController.signal.throwIfAborted();
42
+ }
43
+ const promises = [];
44
+ promises.push(validate(values, require_types.ValidationCause.CHANGE));
45
+ if (get(molecule.blurred)) promises.push(validate(values, require_types.ValidationCause.BLUR));
46
+ if (get(molecule.submitAttempts) > 0) promises.push(validate(values, require_types.ValidationCause.SUBMIT));
47
+ await Promise.all(promises);
48
+ } catch (e) {
49
+ if (e instanceof require_abort_error.AbortError) {}
50
+ }
51
+ })();
52
+ return () => {
53
+ abortController.abort(new require_abort_error.AbortError());
54
+ };
55
+ }, [validate]);
56
+ return null;
57
+ }
58
+ const FormProvider = ({ children, name, ...props }) => {
59
+ return <require_form_molecule.FormApi.Provider scope={name}>
60
+ <FormStateManager {...props} />
61
+ {children}
62
+ </require_form_molecule.FormApi.Provider>;
63
+ };
64
+
65
+ //#endregion
66
+ exports.FormProvider = FormProvider;
@@ -1 +1 @@
1
- {"version":3,"file":"FormProvider.d.cts","names":[],"sources":["../../../src/form/providers/FormProvider.tsx"],"mappings":";;;KAwGY,oBACV,oBAAoB,sBAAsB,uBACxC,kBAAkB,YAAY;EAAiB;;cAEtC,eACX,oBAAoB,sBAAsB,uBAC1C,UAAA,SAAA,SAIC,oBAAoB,iCAAY,IAAA"}
1
+ {"version":3,"file":"FormProvider.d.cts","names":[],"sources":["../../../src/form/providers/FormProvider.tsx"],"mappings":";;;KA6GY,oBACV,oBAAoB,sBAAsB,uBACxC,kBAAkB,YAAY;EAAiB;;cAEtC,eACX,oBAAoB,sBAAsB,uBAC1C,UAAA,SAAA,SAIC,oBAAoB,iCAAY,IAAA"}
@@ -1,5 +1,67 @@
1
- import{useAtomEffect as e}from"../../base/hooks/use-atom-effect.mjs";import{FormApi as t}from"../molecules/form-molecule.mjs";import{ValidationCause as n}from"../types.mjs";import{useFormActions as r}from"../hooks/use-form-actions.mjs";import{AbortError as i}from"../utilities/abort-error.mjs";import{useEffect as a}from"react";import{useThemeName as o}from"@tamagui/core";import{delay as s}from"@stryke/async";function c(c){let{validate:l}=r(),u=t.useMolecule(),d=o(),f=t.use().options.set();return a(()=>{f({theme:d,...c})},[f]),e((e,t)=>{let r=e(u.values),a=e(u.options),o=new AbortController;return(async()=>{try{await s(a.debounceMs),o.signal.throwIfAborted(),a.onChange&&(await Promise.resolve(a.onChange({get:e,set:t,atoms:u})),o.signal.throwIfAborted());let i=[];i.push(l(r,n.CHANGE)),e(u.blurred)&&i.push(l(r,n.BLUR)),e(u.submitAttempts)>0&&i.push(l(r,n.SUBMIT)),await Promise.all(i)}catch(e){e instanceof i}})(),()=>{o.abort(new i)}},[l]),null}const l=({children:e,name:n,...r})=><t.Provider scope={n}>
2
- <c{...r}/>
3
- {e}
4
- </t.Provider>;export{l as FormProvider};
1
+ import { useAtomEffect } from "../../base/hooks/use-atom-effect.mjs";
2
+ import { FormApi } from "../molecules/form-molecule.mjs";
3
+ import { ValidationCause } from "../types.mjs";
4
+ import { useFormActions } from "../hooks/use-form-actions.mjs";
5
+ import { AbortError } from "../utilities/abort-error.mjs";
6
+ import { useHydrateAtoms } from "jotai/utils";
7
+ import { useEffect } from "react";
8
+ import { useThemeName } from "@tamagui/core";
9
+ import { delay } from "@stryke/async";
10
+
11
+ //#region src/form/providers/FormProvider.tsx
12
+ function FormStateManager(props) {
13
+ const { validate } = useFormActions();
14
+ const molecule = FormApi.useMolecule();
15
+ const theme = useThemeName();
16
+ const setOptions = FormApi.use().options.set();
17
+ useHydrateAtoms([[molecule.options, {
18
+ theme,
19
+ ...props
20
+ }]]);
21
+ useEffect(() => {
22
+ setOptions({
23
+ theme,
24
+ ...props
25
+ });
26
+ }, [setOptions]);
27
+ useAtomEffect((get, set) => {
28
+ const values = get(molecule.values);
29
+ const options = get(molecule.options);
30
+ const abortController = new AbortController();
31
+ (async () => {
32
+ try {
33
+ await delay(options.debounceMs);
34
+ abortController.signal.throwIfAborted();
35
+ if (options.onChange) {
36
+ await Promise.resolve(options.onChange({
37
+ get,
38
+ set,
39
+ atoms: molecule
40
+ }));
41
+ abortController.signal.throwIfAborted();
42
+ }
43
+ const promises = [];
44
+ promises.push(validate(values, ValidationCause.CHANGE));
45
+ if (get(molecule.blurred)) promises.push(validate(values, ValidationCause.BLUR));
46
+ if (get(molecule.submitAttempts) > 0) promises.push(validate(values, ValidationCause.SUBMIT));
47
+ await Promise.all(promises);
48
+ } catch (e) {
49
+ if (e instanceof AbortError) {}
50
+ }
51
+ })();
52
+ return () => {
53
+ abortController.abort(new AbortError());
54
+ };
55
+ }, [validate]);
56
+ return null;
57
+ }
58
+ const FormProvider = ({ children, name, ...props }) => {
59
+ return <FormApi.Provider scope={name}>
60
+ <FormStateManager {...props} />
61
+ {children}
62
+ </FormApi.Provider>;
63
+ };
64
+
65
+ //#endregion
66
+ export { FormProvider };
5
67
  //# sourceMappingURL=FormProvider.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"FormProvider.mjs","names":["FormStateManager","useFormActions","molecule","FormApi","theme","useThemeName","setOptions","useEffect","props","useAtomEffect","values","get","options","abortController","delay","promises","validate","ValidationCause","AbortError","FormProvider","name","children"],"sources":[],"mappings":""}
1
+ {"version":3,"file":"FormProvider.mjs","names":[],"sources":[],"mappings":""}
@@ -1 +1,5 @@
1
- const e=require("./FieldProvider.cjs"),t=require("./FormProvider.cjs");exports.FieldProvider=e.FieldProvider,exports.FormProvider=t.FormProvider;
1
+ const require_FieldProvider = require("./FieldProvider.cjs");
2
+ const require_FormProvider = require("./FormProvider.cjs");
3
+
4
+ exports.FieldProvider = require_FieldProvider.FieldProvider;
5
+ exports.FormProvider = require_FormProvider.FormProvider;
@@ -1 +1,4 @@
1
- import{FieldProvider as e}from"./FieldProvider.mjs";import{FormProvider as t}from"./FormProvider.mjs";export{e as FieldProvider,t as FormProvider};
1
+ import { FieldProvider } from "./FieldProvider.mjs";
2
+ import { FormProvider } from "./FormProvider.mjs";
3
+
4
+ export { FieldProvider, FormProvider };
@@ -1 +1,13 @@
1
- require("@cyclone-ui/helpers");const e={INITIALIZE:`initialize`,CHANGE:`change`,BLUR:`blur`,SUBMIT:`submit`,SERVER:`server`};exports.ValidationCause=e;
1
+ require("@cyclone-ui/helpers");
2
+
3
+ //#region src/form/types.ts
4
+ const ValidationCause = {
5
+ INITIALIZE: "initialize",
6
+ CHANGE: "change",
7
+ BLUR: "blur",
8
+ SUBMIT: "submit",
9
+ SERVER: "server"
10
+ };
11
+
12
+ //#endregion
13
+ exports.ValidationCause = ValidationCause;
@@ -1,2 +1,14 @@
1
- import"@cyclone-ui/helpers";const e={INITIALIZE:`initialize`,CHANGE:`change`,BLUR:`blur`,SUBMIT:`submit`,SERVER:`server`};export{e as ValidationCause};
1
+ import "@cyclone-ui/helpers";
2
+
3
+ //#region src/form/types.ts
4
+ const ValidationCause = {
5
+ INITIALIZE: "initialize",
6
+ CHANGE: "change",
7
+ BLUR: "blur",
8
+ SUBMIT: "submit",
9
+ SERVER: "server"
10
+ };
11
+
12
+ //#endregion
13
+ export { ValidationCause };
2
14
  //# sourceMappingURL=types.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.mjs","names":["ValidationCause"],"sources":[],"mappings":""}
1
+ {"version":3,"file":"types.mjs","names":[],"sources":[],"mappings":""}
@@ -1 +1,15 @@
1
- var e=class extends Error{name=`AbortError`;constructor(e=`Aborted`){super(e)}};exports.AbortError=e;
1
+ //#region src/form/utilities/abort-error.ts
2
+ /**
3
+ * Error used to cancel in-flight form validation when a provider unmounts.
4
+ *
5
+ * `@stryke/async` no longer exports `AbortError`.
6
+ */
7
+ var AbortError = class extends Error {
8
+ name = "AbortError";
9
+ constructor(message = "Aborted") {
10
+ super(message);
11
+ }
12
+ };
13
+
14
+ //#endregion
15
+ exports.AbortError = AbortError;
@@ -1,2 +1,16 @@
1
- var e=class extends Error{name=`AbortError`;constructor(e=`Aborted`){super(e)}};export{e as AbortError};
1
+ //#region src/form/utilities/abort-error.ts
2
+ /**
3
+ * Error used to cancel in-flight form validation when a provider unmounts.
4
+ *
5
+ * `@stryke/async` no longer exports `AbortError`.
6
+ */
7
+ var AbortError = class extends Error {
8
+ name = "AbortError";
9
+ constructor(message = "Aborted") {
10
+ super(message);
11
+ }
12
+ };
13
+
14
+ //#endregion
15
+ export { AbortError };
2
16
  //# sourceMappingURL=abort-error.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"abort-error.mjs","names":["AbortError","message"],"sources":[],"mappings":""}
1
+ {"version":3,"file":"abort-error.mjs","names":[],"sources":[],"mappings":""}
@@ -1 +1,7 @@
1
- const e=require("./is-validation-results.cjs"),t=require("./validators.cjs"),n=require("./abort-error.cjs");exports.AbortError=n.AbortError,exports.isValidationResults=e.isValidationResults,exports.requiredValidator=t.requiredValidator;
1
+ const require_is_validation_results = require("./is-validation-results.cjs");
2
+ const require_validators = require("./validators.cjs");
3
+ const require_abort_error = require("./abort-error.cjs");
4
+
5
+ exports.AbortError = require_abort_error.AbortError;
6
+ exports.isValidationResults = require_is_validation_results.isValidationResults;
7
+ exports.requiredValidator = require_validators.requiredValidator;
@@ -1 +1,5 @@
1
- import{isValidationResults as e}from"./is-validation-results.mjs";import{requiredValidator as t}from"./validators.mjs";import{AbortError as n}from"./abort-error.mjs";export{n as AbortError,e as isValidationResults,t as requiredValidator};
1
+ import { isValidationResults } from "./is-validation-results.mjs";
2
+ import { requiredValidator } from "./validators.mjs";
3
+ import { AbortError } from "./abort-error.mjs";
4
+
5
+ export { AbortError, isValidationResults, requiredValidator };
@@ -1 +1,9 @@
1
- let e=require("@stryke/type-checks/is-set-object");const t=t=>(0,e.isSetObject)(t)&&(Array.isArray(t.initialize)||Array.isArray(t.change)||Array.isArray(t.blur)||Array.isArray(t.submit)||Array.isArray(t.server));exports.isValidationResults=t;
1
+ let _stryke_type_checks_is_set_object = require("@stryke/type-checks/is-set-object");
2
+
3
+ //#region src/form/utilities/is-validation-results.ts
4
+ const isValidationResults = (value) => {
5
+ return (0, _stryke_type_checks_is_set_object.isSetObject)(value) && (Array.isArray(value.initialize) || Array.isArray(value.change) || Array.isArray(value.blur) || Array.isArray(value.submit) || Array.isArray(value.server));
6
+ };
7
+
8
+ //#endregion
9
+ exports.isValidationResults = isValidationResults;
@@ -1,2 +1,10 @@
1
- import{isSetObject as e}from"@stryke/type-checks/is-set-object";const t=t=>e(t)&&(Array.isArray(t.initialize)||Array.isArray(t.change)||Array.isArray(t.blur)||Array.isArray(t.submit)||Array.isArray(t.server));export{t as isValidationResults};
1
+ import { isSetObject } from "@stryke/type-checks/is-set-object";
2
+
3
+ //#region src/form/utilities/is-validation-results.ts
4
+ const isValidationResults = (value) => {
5
+ return isSetObject(value) && (Array.isArray(value.initialize) || Array.isArray(value.change) || Array.isArray(value.blur) || Array.isArray(value.submit) || Array.isArray(value.server));
6
+ };
7
+
8
+ //#endregion
9
+ export { isValidationResults };
2
10
  //# sourceMappingURL=is-validation-results.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"is-validation-results.mjs","names":["isValidationResults","isSetObject","value"],"sources":[],"mappings":""}
1
+ {"version":3,"file":"is-validation-results.mjs","names":[],"sources":[],"mappings":""}
@@ -1 +1,8 @@
1
- const e=e=>e&&!(Array.isArray(e)&&e.length===0)?[]:[{message:`This field is required`,type:`error`}];exports.requiredValidator=e;
1
+ //#region src/form/utilities/validators.ts
2
+ const requiredValidator = (value) => value && !(Array.isArray(value) && value.length === 0) ? [] : [{
3
+ message: "This field is required",
4
+ type: "error"
5
+ }];
6
+
7
+ //#endregion
8
+ exports.requiredValidator = requiredValidator;
@@ -1,2 +1,9 @@
1
- const e=e=>e&&!(Array.isArray(e)&&e.length===0)?[]:[{message:`This field is required`,type:`error`}];export{e as requiredValidator};
1
+ //#region src/form/utilities/validators.ts
2
+ const requiredValidator = (value) => value && !(Array.isArray(value) && value.length === 0) ? [] : [{
3
+ message: "This field is required",
4
+ type: "error"
5
+ }];
6
+
7
+ //#endregion
8
+ export { requiredValidator };
2
9
  //# sourceMappingURL=validators.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"validators.mjs","names":["requiredValidator","value"],"sources":[],"mappings":""}
1
+ {"version":3,"file":"validators.mjs","names":[],"sources":[],"mappings":""}
package/dist/index.cjs CHANGED
@@ -1 +1,71 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./base/utilities/set-atom-debug.cjs"),t=require("./base/atoms/atom-with-broadcast.cjs"),n=require("./base/atoms/atom-with-compare.cjs"),r=require("./base/atoms/atom-with-wrapper.cjs"),i=require("./base/atoms/atom-with-debounce.cjs"),a=require("./base/atoms/atom-with-effect.cjs"),o=require("./base/atoms/atom-with-listeners.cjs"),s=require("./base/atoms/atom-with-pending.cjs"),c=require("./base/atoms/atom-with-refresh.cjs"),l=require("./base/atoms/atom-with-refresh-and-default.cjs"),u=require("./base/atoms/atom-with-toggle.cjs"),d=require("./base/utilities/create-web-storage.cjs"),f=require("./base/atoms/atom-with-web-storage.cjs"),p=require("./base/hooks/use-atom-effect.cjs"),m=require("./base/hooks/use-hydrate-molecule.cjs"),h=require("./base/hooks/use-prepare-atoms.cjs"),g=require("./base/hooks/use-sync-molecule.cjs"),_=require("./base/utilities/create-molecule.cjs"),v=require("./base/utilities/debounce.cjs");require("./base/index.cjs");const y=require("./form/utilities/is-validation-results.cjs"),b=require("./form/utilities/validators.cjs"),x=require("./form/molecules/form-molecule.cjs"),S=require("./form/molecules/field-molecule.cjs"),C=require("./form/types.cjs"),w=require("./form/hooks/use-field-actions.cjs"),T=require("./form/hooks/use-field-ref.cjs"),E=require("./form/hooks/use-form-actions.cjs"),D=require("./form/utilities/abort-error.cjs"),O=require("./form/providers/FieldProvider.cjs"),k=require("./form/providers/FormProvider.cjs");require("./form/index.cjs"),exports.AbortError=D.AbortError,exports.DEFAULT_FIELD_OPTIONS=S.DEFAULT_FIELD_OPTIONS,exports.DEFAULT_FORM_OPTIONS=x.DEFAULT_FORM_OPTIONS,exports.DEFAULT_SCOPE=_.DEFAULT_SCOPE,exports.FieldApi=S.FieldApi,exports.FieldProvider=O.FieldProvider,exports.FormApi=x.FormApi,exports.FormProvider=k.FormProvider,exports.ValidationCause=C.ValidationCause,exports.atomWithBroadcast=t.atomWithBroadcast,exports.atomWithCompare=n.atomWithCompare,exports.atomWithDebounce=i.atomWithDebounce,exports.atomWithEffect=a.atomWithEffect,exports.atomWithListeners=o.atomWithListeners,exports.atomWithPending=s.atomWithPending,exports.atomWithRefresh=c.atomWithRefresh,exports.atomWithRefreshAndDefault=l.atomWithRefreshAndDefault,exports.atomWithToggle=u.atomWithToggle,exports.atomWithWebStorage=f.atomWithWebStorage,exports.atomWithWrapper=r.atomWithWrapper,exports.createMoleculeApi=_.createMoleculeApi,exports.createScope=_.createScope,exports.createWebStorage=d.createWebStorage,exports.debounce=v.debounce,exports.getWebStorage=f.getWebStorage,exports.isValidationResults=y.isValidationResults,exports.requiredValidator=b.requiredValidator,exports.setAtomDebugLabel=e.setAtomDebugLabel,exports.setAtomDebugPrivate=e.setAtomDebugPrivate,exports.use=_.use,exports.useAtomEffect=p.useAtomEffect,exports.useFieldActions=w.useFieldActions,exports.useFieldRef=T.useFieldRef,exports.useFormActions=E.useFormActions,exports.useHydrateMolecule=m.useHydrateMolecule,exports.usePrepareAtoms=h.usePrepareAtoms,exports.useSyncMolecule=g.useSyncMolecule;
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+ const require_set_atom_debug = require("./base/utilities/set-atom-debug.cjs");
3
+ const require_atom_with_broadcast = require("./base/atoms/atom-with-broadcast.cjs");
4
+ const require_atom_with_compare = require("./base/atoms/atom-with-compare.cjs");
5
+ const require_atom_with_wrapper = require("./base/atoms/atom-with-wrapper.cjs");
6
+ const require_atom_with_debounce = require("./base/atoms/atom-with-debounce.cjs");
7
+ const require_atom_with_effect = require("./base/atoms/atom-with-effect.cjs");
8
+ const require_atom_with_listeners = require("./base/atoms/atom-with-listeners.cjs");
9
+ const require_atom_with_pending = require("./base/atoms/atom-with-pending.cjs");
10
+ const require_atom_with_refresh = require("./base/atoms/atom-with-refresh.cjs");
11
+ const require_atom_with_refresh_and_default = require("./base/atoms/atom-with-refresh-and-default.cjs");
12
+ const require_atom_with_toggle = require("./base/atoms/atom-with-toggle.cjs");
13
+ const require_create_web_storage = require("./base/utilities/create-web-storage.cjs");
14
+ const require_atom_with_web_storage = require("./base/atoms/atom-with-web-storage.cjs");
15
+ const require_use_atom_effect = require("./base/hooks/use-atom-effect.cjs");
16
+ const require_use_hydrate_molecule = require("./base/hooks/use-hydrate-molecule.cjs");
17
+ const require_use_prepare_atoms = require("./base/hooks/use-prepare-atoms.cjs");
18
+ const require_use_sync_molecule = require("./base/hooks/use-sync-molecule.cjs");
19
+ const require_create_molecule = require("./base/utilities/create-molecule.cjs");
20
+ const require_debounce = require("./base/utilities/debounce.cjs");
21
+ require("./base/index.cjs");
22
+ const require_is_validation_results = require("./form/utilities/is-validation-results.cjs");
23
+ const require_validators = require("./form/utilities/validators.cjs");
24
+ const require_form_molecule = require("./form/molecules/form-molecule.cjs");
25
+ const require_field_molecule = require("./form/molecules/field-molecule.cjs");
26
+ const require_types = require("./form/types.cjs");
27
+ const require_use_field_actions = require("./form/hooks/use-field-actions.cjs");
28
+ const require_use_field_ref = require("./form/hooks/use-field-ref.cjs");
29
+ const require_use_form_actions = require("./form/hooks/use-form-actions.cjs");
30
+ const require_abort_error = require("./form/utilities/abort-error.cjs");
31
+ const require_FieldProvider = require("./form/providers/FieldProvider.cjs");
32
+ const require_FormProvider = require("./form/providers/FormProvider.cjs");
33
+ require("./form/index.cjs");
34
+
35
+ exports.AbortError = require_abort_error.AbortError;
36
+ exports.DEFAULT_FIELD_OPTIONS = require_field_molecule.DEFAULT_FIELD_OPTIONS;
37
+ exports.DEFAULT_FORM_OPTIONS = require_form_molecule.DEFAULT_FORM_OPTIONS;
38
+ exports.DEFAULT_SCOPE = require_create_molecule.DEFAULT_SCOPE;
39
+ exports.FieldApi = require_field_molecule.FieldApi;
40
+ exports.FieldProvider = require_FieldProvider.FieldProvider;
41
+ exports.FormApi = require_form_molecule.FormApi;
42
+ exports.FormProvider = require_FormProvider.FormProvider;
43
+ exports.ValidationCause = require_types.ValidationCause;
44
+ exports.atomWithBroadcast = require_atom_with_broadcast.atomWithBroadcast;
45
+ exports.atomWithCompare = require_atom_with_compare.atomWithCompare;
46
+ exports.atomWithDebounce = require_atom_with_debounce.atomWithDebounce;
47
+ exports.atomWithEffect = require_atom_with_effect.atomWithEffect;
48
+ exports.atomWithListeners = require_atom_with_listeners.atomWithListeners;
49
+ exports.atomWithPending = require_atom_with_pending.atomWithPending;
50
+ exports.atomWithRefresh = require_atom_with_refresh.atomWithRefresh;
51
+ exports.atomWithRefreshAndDefault = require_atom_with_refresh_and_default.atomWithRefreshAndDefault;
52
+ exports.atomWithToggle = require_atom_with_toggle.atomWithToggle;
53
+ exports.atomWithWebStorage = require_atom_with_web_storage.atomWithWebStorage;
54
+ exports.atomWithWrapper = require_atom_with_wrapper.atomWithWrapper;
55
+ exports.createMoleculeApi = require_create_molecule.createMoleculeApi;
56
+ exports.createScope = require_create_molecule.createScope;
57
+ exports.createWebStorage = require_create_web_storage.createWebStorage;
58
+ exports.debounce = require_debounce.debounce;
59
+ exports.getWebStorage = require_atom_with_web_storage.getWebStorage;
60
+ exports.isValidationResults = require_is_validation_results.isValidationResults;
61
+ exports.requiredValidator = require_validators.requiredValidator;
62
+ exports.setAtomDebugLabel = require_set_atom_debug.setAtomDebugLabel;
63
+ exports.setAtomDebugPrivate = require_set_atom_debug.setAtomDebugPrivate;
64
+ exports.use = require_create_molecule.use;
65
+ exports.useAtomEffect = require_use_atom_effect.useAtomEffect;
66
+ exports.useFieldActions = require_use_field_actions.useFieldActions;
67
+ exports.useFieldRef = require_use_field_ref.useFieldRef;
68
+ exports.useFormActions = require_use_form_actions.useFormActions;
69
+ exports.useHydrateMolecule = require_use_hydrate_molecule.useHydrateMolecule;
70
+ exports.usePrepareAtoms = require_use_prepare_atoms.usePrepareAtoms;
71
+ exports.useSyncMolecule = require_use_sync_molecule.useSyncMolecule;