@cratis/scene.model 4.8.0 → 4.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (133) hide show
  1. package/common/BindingExpression.ts +47 -3
  2. package/common/BindingMode.ts +13 -0
  3. package/common/BindingNullBehavior.ts +16 -0
  4. package/common/BindingSourceKind.ts +19 -0
  5. package/common/DestinationKind.ts +11 -0
  6. package/common/DestinationReference.ts +33 -6
  7. package/common/index.ts +4 -0
  8. package/contributionPoints/NavigationItem.ts +19 -2
  9. package/descriptors/ComponentDescriptor.ts +11 -1
  10. package/descriptors/DesignTimeActionDescriptor.ts +28 -0
  11. package/descriptors/DesignTimeActionPlacement.ts +11 -0
  12. package/descriptors/PackageDesignTimeMetadata.ts +26 -0
  13. package/descriptors/PropertyDescriptor.ts +11 -0
  14. package/descriptors/index.ts +3 -0
  15. package/dist/cjs/common/BindingExpression.js +10 -5
  16. package/dist/cjs/common/BindingExpression.js.map +1 -1
  17. package/dist/cjs/common/BindingMode.js +14 -0
  18. package/dist/cjs/common/BindingMode.js.map +1 -0
  19. package/dist/cjs/common/BindingNullBehavior.js +15 -0
  20. package/dist/cjs/common/BindingNullBehavior.js.map +1 -0
  21. package/dist/cjs/common/BindingSourceKind.js +16 -0
  22. package/dist/cjs/common/BindingSourceKind.js.map +1 -0
  23. package/dist/cjs/common/DestinationKind.js +15 -0
  24. package/dist/cjs/common/DestinationKind.js.map +1 -0
  25. package/dist/cjs/common/DestinationReference.js +7 -0
  26. package/dist/cjs/common/DestinationReference.js.map +1 -1
  27. package/dist/cjs/contributionPoints/NavigationItem.js +4 -0
  28. package/dist/cjs/contributionPoints/NavigationItem.js.map +1 -1
  29. package/dist/cjs/descriptors/ComponentDescriptor.js +4 -1
  30. package/dist/cjs/descriptors/ComponentDescriptor.js.map +1 -1
  31. package/dist/cjs/descriptors/DesignTimeActionDescriptor.js +14 -0
  32. package/dist/cjs/descriptors/DesignTimeActionDescriptor.js.map +1 -0
  33. package/dist/cjs/descriptors/DesignTimeActionPlacement.js +15 -0
  34. package/dist/cjs/descriptors/DesignTimeActionPlacement.js.map +1 -0
  35. package/dist/cjs/descriptors/PackageDesignTimeMetadata.js +16 -0
  36. package/dist/cjs/descriptors/PackageDesignTimeMetadata.js.map +1 -0
  37. package/dist/cjs/descriptors/PropertyDescriptor.js +4 -1
  38. package/dist/cjs/descriptors/PropertyDescriptor.js.map +1 -1
  39. package/dist/cjs/index.js +16 -0
  40. package/dist/cjs/index.js.map +1 -1
  41. package/dist/cjs/layouts/Layout.js +1 -0
  42. package/dist/cjs/layouts/Layout.js.map +1 -1
  43. package/dist/cjs/packages/ScenePackage.js +4 -1
  44. package/dist/cjs/packages/ScenePackage.js.map +1 -1
  45. package/dist/cjs/screens/Outlet.js +13 -0
  46. package/dist/cjs/screens/Outlet.js.map +1 -0
  47. package/dist/cjs/screens/ScreenTemplate.js +1 -0
  48. package/dist/cjs/screens/ScreenTemplate.js.map +1 -1
  49. package/dist/esm/common/BindingExpression.d.ts +12 -0
  50. package/dist/esm/common/BindingExpression.d.ts.map +1 -1
  51. package/dist/esm/common/BindingExpression.js +10 -5
  52. package/dist/esm/common/BindingExpression.js.map +1 -1
  53. package/dist/esm/common/BindingMode.d.ts +5 -0
  54. package/dist/esm/common/BindingMode.d.ts.map +1 -0
  55. package/dist/esm/common/BindingMode.js +12 -0
  56. package/dist/esm/common/BindingMode.js.map +1 -0
  57. package/dist/esm/common/BindingNullBehavior.d.ts +6 -0
  58. package/dist/esm/common/BindingNullBehavior.d.ts.map +1 -0
  59. package/dist/esm/common/BindingNullBehavior.js +13 -0
  60. package/dist/esm/common/BindingNullBehavior.js.map +1 -0
  61. package/dist/esm/common/BindingSourceKind.d.ts +7 -0
  62. package/dist/esm/common/BindingSourceKind.d.ts.map +1 -0
  63. package/dist/esm/common/BindingSourceKind.js +14 -0
  64. package/dist/esm/common/BindingSourceKind.js.map +1 -0
  65. package/dist/esm/common/DestinationKind.d.ts +6 -0
  66. package/dist/esm/common/DestinationKind.d.ts.map +1 -0
  67. package/dist/esm/common/DestinationKind.js +13 -0
  68. package/dist/esm/common/DestinationKind.js.map +1 -0
  69. package/dist/esm/common/DestinationReference.d.ts +9 -1
  70. package/dist/esm/common/DestinationReference.d.ts.map +1 -1
  71. package/dist/esm/common/DestinationReference.js +7 -0
  72. package/dist/esm/common/DestinationReference.js.map +1 -1
  73. package/dist/esm/common/index.d.ts +4 -0
  74. package/dist/esm/common/index.d.ts.map +1 -1
  75. package/dist/esm/common/index.js +4 -0
  76. package/dist/esm/common/index.js.map +1 -1
  77. package/dist/esm/contributionPoints/NavigationItem.d.ts +5 -1
  78. package/dist/esm/contributionPoints/NavigationItem.d.ts.map +1 -1
  79. package/dist/esm/contributionPoints/NavigationItem.js +4 -0
  80. package/dist/esm/contributionPoints/NavigationItem.js.map +1 -1
  81. package/dist/esm/descriptors/ComponentDescriptor.d.ts +4 -0
  82. package/dist/esm/descriptors/ComponentDescriptor.d.ts.map +1 -1
  83. package/dist/esm/descriptors/ComponentDescriptor.js +4 -1
  84. package/dist/esm/descriptors/ComponentDescriptor.js.map +1 -1
  85. package/dist/esm/descriptors/DesignTimeActionDescriptor.d.ts +10 -0
  86. package/dist/esm/descriptors/DesignTimeActionDescriptor.d.ts.map +1 -0
  87. package/dist/esm/descriptors/DesignTimeActionDescriptor.js +12 -0
  88. package/dist/esm/descriptors/DesignTimeActionDescriptor.js.map +1 -0
  89. package/dist/esm/descriptors/DesignTimeActionPlacement.d.ts +6 -0
  90. package/dist/esm/descriptors/DesignTimeActionPlacement.d.ts.map +1 -0
  91. package/dist/esm/descriptors/DesignTimeActionPlacement.js +13 -0
  92. package/dist/esm/descriptors/DesignTimeActionPlacement.js.map +1 -0
  93. package/dist/esm/descriptors/PackageDesignTimeMetadata.d.ts +9 -0
  94. package/dist/esm/descriptors/PackageDesignTimeMetadata.d.ts.map +1 -0
  95. package/dist/esm/descriptors/PackageDesignTimeMetadata.js +14 -0
  96. package/dist/esm/descriptors/PackageDesignTimeMetadata.js.map +1 -0
  97. package/dist/esm/descriptors/PropertyDescriptor.d.ts +4 -0
  98. package/dist/esm/descriptors/PropertyDescriptor.d.ts.map +1 -1
  99. package/dist/esm/descriptors/PropertyDescriptor.js +4 -1
  100. package/dist/esm/descriptors/PropertyDescriptor.js.map +1 -1
  101. package/dist/esm/descriptors/index.d.ts +3 -0
  102. package/dist/esm/descriptors/index.d.ts.map +1 -1
  103. package/dist/esm/descriptors/index.js +3 -0
  104. package/dist/esm/descriptors/index.js.map +1 -1
  105. package/dist/esm/index.js +8 -0
  106. package/dist/esm/index.js.map +1 -1
  107. package/dist/esm/layouts/Layout.d.ts +2 -0
  108. package/dist/esm/layouts/Layout.d.ts.map +1 -1
  109. package/dist/esm/layouts/Layout.js +1 -0
  110. package/dist/esm/layouts/Layout.js.map +1 -1
  111. package/dist/esm/packages/ScenePackage.d.ts +4 -0
  112. package/dist/esm/packages/ScenePackage.d.ts.map +1 -1
  113. package/dist/esm/packages/ScenePackage.js +4 -1
  114. package/dist/esm/packages/ScenePackage.js.map +1 -1
  115. package/dist/esm/screens/Outlet.d.ts +6 -0
  116. package/dist/esm/screens/Outlet.d.ts.map +1 -0
  117. package/dist/esm/screens/Outlet.js +11 -0
  118. package/dist/esm/screens/Outlet.js.map +1 -0
  119. package/dist/esm/screens/ScreenTemplate.d.ts +2 -0
  120. package/dist/esm/screens/ScreenTemplate.d.ts.map +1 -1
  121. package/dist/esm/screens/ScreenTemplate.js +1 -0
  122. package/dist/esm/screens/ScreenTemplate.js.map +1 -1
  123. package/dist/esm/screens/index.d.ts +1 -0
  124. package/dist/esm/screens/index.d.ts.map +1 -1
  125. package/dist/esm/screens/index.js +1 -0
  126. package/dist/esm/screens/index.js.map +1 -1
  127. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  128. package/layouts/Layout.ts +5 -1
  129. package/package.json +1 -1
  130. package/packages/ScenePackage.ts +13 -0
  131. package/screens/Outlet.ts +15 -0
  132. package/screens/ScreenTemplate.ts +5 -0
  133. package/screens/index.ts +1 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PackageDesignTimeMetadata.js","sources":["../../../descriptors/PackageDesignTimeMetadata.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 * Platform-neutral names of optional design-time extension points a package provides.\n */\nexport interface PackageDesignTimeMetadata {\n /** Named component preview renderers available in the package's design-time bundle. */\n previews: string[];\n\n /** Named full-component designers available in the package's design-time bundle. */\n designers: string[];\n\n /** Named property editors available in the package's design-time bundle. */\n propertyEditors: string[];\n\n /** Named property display renderers available in the package's design-time bundle. */\n propertyDisplays: string[];\n\n /** Named design-time action handlers available in the package's design-time bundle. */\n actions: string[];\n}\n\nexport const PackageDesignTimeMetadataPropertyNames: (keyof PackageDesignTimeMetadata)[] = [\n 'previews', 'designers', 'propertyEditors', 'propertyDisplays', 'actions',\n];\n"],"names":["PackageDesignTimeMetadataPropertyNames"],"mappings":";;AAAA;AACA;AAEA;;UAoBaA,sCAAAA,GAA8E;AACvF,IAAA,UAAA;AAAY,IAAA,WAAA;AAAa,IAAA,iBAAA;AAAmB,IAAA,kBAAA;AAAoB,IAAA;;;"}
