@object-ui/types 3.0.3 → 3.1.1

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 (85) hide show
  1. package/dist/app.d.ts +217 -0
  2. package/dist/app.d.ts.map +1 -1
  3. package/dist/app.js +85 -1
  4. package/dist/complex.d.ts +128 -0
  5. package/dist/complex.d.ts.map +1 -1
  6. package/dist/data-display.d.ts +105 -1
  7. package/dist/data-display.d.ts.map +1 -1
  8. package/dist/data.d.ts +45 -0
  9. package/dist/data.d.ts.map +1 -1
  10. package/dist/designer.d.ts +197 -35
  11. package/dist/designer.d.ts.map +1 -1
  12. package/dist/designer.js +11 -1
  13. package/dist/index.d.ts +21 -10
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +2 -0
  16. package/dist/layout.d.ts +39 -2
  17. package/dist/layout.d.ts.map +1 -1
  18. package/dist/navigation.d.ts +27 -0
  19. package/dist/navigation.d.ts.map +1 -1
  20. package/dist/objectql.d.ts +641 -7
  21. package/dist/objectql.d.ts.map +1 -1
  22. package/dist/record-components.d.ts +160 -0
  23. package/dist/record-components.d.ts.map +1 -0
  24. package/dist/record-components.js +8 -0
  25. package/dist/reports.d.ts +37 -0
  26. package/dist/reports.d.ts.map +1 -1
  27. package/dist/theme.d.ts +5 -0
  28. package/dist/theme.d.ts.map +1 -1
  29. package/dist/views.d.ts +324 -4
  30. package/dist/views.d.ts.map +1 -1
  31. package/dist/workflow.d.ts +198 -0
  32. package/dist/workflow.d.ts.map +1 -1
  33. package/dist/zod/app.zod.d.ts +42 -2
  34. package/dist/zod/app.zod.d.ts.map +1 -1
  35. package/dist/zod/app.zod.js +61 -1
  36. package/dist/zod/complex.zod.d.ts +122 -0
  37. package/dist/zod/complex.zod.d.ts.map +1 -1
  38. package/dist/zod/complex.zod.js +57 -0
  39. package/dist/zod/data-display.zod.d.ts +4 -0
  40. package/dist/zod/data-display.zod.d.ts.map +1 -1
  41. package/dist/zod/data-display.zod.js +2 -0
  42. package/dist/zod/form.zod.d.ts +6 -6
  43. package/dist/zod/index.zod.d.ts +365 -41
  44. package/dist/zod/index.zod.d.ts.map +1 -1
  45. package/dist/zod/index.zod.js +2 -2
  46. package/dist/zod/layout.zod.d.ts +6 -6
  47. package/dist/zod/navigation.zod.d.ts +58 -12
  48. package/dist/zod/navigation.zod.d.ts.map +1 -1
  49. package/dist/zod/navigation.zod.js +21 -9
  50. package/dist/zod/objectql.zod.d.ts +515 -27
  51. package/dist/zod/objectql.zod.d.ts.map +1 -1
  52. package/dist/zod/objectql.zod.js +162 -0
  53. package/dist/zod/reports.zod.d.ts +38 -38
  54. package/dist/zod/views.zod.d.ts +163 -7
  55. package/dist/zod/views.zod.d.ts.map +1 -1
  56. package/dist/zod/views.zod.js +22 -3
  57. package/package.json +2 -2
  58. package/src/__tests__/app-creation-types.test.ts +177 -0
  59. package/src/__tests__/dashboard-config.test.ts +208 -0
  60. package/src/__tests__/examples-metadata-compliance.test.ts +264 -0
  61. package/src/__tests__/navigation-model.test.ts +406 -0
  62. package/src/__tests__/p1-spec-alignment.test.ts +660 -0
  63. package/src/__tests__/p2-spec-exports.test.ts +312 -0
  64. package/src/__tests__/phase2-schemas.test.ts +108 -0
  65. package/src/app.ts +377 -0
  66. package/src/complex.ts +130 -0
  67. package/src/data-display.ts +107 -0
  68. package/src/data.ts +49 -0
  69. package/src/designer.ts +219 -30
  70. package/src/index.ts +194 -3
  71. package/src/layout.ts +55 -2
  72. package/src/navigation.ts +20 -0
  73. package/src/objectql.ts +757 -8
  74. package/src/record-components.ts +188 -0
  75. package/src/reports.ts +43 -0
  76. package/src/theme.ts +6 -0
  77. package/src/views.ts +344 -4
  78. package/src/workflow.ts +226 -0
  79. package/src/zod/app.zod.ts +74 -1
  80. package/src/zod/complex.zod.ts +59 -0
  81. package/src/zod/data-display.zod.ts +2 -0
  82. package/src/zod/index.zod.ts +5 -0
  83. package/src/zod/navigation.zod.ts +22 -10
  84. package/src/zod/objectql.zod.ts +167 -0
  85. package/src/zod/views.zod.ts +22 -3
