/** * ObjectUI * Copyright (c) 2024-present ObjectStack Inc. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ /** * @object-ui/types/zod - Block Schema Zod Validators * * Zod validation schemas for reusable component blocks. * Following @objectstack/spec UI specification format. * * @module zod/blocks * @packageDocumentation */ import { z } from 'zod'; /** * Block Variable Schema */ export declare const BlockVariableSchema: z.ZodObject<{ name: z.ZodString; label: z.ZodOptional; type: z.ZodOptional>; defaultValue: z.ZodOptional; description: z.ZodOptional; required: z.ZodOptional; validation: z.ZodOptional; enum: z.ZodOptional>; }, z.core.$strip>; /** * Block Slot Schema */ export declare const BlockSlotSchema: z.ZodObject<{ name: z.ZodString; label: z.ZodOptional; description: z.ZodOptional; defaultContent: z.ZodOptional>, z.ZodArray>>]>>; allowedTypes: z.ZodOptional>; maxChildren: z.ZodOptional; required: z.ZodOptional; }, z.core.$strip>; /** * Block Metadata Schema */ export declare const BlockMetadataSchema: z.ZodObject<{ name: z.ZodString; label: z.ZodOptional; description: z.ZodOptional; category: z.ZodOptional; icon: z.ZodOptional; tags: z.ZodOptional>; author: z.ZodOptional; version: z.ZodOptional; license: z.ZodOptional; repository: z.ZodOptional; preview: z.ZodOptional; premium: z.ZodOptional; }, z.core.$strip>; /** * Block Schema */ export declare const BlockSchema: z.ZodObject<{ id: z.ZodOptional; name: z.ZodOptional; label: z.ZodOptional; description: z.ZodOptional; placeholder: z.ZodOptional; className: z.ZodOptional; style: z.ZodOptional>>; data: z.ZodOptional; body: z.ZodOptional>, z.ZodArray>>]>>; children: z.ZodOptional>, z.ZodArray>>]>>; visible: z.ZodOptional; visibleOn: z.ZodOptional; hidden: z.ZodOptional; hiddenOn: z.ZodOptional; disabled: z.ZodOptional; disabledOn: z.ZodOptional; testId: z.ZodOptional; ariaLabel: z.ZodOptional; type: z.ZodLiteral<"block">; meta: z.ZodOptional; description: z.ZodOptional; category: z.ZodOptional; icon: z.ZodOptional; tags: z.ZodOptional>; author: z.ZodOptional; version: z.ZodOptional; license: z.ZodOptional; repository: z.ZodOptional; preview: z.ZodOptional; premium: z.ZodOptional; }, z.core.$strip>>; variables: z.ZodOptional; type: z.ZodOptional>; defaultValue: z.ZodOptional; description: z.ZodOptional; required: z.ZodOptional; validation: z.ZodOptional; enum: z.ZodOptional>; }, z.core.$strip>>>; slots: z.ZodOptional; description: z.ZodOptional; defaultContent: z.ZodOptional>, z.ZodArray>>]>>; allowedTypes: z.ZodOptional>; maxChildren: z.ZodOptional; required: z.ZodOptional; }, z.core.$strip>>>; template: z.ZodOptional>, z.ZodArray>>]>>; values: z.ZodOptional>; slotContent: z.ZodOptional>, z.ZodArray>>]>>>; blockRef: z.ZodOptional; editable: z.ZodOptional; }, z.core.$loose>; /** * Block Library Item Schema */ export declare const BlockLibraryItemSchema: z.ZodObject<{ id: z.ZodString; meta: z.ZodObject<{ name: z.ZodString; label: z.ZodOptional; description: z.ZodOptional; category: z.ZodOptional; icon: z.ZodOptional; tags: z.ZodOptional>; author: z.ZodOptional; version: z.ZodOptional; license: z.ZodOptional; repository: z.ZodOptional; preview: z.ZodOptional; premium: z.ZodOptional; }, z.core.$strip>; schema: z.ZodObject<{ id: z.ZodOptional; name: z.ZodOptional; label: z.ZodOptional; description: z.ZodOptional; placeholder: z.ZodOptional; className: z.ZodOptional; style: z.ZodOptional>>; data: z.ZodOptional; body: z.ZodOptional>, z.ZodArray>>]>>; children: z.ZodOptional>, z.ZodArray>>]>>; visible: z.ZodOptional; visibleOn: z.ZodOptional; hidden: z.ZodOptional; hiddenOn: z.ZodOptional; disabled: z.ZodOptional; disabledOn: z.ZodOptional; testId: z.ZodOptional; ariaLabel: z.ZodOptional; type: z.ZodLiteral<"block">; meta: z.ZodOptional; description: z.ZodOptional; category: z.ZodOptional; icon: z.ZodOptional; tags: z.ZodOptional>; author: z.ZodOptional; version: z.ZodOptional; license: z.ZodOptional; repository: z.ZodOptional; preview: z.ZodOptional; premium: z.ZodOptional; }, z.core.$strip>>; variables: z.ZodOptional; type: z.ZodOptional>; defaultValue: z.ZodOptional; description: z.ZodOptional; required: z.ZodOptional; validation: z.ZodOptional; enum: z.ZodOptional>; }, z.core.$strip>>>; slots: z.ZodOptional; description: z.ZodOptional; defaultContent: z.ZodOptional>, z.ZodArray>>]>>; allowedTypes: z.ZodOptional>; maxChildren: z.ZodOptional; required: z.ZodOptional; }, z.core.$strip>>>; template: z.ZodOptional>, z.ZodArray>>]>>; values: z.ZodOptional>; slotContent: z.ZodOptional>, z.ZodArray>>]>>>; blockRef: z.ZodOptional; editable: z.ZodOptional; }, z.core.$loose>; installs: z.ZodOptional; rating: z.ZodOptional; ratingCount: z.ZodOptional; updatedAt: z.ZodOptional; createdAt: z.ZodOptional; }, z.core.$strip>; /** * Block Library Schema */ export declare const BlockLibrarySchema: z.ZodObject<{ id: z.ZodOptional; name: z.ZodOptional; label: z.ZodOptional; description: z.ZodOptional; placeholder: z.ZodOptional; className: z.ZodOptional; style: z.ZodOptional>>; data: z.ZodOptional; body: z.ZodOptional>, z.ZodArray>>]>>; children: z.ZodOptional>, z.ZodArray>>]>>; visible: z.ZodOptional; visibleOn: z.ZodOptional; hidden: z.ZodOptional; hiddenOn: z.ZodOptional; disabled: z.ZodOptional; disabledOn: z.ZodOptional; testId: z.ZodOptional; ariaLabel: z.ZodOptional; type: z.ZodLiteral<"block-library">; apiEndpoint: z.ZodOptional; category: z.ZodOptional; searchQuery: z.ZodOptional; tags: z.ZodOptional>; showPremium: z.ZodOptional; blocks: z.ZodOptional; description: z.ZodOptional; category: z.ZodOptional; icon: z.ZodOptional; tags: z.ZodOptional>; author: z.ZodOptional; version: z.ZodOptional; license: z.ZodOptional; repository: z.ZodOptional; preview: z.ZodOptional; premium: z.ZodOptional; }, z.core.$strip>; schema: z.ZodObject<{ id: z.ZodOptional; name: z.ZodOptional; label: z.ZodOptional; description: z.ZodOptional; placeholder: z.ZodOptional; className: z.ZodOptional; style: z.ZodOptional>>; data: z.ZodOptional; body: z.ZodOptional>, z.ZodArray>>]>>; children: z.ZodOptional>, z.ZodArray>>]>>; visible: z.ZodOptional; visibleOn: z.ZodOptional; hidden: z.ZodOptional; hiddenOn: z.ZodOptional; disabled: z.ZodOptional; disabledOn: z.ZodOptional; testId: z.ZodOptional; ariaLabel: z.ZodOptional; type: z.ZodLiteral<"block">; meta: z.ZodOptional; description: z.ZodOptional; category: z.ZodOptional; icon: z.ZodOptional; tags: z.ZodOptional>; author: z.ZodOptional; version: z.ZodOptional; license: z.ZodOptional; repository: z.ZodOptional; preview: z.ZodOptional; premium: z.ZodOptional; }, z.core.$strip>>; variables: z.ZodOptional; type: z.ZodOptional>; defaultValue: z.ZodOptional; description: z.ZodOptional; required: z.ZodOptional; validation: z.ZodOptional; enum: z.ZodOptional>; }, z.core.$strip>>>; slots: z.ZodOptional; description: z.ZodOptional; defaultContent: z.ZodOptional>, z.ZodArray>>]>>; allowedTypes: z.ZodOptional>; maxChildren: z.ZodOptional; required: z.ZodOptional; }, z.core.$strip>>>; template: z.ZodOptional>, z.ZodArray>>]>>; values: z.ZodOptional>; slotContent: z.ZodOptional>, z.ZodArray>>]>>>; blockRef: z.ZodOptional; editable: z.ZodOptional; }, z.core.$loose>; installs: z.ZodOptional; rating: z.ZodOptional; ratingCount: z.ZodOptional; updatedAt: z.ZodOptional; createdAt: z.ZodOptional; }, z.core.$strip>>>; loading: z.ZodOptional; onInstall: z.ZodOptional; onPreview: z.ZodOptional; }, z.core.$loose>; /** * Block Editor Schema */ export declare const BlockEditorSchema: z.ZodObject<{ id: z.ZodOptional; name: z.ZodOptional; label: z.ZodOptional; description: z.ZodOptional; placeholder: z.ZodOptional; className: z.ZodOptional; style: z.ZodOptional>>; data: z.ZodOptional; body: z.ZodOptional>, z.ZodArray>>]>>; children: z.ZodOptional>, z.ZodArray>>]>>; visible: z.ZodOptional; visibleOn: z.ZodOptional; hidden: z.ZodOptional; hiddenOn: z.ZodOptional; disabled: z.ZodOptional; disabledOn: z.ZodOptional; testId: z.ZodOptional; ariaLabel: z.ZodOptional; type: z.ZodLiteral<"block-editor">; block: z.ZodOptional; name: z.ZodOptional; label: z.ZodOptional; description: z.ZodOptional; placeholder: z.ZodOptional; className: z.ZodOptional; style: z.ZodOptional>>; data: z.ZodOptional; body: z.ZodOptional>, z.ZodArray>>]>>; children: z.ZodOptional>, z.ZodArray>>]>>; visible: z.ZodOptional; visibleOn: z.ZodOptional; hidden: z.ZodOptional; hiddenOn: z.ZodOptional; disabled: z.ZodOptional; disabledOn: z.ZodOptional; testId: z.ZodOptional; ariaLabel: z.ZodOptional; type: z.ZodLiteral<"block">; meta: z.ZodOptional; description: z.ZodOptional; category: z.ZodOptional; icon: z.ZodOptional; tags: z.ZodOptional>; author: z.ZodOptional; version: z.ZodOptional; license: z.ZodOptional; repository: z.ZodOptional; preview: z.ZodOptional; premium: z.ZodOptional; }, z.core.$strip>>; variables: z.ZodOptional; type: z.ZodOptional>; defaultValue: z.ZodOptional; description: z.ZodOptional; required: z.ZodOptional; validation: z.ZodOptional; enum: z.ZodOptional>; }, z.core.$strip>>>; slots: z.ZodOptional; description: z.ZodOptional; defaultContent: z.ZodOptional>, z.ZodArray>>]>>; allowedTypes: z.ZodOptional>; maxChildren: z.ZodOptional; required: z.ZodOptional; }, z.core.$strip>>>; template: z.ZodOptional>, z.ZodArray>>]>>; values: z.ZodOptional>; slotContent: z.ZodOptional>, z.ZodArray>>]>>>; blockRef: z.ZodOptional; editable: z.ZodOptional; }, z.core.$loose>>; showVariables: z.ZodOptional; showSlots: z.ZodOptional; showTemplate: z.ZodOptional; showPreview: z.ZodOptional; onSave: z.ZodOptional; onCancel: z.ZodOptional; }, z.core.$loose>; /** * Block Instance Schema */ export declare const BlockInstanceSchema: z.ZodObject<{ id: z.ZodOptional; name: z.ZodOptional; label: z.ZodOptional; description: z.ZodOptional; placeholder: z.ZodOptional; className: z.ZodOptional; style: z.ZodOptional>>; data: z.ZodOptional; body: z.ZodOptional>, z.ZodArray>>]>>; children: z.ZodOptional>, z.ZodArray>>]>>; visible: z.ZodOptional; visibleOn: z.ZodOptional; hidden: z.ZodOptional; hiddenOn: z.ZodOptional; disabled: z.ZodOptional; disabledOn: z.ZodOptional; testId: z.ZodOptional; ariaLabel: z.ZodOptional; type: z.ZodLiteral<"block-instance">; blockId: z.ZodString; blockName: z.ZodOptional; values: z.ZodOptional>; slotContent: z.ZodOptional>, z.ZodArray>>]>>>; overrideStyles: z.ZodOptional; }, z.core.$loose>; /** * Component Schema */ export declare const ComponentSchema: z.ZodObject<{ id: z.ZodOptional; name: z.ZodOptional; label: z.ZodOptional; description: z.ZodOptional; placeholder: z.ZodOptional; className: z.ZodOptional; style: z.ZodOptional>>; data: z.ZodOptional; body: z.ZodOptional>, z.ZodArray>>]>>; visible: z.ZodOptional; visibleOn: z.ZodOptional; hidden: z.ZodOptional; hiddenOn: z.ZodOptional; disabled: z.ZodOptional; disabledOn: z.ZodOptional; testId: z.ZodOptional; ariaLabel: z.ZodOptional; type: z.ZodLiteral<"component">; componentName: z.ZodOptional; props: z.ZodOptional>; children: z.ZodOptional>, z.ZodArray>>]>>; }, z.core.$loose>; /** * Union of all block schemas */ export declare const BlockComponentSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{ id: z.ZodOptional; name: z.ZodOptional; label: z.ZodOptional; description: z.ZodOptional; placeholder: z.ZodOptional; className: z.ZodOptional; style: z.ZodOptional>>; data: z.ZodOptional; body: z.ZodOptional>, z.ZodArray>>]>>; children: z.ZodOptional>, z.ZodArray>>]>>; visible: z.ZodOptional; visibleOn: z.ZodOptional; hidden: z.ZodOptional; hiddenOn: z.ZodOptional; disabled: z.ZodOptional; disabledOn: z.ZodOptional; testId: z.ZodOptional; ariaLabel: z.ZodOptional; type: z.ZodLiteral<"block">; meta: z.ZodOptional; description: z.ZodOptional; category: z.ZodOptional; icon: z.ZodOptional; tags: z.ZodOptional>; author: z.ZodOptional; version: z.ZodOptional; license: z.ZodOptional; repository: z.ZodOptional; preview: z.ZodOptional; premium: z.ZodOptional; }, z.core.$strip>>; variables: z.ZodOptional; type: z.ZodOptional>; defaultValue: z.ZodOptional; description: z.ZodOptional; required: z.ZodOptional; validation: z.ZodOptional; enum: z.ZodOptional>; }, z.core.$strip>>>; slots: z.ZodOptional; description: z.ZodOptional; defaultContent: z.ZodOptional>, z.ZodArray>>]>>; allowedTypes: z.ZodOptional>; maxChildren: z.ZodOptional; required: z.ZodOptional; }, z.core.$strip>>>; template: z.ZodOptional>, z.ZodArray>>]>>; values: z.ZodOptional>; slotContent: z.ZodOptional>, z.ZodArray>>]>>>; blockRef: z.ZodOptional; editable: z.ZodOptional; }, z.core.$loose>, z.ZodObject<{ id: z.ZodOptional; name: z.ZodOptional; label: z.ZodOptional; description: z.ZodOptional; placeholder: z.ZodOptional; className: z.ZodOptional; style: z.ZodOptional>>; data: z.ZodOptional; body: z.ZodOptional>, z.ZodArray>>]>>; children: z.ZodOptional>, z.ZodArray>>]>>; visible: z.ZodOptional; visibleOn: z.ZodOptional; hidden: z.ZodOptional; hiddenOn: z.ZodOptional; disabled: z.ZodOptional; disabledOn: z.ZodOptional; testId: z.ZodOptional; ariaLabel: z.ZodOptional; type: z.ZodLiteral<"block-library">; apiEndpoint: z.ZodOptional; category: z.ZodOptional; searchQuery: z.ZodOptional; tags: z.ZodOptional>; showPremium: z.ZodOptional; blocks: z.ZodOptional; description: z.ZodOptional; category: z.ZodOptional; icon: z.ZodOptional; tags: z.ZodOptional>; author: z.ZodOptional; version: z.ZodOptional; license: z.ZodOptional; repository: z.ZodOptional; preview: z.ZodOptional; premium: z.ZodOptional; }, z.core.$strip>; schema: z.ZodObject<{ id: z.ZodOptional; name: z.ZodOptional; label: z.ZodOptional; description: z.ZodOptional; placeholder: z.ZodOptional; className: z.ZodOptional; style: z.ZodOptional>>; data: z.ZodOptional; body: z.ZodOptional>, z.ZodArray>>]>>; children: z.ZodOptional>, z.ZodArray>>]>>; visible: z.ZodOptional; visibleOn: z.ZodOptional; hidden: z.ZodOptional; hiddenOn: z.ZodOptional; disabled: z.ZodOptional; disabledOn: z.ZodOptional; testId: z.ZodOptional; ariaLabel: z.ZodOptional; type: z.ZodLiteral<"block">; meta: z.ZodOptional; description: z.ZodOptional; category: z.ZodOptional; icon: z.ZodOptional; tags: z.ZodOptional>; author: z.ZodOptional; version: z.ZodOptional; license: z.ZodOptional; repository: z.ZodOptional; preview: z.ZodOptional; premium: z.ZodOptional; }, z.core.$strip>>; variables: z.ZodOptional; type: z.ZodOptional>; defaultValue: z.ZodOptional; description: z.ZodOptional; required: z.ZodOptional; validation: z.ZodOptional; enum: z.ZodOptional>; }, z.core.$strip>>>; slots: z.ZodOptional; description: z.ZodOptional; defaultContent: z.ZodOptional>, z.ZodArray>>]>>; allowedTypes: z.ZodOptional>; maxChildren: z.ZodOptional; required: z.ZodOptional; }, z.core.$strip>>>; template: z.ZodOptional>, z.ZodArray>>]>>; values: z.ZodOptional>; slotContent: z.ZodOptional>, z.ZodArray>>]>>>; blockRef: z.ZodOptional; editable: z.ZodOptional; }, z.core.$loose>; installs: z.ZodOptional; rating: z.ZodOptional; ratingCount: z.ZodOptional; updatedAt: z.ZodOptional; createdAt: z.ZodOptional; }, z.core.$strip>>>; loading: z.ZodOptional; onInstall: z.ZodOptional; onPreview: z.ZodOptional; }, z.core.$loose>, z.ZodObject<{ id: z.ZodOptional; name: z.ZodOptional; label: z.ZodOptional; description: z.ZodOptional; placeholder: z.ZodOptional; className: z.ZodOptional; style: z.ZodOptional>>; data: z.ZodOptional; body: z.ZodOptional>, z.ZodArray>>]>>; children: z.ZodOptional>, z.ZodArray>>]>>; visible: z.ZodOptional; visibleOn: z.ZodOptional; hidden: z.ZodOptional; hiddenOn: z.ZodOptional; disabled: z.ZodOptional; disabledOn: z.ZodOptional; testId: z.ZodOptional; ariaLabel: z.ZodOptional; type: z.ZodLiteral<"block-editor">; block: z.ZodOptional; name: z.ZodOptional; label: z.ZodOptional; description: z.ZodOptional; placeholder: z.ZodOptional; className: z.ZodOptional; style: z.ZodOptional>>; data: z.ZodOptional; body: z.ZodOptional>, z.ZodArray>>]>>; children: z.ZodOptional>, z.ZodArray>>]>>; visible: z.ZodOptional; visibleOn: z.ZodOptional; hidden: z.ZodOptional; hiddenOn: z.ZodOptional; disabled: z.ZodOptional; disabledOn: z.ZodOptional; testId: z.ZodOptional; ariaLabel: z.ZodOptional; type: z.ZodLiteral<"block">; meta: z.ZodOptional; description: z.ZodOptional; category: z.ZodOptional; icon: z.ZodOptional; tags: z.ZodOptional>; author: z.ZodOptional; version: z.ZodOptional; license: z.ZodOptional; repository: z.ZodOptional; preview: z.ZodOptional; premium: z.ZodOptional; }, z.core.$strip>>; variables: z.ZodOptional; type: z.ZodOptional>; defaultValue: z.ZodOptional; description: z.ZodOptional; required: z.ZodOptional; validation: z.ZodOptional; enum: z.ZodOptional>; }, z.core.$strip>>>; slots: z.ZodOptional; description: z.ZodOptional; defaultContent: z.ZodOptional>, z.ZodArray>>]>>; allowedTypes: z.ZodOptional>; maxChildren: z.ZodOptional; required: z.ZodOptional; }, z.core.$strip>>>; template: z.ZodOptional>, z.ZodArray>>]>>; values: z.ZodOptional>; slotContent: z.ZodOptional>, z.ZodArray>>]>>>; blockRef: z.ZodOptional; editable: z.ZodOptional; }, z.core.$loose>>; showVariables: z.ZodOptional; showSlots: z.ZodOptional; showTemplate: z.ZodOptional; showPreview: z.ZodOptional; onSave: z.ZodOptional; onCancel: z.ZodOptional; }, z.core.$loose>, z.ZodObject<{ id: z.ZodOptional; name: z.ZodOptional; label: z.ZodOptional; description: z.ZodOptional; placeholder: z.ZodOptional; className: z.ZodOptional; style: z.ZodOptional>>; data: z.ZodOptional; body: z.ZodOptional>, z.ZodArray>>]>>; children: z.ZodOptional>, z.ZodArray>>]>>; visible: z.ZodOptional; visibleOn: z.ZodOptional; hidden: z.ZodOptional; hiddenOn: z.ZodOptional; disabled: z.ZodOptional; disabledOn: z.ZodOptional; testId: z.ZodOptional; ariaLabel: z.ZodOptional; type: z.ZodLiteral<"block-instance">; blockId: z.ZodString; blockName: z.ZodOptional; values: z.ZodOptional>; slotContent: z.ZodOptional>, z.ZodArray>>]>>>; overrideStyles: z.ZodOptional; }, z.core.$loose>, z.ZodObject<{ id: z.ZodOptional; name: z.ZodOptional; label: z.ZodOptional; description: z.ZodOptional; placeholder: z.ZodOptional; className: z.ZodOptional; style: z.ZodOptional>>; data: z.ZodOptional; body: z.ZodOptional>, z.ZodArray>>]>>; visible: z.ZodOptional; visibleOn: z.ZodOptional; hidden: z.ZodOptional; hiddenOn: z.ZodOptional; disabled: z.ZodOptional; disabledOn: z.ZodOptional; testId: z.ZodOptional; ariaLabel: z.ZodOptional; type: z.ZodLiteral<"component">; componentName: z.ZodOptional; props: z.ZodOptional>; children: z.ZodOptional>, z.ZodArray>>]>>; }, z.core.$loose>], "type">; /** * Export type inference helpers */ export type BlockVariableSchemaType = z.infer; export type BlockSlotSchemaType = z.infer; export type BlockMetadataSchemaType = z.infer; export type BlockSchemaType = z.infer; export type BlockLibraryItemSchemaType = z.infer; export type BlockLibrarySchemaType = z.infer; export type BlockEditorSchemaType = z.infer; export type BlockInstanceSchemaType = z.infer; export type ComponentSchemaType = z.infer; //# sourceMappingURL=blocks.zod.d.ts.map