@cratis/scene.model 4.26.0 → 4.28.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 (117) hide show
  1. package/descriptors/CollectionOperation.ts +6 -0
  2. package/dist/cjs/descriptors/CollectionOperation.js +4 -0
  3. package/dist/cjs/descriptors/CollectionOperation.js.map +1 -1
  4. package/dist/cjs/exposure/InstanceContribution.js +2 -1
  5. package/dist/cjs/exposure/InstanceContribution.js.map +1 -1
  6. package/dist/cjs/index.js +22 -0
  7. package/dist/cjs/index.js.map +1 -1
  8. package/dist/cjs/navigation/ApplicationLogo.js +13 -0
  9. package/dist/cjs/navigation/ApplicationLogo.js.map +1 -0
  10. package/dist/cjs/navigation/ApplicationNavigation.js +11 -0
  11. package/dist/cjs/navigation/ApplicationNavigation.js.map +1 -0
  12. package/dist/cjs/navigation/ModuleNavigation.js +11 -0
  13. package/dist/cjs/navigation/ModuleNavigation.js.map +1 -0
  14. package/dist/cjs/navigation/NavItem.js +15 -0
  15. package/dist/cjs/navigation/NavItem.js.map +1 -0
  16. package/dist/cjs/navigation/NavigationModel.js +11 -0
  17. package/dist/cjs/navigation/NavigationModel.js.map +1 -0
  18. package/dist/cjs/navigation/NavigationRegion.js +12 -0
  19. package/dist/cjs/navigation/NavigationRegion.js.map +1 -0
  20. package/dist/cjs/navigation/NavigationRegionKind.js +14 -0
  21. package/dist/cjs/navigation/NavigationRegionKind.js.map +1 -0
  22. package/dist/cjs/navigation/NavigationRegionMode.js +15 -0
  23. package/dist/cjs/navigation/NavigationRegionMode.js.map +1 -0
  24. package/dist/cjs/structure/SliceNode.js +3 -1
  25. package/dist/cjs/structure/SliceNode.js.map +1 -1
  26. package/dist/cjs/toolbar/Toolbar.js +10 -0
  27. package/dist/cjs/toolbar/Toolbar.js.map +1 -0
  28. package/dist/cjs/toolbar/ToolbarButton.js +15 -0
  29. package/dist/cjs/toolbar/ToolbarButton.js.map +1 -0
  30. package/dist/cjs/toolbar/ToolbarEmphasis.js +15 -0
  31. package/dist/cjs/toolbar/ToolbarEmphasis.js.map +1 -0
  32. package/dist/esm/descriptors/CollectionOperation.d.ts +2 -1
  33. package/dist/esm/descriptors/CollectionOperation.d.ts.map +1 -1
  34. package/dist/esm/descriptors/CollectionOperation.js +4 -0
  35. package/dist/esm/descriptors/CollectionOperation.js.map +1 -1
  36. package/dist/esm/exposure/InstanceContribution.d.ts +1 -0
  37. package/dist/esm/exposure/InstanceContribution.d.ts.map +1 -1
  38. package/dist/esm/exposure/InstanceContribution.js +2 -1
  39. package/dist/esm/exposure/InstanceContribution.js.map +1 -1
  40. package/dist/esm/index.d.ts +2 -0
  41. package/dist/esm/index.d.ts.map +1 -1
  42. package/dist/esm/index.js +11 -0
  43. package/dist/esm/index.js.map +1 -1
  44. package/dist/esm/navigation/ApplicationLogo.d.ts +6 -0
  45. package/dist/esm/navigation/ApplicationLogo.d.ts.map +1 -0
  46. package/dist/esm/navigation/ApplicationLogo.js +11 -0
  47. package/dist/esm/navigation/ApplicationLogo.js.map +1 -0
  48. package/dist/esm/navigation/ApplicationNavigation.d.ts +8 -0
  49. package/dist/esm/navigation/ApplicationNavigation.d.ts.map +1 -0
  50. package/dist/esm/navigation/ApplicationNavigation.js +9 -0
  51. package/dist/esm/navigation/ApplicationNavigation.js.map +1 -0
  52. package/dist/esm/navigation/ModuleNavigation.d.ts +7 -0
  53. package/dist/esm/navigation/ModuleNavigation.d.ts.map +1 -0
  54. package/dist/esm/navigation/ModuleNavigation.js +9 -0
  55. package/dist/esm/navigation/ModuleNavigation.js.map +1 -0
  56. package/dist/esm/navigation/NavItem.d.ts +11 -0
  57. package/dist/esm/navigation/NavItem.d.ts.map +1 -0
  58. package/dist/esm/navigation/NavItem.js +13 -0
  59. package/dist/esm/navigation/NavItem.js.map +1 -0
  60. package/dist/esm/navigation/NavigationModel.d.ts +8 -0
  61. package/dist/esm/navigation/NavigationModel.d.ts.map +1 -0
  62. package/dist/esm/navigation/NavigationModel.js +9 -0
  63. package/dist/esm/navigation/NavigationModel.js.map +1 -0
  64. package/dist/esm/navigation/NavigationRegion.d.ts +10 -0
  65. package/dist/esm/navigation/NavigationRegion.d.ts.map +1 -0
  66. package/dist/esm/navigation/NavigationRegion.js +10 -0
  67. package/dist/esm/navigation/NavigationRegion.js.map +1 -0
  68. package/dist/esm/navigation/NavigationRegionKind.d.ts +5 -0
  69. package/dist/esm/navigation/NavigationRegionKind.d.ts.map +1 -0
  70. package/dist/esm/navigation/NavigationRegionKind.js +12 -0
  71. package/dist/esm/navigation/NavigationRegionKind.js.map +1 -0
  72. package/dist/esm/navigation/NavigationRegionMode.d.ts +6 -0
  73. package/dist/esm/navigation/NavigationRegionMode.d.ts.map +1 -0
  74. package/dist/esm/navigation/NavigationRegionMode.js +13 -0
  75. package/dist/esm/navigation/NavigationRegionMode.js.map +1 -0
  76. package/dist/esm/navigation/index.d.ts +9 -0
  77. package/dist/esm/navigation/index.d.ts.map +1 -0
  78. package/dist/esm/navigation/index.js +9 -0
  79. package/dist/esm/navigation/index.js.map +1 -0
  80. package/dist/esm/structure/SliceNode.d.ts +2 -0
  81. package/dist/esm/structure/SliceNode.d.ts.map +1 -1
  82. package/dist/esm/structure/SliceNode.js +3 -1
  83. package/dist/esm/structure/SliceNode.js.map +1 -1
  84. package/dist/esm/toolbar/Toolbar.d.ts +6 -0
  85. package/dist/esm/toolbar/Toolbar.d.ts.map +1 -0
  86. package/dist/esm/toolbar/Toolbar.js +8 -0
  87. package/dist/esm/toolbar/Toolbar.js.map +1 -0
  88. package/dist/esm/toolbar/ToolbarButton.d.ts +11 -0
  89. package/dist/esm/toolbar/ToolbarButton.d.ts.map +1 -0
  90. package/dist/esm/toolbar/ToolbarButton.js +13 -0
  91. package/dist/esm/toolbar/ToolbarButton.js.map +1 -0
  92. package/dist/esm/toolbar/ToolbarEmphasis.d.ts +6 -0
  93. package/dist/esm/toolbar/ToolbarEmphasis.d.ts.map +1 -0
  94. package/dist/esm/toolbar/ToolbarEmphasis.js +13 -0
  95. package/dist/esm/toolbar/ToolbarEmphasis.js.map +1 -0
  96. package/dist/esm/toolbar/index.d.ts +4 -0
  97. package/dist/esm/toolbar/index.d.ts.map +1 -0
  98. package/dist/esm/toolbar/index.js +4 -0
  99. package/dist/esm/toolbar/index.js.map +1 -0
  100. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  101. package/exposure/InstanceContribution.ts +8 -1
  102. package/index.ts +2 -0
  103. package/navigation/ApplicationLogo.ts +15 -0
  104. package/navigation/ApplicationNavigation.ts +18 -0
  105. package/navigation/ModuleNavigation.ts +17 -0
  106. package/navigation/NavItem.ts +32 -0
  107. package/navigation/NavigationModel.ts +18 -0
  108. package/navigation/NavigationRegion.ts +25 -0
  109. package/navigation/NavigationRegionKind.ts +13 -0
  110. package/navigation/NavigationRegionMode.ts +16 -0
  111. package/navigation/index.ts +11 -0
  112. package/package.json +1 -1
  113. package/structure/SliceNode.ts +7 -1
  114. package/toolbar/Toolbar.ts +14 -0
  115. package/toolbar/ToolbarButton.ts +36 -0
  116. package/toolbar/ToolbarEmphasis.ts +16 -0
  117. package/toolbar/index.ts +6 -0
