@cratis/scene.react 4.9.0 → 4.11.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 (169) hide show
  1. package/SceneElementView.tsx +29 -7
  2. package/dist/cjs/SceneElementView.js +21 -8
  3. package/dist/cjs/SceneElementView.js.map +1 -1
  4. package/dist/cjs/core/coreComponents.js +6 -0
  5. package/dist/cjs/core/coreComponents.js.map +1 -1
  6. package/dist/cjs/core/coreDescriptors.js +5 -0
  7. package/dist/cjs/core/coreDescriptors.js.map +1 -1
  8. package/dist/cjs/index.js +28 -0
  9. package/dist/cjs/index.js.map +1 -1
  10. package/dist/cjs/navigation/SceneNavigationContext.js +21 -0
  11. package/dist/cjs/navigation/SceneNavigationContext.js.map +1 -0
  12. package/dist/cjs/navigation/SceneNavigationHost.js +82 -0
  13. package/dist/cjs/navigation/SceneNavigationHost.js.map +1 -0
  14. package/dist/cjs/navigation/resolveDestination.js +54 -0
  15. package/dist/cjs/navigation/resolveDestination.js.map +1 -0
  16. package/dist/cjs/packages/DesignTimeBundle.js.map +1 -1
  17. package/dist/cjs/packages/DesignTimeProvider.js +23 -0
  18. package/dist/cjs/packages/DesignTimeProvider.js.map +1 -0
  19. package/dist/cjs/packages/EmbeddedPackageHost.js +15 -0
  20. package/dist/cjs/packages/EmbeddedPackageHost.js.map +1 -0
  21. package/dist/cjs/packages/PackageHostAssets.js +30 -0
  22. package/dist/cjs/packages/PackageHostAssets.js.map +1 -0
  23. package/dist/cjs/packages/PackageHostConfiguration.js +40 -4
  24. package/dist/cjs/packages/PackageHostConfiguration.js.map +1 -1
  25. package/dist/cjs/packages/PackageHostRenderMode.js +15 -0
  26. package/dist/cjs/packages/PackageHostRenderMode.js.map +1 -0
  27. package/dist/cjs/packages/PackageHostView.js +53 -0
  28. package/dist/cjs/packages/PackageHostView.js.map +1 -0
  29. package/dist/cjs/packages/StandalonePackageHost.js +15 -0
  30. package/dist/cjs/packages/StandalonePackageHost.js.map +1 -0
  31. package/dist/cjs/packages/WebViewPackageHost.js +15 -0
  32. package/dist/cjs/packages/WebViewPackageHost.js.map +1 -0
  33. package/dist/cjs/renderer/AbortableQueryRunner.js +26 -0
  34. package/dist/cjs/renderer/AbortableQueryRunner.js.map +1 -0
  35. package/dist/cjs/renderer/InteractiveComponent.js +34 -1
  36. package/dist/cjs/renderer/InteractiveComponent.js.map +1 -1
  37. package/dist/cjs/renderer/RenderBindingScopeContext.js +77 -0
  38. package/dist/cjs/renderer/RenderBindingScopeContext.js.map +1 -0
  39. package/dist/esm/SceneElementView.d.ts +5 -2
  40. package/dist/esm/SceneElementView.d.ts.map +1 -1
  41. package/dist/esm/SceneElementView.js +22 -9
  42. package/dist/esm/SceneElementView.js.map +1 -1
  43. package/dist/esm/core/coreComponents.js +6 -0
  44. package/dist/esm/core/coreComponents.js.map +1 -1
  45. package/dist/esm/core/coreDescriptors.js +5 -0
  46. package/dist/esm/core/coreDescriptors.js.map +1 -1
  47. package/dist/esm/index.d.ts +1 -0
  48. package/dist/esm/index.d.ts.map +1 -1
  49. package/dist/esm/index.js +12 -0
  50. package/dist/esm/index.js.map +1 -1
  51. package/dist/esm/navigation/DestinationResolution.d.ts +10 -0
  52. package/dist/esm/navigation/DestinationResolution.d.ts.map +1 -0
  53. package/dist/esm/navigation/DestinationResolution.js +2 -0
  54. package/dist/esm/navigation/DestinationResolution.js.map +1 -0
  55. package/dist/esm/navigation/SceneNavigationContext.d.ts +20 -0
  56. package/dist/esm/navigation/SceneNavigationContext.d.ts.map +1 -0
  57. package/dist/esm/navigation/SceneNavigationContext.js +18 -0
  58. package/dist/esm/navigation/SceneNavigationContext.js.map +1 -0
  59. package/dist/esm/navigation/SceneNavigationHost.d.ts +12 -0
  60. package/dist/esm/navigation/SceneNavigationHost.d.ts.map +1 -0
  61. package/dist/esm/navigation/SceneNavigationHost.js +80 -0
  62. package/dist/esm/navigation/SceneNavigationHost.js.map +1 -0
  63. package/dist/esm/navigation/index.d.ts +5 -0
  64. package/dist/esm/navigation/index.d.ts.map +1 -0
  65. package/dist/esm/navigation/index.js +5 -0
  66. package/dist/esm/navigation/index.js.map +1 -0
  67. package/dist/esm/navigation/resolveDestination.d.ts +5 -0
  68. package/dist/esm/navigation/resolveDestination.d.ts.map +1 -0
  69. package/dist/esm/navigation/resolveDestination.js +52 -0
  70. package/dist/esm/navigation/resolveDestination.js.map +1 -0
  71. package/dist/esm/packages/DesignTimeAction.d.ts +3 -4
  72. package/dist/esm/packages/DesignTimeAction.d.ts.map +1 -1
  73. package/dist/esm/packages/DesignTimeBundle.d.ts +8 -11
  74. package/dist/esm/packages/DesignTimeBundle.d.ts.map +1 -1
  75. package/dist/esm/packages/DesignTimeBundle.js.map +1 -1
  76. package/dist/esm/packages/DesignTimeComponentProps.d.ts +5 -0
  77. package/dist/esm/packages/DesignTimeComponentProps.d.ts.map +1 -0
  78. package/dist/esm/packages/DesignTimeComponentProps.js +2 -0
  79. package/dist/esm/packages/DesignTimeComponentProps.js.map +1 -0
  80. package/dist/esm/packages/DesignTimeContext.d.ts +18 -0
  81. package/dist/esm/packages/DesignTimeContext.d.ts.map +1 -0
  82. package/dist/esm/packages/DesignTimeContext.js +2 -0
  83. package/dist/esm/packages/DesignTimeContext.js.map +1 -0
  84. package/dist/esm/packages/DesignTimePropertyDisplayProps.d.ts +8 -0
  85. package/dist/esm/packages/DesignTimePropertyDisplayProps.d.ts.map +1 -0
  86. package/dist/esm/packages/DesignTimePropertyDisplayProps.js +2 -0
  87. package/dist/esm/packages/DesignTimePropertyDisplayProps.js.map +1 -0
  88. package/dist/esm/packages/DesignTimePropertyEditorProps.d.ts +9 -0
  89. package/dist/esm/packages/DesignTimePropertyEditorProps.d.ts.map +1 -0
  90. package/dist/esm/packages/DesignTimePropertyEditorProps.js +2 -0
  91. package/dist/esm/packages/DesignTimePropertyEditorProps.js.map +1 -0
  92. package/dist/esm/packages/DesignTimeProvider.d.ts +9 -0
  93. package/dist/esm/packages/DesignTimeProvider.d.ts.map +1 -0
  94. package/dist/esm/packages/DesignTimeProvider.js +20 -0
  95. package/dist/esm/packages/DesignTimeProvider.js.map +1 -0
  96. package/dist/esm/packages/EmbeddedPackageHost.d.ts +3 -0
  97. package/dist/esm/packages/EmbeddedPackageHost.d.ts.map +1 -0
  98. package/dist/esm/packages/EmbeddedPackageHost.js +13 -0
  99. package/dist/esm/packages/EmbeddedPackageHost.js.map +1 -0
  100. package/dist/esm/packages/PackageHostAssets.d.ts +6 -0
  101. package/dist/esm/packages/PackageHostAssets.d.ts.map +1 -0
  102. package/dist/esm/packages/PackageHostAssets.js +28 -0
  103. package/dist/esm/packages/PackageHostAssets.js.map +1 -0
  104. package/dist/esm/packages/PackageHostConfiguration.d.ts +11 -1
  105. package/dist/esm/packages/PackageHostConfiguration.d.ts.map +1 -1
  106. package/dist/esm/packages/PackageHostConfiguration.js +41 -5
  107. package/dist/esm/packages/PackageHostConfiguration.js.map +1 -1
  108. package/dist/esm/packages/PackageHostRenderMode.d.ts +6 -0
  109. package/dist/esm/packages/PackageHostRenderMode.d.ts.map +1 -0
  110. package/dist/esm/packages/PackageHostRenderMode.js +13 -0
  111. package/dist/esm/packages/PackageHostRenderMode.js.map +1 -0
  112. package/dist/esm/packages/PackageHostView.d.ts +13 -0
  113. package/dist/esm/packages/PackageHostView.d.ts.map +1 -0
  114. package/dist/esm/packages/PackageHostView.js +51 -0
  115. package/dist/esm/packages/PackageHostView.js.map +1 -0
  116. package/dist/esm/packages/StandalonePackageHost.d.ts +3 -0
  117. package/dist/esm/packages/StandalonePackageHost.d.ts.map +1 -0
  118. package/dist/esm/packages/StandalonePackageHost.js +13 -0
  119. package/dist/esm/packages/StandalonePackageHost.js.map +1 -0
  120. package/dist/esm/packages/WebViewPackageHost.d.ts +3 -0
  121. package/dist/esm/packages/WebViewPackageHost.d.ts.map +1 -0
  122. package/dist/esm/packages/WebViewPackageHost.js +13 -0
  123. package/dist/esm/packages/WebViewPackageHost.js.map +1 -0
  124. package/dist/esm/packages/index.d.ts +12 -0
  125. package/dist/esm/packages/index.d.ts.map +1 -1
  126. package/dist/esm/packages/index.js +12 -0
  127. package/dist/esm/packages/index.js.map +1 -1
  128. package/dist/esm/renderer/AbortableQueryRunner.d.ts +7 -0
  129. package/dist/esm/renderer/AbortableQueryRunner.d.ts.map +1 -0
  130. package/dist/esm/renderer/AbortableQueryRunner.js +24 -0
  131. package/dist/esm/renderer/AbortableQueryRunner.js.map +1 -0
  132. package/dist/esm/renderer/InteractiveComponent.d.ts.map +1 -1
  133. package/dist/esm/renderer/InteractiveComponent.js +35 -2
  134. package/dist/esm/renderer/InteractiveComponent.js.map +1 -1
  135. package/dist/esm/renderer/RenderBindingScopeContext.d.ts +14 -0
  136. package/dist/esm/renderer/RenderBindingScopeContext.d.ts.map +1 -0
  137. package/dist/esm/renderer/RenderBindingScopeContext.js +73 -0
  138. package/dist/esm/renderer/RenderBindingScopeContext.js.map +1 -0
  139. package/dist/esm/renderer/index.d.ts +2 -0
  140. package/dist/esm/renderer/index.d.ts.map +1 -1
  141. package/dist/esm/renderer/index.js +2 -0
  142. package/dist/esm/renderer/index.js.map +1 -1
  143. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  144. package/index.ts +1 -0
  145. package/navigation/DestinationResolution.ts +13 -0
  146. package/navigation/SceneNavigationContext.tsx +34 -0
  147. package/navigation/SceneNavigationHost.tsx +67 -0
  148. package/navigation/index.ts +7 -0
  149. package/navigation/resolveDestination.ts +50 -0
  150. package/package.json +5 -5
  151. package/packages/DesignTimeAction.ts +3 -4
  152. package/packages/DesignTimeBundle.ts +8 -5
  153. package/packages/DesignTimeComponentProps.ts +11 -0
  154. package/packages/DesignTimeContext.ts +32 -0
  155. package/packages/DesignTimePropertyDisplayProps.ts +14 -0
  156. package/packages/DesignTimePropertyEditorProps.ts +15 -0
  157. package/packages/DesignTimeProvider.tsx +25 -0
  158. package/packages/EmbeddedPackageHost.tsx +10 -0
  159. package/packages/PackageHostAssets.tsx +18 -0
  160. package/packages/PackageHostConfiguration.ts +62 -5
  161. package/packages/PackageHostRenderMode.ts +11 -0
  162. package/packages/PackageHostView.tsx +43 -0
  163. package/packages/StandalonePackageHost.tsx +10 -0
  164. package/packages/WebViewPackageHost.tsx +10 -0
  165. package/packages/index.ts +12 -0
  166. package/renderer/AbortableQueryRunner.ts +27 -0
  167. package/renderer/InteractiveComponent.tsx +32 -3
  168. package/renderer/RenderBindingScopeContext.tsx +73 -0
  169. package/renderer/index.ts +2 -0
