@kosdev-code/kos-ui-plugin 2.0.41 → 2.1.1
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/documentation-generator-B8FuhDjB.js +1271 -0
- package/documentation-generator-B8FuhDjB.js.map +1 -0
- package/documentation-generator-E9tFyId_.cjs +266 -0
- package/documentation-generator-E9tFyId_.cjs.map +1 -0
- package/index.cjs +412 -4
- package/index.cjs.map +1 -1
- package/index.d.ts +1 -1
- package/index.d.ts.map +1 -1
- package/index.js +2179 -64
- package/index.js.map +1 -1
- package/lib/components/dynamic-component/dynamic-component.d.ts.map +1 -1
- package/lib/components/dynamic-component/error-boundary.d.ts +17 -0
- package/lib/components/dynamic-component/error-boundary.d.ts.map +1 -0
- package/lib/components/index.d.ts +1 -0
- package/lib/components/index.d.ts.map +1 -1
- package/lib/components/plugin-explorer/extension-point-list.d.ts +13 -0
- package/lib/components/plugin-explorer/extension-point-list.d.ts.map +1 -0
- package/lib/components/plugin-explorer/floating-plugin-explorer.d.ts +13 -0
- package/lib/components/plugin-explorer/floating-plugin-explorer.d.ts.map +1 -0
- package/lib/components/plugin-explorer/index.d.ts +10 -0
- package/lib/components/plugin-explorer/index.d.ts.map +1 -0
- package/lib/components/plugin-explorer/plugin-card.d.ts +10 -0
- package/lib/components/plugin-explorer/plugin-card.d.ts.map +1 -0
- package/lib/components/plugin-explorer/plugin-explorer.d.ts +12 -0
- package/lib/components/plugin-explorer/plugin-explorer.d.ts.map +1 -0
- package/lib/components/plugin-explorer/plugin-health-dashboard.d.ts +9 -0
- package/lib/components/plugin-explorer/plugin-health-dashboard.d.ts.map +1 -0
- package/lib/hooks/index.d.ts +3 -0
- package/lib/hooks/index.d.ts.map +1 -1
- package/lib/hooks/use-extension-component.d.ts +21 -0
- package/lib/hooks/use-extension-component.d.ts.map +1 -0
- package/lib/hooks/use-plugin-discovery.d.ts +23 -0
- package/lib/hooks/use-plugin-discovery.d.ts.map +1 -0
- package/lib/hooks/use-typed-extensions.d.ts +152 -0
- package/lib/hooks/use-typed-extensions.d.ts.map +1 -0
- package/lib/utils/discovery/documentation-generator.d.ts +85 -0
- package/lib/utils/discovery/documentation-generator.d.ts.map +1 -0
- package/lib/utils/discovery/plugin-discovery-service.d.ts +109 -0
- package/lib/utils/discovery/plugin-discovery-service.d.ts.map +1 -0
- package/lib/utils/extension-points/define-extension-point.d.ts +58 -0
- package/lib/utils/extension-points/define-extension-point.d.ts.map +1 -0
- package/lib/utils/extension-points/example-extension-point.d.ts +67 -0
- package/lib/utils/extension-points/example-extension-point.d.ts.map +1 -0
- package/lib/utils/extension-points/extension-point-registry.d.ts +34 -0
- package/lib/utils/extension-points/extension-point-registry.d.ts.map +1 -0
- package/lib/utils/extension-points/extension-point-schema.d.ts +9 -0
- package/lib/utils/extension-points/extension-point-schema.d.ts.map +1 -0
- package/lib/utils/extension-points/extension-point-schemas.d.ts +92 -0
- package/lib/utils/extension-points/extension-point-schemas.d.ts.map +1 -0
- package/lib/utils/extension-points/extension-point-transforms.d.ts +21 -0
- package/lib/utils/extension-points/extension-point-transforms.d.ts.map +1 -0
- package/lib/utils/extension-points/extension-point-types.d.ts +162 -0
- package/lib/utils/extension-points/extension-point-types.d.ts.map +1 -0
- package/lib/utils/extension-points/extension-point-validation.d.ts +43 -0
- package/lib/utils/extension-points/extension-point-validation.d.ts.map +1 -0
- package/lib/utils/index.d.ts +9 -15
- package/lib/utils/index.d.ts.map +1 -1
- package/lib/utils/{plugin-extension-manager.d.ts → plugin-system/plugin-extension-manager.d.ts} +3 -5
- package/lib/utils/plugin-system/plugin-extension-manager.d.ts.map +1 -0
- package/lib/utils/plugin-system/plugin-extension-registry-init.d.ts +2 -0
- package/lib/utils/plugin-system/plugin-extension-registry-init.d.ts.map +1 -0
- package/lib/utils/{plugin-extension-registry.d.ts → plugin-system/plugin-extension-registry.d.ts} +1 -1
- package/lib/utils/plugin-system/plugin-extension-registry.d.ts.map +1 -0
- package/lib/utils/{plugin-reducer.d.ts → plugin-system/plugin-reducer.d.ts} +1 -1
- package/lib/utils/plugin-system/plugin-reducer.d.ts.map +1 -0
- package/lib/utils/{resolve-best-extension.d.ts → plugin-system/resolve-best-extension.d.ts} +1 -1
- package/lib/utils/plugin-system/resolve-best-extension.d.ts.map +1 -0
- package/lib/utils/processors/contribution-reducer.d.ts +5 -0
- package/lib/utils/processors/contribution-reducer.d.ts.map +1 -0
- package/lib/utils/{initialize-plugins.d.ts → processors/initialize-plugins.d.ts} +2 -2
- package/lib/utils/processors/initialize-plugins.d.ts.map +1 -0
- package/lib/utils/processors/initialize-simplified-extensions.d.ts +13 -0
- package/lib/utils/processors/initialize-simplified-extensions.d.ts.map +1 -0
- package/lib/utils/{process-kos-config.d.ts → processors/process-kos-config.d.ts} +1 -1
- package/lib/utils/processors/process-kos-config.d.ts.map +1 -0
- package/lib/utils/processors/simplified-contribution-processor.d.ts +14 -0
- package/lib/utils/processors/simplified-contribution-processor.d.ts.map +1 -0
- package/package.json +2 -7
- package/types/global.d.ts +0 -62
- package/types/plugins.d.ts +3 -127
- package/utils.cjs +1 -1
- package/utils.cjs.map +1 -1
- package/utils.js +99 -82
- package/utils.js.map +1 -1
- package/dev.cjs +0 -57
- package/dev.cjs.map +0 -1
- package/dev.js +0 -403
- package/dev.js.map +0 -1
- package/emotion-react-jsx-runtime.browser.esm-0ViwU5Kh.cjs +0 -17
- package/emotion-react-jsx-runtime.browser.esm-0ViwU5Kh.cjs.map +0 -1
- package/emotion-react-jsx-runtime.browser.esm-70CdOW1e.js +0 -1065
- package/emotion-react-jsx-runtime.browser.esm-70CdOW1e.js.map +0 -1
- package/lib/dev/components/dynamic-view/dynamic-component-view.d.ts +0 -9
- package/lib/dev/components/dynamic-view/dynamic-component-view.d.ts.map +0 -1
- package/lib/dev/components/dynamic-view/dynamic-container.d.ts +0 -8
- package/lib/dev/components/dynamic-view/dynamic-container.d.ts.map +0 -1
- package/lib/dev/components/dynamic-view/dynamic-view-basic.d.ts +0 -13
- package/lib/dev/components/dynamic-view/dynamic-view-basic.d.ts.map +0 -1
- package/lib/dev/components/dynamic-view/dynamic-view-modal.d.ts +0 -15
- package/lib/dev/components/dynamic-view/dynamic-view-modal.d.ts.map +0 -1
- package/lib/dev/components/dynamic-view/dynamic-view-picker.d.ts +0 -9
- package/lib/dev/components/dynamic-view/dynamic-view-picker.d.ts.map +0 -1
- package/lib/dev/components/dynamic-view/dynamic-view-settings.d.ts +0 -15
- package/lib/dev/components/dynamic-view/dynamic-view-settings.d.ts.map +0 -1
- package/lib/dev/components/dynamic-view/dynamic-view-utilities.d.ts +0 -15
- package/lib/dev/components/dynamic-view/dynamic-view-utilities.d.ts.map +0 -1
- package/lib/dev/components/dynamic-view/index.d.ts +0 -8
- package/lib/dev/components/dynamic-view/index.d.ts.map +0 -1
- package/lib/dev/components/index.d.ts +0 -4
- package/lib/dev/components/index.d.ts.map +0 -1
- package/lib/dev/components/shell/header/header.d.ts +0 -2
- package/lib/dev/components/shell/header/header.d.ts.map +0 -1
- package/lib/dev/components/shell/header/index.d.ts +0 -2
- package/lib/dev/components/shell/header/index.d.ts.map +0 -1
- package/lib/dev/components/shell/index.d.ts +0 -3
- package/lib/dev/components/shell/index.d.ts.map +0 -1
- package/lib/dev/components/shell/shell.d.ts +0 -10
- package/lib/dev/components/shell/shell.d.ts.map +0 -1
- package/lib/dev/components/storybook/control-pour-story-container/control-pour-story-container.d.ts +0 -8
- package/lib/dev/components/storybook/control-pour-story-container/control-pour-story-container.d.ts.map +0 -1
- package/lib/dev/components/storybook/control-pour-story-container/index.d.ts +0 -2
- package/lib/dev/components/storybook/control-pour-story-container/index.d.ts.map +0 -1
- package/lib/dev/components/storybook/cui-story-container/cui-story-container.d.ts +0 -8
- package/lib/dev/components/storybook/cui-story-container/cui-story-container.d.ts.map +0 -1
- package/lib/dev/components/storybook/cui-story-container/index.d.ts +0 -2
- package/lib/dev/components/storybook/cui-story-container/index.d.ts.map +0 -1
- package/lib/dev/components/storybook/index.d.ts +0 -7
- package/lib/dev/components/storybook/index.d.ts.map +0 -1
- package/lib/dev/components/storybook/nav-story-container/index.d.ts +0 -2
- package/lib/dev/components/storybook/nav-story-container/index.d.ts.map +0 -1
- package/lib/dev/components/storybook/nav-story-container/nav-story-container.d.ts +0 -8
- package/lib/dev/components/storybook/nav-story-container/nav-story-container.d.ts.map +0 -1
- package/lib/dev/components/storybook/setting-story-container/index.d.ts +0 -2
- package/lib/dev/components/storybook/setting-story-container/index.d.ts.map +0 -1
- package/lib/dev/components/storybook/setting-story-container/setting-story-container.d.ts +0 -8
- package/lib/dev/components/storybook/setting-story-container/setting-story-container.d.ts.map +0 -1
- package/lib/dev/components/storybook/setup-step-story-container/index.d.ts +0 -2
- package/lib/dev/components/storybook/setup-step-story-container/index.d.ts.map +0 -1
- package/lib/dev/components/storybook/setup-step-story-container/setup-step-story-container.d.ts +0 -8
- package/lib/dev/components/storybook/setup-step-story-container/setup-step-story-container.d.ts.map +0 -1
- package/lib/dev/components/storybook/utility-story-container/index.d.ts +0 -2
- package/lib/dev/components/storybook/utility-story-container/index.d.ts.map +0 -1
- package/lib/dev/components/storybook/utility-story-container/utility-story-container.d.ts +0 -8
- package/lib/dev/components/storybook/utility-story-container/utility-story-container.d.ts.map +0 -1
- package/lib/dev/index.d.ts +0 -3
- package/lib/dev/index.d.ts.map +0 -1
- package/lib/dev/utils/index.d.ts +0 -2
- package/lib/dev/utils/index.d.ts.map +0 -1
- package/lib/dev/utils/kos-metadata-parser.d.ts +0 -6
- package/lib/dev/utils/kos-metadata-parser.d.ts.map +0 -1
- package/lib/dev/utils/normalize.d.ts +0 -2
- package/lib/dev/utils/normalize.d.ts.map +0 -1
- package/lib/utils/contribution-reducer.d.ts +0 -5
- package/lib/utils/contribution-reducer.d.ts.map +0 -1
- package/lib/utils/control-pour-reducer.d.ts +0 -5
- package/lib/utils/control-pour-reducer.d.ts.map +0 -1
- package/lib/utils/cui-reducer.d.ts +0 -7
- package/lib/utils/cui-reducer.d.ts.map +0 -1
- package/lib/utils/dashboard-detail-reducer.d.ts +0 -5
- package/lib/utils/dashboard-detail-reducer.d.ts.map +0 -1
- package/lib/utils/dashboard-pump-detail-reducer.d.ts +0 -5
- package/lib/utils/dashboard-pump-detail-reducer.d.ts.map +0 -1
- package/lib/utils/dashboard-reducer.d.ts +0 -3
- package/lib/utils/dashboard-reducer.d.ts.map +0 -1
- package/lib/utils/dashboard-summary-reducer.d.ts +0 -5
- package/lib/utils/dashboard-summary-reducer.d.ts.map +0 -1
- package/lib/utils/initialize-plugins.d.ts.map +0 -1
- package/lib/utils/nav-view-reducer.d.ts +0 -5
- package/lib/utils/nav-view-reducer.d.ts.map +0 -1
- package/lib/utils/plugin-extension-manager.d.ts.map +0 -1
- package/lib/utils/plugin-extension-registry-init.d.ts +0 -2
- package/lib/utils/plugin-extension-registry-init.d.ts.map +0 -1
- package/lib/utils/plugin-extension-registry.d.ts.map +0 -1
- package/lib/utils/plugin-reducer.d.ts.map +0 -1
- package/lib/utils/process-kos-config.d.ts.map +0 -1
- package/lib/utils/resolve-best-extension.d.ts.map +0 -1
- package/lib/utils/settings-reducer.d.ts +0 -8
- package/lib/utils/settings-reducer.d.ts.map +0 -1
- package/lib/utils/setup-reducer.d.ts +0 -7
- package/lib/utils/setup-reducer.d.ts.map +0 -1
- package/lib/utils/state-action-reducer.d.ts +0 -5
- package/lib/utils/state-action-reducer.d.ts.map +0 -1
- package/lib/utils/util-reducer.d.ts +0 -7
- package/lib/utils/util-reducer.d.ts.map +0 -1
- package/resolve-best-extension-CqHaJSdN.js +0 -590
- package/resolve-best-extension-CqHaJSdN.js.map +0 -1
- package/resolve-best-extension-DSdPcuL3.cjs +0 -2
- package/resolve-best-extension-DSdPcuL3.cjs.map +0 -1
package/utils.js
CHANGED
|
@@ -1,47 +1,49 @@
|
|
|
1
|
-
import { d as
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import { d as V } from "./documentation-generator-B8FuhDjB.js";
|
|
2
|
+
import { B as $, D as P, P as w, R as E, e as I, n as S, f as D, c as R, h as K, g as p, b as B, a as z, l as A, r as T, j as U, k as F, o as G, v as M } from "./documentation-generator-B8FuhDjB.js";
|
|
3
|
+
import "zod";
|
|
4
|
+
function m(s) {
|
|
5
|
+
const e = s.match(/^(\d+)\.(\d+)\.\d+(?:-\S+)?$/);
|
|
4
6
|
if (!e)
|
|
5
|
-
throw new Error(`Invalid version format: ${
|
|
6
|
-
const [
|
|
7
|
-
return `${
|
|
7
|
+
throw new Error(`Invalid version format: ${s}`);
|
|
8
|
+
const [a, i, l] = e;
|
|
9
|
+
return `${i}.${l}.0`;
|
|
8
10
|
}
|
|
9
|
-
function
|
|
10
|
-
var
|
|
11
|
+
function b(s, e) {
|
|
12
|
+
var d, g;
|
|
11
13
|
e != null && e.sdkVersion && console.log("sdkVersion", e.sdkVersion), e != null && e.ddkVersion && console.log("ddkVersion", e.ddkVersion);
|
|
12
|
-
const
|
|
13
|
-
console.log(`Using DDK version: ${
|
|
14
|
-
const
|
|
15
|
-
if (!
|
|
14
|
+
const a = m((e == null ? void 0 : e.sdkVersion) || "0.2.0"), i = m((e == null ? void 0 : e.ddkVersion) || "0.2.0");
|
|
15
|
+
console.log(`Using DDK version: ${i}`), console.log(`Using SDK version: ${a}`);
|
|
16
|
+
const l = s == null ? void 0 : s.name;
|
|
17
|
+
if (!l)
|
|
16
18
|
throw new Error(
|
|
17
19
|
"KOS Configuration should be added. Project name not found in config"
|
|
18
20
|
);
|
|
19
|
-
const r = ((e == null ? void 0 : e.pluginPath) || "kosdev.ddk.ncui.plugin").split(".").reduce((
|
|
20
|
-
if (!
|
|
21
|
+
const r = ((e == null ? void 0 : e.pluginPath) || "kosdev.ddk.ncui.plugin").split(".").reduce((t, c) => (console.log(`Accessing key: ${c}`), t && t[c] ? t[c] : void 0), s), n = r == null ? void 0 : r.id;
|
|
22
|
+
if (!n)
|
|
21
23
|
throw new Error(
|
|
22
24
|
"KOS Configuration should be added. Plugin ID not found in config"
|
|
23
25
|
);
|
|
24
|
-
const
|
|
25
|
-
(
|
|
26
|
-
|
|
27
|
-
}),
|
|
26
|
+
const o = Object.keys(((d = r == null ? void 0 : r.contributes) == null ? void 0 : d.views) || {}).reduce(
|
|
27
|
+
(t, c) => (r.contributes.views[c].forEach((u) => {
|
|
28
|
+
t[`./${u.component}`] = u.location;
|
|
29
|
+
}), t),
|
|
28
30
|
{}
|
|
29
31
|
);
|
|
30
|
-
return Object.values(((
|
|
31
|
-
(
|
|
32
|
-
|
|
32
|
+
return Object.values(((g = r == null ? void 0 : r.contributes) == null ? void 0 : g.experiences) || {}).forEach(
|
|
33
|
+
(t) => {
|
|
34
|
+
o[`./${t.component}`] = t.location;
|
|
33
35
|
}
|
|
34
|
-
), r != null && r.init && (
|
|
35
|
-
name:
|
|
36
|
-
exposes:
|
|
37
|
-
library: { type: "var", name:
|
|
36
|
+
), r != null && r.init && (o["./InitPlugin"] = "./src/app/init.ts"), {
|
|
37
|
+
name: l,
|
|
38
|
+
exposes: o,
|
|
39
|
+
library: { type: "var", name: n },
|
|
38
40
|
additionalShared: [
|
|
39
41
|
{
|
|
40
42
|
libraryName: "@kosdev-code/kos-ui-plugin",
|
|
41
43
|
sharedConfig: {
|
|
42
44
|
singleton: !0,
|
|
43
45
|
eager: !1,
|
|
44
|
-
requiredVersion: `~${
|
|
46
|
+
requiredVersion: `~${i}`
|
|
45
47
|
}
|
|
46
48
|
},
|
|
47
49
|
{
|
|
@@ -68,7 +70,7 @@ function c(i, e) {
|
|
|
68
70
|
singleton: !0,
|
|
69
71
|
eager: !1,
|
|
70
72
|
strictVersion: !1,
|
|
71
|
-
requiredVersion: `~${
|
|
73
|
+
requiredVersion: `~${a}`
|
|
72
74
|
}
|
|
73
75
|
},
|
|
74
76
|
{
|
|
@@ -77,7 +79,7 @@ function c(i, e) {
|
|
|
77
79
|
singleton: !0,
|
|
78
80
|
eager: !1,
|
|
79
81
|
strictVersion: !1,
|
|
80
|
-
requiredVersion: `~${
|
|
82
|
+
requiredVersion: `~${a}`
|
|
81
83
|
}
|
|
82
84
|
},
|
|
83
85
|
{
|
|
@@ -86,7 +88,7 @@ function c(i, e) {
|
|
|
86
88
|
singleton: !0,
|
|
87
89
|
eager: !1,
|
|
88
90
|
strictVersion: !1,
|
|
89
|
-
requiredVersion: `~${
|
|
91
|
+
requiredVersion: `~${a}`
|
|
90
92
|
}
|
|
91
93
|
},
|
|
92
94
|
{
|
|
@@ -95,7 +97,7 @@ function c(i, e) {
|
|
|
95
97
|
singleton: !0,
|
|
96
98
|
eager: !1,
|
|
97
99
|
strictVersion: !1,
|
|
98
|
-
requiredVersion: `~${
|
|
100
|
+
requiredVersion: `~${i}`
|
|
99
101
|
}
|
|
100
102
|
},
|
|
101
103
|
{
|
|
@@ -104,7 +106,7 @@ function c(i, e) {
|
|
|
104
106
|
singleton: !0,
|
|
105
107
|
eager: !1,
|
|
106
108
|
strictVersion: !1,
|
|
107
|
-
requiredVersion: `~${
|
|
109
|
+
requiredVersion: `~${i}`
|
|
108
110
|
}
|
|
109
111
|
},
|
|
110
112
|
{
|
|
@@ -113,7 +115,7 @@ function c(i, e) {
|
|
|
113
115
|
singleton: !0,
|
|
114
116
|
eager: !1,
|
|
115
117
|
strictVersion: !1,
|
|
116
|
-
requiredVersion: `~${
|
|
118
|
+
requiredVersion: `~${i}`
|
|
117
119
|
}
|
|
118
120
|
},
|
|
119
121
|
{
|
|
@@ -122,7 +124,7 @@ function c(i, e) {
|
|
|
122
124
|
singleton: !0,
|
|
123
125
|
eager: !1,
|
|
124
126
|
strictVersion: !1,
|
|
125
|
-
requiredVersion: `~${
|
|
127
|
+
requiredVersion: `~${i}`
|
|
126
128
|
}
|
|
127
129
|
},
|
|
128
130
|
{
|
|
@@ -131,7 +133,7 @@ function c(i, e) {
|
|
|
131
133
|
singleton: !0,
|
|
132
134
|
eager: !1,
|
|
133
135
|
strictVersion: !1,
|
|
134
|
-
requiredVersion: `~${
|
|
136
|
+
requiredVersion: `~${i}`
|
|
135
137
|
}
|
|
136
138
|
},
|
|
137
139
|
{
|
|
@@ -241,58 +243,73 @@ function c(i, e) {
|
|
|
241
243
|
strictVersion: !1,
|
|
242
244
|
requiredVersion: "^3.6.13"
|
|
243
245
|
}
|
|
246
|
+
},
|
|
247
|
+
{
|
|
248
|
+
libraryName: "expr-eval",
|
|
249
|
+
sharedConfig: {
|
|
250
|
+
singleton: !0,
|
|
251
|
+
eager: !1,
|
|
252
|
+
strictVersion: !1,
|
|
253
|
+
requiredVersion: "^2.0.2"
|
|
254
|
+
}
|
|
255
|
+
},
|
|
256
|
+
{
|
|
257
|
+
libraryName: "zod",
|
|
258
|
+
sharedConfig: {
|
|
259
|
+
singleton: !0,
|
|
260
|
+
eager: !0,
|
|
261
|
+
strictVersion: !1,
|
|
262
|
+
requiredVersion: "^3.25.0"
|
|
263
|
+
}
|
|
244
264
|
}
|
|
245
265
|
]
|
|
246
266
|
};
|
|
247
267
|
}
|
|
268
|
+
function C(s, e, ...a) {
|
|
269
|
+
return [s, e, ...a].filter(Boolean).join(".");
|
|
270
|
+
}
|
|
271
|
+
function v(s = {}) {
|
|
272
|
+
const {
|
|
273
|
+
experienceIdProperty: e = "experienceId",
|
|
274
|
+
flattenComponentProperties: a = !0,
|
|
275
|
+
customTransform: i
|
|
276
|
+
} = s;
|
|
277
|
+
return (l, f) => {
|
|
278
|
+
var d;
|
|
279
|
+
const r = l[e], n = r ? ((d = f.experiences) == null ? void 0 : d[r]) || {} : {};
|
|
280
|
+
let o = {
|
|
281
|
+
...l,
|
|
282
|
+
view: n
|
|
283
|
+
};
|
|
284
|
+
return a && n && (n.component && (o.component = n.component), n.location && (o.location = n.location)), i && (o = i(l, n, f) || o), o;
|
|
285
|
+
};
|
|
286
|
+
}
|
|
287
|
+
function q(s) {
|
|
288
|
+
return V.define(s);
|
|
289
|
+
}
|
|
248
290
|
export {
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
b as
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
H as EXTENSION_POINT_TROUBLE_ACTION,
|
|
273
|
-
M as EXTENSION_POINT_TROUBLE_ACTION_DEF,
|
|
274
|
-
x as EXTENSION_POINT_TROUBLE_ACTION_VIEW,
|
|
275
|
-
G as EXTENSION_POINT_UTIL,
|
|
276
|
-
K as EXTENSION_POINT_UTIL_DEF,
|
|
277
|
-
z as EXTENSION_POINT_UTIL_VIEW,
|
|
278
|
-
Y as contributionReducer,
|
|
279
|
-
Q as cuiReducer,
|
|
280
|
-
J as dashboardDetailReducer,
|
|
281
|
-
Z as dashboardPumpDetailReducer,
|
|
282
|
-
j as dashboardReducer,
|
|
283
|
-
p as dashboardSummaryReducer,
|
|
284
|
-
c as generatePluginConfiguration,
|
|
285
|
-
ee as getContributions,
|
|
286
|
-
re as getExtensions,
|
|
287
|
-
se as getQueryParams,
|
|
288
|
-
ae as initPluginManager,
|
|
289
|
-
ie as initializeKosPlugins,
|
|
290
|
-
ne as loadExtensions,
|
|
291
|
-
oe as navViewReducer,
|
|
292
|
-
te as resolveBestExtension,
|
|
293
|
-
de as settingsReducer,
|
|
294
|
-
le as setupReducer,
|
|
295
|
-
Ne as troubleActionReducer,
|
|
296
|
-
Ee as utilReducer
|
|
291
|
+
$ as BaseViewExtensionSchema,
|
|
292
|
+
P as DocumentationGenerator,
|
|
293
|
+
w as PluginDiscoveryService,
|
|
294
|
+
E as RankableViewExtensionSchema,
|
|
295
|
+
I as contributionReducer,
|
|
296
|
+
S as createExtensionSchema,
|
|
297
|
+
v as createViewAwareTransform,
|
|
298
|
+
q as defineExtensionPoint,
|
|
299
|
+
C as extensionPointId,
|
|
300
|
+
b as generatePluginConfiguration,
|
|
301
|
+
D as getContributions,
|
|
302
|
+
R as getExtensionPointRegistry,
|
|
303
|
+
K as getExtensions,
|
|
304
|
+
p as getValidationResults,
|
|
305
|
+
B as initPluginManager,
|
|
306
|
+
z as initializeKosPlugins,
|
|
307
|
+
A as loadExtensions,
|
|
308
|
+
V as registry,
|
|
309
|
+
T as resolveBestExtension,
|
|
310
|
+
U as validateDescriptorFormat,
|
|
311
|
+
F as validateRank,
|
|
312
|
+
G as validateRankIfPresent,
|
|
313
|
+
M as validateWithSchema
|
|
297
314
|
};
|
|
298
315
|
//# 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/process-kos-config.ts"],"sourcesContent":["/* 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}\n\ninterface KosPluginConfig {\n id: string;\n init?: boolean;\n contributes: Contributions;\n}\n\ninterface DDKConfig {\n name: string;\n kosdev: {\n ddk: {\n ncui: {\n plugin: KosPluginConfig;\n };\n };\n };\n}\n\ninterface CoreKosConfig {\n name: string;\n kos: {\n ui: {\n plugin: KosPluginConfig;\n };\n };\n}\n\nexport type KosConfig = DDKConfig | CoreKosConfig;\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 pluginPath?: 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\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 pluginPath = options?.pluginPath || \"kosdev.ddk.ncui.plugin\";\n const pluginObj = pluginPath\n .split(\".\")\n .reduce<KosPluginConfig>((obj, key) => {\n console.log(`Accessing key: ${key}`);\n return obj && obj[key] ? obj[key] : undefined;\n }, config as unknown as KosPluginConfig);\n\n const pluginId = pluginObj?.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(pluginObj?.contributes?.views || {}).reduce(\n (acc, key) => {\n const views = pluginObj.contributes.views[key];\n\n views.forEach((view) => {\n acc[`./${view.component}`] = view.location;\n });\n return acc;\n },\n {}\n );\n\n Object.values(pluginObj?.contributes?.experiences || {}).forEach(\n (experience) => {\n mfConfig[`./${experience.component}`] = experience.location;\n }\n );\n\n if (pluginObj?.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":["normalizeVersion","version","match","_","major","minor","generatePluginConfiguration","config","options","sdkVersion","ddkVersion","projectId","pluginObj","obj","key","pluginId","mfConfig","_a","acc","view","_b","experience"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../../../packages/sdk/kos-ui-plugin/src/lib/utils/processors/process-kos-config.ts","../../../../packages/sdk/kos-ui-plugin/src/lib/utils/extension-points/extension-point-types.ts","../../../../packages/sdk/kos-ui-plugin/src/lib/utils/extension-points/extension-point-transforms.ts","../../../../packages/sdk/kos-ui-plugin/src/lib/utils/extension-points/define-extension-point.ts"],"sourcesContent":["/* 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}\n\ninterface KosPluginConfig {\n id: string;\n init?: boolean;\n contributes: Contributions;\n}\n\ninterface DDKConfig {\n name: string;\n kosdev: {\n ddk: {\n ncui: {\n plugin: KosPluginConfig;\n };\n };\n };\n}\n\ninterface CoreKosConfig {\n name: string;\n kos: {\n ui: {\n plugin: KosPluginConfig;\n };\n };\n}\n\nexport type KosConfig = DDKConfig | CoreKosConfig;\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 pluginPath?: 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\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 pluginPath = options?.pluginPath || \"kosdev.ddk.ncui.plugin\";\n const pluginObj = pluginPath\n .split(\".\")\n .reduce<KosPluginConfig>((obj, key) => {\n console.log(`Accessing key: ${key}`);\n return obj && obj[key] ? obj[key] : undefined;\n }, config as unknown as KosPluginConfig);\n\n const pluginId = pluginObj?.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(pluginObj?.contributes?.views || {}).reduce(\n (acc, key) => {\n const views = pluginObj.contributes.views[key];\n\n views.forEach((view) => {\n acc[`./${view.component}`] = view.location;\n });\n return acc;\n },\n {}\n );\n\n Object.values(pluginObj?.contributes?.experiences || {}).forEach(\n (experience) => {\n mfConfig[`./${experience.component}`] = experience.location;\n }\n );\n\n if (pluginObj?.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 libraryName: \"expr-eval\",\n sharedConfig: {\n singleton: true,\n eager: false,\n strictVersion: false,\n requiredVersion: \"^2.0.2\",\n },\n },\n {\n libraryName: \"zod\",\n sharedConfig: {\n singleton: true,\n eager: true,\n strictVersion: false,\n requiredVersion: \"^3.25.0\",\n },\n },\n ],\n };\n}\n","/**\n * Core types and interfaces for extension point system\n */\n\n// React import removed - component creation happens at runtime via hooks\nimport type { z } from \"zod\";\nimport type {\n BasePluginExtension,\n PluginExtensionsType,\n ProcessedContributions,\n} from \"../../../types/plugins\";\n\n/**\n * Validation context for collecting validation issues\n */\nexport interface ValidationContext {\n addError(message: string): void;\n addWarning(message: string): void;\n addInfo(message: string): void;\n hasErrors(): boolean;\n hasIssues(): boolean;\n getIssues(): { type: \"error\" | \"warning\" | \"info\"; message: string }[];\n}\n\n/**\n * Context provided to transform functions\n */\nexport interface TransformContext {\n remote: string;\n sectionId: string;\n experiences?: Record<string, any>;\n contributions: ProcessedContributions;\n}\n\n/**\n * Schema field information for documentation\n */\nexport interface SchemaFieldInfo {\n name: string;\n description?: string;\n type?: string;\n required?: boolean;\n}\n\n/**\n * Configuration for defining a new extension point\n */\nexport interface ExtensionPointConfig<\n TData = any,\n TProcessed = TData,\n _TProps = any\n> {\n /**\n * Unique identifier for this extension point\n * Convention: \"ddk.{feature}\" or \"ddk.{feature}.{sub-feature}\"\n */\n id: string;\n\n /**\n * Optional display name for documentation/discovery\n */\n displayName?: string;\n\n /**\n * Optional description for documentation/discovery\n */\n description?: string;\n\n /**\n * The contribution key in the plugin descriptor\n * e.g., \"myFeature\" maps to contributes.myFeature in kosdev-plugin.json\n */\n contributionKey: string;\n\n /**\n * Optional related extension points\n * For example, a main extension might have .view and .definition variants\n */\n relatedPoints?: {\n view?: string;\n definition?: string;\n [key: string]: string | undefined;\n };\n\n /**\n * Transform function to process raw contribution data\n * Allows custom processing logic while maintaining type safety\n */\n transform?: (data: TData, context: TransformContext) => TProcessed;\n\n /**\n * Optional validation function\n * Use context.addError/addWarning/addInfo to collect validation issues\n * Return \"skip\" to skip processing this contribution\n */\n validate?: (data: TData, context: ValidationContext) => \"skip\" | void;\n\n /**\n * Whether this extension point uses view/experience pattern\n * Default: false\n */\n hasView?: boolean;\n\n /**\n * Whether contributions should be ranked\n * Default: false\n */\n isRankable?: boolean;\n\n /**\n * Optional Zod schema for runtime validation and documentation\n * Provides both type safety and field introspection for Plugin Explorer\n */\n schema?: z.ZodSchema<TData>;\n\n /**\n * Metadata for discovery/documentation\n */\n metadata?: {\n category?: string;\n tags?: string[];\n since?: string;\n deprecated?: boolean;\n replacedBy?: string;\n owner?: string;\n /**\n * The actual export name of this extension point in the code\n * Used for documentation generation to show correct import statements\n */\n exportName?: string;\n };\n}\n\n/**\n * Props for extension point components\n */\nexport interface ExtensionComponentProps {\n /** Specific module to load (optional) */\n module?: string;\n /** Fallback component when extension not found */\n fallback?: React.ReactNode;\n}\n\n/**\n * Result of defining an extension point\n */\nexport interface ExtensionPointDefinition<\n TData = any,\n TProcessed = TData,\n TProps = any\n> {\n /**\n * The extension point configuration\n */\n config: ExtensionPointConfig<TData, TProcessed, TProps>;\n\n /**\n * Extension point ID for use in components\n */\n id: string;\n\n /**\n * Helper to get typed extensions (for future use with hooks)\n */\n getExtensions?: (\n extensions: PluginExtensionsType\n ) => Record<string, BasePluginExtension & { data: TProcessed }>;\n\n /**\n * Registration status\n */\n isRegistered: boolean;\n\n /**\n * Method to register this extension point\n */\n register: () => void;\n\n // Component property removed - use useExtensionComponent hook or createExtensionComponent factory at runtime\n\n /**\n * Get schema field information for documentation purposes\n * Returns field info that can be safely displayed by Plugin Explorer\n */\n getSchemaFieldInfo?: () => SchemaFieldInfo[];\n}\n\n/**\n * Extension point with hasView: true, guarantees Component property\n */\nexport interface ViewExtensionPointDefinition<\n TData = any,\n TProcessed = TData,\n TProps = any\n> extends ExtensionPointDefinition<TData, TProcessed, TProps> {\n Component: React.ComponentType<ExtensionComponentProps & TProps>;\n}\n\n/**\n * Type-safe extension point ID helper\n * Ensures consistent naming and helps with refactoring\n */\nexport function extensionPointId(\n namespace: string,\n feature: string,\n ...subFeatures: string[]\n): string {\n const parts = [namespace, feature, ...subFeatures].filter(Boolean);\n return parts.join(\".\");\n}\n","/**\n * Transform utilities for extension points\n */\n\nimport type { TransformContext } from \"./extension-point-types\";\n\n/**\n * Generic transform helper for extension points that use the experience/view pattern\n * Handles mapping experience IDs to experience data and flattening component properties\n */\nexport function createViewAwareTransform<TData extends Record<string, any>>(\n options: {\n /**\n * Property name that contains the experience ID (default: \"experienceId\")\n */\n experienceIdProperty?: keyof TData;\n /**\n * Whether to flatten component properties to root level for useDynamicComponent compatibility (default: true)\n */\n flattenComponentProperties?: boolean;\n /**\n * Additional transform logic to apply after view mapping\n */\n customTransform?: (\n data: TData,\n view: any,\n context: TransformContext\n ) => any;\n } = {}\n) {\n const {\n experienceIdProperty = \"experienceId\",\n flattenComponentProperties = true,\n customTransform,\n } = options;\n\n return (data: TData, context: TransformContext) => {\n // Map experience ID to experience data\n const experienceId = data[experienceIdProperty] as string;\n const view = experienceId ? context.experiences?.[experienceId] || {} : {};\n\n // Start with base data - use any to allow dynamic property addition\n let result: any = {\n ...data,\n view: view,\n };\n\n // Flatten component properties for useDynamicComponent compatibility\n if (flattenComponentProperties && view) {\n if (view.component) {\n result.component = view.component;\n }\n if (view.location) {\n result.location = view.location;\n }\n }\n\n // Apply custom transform if provided\n if (customTransform) {\n result = customTransform(data, view, context) || result;\n }\n\n return result;\n };\n}\n","/**\n * Simplified Extension Point Definition API\n *\n * This utility provides a streamlined way to define new extension points\n * without modifying multiple files. It maintains full backward compatibility\n * with existing extension points which continue to use the legacy reducer system.\n */\n\nimport type {\n ExtensionPointConfig,\n ExtensionPointDefinition,\n ViewExtensionPointDefinition,\n} from \"./extension-point-types\";\nimport { registry } from \"./extension-point-registry\";\n\n// Re-export types and interfaces\nexport type {\n ValidationContext,\n TransformContext,\n SchemaFieldInfo,\n ExtensionPointConfig,\n ExtensionComponentProps,\n ExtensionPointDefinition,\n ViewExtensionPointDefinition,\n} from \"./extension-point-types\";\n\n// Re-export utilities\nexport { extensionPointId } from \"./extension-point-types\";\nexport { createViewAwareTransform } from \"./extension-point-transforms\";\nexport {\n getExtensionPointRegistry,\n registry,\n} from \"./extension-point-registry\";\nexport { getValidationResults } from \"./extension-point-validation\";\n\n/**\n * Define a new extension point with simplified API\n *\n * Returns an extension point definition that must be explicitly registered\n * by calling the register() method. This prevents automatic registration\n * and circular dependency issues.\n *\n * @example\n * ```typescript\n * // Simple extension point\n * export const MyFeatureExtension = defineExtensionPoint({\n * id: 'ddk.myFeature',\n * contributionKey: 'myFeature',\n * displayName: 'My Feature',\n * description: 'Extension point for custom features'\n * });\n *\n * // Register it explicitly in your app initialization\n * MyFeatureExtension.register();\n *\n * // Extension point with view support\n * export const MyViewExtension = defineExtensionPoint({\n * id: 'ddk.myView.config',\n * contributionKey: 'myView',\n * hasView: true,\n * relatedPoints: {\n * view: 'ddk.myView.view',\n * definition: 'ddk.myView'\n * },\n * transform: (data, context) => ({\n * ...data,\n * processedAt: Date.now()\n * })\n * });\n *\n * // Register it explicitly in your app initialization\n * MyViewExtension.register();\n *\n * // Use the pre-configured component (for view-based extensions)\n * <MyViewExtension.Component\n * module=\"specific-module-id\"\n * fallback={<div>Loading...</div>}\n * customProp=\"value\"\n * />\n * ```\n */\n\n// Overload for hasView: true - guarantees Component property exists\nexport function defineExtensionPoint<\n TData = any,\n TProcessed = TData,\n TProps = any\n>(\n config: ExtensionPointConfig<TData, TProcessed, TProps> & { hasView: true }\n): ViewExtensionPointDefinition<TData, TProcessed, TProps>;\n\n// Overload for hasView: false/undefined - Component might not exist\nexport function defineExtensionPoint<\n TData = any,\n TProcessed = TData,\n TProps = any\n>(\n config: ExtensionPointConfig<TData, TProcessed, TProps>\n): ExtensionPointDefinition<TData, TProcessed, TProps>;\n\n// Implementation\nexport function defineExtensionPoint<\n TData = any,\n TProcessed = TData,\n TProps = any\n>(\n config: ExtensionPointConfig<TData, TProcessed, TProps>\n): ExtensionPointDefinition<TData, TProcessed, TProps> {\n return registry.define(config);\n}\n"],"names":["normalizeVersion","version","match","_","major","minor","generatePluginConfiguration","config","options","sdkVersion","ddkVersion","projectId","pluginObj","obj","key","pluginId","mfConfig","_a","acc","view","_b","experience","extensionPointId","namespace","feature","subFeatures","createViewAwareTransform","experienceIdProperty","flattenComponentProperties","customTransform","data","context","experienceId","result","defineExtensionPoint","registry"],"mappings":"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"}
|
package/dev.cjs
DELETED
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./emotion-react-jsx-runtime.browser.esm-0ViwU5Kh.cjs"),p=require("react"),d=require("@kosdev-code/kos-ddk-components"),S=require("@kosdev-code/kos-ui-sdk"),m=require("@emotion/styled");require("react/jsx-runtime");const w=({component:n,location:e,resolver:o,props:c})=>{const[s,i]=p.useState();return p.useEffect(()=>{(async()=>{const l=await o(e);i(l[n])})()},[n,e,o]),s?t.jsx(s,{...c}):null},I=n=>Object.entries(n).reduce((e,[o,c])=>{if(Array.isArray(c)||typeof c=="object"&&c!==null){const s=`${o}List`,i=`${o}Map`,r=[],l={};(Array.isArray(c)?c:Object.values(c)).forEach(a=>{const g={...a,label:a.title};r.push(g),l[g.id]=g}),e[s]=r,e[i]=l}return e},{}),k=n=>{const e=n.kosdev.ddk.ncui.plugin.contributes;return{...I(e),contributes:e,json:n}},O=m.div`
|
|
2
|
-
display: flex;
|
|
3
|
-
flex-direction: column;
|
|
4
|
-
gap: 32px;
|
|
5
|
-
padding: 24px;
|
|
6
|
-
`,D=S.kosComponent(({kOSMetadata:{experiencesMap:n},list:e,map:o,resolver:c})=>{const[s,i]=p.useState(),r=e.map(u=>u.namespace)||[],{t:l}=S.useKosTranslation([...new Set(r)]),C=s==null?void 0:s.experienceId,a=n[C],g=a==null?void 0:a.component,x=a==null?void 0:a.location,h=p.useCallback(u=>{const f=o[u];i(f)},[o]),j=p.useMemo(()=>e.map(u=>({...u,label:l(`${u.namespace}:${u.title}`,`"${u.title}"`)})),[e,l]);return t.jsxs(O,{children:[t.jsx(d.CardButtonGrid,{items:j,onSelect:h}),g&&x&&t.jsx(w,{component:g,location:x,resolver:c})]})}),$=m.div`
|
|
7
|
-
display: flex;
|
|
8
|
-
flex-direction: column;
|
|
9
|
-
gap: 32px;
|
|
10
|
-
padding: 24px;
|
|
11
|
-
`,v=S.kosComponent(({kOSMetadata:{experiencesMap:n},list:e,map:o,showOpenButton:c=!0,showCloseButton:s=!0,resolver:i})=>{const[r,l]=p.useState(),C=e.map(y=>y.namespace)||[],{t:a}=S.useKosTranslation([...new Set(C)]),g=r==null?void 0:r.experienceId,x=n[g],h=x==null?void 0:x.component,j=x==null?void 0:x.location,u=p.useCallback(y=>{const b=o[y];l(b||null)},[o]),f=p.useMemo(()=>e.map(y=>({...y,label:a(`${y.namespace}:${y.title}`,`"${y.title}"`)})),[e,a]);return t.jsxs($,{children:[t.jsx(d.CardButtonGrid,{items:f,onSelect:u}),h&&j&&t.jsx(d.Modal,{mode:"maximized",show:!0,children:t.jsxs(t.Fragment,{children:[t.jsx(d.Header,{title:a(r.title,`"${r.title}"`),showOpenButton:c,showCloseButton:s,onClose:()=>{u("")}}),t.jsx(w,{component:h,location:j,resolver:i})]})})]})}),T=m.div`
|
|
12
|
-
display: flex;
|
|
13
|
-
flex-direction: column;
|
|
14
|
-
gap: 32px;
|
|
15
|
-
padding: 24px;
|
|
16
|
-
`,L=m.div`
|
|
17
|
-
display: flex;
|
|
18
|
-
flex-direction: column;
|
|
19
|
-
gap: 32px;
|
|
20
|
-
`,U=({experiencesMap:n,resolver:e,setting:{experienceId:o,id:c,namespace:s,title:i}})=>{const{t:r}=S.useKosTranslation(s),l=n[o],C=l==null?void 0:l.component,a=l==null?void 0:l.location;return t.jsxs(d.TabContainer,{children:[t.jsx(d.SettingsSubheading,{children:r(i,`"${i}"`)}),t.jsx(w,{component:C,location:a,resolver:e},c)]})},E=({experiencesMap:n,group:e,resolver:o})=>t.jsx(L,{children:e.map(c=>t.jsx(U,{experiencesMap:n,resolver:o,setting:c},c.settingsGroup))}),M=({kOSMetadata:{experiencesMap:n},list:e,resolver:o})=>{const c=p.useMemo(()=>{const i={};return e.forEach(r=>{i[r.settingsGroup]||(i[r.settingsGroup]=[]),i[r.settingsGroup].push(r)}),i},[e]),s=p.useMemo(()=>Object.keys(c).map(i=>({id:i,label:i,content:t.jsx(E,{experiencesMap:n,group:c[i],resolver:o})})),[n,c,o]);return t.jsx(T,{children:t.jsx(d.Tabs,{tabs:s})})},G=m.div`
|
|
21
|
-
display: flex;
|
|
22
|
-
flex-direction: column;
|
|
23
|
-
gap: 32px;
|
|
24
|
-
padding: 24px;
|
|
25
|
-
`,B=S.kosComponent(({kOSMetadata:{experiencesMap:n},list:e,map:o,resolver:c})=>{const[s,i]=p.useState(),r=e.map(u=>u.namespace)||[],{t:l}=S.useKosTranslation([...new Set(r)]),C=s==null?void 0:s.experienceId,a=n[C],g=a==null?void 0:a.component,x=a==null?void 0:a.location,h=p.useCallback(u=>{const f=o[u];i(f||null)},[o]),j=p.useMemo(()=>e.map(u=>({...u,label:l(`${u.namespace}:${u.title}`,`"${u.title}"`)})),[e,l]);return t.jsxs(G,{children:[t.jsx(d.CardButtonGrid,{items:j,onSelect:h}),g&&x&&t.jsx(w,{component:g,location:x,resolver:c,props:{onComplete:h}})]})}),K={cui:n=>t.jsx(v,{...n,showOpenButton:!1}),utilities:B,setupStep:v,settings:n=>t.jsx(M,{baseRoute:"settings",...n})},H=S.kosComponent(({kOSJSON:n,resolver:e})=>{const o=p.useMemo(()=>k(n),[n]),c=p.useMemo(()=>Object.keys(o.contributes).filter(s=>Array.isArray(o.contributes[s])&&o.contributes[s].length).map(s=>{const i=K[s]||D;return{id:s,label:s,content:t.jsx(i,{kOSMetadata:o,list:o[`${s}List`],map:o[`${s}Map`],resolver:e},s)}}),[]);return t.jsx(d.TabRouter,{baseRoute:"",tabs:c})}),P=m.div`
|
|
26
|
-
display: flex;
|
|
27
|
-
flex-direction: column;
|
|
28
|
-
gap: 32px;
|
|
29
|
-
width: 100%;
|
|
30
|
-
`,q=({kOSMetadata:{defaultExperienceId:n,experienceList:e,experienceMap:o},resolver:c})=>{const[s,i]=p.useState(n),r=o[s].component,l=o[s].location,C=p.useCallback(a=>{i(a)},[]);return t.jsxs(P,{children:[t.jsx(d.PickerCard,{label:"Experience",items:e,selectedItemId:s,cancelButtonLabel:"Cancel",proceedButtonLabel:"Select",onSave:C,displayValue:r}),t.jsx(w,{component:r,location:l,resolver:c})]})},A="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20id='kos_logo_full'%20data-name='kos_logo_full'%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2041.58%2016.95'%20fill='%23fff'%3e%3cpath%20d='m21.49,12.39c-.7-.38-1.25-.91-1.64-1.59-.4-.68-.59-1.45-.59-2.32s.2-1.64.59-2.32c.4-.68.94-1.21,1.64-1.59.7-.38,1.49-.57,2.38-.57s1.68.19,2.38.57c.7.38,1.25.91,1.64,1.59.4.68.59,1.45.59,2.32s-.2,1.64-.59,2.32c-.4.68-.94,1.21-1.64,1.59-.7.38-1.49.57-2.38.57s-1.68-.19-2.38-.57Zm3.76-1.49c.4-.24.72-.56.95-.98.23-.42.34-.9.34-1.43s-.11-1.01-.34-1.43c-.23-.42-.54-.75-.95-.98-.4-.24-.86-.35-1.37-.35s-.97.12-1.37.35c-.4.24-.72.56-.95.98-.23.42-.34.9-.34,1.43s.11,1.01.34,1.43c.23.42.54.75.95.98.4.24.86.35,1.37.35s.97-.12,1.37-.35Zm6.34,1.67c-.73-.24-1.32-.56-1.76-.98l1.16-1.42c.81.72,1.77,1.08,2.89,1.08.51,0,.92-.1,1.24-.29.31-.19.47-.43.47-.71,0-.21-.09-.38-.28-.53-.18-.14-.5-.26-.94-.35l-1.84-.35c-.8-.15-1.4-.43-1.79-.83-.4-.4-.59-.91-.59-1.51,0-.54.16-1.02.47-1.42.32-.4.76-.71,1.32-.93s1.2-.32,1.91-.32c.67,0,1.32.1,1.93.29s1.15.49,1.6.9l-1.08,1.38c-.76-.62-1.6-.92-2.51-.92-.49,0-.89.08-1.22.25-.32.17-.49.38-.49.64,0,.17.08.32.25.44.16.13.48.24.94.32l1.7.31c.85.16,1.49.46,1.91.91.43.44.64.97.64,1.59,0,.55-.15,1.04-.44,1.46s-.71.75-1.25.98-1.17.35-1.88.35c-.86,0-1.65-.12-2.38-.35ZM41.5,1c0-.55-.46-1-1.01-1H1C.45,0,0,.45,0,1v14.95c0,.55.45,1,1,1h15.2v-.02s.06.02.1.02h24.29c.55,0,1-.45.99-1l-.08-14.95Zm-25.21,14.95l-.09-14.95h24.3s.09,14.95.09,14.95h-24.3Zm-8.34-7.1l-1.66,1.64v2.32h-1.88V4.16h1.88v4.09l4.1-4.09h2.27l-3.42,3.4,3.62,5.24h-2.23l-2.69-3.96Z'%20/%3e%3c/svg%3e",R=m.div`
|
|
31
|
-
background-color: var(--ddk-component-top-navigation-background-color);
|
|
32
|
-
color: var(--ddk-component-top-navigation-color);
|
|
33
|
-
`,Z=m.div`
|
|
34
|
-
padding: var(--ddk-component-top-navigation-padding);
|
|
35
|
-
display: flex;
|
|
36
|
-
justify-content: space-between;
|
|
37
|
-
align-items: center;
|
|
38
|
-
`,_=m.div`
|
|
39
|
-
display: flex;
|
|
40
|
-
justify-content: space-between;
|
|
41
|
-
align-items: center;
|
|
42
|
-
gap: 16px;
|
|
43
|
-
`,z=m.div`
|
|
44
|
-
width: 100px;
|
|
45
|
-
`,F=m.h1`
|
|
46
|
-
font-size: 16px;
|
|
47
|
-
`,N=()=>p.useMemo(()=>[],[]),V=()=>{const n=N();return t.jsx(R,{children:t.jsx(d.Container,{children:t.jsxs(Z,{children:[t.jsxs(_,{children:[t.jsx(z,{children:t.jsx("img",{alt:"KOS logo",src:A})}),t.jsx(F,{children:"Welcome to KOS"})]}),t.jsx(d.TopNavigationButtonList,{items:n})]})})})},W=m.div`
|
|
48
|
-
display: flex;
|
|
49
|
-
flex-direction: column;
|
|
50
|
-
overflow: hidden;
|
|
51
|
-
height: 100vh;
|
|
52
|
-
`,J=m.div`
|
|
53
|
-
display: flex;
|
|
54
|
-
flex-direction: column;
|
|
55
|
-
overflow-y: auto;
|
|
56
|
-
`,Q=S.kosComponent(({children:n})=>t.jsxs(W,{children:[t.jsx(V,{}),t.jsx(J,{children:n})]})),X=({children:n})=>n,Y=({children:n})=>{const{componentModeOverride:e}=d.useComponentConfigurationContext();return t.jsx(d.Modal,{contain:e!=="compact",mode:"maximized",show:!0,children:t.jsxs(t.Fragment,{children:[t.jsx(d.Header,{CloseButton:e==="compact"?d.BackButton:void 0,contain:e==="compact",showCloseButton:!0,showOpenButton:!1,title:"CUI"}),n]})})},tt=({children:n})=>n,nt=({children:n})=>t.jsxs(d.TabContainer,{children:[t.jsx(d.SettingsSubheading,{children:"Setting"}),n]}),et=({children:n})=>{const{componentModeOverride:e}=d.useComponentConfigurationContext();return t.jsx(d.Modal,{contain:e!=="compact",mode:"maximized",show:!0,children:t.jsxs(t.Fragment,{children:[t.jsx(d.Header,{CloseButton:e==="compact"?d.BackButton:void 0,contain:e==="compact",showCloseButton:!0,showOpenButton:!0,title:"Setup Step"}),n]})})},ot=({children:n})=>n;exports.CUIStoryContainer=Y;exports.ControlPourStoryContainer=X;exports.DynamicComponentView=w;exports.DynamicContainer=H;exports.DynamicViewBasic=D;exports.DynamicViewModal=v;exports.DynamicViewPicker=q;exports.DynamicViewSettings=M;exports.DynamicViewUtilities=B;exports.Header=V;exports.NavStoryContainer=tt;exports.SettingStoryContainer=nt;exports.SetupStepStoryContainer=et;exports.Shell=Q;exports.UtilityStoryContainer=ot;exports.parse=k;
|
|
57
|
-
//# sourceMappingURL=dev.cjs.map
|
package/dev.cjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dev.cjs","sources":["../../../../packages/sdk/kos-ui-plugin/src/lib/dev/components/dynamic-view/dynamic-component-view.tsx","../../../../packages/sdk/kos-ui-plugin/src/lib/dev/utils/normalize.ts","../../../../packages/sdk/kos-ui-plugin/src/lib/dev/utils/kos-metadata-parser.ts","../../../../packages/sdk/kos-ui-plugin/src/lib/dev/components/dynamic-view/dynamic-view-basic.tsx","../../../../packages/sdk/kos-ui-plugin/src/lib/dev/components/dynamic-view/dynamic-view-modal.tsx","../../../../packages/sdk/kos-ui-plugin/src/lib/dev/components/dynamic-view/dynamic-view-settings.tsx","../../../../packages/sdk/kos-ui-plugin/src/lib/dev/components/dynamic-view/dynamic-view-utilities.tsx","../../../../packages/sdk/kos-ui-plugin/src/lib/dev/components/dynamic-view/dynamic-container.tsx","../../../../packages/sdk/kos-ui-plugin/src/lib/dev/components/dynamic-view/dynamic-view-picker.tsx","../../../../packages/sdk/kos-ui-plugin/src/lib/dev/components/shell/header/kos-logo.svg","../../../../packages/sdk/kos-ui-plugin/src/lib/dev/components/shell/header/header.tsx","../../../../packages/sdk/kos-ui-plugin/src/lib/dev/components/shell/shell.tsx","../../../../packages/sdk/kos-ui-plugin/src/lib/dev/components/storybook/control-pour-story-container/control-pour-story-container.tsx","../../../../packages/sdk/kos-ui-plugin/src/lib/dev/components/storybook/cui-story-container/cui-story-container.tsx","../../../../packages/sdk/kos-ui-plugin/src/lib/dev/components/storybook/nav-story-container/nav-story-container.tsx","../../../../packages/sdk/kos-ui-plugin/src/lib/dev/components/storybook/setting-story-container/setting-story-container.tsx","../../../../packages/sdk/kos-ui-plugin/src/lib/dev/components/storybook/setup-step-story-container/setup-step-story-container.tsx","../../../../packages/sdk/kos-ui-plugin/src/lib/dev/components/storybook/utility-story-container/utility-story-container.tsx"],"sourcesContent":["import { ElementType, useEffect, useState } from \"react\";\n\ninterface DynamicComponentViewProps {\n component: string;\n location: string;\n resolver: (location: string) => any;\n props?: any;\n}\n\nexport const DynamicComponentView = ({\n component,\n location,\n resolver,\n props,\n}: DynamicComponentViewProps) => {\n const [Component, setComponent] = useState<ElementType>();\n\n useEffect(() => {\n const load = async () => {\n const result = await resolver(location);\n\n setComponent(result[component]);\n };\n\n load();\n }, [component, location, resolver]);\n\n return Component ? <Component {...props} /> : null;\n};\n","export const normalize = (json: any): Record<string, any> =>\n Object.entries(json).reduce((parsed: Record<string, any>, [key, value]) => {\n if (Array.isArray(value) || (typeof value === \"object\" && value !== null)) {\n const listKey = `${key}List`;\n const mapKey = `${key}Map`;\n\n const list: any[] = [];\n const map: Record<string, any> = {};\n\n const items = Array.isArray(value) ? value : Object.values(value);\n items.forEach((item) => {\n const data = { ...item, label: item.title };\n list.push(data);\n map[data.id] = data;\n });\n\n parsed[listKey] = list;\n parsed[mapKey] = map;\n }\n\n return parsed;\n }, {});\n","import { normalize } from \"./normalize\";\n\nexport interface KOSMetadata {\n json: any;\n [key: string]: any;\n}\n\nexport const parse = (json: any): KOSMetadata => {\n const contributes = json.kosdev.ddk.ncui.plugin.contributes;\n\n const parsed: Record<string, any> = normalize(contributes);\n\n return {\n ...parsed,\n contributes,\n json,\n };\n};\n","import styled from \"@emotion/styled\";\nimport { CardButtonGrid } from \"@kosdev-code/kos-ddk-components\";\nimport { useCallback, useMemo, useState } from \"react\";\nimport { KOSMetadata } from \"../../utils\";\nimport { DynamicComponentView } from \"./dynamic-component-view\";\nimport { kosComponent, useKosTranslation } from \"@kosdev-code/kos-ui-sdk\";\n\nconst DynamicViewBasicContainer = styled.div`\n display: flex;\n flex-direction: column;\n gap: 32px;\n padding: 24px;\n`;\n\ninterface DynamicViewBasicProps {\n kOSMetadata: KOSMetadata;\n list: any[];\n map: Record<string, any>;\n resolver: (location: string) => any;\n}\n\nexport const DynamicViewBasic = kosComponent(\n ({\n kOSMetadata: { experiencesMap },\n list,\n map,\n resolver,\n }: DynamicViewBasicProps) => {\n const [selectedItem, setSelectedItem] = useState<any>();\n\n const namespaces = list.map((ext) => ext.namespace) || [];\n const { t } = useKosTranslation([...new Set(namespaces)]);\n\n const selectedExperienceID = selectedItem?.experienceId;\n const experience = experiencesMap[selectedExperienceID];\n const component = experience?.component;\n const location = experience?.location;\n\n const select = useCallback(\n (itemID: string) => {\n const item = map[itemID];\n\n setSelectedItem(item);\n },\n [map]\n );\n\n const translatedList = useMemo(\n () =>\n list.map((item) => {\n return {\n ...item,\n label: t(`${item.namespace}:${item.title}`, `\"${item.title}\"`),\n };\n }),\n [list, t]\n );\n\n return (\n <DynamicViewBasicContainer>\n <CardButtonGrid items={translatedList} onSelect={select} />\n\n {component && location && (\n <DynamicComponentView\n component={component}\n location={location}\n resolver={resolver}\n />\n )}\n </DynamicViewBasicContainer>\n );\n }\n);\n","import styled from \"@emotion/styled\";\nimport { CardButtonGrid, Header, Modal } from \"@kosdev-code/kos-ddk-components\";\nimport { kosComponent, useKosTranslation } from \"@kosdev-code/kos-ui-sdk\";\nimport { useCallback, useMemo, useState } from \"react\";\nimport { KOSMetadata } from \"../../utils\";\nimport { DynamicComponentView } from \"./dynamic-component-view\";\n\nconst DynamicViewModalContainer = styled.div`\n display: flex;\n flex-direction: column;\n gap: 32px;\n padding: 24px;\n`;\n\ninterface DynamicViewModalProps {\n kOSMetadata: KOSMetadata;\n list: any[];\n map: Record<string, any>;\n showOpenButton?: boolean;\n showCloseButton?: boolean;\n resolver: (location: string) => any;\n}\n\nexport const DynamicViewModal = kosComponent(\n ({\n kOSMetadata: { experiencesMap },\n list,\n map,\n showOpenButton = true,\n showCloseButton = true,\n resolver,\n }: DynamicViewModalProps) => {\n const [selectedItem, setSelectedItem] = useState<any>();\n\n const namespaces = list.map((ext) => ext.namespace) || [];\n const { t } = useKosTranslation([...new Set(namespaces)]);\n\n const selectedExperienceID = selectedItem?.experienceId;\n const experience = experiencesMap[selectedExperienceID];\n const component = experience?.component;\n const location = experience?.location;\n\n const select = useCallback(\n (itemID: string) => {\n const item = map[itemID];\n\n if (item) {\n setSelectedItem(item);\n } else {\n setSelectedItem(null);\n }\n },\n [map]\n );\n\n const translatedList = useMemo(\n () =>\n list.map((item) => {\n return {\n ...item,\n label: t(`${item.namespace}:${item.title}`, `\"${item.title}\"`),\n };\n }),\n [list, t]\n );\n\n return (\n <DynamicViewModalContainer>\n <CardButtonGrid items={translatedList} onSelect={select} />\n\n {component && location && (\n <Modal mode=\"maximized\" show={true}>\n <>\n <Header\n title={t(selectedItem.title, `\"${selectedItem.title}\"`)}\n showOpenButton={showOpenButton}\n showCloseButton={showCloseButton}\n onClose={() => {\n select(\"\");\n }}\n />\n <DynamicComponentView\n component={component}\n location={location}\n resolver={resolver}\n />\n </>\n </Modal>\n )}\n </DynamicViewModalContainer>\n );\n }\n);\n","import styled from \"@emotion/styled\";\nimport {\n SettingsSubheading,\n TabContainer,\n Tabs,\n} from \"@kosdev-code/kos-ddk-components\";\nimport { useKosTranslation } from \"@kosdev-code/kos-ui-sdk\";\nimport { useMemo } from \"react\";\nimport type { SettingsDefinition } from \"../../../../types/global\";\nimport { KOSMetadata } from \"../../utils\";\nimport { DynamicComponentView } from \"./dynamic-component-view\";\n\nconst DynamicViewSettingsContainer = styled.div`\n display: flex;\n flex-direction: column;\n gap: 32px;\n padding: 24px;\n`;\n\nconst GroupContainer = styled.div`\n display: flex;\n flex-direction: column;\n gap: 32px;\n`;\n\ninterface Setting {\n id: string;\n title: string;\n namespace: string;\n settingsGroup: string;\n experienceId: string;\n}\n\ninterface SettingsViewProps {\n experiencesMap: any;\n resolver: (location: string) => any;\n setting: Setting;\n}\n\nconst SettingView = ({\n experiencesMap,\n resolver,\n setting: { experienceId, id, namespace, title },\n}: SettingsViewProps) => {\n const { t } = useKosTranslation(namespace);\n\n const experience = experiencesMap[experienceId];\n const component = experience?.component;\n const location = experience?.location;\n\n return (\n <TabContainer>\n <SettingsSubheading>{t(title, `\"${title}\"`)}</SettingsSubheading>\n <DynamicComponentView\n key={id}\n component={component}\n location={location}\n resolver={resolver}\n />\n </TabContainer>\n );\n};\n\ninterface GroupViewProps {\n experiencesMap: any;\n group: Setting[];\n resolver: (location: string) => any;\n}\n\nconst GroupView = ({ experiencesMap, group, resolver }: GroupViewProps) => (\n <GroupContainer>\n {group.map((setting) => (\n <SettingView\n key={setting.settingsGroup}\n experiencesMap={experiencesMap}\n resolver={resolver}\n setting={setting}\n />\n ))}\n </GroupContainer>\n);\n\ninterface DynamicViewSettingsProps {\n kOSMetadata: KOSMetadata;\n list: SettingsDefinition[];\n map: Record<string, any>;\n showOpenButton?: boolean;\n showCloseButton?: boolean;\n baseRoute?: string;\n resolver: (location: string) => any;\n}\n\nexport const DynamicViewSettings = ({\n kOSMetadata: { experiencesMap },\n list,\n\n resolver,\n}: DynamicViewSettingsProps) => {\n const groups = useMemo(() => {\n const groups: Record<string, any> = {};\n\n list.forEach((item) => {\n if (!groups[item.settingsGroup]) {\n groups[item.settingsGroup] = [];\n }\n\n groups[item.settingsGroup].push(item);\n });\n\n return groups;\n }, [list]);\n\n const tabs = useMemo(\n () =>\n Object.keys(groups).map((groupName) => {\n return {\n id: groupName,\n label: groupName,\n content: (\n <GroupView\n experiencesMap={experiencesMap}\n group={groups[groupName]}\n resolver={resolver}\n />\n ),\n };\n }),\n [experiencesMap, groups, resolver]\n );\n\n return (\n <DynamicViewSettingsContainer>\n <Tabs tabs={tabs} />\n </DynamicViewSettingsContainer>\n );\n};\n","import styled from \"@emotion/styled\";\nimport { CardButtonGrid } from \"@kosdev-code/kos-ddk-components\";\nimport { useCallback, useMemo, useState } from \"react\";\nimport { KOSMetadata } from \"../../utils\";\nimport { DynamicComponentView } from \"./dynamic-component-view\";\nimport { kosComponent, useKosTranslation } from \"@kosdev-code/kos-ui-sdk\";\n\nconst DynamicViewUtilitiesContainer = styled.div`\n display: flex;\n flex-direction: column;\n gap: 32px;\n padding: 24px;\n`;\n\ninterface DynamicViewUtilitiesProps {\n kOSMetadata: KOSMetadata;\n list: any[];\n map: Record<string, any>;\n showOpenButton?: boolean;\n showCloseButton?: boolean;\n resolver: (location: string) => any;\n}\n\nexport const DynamicViewUtilities = kosComponent(\n ({\n kOSMetadata: { experiencesMap },\n list,\n map,\n resolver,\n }: DynamicViewUtilitiesProps) => {\n const [selectedItem, setSelectedItem] = useState<any>();\n\n const namespaces = list.map((ext) => ext.namespace) || [];\n const { t } = useKosTranslation([...new Set(namespaces)]);\n\n const selectedExperienceID = selectedItem?.experienceId;\n const experience = experiencesMap[selectedExperienceID];\n const component = experience?.component;\n const location = experience?.location;\n\n const select = useCallback(\n (itemID: string) => {\n const item = map[itemID];\n\n if (item) {\n setSelectedItem(item);\n } else {\n setSelectedItem(null);\n }\n },\n [map]\n );\n\n const translatedList = useMemo(\n () =>\n list.map((item) => {\n return {\n ...item,\n label: t(`${item.namespace}:${item.title}`, `\"${item.title}\"`),\n };\n }),\n [list, t]\n );\n\n return (\n <DynamicViewUtilitiesContainer>\n <CardButtonGrid items={translatedList} onSelect={select} />\n\n {component && location && (\n <DynamicComponentView\n component={component}\n location={location}\n resolver={resolver}\n props={{ onComplete: select }}\n />\n )}\n </DynamicViewUtilitiesContainer>\n );\n }\n);\n","import { TabRouter } from \"@kosdev-code/kos-ddk-components\";\nimport { kosComponent } from \"@kosdev-code/kos-ui-sdk\";\nimport { useMemo } from \"react\";\nimport { parse } from \"../../utils\";\nimport { DynamicViewBasic } from \"./dynamic-view-basic\";\nimport { DynamicViewModal } from \"./dynamic-view-modal\";\nimport { DynamicViewSettings } from \"./dynamic-view-settings\";\nimport { DynamicViewUtilities } from \"./dynamic-view-utilities\";\n\nconst contentComponentMap: Record<string, any> = {\n cui: (props: any) => <DynamicViewModal {...props} showOpenButton={false} />,\n utilities: DynamicViewUtilities,\n setupStep: DynamicViewModal,\n settings: (props: any) => (\n <DynamicViewSettings baseRoute=\"settings\" {...props} />\n ),\n};\n\ninterface DynamicContainerProps {\n kOSJSON: any;\n resolver: (location: string) => any;\n}\n\nexport const DynamicContainer: React.FunctionComponent<DynamicContainerProps> =\n kosComponent(({ kOSJSON, resolver }) => {\n const kOSMetadata = useMemo(() => parse(kOSJSON), [kOSJSON]);\n\n const tabs = useMemo(\n () =>\n Object.keys(kOSMetadata.contributes)\n .filter(\n (key) =>\n Array.isArray(kOSMetadata.contributes[key]) &&\n kOSMetadata.contributes[key].length\n )\n .map((key) => {\n const Component = contentComponentMap[key] || DynamicViewBasic;\n\n return {\n id: key,\n label: key,\n content: (\n <Component\n key={key}\n kOSMetadata={kOSMetadata}\n list={kOSMetadata[`${key}List`]}\n map={kOSMetadata[`${key}Map`]}\n resolver={resolver}\n />\n ),\n };\n }),\n []\n );\n\n return <TabRouter baseRoute=\"\" tabs={tabs} />;\n });\n","import styled from \"@emotion/styled\";\nimport { PickerCard } from \"@kosdev-code/kos-ddk-components\";\nimport { useCallback, useState } from \"react\";\nimport { DynamicComponentView } from \"./dynamic-component-view\";\nimport { KOSMetadata } from \"../../utils\";\n\nconst DynamicViewPickerContainer = styled.div`\n display: flex;\n flex-direction: column;\n gap: 32px;\n width: 100%;\n`;\n\ninterface DynamicViewPickerProps {\n kOSMetadata: KOSMetadata;\n resolver: (location: string) => any;\n}\n\nexport const DynamicViewPicker = ({\n kOSMetadata: { defaultExperienceId, experienceList, experienceMap },\n resolver,\n}: DynamicViewPickerProps) => {\n const [selectedExperienceID, setSelectedExperienceID] =\n useState(defaultExperienceId);\n\n const component = experienceMap[selectedExperienceID].component;\n const location = experienceMap[selectedExperienceID].location;\n\n const save = useCallback((experienceID: string) => {\n setSelectedExperienceID(experienceID);\n }, []);\n\n return (\n <DynamicViewPickerContainer>\n <PickerCard\n label=\"Experience\"\n items={experienceList}\n selectedItemId={selectedExperienceID}\n cancelButtonLabel=\"Cancel\"\n proceedButtonLabel=\"Select\"\n onSave={save}\n displayValue={component}\n />\n\n <DynamicComponentView\n component={component}\n location={location}\n resolver={resolver}\n />\n </DynamicViewPickerContainer>\n );\n};\n","export default \"data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20id='kos_logo_full'%20data-name='kos_logo_full'%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2041.58%2016.95'%20fill='%23fff'%3e%3cpath%20d='m21.49,12.39c-.7-.38-1.25-.91-1.64-1.59-.4-.68-.59-1.45-.59-2.32s.2-1.64.59-2.32c.4-.68.94-1.21,1.64-1.59.7-.38,1.49-.57,2.38-.57s1.68.19,2.38.57c.7.38,1.25.91,1.64,1.59.4.68.59,1.45.59,2.32s-.2,1.64-.59,2.32c-.4.68-.94,1.21-1.64,1.59-.7.38-1.49.57-2.38.57s-1.68-.19-2.38-.57Zm3.76-1.49c.4-.24.72-.56.95-.98.23-.42.34-.9.34-1.43s-.11-1.01-.34-1.43c-.23-.42-.54-.75-.95-.98-.4-.24-.86-.35-1.37-.35s-.97.12-1.37.35c-.4.24-.72.56-.95.98-.23.42-.34.9-.34,1.43s.11,1.01.34,1.43c.23.42.54.75.95.98.4.24.86.35,1.37.35s.97-.12,1.37-.35Zm6.34,1.67c-.73-.24-1.32-.56-1.76-.98l1.16-1.42c.81.72,1.77,1.08,2.89,1.08.51,0,.92-.1,1.24-.29.31-.19.47-.43.47-.71,0-.21-.09-.38-.28-.53-.18-.14-.5-.26-.94-.35l-1.84-.35c-.8-.15-1.4-.43-1.79-.83-.4-.4-.59-.91-.59-1.51,0-.54.16-1.02.47-1.42.32-.4.76-.71,1.32-.93s1.2-.32,1.91-.32c.67,0,1.32.1,1.93.29s1.15.49,1.6.9l-1.08,1.38c-.76-.62-1.6-.92-2.51-.92-.49,0-.89.08-1.22.25-.32.17-.49.38-.49.64,0,.17.08.32.25.44.16.13.48.24.94.32l1.7.31c.85.16,1.49.46,1.91.91.43.44.64.97.64,1.59,0,.55-.15,1.04-.44,1.46s-.71.75-1.25.98-1.17.35-1.88.35c-.86,0-1.65-.12-2.38-.35ZM41.5,1c0-.55-.46-1-1.01-1H1C.45,0,0,.45,0,1v14.95c0,.55.45,1,1,1h15.2v-.02s.06.02.1.02h24.29c.55,0,1-.45.99-1l-.08-14.95Zm-25.21,14.95l-.09-14.95h24.3s.09,14.95.09,14.95h-24.3Zm-8.34-7.1l-1.66,1.64v2.32h-1.88V4.16h1.88v4.09l4.1-4.09h2.27l-3.42,3.4,3.62,5.24h-2.23l-2.69-3.96Z'%20/%3e%3c/svg%3e\"","import styled from \"@emotion/styled\";\nimport {\n Container,\n TopNavigationButtonList,\n} from \"@kosdev-code/kos-ddk-components\";\nimport { ReactNode, useMemo } from \"react\";\nimport kosLogo from \"./kos-logo.svg\";\n\nconst HeaderStyles = styled.div`\n background-color: var(--ddk-component-top-navigation-background-color);\n color: var(--ddk-component-top-navigation-color);\n`;\n\nconst ContainerStyles = styled.div`\n padding: var(--ddk-component-top-navigation-padding);\n display: flex;\n justify-content: space-between;\n align-items: center;\n`;\n\nconst LogoContainerStyles = styled.div`\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: 16px;\n`;\n\nconst LogoStyles = styled.div`\n width: 100px;\n`;\n\nconst TitleStyles = styled.h1`\n font-size: 16px;\n`;\n\nconst useNavigationItems = () => {\n const navigationItems = useMemo(() => {\n const navigationItems: { children: ReactNode; to: string }[] = [\n // { children: 'Develop', to: '/develop' }\n ];\n\n return navigationItems;\n }, []);\n\n return navigationItems;\n};\n\nexport const Header = () => {\n const navigationItems = useNavigationItems();\n\n return (\n <HeaderStyles>\n <Container>\n <ContainerStyles>\n <LogoContainerStyles>\n <LogoStyles>\n <img alt=\"KOS logo\" src={kosLogo} />\n </LogoStyles>\n <TitleStyles>Welcome to KOS</TitleStyles>\n </LogoContainerStyles>\n <TopNavigationButtonList items={navigationItems} />\n </ContainerStyles>\n </Container>\n </HeaderStyles>\n );\n};\n","import styled from \"@emotion/styled\";\nimport { kosComponent } from \"@kosdev-code/kos-ui-sdk\";\nimport { ReactNode } from \"react\";\nimport { Header } from \"./header\";\n\nconst Container = styled.div`\n display: flex;\n flex-direction: column;\n overflow: hidden;\n height: 100vh;\n`;\n\nconst Body = styled.div`\n display: flex;\n flex-direction: column;\n overflow-y: auto;\n`;\n\ninterface ShellProps {\n children: ReactNode;\n}\n\nexport const Shell = kosComponent(({ children }: ShellProps) => (\n <Container>\n <Header />\n <Body>{children}</Body>\n </Container>\n));\n","import type { ReactNode } from \"react\";\n\ninterface ControlPourStoryContainerProps {\n children: ReactNode;\n}\n\nexport const ControlPourStoryContainer = ({\n children,\n}: ControlPourStoryContainerProps) => children;\n","import {\n BackButton,\n Header,\n Modal,\n useComponentConfigurationContext,\n} from \"@kosdev-code/kos-ddk-components\";\nimport type { ReactNode } from \"react\";\n\ninterface CUIStoryContainerProps {\n children: ReactNode;\n}\n\nexport const CUIStoryContainer = ({ children }: CUIStoryContainerProps) => {\n const { componentModeOverride } = useComponentConfigurationContext();\n\n return (\n <Modal\n contain={componentModeOverride !== \"compact\"}\n mode=\"maximized\"\n show={true}\n >\n <>\n <Header\n CloseButton={\n componentModeOverride === \"compact\" ? BackButton : undefined\n }\n contain={componentModeOverride === \"compact\"}\n showCloseButton={true}\n showOpenButton={false}\n title=\"CUI\"\n />\n {children}\n </>\n </Modal>\n );\n};\n","import type { ReactNode } from \"react\";\n\ninterface NavStoryContainerProps {\n children: ReactNode;\n}\n\nexport const NavStoryContainer = ({ children }: NavStoryContainerProps) =>\n children;\n","import {\n SettingsSubheading,\n TabContainer,\n} from \"@kosdev-code/kos-ddk-components\";\nimport type { ReactNode } from \"react\";\n\ninterface SettingStoryContainerProps {\n children: ReactNode;\n}\n\nexport const SettingStoryContainer = ({\n children,\n}: SettingStoryContainerProps) => (\n <TabContainer>\n <SettingsSubheading>Setting</SettingsSubheading>\n {children}\n </TabContainer>\n);\n","import {\n BackButton,\n Header,\n Modal,\n useComponentConfigurationContext,\n} from \"@kosdev-code/kos-ddk-components\";\nimport type { ReactNode } from \"react\";\n\ninterface SetupStepStoryContainerProps {\n children: ReactNode;\n}\n\nexport const SetupStepStoryContainer = ({\n children,\n}: SetupStepStoryContainerProps) => {\n const { componentModeOverride } = useComponentConfigurationContext();\n\n return (\n <Modal\n contain={componentModeOverride !== \"compact\"}\n mode=\"maximized\"\n show={true}\n >\n <>\n <Header\n CloseButton={\n componentModeOverride === \"compact\" ? BackButton : undefined\n }\n contain={componentModeOverride === \"compact\"}\n showCloseButton={true}\n showOpenButton={true}\n title=\"Setup Step\"\n />\n {children}\n </>\n </Modal>\n );\n};\n","import type { ReactNode } from \"react\";\n\ninterface UtilityStoryContainerProps {\n children: ReactNode;\n}\n\nexport const UtilityStoryContainer = ({\n children,\n}: UtilityStoryContainerProps) => children;\n"],"names":["DynamicComponentView","component","location","resolver","props","Component","setComponent","useState","useEffect","result","jsx","normalize","json","parsed","key","value","listKey","mapKey","list","map","item","data","parse","contributes","DynamicViewBasicContainer","styled","DynamicViewBasic","kosComponent","experiencesMap","selectedItem","setSelectedItem","namespaces","ext","t","useKosTranslation","selectedExperienceID","experience","select","useCallback","itemID","translatedList","useMemo","CardButtonGrid","DynamicViewModalContainer","DynamicViewModal","showOpenButton","showCloseButton","Modal","jsxs","Fragment","Header","DynamicViewSettingsContainer","GroupContainer","SettingView","experienceId","id","namespace","title","TabContainer","SettingsSubheading","GroupView","group","setting","DynamicViewSettings","groups","tabs","groupName","Tabs","DynamicViewUtilitiesContainer","DynamicViewUtilities","contentComponentMap","DynamicContainer","kOSJSON","kOSMetadata","TabRouter","DynamicViewPickerContainer","DynamicViewPicker","defaultExperienceId","experienceList","experienceMap","setSelectedExperienceID","save","experienceID","PickerCard","kosLogo","HeaderStyles","ContainerStyles","LogoContainerStyles","LogoStyles","TitleStyles","useNavigationItems","navigationItems","Container","TopNavigationButtonList","Body","Shell","children","ControlPourStoryContainer","CUIStoryContainer","componentModeOverride","useComponentConfigurationContext","BackButton","NavStoryContainer","SettingStoryContainer","SetupStepStoryContainer","UtilityStoryContainer"],"mappings":"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"}
|