@@ -13,7 +13,10 @@ const PropertyDescriptorPropertyNames = [
13
13
  'editorKind',
14
14
  'description',
15
15
  'item',
16
- 'readOnly'
16
+ 'readOnly',
17
+ 'output',
18
+ 'acceptedBindingKinds',
19
+ 'bindingMode'
17
20
  ];
18
21
 
19
22
  exports.PropertyDescriptorPropertyNames = PropertyDescriptorPropertyNames;
@@ -1 +1 @@
1
- {"version":3,"file":"PropertyDescriptor.js","sources":["../../../descriptors/PropertyDescriptor.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 { CollectionItemDescriptor } from './CollectionItemDescriptor';\nimport { PropertyChoice } from './PropertyChoice';\nimport { PropertyConstraints } from './PropertyConstraints';\nimport { PropertyValueType } from './PropertyValueType';\n\n/**\n * Describes one editable property of a node: where it lives, what it is called, what it may hold and how a host\n * should edit it. A descriptor is plain data, so packages ship them and Studio reads them without loading a\n * component.\n */\nexport interface PropertyDescriptor {\n /**\n * Where the value lives. For an `ExternalComponent` it is a key (or dotted key path) in the element's\n * `properties` bag; for a model-native node such as a flow container it is the node's own property name.\n */\n path: string;\n\n /** The label an editor shows. */\n label: string;\n\n /** The editor section the property belongs to. */\n group: string;\n\n valueType: PropertyValueType;\n\n /** The allowed values of an `Enum` property. */\n choices?: PropertyChoice[];\n\n /** The value in effect when none is set. */\n default?: unknown;\n\n constraints?: PropertyConstraints;\n\n /**\n * Names a specialised editor. A host maps the name to its own editor - an icon picker, a query binder - and\n * falls back to the default editor for `valueType` when it does not know the name.\n */\n editorKind?: string;\n\n /** A sentence of help for the editor. */\n description?: string;\n\n /** Describes the items of a `Collection` property. Required when `valueType` is `Collection`. */\n item?: CollectionItemDescriptor;\n\n /** The value is shown but never edited. */\n readOnly?: boolean;\n}\n\nexport const PropertyDescriptorPropertyNames: (keyof PropertyDescriptor)[] = [\n 'path', 'label', 'group', 'valueType', 'choices', 'default', 'constraints', 'editorKind', 'description', 'item', 'readOnly',\n];\n"],"names":["PropertyDescriptorPropertyNames"],"mappings":";;AAAA;AACA;MAmDaA,+BAAAA,GAAgE;AACzE,IAAA,MAAA;AAAQ,IAAA,OAAA;AAAS,IAAA,OAAA;AAAS,IAAA,WAAA;AAAa,IAAA,SAAA;AAAW,IAAA,SAAA;AAAW,IAAA,aAAA;AAAe,IAAA,YAAA;AAAc,IAAA,aAAA;AAAe,IAAA,MAAA;AAAQ,IAAA;;;"}
1
+ {"version":3,"file":"PropertyDescriptor.js","sources":["../../../descriptors/PropertyDescriptor.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 { BindingMode, BindingSourceKind } from '../common';\nimport { CollectionItemDescriptor } from './CollectionItemDescriptor';\nimport { PropertyChoice } from './PropertyChoice';\nimport { PropertyConstraints } from './PropertyConstraints';\nimport { PropertyValueType } from './PropertyValueType';\n\n/**\n * Describes one editable property of a node: where it lives, what it is called, what it may hold and how a host\n * should edit it. A descriptor is plain data, so packages ship them and Studio reads them without loading a\n * component.\n */\nexport interface PropertyDescriptor {\n /**\n * Where the value lives. For an `ExternalComponent` it is a key (or dotted key path) in the element's\n * `properties` bag; for a model-native node such as a flow container it is the node's own property name.\n */\n path: string;\n\n /** The label an editor shows. */\n label: string;\n\n /** The editor section the property belongs to. */\n group: string;\n\n valueType: PropertyValueType;\n\n /** The allowed values of an `Enum` property. */\n choices?: PropertyChoice[];\n\n /** The value in effect when none is set. */\n default?: unknown;\n\n constraints?: PropertyConstraints;\n\n /**\n * Names a specialised editor. A host maps the name to its own editor - an icon picker, a query binder - and\n * falls back to the default editor for `valueType` when it does not know the name.\n */\n editorKind?: string;\n\n /** A sentence of help for the editor. */\n description?: string;\n\n /** Describes the items of a `Collection` property. Required when `valueType` is `Collection`. */\n item?: CollectionItemDescriptor;\n\n /** The value is shown but never edited. */\n readOnly?: boolean;\n\n /** This property is emitted by the component and may be bound by other elements. */\n output?: boolean;\n\n /** Which binding source kinds may be assigned to this property. */\n acceptedBindingKinds?: BindingSourceKind[];\n\n /** The strongest binding mode the property supports. */\n bindingMode?: BindingMode;\n}\n\nexport const PropertyDescriptorPropertyNames: (keyof PropertyDescriptor)[] = [\n 'path', 'label', 'group', 'valueType', 'choices', 'default', 'constraints', 'editorKind', 'description', 'item', 'readOnly',\n 'output', 'acceptedBindingKinds', 'bindingMode',\n];\n"],"names":["PropertyDescriptorPropertyNames"],"mappings":";;AAAA;AACA;MA6DaA,+BAAAA,GAAgE;AACzE,IAAA,MAAA;AAAQ,IAAA,OAAA;AAAS,IAAA,OAAA;AAAS,IAAA,WAAA;AAAa,IAAA,SAAA;AAAW,IAAA,SAAA;AAAW,IAAA,aAAA;AAAe,IAAA,YAAA;AAAc,IAAA,aAAA;AAAe,IAAA,MAAA;AAAQ,IAAA,UAAA;AACjH,IAAA,QAAA;AAAU,IAAA,sBAAA;AAAwB,IAAA;;;"}
package/dist/cjs/index.js CHANGED
@@ -7,11 +7,15 @@ var HorizontalAlignment = require('./common/HorizontalAlignment.js');
7
7
  var VerticalAlignment = require('./common/VerticalAlignment.js');
8
8
  var Visibility = require('./common/Visibility.js');
9
9
  var BindingExpression = require('./common/BindingExpression.js');
10
+ var BindingSourceKind = require('./common/BindingSourceKind.js');
11
+ var BindingMode = require('./common/BindingMode.js');
12
+ var BindingNullBehavior = require('./common/BindingNullBehavior.js');
10
13
  var Orientation = require('./common/Orientation.js');
11
14
  var Dock = require('./common/Dock.js');
