@cratis/scene.model 4.20.0 → 4.22.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/contributionPoints/NavigationItem.ts +7 -1
- package/descriptors/CollectionItemDescriptor.ts +8 -1
- package/descriptors/PropertyEditorKind.ts +28 -0
- package/descriptors/index.ts +1 -0
- package/dist/cjs/contributionPoints/NavigationItem.js +2 -1
- package/dist/cjs/contributionPoints/NavigationItem.js.map +1 -1
- package/dist/cjs/descriptors/CollectionItemDescriptor.js +2 -1
- package/dist/cjs/descriptors/CollectionItemDescriptor.js.map +1 -1
- package/dist/cjs/descriptors/PropertyEditorKind.js +20 -0
- package/dist/cjs/descriptors/PropertyEditorKind.js.map +1 -0
- package/dist/cjs/index.js +2 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/screens/Screen.js +2 -1
- package/dist/cjs/screens/Screen.js.map +1 -1
- package/dist/esm/contributionPoints/NavigationItem.d.ts +1 -0
- package/dist/esm/contributionPoints/NavigationItem.d.ts.map +1 -1
- package/dist/esm/contributionPoints/NavigationItem.js +2 -1
- package/dist/esm/contributionPoints/NavigationItem.js.map +1 -1
- package/dist/esm/descriptors/CollectionItemDescriptor.d.ts +1 -0
- package/dist/esm/descriptors/CollectionItemDescriptor.d.ts.map +1 -1
- package/dist/esm/descriptors/CollectionItemDescriptor.js +2 -1
- package/dist/esm/descriptors/CollectionItemDescriptor.js.map +1 -1
- package/dist/esm/descriptors/PropertyEditorKind.d.ts +9 -0
- package/dist/esm/descriptors/PropertyEditorKind.d.ts.map +1 -0
- package/dist/esm/descriptors/PropertyEditorKind.js +18 -0
- package/dist/esm/descriptors/PropertyEditorKind.js.map +1 -0
- package/dist/esm/descriptors/index.d.ts +1 -0
- package/dist/esm/descriptors/index.d.ts.map +1 -1
- package/dist/esm/descriptors/index.js +1 -0
- package/dist/esm/descriptors/index.js.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/screens/Screen.d.ts +1 -0
- package/dist/esm/screens/Screen.d.ts.map +1 -1
- package/dist/esm/screens/Screen.js +2 -1
- package/dist/esm/screens/Screen.js.map +1 -1
- package/dist/esm/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/screens/Screen.ts +9 -1
|
@@ -31,8 +31,14 @@ export interface NavigationItem {
|
|
|
31
31
|
|
|
32
32
|
order?: number;
|
|
33
33
|
group?: string;
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* The modules and features, outermost first, the item was declared in. A host lays navigation out as that
|
|
37
|
+
* hierarchy - a group per module and per feature - instead of one flat list.
|
|
38
|
+
*/
|
|
39
|
+
hierarchy?: string[];
|
|
34
40
|
}
|
|
35
41
|
|
|
36
42
|
export const NavigationItemPropertyNames: (keyof NavigationItem)[] = [
|
|
37
|
-
'id', 'label', 'icon', 'presentation', 'targetScreen', 'routeParameterBindings', 'destination', 'order', 'group',
|
|
43
|
+
'id', 'label', 'icon', 'presentation', 'targetScreen', 'routeParameterBindings', 'destination', 'order', 'group', 'hierarchy',
|
|
38
44
|
];
|
|
@@ -21,6 +21,13 @@ export interface CollectionItemDescriptor {
|
|
|
21
21
|
* field the descriptor does not describe is refused.
|
|
22
22
|
*/
|
|
23
23
|
open?: boolean;
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* The items are plain records that carry no `id`: they are the authored data of a control - a chart's datasets, a tree's nodes -
|
|
27
|
+
* and are told apart by their position, as they are wherever else that data is written. Without it every item needs a unique
|
|
28
|
+
* `id` of its own. An item that has an `id` keeps it.
|
|
29
|
+
*/
|
|
30
|
+
positional?: boolean;
|
|
24
31
|
}
|
|
25
32
|
|
|
26
|
-
export const CollectionItemDescriptorPropertyNames: (keyof CollectionItemDescriptor)[] = ['label', 'properties', 'open'];
|
|
33
|
+
export const CollectionItemDescriptorPropertyNames: (keyof CollectionItemDescriptor)[] = ['label', 'properties', 'open', 'positional'];
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
2
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* The editor kinds for values that have no fields to describe, so a host can edit them without asking for JSON text.
|
|
6
|
+
*
|
|
7
|
+
* A list of plain values is a `json` property - Scene keeps the array exactly as authored - whose `editorKind` says what
|
|
8
|
+
* its entries are. A record whose keys are the author's own (a row of data, keyed by column) is an `object` property
|
|
9
|
+
* with no `properties` and the `stringMap` kind. A host that does not know a kind falls back to its default editor.
|
|
10
|
+
*/
|
|
11
|
+
export const PropertyEditorKind = {
|
|
12
|
+
/** An ordered list of words. */
|
|
13
|
+
StringList: 'stringList',
|
|
14
|
+
|
|
15
|
+
/** An ordered list of numbers. */
|
|
16
|
+
NumberList: 'numberList',
|
|
17
|
+
|
|
18
|
+
/** One word, or an ordered list of words: a chart colour is one colour for the series or one for each point. */
|
|
19
|
+
StringOrList: 'stringOrList',
|
|
20
|
+
|
|
21
|
+
/** One word, number or flag - a value whose type the author chooses, such as the selected value of a control whose options carry any of them. */
|
|
22
|
+
Scalar: 'scalar',
|
|
23
|
+
|
|
24
|
+
/** A record of words, numbers and flags under names the author chooses. */
|
|
25
|
+
StringMap: 'stringMap',
|
|
26
|
+
} as const;
|
|
27
|
+
|
|
28
|
+
export type PropertyEditorKind = (typeof PropertyEditorKind)[keyof typeof PropertyEditorKind];
|
package/descriptors/index.ts
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
3
|
|
|
4
4
|
export * from './PropertyValueType';
|
|
5
|
+
export * from './PropertyEditorKind';
|
|
5
6
|
export * from './PropertyChoice';
|
|
6
7
|
export * from './PropertyConstraints';
|
|
7
8
|
export * from './CollectionItemDescriptor';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NavigationItem.js","sources":["../../../contributionPoints/NavigationItem.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 { BindingExpression, DestinationReference } from '../common';\n\n/**\n * A contribution to the built-in `Navigation` contribution point. How `navigate to <Screen>` becomes a\n * concrete route (URL path, query string, or native deep link) is owned by the renderer's NavBar widget,\n * not this record — this only carries the declared shape.\n */\nexport interface NavigationItem {\n /** Stable identity for this contribution, independent of the label. */\n id?: string;\n\n label: string;\n\n /** Qualified icon reference (`library:name`) for toolbar/navigation chrome. */\n icon?: string;\n\n /** Whether chrome shows icon, text, or both. */\n presentation?: string;\n\n /** Legacy screen target; prefer `destination` for new content. */\n targetScreen: string;\n\n /** Legacy parameter bindings; prefer `destination.routeParameterBindings` for new content. */\n routeParameterBindings: Record<string, BindingExpression>;\n\n /** The typed destination this item activates. */\n destination?: DestinationReference;\n\n order?: number;\n group?: string;\n}\n\nexport const NavigationItemPropertyNames: (keyof NavigationItem)[] = [\n 'id', 'label', 'icon', 'presentation', 'targetScreen', 'routeParameterBindings', 'destination', 'order', 'group',\n];\n"],"names":["NavigationItemPropertyNames"],"mappings":";;AAAA;AACA;
|
|
1
|
+
{"version":3,"file":"NavigationItem.js","sources":["../../../contributionPoints/NavigationItem.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 { BindingExpression, DestinationReference } from '../common';\n\n/**\n * A contribution to the built-in `Navigation` contribution point. How `navigate to <Screen>` becomes a\n * concrete route (URL path, query string, or native deep link) is owned by the renderer's NavBar widget,\n * not this record — this only carries the declared shape.\n */\nexport interface NavigationItem {\n /** Stable identity for this contribution, independent of the label. */\n id?: string;\n\n label: string;\n\n /** Qualified icon reference (`library:name`) for toolbar/navigation chrome. */\n icon?: string;\n\n /** Whether chrome shows icon, text, or both. */\n presentation?: string;\n\n /** Legacy screen target; prefer `destination` for new content. */\n targetScreen: string;\n\n /** Legacy parameter bindings; prefer `destination.routeParameterBindings` for new content. */\n routeParameterBindings: Record<string, BindingExpression>;\n\n /** The typed destination this item activates. */\n destination?: DestinationReference;\n\n order?: number;\n group?: string;\n\n /**\n * The modules and features, outermost first, the item was declared in. A host lays navigation out as that\n * hierarchy - a group per module and per feature - instead of one flat list.\n */\n hierarchy?: string[];\n}\n\nexport const NavigationItemPropertyNames: (keyof NavigationItem)[] = [\n 'id', 'label', 'icon', 'presentation', 'targetScreen', 'routeParameterBindings', 'destination', 'order', 'group', 'hierarchy',\n];\n"],"names":["NavigationItemPropertyNames"],"mappings":";;AAAA;AACA;MAwCaA,2BAAAA,GAAwD;AACjE,IAAA,IAAA;AAAM,IAAA,OAAA;AAAS,IAAA,MAAA;AAAQ,IAAA,cAAA;AAAgB,IAAA,cAAA;AAAgB,IAAA,wBAAA;AAA0B,IAAA,aAAA;AAAe,IAAA,OAAA;AAAS,IAAA,OAAA;AAAS,IAAA;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CollectionItemDescriptor.js","sources":["../../../descriptors/CollectionItemDescriptor.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 type { PropertyDescriptor } from './PropertyDescriptor';\n\n/**\n * Describes the items of a `Collection` property.\n *\n * An item is a record with a stable `id` (assigned by whoever creates it, never an array index) plus the fields\n * `properties` describes. Field paths are relative to the item and are single names.\n */\nexport interface CollectionItemDescriptor {\n /** What one item is called, for a host's \"add ...\" affordance. */\n label?: string;\n\n /** The fields of one item. */\n properties: PropertyDescriptor[];\n\n /**\n * An item may carry fields `properties` does not describe. They are kept as they are and never edited. Without it a\n * field the descriptor does not describe is refused.\n */\n open?: boolean;\n}\n\nexport const CollectionItemDescriptorPropertyNames: (keyof CollectionItemDescriptor)[] = ['label', 'properties', 'open'];\n"],"names":["CollectionItemDescriptorPropertyNames"],"mappings":";;AAAA;AACA;
|
|
1
|
+
{"version":3,"file":"CollectionItemDescriptor.js","sources":["../../../descriptors/CollectionItemDescriptor.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 type { PropertyDescriptor } from './PropertyDescriptor';\n\n/**\n * Describes the items of a `Collection` property.\n *\n * An item is a record with a stable `id` (assigned by whoever creates it, never an array index) plus the fields\n * `properties` describes. Field paths are relative to the item and are single names.\n */\nexport interface CollectionItemDescriptor {\n /** What one item is called, for a host's \"add ...\" affordance. */\n label?: string;\n\n /** The fields of one item. */\n properties: PropertyDescriptor[];\n\n /**\n * An item may carry fields `properties` does not describe. They are kept as they are and never edited. Without it a\n * field the descriptor does not describe is refused.\n */\n open?: boolean;\n\n /**\n * The items are plain records that carry no `id`: they are the authored data of a control - a chart's datasets, a tree's nodes -\n * and are told apart by their position, as they are wherever else that data is written. Without it every item needs a unique\n * `id` of its own. An item that has an `id` keeps it.\n */\n positional?: boolean;\n}\n\nexport const CollectionItemDescriptorPropertyNames: (keyof CollectionItemDescriptor)[] = ['label', 'properties', 'open', 'positional'];\n"],"names":["CollectionItemDescriptorPropertyNames"],"mappings":";;AAAA;AACA;MA+BaA,qCAAAA,GAA4E;AAAC,IAAA,OAAA;AAAS,IAAA,YAAA;AAAc,IAAA,MAAA;AAAQ,IAAA;;;"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
4
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
5
|
+
/**
|
|
6
|
+
* The editor kinds for values that have no fields to describe, so a host can edit them without asking for JSON text.
|
|
7
|
+
*
|
|
8
|
+
* A list of plain values is a `json` property - Scene keeps the array exactly as authored - whose `editorKind` says what
|
|
9
|
+
* its entries are. A record whose keys are the author's own (a row of data, keyed by column) is an `object` property
|
|
10
|
+
* with no `properties` and the `stringMap` kind. A host that does not know a kind falls back to its default editor.
|
|
11
|
+
*/ const PropertyEditorKind = {
|
|
12
|
+
/** An ordered list of words. */ StringList: 'stringList',
|
|
13
|
+
/** An ordered list of numbers. */ NumberList: 'numberList',
|
|
14
|
+
/** One word, or an ordered list of words: a chart colour is one colour for the series or one for each point. */ StringOrList: 'stringOrList',
|
|
15
|
+
/** One word, number or flag - a value whose type the author chooses, such as the selected value of a control whose options carry any of them. */ Scalar: 'scalar',
|
|
16
|
+
/** A record of words, numbers and flags under names the author chooses. */ StringMap: 'stringMap'
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
exports.PropertyEditorKind = PropertyEditorKind;
|
|
20
|
+
//# sourceMappingURL=PropertyEditorKind.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PropertyEditorKind.js","sources":["../../../descriptors/PropertyEditorKind.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\n/**\n * The editor kinds for values that have no fields to describe, so a host can edit them without asking for JSON text.\n *\n * A list of plain values is a `json` property - Scene keeps the array exactly as authored - whose `editorKind` says what\n * its entries are. A record whose keys are the author's own (a row of data, keyed by column) is an `object` property\n * with no `properties` and the `stringMap` kind. A host that does not know a kind falls back to its default editor.\n */\nexport const PropertyEditorKind = {\n /** An ordered list of words. */\n StringList: 'stringList',\n\n /** An ordered list of numbers. */\n NumberList: 'numberList',\n\n /** One word, or an ordered list of words: a chart colour is one colour for the series or one for each point. */\n StringOrList: 'stringOrList',\n\n /** One word, number or flag - a value whose type the author chooses, such as the selected value of a control whose options carry any of them. */\n Scalar: 'scalar',\n\n /** A record of words, numbers and flags under names the author chooses. */\n StringMap: 'stringMap',\n} as const;\n\nexport type PropertyEditorKind = (typeof PropertyEditorKind)[keyof typeof PropertyEditorKind];\n"],"names":["PropertyEditorKind","StringList","NumberList","StringOrList","Scalar","StringMap"],"mappings":";;AAAA;AACA;AAEA;;;;;;UAOaA,kBAAAA,GAAqB;AAC9B,qCACAC,UAAAA,EAAY,YAAA;AAEZ,uCACAC,UAAAA,EAAY,YAAA;AAEZ,qHACAC,YAAAA,EAAc,cAAA;AAEd,sJACAC,MAAAA,EAAQ,QAAA;AAER,gFACAC,SAAAA,EAAW;AACf;;"}
|
package/dist/cjs/index.js
CHANGED
|
@@ -115,6 +115,7 @@ var QueryArgumentBinding = require('./queries/QueryArgumentBinding.js');
|
|
|
115
115
|
var QueryResultBinding = require('./queries/QueryResultBinding.js');
|
|
116
116
|
var QueryBinding = require('./queries/QueryBinding.js');
|
|
117
117
|
var PropertyValueType = require('./descriptors/PropertyValueType.js');
|
|
118
|
+
var PropertyEditorKind = require('./descriptors/PropertyEditorKind.js');
|
|
118
119
|
var PropertyChoice = require('./descriptors/PropertyChoice.js');
|
|
119
120
|
var PropertyConstraints = require('./descriptors/PropertyConstraints.js');
|
|
120
121
|
var CollectionItemDescriptor = require('./descriptors/CollectionItemDescriptor.js');
|
|
@@ -287,6 +288,7 @@ exports.QueryArgumentBindingPropertyNames = QueryArgumentBinding.QueryArgumentBi
|
|
|
287
288
|
exports.QueryResultBindingPropertyNames = QueryResultBinding.QueryResultBindingPropertyNames;
|
|
288
289
|
exports.QueryBindingPropertyNames = QueryBinding.QueryBindingPropertyNames;
|
|
289
290
|
exports.PropertyValueType = PropertyValueType.PropertyValueType;
|
|
291
|
+
exports.PropertyEditorKind = PropertyEditorKind.PropertyEditorKind;
|
|
290
292
|
exports.PropertyChoicePropertyNames = PropertyChoice.PropertyChoicePropertyNames;
|
|
291
293
|
exports.PropertyConstraintsPropertyNames = PropertyConstraints.PropertyConstraintsPropertyNames;
|
|
292
294
|
exports.CollectionItemDescriptorPropertyNames = CollectionItemDescriptor.CollectionItemDescriptorPropertyNames;
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Screen.js","sources":["../../../screens/Screen.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { SceneElement } from '../elements';\nimport { Form } from '../forms';\nimport { Contribution } from '../contributionPoints';\nimport { Behavior } from '../interactions';\n\n/**\n * A named screen: the structure it fills, the content that fills it, the forms it hosts, and whatever it\n * contributes to contribution points elsewhere in the tree.\n *\n * A screen is an instance, not a shape. The shape comes from either the application's {@link Layout} — for\n * a screen that sits directly in the application shell — or a {@link ScreenTemplate}, for one nested\n * inside a module, feature or slice. Both declare slots; a screen only ever fills them.\n */\nexport interface Screen {\n /**\n * The screen's name.\n */\n name: string;\n\n /**\n * The resolved name of the application {@link Layout} this screen ultimately renders inside.\n */\n layout: string;\n\n /**\n * The content filling each slot, keyed by slot name.\n */\n slotContent: Record<string, SceneElement[]>;\n\n /**\n * The forms this screen hosts.\n */\n forms: Form[];\n\n /**\n * What this screen contributes to contribution points elsewhere in the tree.\n */\n contributions: Contribution[];\n\n /**\n * The resolved name of the {@link ScreenTemplate} this screen fills, or undefined when it fills the\n * `layout`'s own slots directly. The template's `fitsSlot` is what decides where it lands, so a screen\n * never has to state its own position.\n */\n screenTemplate?: string;\n /**\n * The behaviors attached here - what happens when someone interacts with it. Additive with whatever is\n * attached further out or further in.\n */\n behaviors?: Behavior[];\n}\n\nexport const ScreenPropertyNames: (keyof Screen)[] = ['name', 'layout', 'slotContent', 'forms', 'contributions', 'screenTemplate', 'behaviors'];\n"],"names":["ScreenPropertyNames"],"mappings":";;AAAA;AACA;
|
|
1
|
+
{"version":3,"file":"Screen.js","sources":["../../../screens/Screen.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { SceneElement } from '../elements';\nimport { Form } from '../forms';\nimport { Contribution } from '../contributionPoints';\nimport { Behavior } from '../interactions';\n\n/**\n * A named screen: the structure it fills, the content that fills it, the forms it hosts, and whatever it\n * contributes to contribution points elsewhere in the tree.\n *\n * A screen is an instance, not a shape. The shape comes from either the application's {@link Layout} — for\n * a screen that sits directly in the application shell — or a {@link ScreenTemplate}, for one nested\n * inside a module, feature or slice. Both declare slots; a screen only ever fills them.\n */\nexport interface Screen {\n /**\n * The screen's name.\n */\n name: string;\n\n /**\n * The resolved name of the application {@link Layout} this screen ultimately renders inside.\n */\n layout: string;\n\n /**\n * The content filling each slot, keyed by slot name.\n */\n slotContent: Record<string, SceneElement[]>;\n\n /**\n * The forms this screen hosts.\n */\n forms: Form[];\n\n /**\n * What this screen contributes to contribution points elsewhere in the tree.\n */\n contributions: Contribution[];\n\n /**\n * The resolved name of the {@link ScreenTemplate} this screen fills, or undefined when it fills the\n * `layout`'s own slots directly. The template's `fitsSlot` is what decides where it lands, so a screen\n * never has to state its own position.\n */\n screenTemplate?: string;\n /**\n * The behaviors attached here - what happens when someone interacts with it. Additive with whatever is\n * attached further out or further in.\n */\n behaviors?: Behavior[];\n\n /**\n * The modules and features, outermost first, the screen was declared in - its place in the application\n * hierarchy. It is what a destination's `module`/`feature` identity resolves against, and what a host\n * groups an unlisted screen under, so the hierarchy no longer has to be reconstructed from the\n * contributions that happen to list it. Absent or empty for a screen that sits outside any module.\n */\n path?: string[];\n}\n\nexport const ScreenPropertyNames: (keyof Screen)[] = ['name', 'layout', 'slotContent', 'forms', 'contributions', 'screenTemplate', 'behaviors', 'path'];\n"],"names":["ScreenPropertyNames"],"mappings":";;AAAA;AACA;MA8DaA,mBAAAA,GAAwC;AAAC,IAAA,MAAA;AAAQ,IAAA,QAAA;AAAU,IAAA,aAAA;AAAe,IAAA,OAAA;AAAS,IAAA,eAAA;AAAiB,IAAA,gBAAA;AAAkB,IAAA,WAAA;AAAa,IAAA;;;"}
|
|
@@ -9,6 +9,7 @@ export interface NavigationItem {
|
|
|
9
9
|
destination?: DestinationReference;
|
|
10
10
|
order?: number;
|
|
11
11
|
group?: string;
|
|
12
|
+
hierarchy?: string[];
|
|
12
13
|
}
|
|
13
14
|
export declare const NavigationItemPropertyNames: (keyof NavigationItem)[];
|
|
14
15
|
//# sourceMappingURL=NavigationItem.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NavigationItem.d.ts","sourceRoot":"","sources":["../../../contributionPoints/NavigationItem.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAOpE,MAAM,WAAW,cAAc;IAE3B,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,KAAK,EAAE,MAAM,CAAC;IAGd,IAAI,CAAC,EAAE,MAAM,CAAC;IAGd,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,YAAY,EAAE,MAAM,CAAC;IAGrB,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAG1D,WAAW,CAAC,EAAE,oBAAoB,CAAC;IAEnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"NavigationItem.d.ts","sourceRoot":"","sources":["../../../contributionPoints/NavigationItem.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAOpE,MAAM,WAAW,cAAc;IAE3B,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,KAAK,EAAE,MAAM,CAAC;IAGd,IAAI,CAAC,EAAE,MAAM,CAAC;IAGd,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,YAAY,EAAE,MAAM,CAAC;IAGrB,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAG1D,WAAW,CAAC,EAAE,oBAAoB,CAAC;IAEnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IAMf,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,eAAO,MAAM,2BAA2B,EAAE,CAAC,MAAM,cAAc,CAAC,EAE/D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NavigationItem.js","sources":["../../../contributionPoints/NavigationItem.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 { BindingExpression, DestinationReference } from '../common';\n\n/**\n * A contribution to the built-in `Navigation` contribution point. How `navigate to <Screen>` becomes a\n * concrete route (URL path, query string, or native deep link) is owned by the renderer's NavBar widget,\n * not this record — this only carries the declared shape.\n */\nexport interface NavigationItem {\n /** Stable identity for this contribution, independent of the label. */\n id?: string;\n\n label: string;\n\n /** Qualified icon reference (`library:name`) for toolbar/navigation chrome. */\n icon?: string;\n\n /** Whether chrome shows icon, text, or both. */\n presentation?: string;\n\n /** Legacy screen target; prefer `destination` for new content. */\n targetScreen: string;\n\n /** Legacy parameter bindings; prefer `destination.routeParameterBindings` for new content. */\n routeParameterBindings: Record<string, BindingExpression>;\n\n /** The typed destination this item activates. */\n destination?: DestinationReference;\n\n order?: number;\n group?: string;\n}\n\nexport const NavigationItemPropertyNames: (keyof NavigationItem)[] = [\n 'id', 'label', 'icon', 'presentation', 'targetScreen', 'routeParameterBindings', 'destination', 'order', 'group',\n];\n"],"names":["NavigationItemPropertyNames"],"mappings":"AAAA;AACA;
|
|
1
|
+
{"version":3,"file":"NavigationItem.js","sources":["../../../contributionPoints/NavigationItem.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 { BindingExpression, DestinationReference } from '../common';\n\n/**\n * A contribution to the built-in `Navigation` contribution point. How `navigate to <Screen>` becomes a\n * concrete route (URL path, query string, or native deep link) is owned by the renderer's NavBar widget,\n * not this record — this only carries the declared shape.\n */\nexport interface NavigationItem {\n /** Stable identity for this contribution, independent of the label. */\n id?: string;\n\n label: string;\n\n /** Qualified icon reference (`library:name`) for toolbar/navigation chrome. */\n icon?: string;\n\n /** Whether chrome shows icon, text, or both. */\n presentation?: string;\n\n /** Legacy screen target; prefer `destination` for new content. */\n targetScreen: string;\n\n /** Legacy parameter bindings; prefer `destination.routeParameterBindings` for new content. */\n routeParameterBindings: Record<string, BindingExpression>;\n\n /** The typed destination this item activates. */\n destination?: DestinationReference;\n\n order?: number;\n group?: string;\n\n /**\n * The modules and features, outermost first, the item was declared in. A host lays navigation out as that\n * hierarchy - a group per module and per feature - instead of one flat list.\n */\n hierarchy?: string[];\n}\n\nexport const NavigationItemPropertyNames: (keyof NavigationItem)[] = [\n 'id', 'label', 'icon', 'presentation', 'targetScreen', 'routeParameterBindings', 'destination', 'order', 'group', 'hierarchy',\n];\n"],"names":["NavigationItemPropertyNames"],"mappings":"AAAA;AACA;MAwCaA,2BAAAA,GAAwD;AACjE,IAAA,IAAA;AAAM,IAAA,OAAA;AAAS,IAAA,MAAA;AAAQ,IAAA,cAAA;AAAgB,IAAA,cAAA;AAAgB,IAAA,wBAAA;AAA0B,IAAA,aAAA;AAAe,IAAA,OAAA;AAAS,IAAA,OAAA;AAAS,IAAA;;;"}
|
|
@@ -3,6 +3,7 @@ export interface CollectionItemDescriptor {
|
|
|
3
3
|
label?: string;
|
|
4
4
|
properties: PropertyDescriptor[];
|
|
5
5
|
open?: boolean;
|
|
6
|
+
positional?: boolean;
|
|
6
7
|
}
|
|
7
8
|
export declare const CollectionItemDescriptorPropertyNames: (keyof CollectionItemDescriptor)[];
|
|
8
9
|
//# sourceMappingURL=CollectionItemDescriptor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CollectionItemDescriptor.d.ts","sourceRoot":"","sources":["../../../descriptors/CollectionItemDescriptor.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAQ/D,MAAM,WAAW,wBAAwB;IAErC,KAAK,CAAC,EAAE,MAAM,CAAC;IAGf,UAAU,EAAE,kBAAkB,EAAE,CAAC;IAMjC,IAAI,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"CollectionItemDescriptor.d.ts","sourceRoot":"","sources":["../../../descriptors/CollectionItemDescriptor.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAQ/D,MAAM,WAAW,wBAAwB;IAErC,KAAK,CAAC,EAAE,MAAM,CAAC;IAGf,UAAU,EAAE,kBAAkB,EAAE,CAAC;IAMjC,IAAI,CAAC,EAAE,OAAO,CAAC;IAOf,UAAU,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,eAAO,MAAM,qCAAqC,EAAE,CAAC,MAAM,wBAAwB,CAAC,EAAkD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CollectionItemDescriptor.js","sources":["../../../descriptors/CollectionItemDescriptor.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 type { PropertyDescriptor } from './PropertyDescriptor';\n\n/**\n * Describes the items of a `Collection` property.\n *\n * An item is a record with a stable `id` (assigned by whoever creates it, never an array index) plus the fields\n * `properties` describes. Field paths are relative to the item and are single names.\n */\nexport interface CollectionItemDescriptor {\n /** What one item is called, for a host's \"add ...\" affordance. */\n label?: string;\n\n /** The fields of one item. */\n properties: PropertyDescriptor[];\n\n /**\n * An item may carry fields `properties` does not describe. They are kept as they are and never edited. Without it a\n * field the descriptor does not describe is refused.\n */\n open?: boolean;\n}\n\nexport const CollectionItemDescriptorPropertyNames: (keyof CollectionItemDescriptor)[] = ['label', 'properties', 'open'];\n"],"names":["CollectionItemDescriptorPropertyNames"],"mappings":"AAAA;AACA;
|
|
1
|
+
{"version":3,"file":"CollectionItemDescriptor.js","sources":["../../../descriptors/CollectionItemDescriptor.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 type { PropertyDescriptor } from './PropertyDescriptor';\n\n/**\n * Describes the items of a `Collection` property.\n *\n * An item is a record with a stable `id` (assigned by whoever creates it, never an array index) plus the fields\n * `properties` describes. Field paths are relative to the item and are single names.\n */\nexport interface CollectionItemDescriptor {\n /** What one item is called, for a host's \"add ...\" affordance. */\n label?: string;\n\n /** The fields of one item. */\n properties: PropertyDescriptor[];\n\n /**\n * An item may carry fields `properties` does not describe. They are kept as they are and never edited. Without it a\n * field the descriptor does not describe is refused.\n */\n open?: boolean;\n\n /**\n * The items are plain records that carry no `id`: they are the authored data of a control - a chart's datasets, a tree's nodes -\n * and are told apart by their position, as they are wherever else that data is written. Without it every item needs a unique\n * `id` of its own. An item that has an `id` keeps it.\n */\n positional?: boolean;\n}\n\nexport const CollectionItemDescriptorPropertyNames: (keyof CollectionItemDescriptor)[] = ['label', 'properties', 'open', 'positional'];\n"],"names":["CollectionItemDescriptorPropertyNames"],"mappings":"AAAA;AACA;MA+BaA,qCAAAA,GAA4E;AAAC,IAAA,OAAA;AAAS,IAAA,YAAA;AAAc,IAAA,MAAA;AAAQ,IAAA;;;"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare const PropertyEditorKind: {
|
|
2
|
+
readonly StringList: 'stringList';
|
|
3
|
+
readonly NumberList: 'numberList';
|
|
4
|
+
readonly StringOrList: 'stringOrList';
|
|
5
|
+
readonly Scalar: 'scalar';
|
|
6
|
+
readonly StringMap: 'stringMap';
|
|
7
|
+
};
|
|
8
|
+
export type PropertyEditorKind = (typeof PropertyEditorKind)[keyof typeof PropertyEditorKind];
|
|
9
|
+
//# sourceMappingURL=PropertyEditorKind.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PropertyEditorKind.d.ts","sourceRoot":"","sources":["../../../descriptors/PropertyEditorKind.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,kBAAkB;aAE3B,UAAU,EAAE,YAAY;aAGxB,UAAU,EAAE,YAAY;aAGxB,YAAY,EAAE,cAAc;aAG5B,MAAM,EAAE,QAAQ;aAGhB,SAAS,EAAE,WAAW;CAChB,CAAC;AAEX,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,OAAO,kBAAkB,CAAC,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
2
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
+
/**
|
|
4
|
+
* The editor kinds for values that have no fields to describe, so a host can edit them without asking for JSON text.
|
|
5
|
+
*
|
|
6
|
+
* A list of plain values is a `json` property - Scene keeps the array exactly as authored - whose `editorKind` says what
|
|
7
|
+
* its entries are. A record whose keys are the author's own (a row of data, keyed by column) is an `object` property
|
|
8
|
+
* with no `properties` and the `stringMap` kind. A host that does not know a kind falls back to its default editor.
|
|
9
|
+
*/ const PropertyEditorKind = {
|
|
10
|
+
/** An ordered list of words. */ StringList: 'stringList',
|
|
11
|
+
/** An ordered list of numbers. */ NumberList: 'numberList',
|
|
12
|
+
/** One word, or an ordered list of words: a chart colour is one colour for the series or one for each point. */ StringOrList: 'stringOrList',
|
|
13
|
+
/** One word, number or flag - a value whose type the author chooses, such as the selected value of a control whose options carry any of them. */ Scalar: 'scalar',
|
|
14
|
+
/** A record of words, numbers and flags under names the author chooses. */ StringMap: 'stringMap'
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
export { PropertyEditorKind };
|
|
18
|
+
//# sourceMappingURL=PropertyEditorKind.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PropertyEditorKind.js","sources":["../../../descriptors/PropertyEditorKind.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\n/**\n * The editor kinds for values that have no fields to describe, so a host can edit them without asking for JSON text.\n *\n * A list of plain values is a `json` property - Scene keeps the array exactly as authored - whose `editorKind` says what\n * its entries are. A record whose keys are the author's own (a row of data, keyed by column) is an `object` property\n * with no `properties` and the `stringMap` kind. A host that does not know a kind falls back to its default editor.\n */\nexport const PropertyEditorKind = {\n /** An ordered list of words. */\n StringList: 'stringList',\n\n /** An ordered list of numbers. */\n NumberList: 'numberList',\n\n /** One word, or an ordered list of words: a chart colour is one colour for the series or one for each point. */\n StringOrList: 'stringOrList',\n\n /** One word, number or flag - a value whose type the author chooses, such as the selected value of a control whose options carry any of them. */\n Scalar: 'scalar',\n\n /** A record of words, numbers and flags under names the author chooses. */\n StringMap: 'stringMap',\n} as const;\n\nexport type PropertyEditorKind = (typeof PropertyEditorKind)[keyof typeof PropertyEditorKind];\n"],"names":["PropertyEditorKind","StringList","NumberList","StringOrList","Scalar","StringMap"],"mappings":"AAAA;AACA;AAEA;;;;;;UAOaA,kBAAAA,GAAqB;AAC9B,qCACAC,UAAAA,EAAY,YAAA;AAEZ,uCACAC,UAAAA,EAAY,YAAA;AAEZ,qHACAC,YAAAA,EAAc,cAAA;AAEd,sJACAC,MAAAA,EAAQ,QAAA;AAER,gFACAC,SAAAA,EAAW;AACf;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../descriptors/index.ts"],"names":[],"mappings":"AAGA,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,cAAc,CAAC;AAC7B,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../descriptors/index.ts"],"names":[],"mappings":"AAGA,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,cAAc,CAAC;AAC7B,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../descriptors/index.ts"],"names":[],"mappings":"AAGA,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,cAAc,CAAC;AAC7B,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../descriptors/index.ts"],"names":[],"mappings":"AAGA,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,cAAc,CAAC;AAC7B,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC"}
|
package/dist/esm/index.js
CHANGED
|
@@ -113,6 +113,7 @@ export { QueryArgumentBindingPropertyNames } from './queries/QueryArgumentBindin
|
|
|
113
113
|
export { QueryResultBindingPropertyNames } from './queries/QueryResultBinding.js';
|
|
114
114
|
export { QueryBindingPropertyNames } from './queries/QueryBinding.js';
|
|
115
115
|
export { PropertyValueType } from './descriptors/PropertyValueType.js';
|
|
116
|
+
export { PropertyEditorKind } from './descriptors/PropertyEditorKind.js';
|
|
116
117
|
export { PropertyChoicePropertyNames } from './descriptors/PropertyChoice.js';
|
|
117
118
|
export { PropertyConstraintsPropertyNames } from './descriptors/PropertyConstraints.js';
|
|
118
119
|
export { CollectionItemDescriptorPropertyNames } from './descriptors/CollectionItemDescriptor.js';
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Screen.d.ts","sourceRoot":"","sources":["../../../screens/Screen.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAU3C,MAAM,WAAW,MAAM;IAInB,IAAI,EAAE,MAAM,CAAC;IAKb,MAAM,EAAE,MAAM,CAAC;IAKf,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;IAK5C,KAAK,EAAE,IAAI,EAAE,CAAC;IAKd,aAAa,EAAE,YAAY,EAAE,CAAC;IAO9B,cAAc,CAAC,EAAE,MAAM,CAAC;IAKxB,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"Screen.d.ts","sourceRoot":"","sources":["../../../screens/Screen.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAU3C,MAAM,WAAW,MAAM;IAInB,IAAI,EAAE,MAAM,CAAC;IAKb,MAAM,EAAE,MAAM,CAAC;IAKf,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;IAK5C,KAAK,EAAE,IAAI,EAAE,CAAC;IAKd,aAAa,EAAE,YAAY,EAAE,CAAC;IAO9B,cAAc,CAAC,EAAE,MAAM,CAAC;IAKxB,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IAQvB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,eAAO,MAAM,mBAAmB,EAAE,CAAC,MAAM,MAAM,CAAC,EAAuG,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Screen.js","sources":["../../../screens/Screen.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { SceneElement } from '../elements';\nimport { Form } from '../forms';\nimport { Contribution } from '../contributionPoints';\nimport { Behavior } from '../interactions';\n\n/**\n * A named screen: the structure it fills, the content that fills it, the forms it hosts, and whatever it\n * contributes to contribution points elsewhere in the tree.\n *\n * A screen is an instance, not a shape. The shape comes from either the application's {@link Layout} — for\n * a screen that sits directly in the application shell — or a {@link ScreenTemplate}, for one nested\n * inside a module, feature or slice. Both declare slots; a screen only ever fills them.\n */\nexport interface Screen {\n /**\n * The screen's name.\n */\n name: string;\n\n /**\n * The resolved name of the application {@link Layout} this screen ultimately renders inside.\n */\n layout: string;\n\n /**\n * The content filling each slot, keyed by slot name.\n */\n slotContent: Record<string, SceneElement[]>;\n\n /**\n * The forms this screen hosts.\n */\n forms: Form[];\n\n /**\n * What this screen contributes to contribution points elsewhere in the tree.\n */\n contributions: Contribution[];\n\n /**\n * The resolved name of the {@link ScreenTemplate} this screen fills, or undefined when it fills the\n * `layout`'s own slots directly. The template's `fitsSlot` is what decides where it lands, so a screen\n * never has to state its own position.\n */\n screenTemplate?: string;\n /**\n * The behaviors attached here - what happens when someone interacts with it. Additive with whatever is\n * attached further out or further in.\n */\n behaviors?: Behavior[];\n}\n\nexport const ScreenPropertyNames: (keyof Screen)[] = ['name', 'layout', 'slotContent', 'forms', 'contributions', 'screenTemplate', 'behaviors'];\n"],"names":["ScreenPropertyNames"],"mappings":"AAAA;AACA;
|
|
1
|
+
{"version":3,"file":"Screen.js","sources":["../../../screens/Screen.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { SceneElement } from '../elements';\nimport { Form } from '../forms';\nimport { Contribution } from '../contributionPoints';\nimport { Behavior } from '../interactions';\n\n/**\n * A named screen: the structure it fills, the content that fills it, the forms it hosts, and whatever it\n * contributes to contribution points elsewhere in the tree.\n *\n * A screen is an instance, not a shape. The shape comes from either the application's {@link Layout} — for\n * a screen that sits directly in the application shell — or a {@link ScreenTemplate}, for one nested\n * inside a module, feature or slice. Both declare slots; a screen only ever fills them.\n */\nexport interface Screen {\n /**\n * The screen's name.\n */\n name: string;\n\n /**\n * The resolved name of the application {@link Layout} this screen ultimately renders inside.\n */\n layout: string;\n\n /**\n * The content filling each slot, keyed by slot name.\n */\n slotContent: Record<string, SceneElement[]>;\n\n /**\n * The forms this screen hosts.\n */\n forms: Form[];\n\n /**\n * What this screen contributes to contribution points elsewhere in the tree.\n */\n contributions: Contribution[];\n\n /**\n * The resolved name of the {@link ScreenTemplate} this screen fills, or undefined when it fills the\n * `layout`'s own slots directly. The template's `fitsSlot` is what decides where it lands, so a screen\n * never has to state its own position.\n */\n screenTemplate?: string;\n /**\n * The behaviors attached here - what happens when someone interacts with it. Additive with whatever is\n * attached further out or further in.\n */\n behaviors?: Behavior[];\n\n /**\n * The modules and features, outermost first, the screen was declared in - its place in the application\n * hierarchy. It is what a destination's `module`/`feature` identity resolves against, and what a host\n * groups an unlisted screen under, so the hierarchy no longer has to be reconstructed from the\n * contributions that happen to list it. Absent or empty for a screen that sits outside any module.\n */\n path?: string[];\n}\n\nexport const ScreenPropertyNames: (keyof Screen)[] = ['name', 'layout', 'slotContent', 'forms', 'contributions', 'screenTemplate', 'behaviors', 'path'];\n"],"names":["ScreenPropertyNames"],"mappings":"AAAA;AACA;MA8DaA,mBAAAA,GAAwC;AAAC,IAAA,MAAA;AAAQ,IAAA,QAAA;AAAU,IAAA,aAAA;AAAe,IAAA,OAAA;AAAS,IAAA,eAAA;AAAiB,IAAA,gBAAA;AAAkB,IAAA,WAAA;AAAa,IAAA;;;"}
|