@cratis/scene.model 4.56.0 → 4.58.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 (46) hide show
  1. package/dist/cjs/index.js +8 -0
  2. package/dist/cjs/index.js.map +1 -1
  3. package/dist/cjs/profiles/ColorScheme.js +13 -0
  4. package/dist/cjs/profiles/ColorScheme.js.map +1 -0
  5. package/dist/cjs/profiles/ProfileAppearance.js +11 -0
  6. package/dist/cjs/profiles/ProfileAppearance.js.map +1 -0
  7. package/dist/cjs/profiles/ProfileDefaults.js +10 -0
  8. package/dist/cjs/profiles/ProfileDefaults.js.map +1 -0
  9. package/dist/cjs/profiles/RootTemplate.js +11 -0
  10. package/dist/cjs/profiles/RootTemplate.js.map +1 -0
  11. package/dist/cjs/profiles/UiProfile.js +4 -1
  12. package/dist/cjs/profiles/UiProfile.js.map +1 -1
  13. package/dist/esm/index.js +4 -0
  14. package/dist/esm/index.js.map +1 -1
  15. package/dist/esm/profiles/ColorScheme.d.ts +6 -0
  16. package/dist/esm/profiles/ColorScheme.d.ts.map +1 -0
  17. package/dist/esm/profiles/ColorScheme.js +11 -0
  18. package/dist/esm/profiles/ColorScheme.js.map +1 -0
  19. package/dist/esm/profiles/ProfileAppearance.d.ts +7 -0
  20. package/dist/esm/profiles/ProfileAppearance.d.ts.map +1 -0
  21. package/dist/esm/profiles/ProfileAppearance.js +9 -0
  22. package/dist/esm/profiles/ProfileAppearance.js.map +1 -0
  23. package/dist/esm/profiles/ProfileDefaults.d.ts +6 -0
  24. package/dist/esm/profiles/ProfileDefaults.d.ts.map +1 -0
  25. package/dist/esm/profiles/ProfileDefaults.js +8 -0
  26. package/dist/esm/profiles/ProfileDefaults.js.map +1 -0
  27. package/dist/esm/profiles/RootTemplate.d.ts +7 -0
  28. package/dist/esm/profiles/RootTemplate.d.ts.map +1 -0
  29. package/dist/esm/profiles/RootTemplate.js +9 -0
  30. package/dist/esm/profiles/RootTemplate.js.map +1 -0
  31. package/dist/esm/profiles/UiProfile.d.ts +6 -0
  32. package/dist/esm/profiles/UiProfile.d.ts.map +1 -1
  33. package/dist/esm/profiles/UiProfile.js +4 -1
  34. package/dist/esm/profiles/UiProfile.js.map +1 -1
  35. package/dist/esm/profiles/index.d.ts +4 -0
  36. package/dist/esm/profiles/index.d.ts.map +1 -1
  37. package/dist/esm/profiles/index.js +4 -0
  38. package/dist/esm/profiles/index.js.map +1 -1
  39. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  40. package/package.json +1 -1
  41. package/profiles/ColorScheme.ts +12 -0
  42. package/profiles/ProfileAppearance.ts +17 -0
  43. package/profiles/ProfileDefaults.ts +14 -0
  44. package/profiles/RootTemplate.ts +21 -0
  45. package/profiles/UiProfile.ts +20 -0
  46. package/profiles/index.ts +4 -0
package/dist/cjs/index.js CHANGED
@@ -68,6 +68,10 @@ var Contribution = require('./contributionPoints/Contribution.js');
68
68
  var NavigationItem = require('./contributionPoints/NavigationItem.js');
69
69
  var UiProfile = require('./profiles/UiProfile.js');
70
70
  var Theme = require('./profiles/Theme.js');
71
+ var ColorScheme = require('./profiles/ColorScheme.js');
72
+ var ProfileAppearance = require('./profiles/ProfileAppearance.js');
73
+ var ProfileDefaults = require('./profiles/ProfileDefaults.js');
74
+ var RootTemplate = require('./profiles/RootTemplate.js');
71
75
  var IconReference = require('./icons/IconReference.js');
72
76
  var iconReferences = require('./icons/iconReferences.js');
73
77
  var IconLibrary = require('./icons/IconLibrary.js');
@@ -269,6 +273,10 @@ exports.ContributionPropertyNames = Contribution.ContributionPropertyNames;
269
273
  exports.NavigationItemPropertyNames = NavigationItem.NavigationItemPropertyNames;
270
274
  exports.UiProfilePropertyNames = UiProfile.UiProfilePropertyNames;
