@cohesivesystems/presentation-react-shadcn 0.1.0-alpha.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 (262) hide show
  1. package/LICENSE +55 -0
  2. package/dist/document-workspace-surface-slot-renderers.d.ts +58 -0
  3. package/dist/document-workspace-surface-slot-renderers.d.ts.map +1 -0
  4. package/dist/document-workspace-surface-slot-renderers.js +206 -0
  5. package/dist/document-workspace-surface-slot-renderers.js.map +1 -0
  6. package/dist/index.d.ts +53 -0
  7. package/dist/index.d.ts.map +1 -0
  8. package/dist/index.js +53 -0
  9. package/dist/index.js.map +1 -0
  10. package/dist/navigation-shell-frame-renderer-registry.d.ts +8 -0
  11. package/dist/navigation-shell-frame-renderer-registry.d.ts.map +1 -0
  12. package/dist/navigation-shell-frame-renderer-registry.js +2 -0
  13. package/dist/navigation-shell-frame-renderer-registry.js.map +1 -0
  14. package/dist/navigation-shell-slot-renderer-registry.d.ts +9 -0
  15. package/dist/navigation-shell-slot-renderer-registry.d.ts.map +1 -0
  16. package/dist/navigation-shell-slot-renderer-registry.js +2 -0
  17. package/dist/navigation-shell-slot-renderer-registry.js.map +1 -0
  18. package/dist/page-host-unavailable-renderer.d.ts +10 -0
  19. package/dist/page-host-unavailable-renderer.d.ts.map +1 -0
  20. package/dist/page-host-unavailable-renderer.js +27 -0
  21. package/dist/page-host-unavailable-renderer.js.map +1 -0
  22. package/dist/presentation-action-group.d.ts +99 -0
  23. package/dist/presentation-action-group.d.ts.map +1 -0
  24. package/dist/presentation-action-group.js +214 -0
  25. package/dist/presentation-action-group.js.map +1 -0
  26. package/dist/presentation-badge-target-interpreter.d.ts +26 -0
  27. package/dist/presentation-badge-target-interpreter.d.ts.map +1 -0
  28. package/dist/presentation-badge-target-interpreter.js +17 -0
  29. package/dist/presentation-badge-target-interpreter.js.map +1 -0
  30. package/dist/presentation-component-groups.d.ts +968 -0
  31. package/dist/presentation-component-groups.d.ts.map +1 -0
  32. package/dist/presentation-component-groups.js +505 -0
  33. package/dist/presentation-component-groups.js.map +1 -0
  34. package/dist/presentation-component-system-diagnostics.d.ts +27 -0
  35. package/dist/presentation-component-system-diagnostics.d.ts.map +1 -0
  36. package/dist/presentation-component-system-diagnostics.js +399 -0
  37. package/dist/presentation-component-system-diagnostics.js.map +1 -0
  38. package/dist/presentation-component-system.d.ts +31 -0
  39. package/dist/presentation-component-system.d.ts.map +1 -0
  40. package/dist/presentation-component-system.js +61 -0
  41. package/dist/presentation-component-system.js.map +1 -0
  42. package/dist/presentation-icon-diagnostics.d.ts +12 -0
  43. package/dist/presentation-icon-diagnostics.d.ts.map +1 -0
  44. package/dist/presentation-icon-diagnostics.js +17 -0
  45. package/dist/presentation-icon-diagnostics.js.map +1 -0
  46. package/dist/presentation-icon-registry.d.ts +28 -0
  47. package/dist/presentation-icon-registry.d.ts.map +1 -0
  48. package/dist/presentation-icon-registry.js +80 -0
  49. package/dist/presentation-icon-registry.js.map +1 -0
  50. package/dist/presentation-projection-trace-panel.d.ts +10 -0
  51. package/dist/presentation-projection-trace-panel.d.ts.map +1 -0
  52. package/dist/presentation-projection-trace-panel.js +48 -0
  53. package/dist/presentation-projection-trace-panel.js.map +1 -0
  54. package/dist/presentation-routed-surface-host.d.ts +19 -0
  55. package/dist/presentation-routed-surface-host.d.ts.map +1 -0
  56. package/dist/presentation-routed-surface-host.js +12 -0
  57. package/dist/presentation-routed-surface-host.js.map +1 -0
  58. package/dist/presentation-shadcn-component-system.d.ts +22 -0
  59. package/dist/presentation-shadcn-component-system.d.ts.map +1 -0
  60. package/dist/presentation-shadcn-component-system.js +2 -0
  61. package/dist/presentation-shadcn-component-system.js.map +1 -0
  62. package/dist/presentation-standard-renderers.d.ts +168 -0
  63. package/dist/presentation-standard-renderers.d.ts.map +1 -0
  64. package/dist/presentation-standard-renderers.js +440 -0
  65. package/dist/presentation-standard-renderers.js.map +1 -0
  66. package/dist/presentation-surface-renderer.d.ts +23 -0
  67. package/dist/presentation-surface-renderer.d.ts.map +1 -0
  68. package/dist/presentation-surface-renderer.js +119 -0
  69. package/dist/presentation-surface-renderer.js.map +1 -0
  70. package/dist/presentation-value-renderers.d.ts +10 -0
  71. package/dist/presentation-value-renderers.d.ts.map +1 -0
  72. package/dist/presentation-value-renderers.js +14 -0
  73. package/dist/presentation-value-renderers.js.map +1 -0
  74. package/dist/process-task-icons.d.ts +49 -0
  75. package/dist/process-task-icons.d.ts.map +1 -0
  76. package/dist/process-task-icons.js +154 -0
  77. package/dist/process-task-icons.js.map +1 -0
  78. package/dist/projected-activity-state.d.ts +17 -0
  79. package/dist/projected-activity-state.d.ts.map +1 -0
  80. package/dist/projected-activity-state.js +22 -0
  81. package/dist/projected-activity-state.js.map +1 -0
  82. package/dist/projected-collection-action-runtime-diagnostics.d.ts +4 -0
  83. package/dist/projected-collection-action-runtime-diagnostics.d.ts.map +1 -0
  84. package/dist/projected-collection-action-runtime-diagnostics.js +9 -0
  85. package/dist/projected-collection-action-runtime-diagnostics.js.map +1 -0
  86. package/dist/projected-collection-view.d.ts +90 -0
  87. package/dist/projected-collection-view.d.ts.map +1 -0
  88. package/dist/projected-collection-view.js +532 -0
  89. package/dist/projected-collection-view.js.map +1 -0
  90. package/dist/projected-document-action-status-notices.d.ts +15 -0
  91. package/dist/projected-document-action-status-notices.d.ts.map +1 -0
  92. package/dist/projected-document-action-status-notices.js +33 -0
  93. package/dist/projected-document-action-status-notices.js.map +1 -0
  94. package/dist/projected-document-badges.d.ts +24 -0
  95. package/dist/projected-document-badges.d.ts.map +1 -0
  96. package/dist/projected-document-badges.js +53 -0
  97. package/dist/projected-document-badges.js.map +1 -0
  98. package/dist/projected-document-editor-surface.d.ts +46 -0
  99. package/dist/projected-document-editor-surface.d.ts.map +1 -0
  100. package/dist/projected-document-editor-surface.js +399 -0
  101. package/dist/projected-document-editor-surface.js.map +1 -0
  102. package/dist/projected-document-workspace-notices.d.ts +24 -0
  103. package/dist/projected-document-workspace-notices.d.ts.map +1 -0
  104. package/dist/projected-document-workspace-notices.js +14 -0
  105. package/dist/projected-document-workspace-notices.js.map +1 -0
  106. package/dist/projected-document-workspace-prompt-child-view-registry.d.ts +25 -0
  107. package/dist/projected-document-workspace-prompt-child-view-registry.d.ts.map +1 -0
  108. package/dist/projected-document-workspace-prompt-child-view-registry.js +41 -0
  109. package/dist/projected-document-workspace-prompt-child-view-registry.js.map +1 -0
  110. package/dist/projected-document-workspace-prompt-child-view-renderers.d.ts +32 -0
  111. package/dist/projected-document-workspace-prompt-child-view-renderers.d.ts.map +1 -0
  112. package/dist/projected-document-workspace-prompt-child-view-renderers.js +77 -0
  113. package/dist/projected-document-workspace-prompt-child-view-renderers.js.map +1 -0
  114. package/dist/projected-document-workspace-shell.d.ts +100 -0
  115. package/dist/projected-document-workspace-shell.d.ts.map +1 -0
  116. package/dist/projected-document-workspace-shell.js +153 -0
  117. package/dist/projected-document-workspace-shell.js.map +1 -0
  118. package/dist/projected-document-workspace.d.ts +39 -0
  119. package/dist/projected-document-workspace.d.ts.map +1 -0
  120. package/dist/projected-document-workspace.js +63 -0
  121. package/dist/projected-document-workspace.js.map +1 -0
  122. package/dist/projected-field-value-rendering.d.ts +94 -0
  123. package/dist/projected-field-value-rendering.d.ts.map +1 -0
  124. package/dist/projected-field-value-rendering.js +377 -0
  125. package/dist/projected-field-value-rendering.js.map +1 -0
  126. package/dist/projected-inline-list.d.ts +20 -0
  127. package/dist/projected-inline-list.d.ts.map +1 -0
  128. package/dist/projected-inline-list.js +149 -0
  129. package/dist/projected-inline-list.js.map +1 -0
  130. package/dist/projected-input-form.d.ts +143 -0
  131. package/dist/projected-input-form.d.ts.map +1 -0
  132. package/dist/projected-input-form.js +612 -0
  133. package/dist/projected-input-form.js.map +1 -0
  134. package/dist/projected-metric-dashboard.d.ts +26 -0
  135. package/dist/projected-metric-dashboard.d.ts.map +1 -0
  136. package/dist/projected-metric-dashboard.js +20 -0
  137. package/dist/projected-metric-dashboard.js.map +1 -0
  138. package/dist/projected-metric-strip.d.ts +20 -0
  139. package/dist/projected-metric-strip.d.ts.map +1 -0
  140. package/dist/projected-metric-strip.js +131 -0
  141. package/dist/projected-metric-strip.js.map +1 -0
  142. package/dist/projected-navigation-shell-view-host.d.ts +34 -0
  143. package/dist/projected-navigation-shell-view-host.d.ts.map +1 -0
  144. package/dist/projected-navigation-shell-view-host.js +75 -0
  145. package/dist/projected-navigation-shell-view-host.js.map +1 -0
  146. package/dist/projected-navigation-shell.d.ts +33 -0
  147. package/dist/projected-navigation-shell.d.ts.map +1 -0
  148. package/dist/projected-navigation-shell.js +112 -0
  149. package/dist/projected-navigation-shell.js.map +1 -0
  150. package/dist/projected-presentation-badges.d.ts +34 -0
  151. package/dist/projected-presentation-badges.d.ts.map +1 -0
  152. package/dist/projected-presentation-badges.js +22 -0
  153. package/dist/projected-presentation-badges.js.map +1 -0
  154. package/dist/projected-presentation-diagnostics.d.ts +10 -0
  155. package/dist/projected-presentation-diagnostics.d.ts.map +1 -0
  156. package/dist/projected-presentation-diagnostics.js +40 -0
  157. package/dist/projected-presentation-diagnostics.js.map +1 -0
  158. package/dist/projected-presentation-flow-layer.d.ts +33 -0
  159. package/dist/projected-presentation-flow-layer.d.ts.map +1 -0
  160. package/dist/projected-presentation-flow-layer.js +71 -0
  161. package/dist/projected-presentation-flow-layer.js.map +1 -0
  162. package/dist/projected-process-task-notices.d.ts +37 -0
  163. package/dist/projected-process-task-notices.d.ts.map +1 -0
  164. package/dist/projected-process-task-notices.js +225 -0
  165. package/dist/projected-process-task-notices.js.map +1 -0
  166. package/dist/projected-prompt-child-view-renderer.d.ts +101 -0
  167. package/dist/projected-prompt-child-view-renderer.d.ts.map +1 -0
  168. package/dist/projected-prompt-child-view-renderer.js +442 -0
  169. package/dist/projected-prompt-child-view-renderer.js.map +1 -0
  170. package/dist/projected-prompt-document-preview.d.ts +39 -0
  171. package/dist/projected-prompt-document-preview.d.ts.map +1 -0
  172. package/dist/projected-prompt-document-preview.js +50 -0
  173. package/dist/projected-prompt-document-preview.js.map +1 -0
  174. package/dist/projected-prompt-view.d.ts +35 -0
  175. package/dist/projected-prompt-view.d.ts.map +1 -0
  176. package/dist/projected-prompt-view.js +292 -0
  177. package/dist/projected-prompt-view.js.map +1 -0
  178. package/dist/projected-query-form.d.ts +56 -0
  179. package/dist/projected-query-form.d.ts.map +1 -0
  180. package/dist/projected-query-form.js +100 -0
  181. package/dist/projected-query-form.js.map +1 -0
  182. package/dist/projected-record-details.d.ts +20 -0
  183. package/dist/projected-record-details.d.ts.map +1 -0
  184. package/dist/projected-record-details.js +60 -0
  185. package/dist/projected-record-details.js.map +1 -0
  186. package/dist/projected-routed-surface-runtime.d.ts +86 -0
  187. package/dist/projected-routed-surface-runtime.d.ts.map +1 -0
  188. package/dist/projected-routed-surface-runtime.js +332 -0
  189. package/dist/projected-routed-surface-runtime.js.map +1 -0
  190. package/dist/projected-tabs-view.d.ts +21 -0
  191. package/dist/projected-tabs-view.d.ts.map +1 -0
  192. package/dist/projected-tabs-view.js +140 -0
  193. package/dist/projected-tabs-view.js.map +1 -0
  194. package/dist/projected-view-chrome.d.ts +15 -0
  195. package/dist/projected-view-chrome.d.ts.map +1 -0
  196. package/dist/projected-view-chrome.js +67 -0
  197. package/dist/projected-view-chrome.js.map +1 -0
  198. package/dist/projected-view-surface.d.ts +34 -0
  199. package/dist/projected-view-surface.d.ts.map +1 -0
  200. package/dist/projected-view-surface.js +40 -0
  201. package/dist/projected-view-surface.js.map +1 -0
  202. package/dist/standard-collection-chrome-slot-renderers.d.ts +26 -0
  203. package/dist/standard-collection-chrome-slot-renderers.d.ts.map +1 -0
  204. package/dist/standard-collection-chrome-slot-renderers.js +250 -0
  205. package/dist/standard-collection-chrome-slot-renderers.js.map +1 -0
  206. package/dist/standard-view-chrome-slot-renderers.d.ts +57 -0
  207. package/dist/standard-view-chrome-slot-renderers.d.ts.map +1 -0
  208. package/dist/standard-view-chrome-slot-renderers.js +614 -0
  209. package/dist/standard-view-chrome-slot-renderers.js.map +1 -0
  210. package/package.json +68 -0
  211. package/src/document-workspace-surface-slot-renderers.tsx +395 -0
  212. package/src/index.ts +53 -0
  213. package/src/navigation-shell-frame-renderer-registry.ts +29 -0
  214. package/src/navigation-shell-slot-renderer-registry.ts +46 -0
  215. package/src/page-host-unavailable-renderer.tsx +79 -0
  216. package/src/presentation-action-group.tsx +475 -0
  217. package/src/presentation-badge-target-interpreter.ts +54 -0
  218. package/src/presentation-component-groups.ts +2505 -0
  219. package/src/presentation-component-system-diagnostics.ts +848 -0
  220. package/src/presentation-component-system.ts +365 -0
  221. package/src/presentation-icon-diagnostics.ts +53 -0
  222. package/src/presentation-icon-registry.tsx +181 -0
  223. package/src/presentation-projection-trace-panel.tsx +140 -0
  224. package/src/presentation-routed-surface-host.tsx +48 -0
  225. package/src/presentation-shadcn-component-system.ts +102 -0
  226. package/src/presentation-standard-renderers.tsx +1290 -0
  227. package/src/presentation-surface-renderer.tsx +263 -0
  228. package/src/presentation-value-renderers.tsx +40 -0
  229. package/src/process-task-icons.tsx +258 -0
  230. package/src/projected-activity-state.tsx +63 -0
  231. package/src/projected-collection-action-runtime-diagnostics.ts +22 -0
  232. package/src/projected-collection-view.tsx +1273 -0
  233. package/src/projected-document-action-status-notices.tsx +66 -0
  234. package/src/projected-document-badges.tsx +134 -0
  235. package/src/projected-document-editor-surface.tsx +808 -0
  236. package/src/projected-document-workspace-notices.tsx +77 -0
  237. package/src/projected-document-workspace-prompt-child-view-registry.ts +99 -0
  238. package/src/projected-document-workspace-prompt-child-view-renderers.tsx +205 -0
  239. package/src/projected-document-workspace-shell.tsx +427 -0
  240. package/src/projected-document-workspace.tsx +216 -0
  241. package/src/projected-field-value-rendering.tsx +704 -0
  242. package/src/projected-inline-list.tsx +434 -0
  243. package/src/projected-input-form.tsx +1218 -0
  244. package/src/projected-metric-dashboard.tsx +106 -0
  245. package/src/projected-metric-strip.tsx +244 -0
  246. package/src/projected-navigation-shell-view-host.tsx +177 -0
  247. package/src/projected-navigation-shell.tsx +219 -0
  248. package/src/projected-presentation-badges.tsx +95 -0
  249. package/src/projected-presentation-diagnostics.tsx +120 -0
  250. package/src/projected-presentation-flow-layer.tsx +186 -0
  251. package/src/projected-process-task-notices.tsx +501 -0
  252. package/src/projected-prompt-child-view-renderer.tsx +698 -0
  253. package/src/projected-prompt-document-preview.tsx +197 -0
  254. package/src/projected-prompt-view.tsx +592 -0
  255. package/src/projected-query-form.tsx +286 -0
  256. package/src/projected-record-details.tsx +133 -0
  257. package/src/projected-routed-surface-runtime.tsx +713 -0
  258. package/src/projected-tabs-view.tsx +308 -0
  259. package/src/projected-view-chrome.tsx +148 -0
  260. package/src/projected-view-surface.tsx +131 -0
  261. package/src/standard-collection-chrome-slot-renderers.tsx +391 -0
  262. package/src/standard-view-chrome-slot-renderers.tsx +1064 -0
