@saastro/forms 0.4.0 → 0.5.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/index.d.ts +1 -65
- package/dist/index.js +1 -166
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -3716,70 +3716,6 @@ declare function executeSubmitActions(actions: SubmitActionNode[], values: Recor
|
|
|
3716
3716
|
*/
|
|
3717
3717
|
declare function executeSubmitActionsByTrigger(config: FormConfig, triggerType: SubmitTriggerType, values: Record<string, unknown>, triggerValue?: string): Promise<SubmitActionsResult>;
|
|
3718
3718
|
|
|
3719
|
-
/**
|
|
3720
|
-
* Contact form template — name, email, message.
|
|
3721
|
-
*
|
|
3722
|
-
* The classic three-field contact form: full name (required), email
|
|
3723
|
-
* (required + format), and a message textarea (required, min 10 chars).
|
|
3724
|
-
* Single step, single column.
|
|
3725
|
-
*/
|
|
3726
|
-
declare function createContactTemplate(): FormConfig;
|
|
3727
|
-
|
|
3728
|
-
/**
|
|
3729
|
-
* Newsletter signup template — email + consent.
|
|
3730
|
-
*
|
|
3731
|
-
* GDPR-friendly: a single email field plus an explicit checkbox the
|
|
3732
|
-
* subscriber has to tick (validation: must be true). Single step.
|
|
3733
|
-
*/
|
|
3734
|
-
declare function createNewsletterTemplate(): FormConfig;
|
|
3735
|
-
|
|
3736
|
-
/**
|
|
3737
|
-
* Lead-gen template — name, email, phone, company, message.
|
|
3738
|
-
*
|
|
3739
|
-
* Standard B2B lead-capture: required name + email, optional phone +
|
|
3740
|
-
* company (for context), and a message textarea. Two-column layout on
|
|
3741
|
-
* wide screens so the form doesn't feel huge.
|
|
3742
|
-
*/
|
|
3743
|
-
declare function createLeadGenTemplate(): FormConfig;
|
|
3744
|
-
|
|
3745
|
-
/**
|
|
3746
|
-
* Event RSVP template — name, email, attending, guests, dietary notes.
|
|
3747
|
-
*
|
|
3748
|
-
* For wedding-/conference-style RSVPs: required name + email + answer
|
|
3749
|
-
* to "will you attend?", optional guest count and dietary notes.
|
|
3750
|
-
*/
|
|
3751
|
-
declare function createEventRsvpTemplate(): FormConfig;
|
|
3752
|
-
|
|
3753
|
-
/**
|
|
3754
|
-
* Quote-request template — name, email, company, service, budget, details.
|
|
3755
|
-
*
|
|
3756
|
-
* Captures qualified inbound: required contact info plus a service
|
|
3757
|
-
* type and budget range so the sales team can route the lead before
|
|
3758
|
-
* replying. The free-text "details" field is required so we never get
|
|
3759
|
-
* empty leads.
|
|
3760
|
-
*/
|
|
3761
|
-
declare function createQuoteRequestTemplate(): FormConfig;
|
|
3762
|
-
|
|
3763
|
-
/**
|
|
3764
|
-
* Starter templates for common form patterns. Each factory returns a
|
|
3765
|
-
* fresh `FormConfig` so callers can safely mutate the result (e.g.
|
|
3766
|
-
* append fields) without polluting a shared instance.
|
|
3767
|
-
*
|
|
3768
|
-
* Used by:
|
|
3769
|
-
* - `saastro-hub`'s "New form → Start from" dropdown.
|
|
3770
|
-
* - The form-builder's template picker.
|
|
3771
|
-
*/
|
|
3772
|
-
declare const TEMPLATES: Record<TemplateId, () => FormConfig>;
|
|
3773
|
-
type TemplateId = 'contact' | 'newsletter' | 'lead-gen' | 'event-rsvp' | 'quote-request';
|
|
3774
|
-
/** Static metadata for surfacing templates in pickers without invoking the factory. */
|
|
3775
|
-
interface TemplateMeta {
|
|
3776
|
-
id: TemplateId;
|
|
3777
|
-
label: string;
|
|
3778
|
-
description: string;
|
|
3779
|
-
fieldCount: number;
|
|
3780
|
-
}
|
|
3781
|
-
declare const TEMPLATE_META: readonly TemplateMeta[];
|
|
3782
|
-
|
|
3783
3719
|
/**
|
|
3784
3720
|
* Build a `CustomSubmitConfig` that routes form submissions to the
|
|
3785
3721
|
* Saastro ingestion endpoint (`submit.saastro.io/v1` by default).
|
|
@@ -3934,4 +3870,4 @@ declare function getFieldClass(formLayout?: {
|
|
|
3934
3870
|
*/
|
|
3935
3871
|
declare function getHiddenClasses(hidden?: Partial<Record<Breakpoint, 'visible' | 'hidden'>>): string;
|
|
3936
3872
|
|
|
3937
|
-
export { type AccordionContentProps, type AccordionItemProps, type AccordionProps, type AccordionTriggerProps, BUILD_METHODS, BUILTIN_RESOLVERS, type BaseFieldProps, type Breakpoint$1 as Breakpoint, type BuiltinTransform, type ButtonCardFieldProps, type ButtonCardOption, type ButtonCheckboxFieldProps, type ButtonConfig, type ButtonProps, type ButtonRadioFieldProps, COMMON_CLASSES, COMMON_METHODS, COMMON_STRINGS, type CalendarProps, type CheckboxFieldProps, type CheckboxGroupFieldProps, type CheckboxProps, type ColumnsValue, type ComboboxFieldProps, type CommandEmptyProps, type CommandFieldProps, type CommandGroupProps, type CommandInputProps, type CommandItemProps, type CommandListProps, type CommandProps, type ComponentName, type ComponentOverrides, ComponentProvider, type ComponentProviderProps, type ComponentRegistry, type ComponentRegistryInput, ComponentResolver, type ComponentResolverConfig, type Condition, type ConditionGroup, type ConditionOperator, type CreateHubFormSubmitOptions, type CurrencyFieldProps, type CustomSubmitAction, type CustomSubmitConfig, DEFAULT_HUB_URL, type DatabowlConfig, type DateFieldProps, type DateRangeFieldProps, type DefaultSubmitConfig, type DefinePlugin, type DialogContentProps, type DialogDescriptionProps, type DialogHeaderProps, type DialogProps, type DialogTitleProps, type DialogTriggerProps, type EmailProvider, type EmailSubmitAction, type EndpointConfig, FIELD_DEFAULTS, FieldBuilder, type FieldConfig, type FieldDescriptionProps, type FieldErrorProps, type FieldLabelProps, type FieldLayoutConfig, type FieldMapEntry, type FieldMapping, type FieldMappingConfig, type FieldProps, FieldRenderer, type FieldResolver, type FieldTransformFn, type Fields, type FileFieldProps, Form, FormBuilder, type FormButtonProps, type FormButtons, FormComponentsProvider, type FormComponentsProviderProps, type FormConfig, type FormControlProps, type FormFieldProps, type FormLayout, type FormPlugin, type FormProps, type FormRef, type FormStepsInfo, type GapValue, type GlobModules, type HiddenFieldProps, type HtmlFieldProps, type HttpAuthConfig, type HttpBodyConfig, type HttpEndpointConfig, type HttpRetryConfig, type HttpSubmitAction, HubForm, type HubFormProps, type InputGroupFieldProps, type InputOTPGroupProps, type InputOTPProps, type InputOTPSlotProps, type InputProps, type InputSize, type IntegrationSubmitAction, InternalComponentProvider, type InternalComponentProviderProps, type LabelProps, MissingComponentFallback, type MissingComponentFallbackProps, type NativeSelectFieldProps, type NativeSelectProps, OPTION_BASED_TYPES, type Option, type OtpFieldProps, type PartialComponentRegistry, PluginManager, type PopoverContentProps, type PopoverProps, type PopoverTriggerProps, type PropertyMapping, type RadioFieldProps, type RadioGroupItemProps, type RadioGroupProps, type RangeFieldProps, type RecaptchaConfig, type RecaptchaPluginConfig, type RepeaterFieldProps, type ResolvedComponents, SUSPENSE_CONFIG, type SchemaType, type SelectContentProps, type SelectFieldProps, type SelectItemProps, type SelectProps, type SelectTriggerProps, type SelectValueProps, type SeparatorProps, type SerializableFieldResolver, type SerializationHint, type SliderFieldProps, type SliderProps, type Step, type StepCondition, type StepInfo, type StepStatus, type Steps, StepsAccordion, StepsNavigation, StepsProgress, type SubmitAction, type SubmitActionCondition, type SubmitActionNode, type SubmitActionResult, type SubmitActionType, type SubmitActionsResult, type SubmitConfig, type SubmitConfirmationConfig, type SubmitExecutionConfig, type SubmitTrigger, type SubmitTriggerType, type SubmitType, type SwitchFieldProps, type SwitchGroupFieldProps, type SwitchProps,
|
|
3873
|
+
export { type AccordionContentProps, type AccordionItemProps, type AccordionProps, type AccordionTriggerProps, BUILD_METHODS, BUILTIN_RESOLVERS, type BaseFieldProps, type Breakpoint$1 as Breakpoint, type BuiltinTransform, type ButtonCardFieldProps, type ButtonCardOption, type ButtonCheckboxFieldProps, type ButtonConfig, type ButtonProps, type ButtonRadioFieldProps, COMMON_CLASSES, COMMON_METHODS, COMMON_STRINGS, type CalendarProps, type CheckboxFieldProps, type CheckboxGroupFieldProps, type CheckboxProps, type ColumnsValue, type ComboboxFieldProps, type CommandEmptyProps, type CommandFieldProps, type CommandGroupProps, type CommandInputProps, type CommandItemProps, type CommandListProps, type CommandProps, type ComponentName, type ComponentOverrides, ComponentProvider, type ComponentProviderProps, type ComponentRegistry, type ComponentRegistryInput, ComponentResolver, type ComponentResolverConfig, type Condition, type ConditionGroup, type ConditionOperator, type CreateHubFormSubmitOptions, type CurrencyFieldProps, type CustomSubmitAction, type CustomSubmitConfig, DEFAULT_HUB_URL, type DatabowlConfig, type DateFieldProps, type DateRangeFieldProps, type DefaultSubmitConfig, type DefinePlugin, type DialogContentProps, type DialogDescriptionProps, type DialogHeaderProps, type DialogProps, type DialogTitleProps, type DialogTriggerProps, type EmailProvider, type EmailSubmitAction, type EndpointConfig, FIELD_DEFAULTS, FieldBuilder, type FieldConfig, type FieldDescriptionProps, type FieldErrorProps, type FieldLabelProps, type FieldLayoutConfig, type FieldMapEntry, type FieldMapping, type FieldMappingConfig, type FieldProps, FieldRenderer, type FieldResolver, type FieldTransformFn, type Fields, type FileFieldProps, Form, FormBuilder, type FormButtonProps, type FormButtons, FormComponentsProvider, type FormComponentsProviderProps, type FormConfig, type FormControlProps, type FormFieldProps, type FormLayout, type FormPlugin, type FormProps, type FormRef, type FormStepsInfo, type GapValue, type GlobModules, type HiddenFieldProps, type HtmlFieldProps, type HttpAuthConfig, type HttpBodyConfig, type HttpEndpointConfig, type HttpRetryConfig, type HttpSubmitAction, HubForm, type HubFormProps, type InputGroupFieldProps, type InputOTPGroupProps, type InputOTPProps, type InputOTPSlotProps, type InputProps, type InputSize, type IntegrationSubmitAction, InternalComponentProvider, type InternalComponentProviderProps, type LabelProps, MissingComponentFallback, type MissingComponentFallbackProps, type NativeSelectFieldProps, type NativeSelectProps, OPTION_BASED_TYPES, type Option, type OtpFieldProps, type PartialComponentRegistry, PluginManager, type PopoverContentProps, type PopoverProps, type PopoverTriggerProps, type PropertyMapping, type RadioFieldProps, type RadioGroupItemProps, type RadioGroupProps, type RangeFieldProps, type RecaptchaConfig, type RecaptchaPluginConfig, type RepeaterFieldProps, type ResolvedComponents, SUSPENSE_CONFIG, type SchemaType, type SelectContentProps, type SelectFieldProps, type SelectItemProps, type SelectProps, type SelectTriggerProps, type SelectValueProps, type SeparatorProps, type SerializableFieldResolver, type SerializationHint, type SliderFieldProps, type SliderProps, type Step, type StepCondition, type StepInfo, type StepStatus, type Steps, StepsAccordion, StepsNavigation, StepsProgress, type SubmitAction, type SubmitActionCondition, type SubmitActionNode, type SubmitActionResult, type SubmitActionType, type SubmitActionsResult, type SubmitConfig, type SubmitConfirmationConfig, type SubmitExecutionConfig, type SubmitTrigger, type SubmitTriggerType, type SubmitType, type SwitchFieldProps, type SwitchGroupFieldProps, type SwitchProps, TYPE_SPECIFIC_PROPERTIES, type TestDataLocale, type TestDataOptions, type TextFieldProps, type TextareaFieldProps, type TextareaProps, type TooltipContentProps, type TooltipProps, type TooltipProviderProps, type TooltipTriggerProps, type UseSubmitConfirmationReturn, VALIDATION_METHODS, type ValidateComponentRegistry, type ValidationContext, type ValidationPresetMeta, type ValidationRules, type WebhookSubmitAction, analyticsPlugin, applyBuiltinTransform, applyFieldMapping, applyFieldMappingSync, applyFieldTransforms, applyTransform, autosavePlugin, compileValidationRules, configureComponents, coreComponents, createComponentRegistry, createHubFormSubmit, createMissingComponentPlaceholder, createShadcnRegistry, databowlAction, databowlPlugin, defaultSubmit, definePlugin, detectLocale, executeCustomAction, executeEmailAction, executeHttpAction, executeSubmitAction, executeSubmitActions, executeSubmitActionsByTrigger, executeWebhookAction, fieldTypeComponents, generateFieldValue, generateTestData, getActionsByTrigger, getAllKnownMethods, getAvailablePresets, getComponentResolver, getFieldClass, getFormGridClass, getHiddenClasses, getInstallCommand, getMinDelayMs, getMissingComponents, getRequiredComponents, globalPluginManager, groupMissingByPackage, iconVariants, iconVariantsConfig, inputVariants, inputVariantsConfig, isAdvancedMapping, isValidationRules, isZodSchema, localStoragePlugin, mergeComponentRegistries, parseGlobModules, pxToRem, recaptchaPlugin, registerPreset, resolvePreset, resolveValue, resolveValueSync, textareaVariants, textareaVariantsConfig, useComponentMode, useComponents, useComputedFields, useFormLayout, useFormState, useFormStepsInfo, useHasComponentProvider, useHiddenFieldResolvers, usePartialComponents, useRecaptcha, useSubmitActionTriggers, useSubmitConfirmation, withComponents };
|
package/dist/index.js
CHANGED
|
@@ -4422,6 +4422,7 @@ var FieldBuilder = class {
|
|
|
4422
4422
|
constructor(name) {
|
|
4423
4423
|
this.name = name;
|
|
4424
4424
|
}
|
|
4425
|
+
name;
|
|
4425
4426
|
config = {};
|
|
4426
4427
|
/**
|
|
4427
4428
|
* Configura el tipo de campo.
|
|
@@ -6799,165 +6800,6 @@ var BUILTIN_RESOLVERS = [
|
|
|
6799
6800
|
{ id: "urlParam", label: "URL Parameter", description: "Value from a URL query parameter" }
|
|
6800
6801
|
];
|
|
6801
6802
|
|
|
6802
|
-
// src/templates/contact.ts
|
|
6803
|
-
function createContactTemplate() {
|
|
6804
|
-
return FormBuilder.create("contact").layout("auto").columns(1).gap(4).addField(
|
|
6805
|
-
"name",
|
|
6806
|
-
(f) => f.type("text").label("Name").placeholder("Your full name").required("Please enter your name").minLength(2, "Name must be at least 2 characters")
|
|
6807
|
-
).addField(
|
|
6808
|
-
"email",
|
|
6809
|
-
(f) => f.type("email").label("Email").placeholder("you@example.com").required("Please enter your email").email("Please enter a valid email address")
|
|
6810
|
-
).addField(
|
|
6811
|
-
"message",
|
|
6812
|
-
(f) => f.type("textarea").label("Message").placeholder("How can we help?").required("Please write a short message").minLength(10, "Message must be at least 10 characters")
|
|
6813
|
-
).addStep("main", ["name", "email", "message"]).initialStep("main").buttons({
|
|
6814
|
-
submit: { type: "submit", label: "Send message" },
|
|
6815
|
-
align: "end"
|
|
6816
|
-
}).build();
|
|
6817
|
-
}
|
|
6818
|
-
|
|
6819
|
-
// src/templates/newsletter.ts
|
|
6820
|
-
function createNewsletterTemplate() {
|
|
6821
|
-
return FormBuilder.create("newsletter").layout("auto").columns(1).gap(4).addField(
|
|
6822
|
-
"email",
|
|
6823
|
-
(f) => f.type("email").label("Email").placeholder("you@example.com").required("Please enter your email").email("Please enter a valid email address")
|
|
6824
|
-
).addField(
|
|
6825
|
-
"consent",
|
|
6826
|
-
(f) => f.type("checkbox").label("I agree to receive newsletter emails").required("You must agree to receive the newsletter")
|
|
6827
|
-
).addStep("main", ["email", "consent"]).initialStep("main").buttons({
|
|
6828
|
-
submit: { type: "submit", label: "Subscribe" },
|
|
6829
|
-
align: "end"
|
|
6830
|
-
}).build();
|
|
6831
|
-
}
|
|
6832
|
-
|
|
6833
|
-
// src/templates/lead-gen.ts
|
|
6834
|
-
function createLeadGenTemplate() {
|
|
6835
|
-
return FormBuilder.create("lead-gen").layout("auto").columns(2).gap(4).addField(
|
|
6836
|
-
"name",
|
|
6837
|
-
(f) => f.type("text").label("Full name").placeholder("Jane Doe").required("Please enter your name").minLength(2, "Name must be at least 2 characters").columns({ default: 1 })
|
|
6838
|
-
).addField(
|
|
6839
|
-
"email",
|
|
6840
|
-
(f) => f.type("email").label("Work email").placeholder("jane@acme.com").required("Please enter your email").email("Please enter a valid email address").columns({ default: 1 })
|
|
6841
|
-
).addField(
|
|
6842
|
-
"phone",
|
|
6843
|
-
(f) => f.type("tel").label("Phone").placeholder("+1 555 0123").optional().columns({ default: 1 })
|
|
6844
|
-
).addField(
|
|
6845
|
-
"company",
|
|
6846
|
-
(f) => f.type("text").label("Company").placeholder("Acme Inc.").optional().columns({ default: 1 })
|
|
6847
|
-
).addField(
|
|
6848
|
-
"message",
|
|
6849
|
-
(f) => f.type("textarea").label("What are you looking to solve?").placeholder("A few words about your project or use case").required("Please describe your need briefly").minLength(10, "Message must be at least 10 characters").columns({ default: 2 })
|
|
6850
|
-
).addStep("main", ["name", "email", "phone", "company", "message"]).initialStep("main").buttons({
|
|
6851
|
-
submit: { type: "submit", label: "Request a call" },
|
|
6852
|
-
align: "end"
|
|
6853
|
-
}).build();
|
|
6854
|
-
}
|
|
6855
|
-
|
|
6856
|
-
// src/templates/event-rsvp.ts
|
|
6857
|
-
function createEventRsvpTemplate() {
|
|
6858
|
-
return FormBuilder.create("event-rsvp").layout("auto").columns(2).gap(4).addField(
|
|
6859
|
-
"name",
|
|
6860
|
-
(f) => f.type("text").label("Full name").placeholder("Jane Doe").required("Please enter your name").minLength(2, "Name must be at least 2 characters").columns({ default: 1 })
|
|
6861
|
-
).addField(
|
|
6862
|
-
"email",
|
|
6863
|
-
(f) => f.type("email").label("Email").placeholder("jane@example.com").required("Please enter your email").email("Please enter a valid email address").columns({ default: 1 })
|
|
6864
|
-
).addField(
|
|
6865
|
-
"attending",
|
|
6866
|
-
(f) => f.type("radio").label("Will you attend?").options([
|
|
6867
|
-
{ label: "Yes, I will be there", value: "yes" },
|
|
6868
|
-
{ label: "No, I cannot make it", value: "no" },
|
|
6869
|
-
{ label: "Not sure yet", value: "maybe" }
|
|
6870
|
-
]).required("Please pick one").columns({ default: 2 })
|
|
6871
|
-
).addField(
|
|
6872
|
-
"guests",
|
|
6873
|
-
(f) => f.type("number").label("Number of guests (including yourself)").min(1).max(10).optional().columns({ default: 1 })
|
|
6874
|
-
).addField(
|
|
6875
|
-
"dietary",
|
|
6876
|
-
(f) => f.type("textarea").label("Dietary notes").placeholder("Allergies, preferences, etc.").optional().columns({ default: 2 })
|
|
6877
|
-
).addStep("main", ["name", "email", "attending", "guests", "dietary"]).initialStep("main").buttons({
|
|
6878
|
-
submit: { type: "submit", label: "Send RSVP" },
|
|
6879
|
-
align: "end"
|
|
6880
|
-
}).build();
|
|
6881
|
-
}
|
|
6882
|
-
|
|
6883
|
-
// src/templates/quote-request.ts
|
|
6884
|
-
function createQuoteRequestTemplate() {
|
|
6885
|
-
return FormBuilder.create("quote-request").layout("auto").columns(2).gap(4).addField(
|
|
6886
|
-
"name",
|
|
6887
|
-
(f) => f.type("text").label("Full name").placeholder("Jane Doe").required("Please enter your name").minLength(2, "Name must be at least 2 characters").columns({ default: 1 })
|
|
6888
|
-
).addField(
|
|
6889
|
-
"email",
|
|
6890
|
-
(f) => f.type("email").label("Work email").placeholder("jane@acme.com").required("Please enter your email").email("Please enter a valid email address").columns({ default: 1 })
|
|
6891
|
-
).addField(
|
|
6892
|
-
"company",
|
|
6893
|
-
(f) => f.type("text").label("Company").placeholder("Acme Inc.").required("Please enter your company name").columns({ default: 1 })
|
|
6894
|
-
).addField(
|
|
6895
|
-
"service",
|
|
6896
|
-
(f) => f.type("select").label("Service type").placeholder("Pick the closest match").options([
|
|
6897
|
-
{ label: "Design", value: "design" },
|
|
6898
|
-
{ label: "Development", value: "development" },
|
|
6899
|
-
{ label: "Consulting", value: "consulting" },
|
|
6900
|
-
{ label: "Other", value: "other" }
|
|
6901
|
-
]).required("Please pick a service").columns({ default: 1 })
|
|
6902
|
-
).addField(
|
|
6903
|
-
"budget",
|
|
6904
|
-
(f) => f.type("select").label("Estimated budget").placeholder("Pick a range").options([
|
|
6905
|
-
{ label: "Under $5k", value: "under-5k" },
|
|
6906
|
-
{ label: "$5k \u2013 $25k", value: "5k-25k" },
|
|
6907
|
-
{ label: "$25k \u2013 $100k", value: "25k-100k" },
|
|
6908
|
-
{ label: "$100k+", value: "100k+" },
|
|
6909
|
-
{ label: "Not sure yet", value: "unknown" }
|
|
6910
|
-
]).required("Please pick a budget range").columns({ default: 2 })
|
|
6911
|
-
).addField(
|
|
6912
|
-
"details",
|
|
6913
|
-
(f) => f.type("textarea").label("Project details").placeholder("Goals, timeline, anything we should know").required("Please share a few sentences about the project").minLength(20, "Project details must be at least 20 characters").columns({ default: 2 })
|
|
6914
|
-
).addStep("main", ["name", "email", "company", "service", "budget", "details"]).initialStep("main").buttons({
|
|
6915
|
-
submit: { type: "submit", label: "Request a quote" },
|
|
6916
|
-
align: "end"
|
|
6917
|
-
}).build();
|
|
6918
|
-
}
|
|
6919
|
-
|
|
6920
|
-
// src/templates/index.ts
|
|
6921
|
-
var TEMPLATES = {
|
|
6922
|
-
contact: createContactTemplate,
|
|
6923
|
-
newsletter: createNewsletterTemplate,
|
|
6924
|
-
"lead-gen": createLeadGenTemplate,
|
|
6925
|
-
"event-rsvp": createEventRsvpTemplate,
|
|
6926
|
-
"quote-request": createQuoteRequestTemplate
|
|
6927
|
-
};
|
|
6928
|
-
var TEMPLATE_META = [
|
|
6929
|
-
{
|
|
6930
|
-
id: "contact",
|
|
6931
|
-
label: "Contact",
|
|
6932
|
-
description: "Name, email, and a message. The classic three-field form.",
|
|
6933
|
-
fieldCount: 3
|
|
6934
|
-
},
|
|
6935
|
-
{
|
|
6936
|
-
id: "newsletter",
|
|
6937
|
-
label: "Newsletter",
|
|
6938
|
-
description: "Email plus a GDPR-friendly consent checkbox.",
|
|
6939
|
-
fieldCount: 2
|
|
6940
|
-
},
|
|
6941
|
-
{
|
|
6942
|
-
id: "lead-gen",
|
|
6943
|
-
label: "Lead generation",
|
|
6944
|
-
description: "Name, work email, phone, company, and a brief message.",
|
|
6945
|
-
fieldCount: 5
|
|
6946
|
-
},
|
|
6947
|
-
{
|
|
6948
|
-
id: "event-rsvp",
|
|
6949
|
-
label: "Event RSVP",
|
|
6950
|
-
description: "Name, email, attendance answer, guest count, and dietary notes.",
|
|
6951
|
-
fieldCount: 5
|
|
6952
|
-
},
|
|
6953
|
-
{
|
|
6954
|
-
id: "quote-request",
|
|
6955
|
-
label: "Quote request",
|
|
6956
|
-
description: "Contact info plus service type, budget range, and a details field.",
|
|
6957
|
-
fieldCount: 6
|
|
6958
|
-
}
|
|
6959
|
-
];
|
|
6960
|
-
|
|
6961
6803
|
// src/lib/createHubFormSubmit.ts
|
|
6962
6804
|
var DEFAULT_HUB_URL = "https://submit.saastro.io/v1";
|
|
6963
6805
|
function publicBase({ hubUrl, siteId, formSlug }) {
|
|
@@ -7428,8 +7270,6 @@ export {
|
|
|
7428
7270
|
StepsAccordion,
|
|
7429
7271
|
StepsNavigation,
|
|
7430
7272
|
StepsProgress,
|
|
7431
|
-
TEMPLATES,
|
|
7432
|
-
TEMPLATE_META,
|
|
7433
7273
|
TYPE_SPECIFIC_PROPERTIES,
|
|
7434
7274
|
VALIDATION_METHODS,
|
|
7435
7275
|
analyticsPlugin,
|
|
@@ -7443,13 +7283,8 @@ export {
|
|
|
7443
7283
|
configureComponents,
|
|
7444
7284
|
coreComponents,
|
|
7445
7285
|
createComponentRegistry,
|
|
7446
|
-
createContactTemplate,
|
|
7447
|
-
createEventRsvpTemplate,
|
|
7448
7286
|
createHubFormSubmit,
|
|
7449
|
-
createLeadGenTemplate,
|
|
7450
7287
|
createMissingComponentPlaceholder,
|
|
7451
|
-
createNewsletterTemplate,
|
|
7452
|
-
createQuoteRequestTemplate,
|
|
7453
7288
|
createShadcnRegistry,
|
|
7454
7289
|
databowlAction,
|
|
7455
7290
|
databowlPlugin,
|