@equinor/fusion-framework-module-widget 2.0.9 → 3.0.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/CHANGELOG.md +87 -65
- package/dist/esm/Widget.js +255 -0
- package/dist/esm/Widget.js.map +1 -0
- package/dist/esm/WidgetModuleConfigurator.js +39 -73
- package/dist/esm/WidgetModuleConfigurator.js.map +1 -1
- package/dist/esm/WidgetModuleProvider.js +85 -17
- package/dist/esm/WidgetModuleProvider.js.map +1 -1
- package/dist/esm/enable-widget-module.js +8 -2
- package/dist/esm/enable-widget-module.js.map +1 -1
- package/dist/esm/errors.js +22 -4
- package/dist/esm/errors.js.map +1 -1
- package/dist/esm/events.js +2 -0
- package/dist/esm/events.js.map +1 -0
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/module.js +5 -2
- package/dist/esm/module.js.map +1 -1
- package/dist/esm/state/actions.js +31 -0
- package/dist/esm/state/actions.js.map +1 -0
- package/dist/esm/state/create-reducer.js +32 -0
- package/dist/esm/state/create-reducer.js.map +1 -0
- package/dist/esm/state/create-state.js +12 -0
- package/dist/esm/state/create-state.js.map +1 -0
- package/dist/esm/state/flows.js +21 -0
- package/dist/esm/state/flows.js.map +1 -0
- package/dist/esm/utils.js +43 -0
- package/dist/esm/utils.js.map +1 -0
- package/dist/esm/version.js +2 -1
- package/dist/esm/version.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/Widget.d.ts +78 -0
- package/dist/types/WidgetModuleConfigurator.d.ts +27 -27
- package/dist/types/WidgetModuleProvider.d.ts +44 -5
- package/dist/types/enable-widget-module.d.ts +5 -1
- package/dist/types/errors.d.ts +7 -2
- package/dist/types/events.d.ts +54 -0
- package/dist/types/index.d.ts +1 -1
- package/dist/types/module.d.ts +3 -3
- package/dist/types/state/actions.d.ts +92 -0
- package/dist/types/state/create-reducer.d.ts +3 -0
- package/dist/types/state/create-state.d.ts +5 -0
- package/dist/types/state/flows.d.ts +7 -0
- package/dist/types/types.d.ts +81 -5
- package/dist/types/utils.d.ts +5 -0
- package/dist/types/version.d.ts +1 -1
- package/package.json +12 -9
- package/src/Widget.ts +324 -0
- package/src/WidgetModuleConfigurator.ts +48 -118
- package/src/WidgetModuleProvider.ts +110 -22
- package/src/enable-widget-module.ts +2 -2
- package/src/errors.ts +38 -4
- package/src/events.ts +75 -0
- package/src/index.ts +1 -5
- package/src/module.ts +8 -5
- package/src/state/actions.ts +70 -0
- package/src/state/create-reducer.ts +44 -0
- package/src/state/create-state.ts +21 -0
- package/src/state/flows.ts +75 -0
- package/src/types.ts +89 -9
- package/src/utils.ts +51 -0
- package/src/version.ts +1 -1
- package/tsconfig.json +1 -3
- package/dist/esm/WidgetModuleConfigBuilder.js +0 -42
- package/dist/esm/WidgetModuleConfigBuilder.js.map +0 -1
- package/dist/types/WidgetModuleConfigBuilder.d.ts +0 -19
- package/src/WidgetModuleConfigBuilder.ts +0 -70
package/CHANGELOG.md
CHANGED
|
@@ -1,156 +1,178 @@
|
|
|
1
1
|
# Change Log
|
|
2
2
|
|
|
3
|
+
## 3.0.0
|
|
4
|
+
|
|
5
|
+
### Major Changes
|
|
6
|
+
|
|
7
|
+
- [#1746](https://github.com/equinor/fusion-framework/pull/1746) [`7a70bfb`](https://github.com/equinor/fusion-framework/commit/7a70bfb6674c5cf8624ce090e318239a41c8fb86) Thanks [@Noggling](https://github.com/Noggling)! - Widget has had a complete makeover all from the loading Component to the Module itself.
|
|
8
|
+
- adding events to widget module some include `onWidgetInitialized` , `onWidgetInitializeFailure` and `onWidgetScriptLoaded` and more.
|
|
9
|
+
- Enabling for multiple widget loading.
|
|
10
|
+
- Complex overhaul on the widget configuration utilizing th new BaseConfigBuilder class.
|
|
11
|
+
- Now able to configure baseImport url and widgetClient
|
|
12
|
+
- New widget component for loading of widgets
|
|
13
|
+
- Updated documentation
|
|
14
|
+
|
|
15
|
+
## 2.0.10
|
|
16
|
+
|
|
17
|
+
### Patch Changes
|
|
18
|
+
|
|
19
|
+
- Updated dependencies [[`152cf73`](https://github.com/equinor/fusion-framework/commit/152cf73d39eb32ccbaddaa6941e315c437c4972d)]:
|
|
20
|
+
- @equinor/fusion-framework-module@4.2.7
|
|
21
|
+
- @equinor/fusion-framework-module-event@4.0.8
|
|
22
|
+
- @equinor/fusion-framework-module-http@5.1.6
|
|
23
|
+
- @equinor/fusion-framework-module-service-discovery@7.0.20
|
|
24
|
+
|
|
3
25
|
## 2.0.9
|
|
4
26
|
|
|
5
27
|
### Patch Changes
|
|
6
28
|
|
|
7
|
-
-
|
|
8
|
-
|
|
9
|
-
|
|
29
|
+
- Updated dependencies []:
|
|
30
|
+
- @equinor/fusion-query@4.0.6
|
|
31
|
+
- @equinor/fusion-framework-module-service-discovery@7.0.19
|
|
10
32
|
|
|
11
33
|
## 2.0.8
|
|
12
34
|
|
|
13
35
|
### Patch Changes
|
|
14
36
|
|
|
15
|
-
-
|
|
16
|
-
|
|
17
|
-
|
|
37
|
+
- Updated dependencies []:
|
|
38
|
+
- @equinor/fusion-framework-module-http@5.1.5
|
|
39
|
+
- @equinor/fusion-framework-module-service-discovery@7.0.18
|
|
18
40
|
|
|
19
41
|
## 2.0.7
|
|
20
42
|
|
|
21
43
|
### Patch Changes
|
|
22
44
|
|
|
23
|
-
-
|
|
24
|
-
|
|
25
|
-
|
|
45
|
+
- Updated dependencies [[`1e4ba77`](https://github.com/equinor/fusion-framework/commit/1e4ba7707d3ce5cfd9c8d6673f760523aa47a45e)]:
|
|
46
|
+
- @equinor/fusion-framework-module-http@5.1.4
|
|
47
|
+
- @equinor/fusion-framework-module-service-discovery@7.0.17
|
|
26
48
|
|
|
27
49
|
## 2.0.6
|
|
28
50
|
|
|
29
51
|
### Patch Changes
|
|
30
52
|
|
|
31
|
-
-
|
|
32
|
-
|
|
33
|
-
|
|
53
|
+
- Updated dependencies [[`0af3540`](https://github.com/equinor/fusion-framework/commit/0af3540340bac85a19ca3a8ec4e0ccd42b3090ee)]:
|
|
54
|
+
- @equinor/fusion-framework-module-http@5.1.3
|
|
55
|
+
- @equinor/fusion-framework-module-service-discovery@7.0.16
|
|
34
56
|
|
|
35
57
|
## 2.0.5
|
|
36
58
|
|
|
37
59
|
### Patch Changes
|
|
38
60
|
|
|
39
|
-
-
|
|
40
|
-
|
|
41
|
-
|
|
61
|
+
- Updated dependencies []:
|
|
62
|
+
- @equinor/fusion-query@4.0.5
|
|
63
|
+
- @equinor/fusion-framework-module-service-discovery@7.0.15
|
|
42
64
|
|
|
43
65
|
## 2.0.4
|
|
44
66
|
|
|
45
67
|
### Patch Changes
|
|
46
68
|
|
|
47
|
-
-
|
|
69
|
+
- [#1595](https://github.com/equinor/fusion-framework/pull/1595) [`9c24e84`](https://github.com/equinor/fusion-framework/commit/9c24e847d041dea8384c77439e6b237f5bdb3125) Thanks [@Gustav-Eikaas](https://github.com/Gustav-Eikaas)! - support for module resolution NodeNext & Bundler
|
|
48
70
|
|
|
49
|
-
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
71
|
+
- Updated dependencies [[`9c24e84`](https://github.com/equinor/fusion-framework/commit/9c24e847d041dea8384c77439e6b237f5bdb3125)]:
|
|
72
|
+
- @equinor/fusion-framework-module-service-discovery@7.0.14
|
|
73
|
+
- @equinor/fusion-framework-module@4.2.6
|
|
74
|
+
- @equinor/fusion-framework-module-http@5.1.2
|
|
75
|
+
- @equinor/fusion-query@4.0.4
|
|
76
|
+
- @equinor/fusion-framework-module-event@4.0.7
|
|
55
77
|
|
|
56
78
|
## 2.0.3
|
|
57
79
|
|
|
58
80
|
### Patch Changes
|
|
59
81
|
|
|
60
|
-
-
|
|
61
|
-
|
|
62
|
-
|
|
82
|
+
- Updated dependencies [[`446b63ce`](https://github.com/equinor/fusion-framework/commit/446b63ce44b59a3aaab4399c0d877d3a1b560a0e)]:
|
|
83
|
+
- @equinor/fusion-query@4.0.3
|
|
84
|
+
- @equinor/fusion-framework-module-service-discovery@7.0.13
|
|
63
85
|
|
|
64
86
|
## 2.0.2
|
|
65
87
|
|
|
66
88
|
### Patch Changes
|
|
67
89
|
|
|
68
|
-
-
|
|
69
|
-
|
|
70
|
-
|
|
90
|
+
- Updated dependencies [[`7ad31761`](https://github.com/equinor/fusion-framework/commit/7ad3176102f92da108b67ede6fdf29b76149bed9)]:
|
|
91
|
+
- @equinor/fusion-query@4.0.2
|
|
92
|
+
- @equinor/fusion-framework-module-service-discovery@7.0.12
|
|
71
93
|
|
|
72
94
|
## 2.0.1
|
|
73
95
|
|
|
74
96
|
### Patch Changes
|
|
75
97
|
|
|
76
|
-
-
|
|
98
|
+
- [`b5dfe5d2`](https://github.com/equinor/fusion-framework/commit/b5dfe5d29a249e0cca6c9589322931dfedd06acc) Thanks [@odinr](https://github.com/odinr)! - force patch bump, realign missing snapshot
|
|
77
99
|
|
|
78
|
-
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
100
|
+
- Updated dependencies [[`b5dfe5d2`](https://github.com/equinor/fusion-framework/commit/b5dfe5d29a249e0cca6c9589322931dfedd06acc)]:
|
|
101
|
+
- @equinor/fusion-framework-module-event@4.0.6
|
|
102
|
+
- @equinor/fusion-framework-module-http@5.1.1
|
|
103
|
+
- @equinor/fusion-framework-module@4.2.5
|
|
104
|
+
- @equinor/fusion-framework-module-service-discovery@7.0.11
|
|
105
|
+
- @equinor/fusion-query@4.0.1
|
|
84
106
|
|
|
85
107
|
## 2.0.0
|
|
86
108
|
|
|
87
109
|
### Patch Changes
|
|
88
110
|
|
|
89
|
-
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
111
|
+
- Updated dependencies [[`8e9e34a0`](https://github.com/equinor/fusion-framework/commit/8e9e34a06a6905d092ad8ca3f9330a3699da20fa), [`ebcabd0e`](https://github.com/equinor/fusion-framework/commit/ebcabd0e6945e1420a0a9a7d82bd9255da1b8578), [`8739a5a6`](https://github.com/equinor/fusion-framework/commit/8739a5a65d8aaa46ce9ef56cce013efeeb006e8a)]:
|
|
112
|
+
- @equinor/fusion-framework-module-http@5.1.0
|
|
113
|
+
- @equinor/fusion-query@4.0.0
|
|
114
|
+
- @equinor/fusion-framework-module-service-discovery@7.0.10
|
|
93
115
|
|
|
94
116
|
## 1.0.9
|
|
95
117
|
|
|
96
118
|
### Patch Changes
|
|
97
119
|
|
|
98
|
-
-
|
|
99
|
-
|
|
120
|
+
- Updated dependencies [[`e539e606`](https://github.com/equinor/fusion-framework/commit/e539e606d04bd8b7dc0c0bfed7cd4a7731996936)]:
|
|
121
|
+
- @equinor/fusion-framework-module-service-discovery@7.0.9
|
|
100
122
|
|
|
101
123
|
## 1.0.8
|
|
102
124
|
|
|
103
125
|
### Patch Changes
|
|
104
126
|
|
|
105
|
-
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
127
|
+
- Updated dependencies [[`9076a498`](https://github.com/equinor/fusion-framework/commit/9076a49876e7a414a27557b7fb9095a67fe3a57f)]:
|
|
128
|
+
- @equinor/fusion-framework-module@4.2.4
|
|
129
|
+
- @equinor/fusion-query@3.0.7
|
|
130
|
+
- @equinor/fusion-framework-module-event@4.0.5
|
|
131
|
+
- @equinor/fusion-framework-module-http@5.0.6
|
|
132
|
+
- @equinor/fusion-framework-module-service-discovery@7.0.8
|
|
111
133
|
|
|
112
134
|
## 1.0.7
|
|
113
135
|
|
|
114
136
|
### Patch Changes
|
|
115
137
|
|
|
116
|
-
-
|
|
117
|
-
|
|
118
|
-
|
|
138
|
+
- Updated dependencies [[`066d843c`](https://github.com/equinor/fusion-framework/commit/066d843c88cb974150f23f4fb9e7d0b066c93594)]:
|
|
139
|
+
- @equinor/fusion-query@3.0.6
|
|
140
|
+
- @equinor/fusion-framework-module-service-discovery@7.0.7
|
|
119
141
|
|
|
120
142
|
## 1.0.6
|
|
121
143
|
|
|
122
144
|
### Patch Changes
|
|
123
145
|
|
|
124
|
-
-
|
|
146
|
+
- [#1109](https://github.com/equinor/fusion-framework/pull/1109) [`7ec195d4`](https://github.com/equinor/fusion-framework/commit/7ec195d42098fec8794db13e83b71ef7753ff862) Thanks [@odinr](https://github.com/odinr)! - Change packaged manager from yarn to pnpm
|
|
125
147
|
|
|
126
|
-
|
|
148
|
+
conflicts of `@types/react` made random outcomes when using `yarn`
|
|
127
149
|
|
|
128
|
-
|
|
150
|
+
this change should not affect consumer of the packages, but might conflict dependent on local package manager.
|
|
129
151
|
|
|
130
|
-
-
|
|
152
|
+
- [#1145](https://github.com/equinor/fusion-framework/pull/1145) [`d276fc5d`](https://github.com/equinor/fusion-framework/commit/d276fc5d514566d05c64705076a1cb91c6a44272) Thanks [@dependabot](https://github.com/apps/dependabot)! - build(deps): bump rxjs from 7.5.7 to [7.8.1](https://github.com/ReactiveX/rxjs/blob/7.8.1/CHANGELOG.md)
|
|
131
153
|
|
|
132
|
-
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
154
|
+
- Updated dependencies [[`7ec195d4`](https://github.com/equinor/fusion-framework/commit/7ec195d42098fec8794db13e83b71ef7753ff862), [`2dccccd1`](https://github.com/equinor/fusion-framework/commit/2dccccd124fbe3cdde2132c29c27d3da9fc6f1f5), [`d276fc5d`](https://github.com/equinor/fusion-framework/commit/d276fc5d514566d05c64705076a1cb91c6a44272), [`52d98701`](https://github.com/equinor/fusion-framework/commit/52d98701627e93c7284c0b9a5bfd8dab1da43bd3)]:
|
|
155
|
+
- @equinor/fusion-framework-module-service-discovery@7.0.6
|
|
156
|
+
- @equinor/fusion-framework-module@4.2.3
|
|
157
|
+
- @equinor/fusion-framework-module-event@4.0.4
|
|
158
|
+
- @equinor/fusion-framework-module-http@5.0.5
|
|
159
|
+
- @equinor/fusion-query@3.0.5
|
|
138
160
|
|
|
139
161
|
## 1.0.5
|
|
140
162
|
|
|
141
163
|
### Patch Changes
|
|
142
164
|
|
|
143
|
-
-
|
|
165
|
+
- [#946](https://github.com/equinor/fusion-framework/pull/946) [`5a160d88`](https://github.com/equinor/fusion-framework/commit/5a160d88981ddfe861d391cfefe10f54dda3d352) Thanks [@odinr](https://github.com/odinr)! - Build/update typescript to 5
|
|
144
166
|
|
|
145
167
|
## 1.0.4
|
|
146
168
|
|
|
147
169
|
### Patch Changes
|
|
148
170
|
|
|
149
|
-
-
|
|
171
|
+
- [#905](https://github.com/equinor/fusion-framework/pull/905) [`a7858a1c`](https://github.com/equinor/fusion-framework/commit/a7858a1c01542e2dc94370709f122b4b99c3219c) Thanks [@odinr](https://github.com/odinr)! - **🚧 Chore: dedupe packages**
|
|
150
172
|
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
173
|
+
- align all versions of typescript
|
|
174
|
+
- update types to build
|
|
175
|
+
- a couple of typecasts did not [satisfies](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-5-0.html#satisfies-support-in-jsdoc) and was recasted as `unknwon`, marked with `TODO`, should be fixed in future
|
|
154
176
|
|
|
155
177
|
All notable changes to this project will be documented in this file.
|
|
156
178
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
@@ -0,0 +1,255 @@
|
|
|
1
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
2
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
3
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
4
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
5
|
+
};
|
|
6
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
7
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
8
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
9
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
10
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
11
|
+
};
|
|
12
|
+
var _Widget_instances, _Widget_state, _Widget_subscription, _Widget_registerEvents;
|
|
13
|
+
import { actions } from './state/actions';
|
|
14
|
+
import { createState } from './state/create-state';
|
|
15
|
+
import { Observable, Subscription, combineLatest, firstValueFrom, lastValueFrom, of } from 'rxjs';
|
|
16
|
+
import './events';
|
|
17
|
+
// Class representing a fusion widget
|
|
18
|
+
export class Widget {
|
|
19
|
+
// Getter for accessing the current state of the widget
|
|
20
|
+
get state() {
|
|
21
|
+
return __classPrivateFieldGet(this, _Widget_state, "f").value;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Constructs a new Widget instance.
|
|
25
|
+
* @param value - Initial state of the widget.
|
|
26
|
+
* @param args - Configuration and event parameters for the widget.
|
|
27
|
+
*/
|
|
28
|
+
constructor(value, args) {
|
|
29
|
+
_Widget_instances.add(this);
|
|
30
|
+
_Widget_state.set(this, void 0);
|
|
31
|
+
_Widget_subscription.set(this, new Subscription());
|
|
32
|
+
this.name = value.name;
|
|
33
|
+
this.widgetPrams = args.widgetPrams;
|
|
34
|
+
this.config = args.config;
|
|
35
|
+
__classPrivateFieldSet(this, _Widget_state, createState(value, args.provider), "f");
|
|
36
|
+
args.event && __classPrivateFieldGet(this, _Widget_instances, "m", _Widget_registerEvents).call(this, args.event);
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Retrieves the manifest of the widget as an observable stream.
|
|
40
|
+
* @param force_refresh - Flag to force refresh the manifest.
|
|
41
|
+
* @returns An observable stream of the widget manifest.
|
|
42
|
+
*/
|
|
43
|
+
getManifest(force_refresh = false) {
|
|
44
|
+
return new Observable((subscriber) => {
|
|
45
|
+
if (__classPrivateFieldGet(this, _Widget_state, "f").value.manifest) {
|
|
46
|
+
subscriber.next(__classPrivateFieldGet(this, _Widget_state, "f").value.manifest);
|
|
47
|
+
if (!force_refresh) {
|
|
48
|
+
return subscriber.complete();
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
subscriber.add(__classPrivateFieldGet(this, _Widget_state, "f").addEffect('set_manifest', ({ payload }) => {
|
|
52
|
+
subscriber.next(payload);
|
|
53
|
+
}));
|
|
54
|
+
subscriber.add(__classPrivateFieldGet(this, _Widget_state, "f").addEffect('fetch_manifest::success', ({ payload }) => {
|
|
55
|
+
subscriber.next(payload);
|
|
56
|
+
subscriber.complete();
|
|
57
|
+
}));
|
|
58
|
+
subscriber.add(__classPrivateFieldGet(this, _Widget_state, "f").addEffect('fetch_manifest::failure', ({ payload }) => {
|
|
59
|
+
subscriber.error(Error('failed to load widget manifest', {
|
|
60
|
+
cause: payload,
|
|
61
|
+
}));
|
|
62
|
+
}));
|
|
63
|
+
this.loadManifest();
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Retrieves the configuration of the widget as an observable stream.
|
|
68
|
+
* @param force_refresh - Flag to force refresh the configuration.
|
|
69
|
+
* @returns An observable stream of the widget configuration.
|
|
70
|
+
*/
|
|
71
|
+
getConfig(force_refresh = false) {
|
|
72
|
+
return new Observable((subscriber) => {
|
|
73
|
+
if (__classPrivateFieldGet(this, _Widget_state, "f").value.manifest) {
|
|
74
|
+
subscriber.next(__classPrivateFieldGet(this, _Widget_state, "f").value.config);
|
|
75
|
+
if (!force_refresh) {
|
|
76
|
+
return subscriber.complete();
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
subscriber.add(__classPrivateFieldGet(this, _Widget_state, "f").addEffect('set_config', ({ payload }) => {
|
|
80
|
+
subscriber.next(payload);
|
|
81
|
+
}));
|
|
82
|
+
subscriber.add(__classPrivateFieldGet(this, _Widget_state, "f").addEffect('fetch_config::success', ({ payload }) => {
|
|
83
|
+
subscriber.next(payload);
|
|
84
|
+
subscriber.complete();
|
|
85
|
+
}));
|
|
86
|
+
subscriber.add(__classPrivateFieldGet(this, _Widget_state, "f").addEffect('fetch_config::failure', ({ payload }) => {
|
|
87
|
+
subscriber.error(Error('failed to load widget manifest', {
|
|
88
|
+
cause: payload,
|
|
89
|
+
}));
|
|
90
|
+
}));
|
|
91
|
+
this.loadConfig();
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Loads the configuration for the widget.
|
|
96
|
+
* @param update - Flag to force an update of the configuration.
|
|
97
|
+
*/
|
|
98
|
+
loadConfig(update) {
|
|
99
|
+
__classPrivateFieldGet(this, _Widget_state, "f").next(actions.fetchConfig(Object.assign({ key: this.name }, this.widgetPrams), update));
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Loads the manifest for the widget.
|
|
103
|
+
* @param update - Flag to force an update of the manifest.
|
|
104
|
+
*/
|
|
105
|
+
loadManifest(update) {
|
|
106
|
+
__classPrivateFieldGet(this, _Widget_state, "f").next(actions.fetchManifest(Object.assign({ key: this.name }, this.widgetPrams), update));
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Retrieves the widget module as an observable stream.
|
|
110
|
+
* @param force_refresh - Flag to force refresh the widget module.
|
|
111
|
+
* @returns An observable stream of the widget module.
|
|
112
|
+
*/
|
|
113
|
+
getWidgetModule(force_refresh = false) {
|
|
114
|
+
return new Observable((subscriber) => {
|
|
115
|
+
if (__classPrivateFieldGet(this, _Widget_state, "f").value.modules) {
|
|
116
|
+
subscriber.next(__classPrivateFieldGet(this, _Widget_state, "f").value.modules);
|
|
117
|
+
if (!force_refresh) {
|
|
118
|
+
return subscriber.complete();
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
subscriber.add(__classPrivateFieldGet(this, _Widget_state, "f").addEffect('set_module', ({ payload }) => {
|
|
122
|
+
subscriber.next(payload);
|
|
123
|
+
}));
|
|
124
|
+
subscriber.add(__classPrivateFieldGet(this, _Widget_state, "f").addEffect('import_widget::success', ({ payload }) => {
|
|
125
|
+
subscriber.next(payload);
|
|
126
|
+
subscriber.complete();
|
|
127
|
+
}));
|
|
128
|
+
subscriber.add(__classPrivateFieldGet(this, _Widget_state, "f").addEffect('import_widget::failure', ({ payload }) => {
|
|
129
|
+
subscriber.error(Error('failed to load widget modules from script', {
|
|
130
|
+
cause: payload,
|
|
131
|
+
}));
|
|
132
|
+
}));
|
|
133
|
+
subscriber.add(this.getManifest().subscribe((manifest) => {
|
|
134
|
+
var _a, _b, _c;
|
|
135
|
+
const path = manifest.assetPath
|
|
136
|
+
? `${manifest.assetPath}/${manifest.entryPoint}?api-version=${(_a = this.config) === null || _a === void 0 ? void 0 : _a.client.apiVersion}`
|
|
137
|
+
: `${manifest.entryPoint}?api-version=${(_b = this.config) === null || _b === void 0 ? void 0 : _b.client.apiVersion}`;
|
|
138
|
+
const url = new URL(path, (_c = this.config) === null || _c === void 0 ? void 0 : _c.client.baseImportUrl);
|
|
139
|
+
return of(__classPrivateFieldGet(this, _Widget_state, "f").next(actions.importWidget(url.href)));
|
|
140
|
+
}));
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Initializes the widget and returns an observable stream with the combined results.
|
|
145
|
+
* @returns An observable stream with the manifest, script, and configuration.
|
|
146
|
+
*/
|
|
147
|
+
initialize() {
|
|
148
|
+
return new Observable((observer) => {
|
|
149
|
+
__classPrivateFieldGet(this, _Widget_state, "f").next(actions.initialize());
|
|
150
|
+
observer.add(combineLatest([
|
|
151
|
+
this.getManifest(),
|
|
152
|
+
this.getWidgetModule(),
|
|
153
|
+
// this.getConfig(),
|
|
154
|
+
]).subscribe({
|
|
155
|
+
next: ([manifest, script]) => observer.next({
|
|
156
|
+
manifest,
|
|
157
|
+
script,
|
|
158
|
+
//Todo: uncomment the getConfig on line #273 and replace config when backend support widget config.
|
|
159
|
+
config: {
|
|
160
|
+
environment: {},
|
|
161
|
+
endpoints: {},
|
|
162
|
+
},
|
|
163
|
+
}),
|
|
164
|
+
error: (err) => {
|
|
165
|
+
observer.error(err), __classPrivateFieldGet(this, _Widget_state, "f").next(actions.initialize.failure(err));
|
|
166
|
+
},
|
|
167
|
+
complete: () => {
|
|
168
|
+
__classPrivateFieldGet(this, _Widget_state, "f").next(actions.initialize.success());
|
|
169
|
+
observer.complete();
|
|
170
|
+
},
|
|
171
|
+
}));
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Retrieves the widget module asynchronously as a Promise.
|
|
176
|
+
* @param allow_cache - Flag to allow caching of the widget module.
|
|
177
|
+
* @returns A Promise containing the widget module.
|
|
178
|
+
*/
|
|
179
|
+
getWidgetModuleAsync(allow_cache = true) {
|
|
180
|
+
const operator = allow_cache ? firstValueFrom : lastValueFrom;
|
|
181
|
+
return operator(this.getWidgetModule(!allow_cache));
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Updates the manifest of the widget.
|
|
185
|
+
* @param manifest - The new manifest for the widget.
|
|
186
|
+
* @param replace - Flag to replace the existing manifest.
|
|
187
|
+
*/
|
|
188
|
+
updateManifest(manifest, replace) {
|
|
189
|
+
__classPrivateFieldGet(this, _Widget_state, "f").next(actions.setManifest(manifest, !replace));
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* Disposes of the widget by unsubscribing from any active subscriptions.
|
|
193
|
+
*/
|
|
194
|
+
dispose() {
|
|
195
|
+
__classPrivateFieldGet(this, _Widget_subscription, "f").unsubscribe();
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
_Widget_state = new WeakMap(), _Widget_subscription = new WeakMap(), _Widget_instances = new WeakSet(), _Widget_registerEvents = function _Widget_registerEvents(event) {
|
|
199
|
+
const { name } = this;
|
|
200
|
+
__classPrivateFieldGet(this, _Widget_state, "f").addEffect(actions.fetchManifest.type, () => {
|
|
201
|
+
event.dispatchEvent('onWidgetManifestLoad', {
|
|
202
|
+
detail: { name },
|
|
203
|
+
source: this,
|
|
204
|
+
});
|
|
205
|
+
});
|
|
206
|
+
__classPrivateFieldGet(this, _Widget_state, "f").addEffect(actions.fetchManifest.success.type, (action) => {
|
|
207
|
+
event.dispatchEvent('onWidgetManifestLoaded', {
|
|
208
|
+
detail: { name, manifest: action.payload },
|
|
209
|
+
source: this,
|
|
210
|
+
});
|
|
211
|
+
});
|
|
212
|
+
__classPrivateFieldGet(this, _Widget_state, "f").addEffect(actions.fetchManifest.failure.type, (action) => {
|
|
213
|
+
event.dispatchEvent('onWidgetManifestFailure', {
|
|
214
|
+
detail: { name, error: action.payload },
|
|
215
|
+
source: this,
|
|
216
|
+
});
|
|
217
|
+
});
|
|
218
|
+
__classPrivateFieldGet(this, _Widget_state, "f").addEffect(actions.importWidget.type, () => {
|
|
219
|
+
event.dispatchEvent('onWidgetScriptLoad', {
|
|
220
|
+
detail: { name },
|
|
221
|
+
source: this,
|
|
222
|
+
});
|
|
223
|
+
});
|
|
224
|
+
__classPrivateFieldGet(this, _Widget_state, "f").addEffect(actions.importWidget.success.type, (action) => {
|
|
225
|
+
event.dispatchEvent('onWidgetScriptLoaded', {
|
|
226
|
+
detail: { name, script: action.payload },
|
|
227
|
+
source: this,
|
|
228
|
+
});
|
|
229
|
+
});
|
|
230
|
+
__classPrivateFieldGet(this, _Widget_state, "f").addEffect(actions.importWidget.failure.type, (action) => {
|
|
231
|
+
event.dispatchEvent('onWidgetScriptFailure', {
|
|
232
|
+
detail: { name, error: action.payload },
|
|
233
|
+
source: this,
|
|
234
|
+
});
|
|
235
|
+
});
|
|
236
|
+
__classPrivateFieldGet(this, _Widget_state, "f").addEffect(actions.initialize.type, () => {
|
|
237
|
+
event.dispatchEvent('onWidgetInitialize', {
|
|
238
|
+
detail: { name },
|
|
239
|
+
source: this,
|
|
240
|
+
});
|
|
241
|
+
});
|
|
242
|
+
__classPrivateFieldGet(this, _Widget_state, "f").addEffect(actions.initialize.success.type, () => {
|
|
243
|
+
event.dispatchEvent('onWidgetInitialized', {
|
|
244
|
+
detail: { name },
|
|
245
|
+
source: this,
|
|
246
|
+
});
|
|
247
|
+
});
|
|
248
|
+
__classPrivateFieldGet(this, _Widget_state, "f").addEffect(actions.initialize.failure.type, ({ payload }) => {
|
|
249
|
+
event.dispatchEvent('onWidgetInitializeFailure', {
|
|
250
|
+
detail: { name, error: payload },
|
|
251
|
+
source: this,
|
|
252
|
+
});
|
|
253
|
+
});
|
|
254
|
+
};
|
|
255
|
+
//# sourceMappingURL=Widget.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Widget.js","sourceRoot":"","sources":["../../src/Widget.ts"],"names":[],"mappings":";;;;;;;;;;;;AASA,OAAO,EAAW,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAGnD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,MAAM,CAAC;AAIlG,OAAO,UAAU,CAAC;AAElB,qCAAqC;AACrC,MAAM,OAAO,MAAM;IAQf,uDAAuD;IACvD,IAAI,KAAK;QACL,OAAO,uBAAA,IAAI,qBAAO,CAAC,KAAK,CAAC;IAC7B,CAAC;IAED;;;;OAIG;IACH,YACI,KAAyB,EACzB,IAKC;;QAxBL,gCAA0C;QAK1C,+BAAgB,IAAI,YAAY,EAAE,EAAC;QAqB/B,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACpC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,uBAAA,IAAI,iBAAU,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAA,CAAC;QAChD,IAAI,CAAC,KAAK,IAAI,uBAAA,IAAI,iDAAgB,MAApB,IAAI,EAAiB,IAAI,CAAC,KAAK,CAAC,CAAC;IACnD,CAAC;IAqED;;;;OAIG;IACI,WAAW,CAAC,aAAa,GAAG,KAAK;QACpC,OAAO,IAAI,UAAU,CAAC,CAAC,UAAU,EAAE,EAAE;YACjC,IAAI,uBAAA,IAAI,qBAAO,CAAC,KAAK,CAAC,QAAQ,EAAE;gBAC5B,UAAU,CAAC,IAAI,CAAC,uBAAA,IAAI,qBAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBAC5C,IAAI,CAAC,aAAa,EAAE;oBAChB,OAAO,UAAU,CAAC,QAAQ,EAAE,CAAC;iBAChC;aACJ;YACD,UAAU,CAAC,GAAG,CACV,uBAAA,IAAI,qBAAO,CAAC,SAAS,CAAC,cAAc,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;gBAClD,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC7B,CAAC,CAAC,CACL,CAAC;YACF,UAAU,CAAC,GAAG,CACV,uBAAA,IAAI,qBAAO,CAAC,SAAS,CAAC,yBAAyB,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;gBAC7D,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACzB,UAAU,CAAC,QAAQ,EAAE,CAAC;YAC1B,CAAC,CAAC,CACL,CAAC;YACF,UAAU,CAAC,GAAG,CACV,uBAAA,IAAI,qBAAO,CAAC,SAAS,CAAC,yBAAyB,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;gBAC7D,UAAU,CAAC,KAAK,CACZ,KAAK,CAAC,gCAAgC,EAAE;oBACpC,KAAK,EAAE,OAAO;iBACjB,CAAC,CACL,CAAC;YACN,CAAC,CAAC,CACL,CAAC;YAEF,IAAI,CAAC,YAAY,EAAE,CAAC;QACxB,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;OAIG;IACI,SAAS,CAAC,aAAa,GAAG,KAAK;QAClC,OAAO,IAAI,UAAU,CAAC,CAAC,UAAU,EAAE,EAAE;YACjC,IAAI,uBAAA,IAAI,qBAAO,CAAC,KAAK,CAAC,QAAQ,EAAE;gBAC5B,UAAU,CAAC,IAAI,CAAC,uBAAA,IAAI,qBAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC1C,IAAI,CAAC,aAAa,EAAE;oBAChB,OAAO,UAAU,CAAC,QAAQ,EAAE,CAAC;iBAChC;aACJ;YACD,UAAU,CAAC,GAAG,CACV,uBAAA,IAAI,qBAAO,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;gBAChD,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC7B,CAAC,CAAC,CACL,CAAC;YACF,UAAU,CAAC,GAAG,CACV,uBAAA,IAAI,qBAAO,CAAC,SAAS,CAAC,uBAAuB,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;gBAC3D,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACzB,UAAU,CAAC,QAAQ,EAAE,CAAC;YAC1B,CAAC,CAAC,CACL,CAAC;YACF,UAAU,CAAC,GAAG,CACV,uBAAA,IAAI,qBAAO,CAAC,SAAS,CAAC,uBAAuB,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;gBAC3D,UAAU,CAAC,KAAK,CACZ,KAAK,CAAC,gCAAgC,EAAE;oBACpC,KAAK,EAAE,OAAO;iBACjB,CAAC,CACL,CAAC;YACN,CAAC,CAAC,CACL,CAAC;YAEF,IAAI,CAAC,UAAU,EAAE,CAAC;QACtB,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;OAGG;IACI,UAAU,CAAC,MAAgB;QAC9B,uBAAA,IAAI,qBAAO,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,iBAAG,GAAG,EAAE,IAAI,CAAC,IAAI,IAAK,IAAI,CAAC,WAAW,GAAI,MAAM,CAAC,CAAC,CAAC;IAC3F,CAAC;IAED;;;OAGG;IACI,YAAY,CAAC,MAAgB;QAChC,uBAAA,IAAI,qBAAO,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,iBAAG,GAAG,EAAE,IAAI,CAAC,IAAI,IAAK,IAAI,CAAC,WAAW,GAAI,MAAM,CAAC,CAAC,CAAC;IAC7F,CAAC;IAED;;;;OAIG;IACI,eAAe,CAAC,aAAa,GAAG,KAAK;QACxC,OAAO,IAAI,UAAU,CAAC,CAAC,UAAU,EAAE,EAAE;YACjC,IAAI,uBAAA,IAAI,qBAAO,CAAC,KAAK,CAAC,OAAO,EAAE;gBAC3B,UAAU,CAAC,IAAI,CAAC,uBAAA,IAAI,qBAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAC3C,IAAI,CAAC,aAAa,EAAE;oBAChB,OAAO,UAAU,CAAC,QAAQ,EAAE,CAAC;iBAChC;aACJ;YACD,UAAU,CAAC,GAAG,CACV,uBAAA,IAAI,qBAAO,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;gBAChD,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC7B,CAAC,CAAC,CACL,CAAC;YACF,UAAU,CAAC,GAAG,CACV,uBAAA,IAAI,qBAAO,CAAC,SAAS,CAAC,wBAAwB,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;gBAC5D,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACzB,UAAU,CAAC,QAAQ,EAAE,CAAC;YAC1B,CAAC,CAAC,CACL,CAAC;YACF,UAAU,CAAC,GAAG,CACV,uBAAA,IAAI,qBAAO,CAAC,SAAS,CAAC,wBAAwB,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;gBAC5D,UAAU,CAAC,KAAK,CACZ,KAAK,CAAC,2CAA2C,EAAE;oBAC/C,KAAK,EAAE,OAAO;iBACjB,CAAC,CACL,CAAC;YACN,CAAC,CAAC,CACL,CAAC;YAEF,UAAU,CAAC,GAAG,CACV,IAAI,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,EAAE;;gBACtC,MAAM,IAAI,GAAG,QAAQ,CAAC,SAAS;oBAC3B,CAAC,CAAC,GAAG,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,UAAU,gBAAgB,MAAA,IAAI,CAAC,MAAM,0CAAE,MAAM,CAAC,UAAU,EAAE;oBAC9F,CAAC,CAAC,GAAG,QAAQ,CAAC,UAAU,gBAAgB,MAAA,IAAI,CAAC,MAAM,0CAAE,MAAM,CAAC,UAAU,EAAE,CAAC;gBAE7E,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,MAAA,IAAI,CAAC,MAAM,0CAAE,MAAM,CAAC,aAAa,CAAC,CAAC;gBAE7D,OAAO,EAAE,CAAC,uBAAA,IAAI,qBAAO,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAChE,CAAC,CAAC,CACL,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC;IACD;;;OAGG;IACI,UAAU;QAKb,OAAO,IAAI,UAAU,CAAC,CAAC,QAAQ,EAAE,EAAE;YAC/B,uBAAA,IAAI,qBAAO,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;YACvC,QAAQ,CAAC,GAAG,CACR,aAAa,CAAC;gBACV,IAAI,CAAC,WAAW,EAAE;gBAClB,IAAI,CAAC,eAAe,EAAE;gBACtB,oBAAoB;aACvB,CAAC,CAAC,SAAS,CAAC;gBACT,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,CACzB,QAAQ,CAAC,IAAI,CAAC;oBACV,QAAQ;oBACR,MAAM;oBACN,mGAAmG;oBACnG,MAAM,EAAE;wBACJ,WAAW,EAAE,EAAE;wBACf,SAAS,EAAE,EAAE;qBAChB;iBACJ,CAAC;gBACN,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE;oBACX,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,uBAAA,IAAI,qBAAO,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC3E,CAAC;gBACD,QAAQ,EAAE,GAAG,EAAE;oBACX,uBAAA,IAAI,qBAAO,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;oBAC/C,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACxB,CAAC;aACJ,CAAC,CACL,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC;IACD;;;;OAIG;IACI,oBAAoB,CAAC,WAAW,GAAG,IAAI;QAC1C,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,aAAa,CAAC;QAC9D,OAAO,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;IACxD,CAAC;IACD;;;;OAIG;IACI,cAAc,CAAC,QAAwB,EAAE,OAAe;QAC3D,uBAAA,IAAI,qBAAO,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED;;OAEG;IACI,OAAO;QACV,uBAAA,IAAI,4BAAc,CAAC,WAAW,EAAE,CAAC;IACrC,CAAC;CACJ;iKAxQmB,KAA8B;IAC1C,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;IAEtB,uBAAA,IAAI,qBAAO,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE;QACnD,KAAK,CAAC,aAAa,CAAC,sBAAsB,EAAE;YACxC,MAAM,EAAE,EAAE,IAAI,EAAE;YAChB,MAAM,EAAE,IAAI;SACf,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IACH,uBAAA,IAAI,qBAAO,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE;QACjE,KAAK,CAAC,aAAa,CAAC,wBAAwB,EAAE;YAC1C,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,OAAO,EAAE;YAC1C,MAAM,EAAE,IAAI;SACf,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IACH,uBAAA,IAAI,qBAAO,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE;QACjE,KAAK,CAAC,aAAa,CAAC,yBAAyB,EAAE;YAC3C,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE;YACvC,MAAM,EAAE,IAAI;SACf,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,uBAAA,IAAI,qBAAO,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE;QAClD,KAAK,CAAC,aAAa,CAAC,oBAAoB,EAAE;YACtC,MAAM,EAAE,EAAE,IAAI,EAAE;YAChB,MAAM,EAAE,IAAI;SACf,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IACH,uBAAA,IAAI,qBAAO,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE;QAChE,KAAK,CAAC,aAAa,CAAC,sBAAsB,EAAE;YACxC,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE;YACxC,MAAM,EAAE,IAAI;SACf,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IACH,uBAAA,IAAI,qBAAO,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE;QAChE,KAAK,CAAC,aAAa,CAAC,uBAAuB,EAAE;YACzC,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE;YACvC,MAAM,EAAE,IAAI;SACf,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,uBAAA,IAAI,qBAAO,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE;QAChD,KAAK,CAAC,aAAa,CAAC,oBAAoB,EAAE;YACtC,MAAM,EAAE,EAAE,IAAI,EAAE;YAChB,MAAM,EAAE,IAAI;SACf,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,uBAAA,IAAI,qBAAO,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE;QACxD,KAAK,CAAC,aAAa,CAAC,qBAAqB,EAAE;YACvC,MAAM,EAAE,EAAE,IAAI,EAAE;YAChB,MAAM,EAAE,IAAI;SACf,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,uBAAA,IAAI,qBAAO,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;QACnE,KAAK,CAAC,aAAa,CAAC,2BAA2B,EAAE;YAC7C,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE;YAChC,MAAM,EAAE,IAAI;SACf,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC"}
|