/** * 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 - View Component Zod Validators * * Zod validation schemas for view components. * Following @objectstack/spec UI specification format. * * @module zod/views * @packageDocumentation */ import { z } from 'zod'; /** * View Type Schema */ export declare const ViewTypeSchema: z.ZodEnum<{ list: "list"; grid: "grid"; map: "map"; kanban: "kanban"; calendar: "calendar"; timeline: "timeline"; detail: "detail"; gallery: "gallery"; gantt: "gantt"; tree: "tree"; }>; /** * Detail View Field Schema */ export declare const DetailViewFieldSchema: z.ZodObject<{ name: z.ZodString; label: z.ZodOptional; type: z.ZodOptional>; format: z.ZodOptional; render: z.ZodOptional>>; value: z.ZodOptional; readonly: z.ZodOptional; visible: z.ZodOptional>; span: z.ZodOptional; options: z.ZodOptional; color: z.ZodOptional; }, z.core.$strip>>>; reference_to: z.ZodOptional; reference_field: z.ZodOptional; currency: z.ZodOptional; }, z.core.$strip>; /** * Detail View Section Schema */ export declare const DetailViewSectionSchema: z.ZodObject<{ name: z.ZodOptional; title: z.ZodOptional; description: z.ZodOptional; icon: z.ZodOptional; fields: z.ZodArray; type: z.ZodOptional>; format: z.ZodOptional; render: z.ZodOptional>>; value: z.ZodOptional; readonly: z.ZodOptional; visible: z.ZodOptional>; span: z.ZodOptional; options: z.ZodOptional; color: z.ZodOptional; }, z.core.$strip>>>; reference_to: z.ZodOptional; reference_field: z.ZodOptional; currency: z.ZodOptional; }, z.core.$strip>>; collapsible: z.ZodOptional; defaultCollapsed: z.ZodOptional; columns: z.ZodOptional; visible: z.ZodOptional>; showBorder: z.ZodOptional; headerColor: z.ZodOptional; }, z.core.$strip>; /** * Detail View Tab Schema */ export declare const DetailViewTabSchema: z.ZodObject<{ key: z.ZodString; label: z.ZodString; icon: z.ZodOptional; content: z.ZodUnion>, z.ZodArray>>]>; visible: z.ZodOptional>; badge: z.ZodOptional>; }, z.core.$strip>; /** * Detail View Schema */ export declare const DetailViewSchema: z.ZodObject<{ id: z.ZodOptional; name: z.ZodOptional; label: z.ZodOptional; description: z.ZodOptional; placeholder: z.ZodOptional; className: z.ZodOptional; style: 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<"detail-view">; title: z.ZodOptional; api: z.ZodOptional; resourceId: z.ZodOptional>; objectName: z.ZodOptional; data: z.ZodOptional; layout: z.ZodOptional>; columns: z.ZodOptional; sections: z.ZodOptional; title: z.ZodOptional; description: z.ZodOptional; icon: z.ZodOptional; fields: z.ZodArray; type: z.ZodOptional>; format: z.ZodOptional; render: z.ZodOptional>>; value: z.ZodOptional; readonly: z.ZodOptional; visible: z.ZodOptional>; span: z.ZodOptional; options: z.ZodOptional; color: z.ZodOptional; }, z.core.$strip>>>; reference_to: z.ZodOptional; reference_field: z.ZodOptional; currency: z.ZodOptional; }, z.core.$strip>>; collapsible: z.ZodOptional; defaultCollapsed: z.ZodOptional; columns: z.ZodOptional; visible: z.ZodOptional>; showBorder: z.ZodOptional; headerColor: z.ZodOptional; }, z.core.$strip>>>; fields: z.ZodOptional; type: z.ZodOptional>; format: z.ZodOptional; render: z.ZodOptional>>; value: z.ZodOptional; readonly: z.ZodOptional; visible: z.ZodOptional>; span: z.ZodOptional; options: z.ZodOptional; color: z.ZodOptional; }, z.core.$strip>>>; reference_to: z.ZodOptional; reference_field: z.ZodOptional; currency: z.ZodOptional; }, z.core.$strip>>>; actions: z.ZodOptional>; tabs: z.ZodOptional; content: z.ZodUnion>, z.ZodArray>>]>; visible: z.ZodOptional>; badge: z.ZodOptional>; }, z.core.$strip>>>; showBack: z.ZodDefault>; backUrl: z.ZodOptional; onBack: z.ZodOptional; showEdit: z.ZodOptional; editUrl: z.ZodOptional; showDelete: z.ZodOptional; deleteConfirmation: z.ZodOptional; loading: z.ZodDefault>; header: z.ZodOptional>>; footer: z.ZodOptional>>; related: z.ZodOptional; api: z.ZodOptional; data: z.ZodOptional>; columns: z.ZodOptional>; fields: z.ZodOptional>; referenceField: z.ZodOptional; icon: z.ZodOptional; }, z.core.$strip>>>; }, z.core.$loose>; /** * View Switcher Schema */ export declare const ViewSwitcherSchema: 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<"view-switcher">; views: z.ZodArray; label: z.ZodOptional; icon: z.ZodOptional; schema: z.ZodOptional>>; }, z.core.$strip>>; defaultView: z.ZodOptional>; activeView: z.ZodOptional>; variant: z.ZodOptional>; position: z.ZodOptional>; onViewChange: z.ZodOptional; persistPreference: z.ZodOptional; storageKey: z.ZodOptional; allowCreateView: z.ZodOptional; viewActions: z.ZodOptional; icon: z.ZodOptional; }, z.core.$strip>>>; }, z.core.$loose>; /** * Filter UI Schema */ export declare const FilterUISchema: 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<"filter-ui">; filters: z.ZodArray; type: z.ZodEnum<{ number: "number"; boolean: "boolean"; date: "date"; select: "select"; text: "text"; "date-range": "date-range"; "multi-select": "multi-select"; }>; operator: z.ZodOptional>; options: z.ZodOptional>>; placeholder: z.ZodOptional; }, z.core.$strip>>; values: z.ZodOptional>; onChange: z.ZodOptional; showClear: z.ZodOptional; showApply: z.ZodOptional; layout: z.ZodOptional>; }, z.core.$loose>; /** * Sort UI Schema */ export declare const SortUISchema: 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<"sort-ui">; fields: z.ZodArray; }, z.core.$strip>>; sort: z.ZodOptional; }, z.core.$strip>>>; onChange: z.ZodOptional; multiple: z.ZodOptional; variant: z.ZodOptional>; }, z.core.$loose>; /** * Union of all view schemas */ export declare const ViewComponentSchema: 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>>; 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<"detail-view">; title: z.ZodOptional; api: z.ZodOptional; resourceId: z.ZodOptional>; objectName: z.ZodOptional; data: z.ZodOptional; layout: z.ZodOptional>; columns: z.ZodOptional; sections: z.ZodOptional; title: z.ZodOptional; description: z.ZodOptional; icon: z.ZodOptional; fields: z.ZodArray; type: z.ZodOptional>; format: z.ZodOptional; render: z.ZodOptional>>; value: z.ZodOptional; readonly: z.ZodOptional; visible: z.ZodOptional>; span: z.ZodOptional; options: z.ZodOptional; color: z.ZodOptional; }, z.core.$strip>>>; reference_to: z.ZodOptional; reference_field: z.ZodOptional; currency: z.ZodOptional; }, z.core.$strip>>; collapsible: z.ZodOptional; defaultCollapsed: z.ZodOptional; columns: z.ZodOptional; visible: z.ZodOptional>; showBorder: z.ZodOptional; headerColor: z.ZodOptional; }, z.core.$strip>>>; fields: z.ZodOptional; type: z.ZodOptional>; format: z.ZodOptional; render: z.ZodOptional>>; value: z.ZodOptional; readonly: z.ZodOptional; visible: z.ZodOptional>; span: z.ZodOptional; options: z.ZodOptional; color: z.ZodOptional; }, z.core.$strip>>>; reference_to: z.ZodOptional; reference_field: z.ZodOptional; currency: z.ZodOptional; }, z.core.$strip>>>; actions: z.ZodOptional>; tabs: z.ZodOptional; content: z.ZodUnion>, z.ZodArray>>]>; visible: z.ZodOptional>; badge: z.ZodOptional>; }, z.core.$strip>>>; showBack: z.ZodDefault>; backUrl: z.ZodOptional; onBack: z.ZodOptional; showEdit: z.ZodOptional; editUrl: z.ZodOptional; showDelete: z.ZodOptional; deleteConfirmation: z.ZodOptional; loading: z.ZodDefault>; header: z.ZodOptional>>; footer: z.ZodOptional>>; related: z.ZodOptional; api: z.ZodOptional; data: z.ZodOptional>; columns: z.ZodOptional>; fields: z.ZodOptional>; referenceField: z.ZodOptional; icon: z.ZodOptional; }, z.core.$strip>>>; }, 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<"view-switcher">; views: z.ZodArray; label: z.ZodOptional; icon: z.ZodOptional; schema: z.ZodOptional>>; }, z.core.$strip>>; defaultView: z.ZodOptional>; activeView: z.ZodOptional>; variant: z.ZodOptional>; position: z.ZodOptional>; onViewChange: z.ZodOptional; persistPreference: z.ZodOptional; storageKey: z.ZodOptional; allowCreateView: z.ZodOptional; viewActions: z.ZodOptional; icon: z.ZodOptional; }, z.core.$strip>>>; }, 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<"filter-ui">; filters: z.ZodArray; type: z.ZodEnum<{ number: "number"; boolean: "boolean"; date: "date"; select: "select"; text: "text"; "date-range": "date-range"; "multi-select": "multi-select"; }>; operator: z.ZodOptional>; options: z.ZodOptional>>; placeholder: z.ZodOptional; }, z.core.$strip>>; values: z.ZodOptional>; onChange: z.ZodOptional; showClear: z.ZodOptional; showApply: z.ZodOptional; layout: 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<"sort-ui">; fields: z.ZodArray; }, z.core.$strip>>; sort: z.ZodOptional; }, z.core.$strip>>>; onChange: z.ZodOptional; multiple: z.ZodOptional; variant: z.ZodOptional>; }, z.core.$loose>], "type">; /** * Export type inference helpers */ export type ViewTypeSchemaType = z.infer; export type DetailViewFieldSchemaType = z.infer; export type DetailViewSectionSchemaType = z.infer; export type DetailViewTabSchemaType = z.infer; export type DetailViewSchemaType = z.infer; export type ViewSwitcherSchemaType = z.infer; export type FilterUISchemaType = z.infer; export type SortUISchemaType = z.infer; //# sourceMappingURL=views.zod.d.ts.map