import { a as r } from "./chunk-MKIXZXWS.js";
import { c as n, a } from "./chunk-6PGAWO4H.js";
import { a as s } from "./chunk-4GIZ6WSG.js";
import { a as d } from "./chunk-7UBMXMNJ.js";
import { b as l } from "./chunk-VK26ZZFR.js";
import { b as p } from "./chunk-MVCVVKBY.js";
import { d as o, b as c } from "./chunk-DHSWVVMI.js";
import { c as u } from "./chunk-Z4YKRLOX.js";
import { c as m } from "./chunk-HSRXUIVM.js";
import { a as e } from "./chunk-SFKZAUPW.js";
import { Type as t } from "@sinclair/typebox";
import { FaWpforms as f } from "../../../../node_modules/.pnpm/react-icons@5.5.0_react@18.3.0-canary-3d9b20132-20240124/node_modules/react-icons/fa6/index.js";
/*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
var P = s({ type: "form", name: "Form", description: "A form element.", aiInstructions: `The form brick automatically renders form fields based on the datarecord id provided in the props.
There is no need to define the form fields manually and the form does not accept any children`, isContainer: !1, icon: f, minWidth: { desktop: 300 }, props: n({ datarecordId: r("Datarecord ID", { description: "The ID of the datarecord to use to generate the form fields. The datarecord must exist.", "ui:responsive": "desktop" }), colorPreset: t.Optional(u({ title: "Color", default: "base-200" })), direction: t.Optional(p({ title: "Direction", description: "The direction of the form fields", default: "flex-col", "ui:responsive": "desktop", "ui:desktop-only": !0 })), padding: t.Optional(m({ default: "2rem", description: "Padding inside the form.", title: "Padding", "ui:responsive": !0, "ui:placeholder": "Not specified", "ui:styleId": "styles:padding" })), rounding: t.Optional(o({ default: "rounded-md" })), border: t.Optional(c({})), fontSize: t.Optional(l({ default: "inherit", "ui:no-extra-large-sizes": !0 })), button: a({ title: "Button", children: { color: t.Optional(e(["btn-neutral", "btn-primary", "btn-secondary", "btn-accent"], { enumNames: ["Neutral", "Primary", "Secondary", "Accent"], title: "Color", default: "btn-primary" })), size: t.Optional(e(["block", "wide"], { title: "Size", description: "Button sizes.", enumNames: ["Block", "Wide"], default: "block", "ui:responsive": "desktop" })), position: t.Optional(e(["justify-start", "justify-center", "justify-end"], { title: "Button Position", description: "The position of the button in the form", enumNames: ["Left", "Center", "Right"], default: "justify-end", "ui:responsive": "desktop", metadata: { filter: (b, i) => i.button?.size !== "wide" } })), rounding: t.Optional(o({ default: "rounded-md" })) } }), title: t.Optional(t.String({ title: "Form title", default: "My form", metadata: { category: "content" } })), intro: t.Optional(t.String({ title: "Intro", description: "The intro text of the form", "ui:multiline": !0, metadata: { category: "content" } })), buttonLabel: t.Optional(d("Button Label", { default: "Submit", metadata: { category: "content" } })), successMessage: t.Optional(t.String({ title: "Success Message", description: "The message to display when the form is successfully submitted", default: "Thank you for your submission!", metadata: { category: "content" } })), errorMessage: t.Optional(t.String({ title: "Error Message", description: "The message to display when the form submission fails", default: "There was an error submitting the form. Please try again later.", metadata: { category: "content" } })) }) }), C = [{ description: "Basic contact form", type: "form", props: { title: "Contact Us", intro: "We'd love to hear from you. Send us a message and we'll respond as soon as possible.", direction: "flex-row", datarecordId: "contacts", buttonLabel: "Send Message", button: { size: "block" } } }, { description: "User registration form with large button", type: "form", props: { title: "Create Account", intro: "Join our platform and start your journey today.", direction: "flex-row", datarecordId: "user-registration", buttonLabel: "Register", button: { size: "wide" } } }, { description: "Newsletter subscription form (horizontal) with large padding", type: "form", props: { title: "Stay Updated", intro: "Subscribe to our newsletter for the latest updates and exclusive content.", direction: "flex-col", datarecordId: "newsletter-subscription", padding: "3rem", buttonLabel: "Subscribe", button: { size: "block" } } }, { description: "Event registration form", type: "form", props: { title: "Conference Registration", intro: "Register for the Annual Tech Conference 2025. Early bird pricing ends soon!", direction: "flex-col", datarecordId: "event-registration", buttonLabel: "Register Now", button: { size: "block" } } }, { description: "Job application form", type: "form", props: { title: "Apply for Position", intro: "We're excited to learn more about you! Please fill out this application form completely.", direction: "flex-col", datarecordId: "job-application", buttonLabel: "Submit Application", button: { size: "block" } } }];
export {
  P as a,
  C as b
};
//# sourceMappingURL=chunk-QGFQA7OZ.js.map