271
275
  exports.ThemePropertyNames = Theme.ThemePropertyNames;
276
+ exports.ColorScheme = ColorScheme.ColorScheme;
277
+ exports.ProfileAppearancePropertyNames = ProfileAppearance.ProfileAppearancePropertyNames;
278
+ exports.ProfileDefaultsPropertyNames = ProfileDefaults.ProfileDefaultsPropertyNames;
279
+ exports.RootTemplatePropertyNames = RootTemplate.RootTemplatePropertyNames;
272
280
  exports.IconReferencePropertyNames = IconReference.IconReferencePropertyNames;
273
281
  exports.formatIconReference = iconReferences.formatIconReference;
274
282
  exports.iconReferencesEqual = iconReferences.iconReferencesEqual;
@@ -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
+ /** Which colour scheme an application presents: always light, always dark, or following the viewer's system preference. */ var ColorScheme = /*#__PURE__*/ function(ColorScheme) {
6
+ /** Always the light variant of the theme. */ ColorScheme["Light"] = "Light";
7
+ /** Always the dark variant of the theme. */ ColorScheme["Dark"] = "Dark";
8
+ /** Follow the viewer's operating-system preference. */ ColorScheme["System"] = "System";
9
+ return ColorScheme;
10
+ }({});
11
+
12
+ exports.ColorScheme = ColorScheme;
13
+ //# sourceMappingURL=ColorScheme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ColorScheme.js","sources":["../../../profiles/ColorScheme.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/** Which colour scheme an application presents: always light, always dark, or following the viewer's system preference. */\nexport enum ColorScheme {\n /** Always the light variant of the theme. */\n Light = 'Light',\n /** Always the dark variant of the theme. */\n Dark = 'Dark',\n /** Follow the viewer's operating-system preference. */\n System = 'System',\n}\n"],"names":["ColorScheme"],"mappings":";;AAAA;AACA;AAEA,4HACO,IAAKA,WAAAA,iBAAAA,SAAAA,WAAAA,EAAAA;kDACmC,WAAA,CAAA,OAAA,CAAA,GAAA,OAAA;iDAED,WAAA,CAAA,MAAA,CAAA,GAAA,MAAA;4DAEW,WAAA,CAAA,QAAA,CAAA,GAAA,QAAA;AAL7CA,IAAAA,OAAAA,WAAAA;AAOX,CAAA,CAAA,EAAA;;"}
@@ -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 ProfileAppearancePropertyNames = [
6
+ 'colorScheme',
7
+ 'accent'
8
+ ];
9
+
10
+ exports.ProfileAppearancePropertyNames = ProfileAppearancePropertyNames;
11
+ //# sourceMappingURL=ProfileAppearance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProfileAppearance.js","sources":["../../../profiles/ProfileAppearance.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 { ColorScheme } from './ColorScheme';\n\n/**\n * How an application looks beyond the {@link UiProfile.theme} it selects: the colour scheme and the accent colour.\n */\nexport interface ProfileAppearance {\n /** Whether the application is light, dark or follows the system. Absent leaves the theme's own default. */\n colorScheme?: ColorScheme;\n\n /** The accent colour as a CSS colour (for example `#4f46e5`). Absent keeps the theme's accent. */\n accent?: string;\n}\n\nexport const ProfileAppearancePropertyNames: (keyof ProfileAppearance)[] = ['colorScheme', 'accent'];\n"],"names":["ProfileAppearancePropertyNames"],"mappings":";;AAAA;AACA;MAeaA,8BAAAA,GAA8D;AAAC,IAAA,aAAA;AAAe,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 ProfileDefaultsPropertyNames = [
6
+ 'newScreenTemplate'
7
+ ];
8
+
9
+ exports.ProfileDefaultsPropertyNames = ProfileDefaultsPropertyNames;
10
+ //# sourceMappingURL=ProfileDefaults.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProfileDefaults.js","sources":["../../../profiles/ProfileDefaults.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 { TemplateReference } from '../screens/TemplateReference';\n\n/**\n * Application-wide authoring defaults that belong to the profile rather than to a screen.\n */\nexport interface ProfileDefaults {\n /** The template a newly created screen starts from. Absent when new screens start without one. */\n newScreenTemplate?: TemplateReference;\n}\n\nexport const ProfileDefaultsPropertyNames: (keyof ProfileDefaults)[] = ['newScreenTemplate'];\n"],"names":["ProfileDefaultsPropertyNames"],"mappings":";;AAAA;AACA;MAYaA,4BAAAA,GAA0D;AAAC,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 RootTemplatePropertyNames = [
6
+ 'template',
7
+ 'options'
8
+ ];
9
+
10
+ exports.RootTemplatePropertyNames = RootTemplatePropertyNames;
11
+ //# sourceMappingURL=RootTemplate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RootTemplate.js","sources":["../../../profiles/RootTemplate.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 { TemplateReference } from '../screens/TemplateReference';\n\n/**\n * The application's root template - its shell. The shell is either a layout or an application-scope screen template with the\n * root role; this reference names it, pinned like any other template reference, and carries the shell's own configuration.\n */\nexport interface RootTemplate {\n /** Which template is the shell: an own template, or a blueprint template with a version pin. */\n template: TemplateReference;\n\n /**\n * The shell's own configurable items (for example `navigationMode` or `showFooter`), keyed by the shell's exposed option\n * name. Absent when the profile leaves every option at the shell's default.\n */\n options?: Record<string, unknown>;\n}\n\nexport const RootTemplatePropertyNames: (keyof RootTemplate)[] = ['template', 'options'];\n"],"names":["RootTemplatePropertyNames"],"mappings":";;AAAA;AACA;MAmBaA,yBAAAA,GAAoD;AAAC,IAAA,UAAA;AAAY,IAAA;;;"}
@@ -9,7 +9,10 @@ const UiProfilePropertyNames = [
9
9
  'defaultSizeClass',
10
10
  'layout',
11
11
  'theme',
12
- 'sampleData'
12
+ 'sampleData',
13
+ 'root',
14
+ 'appearance',
15
+ 'defaults'
13
16
  ];