12
15
  var GridUnitType = require('./common/GridUnitType.js');
13
16
  var GridLength = require('./common/GridLength.js');
14
17
  var DestinationReference = require('./common/DestinationReference.js');
18
+ var DestinationKind = require('./common/DestinationKind.js');
15
19
  var WidthSizeClass = require('./sizeClasses/WidthSizeClass.js');
16
20
  var HeightSizeClass = require('./sizeClasses/HeightSizeClass.js');
17
21
  var SizeClass = require('./sizeClasses/SizeClass.js');
@@ -87,6 +91,7 @@ var ConfirmAction = require('./interactions/ConfirmAction.js');
87
91
  var RaiseTriggerAction = require('./interactions/RaiseTriggerAction.js');
88
92
  var InteractionBinding = require('./interactions/InteractionBinding.js');
89
93
  var Behavior = require('./interactions/Behavior.js');
94
+ var Outlet = require('./screens/Outlet.js');
90
95
  var Screen = require('./screens/Screen.js');
91
96
  var ScreenTemplate = require('./screens/ScreenTemplate.js');
92
97
  var DialogTemplate = require('./screens/DialogTemplate.js');
@@ -105,6 +110,9 @@ var PropertyValueType = require('./descriptors/PropertyValueType.js');
105
110
  var PropertyChoice = require('./descriptors/PropertyChoice.js');
106
111
  var PropertyConstraints = require('./descriptors/PropertyConstraints.js');
107
112
  var CollectionItemDescriptor = require('./descriptors/CollectionItemDescriptor.js');
113
+ var DesignTimeActionDescriptor = require('./descriptors/DesignTimeActionDescriptor.js');
114
+ var DesignTimeActionPlacement = require('./descriptors/DesignTimeActionPlacement.js');
115
+ var PackageDesignTimeMetadata = require('./descriptors/PackageDesignTimeMetadata.js');
108
116
  var PropertyDescriptor = require('./descriptors/PropertyDescriptor.js');
109
117
  var ComponentDescriptor = require('./descriptors/ComponentDescriptor.js');
110
118
  var CollectionOperation = require('./descriptors/CollectionOperation.js');
@@ -159,11 +167,15 @@ exports.HorizontalAlignment = HorizontalAlignment.HorizontalAlignment;
159
167
  exports.VerticalAlignment = VerticalAlignment.VerticalAlignment;
160
168
  exports.Visibility = Visibility.Visibility;
161
169
  exports.BindingExpressionPropertyNames = BindingExpression.BindingExpressionPropertyNames;
170
+ exports.BindingSourceKind = BindingSourceKind.BindingSourceKind;
171
+ exports.BindingMode = BindingMode.BindingMode;
172
+ exports.BindingNullBehavior = BindingNullBehavior.BindingNullBehavior;
162
173
  exports.Orientation = Orientation.Orientation;
163
174
  exports.Dock = Dock.Dock;
164
175
  exports.GridUnitType = GridUnitType.GridUnitType;
165
176
  exports.GridLengthPropertyNames = GridLength.GridLengthPropertyNames;
166
177
  exports.DestinationReferencePropertyNames = DestinationReference.DestinationReferencePropertyNames;
178
+ exports.DestinationKind = DestinationKind.DestinationKind;
167
179
  exports.WidthSizeClass = WidthSizeClass.WidthSizeClass;
168
180
  exports.HeightSizeClass = HeightSizeClass.HeightSizeClass;
169
181
  exports.SizeClassPropertyNames = SizeClass.SizeClassPropertyNames;
@@ -242,6 +254,7 @@ exports.ConfirmActionPropertyNames = ConfirmAction.ConfirmActionPropertyNames;
242
254
  exports.RaiseTriggerActionPropertyNames = RaiseTriggerAction.RaiseTriggerActionPropertyNames;
243
255
  exports.InteractionBindingPropertyNames = InteractionBinding.InteractionBindingPropertyNames;
244
256
  exports.BehaviorPropertyNames = Behavior.BehaviorPropertyNames;
257
+ exports.OutletPropertyNames = Outlet.OutletPropertyNames;
245
258
  exports.ScreenPropertyNames = Screen.ScreenPropertyNames;
246
259
  exports.ScreenTemplatePropertyNames = ScreenTemplate.ScreenTemplatePropertyNames;
247
260
  exports.DialogTemplatePropertyNames = DialogTemplate.DialogTemplatePropertyNames;
@@ -261,6 +274,9 @@ exports.PropertyValueType = PropertyValueType.PropertyValueType;
261
274
  exports.PropertyChoicePropertyNames = PropertyChoice.PropertyChoicePropertyNames;
262
275
  exports.PropertyConstraintsPropertyNames = PropertyConstraints.PropertyConstraintsPropertyNames;
263
276
  exports.CollectionItemDescriptorPropertyNames = CollectionItemDescriptor.CollectionItemDescriptorPropertyNames;
277
+ exports.DesignTimeActionDescriptorPropertyNames = DesignTimeActionDescriptor.DesignTimeActionDescriptorPropertyNames;
278
+ exports.DesignTimeActionPlacement = DesignTimeActionPlacement.DesignTimeActionPlacement;
279
+ exports.PackageDesignTimeMetadataPropertyNames = PackageDesignTimeMetadata.PackageDesignTimeMetadataPropertyNames;
264
280
  exports.PropertyDescriptorPropertyNames = PropertyDescriptor.PropertyDescriptorPropertyNames;
265
281
  exports.ComponentDescriptorPropertyNames = ComponentDescriptor.ComponentDescriptorPropertyNames;
266
282
  exports.CollectionOperation = CollectionOperation.CollectionOperation;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -7,6 +7,7 @@ const LayoutPropertyNames = [
7
7
  'slots',
8
8
  'arrangement',
9
9
  'behaviors',
10
+ 'outlets',
10
11
  'metadata'
11
12
  ];
12
13
 
@@ -1 +1 @@
1
- {"version":3,"file":"Layout.js","sources":["../../../layouts/Layout.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 { Arrangement } from './Arrangement';\nimport { Slot } from './Slot';\nimport { Behavior } from '../interactions';\nimport { TemplateMetadata } from '../screens/TemplateMetadata';\n\n/**\n * A named template of slots that a {@link Screen} fills with content. Mirrors Screenplay's `layout`\n * construct: a bare layout with plain slots is a special case of a layout whose slots all use the\n * default arrangement.\n */\nexport interface Layout {\n name: string;\n slots: Slot[];\n\n /**\n * How the layout's own `slots` position relative to each other - a {@link FlowArrangement} (leaves\n * are {@link FlowSlotLeaf}) or {@link FreeformSlotArrangement}, or `undefined` for the slots'\n * declaration order with no further positioning information. Distinct from each {@link Slot}'s own\n * `arrangement`, which positions that one slot's filled content instead of positioning the slots\n * themselves.\n */\n arrangement?: Arrangement;\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 /** Optional browse metadata; ApplicationShell retains this existing Layout role. */\n metadata?: TemplateMetadata;\n}\n\nexport const LayoutPropertyNames: (keyof Layout)[] = ['name', 'slots', 'arrangement', 'behaviors', 'metadata'];\n"],"names":["LayoutPropertyNames"],"mappings":";;AAAA;AACA;MAkCaA,mBAAAA,GAAwC;AAAC,IAAA,MAAA;AAAQ,IAAA,OAAA;AAAS,IAAA,aAAA;AAAe,IAAA,WAAA;AAAa,IAAA;;;"}
1
+ {"version":3,"file":"Layout.js","sources":["../../../layouts/Layout.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 { Arrangement } from './Arrangement';\nimport { Slot } from './Slot';\nimport { Behavior } from '../interactions';\nimport { Outlet } from '../screens/Outlet';\nimport { TemplateMetadata } from '../screens/TemplateMetadata';\n\n/**\n * A named template of slots that a {@link Screen} fills with content. Mirrors Screenplay's `layout`\n * construct: a bare layout with plain slots is a special case of a layout whose slots all use the\n * default arrangement.\n */\nexport interface Layout {\n name: string;\n slots: Slot[];\n\n /**\n * How the layout's own `slots` position relative to each other - a {@link FlowArrangement} (leaves\n * are {@link FlowSlotLeaf}) or {@link FreeformSlotArrangement}, or `undefined` for the slots'\n * declaration order with no further positioning information. Distinct from each {@link Slot}'s own\n * `arrangement`, which positions that one slot's filled content instead of positioning the slots\n * themselves.\n */\n arrangement?: Arrangement;\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 /** Named routed replacement surfaces this layout owns. Static slots remain template composition surfaces. */\n outlets?: Outlet[];\n\n /** Optional browse metadata; ApplicationShell retains this existing Layout role. */\n metadata?: TemplateMetadata;\n}\n\nexport const LayoutPropertyNames: (keyof Layout)[] = ['name', 'slots', 'arrangement', 'behaviors', 'outlets', 'metadata'];\n"],"names":["LayoutPropertyNames"],"mappings":";;AAAA;AACA;MAsCaA,mBAAAA,GAAwC;AAAC,IAAA,MAAA;AAAQ,IAAA,OAAA;AAAS,IAAA,aAAA;AAAe,IAAA,WAAA;AAAa,IAAA,SAAA;AAAW,IAAA;;;"}
@@ -17,7 +17,10 @@ const ScenePackagePropertyNames = [
17
17
  'module',
18
18
  'license',
19
19
  'licenseUrl',
20
- 'iconLibrary'
20
+ 'iconLibrary',
21
+ 'designTime',
22
+ 'assets',
23
+ 'runtimeSingletons'
21
24
  ];
