@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,614 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useMemo } from 'react';
3
+ import { createPresentationProjectionDiagnostic, createViewChromeSlotRendererRegistry, findDocumentFieldNavigationRouteBinding, findPresentationField, findPresentationView, formatPresentationValue, getViewChromeSlotRendererRegistryKeys, isProjectedDocumentEntityReferenceField, projectDocumentFieldNavigation, readPresentationFieldValue, resolvePresentationBadges, resolvePresentationValue, resolvePromptStatusMessages, resolveViewChromeSlotRenderer, viewChromeIconIds, } from '@cohesivesystems/presentation-core';
4
+ import { PresentationActionGroup, } from './presentation-action-group.js';
5
+ import { renderPresentationIcon, } from './presentation-icon-registry.js';
6
+ import { usePresentationNavigationRuntime, useRegisterPresentationProjectionDiagnostics, } from '@cohesivesystems/presentation-react';
7
+ import { interpretPresentationBadgeTarget, } from './presentation-badge-target-interpreter.js';
8
+ import { ProjectedPresentationBadge, } from './projected-presentation-badges.js';
9
+ import { renderProjectedEntityReferenceValue, } from './projected-field-value-rendering.js';
10
+ import { ProjectedStatusBlock } from './projected-activity-state.js';
11
+ import { ProjectedMetricStrip, } from './projected-metric-strip.js';
12
+ import { viewChromeSlotKinds, } from '@cohesivesystems/presentation-contracts';
13
+ export const standardViewChromeSlotRenderers = createViewChromeSlotRendererRegistry([
14
+ {
15
+ kind: viewChromeSlotKinds.actions,
16
+ render: renderStandardViewActions,
17
+ },
18
+ {
19
+ kind: viewChromeSlotKinds.badgeStrip,
20
+ render: renderStandardViewBadgeStrip,
21
+ },
22
+ {
23
+ kind: viewChromeSlotKinds.metricStrip,
24
+ render: renderStandardViewMetricStrip,
25
+ },
26
+ {
27
+ kind: viewChromeSlotKinds.viewSwitch,
28
+ render: renderStandardViewSwitch,
29
+ },
30
+ {
31
+ kind: viewChromeSlotKinds.layoutSwitch,
32
+ render: renderStandardLayoutSwitch,
33
+ },
34
+ {
35
+ kind: viewChromeSlotKinds.headingTrailing,
36
+ render: renderStandardViewBadgeStrip,
37
+ },
38
+ {
39
+ kind: viewChromeSlotKinds.status,
40
+ render: renderStandardViewStatus,
41
+ },
42
+ ]);
43
+ export const standardViewChromeSlotRendererKeys = getViewChromeSlotRendererRegistryKeys(standardViewChromeSlotRenderers);
44
+ const emptyMetricValues = {};
45
+ export function renderStandardViewChromeSlot(context) {
46
+ const renderer = resolveViewChromeSlotRenderer(standardViewChromeSlotRenderers, context.slot);
47
+ return renderer?.(context) ?? null;
48
+ }
49
+ function renderStandardViewActions({ actionContext, actionGroupOptions, componentSystem, dataSourceResolver, designSystem, module, slot, view, }) {
50
+ if (!actionGroupOptions || !module || !view) {
51
+ return null;
52
+ }
53
+ return componentSystem.viewChrome.ActionSlot({
54
+ children: (_jsx(PresentationActionGroup, { context: actionContext, dataSourceResolver: dataSourceResolver, module: module, options: {
55
+ ...actionGroupOptions,
56
+ componentSystem,
57
+ designSystem,
58
+ }, view: view })),
59
+ slotId: slot.Id,
60
+ viewId: view.Id,
61
+ });
62
+ }
63
+ function renderStandardViewBadgeStrip({ componentSystem, createHref, designSystem, badgeInterpreters, metadataEntityReferenceRole, module, navigateHref, readMetadataBadgeRole, readMetadataFieldRole, resource, slot, view, }) {
64
+ return (_jsx(ProjectedViewBadgeStrip, { badges: slot.Badges ?? [], componentSystem: componentSystem, designSystem: designSystem, badgeInterpreters: badgeInterpreters, createHref: createHref, fieldIds: slot.FieldIds ?? [], metadataEntityReferenceRole: metadataEntityReferenceRole, module: module, navigateHref: navigateHref, readMetadataBadgeRole: readMetadataBadgeRole, readMetadataFieldRole: readMetadataFieldRole, resource: resource, slotId: slot.Id, viewId: view?.Id, viewName: view?.Name }));
65
+ }
66
+ function renderStandardViewMetricStrip({ componentSystem, dataSourceResolver, metricMessage, metricValues = emptyMetricValues, slot, view, }) {
67
+ if (!slot.FieldIds || slot.FieldIds.length === 0) {
68
+ return null;
69
+ }
70
+ return componentSystem.viewChrome.MetricStripSlot({
71
+ children: (_jsx(ProjectedMetricStrip, { className: "sm:grid-cols-2 lg:grid-cols-4", componentSystem: componentSystem, dataSourceResolver: dataSourceResolver, fieldIds: slot.FieldIds, values: metricValues, viewId: view?.Id })),
72
+ message: metricMessage,
73
+ slotId: slot.Id,
74
+ viewId: view?.Id,
75
+ });
76
+ }
77
+ function renderStandardViewStatus({ actionStatuses = {}, componentSystem, dataSourceResolver, resource, slot, view, }) {
78
+ const promptMessages = view?.PromptStatusMessages
79
+ ? resolvePromptStatusMessages({
80
+ actionStatuses,
81
+ dataSourceResolver,
82
+ region: slot.StateId ?? slot.Id,
83
+ view,
84
+ })
85
+ : [];
86
+ const literalValue = formatPresentationValue(resolvePresentationValue(slot.Value, resource));
87
+ const messages = promptMessages.length > 0
88
+ ? promptMessages
89
+ : literalValue
90
+ ? [{ label: literalValue, tone: 'default' }]
91
+ : [];
92
+ if (messages.length === 0) {
93
+ return null;
94
+ }
95
+ return (_jsx("div", { className: "grid gap-2", children: messages.map((message, index) => (_jsx(ProjectedStatusBlock, { componentSystem: componentSystem, label: message.label, tone: message.tone }, promptMessages[index]?.definition.Id ?? `${slot.Id}:${index}`))) }));
96
+ }
97
+ function renderStandardViewSwitch({ activeViewId, componentSystem, documentViewIds, module, onActiveViewIdChange, slot, workspaceView, }) {
98
+ const viewIds = documentViewIds && documentViewIds.length > 0
99
+ ? documentViewIds
100
+ : slot.ViewIds;
101
+ if (viewIds.length <= 1 || !activeViewId || !onActiveViewIdChange) {
102
+ return null;
103
+ }
104
+ return componentSystem.viewChrome.ViewSwitch({
105
+ ariaLabel: 'Document view',
106
+ items: viewIds.map((viewId) => {
107
+ const label = getDocumentViewLabel(module, workspaceView ?? null, viewId);
108
+ const icon = resolveDocumentViewIcon(label, viewId);
109
+ return {
110
+ icon: renderViewChromeIcon({
111
+ fallbackIcon: icon.fallbackIcon,
112
+ icon: icon.id,
113
+ module,
114
+ }),
115
+ id: viewId,
116
+ isActive: activeViewId === viewId,
117
+ label,
118
+ onSelect: () => onActiveViewIdChange(viewId),
119
+ };
120
+ }),
121
+ slotId: slot.Id,
122
+ viewId: workspaceView?.Id,
123
+ });
124
+ }
125
+ function renderStandardLayoutSwitch({ componentSystem, layout, module, onLayoutChange, slot, view, }) {
126
+ if (!layout || !onLayoutChange) {
127
+ return null;
128
+ }
129
+ return componentSystem.viewChrome.LayoutSwitch({
130
+ ariaLabel: 'Document layout',
131
+ items: [
132
+ {
133
+ icon: renderViewChromeIcon({
134
+ fallbackIcon: 'square',
135
+ icon: viewChromeIconIds.layoutSingle,
136
+ module,
137
+ }),
138
+ id: 'single',
139
+ isActive: layout === 'single',
140
+ label: 'Single',
141
+ onSelect: () => onLayoutChange('single'),
142
+ },
143
+ {
144
+ icon: renderViewChromeIcon({
145
+ fallbackIcon: 'columns-2',
146
+ icon: viewChromeIconIds.layoutSplit,
147
+ module,
148
+ }),
149
+ id: 'split',
150
+ isActive: layout === 'split',
151
+ label: 'Split',
152
+ onSelect: () => onLayoutChange('split'),
153
+ },
154
+ ],
155
+ slotId: slot.Id,
156
+ viewId: view?.Id,
157
+ });
158
+ }
159
+ export function ProjectedViewBadgeStrip({ badges, componentSystem, createHref, designSystem, badgeInterpreters, fieldIds, metadataEntityReferenceRole, module, navigateHref, readMetadataBadgeRole, readMetadataFieldRole, resource, slotId = 'adhoc', viewId, viewName, }) {
160
+ const navigation = usePresentationNavigationRuntime();
161
+ const resolvedCreateHref = createHref ?? navigation.createHref;
162
+ const resolvedNavigateHref = navigateHref ?? navigation.navigateHref;
163
+ const badgeDefinitions = useMemo(() => badges && badges.length > 0
164
+ ? badges
165
+ : fieldIds.map(createFieldBackedBadgeDefinition), [badges, fieldIds]);
166
+ const renderedBadgeEntries = useMemo(() => badgeDefinitions
167
+ .map((badge) => {
168
+ const fieldId = badge.FieldId ?? badge.Id;
169
+ const field = findPresentationField(module, fieldId);
170
+ const value = readPresentationFieldValue(resource, field?.Field);
171
+ const resolvedBadge = resolvePresentationBadges([badge], resource, module)[0] ?? null;
172
+ const role = readMetadataBadgeRole?.(badge, field) ?? null;
173
+ const interpretedBadge = interpretPresentationBadgeTarget(badgeInterpreters, {
174
+ badge,
175
+ componentSystem,
176
+ designSystem,
177
+ field,
178
+ fieldId,
179
+ module,
180
+ resolvedBadge,
181
+ resource,
182
+ value,
183
+ });
184
+ if (interpretedBadge !== undefined) {
185
+ const node = interpretedBadge === null ? null : (_jsx("span", { className: "contents", children: interpretedBadge }, fieldId));
186
+ return {
187
+ badgeFieldId: badge.FieldId ?? null,
188
+ badgeId: badge.Id,
189
+ badgeName: badge.Name,
190
+ field,
191
+ fieldId,
192
+ mode: 'role-interpreter',
193
+ node,
194
+ rendered: Boolean(node),
195
+ role,
196
+ value,
197
+ };
198
+ }
199
+ const node = renderStandardBadgeNode({
200
+ badge,
201
+ componentSystem,
202
+ createHref: resolvedCreateHref,
203
+ designSystem,
204
+ field,
205
+ module,
206
+ navigateHref: resolvedNavigateHref,
207
+ resolvedBadge,
208
+ resource,
209
+ value,
210
+ });
211
+ return {
212
+ badgeFieldId: badge.FieldId ?? null,
213
+ badgeId: badge.Id,
214
+ badgeName: badge.Name,
215
+ field,
216
+ fieldId,
217
+ mode: node ? 'standard-badge' : 'unrendered',
218
+ node,
219
+ rendered: Boolean(node),
220
+ role,
221
+ value,
222
+ };
223
+ }), [
224
+ badgeDefinitions,
225
+ componentSystem,
226
+ createHref,
227
+ designSystem,
228
+ badgeInterpreters,
229
+ module,
230
+ navigateHref,
231
+ resolvedCreateHref,
232
+ resolvedNavigateHref,
233
+ readMetadataBadgeRole,
234
+ resource,
235
+ ]);
236
+ const renderedBadges = renderedBadgeEntries.flatMap((entry) => entry.node ? [entry.node] : []);
237
+ const roleDiagnosticSource = `projected-view-badge-strip:${viewId ?? 'unknown'}:${slotId}:badge-roles`;
238
+ const roleDiagnostics = useMemo(() => projectViewBadgeStripRoleDiagnostics({
239
+ entries: renderedBadgeEntries,
240
+ fieldIds,
241
+ metadataEntityReferenceRole,
242
+ module,
243
+ readMetadataFieldRole,
244
+ resource,
245
+ sourceId: roleDiagnosticSource,
246
+ slotId,
247
+ viewId,
248
+ viewName,
249
+ }), [
250
+ fieldIds,
251
+ metadataEntityReferenceRole,
252
+ module,
253
+ readMetadataFieldRole,
254
+ renderedBadgeEntries,
255
+ resource,
256
+ roleDiagnosticSource,
257
+ slotId,
258
+ viewId,
259
+ viewName,
260
+ ]);
261
+ useRegisterPresentationProjectionDiagnostics(roleDiagnosticSource, roleDiagnostics);
262
+ if (renderedBadges.length === 0) {
263
+ return null;
264
+ }
265
+ return componentSystem.viewChrome.BadgeStrip({
266
+ badges: renderedBadges,
267
+ slotId,
268
+ viewId,
269
+ });
270
+ }
271
+ function renderStandardBadgeNode({ badge, componentSystem, createHref, designSystem, field, module, navigateHref, resolvedBadge, resource, value, }) {
272
+ if (field &&
273
+ navigateHref &&
274
+ isProjectedDocumentEntityReferenceField(field) &&
275
+ findDocumentFieldNavigationRouteBinding(module, field)) {
276
+ const entityReferenceBadge = renderProjectedEntityReferenceValue({
277
+ componentSystem,
278
+ createHref,
279
+ field,
280
+ module,
281
+ navigateHref,
282
+ resource,
283
+ unboundEntityReferenceStyle: 'badge',
284
+ value,
285
+ });
286
+ return entityReferenceBadge ? (_jsx("span", { className: "contents", children: entityReferenceBadge }, badge.Id)) : null;
287
+ }
288
+ return resolvedBadge ? (_jsx(ProjectedPresentationBadge, { badge: resolvedBadge, componentSystem: componentSystem, designSystem: designSystem, variant: "outline" }, badge.Id)) : null;
289
+ }
290
+ function projectViewBadgeStripRoleDiagnostics({ entries, fieldIds, metadataEntityReferenceRole, module, readMetadataFieldRole, resource, sourceId, slotId, viewId, viewName, }) {
291
+ const diagnostics = [];
292
+ const roleEntries = entries.filter((entry) => entry.role);
293
+ const unhandledRoleEntries = roleEntries.filter((entry) => entry.mode !== 'role-interpreter');
294
+ const referencedFieldIds = new Set(entries
295
+ .map((entry) => entry.badgeFieldId)
296
+ .filter((fieldId) => Boolean(fieldId)));
297
+ const unreferencedRoleFields = fieldIds
298
+ .map((fieldId) => findPresentationField(module, fieldId))
299
+ .filter((field) => Boolean(field))
300
+ .map((field) => ({
301
+ field,
302
+ role: readMetadataFieldRole?.(field) ?? null,
303
+ }))
304
+ .filter((entry) => entry.role && !referencedFieldIds.has(entry.field.Id));
305
+ if (roleEntries.length > 0 || unreferencedRoleFields.length > 0) {
306
+ const counts = countBadgeRenderingModes(roleEntries);
307
+ diagnostics.push(createPresentationProjectionDiagnostic({
308
+ category: 'local-interpretation',
309
+ details: {
310
+ badges: roleEntries.map((entry) => ({
311
+ badgeId: entry.badgeId,
312
+ fieldId: entry.badgeFieldId,
313
+ mode: entry.mode,
314
+ rendered: entry.rendered,
315
+ role: entry.role,
316
+ })),
317
+ counts,
318
+ slotId,
319
+ viewId: viewId ?? null,
320
+ },
321
+ id: `view.${viewId ?? 'unknown'}.badge-strip.${slotId}.metadata-badge-coverage`,
322
+ interpretation: {
323
+ status: unhandledRoleEntries.length === 0 ? 'locally-interpreted' : 'unbound',
324
+ target: 'presentation-badge-target-interpreter',
325
+ },
326
+ message: `Badge strip slot '${slotId}'${viewName ? ` on '${viewName}'` : ''} ` +
327
+ `renders ${roleEntries.length} metadata badge role(s): ` +
328
+ `${counts['role-interpreter']} via role interpreters, ` +
329
+ `${counts['standard-badge']} via standard badge semantics, ` +
330
+ `${counts.unrendered} unrendered.`,
331
+ severity: 'info',
332
+ source: sourceId,
333
+ subject: {
334
+ id: slotId,
335
+ kind: 'view-chrome-slot',
336
+ name: viewName,
337
+ },
338
+ }));
339
+ }
340
+ diagnostics.push(...projectViewBadgeStripEntityReferenceDiagnostics({
341
+ entries: roleEntries,
342
+ metadataEntityReferenceRole,
343
+ module,
344
+ resource,
345
+ sourceId,
346
+ slotId,
347
+ viewId,
348
+ viewName,
349
+ }));
350
+ for (const entry of unhandledRoleEntries) {
351
+ diagnostics.push(createPresentationProjectionDiagnostic({
352
+ category: 'missing-binding',
353
+ details: {
354
+ badgeId: entry.badgeId,
355
+ fieldId: entry.badgeFieldId,
356
+ mode: entry.mode,
357
+ role: entry.role,
358
+ slotId,
359
+ viewId: viewId ?? null,
360
+ },
361
+ id: `view.${viewId ?? 'unknown'}.badge-strip.${slotId}.badge.${entry.badgeId}.role-unbound`,
362
+ interpretation: {
363
+ status: 'unbound',
364
+ target: 'presentation-badge-target-interpreter',
365
+ },
366
+ message: `Metadata badge '${entry.badgeName}' declares role '${entry.role}', ` +
367
+ `but no badge target interpreter handled it.`,
368
+ severity: 'warning',
369
+ source: sourceId,
370
+ subject: {
371
+ id: entry.badgeId,
372
+ kind: 'presentation-badge',
373
+ name: entry.badgeName,
374
+ },
375
+ suggestedNextStep: 'Bind this metadata badge role in the frontend badge target interpreter registry.',
376
+ }));
377
+ }
378
+ for (const { field, role } of unreferencedRoleFields) {
379
+ diagnostics.push(createPresentationProjectionDiagnostic({
380
+ category: 'incomplete-projection',
381
+ details: {
382
+ fieldId: field.Id,
383
+ fieldPath: field.Field,
384
+ role,
385
+ slotId,
386
+ viewId: viewId ?? null,
387
+ },
388
+ id: `view.${viewId ?? 'unknown'}.badge-strip.${slotId}.field.${field.Id}.role-unreferenced`,
389
+ interpretation: {
390
+ status: 'unbound',
391
+ target: 'presentation-badge-definition',
392
+ },
393
+ message: `Metadata field '${field.Label}' declares role '${role}', but no ` +
394
+ `badge in slot '${slotId}' references it.`,
395
+ severity: 'warning',
396
+ source: sourceId,
397
+ subject: {
398
+ id: field.Id,
399
+ kind: 'field',
400
+ name: field.Label,
401
+ },
402
+ suggestedNextStep: 'Add a role-annotated PresentationBadgeDefinition for this metadata field.',
403
+ }));
404
+ }
405
+ return diagnostics;
406
+ }
407
+ function projectViewBadgeStripEntityReferenceDiagnostics({ entries, metadataEntityReferenceRole, module, resource, sourceId, slotId, viewId, viewName, }) {
408
+ if (!metadataEntityReferenceRole) {
409
+ return [];
410
+ }
411
+ const entityReferenceEntries = entries.filter((entry) => entry.role === metadataEntityReferenceRole);
412
+ if (entityReferenceEntries.length === 0) {
413
+ return [];
414
+ }
415
+ const routeStates = entityReferenceEntries.map((entry) => {
416
+ const binding = entry.field
417
+ ? findDocumentFieldNavigationRouteBinding(module, entry.field)
418
+ : null;
419
+ const projection = entry.field && binding?.RouteId
420
+ ? projectDocumentFieldNavigation({
421
+ field: entry.field,
422
+ module,
423
+ resource,
424
+ value: entry.value,
425
+ })
426
+ : null;
427
+ return {
428
+ binding,
429
+ entry,
430
+ projection,
431
+ };
432
+ });
433
+ const routeMissing = routeStates.filter((state) => !state.binding?.RouteId);
434
+ const unresolvedParameters = routeStates.filter((state) => (state.projection?.missingParameterNames.length ?? 0) > 0);
435
+ const routeReady = routeStates.filter((state) => state.binding?.RouteId &&
436
+ state.projection &&
437
+ state.projection.missingParameterNames.length === 0);
438
+ const fallback = routeStates.filter((state) => !state.binding?.RouteId || !state.projection);
439
+ const diagnostics = [
440
+ createPresentationProjectionDiagnostic({
441
+ category: 'local-interpretation',
442
+ details: {
443
+ fallback: fallback.map(({ entry }) => entry.badgeId),
444
+ routeMissing: routeMissing.map(({ entry }) => entry.badgeId),
445
+ routeReady: routeReady.map(({ entry, projection }) => ({
446
+ badgeId: entry.badgeId,
447
+ routeId: projection?.routeId,
448
+ })),
449
+ slotId,
450
+ unresolvedParameters: unresolvedParameters.map(({ entry, projection }) => ({
451
+ badgeId: entry.badgeId,
452
+ missingParameterNames: projection?.missingParameterNames ?? [],
453
+ routeId: projection?.routeId,
454
+ })),
455
+ viewId: viewId ?? null,
456
+ },
457
+ id: `view.${viewId ?? 'unknown'}.badge-strip.${slotId}.entity-reference-badge-coverage`,
458
+ interpretation: {
459
+ status: routeMissing.length === 0 && unresolvedParameters.length === 0
460
+ ? 'locally-interpreted'
461
+ : 'unbound',
462
+ target: 'entity-reference-badge-route-binding',
463
+ },
464
+ message: `Badge strip slot '${slotId}'${viewName ? ` on '${viewName}'` : ''} ` +
465
+ `renders ${entityReferenceEntries.length} entity-reference badge(s): ` +
466
+ `${routeReady.length} route-bound link badge(s), ` +
467
+ `${fallback.length} non-link fallback badge(s), ` +
468
+ `${unresolvedParameters.length} with unresolved route parameter(s).`,
469
+ severity: 'info',
470
+ source: sourceId,
471
+ subject: {
472
+ id: slotId,
473
+ kind: 'view-chrome-slot',
474
+ name: viewName,
475
+ },
476
+ }),
477
+ ];
478
+ for (const { entry } of routeMissing) {
479
+ diagnostics.push(createPresentationProjectionDiagnostic({
480
+ category: 'missing-binding',
481
+ details: {
482
+ badgeId: entry.badgeId,
483
+ fieldId: entry.badgeFieldId,
484
+ role: entry.role,
485
+ slotId,
486
+ viewId: viewId ?? null,
487
+ },
488
+ id: `view.${viewId ?? 'unknown'}.badge-strip.${slotId}.badge.${entry.badgeId}.entity-reference-route-missing`,
489
+ interpretation: {
490
+ status: 'unbound',
491
+ target: 'entity-reference-badge-route-binding',
492
+ },
493
+ message: `Entity-reference badge '${entry.badgeName}' has no route target binding; ` +
494
+ 'it renders as a non-link fallback badge.',
495
+ severity: 'warning',
496
+ source: sourceId,
497
+ subject: {
498
+ id: entry.badgeId,
499
+ kind: 'presentation-badge',
500
+ name: entry.badgeName,
501
+ },
502
+ suggestedNextStep: 'Add a navigation route target binding for this entity-reference field.',
503
+ }));
504
+ }
505
+ for (const { entry, projection } of unresolvedParameters) {
506
+ diagnostics.push(createPresentationProjectionDiagnostic({
507
+ category: 'unbound',
508
+ details: {
509
+ badgeId: entry.badgeId,
510
+ fieldId: entry.badgeFieldId,
511
+ missingParameterNames: projection?.missingParameterNames ?? [],
512
+ role: entry.role,
513
+ routeId: projection?.routeId,
514
+ slotId,
515
+ viewId: viewId ?? null,
516
+ },
517
+ id: `view.${viewId ?? 'unknown'}.badge-strip.${slotId}.badge.${entry.badgeId}.entity-reference-route-parameters-unresolved`,
518
+ interpretation: {
519
+ status: 'unbound',
520
+ target: 'entity-reference-badge-route-parameters',
521
+ },
522
+ message: `Entity-reference badge '${entry.badgeName}' has unresolved route ` +
523
+ `parameter(s): ${(projection?.missingParameterNames ?? []).join(', ')}.`,
524
+ severity: 'warning',
525
+ source: sourceId,
526
+ subject: {
527
+ id: entry.badgeId,
528
+ kind: 'presentation-badge',
529
+ name: entry.badgeName,
530
+ },
531
+ suggestedNextStep: 'Update the route parameter binding for this entity-reference field or expose the required source value.',
532
+ }));
533
+ }
534
+ return diagnostics;
535
+ }
536
+ function countBadgeRenderingModes(entries) {
537
+ return entries.reduce((counts, entry) => ({
538
+ ...counts,
539
+ [entry.mode]: counts[entry.mode] + 1,
540
+ }), {
541
+ 'role-interpreter': 0,
542
+ 'standard-badge': 0,
543
+ unrendered: 0,
544
+ });
545
+ }
546
+ function getDocumentViewLabel(module, workspaceView, viewId) {
547
+ const region = workspaceView?.Regions?.find((candidate) => candidate.ViewIds?.includes(viewId));
548
+ return (region?.Name ??
549
+ findPresentationView(module, viewId)?.Name ??
550
+ getDocumentViewFallbackLabel(viewId));
551
+ }
552
+ function getDocumentViewFallbackLabel(viewId) {
553
+ const normalized = viewId.toLocaleLowerCase();
554
+ if (normalized.includes('json')) {
555
+ return 'JSON';
556
+ }
557
+ if (normalized.includes('structure')) {
558
+ return 'Structure';
559
+ }
560
+ if (normalized.includes('types')) {
561
+ return 'Types';
562
+ }
563
+ return viewId;
564
+ }
565
+ function createFieldBackedBadgeDefinition(fieldId) {
566
+ return {
567
+ Annotations: [],
568
+ Content: null,
569
+ FieldId: fieldId,
570
+ Id: fieldId,
571
+ Name: fieldId,
572
+ OmitWhenEmpty: true,
573
+ OmitWhenZero: false,
574
+ Tone: null,
575
+ Value: null,
576
+ ValueTemplate: null,
577
+ };
578
+ }
579
+ function resolveDocumentViewIcon(label, viewId) {
580
+ const normalized = `${label} ${viewId}`.toLocaleLowerCase();
581
+ if (normalized.includes('json')) {
582
+ return {
583
+ fallbackIcon: 'braces',
584
+ id: viewChromeIconIds.viewJson,
585
+ };
586
+ }
587
+ if (normalized.includes('type')) {
588
+ return {
589
+ fallbackIcon: 'box',
590
+ id: viewChromeIconIds.viewTypes,
591
+ };
592
+ }
593
+ if (normalized.includes('structure')) {
594
+ return {
595
+ fallbackIcon: 'list-tree',
596
+ id: viewChromeIconIds.viewStructure,
597
+ };
598
+ }
599
+ return {
600
+ fallbackIcon: 'braces',
601
+ id: viewChromeIconIds.viewDefault,
602
+ };
603
+ }
604
+ function renderViewChromeIcon({ className = 'size-3.5', fallbackIcon, icon, module, }) {
605
+ return renderPresentationIcon({
606
+ className,
607
+ icon,
608
+ module,
609
+ }) ?? renderPresentationIcon({
610
+ className,
611
+ icon: fallbackIcon,
612
+ });
613
+ }
614
+ //# sourceMappingURL=standard-view-chrome-slot-renderers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"standard-view-chrome-slot-renderers.js","sourceRoot":"","sources":["../src/standard-view-chrome-slot-renderers.tsx"],"names":[],"mappings":"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"}