@@ -17,4 +17,10 @@ export enum CollectionOperation {
17
17
 
18
18
  /** Change the field values of an item the consumer added. */
19
19
  EditFields = 'edit-fields',
20
+
21
+ /**
22
+ * Hide the items the owner (and every level above) put in the collection, so the consumer's own items are all there is.
23
+ * An instance says so with `replaceOwnerItems`; the owner's items stay in the owner and come back when it stops.
24
+ */
25
+ Replace = 'replace',
20
26
  }
@@ -10,6 +10,10 @@
10
10
  /** Remove an item the consumer added. */ CollectionOperation["Remove"] = "remove";
11
11
  /** Change where an item the consumer added sits. */ CollectionOperation["Reorder"] = "reorder";
12
12
  /** Change the field values of an item the consumer added. */ CollectionOperation["EditFields"] = "edit-fields";
13
+ /**
14
+ * Hide the items the owner (and every level above) put in the collection, so the consumer's own items are all there is.
15
+ * An instance says so with `replaceOwnerItems`; the owner's items stay in the owner and come back when it stops.
16
+ */ CollectionOperation["Replace"] = "replace";
13
17
  return CollectionOperation;
14
18
  }({});
15
19
 
@@ -1 +1 @@
1
- {"version":3,"file":"CollectionOperation.js","sources":["../../../descriptors/CollectionOperation.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 * One thing a consumer may do to a collection a template author has exposed. Each is granted on its own: allowing\n * a consumer to add an item says nothing about removing or reordering one.\n */\nexport enum CollectionOperation {\n /** Add an item. */\n Add = 'add',\n\n /** Remove an item the consumer added. */\n Remove = 'remove',\n\n /** Change where an item the consumer added sits. */\n Reorder = 'reorder',\n\n /** Change the field values of an item the consumer added. */\n EditFields = 'edit-fields',\n}\n"],"names":["CollectionOperation"],"mappings":";;AAAA;AACA;AAEA;;;IAIO,IAAKA,mBAAAA,iBAAAA,SAAAA,mBAAAA,EAAAA;wBACS,mBAAA,CAAA,KAAA,CAAA,GAAA,KAAA;8CAGsB,mBAAA,CAAA,QAAA,CAAA,GAAA,QAAA;yDAGW,mBAAA,CAAA,SAAA,CAAA,GAAA,SAAA;kEAGS,mBAAA,CAAA,YAAA,CAAA,GAAA,aAAA;AAVnDA,IAAAA,OAAAA,mBAAAA;AAYX,CAAA,CAAA,EAAA;;"}
1
+ {"version":3,"file":"CollectionOperation.js","sources":["../../../descriptors/CollectionOperation.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 * One thing a consumer may do to a collection a template author has exposed. Each is granted on its own: allowing\n * a consumer to add an item says nothing about removing or reordering one.\n */\nexport enum CollectionOperation {\n /** Add an item. */\n Add = 'add',\n\n /** Remove an item the consumer added. */\n Remove = 'remove',\n\n /** Change where an item the consumer added sits. */\n Reorder = 'reorder',\n\n /** Change the field values of an item the consumer added. */\n EditFields = 'edit-fields',\n\n /**\n * Hide the items the owner (and every level above) put in the collection, so the consumer's own items are all there is.\n * An instance says so with `replaceOwnerItems`; the owner's items stay in the owner and come back when it stops.\n */\n Replace = 'replace',\n}\n"],"names":["CollectionOperation"],"mappings":";;AAAA;AACA;AAEA;;;IAIO,IAAKA,mBAAAA,iBAAAA,SAAAA,mBAAAA,EAAAA;wBACS,mBAAA,CAAA,KAAA,CAAA,GAAA,KAAA;8CAGsB,mBAAA,CAAA,QAAA,CAAA,GAAA,QAAA;yDAGW,mBAAA,CAAA,SAAA,CAAA,GAAA,SAAA;kEAGS,mBAAA,CAAA,YAAA,CAAA,GAAA,aAAA;AAG3D;;;AAGC,QAAA,mBAAA,CAAA,SAAA,CAAA,GAAA,SAAA;AAhBOA,IAAAA,OAAAA,mBAAAA;AAkBX,CAAA,CAAA,EAAA;;"}
@@ -7,7 +7,8 @@ const InstanceContributionPropertyNames = [
7
7
  'component',
8
8
  'path',
9
9
  'value',
10
- 'items'
10
+ 'items',
11
+ 'replaceOwnerItems'
11
12
  ];
12
13
 
13
14
  exports.InstanceContributionPropertyNames = InstanceContributionPropertyNames;
