@btst/stack 1.5.2 → 1.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/node_modules/.pnpm/@dnd-kit_accessibility@3.1.1_react@19.2.0/node_modules/@dnd-kit/accessibility/dist/accessibility.esm.cjs +68 -0
- package/dist/node_modules/.pnpm/@dnd-kit_accessibility@3.1.1_react@19.2.0/node_modules/@dnd-kit/accessibility/dist/accessibility.esm.mjs +60 -0
- package/dist/node_modules/.pnpm/@dnd-kit_core@6.3.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/@dnd-kit/core/dist/core.esm.cjs +3937 -0
- package/dist/node_modules/.pnpm/@dnd-kit_core@6.3.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/@dnd-kit/core/dist/core.esm.mjs +3907 -0
- package/dist/node_modules/.pnpm/@dnd-kit_modifiers@9.0.0_@dnd-kit_core@6.3.1_react-dom@19.2.0_react@19.2.0__react@19.2.0__react@19.2.0/node_modules/@dnd-kit/modifiers/dist/modifiers.esm.cjs +30 -0
- package/dist/node_modules/.pnpm/@dnd-kit_modifiers@9.0.0_@dnd-kit_core@6.3.1_react-dom@19.2.0_react@19.2.0__react@19.2.0__react@19.2.0/node_modules/@dnd-kit/modifiers/dist/modifiers.esm.mjs +28 -0
- package/dist/node_modules/.pnpm/@dnd-kit_sortable@10.0.0_@dnd-kit_core@6.3.1_react-dom@19.2.0_react@19.2.0__react@19.2.0__react@19.2.0/node_modules/@dnd-kit/sortable/dist/sortable.esm.cjs +675 -0
- package/dist/node_modules/.pnpm/@dnd-kit_sortable@10.0.0_@dnd-kit_core@6.3.1_react-dom@19.2.0_react@19.2.0__react@19.2.0__react@19.2.0/node_modules/@dnd-kit/sortable/dist/sortable.esm.mjs +661 -0
- package/dist/node_modules/.pnpm/@dnd-kit_utilities@3.2.2_react@19.2.0/node_modules/@dnd-kit/utilities/dist/utilities.esm.cjs +358 -0
- package/dist/node_modules/.pnpm/@dnd-kit_utilities@3.2.2_react@19.2.0/node_modules/@dnd-kit/utilities/dist/utilities.esm.mjs +332 -0
- package/dist/node_modules/.pnpm/@radix-ui_react-tabs@1.1.13_@types_react-dom@19.2.3_@types_react@19.2.6__@types_react@1_865f042350eb43f3338b0fffb33f6246/node_modules/@radix-ui/react-tabs/dist/index.cjs +211 -0
- package/dist/node_modules/.pnpm/@radix-ui_react-tabs@1.1.13_@types_react-dom@19.2.3_@types_react@19.2.6__@types_react@1_865f042350eb43f3338b0fffb33f6246/node_modules/@radix-ui/react-tabs/dist/index.mjs +188 -0
- package/dist/packages/better-stack/src/plugins/cms/api/plugin.cjs +3 -2
- package/dist/packages/better-stack/src/plugins/cms/api/plugin.mjs +3 -2
- package/dist/packages/better-stack/src/plugins/cms/client/components/forms/content-form.cjs +15 -15
- package/dist/packages/better-stack/src/plugins/cms/client/components/forms/content-form.mjs +16 -16
- package/dist/packages/better-stack/src/plugins/form-builder/api/plugin.cjs +588 -0
- package/dist/packages/better-stack/src/plugins/form-builder/api/plugin.mjs +586 -0
- package/dist/packages/better-stack/src/plugins/form-builder/client/components/forms/form-renderer.cjs +131 -0
- package/dist/packages/better-stack/src/plugins/form-builder/client/components/forms/form-renderer.mjs +129 -0
- package/dist/packages/better-stack/src/plugins/form-builder/client/components/loading/form-builder-skeleton.cjs +32 -0
- package/dist/packages/better-stack/src/plugins/form-builder/client/components/loading/form-builder-skeleton.mjs +30 -0
- package/dist/packages/better-stack/src/plugins/form-builder/client/components/loading/form-list-skeleton.cjs +21 -0
- package/dist/packages/better-stack/src/plugins/form-builder/client/components/loading/form-list-skeleton.mjs +19 -0
- package/dist/packages/better-stack/src/plugins/form-builder/client/components/loading/submissions-skeleton.cjs +34 -0
- package/dist/packages/better-stack/src/plugins/form-builder/client/components/loading/submissions-skeleton.mjs +32 -0
- package/dist/packages/better-stack/src/plugins/form-builder/client/components/pages/404-page.cjs +20 -0
- package/dist/packages/better-stack/src/plugins/form-builder/client/components/pages/404-page.mjs +18 -0
- package/dist/packages/better-stack/src/plugins/form-builder/client/components/pages/form-builder-page.cjs +19 -0
- package/dist/packages/better-stack/src/plugins/form-builder/client/components/pages/form-builder-page.internal.cjs +186 -0
- package/dist/packages/better-stack/src/plugins/form-builder/client/components/pages/form-builder-page.internal.mjs +184 -0
- package/dist/packages/better-stack/src/plugins/form-builder/client/components/pages/form-builder-page.mjs +17 -0
- package/dist/packages/better-stack/src/plugins/form-builder/client/components/pages/form-list-page.cjs +19 -0
- package/dist/packages/better-stack/src/plugins/form-builder/client/components/pages/form-list-page.internal.cjs +165 -0
- package/dist/packages/better-stack/src/plugins/form-builder/client/components/pages/form-list-page.internal.mjs +163 -0
- package/dist/packages/better-stack/src/plugins/form-builder/client/components/pages/form-list-page.mjs +17 -0
- package/dist/packages/better-stack/src/plugins/form-builder/client/components/pages/submissions-page.cjs +19 -0
- package/dist/packages/better-stack/src/plugins/form-builder/client/components/pages/submissions-page.internal.cjs +177 -0
- package/dist/packages/better-stack/src/plugins/form-builder/client/components/pages/submissions-page.internal.mjs +175 -0
- package/dist/packages/better-stack/src/plugins/form-builder/client/components/pages/submissions-page.mjs +17 -0
- package/dist/packages/better-stack/src/plugins/form-builder/client/components/shared/default-error.cjs +17 -0
- package/dist/packages/better-stack/src/plugins/form-builder/client/components/shared/default-error.mjs +15 -0
- package/dist/packages/better-stack/src/plugins/form-builder/client/components/shared/empty-state.cjs +16 -0
- package/dist/packages/better-stack/src/plugins/form-builder/client/components/shared/empty-state.mjs +14 -0
- package/dist/packages/better-stack/src/plugins/form-builder/client/components/shared/page-wrapper.cjs +27 -0
- package/dist/packages/better-stack/src/plugins/form-builder/client/components/shared/page-wrapper.mjs +25 -0
- package/dist/packages/better-stack/src/plugins/form-builder/client/components/shared/pagination.cjs +39 -0
- package/dist/packages/better-stack/src/plugins/form-builder/client/components/shared/pagination.mjs +37 -0
- package/dist/packages/better-stack/src/plugins/form-builder/client/hooks/form-builder-hooks.cjs +551 -0
- package/dist/packages/better-stack/src/plugins/form-builder/client/hooks/form-builder-hooks.mjs +537 -0
- package/dist/packages/better-stack/src/plugins/form-builder/client/localization/form-builder-common.cjs +36 -0
- package/dist/packages/better-stack/src/plugins/form-builder/client/localization/form-builder-common.mjs +34 -0
- package/dist/packages/better-stack/src/plugins/form-builder/client/localization/form-builder-editor.cjs +19 -0
- package/dist/packages/better-stack/src/plugins/form-builder/client/localization/form-builder-editor.mjs +17 -0
- package/dist/packages/better-stack/src/plugins/form-builder/client/localization/form-builder-list.cjs +21 -0
- package/dist/packages/better-stack/src/plugins/form-builder/client/localization/form-builder-list.mjs +19 -0
- package/dist/packages/better-stack/src/plugins/form-builder/client/localization/form-builder-submissions.cjs +19 -0
- package/dist/packages/better-stack/src/plugins/form-builder/client/localization/form-builder-submissions.mjs +17 -0
- package/dist/packages/better-stack/src/plugins/form-builder/client/localization/form-builder-toasts.cjs +14 -0
- package/dist/packages/better-stack/src/plugins/form-builder/client/localization/form-builder-toasts.mjs +12 -0
- package/dist/packages/better-stack/src/plugins/form-builder/client/localization/index.cjs +17 -0
- package/dist/packages/better-stack/src/plugins/form-builder/client/localization/index.mjs +15 -0
- package/dist/packages/better-stack/src/plugins/form-builder/client/plugin.cjs +278 -0
- package/dist/packages/better-stack/src/plugins/form-builder/client/plugin.mjs +276 -0
- package/dist/packages/better-stack/src/plugins/form-builder/db.cjs +99 -0
- package/dist/packages/better-stack/src/plugins/form-builder/db.mjs +97 -0
- package/dist/packages/better-stack/src/plugins/form-builder/schemas.cjs +82 -0
- package/dist/packages/better-stack/src/plugins/form-builder/schemas.mjs +74 -0
- package/dist/packages/better-stack/src/plugins/form-builder/utils.cjs +37 -0
- package/dist/packages/better-stack/src/plugins/form-builder/utils.mjs +29 -0
- package/dist/packages/ui/src/components/auto-form/index.cjs +2 -12
- package/dist/packages/ui/src/components/auto-form/index.mjs +2 -9
- package/dist/packages/ui/src/components/auto-form/stepped-auto-form.cjs +377 -0
- package/dist/packages/ui/src/components/auto-form/stepped-auto-form.mjs +368 -0
- package/dist/packages/ui/src/components/auto-form/utils.cjs +1 -56
- package/dist/packages/ui/src/components/auto-form/utils.mjs +2 -56
- package/dist/packages/ui/src/components/form-builder/canvas.cjs +111 -0
- package/dist/packages/ui/src/components/form-builder/canvas.mjs +109 -0
- package/dist/packages/ui/src/components/form-builder/components/index.cjs +570 -0
- package/dist/packages/ui/src/components/form-builder/components/index.mjs +553 -0
- package/dist/packages/ui/src/components/form-builder/edit-field-dialog.cjs +131 -0
- package/dist/packages/ui/src/components/form-builder/edit-field-dialog.mjs +129 -0
- package/dist/packages/ui/src/components/form-builder/form-preview.cjs +73 -0
- package/dist/packages/ui/src/components/form-builder/form-preview.mjs +71 -0
- package/dist/packages/ui/src/components/form-builder/index.cjs +353 -0
- package/dist/packages/ui/src/components/form-builder/index.mjs +344 -0
- package/dist/packages/ui/src/components/form-builder/nested-field-editor-dialog.cjs +263 -0
- package/dist/packages/ui/src/components/form-builder/nested-field-editor-dialog.mjs +261 -0
- package/dist/packages/ui/src/components/form-builder/palette.cjs +52 -0
- package/dist/packages/ui/src/components/form-builder/palette.mjs +49 -0
- package/dist/packages/ui/src/components/form-builder/schema-utils.cjs +120 -0
- package/dist/packages/ui/src/components/form-builder/schema-utils.mjs +114 -0
- package/dist/packages/ui/src/components/form-builder/sortable-field.cjs +151 -0
- package/dist/packages/ui/src/components/form-builder/sortable-field.mjs +148 -0
- package/dist/packages/ui/src/components/form-builder/step-tabs.cjs +180 -0
- package/dist/packages/ui/src/components/form-builder/step-tabs.mjs +178 -0
- package/dist/packages/ui/src/components/form-builder/types.cjs +7 -0
- package/dist/packages/ui/src/components/form-builder/types.mjs +5 -0
- package/dist/packages/ui/src/components/form-builder/validation-schemas.cjs +67 -0
- package/dist/packages/ui/src/components/form-builder/validation-schemas.mjs +56 -0
- package/dist/packages/ui/src/components/tabs.cjs +70 -0
- package/dist/packages/ui/src/components/tabs.mjs +65 -0
- package/dist/packages/ui/src/lib/schema-converter.cjs +130 -0
- package/dist/packages/ui/src/lib/schema-converter.mjs +124 -0
- package/dist/plugins/blog/api/index.d.cts +1 -1
- package/dist/plugins/blog/api/index.d.mts +1 -1
- package/dist/plugins/blog/api/index.d.ts +1 -1
- package/dist/plugins/blog/client/hooks/index.d.cts +2 -2
- package/dist/plugins/blog/client/hooks/index.d.mts +2 -2
- package/dist/plugins/blog/client/hooks/index.d.ts +2 -2
- package/dist/plugins/blog/client/index.d.cts +1 -1
- package/dist/plugins/blog/client/index.d.mts +1 -1
- package/dist/plugins/blog/client/index.d.ts +1 -1
- package/dist/plugins/blog/query-keys.d.cts +2 -2
- package/dist/plugins/blog/query-keys.d.mts +2 -2
- package/dist/plugins/blog/query-keys.d.ts +2 -2
- package/dist/plugins/cms/client/index.cjs +6 -0
- package/dist/plugins/cms/client/index.d.cts +6 -113
- package/dist/plugins/cms/client/index.d.mts +6 -113
- package/dist/plugins/cms/client/index.d.ts +6 -113
- package/dist/plugins/cms/client/index.mjs +1 -0
- package/dist/plugins/form-builder/api/index.cjs +7 -0
- package/dist/plugins/form-builder/api/index.d.cts +141 -0
- package/dist/plugins/form-builder/api/index.d.mts +141 -0
- package/dist/plugins/form-builder/api/index.d.ts +141 -0
- package/dist/plugins/form-builder/api/index.mjs +1 -0
- package/dist/plugins/form-builder/client/components/index.cjs +29 -0
- package/dist/plugins/form-builder/client/components/index.d.cts +93 -0
- package/dist/plugins/form-builder/client/components/index.d.mts +93 -0
- package/dist/plugins/form-builder/client/components/index.d.ts +93 -0
- package/dist/plugins/form-builder/client/components/index.mjs +18 -0
- package/dist/plugins/form-builder/client/hooks/index.cjs +19 -0
- package/dist/plugins/form-builder/client/hooks/index.d.cts +154 -0
- package/dist/plugins/form-builder/client/hooks/index.d.mts +154 -0
- package/dist/plugins/form-builder/client/hooks/index.d.ts +154 -0
- package/dist/plugins/form-builder/client/hooks/index.mjs +1 -0
- package/dist/plugins/form-builder/client/index.cjs +13 -0
- package/dist/plugins/form-builder/client/index.d.cts +381 -0
- package/dist/plugins/form-builder/client/index.d.mts +381 -0
- package/dist/plugins/form-builder/client/index.d.ts +381 -0
- package/dist/plugins/form-builder/client/index.mjs +2 -0
- package/dist/plugins/form-builder/client.css +3 -0
- package/dist/plugins/form-builder/query-keys.cjs +143 -0
- package/dist/plugins/form-builder/query-keys.d.cts +74 -0
- package/dist/plugins/form-builder/query-keys.d.mts +74 -0
- package/dist/plugins/form-builder/query-keys.d.ts +74 -0
- package/dist/plugins/form-builder/query-keys.mjs +141 -0
- package/dist/plugins/form-builder/style.css +19 -0
- package/dist/shared/stack.AX5nZ6A3.d.cts +86 -0
- package/dist/shared/stack.AX5nZ6A3.d.mts +86 -0
- package/dist/shared/stack.AX5nZ6A3.d.ts +86 -0
- package/dist/shared/stack.BIh2AXaW.d.cts +123 -0
- package/dist/shared/stack.BIh2AXaW.d.mts +123 -0
- package/dist/shared/stack.BIh2AXaW.d.ts +123 -0
- package/dist/shared/stack.DzH_wcvr.d.cts +195 -0
- package/dist/shared/stack.DzH_wcvr.d.mts +195 -0
- package/dist/shared/stack.DzH_wcvr.d.ts +195 -0
- package/package.json +54 -1
- package/src/plugins/cms/api/plugin.ts +9 -4
- package/src/plugins/cms/client/components/forms/content-form.tsx +23 -25
- package/src/plugins/cms/client/index.ts +11 -0
- package/src/plugins/form-builder/api/index.ts +1 -0
- package/src/plugins/form-builder/api/plugin.ts +776 -0
- package/src/plugins/form-builder/client/components/forms/form-renderer.tsx +253 -0
- package/src/plugins/form-builder/client/components/index.tsx +24 -0
- package/src/plugins/form-builder/client/components/loading/form-builder-skeleton.tsx +42 -0
- package/src/plugins/form-builder/client/components/loading/form-list-skeleton.tsx +25 -0
- package/src/plugins/form-builder/client/components/loading/index.tsx +3 -0
- package/src/plugins/form-builder/client/components/loading/submissions-skeleton.tsx +40 -0
- package/src/plugins/form-builder/client/components/pages/404-page.tsx +28 -0
- package/src/plugins/form-builder/client/components/pages/form-builder-page.internal.tsx +253 -0
- package/src/plugins/form-builder/client/components/pages/form-builder-page.tsx +26 -0
- package/src/plugins/form-builder/client/components/pages/form-list-page.internal.tsx +231 -0
- package/src/plugins/form-builder/client/components/pages/form-list-page.tsx +22 -0
- package/src/plugins/form-builder/client/components/pages/submissions-page.internal.tsx +268 -0
- package/src/plugins/form-builder/client/components/pages/submissions-page.tsx +26 -0
- package/src/plugins/form-builder/client/components/shared/default-error.tsx +30 -0
- package/src/plugins/form-builder/client/components/shared/empty-state.tsx +26 -0
- package/src/plugins/form-builder/client/components/shared/page-wrapper.tsx +32 -0
- package/src/plugins/form-builder/client/components/shared/pagination.tsx +52 -0
- package/src/plugins/form-builder/client/hooks/form-builder-hooks.tsx +799 -0
- package/src/plugins/form-builder/client/hooks/index.tsx +1 -0
- package/src/plugins/form-builder/client/index.ts +22 -0
- package/src/plugins/form-builder/client/localization/form-builder-common.ts +36 -0
- package/src/plugins/form-builder/client/localization/form-builder-editor.ts +18 -0
- package/src/plugins/form-builder/client/localization/form-builder-list.ts +17 -0
- package/src/plugins/form-builder/client/localization/form-builder-submissions.ts +17 -0
- package/src/plugins/form-builder/client/localization/form-builder-toasts.ts +10 -0
- package/src/plugins/form-builder/client/localization/index.ts +15 -0
- package/src/plugins/form-builder/client/overrides.ts +146 -0
- package/src/plugins/form-builder/client/plugin.tsx +488 -0
- package/src/plugins/form-builder/client.css +3 -0
- package/src/plugins/form-builder/db.ts +99 -0
- package/src/plugins/form-builder/query-keys.ts +198 -0
- package/src/plugins/form-builder/schemas.ts +122 -0
- package/src/plugins/form-builder/style.css +19 -0
- package/src/plugins/form-builder/types.ts +317 -0
- package/src/plugins/form-builder/utils.ts +63 -0
- package/dist/shared/{stack.DLhzx1-D.d.cts → stack.CcI4sYJP.d.cts} +1 -1
- package/dist/shared/{stack.DLhzx1-D.d.mts → stack.CcI4sYJP.d.mts} +1 -1
- package/dist/shared/{stack.DLhzx1-D.d.ts → stack.CcI4sYJP.d.ts} +1 -1
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import * as _btst_stack_plugins_api from '@btst/stack/plugins/api';
|
|
2
|
+
import * as better_call from 'better-call';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
import { F as FormBuilderBackendConfig, S as SerializedForm, b as SerializedFormSubmissionWithData } from '../../../shared/stack.DzH_wcvr.mjs';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Form Builder backend plugin
|
|
8
|
+
* Provides API endpoints for managing forms and form submissions
|
|
9
|
+
*
|
|
10
|
+
* @param config - Configuration with optional hooks
|
|
11
|
+
*/
|
|
12
|
+
declare const formBuilderBackendPlugin: (config?: FormBuilderBackendConfig) => _btst_stack_plugins_api.BackendPlugin<{
|
|
13
|
+
listForms: better_call.StrictEndpoint<"/forms", {
|
|
14
|
+
method: "GET";
|
|
15
|
+
query: z.ZodObject<{
|
|
16
|
+
status: z.ZodOptional<z.ZodEnum<{
|
|
17
|
+
active: "active";
|
|
18
|
+
inactive: "inactive";
|
|
19
|
+
archived: "archived";
|
|
20
|
+
}>>;
|
|
21
|
+
limit: z.ZodDefault<z.ZodOptional<z.ZodCoercedNumber<unknown>>>;
|
|
22
|
+
offset: z.ZodDefault<z.ZodOptional<z.ZodCoercedNumber<unknown>>>;
|
|
23
|
+
}, z.core.$strip>;
|
|
24
|
+
}, {
|
|
25
|
+
items: SerializedForm[];
|
|
26
|
+
total: number;
|
|
27
|
+
limit: number;
|
|
28
|
+
offset: number;
|
|
29
|
+
}>;
|
|
30
|
+
getFormBySlug: better_call.StrictEndpoint<"/forms/:slug", {
|
|
31
|
+
method: "GET";
|
|
32
|
+
params: z.ZodObject<{
|
|
33
|
+
slug: z.ZodString;
|
|
34
|
+
}, z.core.$strip>;
|
|
35
|
+
}, SerializedForm>;
|
|
36
|
+
getFormById: better_call.StrictEndpoint<"/forms/id/:id", {
|
|
37
|
+
method: "GET";
|
|
38
|
+
params: z.ZodObject<{
|
|
39
|
+
id: z.ZodString;
|
|
40
|
+
}, z.core.$strip>;
|
|
41
|
+
}, SerializedForm>;
|
|
42
|
+
createForm: better_call.StrictEndpoint<"/forms", {
|
|
43
|
+
method: "POST";
|
|
44
|
+
body: z.ZodObject<{
|
|
45
|
+
name: z.ZodString;
|
|
46
|
+
slug: z.ZodString;
|
|
47
|
+
description: z.ZodOptional<z.ZodString>;
|
|
48
|
+
schema: z.ZodString;
|
|
49
|
+
successMessage: z.ZodOptional<z.ZodString>;
|
|
50
|
+
redirectUrl: z.ZodUnion<[z.ZodOptional<z.ZodString>, z.ZodLiteral<"">]>;
|
|
51
|
+
status: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
|
|
52
|
+
active: "active";
|
|
53
|
+
inactive: "inactive";
|
|
54
|
+
archived: "archived";
|
|
55
|
+
}>>>;
|
|
56
|
+
}, z.core.$strip>;
|
|
57
|
+
}, SerializedForm>;
|
|
58
|
+
updateForm: better_call.StrictEndpoint<"/forms/:id", {
|
|
59
|
+
method: "PUT";
|
|
60
|
+
params: z.ZodObject<{
|
|
61
|
+
id: z.ZodString;
|
|
62
|
+
}, z.core.$strip>;
|
|
63
|
+
body: z.ZodObject<{
|
|
64
|
+
name: z.ZodOptional<z.ZodString>;
|
|
65
|
+
slug: z.ZodOptional<z.ZodString>;
|
|
66
|
+
description: z.ZodOptional<z.ZodString>;
|
|
67
|
+
schema: z.ZodOptional<z.ZodString>;
|
|
68
|
+
successMessage: z.ZodOptional<z.ZodString>;
|
|
69
|
+
redirectUrl: z.ZodUnion<[z.ZodOptional<z.ZodString>, z.ZodLiteral<"">]>;
|
|
70
|
+
status: z.ZodOptional<z.ZodEnum<{
|
|
71
|
+
active: "active";
|
|
72
|
+
inactive: "inactive";
|
|
73
|
+
archived: "archived";
|
|
74
|
+
}>>;
|
|
75
|
+
}, z.core.$strip>;
|
|
76
|
+
}, SerializedForm>;
|
|
77
|
+
deleteForm: better_call.StrictEndpoint<"/forms/:id", {
|
|
78
|
+
method: "DELETE";
|
|
79
|
+
params: z.ZodObject<{
|
|
80
|
+
id: z.ZodString;
|
|
81
|
+
}, z.core.$strip>;
|
|
82
|
+
}, {
|
|
83
|
+
success: boolean;
|
|
84
|
+
}>;
|
|
85
|
+
submitForm: better_call.StrictEndpoint<"/forms/:slug/submit", {
|
|
86
|
+
method: "POST";
|
|
87
|
+
params: z.ZodObject<{
|
|
88
|
+
slug: z.ZodString;
|
|
89
|
+
}, z.core.$strip>;
|
|
90
|
+
body: z.ZodObject<{
|
|
91
|
+
data: z.ZodObject<{}, z.core.$loose>;
|
|
92
|
+
}, z.core.$strip>;
|
|
93
|
+
}, {
|
|
94
|
+
form: {
|
|
95
|
+
successMessage: string | undefined;
|
|
96
|
+
redirectUrl: string | undefined;
|
|
97
|
+
};
|
|
98
|
+
submittedAt: string;
|
|
99
|
+
id: string;
|
|
100
|
+
data: string;
|
|
101
|
+
formId: string;
|
|
102
|
+
submittedBy?: string | undefined;
|
|
103
|
+
ipAddress?: string | undefined;
|
|
104
|
+
userAgent?: string | undefined;
|
|
105
|
+
}>;
|
|
106
|
+
listSubmissions: better_call.StrictEndpoint<"/forms/:formId/submissions", {
|
|
107
|
+
method: "GET";
|
|
108
|
+
params: z.ZodObject<{
|
|
109
|
+
formId: z.ZodString;
|
|
110
|
+
}, z.core.$strip>;
|
|
111
|
+
query: z.ZodObject<{
|
|
112
|
+
limit: z.ZodDefault<z.ZodOptional<z.ZodCoercedNumber<unknown>>>;
|
|
113
|
+
offset: z.ZodDefault<z.ZodOptional<z.ZodCoercedNumber<unknown>>>;
|
|
114
|
+
}, z.core.$strip>;
|
|
115
|
+
}, {
|
|
116
|
+
items: SerializedFormSubmissionWithData<Record<string, unknown>>[];
|
|
117
|
+
total: number;
|
|
118
|
+
limit: number;
|
|
119
|
+
offset: number;
|
|
120
|
+
}>;
|
|
121
|
+
getSubmission: better_call.StrictEndpoint<"/forms/:formId/submissions/:subId", {
|
|
122
|
+
method: "GET";
|
|
123
|
+
params: z.ZodObject<{
|
|
124
|
+
formId: z.ZodString;
|
|
125
|
+
subId: z.ZodString;
|
|
126
|
+
}, z.core.$strip>;
|
|
127
|
+
}, SerializedFormSubmissionWithData<Record<string, unknown>>>;
|
|
128
|
+
deleteSubmission: better_call.StrictEndpoint<"/forms/:formId/submissions/:subId", {
|
|
129
|
+
method: "DELETE";
|
|
130
|
+
params: z.ZodObject<{
|
|
131
|
+
formId: z.ZodString;
|
|
132
|
+
subId: z.ZodString;
|
|
133
|
+
}, z.core.$strip>;
|
|
134
|
+
}, {
|
|
135
|
+
success: boolean;
|
|
136
|
+
}>;
|
|
137
|
+
}>;
|
|
138
|
+
type FormBuilderApiRouter = ReturnType<ReturnType<typeof formBuilderBackendPlugin>["routes"]>;
|
|
139
|
+
|
|
140
|
+
export { formBuilderBackendPlugin };
|
|
141
|
+
export type { FormBuilderApiRouter };
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import * as _btst_stack_plugins_api from '@btst/stack/plugins/api';
|
|
2
|
+
import * as better_call from 'better-call';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
import { F as FormBuilderBackendConfig, S as SerializedForm, b as SerializedFormSubmissionWithData } from '../../../shared/stack.DzH_wcvr.js';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Form Builder backend plugin
|
|
8
|
+
* Provides API endpoints for managing forms and form submissions
|
|
9
|
+
*
|
|
10
|
+
* @param config - Configuration with optional hooks
|
|
11
|
+
*/
|
|
12
|
+
declare const formBuilderBackendPlugin: (config?: FormBuilderBackendConfig) => _btst_stack_plugins_api.BackendPlugin<{
|
|
13
|
+
listForms: better_call.StrictEndpoint<"/forms", {
|
|
14
|
+
method: "GET";
|
|
15
|
+
query: z.ZodObject<{
|
|
16
|
+
status: z.ZodOptional<z.ZodEnum<{
|
|
17
|
+
active: "active";
|
|
18
|
+
inactive: "inactive";
|
|
19
|
+
archived: "archived";
|
|
20
|
+
}>>;
|
|
21
|
+
limit: z.ZodDefault<z.ZodOptional<z.ZodCoercedNumber<unknown>>>;
|
|
22
|
+
offset: z.ZodDefault<z.ZodOptional<z.ZodCoercedNumber<unknown>>>;
|
|
23
|
+
}, z.core.$strip>;
|
|
24
|
+
}, {
|
|
25
|
+
items: SerializedForm[];
|
|
26
|
+
total: number;
|
|
27
|
+
limit: number;
|
|
28
|
+
offset: number;
|
|
29
|
+
}>;
|
|
30
|
+
getFormBySlug: better_call.StrictEndpoint<"/forms/:slug", {
|
|
31
|
+
method: "GET";
|
|
32
|
+
params: z.ZodObject<{
|
|
33
|
+
slug: z.ZodString;
|
|
34
|
+
}, z.core.$strip>;
|
|
35
|
+
}, SerializedForm>;
|
|
36
|
+
getFormById: better_call.StrictEndpoint<"/forms/id/:id", {
|
|
37
|
+
method: "GET";
|
|
38
|
+
params: z.ZodObject<{
|
|
39
|
+
id: z.ZodString;
|
|
40
|
+
}, z.core.$strip>;
|
|
41
|
+
}, SerializedForm>;
|
|
42
|
+
createForm: better_call.StrictEndpoint<"/forms", {
|
|
43
|
+
method: "POST";
|
|
44
|
+
body: z.ZodObject<{
|
|
45
|
+
name: z.ZodString;
|
|
46
|
+
slug: z.ZodString;
|
|
47
|
+
description: z.ZodOptional<z.ZodString>;
|
|
48
|
+
schema: z.ZodString;
|
|
49
|
+
successMessage: z.ZodOptional<z.ZodString>;
|
|
50
|
+
redirectUrl: z.ZodUnion<[z.ZodOptional<z.ZodString>, z.ZodLiteral<"">]>;
|
|
51
|
+
status: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
|
|
52
|
+
active: "active";
|
|
53
|
+
inactive: "inactive";
|
|
54
|
+
archived: "archived";
|
|
55
|
+
}>>>;
|
|
56
|
+
}, z.core.$strip>;
|
|
57
|
+
}, SerializedForm>;
|
|
58
|
+
updateForm: better_call.StrictEndpoint<"/forms/:id", {
|
|
59
|
+
method: "PUT";
|
|
60
|
+
params: z.ZodObject<{
|
|
61
|
+
id: z.ZodString;
|
|
62
|
+
}, z.core.$strip>;
|
|
63
|
+
body: z.ZodObject<{
|
|
64
|
+
name: z.ZodOptional<z.ZodString>;
|
|
65
|
+
slug: z.ZodOptional<z.ZodString>;
|
|
66
|
+
description: z.ZodOptional<z.ZodString>;
|
|
67
|
+
schema: z.ZodOptional<z.ZodString>;
|
|
68
|
+
successMessage: z.ZodOptional<z.ZodString>;
|
|
69
|
+
redirectUrl: z.ZodUnion<[z.ZodOptional<z.ZodString>, z.ZodLiteral<"">]>;
|
|
70
|
+
status: z.ZodOptional<z.ZodEnum<{
|
|
71
|
+
active: "active";
|
|
72
|
+
inactive: "inactive";
|
|
73
|
+
archived: "archived";
|
|
74
|
+
}>>;
|
|
75
|
+
}, z.core.$strip>;
|
|
76
|
+
}, SerializedForm>;
|
|
77
|
+
deleteForm: better_call.StrictEndpoint<"/forms/:id", {
|
|
78
|
+
method: "DELETE";
|
|
79
|
+
params: z.ZodObject<{
|
|
80
|
+
id: z.ZodString;
|
|
81
|
+
}, z.core.$strip>;
|
|
82
|
+
}, {
|
|
83
|
+
success: boolean;
|
|
84
|
+
}>;
|
|
85
|
+
submitForm: better_call.StrictEndpoint<"/forms/:slug/submit", {
|
|
86
|
+
method: "POST";
|
|
87
|
+
params: z.ZodObject<{
|
|
88
|
+
slug: z.ZodString;
|
|
89
|
+
}, z.core.$strip>;
|
|
90
|
+
body: z.ZodObject<{
|
|
91
|
+
data: z.ZodObject<{}, z.core.$loose>;
|
|
92
|
+
}, z.core.$strip>;
|
|
93
|
+
}, {
|
|
94
|
+
form: {
|
|
95
|
+
successMessage: string | undefined;
|
|
96
|
+
redirectUrl: string | undefined;
|
|
97
|
+
};
|
|
98
|
+
submittedAt: string;
|
|
99
|
+
id: string;
|
|
100
|
+
data: string;
|
|
101
|
+
formId: string;
|
|
102
|
+
submittedBy?: string | undefined;
|
|
103
|
+
ipAddress?: string | undefined;
|
|
104
|
+
userAgent?: string | undefined;
|
|
105
|
+
}>;
|
|
106
|
+
listSubmissions: better_call.StrictEndpoint<"/forms/:formId/submissions", {
|
|
107
|
+
method: "GET";
|
|
108
|
+
params: z.ZodObject<{
|
|
109
|
+
formId: z.ZodString;
|
|
110
|
+
}, z.core.$strip>;
|
|
111
|
+
query: z.ZodObject<{
|
|
112
|
+
limit: z.ZodDefault<z.ZodOptional<z.ZodCoercedNumber<unknown>>>;
|
|
113
|
+
offset: z.ZodDefault<z.ZodOptional<z.ZodCoercedNumber<unknown>>>;
|
|
114
|
+
}, z.core.$strip>;
|
|
115
|
+
}, {
|
|
116
|
+
items: SerializedFormSubmissionWithData<Record<string, unknown>>[];
|
|
117
|
+
total: number;
|
|
118
|
+
limit: number;
|
|
119
|
+
offset: number;
|
|
120
|
+
}>;
|
|
121
|
+
getSubmission: better_call.StrictEndpoint<"/forms/:formId/submissions/:subId", {
|
|
122
|
+
method: "GET";
|
|
123
|
+
params: z.ZodObject<{
|
|
124
|
+
formId: z.ZodString;
|
|
125
|
+
subId: z.ZodString;
|
|
126
|
+
}, z.core.$strip>;
|
|
127
|
+
}, SerializedFormSubmissionWithData<Record<string, unknown>>>;
|
|
128
|
+
deleteSubmission: better_call.StrictEndpoint<"/forms/:formId/submissions/:subId", {
|
|
129
|
+
method: "DELETE";
|
|
130
|
+
params: z.ZodObject<{
|
|
131
|
+
formId: z.ZodString;
|
|
132
|
+
subId: z.ZodString;
|
|
133
|
+
}, z.core.$strip>;
|
|
134
|
+
}, {
|
|
135
|
+
success: boolean;
|
|
136
|
+
}>;
|
|
137
|
+
}>;
|
|
138
|
+
type FormBuilderApiRouter = ReturnType<ReturnType<typeof formBuilderBackendPlugin>["routes"]>;
|
|
139
|
+
|
|
140
|
+
export { formBuilderBackendPlugin };
|
|
141
|
+
export type { FormBuilderApiRouter };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { formBuilderBackendPlugin } from '../../../packages/better-stack/src/plugins/form-builder/api/plugin.mjs';
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
const formListPage = require('../../../../packages/better-stack/src/plugins/form-builder/client/components/pages/form-list-page.cjs');
|
|
5
|
+
const formBuilderPage = require('../../../../packages/better-stack/src/plugins/form-builder/client/components/pages/form-builder-page.cjs');
|
|
6
|
+
const submissionsPage = require('../../../../packages/better-stack/src/plugins/form-builder/client/components/pages/submissions-page.cjs');
|
|
7
|
+
const formRenderer = require('../../../../packages/better-stack/src/plugins/form-builder/client/components/forms/form-renderer.cjs');
|
|
8
|
+
const defaultError = require('../../../../packages/better-stack/src/plugins/form-builder/client/components/shared/default-error.cjs');
|
|
9
|
+
const emptyState = require('../../../../packages/better-stack/src/plugins/form-builder/client/components/shared/empty-state.cjs');
|
|
10
|
+
const _404Page = require('../../../../packages/better-stack/src/plugins/form-builder/client/components/pages/404-page.cjs');
|
|
11
|
+
const formListSkeleton = require('../../../../packages/better-stack/src/plugins/form-builder/client/components/loading/form-list-skeleton.cjs');
|
|
12
|
+
const formBuilderSkeleton = require('../../../../packages/better-stack/src/plugins/form-builder/client/components/loading/form-builder-skeleton.cjs');
|
|
13
|
+
const submissionsSkeleton = require('../../../../packages/better-stack/src/plugins/form-builder/client/components/loading/submissions-skeleton.cjs');
|
|
14
|
+
|
|
15
|
+
const FormListPage = formListPage.FormListPageComponent;
|
|
16
|
+
const FormBuilderPage = formBuilderPage.FormBuilderPageComponent;
|
|
17
|
+
const SubmissionsPage = submissionsPage.SubmissionsPageComponent;
|
|
18
|
+
const FormRenderer = formRenderer.FormRenderer;
|
|
19
|
+
|
|
20
|
+
exports.DefaultError = defaultError.DefaultError;
|
|
21
|
+
exports.EmptyState = emptyState.EmptyState;
|
|
22
|
+
exports.NotFoundPage = _404Page.NotFoundPage;
|
|
23
|
+
exports.FormListSkeleton = formListSkeleton.FormListSkeleton;
|
|
24
|
+
exports.FormBuilderSkeleton = formBuilderSkeleton.FormBuilderSkeleton;
|
|
25
|
+
exports.SubmissionsSkeleton = submissionsSkeleton.SubmissionsSkeleton;
|
|
26
|
+
exports.FormBuilderPage = FormBuilderPage;
|
|
27
|
+
exports.FormListPage = FormListPage;
|
|
28
|
+
exports.FormRenderer = FormRenderer;
|
|
29
|
+
exports.SubmissionsPage = SubmissionsPage;
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { ComponentType } from 'react';
|
|
3
|
+
import { A as AutoFormInputComponentProps } from '../../../../shared/stack.BIh2AXaW.cjs';
|
|
4
|
+
import { a as SerializedFormSubmission } from '../../../../shared/stack.DzH_wcvr.cjs';
|
|
5
|
+
import 'react-hook-form';
|
|
6
|
+
import 'zod';
|
|
7
|
+
|
|
8
|
+
declare function FormListPageComponent(): react_jsx_runtime.JSX.Element;
|
|
9
|
+
|
|
10
|
+
interface FormBuilderPageProps {
|
|
11
|
+
id?: string;
|
|
12
|
+
}
|
|
13
|
+
declare function FormBuilderPageComponent({ id }: FormBuilderPageProps): react_jsx_runtime.JSX.Element;
|
|
14
|
+
|
|
15
|
+
interface SubmissionsPageProps {
|
|
16
|
+
formId: string;
|
|
17
|
+
}
|
|
18
|
+
declare function SubmissionsPageComponent({ formId }: SubmissionsPageProps): react_jsx_runtime.JSX.Element;
|
|
19
|
+
|
|
20
|
+
interface FormRendererProps {
|
|
21
|
+
/** Form slug to render */
|
|
22
|
+
slug: string;
|
|
23
|
+
/** Callback when form submission succeeds */
|
|
24
|
+
onSuccess?: (submission: SerializedFormSubmission & {
|
|
25
|
+
form: {
|
|
26
|
+
successMessage?: string;
|
|
27
|
+
redirectUrl?: string;
|
|
28
|
+
};
|
|
29
|
+
}) => void;
|
|
30
|
+
/** Callback when form submission fails */
|
|
31
|
+
onError?: (error: Error) => void;
|
|
32
|
+
/** Custom field components (same as FormBuilder) */
|
|
33
|
+
fieldComponents?: Record<string, ComponentType<AutoFormInputComponentProps>>;
|
|
34
|
+
/** Override success message */
|
|
35
|
+
successMessage?: React.ReactNode;
|
|
36
|
+
/** Override submit button text */
|
|
37
|
+
submitButtonText?: string;
|
|
38
|
+
/** Custom loading component */
|
|
39
|
+
LoadingComponent?: ComponentType;
|
|
40
|
+
/** Custom error component */
|
|
41
|
+
ErrorComponent?: ComponentType<{
|
|
42
|
+
error: Error;
|
|
43
|
+
}>;
|
|
44
|
+
/** Class name for the form container */
|
|
45
|
+
className?: string;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* FormRenderer component for rendering forms on the frontend.
|
|
49
|
+
*
|
|
50
|
+
* Uses SteppedAutoForm which automatically handles both single-step and multi-step forms.
|
|
51
|
+
*
|
|
52
|
+
* @example
|
|
53
|
+
* ```tsx
|
|
54
|
+
* <FormRenderer
|
|
55
|
+
* slug="contact-form"
|
|
56
|
+
* onSuccess={() => {
|
|
57
|
+
* toast.success("Thank you!");
|
|
58
|
+
* }}
|
|
59
|
+
* onError={(error) => {
|
|
60
|
+
* toast.error("Something went wrong");
|
|
61
|
+
* }}
|
|
62
|
+
* />
|
|
63
|
+
* ```
|
|
64
|
+
*/
|
|
65
|
+
declare function FormRenderer$1({ slug, onSuccess, onError, fieldComponents: propFieldComponents, successMessage: propSuccessMessage, submitButtonText, LoadingComponent, ErrorComponent, className, }: FormRendererProps): react_jsx_runtime.JSX.Element;
|
|
66
|
+
|
|
67
|
+
declare function FormListSkeleton(): react_jsx_runtime.JSX.Element;
|
|
68
|
+
|
|
69
|
+
declare function FormBuilderSkeleton(): react_jsx_runtime.JSX.Element;
|
|
70
|
+
|
|
71
|
+
declare function SubmissionsSkeleton(): react_jsx_runtime.JSX.Element;
|
|
72
|
+
|
|
73
|
+
interface DefaultErrorProps {
|
|
74
|
+
error: Error;
|
|
75
|
+
resetErrorBoundary?: () => void;
|
|
76
|
+
}
|
|
77
|
+
declare function DefaultError({ error, resetErrorBoundary }: DefaultErrorProps): react_jsx_runtime.JSX.Element;
|
|
78
|
+
|
|
79
|
+
interface EmptyStateProps {
|
|
80
|
+
title: string;
|
|
81
|
+
description?: string;
|
|
82
|
+
action?: React.ReactNode;
|
|
83
|
+
}
|
|
84
|
+
declare function EmptyState({ title, description, action }: EmptyStateProps): react_jsx_runtime.JSX.Element;
|
|
85
|
+
|
|
86
|
+
declare function NotFoundPage(): react_jsx_runtime.JSX.Element;
|
|
87
|
+
|
|
88
|
+
declare const FormListPage: typeof FormListPageComponent;
|
|
89
|
+
declare const FormBuilderPage: typeof FormBuilderPageComponent;
|
|
90
|
+
declare const SubmissionsPage: typeof SubmissionsPageComponent;
|
|
91
|
+
declare const FormRenderer: typeof FormRenderer$1;
|
|
92
|
+
|
|
93
|
+
export { DefaultError, EmptyState, FormBuilderPage, FormBuilderSkeleton, FormListPage, FormListSkeleton, FormRenderer, NotFoundPage, SubmissionsPage, SubmissionsSkeleton };
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { ComponentType } from 'react';
|
|
3
|
+
import { A as AutoFormInputComponentProps } from '../../../../shared/stack.BIh2AXaW.mjs';
|
|
4
|
+
import { a as SerializedFormSubmission } from '../../../../shared/stack.DzH_wcvr.mjs';
|
|
5
|
+
import 'react-hook-form';
|
|
6
|
+
import 'zod';
|
|
7
|
+
|
|
8
|
+
declare function FormListPageComponent(): react_jsx_runtime.JSX.Element;
|
|
9
|
+
|
|
10
|
+
interface FormBuilderPageProps {
|
|
11
|
+
id?: string;
|
|
12
|
+
}
|
|
13
|
+
declare function FormBuilderPageComponent({ id }: FormBuilderPageProps): react_jsx_runtime.JSX.Element;
|
|
14
|
+
|
|
15
|
+
interface SubmissionsPageProps {
|
|
16
|
+
formId: string;
|
|
17
|
+
}
|
|
18
|
+
declare function SubmissionsPageComponent({ formId }: SubmissionsPageProps): react_jsx_runtime.JSX.Element;
|
|
19
|
+
|
|
20
|
+
interface FormRendererProps {
|
|
21
|
+
/** Form slug to render */
|
|
22
|
+
slug: string;
|
|
23
|
+
/** Callback when form submission succeeds */
|
|
24
|
+
onSuccess?: (submission: SerializedFormSubmission & {
|
|
25
|
+
form: {
|
|
26
|
+
successMessage?: string;
|
|
27
|
+
redirectUrl?: string;
|
|
28
|
+
};
|
|
29
|
+
}) => void;
|
|
30
|
+
/** Callback when form submission fails */
|
|
31
|
+
onError?: (error: Error) => void;
|
|
32
|
+
/** Custom field components (same as FormBuilder) */
|
|
33
|
+
fieldComponents?: Record<string, ComponentType<AutoFormInputComponentProps>>;
|
|
34
|
+
/** Override success message */
|
|
35
|
+
successMessage?: React.ReactNode;
|
|
36
|
+
/** Override submit button text */
|
|
37
|
+
submitButtonText?: string;
|
|
38
|
+
/** Custom loading component */
|
|
39
|
+
LoadingComponent?: ComponentType;
|
|
40
|
+
/** Custom error component */
|
|
41
|
+
ErrorComponent?: ComponentType<{
|
|
42
|
+
error: Error;
|
|
43
|
+
}>;
|
|
44
|
+
/** Class name for the form container */
|
|
45
|
+
className?: string;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* FormRenderer component for rendering forms on the frontend.
|
|
49
|
+
*
|
|
50
|
+
* Uses SteppedAutoForm which automatically handles both single-step and multi-step forms.
|
|
51
|
+
*
|
|
52
|
+
* @example
|
|
53
|
+
* ```tsx
|
|
54
|
+
* <FormRenderer
|
|
55
|
+
* slug="contact-form"
|
|
56
|
+
* onSuccess={() => {
|
|
57
|
+
* toast.success("Thank you!");
|
|
58
|
+
* }}
|
|
59
|
+
* onError={(error) => {
|
|
60
|
+
* toast.error("Something went wrong");
|
|
61
|
+
* }}
|
|
62
|
+
* />
|
|
63
|
+
* ```
|
|
64
|
+
*/
|
|
65
|
+
declare function FormRenderer$1({ slug, onSuccess, onError, fieldComponents: propFieldComponents, successMessage: propSuccessMessage, submitButtonText, LoadingComponent, ErrorComponent, className, }: FormRendererProps): react_jsx_runtime.JSX.Element;
|
|
66
|
+
|
|
67
|
+
declare function FormListSkeleton(): react_jsx_runtime.JSX.Element;
|
|
68
|
+
|
|
69
|
+
declare function FormBuilderSkeleton(): react_jsx_runtime.JSX.Element;
|
|
70
|
+
|
|
71
|
+
declare function SubmissionsSkeleton(): react_jsx_runtime.JSX.Element;
|
|
72
|
+
|
|
73
|
+
interface DefaultErrorProps {
|
|
74
|
+
error: Error;
|
|
75
|
+
resetErrorBoundary?: () => void;
|
|
76
|
+
}
|
|
77
|
+
declare function DefaultError({ error, resetErrorBoundary }: DefaultErrorProps): react_jsx_runtime.JSX.Element;
|
|
78
|
+
|
|
79
|
+
interface EmptyStateProps {
|
|
80
|
+
title: string;
|
|
81
|
+
description?: string;
|
|
82
|
+
action?: React.ReactNode;
|
|
83
|
+
}
|
|
84
|
+
declare function EmptyState({ title, description, action }: EmptyStateProps): react_jsx_runtime.JSX.Element;
|
|
85
|
+
|
|
86
|
+
declare function NotFoundPage(): react_jsx_runtime.JSX.Element;
|
|
87
|
+
|
|
88
|
+
declare const FormListPage: typeof FormListPageComponent;
|
|
89
|
+
declare const FormBuilderPage: typeof FormBuilderPageComponent;
|
|
90
|
+
declare const SubmissionsPage: typeof SubmissionsPageComponent;
|
|
91
|
+
declare const FormRenderer: typeof FormRenderer$1;
|
|
92
|
+
|
|
93
|
+
export { DefaultError, EmptyState, FormBuilderPage, FormBuilderSkeleton, FormListPage, FormListSkeleton, FormRenderer, NotFoundPage, SubmissionsPage, SubmissionsSkeleton };
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { ComponentType } from 'react';
|
|
3
|
+
import { A as AutoFormInputComponentProps } from '../../../../shared/stack.BIh2AXaW.js';
|
|
4
|
+
import { a as SerializedFormSubmission } from '../../../../shared/stack.DzH_wcvr.js';
|
|
5
|
+
import 'react-hook-form';
|
|
6
|
+
import 'zod';
|
|
7
|
+
|
|
8
|
+
declare function FormListPageComponent(): react_jsx_runtime.JSX.Element;
|
|
9
|
+
|
|
10
|
+
interface FormBuilderPageProps {
|
|
11
|
+
id?: string;
|
|
12
|
+
}
|
|
13
|
+
declare function FormBuilderPageComponent({ id }: FormBuilderPageProps): react_jsx_runtime.JSX.Element;
|
|
14
|
+
|
|
15
|
+
interface SubmissionsPageProps {
|
|
16
|
+
formId: string;
|
|
17
|
+
}
|
|
18
|
+
declare function SubmissionsPageComponent({ formId }: SubmissionsPageProps): react_jsx_runtime.JSX.Element;
|
|
19
|
+
|
|
20
|
+
interface FormRendererProps {
|
|
21
|
+
/** Form slug to render */
|
|
22
|
+
slug: string;
|
|
23
|
+
/** Callback when form submission succeeds */
|
|
24
|
+
onSuccess?: (submission: SerializedFormSubmission & {
|
|
25
|
+
form: {
|
|
26
|
+
successMessage?: string;
|
|
27
|
+
redirectUrl?: string;
|
|
28
|
+
};
|
|
29
|
+
}) => void;
|
|
30
|
+
/** Callback when form submission fails */
|
|
31
|
+
onError?: (error: Error) => void;
|
|
32
|
+
/** Custom field components (same as FormBuilder) */
|
|
33
|
+
fieldComponents?: Record<string, ComponentType<AutoFormInputComponentProps>>;
|
|
34
|
+
/** Override success message */
|
|
35
|
+
successMessage?: React.ReactNode;
|
|
36
|
+
/** Override submit button text */
|
|
37
|
+
submitButtonText?: string;
|
|
38
|
+
/** Custom loading component */
|
|
39
|
+
LoadingComponent?: ComponentType;
|
|
40
|
+
/** Custom error component */
|
|
41
|
+
ErrorComponent?: ComponentType<{
|
|
42
|
+
error: Error;
|
|
43
|
+
}>;
|
|
44
|
+
/** Class name for the form container */
|
|
45
|
+
className?: string;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* FormRenderer component for rendering forms on the frontend.
|
|
49
|
+
*
|
|
50
|
+
* Uses SteppedAutoForm which automatically handles both single-step and multi-step forms.
|
|
51
|
+
*
|
|
52
|
+
* @example
|
|
53
|
+
* ```tsx
|
|
54
|
+
* <FormRenderer
|
|
55
|
+
* slug="contact-form"
|
|
56
|
+
* onSuccess={() => {
|
|
57
|
+
* toast.success("Thank you!");
|
|
58
|
+
* }}
|
|
59
|
+
* onError={(error) => {
|
|
60
|
+
* toast.error("Something went wrong");
|
|
61
|
+
* }}
|
|
62
|
+
* />
|
|
63
|
+
* ```
|
|
64
|
+
*/
|
|
65
|
+
declare function FormRenderer$1({ slug, onSuccess, onError, fieldComponents: propFieldComponents, successMessage: propSuccessMessage, submitButtonText, LoadingComponent, ErrorComponent, className, }: FormRendererProps): react_jsx_runtime.JSX.Element;
|
|
66
|
+
|
|
67
|
+
declare function FormListSkeleton(): react_jsx_runtime.JSX.Element;
|
|
68
|
+
|
|
69
|
+
declare function FormBuilderSkeleton(): react_jsx_runtime.JSX.Element;
|
|
70
|
+
|
|
71
|
+
declare function SubmissionsSkeleton(): react_jsx_runtime.JSX.Element;
|
|
72
|
+
|
|
73
|
+
interface DefaultErrorProps {
|
|
74
|
+
error: Error;
|
|
75
|
+
resetErrorBoundary?: () => void;
|
|
76
|
+
}
|
|
77
|
+
declare function DefaultError({ error, resetErrorBoundary }: DefaultErrorProps): react_jsx_runtime.JSX.Element;
|
|
78
|
+
|
|
79
|
+
interface EmptyStateProps {
|
|
80
|
+
title: string;
|
|
81
|
+
description?: string;
|
|
82
|
+
action?: React.ReactNode;
|
|
83
|
+
}
|
|
84
|
+
declare function EmptyState({ title, description, action }: EmptyStateProps): react_jsx_runtime.JSX.Element;
|
|
85
|
+
|
|
86
|
+
declare function NotFoundPage(): react_jsx_runtime.JSX.Element;
|
|
87
|
+
|
|
88
|
+
declare const FormListPage: typeof FormListPageComponent;
|
|
89
|
+
declare const FormBuilderPage: typeof FormBuilderPageComponent;
|
|
90
|
+
declare const SubmissionsPage: typeof SubmissionsPageComponent;
|
|
91
|
+
declare const FormRenderer: typeof FormRenderer$1;
|
|
92
|
+
|
|
93
|
+
export { DefaultError, EmptyState, FormBuilderPage, FormBuilderSkeleton, FormListPage, FormListSkeleton, FormRenderer, NotFoundPage, SubmissionsPage, SubmissionsSkeleton };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { FormListPageComponent } from '../../../../packages/better-stack/src/plugins/form-builder/client/components/pages/form-list-page.mjs';
|
|
3
|
+
import { FormBuilderPageComponent } from '../../../../packages/better-stack/src/plugins/form-builder/client/components/pages/form-builder-page.mjs';
|
|
4
|
+
import { SubmissionsPageComponent } from '../../../../packages/better-stack/src/plugins/form-builder/client/components/pages/submissions-page.mjs';
|
|
5
|
+
import { FormRenderer as FormRenderer$1 } from '../../../../packages/better-stack/src/plugins/form-builder/client/components/forms/form-renderer.mjs';
|
|
6
|
+
export { DefaultError } from '../../../../packages/better-stack/src/plugins/form-builder/client/components/shared/default-error.mjs';
|
|
7
|
+
export { EmptyState } from '../../../../packages/better-stack/src/plugins/form-builder/client/components/shared/empty-state.mjs';
|
|
8
|
+
export { NotFoundPage } from '../../../../packages/better-stack/src/plugins/form-builder/client/components/pages/404-page.mjs';
|
|
9
|
+
export { FormListSkeleton } from '../../../../packages/better-stack/src/plugins/form-builder/client/components/loading/form-list-skeleton.mjs';
|
|
10
|
+
export { FormBuilderSkeleton } from '../../../../packages/better-stack/src/plugins/form-builder/client/components/loading/form-builder-skeleton.mjs';
|
|
11
|
+
export { SubmissionsSkeleton } from '../../../../packages/better-stack/src/plugins/form-builder/client/components/loading/submissions-skeleton.mjs';
|
|
12
|
+
|
|
13
|
+
const FormListPage = FormListPageComponent;
|
|
14
|
+
const FormBuilderPage = FormBuilderPageComponent;
|
|
15
|
+
const SubmissionsPage = SubmissionsPageComponent;
|
|
16
|
+
const FormRenderer = FormRenderer$1;
|
|
17
|
+
|
|
18
|
+
export { FormBuilderPage, FormListPage, FormRenderer, SubmissionsPage };
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const formBuilderHooks = require('../../../../packages/better-stack/src/plugins/form-builder/client/hooks/form-builder-hooks.cjs');
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
exports.useCreateForm = formBuilderHooks.useCreateForm;
|
|
8
|
+
exports.useDeleteForm = formBuilderHooks.useDeleteForm;
|
|
9
|
+
exports.useDeleteSubmission = formBuilderHooks.useDeleteSubmission;
|
|
10
|
+
exports.useFormById = formBuilderHooks.useFormById;
|
|
11
|
+
exports.useFormBySlug = formBuilderHooks.useFormBySlug;
|
|
12
|
+
exports.useForms = formBuilderHooks.useForms;
|
|
13
|
+
exports.useSubmissions = formBuilderHooks.useSubmissions;
|
|
14
|
+
exports.useSubmitForm = formBuilderHooks.useSubmitForm;
|
|
15
|
+
exports.useSuspenseFormById = formBuilderHooks.useSuspenseFormById;
|
|
16
|
+
exports.useSuspenseFormBySlug = formBuilderHooks.useSuspenseFormBySlug;
|
|
17
|
+
exports.useSuspenseForms = formBuilderHooks.useSuspenseForms;
|
|
18
|
+
exports.useSuspenseSubmissions = formBuilderHooks.useSuspenseSubmissions;
|
|
19
|
+
exports.useUpdateForm = formBuilderHooks.useUpdateForm;
|