@@ -1 +1 @@
1
- {"version":3,"file":"coreDescriptors.js","sources":["../../../core/coreDescriptors.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 { ComponentDescriptor, PropertyValueType } from '@cratis/scene.model';\nimport { componentRegistryKey } from '../packages';\n\nconst key = (name: string) => componentRegistryKey('core', name);\n\n/**\n * What can be edited on the `core` package's components.\n *\n * Only the components an author configures by hand are described: a button's label, an action's command and its\n * argument mapping, a column's heading, and the navigation bar. The Screenplay structural components - `data`,\n * `section`, `summary` - have nothing to edit that is not already a node in the tree.\n */\nexport const coreDescriptors: ComponentDescriptor[] = [\n {\n component: key('button'),\n displayName: 'Button',\n properties: [\n { path: 'label', label: 'Label', group: 'Content', valueType: PropertyValueType.String, default: '' },\n ],\n },\n {\n component: key('action'),\n displayName: 'Command action',\n description: 'Invokes a modeled command. The command and its argument mapping are stored on the element; the host that handles the command event reads them.',\n properties: [\n { path: 'label', label: 'Label', group: 'Content', valueType: PropertyValueType.String },\n {\n path: 'command', label: 'Command', group: 'Behavior', valueType: PropertyValueType.String,\n editorKind: 'stateChangeReference', constraints: { required: true },\n description: 'The state change this action submits.',\n },\n {\n path: 'arguments', label: 'Argument mapping', group: 'Behavior', valueType: PropertyValueType.Collection,\n description: 'Where each command argument comes from.',\n item: {\n label: 'Argument',\n properties: [\n { path: 'name', label: 'Argument', group: 'Behavior', valueType: PropertyValueType.String, constraints: { required: true } },\n { path: 'source', label: 'Source', group: 'Behavior', valueType: PropertyValueType.String, editorKind: 'bindingPath', constraints: { required: true } },\n ],\n },\n },\n ],\n },\n {\n component: key('column'),\n displayName: 'Table column',\n properties: [\n { path: 'property', label: 'Result field', group: 'Data', valueType: PropertyValueType.String, editorKind: 'resultField', constraints: { required: true } },\n { path: 'label', label: 'Heading', group: 'Content', valueType: PropertyValueType.String },\n ],\n },\n {\n component: key('navigationBar'),\n displayName: 'Navigation bar',\n description: 'A list of navigation items. A template author fixes the first item (Home) and can expose the list so that screens add their own.',\n properties: [\n { path: 'title', label: 'Title', group: 'Content', valueType: PropertyValueType.String, default: 'Navigation' },\n {\n path: 'items', label: 'Items', group: 'Content', valueType: PropertyValueType.Collection, default: [],\n item: {\n label: 'Navigation item',\n properties: [\n { path: 'label', label: 'Label', group: 'Content', valueType: PropertyValueType.String, constraints: { required: true, minimumLength: 1 } },\n { path: 'icon', label: 'Icon', group: 'Content', valueType: PropertyValueType.Icon, editorKind: 'iconPicker' },\n { path: 'destination', label: 'Destination', group: 'Content', valueType: PropertyValueType.Destination, editorKind: 'screenPicker', constraints: { required: true } },\n ],\n },\n },\n ],\n },\n];\n"],"names":["key","name","componentRegistryKey","coreDescriptors","component","displayName","properties","path","label","group","valueType","PropertyValueType","String","default","description","editorKind","constraints","required","Collection","item","minimumLength","Icon","Destination"],"mappings":"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"}
1
+ {"version":3,"file":"coreDescriptors.js","sources":["../../../core/coreDescriptors.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 { ComponentDescriptor, PropertyValueType } from '@cratis/scene.model';\nimport { componentRegistryKey } from '../packages';\n\nconst key = (name: string) => componentRegistryKey('core', name);\n\n/**\n * What can be edited on the `core` package's components.\n *\n * Only the components an author configures by hand are described: a button's label, an action's command and its\n * argument mapping, a column's heading, and the navigation bar. The Screenplay structural components - `data`,\n * `section`, `summary` - have nothing to edit that is not already a node in the tree.\n */\nexport const coreDescriptors: ComponentDescriptor[] = [\n {\n component: key('button'),\n displayName: 'Button',\n properties: [\n { path: 'label', label: 'Label', group: 'Content', valueType: PropertyValueType.String, default: '' },\n ],\n },\n {\n component: key('action'),\n displayName: 'Command action',\n description: 'Invokes a modeled command. The command and its argument mapping are stored on the element; the host that handles the command event reads them.',\n properties: [\n { path: 'label', label: 'Label', group: 'Content', valueType: PropertyValueType.String },\n {\n path: 'command', label: 'Command', group: 'Behavior', valueType: PropertyValueType.String,\n editorKind: 'stateChangeReference', constraints: { required: true },\n description: 'The state change this action submits.',\n },\n {\n path: 'arguments', label: 'Argument mapping', group: 'Behavior', valueType: PropertyValueType.Collection,\n description: 'Where each command argument comes from.',\n item: {\n label: 'Argument',\n properties: [\n { path: 'name', label: 'Argument', group: 'Behavior', valueType: PropertyValueType.String, constraints: { required: true } },\n { path: 'source', label: 'Source', group: 'Behavior', valueType: PropertyValueType.String, editorKind: 'bindingPath', constraints: { required: true } },\n ],\n },\n },\n ],\n },\n {\n component: key('column'),\n displayName: 'Table column',\n properties: [\n { path: 'property', label: 'Result field', group: 'Data', valueType: PropertyValueType.String, editorKind: 'resultField', constraints: { required: true } },\n { path: 'label', label: 'Heading', group: 'Content', valueType: PropertyValueType.String },\n ],\n },\n {\n component: key('navigationBar'),\n displayName: 'Navigation bar',\n description: 'A list of navigation items. A template author fixes the first item (Home) and can expose the list so that screens add their own.',\n properties: [\n { path: 'title', label: 'Title', group: 'Content', valueType: PropertyValueType.String, default: 'Navigation' },\n {\n path: 'items', label: 'Items', group: 'Content', valueType: PropertyValueType.Collection, default: [],\n item: {\n label: 'Navigation item',\n properties: [\n { path: 'label', label: 'Label', group: 'Content', valueType: PropertyValueType.String, constraints: { required: true, minimumLength: 1 } },\n { path: 'icon', label: 'Icon', group: 'Content', valueType: PropertyValueType.Icon, editorKind: 'iconPicker' },\n { path: 'destination', label: 'Destination', group: 'Content', valueType: PropertyValueType.Destination, editorKind: 'screenPicker', constraints: { required: true } },\n ],\n },\n },\n ],\n },\n];\n"],"names":["key","name","componentRegistryKey","coreDescriptors","component","displayName","properties","path","label","group","valueType","PropertyValueType","String","default","description","editorKind","constraints","required","Collection","item","minimumLength","Icon","Destination"],"mappings":"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"}
@@ -2,6 +2,7 @@ export * from './SceneElementView';
2
2
  export * from './renderer';