22
25
 
23
26
  exports.ScenePackagePropertyNames = ScenePackagePropertyNames;
@@ -1 +1 @@
1
- {"version":3,"file":"ScenePackage.js","sources":["../../../packages/ScenePackage.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 { IconLibrary } from '../icons';\nimport { PackageDependency } from './PackageDependency';\nimport { PackageKind } from './PackageKind';\n\n/**\n * What a {@link UiProfile}'s `packages` entry actually names. A profile lists packages by name only;\n * this is the declaration behind the name - what it contributes, and what else has to be active for it\n * to work.\n */\nexport interface ScenePackage {\n /**\n * The name a {@link UiProfile} lists, and the name a {@link PackageDependency} refers to.\n */\n name: string;\n\n /**\n * The package's own version, so a {@link PackageDependency.versionRange} has something to check against.\n */\n version: string;\n\n /**\n * What the package contributes.\n */\n kind: PackageKind;\n\n /**\n * Other packages that must be active in the same profile for this one to work.\n */\n dependencies: PackageDependency[];\n\n /**\n * The component names this package declares - the catalog entry {@link UiProfile} resolution walks.\n */\n components: string[];\n\n /**\n * The names of the {@link Layout}s this package provides — an application's base navigational shells.\n * Empty for anything that is not a {@link PackageKind.Blueprint}.\n */\n layouts: string[];\n\n /**\n * The names of the {@link ScreenTemplate}s this package provides — the shapes that go inside a layout,\n * at module, feature and slice level.\n */\n screenTemplates: string[];\n\n /**\n * The names of the {@link DialogTemplate}s this package provides.\n */\n dialogTemplates: string[];\n\n /**\n * The names of the {@link Theme}s this package ships, empty for a package that ships none.\n */\n themes: string[];\n\n /**\n * A human-readable name for a package picker, falling back to `name` when absent.\n */\n displayName?: string;\n\n /**\n * A one-line description for a package picker.\n */\n description?: string;\n\n /**\n * The module that implements the package - an npm package name for a web renderer. Design-time\n * tooling needs it to know what to import; the model itself never loads anything.\n */\n module?: string;\n\n /**\n * The license the package is available under, as a short human-readable name (`MIT`,\n * `PrimeUI Community`). A package picker shows it, because \"what am I taking on by selecting this\"\n * is a question an author needs answered before they select it, not after.\n */\n license?: string;\n\n /**\n * Where the license terms actually live, so a reader can go and check rather than take `license` on\n * trust. Required in practice for anything that is not a permissive standard license — a name alone\n * tells an author nothing about eligibility or obligations.\n */\n licenseUrl?: string;\n\n /**\n * What the package declares about its icons. Present exactly for a {@link PackageKind.IconLibrary}.\n */\n iconLibrary?: IconLibrary;\n}\n\nexport const ScenePackagePropertyNames: (keyof ScenePackage)[] = [\n 'name',\n 'version',\n 'kind',\n 'dependencies',\n 'components',\n 'layouts',\n 'screenTemplates',\n 'dialogTemplates',\n 'themes',\n 'displayName',\n 'description',\n 'module',\n 'license',\n 'licenseUrl',\n 'iconLibrary',\n];\n"],"names":["ScenePackagePropertyNames"],"mappings":";;AAAA;AACA;MA+FaA,yBAAAA,GAAoD;AAC7D,IAAA,MAAA;AACA,IAAA,SAAA;AACA,IAAA,MAAA;AACA,IAAA,cAAA;AACA,IAAA,YAAA;AACA,IAAA,SAAA;AACA,IAAA,iBAAA;AACA,IAAA,iBAAA;AACA,IAAA,QAAA;AACA,IAAA,aAAA;AACA,IAAA,aAAA;AACA,IAAA,QAAA;AACA,IAAA,SAAA;AACA,IAAA,YAAA;AACA,IAAA;;;"}
1
+ {"version":3,"file":"ScenePackage.js","sources":["../../../packages/ScenePackage.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 { PackageDesignTimeMetadata } from '../descriptors';\nimport { IconLibrary } from '../icons';\nimport { PackageDependency } from './PackageDependency';\nimport { PackageKind } from './PackageKind';\n\n/**\n * What a {@link UiProfile}'s `packages` entry actually names. A profile lists packages by name only;\n * this is the declaration behind the name - what it contributes, and what else has to be active for it\n * to work.\n */\nexport interface ScenePackage {\n /**\n * The name a {@link UiProfile} lists, and the name a {@link PackageDependency} refers to.\n */\n name: string;\n\n /**\n * The package's own version, so a {@link PackageDependency.versionRange} has something to check against.\n */\n version: string;\n\n /**\n * What the package contributes.\n */\n kind: PackageKind;\n\n /**\n * Other packages that must be active in the same profile for this one to work.\n */\n dependencies: PackageDependency[];\n\n /**\n * The component names this package declares - the catalog entry {@link UiProfile} resolution walks.\n */\n components: string[];\n\n /**\n * The names of the {@link Layout}s this package provides — an application's base navigational shells.\n * Empty for anything that is not a {@link PackageKind.Blueprint}.\n */\n layouts: string[];\n\n /**\n * The names of the {@link ScreenTemplate}s this package provides — the shapes that go inside a layout,\n * at module, feature and slice level.\n */\n screenTemplates: string[];\n\n /**\n * The names of the {@link DialogTemplate}s this package provides.\n */\n dialogTemplates: string[];\n\n /**\n * The names of the {@link Theme}s this package ships, empty for a package that ships none.\n */\n themes: string[];\n\n /**\n * A human-readable name for a package picker, falling back to `name` when absent.\n */\n displayName?: string;\n\n /**\n * A one-line description for a package picker.\n */\n description?: string;\n\n /**\n * The module that implements the package - an npm package name for a web renderer. Design-time\n * tooling needs it to know what to import; the model itself never loads anything.\n */\n module?: string;\n\n /**\n * The license the package is available under, as a short human-readable name (`MIT`,\n * `PrimeUI Community`). A package picker shows it, because \"what am I taking on by selecting this\"\n * is a question an author needs answered before they select it, not after.\n */\n license?: string;\n\n /**\n * Where the license terms actually live, so a reader can go and check rather than take `license` on\n * trust. Required in practice for anything that is not a permissive standard license — a name alone\n * tells an author nothing about eligibility or obligations.\n */\n licenseUrl?: string;\n\n /**\n * What the package declares about its icons. Present exactly for a {@link PackageKind.IconLibrary}.\n */\n iconLibrary?: IconLibrary;\n\n /** Optional design-time extensions carried as metadata; runtime hosts do not load them unless approved. */\n designTime?: PackageDesignTimeMetadata;\n\n /** Asset URLs or package-relative asset entries (CSS, fonts, images) required by a web renderer. */\n assets?: string[];\n\n /** Runtime singleton dependency names that must not be duplicated across approved bundles. */\n runtimeSingletons?: string[];\n}\n\nexport const ScenePackagePropertyNames: (keyof ScenePackage)[] = [\n 'name',\n 'version',\n 'kind',\n 'dependencies',\n 'components',\n 'layouts',\n 'screenTemplates',\n 'dialogTemplates',\n 'themes',\n 'displayName',\n 'description',\n 'module',\n 'license',\n 'licenseUrl',\n 'iconLibrary',\n 'designTime',\n 'assets',\n 'runtimeSingletons',\n];\n"],"names":["ScenePackagePropertyNames"],"mappings":";;AAAA;AACA;MAyGaA,yBAAAA,GAAoD;AAC7D,IAAA,MAAA;AACA,IAAA,SAAA;AACA,IAAA,MAAA;AACA,IAAA,cAAA;AACA,IAAA,YAAA;AACA,IAAA,SAAA;AACA,IAAA,iBAAA;AACA,IAAA,iBAAA;AACA,IAAA,QAAA;AACA,IAAA,aAAA;AACA,IAAA,aAAA;AACA,IAAA,QAAA;AACA,IAAA,SAAA;AACA,IAAA,YAAA;AACA,IAAA,aAAA;AACA,IAAA,YAAA;AACA,IAAA,QAAA;AACA,IAAA;;;"}
@@ -0,0 +1,13 @@
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
+ * A named replacement surface for routed or nested screen content.
7
+ */ const OutletPropertyNames = [
8
+ 'name',
9
+ 'description'
10
+ ];
11
+
12
+ exports.OutletPropertyNames = OutletPropertyNames;
13
+ //# sourceMappingURL=Outlet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Outlet.js","sources":["../../../screens/Outlet.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 * A named replacement surface for routed or nested screen content.\n */\nexport interface Outlet {\n /** Stable outlet name used by destinations. */\n name: string;\n\n /** Optional description for designers. */\n description?: string;\n}\n\nexport const OutletPropertyNames: (keyof Outlet)[] = ['name', 'description'];\n"],"names":["OutletPropertyNames"],"mappings":";;AAAA;AACA;AAEA;;UAWaA,mBAAAA,GAAwC;AAAC,IAAA,MAAA;AAAQ,IAAA;;;"}
@@ -11,6 +11,7 @@ const ScreenTemplatePropertyNames = [
11
11
  'displayName',
12
12
  'description',
13
13
  'behaviors',
14
+ 'outlets',
14
15
  'metadata'
15
16
  ];