@@ -1 +1 @@
1
- {"version":3,"file":"InstanceContribution.js","sources":["../../../exposure/InstanceContribution.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 { ContributedItem } from './ContributedItem';\n\n/**\n * What one template instance sets on one exposed property.\n *\n * Contributions are kept apart from the template they configure - a screen filling a template stores its own\n * values here and never a copy of the template tree, so changing the template reaches every instance. They are\n * keyed by instance, component and property path; collection items by their own id.\n *\n * A scalar property carries `value`; a collection carries `items`, which are appended after the owner's own items\n * in the order given.\n */\nexport interface InstanceContribution {\n /**\n * The instance contributing: `screen:<name>` for a screen filling a template, `template:<name>` for a\n * template sitting inside another template's slot, `dialog:<name>` for a dialog.\n */\n instance: string;\n\n /** The id of the element the property belongs to. */\n component: string;\n\n /** The property's path. */\n path: string;\n\n /** The value of a scalar property. */\n value?: unknown;\n\n /** The items a collection property gets from this instance, in order. */\n items?: ContributedItem[];\n}\n\nexport const InstanceContributionPropertyNames: (keyof InstanceContribution)[] = ['instance', 'component', 'path', 'value', 'items'];\n"],"names":["InstanceContributionPropertyNames"],"mappings":";;AAAA;AACA;MAkCaA,iCAAAA,GAAoE;AAAC,IAAA,UAAA;AAAY,IAAA,WAAA;AAAa,IAAA,MAAA;AAAQ,IAAA,OAAA;AAAS,IAAA;;;"}
1
+ {"version":3,"file":"InstanceContribution.js","sources":["../../../exposure/InstanceContribution.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 { ContributedItem } from './ContributedItem';\n\n/**\n * What one template instance sets on one exposed property.\n *\n * Contributions are kept apart from the template they configure - a screen filling a template stores its own\n * values here and never a copy of the template tree, so changing the template reaches every instance. They are\n * keyed by instance, component and property path; collection items by their own id.\n *\n * A scalar property carries `value`; a collection carries `items`, which are appended after the owner's own items\n * in the order given.\n */\nexport interface InstanceContribution {\n /**\n * The instance contributing: `screen:<name>` for a screen filling a template, `template:<name>` for a\n * template sitting inside another template's slot, `dialog:<name>` for a dialog.\n */\n instance: string;\n\n /** The id of the element the property belongs to. */\n component: string;\n\n /** The property's path. */\n path: string;\n\n /** The value of a scalar property. */\n value?: unknown;\n\n /** The items a collection property gets from this instance, in order. */\n items?: ContributedItem[];\n\n /**\n * For a collection: hide the items the owner and the levels above put in it, so only this instance's own items\n * remain. The hidden items stay where they are and come back when this is cleared. It needs the `replace`\n * operation to be exposed.\n */\n replaceOwnerItems?: boolean;\n}\n\nexport const InstanceContributionPropertyNames: (keyof InstanceContribution)[] = ['instance', 'component', 'path', 'value', 'items', 'replaceOwnerItems'];\n"],"names":["InstanceContributionPropertyNames"],"mappings":";;AAAA;AACA;MAyCaA,iCAAAA,GAAoE;AAAC,IAAA,UAAA;AAAY,IAAA,WAAA;AAAa,IAAA,MAAA;AAAQ,IAAA,OAAA;AAAS,IAAA,OAAA;AAAS,IAAA;;;"}
package/dist/cjs/index.js CHANGED
@@ -185,6 +185,17 @@ var SliceNode = require('./structure/SliceNode.js');
185
185
  var FeatureNode = require('./structure/FeatureNode.js');
186
186
  var ModuleNode = require('./structure/ModuleNode.js');
187
187
  var ApplicationStructure = require('./structure/ApplicationStructure.js');
188
+ var NavigationRegionKind = require('./navigation/NavigationRegionKind.js');
189
+ var NavigationRegionMode = require('./navigation/NavigationRegionMode.js');
190
+ var NavItem = require('./navigation/NavItem.js');
191
+ var NavigationRegion = require('./navigation/NavigationRegion.js');
192
+ var ApplicationLogo = require('./navigation/ApplicationLogo.js');
193
+ var ApplicationNavigation = require('./navigation/ApplicationNavigation.js');
194
+ var ModuleNavigation = require('./navigation/ModuleNavigation.js');
195
+ var NavigationModel = require('./navigation/NavigationModel.js');
196
+ var ToolbarEmphasis = require('./toolbar/ToolbarEmphasis.js');
197
+ var ToolbarButton = require('./toolbar/ToolbarButton.js');
198
+ var Toolbar = require('./toolbar/Toolbar.js');
188
199
 
189
200
 
190
201
 
@@ -383,4 +394,15 @@ exports.SliceNodePropertyNames = SliceNode.SliceNodePropertyNames;
383
394
  exports.FeatureNodePropertyNames = FeatureNode.FeatureNodePropertyNames;
384
395
  exports.ModuleNodePropertyNames = ModuleNode.ModuleNodePropertyNames;
385
396
  exports.ApplicationStructurePropertyNames = ApplicationStructure.ApplicationStructurePropertyNames;