3
3
  export * from './core';
4
4
  export * from './NavBar';
5
+ export * from './navigation';
5
6
  export * from './icons';
6
7
  export * from './packages';
7
8
  export * from './theme';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":"AAGA,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":"AAGA,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC"}
package/dist/esm/index.js CHANGED
@@ -1,5 +1,7 @@
1
1
  export { SceneElementView } from './SceneElementView.js';
2
+ export { AbortableQueryRunner } from './renderer/AbortableQueryRunner.js';
2
3
  export { BindingOutputProvider, useBindingOutputScope, useBindingOutputs } from './renderer/BindingOutputContext.js';
4
+ export { RenderBindingScopeProvider, useRenderBindingResolver, useRenderBindingScope } from './renderer/RenderBindingScopeContext.js';
3
5
  export { UnresolvedComponent } from './renderer/UnresolvedComponent.js';
4
6
  export { createReactRenderer } from './renderer/createReactRenderer.js';
5
7
  export { InteractiveComponent } from './renderer/InteractiveComponent.js';
@@ -13,13 +15,23 @@ export { coreComponents } from './core/coreComponents.js';
13
15
  export { corePackage, corePackageManifest } from './core/corePackage.js';
14
16
  export { NavBar } from './NavBar/NavBar.js';
15
17
  export { extractNavigationItem } from './NavBar/extractNavigationItem.js';
18
+ export { SceneNavigationProvider, useSceneNavigation } from './navigation/SceneNavigationContext.js';
19
+ export { SceneNavigationHost } from './navigation/SceneNavigationHost.js';
20
+ export { resolveDestination } from './navigation/resolveDestination.js';
16
21
  export { IconAdapterRegistry, createIconAdapterRegistry } from './icons/IconAdapterRegistry.js';
17
22
  export { IconAdapterProvider, useIconAdapters } from './icons/IconAdapterContext.js';
18
23
  export { useIconGlyph } from './icons/useIconGlyph.js';
19
24
  export { SceneIcon } from './icons/SceneIcon.js';
20
25
  export { validateDesignTimeBundle } from './packages/DesignTimeBundle.js';
26
+ export { DesignTimeProvider, useDesignTimeContext } from './packages/DesignTimeProvider.js';
27
+ export { EmbeddedPackageHost } from './packages/EmbeddedPackageHost.js';
28
+ export { PackageHostAssets } from './packages/PackageHostAssets.js';
21
29
  export { resolvePackageHost } from './packages/PackageHostConfiguration.js';
30
+ export { PackageHostRenderMode } from './packages/PackageHostRenderMode.js';
31
+ export { PackageHostView } from './packages/PackageHostView.js';
22
32
  export { componentRegistryKey, mergeIconAdapters, mergePackageRegistries, validatePackageBundle } from './packages/ScenePackageBundle.js';
33
+ export { StandalonePackageHost } from './packages/StandalonePackageHost.js';
34
+ export { WebViewPackageHost } from './packages/WebViewPackageHost.js';
23
35
  export { validateComponentsUiLibraryContract, validateComponentsUiLibraryMapping } from './packages/ComponentsUiLibraryContract.js';
24
36
  export { applyThemeTokens, themeTokenPrefix, themeTokenProperty } from './theme/themeTokens.js';
25
37
  export { SceneThemeProvider, useSceneTheme } from './theme/SceneThemeProvider.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,10 @@