16
17
 
@@ -1 +1 @@
1
- {"version":3,"file":"ScreenTemplate.js","sources":["../../../screens/ScreenTemplate.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 { Arrangement, Slot } from '../layouts';\nimport { Behavior } from '../interactions';\nimport { TemplateMetadata } from './TemplateMetadata';\n\n/**\n * A reusable screen structure that fills a named slot on whatever contains it, and offers slots of its\n * own for what it contains in turn.\n *\n * A {@link Layout} and a screen template are deliberately different things. A layout is the application's\n * base navigational look — the shell with its top bar, navigation and content region — and an application\n * has one. A screen template is what goes *inside* that shell, and an application has many: one per\n * module, feature or slice that needs a shape of its own.\n *\n * `fitsSlot` is what makes them compose. A module's screen template fits the application layout's content\n * slot; a feature's screen template fits a slot the module's template declares; a slice's fits one the\n * feature's declares. The same rule at every level, so nesting is arbitrarily deep without a second\n * mechanism — and a template always states where it belongs rather than being told by whatever happens to\n * host it.\n */\nexport interface ScreenTemplate {\n /**\n * The template's name, which a {@link Screen} refers to.\n */\n name: string;\n\n /**\n * The name of the slot on the containing {@link Layout} or screen template this one fills, or\n * undefined for a template that is placed explicitly rather than by declaration.\n */\n fitsSlot?: string;\n\n /**\n * The slots this template offers to whatever it contains, in declaration order.\n */\n slots: Slot[];\n\n /**\n * How this template's own `slots` position relative to each other — the same shape a {@link Layout}\n * uses, evaluated by the same engine. Absent for declaration order with no further positioning.\n */\n arrangement?: Arrangement;\n\n /**\n * Content the template itself provides, keyed by slot name — the chrome a template brings with it, as\n * opposed to what a {@link Screen} based on it fills in.\n */\n content?: Record<string, SceneElement[]>;\n\n /**\n * A human-readable name for a template picker, falling back to `name`.\n */\n displayName?: string;\n\n /**\n * A one-line description for a template picker.\n */\n description?: 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 /** Optional semantic type, browse category and scope restrictions. */\n metadata?: TemplateMetadata;\n}\n\nexport const ScreenTemplatePropertyNames: (keyof ScreenTemplate)[] = [\n 'name',\n 'fitsSlot',\n 'slots',\n 'arrangement',\n 'content',\n 'displayName',\n 'description',\n 'behaviors',\n 'metadata',\n];\n"],"names":["ScreenTemplatePropertyNames"],"mappings":";;AAAA;AACA;MAsEaA,2BAAAA,GAAwD;AACjE,IAAA,MAAA;AACA,IAAA,UAAA;AACA,IAAA,OAAA;AACA,IAAA,aAAA;AACA,IAAA,SAAA;AACA,IAAA,aAAA;AACA,IAAA,aAAA;AACA,IAAA,WAAA;AACA,IAAA;;;"}
1
+ {"version":3,"file":"ScreenTemplate.js","sources":["../../../screens/ScreenTemplate.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 { Arrangement, Slot } from '../layouts';\nimport { Behavior } from '../interactions';\nimport { Outlet } from './Outlet';\nimport { TemplateMetadata } from './TemplateMetadata';\n\n/**\n * A reusable screen structure that fills a named slot on whatever contains it, and offers slots of its\n * own for what it contains in turn.\n *\n * A {@link Layout} and a screen template are deliberately different things. A layout is the application's\n * base navigational look — the shell with its top bar, navigation and content region — and an application\n * has one. A screen template is what goes *inside* that shell, and an application has many: one per\n * module, feature or slice that needs a shape of its own.\n *\n * `fitsSlot` is what makes them compose. A module's screen template fits the application layout's content\n * slot; a feature's screen template fits a slot the module's template declares; a slice's fits one the\n * feature's declares. The same rule at every level, so nesting is arbitrarily deep without a second\n * mechanism — and a template always states where it belongs rather than being told by whatever happens to\n * host it.\n */\nexport interface ScreenTemplate {\n /**\n * The template's name, which a {@link Screen} refers to.\n */\n name: string;\n\n /**\n * The name of the slot on the containing {@link Layout} or screen template this one fills, or\n * undefined for a template that is placed explicitly rather than by declaration.\n */\n fitsSlot?: string;\n\n /**\n * The slots this template offers to whatever it contains, in declaration order.\n */\n slots: Slot[];\n\n /**\n * How this template's own `slots` position relative to each other — the same shape a {@link Layout}\n * uses, evaluated by the same engine. Absent for declaration order with no further positioning.\n */\n arrangement?: Arrangement;\n\n /**\n * Content the template itself provides, keyed by slot name — the chrome a template brings with it, as\n * opposed to what a {@link Screen} based on it fills in.\n */\n content?: Record<string, SceneElement[]>;\n\n /**\n * A human-readable name for a template picker, falling back to `name`.\n */\n displayName?: string;\n\n /**\n * A one-line description for a template picker.\n */\n description?: 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 /** Named routed replacement surfaces this template owns. Static slots remain composition surfaces. */\n outlets?: Outlet[];\n\n /** Optional semantic type, browse category and scope restrictions. */\n metadata?: TemplateMetadata;\n}\n\nexport const ScreenTemplatePropertyNames: (keyof ScreenTemplate)[] = [\n 'name',\n 'fitsSlot',\n 'slots',\n 'arrangement',\n 'content',\n 'displayName',\n 'description',\n 'behaviors',\n 'outlets',\n 'metadata',\n];\n"],"names":["ScreenTemplatePropertyNames"],"mappings":";;AAAA;AACA;MA0EaA,2BAAAA,GAAwD;AACjE,IAAA,MAAA;AACA,IAAA,UAAA;AACA,IAAA,OAAA;AACA,IAAA,aAAA;AACA,IAAA,SAAA;AACA,IAAA,aAAA;AACA,IAAA,aAAA;AACA,IAAA,WAAA;AACA,IAAA,SAAA;AACA,IAAA;;;"}
@@ -1,5 +1,17 @@
1
+ import { BindingMode } from './BindingMode';
2
+ import { BindingNullBehavior } from './BindingNullBehavior';
3
+ import { BindingSourceKind } from './BindingSourceKind';
4
+ import { PropertyValueType } from '../descriptors';
1
5
  export interface BindingExpression {
6
+ kind?: BindingSourceKind;
2
7
  path: string;
8
+ query?: string;
9
+ componentId?: string;
10
+ componentPropertyPath?: string;
11
+ mode?: BindingMode;
12
+ nullBehavior?: BindingNullBehavior;
13
+ expectedValueType?: PropertyValueType;
14
+ value?: unknown;
3
15
  }
4
16
  export declare const BindingExpressionPropertyNames: (keyof BindingExpression)[];
5
17
  //# sourceMappingURL=BindingExpression.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BindingExpression.d.ts","sourceRoot":"","sources":["../../../common/BindingExpression.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,8BAA8B,EAAE,CAAC,MAAM,iBAAiB,CAAC,EAAa,CAAC"}