397
+ exports.NavigationRegionKind = NavigationRegionKind.NavigationRegionKind;
398
+ exports.NavigationRegionMode = NavigationRegionMode.NavigationRegionMode;
399
+ exports.NavItemPropertyNames = NavItem.NavItemPropertyNames;
400
+ exports.NavigationRegionPropertyNames = NavigationRegion.NavigationRegionPropertyNames;
401
+ exports.ApplicationLogoPropertyNames = ApplicationLogo.ApplicationLogoPropertyNames;
402
+ exports.ApplicationNavigationPropertyNames = ApplicationNavigation.ApplicationNavigationPropertyNames;
403
+ exports.ModuleNavigationPropertyNames = ModuleNavigation.ModuleNavigationPropertyNames;
404
+ exports.NavigationModelPropertyNames = NavigationModel.NavigationModelPropertyNames;
405
+ exports.ToolbarEmphasis = ToolbarEmphasis.ToolbarEmphasis;
406
+ exports.ToolbarButtonPropertyNames = ToolbarButton.ToolbarButtonPropertyNames;
407
+ exports.ToolbarPropertyNames = Toolbar.ToolbarPropertyNames;
386
408
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -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
+ * The application's logo. It is defined at the application level only; a module shows it locked.
7
+ */ const ApplicationLogoPropertyNames = [
8
+ 'image',
9
+ 'title'
10
+ ];
11
+
12
+ exports.ApplicationLogoPropertyNames = ApplicationLogoPropertyNames;
13
+ //# sourceMappingURL=ApplicationLogo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApplicationLogo.js","sources":["../../../navigation/ApplicationLogo.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 application's logo. It is defined at the application level only; a module shows it locked.\n */\nexport interface ApplicationLogo {\n /** The image reference. */\n image: string;\n\n /** The application name shown with or instead of the image. */\n title: string;\n}\n\nexport const ApplicationLogoPropertyNames: (keyof ApplicationLogo)[] = ['image', 'title'];\n"],"names":["ApplicationLogoPropertyNames"],"mappings":";;AAAA;AACA;AAEA;;UAWaA,4BAAAA,GAA0D;AAAC,IAAA,OAAA;AAAS,IAAA;;;"}
@@ -0,0 +1,11 @@
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
+ const ApplicationNavigationPropertyNames = [
6
+ 'regions',
7
+ 'logo'
8
+ ];
9
+
10
+ exports.ApplicationNavigationPropertyNames = ApplicationNavigationPropertyNames;
11
+ //# sourceMappingURL=ApplicationNavigation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApplicationNavigation.js","sources":["../../../navigation/ApplicationNavigation.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 { ApplicationLogo } from './ApplicationLogo';\nimport { NavigationRegion } from './NavigationRegion';\n\n/**\n * The application-level navigation: the base every module inherits, extends or overrides.\n */\nexport interface ApplicationNavigation {\n /** The regions the application defines items for. */\n regions: NavigationRegion[];\n\n /** The application logo. */\n logo?: ApplicationLogo;\n}\n\nexport const ApplicationNavigationPropertyNames: (keyof ApplicationNavigation)[] = ['regions', 'logo'];\n"],"names":["ApplicationNavigationPropertyNames"],"mappings":";;AAAA;AACA;MAgBaA,kCAAAA,GAAsE;AAAC,IAAA,SAAA;AAAW,IAAA;;;"}
@@ -0,0 +1,11 @@
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
+ const ModuleNavigationPropertyNames = [
6
+ 'module',
7
+ 'regions'
8
+ ];
9
+
10
+ exports.ModuleNavigationPropertyNames = ModuleNavigationPropertyNames;
11
+ //# sourceMappingURL=ModuleNavigation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModuleNavigation.js","sources":["../../../navigation/ModuleNavigation.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 { NavigationRegion } from './NavigationRegion';\n\n/**\n * The navigation a module declares for the regions it changes. A region it does not declare inherits the application's.\n */\nexport interface ModuleNavigation {\n /** The module identity. */\n module: string;\n\n /** The regions the module changes. */\n regions: NavigationRegion[];\n}\n\nexport const ModuleNavigationPropertyNames: (keyof ModuleNavigation)[] = ['module', 'regions'];\n"],"names":["ModuleNavigationPropertyNames"],"mappings":";;AAAA;AACA;MAeaA,6BAAAA,GAA4D;AAAC,IAAA,QAAA;AAAU,IAAA;;;"}
@@ -0,0 +1,15 @@
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
+ const NavItemPropertyNames = [
6
+ 'id',
7
+ 'title',
8
+ 'icon',
9
+ 'target',
10
+ 'slot',
11
+ 'children'
12
+ ];
13
+
14
+ exports.NavItemPropertyNames = NavItemPropertyNames;
15
+ //# sourceMappingURL=NavItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NavItem.js","sources":["../../../navigation/NavItem.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 { DestinationReference } from '../common';\n\n/**\n * One item of a navigation region.\n */\nexport interface NavItem {\n /** The item identity, unique in its region at the level that owns it. */\n id: string;\n\n /** The text shown for the item. */\n title: string;\n\n /** Qualified icon reference, when the item has one. */\n icon?: string;\n\n /**\n * What the item navigates to: `module`, and optionally `feature` (a dotted path inside the module). A module\n * without a feature goes to the module's first feature.\n */\n target?: DestinationReference;\n\n /** The rendering slot - an outlet id - the target renders into; `content`, the primary outlet, when absent. */\n slot?: string;\n\n /** The sub-items; only a sidebar item has them. */\n children?: NavItem[];\n}\n\nexport const NavItemPropertyNames: (keyof NavItem)[] = ['id', 'title', 'icon', 'target', 'slot', 'children'];\n"],"names":["NavItemPropertyNames"],"mappings":";;AAAA;AACA;MA8BaA,oBAAAA,GAA0C;AAAC,IAAA,IAAA;AAAM,IAAA,OAAA;AAAS,IAAA,MAAA;AAAQ,IAAA,QAAA;AAAU,IAAA,MAAA;AAAQ,IAAA;;;"}
@@ -0,0 +1,11 @@
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
+ const NavigationModelPropertyNames = [
6
+ 'application',
7
+ 'modules'
8
+ ];
9
+
10
+ exports.NavigationModelPropertyNames = NavigationModelPropertyNames;
11
+ //# sourceMappingURL=NavigationModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NavigationModel.js","sources":["../../../navigation/NavigationModel.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 { ApplicationNavigation } from './ApplicationNavigation';\nimport { ModuleNavigation } from './ModuleNavigation';\n\n/**\n * All the navigation an application declares: its own regions and the regions each module changes.\n */\nexport interface NavigationModel {\n /** The application-level navigation. */\n application: ApplicationNavigation;\n\n /** The per-module navigation; a module that is not listed inherits everything. */\n modules: ModuleNavigation[];\n}\n\nexport const NavigationModelPropertyNames: (keyof NavigationModel)[] = ['application', 'modules'];\n"],"names":["NavigationModelPropertyNames"],"mappings":";;AAAA;AACA;MAgBaA,4BAAAA,GAA0D;AAAC,IAAA,aAAA;AAAe,IAAA;;;"}
@@ -0,0 +1,12 @@
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
+ const NavigationRegionPropertyNames = [
6
+ 'region',
7
+ 'mode',
8
+ 'items'
9
+ ];
10
+
11
+ exports.NavigationRegionPropertyNames = NavigationRegionPropertyNames;
12
+ //# sourceMappingURL=NavigationRegion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NavigationRegion.js","sources":["../../../navigation/NavigationRegion.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 { NavigationRegionKind } from './NavigationRegionKind';\nimport { NavigationRegionMode } from './NavigationRegionMode';\nimport { NavItem } from './NavItem';\n\n/**\n * The items one level (the application or a module) defines for one navigation region.\n */\nexport interface NavigationRegion {\n /** Which region the items belong to. */\n region: NavigationRegionKind;\n\n /**\n * How a module's items relate to the application's. Absent at the application level, which is the base, and\n * meaning `inherit` at a module.\n */\n mode?: NavigationRegionMode;\n\n /** The items, in order. */\n items: NavItem[];\n}\n\nexport const NavigationRegionPropertyNames: (keyof NavigationRegion)[] = ['region', 'mode', 'items'];\n"],"names":["NavigationRegionPropertyNames"],"mappings":";;AAAA;AACA;MAuBaA,6BAAAA,GAA4D;AAAC,IAAA,QAAA;AAAU,IAAA,MAAA;AAAQ,IAAA;;;"}
@@ -0,0 +1,14 @@
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 navigation regions an application shell has.
7
+ */ var NavigationRegionKind = /*#__PURE__*/ function(NavigationRegionKind) {
8
+ /** The flat strip along the top. */ NavigationRegionKind["Topbar"] = "topbar";
9
+ /** The side list, whose items may have sub-items. */ NavigationRegionKind["Sidebar"] = "sidebar";
10
+ return NavigationRegionKind;
11
+ }({});
12
+
13
+ exports.NavigationRegionKind = NavigationRegionKind;
14
+ //# sourceMappingURL=NavigationRegionKind.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NavigationRegionKind.js","sources":["../../../navigation/NavigationRegionKind.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 navigation regions an application shell has.\n */\nexport enum NavigationRegionKind {\n /** The flat strip along the top. */\n Topbar = 'topbar',\n\n /** The side list, whose items may have sub-items. */\n Sidebar = 'sidebar',\n}\n"],"names":["NavigationRegionKind"],"mappings":";;AAAA;AACA;AAEA;;IAGO,IAAKA,oBAAAA,iBAAAA,SAAAA,oBAAAA,EAAAA;yCAC0B,oBAAA,CAAA,QAAA,CAAA,GAAA,QAAA;0DAGiB,oBAAA,CAAA,SAAA,CAAA,GAAA,SAAA;AAJ3CA,IAAAA,OAAAA,oBAAAA;AAMX,CAAA,CAAA,EAAA;;"}
@@ -0,0 +1,15 @@
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
+ * How a module's region relates to the application's items for the same region.
7
+ */ var NavigationRegionMode = /*#__PURE__*/ function(NavigationRegionMode) {
8
+ /** Effective items are the application items; the module's own items are cleared. */ NavigationRegionMode["Inherit"] = "inherit";
9
+ /** Effective items are the application items followed by the module's items. */ NavigationRegionMode["Extend"] = "extend";
10
+ /** Effective items are the module's items only. */ NavigationRegionMode["Override"] = "override";
11
+ return NavigationRegionMode;
12
+ }({});
13
+
14
+ exports.NavigationRegionMode = NavigationRegionMode;
15
+ //# sourceMappingURL=NavigationRegionMode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NavigationRegionMode.js","sources":["../../../navigation/NavigationRegionMode.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 a module's region relates to the application's items for the same region.\n */\nexport enum NavigationRegionMode {\n /** Effective items are the application items; the module's own items are cleared. */\n Inherit = 'inherit',\n\n /** Effective items are the application items followed by the module's items. */\n Extend = 'extend',\n\n /** Effective items are the module's items only. */\n Override = 'override',\n}\n"],"names":["NavigationRegionMode"],"mappings":";;AAAA;AACA;AAEA;;IAGO,IAAKA,oBAAAA,iBAAAA,SAAAA,oBAAAA,EAAAA;0FAC2E,oBAAA,CAAA,SAAA,CAAA,GAAA,SAAA;qFAGL,oBAAA,CAAA,QAAA,CAAA,GAAA,QAAA;wDAG7B,oBAAA,CAAA,UAAA,CAAA,GAAA,UAAA;AAPzCA,IAAAA,OAAAA,oBAAAA;AASX,CAAA,CAAA,EAAA;;"}
@@ -5,7 +5,9 @@
5
5
  const SliceNodePropertyNames = [
6
6
  'id',
7
7
  'name',
8
- 'kind'
8
+ 'kind',
9
+ 'command',
10
+ 'dialogTemplate'
9
11
  ];
