@cratis/scene.blueprint.default 4.38.0 → 4.40.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 (167) hide show
  1. package/ComponentName.ts +27 -0
  2. package/defaultBlueprintComponents.ts +10 -1
  3. package/dist/cjs/ComponentName.js +9 -0
  4. package/dist/cjs/ComponentName.js.map +1 -1
  5. package/dist/cjs/defaultBlueprintComponents.js +19 -1
  6. package/dist/cjs/defaultBlueprintComponents.js.map +1 -1
  7. package/dist/cjs/foundation/BulkBar.js +62 -0
  8. package/dist/cjs/foundation/BulkBar.js.map +1 -0
  9. package/dist/cjs/foundation/DataList.js +436 -0
  10. package/dist/cjs/foundation/DataList.js.map +1 -0
  11. package/dist/cjs/foundation/FormScreenBody.js +447 -0
  12. package/dist/cjs/foundation/FormScreenBody.js.map +1 -0
  13. package/dist/cjs/foundation/FoundationStates.js +2 -1
  14. package/dist/cjs/foundation/FoundationStates.js.map +1 -1
  15. package/dist/cjs/foundation/GlobalSearch.js +54 -0
  16. package/dist/cjs/foundation/GlobalSearch.js.map +1 -0
  17. package/dist/cjs/foundation/KanbanBoard.js +222 -0
  18. package/dist/cjs/foundation/KanbanBoard.js.map +1 -0
  19. package/dist/cjs/foundation/NotificationsButton.js +45 -0
  20. package/dist/cjs/foundation/NotificationsButton.js.map +1 -0
  21. package/dist/cjs/foundation/SubNavigation.js +72 -0
  22. package/dist/cjs/foundation/SubNavigation.js.map +1 -0
  23. package/dist/cjs/foundation/TabSet.js +101 -0
  24. package/dist/cjs/foundation/TabSet.js.map +1 -0
  25. package/dist/cjs/foundation/WizardProgress.js +185 -0
  26. package/dist/cjs/foundation/WizardProgress.js.map +1 -0
  27. package/dist/cjs/foundation/boardModel.js +67 -0
  28. package/dist/cjs/foundation/boardModel.js.map +1 -0
  29. package/dist/cjs/foundation/formModel.js +158 -0
  30. package/dist/cjs/foundation/formModel.js.map +1 -0
  31. package/dist/cjs/foundation/foundationComponentMetadata.js +54 -0
  32. package/dist/cjs/foundation/foundationComponentMetadata.js.map +1 -1
  33. package/dist/cjs/foundation/foundationDescriptors.js +400 -0
  34. package/dist/cjs/foundation/foundationDescriptors.js.map +1 -1
  35. package/dist/cjs/foundation/foundationSamples.js +303 -0
  36. package/dist/cjs/foundation/foundationSamples.js.map +1 -1
  37. package/dist/cjs/foundation/foundationStrings.js +72 -0
  38. package/dist/cjs/foundation/foundationStrings.js.map +1 -1
  39. package/dist/cjs/foundation/listModel.js +200 -0
  40. package/dist/cjs/foundation/listModel.js.map +1 -0
  41. package/dist/cjs/foundation/tabModel.js +41 -0
  42. package/dist/cjs/foundation/tabModel.js.map +1 -0
  43. package/dist/cjs/foundation/urlState.js +57 -0
  44. package/dist/cjs/foundation/urlState.js.map +1 -0
  45. package/dist/cjs/foundation/useCompactWidth.js +23 -0
  46. package/dist/cjs/foundation/useCompactWidth.js.map +1 -0
  47. package/dist/cjs/foundation/wizardModel.js +50 -0
  48. package/dist/cjs/foundation/wizardModel.js.map +1 -0
  49. package/dist/cjs/index.js +71 -0
  50. package/dist/cjs/index.js.map +1 -1
  51. package/dist/esm/ComponentName.d.ts +10 -1
  52. package/dist/esm/ComponentName.d.ts.map +1 -1
  53. package/dist/esm/ComponentName.js +9 -0
  54. package/dist/esm/ComponentName.js.map +1 -1
  55. package/dist/esm/defaultBlueprintComponents.d.ts.map +1 -1
  56. package/dist/esm/defaultBlueprintComponents.js +19 -1
  57. package/dist/esm/defaultBlueprintComponents.js.map +1 -1
  58. package/dist/esm/foundation/BulkBar.d.ts +4 -0
  59. package/dist/esm/foundation/BulkBar.d.ts.map +1 -0
  60. package/dist/esm/foundation/BulkBar.js +59 -0
  61. package/dist/esm/foundation/BulkBar.js.map +1 -0
  62. package/dist/esm/foundation/DataList.d.ts +3 -0
  63. package/dist/esm/foundation/DataList.d.ts.map +1 -0
  64. package/dist/esm/foundation/DataList.js +434 -0
  65. package/dist/esm/foundation/DataList.js.map +1 -0
  66. package/dist/esm/foundation/FormScreenBody.d.ts +3 -0
  67. package/dist/esm/foundation/FormScreenBody.d.ts.map +1 -0
  68. package/dist/esm/foundation/FormScreenBody.js +445 -0
  69. package/dist/esm/foundation/FormScreenBody.js.map +1 -0
  70. package/dist/esm/foundation/FoundationStates.js +2 -1
  71. package/dist/esm/foundation/FoundationStates.js.map +1 -1
  72. package/dist/esm/foundation/GlobalSearch.d.ts +3 -0
  73. package/dist/esm/foundation/GlobalSearch.d.ts.map +1 -0
  74. package/dist/esm/foundation/GlobalSearch.js +52 -0
  75. package/dist/esm/foundation/GlobalSearch.js.map +1 -0
  76. package/dist/esm/foundation/KanbanBoard.d.ts +3 -0
  77. package/dist/esm/foundation/KanbanBoard.d.ts.map +1 -0
  78. package/dist/esm/foundation/KanbanBoard.js +220 -0
  79. package/dist/esm/foundation/KanbanBoard.js.map +1 -0
  80. package/dist/esm/foundation/NotificationsButton.d.ts +3 -0
  81. package/dist/esm/foundation/NotificationsButton.d.ts.map +1 -0
  82. package/dist/esm/foundation/NotificationsButton.js +43 -0
  83. package/dist/esm/foundation/NotificationsButton.js.map +1 -0
  84. package/dist/esm/foundation/SubNavigation.d.ts +3 -0
  85. package/dist/esm/foundation/SubNavigation.d.ts.map +1 -0
  86. package/dist/esm/foundation/SubNavigation.js +70 -0
  87. package/dist/esm/foundation/SubNavigation.js.map +1 -0
  88. package/dist/esm/foundation/TabSet.d.ts +3 -0
  89. package/dist/esm/foundation/TabSet.d.ts.map +1 -0
  90. package/dist/esm/foundation/TabSet.js +99 -0
  91. package/dist/esm/foundation/TabSet.js.map +1 -0
  92. package/dist/esm/foundation/WizardProgress.d.ts +3 -0
  93. package/dist/esm/foundation/WizardProgress.d.ts.map +1 -0
  94. package/dist/esm/foundation/WizardProgress.js +183 -0
  95. package/dist/esm/foundation/WizardProgress.js.map +1 -0
  96. package/dist/esm/foundation/boardModel.d.ts +22 -0
  97. package/dist/esm/foundation/boardModel.d.ts.map +1 -0
  98. package/dist/esm/foundation/boardModel.js +61 -0
  99. package/dist/esm/foundation/boardModel.js.map +1 -0
  100. package/dist/esm/foundation/formModel.d.ts +48 -0
  101. package/dist/esm/foundation/formModel.d.ts.map +1 -0
  102. package/dist/esm/foundation/formModel.js +147 -0
  103. package/dist/esm/foundation/formModel.js.map +1 -0
  104. package/dist/esm/foundation/foundationComponentMetadata.d.ts.map +1 -1
  105. package/dist/esm/foundation/foundationComponentMetadata.js +54 -0
  106. package/dist/esm/foundation/foundationComponentMetadata.js.map +1 -1
  107. package/dist/esm/foundation/foundationDescriptors.d.ts.map +1 -1
  108. package/dist/esm/foundation/foundationDescriptors.js +400 -0
  109. package/dist/esm/foundation/foundationDescriptors.js.map +1 -1
  110. package/dist/esm/foundation/foundationSamples.d.ts.map +1 -1
  111. package/dist/esm/foundation/foundationSamples.js +303 -0
  112. package/dist/esm/foundation/foundationSamples.js.map +1 -1
  113. package/dist/esm/foundation/foundationStrings.d.ts +72 -0
  114. package/dist/esm/foundation/foundationStrings.d.ts.map +1 -1
  115. package/dist/esm/foundation/foundationStrings.js +72 -0
  116. package/dist/esm/foundation/foundationStrings.js.map +1 -1
  117. package/dist/esm/foundation/index.d.ts +16 -0
  118. package/dist/esm/foundation/index.d.ts.map +1 -1
  119. package/dist/esm/foundation/index.js +16 -0
  120. package/dist/esm/foundation/index.js.map +1 -1
  121. package/dist/esm/foundation/listModel.d.ts +49 -0
  122. package/dist/esm/foundation/listModel.d.ts.map +1 -0
  123. package/dist/esm/foundation/listModel.js +183 -0
  124. package/dist/esm/foundation/listModel.js.map +1 -0
  125. package/dist/esm/foundation/tabModel.d.ts +10 -0
  126. package/dist/esm/foundation/tabModel.d.ts.map +1 -0
  127. package/dist/esm/foundation/tabModel.js +37 -0
  128. package/dist/esm/foundation/tabModel.js.map +1 -0
  129. package/dist/esm/foundation/urlState.d.ts +4 -0
  130. package/dist/esm/foundation/urlState.d.ts.map +1 -0
  131. package/dist/esm/foundation/urlState.js +53 -0
  132. package/dist/esm/foundation/urlState.js.map +1 -0
  133. package/dist/esm/foundation/useCompactWidth.d.ts +3 -0
  134. package/dist/esm/foundation/useCompactWidth.d.ts.map +1 -0
  135. package/dist/esm/foundation/useCompactWidth.js +20 -0
  136. package/dist/esm/foundation/useCompactWidth.js.map +1 -0
  137. package/dist/esm/foundation/wizardModel.d.ts +16 -0
  138. package/dist/esm/foundation/wizardModel.d.ts.map +1 -0
  139. package/dist/esm/foundation/wizardModel.js +43 -0
  140. package/dist/esm/foundation/wizardModel.js.map +1 -0
  141. package/dist/esm/index.js +16 -0
  142. package/dist/esm/index.js.map +1 -1
  143. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  144. package/foundation/BulkBar.tsx +38 -0
  145. package/foundation/DataList.tsx +208 -0
  146. package/foundation/FormScreenBody.tsx +196 -0
  147. package/foundation/FoundationStates.tsx +1 -1
  148. package/foundation/GlobalSearch.tsx +33 -0
  149. package/foundation/KanbanBoard.tsx +97 -0
  150. package/foundation/NotificationsButton.tsx +28 -0
  151. package/foundation/SubNavigation.tsx +49 -0
  152. package/foundation/TabSet.tsx +65 -0
  153. package/foundation/WizardProgress.tsx +109 -0
  154. package/foundation/boardModel.ts +64 -0
  155. package/foundation/formModel.ts +146 -0
  156. package/foundation/foundationComponentMetadata.ts +9 -0
  157. package/foundation/foundationDescriptors.ts +195 -0
  158. package/foundation/foundationSamples.ts +56 -0
  159. package/foundation/foundationStrings.ts +72 -0
  160. package/foundation/index.ts +16 -0
  161. package/foundation/listModel.ts +190 -0
  162. package/foundation/tabModel.ts +41 -0
  163. package/foundation/urlState.ts +52 -0
  164. package/foundation/useCompactWidth.ts +23 -0
  165. package/foundation/wizardModel.ts +54 -0
  166. package/package.json +8 -8
  167. package/shell/layout.css +513 -0
