@cohesivesystems/presentation-core 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 (447) hide show
  1. package/LICENSE +55 -0
  2. package/dist/api-scope-request.d.ts +43 -0
  3. package/dist/api-scope-request.d.ts.map +1 -0
  4. package/dist/api-scope-request.js +96 -0
  5. package/dist/api-scope-request.js.map +1 -0
  6. package/dist/collection-chrome-icons.d.ts +18 -0
  7. package/dist/collection-chrome-icons.d.ts.map +1 -0
  8. package/dist/collection-chrome-icons.js +57 -0
  9. package/dist/collection-chrome-icons.js.map +1 -0
  10. package/dist/collection-chrome-runtime.d.ts +25 -0
  11. package/dist/collection-chrome-runtime.d.ts.map +1 -0
  12. package/dist/collection-chrome-runtime.js +72 -0
  13. package/dist/collection-chrome-runtime.js.map +1 -0
  14. package/dist/collection-chrome-slot-renderer-registry.d.ts +110 -0
  15. package/dist/collection-chrome-slot-renderer-registry.d.ts.map +1 -0
  16. package/dist/collection-chrome-slot-renderer-registry.js +136 -0
  17. package/dist/collection-chrome-slot-renderer-registry.js.map +1 -0
  18. package/dist/collection-selection-state.d.ts +18 -0
  19. package/dist/collection-selection-state.d.ts.map +1 -0
  20. package/dist/collection-selection-state.js +2 -0
  21. package/dist/collection-selection-state.js.map +1 -0
  22. package/dist/data-source-projection.d.ts +475 -0
  23. package/dist/data-source-projection.d.ts.map +1 -0
  24. package/dist/data-source-projection.js +880 -0
  25. package/dist/data-source-projection.js.map +1 -0
  26. package/dist/data-source-query-lowering.d.ts +35 -0
  27. package/dist/data-source-query-lowering.d.ts.map +1 -0
  28. package/dist/data-source-query-lowering.js +104 -0
  29. package/dist/data-source-query-lowering.js.map +1 -0
  30. package/dist/date-time-filter-model.d.ts +20 -0
  31. package/dist/date-time-filter-model.d.ts.map +1 -0
  32. package/dist/date-time-filter-model.js +115 -0
  33. package/dist/date-time-filter-model.js.map +1 -0
  34. package/dist/document-badge-icons.d.ts +4 -0
  35. package/dist/document-badge-icons.d.ts.map +1 -0
  36. package/dist/document-badge-icons.js +4 -0
  37. package/dist/document-badge-icons.js.map +1 -0
  38. package/dist/document-module.d.ts +268 -0
  39. package/dist/document-module.d.ts.map +1 -0
  40. package/dist/document-module.js +347 -0
  41. package/dist/document-module.js.map +1 -0
  42. package/dist/document-summary-model.d.ts +2 -0
  43. package/dist/document-summary-model.d.ts.map +1 -0
  44. package/dist/document-summary-model.js +2 -0
  45. package/dist/document-summary-model.js.map +1 -0
  46. package/dist/document-workspace-chrome-projection.d.ts +18 -0
  47. package/dist/document-workspace-chrome-projection.d.ts.map +1 -0
  48. package/dist/document-workspace-chrome-projection.js +35 -0
  49. package/dist/document-workspace-chrome-projection.js.map +1 -0
  50. package/dist/document-workspace-surface-slots.d.ts +75 -0
  51. package/dist/document-workspace-surface-slots.d.ts.map +1 -0
  52. package/dist/document-workspace-surface-slots.js +268 -0
  53. package/dist/document-workspace-surface-slots.js.map +1 -0
  54. package/dist/endpoint-executor.d.ts +62 -0
  55. package/dist/endpoint-executor.d.ts.map +1 -0
  56. package/dist/endpoint-executor.js +35 -0
  57. package/dist/endpoint-executor.js.map +1 -0
  58. package/dist/field-display-resolution.d.ts +5 -0
  59. package/dist/field-display-resolution.d.ts.map +1 -0
  60. package/dist/field-display-resolution.js +50 -0
  61. package/dist/field-display-resolution.js.map +1 -0
  62. package/dist/index.d.ts +90 -0
  63. package/dist/index.d.ts.map +1 -0
  64. package/dist/index.js +89 -0
  65. package/dist/index.js.map +1 -0
  66. package/dist/module.d.ts +48 -0
  67. package/dist/module.d.ts.map +1 -0
  68. package/dist/module.js +108 -0
  69. package/dist/module.js.map +1 -0
  70. package/dist/navigation-shell-frame-renderer-registry.d.ts +12 -0
  71. package/dist/navigation-shell-frame-renderer-registry.d.ts.map +1 -0
  72. package/dist/navigation-shell-frame-renderer-registry.js +29 -0
  73. package/dist/navigation-shell-frame-renderer-registry.js.map +1 -0
  74. package/dist/navigation-shell-layout-runtime.d.ts +29 -0
  75. package/dist/navigation-shell-layout-runtime.d.ts.map +1 -0
  76. package/dist/navigation-shell-layout-runtime.js +50 -0
  77. package/dist/navigation-shell-layout-runtime.js.map +1 -0
  78. package/dist/navigation-shell-region-component-registry.d.ts +96 -0
  79. package/dist/navigation-shell-region-component-registry.d.ts.map +1 -0
  80. package/dist/navigation-shell-region-component-registry.js +108 -0
  81. package/dist/navigation-shell-region-component-registry.js.map +1 -0
  82. package/dist/navigation-shell-runtime.d.ts +48 -0
  83. package/dist/navigation-shell-runtime.d.ts.map +1 -0
  84. package/dist/navigation-shell-runtime.js +457 -0
  85. package/dist/navigation-shell-runtime.js.map +1 -0
  86. package/dist/navigation-shell-slot-renderer-registry.d.ts +15 -0
  87. package/dist/navigation-shell-slot-renderer-registry.d.ts.map +1 -0
  88. package/dist/navigation-shell-slot-renderer-registry.js +48 -0
  89. package/dist/navigation-shell-slot-renderer-registry.js.map +1 -0
  90. package/dist/navigation.d.ts +84 -0
  91. package/dist/navigation.d.ts.map +1 -0
  92. package/dist/navigation.js +167 -0
  93. package/dist/navigation.js.map +1 -0
  94. package/dist/object-path.d.ts +23 -0
  95. package/dist/object-path.d.ts.map +1 -0
  96. package/dist/object-path.js +63 -0
  97. package/dist/object-path.js.map +1 -0
  98. package/dist/page-host-renderer-registry.d.ts +119 -0
  99. package/dist/page-host-renderer-registry.d.ts.map +1 -0
  100. package/dist/page-host-renderer-registry.js +305 -0
  101. package/dist/page-host-renderer-registry.js.map +1 -0
  102. package/dist/presentation-action-endpoint-request-projection.d.ts +23 -0
  103. package/dist/presentation-action-endpoint-request-projection.d.ts.map +1 -0
  104. package/dist/presentation-action-endpoint-request-projection.js +117 -0
  105. package/dist/presentation-action-endpoint-request-projection.js.map +1 -0
  106. package/dist/presentation-action-endpoint.d.ts +24 -0
  107. package/dist/presentation-action-endpoint.d.ts.map +1 -0
  108. package/dist/presentation-action-endpoint.js +56 -0
  109. package/dist/presentation-action-endpoint.js.map +1 -0
  110. package/dist/presentation-action-icons.d.ts +4 -0
  111. package/dist/presentation-action-icons.d.ts.map +1 -0
  112. package/dist/presentation-action-icons.js +4 -0
  113. package/dist/presentation-action-icons.js.map +1 -0
  114. package/dist/presentation-action-result-state.d.ts +48 -0
  115. package/dist/presentation-action-result-state.d.ts.map +1 -0
  116. package/dist/presentation-action-result-state.js +109 -0
  117. package/dist/presentation-action-result-state.js.map +1 -0
  118. package/dist/presentation-action-runtime-binding.d.ts +48 -0
  119. package/dist/presentation-action-runtime-binding.d.ts.map +1 -0
  120. package/dist/presentation-action-runtime-binding.js +52 -0
  121. package/dist/presentation-action-runtime-binding.js.map +1 -0
  122. package/dist/presentation-action-runtime-diagnostics.d.ts +18 -0
  123. package/dist/presentation-action-runtime-diagnostics.d.ts.map +1 -0
  124. package/dist/presentation-action-runtime-diagnostics.js +69 -0
  125. package/dist/presentation-action-runtime-diagnostics.js.map +1 -0
  126. package/dist/presentation-action-runtime-labels.d.ts +15 -0
  127. package/dist/presentation-action-runtime-labels.d.ts.map +1 -0
  128. package/dist/presentation-action-runtime-labels.js +28 -0
  129. package/dist/presentation-action-runtime-labels.js.map +1 -0
  130. package/dist/presentation-action-runtime-projection.d.ts +17 -0
  131. package/dist/presentation-action-runtime-projection.d.ts.map +1 -0
  132. package/dist/presentation-action-runtime-projection.js +31 -0
  133. package/dist/presentation-action-runtime-projection.js.map +1 -0
  134. package/dist/presentation-badge-resolution.d.ts +8 -0
  135. package/dist/presentation-badge-resolution.d.ts.map +1 -0
  136. package/dist/presentation-badge-resolution.js +73 -0
  137. package/dist/presentation-badge-resolution.js.map +1 -0
  138. package/dist/presentation-collection-pagination.d.ts +32 -0
  139. package/dist/presentation-collection-pagination.d.ts.map +1 -0
  140. package/dist/presentation-collection-pagination.js +275 -0
  141. package/dist/presentation-collection-pagination.js.map +1 -0
  142. package/dist/presentation-content-diagnostics.d.ts +17 -0
  143. package/dist/presentation-content-diagnostics.d.ts.map +1 -0
  144. package/dist/presentation-content-diagnostics.js +61 -0
  145. package/dist/presentation-content-diagnostics.js.map +1 -0
  146. package/dist/presentation-content-resolution.d.ts +9 -0
  147. package/dist/presentation-content-resolution.d.ts.map +1 -0
  148. package/dist/presentation-content-resolution.js +19 -0
  149. package/dist/presentation-content-resolution.js.map +1 -0
  150. package/dist/presentation-data-source-binding-model.d.ts +81 -0
  151. package/dist/presentation-data-source-binding-model.d.ts.map +1 -0
  152. package/dist/presentation-data-source-binding-model.js +56 -0
  153. package/dist/presentation-data-source-binding-model.js.map +1 -0
  154. package/dist/presentation-data-source-runtime.d.ts +62 -0
  155. package/dist/presentation-data-source-runtime.d.ts.map +1 -0
  156. package/dist/presentation-data-source-runtime.js +80 -0
  157. package/dist/presentation-data-source-runtime.js.map +1 -0
  158. package/dist/presentation-design-intent-diagnostics.d.ts +25 -0
  159. package/dist/presentation-design-intent-diagnostics.d.ts.map +1 -0
  160. package/dist/presentation-design-intent-diagnostics.js +55 -0
  161. package/dist/presentation-design-intent-diagnostics.js.map +1 -0
  162. package/dist/presentation-icon-diagnostics.d.ts +45 -0
  163. package/dist/presentation-icon-diagnostics.d.ts.map +1 -0
  164. package/dist/presentation-icon-diagnostics.js +235 -0
  165. package/dist/presentation-icon-diagnostics.js.map +1 -0
  166. package/dist/presentation-icon-registry.d.ts +36 -0
  167. package/dist/presentation-icon-registry.d.ts.map +1 -0
  168. package/dist/presentation-icon-registry.js +81 -0
  169. package/dist/presentation-icon-registry.js.map +1 -0
  170. package/dist/presentation-navigation-action-runtime-bindings.d.ts +13 -0
  171. package/dist/presentation-navigation-action-runtime-bindings.d.ts.map +1 -0
  172. package/dist/presentation-navigation-action-runtime-bindings.js +29 -0
  173. package/dist/presentation-navigation-action-runtime-bindings.js.map +1 -0
  174. package/dist/presentation-pagination.d.ts +98 -0
  175. package/dist/presentation-pagination.d.ts.map +1 -0
  176. package/dist/presentation-pagination.js +427 -0
  177. package/dist/presentation-pagination.js.map +1 -0
  178. package/dist/presentation-projection-coverage.d.ts +38 -0
  179. package/dist/presentation-projection-coverage.d.ts.map +1 -0
  180. package/dist/presentation-projection-coverage.js +2429 -0
  181. package/dist/presentation-projection-coverage.js.map +1 -0
  182. package/dist/presentation-projection-diagnostics.d.ts +33 -0
  183. package/dist/presentation-projection-diagnostics.d.ts.map +1 -0
  184. package/dist/presentation-projection-diagnostics.js +17 -0
  185. package/dist/presentation-projection-diagnostics.js.map +1 -0
  186. package/dist/presentation-projection-trace.d.ts +97 -0
  187. package/dist/presentation-projection-trace.d.ts.map +1 -0
  188. package/dist/presentation-projection-trace.js +110 -0
  189. package/dist/presentation-projection-trace.js.map +1 -0
  190. package/dist/presentation-query-form-state.d.ts +15 -0
  191. package/dist/presentation-query-form-state.d.ts.map +1 -0
  192. package/dist/presentation-query-form-state.js +20 -0
  193. package/dist/presentation-query-form-state.js.map +1 -0
  194. package/dist/presentation-renderer-registry.d.ts +86 -0
  195. package/dist/presentation-renderer-registry.d.ts.map +1 -0
  196. package/dist/presentation-renderer-registry.js +108 -0
  197. package/dist/presentation-renderer-registry.js.map +1 -0
  198. package/dist/presentation-semantics.d.ts +288 -0
  199. package/dist/presentation-semantics.d.ts.map +1 -0
  200. package/dist/presentation-semantics.js +560 -0
  201. package/dist/presentation-semantics.js.map +1 -0
  202. package/dist/presentation-standards.d.ts +8 -0
  203. package/dist/presentation-standards.d.ts.map +1 -0
  204. package/dist/presentation-standards.js +9 -0
  205. package/dist/presentation-standards.js.map +1 -0
  206. package/dist/presentation-test-selectors.d.ts +146 -0
  207. package/dist/presentation-test-selectors.d.ts.map +1 -0
  208. package/dist/presentation-test-selectors.js +113 -0
  209. package/dist/presentation-test-selectors.js.map +1 -0
  210. package/dist/presentation-value-formatting.d.ts +12 -0
  211. package/dist/presentation-value-formatting.d.ts.map +1 -0
  212. package/dist/presentation-value-formatting.js +33 -0
  213. package/dist/presentation-value-formatting.js.map +1 -0
  214. package/dist/presentation-value-resolution.d.ts +7 -0
  215. package/dist/presentation-value-resolution.d.ts.map +1 -0
  216. package/dist/presentation-value-resolution.js +69 -0
  217. package/dist/presentation-value-resolution.js.map +1 -0
  218. package/dist/presentation-view-tree.d.ts +6 -0
  219. package/dist/presentation-view-tree.d.ts.map +1 -0
  220. package/dist/presentation-view-tree.js +15 -0
  221. package/dist/presentation-view-tree.js.map +1 -0
  222. package/dist/process-task-model.d.ts +80 -0
  223. package/dist/process-task-model.d.ts.map +1 -0
  224. package/dist/process-task-model.js +52 -0
  225. package/dist/process-task-model.js.map +1 -0
  226. package/dist/process-task-projection.d.ts +46 -0
  227. package/dist/process-task-projection.d.ts.map +1 -0
  228. package/dist/process-task-projection.js +233 -0
  229. package/dist/process-task-projection.js.map +1 -0
  230. package/dist/projected-action-status-projection.d.ts +18 -0
  231. package/dist/projected-action-status-projection.d.ts.map +1 -0
  232. package/dist/projected-action-status-projection.js +19 -0
  233. package/dist/projected-action-status-projection.js.map +1 -0
  234. package/dist/projected-activity-state-model.d.ts +22 -0
  235. package/dist/projected-activity-state-model.d.ts.map +1 -0
  236. package/dist/projected-activity-state-model.js +87 -0
  237. package/dist/projected-activity-state-model.js.map +1 -0
  238. package/dist/projected-collection-action-runtime-bindings.d.ts +12 -0
  239. package/dist/projected-collection-action-runtime-bindings.d.ts.map +1 -0
  240. package/dist/projected-collection-action-runtime-bindings.js +37 -0
  241. package/dist/projected-collection-action-runtime-bindings.js.map +1 -0
  242. package/dist/projected-collection-action-runtime-diagnostics.d.ts +23 -0
  243. package/dist/projected-collection-action-runtime-diagnostics.d.ts.map +1 -0
  244. package/dist/projected-collection-action-runtime-diagnostics.js +168 -0
  245. package/dist/projected-collection-action-runtime-diagnostics.js.map +1 -0
  246. package/dist/projected-collection-runtime.d.ts +475 -0
  247. package/dist/projected-collection-runtime.d.ts.map +1 -0
  248. package/dist/projected-collection-runtime.js +832 -0
  249. package/dist/projected-collection-runtime.js.map +1 -0
  250. package/dist/projected-document-action-diagnostics.d.ts +16 -0
  251. package/dist/projected-document-action-diagnostics.d.ts.map +1 -0
  252. package/dist/projected-document-action-diagnostics.js +113 -0
  253. package/dist/projected-document-action-diagnostics.js.map +1 -0
  254. package/dist/projected-document-action-enablements.d.ts +25 -0
  255. package/dist/projected-document-action-enablements.d.ts.map +1 -0
  256. package/dist/projected-document-action-enablements.js +38 -0
  257. package/dist/projected-document-action-enablements.js.map +1 -0
  258. package/dist/projected-document-action-projection.d.ts +45 -0
  259. package/dist/projected-document-action-projection.d.ts.map +1 -0
  260. package/dist/projected-document-action-projection.js +201 -0
  261. package/dist/projected-document-action-projection.js.map +1 -0
  262. package/dist/projected-document-action-runtime-profile-diagnostics.d.ts +16 -0
  263. package/dist/projected-document-action-runtime-profile-diagnostics.d.ts.map +1 -0
  264. package/dist/projected-document-action-runtime-profile-diagnostics.js +168 -0
  265. package/dist/projected-document-action-runtime-profile-diagnostics.js.map +1 -0
  266. package/dist/projected-document-action-runtime-profile.d.ts +64 -0
  267. package/dist/projected-document-action-runtime-profile.d.ts.map +1 -0
  268. package/dist/projected-document-action-runtime-profile.js +33 -0
  269. package/dist/projected-document-action-runtime-profile.js.map +1 -0
  270. package/dist/projected-document-action-status-notice-diagnostics.d.ts +10 -0
  271. package/dist/projected-document-action-status-notice-diagnostics.d.ts.map +1 -0
  272. package/dist/projected-document-action-status-notice-diagnostics.js +64 -0
  273. package/dist/projected-document-action-status-notice-diagnostics.js.map +1 -0
  274. package/dist/projected-document-badge-formatting.d.ts +2 -0
  275. package/dist/projected-document-badge-formatting.d.ts.map +1 -0
  276. package/dist/projected-document-badge-formatting.js +7 -0
  277. package/dist/projected-document-badge-formatting.js.map +1 -0
  278. package/dist/projected-document-editor-model.d.ts +4 -0
  279. package/dist/projected-document-editor-model.d.ts.map +1 -0
  280. package/dist/projected-document-editor-model.js +2 -0
  281. package/dist/projected-document-editor-model.js.map +1 -0
  282. package/dist/projected-document-field-navigation.d.ts +72 -0
  283. package/dist/projected-document-field-navigation.d.ts.map +1 -0
  284. package/dist/projected-document-field-navigation.js +143 -0
  285. package/dist/projected-document-field-navigation.js.map +1 -0
  286. package/dist/projected-document-field-semantics.d.ts +5 -0
  287. package/dist/projected-document-field-semantics.d.ts.map +1 -0
  288. package/dist/projected-document-field-semantics.js +16 -0
  289. package/dist/projected-document-field-semantics.js.map +1 -0
  290. package/dist/projected-document-workspace-data-source-bindings.d.ts +69 -0
  291. package/dist/projected-document-workspace-data-source-bindings.d.ts.map +1 -0
  292. package/dist/projected-document-workspace-data-source-bindings.js +81 -0
  293. package/dist/projected-document-workspace-data-source-bindings.js.map +1 -0
  294. package/dist/projected-document-workspace-notice-diagnostics.d.ts +12 -0
  295. package/dist/projected-document-workspace-notice-diagnostics.d.ts.map +1 -0
  296. package/dist/projected-document-workspace-notice-diagnostics.js +13 -0
  297. package/dist/projected-document-workspace-notice-diagnostics.js.map +1 -0
  298. package/dist/projected-input-form-runtime.d.ts +62 -0
  299. package/dist/projected-input-form-runtime.d.ts.map +1 -0
  300. package/dist/projected-input-form-runtime.js +2 -0
  301. package/dist/projected-input-form-runtime.js.map +1 -0
  302. package/dist/projected-process-task-notice-diagnostics.d.ts +13 -0
  303. package/dist/projected-process-task-notice-diagnostics.d.ts.map +1 -0
  304. package/dist/projected-process-task-notice-diagnostics.js +170 -0
  305. package/dist/projected-process-task-notice-diagnostics.js.map +1 -0
  306. package/dist/projected-query-form-runtime.d.ts +46 -0
  307. package/dist/projected-query-form-runtime.d.ts.map +1 -0
  308. package/dist/projected-query-form-runtime.js +2 -0
  309. package/dist/projected-query-form-runtime.js.map +1 -0
  310. package/dist/prompt-document-preview-projection.d.ts +46 -0
  311. package/dist/prompt-document-preview-projection.d.ts.map +1 -0
  312. package/dist/prompt-document-preview-projection.js +173 -0
  313. package/dist/prompt-document-preview-projection.js.map +1 -0
  314. package/dist/prompt-icons.d.ts +4 -0
  315. package/dist/prompt-icons.d.ts.map +1 -0
  316. package/dist/prompt-icons.js +4 -0
  317. package/dist/prompt-icons.js.map +1 -0
  318. package/dist/prompt-status-message-resolution.d.ts +18 -0
  319. package/dist/prompt-status-message-resolution.d.ts.map +1 -0
  320. package/dist/prompt-status-message-resolution.js +83 -0
  321. package/dist/prompt-status-message-resolution.js.map +1 -0
  322. package/dist/query-form-lowering.d.ts +16 -0
  323. package/dist/query-form-lowering.d.ts.map +1 -0
  324. package/dist/query-form-lowering.js +38 -0
  325. package/dist/query-form-lowering.js.map +1 -0
  326. package/dist/query-form-url-state.d.ts +44 -0
  327. package/dist/query-form-url-state.d.ts.map +1 -0
  328. package/dist/query-form-url-state.js +197 -0
  329. package/dist/query-form-url-state.js.map +1 -0
  330. package/dist/query-offset-page.d.ts +13 -0
  331. package/dist/query-offset-page.d.ts.map +1 -0
  332. package/dist/query-offset-page.js +24 -0
  333. package/dist/query-offset-page.js.map +1 -0
  334. package/dist/relation-query-input-form-target.d.ts +10 -0
  335. package/dist/relation-query-input-form-target.d.ts.map +1 -0
  336. package/dist/relation-query-input-form-target.js +30 -0
  337. package/dist/relation-query-input-form-target.js.map +1 -0
  338. package/dist/scope-selection.d.ts +94 -0
  339. package/dist/scope-selection.d.ts.map +1 -0
  340. package/dist/scope-selection.js +95 -0
  341. package/dist/scope-selection.js.map +1 -0
  342. package/dist/target-bindings.d.ts +39 -0
  343. package/dist/target-bindings.d.ts.map +1 -0
  344. package/dist/target-bindings.js +40 -0
  345. package/dist/target-bindings.js.map +1 -0
  346. package/dist/view-chrome-content-diagnostics.d.ts +8 -0
  347. package/dist/view-chrome-content-diagnostics.d.ts.map +1 -0
  348. package/dist/view-chrome-content-diagnostics.js +84 -0
  349. package/dist/view-chrome-content-diagnostics.js.map +1 -0
  350. package/dist/view-chrome-icons.d.ts +12 -0
  351. package/dist/view-chrome-icons.d.ts.map +1 -0
  352. package/dist/view-chrome-icons.js +50 -0
  353. package/dist/view-chrome-icons.js.map +1 -0
  354. package/dist/view-chrome-slot-renderer-registry.d.ts +19 -0
  355. package/dist/view-chrome-slot-renderer-registry.d.ts.map +1 -0
  356. package/dist/view-chrome-slot-renderer-registry.js +62 -0
  357. package/dist/view-chrome-slot-renderer-registry.js.map +1 -0
  358. package/package.json +53 -0
  359. package/src/api-scope-request.ts +186 -0
  360. package/src/collection-chrome-icons.ts +89 -0
  361. package/src/collection-chrome-runtime.ts +151 -0
  362. package/src/collection-chrome-slot-renderer-registry.ts +227 -0
  363. package/src/collection-selection-state.ts +32 -0
  364. package/src/data-source-projection.ts +2149 -0
  365. package/src/data-source-query-lowering.ts +217 -0
  366. package/src/date-time-filter-model.ts +156 -0
  367. package/src/document-badge-icons.ts +3 -0
  368. package/src/document-module.ts +741 -0
  369. package/src/document-summary-model.ts +1 -0
  370. package/src/document-workspace-chrome-projection.ts +62 -0
  371. package/src/document-workspace-surface-slots.ts +458 -0
  372. package/src/endpoint-executor.ts +122 -0
  373. package/src/field-display-resolution.ts +99 -0
  374. package/src/index.ts +104 -0
  375. package/src/module.ts +281 -0
  376. package/src/navigation-shell-frame-renderer-registry.ts +65 -0
  377. package/src/navigation-shell-layout-runtime.ts +124 -0
  378. package/src/navigation-shell-region-component-registry.ts +242 -0
  379. package/src/navigation-shell-runtime.ts +579 -0
  380. package/src/navigation-shell-slot-renderer-registry.ts +94 -0
  381. package/src/navigation.ts +364 -0
  382. package/src/object-path.ts +99 -0
  383. package/src/page-host-renderer-registry.ts +615 -0
  384. package/src/presentation-action-endpoint-request-projection.ts +223 -0
  385. package/src/presentation-action-endpoint.ts +130 -0
  386. package/src/presentation-action-icons.ts +3 -0
  387. package/src/presentation-action-result-state.ts +189 -0
  388. package/src/presentation-action-runtime-binding.ts +177 -0
  389. package/src/presentation-action-runtime-diagnostics.ts +120 -0
  390. package/src/presentation-action-runtime-labels.ts +57 -0
  391. package/src/presentation-action-runtime-projection.ts +67 -0
  392. package/src/presentation-badge-resolution.ts +138 -0
  393. package/src/presentation-collection-pagination.ts +436 -0
  394. package/src/presentation-content-diagnostics.ts +121 -0
  395. package/src/presentation-content-resolution.ts +46 -0
  396. package/src/presentation-data-source-binding-model.ts +140 -0
  397. package/src/presentation-data-source-runtime.ts +190 -0
  398. package/src/presentation-design-intent-diagnostics.ts +104 -0
  399. package/src/presentation-icon-diagnostics.ts +368 -0
  400. package/src/presentation-icon-registry.ts +181 -0
  401. package/src/presentation-navigation-action-runtime-bindings.ts +54 -0
  402. package/src/presentation-pagination.ts +694 -0
  403. package/src/presentation-projection-coverage.ts +3257 -0
  404. package/src/presentation-projection-diagnostics.ts +71 -0
  405. package/src/presentation-projection-trace.ts +293 -0
  406. package/src/presentation-query-form-state.ts +54 -0
  407. package/src/presentation-renderer-registry.ts +269 -0
  408. package/src/presentation-semantics.ts +1028 -0
  409. package/src/presentation-standards.ts +14 -0
  410. package/src/presentation-test-selectors.ts +312 -0
  411. package/src/presentation-value-formatting.ts +65 -0
  412. package/src/presentation-value-resolution.ts +100 -0
  413. package/src/presentation-view-tree.ts +33 -0
  414. package/src/process-task-model.ts +158 -0
  415. package/src/process-task-projection.ts +398 -0
  416. package/src/projected-action-status-projection.ts +43 -0
  417. package/src/projected-activity-state-model.ts +123 -0
  418. package/src/projected-collection-action-runtime-bindings.ts +76 -0
  419. package/src/projected-collection-action-runtime-diagnostics.ts +289 -0
  420. package/src/projected-collection-runtime.ts +1772 -0
  421. package/src/projected-document-action-diagnostics.ts +196 -0
  422. package/src/projected-document-action-enablements.ts +99 -0
  423. package/src/projected-document-action-projection.ts +464 -0
  424. package/src/projected-document-action-runtime-profile-diagnostics.ts +250 -0
  425. package/src/projected-document-action-runtime-profile.ts +133 -0
  426. package/src/projected-document-action-status-notice-diagnostics.ts +116 -0
  427. package/src/projected-document-badge-formatting.ts +7 -0
  428. package/src/projected-document-editor-model.ts +7 -0
  429. package/src/projected-document-field-navigation.ts +300 -0
  430. package/src/projected-document-field-semantics.ts +27 -0
  431. package/src/projected-document-workspace-data-source-bindings.ts +182 -0
  432. package/src/projected-document-workspace-notice-diagnostics.ts +41 -0
  433. package/src/projected-input-form-runtime.ts +86 -0
  434. package/src/projected-process-task-notice-diagnostics.ts +283 -0
  435. package/src/projected-query-form-runtime.ts +62 -0
  436. package/src/prompt-document-preview-projection.ts +345 -0
  437. package/src/prompt-icons.ts +3 -0
  438. package/src/prompt-status-message-resolution.ts +158 -0
  439. package/src/query-form-lowering.ts +77 -0
  440. package/src/query-form-url-state.ts +346 -0
  441. package/src/query-offset-page.ts +50 -0
  442. package/src/relation-query-input-form-target.ts +61 -0
  443. package/src/scope-selection.ts +201 -0
  444. package/src/target-bindings.ts +123 -0
  445. package/src/view-chrome-content-diagnostics.ts +139 -0
  446. package/src/view-chrome-icons.ts +81 -0
  447. package/src/view-chrome-slot-renderer-registry.ts +128 -0