10
12
 
11
13
  exports.SliceNodePropertyNames = SliceNodePropertyNames;
@@ -1 +1 @@
1
- {"version":3,"file":"SliceNode.js","sources":["../../../structure/SliceNode.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 { SliceKind } from './SliceKind';\n\n/**\n * A slice in the application hierarchy.\n */\nexport interface SliceNode {\n /** The slice identity, unique among the siblings of its feature or module; its qualified form is `module.feature.Slice`. */\n id: string;\n\n /** The display name. */\n name: string;\n\n /** Whether the slice is a state change, a state view or an automation. */\n kind: SliceKind;\n}\n\nexport const SliceNodePropertyNames: (keyof SliceNode)[] = ['id', 'name', 'kind'];\n"],"names":["SliceNodePropertyNames"],"mappings":";;AAAA;AACA;MAkBaA,sBAAAA,GAA8C;AAAC,IAAA,IAAA;AAAM,IAAA,MAAA;AAAQ,IAAA;;;"}
1
+ {"version":3,"file":"SliceNode.js","sources":["../../../structure/SliceNode.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 { SliceKind } from './SliceKind';\n\n/**\n * A slice in the application hierarchy.\n */\nexport interface SliceNode {\n /** The slice identity, unique among the siblings of its feature or module; its qualified form is `module.feature.Slice`. */\n id: string;\n\n /** The display name. */\n name: string;\n\n /** Whether the slice is a state change, a state view or an automation. */\n kind: SliceKind;\n\n /** The command a state change slice accepts; the slice `id` when absent. */\n command?: string;\n\n /** The dialog template the slice opens as a task dialog; the host's default form dialog when absent. */\n dialogTemplate?: string;\n}\n\nexport const SliceNodePropertyNames: (keyof SliceNode)[] = ['id', 'name', 'kind', 'command', 'dialogTemplate'];\n"],"names":["SliceNodePropertyNames"],"mappings":";;AAAA;AACA;MAwBaA,sBAAAA,GAA8C;AAAC,IAAA,IAAA;AAAM,IAAA,MAAA;AAAQ,IAAA,MAAA;AAAQ,IAAA,SAAA;AAAW,IAAA;;;"}
@@ -0,0 +1,10 @@
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
+ const ToolbarPropertyNames = [
6
+ 'buttons'
7
+ ];
8
+
9
+ exports.ToolbarPropertyNames = ToolbarPropertyNames;
10
+ //# sourceMappingURL=Toolbar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Toolbar.js","sources":["../../../toolbar/Toolbar.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 { ToolbarButton } from './ToolbarButton';\n\n/**\n * The buttons of a toolbar, in order.\n */\nexport interface Toolbar {\n /** The buttons. */\n buttons: ToolbarButton[];\n}\n\nexport const ToolbarPropertyNames: (keyof Toolbar)[] = ['buttons'];\n"],"names":["ToolbarPropertyNames"],"mappings":";;AAAA;AACA;MAYaA,oBAAAA,GAA0C;AAAC,IAAA;;;"}
@@ -0,0 +1,15 @@
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
+ const ToolbarButtonPropertyNames = [
6
+ 'id',
7
+ 'title',
8
+ 'slice',
9
+ 'emphasis',
10
+ 'icon',
11
+ 'target'
12
+ ];
13
+
14
+ exports.ToolbarButtonPropertyNames = ToolbarButtonPropertyNames;
15
+ //# sourceMappingURL=ToolbarButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToolbarButton.js","sources":["../../../toolbar/ToolbarButton.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 { ToolbarEmphasis } from './ToolbarEmphasis';\n\n/**\n * A toolbar button that invokes a state change slice. It is a `core:toolbarItem` with `kind: Action`, a `slice`\n * and an `emphasis`.\n */\nexport interface ToolbarButton {\n /** The button identity. */\n id: string;\n\n /** The text shown on the button. */\n title: string;\n\n /**\n * The qualified id of the state change slice the button invokes, for example `sales.orders.PlaceOrder`; absent\n * for a button that has none yet.\n */\n slice?: string;\n\n /** How prominent the button is; `secondary` when absent. */\n emphasis?: ToolbarEmphasis;\n\n /** Qualified icon reference, when the button has one. */\n icon?: string;\n\n /**\n * The command a hand-authored button names instead of a slice. It is turned into the slice that accepts the command\n * when exactly one does.\n */\n target?: string;\n}\n\nexport const ToolbarButtonPropertyNames: (keyof ToolbarButton)[] = ['id', 'title', 'slice', 'emphasis', 'icon', 'target'];\n"],"names":["ToolbarButtonPropertyNames"],"mappings":";;AAAA;AACA;MAkCaA,0BAAAA,GAAsD;AAAC,IAAA,IAAA;AAAM,IAAA,OAAA;AAAS,IAAA,OAAA;AAAS,IAAA,UAAA;AAAY,IAAA,MAAA;AAAQ,IAAA;;;"}
@@ -0,0 +1,15 @@
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
+ * How prominent a toolbar button is.
7
+ */ var ToolbarEmphasis = /*#__PURE__*/ function(ToolbarEmphasis) {
8
+ /** The main action of the page: a solid, accented button. */ ToolbarEmphasis["Primary"] = "primary";
9
+ /** A regular action: an outlined button. The default. */ ToolbarEmphasis["Secondary"] = "secondary";
10
+ /** A minor action: a plain button without a frame. */ ToolbarEmphasis["Quiet"] = "quiet";
11
+ return ToolbarEmphasis;
12
+ }({});
13
+
14
+ exports.ToolbarEmphasis = ToolbarEmphasis;
15
+ //# sourceMappingURL=ToolbarEmphasis.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToolbarEmphasis.js","sources":["../../../toolbar/ToolbarEmphasis.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 prominent a toolbar button is.\n */\nexport enum ToolbarEmphasis {\n /** The main action of the page: a solid, accented button. */\n Primary = 'primary',\n\n /** A regular action: an outlined button. The default. */\n Secondary = 'secondary',\n\n /** A minor action: a plain button without a frame. */\n Quiet = 'quiet',\n}\n"],"names":["ToolbarEmphasis"],"mappings":";;AAAA;AACA;AAEA;;IAGO,IAAKA,eAAAA,iBAAAA,SAAAA,eAAAA,EAAAA;kEACmD,eAAA,CAAA,SAAA,CAAA,GAAA,SAAA;8DAGJ,eAAA,CAAA,WAAA,CAAA,GAAA,WAAA;2DAGH,eAAA,CAAA,OAAA,CAAA,GAAA,OAAA;AAP5CA,IAAAA,OAAAA,eAAAA;AASX,CAAA,CAAA,EAAA;;"}
@@ -2,6 +2,7 @@ export declare enum CollectionOperation {
2
2
  Add = "add",
3
3
  Remove = "remove",
4
4
  Reorder = "reorder",
5
- EditFields = "edit-fields"
5
+ EditFields = "edit-fields",
6
+ Replace = "replace"
6
7
  }
