@cratis/scene.blueprint.default 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 (558) hide show
  1. package/.storybook/main.ts +32 -0
  2. package/.storybook/preview.ts +20 -0
  3. package/ComponentName.ts +60 -0
  4. package/README.md +204 -0
  5. package/configuration/ColorScheme.ts +17 -0
  6. package/configuration/LayoutConfigProvider.tsx +182 -0
  7. package/configuration/LayoutConfigState.ts +46 -0
  8. package/configuration/LayoutMode.ts +50 -0
  9. package/configuration/MenuTheme.ts +24 -0
  10. package/configuration/index.ts +11 -0
  11. package/configuration/layoutConfigStorage.ts +102 -0
  12. package/configuration/layoutConfigTransitions.ts +150 -0
  13. package/configuration/layoutWrapperClasses.ts +68 -0
  14. package/defaultBlueprint.ts +66 -0
  15. package/defaultBlueprintComponents.ts +51 -0
  16. package/dist/cjs/ComponentName.js +33 -0
  17. package/dist/cjs/ComponentName.js.map +1 -0
  18. package/dist/cjs/configuration/ColorScheme.js +23 -0
  19. package/dist/cjs/configuration/ColorScheme.js.map +1 -0
  20. package/dist/cjs/configuration/LayoutConfigProvider.js +96 -0
  21. package/dist/cjs/configuration/LayoutConfigProvider.js.map +1 -0
  22. package/dist/cjs/configuration/LayoutMode.js +38 -0
  23. package/dist/cjs/configuration/LayoutMode.js.map +1 -0
  24. package/dist/cjs/configuration/MenuTheme.js +26 -0
  25. package/dist/cjs/configuration/MenuTheme.js.map +1 -0
  26. package/dist/cjs/configuration/layoutConfigStorage.js +85 -0
  27. package/dist/cjs/configuration/layoutConfigStorage.js.map +1 -0
  28. package/dist/cjs/configuration/layoutConfigTransitions.js +158 -0
  29. package/dist/cjs/configuration/layoutConfigTransitions.js.map +1 -0
  30. package/dist/cjs/configuration/layoutWrapperClasses.js +62 -0
  31. package/dist/cjs/configuration/layoutWrapperClasses.js.map +1 -0
  32. package/dist/cjs/defaultBlueprint.js +92 -0
  33. package/dist/cjs/defaultBlueprint.js.map +1 -0
  34. package/dist/cjs/defaultBlueprintComponents.js +54 -0
  35. package/dist/cjs/defaultBlueprintComponents.js.map +1 -0
  36. package/dist/cjs/gallery/GalleryScreenPreview.js +63 -0
  37. package/dist/cjs/gallery/GalleryScreenPreview.js.map +1 -0
  38. package/dist/cjs/gallery/TemplateSlotName.js +25 -0
  39. package/dist/cjs/gallery/TemplateSlotName.js.map +1 -0
  40. package/dist/cjs/gallery/applicationChrome.js +134 -0
  41. package/dist/cjs/gallery/applicationChrome.js.map +1 -0
  42. package/dist/cjs/gallery/authTemplates.js +234 -0
  43. package/dist/cjs/gallery/authTemplates.js.map +1 -0
  44. package/dist/cjs/gallery/componentNames.js +53 -0
  45. package/dist/cjs/gallery/componentNames.js.map +1 -0
  46. package/dist/cjs/gallery/composeScreen.js +99 -0
  47. package/dist/cjs/gallery/composeScreen.js.map +1 -0
  48. package/dist/cjs/gallery/dependencyComponentNames.js +72 -0
  49. package/dist/cjs/gallery/dependencyComponentNames.js.map +1 -0
  50. package/dist/cjs/gallery/dialogTemplates.js +161 -0
  51. package/dist/cjs/gallery/dialogTemplates.js.map +1 -0
  52. package/dist/cjs/gallery/elements.js +80 -0
  53. package/dist/cjs/gallery/elements.js.map +1 -0
  54. package/dist/cjs/gallery/navigation.js +129 -0
  55. package/dist/cjs/gallery/navigation.js.map +1 -0
  56. package/dist/cjs/gallery/nesting.js +129 -0
  57. package/dist/cjs/gallery/nesting.js.map +1 -0
  58. package/dist/cjs/gallery/previewProfile.js +68 -0
  59. package/dist/cjs/gallery/previewProfile.js.map +1 -0
  60. package/dist/cjs/gallery/resolveElementNames.js +63 -0
  61. package/dist/cjs/gallery/resolveElementNames.js.map +1 -0
  62. package/dist/cjs/gallery/screens.js +222 -0
  63. package/dist/cjs/gallery/screens.js.map +1 -0
  64. package/dist/cjs/gallery/statusTemplates.js +190 -0
  65. package/dist/cjs/gallery/statusTemplates.js.map +1 -0
  66. package/dist/cjs/gallery/supportTemplates.js +319 -0
  67. package/dist/cjs/gallery/supportTemplates.js.map +1 -0
  68. package/dist/cjs/gallery/widgets.js +94 -0
  69. package/dist/cjs/gallery/widgets.js.map +1 -0
  70. package/dist/cjs/gallery/workspaceTemplates.js +395 -0
  71. package/dist/cjs/gallery/workspaceTemplates.js.map +1 -0
  72. package/dist/cjs/index.js +220 -0
  73. package/dist/cjs/index.js.map +1 -0
  74. package/dist/cjs/layouts/LayoutName.js +19 -0
  75. package/dist/cjs/layouts/LayoutName.js.map +1 -0
  76. package/dist/cjs/layouts/SlotName.js +31 -0
  77. package/dist/cjs/layouts/SlotName.js.map +1 -0
  78. package/dist/cjs/layouts/appShell.js +160 -0
  79. package/dist/cjs/layouts/appShell.js.map +1 -0
  80. package/dist/cjs/layouts/defaultLayouts.js +20 -0
  81. package/dist/cjs/layouts/defaultLayouts.js.map +1 -0
  82. package/dist/cjs/layouts/flowBuilders.js +66 -0
  83. package/dist/cjs/layouts/flowBuilders.js.map +1 -0
  84. package/dist/cjs/layouts/fullPage.js +78 -0
  85. package/dist/cjs/layouts/fullPage.js.map +1 -0
  86. package/dist/cjs/layouts/shellComponents.js +29 -0
  87. package/dist/cjs/layouts/shellComponents.js.map +1 -0
  88. package/dist/cjs/package.json +3 -0
  89. package/dist/cjs/packageName.js +15 -0
  90. package/dist/cjs/packageName.js.map +1 -0
  91. package/dist/cjs/shell/AppShell.js +88 -0
  92. package/dist/cjs/shell/AppShell.js.map +1 -0
  93. package/dist/cjs/shell/Breadcrumb.js +33 -0
  94. package/dist/cjs/shell/Breadcrumb.js.map +1 -0
  95. package/dist/cjs/shell/ConfigPanel.js +128 -0
  96. package/dist/cjs/shell/ConfigPanel.js.map +1 -0
  97. package/dist/cjs/shell/Footer.js +28 -0
  98. package/dist/cjs/shell/Footer.js.map +1 -0
  99. package/dist/cjs/shell/FullPageShell.js +53 -0
  100. package/dist/cjs/shell/FullPageShell.js.map +1 -0
  101. package/dist/cjs/shell/LayoutModeSwitcher.js +58 -0
  102. package/dist/cjs/shell/LayoutModeSwitcher.js.map +1 -0
  103. package/dist/cjs/shell/Logo.js +44 -0
  104. package/dist/cjs/shell/Logo.js.map +1 -0
  105. package/dist/cjs/shell/Mask.js +34 -0
  106. package/dist/cjs/shell/Mask.js.map +1 -0
  107. package/dist/cjs/shell/Menu.js +36 -0
  108. package/dist/cjs/shell/Menu.js.map +1 -0
  109. package/dist/cjs/shell/MenuItem.js +65 -0
  110. package/dist/cjs/shell/MenuItem.js.map +1 -0
  111. package/dist/cjs/shell/PageHeader.js +43 -0
  112. package/dist/cjs/shell/PageHeader.js.map +1 -0
  113. package/dist/cjs/shell/RightPanel.js +30 -0
  114. package/dist/cjs/shell/RightPanel.js.map +1 -0
  115. package/dist/cjs/shell/Sidebar.js +51 -0
  116. package/dist/cjs/shell/Sidebar.js.map +1 -0
  117. package/dist/cjs/shell/ThemeOption.js +42 -0
  118. package/dist/cjs/shell/ThemeOption.js.map +1 -0
  119. package/dist/cjs/shell/ThemeSwitcher.js +50 -0
  120. package/dist/cjs/shell/ThemeSwitcher.js.map +1 -0
  121. package/dist/cjs/shell/Topbar.js +54 -0
  122. package/dist/cjs/shell/Topbar.js.map +1 -0
  123. package/dist/cjs/shell/UserMenu.js +68 -0
  124. package/dist/cjs/shell/UserMenu.js.map +1 -0
  125. package/dist/cjs/shell/elementProperties.js +56 -0
  126. package/dist/cjs/shell/elementProperties.js.map +1 -0
  127. package/dist/cjs/themes/LayoutThemeProvider.js +33 -0
  128. package/dist/cjs/themes/LayoutThemeProvider.js.map +1 -0
  129. package/dist/cjs/themes/blueprintThemeCompatibility.js +28 -0
  130. package/dist/cjs/themes/blueprintThemeCompatibility.js.map +1 -0
  131. package/dist/cjs/themes/dark.js +40 -0
  132. package/dist/cjs/themes/dark.js.map +1 -0
  133. package/dist/cjs/themes/defaultBlueprintThemes.js +19 -0
  134. package/dist/cjs/themes/defaultBlueprintThemes.js.map +1 -0
  135. package/dist/cjs/themes/light.js +43 -0
  136. package/dist/cjs/themes/light.js.map +1 -0
  137. package/dist/esm/ComponentName.d.ts +19 -0
  138. package/dist/esm/ComponentName.d.ts.map +1 -0
  139. package/dist/esm/ComponentName.js +31 -0
  140. package/dist/esm/ComponentName.js.map +1 -0
  141. package/dist/esm/configuration/ColorScheme.d.ts +6 -0
  142. package/dist/esm/configuration/ColorScheme.d.ts.map +1 -0
  143. package/dist/esm/configuration/ColorScheme.js +20 -0
  144. package/dist/esm/configuration/ColorScheme.js.map +1 -0
  145. package/dist/esm/configuration/LayoutConfigProvider.d.ts +29 -0
  146. package/dist/esm/configuration/LayoutConfigProvider.d.ts.map +1 -0
  147. package/dist/esm/configuration/LayoutConfigProvider.js +92 -0
  148. package/dist/esm/configuration/LayoutConfigProvider.js.map +1 -0
  149. package/dist/esm/configuration/LayoutConfigState.d.ts +14 -0
  150. package/dist/esm/configuration/LayoutConfigState.d.ts.map +1 -0
  151. package/dist/esm/configuration/LayoutConfigState.js +2 -0
  152. package/dist/esm/configuration/LayoutConfigState.js.map +1 -0
  153. package/dist/esm/configuration/LayoutMode.d.ts +12 -0
  154. package/dist/esm/configuration/LayoutMode.d.ts.map +1 -0
  155. package/dist/esm/configuration/LayoutMode.js +35 -0
  156. package/dist/esm/configuration/LayoutMode.js.map +1 -0
  157. package/dist/esm/configuration/MenuTheme.d.ts +7 -0
  158. package/dist/esm/configuration/MenuTheme.d.ts.map +1 -0
  159. package/dist/esm/configuration/MenuTheme.js +23 -0
  160. package/dist/esm/configuration/MenuTheme.js.map +1 -0
  161. package/dist/esm/configuration/index.d.ts +9 -0
  162. package/dist/esm/configuration/index.d.ts.map +1 -0
  163. package/dist/esm/configuration/index.js +9 -0
  164. package/dist/esm/configuration/index.js.map +1 -0
  165. package/dist/esm/configuration/layoutConfigStorage.d.ts +6 -0
  166. package/dist/esm/configuration/layoutConfigStorage.d.ts.map +1 -0
  167. package/dist/esm/configuration/layoutConfigStorage.js +81 -0
  168. package/dist/esm/configuration/layoutConfigStorage.js.map +1 -0
  169. package/dist/esm/configuration/layoutConfigTransitions.d.ts +22 -0
  170. package/dist/esm/configuration/layoutConfigTransitions.d.ts.map +1 -0
  171. package/dist/esm/configuration/layoutConfigTransitions.js +140 -0
  172. package/dist/esm/configuration/layoutConfigTransitions.js.map +1 -0
  173. package/dist/esm/configuration/layoutWrapperClasses.d.ts +4 -0
  174. package/dist/esm/configuration/layoutWrapperClasses.d.ts.map +1 -0
  175. package/dist/esm/configuration/layoutWrapperClasses.js +59 -0
  176. package/dist/esm/configuration/layoutWrapperClasses.js.map +1 -0
  177. package/dist/esm/defaultBlueprint.d.ts +5 -0
  178. package/dist/esm/defaultBlueprint.d.ts.map +1 -0
  179. package/dist/esm/defaultBlueprint.js +89 -0
  180. package/dist/esm/defaultBlueprint.js.map +1 -0
  181. package/dist/esm/defaultBlueprintComponents.d.ts +3 -0
  182. package/dist/esm/defaultBlueprintComponents.d.ts.map +1 -0
  183. package/dist/esm/defaultBlueprintComponents.js +52 -0
  184. package/dist/esm/defaultBlueprintComponents.js.map +1 -0
  185. package/dist/esm/for_AppShell/when_rendering_a_gallery_screen.d.ts +2 -0
  186. package/dist/esm/for_AppShell/when_rendering_a_gallery_screen.d.ts.map +1 -0
  187. package/dist/esm/for_AppShell/when_rendering_a_gallery_screen.js +60 -0
  188. package/dist/esm/for_AppShell/when_rendering_a_gallery_screen.js.map +1 -0
  189. package/dist/esm/for_LayoutConfigProvider/when_switching_mode_and_reloading.d.ts +2 -0
  190. package/dist/esm/for_LayoutConfigProvider/when_switching_mode_and_reloading.d.ts.map +1 -0
  191. package/dist/esm/for_LayoutConfigProvider/when_switching_mode_and_reloading.js +60 -0
  192. package/dist/esm/for_LayoutConfigProvider/when_switching_mode_and_reloading.js.map +1 -0
  193. package/dist/esm/for_appShellLayout/when_evaluating_the_arrangement_at_each_size_class.d.ts +2 -0
  194. package/dist/esm/for_appShellLayout/when_evaluating_the_arrangement_at_each_size_class.d.ts.map +1 -0
  195. package/dist/esm/for_appShellLayout/when_evaluating_the_arrangement_at_each_size_class.js +26 -0
  196. package/dist/esm/for_appShellLayout/when_evaluating_the_arrangement_at_each_size_class.js.map +1 -0
  197. package/dist/esm/for_defaultBlueprint/when_validating_the_bundle.d.ts +2 -0
  198. package/dist/esm/for_defaultBlueprint/when_validating_the_bundle.d.ts.map +1 -0
  199. package/dist/esm/for_defaultBlueprint/when_validating_the_bundle.js +32 -0
  200. package/dist/esm/for_defaultBlueprint/when_validating_the_bundle.js.map +1 -0
  201. package/dist/esm/for_defaultBlueprintThemes/when_checking_attribution_and_tokens.d.ts +2 -0
  202. package/dist/esm/for_defaultBlueprintThemes/when_checking_attribution_and_tokens.d.ts.map +1 -0
  203. package/dist/esm/for_defaultBlueprintThemes/when_checking_attribution_and_tokens.js +40 -0
  204. package/dist/esm/for_defaultBlueprintThemes/when_checking_attribution_and_tokens.js.map +1 -0
  205. package/dist/esm/for_fullPageLayout/when_evaluating_the_arrangement_at_each_size_class.d.ts +2 -0
  206. package/dist/esm/for_fullPageLayout/when_evaluating_the_arrangement_at_each_size_class.d.ts.map +1 -0
  207. package/dist/esm/for_fullPageLayout/when_evaluating_the_arrangement_at_each_size_class.js +27 -0
  208. package/dist/esm/for_fullPageLayout/when_evaluating_the_arrangement_at_each_size_class.js.map +1 -0
  209. package/dist/esm/for_galleryScreenTemplates/when_checking_that_arrangements_reference_declared_slots.d.ts +2 -0
  210. package/dist/esm/for_galleryScreenTemplates/when_checking_that_arrangements_reference_declared_slots.d.ts.map +1 -0
  211. package/dist/esm/for_galleryScreenTemplates/when_checking_that_arrangements_reference_declared_slots.js +41 -0
  212. package/dist/esm/for_galleryScreenTemplates/when_checking_that_arrangements_reference_declared_slots.js.map +1 -0
  213. package/dist/esm/for_galleryScreenTemplates/when_following_the_nesting_chain.d.ts +2 -0
  214. package/dist/esm/for_galleryScreenTemplates/when_following_the_nesting_chain.d.ts.map +1 -0
  215. package/dist/esm/for_galleryScreenTemplates/when_following_the_nesting_chain.js +31 -0
  216. package/dist/esm/for_galleryScreenTemplates/when_following_the_nesting_chain.js.map +1 -0
  217. package/dist/esm/for_galleryScreens/when_checking_the_layouts_and_slots_they_fill.d.ts +2 -0
  218. package/dist/esm/for_galleryScreens/when_checking_the_layouts_and_slots_they_fill.d.ts.map +1 -0
  219. package/dist/esm/for_galleryScreens/when_checking_the_layouts_and_slots_they_fill.js +33 -0
  220. package/dist/esm/for_galleryScreens/when_checking_the_layouts_and_slots_they_fill.js.map +1 -0
  221. package/dist/esm/for_galleryScreens/when_resolving_the_component_names_they_reference.d.ts +2 -0
  222. package/dist/esm/for_galleryScreens/when_resolving_the_component_names_they_reference.d.ts.map +1 -0
  223. package/dist/esm/for_galleryScreens/when_resolving_the_component_names_they_reference.js +44 -0
  224. package/dist/esm/for_galleryScreens/when_resolving_the_component_names_they_reference.js.map +1 -0
  225. package/dist/esm/for_layoutConfigStorage/when_restoring_a_persisted_configuration.d.ts +2 -0
  226. package/dist/esm/for_layoutConfigStorage/when_restoring_a_persisted_configuration.d.ts.map +1 -0
  227. package/dist/esm/for_layoutConfigStorage/when_restoring_a_persisted_configuration.js +60 -0
  228. package/dist/esm/for_layoutConfigStorage/when_restoring_a_persisted_configuration.js.map +1 -0
  229. package/dist/esm/for_layoutConfigTransitions/when_anchoring_a_reveal_sidebar.d.ts +2 -0
  230. package/dist/esm/for_layoutConfigTransitions/when_anchoring_a_reveal_sidebar.d.ts.map +1 -0
  231. package/dist/esm/for_layoutConfigTransitions/when_anchoring_a_reveal_sidebar.js +28 -0
  232. package/dist/esm/for_layoutConfigTransitions/when_anchoring_a_reveal_sidebar.js.map +1 -0
  233. package/dist/esm/for_layoutConfigTransitions/when_the_viewport_crosses_the_mobile_breakpoint.d.ts +2 -0
  234. package/dist/esm/for_layoutConfigTransitions/when_the_viewport_crosses_the_mobile_breakpoint.d.ts.map +1 -0
  235. package/dist/esm/for_layoutConfigTransitions/when_the_viewport_crosses_the_mobile_breakpoint.js +38 -0
  236. package/dist/esm/for_layoutConfigTransitions/when_the_viewport_crosses_the_mobile_breakpoint.js.map +1 -0
  237. package/dist/esm/for_layoutWrapperClasses/when_rendering_each_mode.d.ts +2 -0
  238. package/dist/esm/for_layoutWrapperClasses/when_rendering_each_mode.d.ts.map +1 -0
  239. package/dist/esm/for_layoutWrapperClasses/when_rendering_each_mode.js +39 -0
  240. package/dist/esm/for_layoutWrapperClasses/when_rendering_each_mode.js.map +1 -0
  241. package/dist/esm/for_navigation/when_aggregating_the_navigation_contributions.d.ts +2 -0
  242. package/dist/esm/for_navigation/when_aggregating_the_navigation_contributions.d.ts.map +1 -0
  243. package/dist/esm/for_navigation/when_aggregating_the_navigation_contributions.js +37 -0
  244. package/dist/esm/for_navigation/when_aggregating_the_navigation_contributions.js.map +1 -0
  245. package/dist/esm/gallery/ApplicationScreens.stories.d.ts +31 -0
  246. package/dist/esm/gallery/ApplicationScreens.stories.d.ts.map +1 -0
  247. package/dist/esm/gallery/ApplicationScreens.stories.js +29 -0
  248. package/dist/esm/gallery/ApplicationScreens.stories.js.map +1 -0
  249. package/dist/esm/gallery/FullPageScreens.stories.d.ts +28 -0
  250. package/dist/esm/gallery/FullPageScreens.stories.d.ts.map +1 -0
  251. package/dist/esm/gallery/FullPageScreens.stories.js +26 -0
  252. package/dist/esm/gallery/FullPageScreens.stories.js.map +1 -0
  253. package/dist/esm/gallery/GalleryScreenPreview.d.ts +12 -0
  254. package/dist/esm/gallery/GalleryScreenPreview.d.ts.map +1 -0
  255. package/dist/esm/gallery/GalleryScreenPreview.js +60 -0
  256. package/dist/esm/gallery/GalleryScreenPreview.js.map +1 -0
  257. package/dist/esm/gallery/NavigationEntry.d.ts +8 -0
  258. package/dist/esm/gallery/NavigationEntry.d.ts.map +1 -0
  259. package/dist/esm/gallery/NavigationEntry.js +2 -0
  260. package/dist/esm/gallery/NavigationEntry.js.map +1 -0
  261. package/dist/esm/gallery/TemplateSlotName.d.ts +11 -0
  262. package/dist/esm/gallery/TemplateSlotName.d.ts.map +1 -0
  263. package/dist/esm/gallery/TemplateSlotName.js +23 -0
  264. package/dist/esm/gallery/TemplateSlotName.js.map +1 -0
  265. package/dist/esm/gallery/applicationChrome.d.ts +8 -0
  266. package/dist/esm/gallery/applicationChrome.d.ts.map +1 -0
  267. package/dist/esm/gallery/applicationChrome.js +131 -0
  268. package/dist/esm/gallery/applicationChrome.js.map +1 -0
  269. package/dist/esm/gallery/authTemplates.d.ts +9 -0
  270. package/dist/esm/gallery/authTemplates.d.ts.map +1 -0
  271. package/dist/esm/gallery/authTemplates.js +226 -0
  272. package/dist/esm/gallery/authTemplates.js.map +1 -0
  273. package/dist/esm/gallery/componentNames.d.ts +4 -0
  274. package/dist/esm/gallery/componentNames.d.ts.map +1 -0
  275. package/dist/esm/gallery/componentNames.js +50 -0
  276. package/dist/esm/gallery/componentNames.js.map +1 -0
  277. package/dist/esm/gallery/composeScreen.d.ts +5 -0
  278. package/dist/esm/gallery/composeScreen.d.ts.map +1 -0
  279. package/dist/esm/gallery/composeScreen.js +95 -0
  280. package/dist/esm/gallery/composeScreen.js.map +1 -0
  281. package/dist/esm/gallery/dependencyComponentNames.d.ts +4 -0
  282. package/dist/esm/gallery/dependencyComponentNames.d.ts.map +1 -0
  283. package/dist/esm/gallery/dependencyComponentNames.js +68 -0
  284. package/dist/esm/gallery/dependencyComponentNames.js.map +1 -0
  285. package/dist/esm/gallery/dialogTemplates.d.ts +6 -0
  286. package/dist/esm/gallery/dialogTemplates.d.ts.map +1 -0
  287. package/dist/esm/gallery/dialogTemplates.js +156 -0
  288. package/dist/esm/gallery/dialogTemplates.js.map +1 -0
  289. package/dist/esm/gallery/elements.d.ts +7 -0
  290. package/dist/esm/gallery/elements.d.ts.map +1 -0
  291. package/dist/esm/gallery/elements.js +74 -0
  292. package/dist/esm/gallery/elements.js.map +1 -0
  293. package/dist/esm/gallery/index.d.ts +20 -0
  294. package/dist/esm/gallery/index.d.ts.map +1 -0
  295. package/dist/esm/gallery/index.js +20 -0
  296. package/dist/esm/gallery/index.js.map +1 -0
  297. package/dist/esm/gallery/navigation.d.ts +9 -0
  298. package/dist/esm/gallery/navigation.d.ts.map +1 -0
  299. package/dist/esm/gallery/navigation.js +122 -0
  300. package/dist/esm/gallery/navigation.js.map +1 -0
  301. package/dist/esm/gallery/nesting.d.ts +6 -0
  302. package/dist/esm/gallery/nesting.d.ts.map +1 -0
  303. package/dist/esm/gallery/nesting.js +124 -0
  304. package/dist/esm/gallery/nesting.js.map +1 -0
  305. package/dist/esm/gallery/previewProfile.d.ts +6 -0
  306. package/dist/esm/gallery/previewProfile.d.ts.map +1 -0
  307. package/dist/esm/gallery/previewProfile.js +64 -0
  308. package/dist/esm/gallery/previewProfile.js.map +1 -0
  309. package/dist/esm/gallery/resolveElementNames.d.ts +4 -0
  310. package/dist/esm/gallery/resolveElementNames.d.ts.map +1 -0
  311. package/dist/esm/gallery/resolveElementNames.js +61 -0
  312. package/dist/esm/gallery/resolveElementNames.js.map +1 -0
  313. package/dist/esm/gallery/screens.d.ts +5 -0
  314. package/dist/esm/gallery/screens.d.ts.map +1 -0
  315. package/dist/esm/gallery/screens.js +218 -0
  316. package/dist/esm/gallery/screens.js.map +1 -0
  317. package/dist/esm/gallery/statusTemplates.d.ts +7 -0
  318. package/dist/esm/gallery/statusTemplates.d.ts.map +1 -0
  319. package/dist/esm/gallery/statusTemplates.js +184 -0
  320. package/dist/esm/gallery/statusTemplates.js.map +1 -0
  321. package/dist/esm/gallery/supportTemplates.d.ts +8 -0
  322. package/dist/esm/gallery/supportTemplates.d.ts.map +1 -0
  323. package/dist/esm/gallery/supportTemplates.js +312 -0
  324. package/dist/esm/gallery/supportTemplates.js.map +1 -0
  325. package/dist/esm/gallery/widgets.d.ts +12 -0
  326. package/dist/esm/gallery/widgets.d.ts.map +1 -0
  327. package/dist/esm/gallery/widgets.js +86 -0
  328. package/dist/esm/gallery/widgets.js.map +1 -0
  329. package/dist/esm/gallery/workspaceTemplates.d.ts +8 -0
  330. package/dist/esm/gallery/workspaceTemplates.d.ts.map +1 -0
  331. package/dist/esm/gallery/workspaceTemplates.js +388 -0
  332. package/dist/esm/gallery/workspaceTemplates.js.map +1 -0
  333. package/dist/esm/index.d.ts +10 -0
  334. package/dist/esm/index.d.ts.map +1 -0
  335. package/dist/esm/index.js +60 -0
  336. package/dist/esm/index.js.map +1 -0
  337. package/dist/esm/layouts/LayoutName.d.ts +5 -0
  338. package/dist/esm/layouts/LayoutName.d.ts.map +1 -0
  339. package/dist/esm/layouts/LayoutName.js +17 -0
  340. package/dist/esm/layouts/LayoutName.js.map +1 -0
  341. package/dist/esm/layouts/SlotName.d.ts +12 -0
  342. package/dist/esm/layouts/SlotName.d.ts.map +1 -0
  343. package/dist/esm/layouts/SlotName.js +29 -0
  344. package/dist/esm/layouts/SlotName.js.map +1 -0
  345. package/dist/esm/layouts/appShell.d.ts +8 -0
  346. package/dist/esm/layouts/appShell.d.ts.map +1 -0
  347. package/dist/esm/layouts/appShell.js +153 -0
  348. package/dist/esm/layouts/appShell.js.map +1 -0
  349. package/dist/esm/layouts/defaultLayouts.d.ts +3 -0
  350. package/dist/esm/layouts/defaultLayouts.d.ts.map +1 -0
  351. package/dist/esm/layouts/defaultLayouts.js +18 -0
  352. package/dist/esm/layouts/defaultLayouts.js.map +1 -0
  353. package/dist/esm/layouts/flowBuilders.d.ts +6 -0
  354. package/dist/esm/layouts/flowBuilders.d.ts.map +1 -0
  355. package/dist/esm/layouts/flowBuilders.js +61 -0
  356. package/dist/esm/layouts/flowBuilders.js.map +1 -0
  357. package/dist/esm/layouts/fullPage.d.ts +6 -0
  358. package/dist/esm/layouts/fullPage.d.ts.map +1 -0
  359. package/dist/esm/layouts/fullPage.js +73 -0
  360. package/dist/esm/layouts/fullPage.js.map +1 -0
  361. package/dist/esm/layouts/index.d.ts +8 -0
  362. package/dist/esm/layouts/index.d.ts.map +1 -0
  363. package/dist/esm/layouts/index.js +8 -0
  364. package/dist/esm/layouts/index.js.map +1 -0
  365. package/dist/esm/layouts/shellComponents.d.ts +3 -0
  366. package/dist/esm/layouts/shellComponents.d.ts.map +1 -0
  367. package/dist/esm/layouts/shellComponents.js +27 -0
  368. package/dist/esm/layouts/shellComponents.js.map +1 -0
  369. package/dist/esm/package.json +3 -0
  370. package/dist/esm/packageName.d.ts +2 -0
  371. package/dist/esm/packageName.d.ts.map +1 -0
  372. package/dist/esm/packageName.js +13 -0
  373. package/dist/esm/packageName.js.map +1 -0
  374. package/dist/esm/shell/AppShell.d.ts +3 -0
  375. package/dist/esm/shell/AppShell.d.ts.map +1 -0
  376. package/dist/esm/shell/AppShell.js +86 -0
  377. package/dist/esm/shell/AppShell.js.map +1 -0
  378. package/dist/esm/shell/Breadcrumb.d.ts +3 -0
  379. package/dist/esm/shell/Breadcrumb.d.ts.map +1 -0
  380. package/dist/esm/shell/Breadcrumb.js +31 -0
  381. package/dist/esm/shell/Breadcrumb.js.map +1 -0
  382. package/dist/esm/shell/ConfigPanel.d.ts +3 -0
  383. package/dist/esm/shell/ConfigPanel.d.ts.map +1 -0
  384. package/dist/esm/shell/ConfigPanel.js +126 -0
  385. package/dist/esm/shell/ConfigPanel.js.map +1 -0
  386. package/dist/esm/shell/Footer.d.ts +3 -0
  387. package/dist/esm/shell/Footer.d.ts.map +1 -0
  388. package/dist/esm/shell/Footer.js +26 -0
  389. package/dist/esm/shell/Footer.js.map +1 -0
  390. package/dist/esm/shell/FullPageShell.d.ts +3 -0
  391. package/dist/esm/shell/FullPageShell.d.ts.map +1 -0
  392. package/dist/esm/shell/FullPageShell.js +51 -0
  393. package/dist/esm/shell/FullPageShell.js.map +1 -0
  394. package/dist/esm/shell/LayoutModeSwitcher.d.ts +3 -0
  395. package/dist/esm/shell/LayoutModeSwitcher.d.ts.map +1 -0
  396. package/dist/esm/shell/LayoutModeSwitcher.js +56 -0
  397. package/dist/esm/shell/LayoutModeSwitcher.js.map +1 -0
  398. package/dist/esm/shell/LayoutModes.stories.d.ts +29 -0
  399. package/dist/esm/shell/LayoutModes.stories.d.ts.map +1 -0
  400. package/dist/esm/shell/LayoutModes.stories.js +43 -0
  401. package/dist/esm/shell/LayoutModes.stories.js.map +1 -0
  402. package/dist/esm/shell/Logo.d.ts +3 -0
  403. package/dist/esm/shell/Logo.d.ts.map +1 -0
  404. package/dist/esm/shell/Logo.js +42 -0
  405. package/dist/esm/shell/Logo.js.map +1 -0
  406. package/dist/esm/shell/Mask.d.ts +3 -0
  407. package/dist/esm/shell/Mask.d.ts.map +1 -0
  408. package/dist/esm/shell/Mask.js +31 -0
  409. package/dist/esm/shell/Mask.js.map +1 -0
  410. package/dist/esm/shell/Menu.d.ts +3 -0
  411. package/dist/esm/shell/Menu.d.ts.map +1 -0
  412. package/dist/esm/shell/Menu.js +34 -0
  413. package/dist/esm/shell/Menu.js.map +1 -0
  414. package/dist/esm/shell/MenuItem.d.ts +3 -0
  415. package/dist/esm/shell/MenuItem.d.ts.map +1 -0
  416. package/dist/esm/shell/MenuItem.js +63 -0
  417. package/dist/esm/shell/MenuItem.js.map +1 -0
  418. package/dist/esm/shell/PageHeader.d.ts +3 -0
  419. package/dist/esm/shell/PageHeader.d.ts.map +1 -0
  420. package/dist/esm/shell/PageHeader.js +41 -0
  421. package/dist/esm/shell/PageHeader.js.map +1 -0
  422. package/dist/esm/shell/RightPanel.d.ts +3 -0
  423. package/dist/esm/shell/RightPanel.d.ts.map +1 -0
  424. package/dist/esm/shell/RightPanel.js +28 -0
  425. package/dist/esm/shell/RightPanel.js.map +1 -0
  426. package/dist/esm/shell/Sidebar.d.ts +3 -0
  427. package/dist/esm/shell/Sidebar.d.ts.map +1 -0
  428. package/dist/esm/shell/Sidebar.js +49 -0
  429. package/dist/esm/shell/Sidebar.js.map +1 -0
  430. package/dist/esm/shell/ThemeOption.d.ts +10 -0
  431. package/dist/esm/shell/ThemeOption.d.ts.map +1 -0
  432. package/dist/esm/shell/ThemeOption.js +39 -0
  433. package/dist/esm/shell/ThemeOption.js.map +1 -0
  434. package/dist/esm/shell/ThemeSwitcher.d.ts +3 -0
  435. package/dist/esm/shell/ThemeSwitcher.d.ts.map +1 -0
  436. package/dist/esm/shell/ThemeSwitcher.js +48 -0
  437. package/dist/esm/shell/ThemeSwitcher.js.map +1 -0
  438. package/dist/esm/shell/Topbar.d.ts +3 -0
  439. package/dist/esm/shell/Topbar.d.ts.map +1 -0
  440. package/dist/esm/shell/Topbar.js +52 -0
  441. package/dist/esm/shell/Topbar.js.map +1 -0
  442. package/dist/esm/shell/UserMenu.d.ts +3 -0
  443. package/dist/esm/shell/UserMenu.d.ts.map +1 -0
  444. package/dist/esm/shell/UserMenu.js +66 -0
  445. package/dist/esm/shell/UserMenu.js.map +1 -0
  446. package/dist/esm/shell/elementProperties.d.ts +9 -0
  447. package/dist/esm/shell/elementProperties.d.ts.map +1 -0
  448. package/dist/esm/shell/elementProperties.js +48 -0
  449. package/dist/esm/shell/elementProperties.js.map +1 -0
  450. package/dist/esm/shell/index.d.ts +19 -0
  451. package/dist/esm/shell/index.d.ts.map +1 -0
  452. package/dist/esm/shell/index.js +19 -0
  453. package/dist/esm/shell/index.js.map +1 -0
  454. package/dist/esm/themes/LayoutThemeProvider.d.ts +9 -0
  455. package/dist/esm/themes/LayoutThemeProvider.d.ts.map +1 -0
  456. package/dist/esm/themes/LayoutThemeProvider.js +31 -0
  457. package/dist/esm/themes/LayoutThemeProvider.js.map +1 -0
  458. package/dist/esm/themes/Theming.stories.d.ts +21 -0
  459. package/dist/esm/themes/Theming.stories.d.ts.map +1 -0
  460. package/dist/esm/themes/Theming.stories.js +54 -0
  461. package/dist/esm/themes/Theming.stories.js.map +1 -0
  462. package/dist/esm/themes/blueprintThemeCompatibility.d.ts +2 -0
  463. package/dist/esm/themes/blueprintThemeCompatibility.d.ts.map +1 -0
  464. package/dist/esm/themes/blueprintThemeCompatibility.js +26 -0
  465. package/dist/esm/themes/blueprintThemeCompatibility.js.map +1 -0
  466. package/dist/esm/themes/dark.d.ts +3 -0
  467. package/dist/esm/themes/dark.d.ts.map +1 -0
  468. package/dist/esm/themes/dark.js +38 -0
  469. package/dist/esm/themes/dark.js.map +1 -0
  470. package/dist/esm/themes/defaultBlueprintThemes.d.ts +3 -0
  471. package/dist/esm/themes/defaultBlueprintThemes.d.ts.map +1 -0
  472. package/dist/esm/themes/defaultBlueprintThemes.js +17 -0
  473. package/dist/esm/themes/defaultBlueprintThemes.js.map +1 -0
  474. package/dist/esm/themes/index.d.ts +6 -0
  475. package/dist/esm/themes/index.d.ts.map +1 -0
  476. package/dist/esm/themes/index.js +6 -0
  477. package/dist/esm/themes/index.js.map +1 -0
  478. package/dist/esm/themes/light.d.ts +3 -0
  479. package/dist/esm/themes/light.d.ts.map +1 -0
  480. package/dist/esm/themes/light.js +41 -0
  481. package/dist/esm/themes/light.js.map +1 -0
  482. package/dist/esm/tsconfig.tsbuildinfo +1 -0
  483. package/for_AppShell/when_rendering_a_gallery_screen.tsx +76 -0
  484. package/for_LayoutConfigProvider/when_switching_mode_and_reloading.tsx +77 -0
  485. package/for_appShellLayout/when_evaluating_the_arrangement_at_each_size_class.ts +42 -0
  486. package/for_defaultBlueprint/when_validating_the_bundle.ts +43 -0
  487. package/for_defaultBlueprintThemes/when_checking_attribution_and_tokens.ts +50 -0
  488. package/for_fullPageLayout/when_evaluating_the_arrangement_at_each_size_class.ts +36 -0
  489. package/for_galleryScreenTemplates/when_checking_that_arrangements_reference_declared_slots.ts +53 -0
  490. package/for_galleryScreenTemplates/when_following_the_nesting_chain.ts +41 -0
  491. package/for_galleryScreens/when_checking_the_layouts_and_slots_they_fill.ts +44 -0
  492. package/for_galleryScreens/when_resolving_the_component_names_they_reference.ts +60 -0
  493. package/for_layoutConfigStorage/when_restoring_a_persisted_configuration.ts +76 -0
  494. package/for_layoutConfigTransitions/when_anchoring_a_reveal_sidebar.ts +44 -0
  495. package/for_layoutConfigTransitions/when_the_viewport_crosses_the_mobile_breakpoint.ts +61 -0
  496. package/for_layoutWrapperClasses/when_rendering_each_mode.ts +63 -0
  497. package/for_navigation/when_aggregating_the_navigation_contributions.ts +50 -0
  498. package/gallery/ApplicationScreens.stories.tsx +70 -0
  499. package/gallery/FullPageScreens.stories.tsx +60 -0
  500. package/gallery/GalleryScreenPreview.tsx +68 -0
  501. package/gallery/NavigationEntry.ts +27 -0
  502. package/gallery/TemplateSlotName.ts +36 -0
  503. package/gallery/applicationChrome.ts +110 -0
  504. package/gallery/authTemplates.ts +161 -0
  505. package/gallery/componentNames.ts +55 -0
  506. package/gallery/composeScreen.ts +95 -0
  507. package/gallery/dependencyComponentNames.ts +64 -0
  508. package/gallery/dialogTemplates.ts +79 -0
  509. package/gallery/elements.ts +65 -0
  510. package/gallery/index.ts +22 -0
  511. package/gallery/navigation.ts +71 -0
  512. package/gallery/nesting.ts +82 -0
  513. package/gallery/previewProfile.ts +59 -0
  514. package/gallery/resolveElementNames.ts +55 -0
  515. package/gallery/screens.ts +111 -0
  516. package/gallery/statusTemplates.ts +118 -0
  517. package/gallery/supportTemplates.ts +164 -0
  518. package/gallery/widgets.ts +63 -0
  519. package/gallery/workspaceTemplates.ts +198 -0
  520. package/index.ts +12 -0
  521. package/layouts/LayoutName.ts +18 -0
  522. package/layouts/SlotName.ts +44 -0
  523. package/layouts/appShell.ts +106 -0
  524. package/layouts/defaultLayouts.ts +15 -0
  525. package/layouts/flowBuilders.ts +49 -0
  526. package/layouts/fullPage.ts +48 -0
  527. package/layouts/index.ts +10 -0
  528. package/layouts/shellComponents.ts +28 -0
  529. package/package.json +68 -0
  530. package/packageName.ts +12 -0
  531. package/shell/AppShell.tsx +66 -0
  532. package/shell/Breadcrumb.tsx +31 -0
  533. package/shell/ConfigPanel.tsx +105 -0
  534. package/shell/Footer.tsx +23 -0
  535. package/shell/FullPageShell.tsx +41 -0
  536. package/shell/LayoutModeSwitcher.tsx +50 -0
  537. package/shell/LayoutModes.stories.tsx +83 -0
  538. package/shell/Logo.tsx +30 -0
  539. package/shell/Mask.tsx +29 -0
  540. package/shell/Menu.tsx +26 -0
  541. package/shell/MenuItem.tsx +39 -0
  542. package/shell/PageHeader.tsx +28 -0
  543. package/shell/RightPanel.tsx +23 -0
  544. package/shell/Sidebar.tsx +45 -0
  545. package/shell/ThemeOption.ts +60 -0
  546. package/shell/ThemeSwitcher.tsx +42 -0
  547. package/shell/Topbar.tsx +49 -0
  548. package/shell/UserMenu.tsx +53 -0
  549. package/shell/elementProperties.ts +64 -0
  550. package/shell/index.ts +21 -0
  551. package/shell/layout.css +821 -0
  552. package/themes/LayoutThemeProvider.tsx +41 -0
  553. package/themes/Theming.stories.tsx +89 -0
  554. package/themes/blueprintThemeCompatibility.ts +19 -0
  555. package/themes/dark.ts +38 -0
  556. package/themes/defaultBlueprintThemes.ts +14 -0
  557. package/themes/index.ts +8 -0
  558. package/themes/light.ts +41 -0
