@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.
- package/ComponentName.ts +27 -0
- package/defaultBlueprintComponents.ts +10 -1
- package/dist/cjs/ComponentName.js +9 -0
- package/dist/cjs/ComponentName.js.map +1 -1
- package/dist/cjs/defaultBlueprintComponents.js +19 -1
- package/dist/cjs/defaultBlueprintComponents.js.map +1 -1
- package/dist/cjs/foundation/BulkBar.js +62 -0
- package/dist/cjs/foundation/BulkBar.js.map +1 -0
- package/dist/cjs/foundation/DataList.js +436 -0
- package/dist/cjs/foundation/DataList.js.map +1 -0
- package/dist/cjs/foundation/FormScreenBody.js +447 -0
- package/dist/cjs/foundation/FormScreenBody.js.map +1 -0
- package/dist/cjs/foundation/FoundationStates.js +2 -1
- package/dist/cjs/foundation/FoundationStates.js.map +1 -1
- package/dist/cjs/foundation/GlobalSearch.js +54 -0
- package/dist/cjs/foundation/GlobalSearch.js.map +1 -0
- package/dist/cjs/foundation/KanbanBoard.js +222 -0
- package/dist/cjs/foundation/KanbanBoard.js.map +1 -0
- package/dist/cjs/foundation/NotificationsButton.js +45 -0
- package/dist/cjs/foundation/NotificationsButton.js.map +1 -0
- package/dist/cjs/foundation/SubNavigation.js +72 -0
- package/dist/cjs/foundation/SubNavigation.js.map +1 -0
- package/dist/cjs/foundation/TabSet.js +101 -0
- package/dist/cjs/foundation/TabSet.js.map +1 -0
- package/dist/cjs/foundation/WizardProgress.js +185 -0
- package/dist/cjs/foundation/WizardProgress.js.map +1 -0
- package/dist/cjs/foundation/boardModel.js +67 -0
- package/dist/cjs/foundation/boardModel.js.map +1 -0
- package/dist/cjs/foundation/formModel.js +158 -0
- package/dist/cjs/foundation/formModel.js.map +1 -0
- package/dist/cjs/foundation/foundationComponentMetadata.js +54 -0
- package/dist/cjs/foundation/foundationComponentMetadata.js.map +1 -1
- package/dist/cjs/foundation/foundationDescriptors.js +400 -0
- package/dist/cjs/foundation/foundationDescriptors.js.map +1 -1
- package/dist/cjs/foundation/foundationSamples.js +303 -0
- package/dist/cjs/foundation/foundationSamples.js.map +1 -1
- package/dist/cjs/foundation/foundationStrings.js +72 -0
- package/dist/cjs/foundation/foundationStrings.js.map +1 -1
- package/dist/cjs/foundation/listModel.js +200 -0
- package/dist/cjs/foundation/listModel.js.map +1 -0
- package/dist/cjs/foundation/tabModel.js +41 -0
- package/dist/cjs/foundation/tabModel.js.map +1 -0
- package/dist/cjs/foundation/urlState.js +57 -0
- package/dist/cjs/foundation/urlState.js.map +1 -0
- package/dist/cjs/foundation/useCompactWidth.js +23 -0
- package/dist/cjs/foundation/useCompactWidth.js.map +1 -0
- package/dist/cjs/foundation/wizardModel.js +50 -0
- package/dist/cjs/foundation/wizardModel.js.map +1 -0
- package/dist/cjs/index.js +71 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/ComponentName.d.ts +10 -1
- package/dist/esm/ComponentName.d.ts.map +1 -1
- package/dist/esm/ComponentName.js +9 -0
- package/dist/esm/ComponentName.js.map +1 -1
- package/dist/esm/defaultBlueprintComponents.d.ts.map +1 -1
- package/dist/esm/defaultBlueprintComponents.js +19 -1
- package/dist/esm/defaultBlueprintComponents.js.map +1 -1
- package/dist/esm/foundation/BulkBar.d.ts +4 -0
- package/dist/esm/foundation/BulkBar.d.ts.map +1 -0
- package/dist/esm/foundation/BulkBar.js +59 -0
- package/dist/esm/foundation/BulkBar.js.map +1 -0
- package/dist/esm/foundation/DataList.d.ts +3 -0
- package/dist/esm/foundation/DataList.d.ts.map +1 -0
- package/dist/esm/foundation/DataList.js +434 -0
- package/dist/esm/foundation/DataList.js.map +1 -0
- package/dist/esm/foundation/FormScreenBody.d.ts +3 -0
- package/dist/esm/foundation/FormScreenBody.d.ts.map +1 -0
- package/dist/esm/foundation/FormScreenBody.js +445 -0
- package/dist/esm/foundation/FormScreenBody.js.map +1 -0
- package/dist/esm/foundation/FoundationStates.js +2 -1
- package/dist/esm/foundation/FoundationStates.js.map +1 -1
- package/dist/esm/foundation/GlobalSearch.d.ts +3 -0
- package/dist/esm/foundation/GlobalSearch.d.ts.map +1 -0
- package/dist/esm/foundation/GlobalSearch.js +52 -0
- package/dist/esm/foundation/GlobalSearch.js.map +1 -0
- package/dist/esm/foundation/KanbanBoard.d.ts +3 -0
- package/dist/esm/foundation/KanbanBoard.d.ts.map +1 -0
- package/dist/esm/foundation/KanbanBoard.js +220 -0
- package/dist/esm/foundation/KanbanBoard.js.map +1 -0
- package/dist/esm/foundation/NotificationsButton.d.ts +3 -0
- package/dist/esm/foundation/NotificationsButton.d.ts.map +1 -0
- package/dist/esm/foundation/NotificationsButton.js +43 -0
- package/dist/esm/foundation/NotificationsButton.js.map +1 -0
- package/dist/esm/foundation/SubNavigation.d.ts +3 -0
- package/dist/esm/foundation/SubNavigation.d.ts.map +1 -0
- package/dist/esm/foundation/SubNavigation.js +70 -0
- package/dist/esm/foundation/SubNavigation.js.map +1 -0
- package/dist/esm/foundation/TabSet.d.ts +3 -0
- package/dist/esm/foundation/TabSet.d.ts.map +1 -0
- package/dist/esm/foundation/TabSet.js +99 -0
- package/dist/esm/foundation/TabSet.js.map +1 -0
- package/dist/esm/foundation/WizardProgress.d.ts +3 -0
- package/dist/esm/foundation/WizardProgress.d.ts.map +1 -0
- package/dist/esm/foundation/WizardProgress.js +183 -0
- package/dist/esm/foundation/WizardProgress.js.map +1 -0
- package/dist/esm/foundation/boardModel.d.ts +22 -0
- package/dist/esm/foundation/boardModel.d.ts.map +1 -0
- package/dist/esm/foundation/boardModel.js +61 -0
- package/dist/esm/foundation/boardModel.js.map +1 -0
- package/dist/esm/foundation/formModel.d.ts +48 -0
- package/dist/esm/foundation/formModel.d.ts.map +1 -0
- package/dist/esm/foundation/formModel.js +147 -0
- package/dist/esm/foundation/formModel.js.map +1 -0
- package/dist/esm/foundation/foundationComponentMetadata.d.ts.map +1 -1
- package/dist/esm/foundation/foundationComponentMetadata.js +54 -0
- package/dist/esm/foundation/foundationComponentMetadata.js.map +1 -1
- package/dist/esm/foundation/foundationDescriptors.d.ts.map +1 -1
- package/dist/esm/foundation/foundationDescriptors.js +400 -0
- package/dist/esm/foundation/foundationDescriptors.js.map +1 -1
- package/dist/esm/foundation/foundationSamples.d.ts.map +1 -1
- package/dist/esm/foundation/foundationSamples.js +303 -0
- package/dist/esm/foundation/foundationSamples.js.map +1 -1
- package/dist/esm/foundation/foundationStrings.d.ts +72 -0
- package/dist/esm/foundation/foundationStrings.d.ts.map +1 -1
- package/dist/esm/foundation/foundationStrings.js +72 -0
- package/dist/esm/foundation/foundationStrings.js.map +1 -1
- package/dist/esm/foundation/index.d.ts +16 -0
- package/dist/esm/foundation/index.d.ts.map +1 -1
- package/dist/esm/foundation/index.js +16 -0
- package/dist/esm/foundation/index.js.map +1 -1
- package/dist/esm/foundation/listModel.d.ts +49 -0
- package/dist/esm/foundation/listModel.d.ts.map +1 -0
- package/dist/esm/foundation/listModel.js +183 -0
- package/dist/esm/foundation/listModel.js.map +1 -0
- package/dist/esm/foundation/tabModel.d.ts +10 -0
- package/dist/esm/foundation/tabModel.d.ts.map +1 -0
- package/dist/esm/foundation/tabModel.js +37 -0
- package/dist/esm/foundation/tabModel.js.map +1 -0
- package/dist/esm/foundation/urlState.d.ts +4 -0
- package/dist/esm/foundation/urlState.d.ts.map +1 -0
- package/dist/esm/foundation/urlState.js +53 -0
- package/dist/esm/foundation/urlState.js.map +1 -0
- package/dist/esm/foundation/useCompactWidth.d.ts +3 -0
- package/dist/esm/foundation/useCompactWidth.d.ts.map +1 -0
- package/dist/esm/foundation/useCompactWidth.js +20 -0
- package/dist/esm/foundation/useCompactWidth.js.map +1 -0
- package/dist/esm/foundation/wizardModel.d.ts +16 -0
- package/dist/esm/foundation/wizardModel.d.ts.map +1 -0
- package/dist/esm/foundation/wizardModel.js +43 -0
- package/dist/esm/foundation/wizardModel.js.map +1 -0
- package/dist/esm/index.js +16 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/tsconfig.tsbuildinfo +1 -1
- package/foundation/BulkBar.tsx +38 -0
- package/foundation/DataList.tsx +208 -0
- package/foundation/FormScreenBody.tsx +196 -0
- package/foundation/FoundationStates.tsx +1 -1
- package/foundation/GlobalSearch.tsx +33 -0
- package/foundation/KanbanBoard.tsx +97 -0
- package/foundation/NotificationsButton.tsx +28 -0
- package/foundation/SubNavigation.tsx +49 -0
- package/foundation/TabSet.tsx +65 -0
- package/foundation/WizardProgress.tsx +109 -0
- package/foundation/boardModel.ts +64 -0
- package/foundation/formModel.ts +146 -0
- package/foundation/foundationComponentMetadata.ts +9 -0
- package/foundation/foundationDescriptors.ts +195 -0
- package/foundation/foundationSamples.ts +56 -0
- package/foundation/foundationStrings.ts +72 -0
- package/foundation/index.ts +16 -0
- package/foundation/listModel.ts +190 -0
- package/foundation/tabModel.ts +41 -0
- package/foundation/urlState.ts +52 -0
- package/foundation/useCompactWidth.ts +23 -0
- package/foundation/wizardModel.ts +54 -0
- package/package.json +8 -8
- package/shell/layout.css +513 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"foundationDescriptors.js","sources":["../../../foundation/foundationDescriptors.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 { BindingSourceKind, ComponentDescriptor, PropertyDescriptor, PropertyEditorKind, PropertyValueType } from '@cratis/scene.model';\nimport { componentRegistryKey, valueOutputProperty } from '@cratis/scene.react';\nimport { ComponentName } from '../ComponentName';\nimport { defaultBlueprintName } from '../packageName';\nimport { ActivityKind } from './activityModel';\nimport { ApprovalState } from './approvalModel';\nimport { ChartKind } from './chartGeometry';\nimport { ComponentState } from './ComponentState';\nimport { FilterFieldType } from './filterModel';\nimport { NumberFormat } from './formatting';\nimport { PermissionRule } from './PermissionRule';\nimport { StatusTone } from './StatusChip';\n\n/** Data properties take what a screen binds them to: a query's result, a data context or another component's output. */\nexport const bindable = [BindingSourceKind.DataContext, BindingSourceKind.QueryResult, BindingSourceKind.ComponentProperty];\n\nconst text = (path: string, label: string, group: string, description?: string, extra: Partial<PropertyDescriptor> = {}): PropertyDescriptor =>\n ({ path, label, group, valueType: PropertyValueType.String, ...(group === 'Data' ? { acceptedBindingKinds: bindable } : {}), ...(description === undefined ? {} : { description }), ...extra });\n\nconst number = (path: string, label: string, group: string, description?: string, extra: Partial<PropertyDescriptor> = {}): PropertyDescriptor =>\n ({ path, label, group, valueType: PropertyValueType.Number, editorKind: PropertyEditorKind.Number, ...(group === 'Data' ? { acceptedBindingKinds: bindable } : {}), ...(description === undefined ? {} : { description }), ...extra });\n\nconst flag = (path: string, label: string, group: string, description?: string, extra: Partial<PropertyDescriptor> = {}): PropertyDescriptor =>\n ({ path, label, group, valueType: PropertyValueType.Boolean, editorKind: PropertyEditorKind.Boolean, ...(description === undefined ? {} : { description }), ...extra });\n\nconst choice = (path: string, label: string, group: string, values: Record<string, string>, defaultValue: string, description?: string): PropertyDescriptor =>\n ({\n path, label, group, valueType: PropertyValueType.Enum, editorKind: PropertyEditorKind.Enum, default: defaultValue,\n choices: Object.entries(values).map(([value, name]) => ({ value, label: name })), ...(description === undefined ? {} : { description }),\n });\n\nexport const list = (path: string, label: string, group: string, itemLabel: string, properties: PropertyDescriptor[], description?: string): PropertyDescriptor =>\n ({ path, label, group, valueType: PropertyValueType.Collection, default: [], item: { label: itemLabel, properties }, ...(description === undefined ? {} : { description }) });\n\nconst rule = (path: string, label: string, description: string): PropertyDescriptor =>\n choice(path, label, 'Permissions', { [PermissionRule.Enabled]: 'Enabled', [PermissionRule.Disabled]: 'Disabled', [PermissionRule.Hidden]: 'Hidden' }, PermissionRule.Enabled, description);\n\n/** The properties every data-showing foundation component shares: the standard states (spec Part B 1.4) and the cross-cutting rules of 1.5. */\nexport const standardStateProperties: PropertyDescriptor[] = [\n choice('state', 'Preview state', 'State', {\n [ComponentState.Ready]: 'Ready', [ComponentState.Loading]: 'Loading', [ComponentState.Empty]: 'Empty',\n [ComponentState.Error]: 'Error', [ComponentState.NoPermission]: 'No permission', [ComponentState.Partial]: 'Partial',\n }, ComponentState.Ready, 'Forces a state so each can be designed and previewed; empty means the state follows the bound data.'),\n text('error', 'Error message', 'State', 'The message of the error state; setting it puts the component in that state.'),\n flag('loading', 'Loading', 'State', 'Shows the skeleton while the data has not answered.'),\n flag('forbidden', 'Not allowed', 'State', 'Shows the no-permission state, which explains what is missing and shows no data.'),\n text('permissionSubject', 'What access is missing', 'State', 'Names what the user cannot see in the no-permission message.'),\n { path: 'failedRegions', label: 'Failed regions', group: 'State', valueType: PropertyValueType.Json, editorKind: PropertyEditorKind.StringList, default: [], description: 'The parts that failed to load; any entry puts the component in the partial state.' },\n text('emptyHeadline', 'Empty headline', 'State'),\n text('emptyHint', 'Empty hint', 'State'),\n text('emptyActionLabel', 'Empty action', 'State', 'The primary action offered when there is nothing to show.'),\n rule('actionPermission', 'Empty action permission', 'Whether the empty state offers its action, refuses it with a reason, or does not render it.'),\n text('label', 'Label', 'Accessibility', 'The accessible name of the region.'),\n text('locale', 'Locale', 'Content', 'The locale dates, numbers and currency are formatted in; empty follows the document.'),\n choice('density', 'Density', 'Appearance', { comfortable: 'Comfortable', compact: 'Compact' }, 'comfortable'),\n { path: 'strings', label: 'Text overrides', group: 'Content', valueType: PropertyValueType.Object, editorKind: PropertyEditorKind.StringMap, description: 'Replaces the text the component says itself, for localization.' },\n];\n\nconst key = (name: ComponentName) => componentRegistryKey(defaultBlueprintName, name);\n\nconst formats = { [NumberFormat.Number]: 'Number', [NumberFormat.Currency]: 'Currency', [NumberFormat.Percent]: 'Percent', [NumberFormat.Compact]: 'Compact' };\n\n/** What can be edited on the foundation components (Part B 4). Each declares the shape of its data, never values (SD1). */\nexport const foundationDescriptors: ComponentDescriptor[] = [\n {\n component: key(ComponentName.EmptyState),\n displayName: 'Empty state',\n description: 'An icon, a headline, a hint and one primary action; embeddable in any region.',\n properties: [\n text('headline', 'Headline', 'Content', undefined, { default: 'Nothing here yet' }),\n text('hint', 'Hint', 'Content'),\n text('icon', 'Icon', 'Appearance'),\n text('actionLabel', 'Primary action', 'Behavior', 'The label of the one action the state offers; its behaviors say what it does.'),\n rule('actionPermission', 'Action permission', 'Whether the action works, refuses with a reason, or is not rendered.'),\n text('locale', 'Locale', 'Content'),\n { path: 'strings', label: 'Text overrides', group: 'Content', valueType: PropertyValueType.Object, editorKind: PropertyEditorKind.StringMap },\n ],\n },\n {\n component: key(ComponentName.StatCard),\n displayName: 'Stat card',\n description: 'One key figure with its label, trend and the period the trend is compared to.',\n properties: [\n text('label', 'Label', 'Content', 'What the figure measures.', { constraints: { required: true } }),\n number('value', 'Value', 'Data', 'The figure; bind it to a query result.'),\n choice('format', 'Format', 'Appearance', formats, NumberFormat.Number),\n text('currency', 'Currency', 'Appearance', 'The ISO 4217 code when the format is currency.'),\n number('fractionDigits', 'Fraction digits', 'Appearance'),\n number('change', 'Change', 'Data', 'How much the figure moved, as a percentage; bind it to a query result.'),\n choice('goodDirection', 'Good direction', 'Appearance', { up: 'Up is good', down: 'Down is good' }, 'up', 'Which movement is good: a falling response time is.'),\n text('comparison', 'Compared to', 'Content', 'The period the change is compared to, for example \"last month\".'),\n ...standardStateProperties.filter(property => property.path !== 'label'),\n ],\n },\n {\n component: key(ComponentName.TrendChip),\n displayName: 'Trend chip',\n description: 'A change drawn as a direction, a magnitude and whether the movement is good.',\n properties: [\n number('change', 'Change', 'Data', 'The movement; bind it to a query result.'),\n choice('format', 'Format', 'Appearance', formats, NumberFormat.Percent),\n choice('goodDirection', 'Good direction', 'Appearance', { up: 'Up is good', down: 'Down is good' }, 'up'),\n text('comparison', 'Compared to', 'Content'),\n text('locale', 'Locale', 'Content'),\n { path: 'strings', label: 'Text overrides', group: 'Content', valueType: PropertyValueType.Object, editorKind: PropertyEditorKind.StringMap },\n ],\n },\n {\n component: key(ComponentName.StatusChip),\n displayName: 'Status chip',\n description: 'A status shown as a semantic color, an icon and its text; the text is always shown.',\n properties: [\n text('status', 'Status', 'Data', 'The status text; bind it to a query result.', { constraints: { required: true } }),\n choice('tone', 'Tone', 'Appearance', {\n [StatusTone.Success]: 'Success', [StatusTone.Warning]: 'Warning', [StatusTone.Danger]: 'Danger', [StatusTone.Info]: 'Info', [StatusTone.Neutral]: 'Neutral',\n }, StatusTone.Neutral, 'The tone picks the icon and the theme color.'),\n ],\n },\n {\n component: key(ComponentName.ChartWrapper),\n displayName: 'Chart',\n description: 'One chart - line, bar, stacked, donut or funnel - with a legend and a table of the same data. A donut and a funnel draw the first series.',\n properties: [\n text('title', 'Title', 'Content'),\n choice('kind', 'Chart type', 'Appearance', {\n [ChartKind.Line]: 'Line', [ChartKind.Bar]: 'Bar', [ChartKind.Stacked]: 'Stacked bar', [ChartKind.Donut]: 'Donut', [ChartKind.Funnel]: 'Funnel',\n }, ChartKind.Line),\n { path: 'categories', label: 'Categories', group: 'Data', valueType: PropertyValueType.Json, editorKind: PropertyEditorKind.StringList, default: [], acceptedBindingKinds: bindable, description: 'The label of each point, bar or slice, in order.' },\n {\n ...list('series', 'Series', 'Data', 'Series', [\n text('name', 'Name', 'Data', undefined, { constraints: { required: true } }),\n { path: 'values', label: 'Values', group: 'Data', valueType: PropertyValueType.Json, editorKind: PropertyEditorKind.NumberList, default: [], description: 'One value for each category.' },\n ], 'What is plotted: a named list of values, one per category.'),\n acceptedBindingKinds: bindable,\n },\n choice('format', 'Value format', 'Appearance', formats, NumberFormat.Number),\n text('currency', 'Currency', 'Appearance', 'The ISO 4217 code when the format is currency.'),\n ...standardStateProperties.filter(property => property.path !== 'label'),\n ],\n },\n {\n component: key(ComponentName.FilterBuilder),\n displayName: 'Filter builder',\n description: 'Conditions on fields, joined by AND or OR in groups that nest three deep. The filter is published as the value output; the component filters nothing itself.',\n properties: [\n {\n ...list('fields', 'Fields', 'Data', 'Field', [\n text('name', 'Name', 'Data', 'The result field the condition tests.', { constraints: { required: true }, editorKind: PropertyEditorKind.Field }),\n text('label', 'Label', 'Content'),\n choice('type', 'Type', 'Data', {\n [FilterFieldType.Text]: 'Text', [FilterFieldType.Number]: 'Number', [FilterFieldType.Date]: 'Date', [FilterFieldType.Select]: 'Select', [FilterFieldType.Boolean]: 'Yes / no',\n }, FilterFieldType.Text, 'Decides the operators offered.'),\n { path: 'options', label: 'Options', group: 'Data', valueType: PropertyValueType.Json, editorKind: PropertyEditorKind.StringList, default: [], description: 'The choices of a select field.' },\n ], 'What can be filtered.'),\n acceptedBindingKinds: bindable,\n },\n { path: 'filter', label: 'Initial filter', group: 'Data', valueType: PropertyValueType.Object, acceptedBindingKinds: bindable, description: 'A filter to start from, usually bound to the active saved view.' },\n rule('editPermission', 'Edit permission', 'Enabled lets the user change the filter; disabled shows it read-only.'),\n valueOutputProperty(PropertyValueType.Object, 'The filter as the user has built it: { operator, conditions, groups }, published as it changes.'),\n ...standardStateProperties,\n ],\n },\n {\n component: key(ComponentName.ColumnChooser),\n displayName: 'Column chooser',\n description: 'Which columns a table shows, and in what order. Publishes the ordered ids of the visible columns as the value output.',\n properties: [\n {\n ...list('columns', 'Columns', 'Data', 'Column', [\n text('id', 'Id', 'Data', 'The result field the column shows.', { constraints: { required: true }, editorKind: PropertyEditorKind.Field }),\n text('label', 'Label', 'Content'),\n flag('visible', 'Visible', 'Content', 'Whether the column starts shown.', { default: true }),\n flag('locked', 'Always shown', 'Content', 'A locked column cannot be hidden: the identifying column is.'),\n ], 'What could be shown.'),\n acceptedBindingKinds: bindable,\n },\n valueOutputProperty(PropertyValueType.Json, 'The ids of the visible columns, in order, published as the user changes them.'),\n ...standardStateProperties,\n ],\n },\n {\n component: key(ComponentName.SavedViewsMenu),\n displayName: 'Saved views menu',\n description: 'A list\\'s saved views as a menu button, with the current view as its label. Publishes the chosen view id as the value output.',\n properties: [\n {\n ...list('views', 'Views', 'Data', 'View', [\n text('id', 'Id', 'Data', undefined, { constraints: { required: true } }),\n text('label', 'Label', 'Content'),\n text('description', 'Description', 'Content'),\n ], 'The choices.'),\n acceptedBindingKinds: bindable,\n },\n text('activeView', 'Active view', 'Data', 'The id of the view in force; bind it to start from a view.'),\n rule('savePermission', 'Save permission', 'Whether \"Save current view\" works, refuses with a reason, or is not shown.'),\n rule('managePermission', 'Manage permission', 'Whether \"Manage views\" works, refuses with a reason, or is not shown.'),\n valueOutputProperty(PropertyValueType.String, 'The id of the chosen view, published as the user chooses.'),\n { path: 'action', label: 'Requested action', group: 'Outputs', valueType: PropertyValueType.String, readOnly: true, output: true, description: '\"save\" or \"manage\" when the user asks for it; the host acts on it.' },\n ...standardStateProperties,\n ],\n },\n {\n component: key(ComponentName.ChecklistSection),\n displayName: 'Checklist',\n description: 'Sections of tasks with an owner and due date each and a progress bar per section. Publishes the ids of the done tasks as the value output.',\n properties: [\n {\n ...list('sections', 'Sections', 'Data', 'Section', [\n text('title', 'Title', 'Content', undefined, { constraints: { required: true } }),\n list('items', 'Tasks', 'Data', 'Task', [\n text('id', 'Id', 'Data', undefined, { constraints: { required: true } }),\n text('label', 'Task', 'Content', undefined, { constraints: { required: true } }),\n text('owner', 'Owner', 'Data'),\n text('due', 'Due date', 'Data', 'An ISO 8601 date.'),\n flag('done', 'Done', 'Data'),\n ]),\n ], 'The groups of tasks.'),\n acceptedBindingKinds: bindable,\n },\n text('today', 'Today', 'Content', 'The date overdue is judged against; empty is the current date.'),\n rule('editPermission', 'Edit permission', 'Enabled lets the user tick tasks; otherwise they are shown read-only.'),\n valueOutputProperty(PropertyValueType.Json, 'The ids of the done tasks, published as the user ticks them.'),\n ...standardStateProperties,\n ],\n },\n {\n component: key(ComponentName.ActivityFeed),\n displayName: 'Activity feed',\n description: 'What happened to a record, grouped by day. Content is supplied by the application; this lays it out.',\n properties: [\n {\n ...list('entries', 'Entries', 'Data', 'Entry', [\n text('id', 'Id', 'Data', undefined, { constraints: { required: true } }),\n text('actor', 'Who', 'Data'),\n text('action', 'What', 'Data'),\n choice('kind', 'Kind', 'Data', {\n [ActivityKind.Comment]: 'Comment', [ActivityKind.Change]: 'Change', [ActivityKind.Status]: 'Status', [ActivityKind.System]: 'System',\n }, ActivityKind.System),\n text('at', 'When', 'Data', 'An ISO 8601 date and time.', { constraints: { required: true } }),\n text('body', 'Text', 'Data', 'A comment\\'s text or the detail of a change.', { editorOptions: { multiline: true } }),\n ], 'What happened.'),\n acceptedBindingKinds: bindable,\n },\n choice('order', 'Order', 'Appearance', { descending: 'Newest first', ascending: 'Oldest first' }, 'descending'),\n text('timeZone', 'Time zone', 'Content', 'The IANA zone days are cut in; empty is the reader\\'s.'),\n ...standardStateProperties,\n ],\n },\n {\n component: key(ComponentName.AvatarStack),\n displayName: 'Avatar stack',\n description: 'Overlapping avatars for the people on a record, with a \"+N\" chip for the rest.',\n properties: [\n {\n ...list('people', 'People', 'Data', 'Person', [\n text('name', 'Name', 'Data', undefined, { constraints: { required: true } }),\n text('imageUrl', 'Picture', 'Data', 'Without one the initials are shown.'),\n ], 'Who is shown.'),\n acceptedBindingKinds: bindable,\n },\n number('max', 'Shown at most', 'Appearance', 'How many avatars before the rest fold into \"+N\".', { default: 4, constraints: { minimum: 1, integer: true } }),\n choice('size', 'Size', 'Appearance', { small: 'Small', medium: 'Medium' }, 'medium'),\n ...standardStateProperties,\n ],\n },\n {\n component: key(ComponentName.FileUploader),\n displayName: 'File uploader',\n description: 'A drop zone and a button to choose files, checked against type and size before anything is sent. Publishes the selection as the value output.',\n properties: [\n text('accept', 'Accepted types', 'Behavior', 'Extensions, MIME types and wildcards separated by commas, for example \".pdf, image/*\".'),\n number('maxSizeMb', 'Largest file (MB)', 'Behavior', undefined, { constraints: { minimum: 0 } }),\n flag('multiple', 'Several files', 'Behavior', undefined, { default: true }),\n text('serverUrl', 'Upload address', 'Behavior', 'Handed to the host\\'s upload handler.'),\n rule('actionPermission', 'Upload permission', 'Whether files can be chosen or dropped, refused with a reason, or the control is hidden.'),\n valueOutputProperty(PropertyValueType.Json, 'The files chosen - name, size, type and status - published as they change.'),\n ...standardStateProperties.filter(property => property.path !== 'actionPermission'),\n ],\n },\n {\n component: key(ComponentName.ApprovalChainStepper),\n displayName: 'Approval chain',\n description: 'The steps a request goes through, who decides each and where it stands. A rejection stops the chain; the first undecided step is the current one.',\n properties: [\n {\n ...list('steps', 'Steps', 'Data', 'Step', [\n text('label', 'Step', 'Content', undefined, { constraints: { required: true } }),\n text('approver', 'Approver', 'Data'),\n choice('state', 'State', 'Data', {\n [ApprovalState.Pending]: 'Pending', [ApprovalState.Current]: 'Awaiting decision', [ApprovalState.Approved]: 'Approved', [ApprovalState.Rejected]: 'Rejected', [ApprovalState.Skipped]: 'Skipped',\n }, ApprovalState.Pending),\n text('at', 'Decided at', 'Data', 'An ISO 8601 date and time.'),\n text('comment', 'Comment', 'Data'),\n ], 'The approvers in order.'),\n acceptedBindingKinds: bindable,\n },\n choice('orientation', 'Orientation', 'Appearance', { horizontal: 'Horizontal', vertical: 'Vertical' }, 'horizontal', 'A phone always reads vertically.'),\n ...standardStateProperties,\n ],\n },\n {\n component: key(ComponentName.OrgTree),\n displayName: 'Org tree',\n description: 'An organization as an expandable tree built from rows of who reports to whom. Publishes the selected id as the value output.',\n properties: [\n {\n ...list('nodes', 'People', 'Data', 'Person', [\n text('id', 'Id', 'Data', undefined, { constraints: { required: true }, editorKind: PropertyEditorKind.Field }),\n text('label', 'Name', 'Data', undefined, { editorKind: PropertyEditorKind.Field }),\n text('title', 'Title', 'Data', undefined, { editorKind: PropertyEditorKind.Field }),\n text('parentId', 'Reports to', 'Data', 'The id of the person above; empty for the top.', { editorKind: PropertyEditorKind.Field }),\n ], 'One row per person or unit.'),\n acceptedBindingKinds: bindable,\n },\n number('expandedDepth', 'Levels open at first', 'Appearance', undefined, { default: 2, constraints: { minimum: 1, integer: true } }),\n text('selected', 'Selected', 'Data', 'The id of the selected node; bind it to start from one.'),\n valueOutputProperty(PropertyValueType.String, 'The id of the selected node, published as the user selects.'),\n ...standardStateProperties,\n ],\n },\n {\n component: key(ComponentName.PermissionMatrix),\n displayName: 'Permission matrix',\n description: 'Roles across, permissions down, a checkbox where they meet. Publishes the grants as the value output.',\n properties: [\n {\n ...list('roles', 'Roles', 'Data', 'Role', [\n text('id', 'Id', 'Data', undefined, { constraints: { required: true } }),\n text('label', 'Name', 'Data'),\n ], 'The columns.'),\n acceptedBindingKinds: bindable,\n },\n {\n ...list('permissions', 'Permissions', 'Data', 'Permission', [\n text('id', 'Id', 'Data', undefined, { constraints: { required: true } }),\n text('label', 'Name', 'Data'),\n text('group', 'Group', 'Data', 'A heading the permission is listed under.'),\n ], 'The rows.'),\n acceptedBindingKinds: bindable,\n },\n {\n ...list('grants', 'Grants', 'Data', 'Grant', [\n text('role', 'Role', 'Data', 'The id of a role.', { constraints: { required: true } }),\n text('permission', 'Permission', 'Data', 'The id of a permission.', { constraints: { required: true } }),\n ], 'What each role holds.'),\n acceptedBindingKinds: bindable,\n },\n rule('editPermission', 'Edit permission', 'Enabled lets the user change grants; otherwise the matrix is read-only.'),\n valueOutputProperty(PropertyValueType.Json, 'The grants as the user has changed them: rows of role and permission, published as they change.'),\n ...standardStateProperties,\n ],\n },\n];\n\n"],"names":["bindable","BindingSourceKind","DataContext","QueryResult","ComponentProperty","text","path","label","group","description","extra","valueType","PropertyValueType","String","acceptedBindingKinds","undefined","number","Number","editorKind","PropertyEditorKind","flag","Boolean","choice","values","defaultValue","Enum","default","choices","Object","entries","map","value","name","list","itemLabel","properties","Collection","item","rule","PermissionRule","Enabled","Disabled","Hidden","standardStateProperties","ComponentState","Ready","Loading","Empty","Error","NoPermission","Partial","Json","StringList","comfortable","compact","StringMap","key","componentRegistryKey","defaultBlueprintName","formats","NumberFormat","Currency","Percent","Compact","foundationDescriptors","component","ComponentName","EmptyState","displayName","StatCard","constraints","required","up","down","filter","property","TrendChip","StatusChip","StatusTone","Success","Warning","Danger","Info","Neutral","ChartWrapper","ChartKind","Line","Bar","Stacked","Donut","Funnel","NumberList","FilterBuilder","Field","FilterFieldType","Text","Date","Select","valueOutputProperty","ColumnChooser","SavedViewsMenu","readOnly","output","ChecklistSection","ActivityFeed","ActivityKind","Comment","Change","Status","System","editorOptions","multiline","descending","ascending","AvatarStack","minimum","integer","small","medium","FileUploader","ApprovalChainStepper","ApprovalState","Pending","Current","Approved","Rejected","Skipped","horizontal","vertical","OrgTree","PermissionMatrix"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"foundationDescriptors.js","sources":["../../../foundation/foundationDescriptors.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 { BindingSourceKind, ComponentDescriptor, PropertyDescriptor, PropertyEditorKind, PropertyValueType } from '@cratis/scene.model';\nimport { componentRegistryKey, valueOutputProperty } from '@cratis/scene.react';\nimport { ComponentName } from '../ComponentName';\nimport { defaultBlueprintName } from '../packageName';\nimport { ActivityKind } from './activityModel';\nimport { ApprovalState } from './approvalModel';\nimport { CellKind, ListVariant } from './listModel';\nimport { FormFieldType, FormMode } from './formModel';\nimport { ChartKind } from './chartGeometry';\nimport { ComponentState } from './ComponentState';\nimport { FilterFieldType } from './filterModel';\nimport { NumberFormat } from './formatting';\nimport { PermissionRule } from './PermissionRule';\nimport { StatusTone } from './StatusChip';\n\n/** Data properties take what a screen binds them to: a query's result, a data context or another component's output. */\nexport const bindable = [BindingSourceKind.DataContext, BindingSourceKind.QueryResult, BindingSourceKind.ComponentProperty];\n\nconst text = (path: string, label: string, group: string, description?: string, extra: Partial<PropertyDescriptor> = {}): PropertyDescriptor =>\n ({ path, label, group, valueType: PropertyValueType.String, ...(group === 'Data' ? { acceptedBindingKinds: bindable } : {}), ...(description === undefined ? {} : { description }), ...extra });\n\nconst number = (path: string, label: string, group: string, description?: string, extra: Partial<PropertyDescriptor> = {}): PropertyDescriptor =>\n ({ path, label, group, valueType: PropertyValueType.Number, editorKind: PropertyEditorKind.Number, ...(group === 'Data' ? { acceptedBindingKinds: bindable } : {}), ...(description === undefined ? {} : { description }), ...extra });\n\nconst flag = (path: string, label: string, group: string, description?: string, extra: Partial<PropertyDescriptor> = {}): PropertyDescriptor =>\n ({ path, label, group, valueType: PropertyValueType.Boolean, editorKind: PropertyEditorKind.Boolean, ...(description === undefined ? {} : { description }), ...extra });\n\nconst choice = (path: string, label: string, group: string, values: Record<string, string>, defaultValue: string, description?: string): PropertyDescriptor =>\n ({\n path, label, group, valueType: PropertyValueType.Enum, editorKind: PropertyEditorKind.Enum, default: defaultValue,\n choices: Object.entries(values).map(([value, name]) => ({ value, label: name })), ...(description === undefined ? {} : { description }),\n });\n\nexport const list = (path: string, label: string, group: string, itemLabel: string, properties: PropertyDescriptor[], description?: string): PropertyDescriptor =>\n ({ path, label, group, valueType: PropertyValueType.Collection, default: [], item: { label: itemLabel, properties }, ...(description === undefined ? {} : { description }) });\n\nconst rule = (path: string, label: string, description: string): PropertyDescriptor =>\n choice(path, label, 'Permissions', { [PermissionRule.Enabled]: 'Enabled', [PermissionRule.Disabled]: 'Disabled', [PermissionRule.Hidden]: 'Hidden' }, PermissionRule.Enabled, description);\n\n/** The properties every data-showing foundation component shares: the standard states (spec Part B 1.4) and the cross-cutting rules of 1.5. */\nexport const standardStateProperties: PropertyDescriptor[] = [\n choice('state', 'Preview state', 'State', {\n [ComponentState.Ready]: 'Ready', [ComponentState.Loading]: 'Loading', [ComponentState.Empty]: 'Empty',\n [ComponentState.Error]: 'Error', [ComponentState.NoPermission]: 'No permission', [ComponentState.Partial]: 'Partial',\n }, ComponentState.Ready, 'Forces a state so each can be designed and previewed; empty means the state follows the bound data.'),\n text('error', 'Error message', 'State', 'The message of the error state; setting it puts the component in that state.'),\n flag('loading', 'Loading', 'State', 'Shows the skeleton while the data has not answered.'),\n flag('forbidden', 'Not allowed', 'State', 'Shows the no-permission state, which explains what is missing and shows no data.'),\n text('permissionSubject', 'What access is missing', 'State', 'Names what the user cannot see in the no-permission message.'),\n { path: 'failedRegions', label: 'Failed regions', group: 'State', valueType: PropertyValueType.Json, editorKind: PropertyEditorKind.StringList, default: [], description: 'The parts that failed to load; any entry puts the component in the partial state.' },\n text('emptyHeadline', 'Empty headline', 'State'),\n text('emptyHint', 'Empty hint', 'State'),\n text('emptyActionLabel', 'Empty action', 'State', 'The primary action offered when there is nothing to show.'),\n rule('actionPermission', 'Empty action permission', 'Whether the empty state offers its action, refuses it with a reason, or does not render it.'),\n text('label', 'Label', 'Accessibility', 'The accessible name of the region.'),\n text('locale', 'Locale', 'Content', 'The locale dates, numbers and currency are formatted in; empty follows the document.'),\n choice('density', 'Density', 'Appearance', { comfortable: 'Comfortable', compact: 'Compact' }, 'comfortable'),\n { path: 'strings', label: 'Text overrides', group: 'Content', valueType: PropertyValueType.Object, editorKind: PropertyEditorKind.StringMap, description: 'Replaces the text the component says itself, for localization.' },\n];\n\nconst key = (name: ComponentName) => componentRegistryKey(defaultBlueprintName, name);\n\nconst formats = { [NumberFormat.Number]: 'Number', [NumberFormat.Currency]: 'Currency', [NumberFormat.Percent]: 'Percent', [NumberFormat.Compact]: 'Compact' };\n\n/** What can be edited on the foundation components (Part B 4). Each declares the shape of its data, never values (SD1). */\nexport const foundationDescriptors: ComponentDescriptor[] = [\n {\n component: key(ComponentName.EmptyState),\n displayName: 'Empty state',\n description: 'An icon, a headline, a hint and one primary action; embeddable in any region.',\n properties: [\n text('headline', 'Headline', 'Content', undefined, { default: 'Nothing here yet' }),\n text('hint', 'Hint', 'Content'),\n text('icon', 'Icon', 'Appearance'),\n text('actionLabel', 'Primary action', 'Behavior', 'The label of the one action the state offers; its behaviors say what it does.'),\n rule('actionPermission', 'Action permission', 'Whether the action works, refuses with a reason, or is not rendered.'),\n text('locale', 'Locale', 'Content'),\n { path: 'strings', label: 'Text overrides', group: 'Content', valueType: PropertyValueType.Object, editorKind: PropertyEditorKind.StringMap },\n ],\n },\n {\n component: key(ComponentName.StatCard),\n displayName: 'Stat card',\n description: 'One key figure with its label, trend and the period the trend is compared to.',\n properties: [\n text('label', 'Label', 'Content', 'What the figure measures.', { constraints: { required: true } }),\n number('value', 'Value', 'Data', 'The figure; bind it to a query result.'),\n choice('format', 'Format', 'Appearance', formats, NumberFormat.Number),\n text('currency', 'Currency', 'Appearance', 'The ISO 4217 code when the format is currency.'),\n number('fractionDigits', 'Fraction digits', 'Appearance'),\n number('change', 'Change', 'Data', 'How much the figure moved, as a percentage; bind it to a query result.'),\n choice('goodDirection', 'Good direction', 'Appearance', { up: 'Up is good', down: 'Down is good' }, 'up', 'Which movement is good: a falling response time is.'),\n text('comparison', 'Compared to', 'Content', 'The period the change is compared to, for example \"last month\".'),\n ...standardStateProperties.filter(property => property.path !== 'label'),\n ],\n },\n {\n component: key(ComponentName.TrendChip),\n displayName: 'Trend chip',\n description: 'A change drawn as a direction, a magnitude and whether the movement is good.',\n properties: [\n number('change', 'Change', 'Data', 'The movement; bind it to a query result.'),\n choice('format', 'Format', 'Appearance', formats, NumberFormat.Percent),\n choice('goodDirection', 'Good direction', 'Appearance', { up: 'Up is good', down: 'Down is good' }, 'up'),\n text('comparison', 'Compared to', 'Content'),\n text('locale', 'Locale', 'Content'),\n { path: 'strings', label: 'Text overrides', group: 'Content', valueType: PropertyValueType.Object, editorKind: PropertyEditorKind.StringMap },\n ],\n },\n {\n component: key(ComponentName.StatusChip),\n displayName: 'Status chip',\n description: 'A status shown as a semantic color, an icon and its text; the text is always shown.',\n properties: [\n text('status', 'Status', 'Data', 'The status text; bind it to a query result.', { constraints: { required: true } }),\n choice('tone', 'Tone', 'Appearance', {\n [StatusTone.Success]: 'Success', [StatusTone.Warning]: 'Warning', [StatusTone.Danger]: 'Danger', [StatusTone.Info]: 'Info', [StatusTone.Neutral]: 'Neutral',\n }, StatusTone.Neutral, 'The tone picks the icon and the theme color.'),\n ],\n },\n {\n component: key(ComponentName.ChartWrapper),\n displayName: 'Chart',\n description: 'One chart - line, bar, stacked, donut or funnel - with a legend and a table of the same data. A donut and a funnel draw the first series.',\n properties: [\n text('title', 'Title', 'Content'),\n choice('kind', 'Chart type', 'Appearance', {\n [ChartKind.Line]: 'Line', [ChartKind.Bar]: 'Bar', [ChartKind.Stacked]: 'Stacked bar', [ChartKind.Donut]: 'Donut', [ChartKind.Funnel]: 'Funnel',\n }, ChartKind.Line),\n { path: 'categories', label: 'Categories', group: 'Data', valueType: PropertyValueType.Json, editorKind: PropertyEditorKind.StringList, default: [], acceptedBindingKinds: bindable, description: 'The label of each point, bar or slice, in order.' },\n {\n ...list('series', 'Series', 'Data', 'Series', [\n text('name', 'Name', 'Data', undefined, { constraints: { required: true } }),\n { path: 'values', label: 'Values', group: 'Data', valueType: PropertyValueType.Json, editorKind: PropertyEditorKind.NumberList, default: [], description: 'One value for each category.' },\n ], 'What is plotted: a named list of values, one per category.'),\n acceptedBindingKinds: bindable,\n },\n choice('format', 'Value format', 'Appearance', formats, NumberFormat.Number),\n text('currency', 'Currency', 'Appearance', 'The ISO 4217 code when the format is currency.'),\n ...standardStateProperties.filter(property => property.path !== 'label'),\n ],\n },\n {\n component: key(ComponentName.FilterBuilder),\n displayName: 'Filter builder',\n description: 'Conditions on fields, joined by AND or OR in groups that nest three deep. The filter is published as the value output; the component filters nothing itself.',\n properties: [\n {\n ...list('fields', 'Fields', 'Data', 'Field', [\n text('name', 'Name', 'Data', 'The result field the condition tests.', { constraints: { required: true }, editorKind: PropertyEditorKind.Field }),\n text('label', 'Label', 'Content'),\n choice('type', 'Type', 'Data', {\n [FilterFieldType.Text]: 'Text', [FilterFieldType.Number]: 'Number', [FilterFieldType.Date]: 'Date', [FilterFieldType.Select]: 'Select', [FilterFieldType.Boolean]: 'Yes / no',\n }, FilterFieldType.Text, 'Decides the operators offered.'),\n { path: 'options', label: 'Options', group: 'Data', valueType: PropertyValueType.Json, editorKind: PropertyEditorKind.StringList, default: [], description: 'The choices of a select field.' },\n ], 'What can be filtered.'),\n acceptedBindingKinds: bindable,\n },\n { path: 'filter', label: 'Initial filter', group: 'Data', valueType: PropertyValueType.Object, acceptedBindingKinds: bindable, description: 'A filter to start from, usually bound to the active saved view.' },\n rule('editPermission', 'Edit permission', 'Enabled lets the user change the filter; disabled shows it read-only.'),\n valueOutputProperty(PropertyValueType.Object, 'The filter as the user has built it: { operator, conditions, groups }, published as it changes.'),\n ...standardStateProperties,\n ],\n },\n {\n component: key(ComponentName.ColumnChooser),\n displayName: 'Column chooser',\n description: 'Which columns a table shows, and in what order. Publishes the ordered ids of the visible columns as the value output.',\n properties: [\n {\n ...list('columns', 'Columns', 'Data', 'Column', [\n text('id', 'Id', 'Data', 'The result field the column shows.', { constraints: { required: true }, editorKind: PropertyEditorKind.Field }),\n text('label', 'Label', 'Content'),\n flag('visible', 'Visible', 'Content', 'Whether the column starts shown.', { default: true }),\n flag('locked', 'Always shown', 'Content', 'A locked column cannot be hidden: the identifying column is.'),\n ], 'What could be shown.'),\n acceptedBindingKinds: bindable,\n },\n valueOutputProperty(PropertyValueType.Json, 'The ids of the visible columns, in order, published as the user changes them.'),\n ...standardStateProperties,\n ],\n },\n {\n component: key(ComponentName.SavedViewsMenu),\n displayName: 'Saved views menu',\n description: 'A list\\'s saved views as a menu button, with the current view as its label. Publishes the chosen view id as the value output.',\n properties: [\n {\n ...list('views', 'Views', 'Data', 'View', [\n text('id', 'Id', 'Data', undefined, { constraints: { required: true } }),\n text('label', 'Label', 'Content'),\n text('description', 'Description', 'Content'),\n ], 'The choices.'),\n acceptedBindingKinds: bindable,\n },\n text('activeView', 'Active view', 'Data', 'The id of the view in force; bind it to start from a view.'),\n rule('savePermission', 'Save permission', 'Whether \"Save current view\" works, refuses with a reason, or is not shown.'),\n rule('managePermission', 'Manage permission', 'Whether \"Manage views\" works, refuses with a reason, or is not shown.'),\n valueOutputProperty(PropertyValueType.String, 'The id of the chosen view, published as the user chooses.'),\n { path: 'action', label: 'Requested action', group: 'Outputs', valueType: PropertyValueType.String, readOnly: true, output: true, description: '\"save\" or \"manage\" when the user asks for it; the host acts on it.' },\n ...standardStateProperties,\n ],\n },\n {\n component: key(ComponentName.ChecklistSection),\n displayName: 'Checklist',\n description: 'Sections of tasks with an owner and due date each and a progress bar per section. Publishes the ids of the done tasks as the value output.',\n properties: [\n {\n ...list('sections', 'Sections', 'Data', 'Section', [\n text('title', 'Title', 'Content', undefined, { constraints: { required: true } }),\n list('items', 'Tasks', 'Data', 'Task', [\n text('id', 'Id', 'Data', undefined, { constraints: { required: true } }),\n text('label', 'Task', 'Content', undefined, { constraints: { required: true } }),\n text('owner', 'Owner', 'Data'),\n text('due', 'Due date', 'Data', 'An ISO 8601 date.'),\n flag('done', 'Done', 'Data'),\n ]),\n ], 'The groups of tasks.'),\n acceptedBindingKinds: bindable,\n },\n text('today', 'Today', 'Content', 'The date overdue is judged against; empty is the current date.'),\n rule('editPermission', 'Edit permission', 'Enabled lets the user tick tasks; otherwise they are shown read-only.'),\n valueOutputProperty(PropertyValueType.Json, 'The ids of the done tasks, published as the user ticks them.'),\n ...standardStateProperties,\n ],\n },\n {\n component: key(ComponentName.ActivityFeed),\n displayName: 'Activity feed',\n description: 'What happened to a record, grouped by day. Content is supplied by the application; this lays it out.',\n properties: [\n {\n ...list('entries', 'Entries', 'Data', 'Entry', [\n text('id', 'Id', 'Data', undefined, { constraints: { required: true } }),\n text('actor', 'Who', 'Data'),\n text('action', 'What', 'Data'),\n choice('kind', 'Kind', 'Data', {\n [ActivityKind.Comment]: 'Comment', [ActivityKind.Change]: 'Change', [ActivityKind.Status]: 'Status', [ActivityKind.System]: 'System',\n }, ActivityKind.System),\n text('at', 'When', 'Data', 'An ISO 8601 date and time.', { constraints: { required: true } }),\n text('body', 'Text', 'Data', 'A comment\\'s text or the detail of a change.', { editorOptions: { multiline: true } }),\n ], 'What happened.'),\n acceptedBindingKinds: bindable,\n },\n choice('order', 'Order', 'Appearance', { descending: 'Newest first', ascending: 'Oldest first' }, 'descending'),\n text('timeZone', 'Time zone', 'Content', 'The IANA zone days are cut in; empty is the reader\\'s.'),\n ...standardStateProperties,\n ],\n },\n {\n component: key(ComponentName.AvatarStack),\n displayName: 'Avatar stack',\n description: 'Overlapping avatars for the people on a record, with a \"+N\" chip for the rest.',\n properties: [\n {\n ...list('people', 'People', 'Data', 'Person', [\n text('name', 'Name', 'Data', undefined, { constraints: { required: true } }),\n text('imageUrl', 'Picture', 'Data', 'Without one the initials are shown.'),\n ], 'Who is shown.'),\n acceptedBindingKinds: bindable,\n },\n number('max', 'Shown at most', 'Appearance', 'How many avatars before the rest fold into \"+N\".', { default: 4, constraints: { minimum: 1, integer: true } }),\n choice('size', 'Size', 'Appearance', { small: 'Small', medium: 'Medium' }, 'medium'),\n ...standardStateProperties,\n ],\n },\n {\n component: key(ComponentName.FileUploader),\n displayName: 'File uploader',\n description: 'A drop zone and a button to choose files, checked against type and size before anything is sent. Publishes the selection as the value output.',\n properties: [\n text('accept', 'Accepted types', 'Behavior', 'Extensions, MIME types and wildcards separated by commas, for example \".pdf, image/*\".'),\n number('maxSizeMb', 'Largest file (MB)', 'Behavior', undefined, { constraints: { minimum: 0 } }),\n flag('multiple', 'Several files', 'Behavior', undefined, { default: true }),\n text('serverUrl', 'Upload address', 'Behavior', 'Handed to the host\\'s upload handler.'),\n rule('actionPermission', 'Upload permission', 'Whether files can be chosen or dropped, refused with a reason, or the control is hidden.'),\n valueOutputProperty(PropertyValueType.Json, 'The files chosen - name, size, type and status - published as they change.'),\n ...standardStateProperties.filter(property => property.path !== 'actionPermission'),\n ],\n },\n {\n component: key(ComponentName.ApprovalChainStepper),\n displayName: 'Approval chain',\n description: 'The steps a request goes through, who decides each and where it stands. A rejection stops the chain; the first undecided step is the current one.',\n properties: [\n {\n ...list('steps', 'Steps', 'Data', 'Step', [\n text('label', 'Step', 'Content', undefined, { constraints: { required: true } }),\n text('approver', 'Approver', 'Data'),\n choice('state', 'State', 'Data', {\n [ApprovalState.Pending]: 'Pending', [ApprovalState.Current]: 'Awaiting decision', [ApprovalState.Approved]: 'Approved', [ApprovalState.Rejected]: 'Rejected', [ApprovalState.Skipped]: 'Skipped',\n }, ApprovalState.Pending),\n text('at', 'Decided at', 'Data', 'An ISO 8601 date and time.'),\n text('comment', 'Comment', 'Data'),\n ], 'The approvers in order.'),\n acceptedBindingKinds: bindable,\n },\n choice('orientation', 'Orientation', 'Appearance', { horizontal: 'Horizontal', vertical: 'Vertical' }, 'horizontal', 'A phone always reads vertically.'),\n ...standardStateProperties,\n ],\n },\n {\n component: key(ComponentName.OrgTree),\n displayName: 'Org tree',\n description: 'An organization as an expandable tree built from rows of who reports to whom. Publishes the selected id as the value output.',\n properties: [\n {\n ...list('nodes', 'People', 'Data', 'Person', [\n text('id', 'Id', 'Data', undefined, { constraints: { required: true }, editorKind: PropertyEditorKind.Field }),\n text('label', 'Name', 'Data', undefined, { editorKind: PropertyEditorKind.Field }),\n text('title', 'Title', 'Data', undefined, { editorKind: PropertyEditorKind.Field }),\n text('parentId', 'Reports to', 'Data', 'The id of the person above; empty for the top.', { editorKind: PropertyEditorKind.Field }),\n ], 'One row per person or unit.'),\n acceptedBindingKinds: bindable,\n },\n number('expandedDepth', 'Levels open at first', 'Appearance', undefined, { default: 2, constraints: { minimum: 1, integer: true } }),\n text('selected', 'Selected', 'Data', 'The id of the selected node; bind it to start from one.'),\n valueOutputProperty(PropertyValueType.String, 'The id of the selected node, published as the user selects.'),\n ...standardStateProperties,\n ],\n },\n {\n component: key(ComponentName.PermissionMatrix),\n displayName: 'Permission matrix',\n description: 'Roles across, permissions down, a checkbox where they meet. Publishes the grants as the value output.',\n properties: [\n {\n ...list('roles', 'Roles', 'Data', 'Role', [\n text('id', 'Id', 'Data', undefined, { constraints: { required: true } }),\n text('label', 'Name', 'Data'),\n ], 'The columns.'),\n acceptedBindingKinds: bindable,\n },\n {\n ...list('permissions', 'Permissions', 'Data', 'Permission', [\n text('id', 'Id', 'Data', undefined, { constraints: { required: true } }),\n text('label', 'Name', 'Data'),\n text('group', 'Group', 'Data', 'A heading the permission is listed under.'),\n ], 'The rows.'),\n acceptedBindingKinds: bindable,\n },\n {\n ...list('grants', 'Grants', 'Data', 'Grant', [\n text('role', 'Role', 'Data', 'The id of a role.', { constraints: { required: true } }),\n text('permission', 'Permission', 'Data', 'The id of a permission.', { constraints: { required: true } }),\n ], 'What each role holds.'),\n acceptedBindingKinds: bindable,\n },\n rule('editPermission', 'Edit permission', 'Enabled lets the user change grants; otherwise the matrix is read-only.'),\n valueOutputProperty(PropertyValueType.Json, 'The grants as the user has changed them: rows of role and permission, published as they change.'),\n ...standardStateProperties,\n ],\n },\n {\n component: key(ComponentName.DataList),\n displayName: 'Data list',\n description: 'The records of a collection as a table, as cards or grouped with subtotals, with search, sort, paging and selection that live in the address. On a phone a table becomes cards.',\n properties: [\n { path: 'rows', label: 'Rows', group: 'Data', valueType: PropertyValueType.Json, acceptedBindingKinds: bindable, default: [], description: 'The records; bind to a query result.' },\n {\n ...list('columns', 'Columns', 'Data', 'Column', [\n text('field', 'Field', 'Data', 'The result field the column shows.', { constraints: { required: true }, editorKind: PropertyEditorKind.Field }),\n text('header', 'Header', 'Content'),\n choice('kind', 'Kind', 'Appearance', { [CellKind.Text]: 'Text', [CellKind.Number]: 'Number', [CellKind.Currency]: 'Currency', [CellKind.Date]: 'Date', [CellKind.Status]: 'Status' }, CellKind.Text),\n flag('sortable', 'Sortable', 'Behavior', undefined, { default: true }),\n text('currency', 'Currency', 'Appearance'),\n { path: 'tones', label: 'Status tones', group: 'Appearance', valueType: PropertyValueType.Object, editorKind: PropertyEditorKind.StringMap, description: 'The tone (success, warning, danger, info, neutral) of each status value.' },\n ], 'What is shown.'),\n acceptedBindingKinds: bindable,\n },\n choice('variant', 'Layout', 'Appearance', { [ListVariant.Table]: 'Table', [ListVariant.Cards]: 'Cards', [ListVariant.Grouped]: 'Grouped' }, ListVariant.Table),\n flag('collapse', 'Cards on a phone', 'Appearance', 'A table becomes cards on a phone-wide screen; nothing is hidden.', { default: true }),\n text('idField', 'Id field', 'Data', undefined, { default: 'id', editorKind: PropertyEditorKind.Field }),\n text('titleField', 'Title field', 'Data', 'The field that names a row for assistive technology and a card.', { editorKind: PropertyEditorKind.Field }),\n text('groupBy', 'Group by', 'Data', undefined, { editorKind: PropertyEditorKind.Field }),\n text('totalField', 'Subtotal field', 'Data', undefined, { editorKind: PropertyEditorKind.Field }),\n number('pageSize', 'Rows per page', 'Behavior', '0 shows every row.', { default: 0, constraints: { minimum: 0, integer: true } }),\n choice('selectionMode', 'Selection', 'Behavior', { none: 'None', single: 'One row', multiple: 'Many rows' }, 'none'),\n { path: 'rowActions', label: 'Row actions', group: 'Behavior', valueType: PropertyValueType.Json, editorKind: PropertyEditorKind.StringList, default: [], description: 'The actions in each row\\'s menu; each is the action output.' },\n rule('actionPermission', 'Row action permission', 'Whether row actions work, refuse with a reason or are not shown.'),\n text('search', 'Search', 'Data', 'The search text; bind to the search box output.', { acceptedBindingKinds: bindable }),\n { path: 'filter', label: 'Filter', group: 'Data', valueType: PropertyValueType.Object, acceptedBindingKinds: bindable, description: 'The filter builder\\'s value.' },\n text('sort', 'Sort', 'Data', 'The sorted field; a leading - is descending.'),\n text('urlKey', 'Address prefix', 'Behavior', 'Keeps search, sort, page and selection in the address under this prefix.'),\n valueOutputProperty(PropertyValueType.Json, 'The selected row id (single) or ids (many).'),\n { path: 'action', label: 'Requested action', group: 'Outputs', valueType: PropertyValueType.Json, readOnly: true, output: true, description: 'The row action the user chose, with its row id.' },\n ...standardStateProperties.filter(property => property.path !== 'actionPermission'),\n ],\n },\n {\n component: key(ComponentName.TabSet),\n displayName: 'Tab set',\n description: 'Tabs with a panel for each: the content of tab `overview` is the slot `overview`. The active tab is kept in the address.',\n properties: [\n {\n ...list('tabs', 'Tabs', 'Data', 'Tab', [\n text('id', 'Id', 'Data', 'Also the name of the slot that holds the tab\\'s content.', { constraints: { required: true } }),\n text('label', 'Label', 'Content'),\n text('badge', 'Count', 'Content'),\n flag('disabled', 'Disabled', 'Behavior'),\n ], 'The tabs a record page offers.'),\n acceptedBindingKinds: bindable,\n },\n text('activeTab', 'Active tab', 'Behavior'),\n text('urlKey', 'Address parameter', 'Behavior', 'Keeps the active tab in the address under this name.'),\n text('label', 'Label', 'Accessibility'),\n valueOutputProperty(PropertyValueType.String, 'The id of the active tab.'),\n ...standardStateProperties.filter(property => property.path !== 'label'),\n ],\n },\n {\n component: key(ComponentName.SubNavigation),\n displayName: 'Sub-navigation',\n description: 'A module\\'s own sections as a tab bar or a left rail. Choosing one changes only the section.',\n properties: [\n {\n ...list('items', 'Sections', 'Data', 'Section', [\n text('id', 'Id', 'Data', undefined, { constraints: { required: true } }),\n text('label', 'Label', 'Content'),\n text('badge', 'Count', 'Content'),\n flag('disabled', 'Disabled', 'Behavior'),\n ], 'The sections.'),\n acceptedBindingKinds: bindable,\n },\n choice('orientation', 'Orientation', 'Appearance', { horizontal: 'Tabs', vertical: 'Left rail' }, 'horizontal'),\n text('activeItem', 'Active section', 'Behavior'),\n text('urlKey', 'Address parameter', 'Behavior'),\n text('label', 'Label', 'Accessibility'),\n valueOutputProperty(PropertyValueType.String, 'The id of the active section.'),\n ...standardStateProperties.filter(property => property.path !== 'label'),\n ],\n },\n {\n component: key(ComponentName.BulkBar),\n displayName: 'Bulk bar',\n description: 'Appears when records are selected, says how many, offers the bulk actions and clears the selection.',\n properties: [\n { path: 'selection', label: 'Selection', group: 'Data', valueType: PropertyValueType.Json, acceptedBindingKinds: bindable, description: 'The selected records or their count; bind to the list\\'s value.' },\n { path: 'actions', label: 'Actions', group: 'Behavior', valueType: PropertyValueType.Json, editorKind: PropertyEditorKind.StringList, default: [] },\n rule('actionPermission', 'Action permission', 'Whether the bulk actions work, refuse with a reason or are not shown.'),\n text('locale', 'Locale', 'Content'),\n { path: 'strings', label: 'Text overrides', group: 'Content', valueType: PropertyValueType.Object, editorKind: PropertyEditorKind.StringMap },\n ],\n },\n {\n component: key(ComponentName.GlobalSearch),\n displayName: 'Search',\n description: 'A search box for the topbar or a list\\'s toolbar. The text is the value output and can live in the address.',\n properties: [\n text('text', 'Initial text', 'Data'),\n text('placeholder', 'Placeholder', 'Content'),\n text('label', 'Label', 'Accessibility'),\n text('urlKey', 'Address parameter', 'Behavior'),\n valueOutputProperty(PropertyValueType.String, 'The search text.'),\n { path: 'strings', label: 'Text overrides', group: 'Content', valueType: PropertyValueType.Object, editorKind: PropertyEditorKind.StringMap },\n ],\n },\n {\n component: key(ComponentName.NotificationsButton),\n displayName: 'Notifications button',\n description: 'The bell of the topbar with the unread count, said in words as well as in the badge.',\n properties: [\n number('count', 'Unread', 'Data', 'Bind to a query result.', { constraints: { minimum: 0, integer: true } }),\n text('locale', 'Locale', 'Content'),\n { path: 'strings', label: 'Text overrides', group: 'Content', valueType: PropertyValueType.Object, editorKind: PropertyEditorKind.StringMap },\n ],\n },\n {\n component: key(ComponentName.KanbanBoard),\n displayName: 'Kanban board',\n description: 'Columns mapped to a status, with cards that move by dragging or by their own Move-to menu. The new arrangement is the value output.',\n properties: [\n {\n ...list('columns', 'Columns', 'Data', 'Column', [\n text('id', 'Id', 'Data', 'The status or stage value.', { constraints: { required: true } }),\n text('label', 'Label', 'Content'),\n number('limit', 'Limit', 'Behavior', 'The most cards the stage should hold; 0 is no limit.', { constraints: { minimum: 0, integer: true } }),\n ], 'The stages.'),\n acceptedBindingKinds: bindable,\n },\n {\n ...list('cards', 'Cards', 'Data', 'Card', [\n text('id', 'Id', 'Data', undefined, { constraints: { required: true } }),\n text('title', 'Title', 'Data', undefined, { constraints: { required: true } }),\n text('column', 'Column', 'Data', 'The id of the column the card is in.'),\n text('assignee', 'Assignee', 'Data'),\n { path: 'badges', label: 'Badges', group: 'Data', valueType: PropertyValueType.Json, editorKind: PropertyEditorKind.StringList, default: [] },\n ], 'The cards, from a query.'),\n acceptedBindingKinds: bindable,\n },\n rule('editPermission', 'Move permission', 'Enabled lets cards move; otherwise the board is read-only.'),\n valueOutputProperty(PropertyValueType.Json, 'Each card\\'s id and column, published as cards move.'),\n ...standardStateProperties,\n ],\n },\n {\n component: key(ComponentName.WizardProgress),\n displayName: 'Wizard',\n description: 'A linear wizard: the steps, back/next/finish and the draft save. The content of step `details` is the slot `details`; the last step is the review.',\n properties: [\n {\n ...list('steps', 'Steps', 'Data', 'Step', [\n text('id', 'Id', 'Data', 'Also the name of the slot that holds the step\\'s content.', { constraints: { required: true } }),\n text('label', 'Label', 'Content'),\n flag('valid', 'Valid', 'Data', 'Whether the step\\'s fields are valid; an invalid step blocks Next.', { default: true, acceptedBindingKinds: bindable }),\n ], 'The steps in order.'),\n acceptedBindingKinds: bindable,\n },\n text('currentStep', 'Current step', 'Behavior'),\n text('urlKey', 'Address parameter', 'Behavior', 'Keeps the current step in the address so a refresh resumes.'),\n valueOutputProperty(PropertyValueType.String, 'The id of the current step.'),\n ...standardStateProperties,\n ],\n },\n {\n component: key(ComponentName.FormScreenBody),\n displayName: 'Form',\n description: 'Titled sections of fields in a one-to-three column grid, with inline validation, a save bar, the unsaved-changes guard and four modes.',\n properties: [\n {\n ...list('sections', 'Sections', 'Data', 'Section', [\n text('id', 'Id', 'Data'),\n text('title', 'Title', 'Content'),\n number('columns', 'Columns', 'Appearance', undefined, { default: 1, constraints: { minimum: 1, maximum: 3, integer: true } }),\n list('fields', 'Fields', 'Data', 'Field', [\n text('name', 'Name', 'Data', undefined, { constraints: { required: true }, editorKind: PropertyEditorKind.Field }),\n text('label', 'Label', 'Content'),\n choice('type', 'Type', 'Data', Object.fromEntries(Object.values(FormFieldType).map(type => [type, type])), FormFieldType.Text),\n flag('required', 'Required', 'Data'),\n { path: 'options', label: 'Options', group: 'Data', valueType: PropertyValueType.Json, editorKind: PropertyEditorKind.StringList, default: [] },\n number('span', 'Columns spanned', 'Appearance', undefined, { default: 1, constraints: { minimum: 1, maximum: 3, integer: true } }),\n text('placeholder', 'Placeholder', 'Content'),\n text('help', 'Help text', 'Content'),\n ]),\n ], 'The groups of fields.'),\n acceptedBindingKinds: bindable,\n },\n { path: 'values', label: 'Values', group: 'Data', valueType: PropertyValueType.Object, acceptedBindingKinds: bindable, description: 'The record being edited; empty when creating.' },\n { path: 'errors', label: 'Server errors', group: 'Data', valueType: PropertyValueType.Json, acceptedBindingKinds: bindable, description: 'Field errors from the server, as { field: message }; one for an unknown field is shown as a general error.' },\n choice('mode', 'Mode', 'Behavior', { [FormMode.Create]: 'Create', [FormMode.Edit]: 'Edit', [FormMode.ReadOnly]: 'Read-only', [FormMode.Settings]: 'Settings (a save for each section)' }, FormMode.Create),\n rule('editPermission', 'Edit permission', 'Enabled lets the user change fields; otherwise the form is read-only.'),\n rule('savePermission', 'Save permission', 'Whether Save works, refuses with a reason or is not shown.'),\n valueOutputProperty(PropertyValueType.Object, 'The values as the user has edited them.'),\n ...standardStateProperties,\n ],\n },\n];\n\n"],"names":["bindable","BindingSourceKind","DataContext","QueryResult","ComponentProperty","text","path","label","group","description","extra","valueType","PropertyValueType","String","acceptedBindingKinds","undefined","number","Number","editorKind","PropertyEditorKind","flag","Boolean","choice","values","defaultValue","Enum","default","choices","Object","entries","map","value","name","list","itemLabel","properties","Collection","item","rule","PermissionRule","Enabled","Disabled","Hidden","standardStateProperties","ComponentState","Ready","Loading","Empty","Error","NoPermission","Partial","Json","StringList","comfortable","compact","StringMap","key","componentRegistryKey","defaultBlueprintName","formats","NumberFormat","Currency","Percent","Compact","foundationDescriptors","component","ComponentName","EmptyState","displayName","StatCard","constraints","required","up","down","filter","property","TrendChip","StatusChip","StatusTone","Success","Warning","Danger","Info","Neutral","ChartWrapper","ChartKind","Line","Bar","Stacked","Donut","Funnel","NumberList","FilterBuilder","Field","FilterFieldType","Text","Date","Select","valueOutputProperty","ColumnChooser","SavedViewsMenu","readOnly","output","ChecklistSection","ActivityFeed","ActivityKind","Comment","Change","Status","System","editorOptions","multiline","descending","ascending","AvatarStack","minimum","integer","small","medium","FileUploader","ApprovalChainStepper","ApprovalState","Pending","Current","Approved","Rejected","Skipped","horizontal","vertical","OrgTree","PermissionMatrix","DataList","CellKind","ListVariant","Table","Cards","Grouped","none","single","multiple","TabSet","SubNavigation","BulkBar","GlobalSearch","NotificationsButton","KanbanBoard","WizardProgress","FormScreenBody","maximum","fromEntries","FormFieldType","type","FormMode","Create","Edit","ReadOnly","Settings"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"foundationSamples.d.ts","sourceRoot":"","sources":["../../../foundation/foundationSamples.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAIxD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AASlD,MAAM,WAAW,gBAAgB;IAE7B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAGpC,IAAI,EAAE,MAAM,EAAE,CAAC;IAGf,QAAQ,EAAE,OAAO,CAAC;CACrB;AAED,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,
|
|
1
|
+
{"version":3,"file":"foundationSamples.d.ts","sourceRoot":"","sources":["../../../foundation/foundationSamples.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAIxD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AASlD,MAAM,WAAW,gBAAgB;IAE7B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAGpC,IAAI,EAAE,MAAM,EAAE,CAAC;IAGf,QAAQ,EAAE,OAAO,CAAC;CACrB;AAED,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CA2I9D,CAAC;AAGF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,CAAC,EAAE,cAAc,GAAG,iBAAiB,CAQ/H"}
|
|
@@ -407,6 +407,309 @@ const foundationSamples = {
|
|
|
407
407
|
'Manage users'
|
|
408
408
|
],
|
|
409
409
|
stateful: true
|
|
410
|
+
},
|
|
411
|
+
[ComponentName.DataList]: {
|
|
412
|
+
properties: {
|
|
413
|
+
locale: 'en-US',
|
|
414
|
+
idField: 'id',
|
|
415
|
+
titleField: 'name',
|
|
416
|
+
selectionMode: 'multiple',
|
|
417
|
+
pageSize: 5,
|
|
418
|
+
rowActions: [
|
|
419
|
+
'Open',
|
|
420
|
+
'Archive'
|
|
421
|
+
],
|
|
422
|
+
columns: [
|
|
423
|
+
{
|
|
424
|
+
field: 'name',
|
|
425
|
+
header: 'Account'
|
|
426
|
+
},
|
|
427
|
+
{
|
|
428
|
+
field: 'owner',
|
|
429
|
+
header: 'Owner'
|
|
430
|
+
},
|
|
431
|
+
{
|
|
432
|
+
field: 'value',
|
|
433
|
+
header: 'Value',
|
|
434
|
+
kind: 'currency',
|
|
435
|
+
currency: 'USD'
|
|
436
|
+
},
|
|
437
|
+
{
|
|
438
|
+
field: 'status',
|
|
439
|
+
header: 'Status',
|
|
440
|
+
kind: 'status',
|
|
441
|
+
tones: {
|
|
442
|
+
Open: 'info',
|
|
443
|
+
Won: 'success',
|
|
444
|
+
Lost: 'danger'
|
|
445
|
+
}
|
|
446
|
+
},
|
|
447
|
+
{
|
|
448
|
+
field: 'closes',
|
|
449
|
+
header: 'Closes',
|
|
450
|
+
kind: 'date'
|
|
451
|
+
}
|
|
452
|
+
],
|
|
453
|
+
rows: [
|
|
454
|
+
{
|
|
455
|
+
id: '1',
|
|
456
|
+
name: 'Northgate Ltd',
|
|
457
|
+
owner: 'Ada',
|
|
458
|
+
value: 12000,
|
|
459
|
+
status: 'Open',
|
|
460
|
+
closes: '2026-04-01'
|
|
461
|
+
},
|
|
462
|
+
{
|
|
463
|
+
id: '2',
|
|
464
|
+
name: 'Harbour & Sons',
|
|
465
|
+
owner: 'Grace',
|
|
466
|
+
value: 8400.5,
|
|
467
|
+
status: 'Won',
|
|
468
|
+
closes: '2026-03-12'
|
|
469
|
+
},
|
|
470
|
+
{
|
|
471
|
+
id: '3',
|
|
472
|
+
name: 'Fjord Supply',
|
|
473
|
+
owner: 'Linus',
|
|
474
|
+
value: 560,
|
|
475
|
+
status: 'Lost',
|
|
476
|
+
closes: '2026-02-20'
|
|
477
|
+
}
|
|
478
|
+
]
|
|
479
|
+
},
|
|
480
|
+
data: [
|
|
481
|
+
'Northgate Ltd',
|
|
482
|
+
'3 items'
|
|
483
|
+
],
|
|
484
|
+
stateful: true
|
|
485
|
+
},
|
|
486
|
+
[ComponentName.TabSet]: {
|
|
487
|
+
properties: {
|
|
488
|
+
tabs: [
|
|
489
|
+
{
|
|
490
|
+
id: 'overview',
|
|
491
|
+
label: 'Overview'
|
|
492
|
+
},
|
|
493
|
+
{
|
|
494
|
+
id: 'related',
|
|
495
|
+
label: 'Related',
|
|
496
|
+
badge: '4'
|
|
497
|
+
},
|
|
498
|
+
{
|
|
499
|
+
id: 'files',
|
|
500
|
+
label: 'Files'
|
|
501
|
+
},
|
|
502
|
+
{
|
|
503
|
+
id: 'history',
|
|
504
|
+
label: 'History',
|
|
505
|
+
disabled: true
|
|
506
|
+
}
|
|
507
|
+
]
|
|
508
|
+
},
|
|
509
|
+
data: [
|
|
510
|
+
'Overview',
|
|
511
|
+
'Related'
|
|
512
|
+
],
|
|
513
|
+
stateful: true
|
|
514
|
+
},
|
|
515
|
+
[ComponentName.SubNavigation]: {
|
|
516
|
+
properties: {
|
|
517
|
+
items: [
|
|
518
|
+
{
|
|
519
|
+
id: 'accounts',
|
|
520
|
+
label: 'Accounts'
|
|
521
|
+
},
|
|
522
|
+
{
|
|
523
|
+
id: 'contacts',
|
|
524
|
+
label: 'Contacts',
|
|
525
|
+
badge: '12'
|
|
526
|
+
},
|
|
527
|
+
{
|
|
528
|
+
id: 'deals',
|
|
529
|
+
label: 'Deals'
|
|
530
|
+
}
|
|
531
|
+
]
|
|
532
|
+
},
|
|
533
|
+
data: [
|
|
534
|
+
'Accounts',
|
|
535
|
+
'Contacts'
|
|
536
|
+
],
|
|
537
|
+
stateful: true
|
|
538
|
+
},
|
|
539
|
+
[ComponentName.BulkBar]: {
|
|
540
|
+
properties: {
|
|
541
|
+
selection: [
|
|
542
|
+
'1',
|
|
543
|
+
'2'
|
|
544
|
+
],
|
|
545
|
+
actions: [
|
|
546
|
+
'Assign',
|
|
547
|
+
'Archive'
|
|
548
|
+
]
|
|
549
|
+
},
|
|
550
|
+
data: [],
|
|
551
|
+
stateful: false
|
|
552
|
+
},
|
|
553
|
+
[ComponentName.GlobalSearch]: {
|
|
554
|
+
properties: {
|
|
555
|
+
placeholder: 'Search accounts',
|
|
556
|
+
label: 'Search accounts'
|
|
557
|
+
},
|
|
558
|
+
data: [],
|
|
559
|
+
stateful: false
|
|
560
|
+
},
|
|
561
|
+
[ComponentName.NotificationsButton]: {
|
|
562
|
+
properties: {
|
|
563
|
+
count: 3
|
|
564
|
+
},
|
|
565
|
+
data: [],
|
|
566
|
+
stateful: false
|
|
567
|
+
},
|
|
568
|
+
[ComponentName.KanbanBoard]: {
|
|
569
|
+
properties: {
|
|
570
|
+
columns: [
|
|
571
|
+
{
|
|
572
|
+
id: 'new',
|
|
573
|
+
label: 'New',
|
|
574
|
+
limit: 2
|
|
575
|
+
},
|
|
576
|
+
{
|
|
577
|
+
id: 'qualified',
|
|
578
|
+
label: 'Qualified'
|
|
579
|
+
},
|
|
580
|
+
{
|
|
581
|
+
id: 'won',
|
|
582
|
+
label: 'Won'
|
|
583
|
+
}
|
|
584
|
+
],
|
|
585
|
+
cards: [
|
|
586
|
+
{
|
|
587
|
+
id: 'c1',
|
|
588
|
+
title: 'Acme renewal',
|
|
589
|
+
column: 'new',
|
|
590
|
+
assignee: 'Ada',
|
|
591
|
+
fields: [
|
|
592
|
+
{
|
|
593
|
+
label: 'Value',
|
|
594
|
+
value: '$12,000'
|
|
595
|
+
}
|
|
596
|
+
],
|
|
597
|
+
badges: [
|
|
598
|
+
'Hot'
|
|
599
|
+
]
|
|
600
|
+
},
|
|
601
|
+
{
|
|
602
|
+
id: 'c2',
|
|
603
|
+
title: 'Globex rollout',
|
|
604
|
+
column: 'new',
|
|
605
|
+
assignee: 'Grace'
|
|
606
|
+
},
|
|
607
|
+
{
|
|
608
|
+
id: 'c3',
|
|
609
|
+
title: 'Initech pilot',
|
|
610
|
+
column: 'new'
|
|
611
|
+
},
|
|
612
|
+
{
|
|
613
|
+
id: 'c4',
|
|
614
|
+
title: 'Umbrella upgrade',
|
|
615
|
+
column: 'qualified'
|
|
616
|
+
}
|
|
617
|
+
]
|
|
618
|
+
},
|
|
619
|
+
data: [
|
|
620
|
+
'Acme renewal'
|
|
621
|
+
],
|
|
622
|
+
stateful: true
|
|
623
|
+
},
|
|
624
|
+
[ComponentName.WizardProgress]: {
|
|
625
|
+
properties: {
|
|
626
|
+
steps: [
|
|
627
|
+
{
|
|
628
|
+
id: 'details',
|
|
629
|
+
label: 'Details'
|
|
630
|
+
},
|
|
631
|
+
{
|
|
632
|
+
id: 'people',
|
|
633
|
+
label: 'People'
|
|
634
|
+
},
|
|
635
|
+
{
|
|
636
|
+
id: 'review',
|
|
637
|
+
label: 'Review'
|
|
638
|
+
}
|
|
639
|
+
]
|
|
640
|
+
},
|
|
641
|
+
data: [
|
|
642
|
+
'Details',
|
|
643
|
+
'People'
|
|
644
|
+
],
|
|
645
|
+
stateful: true
|
|
646
|
+
},
|
|
647
|
+
[ComponentName.FormScreenBody]: {
|
|
648
|
+
properties: {
|
|
649
|
+
mode: 'create',
|
|
650
|
+
locale: 'en-US',
|
|
651
|
+
sections: [
|
|
652
|
+
{
|
|
653
|
+
title: 'Account details',
|
|
654
|
+
columns: 2,
|
|
655
|
+
fields: [
|
|
656
|
+
{
|
|
657
|
+
name: 'name',
|
|
658
|
+
label: 'Name',
|
|
659
|
+
required: true
|
|
660
|
+
},
|
|
661
|
+
{
|
|
662
|
+
name: 'industry',
|
|
663
|
+
label: 'Industry',
|
|
664
|
+
type: 'select',
|
|
665
|
+
options: [
|
|
666
|
+
'Software',
|
|
667
|
+
'Retail'
|
|
668
|
+
]
|
|
669
|
+
},
|
|
670
|
+
{
|
|
671
|
+
name: 'revenue',
|
|
672
|
+
label: 'Revenue',
|
|
673
|
+
type: 'currency'
|
|
674
|
+
},
|
|
675
|
+
{
|
|
676
|
+
name: 'since',
|
|
677
|
+
label: 'Customer since',
|
|
678
|
+
type: 'date'
|
|
679
|
+
},
|
|
680
|
+
{
|
|
681
|
+
name: 'notes',
|
|
682
|
+
label: 'Notes',
|
|
683
|
+
type: 'richText',
|
|
684
|
+
span: 2
|
|
685
|
+
}
|
|
686
|
+
]
|
|
687
|
+
},
|
|
688
|
+
{
|
|
689
|
+
title: 'Preferences',
|
|
690
|
+
fields: [
|
|
691
|
+
{
|
|
692
|
+
name: 'tags',
|
|
693
|
+
label: 'Tags',
|
|
694
|
+
type: 'multiSelect',
|
|
695
|
+
options: [
|
|
696
|
+
'VIP',
|
|
697
|
+
'Partner'
|
|
698
|
+
]
|
|
699
|
+
},
|
|
700
|
+
{
|
|
701
|
+
name: 'active',
|
|
702
|
+
label: 'Active',
|
|
703
|
+
type: 'toggle'
|
|
704
|
+
}
|
|
705
|
+
]
|
|
706
|
+
}
|
|
707
|
+
]
|
|
708
|
+
},
|
|
709
|
+
data: [
|
|
710
|
+
'Account details'
|
|
711
|
+
],
|
|
712
|
+
stateful: true
|
|
410
713
|
}
|
|
411
714
|
};
|
|
412
715
|
/** A scene element for a foundation component, populated with its sample unless properties are given, with the state forced when asked. */ function foundationElement(name, properties, state) {
|