7
8
  //# sourceMappingURL=CollectionOperation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CollectionOperation.d.ts","sourceRoot":"","sources":["../../../descriptors/CollectionOperation.ts"],"names":[],"mappings":"AAOA,oBAAY,mBAAmB;IAE3B,GAAG,QAAQ;IAGX,MAAM,WAAW;IAGjB,OAAO,YAAY;IAGnB,UAAU,gBAAgB;CAC7B"}
1
+ {"version":3,"file":"CollectionOperation.d.ts","sourceRoot":"","sources":["../../../descriptors/CollectionOperation.ts"],"names":[],"mappings":"AAOA,oBAAY,mBAAmB;IAE3B,GAAG,QAAQ;IAGX,MAAM,WAAW;IAGjB,OAAO,YAAY;IAGnB,UAAU,gBAAgB;IAM1B,OAAO,YAAY;CACtB"}
@@ -8,6 +8,10 @@
8
8
  /** Remove an item the consumer added. */ CollectionOperation["Remove"] = "remove";
9
9
  /** Change where an item the consumer added sits. */ CollectionOperation["Reorder"] = "reorder";
10
10
  /** Change the field values of an item the consumer added. */ CollectionOperation["EditFields"] = "edit-fields";
11
+ /**
12
+ * Hide the items the owner (and every level above) put in the collection, so the consumer's own items are all there is.
13
+ * An instance says so with `replaceOwnerItems`; the owner's items stay in the owner and come back when it stops.
14
+ */ CollectionOperation["Replace"] = "replace";
11
15
  return CollectionOperation;
12
16
  }({});
13
17
 
@@ -1 +1 @@
1
- {"version":3,"file":"CollectionOperation.js","sources":["../../../descriptors/CollectionOperation.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 * One thing a consumer may do to a collection a template author has exposed. Each is granted on its own: allowing\n * a consumer to add an item says nothing about removing or reordering one.\n */\nexport enum CollectionOperation {\n /** Add an item. */\n Add = 'add',\n\n /** Remove an item the consumer added. */\n Remove = 'remove',\n\n /** Change where an item the consumer added sits. */\n Reorder = 'reorder',\n\n /** Change the field values of an item the consumer added. */\n EditFields = 'edit-fields',\n}\n"],"names":["CollectionOperation"],"mappings":"AAAA;AACA;AAEA;;;IAIO,IAAKA,mBAAAA,iBAAAA,SAAAA,mBAAAA,EAAAA;wBACS,mBAAA,CAAA,KAAA,CAAA,GAAA,KAAA;8CAGsB,mBAAA,CAAA,QAAA,CAAA,GAAA,QAAA;yDAGW,mBAAA,CAAA,SAAA,CAAA,GAAA,SAAA;kEAGS,mBAAA,CAAA,YAAA,CAAA,GAAA,aAAA;AAVnDA,IAAAA,OAAAA,mBAAAA;AAYX,CAAA,CAAA,EAAA;;"}
1
+ {"version":3,"file":"CollectionOperation.js","sources":["../../../descriptors/CollectionOperation.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 * One thing a consumer may do to a collection a template author has exposed. Each is granted on its own: allowing\n * a consumer to add an item says nothing about removing or reordering one.\n */\nexport enum CollectionOperation {\n /** Add an item. */\n Add = 'add',\n\n /** Remove an item the consumer added. */\n Remove = 'remove',\n\n /** Change where an item the consumer added sits. */\n Reorder = 'reorder',\n\n /** Change the field values of an item the consumer added. */\n EditFields = 'edit-fields',\n\n /**\n * Hide the items the owner (and every level above) put in the collection, so the consumer's own items are all there is.\n * An instance says so with `replaceOwnerItems`; the owner's items stay in the owner and come back when it stops.\n */\n Replace = 'replace',\n}\n"],"names":["CollectionOperation"],"mappings":"AAAA;AACA;AAEA;;;IAIO,IAAKA,mBAAAA,iBAAAA,SAAAA,mBAAAA,EAAAA;wBACS,mBAAA,CAAA,KAAA,CAAA,GAAA,KAAA;8CAGsB,mBAAA,CAAA,QAAA,CAAA,GAAA,QAAA;yDAGW,mBAAA,CAAA,SAAA,CAAA,GAAA,SAAA;kEAGS,mBAAA,CAAA,YAAA,CAAA,GAAA,aAAA;AAG3D;;;AAGC,QAAA,mBAAA,CAAA,SAAA,CAAA,GAAA,SAAA;AAhBOA,IAAAA,OAAAA,mBAAAA;AAkBX,CAAA,CAAA,EAAA;;"}
@@ -5,6 +5,7 @@ export interface InstanceContribution {
5
5
  path: string;
6
6
  value?: unknown;
7
7
  items?: ContributedItem[];
8
+ replaceOwnerItems?: boolean;
8
9
  }
9
10
  export declare const InstanceContributionPropertyNames: (keyof InstanceContribution)[];
10
11
  //# sourceMappingURL=InstanceContribution.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"InstanceContribution.d.ts","sourceRoot":"","sources":["../../../exposure/InstanceContribution.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAYpD,MAAM,WAAW,oBAAoB;IAKjC,QAAQ,EAAE,MAAM,CAAC;IAGjB,SAAS,EAAE,MAAM,CAAC;IAGlB,IAAI,EAAE,MAAM,CAAC;IAGb,KAAK,CAAC,EAAE,OAAO,CAAC;IAGhB,KAAK,CAAC,EAAE,eAAe,EAAE,CAAC;CAC7B;AAED,eAAO,MAAM,iCAAiC,EAAE,CAAC,MAAM,oBAAoB,CAAC,EAAwD,CAAC"}