14
17
 
15
18
  exports.UiProfilePropertyNames = UiProfilePropertyNames;
@@ -1 +1 @@
1
- {"version":3,"file":"UiProfile.js","sources":["../../../profiles/UiProfile.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 { SampleDataSelection } from '../sampleData';\nimport { TargetSizeClass } from '../sizeClasses';\n\n/**\n * A named target: a platform, a default size class, an ordered list of component packages, and the\n * application shell and visual theme it selects. Declaration order in `packages` is override priority — a\n * later package shadows an earlier one when both resolve the same bare component name. `core` is always\n * the final fallback, so a minimum vocabulary resolves regardless of which packages a profile lists.\n *\n * A profile is where the choices that make a description concrete are made: which component vocabulary,\n * which shell, which theme. Deliberately none of them are stated by a {@link Screen} — that is what keeps\n * a screen portable across targets, and what lets one application ship a different shell to the web than\n * to a phone.\n */\nexport interface UiProfile {\n /**\n * The profile's name.\n */\n name: string;\n\n /**\n * The platform this profile targets (e.g. `web`, `ios`, `android`, `desktop`).\n */\n targetPlatform: string;\n\n /**\n * The component packages this profile draws from, in override-priority order.\n */\n packages: string[];\n\n /**\n * The size class assumed when the renderer cannot otherwise determine one.\n */\n defaultSizeClass?: TargetSizeClass;\n\n /**\n * The name of the {@link Layout} this profile renders inside — the application's base navigational\n * shell, normally provided by a blueprint in `packages`. Absent when the profile does not select one.\n */\n layout?: string;\n\n /**\n * The name of the {@link Theme} this profile applies, or absent when it selects none. A theme is only\n * meaningful relative to a set of packages, which is why it is chosen here rather than by a screen.\n */\n theme?: string;\n\n /**\n * Which sample data the application previews with at design and preview time: the active pack, chosen\n * once here for the whole application (own or from a blueprint), plus the rare shape-to-read-model\n * mappings and per-read-model pack bindings. Never stated by a screen, slice or component, and never\n * part of a production build. Absent selects the blueprint's default pack, then generated data.\n */\n sampleData?: SampleDataSelection;\n}\n\nexport const UiProfilePropertyNames: (keyof UiProfile)[] = [\n 'name',\n 'targetPlatform',\n 'packages',\n 'defaultSizeClass',\n 'layout',\n 'theme',\n 'sampleData',\n];\n"],"names":["UiProfilePropertyNames"],"mappings":";;AAAA;AACA;MA0DaA,sBAAAA,GAA8C;AACvD,IAAA,MAAA;AACA,IAAA,gBAAA;AACA,IAAA,UAAA;AACA,IAAA,kBAAA;AACA,IAAA,QAAA;AACA,IAAA,OAAA;AACA,IAAA;;;"}
1
+ {"version":3,"file":"UiProfile.js","sources":["../../../profiles/UiProfile.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 { SampleDataSelection } from '../sampleData';\nimport { ProfileAppearance } from './ProfileAppearance';\nimport { ProfileDefaults } from './ProfileDefaults';\nimport { RootTemplate } from './RootTemplate';\nimport { TargetSizeClass } from '../sizeClasses';\n\n/**\n * A named target: a platform, a default size class, an ordered list of component packages, and the\n * application shell and visual theme it selects. Declaration order in `packages` is override priority — a\n * later package shadows an earlier one when both resolve the same bare component name. `core` is always\n * the final fallback, so a minimum vocabulary resolves regardless of which packages a profile lists.\n *\n * A profile is where the choices that make a description concrete are made: which component vocabulary,\n * which shell, which theme. Deliberately none of them are stated by a {@link Screen} — that is what keeps\n * a screen portable across targets, and what lets one application ship a different shell to the web than\n * to a phone.\n */\nexport interface UiProfile {\n /**\n * The profile's name.\n */\n name: string;\n\n /**\n * The platform this profile targets (e.g. `web`, `ios`, `android`, `desktop`).\n */\n targetPlatform: string;\n\n /**\n * The component packages this profile draws from, in override-priority order.\n */\n packages: string[];\n\n /**\n * The size class assumed when the renderer cannot otherwise determine one.\n */\n defaultSizeClass?: TargetSizeClass;\n\n /**\n * The name of the {@link Layout} this profile renders inside — the application's base navigational\n * shell, normally provided by a blueprint in `packages`. Absent when the profile does not select one.\n * Legacy: still readable, superseded by {@link UiProfile.root}.\n */\n layout?: string;\n\n /**\n * The name of the {@link Theme} this profile applies, or absent when it selects none. A theme is only\n * meaningful relative to a set of packages, which is why it is chosen here rather than by a screen.\n */\n theme?: string;\n\n /**\n * Which sample data the application previews with at design and preview time: the active pack, chosen\n * once here for the whole application (own or from a blueprint), plus the rare shape-to-read-model\n * mappings and per-read-model pack bindings. Never stated by a screen, slice or component, and never\n * part of a production build. Absent selects the blueprint's default pack, then generated data.\n */\n sampleData?: SampleDataSelection;\n\n /**\n * The application's root template (its shell): a template reference - own or blueprint, with a version pin - and the\n * shell's own options. Supersedes {@link UiProfile.layout}; absent falls back to `layout` and then to the blueprint's\n * default shell.\n */\n root?: RootTemplate;\n\n /** The colour scheme and accent colour the application presents. Absent keeps the theme's defaults. */\n appearance?: ProfileAppearance;\n\n /** Application-wide authoring defaults such as the template new screens start from. Absent for none. */\n defaults?: ProfileDefaults;\n}\n\nexport const UiProfilePropertyNames: (keyof UiProfile)[] = [\n 'name',\n 'targetPlatform',\n 'packages',\n 'defaultSizeClass',\n 'layout',\n 'theme',\n 'sampleData',\n 'root',\n 'appearance',\n 'defaults',\n];\n"],"names":["UiProfilePropertyNames"],"mappings":";;AAAA;AACA;MA2EaA,sBAAAA,GAA8C;AACvD,IAAA,MAAA;AACA,IAAA,gBAAA;AACA,IAAA,UAAA;AACA,IAAA,kBAAA;AACA,IAAA,QAAA;AACA,IAAA,OAAA;AACA,IAAA,YAAA;AACA,IAAA,MAAA;AACA,IAAA,YAAA;AACA,IAAA;;;"}
package/dist/esm/index.js CHANGED
@@ -66,6 +66,10 @@ export { ContributionPropertyNames } from './contributionPoints/Contribution.js'
66
66
  export { NavigationItemPropertyNames } from './contributionPoints/NavigationItem.js';
