@kosdev-code/kos-ui-plugin 2.0.0 → 2.0.18

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 (45) hide show
  1. package/dev.cjs +7 -7
  2. package/dev.cjs.map +1 -1
  3. package/dev.js +54 -51
  4. package/dev.js.map +1 -1
  5. package/index.cjs +6 -6
  6. package/index.cjs.map +1 -1
  7. package/index.js +49 -57
  8. package/index.js.map +1 -1
  9. package/lib/dev/components/storybook/control-pour-story-container/control-pour-story-container.d.ts +8 -0
  10. package/lib/dev/components/storybook/control-pour-story-container/control-pour-story-container.d.ts.map +1 -0
  11. package/lib/dev/components/storybook/control-pour-story-container/index.d.ts +2 -0
  12. package/lib/dev/components/storybook/control-pour-story-container/index.d.ts.map +1 -0
  13. package/lib/dev/components/storybook/index.d.ts +1 -0
  14. package/lib/dev/components/storybook/index.d.ts.map +1 -1
  15. package/lib/hooks/use-dynamic-component.d.ts +20 -0
  16. package/lib/hooks/use-dynamic-component.d.ts.map +1 -1
  17. package/lib/utils/contribution-reducer.d.ts.map +1 -1
  18. package/lib/utils/control-pour-reducer.d.ts +5 -0
  19. package/lib/utils/control-pour-reducer.d.ts.map +1 -0
  20. package/lib/utils/index.d.ts +1 -0
  21. package/lib/utils/index.d.ts.map +1 -1
  22. package/lib/utils/initialize-plugins.d.ts +39 -0
  23. package/lib/utils/initialize-plugins.d.ts.map +1 -1
  24. package/lib/utils/plugin-extension-manager.d.ts.map +1 -1
  25. package/lib/utils/plugin-extension-registry-init.d.ts +2 -0
  26. package/lib/utils/plugin-extension-registry-init.d.ts.map +1 -0
  27. package/lib/utils/plugin-extension-registry.d.ts +6 -0
  28. package/lib/utils/plugin-extension-registry.d.ts.map +1 -0
  29. package/lib/utils/resolve-best-extension.d.ts +12 -0
  30. package/lib/utils/resolve-best-extension.d.ts.map +1 -0
  31. package/package.json +2 -2
  32. package/resolve-best-extension-D5Ord7XK.cjs +2 -0
  33. package/resolve-best-extension-D5Ord7XK.cjs.map +1 -0
  34. package/resolve-best-extension-DAJIkfJh.js +272 -0
  35. package/resolve-best-extension-DAJIkfJh.js.map +1 -0
  36. package/types/global.d.ts +5 -0
  37. package/types/plugins.d.ts +6 -1
  38. package/utils.cjs +1 -1
  39. package/utils.cjs.map +1 -1
  40. package/utils.js +346 -103
  41. package/utils.js.map +1 -1
  42. package/plugin-extension-manager-7xDx0VSt.js +0 -524
  43. package/plugin-extension-manager-7xDx0VSt.js.map +0 -1
  44. package/plugin-extension-manager-D9aw-mUM.cjs +0 -2
  45. package/plugin-extension-manager-D9aw-mUM.cjs.map +0 -1
