@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 @@
1
+ {"version":3,"file":"query-form-url-state.js","sourceRoot":"","sources":["../src/query-form-url-state.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ export interface QueryOffsetPageResult<TItem> {
2
+ readonly Items: TItem[];
3
+ readonly Limit: number;
4
+ readonly Offset: number;
5
+ }
6
+ export type QueryOffsetPageInput = URLSearchParams | {
7
+ readonly Limit?: unknown;
8
+ readonly Offset?: unknown;
9
+ readonly limit?: unknown;
10
+ readonly offset?: unknown;
11
+ };
12
+ export declare function queryOffsetPage<TItem>(items: readonly TItem[], query: QueryOffsetPageInput): QueryOffsetPageResult<TItem>;
13
+ //# sourceMappingURL=query-offset-page.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-offset-page.d.ts","sourceRoot":"","sources":["../src/query-offset-page.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,qBAAqB,CAAC,KAAK;IAC1C,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,CAAA;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,MAAM,oBAAoB,GAC5B,eAAe,GACf;IACE,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAC1B,CAAA;AAEL,wBAAgB,eAAe,CAAC,KAAK,EACnC,KAAK,EAAE,SAAS,KAAK,EAAE,EACvB,KAAK,EAAE,oBAAoB,GAC1B,qBAAqB,CAAC,KAAK,CAAC,CAQ9B"}
@@ -0,0 +1,24 @@
1
+ export function queryOffsetPage(items, query) {
2
+ const limit = readQueryInteger(query, 'limit', 'Limit', 10);
3
+ const offset = readQueryInteger(query, 'offset', 'Offset', 0);
4
+ return {
5
+ Items: items.slice(offset, offset + limit),
6
+ Limit: limit,
7
+ Offset: offset,
8
+ };
9
+ }
10
+ function readQueryInteger(query, lowerName, upperName, fallback) {
11
+ if (query instanceof URLSearchParams) {
12
+ return readInteger(query.get(lowerName) ?? query.get(upperName), fallback);
13
+ }
14
+ return readInteger(query[lowerName] ?? query[upperName], fallback);
15
+ }
16
+ function readInteger(value, fallback) {
17
+ if (value === null || value === undefined || value === '') {
18
+ return fallback;
19
+ }
20
+ const text = Array.isArray(value) ? value[0] : value;
21
+ const parsed = Number.parseInt(String(text), 10);
22
+ return Number.isFinite(parsed) ? parsed : fallback;
23
+ }
24
+ //# sourceMappingURL=query-offset-page.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-offset-page.js","sourceRoot":"","sources":["../src/query-offset-page.ts"],"names":[],"mappings":"AAeA,MAAM,UAAU,eAAe,CAC7B,KAAuB,EACvB,KAA2B;IAE3B,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,CAAA;IAC3D,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAA;IAC7D,OAAO;QACL,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC;QAC1C,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,MAAM;KACf,CAAA;AACH,CAAC;AAED,SAAS,gBAAgB,CACvB,KAA2B,EAC3B,SAA6B,EAC7B,SAA6B,EAC7B,QAAgB;IAEhB,IAAI,KAAK,YAAY,eAAe,EAAE,CAAC;QACrC,OAAO,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC,CAAA;IAC5E,CAAC;IAED,OAAO,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC,CAAA;AACpE,CAAC;AAED,SAAS,WAAW,CAAC,KAAc,EAAE,QAAgB;IACnD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;QAC1D,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;IACpD,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAA;IAChD,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAA;AACpD,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { InputFormDefinition, QueryFormDefinition, ViewDefinition } from './module.js';
2
+ import type { PresentationDataSourceResolver } from './presentation-data-source-runtime.js';
3
+ import type { ProjectedInputFormTargetContext } from './projected-input-form-runtime.js';
4
+ export declare function createRelationQueryInputFormTarget({ dataSourceResolver, inputForm, queryForm, view, }: {
5
+ readonly dataSourceResolver: PresentationDataSourceResolver;
6
+ readonly inputForm: InputFormDefinition;
7
+ readonly queryForm: QueryFormDefinition;
8
+ readonly view: ViewDefinition;
9
+ }): ProjectedInputFormTargetContext;
10
+ //# sourceMappingURL=relation-query-input-form-target.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relation-query-input-form-target.d.ts","sourceRoot":"","sources":["../src/relation-query-input-form-target.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,EACf,MAAM,UAAU,CAAA;AACjB,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,oCAAoC,CAAA;AAExF,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,gCAAgC,CAAA;AAErF,wBAAgB,kCAAkC,CAAC,EACjD,kBAAkB,EAClB,SAAS,EACT,SAAS,EACT,IAAI,GACL,EAAE;IACD,QAAQ,CAAC,kBAAkB,EAAE,8BAA8B,CAAA;IAC3D,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CAAA;IACvC,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CAAA;IACvC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAA;CAC9B,GAAG,+BAA+B,CAWlC"}
@@ -0,0 +1,30 @@
1
+ import { resolvePresentationViewDataSourceIds } from './presentation-data-source-runtime.js';
2
+ export function createRelationQueryInputFormTarget({ dataSourceResolver, inputForm, queryForm, view, }) {
3
+ return {
4
+ queryDefinition: resolveProjectedQueryDefinition({
5
+ dataSourceResolver,
6
+ inputForm,
7
+ queryForm,
8
+ view,
9
+ }),
10
+ queryForm,
11
+ stateId: inputForm.SharedStateId ?? queryForm.Target.State.StateId,
12
+ };
13
+ }
14
+ function resolveProjectedQueryDefinition({ dataSourceResolver, inputForm, queryForm, view, }) {
15
+ const candidateDataSourceIds = [
16
+ inputForm.StateDataSourceId,
17
+ queryForm.Target.State.DraftDataSourceId,
18
+ queryForm.Target.Result.DataSourceId,
19
+ queryForm.Target.State.ResultDataSourceId,
20
+ ...resolvePresentationViewDataSourceIds(view),
21
+ ].filter((dataSourceId) => Boolean(dataSourceId));
22
+ for (const dataSourceId of Array.from(new Set(candidateDataSourceIds))) {
23
+ const query = dataSourceResolver.resolve(dataSourceId)?.definition?.Query;
24
+ if (query) {
25
+ return query;
26
+ }
27
+ }
28
+ return null;
29
+ }
30
+ //# sourceMappingURL=relation-query-input-form-target.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relation-query-input-form-target.js","sourceRoot":"","sources":["../src/relation-query-input-form-target.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,oCAAoC,EAAE,MAAM,oCAAoC,CAAA;AAGzF,MAAM,UAAU,kCAAkC,CAAC,EACjD,kBAAkB,EAClB,SAAS,EACT,SAAS,EACT,IAAI,GAML;IACC,OAAO;QACL,eAAe,EAAE,+BAA+B,CAAC;YAC/C,kBAAkB;YAClB,SAAS;YACT,SAAS;YACT,IAAI;SACL,CAAC;QACF,SAAS;QACT,OAAO,EAAE,SAAS,CAAC,aAAa,IAAI,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO;KACnE,CAAA;AACH,CAAC;AAED,SAAS,+BAA+B,CAAC,EACvC,kBAAkB,EAClB,SAAS,EACT,SAAS,EACT,IAAI,GAML;IACC,MAAM,sBAAsB,GAAG;QAC7B,SAAS,CAAC,iBAAiB;QAC3B,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB;QACxC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY;QACpC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB;QACzC,GAAG,oCAAoC,CAAC,IAAI,CAAC;KAC9C,CAAC,MAAM,CAAC,CAAC,YAAY,EAA0B,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAA;IAEzE,KAAK,MAAM,YAAY,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,sBAAsB,CAAC,CAAC,EAAE,CAAC;QACvE,MAAM,KAAK,GAAG,kBAAkB,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,UAAU,EAAE,KAAK,CAAA;QACzE,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC"}
@@ -0,0 +1,94 @@
1
+ /**
2
+ * Request-selected authorization scope for API calls made by a presentation host.
3
+ */
4
+ export type PresentationScopeRequestSelection = {
5
+ readonly mode: 'default';
6
+ } | {
7
+ readonly mode: 'single';
8
+ readonly scopeId: string | null;
9
+ } | {
10
+ readonly mode: 'multiple';
11
+ readonly scopeIds: readonly string[];
12
+ } | {
13
+ readonly mode: 'all';
14
+ };
15
+ /**
16
+ * Scope visible to an authenticated principal.
17
+ */
18
+ export interface PresentationScopeAccess<TMetadata = unknown> {
19
+ /** Stable scope id. */
20
+ readonly id: string;
21
+ /** Human-facing scope label. */
22
+ readonly label: string;
23
+ /** Optional semantic scope kind, for example tenant, workspace, or organization. */
24
+ readonly kind?: string | null;
25
+ /** Capability ids granted inside this scope. */
26
+ readonly capabilities?: readonly string[];
27
+ /** Whether this scope is the principal's default scope. */
28
+ readonly isDefault?: boolean;
29
+ /** Host-specific source object for adapters that need to preserve more detail. */
30
+ readonly metadata?: TMetadata;
31
+ }
32
+ /**
33
+ * Header names and formatting used to project selected scopes into API requests.
34
+ */
35
+ export interface PresentationScopeRequestHeaderOptions {
36
+ /** Header carrying one selected scope id. */
37
+ readonly singleScopeHeaderName: string;
38
+ /** Header carrying comma-separated selected scope ids. */
39
+ readonly multipleScopesHeaderName: string;
40
+ /** Header carrying the requested selection mode. */
41
+ readonly scopeModeHeaderName: string;
42
+ /** Header value used for multi-scope requests. */
43
+ readonly multipleModeHeaderValue?: string;
44
+ /** Header value used for all-accessible-scope requests. */
45
+ readonly allModeHeaderValue?: string;
46
+ }
47
+ /**
48
+ * Label options for stable query/cache suffixes.
49
+ */
50
+ export interface PresentationScopeSelectionQuerySuffixOptions {
51
+ /** Label used for single-scope suffixes. */
52
+ readonly singleScopeLabel?: string;
53
+ /** Label used for multi-scope suffixes. */
54
+ readonly multipleScopesLabel?: string;
55
+ }
56
+ /**
57
+ * Mutable request-scope store used by host HTTP clients.
58
+ */
59
+ export interface PresentationScopeRequestStore {
60
+ /** Stores the current request-scope selection. */
61
+ readonly setSelection: (selection: PresentationScopeRequestSelection) => void;
62
+ /** Reads the current normalized request-scope selection. */
63
+ readonly getSelection: () => PresentationScopeRequestSelection;
64
+ /** Returns request headers for the current selection. */
65
+ readonly getHeaders: () => Readonly<Record<string, string>> | undefined;
66
+ /** Returns a stable query/cache suffix for a selection. */
67
+ readonly formatQuerySuffix: (selection: PresentationScopeRequestSelection) => string;
68
+ /** Returns a normalized copy of a selection. */
69
+ readonly normalizeSelection: (selection: PresentationScopeRequestSelection) => PresentationScopeRequestSelection;
70
+ }
71
+ /**
72
+ * Creates a host request-scope store that can project selected scopes into headers.
73
+ */
74
+ export declare function createPresentationScopeRequestStore({ headerOptions, querySuffixOptions, }: {
75
+ readonly headerOptions: PresentationScopeRequestHeaderOptions;
76
+ readonly querySuffixOptions?: PresentationScopeSelectionQuerySuffixOptions;
77
+ }): PresentationScopeRequestStore;
78
+ /**
79
+ * Returns a normalized copy of a request-scope selection.
80
+ */
81
+ export declare function normalizePresentationScopeRequestSelection(selection: PresentationScopeRequestSelection): PresentationScopeRequestSelection;
82
+ /**
83
+ * Returns request headers for a selection.
84
+ */
85
+ export declare function createPresentationScopeRequestHeaders(selection: PresentationScopeRequestSelection, options: PresentationScopeRequestHeaderOptions): Readonly<Record<string, string>> | undefined;
86
+ /**
87
+ * Returns a stable query/cache suffix for a selection.
88
+ */
89
+ export declare function formatPresentationScopeSelectionQuerySuffix(selection: PresentationScopeRequestSelection, options?: PresentationScopeSelectionQuerySuffixOptions): string;
90
+ /**
91
+ * Returns normalized unique scope ids in stable order.
92
+ */
93
+ export declare function normalizeScopeIds(scopeIds: readonly string[]): string[];
94
+ //# sourceMappingURL=scope-selection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scope-selection.d.ts","sourceRoot":"","sources":["../src/scope-selection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,95 @@
1
+ /**
2
+ * Creates a host request-scope store that can project selected scopes into headers.
3
+ */
4
+ export function createPresentationScopeRequestStore({ headerOptions, querySuffixOptions, }) {
5
+ let currentSelection = { mode: 'default' };
6
+ return {
7
+ setSelection(selection) {
8
+ currentSelection = normalizePresentationScopeRequestSelection(selection);
9
+ },
10
+ getSelection() {
11
+ return currentSelection;
12
+ },
13
+ getHeaders() {
14
+ return createPresentationScopeRequestHeaders(currentSelection, headerOptions);
15
+ },
16
+ formatQuerySuffix(selection) {
17
+ return formatPresentationScopeSelectionQuerySuffix(selection, querySuffixOptions);
18
+ },
19
+ normalizeSelection: normalizePresentationScopeRequestSelection,
20
+ };
21
+ }
22
+ /**
23
+ * Returns a normalized copy of a request-scope selection.
24
+ */
25
+ export function normalizePresentationScopeRequestSelection(selection) {
26
+ switch (selection.mode) {
27
+ case 'single':
28
+ return {
29
+ mode: 'single',
30
+ scopeId: normalizeScopeId(selection.scopeId),
31
+ };
32
+ case 'multiple':
33
+ return {
34
+ mode: 'multiple',
35
+ scopeIds: normalizeScopeIds(selection.scopeIds),
36
+ };
37
+ case 'all':
38
+ case 'default':
39
+ return selection;
40
+ }
41
+ }
42
+ /**
43
+ * Returns request headers for a selection.
44
+ */
45
+ export function createPresentationScopeRequestHeaders(selection, options) {
46
+ const normalized = normalizePresentationScopeRequestSelection(selection);
47
+ switch (normalized.mode) {
48
+ case 'single':
49
+ return normalized.scopeId
50
+ ? { [options.singleScopeHeaderName]: normalized.scopeId }
51
+ : undefined;
52
+ case 'multiple':
53
+ return normalized.scopeIds.length > 0
54
+ ? {
55
+ [options.multipleScopesHeaderName]: normalized.scopeIds.join(','),
56
+ [options.scopeModeHeaderName]: options.multipleModeHeaderValue ?? 'multiple',
57
+ }
58
+ : undefined;
59
+ case 'all':
60
+ return { [options.scopeModeHeaderName]: options.allModeHeaderValue ?? 'all' };
61
+ case 'default':
62
+ return undefined;
63
+ }
64
+ }
65
+ /**
66
+ * Returns a stable query/cache suffix for a selection.
67
+ */
68
+ export function formatPresentationScopeSelectionQuerySuffix(selection, options = {}) {
69
+ const singleScopeLabel = options.singleScopeLabel ?? 'scope';
70
+ const multipleScopesLabel = options.multipleScopesLabel ?? 'scopes';
71
+ const normalized = normalizePresentationScopeRequestSelection(selection);
72
+ switch (normalized.mode) {
73
+ case 'single':
74
+ return `${singleScopeLabel}:${normalized.scopeId ?? 'default'}`;
75
+ case 'multiple':
76
+ return `${multipleScopesLabel}:${normalized.scopeIds.join(',') || 'none'}`;
77
+ case 'all':
78
+ return `${multipleScopesLabel}:all`;
79
+ case 'default':
80
+ return `${singleScopeLabel}:default`;
81
+ }
82
+ }
83
+ /**
84
+ * Returns normalized unique scope ids in stable order.
85
+ */
86
+ export function normalizeScopeIds(scopeIds) {
87
+ return Array.from(new Set(scopeIds
88
+ .map(normalizeScopeId)
89
+ .filter((scopeId) => scopeId !== null))).sort((left, right) => left.localeCompare(right));
90
+ }
91
+ function normalizeScopeId(scopeId) {
92
+ const trimmed = scopeId?.trim();
93
+ return trimmed && trimmed.length > 0 ? trimmed : null;
94
+ }
95
+ //# sourceMappingURL=scope-selection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scope-selection.js","sourceRoot":"","sources":["../src/scope-selection.ts"],"names":[],"mappings":"AAmFA;;GAEG;AACH,MAAM,UAAU,mCAAmC,CAAC,EAClD,aAAa,EACb,kBAAkB,GAInB;IACC,IAAI,gBAAgB,GAAsC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAA;IAE7E,OAAO;QACL,YAAY,CAAC,SAAS;YACpB,gBAAgB,GAAG,0CAA0C,CAAC,SAAS,CAAC,CAAA;QAC1E,CAAC;QACD,YAAY;YACV,OAAO,gBAAgB,CAAA;QACzB,CAAC;QACD,UAAU;YACR,OAAO,qCAAqC,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAA;QAC/E,CAAC;QACD,iBAAiB,CAAC,SAAS;YACzB,OAAO,2CAA2C,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAA;QACnF,CAAC;QACD,kBAAkB,EAAE,0CAA0C;KAC/D,CAAA;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,0CAA0C,CACxD,SAA4C;IAE5C,QAAQ,SAAS,CAAC,IAAI,EAAE,CAAC;QACvB,KAAK,QAAQ;YACX,OAAO;gBACL,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,gBAAgB,CAAC,SAAS,CAAC,OAAO,CAAC;aAC7C,CAAA;QACH,KAAK,UAAU;YACb,OAAO;gBACL,IAAI,EAAE,UAAU;gBAChB,QAAQ,EAAE,iBAAiB,CAAC,SAAS,CAAC,QAAQ,CAAC;aAChD,CAAA;QACH,KAAK,KAAK,CAAC;QACX,KAAK,SAAS;YACZ,OAAO,SAAS,CAAA;IACpB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qCAAqC,CACnD,SAA4C,EAC5C,OAA8C;IAE9C,MAAM,UAAU,GAAG,0CAA0C,CAAC,SAAS,CAAC,CAAA;IACxE,QAAQ,UAAU,CAAC,IAAI,EAAE,CAAC;QACxB,KAAK,QAAQ;YACX,OAAO,UAAU,CAAC,OAAO;gBACvB,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,EAAE,UAAU,CAAC,OAAO,EAAE;gBACzD,CAAC,CAAC,SAAS,CAAA;QACf,KAAK,UAAU;YACb,OAAO,UAAU,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;gBACnC,CAAC,CAAC;oBACE,CAAC,OAAO,CAAC,wBAAwB,CAAC,EAAE,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;oBACjE,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC,uBAAuB,IAAI,UAAU;iBAC7E;gBACH,CAAC,CAAC,SAAS,CAAA;QACf,KAAK,KAAK;YACR,OAAO,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC,kBAAkB,IAAI,KAAK,EAAE,CAAA;QAC/E,KAAK,SAAS;YACZ,OAAO,SAAS,CAAA;IACpB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,2CAA2C,CACzD,SAA4C,EAC5C,UAAwD,EAAE;IAE1D,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,IAAI,OAAO,CAAA;IAC5D,MAAM,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,IAAI,QAAQ,CAAA;IACnE,MAAM,UAAU,GAAG,0CAA0C,CAAC,SAAS,CAAC,CAAA;IACxE,QAAQ,UAAU,CAAC,IAAI,EAAE,CAAC;QACxB,KAAK,QAAQ;YACX,OAAO,GAAG,gBAAgB,IAAI,UAAU,CAAC,OAAO,IAAI,SAAS,EAAE,CAAA;QACjE,KAAK,UAAU;YACb,OAAO,GAAG,mBAAmB,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,MAAM,EAAE,CAAA;QAC5E,KAAK,KAAK;YACR,OAAO,GAAG,mBAAmB,MAAM,CAAA;QACrC,KAAK,SAAS;YACZ,OAAO,GAAG,gBAAgB,UAAU,CAAA;IACxC,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,QAA2B;IAC3D,OAAO,KAAK,CAAC,IAAI,CACf,IAAI,GAAG,CACL,QAAQ;SACL,GAAG,CAAC,gBAAgB,CAAC;SACrB,MAAM,CAAC,CAAC,OAAO,EAAqB,EAAE,CAAC,OAAO,KAAK,IAAI,CAAC,CAC5D,CACF,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAA;AACpD,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAkC;IAC1D,MAAM,OAAO,GAAG,OAAO,EAAE,IAAI,EAAE,CAAA;IAC/B,OAAO,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAA;AACvD,CAAC"}
@@ -0,0 +1,39 @@
1
+ import type { PresentationBindingDefinition } from './module.js';
2
+ export interface PresentationEnumDiscriminator {
3
+ readonly label?: string;
4
+ readonly value: string | number;
5
+ }
6
+ export interface FindPresentationComponentBindingOptions {
7
+ readonly bindingKind: PresentationEnumDiscriminator;
8
+ readonly componentSet?: string | null;
9
+ readonly id: string;
10
+ readonly routeId?: string | null;
11
+ readonly targetKind?: PresentationEnumDiscriminator | null;
12
+ }
13
+ export interface ResolvedPresentationComponentBinding<TBinding extends PresentationBindingDefinition = PresentationBindingDefinition> {
14
+ readonly binding: TBinding | null;
15
+ readonly componentKey: string | null;
16
+ readonly componentRole: string | null;
17
+ }
18
+ interface PresentationTargetBindingProjection {
19
+ readonly Bindings: readonly PresentationBindingDefinition[];
20
+ readonly ComponentSet?: string | null;
21
+ readonly Target: string | number;
22
+ }
23
+ export declare function findPresentationComponentBinding<TBinding extends PresentationBindingDefinition>(module: {
24
+ readonly Targets: readonly PresentationTargetBindingProjection[];
25
+ }, { bindingKind, componentSet, id, routeId, targetKind, }: FindPresentationComponentBindingOptions): TBinding | null;
26
+ export declare function resolvePresentationComponentBinding<TBinding extends PresentationBindingDefinition = PresentationBindingDefinition>(module: {
27
+ readonly Targets: readonly PresentationTargetBindingProjection[];
28
+ }, options: FindPresentationComponentBindingOptions): ResolvedPresentationComponentBinding<TBinding>;
29
+ export declare function matchesPresentationEnum(value: string | number, discriminator: PresentationEnumDiscriminator): boolean;
30
+ export declare function createPresentationEnumDiscriminator<TValues extends Readonly<Record<string, string | number>>>(values: TValues, key: keyof TValues, label?: string): PresentationEnumDiscriminator;
31
+ export declare function createPresentationComponentBinding<TComponentKey extends string>({ componentKey, componentRole, id, kind, routeId, }: {
32
+ readonly componentKey?: TComponentKey;
33
+ readonly componentRole?: string;
34
+ readonly id: string;
35
+ readonly kind: PresentationBindingDefinition['Kind'];
36
+ readonly routeId?: string;
37
+ }): PresentationBindingDefinition;
38
+ export {};
39
+ //# sourceMappingURL=target-bindings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"target-bindings.d.ts","sourceRoot":"","sources":["../src/target-bindings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,6BAA6B,EAC9B,MAAM,UAAU,CAAA;AAEjB,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAChC;AAED,MAAM,WAAW,uCAAuC;IACtD,QAAQ,CAAC,WAAW,EAAE,6BAA6B,CAAA;IACnD,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACrC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,QAAQ,CAAC,UAAU,CAAC,EAAE,6BAA6B,GAAG,IAAI,CAAA;CAC3D;AAED,MAAM,WAAW,oCAAoC,CACnD,QAAQ,SAAS,6BAA6B,GAAG,6BAA6B;IAE9E,QAAQ,CAAC,OAAO,EAAE,QAAQ,GAAG,IAAI,CAAA;IACjC,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IACpC,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;CACtC;AAED,UAAU,mCAAmC;IAC3C,QAAQ,CAAC,QAAQ,EAAE,SAAS,6BAA6B,EAAE,CAAA;IAC3D,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACrC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;CACjC;AAED,wBAAgB,gCAAgC,CAC9C,QAAQ,SAAS,6BAA6B,EAE9C,MAAM,EAAE;IAAE,QAAQ,CAAC,OAAO,EAAE,SAAS,mCAAmC,EAAE,CAAA;CAAE,EAC5E,EACE,WAAW,EACX,YAAY,EACZ,EAAE,EACF,OAAO,EACP,UAAU,GACX,EAAE,uCAAuC,GACzC,QAAQ,GAAG,IAAI,CAwBjB;AAED,wBAAgB,mCAAmC,CACjD,QAAQ,SAAS,6BAA6B,GAAG,6BAA6B,EAE9E,MAAM,EAAE;IAAE,QAAQ,CAAC,OAAO,EAAE,SAAS,mCAAmC,EAAE,CAAA;CAAE,EAC5E,OAAO,EAAE,uCAAuC,GAC/C,oCAAoC,CAAC,QAAQ,CAAC,CAQhD;AAED,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,MAAM,GAAG,MAAM,EACtB,aAAa,EAAE,6BAA6B,WAG7C;AAED,wBAAgB,mCAAmC,CACjD,OAAO,SAAS,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,EAEzD,MAAM,EAAE,OAAO,EACf,GAAG,EAAE,MAAM,OAAO,EAClB,KAAK,CAAC,EAAE,MAAM,GACb,6BAA6B,CAE/B;AAED,wBAAgB,kCAAkC,CAChD,aAAa,SAAS,MAAM,EAC5B,EACA,YAAY,EACZ,aAAa,EACb,EAAE,EACF,IAAI,EACJ,OAAO,GACR,EAAE;IACD,QAAQ,CAAC,YAAY,CAAC,EAAE,aAAa,CAAA;IACrC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,IAAI,EAAE,6BAA6B,CAAC,MAAM,CAAC,CAAA;IACpD,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAC1B,GAAG,6BAA6B,CAQhC"}
@@ -0,0 +1,40 @@
1
+ export function findPresentationComponentBinding(module, { bindingKind, componentSet, id, routeId, targetKind, }) {
2
+ const targetMatches = module.Targets.filter((target) => {
3
+ if (targetKind && !matchesPresentationEnum(target.Target, targetKind)) {
4
+ return false;
5
+ }
6
+ return !componentSet || target.ComponentSet === componentSet;
7
+ });
8
+ const targets = targetMatches.length > 0 ? targetMatches : module.Targets;
9
+ const bindings = targets
10
+ .flatMap((target) => target.Bindings)
11
+ .filter((binding) => matchesPresentationEnum(binding.Kind, bindingKind) && binding.Id === id);
12
+ return (bindings.find((binding) => routeId && binding.RouteId === routeId) ??
13
+ bindings.find((binding) => !binding.RouteId) ??
14
+ bindings[0] ??
15
+ null);
16
+ }
17
+ export function resolvePresentationComponentBinding(module, options) {
18
+ const binding = findPresentationComponentBinding(module, options);
19
+ return {
20
+ binding,
21
+ componentKey: binding?.ComponentKey ?? null,
22
+ componentRole: binding?.ComponentRole ?? null,
23
+ };
24
+ }
25
+ export function matchesPresentationEnum(value, discriminator) {
26
+ return value === discriminator.value || value === discriminator.label;
27
+ }
28
+ export function createPresentationEnumDiscriminator(values, key, label) {
29
+ return { label, value: values[key] };
30
+ }
31
+ export function createPresentationComponentBinding({ componentKey, componentRole, id, kind, routeId, }) {
32
+ return {
33
+ ComponentKey: componentKey ?? null,
34
+ ComponentRole: componentRole,
35
+ Id: id,
36
+ Kind: kind,
37
+ RouteId: routeId,
38
+ };
39
+ }
40
+ //# sourceMappingURL=target-bindings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"target-bindings.js","sourceRoot":"","sources":["../src/target-bindings.ts"],"names":[],"mappings":"AA+BA,MAAM,UAAU,gCAAgC,CAG9C,MAA4E,EAC5E,EACE,WAAW,EACX,YAAY,EACZ,EAAE,EACF,OAAO,EACP,UAAU,GAC8B;IAE1C,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE;QACrD,IAAI,UAAU,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,CAAC;YACtE,OAAO,KAAK,CAAA;QACd,CAAC;QAED,OAAO,CAAC,YAAY,IAAI,MAAM,CAAC,YAAY,KAAK,YAAY,CAAA;IAC9D,CAAC,CAAC,CAAA;IACF,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAA;IACzE,MAAM,QAAQ,GAAG,OAAO;SACrB,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC;SACpC,MAAM,CACL,CAAC,OAAO,EAAE,EAAE,CACV,uBAAuB,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,OAAO,CAAC,EAAE,KAAK,EAAE,CAC1E,CAAA;IAEH,OAAO,CACJ,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,KAAK,OAAO,CAEpD;QACb,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAA0B;QACrE,QAAQ,CAAC,CAAC,CAA0B;QACrC,IAAI,CACL,CAAA;AACH,CAAC;AAED,MAAM,UAAU,mCAAmC,CAGjD,MAA4E,EAC5E,OAAgD;IAEhD,MAAM,OAAO,GAAG,gCAAgC,CAAW,MAAM,EAAE,OAAO,CAAC,CAAA;IAE3E,OAAO;QACL,OAAO;QACP,YAAY,EAAE,OAAO,EAAE,YAAY,IAAI,IAAI;QAC3C,aAAa,EAAE,OAAO,EAAE,aAAa,IAAI,IAAI;KAC9C,CAAA;AACH,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,KAAsB,EACtB,aAA4C;IAE5C,OAAO,KAAK,KAAK,aAAa,CAAC,KAAK,IAAI,KAAK,KAAK,aAAa,CAAC,KAAK,CAAA;AACvE,CAAC;AAED,MAAM,UAAU,mCAAmC,CAGjD,MAAe,EACf,GAAkB,EAClB,KAAc;IAEd,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAA;AACtC,CAAC;AAED,MAAM,UAAU,kCAAkC,CAEhD,EACA,YAAY,EACZ,aAAa,EACb,EAAE,EACF,IAAI,EACJ,OAAO,GAOR;IACC,OAAO;QACL,YAAY,EAAE,YAAY,IAAI,IAAI;QAClC,aAAa,EAAE,aAAa;QAC5B,EAAE,EAAE,EAAE;QACN,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,OAAO;KACjB,CAAA;AACH,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { PresentationModuleDefinition, ViewDefinition } from './module.js';
2
+ import type { PresentationProjectionDiagnostic } from './presentation-projection-diagnostics.js';
3
+ export interface ProjectViewChromeContentDiagnosticsOptions {
4
+ readonly module: Pick<PresentationModuleDefinition, 'Views'> | null;
5
+ readonly view: ViewDefinition | null;
6
+ }
7
+ export declare function projectViewChromeContentDiagnostics({ module, view, }: ProjectViewChromeContentDiagnosticsOptions): readonly PresentationProjectionDiagnostic[];
8
+ //# sourceMappingURL=view-chrome-content-diagnostics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"view-chrome-content-diagnostics.d.ts","sourceRoot":"","sources":["../src/view-chrome-content-diagnostics.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,4BAA4B,EAC5B,cAAc,EACf,MAAM,UAAU,CAAA;AACjB,OAAO,KAAK,EACV,gCAAgC,EACjC,MAAM,uCAAuC,CAAA;AAE9C,MAAM,WAAW,0CAA0C;IACzD,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,4BAA4B,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;IACnE,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,CAAA;CACrC;AAED,wBAAgB,mCAAmC,CAAC,EAClD,MAAM,EACN,IAAI,GACL,EAAE,0CAA0C,GAAG,SAAS,gCAAgC,EAAE,CAE1F"}
@@ -0,0 +1,84 @@
1
+ import { findPresentationView, } from './module.js';
2
+ export function projectViewChromeContentDiagnostics({ module, view, }) {
3
+ return collectViewTree(module, view).flatMap(projectSingleViewChromeContentDiagnostics);
4
+ }
5
+ function projectSingleViewChromeContentDiagnostics(view) {
6
+ const chrome = view.Chrome;
7
+ if (!chrome) {
8
+ return [];
9
+ }
10
+ const hasLegacyTitle = Boolean(chrome.Title);
11
+ const hasLegacySubtitle = Boolean(chrome.Subtitle);
12
+ const content = chrome.Content;
13
+ if (!content && (hasLegacyTitle || hasLegacySubtitle)) {
14
+ return [
15
+ createViewChromeContentDiagnostic({
16
+ fields: [
17
+ hasLegacyTitle ? 'Title' : null,
18
+ hasLegacySubtitle ? 'Subtitle' : null,
19
+ ].filter((field) => Boolean(field)),
20
+ message: `View '${view.Name}' chrome still declares legacy title/subtitle fields ` +
21
+ 'without Content; the frontend will use legacy chrome content fallback semantics.',
22
+ reason: 'legacy-content-fallback',
23
+ view,
24
+ }),
25
+ ];
26
+ }
27
+ const diagnostics = [];
28
+ if (content && hasLegacyTitle && !content.Title) {
29
+ diagnostics.push(createViewChromeContentDiagnostic({
30
+ fields: ['Title'],
31
+ message: `View '${view.Name}' chrome Content does not declare a title, but legacy Title is present; ` +
32
+ 'the frontend will use legacy title fallback semantics.',
33
+ reason: 'legacy-title-fallback',
34
+ view,
35
+ }));
36
+ }
37
+ const hasContentDescription = Boolean(content?.Description ??
38
+ content?.DescriptionTemplate ??
39
+ content?.Subtitle);
40
+ if (content && hasLegacySubtitle && !hasContentDescription) {
41
+ diagnostics.push(createViewChromeContentDiagnostic({
42
+ fields: ['Subtitle'],
43
+ message: `View '${view.Name}' chrome Content does not declare description or subtitle content, ` +
44
+ 'but legacy Subtitle is present; the frontend will use legacy subtitle fallback semantics.',
45
+ reason: 'legacy-subtitle-fallback',
46
+ view,
47
+ }));
48
+ }
49
+ return diagnostics;
50
+ }
51
+ function collectViewTree(module, view, seen = new Set()) {
52
+ if (!view || seen.has(view.Id)) {
53
+ return [];
54
+ }
55
+ seen.add(view.Id);
56
+ return [
57
+ view,
58
+ ...view.Regions.flatMap((region) => region.ViewIds.flatMap((viewId) => collectViewTree(module, findPresentationView(module, viewId), seen))),
59
+ ];
60
+ }
61
+ function createViewChromeContentDiagnostic({ fields, message, reason, view, }) {
62
+ return {
63
+ category: 'incomplete-projection',
64
+ details: {
65
+ fields,
66
+ viewId: view.Id,
67
+ },
68
+ id: `view-chrome.${view.Id}.content.${reason}`,
69
+ interpretation: {
70
+ status: 'locally-interpreted',
71
+ target: 'react',
72
+ },
73
+ message,
74
+ severity: 'warning',
75
+ source: 'view-chrome-content-projection',
76
+ subject: {
77
+ id: view.Id,
78
+ kind: 'view-chrome',
79
+ name: view.Name,
80
+ },
81
+ suggestedNextStep: 'Declare View.Chrome.Content with PresentationContentDefinition and remove legacy title/subtitle fallback fields.',
82
+ };
83
+ }
84
+ //# sourceMappingURL=view-chrome-content-diagnostics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"view-chrome-content-diagnostics.js","sourceRoot":"","sources":["../src/view-chrome-content-diagnostics.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { ViewChromeSlotDefinition } from './module.js';
2
+ import type { PresentationIconDiagnosticSubject } from './presentation-icon-diagnostics.js';
3
+ export declare const viewChromeIconIds: {
4
+ readonly layoutSingle: "view-chrome.layout.single";
5
+ readonly layoutSplit: "view-chrome.layout.split";
6
+ readonly viewDefault: "view-chrome.view.default";
7
+ readonly viewJson: "view-chrome.view.json";
8
+ readonly viewStructure: "view-chrome.view.structure";
9
+ readonly viewTypes: "view-chrome.view.types";
10
+ };
11
+ export declare function resolveViewChromeIconSubjects(slots: readonly ViewChromeSlotDefinition[]): readonly PresentationIconDiagnosticSubject[];
12
+ //# sourceMappingURL=view-chrome-icons.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"view-chrome-icons.d.ts","sourceRoot":"","sources":["../src/view-chrome-icons.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EACzB,MAAM,UAAU,CAAA;AACjB,OAAO,KAAK,EACV,iCAAiC,EAClC,MAAM,iCAAiC,CAAA;AAQxC,eAAO,MAAM,iBAAiB;;;;;;;CAOpB,CAAA;AAEV,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,SAAS,wBAAwB,EAAE,GACzC,SAAS,iCAAiC,EAAE,CAqB9C"}
@@ -0,0 +1,50 @@
1
+ import { isViewChromeSlotKind, } from './view-chrome-slot-renderer-registry.js';
2
+ import { viewChromeSlotKinds, } from '@cohesivesystems/presentation-contracts';
3
+ export const viewChromeIconIds = {
4
+ layoutSingle: 'view-chrome.layout.single',
5
+ layoutSplit: 'view-chrome.layout.split',
6
+ viewDefault: 'view-chrome.view.default',
7
+ viewJson: 'view-chrome.view.json',
8
+ viewStructure: 'view-chrome.view.structure',
9
+ viewTypes: 'view-chrome.view.types',
10
+ };
11
+ export function resolveViewChromeIconSubjects(slots) {
12
+ return slots.flatMap((slot) => {
13
+ if (isViewChromeSlotKind(slot, viewChromeSlotKinds.layoutSwitch)) {
14
+ return [
15
+ createViewChromeIconSubject(slot, viewChromeIconIds.layoutSingle, 'Single layout'),
16
+ createViewChromeIconSubject(slot, viewChromeIconIds.layoutSplit, 'Split layout'),
17
+ ];
18
+ }
19
+ if (isViewChromeSlotKind(slot, viewChromeSlotKinds.viewSwitch)) {
20
+ return slot.ViewIds.map((viewId) => createViewChromeIconSubject(slot, resolveViewChromeViewIconId(viewId), `View switch: ${viewId}`, { viewId }));
21
+ }
22
+ return [];
23
+ });
24
+ }
25
+ function createViewChromeIconSubject(slot, icon, label, details = {}) {
26
+ return {
27
+ details: {
28
+ slotId: slot.Id,
29
+ ...details,
30
+ },
31
+ icon,
32
+ id: `${slot.Id}:${icon}`,
33
+ kind: 'view-chrome-icon',
34
+ label,
35
+ };
36
+ }
37
+ function resolveViewChromeViewIconId(viewId) {
38
+ const normalized = viewId.toLocaleLowerCase();
39
+ if (normalized.includes('json')) {
40
+ return viewChromeIconIds.viewJson;
41
+ }
42
+ if (normalized.includes('type')) {
43
+ return viewChromeIconIds.viewTypes;
44
+ }
45
+ if (normalized.includes('structure')) {
46
+ return viewChromeIconIds.viewStructure;
47
+ }
48
+ return viewChromeIconIds.viewDefault;
49
+ }
50
+ //# sourceMappingURL=view-chrome-icons.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"view-chrome-icons.js","sourceRoot":"","sources":["../src/view-chrome-icons.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,oBAAoB,GACrB,MAAM,sCAAsC,CAAA;AAC7C,OAAO,EACL,mBAAmB,GACpB,MAAM,yCAAyC,CAAA;AAEhD,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,YAAY,EAAE,2BAA2B;IACzC,WAAW,EAAE,0BAA0B;IACvC,WAAW,EAAE,0BAA0B;IACvC,QAAQ,EAAE,uBAAuB;IACjC,aAAa,EAAE,4BAA4B;IAC3C,SAAS,EAAE,wBAAwB;CAC3B,CAAA;AAEV,MAAM,UAAU,6BAA6B,CAC3C,KAA0C;IAE1C,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAC5B,IAAI,oBAAoB,CAAC,IAAI,EAAE,mBAAmB,CAAC,YAAY,CAAC,EAAE,CAAC;YACjE,OAAO;gBACL,2BAA2B,CAAC,IAAI,EAAE,iBAAiB,CAAC,YAAY,EAAE,eAAe,CAAC;gBAClF,2BAA2B,CAAC,IAAI,EAAE,iBAAiB,CAAC,WAAW,EAAE,cAAc,CAAC;aACjF,CAAA;QACH,CAAC;QAED,IAAI,oBAAoB,CAAC,IAAI,EAAE,mBAAmB,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/D,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CACjC,2BAA2B,CACzB,IAAI,EACJ,2BAA2B,CAAC,MAAM,CAAC,EACnC,gBAAgB,MAAM,EAAE,EACxB,EAAE,MAAM,EAAE,CACX,CAAC,CAAA;QACN,CAAC;QAED,OAAO,EAAE,CAAA;IACX,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,2BAA2B,CAClC,IAA8B,EAC9B,IAAY,EACZ,KAAa,EACb,UAA6C,EAAE;IAE/C,OAAO;QACL,OAAO,EAAE;YACP,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,GAAG,OAAO;SACX;QACD,IAAI;QACJ,EAAE,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE;QACxB,IAAI,EAAE,kBAAkB;QACxB,KAAK;KACN,CAAA;AACH,CAAC;AAED,SAAS,2BAA2B,CAAC,MAAc;IACjD,MAAM,UAAU,GAAG,MAAM,CAAC,iBAAiB,EAAE,CAAA;IAC7C,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAChC,OAAO,iBAAiB,CAAC,QAAQ,CAAA;IACnC,CAAC;IAED,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAChC,OAAO,iBAAiB,CAAC,SAAS,CAAA;IACpC,CAAC;IAED,IAAI,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QACrC,OAAO,iBAAiB,CAAC,aAAa,CAAA;IACxC,CAAC;IAED,OAAO,iBAAiB,CAAC,WAAW,CAAA;AACtC,CAAC"}
@@ -0,0 +1,19 @@
1
+ import type { ViewChromeSlotDefinition, ViewChromeSlotKind, ViewChromeSlotPlacement } from './module.js';
2
+ export declare const viewChromeSlotAnyPlacement = "*";
3
+ export type ViewChromeSlotRenderer<TContext, TResult = unknown> = (context: TContext) => TResult;
4
+ export type ViewChromeSlotRendererRegistry<TContext, TResult = unknown> = Readonly<Record<string, ViewChromeSlotRenderer<TContext, TResult>>>;
5
+ export interface ViewChromeSlotRendererBinding<TContext, TResult = unknown> {
6
+ readonly kind: ViewChromeSlotKind | string | number;
7
+ readonly placement?: ViewChromeSlotPlacement | string | number | null;
8
+ readonly render: ViewChromeSlotRenderer<TContext, TResult>;
9
+ }
10
+ export declare function createViewChromeSlotRendererRegistry<TContext, TResult = unknown>(bindings: readonly ViewChromeSlotRendererBinding<TContext, TResult>[]): ViewChromeSlotRendererRegistry<TContext, TResult>;
11
+ export declare function createViewChromeSlotRendererKey(kind: ViewChromeSlotKind | string | number, placement?: ViewChromeSlotPlacement | string | number | null): string;
12
+ export declare function getViewChromeSlotRendererRegistryKeys<TContext, TResult = unknown>(registry: ViewChromeSlotRendererRegistry<TContext, TResult> | null | undefined): string[];
13
+ export declare function getViewChromeSlotRendererCandidateKeys(slot: ViewChromeSlotDefinition): string[];
14
+ export declare function hasViewChromeSlotRendererBinding(keys: readonly string[], slot: ViewChromeSlotDefinition): boolean;
15
+ export declare function resolveViewChromeSlotRenderer<TContext, TResult = unknown>(registry: ViewChromeSlotRendererRegistry<TContext, TResult> | null | undefined, slot: ViewChromeSlotDefinition): ViewChromeSlotRenderer<TContext, TResult> | null;
16
+ export declare function isViewChromeSlotPlacement(slot: ViewChromeSlotDefinition, placement: ViewChromeSlotPlacement | string | number): boolean;
17
+ export declare function isViewChromeSlotKind(slot: ViewChromeSlotDefinition, kind: ViewChromeSlotKind | string | number): boolean;
18
+ export declare function isViewChromeSlotPlacementValue(value: ViewChromeSlotPlacement | string | number | null | undefined, placement: ViewChromeSlotPlacement | string | number): boolean;
19
+ //# sourceMappingURL=view-chrome-slot-renderer-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"view-chrome-slot-renderer-registry.d.ts","sourceRoot":"","sources":["../src/view-chrome-slot-renderer-registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EACxB,kBAAkB,EAClB,uBAAuB,EACxB,MAAM,UAAU,CAAA;AAMjB,eAAO,MAAM,0BAA0B,MAAM,CAAA;AAE7C,MAAM,MAAM,sBAAsB,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,IAAI,CAChE,OAAO,EAAE,QAAQ,KACd,OAAO,CAAA;AAEZ,MAAM,MAAM,8BAA8B,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,IAAI,QAAQ,CAChF,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAC1D,CAAA;AAED,MAAM,WAAW,6BAA6B,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO;IACxE,QAAQ,CAAC,IAAI,EAAE,kBAAkB,GAAG,MAAM,GAAG,MAAM,CAAA;IACnD,QAAQ,CAAC,SAAS,CAAC,EAAE,uBAAuB,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;IACrE,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;CAC3D;AAED,wBAAgB,oCAAoC,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,EAC9E,QAAQ,EAAE,SAAS,6BAA6B,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,GACpE,8BAA8B,CAAC,QAAQ,EAAE,OAAO,CAAC,CAOnD;AAED,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,kBAAkB,GAAG,MAAM,GAAG,MAAM,EAC1C,SAAS,CAAC,EAAE,uBAAuB,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,UAK7D;AAED,wBAAgB,qCAAqC,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,EAC/E,QAAQ,EAAE,8BAA8B,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,YAG/E;AAED,wBAAgB,sCAAsC,CACpD,IAAI,EAAE,wBAAwB,YAM/B;AAED,wBAAgB,gCAAgC,CAC9C,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,IAAI,EAAE,wBAAwB,WAI/B;AAED,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,EACvE,QAAQ,EAAE,8BAA8B,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,EAC9E,IAAI,EAAE,wBAAwB,oDAW/B;AAED,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,wBAAwB,EAC9B,SAAS,EAAE,uBAAuB,GAAG,MAAM,GAAG,MAAM,WAGrD;AAED,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,wBAAwB,EAC9B,IAAI,EAAE,kBAAkB,GAAG,MAAM,GAAG,MAAM,WAI3C;AAED,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,uBAAuB,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,EACnE,SAAS,EAAE,uBAAuB,GAAG,MAAM,GAAG,MAAM,WAQrD"}