@@ -0,0 +1,275 @@
1
+ import { findPresentationDataSource, } from './module.js';
2
+ import { createDataSourcePaginationParameterPrefix, inferPresentationPaginationBinding, } from './presentation-pagination.js';
3
+ import { createPresentationProjectionDiagnostic, } from './presentation-projection-diagnostics.js';
4
+ import { createProjectedCollectionChromeRuntime, isProjectedCollectionPaginationEnabled, isProjectedCollectionPaginationFooterEnabled, resolveProjectedCollectionPaginationDataSourceId, } from './projected-collection-runtime.js';
5
+ import { findPresentationQueryFormForResultDataSource } from './query-form-lowering.js';
6
+ import { dataSourceKindLabels, dataSourceKinds, } from '@cohesivesystems/presentation-contracts';
7
+ /**
8
+ * Fallback page size used when neither the data source nor a synchronized query
9
+ * form declares a default page size.
10
+ */
11
+ export const defaultPresentationCollectionPageSize = 10;
12
+ export function createPresentationCollectionPaginationBindings({ dataSourceIds, defaultPageSize = defaultPresentationCollectionPageSize, module, views, }) {
13
+ const fallbackPageSize = readPositiveInteger(defaultPageSize) ?? defaultPresentationCollectionPageSize;
14
+ return resolveCollectionPaginationDataSourceIds(dataSourceIds, views).flatMap((dataSourceId) => {
15
+ const dataSource = findPresentationDataSource(module, dataSourceId);
16
+ if (!dataSource || !isCollectionQueryDataSource(dataSource)) {
17
+ return [];
18
+ }
19
+ const binding = inferPresentationCollectionPaginationBinding(dataSource, module, fallbackPageSize);
20
+ return binding ? [binding] : [];
21
+ });
22
+ }
23
+ function resolveCollectionPaginationDataSourceIds(dataSourceIds, views) {
24
+ const collectionViews = views?.filter((view) => view.Collection) ?? [];
25
+ if (collectionViews.length === 0) {
26
+ return Array.from(new Set(dataSourceIds));
27
+ }
28
+ return Array.from(new Set(collectionViews.flatMap((view) => {
29
+ const collection = view.Collection;
30
+ if (!collection || !isProjectedCollectionPaginationEnabled(collection)) {
31
+ return [];
32
+ }
33
+ const dataSourceId = resolveProjectedCollectionPaginationDataSourceId(collection);
34
+ return dataSourceId ? [dataSourceId] : [];
35
+ })));
36
+ }
37
+ export function projectPresentationCollectionPaginationDiagnostics({ bindings, footerRendererBound = true, module, sourceId, views, }) {
38
+ const collectionPaginationViews = resolveEnabledCollectionPaginationViews(views);
39
+ if (collectionPaginationViews.length === 0) {
40
+ return bindings.map((binding) => {
41
+ const dataSource = findPresentationDataSource(module, binding.dataSourceId);
42
+ return createCollectionPaginationRuntimeDiagnostic({
43
+ binding,
44
+ dataSource,
45
+ sourceId,
46
+ });
47
+ });
48
+ }
49
+ return collectionPaginationViews.flatMap((view) => projectCollectionViewPaginationDiagnostics({
50
+ bindings,
51
+ footerRendererBound,
52
+ module,
53
+ sourceId,
54
+ view,
55
+ }));
56
+ }
57
+ function projectCollectionViewPaginationDiagnostics({ bindings, footerRendererBound, module, sourceId, view, }) {
58
+ const collection = view.Collection;
59
+ if (!collection || !isProjectedCollectionPaginationEnabled(collection)) {
60
+ return [];
61
+ }
62
+ const chrome = createProjectedCollectionChromeRuntime(collection);
63
+ const paginationSlot = chrome.paginationSlot;
64
+ const dataSourceId = resolveProjectedCollectionPaginationDataSourceId(collection);
65
+ const diagnostics = [];
66
+ if (!dataSourceId) {
67
+ diagnostics.push(createPresentationProjectionDiagnostic({
68
+ category: 'missing-definition',
69
+ details: {
70
+ collectionChromeSlotId: paginationSlot?.Id ?? null,
71
+ paginationPlacement: paginationSlot?.Placement ?? null,
72
+ viewId: view.Id,
73
+ },
74
+ id: `collection-pagination.${view.Id}.missing-slot-data-source`,
75
+ interpretation: {
76
+ status: 'unbound',
77
+ target: 'projected-collection-runtime.pagination',
78
+ },
79
+ message: `Collection view '${view.Name}' declares pagination chrome, ` +
80
+ 'but the pagination slot does not declare a data source.',
81
+ severity: 'error',
82
+ source: sourceId,
83
+ subject: {
84
+ id: view.Id,
85
+ kind: 'view',
86
+ name: view.Name,
87
+ },
88
+ suggestedNextStep: 'Add the paginated collection data source id to the Collection.Chrome pagination slot.',
89
+ }));
90
+ return diagnostics;
91
+ }
92
+ const dataSource = findPresentationDataSource(module, dataSourceId);
93
+ const binding = bindings.find((candidate) => candidate.dataSourceId === dataSourceId);
94
+ if (!dataSource) {
95
+ diagnostics.push(createPresentationProjectionDiagnostic({
96
+ category: 'missing-definition',
97
+ details: {
98
+ collectionChromeSlotId: paginationSlot?.Id ?? null,
99
+ dataSourceId,
100
+ paginationPlacement: paginationSlot?.Placement ?? null,
101
+ viewId: view.Id,
102
+ },
103
+ id: `collection-pagination.${view.Id}.${dataSourceId}.missing-data-source`,
104
+ interpretation: {
105
+ status: 'unbound',
106
+ target: 'projected-collection-runtime.pagination',
107
+ },
108
+ message: `Collection view '${view.Name}' enables pagination through data source ` +
109
+ `'${dataSourceId}', but that data source is not present in the presentation module.`,
110
+ severity: 'error',
111
+ source: sourceId,
112
+ subject: {
113
+ id: view.Id,
114
+ kind: 'view',
115
+ name: view.Name,
116
+ },
117
+ suggestedNextStep: 'Declare the pagination data source in the presentation module or update the Collection.Chrome pagination slot.',
118
+ }));
119
+ }
120
+ else if (!binding) {
121
+ diagnostics.push(createPresentationProjectionDiagnostic({
122
+ category: 'missing-binding',
123
+ details: {
124
+ collectionChromeSlotId: paginationSlot?.Id ?? null,
125
+ dataSourceId,
126
+ dataSourceKind: dataSource.Kind,
127
+ paginationPlacement: paginationSlot?.Placement ?? null,
128
+ viewId: view.Id,
129
+ },
130
+ id: `collection-pagination.${view.Id}.${dataSourceId}.missing-runtime-binding`,
131
+ interpretation: {
132
+ status: 'unbound',
133
+ target: 'projected-collection-runtime.pagination.window',
134
+ },
135
+ message: `Collection view '${view.Name}' enables pagination for '${dataSource.Name}', ` +
136
+ 'but no frontend pagination runtime binding was created for that data source.',
137
+ severity: 'warning',
138
+ source: sourceId,
139
+ subject: {
140
+ id: view.Id,
141
+ kind: 'view',
142
+ name: view.Name,
143
+ },
144
+ suggestedNextStep: 'Ensure the data source is a collection-query data source with declared or inferable pagination request and response bindings.',
145
+ }));
146
+ }
147
+ else {
148
+ diagnostics.push(createCollectionPaginationRuntimeDiagnostic({
149
+ binding,
150
+ dataSource,
151
+ paginationSlotId: paginationSlot?.Id ?? null,
152
+ sourceId,
153
+ view,
154
+ }));
155
+ }
156
+ if (isProjectedCollectionPaginationFooterEnabled(collection) && !footerRendererBound) {
157
+ diagnostics.push(createPresentationProjectionDiagnostic({
158
+ category: 'missing-binding',
159
+ details: {
160
+ collectionChromeSlotId: paginationSlot?.Id ?? null,
161
+ dataSourceId,
162
+ paginationPlacement: paginationSlot?.Placement ?? null,
163
+ viewId: view.Id,
164
+ },
165
+ id: `collection-pagination.${view.Id}.missing-footer-renderer`,
166
+ interpretation: {
167
+ status: 'unbound',
168
+ target: 'collection-pagination-footer-chrome',
169
+ },
170
+ message: `Collection view '${view.Name}' requests footer pagination chrome, ` +
171
+ 'but no collection footer renderer is bound.',
172
+ severity: 'warning',
173
+ source: sourceId,
174
+ subject: {
175
+ id: view.Id,
176
+ kind: 'view',
177
+ name: view.Name,
178
+ },
179
+ suggestedNextStep: 'Bind a collection footer renderer that projects collectionRuntime.pagination.window, or change the collection pagination placement.',
180
+ }));
181
+ }
182
+ return diagnostics;
183
+ }
184
+ function createCollectionPaginationRuntimeDiagnostic({ binding, dataSource, paginationSlotId = null, sourceId, view, }) {
185
+ return createPresentationProjectionDiagnostic({
186
+ category: 'local-interpretation',
187
+ details: {
188
+ collectionChromeSlotId: paginationSlotId,
189
+ dataSourceId: binding.dataSourceId,
190
+ defaultPageSize: binding.defaultPageSize,
191
+ paginationKind: binding.kind,
192
+ urlEnabled: binding.url.enabled,
193
+ urlParameterPrefix: binding.url.parameterPrefix,
194
+ viewId: view?.Id ?? null,
195
+ },
196
+ id: view
197
+ ? `collection-pagination.${view.Id}.${binding.dataSourceId}.runtime-interpretation`
198
+ : `collection-pagination.${binding.dataSourceId}.runtime-interpretation`,
199
+ interpretation: {
200
+ status: 'locally-interpreted',
201
+ target: 'projected-collection-runtime.pagination.window',
202
+ },
203
+ message: `Collection pagination for '${dataSource?.Name ?? binding.dataSourceId}' ` +
204
+ `is interpreted through Collection.Chrome by ProjectedCollectionRuntime as ${binding.kind} windowing.`,
205
+ severity: 'info',
206
+ source: sourceId,
207
+ subject: view
208
+ ? {
209
+ id: view.Id,
210
+ kind: 'view',
211
+ name: view.Name,
212
+ }
213
+ : {
214
+ id: binding.dataSourceId,
215
+ kind: 'data-source',
216
+ name: dataSource?.Name,
217
+ },
218
+ suggestedNextStep: 'Extend collection IR with page-size controls, column selection, and row selection chips as the grid component system grows.',
219
+ });
220
+ }
221
+ function resolveEnabledCollectionPaginationViews(views) {
222
+ return (views ?? []).filter((view) => isProjectedCollectionPaginationEnabled(view.Collection));
223
+ }
224
+ function isCollectionQueryDataSource(dataSource) {
225
+ return matchesDataSourceKind(dataSource.Kind, dataSourceKinds.collectionQuery, 'collectionQuery');
226
+ }
227
+ function matchesDataSourceKind(value, numericValue, camelLabel) {
228
+ const pascalLabel = dataSourceKindLabels[numericValue];
229
+ return (value === numericValue ||
230
+ String(value) === String(numericValue) ||
231
+ String(value) === pascalLabel ||
232
+ String(value) === camelLabel);
233
+ }
234
+ function inferPresentationCollectionPaginationBinding(dataSource, module, fallbackPageSize) {
235
+ const urlPolicy = resolveCollectionPaginationUrlPolicy(dataSource, module);
236
+ return inferPresentationPaginationBinding({
237
+ dataSource,
238
+ defaultPageSize: resolveCollectionPageSize(dataSource, module, fallbackPageSize),
239
+ parameterPrefix: urlPolicy.parameterPrefix,
240
+ useUrl: urlPolicy.enabled,
241
+ });
242
+ }
243
+ function resolveCollectionPageSize(dataSource, module, fallbackPageSize) {
244
+ const queryFormDefaultLimit = findPresentationQueryFormForResultDataSource(module, dataSource.Id)?.Target.Result.DefaultLimit;
245
+ return readPositiveInteger(queryFormDefaultLimit) ?? fallbackPageSize;
246
+ }
247
+ function resolveCollectionPaginationUrlPolicy(dataSource, module) {
248
+ const dataSourceUrlPolicy = dataSource.Query?.Pagination?.Url;
249
+ if (dataSourceUrlPolicy) {
250
+ return {
251
+ enabled: dataSourceUrlPolicy.IsEnabled,
252
+ parameterPrefix: dataSourceUrlPolicy.ParameterPrefix ??
253
+ createDataSourcePaginationParameterPrefix(dataSource.Id),
254
+ };
255
+ }
256
+ const queryForm = findPresentationQueryFormForResultDataSource(module, dataSource.Id);
257
+ const queryFormUrlPolicy = queryForm?.Target.State.Url;
258
+ if (queryFormUrlPolicy?.IsEnabled && queryFormUrlPolicy.IncludePagination) {
259
+ return {
260
+ enabled: true,
261
+ parameterPrefix: queryFormUrlPolicy.ParameterPrefix ??
262
+ createDataSourcePaginationParameterPrefix(dataSource.Id),
263
+ };
264
+ }
265
+ return {
266
+ enabled: false,
267
+ parameterPrefix: createDataSourcePaginationParameterPrefix(dataSource.Id),
268
+ };
269
+ }
270
+ function readPositiveInteger(value) {
271
+ return typeof value === 'number' && Number.isInteger(value) && value > 0
272
+ ? value
273
+ : null;
274
+ }
275
+ //# sourceMappingURL=presentation-collection-pagination.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presentation-collection-pagination.js","sourceRoot":"","sources":["../src/presentation-collection-pagination.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,GAI3B,MAAM,UAAU,CAAA;AACjB,OAAO,EACL,yCAAyC,EACzC,kCAAkC,GAEnC,MAAM,2BAA2B,CAAA;AAClC,OAAO,EACL,sCAAsC,GAEvC,MAAM,uCAAuC,CAAA;AAC9C,OAAO,EACL,sCAAsC,EACtC,sCAAsC,EACtC,4CAA4C,EAC5C,gDAAgD,GACjD,MAAM,gCAAgC,CAAA;AACvC,OAAO,EAAE,4CAA4C,EAAE,MAAM,uBAAuB,CAAA;AACpF,OAAO,EACL,oBAAoB,EACpB,eAAe,GAEhB,MAAM,yCAAyC,CAAA;AAIhD;;;GAGG;AACH,MAAM,CAAC,MAAM,qCAAqC,GAAG,EAAE,CAAA;AAoBvD,MAAM,UAAU,8CAA8C,CAAC,EAC7D,aAAa,EACb,eAAe,GAAG,qCAAqC,EACvD,MAAM,EACN,KAAK,GACiD;IACtD,MAAM,gBAAgB,GACpB,mBAAmB,CAAC,eAAe,CAAC,IAAI,qCAAqC,CAAA;IAE/E,OAAO,wCAAwC,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,EAAE;QAC7F,MAAM,UAAU,GAAG,0BAA0B,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;QACnE,IAAI,CAAC,UAAU,IAAI,CAAC,2BAA2B,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5D,OAAO,EAAE,CAAA;QACX,CAAC;QAED,MAAM,OAAO,GAAG,4CAA4C,CAC1D,UAAU,EACV,MAAM,EACN,gBAAgB,CACjB,CAAA;QACD,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IACjC,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,wCAAwC,CAC/C,aAAgC,EAChC,KAAgE;IAEhE,MAAM,eAAe,GAAG,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAA;IACtE,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC,CAAA;IAC3C,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CACf,IAAI,GAAG,CACL,eAAe,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAC/B,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAA;QAClC,IAAI,CAAC,UAAU,IAAI,CAAC,sCAAsC,CAAC,UAAU,CAAC,EAAE,CAAC;YACvE,OAAO,EAAE,CAAA;QACX,CAAC;QAED,MAAM,YAAY,GAAG,gDAAgD,CAAC,UAAU,CAAC,CAAA;QACjF,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAC3C,CAAC,CAAC,CACH,CACF,CAAA;AACH,CAAC;AAED,MAAM,UAAU,kDAAkD,CAAC,EACjE,QAAQ,EACR,mBAAmB,GAAG,IAAI,EAC1B,MAAM,EACN,QAAQ,EACR,KAAK,GAON;IACC,MAAM,yBAAyB,GAAG,uCAAuC,CAAC,KAAK,CAAC,CAAA;IAChF,IAAI,yBAAyB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3C,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;YAC9B,MAAM,UAAU,GAAG,0BAA0B,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,CAAA;YAE3E,OAAO,2CAA2C,CAAC;gBACjD,OAAO;gBACP,UAAU;gBACV,QAAQ;aACT,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,OAAO,yBAAyB,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAChD,0CAA0C,CAAC;QACzC,QAAQ;QACR,mBAAmB;QACnB,MAAM;QACN,QAAQ;QACR,IAAI;KACL,CAAC,CAAC,CAAA;AACP,CAAC;AAED,SAAS,0CAA0C,CAAC,EAClD,QAAQ,EACR,mBAAmB,EACnB,MAAM,EACN,QAAQ,EACR,IAAI,GAOL;IACC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAA;IAClC,IAAI,CAAC,UAAU,IAAI,CAAC,sCAAsC,CAAC,UAAU,CAAC,EAAE,CAAC;QACvE,OAAO,EAAE,CAAA;IACX,CAAC;IAED,MAAM,MAAM,GAAG,sCAAsC,CAAC,UAAU,CAAC,CAAA;IACjE,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc,CAAA;IAC5C,MAAM,YAAY,GAAG,gDAAgD,CAAC,UAAU,CAAC,CAAA;IACjF,MAAM,WAAW,GAAuC,EAAE,CAAA;IAE1D,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,WAAW,CAAC,IAAI,CAAC,sCAAsC,CAAC;YACtD,QAAQ,EAAE,oBAAoB;YAC9B,OAAO,EAAE;gBACP,sBAAsB,EAAE,cAAc,EAAE,EAAE,IAAI,IAAI;gBAClD,mBAAmB,EAAE,cAAc,EAAE,SAAS,IAAI,IAAI;gBACtD,MAAM,EAAE,IAAI,CAAC,EAAE;aAChB;YACD,EAAE,EAAE,yBAAyB,IAAI,CAAC,EAAE,2BAA2B;YAC/D,cAAc,EAAE;gBACd,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,yCAAyC;aAClD;YACD,OAAO,EACL,oBAAoB,IAAI,CAAC,IAAI,gCAAgC;gBAC7D,yDAAyD;YAC3D,QAAQ,EAAE,OAAO;YACjB,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE;gBACP,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,IAAI,CAAC,IAAI;aAChB;YACD,iBAAiB,EACf,uFAAuF;SAC1F,CAAC,CAAC,CAAA;QAEH,OAAO,WAAW,CAAA;IACpB,CAAC;IAED,MAAM,UAAU,GAAG,0BAA0B,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IACnE,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,YAAY,KAAK,YAAY,CAAC,CAAA;IAErF,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,WAAW,CAAC,IAAI,CAAC,sCAAsC,CAAC;YACtD,QAAQ,EAAE,oBAAoB;YAC9B,OAAO,EAAE;gBACP,sBAAsB,EAAE,cAAc,EAAE,EAAE,IAAI,IAAI;gBAClD,YAAY;gBACZ,mBAAmB,EAAE,cAAc,EAAE,SAAS,IAAI,IAAI;gBACtD,MAAM,EAAE,IAAI,CAAC,EAAE;aAChB;YACD,EAAE,EAAE,yBAAyB,IAAI,CAAC,EAAE,IAAI,YAAY,sBAAsB;YAC1E,cAAc,EAAE;gBACd,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,yCAAyC;aAClD;YACD,OAAO,EACL,oBAAoB,IAAI,CAAC,IAAI,2CAA2C;gBACxE,IAAI,YAAY,oEAAoE;YACtF,QAAQ,EAAE,OAAO;YACjB,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE;gBACP,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,IAAI,CAAC,IAAI;aAChB;YACD,iBAAiB,EACf,gHAAgH;SACnH,CAAC,CAAC,CAAA;IACL,CAAC;SAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACpB,WAAW,CAAC,IAAI,CAAC,sCAAsC,CAAC;YACtD,QAAQ,EAAE,iBAAiB;YAC3B,OAAO,EAAE;gBACP,sBAAsB,EAAE,cAAc,EAAE,EAAE,IAAI,IAAI;gBAClD,YAAY;gBACZ,cAAc,EAAE,UAAU,CAAC,IAAI;gBAC/B,mBAAmB,EAAE,cAAc,EAAE,SAAS,IAAI,IAAI;gBACtD,MAAM,EAAE,IAAI,CAAC,EAAE;aAChB;YACD,EAAE,EAAE,yBAAyB,IAAI,CAAC,EAAE,IAAI,YAAY,0BAA0B;YAC9E,cAAc,EAAE;gBACd,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,gDAAgD;aACzD;YACD,OAAO,EACL,oBAAoB,IAAI,CAAC,IAAI,6BAA6B,UAAU,CAAC,IAAI,KAAK;gBAC9E,8EAA8E;YAChF,QAAQ,EAAE,SAAS;YACnB,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE;gBACP,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,IAAI,CAAC,IAAI;aAChB;YACD,iBAAiB,EACf,+HAA+H;SAClI,CAAC,CAAC,CAAA;IACL,CAAC;SAAM,CAAC;QACN,WAAW,CAAC,IAAI,CAAC,2CAA2C,CAAC;YAC3D,OAAO;YACP,UAAU;YACV,gBAAgB,EAAE,cAAc,EAAE,EAAE,IAAI,IAAI;YAC5C,QAAQ;YACR,IAAI;SACL,CAAC,CAAC,CAAA;IACL,CAAC;IAED,IAAI,4CAA4C,CAAC,UAAU,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACrF,WAAW,CAAC,IAAI,CAAC,sCAAsC,CAAC;YACtD,QAAQ,EAAE,iBAAiB;YAC3B,OAAO,EAAE;gBACP,sBAAsB,EAAE,cAAc,EAAE,EAAE,IAAI,IAAI;gBAClD,YAAY;gBACZ,mBAAmB,EAAE,cAAc,EAAE,SAAS,IAAI,IAAI;gBACtD,MAAM,EAAE,IAAI,CAAC,EAAE;aAChB;YACD,EAAE,EAAE,yBAAyB,IAAI,CAAC,EAAE,0BAA0B;YAC9D,cAAc,EAAE;gBACd,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,qCAAqC;aAC9C;YACD,OAAO,EACL,oBAAoB,IAAI,CAAC,IAAI,uCAAuC;gBACpE,6CAA6C;YAC/C,QAAQ,EAAE,SAAS;YACnB,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE;gBACP,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,IAAI,CAAC,IAAI;aAChB;YACD,iBAAiB,EACf,qIAAqI;SACxI,CAAC,CAAC,CAAA;IACL,CAAC;IAED,OAAO,WAAW,CAAA;AACpB,CAAC;AAED,SAAS,2CAA2C,CAAC,EACnD,OAAO,EACP,UAAU,EACV,gBAAgB,GAAG,IAAI,EACvB,QAAQ,EACR,IAAI,GAOL;IACC,OAAO,sCAAsC,CAAC;QAC5C,QAAQ,EAAE,sBAAsB;QAChC,OAAO,EAAE;YACP,sBAAsB,EAAE,gBAAgB;YACxC,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,cAAc,EAAE,OAAO,CAAC,IAAI;YAC5B,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO;YAC/B,kBAAkB,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe;YAC/C,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI;SACzB;QACD,EAAE,EAAE,IAAI;YACN,CAAC,CAAC,yBAAyB,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,YAAY,yBAAyB;YACnF,CAAC,CAAC,yBAAyB,OAAO,CAAC,YAAY,yBAAyB;QAC1E,cAAc,EAAE;YACd,MAAM,EAAE,qBAAqB;YAC7B,MAAM,EAAE,gDAAgD;SACzD;QACD,OAAO,EACL,8BAA8B,UAAU,EAAE,IAAI,IAAI,OAAO,CAAC,YAAY,IAAI;YAC1E,6EAA6E,OAAO,CAAC,IAAI,aAAa;QACxG,QAAQ,EAAE,MAAM;QAChB,MAAM,EAAE,QAAQ;QAChB,OAAO,EAAE,IAAI;YACX,CAAC,CAAC;gBACE,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,IAAI,CAAC,IAAI;aAChB;YACH,CAAC,CAAC;gBACE,EAAE,EAAE,OAAO,CAAC,YAAY;gBACxB,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,UAAU,EAAE,IAAI;aACvB;QACL,iBAAiB,EACf,6HAA6H;KAChI,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,uCAAuC,CAC9C,KAAgF;IAEhF,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CACnC,sCAAsC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAA;AAC5D,CAAC;AAED,SAAS,2BAA2B,CAClC,UAA8C;IAE9C,OAAO,qBAAqB,CAC1B,UAAU,CAAC,IAAI,EACf,eAAe,CAAC,eAAe,EAC/B,iBAAiB,CAClB,CAAA;AACH,CAAC;AAED,SAAS,qBAAqB,CAC5B,KAAc,EACd,YAA4B,EAC5B,UAAkB;IAElB,MAAM,WAAW,GAAG,oBAAoB,CAAC,YAAY,CAAC,CAAA;IACtD,OAAO,CACL,KAAK,KAAK,YAAY;QACtB,MAAM,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,YAAY,CAAC;QACtC,MAAM,CAAC,KAAK,CAAC,KAAK,WAAW;QAC7B,MAAM,CAAC,KAAK,CAAC,KAAK,UAAU,CAC7B,CAAA;AACH,CAAC;AAED,SAAS,4CAA4C,CACnD,UAAgC,EAChC,MAA2C,EAC3C,gBAAwB;IAExB,MAAM,SAAS,GAAG,oCAAoC,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;IAC1E,OAAO,kCAAkC,CAAC;QACxC,UAAU;QACV,eAAe,EAAE,yBAAyB,CAAC,UAAU,EAAE,MAAM,EAAE,gBAAgB,CAAC;QAChF,eAAe,EAAE,SAAS,CAAC,eAAe;QAC1C,MAAM,EAAE,SAAS,CAAC,OAAO;KAC1B,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,yBAAyB,CAChC,UAAgC,EAChC,MAA2C,EAC3C,gBAAwB;IAExB,MAAM,qBAAqB,GAAG,4CAA4C,CACxE,MAAM,EACN,UAAU,CAAC,EAAE,CACd,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAA;IAC7B,OAAO,mBAAmB,CAAC,qBAAqB,CAAC,IAAI,gBAAgB,CAAA;AACvE,CAAC;AAED,SAAS,oCAAoC,CAC3C,UAAgC,EAChC,MAA2C;IAE3C,MAAM,mBAAmB,GAAG,UAAU,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,CAAA;IAC7D,IAAI,mBAAmB,EAAE,CAAC;QACxB,OAAO;YACL,OAAO,EAAE,mBAAmB,CAAC,SAAS;YACtC,eAAe,EACb,mBAAmB,CAAC,eAAe;gBACnC,yCAAyC,CAAC,UAAU,CAAC,EAAE,CAAC;SAC3D,CAAA;IACH,CAAC;IAED,MAAM,SAAS,GAAG,4CAA4C,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,CAAC,CAAA;IACrF,MAAM,kBAAkB,GAAG,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAA;IACtD,IAAI,kBAAkB,EAAE,SAAS,IAAI,kBAAkB,CAAC,iBAAiB,EAAE,CAAC;QAC1E,OAAO;YACL,OAAO,EAAE,IAAI;YACb,eAAe,EACb,kBAAkB,CAAC,eAAe;gBAClC,yCAAyC,CAAC,UAAU,CAAC,EAAE,CAAC;SAC3D,CAAA;IACH,CAAC;IAED,OAAO;QACL,OAAO,EAAE,KAAK;QACd,eAAe,EAAE,yCAAyC,CAAC,UAAU,CAAC,EAAE,CAAC;KAC1E,CAAA;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc;IACzC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC;QACtE,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,IAAI,CAAA;AACV,CAAC"}
@@ -0,0 +1,17 @@
1
+ import type { PresentationContentDefinition } from './module.js';
2
+ import type { PresentationProjectionDiagnostic, PresentationProjectionDiagnosticSubject } from './presentation-projection-diagnostics.js';
3
+ export interface ProjectPresentationContentDiagnosticsOptions {
4
+ readonly content: PresentationContentDefinition | null | undefined;
5
+ readonly contentFallbackDescription?: string;
6
+ readonly descriptionFallbackDescription?: string;
7
+ readonly details?: Readonly<Record<string, unknown>>;
8
+ readonly diagnosticIdPrefix: string;
9
+ readonly requireDescription?: boolean;
10
+ readonly requireTitle?: boolean;
11
+ readonly source: string;
12
+ readonly subject: PresentationProjectionDiagnosticSubject;
13
+ readonly surfaceLabel: string;
14
+ readonly titleFallbackDescription?: string;
15
+ }
16
+ export declare function projectPresentationContentDiagnostics({ content, contentFallbackDescription, descriptionFallbackDescription, details, diagnosticIdPrefix, requireDescription, requireTitle, source, subject, surfaceLabel, titleFallbackDescription, }: ProjectPresentationContentDiagnosticsOptions): readonly PresentationProjectionDiagnostic[];
17
+ //# sourceMappingURL=presentation-content-diagnostics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presentation-content-diagnostics.d.ts","sourceRoot":"","sources":["../src/presentation-content-diagnostics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,6BAA6B,EAC9B,MAAM,UAAU,CAAA;AACjB,OAAO,KAAK,EACV,gCAAgC,EAChC,uCAAuC,EACxC,MAAM,uCAAuC,CAAA;AAE9C,MAAM,WAAW,4CAA4C;IAC3D,QAAQ,CAAC,OAAO,EAAE,6BAA6B,GAAG,IAAI,GAAG,SAAS,CAAA;IAClE,QAAQ,CAAC,0BAA0B,CAAC,EAAE,MAAM,CAAA;IAC5C,QAAQ,CAAC,8BAA8B,CAAC,EAAE,MAAM,CAAA;IAChD,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;IACpD,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAA;IACnC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAA;IACrC,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAA;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,OAAO,EAAE,uCAAuC,CAAA;IACzD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,wBAAwB,CAAC,EAAE,MAAM,CAAA;CAC3C;AAED,wBAAgB,qCAAqC,CAAC,EACpD,OAAO,EACP,0BAA0B,EAC1B,8BAA8B,EAC9B,OAAO,EACP,kBAAkB,EAClB,kBAA0B,EAC1B,YAAoB,EACpB,MAAM,EACN,OAAO,EACP,YAAY,EACZ,wBAAwB,GACzB,EAAE,4CAA4C,GAAG,SAAS,gCAAgC,EAAE,CAoD5F"}
@@ -0,0 +1,61 @@
1
+ export function projectPresentationContentDiagnostics({ content, contentFallbackDescription, descriptionFallbackDescription, details, diagnosticIdPrefix, requireDescription = false, requireTitle = false, source, subject, surfaceLabel, titleFallbackDescription, }) {
2
+ if (!content) {
3
+ return [
4
+ createPresentationContentDiagnostic({
5
+ details,
6
+ diagnosticIdPrefix,
7
+ fallbackDescription: contentFallbackDescription ??
8
+ titleFallbackDescription ??
9
+ descriptionFallbackDescription ??
10
+ 'local fallback content',
11
+ reason: 'missing-content',
12
+ source,
13
+ subject,
14
+ surfaceLabel,
15
+ surfacePart: 'content',
16
+ }),
17
+ ];
18
+ }
19
+ const diagnostics = [];
20
+ if (requireTitle && !content.Title) {
21
+ diagnostics.push(createPresentationContentDiagnostic({
22
+ details,
23
+ diagnosticIdPrefix,
24
+ fallbackDescription: titleFallbackDescription ?? 'local title fallback content',
25
+ reason: 'missing-content-title',
26
+ source,
27
+ subject,
28
+ surfaceLabel,
29
+ surfacePart: 'title content',
30
+ }));
31
+ }
32
+ if (requireDescription && !content.Description && !content.DescriptionTemplate) {
33
+ diagnostics.push(createPresentationContentDiagnostic({
34
+ details,
35
+ diagnosticIdPrefix,
36
+ fallbackDescription: descriptionFallbackDescription ?? 'local description fallback content',
37
+ reason: 'missing-content-description',
38
+ source,
39
+ subject,
40
+ surfaceLabel,
41
+ surfacePart: 'description content',
42
+ }));
43
+ }
44
+ return diagnostics;
45
+ }
46
+ function createPresentationContentDiagnostic({ details, diagnosticIdPrefix, fallbackDescription, reason, source, subject, surfaceLabel, surfacePart, }) {
47
+ return {
48
+ category: 'incomplete-projection',
49
+ details,
50
+ id: `${diagnosticIdPrefix}.${reason}`,
51
+ interpretation: {
52
+ status: 'locally-interpreted',
53
+ target: 'react',
54
+ },
55
+ message: `${surfaceLabel} does not declare ${surfacePart}; the frontend will use ${fallbackDescription}.`,
56
+ severity: 'warning',
57
+ source,
58
+ subject,
59
+ };
60
+ }
61
+ //# sourceMappingURL=presentation-content-diagnostics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presentation-content-diagnostics.js","sourceRoot":"","sources":["../src/presentation-content-diagnostics.ts"],"names":[],"mappings":"AAsBA,MAAM,UAAU,qCAAqC,CAAC,EACpD,OAAO,EACP,0BAA0B,EAC1B,8BAA8B,EAC9B,OAAO,EACP,kBAAkB,EAClB,kBAAkB,GAAG,KAAK,EAC1B,YAAY,GAAG,KAAK,EACpB,MAAM,EACN,OAAO,EACP,YAAY,EACZ,wBAAwB,GACqB;IAC7C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;YACL,mCAAmC,CAAC;gBAClC,OAAO;gBACP,kBAAkB;gBAClB,mBAAmB,EACjB,0BAA0B;oBAC1B,wBAAwB;oBACxB,8BAA8B;oBAC9B,wBAAwB;gBAC1B,MAAM,EAAE,iBAAiB;gBACzB,MAAM;gBACN,OAAO;gBACP,YAAY;gBACZ,WAAW,EAAE,SAAS;aACvB,CAAC;SACH,CAAA;IACH,CAAC;IAED,MAAM,WAAW,GAAuC,EAAE,CAAA;IAC1D,IAAI,YAAY,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACnC,WAAW,CAAC,IAAI,CACd,mCAAmC,CAAC;YAClC,OAAO;YACP,kBAAkB;YAClB,mBAAmB,EAAE,wBAAwB,IAAI,8BAA8B;YAC/E,MAAM,EAAE,uBAAuB;YAC/B,MAAM;YACN,OAAO;YACP,YAAY;YACZ,WAAW,EAAE,eAAe;SAC7B,CAAC,CACH,CAAA;IACH,CAAC;IAED,IAAI,kBAAkB,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC;QAC/E,WAAW,CAAC,IAAI,CACd,mCAAmC,CAAC;YAClC,OAAO;YACP,kBAAkB;YAClB,mBAAmB,EAAE,8BAA8B,IAAI,oCAAoC;YAC3F,MAAM,EAAE,6BAA6B;YACrC,MAAM;YACN,OAAO;YACP,YAAY;YACZ,WAAW,EAAE,qBAAqB;SACnC,CAAC,CACH,CAAA;IACH,CAAC;IAED,OAAO,WAAW,CAAA;AACpB,CAAC;AAED,SAAS,mCAAmC,CAAC,EAC3C,OAAO,EACP,kBAAkB,EAClB,mBAAmB,EACnB,MAAM,EACN,MAAM,EACN,OAAO,EACP,YAAY,EACZ,WAAW,GAUZ;IACC,OAAO;QACL,QAAQ,EAAE,uBAAuB;QACjC,OAAO;QACP,EAAE,EAAE,GAAG,kBAAkB,IAAI,MAAM,EAAE;QACrC,cAAc,EAAE;YACd,MAAM,EAAE,qBAAqB;YAC7B,MAAM,EAAE,OAAO;SAChB;QACD,OAAO,EAAE,GAAG,YAAY,qBAAqB,WAAW,2BAA2B,mBAAmB,GAAG;QACzG,QAAQ,EAAE,SAAS;QACnB,MAAM;QACN,OAAO;KACR,CAAA;AACH,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { PresentationContentDefinition } from './module.js';
2
+ export interface ProjectedPresentationContent {
3
+ readonly description: string | null;
4
+ readonly subtitle: string | null;
5
+ readonly title: string | null;
6
+ }
7
+ export declare function resolvePresentationContent(content: PresentationContentDefinition | null | undefined, data: unknown): ProjectedPresentationContent;
8
+ export declare function resolveNonBlankPresentationText(value: string | null | undefined): string | null;
9
+ //# sourceMappingURL=presentation-content-resolution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presentation-content-resolution.d.ts","sourceRoot":"","sources":["../src/presentation-content-resolution.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,6BAA6B,EAC9B,MAAM,UAAU,CAAA;AAOjB,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CAC9B;AAED,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,6BAA6B,GAAG,IAAI,GAAG,SAAS,EACzD,IAAI,EAAE,OAAO,GACZ,4BAA4B,CAM9B;AAmBD,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,iBAE/E"}
@@ -0,0 +1,19 @@
1
+ import { formatPresentationValue, resolvePresentationTemplate, resolvePresentationValue, } from './presentation-value-resolution.js';
2
+ export function resolvePresentationContent(content, data) {
3
+ return {
4
+ description: resolvePresentationContentDescription(content, data),
5
+ subtitle: resolvePresentationContentText(content?.Subtitle, data),
6
+ title: resolvePresentationContentText(content?.Title, data),
7
+ };
8
+ }
9
+ function resolvePresentationContentDescription(content, data) {
10
+ return (resolvePresentationContentText(content?.Description, data) ??
11
+ resolveNonBlankPresentationText(resolvePresentationTemplate(content?.DescriptionTemplate, data)));
12
+ }
13
+ function resolvePresentationContentText(value, data) {
14
+ return resolveNonBlankPresentationText(formatPresentationValue(resolvePresentationValue(value, data)));
15
+ }
16
+ export function resolveNonBlankPresentationText(value) {
17
+ return value && value.trim().length > 0 ? value : null;
18
+ }
19
+ //# sourceMappingURL=presentation-content-resolution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presentation-content-resolution.js","sourceRoot":"","sources":["../src/presentation-content-resolution.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,uBAAuB,EACvB,2BAA2B,EAC3B,wBAAwB,GACzB,MAAM,iCAAiC,CAAA;AAQxC,MAAM,UAAU,0BAA0B,CACxC,OAAyD,EACzD,IAAa;IAEb,OAAO;QACL,WAAW,EAAE,qCAAqC,CAAC,OAAO,EAAE,IAAI,CAAC;QACjE,QAAQ,EAAE,8BAA8B,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC;QACjE,KAAK,EAAE,8BAA8B,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC;KAC5D,CAAA;AACH,CAAC;AAED,SAAS,qCAAqC,CAC5C,OAAyD,EACzD,IAAa;IAEb,OAAO,CACL,8BAA8B,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC;QAC1D,+BAA+B,CAAC,2BAA2B,CAAC,OAAO,EAAE,mBAAmB,EAAE,IAAI,CAAC,CAAC,CACjG,CAAA;AACH,CAAC;AAED,SAAS,8BAA8B,CACrC,KAA6C,EAC7C,IAAa;IAEb,OAAO,+BAA+B,CAAC,uBAAuB,CAAC,wBAAwB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;AACxG,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,KAAgC;IAC9E,OAAO,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA;AACxD,CAAC"}
@@ -0,0 +1,81 @@
1
+ /**
2
+ * Frontend realization strategies for semantic presentation data sources.
3
+ * These are projection/runtime binding kinds, not backend IR data-source kinds.
4
+ */
5
+ export declare const presentationDataSourceBindingKinds: {
6
+ /**
7
+ * Realizes a data source through TanStack Query so React owns fetch lifecycle,
8
+ * caching, pending/error state, and refetch behavior.
9
+ */
10
+ readonly tanstackQuery: "tanstack-query";
11
+ /**
12
+ * Realizes a data source from already-available local/runtime data without
13
+ * invoking a query adapter.
14
+ */
15
+ readonly localValue: "local-value";
16
+ };
17
+ /**
18
+ * Declares whether a presentation data source can resolve in the current
19
+ * authorization context.
20
+ */
21
+ export type PresentationDataSourceAuthorizationRequirement = {
22
+ readonly kind: 'none';
23
+ } | {
24
+ readonly blockedLabel?: string;
25
+ readonly isAuthorized: boolean;
26
+ readonly kind: 'required';
27
+ };
28
+ /**
29
+ * Small constructors for keeping data source authorization declarations explicit
30
+ * at the binding site.
31
+ */
32
+ export declare const presentationDataSourceAuthorization: {
33
+ none: () => PresentationDataSourceAuthorizationRequirement;
34
+ required: ({ blockedLabel, isAuthorized, }: {
35
+ readonly blockedLabel?: string;
36
+ readonly isAuthorized: boolean;
37
+ }) => PresentationDataSourceAuthorizationRequirement;
38
+ };
39
+ /**
40
+ * Declarative binding from a semantic presentation data source id to a concrete
41
+ * frontend source. Query bindings currently use TanStack Query.
42
+ */
43
+ export type PresentationDataSourceBinding = PresentationLocalValueDataSourceBinding | PresentationTanStackQueryDataSourceBinding;
44
+ export interface PresentationDataSourceBindingBase {
45
+ readonly authorization: PresentationDataSourceAuthorizationRequirement;
46
+ readonly blockedLabel?: string;
47
+ readonly dataSourceId: string;
48
+ readonly emptyMessage?: string;
49
+ readonly pendingLabel?: string;
50
+ }
51
+ export interface PresentationLocalValueDataSourceBinding extends PresentationDataSourceBindingBase {
52
+ readonly data: unknown;
53
+ readonly error?: unknown;
54
+ readonly isFetching?: boolean;
55
+ readonly isPending?: boolean;
56
+ readonly kind: typeof presentationDataSourceBindingKinds.localValue;
57
+ readonly refetch?: () => Promise<unknown> | unknown;
58
+ }
59
+ export interface PresentationTanStackQueryDataSourceBinding extends PresentationDataSourceBindingBase {
60
+ readonly enabled?: boolean;
61
+ readonly fallbackData?: unknown;
62
+ readonly kind: typeof presentationDataSourceBindingKinds.tanstackQuery;
63
+ readonly queryFn: () => Promise<unknown>;
64
+ readonly queryKey: readonly unknown[];
65
+ readonly refetchInterval?: number | false;
66
+ readonly retry?: boolean | number;
67
+ readonly staleTime?: number;
68
+ }
69
+ export type PresentationLocalValueDataSourceBindingInput = Omit<PresentationLocalValueDataSourceBinding, 'kind'>;
70
+ export type PresentationTanStackQueryDataSourceBindingInput = Omit<PresentationTanStackQueryDataSourceBinding, 'kind'>;
71
+ export declare const presentationDataSourceBindings: {
72
+ localValue: (binding: PresentationLocalValueDataSourceBindingInput) => PresentationLocalValueDataSourceBinding;
73
+ tanstackQuery: (binding: PresentationTanStackQueryDataSourceBindingInput) => PresentationTanStackQueryDataSourceBinding;
74
+ };
75
+ export interface DataSourceAuthorizationState {
76
+ readonly blockedLabel?: string;
77
+ readonly isBlocked: boolean;
78
+ }
79
+ export declare function resolveDataSourceAuthorization(binding: PresentationDataSourceBindingBase): DataSourceAuthorizationState;
80
+ export declare function isTanStackQueryBinding(binding: PresentationDataSourceBinding): binding is PresentationTanStackQueryDataSourceBinding;
81
+ //# sourceMappingURL=presentation-data-source-binding-model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presentation-data-source-binding-model.d.ts","sourceRoot":"","sources":["../src/presentation-data-source-binding-model.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,kCAAkC;IAC7C;;;OAGG;;IAEH;;;OAGG;;CAEK,CAAA;AAEV;;;GAGG;AACH,MAAM,MAAM,8CAA8C,GACtD;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACzB;IACE,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;CAC1B,CAAA;AAEL;;;GAGG;AACH,eAAO,MAAM,mCAAmC;gBACpC,8CAA8C;gDAIrD;QACD,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;QAC9B,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAA;KAC/B,KAAG,8CAA8C;CAKnD,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,6BAA6B,GACrC,uCAAuC,GACvC,0CAA0C,CAAA;AAE9C,MAAM,WAAW,iCAAiC;IAChD,QAAQ,CAAC,aAAa,EAAE,8CAA8C,CAAA;IACtE,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAC/B;AAED,MAAM,WAAW,uCACf,SAAQ,iCAAiC;IACzC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,IAAI,EAAE,OAAO,kCAAkC,CAAC,UAAU,CAAA;IACnE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAA;CACpD;AAED,MAAM,WAAW,0CACf,SAAQ,iCAAiC;IACzC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;IAC1B,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAA;IAC/B,QAAQ,CAAC,IAAI,EAAE,OAAO,kCAAkC,CAAC,aAAa,CAAA;IACtE,QAAQ,CAAC,OAAO,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAA;IACxC,QAAQ,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAA;IACrC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,GAAG,KAAK,CAAA;IACzC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;IACjC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAC5B;AAED,MAAM,MAAM,4CAA4C,GAAG,IAAI,CAC7D,uCAAuC,EACvC,MAAM,CACP,CAAA;AAED,MAAM,MAAM,+CAA+C,GAAG,IAAI,CAChE,0CAA0C,EAC1C,MAAM,CACP,CAAA;AAED,eAAO,MAAM,8BAA8B;0BAE9B,4CAA4C,KACpD,uCAAuC;6BAK/B,+CAA+C,KACvD,0CAA0C;CAI9C,CAAA;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;CAC5B;AAED,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,iCAAiC,GACzC,4BAA4B,CAe9B;AAED,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,6BAA6B,GACrC,OAAO,IAAI,0CAA0C,CAEvD"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Frontend realization strategies for semantic presentation data sources.
3
+ * These are projection/runtime binding kinds, not backend IR data-source kinds.
4
+ */
5
+ export const presentationDataSourceBindingKinds = {
6
+ /**
7
+ * Realizes a data source through TanStack Query so React owns fetch lifecycle,
8
+ * caching, pending/error state, and refetch behavior.
9
+ */
10
+ tanstackQuery: 'tanstack-query',
11
+ /**
12
+ * Realizes a data source from already-available local/runtime data without
13
+ * invoking a query adapter.
14
+ */
15
+ localValue: 'local-value',
16
+ };
17
+ /**
18
+ * Small constructors for keeping data source authorization declarations explicit
19
+ * at the binding site.
20
+ */
21
+ export const presentationDataSourceAuthorization = {
22
+ none: () => ({ kind: 'none' }),
23
+ required: ({ blockedLabel, isAuthorized, }) => ({
24
+ blockedLabel,
25
+ isAuthorized,
26
+ kind: 'required',
27
+ }),
28
+ };
29
+ export const presentationDataSourceBindings = {
30
+ localValue: (binding) => ({
31
+ ...binding,
32
+ kind: presentationDataSourceBindingKinds.localValue,
33
+ }),
34
+ tanstackQuery: (binding) => ({
35
+ ...binding,
36
+ kind: presentationDataSourceBindingKinds.tanstackQuery,
37
+ }),
38
+ };
39
+ export function resolveDataSourceAuthorization(binding) {
40
+ if (binding.authorization.kind === 'required' && !binding.authorization.isAuthorized) {
41
+ return {
42
+ blockedLabel: binding.authorization.blockedLabel ?? binding.blockedLabel,
43
+ isBlocked: true,
44
+ };
45
+ }
46
+ return {
47
+ blockedLabel: binding.authorization.kind === 'required'
48
+ ? binding.authorization.blockedLabel ?? binding.blockedLabel
49
+ : binding.blockedLabel,
50
+ isBlocked: false,
51
+ };
52
+ }
53
+ export function isTanStackQueryBinding(binding) {
54
+ return binding.kind === presentationDataSourceBindingKinds.tanstackQuery;
55
+ }
56
+ //# sourceMappingURL=presentation-data-source-binding-model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presentation-data-source-binding-model.js","sourceRoot":"","sources":["../src/presentation-data-source-binding-model.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAAG;IAChD;;;OAGG;IACH,aAAa,EAAE,gBAAgB;IAC/B;;;OAGG;IACH,UAAU,EAAE,aAAa;CACjB,CAAA;AAcV;;;GAGG;AACH,MAAM,CAAC,MAAM,mCAAmC,GAAG;IACjD,IAAI,EAAE,GAAmD,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC9E,QAAQ,EAAE,CAAC,EACT,YAAY,EACZ,YAAY,GAIb,EAAkD,EAAE,CAAC,CAAC;QACrD,YAAY;QACZ,YAAY;QACZ,IAAI,EAAE,UAAU;KACjB,CAAC;CACH,CAAA;AAkDD,MAAM,CAAC,MAAM,8BAA8B,GAAG;IAC5C,UAAU,EAAE,CACV,OAAqD,EACZ,EAAE,CAAC,CAAC;QAC7C,GAAG,OAAO;QACV,IAAI,EAAE,kCAAkC,CAAC,UAAU;KACpD,CAAC;IACF,aAAa,EAAE,CACb,OAAwD,EACZ,EAAE,CAAC,CAAC;QAChD,GAAG,OAAO;QACV,IAAI,EAAE,kCAAkC,CAAC,aAAa;KACvD,CAAC;CACH,CAAA;AAOD,MAAM,UAAU,8BAA8B,CAC5C,OAA0C;IAE1C,IAAI,OAAO,CAAC,aAAa,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;QACrF,OAAO;YACL,YAAY,EAAE,OAAO,CAAC,aAAa,CAAC,YAAY,IAAI,OAAO,CAAC,YAAY;YACxE,SAAS,EAAE,IAAI;SAChB,CAAA;IACH,CAAC;IAED,OAAO;QACL,YAAY,EACV,OAAO,CAAC,aAAa,CAAC,IAAI,KAAK,UAAU;YACvC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,YAAY,IAAI,OAAO,CAAC,YAAY;YAC5D,CAAC,CAAC,OAAO,CAAC,YAAY;QAC1B,SAAS,EAAE,KAAK;KACjB,CAAA;AACH,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,OAAsC;IAEtC,OAAO,OAAO,CAAC,IAAI,KAAK,kCAAkC,CAAC,aAAa,CAAA;AAC1E,CAAC"}
@@ -0,0 +1,62 @@
1
+ import type { DataSourceDefinition, ViewDefinition } from './module.js';
2
+ import { type ProjectedActivityState } from './projected-activity-state-model.js';
3
+ export { readObjectPath, readObjectProperty, } from './object-path.js';
4
+ export interface PresentationDataSourceState<TData = unknown> {
5
+ readonly blockedLabel?: string;
6
+ readonly data?: TData;
7
+ readonly definition?: DataSourceDefinition | null;
8
+ readonly emptyMessage?: string;
9
+ readonly error?: unknown;
10
+ readonly isBlocked?: boolean;
11
+ readonly isFetching?: boolean;
12
+ readonly isPending?: boolean;
13
+ readonly pendingLabel?: string;
14
+ readonly refetch?: () => Promise<unknown> | unknown;
15
+ }
16
+ export type PresentationDataSourceStateMap = Readonly<Record<string, PresentationDataSourceState>>;
17
+ /**
18
+ * Resolves presentation data sources from their semantic identifiers without
19
+ * flattening the state map into an ad hoc component data context.
20
+ */
21
+ export interface PresentationDataSourceResolver {
22
+ /**
23
+ * Bound runtime state keyed by semantic presentation data source id.
24
+ */
25
+ readonly dataSources: PresentationDataSourceStateMap;
26
+ /**
27
+ * Reads the raw data payload for a data source.
28
+ */
29
+ readonly read: <TData = unknown>(dataSourceId: string) => TData | undefined;
30
+ /**
31
+ * Reads a nested value from a data source payload using a dot-separated field path.
32
+ */
33
+ readonly readPath: (dataSourceId: string, fieldPath?: string | null) => unknown;
34
+ /**
35
+ * Resolves the full runtime state for a data source, including activity and refetch metadata.
36
+ */
37
+ readonly resolve: <TData = unknown>(dataSourceId: string) => PresentationDataSourceState<TData> | undefined;
38
+ /**
39
+ * Resolves all data source states declared by a view subject and explicit data source ids.
40
+ */
41
+ readonly resolveViewDataSources: (view: Pick<ViewDefinition, 'Collection' | 'DataSourceIds' | 'Subject'>) => readonly PresentationDataSourceState[];
42
+ /**
43
+ * Resolves the primary data source state for a view, preferring the view subject source.
44
+ */
45
+ readonly resolveViewPrimary: <TData = unknown>(view: Pick<ViewDefinition, 'Collection' | 'DataSourceIds' | 'Subject'>) => PresentationDataSourceState<TData> | undefined;
46
+ }
47
+ /**
48
+ * Creates a stable semantic resolver over a bound presentation data source map.
49
+ */
50
+ export declare function createPresentationDataSourceResolver(dataSources: PresentationDataSourceStateMap): PresentationDataSourceResolver;
51
+ export declare function createPresentationViewActivityState({ blockedLabel, dataSourceResolver, pendingLabel, view, }: {
52
+ readonly blockedLabel?: string;
53
+ readonly dataSourceResolver: PresentationDataSourceResolver;
54
+ readonly pendingLabel?: string;
55
+ readonly view: ViewDefinition;
56
+ }): ProjectedActivityState;
57
+ export declare function isPresentationViewFetching(view: ViewDefinition, dataSourceResolver: PresentationDataSourceResolver): boolean;
58
+ export declare function readPresentationDataSourceItems<TItem extends object = object>(state: PresentationDataSourceState | null | undefined): readonly TItem[];
59
+ export declare function refreshPresentationDataSources(dataSourceResolver: PresentationDataSourceResolver, dataSourceIds: readonly string[]): Promise<undefined>;
60
+ export declare function resolvePresentationViewDataSourceIds(view: Pick<ViewDefinition, 'Collection' | 'DataSourceIds' | 'Subject'>): string[];
61
+ export declare function resolvePresentationViewPrimaryDataSourceId(view: Pick<ViewDefinition, 'Collection' | 'DataSourceIds' | 'Subject'>): string;
62
+ //# sourceMappingURL=presentation-data-source-runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presentation-data-source-runtime.d.ts","sourceRoot":"","sources":["../src/presentation-data-source-runtime.ts"],"names":[],"mappings":"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"}