@docyrus/generative-ui-core 0.0.1 → 0.0.2

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.
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/index.ts","../src/mode-catalogs.ts","../src/mode-entries.ts"],"sourcesContent":["export * from './types';\nexport * from './mode-catalogs';\nexport * from './mode-entries';\n","import { defineCatalog, defineSchema, type Spec } from '@json-render/core';\nimport { z } from 'zod/v4';\n\nimport {\n type GeneratedFormDefinition,\n type GeneratedFormField,\n type SmartCanvasFlowNodeLayout,\n type SmartCanvasFlowViewport,\n type SmartCanvasGridItemLayout,\n type SmartCanvasMode,\n type SmartCanvasValue,\n type SmartCanvasWidget,\n type SmartCanvasWidgetKind\n} from './types';\n\nconst DEFAULT_GRID_BREAKPOINTS = [\n 'lg',\n 'md',\n 'sm',\n 'xs',\n 'xxs'\n] as const;\n\ntype WidgetComponentName = keyof typeof WIDGET_COMPONENT_KIND_BY_NAME;\n\ninterface DashboardWidgetLayout {\n grid?: Partial<Record<string, Omit<SmartCanvasGridItemLayout, 'i'> & { i?: string }>>;\n flow?: SmartCanvasFlowNodeLayout;\n stackOrder?: number;\n}\n\ninterface DashboardSurfaceProps {\n mode?: SmartCanvasMode;\n selectedWidgetId?: string | null;\n stackActiveId?: string | null;\n flowViewport?: SmartCanvasFlowViewport | null;\n}\n\ninterface FormSurfaceProps {\n title?: string;\n description?: string;\n submitLabel?: string;\n initialValues?: Record<string, unknown>;\n}\n\ninterface WidgetMarkerProps {\n widget: SmartCanvasWidget;\n dashboardLayout?: DashboardWidgetLayout;\n}\n\ninterface FieldMarkerProps {\n field: GeneratedFormField;\n}\n\nfunction createReactModeSchema(defaultRules: string[]) {\n return defineSchema(\n s => ({\n spec: s.object({\n root: s.string(),\n elements: s.record(\n s.object({\n type: s.ref('catalog.components'),\n props: s.propsOf('catalog.components'),\n children: s.array(s.string()),\n visible: s.any()\n })\n )\n }),\n catalog: s.object({\n components: s.map({\n props: s.zod(),\n slots: s.array(s.string()),\n description: s.string(),\n example: s.any()\n }),\n actions: s.map({\n params: s.zod(),\n description: s.string()\n })\n })\n }),\n { defaultRules }\n );\n}\n\nconst smartCanvasGridItemSchema = z.object({\n i: z.string().optional(),\n x: z.number(),\n y: z.number(),\n w: z.number(),\n h: z.number(),\n minW: z.number().optional(),\n maxW: z.number().optional(),\n minH: z.number().optional(),\n maxH: z.number().optional(),\n static: z.boolean().optional(),\n isDraggable: z.boolean().optional(),\n isResizable: z.boolean().optional()\n});\n\nconst smartCanvasFlowNodeLayoutSchema = z.object({\n id: z.string(),\n x: z.number(),\n y: z.number(),\n width: z.number().optional(),\n height: z.number().optional()\n});\n\nconst smartCanvasFlowViewportSchema = z.object({\n x: z.number(),\n y: z.number(),\n zoom: z.number()\n});\n\nconst dashboardWidgetLayoutSchema = z.object({\n grid: z.record(z.string(), smartCanvasGridItemSchema).optional(),\n flow: smartCanvasFlowNodeLayoutSchema.optional(),\n stackOrder: z.number().int().optional()\n});\n\nconst smartCanvasSeriesConfigSchema = z.object({\n field: z.string(),\n label: z.string().optional(),\n color: z.string().optional()\n});\n\nconst smartCanvasCartesianChartConfigSchema = z.object({\n xField: z.string(),\n series: z.array(smartCanvasSeriesConfigSchema).min(1),\n aspectRatio: z.string().optional(),\n showGrid: z.boolean().optional(),\n showTooltip: z.boolean().optional(),\n stacked: z.boolean().optional(),\n orientation: z.enum(['vertical', 'horizontal']).optional()\n});\n\nconst smartCanvasCategoryChartConfigSchema = z.object({\n labelField: z.string(),\n valueField: z.string(),\n colorField: z.string().optional(),\n maxValueField: z.string().optional(),\n aspectRatio: z.string().optional(),\n innerRadius: z.number().optional(),\n orientation: z.enum(['vertical', 'horizontal']).optional()\n});\n\nconst smartCanvasRadarMetricConfigSchema = z.object({\n key: z.string(),\n label: z.string().optional()\n});\n\nconst smartCanvasRadarChartConfigSchema = z.object({\n labelField: z.string(),\n metrics: z.array(smartCanvasRadarMetricConfigSchema).min(1),\n colorField: z.string().optional()\n});\n\nconst smartCanvasSankeyChartConfigSchema = z.object({\n sourceField: z.string(),\n targetField: z.string(),\n valueField: z.string()\n});\n\nconst smartCanvasChoroplethFeatureSchema = z.object({\n type: z.literal('Feature'),\n geometry: z.any(),\n properties: z.record(z.string(), z.any()).nullable().optional(),\n id: z.union([z.string(), z.number()]).optional()\n});\n\nconst smartCanvasChoroplethFeatureCollectionSchema = z.object({\n type: z.literal('FeatureCollection'),\n features: z.array(smartCanvasChoroplethFeatureSchema)\n});\n\nconst smartCanvasChoroplethChartConfigSchema = z.object({\n featureIdField: z.string(),\n valueField: z.string(),\n featureCollection: smartCanvasChoroplethFeatureCollectionSchema\n});\n\nconst smartCanvasStatsFormatConfigSchema = z.object({\n locale: z.string().optional(),\n style: z.enum(['number', 'currency', 'percent']).optional(),\n currency: z.string().optional(),\n currencyDisplay: z.enum([\n 'symbol',\n 'code',\n 'name',\n 'narrowSymbol'\n ]).optional(),\n notation: z.enum([\n 'standard',\n 'scientific',\n 'engineering',\n 'compact'\n ]).optional(),\n minimumFractionDigits: z.number().optional(),\n maximumFractionDigits: z.number().optional(),\n signDisplay: z.enum([\n 'auto',\n 'always',\n 'exceptZero',\n 'negative',\n 'never'\n ]).optional(),\n percentScale: z.enum(['whole', 'fraction']).optional()\n});\n\nconst smartCanvasStatsItemConfigSchema = z.object({\n id: z.string(),\n title: z.string(),\n valueField: z.string(),\n eyebrow: z.string().optional(),\n subtitle: z.string().optional(),\n icon: z.string().optional(),\n color: z.string().optional(),\n unitLabel: z.string().optional(),\n format: smartCanvasStatsFormatConfigSchema.optional()\n});\n\nconst smartCanvasStatsLayoutSchema = z.discriminatedUnion('type', [\n z.object({\n type: z.literal('grid'),\n columns: z.number(),\n gap: z.union([z.number(), z.string()]).optional(),\n maxCardWidth: z.union([z.number(), z.string()]).optional()\n }),\n z.object({\n type: z.literal('flex'),\n cardWidth: z.union([z.number(), z.string()]),\n behavior: z.enum(['wrap', 'scroll']),\n gap: z.union([z.number(), z.string()]).optional()\n }),\n z.object({\n type: z.literal('tabs'),\n defaultTabId: z.string().optional()\n })\n]);\n\nconst smartCanvasStatsConfigSchema = z.object({\n items: z.array(smartCanvasStatsItemConfigSchema).min(1),\n layout: smartCanvasStatsLayoutSchema\n});\n\nconst smartCanvasDataGridColumnConfigSchema = z.object({\n key: z.string(),\n header: z.string().optional()\n});\n\nconst smartCanvasDataGridConfigSchema = z.object({\n columns: z.array(smartCanvasDataGridColumnConfigSchema).optional(),\n rowHeight: z.enum([\n 'short',\n 'medium',\n 'tall',\n 'extra-tall'\n ]).optional(),\n displayMode: z.enum(['table', 'gallery']).optional(),\n enableSearch: z.boolean().optional()\n});\n\nconst widgetBasePropsSchema = z.object({\n id: z.string(),\n title: z.string(),\n description: z.string().optional(),\n wrapInAwesomeCard: z.boolean(),\n query: z.record(z.string(), z.any()),\n locked: z.boolean().optional(),\n hidden: z.boolean().optional(),\n dashboardLayout: dashboardWidgetLayoutSchema.optional()\n});\n\nconst dashboardSurfacePropsSchema = z.object({\n mode: z.enum(['infinite-grid', 'free-canvas', 'stacked-cards']).optional(),\n selectedWidgetId: z.string().nullable().optional(),\n stackActiveId: z.string().nullable().optional(),\n flowViewport: smartCanvasFlowViewportSchema.nullable().optional()\n});\n\nconst widgetSurfacePropsSchema = z.object({});\n\nconst formOptionSchema = z.object({\n id: z.string(),\n name: z.string(),\n color: z.string().optional(),\n icon: z.string().optional(),\n description: z.string().optional()\n});\n\nconst formFieldBasePropsSchema = z.object({\n id: z.string(),\n name: z.string(),\n slug: z.string(),\n description: z.string().optional(),\n placeholder: z.string().optional(),\n helperText: z.string().optional(),\n required: z.boolean().optional(),\n readOnly: z.boolean().optional(),\n defaultValue: z.any().optional(),\n validations: z.array(z.string()).nullable().optional()\n});\n\nconst choiceFieldPropsSchema = formFieldBasePropsSchema.extend({\n options: z.array(formOptionSchema).min(1)\n});\n\nconst formSurfacePropsSchema = z.object({\n title: z.string().optional(),\n description: z.string().optional(),\n submitLabel: z.string().optional(),\n initialValues: z.record(z.string(), z.any()).optional()\n});\n\nfunction createWidgetDefinition<TConfig extends z.ZodTypeAny>(\n configSchema: TConfig,\n description: string,\n example: unknown\n) {\n return {\n props: widgetBasePropsSchema.extend({ config: configSchema }),\n slots: [] as string[],\n description,\n example\n };\n}\n\nfunction createFieldDefinition(\n props: typeof formFieldBasePropsSchema | typeof choiceFieldPropsSchema,\n description: string,\n example: unknown\n) {\n return {\n props,\n slots: [] as string[],\n description,\n example\n };\n}\n\nconst WIDGET_COMPONENT_KIND_BY_NAME = {\n LineChartWidget: 'line-chart',\n LiveLineChartWidget: 'live-line-chart',\n AreaChartWidget: 'area-chart',\n BarChartWidget: 'bar-chart',\n FunnelChartWidget: 'funnel-chart',\n RingChartWidget: 'ring-chart',\n PieChartWidget: 'pie-chart',\n RadarChartWidget: 'radar-chart',\n SankeyChartWidget: 'sankey-chart',\n ChoroplethChartWidget: 'choropleth-chart',\n AwesomeStatsWidget: 'awesome-stats',\n DataGridWidget: 'data-grid'\n} as const satisfies Record<string, SmartCanvasWidgetKind>;\n\nconst FIELD_COMPONENT_TYPE_BY_NAME = {\n TextField: 'field-text',\n TextareaField: 'field-textarea',\n EmailField: 'field-email',\n NumberField: 'field-number',\n SelectField: 'field-select',\n RadioGroupField: 'field-radioGroup',\n CheckboxField: 'field-checkbox',\n SwitchField: 'field-switch',\n DateField: 'field-date',\n DateTimeField: 'field-dateTime',\n TimeField: 'field-time',\n DateRangeField: 'field-dateRange'\n} as const;\n\nconst sharedWidgetStandardComponentDefinitions = {\n LineChartWidget: createWidgetDefinition(\n smartCanvasCartesianChartConfigSchema,\n 'A single line chart widget that plots one or more series against an x-axis field.',\n {\n id: 'widget-revenue-trend',\n title: 'Revenue Trend',\n wrapInAwesomeCard: true,\n query: { columns: ['date', 'revenue'] },\n config: {\n xField: 'date',\n series: [{ field: 'revenue', label: 'Revenue', color: 'var(--chart-line-primary)' }],\n showGrid: true,\n showTooltip: true\n },\n dashboardLayout: {\n grid: {\n lg: {\n x: 0, y: 0, w: 6, h: 4\n }\n }\n }\n }\n ),\n LiveLineChartWidget: createWidgetDefinition(\n smartCanvasCartesianChartConfigSchema,\n 'A line chart widget intended for live or near-real-time metrics.',\n {\n id: 'widget-live-latency',\n title: 'Live Latency',\n wrapInAwesomeCard: true,\n query: { columns: ['timestamp', 'latency_ms'] },\n config: {\n xField: 'timestamp',\n series: [{ field: 'latency_ms', label: 'Latency (ms)' }]\n }\n }\n ),\n AreaChartWidget: createWidgetDefinition(\n smartCanvasCartesianChartConfigSchema,\n 'A filled trend chart widget for time-series or cumulative comparisons.',\n {\n id: 'widget-signups-area',\n title: 'Weekly Signups',\n wrapInAwesomeCard: true,\n query: { columns: ['week', 'signups'] },\n config: {\n xField: 'week',\n series: [{ field: 'signups', label: 'Signups' }],\n showGrid: true\n }\n }\n ),\n BarChartWidget: createWidgetDefinition(\n smartCanvasCartesianChartConfigSchema,\n 'A grouped or stacked bar chart widget for categorical comparisons.',\n {\n id: 'widget-pipeline-bars',\n title: 'Pipeline by Rep',\n wrapInAwesomeCard: true,\n query: { columns: ['rep', 'pipeline_value'] },\n config: {\n xField: 'rep',\n series: [{ field: 'pipeline_value', label: 'Pipeline Value' }],\n orientation: 'vertical'\n }\n }\n ),\n FunnelChartWidget: createWidgetDefinition(\n smartCanvasCategoryChartConfigSchema,\n 'A funnel widget for stage conversion or sequential drop-off analysis.',\n {\n id: 'widget-support-funnel',\n title: 'Support Funnel',\n wrapInAwesomeCard: true,\n query: { columns: ['stage', 'count'] },\n config: {\n labelField: 'stage',\n valueField: 'count'\n }\n }\n ),\n RingChartWidget: createWidgetDefinition(\n smartCanvasCategoryChartConfigSchema,\n 'A ring widget for progress-style categorical metrics.',\n {\n id: 'widget-goal-rings',\n title: 'Quota Progress',\n wrapInAwesomeCard: true,\n query: { columns: ['team', 'value', 'maxValue'] },\n config: {\n labelField: 'team',\n valueField: 'value',\n maxValueField: 'maxValue'\n }\n }\n ),\n PieChartWidget: createWidgetDefinition(\n smartCanvasCategoryChartConfigSchema,\n 'A pie widget for showing distribution across categories.',\n {\n id: 'widget-channel-mix',\n title: 'Channel Mix',\n wrapInAwesomeCard: true,\n query: { columns: ['channel', 'tickets'] },\n config: {\n labelField: 'channel',\n valueField: 'tickets',\n innerRadius: 72\n }\n }\n ),\n RadarChartWidget: createWidgetDefinition(\n smartCanvasRadarChartConfigSchema,\n 'A radar widget for comparing multiple metrics for one or more entities.',\n {\n id: 'widget-team-radar',\n title: 'Team Profile',\n wrapInAwesomeCard: true,\n query: { columns: [\n 'team',\n 'quality',\n 'speed',\n 'scale'\n ] },\n config: {\n labelField: 'team',\n metrics: [{ key: 'quality', label: 'Quality' }, { key: 'speed', label: 'Speed' }, { key: 'scale', label: 'Scale' }]\n }\n }\n ),\n SankeyChartWidget: createWidgetDefinition(\n smartCanvasSankeyChartConfigSchema,\n 'A sankey widget for visualizing flow between source and target nodes.',\n {\n id: 'widget-journey-sankey',\n title: 'Journey Flow',\n wrapInAwesomeCard: true,\n query: { columns: ['source', 'target', 'count'] },\n config: {\n sourceField: 'source',\n targetField: 'target',\n valueField: 'count'\n }\n }\n ),\n ChoroplethChartWidget: createWidgetDefinition(\n smartCanvasChoroplethChartConfigSchema,\n 'A choropleth widget that shades geographic features by a numeric field.',\n {\n id: 'widget-global-coverage',\n title: 'Global Coverage',\n wrapInAwesomeCard: true,\n query: { columns: ['country_code', 'coverage'] },\n config: {\n featureIdField: 'country_code',\n valueField: 'coverage',\n featureCollection: {\n type: 'FeatureCollection',\n features: []\n }\n }\n }\n ),\n AwesomeStatsWidget: createWidgetDefinition(\n smartCanvasStatsConfigSchema,\n 'A stats card widget that presents one or more highlight metrics.',\n {\n id: 'widget-top-metrics',\n title: 'Top Metrics',\n wrapInAwesomeCard: true,\n query: { columns: ['revenue', 'conversion_rate'] },\n config: {\n items: [{ id: 'revenue', title: 'Revenue', valueField: 'revenue' }, { id: 'conversion', title: 'Conversion', valueField: 'conversion_rate' }],\n layout: { type: 'grid', columns: 2, gap: 16 }\n }\n }\n ),\n DataGridWidget: createWidgetDefinition(\n smartCanvasDataGridConfigSchema,\n 'A read-only data grid widget for tabular or gallery-style datasets.',\n {\n id: 'widget-open-deals',\n title: 'Open Deals',\n wrapInAwesomeCard: false,\n query: { columns: ['deal_name', 'owner', 'amount'] },\n config: {\n columns: [{ key: 'deal_name', header: 'Deal' }, { key: 'owner', header: 'Owner' }, { key: 'amount', header: 'Amount' }],\n displayMode: 'table',\n rowHeight: 'medium',\n enableSearch: true\n }\n }\n )\n};\n\nexport const dashboardStandardComponentDefinitions = {\n DashboardSurface: {\n props: dashboardSurfacePropsSchema,\n slots: ['default'],\n description:\n 'Root dashboard surface. Use it as the root element and place widget components directly as children.',\n example: {\n mode: 'infinite-grid',\n selectedWidgetId: 'widget-revenue-trend',\n flowViewport: { x: 0, y: 0, zoom: 1 }\n }\n },\n ...sharedWidgetStandardComponentDefinitions\n};\n\nexport const widgetStandardComponentDefinitions = {\n WidgetSurface: {\n props: widgetSurfacePropsSchema,\n slots: ['default'],\n description:\n 'Root widget surface. Use it as the root element and place exactly one widget component as its child.',\n example: {}\n },\n ...sharedWidgetStandardComponentDefinitions\n};\n\nexport const dataGridStandardComponentDefinitions = {\n WidgetSurface: {\n props: widgetSurfacePropsSchema,\n slots: ['default'],\n description:\n 'Root data-grid surface. Use it as the root element and place exactly one DataGridWidget child.',\n example: {}\n },\n DataGridWidget: sharedWidgetStandardComponentDefinitions.DataGridWidget\n};\n\nexport const formStandardComponentDefinitions = {\n FormSurface: {\n props: formSurfacePropsSchema,\n slots: ['default'],\n description:\n 'Root form surface. Use it as the root element and place generated field components directly as children.',\n example: {\n title: 'Lead Capture',\n description: 'Collect the details needed to qualify a new inbound lead.',\n submitLabel: 'Save lead',\n initialValues: { region: 'emea' }\n }\n },\n TextField: createFieldDefinition(\n formFieldBasePropsSchema,\n 'Single-line text input field.',\n {\n id: 'first_name', name: 'First name', slug: 'firstName', placeholder: 'Jane'\n }\n ),\n TextareaField: createFieldDefinition(\n formFieldBasePropsSchema,\n 'Multi-line text area field.',\n {\n id: 'summary',\n name: 'Summary',\n slug: 'summary',\n helperText: 'Add extra context for the team.'\n }\n ),\n EmailField: createFieldDefinition(\n formFieldBasePropsSchema,\n 'Email address input field.',\n {\n id: 'email', name: 'Email', slug: 'email', placeholder: 'jane@example.com'\n }\n ),\n NumberField: createFieldDefinition(\n formFieldBasePropsSchema,\n 'Numeric input field.',\n {\n id: 'seats', name: 'Seats', slug: 'seats', defaultValue: 25\n }\n ),\n SelectField: createFieldDefinition(\n choiceFieldPropsSchema,\n 'Select dropdown field with predefined options.',\n {\n id: 'segment',\n name: 'Segment',\n slug: 'segment',\n options: [{ id: 'enterprise', name: 'Enterprise' }, { id: 'mid-market', name: 'Mid-market' }]\n }\n ),\n RadioGroupField: createFieldDefinition(\n choiceFieldPropsSchema,\n 'Radio group field with mutually exclusive options.',\n {\n id: 'priority',\n name: 'Priority',\n slug: 'priority',\n options: [{ id: 'high', name: 'High' }, { id: 'medium', name: 'Medium' }]\n }\n ),\n CheckboxField: createFieldDefinition(\n formFieldBasePropsSchema,\n 'Boolean checkbox field.',\n {\n id: 'accept_terms', name: 'Accept terms', slug: 'acceptTerms', required: true\n }\n ),\n SwitchField: createFieldDefinition(\n formFieldBasePropsSchema,\n 'Boolean switch field.',\n {\n id: 'notify_team', name: 'Notify team', slug: 'notifyTeam', defaultValue: true\n }\n ),\n DateField: createFieldDefinition(\n formFieldBasePropsSchema,\n 'Date picker field.',\n { id: 'start_date', name: 'Start date', slug: 'startDate' }\n ),\n DateTimeField: createFieldDefinition(\n formFieldBasePropsSchema,\n 'Date and time picker field.',\n { id: 'demo_slot', name: 'Demo slot', slug: 'demoSlot' }\n ),\n TimeField: createFieldDefinition(\n formFieldBasePropsSchema,\n 'Time-only picker field.',\n { id: 'meeting_time', name: 'Meeting time', slug: 'meetingTime' }\n ),\n DateRangeField: createFieldDefinition(\n formFieldBasePropsSchema,\n 'Date range picker field.',\n { id: 'campaign_window', name: 'Campaign window', slug: 'campaignWindow' }\n )\n};\n\nexport type DashboardStandardComponentDefinitions = typeof dashboardStandardComponentDefinitions;\nexport type WidgetStandardComponentDefinitions = typeof widgetStandardComponentDefinitions;\nexport type DataGridStandardComponentDefinitions = typeof dataGridStandardComponentDefinitions;\nexport type FormStandardComponentDefinitions = typeof formStandardComponentDefinitions;\n\ntype ZodOutput<T extends z.ZodTypeAny> = z.output<T>;\n\nexport type DashboardStandardComponentProps<\n K extends keyof DashboardStandardComponentDefinitions,\n> = ZodOutput<DashboardStandardComponentDefinitions[K]['props']>;\n\nexport type WidgetStandardComponentProps<\n K extends keyof WidgetStandardComponentDefinitions,\n> = ZodOutput<WidgetStandardComponentDefinitions[K]['props']>;\n\nexport type FormStandardComponentProps<\n K extends keyof FormStandardComponentDefinitions,\n> = ZodOutput<FormStandardComponentDefinitions[K]['props']>;\n\nexport type DataGridStandardComponentProps<\n K extends keyof DataGridStandardComponentDefinitions,\n> = ZodOutput<DataGridStandardComponentDefinitions[K]['props']>;\n\nexport const dashboardSchema = createReactModeSchema([\n 'The root element MUST be DashboardSurface.',\n 'DashboardSurface children MUST be widget components only.',\n `Supported dashboard widget components: ${Object.keys(WIDGET_COMPONENT_KIND_BY_NAME).join(', ')}.`,\n 'Use DashboardSurface props for mode selection and viewport metadata. Use widget dashboardLayout props for grid, flow, and stack placement metadata.',\n 'Widget components are shared with widget mode. Do not wrap them in another surface component.',\n 'CRITICAL INTEGRITY CHECK: Every child element referenced by DashboardSurface MUST exist in the flat elements map.'\n]);\n\nexport const widgetSchema = createReactModeSchema([\n 'The root element MUST be WidgetSurface.',\n 'WidgetSurface MUST contain exactly one shared widget component child.',\n `Supported widget components: ${Object.keys(WIDGET_COMPONENT_KIND_BY_NAME).join(', ')}.`,\n 'Do not use DashboardSurface in widget mode.',\n 'CRITICAL INTEGRITY CHECK: The widget child referenced by WidgetSurface MUST exist in the flat elements map.'\n]);\n\nexport const dataGridSchema = createReactModeSchema([\n 'The root element MUST be WidgetSurface.',\n 'WidgetSurface MUST contain exactly one DataGridWidget child.',\n 'Supported component types: WidgetSurface and DataGridWidget.',\n 'Do not use chart widgets in data-grid mode.',\n 'CRITICAL INTEGRITY CHECK: The DataGridWidget child referenced by WidgetSurface MUST exist in the flat elements map.'\n]);\n\nexport const formSchema = createReactModeSchema([\n 'The root element MUST be FormSurface.',\n 'FormSurface children MUST be field components only.',\n `Supported field components: ${Object.keys(FIELD_COMPONENT_TYPE_BY_NAME).join(', ')}.`,\n 'Keep form-level title, description, submitLabel, and initialValues on FormSurface props.',\n 'Use options only for select-style fields such as SelectField and RadioGroupField.',\n 'CRITICAL INTEGRITY CHECK: Every child element referenced by FormSurface MUST exist in the flat elements map.'\n]);\n\nexport type DashboardSchema = typeof dashboardSchema;\nexport type WidgetSchema = typeof widgetSchema;\nexport type DataGridSchema = typeof dataGridSchema;\nexport type FormSchema = typeof formSchema;\n\nexport type DashboardSpec<TCatalog> = typeof dashboardSchema extends {\n createCatalog: (catalog: TCatalog) => { _specType: infer S };\n}\n ? S\n : never;\n\nexport type WidgetSpec<TCatalog> = typeof widgetSchema extends {\n createCatalog: (catalog: TCatalog) => { _specType: infer S };\n}\n ? S\n : never;\n\nexport type FormSpec<TCatalog> = typeof formSchema extends {\n createCatalog: (catalog: TCatalog) => { _specType: infer S };\n}\n ? S\n : never;\n\nexport type DataGridSpec<TCatalog> = typeof dataGridSchema extends {\n createCatalog: (catalog: TCatalog) => { _specType: infer S };\n}\n ? S\n : never;\n\nexport const dashboardCatalog = defineCatalog(dashboardSchema, {\n components: dashboardStandardComponentDefinitions,\n actions: {}\n});\n\nexport const widgetCatalog = defineCatalog(widgetSchema, {\n components: widgetStandardComponentDefinitions,\n actions: {}\n});\n\nexport const dataGridCatalog = defineCatalog(dataGridSchema, {\n components: dataGridStandardComponentDefinitions,\n actions: {}\n});\n\nexport const formCatalog = defineCatalog(formSchema, {\n components: formStandardComponentDefinitions,\n actions: {}\n});\n\nfunction normalizeWidgetGridLayouts(\n widgetId: string,\n layouts: DashboardWidgetLayout['grid'] | undefined\n) {\n if (!layouts) {\n return {};\n }\n\n return Object.entries(layouts).reduce<Record<string, SmartCanvasGridItemLayout>>((accumulator, [breakpoint, layout]) => {\n if (!layout) {\n return accumulator;\n }\n\n accumulator[breakpoint] = {\n ...layout,\n i: layout.i ?? widgetId\n };\n\n return accumulator;\n }, {});\n}\n\nfunction compileDashboardValue(\n props: DashboardSurfaceProps,\n nodes: WidgetMarkerProps[]\n): SmartCanvasValue {\n if (nodes.length === 0) {\n throw new Error('DashboardSurface requires at least one widget child.');\n }\n\n const widgets = nodes.map(({ widget }) => widget);\n const defaultSelectedId = widgets.find(widget => !widget.hidden)?.id ?? widgets[0]?.id ?? null;\n const selectedWidgetId = props.selectedWidgetId ?? defaultSelectedId;\n\n const gridLayouts = nodes.reduce<Record<string, SmartCanvasGridItemLayout[]>>((accumulator, node) => {\n const layoutsByBreakpoint = normalizeWidgetGridLayouts(node.widget.id, node.dashboardLayout?.grid);\n\n Object.entries(layoutsByBreakpoint).forEach(([breakpoint, layout]) => {\n accumulator[breakpoint] ??= [];\n accumulator[breakpoint].push(layout);\n });\n\n return accumulator;\n }, {});\n\n DEFAULT_GRID_BREAKPOINTS.forEach((breakpoint) => {\n gridLayouts[breakpoint] ??= [];\n });\n\n const flowNodes = nodes\n .map(node => node.dashboardLayout?.flow)\n .filter((value): value is SmartCanvasFlowNodeLayout => Boolean(value))\n .map((layout, index) => ({\n ...layout,\n id: layout.id || widgets[index]?.id || ''\n }));\n\n const stackOrder = [...nodes]\n .map((node, index) => ({\n widgetId: node.widget.id,\n order: node.dashboardLayout?.stackOrder ?? index,\n index\n }))\n .sort((left, right) => left.order - right.order || left.index - right.index)\n .map(entry => entry.widgetId);\n\n return {\n mode: props.mode ?? 'infinite-grid',\n selectedWidgetId,\n widgets,\n layouts: {\n grid: gridLayouts,\n flow: {\n nodes: flowNodes,\n viewport: props.flowViewport ?? null\n },\n stack: {\n order: stackOrder,\n activeId:\n props.stackActiveId\n ?? (selectedWidgetId && stackOrder.includes(selectedWidgetId) ? selectedWidgetId : stackOrder[0] ?? null)\n }\n }\n };\n}\n\nfunction compileStandaloneWidget(nodes: WidgetMarkerProps[]) {\n if (nodes.length !== 1) {\n throw new Error(`WidgetSurface requires exactly one widget child, received ${nodes.length}.`);\n }\n\n return nodes[0]!.widget;\n}\n\nfunction compileFormDefinition(\n props: FormSurfaceProps,\n fields: GeneratedFormField[]\n): GeneratedFormDefinition {\n return {\n title: props.title,\n description: props.description,\n submitLabel: props.submitLabel,\n initialValues: props.initialValues,\n fields\n };\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === 'object' && value !== null && !Array.isArray(value);\n}\n\nfunction getElement(spec: Spec, elementId: string) {\n if (!isRecord(spec.elements)) {\n throw new Error('Spec is missing a valid elements map.');\n }\n\n const element = spec.elements[elementId];\n\n if (!isRecord(element)) {\n throw new Error(`Spec is missing element \"${elementId}\".`);\n }\n\n return element;\n}\n\nfunction getRootElement(spec: Spec, expectedType: string) {\n if (typeof spec.root !== 'string' || spec.root.length === 0) {\n throw new Error('Spec is missing a valid root element id.');\n }\n\n const rootElement = getElement(spec, spec.root);\n\n if (rootElement.type !== expectedType) {\n throw new Error(`Root element must be \"${expectedType}\".`);\n }\n\n return {\n rootId: spec.root,\n rootElement\n };\n}\n\nfunction getChildIds(element: Record<string, unknown>) {\n const { children } = element;\n\n if (!Array.isArray(children)) {\n return [];\n }\n\n return children.filter((value): value is string => typeof value === 'string');\n}\n\nfunction parseComponentProps<TSchema extends z.ZodTypeAny>(\n schema: TSchema,\n props: unknown,\n label: string\n) {\n const result = schema.safeParse(props ?? {});\n\n if (!result.success) {\n const issue = result.error.issues[0];\n const detail = issue ? `${issue.path.join('.') || 'props'}: ${issue.message}` : 'invalid props';\n\n throw new Error(`${label} has invalid props (${detail}).`);\n }\n\n return result.data;\n}\n\nfunction compileWidgetNode(spec: Spec, elementId: string): WidgetMarkerProps {\n const element = getElement(spec, elementId);\n\n if (typeof element.type !== 'string' || !(element.type in WIDGET_COMPONENT_KIND_BY_NAME)) {\n throw new Error(`Dashboard/widget child \"${elementId}\" must be a supported widget component.`);\n }\n\n const widgetDefinition = sharedWidgetStandardComponentDefinitions[element.type as WidgetComponentName];\n const widgetProps = parseComponentProps(\n widgetDefinition.props,\n element.props,\n `${element.type} (${elementId})`\n ) as Omit<SmartCanvasWidget, 'kind'> & {\n dashboardLayout?: DashboardWidgetLayout;\n };\n const { dashboardLayout, ...widget } = widgetProps;\n\n return {\n widget: {\n ...widget,\n kind: WIDGET_COMPONENT_KIND_BY_NAME[element.type as WidgetComponentName]\n } as SmartCanvasWidget,\n dashboardLayout\n };\n}\n\nfunction compileFieldNode(spec: Spec, elementId: string): FieldMarkerProps {\n const element = getElement(spec, elementId);\n\n if (typeof element.type !== 'string' || !(element.type in FIELD_COMPONENT_TYPE_BY_NAME)) {\n throw new Error(`Form child \"${elementId}\" must be a supported field component.`);\n }\n\n const fieldDefinition = formStandardComponentDefinitions[element.type as keyof typeof FIELD_COMPONENT_TYPE_BY_NAME];\n const fieldProps = parseComponentProps(\n fieldDefinition.props,\n element.props,\n `${element.type} (${elementId})`\n ) as Omit<GeneratedFormField, 'type'>;\n\n return {\n field: {\n ...fieldProps,\n type: FIELD_COMPONENT_TYPE_BY_NAME[element.type as keyof typeof FIELD_COMPONENT_TYPE_BY_NAME]\n }\n };\n}\n\nexport function compileDashboardSpec(spec: Spec): SmartCanvasValue {\n const { rootElement } = getRootElement(spec, 'DashboardSurface');\n const nodes = getChildIds(rootElement).map(childId => compileWidgetNode(spec, childId));\n\n return compileDashboardValue(\n parseComponentProps(dashboardStandardComponentDefinitions.DashboardSurface.props, rootElement.props, 'DashboardSurface'),\n nodes\n );\n}\n\nexport function compileWidgetSpec(spec: Spec): SmartCanvasWidget {\n const { rootElement } = getRootElement(spec, 'WidgetSurface');\n\n parseComponentProps(widgetStandardComponentDefinitions.WidgetSurface.props, rootElement.props, 'WidgetSurface');\n const nodes = getChildIds(rootElement).map(childId => compileWidgetNode(spec, childId));\n\n return compileStandaloneWidget(nodes);\n}\n\nexport function compileDataGridSpec(spec: Spec): SmartCanvasWidget {\n const { rootElement } = getRootElement(spec, 'WidgetSurface');\n\n parseComponentProps(dataGridStandardComponentDefinitions.WidgetSurface.props, rootElement.props, 'WidgetSurface');\n const nodes = getChildIds(rootElement).map(childId => compileWidgetNode(spec, childId));\n const widget = compileStandaloneWidget(nodes);\n\n if (widget.kind !== 'data-grid') {\n throw new Error('Data-grid mode requires the child component to be DataGridWidget.');\n }\n\n return widget;\n}\n\nexport function compileFormSpec(spec: Spec): GeneratedFormDefinition {\n const { rootElement } = getRootElement(spec, 'FormSurface');\n const fields = getChildIds(rootElement).map(childId => compileFieldNode(spec, childId).field);\n\n return compileFormDefinition(\n parseComponentProps(formStandardComponentDefinitions.FormSurface.props, rootElement.props, 'FormSurface'),\n fields\n );\n}\n\nfunction createAdapterSpec<TProps extends Record<string, unknown>>(\n rootId: string,\n type: string,\n props: TProps\n): Spec {\n return {\n root: rootId,\n elements: {\n [rootId]: {\n type,\n props,\n children: []\n }\n }\n };\n}\n\nexport function createDashboardAdapterSpec(spec: Spec): Spec {\n return createAdapterSpec(spec.root, 'DashboardSurface', { value: compileDashboardSpec(spec) });\n}\n\nexport function createWidgetAdapterSpec(spec: Spec): Spec {\n return createAdapterSpec(spec.root, 'WidgetSurface', { widget: compileWidgetSpec(spec) });\n}\n\nexport function createDataGridAdapterSpec(spec: Spec): Spec {\n return createAdapterSpec(spec.root, 'WidgetSurface', { widget: compileDataGridSpec(spec) });\n}\n\nexport function createFormAdapterSpec(spec: Spec): Spec {\n return createAdapterSpec(spec.root, 'FormSurface', { definition: compileFormSpec(spec) });\n}\n","import { defineCatalog, type Catalog } from '@json-render/core';\nimport { schema as imageSchema, standardComponentDefinitions as imageComponents } from '@json-render/image';\nimport { schema as emailSchema, standardComponentDefinitions as emailComponents } from '@json-render/react-email';\nimport { schema as pdfSchema, standardComponentDefinitions as pdfComponents } from '@json-render/react-pdf';\n\nimport type { GenerativeUIMode } from './types';\nimport {\n dashboardCatalog,\n formCatalog,\n widgetCatalog,\n dataGridCatalog\n} from './mode-catalogs';\n\nexport const SUPPORTED_MODES = ['dashboard', 'widget', 'data-grid', 'form', 'email', 'pdf', 'image'] as const satisfies readonly GenerativeUIMode[];\n\nconst ALLOWED_WIDGET_KINDS = [\n 'line-chart',\n 'area-chart',\n 'bar-chart',\n 'funnel-chart',\n 'ring-chart',\n 'pie-chart',\n 'radar-chart',\n 'sankey-chart',\n 'choropleth-chart',\n 'awesome-stats',\n 'data-grid',\n 'live-line-chart'\n] as const;\n\nconst ALLOWED_FIELD_TYPES = [\n 'field-text',\n 'field-textarea',\n 'field-email',\n 'field-number',\n 'field-select',\n 'field-radioGroup',\n 'field-checkbox',\n 'field-switch',\n 'field-date',\n 'field-dateTime',\n 'field-time',\n 'field-dateRange'\n] as const;\n\nconst CHILD_REFERENCE_RULE = 'CRITICAL: Every ID listed in a children array MUST have a matching element object in the elements map. Never reference an element ID that does not exist. Before finalizing, verify that every children entry across all elements points to an existing element key.';\n\nexport const DASHBOARD_CUSTOM_RULES = [\n CHILD_REFERENCE_RULE,\n 'All generated IDs must be stable strings.',\n `Allowed widget kinds: ${ALLOWED_WIDGET_KINDS.join(', ')}. Do not use any other kind.`,\n 'Ensure every widget query.columns covers all config data fields (xField, series fields, valueField, labelField, etc.).',\n `Example target JSON:\n{\n \"root\": \"dashboard-1\",\n \"elements\": {\n \"dashboard-1\": {\n \"type\": \"DashboardSurface\",\n \"props\": {\n \"mode\": \"infinite-grid\",\n \"selectedWidgetId\": \"widget-revenue-trend\"\n },\n \"children\": [\"widget-revenue-trend\"]\n },\n \"widget-revenue-trend\": {\n \"type\": \"LineChartWidget\",\n \"props\": {\n \"id\": \"widget-revenue-trend\",\n \"title\": \"Revenue Trend\",\n \"wrapInAwesomeCard\": true,\n \"query\": { \"columns\": [\"date\", \"revenue\"] },\n \"config\": {\n \"xField\": \"date\",\n \"series\": [{ \"field\": \"revenue\", \"label\": \"Revenue\" }],\n \"showGrid\": true,\n \"showTooltip\": true\n },\n \"dashboardLayout\": {\n \"grid\": { \"lg\": { \"x\": 0, \"y\": 0, \"w\": 6, \"h\": 4 } }\n }\n },\n \"children\": []\n }\n }\n}`\n] as const;\n\nexport const WIDGET_CUSTOM_RULES = [\n CHILD_REFERENCE_RULE,\n 'All generated IDs must be stable strings.',\n `Allowed widget kinds: ${ALLOWED_WIDGET_KINDS.join(', ')}. Do not use any other kind.`,\n 'Ensure query.columns covers all config data fields.',\n `Example target JSON:\n{\n \"root\": \"widget-1\",\n \"elements\": {\n \"widget-1\": {\n \"type\": \"WidgetSurface\",\n \"props\": {},\n \"children\": [\"widget-revenue-mix\"]\n },\n \"widget-revenue-mix\": {\n \"type\": \"PieChartWidget\",\n \"props\": {\n \"id\": \"widget-revenue-mix\",\n \"title\": \"Revenue Mix\",\n \"wrapInAwesomeCard\": true,\n \"query\": { \"columns\": [\"product_family\", \"total_amount\"] },\n \"config\": {\n \"labelField\": \"product_family\",\n \"valueField\": \"total_amount\",\n \"innerRadius\": 72\n }\n },\n \"children\": []\n }\n }\n}`\n] as const;\n\nexport const DATA_GRID_CUSTOM_RULES = [\n CHILD_REFERENCE_RULE,\n 'All generated IDs must be stable strings.',\n 'The root element must be WidgetSurface.',\n 'WidgetSurface must contain exactly one DataGridWidget child.',\n 'Supported component types: WidgetSurface and DataGridWidget only.',\n 'Do not use chart or stats widgets in data-grid mode.',\n 'Ensure query.columns covers every configured data-grid column key.',\n `Example target JSON:\n{\n \"root\": \"data-grid-1\",\n \"elements\": {\n \"data-grid-1\": {\n \"type\": \"WidgetSurface\",\n \"props\": {},\n \"children\": [\"widget-open-deals\"]\n },\n \"widget-open-deals\": {\n \"type\": \"DataGridWidget\",\n \"props\": {\n \"id\": \"widget-open-deals\",\n \"title\": \"Open Deals\",\n \"wrapInAwesomeCard\": false,\n \"query\": { \"columns\": [\"deal_name\", \"owner\", \"amount\"] },\n \"config\": {\n \"columns\": [\n { \"key\": \"deal_name\", \"header\": \"Deal\" },\n { \"key\": \"owner\", \"header\": \"Owner\" },\n { \"key\": \"amount\", \"header\": \"Amount\" }\n ],\n \"displayMode\": \"table\",\n \"rowHeight\": \"medium\",\n \"enableSearch\": true\n }\n },\n \"children\": []\n }\n }\n}`\n] as const;\n\nexport const FORM_CUSTOM_RULES = [\n CHILD_REFERENCE_RULE,\n 'All generated IDs must be stable strings.',\n `Allowed field types: ${ALLOWED_FIELD_TYPES.join(', ')}. Do not use any other type.`,\n `Example target JSON:\n{\n \"root\": \"form-1\",\n \"elements\": {\n \"form-1\": {\n \"type\": \"FormSurface\",\n \"props\": {\n \"title\": \"Lead Intake\",\n \"description\": \"Capture the first details for a new inbound lead.\",\n \"submitLabel\": \"Create Lead\",\n \"initialValues\": { \"newsletter_opt_in\": false }\n },\n \"children\": [\"field-1\", \"field-2\", \"field-3\"]\n },\n \"field-1\": {\n \"type\": \"TextField\",\n \"props\": {\n \"id\": \"field-1\",\n \"name\": \"Full Name\",\n \"slug\": \"full_name\",\n \"placeholder\": \"Jane Doe\",\n \"required\": true\n },\n \"children\": []\n },\n \"field-2\": {\n \"type\": \"EmailField\",\n \"props\": {\n \"id\": \"field-2\",\n \"name\": \"Email\",\n \"slug\": \"email\",\n \"placeholder\": \"jane@company.com\",\n \"required\": true\n },\n \"children\": []\n },\n \"field-3\": {\n \"type\": \"SelectField\",\n \"props\": {\n \"id\": \"field-3\",\n \"name\": \"Lead Source\",\n \"slug\": \"lead_source\",\n \"options\": [{ \"id\": \"website\", \"name\": \"Website\" }, { \"id\": \"referral\", \"name\": \"Referral\" }]\n },\n \"children\": []\n }\n }\n}`\n] as const;\n\nexport const EMAIL_CUSTOM_RULES = [\n CHILD_REFERENCE_RULE,\n 'All generated IDs must be stable strings.',\n 'Root element must be Html. Include Head and Body children.',\n 'Use email-safe structure with Container, Section, Row, Column for layout.'\n] as const;\n\nexport const PDF_CUSTOM_RULES = [\n CHILD_REFERENCE_RULE,\n 'All generated IDs must be stable strings.',\n 'Root element must be Document. The first child of Document must be a Page.',\n 'Include at least one Page element. Keep structure printable and deterministic.'\n] as const;\n\nexport const IMAGE_CUSTOM_RULES = [\n CHILD_REFERENCE_RULE,\n 'All generated IDs must be stable strings.',\n 'Root element must be Frame with explicit width and height props.',\n 'Keep structure deterministic.'\n] as const;\n\nexport const emailCatalog = defineCatalog(emailSchema, { components: emailComponents, actions: {} });\nexport const pdfCatalog = defineCatalog(pdfSchema, { components: pdfComponents, actions: {} });\nexport const imageCatalog = defineCatalog(imageSchema, { components: imageComponents, actions: {} });\n\nexport interface CatalogEntry {\n catalog: Catalog;\n customRules: readonly string[];\n}\n\nconst CATALOG_MAP: Record<GenerativeUIMode, CatalogEntry> = {\n dashboard: { catalog: dashboardCatalog, customRules: DASHBOARD_CUSTOM_RULES },\n widget: { catalog: widgetCatalog, customRules: WIDGET_CUSTOM_RULES },\n 'data-grid': { catalog: dataGridCatalog, customRules: DATA_GRID_CUSTOM_RULES },\n form: { catalog: formCatalog, customRules: FORM_CUSTOM_RULES },\n email: { catalog: emailCatalog, customRules: EMAIL_CUSTOM_RULES },\n pdf: { catalog: pdfCatalog, customRules: PDF_CUSTOM_RULES },\n image: { catalog: imageCatalog, customRules: IMAGE_CUSTOM_RULES }\n};\n\nexport const ROOT_ELEMENT_TYPES: Record<GenerativeUIMode, string> = {\n dashboard: 'DashboardSurface',\n widget: 'WidgetSurface',\n 'data-grid': 'WidgetSurface',\n form: 'FormSurface',\n email: 'Html',\n pdf: 'Document',\n image: 'Frame'\n};\n\nexport function getCatalogForMode(mode: GenerativeUIMode) {\n return CATALOG_MAP[mode];\n}\n"],"mappings":"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","names":["import_core","emailSchema","emailComponents","pdfSchema","pdfComponents","imageSchema","imageComponents"]}