eddev 2.2.7 → 2.2.9

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 (165) hide show
  1. package/dist/app/entry/MetaTags.d.ts +8 -0
  2. package/dist/app/entry/MetaTags.d.ts.map +1 -0
  3. package/dist/app/entry/MetaTags.js +32 -0
  4. package/dist/app/entry/boot-admin.d.ts +2 -0
  5. package/dist/app/entry/boot-admin.d.ts.map +1 -0
  6. package/dist/app/entry/boot-admin.js +12 -0
  7. package/dist/app/entry/hydration-script.d.ts +2 -0
  8. package/dist/app/entry/hydration-script.d.ts.map +1 -0
  9. package/dist/app/entry/hydration-script.js +18 -0
  10. package/dist/app/entry/spa-root.d.ts +2 -0
  11. package/dist/app/entry/spa-root.d.ts.map +1 -0
  12. package/dist/app/entry/spa-root.js +7 -0
  13. package/dist/app/entry/ssr-root-client.d.ts +7 -0
  14. package/dist/app/entry/ssr-root-client.d.ts.map +1 -0
  15. package/dist/app/entry/ssr-root-client.js +21 -0
  16. package/dist/app/entry/ssr-root.d.ts +11 -0
  17. package/dist/app/entry/ssr-root.d.ts.map +1 -0
  18. package/dist/app/entry/ssr-root.js +22 -0
  19. package/dist/app/lib/admin/installFieldTypes.d.ts +2 -0
  20. package/dist/app/lib/admin/installFieldTypes.d.ts.map +1 -0
  21. package/dist/app/lib/admin/installFieldTypes.js +94 -0
  22. package/dist/app/lib/admin/runWidgets.d.ts +2 -0
  23. package/dist/app/lib/admin/runWidgets.d.ts.map +1 -0
  24. package/dist/app/lib/admin/runWidgets.js +43 -0
  25. package/dist/app/lib/blocks/editor/EditingContext.d.ts +2 -0
  26. package/dist/app/lib/blocks/editor/EditingContext.d.ts.map +1 -0
  27. package/dist/app/lib/blocks/editor/EditingContext.js +31 -0
  28. package/dist/app/lib/blocks/editor/editor-config.js +1 -1
  29. package/dist/app/lib/devtools/components/DevMenu.d.ts +2 -0
  30. package/dist/app/lib/devtools/components/DevMenu.d.ts.map +1 -0
  31. package/dist/app/lib/devtools/components/DevUI.d.ts +16 -0
  32. package/dist/app/lib/devtools/components/DevUI.d.ts.map +1 -0
  33. package/dist/app/lib/devtools/components/DevUI.js +34 -0
  34. package/dist/app/lib/devtools/components/GridIndicator.d.ts +2 -0
  35. package/dist/app/lib/devtools/components/GridIndicator.d.ts.map +1 -0
  36. package/dist/app/lib/devtools/components/GridIndicator.js +30 -0
  37. package/dist/app/lib/devtools/components/panels/monaco-graphql.worker.d.ts +2 -0
  38. package/dist/app/lib/devtools/components/panels/monaco-graphql.worker.d.ts.map +1 -0
  39. package/dist/app/lib/devtools/components/panels/monaco-graphql.worker.js +9 -0
  40. package/dist/app/lib/devtools/components/ui/Tabs.d.ts +13 -0
  41. package/dist/app/lib/devtools/components/ui/Tabs.d.ts.map +1 -0
  42. package/dist/app/lib/devtools/components/ui/Tabs.js +7 -0
  43. package/dist/app/lib/devtools/index.d.ts +2 -0
  44. package/dist/app/lib/devtools/index.d.ts.map +1 -0
  45. package/dist/app/lib/devtools/index.js +1 -0
  46. package/dist/app/lib/devtools/loader.d.ts +2 -0
  47. package/dist/app/lib/devtools/loader.d.ts.map +1 -0
  48. package/dist/app/lib/devtools/loader.js +25 -0
  49. package/dist/app/lib/devtools/tailwind.config.d.ts +29 -0
  50. package/dist/app/lib/devtools/tailwind.config.d.ts.map +1 -0
  51. package/dist/app/lib/devtools/tailwind.config.js +29 -0
  52. package/dist/app/lib/devtools/useQueryDebug.d.ts +16 -0
  53. package/dist/app/lib/devtools/useQueryDebug.d.ts.map +1 -0
  54. package/dist/app/lib/devtools/useQueryDebug.js +10 -0
  55. package/dist/app/lib/dynamic/index.d.ts +2 -0
  56. package/dist/app/lib/dynamic/index.d.ts.map +1 -0
  57. package/dist/app/lib/dynamic/index.js +1 -0
  58. package/dist/app/lib/integrations/gravityforms/createGravityFormComponent.d.ts +93 -0
  59. package/dist/app/lib/integrations/gravityforms/createGravityFormComponent.d.ts.map +1 -0
  60. package/dist/app/lib/integrations/gravityforms/createGravityFormComponent.js +134 -0
  61. package/dist/app/lib/integrations/gravityforms/field-types.d.ts +141 -0
  62. package/dist/app/lib/integrations/gravityforms/field-types.d.ts.map +1 -0
  63. package/dist/app/lib/integrations/gravityforms/field-types.js +489 -0
  64. package/dist/app/lib/integrations/gravityforms/index.d.ts +5 -0
  65. package/dist/app/lib/integrations/gravityforms/index.d.ts.map +1 -0
  66. package/dist/app/lib/integrations/gravityforms/index.js +4 -0
  67. package/dist/app/lib/integrations/gravityforms/types.d.ts +64 -0
  68. package/dist/app/lib/integrations/gravityforms/types.d.ts.map +1 -0
  69. package/dist/app/lib/integrations/gravityforms/types.js +1 -0
  70. package/dist/app/lib/integrations/gravityforms/useGravityForm.d.ts +75 -0
  71. package/dist/app/lib/integrations/gravityforms/useGravityForm.d.ts.map +1 -0
  72. package/dist/app/lib/integrations/gravityforms/useGravityForm.js +288 -0
  73. package/dist/app/lib/internal/finalize-rpc.d.ts +18 -0
  74. package/dist/app/lib/internal/finalize-rpc.d.ts.map +1 -0
  75. package/dist/app/lib/internal/finalize-rpc.js +3 -0
  76. package/dist/app/lib/internal/index.d.ts +6 -0
  77. package/dist/app/lib/internal/index.d.ts.map +1 -0
  78. package/dist/app/lib/internal/index.js +5 -0
  79. package/dist/app/lib/internal/internal-store.d.ts +10 -0
  80. package/dist/app/lib/internal/internal-store.d.ts.map +1 -0
  81. package/dist/app/lib/internal/internal-store.js +7 -0
  82. package/dist/app/lib/legacy-stitches/createStitches.d.ts +616 -0
  83. package/dist/app/lib/legacy-stitches/createStitches.d.ts.map +1 -0
  84. package/dist/app/lib/legacy-stitches/createStitches.js +439 -0
  85. package/dist/app/lib/legacy-stitches/index.d.ts +2 -0
  86. package/dist/app/lib/legacy-stitches/index.d.ts.map +1 -0
  87. package/dist/app/lib/legacy-stitches/index.js +1 -0
  88. package/dist/app/lib/routing/components/BackButton.d.ts +50 -0
  89. package/dist/app/lib/routing/components/BackButton.d.ts.map +1 -0
  90. package/dist/app/lib/routing/components/BackButton.js +47 -0
  91. package/dist/app/lib/routing/components/ClientOnly.d.ts +13 -0
  92. package/dist/app/lib/routing/components/ClientOnly.d.ts.map +1 -0
  93. package/dist/app/lib/routing/components/ClientOnly.js +14 -0
  94. package/dist/app/lib/routing/components/NativeLinkHandler.d.ts +10 -0
  95. package/dist/app/lib/routing/components/NativeLinkHandler.d.ts.map +1 -0
  96. package/dist/app/lib/routing/components/NativeLinkHandler.js +23 -0
  97. package/dist/app/lib/routing/components/RouteRenderer.d.ts +10 -0
  98. package/dist/app/lib/routing/components/RouteRenderer.d.ts.map +1 -0
  99. package/dist/app/lib/routing/components/RouteRenderer.js +54 -0
  100. package/dist/app/lib/routing/components/SSRRouter.d.ts +12 -0
  101. package/dist/app/lib/routing/components/SSRRouter.d.ts.map +1 -0
  102. package/dist/app/lib/routing/components/SSRRouter.js +15 -0
  103. package/dist/app/lib/routing/hooks/useRestorableState.d.ts +7 -0
  104. package/dist/app/lib/routing/hooks/useRestorableState.d.ts.map +1 -0
  105. package/dist/app/lib/routing/hooks/useRestorableState.js +23 -0
  106. package/dist/app/lib/routing/hooks/useRouteTransition.d.ts +5 -0
  107. package/dist/app/lib/routing/hooks/useRouteTransition.d.ts.map +1 -0
  108. package/dist/app/lib/routing/hooks/useRouteTransition.js +12 -0
  109. package/dist/app/lib/routing/hooks/useSearchParams.d.ts +98 -0
  110. package/dist/app/lib/routing/hooks/useSearchParams.d.ts.map +1 -0
  111. package/dist/app/lib/routing/hooks/useSearchParams.js +131 -0
  112. package/dist/app/lib/routing/index.d.ts +17 -0
  113. package/dist/app/lib/routing/index.d.ts.map +1 -0
  114. package/dist/app/lib/routing/index.js +16 -0
  115. package/dist/app/lib/runtime/index.d.ts +3 -0
  116. package/dist/app/lib/runtime/index.d.ts.map +1 -0
  117. package/dist/app/lib/runtime/index.js +2 -0
  118. package/dist/app/lib/views/defineView.d.ts +5 -0
  119. package/dist/app/lib/views/defineView.d.ts.map +1 -0
  120. package/dist/app/lib/views/defineView.js +3 -0
  121. package/dist/app/lib/views/index.d.ts +2 -0
  122. package/dist/app/lib/views/index.d.ts.map +1 -0
  123. package/dist/app/lib/views/index.js +1 -0
  124. package/dist/app/server/index.d.ts +6 -0
  125. package/dist/app/server/index.d.ts.map +1 -0
  126. package/dist/app/server/index.js +5 -0
  127. package/dist/app/server/proxy-wp-admin.d.ts +3 -0
  128. package/dist/app/server/proxy-wp-admin.d.ts.map +1 -0
  129. package/dist/app/server/proxy-wp-admin.js +138 -0
  130. package/dist/app/server/render-ai-page.d.ts +13 -0
  131. package/dist/app/server/render-ai-page.d.ts.map +1 -0
  132. package/dist/app/server/render-ai-page.js +102 -0
  133. package/dist/app/server/render-ssr-page.d.ts +32 -0
  134. package/dist/app/server/render-ssr-page.d.ts.map +1 -0
  135. package/dist/app/server/render-ssr-page.js +253 -0
  136. package/dist/app/server/rpc.d.ts +33 -0
  137. package/dist/app/server/rpc.d.ts.map +1 -0
  138. package/dist/app/server/rpc.js +18 -0
  139. package/dist/app/server/server-context.d.ts +83 -0
  140. package/dist/app/server/server-context.d.ts.map +1 -0
  141. package/dist/app/server/server-context.js +480 -0
  142. package/dist/app/server/server-custom-config.d.ts +3 -0
  143. package/dist/app/server/server-custom-config.d.ts.map +1 -0
  144. package/dist/app/server/server-custom-config.js +1 -0
  145. package/dist/app/server/utils/content-security.d.ts +26 -0
  146. package/dist/app/server/utils/content-security.d.ts.map +1 -0
  147. package/dist/app/server/utils/content-security.js +124 -0
  148. package/dist/app/server/utils/headers.d.ts +6 -0
  149. package/dist/app/server/utils/headers.d.ts.map +1 -0
  150. package/dist/app/server/utils/headers.js +28 -0
  151. package/dist/app/server/utils/replace-host.d.ts +11 -0
  152. package/dist/app/server/utils/replace-host.d.ts.map +1 -0
  153. package/dist/app/server/utils/replace-host.js +36 -0
  154. package/dist/app/server/utils/swr-cache.d.ts +5 -0
  155. package/dist/app/server/utils/swr-cache.d.ts.map +1 -0
  156. package/dist/app/server/utils/swr-cache.js +31 -0
  157. package/dist/app/utils/hydration-debugger.d.ts +14 -0
  158. package/dist/app/utils/hydration-debugger.d.ts.map +1 -0
  159. package/dist/app/utils/hydration-debugger.js +11 -0
  160. package/dist/app/utils/wp.d.ts +27 -0
  161. package/dist/app/utils/wp.d.ts.map +1 -0
  162. package/dist/app/utils/wp.js +1 -0
  163. package/dist/node/cli/version.d.ts +1 -1
  164. package/dist/node/cli/version.js +1 -1
  165. package/package.json +2 -3