package/src/index.ts CHANGED
@@ -53,8 +53,18 @@
53
53
  export type {
54
54
  AppSchema,
55
55
  AppAction,
56
- MenuItem as AppMenuItem
56
+ NavigationItem,
57
+ NavigationItemType,
58
+ NavigationArea,
59
+ MenuItem as AppMenuItem,
60
+ AppWizardStepId,
61
+ AppWizardStep,
62
+ BrandingConfig,
63
+ ObjectSelection,
64
+ AppWizardDraft,
65
+ EditorMode,
57
66
  } from './app';
67
+ export { menuItemToNavigationItem, isValidAppName, wizardDraftToAppSchema } from './app';
58
68
 
59
69
  // ============================================================================
60
70
  // Base Types - The Foundation
@@ -147,6 +157,8 @@ export type {
147
157
  ChartType,
148
158
  ChartSeries,
149
159
  ChartSchema,
160
+ PivotAggregation,
161
+ PivotTableSchema,
150
162
  TimelineEvent,
151
163
  TimelineSchema,
152
164
  KbdSchema,
@@ -254,6 +266,8 @@ export type {
254
266
  ValidationError,
255
267
  APIError,
256
268
  FileUploadResult,
269
+ AggregateParams,
270
+ AggregateResult,
257
271
  } from './data';
258
272
 
259
273
  // ============================================================================
@@ -285,12 +299,23 @@ export type {
285
299
  KanbanConfig,
286
300
  CalendarConfig,
287
301
  GanttConfig,
302
+ ListViewGalleryConfig,
303
+ ListViewTimelineConfig,
288
304
  SortConfig,
305
+ // QuickFilter dual-format types
306
+ ObjectUIQuickFilterItem,
307
+ SpecQuickFilterItem,
308
+ QuickFilterItem,
309
+ // ConditionalFormatting dual-format types
310
+ ObjectUIConditionalFormattingRule,
311
+ SpecConditionalFormattingRule,
312
+ ConditionalFormattingRule,
289
313
  // Component schemas
290
314
  ObjectMapSchema,
291
315
  ObjectGanttSchema,
292
316
  ObjectCalendarSchema,
293
317
  ObjectKanbanSchema,
318
+ KanbanConditionalFormattingRule,
294
319
  ObjectChartSchema,
295
320
  ListViewSchema,
296
321
  ObjectGridSchema,
@@ -299,9 +324,23 @@ export type {
299
324
  ObjectViewSchema,
300
325
  NamedListView,
301
326
  ViewNavigationConfig,
327
+ ViewTabBarConfig,
302
328
  ObjectQLComponentSchema,
303
329
  } from './objectql';
304
330
 
331
+ // ============================================================================
332
+ // Record Components - Spec-aligned record:* page component props
333
+ // ============================================================================
334
+ export type {
335
+ RecordComponentAriaProps,
336
+ RecordDetailsComponentProps,
337
+ RecordHighlightsComponentProps,
338
+ RecordRelatedListComponentProps,
339
+ RecordActivityComponentProps,
340
+ RecordChatterComponentProps,
341
+ RecordPathComponentProps,
342
+ } from './record-components';
343
+
305
344
  // ============================================================================
306
345
  // Field Types - ObjectQL Field Type System
307
346
  // ============================================================================
@@ -519,8 +558,18 @@ export type {
519
558
  CollaborationPresence,
520
559
  CollaborationOperation,
521
560
  CollaborationConfig,
522
- ViewDesignerColumn,
523
- ViewDesignerSchema,
561
+ ViewColumnConfig,
562
+ UnifiedViewType,
563
+ UnifiedViewConfig,
564
+ DashboardColorVariant,
565
+ DashboardWidgetType,
566
+ DashboardWidgetConfig,
567
+ DashboardConfig,
568
+ } from './designer';
569
+
570
+ export {
571
+ DASHBOARD_COLOR_VARIANTS,
572
+ DASHBOARD_WIDGET_TYPES,
524
573
  } from './designer';
525
574
 
526
575
  // ============================================================================
@@ -583,6 +632,7 @@ export type {
583
632
  export type {
584
633
  // Report System
585
634
  ReportSchema,
635
+ ReportType,
586
636
  ReportExportFormat,
587
637
  ReportScheduleFrequency,
588
638
  ReportAggregationType,
@@ -611,6 +661,20 @@ export type {
611
661
  ApprovalHistoryItem,
612
662
  ApprovalProcessSchema,
613
663
  WorkflowInstanceSchema,
664
+ // Flow Designer (spec v3.0.9)
665
+ FlowNodeType,
666
+ FlowWaitEventType,
667
+ FlowNodeExecutionStatus,
668
+ FlowNodeExecutorDescriptor,
669
+ FlowBoundaryConfig,
670
+ FlowNode,
671
+ FlowEdgeType,
672
+ FlowEdge,
673
+ FlowVersionEntry,
674
+ FlowConcurrencyPolicy,
675
+ FlowBpmnInteropResult,
676
+ FlowExecutionStep,
677
+ FlowDesignerSchema,
614
678
  } from './workflow';
615
679
 
616
680
  export type {
@@ -647,10 +711,23 @@ export type {
647
711
  DetailViewField,
648
712
  DetailViewSection,
649
713
  DetailViewTab,
714
+ SectionGroup,
715
+ HighlightField,
650
716
  ViewSwitcherSchema,
651
717
  FilterUISchema,
652
718
  SortUISchema,
653
719
  ViewComponentSchema,
720
+ CommentEntry,
721
+ MentionNotification,
722
+ CommentSearchResult,
723
+ ActivityEntry,
724
+ // Feed / Chatter Protocol Types
725
+ FeedItemType,
726
+ FeedItem,
727
+ FieldChangeEntry,
728
+ Mention,
729
+ Reaction,
730
+ RecordSubscription,
654
731
  } from './views';
655
732
 
656
733
  export type {
@@ -962,10 +1039,123 @@ export type {
962
1039
  RowHeight,
963
1040
  RowHeightSchema,
964
1041
  DensityMode,
1042
+ DensityModeSchema,
1043
+ TimelineConfig,
1044
+ TimelineConfigSchema,
1045
+ NavigationConfig,
1046
+ NavigationConfigSchema,
965
1047
  ViewSharing,
966
1048
  ViewSharingSchema,
967
1049
  } from '@objectstack/spec/ui';
968
1050
 
1051
+ // ============================================================================
1052
+ // v3.0.8 Spec UI Types — Dashboard (P1.3)
1053
+ // ============================================================================
1054
+ export type {
1055
+ Dashboard as SpecDashboard,
1056
+ DashboardSchema as SpecDashboardSchema,
1057
+ DashboardWidget as SpecDashboardWidget,
1058
+ DashboardWidgetSchema as SpecDashboardWidgetSchema,
1059
+ DashboardHeader as SpecDashboardHeader,
1060
+ DashboardHeaderSchema as SpecDashboardHeaderSchema,
1061
+ DashboardHeaderAction as SpecDashboardHeaderAction,
1062
+ DashboardHeaderActionSchema as SpecDashboardHeaderActionSchema,
1063
+ GlobalFilter as SpecGlobalFilter,
1064
+ GlobalFilterSchema as SpecGlobalFilterSchema,
1065
+ GlobalFilterOptionsFrom,
1066
+ GlobalFilterOptionsFromSchema,
1067
+ WidgetMeasure,
1068
+ WidgetMeasureSchema,
1069
+ WidgetColorVariant,
1070
+ WidgetColorVariantSchema,
1071
+ } from '@objectstack/spec/ui';
1072
+
1073
+ // ============================================================================
1074
+ // v3.0.8 Spec UI Types — Sharing & Embedding (P2.3)
1075
+ // ============================================================================
1076
+ export type {
1077
+ SharingConfig,
1078
+ SharingConfigSchema,
1079
+ EmbedConfig,
1080
+ EmbedConfigSchema,
1081
+ } from '@objectstack/spec/ui';
1082
+
1083
+ // ============================================================================
1084
+ // v3.0.8 Spec UI Types — View Configuration (P2.4)
1085
+ // ============================================================================
1086
+ export type {
1087
+ AddRecordConfig,
1088
+ AddRecordConfigSchema,
1089
+ AppearanceConfig,
1090
+ AppearanceConfigSchema,
1091
+ UserActionsConfig,
1092
+ UserActionsConfigSchema,
1093
+ ViewTab,
1094
+ ViewTabSchema,
1095
+ } from '@objectstack/spec/ui';
1096
+
1097
+ // ============================================================================
1098
+ // v3.0.10 Spec UI Types — View Filter Rules
1099
+ // ============================================================================
1100
+ export type {
1101
+ ViewFilterRule,
1102
+ ViewFilterRuleSchema,
1103
+ } from '@objectstack/spec/ui';
1104
+
1105
+ // ============================================================================
1106
+ // v3.0.8 Spec UI Types — Form View (P1.2)
1107
+ // ============================================================================
1108
+ export type {
1109
+ FormView as SpecFormView,
1110
+ FormViewSchema as SpecFormViewSchema,
1111
+ FormSection as SpecFormSection,
1112
+ FormSectionSchema as SpecFormSectionSchema,
1113
+ FormField as SpecFormField,
1114
+ FormFieldSchema as SpecFormFieldSchema,
1115
+ } from '@objectstack/spec/ui';
1116
+
1117
+ // ============================================================================
1118
+ // v3.0.8 Spec UI Types — ListView (P1.1)
1119
+ // ============================================================================
1120
+ export type {
1121
+ ListView as SpecListView,
1122
+ ListViewSchema as SpecListViewSchema,
1123
+ ListColumn as SpecListColumn,
1124
+ ListColumnSchema as SpecListColumnSchema,
1125
+ } from '@objectstack/spec/ui';
1126
+
1127
+ // ============================================================================
1128
+ // v3.0.8 Spec UI Types — Record Components (P1.5)
1129
+ // ============================================================================
1130
+ export type {
1131
+ RecordDetailsProps as SpecRecordDetailsProps,
1132
+ RecordHighlightsProps as SpecRecordHighlightsProps,
1133
+ RecordRelatedListProps as SpecRecordRelatedListProps,
1134
+ RecordActivityProps as SpecRecordActivityProps,
1135
+ RecordChatterProps as SpecRecordChatterProps,
1136
+ RecordPathProps as SpecRecordPathProps,
1137
+ } from '@objectstack/spec/ui';
1138
+
1139
+ // ============================================================================
1140
+ // v3.0.8 Spec UI Types — Page (P1.4)
1141
+ // ============================================================================
1142
+ export type {
1143
+ Page as SpecPage,
1144
+ PageSchema as SpecPageSchema,
1145
+ PageComponent as SpecPageComponent,
1146
+ PageComponentSchema as SpecPageComponentSchema,
1147
+ PageRegion as SpecPageRegion,
1148
+ PageRegionSchema as SpecPageRegionSchema,
1149
+ PageType as SpecPageType,
1150
+ PageTypeSchema as SpecPageTypeSchema,
1151
+ PageVariable as SpecPageVariable,
1152
+ PageVariableSchema as SpecPageVariableSchema,
1153
+ BlankPageLayout,
1154
+ BlankPageLayoutSchema,
1155
+ BlankPageLayoutItem,
1156
+ BlankPageLayoutItemSchema,
1157
+ } from '@objectstack/spec/ui';
1158
+
969
1159
  // ============================================================================
970
1160
  // v2.0.7 Spec UI Types — Performance & Page Transitions
971
1161
  // ============================================================================
@@ -984,6 +1174,7 @@ export type {
984
1174
  AriaProps,
985
1175
  AriaPropsSchema,
986
1176
  WcagContrastLevel,
1177
+ WcagContrastLevelSchema,
987
1178
  } from '@objectstack/spec/ui';
988
1179
 
989
1180
  // ============================================================================
package/src/layout.ts CHANGED
@@ -429,7 +429,23 @@ export interface AspectRatioSchema extends BaseSchema {
429
429
  * Determines page behavior and default layout template.
430
430
  * Aligned with @objectstack/spec Page.type
431
431
  */
432
- export type PageType = 'record' | 'home' | 'app' | 'utility';
432
+ export type PageType =
433
+ | 'record'
434
+ | 'home'
435
+ | 'app'
436
+ | 'utility'
437
+ | 'dashboard'
438
+ | 'grid'
439
+ | 'list'
440
+ | 'gallery'
441
+ | 'kanban'
442
+ | 'calendar'
443
+ | 'timeline'
444
+ | 'form'
445
+ | 'record_detail'
446
+ | 'record_review'
447
+ | 'overview'
448
+ | 'blank';
433
449
 
434
450
  /**
435
451
  * Page Variable
@@ -440,9 +456,11 @@ export interface PageVariable {
440
456
  /** Variable name */
441
457
  name: string;
442
458
  /** Variable type @default 'string' */
443
- type?: 'string' | 'number' | 'boolean' | 'object' | 'array';
459
+ type?: 'string' | 'number' | 'boolean' | 'object' | 'array' | 'record_id';
444
460
  /** Default value for initialization */
445
461
  defaultValue?: any;
462
+ /** Variable data source (e.g. URL param, context, expression) */
463
+ source?: string;
446
464
  }
447
465
 
448
466
  /**
@@ -522,6 +540,32 @@ export interface PageSchema extends BaseSchema {
522
540
  * (Aligned with @objectstack/spec Page.regions)
523
541
  */
524
542
  regions?: PageRegion[];
543
+ /**
544
+ * Blank page grid layout
545
+ * Used when pageType is 'blank' for free-form grid canvas.
546
+ * Aligned with @objectstack/spec BlankPageLayoutSchema.
547
+ */
548
+ blankLayout?: {
549
+ /** Number of grid columns */
550
+ columns?: number;
551
+ /** Row height in pixels */
552
+ rowHeight?: number;
553
+ /** Gap between grid items in pixels */
554
+ gap?: number;
555
+ /** Items placed on the grid */
556
+ items?: Array<{
557
+ /** Component ID reference */
558
+ componentId: string;
559
+ /** Grid column position */
560
+ x: number;
561
+ /** Grid row position */
562
+ y: number;
563
+ /** Width in grid columns */
564
+ width: number;
565
+ /** Height in grid rows */
566
+ height: number;
567
+ }>;
568
+ };
525
569
  /**
526
570
  * Main content array (Legacy/Simple mode)
527
571
  */
@@ -539,6 +583,15 @@ export interface PageSchema extends BaseSchema {
539
583
  * Profiles that can access this page
540
584
  */
541
585
  assignedProfiles?: string[];
586
+ /**
587
+ * ARIA accessibility attributes.
588
+ * Aligned with @objectstack/spec AriaPropsSchema.
589
+ */
590
+ aria?: {
591
+ ariaLabel?: string;
592
+ ariaDescribedBy?: string;
593
+ role?: string;
594
+ };
542
595
  }
543
596
 
544
597
  /**
package/src/navigation.ts CHANGED
@@ -68,6 +68,22 @@ export interface HeaderBarSchema extends BaseSchema {
68
68
  * Navigation links
69
69
  */
70
70
  nav?: NavLink[];
71
+ /**
72
+ * Breadcrumb items
73
+ */
74
+ crumbs?: BreadcrumbItem[];
75
+ /**
76
+ * Search configuration
77
+ */
78
+ search?: { enabled: boolean; placeholder?: string; shortcut?: string };
79
+ /**
80
+ * Right-side action slots
81
+ */
82
+ actions?: SchemaNode[];
83
+ /**
84
+ * Custom right content area
85
+ */
86
+ rightContent?: SchemaNode;
71
87
  /**
72
88
  * Left side content
73
89
  */
@@ -177,6 +193,10 @@ export interface BreadcrumbItem {
177
193
  * Click handler (if not using href)
178
194
  */
179
195
  onClick?: () => void;
196
+ /**
197
+ * Sibling items for dropdown navigation (e.g., quick-switch between objects)
198
+ */
199
+ siblings?: Array<{ label: string; href: string }>;
180
200
  }
181
201
 
182
202
  /**