package/ComponentName.ts CHANGED
@@ -102,4 +102,31 @@ export enum ComponentName {
102
102
 
103
103
  /** Roles across, permissions down, a checkbox where they meet. */
104
104
  PermissionMatrix = 'permissionMatrix',
105
+
106
+ /** List of records as table, cards or grouped, with search, sort, paging, selection and row actions. */
107
+ DataList = 'dataList',
108
+
109
+ /** Tabs with a panel for each, kept in the address. */
110
+ TabSet = 'tabSet',
111
+
112
+ /** A module's sections as tabs or a left rail. */
113
+ SubNavigation = 'subNavigation',
114
+
115
+ /** The bar that appears when records are selected, with the bulk actions. */
116
+ BulkBar = 'bulkBar',
117
+
118
+ /** A search box for the topbar or a toolbar. */
119
+ GlobalSearch = 'globalSearch',
120
+
121
+ /** The topbar bell with the unread count. */
122
+ NotificationsButton = 'notificationsButton',
123
+
124
+ /** Columns mapped to a status with cards that move between them. */
125
+ KanbanBoard = 'kanbanBoard',
126
+
127
+ /** The steps, back/next/finish and draft save of a linear wizard. */
128
+ WizardProgress = 'wizardProgress',
129
+
130
+ /** Sections of validated fields with the save bar and unsaved-changes guard. */
131
+ FormScreenBody = 'formScreenBody',
105
132
  }
@@ -4,7 +4,7 @@
4
4
  import { ComponentRegistry, componentRegistryKey } from '@cratis/scene.react';
5
5
  import { ComponentName } from './ComponentName';
6
6
  import { defaultBlueprintName } from './packageName';