1
+ import { DestinationKind } from '@cratis/scene.model';
2
+ export interface DestinationResolution {
3
+ kind: DestinationKind;
4
+ url?: string;
5
+ outlet?: string;
6
+ dialog?: string;
7
+ action: 'navigate' | 'openDialog' | 'openExternal';
8
+ diagnostics: string[];
9
+ }
10
+ //# sourceMappingURL=DestinationResolution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DestinationResolution.d.ts","sourceRoot":"","sources":["../../../navigation/DestinationResolution.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,MAAM,WAAW,qBAAqB;IAClC,IAAI,EAAE,eAAe,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,UAAU,GAAG,YAAY,GAAG,cAAc,CAAC;IACnD,WAAW,EAAE,MAAM,EAAE,CAAC;CACzB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=DestinationResolution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DestinationResolution.js","sourceRoot":"","sources":["../../../navigation/DestinationResolution.ts"],"names":[],"mappings":""}
@@ -0,0 +1,20 @@
1
+ import { ReactNode } from 'react';
2
+ import { BindingScope } from '@cratis/scene.engine';
3
+ import { DestinationReference } from '@cratis/scene.model';
4
+ import { DestinationResolution } from './DestinationResolution';
5
+ export interface SceneNavigationContextValue {
6
+ currentScreen: string;
7
+ currentUrl?: string;
8
+ currentOutlet?: string;
9
+ currentDialog?: string;
10
+ bindingScope: BindingScope;
11
+ navigate(destination: DestinationReference): DestinationResolution;
12
+ closeDialog(): void;
13
+ }
14
+ export interface SceneNavigationProviderProps {
15
+ value: SceneNavigationContextValue;
16
+ children: ReactNode;
17
+ }
18
+ export declare function SceneNavigationProvider({ value, children }: SceneNavigationProviderProps): import("react").JSX.Element;
19
+ export declare function useSceneNavigation(): SceneNavigationContextValue;
20
+ //# sourceMappingURL=SceneNavigationContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SceneNavigationContext.d.ts","sourceRoot":"","sources":["../../../navigation/SceneNavigationContext.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAA6B,MAAM,OAAO,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,MAAM,WAAW,2BAA2B;IACxC,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,YAAY,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,oBAAoB,GAAG,qBAAqB,CAAC;IACnE,WAAW,IAAI,IAAI,CAAC;CACvB;AAID,MAAM,WAAW,4BAA4B;IACzC,KAAK,EAAE,2BAA2B,CAAC;IACnC,QAAQ,EAAE,SAAS,CAAC;CACvB;AAED,wBAAgB,uBAAuB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,4BAA4B,+BAExF;AAED,wBAAgB,kBAAkB,IAAI,2BAA2B,CAIhE"}
@@ -0,0 +1,18 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import { useContext, createContext } from 'react';
3
+
4
+ const Context = /*#__PURE__*/ createContext(undefined);
5
+ function SceneNavigationProvider({ value, children }) {
6
+ return /*#__PURE__*/ jsx(Context.Provider, {
7
+ value: value,
8
+ children: children
9
+ });
10
+ }
11
+ function useSceneNavigation() {
12
+ const context = useContext(Context);
13
+ if (!context) throw new Error('No Scene navigation context is available.');
14
+ return context;
15
+ }
16
+
17
+ export { SceneNavigationProvider, useSceneNavigation };
18
+ //# sourceMappingURL=SceneNavigationContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SceneNavigationContext.js","sources":["../../../navigation/SceneNavigationContext.tsx"],"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 { ReactNode, createContext, useContext } from 'react';\nimport { BindingScope } from '@cratis/scene.engine';\nimport { DestinationReference } from '@cratis/scene.model';\nimport { DestinationResolution } from './DestinationResolution';\n\nexport interface SceneNavigationContextValue {\n currentScreen: string;\n currentUrl?: string;\n currentOutlet?: string;\n currentDialog?: string;\n bindingScope: BindingScope;\n navigate(destination: DestinationReference): DestinationResolution;\n closeDialog(): void;\n}\n\nconst Context = createContext<SceneNavigationContextValue | undefined>(undefined);\n\nexport interface SceneNavigationProviderProps {\n value: SceneNavigationContextValue;\n children: ReactNode;\n}\n\nexport function SceneNavigationProvider({ value, children }: SceneNavigationProviderProps) {\n return <Context.Provider value={value}>{children}</Context.Provider>;\n}\n\nexport function useSceneNavigation(): SceneNavigationContextValue {\n const context = useContext(Context);\n if (!context) throw new Error('No Scene navigation context is available.');\n return context;\n}\n"],"names":["Context","createContext","undefined","SceneNavigationProvider","value","children","_jsx","Provider","useSceneNavigation","context","useContext","Error"],"mappings":";;;AAkBA,MAAMA,wBAAUC,aAAAA,CAAuDC,SAAAA,CAAAA;AAOhE,SAASC,uBAAAA,CAAwB,EAAEC,KAAK,EAAEC,QAAQ,EAAgC,EAAA;IACrF,qBAAOC,GAAA,CAACN,QAAQO,QAAQ,EAAA;QAACH,KAAAA,EAAOA,KAAAA;AAAQC,QAAAA,QAAAA,EAAAA;;AAC5C;AAEO,SAASG,kBAAAA,GAAAA;AACZ,IAAA,MAAMC,UAAUC,UAAAA,CAAWV,OAAAA,CAAAA;AAC3B,IAAA,IAAI,CAACS,OAAAA,EAAS,MAAM,IAAIE,KAAAA,CAAM,2CAAA,CAAA;IAC9B,OAAOF,OAAAA;AACX;;"}
@@ -0,0 +1,12 @@
1
+ import { BindingScope } from '@cratis/scene.engine';
2
+ import { SceneElement } from '@cratis/scene.model';
3
+ import { ComponentRegistry } from '../renderer';
4
+ export interface SceneNavigationHostProps {
5
+ screens: Record<string, SceneElement>;
6
+ dialogs?: Record<string, SceneElement>;
7
+ initialScreen: string;
8
+ registry: ComponentRegistry;
9
+ bindingScope?: BindingScope;
10
+ }
11
+ export declare function SceneNavigationHost({ screens, dialogs, initialScreen, registry, bindingScope }: SceneNavigationHostProps): import("react").JSX.Element;
12
+ //# sourceMappingURL=SceneNavigationHost.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SceneNavigationHost.d.ts","sourceRoot":"","sources":["../../../navigation/SceneNavigationHost.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAyC,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAE1F,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAIhD,MAAM,WAAW,wBAAwB;IACrC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACvC,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,YAAY,CAAC,EAAE,YAAY,CAAC;CAC/B;AAMD,wBAAgB,mBAAmB,CAAC,EAAE,OAAO,EAAE,OAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAiB,EAAE,EAAE,wBAAwB,+BA2ClI"}
@@ -0,0 +1,80 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import { useState, useCallback, useMemo } from 'react';
3
+ import { DestinationKind } from '@cratis/scene.model';
4
+ import { SceneElementView } from '../SceneElementView.js';
5
+ import { SceneNavigationProvider } from './SceneNavigationContext.js';
6
+ import { resolveDestination } from './resolveDestination.js';
7
+
8
+ /**
9
+ * Executes Scene destinations against an in-memory rendered hierarchy: screen routes replace outlets,
10
+ * dialog destinations render dialog content, and external destinations only report their resolved action.
11
+ */ function SceneNavigationHost({ screens, dialogs = {}, initialScreen, registry, bindingScope = {} }) {
12
+ const [currentScreen, setCurrentScreen] = useState(initialScreen);
13
+ const [currentUrl, setCurrentUrl] = useState(initialScreen);
14
+ const [currentOutlet, setCurrentOutlet] = useState();
15
+ const [currentDialog, setCurrentDialog] = useState();
16
+ const navigate = useCallback((destination)=>{
17
+ const resolution = resolveDestination(destination, bindingScope);
18
+ if (resolution.kind === DestinationKind.Dialog) {
19
+ setCurrentDialog(resolution.dialog);
20
+ return resolution;
21
+ }
22
+ if (resolution.kind !== DestinationKind.External) {
23
+ setCurrentScreen(destination.screen ?? destination.slice ?? currentScreen);
24
+ setCurrentOutlet(resolution.outlet);
25
+ }
26
+ setCurrentUrl(resolution.url);
27
+ return resolution;
28
+ }, [
29
+ bindingScope,
30
+ currentScreen
31
+ ]);
32
+ const value = useMemo(()=>({
33
+ currentScreen,
34
+ currentUrl,
35
+ currentOutlet,
36
+ currentDialog,
37
+ bindingScope,
38
+ navigate,
39
+ closeDialog: ()=>setCurrentDialog(undefined)
40
+ }), [
41
+ bindingScope,
42
+ currentDialog,
43
+ currentOutlet,
44
+ currentScreen,
45
+ currentUrl,
46
+ navigate
47
+ ]);
48
+ const screen = screens[currentScreen];
49
+ const dialog = currentDialog ? dialogs[currentDialog] : undefined;
50
+ return /*#__PURE__*/ jsxs(SceneNavigationProvider, {
51
+ value: value,
52
+ children: [
53
+ /*#__PURE__*/ jsx("div", {
54
+ "data-scene-outlet": currentOutlet ?? 'primary',
55
+ "data-scene-url": currentUrl,
56
+ children: screen && /*#__PURE__*/ jsx(SceneElementView, {
57
+ element: screen,
58
+ registry: registry,
59
+ dataContext: bindingScope.dataContext,
60
+ queryResults: bindingScope.queryResults,
61
+ componentOutputs: bindingScope.componentOutputs
62
+ })
63
+ }),
64
+ dialog && /*#__PURE__*/ jsx("div", {
65
+ role: "dialog",
66
+ "data-scene-dialog": currentDialog,
67
+ children: /*#__PURE__*/ jsx(SceneElementView, {
68
+ element: dialog,
69
+ registry: registry,
70
+ dataContext: bindingScope.dataContext,
71
+ queryResults: bindingScope.queryResults,
72
+ componentOutputs: bindingScope.componentOutputs
73
+ })
74
+ })
75
+ ]
76
+ });
77
+ }
78
+
79
+ export { SceneNavigationHost };
80
+ //# sourceMappingURL=SceneNavigationHost.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SceneNavigationHost.js","sources":["../../../navigation/SceneNavigationHost.tsx"],"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 { useCallback, useMemo, useState } from 'react';\nimport { BindingScope } from '@cratis/scene.engine';\nimport { DestinationKind, DestinationReference, SceneElement } from '@cratis/scene.model';\nimport { SceneElementView } from '../SceneElementView';\nimport { ComponentRegistry } from '../renderer';\nimport { SceneNavigationContextValue, SceneNavigationProvider } from './SceneNavigationContext';\nimport { resolveDestination } from './resolveDestination';\n\nexport interface SceneNavigationHostProps {\n screens: Record<string, SceneElement>;\n dialogs?: Record<string, SceneElement>;\n initialScreen: string;\n registry: ComponentRegistry;\n bindingScope?: BindingScope;\n}\n\n/**\n * Executes Scene destinations against an in-memory rendered hierarchy: screen routes replace outlets,\n * dialog destinations render dialog content, and external destinations only report their resolved action.\n */\nexport function SceneNavigationHost({ screens, dialogs = {}, initialScreen, registry, bindingScope = {} }: SceneNavigationHostProps) {\n const [currentScreen, setCurrentScreen] = useState(initialScreen);\n const [currentUrl, setCurrentUrl] = useState<string | undefined>(initialScreen);\n const [currentOutlet, setCurrentOutlet] = useState<string | undefined>();\n const [currentDialog, setCurrentDialog] = useState<string | undefined>();\n\n const navigate = useCallback((destination: DestinationReference) => {\n const resolution = resolveDestination(destination, bindingScope);\n if (resolution.kind === DestinationKind.Dialog) {\n setCurrentDialog(resolution.dialog);\n return resolution;\n }\n\n if (resolution.kind !== DestinationKind.External) {\n setCurrentScreen(destination.screen ?? destination.slice ?? currentScreen);\n setCurrentOutlet(resolution.outlet);\n }\n\n setCurrentUrl(resolution.url);\n return resolution;\n }, [bindingScope, currentScreen]);\n\n const value = useMemo<SceneNavigationContextValue>(() => ({\n currentScreen,\n currentUrl,\n currentOutlet,\n currentDialog,\n bindingScope,\n navigate,\n closeDialog: () => setCurrentDialog(undefined),\n }), [bindingScope, currentDialog, currentOutlet, currentScreen, currentUrl, navigate]);\n\n const screen = screens[currentScreen];\n const dialog = currentDialog ? dialogs[currentDialog] : undefined;\n\n return <SceneNavigationProvider value={value}>\n <div data-scene-outlet={currentOutlet ?? 'primary'} data-scene-url={currentUrl}>\n {screen && <SceneElementView element={screen} registry={registry} dataContext={bindingScope.dataContext} queryResults={bindingScope.queryResults} componentOutputs={bindingScope.componentOutputs} />}\n </div>\n {dialog && <div role='dialog' data-scene-dialog={currentDialog}>\n <SceneElementView element={dialog} registry={registry} dataContext={bindingScope.dataContext} queryResults={bindingScope.queryResults} componentOutputs={bindingScope.componentOutputs} />\n </div>}\n </SceneNavigationProvider>;\n}\n"],"names":["SceneNavigationHost","screens","dialogs","initialScreen","registry","bindingScope","currentScreen","setCurrentScreen","useState","currentUrl","setCurrentUrl","currentOutlet","setCurrentOutlet","currentDialog","setCurrentDialog","navigate","useCallback","destination","resolution","resolveDestination","kind","DestinationKind","Dialog","dialog","External","screen","slice","outlet","url","value","useMemo","closeDialog","undefined","_jsxs","SceneNavigationProvider","_jsx","div","data-scene-outlet","data-scene-url","SceneElementView","element","dataContext","queryResults","componentOutputs","role","data-scene-dialog"],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export * from './DestinationResolution';
2
+ export * from './SceneNavigationContext';
3
+ export * from './SceneNavigationHost';
4
+ export * from './resolveDestination';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../navigation/index.ts"],"names":[],"mappings":"AAGA,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC"}
@@ -0,0 +1,5 @@
1
+ export * from './DestinationResolution';
2
+ export * from './SceneNavigationContext';
3
+ export * from './SceneNavigationHost';
4
+ export * from './resolveDestination';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../navigation/index.ts"],"names":[],"mappings":"AAGA,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { BindingScope } from '@cratis/scene.engine';
2
+ import { DestinationReference } from '@cratis/scene.model';
3
+ import { DestinationResolution } from './DestinationResolution';
4
+ export declare function resolveDestination(destination: DestinationReference, scope?: BindingScope): DestinationResolution;
5
+ //# sourceMappingURL=resolveDestination.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveDestination.d.ts","sourceRoot":"","sources":["../../../navigation/resolveDestination.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAA4B,MAAM,sBAAsB,CAAC;AAC9E,OAAO,EAAmB,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAKhE,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,oBAAoB,EAAE,KAAK,GAAE,YAAiB,GAAG,qBAAqB,CAiBrH"}
@@ -0,0 +1,52 @@
1
+ import { resolveBindingExpression } from '@cratis/scene.engine';
2
+ import { DestinationKind } from '@cratis/scene.model';
3
+
4
+ // Copyright (c) Cratis. All rights reserved.
5
+ // Licensed under the MIT license. See LICENSE file in the project root for full license information.
6
+ /**
7
+ * Resolves a destination into a renderer-neutral navigation action, deep link and target outlet/dialog.
8
+ */ function resolveDestination(destination, scope = {}) {
9
+ const diagnostics = [];
10
+ const kind = destination.kind ?? (destination.dialog ? DestinationKind.Dialog : DestinationKind.Outlet);
11
+ const parameters = Object.entries(destination.routeParameterBindings ?? {}).map(([name, binding])=>[
12
+ name,
13
+ String(resolveBindingExpression(binding, scope) ?? '')
14
+ ]);
15
+ const base = destination.route ?? identityRoute(destination);
16
+ if (!base && kind !== DestinationKind.Dialog) diagnostics.push('Destination has no routeable screen, stable identity or route.');
17
+ const url = base ? appendParameters(base, parameters) : undefined;
18
+ return {
19
+ kind,
20
+ url,
21
+ outlet: destination.outlet,
22
+ dialog: destination.dialog,
23
+ action: kind === DestinationKind.Dialog ? 'openDialog' : kind === DestinationKind.External ? 'openExternal' : 'navigate',
24
+ diagnostics
25
+ };
26
+ }
27
+ function identityRoute(destination) {
28
+ if (destination.screen) return destination.screen;
29
+ const parts = [
30
+ destination.module,
31
+ destination.feature,
32
+ destination.slice
33
+ ].filter((part)=>typeof part === 'string' && part.length > 0);
34
+ return parts.length ? parts.join('/') : undefined;
35
+ }
36
+ function appendParameters(route, parameters) {
37
+ if (!parameters.length) return route;
38
+ let replaced = route;
39
+ const unused = [];
40
+ for (const [name, value] of parameters){
41
+ const marker = `{${name}}`;
42
+ if (replaced.includes(marker)) {
43
+ replaced = replaced.split(marker).join(encodeURIComponent(value));
44
+ } else {
45
+ unused.push(`${encodeURIComponent(name)}=${encodeURIComponent(value)}`);
46
+ }
47
+ }
48
+ return unused.length ? `${replaced}?${unused.join('&')}` : replaced;
49
+ }
50
+
51
+ export { resolveDestination };
52
+ //# sourceMappingURL=resolveDestination.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveDestination.js","sources":["../../../navigation/resolveDestination.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 { BindingScope, resolveBindingExpression } from '@cratis/scene.engine';\nimport { DestinationKind, DestinationReference } from '@cratis/scene.model';\nimport { DestinationResolution } from './DestinationResolution';\n\n/**\n * Resolves a destination into a renderer-neutral navigation action, deep link and target outlet/dialog.\n */\nexport function resolveDestination(destination: DestinationReference, scope: BindingScope = {}): DestinationResolution {\n const diagnostics: string[] = [];\n const kind = destination.kind ?? (destination.dialog ? DestinationKind.Dialog : DestinationKind.Outlet);\n const parameters = Object.entries(destination.routeParameterBindings ?? {})\n .map(([name, binding]) => [name, String(resolveBindingExpression(binding, scope) ?? '')] as const);\n const base = destination.route ?? identityRoute(destination);\n if (!base && kind !== DestinationKind.Dialog) diagnostics.push('Destination has no routeable screen, stable identity or route.');\n\n const url = base ? appendParameters(base, parameters) : undefined;\n return {\n kind,\n url,\n outlet: destination.outlet,\n dialog: destination.dialog,\n action: kind === DestinationKind.Dialog ? 'openDialog' : kind === DestinationKind.External ? 'openExternal' : 'navigate',\n diagnostics,\n };\n}\n\nfunction identityRoute(destination: DestinationReference): string | undefined {\n if (destination.screen) return destination.screen;\n const parts = [destination.module, destination.feature, destination.slice].filter((part): part is string => typeof part === 'string' && part.length > 0);\n return parts.length ? parts.join('/') : undefined;\n}\n\nfunction appendParameters(route: string, parameters: readonly (readonly [string, string])[]): string {\n if (!parameters.length) return route;\n let replaced = route;\n const unused: string[] = [];\n for (const [name, value] of parameters) {\n const marker = `{${name}}`;\n if (replaced.includes(marker)) {\n replaced = replaced.split(marker).join(encodeURIComponent(value));\n } else {\n unused.push(`${encodeURIComponent(name)}=${encodeURIComponent(value)}`);\n }\n }\n\n return unused.length ? `${replaced}?${unused.join('&')}` : replaced;\n}\n"],"names":["resolveDestination","destination","scope","diagnostics","kind","dialog","DestinationKind","Dialog","Outlet","parameters","Object","entries","routeParameterBindings","map","name","binding","String","resolveBindingExpression","base","route","identityRoute","push","url","appendParameters","undefined","outlet","action","External","screen","parts","module","feature","slice","filter","part","length","join","replaced","unused","value","marker","includes","split","encodeURIComponent"],"mappings":"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"}
@@ -1,7 +1,6 @@
1
- import { ComponentDescriptor, DesignTimeActionDescriptor, ExternalComponent, SceneEdit } from '@cratis/scene.model';
2
- export interface DesignTimeActionContext {
3
- element: ExternalComponent;
4
- descriptor: ComponentDescriptor;
1
+ import { DesignTimeActionDescriptor, SceneEdit } from '@cratis/scene.model';
2
+ import { DesignTimeContext } from './DesignTimeContext';
3
+ export interface DesignTimeActionContext extends DesignTimeContext {
5
4
  commandMetadata?: {
6
5
  properties: {
7
6
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"DesignTimeAction.d.ts","sourceRoot":"","sources":["../../../packages/DesignTimeAction.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEpH,MAAM,WAAW,uBAAuB;IACpC,OAAO,EAAE,iBAAiB,CAAC;IAC3B,UAAU,EAAE,mBAAmB,CAAC;IAChC,eAAe,CAAC,EAAE;QAAE,UAAU,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAA;SAAE,EAAE,CAAA;KAAE,CAAC;CACtF;AAED,MAAM,WAAW,sBAAsB;IACnC,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,WAAW,EAAE,MAAM,EAAE,CAAC;CACzB;AAKD,MAAM,WAAW,gBAAgB;IAC7B,UAAU,EAAE,0BAA0B,CAAC;IACvC,SAAS,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC;IACrD,SAAS,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC;IACrD,OAAO,CAAC,OAAO,EAAE,uBAAuB,GAAG,sBAAsB,CAAC;CACrE"}
1
+ {"version":3,"file":"DesignTimeAction.d.ts","sourceRoot":"","sources":["../../../packages/DesignTimeAction.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,0BAA0B,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,WAAW,uBAAwB,SAAQ,iBAAiB;IAC9D,eAAe,CAAC,EAAE;QAAE,UAAU,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAA;SAAE,EAAE,CAAA;KAAE,CAAC;CACtF;AAED,MAAM,WAAW,sBAAsB;IACnC,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,WAAW,EAAE,MAAM,EAAE,CAAC;CACzB;AAKD,MAAM,WAAW,gBAAgB;IAC7B,UAAU,EAAE,0BAA0B,CAAC;IACvC,SAAS,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC;IACrD,SAAS,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC;IACrD,OAAO,CAAC,OAAO,EAAE,uBAAuB,GAAG,sBAAsB,CAAC;CACrE"}
@@ -1,16 +1,13 @@
1
- import { ComponentType, ReactNode } from 'react';
1
+ import { ComponentType } from 'react';
2
2
  import { DesignTimeAction } from './DesignTimeAction';
3
+ import { DesignTimeComponentProps } from './DesignTimeComponentProps';
4
+ import { DesignTimePropertyDisplayProps } from './DesignTimePropertyDisplayProps';
5
+ import { DesignTimePropertyEditorProps } from './DesignTimePropertyEditorProps';
3
6
  export interface DesignTimeBundle {
4
- previews?: Record<string, ComponentType<{
5
- children?: ReactNode;
6
- }>>;
7
- designers?: Record<string, ComponentType<{
8
- children?: ReactNode;
9
- }>>;
10
- propertyEditors?: Record<string, ComponentType<Record<string, unknown>>>;
11
- propertyDisplays?: Record<string, ComponentType<{
12
- value: unknown;
13
- }>>;
7
+ previews?: Record<string, ComponentType<DesignTimeComponentProps>>;
8
+ designers?: Record<string, ComponentType<DesignTimeComponentProps>>;
9
+ propertyEditors?: Record<string, ComponentType<DesignTimePropertyEditorProps>>;
10
+ propertyDisplays?: Record<string, ComponentType<DesignTimePropertyDisplayProps>>;
14
11
  actions?: Record<string, DesignTimeAction>;
15
12
  }
16
13
  export declare function validateDesignTimeBundle(bundle: DesignTimeBundle | undefined): string[];
@@ -1 +1 @@
1
- {"version":3,"file":"DesignTimeBundle.d.ts","sourceRoot":"","sources":["../../../packages/DesignTimeBundle.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAKtD,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;QAAE,QAAQ,CAAC,EAAE,SAAS,CAAA;KAAE,CAAC,CAAC,CAAC;IACnE,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;QAAE,QAAQ,CAAC,EAAE,SAAS,CAAA;KAAE,CAAC,CAAC,CAAC;IACpE,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACzE,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;QAAE,KAAK,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC,CAAC;IACrE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;CAC9C;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,gBAAgB,GAAG,SAAS,GAAG,MAAM,EAAE,CASvF"}
1
+ {"version":3,"file":"DesignTimeBundle.d.ts","sourceRoot":"","sources":["../../../packages/DesignTimeBundle.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAClF,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAKhF,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,wBAAwB,CAAC,CAAC,CAAC;IACnE,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,wBAAwB,CAAC,CAAC,CAAC;IACpE,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,6BAA6B,CAAC,CAAC,CAAC;IAC/E,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,8BAA8B,CAAC,CAAC,CAAC;IACjF,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;CAC9C;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,gBAAgB,GAAG,SAAS,GAAG,MAAM,EAAE,CASvF"}
@@ -1 +1 @@
1
- {"version":3,"file":"DesignTimeBundle.js","sources":["../../../packages/DesignTimeBundle.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 { ComponentType, ReactNode } from 'react';\nimport { DesignTimeAction } from './DesignTimeAction';\n\n/**\n * Optional React-only design-time surface a package may publish beside its runtime bundle.\n */\nexport interface DesignTimeBundle {\n previews?: Record<string, ComponentType<{ children?: ReactNode }>>;\n designers?: Record<string, ComponentType<{ children?: ReactNode }>>;\n propertyEditors?: Record<string, ComponentType<Record<string, unknown>>>;\n propertyDisplays?: Record<string, ComponentType<{ value: unknown }>>;\n actions?: Record<string, DesignTimeAction>;\n}\n\nexport function validateDesignTimeBundle(bundle: DesignTimeBundle | undefined): string[] {\n if (!bundle) return [];\n const problems: string[] = [];\n for (const [name, action] of Object.entries(bundle.actions ?? {})) {\n if (action.descriptor.id !== name) {\n problems.push(`registers design-time action '${name}' with descriptor id '${action.descriptor.id}'`);\n }\n }\n return problems;\n}\n"],"names":["validateDesignTimeBundle","bundle","problems","name","action","Object","entries","actions","descriptor","id","push"],"mappings":"AAAA;AACA;AAgBO,SAASA,yBAAyBC,MAAoC,EAAA;IACzE,IAAI,CAACA,MAAAA,EAAQ,OAAO,EAAE;AACtB,IAAA,MAAMC,WAAqB,EAAE;AAC7B,IAAA,KAAK,MAAM,CAACC,IAAAA,EAAMC,MAAAA,CAAO,IAAIC,MAAAA,CAAOC,OAAO,CAACL,MAAAA,CAAOM,OAAO,IAAI,EAAC,CAAA,CAAI;AAC/D,QAAA,IAAIH,MAAAA,CAAOI,UAAU,CAACC,EAAE,KAAKN,IAAAA,EAAM;AAC/BD,YAAAA,QAAAA,CAASQ,IAAI,CAAC,CAAC,8BAA8B,EAAEP,IAAAA,CAAK,sBAAsB,EAAEC,MAAAA,CAAOI,UAAU,CAACC,EAAE,CAAC,CAAC,CAAC,CAAA;AACvG,QAAA;AACJ,IAAA;IACA,OAAOP,QAAAA;AACX;;"}
1
+ {"version":3,"file":"DesignTimeBundle.js","sources":["../../../packages/DesignTimeBundle.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 { ComponentType } from 'react';\nimport { DesignTimeAction } from './DesignTimeAction';\nimport { DesignTimeComponentProps } from './DesignTimeComponentProps';\nimport { DesignTimePropertyDisplayProps } from './DesignTimePropertyDisplayProps';\nimport { DesignTimePropertyEditorProps } from './DesignTimePropertyEditorProps';\n\n/**\n * Optional React-only design-time surface a package may publish beside its runtime bundle.\n */\nexport interface DesignTimeBundle {\n previews?: Record<string, ComponentType<DesignTimeComponentProps>>;\n designers?: Record<string, ComponentType<DesignTimeComponentProps>>;\n propertyEditors?: Record<string, ComponentType<DesignTimePropertyEditorProps>>;\n propertyDisplays?: Record<string, ComponentType<DesignTimePropertyDisplayProps>>;\n actions?: Record<string, DesignTimeAction>;\n}\n\nexport function validateDesignTimeBundle(bundle: DesignTimeBundle | undefined): string[] {\n if (!bundle) return [];\n const problems: string[] = [];\n for (const [name, action] of Object.entries(bundle.actions ?? {})) {\n if (action.descriptor.id !== name) {\n problems.push(`registers design-time action '${name}' with descriptor id '${action.descriptor.id}'`);\n }\n }\n return problems;\n}\n"],"names":["validateDesignTimeBundle","bundle","problems","name","action","Object","entries","actions","descriptor","id","push"],"mappings":"AAAA;AACA;AAmBO,SAASA,yBAAyBC,MAAoC,EAAA;IACzE,IAAI,CAACA,MAAAA,EAAQ,OAAO,EAAE;AACtB,IAAA,MAAMC,WAAqB,EAAE;AAC7B,IAAA,KAAK,MAAM,CAACC,IAAAA,EAAMC,MAAAA,CAAO,IAAIC,MAAAA,CAAOC,OAAO,CAACL,MAAAA,CAAOM,OAAO,IAAI,EAAC,CAAA,CAAI;AAC/D,QAAA,IAAIH,MAAAA,CAAOI,UAAU,CAACC,EAAE,KAAKN,IAAAA,EAAM;AAC/BD,YAAAA,QAAAA,CAASQ,IAAI,CAAC,CAAC,8BAA8B,EAAEP,IAAAA,CAAK,sBAAsB,EAAEC,MAAAA,CAAOI,UAAU,CAACC,EAAE,CAAC,CAAC,CAAC,CAAA;AACvG,QAAA;AACJ,IAAA;IACA,OAAOP,QAAAA;AACX;;"}
@@ -0,0 +1,5 @@
1
+ import { DesignTimeContext } from './DesignTimeContext';
2
+ export interface DesignTimeComponentProps {
3
+ context: DesignTimeContext;
4
+ }
5
+ //# sourceMappingURL=DesignTimeComponentProps.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DesignTimeComponentProps.d.ts","sourceRoot":"","sources":["../../../packages/DesignTimeComponentProps.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAKxD,MAAM,WAAW,wBAAwB;IACrC,OAAO,EAAE,iBAAiB,CAAC;CAC9B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=DesignTimeComponentProps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DesignTimeComponentProps.js","sourceRoot":"","sources":["../../../packages/DesignTimeComponentProps.ts"],"names":[],"mappings":""}
@@ -0,0 +1,18 @@
1
+ import { ComponentDescriptor, EffectiveConfiguration, ExternalComponent, SceneEdit, SceneElement, Screen, UiProfile } from '@cratis/scene.model';
2
+ import { BindingDiagnostic } from '@cratis/scene.engine';
3
+ import { ScenePackageBundle } from './ScenePackageBundle';
4
+ export interface DesignTimeContext {
5
+ element: ExternalComponent;
6
+ root: SceneElement;
7
+ screen?: Screen;
8
+ descriptor: ComponentDescriptor;
9
+ configuration?: EffectiveConfiguration;
10
+ profile: UiProfile;
11
+ bundles: ScenePackageBundle[];
12
+ permissions: Record<string, boolean>;
13
+ capabilities: Record<string, boolean>;
14
+ diagnostics: BindingDiagnostic[];
15
+ submitEdits(edits: SceneEdit[]): void;
16
+ submitAction(actionId: string, edits: SceneEdit[]): void;
17
+ }
18
+ //# sourceMappingURL=DesignTimeContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DesignTimeContext.d.ts","sourceRoot":"","sources":["../../../packages/DesignTimeContext.ts"],"names":[],"mappings":"AAGA,OAAO,EACH,mBAAmB,EACnB,sBAAsB,EACtB,iBAAiB,EACjB,SAAS,EACT,YAAY,EACZ,MAAM,EACN,SAAS,EACZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAK1D,MAAM,WAAW,iBAAiB;IAC9B,OAAO,EAAE,iBAAiB,CAAC;IAC3B,IAAI,EAAE,YAAY,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,mBAAmB,CAAC;IAChC,aAAa,CAAC,EAAE,sBAAsB,CAAC;IACvC,OAAO,EAAE,SAAS,CAAC;IACnB,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,WAAW,EAAE,iBAAiB,EAAE,CAAC;IACjC,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;IACtC,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;CAC5D"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=DesignTimeContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DesignTimeContext.js","sourceRoot":"","sources":["../../../packages/DesignTimeContext.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ import { PropertyDescriptor } from '@cratis/scene.model';
2
+ import { DesignTimeContext } from './DesignTimeContext';
3
+ export interface DesignTimePropertyDisplayProps {
4
+ context: DesignTimeContext;
5
+ property: PropertyDescriptor;
6
+ value: unknown;
7
+ }
8
+ //# sourceMappingURL=DesignTimePropertyDisplayProps.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DesignTimePropertyDisplayProps.d.ts","sourceRoot":"","sources":["../../../packages/DesignTimePropertyDisplayProps.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAKxD,MAAM,WAAW,8BAA8B;IAC3C,OAAO,EAAE,iBAAiB,CAAC;IAC3B,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,KAAK,EAAE,OAAO,CAAC;CAClB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=DesignTimePropertyDisplayProps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DesignTimePropertyDisplayProps.js","sourceRoot":"","sources":["../../../packages/DesignTimePropertyDisplayProps.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ import { PropertyDescriptor } from '@cratis/scene.model';
2
+ import { DesignTimeContext } from './DesignTimeContext';
3
+ export interface DesignTimePropertyEditorProps {
4
+ context: DesignTimeContext;
5
+ property: PropertyDescriptor;
6
+ value: unknown;
7
+ setValue(value: unknown): void;
8
+ }
9
+ //# sourceMappingURL=DesignTimePropertyEditorProps.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DesignTimePropertyEditorProps.d.ts","sourceRoot":"","sources":["../../../packages/DesignTimePropertyEditorProps.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAKxD,MAAM,WAAW,6BAA6B;IAC1C,OAAO,EAAE,iBAAiB,CAAC;IAC3B,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;CAClC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=DesignTimePropertyEditorProps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DesignTimePropertyEditorProps.js","sourceRoot":"","sources":["../../../packages/DesignTimePropertyEditorProps.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ import { ReactNode } from 'react';
2
+ import { DesignTimeContext } from './DesignTimeContext';
3
+ export interface DesignTimeProviderProps {
4
+ context: DesignTimeContext;
5
+ children: ReactNode;
6
+ }
7
+ export declare function DesignTimeProvider({ context, children }: DesignTimeProviderProps): import("react").JSX.Element;
8
+ export declare function useDesignTimeContext(): DesignTimeContext;
9
+ //# sourceMappingURL=DesignTimeProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DesignTimeProvider.d.ts","sourceRoot":"","sources":["../../../packages/DesignTimeProvider.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAA6B,MAAM,OAAO,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAIxD,MAAM,WAAW,uBAAuB;IACpC,OAAO,EAAE,iBAAiB,CAAC;IAC3B,QAAQ,EAAE,SAAS,CAAC;CACvB;AAKD,wBAAgB,kBAAkB,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,uBAAuB,+BAEhF;AAED,wBAAgB,oBAAoB,IAAI,iBAAiB,CAIxD"}
@@ -0,0 +1,20 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import { useContext, createContext } from 'react';
3
+
4
+ const Context = /*#__PURE__*/ createContext(undefined);
5
+ /**
6
+ * Makes the generic package-side design-time context available to nested package components.
7
+ */ function DesignTimeProvider({ context, children }) {
8
+ return /*#__PURE__*/ jsx(Context.Provider, {
9
+ value: context,
10
+ children: children
11
+ });
12
+ }
13
+ function useDesignTimeContext() {
14
+ const context = useContext(Context);
15
+ if (!context) throw new Error('No Scene design-time context is available.');
16
+ return context;
17
+ }
18
+
19
+ export { DesignTimeProvider, useDesignTimeContext };
20
+ //# sourceMappingURL=DesignTimeProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DesignTimeProvider.js","sources":["../../../packages/DesignTimeProvider.tsx"],"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 { ReactNode, createContext, useContext } from 'react';\nimport { DesignTimeContext } from './DesignTimeContext';\n\nconst Context = createContext<DesignTimeContext | undefined>(undefined);\n\nexport interface DesignTimeProviderProps {\n context: DesignTimeContext;\n children: ReactNode;\n}\n\n/**\n * Makes the generic package-side design-time context available to nested package components.\n */\nexport function DesignTimeProvider({ context, children }: DesignTimeProviderProps) {\n return <Context.Provider value={context}>{children}</Context.Provider>;\n}\n\nexport function useDesignTimeContext(): DesignTimeContext {\n const context = useContext(Context);\n if (!context) throw new Error('No Scene design-time context is available.');\n return context;\n}\n"],"names":["Context","createContext","undefined","DesignTimeProvider","context","children","_jsx","Provider","value","useDesignTimeContext","useContext","Error"],"mappings":";;;AAMA,MAAMA,wBAAUC,aAAAA,CAA6CC,SAAAA,CAAAA;AAO7D;;AAEC,IACM,SAASC,kBAAAA,CAAmB,EAAEC,OAAO,EAAEC,QAAQ,EAA2B,EAAA;IAC7E,qBAAOC,GAAA,CAACN,QAAQO,QAAQ,EAAA;QAACC,KAAAA,EAAOJ,OAAAA;AAAUC,QAAAA,QAAAA,EAAAA;;AAC9C;AAEO,SAASI,oBAAAA,GAAAA;AACZ,IAAA,MAAML,UAAUM,UAAAA,CAAWV,OAAAA,CAAAA;AAC3B,IAAA,IAAI,CAACI,OAAAA,EAAS,MAAM,IAAIO,KAAAA,CAAM,4CAAA,CAAA;IAC9B,OAAOP,OAAAA;AACX;;"}
@@ -0,0 +1,3 @@
1
+ import { PackageHostViewProps } from './PackageHostView';
2
+ export declare function EmbeddedPackageHost(props: Omit<PackageHostViewProps, 'mode'>): import("react").JSX.Element;
3
+ //# sourceMappingURL=EmbeddedPackageHost.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmbeddedPackageHost.d.ts","sourceRoot":"","sources":["../../../packages/EmbeddedPackageHost.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAmB,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAI1E,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,IAAI,CAAC,oBAAoB,EAAE,MAAM,CAAC,+BAE5E"}