67
67
  export { UiProfilePropertyNames } from './profiles/UiProfile.js';
68
68
  export { ThemePropertyNames } from './profiles/Theme.js';
69
+ export { ColorScheme } from './profiles/ColorScheme.js';
70
+ export { ProfileAppearancePropertyNames } from './profiles/ProfileAppearance.js';
71
+ export { ProfileDefaultsPropertyNames } from './profiles/ProfileDefaults.js';
72
+ export { RootTemplatePropertyNames } from './profiles/RootTemplate.js';
69
73
  export { IconReferencePropertyNames } from './icons/IconReference.js';
70
74
  export { formatIconReference, iconReferencesEqual, isIconReference, parseIconReference } from './icons/iconReferences.js';
71
75
  export { IconLibraryPropertyNames } from './icons/IconLibrary.js';
@@ -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 declare enum ColorScheme {
2
+ Light = "Light",
3
+ Dark = "Dark",
4
+ System = "System"
5
+ }
6
+ //# sourceMappingURL=ColorScheme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ColorScheme.d.ts","sourceRoot":"","sources":["../../../profiles/ColorScheme.ts"],"names":[],"mappings":"AAIA,oBAAY,WAAW;IAEnB,KAAK,UAAU;IAEf,IAAI,SAAS;IAEb,MAAM,WAAW;CACpB"}
@@ -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
+ /** Which colour scheme an application presents: always light, always dark, or following the viewer's system preference. */ var ColorScheme = /*#__PURE__*/ function(ColorScheme) {
4
+ /** Always the light variant of the theme. */ ColorScheme["Light"] = "Light";
5
+ /** Always the dark variant of the theme. */ ColorScheme["Dark"] = "Dark";
6
+ /** Follow the viewer's operating-system preference. */ ColorScheme["System"] = "System";
7
+ return ColorScheme;
8
+ }({});
9
+
10
+ export { ColorScheme };
11
+ //# sourceMappingURL=ColorScheme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ColorScheme.js","sources":["../../../profiles/ColorScheme.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/** Which colour scheme an application presents: always light, always dark, or following the viewer's system preference. */\nexport enum ColorScheme {\n /** Always the light variant of the theme. */\n Light = 'Light',\n /** Always the dark variant of the theme. */\n Dark = 'Dark',\n /** Follow the viewer's operating-system preference. */\n System = 'System',\n}\n"],"names":["ColorScheme"],"mappings":"AAAA;AACA;AAEA,4HACO,IAAKA,WAAAA,iBAAAA,SAAAA,WAAAA,EAAAA;kDACmC,WAAA,CAAA,OAAA,CAAA,GAAA,OAAA;iDAED,WAAA,CAAA,MAAA,CAAA,GAAA,MAAA;4DAEW,WAAA,CAAA,QAAA,CAAA,GAAA,QAAA;AAL7CA,IAAAA,OAAAA,WAAAA;AAOX,CAAA,CAAA,EAAA;;"}
@@ -0,0 +1,7 @@
1
+ import { ColorScheme } from './ColorScheme';
2
+ export interface ProfileAppearance {
3
+ colorScheme?: ColorScheme;
4
+ accent?: string;
5
+ }
6
+ export declare const ProfileAppearancePropertyNames: (keyof ProfileAppearance)[];
7
+ //# sourceMappingURL=ProfileAppearance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProfileAppearance.d.ts","sourceRoot":"","sources":["../../../profiles/ProfileAppearance.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAK5C,MAAM,WAAW,iBAAiB;IAE9B,WAAW,CAAC,EAAE,WAAW,CAAC;IAG1B,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,8BAA8B,EAAE,CAAC,MAAM,iBAAiB,CAAC,EAA8B,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 ProfileAppearancePropertyNames = [
4
+ 'colorScheme',
5
+ 'accent'
6
+ ];
7
+
8
+ export { ProfileAppearancePropertyNames };
9
+ //# sourceMappingURL=ProfileAppearance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProfileAppearance.js","sources":["../../../profiles/ProfileAppearance.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 { ColorScheme } from './ColorScheme';\n\n/**\n * How an application looks beyond the {@link UiProfile.theme} it selects: the colour scheme and the accent colour.\n */\nexport interface ProfileAppearance {\n /** Whether the application is light, dark or follows the system. Absent leaves the theme's own default. */\n colorScheme?: ColorScheme;\n\n /** The accent colour as a CSS colour (for example `#4f46e5`). Absent keeps the theme's accent. */\n accent?: string;\n}\n\nexport const ProfileAppearancePropertyNames: (keyof ProfileAppearance)[] = ['colorScheme', 'accent'];\n"],"names":["ProfileAppearancePropertyNames"],"mappings":"AAAA;AACA;MAeaA,8BAAAA,GAA8D;AAAC,IAAA,aAAA;AAAe,IAAA;;;"}
@@ -0,0 +1,6 @@
1
+ import { TemplateReference } from '../screens/TemplateReference';
2
+ export interface ProfileDefaults {
3
+ newScreenTemplate?: TemplateReference;
4
+ }
5
+ export declare const ProfileDefaultsPropertyNames: (keyof ProfileDefaults)[];
6
+ //# sourceMappingURL=ProfileDefaults.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProfileDefaults.d.ts","sourceRoot":"","sources":["../../../profiles/ProfileDefaults.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAKjE,MAAM,WAAW,eAAe;IAE5B,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;CACzC;AAED,eAAO,MAAM,4BAA4B,EAAE,CAAC,MAAM,eAAe,CAAC,EAA0B,CAAC"}
@@ -0,0 +1,8 @@
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 ProfileDefaultsPropertyNames = [
4
+ 'newScreenTemplate'
5
+ ];
6
+
7
+ export { ProfileDefaultsPropertyNames };
8
+ //# sourceMappingURL=ProfileDefaults.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProfileDefaults.js","sources":["../../../profiles/ProfileDefaults.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 { TemplateReference } from '../screens/TemplateReference';\n\n/**\n * Application-wide authoring defaults that belong to the profile rather than to a screen.\n */\nexport interface ProfileDefaults {\n /** The template a newly created screen starts from. Absent when new screens start without one. */\n newScreenTemplate?: TemplateReference;\n}\n\nexport const ProfileDefaultsPropertyNames: (keyof ProfileDefaults)[] = ['newScreenTemplate'];\n"],"names":["ProfileDefaultsPropertyNames"],"mappings":"AAAA;AACA;MAYaA,4BAAAA,GAA0D;AAAC,IAAA;;;"}
@@ -0,0 +1,7 @@
1
+ import { TemplateReference } from '../screens/TemplateReference';
2
+ export interface RootTemplate {
3
+ template: TemplateReference;
4
+ options?: Record<string, unknown>;
5
+ }
6
+ export declare const RootTemplatePropertyNames: (keyof RootTemplate)[];
7
+ //# sourceMappingURL=RootTemplate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RootTemplate.d.ts","sourceRoot":"","sources":["../../../profiles/RootTemplate.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAMjE,MAAM,WAAW,YAAY;IAEzB,QAAQ,EAAE,iBAAiB,CAAC;IAM5B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC;AAED,eAAO,MAAM,yBAAyB,EAAE,CAAC,MAAM,YAAY,CAAC,EAA4B,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 RootTemplatePropertyNames = [
4
+ 'template',
5
+ 'options'
6
+ ];
7
+
8
+ export { RootTemplatePropertyNames };
9
+ //# sourceMappingURL=RootTemplate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RootTemplate.js","sources":["../../../profiles/RootTemplate.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 { TemplateReference } from '../screens/TemplateReference';\n\n/**\n * The application's root template - its shell. The shell is either a layout or an application-scope screen template with the\n * root role; this reference names it, pinned like any other template reference, and carries the shell's own configuration.\n */\nexport interface RootTemplate {\n /** Which template is the shell: an own template, or a blueprint template with a version pin. */\n template: TemplateReference;\n\n /**\n * The shell's own configurable items (for example `navigationMode` or `showFooter`), keyed by the shell's exposed option\n * name. Absent when the profile leaves every option at the shell's default.\n */\n options?: Record<string, unknown>;\n}\n\nexport const RootTemplatePropertyNames: (keyof RootTemplate)[] = ['template', 'options'];\n"],"names":["RootTemplatePropertyNames"],"mappings":"AAAA;AACA;MAmBaA,yBAAAA,GAAoD;AAAC,IAAA,UAAA;AAAY,IAAA;;;"}
@@ -1,4 +1,7 @@
1
1
  import { SampleDataSelection } from '../sampleData';