package/utils.js CHANGED
@@ -1,70 +1,312 @@
1
- import { m as A } from "./plugin-extension-manager-7xDx0VSt.js";
2
- import { b as $, E as B, a as H, o as L, g as W, e as F, f as M, l as x, j, k as K, s as G, q as z, r as Y, w as Q, u as J, v as Z, F as ee, B as re, D as se, C as ae, J as ie, H as ne, I as oe, N as te, L as de, M as le, R as ue, P as Ne, Q as Ee, c as ce, d as _e, h as Ie, n as ge, p as Te, t as Oe, y as fe, A as Ve, i as Se, z as me, x as ke, G as Pe, K as be, O as he, S as De } from "./plugin-extension-manager-7xDx0VSt.js";
3
- const C = (r = null) => (r || window.location.search.replace("?", "")).split("&").map((e) => {
4
- const [i, s] = e.split("=");
5
- return [i, decodeURIComponent(s || "")];
6
- }).reduce((e, [i, s]) => (e[i] = s, e), {}), R = () => {
7
- const r = window.location.origin, e = C();
8
- return (e == null ? void 0 : e.host) || r;
9
- }, U = async (r) => {
10
- const e = R(), i = r ?? {}, {
1
+ import { a as N, m as L } from "./resolve-best-extension-DAJIkfJh.js";
2
+ import { c as he, g as ve, b as we, i as Xe, l as Ce, r as Re } from "./resolve-best-extension-DAJIkfJh.js";
3
+ const g = "ddk.cui", m = "ddk.cui.view", b = "ddk.cui.settings.config", F = (i, e) => (t, s) => {
4
+ const r = s, n = e[s], l = i[n.experienceId] || {};
5
+ t[g] = t[g] || {}, t[g][r] = {
6
+ id: r,
7
+ type: "cui.definition",
8
+ data: n,
9
+ remote: n.remote,
10
+ sectionId: n.sectionId
11
+ }, l.id && (t[m] = t[m] || {}, t[m][r] = {
12
+ id: r,
13
+ type: "cui.view",
14
+ data: l,
15
+ remote: n.remote,
16
+ sectionId: n.sectionId
17
+ }), t[b] = t[b] || {};
18
+ const a = {
19
+ id: r,
20
+ type: "cui",
21
+ data: n,
22
+ view: l,
23
+ remote: n.remote,
24
+ sectionId: n.sectionId
25
+ };
26
+ return t[b][r] = a, t;
27
+ }, E = ({
28
+ contributionKey: i,
29
+ basePluginType: e,
30
+ keys: { EXTENSION_POINT: t, EXTENSION_POINT_DEF: s, EXTENSION_POINT_VIEW: r }
31
+ }) => (n, l) => (d, a) => {
32
+ const u = a, o = l[i][a], I = n[o.experienceId] || {};
33
+ s && (d[s] = d[s] || {}, d[s][u] = {
34
+ id: u,
35
+ type: `${e}.definition`,
36
+ data: o,
37
+ remote: o.remote,
38
+ sectionId: o.sectionId
39
+ }), I.id && r && (d[r] = d[r] || {}, d[r][u] = {
40
+ id: u,
41
+ type: `${e}.view`,
42
+ data: I,
43
+ remote: o.remote,
44
+ sectionId: o.sectionId
45
+ }), d[t] = d[t] || {};
46
+ const _ = {
47
+ id: u,
48
+ type: `${e}`,
49
+ data: o,
50
+ view: I,
51
+ remote: o.remote,
52
+ sectionId: o.sectionId
53
+ };
54
+ return d[t][u] = _, d;
55
+ }, H = "ddk.dashboard.detail", M = "ddk.dashboard.detail.view", G = "ddk.ncui.dashboard.detail.config", z = E({
56
+ basePluginType: "dashboard.detail",
57
+ contributionKey: "dashboardDetailDefinitions",
58
+ keys: {
59
+ EXTENSION_POINT: G,
60
+ EXTENSION_POINT_DEF: H,
61
+ EXTENSION_POINT_VIEW: M
62
+ }
63
+ }), Y = "ddk.dashboard.pump.detail", Q = "ddk.dashboard.pump.detail.view", J = "ddk.dashboard.pump.detail.config", Z = E({
64
+ basePluginType: "dashboard.pump.detail",
65
+ contributionKey: "dashboardPumpDetailDefinitions",
66
+ keys: {
67
+ EXTENSION_POINT: J,
68
+ EXTENSION_POINT_DEF: Y,
69
+ EXTENSION_POINT_VIEW: Q
70
+ }
71
+ }), ee = "ddk.ncui.dashboard.config", te = E({
72
+ basePluginType: "dashboard",
73
+ contributionKey: "dashboardDefinitions",
74
+ keys: {
75
+ EXTENSION_POINT: ee
76
+ }
77
+ }), ie = "ddk.dashboard.summary", se = "ddk.dashboard.summary.view", ne = "ddk.ncui.dashboard.summary.config", re = E({
78
+ basePluginType: "dashboard.summary",
79
+ contributionKey: "dashboardSummaryDefinitions",
80
+ keys: {
81
+ EXTENSION_POINT: ne,
82
+ EXTENSION_POINT_DEF: ie,
83
+ EXTENSION_POINT_VIEW: se
84
+ }
85
+ }), oe = "cui.control.pour", de = "cui.control.pour.view", ae = "cui.control.pour.config", ue = E({
86
+ basePluginType: "control.pour",
87
+ contributionKey: "controlPourDefinitions",
88
+ keys: {
89
+ EXTENSION_POINT: ae,
90
+ EXTENSION_POINT_DEF: oe,
91
+ EXTENSION_POINT_VIEW: de
92
+ }
93
+ }), le = "ddk.nav.view", ce = "ddk.nav.view.view", Ie = "ddk.ncui.nav.view.config", Ne = E({
94
+ basePluginType: "nav.view",
95
+ contributionKey: "navViewDefinitions",
96
+ keys: {
97
+ EXTENSION_POINT: Ie,
98
+ EXTENSION_POINT_DEF: le,
99
+ EXTENSION_POINT_VIEW: ce
100
+ }
101
+ }), k = "ddk.settings", y = "ddk.settings.view", O = "ddk.settings.group", P = "ddk.ncui.settings.config", Ee = (i, e, t) => (s, r) => {
102
+ const n = t[r];
103
+ return s[O] = s[O] || {}, s[O][r] = {
104
+ id: r,
105
+ type: "settings.group",
106
+ data: t[r],
107
+ remote: n.remote,
108
+ sectionId: n.sectionId
109
+ }, Object.entries(e).filter(([, d]) => d.settingsGroup === r).map(([d]) => d).forEach((d) => {
110
+ const a = d, u = e[d], c = i[u.experienceId] || {};
111
+ s[O][r].data.settings = [
112
+ ...s[O][r].data.settings,
113
+ a
114
+ ], s[k] = s[k] || {}, s[k][a] = {
115
+ id: a,
116
+ type: "settings.definition",
117
+ data: u,
118
+ remote: u.remote,
119
+ sectionId: u.sectionId
120
+ }, c.id && (s[y] = s[y] || {}, s[y][a] = {
121
+ id: a,
122
+ type: "settings.view",
123
+ data: c,
124
+ remote: u.remote,
125
+ sectionId: u.sectionId
126
+ }), s[P] = s[P] || {};
127
+ const I = {
128
+ id: a,
129
+ type: "settings",
130
+ data: u,
131
+ view: c,
132
+ remote: u.remote,
133
+ sectionId: u.sectionId
134
+ };
135
+ s[P][a] = I;
136
+ }), s;
137
+ }, V = "ddk.setup", S = "ddk.setup.view", D = "ddk.ncui.setup.config", fe = (i, e) => (t, s) => {
138
+ const r = s, n = e[s], l = i[n.experienceId] || {};
139
+ t[V] = t[V] || {}, t[V][r] = {
140
+ id: r,
141
+ type: "setup.definition",
142
+ data: n,
143
+ remote: n.remote,
144
+ sectionId: n.sectionId
145
+ }, l.id && (t[S] = t[S] || {}, t[S][r] = {
146
+ id: r,
147
+ type: "setup.view",
148
+ data: l,
149
+ remote: n.remote,
150
+ sectionId: n.sectionId
151
+ }), t[D] = t[D] || {};
152
+ const a = {
153
+ id: r,
154
+ type: "setup",
155
+ data: n,
156
+ view: l,
157
+ remote: n.remote,
158
+ sectionId: n.sectionId
159
+ };
160
+ return t[D][r] = a, t;
161
+ }, Oe = "ddk.trouble.action", _e = "ddk.trouble.action.view", Te = "ddk.ncui.trouble.action.config", ge = E({
162
+ basePluginType: "trouble.action",
163
+ contributionKey: "troubleActionDefinitions",
164
+ keys: {
165
+ EXTENSION_POINT: Te,
166
+ EXTENSION_POINT_DEF: Oe,
167
+ EXTENSION_POINT_VIEW: _e
168
+ }
169
+ }), p = "ddk.utilities", h = "ddk.utilities.view", v = "ddk.ncui.utils.config", me = (i, e) => (t, s) => {
170
+ const r = s, n = e[s], l = i[n.experienceId] || {};
171
+ t[p] = t[p] || {}, t[p][r] = {
172
+ id: r,
173
+ type: "utility.definition",
174
+ data: n,
175
+ remote: n.remote,
176
+ sectionId: n.sectionId
177
+ }, l.id && (t[h] = t[h] || {}, t[h][r] = {
178
+ id: r,
179
+ type: "utilities.view",
180
+ data: l,
181
+ remote: n.remote,
182
+ sectionId: n.sectionId
183
+ }), t[v] = t[v] || {};
184
+ const a = {
185
+ id: r,
186
+ type: "utility",
187
+ data: n,
188
+ view: l,
189
+ remote: n.remote,
190
+ sectionId: n.sectionId
191
+ };
192
+ return t[v][r] = a, t;
193
+ };
194
+ N(
195
+ (i, e, t) => Object.keys(e.cuiDefinitions).reduce(F(t, e.cuiDefinitions), i)
196
+ );
197
+ N(
198
+ (i, e, t) => Object.keys(e.utilDefinitions).reduce(me(t, e.utilDefinitions), i)
199
+ );
200
+ N(
201
+ (i, e, t) => Object.keys(e.setupDefinitions).reduce(
202
+ fe(t, e.setupDefinitions),
203
+ i
204
+ )
205
+ );
206
+ N(
207
+ (i, e, t) => Object.keys(e.troubleActionDefinitions).reduce(
208
+ ge(t, e),
209
+ i
210
+ )
211
+ );
212
+ N(
213
+ (i, e, t) => Object.keys(e.navViewDefinitions).reduce(Ne(t, e), i)
214
+ );
215
+ N(
216
+ (i, e, t) => Object.keys(e.dashboardSummaryDefinitions).reduce(
217
+ re(t, e),
218
+ i
219
+ )
220
+ );
221
+ N(
222
+ (i, e, t) => Object.keys(e.dashboardDetailDefinitions).reduce(
223
+ z(t, e),
224
+ i
225
+ )
226
+ );
227
+ N(
228
+ (i, e, t) => Object.keys(e.dashboardPumpDetailDefinitions).reduce(
229
+ Z(t, e),
230
+ i
231
+ )
232
+ );
233
+ N(
234
+ (i, e, t) => Object.keys(e.dashboardDefinitions).reduce(te(t, e), i)
235
+ );
236
+ N(
237
+ (i, e, t) => Object.keys(e.settingsGroupDefinitions).reduce(
238
+ Ee(t, e.settingsDefinitions, e.settingsGroupDefinitions),
239
+ i
240
+ )
241
+ );
242
+ N(
243
+ (i, e, t) => Object.keys(e.controlPourDefinitions).reduce(ue(t, e), i)
244
+ );
245
+ const be = (i = null) => (i || window.location.search.replace("?", "")).split("&").map((e) => {
246
+ const [t, s] = e.split("=");
247
+ return [t, decodeURIComponent(s || "")];
248
+ }).reduce((e, [t, s]) => (e[t] = s, e), {}), ke = () => {
249
+ const i = window.location.origin, e = be();
250
+ return (e == null ? void 0 : e.host) || i;
251
+ }, Ve = async (i) => {
252
+ const e = ke(), t = i ?? {}, {
11
253
  pluginBaseUrl: s = e,
12
- pluginApiPath: t = "/api/app/kosdev.ddk/ncui/plugins",
13
- overrides: d = {}
14
- } = i, o = (await (await fetch(`${s}${t}`)).json()).data.reduce((n, a) => {
15
- const l = (d == null ? void 0 : d[a.id]) ?? `${s}${a.baseUrl}`;
16
- return a.descriptor ? n[a.id] = {
17
- basePath: `${l}remoteEntry.js`,
18
- extensions: a.descriptor.extensions,
19
- contributes: a.descriptor.contributes,
20
- remote: a.descriptor.id,
21
- init: !!a.descriptor.init
254
+ pluginApiPath: r = "/api/app/kosdev.ddk/ncui/plugins",
255
+ overrides: n = {}
256
+ } = t, a = (await (await fetch(`${s}${r}`)).json()).data.reduce((c, o) => {
257
+ const I = (n == null ? void 0 : n[o.id]) ?? `${s}${o.baseUrl}`;
258
+ return o.descriptor ? c[o.id] = {
259
+ basePath: `${I}remoteEntry.js`,
260
+ extensions: o.descriptor.extensions,
261
+ contributes: o.descriptor.contributes,
262
+ remote: o.descriptor.id,
263
+ init: !!o.descriptor.init
22
264
  } : console.error(
23
- `initialize-plugins: Plugin ${a.id} does not have a descriptor`
24
- ), n;
265
+ `initialize-plugins: Plugin ${o.id} does not have a descriptor`
266
+ ), c;
25
267
  }, {});
26
- window.KosPlugins = window.KosPlugins || {}, window.KosPlugins.__dynamicRemotes = o;
27
- const u = Object.keys(o).reduce((n, a) => {
28
- const l = o[a].remote;
29
- return n[l] = o[a].basePath, n;
268
+ window.KosPlugins = window.KosPlugins || {}, window.KosPlugins.__dynamicRemotes = a;
269
+ const u = Object.keys(a).reduce((c, o) => {
270
+ const I = a[o].remote;
271
+ return c[I] = a[o].basePath, c;
30
272
  }, {});
31
- return A.setRemoteDefinitions(u), u;
273
+ return L.setRemoteDefinitions(u), u;
32
274
  };
33
- function D(r) {
34
- const e = r.match(/^(\d+)\.(\d+)\.\d+(?:-\S+)?$/);
275
+ function W(i) {
276
+ const e = i.match(/^(\d+)\.(\d+)\.\d+(?:-\S+)?$/);
35
277
  if (!e)
36
- throw new Error(`Invalid version format: ${r}`);
37
- const [i, s, t] = e;
38
- return `${s}.${t}.0`;
278
+ throw new Error(`Invalid version format: ${i}`);
279
+ const [t, s, r] = e;
280
+ return `${s}.${r}.0`;
39
281
  }
40
- function p(r, e) {
41
- var c, o, u, n, a, l, _, I, g, T, O, f, V, S, m, k, P, b;
282
+ function Se(i, e) {
283
+ var d, a, u, c, o, I, T, _, w, X, C, R, A, U, $, q, j, K;
42
284
  e != null && e.sdkVersion && console.log("sdkVersion", e.sdkVersion), e != null && e.ddkVersion && console.log("ddkVersion", e.ddkVersion);
43
- const i = D((e == null ? void 0 : e.sdkVersion) || "0.2.0"), s = D((e == null ? void 0 : e.ddkVersion) || "0.2.0");
44
- console.log(`Using DDK version: ${s}`), console.log(`Using SDK version: ${i}`);
45
- const t = r == null ? void 0 : r.name;
46
- if (!t)
285
+ const t = W((e == null ? void 0 : e.sdkVersion) || "0.2.0"), s = W((e == null ? void 0 : e.ddkVersion) || "0.2.0");
286
+ console.log(`Using DDK version: ${s}`), console.log(`Using SDK version: ${t}`);
287
+ const r = i == null ? void 0 : i.name;
288
+ if (!r)
47
289
  throw new Error(
48
- "kOS Configuration should be added. Project name not found in config"
290
+ "KOS Configuration should be added. Project name not found in config"
49
291
  );
50
- const d = (n = (u = (o = (c = r == null ? void 0 : r.kosdev) == null ? void 0 : c.ddk) == null ? void 0 : o.ncui) == null ? void 0 : u.plugin) == null ? void 0 : n.id;
51
- if (!d)
292
+ const n = (c = (u = (a = (d = i == null ? void 0 : i.kosdev) == null ? void 0 : d.ddk) == null ? void 0 : a.ncui) == null ? void 0 : u.plugin) == null ? void 0 : c.id;
293
+ if (!n)
52
294
  throw new Error(
53
- "kOS Configuration should be added. Plugin ID not found in config"
295
+ "KOS Configuration should be added. Plugin ID not found in config"
54
296
  );
55
- const E = Object.keys(
56
- ((g = (I = (_ = (l = (a = r == null ? void 0 : r.kosdev) == null ? void 0 : a.ddk) == null ? void 0 : l.ncui) == null ? void 0 : _.plugin) == null ? void 0 : I.contributes) == null ? void 0 : g.views) || {}
57
- ).reduce((N, y) => (r.kosdev.ddk.ncui.plugin.contributes.views[y].forEach((h) => {
58
- N[`./${h.component}`] = h.location;
59
- }), N), {});
297
+ const l = Object.keys(
298
+ ((w = (_ = (T = (I = (o = i == null ? void 0 : i.kosdev) == null ? void 0 : o.ddk) == null ? void 0 : I.ncui) == null ? void 0 : T.plugin) == null ? void 0 : _.contributes) == null ? void 0 : w.views) || {}
299
+ ).reduce((f, B) => (i.kosdev.ddk.ncui.plugin.contributes.views[B].forEach((x) => {
300
+ f[`./${x.component}`] = x.location;
301
+ }), f), {});
60
302
  return Object.values(
61
- ((S = (V = (f = (O = (T = r == null ? void 0 : r.kosdev) == null ? void 0 : T.ddk) == null ? void 0 : O.ncui) == null ? void 0 : f.plugin) == null ? void 0 : V.contributes) == null ? void 0 : S.experiences) || {}
62
- ).forEach((N) => {
63
- E[`./${N.component}`] = N.location;
64
- }), (b = (P = (k = (m = r == null ? void 0 : r.kosdev) == null ? void 0 : m.ddk) == null ? void 0 : k.ncui) == null ? void 0 : P.plugin) != null && b.init && (E["./InitPlugin"] = "./src/app/init.ts"), {
65
- name: t,
66
- exposes: E,
67
- library: { type: "var", name: d },
303
+ ((U = (A = (R = (C = (X = i == null ? void 0 : i.kosdev) == null ? void 0 : X.ddk) == null ? void 0 : C.ncui) == null ? void 0 : R.plugin) == null ? void 0 : A.contributes) == null ? void 0 : U.experiences) || {}
304
+ ).forEach((f) => {
305
+ l[`./${f.component}`] = f.location;
306
+ }), (K = (j = (q = ($ = i == null ? void 0 : i.kosdev) == null ? void 0 : $.ddk) == null ? void 0 : q.ncui) == null ? void 0 : j.plugin) != null && K.init && (l["./InitPlugin"] = "./src/app/init.ts"), {
307
+ name: r,
308
+ exposes: l,
309
+ library: { type: "var", name: n },
68
310
  additionalShared: [
69
311
  {
70
312
  libraryName: "@kosdev-code/kos-ui-plugin",
@@ -98,7 +340,7 @@ function p(r, e) {
98
340
  singleton: !0,
99
341
  eager: !1,
100
342
  strictVersion: !1,
101
- requiredVersion: `~${i}`
343
+ requiredVersion: `~${t}`
102
344
  }
103
345
  },
104
346
  {
@@ -107,7 +349,7 @@ function p(r, e) {
107
349
  singleton: !0,
108
350
  eager: !1,
109
351
  strictVersion: !1,
110
- requiredVersion: `~${i}`
352
+ requiredVersion: `~${t}`
111
353
  }
112
354
  },
113
355
  {
@@ -116,7 +358,7 @@ function p(r, e) {
116
358
  singleton: !0,
117
359
  eager: !1,
118
360
  strictVersion: !1,
119
- requiredVersion: `~${i}`
361
+ requiredVersion: `~${t}`
120
362
  }
121
363
  },
122
364
  {
@@ -276,52 +518,53 @@ function p(r, e) {
276
518
  };
277
519
  }
278
520
  export {
279
- $ as EXTENSION_POINT_CUI,
280
- B as EXTENSION_POINT_CUI_DEF,
281
- H as EXTENSION_POINT_CUI_VIEW,
282
- L as EXTENSION_POINT_DASHBOARD,
283
- W as EXTENSION_POINT_DASHBOARD_DETAIL,
284
- F as EXTENSION_POINT_DASHBOARD_DETAIL_DEF,
521
+ b as EXTENSION_POINT_CUI,
522
+ g as EXTENSION_POINT_CUI_DEF,
523
+ m as EXTENSION_POINT_CUI_VIEW,
524
+ ee as EXTENSION_POINT_DASHBOARD,
525
+ G as EXTENSION_POINT_DASHBOARD_DETAIL,
526
+ H as EXTENSION_POINT_DASHBOARD_DETAIL_DEF,
285
527
  M as EXTENSION_POINT_DASHBOARD_DETAIL_VIEW,
286
- x as EXTENSION_POINT_DASHBOARD_PUMP_DETAIL,
287
- j as EXTENSION_POINT_DASHBOARD_PUMP_DETAIL_DEF,
288
- K as EXTENSION_POINT_DASHBOARD_PUMP_DETAIL_VIEW,
289
- G as EXTENSION_POINT_DASHBOARD_SUMMARY,
290
- z as EXTENSION_POINT_DASHBOARD_SUMMARY_DEF,
291
- Y as EXTENSION_POINT_DASHBOARD_SUMMARY_VIEW,
292
- Q as EXTENSION_POINT_NAV_VIEW,
293
- J as EXTENSION_POINT_NAV_VIEW_DEF,
294
- Z as EXTENSION_POINT_NAV_VIEW_VIEW,
295
- ee as EXTENSION_POINT_SETTINGS,
296
- re as EXTENSION_POINT_SETTINGS_DEF,
297
- se as EXTENSION_POINT_SETTINGS_GROUP_DEF,
298
- ae as EXTENSION_POINT_SETTINGS_VIEW,
299
- ie as EXTENSION_POINT_SETUP,
300
- ne as EXTENSION_POINT_SETUP_DEF,
301
- oe as EXTENSION_POINT_SETUP_VIEW,
302
- te as EXTENSION_POINT_TROUBLE_ACTION,
303
- de as EXTENSION_POINT_TROUBLE_ACTION_DEF,
304
- le as EXTENSION_POINT_TROUBLE_ACTION_VIEW,
305
- ue as EXTENSION_POINT_UTIL,
306
- Ne as EXTENSION_POINT_UTIL_DEF,
307
- Ee as EXTENSION_POINT_UTIL_VIEW,
308
- ce as contributionReducer,
309
- _e as cuiReducer,
310
- Ie as dashboardDetailReducer,
311
- ge as dashboardPumpDetailReducer,
312
- Te as dashboardReducer,
313
- Oe as dashboardSummaryReducer,
314
- p as generatePluginConfiguration,
315
- fe as getContributions,
316
- Ve as getExtensions,
317
- C as getQueryParams,
318
- Se as initPluginManager,
319
- U as initializeKosPlugins,
320
- me as loadExtensions,
321
- ke as navViewReducer,
322
- Pe as settingsReducer,
323
- be as setupReducer,
324
- he as troubleActionReducer,
325
- De as utilReducer
528
+ J as EXTENSION_POINT_DASHBOARD_PUMP_DETAIL,
529
+ Y as EXTENSION_POINT_DASHBOARD_PUMP_DETAIL_DEF,
530
+ Q as EXTENSION_POINT_DASHBOARD_PUMP_DETAIL_VIEW,
531
+ ne as EXTENSION_POINT_DASHBOARD_SUMMARY,
532
+ ie as EXTENSION_POINT_DASHBOARD_SUMMARY_DEF,
533
+ se as EXTENSION_POINT_DASHBOARD_SUMMARY_VIEW,
534
+ Ie as EXTENSION_POINT_NAV_VIEW,
535
+ le as EXTENSION_POINT_NAV_VIEW_DEF,
536
+ ce as EXTENSION_POINT_NAV_VIEW_VIEW,
537
+ P as EXTENSION_POINT_SETTINGS,
538
+ k as EXTENSION_POINT_SETTINGS_DEF,
539
+ O as EXTENSION_POINT_SETTINGS_GROUP_DEF,
540
+ y as EXTENSION_POINT_SETTINGS_VIEW,
541
+ D as EXTENSION_POINT_SETUP,
542
+ V as EXTENSION_POINT_SETUP_DEF,
543
+ S as EXTENSION_POINT_SETUP_VIEW,
544
+ Te as EXTENSION_POINT_TROUBLE_ACTION,
545
+ Oe as EXTENSION_POINT_TROUBLE_ACTION_DEF,
546
+ _e as EXTENSION_POINT_TROUBLE_ACTION_VIEW,
547
+ v as EXTENSION_POINT_UTIL,
548
+ p as EXTENSION_POINT_UTIL_DEF,
549
+ h as EXTENSION_POINT_UTIL_VIEW,
550
+ he as contributionReducer,
551
+ F as cuiReducer,
552
+ z as dashboardDetailReducer,
553
+ Z as dashboardPumpDetailReducer,
554
+ te as dashboardReducer,
555
+ re as dashboardSummaryReducer,
556
+ Se as generatePluginConfiguration,
557
+ ve as getContributions,
558
+ we as getExtensions,
559
+ be as getQueryParams,
560
+ Xe as initPluginManager,
561
+ Ve as initializeKosPlugins,
562
+ Ce as loadExtensions,
563
+ Ne as navViewReducer,
564
+ Re as resolveBestExtension,
565
+ Ee as settingsReducer,
566
+ fe as setupReducer,
567
+ ge as troubleActionReducer,
568
+ me as utilReducer
326
569
  };
327
570
  //# sourceMappingURL=utils.js.map
package/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sources":["../../../../packages/sdk/kos-ui-plugin/src/lib/utils/initialize-plugins.ts","../../../../packages/sdk/kos-ui-plugin/src/lib/utils/process-kos-config.ts"],"sourcesContent":["import { setRemoteDefinitions } from \"@nx/react/mf\";\nimport type { Contributions, DynamicRemotes } from \"../../types/global\";\nimport type {\n PluginExtension,\n PluginExtensionsType,\n} from \"../../types/plugins\";\n\ndeclare interface KosPluginsType {\n __dynamicRemotes: DynamicRemotes;\n __extensions?: PluginExtensionsType;\n extensions?: Record<string, PluginExtension[]>;\n}\ndeclare global {\n interface Window {\n KosPlugins: KosPluginsType;\n }\n}\n\nexport interface Extensions {\n extensionPointId: string;\n id: string;\n component: string;\n}\n\nexport interface Descriptor {\n id: string;\n baseUrl: string;\n descriptor: {\n id: string;\n extensions: Extensions[];\n contributes: Contributions;\n };\n}\n\ninterface KosPluginsProps {\n pluginBaseUrl?: string;\n pluginApiPath?: string;\n overrides?: Record<string, string>;\n}\n\nexport const getQueryParams = (query = null) =>\n (query || window.location.search.replace(\"?\", \"\"))\n\n // get array of KeyValue pairs\n .split(\"&\")\n\n // Decode values\n .map((pair) => {\n const [key, val] = pair.split(\"=\");\n\n return [key, decodeURIComponent(val || \"\")];\n })\n\n // array to object\n .reduce((result, [key, val]) => {\n result[key] = val;\n return result;\n }, {});\n\nconst getDefaultHost = () => {\n const defaultHost = window.location.origin;\n const params = getQueryParams();\n const hostUrl = (params as any)?.host;\n const result = hostUrl || defaultHost;\n return result;\n};\n// eslint-disable-next-line no-restricted-globals\n\nexport const initializeKosPlugins = async (props?: KosPluginsProps) => {\n const defaultHost = getDefaultHost();\n const data = props ?? {};\n const {\n pluginBaseUrl = defaultHost,\n pluginApiPath = \"/api/app/kosdev.ddk/ncui/plugins\",\n overrides = {},\n } = data;\n const plugins = await fetch(`${pluginBaseUrl}${pluginApiPath}`);\n const remotes = await plugins.json();\n const allRemotes = remotes.data.reduce((acc, item) => {\n const baseUrl = overrides?.[item.id] ?? `${pluginBaseUrl}${item.baseUrl}`;\n if (item.descriptor) {\n acc[item.id] = {\n basePath: `${baseUrl}remoteEntry.js`,\n extensions: item.descriptor.extensions,\n contributes: item.descriptor.contributes,\n remote: item.descriptor.id,\n init: !!item.descriptor.init,\n };\n } else {\n console.error(\n `initialize-plugins: Plugin ${item.id} does not have a descriptor`\n );\n }\n return acc;\n }, {} as DynamicRemotes);\n window.KosPlugins = window.KosPlugins || {};\n window.KosPlugins.__dynamicRemotes = allRemotes;\n const definitions = Object.keys(allRemotes).reduce((acc, item) => {\n const remote = allRemotes[item].remote;\n acc[remote] = allRemotes[item].basePath;\n return acc;\n }, {} as Record<string, string>);\n setRemoteDefinitions(definitions);\n return definitions;\n};\n","/* eslint-disable max-lines-per-function */\nimport type { Contributions } from \"../../types/global\";\n\ninterface KosConfigView {\n id: string;\n title: string;\n component: string;\n location: string;\n}\ninterface KosConfig {\n name: string;\n kosdev: {\n ddk: {\n ncui: {\n plugin: {\n id: string;\n init?: boolean;\n contributes: Contributions;\n };\n };\n };\n };\n}\n\nfunction normalizeVersion(version: string): string {\n const match = version.match(/^(\\d+)\\.(\\d+)\\.\\d+(?:-\\S+)?$/);\n if (!match) {\n throw new Error(`Invalid version format: ${version}`);\n }\n const [_, major, minor] = match;\n return `${major}.${minor}.0`;\n}\n\nexport interface PluginOptions {\n sdkVersion?: string;\n ddkVersion?: string;\n}\nexport function generatePluginConfiguration(\n config: KosConfig,\n options?: PluginOptions\n): any {\n if (options?.sdkVersion) {\n console.log(\"sdkVersion\", options.sdkVersion);\n }\n if (options?.ddkVersion) {\n console.log(\"ddkVersion\", options.ddkVersion);\n }\n const sdkVersion = normalizeVersion(options?.sdkVersion || \"0.2.0\");\n const ddkVersion = normalizeVersion(options?.ddkVersion || \"0.2.0\");\n console.log(`Using DDK version: ${ddkVersion}`);\n console.log(`Using SDK version: ${sdkVersion}`);\n const projectId = config?.name;\n if (!projectId) {\n throw new Error(\n \"kOS Configuration should be added. Project name not found in config\"\n );\n }\n const pluginId = config?.kosdev?.ddk?.ncui?.plugin?.id;\n if (!pluginId) {\n throw new Error(\n \"kOS Configuration should be added. Plugin ID not found in config\"\n );\n }\n const mfConfig = Object.keys(\n config?.kosdev?.ddk?.ncui?.plugin?.contributes?.views || {}\n ).reduce((acc, key) => {\n const views = config.kosdev.ddk.ncui.plugin.contributes.views[key];\n\n views.forEach((view) => {\n acc[`./${view.component}`] = view.location;\n });\n return acc;\n }, {});\n\n Object.values(\n config?.kosdev?.ddk?.ncui?.plugin?.contributes?.experiences || {}\n ).forEach((experience) => {\n mfConfig[`./${experience.component}`] = experience.location;\n });\n\n if (config?.kosdev?.ddk?.ncui?.plugin?.init) {\n mfConfig[\"./InitPlugin\"] = \"./src/app/init.ts\";\n }\n\n return {\n name: projectId,\n exposes: mfConfig,\n library: { type: \"var\", name: pluginId },\n additionalShared: [\n {\n libraryName: \"@kosdev-code/kos-ui-plugin\",\n sharedConfig: {\n singleton: true,\n eager: false,\n requiredVersion: `~${ddkVersion}`,\n },\n },\n {\n libraryName: \"react\",\n sharedConfig: {\n singleton: true,\n eager: false,\n strictVersion: true,\n requiredVersion: \"18.2.0\",\n },\n },\n\n {\n libraryName: \"react-dom\",\n sharedConfig: {\n singleton: true,\n eager: false,\n strictVersion: true,\n requiredVersion: \"18.2.0\",\n },\n },\n {\n libraryName: \"@kosdev-code/kos-ui-sdk\",\n sharedConfig: {\n singleton: true,\n eager: false,\n strictVersion: false,\n requiredVersion: `~${sdkVersion}`,\n },\n },\n {\n libraryName: \"@kosdev-code/kos-dispense-sdk\",\n sharedConfig: {\n singleton: true,\n eager: false,\n strictVersion: false,\n requiredVersion: `~${sdkVersion}`,\n },\n },\n\n {\n libraryName: \"@kosdev-code/kos-freestyle-sdk\",\n sharedConfig: {\n singleton: true,\n eager: false,\n strictVersion: false,\n requiredVersion: `~${sdkVersion}`,\n },\n },\n {\n libraryName: \"@kosdev-code/kos-ddk-components\",\n sharedConfig: {\n singleton: true,\n eager: false,\n strictVersion: false,\n requiredVersion: `~${ddkVersion}`,\n },\n },\n {\n libraryName: \"@kosdev-code/kos-ddk-model-components\",\n sharedConfig: {\n singleton: true,\n eager: false,\n strictVersion: false,\n requiredVersion: `~${ddkVersion}`,\n },\n },\n {\n libraryName: \"@kosdev-code/kos-ddk-models\",\n sharedConfig: {\n singleton: true,\n eager: false,\n strictVersion: false,\n requiredVersion: `~${ddkVersion}`,\n },\n },\n {\n libraryName: \"@kosdev-code/kos-ddk\",\n sharedConfig: {\n singleton: true,\n eager: false,\n strictVersion: false,\n requiredVersion: `~${ddkVersion}`,\n },\n },\n {\n libraryName: \"@kosdev-code/kos-ddk-styles\",\n sharedConfig: {\n singleton: true,\n eager: false,\n strictVersion: false,\n requiredVersion: `~${ddkVersion}`,\n },\n },\n {\n libraryName: \"@emotion/styled\",\n sharedConfig: {\n singleton: true,\n eager: false,\n strictVersion: false,\n requiredVersion: \"~11.11.0\",\n },\n },\n {\n libraryName: \"@emotion/react\",\n sharedConfig: {\n singleton: true,\n eager: false,\n strictVersion: false,\n requiredVersion: \"~11.11.0\",\n },\n },\n {\n libraryName: \"reflect-metadata\",\n sharedConfig: {\n singleton: true,\n eager: false,\n strictVersion: false,\n requiredVersion: \"^0.2.2\",\n },\n },\n {\n libraryName: \"mobx\",\n sharedConfig: {\n singleton: true,\n eager: false,\n strictVersion: false,\n requiredVersion: \"^6.9.0\",\n },\n },\n\n {\n libraryName: \"loglevel\",\n sharedConfig: {\n singleton: true,\n eager: false,\n strictVersion: false,\n requiredVersion: \"^1.8.1\",\n },\n },\n {\n libraryName: \"robot3\",\n sharedConfig: {\n singleton: true,\n eager: false,\n strictVersion: false,\n requiredVersion: \"^0.4.0\",\n },\n },\n {\n libraryName: \"mobx-react-lite\",\n sharedConfig: {\n singleton: true,\n eager: false,\n strictVersion: false,\n requiredVersion: \"^3.4.3\",\n },\n },\n {\n libraryName: \"react-router-dom\",\n sharedConfig: {\n singleton: true,\n eager: false,\n strictVersion: false,\n requiredVersion: \"^6.11.2\",\n },\n },\n {\n libraryName: \"date-fns\",\n sharedConfig: {\n singleton: true,\n eager: false,\n strictVersion: false,\n requiredVersion: \"^2.30.0\",\n },\n },\n {\n libraryName: \"@use-gesture/react\",\n sharedConfig: {\n singleton: true,\n eager: false,\n strictVersion: false,\n requiredVersion: \"^10.3.0\",\n },\n },\n {\n libraryName: \"@react-spring/web\",\n sharedConfig: {\n singleton: true,\n eager: false,\n strictVersion: false,\n requiredVersion: \"^9.7.3\",\n },\n },\n {\n libraryName: \"react-simple-keyboard\",\n sharedConfig: {\n singleton: true,\n eager: false,\n strictVersion: false,\n requiredVersion: \"^3.6.13\",\n },\n },\n ],\n };\n}\n"],"names":["getQueryParams","query","pair","key","val","result","getDefaultHost","defaultHost","params","initializeKosPlugins","props","data","pluginBaseUrl","pluginApiPath","overrides","allRemotes","acc","item","baseUrl","definitions","remote","setRemoteDefinitions","normalizeVersion","version","match","_","major","minor","generatePluginConfiguration","config","options","sdkVersion","ddkVersion","projectId","pluginId","_d","_c","_b","_a","mfConfig","_i","_h","_g","_f","_e","view","_n","_m","_l","_k","_j","experience","_r","_q","_p","_o"],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sources":["../../../../packages/sdk/kos-ui-plugin/src/lib/utils/cui-reducer.ts","../../../../packages/sdk/kos-ui-plugin/src/lib/utils/plugin-reducer.ts","../../../../packages/sdk/kos-ui-plugin/src/lib/utils/dashboard-detail-reducer.ts","../../../../packages/sdk/kos-ui-plugin/src/lib/utils/dashboard-pump-detail-reducer.ts","../../../../packages/sdk/kos-ui-plugin/src/lib/utils/dashboard-reducer.ts","../../../../packages/sdk/kos-ui-plugin/src/lib/utils/dashboard-summary-reducer.ts","../../../../packages/sdk/kos-ui-plugin/src/lib/utils/control-pour-reducer.ts","../../../../packages/sdk/kos-ui-plugin/src/lib/utils/nav-view-reducer.ts","../../../../packages/sdk/kos-ui-plugin/src/lib/utils/settings-reducer.ts","../../../../packages/sdk/kos-ui-plugin/src/lib/utils/setup-reducer.ts","../../../../packages/sdk/kos-ui-plugin/src/lib/utils/state-action-reducer.ts","../../../../packages/sdk/kos-ui-plugin/src/lib/utils/util-reducer.ts","../../../../packages/sdk/kos-ui-plugin/src/lib/utils/plugin-extension-registry-init.ts","../../../../packages/sdk/kos-ui-plugin/src/lib/utils/initialize-plugins.ts","../../../../packages/sdk/kos-ui-plugin/src/lib/utils/process-kos-config.ts"],"sourcesContent":["import type {\n CuiContribution,\n PluginExtensionsType,\n ProcessedContributions,\n} from \"../../types/plugins\";\n\nexport const EXTENSION_POINT_CUI_DEF = \"ddk.cui\";\nexport const EXTENSION_POINT_CUI_VIEW = \"ddk.cui.view\";\nexport const EXTENSION_POINT_CUI = \"ddk.cui.settings.config\";\nexport const cuiReducer =\n (\n experiences: ProcessedContributions[\"experiences\"],\n cuiDefinitions: ProcessedContributions[\"cuiDefinitions\"]\n ) =>\n (acc: PluginExtensionsType, key: string) => {\n const id = key;\n const def = cuiDefinitions[key];\n const view = experiences[def.experienceId] || {};\n acc[EXTENSION_POINT_CUI_DEF] = acc[EXTENSION_POINT_CUI_DEF] || {};\n acc[EXTENSION_POINT_CUI_DEF][id] = {\n id,\n type: \"cui.definition\",\n data: def,\n remote: def.remote,\n sectionId: def.sectionId,\n };\n\n const viewId = view.id;\n if (viewId) {\n acc[EXTENSION_POINT_CUI_VIEW] = acc[EXTENSION_POINT_CUI_VIEW] || {};\n acc[EXTENSION_POINT_CUI_VIEW][id] = {\n id,\n type: \"cui.view\",\n data: view,\n remote: def.remote,\n sectionId: def.sectionId,\n };\n }\n acc[EXTENSION_POINT_CUI] = acc[EXTENSION_POINT_CUI] || {};\n const cuiContribution: CuiContribution = {\n id,\n type: \"cui\",\n data: def,\n view,\n remote: def.remote,\n sectionId: def.sectionId,\n };\n acc[EXTENSION_POINT_CUI][id] = cuiContribution;\n return acc;\n };\n","import type {\n BaseViewPluginExtension,\n PluginExtensionsType,\n ProcessedContributions,\n} from \"../../types/plugins\";\n\nexport const EXTENSION_POINT_SETUP_DEF = \"ddk.setup\";\nexport const EXTENSION_POINT_SETUP_VIEW = \"ddk.setup.view\";\nexport const EXTENSION_POINT_SETUP = \"ddk.ncui.setup.config\";\n\ninterface PluginReducer {\n contributionKey: string;\n basePluginType: string;\n keys: {\n EXTENSION_POINT_DEF?: string;\n EXTENSION_POINT_VIEW?: string;\n EXTENSION_POINT: string;\n };\n}\nexport const pluginReducer =\n ({\n contributionKey,\n basePluginType,\n keys: { EXTENSION_POINT, EXTENSION_POINT_DEF, EXTENSION_POINT_VIEW },\n }: PluginReducer) =>\n (\n experiences: ProcessedContributions[\"experiences\"],\n contributions: ProcessedContributions\n ) =>\n (acc: PluginExtensionsType, key: string) => {\n const id = key;\n const definitions = contributions[contributionKey];\n const def = definitions[key];\n const view = experiences[def.experienceId] || {};\n\n if (EXTENSION_POINT_DEF) {\n acc[EXTENSION_POINT_DEF] = acc[EXTENSION_POINT_DEF] || {};\n acc[EXTENSION_POINT_DEF][id] = {\n id,\n type: `${basePluginType}.definition`,\n data: def,\n remote: def.remote,\n sectionId: def.sectionId,\n };\n }\n const viewId = view.id;\n if (viewId && EXTENSION_POINT_VIEW) {\n acc[EXTENSION_POINT_VIEW] = acc[EXTENSION_POINT_VIEW] || {};\n acc[EXTENSION_POINT_VIEW][id] = {\n id,\n type: `${basePluginType}.view`,\n data: view,\n remote: def.remote,\n sectionId: def.sectionId,\n };\n }\n acc[EXTENSION_POINT] = acc[EXTENSION_POINT] || {};\n const contribution: BaseViewPluginExtension = {\n id,\n type: `${basePluginType}`,\n data: def,\n view,\n remote: def.remote,\n sectionId: def.sectionId,\n };\n acc[EXTENSION_POINT][id] = contribution;\n return acc;\n };\n","import { pluginReducer } from \"./plugin-reducer\";\n\nexport const EXTENSION_POINT_DASHBOARD_DETAIL_DEF = \"ddk.dashboard.detail\";\nexport const EXTENSION_POINT_DASHBOARD_DETAIL_VIEW =\n \"ddk.dashboard.detail.view\";\nexport const EXTENSION_POINT_DASHBOARD_DETAIL =\n \"ddk.ncui.dashboard.detail.config\";\nexport const dashboardDetailReducer = pluginReducer({\n basePluginType: \"dashboard.detail\",\n contributionKey: \"dashboardDetailDefinitions\",\n keys: {\n EXTENSION_POINT: EXTENSION_POINT_DASHBOARD_DETAIL,\n EXTENSION_POINT_DEF: EXTENSION_POINT_DASHBOARD_DETAIL_DEF,\n EXTENSION_POINT_VIEW: EXTENSION_POINT_DASHBOARD_DETAIL_VIEW,\n },\n});\n","import { pluginReducer } from \"./plugin-reducer\";\n\nexport const EXTENSION_POINT_DASHBOARD_PUMP_DETAIL_DEF =\n \"ddk.dashboard.pump.detail\";\nexport const EXTENSION_POINT_DASHBOARD_PUMP_DETAIL_VIEW =\n \"ddk.dashboard.pump.detail.view\";\nexport const EXTENSION_POINT_DASHBOARD_PUMP_DETAIL =\n \"ddk.dashboard.pump.detail.config\";\n\nexport const dashboardPumpDetailReducer = pluginReducer({\n basePluginType: \"dashboard.pump.detail\",\n contributionKey: \"dashboardPumpDetailDefinitions\",\n keys: {\n EXTENSION_POINT: EXTENSION_POINT_DASHBOARD_PUMP_DETAIL,\n EXTENSION_POINT_DEF: EXTENSION_POINT_DASHBOARD_PUMP_DETAIL_DEF,\n EXTENSION_POINT_VIEW: EXTENSION_POINT_DASHBOARD_PUMP_DETAIL_VIEW,\n },\n});\n","import { pluginReducer } from \"./plugin-reducer\";\n\nexport const EXTENSION_POINT_DASHBOARD = \"ddk.ncui.dashboard.config\";\nexport const dashboardReducer = pluginReducer({\n basePluginType: \"dashboard\",\n contributionKey: \"dashboardDefinitions\",\n keys: {\n EXTENSION_POINT: EXTENSION_POINT_DASHBOARD,\n },\n});\n","import { pluginReducer } from \"./plugin-reducer\";\n\nexport const EXTENSION_POINT_DASHBOARD_SUMMARY_DEF = \"ddk.dashboard.summary\";\nexport const EXTENSION_POINT_DASHBOARD_SUMMARY_VIEW =\n \"ddk.dashboard.summary.view\";\nexport const EXTENSION_POINT_DASHBOARD_SUMMARY =\n \"ddk.ncui.dashboard.summary.config\";\nexport const dashboardSummaryReducer = pluginReducer({\n basePluginType: \"dashboard.summary\",\n contributionKey: \"dashboardSummaryDefinitions\",\n keys: {\n EXTENSION_POINT: EXTENSION_POINT_DASHBOARD_SUMMARY,\n EXTENSION_POINT_DEF: EXTENSION_POINT_DASHBOARD_SUMMARY_DEF,\n EXTENSION_POINT_VIEW: EXTENSION_POINT_DASHBOARD_SUMMARY_VIEW,\n },\n});\n","import { pluginReducer } from \"./plugin-reducer\";\n\nexport const EXTENSION_POINT_CONTROL_POUR_DEF = \"cui.control.pour\";\nexport const EXTENSION_POINT_CONTROL_POUR_VIEW = \"cui.control.pour.view\";\nexport const EXTENSION_POINT_CONTROL_POUR = \"cui.control.pour.config\";\n\nexport const controlPourReducer = pluginReducer({\n basePluginType: \"control.pour\",\n contributionKey: \"controlPourDefinitions\",\n keys: {\n EXTENSION_POINT: EXTENSION_POINT_CONTROL_POUR,\n EXTENSION_POINT_DEF: EXTENSION_POINT_CONTROL_POUR_DEF,\n EXTENSION_POINT_VIEW: EXTENSION_POINT_CONTROL_POUR_VIEW,\n },\n});\n","import { pluginReducer } from \"./plugin-reducer\";\n\nexport const EXTENSION_POINT_NAV_VIEW_DEF = \"ddk.nav.view\";\nexport const EXTENSION_POINT_NAV_VIEW_VIEW = \"ddk.nav.view.view\";\nexport const EXTENSION_POINT_NAV_VIEW = \"ddk.ncui.nav.view.config\";\n\nexport const navViewReducer = pluginReducer({\n basePluginType: \"nav.view\",\n contributionKey: \"navViewDefinitions\",\n keys: {\n EXTENSION_POINT: EXTENSION_POINT_NAV_VIEW,\n EXTENSION_POINT_DEF: EXTENSION_POINT_NAV_VIEW_DEF,\n EXTENSION_POINT_VIEW: EXTENSION_POINT_NAV_VIEW_VIEW,\n },\n});\n","import type {\n PluginExtensionsType,\n ProcessedContributions,\n SettingsContribution,\n} from \"../../types/plugins\";\n\nexport const EXTENSION_POINT_SETTINGS_DEF = \"ddk.settings\";\nexport const EXTENSION_POINT_SETTINGS_VIEW = \"ddk.settings.view\";\nexport const EXTENSION_POINT_SETTINGS_GROUP_DEF = \"ddk.settings.group\";\nexport const EXTENSION_POINT_SETTINGS = \"ddk.ncui.settings.config\";\n\nexport const settingsReducer =\n (\n experiences: ProcessedContributions[\"experiences\"],\n settingDefinition: ProcessedContributions[\"settingsDefinitions\"],\n settingsGroupDefinition: ProcessedContributions[\"settingsGroupDefinitions\"]\n ) =>\n (acc: PluginExtensionsType, group: string) => {\n const groupDef = settingsGroupDefinition[group];\n acc[EXTENSION_POINT_SETTINGS_GROUP_DEF] =\n acc[EXTENSION_POINT_SETTINGS_GROUP_DEF] || {};\n acc[EXTENSION_POINT_SETTINGS_GROUP_DEF][group] = {\n id: group,\n type: \"settings.group\",\n data: settingsGroupDefinition[group],\n remote: groupDef.remote,\n sectionId: groupDef.sectionId,\n };\n\n const defKeys = Object.entries(settingDefinition)\n .filter(([, def]) => def.settingsGroup === group)\n .map(([defKey]) => defKey);\n\n defKeys.forEach((key) => {\n const id = key;\n\n const def = settingDefinition[key];\n const view = experiences[def.experienceId] || {};\n acc[EXTENSION_POINT_SETTINGS_GROUP_DEF][group].data.settings = [\n ...acc[EXTENSION_POINT_SETTINGS_GROUP_DEF][group].data.settings,\n id,\n ];\n acc[EXTENSION_POINT_SETTINGS_DEF] =\n acc[EXTENSION_POINT_SETTINGS_DEF] || {};\n acc[EXTENSION_POINT_SETTINGS_DEF][id] = {\n id,\n type: \"settings.definition\",\n data: def,\n remote: def.remote,\n sectionId: def.sectionId,\n };\n\n const viewId = view.id;\n if (viewId) {\n acc[EXTENSION_POINT_SETTINGS_VIEW] =\n acc[EXTENSION_POINT_SETTINGS_VIEW] || {};\n acc[EXTENSION_POINT_SETTINGS_VIEW][id] = {\n id,\n type: \"settings.view\",\n data: view,\n remote: def.remote,\n sectionId: def.sectionId,\n };\n }\n acc[EXTENSION_POINT_SETTINGS] = acc[EXTENSION_POINT_SETTINGS] || {};\n const settginsContribution: SettingsContribution = {\n id,\n type: \"settings\",\n data: def,\n view,\n remote: def.remote,\n sectionId: def.sectionId,\n };\n acc[EXTENSION_POINT_SETTINGS][id] = settginsContribution;\n });\n\n return acc;\n };\n","import type {\n PluginExtensionsType,\n ProcessedContributions,\n SetupContribution,\n} from \"../../types/plugins\";\n\nexport const EXTENSION_POINT_SETUP_DEF = \"ddk.setup\";\nexport const EXTENSION_POINT_SETUP_VIEW = \"ddk.setup.view\";\nexport const EXTENSION_POINT_SETUP = \"ddk.ncui.setup.config\";\n\nexport const setupReducer =\n (\n experiences: ProcessedContributions[\"experiences\"],\n setupDefinitions: ProcessedContributions[\"setupDefinitions\"]\n ) =>\n (acc: PluginExtensionsType, key: string) => {\n const id = key;\n const def = setupDefinitions[key];\n const view = experiences[def.experienceId] || {};\n acc[EXTENSION_POINT_SETUP_DEF] = acc[EXTENSION_POINT_SETUP_DEF] || {};\n acc[EXTENSION_POINT_SETUP_DEF][id] = {\n id,\n type: \"setup.definition\",\n data: def,\n remote: def.remote,\n sectionId: def.sectionId,\n };\n\n const viewId = view.id;\n if (viewId) {\n acc[EXTENSION_POINT_SETUP_VIEW] = acc[EXTENSION_POINT_SETUP_VIEW] || {};\n acc[EXTENSION_POINT_SETUP_VIEW][id] = {\n id,\n type: \"setup.view\",\n data: view,\n remote: def.remote,\n sectionId: def.sectionId,\n };\n }\n acc[EXTENSION_POINT_SETUP] = acc[EXTENSION_POINT_SETUP] || {};\n const setupContribution: SetupContribution = {\n id,\n type: \"setup\",\n data: def,\n view,\n remote: def.remote,\n sectionId: def.sectionId,\n };\n acc[EXTENSION_POINT_SETUP][id] = setupContribution;\n return acc;\n };\n","import { pluginReducer } from \"./plugin-reducer\";\n\nexport const EXTENSION_POINT_TROUBLE_ACTION_DEF = \"ddk.trouble.action\";\nexport const EXTENSION_POINT_TROUBLE_ACTION_VIEW = \"ddk.trouble.action.view\";\nexport const EXTENSION_POINT_TROUBLE_ACTION = \"ddk.ncui.trouble.action.config\";\n\nexport const troubleActionReducer = pluginReducer({\n basePluginType: \"trouble.action\",\n contributionKey: \"troubleActionDefinitions\",\n keys: {\n EXTENSION_POINT: EXTENSION_POINT_TROUBLE_ACTION,\n EXTENSION_POINT_DEF: EXTENSION_POINT_TROUBLE_ACTION_DEF,\n EXTENSION_POINT_VIEW: EXTENSION_POINT_TROUBLE_ACTION_VIEW,\n },\n});\n","import type {\n PluginExtensionsType,\n ProcessedContributions,\n UtilContribution,\n} from \"../../types/plugins\";\n\nexport const EXTENSION_POINT_UTIL_DEF = \"ddk.utilities\";\nexport const EXTENSION_POINT_UTIL_VIEW = \"ddk.utilities.view\";\nexport const EXTENSION_POINT_UTIL = \"ddk.ncui.utils.config\";\nexport const utilReducer =\n (\n experiences: ProcessedContributions[\"experiences\"],\n utilDefinitions: ProcessedContributions[\"utilDefinitions\"]\n ) =>\n (acc: PluginExtensionsType, key: string) => {\n const id = key;\n const def = utilDefinitions[key];\n const view = experiences[def.experienceId] || {};\n acc[EXTENSION_POINT_UTIL_DEF] = acc[EXTENSION_POINT_UTIL_DEF] || {};\n acc[EXTENSION_POINT_UTIL_DEF][id] = {\n id,\n type: \"utility.definition\",\n data: def,\n remote: def.remote,\n sectionId: def.sectionId,\n };\n\n const viewId = view.id;\n if (viewId) {\n acc[EXTENSION_POINT_UTIL_VIEW] = acc[EXTENSION_POINT_UTIL_VIEW] || {};\n acc[EXTENSION_POINT_UTIL_VIEW][id] = {\n id,\n type: \"utilities.view\",\n data: view,\n remote: def.remote,\n sectionId: def.sectionId,\n };\n }\n acc[EXTENSION_POINT_UTIL] = acc[EXTENSION_POINT_UTIL] || {};\n const utilContribution: UtilContribution = {\n id,\n type: \"utility\",\n data: def,\n view,\n remote: def.remote,\n sectionId: def.sectionId,\n };\n acc[EXTENSION_POINT_UTIL][id] = utilContribution;\n\n return acc;\n };\n","// plugin-extension-registry-init.ts\nimport { controlPourReducer } from \"./control-pour-reducer\";\nimport { cuiReducer } from \"./cui-reducer\";\nimport { dashboardDetailReducer } from \"./dashboard-detail-reducer\";\nimport { dashboardPumpDetailReducer } from \"./dashboard-pump-detail-reducer\";\nimport { dashboardReducer } from \"./dashboard-reducer\";\nimport { dashboardSummaryReducer } from \"./dashboard-summary-reducer\";\nimport { navViewReducer } from \"./nav-view-reducer\";\nimport { registerExtensionReducer } from \"./plugin-extension-registry\";\nimport { settingsReducer } from \"./settings-reducer\";\nimport { setupReducer } from \"./setup-reducer\";\nimport { troubleActionReducer } from \"./state-action-reducer\";\nimport { utilReducer } from \"./util-reducer\";\n\nregisterExtensionReducer((acc, c, e) =>\n Object.keys(c.cuiDefinitions).reduce(cuiReducer(e, c.cuiDefinitions), acc)\n);\nregisterExtensionReducer((acc, c, e) =>\n Object.keys(c.utilDefinitions).reduce(utilReducer(e, c.utilDefinitions), acc)\n);\nregisterExtensionReducer((acc, c, e) =>\n Object.keys(c.setupDefinitions).reduce(\n setupReducer(e, c.setupDefinitions),\n acc\n )\n);\nregisterExtensionReducer((acc, c, e) =>\n Object.keys(c.troubleActionDefinitions).reduce(\n troubleActionReducer(e, c),\n acc\n )\n);\nregisterExtensionReducer((acc, c, e) =>\n Object.keys(c.navViewDefinitions).reduce(navViewReducer(e, c), acc)\n);\nregisterExtensionReducer((acc, c, e) =>\n Object.keys(c.dashboardSummaryDefinitions).reduce(\n dashboardSummaryReducer(e, c),\n acc\n )\n);\nregisterExtensionReducer((acc, c, e) =>\n Object.keys(c.dashboardDetailDefinitions).reduce(\n dashboardDetailReducer(e, c),\n acc\n )\n);\nregisterExtensionReducer((acc, c, e) =>\n Object.keys(c.dashboardPumpDetailDefinitions).reduce(\n dashboardPumpDetailReducer(e, c),\n acc\n )\n);\nregisterExtensionReducer((acc, c, e) =>\n Object.keys(c.dashboardDefinitions).reduce(dashboardReducer(e, c), acc)\n);\nregisterExtensionReducer((acc, c, e) =>\n Object.keys(c.settingsGroupDefinitions).reduce(\n settingsReducer(e, c.settingsDefinitions, c.settingsGroupDefinitions),\n acc\n )\n);\n\nregisterExtensionReducer((acc, c, e) =>\n Object.keys(c.controlPourDefinitions).reduce(controlPourReducer(e, c), acc)\n);\n","import { setRemoteDefinitions } from \"@nx/react/mf\";\nimport type { Contributions, DynamicRemotes } from \"../../types/global\";\nimport type {\n PluginExtension,\n PluginExtensionsType,\n} from \"../../types/plugins\";\nimport \"./plugin-extension-registry-init\";\n\ndeclare interface KosPluginsType {\n __dynamicRemotes: DynamicRemotes;\n __extensions?: PluginExtensionsType;\n extensions?: Record<string, PluginExtension[]>;\n}\ndeclare global {\n interface Window {\n KosPlugins: KosPluginsType;\n }\n}\n\nexport interface Extensions {\n extensionPointId: string;\n id: string;\n component: string;\n}\n\nexport interface Descriptor {\n id: string;\n baseUrl: string;\n descriptor: {\n id: string;\n extensions: Extensions[];\n contributes: Contributions;\n };\n}\n\ninterface KosPluginsProps {\n pluginBaseUrl?: string;\n pluginApiPath?: string;\n overrides?: Record<string, string>;\n}\n\n/**\n * Parses the query string from the URL or a provided string and returns an object\n * representing the key-value pairs in the query string.\n *\n * @param query - An optional query string to parse. If not provided, the function\n * will use the current window's `location.search` string.\n * The query string should not include the leading \"?\" character.\n *\n * @returns An object where each key is a parameter name from the query string,\n * and each value is the corresponding decoded parameter value.\n *\n * @example\n * // Assuming the URL is: https://example.com/?name=John&age=30\n * getQueryParams();\n * // Returns: { name: \"John\", age: \"30\" }\n *\n * @example\n * getQueryParams(\"foo=bar&baz=qux\");\n * // Returns: { foo: \"bar\", baz: \"qux\" }\n */\nexport const getQueryParams = (query = null) =>\n (query || window.location.search.replace(\"?\", \"\"))\n\n // get array of KeyValue pairs\n .split(\"&\")\n\n // Decode values\n .map((pair) => {\n const [key, val] = pair.split(\"=\");\n\n return [key, decodeURIComponent(val || \"\")];\n })\n\n // array to object\n .reduce((result, [key, val]) => {\n result[key] = val;\n return result;\n }, {});\n\nconst getDefaultHost = () => {\n const defaultHost = window.location.origin;\n const params = getQueryParams();\n const hostUrl = (params as any)?.host;\n const result = hostUrl || defaultHost;\n return result;\n};\n// eslint-disable-next-line no-restricted-globals\n\n/**\n * Initializes KOS plugins by fetching plugin metadata and configuring dynamic remotes.\n *\n * @param props - Optional properties to configure the plugin initialization.\n * @param props.pluginBaseUrl - The base URL for the plugins. Defaults to the result of `getDefaultHost()`.\n * @param props.pluginApiPath - The API path to fetch plugin metadata. Defaults to `\"/api/app/kosdev.ddk/ncui/plugins\"`.\n * @param props.overrides - An object containing overrides for plugin base URLs, keyed by plugin ID.\n *\n * @returns A promise that resolves to a record of remote definitions, where the keys are remote IDs\n * and the values are the corresponding base paths for the remote entries.\n *\n * @remarks\n * - This function fetches plugin metadata from the specified API endpoint and processes the data\n * to configure dynamic remotes for the KOS plugin system.\n * - If a plugin does not have a descriptor, an error is logged to the console.\n * - The remote definitions are also set using the `setRemoteDefinitions` function.\n *\n * @throws Will throw an error if the fetch request fails or if the response cannot be parsed as JSON.\n */\nexport const initializeKosPlugins = async (props?: KosPluginsProps) => {\n const defaultHost = getDefaultHost();\n const data = props ?? {};\n const {\n pluginBaseUrl = defaultHost,\n pluginApiPath = \"/api/app/kosdev.ddk/ncui/plugins\",\n overrides = {},\n } = data;\n const plugins = await fetch(`${pluginBaseUrl}${pluginApiPath}`);\n const remotes = await plugins.json();\n const allRemotes = remotes.data.reduce((acc, item) => {\n const baseUrl = overrides?.[item.id] ?? `${pluginBaseUrl}${item.baseUrl}`;\n if (item.descriptor) {\n acc[item.id] = {\n basePath: `${baseUrl}remoteEntry.js`,\n extensions: item.descriptor.extensions,\n contributes: item.descriptor.contributes,\n remote: item.descriptor.id,\n init: !!item.descriptor.init,\n };\n } else {\n console.error(\n `initialize-plugins: Plugin ${item.id} does not have a descriptor`\n );\n }\n return acc;\n }, {} as DynamicRemotes);\n window.KosPlugins = window.KosPlugins || {};\n window.KosPlugins.__dynamicRemotes = allRemotes;\n const definitions = Object.keys(allRemotes).reduce((acc, item) => {\n const remote = allRemotes[item].remote;\n acc[remote] = allRemotes[item].basePath;\n return acc;\n }, {} as Record<string, string>);\n setRemoteDefinitions(definitions);\n return definitions;\n};\n","/* eslint-disable max-lines-per-function */\nimport type { Contributions } from \"../../types/global\";\n\ninterface KosConfigView {\n id: string;\n title: string;\n component: string;\n location: string;\n}\ninterface KosConfig {\n name: string;\n kosdev: {\n ddk: {\n ncui: {\n plugin: {\n id: string;\n init?: boolean;\n contributes: Contributions;\n };\n };\n };\n };\n}\n\nfunction normalizeVersion(version: string): string {\n const match = version.match(/^(\\d+)\\.(\\d+)\\.\\d+(?:-\\S+)?$/);\n if (!match) {\n throw new Error(`Invalid version format: ${version}`);\n }\n const [_, major, minor] = match;\n return `${major}.${minor}.0`;\n}\n\nexport interface PluginOptions {\n sdkVersion?: string;\n ddkVersion?: string;\n}\nexport function generatePluginConfiguration(\n config: KosConfig,\n options?: PluginOptions\n): any {\n if (options?.sdkVersion) {\n console.log(\"sdkVersion\", options.sdkVersion);\n }\n if (options?.ddkVersion) {\n console.log(\"ddkVersion\", options.ddkVersion);\n }\n const sdkVersion = normalizeVersion(options?.sdkVersion || \"0.2.0\");\n const ddkVersion = normalizeVersion(options?.ddkVersion || \"0.2.0\");\n console.log(`Using DDK version: ${ddkVersion}`);\n console.log(`Using SDK version: ${sdkVersion}`);\n const projectId = config?.name;\n if (!projectId) {\n throw new Error(\n \"KOS Configuration should be added. Project name not found in config\"\n );\n }\n const pluginId = config?.kosdev?.ddk?.ncui?.plugin?.id;\n if (!pluginId) {\n throw new Error(\n \"KOS Configuration should be added. Plugin ID not found in config\"\n );\n }\n const mfConfig = Object.keys(\n config?.kosdev?.ddk?.ncui?.plugin?.contributes?.views || {}\n ).reduce((acc, key) => {\n const views = config.kosdev.ddk.ncui.plugin.contributes.views[key];\n\n views.forEach((view) => {\n acc[`./${view.component}`] = view.location;\n });\n return acc;\n }, {});\n\n Object.values(\n config?.kosdev?.ddk?.ncui?.plugin?.contributes?.experiences || {}\n ).forEach((experience) => {\n mfConfig[`./${experience.component}`] = experience.location;\n });\n\n if (config?.kosdev?.ddk?.ncui?.plugin?.init) {\n mfConfig[\"./InitPlugin\"] = \"./src/app/init.ts\";\n }\n\n return {\n name: projectId,\n exposes: mfConfig,\n library: { type: \"var\", name: pluginId },\n additionalShared: [\n {\n libraryName: \"@kosdev-code/kos-ui-plugin\",\n sharedConfig: {\n singleton: true,\n eager: false,\n requiredVersion: `~${ddkVersion}`,\n },\n },\n {\n libraryName: \"react\",\n sharedConfig: {\n singleton: true,\n eager: false,\n strictVersion: true,\n requiredVersion: \"18.2.0\",\n },\n },\n\n {\n libraryName: \"react-dom\",\n sharedConfig: {\n singleton: true,\n eager: false,\n strictVersion: true,\n requiredVersion: \"18.2.0\",\n },\n },\n {\n libraryName: \"@kosdev-code/kos-ui-sdk\",\n sharedConfig: {\n singleton: true,\n eager: false,\n strictVersion: false,\n requiredVersion: `~${sdkVersion}`,\n },\n },\n {\n libraryName: \"@kosdev-code/kos-dispense-sdk\",\n sharedConfig: {\n singleton: true,\n eager: false,\n strictVersion: false,\n requiredVersion: `~${sdkVersion}`,\n },\n },\n\n {\n libraryName: \"@kosdev-code/kos-freestyle-sdk\",\n sharedConfig: {\n singleton: true,\n eager: false,\n strictVersion: false,\n requiredVersion: `~${sdkVersion}`,\n },\n },\n {\n libraryName: \"@kosdev-code/kos-ddk-components\",\n sharedConfig: {\n singleton: true,\n eager: false,\n strictVersion: false,\n requiredVersion: `~${ddkVersion}`,\n },\n },\n {\n libraryName: \"@kosdev-code/kos-ddk-model-components\",\n sharedConfig: {\n singleton: true,\n eager: false,\n strictVersion: false,\n requiredVersion: `~${ddkVersion}`,\n },\n },\n {\n libraryName: \"@kosdev-code/kos-ddk-models\",\n sharedConfig: {\n singleton: true,\n eager: false,\n strictVersion: false,\n requiredVersion: `~${ddkVersion}`,\n },\n },\n {\n libraryName: \"@kosdev-code/kos-ddk\",\n sharedConfig: {\n singleton: true,\n eager: false,\n strictVersion: false,\n requiredVersion: `~${ddkVersion}`,\n },\n },\n {\n libraryName: \"@kosdev-code/kos-ddk-styles\",\n sharedConfig: {\n singleton: true,\n eager: false,\n strictVersion: false,\n requiredVersion: `~${ddkVersion}`,\n },\n },\n {\n libraryName: \"@emotion/styled\",\n sharedConfig: {\n singleton: true,\n eager: false,\n strictVersion: false,\n requiredVersion: \"~11.11.0\",\n },\n },\n {\n libraryName: \"@emotion/react\",\n sharedConfig: {\n singleton: true,\n eager: false,\n strictVersion: false,\n requiredVersion: \"~11.11.0\",\n },\n },\n {\n libraryName: \"reflect-metadata\",\n sharedConfig: {\n singleton: true,\n eager: false,\n strictVersion: false,\n requiredVersion: \"^0.2.2\",\n },\n },\n {\n libraryName: \"mobx\",\n sharedConfig: {\n singleton: true,\n eager: false,\n strictVersion: false,\n requiredVersion: \"^6.9.0\",\n },\n },\n\n {\n libraryName: \"loglevel\",\n sharedConfig: {\n singleton: true,\n eager: false,\n strictVersion: false,\n requiredVersion: \"^1.8.1\",\n },\n },\n {\n libraryName: \"robot3\",\n sharedConfig: {\n singleton: true,\n eager: false,\n strictVersion: false,\n requiredVersion: \"^0.4.0\",\n },\n },\n {\n libraryName: \"mobx-react-lite\",\n sharedConfig: {\n singleton: true,\n eager: false,\n strictVersion: false,\n requiredVersion: \"^3.4.3\",\n },\n },\n {\n libraryName: \"react-router-dom\",\n sharedConfig: {\n singleton: true,\n eager: false,\n strictVersion: false,\n requiredVersion: \"^6.11.2\",\n },\n },\n {\n libraryName: \"date-fns\",\n sharedConfig: {\n singleton: true,\n eager: false,\n strictVersion: false,\n requiredVersion: \"^2.30.0\",\n },\n },\n {\n libraryName: \"@use-gesture/react\",\n sharedConfig: {\n singleton: true,\n eager: false,\n strictVersion: false,\n requiredVersion: \"^10.3.0\",\n },\n },\n {\n libraryName: \"@react-spring/web\",\n sharedConfig: {\n singleton: true,\n eager: false,\n strictVersion: false,\n requiredVersion: \"^9.7.3\",\n },\n },\n {\n libraryName: \"react-simple-keyboard\",\n sharedConfig: {\n singleton: true,\n eager: false,\n strictVersion: false,\n requiredVersion: \"^3.6.13\",\n },\n },\n ],\n };\n}\n"],"names":["EXTENSION_POINT_CUI_DEF","EXTENSION_POINT_CUI_VIEW","EXTENSION_POINT_CUI","cuiReducer","experiences","cuiDefinitions","acc","key","id","def","view","cuiContribution","pluginReducer","contributionKey","basePluginType","EXTENSION_POINT","EXTENSION_POINT_DEF","EXTENSION_POINT_VIEW","contributions","contribution","EXTENSION_POINT_DASHBOARD_DETAIL_DEF","EXTENSION_POINT_DASHBOARD_DETAIL_VIEW","EXTENSION_POINT_DASHBOARD_DETAIL","dashboardDetailReducer","EXTENSION_POINT_DASHBOARD_PUMP_DETAIL_DEF","EXTENSION_POINT_DASHBOARD_PUMP_DETAIL_VIEW","EXTENSION_POINT_DASHBOARD_PUMP_DETAIL","dashboardPumpDetailReducer","EXTENSION_POINT_DASHBOARD","dashboardReducer","EXTENSION_POINT_DASHBOARD_SUMMARY_DEF","EXTENSION_POINT_DASHBOARD_SUMMARY_VIEW","EXTENSION_POINT_DASHBOARD_SUMMARY","dashboardSummaryReducer","EXTENSION_POINT_CONTROL_POUR_DEF","EXTENSION_POINT_CONTROL_POUR_VIEW","EXTENSION_POINT_CONTROL_POUR","controlPourReducer","EXTENSION_POINT_NAV_VIEW_DEF","EXTENSION_POINT_NAV_VIEW_VIEW","EXTENSION_POINT_NAV_VIEW","navViewReducer","EXTENSION_POINT_SETTINGS_DEF","EXTENSION_POINT_SETTINGS_VIEW","EXTENSION_POINT_SETTINGS_GROUP_DEF","EXTENSION_POINT_SETTINGS","settingsReducer","settingDefinition","settingsGroupDefinition","group","groupDef","defKey","settginsContribution","EXTENSION_POINT_SETUP_DEF","EXTENSION_POINT_SETUP_VIEW","EXTENSION_POINT_SETUP","setupReducer","setupDefinitions","setupContribution","EXTENSION_POINT_TROUBLE_ACTION_DEF","EXTENSION_POINT_TROUBLE_ACTION_VIEW","EXTENSION_POINT_TROUBLE_ACTION","troubleActionReducer","EXTENSION_POINT_UTIL_DEF","EXTENSION_POINT_UTIL_VIEW","EXTENSION_POINT_UTIL","utilReducer","utilDefinitions","utilContribution","registerExtensionReducer","c","e","getQueryParams","query","pair","val","result","getDefaultHost","defaultHost","params","initializeKosPlugins","props","data","pluginBaseUrl","pluginApiPath","overrides","allRemotes","item","baseUrl","definitions","remote","setRemoteDefinitions","normalizeVersion","version","match","_","major","minor","generatePluginConfiguration","config","options","sdkVersion","ddkVersion","projectId","pluginId","_d","_c","_b","_a","mfConfig","_i","_h","_g","_f","_e","_n","_m","_l","_k","_j","experience","_r","_q","_p","_o"],"mappings":"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"}