@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.
Files changed (188) hide show
  1. package/documentation-generator-B8FuhDjB.js +1271 -0
  2. package/documentation-generator-B8FuhDjB.js.map +1 -0
  3. package/documentation-generator-E9tFyId_.cjs +266 -0
  4. package/documentation-generator-E9tFyId_.cjs.map +1 -0
  5. package/index.cjs +412 -4
  6. package/index.cjs.map +1 -1
  7. package/index.d.ts +1 -1
  8. package/index.d.ts.map +1 -1
  9. package/index.js +2179 -64
  10. package/index.js.map +1 -1
  11. package/lib/components/dynamic-component/dynamic-component.d.ts.map +1 -1
  12. package/lib/components/dynamic-component/error-boundary.d.ts +17 -0
  13. package/lib/components/dynamic-component/error-boundary.d.ts.map +1 -0
  14. package/lib/components/index.d.ts +1 -0
  15. package/lib/components/index.d.ts.map +1 -1
  16. package/lib/components/plugin-explorer/extension-point-list.d.ts +13 -0
  17. package/lib/components/plugin-explorer/extension-point-list.d.ts.map +1 -0
  18. package/lib/components/plugin-explorer/floating-plugin-explorer.d.ts +13 -0
  19. package/lib/components/plugin-explorer/floating-plugin-explorer.d.ts.map +1 -0
  20. package/lib/components/plugin-explorer/index.d.ts +10 -0
  21. package/lib/components/plugin-explorer/index.d.ts.map +1 -0
  22. package/lib/components/plugin-explorer/plugin-card.d.ts +10 -0
  23. package/lib/components/plugin-explorer/plugin-card.d.ts.map +1 -0
  24. package/lib/components/plugin-explorer/plugin-explorer.d.ts +12 -0
  25. package/lib/components/plugin-explorer/plugin-explorer.d.ts.map +1 -0
  26. package/lib/components/plugin-explorer/plugin-health-dashboard.d.ts +9 -0
  27. package/lib/components/plugin-explorer/plugin-health-dashboard.d.ts.map +1 -0
  28. package/lib/hooks/index.d.ts +3 -0
  29. package/lib/hooks/index.d.ts.map +1 -1
  30. package/lib/hooks/use-extension-component.d.ts +21 -0
  31. package/lib/hooks/use-extension-component.d.ts.map +1 -0
  32. package/lib/hooks/use-plugin-discovery.d.ts +23 -0
  33. package/lib/hooks/use-plugin-discovery.d.ts.map +1 -0
  34. package/lib/hooks/use-typed-extensions.d.ts +152 -0
  35. package/lib/hooks/use-typed-extensions.d.ts.map +1 -0
  36. package/lib/utils/discovery/documentation-generator.d.ts +85 -0
  37. package/lib/utils/discovery/documentation-generator.d.ts.map +1 -0
  38. package/lib/utils/discovery/plugin-discovery-service.d.ts +109 -0
  39. package/lib/utils/discovery/plugin-discovery-service.d.ts.map +1 -0
  40. package/lib/utils/extension-points/define-extension-point.d.ts +58 -0
  41. package/lib/utils/extension-points/define-extension-point.d.ts.map +1 -0
  42. package/lib/utils/extension-points/example-extension-point.d.ts +67 -0
  43. package/lib/utils/extension-points/example-extension-point.d.ts.map +1 -0
  44. package/lib/utils/extension-points/extension-point-registry.d.ts +34 -0
  45. package/lib/utils/extension-points/extension-point-registry.d.ts.map +1 -0
  46. package/lib/utils/extension-points/extension-point-schema.d.ts +9 -0
  47. package/lib/utils/extension-points/extension-point-schema.d.ts.map +1 -0
  48. package/lib/utils/extension-points/extension-point-schemas.d.ts +92 -0
  49. package/lib/utils/extension-points/extension-point-schemas.d.ts.map +1 -0
  50. package/lib/utils/extension-points/extension-point-transforms.d.ts +21 -0
  51. package/lib/utils/extension-points/extension-point-transforms.d.ts.map +1 -0
  52. package/lib/utils/extension-points/extension-point-types.d.ts +162 -0
  53. package/lib/utils/extension-points/extension-point-types.d.ts.map +1 -0
  54. package/lib/utils/extension-points/extension-point-validation.d.ts +43 -0
  55. package/lib/utils/extension-points/extension-point-validation.d.ts.map +1 -0
  56. package/lib/utils/index.d.ts +9 -15
  57. package/lib/utils/index.d.ts.map +1 -1
  58. package/lib/utils/{plugin-extension-manager.d.ts → plugin-system/plugin-extension-manager.d.ts} +3 -5
  59. package/lib/utils/plugin-system/plugin-extension-manager.d.ts.map +1 -0
  60. package/lib/utils/plugin-system/plugin-extension-registry-init.d.ts +2 -0
  61. package/lib/utils/plugin-system/plugin-extension-registry-init.d.ts.map +1 -0
  62. package/lib/utils/{plugin-extension-registry.d.ts → plugin-system/plugin-extension-registry.d.ts} +1 -1
  63. package/lib/utils/plugin-system/plugin-extension-registry.d.ts.map +1 -0
  64. package/lib/utils/{plugin-reducer.d.ts → plugin-system/plugin-reducer.d.ts} +1 -1
  65. package/lib/utils/plugin-system/plugin-reducer.d.ts.map +1 -0
  66. package/lib/utils/{resolve-best-extension.d.ts → plugin-system/resolve-best-extension.d.ts} +1 -1
  67. package/lib/utils/plugin-system/resolve-best-extension.d.ts.map +1 -0
  68. package/lib/utils/processors/contribution-reducer.d.ts +5 -0
  69. package/lib/utils/processors/contribution-reducer.d.ts.map +1 -0
  70. package/lib/utils/{initialize-plugins.d.ts → processors/initialize-plugins.d.ts} +2 -2
  71. package/lib/utils/processors/initialize-plugins.d.ts.map +1 -0
  72. package/lib/utils/processors/initialize-simplified-extensions.d.ts +13 -0
  73. package/lib/utils/processors/initialize-simplified-extensions.d.ts.map +1 -0
  74. package/lib/utils/{process-kos-config.d.ts → processors/process-kos-config.d.ts} +1 -1
  75. package/lib/utils/processors/process-kos-config.d.ts.map +1 -0
  76. package/lib/utils/processors/simplified-contribution-processor.d.ts +14 -0
  77. package/lib/utils/processors/simplified-contribution-processor.d.ts.map +1 -0
  78. package/package.json +2 -7
  79. package/types/global.d.ts +0 -62
  80. package/types/plugins.d.ts +3 -127
  81. package/utils.cjs +1 -1
  82. package/utils.cjs.map +1 -1
  83. package/utils.js +99 -82
  84. package/utils.js.map +1 -1
  85. package/dev.cjs +0 -57
  86. package/dev.cjs.map +0 -1
  87. package/dev.js +0 -403
  88. package/dev.js.map +0 -1
  89. package/emotion-react-jsx-runtime.browser.esm-0ViwU5Kh.cjs +0 -17
  90. package/emotion-react-jsx-runtime.browser.esm-0ViwU5Kh.cjs.map +0 -1
  91. package/emotion-react-jsx-runtime.browser.esm-70CdOW1e.js +0 -1065
  92. package/emotion-react-jsx-runtime.browser.esm-70CdOW1e.js.map +0 -1
  93. package/lib/dev/components/dynamic-view/dynamic-component-view.d.ts +0 -9
  94. package/lib/dev/components/dynamic-view/dynamic-component-view.d.ts.map +0 -1
  95. package/lib/dev/components/dynamic-view/dynamic-container.d.ts +0 -8
  96. package/lib/dev/components/dynamic-view/dynamic-container.d.ts.map +0 -1
  97. package/lib/dev/components/dynamic-view/dynamic-view-basic.d.ts +0 -13
  98. package/lib/dev/components/dynamic-view/dynamic-view-basic.d.ts.map +0 -1
  99. package/lib/dev/components/dynamic-view/dynamic-view-modal.d.ts +0 -15
  100. package/lib/dev/components/dynamic-view/dynamic-view-modal.d.ts.map +0 -1
  101. package/lib/dev/components/dynamic-view/dynamic-view-picker.d.ts +0 -9
  102. package/lib/dev/components/dynamic-view/dynamic-view-picker.d.ts.map +0 -1
  103. package/lib/dev/components/dynamic-view/dynamic-view-settings.d.ts +0 -15
  104. package/lib/dev/components/dynamic-view/dynamic-view-settings.d.ts.map +0 -1
  105. package/lib/dev/components/dynamic-view/dynamic-view-utilities.d.ts +0 -15
  106. package/lib/dev/components/dynamic-view/dynamic-view-utilities.d.ts.map +0 -1
  107. package/lib/dev/components/dynamic-view/index.d.ts +0 -8
  108. package/lib/dev/components/dynamic-view/index.d.ts.map +0 -1
  109. package/lib/dev/components/index.d.ts +0 -4
  110. package/lib/dev/components/index.d.ts.map +0 -1
  111. package/lib/dev/components/shell/header/header.d.ts +0 -2
  112. package/lib/dev/components/shell/header/header.d.ts.map +0 -1
  113. package/lib/dev/components/shell/header/index.d.ts +0 -2
  114. package/lib/dev/components/shell/header/index.d.ts.map +0 -1
  115. package/lib/dev/components/shell/index.d.ts +0 -3
  116. package/lib/dev/components/shell/index.d.ts.map +0 -1
  117. package/lib/dev/components/shell/shell.d.ts +0 -10
  118. package/lib/dev/components/shell/shell.d.ts.map +0 -1
  119. package/lib/dev/components/storybook/control-pour-story-container/control-pour-story-container.d.ts +0 -8
  120. package/lib/dev/components/storybook/control-pour-story-container/control-pour-story-container.d.ts.map +0 -1
  121. package/lib/dev/components/storybook/control-pour-story-container/index.d.ts +0 -2
  122. package/lib/dev/components/storybook/control-pour-story-container/index.d.ts.map +0 -1
  123. package/lib/dev/components/storybook/cui-story-container/cui-story-container.d.ts +0 -8
  124. package/lib/dev/components/storybook/cui-story-container/cui-story-container.d.ts.map +0 -1
  125. package/lib/dev/components/storybook/cui-story-container/index.d.ts +0 -2
  126. package/lib/dev/components/storybook/cui-story-container/index.d.ts.map +0 -1
  127. package/lib/dev/components/storybook/index.d.ts +0 -7
  128. package/lib/dev/components/storybook/index.d.ts.map +0 -1
  129. package/lib/dev/components/storybook/nav-story-container/index.d.ts +0 -2
  130. package/lib/dev/components/storybook/nav-story-container/index.d.ts.map +0 -1
  131. package/lib/dev/components/storybook/nav-story-container/nav-story-container.d.ts +0 -8
  132. package/lib/dev/components/storybook/nav-story-container/nav-story-container.d.ts.map +0 -1
  133. package/lib/dev/components/storybook/setting-story-container/index.d.ts +0 -2
  134. package/lib/dev/components/storybook/setting-story-container/index.d.ts.map +0 -1
  135. package/lib/dev/components/storybook/setting-story-container/setting-story-container.d.ts +0 -8
  136. package/lib/dev/components/storybook/setting-story-container/setting-story-container.d.ts.map +0 -1
  137. package/lib/dev/components/storybook/setup-step-story-container/index.d.ts +0 -2
  138. package/lib/dev/components/storybook/setup-step-story-container/index.d.ts.map +0 -1
  139. package/lib/dev/components/storybook/setup-step-story-container/setup-step-story-container.d.ts +0 -8
  140. package/lib/dev/components/storybook/setup-step-story-container/setup-step-story-container.d.ts.map +0 -1
  141. package/lib/dev/components/storybook/utility-story-container/index.d.ts +0 -2
  142. package/lib/dev/components/storybook/utility-story-container/index.d.ts.map +0 -1
  143. package/lib/dev/components/storybook/utility-story-container/utility-story-container.d.ts +0 -8
  144. package/lib/dev/components/storybook/utility-story-container/utility-story-container.d.ts.map +0 -1
  145. package/lib/dev/index.d.ts +0 -3
  146. package/lib/dev/index.d.ts.map +0 -1
  147. package/lib/dev/utils/index.d.ts +0 -2
  148. package/lib/dev/utils/index.d.ts.map +0 -1
  149. package/lib/dev/utils/kos-metadata-parser.d.ts +0 -6
  150. package/lib/dev/utils/kos-metadata-parser.d.ts.map +0 -1
  151. package/lib/dev/utils/normalize.d.ts +0 -2
  152. package/lib/dev/utils/normalize.d.ts.map +0 -1
  153. package/lib/utils/contribution-reducer.d.ts +0 -5
  154. package/lib/utils/contribution-reducer.d.ts.map +0 -1
  155. package/lib/utils/control-pour-reducer.d.ts +0 -5
  156. package/lib/utils/control-pour-reducer.d.ts.map +0 -1
  157. package/lib/utils/cui-reducer.d.ts +0 -7
  158. package/lib/utils/cui-reducer.d.ts.map +0 -1
  159. package/lib/utils/dashboard-detail-reducer.d.ts +0 -5
  160. package/lib/utils/dashboard-detail-reducer.d.ts.map +0 -1
  161. package/lib/utils/dashboard-pump-detail-reducer.d.ts +0 -5
  162. package/lib/utils/dashboard-pump-detail-reducer.d.ts.map +0 -1
  163. package/lib/utils/dashboard-reducer.d.ts +0 -3
  164. package/lib/utils/dashboard-reducer.d.ts.map +0 -1
  165. package/lib/utils/dashboard-summary-reducer.d.ts +0 -5
  166. package/lib/utils/dashboard-summary-reducer.d.ts.map +0 -1
  167. package/lib/utils/initialize-plugins.d.ts.map +0 -1
  168. package/lib/utils/nav-view-reducer.d.ts +0 -5
  169. package/lib/utils/nav-view-reducer.d.ts.map +0 -1
  170. package/lib/utils/plugin-extension-manager.d.ts.map +0 -1
  171. package/lib/utils/plugin-extension-registry-init.d.ts +0 -2
  172. package/lib/utils/plugin-extension-registry-init.d.ts.map +0 -1
  173. package/lib/utils/plugin-extension-registry.d.ts.map +0 -1
  174. package/lib/utils/plugin-reducer.d.ts.map +0 -1
  175. package/lib/utils/process-kos-config.d.ts.map +0 -1
  176. package/lib/utils/resolve-best-extension.d.ts.map +0 -1
  177. package/lib/utils/settings-reducer.d.ts +0 -8
  178. package/lib/utils/settings-reducer.d.ts.map +0 -1
  179. package/lib/utils/setup-reducer.d.ts +0 -7
  180. package/lib/utils/setup-reducer.d.ts.map +0 -1
  181. package/lib/utils/state-action-reducer.d.ts +0 -5
  182. package/lib/utils/state-action-reducer.d.ts.map +0 -1
  183. package/lib/utils/util-reducer.d.ts +0 -7
  184. package/lib/utils/util-reducer.d.ts.map +0 -1
  185. package/resolve-best-extension-CqHaJSdN.js +0 -590
  186. package/resolve-best-extension-CqHaJSdN.js.map +0 -1
  187. package/resolve-best-extension-DSdPcuL3.cjs +0 -2
  188. package/resolve-best-extension-DSdPcuL3.cjs.map +0 -1
