eddev 2.1.0 → 2.1.1
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.
- package/bin/eddev.js +1 -1
- package/dist/app/lib/integrations/gravityforms/createGravityFormComponent.d.ts +86 -0
- package/dist/app/lib/integrations/gravityforms/createGravityFormComponent.d.ts.map +1 -0
- package/dist/app/lib/integrations/gravityforms/createGravityFormComponent.js +127 -0
- package/dist/app/lib/integrations/gravityforms/field-types.d.ts +137 -0
- package/dist/app/lib/integrations/gravityforms/field-types.d.ts.map +1 -0
- package/dist/app/lib/integrations/gravityforms/field-types.js +449 -0
- package/dist/app/lib/integrations/gravityforms/index.d.ts +2 -0
- package/dist/app/lib/integrations/gravityforms/index.d.ts.map +1 -1
- package/dist/app/lib/integrations/gravityforms/index.js +2 -0
- package/dist/app/lib/integrations/gravityforms/types.d.ts +35 -116
- package/dist/app/lib/integrations/gravityforms/types.d.ts.map +1 -1
- package/dist/app/lib/integrations/gravityforms/useGravityForm.d.ts +44 -0
- package/dist/app/lib/integrations/gravityforms/useGravityForm.d.ts.map +1 -1
- package/dist/app/lib/integrations/gravityforms/useGravityForm.js +220 -121
- package/dist/node/cli/cli.js +2 -0
- package/package.json +1 -1
package/bin/eddev.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
1
|
+
#!/usr/bin/env node --trace-warnings
|
|
2
2
|
import "../dist/node/cli/cli.js"
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { FormEvent, ReactNode } from "react";
|
|
2
|
+
import { GFLayoutType, GravityFormsFieldState, GravityFormState, UseGravityFormResult } from "./useGravityForm";
|
|
3
|
+
import { GFFieldTypeSpec, GravityFormsField } from "./types";
|
|
4
|
+
import { GF_BUILTIN_FIELDS } from "./field-types";
|
|
5
|
+
declare const FORM_COMPONENTS: {
|
|
6
|
+
Form(props: {
|
|
7
|
+
onSubmit(e: FormEvent<HTMLFormElement>): void;
|
|
8
|
+
children: ReactNode;
|
|
9
|
+
layout: GFLayoutType;
|
|
10
|
+
state: GravityFormState;
|
|
11
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
Success(props: {
|
|
13
|
+
message: string;
|
|
14
|
+
state: GravityFormState;
|
|
15
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
LayoutStack(props: {
|
|
17
|
+
children: ReactNode;
|
|
18
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
19
|
+
LayoutRow(props: {
|
|
20
|
+
fields: {
|
|
21
|
+
field: GravityFormsFieldState;
|
|
22
|
+
children: ReactNode;
|
|
23
|
+
}[];
|
|
24
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
25
|
+
FieldWrapper(props: {
|
|
26
|
+
field: GravityFormsFieldState;
|
|
27
|
+
showLabel: boolean;
|
|
28
|
+
labelPlacement: GravityFormsField["labelPlacement"];
|
|
29
|
+
descriptionPlacement: GravityFormsField["descriptionPlacement"];
|
|
30
|
+
cols: GravityFormsField["layoutGridColumnSpan"];
|
|
31
|
+
errorElement?: ReactNode;
|
|
32
|
+
labelElement: ReactNode;
|
|
33
|
+
descriptionElement?: ReactNode;
|
|
34
|
+
children: ReactNode;
|
|
35
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
36
|
+
FieldLabel(props: {
|
|
37
|
+
label: string;
|
|
38
|
+
isRequired: boolean;
|
|
39
|
+
htmlFor?: string;
|
|
40
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
41
|
+
SubFieldRow(props: {
|
|
42
|
+
children: ReactNode;
|
|
43
|
+
basis?: number;
|
|
44
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
45
|
+
SubFieldStack(props: {
|
|
46
|
+
children: ReactNode;
|
|
47
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
48
|
+
SubFieldWrapper(props: {
|
|
49
|
+
label?: string;
|
|
50
|
+
children: ReactNode;
|
|
51
|
+
className?: string;
|
|
52
|
+
labelId?: string;
|
|
53
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
54
|
+
FieldDescription(props: {
|
|
55
|
+
description: string;
|
|
56
|
+
}): false | import("react/jsx-runtime").JSX.Element;
|
|
57
|
+
FieldError(props: {
|
|
58
|
+
error: string;
|
|
59
|
+
}): false | import("react/jsx-runtime").JSX.Element;
|
|
60
|
+
Heading(props: {
|
|
61
|
+
text: string;
|
|
62
|
+
className?: string;
|
|
63
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
64
|
+
SubmitBar(props: {
|
|
65
|
+
label: string;
|
|
66
|
+
submitting: boolean;
|
|
67
|
+
canGoBack: boolean;
|
|
68
|
+
goBack: () => void;
|
|
69
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
70
|
+
};
|
|
71
|
+
export type FormComponents = typeof FORM_COMPONENTS;
|
|
72
|
+
export type FieldComponents = {
|
|
73
|
+
[K in keyof typeof GF_BUILTIN_FIELDS]?: (typeof GF_BUILTIN_FIELDS)[K] extends GFFieldTypeSpec<infer TValue, infer TOptions> ? (props: GravityFormsFieldState<TValue, TOptions> & {
|
|
74
|
+
formComponents: typeof FORM_COMPONENTS;
|
|
75
|
+
}) => ReactNode : never;
|
|
76
|
+
};
|
|
77
|
+
export type GravityFormsComponent = (props: {
|
|
78
|
+
state: UseGravityFormResult;
|
|
79
|
+
}) => JSX.Element;
|
|
80
|
+
type CreateArgs = {
|
|
81
|
+
formComponents?: Partial<FormComponents>;
|
|
82
|
+
fieldComponents?: Partial<FieldComponents>;
|
|
83
|
+
};
|
|
84
|
+
export declare function createGravityFormComponent(args?: CreateArgs): GravityFormsComponent;
|
|
85
|
+
export {};
|
|
86
|
+
//# sourceMappingURL=createGravityFormComponent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createGravityFormComponent.d.ts","sourceRoot":"","sources":["../../../../../src/app/lib/integrations/gravityforms/createGravityFormComponent.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect, useMemo, useRef } from "react";
|
|
3
|
+
import { GF_BUILTIN_FIELDS } from "./field-types";
|
|
4
|
+
const FORM_COMPONENTS = {
|
|
5
|
+
Form(props) {
|
|
6
|
+
return (_jsx("form", { className: "edgf-form", onSubmit: props.onSubmit, children: props.children }));
|
|
7
|
+
},
|
|
8
|
+
Success(props) {
|
|
9
|
+
return (_jsxs("div", { className: "edgf-form-success", children: [_jsx("h2", { children: "Thank you for your submission!" }), _jsx("div", { dangerouslySetInnerHTML: { __html: props.message } })] }));
|
|
10
|
+
},
|
|
11
|
+
LayoutStack(props) {
|
|
12
|
+
return _jsx("div", { className: "edgf-form-stack", children: props.children });
|
|
13
|
+
},
|
|
14
|
+
LayoutRow(props) {
|
|
15
|
+
return (_jsx("div", { className: "edgf-form-row", children: props.fields.map(({ field, children }) => (_jsx("div", { className: `edgf-form-col`, style: {
|
|
16
|
+
"--edgf-col-span": field.layoutGridColumnSpan || 12,
|
|
17
|
+
"--edgf-col-basis": ((field.layoutGridColumnSpan || 12) / 12) * 100 + "%",
|
|
18
|
+
}, children: children }, field.id))) }));
|
|
19
|
+
},
|
|
20
|
+
FieldWrapper(props) {
|
|
21
|
+
return (_jsxs("div", { className: `edgf-field edgf-field-${props.field.type} ${props.field.className || ""}`.trim(), children: [props.showLabel ? props.labelElement : null, props.descriptionPlacement === "above" && props.descriptionElement, props.children, props.descriptionPlacement === "below" && props.descriptionElement, props.errorElement] }));
|
|
22
|
+
},
|
|
23
|
+
FieldLabel(props) {
|
|
24
|
+
return (_jsxs("label", { className: "edgf-field-label", htmlFor: props.htmlFor, children: [props.label, props.isRequired && _jsx("span", { className: "edgf-field-required-indicator" })] }));
|
|
25
|
+
},
|
|
26
|
+
SubFieldRow(props) {
|
|
27
|
+
return (_jsx("div", { className: "edgf-subfield-row", style: {
|
|
28
|
+
"--edgf-subfield-basis": props.basis ?? "auto",
|
|
29
|
+
}, children: props.children }));
|
|
30
|
+
},
|
|
31
|
+
SubFieldStack(props) {
|
|
32
|
+
return _jsx("div", { className: "edgf-subfield-stack", children: props.children });
|
|
33
|
+
},
|
|
34
|
+
SubFieldWrapper(props) {
|
|
35
|
+
return (_jsxs("div", { className: `edgf-subfield ${props.className ?? ""}`.trim(), children: [props.label && (_jsx("label", { className: "edgf-subfield-label", htmlFor: props.labelId, children: props.label })), props.children] }));
|
|
36
|
+
},
|
|
37
|
+
FieldDescription(props) {
|
|
38
|
+
return !!props.description && _jsx("div", { className: "edgf-field-description", children: props.description });
|
|
39
|
+
},
|
|
40
|
+
FieldError(props) {
|
|
41
|
+
return !!props.error && _jsx("div", { className: "edgf-field-error", children: props.error });
|
|
42
|
+
},
|
|
43
|
+
Heading(props) {
|
|
44
|
+
return _jsx("h3", { className: `edgf-form-heading ${props.className ?? ""}`.trim(), children: props.text });
|
|
45
|
+
},
|
|
46
|
+
SubmitBar(props) {
|
|
47
|
+
return (_jsxs("div", { className: "edgf-form-submit-bar", children: [props.canGoBack && (_jsx("button", { type: "button", className: "edgf-form-back-button", onClick: props.goBack, children: "Back" })), _jsx("button", { type: "submit", disabled: props.submitting, "data-submitting": props.submitting ? "" : undefined, children: props.label })] }));
|
|
48
|
+
},
|
|
49
|
+
};
|
|
50
|
+
export function createGravityFormComponent(args) {
|
|
51
|
+
const Form = {
|
|
52
|
+
...FORM_COMPONENTS,
|
|
53
|
+
...args?.formComponents,
|
|
54
|
+
};
|
|
55
|
+
const Fields = {
|
|
56
|
+
...Object.fromEntries(Object.entries(GF_BUILTIN_FIELDS).map(([key, FieldSpec]) => {
|
|
57
|
+
const name = key;
|
|
58
|
+
const DefaultComponent = FieldSpec.defaultComponent;
|
|
59
|
+
const OverrideComponent = args?.fieldComponents && args.fieldComponents[name];
|
|
60
|
+
const BaseComponent = OverrideComponent || DefaultComponent;
|
|
61
|
+
function Component(props) {
|
|
62
|
+
const propsRef = useRef(props);
|
|
63
|
+
propsRef.current = props;
|
|
64
|
+
const Wrapper = useMemo(() => {
|
|
65
|
+
return (props) => {
|
|
66
|
+
const defaultProps = useMemo(() => {
|
|
67
|
+
const p = propsRef.current;
|
|
68
|
+
return {
|
|
69
|
+
field: p,
|
|
70
|
+
showLabel: !!p.showLabel,
|
|
71
|
+
labelElement: _jsx(Form.FieldLabel, { htmlFor: props.labelId, label: p.label, isRequired: p.isRequired }),
|
|
72
|
+
descriptionElement: _jsx(Form.FieldDescription, { description: p.description }),
|
|
73
|
+
errorElement: p.error && _jsx(Form.FieldError, { error: p.error }),
|
|
74
|
+
labelPlacement: p.labelPlacement || "above",
|
|
75
|
+
cols: p.layoutGridColumnSpan,
|
|
76
|
+
descriptionPlacement: p.descriptionPlacement || "below",
|
|
77
|
+
};
|
|
78
|
+
}, [propsRef.current]);
|
|
79
|
+
return (_jsx(Form.FieldWrapper, { ...defaultProps, ...props, children: props.children }));
|
|
80
|
+
};
|
|
81
|
+
}, []);
|
|
82
|
+
return BaseComponent ? _jsx(BaseComponent, { ...props, Wrapper: Wrapper }) : null;
|
|
83
|
+
}
|
|
84
|
+
return [key, Component];
|
|
85
|
+
})),
|
|
86
|
+
};
|
|
87
|
+
return function GravityForm({ state }) {
|
|
88
|
+
const ref = useRef(null);
|
|
89
|
+
const lastPage = useRef(state.page);
|
|
90
|
+
useEffect(() => {
|
|
91
|
+
if (lastPage.current === state.page) {
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
setTimeout(() => {
|
|
95
|
+
lastPage.current = state.page;
|
|
96
|
+
const firstChild = ref.current?.children.item(0);
|
|
97
|
+
firstChild?.scrollIntoView({ behavior: "smooth", block: "start" });
|
|
98
|
+
}, 100);
|
|
99
|
+
}, [state.page, JSON.stringify(state.errors)]);
|
|
100
|
+
return (_jsx("div", { ref: ref, style: { display: "contents" }, children: _jsx(Form.Form, { onSubmit: (e) => {
|
|
101
|
+
e.preventDefault();
|
|
102
|
+
if (state.submitting)
|
|
103
|
+
return;
|
|
104
|
+
state.submit();
|
|
105
|
+
}, layout: state.layout, state: state, children: state.layout.type === "page" ? (_jsxs(_Fragment, { children: [_jsx(Form.LayoutStack, { children: state.layout.items.map((row, rowIndex) => {
|
|
106
|
+
if (row.type === "fields") {
|
|
107
|
+
return (_jsx(Form.LayoutRow, { fields: row.fields
|
|
108
|
+
.map((field) => {
|
|
109
|
+
const FieldComponent = Fields[field.type];
|
|
110
|
+
if (!FieldComponent) {
|
|
111
|
+
console.warn(`No component found for Gravity Forms field type "${field.type}"`);
|
|
112
|
+
return null;
|
|
113
|
+
}
|
|
114
|
+
// console.log("V", field.label, field.value)
|
|
115
|
+
return {
|
|
116
|
+
field: field,
|
|
117
|
+
children: (_jsx(FieldComponent, { ...field, formComponents: Form, disabled: field.disabled || state.submitting })),
|
|
118
|
+
};
|
|
119
|
+
})
|
|
120
|
+
.filter((field) => field !== null) }, rowIndex));
|
|
121
|
+
}
|
|
122
|
+
else if (row.type === "heading") {
|
|
123
|
+
return _jsx(Form.Heading, { text: row.text, className: row.className }, rowIndex);
|
|
124
|
+
}
|
|
125
|
+
}) }), _jsx(Form.SubmitBar, { label: state.submitLabel, submitting: state.submitting, canGoBack: state.canGoBack, goBack: () => state.goBack?.() })] })) : state.layout.type === "success" ? (_jsx(Form.Success, { message: state.layout.message, state: state })) : null }) }));
|
|
126
|
+
};
|
|
127
|
+
}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import { GFFieldTypeSpec } from "./types";
|
|
2
|
+
export type GFTextOptions = {
|
|
3
|
+
placeholder: string;
|
|
4
|
+
size: "small" | "medium" | "large";
|
|
5
|
+
};
|
|
6
|
+
export type GFGenericTextOptions = {
|
|
7
|
+
placeholder: string;
|
|
8
|
+
};
|
|
9
|
+
export type GFNumberOptions = {
|
|
10
|
+
placeholder: string;
|
|
11
|
+
rangeMax?: number;
|
|
12
|
+
rangeMin?: number;
|
|
13
|
+
size: "small" | "medium" | "large";
|
|
14
|
+
numberFormat: "decimal_dot" | "decimal_comma" | "currency_dot" | "currency_comma";
|
|
15
|
+
};
|
|
16
|
+
export type GFSelectOptions = {
|
|
17
|
+
placeholder: string;
|
|
18
|
+
choices: {
|
|
19
|
+
text: string;
|
|
20
|
+
value: string;
|
|
21
|
+
}[];
|
|
22
|
+
};
|
|
23
|
+
export type GFCheckboxOptions = {
|
|
24
|
+
columns?: number;
|
|
25
|
+
enableOtherChoice: boolean;
|
|
26
|
+
choices: {
|
|
27
|
+
text: string;
|
|
28
|
+
value: string;
|
|
29
|
+
}[];
|
|
30
|
+
};
|
|
31
|
+
export type GFDateOptions = {};
|
|
32
|
+
export type GFRadioOptions = GFCheckboxOptions;
|
|
33
|
+
export type GFEmailOptions = {
|
|
34
|
+
/** When enabled */
|
|
35
|
+
confirmation: {
|
|
36
|
+
enabled: false;
|
|
37
|
+
emailLabel?: string;
|
|
38
|
+
emailPlaceholder?: string;
|
|
39
|
+
confirmLabel?: string;
|
|
40
|
+
confirmPlaceholder?: string;
|
|
41
|
+
labelPlacement?: "below" | "above" | "hidden";
|
|
42
|
+
} | {
|
|
43
|
+
enabled: true;
|
|
44
|
+
emailLabel: string;
|
|
45
|
+
emailPlaceholder: string;
|
|
46
|
+
confirmLabel: string;
|
|
47
|
+
confirmPlaceholder: string;
|
|
48
|
+
labelPlacement: "below" | "above" | "hidden";
|
|
49
|
+
};
|
|
50
|
+
placeholder: string;
|
|
51
|
+
size: "small" | "medium" | "large";
|
|
52
|
+
};
|
|
53
|
+
export type GFEmailData = string | {
|
|
54
|
+
email: string;
|
|
55
|
+
confirmEmail: string;
|
|
56
|
+
};
|
|
57
|
+
export type GFAddressData = {
|
|
58
|
+
address1?: string;
|
|
59
|
+
address2?: string;
|
|
60
|
+
city?: string;
|
|
61
|
+
state?: string;
|
|
62
|
+
zip?: string;
|
|
63
|
+
country?: string;
|
|
64
|
+
};
|
|
65
|
+
export type GFAddressOptions = {
|
|
66
|
+
addressType: "international" | "us";
|
|
67
|
+
defaultCountry: string;
|
|
68
|
+
defaultState: string;
|
|
69
|
+
subfields: {
|
|
70
|
+
[K in keyof GFAddressData]: {
|
|
71
|
+
name: K;
|
|
72
|
+
visible: boolean;
|
|
73
|
+
placeholder: string;
|
|
74
|
+
label: string;
|
|
75
|
+
autocomplete: string;
|
|
76
|
+
};
|
|
77
|
+
};
|
|
78
|
+
};
|
|
79
|
+
export type GFNameOptions = {
|
|
80
|
+
subfields: {
|
|
81
|
+
[K in keyof GFNameData]: {
|
|
82
|
+
name: K;
|
|
83
|
+
visible: boolean;
|
|
84
|
+
placeholder: string;
|
|
85
|
+
label: string;
|
|
86
|
+
autocomplete: string;
|
|
87
|
+
choices?: {
|
|
88
|
+
text: string;
|
|
89
|
+
value: string;
|
|
90
|
+
}[];
|
|
91
|
+
};
|
|
92
|
+
};
|
|
93
|
+
};
|
|
94
|
+
export type GFFileUploadOptions = {
|
|
95
|
+
allowedExtensions: string[];
|
|
96
|
+
multiple: boolean;
|
|
97
|
+
maxFileSize?: number;
|
|
98
|
+
maxFiles?: number;
|
|
99
|
+
};
|
|
100
|
+
export type GFNameData = {
|
|
101
|
+
prefix?: string;
|
|
102
|
+
first?: string;
|
|
103
|
+
middle?: string;
|
|
104
|
+
last?: string;
|
|
105
|
+
suffix?: string;
|
|
106
|
+
};
|
|
107
|
+
export type GFConsentOptions = {
|
|
108
|
+
checkboxLabel: string;
|
|
109
|
+
};
|
|
110
|
+
export type GFBuiltinTypes = keyof typeof GF_BUILTIN_FIELDS;
|
|
111
|
+
export declare const GF_BUILTIN_FIELDS: {
|
|
112
|
+
text: GFFieldTypeSpec<string, GFTextOptions>;
|
|
113
|
+
textarea: GFFieldTypeSpec<string, GFTextOptions>;
|
|
114
|
+
select: GFFieldTypeSpec<string, GFSelectOptions>;
|
|
115
|
+
number: GFFieldTypeSpec<number, GFNumberOptions>;
|
|
116
|
+
checkbox: GFFieldTypeSpec<string[], GFCheckboxOptions>;
|
|
117
|
+
radio: GFFieldTypeSpec<string, GFCheckboxOptions>;
|
|
118
|
+
multi_choice: GFFieldTypeSpec<string | string[], GFSelectOptions>;
|
|
119
|
+
image_choice: GFFieldTypeSpec<string | string[], GFSelectOptions>;
|
|
120
|
+
name: GFFieldTypeSpec<GFNameData, GFNameOptions>;
|
|
121
|
+
date: GFFieldTypeSpec<string, GFDateOptions>;
|
|
122
|
+
time: GFFieldTypeSpec<string, {}>;
|
|
123
|
+
phone: GFFieldTypeSpec<string, {}>;
|
|
124
|
+
address: GFFieldTypeSpec<GFAddressData, GFAddressOptions>;
|
|
125
|
+
website: GFFieldTypeSpec<string, {}>;
|
|
126
|
+
email: GFFieldTypeSpec<GFEmailData, GFEmailOptions>;
|
|
127
|
+
fileupload: GFFieldTypeSpec<File | FileList | File[], GFFileUploadOptions>;
|
|
128
|
+
multiselect: GFFieldTypeSpec<string[], {}>;
|
|
129
|
+
consent: GFFieldTypeSpec<boolean, GFConsentOptions>;
|
|
130
|
+
captcha: GFFieldTypeSpec<string, {}>;
|
|
131
|
+
html: GFFieldTypeSpec<void, {}>;
|
|
132
|
+
section: GFFieldTypeSpec<void, {}>;
|
|
133
|
+
};
|
|
134
|
+
export type GFBuiltins = typeof GF_BUILTIN_FIELDS;
|
|
135
|
+
export type GFFieldTypeName = keyof typeof GF_BUILTIN_FIELDS;
|
|
136
|
+
export declare function getBuiltinType(type: string): GFFieldTypeSpec<any, any> | undefined;
|
|
137
|
+
//# sourceMappingURL=field-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"field-types.d.ts","sourceRoot":"","sources":["../../../../../src/app/lib/integrations/gravityforms/field-types.tsx"],"names":[],"mappings":"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"}
|