@@ -0,0 +1,440 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { createPresentationViewActivityState, createPresentationTestAttributes, createRelationQueryInputFormTarget, defaultPresentationComponentSet, findPresentationQueryForm, findPresentationInputForm, findPresentationInputFormForView, findPresentationQueryFormForView, getRegionViewIds, isViewChromeSlotKind, readPresentationDataSourceItems, resolveCollectionChromeSlotRenderer, } from '@cohesivesystems/presentation-core';
3
+ import { renderStandardCollectionChromeSlot, } from './standard-collection-chrome-slot-renderers.js';
4
+ import { renderStandardViewChromeSlot, } from './standard-view-chrome-slot-renderers.js';
5
+ import { mergePresentationRendererRegistries, } from '@cohesivesystems/presentation-react';
6
+ import { ProjectedActivityStateBoundary, ProjectedStatusBlock, } from './projected-activity-state.js';
7
+ import { ProjectedCollectionView } from './projected-collection-view.js';
8
+ import { ProjectedMetricDashboard } from './projected-metric-dashboard.js';
9
+ import { ProjectedMetricStrip } from './projected-metric-strip.js';
10
+ import { ProjectedRecordDetails, } from './projected-record-details.js';
11
+ import { ProjectedInputForm, } from './projected-input-form.js';
12
+ import { ProjectedInlineList } from './projected-inline-list.js';
13
+ import { ProjectedQueryForm, } from './projected-query-form.js';
14
+ import { ProjectedTabsView } from './projected-tabs-view.js';
15
+ import { ProjectedViewSurface, } from './projected-view-surface.js';
16
+ import { PresentationActionGroup, } from './presentation-action-group.js';
17
+ import { fieldDisplayKinds, viewChromeSlotKinds, viewKindLabels, viewKinds, viewRegionKindLabels, viewRegionKinds, } from '@cohesivesystems/presentation-contracts';
18
+ import { presentationViewComponentRoles, } from '@cohesivesystems/presentation-contracts';
19
+ /**
20
+ * Creates the app-wide default renderer registry for common semantic view
21
+ * constructs: surface roots, dashboards, surfaces, tabbed surfaces, collections,
22
+ * and simple inline lists. Specific apps can layer overrides on top without
23
+ * reimplementing recursive rendering or activity/data-source handling.
24
+ */
25
+ export function createStandardPresentationRendererRegistry(options) {
26
+ const collectionRenderer = createCollectionRenderer(options);
27
+ const inputFormRenderer = createInputFormRenderer(options);
28
+ const drawerRenderer = createDrawerRenderer();
29
+ const metricDashboardRenderer = createMetricDashboardRenderer(options);
30
+ const queryFormRenderer = createQueryFormRenderer(options);
31
+ const recordDetailRenderer = createRecordDetailRenderer(options);
32
+ const surfaceRenderer = createSurfaceRenderer(options);
33
+ const tabsRenderer = createTabsRenderer(options);
34
+ const registry = {
35
+ composites: {
36
+ byComponentRole: {
37
+ [presentationViewComponentRoles.collectionView]: collectionRenderer,
38
+ [presentationViewComponentRoles.inputForm]: inputFormRenderer,
39
+ [presentationViewComponentRoles.metricDashboard]: metricDashboardRenderer,
40
+ [presentationViewComponentRoles.queryForm]: queryFormRenderer,
41
+ [presentationViewComponentRoles.tabsView]: tabsRenderer,
42
+ [presentationViewComponentRoles.viewSurface]: surfaceRenderer,
43
+ },
44
+ bySemanticRole: {
45
+ collection: collectionRenderer,
46
+ dashboard: metricDashboardRenderer,
47
+ detail: recordDetailRenderer,
48
+ drawer: drawerRenderer,
49
+ form: surfaceRenderer,
50
+ 'inline-list': createInlineListRenderer(options),
51
+ 'input-form': inputFormRenderer,
52
+ prompt: surfaceRenderer,
53
+ query: queryFormRenderer,
54
+ recordDetail: recordDetailRenderer,
55
+ search: queryFormRenderer,
56
+ summary: metricDashboardRenderer,
57
+ surface: surfaceRenderer,
58
+ 'surface-root': renderSurfaceRoot,
59
+ tabs: tabsRenderer,
60
+ 'record-detail': recordDetailRenderer,
61
+ },
62
+ byViewKind: createStandardViewKindRenderers({
63
+ collectionRenderer,
64
+ drawerRenderer,
65
+ metricDashboardRenderer,
66
+ queryFormRenderer,
67
+ recordDetailRenderer,
68
+ surfaceRenderer,
69
+ tabsRenderer,
70
+ }),
71
+ },
72
+ };
73
+ return options.overrides
74
+ ? mergePresentationRendererRegistries(registry, options.overrides)
75
+ : registry;
76
+ }
77
+ function createStandardViewKindRenderers({ collectionRenderer, drawerRenderer, metricDashboardRenderer, queryFormRenderer, recordDetailRenderer, surfaceRenderer, tabsRenderer, }) {
78
+ const renderers = {};
79
+ addViewKindRenderer(renderers, viewKinds.collection, collectionRenderer);
80
+ addViewKindRenderer(renderers, viewKinds.dashboard, metricDashboardRenderer);
81
+ addViewKindRenderer(renderers, viewKinds.drawer, drawerRenderer);
82
+ addViewKindRenderer(renderers, viewKinds.form, surfaceRenderer);
83
+ addViewKindRenderer(renderers, viewKinds.graph, surfaceRenderer);
84
+ addViewKindRenderer(renderers, viewKinds.page, renderSurfaceRoot);
85
+ addViewKindRenderer(renderers, viewKinds.prompt, surfaceRenderer);
86
+ addViewKindRenderer(renderers, viewKinds.recordDetail, recordDetailRenderer);
87
+ addViewKindRenderer(renderers, viewKinds.search, queryFormRenderer);
88
+ addViewKindRenderer(renderers, viewKinds.surface, surfaceRenderer);
89
+ addViewKindRenderer(renderers, viewKinds.tabbedSurface, tabsRenderer);
90
+ addViewKindRenderer(renderers, viewKinds.timeline, surfaceRenderer);
91
+ return renderers;
92
+ }
93
+ function createDrawerRenderer() {
94
+ return function renderDrawer(context) {
95
+ return _jsx("div", { className: "grid gap-2", children: context.renderRegions(context.view) });
96
+ };
97
+ }
98
+ function addViewKindRenderer(renderers, kind, renderer) {
99
+ const label = viewKindLabels[kind];
100
+ renderers[String(kind)] = renderer;
101
+ renderers[label] = renderer;
102
+ renderers[label.charAt(0).toLowerCase() + label.slice(1)] = renderer;
103
+ }
104
+ /**
105
+ * Root surfaces are structural containers. Their renderer should project child
106
+ * regions and avoid adding visual chrome of its own.
107
+ */
108
+ function renderSurfaceRoot({ renderView, view, }) {
109
+ return (_jsx("div", { className: "flex min-h-0 flex-1 flex-col gap-5", ...createPresentationTestAttributes({ viewId: view.Id }), children: renderSurfaceRegionViews({
110
+ regions: orderSurfaceRegions(view.Regions),
111
+ renderView,
112
+ stretchPrimaryRegions: true,
113
+ }) }));
114
+ }
115
+ function createMetricDashboardRenderer(options) {
116
+ return function renderMetricDashboard(context) {
117
+ const { dataSourceResolver, view } = context;
118
+ const dataSource = dataSourceResolver.resolveViewPrimary(view);
119
+ return (_jsx(ProjectedActivityStateBoundary, { state: createPresentationViewActivityState({
120
+ dataSourceResolver,
121
+ pendingLabel: resolveStringOption(options.metricDashboard?.pendingLabel, context) ??
122
+ 'Loading view data...',
123
+ view,
124
+ }), children: _jsx(ProjectedMetricDashboard, { action: renderPresentationViewActionFallback({ context, options, view }), className: resolveStringOption(options.metricDashboard?.className, context), componentSystem: resolveRequiredValueOption(options.componentSystem, context), dataSourceResolver: dataSourceResolver, description: resolveStringOption(options.metricDashboard?.description, context), iconByFieldId: resolveValueOption(options.metricDashboard?.iconByFieldId, context), renderChromeSlot: createPresentationViewChromeSlotRenderer({
125
+ context,
126
+ options,
127
+ resource: dataSource?.data,
128
+ }), view: view, viewId: view.Id }) }));
129
+ };
130
+ }
131
+ function createInputFormRenderer(options) {
132
+ return function renderInputForm(context) {
133
+ const { dataSourceResolver, module, view } = context;
134
+ const inputForm = findPresentationInputFormForView(module, view);
135
+ const dataSource = dataSourceResolver.resolveViewPrimary(view);
136
+ return (_jsx(ProjectedInputForm, { choiceToggleClassName: resolveValueOption(options.inputForm?.choiceToggleClassName, context), choiceTone: resolveValueOption(options.inputForm?.choiceTone, context), className: resolveStringOption(options.inputForm?.className, context), componentSet: resolveStandardPresentationComponentSet(options, context), componentSystem: resolveRequiredValueOption(options.componentSystem, context), contentClassName: resolveStringOption(options.inputForm?.contentClassName, context), dataSourceResolver: dataSourceResolver, designSystem: resolveRequiredValueOption(options.designSystem, context), fieldRenderers: resolveValueOption(options.inputForm?.fieldRenderers, context), inputForm: inputForm, module: module, renderChromeSlot: createPresentationViewChromeSlotRenderer({
137
+ context,
138
+ options,
139
+ resource: dataSource?.data,
140
+ }), runtime: options.inputForm?.runtime(context) ?? null, view: view }));
141
+ };
142
+ }
143
+ function createQueryFormRenderer(options) {
144
+ return function renderQueryForm(context) {
145
+ const { dataSourceResolver, module, view } = context;
146
+ const queryForm = findPresentationQueryFormForView(module, view);
147
+ const dataSource = dataSourceResolver.resolveViewPrimary(view);
148
+ if (queryForm && options.queryForm) {
149
+ return (_jsx(ProjectedQueryForm, { choiceToggleClassName: resolveValueOption(options.queryForm.choiceToggleClassName, context), choiceTone: resolveValueOption(options.queryForm.choiceTone, context), className: resolveStringOption(options.queryForm.className, context), componentSet: resolveStandardPresentationComponentSet(options, context), componentSystem: resolveRequiredValueOption(options.componentSystem, context), contentClassName: resolveStringOption(options.queryForm.contentClassName, context), dataSourceResolver: dataSourceResolver, designSystem: resolveRequiredValueOption(options.designSystem, context), fieldRenderers: resolveValueOption(options.queryForm.fieldRenderers, context), module: module, queryForm: queryForm, renderChromeSlot: createPresentationViewChromeSlotRenderer({
150
+ context,
151
+ options,
152
+ resource: dataSource?.data,
153
+ }), runtime: options.queryForm.runtime(context), view: view }));
154
+ }
155
+ if (options.inputForm) {
156
+ const inputForm = queryForm
157
+ ? findPresentationInputForm(module, queryForm.FormId)
158
+ : findPresentationInputFormForView(module, view);
159
+ const target = queryForm && inputForm
160
+ ? createRelationQueryInputFormTarget({
161
+ dataSourceResolver,
162
+ inputForm,
163
+ queryForm,
164
+ view,
165
+ })
166
+ : null;
167
+ return (_jsx(ProjectedInputForm, { choiceToggleClassName: resolveValueOption(options.inputForm.choiceToggleClassName, context), choiceTone: resolveValueOption(options.inputForm.choiceTone, context), className: resolveStringOption(options.inputForm.className, context), componentSet: resolveStandardPresentationComponentSet(options, context), componentSystem: resolveRequiredValueOption(options.componentSystem, context), contentClassName: resolveStringOption(options.inputForm.contentClassName, context), dataSourceResolver: dataSourceResolver, designSystem: resolveRequiredValueOption(options.designSystem, context), fieldRenderers: resolveValueOption(options.inputForm.fieldRenderers, context), inputForm: inputForm, module: module, renderChromeSlot: createPresentationViewChromeSlotRenderer({
168
+ context,
169
+ options,
170
+ resource: dataSource?.data,
171
+ }), runtime: options.inputForm.runtime(context), target: target, view: view }));
172
+ }
173
+ return (_jsx(ProjectedQueryForm, { choiceToggleClassName: resolveValueOption(options.queryForm?.choiceToggleClassName, context), choiceTone: resolveValueOption(options.queryForm?.choiceTone, context), className: resolveStringOption(options.queryForm?.className, context), componentSet: resolveStandardPresentationComponentSet(options, context), componentSystem: resolveRequiredValueOption(options.componentSystem, context), contentClassName: resolveStringOption(options.queryForm?.contentClassName, context), dataSourceResolver: dataSourceResolver, designSystem: resolveRequiredValueOption(options.designSystem, context), fieldRenderers: resolveValueOption(options.queryForm?.fieldRenderers, context), module: module, queryForm: queryForm, renderChromeSlot: createPresentationViewChromeSlotRenderer({
174
+ context,
175
+ options,
176
+ resource: dataSource?.data,
177
+ }), runtime: options.queryForm?.runtime(context) ?? null, view: view }));
178
+ };
179
+ }
180
+ function createSurfaceRenderer(options) {
181
+ return function renderSurface(context) {
182
+ const { dataSourceResolver, renderView, view } = context;
183
+ const dataSource = dataSourceResolver.resolveViewPrimary(view);
184
+ const verticalResize = resolveValueOption(options.surface?.verticalResize, context);
185
+ const isVerticallyResizable = isSurfaceVerticalResizeEnabled(verticalResize);
186
+ const contentClassName = resolveSurfaceContentClassName({
187
+ className: resolveStringOption(options.surface?.contentClassName, context),
188
+ isVerticallyResizable,
189
+ view,
190
+ });
191
+ return (_jsx(ProjectedViewSurface, { action: renderPresentationViewActionFallback({ context, options, view }), className: resolveStringOption(options.surface?.className, context), componentSystem: resolveRequiredValueOption(options.componentSystem, context), contentClassName: contentClassName, contentTopInset: resolveValueOption(options.surface?.contentTopInset, context), eyebrow: resolveStringOption(options.surface?.eyebrow, context), renderChromeSlot: createPresentationViewChromeSlotRenderer({
192
+ context,
193
+ options,
194
+ resource: dataSource?.data,
195
+ }), title: resolveStringOption(options.surface?.title, context), verticalResize: verticalResize, view: view, children: renderSurfaceRegionViews({
196
+ regions: orderSurfaceRegions(view.Regions),
197
+ renderView,
198
+ stretchPrimaryRegions: isVerticallyResizable,
199
+ }) }));
200
+ };
201
+ }
202
+ function createTabsRenderer(options) {
203
+ return function renderTabs(context) {
204
+ const { dataSourceResolver, renderView, view } = context;
205
+ const dataSource = dataSourceResolver.resolveViewPrimary(view);
206
+ const componentSystem = resolveRequiredValueOption(options.componentSystem, context);
207
+ return (_jsx(ProjectedTabsView, { componentSystem: componentSystem, iconByRegionId: resolveValueOption(options.tabs?.iconByRegionId, context), renderChromeSlot: createPresentationViewChromeSlotRenderer({
208
+ context,
209
+ options,
210
+ resource: dataSource?.data,
211
+ }), renderView: renderView, view: view, viewId: view.Id }));
212
+ };
213
+ }
214
+ function createCollectionRenderer(options) {
215
+ return function renderCollection(context) {
216
+ const { dataSourceResolver, view } = context;
217
+ const dataSource = dataSourceResolver.resolveViewPrimary(view);
218
+ const items = readPresentationDataSourceItems(dataSource);
219
+ const chromeSlotRenderers = resolveValueOption(options.collection?.chromeSlotRenderers, context);
220
+ const componentSystem = resolveRequiredValueOption(options.componentSystem, context);
221
+ const collectionContext = {
222
+ ...context,
223
+ dataSource,
224
+ items,
225
+ };
226
+ return (_jsx(ProjectedActivityStateBoundary, { state: createPresentationViewActivityState({ dataSourceResolver, view }), children: _jsx(ProjectedCollectionView, { actionRuntimeBindings: resolveValueOption(options.collection?.actionRuntimeBindings, context), componentSet: resolveStandardPresentationComponentSet(options, context), componentSystem: componentSystem, data: items, detailFieldRenderers: resolveValueOption(options.collection?.detailFieldRenderers, context), emptyMessage: resolveStringOption(options.collection?.emptyMessage, context) ??
227
+ dataSource?.emptyMessage ??
228
+ `No ${view.Name.toLocaleLowerCase()} records are visible.`, fieldRenderers: resolveValueOption(options.collection?.fieldRenderers, context), footer: options.collection?.renderFooter
229
+ ? (collectionRuntime) => options.collection?.renderFooter?.({
230
+ ...collectionContext,
231
+ collectionRuntime: collectionRuntime,
232
+ })
233
+ : null, pagination: options.collection?.pagination?.(collectionContext), renderChromeSlot: ({ collectionRuntime, slot, ...slotContext }) => renderPresentationCollectionChromeSlot({
234
+ context: {
235
+ ...collectionContext,
236
+ ...slotContext,
237
+ collectionRuntime: collectionRuntime,
238
+ module: collectionContext.module,
239
+ renderQueryFormSlot: (slot) => renderPresentationCollectionQueryFormSlot({
240
+ context: collectionContext,
241
+ options,
242
+ slot,
243
+ }),
244
+ renderSummarySlot: (slot) => renderPresentationCollectionSummarySlot({
245
+ context: collectionContext,
246
+ options,
247
+ slot,
248
+ }),
249
+ slot,
250
+ },
251
+ registry: chromeSlotRenderers,
252
+ renderFallback: options.collection?.renderChromeSlot,
253
+ }), viewId: view.Id }) }));
254
+ };
255
+ }
256
+ function renderPresentationCollectionChromeSlot({ context, registry, renderFallback, }) {
257
+ const renderer = resolveCollectionChromeSlotRenderer(registry, context.slot);
258
+ return renderer?.(context) ??
259
+ renderStandardCollectionChromeSlot(context) ??
260
+ renderFallback?.(context) ??
261
+ null;
262
+ }
263
+ function renderPresentationCollectionQueryFormSlot({ context, options, slot, }) {
264
+ const { dataSourceResolver, module, view } = context;
265
+ const queryForm = slot.QueryFormId
266
+ ? findPresentationQueryForm(module, slot.QueryFormId)
267
+ : findPresentationQueryFormForView(module, view);
268
+ return (_jsx(ProjectedQueryForm, { choiceToggleClassName: resolveValueOption(options.queryForm?.choiceToggleClassName, context), choiceTone: resolveValueOption(options.queryForm?.choiceTone, context), className: resolveStringOption(options.queryForm?.className, context), componentSet: resolveStandardPresentationComponentSet(options, context), componentSystem: resolveRequiredValueOption(options.componentSystem, context), contentClassName: resolveStringOption(options.queryForm?.contentClassName, context), dataSourceResolver: dataSourceResolver, designSystem: resolveRequiredValueOption(options.designSystem, context), fieldRenderers: resolveValueOption(options.queryForm?.fieldRenderers, context), module: module, queryForm: queryForm, runtime: options.queryForm?.runtime(context) ?? null, view: view }));
269
+ }
270
+ function resolveSurfaceContentClassName({ className, isVerticallyResizable, view, }) {
271
+ if (hasSidecarSurfaceRegions(view.Regions)) {
272
+ return cn('grid min-h-0 flex-1 gap-y-4 lg:grid-cols-[minmax(0,1fr)_auto] lg:items-start lg:gap-x-0 lg:has-[>[data-surface-region-kind=sidecar]:not(:empty)]:gap-x-4', className);
273
+ }
274
+ if (isVerticallyResizable) {
275
+ return cn('flex min-h-0 flex-1 flex-col gap-4 overflow-hidden', className);
276
+ }
277
+ return className ?? (view.Regions.length > 0 ? 'grid w-full min-w-0 gap-4' : undefined);
278
+ }
279
+ function orderSurfaceRegions(regions) {
280
+ if (!hasSidecarSurfaceRegions(regions)) {
281
+ return regions;
282
+ }
283
+ return [
284
+ ...regions.filter((region) => isPrimarySurfaceRegionKind(region.Kind)),
285
+ ...regions.filter((region) => isSidecarSurfaceRegionKind(region.Kind)),
286
+ ...regions.filter((region) => !isPrimarySurfaceRegionKind(region.Kind) &&
287
+ !isSidecarSurfaceRegionKind(region.Kind)),
288
+ ];
289
+ }
290
+ function renderSurfaceRegionViews({ regions, renderView, stretchPrimaryRegions, }) {
291
+ return regions.flatMap((region) => getRegionViewIds(region).map((childViewId) => (_jsx("div", { className: resolveSurfaceRegionClassName(region, { stretchPrimaryRegions }), "data-surface-region-kind": resolveSurfaceRegionLayoutKind(region), children: renderView(childViewId) }, `${region.Id}:${childViewId}`))));
292
+ }
293
+ function hasSidecarSurfaceRegions(regions) {
294
+ if (regions.length < 2) {
295
+ return false;
296
+ }
297
+ return regions.some((region) => isPrimarySurfaceRegionKind(region.Kind)) &&
298
+ regions.some((region) => isSidecarSurfaceRegionKind(region.Kind));
299
+ }
300
+ function resolveSurfaceRegionClassName(region, options = {}) {
301
+ const layoutKind = resolveSurfaceRegionLayoutKind(region);
302
+ if (layoutKind === 'sidecar') {
303
+ return 'min-h-0 min-w-0 empty:hidden lg:w-[clamp(18rem,25vw,24rem)]';
304
+ }
305
+ if (layoutKind === 'primary' && options.stretchPrimaryRegions) {
306
+ return 'flex min-h-0 w-full min-w-0 flex-1 flex-col overflow-hidden';
307
+ }
308
+ return 'min-h-0 w-full min-w-0';
309
+ }
310
+ function resolveSurfaceRegionLayoutKind(region) {
311
+ if (isSidecarSurfaceRegionKind(region.Kind)) {
312
+ return 'sidecar';
313
+ }
314
+ if (isPrimarySurfaceRegionKind(region.Kind)) {
315
+ return 'primary';
316
+ }
317
+ return 'supporting';
318
+ }
319
+ function isPrimarySurfaceRegionKind(kind) {
320
+ return matchesViewRegionKind(kind, viewRegionKinds.primary) ||
321
+ matchesViewRegionKind(kind, viewRegionKinds.content) ||
322
+ matchesViewRegionKind(kind, viewRegionKinds.surface) ||
323
+ matchesViewRegionKind(kind, viewRegionKinds.collection) ||
324
+ matchesViewRegionKind(kind, viewRegionKinds.detail);
325
+ }
326
+ function isSidecarSurfaceRegionKind(kind) {
327
+ return matchesViewRegionKind(kind, viewRegionKinds.sidebar) ||
328
+ matchesViewRegionKind(kind, viewRegionKinds.statusList) ||
329
+ matchesViewRegionKind(kind, viewRegionKinds.list) ||
330
+ matchesViewRegionKind(kind, viewRegionKinds.inspector) ||
331
+ matchesViewRegionKind(kind, viewRegionKinds.panel);
332
+ }
333
+ function matchesViewRegionKind(kind, expected) {
334
+ const expectedLabel = viewRegionKindLabels[expected] ?? expected;
335
+ return kind === expected ||
336
+ normalizeEnumDiscriminator(kind) === normalizeEnumDiscriminator(expectedLabel);
337
+ }
338
+ function renderPresentationCollectionSummarySlot({ context, options, slot, }) {
339
+ const fieldIds = resolveCollectionSummaryFieldIds(context.module, slot);
340
+ if (fieldIds.length === 0) {
341
+ return null;
342
+ }
343
+ return (_jsx(ProjectedMetricStrip, { className: resolveStringOption(options.collection?.summaryClassName, context), componentSystem: resolveRequiredValueOption(options.componentSystem, context), dataSourceResolver: context.dataSourceResolver, fieldIds: fieldIds, iconByFieldId: resolveValueOption(options.metricDashboard?.iconByFieldId, context) }));
344
+ }
345
+ function resolveCollectionSummaryFieldIds(module, slot) {
346
+ if (slot.FieldIds.length > 0) {
347
+ return slot.FieldIds;
348
+ }
349
+ const slotDataSourceIds = new Set(slot.DataSourceIds);
350
+ return module.Fields
351
+ .filter((field) => field.Source?.DataSourceId &&
352
+ slotDataSourceIds.has(field.Source.DataSourceId) &&
353
+ isMetricField(field.DisplayKind))
354
+ .map((field) => field.Id);
355
+ }
356
+ function isMetricField(displayKind) {
357
+ return displayKind === fieldDisplayKinds.metric ||
358
+ String(displayKind).toLocaleLowerCase() === 'metric';
359
+ }
360
+ function createPresentationViewChromeSlotRenderer({ context, options, resource, }) {
361
+ return (slot, view) => renderStandardViewChromeSlot({
362
+ actionContext: context.context,
363
+ actionGroupOptions: options.actionGroup,
364
+ componentSystem: resolveRequiredValueOption(options.componentSystem, context),
365
+ dataSourceResolver: context.dataSourceResolver,
366
+ designSystem: resolveRequiredValueOption(options.designSystem, context),
367
+ documentViewIds: slot.ViewIds,
368
+ module: context.module,
369
+ resource,
370
+ slot,
371
+ view: view ?? context.view,
372
+ workspaceView: view ?? context.view,
373
+ });
374
+ }
375
+ function renderPresentationViewActionFallback({ context, options, view, }) {
376
+ if (!options.actionGroup || hasViewActionsChromeSlot(view)) {
377
+ return null;
378
+ }
379
+ return (_jsx(PresentationActionGroup, { context: context.context, dataSourceResolver: context.dataSourceResolver, module: context.module, options: options.actionGroup, view: view }));
380
+ }
381
+ function hasViewActionsChromeSlot(view) {
382
+ return view.Chrome?.Slots.some((slot) => isViewChromeSlotKind(slot, viewChromeSlotKinds.actions)) ?? false;
383
+ }
384
+ function createRecordDetailRenderer(options) {
385
+ return function renderRecordDetail(context) {
386
+ const { dataSourceResolver, view } = context;
387
+ const dataSource = dataSourceResolver.resolveViewPrimary(view);
388
+ const data = dataSource?.data;
389
+ const componentSystem = resolveRequiredValueOption(options.componentSystem, context);
390
+ return (_jsx(ProjectedActivityStateBoundary, { state: createPresentationViewActivityState({ dataSourceResolver, view }), children: _jsx(ProjectedViewSurface, { action: renderPresentationViewActionFallback({ context, options, view }), className: resolveStringOption(options.recordDetail?.className, context), componentSystem: componentSystem, contentClassName: resolveStringOption(options.recordDetail?.contentClassName, context) ??
391
+ 'grid gap-4', renderChromeSlot: createPresentationViewChromeSlotRenderer({
392
+ context,
393
+ options,
394
+ resource: data,
395
+ }), title: resolveStringOption(options.recordDetail?.title, context) ?? view.Name, view: view, children: data && typeof data === 'object' ? (_jsx(ProjectedRecordDetails, { componentSystem: componentSystem, data: data, emptyMessage: resolveStringOption(options.recordDetail?.emptyMessage, context) ??
396
+ dataSource?.emptyMessage, fieldRenderers: resolveValueOption(options.recordDetail?.fieldRenderers, context), hiddenFieldLabels: resolveValueOption(options.recordDetail?.hiddenFieldLabels, context), viewId: view.Id })) : (_jsx(ProjectedStatusBlock, { label: resolveStringOption(options.recordDetail?.emptyMessage, context) ??
397
+ dataSource?.emptyMessage ??
398
+ 'No details are available.' })) }) }));
399
+ };
400
+ }
401
+ function createInlineListRenderer(options) {
402
+ return function renderInlineList(context) {
403
+ const { dataSourceResolver, view } = context;
404
+ const dataSource = dataSourceResolver.resolveViewPrimary(view);
405
+ const items = readPresentationDataSourceItems(dataSource);
406
+ const componentSystem = resolveRequiredValueOption(options.componentSystem, context);
407
+ return (_jsx(ProjectedActivityStateBoundary, { state: createPresentationViewActivityState({ dataSourceResolver, view }), children: items.length === 0 && options.inlineList?.renderItems ? (resolveStringOption(options.inlineList?.emptyMessage, context) ??
408
+ dataSource?.emptyMessage ??
409
+ null) : (options.inlineList?.renderItems?.({ ...context, dataSource, items }) ?? (_jsx(ProjectedInlineList, { actionRuntimeBindings: resolveValueOption(options.collection?.actionRuntimeBindings, context), componentSet: resolveStandardPresentationComponentSet(options, context), componentSystem: componentSystem, data: items, emptyMessage: resolveStringOption(options.inlineList?.emptyMessage, context) ??
410
+ dataSource?.emptyMessage, fieldRenderers: resolveValueOption(options.collection?.fieldRenderers, context), title: view.Name, viewId: view.Id }))) }));
411
+ };
412
+ }
413
+ function resolveStandardPresentationComponentSet(options, context) {
414
+ return resolveStringOption(options.componentSet, context) ??
415
+ defaultPresentationComponentSet;
416
+ }
417
+ function resolveStringOption(option, context) {
418
+ return resolveValueOption(option, context);
419
+ }
420
+ function resolveRequiredValueOption(option, context) {
421
+ return typeof option === 'function'
422
+ ? option(context)
423
+ : option;
424
+ }
425
+ function resolveValueOption(option, context) {
426
+ return typeof option === 'function'
427
+ ? option(context)
428
+ : option;
429
+ }
430
+ function normalizeEnumDiscriminator(value) {
431
+ return String(value).replace(/[-_\s]/g, '').toLocaleLowerCase();
432
+ }
433
+ function isSurfaceVerticalResizeEnabled(value) {
434
+ return value === true ||
435
+ (typeof value === 'object' && value !== null && value.enabled !== false);
436
+ }
437
+ function cn(...values) {
438
+ return values.filter(Boolean).join(' ');
439
+ }
440
+ //# sourceMappingURL=presentation-standard-renderers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presentation-standard-renderers.js","sourceRoot":"","sources":["../src/presentation-standard-renderers.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import { type ReactNode } from 'react';
2
+ import { type PresentationModuleDefinition, type PresentationDataSourceStateMap, type PresentationSurface, type ViewDefinition } from '@cohesivesystems/presentation-core';
3
+ import { type PresentationRendererRegistry, type PresentationViewRendererResolution } from '@cohesivesystems/presentation-react';
4
+ export interface PresentationSurfaceRendererProps<TContext> {
5
+ readonly componentSet?: string;
6
+ readonly context: TContext;
7
+ readonly dataSources: PresentationDataSourceStateMap;
8
+ readonly rendererRegistry: PresentationRendererRegistry<TContext>;
9
+ readonly renderUnknownView?: PresentationUnknownViewRenderer<TContext>;
10
+ readonly surface: PresentationSurface | null;
11
+ }
12
+ export interface PresentationUnknownViewRenderContext<TContext> {
13
+ readonly context: TContext;
14
+ readonly module: PresentationModuleDefinition | null;
15
+ readonly reason: 'missing-module' | 'missing-renderer' | 'missing-root-view' | 'missing-surface' | 'missing-view';
16
+ readonly resolution?: PresentationViewRendererResolution<TContext>;
17
+ readonly surface: PresentationSurface | null;
18
+ readonly view: ViewDefinition | null;
19
+ readonly viewId: string | null;
20
+ }
21
+ export type PresentationUnknownViewRenderer<TContext> = (context: PresentationUnknownViewRenderContext<TContext>) => ReactNode;
22
+ export declare function PresentationSurfaceRenderer<TContext>({ componentSet, context, dataSources, rendererRegistry, renderUnknownView, surface, }: PresentationSurfaceRendererProps<TContext>): string | number | bigint | boolean | Iterable<ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> | import("react/jsx-runtime").JSX.Element | null | undefined;
23
+ //# sourceMappingURL=presentation-surface-renderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presentation-surface-renderer.d.ts","sourceRoot":"","sources":["../src/presentation-surface-renderer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAE5D,OAAO,EAKL,KAAK,4BAA4B,EAEjC,KAAK,8BAA8B,EACnC,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACpB,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EAGL,KAAK,4BAA4B,EAEjC,KAAK,kCAAkC,EACxC,MAAM,qCAAqC,CAAA;AAG5C,MAAM,WAAW,gCAAgC,CAAC,QAAQ;IACxD,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAA;IAC1B,QAAQ,CAAC,WAAW,EAAE,8BAA8B,CAAA;IACpD,QAAQ,CAAC,gBAAgB,EAAE,4BAA4B,CAAC,QAAQ,CAAC,CAAA;IACjE,QAAQ,CAAC,iBAAiB,CAAC,EAAE,+BAA+B,CAAC,QAAQ,CAAC,CAAA;IACtE,QAAQ,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAAA;CAC7C;AAED,MAAM,WAAW,oCAAoC,CAAC,QAAQ;IAC5D,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAA;IAC1B,QAAQ,CAAC,MAAM,EAAE,4BAA4B,GAAG,IAAI,CAAA;IACpD,QAAQ,CAAC,MAAM,EACX,gBAAgB,GAChB,kBAAkB,GAClB,mBAAmB,GACnB,iBAAiB,GACjB,cAAc,CAAA;IAClB,QAAQ,CAAC,UAAU,CAAC,EAAE,kCAAkC,CAAC,QAAQ,CAAC,CAAA;IAClE,QAAQ,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAAA;IAC5C,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,CAAA;IACpC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CAC/B;AAED,MAAM,MAAM,+BAA+B,CAAC,QAAQ,IAAI,CACtD,OAAO,EAAE,oCAAoC,CAAC,QAAQ,CAAC,KACpD,SAAS,CAAA;AAad,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,EACpD,YAA8C,EAC9C,OAAO,EACP,WAAW,EACX,gBAAgB,EAChB,iBAA4C,EAC5C,OAAO,GACR,EAAE,gCAAgC,CAAC,QAAQ,CAAC,2UAqD5C"}
@@ -0,0 +1,119 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useCallback, useMemo } from 'react';
3
+ import { createPresentationDataSourceResolver, defaultPresentationComponentSet, findPresentationView, getRegionViewIds, } from '@cohesivesystems/presentation-core';
4
+ import { usePresentationModule, resolvePresentationViewRenderer, } from '@cohesivesystems/presentation-react';
5
+ import { ProjectedStatusBlock } from './projected-activity-state.js';
6
+ export function PresentationSurfaceRenderer({ componentSet = defaultPresentationComponentSet, context, dataSources, rendererRegistry, renderUnknownView = renderDefaultUnknownView, surface, }) {
7
+ const module = usePresentationModule();
8
+ const dataSourceResolver = useMemo(() => createPresentationDataSourceResolver(dataSources), [dataSources]);
9
+ if (!module) {
10
+ return renderUnknownView({
11
+ context,
12
+ module,
13
+ reason: 'missing-module',
14
+ surface,
15
+ view: null,
16
+ viewId: surface?.rootViewId ?? null,
17
+ });
18
+ }
19
+ if (!surface) {
20
+ return renderUnknownView({
21
+ context,
22
+ module,
23
+ reason: 'missing-surface',
24
+ surface,
25
+ view: null,
26
+ viewId: null,
27
+ });
28
+ }
29
+ const rootViewId = surface.rootView?.Id ?? surface.rootViewId;
30
+ if (!rootViewId) {
31
+ return renderUnknownView({
32
+ context,
33
+ module,
34
+ reason: 'missing-root-view',
35
+ surface,
36
+ view: null,
37
+ viewId: null,
38
+ });
39
+ }
40
+ return (_jsx(PresentationSurfaceViewRenderer, { componentSet: componentSet, context: context, dataSourceResolver: dataSourceResolver, module: module, rendererRegistry: rendererRegistry, renderUnknownView: renderUnknownView, surface: surface, viewId: rootViewId }));
41
+ }
42
+ function PresentationSurfaceViewRenderer({ componentSet, context, dataSourceResolver, module, rendererRegistry, renderUnknownView, surface, viewId, }) {
43
+ const view = findPresentationView(module, viewId);
44
+ const renderView = useCallback((childViewId) => (_jsx(PresentationSurfaceViewRenderer, { componentSet: componentSet, context: context, dataSourceResolver: dataSourceResolver, module: module, rendererRegistry: rendererRegistry, renderUnknownView: renderUnknownView, surface: surface, viewId: childViewId })), [
45
+ componentSet,
46
+ context,
47
+ dataSourceResolver,
48
+ module,
49
+ rendererRegistry,
50
+ renderUnknownView,
51
+ surface,
52
+ ]);
53
+ const renderRegions = useCallback((regionHostView, options) => renderPresentationViewRegions({
54
+ includeRegionIds: options?.includeRegionIds,
55
+ renderView,
56
+ view: regionHostView,
57
+ }), [renderView]);
58
+ if (!view) {
59
+ return renderUnknownView({
60
+ context,
61
+ module,
62
+ reason: 'missing-view',
63
+ surface,
64
+ view,
65
+ viewId,
66
+ });
67
+ }
68
+ const resolution = resolvePresentationViewRenderer({
69
+ componentSet,
70
+ module,
71
+ registry: rendererRegistry,
72
+ routeId: surface.navigationTarget.route.Id,
73
+ view,
74
+ });
75
+ if (!resolution.renderer) {
76
+ return renderUnknownView({
77
+ context,
78
+ module,
79
+ reason: 'missing-renderer',
80
+ resolution,
81
+ surface,
82
+ view,
83
+ viewId,
84
+ });
85
+ }
86
+ return resolution.renderer({
87
+ componentKey: resolution.componentKey,
88
+ componentRole: resolution.componentRole,
89
+ context,
90
+ dataSourceResolver,
91
+ module,
92
+ renderRegions,
93
+ renderView,
94
+ surface,
95
+ view,
96
+ });
97
+ }
98
+ function renderPresentationViewRegions({ includeRegionIds, renderView, view, }) {
99
+ const regions = includeRegionIds
100
+ ? view.Regions.filter((region) => includeRegionIds.includes(region.Id))
101
+ : view.Regions;
102
+ return regions.flatMap((region) => getRegionViewIds(region).map((childViewId) => (_jsx("div", { className: "min-h-0 w-full min-w-0", children: renderView(childViewId) }, `${region.Id}:${childViewId}`))));
103
+ }
104
+ function renderDefaultUnknownView({ reason, resolution, view, viewId, }) {
105
+ if (reason === 'missing-module') {
106
+ return _jsx(ProjectedStatusBlock, { label: "Presentation module is not available." });
107
+ }
108
+ if (reason === 'missing-surface') {
109
+ return _jsx(ProjectedStatusBlock, { label: "Presentation surface is not available." });
110
+ }
111
+ if (reason === 'missing-root-view') {
112
+ return _jsx(ProjectedStatusBlock, { label: "Presentation surface has no root view." });
113
+ }
114
+ if (reason === 'missing-view') {
115
+ return _jsx(ProjectedStatusBlock, { label: `Presentation view '${viewId ?? 'unknown'}' is not available.` });
116
+ }
117
+ return (_jsx(ProjectedStatusBlock, { label: `Presentation view '${view?.Name ?? viewId ?? 'unknown'}' has no renderer for semantic role '${resolution?.semanticRole ?? 'unknown'}'.` }));
118
+ }
119
+ //# sourceMappingURL=presentation-surface-renderer.js.map