@cratis/scene.react 4.28.0 → 4.30.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/core/CoreToolbar.tsx +37 -6
- package/core/coreComponentMetadata.ts +1 -0
- package/core/coreComponents.ts +2 -0
- package/core/coreDescriptors.ts +13 -0
- package/core/corePackage.ts +1 -0
- package/dist/cjs/core/CoreToolbar.js +44 -4
- package/dist/cjs/core/CoreToolbar.js.map +1 -1
- package/dist/cjs/core/coreComponentMetadata.js +6 -0
- package/dist/cjs/core/coreComponentMetadata.js.map +1 -1
- package/dist/cjs/core/coreComponents.js +3 -1
- package/dist/cjs/core/coreComponents.js.map +1 -1
- package/dist/cjs/core/coreDescriptors.js +27 -0
- package/dist/cjs/core/coreDescriptors.js.map +1 -1
- package/dist/cjs/core/corePackage.js +2 -1
- package/dist/cjs/core/corePackage.js.map +1 -1
- package/dist/cjs/index.js +36 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/navigation/SceneNavigationContext.js.map +1 -1
- package/dist/cjs/navigation/SceneNavigationHost.js +34 -18
- package/dist/cjs/navigation/SceneNavigationHost.js.map +1 -1
- package/dist/cjs/navigation/region/NavigationRegionClassNames.js +21 -0
- package/dist/cjs/navigation/region/NavigationRegionClassNames.js.map +1 -0
- package/dist/cjs/navigation/region/NavigationRegionView.js +283 -0
- package/dist/cjs/navigation/region/NavigationRegionView.js.map +1 -0
- package/dist/cjs/navigation/region/SceneNavigationModelContext.js +22 -0
- package/dist/cjs/navigation/region/SceneNavigationModelContext.js.map +1 -0
- package/dist/cjs/navigation/region/currentModuleOf.js +15 -0
- package/dist/cjs/navigation/region/currentModuleOf.js.map +1 -0
- package/dist/cjs/navigation/region/navigationDestinations.js +46 -0
- package/dist/cjs/navigation/region/navigationDestinations.js.map +1 -0
- package/dist/cjs/navigation/region/navigationItemActive.js +31 -0
- package/dist/cjs/navigation/region/navigationItemActive.js.map +1 -0
- package/dist/cjs/navigation/region/navigationItemDestination.js +34 -0
- package/dist/cjs/navigation/region/navigationItemDestination.js.map +1 -0
- package/dist/cjs/navigation/useSceneHistoryNavigation.js +3 -1
- package/dist/cjs/navigation/useSceneHistoryNavigation.js.map +1 -1
- package/dist/cjs/slices/CoreSliceDialog.js +21 -0
- package/dist/cjs/slices/CoreSliceDialog.js.map +1 -0
- package/dist/cjs/slices/SliceCommandFieldsContext.js +22 -0
- package/dist/cjs/slices/SliceCommandFieldsContext.js.map +1 -0
- package/dist/cjs/slices/SliceDialogView.js +254 -0
- package/dist/cjs/slices/SliceDialogView.js.map +1 -0
- package/dist/cjs/slices/SliceInvokerContext.js +40 -0
- package/dist/cjs/slices/SliceInvokerContext.js.map +1 -0
- package/dist/cjs/slices/createAnnouncingInvoker.js +27 -0
- package/dist/cjs/slices/createAnnouncingInvoker.js.map +1 -0
- package/dist/cjs/slices/createDryRunInvoker.js +38 -0
- package/dist/cjs/slices/createDryRunInvoker.js.map +1 -0
- package/dist/cjs/slices/sliceDialogDestination.js +41 -0
- package/dist/cjs/slices/sliceDialogDestination.js.map +1 -0
- package/dist/esm/core/CoreToolbar.d.ts.map +1 -1
- package/dist/esm/core/CoreToolbar.js +47 -7
- package/dist/esm/core/CoreToolbar.js.map +1 -1
- package/dist/esm/core/coreComponentMetadata.d.ts.map +1 -1
- package/dist/esm/core/coreComponentMetadata.js +6 -0
- package/dist/esm/core/coreComponentMetadata.js.map +1 -1
- package/dist/esm/core/coreComponents.d.ts.map +1 -1
- package/dist/esm/core/coreComponents.js +3 -1
- package/dist/esm/core/coreComponents.js.map +1 -1
- package/dist/esm/core/coreDescriptors.d.ts.map +1 -1
- package/dist/esm/core/coreDescriptors.js +27 -0
- package/dist/esm/core/coreDescriptors.js.map +1 -1
- package/dist/esm/core/corePackage.d.ts.map +1 -1
- package/dist/esm/core/corePackage.js +2 -1
- package/dist/esm/core/corePackage.js.map +1 -1
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +14 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/navigation/SceneNavigationContext.d.ts +1 -0
- package/dist/esm/navigation/SceneNavigationContext.d.ts.map +1 -1
- package/dist/esm/navigation/SceneNavigationContext.js.map +1 -1
- package/dist/esm/navigation/SceneNavigationHost.d.ts +5 -1
- package/dist/esm/navigation/SceneNavigationHost.d.ts.map +1 -1
- package/dist/esm/navigation/SceneNavigationHost.js +35 -19
- package/dist/esm/navigation/SceneNavigationHost.js.map +1 -1
- package/dist/esm/navigation/SceneNavigationState.d.ts +1 -0
- package/dist/esm/navigation/SceneNavigationState.d.ts.map +1 -1
- package/dist/esm/navigation/index.d.ts +8 -0
- package/dist/esm/navigation/index.d.ts.map +1 -1
- package/dist/esm/navigation/index.js +8 -0
- package/dist/esm/navigation/index.js.map +1 -1
- package/dist/esm/navigation/region/NavigationRegionClassNames.d.ts +12 -0
- package/dist/esm/navigation/region/NavigationRegionClassNames.d.ts.map +1 -0
- package/dist/esm/navigation/region/NavigationRegionClassNames.js +19 -0
- package/dist/esm/navigation/region/NavigationRegionClassNames.js.map +1 -0
- package/dist/esm/navigation/region/NavigationRegionView.d.ts +20 -0
- package/dist/esm/navigation/region/NavigationRegionView.d.ts.map +1 -0
- package/dist/esm/navigation/region/NavigationRegionView.js +281 -0
- package/dist/esm/navigation/region/NavigationRegionView.js.map +1 -0
- package/dist/esm/navigation/region/SceneNavigationModel.d.ts +9 -0
- package/dist/esm/navigation/region/SceneNavigationModel.d.ts.map +1 -0
- package/dist/esm/navigation/region/SceneNavigationModel.js +2 -0
- package/dist/esm/navigation/region/SceneNavigationModel.js.map +1 -0
- package/dist/esm/navigation/region/SceneNavigationModelContext.d.ts +9 -0
- package/dist/esm/navigation/region/SceneNavigationModelContext.d.ts.map +1 -0
- package/dist/esm/navigation/region/SceneNavigationModelContext.js +19 -0
- package/dist/esm/navigation/region/SceneNavigationModelContext.js.map +1 -0
- package/dist/esm/navigation/region/currentModuleOf.d.ts +3 -0
- package/dist/esm/navigation/region/currentModuleOf.d.ts.map +1 -0
- package/dist/esm/navigation/region/currentModuleOf.js +13 -0
- package/dist/esm/navigation/region/currentModuleOf.js.map +1 -0
- package/dist/esm/navigation/region/navigationDestinations.d.ts +4 -0
- package/dist/esm/navigation/region/navigationDestinations.d.ts.map +1 -0
- package/dist/esm/navigation/region/navigationDestinations.js +44 -0
- package/dist/esm/navigation/region/navigationDestinations.js.map +1 -0
- package/dist/esm/navigation/region/navigationItemActive.d.ts +5 -0
- package/dist/esm/navigation/region/navigationItemActive.d.ts.map +1 -0
- package/dist/esm/navigation/region/navigationItemActive.js +29 -0
- package/dist/esm/navigation/region/navigationItemActive.js.map +1 -0
- package/dist/esm/navigation/region/navigationItemDestination.d.ts +5 -0
- package/dist/esm/navigation/region/navigationItemDestination.d.ts.map +1 -0
- package/dist/esm/navigation/region/navigationItemDestination.js +31 -0
- package/dist/esm/navigation/region/navigationItemDestination.js.map +1 -0
- package/dist/esm/navigation/useSceneHistoryNavigation.d.ts.map +1 -1
- package/dist/esm/navigation/useSceneHistoryNavigation.js +3 -1
- package/dist/esm/navigation/useSceneHistoryNavigation.js.map +1 -1
- package/dist/esm/slices/CoreSliceDialog.d.ts +3 -0
- package/dist/esm/slices/CoreSliceDialog.d.ts.map +1 -0
- package/dist/esm/slices/CoreSliceDialog.js +19 -0
- package/dist/esm/slices/CoreSliceDialog.js.map +1 -0
- package/dist/esm/slices/InvocationResult.d.ts +10 -0
- package/dist/esm/slices/InvocationResult.d.ts.map +1 -0
- package/dist/esm/slices/InvocationResult.js +2 -0
- package/dist/esm/slices/InvocationResult.js.map +1 -0
- package/dist/esm/slices/InvocationValidationError.d.ts +5 -0
- package/dist/esm/slices/InvocationValidationError.d.ts.map +1 -0
- package/dist/esm/slices/InvocationValidationError.js +2 -0
- package/dist/esm/slices/InvocationValidationError.js.map +1 -0
- package/dist/esm/slices/SliceCommandField.d.ts +7 -0
- package/dist/esm/slices/SliceCommandField.d.ts.map +1 -0
- package/dist/esm/slices/SliceCommandField.js +2 -0
- package/dist/esm/slices/SliceCommandField.js.map +1 -0
- package/dist/esm/slices/SliceCommandFieldsContext.d.ts +10 -0
- package/dist/esm/slices/SliceCommandFieldsContext.d.ts.map +1 -0
- package/dist/esm/slices/SliceCommandFieldsContext.js +19 -0
- package/dist/esm/slices/SliceCommandFieldsContext.js.map +1 -0
- package/dist/esm/slices/SliceDialogView.d.ts +12 -0
- package/dist/esm/slices/SliceDialogView.d.ts.map +1 -0
- package/dist/esm/slices/SliceDialogView.js +250 -0
- package/dist/esm/slices/SliceDialogView.js.map +1 -0
- package/dist/esm/slices/SliceInvoker.d.ts +5 -0
- package/dist/esm/slices/SliceInvoker.d.ts.map +1 -0
- package/dist/esm/slices/SliceInvoker.js +2 -0
- package/dist/esm/slices/SliceInvoker.js.map +1 -0
- package/dist/esm/slices/SliceInvokerContext.d.ts +11 -0
- package/dist/esm/slices/SliceInvokerContext.d.ts.map +1 -0
- package/dist/esm/slices/SliceInvokerContext.js +36 -0
- package/dist/esm/slices/SliceInvokerContext.js.map +1 -0
- package/dist/esm/slices/createAnnouncingInvoker.d.ts +3 -0
- package/dist/esm/slices/createAnnouncingInvoker.d.ts.map +1 -0
- package/dist/esm/slices/createAnnouncingInvoker.js +25 -0
- package/dist/esm/slices/createAnnouncingInvoker.js.map +1 -0
- package/dist/esm/slices/createDryRunInvoker.d.ts +15 -0
- package/dist/esm/slices/createDryRunInvoker.d.ts.map +1 -0
- package/dist/esm/slices/createDryRunInvoker.js +36 -0
- package/dist/esm/slices/createDryRunInvoker.js.map +1 -0
- package/dist/esm/slices/index.d.ts +12 -0
- package/dist/esm/slices/index.d.ts.map +1 -0
- package/dist/esm/slices/index.js +12 -0
- package/dist/esm/slices/index.js.map +1 -0
- package/dist/esm/slices/sliceDialogDestination.d.ts +10 -0
- package/dist/esm/slices/sliceDialogDestination.d.ts.map +1 -0
- package/dist/esm/slices/sliceDialogDestination.js +38 -0
- package/dist/esm/slices/sliceDialogDestination.js.map +1 -0
- package/dist/esm/tsconfig.tsbuildinfo +1 -1
- package/index.ts +1 -0
- package/navigation/SceneNavigationContext.tsx +3 -0
- package/navigation/SceneNavigationHost.tsx +35 -9
- package/navigation/SceneNavigationState.ts +3 -0
- package/navigation/index.ts +8 -0
- package/navigation/region/NavigationRegionClassNames.ts +46 -0
- package/navigation/region/NavigationRegionView.tsx +234 -0
- package/navigation/region/SceneNavigationModel.ts +29 -0
- package/navigation/region/SceneNavigationModelContext.tsx +25 -0
- package/navigation/region/currentModuleOf.ts +14 -0
- package/navigation/region/navigationDestinations.ts +41 -0
- package/navigation/region/navigationItemActive.ts +39 -0
- package/navigation/region/navigationItemDestination.ts +29 -0
- package/navigation/useSceneHistoryNavigation.ts +2 -1
- package/package.json +5 -5
- package/slices/CoreSliceDialog.tsx +14 -0
- package/slices/InvocationResult.ts +27 -0
- package/slices/InvocationValidationError.ts +13 -0
- package/slices/SliceCommandField.ts +19 -0
- package/slices/SliceCommandFieldsContext.tsx +28 -0
- package/slices/SliceDialogView.tsx +176 -0
- package/slices/SliceInvoker.ts +19 -0
- package/slices/SliceInvokerContext.tsx +47 -0
- package/slices/createAnnouncingInvoker.ts +17 -0
- package/slices/createDryRunInvoker.ts +43 -0
- package/slices/index.ts +14 -0
- package/slices/sliceDialogDestination.ts +40 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createAnnouncingInvoker.d.ts","sourceRoot":"","sources":["../../../slices/createAnnouncingInvoker.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAM9C,wBAAgB,uBAAuB,IAAI,YAAY,CAOtD"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
2
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
+
/**
|
|
4
|
+
* The invoker used when a host provides none: it announces the command with the host-neutral `cratis.scene.command` event,
|
|
5
|
+
* as a `core:toolbarItem` action always has, and reports success. A host that listens for the event runs the command.
|
|
6
|
+
*/ function createAnnouncingInvoker() {
|
|
7
|
+
return {
|
|
8
|
+
async invoke (sliceId, payload, command) {
|
|
9
|
+
globalThis.dispatchEvent(new CustomEvent('cratis.scene.command', {
|
|
10
|
+
detail: {
|
|
11
|
+
command: command ?? sliceId,
|
|
12
|
+
slice: sliceId,
|
|
13
|
+
arguments: payload
|
|
14
|
+
}
|
|
15
|
+
}));
|
|
16
|
+
return {
|
|
17
|
+
succeeded: true,
|
|
18
|
+
payload
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export { createAnnouncingInvoker };
|
|
25
|
+
//# sourceMappingURL=createAnnouncingInvoker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createAnnouncingInvoker.js","sources":["../../../slices/createAnnouncingInvoker.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 { SliceInvoker } from './SliceInvoker';\n\n/**\n * The invoker used when a host provides none: it announces the command with the host-neutral `cratis.scene.command` event,\n * as a `core:toolbarItem` action always has, and reports success. A host that listens for the event runs the command.\n */\nexport function createAnnouncingInvoker(): SliceInvoker {\n return {\n async invoke(sliceId, payload, command) {\n globalThis.dispatchEvent(new CustomEvent('cratis.scene.command', { detail: { command: command ?? sliceId, slice: sliceId, arguments: payload } }));\n return { succeeded: true, payload };\n },\n };\n}\n"],"names":["createAnnouncingInvoker","invoke","sliceId","payload","command","globalThis","dispatchEvent","CustomEvent","detail","slice","arguments","succeeded"],"mappings":"AAAA;AACA;AAIA;;;AAGC,IACM,SAASA,uBAAAA,GAAAA;IACZ,OAAO;AACH,QAAA,MAAMC,MAAAA,CAAAA,CAAOC,OAAO,EAAEC,OAAO,EAAEC,OAAO,EAAA;AAClCC,YAAAA,UAAAA,CAAWC,aAAa,CAAC,IAAIC,WAAAA,CAAY,sBAAA,EAAwB;gBAAEC,MAAAA,EAAQ;AAAEJ,oBAAAA,OAAAA,EAASA,OAAAA,IAAWF,OAAAA;oBAASO,KAAAA,EAAOP,OAAAA;oBAASQ,SAAAA,EAAWP;AAAQ;AAAE,aAAA,CAAA,CAAA;YAC/I,OAAO;gBAAEQ,SAAAA,EAAW,IAAA;AAAMR,gBAAAA;AAAQ,aAAA;AACtC,QAAA;AACJ,KAAA;AACJ;;"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { InvocationValidationError } from './InvocationValidationError';
|
|
2
|
+
import { SliceInvoker } from './SliceInvoker';
|
|
3
|
+
export interface DryRunInvocation {
|
|
4
|
+
sliceId: string;
|
|
5
|
+
command?: string;
|
|
6
|
+
payload: Record<string, unknown>;
|
|
7
|
+
}
|
|
8
|
+
export interface DryRunInvokerOptions {
|
|
9
|
+
onInvoked?(invocation: DryRunInvocation): void;
|
|
10
|
+
validate?(invocation: DryRunInvocation): InvocationValidationError[];
|
|
11
|
+
}
|
|
12
|
+
export declare function createDryRunInvoker(options?: DryRunInvokerOptions): SliceInvoker & {
|
|
13
|
+
readonly dryRun: true;
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=createDryRunInvoker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createDryRunInvoker.d.ts","sourceRoot":"","sources":["../../../slices/createDryRunInvoker.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,MAAM,WAAW,gBAAgB;IAE7B,OAAO,EAAE,MAAM,CAAC;IAGhB,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,oBAAoB;IAEjC,SAAS,CAAC,CAAC,UAAU,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAG/C,QAAQ,CAAC,CAAC,UAAU,EAAE,gBAAgB,GAAG,yBAAyB,EAAE,CAAC;CACxE;AAMD,wBAAgB,mBAAmB,CAAC,OAAO,GAAE,oBAAyB,GAAG,YAAY,GAAG;IAAE,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAA;CAAE,CAYhH"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
2
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
+
/**
|
|
4
|
+
* An invoker that sends nothing (PRV5): it validates, reports what it would have sent and succeeds, so a preview can walk a
|
|
5
|
+
* toolbar button through its dialog without touching a backend.
|
|
6
|
+
*/ function createDryRunInvoker(options = {}) {
|
|
7
|
+
return {
|
|
8
|
+
dryRun: true,
|
|
9
|
+
async invoke (sliceId, payload, command) {
|
|
10
|
+
const invocation = {
|
|
11
|
+
sliceId,
|
|
12
|
+
payload,
|
|
13
|
+
...command === undefined ? {} : {
|
|
14
|
+
command
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
const validationErrors = options.validate?.(invocation) ?? [];
|
|
18
|
+
if (validationErrors.length > 0) return {
|
|
19
|
+
succeeded: false,
|
|
20
|
+
validationErrors,
|
|
21
|
+
payload,
|
|
22
|
+
dryRun: true
|
|
23
|
+
};
|
|
24
|
+
options.onInvoked?.(invocation);
|
|
25
|
+
return {
|
|
26
|
+
succeeded: true,
|
|
27
|
+
payload,
|
|
28
|
+
dryRun: true,
|
|
29
|
+
message: `Dry run: ${command ?? sliceId} was not sent.`
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export { createDryRunInvoker };
|
|
36
|
+
//# sourceMappingURL=createDryRunInvoker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createDryRunInvoker.js","sources":["../../../slices/createDryRunInvoker.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 { InvocationValidationError } from './InvocationValidationError';\nimport { SliceInvoker } from './SliceInvoker';\n\n/** What a dry run is told about each invocation. */\nexport interface DryRunInvocation {\n /** The qualified id of the slice. */\n sliceId: string;\n\n /** The command the slice accepts, when known. */\n command?: string;\n\n /** The payload that would have been sent. */\n payload: Record<string, unknown>;\n}\n\nexport interface DryRunInvokerOptions {\n /** Called for every invocation that passes validation, with the would-be payload - the Studio preview shows it as a toast. */\n onInvoked?(invocation: DryRunInvocation): void;\n\n /** Extra validation of the payload; the problems it returns are reported like the real ones and nothing is invoked. */\n validate?(invocation: DryRunInvocation): InvocationValidationError[];\n}\n\n/**\n * An invoker that sends nothing (PRV5): it validates, reports what it would have sent and succeeds, so a preview can walk a\n * toolbar button through its dialog without touching a backend.\n */\nexport function createDryRunInvoker(options: DryRunInvokerOptions = {}): SliceInvoker & { readonly dryRun: true } {\n return {\n dryRun: true,\n async invoke(sliceId, payload, command) {\n const invocation: DryRunInvocation = { sliceId, payload, ...(command === undefined ? {} : { command }) };\n const validationErrors = options.validate?.(invocation) ?? [];\n if (validationErrors.length > 0) return { succeeded: false, validationErrors, payload, dryRun: true };\n\n options.onInvoked?.(invocation);\n return { succeeded: true, payload, dryRun: true, message: `Dry run: ${command ?? sliceId} was not sent.` };\n },\n };\n}\n"],"names":["createDryRunInvoker","options","dryRun","invoke","sliceId","payload","command","invocation","undefined","validationErrors","validate","length","succeeded","onInvoked","message"],"mappings":"AAAA;AACA;AAyBA;;;AAGC,IACM,SAASA,mBAAAA,CAAoBC,OAAAA,GAAgC,EAAE,EAAA;IAClE,OAAO;QACHC,MAAAA,EAAQ,IAAA;AACR,QAAA,MAAMC,MAAAA,CAAAA,CAAOC,OAAO,EAAEC,OAAO,EAAEC,OAAO,EAAA;AAClC,YAAA,MAAMC,UAAAA,GAA+B;AAAEH,gBAAAA,OAAAA;AAASC,gBAAAA,OAAAA;gBAAS,GAAIC,OAAAA,KAAYE,SAAAA,GAAY,EAAC,GAAI;AAAEF,oBAAAA;;AAAW,aAAA;AACvG,YAAA,MAAMG,gBAAAA,GAAmBR,OAAAA,CAAQS,QAAQ,GAAGH,eAAe,EAAE;AAC7D,YAAA,IAAIE,gBAAAA,CAAiBE,MAAM,GAAG,CAAA,EAAG,OAAO;gBAAEC,SAAAA,EAAW,KAAA;AAAOH,gBAAAA,gBAAAA;AAAkBJ,gBAAAA,OAAAA;gBAASH,MAAAA,EAAQ;AAAK,aAAA;AAEpGD,YAAAA,OAAAA,CAAQY,SAAS,GAAGN,UAAAA,CAAAA;YACpB,OAAO;gBAAEK,SAAAA,EAAW,IAAA;AAAMP,gBAAAA,OAAAA;gBAASH,MAAAA,EAAQ,IAAA;AAAMY,gBAAAA,OAAAA,EAAS,CAAC,SAAS,EAAER,OAAAA,IAAWF,OAAAA,CAAQ,cAAc;AAAE,aAAA;AAC7G,QAAA;AACJ,KAAA;AACJ;;"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export * from './InvocationValidationError';
|
|
2
|
+
export * from './InvocationResult';
|
|
3
|
+
export * from './SliceInvoker';
|
|
4
|
+
export * from './createAnnouncingInvoker';
|
|
5
|
+
export * from './createDryRunInvoker';
|
|
6
|
+
export * from './SliceInvokerContext';
|
|
7
|
+
export * from './SliceCommandField';
|
|
8
|
+
export * from './SliceCommandFieldsContext';
|
|
9
|
+
export * from './sliceDialogDestination';
|
|
10
|
+
export * from './SliceDialogView';
|
|
11
|
+
export * from './CoreSliceDialog';
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../slices/index.ts"],"names":[],"mappings":"AAGA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export * from './InvocationValidationError';
|
|
2
|
+
export * from './InvocationResult';
|
|
3
|
+
export * from './SliceInvoker';
|
|
4
|
+
export * from './createAnnouncingInvoker';
|
|
5
|
+
export * from './createDryRunInvoker';
|
|
6
|
+
export * from './SliceInvokerContext';
|
|
7
|
+
export * from './SliceCommandField';
|
|
8
|
+
export * from './SliceCommandFieldsContext';
|
|
9
|
+
export * from './sliceDialogDestination';
|
|
10
|
+
export * from './SliceDialogView';
|
|
11
|
+
export * from './CoreSliceDialog';
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../slices/index.ts"],"names":[],"mappings":"AAGA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { DestinationReference } from '@cratis/scene.model';
|
|
2
|
+
import { ResolvedToolbarButton } from '@cratis/scene.engine';
|
|
3
|
+
export interface SliceDialogParameters {
|
|
4
|
+
slice: string;
|
|
5
|
+
command: string;
|
|
6
|
+
title: string;
|
|
7
|
+
}
|
|
8
|
+
export declare function sliceDialogDestination(button: ResolvedToolbarButton): DestinationReference | undefined;
|
|
9
|
+
export declare function sliceDialogParameters(parameters: Record<string, string> | undefined): SliceDialogParameters | undefined;
|
|
10
|
+
//# sourceMappingURL=sliceDialogDestination.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sliceDialogDestination.d.ts","sourceRoot":"","sources":["../../../slices/sliceDialogDestination.ts"],"names":[],"mappings":"AAGA,OAAO,EAAyD,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAClH,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAK7D,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACjB;AAQD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,qBAAqB,GAAG,oBAAoB,GAAG,SAAS,CAWtG;AAGD,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,GAAG,qBAAqB,GAAG,SAAS,CAIvH"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { DestinationKind, BindingSourceKind } from '@cratis/scene.model';
|
|
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 literal = (value)=>({
|
|
6
|
+
kind: BindingSourceKind.Literal,
|
|
7
|
+
path: '',
|
|
8
|
+
value
|
|
9
|
+
});
|
|
10
|
+
/**
|
|
11
|
+
* The destination that opens a toolbar button's task dialog through the navigation host: the dialog template the slice
|
|
12
|
+
* resolves to (`sliceDialogFor`), with the slice, its command and the button's title as parameters.
|
|
13
|
+
* @param button The resolved button.
|
|
14
|
+
* @returns The destination, or undefined when the button has no state change slice to open.
|
|
15
|
+
*/ function sliceDialogDestination(button) {
|
|
16
|
+
if (!button.dialog) return undefined;
|
|
17
|
+
return {
|
|
18
|
+
kind: DestinationKind.Dialog,
|
|
19
|
+
dialog: button.dialog.template,
|
|
20
|
+
routeParameterBindings: {
|
|
21
|
+
slice: literal(button.dialog.slice),
|
|
22
|
+
command: literal(button.dialog.command),
|
|
23
|
+
title: literal(button.title)
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
/** Reads the slice dialog parameters back from what the host carries; undefined when they are not those of a slice dialog. */ function sliceDialogParameters(parameters) {
|
|
28
|
+
const slice = parameters?.slice;
|
|
29
|
+
const command = parameters?.command;
|
|
30
|
+
return slice && command ? {
|
|
31
|
+
slice,
|
|
32
|
+
command,
|
|
33
|
+
title: parameters?.title || command
|
|
34
|
+
} : undefined;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export { sliceDialogDestination, sliceDialogParameters };
|
|
38
|
+
//# sourceMappingURL=sliceDialogDestination.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sliceDialogDestination.js","sources":["../../../slices/sliceDialogDestination.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { BindingExpression, BindingSourceKind, DestinationKind, DestinationReference } from '@cratis/scene.model';\nimport { ResolvedToolbarButton } from '@cratis/scene.engine';\n\nconst literal = (value: string): BindingExpression => ({ kind: BindingSourceKind.Literal, path: '', value }) as BindingExpression;\n\n/** The dialog parameters a slice dialog is opened with; the navigation host hands them back as `currentDialogParameters`. */\nexport interface SliceDialogParameters {\n slice: string;\n command: string;\n title: string;\n}\n\n/**\n * The destination that opens a toolbar button's task dialog through the navigation host: the dialog template the slice\n * resolves to (`sliceDialogFor`), with the slice, its command and the button's title as parameters.\n * @param button The resolved button.\n * @returns The destination, or undefined when the button has no state change slice to open.\n */\nexport function sliceDialogDestination(button: ResolvedToolbarButton): DestinationReference | undefined {\n if (!button.dialog) return undefined;\n return {\n kind: DestinationKind.Dialog,\n dialog: button.dialog.template,\n routeParameterBindings: {\n slice: literal(button.dialog.slice),\n command: literal(button.dialog.command),\n title: literal(button.title),\n },\n };\n}\n\n/** Reads the slice dialog parameters back from what the host carries; undefined when they are not those of a slice dialog. */\nexport function sliceDialogParameters(parameters: Record<string, string> | undefined): SliceDialogParameters | undefined {\n const slice = parameters?.slice;\n const command = parameters?.command;\n return slice && command ? { slice, command, title: parameters?.title || command } : undefined;\n}\n"],"names":["literal","value","kind","BindingSourceKind","Literal","path","sliceDialogDestination","button","dialog","undefined","DestinationKind","Dialog","template","routeParameterBindings","slice","command","title","sliceDialogParameters","parameters"],"mappings":";;AAAA;AACA;AAKA,MAAMA,OAAAA,GAAU,CAACC,KAAAA,IAAsC;AAAEC,QAAAA,IAAAA,EAAMC,kBAAkBC,OAAO;QAAEC,IAAAA,EAAM,EAAA;AAAIJ,QAAAA;KAAM,CAAA;AAS1G;;;;;IAMO,SAASK,sBAAAA,CAAuBC,MAA6B,EAAA;AAChE,IAAA,IAAI,CAACA,MAAAA,CAAOC,MAAM,EAAE,OAAOC,SAAAA;IAC3B,OAAO;AACHP,QAAAA,IAAAA,EAAMQ,gBAAgBC,MAAM;QAC5BH,MAAAA,EAAQD,MAAAA,CAAOC,MAAM,CAACI,QAAQ;QAC9BC,sBAAAA,EAAwB;AACpBC,YAAAA,KAAAA,EAAOd,OAAAA,CAAQO,MAAAA,CAAOC,MAAM,CAACM,KAAK,CAAA;AAClCC,YAAAA,OAAAA,EAASf,OAAAA,CAAQO,MAAAA,CAAOC,MAAM,CAACO,OAAO,CAAA;YACtCC,KAAAA,EAAOhB,OAAAA,CAAQO,OAAOS,KAAK;AAC/B;AACJ,KAAA;AACJ;AAEA,+HACO,SAASC,qBAAAA,CAAsBC,UAA8C,EAAA;AAChF,IAAA,MAAMJ,QAAQI,UAAAA,EAAYJ,KAAAA;AAC1B,IAAA,MAAMC,UAAUG,UAAAA,EAAYH,OAAAA;AAC5B,IAAA,OAAOD,SAASC,OAAAA,GAAU;AAAED,QAAAA,KAAAA;AAAOC,QAAAA,OAAAA;AAASC,QAAAA,KAAAA,EAAOE,YAAYF,KAAAA,IAASD;KAAQ,GAAIN,SAAAA;AACxF;;"}
|