7
- import { ActivityFeed, ApprovalChainStepper, AvatarStack, ChartWrapper, ChecklistSection, ColumnChooser, FileUploader, EmptyState, FilterBuilder, OrgTree, PermissionMatrix, SavedViewsMenu, StatCard, StatusChip, TrendChip } from './foundation';
7
+ import { BulkBar, DataList, FormScreenBody, GlobalSearch, KanbanBoard, NotificationsButton, SubNavigation, TabSet, WizardProgress, ActivityFeed, ApprovalChainStepper, AvatarStack, ChartWrapper, ChecklistSection, ColumnChooser, FileUploader, EmptyState, FilterBuilder, OrgTree, PermissionMatrix, SavedViewsMenu, StatCard, StatusChip, TrendChip } from './foundation';
8
8
  import {
9
9
  AppShell,
10
10
  Breadcrumb,
@@ -64,4 +64,13 @@ export const defaultBlueprintComponents: ComponentRegistry = {
64
64
  [componentRegistryKey(defaultBlueprintName, ComponentName.ApprovalChainStepper)]: ApprovalChainStepper,
65
65
  [componentRegistryKey(defaultBlueprintName, ComponentName.OrgTree)]: OrgTree,
66
66
  [componentRegistryKey(defaultBlueprintName, ComponentName.PermissionMatrix)]: PermissionMatrix,
67
+ [componentRegistryKey(defaultBlueprintName, ComponentName.DataList)]: DataList,
68
+ [componentRegistryKey(defaultBlueprintName, ComponentName.TabSet)]: TabSet,
69
+ [componentRegistryKey(defaultBlueprintName, ComponentName.SubNavigation)]: SubNavigation,
70
+ [componentRegistryKey(defaultBlueprintName, ComponentName.BulkBar)]: BulkBar,
71
+ [componentRegistryKey(defaultBlueprintName, ComponentName.GlobalSearch)]: GlobalSearch,
72
+ [componentRegistryKey(defaultBlueprintName, ComponentName.NotificationsButton)]: NotificationsButton,
73
+ [componentRegistryKey(defaultBlueprintName, ComponentName.KanbanBoard)]: KanbanBoard,
74
+ [componentRegistryKey(defaultBlueprintName, ComponentName.WizardProgress)]: WizardProgress,
75
+ [componentRegistryKey(defaultBlueprintName, ComponentName.FormScreenBody)]: FormScreenBody,
67
76
  };
@@ -41,6 +41,15 @@
41
41
  /** The steps a request goes through, who decides each, and where it stands. */ ComponentName["ApprovalChainStepper"] = "approvalChainStepper";
42
42
  /** An organization as an expandable tree. */ ComponentName["OrgTree"] = "orgTree";
43
43
  /** Roles across, permissions down, a checkbox where they meet. */ ComponentName["PermissionMatrix"] = "permissionMatrix";
44
+ /** List of records as table, cards or grouped, with search, sort, paging, selection and row actions. */ ComponentName["DataList"] = "dataList";
45
+ /** Tabs with a panel for each, kept in the address. */ ComponentName["TabSet"] = "tabSet";
46
+ /** A module's sections as tabs or a left rail. */ ComponentName["SubNavigation"] = "subNavigation";
47
+ /** The bar that appears when records are selected, with the bulk actions. */ ComponentName["BulkBar"] = "bulkBar";
48
+ /** A search box for the topbar or a toolbar. */ ComponentName["GlobalSearch"] = "globalSearch";
49
+ /** The topbar bell with the unread count. */ ComponentName["NotificationsButton"] = "notificationsButton";
50
+ /** Columns mapped to a status with cards that move between them. */ ComponentName["KanbanBoard"] = "kanbanBoard";
51
+ /** The steps, back/next/finish and draft save of a linear wizard. */ ComponentName["WizardProgress"] = "wizardProgress";
52
+ /** Sections of validated fields with the save bar and unsaved-changes guard. */ ComponentName["FormScreenBody"] = "formScreenBody";
44
53
  return ComponentName;
45
54
  }({});
46
55
 
