@kosdev-code/kos-ui-plugin 2.0.41 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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/index.js CHANGED
@@ -1,10 +1,1066 @@
1
- import { j as y, a as r } from "./emotion-react-jsx-runtime.browser.esm-70CdOW1e.js";
1
+ import * as J from "react/jsx-runtime";
2
+ import * as V from "react";
3
+ import Q, { forwardRef as Ot, useContext as qe, createContext as It, useState as j, useEffect as ee, Suspense as Dt, useMemo as Y } from "react";
2
4
  import h from "@emotion/styled";
3
- import { ErrorBoundaryWithFallback as w } from "@kosdev-code/kos-ui-sdk";
4
- import z, { createContext as C, useState as m, useEffect as P, useContext as K, Suspense as b } from "react";
5
- import { i as j, a as k, r as E, m as R } from "./resolve-best-extension-CqHaJSdN.js";
6
- import "react/jsx-runtime";
7
- const x = C(void 0), f = h.div`
5
+ import { a as Vt, b as jt, r as Se, m as Yt, P as te, g as Kt, c as Ze, D as Bt } from "./documentation-generator-B8FuhDjB.js";
6
+ import "zod";
7
+ function Wt(e) {
8
+ if (e.sheet)
9
+ return e.sheet;
10
+ for (var t = 0; t < document.styleSheets.length; t++)
11
+ if (document.styleSheets[t].ownerNode === e)
12
+ return document.styleSheets[t];
13
+ }
14
+ function Ht(e) {
15
+ var t = document.createElement("style");
16
+ return t.setAttribute("data-emotion", e.key), e.nonce !== void 0 && t.setAttribute("nonce", e.nonce), t.appendChild(document.createTextNode("")), t.setAttribute("data-s", ""), t;
17
+ }
18
+ var Ut = /* @__PURE__ */ function() {
19
+ function e(n) {
20
+ var r = this;
21
+ this._insertTag = function(i) {
22
+ var o;
23
+ r.tags.length === 0 ? r.insertionPoint ? o = r.insertionPoint.nextSibling : r.prepend ? o = r.container.firstChild : o = r.before : o = r.tags[r.tags.length - 1].nextSibling, r.container.insertBefore(i, o), r.tags.push(i);
24
+ }, this.isSpeedy = n.speedy === void 0 ? !0 : n.speedy, this.tags = [], this.ctr = 0, this.nonce = n.nonce, this.key = n.key, this.container = n.container, this.prepend = n.prepend, this.insertionPoint = n.insertionPoint, this.before = null;
25
+ }
26
+ var t = e.prototype;
27
+ return t.hydrate = function(r) {
28
+ r.forEach(this._insertTag);
29
+ }, t.insert = function(r) {
30
+ this.ctr % (this.isSpeedy ? 65e3 : 1) === 0 && this._insertTag(Ht(this));
31
+ var i = this.tags[this.tags.length - 1];
32
+ if (this.isSpeedy) {
33
+ var o = Wt(i);
34
+ try {
35
+ o.insertRule(r, o.cssRules.length);
36
+ } catch {
37
+ }
38
+ } else
39
+ i.appendChild(document.createTextNode(r));
40
+ this.ctr++;
41
+ }, t.flush = function() {
42
+ this.tags.forEach(function(r) {
43
+ var i;
44
+ return (i = r.parentNode) == null ? void 0 : i.removeChild(r);
45
+ }), this.tags = [], this.ctr = 0;
46
+ }, e;
47
+ }(), z = "-ms-", he = "-moz-", v = "-webkit-", Xe = "comm", Te = "rule", Re = "decl", Gt = "@import", Je = "@keyframes", qt = "@layer", Zt = Math.abs, me = String.fromCharCode, Xt = Object.assign;
48
+ function Jt(e, t) {
49
+ return A(e, 0) ^ 45 ? (((t << 2 ^ A(e, 0)) << 2 ^ A(e, 1)) << 2 ^ A(e, 2)) << 2 ^ A(e, 3) : 0;
50
+ }
51
+ function Qe(e) {
52
+ return e.trim();
53
+ }
54
+ function Qt(e, t) {
55
+ return (e = t.exec(e)) ? e[0] : e;
56
+ }
57
+ function w(e, t, n) {
58
+ return e.replace(t, n);
59
+ }
60
+ function Ce(e, t) {
61
+ return e.indexOf(t);
62
+ }
63
+ function A(e, t) {
64
+ return e.charCodeAt(t) | 0;
65
+ }
66
+ function ne(e, t, n) {
67
+ return e.slice(t, n);
68
+ }
69
+ function O(e) {
70
+ return e.length;
71
+ }
72
+ function Me(e) {
73
+ return e.length;
74
+ }
75
+ function le(e, t) {
76
+ return t.push(e), e;
77
+ }
78
+ function en(e, t) {
79
+ return e.map(t).join("");
80
+ }
81
+ var ge = 1, U = 1, et = 0, F = 0, R = 0, G = "";
82
+ function xe(e, t, n, r, i, o, a) {
83
+ return { value: e, root: t, parent: n, type: r, props: i, children: o, line: ge, column: U, length: a, return: "" };
84
+ }
85
+ function q(e, t) {
86
+ return Xt(xe("", null, null, "", null, null, 0), e, { length: -e.length }, t);
87
+ }
88
+ function tn() {
89
+ return R;
90
+ }
91
+ function nn() {
92
+ return R = F > 0 ? A(G, --F) : 0, U--, R === 10 && (U = 1, ge--), R;
93
+ }
94
+ function L() {
95
+ return R = F < et ? A(G, F++) : 0, U++, R === 10 && (U = 1, ge++), R;
96
+ }
97
+ function D() {
98
+ return A(G, F);
99
+ }
100
+ function fe() {
101
+ return F;
102
+ }
103
+ function oe(e, t) {
104
+ return ne(G, e, t);
105
+ }
106
+ function re(e) {
107
+ switch (e) {
108
+ case 0:
109
+ case 9:
110
+ case 10:
111
+ case 13:
112
+ case 32:
113
+ return 5;
114
+ case 33:
115
+ case 43:
116
+ case 44:
117
+ case 47:
118
+ case 62:
119
+ case 64:
120
+ case 126:
121
+ case 59:
122
+ case 123:
123
+ case 125:
124
+ return 4;
125
+ case 58:
126
+ return 3;
127
+ case 34:
128
+ case 39:
129
+ case 40:
130
+ case 91:
131
+ return 2;
132
+ case 41:
133
+ case 93:
134
+ return 1;
135
+ }
136
+ return 0;
137
+ }
138
+ function tt(e) {
139
+ return ge = U = 1, et = O(G = e), F = 0, [];
140
+ }
141
+ function nt(e) {
142
+ return G = "", e;
143
+ }
144
+ function ue(e) {
145
+ return Qe(oe(F - 1, Pe(e === 91 ? e + 2 : e === 40 ? e + 1 : e)));
146
+ }
147
+ function rn(e) {
148
+ for (; (R = D()) && R < 33; )
149
+ L();
150
+ return re(e) > 2 || re(R) > 3 ? "" : " ";
151
+ }
152
+ function on(e, t) {
153
+ for (; --t && L() && !(R < 48 || R > 102 || R > 57 && R < 65 || R > 70 && R < 97); )
154
+ ;
155
+ return oe(e, fe() + (t < 6 && D() == 32 && L() == 32));
156
+ }
157
+ function Pe(e) {
158
+ for (; L(); )
159
+ switch (R) {
160
+ case e:
161
+ return F;
162
+ case 34:
163
+ case 39:
164
+ e !== 34 && e !== 39 && Pe(R);
165
+ break;
166
+ case 40:
167
+ e === 41 && Pe(e);
168
+ break;
169
+ case 92:
170
+ L();
171
+ break;
172
+ }
173
+ return F;
174
+ }
175
+ function an(e, t) {
176
+ for (; L() && e + R !== 57; )
177
+ if (e + R === 84 && D() === 47)
178
+ break;
179
+ return "/*" + oe(t, F - 1) + "*" + me(e === 47 ? e : L());
180
+ }
181
+ function sn(e) {
182
+ for (; !re(D()); )
183
+ L();
184
+ return oe(e, F);
185
+ }
186
+ function cn(e) {
187
+ return nt(pe("", null, null, null, [""], e = tt(e), 0, [0], e));
188
+ }
189
+ function pe(e, t, n, r, i, o, a, f, d) {
190
+ for (var p = 0, l = 0, s = a, x = 0, b = 0, y = 0, E = 1, M = 1, $ = 1, T = 0, k = "", _ = i, u = o, N = r, P = k; M; )
191
+ switch (y = T, T = L()) {
192
+ case 40:
193
+ if (y != 108 && A(P, s - 1) == 58) {
194
+ Ce(P += w(ue(T), "&", "&\f"), "&\f") != -1 && ($ = -1);
195
+ break;
196
+ }
197
+ case 34:
198
+ case 39:
199
+ case 91:
200
+ P += ue(T);
201
+ break;
202
+ case 9:
203
+ case 10:
204
+ case 13:
205
+ case 32:
206
+ P += rn(y);
207
+ break;
208
+ case 92:
209
+ P += on(fe() - 1, 7);
210
+ continue;
211
+ case 47:
212
+ switch (D()) {
213
+ case 42:
214
+ case 47:
215
+ le(ln(an(L(), fe()), t, n), d);
216
+ break;
217
+ default:
218
+ P += "/";
219
+ }
220
+ break;
221
+ case 123 * E:
222
+ f[p++] = O(P) * $;
223
+ case 125 * E:
224
+ case 59:
225
+ case 0:
226
+ switch (T) {
227
+ case 0:
228
+ case 125:
229
+ M = 0;
230
+ case 59 + l:
231
+ $ == -1 && (P = w(P, /\f/g, "")), b > 0 && O(P) - s && le(b > 32 ? Oe(P + ";", r, n, s - 1) : Oe(w(P, " ", "") + ";", r, n, s - 2), d);
232
+ break;
233
+ case 59:
234
+ P += ";";
235
+ default:
236
+ if (le(N = Le(P, t, n, p, l, i, f, k, _ = [], u = [], s), o), T === 123)
237
+ if (l === 0)
238
+ pe(P, t, N, N, _, o, s, f, u);
239
+ else
240
+ switch (x === 99 && A(P, 3) === 110 ? 100 : x) {
241
+ case 100:
242
+ case 108:
243
+ case 109:
244
+ case 115:
245
+ pe(e, N, N, r && le(Le(e, N, N, 0, 0, i, f, k, i, _ = [], s), u), i, u, s, f, r ? _ : u);
246
+ break;
247
+ default:
248
+ pe(P, N, N, N, [""], u, 0, f, u);
249
+ }
250
+ }
251
+ p = l = b = 0, E = $ = 1, k = P = "", s = a;
252
+ break;
253
+ case 58:
254
+ s = 1 + O(P), b = y;
255
+ default:
256
+ if (E < 1) {
257
+ if (T == 123)
258
+ --E;
259
+ else if (T == 125 && E++ == 0 && nn() == 125)
260
+ continue;
261
+ }
262
+ switch (P += me(T), T * E) {
263
+ case 38:
264
+ $ = l > 0 ? 1 : (P += "\f", -1);
265
+ break;
266
+ case 44:
267
+ f[p++] = (O(P) - 1) * $, $ = 1;
268
+ break;
269
+ case 64:
270
+ D() === 45 && (P += ue(L())), x = D(), l = s = O(k = P += sn(fe())), T++;
271
+ break;
272
+ case 45:
273
+ y === 45 && O(P) == 2 && (E = 0);
274
+ }
275
+ }
276
+ return o;
277
+ }
278
+ function Le(e, t, n, r, i, o, a, f, d, p, l) {
279
+ for (var s = i - 1, x = i === 0 ? o : [""], b = Me(x), y = 0, E = 0, M = 0; y < r; ++y)
280
+ for (var $ = 0, T = ne(e, s + 1, s = Zt(E = a[y])), k = e; $ < b; ++$)
281
+ (k = Qe(E > 0 ? x[$] + " " + T : w(T, /&\f/g, x[$]))) && (d[M++] = k);
282
+ return xe(e, t, n, i === 0 ? Te : f, d, p, l);
283
+ }
284
+ function ln(e, t, n) {
285
+ return xe(e, t, n, Xe, me(tn()), ne(e, 2, -2), 0);
286
+ }
287
+ function Oe(e, t, n, r) {
288
+ return xe(e, t, n, Re, ne(e, 0, r), ne(e, r + 1, -1), r);
289
+ }
290
+ function H(e, t) {
291
+ for (var n = "", r = Me(e), i = 0; i < r; i++)
292
+ n += t(e[i], i, e, t) || "";
293
+ return n;
294
+ }
295
+ function dn(e, t, n, r) {
296
+ switch (e.type) {
297
+ case qt:
298
+ if (e.children.length)
299
+ break;
300
+ case Gt:
301
+ case Re:
302
+ return e.return = e.return || e.value;
303
+ case Xe:
304
+ return "";
305
+ case Je:
306
+ return e.return = e.value + "{" + H(e.children, r) + "}";
307
+ case Te:
308
+ e.value = e.props.join(",");
309
+ }
310
+ return O(n = H(e.children, r)) ? e.return = e.value + "{" + n + "}" : "";
311
+ }
312
+ function fn(e) {
313
+ var t = Me(e);
314
+ return function(n, r, i, o) {
315
+ for (var a = "", f = 0; f < t; f++)
316
+ a += e[f](n, r, i, o) || "";
317
+ return a;
318
+ };
319
+ }
320
+ function un(e) {
321
+ return function(t) {
322
+ t.root || (t = t.return) && e(t);
323
+ };
324
+ }
325
+ var pn = function(t, n, r) {
326
+ for (var i = 0, o = 0; i = o, o = D(), i === 38 && o === 12 && (n[r] = 1), !re(o); )
327
+ L();
328
+ return oe(t, F);
329
+ }, hn = function(t, n) {
330
+ var r = -1, i = 44;
331
+ do
332
+ switch (re(i)) {
333
+ case 0:
334
+ i === 38 && D() === 12 && (n[r] = 1), t[r] += pn(F - 1, n, r);
335
+ break;
336
+ case 2:
337
+ t[r] += ue(i);
338
+ break;
339
+ case 4:
340
+ if (i === 44) {
341
+ t[++r] = D() === 58 ? "&\f" : "", n[r] = t[r].length;
342
+ break;
343
+ }
344
+ default:
345
+ t[r] += me(i);
346
+ }
347
+ while (i = L());
348
+ return t;
349
+ }, mn = function(t, n) {
350
+ return nt(hn(tt(t), n));
351
+ }, Ie = /* @__PURE__ */ new WeakMap(), gn = function(t) {
352
+ if (!(t.type !== "rule" || !t.parent || // positive .length indicates that this rule contains pseudo
353
+ // negative .length indicates that this rule has been already prefixed
354
+ t.length < 1)) {
355
+ for (var n = t.value, r = t.parent, i = t.column === r.column && t.line === r.line; r.type !== "rule"; )
356
+ if (r = r.parent, !r)
357
+ return;
358
+ if (!(t.props.length === 1 && n.charCodeAt(0) !== 58 && !Ie.get(r)) && !i) {
359
+ Ie.set(t, !0);
360
+ for (var o = [], a = mn(n, o), f = r.props, d = 0, p = 0; d < a.length; d++)
361
+ for (var l = 0; l < f.length; l++, p++)
362
+ t.props[p] = o[d] ? a[d].replace(/&\f/g, f[l]) : f[l] + " " + a[d];
363
+ }
364
+ }
365
+ }, xn = function(t) {
366
+ if (t.type === "decl") {
367
+ var n = t.value;
368
+ // charcode for l
369
+ n.charCodeAt(0) === 108 && // charcode for b
370
+ n.charCodeAt(2) === 98 && (t.return = "", t.value = "");
371
+ }
372
+ };
373
+ function rt(e, t) {
374
+ switch (Jt(e, t)) {
375
+ case 5103:
376
+ return v + "print-" + e + e;
377
+ case 5737:
378
+ case 4201:
379
+ case 3177:
380
+ case 3433:
381
+ case 1641:
382
+ case 4457:
383
+ case 2921:
384
+ case 5572:
385
+ case 6356:
386
+ case 5844:
387
+ case 3191:
388
+ case 6645:
389
+ case 3005:
390
+ case 6391:
391
+ case 5879:
392
+ case 5623:
393
+ case 6135:
394
+ case 4599:
395
+ case 4855:
396
+ case 4215:
397
+ case 6389:
398
+ case 5109:
399
+ case 5365:
400
+ case 5621:
401
+ case 3829:
402
+ return v + e + e;
403
+ case 5349:
404
+ case 4246:
405
+ case 4810:
406
+ case 6968:
407
+ case 2756:
408
+ return v + e + he + e + z + e + e;
409
+ case 6828:
410
+ case 4268:
411
+ return v + e + z + e + e;
412
+ case 6165:
413
+ return v + e + z + "flex-" + e + e;
414
+ case 5187:
415
+ return v + e + w(e, /(\w+).+(:[^]+)/, v + "box-$1$2" + z + "flex-$1$2") + e;
416
+ case 5443:
417
+ return v + e + z + "flex-item-" + w(e, /flex-|-self/, "") + e;
418
+ case 4675:
419
+ return v + e + z + "flex-line-pack" + w(e, /align-content|flex-|-self/, "") + e;
420
+ case 5548:
421
+ return v + e + z + w(e, "shrink", "negative") + e;
422
+ case 5292:
423
+ return v + e + z + w(e, "basis", "preferred-size") + e;
424
+ case 6060:
425
+ return v + "box-" + w(e, "-grow", "") + v + e + z + w(e, "grow", "positive") + e;
426
+ case 4554:
427
+ return v + w(e, /([^-])(transform)/g, "$1" + v + "$2") + e;
428
+ case 6187:
429
+ return w(w(w(e, /(zoom-|grab)/, v + "$1"), /(image-set)/, v + "$1"), e, "") + e;
430
+ case 5495:
431
+ case 3959:
432
+ return w(e, /(image-set\([^]*)/, v + "$1$`$1");
433
+ case 4968:
434
+ return w(w(e, /(.+:)(flex-)?(.*)/, v + "box-pack:$3" + z + "flex-pack:$3"), /s.+-b[^;]+/, "justify") + v + e + e;
435
+ case 4095:
436
+ case 3583:
437
+ case 4068:
438
+ case 2532:
439
+ return w(e, /(.+)-inline(.+)/, v + "$1$2") + e;
440
+ case 8116:
441
+ case 7059:
442
+ case 5753:
443
+ case 5535:
444
+ case 5445:
445
+ case 5701:
446
+ case 4933:
447
+ case 4677:
448
+ case 5533:
449
+ case 5789:
450
+ case 5021:
451
+ case 4765:
452
+ if (O(e) - 1 - t > 6)
453
+ switch (A(e, t + 1)) {
454
+ case 109:
455
+ if (A(e, t + 4) !== 45)
456
+ break;
457
+ case 102:
458
+ return w(e, /(.+:)(.+)-([^]+)/, "$1" + v + "$2-$3$1" + he + (A(e, t + 3) == 108 ? "$3" : "$2-$3")) + e;
459
+ case 115:
460
+ return ~Ce(e, "stretch") ? rt(w(e, "stretch", "fill-available"), t) + e : e;
461
+ }
462
+ break;
463
+ case 4949:
464
+ if (A(e, t + 1) !== 115)
465
+ break;
466
+ case 6444:
467
+ switch (A(e, O(e) - 3 - (~Ce(e, "!important") && 10))) {
468
+ case 107:
469
+ return w(e, ":", ":" + v) + e;
470
+ case 101:
471
+ return w(e, /(.+:)([^;!]+)(;|!.+)?/, "$1" + v + (A(e, 14) === 45 ? "inline-" : "") + "box$3$1" + v + "$2$3$1" + z + "$2box$3") + e;
472
+ }
473
+ break;
474
+ case 5936:
475
+ switch (A(e, t + 11)) {
476
+ case 114:
477
+ return v + e + z + w(e, /[svh]\w+-[tblr]{2}/, "tb") + e;
478
+ case 108:
479
+ return v + e + z + w(e, /[svh]\w+-[tblr]{2}/, "tb-rl") + e;
480
+ case 45:
481
+ return v + e + z + w(e, /[svh]\w+-[tblr]{2}/, "lr") + e;
482
+ }
483
+ return v + e + z + e + e;
484
+ }
485
+ return e;
486
+ }
487
+ var yn = function(t, n, r, i) {
488
+ if (t.length > -1 && !t.return)
489
+ switch (t.type) {
490
+ case Re:
491
+ t.return = rt(t.value, t.length);
492
+ break;
493
+ case Je:
494
+ return H([q(t, {
495
+ value: w(t.value, "@", "@" + v)
496
+ })], i);
497
+ case Te:
498
+ if (t.length)
499
+ return en(t.props, function(o) {
500
+ switch (Qt(o, /(::plac\w+|:read-\w+)/)) {
501
+ case ":read-only":
502
+ case ":read-write":
503
+ return H([q(t, {
504
+ props: [w(o, /:(read-\w+)/, ":" + he + "$1")]
505
+ })], i);
506
+ case "::placeholder":
507
+ return H([q(t, {
508
+ props: [w(o, /:(plac\w+)/, ":" + v + "input-$1")]
509
+ }), q(t, {
510
+ props: [w(o, /:(plac\w+)/, ":" + he + "$1")]
511
+ }), q(t, {
512
+ props: [w(o, /:(plac\w+)/, z + "input-$1")]
513
+ })], i);
514
+ }
515
+ return "";
516
+ });
517
+ }
518
+ }, bn = [yn], vn = function(t) {
519
+ var n = t.key;
520
+ if (n === "css") {
521
+ var r = document.querySelectorAll("style[data-emotion]:not([data-s])");
522
+ Array.prototype.forEach.call(r, function(E) {
523
+ var M = E.getAttribute("data-emotion");
524
+ M.indexOf(" ") !== -1 && (document.head.appendChild(E), E.setAttribute("data-s", ""));
525
+ });
526
+ }
527
+ var i = t.stylisPlugins || bn, o = {}, a, f = [];
528
+ a = t.container || document.head, Array.prototype.forEach.call(
529
+ // this means we will ignore elements which don't have a space in them which
530
+ // means that the style elements we're looking at are only Emotion 11 server-rendered style elements
531
+ document.querySelectorAll('style[data-emotion^="' + n + ' "]'),
532
+ function(E) {
533
+ for (var M = E.getAttribute("data-emotion").split(" "), $ = 1; $ < M.length; $++)
534
+ o[M[$]] = !0;
535
+ f.push(E);
536
+ }
537
+ );
538
+ var d, p = [gn, xn];
539
+ {
540
+ var l, s = [dn, un(function(E) {
541
+ l.insert(E);
542
+ })], x = fn(p.concat(i, s)), b = function(M) {
543
+ return H(cn(M), x);
544
+ };
545
+ d = function(M, $, T, k) {
546
+ l = T, b(M ? M + "{" + $.styles + "}" : $.styles), k && (y.inserted[$.name] = !0);
547
+ };
548
+ }
549
+ var y = {
550
+ key: n,
551
+ sheet: new Ut({
552
+ key: n,
553
+ container: a,
554
+ nonce: t.nonce,
555
+ speedy: t.speedy,
556
+ prepend: t.prepend,
557
+ insertionPoint: t.insertionPoint
558
+ }),
559
+ nonce: t.nonce,
560
+ inserted: o,
561
+ registered: {},
562
+ insert: d
563
+ };
564
+ return y.sheet.hydrate(f), y;
565
+ }, ke = { exports: {} }, S = {};
566
+ /** @license React v16.13.1
567
+ * react-is.production.min.js
568
+ *
569
+ * Copyright (c) Facebook, Inc. and its affiliates.
570
+ *
571
+ * This source code is licensed under the MIT license found in the
572
+ * LICENSE file in the root directory of this source tree.
573
+ */
574
+ var De;
575
+ function wn() {
576
+ if (De)
577
+ return S;
578
+ De = 1;
579
+ var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, n = e ? Symbol.for("react.portal") : 60106, r = e ? Symbol.for("react.fragment") : 60107, i = e ? Symbol.for("react.strict_mode") : 60108, o = e ? Symbol.for("react.profiler") : 60114, a = e ? Symbol.for("react.provider") : 60109, f = e ? Symbol.for("react.context") : 60110, d = e ? Symbol.for("react.async_mode") : 60111, p = e ? Symbol.for("react.concurrent_mode") : 60111, l = e ? Symbol.for("react.forward_ref") : 60112, s = e ? Symbol.for("react.suspense") : 60113, x = e ? Symbol.for("react.suspense_list") : 60120, b = e ? Symbol.for("react.memo") : 60115, y = e ? Symbol.for("react.lazy") : 60116, E = e ? Symbol.for("react.block") : 60121, M = e ? Symbol.for("react.fundamental") : 60117, $ = e ? Symbol.for("react.responder") : 60118, T = e ? Symbol.for("react.scope") : 60119;
580
+ function k(u) {
581
+ if (typeof u == "object" && u !== null) {
582
+ var N = u.$$typeof;
583
+ switch (N) {
584
+ case t:
585
+ switch (u = u.type, u) {
586
+ case d:
587
+ case p:
588
+ case r:
589
+ case o:
590
+ case i:
591
+ case s:
592
+ return u;
593
+ default:
594
+ switch (u = u && u.$$typeof, u) {
595
+ case f:
596
+ case l:
597
+ case y:
598
+ case b:
599
+ case a:
600
+ return u;
601
+ default:
602
+ return N;
603
+ }
604
+ }
605
+ case n:
606
+ return N;
607
+ }
608
+ }
609
+ }
610
+ function _(u) {
611
+ return k(u) === p;
612
+ }
613
+ return S.AsyncMode = d, S.ConcurrentMode = p, S.ContextConsumer = f, S.ContextProvider = a, S.Element = t, S.ForwardRef = l, S.Fragment = r, S.Lazy = y, S.Memo = b, S.Portal = n, S.Profiler = o, S.StrictMode = i, S.Suspense = s, S.isAsyncMode = function(u) {
614
+ return _(u) || k(u) === d;
615
+ }, S.isConcurrentMode = _, S.isContextConsumer = function(u) {
616
+ return k(u) === f;
617
+ }, S.isContextProvider = function(u) {
618
+ return k(u) === a;
619
+ }, S.isElement = function(u) {
620
+ return typeof u == "object" && u !== null && u.$$typeof === t;
621
+ }, S.isForwardRef = function(u) {
622
+ return k(u) === l;
623
+ }, S.isFragment = function(u) {
624
+ return k(u) === r;
625
+ }, S.isLazy = function(u) {
626
+ return k(u) === y;
627
+ }, S.isMemo = function(u) {
628
+ return k(u) === b;
629
+ }, S.isPortal = function(u) {
630
+ return k(u) === n;
631
+ }, S.isProfiler = function(u) {
632
+ return k(u) === o;
633
+ }, S.isStrictMode = function(u) {
634
+ return k(u) === i;
635
+ }, S.isSuspense = function(u) {
636
+ return k(u) === s;
637
+ }, S.isValidElementType = function(u) {
638
+ return typeof u == "string" || typeof u == "function" || u === r || u === p || u === o || u === i || u === s || u === x || typeof u == "object" && u !== null && (u.$$typeof === y || u.$$typeof === b || u.$$typeof === a || u.$$typeof === f || u.$$typeof === l || u.$$typeof === M || u.$$typeof === $ || u.$$typeof === T || u.$$typeof === E);
639
+ }, S.typeOf = k, S;
640
+ }
641
+ var C = {};
642
+ /** @license React v16.13.1
643
+ * react-is.development.js
644
+ *
645
+ * Copyright (c) Facebook, Inc. and its affiliates.
646
+ *
647
+ * This source code is licensed under the MIT license found in the
648
+ * LICENSE file in the root directory of this source tree.
649
+ */
650
+ var Ve;
651
+ function En() {
652
+ return Ve || (Ve = 1, process.env.NODE_ENV !== "production" && function() {
653
+ var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, n = e ? Symbol.for("react.portal") : 60106, r = e ? Symbol.for("react.fragment") : 60107, i = e ? Symbol.for("react.strict_mode") : 60108, o = e ? Symbol.for("react.profiler") : 60114, a = e ? Symbol.for("react.provider") : 60109, f = e ? Symbol.for("react.context") : 60110, d = e ? Symbol.for("react.async_mode") : 60111, p = e ? Symbol.for("react.concurrent_mode") : 60111, l = e ? Symbol.for("react.forward_ref") : 60112, s = e ? Symbol.for("react.suspense") : 60113, x = e ? Symbol.for("react.suspense_list") : 60120, b = e ? Symbol.for("react.memo") : 60115, y = e ? Symbol.for("react.lazy") : 60116, E = e ? Symbol.for("react.block") : 60121, M = e ? Symbol.for("react.fundamental") : 60117, $ = e ? Symbol.for("react.responder") : 60118, T = e ? Symbol.for("react.scope") : 60119;
654
+ function k(m) {
655
+ return typeof m == "string" || typeof m == "function" || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
656
+ m === r || m === p || m === o || m === i || m === s || m === x || typeof m == "object" && m !== null && (m.$$typeof === y || m.$$typeof === b || m.$$typeof === a || m.$$typeof === f || m.$$typeof === l || m.$$typeof === M || m.$$typeof === $ || m.$$typeof === T || m.$$typeof === E);
657
+ }
658
+ function _(m) {
659
+ if (typeof m == "object" && m !== null) {
660
+ var be = m.$$typeof;
661
+ switch (be) {
662
+ case t:
663
+ var ce = m.type;
664
+ switch (ce) {
665
+ case d:
666
+ case p:
667
+ case r:
668
+ case o:
669
+ case i:
670
+ case s:
671
+ return ce;
672
+ default:
673
+ var Fe = ce && ce.$$typeof;
674
+ switch (Fe) {
675
+ case f:
676
+ case l:
677
+ case y:
678
+ case b:
679
+ case a:
680
+ return Fe;
681
+ default:
682
+ return be;
683
+ }
684
+ }
685
+ case n:
686
+ return be;
687
+ }
688
+ }
689
+ }
690
+ var u = d, N = p, P = f, mt = a, gt = t, xt = l, yt = r, bt = y, vt = b, wt = n, Et = o, St = i, Ct = s, Ne = !1;
691
+ function Pt(m) {
692
+ return Ne || (Ne = !0, console.warn("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.")), ze(m) || _(m) === d;
693
+ }
694
+ function ze(m) {
695
+ return _(m) === p;
696
+ }
697
+ function kt(m) {
698
+ return _(m) === f;
699
+ }
700
+ function $t(m) {
701
+ return _(m) === a;
702
+ }
703
+ function _t(m) {
704
+ return typeof m == "object" && m !== null && m.$$typeof === t;
705
+ }
706
+ function Tt(m) {
707
+ return _(m) === l;
708
+ }
709
+ function Rt(m) {
710
+ return _(m) === r;
711
+ }
712
+ function Mt(m) {
713
+ return _(m) === y;
714
+ }
715
+ function At(m) {
716
+ return _(m) === b;
717
+ }
718
+ function Nt(m) {
719
+ return _(m) === n;
720
+ }
721
+ function zt(m) {
722
+ return _(m) === o;
723
+ }
724
+ function Ft(m) {
725
+ return _(m) === i;
726
+ }
727
+ function Lt(m) {
728
+ return _(m) === s;
729
+ }
730
+ C.AsyncMode = u, C.ConcurrentMode = N, C.ContextConsumer = P, C.ContextProvider = mt, C.Element = gt, C.ForwardRef = xt, C.Fragment = yt, C.Lazy = bt, C.Memo = vt, C.Portal = wt, C.Profiler = Et, C.StrictMode = St, C.Suspense = Ct, C.isAsyncMode = Pt, C.isConcurrentMode = ze, C.isContextConsumer = kt, C.isContextProvider = $t, C.isElement = _t, C.isForwardRef = Tt, C.isFragment = Rt, C.isLazy = Mt, C.isMemo = At, C.isPortal = Nt, C.isProfiler = zt, C.isStrictMode = Ft, C.isSuspense = Lt, C.isValidElementType = k, C.typeOf = _;
731
+ }()), C;
732
+ }
733
+ process.env.NODE_ENV === "production" ? ke.exports = wn() : ke.exports = En();
734
+ var Sn = ke.exports, it = Sn, Cn = {
735
+ $$typeof: !0,
736
+ render: !0,
737
+ defaultProps: !0,
738
+ displayName: !0,
739
+ propTypes: !0
740
+ }, Pn = {
741
+ $$typeof: !0,
742
+ compare: !0,
743
+ defaultProps: !0,
744
+ displayName: !0,
745
+ propTypes: !0,
746
+ type: !0
747
+ }, ot = {};
748
+ ot[it.ForwardRef] = Cn;
749
+ ot[it.Memo] = Pn;
750
+ var kn = !0;
751
+ function $n(e, t, n) {
752
+ var r = "";
753
+ return n.split(" ").forEach(function(i) {
754
+ e[i] !== void 0 ? t.push(e[i] + ";") : i && (r += i + " ");
755
+ }), r;
756
+ }
757
+ var at = function(t, n, r) {
758
+ var i = t.key + "-" + n.name;
759
+ // we only need to add the styles to the registered cache if the
760
+ // class name could be used further down
761
+ // the tree but if it's a string tag, we know it won't
762
+ // so we don't have to add it to registered cache.
763
+ // this improves memory usage since we can avoid storing the whole style string
764
+ (r === !1 || // we need to always store it if we're in compat mode and
765
+ // in node since emotion-server relies on whether a style is in
766
+ // the registered cache to know whether a style is global or not
767
+ // also, note that this check will be dead code eliminated in the browser
768
+ kn === !1) && t.registered[i] === void 0 && (t.registered[i] = n.styles);
769
+ }, _n = function(t, n, r) {
770
+ at(t, n, r);
771
+ var i = t.key + "-" + n.name;
772
+ if (t.inserted[n.name] === void 0) {
773
+ var o = n;
774
+ do
775
+ t.insert(n === o ? "." + i : "", o, t.sheet, !0), o = o.next;
776
+ while (o !== void 0);
777
+ }
778
+ };
779
+ function Tn(e) {
780
+ for (var t = 0, n, r = 0, i = e.length; i >= 4; ++r, i -= 4)
781
+ n = e.charCodeAt(r) & 255 | (e.charCodeAt(++r) & 255) << 8 | (e.charCodeAt(++r) & 255) << 16 | (e.charCodeAt(++r) & 255) << 24, n = /* Math.imul(k, m): */
782
+ (n & 65535) * 1540483477 + ((n >>> 16) * 59797 << 16), n ^= /* k >>> r: */
783
+ n >>> 24, t = /* Math.imul(k, m): */
784
+ (n & 65535) * 1540483477 + ((n >>> 16) * 59797 << 16) ^ /* Math.imul(h, m): */
785
+ (t & 65535) * 1540483477 + ((t >>> 16) * 59797 << 16);
786
+ switch (i) {
787
+ case 3:
788
+ t ^= (e.charCodeAt(r + 2) & 255) << 16;
789
+ case 2:
790
+ t ^= (e.charCodeAt(r + 1) & 255) << 8;
791
+ case 1:
792
+ t ^= e.charCodeAt(r) & 255, t = /* Math.imul(h, m): */
793
+ (t & 65535) * 1540483477 + ((t >>> 16) * 59797 << 16);
794
+ }
795
+ return t ^= t >>> 13, t = /* Math.imul(h, m): */
796
+ (t & 65535) * 1540483477 + ((t >>> 16) * 59797 << 16), ((t ^ t >>> 15) >>> 0).toString(36);
797
+ }
798
+ var Rn = {
799
+ animationIterationCount: 1,
800
+ aspectRatio: 1,
801
+ borderImageOutset: 1,
802
+ borderImageSlice: 1,
803
+ borderImageWidth: 1,
804
+ boxFlex: 1,
805
+ boxFlexGroup: 1,
806
+ boxOrdinalGroup: 1,
807
+ columnCount: 1,
808
+ columns: 1,
809
+ flex: 1,
810
+ flexGrow: 1,
811
+ flexPositive: 1,
812
+ flexShrink: 1,
813
+ flexNegative: 1,
814
+ flexOrder: 1,
815
+ gridRow: 1,
816
+ gridRowEnd: 1,
817
+ gridRowSpan: 1,
818
+ gridRowStart: 1,
819
+ gridColumn: 1,
820
+ gridColumnEnd: 1,
821
+ gridColumnSpan: 1,
822
+ gridColumnStart: 1,
823
+ msGridRow: 1,
824
+ msGridRowSpan: 1,
825
+ msGridColumn: 1,
826
+ msGridColumnSpan: 1,
827
+ fontWeight: 1,
828
+ lineHeight: 1,
829
+ opacity: 1,
830
+ order: 1,
831
+ orphans: 1,
832
+ scale: 1,
833
+ tabSize: 1,
834
+ widows: 1,
835
+ zIndex: 1,
836
+ zoom: 1,
837
+ WebkitLineClamp: 1,
838
+ // SVG-related properties
839
+ fillOpacity: 1,
840
+ floodOpacity: 1,
841
+ stopOpacity: 1,
842
+ strokeDasharray: 1,
843
+ strokeDashoffset: 1,
844
+ strokeMiterlimit: 1,
845
+ strokeOpacity: 1,
846
+ strokeWidth: 1
847
+ };
848
+ function Mn(e) {
849
+ var t = /* @__PURE__ */ Object.create(null);
850
+ return function(n) {
851
+ return t[n] === void 0 && (t[n] = e(n)), t[n];
852
+ };
853
+ }
854
+ var An = /[A-Z]|^ms/g, Nn = /_EMO_([^_]+?)_([^]*?)_EMO_/g, st = function(t) {
855
+ return t.charCodeAt(1) === 45;
856
+ }, je = function(t) {
857
+ return t != null && typeof t != "boolean";
858
+ }, ve = /* @__PURE__ */ Mn(function(e) {
859
+ return st(e) ? e : e.replace(An, "-$&").toLowerCase();
860
+ }), Ye = function(t, n) {
861
+ switch (t) {
862
+ case "animation":
863
+ case "animationName":
864
+ if (typeof n == "string")
865
+ return n.replace(Nn, function(r, i, o) {
866
+ return I = {
867
+ name: i,
868
+ styles: o,
869
+ next: I
870
+ }, i;
871
+ });
872
+ }
873
+ return Rn[t] !== 1 && !st(t) && typeof n == "number" && n !== 0 ? n + "px" : n;
874
+ };
875
+ function ie(e, t, n) {
876
+ if (n == null)
877
+ return "";
878
+ var r = n;
879
+ if (r.__emotion_styles !== void 0)
880
+ return r;
881
+ switch (typeof n) {
882
+ case "boolean":
883
+ return "";
884
+ case "object": {
885
+ var i = n;
886
+ if (i.anim === 1)
887
+ return I = {
888
+ name: i.name,
889
+ styles: i.styles,
890
+ next: I
891
+ }, i.name;
892
+ var o = n;
893
+ if (o.styles !== void 0) {
894
+ var a = o.next;
895
+ if (a !== void 0)
896
+ for (; a !== void 0; )
897
+ I = {
898
+ name: a.name,
899
+ styles: a.styles,
900
+ next: I
901
+ }, a = a.next;
902
+ var f = o.styles + ";";
903
+ return f;
904
+ }
905
+ return zn(e, t, n);
906
+ }
907
+ case "function": {
908
+ if (e !== void 0) {
909
+ var d = I, p = n(e);
910
+ return I = d, ie(e, t, p);
911
+ }
912
+ break;
913
+ }
914
+ }
915
+ var l = n;
916
+ return l;
917
+ }
918
+ function zn(e, t, n) {
919
+ var r = "";
920
+ if (Array.isArray(n))
921
+ for (var i = 0; i < n.length; i++)
922
+ r += ie(e, t, n[i]) + ";";
923
+ else
924
+ for (var o in n) {
925
+ var a = n[o];
926
+ if (typeof a != "object") {
927
+ var f = a;
928
+ je(f) && (r += ve(o) + ":" + Ye(o, f) + ";");
929
+ } else if (Array.isArray(a) && typeof a[0] == "string" && t == null)
930
+ for (var d = 0; d < a.length; d++)
931
+ je(a[d]) && (r += ve(o) + ":" + Ye(o, a[d]) + ";");
932
+ else {
933
+ var p = ie(e, t, a);
934
+ switch (o) {
935
+ case "animation":
936
+ case "animationName": {
937
+ r += ve(o) + ":" + p + ";";
938
+ break;
939
+ }
940
+ default:
941
+ r += o + "{" + p + "}";
942
+ }
943
+ }
944
+ }
945
+ return r;
946
+ }
947
+ var Ke = /label:\s*([^\s;{]+)\s*(;|$)/g, I;
948
+ function Be(e, t, n) {
949
+ if (e.length === 1 && typeof e[0] == "object" && e[0] !== null && e[0].styles !== void 0)
950
+ return e[0];
951
+ var r = !0, i = "";
952
+ I = void 0;
953
+ var o = e[0];
954
+ if (o == null || o.raw === void 0)
955
+ r = !1, i += ie(n, t, o);
956
+ else {
957
+ var a = o;
958
+ i += a[0];
959
+ }
960
+ for (var f = 1; f < e.length; f++)
961
+ if (i += ie(n, t, e[f]), r) {
962
+ var d = o;
963
+ i += d[f];
964
+ }
965
+ Ke.lastIndex = 0;
966
+ for (var p = "", l; (l = Ke.exec(i)) !== null; )
967
+ p += "-" + l[1];
968
+ var s = Tn(i) + p;
969
+ return {
970
+ name: s,
971
+ styles: i,
972
+ next: I
973
+ };
974
+ }
975
+ var Fn = function(t) {
976
+ return t();
977
+ }, Ln = V.useInsertionEffect ? V.useInsertionEffect : !1, On = Ln || Fn, ye = {}.hasOwnProperty, Ae = /* @__PURE__ */ V.createContext(
978
+ // we're doing this to avoid preconstruct's dead code elimination in this one case
979
+ // because this module is primarily intended for the browser and node
980
+ // but it's also required in react native and similar environments sometimes
981
+ // and we could have a special build just for that
982
+ // but this is much easier and the native packages
983
+ // might use a different theme context in the future anyway
984
+ typeof HTMLElement < "u" ? /* @__PURE__ */ vn({
985
+ key: "css"
986
+ }) : null
987
+ );
988
+ process.env.NODE_ENV !== "production" && (Ae.displayName = "EmotionCacheContext");
989
+ Ae.Provider;
990
+ var In = function(t) {
991
+ return /* @__PURE__ */ Ot(function(n, r) {
992
+ var i = qe(Ae);
993
+ return t(n, i, r);
994
+ });
995
+ }, ct = /* @__PURE__ */ V.createContext({});
996
+ process.env.NODE_ENV !== "production" && (ct.displayName = "EmotionThemeContext");
997
+ var We = function(t) {
998
+ var n = t.split(".");
999
+ return n[n.length - 1];
1000
+ }, Dn = function(t) {
1001
+ var n = /^\s+at\s+([A-Za-z0-9$.]+)\s/.exec(t);
1002
+ if (n || (n = /^([A-Za-z0-9$.]+)@/.exec(t), n))
1003
+ return We(n[1]);
1004
+ }, Vn = /* @__PURE__ */ new Set(["renderWithHooks", "processChild", "finishClassComponent", "renderToString"]), jn = function(t) {
1005
+ return t.replace(/\$/g, "-");
1006
+ }, Yn = function(t) {
1007
+ if (t)
1008
+ for (var n = t.split(`
1009
+ `), r = 0; r < n.length; r++) {
1010
+ var i = Dn(n[r]);
1011
+ if (i) {
1012
+ if (Vn.has(i))
1013
+ break;
1014
+ if (/^[A-Z]/.test(i))
1015
+ return jn(i);
1016
+ }
1017
+ }
1018
+ }, $e = "__EMOTION_TYPE_PLEASE_DO_NOT_USE__", _e = "__EMOTION_LABEL_PLEASE_DO_NOT_USE__", lt = function(t, n) {
1019
+ if (process.env.NODE_ENV !== "production" && typeof n.css == "string" && // check if there is a css declaration
1020
+ n.css.indexOf(":") !== -1)
1021
+ throw new Error("Strings are not allowed as css prop values, please wrap it in a css template literal from '@emotion/react' like this: css`" + n.css + "`");
1022
+ var r = {};
1023
+ for (var i in n)
1024
+ ye.call(n, i) && (r[i] = n[i]);
1025
+ if (r[$e] = t, process.env.NODE_ENV !== "production" && n.css && (typeof n.css != "object" || typeof n.css.name != "string" || n.css.name.indexOf("-") === -1)) {
1026
+ var o = Yn(new Error().stack);
1027
+ o && (r[_e] = o);
1028
+ }
1029
+ return r;
1030
+ }, Kn = function(t) {
1031
+ var n = t.cache, r = t.serialized, i = t.isStringTag;
1032
+ return at(n, r, i), On(function() {
1033
+ return _n(n, r, i);
1034
+ }), null;
1035
+ }, dt = /* @__PURE__ */ In(function(e, t, n) {
1036
+ var r = e.css;
1037
+ typeof r == "string" && t.registered[r] !== void 0 && (r = t.registered[r]);
1038
+ var i = e[$e], o = [r], a = "";
1039
+ typeof e.className == "string" ? a = $n(t.registered, o, e.className) : e.className != null && (a = e.className + " ");
1040
+ var f = Be(o, void 0, V.useContext(ct));
1041
+ if (process.env.NODE_ENV !== "production" && f.name.indexOf("-") === -1) {
1042
+ var d = e[_e];
1043
+ d && (f = Be([f, "label:" + d + ";"]));
1044
+ }
1045
+ a += t.key + "-" + f.name;
1046
+ var p = {};
1047
+ for (var l in e)
1048
+ ye.call(e, l) && l !== "css" && l !== $e && (process.env.NODE_ENV === "production" || l !== _e) && (p[l] = e[l]);
1049
+ return p.ref = n, p.className = a, /* @__PURE__ */ V.createElement(V.Fragment, null, /* @__PURE__ */ V.createElement(Kn, {
1050
+ cache: t,
1051
+ serialized: f,
1052
+ isStringTag: typeof i == "string"
1053
+ }), /* @__PURE__ */ V.createElement(i, p));
1054
+ });
1055
+ process.env.NODE_ENV !== "production" && (dt.displayName = "EmotionCssPropInternal");
1056
+ var ft = dt, K = J.Fragment;
1057
+ function c(e, t, n) {
1058
+ return ye.call(t, "css") ? J.jsx(ft, lt(e, t), n) : J.jsx(e, t, n);
1059
+ }
1060
+ function g(e, t, n) {
1061
+ return ye.call(t, "css") ? J.jsxs(ft, lt(e, t), n) : J.jsxs(e, t, n);
1062
+ }
1063
+ const ut = It(void 0), He = h.div`
8
1064
  padding-inline: 20px;
9
1065
  width: 100%;
10
1066
  height: 100vh;
@@ -17,105 +1073,1164 @@ const x = C(void 0), f = h.div`
17
1073
  top: 0;
18
1074
  left: 0;
19
1075
  z-index: 10000;
20
- `, U = ({ remotesOverride: n, onBeforeInitialize: t, pluginConfig: e, children: a }) => {
21
- const [l, o] = m(), [c, p] = m(null);
22
- return P(() => {
1076
+ `, qr = ({ remotesOverride: e, onBeforeInitialize: t, pluginConfig: n, children: r }) => {
1077
+ const [i, o] = j(), [a, f] = j(null);
1078
+ return ee(() => {
23
1079
  (async () => {
24
- var d, u;
1080
+ var p, l;
25
1081
  try {
26
1082
  t && (console.log(
27
1083
  "KosPluginProvider: Waiting for pre-initialization conditions..."
28
1084
  ), await t(), console.log("KosPluginProvider: Pre-initialization complete"));
29
- let s = n;
30
- const g = (d = window.KosPlugins) == null ? void 0 : d.__dynamicRemotes;
31
- s || (g && Object.keys(g).length > 0 ? (console.log(
1085
+ let s = e;
1086
+ const x = (p = window.KosPlugins) == null ? void 0 : p.__dynamicRemotes;
1087
+ s || (x && Object.keys(x).length > 0 ? (console.log(
32
1088
  "KosPluginProvider: Using existing plugin initialization"
33
- ), s = g) : (console.log("KosPluginProvider: Initializing plugins..."), await j(e), s = (u = window.KosPlugins) == null ? void 0 : u.__dynamicRemotes));
34
- const v = await k(s);
35
- o(v);
1089
+ ), s = x) : (console.log("KosPluginProvider: Initializing plugins..."), await Vt(n), s = (l = window.KosPlugins) == null ? void 0 : l.__dynamicRemotes));
1090
+ const b = await jt(s);
1091
+ o(b);
36
1092
  } catch (s) {
37
- console.error("KosPluginProvider: Failed to initialize plugins", s), p(s);
1093
+ console.error("KosPluginProvider: Failed to initialize plugins", s), f(s);
38
1094
  }
39
1095
  })();
40
- }, [n, t, e]), c ? /* @__PURE__ */ y(f, { children: [
41
- /* @__PURE__ */ r("div", { children: "Failed to load plugins" }),
42
- /* @__PURE__ */ r("div", { style: { fontSize: "12px", marginTop: "10px", opacity: 0.8 }, children: c.message })
43
- ] }) : /* @__PURE__ */ r(x.Provider, { value: l, children: l ? a : /* @__PURE__ */ r(f, { children: "Loading remote plugins..." }) });
44
- }, F = () => {
45
- const n = K(x);
46
- if (!n)
1096
+ }, [e, t, n]), a ? /* @__PURE__ */ g(He, { children: [
1097
+ /* @__PURE__ */ c("div", { children: "Failed to load plugins" }),
1098
+ /* @__PURE__ */ c("div", { style: { fontSize: "12px", marginTop: "10px", opacity: 0.8 }, children: a.message })
1099
+ ] }) : /* @__PURE__ */ c(ut.Provider, { value: i, children: i ? r : /* @__PURE__ */ c(He, { children: "Loading remote plugins..." }) });
1100
+ }, ae = () => {
1101
+ const e = qe(ut);
1102
+ if (!e)
47
1103
  throw new Error(
48
1104
  "useKosPluginsContext must be used within a KosPluginProvider"
49
1105
  );
50
- return n;
51
- }, S = (n) => {
1106
+ return e;
1107
+ }, Bn = (e) => {
52
1108
  var t;
53
- return ((t = n == null ? void 0 : n.view) == null ? void 0 : t.component) !== void 0;
54
- }, $ = ({
55
- extension: n,
1109
+ return ((t = e == null ? void 0 : e.view) == null ? void 0 : t.component) !== void 0;
1110
+ }, Wn = ({
1111
+ extension: e,
56
1112
  module: t
57
1113
  }) => {
58
- const { extensions: e } = F(), [a, l] = m(
1114
+ const { extensions: n } = ae(), [r, i] = j(
59
1115
  null
60
- ), [o, c] = m(null);
61
- return P(() => {
62
- async function p() {
63
- const i = E(e == null ? void 0 : e[n], t);
64
- c(i ?? null);
65
- const d = (i == null ? void 0 : i.remote) || "", u = S(i) ? i.view.component : i == null ? void 0 : i.component, s = u ? `./${u}` : "";
66
- if (!d)
1116
+ ), [o, a] = j(null);
1117
+ return ee(() => {
1118
+ async function f() {
1119
+ const d = Se(n == null ? void 0 : n[e], t);
1120
+ a(d ?? null);
1121
+ const p = (d == null ? void 0 : d.remote) || "", l = Bn(d) ? d.view.component : d == null ? void 0 : d.component, s = l ? `./${l}` : "";
1122
+ if (!p)
67
1123
  return;
68
- const g = z.lazy(() => R.loadRemoteModule(d, s));
69
- l(g);
1124
+ const x = Q.lazy(() => Yt.loadRemoteModule(p, s));
1125
+ i(x);
70
1126
  }
71
- p();
72
- }, [e, t, n]), [a, o];
73
- }, D = h.div`
1127
+ f();
1128
+ }, [n, t, e]), [r, o];
1129
+ };
1130
+ class Hn extends Q.Component {
1131
+ constructor(t) {
1132
+ super(t), this.state = { hasError: !1 };
1133
+ }
1134
+ static getDerivedStateFromError() {
1135
+ return { hasError: !0 };
1136
+ }
1137
+ componentDidCatch(t, n) {
1138
+ console.error("ErrorBoundary caught an error:", t, n);
1139
+ }
1140
+ render() {
1141
+ return this.state.hasError ? this.props.fallback : this.props.children;
1142
+ }
1143
+ }
1144
+ const Un = h.div`
74
1145
  align-items: center;
75
1146
  display: flex;
76
1147
  height: 100%;
77
1148
  justify-content: center;
78
1149
  width: 100%;
79
- `, M = h.div`
1150
+ `, Gn = h.div`
80
1151
  align-items: center;
81
1152
  background-color: transparent;
82
1153
  display: flex;
83
1154
  flex-direction: column;
84
- height: ${(n) => n.height};
1155
+ height: ${(e) => e.height};
85
1156
  justify-content: center;
86
- width: ${(n) => n.width};
87
- `, q = ({
88
- extension: n,
1157
+ width: ${(e) => e.width};
1158
+ `, pt = ({
1159
+ extension: e,
89
1160
  fallback: t,
90
- module: e,
91
- props: a
1161
+ module: n,
1162
+ props: r
92
1163
  }) => {
93
- const [l, o] = $({
94
- extension: n,
95
- module: e
1164
+ const [i, o] = Wn({
1165
+ extension: e,
1166
+ module: n
96
1167
  });
97
- if (!l)
1168
+ if (!i)
98
1169
  return null;
99
- const c = t || /* @__PURE__ */ r(D, { children: `Dynamic component, ${n}, not found...` });
100
- return /* @__PURE__ */ r(w, { fallback: c, children: /* @__PURE__ */ r(
101
- b,
1170
+ const a = t || /* @__PURE__ */ c(Un, { children: `Dynamic component, ${e}, not found...` });
1171
+ return /* @__PURE__ */ c(Hn, { fallback: a, children: /* @__PURE__ */ c(
1172
+ Dt,
102
1173
  {
103
- fallback: o != null && o.size ? /* @__PURE__ */ r(
104
- M,
1174
+ fallback: o != null && o.size ? /* @__PURE__ */ c(
1175
+ Gn,
105
1176
  {
106
1177
  width: o.size.width,
107
1178
  height: o.size.height
108
1179
  }
109
1180
  ) : null,
110
- children: /* @__PURE__ */ r(l, { ...a })
1181
+ children: /* @__PURE__ */ c(i, { ...r })
111
1182
  }
112
1183
  ) });
1184
+ }, qn = h.div`
1185
+ display: flex;
1186
+ flex-direction: column;
1187
+ height: 100%;
1188
+ min-height: 0; /* Important for flexbox children to shrink */
1189
+ `, Zn = h.div`
1190
+ padding: 16px;
1191
+ border-bottom: 1px solid #e1e5e9;
1192
+ background: #f6f8fa;
1193
+ flex-shrink: 0; /* Prevent header from shrinking */
1194
+ `, Xn = h.h3`
1195
+ margin: 0 0 8px 0;
1196
+ font-size: 16px;
1197
+ font-weight: 600;
1198
+ color: #24292f;
1199
+ `, Jn = h.input`
1200
+ width: 100%;
1201
+ padding: 8px 12px;
1202
+ border: 1px solid #d0d7de;
1203
+ border-radius: 6px;
1204
+ font-size: 14px;
1205
+ box-sizing: border-box;
1206
+
1207
+ &:focus {
1208
+ outline: none;
1209
+ border-color: #0969da;
1210
+ box-shadow: 0 0 0 3px rgba(9, 105, 218, 0.1);
1211
+ }
1212
+ `, Qn = h.div`
1213
+ flex: 1;
1214
+ overflow-y: auto;
1215
+ min-height: 0; /* Critical for making overflow work in flexbox */
1216
+ `, er = h.div`
1217
+ padding: 12px 16px;
1218
+ border-bottom: 1px solid #f0f0f0;
1219
+ cursor: pointer;
1220
+ background: ${(e) => e.selected ? "#f6f8fa" : "white"};
1221
+ border-left: 3px solid
1222
+ ${(e) => e.selected ? "#0969da" : "transparent"};
1223
+
1224
+ &:hover {
1225
+ background: #f6f8fa;
1226
+ }
1227
+ `, tr = h.div`
1228
+ font-weight: 500;
1229
+ font-size: 14px;
1230
+ color: #24292f;
1231
+ margin-bottom: 4px;
1232
+ `, nr = h.div`
1233
+ font-size: 12px;
1234
+ color: #656d76;
1235
+ display: flex;
1236
+ justify-content: space-between;
1237
+ `, Ue = h.span`
1238
+ display: inline-block;
1239
+ padding: 2px 6px;
1240
+ border-radius: 12px;
1241
+ font-size: 11px;
1242
+ font-weight: 500;
1243
+
1244
+ ${(e) => {
1245
+ switch (e.variant) {
1246
+ case "simplified":
1247
+ return "background: #ddf4ff; color: #0969da;";
1248
+ case "legacy":
1249
+ return "background: #fff8dc; color: #9a6700;";
1250
+ case "deprecated":
1251
+ return "background: #ffebe9; color: #cf222e;";
1252
+ default:
1253
+ return "background: #f6f8fa; color: #656d76;";
1254
+ }
1255
+ }}
1256
+ `, rr = h.div`
1257
+ padding: 40px 16px;
1258
+ text-align: center;
1259
+ color: #656d76;
1260
+ font-size: 14px;
1261
+ `, ir = ({
1262
+ extensionPoints: e,
1263
+ selectedExtensionId: t,
1264
+ onExtensionSelect: n,
1265
+ searchTerm: r,
1266
+ onSearchChange: i,
1267
+ className: o
1268
+ }) => /* @__PURE__ */ g(qn, { className: o, children: [
1269
+ /* @__PURE__ */ g(Zn, { children: [
1270
+ /* @__PURE__ */ c(Xn, { children: "Extension Points" }),
1271
+ /* @__PURE__ */ c(
1272
+ Jn,
1273
+ {
1274
+ placeholder: "Search extension points...",
1275
+ value: r,
1276
+ onChange: (a) => i(a.target.value)
1277
+ }
1278
+ )
1279
+ ] }),
1280
+ /* @__PURE__ */ c(Qn, { children: e.length > 0 ? e.map((a) => {
1281
+ var f;
1282
+ return /* @__PURE__ */ g(
1283
+ er,
1284
+ {
1285
+ selected: a.id === t,
1286
+ onClick: () => n(a.id),
1287
+ children: [
1288
+ /* @__PURE__ */ c(tr, { children: a.displayName || a.id }),
1289
+ /* @__PURE__ */ g(nr, { children: [
1290
+ /* @__PURE__ */ g("div", { children: [
1291
+ /* @__PURE__ */ c(Ue, { variant: a.source, children: a.source }),
1292
+ ((f = a.metadata) == null ? void 0 : f.deprecated) && /* @__PURE__ */ c(Ue, { variant: "deprecated", style: { marginLeft: 4 }, children: "deprecated" })
1293
+ ] }),
1294
+ /* @__PURE__ */ g("div", { children: [
1295
+ a.pluginCount,
1296
+ " plugin",
1297
+ a.pluginCount !== 1 ? "s" : ""
1298
+ ] })
1299
+ ] })
1300
+ ]
1301
+ },
1302
+ a.id
1303
+ );
1304
+ }) : /* @__PURE__ */ c(rr, { children: r ? `No extension points match "${r}"` : "No extension points available" }) })
1305
+ ] });
1306
+ function ht(e) {
1307
+ const { extensions: t } = ae();
1308
+ return Y(() => {
1309
+ try {
1310
+ const r = te.getExtensionPoints(
1311
+ t,
1312
+ e
1313
+ ), i = te.calculateHealthStats(r);
1314
+ return {
1315
+ extensionPoints: r,
1316
+ healthStats: i,
1317
+ isLoading: !1,
1318
+ error: void 0
1319
+ };
1320
+ } catch (r) {
1321
+ return {
1322
+ extensionPoints: [],
1323
+ healthStats: {
1324
+ totalExtensionPoints: 0,
1325
+ extensionPointsWithPlugins: 0,
1326
+ totalPlugins: 0,
1327
+ simplifiedExtensionPoints: 0,
1328
+ legacyExtensionPoints: 0,
1329
+ deprecatedExtensionPoints: 0
1330
+ },
1331
+ isLoading: !1,
1332
+ error: r
1333
+ };
1334
+ }
1335
+ }, [t, e]);
1336
+ }
1337
+ function or(e, t) {
1338
+ const n = ht(t), r = Y(
1339
+ () => te.filterExtensionPoints(
1340
+ n.extensionPoints,
1341
+ e
1342
+ ),
1343
+ [n.extensionPoints, e]
1344
+ );
1345
+ return {
1346
+ ...n,
1347
+ filteredExtensionPoints: r
1348
+ };
1349
+ }
1350
+ function Zr(e) {
1351
+ const { extensionPoints: t } = ht();
1352
+ return Y(
1353
+ () => te.getExtensionPointById(
1354
+ t,
1355
+ e
1356
+ ),
1357
+ [t, e]
1358
+ );
1359
+ }
1360
+ const ar = h.div`
1361
+ border: 1px solid #e1e5e9;
1362
+ border-radius: 6px;
1363
+ padding: 12px;
1364
+ background: white;
1365
+ transition: all 0.2s ease;
1366
+ `, sr = h.div`
1367
+ display: flex;
1368
+ align-items: center;
1369
+ justify-content: space-between;
1370
+ margin-bottom: 8px;
1371
+ `, cr = h.div`
1372
+ display: flex;
1373
+ align-items: center;
1374
+ `, lr = h.div`
1375
+ display: inline-block;
1376
+ width: 8px;
1377
+ height: 8px;
1378
+ border-radius: 50%;
1379
+ margin-right: 6px;
1380
+
1381
+ ${(e) => {
1382
+ switch (e.status) {
1383
+ case "healthy":
1384
+ return "background: #1a7f37;";
1385
+ case "warning":
1386
+ return "background: #bf8700;";
1387
+ case "error":
1388
+ return "background: #cf222e;";
1389
+ default:
1390
+ return "background: #656d76;";
1391
+ }
1392
+ }}
1393
+ `, dr = h.h5`
1394
+ margin: 0;
1395
+ font-size: 14px;
1396
+ font-weight: 600;
1397
+ color: #24292f;
1398
+ `, fr = h.div`
1399
+ font-size: 12px;
1400
+ color: #656d76;
1401
+ line-height: 1.4;
1402
+ display: grid;
1403
+ gap: 2px;
1404
+ `, Z = h.div`
1405
+ display: grid;
1406
+ grid-template-columns: 80px 1fr; /* Fixed label width, flexible value */
1407
+ gap: 8px;
1408
+ overflow: hidden;
1409
+
1410
+ strong {
1411
+ font-weight: 600;
1412
+ color: #24292f;
1413
+ }
1414
+
1415
+ span {
1416
+ overflow: hidden;
1417
+ text-overflow: ellipsis;
1418
+ white-space: nowrap;
1419
+ }
1420
+ `, ur = h.div`
1421
+ color: #656d76;
1422
+ font-style: italic;
1423
+ margin-top: 4px;
1424
+ font-size: 12px;
1425
+ `, pr = h.div`
1426
+ margin-top: 6px;
1427
+ display: flex;
1428
+ flex-wrap: wrap;
1429
+ gap: 4px;
1430
+ `, hr = h.span`
1431
+ background: #f6f8fa;
1432
+ border: 1px solid #d0d7de;
1433
+ border-radius: 12px;
1434
+ padding: 2px 6px;
1435
+ font-size: 10px;
1436
+ color: #24292f;
1437
+ `, mr = h.div`
1438
+ margin-top: 8px;
1439
+ padding-top: 8px;
1440
+ border-top: 1px solid #f0f0f0;
1441
+ `, gr = h.div`
1442
+ display: flex;
1443
+ align-items: flex-start;
1444
+ gap: 6px;
1445
+ padding: 6px 8px;
1446
+ border-radius: 4px;
1447
+ font-size: 11px;
1448
+ line-height: 1.3;
1449
+ margin-bottom: 4px;
1450
+
1451
+ ${(e) => {
1452
+ switch (e.type) {
1453
+ case "error":
1454
+ return "background: #ffebe9; color: #cf222e; border-left: 3px solid #cf222e;";
1455
+ case "warning":
1456
+ return "background: #fff8dc; color: #9a6700; border-left: 3px solid #bf8700;";
1457
+ case "info":
1458
+ return "background: #ddf4ff; color: #0969da; border-left: 3px solid #0969da;";
1459
+ default:
1460
+ return "background: #f6f8fa; color: #656d76;";
1461
+ }
1462
+ }}
1463
+ `, xr = h.span`
1464
+ font-size: 12px;
1465
+ font-weight: bold;
1466
+ flex-shrink: 0;
1467
+ margin-top: 1px;
1468
+
1469
+ &::before {
1470
+ content: "${(e) => {
1471
+ switch (e.type) {
1472
+ case "error":
1473
+ return "❌";
1474
+ case "warning":
1475
+ return "⚠️";
1476
+ case "info":
1477
+ return "ℹ️";
1478
+ default:
1479
+ return "•";
1480
+ }
1481
+ }}";
1482
+ }
1483
+ `, yr = h.div`
1484
+ flex: 1;
1485
+ `;
1486
+ function br(e, t) {
1487
+ if (Ze().getExtensionPoint(t) && e.data)
1488
+ return e.data;
1489
+ }
1490
+ function vr(e) {
1491
+ const n = Ze().getExtensionPoint(e);
1492
+ return n != null && n.getSchemaFieldInfo ? n.getSchemaFieldInfo().map((r) => r.name) : [];
1493
+ }
1494
+ const wr = ({
1495
+ plugin: e,
1496
+ extensionPointId: t,
1497
+ className: n
1498
+ }) => {
1499
+ const r = te.analyzePlugin(e), { hasComponent: i, healthStatus: o, capabilities: a } = r, f = Kt(e.id), d = br(e, t), p = vr(t);
1500
+ return /* @__PURE__ */ g(ar, { className: n, children: [
1501
+ /* @__PURE__ */ c(sr, { children: /* @__PURE__ */ g(cr, { children: [
1502
+ /* @__PURE__ */ c(lr, { status: o }),
1503
+ /* @__PURE__ */ c(dr, { children: e.id })
1504
+ ] }) }),
1505
+ /* @__PURE__ */ g(fr, { children: [
1506
+ /* @__PURE__ */ g(Z, { children: [
1507
+ /* @__PURE__ */ c("strong", { children: "Source:" }),
1508
+ /* @__PURE__ */ c("span", { children: e.remote ? `${e.remote} plugin` : "Local" })
1509
+ ] }),
1510
+ /* @__PURE__ */ g(Z, { children: [
1511
+ /* @__PURE__ */ c("strong", { children: "Type:" }),
1512
+ /* @__PURE__ */ c("span", { children: e.type })
1513
+ ] }),
1514
+ typeof e.rank == "number" && /* @__PURE__ */ g(Z, { children: [
1515
+ /* @__PURE__ */ c("strong", { children: "Priority:" }),
1516
+ /* @__PURE__ */ g("span", { children: [
1517
+ e.rank,
1518
+ " (higher = preferred)"
1519
+ ] })
1520
+ ] }),
1521
+ e.component && /* @__PURE__ */ g(Z, { children: [
1522
+ /* @__PURE__ */ c("strong", { children: "Component:" }),
1523
+ /* @__PURE__ */ c("span", { children: e.component })
1524
+ ] }),
1525
+ d && p.map((l) => {
1526
+ const s = d[l];
1527
+ if (s == null)
1528
+ return null;
1529
+ const x = l.replace(/([A-Z])/g, " $1").replace(/^./, (b) => b.toUpperCase()).trim();
1530
+ return /* @__PURE__ */ g(Z, { children: [
1531
+ /* @__PURE__ */ g("strong", { children: [
1532
+ x,
1533
+ ":"
1534
+ ] }),
1535
+ /* @__PURE__ */ c("span", { children: String(s) })
1536
+ ] }, l);
1537
+ }),
1538
+ !i && /* @__PURE__ */ c(ur, { children: "No UI component (data/utility plugin)" }),
1539
+ a.length > 0 && /* @__PURE__ */ c(pr, { children: a.map((l) => /* @__PURE__ */ c(hr, { children: l }, l)) }),
1540
+ f.length > 0 && /* @__PURE__ */ c(mr, { children: f.map((l, s) => /* @__PURE__ */ g(gr, { type: l.type, children: [
1541
+ /* @__PURE__ */ c(xr, { type: l.type }),
1542
+ /* @__PURE__ */ c(yr, { children: l.message })
1543
+ ] }, s)) })
1544
+ ] })
1545
+ ] });
1546
+ }, Er = h.div`
1547
+ padding: 12px 16px;
1548
+ border-bottom: 1px solid #e1e5e9;
1549
+ background: #f9f9f9;
1550
+ font-size: 12px;
1551
+ flex-shrink: 0; /* Prevent from shrinking */
1552
+ `, Sr = h.div`
1553
+ font-weight: 600;
1554
+ margin-bottom: 8px;
1555
+ color: #24292f;
1556
+ `, Ge = h.div`
1557
+ display: flex;
1558
+ gap: 12px;
1559
+ align-items: center;
1560
+
1561
+ &:not(:last-child) {
1562
+ margin-bottom: 4px;
1563
+ }
1564
+ `, X = h.div`
1565
+ display: flex;
1566
+ align-items: center;
1567
+ gap: 4px;
1568
+ `, Cr = h.div`
1569
+ display: inline-block;
1570
+ width: 8px;
1571
+ height: 8px;
1572
+ border-radius: 50%;
1573
+ margin-right: 6px;
1574
+
1575
+ ${(e) => {
1576
+ switch (e.status) {
1577
+ case "healthy":
1578
+ return "background: #1a7f37;";
1579
+ case "warning":
1580
+ return "background: #bf8700;";
1581
+ case "error":
1582
+ return "background: #cf222e;";
1583
+ default:
1584
+ return "background: #656d76;";
1585
+ }
1586
+ }}
1587
+ `, we = h.span`
1588
+ display: inline-block;
1589
+ padding: 2px 6px;
1590
+ border-radius: 12px;
1591
+ font-size: 11px;
1592
+ font-weight: 500;
1593
+
1594
+ ${(e) => {
1595
+ switch (e.variant) {
1596
+ case "simplified":
1597
+ return "background: #ddf4ff; color: #0969da;";
1598
+ case "legacy":
1599
+ return "background: #fff8dc; color: #9a6700;";
1600
+ case "deprecated":
1601
+ return "background: #ffebe9; color: #cf222e;";
1602
+ default:
1603
+ return "background: #f6f8fa; color: #656d76;";
1604
+ }
1605
+ }}
1606
+ `, Pr = h.button`
1607
+ background: #0969da;
1608
+ border: 1px solid #0969da;
1609
+ border-radius: 4px;
1610
+ color: white;
1611
+ cursor: pointer;
1612
+ font-size: 11px;
1613
+ padding: 4px 8px;
1614
+ margin-top: 8px;
1615
+ width: 100%;
1616
+
1617
+ &:hover {
1618
+ background: #0860ca;
1619
+ border-color: #0860ca;
1620
+ }
1621
+
1622
+ &:active {
1623
+ background: #0757ba;
1624
+ }
1625
+ `, kr = ({
1626
+ healthStats: e,
1627
+ className: t
1628
+ }) => {
1629
+ const { extensions: n } = ae(), {
1630
+ totalPlugins: r,
1631
+ extensionPointsWithPlugins: i,
1632
+ totalExtensionPoints: o,
1633
+ simplifiedExtensionPoints: a,
1634
+ legacyExtensionPoints: f,
1635
+ deprecatedExtensionPoints: d
1636
+ } = e, p = () => {
1637
+ try {
1638
+ const l = Bt.generateFullDocumentation(
1639
+ n,
1640
+ {
1641
+ includeUsageExamples: !0,
1642
+ includeTypeDefinitions: !0,
1643
+ includeLegacyExtensions: !0,
1644
+ includePluginHealth: !0
1645
+ }
1646
+ ), s = new Blob([l.content], { type: "text/markdown" }), x = URL.createObjectURL(s), b = document.createElement("a");
1647
+ b.href = x, b.download = `kos-extension-points-${(/* @__PURE__ */ new Date()).toISOString().split("T")[0]}.md`, document.body.appendChild(b), b.click(), document.body.removeChild(b), URL.revokeObjectURL(x);
1648
+ } catch (l) {
1649
+ console.error("Failed to generate documentation:", l);
1650
+ }
1651
+ };
1652
+ return /* @__PURE__ */ g(Er, { className: t, children: [
1653
+ /* @__PURE__ */ c(Sr, { children: "System Health" }),
1654
+ /* @__PURE__ */ g(Ge, { children: [
1655
+ /* @__PURE__ */ g(X, { children: [
1656
+ /* @__PURE__ */ c(Cr, { status: "healthy" }),
1657
+ /* @__PURE__ */ g("span", { children: [
1658
+ r,
1659
+ " plugins"
1660
+ ] })
1661
+ ] }),
1662
+ /* @__PURE__ */ c(X, { children: /* @__PURE__ */ g("span", { children: [
1663
+ i,
1664
+ "/",
1665
+ o,
1666
+ " active"
1667
+ ] }) })
1668
+ ] }),
1669
+ /* @__PURE__ */ g(Ge, { children: [
1670
+ /* @__PURE__ */ g(X, { children: [
1671
+ /* @__PURE__ */ c(we, { variant: "simplified", children: a }),
1672
+ /* @__PURE__ */ c("span", { children: "simplified" })
1673
+ ] }),
1674
+ /* @__PURE__ */ g(X, { children: [
1675
+ /* @__PURE__ */ c(we, { variant: "legacy", children: f }),
1676
+ /* @__PURE__ */ c("span", { children: "legacy" })
1677
+ ] }),
1678
+ d > 0 && /* @__PURE__ */ g(X, { children: [
1679
+ /* @__PURE__ */ c(we, { variant: "deprecated", children: d }),
1680
+ /* @__PURE__ */ c("span", { children: "deprecated" })
1681
+ ] })
1682
+ ] }),
1683
+ /* @__PURE__ */ c(Pr, { onClick: p, children: "Export Documentation" })
1684
+ ] });
1685
+ }, Ee = h.div`
1686
+ display: flex;
1687
+ width: 100%;
1688
+ height: 100%;
1689
+ min-height: 400px; /* Minimum usable height */
1690
+ border: 1px solid #e1e5e9;
1691
+ border-radius: 8px;
1692
+ overflow: hidden;
1693
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui,
1694
+ sans-serif;
1695
+ background: white;
1696
+ container-type: inline-size; /* Enable container queries */
1697
+ `, $r = h.div`
1698
+ flex: 0 0 35%; /* Take 35% of container width */
1699
+ min-width: 280px; /* Minimum usable width */
1700
+ max-width: 400px; /* Maximum width to prevent too wide */
1701
+ border-right: 1px solid #e1e5e9;
1702
+ display: flex;
1703
+ flex-direction: column;
1704
+ overflow: hidden;
1705
+
1706
+ /* Hide on very small screens */
1707
+ @media (max-width: 768px) {
1708
+ flex: 0 0 100%;
1709
+ max-width: 100%;
1710
+ border-right: none;
1711
+ }
1712
+ `, _r = h.div`
1713
+ flex: 1;
1714
+ min-width: 0; /* Allows flex child to shrink below content size */
1715
+ display: flex;
1716
+ flex-direction: column;
1717
+ overflow: hidden;
1718
+
1719
+ /* Hide on mobile when sidebar is showing */
1720
+ @media (max-width: 768px) {
1721
+ display: none; /* We'll add mobile navigation later if needed */
1722
+ }
1723
+ `, Tr = h.div`
1724
+ padding: 16px;
1725
+ border-bottom: 1px solid #e1e5e9;
1726
+ background: #f6f8fa;
1727
+ `, Rr = h.h4`
1728
+ margin: 0 0 8px 0;
1729
+ font-size: 16px;
1730
+ font-weight: 600;
1731
+ color: #24292f;
1732
+ `, Mr = h.p`
1733
+ margin: 0;
1734
+ font-size: 14px;
1735
+ color: #656d76;
1736
+ `, Ar = h.div`
1737
+ flex: 1;
1738
+ padding: 16px;
1739
+ overflow-y: auto;
1740
+ `, Nr = h.div`
1741
+ display: flex;
1742
+ flex-direction: column;
1743
+ gap: 12px;
1744
+ margin-bottom: 24px;
1745
+ `, de = h.div`
1746
+ display: flex;
1747
+ flex-direction: column;
1748
+ align-items: center;
1749
+ justify-content: center;
1750
+ height: 100%;
1751
+ color: #656d76;
1752
+ text-align: center;
1753
+ `, zr = h.div`
1754
+ margin-top: 16px;
1755
+ padding-top: 16px;
1756
+ border-top: 1px solid #e1e5e9;
1757
+ `, Fr = h.h5`
1758
+ margin: 0 0 8px 0;
1759
+ font-size: 14px;
1760
+ font-weight: 600;
1761
+ color: #24292f;
1762
+ `, Lr = h.div`
1763
+ display: grid;
1764
+ grid-template-columns: auto 1fr;
1765
+ gap: 8px 16px;
1766
+ font-size: 12px;
1767
+ `, B = h.div`
1768
+ color: #656d76;
1769
+ font-weight: 500;
1770
+ `, W = h.div`
1771
+ color: #24292f;
1772
+ `, Or = ({
1773
+ className: e,
1774
+ showLegacyExtensions: t = !0,
1775
+ extensionFilter: n = ""
1776
+ }) => {
1777
+ const [r, i] = j(
1778
+ null
1779
+ ), [o, a] = j(n), { filteredExtensionPoints: f, healthStats: d, isLoading: p, error: l } = or(o, {
1780
+ includeLegacyExtensions: t
1781
+ }), s = f.find(
1782
+ (y) => y.id === r
1783
+ ), x = (y) => {
1784
+ i(y);
1785
+ }, b = (y) => {
1786
+ a(y);
1787
+ };
1788
+ return l ? /* @__PURE__ */ c(Ee, { className: e, children: /* @__PURE__ */ c(de, { children: /* @__PURE__ */ g("div", { children: [
1789
+ "Error loading plugins: ",
1790
+ l.message
1791
+ ] }) }) }) : p ? /* @__PURE__ */ c(Ee, { className: e, children: /* @__PURE__ */ c(de, { children: /* @__PURE__ */ c("div", { children: "Loading plugins..." }) }) }) : /* @__PURE__ */ g(Ee, { className: e, children: [
1792
+ /* @__PURE__ */ g($r, { children: [
1793
+ /* @__PURE__ */ c(kr, { healthStats: d }),
1794
+ /* @__PURE__ */ c(
1795
+ ir,
1796
+ {
1797
+ extensionPoints: f,
1798
+ selectedExtensionId: r,
1799
+ onExtensionSelect: x,
1800
+ searchTerm: o,
1801
+ onSearchChange: b
1802
+ }
1803
+ )
1804
+ ] }),
1805
+ /* @__PURE__ */ c(_r, { children: s ? /* @__PURE__ */ g(K, { children: [
1806
+ /* @__PURE__ */ g(Tr, { children: [
1807
+ /* @__PURE__ */ c(Rr, { children: s.displayName || s.id }),
1808
+ s.description && /* @__PURE__ */ c(Mr, { children: s.description })
1809
+ ] }),
1810
+ /* @__PURE__ */ g(Ar, { children: [
1811
+ s.plugins.length > 0 ? /* @__PURE__ */ g(K, { children: [
1812
+ /* @__PURE__ */ g(
1813
+ "h5",
1814
+ {
1815
+ style: {
1816
+ margin: "0 0 12px 0",
1817
+ fontSize: "14px",
1818
+ fontWeight: 600
1819
+ },
1820
+ children: [
1821
+ "Active Plugins (",
1822
+ s.pluginCount,
1823
+ ")"
1824
+ ]
1825
+ }
1826
+ ),
1827
+ /* @__PURE__ */ c(Nr, { children: s.plugins.map((y) => /* @__PURE__ */ c(
1828
+ wr,
1829
+ {
1830
+ plugin: y,
1831
+ extensionPointId: s.id
1832
+ },
1833
+ y.id
1834
+ )) })
1835
+ ] }) : /* @__PURE__ */ g(de, { children: [
1836
+ /* @__PURE__ */ c("div", { style: { fontSize: "48px", marginBottom: "12px" }, children: "🔌" }),
1837
+ /* @__PURE__ */ c(
1838
+ "div",
1839
+ {
1840
+ style: {
1841
+ fontSize: "16px",
1842
+ fontWeight: 500,
1843
+ marginBottom: "8px"
1844
+ },
1845
+ children: "No plugins registered"
1846
+ }
1847
+ ),
1848
+ /* @__PURE__ */ c("div", { style: { fontSize: "14px" }, children: "This extension point is available but no plugins are currently contributing to it." })
1849
+ ] }),
1850
+ s.metadata && /* @__PURE__ */ g(zr, { children: [
1851
+ /* @__PURE__ */ c(Fr, { children: "Extension Point Details" }),
1852
+ /* @__PURE__ */ g(Lr, { children: [
1853
+ /* @__PURE__ */ c(B, { children: "ID:" }),
1854
+ /* @__PURE__ */ c(W, { children: s.id }),
1855
+ /* @__PURE__ */ c(B, { children: "Source:" }),
1856
+ /* @__PURE__ */ c(W, { children: s.source }),
1857
+ s.metadata.category && /* @__PURE__ */ g(K, { children: [
1858
+ /* @__PURE__ */ c(B, { children: "Category:" }),
1859
+ /* @__PURE__ */ c(W, { children: s.metadata.category })
1860
+ ] }),
1861
+ s.metadata.owner && /* @__PURE__ */ g(K, { children: [
1862
+ /* @__PURE__ */ c(B, { children: "Owner:" }),
1863
+ /* @__PURE__ */ c(W, { children: s.metadata.owner })
1864
+ ] }),
1865
+ s.metadata.since && /* @__PURE__ */ g(K, { children: [
1866
+ /* @__PURE__ */ c(B, { children: "Since:" }),
1867
+ /* @__PURE__ */ c(W, { children: s.metadata.since })
1868
+ ] }),
1869
+ s.metadata.tags && s.metadata.tags.length > 0 && /* @__PURE__ */ g(K, { children: [
1870
+ /* @__PURE__ */ c(B, { children: "Tags:" }),
1871
+ /* @__PURE__ */ c(W, { children: s.metadata.tags.join(", ") })
1872
+ ] })
1873
+ ] })
1874
+ ] })
1875
+ ] })
1876
+ ] }) : /* @__PURE__ */ g(de, { children: [
1877
+ /* @__PURE__ */ c("div", { style: { fontSize: "48px", marginBottom: "12px" }, children: "🔍" }),
1878
+ /* @__PURE__ */ c(
1879
+ "div",
1880
+ {
1881
+ style: { fontSize: "16px", fontWeight: 500, marginBottom: "8px" },
1882
+ children: "Select an extension point"
1883
+ }
1884
+ ),
1885
+ /* @__PURE__ */ c("div", { style: { fontSize: "14px" }, children: "Choose an extension point from the sidebar to view its plugins and details." })
1886
+ ] }) })
1887
+ ] });
1888
+ }, Ir = h.div`
1889
+ position: fixed;
1890
+ top: 0;
1891
+ left: 0;
1892
+ right: 0;
1893
+ bottom: 0;
1894
+ background: rgba(0, 0, 0, 0.5);
1895
+ z-index: 10000;
1896
+ display: ${(e) => e.visible ? "flex" : "none"};
1897
+ align-items: center;
1898
+ justify-content: center;
1899
+ padding: 20px;
1900
+ box-sizing: border-box;
1901
+ `, Dr = h.div`
1902
+ background: white;
1903
+ border-radius: 12px;
1904
+ box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
1905
+ width: min(1200px, 90vw); /* Responsive with max limit */
1906
+ height: min(700px, 85vh); /* Responsive with max limit */
1907
+ overflow: hidden;
1908
+ position: relative;
1909
+ display: flex;
1910
+ flex-direction: column;
1911
+ `, Vr = h.div`
1912
+ display: flex;
1913
+ align-items: center;
1914
+ justify-content: space-between;
1915
+ padding: 16px 20px;
1916
+ border-bottom: 1px solid #e1e5e9;
1917
+ background: #f6f8fa;
1918
+ `, jr = h.h3`
1919
+ margin: 0;
1920
+ font-size: 18px;
1921
+ font-weight: 600;
1922
+ color: #24292f;
1923
+ `, Yr = h.button`
1924
+ background: none;
1925
+ border: none;
1926
+ font-size: 20px;
1927
+ cursor: pointer;
1928
+ padding: 4px;
1929
+ color: #656d76;
1930
+ border-radius: 4px;
1931
+
1932
+ &:hover {
1933
+ background: #f0f0f0;
1934
+ color: #24292f;
1935
+ }
1936
+ `, Kr = h.button`
1937
+ position: fixed;
1938
+ ${(e) => {
1939
+ switch (e.position) {
1940
+ case "top-left":
1941
+ return "top: 20px; left: 20px;";
1942
+ case "top-right":
1943
+ return "top: 20px; right: 20px;";
1944
+ case "bottom-left":
1945
+ return "bottom: 20px; left: 20px;";
1946
+ case "bottom-right":
1947
+ default:
1948
+ return "bottom: 20px; right: 20px;";
1949
+ }
1950
+ }}
1951
+
1952
+ background: #0969da;
1953
+ color: white;
1954
+ border: none;
1955
+ border-radius: 50%;
1956
+ width: 56px;
1957
+ height: 56px;
1958
+ font-size: 24px;
1959
+ cursor: pointer;
1960
+ z-index: 9999;
1961
+ box-shadow: 0 4px 12px rgba(9, 105, 218, 0.3);
1962
+ transition: all 0.2s ease;
1963
+
1964
+ /* Center the SVG content */
1965
+ display: flex;
1966
+ align-items: center;
1967
+ justify-content: center;
1968
+
1969
+ &:hover {
1970
+ background: #0860ca;
1971
+ transform: scale(1.05);
1972
+ }
1973
+
1974
+ &:active {
1975
+ transform: scale(0.95);
1976
+ }
1977
+ `, Br = h.div`
1978
+ font-size: 12px;
1979
+ color: #656d76;
1980
+ margin-left: 8px;
1981
+ `, Xr = ({
1982
+ keyboardShortcut: e = "ctrl+shift+p",
1983
+ showToggleButton: t = !0,
1984
+ toggleButtonPosition: n = "bottom-right",
1985
+ ...r
1986
+ }) => {
1987
+ const [i, o] = j(!1);
1988
+ ee(() => {
1989
+ const d = (p) => {
1990
+ const s = e.toLowerCase().split("+").map((y) => y.trim());
1991
+ let x = !0;
1992
+ s.includes("ctrl") && !p.ctrlKey && (x = !1), s.includes("shift") && !p.shiftKey && (x = !1), s.includes("alt") && !p.altKey && (x = !1), s.includes("meta") && !p.metaKey && (x = !1);
1993
+ const b = s.find(
1994
+ (y) => !["ctrl", "shift", "alt", "meta"].includes(y)
1995
+ );
1996
+ b && p.key.toLowerCase() !== b.toLowerCase() && (x = !1), x && (p.preventDefault(), o((y) => !y));
1997
+ };
1998
+ return document.addEventListener("keydown", d), () => document.removeEventListener("keydown", d);
1999
+ }, [e]), ee(() => {
2000
+ const d = (p) => {
2001
+ p.key === "Escape" && i && o(!1);
2002
+ };
2003
+ return document.addEventListener("keydown", d), () => document.removeEventListener("keydown", d);
2004
+ }, [i]);
2005
+ const a = () => {
2006
+ o((d) => !d);
2007
+ }, f = (d) => {
2008
+ d.target === d.currentTarget && o(!1);
2009
+ };
2010
+ return process.env.NODE_ENV !== "development" ? null : /* @__PURE__ */ g(K, { children: [
2011
+ t && /* @__PURE__ */ c(
2012
+ Kr,
2013
+ {
2014
+ position: n,
2015
+ onClick: a,
2016
+ title: `Plugin Explorer (${e})`,
2017
+ children: /* @__PURE__ */ c(
2018
+ "svg",
2019
+ {
2020
+ fill: "#ffffff",
2021
+ width: "28",
2022
+ height: "28",
2023
+ version: "1.1",
2024
+ id: "Artwork",
2025
+ xmlns: "http://www.w3.org/2000/svg",
2026
+ viewBox: "0 0 512 512",
2027
+ style: { display: "block" },
2028
+ children: /* @__PURE__ */ c("g", { children: /* @__PURE__ */ c(
2029
+ "path",
2030
+ {
2031
+ fill: "#ffffff",
2032
+ stroke: "#FFFFFF",
2033
+ d: `M202.7,259.7l-31.5,31.5c-5.6,5.6-8.6,13-8.6,20.9c0,7.9,3.1,15.3,8.6,20.9l6.1,6.1l-3.7,3.7c-11.1,11.1-29.2,11.1-40.4,0
2034
+ l-31.4-31.4c-20.7-20.7-54.3-20.7-75,0c-20.7,20.7-20.7,54.3,0,75l31.4,31.5c5.4,5.4,8.4,12.6,8.4,20.2s-3,14.8-8.4,20.2
2035
+ c-4.8,4.8-4.8,12.5,0,17.3c2.4,2.4,5.5,3.6,8.7,3.6c3.1,0,6.3-1.2,8.7-3.6c10-10,15.5-23.3,15.5-37.5s-5.5-27.5-15.5-37.5
2036
+ l-31.4-31.5c-11.1-11.1-11.1-29.2,0-40.4s29.2-11.1,40.4,0L116,360c20.7,20.7,54.3,20.7,75,0l3.7-3.7l6.1,6.1
2037
+ c5.8,5.8,13.3,8.6,20.9,8.6c7.6,0,15.1-2.9,20.9-8.6l31.5-31.5c11.4,3.7,23.2,5.7,35,5.7c28.7,0,57.4-10.9,79.2-32.7l55.1-55.1
2038
+ l9.9,9.9c2.4,2.4,5.5,3.6,8.7,3.6s6.3-1.2,8.7-3.6c4.8-4.8,4.8-12.5,0-17.3l-40.5-40.5l67-67c4.8-4.8,4.8-12.5,0-17.3
2039
+ c-4.8-4.8-12.5-4.8-17.3,0l-67,67L350.2,121l67-67c4.8-4.8,4.8-12.5,0-17.3c-4.8-4.8-12.5-4.8-17.3,0l-67,67l-40.5-40.5
2040
+ c-4.8-4.8-12.5-4.8-17.3,0c-4.8,4.8-4.8,12.5,0,17.3l9.9,9.9l-55.1,55.1C199,176.4,190,220.8,202.7,259.7z M247.1,286.6
2041
+ c-34.1-34.1-34.1-89.6,0-123.7l55.1-55.1L426,231.4l-55.1,55.1C336.7,320.7,281.2,320.7,247.1,286.6z M213.7,283.4
2042
+ c4.5,7.3,9.8,14.2,16.1,20.5s13.2,11.6,20.5,16.1l-25.2,25.2c-1.9,2-5.1,2-7.1,0l-29.5-29.5c-1.3-1.3-1.5-2.8-1.5-3.5
2043
+ c0-0.8,0.2-2.3,1.5-3.5L213.7,283.4z`
2044
+ }
2045
+ ) })
2046
+ }
2047
+ )
2048
+ }
2049
+ ),
2050
+ /* @__PURE__ */ c(Ir, { visible: i, onClick: f, children: /* @__PURE__ */ g(Dr, { children: [
2051
+ /* @__PURE__ */ g(Vr, { children: [
2052
+ /* @__PURE__ */ g("div", { style: { display: "flex", alignItems: "center" }, children: [
2053
+ /* @__PURE__ */ c(jr, { children: "KOS Plugin Explorer" }),
2054
+ /* @__PURE__ */ g(Br, { children: [
2055
+ e,
2056
+ " to toggle"
2057
+ ] })
2058
+ ] }),
2059
+ /* @__PURE__ */ c(Yr, { onClick: () => o(!1), "aria-label": "Close", children: "×" })
2060
+ ] }),
2061
+ /* @__PURE__ */ c(Or, { ...r })
2062
+ ] }) })
2063
+ ] });
113
2064
  };
2065
+ function se(e) {
2066
+ const { extensions: t, getExtensions: n } = ae();
2067
+ return Y(() => {
2068
+ if (typeof e == "object" && e.id) {
2069
+ const i = e;
2070
+ if (i.getExtensions && t) {
2071
+ const a = i.getExtensions(t);
2072
+ return Object.values(a);
2073
+ }
2074
+ const o = (t == null ? void 0 : t[i.id]) || {};
2075
+ return Object.values(o);
2076
+ }
2077
+ return n(e);
2078
+ }, [e, t, n]);
2079
+ }
2080
+ function Jr(e, t) {
2081
+ const { extensions: n } = ae(), r = se(e);
2082
+ return Y(() => {
2083
+ if (!r || r.length === 0)
2084
+ return null;
2085
+ if (t != null && t.customRanker)
2086
+ return t.customRanker(r);
2087
+ if (typeof e == "object" && t) {
2088
+ let f = r;
2089
+ if (t.propertyMatches && (f = f.filter(
2090
+ (p) => Object.entries(t.propertyMatches).every(
2091
+ ([l, s]) => {
2092
+ var x;
2093
+ return ((x = p.data) == null ? void 0 : x[l]) === s;
2094
+ }
2095
+ )
2096
+ )), t.preferredModule) {
2097
+ const p = f.find(
2098
+ (l) => l.sectionId === t.preferredModule
2099
+ );
2100
+ if (p)
2101
+ return p;
2102
+ }
2103
+ const d = f.reduce((p, l) => (p[l.id] = l, p), {});
2104
+ return Se(d);
2105
+ }
2106
+ const i = typeof e == "string" ? e : e.id, o = (n == null ? void 0 : n[i]) || {};
2107
+ return Se(o, t == null ? void 0 : t.preferredModule);
2108
+ }, [e, r, n, t]);
2109
+ }
2110
+ function Qr(e) {
2111
+ return se(e).length > 0;
2112
+ }
2113
+ function ei(e) {
2114
+ return se(e).length;
2115
+ }
2116
+ function ti(e, t) {
2117
+ const n = se(e);
2118
+ return Y(() => {
2119
+ let r = n.filter(t.filter);
2120
+ return t.sort && (r = r.sort(t.sort)), r;
2121
+ }, [n, t.filter, t.sort]);
2122
+ }
2123
+ function ni(e, t) {
2124
+ const n = se(e), [r, i] = j(/* @__PURE__ */ new Map()), o = Y(
2125
+ () => t != null && t.filter ? n.filter(t.filter) : n,
2126
+ [n, t == null ? void 0 : t.filter]
2127
+ ), a = (t == null ? void 0 : t.moduleProperty) || "module";
2128
+ return ee(() => {
2129
+ (async () => {
2130
+ var d;
2131
+ for (const p of o) {
2132
+ const l = p.id;
2133
+ if (!r.has(l)) {
2134
+ i(
2135
+ (s) => new Map(s).set(l, {
2136
+ module: null,
2137
+ loading: !0,
2138
+ error: null
2139
+ })
2140
+ );
2141
+ try {
2142
+ const s = ((d = p.data) == null ? void 0 : d[a]) || p[a] || `./${p.id}`, x = p.remote;
2143
+ if (!x)
2144
+ throw new Error(`No remote specified for extension ${l}`);
2145
+ const { loadRemoteModule: b } = await import("./documentation-generator-B8FuhDjB.js").then((E) => E.i), y = await b(x, s);
2146
+ i(
2147
+ (E) => new Map(E).set(l, {
2148
+ module: y,
2149
+ loading: !1,
2150
+ error: null
2151
+ })
2152
+ );
2153
+ } catch (s) {
2154
+ const x = s instanceof Error ? s.message : "Unknown error";
2155
+ i(
2156
+ (b) => new Map(b).set(l, {
2157
+ module: null,
2158
+ loading: !1,
2159
+ error: x
2160
+ })
2161
+ );
2162
+ }
2163
+ }
2164
+ }
2165
+ })();
2166
+ }, [o, a, r]), Y(
2167
+ () => o.map((f) => {
2168
+ const d = r.get(f.id) || {
2169
+ module: null,
2170
+ loading: !0,
2171
+ error: null
2172
+ };
2173
+ return {
2174
+ extension: f,
2175
+ module: d.module,
2176
+ loading: d.loading,
2177
+ error: d.error
2178
+ };
2179
+ }),
2180
+ [o, r]
2181
+ );
2182
+ }
2183
+ function ri(e) {
2184
+ return Q.useMemo(() => {
2185
+ if (!e.config.hasView)
2186
+ return null;
2187
+ const t = (n) => {
2188
+ const { module: r, fallback: i, ...o } = n;
2189
+ return Q.createElement(pt, {
2190
+ extension: e.id,
2191
+ module: r,
2192
+ fallback: i,
2193
+ props: o
2194
+ });
2195
+ };
2196
+ return t.displayName = `${e.config.displayName || e.id}.Component`, t;
2197
+ }, [e]);
2198
+ }
2199
+ function ii(e) {
2200
+ if (!e.config.hasView)
2201
+ return null;
2202
+ const t = (n) => {
2203
+ const { module: r, fallback: i, ...o } = n;
2204
+ return Q.createElement(pt, {
2205
+ extension: e.id,
2206
+ module: r,
2207
+ fallback: i,
2208
+ props: o
2209
+ });
2210
+ };
2211
+ return t.displayName = `${e.config.displayName || e.id}.Component`, t;
2212
+ }
114
2213
  export {
115
- q as DynamicComponent,
116
- U as KosPluginProvider,
117
- x as RemotesContext,
118
- $ as useDynamicComponent,
119
- F as useKosPluginsContext
2214
+ pt as DynamicComponent,
2215
+ ir as ExtensionPointList,
2216
+ Xr as FloatingPluginExplorer,
2217
+ qr as KosPluginProvider,
2218
+ wr as PluginCard,
2219
+ Or as PluginExplorer,
2220
+ kr as PluginHealthDashboard,
2221
+ ut as RemotesContext,
2222
+ ii as createExtensionComponent,
2223
+ Jr as useBest,
2224
+ Wn as useDynamicComponent,
2225
+ ri as useExtensionComponent,
2226
+ ei as useExtensionCount,
2227
+ Zr as useExtensionPoint,
2228
+ se as useExtensions,
2229
+ or as useFilteredExtensionPoints,
2230
+ ti as useFilteredExtensions,
2231
+ Qr as useHasExtensions,
2232
+ ae as useKosPluginsContext,
2233
+ ni as useModules,
2234
+ ht as usePluginDiscovery
120
2235
  };
121
2236
  //# sourceMappingURL=index.js.map