@esri/solutions-components 0.2.2 → 0.2.4
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/dist/assets/t9n/solution-config-modal/resources.json +22 -0
- package/dist/assets/t9n/solution-config-modal/resources_en.json +22 -0
- package/dist/cjs/calcite-action-menu_2.cjs.entry.js +18 -401
- package/dist/cjs/calcite-action-menu_2.cjs.entry.js.map +1 -1
- package/dist/cjs/calcite-action_2.cjs.entry.js +423 -71
- package/dist/cjs/calcite-action_2.cjs.entry.js.map +1 -1
- package/dist/cjs/calcite-loader.cjs.entry.js +97 -0
- package/dist/cjs/calcite-loader.cjs.entry.js.map +1 -0
- package/dist/cjs/{solution-configuration.cjs.entry.js → calcite-modal_2.cjs.entry.js} +451 -13
- package/dist/cjs/calcite-modal_2.cjs.entry.js.map +1 -0
- package/dist/cjs/{calcite-shell-panel_14.cjs.entry.js → calcite-panel_12.cjs.entry.js} +455 -709
- package/dist/cjs/calcite-panel_12.cjs.entry.js.map +1 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/solution-config-modal.cjs.entry.js +131 -0
- package/dist/cjs/solution-config-modal.cjs.entry.js.map +1 -0
- package/dist/cjs/{solution-contents_3.cjs.entry.js → solution-contents_7.cjs.entry.js} +664 -5
- package/dist/cjs/solution-contents_7.cjs.entry.js.map +1 -0
- package/dist/cjs/{solution-store-893499a5.js → solution-store-09b3fc53.js} +4 -6
- package/dist/cjs/solution-store-09b3fc53.js.map +1 -0
- package/dist/cjs/solutions-components.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/solution-config-modal/solution-config-modal.css +91 -0
- package/dist/collection/components/solution-config-modal/solution-config-modal.js +245 -0
- package/dist/collection/components/solution-config-modal/solution-config-modal.js.map +1 -0
- package/dist/collection/components/solution-configuration/solution-configuration.js +23 -17
- package/dist/collection/components/solution-configuration/solution-configuration.js.map +1 -1
- package/dist/collection/components/solution-item/solution-item.js +0 -2
- package/dist/collection/components/solution-item/solution-item.js.map +1 -1
- package/dist/collection/components/solution-item-details/solution-item-details.js +0 -13
- package/dist/collection/components/solution-item-details/solution-item-details.js.map +1 -1
- package/dist/collection/utils/solution-store.js +3 -5
- package/dist/collection/utils/solution-store.js.map +1 -1
- package/dist/collection/utils/solution-store.ts +3 -5
- package/dist/esm/buffer-tools_6.entry.js +2 -2
- package/dist/esm/calcite-action-bar_6.entry.js +2 -2
- package/dist/esm/calcite-action-menu_2.entry.js +20 -403
- package/dist/esm/calcite-action-menu_2.entry.js.map +1 -1
- package/dist/esm/calcite-action_2.entry.js +424 -72
- package/dist/esm/calcite-action_2.entry.js.map +1 -1
- package/dist/esm/calcite-combobox_3.entry.js +2 -2
- package/dist/esm/calcite-loader.entry.js +93 -0
- package/dist/esm/calcite-loader.entry.js.map +1 -0
- package/dist/esm/{solution-configuration.entry.js → calcite-modal_2.entry.js} +453 -16
- package/dist/esm/calcite-modal_2.entry.js.map +1 -0
- package/dist/esm/{calcite-shell-panel_14.entry.js → calcite-panel_12.entry.js} +454 -706
- package/dist/esm/calcite-panel_12.entry.js.map +1 -0
- package/dist/esm/config-layer-picker.entry.js +2 -2
- package/dist/esm/{interfaces-e2a2064d.js → interfaces-1bdfc3a8.js} +2 -2
- package/dist/esm/{interfaces-e2a2064d.js.map → interfaces-1bdfc3a8.js.map} +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{mapViewUtils-09f1e7bd.js → mapViewUtils-809947c8.js} +2 -2
- package/dist/esm/{mapViewUtils-09f1e7bd.js.map → mapViewUtils-809947c8.js.map} +1 -1
- package/dist/esm/public-notification.entry.js +2 -2
- package/dist/esm/solution-config-modal.entry.js +127 -0
- package/dist/esm/solution-config-modal.entry.js.map +1 -0
- package/dist/esm/{solution-contents_3.entry.js → solution-contents_7.entry.js} +661 -6
- package/dist/esm/solution-contents_7.entry.js.map +1 -0
- package/dist/esm/{solution-store-0c58c852.js → solution-store-d8519c64.js} +5 -7
- package/dist/esm/solution-store-d8519c64.js.map +1 -0
- package/dist/esm/solutions-components.js +1 -1
- package/dist/solutions-components/{p-be1ed982.entry.js → p-11068040.entry.js} +3 -3
- package/dist/solutions-components/{p-be1ed982.entry.js.map → p-11068040.entry.js.map} +0 -0
- package/dist/solutions-components/{p-659edb14.js → p-2910dd9e.js} +5 -7
- package/dist/{cjs/solution-store-893499a5.js.map → solutions-components/p-2910dd9e.js.map} +1 -1
- package/dist/solutions-components/{p-291fd295.entry.js → p-30810b45.entry.js} +3 -3
- package/dist/solutions-components/{p-291fd295.entry.js.map → p-30810b45.entry.js.map} +0 -0
- package/dist/solutions-components/p-38ddadf2.entry.js +342 -0
- package/dist/solutions-components/p-38ddadf2.entry.js.map +1 -0
- package/dist/solutions-components/{p-77c75f3a.entry.js → p-5b20090f.entry.js} +661 -6
- package/dist/solutions-components/p-5b20090f.entry.js.map +1 -0
- package/dist/solutions-components/{p-9393631c.entry.js → p-9ef1328a.entry.js} +3 -3
- package/dist/solutions-components/{p-9393631c.entry.js.map → p-9ef1328a.entry.js.map} +0 -0
- package/dist/solutions-components/{p-984cb687.entry.js → p-a1786d11.entry.js} +454 -706
- package/dist/solutions-components/p-a1786d11.entry.js.map +1 -0
- package/dist/solutions-components/{p-fe0fdd8b.js → p-c20bd963.js} +2 -2
- package/dist/solutions-components/{p-fe0fdd8b.js.map → p-c20bd963.js.map} +1 -1
- package/dist/solutions-components/p-c5721b0f.entry.js +127 -0
- package/dist/solutions-components/p-c5721b0f.entry.js.map +1 -0
- package/dist/solutions-components/{p-24d75151.entry.js → p-c818e661.entry.js} +3 -3
- package/dist/solutions-components/{p-24d75151.entry.js.map → p-c818e661.entry.js.map} +0 -0
- package/dist/solutions-components/{p-90629c1d.entry.js → p-cf59eb16.entry.js} +453 -16
- package/dist/solutions-components/p-cf59eb16.entry.js.map +1 -0
- package/dist/solutions-components/p-e405ebe8.entry.js +93 -0
- package/dist/solutions-components/p-e405ebe8.entry.js.map +1 -0
- package/dist/solutions-components/{p-77e6b03c.entry.js → p-e6fb9cde.entry.js} +3 -3
- package/dist/solutions-components/{p-77e6b03c.entry.js.map → p-e6fb9cde.entry.js.map} +0 -0
- package/dist/solutions-components/{p-97c4a268.entry.js → p-ef6f9e24.entry.js} +113 -229
- package/dist/solutions-components/p-ef6f9e24.entry.js.map +1 -0
- package/dist/solutions-components/{p-6b9dc092.js → p-f04fdb9a.js} +2 -2
- package/dist/solutions-components/{p-6b9dc092.js.map → p-f04fdb9a.js.map} +1 -1
- package/dist/solutions-components/solutions-components.esm.js +1 -1
- package/dist/solutions-components/utils/solution-store.ts +3 -5
- package/dist/solutions-components_commit.txt +8 -8
- package/dist/types/components/solution-config-modal/solution-config-modal.d.ts +69 -0
- package/dist/types/components/solution-configuration/solution-configuration.d.ts +4 -2
- package/dist/types/components/solution-item-details/solution-item-details.d.ts +0 -1
- package/dist/types/components.d.ts +43 -5
- package/dist/types/preact.d.ts +4 -0
- package/package.json +1 -1
- package/dist/cjs/calcite-modal.cjs.entry.js +0 -449
- package/dist/cjs/calcite-modal.cjs.entry.js.map +0 -1
- package/dist/cjs/calcite-panel_2.cjs.entry.js +0 -439
- package/dist/cjs/calcite-panel_2.cjs.entry.js.map +0 -1
- package/dist/cjs/calcite-scrim.cjs.entry.js +0 -64
- package/dist/cjs/calcite-scrim.cjs.entry.js.map +0 -1
- package/dist/cjs/calcite-shell-panel_14.cjs.entry.js.map +0 -1
- package/dist/cjs/solution-configuration.cjs.entry.js.map +0 -1
- package/dist/cjs/solution-contents_3.cjs.entry.js.map +0 -1
- package/dist/esm/calcite-modal.entry.js +0 -445
- package/dist/esm/calcite-modal.entry.js.map +0 -1
- package/dist/esm/calcite-panel_2.entry.js +0 -434
- package/dist/esm/calcite-panel_2.entry.js.map +0 -1
- package/dist/esm/calcite-scrim.entry.js +0 -60
- package/dist/esm/calcite-scrim.entry.js.map +0 -1
- package/dist/esm/calcite-shell-panel_14.entry.js.map +0 -1
- package/dist/esm/solution-configuration.entry.js.map +0 -1
- package/dist/esm/solution-contents_3.entry.js.map +0 -1
- package/dist/esm/solution-store-0c58c852.js.map +0 -1
- package/dist/solutions-components/p-0fda7d9e.entry.js +0 -434
- package/dist/solutions-components/p-0fda7d9e.entry.js.map +0 -1
- package/dist/solutions-components/p-2ff754ce.entry.js +0 -257
- package/dist/solutions-components/p-2ff754ce.entry.js.map +0 -1
- package/dist/solutions-components/p-30a6199a.entry.js +0 -445
- package/dist/solutions-components/p-30a6199a.entry.js.map +0 -1
- package/dist/solutions-components/p-659edb14.js.map +0 -1
- package/dist/solutions-components/p-77c75f3a.entry.js.map +0 -1
- package/dist/solutions-components/p-90629c1d.entry.js.map +0 -1
- package/dist/solutions-components/p-97c4a268.entry.js.map +0 -1
- package/dist/solutions-components/p-984cb687.entry.js.map +0 -1
- package/dist/solutions-components/p-f5268b4f.entry.js +0 -60
- package/dist/solutions-components/p-f5268b4f.entry.js.map +0 -1
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
Built 11/
|
|
2
|
-
|
|
3
|
-
commit
|
|
4
|
-
Merge:
|
|
5
|
-
Author:
|
|
6
|
-
Date:
|
|
1
|
+
Built 11/29/2022 13:21:03.60
|
|
2
|
+
config
|
|
3
|
+
commit 7de551b718401e4714ed7899fcdd8b6f07a8f883
|
|
4
|
+
Merge: 0d04fcd 4fb40a2
|
|
5
|
+
Author: Mike Tschudi <mtschudi@esri.com>
|
|
6
|
+
Date: Tue Nov 29 08:42:29 2022 -0800
|
|
7
7
|
|
|
8
|
-
Merge pull request #
|
|
8
|
+
Merge pull request #101 from Esri/solution-config-modal
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
Add solution configuration modal
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/** @license
|
|
2
|
+
* Copyright 2022 Esri
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import { EventEmitter, VNode } from "../../stencil-public-runtime";
|
|
17
|
+
import "@esri/calcite-components";
|
|
18
|
+
import SolutionConfigModal_T9n from "../../assets/t9n/solution-config-modal/resources.json";
|
|
19
|
+
export declare class SolutionConfigModal {
|
|
20
|
+
el: HTMLSolutionConfigModalElement;
|
|
21
|
+
cacheBreaker: string;
|
|
22
|
+
/**
|
|
23
|
+
* Credentials for requests in a serialized form
|
|
24
|
+
*/
|
|
25
|
+
serializedAuthentication: string;
|
|
26
|
+
solutionTitle: string;
|
|
27
|
+
/**
|
|
28
|
+
* Contains the current solution item id
|
|
29
|
+
*/
|
|
30
|
+
solutionItemId: string;
|
|
31
|
+
valueWatchHandler(): Promise<void>;
|
|
32
|
+
constructor();
|
|
33
|
+
/**
|
|
34
|
+
* StencilJS: Called once just after the component is first connected to the DOM.
|
|
35
|
+
*
|
|
36
|
+
* @returns Promise when complete
|
|
37
|
+
*/
|
|
38
|
+
componentWillLoad(): Promise<void>;
|
|
39
|
+
componentWillRender(): void;
|
|
40
|
+
/**
|
|
41
|
+
* Renders the component.
|
|
42
|
+
*/
|
|
43
|
+
render(): VNode;
|
|
44
|
+
protected _cancelBtn: HTMLCalciteButtonElement;
|
|
45
|
+
/**
|
|
46
|
+
* Controls enablement of Cancel and Save modal buttons
|
|
47
|
+
*/
|
|
48
|
+
protected _canSave: boolean;
|
|
49
|
+
protected _configuration: HTMLSolutionConfigurationElement;
|
|
50
|
+
protected _modal: HTMLCalciteModalElement;
|
|
51
|
+
protected _saveBtn: HTMLCalciteButtonElement;
|
|
52
|
+
/**
|
|
53
|
+
* Contains the _translations for this component.
|
|
54
|
+
* All UI strings should be defined here.
|
|
55
|
+
*/
|
|
56
|
+
protected _translations: typeof SolutionConfigModal_T9n;
|
|
57
|
+
solutionConfigModalClosed: EventEmitter<void>;
|
|
58
|
+
protected _cancel(): Promise<void>;
|
|
59
|
+
protected _cancelChanges(): Promise<void>;
|
|
60
|
+
protected _closeModal(): void;
|
|
61
|
+
protected _save(): Promise<void>;
|
|
62
|
+
protected _saveChanges(): Promise<void>;
|
|
63
|
+
/**
|
|
64
|
+
* Fetches the component's translations
|
|
65
|
+
*
|
|
66
|
+
* @protected
|
|
67
|
+
*/
|
|
68
|
+
protected _getTranslations(): Promise<void>;
|
|
69
|
+
}
|
|
@@ -21,9 +21,10 @@ import SolutionConfiguration_T9n from "../../assets/t9n/solution-configuration/r
|
|
|
21
21
|
export declare class SolutionConfiguration {
|
|
22
22
|
el: HTMLSolutionConfigurationElement;
|
|
23
23
|
/**
|
|
24
|
-
* Credentials for requests
|
|
24
|
+
* Credentials for requests in a serialized form
|
|
25
25
|
*/
|
|
26
|
-
|
|
26
|
+
serializedAuthentication: string;
|
|
27
|
+
serializedAuthenticationWatchHandler(): Promise<void>;
|
|
27
28
|
/**
|
|
28
29
|
* Contains the current solution item id
|
|
29
30
|
*/
|
|
@@ -44,6 +45,7 @@ export declare class SolutionConfiguration {
|
|
|
44
45
|
* Renders the component.
|
|
45
46
|
*/
|
|
46
47
|
render(): VNode;
|
|
48
|
+
protected _authentication: UserSession;
|
|
47
49
|
/**
|
|
48
50
|
* Contains the current item we are working with
|
|
49
51
|
*/
|
|
@@ -347,13 +347,25 @@ export namespace Components {
|
|
|
347
347
|
*/
|
|
348
348
|
"useLayerPicker": boolean;
|
|
349
349
|
}
|
|
350
|
-
interface
|
|
350
|
+
interface SolutionConfigModal {
|
|
351
|
+
"cacheBreaker": string;
|
|
351
352
|
/**
|
|
352
|
-
* Credentials for requests
|
|
353
|
+
* Credentials for requests in a serialized form
|
|
353
354
|
*/
|
|
354
|
-
"
|
|
355
|
+
"serializedAuthentication": string;
|
|
356
|
+
/**
|
|
357
|
+
* Contains the current solution item id
|
|
358
|
+
*/
|
|
359
|
+
"solutionItemId": string;
|
|
360
|
+
"solutionTitle": string;
|
|
361
|
+
}
|
|
362
|
+
interface SolutionConfiguration {
|
|
355
363
|
"getSpatialReferenceInfo": () => Promise<ISolutionSpatialReferenceInfo>;
|
|
356
364
|
"saveSolution": () => Promise<void>;
|
|
365
|
+
/**
|
|
366
|
+
* Credentials for requests in a serialized form
|
|
367
|
+
*/
|
|
368
|
+
"serializedAuthentication": string;
|
|
357
369
|
/**
|
|
358
370
|
* Used to show/hide loading indicator
|
|
359
371
|
*/
|
|
@@ -537,6 +549,10 @@ export interface RefineSelectionToolsCustomEvent<T> extends CustomEvent<T> {
|
|
|
537
549
|
detail: T;
|
|
538
550
|
target: HTMLRefineSelectionToolsElement;
|
|
539
551
|
}
|
|
552
|
+
export interface SolutionConfigModalCustomEvent<T> extends CustomEvent<T> {
|
|
553
|
+
detail: T;
|
|
554
|
+
target: HTMLSolutionConfigModalElement;
|
|
555
|
+
}
|
|
540
556
|
export interface SolutionContentsCustomEvent<T> extends CustomEvent<T> {
|
|
541
557
|
detail: T;
|
|
542
558
|
target: HTMLSolutionContentsElement;
|
|
@@ -648,6 +664,12 @@ declare global {
|
|
|
648
664
|
prototype: HTMLRefineSelectionToolsElement;
|
|
649
665
|
new (): HTMLRefineSelectionToolsElement;
|
|
650
666
|
};
|
|
667
|
+
interface HTMLSolutionConfigModalElement extends Components.SolutionConfigModal, HTMLStencilElement {
|
|
668
|
+
}
|
|
669
|
+
var HTMLSolutionConfigModalElement: {
|
|
670
|
+
prototype: HTMLSolutionConfigModalElement;
|
|
671
|
+
new (): HTMLSolutionConfigModalElement;
|
|
672
|
+
};
|
|
651
673
|
interface HTMLSolutionConfigurationElement extends Components.SolutionConfiguration, HTMLStencilElement {
|
|
652
674
|
}
|
|
653
675
|
var HTMLSolutionConfigurationElement: {
|
|
@@ -736,6 +758,7 @@ declare global {
|
|
|
736
758
|
"public-notification": HTMLPublicNotificationElement;
|
|
737
759
|
"refine-selection": HTMLRefineSelectionElement;
|
|
738
760
|
"refine-selection-tools": HTMLRefineSelectionToolsElement;
|
|
761
|
+
"solution-config-modal": HTMLSolutionConfigModalElement;
|
|
739
762
|
"solution-configuration": HTMLSolutionConfigurationElement;
|
|
740
763
|
"solution-contents": HTMLSolutionContentsElement;
|
|
741
764
|
"solution-item": HTMLSolutionItemElement;
|
|
@@ -1037,11 +1060,24 @@ declare namespace LocalJSX {
|
|
|
1037
1060
|
*/
|
|
1038
1061
|
"useLayerPicker"?: boolean;
|
|
1039
1062
|
}
|
|
1063
|
+
interface SolutionConfigModal {
|
|
1064
|
+
"cacheBreaker"?: string;
|
|
1065
|
+
"onSolutionConfigModalClosed"?: (event: SolutionConfigModalCustomEvent<void>) => void;
|
|
1066
|
+
/**
|
|
1067
|
+
* Credentials for requests in a serialized form
|
|
1068
|
+
*/
|
|
1069
|
+
"serializedAuthentication"?: string;
|
|
1070
|
+
/**
|
|
1071
|
+
* Contains the current solution item id
|
|
1072
|
+
*/
|
|
1073
|
+
"solutionItemId"?: string;
|
|
1074
|
+
"solutionTitle"?: string;
|
|
1075
|
+
}
|
|
1040
1076
|
interface SolutionConfiguration {
|
|
1041
1077
|
/**
|
|
1042
|
-
* Credentials for requests
|
|
1078
|
+
* Credentials for requests in a serialized form
|
|
1043
1079
|
*/
|
|
1044
|
-
"
|
|
1080
|
+
"serializedAuthentication"?: string;
|
|
1045
1081
|
/**
|
|
1046
1082
|
* Used to show/hide loading indicator
|
|
1047
1083
|
*/
|
|
@@ -1199,6 +1235,7 @@ declare namespace LocalJSX {
|
|
|
1199
1235
|
"public-notification": PublicNotification;
|
|
1200
1236
|
"refine-selection": RefineSelection;
|
|
1201
1237
|
"refine-selection-tools": RefineSelectionTools;
|
|
1238
|
+
"solution-config-modal": SolutionConfigModal;
|
|
1202
1239
|
"solution-configuration": SolutionConfiguration;
|
|
1203
1240
|
"solution-contents": SolutionContents;
|
|
1204
1241
|
"solution-item": SolutionItem;
|
|
@@ -1232,6 +1269,7 @@ declare module "@stencil/core" {
|
|
|
1232
1269
|
"public-notification": LocalJSX.PublicNotification & JSXBase.HTMLAttributes<HTMLPublicNotificationElement>;
|
|
1233
1270
|
"refine-selection": LocalJSX.RefineSelection & JSXBase.HTMLAttributes<HTMLRefineSelectionElement>;
|
|
1234
1271
|
"refine-selection-tools": LocalJSX.RefineSelectionTools & JSXBase.HTMLAttributes<HTMLRefineSelectionToolsElement>;
|
|
1272
|
+
"solution-config-modal": LocalJSX.SolutionConfigModal & JSXBase.HTMLAttributes<HTMLSolutionConfigModalElement>;
|
|
1235
1273
|
"solution-configuration": LocalJSX.SolutionConfiguration & JSXBase.HTMLAttributes<HTMLSolutionConfigurationElement>;
|
|
1236
1274
|
"solution-contents": LocalJSX.SolutionContents & JSXBase.HTMLAttributes<HTMLSolutionContentsElement>;
|
|
1237
1275
|
"solution-item": LocalJSX.SolutionItem & JSXBase.HTMLAttributes<HTMLSolutionItemElement>;
|
package/dist/types/preact.d.ts
CHANGED
|
@@ -454,6 +454,10 @@ declare module "preact/src/jsx" {
|
|
|
454
454
|
"onrefineSelectionIdsChange"?: (event: CustomEvent<any>) => void;
|
|
455
455
|
}
|
|
456
456
|
|
|
457
|
+
"solution-config-modal": Omit<JSX.SolutionsSolutionConfigModal, "onSolutionConfigModalClosed"> & JSXInternal.HTMLAttributes<HTMLSolutionsSolutionConfigModalElement> & {
|
|
458
|
+
"onsolutionConfigModalClosed"?: (event: CustomEvent<any>) => void;
|
|
459
|
+
}
|
|
460
|
+
|
|
457
461
|
"solution-configuration": JSX.SolutionsSolutionConfiguration & JSXInternal.HTMLAttributes<HTMLSolutionsSolutionConfigurationElement>
|
|
458
462
|
|
|
459
463
|
"solution-contents": Omit<JSX.SolutionsSolutionContents, "onSolutionItemSelected"> & JSXInternal.HTMLAttributes<HTMLSolutionsSolutionContentsElement> & {
|