@@ -1 +1 @@
1
- {"version":3,"file":"ComponentName.js","sources":["../../ComponentName.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 bare names this package declares components under.\n *\n * A page template writes a bare name and `resolveComponentName` decides which active package wins it, so\n * these names are public API: renaming one breaks every template that referenced it, in this package and\n * in anyone else's. Keeping them in one enum means the manifest, the registry and every template\n * reference the same symbol, and the specs can prove all three agree rather than hoping they do.\n */\nexport enum ComponentName {\n /** The application shell - topbar, sidebar, breadcrumb, content, footer and an optional right panel. */\n AppShell = 'appShell',\n\n /** The chrome-less shell - content, an optional branding aside, and the configurator. */\n FullPageShell = 'fullPageShell',\n\n /** The fixed strip across the top of the application shell. */\n Topbar = 'topbar',\n\n /** The sidebar's own chrome, inside the shell-positioned panel. */\n Sidebar = 'sidebar',\n\n /** A navigation list. */\n Menu = 'menu',\n\n /** One entry in a navigation list, optionally with a submenu. */\n MenuItem = 'menuItem',\n\n /** The trail above the content. */\n Breadcrumb = 'breadcrumb',\n\n /** The strip below the content. */\n Footer = 'footer',\n\n /** The inspector panel down the right-hand edge. */\n RightPanel = 'rightPanel',\n\n /** The floating configurator: color scheme, layout mode, menu theme and theme. */\n ConfigPanel = 'configPanel',\n\n /** A screen's title, subtitle and actions. */\n PageHeader = 'pageHeader',\n\n /** The scrim behind a floating sidebar, which also closes it. */\n Mask = 'mask',\n\n /** The brand mark. */\n Logo = 'logo',\n\n /** The signed-in user's avatar and menu. */\n UserMenu = 'userMenu',\n\n /** Switches between the themes a host offers. */\n ThemeSwitcher = 'themeSwitcher',\n\n /** Switches between the layout modes. */\n LayoutModeSwitcher = 'layoutModeSwitcher',\n\n /** An icon, a headline, a hint and one primary action: what a region says when it has nothing to show. */\n EmptyState = 'emptyState',\n\n /** One key figure with its label, trend and comparison period. */\n StatCard = 'statCard',\n\n /** A change drawn as a direction, a magnitude and whether it is good. */\n TrendChip = 'trendChip',\n\n /** A status as a semantic color, an icon and its text. */\n StatusChip = 'statusChip',\n\n /** One chart - line, bar, stacked, donut or funnel - with its legend and a table of the same data. */\n ChartWrapper = 'chartWrapper',\n\n /** Conditions on fields, joined by AND or OR in nested groups. */\n FilterBuilder = 'filterBuilder',\n\n /** Which columns a table shows, and in what order. */\n ColumnChooser = 'columnChooser',\n\n /** A list's saved views as a menu button. */\n SavedViewsMenu = 'savedViewsMenu',\n\n /** Sections of tasks with owner, due date and progress. */\n ChecklistSection = 'checklistSection',\n\n /** What happened to a record, grouped by day. */\n ActivityFeed = 'activityFeed',\n\n /** Overlapping avatars for the people on a record. */\n AvatarStack = 'avatarStack',\n\n /** A drop zone and file picker with type and size checks. */\n FileUploader = 'fileUploader',\n\n /** The steps a request goes through, who decides each, and where it stands. */\n ApprovalChainStepper = 'approvalChainStepper',\n\n /** An organization as an expandable tree. */\n OrgTree = 'orgTree',\n\n /** Roles across, permissions down, a checkbox where they meet. */\n PermissionMatrix = 'permissionMatrix',\n}\n"],"names":["ComponentName"],"mappings":";;AAAA;AACA;AAEA;;;;;;;IAQO,IAAKA,aAAAA,iBAAAA,SAAAA,aAAAA,EAAAA;6GAC8F,aAAA,CAAA,UAAA,CAAA,GAAA,UAAA;8FAGf,aAAA,CAAA,eAAA,CAAA,GAAA,eAAA;oEAG1B,aAAA,CAAA,QAAA,CAAA,GAAA,QAAA;wEAGI,aAAA,CAAA,SAAA,CAAA,GAAA,SAAA;8BAG1C,aAAA,CAAA,MAAA,CAAA,GAAA,MAAA;sEAGwC,aAAA,CAAA,UAAA,CAAA,GAAA,UAAA;wCAG9B,aAAA,CAAA,YAAA,CAAA,GAAA,YAAA;wCAGA,aAAA,CAAA,QAAA,CAAA,GAAA,QAAA;yDAGiB,aAAA,CAAA,YAAA,CAAA,GAAA,YAAA;uFAG8B,aAAA,CAAA,aAAA,CAAA,GAAA,aAAA;mDAGpC,aAAA,CAAA,YAAA,CAAA,GAAA,YAAA;sEAGmB,aAAA,CAAA,MAAA,CAAA,GAAA,MAAA;2BAG3C,aAAA,CAAA,MAAA,CAAA,GAAA,MAAA;iDAGsB,aAAA,CAAA,UAAA,CAAA,GAAA,UAAA;sDAGK,aAAA,CAAA,eAAA,CAAA,GAAA,eAAA;8CAGR,aAAA,CAAA,oBAAA,CAAA,GAAA,oBAAA;+GAGiE,aAAA,CAAA,YAAA,CAAA,GAAA,YAAA;uEAGxC,aAAA,CAAA,UAAA,CAAA,GAAA,UAAA;8EAGO,aAAA,CAAA,WAAA,CAAA,GAAA,WAAA;+DAGf,aAAA,CAAA,YAAA,CAAA,GAAA,YAAA;2GAG4C,aAAA,CAAA,cAAA,CAAA,GAAA,cAAA;uEAGpC,aAAA,CAAA,eAAA,CAAA,GAAA,eAAA;2DAGZ,aAAA,CAAA,eAAA,CAAA,GAAA,eAAA;kDAGT,aAAA,CAAA,gBAAA,CAAA,GAAA,gBAAA;gEAGc,aAAA,CAAA,kBAAA,CAAA,GAAA,kBAAA;sDAGV,aAAA,CAAA,cAAA,CAAA,GAAA,cAAA;2DAGK,aAAA,CAAA,aAAA,CAAA,GAAA,aAAA;kEAGO,aAAA,CAAA,cAAA,CAAA,GAAA,cAAA;oFAGkB,aAAA,CAAA,sBAAA,CAAA,GAAA,sBAAA;kDAGlC,aAAA,CAAA,SAAA,CAAA,GAAA,SAAA;uEAGqB,aAAA,CAAA,kBAAA,CAAA,GAAA,kBAAA;AA3FxDA,IAAAA,OAAAA,aAAAA;AA6FX,CAAA,CAAA,EAAA;;"}
1
+ {"version":3,"file":"ComponentName.js","sources":["../../ComponentName.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 bare names this package declares components under.\n *\n * A page template writes a bare name and `resolveComponentName` decides which active package wins it, so\n * these names are public API: renaming one breaks every template that referenced it, in this package and\n * in anyone else's. Keeping them in one enum means the manifest, the registry and every template\n * reference the same symbol, and the specs can prove all three agree rather than hoping they do.\n */\nexport enum ComponentName {\n /** The application shell - topbar, sidebar, breadcrumb, content, footer and an optional right panel. */\n AppShell = 'appShell',\n\n /** The chrome-less shell - content, an optional branding aside, and the configurator. */\n FullPageShell = 'fullPageShell',\n\n /** The fixed strip across the top of the application shell. */\n Topbar = 'topbar',\n\n /** The sidebar's own chrome, inside the shell-positioned panel. */\n Sidebar = 'sidebar',\n\n /** A navigation list. */\n Menu = 'menu',\n\n /** One entry in a navigation list, optionally with a submenu. */\n MenuItem = 'menuItem',\n\n /** The trail above the content. */\n Breadcrumb = 'breadcrumb',\n\n /** The strip below the content. */\n Footer = 'footer',\n\n /** The inspector panel down the right-hand edge. */\n RightPanel = 'rightPanel',\n\n /** The floating configurator: color scheme, layout mode, menu theme and theme. */\n ConfigPanel = 'configPanel',\n\n /** A screen's title, subtitle and actions. */\n PageHeader = 'pageHeader',\n\n /** The scrim behind a floating sidebar, which also closes it. */\n Mask = 'mask',\n\n /** The brand mark. */\n Logo = 'logo',\n\n /** The signed-in user's avatar and menu. */\n UserMenu = 'userMenu',\n\n /** Switches between the themes a host offers. */\n ThemeSwitcher = 'themeSwitcher',\n\n /** Switches between the layout modes. */\n LayoutModeSwitcher = 'layoutModeSwitcher',\n\n /** An icon, a headline, a hint and one primary action: what a region says when it has nothing to show. */\n EmptyState = 'emptyState',\n\n /** One key figure with its label, trend and comparison period. */\n StatCard = 'statCard',\n\n /** A change drawn as a direction, a magnitude and whether it is good. */\n TrendChip = 'trendChip',\n\n /** A status as a semantic color, an icon and its text. */\n StatusChip = 'statusChip',\n\n /** One chart - line, bar, stacked, donut or funnel - with its legend and a table of the same data. */\n ChartWrapper = 'chartWrapper',\n\n /** Conditions on fields, joined by AND or OR in nested groups. */\n FilterBuilder = 'filterBuilder',\n\n /** Which columns a table shows, and in what order. */\n ColumnChooser = 'columnChooser',\n\n /** A list's saved views as a menu button. */\n SavedViewsMenu = 'savedViewsMenu',\n\n /** Sections of tasks with owner, due date and progress. */\n ChecklistSection = 'checklistSection',\n\n /** What happened to a record, grouped by day. */\n ActivityFeed = 'activityFeed',\n\n /** Overlapping avatars for the people on a record. */\n AvatarStack = 'avatarStack',\n\n /** A drop zone and file picker with type and size checks. */\n FileUploader = 'fileUploader',\n\n /** The steps a request goes through, who decides each, and where it stands. */\n ApprovalChainStepper = 'approvalChainStepper',\n\n /** An organization as an expandable tree. */\n OrgTree = 'orgTree',\n\n /** Roles across, permissions down, a checkbox where they meet. */\n PermissionMatrix = 'permissionMatrix',\n\n /** List of records as table, cards or grouped, with search, sort, paging, selection and row actions. */\n DataList = 'dataList',\n\n /** Tabs with a panel for each, kept in the address. */\n TabSet = 'tabSet',\n\n /** A module's sections as tabs or a left rail. */\n SubNavigation = 'subNavigation',\n\n /** The bar that appears when records are selected, with the bulk actions. */\n BulkBar = 'bulkBar',\n\n /** A search box for the topbar or a toolbar. */\n GlobalSearch = 'globalSearch',\n\n /** The topbar bell with the unread count. */\n NotificationsButton = 'notificationsButton',\n\n /** Columns mapped to a status with cards that move between them. */\n KanbanBoard = 'kanbanBoard',\n\n /** The steps, back/next/finish and draft save of a linear wizard. */\n WizardProgress = 'wizardProgress',\n\n /** Sections of validated fields with the save bar and unsaved-changes guard. */\n FormScreenBody = 'formScreenBody',\n}\n"],"names":["ComponentName"],"mappings":";;AAAA;AACA;AAEA;;;;;;;IAQO,IAAKA,aAAAA,iBAAAA,SAAAA,aAAAA,EAAAA;6GAC8F,aAAA,CAAA,UAAA,CAAA,GAAA,UAAA;8FAGf,aAAA,CAAA,eAAA,CAAA,GAAA,eAAA;oEAG1B,aAAA,CAAA,QAAA,CAAA,GAAA,QAAA;wEAGI,aAAA,CAAA,SAAA,CAAA,GAAA,SAAA;8BAG1C,aAAA,CAAA,MAAA,CAAA,GAAA,MAAA;sEAGwC,aAAA,CAAA,UAAA,CAAA,GAAA,UAAA;wCAG9B,aAAA,CAAA,YAAA,CAAA,GAAA,YAAA;wCAGA,aAAA,CAAA,QAAA,CAAA,GAAA,QAAA;yDAGiB,aAAA,CAAA,YAAA,CAAA,GAAA,YAAA;uFAG8B,aAAA,CAAA,aAAA,CAAA,GAAA,aAAA;mDAGpC,aAAA,CAAA,YAAA,CAAA,GAAA,YAAA;sEAGmB,aAAA,CAAA,MAAA,CAAA,GAAA,MAAA;2BAG3C,aAAA,CAAA,MAAA,CAAA,GAAA,MAAA;iDAGsB,aAAA,CAAA,UAAA,CAAA,GAAA,UAAA;sDAGK,aAAA,CAAA,eAAA,CAAA,GAAA,eAAA;8CAGR,aAAA,CAAA,oBAAA,CAAA,GAAA,oBAAA;+GAGiE,aAAA,CAAA,YAAA,CAAA,GAAA,YAAA;uEAGxC,aAAA,CAAA,UAAA,CAAA,GAAA,UAAA;8EAGO,aAAA,CAAA,WAAA,CAAA,GAAA,WAAA;+DAGf,aAAA,CAAA,YAAA,CAAA,GAAA,YAAA;2GAG4C,aAAA,CAAA,cAAA,CAAA,GAAA,cAAA;uEAGpC,aAAA,CAAA,eAAA,CAAA,GAAA,eAAA;2DAGZ,aAAA,CAAA,eAAA,CAAA,GAAA,eAAA;kDAGT,aAAA,CAAA,gBAAA,CAAA,GAAA,gBAAA;gEAGc,aAAA,CAAA,kBAAA,CAAA,GAAA,kBAAA;sDAGV,aAAA,CAAA,cAAA,CAAA,GAAA,cAAA;2DAGK,aAAA,CAAA,aAAA,CAAA,GAAA,aAAA;kEAGO,aAAA,CAAA,cAAA,CAAA,GAAA,cAAA;oFAGkB,aAAA,CAAA,sBAAA,CAAA,GAAA,sBAAA;kDAGlC,aAAA,CAAA,SAAA,CAAA,GAAA,SAAA;uEAGqB,aAAA,CAAA,kBAAA,CAAA,GAAA,kBAAA;6GAGsC,aAAA,CAAA,UAAA,CAAA,GAAA,UAAA;4DAGjD,aAAA,CAAA,QAAA,CAAA,GAAA,QAAA;uDAGL,aAAA,CAAA,eAAA,CAAA,GAAA,eAAA;kFAG2B,aAAA,CAAA,SAAA,CAAA,GAAA,SAAA;qDAG7B,aAAA,CAAA,cAAA,CAAA,GAAA,cAAA;kDAGH,aAAA,CAAA,qBAAA,CAAA,GAAA,qBAAA;yEAGuB,aAAA,CAAA,aAAA,CAAA,GAAA,aAAA;0EAGC,aAAA,CAAA,gBAAA,CAAA,GAAA,gBAAA;qFAGW,aAAA,CAAA,gBAAA,CAAA,GAAA,gBAAA;AAtHtEA,IAAAA,OAAAA,aAAAA;AAwHX,CAAA,CAAA,EAAA;;"}
@@ -21,6 +21,15 @@ var FileUploader = require('./foundation/FileUploader.js');
21
21
  var ApprovalChainStepper = require('./foundation/ApprovalChainStepper.js');