2
+ import { ProfileAppearance } from './ProfileAppearance';
3
+ import { ProfileDefaults } from './ProfileDefaults';
4
+ import { RootTemplate } from './RootTemplate';
2
5
  import { TargetSizeClass } from '../sizeClasses';
3
6
  export interface UiProfile {
4
7
  name: string;
@@ -8,6 +11,9 @@ export interface UiProfile {
8
11
  layout?: string;
9
12
  theme?: string;
10
13
  sampleData?: SampleDataSelection;
14
+ root?: RootTemplate;
15
+ appearance?: ProfileAppearance;
16
+ defaults?: ProfileDefaults;
11
17
  }
12
18
  export declare const UiProfilePropertyNames: (keyof UiProfile)[];
13
19
  //# sourceMappingURL=UiProfile.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"UiProfile.d.ts","sourceRoot":"","sources":["../../../profiles/UiProfile.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAajD,MAAM,WAAW,SAAS;IAItB,IAAI,EAAE,MAAM,CAAC;IAKb,cAAc,EAAE,MAAM,CAAC;IAKvB,QAAQ,EAAE,MAAM,EAAE,CAAC;IAKnB,gBAAgB,CAAC,EAAE,eAAe,CAAC;IAMnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAMhB,KAAK,CAAC,EAAE,MAAM,CAAC;IAQf,UAAU,CAAC,EAAE,mBAAmB,CAAC;CACpC;AAED,eAAO,MAAM,sBAAsB,EAAE,CAAC,MAAM,SAAS,CAAC,EAQrD,CAAC"}
1
+ {"version":3,"file":"UiProfile.d.ts","sourceRoot":"","sources":["../../../profiles/UiProfile.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAajD,MAAM,WAAW,SAAS;IAItB,IAAI,EAAE,MAAM,CAAC;IAKb,cAAc,EAAE,MAAM,CAAC;IAKvB,QAAQ,EAAE,MAAM,EAAE,CAAC;IAKnB,gBAAgB,CAAC,EAAE,eAAe,CAAC;IAOnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAMhB,KAAK,CAAC,EAAE,MAAM,CAAC;IAQf,UAAU,CAAC,EAAE,mBAAmB,CAAC;IAOjC,IAAI,CAAC,EAAE,YAAY,CAAC;IAGpB,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAG/B,QAAQ,CAAC,EAAE,eAAe,CAAC;CAC9B;AAED,eAAO,MAAM,sBAAsB,EAAE,CAAC,MAAM,SAAS,CAAC,EAWrD,CAAC"}
@@ -7,7 +7,10 @@ const UiProfilePropertyNames = [
7
7
  'defaultSizeClass',
8
8
  'layout',
9
9
  'theme',
10
- 'sampleData'
10
+ 'sampleData',
11
+ 'root',
12
+ 'appearance',
13
+ 'defaults'
11
14
  ];
12
15
 
13
16
  export { UiProfilePropertyNames };
@@ -1 +1 @@
1
- {"version":3,"file":"UiProfile.js","sources":["../../../profiles/UiProfile.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 { SampleDataSelection } from '../sampleData';\nimport { TargetSizeClass } from '../sizeClasses';\n\n/**\n * A named target: a platform, a default size class, an ordered list of component packages, and the\n * application shell and visual theme it selects. Declaration order in `packages` is override priority — a\n * later package shadows an earlier one when both resolve the same bare component name. `core` is always\n * the final fallback, so a minimum vocabulary resolves regardless of which packages a profile lists.\n *\n * A profile is where the choices that make a description concrete are made: which component vocabulary,\n * which shell, which theme. Deliberately none of them are stated by a {@link Screen} — that is what keeps\n * a screen portable across targets, and what lets one application ship a different shell to the web than\n * to a phone.\n */\nexport interface UiProfile {\n /**\n * The profile's name.\n */\n name: string;\n\n /**\n * The platform this profile targets (e.g. `web`, `ios`, `android`, `desktop`).\n */\n targetPlatform: string;\n\n /**\n * The component packages this profile draws from, in override-priority order.\n */\n packages: string[];\n\n /**\n * The size class assumed when the renderer cannot otherwise determine one.\n */\n defaultSizeClass?: TargetSizeClass;\n\n /**\n * The name of the {@link Layout} this profile renders inside — the application's base navigational\n * shell, normally provided by a blueprint in `packages`. Absent when the profile does not select one.\n */\n layout?: string;\n\n /**\n * The name of the {@link Theme} this profile applies, or absent when it selects none. A theme is only\n * meaningful relative to a set of packages, which is why it is chosen here rather than by a screen.\n */\n theme?: string;\n\n /**\n * Which sample data the application previews with at design and preview time: the active pack, chosen\n * once here for the whole application (own or from a blueprint), plus the rare shape-to-read-model\n * mappings and per-read-model pack bindings. Never stated by a screen, slice or component, and never\n * part of a production build. Absent selects the blueprint's default pack, then generated data.\n */\n sampleData?: SampleDataSelection;\n}\n\nexport const UiProfilePropertyNames: (keyof UiProfile)[] = [\n 'name',\n 'targetPlatform',\n 'packages',\n 'defaultSizeClass',\n 'layout',\n 'theme',\n 'sampleData',\n];\n"],"names":["UiProfilePropertyNames"],"mappings":"AAAA;AACA;MA0DaA,sBAAAA,GAA8C;AACvD,IAAA,MAAA;AACA,IAAA,gBAAA;AACA,IAAA,UAAA;AACA,IAAA,kBAAA;AACA,IAAA,QAAA;AACA,IAAA,OAAA;AACA,IAAA;;;"}
1
+ {"version":3,"file":"UiProfile.js","sources":["../../../profiles/UiProfile.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 { SampleDataSelection } from '../sampleData';\nimport { ProfileAppearance } from './ProfileAppearance';\nimport { ProfileDefaults } from './ProfileDefaults';\nimport { RootTemplate } from './RootTemplate';\nimport { TargetSizeClass } from '../sizeClasses';\n\n/**\n * A named target: a platform, a default size class, an ordered list of component packages, and the\n * application shell and visual theme it selects. Declaration order in `packages` is override priority — a\n * later package shadows an earlier one when both resolve the same bare component name. `core` is always\n * the final fallback, so a minimum vocabulary resolves regardless of which packages a profile lists.\n *\n * A profile is where the choices that make a description concrete are made: which component vocabulary,\n * which shell, which theme. Deliberately none of them are stated by a {@link Screen} — that is what keeps\n * a screen portable across targets, and what lets one application ship a different shell to the web than\n * to a phone.\n */\nexport interface UiProfile {\n /**\n * The profile's name.\n */\n name: string;\n\n /**\n * The platform this profile targets (e.g. `web`, `ios`, `android`, `desktop`).\n */\n targetPlatform: string;\n\n /**\n * The component packages this profile draws from, in override-priority order.\n */\n packages: string[];\n\n /**\n * The size class assumed when the renderer cannot otherwise determine one.\n */\n defaultSizeClass?: TargetSizeClass;\n\n /**\n * The name of the {@link Layout} this profile renders inside — the application's base navigational\n * shell, normally provided by a blueprint in `packages`. Absent when the profile does not select one.\n * Legacy: still readable, superseded by {@link UiProfile.root}.\n */\n layout?: string;\n\n /**\n * The name of the {@link Theme} this profile applies, or absent when it selects none. A theme is only\n * meaningful relative to a set of packages, which is why it is chosen here rather than by a screen.\n */\n theme?: string;\n\n /**\n * Which sample data the application previews with at design and preview time: the active pack, chosen\n * once here for the whole application (own or from a blueprint), plus the rare shape-to-read-model\n * mappings and per-read-model pack bindings. Never stated by a screen, slice or component, and never\n * part of a production build. Absent selects the blueprint's default pack, then generated data.\n */\n sampleData?: SampleDataSelection;\n\n /**\n * The application's root template (its shell): a template reference - own or blueprint, with a version pin - and the\n * shell's own options. Supersedes {@link UiProfile.layout}; absent falls back to `layout` and then to the blueprint's\n * default shell.\n */\n root?: RootTemplate;\n\n /** The colour scheme and accent colour the application presents. Absent keeps the theme's defaults. */\n appearance?: ProfileAppearance;\n\n /** Application-wide authoring defaults such as the template new screens start from. Absent for none. */\n defaults?: ProfileDefaults;\n}\n\nexport const UiProfilePropertyNames: (keyof UiProfile)[] = [\n 'name',\n 'targetPlatform',\n 'packages',\n 'defaultSizeClass',\n 'layout',\n 'theme',\n 'sampleData',\n 'root',\n 'appearance',\n 'defaults',\n];\n"],"names":["UiProfilePropertyNames"],"mappings":"AAAA;AACA;MA2EaA,sBAAAA,GAA8C;AACvD,IAAA,MAAA;AACA,IAAA,gBAAA;AACA,IAAA,UAAA;AACA,IAAA,kBAAA;AACA,IAAA,QAAA;AACA,IAAA,OAAA;AACA,IAAA,YAAA;AACA,IAAA,MAAA;AACA,IAAA,YAAA;AACA,IAAA;;;"}
@@ -1,3 +1,7 @@
1
1
  export * from './UiProfile';
2
2
  export * from './Theme';
3
+ export * from './ColorScheme';
4
+ export * from './ProfileAppearance';
5
+ export * from './ProfileDefaults';
6
+ export * from './RootTemplate';
3
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../profiles/index.ts"],"names":[],"mappings":"AAGA,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../profiles/index.ts"],"names":[],"mappings":"AAGA,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC"}
@@ -1,3 +1,7 @@
1
1
  export * from './UiProfile';
2
2
  export * from './Theme';
3
+ export * from './ColorScheme';
4
+ export * from './ProfileAppearance';
5
+ export * from './ProfileDefaults';
6
+ export * from './RootTemplate';
3
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../profiles/index.ts"],"names":[],"mappings":"AAGA,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../profiles/index.ts"],"names":[],"mappings":"AAGA,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC"}