@cratis/scene.blueprint.components 0.1.0

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 (332) hide show
  1. package/.storybook/main.ts +61 -0
  2. package/.storybook/preview.tsx +42 -0
  3. package/BorrowedComponentName.ts +22 -0
  4. package/ComponentName.ts +27 -0
  5. package/CompositeName.ts +97 -0
  6. package/README.md +40 -0
  7. package/componentsBlueprint.ts +72 -0
  8. package/componentsBlueprintComponents.ts +23 -0
  9. package/dist/cjs/BorrowedComponentName.js +25 -0
  10. package/dist/cjs/BorrowedComponentName.js.map +1 -0
  11. package/dist/cjs/ComponentName.js +30 -0
  12. package/dist/cjs/ComponentName.js.map +1 -0
  13. package/dist/cjs/CompositeName.js +52 -0
  14. package/dist/cjs/CompositeName.js.map +1 -0
  15. package/dist/cjs/componentsBlueprint.js +93 -0
  16. package/dist/cjs/componentsBlueprint.js.map +1 -0
  17. package/dist/cjs/componentsBlueprintComponents.js +27 -0
  18. package/dist/cjs/componentsBlueprintComponents.js.map +1 -0
  19. package/dist/cjs/gallery/DialogTemplatePreview.js +46 -0
  20. package/dist/cjs/gallery/DialogTemplatePreview.js.map +1 -0
  21. package/dist/cjs/gallery/GalleryScreenPreview.js +65 -0
  22. package/dist/cjs/gallery/GalleryScreenPreview.js.map +1 -0
  23. package/dist/cjs/gallery/applicationChrome.js +137 -0
  24. package/dist/cjs/gallery/applicationChrome.js.map +1 -0
  25. package/dist/cjs/gallery/navigation.js +128 -0
  26. package/dist/cjs/gallery/navigation.js.map +1 -0
  27. package/dist/cjs/gallery/previewProfile.js +87 -0
  28. package/dist/cjs/gallery/previewProfile.js.map +1 -0
  29. package/dist/cjs/gallery/screens.js +80 -0
  30. package/dist/cjs/gallery/screens.js.map +1 -0
  31. package/dist/cjs/header/ArcPageHeader.js +65 -0
  32. package/dist/cjs/header/ArcPageHeader.js.map +1 -0
  33. package/dist/cjs/header/deriveArcHeading.js +51 -0
  34. package/dist/cjs/header/deriveArcHeading.js.map +1 -0
  35. package/dist/cjs/header/humanizeBindingName.js +36 -0
  36. package/dist/cjs/header/humanizeBindingName.js.map +1 -0
  37. package/dist/cjs/index.js +119 -0
  38. package/dist/cjs/index.js.map +1 -0
  39. package/dist/cjs/package.json +3 -0
  40. package/dist/cjs/packageName.js +15 -0
  41. package/dist/cjs/packageName.js.map +1 -0
  42. package/dist/cjs/templates/SampleBindingName.js +39 -0
  43. package/dist/cjs/templates/SampleBindingName.js.map +1 -0
  44. package/dist/cjs/templates/commandTemplates.js +82 -0
  45. package/dist/cjs/templates/commandTemplates.js.map +1 -0
  46. package/dist/cjs/templates/dataElements.js +131 -0
  47. package/dist/cjs/templates/dataElements.js.map +1 -0
  48. package/dist/cjs/templates/dialogElements.js +69 -0
  49. package/dist/cjs/templates/dialogElements.js.map +1 -0
  50. package/dist/cjs/templates/dialogTemplates.js +118 -0
  51. package/dist/cjs/templates/dialogTemplates.js.map +1 -0
  52. package/dist/cjs/templates/editorElements.js +81 -0
  53. package/dist/cjs/templates/editorElements.js.map +1 -0
  54. package/dist/cjs/templates/editorTemplates.js +172 -0
  55. package/dist/cjs/templates/editorTemplates.js.map +1 -0
  56. package/dist/cjs/templates/elements.js +101 -0
  57. package/dist/cjs/templates/elements.js.map +1 -0
  58. package/dist/cjs/templates/formElements.js +77 -0
  59. package/dist/cjs/templates/formElements.js.map +1 -0
  60. package/dist/cjs/templates/listTemplates.js +187 -0
  61. package/dist/cjs/templates/listTemplates.js.map +1 -0
  62. package/dist/cjs/templates/nesting.js +150 -0
  63. package/dist/cjs/templates/nesting.js.map +1 -0
  64. package/dist/cjs/templates/sampleData.js +141 -0
  65. package/dist/cjs/templates/sampleData.js.map +1 -0
  66. package/dist/cjs/templates/screenTemplates.js +41 -0
  67. package/dist/cjs/templates/screenTemplates.js.map +1 -0
  68. package/dist/cjs/templates/workspaceTemplates.js +212 -0
  69. package/dist/cjs/templates/workspaceTemplates.js.map +1 -0
  70. package/dist/esm/BorrowedComponentName.d.ts +4 -0
  71. package/dist/esm/BorrowedComponentName.d.ts.map +1 -0
  72. package/dist/esm/BorrowedComponentName.js +23 -0
  73. package/dist/esm/BorrowedComponentName.js.map +1 -0
  74. package/dist/esm/ComponentName.d.ts +4 -0
  75. package/dist/esm/ComponentName.d.ts.map +1 -0
  76. package/dist/esm/ComponentName.js +28 -0
  77. package/dist/esm/ComponentName.js.map +1 -0
  78. package/dist/esm/CompositeName.d.ts +28 -0
  79. package/dist/esm/CompositeName.d.ts.map +1 -0
  80. package/dist/esm/CompositeName.js +50 -0
  81. package/dist/esm/CompositeName.js.map +1 -0
  82. package/dist/esm/componentsBlueprint.d.ts +5 -0
  83. package/dist/esm/componentsBlueprint.d.ts.map +1 -0
  84. package/dist/esm/componentsBlueprint.js +90 -0
  85. package/dist/esm/componentsBlueprint.js.map +1 -0
  86. package/dist/esm/componentsBlueprintComponents.d.ts +3 -0
  87. package/dist/esm/componentsBlueprintComponents.d.ts.map +1 -0
  88. package/dist/esm/componentsBlueprintComponents.js +25 -0
  89. package/dist/esm/componentsBlueprintComponents.js.map +1 -0
  90. package/dist/esm/for_ArcPageHeader/when_rendering_a_gallery_screen.d.ts +2 -0
  91. package/dist/esm/for_ArcPageHeader/when_rendering_a_gallery_screen.d.ts.map +1 -0
  92. package/dist/esm/for_ArcPageHeader/when_rendering_a_gallery_screen.js +57 -0
  93. package/dist/esm/for_ArcPageHeader/when_rendering_a_gallery_screen.js.map +1 -0
  94. package/dist/esm/for_CompositeName/when_checking_the_names_against_the_packages_that_declare_them.d.ts +2 -0
  95. package/dist/esm/for_CompositeName/when_checking_the_names_against_the_packages_that_declare_them.d.ts.map +1 -0
  96. package/dist/esm/for_CompositeName/when_checking_the_names_against_the_packages_that_declare_them.js +26 -0
  97. package/dist/esm/for_CompositeName/when_checking_the_names_against_the_packages_that_declare_them.js.map +1 -0
  98. package/dist/esm/for_componentsBlueprint/when_resolving_its_dependencies.d.ts +2 -0
  99. package/dist/esm/for_componentsBlueprint/when_resolving_its_dependencies.d.ts.map +1 -0
  100. package/dist/esm/for_componentsBlueprint/when_resolving_its_dependencies.js +65 -0
  101. package/dist/esm/for_componentsBlueprint/when_resolving_its_dependencies.js.map +1 -0
  102. package/dist/esm/for_componentsBlueprint/when_validating_the_bundle.d.ts +2 -0
  103. package/dist/esm/for_componentsBlueprint/when_validating_the_bundle.d.ts.map +1 -0
  104. package/dist/esm/for_componentsBlueprint/when_validating_the_bundle.js +41 -0
  105. package/dist/esm/for_componentsBlueprint/when_validating_the_bundle.js.map +1 -0
  106. package/dist/esm/for_componentsGalleryScreens/when_checking_the_layouts_and_slots_they_fill.d.ts +2 -0
  107. package/dist/esm/for_componentsGalleryScreens/when_checking_the_layouts_and_slots_they_fill.d.ts.map +1 -0
  108. package/dist/esm/for_componentsGalleryScreens/when_checking_the_layouts_and_slots_they_fill.js +38 -0
  109. package/dist/esm/for_componentsGalleryScreens/when_checking_the_layouts_and_slots_they_fill.js.map +1 -0
  110. package/dist/esm/for_componentsScreenTemplates/when_checking_that_arrangements_reference_declared_slots.d.ts +2 -0
  111. package/dist/esm/for_componentsScreenTemplates/when_checking_that_arrangements_reference_declared_slots.d.ts.map +1 -0
  112. package/dist/esm/for_componentsScreenTemplates/when_checking_that_arrangements_reference_declared_slots.js +47 -0
  113. package/dist/esm/for_componentsScreenTemplates/when_checking_that_arrangements_reference_declared_slots.js.map +1 -0
  114. package/dist/esm/for_componentsScreenTemplates/when_following_the_nesting_chain.d.ts +2 -0
  115. package/dist/esm/for_componentsScreenTemplates/when_following_the_nesting_chain.d.ts.map +1 -0
  116. package/dist/esm/for_componentsScreenTemplates/when_following_the_nesting_chain.js +56 -0
  117. package/dist/esm/for_componentsScreenTemplates/when_following_the_nesting_chain.js.map +1 -0
  118. package/dist/esm/for_componentsScreenTemplates/when_placing_them_in_the_default_blueprint_layout.d.ts +2 -0
  119. package/dist/esm/for_componentsScreenTemplates/when_placing_them_in_the_default_blueprint_layout.d.ts.map +1 -0
  120. package/dist/esm/for_componentsScreenTemplates/when_placing_them_in_the_default_blueprint_layout.js +31 -0
  121. package/dist/esm/for_componentsScreenTemplates/when_placing_them_in_the_default_blueprint_layout.js.map +1 -0
  122. package/dist/esm/for_componentsScreenTemplates/when_resolving_the_component_names_they_reference.d.ts +2 -0
  123. package/dist/esm/for_componentsScreenTemplates/when_resolving_the_component_names_they_reference.d.ts.map +1 -0
  124. package/dist/esm/for_componentsScreenTemplates/when_resolving_the_component_names_they_reference.js +54 -0
  125. package/dist/esm/for_componentsScreenTemplates/when_resolving_the_component_names_they_reference.js.map +1 -0
  126. package/dist/esm/for_deriveArcHeading/when_no_binding_is_named.d.ts +2 -0
  127. package/dist/esm/for_deriveArcHeading/when_no_binding_is_named.d.ts.map +1 -0
  128. package/dist/esm/for_deriveArcHeading/when_no_binding_is_named.js +27 -0
  129. package/dist/esm/for_deriveArcHeading/when_no_binding_is_named.js.map +1 -0
  130. package/dist/esm/for_deriveArcHeading/when_the_binding_is_not_registered.d.ts +2 -0
  131. package/dist/esm/for_deriveArcHeading/when_the_binding_is_not_registered.d.ts.map +1 -0
  132. package/dist/esm/for_deriveArcHeading/when_the_binding_is_not_registered.js +18 -0
  133. package/dist/esm/for_deriveArcHeading/when_the_binding_is_not_registered.js.map +1 -0
  134. package/dist/esm/for_deriveArcHeading/when_the_binding_is_registered.d.ts +2 -0
  135. package/dist/esm/for_deriveArcHeading/when_the_binding_is_registered.d.ts.map +1 -0
  136. package/dist/esm/for_deriveArcHeading/when_the_binding_is_registered.js +26 -0
  137. package/dist/esm/for_deriveArcHeading/when_the_binding_is_registered.js.map +1 -0
  138. package/dist/esm/for_humanizeBindingName/when_reading_a_proxy_name.d.ts +2 -0
  139. package/dist/esm/for_humanizeBindingName/when_reading_a_proxy_name.d.ts.map +1 -0
  140. package/dist/esm/for_humanizeBindingName/when_reading_a_proxy_name.js +25 -0
  141. package/dist/esm/for_humanizeBindingName/when_reading_a_proxy_name.js.map +1 -0
  142. package/dist/esm/gallery/ArcPages.stories.d.ts +30 -0
  143. package/dist/esm/gallery/ArcPages.stories.d.ts.map +1 -0
  144. package/dist/esm/gallery/ArcPages.stories.js +34 -0
  145. package/dist/esm/gallery/ArcPages.stories.js.map +1 -0
  146. package/dist/esm/gallery/Bindings.stories.d.ts +22 -0
  147. package/dist/esm/gallery/Bindings.stories.d.ts.map +1 -0
  148. package/dist/esm/gallery/Bindings.stories.js +78 -0
  149. package/dist/esm/gallery/Bindings.stories.js.map +1 -0
  150. package/dist/esm/gallery/DialogTemplatePreview.d.ts +7 -0
  151. package/dist/esm/gallery/DialogTemplatePreview.d.ts.map +1 -0
  152. package/dist/esm/gallery/DialogTemplatePreview.js +44 -0
  153. package/dist/esm/gallery/DialogTemplatePreview.js.map +1 -0
  154. package/dist/esm/gallery/DialogTemplates.stories.d.ts +21 -0
  155. package/dist/esm/gallery/DialogTemplates.stories.d.ts.map +1 -0
  156. package/dist/esm/gallery/DialogTemplates.stories.js +23 -0
  157. package/dist/esm/gallery/DialogTemplates.stories.js.map +1 -0
  158. package/dist/esm/gallery/GalleryScreenPreview.d.ts +10 -0
  159. package/dist/esm/gallery/GalleryScreenPreview.d.ts.map +1 -0
  160. package/dist/esm/gallery/GalleryScreenPreview.js +62 -0
  161. package/dist/esm/gallery/GalleryScreenPreview.js.map +1 -0
  162. package/dist/esm/gallery/applicationChrome.d.ts +3 -0
  163. package/dist/esm/gallery/applicationChrome.d.ts.map +1 -0
  164. package/dist/esm/gallery/applicationChrome.js +135 -0
  165. package/dist/esm/gallery/applicationChrome.js.map +1 -0
  166. package/dist/esm/gallery/index.d.ts +7 -0
  167. package/dist/esm/gallery/index.d.ts.map +1 -0
  168. package/dist/esm/gallery/index.js +7 -0
  169. package/dist/esm/gallery/index.js.map +1 -0
  170. package/dist/esm/gallery/navigation.d.ts +9 -0
  171. package/dist/esm/gallery/navigation.d.ts.map +1 -0
  172. package/dist/esm/gallery/navigation.js +121 -0
  173. package/dist/esm/gallery/navigation.js.map +1 -0
  174. package/dist/esm/gallery/previewProfile.d.ts +6 -0
  175. package/dist/esm/gallery/previewProfile.d.ts.map +1 -0
  176. package/dist/esm/gallery/previewProfile.js +83 -0
  177. package/dist/esm/gallery/previewProfile.js.map +1 -0
  178. package/dist/esm/gallery/screens.d.ts +4 -0
  179. package/dist/esm/gallery/screens.d.ts.map +1 -0
  180. package/dist/esm/gallery/screens.js +77 -0
  181. package/dist/esm/gallery/screens.js.map +1 -0
  182. package/dist/esm/header/ArcHeading.d.ts +9 -0
  183. package/dist/esm/header/ArcHeading.d.ts.map +1 -0
  184. package/dist/esm/header/ArcHeading.js +2 -0
  185. package/dist/esm/header/ArcHeading.js.map +1 -0
  186. package/dist/esm/header/ArcPageHeader.d.ts +3 -0
  187. package/dist/esm/header/ArcPageHeader.d.ts.map +1 -0
  188. package/dist/esm/header/ArcPageHeader.js +63 -0
  189. package/dist/esm/header/ArcPageHeader.js.map +1 -0
  190. package/dist/esm/header/deriveArcHeading.d.ts +4 -0
  191. package/dist/esm/header/deriveArcHeading.d.ts.map +1 -0
  192. package/dist/esm/header/deriveArcHeading.js +49 -0
  193. package/dist/esm/header/deriveArcHeading.js.map +1 -0
  194. package/dist/esm/header/humanizeBindingName.d.ts +2 -0
  195. package/dist/esm/header/humanizeBindingName.d.ts.map +1 -0
  196. package/dist/esm/header/humanizeBindingName.js +34 -0
  197. package/dist/esm/header/humanizeBindingName.js.map +1 -0
  198. package/dist/esm/header/index.d.ts +5 -0
  199. package/dist/esm/header/index.d.ts.map +1 -0
  200. package/dist/esm/header/index.js +5 -0
  201. package/dist/esm/header/index.js.map +1 -0
  202. package/dist/esm/index.d.ts +10 -0
  203. package/dist/esm/index.d.ts.map +1 -0
  204. package/dist/esm/index.js +30 -0
  205. package/dist/esm/index.js.map +1 -0
  206. package/dist/esm/package.json +3 -0
  207. package/dist/esm/packageName.d.ts +2 -0
  208. package/dist/esm/packageName.d.ts.map +1 -0
  209. package/dist/esm/packageName.js +13 -0
  210. package/dist/esm/packageName.js.map +1 -0
  211. package/dist/esm/templates/ArcHeaderOptions.d.ts +8 -0
  212. package/dist/esm/templates/ArcHeaderOptions.d.ts.map +1 -0
  213. package/dist/esm/templates/ArcHeaderOptions.js +2 -0
  214. package/dist/esm/templates/ArcHeaderOptions.js.map +1 -0
  215. package/dist/esm/templates/ColumnDefinition.d.ts +5 -0
  216. package/dist/esm/templates/ColumnDefinition.d.ts.map +1 -0
  217. package/dist/esm/templates/ColumnDefinition.js +2 -0
  218. package/dist/esm/templates/ColumnDefinition.js.map +1 -0
  219. package/dist/esm/templates/SampleBindingName.d.ts +11 -0
  220. package/dist/esm/templates/SampleBindingName.d.ts.map +1 -0
  221. package/dist/esm/templates/SampleBindingName.js +37 -0
  222. package/dist/esm/templates/SampleBindingName.js.map +1 -0
  223. package/dist/esm/templates/TableOptions.d.ts +6 -0
  224. package/dist/esm/templates/TableOptions.d.ts.map +1 -0
  225. package/dist/esm/templates/TableOptions.js +2 -0
  226. package/dist/esm/templates/TableOptions.js.map +1 -0
  227. package/dist/esm/templates/commandTemplates.d.ts +4 -0
  228. package/dist/esm/templates/commandTemplates.d.ts.map +1 -0
  229. package/dist/esm/templates/commandTemplates.js +79 -0
  230. package/dist/esm/templates/commandTemplates.js.map +1 -0
  231. package/dist/esm/templates/dataElements.d.ts +11 -0
  232. package/dist/esm/templates/dataElements.d.ts.map +1 -0
  233. package/dist/esm/templates/dataElements.js +123 -0
  234. package/dist/esm/templates/dataElements.js.map +1 -0
  235. package/dist/esm/templates/dialogElements.d.ts +5 -0
  236. package/dist/esm/templates/dialogElements.d.ts.map +1 -0
  237. package/dist/esm/templates/dialogElements.js +65 -0
  238. package/dist/esm/templates/dialogElements.js.map +1 -0
  239. package/dist/esm/templates/dialogTemplates.d.ts +6 -0
  240. package/dist/esm/templates/dialogTemplates.d.ts.map +1 -0
  241. package/dist/esm/templates/dialogTemplates.js +113 -0
  242. package/dist/esm/templates/dialogTemplates.js.map +1 -0
  243. package/dist/esm/templates/editorElements.d.ts +11 -0
  244. package/dist/esm/templates/editorElements.d.ts.map +1 -0
  245. package/dist/esm/templates/editorElements.js +74 -0
  246. package/dist/esm/templates/editorElements.js.map +1 -0
  247. package/dist/esm/templates/editorTemplates.d.ts +5 -0
  248. package/dist/esm/templates/editorTemplates.d.ts.map +1 -0
  249. package/dist/esm/templates/editorTemplates.js +168 -0
  250. package/dist/esm/templates/editorTemplates.js.map +1 -0
  251. package/dist/esm/templates/elements.d.ts +11 -0
  252. package/dist/esm/templates/elements.d.ts.map +1 -0
  253. package/dist/esm/templates/elements.js +92 -0
  254. package/dist/esm/templates/elements.js.map +1 -0
  255. package/dist/esm/templates/formElements.d.ts +11 -0
  256. package/dist/esm/templates/formElements.d.ts.map +1 -0
  257. package/dist/esm/templates/formElements.js +70 -0
  258. package/dist/esm/templates/formElements.js.map +1 -0
  259. package/dist/esm/templates/index.d.ts +18 -0
  260. package/dist/esm/templates/index.d.ts.map +1 -0
  261. package/dist/esm/templates/index.js +18 -0
  262. package/dist/esm/templates/index.js.map +1 -0
  263. package/dist/esm/templates/listTemplates.d.ts +6 -0
  264. package/dist/esm/templates/listTemplates.d.ts.map +1 -0
  265. package/dist/esm/templates/listTemplates.js +182 -0
  266. package/dist/esm/templates/listTemplates.js.map +1 -0
  267. package/dist/esm/templates/nesting.d.ts +6 -0
  268. package/dist/esm/templates/nesting.d.ts.map +1 -0
  269. package/dist/esm/templates/nesting.js +145 -0
  270. package/dist/esm/templates/nesting.js.map +1 -0
  271. package/dist/esm/templates/sampleData.d.ts +10 -0
  272. package/dist/esm/templates/sampleData.d.ts.map +1 -0
  273. package/dist/esm/templates/sampleData.js +134 -0
  274. package/dist/esm/templates/sampleData.js.map +1 -0
  275. package/dist/esm/templates/screenTemplates.d.ts +4 -0
  276. package/dist/esm/templates/screenTemplates.d.ts.map +1 -0
  277. package/dist/esm/templates/screenTemplates.js +38 -0
  278. package/dist/esm/templates/screenTemplates.js.map +1 -0
  279. package/dist/esm/templates/workspaceTemplates.d.ts +5 -0
  280. package/dist/esm/templates/workspaceTemplates.d.ts.map +1 -0
  281. package/dist/esm/templates/workspaceTemplates.js +208 -0
  282. package/dist/esm/templates/workspaceTemplates.js.map +1 -0
  283. package/dist/esm/tsconfig.tsbuildinfo +1 -0
  284. package/for_ArcPageHeader/when_rendering_a_gallery_screen.tsx +79 -0
  285. package/for_CompositeName/when_checking_the_names_against_the_packages_that_declare_them.ts +41 -0
  286. package/for_componentsBlueprint/when_resolving_its_dependencies.ts +85 -0
  287. package/for_componentsBlueprint/when_validating_the_bundle.ts +55 -0
  288. package/for_componentsGalleryScreens/when_checking_the_layouts_and_slots_they_fill.ts +56 -0
  289. package/for_componentsScreenTemplates/when_checking_that_arrangements_reference_declared_slots.ts +66 -0
  290. package/for_componentsScreenTemplates/when_following_the_nesting_chain.ts +83 -0
  291. package/for_componentsScreenTemplates/when_placing_them_in_the_default_blueprint_layout.ts +51 -0
  292. package/for_componentsScreenTemplates/when_resolving_the_component_names_they_reference.ts +72 -0
  293. package/for_deriveArcHeading/when_no_binding_is_named.ts +42 -0
  294. package/for_deriveArcHeading/when_the_binding_is_not_registered.ts +25 -0
  295. package/for_deriveArcHeading/when_the_binding_is_registered.ts +35 -0
  296. package/for_humanizeBindingName/when_reading_a_proxy_name.ts +34 -0
  297. package/gallery/ArcPages.stories.tsx +80 -0
  298. package/gallery/Bindings.stories.tsx +134 -0
  299. package/gallery/DialogTemplatePreview.tsx +49 -0
  300. package/gallery/DialogTemplates.stories.tsx +44 -0
  301. package/gallery/GalleryScreenPreview.tsx +70 -0
  302. package/gallery/applicationChrome.ts +108 -0
  303. package/gallery/index.ts +9 -0
  304. package/gallery/navigation.ts +63 -0
  305. package/gallery/previewProfile.ts +68 -0
  306. package/gallery/screens.ts +75 -0
  307. package/header/ArcHeading.ts +39 -0
  308. package/header/ArcPageHeader.tsx +44 -0
  309. package/header/deriveArcHeading.ts +47 -0
  310. package/header/humanizeBindingName.ts +36 -0
  311. package/header/index.ts +7 -0
  312. package/index.ts +12 -0
  313. package/package.json +71 -0
  314. package/packageName.ts +12 -0
  315. package/templates/ArcHeaderOptions.ts +27 -0
  316. package/templates/ColumnDefinition.ts +18 -0
  317. package/templates/SampleBindingName.ts +50 -0
  318. package/templates/TableOptions.ts +22 -0
  319. package/templates/commandTemplates.ts +59 -0
  320. package/templates/dataElements.ts +97 -0
  321. package/templates/dialogElements.ts +53 -0
  322. package/templates/dialogTemplates.ts +105 -0
  323. package/templates/editorElements.ts +69 -0
  324. package/templates/editorTemplates.ts +129 -0
  325. package/templates/elements.ts +81 -0
  326. package/templates/formElements.ts +61 -0
  327. package/templates/index.ts +20 -0
  328. package/templates/listTemplates.ts +142 -0
  329. package/templates/nesting.ts +118 -0
  330. package/templates/sampleData.ts +81 -0
  331. package/templates/screenTemplates.ts +35 -0
  332. package/templates/workspaceTemplates.ts +163 -0