22
22
  var OrgTree = require('./foundation/OrgTree.js');
23
23
  var PermissionMatrix = require('./foundation/PermissionMatrix.js');
24
+ var DataList = require('./foundation/DataList.js');
25
+ var TabSet = require('./foundation/TabSet.js');
26
+ var SubNavigation = require('./foundation/SubNavigation.js');
27
+ var BulkBar = require('./foundation/BulkBar.js');
28
+ var GlobalSearch = require('./foundation/GlobalSearch.js');
29
+ var NotificationsButton = require('./foundation/NotificationsButton.js');
30
+ var KanbanBoard = require('./foundation/KanbanBoard.js');
31
+ var WizardProgress = require('./foundation/WizardProgress.js');
32
+ var FormScreenBody = require('./foundation/FormScreenBody.js');
24
33
  require('./foundation/foundationDescriptors.js');
25
34
  require('./foundation/foundationComponentMetadata.js');
26
35
  require('./foundation/foundationSamples.js');
@@ -81,7 +90,16 @@ var LayoutModeSwitcher = require('./shell/LayoutModeSwitcher.js');
81
90
  [scene_react.componentRegistryKey(packageName.defaultBlueprintName, ComponentName.ComponentName.FileUploader)]: FileUploader.FileUploader,
82
91
  [scene_react.componentRegistryKey(packageName.defaultBlueprintName, ComponentName.ComponentName.ApprovalChainStepper)]: ApprovalChainStepper.ApprovalChainStepper,
83
92
  [scene_react.componentRegistryKey(packageName.defaultBlueprintName, ComponentName.ComponentName.OrgTree)]: OrgTree.OrgTree,
84
- [scene_react.componentRegistryKey(packageName.defaultBlueprintName, ComponentName.ComponentName.PermissionMatrix)]: PermissionMatrix.PermissionMatrix
93
+ [scene_react.componentRegistryKey(packageName.defaultBlueprintName, ComponentName.ComponentName.PermissionMatrix)]: PermissionMatrix.PermissionMatrix,
94
+ [scene_react.componentRegistryKey(packageName.defaultBlueprintName, ComponentName.ComponentName.DataList)]: DataList.DataList,
95
+ [scene_react.componentRegistryKey(packageName.defaultBlueprintName, ComponentName.ComponentName.TabSet)]: TabSet.TabSet,
96
+ [scene_react.componentRegistryKey(packageName.defaultBlueprintName, ComponentName.ComponentName.SubNavigation)]: SubNavigation.SubNavigation,
97
+ [scene_react.componentRegistryKey(packageName.defaultBlueprintName, ComponentName.ComponentName.BulkBar)]: BulkBar.BulkBar,
98
+ [scene_react.componentRegistryKey(packageName.defaultBlueprintName, ComponentName.ComponentName.GlobalSearch)]: GlobalSearch.GlobalSearch,
99
+ [scene_react.componentRegistryKey(packageName.defaultBlueprintName, ComponentName.ComponentName.NotificationsButton)]: NotificationsButton.NotificationsButton,
100
+ [scene_react.componentRegistryKey(packageName.defaultBlueprintName, ComponentName.ComponentName.KanbanBoard)]: KanbanBoard.KanbanBoard,
101
+ [scene_react.componentRegistryKey(packageName.defaultBlueprintName, ComponentName.ComponentName.WizardProgress)]: WizardProgress.WizardProgress,
102
+ [scene_react.componentRegistryKey(packageName.defaultBlueprintName, ComponentName.ComponentName.FormScreenBody)]: FormScreenBody.FormScreenBody
85
103
  };
86
104
 
