@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,41 @@
1
+ import { createElement } from 'react';
2
+ import { mergeProjectedPromptChildViewRendererRegistries, promptChildViewSemanticRoles, } from './projected-prompt-child-view-renderer.js';
3
+ import { ProjectedDocumentWorkspacePromptPreviewProjection, ProjectedJsonDocumentDiffProjection, } from './projected-document-workspace-prompt-child-view-renderers.js';
4
+ import { promptChildViewComponentRoles, } from '@cohesivesystems/presentation-contracts';
5
+ /**
6
+ * Creates the standard prompt child-view registry for document workspaces.
7
+ *
8
+ * The backend declares semantic child views such as JSON document diffs and
9
+ * prompt document previews. This helper binds those roles to reusable
10
+ * document-workspace renderers while leaving the concrete projection render
11
+ * context to the app adapter.
12
+ */
13
+ export function createProjectedDocumentWorkspacePromptChildViewRegistry({ actionStatuses, createPromptPreviewRenderContext, projectionRenderers, registries = [], renderJsonDocumentDiff, renderPromptDocumentPreview, }) {
14
+ const jsonDocumentDiffRenderer = renderJsonDocumentDiff ?? ((context) => createElement(ProjectedJsonDocumentDiffProjection, {
15
+ componentSystem: context.componentSystem,
16
+ dataSourceResolver: context.dataSourceResolver,
17
+ view: context.view,
18
+ }));
19
+ const promptDocumentPreviewRenderer = renderPromptDocumentPreview ?? ((context) => createElement((ProjectedDocumentWorkspacePromptPreviewProjection), {
20
+ actionStatuses,
21
+ componentSystem: context.componentSystem,
22
+ createProjectionRenderContext: createPromptPreviewRenderContext,
23
+ dataSourceResolver: context.dataSourceResolver,
24
+ designSystem: context.designSystem,
25
+ projectionRenderers,
26
+ promptView: context.promptView,
27
+ view: context.view,
28
+ viewId: context.viewId,
29
+ }));
30
+ return mergeProjectedPromptChildViewRendererRegistries({
31
+ byComponentRole: {
32
+ [promptChildViewComponentRoles.jsonDocumentDiff]: jsonDocumentDiffRenderer,
33
+ [promptChildViewComponentRoles.promptDocumentPreview]: promptDocumentPreviewRenderer,
34
+ },
35
+ bySemanticRole: {
36
+ [promptChildViewSemanticRoles.jsonDocumentDiff]: jsonDocumentDiffRenderer,
37
+ [promptChildViewSemanticRoles.promptDocumentPreview]: promptDocumentPreviewRenderer,
38
+ },
39
+ }, ...registries);
40
+ }
41
+ //# sourceMappingURL=projected-document-workspace-prompt-child-view-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projected-document-workspace-prompt-child-view-registry.js","sourceRoot":"","sources":["../src/projected-document-workspace-prompt-child-view-registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAcrC,OAAO,EACL,+CAA+C,EAC/C,4BAA4B,GAG7B,MAAM,wCAAwC,CAAA;AAC/C,OAAO,EACL,iDAAiD,EACjD,mCAAmC,GAEpC,MAAM,4DAA4D,CAAA;AACnE,OAAO,EACL,6BAA6B,GAC9B,MAAM,yCAAyC,CAAA;AAqBhD;;;;;;;GAOG;AACH,MAAM,UAAU,uDAAuD,CAAW,EAChF,cAAc,EACd,gCAAgC,EAChC,mBAAmB,EACnB,UAAU,GAAG,EAAE,EACf,sBAAsB,EACtB,2BAA2B,GAC8C;IACzE,MAAM,wBAAwB,GAC5B,sBAAsB,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CACrC,aAAa,CAAC,mCAAmC,EAAE;QACjD,eAAe,EAAE,OAAO,CAAC,eAAe;QACxC,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;QAC9C,IAAI,EAAE,OAAO,CAAC,IAAI;KACnB,CAAC,CAAC,CAAA;IACP,MAAM,6BAA6B,GACjC,2BAA2B,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAC1C,aAAa,CAAC,CAAA,iDAA2D,CAAA,EAAE;QACzE,cAAc;QACd,eAAe,EAAE,OAAO,CAAC,eAAe;QACxC,6BAA6B,EAAE,gCAAgC;QAC/D,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;QAC9C,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,mBAAmB;QACnB,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC,CAAC,CAAA;IAEP,OAAO,+CAA+C,CACpD;QACE,eAAe,EAAE;YACf,CAAC,6BAA6B,CAAC,gBAAgB,CAAC,EAAE,wBAAwB;YAC1E,CAAC,6BAA6B,CAAC,qBAAqB,CAAC,EAAE,6BAA6B;SACrF;QACD,cAAc,EAAE;YACd,CAAC,4BAA4B,CAAC,gBAAgB,CAAC,EAAE,wBAAwB;YACzE,CAAC,4BAA4B,CAAC,qBAAqB,CAAC,EAAE,6BAA6B;SACpF;KACF,EACD,GAAG,UAAU,CACd,CAAA;AACH,CAAC"}
@@ -0,0 +1,32 @@
1
+ import type { DocumentWorkspaceProjectionRendererRegistry } from '@cohesivesystems/presentation-react';
2
+ import type { PresentationShadcnComponentSystem as PresentationComponentSystem } from './presentation-shadcn-component-system.js';
3
+ import type { PresentationDesignSystem } from '@cohesivesystems/presentation-tailwind';
4
+ import { type PresentationDataSourceResolver, type ProjectedDocumentActionStatusMap, type ProjectedPromptDocumentPreviewData, type ViewDefinition } from '@cohesivesystems/presentation-core';
5
+ export interface ProjectedDocumentWorkspacePromptPreviewRenderContextOptions {
6
+ readonly editorPath: string;
7
+ readonly editorText: string;
8
+ readonly isReadOnly: boolean;
9
+ readonly previewData: ProjectedPromptDocumentPreviewData;
10
+ readonly view: ViewDefinition;
11
+ }
12
+ interface ProjectedJsonDocumentDiffProjectionProps {
13
+ readonly componentSystem: PresentationComponentSystem;
14
+ readonly dataSourceResolver: PresentationDataSourceResolver;
15
+ readonly view: ViewDefinition;
16
+ }
17
+ interface ProjectedDocumentWorkspacePromptPreviewProjectionProps<TContext> {
18
+ readonly actionStatuses: ProjectedDocumentActionStatusMap;
19
+ readonly componentSystem: PresentationComponentSystem;
20
+ readonly createProjectionRenderContext: (context: ProjectedDocumentWorkspacePromptPreviewRenderContextOptions) => TContext;
21
+ readonly dataSourceResolver: PresentationDataSourceResolver;
22
+ readonly designSystem: PresentationDesignSystem;
23
+ readonly projectionRenderers: DocumentWorkspaceProjectionRendererRegistry<TContext, PresentationComponentSystem, PresentationDesignSystem>;
24
+ readonly promptView: ViewDefinition;
25
+ readonly statusRegionId?: string | null;
26
+ readonly view: ViewDefinition;
27
+ readonly viewId: string;
28
+ }
29
+ export declare function ProjectedJsonDocumentDiffProjection({ componentSystem, dataSourceResolver, view, }: ProjectedJsonDocumentDiffProjectionProps): string | number | bigint | boolean | Iterable<import("react").ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<import("react").ReactNode> | null | undefined> | import("react/jsx-runtime").JSX.Element | null | undefined;
30
+ export declare function ProjectedDocumentWorkspacePromptPreviewProjection<TContext>({ actionStatuses, createProjectionRenderContext, componentSystem, dataSourceResolver, designSystem, projectionRenderers, promptView, statusRegionId, view, viewId, }: ProjectedDocumentWorkspacePromptPreviewProjectionProps<TContext>): import("react/jsx-runtime").JSX.Element | null;
31
+ export {};
32
+ //# sourceMappingURL=projected-document-workspace-prompt-child-view-renderers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projected-document-workspace-prompt-child-view-renderers.d.ts","sourceRoot":"","sources":["../src/projected-document-workspace-prompt-child-view-renderers.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,2CAA2C,EAC5C,MAAM,qCAAqC,CAAA;AAC5C,OAAO,KAAK,EACV,iCAAiC,IAAI,2BAA2B,EACjE,MAAM,wCAAwC,CAAA;AAC/C,OAAO,KAAK,EACV,wBAAwB,EACzB,MAAM,wCAAwC,CAAA;AAC/C,OAAO,EASL,KAAK,8BAA8B,EACnC,KAAK,gCAAgC,EACrC,KAAK,kCAAkC,EACvC,KAAK,cAAc,EACpB,MAAM,oCAAoC,CAAA;AAQ3C,MAAM,WAAW,2DAA2D;IAC1E,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,WAAW,EAAE,kCAAkC,CAAA;IACxD,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAA;CAC9B;AAED,UAAU,wCAAwC;IAChD,QAAQ,CAAC,eAAe,EAAE,2BAA2B,CAAA;IACrD,QAAQ,CAAC,kBAAkB,EAAE,8BAA8B,CAAA;IAC3D,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAA;CAC9B;AAUD,UAAU,sDAAsD,CAAC,QAAQ;IACvE,QAAQ,CAAC,cAAc,EAAE,gCAAgC,CAAA;IACzD,QAAQ,CAAC,eAAe,EAAE,2BAA2B,CAAA;IACrD,QAAQ,CAAC,6BAA6B,EAAE,CACtC,OAAO,EAAE,2DAA2D,KACjE,QAAQ,CAAA;IACb,QAAQ,CAAC,kBAAkB,EAAE,8BAA8B,CAAA;IAC3D,QAAQ,CAAC,YAAY,EAAE,wBAAwB,CAAA;IAC/C,QAAQ,CAAC,mBAAmB,EAAE,2CAA2C,CACvE,QAAQ,EACR,2BAA2B,EAC3B,wBAAwB,CACzB,CAAA;IACD,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAA;IACnC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACvC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAA;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CACxB;AAED,wBAAgB,mCAAmC,CAAC,EAClD,eAAe,EACf,kBAAkB,EAClB,IAAI,GACL,EAAE,wCAAwC,2WAe1C;AAED,wBAAgB,iDAAiD,CAAC,QAAQ,EAAE,EAC1E,cAAc,EACd,6BAA6B,EAC7B,eAAe,EACf,kBAAkB,EAClB,YAAY,EACZ,mBAAmB,EACnB,UAAU,EACV,cAAc,EACd,IAAI,EACJ,MAAM,GACP,EAAE,sDAAsD,CAAC,QAAQ,CAAC,kDAyElE"}
@@ -0,0 +1,77 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { findPromptDocumentPreviewRegionId, findPromptDocumentPreviewStatusRegionId, getErrorMessage, readObjectProperty, resolvePromptDocumentPreviewPath, resolvePromptDocumentPreviewText, resolvePromptStatusMessages, resolvePromptStatusMessageText, } from '@cohesivesystems/presentation-core';
3
+ import { ProjectedStatusBlock, } from './projected-activity-state.js';
4
+ import { ProjectedPromptDocumentPreview, } from './projected-prompt-document-preview.js';
5
+ export function ProjectedJsonDocumentDiffProjection({ componentSystem, dataSourceResolver, view, }) {
6
+ const state = dataSourceResolver.resolveViewPrimary(view);
7
+ const data = state?.data;
8
+ if (!data || typeof data !== 'object') {
9
+ return _jsx(ProjectedStatusBlock, { label: "JSON diff data is not available." });
10
+ }
11
+ return componentSystem.documentWorkspaces.JsonDocumentDiff({
12
+ error: readString(data, 'error') ?? (state.error ? getErrorMessage(state.error) : null),
13
+ modified: readString(data, 'modified') ?? '',
14
+ original: readString(data, 'original') ?? '',
15
+ path: readString(data, 'path') ?? 'document.json',
16
+ title: readString(data, 'title') ?? view.Name,
17
+ viewId: view.Id,
18
+ });
19
+ }
20
+ export function ProjectedDocumentWorkspacePromptPreviewProjection({ actionStatuses, createProjectionRenderContext, componentSystem, dataSourceResolver, designSystem, projectionRenderers, promptView, statusRegionId, view, viewId, }) {
21
+ const previewDefinition = view.PromptDocumentPreview;
22
+ const previewRegionId = findPromptDocumentPreviewRegionId(promptView, view.Id) ?? view.Id;
23
+ const previewMessages = resolvePromptStatusMessages({
24
+ actionStatuses,
25
+ dataSourceResolver,
26
+ region: previewRegionId,
27
+ view: promptView,
28
+ });
29
+ const previewState = resolvePromptDocumentPreviewState({
30
+ dataSourceResolver,
31
+ view,
32
+ });
33
+ const preview = readPromptDocumentPreviewData({
34
+ state: previewState,
35
+ });
36
+ if (!preview) {
37
+ if (previewState?.error) {
38
+ return (_jsx(ProjectedStatusBlock, { label: getErrorMessage(previewState.error), tone: "error" }));
39
+ }
40
+ const pendingMessage = previewMessages[0];
41
+ return pendingMessage ? (_jsx(ProjectedStatusBlock, { label: pendingMessage.label, tone: pendingMessage.tone })) : null;
42
+ }
43
+ const previewError = previewMessages.find((message) => message.tone === 'error')?.label ?? null;
44
+ const resolvedStatusRegionId = statusRegionId ?? findPromptDocumentPreviewStatusRegionId(promptView, view.Id);
45
+ const statusLabel = resolvedStatusRegionId
46
+ ? resolvePromptStatusMessageText({
47
+ actionStatuses,
48
+ dataSourceResolver,
49
+ region: resolvedStatusRegionId,
50
+ view: promptView,
51
+ })
52
+ : null;
53
+ const previewText = resolvePromptDocumentPreviewText(previewDefinition, preview);
54
+ const previewRenderContext = createProjectionRenderContext({
55
+ editorPath: resolvePromptDocumentPreviewPath(previewDefinition, preview),
56
+ editorText: previewText,
57
+ isReadOnly: previewDefinition?.IsReadOnly ?? true,
58
+ previewData: preview,
59
+ view,
60
+ });
61
+ return (_jsx(ProjectedPromptDocumentPreview, { componentSystem: componentSystem, designSystem: designSystem, definition: previewDefinition, error: previewError, fallback: _jsx(ProjectedStatusBlock, { label: "Document preview workspace is not available." }), previewData: preview, projectionRenderContext: previewRenderContext, projectionRenderers: projectionRenderers, renderUnavailableProjection: () => (_jsx(ProjectedStatusBlock, { label: "This preview view is not available." })), statusLabel: statusLabel ?? undefined, viewId: viewId }));
62
+ }
63
+ function readPromptDocumentPreviewData({ state, }) {
64
+ return state?.data ?? null;
65
+ }
66
+ function resolvePromptDocumentPreviewState({ dataSourceResolver, view, }) {
67
+ const dataSourceId = view.PromptDocumentPreview?.DataSourceId;
68
+ if (dataSourceId) {
69
+ return dataSourceResolver.resolve(dataSourceId);
70
+ }
71
+ return dataSourceResolver.resolveViewPrimary(view);
72
+ }
73
+ function readString(source, key) {
74
+ const value = readObjectProperty(source, key);
75
+ return typeof value === 'string' ? value : null;
76
+ }
77
+ //# sourceMappingURL=projected-document-workspace-prompt-child-view-renderers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projected-document-workspace-prompt-child-view-renderers.js","sourceRoot":"","sources":["../src/projected-document-workspace-prompt-child-view-renderers.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,100 @@
1
+ import { type ReactNode } from 'react';
2
+ import { type PresentationDataSourceResolver, type PresentationDataSourceState, type PresentationDataSourceStateMap, type PresentationModuleDefinition, type ProjectedDocumentActionStatusMap, type DocumentWorkspaceProfileProjection, type ProjectedDocumentKind, type ProjectedDocumentResource } from '@cohesivesystems/presentation-core';
3
+ import { type DocumentWorkspaceProjectionRendererRegistry, type DocumentWorkspaceRuntimeSnapshot, type LocalFlowStateDataSourceState, type PresentationFlowRuntimeRegistrySnapshot } from '@cohesivesystems/presentation-react';
4
+ import type { PresentationActionGroupOptions } from './presentation-action-group.js';
5
+ import type { PresentationShadcnComponentSystem as PresentationComponentSystem } from './presentation-shadcn-component-system.js';
6
+ import type { PresentationDesignSystem } from '@cohesivesystems/presentation-tailwind';
7
+ import { type ProjectedDocumentWorkspaceProps } from './projected-document-workspace.js';
8
+ import { type ProjectedPresentationFlowLayerRenderContext } from './projected-presentation-flow-layer.js';
9
+ import { type PromptDocumentPreviewDataSourceState } from '@cohesivesystems/presentation-core';
10
+ import type { ProjectedPromptChildViewRendererRegistry } from './projected-prompt-child-view-renderer.js';
11
+ import type { PresentationBadgeTargetInterpreterRegistry } from './presentation-badge-target-interpreter.js';
12
+ export type ProjectedJsonDocumentValidation = {
13
+ readonly ok: true;
14
+ readonly value: unknown;
15
+ } | {
16
+ readonly ok: false;
17
+ };
18
+ export interface ProjectedDocumentWorkspaceSummaryValueContext {
19
+ readonly documentKind: ProjectedDocumentKind;
20
+ readonly editorText: string;
21
+ readonly fieldPaths: readonly string[];
22
+ readonly parsedDocument: unknown | undefined;
23
+ readonly validation: ProjectedJsonDocumentValidation;
24
+ }
25
+ export interface UseProjectedDocumentWorkspaceStateOptions<TProjection extends DocumentWorkspaceProfileProjection = DocumentWorkspaceProfileProjection> {
26
+ readonly createSummaryDataSourceValue?: (context: ProjectedDocumentWorkspaceSummaryValueContext) => unknown;
27
+ readonly dataSources: PresentationDataSourceStateMap;
28
+ readonly formatDocument?: (value: unknown) => string;
29
+ readonly projection: TProjection;
30
+ readonly resourceId: string;
31
+ readonly validateDocumentText?: (text: string) => ProjectedJsonDocumentValidation;
32
+ }
33
+ export interface ProjectedDocumentWorkspaceState<TMetadata = unknown> {
34
+ readonly dataSourceResolver: PresentationDataSourceResolver;
35
+ readonly editorPath: string;
36
+ readonly editorText: string;
37
+ readonly isEditorDirty: boolean;
38
+ readonly isMetadataPending: boolean;
39
+ readonly jsonValidation: ProjectedJsonDocumentValidation;
40
+ readonly metadata: TMetadata | undefined;
41
+ readonly metadataError: unknown;
42
+ readonly metadataState: PresentationDataSourceState<TMetadata> | undefined;
43
+ readonly parsedEditorDocument: unknown | undefined;
44
+ readonly persistedEditorText: string;
45
+ readonly projectedDataSources: PresentationDataSourceStateMap;
46
+ readonly resource: ProjectedDocumentResource | undefined;
47
+ readonly resourceKey: string | null;
48
+ readonly resourceState: PresentationDataSourceState<ProjectedDocumentResource> | undefined;
49
+ readonly resetEditorState: () => void;
50
+ readonly setEditorText: (text: string) => void;
51
+ readonly title: string;
52
+ }
53
+ export interface ProjectedDocumentWorkspaceShellProps<TProjectionContext> {
54
+ readonly actionGroupOptions?: PresentationActionGroupOptions<TProjectionContext>;
55
+ readonly actionStatuses?: ProjectedDocumentActionStatusMap;
56
+ readonly actionRegionId?: string;
57
+ readonly childViewRegistry?: ProjectedPromptChildViewRendererRegistry<TProjectionContext>;
58
+ readonly className?: string;
59
+ readonly componentSet?: string;
60
+ readonly componentSystem: PresentationComponentSystem;
61
+ readonly dataSourceResolver: PresentationDataSourceResolver;
62
+ readonly designSystem: PresentationDesignSystem;
63
+ readonly fallbackDescription: string;
64
+ readonly fallbackTitle: string;
65
+ readonly flowRegistry?: PresentationFlowRuntimeRegistrySnapshot;
66
+ readonly headerContent?: ReactNode;
67
+ readonly localFlowState?: LocalFlowStateDataSourceState | null;
68
+ readonly metadataBadgeInterpreters?: PresentationBadgeTargetInterpreterRegistry;
69
+ readonly metadataEntityReferenceRole?: string | null;
70
+ readonly module: PresentationModuleDefinition | null;
71
+ readonly promptDocumentPreviewState?: PromptDocumentPreviewDataSourceState | null;
72
+ readonly projectionRenderContext: TProjectionContext;
73
+ readonly projectionRenderers: DocumentWorkspaceProjectionRendererRegistry<TProjectionContext, PresentationComponentSystem, PresentationDesignSystem>;
74
+ readonly renderDocumentViewState?: (content: ReactNode) => ReactNode;
75
+ readonly renderUnavailableProjection?: (viewId: string) => ReactNode;
76
+ readonly readMetadataBadgeRole?: ProjectedDocumentWorkspaceProps<TProjectionContext>['readMetadataBadgeRole'];
77
+ readonly readMetadataFieldRole?: ProjectedDocumentWorkspaceProps<TProjectionContext>['readMetadataFieldRole'];
78
+ readonly resource: unknown;
79
+ readonly resourceBlockedLabel?: string;
80
+ readonly resourcePendingLabel?: string;
81
+ readonly resourceState?: PresentationDataSourceState | null;
82
+ readonly runtime: DocumentWorkspaceRuntimeSnapshot;
83
+ readonly shouldRenderFlowEntry?: (context: ProjectedPresentationFlowLayerRenderContext) => boolean;
84
+ }
85
+ /**
86
+ * Projects generic document workspace runtime state into the standard document
87
+ * editor surface and prompt layer.
88
+ *
89
+ * Product adapters still provide action runtimes, badge interpreters, prompt
90
+ * child renderers, and projection renderers. This shell owns the reusable
91
+ * mechanics around document resource state, local flow-state data sources, and
92
+ * prompt-preview data sources.
93
+ */
94
+ export declare function ProjectedDocumentWorkspaceShell<TProjectionContext>({ actionGroupOptions, actionStatuses, actionRegionId, childViewRegistry, className, componentSet, componentSystem, dataSourceResolver, designSystem, fallbackDescription, fallbackTitle, flowRegistry, headerContent, localFlowState, metadataBadgeInterpreters, metadataEntityReferenceRole, module, promptDocumentPreviewState, projectionRenderContext, projectionRenderers, renderDocumentViewState, renderUnavailableProjection, readMetadataBadgeRole, readMetadataFieldRole, resource, resourceBlockedLabel, resourcePendingLabel, resourceState, runtime, shouldRenderFlowEntry, }: ProjectedDocumentWorkspaceShellProps<TProjectionContext>): import("react/jsx-runtime").JSX.Element;
95
+ /**
96
+ * Resolves a projected document resource and derives local editor state for
97
+ * JSON-document workspaces.
98
+ */
99
+ export declare function useProjectedDocumentWorkspaceState<TMetadata = unknown, TProjection extends DocumentWorkspaceProfileProjection = DocumentWorkspaceProfileProjection>({ createSummaryDataSourceValue, dataSources, formatDocument, projection, resourceId, validateDocumentText, }: UseProjectedDocumentWorkspaceStateOptions<TProjection>): ProjectedDocumentWorkspaceState<TMetadata>;
100
+ //# sourceMappingURL=projected-document-workspace-shell.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projected-document-workspace-shell.d.ts","sourceRoot":"","sources":["../src/projected-document-workspace-shell.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,153 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ /* eslint-disable react-refresh/only-export-components */
3
+ import { useCallback, useMemo, useState, } from 'react';
4
+ import { createDocumentResourceEditorKey, createPresentationDataSourceResolver, readDocumentResourceDocument, readDocumentResourceTitle, createQueryActivityState, presentationDataSourceAuthorization, presentationDataSourceBindings, } from '@cohesivesystems/presentation-core';
5
+ import { createLocalFlowStateDataSourceBindings, usePresentationDataSources, } from '@cohesivesystems/presentation-react';
6
+ import { ProjectedActivityStateBoundary, ProjectedStatusBlock, } from './projected-activity-state.js';
7
+ import { ProjectedDocumentWorkspace, } from './projected-document-workspace.js';
8
+ import { ProjectedPresentationFlowLayer, } from './projected-presentation-flow-layer.js';
9
+ import { createPromptDocumentPreviewDataSourceBindings, } from '@cohesivesystems/presentation-core';
10
+ const emptyPresentationFlowEntries = [];
11
+ /**
12
+ * Projects generic document workspace runtime state into the standard document
13
+ * editor surface and prompt layer.
14
+ *
15
+ * Product adapters still provide action runtimes, badge interpreters, prompt
16
+ * child renderers, and projection renderers. This shell owns the reusable
17
+ * mechanics around document resource state, local flow-state data sources, and
18
+ * prompt-preview data sources.
19
+ */
20
+ export function ProjectedDocumentWorkspaceShell({ actionGroupOptions, actionStatuses, actionRegionId, childViewRegistry, className, componentSet, componentSystem, dataSourceResolver, designSystem, fallbackDescription, fallbackTitle, flowRegistry, headerContent, localFlowState, metadataBadgeInterpreters, metadataEntityReferenceRole, module, promptDocumentPreviewState, projectionRenderContext, projectionRenderers, renderDocumentViewState, renderUnavailableProjection = renderDefaultUnavailableProjection, readMetadataBadgeRole, readMetadataFieldRole, resource, resourceBlockedLabel = 'Attach an authenticated context to load this document.', resourcePendingLabel = 'Loading document...', resourceState, runtime, shouldRenderFlowEntry, }) {
21
+ const activeFlowEntries = useMemo(() => flowRegistry?.activeEntries ?? emptyPresentationFlowEntries, [flowRegistry?.activeEntries]);
22
+ const hasRenderableFlowEntries = useMemo(() => activeFlowEntries.some((entry) => {
23
+ if (!entry.view) {
24
+ return false;
25
+ }
26
+ return shouldRenderFlowEntry?.({ ...entry, view: entry.view }) !== false;
27
+ }), [activeFlowEntries, shouldRenderFlowEntry]);
28
+ const localFlowStateDataSourceBindings = useMemo(() => createLocalFlowStateDataSourceBindings({
29
+ activeEntries: activeFlowEntries,
30
+ authorization: presentationDataSourceAuthorization.none(),
31
+ module,
32
+ state: localFlowState,
33
+ }), [activeFlowEntries, localFlowState, module]);
34
+ const promptDocumentPreviewDataSourceBindings = useMemo(() => createPromptDocumentPreviewDataSourceBindings({
35
+ activeEntries: activeFlowEntries,
36
+ authorization: presentationDataSourceAuthorization.none(),
37
+ module,
38
+ state: promptDocumentPreviewState,
39
+ }), [activeFlowEntries, module, promptDocumentPreviewState]);
40
+ const localFlowStateDataSources = usePresentationDataSources(localFlowStateDataSourceBindings);
41
+ const promptDocumentPreviewDataSources = usePresentationDataSources(promptDocumentPreviewDataSourceBindings);
42
+ const promptDataSourceResolver = useMemo(() => createPresentationDataSourceResolver({
43
+ ...dataSourceResolver.dataSources,
44
+ ...localFlowStateDataSources,
45
+ ...promptDocumentPreviewDataSources,
46
+ }), [
47
+ dataSourceResolver.dataSources,
48
+ localFlowStateDataSources,
49
+ promptDocumentPreviewDataSources,
50
+ ]);
51
+ const renderWorkspaceViewState = renderDocumentViewState ?? ((content) => (_jsx(ProjectedActivityStateBoundary, { componentSystem: componentSystem, state: createQueryActivityState({
52
+ blockedLabel: resourceState?.blockedLabel ?? resourceBlockedLabel,
53
+ error: resourceState?.error,
54
+ isBlocked: Boolean(resourceState?.isBlocked),
55
+ isPending: Boolean(resourceState?.isPending),
56
+ pendingLabel: resourceState?.pendingLabel ?? resourcePendingLabel,
57
+ }), children: content })));
58
+ return (_jsx(ProjectedDocumentWorkspace, { actionGroupOptions: actionGroupOptions, className: className, componentSystem: componentSystem, dataSourceResolver: dataSourceResolver, designSystem: designSystem, fallbackDescription: fallbackDescription, fallbackTitle: fallbackTitle, headerContent: headerContent, metadataBadgeInterpreters: metadataBadgeInterpreters, metadataEntityReferenceRole: metadataEntityReferenceRole, projectionRenderContext: projectionRenderContext, projectionRenderers: projectionRenderers, renderDocumentViewState: renderWorkspaceViewState, renderUnavailableProjection: renderUnavailableProjection, readMetadataBadgeRole: readMetadataBadgeRole, readMetadataFieldRole: readMetadataFieldRole, resource: resource, runtime: runtime, children: flowRegistry && childViewRegistry && hasRenderableFlowEntries ? (_jsx(ProjectedPresentationFlowLayer, { actionGroupOptions: actionGroupOptions, actionStatuses: actionStatuses, actionRegionId: actionRegionId, childViewRegistry: childViewRegistry, componentSet: componentSet, componentSystem: componentSystem, context: projectionRenderContext, dataSourceResolver: promptDataSourceResolver, designSystem: designSystem, flowRegistry: flowRegistry, module: module, shouldRenderEntry: shouldRenderFlowEntry })) : null }));
59
+ }
60
+ /**
61
+ * Resolves a projected document resource and derives local editor state for
62
+ * JSON-document workspaces.
63
+ */
64
+ export function useProjectedDocumentWorkspaceState({ createSummaryDataSourceValue, dataSources, formatDocument = formatProjectedJsonDocument, projection, resourceId, validateDocumentText = validateProjectedJsonDocument, }) {
65
+ const [editorState, setEditorState] = useState(null);
66
+ const boundDataSourceResolver = useMemo(() => createPresentationDataSourceResolver(dataSources), [dataSources]);
67
+ const resourceState = boundDataSourceResolver.resolve(projection.dataSourceId);
68
+ const metadataState = projection.metadata
69
+ ? boundDataSourceResolver.resolve(projection.metadata.dataSourceId)
70
+ : undefined;
71
+ const resource = resourceState?.data;
72
+ const resourceKey = resource ? createDocumentResourceEditorKey(projection, resource) : null;
73
+ const persistedEditorText = resource
74
+ ? formatDocument(readDocumentResourceDocument(projection, resource))
75
+ : '';
76
+ const editorText = resource && editorState?.resourceKey === resourceKey
77
+ ? editorState.text
78
+ : resource
79
+ ? persistedEditorText
80
+ : '';
81
+ const isEditorDirty = Boolean(resource && editorText !== persistedEditorText);
82
+ const jsonValidation = validateDocumentText(editorText);
83
+ const parsedEditorDocument = jsonValidation.ok ? jsonValidation.value : undefined;
84
+ const title = resource ? readDocumentResourceTitle(projection, resource) : projection.label;
85
+ const editorPath = projection.editorPath(resourceId);
86
+ const summaryDataSourceBindings = useMemo(() => resource && projection.summary && createSummaryDataSourceValue
87
+ ? [
88
+ presentationDataSourceBindings.localValue({
89
+ authorization: presentationDataSourceAuthorization.none(),
90
+ data: createSummaryDataSourceValue({
91
+ documentKind: projection.documentKind,
92
+ editorText,
93
+ fieldPaths: projection.summary.fieldPaths,
94
+ parsedDocument: parsedEditorDocument,
95
+ validation: jsonValidation,
96
+ }),
97
+ dataSourceId: projection.summary.dataSourceId,
98
+ }),
99
+ ]
100
+ : [], [
101
+ createSummaryDataSourceValue,
102
+ editorText,
103
+ jsonValidation,
104
+ parsedEditorDocument,
105
+ projection.documentKind,
106
+ projection.summary,
107
+ resource,
108
+ ]);
109
+ const summaryDataSources = usePresentationDataSources(summaryDataSourceBindings);
110
+ const projectedDataSources = useMemo(() => ({ ...dataSources, ...summaryDataSources }), [dataSources, summaryDataSources]);
111
+ const dataSourceResolver = useMemo(() => createPresentationDataSourceResolver(projectedDataSources), [projectedDataSources]);
112
+ const resetEditorState = useCallback(() => setEditorState(null), []);
113
+ const setEditorText = useCallback((text) => {
114
+ if (resourceKey) {
115
+ setEditorState({ resourceKey, text });
116
+ }
117
+ }, [resourceKey]);
118
+ return {
119
+ dataSourceResolver,
120
+ editorPath,
121
+ editorText,
122
+ isEditorDirty,
123
+ isMetadataPending: Boolean(metadataState?.isPending && !metadataState.data),
124
+ jsonValidation,
125
+ metadata: metadataState?.data,
126
+ metadataError: metadataState?.error,
127
+ metadataState,
128
+ parsedEditorDocument,
129
+ persistedEditorText,
130
+ projectedDataSources,
131
+ resource,
132
+ resourceKey,
133
+ resourceState,
134
+ resetEditorState,
135
+ setEditorText,
136
+ title,
137
+ };
138
+ }
139
+ function renderDefaultUnavailableProjection() {
140
+ return _jsx(ProjectedStatusBlock, { label: "This document view is not available." });
141
+ }
142
+ function formatProjectedJsonDocument(value) {
143
+ return JSON.stringify(value ?? null, null, 2);
144
+ }
145
+ function validateProjectedJsonDocument(value) {
146
+ try {
147
+ return { ok: true, value: JSON.parse(value) };
148
+ }
149
+ catch {
150
+ return { ok: false };
151
+ }
152
+ }
153
+ //# sourceMappingURL=projected-document-workspace-shell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projected-document-workspace-shell.js","sourceRoot":"","sources":["../src/projected-document-workspace-shell.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ import { type ReactNode } from 'react';
2
+ import { type DocumentWorkspaceProjectionRendererRegistry, type DocumentWorkspaceRuntimeSnapshot } from '@cohesivesystems/presentation-react';
3
+ import { type PresentationDataSourceResolver } from '@cohesivesystems/presentation-core';
4
+ import type { PresentationShadcnComponentSystem as PresentationComponentSystem } from './presentation-shadcn-component-system.js';
5
+ import type { PresentationDesignSystem } from '@cohesivesystems/presentation-tailwind';
6
+ import { type ProjectedDocumentEditorSurfaceProps } from './projected-document-editor-surface.js';
7
+ import type { PresentationBadgeTargetInterpreterRegistry } from './presentation-badge-target-interpreter.js';
8
+ import type { PresentationActionGroupOptions } from './presentation-action-group.js';
9
+ import { type ProjectedMetricValue } from './projected-metric-strip.js';
10
+ export interface ProjectedDocumentWorkspaceProps<TProjectionContext> {
11
+ readonly actionGroupOptions?: PresentationActionGroupOptions<TProjectionContext>;
12
+ readonly children?: ReactNode;
13
+ readonly className?: string;
14
+ readonly componentSystem: PresentationComponentSystem;
15
+ readonly dataSourceResolver: PresentationDataSourceResolver;
16
+ readonly designSystem: PresentationDesignSystem;
17
+ readonly fallbackDescription: string;
18
+ readonly fallbackTitle: string;
19
+ readonly headerContent?: ReactNode;
20
+ readonly metadataBadgeInterpreters?: PresentationBadgeTargetInterpreterRegistry;
21
+ readonly metadataEntityReferenceRole?: string | null;
22
+ readonly metricMessage?: ReactNode;
23
+ readonly metricValues?: Readonly<Record<string, ProjectedMetricValue>>;
24
+ readonly projectionRenderContext: TProjectionContext;
25
+ readonly projectionRenderers: DocumentWorkspaceProjectionRendererRegistry<TProjectionContext, PresentationComponentSystem, PresentationDesignSystem>;
26
+ readonly renderDocumentViewState?: (content: ReactNode) => ReactNode;
27
+ readonly renderUnavailableProjection?: (viewId: string) => ReactNode;
28
+ readonly readMetadataBadgeRole?: ProjectedDocumentEditorSurfaceProps<TProjectionContext>['readMetadataBadgeRole'];
29
+ readonly readMetadataFieldRole?: ProjectedDocumentEditorSurfaceProps<TProjectionContext>['readMetadataFieldRole'];
30
+ readonly resource: unknown;
31
+ readonly runtime: DocumentWorkspaceRuntimeSnapshot;
32
+ }
33
+ /**
34
+ * Projects a semantic document workspace runtime into the standard document
35
+ * editor surface. Route components provide data/actions; this renderer owns
36
+ * view resolution, layout state binding, and projection renderer lookup.
37
+ */
38
+ export declare function ProjectedDocumentWorkspace<TProjectionContext>({ actionGroupOptions, children, className, componentSystem, dataSourceResolver, designSystem, fallbackDescription, fallbackTitle, headerContent, metadataBadgeInterpreters, metadataEntityReferenceRole, metricMessage: metricMessageOverride, metricValues, projectionRenderContext, projectionRenderers, renderDocumentViewState, renderUnavailableProjection, readMetadataBadgeRole, readMetadataFieldRole, resource, runtime, }: ProjectedDocumentWorkspaceProps<TProjectionContext>): import("react/jsx-runtime").JSX.Element;
39
+ //# sourceMappingURL=projected-document-workspace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projected-document-workspace.d.ts","sourceRoot":"","sources":["../src/projected-document-workspace.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAE/C,OAAO,EACL,KAAK,2CAA2C,EAChD,KAAK,gCAAgC,EAGtC,MAAM,qCAAqC,CAAA;AAC5C,OAAO,EAGL,KAAK,8BAA8B,EAEpC,MAAM,oCAAoC,CAAA;AAC3C,OAAO,KAAK,EACV,iCAAiC,IAAI,2BAA2B,EACjE,MAAM,wCAAwC,CAAA;AAC/C,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAA;AACtF,OAAO,EAEL,KAAK,mCAAmC,EACzC,MAAM,qCAAqC,CAAA;AAC5C,OAAO,KAAK,EACV,0CAA0C,EAC3C,MAAM,yCAAyC,CAAA;AAEhD,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,6BAA6B,CAAA;AACjF,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,0BAA0B,CAAA;AAKpE,MAAM,WAAW,+BAA+B,CAAC,kBAAkB;IACjE,QAAQ,CAAC,kBAAkB,CAAC,EAAE,8BAA8B,CAAC,kBAAkB,CAAC,CAAA;IAChF,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,eAAe,EAAE,2BAA2B,CAAA;IACrD,QAAQ,CAAC,kBAAkB,EAAE,8BAA8B,CAAA;IAC3D,QAAQ,CAAC,YAAY,EAAE,wBAAwB,CAAA;IAC/C,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAA;IACpC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,CAAA;IAClC,QAAQ,CAAC,yBAAyB,CAAC,EAAE,0CAA0C,CAAA;IAC/E,QAAQ,CAAC,2BAA2B,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACpD,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,CAAA;IAClC,QAAQ,CAAC,YAAY,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAA;IACtE,QAAQ,CAAC,uBAAuB,EAAE,kBAAkB,CAAA;IACpD,QAAQ,CAAC,mBAAmB,EAAE,2CAA2C,CACvE,kBAAkB,EAClB,2BAA2B,EAC3B,wBAAwB,CACzB,CAAA;IACD,QAAQ,CAAC,uBAAuB,CAAC,EAAE,CAAC,OAAO,EAAE,SAAS,KAAK,SAAS,CAAA;IACpE,QAAQ,CAAC,2BAA2B,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,SAAS,CAAA;IACpE,QAAQ,CAAC,qBAAqB,CAAC,EAC7B,mCAAmC,CAAC,kBAAkB,CAAC,CAAC,uBAAuB,CAAC,CAAA;IAClF,QAAQ,CAAC,qBAAqB,CAAC,EAC7B,mCAAmC,CAAC,kBAAkB,CAAC,CAAC,uBAAuB,CAAC,CAAA;IAClF,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;IAC1B,QAAQ,CAAC,OAAO,EAAE,gCAAgC,CAAA;CACnD;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,kBAAkB,EAAE,EAC7D,kBAAkB,EAClB,QAAQ,EACR,SAAS,EACT,eAAe,EACf,kBAAkB,EAClB,YAAY,EACZ,mBAAmB,EACnB,aAAa,EACb,aAAa,EACb,yBAAyB,EACzB,2BAA2B,EAC3B,aAAa,EAAE,qBAAqB,EACpC,YAAgC,EAChC,uBAAuB,EACvB,mBAAmB,EACnB,uBAAuB,EACvB,2BAAgE,EAChE,qBAAqB,EACrB,qBAAqB,EACrB,QAAQ,EACR,OAAO,GACR,EAAE,+BAA+B,CAAC,kBAAkB,CAAC,2CAmErD"}
@@ -0,0 +1,63 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useMemo } from 'react';
3
+ import { renderDocumentWorkspaceProjection, usePresentationModule, } from '@cohesivesystems/presentation-react';
4
+ import { findDocumentProfileDataSource, documentSummaryStructuralMessageFieldPath, } from '@cohesivesystems/presentation-core';
5
+ import { ProjectedDocumentEditorSurface, } from './projected-document-editor-surface.js';
6
+ import { ProjectedStatusBlock } from './projected-activity-state.js';
7
+ import {} from './projected-metric-strip.js';
8
+ import { documentDataSourceRoles } from '@cohesivesystems/presentation-contracts';
9
+ const emptyMetricValues = {};
10
+ /**
11
+ * Projects a semantic document workspace runtime into the standard document
12
+ * editor surface. Route components provide data/actions; this renderer owns
13
+ * view resolution, layout state binding, and projection renderer lookup.
14
+ */
15
+ export function ProjectedDocumentWorkspace({ actionGroupOptions, children, className, componentSystem, dataSourceResolver, designSystem, fallbackDescription, fallbackTitle, headerContent, metadataBadgeInterpreters, metadataEntityReferenceRole, metricMessage: metricMessageOverride, metricValues = emptyMetricValues, projectionRenderContext, projectionRenderers, renderDocumentViewState, renderUnavailableProjection = renderDefaultUnavailableProjection, readMetadataBadgeRole, readMetadataFieldRole, resource, runtime, }) {
16
+ const module = usePresentationModule();
17
+ const activeViewId = runtime.activeViewId && runtime.projectionViewIds.includes(runtime.activeViewId)
18
+ ? runtime.activeViewId
19
+ : (runtime.projectionViewIds[0] ?? '');
20
+ const metricMessage = metricMessageOverride ??
21
+ renderDocumentSummaryMetricMessage(runtime, dataSourceResolver);
22
+ const projectedMetricValues = useMemo(() => ({
23
+ ...createDocumentProfileMetricValues(runtime.documentProfile.MetricSources ?? [], dataSourceResolver),
24
+ ...metricValues,
25
+ }), [dataSourceResolver, metricValues, runtime.documentProfile.MetricSources]);
26
+ function renderDocumentView(viewId) {
27
+ return (renderDocumentWorkspaceProjection(runtime, projectionRenderers, projectionRenderContext, viewId, { componentSystem, designSystem, module }) ?? renderUnavailableProjection(viewId));
28
+ }
29
+ return (_jsx(ProjectedDocumentEditorSurface, { actionContext: projectionRenderContext, actionGroupOptions: actionGroupOptions, activeViewId: activeViewId, className: className, componentSystem: componentSystem, dataSourceResolver: dataSourceResolver, designSystem: designSystem, documentViewIds: runtime.projectionViewIds, fallbackDescription: fallbackDescription, fallbackTitle: fallbackTitle, fallbackViewIds: runtime.projectionViewIds, headerContent: headerContent, activeLayoutModeId: runtime.activeLayoutModeId, layout: runtime.layout, metadataBadgeInterpreters: metadataBadgeInterpreters, metadataEntityReferenceRole: metadataEntityReferenceRole, metricMessage: metricMessage, metricValues: projectedMetricValues, onActiveViewIdChange: runtime.setActiveViewId, onLayoutChange: runtime.setLayout, pageViewId: runtime.pageView.Id, projections: runtime.projections, renderDocumentView: renderDocumentView, renderDocumentViewState: renderDocumentViewState, readMetadataBadgeRole: readMetadataBadgeRole, readMetadataFieldRole: readMetadataFieldRole, resource: resource, workspace: runtime.workspace, workspaceLayout: runtime.documentProfile.Layout, children: children }));
30
+ }
31
+ function renderDefaultUnavailableProjection() {
32
+ return _jsx(ProjectedStatusBlock, { label: "This document view is not available." });
33
+ }
34
+ function createDocumentProfileMetricValues(metricSources, dataSourceResolver) {
35
+ return Object.fromEntries(metricSources.flatMap((metricSource) => {
36
+ const value = dataSourceResolver.readPath(metricSource.Source.DataSourceId, metricSource.Source.FieldPath);
37
+ if (value === undefined) {
38
+ return [];
39
+ }
40
+ return [
41
+ [
42
+ metricSource.FieldId,
43
+ {
44
+ value: formatDocumentProfileMetricValue(value),
45
+ },
46
+ ],
47
+ ];
48
+ }));
49
+ }
50
+ function formatDocumentProfileMetricValue(value) {
51
+ if (value === null || value === '') {
52
+ return 'none';
53
+ }
54
+ return String(value);
55
+ }
56
+ function renderDocumentSummaryMetricMessage(runtime, dataSourceResolver) {
57
+ const summaryDataSource = findDocumentProfileDataSource(runtime.documentProfile, documentDataSourceRoles.summary);
58
+ const message = summaryDataSource
59
+ ? dataSourceResolver.readPath(summaryDataSource.DataSource.DataSourceId, documentSummaryStructuralMessageFieldPath)
60
+ : undefined;
61
+ return typeof message === 'string' && message.length > 0 ? (_jsx("p", { className: "text-xs text-slate-500", children: message })) : null;
62
+ }
63
+ //# sourceMappingURL=projected-document-workspace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projected-document-workspace.js","sourceRoot":"","sources":["../src/projected-document-workspace.tsx"],"names":[],"mappings":"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"}