@cratis/scene.blueprint.default 4.35.0 → 4.36.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 +12 -0
- package/defaultBlueprintComponents.ts +5 -1
- package/dist/cjs/ComponentName.js +4 -0
- package/dist/cjs/ComponentName.js.map +1 -1
- package/dist/cjs/defaultBlueprint.js +1 -0
- package/dist/cjs/defaultBlueprint.js.map +1 -1
- package/dist/cjs/defaultBlueprintComponentMetadata.js +1 -0
- package/dist/cjs/defaultBlueprintComponentMetadata.js.map +1 -1
- package/dist/cjs/defaultBlueprintComponents.js +9 -1
- package/dist/cjs/defaultBlueprintComponents.js.map +1 -1
- package/dist/cjs/foundation/ActivityFeed.js +122 -0
- package/dist/cjs/foundation/ActivityFeed.js.map +1 -0
- package/dist/cjs/foundation/AvatarStack.js +73 -0
- package/dist/cjs/foundation/AvatarStack.js.map +1 -0
- package/dist/cjs/foundation/ChecklistSection.js +174 -0
- package/dist/cjs/foundation/ChecklistSection.js.map +1 -0
- package/dist/cjs/foundation/FileUploader.js +218 -0
- package/dist/cjs/foundation/FileUploader.js.map +1 -0
- package/dist/cjs/foundation/FileUploaderHandler.js +17 -0
- package/dist/cjs/foundation/FileUploaderHandler.js.map +1 -0
- package/dist/cjs/foundation/activityModel.js +63 -0
- package/dist/cjs/foundation/activityModel.js.map +1 -0
- package/dist/cjs/foundation/avatarModel.js +42 -0
- package/dist/cjs/foundation/avatarModel.js.map +1 -0
- package/dist/cjs/foundation/checklistModel.js +59 -0
- package/dist/cjs/foundation/checklistModel.js.map +1 -0
- package/dist/cjs/foundation/formatting.js +11 -0
- package/dist/cjs/foundation/formatting.js.map +1 -1
- package/dist/cjs/foundation/foundationComponentMetadata.js +26 -0
- package/dist/cjs/foundation/foundationComponentMetadata.js.map +1 -1
- package/dist/cjs/foundation/foundationDescriptors.js +128 -0
- package/dist/cjs/foundation/foundationDescriptors.js.map +1 -1
- package/dist/cjs/foundation/foundationSamples.js +114 -0
- package/dist/cjs/foundation/foundationSamples.js.map +1 -1
- package/dist/cjs/foundation/foundationStrings.js +15 -0
- package/dist/cjs/foundation/foundationStrings.js.map +1 -1
- package/dist/cjs/foundation/uploadModel.js +71 -0
- package/dist/cjs/foundation/uploadModel.js.map +1 -0
- package/dist/cjs/index.js +33 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/ComponentName.d.ts +5 -1
- package/dist/esm/ComponentName.d.ts.map +1 -1
- package/dist/esm/ComponentName.js +4 -0
- package/dist/esm/ComponentName.js.map +1 -1
- package/dist/esm/defaultBlueprint.js +1 -0
- package/dist/esm/defaultBlueprint.js.map +1 -1
- package/dist/esm/defaultBlueprintComponentMetadata.js +1 -0
- package/dist/esm/defaultBlueprintComponentMetadata.js.map +1 -1
- package/dist/esm/defaultBlueprintComponents.d.ts.map +1 -1
- package/dist/esm/defaultBlueprintComponents.js +9 -1
- package/dist/esm/defaultBlueprintComponents.js.map +1 -1
- package/dist/esm/foundation/ActivityFeed.d.ts +3 -0
- package/dist/esm/foundation/ActivityFeed.d.ts.map +1 -0
- package/dist/esm/foundation/ActivityFeed.js +120 -0
- package/dist/esm/foundation/ActivityFeed.js.map +1 -0
- package/dist/esm/foundation/AvatarStack.d.ts +3 -0
- package/dist/esm/foundation/AvatarStack.d.ts.map +1 -0
- package/dist/esm/foundation/AvatarStack.js +71 -0
- package/dist/esm/foundation/AvatarStack.js.map +1 -0
- package/dist/esm/foundation/ChecklistSection.d.ts +3 -0
- package/dist/esm/foundation/ChecklistSection.d.ts.map +1 -0
- package/dist/esm/foundation/ChecklistSection.js +172 -0
- package/dist/esm/foundation/ChecklistSection.js.map +1 -0
- package/dist/esm/foundation/FileUploader.d.ts +3 -0
- package/dist/esm/foundation/FileUploader.d.ts.map +1 -0
- package/dist/esm/foundation/FileUploader.js +216 -0
- package/dist/esm/foundation/FileUploader.js.map +1 -0
- package/dist/esm/foundation/FileUploaderHandler.d.ts +8 -0
- package/dist/esm/foundation/FileUploaderHandler.d.ts.map +1 -0
- package/dist/esm/foundation/FileUploaderHandler.js +14 -0
- package/dist/esm/foundation/FileUploaderHandler.js.map +1 -0
- package/dist/esm/foundation/Foundation.stories.d.ts +8 -0
- package/dist/esm/foundation/Foundation.stories.d.ts.map +1 -1
- package/dist/esm/foundation/Foundation.stories.js +8 -0
- package/dist/esm/foundation/Foundation.stories.js.map +1 -1
- package/dist/esm/foundation/activityModel.d.ts +22 -0
- package/dist/esm/foundation/activityModel.d.ts.map +1 -0
- package/dist/esm/foundation/activityModel.js +58 -0
- package/dist/esm/foundation/activityModel.js.map +1 -0
- package/dist/esm/foundation/avatarModel.d.ts +11 -0
- package/dist/esm/foundation/avatarModel.d.ts.map +1 -0
- package/dist/esm/foundation/avatarModel.js +38 -0
- package/dist/esm/foundation/avatarModel.js.map +1 -0
- package/dist/esm/foundation/checklistModel.d.ts +17 -0
- package/dist/esm/foundation/checklistModel.d.ts.map +1 -0
- package/dist/esm/foundation/checklistModel.js +53 -0
- package/dist/esm/foundation/checklistModel.js.map +1 -0
- package/dist/esm/foundation/formatting.d.ts +1 -0
- package/dist/esm/foundation/formatting.d.ts.map +1 -1
- package/dist/esm/foundation/formatting.js +11 -1
- package/dist/esm/foundation/formatting.js.map +1 -1
- package/dist/esm/foundation/foundationComponentMetadata.d.ts.map +1 -1
- package/dist/esm/foundation/foundationComponentMetadata.js +26 -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 +128 -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 +114 -0
- package/dist/esm/foundation/foundationSamples.js.map +1 -1
- package/dist/esm/foundation/foundationStrings.d.ts +15 -0
- package/dist/esm/foundation/foundationStrings.d.ts.map +1 -1
- package/dist/esm/foundation/foundationStrings.js +15 -0
- package/dist/esm/foundation/foundationStrings.js.map +1 -1
- package/dist/esm/foundation/index.d.ts +9 -0
- package/dist/esm/foundation/index.d.ts.map +1 -1
- package/dist/esm/foundation/index.js +9 -0
- package/dist/esm/foundation/index.js.map +1 -1
- package/dist/esm/foundation/uploadModel.d.ts +31 -0
- package/dist/esm/foundation/uploadModel.d.ts.map +1 -0
- package/dist/esm/foundation/uploadModel.js +65 -0
- package/dist/esm/foundation/uploadModel.js.map +1 -0
- package/dist/esm/index.js +10 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/tsconfig.tsbuildinfo +1 -1
- package/foundation/ActivityFeed.tsx +61 -0
- package/foundation/AvatarStack.tsx +43 -0
- package/foundation/ChecklistSection.tsx +80 -0
- package/foundation/FileUploader.tsx +122 -0
- package/foundation/FileUploaderHandler.tsx +22 -0
- package/foundation/Foundation.stories.tsx +8 -0
- package/foundation/activityModel.ts +65 -0
- package/foundation/avatarModel.ts +36 -0
- package/foundation/checklistModel.ts +62 -0
- package/foundation/formatting.ts +9 -0
- package/foundation/foundationComponentMetadata.ts +4 -0
- package/foundation/foundationDescriptors.ts +79 -0
- package/foundation/foundationSamples.ts +29 -0
- package/foundation/foundationStrings.ts +15 -0
- package/foundation/index.ts +9 -0
- package/foundation/uploadModel.ts +66 -0
- package/package.json +8 -8
- package/shell/layout.css +234 -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 { 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\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"],"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 { 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\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"],"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,CAqD9D,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"}
|
|
@@ -177,6 +177,120 @@ const foundationSamples = {
|
|
|
177
177
|
'Mine'
|
|
178
178
|
],
|
|
179
179
|
stateful: true
|
|
180
|
+
},
|
|
181
|
+
[ComponentName.ChecklistSection]: {
|
|
182
|
+
properties: {
|
|
183
|
+
today: '2026-03-10',
|
|
184
|
+
locale: 'en-US',
|
|
185
|
+
sections: [
|
|
186
|
+
{
|
|
187
|
+
title: 'Before day one',
|
|
188
|
+
items: [
|
|
189
|
+
{
|
|
190
|
+
id: 't1',
|
|
191
|
+
label: 'Send the contract',
|
|
192
|
+
owner: 'Grace',
|
|
193
|
+
due: '2026-03-01',
|
|
194
|
+
done: true
|
|
195
|
+
},
|
|
196
|
+
{
|
|
197
|
+
id: 't2',
|
|
198
|
+
label: 'Order a laptop',
|
|
199
|
+
owner: 'Linus',
|
|
200
|
+
due: '2026-03-05'
|
|
201
|
+
}
|
|
202
|
+
]
|
|
203
|
+
},
|
|
204
|
+
{
|
|
205
|
+
title: 'First week',
|
|
206
|
+
items: [
|
|
207
|
+
{
|
|
208
|
+
id: 't3',
|
|
209
|
+
label: 'Security training',
|
|
210
|
+
owner: 'Ada',
|
|
211
|
+
due: '2026-03-20'
|
|
212
|
+
}
|
|
213
|
+
]
|
|
214
|
+
}
|
|
215
|
+
]
|
|
216
|
+
},
|
|
217
|
+
data: [
|
|
218
|
+
'Send the contract',
|
|
219
|
+
'1 of 2 complete'
|
|
220
|
+
],
|
|
221
|
+
stateful: true
|
|
222
|
+
},
|
|
223
|
+
[ComponentName.ActivityFeed]: {
|
|
224
|
+
properties: {
|
|
225
|
+
locale: 'en-US',
|
|
226
|
+
timeZone: 'UTC',
|
|
227
|
+
entries: [
|
|
228
|
+
{
|
|
229
|
+
id: 'a1',
|
|
230
|
+
actor: 'Ada Lovelace',
|
|
231
|
+
action: 'commented',
|
|
232
|
+
kind: 'comment',
|
|
233
|
+
at: '2026-03-10T09:30:00Z',
|
|
234
|
+
body: 'Sent the revised quote.'
|
|
235
|
+
},
|
|
236
|
+
{
|
|
237
|
+
id: 'a2',
|
|
238
|
+
actor: 'Grace Hopper',
|
|
239
|
+
action: 'changed the owner to Linus',
|
|
240
|
+
kind: 'change',
|
|
241
|
+
at: '2026-03-09T16:00:00Z'
|
|
242
|
+
},
|
|
243
|
+
{
|
|
244
|
+
id: 'a3',
|
|
245
|
+
actor: 'System',
|
|
246
|
+
action: 'marked the deal as qualified',
|
|
247
|
+
kind: 'status',
|
|
248
|
+
at: '2026-03-09T08:00:00Z'
|
|
249
|
+
}
|
|
250
|
+
]
|
|
251
|
+
},
|
|
252
|
+
data: [
|
|
253
|
+
'Sent the revised quote.'
|
|
254
|
+
],
|
|
255
|
+
stateful: true
|
|
256
|
+
},
|
|
257
|
+
[ComponentName.AvatarStack]: {
|
|
258
|
+
properties: {
|
|
259
|
+
people: [
|
|
260
|
+
{
|
|
261
|
+
name: 'Ada Lovelace'
|
|
262
|
+
},
|
|
263
|
+
{
|
|
264
|
+
name: 'Grace Hopper'
|
|
265
|
+
},
|
|
266
|
+
{
|
|
267
|
+
name: 'Linus Torvalds'
|
|
268
|
+
},
|
|
269
|
+
{
|
|
270
|
+
name: 'Margaret Hamilton'
|
|
271
|
+
},
|
|
272
|
+
{
|
|
273
|
+
name: 'Alan Turing'
|
|
274
|
+
},
|
|
275
|
+
{
|
|
276
|
+
name: 'Barbara Liskov'
|
|
277
|
+
}
|
|
278
|
+
],
|
|
279
|
+
max: 4
|
|
280
|
+
},
|
|
281
|
+
data: [
|
|
282
|
+
'+2'
|
|
283
|
+
],
|
|
284
|
+
stateful: true
|
|
285
|
+
},
|
|
286
|
+
[ComponentName.FileUploader]: {
|
|
287
|
+
properties: {
|
|
288
|
+
accept: '.pdf, image/*',
|
|
289
|
+
maxSizeMb: 10,
|
|
290
|
+
multiple: true
|
|
291
|
+
},
|
|
292
|
+
data: [],
|
|
293
|
+
stateful: true
|
|
180
294
|
}
|
|
181
295
|
};
|
|
182
296
|
/** 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) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"foundationSamples.js","sources":["../../../foundation/foundationSamples.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 { ExternalComponent } from '@cratis/scene.model';\nimport { componentRegistryKey } from '@cratis/scene.react';\nimport { ComponentName } from '../ComponentName';\nimport { defaultBlueprintName } from '../packageName';\nimport { ComponentState } from './ComponentState';\n\n/**\n * What a story or a specification feeds each foundation component to see it populated.\n *\n * These are design-time and test-time values, never part of what a component is: a component declares the shape of its data\n * and a screen binds it to a query (spec SD1). The domain blueprints supply real preview data as sample-data packs; this is\n * only enough to draw each component in each state.\n */\nexport interface FoundationSample {\n /** The properties that make the component populated. */\n properties: Record<string, unknown>;\n\n /** Text that only appears when the component shows its data, so a specification can prove the no-permission state shows none of it. */\n data: string[];\n\n /** Whether the component shows data and so owns the five standard states; chips and the empty state themselves do not. */\n stateful: boolean;\n}\n\nexport const foundationSamples: Record<string, FoundationSample> = {\n [ComponentName.EmptyState]: { properties: { headline: 'No invoices yet', hint: 'Invoices you create appear here.', icon: 'file', actionLabel: 'New invoice' }, data: [], stateful: false },\n [ComponentName.StatCard]: { properties: { label: 'Open pipeline', value: 1234567, format: 'currency', currency: 'USD', change: 12.5, comparison: 'last month', locale: 'en-US' }, data: ['$1,234,567'], stateful: true },\n [ComponentName.TrendChip]: { properties: { change: -3.2, goodDirection: 'down', comparison: 'last week', locale: 'en-US' }, data: [], stateful: false },\n [ComponentName.StatusChip]: { properties: { status: 'Awaiting approval', tone: 'warning' }, data: [], stateful: false },\n [ComponentName.ChartWrapper]: {\n properties: { title: 'Revenue by quarter', kind: 'line', categories: ['Q1', 'Q2', 'Q3', 'Q4'], series: [{ name: 'Revenue', values: [120, 180, 150, 240] }, { name: 'Target', values: [100, 150, 200, 220] }], locale: 'en-US' },\n data: ['Revenue by quarter'], stateful: true,\n },\n [ComponentName.FilterBuilder]: {\n properties: {\n fields: [{ name: 'owner', label: 'Owner', type: 'text' }, { name: 'status', label: 'Status', type: 'select', options: ['Open', 'Won', 'Lost'] }, { name: 'value', label: 'Value', type: 'number' }],\n filter: { operator: 'and', conditions: [{ field: 'status', operator: 'is', value: 'Open' }, { field: 'owner', operator: 'contains', value: 'Ada' }], groups: [] },\n },\n data: ['2 active filters'], stateful: true,\n },\n [ComponentName.ColumnChooser]: {\n properties: { columns: [{ id: 'name', label: 'Name', locked: true }, { id: 'owner', label: 'Owner' }, { id: 'status', label: 'Status', visible: false }] },\n data: ['3 shown'], stateful: true,\n },\n [ComponentName.SavedViewsMenu]: {\n properties: { views: [{ id: 'all', label: 'All leads' }, { id: 'mine', label: 'Mine' }, { id: 'overdue', label: 'Overdue' }], activeView: 'mine' },\n data: ['Mine'], stateful: true,\n },\n};\n\n/** A scene element for a foundation component, populated with its sample unless properties are given, with the state forced when asked. */\nexport function foundationElement(name: string, properties?: Record<string, unknown>, state?: ComponentState): ExternalComponent {\n const sample = foundationSamples[name];\n return {\n id: `${name}-sample`,\n componentName: componentRegistryKey(defaultBlueprintName, name),\n properties: { ...(properties ?? sample?.properties ?? {}), ...(state === undefined ? {} : { state }) },\n slots: {},\n } as unknown as ExternalComponent;\n}\n"],"names":["foundationSamples","ComponentName","EmptyState","properties","headline","hint","icon","actionLabel","data","stateful","StatCard","label","value","format","currency","change","comparison","locale","TrendChip","goodDirection","StatusChip","status","tone","ChartWrapper","title","kind","categories","series","name","values","FilterBuilder","fields","type","options","filter","operator","conditions","field","groups","ColumnChooser","columns","id","locked","visible","SavedViewsMenu","views","activeView","foundationElement","state","sample","componentName","componentRegistryKey","defaultBlueprintName","undefined","slots"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"foundationSamples.js","sources":["../../../foundation/foundationSamples.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 { ExternalComponent } from '@cratis/scene.model';\nimport { componentRegistryKey } from '@cratis/scene.react';\nimport { ComponentName } from '../ComponentName';\nimport { defaultBlueprintName } from '../packageName';\nimport { ComponentState } from './ComponentState';\n\n/**\n * What a story or a specification feeds each foundation component to see it populated.\n *\n * These are design-time and test-time values, never part of what a component is: a component declares the shape of its data\n * and a screen binds it to a query (spec SD1). The domain blueprints supply real preview data as sample-data packs; this is\n * only enough to draw each component in each state.\n */\nexport interface FoundationSample {\n /** The properties that make the component populated. */\n properties: Record<string, unknown>;\n\n /** Text that only appears when the component shows its data, so a specification can prove the no-permission state shows none of it. */\n data: string[];\n\n /** Whether the component shows data and so owns the five standard states; chips and the empty state themselves do not. */\n stateful: boolean;\n}\n\nexport const foundationSamples: Record<string, FoundationSample> = {\n [ComponentName.EmptyState]: { properties: { headline: 'No invoices yet', hint: 'Invoices you create appear here.', icon: 'file', actionLabel: 'New invoice' }, data: [], stateful: false },\n [ComponentName.StatCard]: { properties: { label: 'Open pipeline', value: 1234567, format: 'currency', currency: 'USD', change: 12.5, comparison: 'last month', locale: 'en-US' }, data: ['$1,234,567'], stateful: true },\n [ComponentName.TrendChip]: { properties: { change: -3.2, goodDirection: 'down', comparison: 'last week', locale: 'en-US' }, data: [], stateful: false },\n [ComponentName.StatusChip]: { properties: { status: 'Awaiting approval', tone: 'warning' }, data: [], stateful: false },\n [ComponentName.ChartWrapper]: {\n properties: { title: 'Revenue by quarter', kind: 'line', categories: ['Q1', 'Q2', 'Q3', 'Q4'], series: [{ name: 'Revenue', values: [120, 180, 150, 240] }, { name: 'Target', values: [100, 150, 200, 220] }], locale: 'en-US' },\n data: ['Revenue by quarter'], stateful: true,\n },\n [ComponentName.FilterBuilder]: {\n properties: {\n fields: [{ name: 'owner', label: 'Owner', type: 'text' }, { name: 'status', label: 'Status', type: 'select', options: ['Open', 'Won', 'Lost'] }, { name: 'value', label: 'Value', type: 'number' }],\n filter: { operator: 'and', conditions: [{ field: 'status', operator: 'is', value: 'Open' }, { field: 'owner', operator: 'contains', value: 'Ada' }], groups: [] },\n },\n data: ['2 active filters'], stateful: true,\n },\n [ComponentName.ColumnChooser]: {\n properties: { columns: [{ id: 'name', label: 'Name', locked: true }, { id: 'owner', label: 'Owner' }, { id: 'status', label: 'Status', visible: false }] },\n data: ['3 shown'], stateful: true,\n },\n [ComponentName.SavedViewsMenu]: {\n properties: { views: [{ id: 'all', label: 'All leads' }, { id: 'mine', label: 'Mine' }, { id: 'overdue', label: 'Overdue' }], activeView: 'mine' },\n data: ['Mine'], stateful: true,\n },\n [ComponentName.ChecklistSection]: {\n properties: {\n today: '2026-03-10', locale: 'en-US',\n sections: [\n { title: 'Before day one', items: [{ id: 't1', label: 'Send the contract', owner: 'Grace', due: '2026-03-01', done: true }, { id: 't2', label: 'Order a laptop', owner: 'Linus', due: '2026-03-05' }] },\n { title: 'First week', items: [{ id: 't3', label: 'Security training', owner: 'Ada', due: '2026-03-20' }] },\n ],\n },\n data: ['Send the contract', '1 of 2 complete'], stateful: true,\n },\n [ComponentName.ActivityFeed]: {\n properties: {\n locale: 'en-US', timeZone: 'UTC',\n entries: [\n { id: 'a1', actor: 'Ada Lovelace', action: 'commented', kind: 'comment', at: '2026-03-10T09:30:00Z', body: 'Sent the revised quote.' },\n { id: 'a2', actor: 'Grace Hopper', action: 'changed the owner to Linus', kind: 'change', at: '2026-03-09T16:00:00Z' },\n { id: 'a3', actor: 'System', action: 'marked the deal as qualified', kind: 'status', at: '2026-03-09T08:00:00Z' },\n ],\n },\n data: ['Sent the revised quote.'], stateful: true,\n },\n [ComponentName.AvatarStack]: {\n properties: { people: [{ name: 'Ada Lovelace' }, { name: 'Grace Hopper' }, { name: 'Linus Torvalds' }, { name: 'Margaret Hamilton' }, { name: 'Alan Turing' }, { name: 'Barbara Liskov' }], max: 4 },\n data: ['+2'], stateful: true,\n },\n [ComponentName.FileUploader]: {\n properties: { accept: '.pdf, image/*', maxSizeMb: 10, multiple: true },\n data: [], stateful: true,\n },\n};\n\n/** A scene element for a foundation component, populated with its sample unless properties are given, with the state forced when asked. */\nexport function foundationElement(name: string, properties?: Record<string, unknown>, state?: ComponentState): ExternalComponent {\n const sample = foundationSamples[name];\n return {\n id: `${name}-sample`,\n componentName: componentRegistryKey(defaultBlueprintName, name),\n properties: { ...(properties ?? sample?.properties ?? {}), ...(state === undefined ? {} : { state }) },\n slots: {},\n } as unknown as ExternalComponent;\n}\n"],"names":["foundationSamples","ComponentName","EmptyState","properties","headline","hint","icon","actionLabel","data","stateful","StatCard","label","value","format","currency","change","comparison","locale","TrendChip","goodDirection","StatusChip","status","tone","ChartWrapper","title","kind","categories","series","name","values","FilterBuilder","fields","type","options","filter","operator","conditions","field","groups","ColumnChooser","columns","id","locked","visible","SavedViewsMenu","views","activeView","ChecklistSection","today","sections","items","owner","due","done","ActivityFeed","timeZone","entries","actor","action","at","body","AvatarStack","people","max","FileUploader","accept","maxSizeMb","multiple","foundationElement","state","sample","componentName","componentRegistryKey","defaultBlueprintName","undefined","slots"],"mappings":"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"}
|
|
@@ -70,11 +70,26 @@ export declare const foundationStrings: {
|
|
|
70
70
|
readonly viewsNone: 'There are no saved views';
|
|
71
71
|
readonly checklistProgress: '{done} of {total} complete';
|
|
72
72
|
readonly checklistOwner: 'Owner';
|
|
73
|
+
readonly checklistOverdue: 'Overdue';
|
|
74
|
+
readonly checklistDone: 'Done';
|
|
75
|
+
readonly checklistOpen: 'Open';
|
|
76
|
+
readonly checklistItemProgress: 'Progress of {title}';
|
|
77
|
+
readonly checklistNone: 'This checklist has no tasks';
|
|
73
78
|
readonly checklistDue: 'Due';
|
|
74
79
|
readonly activityEmpty: 'No activity yet';
|
|
80
|
+
readonly activityComment: 'Comment';
|
|
81
|
+
readonly activityChange: 'Change';
|
|
82
|
+
readonly activityStatus: 'Status';
|
|
83
|
+
readonly activitySystem: 'System';
|
|
84
|
+
readonly activityBy: 'by {actor}';
|
|
75
85
|
readonly avatarOverflow: '{count} more';
|
|
76
86
|
readonly avatarPeople: '{count} people';
|
|
77
87
|
readonly uploadDrop: 'Drop files here or';
|
|
88
|
+
readonly uploadLimits: 'Up to {limit} each';
|
|
89
|
+
readonly uploadAccepts: 'Accepts {types}';
|
|
90
|
+
readonly uploadSelected: 'Selected files';
|
|
91
|
+
readonly uploadQueued: 'Ready to upload';
|
|
92
|
+
readonly uploadSingle: 'Only one file can be uploaded at a time';
|
|
78
93
|
readonly uploadBrowse: 'Browse files';
|
|
79
94
|
readonly uploadRemove: 'Remove {name}';
|
|
80
95
|
readonly uploadTooLarge: '{name} is larger than {limit}';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"foundationStrings.d.ts","sourceRoot":"","sources":["../../../foundation/foundationStrings.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"foundationStrings.d.ts","sourceRoot":"","sources":["../../../foundation/foundationStrings.ts"],"names":[],"mappings":"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"}
|
|
@@ -76,11 +76,26 @@
|
|
|
76
76
|
viewsNone: 'There are no saved views',
|
|
77
77
|
checklistProgress: '{done} of {total} complete',
|
|
78
78
|
checklistOwner: 'Owner',
|
|
79
|
+
checklistOverdue: 'Overdue',
|
|
80
|
+
checklistDone: 'Done',
|
|
81
|
+
checklistOpen: 'Open',
|
|
82
|
+
checklistItemProgress: 'Progress of {title}',
|
|
83
|
+
checklistNone: 'This checklist has no tasks',
|
|
79
84
|
checklistDue: 'Due',
|
|
80
85
|
activityEmpty: 'No activity yet',
|
|
86
|
+
activityComment: 'Comment',
|
|
87
|
+
activityChange: 'Change',
|
|
88
|
+
activityStatus: 'Status',
|
|
89
|
+
activitySystem: 'System',
|
|
90
|
+
activityBy: 'by {actor}',
|
|
81
91
|
avatarOverflow: '{count} more',
|
|
82
92
|
avatarPeople: '{count} people',
|
|
83
93
|
uploadDrop: 'Drop files here or',
|
|
94
|
+
uploadLimits: 'Up to {limit} each',
|
|
95
|
+
uploadAccepts: 'Accepts {types}',
|
|
96
|
+
uploadSelected: 'Selected files',
|
|
97
|
+
uploadQueued: 'Ready to upload',
|
|
98
|
+
uploadSingle: 'Only one file can be uploaded at a time',
|
|
84
99
|
uploadBrowse: 'Browse files',
|
|
85
100
|
uploadRemove: 'Remove {name}',
|
|
86
101
|
uploadTooLarge: '{name} is larger than {limit}',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"foundationStrings.js","sources":["../../../foundation/foundationStrings.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 { ExternalComponent } from '@cratis/scene.model';\n\n/**\n * Every piece of text the foundation components say themselves, as opposed to text a screen author or a bound query\n * supplies. Nothing is hard-coded in a component (spec Part B 1.5): a component reads its text from here, merged with\n * the `strings` property of the element, so an application localizes by supplying a table - and a bound string\n * (a `{name}` placeholder is replaced by the values the component passes) arrives the same way any other property does.\n */\nexport const foundationStrings = {\n loading: 'Loading',\n emptyHeadline: 'Nothing here yet',\n emptyHint: 'There is nothing to show for now.',\n errorHeadline: 'This could not be loaded',\n errorHint: 'Something went wrong while loading. Try again in a moment.',\n retry: 'Try again',\n noPermissionHeadline: 'You do not have access',\n noPermissionHint: 'Ask an administrator to grant you access to {subject}.',\n noPermissionSubject: 'this content',\n partialHeadline: 'Some parts could not be loaded',\n partialHint: 'The unavailable parts are: {regions}.',\n disabledNoPermission: 'You do not have permission to do this',\n trendUp: 'up {value}',\n trendDown: 'down {value}',\n trendFlat: 'unchanged',\n trendComparison: 'compared to {period}',\n statusSuccess: 'Success',\n statusWarning: 'Warning',\n statusDanger: 'Problem',\n statusInfo: 'Information',\n statusNeutral: 'Status',\n chartNoData: 'No data to chart',\n chartDataTable: 'Chart data',\n chartSeries: 'Series',\n chartCategory: 'Category',\n filterAdd: 'Add condition',\n filterAddGroup: 'Add group',\n filterRemove: 'Remove condition',\n filterRemoveGroup: 'Remove group',\n filterMatchAll: 'Match all (AND)',\n filterMatchAny: 'Match any (OR)',\n filterField: 'Field',\n filterOperator: 'Operator',\n filterValue: 'Value',\n filterClear: 'Clear filters',\n filterCondition: 'Condition {n}',\n filterGroup: 'Group {n}',\n filterNoFields: 'There are no fields to filter on',\n opContains: 'contains',\n opEquals: 'equals',\n opNotEquals: 'does not equal',\n opStartsWith: 'starts with',\n opIsEmpty: 'is empty',\n opGreater: 'is greater than',\n opGreaterOrEqual: 'is at least',\n opLess: 'is less than',\n opLessOrEqual: 'is at most',\n opBefore: 'is before',\n opAfter: 'is after',\n opOn: 'is on',\n opIs: 'is',\n opIsNot: 'is not',\n opTrue: 'is yes',\n opFalse: 'is no',\n filterSummary: '{count} active filters',\n filterSummaryOne: '1 active filter',\n columnsChoose: 'Columns',\n columnsLocked: 'always shown',\n columnsReset: 'Show all columns',\n columnsMoveUp: 'Move {name} up',\n columnsMoveDown: 'Move {name} down',\n columnsShown: '{shown} of {total} shown',\n columnsNone: 'There are no columns to choose from',\n viewsLabel: 'Saved views',\n viewsDefault: 'All items',\n viewsSave: 'Save current view',\n viewsManage: 'Manage views',\n viewsNone: 'There are no saved views',\n checklistProgress: '{done} of {total} complete',\n checklistOwner: 'Owner',\n checklistDue: 'Due',\n activityEmpty: 'No activity yet',\n avatarOverflow: '{count} more',\n avatarPeople: '{count} people',\n uploadDrop: 'Drop files here or',\n uploadBrowse: 'Browse files',\n uploadRemove: 'Remove {name}',\n uploadTooLarge: '{name} is larger than {limit}',\n uploadWrongType: '{name} is not an accepted file type',\n uploadUploading: 'Uploading',\n uploadDone: 'Uploaded',\n uploadFailed: 'Upload failed',\n approvalPending: 'Pending',\n approvalCurrent: 'Awaiting decision',\n approvalApproved: 'Approved',\n approvalRejected: 'Rejected',\n approvalSkipped: 'Skipped',\n approvalChain: 'Approval chain',\n orgExpand: 'Expand {name}',\n orgCollapse: 'Collapse {name}',\n orgReports: '{count} reports',\n matrixAllowed: 'Allowed',\n matrixDenied: 'Not allowed',\n matrixGrant: 'Grant {permission} to {role}',\n matrixReadOnly: 'Read-only',\n} as const;\n\n/** The name of one of the foundation strings. */\nexport type FoundationStringName = keyof typeof foundationStrings;\n\n/** The text table a foundation component works with. */\nexport type FoundationStrings = Record<FoundationStringName, string>;\n\n/**\n * The foundation strings with the element's own `strings` property laid over them.\n *\n * Only string values of known names are taken, so a typo in an application's table falls back to the default text\n * rather than rendering nothing.\n */\nexport function readFoundationStrings(element: ExternalComponent): FoundationStrings {\n const supplied = element.properties.strings;\n const result: FoundationStrings = { ...foundationStrings };\n if (typeof supplied !== 'object' || supplied === null || Array.isArray(supplied)) return result;\n\n for (const [name, value] of Object.entries(supplied as Record<string, unknown>)) {\n if (name in foundationStrings && typeof value === 'string') result[name as FoundationStringName] = value;\n }\n\n return result;\n}\n\n/** Replaces each `{name}` in a string with the value of the same name, leaving an unknown placeholder visible rather than blank. */\nexport function formatText(text: string, values: Record<string, string | number> = {}): string {\n return text.replace(/\\{(\\w+)\\}/g, (placeholder, name: string) => (name in values ? String(values[name]) : placeholder));\n}\n"],"names":["foundationStrings","loading","emptyHeadline","emptyHint","errorHeadline","errorHint","retry","noPermissionHeadline","noPermissionHint","noPermissionSubject","partialHeadline","partialHint","disabledNoPermission","trendUp","trendDown","trendFlat","trendComparison","statusSuccess","statusWarning","statusDanger","statusInfo","statusNeutral","chartNoData","chartDataTable","chartSeries","chartCategory","filterAdd","filterAddGroup","filterRemove","filterRemoveGroup","filterMatchAll","filterMatchAny","filterField","filterOperator","filterValue","filterClear","filterCondition","filterGroup","filterNoFields","opContains","opEquals","opNotEquals","opStartsWith","opIsEmpty","opGreater","opGreaterOrEqual","opLess","opLessOrEqual","opBefore","opAfter","opOn","opIs","opIsNot","opTrue","opFalse","filterSummary","filterSummaryOne","columnsChoose","columnsLocked","columnsReset","columnsMoveUp","columnsMoveDown","columnsShown","columnsNone","viewsLabel","viewsDefault","viewsSave","viewsManage","viewsNone","checklistProgress","checklistOwner","checklistDue","activityEmpty","avatarOverflow","avatarPeople","uploadDrop","uploadBrowse","uploadRemove","uploadTooLarge","uploadWrongType","uploadUploading","uploadDone","uploadFailed","approvalPending","approvalCurrent","approvalApproved","approvalRejected","approvalSkipped","approvalChain","orgExpand","orgCollapse","orgReports","matrixAllowed","matrixDenied","matrixGrant","matrixReadOnly","readFoundationStrings","element","supplied","properties","strings","result","Array","isArray","name","value","Object","entries","formatText","text","values","replace","placeholder","String"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"foundationStrings.js","sources":["../../../foundation/foundationStrings.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 { ExternalComponent } from '@cratis/scene.model';\n\n/**\n * Every piece of text the foundation components say themselves, as opposed to text a screen author or a bound query\n * supplies. Nothing is hard-coded in a component (spec Part B 1.5): a component reads its text from here, merged with\n * the `strings` property of the element, so an application localizes by supplying a table - and a bound string\n * (a `{name}` placeholder is replaced by the values the component passes) arrives the same way any other property does.\n */\nexport const foundationStrings = {\n loading: 'Loading',\n emptyHeadline: 'Nothing here yet',\n emptyHint: 'There is nothing to show for now.',\n errorHeadline: 'This could not be loaded',\n errorHint: 'Something went wrong while loading. Try again in a moment.',\n retry: 'Try again',\n noPermissionHeadline: 'You do not have access',\n noPermissionHint: 'Ask an administrator to grant you access to {subject}.',\n noPermissionSubject: 'this content',\n partialHeadline: 'Some parts could not be loaded',\n partialHint: 'The unavailable parts are: {regions}.',\n disabledNoPermission: 'You do not have permission to do this',\n trendUp: 'up {value}',\n trendDown: 'down {value}',\n trendFlat: 'unchanged',\n trendComparison: 'compared to {period}',\n statusSuccess: 'Success',\n statusWarning: 'Warning',\n statusDanger: 'Problem',\n statusInfo: 'Information',\n statusNeutral: 'Status',\n chartNoData: 'No data to chart',\n chartDataTable: 'Chart data',\n chartSeries: 'Series',\n chartCategory: 'Category',\n filterAdd: 'Add condition',\n filterAddGroup: 'Add group',\n filterRemove: 'Remove condition',\n filterRemoveGroup: 'Remove group',\n filterMatchAll: 'Match all (AND)',\n filterMatchAny: 'Match any (OR)',\n filterField: 'Field',\n filterOperator: 'Operator',\n filterValue: 'Value',\n filterClear: 'Clear filters',\n filterCondition: 'Condition {n}',\n filterGroup: 'Group {n}',\n filterNoFields: 'There are no fields to filter on',\n opContains: 'contains',\n opEquals: 'equals',\n opNotEquals: 'does not equal',\n opStartsWith: 'starts with',\n opIsEmpty: 'is empty',\n opGreater: 'is greater than',\n opGreaterOrEqual: 'is at least',\n opLess: 'is less than',\n opLessOrEqual: 'is at most',\n opBefore: 'is before',\n opAfter: 'is after',\n opOn: 'is on',\n opIs: 'is',\n opIsNot: 'is not',\n opTrue: 'is yes',\n opFalse: 'is no',\n filterSummary: '{count} active filters',\n filterSummaryOne: '1 active filter',\n columnsChoose: 'Columns',\n columnsLocked: 'always shown',\n columnsReset: 'Show all columns',\n columnsMoveUp: 'Move {name} up',\n columnsMoveDown: 'Move {name} down',\n columnsShown: '{shown} of {total} shown',\n columnsNone: 'There are no columns to choose from',\n viewsLabel: 'Saved views',\n viewsDefault: 'All items',\n viewsSave: 'Save current view',\n viewsManage: 'Manage views',\n viewsNone: 'There are no saved views',\n checklistProgress: '{done} of {total} complete',\n checklistOwner: 'Owner',\n checklistOverdue: 'Overdue',\n checklistDone: 'Done',\n checklistOpen: 'Open',\n checklistItemProgress: 'Progress of {title}',\n checklistNone: 'This checklist has no tasks',\n checklistDue: 'Due',\n activityEmpty: 'No activity yet',\n activityComment: 'Comment',\n activityChange: 'Change',\n activityStatus: 'Status',\n activitySystem: 'System',\n activityBy: 'by {actor}',\n avatarOverflow: '{count} more',\n avatarPeople: '{count} people',\n uploadDrop: 'Drop files here or',\n uploadLimits: 'Up to {limit} each',\n uploadAccepts: 'Accepts {types}',\n uploadSelected: 'Selected files',\n uploadQueued: 'Ready to upload',\n uploadSingle: 'Only one file can be uploaded at a time',\n uploadBrowse: 'Browse files',\n uploadRemove: 'Remove {name}',\n uploadTooLarge: '{name} is larger than {limit}',\n uploadWrongType: '{name} is not an accepted file type',\n uploadUploading: 'Uploading',\n uploadDone: 'Uploaded',\n uploadFailed: 'Upload failed',\n approvalPending: 'Pending',\n approvalCurrent: 'Awaiting decision',\n approvalApproved: 'Approved',\n approvalRejected: 'Rejected',\n approvalSkipped: 'Skipped',\n approvalChain: 'Approval chain',\n orgExpand: 'Expand {name}',\n orgCollapse: 'Collapse {name}',\n orgReports: '{count} reports',\n matrixAllowed: 'Allowed',\n matrixDenied: 'Not allowed',\n matrixGrant: 'Grant {permission} to {role}',\n matrixReadOnly: 'Read-only',\n} as const;\n\n/** The name of one of the foundation strings. */\nexport type FoundationStringName = keyof typeof foundationStrings;\n\n/** The text table a foundation component works with. */\nexport type FoundationStrings = Record<FoundationStringName, string>;\n\n/**\n * The foundation strings with the element's own `strings` property laid over them.\n *\n * Only string values of known names are taken, so a typo in an application's table falls back to the default text\n * rather than rendering nothing.\n */\nexport function readFoundationStrings(element: ExternalComponent): FoundationStrings {\n const supplied = element.properties.strings;\n const result: FoundationStrings = { ...foundationStrings };\n if (typeof supplied !== 'object' || supplied === null || Array.isArray(supplied)) return result;\n\n for (const [name, value] of Object.entries(supplied as Record<string, unknown>)) {\n if (name in foundationStrings && typeof value === 'string') result[name as FoundationStringName] = value;\n }\n\n return result;\n}\n\n/** Replaces each `{name}` in a string with the value of the same name, leaving an unknown placeholder visible rather than blank. */\nexport function formatText(text: string, values: Record<string, string | number> = {}): string {\n return text.replace(/\\{(\\w+)\\}/g, (placeholder, name: string) => (name in values ? String(values[name]) : placeholder));\n}\n"],"names":["foundationStrings","loading","emptyHeadline","emptyHint","errorHeadline","errorHint","retry","noPermissionHeadline","noPermissionHint","noPermissionSubject","partialHeadline","partialHint","disabledNoPermission","trendUp","trendDown","trendFlat","trendComparison","statusSuccess","statusWarning","statusDanger","statusInfo","statusNeutral","chartNoData","chartDataTable","chartSeries","chartCategory","filterAdd","filterAddGroup","filterRemove","filterRemoveGroup","filterMatchAll","filterMatchAny","filterField","filterOperator","filterValue","filterClear","filterCondition","filterGroup","filterNoFields","opContains","opEquals","opNotEquals","opStartsWith","opIsEmpty","opGreater","opGreaterOrEqual","opLess","opLessOrEqual","opBefore","opAfter","opOn","opIs","opIsNot","opTrue","opFalse","filterSummary","filterSummaryOne","columnsChoose","columnsLocked","columnsReset","columnsMoveUp","columnsMoveDown","columnsShown","columnsNone","viewsLabel","viewsDefault","viewsSave","viewsManage","viewsNone","checklistProgress","checklistOwner","checklistOverdue","checklistDone","checklistOpen","checklistItemProgress","checklistNone","checklistDue","activityEmpty","activityComment","activityChange","activityStatus","activitySystem","activityBy","avatarOverflow","avatarPeople","uploadDrop","uploadLimits","uploadAccepts","uploadSelected","uploadQueued","uploadSingle","uploadBrowse","uploadRemove","uploadTooLarge","uploadWrongType","uploadUploading","uploadDone","uploadFailed","approvalPending","approvalCurrent","approvalApproved","approvalRejected","approvalSkipped","approvalChain","orgExpand","orgCollapse","orgReports","matrixAllowed","matrixDenied","matrixGrant","matrixReadOnly","readFoundationStrings","element","supplied","properties","strings","result","Array","isArray","name","value","Object","entries","formatText","text","values","replace","placeholder","String"],"mappings":"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"}
|
|
@@ -18,6 +18,15 @@ export * from './columnModel';
|
|
|
18
18
|
export * from './ColumnChooser';
|
|
19
19
|
export * from './viewModel';
|
|
20
20
|
export * from './SavedViewsMenu';
|
|
21
|
+
export * from './checklistModel';
|
|
22
|
+
export * from './ChecklistSection';
|
|
23
|
+
export * from './activityModel';
|
|
24
|
+
export * from './ActivityFeed';
|
|
25
|
+
export * from './avatarModel';
|
|
26
|
+
export * from './AvatarStack';
|
|
27
|
+
export * from './uploadModel';
|
|
28
|
+
export * from './FileUploaderHandler';
|
|
29
|
+
export * from './FileUploader';
|
|
21
30
|
export * from './foundationDescriptors';
|
|
22
31
|
export * from './foundationComponentMetadata';
|
|
23
32
|
export * from './foundationSamples';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../foundation/index.ts"],"names":[],"mappings":"AAGA,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../foundation/index.ts"],"names":[],"mappings":"AAGA,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC"}
|
|
@@ -18,6 +18,15 @@ export * from './columnModel';
|
|
|
18
18
|
export * from './ColumnChooser';
|
|
19
19
|
export * from './viewModel';
|
|
20
20
|
export * from './SavedViewsMenu';
|
|
21
|
+
export * from './checklistModel';
|
|
22
|
+
export * from './ChecklistSection';
|
|
23
|
+
export * from './activityModel';
|
|
24
|
+
export * from './ActivityFeed';
|
|
25
|
+
export * from './avatarModel';
|
|
26
|
+
export * from './AvatarStack';
|
|
27
|
+
export * from './uploadModel';
|
|
28
|
+
export * from './FileUploaderHandler';
|
|
29
|
+
export * from './FileUploader';
|
|
21
30
|
export * from './foundationDescriptors';
|
|
22
31
|
export * from './foundationComponentMetadata';
|
|
23
32
|
export * from './foundationSamples';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../foundation/index.ts"],"names":[],"mappings":"AAGA,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../foundation/index.ts"],"names":[],"mappings":"AAGA,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export declare enum UploadStatus {
|
|
2
|
+
Queued = "queued",
|
|
3
|
+
Uploading = "uploading",
|
|
4
|
+
Done = "done",
|
|
5
|
+
Failed = "failed"
|
|
6
|
+
}
|
|
7
|
+
export interface UploadRules {
|
|
8
|
+
accept: string;
|
|
9
|
+
maximumBytes: number;
|
|
10
|
+
multiple: boolean;
|
|
11
|
+
}
|
|
12
|
+
export interface SelectedFile {
|
|
13
|
+
name: string;
|
|
14
|
+
size: number;
|
|
15
|
+
type: string;
|
|
16
|
+
}
|
|
17
|
+
export declare enum UploadRefusal {
|
|
18
|
+
WrongType = "wrongType",
|
|
19
|
+
TooLarge = "tooLarge",
|
|
20
|
+
Single = "single"
|
|
21
|
+
}
|
|
22
|
+
export declare function matchesAccept(file: SelectedFile, accept: string): boolean;
|
|
23
|
+
export declare function checkSelection<T extends SelectedFile>(files: T[], rules: UploadRules, alreadySelected?: number): {
|
|
24
|
+
accepted: T[];
|
|
25
|
+
refused: {
|
|
26
|
+
file: T;
|
|
27
|
+
reason: UploadRefusal;
|
|
28
|
+
}[];
|
|
29
|
+
};
|
|
30
|
+
export declare function formatBytes(bytes: number, locale: string): string;
|
|
31
|
+
//# sourceMappingURL=uploadModel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uploadModel.d.ts","sourceRoot":"","sources":["../../../foundation/uploadModel.ts"],"names":[],"mappings":"AAIA,oBAAY,YAAY;IACpB,MAAM,WAAW;IACjB,SAAS,cAAc;IACvB,IAAI,SAAS;IACb,MAAM,WAAW;CACpB;AAGD,MAAM,WAAW,WAAW;IAExB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;CACrB;AAGD,MAAM,WAAW,YAAY;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CAChB;AAGD,oBAAY,aAAa;IACrB,SAAS,cAAc;IACvB,QAAQ,aAAa;IACrB,MAAM,WAAW;CACpB;AAGD,wBAAgB,aAAa,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAOzE;AAGD,wBAAgB,cAAc,CAAC,CAAC,SAAS,YAAY,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,eAAe,SAAI,GAAG;IAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IAAC,OAAO,EAAE;QAAE,IAAI,EAAE,CAAC,CAAC;QAAC,MAAM,EAAE,aAAa,CAAA;KAAE,EAAE,CAAA;CAAE,CAY5K;AAGD,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAMjE"}
|