87
105
  exports.defaultBlueprintComponents = defaultBlueprintComponents;
@@ -1 +1 @@
1
- {"version":3,"file":"defaultBlueprintComponents.js","sources":["../../defaultBlueprintComponents.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { ComponentRegistry, componentRegistryKey } from '@cratis/scene.react';\nimport { ComponentName } from './ComponentName';\nimport { defaultBlueprintName } from './packageName';\nimport { ActivityFeed, ApprovalChainStepper, AvatarStack, ChartWrapper, ChecklistSection, ColumnChooser, FileUploader, EmptyState, FilterBuilder, OrgTree, PermissionMatrix, SavedViewsMenu, StatCard, StatusChip, TrendChip } from './foundation';\nimport {\n AppShell,\n Breadcrumb,\n ConfigPanel,\n Footer,\n FullPageShell,\n LayoutModeSwitcher,\n Logo,\n Mask,\n Menu,\n MenuItem,\n PageHeader,\n RightPanel,\n Sidebar,\n ThemeSwitcher,\n Topbar,\n UserMenu,\n} from './shell';\n\n/**\n * The components this package registers, keyed the way the renderer looks them up.\n *\n * Every key is built with `componentRegistryKey` rather than written out, because the separator between\n * package and component name is the registry's own business - it is deliberately not the `.` a screen uses\n * to qualify a name, so that a package name containing dots stays unambiguous. Building a key by hand is\n * how a component ends up registered under something no lookup will ever produce.\n */\nexport const defaultBlueprintComponents: ComponentRegistry = {\n [componentRegistryKey(defaultBlueprintName, ComponentName.AppShell)]: AppShell,\n [componentRegistryKey(defaultBlueprintName, ComponentName.FullPageShell)]: FullPageShell,\n [componentRegistryKey(defaultBlueprintName, ComponentName.Topbar)]: Topbar,\n [componentRegistryKey(defaultBlueprintName, ComponentName.Sidebar)]: Sidebar,\n [componentRegistryKey(defaultBlueprintName, ComponentName.Menu)]: Menu,\n [componentRegistryKey(defaultBlueprintName, ComponentName.MenuItem)]: MenuItem,\n [componentRegistryKey(defaultBlueprintName, ComponentName.Breadcrumb)]: Breadcrumb,\n [componentRegistryKey(defaultBlueprintName, ComponentName.Footer)]: Footer,\n [componentRegistryKey(defaultBlueprintName, ComponentName.RightPanel)]: RightPanel,\n [componentRegistryKey(defaultBlueprintName, ComponentName.ConfigPanel)]: ConfigPanel,\n [componentRegistryKey(defaultBlueprintName, ComponentName.PageHeader)]: PageHeader,\n [componentRegistryKey(defaultBlueprintName, ComponentName.Mask)]: Mask,\n [componentRegistryKey(defaultBlueprintName, ComponentName.Logo)]: Logo,\n [componentRegistryKey(defaultBlueprintName, ComponentName.UserMenu)]: UserMenu,\n [componentRegistryKey(defaultBlueprintName, ComponentName.ThemeSwitcher)]: ThemeSwitcher,\n [componentRegistryKey(defaultBlueprintName, ComponentName.LayoutModeSwitcher)]: LayoutModeSwitcher,\n [componentRegistryKey(defaultBlueprintName, ComponentName.EmptyState)]: EmptyState,\n [componentRegistryKey(defaultBlueprintName, ComponentName.StatCard)]: StatCard,\n [componentRegistryKey(defaultBlueprintName, ComponentName.TrendChip)]: TrendChip,\n [componentRegistryKey(defaultBlueprintName, ComponentName.StatusChip)]: StatusChip,\n [componentRegistryKey(defaultBlueprintName, ComponentName.ChartWrapper)]: ChartWrapper,\n [componentRegistryKey(defaultBlueprintName, ComponentName.FilterBuilder)]: FilterBuilder,\n [componentRegistryKey(defaultBlueprintName, ComponentName.ColumnChooser)]: ColumnChooser,\n [componentRegistryKey(defaultBlueprintName, ComponentName.SavedViewsMenu)]: SavedViewsMenu,\n [componentRegistryKey(defaultBlueprintName, ComponentName.ChecklistSection)]: ChecklistSection,\n [componentRegistryKey(defaultBlueprintName, ComponentName.ActivityFeed)]: ActivityFeed,\n [componentRegistryKey(defaultBlueprintName, ComponentName.AvatarStack)]: AvatarStack,\n [componentRegistryKey(defaultBlueprintName, ComponentName.FileUploader)]: FileUploader,\n [componentRegistryKey(defaultBlueprintName, ComponentName.ApprovalChainStepper)]: ApprovalChainStepper,\n [componentRegistryKey(defaultBlueprintName, ComponentName.OrgTree)]: OrgTree,\n [componentRegistryKey(defaultBlueprintName, ComponentName.PermissionMatrix)]: PermissionMatrix,\n};\n"],"names":["defaultBlueprintComponents","componentRegistryKey","defaultBlueprintName","ComponentName","AppShell","FullPageShell","Topbar","Sidebar","Menu","MenuItem","Breadcrumb","Footer","RightPanel","ConfigPanel","PageHeader","Mask","Logo","UserMenu","ThemeSwitcher","LayoutModeSwitcher","EmptyState","StatCard","TrendChip","StatusChip","ChartWrapper","FilterBuilder","ColumnChooser","SavedViewsMenu","ChecklistSection","ActivityFeed","AvatarStack","FileUploader","ApprovalChainStepper","OrgTree","PermissionMatrix"],"mappings":"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"}
1
+ {"version":3,"file":"defaultBlueprintComponents.js","sources":["../../defaultBlueprintComponents.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { ComponentRegistry, componentRegistryKey } from '@cratis/scene.react';\nimport { ComponentName } from './ComponentName';\nimport { defaultBlueprintName } from './packageName';\nimport { BulkBar, DataList, FormScreenBody, GlobalSearch, KanbanBoard, NotificationsButton, SubNavigation, TabSet, WizardProgress, ActivityFeed, ApprovalChainStepper, AvatarStack, ChartWrapper, ChecklistSection, ColumnChooser, FileUploader, EmptyState, FilterBuilder, OrgTree, PermissionMatrix, SavedViewsMenu, StatCard, StatusChip, TrendChip } from './foundation';\nimport {\n AppShell,\n Breadcrumb,\n ConfigPanel,\n Footer,\n FullPageShell,\n LayoutModeSwitcher,\n Logo,\n Mask,\n Menu,\n MenuItem,\n PageHeader,\n RightPanel,\n Sidebar,\n ThemeSwitcher,\n Topbar,\n UserMenu,\n} from './shell';\n\n/**\n * The components this package registers, keyed the way the renderer looks them up.\n *\n * Every key is built with `componentRegistryKey` rather than written out, because the separator between\n * package and component name is the registry's own business - it is deliberately not the `.` a screen uses\n * to qualify a name, so that a package name containing dots stays unambiguous. Building a key by hand is\n * how a component ends up registered under something no lookup will ever produce.\n */\nexport const defaultBlueprintComponents: ComponentRegistry = {\n [componentRegistryKey(defaultBlueprintName, ComponentName.AppShell)]: AppShell,\n [componentRegistryKey(defaultBlueprintName, ComponentName.FullPageShell)]: FullPageShell,\n [componentRegistryKey(defaultBlueprintName, ComponentName.Topbar)]: Topbar,\n [componentRegistryKey(defaultBlueprintName, ComponentName.Sidebar)]: Sidebar,\n [componentRegistryKey(defaultBlueprintName, ComponentName.Menu)]: Menu,\n [componentRegistryKey(defaultBlueprintName, ComponentName.MenuItem)]: MenuItem,\n [componentRegistryKey(defaultBlueprintName, ComponentName.Breadcrumb)]: Breadcrumb,\n [componentRegistryKey(defaultBlueprintName, ComponentName.Footer)]: Footer,\n [componentRegistryKey(defaultBlueprintName, ComponentName.RightPanel)]: RightPanel,\n [componentRegistryKey(defaultBlueprintName, ComponentName.ConfigPanel)]: ConfigPanel,\n [componentRegistryKey(defaultBlueprintName, ComponentName.PageHeader)]: PageHeader,\n [componentRegistryKey(defaultBlueprintName, ComponentName.Mask)]: Mask,\n [componentRegistryKey(defaultBlueprintName, ComponentName.Logo)]: Logo,\n [componentRegistryKey(defaultBlueprintName, ComponentName.UserMenu)]: UserMenu,\n [componentRegistryKey(defaultBlueprintName, ComponentName.ThemeSwitcher)]: ThemeSwitcher,\n [componentRegistryKey(defaultBlueprintName, ComponentName.LayoutModeSwitcher)]: LayoutModeSwitcher,\n [componentRegistryKey(defaultBlueprintName, ComponentName.EmptyState)]: EmptyState,\n [componentRegistryKey(defaultBlueprintName, ComponentName.StatCard)]: StatCard,\n [componentRegistryKey(defaultBlueprintName, ComponentName.TrendChip)]: TrendChip,\n [componentRegistryKey(defaultBlueprintName, ComponentName.StatusChip)]: StatusChip,\n [componentRegistryKey(defaultBlueprintName, ComponentName.ChartWrapper)]: ChartWrapper,\n [componentRegistryKey(defaultBlueprintName, ComponentName.FilterBuilder)]: FilterBuilder,\n [componentRegistryKey(defaultBlueprintName, ComponentName.ColumnChooser)]: ColumnChooser,\n [componentRegistryKey(defaultBlueprintName, ComponentName.SavedViewsMenu)]: SavedViewsMenu,\n [componentRegistryKey(defaultBlueprintName, ComponentName.ChecklistSection)]: ChecklistSection,\n [componentRegistryKey(defaultBlueprintName, ComponentName.ActivityFeed)]: ActivityFeed,\n [componentRegistryKey(defaultBlueprintName, ComponentName.AvatarStack)]: AvatarStack,\n [componentRegistryKey(defaultBlueprintName, ComponentName.FileUploader)]: FileUploader,\n [componentRegistryKey(defaultBlueprintName, ComponentName.ApprovalChainStepper)]: ApprovalChainStepper,\n [componentRegistryKey(defaultBlueprintName, ComponentName.OrgTree)]: OrgTree,\n [componentRegistryKey(defaultBlueprintName, ComponentName.PermissionMatrix)]: PermissionMatrix,\n [componentRegistryKey(defaultBlueprintName, ComponentName.DataList)]: DataList,\n [componentRegistryKey(defaultBlueprintName, ComponentName.TabSet)]: TabSet,\n [componentRegistryKey(defaultBlueprintName, ComponentName.SubNavigation)]: SubNavigation,\n [componentRegistryKey(defaultBlueprintName, ComponentName.BulkBar)]: BulkBar,\n [componentRegistryKey(defaultBlueprintName, ComponentName.GlobalSearch)]: GlobalSearch,\n [componentRegistryKey(defaultBlueprintName, ComponentName.NotificationsButton)]: NotificationsButton,\n [componentRegistryKey(defaultBlueprintName, ComponentName.KanbanBoard)]: KanbanBoard,\n [componentRegistryKey(defaultBlueprintName, ComponentName.WizardProgress)]: WizardProgress,\n [componentRegistryKey(defaultBlueprintName, ComponentName.FormScreenBody)]: FormScreenBody,\n};\n"],"names":["defaultBlueprintComponents","componentRegistryKey","defaultBlueprintName","ComponentName","AppShell","FullPageShell","Topbar","Sidebar","Menu","MenuItem","Breadcrumb","Footer","RightPanel","ConfigPanel","PageHeader","Mask","Logo","UserMenu","ThemeSwitcher","LayoutModeSwitcher","EmptyState","StatCard","TrendChip","StatusChip","ChartWrapper","FilterBuilder","ColumnChooser","SavedViewsMenu","ChecklistSection","ActivityFeed","AvatarStack","FileUploader","ApprovalChainStepper","OrgTree","PermissionMatrix","DataList","TabSet","SubNavigation","BulkBar","GlobalSearch","NotificationsButton","KanbanBoard","WizardProgress","FormScreenBody"],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var ActionButton = require('./ActionButton.js');
5
+ var foundationStrings = require('./foundationStrings.js');
6
+ var PermissionRule = require('./PermissionRule.js');
7
+
8
+ // Copyright (c) Cratis. All rights reserved.
9
+ // Licensed under the MIT license. See LICENSE file in the project root for full license information.
10
+ /** How many records a selection holds: an array's length, a number as given, anything else none. */ function selectionCount(selection) {
11
+ if (Array.isArray(selection)) return selection.length;
12
+ return typeof selection === 'number' && Number.isFinite(selection) && selection > 0 ? Math.floor(selection) : 0;
13
+ }
14
+ /**
15
+ * The `bulkBar` component: appears when records are selected, says how many, offers the bulk actions and clears the selection.
16
+ *
17
+ * `selection` is the selected records (or their count) - a list screen binds it to the table's selection output - and the bar is not rendered
18
+ * at all while nothing is selected. It is announced politely when it appears or its count changes. `actions` (strings) are the bulk actions; each
19
+ * runs the behaviors attached to the element and honours `actionPermission` (enabled, disabled with its reason, or hidden). "Clear selection"
20
+ * runs the same behaviors with no action, which a screen wires to emptying the table's selection.
21
+ */ function BulkBar({ element, interactions }) {
22
+ const count = selectionCount(element.properties.selection);
23
+ const strings = foundationStrings.readFoundationStrings(element);
24
+ const actions = Array.isArray(element.properties.actions) ? element.properties.actions.filter((action)=>typeof action === 'string') : [];
25
+ const rule = PermissionRule.readPermissionRule(element, 'actionPermission');
26
+ return /*#__PURE__*/ jsxRuntime.jsxs("div", {
27
+ className: "foundation foundation-bulk-bar",
28
+ "data-scene-id": element.id,
29
+ role: "region",
30
+ "aria-label": strings.bulkActions,
31
+ hidden: count === 0,
32
+ children: [
33
+ /*#__PURE__*/ jsxRuntime.jsx("span", {
34
+ className: "foundation-bulk-count",
35
+ role: "status",
36
+ children: count > 0 ? foundationStrings.formatText(strings.bulkSelected, {
37
+ count
38
+ }) : ''
39
+ }),
40
+ /*#__PURE__*/ jsxRuntime.jsx("span", {
41
+ className: "foundation-bulk-actions",
42
+ children: actions.map((action)=>/*#__PURE__*/ jsxRuntime.jsx(ActionButton.ActionButton, {
43
+ rule: rule,
44
+ emphasis: "secondary",
45
+ disabledReason: strings.disabledNoPermission,
46
+ onClick: interactions?.onClick,
47
+ children: action
48
+ }, action))
49
+ }),
50
+ /*#__PURE__*/ jsxRuntime.jsx(ActionButton.ActionButton, {
51
+ emphasis: "quiet",
52
+ disabledReason: strings.disabledNoPermission,
53
+ onClick: interactions?.onClick,
54
+ children: strings.bulkClear
55
+ })
56
+ ]
57
+ });
58
+ }
59
+
60
+ exports.BulkBar = BulkBar;
61
+ exports.selectionCount = selectionCount;
62
+ //# sourceMappingURL=BulkBar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BulkBar.js","sources":["../../../foundation/BulkBar.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 { RegisteredComponentProps } from '@cratis/scene.react';\nimport { ActionButton } from './ActionButton';\nimport { formatText, readFoundationStrings } from './foundationStrings';\nimport { readPermissionRule } from './PermissionRule';\n\n/** How many records a selection holds: an array's length, a number as given, anything else none. */\nexport function selectionCount(selection: unknown): number {\n if (Array.isArray(selection)) return selection.length;\n return typeof selection === 'number' && Number.isFinite(selection) && selection > 0 ? Math.floor(selection) : 0;\n}\n\n/**\n * The `bulkBar` component: appears when records are selected, says how many, offers the bulk actions and clears the selection.\n *\n * `selection` is the selected records (or their count) - a list screen binds it to the table's selection output - and the bar is not rendered\n * at all while nothing is selected. It is announced politely when it appears or its count changes. `actions` (strings) are the bulk actions; each\n * runs the behaviors attached to the element and honours `actionPermission` (enabled, disabled with its reason, or hidden). \"Clear selection\"\n * runs the same behaviors with no action, which a screen wires to emptying the table's selection.\n */\nexport function BulkBar({ element, interactions }: RegisteredComponentProps) {\n const count = selectionCount(element.properties.selection);\n const strings = readFoundationStrings(element);\n const actions = Array.isArray(element.properties.actions) ? element.properties.actions.filter((action): action is string => typeof action === 'string') : [];\n const rule = readPermissionRule(element, 'actionPermission');\n\n return (\n <div className='foundation foundation-bulk-bar' data-scene-id={element.id} role='region' aria-label={strings.bulkActions} hidden={count === 0}>\n <span className='foundation-bulk-count' role='status'>{count > 0 ? formatText(strings.bulkSelected, { count }) : ''}</span>\n <span className='foundation-bulk-actions'>\n {actions.map(action => <ActionButton key={action} rule={rule} emphasis='secondary' disabledReason={strings.disabledNoPermission} onClick={interactions?.onClick}>{action}</ActionButton>)}\n </span>\n <ActionButton emphasis='quiet' disabledReason={strings.disabledNoPermission} onClick={interactions?.onClick}>{strings.bulkClear}</ActionButton>\n </div>\n );\n}\n"],"names":["selectionCount","selection","Array","isArray","length","Number","isFinite","Math","floor","BulkBar","element","interactions","count","properties","strings","readFoundationStrings","actions","filter","action","rule","readPermissionRule","_jsxs","div","className","data-scene-id","id","role","aria-label","bulkActions","hidden","_jsx","span","formatText","bulkSelected","map","ActionButton","emphasis","disabledReason","disabledNoPermission","onClick","bulkClear"],"mappings":";;;;;;;AAAA;AACA;AAOA,qGACO,SAASA,cAAAA,CAAeC,SAAkB,EAAA;AAC7C,IAAA,IAAIC,MAAMC,OAAO,CAACF,SAAAA,CAAAA,EAAY,OAAOA,UAAUG,MAAM;AACrD,IAAA,OAAO,OAAOH,SAAAA,KAAc,QAAA,IAAYI,MAAAA,CAAOC,QAAQ,CAACL,SAAAA,CAAAA,IAAcA,SAAAA,GAAY,CAAA,GAAIM,IAAAA,CAAKC,KAAK,CAACP,SAAAA,CAAAA,GAAa,CAAA;AAClH;AAEA;;;;;;;AAOC,IACM,SAASQ,OAAAA,CAAQ,EAAEC,OAAO,EAAEC,YAAY,EAA4B,EAAA;AACvE,IAAA,MAAMC,KAAAA,GAAQZ,cAAAA,CAAeU,OAAAA,CAAQG,UAAU,CAACZ,SAAS,CAAA;AACzD,IAAA,MAAMa,UAAUC,uCAAAA,CAAsBL,OAAAA,CAAAA;IACtC,MAAMM,OAAAA,GAAUd,MAAMC,OAAO,CAACO,QAAQG,UAAU,CAACG,OAAO,CAAA,GAAIN,OAAAA,CAAQG,UAAU,CAACG,OAAO,CAACC,MAAM,CAAC,CAACC,MAAAA,GAA6B,OAAOA,MAAAA,KAAW,QAAA,CAAA,GAAY,EAAE;IAC5J,MAAMC,IAAAA,GAAOC,kCAAmBV,OAAAA,EAAS,kBAAA,CAAA;AAEzC,IAAA,qBACIW,eAAA,CAACC,KAAAA,EAAAA;QAAIC,SAAAA,EAAU,gCAAA;AAAiCC,QAAAA,eAAAA,EAAed,QAAQe,EAAE;QAAEC,IAAAA,EAAK,QAAA;AAASC,QAAAA,YAAAA,EAAYb,QAAQc,WAAW;AAAEC,QAAAA,MAAAA,EAAQjB,KAAAA,KAAU,CAAA;;0BACxIkB,cAAA,CAACC,MAAAA,EAAAA;gBAAKR,SAAAA,EAAU,uBAAA;gBAAwBG,IAAAA,EAAK,QAAA;AAAUd,gBAAAA,QAAAA,EAAAA,KAAAA,GAAQ,CAAA,GAAIoB,4BAAAA,CAAWlB,OAAAA,CAAQmB,YAAY,EAAE;AAAErB,oBAAAA;iBAAM,CAAA,GAAK;;0BACjHkB,cAAA,CAACC,MAAAA,EAAAA;gBAAKR,SAAAA,EAAU,yBAAA;AACXP,gBAAAA,QAAAA,EAAAA,OAAAA,CAAQkB,GAAG,CAAChB,CAAAA,MAAAA,iBAAUY,cAAA,CAACK,yBAAAA,EAAAA;wBAA0BhB,IAAAA,EAAMA,IAAAA;wBAAMiB,QAAAA,EAAS,WAAA;AAAYC,wBAAAA,cAAAA,EAAgBvB,QAAQwB,oBAAoB;AAAEC,wBAAAA,OAAAA,EAAS5B,YAAAA,EAAc4B,OAAAA;AAAUrB,wBAAAA,QAAAA,EAAAA;AAAxHA,qBAAAA,EAAAA,MAAAA,CAAAA;;0BAE9CY,cAAA,CAACK,yBAAAA,EAAAA;gBAAaC,QAAAA,EAAS,OAAA;AAAQC,gBAAAA,cAAAA,EAAgBvB,QAAQwB,oBAAoB;AAAEC,gBAAAA,OAAAA,EAAS5B,YAAAA,EAAc4B,OAAAA;AAAUzB,gBAAAA,QAAAA,EAAAA,OAAAA,CAAQ0B;;;;AAGlI;;;"}