@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.
Files changed (293) hide show
  1. package/dist/ai/index.d.mts +1 -1
  2. package/dist/ai/index.d.ts +1 -1
  3. package/dist/ai/index.js +230 -3
  4. package/dist/ai/index.js.map +1 -1
  5. package/dist/ai/index.mjs +218 -3
  6. package/dist/ai/index.mjs.map +1 -1
  7. package/dist/api/index.d.mts +2 -2
  8. package/dist/api/index.d.ts +2 -2
  9. package/dist/api/index.js +3409 -2841
  10. package/dist/api/index.js.map +1 -1
  11. package/dist/api/index.mjs +3386 -2841
  12. package/dist/api/index.mjs.map +1 -1
  13. package/dist/automation/index.d.mts +1 -1
  14. package/dist/automation/index.d.ts +1 -1
  15. package/dist/contracts/index.d.mts +2 -2
  16. package/dist/contracts/index.d.ts +2 -2
  17. package/dist/contracts/index.js.map +1 -1
  18. package/dist/data/index.d.mts +2 -2
  19. package/dist/data/index.d.ts +2 -2
  20. package/dist/data/index.js +58 -1
  21. package/dist/data/index.js.map +1 -1
  22. package/dist/data/index.mjs +58 -1
  23. package/dist/data/index.mjs.map +1 -1
  24. package/dist/{driver.zod-E3C6n0W-.d.ts → driver.zod-B3Q0oLlF.d.ts} +1 -1
  25. package/dist/{driver.zod-DnOPgUGi.d.mts → driver.zod-Bf2z72WQ.d.mts} +1 -1
  26. package/dist/{index-DyawwLFZ.d.ts → index-B3C8s_DZ.d.ts} +307 -29
  27. package/dist/{index-DTCkpGMm.d.mts → index-BliYpI46.d.mts} +879 -52
  28. package/dist/{index-BbtSaxHm.d.ts → index-BpE_xfkc.d.ts} +3289 -229
  29. package/dist/{index-E1mP_eoE.d.mts → index-C3cFLYII.d.mts} +307 -29
  30. package/dist/{index-BpP0MwlW.d.ts → index-CXtgLAue.d.ts} +879 -52
  31. package/dist/{index-D-tf4nDV.d.mts → index-CYbdd-mL.d.mts} +27 -1
  32. package/dist/index-CeUUI-ym.d.mts +2102 -0
  33. package/dist/{index-BPhGHW32.d.ts → index-CfvdYFyf.d.ts} +27 -1
  34. package/dist/{index-CDN6TRx9.d.mts → index-ClHj1Tbo.d.mts} +71 -2
  35. package/dist/{index-CDN6TRx9.d.ts → index-ClHj1Tbo.d.ts} +71 -2
  36. package/dist/index-CmY8tgpL.d.ts +2102 -0
  37. package/dist/{index-DRCh2NTZ.d.mts → index-CqDMk0T6.d.mts} +3289 -229
  38. package/dist/{index-d9wYlv-g.d.ts → index-DNKiU_-x.d.mts} +684 -18
  39. package/dist/{index-d9wYlv-g.d.mts → index-DNKiU_-x.d.ts} +684 -18
  40. package/dist/{index-CisfSmuF.d.ts → index-Dm4UfDKG.d.ts} +451 -19
  41. package/dist/index-KhvhiesR.d.mts +6902 -0
  42. package/dist/{index-BV0xBoer.d.mts → index-Onf8hbkX.d.mts} +451 -19
  43. package/dist/index-OqCqQSaH.d.ts +6902 -0
  44. package/dist/index.d.mts +2519 -222
  45. package/dist/index.d.ts +2519 -222
  46. package/dist/index.js +9957 -8069
  47. package/dist/index.js.map +1 -1
  48. package/dist/index.mjs +9957 -8069
  49. package/dist/index.mjs.map +1 -1
  50. package/dist/integration/index.d.mts +1 -1
  51. package/dist/integration/index.d.ts +1 -1
  52. package/dist/integration/index.js +67 -0
  53. package/dist/integration/index.js.map +1 -1
  54. package/dist/integration/index.mjs +61 -0
  55. package/dist/integration/index.mjs.map +1 -1
  56. package/dist/kernel/index.d.mts +2 -2
  57. package/dist/kernel/index.d.ts +2 -2
  58. package/dist/kernel/index.js +1698 -1474
  59. package/dist/kernel/index.js.map +1 -1
  60. package/dist/kernel/index.mjs +1690 -1474
  61. package/dist/kernel/index.mjs.map +1 -1
  62. package/dist/{package-registry.zod-CbS9FKeH.d.mts → package-registry.zod-BJQSiICj.d.mts} +78 -43
  63. package/dist/{package-registry.zod-CbS9FKeH.d.ts → package-registry.zod-BJQSiICj.d.ts} +78 -43
  64. package/dist/security/index.d.mts +1 -1
  65. package/dist/security/index.d.ts +1 -1
  66. package/dist/security/index.js +47 -1
  67. package/dist/security/index.js.map +1 -1
  68. package/dist/security/index.mjs +45 -1
  69. package/dist/security/index.mjs.map +1 -1
  70. package/dist/system/index.d.mts +1 -1
  71. package/dist/system/index.d.ts +1 -1
  72. package/dist/system/index.js +2189 -1821
  73. package/dist/system/index.js.map +1 -1
  74. package/dist/system/index.mjs +2168 -1821
  75. package/dist/system/index.mjs.map +1 -1
  76. package/dist/ui/index.d.mts +1 -1
  77. package/dist/ui/index.d.ts +1 -1
  78. package/dist/ui/index.js +1414 -767
  79. package/dist/ui/index.js.map +1 -1
  80. package/dist/ui/index.mjs +1354 -767
  81. package/dist/ui/index.mjs.map +1 -1
  82. package/json-schema/ai/Agent.json +203 -0
  83. package/json-schema/ai/AgentCommunicationProtocol.json +9 -0
  84. package/json-schema/ai/AgentGroupMember.json +45 -0
  85. package/json-schema/ai/AgentGroupRole.json +10 -0
  86. package/json-schema/ai/DevOpsAgent.json +203 -0
  87. package/json-schema/ai/MCPClientConfig.json +168 -0
  88. package/json-schema/ai/MCPRootEntry.json +23 -0
  89. package/json-schema/ai/MCPRootsConfig.json +49 -0
  90. package/json-schema/ai/MCPSamplingConfig.json +46 -0
  91. package/json-schema/ai/MCPServerConfig.json +120 -0
  92. package/json-schema/ai/MCPStreamingConfig.json +38 -0
  93. package/json-schema/ai/MCPToolApproval.json +39 -0
  94. package/json-schema/ai/MultiAgentGroup.json +137 -0
  95. package/json-schema/ai/StructuredOutputConfig.json +75 -0
  96. package/json-schema/ai/StructuredOutputFormat.json +12 -0
  97. package/json-schema/ai/TransformPipelineStep.json +11 -0
  98. package/json-schema/api/AppDefinitionResponse.json +285 -7
  99. package/json-schema/api/BasePresence.json +40 -0
  100. package/json-schema/api/BatchLoadingStrategy.json +40 -0
  101. package/json-schema/api/Callback.json +39 -0
  102. package/json-schema/api/DataLoaderConfig.json +55 -0
  103. package/json-schema/api/DisablePackageResponse.json +26 -0
  104. package/json-schema/api/Discovery.json +4 -62
  105. package/json-schema/api/EnablePackageResponse.json +26 -0
  106. package/json-schema/api/FederationEntity.json +110 -0
  107. package/json-schema/api/FederationEntityKey.json +20 -0
  108. package/json-schema/api/FederationExternalField.json +18 -0
  109. package/json-schema/api/FederationGateway.json +327 -0
  110. package/json-schema/api/FederationProvides.json +19 -0
  111. package/json-schema/api/FederationRequires.json +19 -0
  112. package/json-schema/api/GetDiscoveryResponse.json +1 -60
  113. package/json-schema/api/GetPackageResponse.json +26 -0
  114. package/json-schema/api/GraphQLConfig.json +327 -0
  115. package/json-schema/api/GraphQLQueryAdapter.json +84 -0
  116. package/json-schema/api/InstallPackageRequest.json +26 -0
  117. package/json-schema/api/InstallPackageResponse.json +26 -0
  118. package/json-schema/api/ListPackagesResponse.json +26 -0
  119. package/json-schema/api/ODataQueryAdapter.json +66 -0
  120. package/json-schema/api/OpenApi31Extensions.json +139 -0
  121. package/json-schema/api/OperatorMapping.json +26 -0
  122. package/json-schema/api/PresenceStatus.json +10 -0
  123. package/json-schema/api/QueryAdapterConfig.json +272 -0
  124. package/json-schema/api/QueryAdapterTarget.json +9 -0
  125. package/json-schema/api/QueryOptimizationConfig.json +126 -0
  126. package/json-schema/api/RealtimeRecordAction.json +9 -0
  127. package/json-schema/api/RestQueryAdapter.json +86 -0
  128. package/json-schema/api/RestServerConfig.json +139 -0
  129. package/json-schema/api/SubgraphConfig.json +183 -0
  130. package/json-schema/api/WebhookConfig.json +129 -0
  131. package/json-schema/api/WebhookEvent.json +64 -0
  132. package/json-schema/data/ExternalLookup.json +128 -0
  133. package/json-schema/identity/SCIMBulkOperation.json +41 -0
  134. package/json-schema/identity/SCIMBulkRequest.json +73 -0
  135. package/json-schema/identity/SCIMBulkResponse.json +61 -0
  136. package/json-schema/identity/SCIMBulkResponseOperation.json +36 -0
  137. package/json-schema/integration/CircuitBreakerConfig.json +49 -0
  138. package/json-schema/integration/Connector.json +223 -0
  139. package/json-schema/integration/ConnectorHealth.json +113 -0
  140. package/json-schema/integration/DatabaseConnector.json +223 -0
  141. package/json-schema/integration/ErrorCategory.json +15 -0
  142. package/json-schema/integration/ErrorMappingConfig.json +112 -0
  143. package/json-schema/integration/ErrorMappingRule.json +66 -0
  144. package/json-schema/integration/FileStorageConnector.json +223 -0
  145. package/json-schema/integration/GitHubConnector.json +223 -0
  146. package/json-schema/integration/HealthCheckConfig.json +58 -0
  147. package/json-schema/integration/MessageQueueConnector.json +223 -0
  148. package/json-schema/integration/SaasConnector.json +223 -0
  149. package/json-schema/integration/VercelConnector.json +223 -0
  150. package/json-schema/kernel/CLICommandContribution.json +23 -0
  151. package/json-schema/kernel/CLIExtensionExport.json +22 -0
  152. package/json-schema/kernel/DevFixtureConfig.json +35 -0
  153. package/json-schema/kernel/DevPluginConfig.json +170 -0
  154. package/json-schema/kernel/DevPluginPreset.json +10 -0
  155. package/json-schema/kernel/DevServiceOverride.json +41 -0
  156. package/json-schema/kernel/DevToolsConfig.json +45 -0
  157. package/json-schema/kernel/DisablePackageResponse.json +26 -0
  158. package/json-schema/kernel/EnablePackageResponse.json +26 -0
  159. package/json-schema/kernel/GetPackageResponse.json +26 -0
  160. package/json-schema/kernel/InstallPackageRequest.json +26 -0
  161. package/json-schema/kernel/InstallPackageResponse.json +26 -0
  162. package/json-schema/kernel/InstalledPackage.json +26 -0
  163. package/json-schema/kernel/ListPackagesResponse.json +26 -0
  164. package/json-schema/kernel/Manifest.json +26 -0
  165. package/json-schema/kernel/MetadataFallbackStrategy.json +9 -0
  166. package/json-schema/kernel/MetadataLoaderContract.json +7 -0
  167. package/json-schema/kernel/MetadataManagerConfig.json +21 -0
  168. package/json-schema/security/RLSAuditConfig.json +62 -0
  169. package/json-schema/security/RLSAuditEvent.json +66 -0
  170. package/json-schema/security/RLSConfig.json +62 -0
  171. package/json-schema/system/AuthConfig.json +83 -0
  172. package/json-schema/system/BackupConfig.json +148 -0
  173. package/json-schema/system/BackupRetention.json +27 -0
  174. package/json-schema/system/BackupStrategy.json +10 -0
  175. package/json-schema/system/CacheAvalanchePrevention.json +77 -0
  176. package/json-schema/system/CacheConsistency.json +11 -0
  177. package/json-schema/system/CacheWarmup.json +44 -0
  178. package/json-schema/system/ComplianceAuditRequirement.json +43 -0
  179. package/json-schema/system/ComplianceEncryptionRequirement.json +58 -0
  180. package/json-schema/system/DataClassificationPolicy.json +46 -0
  181. package/json-schema/system/DisasterRecoveryPlan.json +414 -0
  182. package/json-schema/system/DistributedCacheConfig.json +269 -0
  183. package/json-schema/system/FailoverConfig.json +102 -0
  184. package/json-schema/system/FailoverMode.json +11 -0
  185. package/json-schema/system/MaskingVisibilityRule.json +56 -0
  186. package/json-schema/system/MetadataFallbackStrategy.json +9 -0
  187. package/json-schema/system/MetadataLoaderContract.json +9 -1
  188. package/json-schema/system/MetadataManagerConfig.json +52 -11
  189. package/json-schema/system/MetadataRecord.json +32 -1
  190. package/json-schema/system/MetadataSource.json +10 -0
  191. package/json-schema/system/MutualTLSConfig.json +83 -0
  192. package/json-schema/system/RPO.json +27 -0
  193. package/json-schema/system/RTO.json +27 -0
  194. package/json-schema/system/SecurityContextConfig.json +288 -0
  195. package/json-schema/system/SecurityEventCorrelation.json +40 -0
  196. package/json-schema/ui/Action.json +200 -5
  197. package/json-schema/ui/ActionParam.json +62 -2
  198. package/json-schema/ui/AnimationTrigger.json +14 -0
  199. package/json-schema/ui/App.json +285 -7
  200. package/json-schema/ui/AriaProps.json +49 -0
  201. package/json-schema/ui/BreakpointColumnMap.json +38 -0
  202. package/json-schema/ui/BreakpointName.json +12 -0
  203. package/json-schema/ui/BreakpointOrderMap.json +26 -0
  204. package/json-schema/ui/ChartAnnotation.json +31 -1
  205. package/json-schema/ui/ChartAxis.json +30 -1
  206. package/json-schema/ui/ChartConfig.json +259 -7
  207. package/json-schema/ui/ChartSeries.json +30 -1
  208. package/json-schema/ui/ColumnSummary.json +18 -0
  209. package/json-schema/ui/ComponentAnimation.json +246 -0
  210. package/json-schema/ui/ConflictResolution.json +11 -0
  211. package/json-schema/ui/Dashboard.json +627 -11
  212. package/json-schema/ui/DashboardNavItem.json +30 -1
  213. package/json-schema/ui/DashboardWidget.json +433 -8
  214. package/json-schema/ui/DateFormat.json +36 -0
  215. package/json-schema/ui/DensityMode.json +9 -0
  216. package/json-schema/ui/DndConfig.json +306 -0
  217. package/json-schema/ui/DragConstraint.json +44 -0
  218. package/json-schema/ui/DragHandle.json +10 -0
  219. package/json-schema/ui/DragItem.json +160 -0
  220. package/json-schema/ui/DropEffect.json +11 -0
  221. package/json-schema/ui/DropZone.json +114 -0
  222. package/json-schema/ui/EasingFunction.json +13 -0
  223. package/json-schema/ui/EvictionPolicy.json +10 -0
  224. package/json-schema/ui/FocusManagement.json +69 -0
  225. package/json-schema/ui/FocusTrapConfig.json +32 -0
  226. package/json-schema/ui/FormField.json +90 -3
  227. package/json-schema/ui/GalleryConfig.json +46 -0
  228. package/json-schema/ui/GestureConfig.json +128 -0
  229. package/json-schema/ui/GestureType.json +14 -0
  230. package/json-schema/ui/GroupNavItem.json +30 -1
  231. package/json-schema/ui/GroupingConfig.json +45 -0
  232. package/json-schema/ui/GroupingField.json +30 -0
  233. package/json-schema/ui/I18nLabel.json +34 -0
  234. package/json-schema/ui/I18nObject.json +26 -0
  235. package/json-schema/ui/KeyboardNavigationConfig.json +194 -0
  236. package/json-schema/ui/KeyboardShortcut.json +66 -0
  237. package/json-schema/ui/ListColumn.json +55 -1
  238. package/json-schema/ui/ListView.json +435 -4
  239. package/json-schema/ui/LocaleConfig.json +108 -0
  240. package/json-schema/ui/LongPressGestureConfig.json +20 -0
  241. package/json-schema/ui/MotionConfig.json +405 -0
  242. package/json-schema/ui/NavigationItem.json +150 -5
  243. package/json-schema/ui/Notification.json +232 -0
  244. package/json-schema/ui/NotificationAction.json +60 -0
  245. package/json-schema/ui/NotificationConfig.json +52 -0
  246. package/json-schema/ui/NotificationPosition.json +13 -0
  247. package/json-schema/ui/NotificationSeverity.json +11 -0
  248. package/json-schema/ui/NotificationType.json +12 -0
  249. package/json-schema/ui/NumberFormat.json +42 -0
  250. package/json-schema/ui/ObjectNavItem.json +30 -1
  251. package/json-schema/ui/OfflineCacheConfig.json +40 -0
  252. package/json-schema/ui/OfflineConfig.json +157 -0
  253. package/json-schema/ui/OfflineStrategy.json +12 -0
  254. package/json-schema/ui/Page.json +285 -3
  255. package/json-schema/ui/PageCardProps.json +79 -1
  256. package/json-schema/ui/PageComponent.json +175 -1
  257. package/json-schema/ui/PageHeaderProps.json +108 -2
  258. package/json-schema/ui/PageNavItem.json +30 -1
  259. package/json-schema/ui/PageRegion.json +175 -1
  260. package/json-schema/ui/PageTabsProps.json +79 -1
  261. package/json-schema/ui/PageTransition.json +53 -0
  262. package/json-schema/ui/PerformanceConfig.json +57 -0
  263. package/json-schema/ui/PersistStorage.json +10 -0
  264. package/json-schema/ui/PinchGestureConfig.json +16 -0
  265. package/json-schema/ui/PluralRule.json +40 -0
  266. package/json-schema/ui/Report.json +490 -8
  267. package/json-schema/ui/ReportChart.json +199 -5
  268. package/json-schema/ui/ReportColumn.json +126 -1
  269. package/json-schema/ui/ResponsiveConfig.json +97 -0
  270. package/json-schema/ui/RowColorConfig.json +25 -0
  271. package/json-schema/ui/RowHeight.json +12 -0
  272. package/json-schema/ui/SwipeDirection.json +10 -0
  273. package/json-schema/ui/SwipeGestureConfig.json +32 -0
  274. package/json-schema/ui/SyncConfig.json +47 -0
  275. package/json-schema/ui/Theme.json +137 -0
  276. package/json-schema/ui/TimelineConfig.json +46 -0
  277. package/json-schema/ui/TouchInteraction.json +232 -0
  278. package/json-schema/ui/TouchTargetConfig.json +49 -0
  279. package/json-schema/ui/TransitionConfig.json +47 -0
  280. package/json-schema/ui/TransitionPreset.json +16 -0
  281. package/json-schema/ui/UrlNavItem.json +30 -1
  282. package/json-schema/ui/ViewSharing.json +24 -0
  283. package/json-schema/ui/WcagContrastLevel.json +8 -0
  284. package/json-schema/ui/WidgetEvent.json +60 -2
  285. package/json-schema/ui/WidgetManifest.json +284 -6
  286. package/json-schema/ui/WidgetProperty.json +60 -2
  287. package/package.json +1 -1
  288. package/dist/index-C6p-2KXV.d.ts +0 -767
  289. package/dist/index-CVnGe2b8.d.mts +0 -767
  290. package/dist/index-CZjkpp75.d.mts +0 -3867
  291. package/dist/index-CgkjUheS.d.ts +0 -3867
  292. package/dist/{index-B08s7rEU.d.mts → index-DmhxH5jy.d.mts} +8 -8
  293. 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 ChartTypeSchema = import_zod.z.enum([
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 = import_zod.z.object({
275
+ var ChartAxisSchema = import_zod2.z.object({
149
276
  /** Data field to map to this axis */
150
- field: import_zod.z.string().describe("Data field key"),
277
+ field: import_zod2.z.string().describe("Data field key"),
151
278
  /** Axis title */
152
- title: import_zod.z.string().optional().describe("Axis display title"),
279
+ title: I18nLabelSchema.optional().describe("Axis display title"),
153
280
  /** Value formatting (d3-format or similar) */
154
- format: import_zod.z.string().optional().describe('Value format string (e.g., "$0,0.00")'),
281
+ format: import_zod2.z.string().optional().describe('Value format string (e.g., "$0,0.00")'),
155
282
  /** Axis scale settings */
156
- min: import_zod.z.number().optional().describe("Minimum value"),
157
- max: import_zod.z.number().optional().describe("Maximum value"),
158
- stepSize: import_zod.z.number().optional().describe("Step size for ticks"),
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: import_zod.z.boolean().default(true),
161
- position: import_zod.z.enum(["left", "right", "top", "bottom"]).optional().describe("Axis 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: import_zod.z.boolean().default(false)
290
+ logarithmic: import_zod2.z.boolean().default(false)
164
291
  });
165
- var ChartSeriesSchema = import_zod.z.object({
292
+ var ChartSeriesSchema = import_zod2.z.object({
166
293
  /** Field name for values */
167
- name: import_zod.z.string().describe("Field name or series identifier"),
294
+ name: import_zod2.z.string().describe("Field name or series identifier"),
168
295
  /** Display label */
169
- label: import_zod.z.string().optional().describe("Series display 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: import_zod.z.string().optional().describe("Series color (hex/rgb/token)"),
300
+ color: import_zod2.z.string().optional().describe("Series color (hex/rgb/token)"),
174
301
  /** Stacking group */
175
- stack: import_zod.z.string().optional().describe("Stack identifier to group series"),
302
+ stack: import_zod2.z.string().optional().describe("Stack identifier to group series"),
176
303
  /** Axis binding */
177
- yAxis: import_zod.z.enum(["left", "right"]).default("left").describe("Bind to specific Y-Axis")
178
- });
179
- var ChartAnnotationSchema = import_zod.z.object({
180
- type: import_zod.z.enum(["line", "region"]).default("line"),
181
- axis: import_zod.z.enum(["x", "y"]).default("y"),
182
- value: import_zod.z.union([import_zod.z.number(), import_zod.z.string()]).describe("Start value"),
183
- endValue: import_zod.z.union([import_zod.z.number(), import_zod.z.string()]).optional().describe("End value for regions"),
184
- color: import_zod.z.string().optional(),
185
- label: import_zod.z.string().optional(),
186
- style: import_zod.z.enum(["solid", "dashed", "dotted"]).default("dashed")
187
- });
188
- var ChartInteractionSchema = import_zod.z.object({
189
- tooltips: import_zod.z.boolean().default(true),
190
- zoom: import_zod.z.boolean().default(false),
191
- brush: import_zod.z.boolean().default(false),
192
- clickAction: import_zod.z.string().optional().describe("Action ID to trigger on click")
193
- });
194
- var ChartConfigSchema = import_zod.z.object({
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: import_zod.z.string().optional().describe("Chart title"),
199
- subtitle: import_zod.z.string().optional().describe("Chart subtitle"),
200
- description: import_zod.z.string().optional().describe("Accessibility 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: import_zod.z.array(ChartAxisSchema).optional().describe("Y-Axis configuration (support dual axis)"),
330
+ yAxis: import_zod2.z.array(ChartAxisSchema).optional().describe("Y-Axis configuration (support dual axis)"),
204
331
  /** Series Configuration */
205
- series: import_zod.z.array(ChartSeriesSchema).optional().describe("Defined series configuration"),
332
+ series: import_zod2.z.array(ChartSeriesSchema).optional().describe("Defined series configuration"),
206
333
  /** Appearance */
207
- colors: import_zod.z.array(import_zod.z.string()).optional().describe("Color palette"),
208
- height: import_zod.z.number().optional().describe("Fixed height in pixels"),
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: import_zod.z.boolean().default(true).describe("Display legend"),
211
- showDataLabels: import_zod.z.boolean().default(false).describe("Display data labels"),
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: import_zod.z.array(ChartAnnotationSchema).optional(),
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/app.zod.ts
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 import_zod2 = require("zod");
223
- var SystemIdentifierSchema = import_zod2.z.string().min(2, { message: "System identifier must be at least 2 characters" }).regex(/^[a-z][a-z0-9_.]*$/, {
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 = import_zod2.z.string().min(2, { message: "Identifier must be at least 2 characters" }).regex(/^[a-z][a-z0-9_]*$/, {
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 = import_zod2.z.string().min(3, { message: "Event name must be at least 3 characters" }).regex(/^[a-z][a-z0-9_.]*$/, {
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 = import_zod3.z.object({
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: import_zod3.z.string().describe("Display proper label"),
420
+ label: I18nLabelSchema.describe("Display proper label"),
239
421
  /** Icon name (Lucide) */
240
- icon: import_zod3.z.string().optional().describe("Icon name"),
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: import_zod3.z.string().optional().describe("Visibility formula condition")
428
+ visible: import_zod5.z.string().optional().describe("Visibility formula condition")
247
429
  });
248
430
  var ObjectNavItemSchema = BaseNavItemSchema.extend({
249
- type: import_zod3.z.literal("object"),
250
- objectName: import_zod3.z.string().describe("Target object name"),
251
- viewName: import_zod3.z.string().optional().describe('Default list view to open. Defaults to "all"')
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: import_zod3.z.literal("dashboard"),
255
- dashboardName: import_zod3.z.string().describe("Target dashboard name")
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: import_zod3.z.literal("page"),
259
- pageName: import_zod3.z.string().describe("Target custom page component name"),
260
- params: import_zod3.z.record(import_zod3.z.string(), import_zod3.z.unknown()).optional().describe("Parameters passed to the page context")
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: import_zod3.z.literal("url"),
264
- url: import_zod3.z.string().describe("Target external URL"),
265
- target: import_zod3.z.enum(["_self", "_blank"]).default("_self").describe("Link target window")
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: import_zod3.z.literal("group"),
269
- expanded: import_zod3.z.boolean().default(false).describe("Default expansion state in sidebar")
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 = import_zod3.z.lazy(
273
- () => import_zod3.z.union([
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: import_zod3.z.array(NavigationItemSchema).optional().describe("Child navigation items (e.g. specific views)")
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: import_zod3.z.array(NavigationItemSchema).describe("Child navigation items")
464
+ children: import_zod5.z.array(NavigationItemSchema).describe("Child navigation items")
283
465
  })
284
466
  ])
285
467
  );
286
- var AppBrandingSchema = import_zod3.z.object({
287
- primaryColor: import_zod3.z.string().optional().describe("Primary theme color hex code"),
288
- logo: import_zod3.z.string().optional().describe("Custom logo URL for this app"),
289
- favicon: import_zod3.z.string().optional().describe("Custom favicon URL for this app")
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 = import_zod3.z.object({
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: import_zod3.z.string().describe("App display label"),
477
+ label: I18nLabelSchema.describe("App display label"),
296
478
  /** App version */
297
- version: import_zod3.z.string().optional().describe("App version"),
479
+ version: import_zod5.z.string().optional().describe("App version"),
298
480
  /** Description */
299
- description: import_zod3.z.string().optional().describe("App description"),
481
+ description: I18nLabelSchema.optional().describe("App description"),
300
482
  /** Icon name (Lucide) */
301
- icon: import_zod3.z.string().optional().describe("App icon used in the App Launcher"),
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: import_zod3.z.boolean().optional().default(true).describe("Whether the app is enabled"),
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: import_zod3.z.boolean().optional().default(false).describe("Is default app"),
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: import_zod3.z.array(NavigationItemSchema).optional().describe("Structured navigation menu tree"),
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: import_zod3.z.string().optional().describe("ID of the navigation item to serve as landing page"),
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: import_zod3.z.array(import_zod3.z.string()).optional().describe("Permissions required to access this app"),
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: import_zod3.z.array(import_zod3.z.unknown()).optional().describe("Objects belonging to this app"),
331
- apis: import_zod3.z.array(import_zod3.z.unknown()).optional().describe("Custom APIs belonging to this app")
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 import_zod4 = require("zod");
339
- var HttpMethodSchema = import_zod4.z.enum(["GET", "POST", "PUT", "PATCH", "DELETE"]);
340
- var HttpRequestSchema = import_zod4.z.object({
341
- url: import_zod4.z.string().describe("API endpoint 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: import_zod4.z.record(import_zod4.z.string(), import_zod4.z.string()).optional().describe("Custom HTTP headers"),
344
- params: import_zod4.z.record(import_zod4.z.string(), import_zod4.z.unknown()).optional().describe("Query parameters"),
345
- body: import_zod4.z.unknown().optional().describe("Request body for POST/PUT/PATCH")
346
- });
347
- var ViewDataSchema = import_zod4.z.discriminatedUnion("provider", [
348
- import_zod4.z.object({
349
- provider: import_zod4.z.literal("object"),
350
- object: import_zod4.z.string().describe("Target object name")
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
- import_zod4.z.object({
353
- provider: import_zod4.z.literal("api"),
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
- import_zod4.z.object({
358
- provider: import_zod4.z.literal("value"),
359
- items: import_zod4.z.array(import_zod4.z.unknown()).describe("Static data array")
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 ListColumnSchema = import_zod4.z.object({
363
- field: import_zod4.z.string().describe("Field name (snake_case)"),
364
- label: import_zod4.z.string().optional().describe("Display label override"),
365
- width: import_zod4.z.number().positive().optional().describe("Column width in pixels"),
366
- align: import_zod4.z.enum(["left", "center", "right"]).optional().describe("Text alignment"),
367
- hidden: import_zod4.z.boolean().optional().describe("Hide column by default"),
368
- sortable: import_zod4.z.boolean().optional().describe("Allow sorting by this column"),
369
- resizable: import_zod4.z.boolean().optional().describe("Allow resizing this column"),
370
- wrap: import_zod4.z.boolean().optional().describe("Allow text wrapping"),
371
- type: import_zod4.z.string().optional().describe('Renderer type override (e.g., "currency", "date")'),
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: import_zod4.z.boolean().optional().describe("Functions as the primary navigation link (triggers View navigation)"),
374
- action: import_zod4.z.string().optional().describe("Registered Action ID to execute when clicked")
375
- });
376
- var SelectionConfigSchema = import_zod4.z.object({
377
- type: import_zod4.z.enum(["none", "single", "multiple"]).default("none").describe("Selection mode")
378
- });
379
- var PaginationConfigSchema = import_zod4.z.object({
380
- pageSize: import_zod4.z.number().int().positive().default(25).describe("Number of records per page"),
381
- pageSizeOptions: import_zod4.z.array(import_zod4.z.number().int().positive()).optional().describe("Available page size options")
382
- });
383
- var KanbanConfigSchema = import_zod4.z.object({
384
- groupByField: import_zod4.z.string().describe("Field to group columns by (usually status/select)"),
385
- summarizeField: import_zod4.z.string().optional().describe("Field to sum at top of column (e.g. amount)"),
386
- columns: import_zod4.z.array(import_zod4.z.string()).describe("Fields to show on cards")
387
- });
388
- var CalendarConfigSchema = import_zod4.z.object({
389
- startDateField: import_zod4.z.string(),
390
- endDateField: import_zod4.z.string().optional(),
391
- titleField: import_zod4.z.string(),
392
- colorField: import_zod4.z.string().optional()
393
- });
394
- var GanttConfigSchema = import_zod4.z.object({
395
- startDateField: import_zod4.z.string(),
396
- endDateField: import_zod4.z.string(),
397
- titleField: import_zod4.z.string(),
398
- progressField: import_zod4.z.string().optional(),
399
- dependenciesField: import_zod4.z.string().optional()
400
- });
401
- var NavigationModeSchema = import_zod4.z.enum([
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 = import_zod4.z.object({
666
+ var NavigationConfigSchema = import_zod6.z.object({
418
667
  mode: NavigationModeSchema.default("page"),
419
668
  /** Target View Config */
420
- view: import_zod4.z.string().optional().describe('Name of the form view to use for details (e.g. "summary_view", "edit_form")'),
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: import_zod4.z.boolean().default(false).describe("Disable standard navigation entirely"),
423
- openNewTab: import_zod4.z.boolean().default(false).describe("Force open in new tab (applies to page mode)"),
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: import_zod4.z.union([import_zod4.z.string(), import_zod4.z.number()]).optional().describe('Width of the drawer/modal (e.g. "600px", "50%")')
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 = import_zod4.z.object({
676
+ var ListViewSchema = import_zod6.z.object({
428
677
  name: SnakeCaseIdentifierSchema.optional().describe("Internal view name (lowercase snake_case)"),
429
- label: import_zod4.z.string().optional(),
430
- // Display label override
431
- type: import_zod4.z.enum([
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: import_zod4.z.union([
451
- import_zod4.z.array(import_zod4.z.string()),
699
+ columns: import_zod6.z.union([
700
+ import_zod6.z.array(import_zod6.z.string()),
452
701
  // Legacy: simple field names
453
- import_zod4.z.array(ListColumnSchema)
702
+ import_zod6.z.array(ListColumnSchema)
454
703
  // Enhanced: detailed column config
455
704
  ]).describe("Fields to display as columns"),
456
- filter: import_zod4.z.array(import_zod4.z.unknown()).optional().describe("Filter criteria (JSON Rules)"),
457
- sort: import_zod4.z.union([
458
- import_zod4.z.string(),
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
- import_zod4.z.array(import_zod4.z.object({
461
- field: import_zod4.z.string(),
462
- order: import_zod4.z.enum(["asc", "desc"])
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: import_zod4.z.array(import_zod4.z.string()).optional().describe("Fields enabled for search"),
467
- filterableFields: import_zod4.z.array(import_zod4.z.string()).optional().describe("Fields enabled for end-user filtering in the top bar"),
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: import_zod4.z.boolean().optional().describe("Enable column resizing"),
470
- striped: import_zod4.z.boolean().optional().describe("Striped row styling"),
471
- bordered: import_zod4.z.boolean().optional().describe("Show borders"),
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: import_zod4.z.array(import_zod4.z.string()).optional().describe("Actions available for individual row items"),
484
- bulkActions: import_zod4.z.array(import_zod4.z.string()).optional().describe("Actions available when multiple rows are selected"),
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: import_zod4.z.boolean().optional().describe("Enable virtual scrolling for large datasets"),
749
+ virtualScroll: import_zod6.z.boolean().optional().describe("Enable virtual scrolling for large datasets"),
487
750
  /** Conditional Formatting */
488
- conditionalFormatting: import_zod4.z.array(import_zod4.z.object({
489
- condition: import_zod4.z.string().describe("Condition expression to evaluate"),
490
- style: import_zod4.z.record(import_zod4.z.string(), import_zod4.z.string()).describe("CSS styles to apply when condition is true")
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: import_zod4.z.boolean().optional().describe("Allow inline editing of records directly in the list view"),
756
+ inlineEdit: import_zod6.z.boolean().optional().describe("Allow inline editing of records directly in the list view"),
494
757
  /** Export */
495
- exportOptions: import_zod4.z.array(import_zod4.z.enum(["csv", "xlsx", "pdf", "json"])).optional().describe("Available export format options"),
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: import_zod4.z.object({
498
- title: import_zod4.z.string().optional(),
499
- message: import_zod4.z.string().optional(),
500
- icon: import_zod4.z.string().optional()
501
- }).optional().describe("Empty state configuration when no records found")
502
- });
503
- var FormFieldSchema = import_zod4.z.object({
504
- field: import_zod4.z.string().describe("Field name (snake_case)"),
505
- label: import_zod4.z.string().optional().describe("Display label override"),
506
- placeholder: import_zod4.z.string().optional().describe("Placeholder text"),
507
- helpText: import_zod4.z.string().optional().describe("Help/hint text"),
508
- readonly: import_zod4.z.boolean().optional().describe("Read-only override"),
509
- required: import_zod4.z.boolean().optional().describe("Required override"),
510
- hidden: import_zod4.z.boolean().optional().describe("Hidden override"),
511
- colSpan: import_zod4.z.number().int().min(1).max(4).optional().describe("Column span in grid layout (1-4)"),
512
- widget: import_zod4.z.string().optional().describe("Custom widget/component name"),
513
- dependsOn: import_zod4.z.string().optional().describe("Parent field name for cascading"),
514
- visibleOn: import_zod4.z.string().optional().describe("Visibility condition expression")
515
- });
516
- var FormSectionSchema = import_zod4.z.object({
517
- label: import_zod4.z.string().optional(),
518
- collapsible: import_zod4.z.boolean().default(false),
519
- collapsed: import_zod4.z.boolean().default(false),
520
- columns: import_zod4.z.enum(["1", "2", "3", "4"]).default("2").transform((val) => parseInt(val)),
521
- fields: import_zod4.z.array(import_zod4.z.union([
522
- import_zod4.z.string(),
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 = import_zod4.z.object({
529
- type: import_zod4.z.enum([
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: import_zod4.z.array(FormSectionSchema).optional(),
810
+ sections: import_zod6.z.array(FormSectionSchema).optional(),
546
811
  // For simple layout
547
- groups: import_zod4.z.array(FormSectionSchema).optional()
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 = import_zod4.z.object({
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: import_zod4.z.record(import_zod4.z.string(), ListViewSchema).optional().describe("Additional named list views"),
556
- formViews: import_zod4.z.record(import_zod4.z.string(), FormViewSchema).optional().describe("Additional named form views")
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 import_zod6 = require("zod");
827
+ var import_zod8 = require("zod");
561
828
 
562
829
  // src/data/filter.zod.ts
563
- var import_zod5 = require("zod");
564
- var FieldReferenceSchema = import_zod5.z.object({
565
- $field: import_zod5.z.string().describe("Field Reference/Column Name")
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 = import_zod5.z.object({
834
+ var EqualityOperatorSchema = import_zod7.z.object({
568
835
  /** Equal to (default) - SQL: = | MongoDB: $eq */
569
- $eq: import_zod5.z.any().optional(),
836
+ $eq: import_zod7.z.any().optional(),
570
837
  /** Not equal to - SQL: <> or != | MongoDB: $ne */
571
- $ne: import_zod5.z.any().optional()
838
+ $ne: import_zod7.z.any().optional()
572
839
  });
573
- var ComparisonOperatorSchema = import_zod5.z.object({
840
+ var ComparisonOperatorSchema = import_zod7.z.object({
574
841
  /** Greater than - SQL: > | MongoDB: $gt */
575
- $gt: import_zod5.z.union([import_zod5.z.number(), import_zod5.z.date(), FieldReferenceSchema]).optional(),
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: import_zod5.z.union([import_zod5.z.number(), import_zod5.z.date(), FieldReferenceSchema]).optional(),
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: import_zod5.z.union([import_zod5.z.number(), import_zod5.z.date(), FieldReferenceSchema]).optional(),
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: import_zod5.z.union([import_zod5.z.number(), import_zod5.z.date(), FieldReferenceSchema]).optional()
848
+ $lte: import_zod7.z.union([import_zod7.z.number(), import_zod7.z.date(), FieldReferenceSchema]).optional()
582
849
  });
583
- var SetOperatorSchema = import_zod5.z.object({
850
+ var SetOperatorSchema = import_zod7.z.object({
584
851
  /** In list - SQL: IN (?, ?, ?) | MongoDB: $in */
585
- $in: import_zod5.z.array(import_zod5.z.any()).optional(),
852
+ $in: import_zod7.z.array(import_zod7.z.any()).optional(),
586
853
  /** Not in list - SQL: NOT IN (...) | MongoDB: $nin */
587
- $nin: import_zod5.z.array(import_zod5.z.any()).optional()
854
+ $nin: import_zod7.z.array(import_zod7.z.any()).optional()
588
855
  });
589
- var RangeOperatorSchema = import_zod5.z.object({
856
+ var RangeOperatorSchema = import_zod7.z.object({
590
857
  /** Between (inclusive) - takes [min, max] array */
591
- $between: import_zod5.z.tuple([
592
- import_zod5.z.union([import_zod5.z.number(), import_zod5.z.date(), FieldReferenceSchema]),
593
- import_zod5.z.union([import_zod5.z.number(), import_zod5.z.date(), FieldReferenceSchema])
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 = import_zod5.z.object({
863
+ var StringOperatorSchema = import_zod7.z.object({
597
864
  /** Contains substring - SQL: LIKE %?% | MongoDB: $regex */
598
- $contains: import_zod5.z.string().optional(),
865
+ $contains: import_zod7.z.string().optional(),
599
866
  /** Starts with prefix - SQL: LIKE ?% | MongoDB: $regex */
600
- $startsWith: import_zod5.z.string().optional(),
867
+ $startsWith: import_zod7.z.string().optional(),
601
868
  /** Ends with suffix - SQL: LIKE %? | MongoDB: $regex */
602
- $endsWith: import_zod5.z.string().optional()
869
+ $endsWith: import_zod7.z.string().optional()
603
870
  });
604
- var SpecialOperatorSchema = import_zod5.z.object({
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: import_zod5.z.boolean().optional(),
873
+ $null: import_zod7.z.boolean().optional(),
607
874
  /** Field exists check (primarily for NoSQL) - MongoDB: $exists */
608
- $exists: import_zod5.z.boolean().optional()
875
+ $exists: import_zod7.z.boolean().optional()
609
876
  });
610
- var FieldOperatorsSchema = import_zod5.z.object({
877
+ var FieldOperatorsSchema = import_zod7.z.object({
611
878
  // Equality
612
- $eq: import_zod5.z.any().optional(),
613
- $ne: import_zod5.z.any().optional(),
879
+ $eq: import_zod7.z.any().optional(),
880
+ $ne: import_zod7.z.any().optional(),
614
881
  // Comparison (numeric/date)
615
- $gt: import_zod5.z.union([import_zod5.z.number(), import_zod5.z.date(), FieldReferenceSchema]).optional(),
616
- $gte: import_zod5.z.union([import_zod5.z.number(), import_zod5.z.date(), FieldReferenceSchema]).optional(),
617
- $lt: import_zod5.z.union([import_zod5.z.number(), import_zod5.z.date(), FieldReferenceSchema]).optional(),
618
- $lte: import_zod5.z.union([import_zod5.z.number(), import_zod5.z.date(), FieldReferenceSchema]).optional(),
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: import_zod5.z.array(import_zod5.z.any()).optional(),
621
- $nin: import_zod5.z.array(import_zod5.z.any()).optional(),
622
- $between: import_zod5.z.tuple([
623
- import_zod5.z.union([import_zod5.z.number(), import_zod5.z.date(), FieldReferenceSchema]),
624
- import_zod5.z.union([import_zod5.z.number(), import_zod5.z.date(), FieldReferenceSchema])
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: import_zod5.z.string().optional(),
628
- $startsWith: import_zod5.z.string().optional(),
629
- $endsWith: import_zod5.z.string().optional(),
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: import_zod5.z.boolean().optional(),
632
- $exists: import_zod5.z.boolean().optional()
633
- });
634
- var FilterConditionSchema = import_zod5.z.lazy(
635
- () => import_zod5.z.record(import_zod5.z.string(), import_zod5.z.unknown()).and(
636
- import_zod5.z.object({
637
- $and: import_zod5.z.array(FilterConditionSchema).optional(),
638
- $or: import_zod5.z.array(FilterConditionSchema).optional(),
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 = import_zod5.z.object({
910
+ var QueryFilterSchema = import_zod7.z.object({
644
911
  where: FilterConditionSchema.optional()
645
912
  });
646
- var NormalizedFilterSchema = import_zod5.z.lazy(
647
- () => import_zod5.z.object({
648
- $and: import_zod5.z.array(
649
- import_zod5.z.union([
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
- import_zod5.z.record(import_zod5.z.string(), FieldOperatorsSchema),
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: import_zod5.z.array(
657
- import_zod5.z.union([
658
- import_zod5.z.record(import_zod5.z.string(), FieldOperatorsSchema),
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: import_zod5.z.union([
663
- import_zod5.z.record(import_zod5.z.string(), FieldOperatorsSchema),
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 = import_zod6.z.object({
960
+ var DashboardWidgetSchema = import_zod8.z.object({
694
961
  /** Widget Title */
695
- title: import_zod6.z.string().optional().describe("Widget 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: import_zod6.z.string().optional().describe("Data source object name"),
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: import_zod6.z.string().optional().describe("Field for grouping (X-Axis)"),
972
+ categoryField: import_zod8.z.string().optional().describe("Field for grouping (X-Axis)"),
706
973
  /** Value Field (Y-Axis) */
707
- valueField: import_zod6.z.string().optional().describe("Field for values (Y-Axis)"),
974
+ valueField: import_zod8.z.string().optional().describe("Field for values (Y-Axis)"),
708
975
  /** Aggregate operation */
709
- aggregate: import_zod6.z.enum(["count", "sum", "avg", "min", "max"]).optional().default("count").describe("Aggregate function"),
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: import_zod6.z.object({
718
- x: import_zod6.z.number(),
719
- y: import_zod6.z.number(),
720
- w: import_zod6.z.number(),
721
- h: import_zod6.z.number()
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: import_zod6.z.unknown().optional().describe("Widget specific configuration")
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 = import_zod6.z.object({
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: import_zod6.z.string().describe("Dashboard label"),
1001
+ label: I18nLabelSchema.describe("Dashboard label"),
731
1002
  /** Description */
732
- description: import_zod6.z.string().optional().describe("Dashboard description"),
1003
+ description: I18nLabelSchema.optional().describe("Dashboard description"),
733
1004
  /** Collection of widgets */
734
- widgets: import_zod6.z.array(DashboardWidgetSchema).describe("Widgets to display"),
1005
+ widgets: import_zod8.z.array(DashboardWidgetSchema).describe("Widgets to display"),
735
1006
  /** Auto-refresh */
736
- refreshInterval: import_zod6.z.number().optional().describe("Auto-refresh interval in seconds"),
1007
+ refreshInterval: import_zod8.z.number().optional().describe("Auto-refresh interval in seconds"),
737
1008
  /** Global Filters */
738
- globalFilters: import_zod6.z.array(import_zod6.z.object({
739
- field: import_zod6.z.string().describe("Field name to filter on"),
740
- label: import_zod6.z.string().optional().describe("Display label for the filter"),
741
- type: import_zod6.z.enum(["text", "select", "date", "number"]).optional().describe("Filter input 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 import_zod7 = require("zod");
750
- var ReportType = import_zod7.z.enum([
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 = import_zod7.z.object({
761
- field: import_zod7.z.string().describe("Field name"),
762
- label: import_zod7.z.string().optional().describe("Override label"),
763
- aggregate: import_zod7.z.enum(["sum", "avg", "max", "min", "count", "unique"]).optional().describe("Aggregation function")
764
- });
765
- var ReportGroupingSchema = import_zod7.z.object({
766
- field: import_zod7.z.string().describe("Field to group by"),
767
- sortOrder: import_zod7.z.enum(["asc", "desc"]).default("asc"),
768
- dateGranularity: import_zod7.z.enum(["day", "week", "month", "quarter", "year"]).optional().describe("For date fields")
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: import_zod7.z.string().describe("Grouping field for X-Axis"),
773
- yAxis: import_zod7.z.string().describe("Summary field for Y-Axis"),
774
- groupBy: import_zod7.z.string().optional().describe("Additional grouping field")
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 = import_zod7.z.object({
1053
+ var ReportSchema = import_zod9.z.object({
777
1054
  /** Identity */
778
1055
  name: SnakeCaseIdentifierSchema.describe("Report unique name"),
779
- label: import_zod7.z.string().describe("Report label"),
780
- description: import_zod7.z.string().optional(),
1056
+ label: I18nLabelSchema.describe("Report label"),
1057
+ description: I18nLabelSchema.optional(),
781
1058
  /** Data Source */
782
- objectName: import_zod7.z.string().describe("Primary object"),
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: import_zod7.z.array(ReportColumnSchema).describe("Columns to display"),
1062
+ columns: import_zod9.z.array(ReportColumnSchema).describe("Columns to display"),
786
1063
  /** Grouping (for Summary/Matrix) */
787
- groupingsDown: import_zod7.z.array(ReportGroupingSchema).optional().describe("Row groupings"),
788
- groupingsAcross: import_zod7.z.array(ReportGroupingSchema).optional().describe("Column groupings (Matrix only)"),
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 import_zod11 = require("zod");
1080
+ var import_zod13 = require("zod");
800
1081
 
801
1082
  // src/data/field.zod.ts
802
- var import_zod10 = require("zod");
1083
+ var import_zod12 = require("zod");
803
1084
 
804
1085
  // src/system/encryption.zod.ts
805
- var import_zod8 = require("zod");
806
- var EncryptionAlgorithmSchema = import_zod8.z.enum([
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 = import_zod8.z.enum([
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 = import_zod8.z.object({
819
- enabled: import_zod8.z.boolean().default(false).describe("Enable automatic key rotation"),
820
- frequencyDays: import_zod8.z.number().min(1).default(90).describe("Rotation frequency in days"),
821
- retainOldVersions: import_zod8.z.number().default(3).describe("Number of old key versions to retain"),
822
- autoRotate: import_zod8.z.boolean().default(true).describe("Automatically rotate without manual approval")
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 = import_zod8.z.object({
825
- enabled: import_zod8.z.boolean().default(false).describe("Enable field-level encryption"),
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: import_zod8.z.object({
1108
+ keyManagement: import_zod10.z.object({
828
1109
  provider: KeyManagementProviderSchema.describe("Key management service provider"),
829
- keyId: import_zod8.z.string().optional().describe("Key identifier in the provider"),
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: import_zod8.z.enum(["field", "record", "table", "database"]).describe("Encryption scope level"),
833
- deterministicEncryption: import_zod8.z.boolean().default(false).describe("Allows equality queries on encrypted data"),
834
- searchableEncryption: import_zod8.z.boolean().default(false).describe("Allows search on encrypted data")
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 = import_zod8.z.object({
837
- fieldName: import_zod8.z.string().describe("Name of the field to encrypt"),
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: import_zod8.z.boolean().default(false).describe("Allow indexing on encrypted field")
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 import_zod9 = require("zod");
844
- var MaskingStrategySchema = import_zod9.z.enum([
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 = import_zod9.z.object({
861
- field: import_zod9.z.string().describe("Field name to apply masking to"),
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: import_zod9.z.string().optional().describe("Regex pattern for partial masking"),
864
- preserveFormat: import_zod9.z.boolean().default(true).describe("Keep the original data format after masking"),
865
- preserveLength: import_zod9.z.boolean().default(true).describe("Keep the original data length after masking"),
866
- roles: import_zod9.z.array(import_zod9.z.string()).optional().describe("Roles that see masked data"),
867
- exemptRoles: import_zod9.z.array(import_zod9.z.string()).optional().describe("Roles that see unmasked data")
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 = import_zod9.z.object({
870
- enabled: import_zod9.z.boolean().default(false).describe("Enable data masking"),
871
- rules: import_zod9.z.array(MaskingRuleSchema).describe("List of field-level masking rules"),
872
- auditUnmasking: import_zod9.z.boolean().default(true).describe("Log when masked data is accessed unmasked")
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 = import_zod10.z.enum([
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 = import_zod10.z.object({
953
- label: import_zod10.z.string().describe("Display label (human-readable, any case allowed)"),
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: import_zod10.z.string().optional().describe("Color code for badges/charts"),
956
- default: import_zod10.z.boolean().optional().describe("Is default option")
957
- });
958
- var LocationCoordinatesSchema = import_zod10.z.object({
959
- latitude: import_zod10.z.number().min(-90).max(90).describe("Latitude coordinate"),
960
- longitude: import_zod10.z.number().min(-180).max(180).describe("Longitude coordinate"),
961
- altitude: import_zod10.z.number().optional().describe("Altitude in meters"),
962
- accuracy: import_zod10.z.number().optional().describe("Accuracy in meters")
963
- });
964
- var CurrencyConfigSchema = import_zod10.z.object({
965
- precision: import_zod10.z.number().int().min(0).max(10).default(2).describe("Decimal precision (default: 2)"),
966
- currencyMode: import_zod10.z.enum(["dynamic", "fixed"]).default("dynamic").describe("Currency mode: dynamic (user selectable) or fixed (single currency)"),
967
- defaultCurrency: import_zod10.z.string().length(3).default("CNY").describe("Default or fixed currency code (ISO 4217, e.g., USD, CNY, EUR)")
968
- });
969
- var CurrencyValueSchema = import_zod10.z.object({
970
- value: import_zod10.z.number().describe("Monetary amount"),
971
- currency: import_zod10.z.string().length(3).describe("Currency code (ISO 4217)")
972
- });
973
- var AddressSchema = import_zod10.z.object({
974
- street: import_zod10.z.string().optional().describe("Street address"),
975
- city: import_zod10.z.string().optional().describe("City name"),
976
- state: import_zod10.z.string().optional().describe("State/Province"),
977
- postalCode: import_zod10.z.string().optional().describe("Postal/ZIP code"),
978
- country: import_zod10.z.string().optional().describe("Country name or code"),
979
- countryCode: import_zod10.z.string().optional().describe("ISO country code (e.g., US, GB)"),
980
- formatted: import_zod10.z.string().optional().describe("Formatted address string")
981
- });
982
- var VectorConfigSchema = import_zod10.z.object({
983
- dimensions: import_zod10.z.number().int().min(1).max(1e4).describe("Vector dimensionality (e.g., 1536 for OpenAI embeddings)"),
984
- distanceMetric: import_zod10.z.enum(["cosine", "euclidean", "dotProduct", "manhattan"]).default("cosine").describe("Distance/similarity metric for vector search"),
985
- normalized: import_zod10.z.boolean().default(false).describe("Whether vectors are normalized (unit length)"),
986
- indexed: import_zod10.z.boolean().default(true).describe("Whether to create a vector index for fast similarity search"),
987
- indexType: import_zod10.z.enum(["hnsw", "ivfflat", "flat"]).optional().describe("Vector index algorithm (HNSW for high accuracy, IVFFlat for large datasets)")
988
- });
989
- var FileAttachmentConfigSchema = import_zod10.z.object({
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: import_zod10.z.number().min(0).optional().describe("Minimum file size in bytes"),
992
- maxSize: import_zod10.z.number().min(1).optional().describe("Maximum file size in bytes (e.g., 10485760 = 10MB)"),
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: import_zod10.z.array(import_zod10.z.string()).optional().describe('Allowed file extensions (e.g., [".pdf", ".docx", ".jpg"])'),
995
- blockedTypes: import_zod10.z.array(import_zod10.z.string()).optional().describe('Blocked file extensions (e.g., [".exe", ".bat", ".sh"])'),
996
- allowedMimeTypes: import_zod10.z.array(import_zod10.z.string()).optional().describe('Allowed MIME types (e.g., ["image/jpeg", "application/pdf"])'),
997
- blockedMimeTypes: import_zod10.z.array(import_zod10.z.string()).optional().describe("Blocked MIME types"),
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: import_zod10.z.boolean().default(false).describe("Enable virus scanning for uploaded files"),
1000
- virusScanProvider: import_zod10.z.enum(["clamav", "virustotal", "metadefender", "custom"]).optional().describe("Virus scanning service provider"),
1001
- virusScanOnUpload: import_zod10.z.boolean().default(true).describe("Scan files immediately on upload"),
1002
- quarantineOnThreat: import_zod10.z.boolean().default(true).describe("Quarantine files if threat detected"),
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: import_zod10.z.string().optional().describe("Object storage provider name (references ObjectStorageConfig)"),
1005
- storageBucket: import_zod10.z.string().optional().describe("Target bucket name"),
1006
- storagePrefix: import_zod10.z.string().optional().describe('Storage path prefix (e.g., "uploads/documents/")'),
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: import_zod10.z.object({
1009
- minWidth: import_zod10.z.number().min(1).optional().describe("Minimum image width in pixels"),
1010
- maxWidth: import_zod10.z.number().min(1).optional().describe("Maximum image width in pixels"),
1011
- minHeight: import_zod10.z.number().min(1).optional().describe("Minimum image height in pixels"),
1012
- maxHeight: import_zod10.z.number().min(1).optional().describe("Maximum image height in pixels"),
1013
- aspectRatio: import_zod10.z.string().optional().describe('Required aspect ratio (e.g., "16:9", "1:1")'),
1014
- generateThumbnails: import_zod10.z.boolean().default(false).describe("Auto-generate thumbnails"),
1015
- thumbnailSizes: import_zod10.z.array(import_zod10.z.object({
1016
- name: import_zod10.z.string().describe('Thumbnail variant name (e.g., "small", "medium", "large")'),
1017
- width: import_zod10.z.number().min(1).describe("Thumbnail width in pixels"),
1018
- height: import_zod10.z.number().min(1).describe("Thumbnail height in pixels"),
1019
- crop: import_zod10.z.boolean().default(false).describe("Crop to exact dimensions")
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: import_zod10.z.boolean().default(false).describe("Preserve EXIF metadata"),
1022
- autoRotate: import_zod10.z.boolean().default(true).describe("Auto-rotate based on EXIF orientation")
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: import_zod10.z.boolean().default(false).describe("Allow multiple file uploads (overrides field.multiple)"),
1026
- allowReplace: import_zod10.z.boolean().default(true).describe("Allow replacing existing files"),
1027
- allowDelete: import_zod10.z.boolean().default(true).describe("Allow deleting uploaded files"),
1028
- requireUpload: import_zod10.z.boolean().default(false).describe("Require at least one file when field is required"),
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: import_zod10.z.boolean().default(true).describe("Extract file metadata (name, size, type, etc.)"),
1031
- extractText: import_zod10.z.boolean().default(false).describe("Extract text content from documents (OCR/parsing)"),
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: import_zod10.z.boolean().default(false).describe("Keep previous versions of replaced files"),
1034
- maxVersions: import_zod10.z.number().min(1).optional().describe("Maximum number of versions to retain"),
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: import_zod10.z.boolean().default(false).describe("Allow public read access to uploaded files"),
1037
- presignedUrlExpiry: import_zod10.z.number().min(60).max(604800).default(3600).describe("Presigned URL expiration in seconds (default: 1 hour)")
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 = import_zod10.z.object({
1334
+ var DataQualityRulesSchema = import_zod12.z.object({
1054
1335
  /** Enforce uniqueness constraint */
1055
- uniqueness: import_zod10.z.boolean().default(false).describe("Enforce unique values across all records"),
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: import_zod10.z.number().min(0).max(1).default(0).describe("Minimum ratio of non-null values (0-1, default: 0 = no requirement)"),
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: import_zod10.z.object({
1060
- source: import_zod10.z.string().describe('Reference data source for validation (e.g., "api.verify.com", "master_data")'),
1061
- threshold: import_zod10.z.number().min(0).max(1).describe("Minimum accuracy threshold (0-1, e.g., 0.95 = 95% match required)")
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 = import_zod10.z.object({
1345
+ var ComputedFieldCacheSchema = import_zod12.z.object({
1065
1346
  /** Enable caching for this computed field */
1066
- enabled: import_zod10.z.boolean().describe("Enable caching for computed field results"),
1347
+ enabled: import_zod12.z.boolean().describe("Enable caching for computed field results"),
1067
1348
  /** Time-to-live in seconds */
1068
- ttl: import_zod10.z.number().min(0).describe("Cache TTL in seconds (0 = no expiration)"),
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: import_zod10.z.array(import_zod10.z.string()).describe('Field paths that invalidate cache (e.g., ["inventory.quantity", "pricing.base_price"])')
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 = import_zod10.z.object({
1353
+ var FieldSchema = import_zod12.z.object({
1073
1354
  /** Identity */
1074
- name: import_zod10.z.string().regex(/^[a-z_][a-z0-9_]*$/).describe("Machine name (snake_case)").optional(),
1075
- label: import_zod10.z.string().optional().describe("Human readable 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: import_zod10.z.string().optional().describe("Tooltip/Help text"),
1078
- format: import_zod10.z.string().optional().describe("Format string (e.g. email, phone)"),
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: import_zod10.z.boolean().default(false).describe("Is required"),
1081
- searchable: import_zod10.z.boolean().default(false).describe("Is searchable"),
1082
- multiple: import_zod10.z.boolean().default(false).describe("Allow multiple values (Stores as Array/JSON). Applicable for select, lookup, file, image."),
1083
- unique: import_zod10.z.boolean().default(false).describe("Is unique constraint"),
1084
- defaultValue: import_zod10.z.unknown().optional().describe("Default value"),
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: import_zod10.z.number().optional().describe("Max character length"),
1087
- minLength: import_zod10.z.number().optional().describe("Min character length"),
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: import_zod10.z.number().optional().describe("Total digits"),
1090
- scale: import_zod10.z.number().optional().describe("Decimal places"),
1091
- min: import_zod10.z.number().optional().describe("Minimum value"),
1092
- max: import_zod10.z.number().optional().describe("Maximum value"),
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: import_zod10.z.array(SelectOptionSchema).optional().describe("Static options for select/multiselect"),
1375
+ options: import_zod12.z.array(SelectOptionSchema).optional().describe("Static options for select/multiselect"),
1095
1376
  /** Relationship Config */
1096
- reference: import_zod10.z.string().optional().describe("Target Object Name"),
1097
- referenceFilters: import_zod10.z.array(import_zod10.z.string()).optional().describe('Filters applied to lookup dialogs (e.g. "active = true")'),
1098
- writeRequiresMasterRead: import_zod10.z.boolean().optional().describe("If true, user needs read access to master record to edit this field"),
1099
- deleteBehavior: import_zod10.z.enum(["set_null", "cascade", "restrict"]).optional().default("set_null").describe("What happens if referenced record is deleted"),
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: import_zod10.z.string().optional().describe("Formula expression"),
1102
- summaryOperations: import_zod10.z.object({
1103
- object: import_zod10.z.string(),
1104
- field: import_zod10.z.string(),
1105
- function: import_zod10.z.enum(["count", "sum", "min", "max", "avg"])
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: import_zod10.z.string().optional().describe("Programming language for syntax highlighting (e.g., javascript, python, sql)"),
1110
- theme: import_zod10.z.string().optional().describe("Code editor theme (e.g., dark, light, monokai)"),
1111
- lineNumbers: import_zod10.z.boolean().optional().describe("Show line numbers in code editor"),
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: import_zod10.z.number().optional().describe("Maximum rating value (default: 5)"),
1114
- allowHalf: import_zod10.z.boolean().optional().describe("Allow half-star ratings"),
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: import_zod10.z.boolean().optional().describe("Display map widget for location field"),
1117
- allowGeocoding: import_zod10.z.boolean().optional().describe("Allow address-to-coordinate conversion"),
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: import_zod10.z.enum(["us", "uk", "international"]).optional().describe("Address format template"),
1400
+ addressFormat: import_zod12.z.enum(["us", "uk", "international"]).optional().describe("Address format template"),
1120
1401
  // Color field config
1121
- colorFormat: import_zod10.z.enum(["hex", "rgb", "rgba", "hsl"]).optional().describe("Color value format"),
1122
- allowAlpha: import_zod10.z.boolean().optional().describe("Allow transparency/alpha channel"),
1123
- presetColors: import_zod10.z.array(import_zod10.z.string()).optional().describe("Preset color options"),
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: import_zod10.z.number().optional().describe("Step increment for slider (default: 1)"),
1126
- showValue: import_zod10.z.boolean().optional().describe("Display current value on slider"),
1127
- marks: import_zod10.z.record(import_zod10.z.string(), import_zod10.z.string()).optional().describe('Custom marks/labels at specific values (e.g., {0: "Low", 50: "Medium", 100: "High"})'),
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: import_zod10.z.enum(["qr", "ean13", "ean8", "code128", "code39", "upca", "upce"]).optional().describe("Barcode format type"),
1132
- qrErrorCorrection: import_zod10.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"'),
1133
- displayValue: import_zod10.z.boolean().optional().describe("Display human-readable value below barcode/QR code"),
1134
- allowScanning: import_zod10.z.boolean().optional().describe("Enable camera scanning for barcode/QR code input"),
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: import_zod10.z.boolean().default(false).describe("Enable detailed audit trail for this field (tracks all changes with user and timestamp)"),
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: import_zod10.z.array(import_zod10.z.string()).optional().describe("Array of field names that this field depends on (for formulas, visibility rules, etc.)"),
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: import_zod10.z.boolean().default(false).describe("Hidden from default UI"),
1159
- readonly: import_zod10.z.boolean().default(false).describe("Read-only in UI"),
1160
- sortable: import_zod10.z.boolean().optional().default(true).describe("Whether field is sortable in list views"),
1161
- inlineHelpText: import_zod10.z.string().optional().describe("Help text displayed below the field in forms"),
1162
- trackFeedHistory: import_zod10.z.boolean().optional().describe("Track field changes in Chatter/activity feed (Salesforce pattern)"),
1163
- caseSensitive: import_zod10.z.boolean().optional().describe("Whether text comparisons are case-sensitive"),
1164
- autonumberFormat: import_zod10.z.string().optional().describe('Auto-number display format pattern (e.g., "CASE-{0000}")'),
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: import_zod10.z.boolean().default(false).describe("Create standard database index"),
1167
- externalId: import_zod10.z.boolean().default(false).describe("Is external ID for upsert operations")
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 = import_zod11.z.object({
1172
- name: import_zod11.z.string(),
1173
- label: import_zod11.z.string(),
1452
+ var ActionParamSchema = import_zod13.z.object({
1453
+ name: import_zod13.z.string(),
1454
+ label: I18nLabelSchema,
1174
1455
  type: FieldType,
1175
- required: import_zod11.z.boolean().default(false),
1176
- options: import_zod11.z.array(import_zod11.z.object({ label: import_zod11.z.string(), value: import_zod11.z.string() })).optional()
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 = import_zod11.z.object({
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: import_zod11.z.string().describe("Display label"),
1463
+ label: I18nLabelSchema.describe("Display label"),
1183
1464
  /** Icon name (Lucide) */
1184
- icon: import_zod11.z.string().optional().describe("Icon name"),
1465
+ icon: import_zod13.z.string().optional().describe("Icon name"),
1185
1466
  /** Where does this action appear? */
1186
- locations: import_zod11.z.array(import_zod11.z.enum([
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: import_zod11.z.enum([
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: import_zod11.z.unknown().optional().describe("DEPRECATED: Use `locations` field instead. Scheduled for removal in v2.0.0"),
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: import_zod11.z.enum(["script", "url", "modal", "flow", "api"]).default("script").describe("Action functionality type"),
1493
+ type: import_zod13.z.enum(["script", "url", "modal", "flow", "api"]).default("script").describe("Action functionality type"),
1213
1494
  /** Payload / Target */
1214
- target: import_zod11.z.string().optional().describe("URL, Script Name, Flow ID, or API Endpoint"),
1495
+ target: import_zod13.z.string().optional().describe("URL, Script Name, Flow ID, or API Endpoint"),
1215
1496
  // For URL/Flow types
1216
- execute: import_zod11.z.string().optional().describe("Legacy execution logic"),
1497
+ execute: import_zod13.z.string().optional().describe("Legacy execution logic"),
1217
1498
  /** User Input Requirements */
1218
- params: import_zod11.z.array(ActionParamSchema).optional().describe("Input parameters required from user"),
1499
+ params: import_zod13.z.array(ActionParamSchema).optional().describe("Input parameters required from user"),
1219
1500
  /** UX Behavior */
1220
- confirmText: import_zod11.z.string().optional().describe("Confirmation message before execution"),
1221
- successMessage: import_zod11.z.string().optional().describe("Success message to show after execution"),
1222
- refreshAfter: import_zod11.z.boolean().default(false).describe("Refresh view after execution"),
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: import_zod11.z.string().optional().describe("Formula returning boolean"),
1225
- disabled: import_zod11.z.union([import_zod11.z.boolean(), import_zod11.z.string()]).optional().describe("Whether the action is disabled, or a condition expression string"),
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: import_zod11.z.string().optional().describe('Keyboard shortcut to trigger this action (e.g., "Ctrl+S")'),
1508
+ shortcut: import_zod13.z.string().optional().describe('Keyboard shortcut to trigger this action (e.g., "Ctrl+S")'),
1228
1509
  /** Bulk Operations */
1229
- bulkEnabled: import_zod11.z.boolean().optional().describe("Whether this action can be applied to multiple selected records"),
1510
+ bulkEnabled: import_zod13.z.boolean().optional().describe("Whether this action can be applied to multiple selected records"),
1230
1511
  /** Execution */
1231
- timeout: import_zod11.z.number().optional().describe("Maximum execution time in milliseconds for the action")
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 import_zod12 = require("zod");
1239
- var PageRegionSchema = import_zod12.z.object({
1240
- name: import_zod12.z.string().describe('Region name (e.g. "sidebar", "main", "header")'),
1241
- width: import_zod12.z.enum(["small", "medium", "large", "full"]).optional(),
1242
- components: import_zod12.z.array(import_zod12.z.lazy(() => PageComponentSchema)).describe("Components in this region")
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 = import_zod12.z.enum([
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 = import_zod12.z.object({
1555
+ var PageComponentSchema = import_zod14.z.object({
1273
1556
  /** Definition */
1274
- type: import_zod12.z.union([
1557
+ type: import_zod14.z.union([
1275
1558
  PageComponentType,
1276
- import_zod12.z.string()
1559
+ import_zod14.z.string()
1277
1560
  ]).describe("Component Type (Standard enum or custom string)"),
1278
- id: import_zod12.z.string().optional().describe("Unique instance ID"),
1561
+ id: import_zod14.z.string().optional().describe("Unique instance ID"),
1279
1562
  /** Configuration */
1280
- label: import_zod12.z.string().optional(),
1281
- properties: import_zod12.z.record(import_zod12.z.string(), import_zod12.z.unknown()).describe("Component props passed to the widget. See component.zod.ts for schemas."),
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: import_zod12.z.record(import_zod12.z.string(), import_zod12.z.string()).optional().describe("Event handlers map"),
1571
+ events: import_zod14.z.record(import_zod14.z.string(), import_zod14.z.string()).optional().describe("Event handlers map"),
1289
1572
  /** Appearance */
1290
- style: import_zod12.z.record(import_zod12.z.string(), import_zod12.z.string()).optional().describe("Inline styles or utility classes"),
1291
- className: import_zod12.z.string().optional().describe("CSS class names"),
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: import_zod12.z.string().optional().describe("Visibility filter/formula")
1294
- });
1295
- var PageVariableSchema = import_zod12.z.object({
1296
- name: import_zod12.z.string().describe("Variable name"),
1297
- type: import_zod12.z.enum(["string", "number", "boolean", "object", "array"]).default("string"),
1298
- defaultValue: import_zod12.z.unknown().optional()
1299
- });
1300
- var PageSchema = import_zod12.z.object({
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: import_zod12.z.string(),
1303
- description: import_zod12.z.string().optional(),
1589
+ label: I18nLabelSchema,
1590
+ description: I18nLabelSchema.optional(),
1304
1591
  /** Page Type */
1305
- type: import_zod12.z.enum(["record", "home", "app", "utility"]).default("record"),
1592
+ type: import_zod14.z.enum(["record", "home", "app", "utility"]).default("record"),
1306
1593
  /** Page State Definitions */
1307
- variables: import_zod12.z.array(PageVariableSchema).optional().describe("Local page state variables"),
1594
+ variables: import_zod14.z.array(PageVariableSchema).optional().describe("Local page state variables"),
1308
1595
  /** Context */
1309
- object: import_zod12.z.string().optional().describe("Bound object (for Record pages)"),
1596
+ object: import_zod14.z.string().optional().describe("Bound object (for Record pages)"),
1310
1597
  /** Layout Template */
1311
- template: import_zod12.z.string().default("default").describe('Layout template name (e.g. "header-sidebar-main")'),
1598
+ template: import_zod14.z.string().default("default").describe('Layout template name (e.g. "header-sidebar-main")'),
1312
1599
  /** Regions & Content */
1313
- regions: import_zod12.z.array(PageRegionSchema).describe("Defined regions with components"),
1600
+ regions: import_zod14.z.array(PageRegionSchema).describe("Defined regions with components"),
1314
1601
  /** Activation */
1315
- isDefault: import_zod12.z.boolean().default(false),
1316
- assignedProfiles: import_zod12.z.array(import_zod12.z.string()).optional()
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 import_zod13 = require("zod");
1321
- var WidgetLifecycleSchema = import_zod13.z.object({
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: import_zod13.z.string().optional().describe("Initialization code when widget mounts"),
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: import_zod13.z.string().optional().describe("Code to run when props change"),
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: import_zod13.z.string().optional().describe("Cleanup code when widget unmounts"),
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: import_zod13.z.string().optional().describe("Custom validation logic"),
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: import_zod13.z.string().optional().describe("Code to run on focus"),
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: import_zod13.z.string().optional().describe("Code to run on blur"),
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: import_zod13.z.string().optional().describe("Error handling code")
1656
+ onError: import_zod15.z.string().optional().describe("Error handling code")
1368
1657
  });
1369
- var WidgetEventSchema = import_zod13.z.object({
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: import_zod13.z.string().describe("Event name"),
1665
+ name: import_zod15.z.string().describe("Event name"),
1377
1666
  /**
1378
1667
  * Event label for documentation
1379
1668
  */
1380
- label: import_zod13.z.string().optional().describe("Human-readable event label"),
1669
+ label: I18nLabelSchema.optional().describe("Human-readable event label"),
1381
1670
  /**
1382
1671
  * Event description
1383
1672
  */
1384
- description: import_zod13.z.string().optional().describe("Event description and usage"),
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: import_zod13.z.boolean().default(false).describe("Whether event 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: import_zod13.z.boolean().default(false).describe("Whether event is 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: import_zod13.z.record(import_zod13.z.string(), import_zod13.z.unknown()).optional().describe("Event payload schema")
1692
+ payload: import_zod15.z.record(import_zod15.z.string(), import_zod15.z.unknown()).optional().describe("Event payload schema")
1404
1693
  });
1405
- var WidgetPropertySchema = import_zod13.z.object({
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: import_zod13.z.string().describe("Property name (camelCase)"),
1699
+ name: import_zod15.z.string().describe("Property name (camelCase)"),
1411
1700
  /**
1412
1701
  * Property label for UI
1413
1702
  */
1414
- label: import_zod13.z.string().optional().describe("Human-readable 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: import_zod13.z.enum(["string", "number", "boolean", "array", "object", "function", "any"]).describe("TypeScript 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: import_zod13.z.boolean().default(false).describe("Whether property is 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: import_zod13.z.unknown().optional().describe("Default value"),
1719
+ default: import_zod15.z.unknown().optional().describe("Default value"),
1431
1720
  /**
1432
1721
  * Property description
1433
1722
  */
1434
- description: import_zod13.z.string().optional().describe("Property 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: import_zod13.z.record(import_zod13.z.string(), import_zod13.z.unknown()).optional().describe("Validation rules"),
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: import_zod13.z.string().optional().describe("Property category")
1732
+ category: import_zod15.z.string().optional().describe("Property category")
1444
1733
  });
1445
- var WidgetSourceSchema = import_zod13.z.discriminatedUnion("type", [
1734
+ var WidgetSourceSchema = import_zod15.z.discriminatedUnion("type", [
1446
1735
  // NPM Registry (standard)
1447
- import_zod13.z.object({
1448
- type: import_zod13.z.literal("npm"),
1449
- packageName: import_zod13.z.string().describe("NPM package name"),
1450
- version: import_zod13.z.string().default("latest"),
1451
- exportName: import_zod13.z.string().optional().describe("Named export (default: default)")
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
- import_zod13.z.object({
1455
- type: import_zod13.z.literal("remote"),
1456
- url: import_zod13.z.string().url().describe("Remote entry URL (.js)"),
1457
- moduleName: import_zod13.z.string().describe("Exposed module name"),
1458
- scope: import_zod13.z.string().describe("Remote scope name")
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
- import_zod13.z.object({
1462
- type: import_zod13.z.literal("inline"),
1463
- code: import_zod13.z.string().describe("JavaScript code body")
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 = import_zod13.z.object({
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: import_zod13.z.string().describe("Widget display name"),
1763
+ label: I18nLabelSchema.describe("Widget display name"),
1475
1764
  /**
1476
1765
  * Widget description
1477
1766
  */
1478
- description: import_zod13.z.string().optional().describe("Widget description"),
1767
+ description: I18nLabelSchema.optional().describe("Widget description"),
1479
1768
  /**
1480
1769
  * Widget version (semver)
1481
1770
  */
1482
- version: import_zod13.z.string().optional().describe("Widget version (semver)"),
1771
+ version: import_zod15.z.string().optional().describe("Widget version (semver)"),
1483
1772
  /**
1484
1773
  * Widget author/organization
1485
1774
  */
1486
- author: import_zod13.z.string().optional().describe("Widget author"),
1775
+ author: import_zod15.z.string().optional().describe("Widget author"),
1487
1776
  /**
1488
1777
  * Icon name or URL
1489
1778
  */
1490
- icon: import_zod13.z.string().optional().describe("Widget 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: import_zod13.z.array(import_zod13.z.string()).optional().describe("Supported field types"),
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: import_zod13.z.enum(["input", "display", "picker", "editor", "custom"]).default("custom").describe("Widget 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: import_zod13.z.array(WidgetEventSchema).optional().describe("Custom events"),
1797
+ events: import_zod15.z.array(WidgetEventSchema).optional().describe("Custom events"),
1509
1798
  /**
1510
1799
  * Widget configuration properties
1511
1800
  */
1512
- properties: import_zod13.z.array(WidgetPropertySchema).optional().describe("Configuration 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: import_zod13.z.array(import_zod13.z.object({
1523
- name: import_zod13.z.string(),
1524
- version: import_zod13.z.string().optional(),
1525
- url: import_zod13.z.string().url().optional()
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: import_zod13.z.array(import_zod13.z.string().url()).optional().describe("Screenshot URLs"),
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: import_zod13.z.string().url().optional().describe("Documentation URL"),
1823
+ documentation: import_zod15.z.string().url().optional().describe("Documentation URL"),
1535
1824
  /**
1536
1825
  * License information
1537
1826
  */
1538
- license: import_zod13.z.string().optional().describe("License (SPDX identifier)"),
1827
+ license: import_zod15.z.string().optional().describe("License (SPDX identifier)"),
1539
1828
  /**
1540
1829
  * Tags for discovery
1541
1830
  */
1542
- tags: import_zod13.z.array(import_zod13.z.string()).optional().describe("Tags for categorization")
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 = import_zod13.z.object({
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: import_zod13.z.unknown().describe("Current field 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: import_zod13.z.function().input(import_zod13.z.tuple([import_zod13.z.unknown()])).output(import_zod13.z.void()).describe("Callback to update field value"),
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: import_zod13.z.boolean().default(false).describe("Read-only mode flag"),
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: import_zod13.z.boolean().default(false).describe("Required field flag"),
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: import_zod13.z.string().optional().describe("Validation error message"),
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: import_zod13.z.record(import_zod13.z.string(), import_zod13.z.unknown()).optional().describe("Complete record data"),
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: import_zod13.z.record(import_zod13.z.string(), import_zod13.z.unknown()).optional().describe("Custom widget 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 import_zod14 = require("zod");
1591
- var EmptyProps = import_zod14.z.object({});
1592
- var PageHeaderProps = import_zod14.z.object({
1593
- title: import_zod14.z.string().describe("Page title"),
1594
- subtitle: import_zod14.z.string().optional().describe("Page subtitle"),
1595
- icon: import_zod14.z.string().optional().describe("Icon name"),
1596
- breadcrumb: import_zod14.z.boolean().default(true).describe("Show breadcrumb"),
1597
- actions: import_zod14.z.array(import_zod14.z.string()).optional().describe("Action IDs to show in header")
1598
- });
1599
- var PageTabsProps = import_zod14.z.object({
1600
- type: import_zod14.z.enum(["line", "card", "pill"]).default("line"),
1601
- position: import_zod14.z.enum(["top", "left"]).default("top"),
1602
- items: import_zod14.z.array(import_zod14.z.object({
1603
- label: import_zod14.z.string(),
1604
- icon: import_zod14.z.string().optional(),
1605
- children: import_zod14.z.array(import_zod14.z.unknown()).describe("Child components")
1606
- }))
1607
- });
1608
- var PageCardProps = import_zod14.z.object({
1609
- title: import_zod14.z.string().optional(),
1610
- bordered: import_zod14.z.boolean().default(true),
1611
- actions: import_zod14.z.array(import_zod14.z.string()).optional(),
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: import_zod14.z.array(import_zod14.z.unknown()).optional().describe("Card content components (slot)"),
1910
+ body: import_zod16.z.array(import_zod16.z.unknown()).optional().describe("Card content components (slot)"),
1614
1911
  /** Slot for footer content */
1615
- footer: import_zod14.z.array(import_zod14.z.unknown()).optional().describe("Card footer components (slot)")
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 = import_zod14.z.object({
1618
- columns: import_zod14.z.enum(["1", "2", "3", "4"]).default("2"),
1619
- layout: import_zod14.z.enum(["auto", "custom"]).default("auto"),
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: import_zod14.z.array(import_zod14.z.string()).optional().describe("Section IDs to show")
1920
+ sections: import_zod16.z.array(import_zod16.z.string()).optional().describe("Section IDs to show")
1622
1921
  });
1623
- var RecordRelatedListProps = import_zod14.z.object({
1624
- objectName: import_zod14.z.string().describe("Related object name"),
1625
- relationshipField: import_zod14.z.string().describe("Field on related object that points to this record"),
1626
- columns: import_zod14.z.array(import_zod14.z.string()).describe("Fields to display"),
1627
- sort: import_zod14.z.string().optional(),
1628
- limit: import_zod14.z.number().default(5)
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 = import_zod14.z.object({
1631
- fields: import_zod14.z.array(import_zod14.z.string()).min(1).max(7).describe("Key fields to highlights (max 7)")
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": import_zod14.z.object({ mode: import_zod14.z.enum(["float", "sidebar", "inline"]).default("float") }),
1659
- "ai:suggestion": import_zod14.z.object({ context: import_zod14.z.string().optional() })
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 import_zod15 = require("zod");
1664
- var ColorPaletteSchema = import_zod15.z.object({
1665
- primary: import_zod15.z.string().describe("Primary brand color (hex, rgb, or hsl)"),
1666
- secondary: import_zod15.z.string().optional().describe("Secondary brand color"),
1667
- accent: import_zod15.z.string().optional().describe("Accent color for highlights"),
1668
- success: import_zod15.z.string().optional().describe("Success state color (default: green)"),
1669
- warning: import_zod15.z.string().optional().describe("Warning state color (default: yellow)"),
1670
- error: import_zod15.z.string().optional().describe("Error state color (default: red)"),
1671
- info: import_zod15.z.string().optional().describe("Info state color (default: blue)"),
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: import_zod15.z.string().optional().describe("Background color"),
1674
- surface: import_zod15.z.string().optional().describe("Surface/card background color"),
1675
- text: import_zod15.z.string().optional().describe("Primary text color"),
1676
- textSecondary: import_zod15.z.string().optional().describe("Secondary text color"),
1677
- border: import_zod15.z.string().optional().describe("Border color"),
1678
- disabled: import_zod15.z.string().optional().describe("Disabled state color"),
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: import_zod15.z.string().optional().describe("Lighter shade of primary"),
1681
- primaryDark: import_zod15.z.string().optional().describe("Darker shade of primary"),
1682
- secondaryLight: import_zod15.z.string().optional().describe("Lighter shade of secondary"),
1683
- secondaryDark: import_zod15.z.string().optional().describe("Darker shade of secondary")
1684
- });
1685
- var TypographySchema = import_zod15.z.object({
1686
- fontFamily: import_zod15.z.object({
1687
- base: import_zod15.z.string().optional().describe("Base font family (default: system fonts)"),
1688
- heading: import_zod15.z.string().optional().describe("Heading font family"),
1689
- mono: import_zod15.z.string().optional().describe("Monospace font family for code")
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: import_zod15.z.object({
1692
- xs: import_zod15.z.string().optional().describe("Extra small font size (e.g., 0.75rem)"),
1693
- sm: import_zod15.z.string().optional().describe("Small font size (e.g., 0.875rem)"),
1694
- base: import_zod15.z.string().optional().describe("Base font size (e.g., 1rem)"),
1695
- lg: import_zod15.z.string().optional().describe("Large font size (e.g., 1.125rem)"),
1696
- xl: import_zod15.z.string().optional().describe("Extra large font size (e.g., 1.25rem)"),
1697
- "2xl": import_zod15.z.string().optional().describe("2X large font size (e.g., 1.5rem)"),
1698
- "3xl": import_zod15.z.string().optional().describe("3X large font size (e.g., 1.875rem)"),
1699
- "4xl": import_zod15.z.string().optional().describe("4X large font size (e.g., 2.25rem)")
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: import_zod15.z.object({
1702
- light: import_zod15.z.number().optional().describe("Light weight (default: 300)"),
1703
- normal: import_zod15.z.number().optional().describe("Normal weight (default: 400)"),
1704
- medium: import_zod15.z.number().optional().describe("Medium weight (default: 500)"),
1705
- semibold: import_zod15.z.number().optional().describe("Semibold weight (default: 600)"),
1706
- bold: import_zod15.z.number().optional().describe("Bold weight (default: 700)")
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: import_zod15.z.object({
1709
- tight: import_zod15.z.string().optional().describe("Tight line height (e.g., 1.25)"),
1710
- normal: import_zod15.z.string().optional().describe("Normal line height (e.g., 1.5)"),
1711
- relaxed: import_zod15.z.string().optional().describe("Relaxed line height (e.g., 1.75)"),
1712
- loose: import_zod15.z.string().optional().describe("Loose line height (e.g., 2)")
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: import_zod15.z.object({
1715
- tighter: import_zod15.z.string().optional().describe("Tighter letter spacing (e.g., -0.05em)"),
1716
- tight: import_zod15.z.string().optional().describe("Tight letter spacing (e.g., -0.025em)"),
1717
- normal: import_zod15.z.string().optional().describe("Normal letter spacing (e.g., 0)"),
1718
- wide: import_zod15.z.string().optional().describe("Wide letter spacing (e.g., 0.025em)"),
1719
- wider: import_zod15.z.string().optional().describe("Wider letter spacing (e.g., 0.05em)")
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 = import_zod15.z.object({
1723
- "0": import_zod15.z.string().optional().describe("0 spacing (0)"),
1724
- "1": import_zod15.z.string().optional().describe("Spacing unit 1 (e.g., 0.25rem)"),
1725
- "2": import_zod15.z.string().optional().describe("Spacing unit 2 (e.g., 0.5rem)"),
1726
- "3": import_zod15.z.string().optional().describe("Spacing unit 3 (e.g., 0.75rem)"),
1727
- "4": import_zod15.z.string().optional().describe("Spacing unit 4 (e.g., 1rem)"),
1728
- "5": import_zod15.z.string().optional().describe("Spacing unit 5 (e.g., 1.25rem)"),
1729
- "6": import_zod15.z.string().optional().describe("Spacing unit 6 (e.g., 1.5rem)"),
1730
- "8": import_zod15.z.string().optional().describe("Spacing unit 8 (e.g., 2rem)"),
1731
- "10": import_zod15.z.string().optional().describe("Spacing unit 10 (e.g., 2.5rem)"),
1732
- "12": import_zod15.z.string().optional().describe("Spacing unit 12 (e.g., 3rem)"),
1733
- "16": import_zod15.z.string().optional().describe("Spacing unit 16 (e.g., 4rem)"),
1734
- "20": import_zod15.z.string().optional().describe("Spacing unit 20 (e.g., 5rem)"),
1735
- "24": import_zod15.z.string().optional().describe("Spacing unit 24 (e.g., 6rem)")
1736
- });
1737
- var BorderRadiusSchema = import_zod15.z.object({
1738
- none: import_zod15.z.string().optional().describe("No border radius (0)"),
1739
- sm: import_zod15.z.string().optional().describe("Small border radius (e.g., 0.125rem)"),
1740
- base: import_zod15.z.string().optional().describe("Base border radius (e.g., 0.25rem)"),
1741
- md: import_zod15.z.string().optional().describe("Medium border radius (e.g., 0.375rem)"),
1742
- lg: import_zod15.z.string().optional().describe("Large border radius (e.g., 0.5rem)"),
1743
- xl: import_zod15.z.string().optional().describe("Extra large border radius (e.g., 0.75rem)"),
1744
- "2xl": import_zod15.z.string().optional().describe("2X large border radius (e.g., 1rem)"),
1745
- full: import_zod15.z.string().optional().describe("Full border radius (50%)")
1746
- });
1747
- var ShadowSchema = import_zod15.z.object({
1748
- none: import_zod15.z.string().optional().describe("No shadow"),
1749
- sm: import_zod15.z.string().optional().describe("Small shadow"),
1750
- base: import_zod15.z.string().optional().describe("Base shadow"),
1751
- md: import_zod15.z.string().optional().describe("Medium shadow"),
1752
- lg: import_zod15.z.string().optional().describe("Large shadow"),
1753
- xl: import_zod15.z.string().optional().describe("Extra large shadow"),
1754
- "2xl": import_zod15.z.string().optional().describe("2X large shadow"),
1755
- inner: import_zod15.z.string().optional().describe("Inner shadow (inset)")
1756
- });
1757
- var BreakpointsSchema = import_zod15.z.object({
1758
- xs: import_zod15.z.string().optional().describe("Extra small breakpoint (e.g., 480px)"),
1759
- sm: import_zod15.z.string().optional().describe("Small breakpoint (e.g., 640px)"),
1760
- md: import_zod15.z.string().optional().describe("Medium breakpoint (e.g., 768px)"),
1761
- lg: import_zod15.z.string().optional().describe("Large breakpoint (e.g., 1024px)"),
1762
- xl: import_zod15.z.string().optional().describe("Extra large breakpoint (e.g., 1280px)"),
1763
- "2xl": import_zod15.z.string().optional().describe("2X large breakpoint (e.g., 1536px)")
1764
- });
1765
- var AnimationSchema = import_zod15.z.object({
1766
- duration: import_zod15.z.object({
1767
- fast: import_zod15.z.string().optional().describe("Fast animation (e.g., 150ms)"),
1768
- base: import_zod15.z.string().optional().describe("Base animation (e.g., 300ms)"),
1769
- slow: import_zod15.z.string().optional().describe("Slow animation (e.g., 500ms)")
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: import_zod15.z.object({
1772
- linear: import_zod15.z.string().optional().describe("Linear timing function"),
1773
- ease: import_zod15.z.string().optional().describe("Ease timing function"),
1774
- easeIn: import_zod15.z.string().optional().describe("Ease-in timing function"),
1775
- easeOut: import_zod15.z.string().optional().describe("Ease-out timing function"),
1776
- easeInOut: import_zod15.z.string().optional().describe("Ease-in-out timing function")
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 = import_zod15.z.object({
1780
- base: import_zod15.z.number().optional().describe("Base z-index (e.g., 0)"),
1781
- dropdown: import_zod15.z.number().optional().describe("Dropdown z-index (e.g., 1000)"),
1782
- sticky: import_zod15.z.number().optional().describe("Sticky z-index (e.g., 1020)"),
1783
- fixed: import_zod15.z.number().optional().describe("Fixed z-index (e.g., 1030)"),
1784
- modalBackdrop: import_zod15.z.number().optional().describe("Modal backdrop z-index (e.g., 1040)"),
1785
- modal: import_zod15.z.number().optional().describe("Modal z-index (e.g., 1050)"),
1786
- popover: import_zod15.z.number().optional().describe("Popover z-index (e.g., 1060)"),
1787
- tooltip: import_zod15.z.number().optional().describe("Tooltip z-index (e.g., 1070)")
1788
- });
1789
- var ThemeMode = import_zod15.z.enum(["light", "dark", "auto"]);
1790
- var ThemeSchema = import_zod15.z.object({
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: import_zod15.z.string().describe("Human-readable theme name"),
1793
- description: import_zod15.z.string().optional().describe("Theme 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: import_zod15.z.record(import_zod15.z.string(), import_zod15.z.string()).optional().describe("Custom CSS variables (key-value pairs)"),
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: import_zod15.z.object({
1816
- light: import_zod15.z.string().optional().describe("Logo URL for light mode"),
1817
- dark: import_zod15.z.string().optional().describe("Logo URL for dark mode"),
1818
- favicon: import_zod15.z.string().optional().describe("Favicon URL")
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: import_zod15.z.string().optional().describe("Base theme to extend from")
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,