1
+ {"version":3,"file":"BindingExpression.d.ts","sourceRoot":"","sources":["../../../common/BindingExpression.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAUnD,MAAM,WAAW,iBAAiB;IAE9B,IAAI,CAAC,EAAE,iBAAiB,CAAC;IAGzB,IAAI,EAAE,MAAM,CAAC;IAGb,KAAK,CAAC,EAAE,MAAM,CAAC;IAGf,WAAW,CAAC,EAAE,MAAM,CAAC;IAGrB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAG/B,IAAI,CAAC,EAAE,WAAW,CAAC;IAGnB,YAAY,CAAC,EAAE,mBAAmB,CAAC;IAGnC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IAGtC,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,8BAA8B,EAAE,CAAC,MAAM,iBAAiB,CAAC,EAUrE,CAAC"}
@@ -1,10 +1,15 @@
1
1
  // Copyright (c) Cratis. All rights reserved.
2
2
  // Licensed under the MIT license. See LICENSE file in the project root for full license information.
3
- /**
4
- * A reference to a value already resolved by whatever produced this model (Stage translating Screenplay,
5
- * or Studio's editor) — Scene never re-runs name resolution, it only carries the resolved path forward.
6
- */ const BindingExpressionPropertyNames = [
7
- 'path'
3
+ const BindingExpressionPropertyNames = [
4
+ 'kind',
5
+ 'path',
6
+ 'query',
7
+ 'componentId',
8
+ 'componentPropertyPath',
9
+ 'mode',
10
+ 'nullBehavior',
11
+ 'expectedValueType',
12
+ 'value'
8
13
  ];
9
14
 
10
15
  export { BindingExpressionPropertyNames };
@@ -1 +1 @@
1
- {"version":3,"file":"BindingExpression.js","sources":["../../../common/BindingExpression.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 * A reference to a value already resolved by whatever produced this model (Stage translating Screenplay,\n * or Studio's editor) — Scene never re-runs name resolution, it only carries the resolved path forward.\n */\nexport interface BindingExpression {\n path: string;\n}\n\nexport const BindingExpressionPropertyNames: (keyof BindingExpression)[] = ['path'];\n"],"names":["BindingExpressionPropertyNames"],"mappings":"AAAA;AACA;AAEA;;;UAQaA,8BAAAA,GAA8D;AAAC,IAAA;;;"}
1
+ {"version":3,"file":"BindingExpression.js","sources":["../../../common/BindingExpression.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 { BindingMode } from './BindingMode';\nimport { BindingNullBehavior } from './BindingNullBehavior';\nimport { BindingSourceKind } from './BindingSourceKind';\nimport { PropertyValueType } from '../descriptors';\n\n/**\n * A typed reference to a value resolved by the shared Scene runtime.\n *\n * Legacy authored content that only carries `path` is treated as a data-context binding. New content may\n * name the source explicitly: the inherited data context, a query result, another component's output\n * property, or a literal value. Invalid bindings are preserved and reported by validation; they are not\n * rewritten by the resolver.\n */\nexport interface BindingExpression {\n /** Source kind; absent means `dataContext` for backward compatibility. */\n kind?: BindingSourceKind;\n\n /** The path inside the selected source. */\n path: string;\n\n /** The named query binding when `kind` is `queryResult`. */\n query?: string;\n\n /** Stable component identity when `kind` is `componentProperty`. */\n componentId?: string;\n\n /** Property path on the source component when it differs from `path`. */\n componentPropertyPath?: string;\n\n /** Update mode requested by the author. */\n mode?: BindingMode;\n\n /** How null or undefined source values affect the target. */\n nullBehavior?: BindingNullBehavior;\n\n /** Optional expected target/source value type for validation. */\n expectedValueType?: PropertyValueType;\n\n /** Literal value when `kind` is `literal`. */\n value?: unknown;\n}\n\nexport const BindingExpressionPropertyNames: (keyof BindingExpression)[] = [\n 'kind',\n 'path',\n 'query',\n 'componentId',\n 'componentPropertyPath',\n 'mode',\n 'nullBehavior',\n 'expectedValueType',\n 'value',\n];\n"],"names":["BindingExpressionPropertyNames"],"mappings":"AAAA;AACA;MA4CaA,8BAAAA,GAA8D;AACvE,IAAA,MAAA;AACA,IAAA,MAAA;AACA,IAAA,OAAA;AACA,IAAA,aAAA;AACA,IAAA,uBAAA;AACA,IAAA,MAAA;AACA,IAAA,cAAA;AACA,IAAA,mBAAA;AACA,IAAA;;;"}
@@ -0,0 +1,5 @@
1
+ export declare enum BindingMode {
2
+ OneWay = "oneWay",
3
+ TwoWay = "twoWay"
4
+ }
5
+ //# sourceMappingURL=BindingMode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BindingMode.d.ts","sourceRoot":"","sources":["../../../common/BindingMode.ts"],"names":[],"mappings":"AAMA,oBAAY,WAAW;IAEnB,MAAM,WAAW;IAGjB,MAAM,WAAW;CACpB"}
@@ -0,0 +1,12 @@
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
+ * How updates flow between a binding source and target.
5
+ */ var BindingMode = /*#__PURE__*/ function(BindingMode) {
6
+ /** Source changes update the target; target changes are not written back. */ BindingMode["OneWay"] = "oneWay";
7
+ /** Source and target changes flow both directions when both properties declare support. */ BindingMode["TwoWay"] = "twoWay";
8
+ return BindingMode;
9
+ }({});
10
+
11
+ export { BindingMode };
12
+ //# sourceMappingURL=BindingMode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BindingMode.js","sources":["../../../common/BindingMode.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 * How updates flow between a binding source and target.\n */\nexport enum BindingMode {\n /** Source changes update the target; target changes are not written back. */\n OneWay = 'oneWay',\n\n /** Source and target changes flow both directions when both properties declare support. */\n TwoWay = 'twoWay',\n}\n"],"names":["BindingMode"],"mappings":"AAAA;AACA;AAEA;;IAGO,IAAKA,WAAAA,iBAAAA,SAAAA,WAAAA,EAAAA;kFACmE,WAAA,CAAA,QAAA,CAAA,GAAA,QAAA;gGAGc,WAAA,CAAA,QAAA,CAAA,GAAA,QAAA;AAJjFA,IAAAA,OAAAA,WAAAA;AAMX,CAAA,CAAA,EAAA;;"}
@@ -0,0 +1,6 @@
1
+ export declare enum BindingNullBehavior {
2
+ Propagate = "propagate",
3
+ Clear = "clear",
4
+ Preserve = "preserve"
5
+ }
6
+ //# sourceMappingURL=BindingNullBehavior.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BindingNullBehavior.d.ts","sourceRoot":"","sources":["../../../common/BindingNullBehavior.ts"],"names":[],"mappings":"AAMA,oBAAY,mBAAmB;IAE3B,SAAS,cAAc;IAGvB,KAAK,UAAU;IAGf,QAAQ,aAAa;CACxB"}
@@ -0,0 +1,13 @@
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
+ * What a binding target does when its source resolves to null or undefined.
5
+ */ var BindingNullBehavior = /*#__PURE__*/ function(BindingNullBehavior) {
6
+ /** Propagate null to the target. */ BindingNullBehavior["Propagate"] = "propagate";
7
+ /** Clear the target to its empty state. */ BindingNullBehavior["Clear"] = "clear";
8
+ /** Leave the target's current value unchanged. */ BindingNullBehavior["Preserve"] = "preserve";
9
+ return BindingNullBehavior;
10
+ }({});
11
+
12
+ export { BindingNullBehavior };
13
+ //# sourceMappingURL=BindingNullBehavior.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BindingNullBehavior.js","sources":["../../../common/BindingNullBehavior.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 * What a binding target does when its source resolves to null or undefined.\n */\nexport enum BindingNullBehavior {\n /** Propagate null to the target. */\n Propagate = 'propagate',\n\n /** Clear the target to its empty state. */\n Clear = 'clear',\n\n /** Leave the target's current value unchanged. */\n Preserve = 'preserve',\n}\n"],"names":["BindingNullBehavior"],"mappings":"AAAA;AACA;AAEA;;IAGO,IAAKA,mBAAAA,iBAAAA,SAAAA,mBAAAA,EAAAA;yCAC0B,mBAAA,CAAA,WAAA,CAAA,GAAA,WAAA;gDAGO,mBAAA,CAAA,OAAA,CAAA,GAAA,OAAA;uDAGO,mBAAA,CAAA,UAAA,CAAA,GAAA,UAAA;AAPxCA,IAAAA,OAAAA,mBAAAA;AASX,CAAA,CAAA,EAAA;;"}
@@ -0,0 +1,7 @@
1
+ export declare enum BindingSourceKind {
2
+ DataContext = "dataContext",
3
+ QueryResult = "queryResult",
4
+ ComponentProperty = "componentProperty",
5
+ Literal = "literal"
6
+ }
7
+ //# sourceMappingURL=BindingSourceKind.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BindingSourceKind.d.ts","sourceRoot":"","sources":["../../../common/BindingSourceKind.ts"],"names":[],"mappings":"AAMA,oBAAY,iBAAiB;IAEzB,WAAW,gBAAgB;IAG3B,WAAW,gBAAgB;IAG3B,iBAAiB,sBAAsB;IAGvC,OAAO,YAAY;CACtB"}
@@ -0,0 +1,14 @@
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 source a binding reads from.
5
+ */ var BindingSourceKind = /*#__PURE__*/ function(BindingSourceKind) {
6
+ /** The inherited effective data context for the element. */ BindingSourceKind["DataContext"] = "dataContext";
7
+ /** The latest result of a named query binding. */ BindingSourceKind["QueryResult"] = "queryResult";
8
+ /** An output property from another stable component identity. */ BindingSourceKind["ComponentProperty"] = "componentProperty";
9
+ /** A literal value carried by the binding. */ BindingSourceKind["Literal"] = "literal";
10
+ return BindingSourceKind;
11
+ }({});
12
+
13
+ export { BindingSourceKind };
14
+ //# sourceMappingURL=BindingSourceKind.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BindingSourceKind.js","sources":["../../../common/BindingSourceKind.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 source a binding reads from.\n */\nexport enum BindingSourceKind {\n /** The inherited effective data context for the element. */\n DataContext = 'dataContext',\n\n /** The latest result of a named query binding. */\n QueryResult = 'queryResult',\n\n /** An output property from another stable component identity. */\n ComponentProperty = 'componentProperty',\n\n /** A literal value carried by the binding. */\n Literal = 'literal',\n}\n"],"names":["BindingSourceKind"],"mappings":"AAAA;AACA;AAEA;;IAGO,IAAKA,iBAAAA,iBAAAA,SAAAA,iBAAAA,EAAAA;iEACkD,iBAAA,CAAA,aAAA,CAAA,GAAA,aAAA;uDAGV,iBAAA,CAAA,aAAA,CAAA,GAAA,aAAA;sEAGe,iBAAA,CAAA,mBAAA,CAAA,GAAA,mBAAA;mDAGnB,iBAAA,CAAA,SAAA,CAAA,GAAA,SAAA;AAVpCA,IAAAA,OAAAA,iBAAAA;AAYX,CAAA,CAAA,EAAA;;"}
@@ -0,0 +1,6 @@
1
+ export declare enum DestinationKind {
2
+ Outlet = "outlet",
3
+ Dialog = "dialog",
4
+ External = "external"
5
+ }
6
+ //# sourceMappingURL=DestinationKind.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DestinationKind.d.ts","sourceRoot":"","sources":["../../../common/DestinationKind.ts"],"names":[],"mappings":"AAMA,oBAAY,eAAe;IACvB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,QAAQ,aAAa;CACxB"}
@@ -0,0 +1,13 @@
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 navigational surface a destination opens.
5
+ */ var DestinationKind = /*#__PURE__*/ function(DestinationKind) {
6
+ DestinationKind["Outlet"] = "outlet";
7
+ DestinationKind["Dialog"] = "dialog";
8
+ DestinationKind["External"] = "external";
9
+ return DestinationKind;
10
+ }({});
11
+
12
+ export { DestinationKind };
13
+ //# sourceMappingURL=DestinationKind.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DestinationKind.js","sources":["../../../common/DestinationKind.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 navigational surface a destination opens.\n */\nexport enum DestinationKind {\n Outlet = 'outlet',\n Dialog = 'dialog',\n External = 'external',\n}\n"],"names":["DestinationKind"],"mappings":"AAAA;AACA;AAEA;;IAGO,IAAKA,eAAAA,iBAAAA,SAAAA,eAAAA,EAAAA;;;;AAAAA,IAAAA,OAAAA,eAAAA;AAIX,CAAA,CAAA,EAAA;;"}
@@ -1,6 +1,14 @@
1
1
  import { BindingExpression } from './BindingExpression';
2
+ import { DestinationKind } from './DestinationKind';
2
3
  export interface DestinationReference {
3
- screen: string;
4
+ screen?: string;
5
+ module?: string;
6
+ feature?: string;
7
+ slice?: string;
8
+ outlet?: string;
9
+ route?: string;
10
+ kind?: DestinationKind;
11
+ dialog?: string;
4
12
  routeParameterBindings?: Record<string, BindingExpression>;
5
13
  }
6
14
  export declare const DestinationReferencePropertyNames: (keyof DestinationReference)[];
@@ -1 +1 @@
1
- {"version":3,"file":"DestinationReference.d.ts","sourceRoot":"","sources":["../../../common/DestinationReference.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAMxD,MAAM,WAAW,oBAAoB;IAEjC,MAAM,EAAE,MAAM,CAAC;IAGf,sBAAsB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;CAC9D;AAED,eAAO,MAAM,iCAAiC,EAAE,CAAC,MAAM,oBAAoB,CAAC,EAAyC,CAAC"}
1
+ {"version":3,"file":"DestinationReference.d.ts","sourceRoot":"","sources":["../../../common/DestinationReference.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAQpD,MAAM,WAAW,oBAAoB;IAEjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAGhB,MAAM,CAAC,EAAE,MAAM,CAAC;IAGhB,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,KAAK,CAAC,EAAE,MAAM,CAAC;IAGf,MAAM,CAAC,EAAE,MAAM,CAAC;IAGhB,KAAK,CAAC,EAAE,MAAM,CAAC;IAGf,IAAI,CAAC,EAAE,eAAe,CAAC;IAGvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAGhB,sBAAsB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;CAC9D;AAED,eAAO,MAAM,iCAAiC,EAAE,CAAC,MAAM,oBAAoB,CAAC,EAE3E,CAAC"}
@@ -2,6 +2,13 @@
2
2
  // Licensed under the MIT license. See LICENSE file in the project root for full license information.
3
3
  const DestinationReferencePropertyNames = [
4
4
  'screen',
5
+ 'module',
6
+ 'feature',
7
+ 'slice',
8
+ 'outlet',
9
+ 'route',
10
+ 'kind',
11
+ 'dialog',
5
12
  'routeParameterBindings'
6
13
  ];
7
14
 
@@ -1 +1 @@
1
- {"version":3,"file":"DestinationReference.js","sources":["../../../common/DestinationReference.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 } from './BindingExpression';\n\n/**\n * Where activating something takes the user: a screen, named rather than addressed. Turning the name into a\n * URL, query string or native deep link is a renderer's job, the same as for a `NavigateAction`.\n */\nexport interface DestinationReference {\n /** The name of the screen to go to. */\n screen: string;\n\n /** The values for the screen's route parameters, keyed by parameter name. */\n routeParameterBindings?: Record<string, BindingExpression>;\n}\n\nexport const DestinationReferencePropertyNames: (keyof DestinationReference)[] = ['screen', 'routeParameterBindings'];\n"],"names":["DestinationReferencePropertyNames"],"mappings":"AAAA;AACA;MAgBaA,iCAAAA,GAAoE;AAAC,IAAA,QAAA;AAAU,IAAA;;;"}
1
+ {"version":3,"file":"DestinationReference.js","sources":["../../../common/DestinationReference.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 } from './BindingExpression';\n\nimport { DestinationKind } from './DestinationKind';\n\n/**\n * Where activating something takes the user.\n *\n * Stable module/feature/slice identity is carried separately from labels and authored URLs. A renderer maps\n * the destination to a URL, route state, native deep link, dialog or named outlet without guessing from text.\n */\nexport interface DestinationReference {\n /** The legacy or explicit screen name to go to. */\n screen?: string;\n\n /** Stable module identity. */\n module?: string;\n\n /** Stable feature identity inside the module. */\n feature?: string;\n\n /** Stable slice identity inside the feature. */\n slice?: string;\n\n /** The named outlet to replace; absent means the host's primary outlet. */\n outlet?: string;\n\n /** The authored URL/path override, when the default route should not be derived from identity. */\n route?: string;\n\n /** Whether this opens in an outlet, a dialog, or an external target. */\n kind?: DestinationKind;\n\n /** A dialog template or dialog identity when `kind` is `dialog`. */\n dialog?: string;\n\n /** The values for route or screen parameters, keyed by parameter name. */\n routeParameterBindings?: Record<string, BindingExpression>;\n}\n\nexport const DestinationReferencePropertyNames: (keyof DestinationReference)[] = [\n 'screen', 'module', 'feature', 'slice', 'outlet', 'route', 'kind', 'dialog', 'routeParameterBindings',\n];\n"],"names":["DestinationReferencePropertyNames"],"mappings":"AAAA;AACA;MAyCaA,iCAAAA,GAAoE;AAC7E,IAAA,QAAA;AAAU,IAAA,QAAA;AAAU,IAAA,SAAA;AAAW,IAAA,OAAA;AAAS,IAAA,QAAA;AAAU,IAAA,OAAA;AAAS,IAAA,MAAA;AAAQ,IAAA,QAAA;AAAU,IAAA;;;"}
@@ -5,9 +5,13 @@ export * from './HorizontalAlignment';
5
5
  export * from './VerticalAlignment';
6
6
  export * from './Visibility';
7
7
  export * from './BindingExpression';
8
+ export * from './BindingSourceKind';
9
+ export * from './BindingMode';
10
+ export * from './BindingNullBehavior';
8
11
  export * from './Orientation';
9
12
  export * from './Dock';
10
13
  export * from './GridUnitType';
11
14
  export * from './GridLength';
12
15
  export * from './DestinationReference';
16
+ export * from './DestinationKind';
13
17
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../common/index.ts"],"names":[],"mappings":"AAGA,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC;AACvB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../common/index.ts"],"names":[],"mappings":"AAGA,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC;AACvB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC"}
@@ -5,9 +5,13 @@ export * from './HorizontalAlignment';
5
5
  export * from './VerticalAlignment';
6
6
  export * from './Visibility';
7
7
  export * from './BindingExpression';
8
+ export * from './BindingSourceKind';
9
+ export * from './BindingMode';
10
+ export * from './BindingNullBehavior';
8
11
  export * from './Orientation';
9
12
  export * from './Dock';
10
13
  export * from './GridUnitType';
11
14
  export * from './GridLength';
12
15
  export * from './DestinationReference';
16
+ export * from './DestinationKind';
13
17
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../common/index.ts"],"names":[],"mappings":"AAGA,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC;AACvB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../common/index.ts"],"names":[],"mappings":"AAGA,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC;AACvB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC"}
@@ -1,8 +1,12 @@
1
- import { BindingExpression } from '../common';
1
+ import { BindingExpression, DestinationReference } from '../common';
2
2
  export interface NavigationItem {
3
+ id?: string;
3
4
  label: string;
5
+ icon?: string;
6
+ presentation?: string;
4
7
  targetScreen: string;
5
8
  routeParameterBindings: Record<string, BindingExpression>;
9
+ destination?: DestinationReference;
6
10
  order?: number;
7
11
  group?: string;
8
12
  }
@@ -1 +1 @@
1
- {"version":3,"file":"NavigationItem.d.ts","sourceRoot":"","sources":["../../../contributionPoints/NavigationItem.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAO9C,MAAM,WAAW,cAAc;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAC1D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,2BAA2B,EAAE,CAAC,MAAM,cAAc,CAAC,EAE/D,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;CAClB;AAED,eAAO,MAAM,2BAA2B,EAAE,CAAC,MAAM,cAAc,CAAC,EAE/D,CAAC"}
@@ -1,9 +1,13 @@
1
1
  // Copyright (c) Cratis. All rights reserved.
2
2
  // Licensed under the MIT license. See LICENSE file in the project root for full license information.
3
3
  const NavigationItemPropertyNames = [
4
+ 'id',
4
5
  'label',
6
+ 'icon',
7
+ 'presentation',
5
8
  'targetScreen',
6
9
  'routeParameterBindings',
10
+ 'destination',
7
11
  'order',
8
12
  'group'
9
13
  ];
@@ -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 } 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 label: string;\n targetScreen: string;\n routeParameterBindings: Record<string, BindingExpression>;\n order?: number;\n group?: string;\n}\n\nexport const NavigationItemPropertyNames: (keyof NavigationItem)[] = [\n 'label', 'targetScreen', 'routeParameterBindings', 'order', 'group',\n];\n"],"names":["NavigationItemPropertyNames"],"mappings":"AAAA;AACA;MAiBaA,2BAAAA,GAAwD;AACjE,IAAA,OAAA;AAAS,IAAA,cAAA;AAAgB,IAAA,wBAAA;AAA0B,IAAA,OAAA;AAAS,IAAA;;;"}
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;MAkCaA,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;;;"}
@@ -1,3 +1,4 @@
1
+ import { DesignTimeActionDescriptor } from './DesignTimeActionDescriptor';
1
2
  import { PropertyDescriptor } from './PropertyDescriptor';
2
3
  export interface ComponentDescriptor {
3
4
  component: string;
@@ -5,6 +6,9 @@ export interface ComponentDescriptor {
5
6
  description?: string;
6
7
  editorKind?: string;
7
8
  properties: PropertyDescriptor[];
9
+ actions?: DesignTimeActionDescriptor[];
10
+ previewKind?: string;
11
+ propertyDisplayKind?: string;
8
12
  }
9
13
  export declare const ComponentDescriptorPropertyNames: (keyof ComponentDescriptor)[];
10
14
  //# sourceMappingURL=ComponentDescriptor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ComponentDescriptor.d.ts","sourceRoot":"","sources":["../../../descriptors/ComponentDescriptor.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAS1D,MAAM,WAAW,mBAAmB;IAKhC,SAAS,EAAE,MAAM,CAAC;IAGlB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,WAAW,CAAC,EAAE,MAAM,CAAC;IAGrB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,UAAU,EAAE,kBAAkB,EAAE,CAAC;CACpC;AAED,eAAO,MAAM,gCAAgC,EAAE,CAAC,MAAM,mBAAmB,CAAC,EAEzE,CAAC"}
1
+ {"version":3,"file":"ComponentDescriptor.d.ts","sourceRoot":"","sources":["../../../descriptors/ComponentDescriptor.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAS1D,MAAM,WAAW,mBAAmB;IAKhC,SAAS,EAAE,MAAM,CAAC;IAGlB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,WAAW,CAAC,EAAE,MAAM,CAAC;IAGrB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,UAAU,EAAE,kBAAkB,EAAE,CAAC;IAGjC,OAAO,CAAC,EAAE,0BAA0B,EAAE,CAAC;IAGvC,WAAW,CAAC,EAAE,MAAM,CAAC;IAGrB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,eAAO,MAAM,gCAAgC,EAAE,CAAC,MAAM,mBAAmB,CAAC,EAEzE,CAAC"}
@@ -5,7 +5,10 @@ const ComponentDescriptorPropertyNames = [
5
5
  'displayName',
6
6
  'description',
7
7
  'editorKind',
8
- 'properties'
8
+ 'properties',
9
+ 'actions',
10
+ 'previewKind',
11
+ 'propertyDisplayKind'
9
12
  ];
10
13
 
11
14
  export { ComponentDescriptorPropertyNames };
@@ -1 +1 @@
1
- {"version":3,"file":"ComponentDescriptor.js","sources":["../../../descriptors/ComponentDescriptor.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 { PropertyDescriptor } from './PropertyDescriptor';\n\n/**\n * What can be edited on one component a package provides.\n *\n * Packages contribute these alongside the components themselves (a bundle's `descriptors`), through the same\n * package mechanism that already carries components, layouts and themes - there is no second registry to keep in\n * step.\n */\nexport interface ComponentDescriptor {\n /**\n * The component this describes, as the package names it: `<package>:<bare name>`, the same key a bundle\n * registers the component under (for example `Cratis.Components:dataTable`).\n */\n component: string;\n\n /** A human-readable name for a palette or an inspector title. */\n displayName?: string;\n\n description?: string;\n\n /** Names a specialised editor for the component as a whole, when its properties are not edited one by one. */\n editorKind?: string;\n\n properties: PropertyDescriptor[];\n}\n\nexport const ComponentDescriptorPropertyNames: (keyof ComponentDescriptor)[] = [\n 'component', 'displayName', 'description', 'editorKind', 'properties',\n];\n"],"names":["ComponentDescriptorPropertyNames"],"mappings":"AAAA;AACA;MA6BaA,gCAAAA,GAAkE;AAC3E,IAAA,WAAA;AAAa,IAAA,aAAA;AAAe,IAAA,aAAA;AAAe,IAAA,YAAA;AAAc,IAAA;;;"}
1
+ {"version":3,"file":"ComponentDescriptor.js","sources":["../../../descriptors/ComponentDescriptor.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 { DesignTimeActionDescriptor } from './DesignTimeActionDescriptor';\nimport { PropertyDescriptor } from './PropertyDescriptor';\n\n/**\n * What can be edited on one component a package provides.\n *\n * Packages contribute these alongside the components themselves (a bundle's `descriptors`), through the same\n * package mechanism that already carries components, layouts and themes - there is no second registry to keep in\n * step.\n */\nexport interface ComponentDescriptor {\n /**\n * The component this describes, as the package names it: `<package>:<bare name>`, the same key a bundle\n * registers the component under (for example `Cratis.Components:dataTable`).\n */\n component: string;\n\n /** A human-readable name for a palette or an inspector title. */\n displayName?: string;\n\n description?: string;\n\n /** Names a specialised editor for the component as a whole, when its properties are not edited one by one. */\n editorKind?: string;\n\n properties: PropertyDescriptor[];\n\n /** Package-provided design-time actions for this component. */\n actions?: DesignTimeActionDescriptor[];\n\n /** Names an optional package-provided preview renderer. */\n previewKind?: string;\n\n /** Names an optional package-provided property display renderer set. */\n propertyDisplayKind?: string;\n}\n\nexport const ComponentDescriptorPropertyNames: (keyof ComponentDescriptor)[] = [\n 'component', 'displayName', 'description', 'editorKind', 'properties', 'actions', 'previewKind', 'propertyDisplayKind',\n];\n"],"names":["ComponentDescriptorPropertyNames"],"mappings":"AAAA;AACA;MAuCaA,gCAAAA,GAAkE;AAC3E,IAAA,WAAA;AAAa,IAAA,aAAA;AAAe,IAAA,aAAA;AAAe,IAAA,YAAA;AAAc,IAAA,YAAA;AAAc,IAAA,SAAA;AAAW,IAAA,aAAA;AAAe,IAAA;;;"}