@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,365 @@
1
+ export type PresentationComponentSystemComponents<
2
+ TActions extends object = object,
3
+ TBadges extends object = object,
4
+ TCollectionChrome extends object = object,
5
+ TCollections extends object = object,
6
+ TDocumentWorkspaces extends object = object,
7
+ TFieldValues extends object = object,
8
+ TFeedback extends object = object,
9
+ TForms extends object = object,
10
+ TMetrics extends object = object,
11
+ TNavigation extends object = object,
12
+ TProcesses extends object = object,
13
+ TPrompts extends object = object,
14
+ TRecords extends object = object,
15
+ TSurfaces extends object = object,
16
+ TTabs extends object = object,
17
+ TViewChrome extends object = object,
18
+ > = TActions &
19
+ TBadges &
20
+ TCollectionChrome &
21
+ TCollections &
22
+ TDocumentWorkspaces &
23
+ TFieldValues &
24
+ TFeedback &
25
+ TForms &
26
+ TMetrics &
27
+ TNavigation &
28
+ TProcesses &
29
+ TPrompts &
30
+ TRecords &
31
+ TSurfaces &
32
+ TTabs &
33
+ TViewChrome
34
+
35
+ export interface PresentationComponentSystemRoleGroups<
36
+ TActions extends object = object,
37
+ TBadges extends object = object,
38
+ TCollectionChrome extends object = object,
39
+ TCollections extends object = object,
40
+ TDocumentWorkspaces extends object = object,
41
+ TFieldValues extends object = object,
42
+ TFeedback extends object = object,
43
+ TForms extends object = object,
44
+ TMetrics extends object = object,
45
+ TNavigation extends object = object,
46
+ TProcesses extends object = object,
47
+ TPrompts extends object = object,
48
+ TRecords extends object = object,
49
+ TSurfaces extends object = object,
50
+ TTabs extends object = object,
51
+ TViewChrome extends object = object,
52
+ > {
53
+ readonly actions: TActions
54
+ readonly badges: TBadges
55
+ readonly collectionChrome: TCollectionChrome
56
+ readonly collections: TCollections
57
+ readonly documentWorkspaces: TDocumentWorkspaces
58
+ readonly fieldValues: TFieldValues
59
+ readonly feedback: TFeedback
60
+ readonly forms: TForms
61
+ readonly metrics: TMetrics
62
+ readonly navigation: TNavigation
63
+ readonly processes: TProcesses
64
+ readonly prompts: TPrompts
65
+ readonly records: TRecords
66
+ readonly surfaces: TSurfaces
67
+ readonly tabs: TTabs
68
+ readonly viewChrome: TViewChrome
69
+ }
70
+
71
+ export type CreatePresentationComponentSystemOptions<
72
+ TActions extends object = object,
73
+ TBadges extends object = object,
74
+ TCollectionChrome extends object = object,
75
+ TCollections extends object = object,
76
+ TDocumentWorkspaces extends object = object,
77
+ TFieldValues extends object = object,
78
+ TFeedback extends object = object,
79
+ TForms extends object = object,
80
+ TMetrics extends object = object,
81
+ TNavigation extends object = object,
82
+ TProcesses extends object = object,
83
+ TPrompts extends object = object,
84
+ TRecords extends object = object,
85
+ TSurfaces extends object = object,
86
+ TTabs extends object = object,
87
+ TViewChrome extends object = object,
88
+ > = PresentationComponentSystemRoleGroups<
89
+ TActions,
90
+ TBadges,
91
+ TCollectionChrome,
92
+ TCollections,
93
+ TDocumentWorkspaces,
94
+ TFieldValues,
95
+ TFeedback,
96
+ TForms,
97
+ TMetrics,
98
+ TNavigation,
99
+ TProcesses,
100
+ TPrompts,
101
+ TRecords,
102
+ TSurfaces,
103
+ TTabs,
104
+ TViewChrome
105
+ > & {
106
+ readonly id: string
107
+ readonly target: string
108
+ }
109
+
110
+ export interface PresentationComponentSystem<
111
+ TActions extends object = object,
112
+ TBadges extends object = object,
113
+ TCollectionChrome extends object = object,
114
+ TCollections extends object = object,
115
+ TDocumentWorkspaces extends object = object,
116
+ TFieldValues extends object = object,
117
+ TFeedback extends object = object,
118
+ TForms extends object = object,
119
+ TMetrics extends object = object,
120
+ TNavigation extends object = object,
121
+ TProcesses extends object = object,
122
+ TPrompts extends object = object,
123
+ TRecords extends object = object,
124
+ TSurfaces extends object = object,
125
+ TTabs extends object = object,
126
+ TViewChrome extends object = object,
127
+ > extends PresentationComponentSystemRoleGroups<
128
+ TActions,
129
+ TBadges,
130
+ TCollectionChrome,
131
+ TCollections,
132
+ TDocumentWorkspaces,
133
+ TFieldValues,
134
+ TFeedback,
135
+ TForms,
136
+ TMetrics,
137
+ TNavigation,
138
+ TProcesses,
139
+ TPrompts,
140
+ TRecords,
141
+ TSurfaces,
142
+ TTabs,
143
+ TViewChrome
144
+ > {
145
+ readonly components: PresentationComponentSystemComponents<
146
+ TActions,
147
+ TBadges,
148
+ TCollectionChrome,
149
+ TCollections,
150
+ TDocumentWorkspaces,
151
+ TFieldValues,
152
+ TFeedback,
153
+ TForms,
154
+ TMetrics,
155
+ TNavigation,
156
+ TProcesses,
157
+ TPrompts,
158
+ TRecords,
159
+ TSurfaces,
160
+ TTabs,
161
+ TViewChrome
162
+ >
163
+ readonly id: string
164
+ readonly target: string
165
+ }
166
+
167
+ export function createPresentationComponentSystem<
168
+ TActions extends object,
169
+ TBadges extends object,
170
+ TCollectionChrome extends object,
171
+ TCollections extends object,
172
+ TDocumentWorkspaces extends object,
173
+ TFieldValues extends object,
174
+ TFeedback extends object,
175
+ TForms extends object,
176
+ TMetrics extends object,
177
+ TNavigation extends object,
178
+ TProcesses extends object,
179
+ TPrompts extends object,
180
+ TRecords extends object,
181
+ TSurfaces extends object,
182
+ TTabs extends object,
183
+ TViewChrome extends object,
184
+ >({
185
+ actions,
186
+ badges,
187
+ collectionChrome,
188
+ collections,
189
+ documentWorkspaces,
190
+ fieldValues,
191
+ feedback,
192
+ forms,
193
+ id,
194
+ metrics,
195
+ navigation,
196
+ processes,
197
+ prompts,
198
+ records,
199
+ surfaces,
200
+ tabs,
201
+ target,
202
+ viewChrome,
203
+ }: CreatePresentationComponentSystemOptions<
204
+ TActions,
205
+ TBadges,
206
+ TCollectionChrome,
207
+ TCollections,
208
+ TDocumentWorkspaces,
209
+ TFieldValues,
210
+ TFeedback,
211
+ TForms,
212
+ TMetrics,
213
+ TNavigation,
214
+ TProcesses,
215
+ TPrompts,
216
+ TRecords,
217
+ TSurfaces,
218
+ TTabs,
219
+ TViewChrome
220
+ >): PresentationComponentSystem<
221
+ TActions,
222
+ TBadges,
223
+ TCollectionChrome,
224
+ TCollections,
225
+ TDocumentWorkspaces,
226
+ TFieldValues,
227
+ TFeedback,
228
+ TForms,
229
+ TMetrics,
230
+ TNavigation,
231
+ TProcesses,
232
+ TPrompts,
233
+ TRecords,
234
+ TSurfaces,
235
+ TTabs,
236
+ TViewChrome
237
+ > {
238
+ return {
239
+ actions,
240
+ badges,
241
+ collectionChrome,
242
+ collections,
243
+ components: createPresentationComponentSystemComponents({
244
+ actions,
245
+ badges,
246
+ collectionChrome,
247
+ collections,
248
+ documentWorkspaces,
249
+ fieldValues,
250
+ feedback,
251
+ forms,
252
+ metrics,
253
+ navigation,
254
+ processes,
255
+ prompts,
256
+ records,
257
+ surfaces,
258
+ tabs,
259
+ viewChrome,
260
+ }),
261
+ documentWorkspaces,
262
+ fieldValues,
263
+ feedback,
264
+ forms,
265
+ id,
266
+ metrics,
267
+ navigation,
268
+ processes,
269
+ prompts,
270
+ records,
271
+ surfaces,
272
+ tabs,
273
+ target,
274
+ viewChrome,
275
+ }
276
+ }
277
+
278
+ export function createPresentationComponentSystemComponents<
279
+ TActions extends object,
280
+ TBadges extends object,
281
+ TCollectionChrome extends object,
282
+ TCollections extends object,
283
+ TDocumentWorkspaces extends object,
284
+ TFieldValues extends object,
285
+ TFeedback extends object,
286
+ TForms extends object,
287
+ TMetrics extends object,
288
+ TNavigation extends object,
289
+ TProcesses extends object,
290
+ TPrompts extends object,
291
+ TRecords extends object,
292
+ TSurfaces extends object,
293
+ TTabs extends object,
294
+ TViewChrome extends object,
295
+ >({
296
+ actions,
297
+ badges,
298
+ collectionChrome,
299
+ collections,
300
+ documentWorkspaces,
301
+ fieldValues,
302
+ feedback,
303
+ forms,
304
+ metrics,
305
+ navigation,
306
+ processes,
307
+ prompts,
308
+ records,
309
+ surfaces,
310
+ tabs,
311
+ viewChrome,
312
+ }: PresentationComponentSystemRoleGroups<
313
+ TActions,
314
+ TBadges,
315
+ TCollectionChrome,
316
+ TCollections,
317
+ TDocumentWorkspaces,
318
+ TFieldValues,
319
+ TFeedback,
320
+ TForms,
321
+ TMetrics,
322
+ TNavigation,
323
+ TProcesses,
324
+ TPrompts,
325
+ TRecords,
326
+ TSurfaces,
327
+ TTabs,
328
+ TViewChrome
329
+ >): PresentationComponentSystemComponents<
330
+ TActions,
331
+ TBadges,
332
+ TCollectionChrome,
333
+ TCollections,
334
+ TDocumentWorkspaces,
335
+ TFieldValues,
336
+ TFeedback,
337
+ TForms,
338
+ TMetrics,
339
+ TNavigation,
340
+ TProcesses,
341
+ TPrompts,
342
+ TRecords,
343
+ TSurfaces,
344
+ TTabs,
345
+ TViewChrome
346
+ > {
347
+ return {
348
+ ...actions,
349
+ ...badges,
350
+ ...collectionChrome,
351
+ ...collections,
352
+ ...documentWorkspaces,
353
+ ...fieldValues,
354
+ ...feedback,
355
+ ...forms,
356
+ ...metrics,
357
+ ...navigation,
358
+ ...processes,
359
+ ...prompts,
360
+ ...records,
361
+ ...surfaces,
362
+ ...tabs,
363
+ ...viewChrome,
364
+ }
365
+ }
@@ -0,0 +1,53 @@
1
+ import {
2
+ projectPresentationActionIconDiagnostics as projectCorePresentationActionIconDiagnostics,
3
+ projectPresentationIconDiagnostics as projectCorePresentationIconDiagnostics,
4
+ type PresentationActionIconPlacement,
5
+ type PresentationIconDiagnosticSubject,
6
+ type ProjectPresentationActionIconDiagnosticsOptions as CoreProjectPresentationActionIconDiagnosticsOptions,
7
+ type ProjectPresentationIconDiagnosticsOptions as CoreProjectPresentationIconDiagnosticsOptions,
8
+ } from '@cohesivesystems/presentation-core'
9
+
10
+ import {
11
+ standardLucidePresentationIconRegistry,
12
+ type PresentationIconRegistry,
13
+ } from './presentation-icon-registry'
14
+
15
+ export type {
16
+ PresentationActionIconPlacement,
17
+ PresentationIconDiagnosticSubject,
18
+ PresentationIconModuleProjection,
19
+ } from '@cohesivesystems/presentation-core'
20
+
21
+ export interface ProjectPresentationIconDiagnosticsOptions<
22
+ TSubject extends PresentationIconDiagnosticSubject,
23
+ > extends Omit<CoreProjectPresentationIconDiagnosticsOptions<TSubject>, 'registry'> {
24
+ readonly registry?: PresentationIconRegistry<TSubject> | null
25
+ }
26
+
27
+ export interface ProjectPresentationActionIconDiagnosticsOptions<
28
+ TPlacement extends PresentationActionIconPlacement,
29
+ > extends Omit<CoreProjectPresentationActionIconDiagnosticsOptions<TPlacement>, 'registry'> {
30
+ readonly registry?: PresentationIconRegistry<TPlacement> | null
31
+ }
32
+
33
+ export function projectPresentationIconDiagnostics<
34
+ TSubject extends PresentationIconDiagnosticSubject,
35
+ >(options: ProjectPresentationIconDiagnosticsOptions<TSubject>) {
36
+ return projectCorePresentationIconDiagnostics({
37
+ ...options,
38
+ registry:
39
+ options.registry ??
40
+ (standardLucidePresentationIconRegistry as PresentationIconRegistry<TSubject>),
41
+ })
42
+ }
43
+
44
+ export function projectPresentationActionIconDiagnostics<
45
+ TPlacement extends PresentationActionIconPlacement,
46
+ >(options: ProjectPresentationActionIconDiagnosticsOptions<TPlacement>) {
47
+ return projectCorePresentationActionIconDiagnostics({
48
+ ...options,
49
+ registry:
50
+ options.registry ??
51
+ (standardLucidePresentationIconRegistry as PresentationIconRegistry<TPlacement>),
52
+ })
53
+ }
@@ -0,0 +1,181 @@
1
+ import {
2
+ Activity,
3
+ AlertCircle,
4
+ ArrowLeft,
5
+ Box,
6
+ Braces,
7
+ Check,
8
+ CheckCircle2,
9
+ ChevronLeft,
10
+ ChevronRight,
11
+ ChevronsLeft,
12
+ Clock3,
13
+ Columns2,
14
+ Database,
15
+ ExternalLink,
16
+ FileCode2,
17
+ GitBranch,
18
+ Hammer,
19
+ History,
20
+ Home,
21
+ ListChecks,
22
+ ListTree,
23
+ LoaderCircle,
24
+ LogIn,
25
+ MoreHorizontal,
26
+ RefreshCw,
27
+ RotateCcw,
28
+ Save,
29
+ Search,
30
+ ShieldCheck,
31
+ Square,
32
+ SquareArrowOutUpRight,
33
+ X,
34
+ type LucideIcon,
35
+ } from 'lucide-react'
36
+ import type { ReactNode } from 'react'
37
+
38
+ import {
39
+ createPresentationIconRegistry,
40
+ defaultPresentationComponentSet,
41
+ resolvePresentationIcon as resolveCorePresentationIcon,
42
+ type PresentationIconModuleProjection,
43
+ type PresentationIconRegistry as CorePresentationIconRegistry,
44
+ type PresentationIconRenderContext,
45
+ type PresentationIconResolution as CorePresentationIconResolution,
46
+ } from '@cohesivesystems/presentation-core'
47
+
48
+ export {
49
+ createPresentationIconRegistry,
50
+ }
51
+
52
+ export type {
53
+ PresentationIconModuleProjection,
54
+ PresentationIconRenderContext,
55
+ }
56
+
57
+ export type PresentationIconRegistry<TSubject = unknown> =
58
+ CorePresentationIconRegistry<TSubject, ReactNode>
59
+
60
+ export type PresentationIconResolution<TSubject = unknown> =
61
+ CorePresentationIconResolution<TSubject, ReactNode>
62
+
63
+ export function resolvePresentationIcon<TSubject = unknown>({
64
+ componentSet = defaultPresentationComponentSet,
65
+ icon,
66
+ module,
67
+ registry,
68
+ }: {
69
+ readonly componentSet?: string
70
+ readonly icon: string | null | undefined
71
+ readonly module?: PresentationIconModuleProjection | null
72
+ readonly registry: PresentationIconRegistry<TSubject> | null | undefined
73
+ }): PresentationIconResolution<TSubject> {
74
+ return resolveCorePresentationIcon<TSubject, ReactNode>({
75
+ componentSet,
76
+ icon,
77
+ module,
78
+ registry,
79
+ })
80
+ }
81
+
82
+ export function hasPresentationIconBinding<TSubject = unknown>({
83
+ componentSet,
84
+ icon,
85
+ module,
86
+ registry = standardLucidePresentationIconRegistry as PresentationIconRegistry<TSubject>,
87
+ }: {
88
+ readonly componentSet?: string
89
+ readonly icon: string | null | undefined
90
+ readonly module?: PresentationIconModuleProjection | null
91
+ readonly registry?: PresentationIconRegistry<TSubject> | null
92
+ }) {
93
+ return Boolean(resolvePresentationIcon({
94
+ componentSet,
95
+ icon,
96
+ module,
97
+ registry,
98
+ }).renderer)
99
+ }
100
+
101
+ export function renderPresentationIcon<TSubject = unknown>({
102
+ className = 'size-3.5',
103
+ componentSet,
104
+ icon,
105
+ module,
106
+ registry = standardLucidePresentationIconRegistry as PresentationIconRegistry<TSubject>,
107
+ subject,
108
+ }: {
109
+ readonly className?: string
110
+ readonly componentSet?: string
111
+ readonly icon: string | null | undefined
112
+ readonly module?: PresentationIconModuleProjection | null
113
+ readonly registry?: PresentationIconRegistry<TSubject> | null
114
+ readonly subject?: TSubject
115
+ }) {
116
+ const resolution = resolvePresentationIcon({
117
+ componentSet,
118
+ icon,
119
+ module,
120
+ registry,
121
+ })
122
+
123
+ return resolution.renderer?.({
124
+ className,
125
+ icon: resolution.icon,
126
+ subject,
127
+ }) ?? null
128
+ }
129
+
130
+ export const standardLucidePresentationIconRegistry = createPresentationIconRegistry({
131
+ byComponentKey: createLucideIconRendererMap('component-key'),
132
+ byIconKey: createLucideIconRendererMap('icon-key'),
133
+ })
134
+
135
+ function createLucideIconRendererMap(
136
+ keyKind: 'component-key' | 'icon-key',
137
+ ) {
138
+ const prefix = keyKind === 'component-key' ? 'lucide.' : ''
139
+ return {
140
+ [`${prefix}activity`]: createLucideIconRenderer(Activity),
141
+ [`${prefix}alert-circle`]: createLucideIconRenderer(AlertCircle),
142
+ [`${prefix}arrow-left`]: createLucideIconRenderer(ArrowLeft),
143
+ [`${prefix}box`]: createLucideIconRenderer(Box),
144
+ [`${prefix}braces`]: createLucideIconRenderer(Braces),
145
+ [`${prefix}check`]: createLucideIconRenderer(Check),
146
+ [`${prefix}check-circle-2`]: createLucideIconRenderer(CheckCircle2),
147
+ [`${prefix}chevron-left`]: createLucideIconRenderer(ChevronLeft),
148
+ [`${prefix}chevron-right`]: createLucideIconRenderer(ChevronRight),
149
+ [`${prefix}chevrons-left`]: createLucideIconRenderer(ChevronsLeft),
150
+ [`${prefix}clock-3`]: createLucideIconRenderer(Clock3),
151
+ [`${prefix}columns-2`]: createLucideIconRenderer(Columns2),
152
+ [`${prefix}database`]: createLucideIconRenderer(Database),
153
+ [`${prefix}external-link`]: createLucideIconRenderer(ExternalLink),
154
+ [`${prefix}file-code-2`]: createLucideIconRenderer(FileCode2),
155
+ [`${prefix}git-branch`]: createLucideIconRenderer(GitBranch),
156
+ [`${prefix}hammer`]: createLucideIconRenderer(Hammer),
157
+ [`${prefix}history`]: createLucideIconRenderer(History),
158
+ [`${prefix}home`]: createLucideIconRenderer(Home),
159
+ [`${prefix}list-checks`]: createLucideIconRenderer(ListChecks),
160
+ [`${prefix}list-tree`]: createLucideIconRenderer(ListTree),
161
+ [`${prefix}loader-circle`]: createLucideIconRenderer(LoaderCircle),
162
+ [`${prefix}log-in`]: createLucideIconRenderer(LogIn),
163
+ [`${prefix}more-horizontal`]: createLucideIconRenderer(MoreHorizontal),
164
+ [`${prefix}refresh-cw`]: createLucideIconRenderer(RefreshCw),
165
+ [`${prefix}rotate-ccw`]: createLucideIconRenderer(RotateCcw),
166
+ [`${prefix}save`]: createLucideIconRenderer(Save),
167
+ [`${prefix}search`]: createLucideIconRenderer(Search),
168
+ [`${prefix}shield-check`]: createLucideIconRenderer(ShieldCheck),
169
+ [`${prefix}square`]: createLucideIconRenderer(Square),
170
+ [`${prefix}square-arrow-out-up-right`]: createLucideIconRenderer(SquareArrowOutUpRight),
171
+ [`${prefix}x`]: createLucideIconRenderer(X),
172
+ }
173
+ }
174
+
175
+ function createLucideIconRenderer<TSubject = unknown>(Icon: LucideIcon) {
176
+ return function renderLucideIcon({
177
+ className = 'size-3.5',
178
+ }: PresentationIconRenderContext<TSubject>) {
179
+ return <Icon className={className} />
180
+ }
181
+ }