@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 @@
1
+ {"version":3,"file":"widgets.js","sources":["../../../gallery/widgets.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 { SceneElement } from '@cratis/scene.model';\nimport { ComponentName } from '../ComponentName';\nimport { button, card, externalComponent, panel, text } from './elements';\n\n/**\n * The repeated pieces the gallery's screen templates are built from.\n *\n * The gallery only earns its place if a preview shows something that looks like an application - a\n * dashboard with four stat cards over two columns of larger widgets, a list with real columns and real\n * rows. Seeded content that says \"Lorem ipsum\" proves the renderer runs and nothing else. These builders\n * are what keep twenty templates' worth of realistic content from becoming twenty pages of literals.\n */\n\n/** A screen's title, subtitle and actions - the furniture every template starts with. */\nexport function pageHeader(id: string, title: string, subtitle: string, actions: SceneElement[] = []): SceneElement {\n return externalComponent(id, ComponentName.PageHeader, { title, subtitle }, { actions });\n}\n\n/**\n * One of the four figures across the top of a dashboard - the composition Sakai's dashboard opens with,\n * and the one every template in the line has copied since.\n */\nexport function statCard(id: string, label: string, value: string, delta: string, icon: string): SceneElement {\n return card(id, [text(`${id}-label`, label), text(`${id}-value`, value), text(`${id}-delta`, delta)], { icon, variant: 'stat' });\n}\n\n/** A titled surface holding a widget's content. */\nexport function widget(id: string, title: string, content: SceneElement[]): SceneElement {\n return card(id, [text(`${id}-title`, title), ...content], { title });\n}\n\n/** A table with real columns and real rows, so a list template looks like a list. */\nexport function table(id: string, columns: { field: string; header: string }[], rows: Record<string, unknown>[]): SceneElement {\n return externalComponent(\n id,\n 'dataTable',\n { value: rows, dataKey: columns[0]?.field ?? 'id', paginator: rows.length > 8, rows: 8 },\n { columns: columns.map(column => externalComponent(`${id}-${column.field}`, 'column', { field: column.field, header: column.header, sortable: true })) },\n );\n}\n\n/** One labeled input in a form template. */\nexport function field(id: string, label: string, componentName: string, properties: Record<string, unknown> = {}): SceneElement {\n return panel(id, [text(`${id}-label`, label), externalComponent(`${id}-input`, componentName, properties)]);\n}\n\n/** A row of buttons closing a form. */\nexport function formActions(id: string, confirmLabel: string, cancelLabel = 'Cancel'): SceneElement {\n return panel(id, [button(`${id}-confirm`, confirmLabel, { severity: 'primary' }), button(`${id}-cancel`, cancelLabel, { severity: 'secondary' })]);\n}\n\n/** The empty state a list shows before anything exists - the designed one, never a build-time apology. */\nexport function emptyState(id: string, title: string, message: string, actionLabel: string): SceneElement {\n return card(id, [\n externalComponent(`${id}-icon`, 'image', { alt: title }),\n text(`${id}-title`, title),\n text(`${id}-message`, message),\n button(`${id}-action`, actionLabel, { severity: 'primary' }),\n ]);\n}\n"],"names":["pageHeader","id","title","subtitle","actions","externalComponent","ComponentName","PageHeader","statCard","label","value","delta","icon","card","text","variant","widget","content","table","columns","rows","dataKey","field","paginator","length","map","column","header","sortable","componentName","properties","panel","formActions","confirmLabel","cancelLabel","button","severity","emptyState","message","actionLabel","alt"],"mappings":"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"}
@@ -0,0 +1,395 @@
1
+ 'use strict';
2
+
3
+ var scene_model = require('@cratis/scene.model');
4
+ var SlotName = require('../layouts/SlotName.js');
5
+ var flowBuilders = require('../layouts/flowBuilders.js');
6
+ require('../layouts/shellComponents.js');
7
+ require('../layouts/appShell.js');
8
+ require('../layouts/fullPage.js');
9
+ var TemplateSlotName = require('./TemplateSlotName.js');
10
+ var elements = require('./elements.js');
11
+ var widgets = require('./widgets.js');
12
+
13
+ // Copyright (c) Cratis. All rights reserved.
14
+ // Licensed under the MIT license. See LICENSE file in the project root for full license information.
15
+ /**
16
+ * The five workhorse shapes inside an application shell: a dashboard, a list, a detail, a form and the
17
+ * designed empty state.
18
+ *
19
+ * Every one fits the layout's `content` slot, and every one carries realistic seeded content rather than
20
+ * placeholder text. A gallery whose dashboard shows four boxes labeled "Card" proves the renderer runs; a
21
+ * gallery whose dashboard shows revenue, orders, customers and a real table proves the blueprint is worth
22
+ * starting an application from.
23
+ */ /**
24
+ * The dashboard: four figures across the top, then two columns of larger widgets.
25
+ *
26
+ * This is Sakai's composition, and the reason to copy it is that it is the arrangement people already read
27
+ * fluently - the eye takes the row of numbers first and then settles into the detail.
28
+ *
29
+ * Its own arrangement collapses the two columns into one at a compact width, because a two-column widget
30
+ * grid on a phone is two columns of unreadable slivers.
31
+ */ const dashboardTemplate = {
32
+ name: 'Dashboard',
33
+ fitsSlot: SlotName.SlotName.Content,
34
+ slots: [
35
+ {
36
+ name: TemplateSlotName.TemplateSlotName.Stats
37
+ },
38
+ {
39
+ name: TemplateSlotName.TemplateSlotName.Primary
40
+ },
41
+ {
42
+ name: TemplateSlotName.TemplateSlotName.Secondary
43
+ }
44
+ ],
45
+ arrangement: {
46
+ root: flowBuilders.column([
47
+ flowBuilders.slotLeaf(TemplateSlotName.TemplateSlotName.Stats),
48
+ flowBuilders.grid([
49
+ flowBuilders.slotLeaf(TemplateSlotName.TemplateSlotName.Primary, {
50
+ span: 2
51
+ }),
52
+ flowBuilders.slotLeaf(TemplateSlotName.TemplateSlotName.Secondary)
53
+ ], 3, 16)
54
+ ]),
55
+ overrides: [
56
+ {
57
+ width: scene_model.WidthSizeClass.Compact,
58
+ root: flowBuilders.column([
59
+ flowBuilders.slotLeaf(TemplateSlotName.TemplateSlotName.Stats),
60
+ flowBuilders.slotLeaf(TemplateSlotName.TemplateSlotName.Primary),
61
+ flowBuilders.slotLeaf(TemplateSlotName.TemplateSlotName.Secondary)
62
+ ], 16)
63
+ }
64
+ ]
65
+ },
66
+ content: {
67
+ [TemplateSlotName.TemplateSlotName.Stats]: [
68
+ widgets.statCard('stat-revenue', 'Revenue', '$284,120', '+12.4% this month', 'pi pi-dollar'),
69
+ widgets.statCard('stat-orders', 'Orders', '1,842', '+3.1% this month', 'pi pi-shopping-cart'),
70
+ widgets.statCard('stat-customers', 'Customers', '9,410', '+128 new', 'pi pi-users'),
71
+ widgets.statCard('stat-open', 'Open tickets', '17', '-4 since Monday', 'pi pi-inbox')
72
+ ],
73
+ [TemplateSlotName.TemplateSlotName.Primary]: [
74
+ widgets.widget('widget-revenue', 'Revenue over time', [
75
+ widgets.table('revenue-table', [
76
+ {
77
+ field: 'month',
78
+ header: 'Month'
79
+ },
80
+ {
81
+ field: 'revenue',
82
+ header: 'Revenue'
83
+ },
84
+ {
85
+ field: 'change',
86
+ header: 'Change'
87
+ }
88
+ ], [
89
+ {
90
+ month: 'March',
91
+ revenue: '$284,120',
92
+ change: '+12.4%'
93
+ },
94
+ {
95
+ month: 'February',
96
+ revenue: '$252,780',
97
+ change: '+4.1%'
98
+ },
99
+ {
100
+ month: 'January',
101
+ revenue: '$242,830',
102
+ change: '-1.8%'
103
+ },
104
+ {
105
+ month: 'December',
106
+ revenue: '$247,290',
107
+ change: '+9.6%'
108
+ }
109
+ ])
110
+ ]),
111
+ widgets.widget('widget-orders', 'Recent orders', [
112
+ widgets.table('orders-table', [
113
+ {
114
+ field: 'reference',
115
+ header: 'Reference'
116
+ },
117
+ {
118
+ field: 'customer',
119
+ header: 'Customer'
120
+ },
121
+ {
122
+ field: 'total',
123
+ header: 'Total'
124
+ },
125
+ {
126
+ field: 'status',
127
+ header: 'Status'
128
+ }
129
+ ], [
130
+ {
131
+ reference: 'ORD-4192',
132
+ customer: 'Northwind Traders',
133
+ total: '$1,240.00',
134
+ status: 'Shipped'
135
+ },
136
+ {
137
+ reference: 'ORD-4191',
138
+ customer: 'Contoso Ltd',
139
+ total: '$318.50',
140
+ status: 'Packing'
141
+ },
142
+ {
143
+ reference: 'ORD-4188',
144
+ customer: 'Fabrikam',
145
+ total: '$2,980.00',
146
+ status: 'Awaiting payment'
147
+ },
148
+ {
149
+ reference: 'ORD-4184',
150
+ customer: 'Adventure Works',
151
+ total: '$76.20',
152
+ status: 'Shipped'
153
+ }
154
+ ])
155
+ ])
156
+ ],
157
+ [TemplateSlotName.TemplateSlotName.Secondary]: [
158
+ widgets.widget('widget-activity', 'Activity', [
159
+ elements.externalComponent('activity-timeline', 'timeline', {
160
+ align: 'left'
161
+ })
162
+ ]),
163
+ widgets.widget('widget-capacity', 'Warehouse capacity', [
164
+ elements.externalComponent('capacity-bar', 'progressBar', {
165
+ value: 68
166
+ })
167
+ ])
168
+ ]
169
+ },
170
+ displayName: 'Dashboard',
171
+ description: 'Four stat cards over two columns of widgets - the composition every template line opens with.'
172
+ };
173
+ /** The list: a filter toolbar, a real table, and the row actions a list needs. */ const crudListTemplate = {
174
+ name: 'CrudList',
175
+ fitsSlot: SlotName.SlotName.Content,
176
+ slots: [
177
+ {
178
+ name: TemplateSlotName.TemplateSlotName.Toolbar
179
+ },
180
+ {
181
+ name: TemplateSlotName.TemplateSlotName.Body
182
+ }
183
+ ],
184
+ content: {
185
+ [TemplateSlotName.TemplateSlotName.Toolbar]: [
186
+ widgets.pageHeader('crud-header', 'Products', '412 products across 9 categories', [
187
+ elements.button('crud-new', 'New product', {
188
+ severity: 'primary',
189
+ icon: 'pi pi-plus'
190
+ }),
191
+ elements.button('crud-import', 'Import', {
192
+ severity: 'secondary',
193
+ icon: 'pi pi-upload'
194
+ })
195
+ ]),
196
+ elements.externalComponent('crud-search', 'inputText', {
197
+ placeholder: 'Search products'
198
+ })
199
+ ],
200
+ [TemplateSlotName.TemplateSlotName.Body]: [
201
+ widgets.table('products-table', [
202
+ {
203
+ field: 'code',
204
+ header: 'Code'
205
+ },
206
+ {
207
+ field: 'name',
208
+ header: 'Name'
209
+ },
210
+ {
211
+ field: 'category',
212
+ header: 'Category'
213
+ },
214
+ {
215
+ field: 'price',
216
+ header: 'Price'
217
+ },
218
+ {
219
+ field: 'stock',
220
+ header: 'In stock'
221
+ }
222
+ ], [
223
+ {
224
+ code: 'P-1001',
225
+ name: 'Bamboo Watch',
226
+ category: 'Accessories',
227
+ price: '$65.00',
228
+ stock: 24
229
+ },
230
+ {
231
+ code: 'P-1002',
232
+ name: 'Black Watch',
233
+ category: 'Accessories',
234
+ price: '$72.00',
235
+ stock: 61
236
+ },
237
+ {
238
+ code: 'P-1003',
239
+ name: 'Blue Band',
240
+ category: 'Fitness',
241
+ price: '$79.00',
242
+ stock: 2
243
+ },
244
+ {
245
+ code: 'P-1004',
246
+ name: 'Blue T-Shirt',
247
+ category: 'Clothing',
248
+ price: '$29.00',
249
+ stock: 25
250
+ },
251
+ {
252
+ code: 'P-1005',
253
+ name: 'Bracelet',
254
+ category: 'Accessories',
255
+ price: '$15.00',
256
+ stock: 73
257
+ }
258
+ ])
259
+ ]
260
+ },
261
+ displayName: 'List',
262
+ description: 'A searchable table with a header, primary action and row data.'
263
+ };
264
+ /** The detail: a summary panel beside the record's own sections. */ const detailViewTemplate = {
265
+ name: 'DetailView',
266
+ fitsSlot: SlotName.SlotName.Content,
267
+ slots: [
268
+ {
269
+ name: TemplateSlotName.TemplateSlotName.Header
270
+ },
271
+ {
272
+ name: TemplateSlotName.TemplateSlotName.Body
273
+ },
274
+ {
275
+ name: TemplateSlotName.TemplateSlotName.SidePanel
276
+ }
277
+ ],
278
+ content: {
279
+ [TemplateSlotName.TemplateSlotName.Header]: [
280
+ widgets.pageHeader('detail-header', 'Bamboo Watch', 'P-1001 · Accessories', [
281
+ elements.button('detail-edit', 'Edit', {
282
+ severity: 'primary',
283
+ icon: 'pi pi-pencil'
284
+ }),
285
+ elements.button('detail-archive', 'Archive', {
286
+ severity: 'secondary',
287
+ icon: 'pi pi-inbox'
288
+ })
289
+ ])
290
+ ],
291
+ [TemplateSlotName.TemplateSlotName.Body]: [
292
+ widgets.widget('detail-description', 'Description', [
293
+ elements.text('detail-description-text', 'A bamboo-cased watch with a sapphire face and a recycled steel strap.')
294
+ ]),
295
+ widgets.widget('detail-history', 'Price history', [
296
+ elements.externalComponent('detail-history-timeline', 'timeline', {
297
+ align: 'left'
298
+ })
299
+ ])
300
+ ],
301
+ [TemplateSlotName.TemplateSlotName.SidePanel]: [
302
+ widgets.widget('detail-summary', 'Summary', [
303
+ elements.text('detail-stock', 'In stock: 24'),
304
+ elements.text('detail-reserved', 'Reserved: 3'),
305
+ elements.externalComponent('detail-status', 'tag', {
306
+ value: 'Active',
307
+ severity: 'success'
308
+ })
309
+ ])
310
+ ]
311
+ },
312
+ displayName: 'Detail',
313
+ description: 'One record: a header with actions, its sections, and a summary panel.'
314
+ };
315
+ /** The form: fields, grouped, with the actions that close them. */ const formPageTemplate = {
316
+ name: 'FormPage',
317
+ fitsSlot: SlotName.SlotName.Content,
318
+ slots: [
319
+ {
320
+ name: TemplateSlotName.TemplateSlotName.Header
321
+ },
322
+ {
323
+ name: TemplateSlotName.TemplateSlotName.Body
324
+ },
325
+ {
326
+ name: TemplateSlotName.TemplateSlotName.Actions
327
+ }
328
+ ],
329
+ content: {
330
+ [TemplateSlotName.TemplateSlotName.Header]: [
331
+ widgets.pageHeader('form-header', 'New product', 'Everything marked with an asterisk is required')
332
+ ],
333
+ [TemplateSlotName.TemplateSlotName.Body]: [
334
+ elements.card('form-card', [
335
+ widgets.field('form-name', 'Name', 'inputText', {
336
+ placeholder: 'Bamboo Watch'
337
+ }),
338
+ widgets.field('form-code', 'Code', 'inputText', {
339
+ placeholder: 'P-1001'
340
+ }),
341
+ widgets.field('form-category', 'Category', 'dropdown', {
342
+ options: [
343
+ 'Accessories',
344
+ 'Clothing',
345
+ 'Fitness'
346
+ ]
347
+ }),
348
+ widgets.field('form-price', 'Price', 'inputNumber', {
349
+ mode: 'currency',
350
+ currency: 'USD'
351
+ }),
352
+ widgets.field('form-available', 'Available from', 'calendar', {}),
353
+ widgets.field('form-notes', 'Notes', 'inputTextarea', {
354
+ rows: 4
355
+ })
356
+ ])
357
+ ],
358
+ [TemplateSlotName.TemplateSlotName.Actions]: [
359
+ widgets.formActions('form-actions', 'Create product')
360
+ ]
361
+ },
362
+ displayName: 'Form',
363
+ description: 'A grouped form with the field types an application actually uses.'
364
+ };
365
+ /** The empty state: what a list looks like before anything exists, designed rather than apologized for. */ const emptyTemplate = {
366
+ name: 'Empty',
367
+ fitsSlot: SlotName.SlotName.Content,
368
+ slots: [
369
+ {
370
+ name: TemplateSlotName.TemplateSlotName.Body
371
+ }
372
+ ],
373
+ content: {
374
+ [TemplateSlotName.TemplateSlotName.Body]: [
375
+ widgets.emptyState('empty-state', 'No products yet', 'Products you create will show up here, with their stock and pricing.', 'Create the first product')
376
+ ]
377
+ },
378
+ displayName: 'Empty state',
379
+ description: 'The designed empty state for a list that has nothing in it yet.'
380
+ };
381
+ /** The five workspace templates. */ const workspaceTemplates = [
382
+ dashboardTemplate,
383
+ crudListTemplate,
384
+ detailViewTemplate,
385
+ formPageTemplate,
386
+ emptyTemplate
387
+ ];
388
+
389
+ exports.crudListTemplate = crudListTemplate;
390
+ exports.dashboardTemplate = dashboardTemplate;
391
+ exports.detailViewTemplate = detailViewTemplate;
392
+ exports.emptyTemplate = emptyTemplate;
393
+ exports.formPageTemplate = formPageTemplate;
394
+ exports.workspaceTemplates = workspaceTemplates;
395
+ //# sourceMappingURL=workspaceTemplates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspaceTemplates.js","sources":["../../../gallery/workspaceTemplates.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 { ScreenTemplate, WidthSizeClass } from '@cratis/scene.model';\nimport { SlotName, column, grid, slotLeaf } from '../layouts';\nimport { TemplateSlotName } from './TemplateSlotName';\nimport { button, card, externalComponent, text } from './elements';\nimport { emptyState, field, formActions, pageHeader, statCard, table, widget } from './widgets';\n\n/**\n * The five workhorse shapes inside an application shell: a dashboard, a list, a detail, a form and the\n * designed empty state.\n *\n * Every one fits the layout's `content` slot, and every one carries realistic seeded content rather than\n * placeholder text. A gallery whose dashboard shows four boxes labeled \"Card\" proves the renderer runs; a\n * gallery whose dashboard shows revenue, orders, customers and a real table proves the blueprint is worth\n * starting an application from.\n */\n\n/**\n * The dashboard: four figures across the top, then two columns of larger widgets.\n *\n * This is Sakai's composition, and the reason to copy it is that it is the arrangement people already read\n * fluently - the eye takes the row of numbers first and then settles into the detail.\n *\n * Its own arrangement collapses the two columns into one at a compact width, because a two-column widget\n * grid on a phone is two columns of unreadable slivers.\n */\nexport const dashboardTemplate: ScreenTemplate = {\n name: 'Dashboard',\n fitsSlot: SlotName.Content,\n slots: [{ name: TemplateSlotName.Stats }, { name: TemplateSlotName.Primary }, { name: TemplateSlotName.Secondary }],\n arrangement: {\n root: column([slotLeaf(TemplateSlotName.Stats), grid([slotLeaf(TemplateSlotName.Primary, { span: 2 }), slotLeaf(TemplateSlotName.Secondary)], 3, 16)]),\n overrides: [\n {\n width: WidthSizeClass.Compact,\n root: column([slotLeaf(TemplateSlotName.Stats), slotLeaf(TemplateSlotName.Primary), slotLeaf(TemplateSlotName.Secondary)], 16),\n },\n ],\n },\n content: {\n [TemplateSlotName.Stats]: [\n statCard('stat-revenue', 'Revenue', '$284,120', '+12.4% this month', 'pi pi-dollar'),\n statCard('stat-orders', 'Orders', '1,842', '+3.1% this month', 'pi pi-shopping-cart'),\n statCard('stat-customers', 'Customers', '9,410', '+128 new', 'pi pi-users'),\n statCard('stat-open', 'Open tickets', '17', '-4 since Monday', 'pi pi-inbox'),\n ],\n [TemplateSlotName.Primary]: [\n widget('widget-revenue', 'Revenue over time', [\n table(\n 'revenue-table',\n [\n { field: 'month', header: 'Month' },\n { field: 'revenue', header: 'Revenue' },\n { field: 'change', header: 'Change' },\n ],\n [\n { month: 'March', revenue: '$284,120', change: '+12.4%' },\n { month: 'February', revenue: '$252,780', change: '+4.1%' },\n { month: 'January', revenue: '$242,830', change: '-1.8%' },\n { month: 'December', revenue: '$247,290', change: '+9.6%' },\n ],\n ),\n ]),\n widget('widget-orders', 'Recent orders', [\n table(\n 'orders-table',\n [\n { field: 'reference', header: 'Reference' },\n { field: 'customer', header: 'Customer' },\n { field: 'total', header: 'Total' },\n { field: 'status', header: 'Status' },\n ],\n [\n { reference: 'ORD-4192', customer: 'Northwind Traders', total: '$1,240.00', status: 'Shipped' },\n { reference: 'ORD-4191', customer: 'Contoso Ltd', total: '$318.50', status: 'Packing' },\n { reference: 'ORD-4188', customer: 'Fabrikam', total: '$2,980.00', status: 'Awaiting payment' },\n { reference: 'ORD-4184', customer: 'Adventure Works', total: '$76.20', status: 'Shipped' },\n ],\n ),\n ]),\n ],\n [TemplateSlotName.Secondary]: [\n widget('widget-activity', 'Activity', [externalComponent('activity-timeline', 'timeline', { align: 'left' })]),\n widget('widget-capacity', 'Warehouse capacity', [externalComponent('capacity-bar', 'progressBar', { value: 68 })]),\n ],\n },\n displayName: 'Dashboard',\n description: 'Four stat cards over two columns of widgets - the composition every template line opens with.',\n};\n\n/** The list: a filter toolbar, a real table, and the row actions a list needs. */\nexport const crudListTemplate: ScreenTemplate = {\n name: 'CrudList',\n fitsSlot: SlotName.Content,\n slots: [{ name: TemplateSlotName.Toolbar }, { name: TemplateSlotName.Body }],\n content: {\n [TemplateSlotName.Toolbar]: [\n pageHeader('crud-header', 'Products', '412 products across 9 categories', [\n button('crud-new', 'New product', { severity: 'primary', icon: 'pi pi-plus' }),\n button('crud-import', 'Import', { severity: 'secondary', icon: 'pi pi-upload' }),\n ]),\n externalComponent('crud-search', 'inputText', { placeholder: 'Search products' }),\n ],\n [TemplateSlotName.Body]: [\n table(\n 'products-table',\n [\n { field: 'code', header: 'Code' },\n { field: 'name', header: 'Name' },\n { field: 'category', header: 'Category' },\n { field: 'price', header: 'Price' },\n { field: 'stock', header: 'In stock' },\n ],\n [\n { code: 'P-1001', name: 'Bamboo Watch', category: 'Accessories', price: '$65.00', stock: 24 },\n { code: 'P-1002', name: 'Black Watch', category: 'Accessories', price: '$72.00', stock: 61 },\n { code: 'P-1003', name: 'Blue Band', category: 'Fitness', price: '$79.00', stock: 2 },\n { code: 'P-1004', name: 'Blue T-Shirt', category: 'Clothing', price: '$29.00', stock: 25 },\n { code: 'P-1005', name: 'Bracelet', category: 'Accessories', price: '$15.00', stock: 73 },\n ],\n ),\n ],\n },\n displayName: 'List',\n description: 'A searchable table with a header, primary action and row data.',\n};\n\n/** The detail: a summary panel beside the record's own sections. */\nexport const detailViewTemplate: ScreenTemplate = {\n name: 'DetailView',\n fitsSlot: SlotName.Content,\n slots: [{ name: TemplateSlotName.Header }, { name: TemplateSlotName.Body }, { name: TemplateSlotName.SidePanel }],\n content: {\n [TemplateSlotName.Header]: [\n pageHeader('detail-header', 'Bamboo Watch', 'P-1001 · Accessories', [\n button('detail-edit', 'Edit', { severity: 'primary', icon: 'pi pi-pencil' }),\n button('detail-archive', 'Archive', { severity: 'secondary', icon: 'pi pi-inbox' }),\n ]),\n ],\n [TemplateSlotName.Body]: [\n widget('detail-description', 'Description', [\n text('detail-description-text', 'A bamboo-cased watch with a sapphire face and a recycled steel strap.'),\n ]),\n widget('detail-history', 'Price history', [externalComponent('detail-history-timeline', 'timeline', { align: 'left' })]),\n ],\n [TemplateSlotName.SidePanel]: [\n widget('detail-summary', 'Summary', [\n text('detail-stock', 'In stock: 24'),\n text('detail-reserved', 'Reserved: 3'),\n externalComponent('detail-status', 'tag', { value: 'Active', severity: 'success' }),\n ]),\n ],\n },\n displayName: 'Detail',\n description: 'One record: a header with actions, its sections, and a summary panel.',\n};\n\n/** The form: fields, grouped, with the actions that close them. */\nexport const formPageTemplate: ScreenTemplate = {\n name: 'FormPage',\n fitsSlot: SlotName.Content,\n slots: [{ name: TemplateSlotName.Header }, { name: TemplateSlotName.Body }, { name: TemplateSlotName.Actions }],\n content: {\n [TemplateSlotName.Header]: [pageHeader('form-header', 'New product', 'Everything marked with an asterisk is required')],\n [TemplateSlotName.Body]: [\n card('form-card', [\n field('form-name', 'Name', 'inputText', { placeholder: 'Bamboo Watch' }),\n field('form-code', 'Code', 'inputText', { placeholder: 'P-1001' }),\n field('form-category', 'Category', 'dropdown', { options: ['Accessories', 'Clothing', 'Fitness'] }),\n field('form-price', 'Price', 'inputNumber', { mode: 'currency', currency: 'USD' }),\n field('form-available', 'Available from', 'calendar', {}),\n field('form-notes', 'Notes', 'inputTextarea', { rows: 4 }),\n ]),\n ],\n [TemplateSlotName.Actions]: [formActions('form-actions', 'Create product')],\n },\n displayName: 'Form',\n description: 'A grouped form with the field types an application actually uses.',\n};\n\n/** The empty state: what a list looks like before anything exists, designed rather than apologized for. */\nexport const emptyTemplate: ScreenTemplate = {\n name: 'Empty',\n fitsSlot: SlotName.Content,\n slots: [{ name: TemplateSlotName.Body }],\n content: {\n [TemplateSlotName.Body]: [\n emptyState('empty-state', 'No products yet', 'Products you create will show up here, with their stock and pricing.', 'Create the first product'),\n ],\n },\n displayName: 'Empty state',\n description: 'The designed empty state for a list that has nothing in it yet.',\n};\n\n/** The five workspace templates. */\nexport const workspaceTemplates: ScreenTemplate[] = [dashboardTemplate, crudListTemplate, detailViewTemplate, formPageTemplate, emptyTemplate];\n"],"names":["dashboardTemplate","name","fitsSlot","SlotName","Content","slots","TemplateSlotName","Stats","Primary","Secondary","arrangement","root","column","slotLeaf","grid","span","overrides","width","WidthSizeClass","Compact","content","statCard","widget","table","field","header","month","revenue","change","reference","customer","total","status","externalComponent","align","value","displayName","description","crudListTemplate","Toolbar","Body","pageHeader","button","severity","icon","placeholder","code","category","price","stock","detailViewTemplate","Header","SidePanel","text","formPageTemplate","Actions","card","options","mode","currency","rows","formActions","emptyTemplate","emptyState","workspaceTemplates"],"mappings":"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"}