studiocms
Version:
Astro Native CMS for AstroDB. Built from the ground up by the Astro community.
1,567 lines • 127 kB
TypeScript
import type { AvailableIcons } from 'studiocms:ui/icons';
import type { AstroIntegration } from 'astro';
import { z } from 'astro/zod';
import type { SanitizeOptions } from 'ultrahtml/transformers/sanitize';
export declare const astroIntegrationSchema: z.Schema<AstroIntegration>;
/**
* Schema for a StudioCMS colorway.
*/
export declare const StudioCMSColorway: z.ZodEnum<["primary", "success", "warning", "danger", "info", "mono"]>;
/**
* A union schema that represents different types of field schemas.
* This schema can be one of the following:
* - CheckboxFieldSchema
* - TextInputFieldSchema
* - TextAreaFieldSchema
* - RadioGroupFieldSchema
* - SelectFieldSchema
*/
export declare const FieldSchema: z.ZodUnion<[z.ZodObject<{
/**
* The name of the field used in the form submission data
*/
name: z.ZodString;
/**
* The label of the field displayed in the form
*/
label: z.ZodString;
/**
* Is the field required
*/
required: z.ZodOptional<z.ZodBoolean>;
/**
* Is the field read only (disabled)
*/
readOnly: z.ZodOptional<z.ZodBoolean>;
} & {
color: z.ZodOptional<z.ZodEnum<["primary", "success", "warning", "danger", "info", "mono"]>>;
} & {
input: z.ZodLiteral<"checkbox">;
defaultChecked: z.ZodOptional<z.ZodBoolean>;
size: z.ZodOptional<z.ZodEnum<["sm", "md", "lg"]>>;
}, "strip", z.ZodTypeAny, {
name: string;
label: string;
input: "checkbox";
required?: boolean | undefined;
readOnly?: boolean | undefined;
color?: "primary" | "success" | "warning" | "danger" | "info" | "mono" | undefined;
defaultChecked?: boolean | undefined;
size?: "sm" | "md" | "lg" | undefined;
}, {
name: string;
label: string;
input: "checkbox";
required?: boolean | undefined;
readOnly?: boolean | undefined;
color?: "primary" | "success" | "warning" | "danger" | "info" | "mono" | undefined;
defaultChecked?: boolean | undefined;
size?: "sm" | "md" | "lg" | undefined;
}>, z.ZodObject<{
/**
* The name of the field used in the form submission data
*/
name: z.ZodString;
/**
* The label of the field displayed in the form
*/
label: z.ZodString;
/**
* Is the field required
*/
required: z.ZodOptional<z.ZodBoolean>;
/**
* Is the field read only (disabled)
*/
readOnly: z.ZodOptional<z.ZodBoolean>;
} & {
placeholder: z.ZodOptional<z.ZodString>;
} & {
input: z.ZodLiteral<"input">;
type: z.ZodOptional<z.ZodEnum<["text", "password", "email", "number", "tel", "url", "search"]>>;
defaultValue: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
name: string;
label: string;
input: "input";
type?: "number" | "text" | "password" | "email" | "tel" | "url" | "search" | undefined;
required?: boolean | undefined;
readOnly?: boolean | undefined;
placeholder?: string | undefined;
defaultValue?: string | undefined;
}, {
name: string;
label: string;
input: "input";
type?: "number" | "text" | "password" | "email" | "tel" | "url" | "search" | undefined;
required?: boolean | undefined;
readOnly?: boolean | undefined;
placeholder?: string | undefined;
defaultValue?: string | undefined;
}>, z.ZodObject<{
/**
* The name of the field used in the form submission data
*/
name: z.ZodString;
/**
* The label of the field displayed in the form
*/
label: z.ZodString;
/**
* Is the field required
*/
required: z.ZodOptional<z.ZodBoolean>;
/**
* Is the field read only (disabled)
*/
readOnly: z.ZodOptional<z.ZodBoolean>;
} & {
placeholder: z.ZodOptional<z.ZodString>;
} & {
input: z.ZodLiteral<"textarea">;
defaultValue: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
name: string;
label: string;
input: "textarea";
required?: boolean | undefined;
readOnly?: boolean | undefined;
placeholder?: string | undefined;
defaultValue?: string | undefined;
}, {
name: string;
label: string;
input: "textarea";
required?: boolean | undefined;
readOnly?: boolean | undefined;
placeholder?: string | undefined;
defaultValue?: string | undefined;
}>, z.ZodObject<{
/**
* The name of the field used in the form submission data
*/
name: z.ZodString;
/**
* The label of the field displayed in the form
*/
label: z.ZodString;
/**
* Is the field required
*/
required: z.ZodOptional<z.ZodBoolean>;
/**
* Is the field read only (disabled)
*/
readOnly: z.ZodOptional<z.ZodBoolean>;
} & {
color: z.ZodOptional<z.ZodEnum<["primary", "success", "warning", "danger", "info", "mono"]>>;
} & {
input: z.ZodLiteral<"radio">;
direction: z.ZodOptional<z.ZodEnum<["horizontal", "vertical"]>>;
defaultValue: z.ZodOptional<z.ZodString>;
options: z.ZodArray<z.ZodObject<{
label: z.ZodString;
value: z.ZodString;
disabled: z.ZodOptional<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
value: string;
label: string;
disabled?: boolean | undefined;
}, {
value: string;
label: string;
disabled?: boolean | undefined;
}>, "many">;
}, "strip", z.ZodTypeAny, {
options: {
value: string;
label: string;
disabled?: boolean | undefined;
}[];
name: string;
label: string;
input: "radio";
required?: boolean | undefined;
readOnly?: boolean | undefined;
color?: "primary" | "success" | "warning" | "danger" | "info" | "mono" | undefined;
defaultValue?: string | undefined;
direction?: "horizontal" | "vertical" | undefined;
}, {
options: {
value: string;
label: string;
disabled?: boolean | undefined;
}[];
name: string;
label: string;
input: "radio";
required?: boolean | undefined;
readOnly?: boolean | undefined;
color?: "primary" | "success" | "warning" | "danger" | "info" | "mono" | undefined;
defaultValue?: string | undefined;
direction?: "horizontal" | "vertical" | undefined;
}>, z.ZodObject<{
/**
* The name of the field used in the form submission data
*/
name: z.ZodString;
/**
* The label of the field displayed in the form
*/
label: z.ZodString;
/**
* Is the field required
*/
required: z.ZodOptional<z.ZodBoolean>;
/**
* Is the field read only (disabled)
*/
readOnly: z.ZodOptional<z.ZodBoolean>;
} & {
placeholder: z.ZodOptional<z.ZodString>;
} & {
input: z.ZodLiteral<"select">;
type: z.ZodOptional<z.ZodEnum<["basic", "search"]>>;
defaultValue: z.ZodOptional<z.ZodString>;
options: z.ZodArray<z.ZodObject<{
label: z.ZodString;
value: z.ZodString;
disabled: z.ZodOptional<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
value: string;
label: string;
disabled?: boolean | undefined;
}, {
value: string;
label: string;
disabled?: boolean | undefined;
}>, "many">;
}, "strip", z.ZodTypeAny, {
options: {
value: string;
label: string;
disabled?: boolean | undefined;
}[];
name: string;
label: string;
input: "select";
type?: "search" | "basic" | undefined;
required?: boolean | undefined;
readOnly?: boolean | undefined;
placeholder?: string | undefined;
defaultValue?: string | undefined;
}, {
options: {
value: string;
label: string;
disabled?: boolean | undefined;
}[];
name: string;
label: string;
input: "select";
type?: "search" | "basic" | undefined;
required?: boolean | undefined;
readOnly?: boolean | undefined;
placeholder?: string | undefined;
defaultValue?: string | undefined;
}>]>;
/**
* A schema that represents the settings field.
* It is a union of `FieldSchema` and `RowFieldSchema`.
*/
export declare const SettingsFieldSchema: z.ZodUnion<[z.ZodUnion<[z.ZodObject<{
/**
* The name of the field used in the form submission data
*/
name: z.ZodString;
/**
* The label of the field displayed in the form
*/
label: z.ZodString;
/**
* Is the field required
*/
required: z.ZodOptional<z.ZodBoolean>;
/**
* Is the field read only (disabled)
*/
readOnly: z.ZodOptional<z.ZodBoolean>;
} & {
color: z.ZodOptional<z.ZodEnum<["primary", "success", "warning", "danger", "info", "mono"]>>;
} & {
input: z.ZodLiteral<"checkbox">;
defaultChecked: z.ZodOptional<z.ZodBoolean>;
size: z.ZodOptional<z.ZodEnum<["sm", "md", "lg"]>>;
}, "strip", z.ZodTypeAny, {
name: string;
label: string;
input: "checkbox";
required?: boolean | undefined;
readOnly?: boolean | undefined;
color?: "primary" | "success" | "warning" | "danger" | "info" | "mono" | undefined;
defaultChecked?: boolean | undefined;
size?: "sm" | "md" | "lg" | undefined;
}, {
name: string;
label: string;
input: "checkbox";
required?: boolean | undefined;
readOnly?: boolean | undefined;
color?: "primary" | "success" | "warning" | "danger" | "info" | "mono" | undefined;
defaultChecked?: boolean | undefined;
size?: "sm" | "md" | "lg" | undefined;
}>, z.ZodObject<{
/**
* The name of the field used in the form submission data
*/
name: z.ZodString;
/**
* The label of the field displayed in the form
*/
label: z.ZodString;
/**
* Is the field required
*/
required: z.ZodOptional<z.ZodBoolean>;
/**
* Is the field read only (disabled)
*/
readOnly: z.ZodOptional<z.ZodBoolean>;
} & {
placeholder: z.ZodOptional<z.ZodString>;
} & {
input: z.ZodLiteral<"input">;
type: z.ZodOptional<z.ZodEnum<["text", "password", "email", "number", "tel", "url", "search"]>>;
defaultValue: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
name: string;
label: string;
input: "input";
type?: "number" | "text" | "password" | "email" | "tel" | "url" | "search" | undefined;
required?: boolean | undefined;
readOnly?: boolean | undefined;
placeholder?: string | undefined;
defaultValue?: string | undefined;
}, {
name: string;
label: string;
input: "input";
type?: "number" | "text" | "password" | "email" | "tel" | "url" | "search" | undefined;
required?: boolean | undefined;
readOnly?: boolean | undefined;
placeholder?: string | undefined;
defaultValue?: string | undefined;
}>, z.ZodObject<{
/**
* The name of the field used in the form submission data
*/
name: z.ZodString;
/**
* The label of the field displayed in the form
*/
label: z.ZodString;
/**
* Is the field required
*/
required: z.ZodOptional<z.ZodBoolean>;
/**
* Is the field read only (disabled)
*/
readOnly: z.ZodOptional<z.ZodBoolean>;
} & {
placeholder: z.ZodOptional<z.ZodString>;
} & {
input: z.ZodLiteral<"textarea">;
defaultValue: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
name: string;
label: string;
input: "textarea";
required?: boolean | undefined;
readOnly?: boolean | undefined;
placeholder?: string | undefined;
defaultValue?: string | undefined;
}, {
name: string;
label: string;
input: "textarea";
required?: boolean | undefined;
readOnly?: boolean | undefined;
placeholder?: string | undefined;
defaultValue?: string | undefined;
}>, z.ZodObject<{
/**
* The name of the field used in the form submission data
*/
name: z.ZodString;
/**
* The label of the field displayed in the form
*/
label: z.ZodString;
/**
* Is the field required
*/
required: z.ZodOptional<z.ZodBoolean>;
/**
* Is the field read only (disabled)
*/
readOnly: z.ZodOptional<z.ZodBoolean>;
} & {
color: z.ZodOptional<z.ZodEnum<["primary", "success", "warning", "danger", "info", "mono"]>>;
} & {
input: z.ZodLiteral<"radio">;
direction: z.ZodOptional<z.ZodEnum<["horizontal", "vertical"]>>;
defaultValue: z.ZodOptional<z.ZodString>;
options: z.ZodArray<z.ZodObject<{
label: z.ZodString;
value: z.ZodString;
disabled: z.ZodOptional<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
value: string;
label: string;
disabled?: boolean | undefined;
}, {
value: string;
label: string;
disabled?: boolean | undefined;
}>, "many">;
}, "strip", z.ZodTypeAny, {
options: {
value: string;
label: string;
disabled?: boolean | undefined;
}[];
name: string;
label: string;
input: "radio";
required?: boolean | undefined;
readOnly?: boolean | undefined;
color?: "primary" | "success" | "warning" | "danger" | "info" | "mono" | undefined;
defaultValue?: string | undefined;
direction?: "horizontal" | "vertical" | undefined;
}, {
options: {
value: string;
label: string;
disabled?: boolean | undefined;
}[];
name: string;
label: string;
input: "radio";
required?: boolean | undefined;
readOnly?: boolean | undefined;
color?: "primary" | "success" | "warning" | "danger" | "info" | "mono" | undefined;
defaultValue?: string | undefined;
direction?: "horizontal" | "vertical" | undefined;
}>, z.ZodObject<{
/**
* The name of the field used in the form submission data
*/
name: z.ZodString;
/**
* The label of the field displayed in the form
*/
label: z.ZodString;
/**
* Is the field required
*/
required: z.ZodOptional<z.ZodBoolean>;
/**
* Is the field read only (disabled)
*/
readOnly: z.ZodOptional<z.ZodBoolean>;
} & {
placeholder: z.ZodOptional<z.ZodString>;
} & {
input: z.ZodLiteral<"select">;
type: z.ZodOptional<z.ZodEnum<["basic", "search"]>>;
defaultValue: z.ZodOptional<z.ZodString>;
options: z.ZodArray<z.ZodObject<{
label: z.ZodString;
value: z.ZodString;
disabled: z.ZodOptional<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
value: string;
label: string;
disabled?: boolean | undefined;
}, {
value: string;
label: string;
disabled?: boolean | undefined;
}>, "many">;
}, "strip", z.ZodTypeAny, {
options: {
value: string;
label: string;
disabled?: boolean | undefined;
}[];
name: string;
label: string;
input: "select";
type?: "search" | "basic" | undefined;
required?: boolean | undefined;
readOnly?: boolean | undefined;
placeholder?: string | undefined;
defaultValue?: string | undefined;
}, {
options: {
value: string;
label: string;
disabled?: boolean | undefined;
}[];
name: string;
label: string;
input: "select";
type?: "search" | "basic" | undefined;
required?: boolean | undefined;
readOnly?: boolean | undefined;
placeholder?: string | undefined;
defaultValue?: string | undefined;
}>]>, z.ZodObject<{
/**
* The name of the field used in the form submission data
*/
name: z.ZodString;
/**
* The label of the field displayed in the form
*/
label: z.ZodString;
/**
* Is the field required
*/
required: z.ZodOptional<z.ZodBoolean>;
/**
* Is the field read only (disabled)
*/
readOnly: z.ZodOptional<z.ZodBoolean>;
} & {
input: z.ZodLiteral<"row">;
alignCenter: z.ZodOptional<z.ZodBoolean>;
gapSize: z.ZodOptional<z.ZodEnum<["sm", "md", "lg"]>>;
fields: z.ZodLazy<z.ZodArray<z.ZodUnion<[z.ZodObject<{
/**
* The name of the field used in the form submission data
*/
name: z.ZodString;
/**
* The label of the field displayed in the form
*/
label: z.ZodString;
/**
* Is the field required
*/
required: z.ZodOptional<z.ZodBoolean>;
/**
* Is the field read only (disabled)
*/
readOnly: z.ZodOptional<z.ZodBoolean>;
} & {
color: z.ZodOptional<z.ZodEnum<["primary", "success", "warning", "danger", "info", "mono"]>>;
} & {
input: z.ZodLiteral<"checkbox">;
defaultChecked: z.ZodOptional<z.ZodBoolean>;
size: z.ZodOptional<z.ZodEnum<["sm", "md", "lg"]>>;
}, "strip", z.ZodTypeAny, {
name: string;
label: string;
input: "checkbox";
required?: boolean | undefined;
readOnly?: boolean | undefined;
color?: "primary" | "success" | "warning" | "danger" | "info" | "mono" | undefined;
defaultChecked?: boolean | undefined;
size?: "sm" | "md" | "lg" | undefined;
}, {
name: string;
label: string;
input: "checkbox";
required?: boolean | undefined;
readOnly?: boolean | undefined;
color?: "primary" | "success" | "warning" | "danger" | "info" | "mono" | undefined;
defaultChecked?: boolean | undefined;
size?: "sm" | "md" | "lg" | undefined;
}>, z.ZodObject<{
/**
* The name of the field used in the form submission data
*/
name: z.ZodString;
/**
* The label of the field displayed in the form
*/
label: z.ZodString;
/**
* Is the field required
*/
required: z.ZodOptional<z.ZodBoolean>;
/**
* Is the field read only (disabled)
*/
readOnly: z.ZodOptional<z.ZodBoolean>;
} & {
placeholder: z.ZodOptional<z.ZodString>;
} & {
input: z.ZodLiteral<"input">;
type: z.ZodOptional<z.ZodEnum<["text", "password", "email", "number", "tel", "url", "search"]>>;
defaultValue: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
name: string;
label: string;
input: "input";
type?: "number" | "text" | "password" | "email" | "tel" | "url" | "search" | undefined;
required?: boolean | undefined;
readOnly?: boolean | undefined;
placeholder?: string | undefined;
defaultValue?: string | undefined;
}, {
name: string;
label: string;
input: "input";
type?: "number" | "text" | "password" | "email" | "tel" | "url" | "search" | undefined;
required?: boolean | undefined;
readOnly?: boolean | undefined;
placeholder?: string | undefined;
defaultValue?: string | undefined;
}>, z.ZodObject<{
/**
* The name of the field used in the form submission data
*/
name: z.ZodString;
/**
* The label of the field displayed in the form
*/
label: z.ZodString;
/**
* Is the field required
*/
required: z.ZodOptional<z.ZodBoolean>;
/**
* Is the field read only (disabled)
*/
readOnly: z.ZodOptional<z.ZodBoolean>;
} & {
placeholder: z.ZodOptional<z.ZodString>;
} & {
input: z.ZodLiteral<"textarea">;
defaultValue: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
name: string;
label: string;
input: "textarea";
required?: boolean | undefined;
readOnly?: boolean | undefined;
placeholder?: string | undefined;
defaultValue?: string | undefined;
}, {
name: string;
label: string;
input: "textarea";
required?: boolean | undefined;
readOnly?: boolean | undefined;
placeholder?: string | undefined;
defaultValue?: string | undefined;
}>, z.ZodObject<{
/**
* The name of the field used in the form submission data
*/
name: z.ZodString;
/**
* The label of the field displayed in the form
*/
label: z.ZodString;
/**
* Is the field required
*/
required: z.ZodOptional<z.ZodBoolean>;
/**
* Is the field read only (disabled)
*/
readOnly: z.ZodOptional<z.ZodBoolean>;
} & {
color: z.ZodOptional<z.ZodEnum<["primary", "success", "warning", "danger", "info", "mono"]>>;
} & {
input: z.ZodLiteral<"radio">;
direction: z.ZodOptional<z.ZodEnum<["horizontal", "vertical"]>>;
defaultValue: z.ZodOptional<z.ZodString>;
options: z.ZodArray<z.ZodObject<{
label: z.ZodString;
value: z.ZodString;
disabled: z.ZodOptional<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
value: string;
label: string;
disabled?: boolean | undefined;
}, {
value: string;
label: string;
disabled?: boolean | undefined;
}>, "many">;
}, "strip", z.ZodTypeAny, {
options: {
value: string;
label: string;
disabled?: boolean | undefined;
}[];
name: string;
label: string;
input: "radio";
required?: boolean | undefined;
readOnly?: boolean | undefined;
color?: "primary" | "success" | "warning" | "danger" | "info" | "mono" | undefined;
defaultValue?: string | undefined;
direction?: "horizontal" | "vertical" | undefined;
}, {
options: {
value: string;
label: string;
disabled?: boolean | undefined;
}[];
name: string;
label: string;
input: "radio";
required?: boolean | undefined;
readOnly?: boolean | undefined;
color?: "primary" | "success" | "warning" | "danger" | "info" | "mono" | undefined;
defaultValue?: string | undefined;
direction?: "horizontal" | "vertical" | undefined;
}>, z.ZodObject<{
/**
* The name of the field used in the form submission data
*/
name: z.ZodString;
/**
* The label of the field displayed in the form
*/
label: z.ZodString;
/**
* Is the field required
*/
required: z.ZodOptional<z.ZodBoolean>;
/**
* Is the field read only (disabled)
*/
readOnly: z.ZodOptional<z.ZodBoolean>;
} & {
placeholder: z.ZodOptional<z.ZodString>;
} & {
input: z.ZodLiteral<"select">;
type: z.ZodOptional<z.ZodEnum<["basic", "search"]>>;
defaultValue: z.ZodOptional<z.ZodString>;
options: z.ZodArray<z.ZodObject<{
label: z.ZodString;
value: z.ZodString;
disabled: z.ZodOptional<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
value: string;
label: string;
disabled?: boolean | undefined;
}, {
value: string;
label: string;
disabled?: boolean | undefined;
}>, "many">;
}, "strip", z.ZodTypeAny, {
options: {
value: string;
label: string;
disabled?: boolean | undefined;
}[];
name: string;
label: string;
input: "select";
type?: "search" | "basic" | undefined;
required?: boolean | undefined;
readOnly?: boolean | undefined;
placeholder?: string | undefined;
defaultValue?: string | undefined;
}, {
options: {
value: string;
label: string;
disabled?: boolean | undefined;
}[];
name: string;
label: string;
input: "select";
type?: "search" | "basic" | undefined;
required?: boolean | undefined;
readOnly?: boolean | undefined;
placeholder?: string | undefined;
defaultValue?: string | undefined;
}>]>, "many">>;
}, "strip", z.ZodTypeAny, {
name: string;
label: string;
input: "row";
fields: ({
name: string;
label: string;
input: "checkbox";
required?: boolean | undefined;
readOnly?: boolean | undefined;
color?: "primary" | "success" | "warning" | "danger" | "info" | "mono" | undefined;
defaultChecked?: boolean | undefined;
size?: "sm" | "md" | "lg" | undefined;
} | {
name: string;
label: string;
input: "input";
type?: "number" | "text" | "password" | "email" | "tel" | "url" | "search" | undefined;
required?: boolean | undefined;
readOnly?: boolean | undefined;
placeholder?: string | undefined;
defaultValue?: string | undefined;
} | {
name: string;
label: string;
input: "textarea";
required?: boolean | undefined;
readOnly?: boolean | undefined;
placeholder?: string | undefined;
defaultValue?: string | undefined;
} | {
options: {
value: string;
label: string;
disabled?: boolean | undefined;
}[];
name: string;
label: string;
input: "radio";
required?: boolean | undefined;
readOnly?: boolean | undefined;
color?: "primary" | "success" | "warning" | "danger" | "info" | "mono" | undefined;
defaultValue?: string | undefined;
direction?: "horizontal" | "vertical" | undefined;
} | {
options: {
value: string;
label: string;
disabled?: boolean | undefined;
}[];
name: string;
label: string;
input: "select";
type?: "search" | "basic" | undefined;
required?: boolean | undefined;
readOnly?: boolean | undefined;
placeholder?: string | undefined;
defaultValue?: string | undefined;
})[];
required?: boolean | undefined;
readOnly?: boolean | undefined;
alignCenter?: boolean | undefined;
gapSize?: "sm" | "md" | "lg" | undefined;
}, {
name: string;
label: string;
input: "row";
fields: ({
name: string;
label: string;
input: "checkbox";
required?: boolean | undefined;
readOnly?: boolean | undefined;
color?: "primary" | "success" | "warning" | "danger" | "info" | "mono" | undefined;
defaultChecked?: boolean | undefined;
size?: "sm" | "md" | "lg" | undefined;
} | {
name: string;
label: string;
input: "input";
type?: "number" | "text" | "password" | "email" | "tel" | "url" | "search" | undefined;
required?: boolean | undefined;
readOnly?: boolean | undefined;
placeholder?: string | undefined;
defaultValue?: string | undefined;
} | {
name: string;
label: string;
input: "textarea";
required?: boolean | undefined;
readOnly?: boolean | undefined;
placeholder?: string | undefined;
defaultValue?: string | undefined;
} | {
options: {
value: string;
label: string;
disabled?: boolean | undefined;
}[];
name: string;
label: string;
input: "radio";
required?: boolean | undefined;
readOnly?: boolean | undefined;
color?: "primary" | "success" | "warning" | "danger" | "info" | "mono" | undefined;
defaultValue?: string | undefined;
direction?: "horizontal" | "vertical" | undefined;
} | {
options: {
value: string;
label: string;
disabled?: boolean | undefined;
}[];
name: string;
label: string;
input: "select";
type?: "search" | "basic" | undefined;
required?: boolean | undefined;
readOnly?: boolean | undefined;
placeholder?: string | undefined;
defaultValue?: string | undefined;
})[];
required?: boolean | undefined;
readOnly?: boolean | undefined;
alignCenter?: boolean | undefined;
gapSize?: "sm" | "md" | "lg" | undefined;
}>]>;
/**
* Represents the type inferred from the `SettingsFieldSchema` schema.
*
* This type is used to define the structure of settings fields within the application.
*/
export type SettingsField = z.infer<typeof SettingsFieldSchema>;
/**
* A custom schema for i18n label translations.
*/
export declare const i18nLabelSchema: z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodString>, Record<string, string>, Record<string, string>>;
/**
* A union schema that represents different types of dashboard page schemas.
* This schema can be one of the following:
* - SingleSidebarSchema
* - DoubleSidebarSchema
*/
export declare const DashboardPageSchema: z.ZodUnion<[z.ZodObject<{
/**
* The title of the dashboard page
*/
title: z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodString>, Record<string, string>, Record<string, string>>;
/**
* The description of the dashboard page
*/
description: z.ZodString;
/**
* The desired route of the dashboard page
*/
route: z.ZodString;
/**
* The icon to display in the sidebar
*
* @default 'cube-transparent'
* @optional
*/
icon: z.ZodOptional<z.ZodDefault<z.ZodString>>;
/**
* The required permissions to access the page
*/
requiredPermissions: z.ZodOptional<z.ZodDefault<z.ZodUnion<[z.ZodLiteral<"owner">, z.ZodLiteral<"admin">, z.ZodLiteral<"editor">, z.ZodLiteral<"visitor">, z.ZodLiteral<"none">]>>>;
/**
* The component to render in the page header to display action buttons
*/
pageActionsComponent: z.ZodOptional<z.ZodString>;
/**
* The component to render in the page body
*/
pageBodyComponent: z.ZodString;
} & {
/**
* The sidebar layout
*/
sidebar: z.ZodLiteral<"single">;
}, "strip", z.ZodTypeAny, {
title: Record<string, string>;
description: string;
route: string;
pageBodyComponent: string;
sidebar: "single";
icon?: string | undefined;
requiredPermissions?: "owner" | "admin" | "editor" | "visitor" | "none" | undefined;
pageActionsComponent?: string | undefined;
}, {
title: Record<string, string>;
description: string;
route: string;
pageBodyComponent: string;
sidebar: "single";
icon?: string | undefined;
requiredPermissions?: "owner" | "admin" | "editor" | "visitor" | "none" | undefined;
pageActionsComponent?: string | undefined;
}>, z.ZodObject<{
/**
* The title of the dashboard page
*/
title: z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodString>, Record<string, string>, Record<string, string>>;
/**
* The description of the dashboard page
*/
description: z.ZodString;
/**
* The desired route of the dashboard page
*/
route: z.ZodString;
/**
* The icon to display in the sidebar
*
* @default 'cube-transparent'
* @optional
*/
icon: z.ZodOptional<z.ZodDefault<z.ZodString>>;
/**
* The required permissions to access the page
*/
requiredPermissions: z.ZodOptional<z.ZodDefault<z.ZodUnion<[z.ZodLiteral<"owner">, z.ZodLiteral<"admin">, z.ZodLiteral<"editor">, z.ZodLiteral<"visitor">, z.ZodLiteral<"none">]>>>;
/**
* The component to render in the page header to display action buttons
*/
pageActionsComponent: z.ZodOptional<z.ZodString>;
/**
* The component to render in the page body
*/
pageBodyComponent: z.ZodString;
} & {
/**
* The sidebar layout
*/
sidebar: z.ZodLiteral<"double">;
/**
* The component to render in the inner sidebar
*/
innerSidebarComponent: z.ZodString;
}, "strip", z.ZodTypeAny, {
title: Record<string, string>;
description: string;
route: string;
pageBodyComponent: string;
sidebar: "double";
innerSidebarComponent: string;
icon?: string | undefined;
requiredPermissions?: "owner" | "admin" | "editor" | "visitor" | "none" | undefined;
pageActionsComponent?: string | undefined;
}, {
title: Record<string, string>;
description: string;
route: string;
pageBodyComponent: string;
sidebar: "double";
innerSidebarComponent: string;
icon?: string | undefined;
requiredPermissions?: "owner" | "admin" | "editor" | "visitor" | "none" | undefined;
pageActionsComponent?: string | undefined;
}>]>;
/**
* A union schema that represents different types of available dashboard base schemas.
* This schema can be one of the following:
* - AvailableSingleSchema
* - AvailableDoubleSchema
*/
export declare const AvailableDashboardBaseSchema: z.ZodUnion<[z.ZodObject<{
/**
* The title of the dashboard page
*/
title: z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodString>, Record<string, string>, Record<string, string>>;
/**
* The description of the dashboard page
*/
description: z.ZodString;
/**
* The desired route of the dashboard page
*/
route: z.ZodString;
/**
* The icon to display in the sidebar
*
* @default 'cube-transparent'
* @optional
*/
icon: z.ZodOptional<z.ZodDefault<z.ZodString>>;
/**
* The required permissions to access the page
*/
requiredPermissions: z.ZodOptional<z.ZodDefault<z.ZodUnion<[z.ZodLiteral<"owner">, z.ZodLiteral<"admin">, z.ZodLiteral<"editor">, z.ZodLiteral<"visitor">, z.ZodLiteral<"none">]>>>;
/**
* The component to render in the page header to display action buttons
*/
pageActionsComponent: z.ZodOptional<z.ZodString>;
/**
* The component to render in the page body
*/
pageBodyComponent: z.ZodString;
} & {
/**
* The slug of the dashboard page
*/
slug: z.ZodString;
} & {
/**
* The sidebar layout
*/
sidebar: z.ZodLiteral<"single">;
}, "strip", z.ZodTypeAny, {
title: Record<string, string>;
description: string;
route: string;
pageBodyComponent: string;
slug: string;
sidebar: "single";
icon?: string | undefined;
requiredPermissions?: "owner" | "admin" | "editor" | "visitor" | "none" | undefined;
pageActionsComponent?: string | undefined;
}, {
title: Record<string, string>;
description: string;
route: string;
pageBodyComponent: string;
slug: string;
sidebar: "single";
icon?: string | undefined;
requiredPermissions?: "owner" | "admin" | "editor" | "visitor" | "none" | undefined;
pageActionsComponent?: string | undefined;
}>, z.ZodObject<{
/**
* The title of the dashboard page
*/
title: z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodString>, Record<string, string>, Record<string, string>>;
/**
* The description of the dashboard page
*/
description: z.ZodString;
/**
* The desired route of the dashboard page
*/
route: z.ZodString;
/**
* The icon to display in the sidebar
*
* @default 'cube-transparent'
* @optional
*/
icon: z.ZodOptional<z.ZodDefault<z.ZodString>>;
/**
* The required permissions to access the page
*/
requiredPermissions: z.ZodOptional<z.ZodDefault<z.ZodUnion<[z.ZodLiteral<"owner">, z.ZodLiteral<"admin">, z.ZodLiteral<"editor">, z.ZodLiteral<"visitor">, z.ZodLiteral<"none">]>>>;
/**
* The component to render in the page header to display action buttons
*/
pageActionsComponent: z.ZodOptional<z.ZodString>;
/**
* The component to render in the page body
*/
pageBodyComponent: z.ZodString;
} & {
/**
* The slug of the dashboard page
*/
slug: z.ZodString;
} & {
/**
* The sidebar layout
*/
sidebar: z.ZodLiteral<"double">;
/**
* The component to render in the inner sidebar
*/
innerSidebarComponent: z.ZodString;
}, "strip", z.ZodTypeAny, {
title: Record<string, string>;
description: string;
route: string;
pageBodyComponent: string;
slug: string;
sidebar: "double";
innerSidebarComponent: string;
icon?: string | undefined;
requiredPermissions?: "owner" | "admin" | "editor" | "visitor" | "none" | undefined;
pageActionsComponent?: string | undefined;
}, {
title: Record<string, string>;
description: string;
route: string;
pageBodyComponent: string;
slug: string;
sidebar: "double";
innerSidebarComponent: string;
icon?: string | undefined;
requiredPermissions?: "owner" | "admin" | "editor" | "visitor" | "none" | undefined;
pageActionsComponent?: string | undefined;
}>]>;
/**
* A union schema that represents different types of final dashboard base schemas.
* This schema can be one of the following:
* - FinalSingleSchema
* - FinalDoubleSchema
*/
export declare const FinalDashboardBaseSchema: z.ZodUnion<[z.ZodObject<{
/**
* The title of the dashboard page
*/
title: z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodString>, Record<string, string>, Record<string, string>>;
/**
* The description of the dashboard page
*/
description: z.ZodString;
/**
* The desired route of the dashboard page
*/
route: z.ZodString;
/**
* The icon to display in the sidebar
*
* @default 'cube-transparent'
* @optional
*/
icon: z.ZodOptional<z.ZodDefault<z.ZodString>>;
/**
* The required permissions to access the page
*/
requiredPermissions: z.ZodOptional<z.ZodDefault<z.ZodUnion<[z.ZodLiteral<"owner">, z.ZodLiteral<"admin">, z.ZodLiteral<"editor">, z.ZodLiteral<"visitor">, z.ZodLiteral<"none">]>>>;
/**
* The component to render in the page header to display action buttons
*/
pageActionsComponent: z.ZodOptional<z.ZodString>;
/**
* The component to render in the page body
*/
pageBodyComponent: z.ZodString;
} & {
/**
* The slug of the dashboard page
*/
slug: z.ZodString;
} & {
components: z.ZodObject<{
PageActionsComponent: z.ZodOptional<z.ZodType<(_props: any) => any, z.ZodTypeDef, (_props: any) => any>>;
PageBodyComponent: z.ZodType<(_props: any) => any, z.ZodTypeDef, (_props: any) => any>;
InnerSidebarComponent: z.ZodOptional<z.ZodType<(_props: any) => any, z.ZodTypeDef, (_props: any) => any>>;
}, "strip", z.ZodTypeAny, {
PageBodyComponent: (_props: any) => any;
PageActionsComponent?: ((_props: any) => any) | undefined;
InnerSidebarComponent?: ((_props: any) => any) | undefined;
}, {
PageBodyComponent: (_props: any) => any;
PageActionsComponent?: ((_props: any) => any) | undefined;
InnerSidebarComponent?: ((_props: any) => any) | undefined;
}>;
} & {
/**
* The sidebar layout
*/
sidebar: z.ZodLiteral<"single">;
}, "strip", z.ZodTypeAny, {
title: Record<string, string>;
description: string;
route: string;
pageBodyComponent: string;
slug: string;
components: {
PageBodyComponent: (_props: any) => any;
PageActionsComponent?: ((_props: any) => any) | undefined;
InnerSidebarComponent?: ((_props: any) => any) | undefined;
};
sidebar: "single";
icon?: string | undefined;
requiredPermissions?: "owner" | "admin" | "editor" | "visitor" | "none" | undefined;
pageActionsComponent?: string | undefined;
}, {
title: Record<string, string>;
description: string;
route: string;
pageBodyComponent: string;
slug: string;
components: {
PageBodyComponent: (_props: any) => any;
PageActionsComponent?: ((_props: any) => any) | undefined;
InnerSidebarComponent?: ((_props: any) => any) | undefined;
};
sidebar: "single";
icon?: string | undefined;
requiredPermissions?: "owner" | "admin" | "editor" | "visitor" | "none" | undefined;
pageActionsComponent?: string | undefined;
}>, z.ZodObject<{
/**
* The title of the dashboard page
*/
title: z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodString>, Record<string, string>, Record<string, string>>;
/**
* The description of the dashboard page
*/
description: z.ZodString;
/**
* The desired route of the dashboard page
*/
route: z.ZodString;
/**
* The icon to display in the sidebar
*
* @default 'cube-transparent'
* @optional
*/
icon: z.ZodOptional<z.ZodDefault<z.ZodString>>;
/**
* The required permissions to access the page
*/
requiredPermissions: z.ZodOptional<z.ZodDefault<z.ZodUnion<[z.ZodLiteral<"owner">, z.ZodLiteral<"admin">, z.ZodLiteral<"editor">, z.ZodLiteral<"visitor">, z.ZodLiteral<"none">]>>>;
/**
* The component to render in the page header to display action buttons
*/
pageActionsComponent: z.ZodOptional<z.ZodString>;
/**
* The component to render in the page body
*/
pageBodyComponent: z.ZodString;
} & {
/**
* The slug of the dashboard page
*/
slug: z.ZodString;
} & {
components: z.ZodObject<{
PageActionsComponent: z.ZodOptional<z.ZodType<(_props: any) => any, z.ZodTypeDef, (_props: any) => any>>;
PageBodyComponent: z.ZodType<(_props: any) => any, z.ZodTypeDef, (_props: any) => any>;
InnerSidebarComponent: z.ZodOptional<z.ZodType<(_props: any) => any, z.ZodTypeDef, (_props: any) => any>>;
}, "strip", z.ZodTypeAny, {
PageBodyComponent: (_props: any) => any;
PageActionsComponent?: ((_props: any) => any) | undefined;
InnerSidebarComponent?: ((_props: any) => any) | undefined;
}, {
PageBodyComponent: (_props: any) => any;
PageActionsComponent?: ((_props: any) => any) | undefined;
InnerSidebarComponent?: ((_props: any) => any) | undefined;
}>;
} & {
/**
* The sidebar layout
*/
sidebar: z.ZodLiteral<"double">;
/**
* The component to render in the inner sidebar
*/
innerSidebarComponent: z.ZodString;
}, "strip", z.ZodTypeAny, {
title: Record<string, string>;
description: string;
route: string;
pageBodyComponent: string;
slug: string;
components: {
PageBodyComponent: (_props: any) => any;
PageActionsComponent?: ((_props: any) => any) | undefined;
InnerSidebarComponent?: ((_props: any) => any) | undefined;
};
sidebar: "double";
innerSidebarComponent: string;
icon?: string | undefined;
requiredPermissions?: "owner" | "admin" | "editor" | "visitor" | "none" | undefined;
pageActionsComponent?: string | undefined;
}, {
title: Record<string, string>;
description: string;
route: string;
pageBodyComponent: string;
slug: string;
components: {
PageBodyComponent: (_props: any) => any;
PageActionsComponent?: ((_props: any) => any) | undefined;
InnerSidebarComponent?: ((_props: any) => any) | undefined;
};
sidebar: "double";
innerSidebarComponent: string;
icon?: string | undefined;
requiredPermissions?: "owner" | "admin" | "editor" | "visitor" | "none" | undefined;
pageActionsComponent?: string | undefined;
}>]>;
/**
* Schema for an array of available dashboard pages.
*
* This schema defines an object with the following properties:
* - `user`: An optional array of `AvailableDashboardBaseSchema` representing the available dashboard pages for users.
* - `admin`: An optional array of `AvailableDashboardBaseSchema` representing the available dashboard pages for admins.
*/
export declare const AvailableDashboardPagesSchema: z.ZodObject<{
/**
* Available dashboard pages for users
*/
user: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodObject<{
/**
* The title of the dashboard page
*/
title: z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodString>, Record<string, string>, Record<string, string>>;
/**
* The description of the dashboard page
*/
description: z.ZodString;
/**
* The desired route of the dashboard page
*/
route: z.ZodString;
/**
* The icon to display in the sidebar
*
* @default 'cube-transparent'
* @optional
*/
icon: z.ZodOptional<z.ZodDefault<z.ZodString>>;
/**
* The required permissions to access the page
*/
requiredPermissions: z.ZodOptional<z.ZodDefault<z.ZodUnion<[z.ZodLiteral<"owner">, z.ZodLiteral<"admin">, z.ZodLiteral<"editor">, z.ZodLiteral<"visitor">, z.ZodLiteral<"none">]>>>;
/**
* The component to render in the page header to display action buttons
*/
pageActionsComponent: z.ZodOptional<z.ZodString>;
/**
* The component to render in the page body
*/
pageBodyComponent: z.ZodString;
} & {
/**
* The slug of the dashboard page
*/
slug: z.ZodString;
} & {
/**
* The sidebar layout
*/
sidebar: z.ZodLiteral<"single">;
}, "strip", z.ZodTypeAny, {
title: Record<string, string>;
description: string;
route: string;
pageBodyComponent: string;
slug: string;
sidebar: "single";
icon?: string | undefined;
requiredPermissions?: "owner" | "admin" | "editor" | "visitor" | "none" | undefined;
pageActionsComponent?: string | undefined;
}, {
title: Record<string, string>;
description: string;
route: string;
pageBodyComponent: string;
slug: string;
sidebar: "single";
icon?: string | undefined;
requiredPermissions?: "owner" | "admin" | "editor" | "visitor" | "none" | undefined;
pageActionsComponent?: string | undefined;
}>, z.ZodObject<{
/**
* The title of the dashboard page
*/
title: z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodString>, Record<string, string>, Record<string, string>>;
/**
* The description of the dashboard page
*/
description: z.ZodString;
/**
* The desired route of the dashboard page
*/
route: z.ZodString;
/**
* The icon to display in the sidebar
*
* @default 'cube-transparent'
* @optional
*/
icon: z.ZodOptional<z.ZodDefault<z.ZodString>>;
/**
* The required permissions to access the page
*/
requiredPermissions: z.ZodOptional<z.ZodDefault<z.ZodUnion<[z.ZodLiteral<"owner">, z.ZodLiteral<"admin">, z.ZodLiteral<"editor">, z.ZodLiteral<"visitor">, z.ZodLiteral<"none">]>>>;
/**
* The component to render in the page header to display action buttons
*/
pageActionsComponent: z.ZodOptional<z.ZodString>;
/**
* The component to render in the page body
*/
pageBodyComponent: z.ZodString;
} & {
/**
* The slug of the dashboard page
*/
slug: z.ZodString;
} & {
/**
* The sidebar layout
*/
sidebar: z.ZodLiteral<"double">;
/**
* The component to render in the inner sidebar
*/
innerSidebarComponent: z.ZodString;
}, "strip", z.ZodTypeAny, {
title: Record<string, string>;
description: string;
route: string;
pageBodyComponent: string;
slug: string;
sidebar: "double";
innerSidebarComponent: string;
icon?: string | undefined;
requiredPermissions?: "owner" | "admin" | "editor" | "visitor" | "none" | undefined;
pageActionsComponent?: string | undefined;
}, {
title: Record<string, string>;
description: string;
route: string;
pageBodyComponent: string;
slug: string;
sidebar: "double";
innerSidebarComponent: string;
icon?: string | undefined;
requiredPermissions?: "owner" | "admin" | "editor" | "visitor" | "none" | undefined;
pageActionsComponent?: string | undefined;
}>]>, "many">>;
/**
* Available dashboard pages for admins
*/
admin: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodObject<{
/**
* The title of the dashboard page
*/
title: z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodString>, Record<string, string>, Record<string, string>>;
/**
* The description of the dashboard page
*/
description: z.ZodString;
/**
* The desired route of the dashboard page
*/
route: z.ZodString;
/**
* The icon to display in the sidebar
*
* @default 'cube-transparent'
* @optional
*/
icon: z.ZodOptional<z.ZodDefault<z.ZodString>>;
/**
* The required permissions to access the page
*/
requiredPermissions: z.ZodOptional<z.ZodDefault<z.ZodUnion<[z.ZodLiteral<"owner">, z.ZodLiteral<"admin">, z.ZodLiteral<"editor">, z.ZodLiteral<"visitor">, z.ZodLiteral<"none">]>>>;
/**
* The component to render in the page header to display action buttons
*/
pageActionsComponent: z.ZodOptional<z.ZodString>;
/**
* The component to render in the page body
*/
pageBodyComponent: z.ZodString;
} & {
/**
* The slug of the dashboard page
*/
slug: z.ZodString;
} & {
/**
* The sidebar layout
*/
sidebar: z.ZodLiteral<"single">;
}, "strip", z.ZodTypeAny, {
title: Record<string, string>;
description: string;
route: string;
pageBodyComponent: string;
slug: string;
sidebar: "single";
icon?: string | undefined;
requiredPermissions?: "owner" | "admin" | "editor" | "visito