@@ -0,0 +1,5 @@
1
+ import { ScenePackage } from '@cratis/scene.model';
2
+ import { ScenePackageBundle } from '@cratis/scene.react';
3
+ export declare const componentsBlueprintManifest: ScenePackage;
4
+ export declare const componentsBlueprint: ScenePackageBundle;
5
+ //# sourceMappingURL=componentsBlueprint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"componentsBlueprint.d.ts","sourceRoot":"","sources":["../../componentsBlueprint.ts"],"names":[],"mappings":"AAGA,OAAO,EAAe,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAkCzD,eAAO,MAAM,2BAA2B,EAAE,YAazC,CAAC;AAcF,eAAO,MAAM,mBAAmB,EAAE,kBAMjC,CAAC"}
@@ -0,0 +1,90 @@
1
+ import { PackageKind } from '@cratis/scene.model';
2
+ import { ComponentName } from './ComponentName.js';
3
+ import { componentsBlueprintComponents } from './componentsBlueprintComponents.js';
4
+ import './gallery/navigation.js';
5
+ import '@cratis/scene.blueprint.default';
6
+ import { componentsGalleryScreens } from './gallery/screens.js';
7
+ import './gallery/previewProfile.js';
8
+ import './gallery/GalleryScreenPreview.js';
9
+ import 'react/jsx-runtime';
10
+ import 'react';
11
+ import '@cratis/scene.react';
12
+ import './templates/listTemplates.js';
13
+ import './templates/workspaceTemplates.js';
14
+ import './templates/commandTemplates.js';
15
+ import './templates/editorTemplates.js';
16
+ import './templates/nesting.js';
17
+ import { componentsDialogTemplates } from './templates/dialogTemplates.js';
18
+ import { componentsScreenTemplates } from './templates/screenTemplates.js';
19
+ import { componentsBlueprintName } from './packageName.js';
20
+
21
+ // Copyright (c) Cratis. All rights reserved.
22
+ // Licensed under the MIT license. See LICENSE file in the project root for full license information.
23
+ /**
24
+ * This blueprint's declaration.
25
+ *
26
+ * Where the default blueprint answers "what does an application look like", this one answers "what does a
27
+ * *page* look like once it is bound to Arc". Its templates are whole pages already wired to the composites
28
+ * in `Cratis.Components`: a data list page is a `dataPage` with its query, columns, empty message, data key
29
+ * and filter fields all decided, under a header that says what it is bound to. An application picks the
30
+ * template and supplies a query name.
31
+ *
32
+ * `layouts` is empty, and that is the most important line in this file.
33
+ *
34
+ * A layout is an application's base navigational shell, and an application has exactly one. This package
35
+ * deliberately ships none: it depends on `Cratis.Blueprint.Default` and reuses that blueprint's `AppShell`,
36
+ * its slot vocabulary, its shell components and its themes. That is what the dependency on another
37
+ * blueprint *means* - and this is the first blueprint-on-blueprint dependency in Scene, so it is worth
38
+ * stating plainly rather than leaving to be inferred from an empty array.
39
+ *
40
+ * The alternative would have been to ship a second application shell. It would have looked like value and
41
+ * been the opposite: an application can activate only one shell, so the two blueprints would have become
42
+ * mutually exclusive, and picking Arc-bound pages would have meant giving up the eight layout modes, the
43
+ * themes and the navigation that the default blueprint already does well. Layering means both can be
44
+ * active at once, which is the only arrangement in which either is worth having.
45
+ *
46
+ * `themes` is empty for the same reason at a smaller scale: the shell being themed is the default
47
+ * blueprint's, so its themes are the right ones, and a theme shipped here would be this package asserting
48
+ * a look for a shell it does not own.
49
+ */ const componentsBlueprintManifest = {
50
+ name: componentsBlueprintName,
51
+ version: '1.0.0',
52
+ kind: PackageKind.Blueprint,
53
+ dependencies: [
54
+ {
55
+ name: 'Cratis.Blueprint.Default'
56
+ },
57
+ {
58
+ name: 'Cratis.Components'
59
+ }
60
+ ],
61
+ components: Object.values(ComponentName),
62
+ layouts: [],
63
+ screenTemplates: componentsScreenTemplates.map((template)=>template.name),
64
+ dialogTemplates: componentsDialogTemplates.map((template)=>template.name),
65
+ themes: [],
66
+ displayName: 'Cratis Components Blueprint',
67
+ description: 'Arc-bound screen and dialog templates: whole pages built from the Cratis Components composites, for the default blueprint shell.',
68
+ module: '@cratis/scene.blueprint.components'
69
+ };
70
+ /**
71
+ * This blueprint as a loadable bundle.
72
+ *
73
+ * The manifest names things; this provides them. `validatePackageBundle` is what proves the two agree, and
74
+ * this package's specs run it - a manifest promising a template the bundle never provided is a failure that
75
+ * only shows up when someone picks that template and gets nothing.
76
+ *
77
+ * The screens are the gallery: real `Screen` instances naming the default blueprint's `AppShell`, its
78
+ * chrome and one of these templates, so a preview boots them through the real engine as a working
79
+ * miniature application rather than a set of pictures. They render with unregistered bindings, which is the
80
+ * normal design-time state - the placeholders naming each wanted binding are exactly what should be there.
81
+ */ const componentsBlueprint = {
82
+ manifest: componentsBlueprintManifest,
83
+ components: componentsBlueprintComponents,
84
+ screenTemplates: componentsScreenTemplates,
85
+ dialogTemplates: componentsDialogTemplates,
86
+ screens: componentsGalleryScreens
87
+ };
88
+
89
+ export { componentsBlueprint, componentsBlueprintManifest };
90
+ //# sourceMappingURL=componentsBlueprint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"componentsBlueprint.js","sources":["../../componentsBlueprint.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { PackageKind, ScenePackage } from '@cratis/scene.model';\nimport { ScenePackageBundle } from '@cratis/scene.react';\nimport { ComponentName } from './ComponentName';\nimport { componentsBlueprintComponents } from './componentsBlueprintComponents';\nimport { componentsGalleryScreens } from './gallery';\nimport { componentsBlueprintName } from './packageName';\nimport { componentsDialogTemplates, componentsScreenTemplates } from './templates';\n\n/**\n * This blueprint's declaration.\n *\n * Where the default blueprint answers \"what does an application look like\", this one answers \"what does a\n * *page* look like once it is bound to Arc\". Its templates are whole pages already wired to the composites\n * in `Cratis.Components`: a data list page is a `dataPage` with its query, columns, empty message, data key\n * and filter fields all decided, under a header that says what it is bound to. An application picks the\n * template and supplies a query name.\n *\n * `layouts` is empty, and that is the most important line in this file.\n *\n * A layout is an application's base navigational shell, and an application has exactly one. This package\n * deliberately ships none: it depends on `Cratis.Blueprint.Default` and reuses that blueprint's `AppShell`,\n * its slot vocabulary, its shell components and its themes. That is what the dependency on another\n * blueprint *means* - and this is the first blueprint-on-blueprint dependency in Scene, so it is worth\n * stating plainly rather than leaving to be inferred from an empty array.\n *\n * The alternative would have been to ship a second application shell. It would have looked like value and\n * been the opposite: an application can activate only one shell, so the two blueprints would have become\n * mutually exclusive, and picking Arc-bound pages would have meant giving up the eight layout modes, the\n * themes and the navigation that the default blueprint already does well. Layering means both can be\n * active at once, which is the only arrangement in which either is worth having.\n *\n * `themes` is empty for the same reason at a smaller scale: the shell being themed is the default\n * blueprint's, so its themes are the right ones, and a theme shipped here would be this package asserting\n * a look for a shell it does not own.\n */\nexport const componentsBlueprintManifest: ScenePackage = {\n name: componentsBlueprintName,\n version: '1.0.0',\n kind: PackageKind.Blueprint,\n dependencies: [{ name: 'Cratis.Blueprint.Default' }, { name: 'Cratis.Components' }],\n components: Object.values(ComponentName),\n layouts: [],\n screenTemplates: componentsScreenTemplates.map(template => template.name),\n dialogTemplates: componentsDialogTemplates.map(template => template.name),\n themes: [],\n displayName: 'Cratis Components Blueprint',\n description: 'Arc-bound screen and dialog templates: whole pages built from the Cratis Components composites, for the default blueprint shell.',\n module: '@cratis/scene.blueprint.components',\n};\n\n/**\n * This blueprint as a loadable bundle.\n *\n * The manifest names things; this provides them. `validatePackageBundle` is what proves the two agree, and\n * this package's specs run it - a manifest promising a template the bundle never provided is a failure that\n * only shows up when someone picks that template and gets nothing.\n *\n * The screens are the gallery: real `Screen` instances naming the default blueprint's `AppShell`, its\n * chrome and one of these templates, so a preview boots them through the real engine as a working\n * miniature application rather than a set of pictures. They render with unregistered bindings, which is the\n * normal design-time state - the placeholders naming each wanted binding are exactly what should be there.\n */\nexport const componentsBlueprint: ScenePackageBundle = {\n manifest: componentsBlueprintManifest,\n components: componentsBlueprintComponents,\n screenTemplates: componentsScreenTemplates,\n dialogTemplates: componentsDialogTemplates,\n screens: componentsGalleryScreens,\n};\n"],"names":["componentsBlueprintManifest","name","componentsBlueprintName","version","kind","PackageKind","Blueprint","dependencies","components","Object","values","ComponentName","layouts","screenTemplates","componentsScreenTemplates","map","template","dialogTemplates","componentsDialogTemplates","themes","displayName","description","module","componentsBlueprint","manifest","componentsBlueprintComponents","screens","componentsGalleryScreens"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AACA;AAUA;;;;;;;;;;;;;;;;;;;;;;;;;;UA2BaA,2BAAAA,GAA4C;IACrDC,IAAAA,EAAMC,uBAAAA;IACNC,OAAAA,EAAS,OAAA;AACTC,IAAAA,IAAAA,EAAMC,YAAYC,SAAS;IAC3BC,YAAAA,EAAc;AAAC,QAAA;YAAEN,IAAAA,EAAM;AAA2B,SAAA;AAAG,QAAA;YAAEA,IAAAA,EAAM;AAAoB;AAAE,KAAA;IACnFO,UAAAA,EAAYC,MAAAA,CAAOC,MAAM,CAACC,aAAAA,CAAAA;AAC1BC,IAAAA,OAAAA,EAAS,EAAE;AACXC,IAAAA,eAAAA,EAAiBC,0BAA0BC,GAAG,CAACC,CAAAA,QAAAA,GAAYA,SAASf,IAAI,CAAA;AACxEgB,IAAAA,eAAAA,EAAiBC,0BAA0BH,GAAG,CAACC,CAAAA,QAAAA,GAAYA,SAASf,IAAI,CAAA;AACxEkB,IAAAA,MAAAA,EAAQ,EAAE;IACVC,WAAAA,EAAa,6BAAA;IACbC,WAAAA,EAAa,kIAAA;IACbC,MAAAA,EAAQ;AACZ;AAEA;;;;;;;;;;;UAYaC,mBAAAA,GAA0C;IACnDC,QAAAA,EAAUxB,2BAAAA;IACVQ,UAAAA,EAAYiB,6BAAAA;IACZZ,eAAAA,EAAiBC,yBAAAA;IACjBG,eAAAA,EAAiBC,yBAAAA;IACjBQ,OAAAA,EAASC;AACb;;;;"}
@@ -0,0 +1,3 @@
1
+ import { ComponentRegistry } from '@cratis/scene.react';
2
+ export declare const componentsBlueprintComponents: ComponentRegistry;
3
+ //# sourceMappingURL=componentsBlueprintComponents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"componentsBlueprintComponents.d.ts","sourceRoot":"","sources":["../../componentsBlueprintComponents.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAwB,MAAM,qBAAqB,CAAC;AAiB9E,eAAO,MAAM,6BAA6B,EAAE,iBAE3C,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { componentRegistryKey } from '@cratis/scene.react';
2
+ import { ComponentName } from './ComponentName.js';
3
+ import { componentsBlueprintName } from './packageName.js';
4
+ import '@cratis/scene.components';
5
+ import { ArcPageHeader } from './header/ArcPageHeader.js';
6
+
7
+ // Copyright (c) Cratis. All rights reserved.
8
+ // Licensed under the MIT license. See LICENSE file in the project root for full license information.
9
+ /**
10
+ * The components this package registers, keyed the way the renderer looks them up.
11
+ *
12
+ * Every key is built with `componentRegistryKey` rather than written out, because the separator between
13
+ * package and component name is the registry's own business - it is deliberately not the `.` a screen uses
14
+ * to qualify a name, so that a package name containing dots stays unambiguous. Building a key by hand is
15
+ * how a component ends up registered under something no lookup will ever produce.
16
+ *
17
+ * One entry, and a short registry is the healthy outcome here rather than a gap. What this blueprint
18
+ * contributes is templates; a component only appears when a template genuinely could not express the
19
+ * composition, and `validatePackageBundle` proves that whatever *is* here is also declared in the manifest.
20
+ */ const componentsBlueprintComponents = {
21
+ [componentRegistryKey(componentsBlueprintName, ComponentName.ArcPageHeader)]: ArcPageHeader
22
+ };
23
+
24
+ export { componentsBlueprintComponents };
25
+ //# sourceMappingURL=componentsBlueprintComponents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"componentsBlueprintComponents.js","sources":["../../componentsBlueprintComponents.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { ComponentRegistry, componentRegistryKey } from '@cratis/scene.react';\nimport { ComponentName } from './ComponentName';\nimport { componentsBlueprintName } from './packageName';\nimport { ArcPageHeader } from './header';\n\n/**\n * The components this package registers, keyed the way the renderer looks them up.\n *\n * Every key is built with `componentRegistryKey` rather than written out, because the separator between\n * package and component name is the registry's own business - it is deliberately not the `.` a screen uses\n * to qualify a name, so that a package name containing dots stays unambiguous. Building a key by hand is\n * how a component ends up registered under something no lookup will ever produce.\n *\n * One entry, and a short registry is the healthy outcome here rather than a gap. What this blueprint\n * contributes is templates; a component only appears when a template genuinely could not express the\n * composition, and `validatePackageBundle` proves that whatever *is* here is also declared in the manifest.\n */\nexport const componentsBlueprintComponents: ComponentRegistry = {\n [componentRegistryKey(componentsBlueprintName, ComponentName.ArcPageHeader)]: ArcPageHeader,\n};\n"],"names":["componentsBlueprintComponents","componentRegistryKey","componentsBlueprintName","ComponentName","ArcPageHeader"],"mappings":";;;;;;AAAA;AACA;AAOA;;;;;;;;;;;UAYaA,6BAAAA,GAAmD;AAC5D,IAAA,CAACC,oBAAAA,CAAqBC,uBAAAA,EAAyBC,aAAAA,CAAcC,aAAa,IAAIA;AAClF;;;;"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=when_rendering_a_gallery_screen.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"when_rendering_a_gallery_screen.d.ts","sourceRoot":"","sources":["../../../for_ArcPageHeader/when_rendering_a_gallery_screen.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,57 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { render, screen } from '@testing-library/react';
3
+ import { SceneElementView } from '@cratis/scene.react';
4
+ import { clearBindings, registerQuery } from '@cratis/scene.components';
5
+ import { composeScreenElement, resolveElementComponentNames } from '@cratis/scene.blueprint.default';
6
+ import { componentsBlueprintCatalog, componentsBlueprintProfile, componentsGalleryScreen, componentsPreviewRegistry } from '../gallery';
7
+ import { SampleBindingName, arcPageHeader } from '../templates';
8
+ class AllInvoices {
9
+ }
10
+ function renderElement(element) {
11
+ render(_jsx(SceneElementView, { element: resolveElementComponentNames(element, componentsBlueprintProfile, componentsBlueprintCatalog), registry: componentsPreviewRegistry, resolveBinding: () => undefined }));
12
+ }
13
+ function has(selector) {
14
+ return document.querySelector(selector) !== null;
15
+ }
16
+ describe('when rendering a gallery screen', () => {
17
+ describe('and nothing is registered', () => {
18
+ beforeEach(() => {
19
+ clearBindings();
20
+ renderElement(composeScreenElement(componentsGalleryScreen('DataListPage')));
21
+ });
22
+ afterEach(() => clearBindings());
23
+ it('should render inside the shell the blueprint it depends on provides', () => {
24
+ has('.layout-topbar').should.equal(true);
25
+ });
26
+ it('should render the page header this blueprint contributes', () => {
27
+ has('.layout-page-header').should.equal(true);
28
+ });
29
+ it('should render the trail derived from the section and the title', () => {
30
+ screen.getAllByLabelText('Breadcrumb').some(element => element.textContent === 'Billing › Invoices').should.equal(true);
31
+ });
32
+ it('should say which query a host still has to register', () => {
33
+ screen.getAllByText('No query registered as AllInvoices').length.should.be.greaterThan(0);
34
+ });
35
+ it('should render the unbound data page as a placeholder naming the binding it wanted', () => {
36
+ screen.getAllByText("Unresolved query binding 'AllInvoices' on Cratis.Components:dataPage").length.should.be.greaterThan(0);
37
+ });
38
+ it('should render no unresolved-component fallback, because every name the page writes resolves', () => {
39
+ has('[data-scene-unresolved-component]').should.equal(false);
40
+ });
41
+ });
42
+ describe('and the header binding is registered', () => {
43
+ beforeEach(() => {
44
+ clearBindings();
45
+ registerQuery(SampleBindingName.AllInvoices, AllInvoices);
46
+ renderElement(arcPageHeader('bound-header', { title: 'Invoices', section: 'Billing', query: SampleBindingName.AllInvoices }));
47
+ });
48
+ afterEach(() => clearBindings());
49
+ it('should report the binding as resolved rather than missing', () => {
50
+ screen.getAllByText('Bound to query AllInvoices').length.should.be.greaterThan(0);
51
+ });
52
+ it('should mark the header as bound, so a preview can be scanned for what is still unwired', () => {
53
+ has('[data-scene-binding-state="bound"]').should.equal(true);
54
+ });
55
+ });
56
+ });
57
+ //# sourceMappingURL=when_rendering_a_gallery_screen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"when_rendering_a_gallery_screen.js","sourceRoot":"","sources":["../../../for_ArcPageHeader/when_rendering_a_gallery_screen.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=when_checking_the_names_against_the_packages_that_declare_them.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"when_checking_the_names_against_the_packages_that_declare_them.d.ts","sourceRoot":"","sources":["../../../for_CompositeName/when_checking_the_names_against_the_packages_that_declare_them.ts"],"names":[],"mappings":""}
@@ -0,0 +1,26 @@
1
+ import { cratisComponentsPackageManifest } from '@cratis/scene.components';
2
+ import { BorrowedComponentName } from '../BorrowedComponentName';
3
+ import { CompositeName } from '../CompositeName';
4
+ import { primeReactComponentNames } from '../gallery';
5
+ describe('when checking the names against the packages that declare them', () => {
6
+ const declaredByTheLibrary = new Set(cratisComponentsPackageManifest.components);
7
+ it('should have composite names to check', () => {
8
+ Object.values(CompositeName).should.not.be.empty;
9
+ });
10
+ it('should reference only composites the component library declares', () => {
11
+ Object.values(CompositeName)
12
+ .filter(name => !declaredByTheLibrary.has(name))
13
+ .should.be.empty;
14
+ });
15
+ it('should borrow only names PrimeReact declares', () => {
16
+ Object.values(BorrowedComponentName)
17
+ .filter(name => !primeReactComponentNames.includes(name))
18
+ .should.be.empty;
19
+ });
20
+ it('should borrow nothing the component library already declares, since the library would win the bare name anyway', () => {
21
+ Object.values(BorrowedComponentName)
22
+ .filter(name => declaredByTheLibrary.has(name))
23
+ .should.be.empty;
24
+ });
25
+ });
26
+ //# sourceMappingURL=when_checking_the_names_against_the_packages_that_declare_them.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"when_checking_the_names_against_the_packages_that_declare_them.js","sourceRoot":"","sources":["../../../for_CompositeName/when_checking_the_names_against_the_packages_that_declare_them.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,+BAA+B,EAAE,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAUtD,QAAQ,CAAC,gEAAgE,EAAE,GAAG,EAAE;IAC5E,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC,+BAA+B,CAAC,UAAU,CAAC,CAAC;IAEjF,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC5C,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iEAAiE,EAAE,GAAG,EAAE;QACvE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC;aACvB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;aAC/C,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACpD,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC;aAC/B,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,wBAAwB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;aACxD,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gHAAgH,EAAE,GAAG,EAAE;QACtH,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC;aAC/B,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;aAC9C,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC;IACzB,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=when_resolving_its_dependencies.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"when_resolving_its_dependencies.d.ts","sourceRoot":"","sources":["../../../for_componentsBlueprint/when_resolving_its_dependencies.ts"],"names":[],"mappings":""}
@@ -0,0 +1,65 @@
1
+ import { PackageKind } from '@cratis/scene.model';
2
+ import { isPackageSelectionValid, resolvePackageDependencies } from '@cratis/scene.engine';
3
+ import { cratisComponentsPackageManifest } from '@cratis/scene.components';
4
+ import { defaultBlueprintManifest } from '@cratis/scene.blueprint.default';
5
+ import { componentsBlueprintManifest } from '../componentsBlueprint';
6
+ import { componentsBlueprintName } from '../packageName';
7
+ const tailwind = {
8
+ name: 'Tailwind',
9
+ version: '4.3.3',
10
+ kind: PackageKind.Styling,
11
+ dependencies: [],
12
+ components: [],
13
+ layouts: [],
14
+ screenTemplates: [],
15
+ dialogTemplates: [],
16
+ themes: [],
17
+ };
18
+ const primeReact = {
19
+ name: 'PrimeReact',
20
+ version: '10.9.8',
21
+ kind: PackageKind.ComponentLibrary,
22
+ dependencies: [{ name: 'Tailwind' }],
23
+ components: ['column', 'table', 'dialog'],
24
+ layouts: [],
25
+ screenTemplates: [],
26
+ dialogTemplates: [],
27
+ themes: [],
28
+ };
29
+ describe('when resolving its dependencies', () => {
30
+ const catalog = [tailwind, primeReact, cratisComponentsPackageManifest, defaultBlueprintManifest, componentsBlueprintManifest];
31
+ const selection = resolvePackageDependencies([componentsBlueprintName], catalog);
32
+ const positionOf = (name) => selection.packages.indexOf(name);
33
+ it('should be a valid selection', () => {
34
+ isPackageSelectionValid(selection).should.be.true;
35
+ });
36
+ it('should order the blueprint it layers on before it', () => {
37
+ positionOf('Cratis.Blueprint.Default').should.be.lessThan(positionOf(componentsBlueprintName));
38
+ });
39
+ it('should order the component library its templates are built from before it', () => {
40
+ positionOf('Cratis.Components').should.be.lessThan(positionOf(componentsBlueprintName));
41
+ });
42
+ it('should pull in the packages its own dependencies need, transitively', () => {
43
+ selection.added.should.contain('PrimeReact');
44
+ selection.added.should.contain('Tailwind');
45
+ });
46
+ it('should report nothing missing', () => {
47
+ selection.missing.should.deep.equal([]);
48
+ });
49
+ it('should report no version conflict', () => {
50
+ selection.versionConflicts.should.deep.equal([]);
51
+ });
52
+ it('should report no cycle, even though both blueprints depend on the same library', () => {
53
+ selection.cycles.should.deep.equal([]);
54
+ });
55
+ describe('and the default blueprint is not in the catalog', () => {
56
+ const withoutTheDefaultBlueprint = resolvePackageDependencies([componentsBlueprintName], [tailwind, primeReact, cratisComponentsPackageManifest, componentsBlueprintManifest]);
57
+ it('should report it missing rather than silently ordering around it', () => {
58
+ withoutTheDefaultBlueprint.missing.should.deep.equal([{ package: componentsBlueprintName, dependsOn: 'Cratis.Blueprint.Default' }]);
59
+ });
60
+ it('should not be a valid selection', () => {
61
+ isPackageSelectionValid(withoutTheDefaultBlueprint).should.be.false;
62
+ });
63
+ });
64
+ });
65
+ //# sourceMappingURL=when_resolving_its_dependencies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"when_resolving_its_dependencies.js","sourceRoot":"","sources":["../../../for_componentsBlueprint/when_resolving_its_dependencies.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAgB,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAC3F,OAAO,EAAE,+BAA+B,EAAE,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAGzD,MAAM,QAAQ,GAAiB;IAC3B,IAAI,EAAE,UAAU;IAChB,OAAO,EAAE,OAAO;IAChB,IAAI,EAAE,WAAW,CAAC,OAAO;IACzB,YAAY,EAAE,EAAE;IAChB,UAAU,EAAE,EAAE;IACd,OAAO,EAAE,EAAE;IACX,eAAe,EAAE,EAAE;IACnB,eAAe,EAAE,EAAE;IACnB,MAAM,EAAE,EAAE;CACb,CAAC;AAGF,MAAM,UAAU,GAAiB;IAC7B,IAAI,EAAE,YAAY;IAClB,OAAO,EAAE,QAAQ;IACjB,IAAI,EAAE,WAAW,CAAC,gBAAgB;IAClC,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IACpC,UAAU,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC;IACzC,OAAO,EAAE,EAAE;IACX,eAAe,EAAE,EAAE;IACnB,eAAe,EAAE,EAAE;IACnB,MAAM,EAAE,EAAE;CACb,CAAC;AAEF,QAAQ,CAAC,iCAAiC,EAAE,GAAG,EAAE;IAC7C,MAAM,OAAO,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAE,+BAA+B,EAAE,wBAAwB,EAAE,2BAA2B,CAAC,CAAC;IAC/H,MAAM,SAAS,GAAG,0BAA0B,CAAC,CAAC,uBAAuB,CAAC,EAAE,OAAO,CAAC,CAAC;IACjF,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtE,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACnC,uBAAuB,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;QACzD,UAAU,CAAC,0BAA0B,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC,CAAC;IACnG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2EAA2E,EAAE,GAAG,EAAE;QACjF,UAAU,CAAC,mBAAmB,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC,CAAC;IAC5F,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qEAAqE,EAAE,GAAG,EAAE;QAC3E,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAC7C,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACrC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QACzC,SAAS,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gFAAgF,EAAE,GAAG,EAAE;QACtF,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,iDAAiD,EAAE,GAAG,EAAE;QAC7D,MAAM,0BAA0B,GAAG,0BAA0B,CACzD,CAAC,uBAAuB,CAAC,EACzB,CAAC,QAAQ,EAAE,UAAU,EAAE,+BAA+B,EAAE,2BAA2B,CAAC,CACvF,CAAC;QAEF,EAAE,CAAC,kEAAkE,EAAE,GAAG,EAAE;YACxE,0BAA0B,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,EAAE,uBAAuB,EAAE,SAAS,EAAE,0BAA0B,EAAE,CAAC,CAAC,CAAC;QACxI,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;YACvC,uBAAuB,CAAC,0BAA0B,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC;QACxE,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=when_validating_the_bundle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"when_validating_the_bundle.d.ts","sourceRoot":"","sources":["../../../for_componentsBlueprint/when_validating_the_bundle.ts"],"names":[],"mappings":""}
@@ -0,0 +1,41 @@
1
+ import { PackageKind } from '@cratis/scene.model';
2
+ import { validatePackageBundle } from '@cratis/scene.react';
3
+ import { componentsBlueprint, componentsBlueprintManifest } from '../componentsBlueprint';
4
+ import { componentsBlueprintName } from '../packageName';
5
+ describe('when validating the bundle', () => {
6
+ const problems = validatePackageBundle(componentsBlueprint);
7
+ it('should report no problems', () => {
8
+ problems.should.be.empty;
9
+ });
10
+ it('should declare itself a blueprint', () => {
11
+ componentsBlueprintManifest.kind.should.equal(PackageKind.Blueprint);
12
+ });
13
+ it('should be named as a blueprint package', () => {
14
+ componentsBlueprintManifest.name.should.equal(componentsBlueprintName);
15
+ });
16
+ it('should depend on the blueprint it layers on and the library its templates are built from', () => {
17
+ componentsBlueprintManifest.dependencies.map(dependency => dependency.name).should.deep.equal(['Cratis.Blueprint.Default', 'Cratis.Components']);
18
+ });
19
+ it('should ship no layout of its own, because it reuses the default blueprint shell', () => {
20
+ componentsBlueprintManifest.layouts.should.be.empty;
21
+ });
22
+ it('should provide no layout either, so the manifest and the bundle agree about that', () => {
23
+ (componentsBlueprint.layouts ?? []).should.be.empty;
24
+ });
25
+ it('should ship no theme, because the shell it themes is not its own', () => {
26
+ componentsBlueprintManifest.themes.should.be.empty;
27
+ });
28
+ it('should declare a screen template for every one it provides', () => {
29
+ componentsBlueprintManifest.screenTemplates.should.deep.equal((componentsBlueprint.screenTemplates ?? []).map(template => template.name));
30
+ });
31
+ it('should declare a dialog template for every one it provides', () => {
32
+ componentsBlueprintManifest.dialogTemplates.should.deep.equal((componentsBlueprint.dialogTemplates ?? []).map(template => template.name));
33
+ });
34
+ it('should ship a gallery screen for every screen template', () => {
35
+ (componentsBlueprint.screens ?? []).map(screen => screen.name).should.deep.equal(componentsBlueprintManifest.screenTemplates);
36
+ });
37
+ it('should name the module a host imports it from', () => {
38
+ componentsBlueprintManifest.module.should.equal('@cratis/scene.blueprint.components');
39
+ });
40
+ });
41
+ //# sourceMappingURL=when_validating_the_bundle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"when_validating_the_bundle.js","sourceRoot":"","sources":["../../../for_componentsBlueprint/when_validating_the_bundle.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAC1F,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAEzD,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;IACxC,MAAM,QAAQ,GAAG,qBAAqB,CAAC,mBAAmB,CAAC,CAAC;IAE5D,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACjC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QACzC,2BAA2B,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAC9C,2BAA2B,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0FAA0F,EAAE,GAAG,EAAE;QAChG,2BAA2B,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,0BAA0B,EAAE,mBAAmB,CAAC,CAAC,CAAC;IACrJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iFAAiF,EAAE,GAAG,EAAE;QACvF,2BAA2B,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kFAAkF,EAAE,GAAG,EAAE;QACxF,CAAC,mBAAmB,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kEAAkE,EAAE,GAAG,EAAE;QACxE,2BAA2B,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;QAClE,2BAA2B,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,mBAAmB,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9I,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;QAClE,2BAA2B,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,mBAAmB,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9I,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;QAC9D,CAAC,mBAAmB,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,eAAe,CAAC,CAAC;IAClI,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACrD,2BAA2B,CAAC,MAAO,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;IAC3F,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=when_checking_the_layouts_and_slots_they_fill.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"when_checking_the_layouts_and_slots_they_fill.d.ts","sourceRoot":"","sources":["../../../for_componentsGalleryScreens/when_checking_the_layouts_and_slots_they_fill.ts"],"names":[],"mappings":""}
@@ -0,0 +1,38 @@
1
+ import { defaultBlueprint, shellComponentForLayout } from '@cratis/scene.blueprint.default';
2
+ import { componentsBlueprint } from '../componentsBlueprint';
3
+ import { componentsGalleryScreens } from '../gallery';
4
+ describe('when checking the layouts and slots they fill', () => {
5
+ const layouts = defaultBlueprint.layouts ?? [];
6
+ const layoutsByName = new Map(layouts.map(layout => [layout.name, layout]));
7
+ const templateNames = (componentsBlueprint.screenTemplates ?? []).map(template => template.name);
8
+ it('should have at least one screen to check', () => {
9
+ componentsGalleryScreens.should.not.be.empty;
10
+ });
11
+ for (const screen of componentsGalleryScreens) {
12
+ describe(`and the screen is '${screen.name}'`, () => {
13
+ const layout = layoutsByName.get(screen.layout);
14
+ it('should name a layout the blueprint it depends on provides', () => {
15
+ (layout !== undefined).should.be.true;
16
+ });
17
+ it('should fill only slots that layout declares', () => {
18
+ const declared = new Set((layout?.slots ?? []).map(slot => slot.name));
19
+ Object.keys(screen.slotContent)
20
+ .filter(name => !declared.has(name))
21
+ .should.be.empty;
22
+ });
23
+ it('should fill the content slot, which is the only one every layout declares', () => {
24
+ (screen.slotContent.content?.length ?? 0).should.be.greaterThan(0);
25
+ });
26
+ it('should name a screen template this blueprint provides', () => {
27
+ templateNames.should.contain(screen.screenTemplate);
28
+ });
29
+ it('should render in a shell the blueprint it depends on provides', () => {
30
+ (shellComponentForLayout(screen.layout) !== undefined).should.be.true;
31
+ });
32
+ it('should contribute its navigation, so the menu is the same on every screen', () => {
33
+ screen.contributions.should.not.be.empty;
34
+ });
35
+ });
36
+ }
37
+ });
38
+ //# sourceMappingURL=when_checking_the_layouts_and_slots_they_fill.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"when_checking_the_layouts_and_slots_they_fill.js","sourceRoot":"","sources":["../../../for_componentsGalleryScreens/when_checking_the_layouts_and_slots_they_fill.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC5F,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAQtD,QAAQ,CAAC,+CAA+C,EAAE,GAAG,EAAE;IAC3D,MAAM,OAAO,GAAG,gBAAgB,CAAC,OAAO,IAAI,EAAE,CAAC;IAC/C,MAAM,aAAa,GAAG,IAAI,GAAG,CAAiB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAC5F,MAAM,aAAa,GAAG,CAAC,mBAAmB,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAEjG,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAChD,wBAAwB,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,KAAK,MAAM,MAAM,IAAI,wBAAwB,EAAE,CAAC;QAC5C,QAAQ,CAAC,sBAAsB,MAAM,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE;YAChD,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAEhD,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;gBACjE,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC;YAC1C,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;gBACnD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBACvE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;qBAC1B,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;qBACnC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC;YACzB,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,2EAA2E,EAAE,GAAG,EAAE;gBACjF,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YACvE,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;gBAC7D,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;YACxD,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;gBACrE,CAAC,uBAAuB,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC;YAC1E,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,2EAA2E,EAAE,GAAG,EAAE;gBACjF,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC;YAC7C,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=when_checking_that_arrangements_reference_declared_slots.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"when_checking_that_arrangements_reference_declared_slots.d.ts","sourceRoot":"","sources":["../../../for_componentsScreenTemplates/when_checking_that_arrangements_reference_declared_slots.ts"],"names":[],"mappings":""}
@@ -0,0 +1,47 @@
1
+ import { componentsDialogTemplates, componentsScreenTemplates } from '../templates';
2
+ function slotNamesIn(node) {
3
+ if ('slotName' in node) {
4
+ return [node.slotName];
5
+ }
6
+ if ('children' in node) {
7
+ return node.children.flatMap(slotNamesIn);
8
+ }
9
+ return [];
10
+ }
11
+ function referencedSlots(arrangement) {
12
+ const flow = arrangement;
13
+ if (!flow?.root) {
14
+ return [];
15
+ }
16
+ return [flow.root, ...(flow.overrides ?? []).map(override => override.root)].flatMap(slotNamesIn);
17
+ }
18
+ function undeclared(slots, arrangement) {
19
+ const declared = new Set(slots.map(slot => slot.name));
20
+ return [...new Set(referencedSlots(arrangement))].filter(name => !declared.has(name));
21
+ }
22
+ describe('when checking that arrangements reference declared slots', () => {
23
+ for (const template of componentsScreenTemplates.filter(candidate => candidate.arrangement !== undefined)) {
24
+ it(`should reference only slots the '${template.name}' template declares`, () => {
25
+ undeclared(template.slots, template.arrangement).should.be.empty;
26
+ });
27
+ }
28
+ for (const template of componentsScreenTemplates) {
29
+ it(`should file '${template.name}' content only under slots it declares`, () => {
30
+ const declared = new Set(template.slots.map(slot => slot.name));
31
+ Object.keys(template.content ?? {}).filter(name => !declared.has(name)).should.be.empty;
32
+ });
33
+ }
34
+ for (const template of componentsDialogTemplates) {
35
+ it(`should file '${template.name}' dialog content only under slots it declares`, () => {
36
+ const declared = new Set(template.slots.map(slot => slot.name));
37
+ Object.keys(template.content ?? {}).filter(name => !declared.has(name)).should.be.empty;
38
+ });
39
+ }
40
+ it('should give every dialog template exactly one slot, since the composites own their own chrome', () => {
41
+ componentsDialogTemplates.filter(template => template.slots.length !== 1).should.be.empty;
42
+ });
43
+ it('should give no dialog template a fitsSlot, because an overlay occupies no slot', () => {
44
+ componentsDialogTemplates.filter(template => 'fitsSlot' in template).should.be.empty;
45
+ });
46
+ });
47
+ //# sourceMappingURL=when_checking_that_arrangements_reference_declared_slots.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"when_checking_that_arrangements_reference_declared_slots.js","sourceRoot":"","sources":["../../../for_componentsScreenTemplates/when_checking_that_arrangements_reference_declared_slots.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=when_following_the_nesting_chain.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"when_following_the_nesting_chain.d.ts","sourceRoot":"","sources":["../../../for_componentsScreenTemplates/when_following_the_nesting_chain.ts"],"names":[],"mappings":""}
@@ -0,0 +1,56 @@
1
+ import { isScreenTemplateResolutionValid, resolveScreenTemplates } from '@cratis/scene.engine';
2
+ import { appShellLayout } from '@cratis/scene.blueprint.default';
3
+ import { nestingChainTemplates } from '../templates';
4
+ describe('when following the nesting chain', () => {
5
+ const resolution = resolveScreenTemplates(appShellLayout, nestingChainTemplates);
6
+ const placementOf = (name) => resolution.placements.find(placement => placement.template === name);
7
+ it('should be a valid resolution', () => {
8
+ isScreenTemplateResolutionValid(resolution).should.be.true;
9
+ });
10
+ it('should place all three levels', () => {
11
+ resolution.placements.should.have.lengthOf(3);
12
+ });
13
+ it('should leave nothing unplaced', () => {
14
+ resolution.unplaced.should.be.empty;
15
+ });
16
+ describe('and it is the module level', () => {
17
+ const placement = placementOf('DataModulePage');
18
+ it('should sit directly inside the application layout', () => {
19
+ placement.container.should.equal(appShellLayout.name);
20
+ });
21
+ it('should fill the content slot', () => {
22
+ placement.slot.should.equal('content');
23
+ });
24
+ it('should be one level below the layout', () => {
25
+ placement.depth.should.equal(1);
26
+ });
27
+ });
28
+ describe('and it is the feature level', () => {
29
+ const placement = placementOf('DataFeatureSection');
30
+ it('should sit inside the module template', () => {
31
+ placement.container.should.equal('DataModulePage');
32
+ });
33
+ it('should fill a slot the module template declares', () => {
34
+ placement.slot.should.equal('body');
35
+ });
36
+ it('should be two levels below the layout', () => {
37
+ placement.depth.should.equal(2);
38
+ });
39
+ });
40
+ describe('and it is the slice level', () => {
41
+ const placement = placementOf('CommandSliceSection');
42
+ it('should sit inside the feature template', () => {
43
+ placement.container.should.equal('DataFeatureSection');
44
+ });
45
+ it('should fill a slot the feature template declares', () => {
46
+ placement.slot.should.equal('primary');
47
+ });
48
+ it('should be three levels below the layout', () => {
49
+ placement.depth.should.equal(3);
50
+ });
51
+ });
52
+ it('should order the placements shallowest first, so a caller can build the tree top down', () => {
53
+ resolution.placements.map(placement => placement.depth).should.deep.equal([1, 2, 3]);
54
+ });
55
+ });
56
+ //# sourceMappingURL=when_following_the_nesting_chain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"when_following_the_nesting_chain.js","sourceRoot":"","sources":["../../../for_componentsScreenTemplates/when_following_the_nesting_chain.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=when_placing_them_in_the_default_blueprint_layout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"when_placing_them_in_the_default_blueprint_layout.d.ts","sourceRoot":"","sources":["../../../for_componentsScreenTemplates/when_placing_them_in_the_default_blueprint_layout.ts"],"names":[],"mappings":""}