@objectstack/spec 2.0.5 → 2.0.7
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.
- package/dist/ai/index.d.mts +1 -1
- package/dist/ai/index.d.ts +1 -1
- package/dist/ai/index.js +230 -3
- package/dist/ai/index.js.map +1 -1
- package/dist/ai/index.mjs +218 -3
- package/dist/ai/index.mjs.map +1 -1
- package/dist/api/index.d.mts +2 -2
- package/dist/api/index.d.ts +2 -2
- package/dist/api/index.js +3409 -2841
- package/dist/api/index.js.map +1 -1
- package/dist/api/index.mjs +3386 -2841
- package/dist/api/index.mjs.map +1 -1
- package/dist/automation/index.d.mts +1 -1
- package/dist/automation/index.d.ts +1 -1
- package/dist/contracts/index.d.mts +2 -2
- package/dist/contracts/index.d.ts +2 -2
- package/dist/contracts/index.js.map +1 -1
- package/dist/data/index.d.mts +2 -2
- package/dist/data/index.d.ts +2 -2
- package/dist/data/index.js +58 -1
- package/dist/data/index.js.map +1 -1
- package/dist/data/index.mjs +58 -1
- package/dist/data/index.mjs.map +1 -1
- package/dist/{driver.zod-E3C6n0W-.d.ts → driver.zod-B3Q0oLlF.d.ts} +1 -1
- package/dist/{driver.zod-DnOPgUGi.d.mts → driver.zod-Bf2z72WQ.d.mts} +1 -1
- package/dist/{index-DyawwLFZ.d.ts → index-B3C8s_DZ.d.ts} +307 -29
- package/dist/{index-DTCkpGMm.d.mts → index-BliYpI46.d.mts} +879 -52
- package/dist/{index-BbtSaxHm.d.ts → index-BpE_xfkc.d.ts} +3289 -229
- package/dist/{index-E1mP_eoE.d.mts → index-C3cFLYII.d.mts} +307 -29
- package/dist/{index-BpP0MwlW.d.ts → index-CXtgLAue.d.ts} +879 -52
- package/dist/{index-D-tf4nDV.d.mts → index-CYbdd-mL.d.mts} +27 -1
- package/dist/index-CeUUI-ym.d.mts +2102 -0
- package/dist/{index-BPhGHW32.d.ts → index-CfvdYFyf.d.ts} +27 -1
- package/dist/{index-CDN6TRx9.d.mts → index-ClHj1Tbo.d.mts} +71 -2
- package/dist/{index-CDN6TRx9.d.ts → index-ClHj1Tbo.d.ts} +71 -2
- package/dist/index-CmY8tgpL.d.ts +2102 -0
- package/dist/{index-DRCh2NTZ.d.mts → index-CqDMk0T6.d.mts} +3289 -229
- package/dist/{index-d9wYlv-g.d.ts → index-DNKiU_-x.d.mts} +684 -18
- package/dist/{index-d9wYlv-g.d.mts → index-DNKiU_-x.d.ts} +684 -18
- package/dist/{index-CisfSmuF.d.ts → index-Dm4UfDKG.d.ts} +451 -19
- package/dist/index-KhvhiesR.d.mts +6902 -0
- package/dist/{index-BV0xBoer.d.mts → index-Onf8hbkX.d.mts} +451 -19
- package/dist/index-OqCqQSaH.d.ts +6902 -0
- package/dist/index.d.mts +2519 -222
- package/dist/index.d.ts +2519 -222
- package/dist/index.js +9957 -8069
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +9957 -8069
- package/dist/index.mjs.map +1 -1
- package/dist/integration/index.d.mts +1 -1
- package/dist/integration/index.d.ts +1 -1
- package/dist/integration/index.js +67 -0
- package/dist/integration/index.js.map +1 -1
- package/dist/integration/index.mjs +61 -0
- package/dist/integration/index.mjs.map +1 -1
- package/dist/kernel/index.d.mts +2 -2
- package/dist/kernel/index.d.ts +2 -2
- package/dist/kernel/index.js +1698 -1474
- package/dist/kernel/index.js.map +1 -1
- package/dist/kernel/index.mjs +1690 -1474
- package/dist/kernel/index.mjs.map +1 -1
- package/dist/{package-registry.zod-CbS9FKeH.d.mts → package-registry.zod-BJQSiICj.d.mts} +78 -43
- package/dist/{package-registry.zod-CbS9FKeH.d.ts → package-registry.zod-BJQSiICj.d.ts} +78 -43
- package/dist/security/index.d.mts +1 -1
- package/dist/security/index.d.ts +1 -1
- package/dist/security/index.js +47 -1
- package/dist/security/index.js.map +1 -1
- package/dist/security/index.mjs +45 -1
- package/dist/security/index.mjs.map +1 -1
- package/dist/system/index.d.mts +1 -1
- package/dist/system/index.d.ts +1 -1
- package/dist/system/index.js +2189 -1821
- package/dist/system/index.js.map +1 -1
- package/dist/system/index.mjs +2168 -1821
- package/dist/system/index.mjs.map +1 -1
- package/dist/ui/index.d.mts +1 -1
- package/dist/ui/index.d.ts +1 -1
- package/dist/ui/index.js +1414 -767
- package/dist/ui/index.js.map +1 -1
- package/dist/ui/index.mjs +1354 -767
- package/dist/ui/index.mjs.map +1 -1
- package/json-schema/ai/Agent.json +203 -0
- package/json-schema/ai/AgentCommunicationProtocol.json +9 -0
- package/json-schema/ai/AgentGroupMember.json +45 -0
- package/json-schema/ai/AgentGroupRole.json +10 -0
- package/json-schema/ai/DevOpsAgent.json +203 -0
- package/json-schema/ai/MCPClientConfig.json +168 -0
- package/json-schema/ai/MCPRootEntry.json +23 -0
- package/json-schema/ai/MCPRootsConfig.json +49 -0
- package/json-schema/ai/MCPSamplingConfig.json +46 -0
- package/json-schema/ai/MCPServerConfig.json +120 -0
- package/json-schema/ai/MCPStreamingConfig.json +38 -0
- package/json-schema/ai/MCPToolApproval.json +39 -0
- package/json-schema/ai/MultiAgentGroup.json +137 -0
- package/json-schema/ai/StructuredOutputConfig.json +75 -0
- package/json-schema/ai/StructuredOutputFormat.json +12 -0
- package/json-schema/ai/TransformPipelineStep.json +11 -0
- package/json-schema/api/AppDefinitionResponse.json +285 -7
- package/json-schema/api/BasePresence.json +40 -0
- package/json-schema/api/BatchLoadingStrategy.json +40 -0
- package/json-schema/api/Callback.json +39 -0
- package/json-schema/api/DataLoaderConfig.json +55 -0
- package/json-schema/api/DisablePackageResponse.json +26 -0
- package/json-schema/api/Discovery.json +4 -62
- package/json-schema/api/EnablePackageResponse.json +26 -0
- package/json-schema/api/FederationEntity.json +110 -0
- package/json-schema/api/FederationEntityKey.json +20 -0
- package/json-schema/api/FederationExternalField.json +18 -0
- package/json-schema/api/FederationGateway.json +327 -0
- package/json-schema/api/FederationProvides.json +19 -0
- package/json-schema/api/FederationRequires.json +19 -0
- package/json-schema/api/GetDiscoveryResponse.json +1 -60
- package/json-schema/api/GetPackageResponse.json +26 -0
- package/json-schema/api/GraphQLConfig.json +327 -0
- package/json-schema/api/GraphQLQueryAdapter.json +84 -0
- package/json-schema/api/InstallPackageRequest.json +26 -0
- package/json-schema/api/InstallPackageResponse.json +26 -0
- package/json-schema/api/ListPackagesResponse.json +26 -0
- package/json-schema/api/ODataQueryAdapter.json +66 -0
- package/json-schema/api/OpenApi31Extensions.json +139 -0
- package/json-schema/api/OperatorMapping.json +26 -0
- package/json-schema/api/PresenceStatus.json +10 -0
- package/json-schema/api/QueryAdapterConfig.json +272 -0
- package/json-schema/api/QueryAdapterTarget.json +9 -0
- package/json-schema/api/QueryOptimizationConfig.json +126 -0
- package/json-schema/api/RealtimeRecordAction.json +9 -0
- package/json-schema/api/RestQueryAdapter.json +86 -0
- package/json-schema/api/RestServerConfig.json +139 -0
- package/json-schema/api/SubgraphConfig.json +183 -0
- package/json-schema/api/WebhookConfig.json +129 -0
- package/json-schema/api/WebhookEvent.json +64 -0
- package/json-schema/data/ExternalLookup.json +128 -0
- package/json-schema/identity/SCIMBulkOperation.json +41 -0
- package/json-schema/identity/SCIMBulkRequest.json +73 -0
- package/json-schema/identity/SCIMBulkResponse.json +61 -0
- package/json-schema/identity/SCIMBulkResponseOperation.json +36 -0
- package/json-schema/integration/CircuitBreakerConfig.json +49 -0
- package/json-schema/integration/Connector.json +223 -0
- package/json-schema/integration/ConnectorHealth.json +113 -0
- package/json-schema/integration/DatabaseConnector.json +223 -0
- package/json-schema/integration/ErrorCategory.json +15 -0
- package/json-schema/integration/ErrorMappingConfig.json +112 -0
- package/json-schema/integration/ErrorMappingRule.json +66 -0
- package/json-schema/integration/FileStorageConnector.json +223 -0
- package/json-schema/integration/GitHubConnector.json +223 -0
- package/json-schema/integration/HealthCheckConfig.json +58 -0
- package/json-schema/integration/MessageQueueConnector.json +223 -0
- package/json-schema/integration/SaasConnector.json +223 -0
- package/json-schema/integration/VercelConnector.json +223 -0
- package/json-schema/kernel/CLICommandContribution.json +23 -0
- package/json-schema/kernel/CLIExtensionExport.json +22 -0
- package/json-schema/kernel/DevFixtureConfig.json +35 -0
- package/json-schema/kernel/DevPluginConfig.json +170 -0
- package/json-schema/kernel/DevPluginPreset.json +10 -0
- package/json-schema/kernel/DevServiceOverride.json +41 -0
- package/json-schema/kernel/DevToolsConfig.json +45 -0
- package/json-schema/kernel/DisablePackageResponse.json +26 -0
- package/json-schema/kernel/EnablePackageResponse.json +26 -0
- package/json-schema/kernel/GetPackageResponse.json +26 -0
- package/json-schema/kernel/InstallPackageRequest.json +26 -0
- package/json-schema/kernel/InstallPackageResponse.json +26 -0
- package/json-schema/kernel/InstalledPackage.json +26 -0
- package/json-schema/kernel/ListPackagesResponse.json +26 -0
- package/json-schema/kernel/Manifest.json +26 -0
- package/json-schema/kernel/MetadataFallbackStrategy.json +9 -0
- package/json-schema/kernel/MetadataLoaderContract.json +7 -0
- package/json-schema/kernel/MetadataManagerConfig.json +21 -0
- package/json-schema/security/RLSAuditConfig.json +62 -0
- package/json-schema/security/RLSAuditEvent.json +66 -0
- package/json-schema/security/RLSConfig.json +62 -0
- package/json-schema/system/AuthConfig.json +83 -0
- package/json-schema/system/BackupConfig.json +148 -0
- package/json-schema/system/BackupRetention.json +27 -0
- package/json-schema/system/BackupStrategy.json +10 -0
- package/json-schema/system/CacheAvalanchePrevention.json +77 -0
- package/json-schema/system/CacheConsistency.json +11 -0
- package/json-schema/system/CacheWarmup.json +44 -0
- package/json-schema/system/ComplianceAuditRequirement.json +43 -0
- package/json-schema/system/ComplianceEncryptionRequirement.json +58 -0
- package/json-schema/system/DataClassificationPolicy.json +46 -0
- package/json-schema/system/DisasterRecoveryPlan.json +414 -0
- package/json-schema/system/DistributedCacheConfig.json +269 -0
- package/json-schema/system/FailoverConfig.json +102 -0
- package/json-schema/system/FailoverMode.json +11 -0
- package/json-schema/system/MaskingVisibilityRule.json +56 -0
- package/json-schema/system/MetadataFallbackStrategy.json +9 -0
- package/json-schema/system/MetadataLoaderContract.json +9 -1
- package/json-schema/system/MetadataManagerConfig.json +52 -11
- package/json-schema/system/MetadataRecord.json +32 -1
- package/json-schema/system/MetadataSource.json +10 -0
- package/json-schema/system/MutualTLSConfig.json +83 -0
- package/json-schema/system/RPO.json +27 -0
- package/json-schema/system/RTO.json +27 -0
- package/json-schema/system/SecurityContextConfig.json +288 -0
- package/json-schema/system/SecurityEventCorrelation.json +40 -0
- package/json-schema/ui/Action.json +200 -5
- package/json-schema/ui/ActionParam.json +62 -2
- package/json-schema/ui/AnimationTrigger.json +14 -0
- package/json-schema/ui/App.json +285 -7
- package/json-schema/ui/AriaProps.json +49 -0
- package/json-schema/ui/BreakpointColumnMap.json +38 -0
- package/json-schema/ui/BreakpointName.json +12 -0
- package/json-schema/ui/BreakpointOrderMap.json +26 -0
- package/json-schema/ui/ChartAnnotation.json +31 -1
- package/json-schema/ui/ChartAxis.json +30 -1
- package/json-schema/ui/ChartConfig.json +259 -7
- package/json-schema/ui/ChartSeries.json +30 -1
- package/json-schema/ui/ColumnSummary.json +18 -0
- package/json-schema/ui/ComponentAnimation.json +246 -0
- package/json-schema/ui/ConflictResolution.json +11 -0
- package/json-schema/ui/Dashboard.json +627 -11
- package/json-schema/ui/DashboardNavItem.json +30 -1
- package/json-schema/ui/DashboardWidget.json +433 -8
- package/json-schema/ui/DateFormat.json +36 -0
- package/json-schema/ui/DensityMode.json +9 -0
- package/json-schema/ui/DndConfig.json +306 -0
- package/json-schema/ui/DragConstraint.json +44 -0
- package/json-schema/ui/DragHandle.json +10 -0
- package/json-schema/ui/DragItem.json +160 -0
- package/json-schema/ui/DropEffect.json +11 -0
- package/json-schema/ui/DropZone.json +114 -0
- package/json-schema/ui/EasingFunction.json +13 -0
- package/json-schema/ui/EvictionPolicy.json +10 -0
- package/json-schema/ui/FocusManagement.json +69 -0
- package/json-schema/ui/FocusTrapConfig.json +32 -0
- package/json-schema/ui/FormField.json +90 -3
- package/json-schema/ui/GalleryConfig.json +46 -0
- package/json-schema/ui/GestureConfig.json +128 -0
- package/json-schema/ui/GestureType.json +14 -0
- package/json-schema/ui/GroupNavItem.json +30 -1
- package/json-schema/ui/GroupingConfig.json +45 -0
- package/json-schema/ui/GroupingField.json +30 -0
- package/json-schema/ui/I18nLabel.json +34 -0
- package/json-schema/ui/I18nObject.json +26 -0
- package/json-schema/ui/KeyboardNavigationConfig.json +194 -0
- package/json-schema/ui/KeyboardShortcut.json +66 -0
- package/json-schema/ui/ListColumn.json +55 -1
- package/json-schema/ui/ListView.json +435 -4
- package/json-schema/ui/LocaleConfig.json +108 -0
- package/json-schema/ui/LongPressGestureConfig.json +20 -0
- package/json-schema/ui/MotionConfig.json +405 -0
- package/json-schema/ui/NavigationItem.json +150 -5
- package/json-schema/ui/Notification.json +232 -0
- package/json-schema/ui/NotificationAction.json +60 -0
- package/json-schema/ui/NotificationConfig.json +52 -0
- package/json-schema/ui/NotificationPosition.json +13 -0
- package/json-schema/ui/NotificationSeverity.json +11 -0
- package/json-schema/ui/NotificationType.json +12 -0
- package/json-schema/ui/NumberFormat.json +42 -0
- package/json-schema/ui/ObjectNavItem.json +30 -1
- package/json-schema/ui/OfflineCacheConfig.json +40 -0
- package/json-schema/ui/OfflineConfig.json +157 -0
- package/json-schema/ui/OfflineStrategy.json +12 -0
- package/json-schema/ui/Page.json +285 -3
- package/json-schema/ui/PageCardProps.json +79 -1
- package/json-schema/ui/PageComponent.json +175 -1
- package/json-schema/ui/PageHeaderProps.json +108 -2
- package/json-schema/ui/PageNavItem.json +30 -1
- package/json-schema/ui/PageRegion.json +175 -1
- package/json-schema/ui/PageTabsProps.json +79 -1
- package/json-schema/ui/PageTransition.json +53 -0
- package/json-schema/ui/PerformanceConfig.json +57 -0
- package/json-schema/ui/PersistStorage.json +10 -0
- package/json-schema/ui/PinchGestureConfig.json +16 -0
- package/json-schema/ui/PluralRule.json +40 -0
- package/json-schema/ui/Report.json +490 -8
- package/json-schema/ui/ReportChart.json +199 -5
- package/json-schema/ui/ReportColumn.json +126 -1
- package/json-schema/ui/ResponsiveConfig.json +97 -0
- package/json-schema/ui/RowColorConfig.json +25 -0
- package/json-schema/ui/RowHeight.json +12 -0
- package/json-schema/ui/SwipeDirection.json +10 -0
- package/json-schema/ui/SwipeGestureConfig.json +32 -0
- package/json-schema/ui/SyncConfig.json +47 -0
- package/json-schema/ui/Theme.json +137 -0
- package/json-schema/ui/TimelineConfig.json +46 -0
- package/json-schema/ui/TouchInteraction.json +232 -0
- package/json-schema/ui/TouchTargetConfig.json +49 -0
- package/json-schema/ui/TransitionConfig.json +47 -0
- package/json-schema/ui/TransitionPreset.json +16 -0
- package/json-schema/ui/UrlNavItem.json +30 -1
- package/json-schema/ui/ViewSharing.json +24 -0
- package/json-schema/ui/WcagContrastLevel.json +8 -0
- package/json-schema/ui/WidgetEvent.json +60 -2
- package/json-schema/ui/WidgetManifest.json +284 -6
- package/json-schema/ui/WidgetProperty.json +60 -2
- package/package.json +1 -1
- package/dist/index-C6p-2KXV.d.ts +0 -767
- package/dist/index-CVnGe2b8.d.mts +0 -767
- package/dist/index-CZjkpp75.d.mts +0 -3867
- package/dist/index-CgkjUheS.d.ts +0 -3867
- package/dist/{index-B08s7rEU.d.mts → index-DmhxH5jy.d.mts} +8 -8
- package/dist/{index-DqnBqATx.d.ts → index-y5JJvyML.d.ts} +8 -8
package/dist/ui/index.js
CHANGED
|
@@ -24,10 +24,15 @@ __export(ui_exports, {
|
|
|
24
24
|
ActionParamSchema: () => ActionParamSchema,
|
|
25
25
|
ActionSchema: () => ActionSchema,
|
|
26
26
|
AnimationSchema: () => AnimationSchema,
|
|
27
|
+
AnimationTriggerSchema: () => AnimationTriggerSchema,
|
|
27
28
|
App: () => App,
|
|
28
29
|
AppBrandingSchema: () => AppBrandingSchema,
|
|
29
30
|
AppSchema: () => AppSchema,
|
|
31
|
+
AriaPropsSchema: () => AriaPropsSchema,
|
|
30
32
|
BorderRadiusSchema: () => BorderRadiusSchema,
|
|
33
|
+
BreakpointColumnMapSchema: () => BreakpointColumnMapSchema,
|
|
34
|
+
BreakpointName: () => BreakpointName,
|
|
35
|
+
BreakpointOrderMapSchema: () => BreakpointOrderMapSchema,
|
|
31
36
|
BreakpointsSchema: () => BreakpointsSchema,
|
|
32
37
|
CalendarConfigSchema: () => CalendarConfigSchema,
|
|
33
38
|
ChartAnnotationSchema: () => ChartAnnotationSchema,
|
|
@@ -37,26 +42,63 @@ __export(ui_exports, {
|
|
|
37
42
|
ChartSeriesSchema: () => ChartSeriesSchema,
|
|
38
43
|
ChartTypeSchema: () => ChartTypeSchema,
|
|
39
44
|
ColorPaletteSchema: () => ColorPaletteSchema,
|
|
45
|
+
ColumnSummarySchema: () => ColumnSummarySchema,
|
|
46
|
+
ComponentAnimationSchema: () => ComponentAnimationSchema,
|
|
40
47
|
ComponentPropsMap: () => ComponentPropsMap,
|
|
48
|
+
ConflictResolutionSchema: () => ConflictResolutionSchema,
|
|
41
49
|
Dashboard: () => Dashboard,
|
|
42
50
|
DashboardNavItemSchema: () => DashboardNavItemSchema,
|
|
43
51
|
DashboardSchema: () => DashboardSchema,
|
|
44
52
|
DashboardWidgetSchema: () => DashboardWidgetSchema,
|
|
53
|
+
DateFormatSchema: () => DateFormatSchema,
|
|
54
|
+
DensityMode: () => DensityMode,
|
|
55
|
+
DndConfigSchema: () => DndConfigSchema,
|
|
56
|
+
DragConstraintSchema: () => DragConstraintSchema,
|
|
57
|
+
DragHandleSchema: () => DragHandleSchema,
|
|
58
|
+
DragItemSchema: () => DragItemSchema,
|
|
59
|
+
DropEffectSchema: () => DropEffectSchema,
|
|
60
|
+
DropZoneSchema: () => DropZoneSchema,
|
|
61
|
+
EasingFunctionSchema: () => EasingFunctionSchema,
|
|
62
|
+
EvictionPolicySchema: () => EvictionPolicySchema,
|
|
45
63
|
FieldWidgetPropsSchema: () => FieldWidgetPropsSchema,
|
|
64
|
+
FocusManagementSchema: () => FocusManagementSchema,
|
|
65
|
+
FocusTrapConfigSchema: () => FocusTrapConfigSchema,
|
|
46
66
|
FormFieldSchema: () => FormFieldSchema,
|
|
47
67
|
FormSectionSchema: () => FormSectionSchema,
|
|
48
68
|
FormViewSchema: () => FormViewSchema,
|
|
69
|
+
GalleryConfigSchema: () => GalleryConfigSchema,
|
|
49
70
|
GanttConfigSchema: () => GanttConfigSchema,
|
|
71
|
+
GestureConfigSchema: () => GestureConfigSchema,
|
|
72
|
+
GestureTypeSchema: () => GestureTypeSchema,
|
|
50
73
|
GroupNavItemSchema: () => GroupNavItemSchema,
|
|
74
|
+
GroupingConfigSchema: () => GroupingConfigSchema,
|
|
75
|
+
GroupingFieldSchema: () => GroupingFieldSchema,
|
|
51
76
|
HttpMethodSchema: () => HttpMethodSchema,
|
|
52
77
|
HttpRequestSchema: () => HttpRequestSchema,
|
|
78
|
+
I18nLabelSchema: () => I18nLabelSchema,
|
|
79
|
+
I18nObjectSchema: () => I18nObjectSchema,
|
|
53
80
|
KanbanConfigSchema: () => KanbanConfigSchema,
|
|
81
|
+
KeyboardNavigationConfigSchema: () => KeyboardNavigationConfigSchema,
|
|
82
|
+
KeyboardShortcutSchema: () => KeyboardShortcutSchema,
|
|
54
83
|
ListColumnSchema: () => ListColumnSchema,
|
|
55
84
|
ListViewSchema: () => ListViewSchema,
|
|
85
|
+
LocaleConfigSchema: () => LocaleConfigSchema,
|
|
86
|
+
LongPressGestureConfigSchema: () => LongPressGestureConfigSchema,
|
|
87
|
+
MotionConfigSchema: () => MotionConfigSchema,
|
|
56
88
|
NavigationConfigSchema: () => NavigationConfigSchema,
|
|
57
89
|
NavigationItemSchema: () => NavigationItemSchema,
|
|
58
90
|
NavigationModeSchema: () => NavigationModeSchema,
|
|
91
|
+
NotificationActionSchema: () => NotificationActionSchema,
|
|
92
|
+
NotificationConfigSchema: () => NotificationConfigSchema,
|
|
93
|
+
NotificationPositionSchema: () => NotificationPositionSchema,
|
|
94
|
+
NotificationSchema: () => NotificationSchema,
|
|
95
|
+
NotificationSeveritySchema: () => NotificationSeveritySchema,
|
|
96
|
+
NotificationTypeSchema: () => NotificationTypeSchema,
|
|
97
|
+
NumberFormatSchema: () => NumberFormatSchema,
|
|
59
98
|
ObjectNavItemSchema: () => ObjectNavItemSchema,
|
|
99
|
+
OfflineCacheConfigSchema: () => OfflineCacheConfigSchema,
|
|
100
|
+
OfflineConfigSchema: () => OfflineConfigSchema,
|
|
101
|
+
OfflineStrategySchema: () => OfflineStrategySchema,
|
|
60
102
|
PageCardProps: () => PageCardProps,
|
|
61
103
|
PageComponentSchema: () => PageComponentSchema,
|
|
62
104
|
PageComponentType: () => PageComponentType,
|
|
@@ -65,8 +107,13 @@ __export(ui_exports, {
|
|
|
65
107
|
PageRegionSchema: () => PageRegionSchema,
|
|
66
108
|
PageSchema: () => PageSchema,
|
|
67
109
|
PageTabsProps: () => PageTabsProps,
|
|
110
|
+
PageTransitionSchema: () => PageTransitionSchema,
|
|
68
111
|
PageVariableSchema: () => PageVariableSchema,
|
|
69
112
|
PaginationConfigSchema: () => PaginationConfigSchema,
|
|
113
|
+
PerformanceConfigSchema: () => PerformanceConfigSchema,
|
|
114
|
+
PersistStorageSchema: () => PersistStorageSchema,
|
|
115
|
+
PinchGestureConfigSchema: () => PinchGestureConfigSchema,
|
|
116
|
+
PluralRuleSchema: () => PluralRuleSchema,
|
|
70
117
|
RecordDetailsProps: () => RecordDetailsProps,
|
|
71
118
|
RecordHighlightsProps: () => RecordHighlightsProps,
|
|
72
119
|
RecordRelatedListProps: () => RecordRelatedListProps,
|
|
@@ -76,15 +123,28 @@ __export(ui_exports, {
|
|
|
76
123
|
ReportGroupingSchema: () => ReportGroupingSchema,
|
|
77
124
|
ReportSchema: () => ReportSchema,
|
|
78
125
|
ReportType: () => ReportType,
|
|
126
|
+
ResponsiveConfigSchema: () => ResponsiveConfigSchema,
|
|
127
|
+
RowColorConfigSchema: () => RowColorConfigSchema,
|
|
128
|
+
RowHeightSchema: () => RowHeightSchema,
|
|
79
129
|
SelectionConfigSchema: () => SelectionConfigSchema,
|
|
80
130
|
ShadowSchema: () => ShadowSchema,
|
|
81
131
|
SpacingSchema: () => SpacingSchema,
|
|
132
|
+
SwipeDirectionSchema: () => SwipeDirectionSchema,
|
|
133
|
+
SwipeGestureConfigSchema: () => SwipeGestureConfigSchema,
|
|
134
|
+
SyncConfigSchema: () => SyncConfigSchema,
|
|
82
135
|
ThemeMode: () => ThemeMode,
|
|
83
136
|
ThemeSchema: () => ThemeSchema,
|
|
137
|
+
TimelineConfigSchema: () => TimelineConfigSchema,
|
|
138
|
+
TouchInteractionSchema: () => TouchInteractionSchema,
|
|
139
|
+
TouchTargetConfigSchema: () => TouchTargetConfigSchema,
|
|
140
|
+
TransitionConfigSchema: () => TransitionConfigSchema,
|
|
141
|
+
TransitionPresetSchema: () => TransitionPresetSchema,
|
|
84
142
|
TypographySchema: () => TypographySchema,
|
|
85
143
|
UrlNavItemSchema: () => UrlNavItemSchema,
|
|
86
144
|
ViewDataSchema: () => ViewDataSchema,
|
|
87
145
|
ViewSchema: () => ViewSchema,
|
|
146
|
+
ViewSharingSchema: () => ViewSharingSchema,
|
|
147
|
+
WcagContrastLevel: () => WcagContrastLevel,
|
|
88
148
|
WidgetEventSchema: () => WidgetEventSchema,
|
|
89
149
|
WidgetLifecycleSchema: () => WidgetLifecycleSchema,
|
|
90
150
|
WidgetManifestSchema: () => WidgetManifestSchema,
|
|
@@ -95,8 +155,75 @@ __export(ui_exports, {
|
|
|
95
155
|
module.exports = __toCommonJS(ui_exports);
|
|
96
156
|
|
|
97
157
|
// src/ui/chart.zod.ts
|
|
158
|
+
var import_zod2 = require("zod");
|
|
159
|
+
|
|
160
|
+
// src/ui/i18n.zod.ts
|
|
98
161
|
var import_zod = require("zod");
|
|
99
|
-
var
|
|
162
|
+
var I18nObjectSchema = import_zod.z.object({
|
|
163
|
+
/** Translation key (e.g., "views.task_list.label", "apps.crm.description") */
|
|
164
|
+
key: import_zod.z.string().describe('Translation key (e.g., "views.task_list.label")'),
|
|
165
|
+
/** Default value when translation is not available */
|
|
166
|
+
defaultValue: import_zod.z.string().optional().describe("Fallback value when translation key is not found"),
|
|
167
|
+
/** Interpolation parameters for dynamic translations */
|
|
168
|
+
params: import_zod.z.record(import_zod.z.string(), import_zod.z.any()).optional().describe("Interpolation parameters (e.g., { count: 5 })")
|
|
169
|
+
});
|
|
170
|
+
var I18nLabelSchema = import_zod.z.union([
|
|
171
|
+
import_zod.z.string(),
|
|
172
|
+
I18nObjectSchema
|
|
173
|
+
]).describe("Display label: plain string or i18n translation object");
|
|
174
|
+
var AriaPropsSchema = import_zod.z.object({
|
|
175
|
+
/** Accessible label for screen readers */
|
|
176
|
+
ariaLabel: I18nLabelSchema.optional().describe("Accessible label for screen readers (WAI-ARIA aria-label)"),
|
|
177
|
+
/** ID of element that describes this component */
|
|
178
|
+
ariaDescribedBy: import_zod.z.string().optional().describe("ID of element providing additional description (WAI-ARIA aria-describedby)"),
|
|
179
|
+
/** WAI-ARIA role override */
|
|
180
|
+
role: import_zod.z.string().optional().describe('WAI-ARIA role attribute (e.g., "dialog", "navigation", "alert")')
|
|
181
|
+
}).describe("ARIA accessibility attributes");
|
|
182
|
+
var PluralRuleSchema = import_zod.z.object({
|
|
183
|
+
/** Translation key for the plural form */
|
|
184
|
+
key: import_zod.z.string().describe("Translation key"),
|
|
185
|
+
/** Form for zero quantity */
|
|
186
|
+
zero: import_zod.z.string().optional().describe('Zero form (e.g., "No items")'),
|
|
187
|
+
/** Form for singular (1) */
|
|
188
|
+
one: import_zod.z.string().optional().describe('Singular form (e.g., "{count} item")'),
|
|
189
|
+
/** Form for dual (2) — used in Arabic, Welsh, etc. */
|
|
190
|
+
two: import_zod.z.string().optional().describe('Dual form (e.g., "{count} items" for exactly 2)'),
|
|
191
|
+
/** Form for few (2-4 in Slavic languages) */
|
|
192
|
+
few: import_zod.z.string().optional().describe("Few form (e.g., for 2-4 in some languages)"),
|
|
193
|
+
/** Form for many (5+ in Slavic languages) */
|
|
194
|
+
many: import_zod.z.string().optional().describe("Many form (e.g., for 5+ in some languages)"),
|
|
195
|
+
/** Default/fallback form */
|
|
196
|
+
other: import_zod.z.string().describe('Default plural form (e.g., "{count} items")')
|
|
197
|
+
}).describe("ICU plural rules for a translation key");
|
|
198
|
+
var NumberFormatSchema = import_zod.z.object({
|
|
199
|
+
style: import_zod.z.enum(["decimal", "currency", "percent", "unit"]).default("decimal").describe("Number formatting style"),
|
|
200
|
+
currency: import_zod.z.string().optional().describe('ISO 4217 currency code (e.g., "USD", "EUR")'),
|
|
201
|
+
unit: import_zod.z.string().optional().describe('Unit for unit formatting (e.g., "kilometer", "liter")'),
|
|
202
|
+
minimumFractionDigits: import_zod.z.number().optional().describe("Minimum number of fraction digits"),
|
|
203
|
+
maximumFractionDigits: import_zod.z.number().optional().describe("Maximum number of fraction digits"),
|
|
204
|
+
useGrouping: import_zod.z.boolean().optional().describe("Whether to use grouping separators (e.g., 1,000)")
|
|
205
|
+
}).describe("Number formatting rules");
|
|
206
|
+
var DateFormatSchema = import_zod.z.object({
|
|
207
|
+
dateStyle: import_zod.z.enum(["full", "long", "medium", "short"]).optional().describe("Date display style"),
|
|
208
|
+
timeStyle: import_zod.z.enum(["full", "long", "medium", "short"]).optional().describe("Time display style"),
|
|
209
|
+
timeZone: import_zod.z.string().optional().describe('IANA time zone (e.g., "America/New_York")'),
|
|
210
|
+
hour12: import_zod.z.boolean().optional().describe("Use 12-hour format")
|
|
211
|
+
}).describe("Date/time formatting rules");
|
|
212
|
+
var LocaleConfigSchema = import_zod.z.object({
|
|
213
|
+
/** BCP 47 language code (e.g., "en-US", "zh-CN", "ar-SA") */
|
|
214
|
+
code: import_zod.z.string().describe('BCP 47 language code (e.g., "en-US", "zh-CN")'),
|
|
215
|
+
/** Ordered fallback chain for missing translations */
|
|
216
|
+
fallbackChain: import_zod.z.array(import_zod.z.string()).optional().describe('Fallback language codes in priority order (e.g., ["zh-TW", "en"])'),
|
|
217
|
+
/** Text direction */
|
|
218
|
+
direction: import_zod.z.enum(["ltr", "rtl"]).default("ltr").describe("Text direction: left-to-right or right-to-left"),
|
|
219
|
+
/** Default number formatting */
|
|
220
|
+
numberFormat: NumberFormatSchema.optional().describe("Default number formatting rules"),
|
|
221
|
+
/** Default date formatting */
|
|
222
|
+
dateFormat: DateFormatSchema.optional().describe("Default date/time formatting rules")
|
|
223
|
+
}).describe("Locale configuration");
|
|
224
|
+
|
|
225
|
+
// src/ui/chart.zod.ts
|
|
226
|
+
var ChartTypeSchema = import_zod2.z.enum([
|
|
100
227
|
// Comparison
|
|
101
228
|
"bar",
|
|
102
229
|
"horizontal-bar",
|
|
@@ -145,260 +272,382 @@ var ChartTypeSchema = import_zod.z.enum([
|
|
|
145
272
|
"table",
|
|
146
273
|
"pivot"
|
|
147
274
|
]);
|
|
148
|
-
var ChartAxisSchema =
|
|
275
|
+
var ChartAxisSchema = import_zod2.z.object({
|
|
149
276
|
/** Data field to map to this axis */
|
|
150
|
-
field:
|
|
277
|
+
field: import_zod2.z.string().describe("Data field key"),
|
|
151
278
|
/** Axis title */
|
|
152
|
-
title:
|
|
279
|
+
title: I18nLabelSchema.optional().describe("Axis display title"),
|
|
153
280
|
/** Value formatting (d3-format or similar) */
|
|
154
|
-
format:
|
|
281
|
+
format: import_zod2.z.string().optional().describe('Value format string (e.g., "$0,0.00")'),
|
|
155
282
|
/** Axis scale settings */
|
|
156
|
-
min:
|
|
157
|
-
max:
|
|
158
|
-
stepSize:
|
|
283
|
+
min: import_zod2.z.number().optional().describe("Minimum value"),
|
|
284
|
+
max: import_zod2.z.number().optional().describe("Maximum value"),
|
|
285
|
+
stepSize: import_zod2.z.number().optional().describe("Step size for ticks"),
|
|
159
286
|
/** Appearance */
|
|
160
|
-
showGridLines:
|
|
161
|
-
position:
|
|
287
|
+
showGridLines: import_zod2.z.boolean().default(true),
|
|
288
|
+
position: import_zod2.z.enum(["left", "right", "top", "bottom"]).optional().describe("Axis position"),
|
|
162
289
|
/** Logarithmic scale */
|
|
163
|
-
logarithmic:
|
|
290
|
+
logarithmic: import_zod2.z.boolean().default(false)
|
|
164
291
|
});
|
|
165
|
-
var ChartSeriesSchema =
|
|
292
|
+
var ChartSeriesSchema = import_zod2.z.object({
|
|
166
293
|
/** Field name for values */
|
|
167
|
-
name:
|
|
294
|
+
name: import_zod2.z.string().describe("Field name or series identifier"),
|
|
168
295
|
/** Display label */
|
|
169
|
-
label:
|
|
296
|
+
label: I18nLabelSchema.optional().describe("Series display label"),
|
|
170
297
|
/** Series type override (combo charts) */
|
|
171
298
|
type: ChartTypeSchema.optional().describe("Override chart type for this series"),
|
|
172
299
|
/** Specific color */
|
|
173
|
-
color:
|
|
300
|
+
color: import_zod2.z.string().optional().describe("Series color (hex/rgb/token)"),
|
|
174
301
|
/** Stacking group */
|
|
175
|
-
stack:
|
|
302
|
+
stack: import_zod2.z.string().optional().describe("Stack identifier to group series"),
|
|
176
303
|
/** Axis binding */
|
|
177
|
-
yAxis:
|
|
178
|
-
});
|
|
179
|
-
var ChartAnnotationSchema =
|
|
180
|
-
type:
|
|
181
|
-
axis:
|
|
182
|
-
value:
|
|
183
|
-
endValue:
|
|
184
|
-
color:
|
|
185
|
-
label:
|
|
186
|
-
style:
|
|
187
|
-
});
|
|
188
|
-
var ChartInteractionSchema =
|
|
189
|
-
tooltips:
|
|
190
|
-
zoom:
|
|
191
|
-
brush:
|
|
192
|
-
clickAction:
|
|
193
|
-
});
|
|
194
|
-
var ChartConfigSchema =
|
|
304
|
+
yAxis: import_zod2.z.enum(["left", "right"]).default("left").describe("Bind to specific Y-Axis")
|
|
305
|
+
});
|
|
306
|
+
var ChartAnnotationSchema = import_zod2.z.object({
|
|
307
|
+
type: import_zod2.z.enum(["line", "region"]).default("line"),
|
|
308
|
+
axis: import_zod2.z.enum(["x", "y"]).default("y"),
|
|
309
|
+
value: import_zod2.z.union([import_zod2.z.number(), import_zod2.z.string()]).describe("Start value"),
|
|
310
|
+
endValue: import_zod2.z.union([import_zod2.z.number(), import_zod2.z.string()]).optional().describe("End value for regions"),
|
|
311
|
+
color: import_zod2.z.string().optional(),
|
|
312
|
+
label: I18nLabelSchema.optional(),
|
|
313
|
+
style: import_zod2.z.enum(["solid", "dashed", "dotted"]).default("dashed")
|
|
314
|
+
});
|
|
315
|
+
var ChartInteractionSchema = import_zod2.z.object({
|
|
316
|
+
tooltips: import_zod2.z.boolean().default(true),
|
|
317
|
+
zoom: import_zod2.z.boolean().default(false),
|
|
318
|
+
brush: import_zod2.z.boolean().default(false),
|
|
319
|
+
clickAction: import_zod2.z.string().optional().describe("Action ID to trigger on click")
|
|
320
|
+
});
|
|
321
|
+
var ChartConfigSchema = import_zod2.z.object({
|
|
195
322
|
/** Chart Type */
|
|
196
323
|
type: ChartTypeSchema,
|
|
197
324
|
/** Titles */
|
|
198
|
-
title:
|
|
199
|
-
subtitle:
|
|
200
|
-
description:
|
|
325
|
+
title: I18nLabelSchema.optional().describe("Chart title"),
|
|
326
|
+
subtitle: I18nLabelSchema.optional().describe("Chart subtitle"),
|
|
327
|
+
description: I18nLabelSchema.optional().describe("Accessibility description"),
|
|
201
328
|
/** Axes Mapping */
|
|
202
329
|
xAxis: ChartAxisSchema.optional().describe("X-Axis configuration"),
|
|
203
|
-
yAxis:
|
|
330
|
+
yAxis: import_zod2.z.array(ChartAxisSchema).optional().describe("Y-Axis configuration (support dual axis)"),
|
|
204
331
|
/** Series Configuration */
|
|
205
|
-
series:
|
|
332
|
+
series: import_zod2.z.array(ChartSeriesSchema).optional().describe("Defined series configuration"),
|
|
206
333
|
/** Appearance */
|
|
207
|
-
colors:
|
|
208
|
-
height:
|
|
334
|
+
colors: import_zod2.z.array(import_zod2.z.string()).optional().describe("Color palette"),
|
|
335
|
+
height: import_zod2.z.number().optional().describe("Fixed height in pixels"),
|
|
209
336
|
/** Components */
|
|
210
|
-
showLegend:
|
|
211
|
-
showDataLabels:
|
|
337
|
+
showLegend: import_zod2.z.boolean().default(true).describe("Display legend"),
|
|
338
|
+
showDataLabels: import_zod2.z.boolean().default(false).describe("Display data labels"),
|
|
212
339
|
/** Annotations & Reference Lines */
|
|
213
|
-
annotations:
|
|
340
|
+
annotations: import_zod2.z.array(ChartAnnotationSchema).optional(),
|
|
214
341
|
/** Interactions */
|
|
215
|
-
interaction: ChartInteractionSchema.optional()
|
|
342
|
+
interaction: ChartInteractionSchema.optional(),
|
|
343
|
+
/** ARIA accessibility attributes */
|
|
344
|
+
aria: AriaPropsSchema.optional().describe("ARIA accessibility attributes")
|
|
216
345
|
});
|
|
217
346
|
|
|
218
|
-
// src/ui/
|
|
347
|
+
// src/ui/responsive.zod.ts
|
|
219
348
|
var import_zod3 = require("zod");
|
|
349
|
+
var BreakpointName = import_zod3.z.enum(["xs", "sm", "md", "lg", "xl", "2xl"]);
|
|
350
|
+
var BreakpointColumnMapSchema = import_zod3.z.object({
|
|
351
|
+
xs: import_zod3.z.number().min(1).max(12).optional(),
|
|
352
|
+
sm: import_zod3.z.number().min(1).max(12).optional(),
|
|
353
|
+
md: import_zod3.z.number().min(1).max(12).optional(),
|
|
354
|
+
lg: import_zod3.z.number().min(1).max(12).optional(),
|
|
355
|
+
xl: import_zod3.z.number().min(1).max(12).optional(),
|
|
356
|
+
"2xl": import_zod3.z.number().min(1).max(12).optional()
|
|
357
|
+
}).describe("Grid columns per breakpoint (1-12)");
|
|
358
|
+
var BreakpointOrderMapSchema = import_zod3.z.object({
|
|
359
|
+
xs: import_zod3.z.number().optional(),
|
|
360
|
+
sm: import_zod3.z.number().optional(),
|
|
361
|
+
md: import_zod3.z.number().optional(),
|
|
362
|
+
lg: import_zod3.z.number().optional(),
|
|
363
|
+
xl: import_zod3.z.number().optional(),
|
|
364
|
+
"2xl": import_zod3.z.number().optional()
|
|
365
|
+
}).describe("Display order per breakpoint");
|
|
366
|
+
var ResponsiveConfigSchema = import_zod3.z.object({
|
|
367
|
+
/** Minimum breakpoint for visibility */
|
|
368
|
+
breakpoint: BreakpointName.optional().describe("Minimum breakpoint for visibility"),
|
|
369
|
+
/** Hide on specific breakpoints */
|
|
370
|
+
hiddenOn: import_zod3.z.array(BreakpointName).optional().describe("Hide on these breakpoints"),
|
|
371
|
+
/** Grid columns per breakpoint (1-12 column grid) */
|
|
372
|
+
columns: BreakpointColumnMapSchema.optional().describe("Grid columns per breakpoint"),
|
|
373
|
+
/** Display order per breakpoint */
|
|
374
|
+
order: BreakpointOrderMapSchema.optional().describe("Display order per breakpoint")
|
|
375
|
+
}).describe("Responsive layout configuration");
|
|
376
|
+
var PerformanceConfigSchema = import_zod3.z.object({
|
|
377
|
+
/** Enable lazy loading for this component */
|
|
378
|
+
lazyLoad: import_zod3.z.boolean().optional().describe("Enable lazy loading (defer rendering until visible)"),
|
|
379
|
+
/** Virtual scrolling configuration for large datasets */
|
|
380
|
+
virtualScroll: import_zod3.z.object({
|
|
381
|
+
enabled: import_zod3.z.boolean().default(false).describe("Enable virtual scrolling"),
|
|
382
|
+
itemHeight: import_zod3.z.number().optional().describe("Fixed item height in pixels (for estimation)"),
|
|
383
|
+
overscan: import_zod3.z.number().optional().describe("Number of extra items to render outside viewport")
|
|
384
|
+
}).optional().describe("Virtual scrolling configuration"),
|
|
385
|
+
/** Client-side caching strategy */
|
|
386
|
+
cacheStrategy: import_zod3.z.enum([
|
|
387
|
+
"none",
|
|
388
|
+
"cache-first",
|
|
389
|
+
"network-first",
|
|
390
|
+
"stale-while-revalidate"
|
|
391
|
+
]).optional().describe("Client-side data caching strategy"),
|
|
392
|
+
/** Enable data prefetching */
|
|
393
|
+
prefetch: import_zod3.z.boolean().optional().describe("Prefetch data before component is visible"),
|
|
394
|
+
/** Maximum number of items to render before pagination */
|
|
395
|
+
pageSize: import_zod3.z.number().optional().describe("Number of items per page for pagination"),
|
|
396
|
+
/** Debounce interval for user interactions (ms) */
|
|
397
|
+
debounceMs: import_zod3.z.number().optional().describe("Debounce interval for user interactions in milliseconds")
|
|
398
|
+
}).describe("Performance optimization configuration");
|
|
399
|
+
|
|
400
|
+
// src/ui/app.zod.ts
|
|
401
|
+
var import_zod5 = require("zod");
|
|
220
402
|
|
|
221
403
|
// src/shared/identifiers.zod.ts
|
|
222
|
-
var
|
|
223
|
-
var SystemIdentifierSchema =
|
|
404
|
+
var import_zod4 = require("zod");
|
|
405
|
+
var SystemIdentifierSchema = import_zod4.z.string().min(2, { message: "System identifier must be at least 2 characters" }).regex(/^[a-z][a-z0-9_.]*$/, {
|
|
224
406
|
message: 'System identifier must be lowercase, starting with a letter, and may contain letters, numbers, underscores, or dots (e.g., "user_profile" or "order.created")'
|
|
225
407
|
}).describe("System identifier (lowercase with underscores or dots)");
|
|
226
|
-
var SnakeCaseIdentifierSchema =
|
|
408
|
+
var SnakeCaseIdentifierSchema = import_zod4.z.string().min(2, { message: "Identifier must be at least 2 characters" }).regex(/^[a-z][a-z0-9_]*$/, {
|
|
227
409
|
message: 'Identifier must be lowercase snake_case, starting with a letter, and may contain only letters, numbers, and underscores (e.g., "user_profile")'
|
|
228
410
|
}).describe("Snake case identifier (lowercase with underscores only)");
|
|
229
|
-
var EventNameSchema =
|
|
411
|
+
var EventNameSchema = import_zod4.z.string().min(3, { message: "Event name must be at least 3 characters" }).regex(/^[a-z][a-z0-9_.]*$/, {
|
|
230
412
|
message: 'Event name must be lowercase with dots for namespacing (e.g., "user.created", "order.paid")'
|
|
231
413
|
}).describe("Event name (lowercase with dot notation for namespacing)");
|
|
232
414
|
|
|
233
415
|
// src/ui/app.zod.ts
|
|
234
|
-
var BaseNavItemSchema =
|
|
416
|
+
var BaseNavItemSchema = import_zod5.z.object({
|
|
235
417
|
/** Unique identifier for the item */
|
|
236
418
|
id: SnakeCaseIdentifierSchema.describe("Unique identifier for this navigation item (lowercase snake_case)"),
|
|
237
419
|
/** Display label */
|
|
238
|
-
label:
|
|
420
|
+
label: I18nLabelSchema.describe("Display proper label"),
|
|
239
421
|
/** Icon name (Lucide) */
|
|
240
|
-
icon:
|
|
422
|
+
icon: import_zod5.z.string().optional().describe("Icon name"),
|
|
241
423
|
/**
|
|
242
424
|
* Visibility condition.
|
|
243
425
|
* Formula expression returning boolean.
|
|
244
426
|
* e.g. "user.is_admin || user.department == 'sales'"
|
|
245
427
|
*/
|
|
246
|
-
visible:
|
|
428
|
+
visible: import_zod5.z.string().optional().describe("Visibility formula condition")
|
|
247
429
|
});
|
|
248
430
|
var ObjectNavItemSchema = BaseNavItemSchema.extend({
|
|
249
|
-
type:
|
|
250
|
-
objectName:
|
|
251
|
-
viewName:
|
|
431
|
+
type: import_zod5.z.literal("object"),
|
|
432
|
+
objectName: import_zod5.z.string().describe("Target object name"),
|
|
433
|
+
viewName: import_zod5.z.string().optional().describe('Default list view to open. Defaults to "all"')
|
|
252
434
|
});
|
|
253
435
|
var DashboardNavItemSchema = BaseNavItemSchema.extend({
|
|
254
|
-
type:
|
|
255
|
-
dashboardName:
|
|
436
|
+
type: import_zod5.z.literal("dashboard"),
|
|
437
|
+
dashboardName: import_zod5.z.string().describe("Target dashboard name")
|
|
256
438
|
});
|
|
257
439
|
var PageNavItemSchema = BaseNavItemSchema.extend({
|
|
258
|
-
type:
|
|
259
|
-
pageName:
|
|
260
|
-
params:
|
|
440
|
+
type: import_zod5.z.literal("page"),
|
|
441
|
+
pageName: import_zod5.z.string().describe("Target custom page component name"),
|
|
442
|
+
params: import_zod5.z.record(import_zod5.z.string(), import_zod5.z.unknown()).optional().describe("Parameters passed to the page context")
|
|
261
443
|
});
|
|
262
444
|
var UrlNavItemSchema = BaseNavItemSchema.extend({
|
|
263
|
-
type:
|
|
264
|
-
url:
|
|
265
|
-
target:
|
|
445
|
+
type: import_zod5.z.literal("url"),
|
|
446
|
+
url: import_zod5.z.string().describe("Target external URL"),
|
|
447
|
+
target: import_zod5.z.enum(["_self", "_blank"]).default("_self").describe("Link target window")
|
|
266
448
|
});
|
|
267
449
|
var GroupNavItemSchema = BaseNavItemSchema.extend({
|
|
268
|
-
type:
|
|
269
|
-
expanded:
|
|
450
|
+
type: import_zod5.z.literal("group"),
|
|
451
|
+
expanded: import_zod5.z.boolean().default(false).describe("Default expansion state in sidebar")
|
|
270
452
|
// children property is added in the recursive definition below
|
|
271
453
|
});
|
|
272
|
-
var NavigationItemSchema =
|
|
273
|
-
() =>
|
|
454
|
+
var NavigationItemSchema = import_zod5.z.lazy(
|
|
455
|
+
() => import_zod5.z.union([
|
|
274
456
|
// Object Item can now have children (Airtable style: Object -> Views)
|
|
275
457
|
ObjectNavItemSchema.extend({
|
|
276
|
-
children:
|
|
458
|
+
children: import_zod5.z.array(NavigationItemSchema).optional().describe("Child navigation items (e.g. specific views)")
|
|
277
459
|
}),
|
|
278
460
|
DashboardNavItemSchema,
|
|
279
461
|
PageNavItemSchema,
|
|
280
462
|
UrlNavItemSchema,
|
|
281
463
|
GroupNavItemSchema.extend({
|
|
282
|
-
children:
|
|
464
|
+
children: import_zod5.z.array(NavigationItemSchema).describe("Child navigation items")
|
|
283
465
|
})
|
|
284
466
|
])
|
|
285
467
|
);
|
|
286
|
-
var AppBrandingSchema =
|
|
287
|
-
primaryColor:
|
|
288
|
-
logo:
|
|
289
|
-
favicon:
|
|
468
|
+
var AppBrandingSchema = import_zod5.z.object({
|
|
469
|
+
primaryColor: import_zod5.z.string().optional().describe("Primary theme color hex code"),
|
|
470
|
+
logo: import_zod5.z.string().optional().describe("Custom logo URL for this app"),
|
|
471
|
+
favicon: import_zod5.z.string().optional().describe("Custom favicon URL for this app")
|
|
290
472
|
});
|
|
291
|
-
var AppSchema =
|
|
473
|
+
var AppSchema = import_zod5.z.object({
|
|
292
474
|
/** Machine name (id) */
|
|
293
475
|
name: SnakeCaseIdentifierSchema.describe("App unique machine name (lowercase snake_case)"),
|
|
294
476
|
/** Display label */
|
|
295
|
-
label:
|
|
477
|
+
label: I18nLabelSchema.describe("App display label"),
|
|
296
478
|
/** App version */
|
|
297
|
-
version:
|
|
479
|
+
version: import_zod5.z.string().optional().describe("App version"),
|
|
298
480
|
/** Description */
|
|
299
|
-
description:
|
|
481
|
+
description: I18nLabelSchema.optional().describe("App description"),
|
|
300
482
|
/** Icon name (Lucide) */
|
|
301
|
-
icon:
|
|
483
|
+
icon: import_zod5.z.string().optional().describe("App icon used in the App Launcher"),
|
|
302
484
|
/** Branding/Theming Configuration */
|
|
303
485
|
branding: AppBrandingSchema.optional().describe("App-specific branding"),
|
|
304
486
|
/** Application status */
|
|
305
|
-
active:
|
|
487
|
+
active: import_zod5.z.boolean().optional().default(true).describe("Whether the app is enabled"),
|
|
306
488
|
/** Is this the default app for new users? */
|
|
307
|
-
isDefault:
|
|
489
|
+
isDefault: import_zod5.z.boolean().optional().default(false).describe("Is default app"),
|
|
308
490
|
/**
|
|
309
491
|
* Navigation Tree Structure.
|
|
310
492
|
* Replaces the old flat 'tabs' list with a structured menu.
|
|
311
493
|
*/
|
|
312
|
-
navigation:
|
|
494
|
+
navigation: import_zod5.z.array(NavigationItemSchema).optional().describe("Structured navigation menu tree"),
|
|
313
495
|
/**
|
|
314
496
|
* App-level Home Page Override
|
|
315
497
|
* ID of the navigation item to act as the landing page.
|
|
316
498
|
* If not set, usually defaults to the first navigation item.
|
|
317
499
|
*/
|
|
318
|
-
homePageId:
|
|
500
|
+
homePageId: import_zod5.z.string().optional().describe("ID of the navigation item to serve as landing page"),
|
|
319
501
|
/**
|
|
320
502
|
* Access Control
|
|
321
503
|
* List of permissions required to access this app.
|
|
322
504
|
* Modern replacement for role/profile based assignment.
|
|
323
505
|
* Example: ["app.access.crm"]
|
|
324
506
|
*/
|
|
325
|
-
requiredPermissions:
|
|
507
|
+
requiredPermissions: import_zod5.z.array(import_zod5.z.string()).optional().describe("Permissions required to access this app"),
|
|
326
508
|
/**
|
|
327
509
|
* Package Components (For config file convenience)
|
|
328
510
|
* In a real monorepo these might be auto-discovered, but here we allow explicit registration.
|
|
329
511
|
*/
|
|
330
|
-
objects:
|
|
331
|
-
apis:
|
|
512
|
+
objects: import_zod5.z.array(import_zod5.z.unknown()).optional().describe("Objects belonging to this app"),
|
|
513
|
+
apis: import_zod5.z.array(import_zod5.z.unknown()).optional().describe("Custom APIs belonging to this app"),
|
|
514
|
+
/** Mobile navigation mode */
|
|
515
|
+
mobileNavigation: import_zod5.z.object({
|
|
516
|
+
mode: import_zod5.z.enum(["drawer", "bottom_nav", "hamburger"]).default("drawer").describe("Mobile navigation mode: drawer sidebar, bottom navigation bar, or hamburger menu"),
|
|
517
|
+
bottomNavItems: import_zod5.z.array(import_zod5.z.string()).optional().describe("Navigation item IDs to show in bottom nav (max 5)")
|
|
518
|
+
}).optional().describe("Mobile-specific navigation configuration"),
|
|
519
|
+
/** ARIA accessibility attributes */
|
|
520
|
+
aria: AriaPropsSchema.optional().describe("ARIA accessibility attributes for the application")
|
|
332
521
|
});
|
|
333
522
|
var App = {
|
|
334
523
|
create: (config) => AppSchema.parse(config)
|
|
335
524
|
};
|
|
336
525
|
|
|
337
526
|
// src/ui/view.zod.ts
|
|
338
|
-
var
|
|
339
|
-
var HttpMethodSchema =
|
|
340
|
-
var HttpRequestSchema =
|
|
341
|
-
url:
|
|
527
|
+
var import_zod6 = require("zod");
|
|
528
|
+
var HttpMethodSchema = import_zod6.z.enum(["GET", "POST", "PUT", "PATCH", "DELETE"]);
|
|
529
|
+
var HttpRequestSchema = import_zod6.z.object({
|
|
530
|
+
url: import_zod6.z.string().describe("API endpoint URL"),
|
|
342
531
|
method: HttpMethodSchema.optional().default("GET").describe("HTTP method"),
|
|
343
|
-
headers:
|
|
344
|
-
params:
|
|
345
|
-
body:
|
|
346
|
-
});
|
|
347
|
-
var ViewDataSchema =
|
|
348
|
-
|
|
349
|
-
provider:
|
|
350
|
-
object:
|
|
532
|
+
headers: import_zod6.z.record(import_zod6.z.string(), import_zod6.z.string()).optional().describe("Custom HTTP headers"),
|
|
533
|
+
params: import_zod6.z.record(import_zod6.z.string(), import_zod6.z.unknown()).optional().describe("Query parameters"),
|
|
534
|
+
body: import_zod6.z.unknown().optional().describe("Request body for POST/PUT/PATCH")
|
|
535
|
+
});
|
|
536
|
+
var ViewDataSchema = import_zod6.z.discriminatedUnion("provider", [
|
|
537
|
+
import_zod6.z.object({
|
|
538
|
+
provider: import_zod6.z.literal("object"),
|
|
539
|
+
object: import_zod6.z.string().describe("Target object name")
|
|
351
540
|
}),
|
|
352
|
-
|
|
353
|
-
provider:
|
|
541
|
+
import_zod6.z.object({
|
|
542
|
+
provider: import_zod6.z.literal("api"),
|
|
354
543
|
read: HttpRequestSchema.optional().describe("Configuration for fetching data"),
|
|
355
544
|
write: HttpRequestSchema.optional().describe("Configuration for submitting data (for forms/editable tables)")
|
|
356
545
|
}),
|
|
357
|
-
|
|
358
|
-
provider:
|
|
359
|
-
items:
|
|
546
|
+
import_zod6.z.object({
|
|
547
|
+
provider: import_zod6.z.literal("value"),
|
|
548
|
+
items: import_zod6.z.array(import_zod6.z.unknown()).describe("Static data array")
|
|
360
549
|
})
|
|
361
550
|
]);
|
|
362
|
-
var
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
551
|
+
var ColumnSummarySchema = import_zod6.z.enum([
|
|
552
|
+
"none",
|
|
553
|
+
"count",
|
|
554
|
+
"count_empty",
|
|
555
|
+
"count_filled",
|
|
556
|
+
"count_unique",
|
|
557
|
+
"percent_empty",
|
|
558
|
+
"percent_filled",
|
|
559
|
+
"sum",
|
|
560
|
+
"avg",
|
|
561
|
+
"min",
|
|
562
|
+
"max"
|
|
563
|
+
]).describe("Aggregation function for column footer summary");
|
|
564
|
+
var ListColumnSchema = import_zod6.z.object({
|
|
565
|
+
field: import_zod6.z.string().describe("Field name (snake_case)"),
|
|
566
|
+
label: I18nLabelSchema.optional().describe("Display label override"),
|
|
567
|
+
width: import_zod6.z.number().positive().optional().describe("Column width in pixels"),
|
|
568
|
+
align: import_zod6.z.enum(["left", "center", "right"]).optional().describe("Text alignment"),
|
|
569
|
+
hidden: import_zod6.z.boolean().optional().describe("Hide column by default"),
|
|
570
|
+
sortable: import_zod6.z.boolean().optional().describe("Allow sorting by this column"),
|
|
571
|
+
resizable: import_zod6.z.boolean().optional().describe("Allow resizing this column"),
|
|
572
|
+
wrap: import_zod6.z.boolean().optional().describe("Allow text wrapping"),
|
|
573
|
+
type: import_zod6.z.string().optional().describe('Renderer type override (e.g., "currency", "date")'),
|
|
574
|
+
/** Pinning (Airtable-style frozen columns) */
|
|
575
|
+
pinned: import_zod6.z.enum(["left", "right"]).optional().describe("Pin/freeze column to left or right side"),
|
|
576
|
+
/** Column Footer Summary (Airtable-style aggregation) */
|
|
577
|
+
summary: ColumnSummarySchema.optional().describe("Footer aggregation function for this column"),
|
|
372
578
|
/** Interaction */
|
|
373
|
-
link:
|
|
374
|
-
action:
|
|
375
|
-
});
|
|
376
|
-
var SelectionConfigSchema =
|
|
377
|
-
type:
|
|
378
|
-
});
|
|
379
|
-
var PaginationConfigSchema =
|
|
380
|
-
pageSize:
|
|
381
|
-
pageSizeOptions:
|
|
382
|
-
});
|
|
383
|
-
var
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
579
|
+
link: import_zod6.z.boolean().optional().describe("Functions as the primary navigation link (triggers View navigation)"),
|
|
580
|
+
action: import_zod6.z.string().optional().describe("Registered Action ID to execute when clicked")
|
|
581
|
+
});
|
|
582
|
+
var SelectionConfigSchema = import_zod6.z.object({
|
|
583
|
+
type: import_zod6.z.enum(["none", "single", "multiple"]).default("none").describe("Selection mode")
|
|
584
|
+
});
|
|
585
|
+
var PaginationConfigSchema = import_zod6.z.object({
|
|
586
|
+
pageSize: import_zod6.z.number().int().positive().default(25).describe("Number of records per page"),
|
|
587
|
+
pageSizeOptions: import_zod6.z.array(import_zod6.z.number().int().positive()).optional().describe("Available page size options")
|
|
588
|
+
});
|
|
589
|
+
var RowHeightSchema = import_zod6.z.enum([
|
|
590
|
+
"compact",
|
|
591
|
+
// Minimal padding, single line
|
|
592
|
+
"short",
|
|
593
|
+
// Reduced padding
|
|
594
|
+
"medium",
|
|
595
|
+
// Default padding
|
|
596
|
+
"tall",
|
|
597
|
+
// Extra padding, multi-line preview
|
|
598
|
+
"extra_tall"
|
|
599
|
+
// Maximum padding, rich content preview
|
|
600
|
+
]).describe("Row height / density setting for list view");
|
|
601
|
+
var GroupingFieldSchema = import_zod6.z.object({
|
|
602
|
+
field: import_zod6.z.string().describe("Field name to group by"),
|
|
603
|
+
order: import_zod6.z.enum(["asc", "desc"]).default("asc").describe("Group sort order"),
|
|
604
|
+
collapsed: import_zod6.z.boolean().default(false).describe("Collapse groups by default")
|
|
605
|
+
});
|
|
606
|
+
var GroupingConfigSchema = import_zod6.z.object({
|
|
607
|
+
fields: import_zod6.z.array(GroupingFieldSchema).min(1).describe("Fields to group by (supports up to 3 levels)")
|
|
608
|
+
}).describe("Record grouping configuration");
|
|
609
|
+
var GalleryConfigSchema = import_zod6.z.object({
|
|
610
|
+
coverField: import_zod6.z.string().optional().describe("Attachment/image field to display as card cover"),
|
|
611
|
+
coverFit: import_zod6.z.enum(["cover", "contain"]).default("cover").describe("Image fit mode for card cover"),
|
|
612
|
+
cardSize: import_zod6.z.enum(["small", "medium", "large"]).default("medium").describe("Card size in gallery view"),
|
|
613
|
+
titleField: import_zod6.z.string().optional().describe("Field to display as card title"),
|
|
614
|
+
visibleFields: import_zod6.z.array(import_zod6.z.string()).optional().describe("Fields to display on card body")
|
|
615
|
+
}).describe("Gallery/card view configuration");
|
|
616
|
+
var TimelineConfigSchema = import_zod6.z.object({
|
|
617
|
+
startDateField: import_zod6.z.string().describe("Field for timeline item start date"),
|
|
618
|
+
endDateField: import_zod6.z.string().optional().describe("Field for timeline item end date"),
|
|
619
|
+
titleField: import_zod6.z.string().describe("Field to display as timeline item title"),
|
|
620
|
+
groupByField: import_zod6.z.string().optional().describe("Field to group timeline rows"),
|
|
621
|
+
colorField: import_zod6.z.string().optional().describe("Field to determine item color"),
|
|
622
|
+
scale: import_zod6.z.enum(["hour", "day", "week", "month", "quarter", "year"]).default("week").describe("Default timeline scale")
|
|
623
|
+
}).describe("Timeline view configuration");
|
|
624
|
+
var ViewSharingSchema = import_zod6.z.object({
|
|
625
|
+
type: import_zod6.z.enum(["personal", "collaborative"]).default("collaborative").describe("View ownership type"),
|
|
626
|
+
lockedBy: import_zod6.z.string().optional().describe("User who locked the view configuration")
|
|
627
|
+
}).describe("View sharing and access configuration");
|
|
628
|
+
var RowColorConfigSchema = import_zod6.z.object({
|
|
629
|
+
field: import_zod6.z.string().describe("Field to derive color from (typically a select/status field)"),
|
|
630
|
+
colors: import_zod6.z.record(import_zod6.z.string(), import_zod6.z.string()).optional().describe("Map of field value to color (hex/token)")
|
|
631
|
+
}).describe("Row color configuration based on field values");
|
|
632
|
+
var KanbanConfigSchema = import_zod6.z.object({
|
|
633
|
+
groupByField: import_zod6.z.string().describe("Field to group columns by (usually status/select)"),
|
|
634
|
+
summarizeField: import_zod6.z.string().optional().describe("Field to sum at top of column (e.g. amount)"),
|
|
635
|
+
columns: import_zod6.z.array(import_zod6.z.string()).describe("Fields to show on cards")
|
|
636
|
+
});
|
|
637
|
+
var CalendarConfigSchema = import_zod6.z.object({
|
|
638
|
+
startDateField: import_zod6.z.string(),
|
|
639
|
+
endDateField: import_zod6.z.string().optional(),
|
|
640
|
+
titleField: import_zod6.z.string(),
|
|
641
|
+
colorField: import_zod6.z.string().optional()
|
|
642
|
+
});
|
|
643
|
+
var GanttConfigSchema = import_zod6.z.object({
|
|
644
|
+
startDateField: import_zod6.z.string(),
|
|
645
|
+
endDateField: import_zod6.z.string(),
|
|
646
|
+
titleField: import_zod6.z.string(),
|
|
647
|
+
progressField: import_zod6.z.string().optional(),
|
|
648
|
+
dependenciesField: import_zod6.z.string().optional()
|
|
649
|
+
});
|
|
650
|
+
var NavigationModeSchema = import_zod6.z.enum([
|
|
402
651
|
"page",
|
|
403
652
|
// Navigate to a new route (default)
|
|
404
653
|
"drawer",
|
|
@@ -414,21 +663,21 @@ var NavigationModeSchema = import_zod4.z.enum([
|
|
|
414
663
|
"none"
|
|
415
664
|
// No navigation (read-only list)
|
|
416
665
|
]);
|
|
417
|
-
var NavigationConfigSchema =
|
|
666
|
+
var NavigationConfigSchema = import_zod6.z.object({
|
|
418
667
|
mode: NavigationModeSchema.default("page"),
|
|
419
668
|
/** Target View Config */
|
|
420
|
-
view:
|
|
669
|
+
view: import_zod6.z.string().optional().describe('Name of the form view to use for details (e.g. "summary_view", "edit_form")'),
|
|
421
670
|
/** Interaction Triggers */
|
|
422
|
-
preventNavigation:
|
|
423
|
-
openNewTab:
|
|
671
|
+
preventNavigation: import_zod6.z.boolean().default(false).describe("Disable standard navigation entirely"),
|
|
672
|
+
openNewTab: import_zod6.z.boolean().default(false).describe("Force open in new tab (applies to page mode)"),
|
|
424
673
|
/** Dimensions (for modal/drawer) */
|
|
425
|
-
width:
|
|
674
|
+
width: import_zod6.z.union([import_zod6.z.string(), import_zod6.z.number()]).optional().describe('Width of the drawer/modal (e.g. "600px", "50%")')
|
|
426
675
|
});
|
|
427
|
-
var ListViewSchema =
|
|
676
|
+
var ListViewSchema = import_zod6.z.object({
|
|
428
677
|
name: SnakeCaseIdentifierSchema.optional().describe("Internal view name (lowercase snake_case)"),
|
|
429
|
-
label:
|
|
430
|
-
// Display label override
|
|
431
|
-
type:
|
|
678
|
+
label: I18nLabelSchema.optional(),
|
|
679
|
+
// Display label override (supports i18n)
|
|
680
|
+
type: import_zod6.z.enum([
|
|
432
681
|
"grid",
|
|
433
682
|
// Standard Data Table
|
|
434
683
|
"kanban",
|
|
@@ -447,28 +696,28 @@ var ListViewSchema = import_zod4.z.object({
|
|
|
447
696
|
/** Data Source Configuration */
|
|
448
697
|
data: ViewDataSchema.optional().describe('Data source configuration (defaults to "object" provider)'),
|
|
449
698
|
/** Shared Query Config */
|
|
450
|
-
columns:
|
|
451
|
-
|
|
699
|
+
columns: import_zod6.z.union([
|
|
700
|
+
import_zod6.z.array(import_zod6.z.string()),
|
|
452
701
|
// Legacy: simple field names
|
|
453
|
-
|
|
702
|
+
import_zod6.z.array(ListColumnSchema)
|
|
454
703
|
// Enhanced: detailed column config
|
|
455
704
|
]).describe("Fields to display as columns"),
|
|
456
|
-
filter:
|
|
457
|
-
sort:
|
|
458
|
-
|
|
705
|
+
filter: import_zod6.z.array(import_zod6.z.unknown()).optional().describe("Filter criteria (JSON Rules)"),
|
|
706
|
+
sort: import_zod6.z.union([
|
|
707
|
+
import_zod6.z.string(),
|
|
459
708
|
//Legacy "field desc"
|
|
460
|
-
|
|
461
|
-
field:
|
|
462
|
-
order:
|
|
709
|
+
import_zod6.z.array(import_zod6.z.object({
|
|
710
|
+
field: import_zod6.z.string(),
|
|
711
|
+
order: import_zod6.z.enum(["asc", "desc"])
|
|
463
712
|
}))
|
|
464
713
|
]).optional(),
|
|
465
714
|
/** Search & Filter */
|
|
466
|
-
searchableFields:
|
|
467
|
-
filterableFields:
|
|
715
|
+
searchableFields: import_zod6.z.array(import_zod6.z.string()).optional().describe("Fields enabled for search"),
|
|
716
|
+
filterableFields: import_zod6.z.array(import_zod6.z.string()).optional().describe("Fields enabled for end-user filtering in the top bar"),
|
|
468
717
|
/** Grid Features */
|
|
469
|
-
resizable:
|
|
470
|
-
striped:
|
|
471
|
-
bordered:
|
|
718
|
+
resizable: import_zod6.z.boolean().optional().describe("Enable column resizing"),
|
|
719
|
+
striped: import_zod6.z.boolean().optional().describe("Striped row styling"),
|
|
720
|
+
bordered: import_zod6.z.boolean().optional().describe("Show borders"),
|
|
472
721
|
/** Selection */
|
|
473
722
|
selection: SelectionConfigSchema.optional().describe("Row selection configuration"),
|
|
474
723
|
/** Navigation / Interaction */
|
|
@@ -479,54 +728,70 @@ var ListViewSchema = import_zod4.z.object({
|
|
|
479
728
|
kanban: KanbanConfigSchema.optional(),
|
|
480
729
|
calendar: CalendarConfigSchema.optional(),
|
|
481
730
|
gantt: GanttConfigSchema.optional(),
|
|
731
|
+
gallery: GalleryConfigSchema.optional(),
|
|
732
|
+
timeline: TimelineConfigSchema.optional(),
|
|
733
|
+
/** View Metadata (Airtable-style view management) */
|
|
734
|
+
description: I18nLabelSchema.optional().describe("View description for documentation/tooltips"),
|
|
735
|
+
sharing: ViewSharingSchema.optional().describe("View sharing and access configuration"),
|
|
736
|
+
/** Row Height / Density (Airtable-style) */
|
|
737
|
+
rowHeight: RowHeightSchema.optional().describe("Row height / density setting"),
|
|
738
|
+
/** Record Grouping (Airtable-style) */
|
|
739
|
+
grouping: GroupingConfigSchema.optional().describe("Group records by one or more fields"),
|
|
740
|
+
/** Row Color (Airtable-style) */
|
|
741
|
+
rowColor: RowColorConfigSchema.optional().describe("Color rows based on field value"),
|
|
742
|
+
/** Field Visibility & Ordering per View (Airtable-style) */
|
|
743
|
+
hiddenFields: import_zod6.z.array(import_zod6.z.string()).optional().describe("Fields to hide in this specific view"),
|
|
744
|
+
fieldOrder: import_zod6.z.array(import_zod6.z.string()).optional().describe("Explicit field display order for this view"),
|
|
482
745
|
/** Row & Bulk Actions */
|
|
483
|
-
rowActions:
|
|
484
|
-
bulkActions:
|
|
746
|
+
rowActions: import_zod6.z.array(import_zod6.z.string()).optional().describe("Actions available for individual row items"),
|
|
747
|
+
bulkActions: import_zod6.z.array(import_zod6.z.string()).optional().describe("Actions available when multiple rows are selected"),
|
|
485
748
|
/** Performance */
|
|
486
|
-
virtualScroll:
|
|
749
|
+
virtualScroll: import_zod6.z.boolean().optional().describe("Enable virtual scrolling for large datasets"),
|
|
487
750
|
/** Conditional Formatting */
|
|
488
|
-
conditionalFormatting:
|
|
489
|
-
condition:
|
|
490
|
-
style:
|
|
751
|
+
conditionalFormatting: import_zod6.z.array(import_zod6.z.object({
|
|
752
|
+
condition: import_zod6.z.string().describe("Condition expression to evaluate"),
|
|
753
|
+
style: import_zod6.z.record(import_zod6.z.string(), import_zod6.z.string()).describe("CSS styles to apply when condition is true")
|
|
491
754
|
})).optional().describe("Conditional formatting rules for list rows"),
|
|
492
755
|
/** Inline Edit */
|
|
493
|
-
inlineEdit:
|
|
756
|
+
inlineEdit: import_zod6.z.boolean().optional().describe("Allow inline editing of records directly in the list view"),
|
|
494
757
|
/** Export */
|
|
495
|
-
exportOptions:
|
|
758
|
+
exportOptions: import_zod6.z.array(import_zod6.z.enum(["csv", "xlsx", "pdf", "json"])).optional().describe("Available export format options"),
|
|
496
759
|
/** Empty State */
|
|
497
|
-
emptyState:
|
|
498
|
-
title:
|
|
499
|
-
message:
|
|
500
|
-
icon:
|
|
501
|
-
}).optional().describe("Empty state configuration when no records found")
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
760
|
+
emptyState: import_zod6.z.object({
|
|
761
|
+
title: I18nLabelSchema.optional(),
|
|
762
|
+
message: I18nLabelSchema.optional(),
|
|
763
|
+
icon: import_zod6.z.string().optional()
|
|
764
|
+
}).optional().describe("Empty state configuration when no records found"),
|
|
765
|
+
/** ARIA accessibility attributes */
|
|
766
|
+
aria: AriaPropsSchema.optional().describe("ARIA accessibility attributes for the list view")
|
|
767
|
+
});
|
|
768
|
+
var FormFieldSchema = import_zod6.z.object({
|
|
769
|
+
field: import_zod6.z.string().describe("Field name (snake_case)"),
|
|
770
|
+
label: I18nLabelSchema.optional().describe("Display label override"),
|
|
771
|
+
placeholder: I18nLabelSchema.optional().describe("Placeholder text"),
|
|
772
|
+
helpText: I18nLabelSchema.optional().describe("Help/hint text"),
|
|
773
|
+
readonly: import_zod6.z.boolean().optional().describe("Read-only override"),
|
|
774
|
+
required: import_zod6.z.boolean().optional().describe("Required override"),
|
|
775
|
+
hidden: import_zod6.z.boolean().optional().describe("Hidden override"),
|
|
776
|
+
colSpan: import_zod6.z.number().int().min(1).max(4).optional().describe("Column span in grid layout (1-4)"),
|
|
777
|
+
widget: import_zod6.z.string().optional().describe("Custom widget/component name"),
|
|
778
|
+
dependsOn: import_zod6.z.string().optional().describe("Parent field name for cascading"),
|
|
779
|
+
visibleOn: import_zod6.z.string().optional().describe("Visibility condition expression")
|
|
780
|
+
});
|
|
781
|
+
var FormSectionSchema = import_zod6.z.object({
|
|
782
|
+
label: I18nLabelSchema.optional(),
|
|
783
|
+
collapsible: import_zod6.z.boolean().default(false),
|
|
784
|
+
collapsed: import_zod6.z.boolean().default(false),
|
|
785
|
+
columns: import_zod6.z.enum(["1", "2", "3", "4"]).default("2").transform((val) => parseInt(val)),
|
|
786
|
+
fields: import_zod6.z.array(import_zod6.z.union([
|
|
787
|
+
import_zod6.z.string(),
|
|
523
788
|
// Legacy: simple field name
|
|
524
789
|
FormFieldSchema
|
|
525
790
|
// Enhanced: detailed field config
|
|
526
791
|
]))
|
|
527
792
|
});
|
|
528
|
-
var FormViewSchema =
|
|
529
|
-
type:
|
|
793
|
+
var FormViewSchema = import_zod6.z.object({
|
|
794
|
+
type: import_zod6.z.enum([
|
|
530
795
|
"simple",
|
|
531
796
|
// Single column or sections
|
|
532
797
|
"tabbed",
|
|
@@ -542,125 +807,127 @@ var FormViewSchema = import_zod4.z.object({
|
|
|
542
807
|
]).default("simple"),
|
|
543
808
|
/** Data Source Configuration */
|
|
544
809
|
data: ViewDataSchema.optional().describe('Data source configuration (defaults to "object" provider)'),
|
|
545
|
-
sections:
|
|
810
|
+
sections: import_zod6.z.array(FormSectionSchema).optional(),
|
|
546
811
|
// For simple layout
|
|
547
|
-
groups:
|
|
812
|
+
groups: import_zod6.z.array(FormSectionSchema).optional(),
|
|
548
813
|
// Legacy support -> alias to sections
|
|
814
|
+
/** ARIA accessibility attributes */
|
|
815
|
+
aria: AriaPropsSchema.optional().describe("ARIA accessibility attributes for the form view")
|
|
549
816
|
});
|
|
550
|
-
var ViewSchema =
|
|
817
|
+
var ViewSchema = import_zod6.z.object({
|
|
551
818
|
list: ListViewSchema.optional(),
|
|
552
819
|
// Default list view
|
|
553
820
|
form: FormViewSchema.optional(),
|
|
554
821
|
// Default form view
|
|
555
|
-
listViews:
|
|
556
|
-
formViews:
|
|
822
|
+
listViews: import_zod6.z.record(import_zod6.z.string(), ListViewSchema).optional().describe("Additional named list views"),
|
|
823
|
+
formViews: import_zod6.z.record(import_zod6.z.string(), FormViewSchema).optional().describe("Additional named form views")
|
|
557
824
|
});
|
|
558
825
|
|
|
559
826
|
// src/ui/dashboard.zod.ts
|
|
560
|
-
var
|
|
827
|
+
var import_zod8 = require("zod");
|
|
561
828
|
|
|
562
829
|
// src/data/filter.zod.ts
|
|
563
|
-
var
|
|
564
|
-
var FieldReferenceSchema =
|
|
565
|
-
$field:
|
|
830
|
+
var import_zod7 = require("zod");
|
|
831
|
+
var FieldReferenceSchema = import_zod7.z.object({
|
|
832
|
+
$field: import_zod7.z.string().describe("Field Reference/Column Name")
|
|
566
833
|
});
|
|
567
|
-
var EqualityOperatorSchema =
|
|
834
|
+
var EqualityOperatorSchema = import_zod7.z.object({
|
|
568
835
|
/** Equal to (default) - SQL: = | MongoDB: $eq */
|
|
569
|
-
$eq:
|
|
836
|
+
$eq: import_zod7.z.any().optional(),
|
|
570
837
|
/** Not equal to - SQL: <> or != | MongoDB: $ne */
|
|
571
|
-
$ne:
|
|
838
|
+
$ne: import_zod7.z.any().optional()
|
|
572
839
|
});
|
|
573
|
-
var ComparisonOperatorSchema =
|
|
840
|
+
var ComparisonOperatorSchema = import_zod7.z.object({
|
|
574
841
|
/** Greater than - SQL: > | MongoDB: $gt */
|
|
575
|
-
$gt:
|
|
842
|
+
$gt: import_zod7.z.union([import_zod7.z.number(), import_zod7.z.date(), FieldReferenceSchema]).optional(),
|
|
576
843
|
/** Greater than or equal to - SQL: >= | MongoDB: $gte */
|
|
577
|
-
$gte:
|
|
844
|
+
$gte: import_zod7.z.union([import_zod7.z.number(), import_zod7.z.date(), FieldReferenceSchema]).optional(),
|
|
578
845
|
/** Less than - SQL: < | MongoDB: $lt */
|
|
579
|
-
$lt:
|
|
846
|
+
$lt: import_zod7.z.union([import_zod7.z.number(), import_zod7.z.date(), FieldReferenceSchema]).optional(),
|
|
580
847
|
/** Less than or equal to - SQL: <= | MongoDB: $lte */
|
|
581
|
-
$lte:
|
|
848
|
+
$lte: import_zod7.z.union([import_zod7.z.number(), import_zod7.z.date(), FieldReferenceSchema]).optional()
|
|
582
849
|
});
|
|
583
|
-
var SetOperatorSchema =
|
|
850
|
+
var SetOperatorSchema = import_zod7.z.object({
|
|
584
851
|
/** In list - SQL: IN (?, ?, ?) | MongoDB: $in */
|
|
585
|
-
$in:
|
|
852
|
+
$in: import_zod7.z.array(import_zod7.z.any()).optional(),
|
|
586
853
|
/** Not in list - SQL: NOT IN (...) | MongoDB: $nin */
|
|
587
|
-
$nin:
|
|
854
|
+
$nin: import_zod7.z.array(import_zod7.z.any()).optional()
|
|
588
855
|
});
|
|
589
|
-
var RangeOperatorSchema =
|
|
856
|
+
var RangeOperatorSchema = import_zod7.z.object({
|
|
590
857
|
/** Between (inclusive) - takes [min, max] array */
|
|
591
|
-
$between:
|
|
592
|
-
|
|
593
|
-
|
|
858
|
+
$between: import_zod7.z.tuple([
|
|
859
|
+
import_zod7.z.union([import_zod7.z.number(), import_zod7.z.date(), FieldReferenceSchema]),
|
|
860
|
+
import_zod7.z.union([import_zod7.z.number(), import_zod7.z.date(), FieldReferenceSchema])
|
|
594
861
|
]).optional()
|
|
595
862
|
});
|
|
596
|
-
var StringOperatorSchema =
|
|
863
|
+
var StringOperatorSchema = import_zod7.z.object({
|
|
597
864
|
/** Contains substring - SQL: LIKE %?% | MongoDB: $regex */
|
|
598
|
-
$contains:
|
|
865
|
+
$contains: import_zod7.z.string().optional(),
|
|
599
866
|
/** Starts with prefix - SQL: LIKE ?% | MongoDB: $regex */
|
|
600
|
-
$startsWith:
|
|
867
|
+
$startsWith: import_zod7.z.string().optional(),
|
|
601
868
|
/** Ends with suffix - SQL: LIKE %? | MongoDB: $regex */
|
|
602
|
-
$endsWith:
|
|
869
|
+
$endsWith: import_zod7.z.string().optional()
|
|
603
870
|
});
|
|
604
|
-
var SpecialOperatorSchema =
|
|
871
|
+
var SpecialOperatorSchema = import_zod7.z.object({
|
|
605
872
|
/** Is null check - SQL: IS NULL (true) / IS NOT NULL (false) | MongoDB: field: null */
|
|
606
|
-
$null:
|
|
873
|
+
$null: import_zod7.z.boolean().optional(),
|
|
607
874
|
/** Field exists check (primarily for NoSQL) - MongoDB: $exists */
|
|
608
|
-
$exists:
|
|
875
|
+
$exists: import_zod7.z.boolean().optional()
|
|
609
876
|
});
|
|
610
|
-
var FieldOperatorsSchema =
|
|
877
|
+
var FieldOperatorsSchema = import_zod7.z.object({
|
|
611
878
|
// Equality
|
|
612
|
-
$eq:
|
|
613
|
-
$ne:
|
|
879
|
+
$eq: import_zod7.z.any().optional(),
|
|
880
|
+
$ne: import_zod7.z.any().optional(),
|
|
614
881
|
// Comparison (numeric/date)
|
|
615
|
-
$gt:
|
|
616
|
-
$gte:
|
|
617
|
-
$lt:
|
|
618
|
-
$lte:
|
|
882
|
+
$gt: import_zod7.z.union([import_zod7.z.number(), import_zod7.z.date(), FieldReferenceSchema]).optional(),
|
|
883
|
+
$gte: import_zod7.z.union([import_zod7.z.number(), import_zod7.z.date(), FieldReferenceSchema]).optional(),
|
|
884
|
+
$lt: import_zod7.z.union([import_zod7.z.number(), import_zod7.z.date(), FieldReferenceSchema]).optional(),
|
|
885
|
+
$lte: import_zod7.z.union([import_zod7.z.number(), import_zod7.z.date(), FieldReferenceSchema]).optional(),
|
|
619
886
|
// Set & Range
|
|
620
|
-
$in:
|
|
621
|
-
$nin:
|
|
622
|
-
$between:
|
|
623
|
-
|
|
624
|
-
|
|
887
|
+
$in: import_zod7.z.array(import_zod7.z.any()).optional(),
|
|
888
|
+
$nin: import_zod7.z.array(import_zod7.z.any()).optional(),
|
|
889
|
+
$between: import_zod7.z.tuple([
|
|
890
|
+
import_zod7.z.union([import_zod7.z.number(), import_zod7.z.date(), FieldReferenceSchema]),
|
|
891
|
+
import_zod7.z.union([import_zod7.z.number(), import_zod7.z.date(), FieldReferenceSchema])
|
|
625
892
|
]).optional(),
|
|
626
893
|
// String-specific
|
|
627
|
-
$contains:
|
|
628
|
-
$startsWith:
|
|
629
|
-
$endsWith:
|
|
894
|
+
$contains: import_zod7.z.string().optional(),
|
|
895
|
+
$startsWith: import_zod7.z.string().optional(),
|
|
896
|
+
$endsWith: import_zod7.z.string().optional(),
|
|
630
897
|
// Special
|
|
631
|
-
$null:
|
|
632
|
-
$exists:
|
|
633
|
-
});
|
|
634
|
-
var FilterConditionSchema =
|
|
635
|
-
() =>
|
|
636
|
-
|
|
637
|
-
$and:
|
|
638
|
-
$or:
|
|
898
|
+
$null: import_zod7.z.boolean().optional(),
|
|
899
|
+
$exists: import_zod7.z.boolean().optional()
|
|
900
|
+
});
|
|
901
|
+
var FilterConditionSchema = import_zod7.z.lazy(
|
|
902
|
+
() => import_zod7.z.record(import_zod7.z.string(), import_zod7.z.unknown()).and(
|
|
903
|
+
import_zod7.z.object({
|
|
904
|
+
$and: import_zod7.z.array(FilterConditionSchema).optional(),
|
|
905
|
+
$or: import_zod7.z.array(FilterConditionSchema).optional(),
|
|
639
906
|
$not: FilterConditionSchema.optional()
|
|
640
907
|
})
|
|
641
908
|
)
|
|
642
909
|
);
|
|
643
|
-
var QueryFilterSchema =
|
|
910
|
+
var QueryFilterSchema = import_zod7.z.object({
|
|
644
911
|
where: FilterConditionSchema.optional()
|
|
645
912
|
});
|
|
646
|
-
var NormalizedFilterSchema =
|
|
647
|
-
() =>
|
|
648
|
-
$and:
|
|
649
|
-
|
|
913
|
+
var NormalizedFilterSchema = import_zod7.z.lazy(
|
|
914
|
+
() => import_zod7.z.object({
|
|
915
|
+
$and: import_zod7.z.array(
|
|
916
|
+
import_zod7.z.union([
|
|
650
917
|
// Field condition: { field: { $op: value } }
|
|
651
|
-
|
|
918
|
+
import_zod7.z.record(import_zod7.z.string(), FieldOperatorsSchema),
|
|
652
919
|
// Nested logical group
|
|
653
920
|
NormalizedFilterSchema
|
|
654
921
|
])
|
|
655
922
|
).optional(),
|
|
656
|
-
$or:
|
|
657
|
-
|
|
658
|
-
|
|
923
|
+
$or: import_zod7.z.array(
|
|
924
|
+
import_zod7.z.union([
|
|
925
|
+
import_zod7.z.record(import_zod7.z.string(), FieldOperatorsSchema),
|
|
659
926
|
NormalizedFilterSchema
|
|
660
927
|
])
|
|
661
928
|
).optional(),
|
|
662
|
-
$not:
|
|
663
|
-
|
|
929
|
+
$not: import_zod7.z.union([
|
|
930
|
+
import_zod7.z.record(import_zod7.z.string(), FieldOperatorsSchema),
|
|
664
931
|
NormalizedFilterSchema
|
|
665
932
|
]).optional()
|
|
666
933
|
})
|
|
@@ -690,23 +957,23 @@ var LOGICAL_OPERATORS = ["$and", "$or", "$not"];
|
|
|
690
957
|
var ALL_OPERATORS = [...FILTER_OPERATORS, ...LOGICAL_OPERATORS];
|
|
691
958
|
|
|
692
959
|
// src/ui/dashboard.zod.ts
|
|
693
|
-
var DashboardWidgetSchema =
|
|
960
|
+
var DashboardWidgetSchema = import_zod8.z.object({
|
|
694
961
|
/** Widget Title */
|
|
695
|
-
title:
|
|
962
|
+
title: I18nLabelSchema.optional().describe("Widget title"),
|
|
696
963
|
/** Visualization Type */
|
|
697
964
|
type: ChartTypeSchema.default("metric").describe("Visualization type"),
|
|
698
965
|
/** Chart Configuration */
|
|
699
966
|
chartConfig: ChartConfigSchema.optional().describe("Chart visualization configuration"),
|
|
700
967
|
/** Data Source Object */
|
|
701
|
-
object:
|
|
968
|
+
object: import_zod8.z.string().optional().describe("Data source object name"),
|
|
702
969
|
/** Data Filter (MongoDB-style FilterCondition) */
|
|
703
970
|
filter: FilterConditionSchema.optional().describe("Data filter criteria"),
|
|
704
971
|
/** Category Field (X-Axis / Group By) */
|
|
705
|
-
categoryField:
|
|
972
|
+
categoryField: import_zod8.z.string().optional().describe("Field for grouping (X-Axis)"),
|
|
706
973
|
/** Value Field (Y-Axis) */
|
|
707
|
-
valueField:
|
|
974
|
+
valueField: import_zod8.z.string().optional().describe("Field for values (Y-Axis)"),
|
|
708
975
|
/** Aggregate operation */
|
|
709
|
-
aggregate:
|
|
976
|
+
aggregate: import_zod8.z.enum(["count", "sum", "avg", "min", "max"]).optional().default("count").describe("Aggregate function"),
|
|
710
977
|
/**
|
|
711
978
|
* Layout Position (React-Grid-Layout style)
|
|
712
979
|
* x: column (0-11)
|
|
@@ -714,40 +981,48 @@ var DashboardWidgetSchema = import_zod6.z.object({
|
|
|
714
981
|
* w: width (1-12)
|
|
715
982
|
* h: height
|
|
716
983
|
*/
|
|
717
|
-
layout:
|
|
718
|
-
x:
|
|
719
|
-
y:
|
|
720
|
-
w:
|
|
721
|
-
h:
|
|
984
|
+
layout: import_zod8.z.object({
|
|
985
|
+
x: import_zod8.z.number(),
|
|
986
|
+
y: import_zod8.z.number(),
|
|
987
|
+
w: import_zod8.z.number(),
|
|
988
|
+
h: import_zod8.z.number()
|
|
722
989
|
}).describe("Grid layout position"),
|
|
723
990
|
/** Widget specific options (colors, legend, etc.) */
|
|
724
|
-
options:
|
|
991
|
+
options: import_zod8.z.unknown().optional().describe("Widget specific configuration"),
|
|
992
|
+
/** Responsive layout overrides per breakpoint */
|
|
993
|
+
responsive: ResponsiveConfigSchema.optional().describe("Responsive layout configuration"),
|
|
994
|
+
/** ARIA accessibility attributes */
|
|
995
|
+
aria: AriaPropsSchema.optional().describe("ARIA accessibility attributes")
|
|
725
996
|
});
|
|
726
|
-
var DashboardSchema =
|
|
997
|
+
var DashboardSchema = import_zod8.z.object({
|
|
727
998
|
/** Machine name */
|
|
728
999
|
name: SnakeCaseIdentifierSchema.describe("Dashboard unique name"),
|
|
729
1000
|
/** Display label */
|
|
730
|
-
label:
|
|
1001
|
+
label: I18nLabelSchema.describe("Dashboard label"),
|
|
731
1002
|
/** Description */
|
|
732
|
-
description:
|
|
1003
|
+
description: I18nLabelSchema.optional().describe("Dashboard description"),
|
|
733
1004
|
/** Collection of widgets */
|
|
734
|
-
widgets:
|
|
1005
|
+
widgets: import_zod8.z.array(DashboardWidgetSchema).describe("Widgets to display"),
|
|
735
1006
|
/** Auto-refresh */
|
|
736
|
-
refreshInterval:
|
|
1007
|
+
refreshInterval: import_zod8.z.number().optional().describe("Auto-refresh interval in seconds"),
|
|
737
1008
|
/** Global Filters */
|
|
738
|
-
globalFilters:
|
|
739
|
-
field:
|
|
740
|
-
label:
|
|
741
|
-
type:
|
|
742
|
-
})).optional().describe("Global filters that apply to all widgets in the dashboard")
|
|
1009
|
+
globalFilters: import_zod8.z.array(import_zod8.z.object({
|
|
1010
|
+
field: import_zod8.z.string().describe("Field name to filter on"),
|
|
1011
|
+
label: I18nLabelSchema.optional().describe("Display label for the filter"),
|
|
1012
|
+
type: import_zod8.z.enum(["text", "select", "date", "number"]).optional().describe("Filter input type")
|
|
1013
|
+
})).optional().describe("Global filters that apply to all widgets in the dashboard"),
|
|
1014
|
+
/** ARIA accessibility attributes */
|
|
1015
|
+
aria: AriaPropsSchema.optional().describe("ARIA accessibility attributes"),
|
|
1016
|
+
/** Performance optimization settings */
|
|
1017
|
+
performance: PerformanceConfigSchema.optional().describe("Performance optimization settings")
|
|
743
1018
|
});
|
|
744
1019
|
var Dashboard = {
|
|
745
1020
|
create: (config) => DashboardSchema.parse(config)
|
|
746
1021
|
};
|
|
747
1022
|
|
|
748
1023
|
// src/ui/report.zod.ts
|
|
749
|
-
var
|
|
750
|
-
var ReportType =
|
|
1024
|
+
var import_zod9 = require("zod");
|
|
1025
|
+
var ReportType = import_zod9.z.enum([
|
|
751
1026
|
"tabular",
|
|
752
1027
|
// Simple list
|
|
753
1028
|
"summary",
|
|
@@ -757,91 +1032,97 @@ var ReportType = import_zod7.z.enum([
|
|
|
757
1032
|
"joined"
|
|
758
1033
|
// Joined multiple blocks
|
|
759
1034
|
]);
|
|
760
|
-
var ReportColumnSchema =
|
|
761
|
-
field:
|
|
762
|
-
label:
|
|
763
|
-
aggregate:
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
1035
|
+
var ReportColumnSchema = import_zod9.z.object({
|
|
1036
|
+
field: import_zod9.z.string().describe("Field name"),
|
|
1037
|
+
label: I18nLabelSchema.optional().describe("Override label"),
|
|
1038
|
+
aggregate: import_zod9.z.enum(["sum", "avg", "max", "min", "count", "unique"]).optional().describe("Aggregation function"),
|
|
1039
|
+
/** Responsive visibility/priority per breakpoint */
|
|
1040
|
+
responsive: ResponsiveConfigSchema.optional().describe("Responsive visibility for this column")
|
|
1041
|
+
});
|
|
1042
|
+
var ReportGroupingSchema = import_zod9.z.object({
|
|
1043
|
+
field: import_zod9.z.string().describe("Field to group by"),
|
|
1044
|
+
sortOrder: import_zod9.z.enum(["asc", "desc"]).default("asc"),
|
|
1045
|
+
dateGranularity: import_zod9.z.enum(["day", "week", "month", "quarter", "year"]).optional().describe("For date fields")
|
|
769
1046
|
});
|
|
770
1047
|
var ReportChartSchema = ChartConfigSchema.extend({
|
|
771
1048
|
/** Report-specific chart configuration */
|
|
772
|
-
xAxis:
|
|
773
|
-
yAxis:
|
|
774
|
-
groupBy:
|
|
1049
|
+
xAxis: import_zod9.z.string().describe("Grouping field for X-Axis"),
|
|
1050
|
+
yAxis: import_zod9.z.string().describe("Summary field for Y-Axis"),
|
|
1051
|
+
groupBy: import_zod9.z.string().optional().describe("Additional grouping field")
|
|
775
1052
|
});
|
|
776
|
-
var ReportSchema =
|
|
1053
|
+
var ReportSchema = import_zod9.z.object({
|
|
777
1054
|
/** Identity */
|
|
778
1055
|
name: SnakeCaseIdentifierSchema.describe("Report unique name"),
|
|
779
|
-
label:
|
|
780
|
-
description:
|
|
1056
|
+
label: I18nLabelSchema.describe("Report label"),
|
|
1057
|
+
description: I18nLabelSchema.optional(),
|
|
781
1058
|
/** Data Source */
|
|
782
|
-
objectName:
|
|
1059
|
+
objectName: import_zod9.z.string().describe("Primary object"),
|
|
783
1060
|
/** Report Configuration */
|
|
784
1061
|
type: ReportType.default("tabular").describe("Report format type"),
|
|
785
|
-
columns:
|
|
1062
|
+
columns: import_zod9.z.array(ReportColumnSchema).describe("Columns to display"),
|
|
786
1063
|
/** Grouping (for Summary/Matrix) */
|
|
787
|
-
groupingsDown:
|
|
788
|
-
groupingsAcross:
|
|
1064
|
+
groupingsDown: import_zod9.z.array(ReportGroupingSchema).optional().describe("Row groupings"),
|
|
1065
|
+
groupingsAcross: import_zod9.z.array(ReportGroupingSchema).optional().describe("Column groupings (Matrix only)"),
|
|
789
1066
|
/** Filtering (MongoDB-style FilterCondition) */
|
|
790
1067
|
filter: FilterConditionSchema.optional().describe("Filter criteria"),
|
|
791
1068
|
/** Visualization */
|
|
792
|
-
chart: ReportChartSchema.optional().describe("Embedded chart configuration")
|
|
1069
|
+
chart: ReportChartSchema.optional().describe("Embedded chart configuration"),
|
|
1070
|
+
/** ARIA accessibility attributes */
|
|
1071
|
+
aria: AriaPropsSchema.optional().describe("ARIA accessibility attributes"),
|
|
1072
|
+
/** Performance optimization settings */
|
|
1073
|
+
performance: PerformanceConfigSchema.optional().describe("Performance optimization settings")
|
|
793
1074
|
});
|
|
794
1075
|
var Report = {
|
|
795
1076
|
create: (config) => ReportSchema.parse(config)
|
|
796
1077
|
};
|
|
797
1078
|
|
|
798
1079
|
// src/ui/action.zod.ts
|
|
799
|
-
var
|
|
1080
|
+
var import_zod13 = require("zod");
|
|
800
1081
|
|
|
801
1082
|
// src/data/field.zod.ts
|
|
802
|
-
var
|
|
1083
|
+
var import_zod12 = require("zod");
|
|
803
1084
|
|
|
804
1085
|
// src/system/encryption.zod.ts
|
|
805
|
-
var
|
|
806
|
-
var EncryptionAlgorithmSchema =
|
|
1086
|
+
var import_zod10 = require("zod");
|
|
1087
|
+
var EncryptionAlgorithmSchema = import_zod10.z.enum([
|
|
807
1088
|
"aes-256-gcm",
|
|
808
1089
|
"aes-256-cbc",
|
|
809
1090
|
"chacha20-poly1305"
|
|
810
1091
|
]).describe("Supported encryption algorithm");
|
|
811
|
-
var KeyManagementProviderSchema =
|
|
1092
|
+
var KeyManagementProviderSchema = import_zod10.z.enum([
|
|
812
1093
|
"local",
|
|
813
1094
|
"aws-kms",
|
|
814
1095
|
"azure-key-vault",
|
|
815
1096
|
"gcp-kms",
|
|
816
1097
|
"hashicorp-vault"
|
|
817
1098
|
]).describe("Key management service provider");
|
|
818
|
-
var KeyRotationPolicySchema =
|
|
819
|
-
enabled:
|
|
820
|
-
frequencyDays:
|
|
821
|
-
retainOldVersions:
|
|
822
|
-
autoRotate:
|
|
1099
|
+
var KeyRotationPolicySchema = import_zod10.z.object({
|
|
1100
|
+
enabled: import_zod10.z.boolean().default(false).describe("Enable automatic key rotation"),
|
|
1101
|
+
frequencyDays: import_zod10.z.number().min(1).default(90).describe("Rotation frequency in days"),
|
|
1102
|
+
retainOldVersions: import_zod10.z.number().default(3).describe("Number of old key versions to retain"),
|
|
1103
|
+
autoRotate: import_zod10.z.boolean().default(true).describe("Automatically rotate without manual approval")
|
|
823
1104
|
}).describe("Policy for automatic encryption key rotation");
|
|
824
|
-
var EncryptionConfigSchema =
|
|
825
|
-
enabled:
|
|
1105
|
+
var EncryptionConfigSchema = import_zod10.z.object({
|
|
1106
|
+
enabled: import_zod10.z.boolean().default(false).describe("Enable field-level encryption"),
|
|
826
1107
|
algorithm: EncryptionAlgorithmSchema.default("aes-256-gcm").describe("Encryption algorithm"),
|
|
827
|
-
keyManagement:
|
|
1108
|
+
keyManagement: import_zod10.z.object({
|
|
828
1109
|
provider: KeyManagementProviderSchema.describe("Key management service provider"),
|
|
829
|
-
keyId:
|
|
1110
|
+
keyId: import_zod10.z.string().optional().describe("Key identifier in the provider"),
|
|
830
1111
|
rotationPolicy: KeyRotationPolicySchema.optional().describe("Key rotation policy")
|
|
831
1112
|
}).describe("Key management configuration"),
|
|
832
|
-
scope:
|
|
833
|
-
deterministicEncryption:
|
|
834
|
-
searchableEncryption:
|
|
1113
|
+
scope: import_zod10.z.enum(["field", "record", "table", "database"]).describe("Encryption scope level"),
|
|
1114
|
+
deterministicEncryption: import_zod10.z.boolean().default(false).describe("Allows equality queries on encrypted data"),
|
|
1115
|
+
searchableEncryption: import_zod10.z.boolean().default(false).describe("Allows search on encrypted data")
|
|
835
1116
|
}).describe("Field-level encryption configuration");
|
|
836
|
-
var FieldEncryptionSchema =
|
|
837
|
-
fieldName:
|
|
1117
|
+
var FieldEncryptionSchema = import_zod10.z.object({
|
|
1118
|
+
fieldName: import_zod10.z.string().describe("Name of the field to encrypt"),
|
|
838
1119
|
encryptionConfig: EncryptionConfigSchema.describe("Encryption settings for this field"),
|
|
839
|
-
indexable:
|
|
1120
|
+
indexable: import_zod10.z.boolean().default(false).describe("Allow indexing on encrypted field")
|
|
840
1121
|
}).describe("Per-field encryption assignment");
|
|
841
1122
|
|
|
842
1123
|
// src/system/masking.zod.ts
|
|
843
|
-
var
|
|
844
|
-
var MaskingStrategySchema =
|
|
1124
|
+
var import_zod11 = require("zod");
|
|
1125
|
+
var MaskingStrategySchema = import_zod11.z.enum([
|
|
845
1126
|
"redact",
|
|
846
1127
|
// Complete redaction: ****
|
|
847
1128
|
"partial",
|
|
@@ -857,23 +1138,23 @@ var MaskingStrategySchema = import_zod9.z.enum([
|
|
|
857
1138
|
"substitute"
|
|
858
1139
|
// Substitute with dummy data
|
|
859
1140
|
]).describe("Data masking strategy for PII protection");
|
|
860
|
-
var MaskingRuleSchema =
|
|
861
|
-
field:
|
|
1141
|
+
var MaskingRuleSchema = import_zod11.z.object({
|
|
1142
|
+
field: import_zod11.z.string().describe("Field name to apply masking to"),
|
|
862
1143
|
strategy: MaskingStrategySchema.describe("Masking strategy to use"),
|
|
863
|
-
pattern:
|
|
864
|
-
preserveFormat:
|
|
865
|
-
preserveLength:
|
|
866
|
-
roles:
|
|
867
|
-
exemptRoles:
|
|
1144
|
+
pattern: import_zod11.z.string().optional().describe("Regex pattern for partial masking"),
|
|
1145
|
+
preserveFormat: import_zod11.z.boolean().default(true).describe("Keep the original data format after masking"),
|
|
1146
|
+
preserveLength: import_zod11.z.boolean().default(true).describe("Keep the original data length after masking"),
|
|
1147
|
+
roles: import_zod11.z.array(import_zod11.z.string()).optional().describe("Roles that see masked data"),
|
|
1148
|
+
exemptRoles: import_zod11.z.array(import_zod11.z.string()).optional().describe("Roles that see unmasked data")
|
|
868
1149
|
}).describe("Masking rule for a single field");
|
|
869
|
-
var MaskingConfigSchema =
|
|
870
|
-
enabled:
|
|
871
|
-
rules:
|
|
872
|
-
auditUnmasking:
|
|
1150
|
+
var MaskingConfigSchema = import_zod11.z.object({
|
|
1151
|
+
enabled: import_zod11.z.boolean().default(false).describe("Enable data masking"),
|
|
1152
|
+
rules: import_zod11.z.array(MaskingRuleSchema).describe("List of field-level masking rules"),
|
|
1153
|
+
auditUnmasking: import_zod11.z.boolean().default(true).describe("Log when masked data is accessed unmasked")
|
|
873
1154
|
}).describe("Top-level data masking configuration for PII protection");
|
|
874
1155
|
|
|
875
1156
|
// src/data/field.zod.ts
|
|
876
|
-
var FieldType =
|
|
1157
|
+
var FieldType = import_zod12.z.enum([
|
|
877
1158
|
// Core Text
|
|
878
1159
|
"text",
|
|
879
1160
|
"textarea",
|
|
@@ -949,92 +1230,92 @@ var FieldType = import_zod10.z.enum([
|
|
|
949
1230
|
"vector"
|
|
950
1231
|
// Vector embeddings for AI/ML (semantic search, RAG)
|
|
951
1232
|
]);
|
|
952
|
-
var SelectOptionSchema =
|
|
953
|
-
label:
|
|
1233
|
+
var SelectOptionSchema = import_zod12.z.object({
|
|
1234
|
+
label: import_zod12.z.string().describe("Display label (human-readable, any case allowed)"),
|
|
954
1235
|
value: SystemIdentifierSchema.describe("Stored value (lowercase machine identifier)"),
|
|
955
|
-
color:
|
|
956
|
-
default:
|
|
957
|
-
});
|
|
958
|
-
var LocationCoordinatesSchema =
|
|
959
|
-
latitude:
|
|
960
|
-
longitude:
|
|
961
|
-
altitude:
|
|
962
|
-
accuracy:
|
|
963
|
-
});
|
|
964
|
-
var CurrencyConfigSchema =
|
|
965
|
-
precision:
|
|
966
|
-
currencyMode:
|
|
967
|
-
defaultCurrency:
|
|
968
|
-
});
|
|
969
|
-
var CurrencyValueSchema =
|
|
970
|
-
value:
|
|
971
|
-
currency:
|
|
972
|
-
});
|
|
973
|
-
var AddressSchema =
|
|
974
|
-
street:
|
|
975
|
-
city:
|
|
976
|
-
state:
|
|
977
|
-
postalCode:
|
|
978
|
-
country:
|
|
979
|
-
countryCode:
|
|
980
|
-
formatted:
|
|
981
|
-
});
|
|
982
|
-
var VectorConfigSchema =
|
|
983
|
-
dimensions:
|
|
984
|
-
distanceMetric:
|
|
985
|
-
normalized:
|
|
986
|
-
indexed:
|
|
987
|
-
indexType:
|
|
988
|
-
});
|
|
989
|
-
var FileAttachmentConfigSchema =
|
|
1236
|
+
color: import_zod12.z.string().optional().describe("Color code for badges/charts"),
|
|
1237
|
+
default: import_zod12.z.boolean().optional().describe("Is default option")
|
|
1238
|
+
});
|
|
1239
|
+
var LocationCoordinatesSchema = import_zod12.z.object({
|
|
1240
|
+
latitude: import_zod12.z.number().min(-90).max(90).describe("Latitude coordinate"),
|
|
1241
|
+
longitude: import_zod12.z.number().min(-180).max(180).describe("Longitude coordinate"),
|
|
1242
|
+
altitude: import_zod12.z.number().optional().describe("Altitude in meters"),
|
|
1243
|
+
accuracy: import_zod12.z.number().optional().describe("Accuracy in meters")
|
|
1244
|
+
});
|
|
1245
|
+
var CurrencyConfigSchema = import_zod12.z.object({
|
|
1246
|
+
precision: import_zod12.z.number().int().min(0).max(10).default(2).describe("Decimal precision (default: 2)"),
|
|
1247
|
+
currencyMode: import_zod12.z.enum(["dynamic", "fixed"]).default("dynamic").describe("Currency mode: dynamic (user selectable) or fixed (single currency)"),
|
|
1248
|
+
defaultCurrency: import_zod12.z.string().length(3).default("CNY").describe("Default or fixed currency code (ISO 4217, e.g., USD, CNY, EUR)")
|
|
1249
|
+
});
|
|
1250
|
+
var CurrencyValueSchema = import_zod12.z.object({
|
|
1251
|
+
value: import_zod12.z.number().describe("Monetary amount"),
|
|
1252
|
+
currency: import_zod12.z.string().length(3).describe("Currency code (ISO 4217)")
|
|
1253
|
+
});
|
|
1254
|
+
var AddressSchema = import_zod12.z.object({
|
|
1255
|
+
street: import_zod12.z.string().optional().describe("Street address"),
|
|
1256
|
+
city: import_zod12.z.string().optional().describe("City name"),
|
|
1257
|
+
state: import_zod12.z.string().optional().describe("State/Province"),
|
|
1258
|
+
postalCode: import_zod12.z.string().optional().describe("Postal/ZIP code"),
|
|
1259
|
+
country: import_zod12.z.string().optional().describe("Country name or code"),
|
|
1260
|
+
countryCode: import_zod12.z.string().optional().describe("ISO country code (e.g., US, GB)"),
|
|
1261
|
+
formatted: import_zod12.z.string().optional().describe("Formatted address string")
|
|
1262
|
+
});
|
|
1263
|
+
var VectorConfigSchema = import_zod12.z.object({
|
|
1264
|
+
dimensions: import_zod12.z.number().int().min(1).max(1e4).describe("Vector dimensionality (e.g., 1536 for OpenAI embeddings)"),
|
|
1265
|
+
distanceMetric: import_zod12.z.enum(["cosine", "euclidean", "dotProduct", "manhattan"]).default("cosine").describe("Distance/similarity metric for vector search"),
|
|
1266
|
+
normalized: import_zod12.z.boolean().default(false).describe("Whether vectors are normalized (unit length)"),
|
|
1267
|
+
indexed: import_zod12.z.boolean().default(true).describe("Whether to create a vector index for fast similarity search"),
|
|
1268
|
+
indexType: import_zod12.z.enum(["hnsw", "ivfflat", "flat"]).optional().describe("Vector index algorithm (HNSW for high accuracy, IVFFlat for large datasets)")
|
|
1269
|
+
});
|
|
1270
|
+
var FileAttachmentConfigSchema = import_zod12.z.object({
|
|
990
1271
|
/** File Size Limits */
|
|
991
|
-
minSize:
|
|
992
|
-
maxSize:
|
|
1272
|
+
minSize: import_zod12.z.number().min(0).optional().describe("Minimum file size in bytes"),
|
|
1273
|
+
maxSize: import_zod12.z.number().min(1).optional().describe("Maximum file size in bytes (e.g., 10485760 = 10MB)"),
|
|
993
1274
|
/** File Type Restrictions */
|
|
994
|
-
allowedTypes:
|
|
995
|
-
blockedTypes:
|
|
996
|
-
allowedMimeTypes:
|
|
997
|
-
blockedMimeTypes:
|
|
1275
|
+
allowedTypes: import_zod12.z.array(import_zod12.z.string()).optional().describe('Allowed file extensions (e.g., [".pdf", ".docx", ".jpg"])'),
|
|
1276
|
+
blockedTypes: import_zod12.z.array(import_zod12.z.string()).optional().describe('Blocked file extensions (e.g., [".exe", ".bat", ".sh"])'),
|
|
1277
|
+
allowedMimeTypes: import_zod12.z.array(import_zod12.z.string()).optional().describe('Allowed MIME types (e.g., ["image/jpeg", "application/pdf"])'),
|
|
1278
|
+
blockedMimeTypes: import_zod12.z.array(import_zod12.z.string()).optional().describe("Blocked MIME types"),
|
|
998
1279
|
/** Virus Scanning */
|
|
999
|
-
virusScan:
|
|
1000
|
-
virusScanProvider:
|
|
1001
|
-
virusScanOnUpload:
|
|
1002
|
-
quarantineOnThreat:
|
|
1280
|
+
virusScan: import_zod12.z.boolean().default(false).describe("Enable virus scanning for uploaded files"),
|
|
1281
|
+
virusScanProvider: import_zod12.z.enum(["clamav", "virustotal", "metadefender", "custom"]).optional().describe("Virus scanning service provider"),
|
|
1282
|
+
virusScanOnUpload: import_zod12.z.boolean().default(true).describe("Scan files immediately on upload"),
|
|
1283
|
+
quarantineOnThreat: import_zod12.z.boolean().default(true).describe("Quarantine files if threat detected"),
|
|
1003
1284
|
/** Storage Configuration */
|
|
1004
|
-
storageProvider:
|
|
1005
|
-
storageBucket:
|
|
1006
|
-
storagePrefix:
|
|
1285
|
+
storageProvider: import_zod12.z.string().optional().describe("Object storage provider name (references ObjectStorageConfig)"),
|
|
1286
|
+
storageBucket: import_zod12.z.string().optional().describe("Target bucket name"),
|
|
1287
|
+
storagePrefix: import_zod12.z.string().optional().describe('Storage path prefix (e.g., "uploads/documents/")'),
|
|
1007
1288
|
/** Image-Specific Validation */
|
|
1008
|
-
imageValidation:
|
|
1009
|
-
minWidth:
|
|
1010
|
-
maxWidth:
|
|
1011
|
-
minHeight:
|
|
1012
|
-
maxHeight:
|
|
1013
|
-
aspectRatio:
|
|
1014
|
-
generateThumbnails:
|
|
1015
|
-
thumbnailSizes:
|
|
1016
|
-
name:
|
|
1017
|
-
width:
|
|
1018
|
-
height:
|
|
1019
|
-
crop:
|
|
1289
|
+
imageValidation: import_zod12.z.object({
|
|
1290
|
+
minWidth: import_zod12.z.number().min(1).optional().describe("Minimum image width in pixels"),
|
|
1291
|
+
maxWidth: import_zod12.z.number().min(1).optional().describe("Maximum image width in pixels"),
|
|
1292
|
+
minHeight: import_zod12.z.number().min(1).optional().describe("Minimum image height in pixels"),
|
|
1293
|
+
maxHeight: import_zod12.z.number().min(1).optional().describe("Maximum image height in pixels"),
|
|
1294
|
+
aspectRatio: import_zod12.z.string().optional().describe('Required aspect ratio (e.g., "16:9", "1:1")'),
|
|
1295
|
+
generateThumbnails: import_zod12.z.boolean().default(false).describe("Auto-generate thumbnails"),
|
|
1296
|
+
thumbnailSizes: import_zod12.z.array(import_zod12.z.object({
|
|
1297
|
+
name: import_zod12.z.string().describe('Thumbnail variant name (e.g., "small", "medium", "large")'),
|
|
1298
|
+
width: import_zod12.z.number().min(1).describe("Thumbnail width in pixels"),
|
|
1299
|
+
height: import_zod12.z.number().min(1).describe("Thumbnail height in pixels"),
|
|
1300
|
+
crop: import_zod12.z.boolean().default(false).describe("Crop to exact dimensions")
|
|
1020
1301
|
})).optional().describe("Thumbnail size configurations"),
|
|
1021
|
-
preserveMetadata:
|
|
1022
|
-
autoRotate:
|
|
1302
|
+
preserveMetadata: import_zod12.z.boolean().default(false).describe("Preserve EXIF metadata"),
|
|
1303
|
+
autoRotate: import_zod12.z.boolean().default(true).describe("Auto-rotate based on EXIF orientation")
|
|
1023
1304
|
}).optional().describe("Image-specific validation rules"),
|
|
1024
1305
|
/** Upload Behavior */
|
|
1025
|
-
allowMultiple:
|
|
1026
|
-
allowReplace:
|
|
1027
|
-
allowDelete:
|
|
1028
|
-
requireUpload:
|
|
1306
|
+
allowMultiple: import_zod12.z.boolean().default(false).describe("Allow multiple file uploads (overrides field.multiple)"),
|
|
1307
|
+
allowReplace: import_zod12.z.boolean().default(true).describe("Allow replacing existing files"),
|
|
1308
|
+
allowDelete: import_zod12.z.boolean().default(true).describe("Allow deleting uploaded files"),
|
|
1309
|
+
requireUpload: import_zod12.z.boolean().default(false).describe("Require at least one file when field is required"),
|
|
1029
1310
|
/** Metadata Extraction */
|
|
1030
|
-
extractMetadata:
|
|
1031
|
-
extractText:
|
|
1311
|
+
extractMetadata: import_zod12.z.boolean().default(true).describe("Extract file metadata (name, size, type, etc.)"),
|
|
1312
|
+
extractText: import_zod12.z.boolean().default(false).describe("Extract text content from documents (OCR/parsing)"),
|
|
1032
1313
|
/** Versioning */
|
|
1033
|
-
versioningEnabled:
|
|
1034
|
-
maxVersions:
|
|
1314
|
+
versioningEnabled: import_zod12.z.boolean().default(false).describe("Keep previous versions of replaced files"),
|
|
1315
|
+
maxVersions: import_zod12.z.number().min(1).optional().describe("Maximum number of versions to retain"),
|
|
1035
1316
|
/** Access Control */
|
|
1036
|
-
publicRead:
|
|
1037
|
-
presignedUrlExpiry:
|
|
1317
|
+
publicRead: import_zod12.z.boolean().default(false).describe("Allow public read access to uploaded files"),
|
|
1318
|
+
presignedUrlExpiry: import_zod12.z.number().min(60).max(604800).default(3600).describe("Presigned URL expiration in seconds (default: 1 hour)")
|
|
1038
1319
|
}).refine((data) => {
|
|
1039
1320
|
if (data.minSize !== void 0 && data.maxSize !== void 0 && data.minSize > data.maxSize) {
|
|
1040
1321
|
return false;
|
|
@@ -1050,88 +1331,88 @@ var FileAttachmentConfigSchema = import_zod10.z.object({
|
|
|
1050
1331
|
}, {
|
|
1051
1332
|
message: "virusScanProvider requires virusScan to be enabled"
|
|
1052
1333
|
});
|
|
1053
|
-
var DataQualityRulesSchema =
|
|
1334
|
+
var DataQualityRulesSchema = import_zod12.z.object({
|
|
1054
1335
|
/** Enforce uniqueness constraint */
|
|
1055
|
-
uniqueness:
|
|
1336
|
+
uniqueness: import_zod12.z.boolean().default(false).describe("Enforce unique values across all records"),
|
|
1056
1337
|
/** Completeness ratio (0-1) indicating minimum percentage of non-null values */
|
|
1057
|
-
completeness:
|
|
1338
|
+
completeness: import_zod12.z.number().min(0).max(1).default(0).describe("Minimum ratio of non-null values (0-1, default: 0 = no requirement)"),
|
|
1058
1339
|
/** Accuracy validation against authoritative source */
|
|
1059
|
-
accuracy:
|
|
1060
|
-
source:
|
|
1061
|
-
threshold:
|
|
1340
|
+
accuracy: import_zod12.z.object({
|
|
1341
|
+
source: import_zod12.z.string().describe('Reference data source for validation (e.g., "api.verify.com", "master_data")'),
|
|
1342
|
+
threshold: import_zod12.z.number().min(0).max(1).describe("Minimum accuracy threshold (0-1, e.g., 0.95 = 95% match required)")
|
|
1062
1343
|
}).optional().describe("Accuracy validation configuration")
|
|
1063
1344
|
});
|
|
1064
|
-
var ComputedFieldCacheSchema =
|
|
1345
|
+
var ComputedFieldCacheSchema = import_zod12.z.object({
|
|
1065
1346
|
/** Enable caching for this computed field */
|
|
1066
|
-
enabled:
|
|
1347
|
+
enabled: import_zod12.z.boolean().describe("Enable caching for computed field results"),
|
|
1067
1348
|
/** Time-to-live in seconds */
|
|
1068
|
-
ttl:
|
|
1349
|
+
ttl: import_zod12.z.number().min(0).describe("Cache TTL in seconds (0 = no expiration)"),
|
|
1069
1350
|
/** Array of field paths that trigger cache invalidation when changed */
|
|
1070
|
-
invalidateOn:
|
|
1351
|
+
invalidateOn: import_zod12.z.array(import_zod12.z.string()).describe('Field paths that invalidate cache (e.g., ["inventory.quantity", "pricing.base_price"])')
|
|
1071
1352
|
});
|
|
1072
|
-
var FieldSchema =
|
|
1353
|
+
var FieldSchema = import_zod12.z.object({
|
|
1073
1354
|
/** Identity */
|
|
1074
|
-
name:
|
|
1075
|
-
label:
|
|
1355
|
+
name: import_zod12.z.string().regex(/^[a-z_][a-z0-9_]*$/).describe("Machine name (snake_case)").optional(),
|
|
1356
|
+
label: import_zod12.z.string().optional().describe("Human readable label"),
|
|
1076
1357
|
type: FieldType.describe("Field Data Type"),
|
|
1077
|
-
description:
|
|
1078
|
-
format:
|
|
1358
|
+
description: import_zod12.z.string().optional().describe("Tooltip/Help text"),
|
|
1359
|
+
format: import_zod12.z.string().optional().describe("Format string (e.g. email, phone)"),
|
|
1079
1360
|
/** Database Constraints */
|
|
1080
|
-
required:
|
|
1081
|
-
searchable:
|
|
1082
|
-
multiple:
|
|
1083
|
-
unique:
|
|
1084
|
-
defaultValue:
|
|
1361
|
+
required: import_zod12.z.boolean().default(false).describe("Is required"),
|
|
1362
|
+
searchable: import_zod12.z.boolean().default(false).describe("Is searchable"),
|
|
1363
|
+
multiple: import_zod12.z.boolean().default(false).describe("Allow multiple values (Stores as Array/JSON). Applicable for select, lookup, file, image."),
|
|
1364
|
+
unique: import_zod12.z.boolean().default(false).describe("Is unique constraint"),
|
|
1365
|
+
defaultValue: import_zod12.z.unknown().optional().describe("Default value"),
|
|
1085
1366
|
/** Text/String Constraints */
|
|
1086
|
-
maxLength:
|
|
1087
|
-
minLength:
|
|
1367
|
+
maxLength: import_zod12.z.number().optional().describe("Max character length"),
|
|
1368
|
+
minLength: import_zod12.z.number().optional().describe("Min character length"),
|
|
1088
1369
|
/** Number Constraints */
|
|
1089
|
-
precision:
|
|
1090
|
-
scale:
|
|
1091
|
-
min:
|
|
1092
|
-
max:
|
|
1370
|
+
precision: import_zod12.z.number().optional().describe("Total digits"),
|
|
1371
|
+
scale: import_zod12.z.number().optional().describe("Decimal places"),
|
|
1372
|
+
min: import_zod12.z.number().optional().describe("Minimum value"),
|
|
1373
|
+
max: import_zod12.z.number().optional().describe("Maximum value"),
|
|
1093
1374
|
/** Selection Options */
|
|
1094
|
-
options:
|
|
1375
|
+
options: import_zod12.z.array(SelectOptionSchema).optional().describe("Static options for select/multiselect"),
|
|
1095
1376
|
/** Relationship Config */
|
|
1096
|
-
reference:
|
|
1097
|
-
referenceFilters:
|
|
1098
|
-
writeRequiresMasterRead:
|
|
1099
|
-
deleteBehavior:
|
|
1377
|
+
reference: import_zod12.z.string().optional().describe("Target Object Name"),
|
|
1378
|
+
referenceFilters: import_zod12.z.array(import_zod12.z.string()).optional().describe('Filters applied to lookup dialogs (e.g. "active = true")'),
|
|
1379
|
+
writeRequiresMasterRead: import_zod12.z.boolean().optional().describe("If true, user needs read access to master record to edit this field"),
|
|
1380
|
+
deleteBehavior: import_zod12.z.enum(["set_null", "cascade", "restrict"]).optional().default("set_null").describe("What happens if referenced record is deleted"),
|
|
1100
1381
|
/** Calculation */
|
|
1101
|
-
expression:
|
|
1102
|
-
summaryOperations:
|
|
1103
|
-
object:
|
|
1104
|
-
field:
|
|
1105
|
-
function:
|
|
1382
|
+
expression: import_zod12.z.string().optional().describe("Formula expression"),
|
|
1383
|
+
summaryOperations: import_zod12.z.object({
|
|
1384
|
+
object: import_zod12.z.string(),
|
|
1385
|
+
field: import_zod12.z.string(),
|
|
1386
|
+
function: import_zod12.z.enum(["count", "sum", "min", "max", "avg"])
|
|
1106
1387
|
}).optional().describe("Roll-up summary definition"),
|
|
1107
1388
|
/** Enhanced Field Type Configurations */
|
|
1108
1389
|
// Code field config
|
|
1109
|
-
language:
|
|
1110
|
-
theme:
|
|
1111
|
-
lineNumbers:
|
|
1390
|
+
language: import_zod12.z.string().optional().describe("Programming language for syntax highlighting (e.g., javascript, python, sql)"),
|
|
1391
|
+
theme: import_zod12.z.string().optional().describe("Code editor theme (e.g., dark, light, monokai)"),
|
|
1392
|
+
lineNumbers: import_zod12.z.boolean().optional().describe("Show line numbers in code editor"),
|
|
1112
1393
|
// Rating field config
|
|
1113
|
-
maxRating:
|
|
1114
|
-
allowHalf:
|
|
1394
|
+
maxRating: import_zod12.z.number().optional().describe("Maximum rating value (default: 5)"),
|
|
1395
|
+
allowHalf: import_zod12.z.boolean().optional().describe("Allow half-star ratings"),
|
|
1115
1396
|
// Location field config
|
|
1116
|
-
displayMap:
|
|
1117
|
-
allowGeocoding:
|
|
1397
|
+
displayMap: import_zod12.z.boolean().optional().describe("Display map widget for location field"),
|
|
1398
|
+
allowGeocoding: import_zod12.z.boolean().optional().describe("Allow address-to-coordinate conversion"),
|
|
1118
1399
|
// Address field config
|
|
1119
|
-
addressFormat:
|
|
1400
|
+
addressFormat: import_zod12.z.enum(["us", "uk", "international"]).optional().describe("Address format template"),
|
|
1120
1401
|
// Color field config
|
|
1121
|
-
colorFormat:
|
|
1122
|
-
allowAlpha:
|
|
1123
|
-
presetColors:
|
|
1402
|
+
colorFormat: import_zod12.z.enum(["hex", "rgb", "rgba", "hsl"]).optional().describe("Color value format"),
|
|
1403
|
+
allowAlpha: import_zod12.z.boolean().optional().describe("Allow transparency/alpha channel"),
|
|
1404
|
+
presetColors: import_zod12.z.array(import_zod12.z.string()).optional().describe("Preset color options"),
|
|
1124
1405
|
// Slider field config
|
|
1125
|
-
step:
|
|
1126
|
-
showValue:
|
|
1127
|
-
marks:
|
|
1406
|
+
step: import_zod12.z.number().optional().describe("Step increment for slider (default: 1)"),
|
|
1407
|
+
showValue: import_zod12.z.boolean().optional().describe("Display current value on slider"),
|
|
1408
|
+
marks: import_zod12.z.record(import_zod12.z.string(), import_zod12.z.string()).optional().describe('Custom marks/labels at specific values (e.g., {0: "Low", 50: "Medium", 100: "High"})'),
|
|
1128
1409
|
// QR Code / Barcode field config
|
|
1129
1410
|
// Note: qrErrorCorrection is only applicable when barcodeFormat='qr'
|
|
1130
1411
|
// Runtime validation should enforce this constraint
|
|
1131
|
-
barcodeFormat:
|
|
1132
|
-
qrErrorCorrection:
|
|
1133
|
-
displayValue:
|
|
1134
|
-
allowScanning:
|
|
1412
|
+
barcodeFormat: import_zod12.z.enum(["qr", "ean13", "ean8", "code128", "code39", "upca", "upce"]).optional().describe("Barcode format type"),
|
|
1413
|
+
qrErrorCorrection: import_zod12.z.enum(["L", "M", "Q", "H"]).optional().describe('QR code error correction level (L=7%, M=15%, Q=25%, H=30%). Only applicable when barcodeFormat is "qr"'),
|
|
1414
|
+
displayValue: import_zod12.z.boolean().optional().describe("Display human-readable value below barcode/QR code"),
|
|
1415
|
+
allowScanning: import_zod12.z.boolean().optional().describe("Enable camera scanning for barcode/QR code input"),
|
|
1135
1416
|
// Currency field config
|
|
1136
1417
|
currencyConfig: CurrencyConfigSchema.optional().describe("Configuration for currency field type"),
|
|
1137
1418
|
// Vector field config
|
|
@@ -1144,10 +1425,10 @@ var FieldSchema = import_zod10.z.object({
|
|
|
1144
1425
|
// Data masking rules
|
|
1145
1426
|
maskingRule: MaskingRuleSchema.optional().describe("Data masking rules for PII protection"),
|
|
1146
1427
|
// Audit trail
|
|
1147
|
-
auditTrail:
|
|
1428
|
+
auditTrail: import_zod12.z.boolean().default(false).describe("Enable detailed audit trail for this field (tracks all changes with user and timestamp)"),
|
|
1148
1429
|
/** Field Dependencies & Relationships */
|
|
1149
1430
|
// Field dependencies
|
|
1150
|
-
dependencies:
|
|
1431
|
+
dependencies: import_zod12.z.array(import_zod12.z.string()).optional().describe("Array of field names that this field depends on (for formulas, visibility rules, etc.)"),
|
|
1151
1432
|
/** Computed Field Optimization */
|
|
1152
1433
|
// Computed field caching
|
|
1153
1434
|
cached: ComputedFieldCacheSchema.optional().describe("Caching configuration for computed/formula fields"),
|
|
@@ -1155,35 +1436,35 @@ var FieldSchema = import_zod10.z.object({
|
|
|
1155
1436
|
// Data quality rules
|
|
1156
1437
|
dataQuality: DataQualityRulesSchema.optional().describe("Data quality validation and monitoring rules"),
|
|
1157
1438
|
/** Security & Visibility */
|
|
1158
|
-
hidden:
|
|
1159
|
-
readonly:
|
|
1160
|
-
sortable:
|
|
1161
|
-
inlineHelpText:
|
|
1162
|
-
trackFeedHistory:
|
|
1163
|
-
caseSensitive:
|
|
1164
|
-
autonumberFormat:
|
|
1439
|
+
hidden: import_zod12.z.boolean().default(false).describe("Hidden from default UI"),
|
|
1440
|
+
readonly: import_zod12.z.boolean().default(false).describe("Read-only in UI"),
|
|
1441
|
+
sortable: import_zod12.z.boolean().optional().default(true).describe("Whether field is sortable in list views"),
|
|
1442
|
+
inlineHelpText: import_zod12.z.string().optional().describe("Help text displayed below the field in forms"),
|
|
1443
|
+
trackFeedHistory: import_zod12.z.boolean().optional().describe("Track field changes in Chatter/activity feed (Salesforce pattern)"),
|
|
1444
|
+
caseSensitive: import_zod12.z.boolean().optional().describe("Whether text comparisons are case-sensitive"),
|
|
1445
|
+
autonumberFormat: import_zod12.z.string().optional().describe('Auto-number display format pattern (e.g., "CASE-{0000}")'),
|
|
1165
1446
|
/** Indexing */
|
|
1166
|
-
index:
|
|
1167
|
-
externalId:
|
|
1447
|
+
index: import_zod12.z.boolean().default(false).describe("Create standard database index"),
|
|
1448
|
+
externalId: import_zod12.z.boolean().default(false).describe("Is external ID for upsert operations")
|
|
1168
1449
|
});
|
|
1169
1450
|
|
|
1170
1451
|
// src/ui/action.zod.ts
|
|
1171
|
-
var ActionParamSchema =
|
|
1172
|
-
name:
|
|
1173
|
-
label:
|
|
1452
|
+
var ActionParamSchema = import_zod13.z.object({
|
|
1453
|
+
name: import_zod13.z.string(),
|
|
1454
|
+
label: I18nLabelSchema,
|
|
1174
1455
|
type: FieldType,
|
|
1175
|
-
required:
|
|
1176
|
-
options:
|
|
1456
|
+
required: import_zod13.z.boolean().default(false),
|
|
1457
|
+
options: import_zod13.z.array(import_zod13.z.object({ label: I18nLabelSchema, value: import_zod13.z.string() })).optional()
|
|
1177
1458
|
});
|
|
1178
|
-
var ActionSchema =
|
|
1459
|
+
var ActionSchema = import_zod13.z.object({
|
|
1179
1460
|
/** Machine name of the action */
|
|
1180
1461
|
name: SnakeCaseIdentifierSchema.describe("Machine name (lowercase snake_case)"),
|
|
1181
1462
|
/** Display label */
|
|
1182
|
-
label:
|
|
1463
|
+
label: I18nLabelSchema.describe("Display label"),
|
|
1183
1464
|
/** Icon name (Lucide) */
|
|
1184
|
-
icon:
|
|
1465
|
+
icon: import_zod13.z.string().optional().describe("Icon name"),
|
|
1185
1466
|
/** Where does this action appear? */
|
|
1186
|
-
locations:
|
|
1467
|
+
locations: import_zod13.z.array(import_zod13.z.enum([
|
|
1187
1468
|
"list_toolbar",
|
|
1188
1469
|
"list_item",
|
|
1189
1470
|
"record_header",
|
|
@@ -1196,7 +1477,7 @@ var ActionSchema = import_zod11.z.object({
|
|
|
1196
1477
|
* Defaults to 'button' or 'menu_item' based on location,
|
|
1197
1478
|
* but can be overridden.
|
|
1198
1479
|
*/
|
|
1199
|
-
component:
|
|
1480
|
+
component: import_zod13.z.enum([
|
|
1200
1481
|
"action:button",
|
|
1201
1482
|
// Standard Button
|
|
1202
1483
|
"action:icon",
|
|
@@ -1207,41 +1488,43 @@ var ActionSchema = import_zod11.z.object({
|
|
|
1207
1488
|
// Button Group
|
|
1208
1489
|
]).optional().describe("Visual component override"),
|
|
1209
1490
|
/** @deprecated Use `locations` instead. Will be removed in v2.0.0 */
|
|
1210
|
-
location:
|
|
1491
|
+
location: import_zod13.z.unknown().optional().describe("DEPRECATED: Use `locations` field instead. Scheduled for removal in v2.0.0"),
|
|
1211
1492
|
/** What type of interaction? */
|
|
1212
|
-
type:
|
|
1493
|
+
type: import_zod13.z.enum(["script", "url", "modal", "flow", "api"]).default("script").describe("Action functionality type"),
|
|
1213
1494
|
/** Payload / Target */
|
|
1214
|
-
target:
|
|
1495
|
+
target: import_zod13.z.string().optional().describe("URL, Script Name, Flow ID, or API Endpoint"),
|
|
1215
1496
|
// For URL/Flow types
|
|
1216
|
-
execute:
|
|
1497
|
+
execute: import_zod13.z.string().optional().describe("Legacy execution logic"),
|
|
1217
1498
|
/** User Input Requirements */
|
|
1218
|
-
params:
|
|
1499
|
+
params: import_zod13.z.array(ActionParamSchema).optional().describe("Input parameters required from user"),
|
|
1219
1500
|
/** UX Behavior */
|
|
1220
|
-
confirmText:
|
|
1221
|
-
successMessage:
|
|
1222
|
-
refreshAfter:
|
|
1501
|
+
confirmText: I18nLabelSchema.optional().describe("Confirmation message before execution"),
|
|
1502
|
+
successMessage: I18nLabelSchema.optional().describe("Success message to show after execution"),
|
|
1503
|
+
refreshAfter: import_zod13.z.boolean().default(false).describe("Refresh view after execution"),
|
|
1223
1504
|
/** Access */
|
|
1224
|
-
visible:
|
|
1225
|
-
disabled:
|
|
1505
|
+
visible: import_zod13.z.string().optional().describe("Formula returning boolean"),
|
|
1506
|
+
disabled: import_zod13.z.union([import_zod13.z.boolean(), import_zod13.z.string()]).optional().describe("Whether the action is disabled, or a condition expression string"),
|
|
1226
1507
|
/** Keyboard Shortcut */
|
|
1227
|
-
shortcut:
|
|
1508
|
+
shortcut: import_zod13.z.string().optional().describe('Keyboard shortcut to trigger this action (e.g., "Ctrl+S")'),
|
|
1228
1509
|
/** Bulk Operations */
|
|
1229
|
-
bulkEnabled:
|
|
1510
|
+
bulkEnabled: import_zod13.z.boolean().optional().describe("Whether this action can be applied to multiple selected records"),
|
|
1230
1511
|
/** Execution */
|
|
1231
|
-
timeout:
|
|
1512
|
+
timeout: import_zod13.z.number().optional().describe("Maximum execution time in milliseconds for the action"),
|
|
1513
|
+
/** ARIA accessibility attributes */
|
|
1514
|
+
aria: AriaPropsSchema.optional().describe("ARIA accessibility attributes")
|
|
1232
1515
|
});
|
|
1233
1516
|
var Action = {
|
|
1234
1517
|
create: (config) => ActionSchema.parse(config)
|
|
1235
1518
|
};
|
|
1236
1519
|
|
|
1237
1520
|
// src/ui/page.zod.ts
|
|
1238
|
-
var
|
|
1239
|
-
var PageRegionSchema =
|
|
1240
|
-
name:
|
|
1241
|
-
width:
|
|
1242
|
-
components:
|
|
1521
|
+
var import_zod14 = require("zod");
|
|
1522
|
+
var PageRegionSchema = import_zod14.z.object({
|
|
1523
|
+
name: import_zod14.z.string().describe('Region name (e.g. "sidebar", "main", "header")'),
|
|
1524
|
+
width: import_zod14.z.enum(["small", "medium", "large", "full"]).optional(),
|
|
1525
|
+
components: import_zod14.z.array(import_zod14.z.lazy(() => PageComponentSchema)).describe("Components in this region")
|
|
1243
1526
|
});
|
|
1244
|
-
var PageComponentType =
|
|
1527
|
+
var PageComponentType = import_zod14.z.enum([
|
|
1245
1528
|
// Structure
|
|
1246
1529
|
"page:header",
|
|
1247
1530
|
"page:footer",
|
|
@@ -1269,201 +1552,207 @@ var PageComponentType = import_zod12.z.enum([
|
|
|
1269
1552
|
"ai:chat_window",
|
|
1270
1553
|
"ai:suggestion"
|
|
1271
1554
|
]);
|
|
1272
|
-
var PageComponentSchema =
|
|
1555
|
+
var PageComponentSchema = import_zod14.z.object({
|
|
1273
1556
|
/** Definition */
|
|
1274
|
-
type:
|
|
1557
|
+
type: import_zod14.z.union([
|
|
1275
1558
|
PageComponentType,
|
|
1276
|
-
|
|
1559
|
+
import_zod14.z.string()
|
|
1277
1560
|
]).describe("Component Type (Standard enum or custom string)"),
|
|
1278
|
-
id:
|
|
1561
|
+
id: import_zod14.z.string().optional().describe("Unique instance ID"),
|
|
1279
1562
|
/** Configuration */
|
|
1280
|
-
label:
|
|
1281
|
-
properties:
|
|
1563
|
+
label: I18nLabelSchema.optional(),
|
|
1564
|
+
properties: import_zod14.z.record(import_zod14.z.string(), import_zod14.z.unknown()).describe("Component props passed to the widget. See component.zod.ts for schemas."),
|
|
1282
1565
|
/**
|
|
1283
1566
|
* Event Handlers
|
|
1284
1567
|
* Map event names to Action expressions.
|
|
1285
1568
|
* "onClick": "set_variable('userId', $event.id)"
|
|
1286
1569
|
* "onRowSelect": "navigate_to('page_detail', { id: $event.id })"
|
|
1287
1570
|
*/
|
|
1288
|
-
events:
|
|
1571
|
+
events: import_zod14.z.record(import_zod14.z.string(), import_zod14.z.string()).optional().describe("Event handlers map"),
|
|
1289
1572
|
/** Appearance */
|
|
1290
|
-
style:
|
|
1291
|
-
className:
|
|
1573
|
+
style: import_zod14.z.record(import_zod14.z.string(), import_zod14.z.string()).optional().describe("Inline styles or utility classes"),
|
|
1574
|
+
className: import_zod14.z.string().optional().describe("CSS class names"),
|
|
1292
1575
|
/** Visibility Rule */
|
|
1293
|
-
visibility:
|
|
1294
|
-
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
|
|
1298
|
-
|
|
1299
|
-
|
|
1300
|
-
|
|
1576
|
+
visibility: import_zod14.z.string().optional().describe("Visibility filter/formula"),
|
|
1577
|
+
/** Responsive layout overrides per breakpoint */
|
|
1578
|
+
responsive: ResponsiveConfigSchema.optional().describe("Responsive layout configuration"),
|
|
1579
|
+
/** ARIA accessibility attributes */
|
|
1580
|
+
aria: AriaPropsSchema.optional().describe("ARIA accessibility attributes")
|
|
1581
|
+
});
|
|
1582
|
+
var PageVariableSchema = import_zod14.z.object({
|
|
1583
|
+
name: import_zod14.z.string().describe("Variable name"),
|
|
1584
|
+
type: import_zod14.z.enum(["string", "number", "boolean", "object", "array"]).default("string"),
|
|
1585
|
+
defaultValue: import_zod14.z.unknown().optional()
|
|
1586
|
+
});
|
|
1587
|
+
var PageSchema = import_zod14.z.object({
|
|
1301
1588
|
name: SnakeCaseIdentifierSchema.describe("Page unique name (lowercase snake_case)"),
|
|
1302
|
-
label:
|
|
1303
|
-
description:
|
|
1589
|
+
label: I18nLabelSchema,
|
|
1590
|
+
description: I18nLabelSchema.optional(),
|
|
1304
1591
|
/** Page Type */
|
|
1305
|
-
type:
|
|
1592
|
+
type: import_zod14.z.enum(["record", "home", "app", "utility"]).default("record"),
|
|
1306
1593
|
/** Page State Definitions */
|
|
1307
|
-
variables:
|
|
1594
|
+
variables: import_zod14.z.array(PageVariableSchema).optional().describe("Local page state variables"),
|
|
1308
1595
|
/** Context */
|
|
1309
|
-
object:
|
|
1596
|
+
object: import_zod14.z.string().optional().describe("Bound object (for Record pages)"),
|
|
1310
1597
|
/** Layout Template */
|
|
1311
|
-
template:
|
|
1598
|
+
template: import_zod14.z.string().default("default").describe('Layout template name (e.g. "header-sidebar-main")'),
|
|
1312
1599
|
/** Regions & Content */
|
|
1313
|
-
regions:
|
|
1600
|
+
regions: import_zod14.z.array(PageRegionSchema).describe("Defined regions with components"),
|
|
1314
1601
|
/** Activation */
|
|
1315
|
-
isDefault:
|
|
1316
|
-
assignedProfiles:
|
|
1602
|
+
isDefault: import_zod14.z.boolean().default(false),
|
|
1603
|
+
assignedProfiles: import_zod14.z.array(import_zod14.z.string()).optional(),
|
|
1604
|
+
/** ARIA accessibility attributes */
|
|
1605
|
+
aria: AriaPropsSchema.optional().describe("ARIA accessibility attributes")
|
|
1317
1606
|
});
|
|
1318
1607
|
|
|
1319
1608
|
// src/ui/widget.zod.ts
|
|
1320
|
-
var
|
|
1321
|
-
var WidgetLifecycleSchema =
|
|
1609
|
+
var import_zod15 = require("zod");
|
|
1610
|
+
var WidgetLifecycleSchema = import_zod15.z.object({
|
|
1322
1611
|
/**
|
|
1323
1612
|
* Called when widget is mounted/rendered for the first time
|
|
1324
1613
|
* Use for initialization, setting up event listeners, loading data, etc.
|
|
1325
1614
|
*
|
|
1326
1615
|
* @example "initializeDatePicker(); loadOptions();"
|
|
1327
1616
|
*/
|
|
1328
|
-
onMount:
|
|
1617
|
+
onMount: import_zod15.z.string().optional().describe("Initialization code when widget mounts"),
|
|
1329
1618
|
/**
|
|
1330
1619
|
* Called when widget props change
|
|
1331
1620
|
* Receives previous props for comparison
|
|
1332
1621
|
*
|
|
1333
1622
|
* @example "if (prevProps.value !== props.value) { updateDisplay() }"
|
|
1334
1623
|
*/
|
|
1335
|
-
onUpdate:
|
|
1624
|
+
onUpdate: import_zod15.z.string().optional().describe("Code to run when props change"),
|
|
1336
1625
|
/**
|
|
1337
1626
|
* Called when widget is about to be removed from DOM
|
|
1338
1627
|
* Use for cleanup, removing event listeners, canceling timers, etc.
|
|
1339
1628
|
*
|
|
1340
1629
|
* @example "destroyDatePicker(); cancelPendingRequests();"
|
|
1341
1630
|
*/
|
|
1342
|
-
onUnmount:
|
|
1631
|
+
onUnmount: import_zod15.z.string().optional().describe("Cleanup code when widget unmounts"),
|
|
1343
1632
|
/**
|
|
1344
1633
|
* Custom validation logic for this widget
|
|
1345
1634
|
* Should return error message string if invalid, null/undefined if valid
|
|
1346
1635
|
*
|
|
1347
1636
|
* @example "return value && value.length >= 10 ? null : 'Minimum 10 characters'"
|
|
1348
1637
|
*/
|
|
1349
|
-
onValidate:
|
|
1638
|
+
onValidate: import_zod15.z.string().optional().describe("Custom validation logic"),
|
|
1350
1639
|
/**
|
|
1351
1640
|
* Called when widget receives focus
|
|
1352
1641
|
*
|
|
1353
1642
|
* @example "highlightField(); logFocusEvent();"
|
|
1354
1643
|
*/
|
|
1355
|
-
onFocus:
|
|
1644
|
+
onFocus: import_zod15.z.string().optional().describe("Code to run on focus"),
|
|
1356
1645
|
/**
|
|
1357
1646
|
* Called when widget loses focus
|
|
1358
1647
|
*
|
|
1359
1648
|
* @example "validateField(); saveFieldState();"
|
|
1360
1649
|
*/
|
|
1361
|
-
onBlur:
|
|
1650
|
+
onBlur: import_zod15.z.string().optional().describe("Code to run on blur"),
|
|
1362
1651
|
/**
|
|
1363
1652
|
* Called on any error in the widget
|
|
1364
1653
|
*
|
|
1365
1654
|
* @example "logError(error); showErrorNotification();"
|
|
1366
1655
|
*/
|
|
1367
|
-
onError:
|
|
1656
|
+
onError: import_zod15.z.string().optional().describe("Error handling code")
|
|
1368
1657
|
});
|
|
1369
|
-
var WidgetEventSchema =
|
|
1658
|
+
var WidgetEventSchema = import_zod15.z.object({
|
|
1370
1659
|
/**
|
|
1371
1660
|
* Event name
|
|
1372
1661
|
* Should be lowercase, dash-separated for consistency
|
|
1373
1662
|
*
|
|
1374
1663
|
* @example "value-change", "item-selected", "search-complete"
|
|
1375
1664
|
*/
|
|
1376
|
-
name:
|
|
1665
|
+
name: import_zod15.z.string().describe("Event name"),
|
|
1377
1666
|
/**
|
|
1378
1667
|
* Event label for documentation
|
|
1379
1668
|
*/
|
|
1380
|
-
label:
|
|
1669
|
+
label: I18nLabelSchema.optional().describe("Human-readable event label"),
|
|
1381
1670
|
/**
|
|
1382
1671
|
* Event description
|
|
1383
1672
|
*/
|
|
1384
|
-
description:
|
|
1673
|
+
description: I18nLabelSchema.optional().describe("Event description and usage"),
|
|
1385
1674
|
/**
|
|
1386
1675
|
* Whether event bubbles up through the DOM hierarchy
|
|
1387
1676
|
*
|
|
1388
1677
|
* @default false
|
|
1389
1678
|
*/
|
|
1390
|
-
bubbles:
|
|
1679
|
+
bubbles: import_zod15.z.boolean().default(false).describe("Whether event bubbles"),
|
|
1391
1680
|
/**
|
|
1392
1681
|
* Whether event can be cancelled
|
|
1393
1682
|
*
|
|
1394
1683
|
* @default false
|
|
1395
1684
|
*/
|
|
1396
|
-
cancelable:
|
|
1685
|
+
cancelable: import_zod15.z.boolean().default(false).describe("Whether event is cancelable"),
|
|
1397
1686
|
/**
|
|
1398
1687
|
* Event payload schema
|
|
1399
1688
|
* Defines the data structure sent with the event
|
|
1400
1689
|
*
|
|
1401
1690
|
* @example { userId: 'string', timestamp: 'number' }
|
|
1402
1691
|
*/
|
|
1403
|
-
payload:
|
|
1692
|
+
payload: import_zod15.z.record(import_zod15.z.string(), import_zod15.z.unknown()).optional().describe("Event payload schema")
|
|
1404
1693
|
});
|
|
1405
|
-
var WidgetPropertySchema =
|
|
1694
|
+
var WidgetPropertySchema = import_zod15.z.object({
|
|
1406
1695
|
/**
|
|
1407
1696
|
* Property name
|
|
1408
1697
|
* Should be camelCase following ObjectStack conventions
|
|
1409
1698
|
*/
|
|
1410
|
-
name:
|
|
1699
|
+
name: import_zod15.z.string().describe("Property name (camelCase)"),
|
|
1411
1700
|
/**
|
|
1412
1701
|
* Property label for UI
|
|
1413
1702
|
*/
|
|
1414
|
-
label:
|
|
1703
|
+
label: I18nLabelSchema.optional().describe("Human-readable label"),
|
|
1415
1704
|
/**
|
|
1416
1705
|
* Property data type
|
|
1417
1706
|
*
|
|
1418
1707
|
* @example "string", "number", "boolean", "array", "object", "function"
|
|
1419
1708
|
*/
|
|
1420
|
-
type:
|
|
1709
|
+
type: import_zod15.z.enum(["string", "number", "boolean", "array", "object", "function", "any"]).describe("TypeScript type"),
|
|
1421
1710
|
/**
|
|
1422
1711
|
* Whether property is required
|
|
1423
1712
|
*
|
|
1424
1713
|
* @default false
|
|
1425
1714
|
*/
|
|
1426
|
-
required:
|
|
1715
|
+
required: import_zod15.z.boolean().default(false).describe("Whether property is required"),
|
|
1427
1716
|
/**
|
|
1428
1717
|
* Default value for the property
|
|
1429
1718
|
*/
|
|
1430
|
-
default:
|
|
1719
|
+
default: import_zod15.z.unknown().optional().describe("Default value"),
|
|
1431
1720
|
/**
|
|
1432
1721
|
* Property description
|
|
1433
1722
|
*/
|
|
1434
|
-
description:
|
|
1723
|
+
description: I18nLabelSchema.optional().describe("Property description"),
|
|
1435
1724
|
/**
|
|
1436
1725
|
* Property validation schema
|
|
1437
1726
|
* Can include min/max, regex, enum values, etc.
|
|
1438
1727
|
*/
|
|
1439
|
-
validation:
|
|
1728
|
+
validation: import_zod15.z.record(import_zod15.z.string(), import_zod15.z.unknown()).optional().describe("Validation rules"),
|
|
1440
1729
|
/**
|
|
1441
1730
|
* Property category for grouping in UI
|
|
1442
1731
|
*/
|
|
1443
|
-
category:
|
|
1732
|
+
category: import_zod15.z.string().optional().describe("Property category")
|
|
1444
1733
|
});
|
|
1445
|
-
var WidgetSourceSchema =
|
|
1734
|
+
var WidgetSourceSchema = import_zod15.z.discriminatedUnion("type", [
|
|
1446
1735
|
// NPM Registry (standard)
|
|
1447
|
-
|
|
1448
|
-
type:
|
|
1449
|
-
packageName:
|
|
1450
|
-
version:
|
|
1451
|
-
exportName:
|
|
1736
|
+
import_zod15.z.object({
|
|
1737
|
+
type: import_zod15.z.literal("npm"),
|
|
1738
|
+
packageName: import_zod15.z.string().describe("NPM package name"),
|
|
1739
|
+
version: import_zod15.z.string().default("latest"),
|
|
1740
|
+
exportName: import_zod15.z.string().optional().describe("Named export (default: default)")
|
|
1452
1741
|
}),
|
|
1453
1742
|
// Module Federation (Remote)
|
|
1454
|
-
|
|
1455
|
-
type:
|
|
1456
|
-
url:
|
|
1457
|
-
moduleName:
|
|
1458
|
-
scope:
|
|
1743
|
+
import_zod15.z.object({
|
|
1744
|
+
type: import_zod15.z.literal("remote"),
|
|
1745
|
+
url: import_zod15.z.string().url().describe("Remote entry URL (.js)"),
|
|
1746
|
+
moduleName: import_zod15.z.string().describe("Exposed module name"),
|
|
1747
|
+
scope: import_zod15.z.string().describe("Remote scope name")
|
|
1459
1748
|
}),
|
|
1460
1749
|
// Inline Code (Simple scripts)
|
|
1461
|
-
|
|
1462
|
-
type:
|
|
1463
|
-
code:
|
|
1750
|
+
import_zod15.z.object({
|
|
1751
|
+
type: import_zod15.z.literal("inline"),
|
|
1752
|
+
code: import_zod15.z.string().describe("JavaScript code body")
|
|
1464
1753
|
})
|
|
1465
1754
|
]);
|
|
1466
|
-
var WidgetManifestSchema =
|
|
1755
|
+
var WidgetManifestSchema = import_zod15.z.object({
|
|
1467
1756
|
/**
|
|
1468
1757
|
* Widget identifier (snake_case)
|
|
1469
1758
|
*/
|
|
@@ -1471,33 +1760,33 @@ var WidgetManifestSchema = import_zod13.z.object({
|
|
|
1471
1760
|
/**
|
|
1472
1761
|
* Human-readable widget name
|
|
1473
1762
|
*/
|
|
1474
|
-
label:
|
|
1763
|
+
label: I18nLabelSchema.describe("Widget display name"),
|
|
1475
1764
|
/**
|
|
1476
1765
|
* Widget description
|
|
1477
1766
|
*/
|
|
1478
|
-
description:
|
|
1767
|
+
description: I18nLabelSchema.optional().describe("Widget description"),
|
|
1479
1768
|
/**
|
|
1480
1769
|
* Widget version (semver)
|
|
1481
1770
|
*/
|
|
1482
|
-
version:
|
|
1771
|
+
version: import_zod15.z.string().optional().describe("Widget version (semver)"),
|
|
1483
1772
|
/**
|
|
1484
1773
|
* Widget author/organization
|
|
1485
1774
|
*/
|
|
1486
|
-
author:
|
|
1775
|
+
author: import_zod15.z.string().optional().describe("Widget author"),
|
|
1487
1776
|
/**
|
|
1488
1777
|
* Icon name or URL
|
|
1489
1778
|
*/
|
|
1490
|
-
icon:
|
|
1779
|
+
icon: import_zod15.z.string().optional().describe("Widget icon"),
|
|
1491
1780
|
/**
|
|
1492
1781
|
* Field types this widget supports
|
|
1493
1782
|
*
|
|
1494
1783
|
* @example ["text", "email", "url"]
|
|
1495
1784
|
*/
|
|
1496
|
-
fieldTypes:
|
|
1785
|
+
fieldTypes: import_zod15.z.array(import_zod15.z.string()).optional().describe("Supported field types"),
|
|
1497
1786
|
/**
|
|
1498
1787
|
* Widget category for organization
|
|
1499
1788
|
*/
|
|
1500
|
-
category:
|
|
1789
|
+
category: import_zod15.z.enum(["input", "display", "picker", "editor", "custom"]).default("custom").describe("Widget category"),
|
|
1501
1790
|
/**
|
|
1502
1791
|
* Widget lifecycle hooks
|
|
1503
1792
|
*/
|
|
@@ -1505,11 +1794,11 @@ var WidgetManifestSchema = import_zod13.z.object({
|
|
|
1505
1794
|
/**
|
|
1506
1795
|
* Custom events this widget emits
|
|
1507
1796
|
*/
|
|
1508
|
-
events:
|
|
1797
|
+
events: import_zod15.z.array(WidgetEventSchema).optional().describe("Custom events"),
|
|
1509
1798
|
/**
|
|
1510
1799
|
* Widget configuration properties
|
|
1511
1800
|
*/
|
|
1512
|
-
properties:
|
|
1801
|
+
properties: import_zod15.z.array(WidgetPropertySchema).optional().describe("Configuration properties"),
|
|
1513
1802
|
/**
|
|
1514
1803
|
* Widget implementation
|
|
1515
1804
|
* Defines how to load the widget code
|
|
@@ -1519,56 +1808,60 @@ var WidgetManifestSchema = import_zod13.z.object({
|
|
|
1519
1808
|
* Widget dependencies
|
|
1520
1809
|
* External libraries or scripts needed
|
|
1521
1810
|
*/
|
|
1522
|
-
dependencies:
|
|
1523
|
-
name:
|
|
1524
|
-
version:
|
|
1525
|
-
url:
|
|
1811
|
+
dependencies: import_zod15.z.array(import_zod15.z.object({
|
|
1812
|
+
name: import_zod15.z.string(),
|
|
1813
|
+
version: import_zod15.z.string().optional(),
|
|
1814
|
+
url: import_zod15.z.string().url().optional()
|
|
1526
1815
|
})).optional().describe("Widget dependencies"),
|
|
1527
1816
|
/**
|
|
1528
1817
|
* Widget screenshots for showcase
|
|
1529
1818
|
*/
|
|
1530
|
-
screenshots:
|
|
1819
|
+
screenshots: import_zod15.z.array(import_zod15.z.string().url()).optional().describe("Screenshot URLs"),
|
|
1531
1820
|
/**
|
|
1532
1821
|
* Widget documentation URL
|
|
1533
1822
|
*/
|
|
1534
|
-
documentation:
|
|
1823
|
+
documentation: import_zod15.z.string().url().optional().describe("Documentation URL"),
|
|
1535
1824
|
/**
|
|
1536
1825
|
* License information
|
|
1537
1826
|
*/
|
|
1538
|
-
license:
|
|
1827
|
+
license: import_zod15.z.string().optional().describe("License (SPDX identifier)"),
|
|
1539
1828
|
/**
|
|
1540
1829
|
* Tags for discovery
|
|
1541
1830
|
*/
|
|
1542
|
-
tags:
|
|
1831
|
+
tags: import_zod15.z.array(import_zod15.z.string()).optional().describe("Tags for categorization"),
|
|
1832
|
+
/** ARIA accessibility attributes */
|
|
1833
|
+
aria: AriaPropsSchema.optional().describe("ARIA accessibility attributes"),
|
|
1834
|
+
/** Performance optimization settings */
|
|
1835
|
+
performance: PerformanceConfigSchema.optional().describe("Performance optimization settings")
|
|
1543
1836
|
});
|
|
1544
|
-
var FieldWidgetPropsSchema =
|
|
1837
|
+
var FieldWidgetPropsSchema = import_zod15.z.object({
|
|
1545
1838
|
/**
|
|
1546
1839
|
* Current field value.
|
|
1547
1840
|
* Type depends on the field type (string, number, boolean, array, object, etc.)
|
|
1548
1841
|
*/
|
|
1549
|
-
value:
|
|
1842
|
+
value: import_zod15.z.unknown().describe("Current field value"),
|
|
1550
1843
|
/**
|
|
1551
1844
|
* Callback function to update the field value.
|
|
1552
1845
|
* Should be called when user interaction changes the value.
|
|
1553
1846
|
*
|
|
1554
1847
|
* @param newValue - The new value to set
|
|
1555
1848
|
*/
|
|
1556
|
-
onChange:
|
|
1849
|
+
onChange: import_zod15.z.function().input(import_zod15.z.tuple([import_zod15.z.unknown()])).output(import_zod15.z.void()).describe("Callback to update field value"),
|
|
1557
1850
|
/**
|
|
1558
1851
|
* Whether the field is in read-only mode.
|
|
1559
1852
|
* When true, the widget should display the value but not allow editing.
|
|
1560
1853
|
*/
|
|
1561
|
-
readonly:
|
|
1854
|
+
readonly: import_zod15.z.boolean().default(false).describe("Read-only mode flag"),
|
|
1562
1855
|
/**
|
|
1563
1856
|
* Whether the field is required.
|
|
1564
1857
|
* Widget should indicate required state visually and validate accordingly.
|
|
1565
1858
|
*/
|
|
1566
|
-
required:
|
|
1859
|
+
required: import_zod15.z.boolean().default(false).describe("Required field flag"),
|
|
1567
1860
|
/**
|
|
1568
1861
|
* Validation error message to display.
|
|
1569
1862
|
* When present, widget should display the error in its UI.
|
|
1570
1863
|
*/
|
|
1571
|
-
error:
|
|
1864
|
+
error: import_zod15.z.string().optional().describe("Validation error message"),
|
|
1572
1865
|
/**
|
|
1573
1866
|
* Complete field definition from the schema.
|
|
1574
1867
|
* Contains metadata like type, constraints, options, etc.
|
|
@@ -1578,57 +1871,63 @@ var FieldWidgetPropsSchema = import_zod13.z.object({
|
|
|
1578
1871
|
* The complete record/document being edited.
|
|
1579
1872
|
* Useful for conditional logic and cross-field dependencies.
|
|
1580
1873
|
*/
|
|
1581
|
-
record:
|
|
1874
|
+
record: import_zod15.z.record(import_zod15.z.string(), import_zod15.z.unknown()).optional().describe("Complete record data"),
|
|
1582
1875
|
/**
|
|
1583
1876
|
* Custom options passed to the widget.
|
|
1584
1877
|
* Can contain widget-specific configuration like themes, behaviors, etc.
|
|
1585
1878
|
*/
|
|
1586
|
-
options:
|
|
1879
|
+
options: import_zod15.z.record(import_zod15.z.string(), import_zod15.z.unknown()).optional().describe("Custom widget options")
|
|
1587
1880
|
});
|
|
1588
1881
|
|
|
1589
1882
|
// src/ui/component.zod.ts
|
|
1590
|
-
var
|
|
1591
|
-
var EmptyProps =
|
|
1592
|
-
var PageHeaderProps =
|
|
1593
|
-
title:
|
|
1594
|
-
subtitle:
|
|
1595
|
-
icon:
|
|
1596
|
-
breadcrumb:
|
|
1597
|
-
actions:
|
|
1598
|
-
|
|
1599
|
-
|
|
1600
|
-
|
|
1601
|
-
|
|
1602
|
-
|
|
1603
|
-
|
|
1604
|
-
|
|
1605
|
-
|
|
1606
|
-
|
|
1607
|
-
|
|
1608
|
-
|
|
1609
|
-
|
|
1610
|
-
|
|
1611
|
-
|
|
1883
|
+
var import_zod16 = require("zod");
|
|
1884
|
+
var EmptyProps = import_zod16.z.object({});
|
|
1885
|
+
var PageHeaderProps = import_zod16.z.object({
|
|
1886
|
+
title: I18nLabelSchema.describe("Page title"),
|
|
1887
|
+
subtitle: I18nLabelSchema.optional().describe("Page subtitle"),
|
|
1888
|
+
icon: import_zod16.z.string().optional().describe("Icon name"),
|
|
1889
|
+
breadcrumb: import_zod16.z.boolean().default(true).describe("Show breadcrumb"),
|
|
1890
|
+
actions: import_zod16.z.array(import_zod16.z.string()).optional().describe("Action IDs to show in header"),
|
|
1891
|
+
/** ARIA accessibility */
|
|
1892
|
+
aria: AriaPropsSchema.optional().describe("ARIA accessibility attributes")
|
|
1893
|
+
});
|
|
1894
|
+
var PageTabsProps = import_zod16.z.object({
|
|
1895
|
+
type: import_zod16.z.enum(["line", "card", "pill"]).default("line"),
|
|
1896
|
+
position: import_zod16.z.enum(["top", "left"]).default("top"),
|
|
1897
|
+
items: import_zod16.z.array(import_zod16.z.object({
|
|
1898
|
+
label: I18nLabelSchema,
|
|
1899
|
+
icon: import_zod16.z.string().optional(),
|
|
1900
|
+
children: import_zod16.z.array(import_zod16.z.unknown()).describe("Child components")
|
|
1901
|
+
})),
|
|
1902
|
+
/** ARIA accessibility */
|
|
1903
|
+
aria: AriaPropsSchema.optional().describe("ARIA accessibility attributes")
|
|
1904
|
+
});
|
|
1905
|
+
var PageCardProps = import_zod16.z.object({
|
|
1906
|
+
title: I18nLabelSchema.optional(),
|
|
1907
|
+
bordered: import_zod16.z.boolean().default(true),
|
|
1908
|
+
actions: import_zod16.z.array(import_zod16.z.string()).optional(),
|
|
1612
1909
|
/** Slot for nested content in the Card body */
|
|
1613
|
-
body:
|
|
1910
|
+
body: import_zod16.z.array(import_zod16.z.unknown()).optional().describe("Card content components (slot)"),
|
|
1614
1911
|
/** Slot for footer content */
|
|
1615
|
-
footer:
|
|
1912
|
+
footer: import_zod16.z.array(import_zod16.z.unknown()).optional().describe("Card footer components (slot)"),
|
|
1913
|
+
/** ARIA accessibility */
|
|
1914
|
+
aria: AriaPropsSchema.optional().describe("ARIA accessibility attributes")
|
|
1616
1915
|
});
|
|
1617
|
-
var RecordDetailsProps =
|
|
1618
|
-
columns:
|
|
1619
|
-
layout:
|
|
1916
|
+
var RecordDetailsProps = import_zod16.z.object({
|
|
1917
|
+
columns: import_zod16.z.enum(["1", "2", "3", "4"]).default("2"),
|
|
1918
|
+
layout: import_zod16.z.enum(["auto", "custom"]).default("auto"),
|
|
1620
1919
|
// If custom layout
|
|
1621
|
-
sections:
|
|
1920
|
+
sections: import_zod16.z.array(import_zod16.z.string()).optional().describe("Section IDs to show")
|
|
1622
1921
|
});
|
|
1623
|
-
var RecordRelatedListProps =
|
|
1624
|
-
objectName:
|
|
1625
|
-
relationshipField:
|
|
1626
|
-
columns:
|
|
1627
|
-
sort:
|
|
1628
|
-
limit:
|
|
1922
|
+
var RecordRelatedListProps = import_zod16.z.object({
|
|
1923
|
+
objectName: import_zod16.z.string().describe("Related object name"),
|
|
1924
|
+
relationshipField: import_zod16.z.string().describe("Field on related object that points to this record"),
|
|
1925
|
+
columns: import_zod16.z.array(import_zod16.z.string()).describe("Fields to display"),
|
|
1926
|
+
sort: import_zod16.z.string().optional(),
|
|
1927
|
+
limit: import_zod16.z.number().default(5)
|
|
1629
1928
|
});
|
|
1630
|
-
var RecordHighlightsProps =
|
|
1631
|
-
fields:
|
|
1929
|
+
var RecordHighlightsProps = import_zod16.z.object({
|
|
1930
|
+
fields: import_zod16.z.array(import_zod16.z.string()).min(1).max(7).describe("Key fields to highlights (max 7)")
|
|
1632
1931
|
});
|
|
1633
1932
|
var ComponentPropsMap = {
|
|
1634
1933
|
// Structure
|
|
@@ -1655,142 +1954,223 @@ var ComponentPropsMap = {
|
|
|
1655
1954
|
"global:notifications": EmptyProps,
|
|
1656
1955
|
"user:profile": EmptyProps,
|
|
1657
1956
|
// AI
|
|
1658
|
-
"ai:chat_window":
|
|
1659
|
-
"ai:suggestion":
|
|
1957
|
+
"ai:chat_window": import_zod16.z.object({ mode: import_zod16.z.enum(["float", "sidebar", "inline"]).default("float") }),
|
|
1958
|
+
"ai:suggestion": import_zod16.z.object({ context: import_zod16.z.string().optional() })
|
|
1660
1959
|
};
|
|
1661
1960
|
|
|
1662
1961
|
// src/ui/theme.zod.ts
|
|
1663
|
-
var
|
|
1664
|
-
|
|
1665
|
-
|
|
1666
|
-
|
|
1667
|
-
|
|
1668
|
-
|
|
1669
|
-
|
|
1670
|
-
|
|
1671
|
-
|
|
1962
|
+
var import_zod19 = require("zod");
|
|
1963
|
+
|
|
1964
|
+
// src/ui/touch.zod.ts
|
|
1965
|
+
var import_zod17 = require("zod");
|
|
1966
|
+
var TouchTargetConfigSchema = import_zod17.z.object({
|
|
1967
|
+
minWidth: import_zod17.z.number().default(44).describe("Minimum touch target width in pixels (WCAG 2.5.5: 44px)"),
|
|
1968
|
+
minHeight: import_zod17.z.number().default(44).describe("Minimum touch target height in pixels (WCAG 2.5.5: 44px)"),
|
|
1969
|
+
padding: import_zod17.z.number().optional().describe("Additional padding around touch target in pixels"),
|
|
1970
|
+
hitSlop: import_zod17.z.object({
|
|
1971
|
+
top: import_zod17.z.number().optional().describe("Extra hit area above the element"),
|
|
1972
|
+
right: import_zod17.z.number().optional().describe("Extra hit area to the right of the element"),
|
|
1973
|
+
bottom: import_zod17.z.number().optional().describe("Extra hit area below the element"),
|
|
1974
|
+
left: import_zod17.z.number().optional().describe("Extra hit area to the left of the element")
|
|
1975
|
+
}).optional().describe("Invisible hit area extension beyond the visible bounds")
|
|
1976
|
+
}).describe("Touch target sizing configuration (WCAG accessible)");
|
|
1977
|
+
var GestureTypeSchema = import_zod17.z.enum([
|
|
1978
|
+
"swipe",
|
|
1979
|
+
"pinch",
|
|
1980
|
+
"long_press",
|
|
1981
|
+
"double_tap",
|
|
1982
|
+
"drag",
|
|
1983
|
+
"rotate",
|
|
1984
|
+
"pan"
|
|
1985
|
+
]).describe("Touch gesture type");
|
|
1986
|
+
var SwipeDirectionSchema = import_zod17.z.enum(["up", "down", "left", "right"]);
|
|
1987
|
+
var SwipeGestureConfigSchema = import_zod17.z.object({
|
|
1988
|
+
direction: import_zod17.z.array(SwipeDirectionSchema).describe("Allowed swipe directions"),
|
|
1989
|
+
threshold: import_zod17.z.number().optional().describe("Minimum distance in pixels to recognize swipe"),
|
|
1990
|
+
velocity: import_zod17.z.number().optional().describe("Minimum velocity (px/ms) to trigger swipe")
|
|
1991
|
+
}).describe("Swipe gesture recognition settings");
|
|
1992
|
+
var PinchGestureConfigSchema = import_zod17.z.object({
|
|
1993
|
+
minScale: import_zod17.z.number().optional().describe("Minimum scale factor (e.g., 0.5 for 50%)"),
|
|
1994
|
+
maxScale: import_zod17.z.number().optional().describe("Maximum scale factor (e.g., 3.0 for 300%)")
|
|
1995
|
+
}).describe("Pinch/zoom gesture recognition settings");
|
|
1996
|
+
var LongPressGestureConfigSchema = import_zod17.z.object({
|
|
1997
|
+
duration: import_zod17.z.number().default(500).describe("Hold duration in milliseconds to trigger long press"),
|
|
1998
|
+
moveTolerance: import_zod17.z.number().optional().describe("Max movement in pixels allowed during press")
|
|
1999
|
+
}).describe("Long press gesture recognition settings");
|
|
2000
|
+
var GestureConfigSchema = import_zod17.z.object({
|
|
2001
|
+
type: GestureTypeSchema.describe("Gesture type to configure"),
|
|
2002
|
+
label: I18nLabelSchema.optional().describe("Descriptive label for the gesture action"),
|
|
2003
|
+
enabled: import_zod17.z.boolean().default(true).describe("Whether this gesture is active"),
|
|
2004
|
+
swipe: SwipeGestureConfigSchema.optional().describe("Swipe gesture settings (when type is swipe)"),
|
|
2005
|
+
pinch: PinchGestureConfigSchema.optional().describe("Pinch gesture settings (when type is pinch)"),
|
|
2006
|
+
longPress: LongPressGestureConfigSchema.optional().describe("Long press settings (when type is long_press)")
|
|
2007
|
+
}).describe("Per-gesture configuration");
|
|
2008
|
+
var TouchInteractionSchema = import_zod17.z.object({
|
|
2009
|
+
gestures: import_zod17.z.array(GestureConfigSchema).optional().describe("Configured gesture recognizers"),
|
|
2010
|
+
touchTarget: TouchTargetConfigSchema.optional().describe("Touch target sizing and hit area"),
|
|
2011
|
+
hapticFeedback: import_zod17.z.boolean().optional().describe("Enable haptic feedback on touch interactions")
|
|
2012
|
+
}).merge(AriaPropsSchema.partial()).describe("Touch and gesture interaction configuration");
|
|
2013
|
+
|
|
2014
|
+
// src/ui/keyboard.zod.ts
|
|
2015
|
+
var import_zod18 = require("zod");
|
|
2016
|
+
var FocusTrapConfigSchema = import_zod18.z.object({
|
|
2017
|
+
enabled: import_zod18.z.boolean().default(false).describe("Enable focus trapping within this container"),
|
|
2018
|
+
initialFocus: import_zod18.z.string().optional().describe("CSS selector for the element to focus on activation"),
|
|
2019
|
+
returnFocus: import_zod18.z.boolean().default(true).describe("Return focus to trigger element on deactivation"),
|
|
2020
|
+
escapeDeactivates: import_zod18.z.boolean().default(true).describe("Allow Escape key to deactivate the focus trap")
|
|
2021
|
+
}).describe("Focus trap configuration for modal-like containers");
|
|
2022
|
+
var KeyboardShortcutSchema = import_zod18.z.object({
|
|
2023
|
+
key: import_zod18.z.string().describe('Key combination (e.g., "Ctrl+S", "Alt+N", "Escape")'),
|
|
2024
|
+
action: import_zod18.z.string().describe("Action identifier to invoke when shortcut is triggered"),
|
|
2025
|
+
description: I18nLabelSchema.optional().describe("Human-readable description of what the shortcut does"),
|
|
2026
|
+
scope: import_zod18.z.enum(["global", "view", "form", "modal", "list"]).default("global").describe("Scope in which this shortcut is active")
|
|
2027
|
+
}).describe("Keyboard shortcut binding");
|
|
2028
|
+
var FocusManagementSchema = import_zod18.z.object({
|
|
2029
|
+
tabOrder: import_zod18.z.enum(["auto", "manual"]).default("auto").describe("Tab order strategy: auto (DOM order) or manual (explicit tabIndex)"),
|
|
2030
|
+
skipLinks: import_zod18.z.boolean().default(false).describe("Provide skip-to-content navigation links"),
|
|
2031
|
+
focusVisible: import_zod18.z.boolean().default(true).describe("Show visible focus indicators for keyboard users"),
|
|
2032
|
+
focusTrap: FocusTrapConfigSchema.optional().describe("Focus trap settings"),
|
|
2033
|
+
arrowNavigation: import_zod18.z.boolean().default(false).describe("Enable arrow key navigation between focusable items")
|
|
2034
|
+
}).describe("Focus and tab navigation management");
|
|
2035
|
+
var KeyboardNavigationConfigSchema = import_zod18.z.object({
|
|
2036
|
+
shortcuts: import_zod18.z.array(KeyboardShortcutSchema).optional().describe("Registered keyboard shortcuts"),
|
|
2037
|
+
focusManagement: FocusManagementSchema.optional().describe("Focus and tab order management"),
|
|
2038
|
+
rovingTabindex: import_zod18.z.boolean().default(false).describe("Enable roving tabindex pattern for composite widgets")
|
|
2039
|
+
}).merge(AriaPropsSchema.partial()).describe("Keyboard navigation and shortcut configuration");
|
|
2040
|
+
|
|
2041
|
+
// src/ui/theme.zod.ts
|
|
2042
|
+
var ColorPaletteSchema = import_zod19.z.object({
|
|
2043
|
+
primary: import_zod19.z.string().describe("Primary brand color (hex, rgb, or hsl)"),
|
|
2044
|
+
secondary: import_zod19.z.string().optional().describe("Secondary brand color"),
|
|
2045
|
+
accent: import_zod19.z.string().optional().describe("Accent color for highlights"),
|
|
2046
|
+
success: import_zod19.z.string().optional().describe("Success state color (default: green)"),
|
|
2047
|
+
warning: import_zod19.z.string().optional().describe("Warning state color (default: yellow)"),
|
|
2048
|
+
error: import_zod19.z.string().optional().describe("Error state color (default: red)"),
|
|
2049
|
+
info: import_zod19.z.string().optional().describe("Info state color (default: blue)"),
|
|
1672
2050
|
// Neutral colors
|
|
1673
|
-
background:
|
|
1674
|
-
surface:
|
|
1675
|
-
text:
|
|
1676
|
-
textSecondary:
|
|
1677
|
-
border:
|
|
1678
|
-
disabled:
|
|
2051
|
+
background: import_zod19.z.string().optional().describe("Background color"),
|
|
2052
|
+
surface: import_zod19.z.string().optional().describe("Surface/card background color"),
|
|
2053
|
+
text: import_zod19.z.string().optional().describe("Primary text color"),
|
|
2054
|
+
textSecondary: import_zod19.z.string().optional().describe("Secondary text color"),
|
|
2055
|
+
border: import_zod19.z.string().optional().describe("Border color"),
|
|
2056
|
+
disabled: import_zod19.z.string().optional().describe("Disabled state color"),
|
|
1679
2057
|
// Color variants (shades)
|
|
1680
|
-
primaryLight:
|
|
1681
|
-
primaryDark:
|
|
1682
|
-
secondaryLight:
|
|
1683
|
-
secondaryDark:
|
|
1684
|
-
});
|
|
1685
|
-
var TypographySchema =
|
|
1686
|
-
fontFamily:
|
|
1687
|
-
base:
|
|
1688
|
-
heading:
|
|
1689
|
-
mono:
|
|
2058
|
+
primaryLight: import_zod19.z.string().optional().describe("Lighter shade of primary"),
|
|
2059
|
+
primaryDark: import_zod19.z.string().optional().describe("Darker shade of primary"),
|
|
2060
|
+
secondaryLight: import_zod19.z.string().optional().describe("Lighter shade of secondary"),
|
|
2061
|
+
secondaryDark: import_zod19.z.string().optional().describe("Darker shade of secondary")
|
|
2062
|
+
});
|
|
2063
|
+
var TypographySchema = import_zod19.z.object({
|
|
2064
|
+
fontFamily: import_zod19.z.object({
|
|
2065
|
+
base: import_zod19.z.string().optional().describe("Base font family (default: system fonts)"),
|
|
2066
|
+
heading: import_zod19.z.string().optional().describe("Heading font family"),
|
|
2067
|
+
mono: import_zod19.z.string().optional().describe("Monospace font family for code")
|
|
1690
2068
|
}).optional(),
|
|
1691
|
-
fontSize:
|
|
1692
|
-
xs:
|
|
1693
|
-
sm:
|
|
1694
|
-
base:
|
|
1695
|
-
lg:
|
|
1696
|
-
xl:
|
|
1697
|
-
"2xl":
|
|
1698
|
-
"3xl":
|
|
1699
|
-
"4xl":
|
|
2069
|
+
fontSize: import_zod19.z.object({
|
|
2070
|
+
xs: import_zod19.z.string().optional().describe("Extra small font size (e.g., 0.75rem)"),
|
|
2071
|
+
sm: import_zod19.z.string().optional().describe("Small font size (e.g., 0.875rem)"),
|
|
2072
|
+
base: import_zod19.z.string().optional().describe("Base font size (e.g., 1rem)"),
|
|
2073
|
+
lg: import_zod19.z.string().optional().describe("Large font size (e.g., 1.125rem)"),
|
|
2074
|
+
xl: import_zod19.z.string().optional().describe("Extra large font size (e.g., 1.25rem)"),
|
|
2075
|
+
"2xl": import_zod19.z.string().optional().describe("2X large font size (e.g., 1.5rem)"),
|
|
2076
|
+
"3xl": import_zod19.z.string().optional().describe("3X large font size (e.g., 1.875rem)"),
|
|
2077
|
+
"4xl": import_zod19.z.string().optional().describe("4X large font size (e.g., 2.25rem)")
|
|
1700
2078
|
}).optional(),
|
|
1701
|
-
fontWeight:
|
|
1702
|
-
light:
|
|
1703
|
-
normal:
|
|
1704
|
-
medium:
|
|
1705
|
-
semibold:
|
|
1706
|
-
bold:
|
|
2079
|
+
fontWeight: import_zod19.z.object({
|
|
2080
|
+
light: import_zod19.z.number().optional().describe("Light weight (default: 300)"),
|
|
2081
|
+
normal: import_zod19.z.number().optional().describe("Normal weight (default: 400)"),
|
|
2082
|
+
medium: import_zod19.z.number().optional().describe("Medium weight (default: 500)"),
|
|
2083
|
+
semibold: import_zod19.z.number().optional().describe("Semibold weight (default: 600)"),
|
|
2084
|
+
bold: import_zod19.z.number().optional().describe("Bold weight (default: 700)")
|
|
1707
2085
|
}).optional(),
|
|
1708
|
-
lineHeight:
|
|
1709
|
-
tight:
|
|
1710
|
-
normal:
|
|
1711
|
-
relaxed:
|
|
1712
|
-
loose:
|
|
2086
|
+
lineHeight: import_zod19.z.object({
|
|
2087
|
+
tight: import_zod19.z.string().optional().describe("Tight line height (e.g., 1.25)"),
|
|
2088
|
+
normal: import_zod19.z.string().optional().describe("Normal line height (e.g., 1.5)"),
|
|
2089
|
+
relaxed: import_zod19.z.string().optional().describe("Relaxed line height (e.g., 1.75)"),
|
|
2090
|
+
loose: import_zod19.z.string().optional().describe("Loose line height (e.g., 2)")
|
|
1713
2091
|
}).optional(),
|
|
1714
|
-
letterSpacing:
|
|
1715
|
-
tighter:
|
|
1716
|
-
tight:
|
|
1717
|
-
normal:
|
|
1718
|
-
wide:
|
|
1719
|
-
wider:
|
|
2092
|
+
letterSpacing: import_zod19.z.object({
|
|
2093
|
+
tighter: import_zod19.z.string().optional().describe("Tighter letter spacing (e.g., -0.05em)"),
|
|
2094
|
+
tight: import_zod19.z.string().optional().describe("Tight letter spacing (e.g., -0.025em)"),
|
|
2095
|
+
normal: import_zod19.z.string().optional().describe("Normal letter spacing (e.g., 0)"),
|
|
2096
|
+
wide: import_zod19.z.string().optional().describe("Wide letter spacing (e.g., 0.025em)"),
|
|
2097
|
+
wider: import_zod19.z.string().optional().describe("Wider letter spacing (e.g., 0.05em)")
|
|
1720
2098
|
}).optional()
|
|
1721
2099
|
});
|
|
1722
|
-
var SpacingSchema =
|
|
1723
|
-
"0":
|
|
1724
|
-
"1":
|
|
1725
|
-
"2":
|
|
1726
|
-
"3":
|
|
1727
|
-
"4":
|
|
1728
|
-
"5":
|
|
1729
|
-
"6":
|
|
1730
|
-
"8":
|
|
1731
|
-
"10":
|
|
1732
|
-
"12":
|
|
1733
|
-
"16":
|
|
1734
|
-
"20":
|
|
1735
|
-
"24":
|
|
1736
|
-
});
|
|
1737
|
-
var BorderRadiusSchema =
|
|
1738
|
-
none:
|
|
1739
|
-
sm:
|
|
1740
|
-
base:
|
|
1741
|
-
md:
|
|
1742
|
-
lg:
|
|
1743
|
-
xl:
|
|
1744
|
-
"2xl":
|
|
1745
|
-
full:
|
|
1746
|
-
});
|
|
1747
|
-
var ShadowSchema =
|
|
1748
|
-
none:
|
|
1749
|
-
sm:
|
|
1750
|
-
base:
|
|
1751
|
-
md:
|
|
1752
|
-
lg:
|
|
1753
|
-
xl:
|
|
1754
|
-
"2xl":
|
|
1755
|
-
inner:
|
|
1756
|
-
});
|
|
1757
|
-
var BreakpointsSchema =
|
|
1758
|
-
xs:
|
|
1759
|
-
sm:
|
|
1760
|
-
md:
|
|
1761
|
-
lg:
|
|
1762
|
-
xl:
|
|
1763
|
-
"2xl":
|
|
1764
|
-
});
|
|
1765
|
-
var AnimationSchema =
|
|
1766
|
-
duration:
|
|
1767
|
-
fast:
|
|
1768
|
-
base:
|
|
1769
|
-
slow:
|
|
2100
|
+
var SpacingSchema = import_zod19.z.object({
|
|
2101
|
+
"0": import_zod19.z.string().optional().describe("0 spacing (0)"),
|
|
2102
|
+
"1": import_zod19.z.string().optional().describe("Spacing unit 1 (e.g., 0.25rem)"),
|
|
2103
|
+
"2": import_zod19.z.string().optional().describe("Spacing unit 2 (e.g., 0.5rem)"),
|
|
2104
|
+
"3": import_zod19.z.string().optional().describe("Spacing unit 3 (e.g., 0.75rem)"),
|
|
2105
|
+
"4": import_zod19.z.string().optional().describe("Spacing unit 4 (e.g., 1rem)"),
|
|
2106
|
+
"5": import_zod19.z.string().optional().describe("Spacing unit 5 (e.g., 1.25rem)"),
|
|
2107
|
+
"6": import_zod19.z.string().optional().describe("Spacing unit 6 (e.g., 1.5rem)"),
|
|
2108
|
+
"8": import_zod19.z.string().optional().describe("Spacing unit 8 (e.g., 2rem)"),
|
|
2109
|
+
"10": import_zod19.z.string().optional().describe("Spacing unit 10 (e.g., 2.5rem)"),
|
|
2110
|
+
"12": import_zod19.z.string().optional().describe("Spacing unit 12 (e.g., 3rem)"),
|
|
2111
|
+
"16": import_zod19.z.string().optional().describe("Spacing unit 16 (e.g., 4rem)"),
|
|
2112
|
+
"20": import_zod19.z.string().optional().describe("Spacing unit 20 (e.g., 5rem)"),
|
|
2113
|
+
"24": import_zod19.z.string().optional().describe("Spacing unit 24 (e.g., 6rem)")
|
|
2114
|
+
});
|
|
2115
|
+
var BorderRadiusSchema = import_zod19.z.object({
|
|
2116
|
+
none: import_zod19.z.string().optional().describe("No border radius (0)"),
|
|
2117
|
+
sm: import_zod19.z.string().optional().describe("Small border radius (e.g., 0.125rem)"),
|
|
2118
|
+
base: import_zod19.z.string().optional().describe("Base border radius (e.g., 0.25rem)"),
|
|
2119
|
+
md: import_zod19.z.string().optional().describe("Medium border radius (e.g., 0.375rem)"),
|
|
2120
|
+
lg: import_zod19.z.string().optional().describe("Large border radius (e.g., 0.5rem)"),
|
|
2121
|
+
xl: import_zod19.z.string().optional().describe("Extra large border radius (e.g., 0.75rem)"),
|
|
2122
|
+
"2xl": import_zod19.z.string().optional().describe("2X large border radius (e.g., 1rem)"),
|
|
2123
|
+
full: import_zod19.z.string().optional().describe("Full border radius (50%)")
|
|
2124
|
+
});
|
|
2125
|
+
var ShadowSchema = import_zod19.z.object({
|
|
2126
|
+
none: import_zod19.z.string().optional().describe("No shadow"),
|
|
2127
|
+
sm: import_zod19.z.string().optional().describe("Small shadow"),
|
|
2128
|
+
base: import_zod19.z.string().optional().describe("Base shadow"),
|
|
2129
|
+
md: import_zod19.z.string().optional().describe("Medium shadow"),
|
|
2130
|
+
lg: import_zod19.z.string().optional().describe("Large shadow"),
|
|
2131
|
+
xl: import_zod19.z.string().optional().describe("Extra large shadow"),
|
|
2132
|
+
"2xl": import_zod19.z.string().optional().describe("2X large shadow"),
|
|
2133
|
+
inner: import_zod19.z.string().optional().describe("Inner shadow (inset)")
|
|
2134
|
+
});
|
|
2135
|
+
var BreakpointsSchema = import_zod19.z.object({
|
|
2136
|
+
xs: import_zod19.z.string().optional().describe("Extra small breakpoint (e.g., 480px)"),
|
|
2137
|
+
sm: import_zod19.z.string().optional().describe("Small breakpoint (e.g., 640px)"),
|
|
2138
|
+
md: import_zod19.z.string().optional().describe("Medium breakpoint (e.g., 768px)"),
|
|
2139
|
+
lg: import_zod19.z.string().optional().describe("Large breakpoint (e.g., 1024px)"),
|
|
2140
|
+
xl: import_zod19.z.string().optional().describe("Extra large breakpoint (e.g., 1280px)"),
|
|
2141
|
+
"2xl": import_zod19.z.string().optional().describe("2X large breakpoint (e.g., 1536px)")
|
|
2142
|
+
});
|
|
2143
|
+
var AnimationSchema = import_zod19.z.object({
|
|
2144
|
+
duration: import_zod19.z.object({
|
|
2145
|
+
fast: import_zod19.z.string().optional().describe("Fast animation (e.g., 150ms)"),
|
|
2146
|
+
base: import_zod19.z.string().optional().describe("Base animation (e.g., 300ms)"),
|
|
2147
|
+
slow: import_zod19.z.string().optional().describe("Slow animation (e.g., 500ms)")
|
|
1770
2148
|
}).optional(),
|
|
1771
|
-
timing:
|
|
1772
|
-
linear:
|
|
1773
|
-
ease:
|
|
1774
|
-
easeIn:
|
|
1775
|
-
easeOut:
|
|
1776
|
-
easeInOut:
|
|
2149
|
+
timing: import_zod19.z.object({
|
|
2150
|
+
linear: import_zod19.z.string().optional().describe("Linear timing function"),
|
|
2151
|
+
ease: import_zod19.z.string().optional().describe("Ease timing function"),
|
|
2152
|
+
easeIn: import_zod19.z.string().optional().describe("Ease-in timing function"),
|
|
2153
|
+
easeOut: import_zod19.z.string().optional().describe("Ease-out timing function"),
|
|
2154
|
+
easeInOut: import_zod19.z.string().optional().describe("Ease-in-out timing function")
|
|
1777
2155
|
}).optional()
|
|
1778
2156
|
});
|
|
1779
|
-
var ZIndexSchema =
|
|
1780
|
-
base:
|
|
1781
|
-
dropdown:
|
|
1782
|
-
sticky:
|
|
1783
|
-
fixed:
|
|
1784
|
-
modalBackdrop:
|
|
1785
|
-
modal:
|
|
1786
|
-
popover:
|
|
1787
|
-
tooltip:
|
|
1788
|
-
});
|
|
1789
|
-
var ThemeMode =
|
|
1790
|
-
var
|
|
2157
|
+
var ZIndexSchema = import_zod19.z.object({
|
|
2158
|
+
base: import_zod19.z.number().optional().describe("Base z-index (e.g., 0)"),
|
|
2159
|
+
dropdown: import_zod19.z.number().optional().describe("Dropdown z-index (e.g., 1000)"),
|
|
2160
|
+
sticky: import_zod19.z.number().optional().describe("Sticky z-index (e.g., 1020)"),
|
|
2161
|
+
fixed: import_zod19.z.number().optional().describe("Fixed z-index (e.g., 1030)"),
|
|
2162
|
+
modalBackdrop: import_zod19.z.number().optional().describe("Modal backdrop z-index (e.g., 1040)"),
|
|
2163
|
+
modal: import_zod19.z.number().optional().describe("Modal z-index (e.g., 1050)"),
|
|
2164
|
+
popover: import_zod19.z.number().optional().describe("Popover z-index (e.g., 1060)"),
|
|
2165
|
+
tooltip: import_zod19.z.number().optional().describe("Tooltip z-index (e.g., 1070)")
|
|
2166
|
+
});
|
|
2167
|
+
var ThemeMode = import_zod19.z.enum(["light", "dark", "auto"]);
|
|
2168
|
+
var DensityMode = import_zod19.z.enum(["compact", "regular", "spacious"]);
|
|
2169
|
+
var WcagContrastLevel = import_zod19.z.enum(["AA", "AAA"]);
|
|
2170
|
+
var ThemeSchema = import_zod19.z.object({
|
|
1791
2171
|
name: SnakeCaseIdentifierSchema.describe("Unique theme identifier (snake_case)"),
|
|
1792
|
-
label:
|
|
1793
|
-
description:
|
|
2172
|
+
label: import_zod19.z.string().describe("Human-readable theme name"),
|
|
2173
|
+
description: import_zod19.z.string().optional().describe("Theme description"),
|
|
1794
2174
|
/** Theme mode */
|
|
1795
2175
|
mode: ThemeMode.default("light").describe("Theme mode (light, dark, or auto)"),
|
|
1796
2176
|
/** Color system */
|
|
@@ -1810,26 +2190,238 @@ var ThemeSchema = import_zod15.z.object({
|
|
|
1810
2190
|
/** Z-Index */
|
|
1811
2191
|
zIndex: ZIndexSchema.optional().describe("Z-index scale for layering"),
|
|
1812
2192
|
/** Custom CSS variables */
|
|
1813
|
-
customVars:
|
|
2193
|
+
customVars: import_zod19.z.record(import_zod19.z.string(), import_zod19.z.string()).optional().describe("Custom CSS variables (key-value pairs)"),
|
|
1814
2194
|
/** Logo */
|
|
1815
|
-
logo:
|
|
1816
|
-
light:
|
|
1817
|
-
dark:
|
|
1818
|
-
favicon:
|
|
2195
|
+
logo: import_zod19.z.object({
|
|
2196
|
+
light: import_zod19.z.string().optional().describe("Logo URL for light mode"),
|
|
2197
|
+
dark: import_zod19.z.string().optional().describe("Logo URL for dark mode"),
|
|
2198
|
+
favicon: import_zod19.z.string().optional().describe("Favicon URL")
|
|
1819
2199
|
}).optional().describe("Logo assets"),
|
|
1820
2200
|
/** Extends another theme */
|
|
1821
|
-
extends:
|
|
2201
|
+
extends: import_zod19.z.string().optional().describe("Base theme to extend from"),
|
|
2202
|
+
/** Display density mode */
|
|
2203
|
+
density: DensityMode.optional().describe("Display density: compact, regular, or spacious"),
|
|
2204
|
+
/** WCAG contrast level requirement */
|
|
2205
|
+
wcagContrast: WcagContrastLevel.optional().describe("WCAG color contrast level (AA or AAA)"),
|
|
2206
|
+
/** Right-to-left language support */
|
|
2207
|
+
rtl: import_zod19.z.boolean().optional().describe("Enable right-to-left layout direction"),
|
|
2208
|
+
/** Touch target accessibility configuration */
|
|
2209
|
+
touchTarget: TouchTargetConfigSchema.optional().describe("Touch target sizing defaults"),
|
|
2210
|
+
/** Keyboard navigation and focus management */
|
|
2211
|
+
keyboardNavigation: FocusManagementSchema.optional().describe("Keyboard focus management settings")
|
|
1822
2212
|
});
|
|
2213
|
+
|
|
2214
|
+
// src/ui/offline.zod.ts
|
|
2215
|
+
var import_zod20 = require("zod");
|
|
2216
|
+
var OfflineStrategySchema = import_zod20.z.enum([
|
|
2217
|
+
"cache_first",
|
|
2218
|
+
"network_first",
|
|
2219
|
+
"stale_while_revalidate",
|
|
2220
|
+
"network_only",
|
|
2221
|
+
"cache_only"
|
|
2222
|
+
]).describe("Data fetching strategy for offline/online transitions");
|
|
2223
|
+
var ConflictResolutionSchema = import_zod20.z.enum([
|
|
2224
|
+
"client_wins",
|
|
2225
|
+
"server_wins",
|
|
2226
|
+
"manual",
|
|
2227
|
+
"last_write_wins"
|
|
2228
|
+
]).describe("How to resolve conflicts when syncing offline changes");
|
|
2229
|
+
var SyncConfigSchema = import_zod20.z.object({
|
|
2230
|
+
strategy: OfflineStrategySchema.default("network_first").describe("Sync fetch strategy"),
|
|
2231
|
+
conflictResolution: ConflictResolutionSchema.default("last_write_wins").describe("Conflict resolution policy"),
|
|
2232
|
+
retryInterval: import_zod20.z.number().optional().describe("Retry interval in milliseconds between sync attempts"),
|
|
2233
|
+
maxRetries: import_zod20.z.number().optional().describe("Maximum number of sync retry attempts"),
|
|
2234
|
+
batchSize: import_zod20.z.number().optional().describe("Number of mutations to sync per batch")
|
|
2235
|
+
}).describe("Offline-to-online synchronization configuration");
|
|
2236
|
+
var PersistStorageSchema = import_zod20.z.enum([
|
|
2237
|
+
"indexeddb",
|
|
2238
|
+
"localstorage",
|
|
2239
|
+
"sqlite"
|
|
2240
|
+
]).describe("Client-side storage backend for offline cache");
|
|
2241
|
+
var EvictionPolicySchema = import_zod20.z.enum([
|
|
2242
|
+
"lru",
|
|
2243
|
+
"lfu",
|
|
2244
|
+
"fifo"
|
|
2245
|
+
]).describe("Cache eviction policy");
|
|
2246
|
+
var OfflineCacheConfigSchema = import_zod20.z.object({
|
|
2247
|
+
maxSize: import_zod20.z.number().optional().describe("Maximum cache size in bytes"),
|
|
2248
|
+
ttl: import_zod20.z.number().optional().describe("Time-to-live for cached entries in milliseconds"),
|
|
2249
|
+
persistStorage: PersistStorageSchema.default("indexeddb").describe("Storage backend"),
|
|
2250
|
+
evictionPolicy: EvictionPolicySchema.default("lru").describe("Cache eviction policy when full")
|
|
2251
|
+
}).describe("Client-side offline cache configuration");
|
|
2252
|
+
var OfflineConfigSchema = import_zod20.z.object({
|
|
2253
|
+
enabled: import_zod20.z.boolean().default(false).describe("Enable offline support"),
|
|
2254
|
+
strategy: OfflineStrategySchema.default("network_first").describe("Default offline fetch strategy"),
|
|
2255
|
+
cache: OfflineCacheConfigSchema.optional().describe("Cache settings for offline data"),
|
|
2256
|
+
sync: SyncConfigSchema.optional().describe("Sync settings for offline mutations"),
|
|
2257
|
+
offlineIndicator: import_zod20.z.boolean().default(true).describe("Show a visual indicator when offline"),
|
|
2258
|
+
offlineMessage: I18nLabelSchema.optional().describe("Customizable offline status message shown to users"),
|
|
2259
|
+
queueMaxSize: import_zod20.z.number().optional().describe("Maximum number of queued offline mutations")
|
|
2260
|
+
}).describe("Offline support configuration");
|
|
2261
|
+
|
|
2262
|
+
// src/ui/animation.zod.ts
|
|
2263
|
+
var import_zod21 = require("zod");
|
|
2264
|
+
var TransitionPresetSchema = import_zod21.z.enum([
|
|
2265
|
+
"fade",
|
|
2266
|
+
"slide_up",
|
|
2267
|
+
"slide_down",
|
|
2268
|
+
"slide_left",
|
|
2269
|
+
"slide_right",
|
|
2270
|
+
"scale",
|
|
2271
|
+
"rotate",
|
|
2272
|
+
"flip",
|
|
2273
|
+
"none"
|
|
2274
|
+
]).describe("Transition preset type");
|
|
2275
|
+
var EasingFunctionSchema = import_zod21.z.enum([
|
|
2276
|
+
"linear",
|
|
2277
|
+
"ease",
|
|
2278
|
+
"ease_in",
|
|
2279
|
+
"ease_out",
|
|
2280
|
+
"ease_in_out",
|
|
2281
|
+
"spring"
|
|
2282
|
+
]).describe("Animation easing function");
|
|
2283
|
+
var TransitionConfigSchema = import_zod21.z.object({
|
|
2284
|
+
preset: TransitionPresetSchema.optional().describe("Transition preset to apply"),
|
|
2285
|
+
duration: import_zod21.z.number().optional().describe("Transition duration in milliseconds"),
|
|
2286
|
+
easing: EasingFunctionSchema.optional().describe("Easing function for the transition"),
|
|
2287
|
+
delay: import_zod21.z.number().optional().describe("Delay before transition starts in milliseconds"),
|
|
2288
|
+
customKeyframes: import_zod21.z.string().optional().describe("CSS @keyframes name for custom animations")
|
|
2289
|
+
}).describe("Animation transition configuration");
|
|
2290
|
+
var AnimationTriggerSchema = import_zod21.z.enum([
|
|
2291
|
+
"on_mount",
|
|
2292
|
+
"on_unmount",
|
|
2293
|
+
"on_hover",
|
|
2294
|
+
"on_focus",
|
|
2295
|
+
"on_click",
|
|
2296
|
+
"on_scroll",
|
|
2297
|
+
"on_visible"
|
|
2298
|
+
]).describe("Event that triggers the animation");
|
|
2299
|
+
var ComponentAnimationSchema = import_zod21.z.object({
|
|
2300
|
+
label: I18nLabelSchema.optional().describe("Descriptive label for this animation configuration"),
|
|
2301
|
+
enter: TransitionConfigSchema.optional().describe("Enter/mount animation"),
|
|
2302
|
+
exit: TransitionConfigSchema.optional().describe("Exit/unmount animation"),
|
|
2303
|
+
hover: TransitionConfigSchema.optional().describe("Hover state animation"),
|
|
2304
|
+
trigger: AnimationTriggerSchema.optional().describe("When to trigger the animation"),
|
|
2305
|
+
reducedMotion: import_zod21.z.enum(["respect", "disable", "alternative"]).default("respect").describe("Accessibility: how to handle prefers-reduced-motion")
|
|
2306
|
+
}).merge(AriaPropsSchema.partial()).describe("Component-level animation configuration");
|
|
2307
|
+
var PageTransitionSchema = import_zod21.z.object({
|
|
2308
|
+
type: TransitionPresetSchema.default("fade").describe("Page transition type"),
|
|
2309
|
+
duration: import_zod21.z.number().default(300).describe("Transition duration in milliseconds"),
|
|
2310
|
+
easing: EasingFunctionSchema.default("ease_in_out").describe("Easing function for the transition"),
|
|
2311
|
+
crossFade: import_zod21.z.boolean().default(false).describe("Whether to cross-fade between pages")
|
|
2312
|
+
}).describe("Page-level transition configuration");
|
|
2313
|
+
var MotionConfigSchema = import_zod21.z.object({
|
|
2314
|
+
label: I18nLabelSchema.optional().describe("Descriptive label for the motion configuration"),
|
|
2315
|
+
defaultTransition: TransitionConfigSchema.optional().describe("Default transition applied to all animations"),
|
|
2316
|
+
pageTransitions: PageTransitionSchema.optional().describe("Page navigation transition settings"),
|
|
2317
|
+
componentAnimations: import_zod21.z.record(import_zod21.z.string(), ComponentAnimationSchema).optional().describe("Component name to animation configuration mapping"),
|
|
2318
|
+
reducedMotion: import_zod21.z.boolean().default(false).describe("When true, respect prefers-reduced-motion and suppress animations globally"),
|
|
2319
|
+
enabled: import_zod21.z.boolean().default(true).describe("Enable or disable all animations globally")
|
|
2320
|
+
}).describe("Top-level motion and animation design configuration");
|
|
2321
|
+
|
|
2322
|
+
// src/ui/notification.zod.ts
|
|
2323
|
+
var import_zod22 = require("zod");
|
|
2324
|
+
var NotificationTypeSchema = import_zod22.z.enum([
|
|
2325
|
+
"toast",
|
|
2326
|
+
"snackbar",
|
|
2327
|
+
"banner",
|
|
2328
|
+
"alert",
|
|
2329
|
+
"inline"
|
|
2330
|
+
]).describe("Notification presentation style");
|
|
2331
|
+
var NotificationSeveritySchema = import_zod22.z.enum([
|
|
2332
|
+
"info",
|
|
2333
|
+
"success",
|
|
2334
|
+
"warning",
|
|
2335
|
+
"error"
|
|
2336
|
+
]).describe("Notification severity level");
|
|
2337
|
+
var NotificationPositionSchema = import_zod22.z.enum([
|
|
2338
|
+
"top_left",
|
|
2339
|
+
"top_center",
|
|
2340
|
+
"top_right",
|
|
2341
|
+
"bottom_left",
|
|
2342
|
+
"bottom_center",
|
|
2343
|
+
"bottom_right"
|
|
2344
|
+
]).describe("Screen position for notification placement");
|
|
2345
|
+
var NotificationActionSchema = import_zod22.z.object({
|
|
2346
|
+
label: I18nLabelSchema.describe("Action button label"),
|
|
2347
|
+
action: import_zod22.z.string().describe("Action identifier to execute"),
|
|
2348
|
+
variant: import_zod22.z.enum(["primary", "secondary", "link"]).default("primary").describe("Button variant style")
|
|
2349
|
+
}).describe("Notification action button");
|
|
2350
|
+
var NotificationSchema = import_zod22.z.object({
|
|
2351
|
+
type: NotificationTypeSchema.default("toast").describe("Notification presentation style"),
|
|
2352
|
+
severity: NotificationSeveritySchema.default("info").describe("Notification severity level"),
|
|
2353
|
+
title: I18nLabelSchema.optional().describe("Notification title"),
|
|
2354
|
+
message: I18nLabelSchema.describe("Notification message body"),
|
|
2355
|
+
icon: import_zod22.z.string().optional().describe("Icon name override"),
|
|
2356
|
+
duration: import_zod22.z.number().optional().describe("Auto-dismiss duration in ms, omit for persistent"),
|
|
2357
|
+
dismissible: import_zod22.z.boolean().default(true).describe("Allow user to dismiss the notification"),
|
|
2358
|
+
actions: import_zod22.z.array(NotificationActionSchema).optional().describe("Action buttons"),
|
|
2359
|
+
position: NotificationPositionSchema.optional().describe("Override default position")
|
|
2360
|
+
}).merge(AriaPropsSchema.partial()).describe("Notification instance definition");
|
|
2361
|
+
var NotificationConfigSchema = import_zod22.z.object({
|
|
2362
|
+
defaultPosition: NotificationPositionSchema.default("top_right").describe("Default screen position for notifications"),
|
|
2363
|
+
defaultDuration: import_zod22.z.number().default(5e3).describe("Default auto-dismiss duration in ms"),
|
|
2364
|
+
maxVisible: import_zod22.z.number().default(5).describe("Maximum number of notifications visible at once"),
|
|
2365
|
+
stackDirection: import_zod22.z.enum(["up", "down"]).default("down").describe("Stack direction for multiple notifications"),
|
|
2366
|
+
pauseOnHover: import_zod22.z.boolean().default(true).describe("Pause auto-dismiss timer on hover")
|
|
2367
|
+
}).describe("Global notification system configuration");
|
|
2368
|
+
|
|
2369
|
+
// src/ui/dnd.zod.ts
|
|
2370
|
+
var import_zod23 = require("zod");
|
|
2371
|
+
var DragHandleSchema = import_zod23.z.enum([
|
|
2372
|
+
"element",
|
|
2373
|
+
"handle",
|
|
2374
|
+
"grip_icon"
|
|
2375
|
+
]).describe("Drag initiation method");
|
|
2376
|
+
var DropEffectSchema = import_zod23.z.enum([
|
|
2377
|
+
"move",
|
|
2378
|
+
"copy",
|
|
2379
|
+
"link",
|
|
2380
|
+
"none"
|
|
2381
|
+
]).describe("Drop operation effect");
|
|
2382
|
+
var DragConstraintSchema = import_zod23.z.object({
|
|
2383
|
+
axis: import_zod23.z.enum(["x", "y", "both"]).default("both").describe("Constrain drag axis"),
|
|
2384
|
+
bounds: import_zod23.z.enum(["parent", "viewport", "none"]).default("none").describe("Constrain within bounds"),
|
|
2385
|
+
grid: import_zod23.z.tuple([import_zod23.z.number(), import_zod23.z.number()]).optional().describe("Snap to grid [x, y] in pixels")
|
|
2386
|
+
}).describe("Drag movement constraints");
|
|
2387
|
+
var DropZoneSchema = import_zod23.z.object({
|
|
2388
|
+
label: I18nLabelSchema.optional().describe("Accessible label for the drop zone"),
|
|
2389
|
+
accept: import_zod23.z.array(import_zod23.z.string()).describe("Accepted drag item types"),
|
|
2390
|
+
maxItems: import_zod23.z.number().optional().describe("Maximum items allowed in drop zone"),
|
|
2391
|
+
highlightOnDragOver: import_zod23.z.boolean().default(true).describe("Highlight drop zone when dragging over"),
|
|
2392
|
+
dropEffect: DropEffectSchema.default("move").describe("Visual effect on drop")
|
|
2393
|
+
}).merge(AriaPropsSchema.partial()).describe("Drop zone configuration");
|
|
2394
|
+
var DragItemSchema = import_zod23.z.object({
|
|
2395
|
+
type: import_zod23.z.string().describe("Drag item type identifier for matching with drop zones"),
|
|
2396
|
+
label: I18nLabelSchema.optional().describe("Accessible label describing the draggable item"),
|
|
2397
|
+
handle: DragHandleSchema.default("element").describe("How to initiate drag"),
|
|
2398
|
+
constraint: DragConstraintSchema.optional().describe("Drag movement constraints"),
|
|
2399
|
+
preview: import_zod23.z.enum(["element", "custom", "none"]).default("element").describe("Drag preview type"),
|
|
2400
|
+
disabled: import_zod23.z.boolean().default(false).describe("Disable dragging")
|
|
2401
|
+
}).merge(AriaPropsSchema.partial()).describe("Draggable item configuration");
|
|
2402
|
+
var DndConfigSchema = import_zod23.z.object({
|
|
2403
|
+
enabled: import_zod23.z.boolean().default(false).describe("Enable drag and drop"),
|
|
2404
|
+
dragItem: DragItemSchema.optional().describe("Configuration for draggable item"),
|
|
2405
|
+
dropZone: DropZoneSchema.optional().describe("Configuration for drop target"),
|
|
2406
|
+
sortable: import_zod23.z.boolean().default(false).describe("Enable sortable list behavior"),
|
|
2407
|
+
autoScroll: import_zod23.z.boolean().default(true).describe("Auto-scroll during drag near edges"),
|
|
2408
|
+
touchDelay: import_zod23.z.number().default(200).describe("Delay in ms before drag starts on touch devices")
|
|
2409
|
+
}).describe("Drag and drop interaction configuration");
|
|
1823
2410
|
// Annotate the CommonJS export names for ESM import in node:
|
|
1824
2411
|
0 && (module.exports = {
|
|
1825
2412
|
Action,
|
|
1826
2413
|
ActionParamSchema,
|
|
1827
2414
|
ActionSchema,
|
|
1828
2415
|
AnimationSchema,
|
|
2416
|
+
AnimationTriggerSchema,
|
|
1829
2417
|
App,
|
|
1830
2418
|
AppBrandingSchema,
|
|
1831
2419
|
AppSchema,
|
|
2420
|
+
AriaPropsSchema,
|
|
1832
2421
|
BorderRadiusSchema,
|
|
2422
|
+
BreakpointColumnMapSchema,
|
|
2423
|
+
BreakpointName,
|
|
2424
|
+
BreakpointOrderMapSchema,
|
|
1833
2425
|
BreakpointsSchema,
|
|
1834
2426
|
CalendarConfigSchema,
|
|
1835
2427
|
ChartAnnotationSchema,
|
|
@@ -1839,26 +2431,63 @@ var ThemeSchema = import_zod15.z.object({
|
|
|
1839
2431
|
ChartSeriesSchema,
|
|
1840
2432
|
ChartTypeSchema,
|
|
1841
2433
|
ColorPaletteSchema,
|
|
2434
|
+
ColumnSummarySchema,
|
|
2435
|
+
ComponentAnimationSchema,
|
|
1842
2436
|
ComponentPropsMap,
|
|
2437
|
+
ConflictResolutionSchema,
|
|
1843
2438
|
Dashboard,
|
|
1844
2439
|
DashboardNavItemSchema,
|
|
1845
2440
|
DashboardSchema,
|
|
1846
2441
|
DashboardWidgetSchema,
|
|
2442
|
+
DateFormatSchema,
|
|
2443
|
+
DensityMode,
|
|
2444
|
+
DndConfigSchema,
|
|
2445
|
+
DragConstraintSchema,
|
|
2446
|
+
DragHandleSchema,
|
|
2447
|
+
DragItemSchema,
|
|
2448
|
+
DropEffectSchema,
|
|
2449
|
+
DropZoneSchema,
|
|
2450
|
+
EasingFunctionSchema,
|
|
2451
|
+
EvictionPolicySchema,
|
|
1847
2452
|
FieldWidgetPropsSchema,
|
|
2453
|
+
FocusManagementSchema,
|
|
2454
|
+
FocusTrapConfigSchema,
|
|
1848
2455
|
FormFieldSchema,
|
|
1849
2456
|
FormSectionSchema,
|
|
1850
2457
|
FormViewSchema,
|
|
2458
|
+
GalleryConfigSchema,
|
|
1851
2459
|
GanttConfigSchema,
|
|
2460
|
+
GestureConfigSchema,
|
|
2461
|
+
GestureTypeSchema,
|
|
1852
2462
|
GroupNavItemSchema,
|
|
2463
|
+
GroupingConfigSchema,
|
|
2464
|
+
GroupingFieldSchema,
|
|
1853
2465
|
HttpMethodSchema,
|
|
1854
2466
|
HttpRequestSchema,
|
|
2467
|
+
I18nLabelSchema,
|
|
2468
|
+
I18nObjectSchema,
|
|
1855
2469
|
KanbanConfigSchema,
|
|
2470
|
+
KeyboardNavigationConfigSchema,
|
|
2471
|
+
KeyboardShortcutSchema,
|
|
1856
2472
|
ListColumnSchema,
|
|
1857
2473
|
ListViewSchema,
|
|
2474
|
+
LocaleConfigSchema,
|
|
2475
|
+
LongPressGestureConfigSchema,
|
|
2476
|
+
MotionConfigSchema,
|
|
1858
2477
|
NavigationConfigSchema,
|
|
1859
2478
|
NavigationItemSchema,
|
|
1860
2479
|
NavigationModeSchema,
|
|
2480
|
+
NotificationActionSchema,
|
|
2481
|
+
NotificationConfigSchema,
|
|
2482
|
+
NotificationPositionSchema,
|
|
2483
|
+
NotificationSchema,
|
|
2484
|
+
NotificationSeveritySchema,
|
|
2485
|
+
NotificationTypeSchema,
|
|
2486
|
+
NumberFormatSchema,
|
|
1861
2487
|
ObjectNavItemSchema,
|
|
2488
|
+
OfflineCacheConfigSchema,
|
|
2489
|
+
OfflineConfigSchema,
|
|
2490
|
+
OfflineStrategySchema,
|
|
1862
2491
|
PageCardProps,
|
|
1863
2492
|
PageComponentSchema,
|
|
1864
2493
|
PageComponentType,
|
|
@@ -1867,8 +2496,13 @@ var ThemeSchema = import_zod15.z.object({
|
|
|
1867
2496
|
PageRegionSchema,
|
|
1868
2497
|
PageSchema,
|
|
1869
2498
|
PageTabsProps,
|
|
2499
|
+
PageTransitionSchema,
|
|
1870
2500
|
PageVariableSchema,
|
|
1871
2501
|
PaginationConfigSchema,
|
|
2502
|
+
PerformanceConfigSchema,
|
|
2503
|
+
PersistStorageSchema,
|
|
2504
|
+
PinchGestureConfigSchema,
|
|
2505
|
+
PluralRuleSchema,
|
|
1872
2506
|
RecordDetailsProps,
|
|
1873
2507
|
RecordHighlightsProps,
|
|
1874
2508
|
RecordRelatedListProps,
|
|
@@ -1878,15 +2512,28 @@ var ThemeSchema = import_zod15.z.object({
|
|
|
1878
2512
|
ReportGroupingSchema,
|
|
1879
2513
|
ReportSchema,
|
|
1880
2514
|
ReportType,
|
|
2515
|
+
ResponsiveConfigSchema,
|
|
2516
|
+
RowColorConfigSchema,
|
|
2517
|
+
RowHeightSchema,
|
|
1881
2518
|
SelectionConfigSchema,
|
|
1882
2519
|
ShadowSchema,
|
|
1883
2520
|
SpacingSchema,
|
|
2521
|
+
SwipeDirectionSchema,
|
|
2522
|
+
SwipeGestureConfigSchema,
|
|
2523
|
+
SyncConfigSchema,
|
|
1884
2524
|
ThemeMode,
|
|
1885
2525
|
ThemeSchema,
|
|
2526
|
+
TimelineConfigSchema,
|
|
2527
|
+
TouchInteractionSchema,
|
|
2528
|
+
TouchTargetConfigSchema,
|
|
2529
|
+
TransitionConfigSchema,
|
|
2530
|
+
TransitionPresetSchema,
|
|
1886
2531
|
TypographySchema,
|
|
1887
2532
|
UrlNavItemSchema,
|
|
1888
2533
|
ViewDataSchema,
|
|
1889
2534
|
ViewSchema,
|
|
2535
|
+
ViewSharingSchema,
|
|
2536
|
+
WcagContrastLevel,
|
|
1890
2537
|
WidgetEventSchema,
|
|
1891
2538
|
WidgetLifecycleSchema,
|
|
1892
2539
|
WidgetManifestSchema,
|