@@ -0,0 +1,60 @@
1
+ import { ColorScheme, LayoutMode, MenuTheme, defaultLayoutConfigState, layoutConfigStorageKey, persistLayoutConfig, readPersistedLayoutConfig, withMobile, withMode, withSidebarAnchored } from '../configuration';
2
+ class FakeStorage {
3
+ entries = new Map();
4
+ getItem(key) {
5
+ return this.entries.has(key) ? this.entries.get(key) : null;
6
+ }
7
+ setItem(key, value) {
8
+ this.entries.set(key, value);
9
+ }
10
+ }
11
+ function storageWith(raw) {
12
+ const storage = new FakeStorage();
13
+ storage.setItem(layoutConfigStorageKey, raw);
14
+ return storage;
15
+ }
16
+ describe('when restoring a persisted configuration', () => {
17
+ it('should fall back to the defaults when nothing was persisted', () => {
18
+ readPersistedLayoutConfig(new FakeStorage()).should.deep.equal(defaultLayoutConfigState());
19
+ });
20
+ it('should fall back to the defaults when there is no storage at all', () => {
21
+ readPersistedLayoutConfig(undefined).should.deep.equal(defaultLayoutConfigState());
22
+ });
23
+ it('should round-trip the preferences that are worth keeping', () => {
24
+ const storage = new FakeStorage();
25
+ const chosen = withSidebarAnchored(withMode(defaultLayoutConfigState(), LayoutMode.Drawer), true);
26
+ persistLayoutConfig(chosen, storage);
27
+ const restored = readPersistedLayoutConfig(storage);
28
+ restored.mode.should.equal(LayoutMode.Drawer);
29
+ restored.isSidebarAnchored.should.be.true;
30
+ });
31
+ it('should not restore the transient state', () => {
32
+ const storage = new FakeStorage();
33
+ persistLayoutConfig(withMobile(defaultLayoutConfigState(), true), storage);
34
+ readPersistedLayoutConfig(storage).isMobile.should.be.false;
35
+ });
36
+ it('should ignore an unrecognized mode rather than putting a class no rule matches on the wrapper', () => {
37
+ readPersistedLayoutConfig(storageWith('{"mode":"kaleidoscope"}')).mode.should.equal(defaultLayoutConfigState().mode);
38
+ });
39
+ it('should ignore an unrecognized menu theme and color scheme', () => {
40
+ const restored = readPersistedLayoutConfig(storageWith('{"menuTheme":"neon","colorScheme":"sepia"}'));
41
+ restored.menuTheme.should.equal(MenuTheme.Light);
42
+ restored.colorScheme.should.equal(ColorScheme.Light);
43
+ });
44
+ it('should survive malformed json', () => {
45
+ readPersistedLayoutConfig(storageWith('{ not json')).should.deep.equal(defaultLayoutConfigState());
46
+ });
47
+ it('should survive json that is not an object', () => {
48
+ readPersistedLayoutConfig(storageWith('[1,2,3]')).should.deep.equal(defaultLayoutConfigState());
49
+ });
50
+ it('should not throw when storage refuses to write', () => {
51
+ const refusing = {
52
+ getItem: () => null,
53
+ setItem: () => {
54
+ throw new Error('QuotaExceededError');
55
+ },
56
+ };
57
+ (() => persistLayoutConfig(defaultLayoutConfigState(), refusing)).should.not.throw();
58
+ });
59
+ });
60
+ //# sourceMappingURL=when_restoring_a_persisted_configuration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"when_restoring_a_persisted_configuration.js","sourceRoot":"","sources":["../../../for_layoutConfigStorage/when_restoring_a_persisted_configuration.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=when_anchoring_a_reveal_sidebar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"when_anchoring_a_reveal_sidebar.d.ts","sourceRoot":"","sources":["../../../for_layoutConfigTransitions/when_anchoring_a_reveal_sidebar.ts"],"names":[],"mappings":""}
@@ -0,0 +1,28 @@
1
+ import { LayoutMode, defaultLayoutConfigState, isPointerRevealMode, toggleSidebarAnchor, withMode, withSidebarRevealed, } from '../configuration';
2
+ describe('when anchoring a reveal sidebar', () => {
3
+ const reveal = withMode(defaultLayoutConfigState(), LayoutMode.Reveal);
4
+ const anchored = toggleSidebarAnchor(reveal);
5
+ it('should recognize reveal and drawer as the pointer-driven modes', () => {
6
+ isPointerRevealMode(LayoutMode.Reveal).should.be.true;
7
+ isPointerRevealMode(LayoutMode.Drawer).should.be.true;
8
+ isPointerRevealMode(LayoutMode.Static).should.be.false;
9
+ });
10
+ it('should hold the sidebar out as soon as it is anchored', () => {
11
+ anchored.isSidebarRevealed.should.be.true;
12
+ });
13
+ it('should ignore the pointer while anchored', () => {
14
+ withSidebarRevealed(anchored, false).should.equal(anchored);
15
+ });
16
+ it('should let the pointer take over again once unanchored', () => {
17
+ const unanchored = toggleSidebarAnchor(anchored);
18
+ unanchored.isSidebarAnchored.should.be.false;
19
+ withSidebarRevealed(unanchored, true).isSidebarRevealed.should.be.true;
20
+ });
21
+ it('should keep the pin across a mode change, since it is a preference rather than transient state', () => {
22
+ withMode(anchored, LayoutMode.Drawer).isSidebarAnchored.should.be.true;
23
+ });
24
+ it('should drop a pointer-held reveal when the mode changes', () => {
25
+ withMode(withSidebarRevealed(reveal, true), LayoutMode.Static).isSidebarRevealed.should.be.false;
26
+ });
27
+ });
28
+ //# sourceMappingURL=when_anchoring_a_reveal_sidebar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"when_anchoring_a_reveal_sidebar.js","sourceRoot":"","sources":["../../../for_layoutConfigTransitions/when_anchoring_a_reveal_sidebar.ts"],"names":[],"mappings":"AAGA,OAAO,EACH,UAAU,EACV,wBAAwB,EACxB,mBAAmB,EACnB,mBAAmB,EACnB,QAAQ,EACR,mBAAmB,GACtB,MAAM,kBAAkB,CAAC;AAE1B,QAAQ,CAAC,iCAAiC,EAAE,GAAG,EAAE;IAC7C,MAAM,MAAM,GAAG,QAAQ,CAAC,wBAAwB,EAAE,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IACvE,MAAM,QAAQ,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAE7C,EAAE,CAAC,gEAAgE,EAAE,GAAG,EAAE;QACtE,mBAAmB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC;QACtD,mBAAmB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC;QACtD,mBAAmB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC7D,QAAQ,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAChD,mBAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;QAC9D,MAAM,UAAU,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QACjD,UAAU,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC;QAC7C,mBAAmB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC;IAC3E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gGAAgG,EAAE,GAAG,EAAE;QACtG,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC;IAC3E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;QAC/D,QAAQ,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC;IACrG,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=when_the_viewport_crosses_the_mobile_breakpoint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"when_the_viewport_crosses_the_mobile_breakpoint.d.ts","sourceRoot":"","sources":["../../../for_layoutConfigTransitions/when_the_viewport_crosses_the_mobile_breakpoint.ts"],"names":[],"mappings":""}
@@ -0,0 +1,38 @@
1
+ import { LayoutMode, defaultLayoutConfigState, effectiveLayoutMode, isMobileWidth, layoutModes, layoutWrapperClasses, mobileBreakpoint, toggleSidebar, withMobile, withMode, } from '../configuration';
2
+ describe('when the viewport crosses the mobile breakpoint', () => {
3
+ const desktop = withMode(defaultLayoutConfigState(), LayoutMode.Slim);
4
+ const mobile = withMobile(desktop, true);
5
+ const backToDesktop = withMobile(mobile, false);
6
+ it('should treat the breakpoint itself as mobile, matching the stylesheet', () => {
7
+ isMobileWidth(mobileBreakpoint).should.be.true;
8
+ isMobileWidth(mobileBreakpoint + 1).should.be.false;
9
+ });
10
+ it('should force every mode off-canvas below the breakpoint', () => {
11
+ for (const mode of layoutModes) {
12
+ effectiveLayoutMode(withMobile(withMode(desktop, mode), true)).should.equal(LayoutMode.Overlay);
13
+ }
14
+ });
15
+ it('should keep the chosen mode rather than overwriting it', () => {
16
+ mobile.mode.should.equal(LayoutMode.Slim);
17
+ });
18
+ it('should close the sidebar on the way in so the page is not covered on arrival', () => {
19
+ mobile.isSidebarOpen.should.be.false;
20
+ });
21
+ it('should mark the wrapper mobile', () => {
22
+ layoutWrapperClasses(mobile).should.contain('layout-mobile');
23
+ });
24
+ it('should mark the wrapper mobile-active once the sidebar is opened', () => {
25
+ layoutWrapperClasses(toggleSidebar(mobile)).should.contain('layout-mobile-active');
26
+ });
27
+ it('should restore the chosen mode on the way back out', () => {
28
+ effectiveLayoutMode(backToDesktop).should.equal(LayoutMode.Slim);
29
+ });
30
+ it('should leave the state untouched when the regime has not actually changed', () => {
31
+ withMobile(mobile, true).should.equal(mobile);
32
+ });
33
+ it('should reopen a static sidebar on the way back out, since docked is its resting state', () => {
34
+ const staticMobile = withMobile(withMode(defaultLayoutConfigState(), LayoutMode.Static), true);
35
+ withMobile(staticMobile, false).isSidebarOpen.should.be.true;
36
+ });
37
+ });
38
+ //# sourceMappingURL=when_the_viewport_crosses_the_mobile_breakpoint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"when_the_viewport_crosses_the_mobile_breakpoint.js","sourceRoot":"","sources":["../../../for_layoutConfigTransitions/when_the_viewport_crosses_the_mobile_breakpoint.ts"],"names":[],"mappings":"AAGA,OAAO,EACH,UAAU,EACV,wBAAwB,EACxB,mBAAmB,EACnB,aAAa,EACb,WAAW,EACX,oBAAoB,EACpB,gBAAgB,EAChB,aAAa,EACb,UAAU,EACV,QAAQ,GACX,MAAM,kBAAkB,CAAC;AAE1B,QAAQ,CAAC,iDAAiD,EAAE,GAAG,EAAE;IAC7D,MAAM,OAAO,GAAG,QAAQ,CAAC,wBAAwB,EAAE,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;IACtE,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACzC,MAAM,aAAa,GAAG,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAEhD,EAAE,CAAC,uEAAuE,EAAE,GAAG,EAAE;QAC7E,aAAa,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC;QAC/C,aAAa,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;QAC/D,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;YAC7B,mBAAmB,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACpG,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;QAC9D,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8EAA8E,EAAE,GAAG,EAAE;QACpF,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACtC,oBAAoB,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kEAAkE,EAAE,GAAG,EAAE;QACxE,oBAAoB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;IACvF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC1D,mBAAmB,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2EAA2E,EAAE,GAAG,EAAE;QACjF,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uFAAuF,EAAE,GAAG,EAAE;QAC7F,MAAM,YAAY,GAAG,UAAU,CAAC,QAAQ,CAAC,wBAAwB,EAAE,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;QAC/F,UAAU,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC;IACjE,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=when_rendering_each_mode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"when_rendering_each_mode.d.ts","sourceRoot":"","sources":["../../../for_layoutWrapperClasses/when_rendering_each_mode.ts"],"names":[],"mappings":""}
@@ -0,0 +1,39 @@
1
+ import { LayoutMode, defaultLayoutConfigState, isLayoutMaskVisible, layoutModes, layoutWrapperClasses, toggleSidebar, withMobile, withMode, withSidebarAnchored, withSidebarRevealed, } from '../configuration';
2
+ describe('when rendering each mode', () => {
3
+ const started = defaultLayoutConfigState();
4
+ it('should always start with the wrapper class', () => {
5
+ layoutWrapperClasses(started)[0].should.equal('layout-wrapper');
6
+ });
7
+ for (const mode of layoutModes) {
8
+ it(`should put the '${mode}' mode class on the wrapper`, () => {
9
+ layoutWrapperClasses(withMode(started, mode)).should.contain(`layout-${mode}`);
10
+ });
11
+ }
12
+ it('should mark a closed static sidebar inactive', () => {
13
+ layoutWrapperClasses(toggleSidebar(withMode(started, LayoutMode.Static))).should.contain('layout-static-inactive');
14
+ });
15
+ it('should not mark an open static sidebar inactive', () => {
16
+ layoutWrapperClasses(withMode(started, LayoutMode.Static)).should.not.contain('layout-static-inactive');
17
+ });
18
+ it('should mark an opened overlay sidebar active', () => {
19
+ layoutWrapperClasses(toggleSidebar(withMode(started, LayoutMode.Overlay))).should.contain('layout-overlay-active');
20
+ });
21
+ it('should mark a revealed sidebar active', () => {
22
+ layoutWrapperClasses(withSidebarRevealed(withMode(started, LayoutMode.Reveal), true)).should.contain('layout-sidebar-active');
23
+ });
24
+ it('should mark an anchored sidebar anchored', () => {
25
+ layoutWrapperClasses(withSidebarAnchored(withMode(started, LayoutMode.Drawer), true)).should.contain('layout-sidebar-anchored');
26
+ });
27
+ it('should not mark a static sidebar anchored, since only reveal and drawer answer to the pointer', () => {
28
+ layoutWrapperClasses(withSidebarAnchored(withMode(started, LayoutMode.Static), true)).should.not.contain('layout-sidebar-anchored');
29
+ });
30
+ it('should show the mask only while a floating sidebar is open', () => {
31
+ isLayoutMaskVisible(toggleSidebar(withMode(started, LayoutMode.Overlay))).should.be.true;
32
+ isLayoutMaskVisible(withMode(started, LayoutMode.Overlay)).should.be.false;
33
+ isLayoutMaskVisible(withMode(started, LayoutMode.Static)).should.be.false;
34
+ });
35
+ it('should show the mask on mobile once the sidebar is opened, whatever the chosen mode', () => {
36
+ isLayoutMaskVisible(toggleSidebar(withMobile(withMode(started, LayoutMode.Horizontal), true))).should.be.true;
37
+ });
38
+ });
39
+ //# sourceMappingURL=when_rendering_each_mode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"when_rendering_each_mode.js","sourceRoot":"","sources":["../../../for_layoutWrapperClasses/when_rendering_each_mode.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=when_aggregating_the_navigation_contributions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"when_aggregating_the_navigation_contributions.d.ts","sourceRoot":"","sources":["../../../for_navigation/when_aggregating_the_navigation_contributions.ts"],"names":[],"mappings":""}
@@ -0,0 +1,37 @@
1
+ import { aggregateContributions } from '@cratis/scene.engine';
2
+ import { extractNavigationItem } from '@cratis/scene.react';
3
+ import { galleryScreen, galleryScreenTemplates, navigationContributionPoint, navigationContributions, navigationEntries } from '../gallery';
4
+ describe('when aggregating the navigation contributions', () => {
5
+ const aggregated = aggregateContributions(navigationContributions, navigationContributionPoint);
6
+ const items = aggregated.map(extractNavigationItem).filter((item) => item !== undefined);
7
+ it('should aggregate one contribution per navigation entry', () => {
8
+ aggregated.should.have.lengthOf(navigationEntries.length);
9
+ });
10
+ it('should extract every one of them as a navigation item', () => {
11
+ items.should.have.lengthOf(navigationEntries.length);
12
+ });
13
+ it('should carry the label and target screen through the property bag unchanged', () => {
14
+ const dashboard = items.find(item => item.targetScreen === 'Dashboard');
15
+ dashboard.label.should.equal('Dashboard');
16
+ });
17
+ it('should carry the group so an aggregated navigation can section itself', () => {
18
+ items.filter(item => item.group === undefined).should.be.empty;
19
+ });
20
+ it('should carry a route parameter bag rather than leaving it undefined', () => {
21
+ items.filter(item => item.routeParameterBindings === undefined).should.be.empty;
22
+ });
23
+ it('should point every entry at a screen template this blueprint provides', () => {
24
+ const provided = new Set(galleryScreenTemplates.map(template => template.name));
25
+ items.filter(item => !provided.has(item.targetScreen)).map(item => item.targetScreen).should.be.empty;
26
+ });
27
+ it('should point every entry at a screen the gallery actually ships', () => {
28
+ items.filter(item => galleryScreen(item.targetScreen) === undefined).map(item => item.targetScreen).should.be.empty;
29
+ });
30
+ it('should carry the contributions on every application-shell screen', () => {
31
+ galleryScreen('Dashboard').contributions.should.have.lengthOf(navigationEntries.length);
32
+ });
33
+ it('should not carry navigation on a full-page screen, which has no navigation to render', () => {
34
+ galleryScreen('Login').contributions.should.be.empty;
35
+ });
36
+ });
37
+ //# sourceMappingURL=when_aggregating_the_navigation_contributions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"when_aggregating_the_navigation_contributions.js","sourceRoot":"","sources":["../../../for_navigation/when_aggregating_the_navigation_contributions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import type { StoryObj } from '@storybook/react';
2
+ import { GalleryScreenPreview } from './GalleryScreenPreview';
3
+ declare const meta: {
4
+ title: string;
5
+ component: typeof GalleryScreenPreview;
6
+ parameters: {
7
+ layout: string;
8
+ docs: {
9
+ description: {
10
+ component: string;
11
+ };
12
+ };
13
+ };
14
+ tags: string[];
15
+ };
16
+ export default meta;
17
+ type Story = StoryObj<typeof meta>;
18
+ export declare const Dashboard: Story;
19
+ export declare const List: Story;
20
+ export declare const Detail: Story;
21
+ export declare const Form: Story;
22
+ export declare const Empty: Story;
23
+ export declare const Documentation: Story;
24
+ export declare const ProfileSettings: Story;
25
+ export declare const UserManagement: Story;
26
+ export declare const Invoice: Story;
27
+ export declare const Help: Story;
28
+ export declare const ModuleWorkspace: Story;
29
+ export declare const FeatureSection: Story;
30
+ export declare const SliceSection: Story;
31
+ //# sourceMappingURL=ApplicationScreens.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApplicationScreens.stories.d.ts","sourceRoot":"","sources":["../../../gallery/ApplicationScreens.stories.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAU9D,QAAA,MAAM,IAAI;;;;QAIF,MAAM;QACN,IAAI;YACA,WAAW;gBACP,SAAS;;;;;CAKoB,CAAC;eAE/B,IAAI;AAEnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAGnC,eAAO,MAAM,SAAS,EAAE,KAA6C,CAAC;AAGtE,eAAO,MAAM,IAAI,EAAE,KAA4C,CAAC;AAGhE,eAAO,MAAM,MAAM,EAAE,KAA8C,CAAC;AAGpE,eAAO,MAAM,IAAI,EAAE,KAA4C,CAAC;AAGhE,eAAO,MAAM,KAAK,EAAE,KAAyC,CAAC;AAG9D,eAAO,MAAM,aAAa,EAAE,KAAiD,CAAC;AAG9E,eAAO,MAAM,eAAe,EAAE,KAAmD,CAAC;AAGlF,eAAO,MAAM,cAAc,EAAE,KAAkD,CAAC;AAGhF,eAAO,MAAM,OAAO,EAAE,KAA2C,CAAC;AAGlE,eAAO,MAAM,IAAI,EAAE,KAAwC,CAAC;AAG5D,eAAO,MAAM,eAAe,EAAE,KAAmD,CAAC;AAGlF,eAAO,MAAM,cAAc,EAAE,KAAkD,CAAC;AAGhF,eAAO,MAAM,YAAY,EAAE,KAAgD,CAAC"}
@@ -0,0 +1,29 @@
1
+ import { GalleryScreenPreview } from './GalleryScreenPreview';
2
+ const meta = {
3
+ title: 'Blueprint/Application screens',
4
+ component: GalleryScreenPreview,
5
+ parameters: {
6
+ layout: 'fullscreen',
7
+ docs: {
8
+ description: {
9
+ component: 'The ten in-application screen templates plus the three-level nesting chain, each booted through the real engine as a screen.',
10
+ },
11
+ },
12
+ },
13
+ tags: ['autodocs'],
14
+ };
15
+ export default meta;
16
+ export const Dashboard = { args: { screenName: 'Dashboard' } };
17
+ export const List = { args: { screenName: 'CrudList' } };
18
+ export const Detail = { args: { screenName: 'DetailView' } };
19
+ export const Form = { args: { screenName: 'FormPage' } };
20
+ export const Empty = { args: { screenName: 'Empty' } };
21
+ export const Documentation = { args: { screenName: 'Documentation' } };
22
+ export const ProfileSettings = { args: { screenName: 'ProfileSettings' } };
23
+ export const UserManagement = { args: { screenName: 'UserManagement' } };
24
+ export const Invoice = { args: { screenName: 'Invoice' } };
25
+ export const Help = { args: { screenName: 'Help' } };
26
+ export const ModuleWorkspace = { args: { screenName: 'ModuleWorkspace' } };
27
+ export const FeatureSection = { args: { screenName: 'FeatureSection' } };
28
+ export const SliceSection = { args: { screenName: 'SliceSection' } };
29
+ //# sourceMappingURL=ApplicationScreens.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApplicationScreens.stories.js","sourceRoot":"","sources":["../../../gallery/ApplicationScreens.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAU9D,MAAM,IAAI,GAAG;IACT,KAAK,EAAE,+BAA+B;IACtC,SAAS,EAAE,oBAAoB;IAC/B,UAAU,EAAE;QACR,MAAM,EAAE,YAAY;QACpB,IAAI,EAAE;YACF,WAAW,EAAE;gBACT,SAAS,EAAE,8HAA8H;aAC5I;SACJ;KACJ;IACD,IAAI,EAAE,CAAC,UAAU,CAAC;CACuB,CAAC;AAE9C,eAAe,IAAI,CAAC;AAKpB,MAAM,CAAC,MAAM,SAAS,GAAU,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,WAAW,EAAE,EAAE,CAAC;AAGtE,MAAM,CAAC,MAAM,IAAI,GAAU,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,CAAC;AAGhE,MAAM,CAAC,MAAM,MAAM,GAAU,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,YAAY,EAAE,EAAE,CAAC;AAGpE,MAAM,CAAC,MAAM,IAAI,GAAU,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,CAAC;AAGhE,MAAM,CAAC,MAAM,KAAK,GAAU,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC;AAG9D,MAAM,CAAC,MAAM,aAAa,GAAU,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,eAAe,EAAE,EAAE,CAAC;AAG9E,MAAM,CAAC,MAAM,eAAe,GAAU,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,iBAAiB,EAAE,EAAE,CAAC;AAGlF,MAAM,CAAC,MAAM,cAAc,GAAU,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,gBAAgB,EAAE,EAAE,CAAC;AAGhF,MAAM,CAAC,MAAM,OAAO,GAAU,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,CAAC;AAGlE,MAAM,CAAC,MAAM,IAAI,GAAU,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,CAAC;AAG5D,MAAM,CAAC,MAAM,eAAe,GAAU,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,iBAAiB,EAAE,EAAE,CAAC;AAGlF,MAAM,CAAC,MAAM,cAAc,GAAU,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,gBAAgB,EAAE,EAAE,CAAC;AAGhF,MAAM,CAAC,MAAM,YAAY,GAAU,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,cAAc,EAAE,EAAE,CAAC"}
@@ -0,0 +1,28 @@
1
+ import type { StoryObj } from '@storybook/react';
2
+ import { GalleryScreenPreview } from './GalleryScreenPreview';
3
+ declare const meta: {
4
+ title: string;
5
+ component: typeof GalleryScreenPreview;
6
+ parameters: {
7
+ layout: string;
8
+ docs: {
9
+ description: {
10
+ component: string;
11
+ };
12
+ };
13
+ };
14
+ tags: string[];
15
+ };
16
+ export default meta;
17
+ type Story = StoryObj<typeof meta>;
18
+ export declare const Login: Story;
19
+ export declare const Register: Story;
20
+ export declare const ForgotPassword: Story;
21
+ export declare const NewPassword: Story;
22
+ export declare const Verification: Story;
23
+ export declare const LockScreen: Story;
24
+ export declare const Error: Story;
25
+ export declare const AccessDenied: Story;
26
+ export declare const NotFound: Story;
27
+ export declare const Landing: Story;
28
+ //# sourceMappingURL=FullPageScreens.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FullPageScreens.stories.d.ts","sourceRoot":"","sources":["../../../gallery/FullPageScreens.stories.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAS9D,QAAA,MAAM,IAAI;;;;QAIF,MAAM;QACN,IAAI;YACA,WAAW;gBACP,SAAS;;;;;CAKoB,CAAC;eAE/B,IAAI;AAEnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAGnC,eAAO,MAAM,KAAK,EAAE,KAAyC,CAAC;AAG9D,eAAO,MAAM,QAAQ,EAAE,KAA4C,CAAC;AAGpE,eAAO,MAAM,cAAc,EAAE,KAAkD,CAAC;AAGhF,eAAO,MAAM,WAAW,EAAE,KAA+C,CAAC;AAG1E,eAAO,MAAM,YAAY,EAAE,KAAgD,CAAC;AAG5E,eAAO,MAAM,UAAU,EAAE,KAA8C,CAAC;AAGxE,eAAO,MAAM,KAAK,EAAE,KAAyC,CAAC;AAG9D,eAAO,MAAM,YAAY,EAAE,KAAgD,CAAC;AAG5E,eAAO,MAAM,QAAQ,EAAE,KAA4C,CAAC;AAGpE,eAAO,MAAM,OAAO,EAAE,KAA2C,CAAC"}
@@ -0,0 +1,26 @@
1
+ import { GalleryScreenPreview } from './GalleryScreenPreview';
2
+ const meta = {
3
+ title: 'Blueprint/Full-page screens',
4
+ component: GalleryScreenPreview,
5
+ parameters: {
6
+ layout: 'fullscreen',
7
+ docs: {
8
+ description: {
9
+ component: 'The ten chrome-less screens: everything around signing in, the three status pages, and the landing page.',
10
+ },
11
+ },
12
+ },
13
+ tags: ['autodocs'],
14
+ };
15
+ export default meta;
16
+ export const Login = { args: { screenName: 'Login' } };
17
+ export const Register = { args: { screenName: 'Register' } };
18
+ export const ForgotPassword = { args: { screenName: 'ForgotPassword' } };
19
+ export const NewPassword = { args: { screenName: 'NewPassword' } };
20
+ export const Verification = { args: { screenName: 'Verification' } };
21
+ export const LockScreen = { args: { screenName: 'LockScreen' } };
22
+ export const Error = { args: { screenName: 'Error' } };
23
+ export const AccessDenied = { args: { screenName: 'AccessDenied' } };
24
+ export const NotFound = { args: { screenName: 'NotFound' } };
25
+ export const Landing = { args: { screenName: 'Landing' } };
26
+ //# sourceMappingURL=FullPageScreens.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FullPageScreens.stories.js","sourceRoot":"","sources":["../../../gallery/FullPageScreens.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAS9D,MAAM,IAAI,GAAG;IACT,KAAK,EAAE,6BAA6B;IACpC,SAAS,EAAE,oBAAoB;IAC/B,UAAU,EAAE;QACR,MAAM,EAAE,YAAY;QACpB,IAAI,EAAE;YACF,WAAW,EAAE;gBACT,SAAS,EAAE,0GAA0G;aACxH;SACJ;KACJ;IACD,IAAI,EAAE,CAAC,UAAU,CAAC;CACuB,CAAC;AAE9C,eAAe,IAAI,CAAC;AAKpB,MAAM,CAAC,MAAM,KAAK,GAAU,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC;AAG9D,MAAM,CAAC,MAAM,QAAQ,GAAU,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,CAAC;AAGpE,MAAM,CAAC,MAAM,cAAc,GAAU,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,gBAAgB,EAAE,EAAE,CAAC;AAGhF,MAAM,CAAC,MAAM,WAAW,GAAU,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,aAAa,EAAE,EAAE,CAAC;AAG1E,MAAM,CAAC,MAAM,YAAY,GAAU,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,cAAc,EAAE,EAAE,CAAC;AAG5E,MAAM,CAAC,MAAM,UAAU,GAAU,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,YAAY,EAAE,EAAE,CAAC;AAGxE,MAAM,CAAC,MAAM,KAAK,GAAU,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC;AAG9D,MAAM,CAAC,MAAM,YAAY,GAAU,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,cAAc,EAAE,EAAE,CAAC;AAG5E,MAAM,CAAC,MAAM,QAAQ,GAAU,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,CAAC;AAGpE,MAAM,CAAC,MAAM,OAAO,GAAU,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { Theme } from '@cratis/scene.model';
2
+ import { ComponentRegistry } from '@cratis/scene.react';
3
+ import { LayoutConfigState } from '../configuration';
4
+ export declare const galleryPreviewRegistry: ComponentRegistry;
5
+ export interface GalleryScreenPreviewProps {
6
+ screenName: string;
7
+ initialConfig?: Partial<LayoutConfigState>;
8
+ themes?: Theme[];
9
+ registry?: ComponentRegistry;
10
+ }
11
+ export declare function GalleryScreenPreview({ screenName, initialConfig, themes, registry }: GalleryScreenPreviewProps): import("react").JSX.Element;
12
+ //# sourceMappingURL=GalleryScreenPreview.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GalleryScreenPreview.d.ts","sourceRoot":"","sources":["../../../gallery/GalleryScreenPreview.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAoC,MAAM,qBAAqB,CAAC;AAC1F,OAAO,EAAwB,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAe3E,eAAO,MAAM,sBAAsB,EAAE,iBAAwE,CAAC;AAE9G,MAAM,WAAW,yBAAyB;IAEtC,UAAU,EAAE,MAAM,CAAC;IAGnB,aAAa,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAG3C,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;IAGjB,QAAQ,CAAC,EAAE,iBAAiB,CAAC;CAChC;AAeD,wBAAgB,oBAAoB,CAAC,EAAE,UAAU,EAAE,aAAa,EAAE,MAA+B,EAAE,QAAiC,EAAE,EAAE,yBAAyB,+BAiBhK"}
@@ -0,0 +1,60 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import { useMemo } from 'react';
3
+ import { coreComponents, SceneElementView } from '@cratis/scene.react';
4
+ import { LayoutConfigProvider } from '../configuration/LayoutConfigProvider.js';
5
+ import { defaultBlueprintComponents } from '../defaultBlueprintComponents.js';
6
+ import { defaultBlueprintThemes } from '../themes/defaultBlueprintThemes.js';
7
+ import { LayoutThemeProvider } from '../themes/LayoutThemeProvider.js';
8
+ import { composeScreenElement } from './composeScreen.js';
9
+ import { galleryComponentCatalog, galleryPreviewProfile } from './previewProfile.js';
10
+ import { resolveElementComponentNames } from './resolveElementNames.js';
11
+ import { galleryScreen } from './screens.js';
12
+
13
+ /**
14
+ * The registry a preview resolves against when a host does not supply one: `core` plus this blueprint.
15
+ *
16
+ * Merged by hand rather than through `mergePackageRegistries`, because reaching for this blueprint's
17
+ * *bundle* here would be circular - the bundle is assembled from the gallery this file belongs to. Registry
18
+ * keys carry their package name, so merge order cannot cause a collision either way.
19
+ */ const galleryPreviewRegistry = {
20
+ ...coreComponents,
21
+ ...defaultBlueprintComponents
22
+ };
23
+ /**
24
+ * Boots one gallery screen through the real engine.
25
+ *
26
+ * Nothing here is a preview-only path: the screen is a real {@link Screen}, its element tree is resolved by
27
+ * the real `resolveComponentName`, and it is rendered by the real `SceneElementView` against the real
28
+ * registry. That is the point of shipping a gallery at all - a mockup proves that someone can draw a
29
+ * dashboard, and this proves the blueprint renders one.
30
+ *
31
+ * Component names belonging to packages the host has not loaded resolve but find no implementation, and
32
+ * come out as `UnresolvedComponent`'s dashed red box naming what is missing. That is the designed outcome:
33
+ * a preview of a blueprint against half a profile should look visibly incomplete rather than quietly
34
+ * wrong.
35
+ */ function GalleryScreenPreview({ screenName, initialConfig, themes = defaultBlueprintThemes, registry = galleryPreviewRegistry }) {
36
+ const element = useMemo(()=>{
37
+ const screen = galleryScreen(screenName);
38
+ if (!screen) {
39
+ throw new Error(`The gallery has no screen named '${screenName}'.`);
40
+ }
41
+ return resolveElementComponentNames(composeScreenElement(screen), galleryPreviewProfile, galleryComponentCatalog);
42
+ }, [
43
+ screenName
44
+ ]);
45
+ return /*#__PURE__*/ jsx(LayoutConfigProvider, {
46
+ initialConfig: initialConfig,
47
+ storage: null,
48
+ children: /*#__PURE__*/ jsx(LayoutThemeProvider, {
49
+ themes: themes,
50
+ children: /*#__PURE__*/ jsx(SceneElementView, {
51
+ element: element,
52
+ registry: registry,
53
+ resolveBinding: ()=>undefined
54
+ })
55
+ })
56
+ });
57
+ }
58
+
59
+ export { GalleryScreenPreview, galleryPreviewRegistry };
60
+ //# sourceMappingURL=GalleryScreenPreview.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GalleryScreenPreview.js","sources":["../../../gallery/GalleryScreenPreview.tsx"],"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 { useMemo } from 'react';\nimport { Theme } from '@cratis/scene.model';\nimport { ComponentRegistry, SceneElementView, coreComponents } from '@cratis/scene.react';\nimport { LayoutConfigProvider, LayoutConfigState } from '../configuration';\nimport { defaultBlueprintComponents } from '../defaultBlueprintComponents';\nimport { LayoutThemeProvider, defaultBlueprintThemes } from '../themes';\nimport { composeScreenElement } from './composeScreen';\nimport { galleryComponentCatalog, galleryPreviewProfile } from './previewProfile';\nimport { resolveElementComponentNames } from './resolveElementNames';\nimport { galleryScreen } from './screens';\n\n/**\n * The registry a preview resolves against when a host does not supply one: `core` plus this blueprint.\n *\n * Merged by hand rather than through `mergePackageRegistries`, because reaching for this blueprint's\n * *bundle* here would be circular - the bundle is assembled from the gallery this file belongs to. Registry\n * keys carry their package name, so merge order cannot cause a collision either way.\n */\nexport const galleryPreviewRegistry: ComponentRegistry = { ...coreComponents, ...defaultBlueprintComponents };\n\nexport interface GalleryScreenPreviewProps {\n /** The name of the gallery screen to boot. */\n screenName: string;\n\n /** Configuration to start from - a story pinning a mode, or a host restoring a session. */\n initialConfig?: Partial<LayoutConfigState>;\n\n /** The themes the configurator may switch between. Defaults to the two this blueprint ships. */\n themes?: Theme[];\n\n /** The component registry to render against. Defaults to `core` plus this blueprint's own components. */\n registry?: ComponentRegistry;\n}\n\n/**\n * Boots one gallery screen through the real engine.\n *\n * Nothing here is a preview-only path: the screen is a real {@link Screen}, its element tree is resolved by\n * the real `resolveComponentName`, and it is rendered by the real `SceneElementView` against the real\n * registry. That is the point of shipping a gallery at all - a mockup proves that someone can draw a\n * dashboard, and this proves the blueprint renders one.\n *\n * Component names belonging to packages the host has not loaded resolve but find no implementation, and\n * come out as `UnresolvedComponent`'s dashed red box naming what is missing. That is the designed outcome:\n * a preview of a blueprint against half a profile should look visibly incomplete rather than quietly\n * wrong.\n */\nexport function GalleryScreenPreview({ screenName, initialConfig, themes = defaultBlueprintThemes, registry = galleryPreviewRegistry }: GalleryScreenPreviewProps) {\n const element = useMemo(() => {\n const screen = galleryScreen(screenName);\n if (!screen) {\n throw new Error(`The gallery has no screen named '${screenName}'.`);\n }\n\n return resolveElementComponentNames(composeScreenElement(screen), galleryPreviewProfile, galleryComponentCatalog);\n }, [screenName]);\n\n return (\n <LayoutConfigProvider initialConfig={initialConfig} storage={null}>\n <LayoutThemeProvider themes={themes}>\n <SceneElementView element={element} registry={registry} resolveBinding={() => undefined} />\n </LayoutThemeProvider>\n </LayoutConfigProvider>\n );\n}\n"],"names":["galleryPreviewRegistry","coreComponents","defaultBlueprintComponents","GalleryScreenPreview","screenName","initialConfig","themes","defaultBlueprintThemes","registry","element","useMemo","screen","galleryScreen","Error","resolveElementComponentNames","composeScreenElement","galleryPreviewProfile","galleryComponentCatalog","_jsx","LayoutConfigProvider","storage","LayoutThemeProvider","SceneElementView","resolveBinding","undefined"],"mappings":";;;;;;;;;;;;AAcA;;;;;;UAOaA,sBAAAA,GAA4C;AAAE,IAAA,GAAGC,cAAc;AAAE,IAAA,GAAGC;AAA2B;AAgB5G;;;;;;;;;;;;AAYC,IACM,SAASC,oBAAAA,CAAqB,EAAEC,UAAU,EAAEC,aAAa,EAAEC,MAAAA,GAASC,sBAAsB,EAAEC,QAAAA,GAAWR,sBAAsB,EAA6B,EAAA;AAC7J,IAAA,MAAMS,UAAUC,OAAAA,CAAQ,IAAA;AACpB,QAAA,MAAMC,SAASC,aAAAA,CAAcR,UAAAA,CAAAA;AAC7B,QAAA,IAAI,CAACO,MAAAA,EAAQ;AACT,YAAA,MAAM,IAAIE,KAAAA,CAAM,CAAC,iCAAiC,EAAET,UAAAA,CAAW,EAAE,CAAC,CAAA;AACtE,QAAA;QAEA,OAAOU,4BAAAA,CAA6BC,oBAAAA,CAAqBJ,MAAAA,CAAAA,EAASK,qBAAAA,EAAuBC,uBAAAA,CAAAA;IAC7F,CAAA,EAAG;AAACb,QAAAA;AAAW,KAAA,CAAA;AAEf,IAAA,qBACIc,GAAA,CAACC,oBAAAA,EAAAA;QAAqBd,aAAAA,EAAeA,aAAAA;QAAee,OAAAA,EAAS,IAAA;AACzD,QAAA,QAAA,gBAAAF,GAAA,CAACG,mBAAAA,EAAAA;YAAoBf,MAAAA,EAAQA,MAAAA;AACzB,YAAA,QAAA,gBAAAY,GAAA,CAACI,gBAAAA,EAAAA;gBAAiBb,OAAAA,EAASA,OAAAA;gBAASD,QAAAA,EAAUA,QAAAA;AAAUe,gBAAAA,cAAAA,EAAgB,IAAMC;;;;AAI9F;;;;"}
@@ -0,0 +1,8 @@
1
+ export interface NavigationEntry {
2
+ label: string;
3
+ targetScreen: string;
4
+ icon: string;
5
+ group: string;
6
+ order: number;
7
+ }
8
+ //# sourceMappingURL=NavigationEntry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NavigationEntry.d.ts","sourceRoot":"","sources":["../../../gallery/NavigationEntry.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,eAAe;IAE5B,KAAK,EAAE,MAAM,CAAC;IAGd,YAAY,EAAE,MAAM,CAAC;IAGrB,IAAI,EAAE,MAAM,CAAC;IAGb,KAAK,EAAE,MAAM,CAAC;IAGd,KAAK,EAAE,MAAM,CAAC;CACjB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=NavigationEntry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NavigationEntry.js","sourceRoot":"","sources":["../../../gallery/NavigationEntry.ts"],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ export declare enum TemplateSlotName {
2
+ Header = "header",
3
+ Body = "body",
4
+ SidePanel = "sidePanel",
5
+ Toolbar = "toolbar",
6
+ Actions = "actions",
7
+ Stats = "stats",
8
+ Primary = "primary",
9
+ Secondary = "secondary"
10
+ }
11
+ //# sourceMappingURL=TemplateSlotName.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TemplateSlotName.d.ts","sourceRoot":"","sources":["../../../gallery/TemplateSlotName.ts"],"names":[],"mappings":"AAWA,oBAAY,gBAAgB;IAExB,MAAM,WAAW;IAGjB,IAAI,SAAS;IAGb,SAAS,cAAc;IAGvB,OAAO,YAAY;IAGnB,OAAO,YAAY;IAGnB,KAAK,UAAU;IAGf,OAAO,YAAY;IAGnB,SAAS,cAAc;CAC1B"}
@@ -0,0 +1,23 @@
1
+ // Copyright (c) Cratis. All rights reserved.
2
+ // Licensed under the MIT license. See LICENSE file in the project root for full license information.
3
+ /**
4
+ * The slots the gallery's screen templates offer to whatever they contain.
5
+ *
6
+ * Distinct from {@link SlotName}, which is the *layout's* vocabulary. A screen template declares its own
7
+ * slots, and a template nested inside it names one of these in `fitsSlot` - so the same name means
8
+ * different places at different depths, and that is fine: `fitsSlot` is always resolved against the direct
9
+ * parent, never globally.
10
+ */ var TemplateSlotName = /*#__PURE__*/ function(TemplateSlotName) {
11
+ /** A template's own title area. */ TemplateSlotName["Header"] = "header";
12
+ /** The main region a nested template fits into. */ TemplateSlotName["Body"] = "body";
13
+ /** An optional column beside the body. */ TemplateSlotName["SidePanel"] = "sidePanel";
14
+ /** The action strip above a body. */ TemplateSlotName["Toolbar"] = "toolbar";
15
+ /** Buttons belonging to a header or a form. */ TemplateSlotName["Actions"] = "actions";
16
+ /** The row of figures a dashboard opens with. */ TemplateSlotName["Stats"] = "stats";
17
+ /** The larger left-hand column of a dashboard. */ TemplateSlotName["Primary"] = "primary";
18
+ /** The narrower right-hand column of a dashboard. */ TemplateSlotName["Secondary"] = "secondary";
19
+ return TemplateSlotName;
20
+ }({});
21
+
22
+ export { TemplateSlotName };
23
+ //# sourceMappingURL=TemplateSlotName.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TemplateSlotName.js","sources":["../../../gallery/TemplateSlotName.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\n/**\n * The slots the gallery's screen templates offer to whatever they contain.\n *\n * Distinct from {@link SlotName}, which is the *layout's* vocabulary. A screen template declares its own\n * slots, and a template nested inside it names one of these in `fitsSlot` - so the same name means\n * different places at different depths, and that is fine: `fitsSlot` is always resolved against the direct\n * parent, never globally.\n */\nexport enum TemplateSlotName {\n /** A template's own title area. */\n Header = 'header',\n\n /** The main region a nested template fits into. */\n Body = 'body',\n\n /** An optional column beside the body. */\n SidePanel = 'sidePanel',\n\n /** The action strip above a body. */\n Toolbar = 'toolbar',\n\n /** Buttons belonging to a header or a form. */\n Actions = 'actions',\n\n /** The row of figures a dashboard opens with. */\n Stats = 'stats',\n\n /** The larger left-hand column of a dashboard. */\n Primary = 'primary',\n\n /** The narrower right-hand column of a dashboard. */\n Secondary = 'secondary',\n}\n"],"names":["TemplateSlotName"],"mappings":"AAAA;AACA;AAEA;;;;;;;IAQO,IAAKA,gBAAAA,iBAAAA,SAAAA,gBAAAA,EAAAA;wCACyB,gBAAA,CAAA,QAAA,CAAA,GAAA,QAAA;wDAGgB,gBAAA,CAAA,MAAA,CAAA,GAAA,MAAA;+CAGT,gBAAA,CAAA,WAAA,CAAA,GAAA,WAAA;0CAGL,gBAAA,CAAA,SAAA,CAAA,GAAA,SAAA;oDAGU,gBAAA,CAAA,SAAA,CAAA,GAAA,SAAA;sDAGE,gBAAA,CAAA,OAAA,CAAA,GAAA,OAAA;uDAGC,gBAAA,CAAA,SAAA,CAAA,GAAA,SAAA;0DAGG,gBAAA,CAAA,WAAA,CAAA,GAAA,WAAA;AAtB3CA,IAAAA,OAAAA,gBAAAA;AAwBX,CAAA,CAAA,EAAA;;;;"}
@@ -0,0 +1,8 @@
1
+ import { SceneElement } from '@cratis/scene.model';
2
+ export interface BreadcrumbEntry {
3
+ label: string;
4
+ targetScreen?: string;
5
+ }
6
+ export declare function applicationChrome(activeScreen: string, breadcrumb: BreadcrumbEntry[]): Record<string, SceneElement[]>;
7
+ export declare function fullPageChrome(): Record<string, SceneElement[]>;
8
+ //# sourceMappingURL=applicationChrome.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"applicationChrome.d.ts","sourceRoot":"","sources":["../../../gallery/applicationChrome.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AA0CnD,MAAM,WAAW,eAAe;IAE5B,KAAK,EAAE,MAAM,CAAC;IAGd,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAYD,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,CAmCrH;AASD,wBAAgB,cAAc,IAAI,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,CAE/D"}