package/utils.js CHANGED
@@ -1,47 +1,49 @@
1
- import { d as O, E as V, b as S, p as m, h as P, f as D, g as h, n as k, k as A, l as b, u as C, s as y, t as R, z as X, x as q, y as v, I as U, F as $, H as B, G as L, M as w, K as W, L as F, Q as H, O as M, P as x, U as G, S as K, T as z, c as Y, e as Q, j as J, o as Z, q as j, v as p, B as ee, D as re, w as se, a as ae, i as ie, C as ne, A as oe, r as te, J as de, N as le, R as Ne, V as Ee } from "./resolve-best-extension-CqHaJSdN.js";
2
- function _(i) {
3
- const e = i.match(/^(\d+)\.(\d+)\.\d+(?:-\S+)?$/);
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: ${i}`);
6
- const [n, s, t] = e;
7
- return `${s}.${t}.0`;
7
+ throw new Error(`Invalid version format: ${s}`);
8
+ const [a, i, l] = e;
9
+ return `${i}.${l}.0`;
8
10
  }
9
- function c(i, e) {
10
- var N, E;
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 n = _((e == null ? void 0 : e.sdkVersion) || "0.2.0"), s = _((e == null ? void 0 : e.ddkVersion) || "0.2.0");
13
- console.log(`Using DDK version: ${s}`), console.log(`Using SDK version: ${n}`);
14
- const t = i == null ? void 0 : i.name;
15
- if (!t)
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((a, o) => (console.log(`Accessing key: ${o}`), a && a[o] ? a[o] : void 0), i), l = r == null ? void 0 : r.id;
20
- if (!l)
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 d = Object.keys(((N = r == null ? void 0 : r.contributes) == null ? void 0 : N.views) || {}).reduce(
25
- (a, o) => (r.contributes.views[o].forEach((u) => {
26
- a[`./${u.component}`] = u.location;
27
- }), a),
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(((E = r == null ? void 0 : r.contributes) == null ? void 0 : E.experiences) || {}).forEach(
31
- (a) => {
32
- d[`./${a.component}`] = a.location;
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 && (d["./InitPlugin"] = "./src/app/init.ts"), {
35
- name: t,
36
- exposes: d,
37
- library: { type: "var", name: l },
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: `~${s}`
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: `~${n}`
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: `~${n}`
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: `~${n}`
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: `~${s}`
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: `~${s}`
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: `~${s}`
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: `~${s}`
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: `~${s}`
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
- O as EXTENSION_POINT_CUI,
250
- V as EXTENSION_POINT_CUI_DEF,
251
- S as EXTENSION_POINT_CUI_VIEW,
252
- m as EXTENSION_POINT_DASHBOARD,
253
- P as EXTENSION_POINT_DASHBOARD_DETAIL,
254
- D as EXTENSION_POINT_DASHBOARD_DETAIL_DEF,
255
- h as EXTENSION_POINT_DASHBOARD_DETAIL_VIEW,
256
- k as EXTENSION_POINT_DASHBOARD_PUMP_DETAIL,
257
- A as EXTENSION_POINT_DASHBOARD_PUMP_DETAIL_DEF,
258
- b as EXTENSION_POINT_DASHBOARD_PUMP_DETAIL_VIEW,
259
- C as EXTENSION_POINT_DASHBOARD_SUMMARY,
260
- y as EXTENSION_POINT_DASHBOARD_SUMMARY_DEF,
261
- R as EXTENSION_POINT_DASHBOARD_SUMMARY_VIEW,
262
- X as EXTENSION_POINT_NAV_VIEW,
263
- q as EXTENSION_POINT_NAV_VIEW_DEF,
264
- v as EXTENSION_POINT_NAV_VIEW_VIEW,
265
- U as EXTENSION_POINT_SETTINGS,
266
- $ as EXTENSION_POINT_SETTINGS_DEF,
267
- B as EXTENSION_POINT_SETTINGS_GROUP_DEF,
268
- L as EXTENSION_POINT_SETTINGS_VIEW,
269
- w as EXTENSION_POINT_SETUP,
270
- W as EXTENSION_POINT_SETUP_DEF,
271
- F as EXTENSION_POINT_SETUP_VIEW,
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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"}