1
+ {"version":3,"file":"InstanceContribution.d.ts","sourceRoot":"","sources":["../../../exposure/InstanceContribution.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAYpD,MAAM,WAAW,oBAAoB;IAKjC,QAAQ,EAAE,MAAM,CAAC;IAGjB,SAAS,EAAE,MAAM,CAAC;IAGlB,IAAI,EAAE,MAAM,CAAC;IAGb,KAAK,CAAC,EAAE,OAAO,CAAC;IAGhB,KAAK,CAAC,EAAE,eAAe,EAAE,CAAC;IAO1B,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,eAAO,MAAM,iCAAiC,EAAE,CAAC,MAAM,oBAAoB,CAAC,EAA6E,CAAC"}
@@ -5,7 +5,8 @@ const InstanceContributionPropertyNames = [
5
5
  'component',
6
6
  'path',
7
7
  'value',
8
- 'items'
8
+ 'items',
9
+ 'replaceOwnerItems'
9
10
  ];
10
11
 
11
12
  export { InstanceContributionPropertyNames };
@@ -1 +1 @@
1
- {"version":3,"file":"InstanceContribution.js","sources":["../../../exposure/InstanceContribution.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 { ContributedItem } from './ContributedItem';\n\n/**\n * What one template instance sets on one exposed property.\n *\n * Contributions are kept apart from the template they configure - a screen filling a template stores its own\n * values here and never a copy of the template tree, so changing the template reaches every instance. They are\n * keyed by instance, component and property path; collection items by their own id.\n *\n * A scalar property carries `value`; a collection carries `items`, which are appended after the owner's own items\n * in the order given.\n */\nexport interface InstanceContribution {\n /**\n * The instance contributing: `screen:<name>` for a screen filling a template, `template:<name>` for a\n * template sitting inside another template's slot, `dialog:<name>` for a dialog.\n */\n instance: string;\n\n /** The id of the element the property belongs to. */\n component: string;\n\n /** The property's path. */\n path: string;\n\n /** The value of a scalar property. */\n value?: unknown;\n\n /** The items a collection property gets from this instance, in order. */\n items?: ContributedItem[];\n}\n\nexport const InstanceContributionPropertyNames: (keyof InstanceContribution)[] = ['instance', 'component', 'path', 'value', 'items'];\n"],"names":["InstanceContributionPropertyNames"],"mappings":"AAAA;AACA;MAkCaA,iCAAAA,GAAoE;AAAC,IAAA,UAAA;AAAY,IAAA,WAAA;AAAa,IAAA,MAAA;AAAQ,IAAA,OAAA;AAAS,IAAA;;;"}
1
+ {"version":3,"file":"InstanceContribution.js","sources":["../../../exposure/InstanceContribution.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 { ContributedItem } from './ContributedItem';\n\n/**\n * What one template instance sets on one exposed property.\n *\n * Contributions are kept apart from the template they configure - a screen filling a template stores its own\n * values here and never a copy of the template tree, so changing the template reaches every instance. They are\n * keyed by instance, component and property path; collection items by their own id.\n *\n * A scalar property carries `value`; a collection carries `items`, which are appended after the owner's own items\n * in the order given.\n */\nexport interface InstanceContribution {\n /**\n * The instance contributing: `screen:<name>` for a screen filling a template, `template:<name>` for a\n * template sitting inside another template's slot, `dialog:<name>` for a dialog.\n */\n instance: string;\n\n /** The id of the element the property belongs to. */\n component: string;\n\n /** The property's path. */\n path: string;\n\n /** The value of a scalar property. */\n value?: unknown;\n\n /** The items a collection property gets from this instance, in order. */\n items?: ContributedItem[];\n\n /**\n * For a collection: hide the items the owner and the levels above put in it, so only this instance's own items\n * remain. The hidden items stay where they are and come back when this is cleared. It needs the `replace`\n * operation to be exposed.\n */\n replaceOwnerItems?: boolean;\n}\n\nexport const InstanceContributionPropertyNames: (keyof InstanceContribution)[] = ['instance', 'component', 'path', 'value', 'items', 'replaceOwnerItems'];\n"],"names":["InstanceContributionPropertyNames"],"mappings":"AAAA;AACA;MAyCaA,iCAAAA,GAAoE;AAAC,IAAA,UAAA;AAAY,IAAA,WAAA;AAAa,IAAA,MAAA;AAAQ,IAAA,OAAA;AAAS,IAAA,OAAA;AAAS,IAAA;;;"}
@@ -16,4 +16,6 @@ export * from './descriptors';
16
16
  export * from './exposure';
17
17
  export * from './editing';
18
18
  export * from './structure';
19
+ export * from './navigation';
20
+ export * from './toolbar';
19
21
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":"AAGA,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":"AAGA,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC"}
package/dist/esm/index.js CHANGED
@@ -183,4 +183,15 @@ export { SliceNodePropertyNames } from './structure/SliceNode.js';
183
183
  export { FeatureNodePropertyNames } from './structure/FeatureNode.js';
184
184
  export { ModuleNodePropertyNames } from './structure/ModuleNode.js';
185
185
  export { ApplicationStructurePropertyNames } from './structure/ApplicationStructure.js';
186
+ export { NavigationRegionKind } from './navigation/NavigationRegionKind.js';
187
+ export { NavigationRegionMode } from './navigation/NavigationRegionMode.js';
188
+ export { NavItemPropertyNames } from './navigation/NavItem.js';
189
+ export { NavigationRegionPropertyNames } from './navigation/NavigationRegion.js';
190
+ export { ApplicationLogoPropertyNames } from './navigation/ApplicationLogo.js';
191
+ export { ApplicationNavigationPropertyNames } from './navigation/ApplicationNavigation.js';
192
+ export { ModuleNavigationPropertyNames } from './navigation/ModuleNavigation.js';
193
+ export { NavigationModelPropertyNames } from './navigation/NavigationModel.js';
194
+ export { ToolbarEmphasis } from './toolbar/ToolbarEmphasis.js';
195
+ export { ToolbarButtonPropertyNames } from './toolbar/ToolbarButton.js';
196
+ export { ToolbarPropertyNames } from './toolbar/Toolbar.js';
186
197
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,6 @@
1
+ export interface ApplicationLogo {
2
+ image: string;
3
+ title: string;
4
+ }
5
+ export declare const ApplicationLogoPropertyNames: (keyof ApplicationLogo)[];
6
+ //# sourceMappingURL=ApplicationLogo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApplicationLogo.d.ts","sourceRoot":"","sources":["../../../navigation/ApplicationLogo.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,eAAe;IAE5B,KAAK,EAAE,MAAM,CAAC;IAGd,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,4BAA4B,EAAE,CAAC,MAAM,eAAe,CAAC,EAAuB,CAAC"}
@@ -0,0 +1,11 @@
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 application's logo. It is defined at the application level only; a module shows it locked.
5
+ */ const ApplicationLogoPropertyNames = [
6
+ 'image',
7
+ 'title'
8
+ ];
9
+
10
+ export { ApplicationLogoPropertyNames };
11
+ //# sourceMappingURL=ApplicationLogo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApplicationLogo.js","sources":["../../../navigation/ApplicationLogo.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 application's logo. It is defined at the application level only; a module shows it locked.\n */\nexport interface ApplicationLogo {\n /** The image reference. */\n image: string;\n\n /** The application name shown with or instead of the image. */\n title: string;\n}\n\nexport const ApplicationLogoPropertyNames: (keyof ApplicationLogo)[] = ['image', 'title'];\n"],"names":["ApplicationLogoPropertyNames"],"mappings":"AAAA;AACA;AAEA;;UAWaA,4BAAAA,GAA0D;AAAC,IAAA,OAAA;AAAS,IAAA;;;"}
@@ -0,0 +1,8 @@
1
+ import { ApplicationLogo } from './ApplicationLogo';
2
+ import { NavigationRegion } from './NavigationRegion';
3
+ export interface ApplicationNavigation {
4
+ regions: NavigationRegion[];
5
+ logo?: ApplicationLogo;
6
+ }
7
+ export declare const ApplicationNavigationPropertyNames: (keyof ApplicationNavigation)[];
8
+ //# sourceMappingURL=ApplicationNavigation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApplicationNavigation.d.ts","sourceRoot":"","sources":["../../../navigation/ApplicationNavigation.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAKtD,MAAM,WAAW,qBAAqB;IAElC,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAG5B,IAAI,CAAC,EAAE,eAAe,CAAC;CAC1B;AAED,eAAO,MAAM,kCAAkC,EAAE,CAAC,MAAM,qBAAqB,CAAC,EAAwB,CAAC"}
@@ -0,0 +1,9 @@
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
+ const ApplicationNavigationPropertyNames = [
4
+ 'regions',
5
+ 'logo'
6
+ ];
7
+
8
+ export { ApplicationNavigationPropertyNames };
9
+ //# sourceMappingURL=ApplicationNavigation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApplicationNavigation.js","sources":["../../../navigation/ApplicationNavigation.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 { ApplicationLogo } from './ApplicationLogo';\nimport { NavigationRegion } from './NavigationRegion';\n\n/**\n * The application-level navigation: the base every module inherits, extends or overrides.\n */\nexport interface ApplicationNavigation {\n /** The regions the application defines items for. */\n regions: NavigationRegion[];\n\n /** The application logo. */\n logo?: ApplicationLogo;\n}\n\nexport const ApplicationNavigationPropertyNames: (keyof ApplicationNavigation)[] = ['regions', 'logo'];\n"],"names":["ApplicationNavigationPropertyNames"],"mappings":"AAAA;AACA;MAgBaA,kCAAAA,GAAsE;AAAC,IAAA,SAAA;AAAW,IAAA;;;"}
@@ -0,0 +1,7 @@
1
+ import { NavigationRegion } from './NavigationRegion';
2
+ export interface ModuleNavigation {
3
+ module: string;
4
+ regions: NavigationRegion[];
5
+ }
6
+ export declare const ModuleNavigationPropertyNames: (keyof ModuleNavigation)[];
7
+ //# sourceMappingURL=ModuleNavigation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModuleNavigation.d.ts","sourceRoot":"","sources":["../../../navigation/ModuleNavigation.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAKtD,MAAM,WAAW,gBAAgB;IAE7B,MAAM,EAAE,MAAM,CAAC;IAGf,OAAO,EAAE,gBAAgB,EAAE,CAAC;CAC/B;AAED,eAAO,MAAM,6BAA6B,EAAE,CAAC,MAAM,gBAAgB,CAAC,EAA0B,CAAC"}
@@ -0,0 +1,9 @@
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
+ const ModuleNavigationPropertyNames = [
4
+ 'module',
5
+ 'regions'
6
+ ];
7
+
8
+ export { ModuleNavigationPropertyNames };
9
+ //# sourceMappingURL=ModuleNavigation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModuleNavigation.js","sources":["../../../navigation/ModuleNavigation.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 { NavigationRegion } from './NavigationRegion';\n\n/**\n * The navigation a module declares for the regions it changes. A region it does not declare inherits the application's.\n */\nexport interface ModuleNavigation {\n /** The module identity. */\n module: string;\n\n /** The regions the module changes. */\n regions: NavigationRegion[];\n}\n\nexport const ModuleNavigationPropertyNames: (keyof ModuleNavigation)[] = ['module', 'regions'];\n"],"names":["ModuleNavigationPropertyNames"],"mappings":"AAAA;AACA;MAeaA,6BAAAA,GAA4D;AAAC,IAAA,QAAA;AAAU,IAAA;;;"}
@@ -0,0 +1,11 @@
1
+ import { DestinationReference } from '../common';
2
+ export interface NavItem {
3
+ id: string;
4
+ title: string;
5
+ icon?: string;
6
+ target?: DestinationReference;
7
+ slot?: string;
8
+ children?: NavItem[];
9
+ }
10
+ export declare const NavItemPropertyNames: (keyof NavItem)[];
11
+ //# sourceMappingURL=NavItem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NavItem.d.ts","sourceRoot":"","sources":["../../../navigation/NavItem.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAKjD,MAAM,WAAW,OAAO;IAEpB,EAAE,EAAE,MAAM,CAAC;IAGX,KAAK,EAAE,MAAM,CAAC;IAGd,IAAI,CAAC,EAAE,MAAM,CAAC;IAMd,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAG9B,IAAI,CAAC,EAAE,MAAM,CAAC;IAGd,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;CACxB;AAED,eAAO,MAAM,oBAAoB,EAAE,CAAC,MAAM,OAAO,CAAC,EAA0D,CAAC"}
@@ -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
+ const NavItemPropertyNames = [
4
+ 'id',
5
+ 'title',
6
+ 'icon',
7
+ 'target',
8
+ 'slot',
9
+ 'children'
10
+ ];
11
+
12
+ export { NavItemPropertyNames };
13
+ //# sourceMappingURL=NavItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NavItem.js","sources":["../../../navigation/NavItem.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 { DestinationReference } from '../common';\n\n/**\n * One item of a navigation region.\n */\nexport interface NavItem {\n /** The item identity, unique in its region at the level that owns it. */\n id: string;\n\n /** The text shown for the item. */\n title: string;\n\n /** Qualified icon reference, when the item has one. */\n icon?: string;\n\n /**\n * What the item navigates to: `module`, and optionally `feature` (a dotted path inside the module). A module\n * without a feature goes to the module's first feature.\n */\n target?: DestinationReference;\n\n /** The rendering slot - an outlet id - the target renders into; `content`, the primary outlet, when absent. */\n slot?: string;\n\n /** The sub-items; only a sidebar item has them. */\n children?: NavItem[];\n}\n\nexport const NavItemPropertyNames: (keyof NavItem)[] = ['id', 'title', 'icon', 'target', 'slot', 'children'];\n"],"names":["NavItemPropertyNames"],"mappings":"AAAA;AACA;MA8BaA,oBAAAA,GAA0C;AAAC,IAAA,IAAA;AAAM,IAAA,OAAA;AAAS,IAAA,MAAA;AAAQ,IAAA,QAAA;AAAU,IAAA,MAAA;AAAQ,IAAA;;;"}
@@ -0,0 +1,8 @@
1
+ import { ApplicationNavigation } from './ApplicationNavigation';
2
+ import { ModuleNavigation } from './ModuleNavigation';
3
+ export interface NavigationModel {
4
+ application: ApplicationNavigation;
5
+ modules: ModuleNavigation[];
6
+ }
7
+ export declare const NavigationModelPropertyNames: (keyof NavigationModel)[];
8
+ //# sourceMappingURL=NavigationModel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NavigationModel.d.ts","sourceRoot":"","sources":["../../../navigation/NavigationModel.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAKtD,MAAM,WAAW,eAAe;IAE5B,WAAW,EAAE,qBAAqB,CAAC;IAGnC,OAAO,EAAE,gBAAgB,EAAE,CAAC;CAC/B;AAED,eAAO,MAAM,4BAA4B,EAAE,CAAC,MAAM,eAAe,CAAC,EAA+B,CAAC"}