@@ -0,0 +1,489 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useEffect, useId, useRef } from "react";
3
+ // export type GFFieldTypes = {
4
+ // text: string
5
+ // textarea: string
6
+ // select: string
7
+ // number: number
8
+ // checkbox: string[]
9
+ // radio: string
10
+ // multi_choice: string | string[]
11
+ // image_choice: string | string[]
12
+ // name: GFNameData
13
+ // date: string
14
+ // time: string
15
+ // phone: string
16
+ // address: GFAddressData
17
+ // website: string
18
+ // email: string
19
+ // fileupload: File | FileList | File[]
20
+ // multiselect: string[]
21
+ // consent: boolean
22
+ // captcha: any
23
+ // html: void
24
+ // section: void
25
+ // }
26
+ function defineType(spec) {
27
+ return spec;
28
+ }
29
+ export const GF_BUILTIN_FIELDS = {
30
+ text: defineType({
31
+ getInitialValue: () => "",
32
+ getOptions: (field) => ({
33
+ placeholder: field.placeholder || "",
34
+ size: field.size || "large",
35
+ }),
36
+ defaultComponent(props) {
37
+ const id = useId();
38
+ return (_jsx(props.Wrapper, { labelId: id, children: _jsx(props.formComponents.Input, { id: id, type: "text", required: props.isRequired, name: `field_${props.id}`, disabled: props.disabled, placeholder: props.options?.placeholder || "", value: props.value || "", onChange: (e) => props.set(e.currentTarget.value) }) }));
39
+ },
40
+ }),
41
+ textarea: defineType({
42
+ getInitialValue: () => "",
43
+ getOptions: (field) => ({
44
+ placeholder: field.placeholder || "",
45
+ size: field.size || "large",
46
+ }),
47
+ defaultComponent(props) {
48
+ const id = useId();
49
+ return (_jsx(props.Wrapper, { labelId: id, children: _jsx("textarea", { id: id, required: props.isRequired, name: `field_${props.id}`, disabled: props.disabled, placeholder: props.options?.placeholder || "", value: props.value || "", onChange: (e) => props.set(e.currentTarget.value), rows: props.size === "small" ? 2 : props.size === "medium" ? 4 : 8 }) }));
50
+ },
51
+ }),
52
+ select: defineType({
53
+ getInitialValue: (field) => field.choices.find((choice) => choice.isSelected)?.value,
54
+ getOptions: (field) => ({
55
+ choices: field.choices || [],
56
+ placeholder: field.placeholder || "",
57
+ }),
58
+ defaultComponent(props) {
59
+ const id = useId();
60
+ const isPlaceholder = props.value === "" || props.value == null || props.value === undefined;
61
+ return (_jsx(props.Wrapper, { labelId: id, children: _jsx(props.formComponents.Select, { id: id, name: `field_${props.id}`, required: props.isRequired, disabled: props.disabled, value: props.value || "", onChange: (e) => props.set(e.target.value), "data-is-placeholder": isPlaceholder ? "" : undefined, placeholder: isPlaceholder ? (props.placeholder ?? "") : undefined, choices: props.choices }) }));
62
+ },
63
+ }),
64
+ number: defineType({
65
+ getInitialValue: (field) => undefined,
66
+ getOptions: (field) => ({
67
+ rangeMin: field.rangeMin ? Number(field.rangeMin) : undefined,
68
+ rangeMax: field.rangeMax ? Number(field.rangeMax) : undefined,
69
+ numberFormat: field.numberFormat || "decimal_dot",
70
+ placeholder: field.placeholder || "",
71
+ size: field.size || "large",
72
+ }),
73
+ defaultComponent(props) {
74
+ const id = useId();
75
+ return (_jsx(props.Wrapper, { labelId: id, children: _jsx(props.formComponents.Input, { id: id, type: "number", required: props.isRequired, name: `field_${props.id}`, disabled: props.disabled, placeholder: props.placeholder || "", value: props.value !== undefined && props.value !== null ? props.value : "", min: props.rangeMin, max: props.rangeMax, onChange: (e) => {
76
+ const number = parseFloat(e.currentTarget.value);
77
+ props.set(String(number) === e.currentTarget.value ? number : e.currentTarget.value);
78
+ } }) }));
79
+ },
80
+ }),
81
+ checkbox: defineType({
82
+ getInitialValue: (field) => field.choices.filter((choice) => choice.isSelected).map((choice) => choice.value) ?? [],
83
+ getOptions: (field) => ({
84
+ choices: field.choices || [],
85
+ enableOtherChoice: field.enableOtherChoice || false,
86
+ columns: field.columns ? Number(field.columns) : undefined,
87
+ }),
88
+ appendData(data, field, value, key) {
89
+ field.choices.forEach((choice, i) => {
90
+ let fieldKey = field.inputs[i].id;
91
+ data.append(`input_${fieldKey.toString()}`, value?.includes(choice.value) ? choice.value : "");
92
+ });
93
+ },
94
+ defaultComponent(props) {
95
+ return (_jsx(props.Wrapper, { children: _jsx("ul", { children: props.choices.map((choice, index) => (_jsx("li", { children: _jsxs("label", { children: [_jsx(props.formComponents.Input, { type: "checkbox", name: `field_${props.id}[]`, value: choice.value, disabled: props.disabled, checked: props.value?.includes(choice.value), onChange: (e) => {
96
+ if (e.target.checked) {
97
+ props.set([...(props.value || []), choice.value]);
98
+ }
99
+ else {
100
+ props.set((props.value || []).filter((v) => v !== choice.value));
101
+ }
102
+ } }), choice.text] }) }, index))) }) }));
103
+ },
104
+ }),
105
+ radio: defineType({
106
+ getInitialValue: (field) => field.choices.filter((choice) => choice.isSelected).map((choice) => choice.value) ?? [],
107
+ getOptions: (field) => ({
108
+ choices: field.choices || [],
109
+ enableOtherChoice: field.enableOtherChoice || false,
110
+ columns: field.columns ? Number(field.columns) : undefined,
111
+ }),
112
+ defaultComponent(props) {
113
+ return (_jsx(props.Wrapper, { children: _jsx("ul", { children: props.choices.map((choice, index) => (_jsx("li", { children: _jsxs("label", { children: [_jsx(props.formComponents.Input, { type: "radio", name: `field_${props.id}`, value: choice.value, disabled: props.disabled, checked: props.value === choice.value, onChange: (e) => {
114
+ props.set(choice.value);
115
+ } }), _jsx("span", { children: choice.text })] }) }, index))) }) }));
116
+ },
117
+ }),
118
+ multi_choice: defineType({
119
+ getInitialValue: () => undefined,
120
+ getOptions(field) {
121
+ return {
122
+ choices: field.choices || [],
123
+ placeholder: field.placeholder || "",
124
+ };
125
+ },
126
+ appendData(data, field, value, key) {
127
+ if (field.choiceLimit !== "single") {
128
+ field.choices.forEach((choice, i) => {
129
+ let fieldKey = field.inputs[i].id;
130
+ data.append(`input_${fieldKey}`, value?.includes(choice.value) ? choice.value : "");
131
+ });
132
+ }
133
+ else {
134
+ data.append(key, value ? String(value) : "");
135
+ }
136
+ },
137
+ }),
138
+ image_choice: defineType({
139
+ getInitialValue: () => undefined,
140
+ getOptions(field) {
141
+ return {
142
+ choices: field.choices || [],
143
+ placeholder: field.placeholder || "",
144
+ };
145
+ },
146
+ appendData(data, field, value, key) {
147
+ if (field.choiceLimit !== "single") {
148
+ field.choices.forEach((choice, i) => {
149
+ let fieldKey = field.inputs[i].id;
150
+ data.append(`input_${fieldKey}`, value?.includes(choice.value) ? choice.value : "");
151
+ });
152
+ }
153
+ else {
154
+ data.append(key, value ? String(value) : "");
155
+ }
156
+ },
157
+ }),
158
+ name: defineType({
159
+ getInitialValue: () => ({
160
+ prefix: "",
161
+ first: "",
162
+ middle: "",
163
+ last: "",
164
+ suffix: "",
165
+ }),
166
+ getOptions(field) {
167
+ function subfield(id, name) {
168
+ const item = field.inputs.find((input) => String(input.id).endsWith("." + id));
169
+ return {
170
+ name: name,
171
+ visible: !item?.isHidden,
172
+ placeholder: item?.placeholder,
173
+ label: item?.customLabel ?? item?.label,
174
+ autocomplete: item?.autocompleteAttribute,
175
+ choices: item?.choices,
176
+ };
177
+ }
178
+ return {
179
+ subfields: {
180
+ prefix: subfield(2, "prefix"),
181
+ first: subfield(3, "first"),
182
+ middle: subfield(4, "middle"),
183
+ last: subfield(6, "last"),
184
+ suffix: subfield(8, "suffix"),
185
+ },
186
+ };
187
+ },
188
+ appendData(data, field, value, key) {
189
+ data.append(`${key}_2`, value?.prefix ?? "");
190
+ data.append(`${key}_3`, value?.first ?? "");
191
+ data.append(`${key}_4`, value?.middle ?? "");
192
+ data.append(`${key}_6`, value?.last ?? "");
193
+ data.append(`${key}_8`, value?.suffix ?? "");
194
+ },
195
+ defaultComponent(props) {
196
+ const id = useId();
197
+ const fields = [];
198
+ for (const subfield of Object.values(props.subfields)) {
199
+ if (!subfield.visible)
200
+ continue;
201
+ fields.push(_jsx(props.formComponents.SubFieldWrapper, { label: subfield.label, labelId: id + subfield.name, children: subfield.choices?.length ? (_jsx(props.formComponents.Select, { id: id + subfield.name, name: `field_${props.id}_${subfield.name}`, disabled: props.disabled, value: props.value?.[subfield.name] || "", onChange: (e) => {
202
+ props.set({
203
+ ...(props.value || {}),
204
+ [subfield.name]: e.target.value,
205
+ });
206
+ }, placeholder: subfield.placeholder || "", choices: subfield.choices })) : (_jsx(props.formComponents.Input, { id: id + subfield.name, type: "text", name: `field_${props.id}_${subfield.name}`, disabled: props.disabled, placeholder: subfield.placeholder, value: props.value?.[subfield.name] || "", autoComplete: subfield.autocomplete, onChange: (e) => {
207
+ props.set({
208
+ ...(props.value || {}),
209
+ [subfield.name]: e.currentTarget.value,
210
+ });
211
+ } }, subfield.name)) }, subfield.name));
212
+ }
213
+ return (_jsx(props.Wrapper, { labelElement: null, children: _jsx(props.formComponents.SubFieldRow, { children: fields }) }));
214
+ },
215
+ }),
216
+ date: defineType({
217
+ getInitialValue: () => undefined,
218
+ getOptions() {
219
+ return {};
220
+ },
221
+ defaultComponent(props) {
222
+ const id = useId();
223
+ return (_jsx(props.Wrapper, { labelId: id, children: _jsx(props.formComponents.Input, { type: "date", id: id, name: `field_${props.id}`, required: props.isRequired, disabled: props.disabled, placeholder: props.options?.placeholder || "", value: props.value || "", onChange: (e) => props.set(e.currentTarget.value) }) }));
224
+ },
225
+ }),
226
+ time: defineType({
227
+ getInitialValue: () => undefined,
228
+ getOptions() {
229
+ return {};
230
+ },
231
+ defaultComponent(props) {
232
+ const id = useId();
233
+ return (_jsx(props.Wrapper, { labelId: id, children: _jsx(props.formComponents.Input, { type: "time", id: id, name: `field_${props.id}`, required: props.isRequired, disabled: props.disabled, placeholder: props.options?.placeholder || "", value: props.value || "", onChange: (e) => props.set(e.currentTarget.value) }) }));
234
+ },
235
+ }),
236
+ phone: defineType({
237
+ getInitialValue: () => undefined,
238
+ getOptions() {
239
+ return {};
240
+ },
241
+ defaultComponent(props) {
242
+ const id = useId();
243
+ return (_jsx(props.Wrapper, { labelId: id, children: _jsx(props.formComponents.Input, { type: "tel", id: id, name: `field_${props.id}`, required: props.isRequired, disabled: props.disabled, placeholder: props.options?.placeholder || "", value: props.value || "", onChange: (e) => props.set(e.currentTarget.value) }) }));
244
+ },
245
+ }),
246
+ address: defineType({
247
+ getInitialValue: () => ({
248
+ address1: "",
249
+ address2: "",
250
+ city: "",
251
+ state: "",
252
+ zip: "",
253
+ country: "",
254
+ }),
255
+ getOptions(field) {
256
+ function subfield(id, name) {
257
+ const item = field.inputs.find((input) => String(input.id).endsWith("." + id));
258
+ return {
259
+ name: name,
260
+ visible: !item?.isHidden,
261
+ placeholder: item?.placeholder,
262
+ label: item?.customLabel ?? item?.label,
263
+ autocomplete: item?.autocompleteAttribute,
264
+ };
265
+ }
266
+ return {
267
+ addressType: field.addressType,
268
+ defaultCountry: field.defaultCountry,
269
+ defaultState: field.defaultState,
270
+ subfields: {
271
+ address1: subfield(1, "address1"),
272
+ address2: subfield(2, "address2"),
273
+ city: subfield(3, "city"),
274
+ state: subfield(4, "state"),
275
+ zip: subfield(5, "zip"),
276
+ country: subfield(6, "country"),
277
+ },
278
+ };
279
+ },
280
+ appendData(data, field, value, key) {
281
+ data.append(`${key}_1`, value?.address1 ?? "");
282
+ data.append(`${key}_2`, value?.address2 ?? "");
283
+ data.append(`${key}_3`, value?.city ?? "");
284
+ data.append(`${key}_4`, value?.state ?? "");
285
+ data.append(`${key}_5`, value?.zip ?? "");
286
+ data.append(`${key}_6`, value?.country ?? "");
287
+ },
288
+ defaultComponent(props) {
289
+ const id = useId();
290
+ const fields = {};
291
+ for (const subfield of Object.values(props.subfields)) {
292
+ if (!subfield.visible)
293
+ continue;
294
+ fields[subfield.name] = (_jsx(props.formComponents.SubFieldWrapper, { label: subfield.label, labelId: id + subfield.name, children: _jsx(props.formComponents.Input, { id: id + subfield.name, type: "text", name: `field_${props.id}_${subfield.name}`, disabled: props.disabled, placeholder: subfield.placeholder, autoComplete: subfield.autocomplete, value: props.value?.[subfield.name] || "", "data-address-component": subfield.name, onChange: (e) => {
295
+ props.set({
296
+ ...(props.value || {}),
297
+ [subfield.name]: e.currentTarget.value,
298
+ });
299
+ } }) }, subfield.name));
300
+ }
301
+ const rows = [[fields.address1], [fields.address2], [fields.city, fields.zip], [fields.state], [fields.country]];
302
+ return (_jsx(props.Wrapper, { children: _jsx(props.formComponents.SubFieldStack, { children: rows
303
+ .map((row) => row.filter(Boolean))
304
+ .filter(Boolean)
305
+ .map((row) => (_jsx(props.formComponents.SubFieldRow, { children: row }))) }) }));
306
+ },
307
+ }),
308
+ website: defineType({
309
+ getInitialValue: () => undefined,
310
+ getOptions() {
311
+ return {};
312
+ },
313
+ defaultComponent(props) {
314
+ const id = useId();
315
+ return (_jsx(props.Wrapper, { labelId: id, children: _jsx(props.formComponents.Input, { id: id, type: "url", name: `field_${props.id}`, required: props.isRequired, disabled: props.disabled, placeholder: props.options?.placeholder || "", value: props.value || "", onChange: (e) => props.set(e.currentTarget.value) }) }));
316
+ },
317
+ }),
318
+ email: defineType({
319
+ getInitialValue: (field) => undefined,
320
+ getOptions: (field) => ({
321
+ confirmation: field.emailConfirmEnabled
322
+ ? {
323
+ enabled: true,
324
+ emailLabel: field.inputs?.[0]?.label || "Enter Email",
325
+ emailPlaceholder: field.inputs?.[0]?.placeholder || "Enter Email",
326
+ confirmLabel: field.inputs?.[1]?.label || "Enter Email",
327
+ confirmPlaceholder: field.inputs?.[1]?.placeholder || "Enter Email",
328
+ labelPlacement: field.subLabelPlacement || "above",
329
+ }
330
+ : { enabled: false },
331
+ placeholder: field.placeholder || "",
332
+ size: field.size || "large",
333
+ }),
334
+ appendData(data, field, value, key) {
335
+ if (field.emailConfirmEnabled) {
336
+ data.append(key, typeof value === "object" ? value.email : value || "");
337
+ data.append(key + "_2", typeof value === "object" ? value.confirmEmail : value || "");
338
+ }
339
+ else {
340
+ data.append(key, typeof value === "object" ? value.email : value || "");
341
+ }
342
+ },
343
+ defaultComponent(props) {
344
+ const id = useId();
345
+ if (props.confirmation.enabled) {
346
+ const value = typeof props.value === "object" ? props.value : { email: props.value || "", confirmEmail: "" };
347
+ return (_jsx(props.Wrapper, { children: _jsxs(props.formComponents.SubFieldRow, { children: [_jsx(props.formComponents.SubFieldWrapper, { label: props.confirmation.emailLabel || "Email", labelId: id + "_email", children: _jsx(props.formComponents.Input, { type: "email", id: id + "_email", required: props.isRequired, name: `field_${props.id}_email`, disabled: props.disabled, placeholder: props.confirmation.emailPlaceholder || "", value: typeof props.value === "object" ? props.value.email : props.value || "", onChange: (e) => {
348
+ props.set({
349
+ email: e.currentTarget.value,
350
+ confirmEmail: value.confirmEmail,
351
+ });
352
+ } }) }), _jsx(props.formComponents.SubFieldWrapper, { label: props.confirmation.confirmLabel || "Confirm Email", labelId: id + "_confirm", children: _jsx(props.formComponents.Input, { type: "email", id: id + "_confirm", required: props.isRequired, name: `field_${props.id}_email`, disabled: props.disabled, placeholder: props.confirmation.confirmPlaceholder || "", value: typeof props.value === "object" ? props.value.confirmEmail : props.value || "", onChange: (e) => {
353
+ props.set({
354
+ email: value.email,
355
+ confirmEmail: e.currentTarget.value,
356
+ });
357
+ } }) })] }) }));
358
+ }
359
+ return (_jsx(props.Wrapper, { labelId: id, children: _jsx(props.formComponents.Input, { type: "email", id: id, name: `field_${props.id}`, required: props.isRequired, disabled: props.disabled, placeholder: props.options?.placeholder || "", value: typeof props.value === "object" ? props.value.email : props.value || "", onChange: (e) => props.set(e.currentTarget.value) }) }));
360
+ },
361
+ }),
362
+ fileupload: defineType({
363
+ getInitialValue: () => undefined,
364
+ getOptions: (field) => ({
365
+ allowedExtensions: field.allowedExtensions?.split(/\s*,\s*/g) ?? [],
366
+ maxFileSize: field.maxFileSize ? parseFloat(field.maxFileSize) : undefined,
367
+ multiple: field.multipleFiles ? true : false,
368
+ maxFiles: field.maxFiles ? parseInt(field.maxFiles) : undefined,
369
+ }),
370
+ appendData(data, field, value, key) {
371
+ const keyName = field.maxFiles > 1 || field.multipleFiles ? `${key}[]` : key;
372
+ if (Array.isArray(value)) {
373
+ value.forEach((file) => {
374
+ data.append(keyName, file);
375
+ });
376
+ }
377
+ else if (value instanceof FileList) {
378
+ for (let i = 0; i < value.length; i++) {
379
+ data.append(keyName, value.item(i));
380
+ }
381
+ }
382
+ else if (value) {
383
+ data.append(keyName, value);
384
+ }
385
+ },
386
+ defaultComponent(props) {
387
+ const id = useId();
388
+ return (_jsx(props.Wrapper, { labelId: id, children: _jsx(props.formComponents.Input, { type: "file", id: id, name: `field_${props.id}${props.multiple ? "[]" : ""}`, required: props.isRequired, disabled: props.disabled, multiple: props.multiple, accept: props.allowedExtensions?.map((ext) => `.${ext}`).join(","), onChange: (e) => {
389
+ if (props.multiple) {
390
+ props.set(e.currentTarget.files ?? undefined);
391
+ }
392
+ else {
393
+ props.set(e.currentTarget.files ? e.currentTarget.files[0] : undefined);
394
+ }
395
+ } }) }));
396
+ },
397
+ }),
398
+ multiselect: defineType({
399
+ getInitialValue: () => undefined,
400
+ getOptions() {
401
+ return {};
402
+ },
403
+ }),
404
+ consent: defineType({
405
+ getInitialValue: () => undefined,
406
+ getOptions(field) {
407
+ const text = field.consentText || field.description || "";
408
+ return {
409
+ checkboxLabel: field.checkboxLabel || "",
410
+ description: text,
411
+ };
412
+ },
413
+ appendData(data, field, value, key) {
414
+ data.append(`${key}.1`, value ? "1" : "");
415
+ data.append(`${key}.2`, field?.consentText ?? field?.checkboxLabel ?? "");
416
+ },
417
+ defaultComponent(props) {
418
+ const id = useId();
419
+ return (_jsx(props.Wrapper, { descriptionElement: null, showLabel: false, children: _jsxs("div", { className: "edgf-consent-field", children: [_jsx(props.formComponents.Input, { type: "checkbox", name: `field_${props.id}`, required: props.isRequired, disabled: props.disabled, checked: props.value || false, onChange: (e) => props.set(e.target.checked), id: id }), _jsx("label", { htmlFor: id, className: "edgf-consent-label", dangerouslySetInnerHTML: { __html: props.checkboxLabel || "I Agree" } }), !!props.description && (_jsx("div", { className: "edgf-consent-agreement", dangerouslySetInnerHTML: { __html: props.description || "" } }))] }) }));
420
+ },
421
+ }),
422
+ captcha: defineType({
423
+ getInitialValue: () => undefined,
424
+ getOptions(field) {
425
+ return {
426
+ captchaSiteKey: field.captchaSiteKey || "",
427
+ captchaType: field.captchaType || "",
428
+ captchaTheme: field.captchaTheme || "light",
429
+ };
430
+ },
431
+ appendData(data, field, value, key) {
432
+ data.append("g-recaptcha-response", value);
433
+ },
434
+ defaultComponent(props) {
435
+ const ref = useRef(null);
436
+ useEffect(() => {
437
+ loadRecaptcha().then((recaptcha) => {
438
+ recaptcha.render(ref.current, {
439
+ sitekey: props.captchaSiteKey,
440
+ theme: props.captchaTheme,
441
+ callback: (token) => {
442
+ props.set(token);
443
+ },
444
+ });
445
+ });
446
+ }, []);
447
+ return (_jsx(props.Wrapper, { children: _jsx("div", { ref: ref }) }));
448
+ },
449
+ }),
450
+ html: defineType({
451
+ getInitialValue: () => undefined,
452
+ getOptions() {
453
+ return {};
454
+ },
455
+ defaultComponent(props) {
456
+ return _jsx("div", { dangerouslySetInnerHTML: { __html: props.content || "" } });
457
+ },
458
+ }),
459
+ section: defineType({
460
+ getInitialValue: () => undefined,
461
+ getOptions() {
462
+ return {};
463
+ },
464
+ }),
465
+ };
466
+ let recaptchaPromise = null;
467
+ async function loadRecaptcha() {
468
+ if (!recaptchaPromise) {
469
+ recaptchaPromise = new Promise((resolve) => {
470
+ const script = document.createElement("script");
471
+ script.id = "recaptcha-script";
472
+ script.src = "https://www.google.com/recaptcha/api.js?render=explicit";
473
+ script.async = true;
474
+ script.defer = true;
475
+ script.onload = () => {
476
+ // @ts-ignore
477
+ window.grecaptcha.ready(() => {
478
+ // @ts-ignore
479
+ resolve(window.grecaptcha);
480
+ });
481
+ };
482
+ document.body.appendChild(script);
483
+ });
484
+ }
485
+ return recaptchaPromise;
486
+ }
487
+ export function getBuiltinType(type) {
488
+ return GF_BUILTIN_FIELDS[type];
489
+ }
@@ -0,0 +1,5 @@
1
+ export * from "./useGravityForm.js";
2
+ export * from "./types.js";
3
+ export * from "./createGravityFormComponent.js";
4
+ export * from "./field-types.js";
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/app/lib/integrations/gravityforms/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,YAAY,CAAA;AAC1B,cAAc,iCAAiC,CAAA;AAC/C,cAAc,kBAAkB,CAAA"}
@@ -0,0 +1,4 @@
1
+ export * from "./useGravityForm.js";
2
+ export * from "./types.js";
3
+ export * from "./createGravityFormComponent.js";
4
+ export * from "./field-types.js";
@@ -0,0 +1,64 @@
1
+ import type { ComponentProps, ComponentType, ReactNode } from "react";
2
+ import type { GravityFormsFieldState } from "./useGravityForm.js";
3
+ import { FormComponents } from "./createGravityFormComponent.js";
4
+ import { GFBuiltins, GFFieldTypeName } from "./field-types.js";
5
+ export type GravityFormsField = {
6
+ type: string;
7
+ id: number;
8
+ label: string;
9
+ isRequired: boolean;
10
+ description: string;
11
+ showLabel: boolean;
12
+ visibility: "hidden" | "visible" | "administrative";
13
+ labelPlacement?: "hidden_label" | "above" | "below" | "left" | "right";
14
+ descriptionPlacement?: "above" | "below";
15
+ layoutGridColumnSpan: number;
16
+ disabled: boolean;
17
+ className?: string;
18
+ } & {
19
+ [key: string]: any;
20
+ };
21
+ export type GravityFormData = {
22
+ id: number;
23
+ fields: GravityFormsField[];
24
+ title: string;
25
+ description?: string;
26
+ descriptionPlacement?: "above" | "below";
27
+ revisionId: number;
28
+ pagination?: {
29
+ pages: string[];
30
+ type: string;
31
+ progressbar_complete_text?: string;
32
+ };
33
+ button: {
34
+ text: string;
35
+ };
36
+ };
37
+ export type GFFieldTypes = {
38
+ [K in keyof GFBuiltins]: GFBuiltins[K] extends GFFieldTypeSpec<infer TValue, any> ? TValue : never;
39
+ };
40
+ export type GFFieldOptions = {
41
+ [K in keyof GFBuiltins]: GFBuiltins[K] extends GFFieldTypeSpec<any, infer TOptions> ? TOptions : never;
42
+ };
43
+ export type GFFieldProps<TData, TOptions> = GravityFormsFieldState<TData, TOptions> & {
44
+ formComponents: FormComponents;
45
+ Wrapper: (props: Partial<ComponentProps<FormComponents["FieldWrapper"]>> & {
46
+ labelId?: string;
47
+ }) => ReactNode;
48
+ };
49
+ export type GFFieldComponent<TData, TOptions> = (props: GFFieldProps<TData, TOptions>) => ReactNode;
50
+ export type GFFieldTypeSpec<TData, TOptions> = {
51
+ getInitialValue(field: GravityFormsField): TData | undefined;
52
+ getOptions(field: GravityFormsField): TOptions;
53
+ defaultComponent?: NoInfer<GFFieldComponent<TData, TOptions>>;
54
+ appendData?(formData: FormData, field: GravityFormsField, value: TData, key: string): void;
55
+ };
56
+ export type GFFieldComponentProps<K extends GFFieldTypeName> = GravityFormsFieldState<GFValue<K>, GFOptions<K>>;
57
+ /** Resolves the data type of a Gravity Form field type */
58
+ export type GFValue<TypeName extends GFFieldTypeName> = TypeName extends keyof GFFieldTypes ? GFFieldTypes[TypeName] : any;
59
+ /** Resolves the options of a Gravity Form field type */
60
+ export type GFOptions<TypeName extends GFFieldTypeName> = TypeName extends keyof GFFieldOptions ? GFFieldOptions[TypeName] : {};
61
+ export type GFFieldComponentSet = {
62
+ [TypeName in GFFieldTypeName]?: ComponentType<GravityFormsFieldState<GFValue<TypeName>, TypeName extends keyof GFFieldOptions ? GFFieldOptions[TypeName] : {}>>;
63
+ };
64
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/app/lib/integrations/gravityforms/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACrE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAA;AAChE,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAE9D,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,OAAO,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,OAAO,CAAA;IAClB,UAAU,EAAE,QAAQ,GAAG,SAAS,GAAG,gBAAgB,CAAA;IACnD,cAAc,CAAC,EAAE,cAAc,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,CAAA;IACtE,oBAAoB,CAAC,EAAE,OAAO,GAAG,OAAO,CAAA;IACxC,oBAAoB,EAAE,MAAM,CAAA;IAC5B,QAAQ,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,CAAA;AAE1B,MAAM,MAAM,eAAe,GAAG;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,iBAAiB,EAAE,CAAA;IAC3B,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,oBAAoB,CAAC,EAAE,OAAO,GAAG,OAAO,CAAA;IACxC,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE;QACX,KAAK,EAAE,MAAM,EAAE,CAAA;QACf,IAAI,EAAE,MAAM,CAAA;QACZ,yBAAyB,CAAC,EAAE,MAAM,CAAA;KACnC,CAAA;IACD,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAA;KACb,CAAA;CACF,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;KACxB,CAAC,IAAI,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,SAAS,eAAe,CAAC,MAAM,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,GAAG,KAAK;CACnG,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;KAC1B,CAAC,IAAI,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,SAAS,eAAe,CAAC,GAAG,EAAE,MAAM,QAAQ,CAAC,GAAG,QAAQ,GAAG,KAAK;CACvG,CAAA;AAED,MAAM,MAAM,YAAY,CAAC,KAAK,EAAE,QAAQ,IAAI,sBAAsB,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG;IACpF,cAAc,EAAE,cAAc,CAAA;IAC9B,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,cAAc,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,SAAS,CAAA;CAC9G,CAAA;AAED,MAAM,MAAM,gBAAgB,CAAC,KAAK,EAAE,QAAQ,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,SAAS,CAAA;AAEnG,MAAM,MAAM,eAAe,CAAC,KAAK,EAAE,QAAQ,IAAI;IAC7C,eAAe,CAAC,KAAK,EAAE,iBAAiB,GAAG,KAAK,GAAG,SAAS,CAAA;IAC5D,UAAU,CAAC,KAAK,EAAE,iBAAiB,GAAG,QAAQ,CAAA;IAC9C,gBAAgB,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAA;IAC7D,UAAU,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;CAC3F,CAAA;AAED,MAAM,MAAM,qBAAqB,CAAC,CAAC,SAAS,eAAe,IAAI,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;AAE/G,0DAA0D;AAC1D,MAAM,MAAM,OAAO,CAAC,QAAQ,SAAS,eAAe,IAAI,QAAQ,SAAS,MAAM,YAAY,GACvF,YAAY,CAAC,QAAQ,CAAC,GACtB,GAAG,CAAA;AAEP,wDAAwD;AACxD,MAAM,MAAM,SAAS,CAAC,QAAQ,SAAS,eAAe,IAAI,QAAQ,SAAS,MAAM,cAAc,GAC3F,cAAc,CAAC,QAAQ,CAAC,GACxB,EAAE,CAAA;AAEN,MAAM,MAAM,mBAAmB,GAAG;KAC/B,QAAQ,IAAI,eAAe,CAAC,CAAC,EAAE,aAAa,CAC3C,sBAAsB,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,QAAQ,SAAS,MAAM,cAAc,GAAG,cAAc,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CACjH;CACF,CAAA"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,75 @@
1
+ import { GravityFormData, GravityFormsField } from "./types.js";
2
+ type Options = {
3
+ form: GravityFormData;
4
+ prepopulate?: {
5
+ [key: string]: any;
6
+ };
7
+ };
8
+ export type UseGravityFormResult = ReturnType<typeof useGravityForm>;
9
+ export type GravityFormsFieldState<T = any, TExtra = {}> = GravityFormsField & {
10
+ value: T | undefined;
11
+ error: string | undefined;
12
+ set(value: T | undefined): void;
13
+ } & TExtra;
14
+ export type GFLayoutFieldsItem = {
15
+ type: "fields";
16
+ fields: GravityFormsFieldState[];
17
+ };
18
+ export type GFLayoutHeadingItem = {
19
+ type: "heading";
20
+ text: string;
21
+ className?: string;
22
+ };
23
+ export type GFLayoutItem = {
24
+ type: "fields";
25
+ fields: GravityFormsFieldState[];
26
+ } | {
27
+ type: "heading";
28
+ text: string;
29
+ className?: string;
30
+ };
31
+ export type GFLayoutType = {
32
+ type: "page";
33
+ page: number;
34
+ title?: string;
35
+ items: GFLayoutItem[];
36
+ } | {
37
+ type: "success";
38
+ message: string;
39
+ };
40
+ export declare function useGravityForm(opts: Options): {
41
+ submitLabel: string;
42
+ pageInfo: {
43
+ title?: string;
44
+ } | null;
45
+ canGoBack: boolean;
46
+ canGoForward: boolean;
47
+ goBack: (() => void) | null;
48
+ goForward: (() => void) | null;
49
+ goToPage: (num: number) => void;
50
+ fields: GravityFormsFieldState<any, {}>[];
51
+ layout: GFLayoutType;
52
+ submit(): void;
53
+ updateField(id: number, value: any): void;
54
+ submitting: boolean;
55
+ complete: boolean;
56
+ successMessage: string | null;
57
+ mainError: string | null;
58
+ hasErrors: boolean;
59
+ page: number;
60
+ pages: {
61
+ title?: string;
62
+ }[];
63
+ values: {
64
+ [key: number]: any;
65
+ };
66
+ errors: {
67
+ [key: number]: string | undefined;
68
+ };
69
+ validity: {
70
+ [key: number]: boolean;
71
+ };
72
+ };
73
+ export type GravityFormState = ReturnType<typeof useGravityForm>;
74
+ export {};
75
+ //# sourceMappingURL=useGravityForm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useGravityForm.d.ts","sourceRoot":"","sources":["../../../../../src/app/lib/integrations/gravityforms/useGravityForm.ts"],"names":[],"mappings":"AAEA,OAAO,EAAkB,eAAe,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAE/E,KAAK,OAAO,GAAG;IACb,IAAI,EAAE,eAAe,CAAA;IACrB,WAAW,CAAC,EAAE;QACZ,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KACnB,CAAA;CACF,CAAA;AAsBD,MAAM,MAAM,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAA;AAEpE,MAAM,MAAM,sBAAsB,CAAC,CAAC,GAAG,GAAG,EAAE,MAAM,GAAG,EAAE,IAAI,iBAAiB,GAAG;IAC7E,KAAK,EAAE,CAAC,GAAG,SAAS,CAAA;IACpB,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,SAAS,GAAG,IAAI,CAAA;CAChC,GAAG,MAAM,CAAA;AAEV,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,QAAQ,CAAA;IACd,MAAM,EAAE,sBAAsB,EAAE,CAAA;CACjC,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,SAAS,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,YAAY,GACpB;IACE,IAAI,EAAE,QAAQ,CAAA;IACd,MAAM,EAAE,sBAAsB,EAAE,CAAA;CACjC,GACD;IACE,IAAI,EAAE,SAAS,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAEL,MAAM,MAAM,YAAY,GACpB;IACE,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,YAAY,EAAE,CAAA;CACtB,GACD;IACE,IAAI,EAAE,SAAS,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AA4HL,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO;;;gBAhLhC,MAAM;;;;;;oBAqSE,MAAM;;YAWZ,YAAY;;oBAQN,MAAM,SAAS,GAAG;gBA/TxB,OAAO;cACT,OAAO;oBACD,MAAM,GAAG,IAAI;eAClB,MAAM,GAAG,IAAI;eACb,OAAO;UACZ,MAAM;WACL;QACL,KAAK,CAAC,EAAE,MAAM,CAAA;KACf,EAAE;YACK;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE;YACtB;QACN,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;KAClC;cACS;QACR,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KACvB;EAoTF;AAED,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAA"}